@zuplo/graphql 5.1781.0 → 5.1784.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.
Files changed (2) hide show
  1. package/index.minified.js +51 -51
  2. package/package.json +1 -1
package/index.minified.js CHANGED
@@ -22,17 +22,17 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- "use strict";var iw=Object.create;var oi=Object.defineProperty;var ow=Object.getOwnPropertyDescriptor;var sw=Object.getOwnPropertyNames;var aw=Object.getPrototypeOf,cw=Object.prototype.hasOwnProperty;var o=(e,t)=>oi(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),so=(e,t)=>{for(var r in t)oi(e,r,{get:t[r],enumerable:!0})},Dh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sw(t))!cw.call(e,i)&&i!==r&&oi(e,i,{get:()=>t[i],enumerable:!(n=ow(t,i))||n.enumerable});return e};var Uh=(e,t,r)=>(r=e!=null?iw(aw(e)):{},Dh(t||!e||!e.__esModule?oi(r,"default",{value:e,enumerable:!0}):r,e)),ao=e=>Dh(oi({},"__esModule",{value:!0}),e);var O=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var gu=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=gu;var si=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=si;var bu=class extends si{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=bu;var _u=class extends si{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=_u});var W=y(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.Environment=void 0;var uw=O(),Eu=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new uw.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};co.Environment=Eu});var Fh=y(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});var kh=W();Function.prototype.toString=function(){return"[native code]"};var uo=globalThis,Mh=uo.caches;if(Mh){let e=Mh.open;uo.caches.open=function(t){let r=kh.Environment.instance.deploymentName??kh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete uo.caches.default,Object.freeze(uo.caches)}});var Su=y(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MemoryCache=void 0;var lw=1e4,dw=1e3,qh=new Map,wu=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+lw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},vu=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:dw}){this.name=t;let n=qh.get(t);n||(n=new wu(r),qh.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};lo.MemoryCache=vu});var ai=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.ZoneCache=void 0;var Tu="__zuplo-expiry-header",Iu=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(Tu);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Tu,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Tu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};po.ZoneCache=Iu});var Kt=y(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MemoryZoneReadThroughCache=void 0;var pw=Su(),hw=ai(),Pu=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new pw.MemoryCache(n),this.#r=new hw.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3},s=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};ho.MemoryZoneReadThroughCache=Pu});var Tr=y(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.METERING_SUBSCRIPTION_CONTEXT_DATA=A.INTERNAL_HEADERS_TO_REMOVE=A.DISPATCH_HEADERS_TO_REMOVE=A.ZP_TIMEZONE_HEADER=A.ZP_REGION_CODE_HEADER=A.ZP_REGION_HEADER=A.ZP_METRO_CODE_HEADER=A.ZP_POSTAL_CODE_HEADER=A.ZP_COLO_HEADER=A.ZP_AS_ORG_HEADER=A.ZP_ASN_HEADER=A.TRUE_CLIENT_IP=A.ZP_IP_LATITUDE_HEADER=A.ZP_IP_LONGITUDE_HEADER=A.ZP_IP_COUNTRY_HEADER=A.ZP_IP_CONTINENT_HEADER=A.ZP_IP_CITY_HEADER=A.CF_IP_LATITUDE_HEADER=A.CF_IP_LONGITUDE_HEADER=A.CF_IP_COUNTRY_HEADER=A.CF_IP_CONTINENT_HEADER=A.CF_IP_CITY_HEADER=A.RAY_ID_HEADER=A.BODY_REMOVED_HEADER=A.REQUEST_ID_HEADER=A.LEGACY_REQUEST_ID_HEADER=void 0;A.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";A.REQUEST_ID_HEADER="zp-rid";A.BODY_REMOVED_HEADER="zp-body-removed";A.RAY_ID_HEADER="cf-ray";A.CF_IP_CITY_HEADER="cf-ipcity";A.CF_IP_CONTINENT_HEADER="cf-ipcontinent";A.CF_IP_COUNTRY_HEADER="cf-ipcountry";A.CF_IP_LONGITUDE_HEADER="cf-iplongitude";A.CF_IP_LATITUDE_HEADER="cf-iplatitude";A.ZP_IP_CITY_HEADER="zp-ipcity";A.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";A.ZP_IP_COUNTRY_HEADER="zp-ipcountry";A.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";A.ZP_IP_LATITUDE_HEADER="zp-iplatitude";A.TRUE_CLIENT_IP="true-client-ip";A.ZP_ASN_HEADER="zp-asn";A.ZP_AS_ORG_HEADER="zp-asorg";A.ZP_COLO_HEADER="zp-colo";A.ZP_POSTAL_CODE_HEADER="zp-postalcode";A.ZP_METRO_CODE_HEADER="zp-metrocode";A.ZP_REGION_HEADER="zp-region";A.ZP_REGION_CODE_HEADER="zp-regioncode";A.ZP_TIMEZONE_HEADER="zp-timezone";A.DISPATCH_HEADERS_TO_REMOVE=[A.CF_IP_CITY_HEADER,A.CF_IP_CONTINENT_HEADER,A.CF_IP_COUNTRY_HEADER,A.CF_IP_LONGITUDE_HEADER,A.CF_IP_LATITUDE_HEADER,A.ZP_ASN_HEADER,A.ZP_AS_ORG_HEADER,A.ZP_COLO_HEADER,A.ZP_POSTAL_CODE_HEADER,A.ZP_METRO_CODE_HEADER,A.ZP_REGION_HEADER,A.ZP_REGION_CODE_HEADER,A.ZP_TIMEZONE_HEADER];A.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"];A.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49"});var Wh=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var $h=!0,Au=!$h;function fw(e){$h||(Au=e)}o(fw,"setColorEnabled");v.setColorEnabled=fw;function mw(){return Au}o(mw,"getColorEnabled");v.getColorEnabled=mw;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(F,"code");function q(e,t){return Au?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function yw(e){return q(e,F([0],0))}o(yw,"reset");v.reset=yw;function gw(e){return q(e,F([1],22))}o(gw,"bold");v.bold=gw;function bw(e){return q(e,F([2],22))}o(bw,"dim");v.dim=bw;function _w(e){return q(e,F([3],23))}o(_w,"italic");v.italic=_w;function Ew(e){return q(e,F([4],24))}o(Ew,"underline");v.underline=Ew;function ww(e){return q(e,F([7],27))}o(ww,"inverse");v.inverse=ww;function vw(e){return q(e,F([8],28))}o(vw,"hidden");v.hidden=vw;function Sw(e){return q(e,F([9],29))}o(Sw,"strikethrough");v.strikethrough=Sw;function Tw(e){return q(e,F([30],39))}o(Tw,"black");v.black=Tw;function jh(e){return q(e,F([31],39))}o(jh,"red");v.red=jh;function Vh(e){return q(e,F([32],39))}o(Vh,"green");v.green=Vh;function Gh(e){return q(e,F([33],39))}o(Gh,"yellow");v.yellow=Gh;function Bh(e){return q(e,F([34],39))}o(Bh,"blue");v.blue=Bh;function Kh(e){return q(e,F([35],39))}o(Kh,"magenta");v.magenta=Kh;function Jh(e){return q(e,F([36],39))}o(Jh,"cyan");v.cyan=Jh;function Iw(e){return q(e,F([37],39))}o(Iw,"white");v.white=Iw;function Pw(e){return zh(e)}o(Pw,"gray");v.gray=Pw;function zh(e){return q(e,F([90],39))}o(zh,"brightBlack");v.brightBlack=zh;function Aw(e){return q(e,F([91],39))}o(Aw,"brightRed");v.brightRed=Aw;function Rw(e){return q(e,F([92],39))}o(Rw,"brightGreen");v.brightGreen=Rw;function Ow(e){return q(e,F([93],39))}o(Ow,"brightYellow");v.brightYellow=Ow;function Nw(e){return q(e,F([94],39))}o(Nw,"brightBlue");v.brightBlue=Nw;function xw(e){return q(e,F([95],39))}o(xw,"brightMagenta");v.brightMagenta=xw;function Cw(e){return q(e,F([96],39))}o(Cw,"brightCyan");v.brightCyan=Cw;function Lw(e){return q(e,F([97],39))}o(Lw,"brightWhite");v.brightWhite=Lw;function Dw(e){return q(e,F([40],49))}o(Dw,"bgBlack");v.bgBlack=Dw;function Uw(e){return q(e,F([41],49))}o(Uw,"bgRed");v.bgRed=Uw;function kw(e){return q(e,F([42],49))}o(kw,"bgGreen");v.bgGreen=kw;function Mw(e){return q(e,F([43],49))}o(Mw,"bgYellow");v.bgYellow=Mw;function Hw(e){return q(e,F([44],49))}o(Hw,"bgBlue");v.bgBlue=Hw;function Fw(e){return q(e,F([45],49))}o(Fw,"bgMagenta");v.bgMagenta=Fw;function qw(e){return q(e,F([46],49))}o(qw,"bgCyan");v.bgCyan=qw;function $w(e){return q(e,F([47],49))}o($w,"bgWhite");v.bgWhite=$w;function jw(e){return q(e,F([100],49))}o(jw,"bgBrightBlack");v.bgBrightBlack=jw;function Vw(e){return q(e,F([101],49))}o(Vw,"bgBrightRed");v.bgBrightRed=Vw;function Gw(e){return q(e,F([102],49))}o(Gw,"bgBrightGreen");v.bgBrightGreen=Gw;function Bw(e){return q(e,F([103],49))}o(Bw,"bgBrightYellow");v.bgBrightYellow=Bw;function Kw(e){return q(e,F([104],49))}o(Kw,"bgBrightBlue");v.bgBrightBlue=Kw;function Jw(e){return q(e,F([105],49))}o(Jw,"bgBrightMagenta");v.bgBrightMagenta=Jw;function zw(e){return q(e,F([106],49))}o(zw,"bgBrightCyan");v.bgBrightCyan=zw;function Ww(e){return q(e,F([107],49))}o(Ww,"bgBrightWhite");v.bgBrightWhite=Ww;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Jt,"clampAndTruncate");function Qw(e,t){return q(e,F([38,5,Jt(t)],39))}o(Qw,"rgb8");v.rgb8=Qw;function Yw(e,t){return q(e,F([48,5,Jt(t)],49))}o(Yw,"bgRgb8");v.bgRgb8=Yw;function Zw(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,Jt(t.r),Jt(t.g),Jt(t.b)],39))}o(Zw,"rgb24");v.rgb24=Zw;function Xw(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,Jt(t.r),Jt(t.g),Jt(t.b)],49))}o(Xw,"bgRgb24");v.bgRgb24=Xw;var ev=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function tv(e){return e.replace(ev,"")}o(tv,"stripColor");v.stripColor=tv;v.colorFunctions=[jh,Vh,Gh,Bh,Kh,Jh];function rv(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(rv,"hashCode");function nv(e){let t=Math.abs(rv(e));return v.colorFunctions[t%v.colorFunctions.length]}o(nv,"generateColor");v.generateColor=nv});var Qh=y(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.format=void 0;function iv(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
26
- `).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(iv,"format");fo.format=iv});var rf=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.inspect=void 0;function Ir(e,t,r,n){let i={seen:[],stylize:ov,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=av),mo(i,e,i.depth)}o(Ir,"inspect");yo.inspect=Ir;Ir.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};Ir.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ov(e,t){return e}o(ov,"stylizeNoColor");function sv(e){return typeof e=="boolean"}o(sv,"isBoolean");function Zh(e){return e===void 0}o(Zh,"isUndefined");function av(e,t){let r=Ir.styles[t];return r?"\x1B["+Ir.colors[r][0]+"m"+e+"\x1B["+Ir.colors[r][1]+"m":e}o(av,"stylizeWithColor");function Ru(e){return typeof e=="function"}o(Ru,"isFunction");function Xh(e){return typeof e=="string"}o(Xh,"isString");function cv(e){return typeof e=="number"}o(cv,"isNumber");function ef(e){return e===null}o(ef,"isNull");function tf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(tf,"hasOwn");function Ou(e){return Lu(e)&&Du(e)==="[object RegExp]"}o(Ou,"isRegExp");function Lu(e){return typeof e=="object"&&e!==null}o(Lu,"isObject");function Nu(e){return Lu(e)&&(Du(e)==="[object Error]"||e instanceof Error)}o(Nu,"isError");function Yh(e){return Lu(e)&&Du(e)==="[object Date]"}o(Yh,"isDate");function Du(e){return Object.prototype.toString.call(e)}o(Du,"objectToString");function uv(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(uv,"arrayToHash");function lv(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)tf(t,String(a))?s.push(Cu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(Cu(e,t,r,n,a,!0))}),s}o(lv,"formatArray");function xu(e){return"["+Error.prototype.toString.call(e)+"]"}o(xu,"formatError");function mo(e,t,r){if(e.customInspect&&t&&Ru(t.inspect)&&t.inspect!==Ir&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return Xh(d)||(d=mo(e,d,r)),d}let n=dv(e,t);if(n)return n;let i=Object.keys(t),s=uv(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(Nu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return xu(t);if(i.length===0){if(Ru(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Ou(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Yh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Nu(t))return xu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Ru(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Ou(t)&&(a=" "+RegExp.prototype.toString.call(t)),Yh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Nu(t)&&(a=" "+xu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Ou(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=lv(e,t,r,s,i):l=i.map(function(d){return Cu(e,t,r,s,d,c)}),e.seen.pop(),pv(l,a,u)}o(mo,"formatValue");function Cu(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),tf(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(ef(r)?c=mo(e,u.value,null):c=mo(e,u.value,r-1),c.indexOf(`
27
- `)>-1&&(s?c=c.split(`
25
+ "use strict";var iw=Object.create;var oi=Object.defineProperty;var ow=Object.getOwnPropertyDescriptor;var sw=Object.getOwnPropertyNames;var aw=Object.getPrototypeOf,cw=Object.prototype.hasOwnProperty;var s=(e,t)=>oi(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),so=(e,t)=>{for(var r in t)oi(e,r,{get:t[r],enumerable:!0})},qh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sw(t))!cw.call(e,i)&&i!==r&&oi(e,i,{get:()=>t[i],enumerable:!(n=ow(t,i))||n.enumerable});return e};var $h=(e,t,r)=>(r=e!=null?iw(aw(e)):{},qh(t||!e||!e.__esModule?oi(r,"default",{value:e,enumerable:!0}):r,e)),ao=e=>qh(oi({},"__esModule",{value:!0}),e);var O=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.FeatureNotEnabledError=mt.ConfigurationError=mt.RuntimeError=mt.SystemError=void 0;var gu=class extends Error{static{s(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};mt.SystemError=gu;var si=class extends Error{static{s(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};mt.RuntimeError=si;var bu=class extends si{static{s(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};mt.ConfigurationError=bu;var _u=class extends si{static{s(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};mt.FeatureNotEnabledError=_u});var W=y(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.Environment=void 0;var uw=O(),Eu=class e{static{s(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new uw.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};co.Environment=Eu});var Bh=y(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});var jh=W();Function.prototype.toString=function(){return"[native code]"};var uo=globalThis,Vh=uo.caches;if(Vh){let e=Vh.open;uo.caches.open=function(t){let r=jh.Environment.instance.deploymentName??jh.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete uo.caches.default,Object.freeze(uo.caches)}});var Su=y(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MemoryCache=void 0;var lw=1e4,dw=1e3,Kh=new Map,wu=class{static{s(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),o={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,o)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+lw*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},vu=class{static{s(this,"MemoryCache")}constructor(t,r={maxSize:dw}){this.name=t;let n=Kh.get(t);n||(n=new wu(r),Kh.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};lo.MemoryCache=vu});var ai=y(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.ZoneCache=void 0;var Tu="__zuplo-expiry-header",Iu=class{static{s(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let o=i.headers.get(Tu);if(!o){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(o);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Tu,`${Date.now()+n*1e3}`);let o=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await o.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Tu,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),o=new Response("",{headers:r});await n.put(i,o)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};po.ZoneCache=Iu});var Kt=y(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.MemoryZoneReadThroughCache=void 0;var pw=Su(),hw=ai(),Pu=class{static{s(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new pw.MemoryCache(n),this.#r=new hw.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3},o=this.#r.put(t,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(o)}};ho.MemoryZoneReadThroughCache=Pu});var Ir=y(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.METERING_SUBSCRIPTION_CONTEXT_DATA=A.INTERNAL_HEADERS_TO_REMOVE=A.DISPATCH_HEADERS_TO_REMOVE=A.ZP_TIMEZONE_HEADER=A.ZP_REGION_CODE_HEADER=A.ZP_REGION_HEADER=A.ZP_METRO_CODE_HEADER=A.ZP_POSTAL_CODE_HEADER=A.ZP_COLO_HEADER=A.ZP_AS_ORG_HEADER=A.ZP_ASN_HEADER=A.TRUE_CLIENT_IP=A.ZP_IP_LATITUDE_HEADER=A.ZP_IP_LONGITUDE_HEADER=A.ZP_IP_COUNTRY_HEADER=A.ZP_IP_CONTINENT_HEADER=A.ZP_IP_CITY_HEADER=A.CF_IP_LATITUDE_HEADER=A.CF_IP_LONGITUDE_HEADER=A.CF_IP_COUNTRY_HEADER=A.CF_IP_CONTINENT_HEADER=A.CF_IP_CITY_HEADER=A.RAY_ID_HEADER=A.BODY_REMOVED_HEADER=A.REQUEST_ID_HEADER=A.LEGACY_REQUEST_ID_HEADER=void 0;A.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";A.REQUEST_ID_HEADER="zp-rid";A.BODY_REMOVED_HEADER="zp-body-removed";A.RAY_ID_HEADER="cf-ray";A.CF_IP_CITY_HEADER="cf-ipcity";A.CF_IP_CONTINENT_HEADER="cf-ipcontinent";A.CF_IP_COUNTRY_HEADER="cf-ipcountry";A.CF_IP_LONGITUDE_HEADER="cf-iplongitude";A.CF_IP_LATITUDE_HEADER="cf-iplatitude";A.ZP_IP_CITY_HEADER="zp-ipcity";A.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";A.ZP_IP_COUNTRY_HEADER="zp-ipcountry";A.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";A.ZP_IP_LATITUDE_HEADER="zp-iplatitude";A.TRUE_CLIENT_IP="true-client-ip";A.ZP_ASN_HEADER="zp-asn";A.ZP_AS_ORG_HEADER="zp-asorg";A.ZP_COLO_HEADER="zp-colo";A.ZP_POSTAL_CODE_HEADER="zp-postalcode";A.ZP_METRO_CODE_HEADER="zp-metrocode";A.ZP_REGION_HEADER="zp-region";A.ZP_REGION_CODE_HEADER="zp-regioncode";A.ZP_TIMEZONE_HEADER="zp-timezone";A.DISPATCH_HEADERS_TO_REMOVE=[A.CF_IP_CITY_HEADER,A.CF_IP_CONTINENT_HEADER,A.CF_IP_COUNTRY_HEADER,A.CF_IP_LONGITUDE_HEADER,A.CF_IP_LATITUDE_HEADER,A.ZP_ASN_HEADER,A.ZP_AS_ORG_HEADER,A.ZP_COLO_HEADER,A.ZP_POSTAL_CODE_HEADER,A.ZP_METRO_CODE_HEADER,A.ZP_REGION_HEADER,A.ZP_REGION_CODE_HEADER,A.ZP_TIMEZONE_HEADER];A.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"];A.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49"});var tf=y(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.generateColor=v.colorFunctions=v.stripColor=v.bgRgb24=v.rgb24=v.bgRgb8=v.rgb8=v.bgBrightWhite=v.bgBrightCyan=v.bgBrightMagenta=v.bgBrightBlue=v.bgBrightYellow=v.bgBrightGreen=v.bgBrightRed=v.bgBrightBlack=v.bgWhite=v.bgCyan=v.bgMagenta=v.bgBlue=v.bgYellow=v.bgGreen=v.bgRed=v.bgBlack=v.brightWhite=v.brightCyan=v.brightMagenta=v.brightBlue=v.brightYellow=v.brightGreen=v.brightRed=v.brightBlack=v.gray=v.white=v.cyan=v.magenta=v.blue=v.yellow=v.green=v.red=v.black=v.strikethrough=v.hidden=v.inverse=v.underline=v.italic=v.dim=v.bold=v.reset=v.getColorEnabled=v.setColorEnabled=void 0;var Jh=!0,Au=!Jh;function fw(e){Jh||(Au=e)}s(fw,"setColorEnabled");v.setColorEnabled=fw;function mw(){return Au}s(mw,"getColorEnabled");v.getColorEnabled=mw;function F(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}s(F,"code");function q(e,t){return Au?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}s(q,"run");function yw(e){return q(e,F([0],0))}s(yw,"reset");v.reset=yw;function gw(e){return q(e,F([1],22))}s(gw,"bold");v.bold=gw;function bw(e){return q(e,F([2],22))}s(bw,"dim");v.dim=bw;function _w(e){return q(e,F([3],23))}s(_w,"italic");v.italic=_w;function Ew(e){return q(e,F([4],24))}s(Ew,"underline");v.underline=Ew;function ww(e){return q(e,F([7],27))}s(ww,"inverse");v.inverse=ww;function vw(e){return q(e,F([8],28))}s(vw,"hidden");v.hidden=vw;function Sw(e){return q(e,F([9],29))}s(Sw,"strikethrough");v.strikethrough=Sw;function Tw(e){return q(e,F([30],39))}s(Tw,"black");v.black=Tw;function zh(e){return q(e,F([31],39))}s(zh,"red");v.red=zh;function Wh(e){return q(e,F([32],39))}s(Wh,"green");v.green=Wh;function Qh(e){return q(e,F([33],39))}s(Qh,"yellow");v.yellow=Qh;function Yh(e){return q(e,F([34],39))}s(Yh,"blue");v.blue=Yh;function Zh(e){return q(e,F([35],39))}s(Zh,"magenta");v.magenta=Zh;function Xh(e){return q(e,F([36],39))}s(Xh,"cyan");v.cyan=Xh;function Iw(e){return q(e,F([37],39))}s(Iw,"white");v.white=Iw;function Pw(e){return ef(e)}s(Pw,"gray");v.gray=Pw;function ef(e){return q(e,F([90],39))}s(ef,"brightBlack");v.brightBlack=ef;function Aw(e){return q(e,F([91],39))}s(Aw,"brightRed");v.brightRed=Aw;function Rw(e){return q(e,F([92],39))}s(Rw,"brightGreen");v.brightGreen=Rw;function Ow(e){return q(e,F([93],39))}s(Ow,"brightYellow");v.brightYellow=Ow;function Nw(e){return q(e,F([94],39))}s(Nw,"brightBlue");v.brightBlue=Nw;function Cw(e){return q(e,F([95],39))}s(Cw,"brightMagenta");v.brightMagenta=Cw;function xw(e){return q(e,F([96],39))}s(xw,"brightCyan");v.brightCyan=xw;function Lw(e){return q(e,F([97],39))}s(Lw,"brightWhite");v.brightWhite=Lw;function Dw(e){return q(e,F([40],49))}s(Dw,"bgBlack");v.bgBlack=Dw;function Uw(e){return q(e,F([41],49))}s(Uw,"bgRed");v.bgRed=Uw;function kw(e){return q(e,F([42],49))}s(kw,"bgGreen");v.bgGreen=kw;function Mw(e){return q(e,F([43],49))}s(Mw,"bgYellow");v.bgYellow=Mw;function Hw(e){return q(e,F([44],49))}s(Hw,"bgBlue");v.bgBlue=Hw;function Fw(e){return q(e,F([45],49))}s(Fw,"bgMagenta");v.bgMagenta=Fw;function qw(e){return q(e,F([46],49))}s(qw,"bgCyan");v.bgCyan=qw;function $w(e){return q(e,F([47],49))}s($w,"bgWhite");v.bgWhite=$w;function jw(e){return q(e,F([100],49))}s(jw,"bgBrightBlack");v.bgBrightBlack=jw;function Vw(e){return q(e,F([101],49))}s(Vw,"bgBrightRed");v.bgBrightRed=Vw;function Gw(e){return q(e,F([102],49))}s(Gw,"bgBrightGreen");v.bgBrightGreen=Gw;function Bw(e){return q(e,F([103],49))}s(Bw,"bgBrightYellow");v.bgBrightYellow=Bw;function Kw(e){return q(e,F([104],49))}s(Kw,"bgBrightBlue");v.bgBrightBlue=Kw;function Jw(e){return q(e,F([105],49))}s(Jw,"bgBrightMagenta");v.bgBrightMagenta=Jw;function zw(e){return q(e,F([106],49))}s(zw,"bgBrightCyan");v.bgBrightCyan=zw;function Ww(e){return q(e,F([107],49))}s(Ww,"bgBrightWhite");v.bgBrightWhite=Ww;function Jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}s(Jt,"clampAndTruncate");function Qw(e,t){return q(e,F([38,5,Jt(t)],39))}s(Qw,"rgb8");v.rgb8=Qw;function Yw(e,t){return q(e,F([48,5,Jt(t)],49))}s(Yw,"bgRgb8");v.bgRgb8=Yw;function Zw(e,t){return typeof t=="number"?q(e,F([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,F([38,2,Jt(t.r),Jt(t.g),Jt(t.b)],39))}s(Zw,"rgb24");v.rgb24=Zw;function Xw(e,t){return typeof t=="number"?q(e,F([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,F([48,2,Jt(t.r),Jt(t.g),Jt(t.b)],49))}s(Xw,"bgRgb24");v.bgRgb24=Xw;var ev=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function tv(e){return e.replace(ev,"")}s(tv,"stripColor");v.stripColor=tv;v.colorFunctions=[zh,Wh,Qh,Yh,Zh,Xh];function rv(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}s(rv,"hashCode");function nv(e){let t=Math.abs(rv(e));return v.colorFunctions[t%v.colorFunctions.length]}s(nv,"generateColor");v.generateColor=nv});var rf=y(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.format=void 0;function iv(e,t,...r){let n=0,i=r.length,o=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
26
+ `).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?o+=" "+a:o+=" "+e(a);return o}s(iv,"format");fo.format=iv});var uf=y(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.inspect=void 0;function Pr(e,t,r,n){let i={seen:[],stylize:ov,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=av),mo(i,e,i.depth)}s(Pr,"inspect");yo.inspect=Pr;Pr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};Pr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ov(e,t){return e}s(ov,"stylizeNoColor");function sv(e){return typeof e=="boolean"}s(sv,"isBoolean");function of(e){return e===void 0}s(of,"isUndefined");function av(e,t){let r=Pr.styles[t];return r?"\x1B["+Pr.colors[r][0]+"m"+e+"\x1B["+Pr.colors[r][1]+"m":e}s(av,"stylizeWithColor");function Ru(e){return typeof e=="function"}s(Ru,"isFunction");function sf(e){return typeof e=="string"}s(sf,"isString");function cv(e){return typeof e=="number"}s(cv,"isNumber");function af(e){return e===null}s(af,"isNull");function cf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(cf,"hasOwn");function Ou(e){return Lu(e)&&Du(e)==="[object RegExp]"}s(Ou,"isRegExp");function Lu(e){return typeof e=="object"&&e!==null}s(Lu,"isObject");function Nu(e){return Lu(e)&&(Du(e)==="[object Error]"||e instanceof Error)}s(Nu,"isError");function nf(e){return Lu(e)&&Du(e)==="[object Date]"}s(nf,"isDate");function Du(e){return Object.prototype.toString.call(e)}s(Du,"objectToString");function uv(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}s(uv,"arrayToHash");function lv(e,t,r,n,i){let o=[];for(let a=0,c=t.length;a<c;++a)cf(t,String(a))?o.push(xu(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(a){a.match(/^\d+$/)||o.push(xu(e,t,r,n,a,!0))}),o}s(lv,"formatArray");function Cu(e){return"["+Error.prototype.toString.call(e)+"]"}s(Cu,"formatError");function mo(e,t,r){if(e.customInspect&&t&&Ru(t.inspect)&&t.inspect!==Pr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return sf(d)||(d=mo(e,d,r)),d}let n=dv(e,t);if(n)return n;let i=Object.keys(t),o=uv(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(Nu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Cu(t);if(i.length===0){if(Ru(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Ou(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(nf(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Nu(t))return Cu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Ru(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Ou(t)&&(a=" "+RegExp.prototype.toString.call(t)),nf(t)&&(a=" "+Date.prototype.toUTCString.call(t)),Nu(t)&&(a=" "+Cu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Ou(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=lv(e,t,r,o,i):l=i.map(function(d){return xu(e,t,r,o,d,c)}),e.seen.pop(),pv(l,a,u)}s(mo,"formatValue");function xu(e,t,r,n,i,o){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),cf(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(af(r)?c=mo(e,u.value,null):c=mo(e,u.value,r-1),c.indexOf(`
27
+ `)>-1&&(o?c=c.split(`
28
28
  `).map(function(l){return" "+l}).join(`
29
29
  `).substr(2):c=`
30
30
  `+c.split(`
31
31
  `).map(function(l){return" "+l}).join(`
32
- `))):c=e.stylize("[Circular]","special")),Zh(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(Cu,"formatProperty");function dv(e,t){if(Zh(t))return e.stylize("undefined","undefined");if(Xh(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(cv(t))return e.stylize(""+t,"number");if(sv(t))return e.stylize(""+t,"boolean");if(ef(t))return e.stylize("null","null")}o(dv,"formatPrimitive");function pv(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
33
- `)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
32
+ `))):c=e.stylize("[Circular]","special")),of(a)){if(o&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}s(xu,"formatProperty");function dv(e,t){if(of(t))return e.stylize("undefined","undefined");if(sf(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(cv(t))return e.stylize(""+t,"number");if(sv(t))return e.stylize(""+t,"boolean");if(af(t))return e.stylize("null","null")}s(dv,"formatPrimitive");function pv(e,t,r){let n=0;return e.reduce(function(o,a){return n++,a.indexOf(`
33
+ `)>=0&&n++,o+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
34
34
  `)+" "+e.join(`,
35
- `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(pv,"reduceToSingleString")});var nf=y(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.format=void 0;var hv=Qh(),fv=rf(),mv=o((e,...t)=>(0,hv.format)(fv.inspect,e,t),"format");go.format=mv});var Pr=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var yv=Wh(),gv=nf(),bo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,yv.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,gv.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};zt.Debugger=bo;var _o=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function of(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(of,"extract");var ci;function bv(e){e||(e=[]),typeof e=="string"&&(e=of(e)),ci=new _o(e)}o(bv,"withoutEnv");zt.withoutEnv=bv;function _v(e){let t=globalThis.DEBUG;ci||(ci=new _o(of(t)));let r=new bo(ci,e);return ci.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(_v,"debug");zt.debug=_v});var wo=y(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.ProblemResponseFormatter=zr.InternalProblemResponseFormatter=void 0;var Ev=O(),Eo=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new Ev.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};zr.InternalProblemResponseFormatter=Eo;var Uu=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await Eo.problemResponseFormat(t,r,n)}};zr.ProblemResponseFormatter=Uu});var af=y(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.deepFreeze=void 0;function sf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&sf(r)}return Object.freeze(e)}o(sf,"deepFreeze");vo.deepFreeze=sf});var Me=y(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.ZuploRequest=void 0;var cf=af(),ku=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,cf.deepFreeze)(this.#e)}get params(){return(0,cf.deepFreeze)(this.#t)}user};So.ZuploRequest=ku});var yt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var uf=O(),wv=wo(),vv=Me(),Io=class{static{o(this,"RuntimePlugin")}};ye.RuntimePlugin=Io;var Po=class extends Io{static{o(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Po;ye.runtimeExtensions={};var Mu=[];ye.plugins=Mu;var lf=[],df=[],pf=[],To={addPlugin(e){Mu.push(e)},addRequestHook(e){lf.push(e)},addResponseSendingHook(e){df.push(e)},addResponseSendingFinalHook(e){pf.push(e)}},Sv=o(async(e,t)=>{let r=e;for(let n of lf){let i=await n(r,t);if(i instanceof vv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new uf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Sv;var Tv=o(async(e,t,r)=>{let n=e;for(let i of df){let s=await i(e,t,r);if(s instanceof Response)n=s;else throw new uf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Tv;var Iv=o(async(e,t,r)=>{for(let n of pf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Iv;async function Pv(e=()=>Promise.resolve()){await e(To),ye.runtimeExtensions.value=To;for(let t of Mu)t instanceof Po&&await t.initialize(To);wv.InternalProblemResponseFormatter.setProblemResponseFormat(To.problemResponseFormat)}o(Pv,"initializeRuntime");ye.initializeRuntime=Pv});var Hu=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Av(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(Av,"serialize");Wt.serialize=Av});var Fu=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.isSystemRoute=void 0;var hf=Ar();function Rv(e){return hf.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(hf.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}o(Rv,"isSystemRoute");Ao.isSystemRoute=Rv});var Lt=y(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.Pipeline=void 0;var qu=Rr(),ff=yt(),Ov=Hu(),Nv=W(),xv=Fu(),$u=class{static{o(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:t,gateway:r,handler:n})=>async(i,s)=>{let a=[...t],c=o(async _=>{let S=a.pop();return S?S(i,s,r,c):await this.#e(async U=>{let K=await n(U,s);return Cv(K)},r)(_,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,xv.isSystemRoute)(d)&&Nv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new qu.ResponseSendingEvent(i,l);s.dispatchEvent(p);let m=qu.ZuploContextExtensions.getContextExtensions(s),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return s.log.error(_),r.errorHandler(i,s,_)}try{g=await m.onResponseSending(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}try{g=await(0,ff.invokeOnResponseSendingExtensions)(g,h,s)}catch(_){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,s,_)}s.dispatchEvent(new qu.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,ff.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(_){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Ro.Pipeline=$u;function Cv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Ov.serialize)(e),{headers:{"content-type":"application/json"}})}o(Cv,"resultToResponse")});var No=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.MetricsPlugin=void 0;var Lv=yt(),ju=class extends Lv.RuntimePlugin{static{o(this,"MetricsPlugin")}};Oo.MetricsPlugin=ju});var He=y(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.SystemLogMap=void 0;var Dv=O(),Vu=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new Dv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};xo.SystemLogMap=Vu});var ve=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.BatchDispatch=void 0;var Gu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Co.BatchDispatch=Gu});var yf=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.EllieMetricsTransport=void 0;var mf=He(),Uv=ve(),Lo=W(),Bu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Lo.Environment.instance.loggingId,this.#e=t,this.#t=new Uv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,mf.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=Lo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":Lo.Environment.instance.deploymentName??"unknown","user-agent":Lo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();mf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Do.EllieMetricsTransport=Bu});var ot=y(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.systemNoVersion=Or.SystemRouteConfiguration=void 0;var Ku=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Or.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Or.SystemRouteConfiguration=Ku;Or.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.metricsProcessor=void 0;var gf=Tr(),kv=Rr(),Mv=yt(),Hv=No(),Fv=yf(),qv=ot(),$v=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(gf.RAY_ID_HEADER)??void 0,u=e.headers.get(gf.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof qv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=kv.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new Fv.EllieMetricsTransport(t)),Mv.plugins.forEach(g=>{if(g instanceof Hv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Uo.metricsProcessor=$v});var Ju=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.SystemRouteName=void 0;var bf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(bf||(ko.SystemRouteName=bf={}))});var Ef=y(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0})});var Nr=y(Yt=>{"use strict";var jv=Yt&&Yt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),wf=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&jv(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});wf(Ju(),Yt);wf(Ef(),Yt)});var vf=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.registerBuildRoute=void 0;var Vv=Dt(),Gv=Lt(),Bv=Qt(),Kv=Nr(),Jv=ot(),zv=He(),Wv=W(),Qv=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Vv.HttpProblems.notFound(s,a);let l=Wv.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&zv.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new Gv.Pipeline({processors:[Bv.metricsProcessor],handler:r,gateway:t}),i=new Jv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Kv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Mo.registerBuildRoute=Qv});var zu=y(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.HTTP_STATUS_TITLES=Wr.HttpStatusCode=void 0;var Sf;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Sf||(Wr.HttpStatusCode=Sf={}));Wr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Qu=y(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});var Yv={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Wu.default=Yv});var te=y(Qr=>{"use strict";var Zv=Qr&&Qr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qr,"__esModule",{value:!0});Qr.HttpProblems=void 0;var Xv=Tr(),N=zu(),eS=Zv(Qu()),tS=W(),Yu=wo();function rS(e){return`${new URL(e.url).pathname}`}o(rS,"instance");function nS(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:tS.Environment.instance.build.BUILD_ID},n=e.headers.get(Xv.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(nS,"trace");var iS=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:rS(t),trace:nS(t,r),...n},additionalHeaders:i,statusText:eS.default[e.status]}),"merge"),Zu=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Yu.ProblemResponseFormatter.format(t,r,n):Yu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},Xu=class extends Zu{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=iS(this.getProblemFromStatus(t),r,n,i,s);return Yu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Qr.HttpProblems=Xu});var gt=y(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.isErrorLike=k.withUndefinedAsNull=k.withNullAsUndefined=k.validateConstraint=k.validateConstraints=k.areFunctions=k.isFunction=k.isEmptyObject=k.assertAllDefined=k.assertIsDefined=k.assertType=k.isUndefinedOrNull=k.isDefined=k.isUndefined=k.isBoolean=k.isIterable=k.isNumber=k.isTypedArray=k.isArray=k.isObject=k.getOwnEnumerableKeys=k.isRegexp=k.isStringArray=k.isNonEmptyString=k.isString=k.toString=void 0;var{toString:oS}=Object.prototype,{propertyIsEnumerable:sS}=Object.prototype;function Tf(e){return oS.call(e)}o(Tf,"toString");k.toString=Tf;function Ho(e){return typeof e=="string"}o(Ho,"isString");k.isString=Ho;function aS(e){return Ho(e)&&e!==""}o(aS,"isNonEmptyString");k.isNonEmptyString=aS;function cS(e){return Array.isArray(e)&&e.every(t=>Ho(t))}o(cS,"isStringArray");k.isStringArray=cS;function uS(e){return Tf(e)==="[object RegExp]"}o(uS,"isRegexp");k.isRegexp=uS;function lS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>sS.call(e,t))]}o(lS,"getOwnEnumerableKeys");k.getOwnEnumerableKeys=lS;function el(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(el,"isObject");k.isObject=el;function dS(e){return el(e)&&Array.isArray(e)}o(dS,"isArray");k.isArray=dS;function pS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(pS,"isTypedArray");k.isTypedArray=pS;function hS(e){return typeof e=="number"&&!isNaN(e)}o(hS,"isNumber");k.isNumber=hS;function fS(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(fS,"isIterable");k.isIterable=fS;function mS(e){return e===!0||e===!1}o(mS,"isBoolean");k.isBoolean=mS;function If(e){return typeof e>"u"}o(If,"isUndefined");k.isUndefined=If;function yS(e){return!ui(e)}o(yS,"isDefined");k.isDefined=yS;function ui(e){return If(e)||e===null}o(ui,"isUndefinedOrNull");k.isUndefinedOrNull=ui;function gS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(gS,"assertType");k.assertType=gS;function bS(e){if(ui(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(bS,"assertIsDefined");k.assertIsDefined=bS;function _S(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ui(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(_S,"assertAllDefined");k.assertAllDefined=_S;var ES=Object.prototype.hasOwnProperty;function wS(e){if(!el(e))return!1;for(let t in e)if(ES.call(e,t))return!1;return!0}o(wS,"isEmptyObject");k.isEmptyObject=wS;function tl(e){return typeof e=="function"}o(tl,"isFunction");k.isFunction=tl;function vS(...e){return e.length>0&&e.every(tl)}o(vS,"areFunctions");k.areFunctions=vS;function SS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Pf(e[n],t[n])}o(SS,"validateConstraints");k.validateConstraints=SS;function Pf(e,t){if(Ho(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(tl(t)){try{if(e instanceof t)return}catch{}if(!ui(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Pf,"validateConstraint");k.validateConstraint=Pf;function TS(e){return e===null?void 0:e}o(TS,"withNullAsUndefined");k.withNullAsUndefined=TS;function IS(e){return typeof e>"u"?null:e}o(IS,"withUndefinedAsNull");k.withUndefinedAsNull=IS;function PS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(PS,"isErrorLike");k.isErrorLike=PS});var xr=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Yr=O(),rl=gt(),Af=new Map;function AS(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Af.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Af.set(e,n),n}o(AS,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=AS;function RS(e,t,r){if(!t.startsWith("."))throw new Yr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Yr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(RS,"getValueFromRequestUser");bt.getValueFromRequestUser=RS;function OS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Yr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,rl.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Yr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(OS,"parseValueToStringArray");bt.parseValueToStringArray=OS;function NS(e){if((0,rl.isBoolean)(e))return e;if((0,rl.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Yr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Yr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(NS,"parseValueToBoolean");bt.parseValueToBoolean=NS});var qo=y(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Cr=O(),Rf=xr(),Fo=gt();function xS(e){if(e==null)return[];if(!Array.isArray(e))throw new Cr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Fo.isObject)(r))throw new Cr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Fo.isNonEmptyString)(r.name))throw new Cr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Fo.isNumber)(r.maxAge))throw new Cr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,Fo.isBoolean)(r.allowCredentials))throw new Cr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=nl(r,"allowedHeaders"),i=nl(r,"allowedMethods"),s=nl(r,"exposeHeaders"),a;try{a=(0,Rf.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Cr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(xS,"parseCorsPolicies");Zt.parseCorsPolicies=xS;function nl(e,t){let r;if(e[t]!==void 0)try{r=(0,Rf.parseValueToStringArray)(e[t])}catch(n){throw new Cr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(nl,"parseOptionalProperty");var CS=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=CS;var LS=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=LS});var Nf=y($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.registerCorsRoute=void 0;var DS=O(),US=Lt(),il=te(),kS=Qt(),MS=Nr(),HS=ot(),Of=qo(),FS=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return il.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return il.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=qS(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),il.HttpProblems.notFound(a,c))},"optionsHandler"),i=new US.Pipeline({processors:[kS.metricsProcessor],handler:n,gateway:t}),s=new HS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:MS.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");$o.registerCorsRoute=FS;var qS=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new DS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Of.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Of.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var xf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.registerNoRoutes=void 0;var $S=Lt(),jS=Qt(),VS=Nr(),GS=ot(),BS=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new $S.Pipeline({processors:[jS.metricsProcessor],handler:r,gateway:t}),i=new GS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:VS.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");jo.registerNoRoutes=BS});var Cf=y(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.registerNotMatchedHandler=Lr.notFoundRouteConfiguration=void 0;var KS=Rr(),JS=yt(),zS=Lt(),WS=te(),QS=Qt(),YS=Nr(),ZS=ot();Lr.notFoundRouteConfiguration=new ZS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:YS.SystemRouteName.UnmatchedPath});var XS=o((e,t)=>{let r=o(async(i,s)=>{let a=JS.runtimeExtensions.value?.notFoundHandler;if(a){let c=KS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return WS.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new zS.Pipeline({processors:[QS.metricsProcessor],handler:r,gateway:t});e.addRoute(Lr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Lr.registerNotMatchedHandler=XS});var ol=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.corsProcessor=void 0;var Uf=O(),Lf=qo(),eT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Df=o(e=>{eT.forEach(t=>e.delete(t))},"stripCorsHeaders"),tT=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return Df(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new Uf.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=rT(i,r.routeData.corsPolicies),c=nT(e,a),u=new Headers(s.headers);return Df(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Vo.corsProcessor=tT;var rT=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new Uf.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),nT=o((e,t)=>{let r=(0,Lf.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,Lf.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var kf=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.registerPingRoute=void 0;var iT=Lt(),oT=ol(),sT=Nr(),aT=ot(),cT=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new iT.Pipeline({processors:[oT.corsProcessor],handler:r,gateway:t}),i=new aT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:sT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Go.registerPingRoute=cT});var Xr=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var uT=Rr(),Zr=O(),Mf=Me(),lT=W();function Hf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Zr.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Zr.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Hf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=Hf;function dT(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Zr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Zr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(dT,"getOutboundPolicyHandlerAndOptions");var pT=o(e=>async(t,r)=>{let n=uT.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Mf.ZuploRequest)s=c;else if(c instanceof Request)s=new Mf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Zr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");st.toStackedInboundHandler=pT;var hT=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Zr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),fT=o(async(e,t,r,n)=>{let i=Hf(t.route,r.routeData.policies),s=dT(t.route,r.routeData.policies);return Ff({request:e,context:t,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");st.policyProcessor=fT;function mT({inboundPolicies:e=[],outboundPolicies:t=[]}){return o(async(n,i,s,a)=>Ff({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:s,next:a}),"policyProcessor")}o(mT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=mT;async function Ff({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await s(c),l=hT(n),d;return lT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}o(Ff,"executePolicyProcessor")});var qf=y(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.serialize=en.parse=void 0;var yT=Object.prototype.toString,Bo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function gT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||_T,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=vT(l,i)}s=c+1}return r}o(gT,"parse");en.parse=gT;function bT(e,t,r){let n=r||{},i=n.encode||ET;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Bo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Bo.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Bo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Bo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!wT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(bT,"serialize");en.serialize=bT;function _T(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(_T,"decode");function ET(e){return encodeURIComponent(e)}o(ET,"encode");function wT(e){return yT.call(e)==="[object Date]"||e instanceof Date}o(wT,"isDate");function vT(e,t){try{return t(e)}catch{return e}}o(vT,"tryDecode")});var $f=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.devPortalBaseURL=void 0;var ST=qf();function TT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,ST.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(TT,"devPortalBaseURL");Ko.devPortalBaseURL=TT});var Kf=y(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.registerDevPortalLegacyRedirectRoute=tn.registerDevPortalV3Route=void 0;var sl=Dt(),Vf=Lt(),Gf=Qt(),IT=Xr(),Bf=ot(),PT=$f(),Xt=W(),jf="/__zuplo/dev-portal",AT="dev-portal-id",RT="dev-portal-host",OT="zp-account",NT="zp-project",xT="dev-portal-build",CT=`
35
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}s(pv,"reduceToSingleString")});var lf=y(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.format=void 0;var hv=rf(),fv=uf(),mv=s((e,...t)=>(0,hv.format)(fv.inspect,e,t),"format");go.format=mv});var Ar=y(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.debug=zt.withoutEnv=zt.Debugger=void 0;var yv=tf(),gv=lf(),bo=class{static{s(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,yv.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,gv.format)(r,...t);let o=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(o),this.last=Date.now()}};zt.Debugger=bo;var _o=class{static{s(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function df(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}s(df,"extract");var ci;function bv(e){e||(e=[]),typeof e=="string"&&(e=df(e)),ci=new _o(e)}s(bv,"withoutEnv");zt.withoutEnv=bv;function _v(e){let t=globalThis.DEBUG;ci||(ci=new _o(df(t)));let r=new bo(ci,e);return ci.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}s(_v,"debug");zt.debug=_v});var wo=y(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.ProblemResponseFormatter=Wr.InternalProblemResponseFormatter=void 0;var Ev=O(),Eo=class e{static{s(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(o){throw new Ev.RuntimeError("Error in custom 'problemResponseFormat'",{cause:o})}})}};Wr.InternalProblemResponseFormatter=Eo;var Uu=class{static{s(this,"ProblemResponseFormatter")}static async format(t,r,n){return await Eo.problemResponseFormat(t,r,n)}};Wr.ProblemResponseFormatter=Uu});var hf=y(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.deepFreeze=void 0;function pf(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&pf(r)}return Object.freeze(e)}s(pf,"deepFreeze");vo.deepFreeze=pf});var Me=y(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.ZuploRequest=void 0;var ff=hf(),ku=class e extends Request{static{s(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){let t={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())t[n]=i;this.#e=t}return(0,ff.deepFreeze)(this.#e)}get params(){return(0,ff.deepFreeze)(this.#t)}user};So.ZuploRequest=ku});var yt=y(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.initializeRuntime=ye.invokeOnResponseSendingFinalExtensions=ye.invokeOnResponseSendingExtensions=ye.invokeOnRequestExtensions=ye.plugins=ye.runtimeExtensions=ye.SystemRuntimePlugin=ye.RuntimePlugin=void 0;var mf=O(),wv=wo(),vv=Me(),Io=class{static{s(this,"RuntimePlugin")}};ye.RuntimePlugin=Io;var Po=class extends Io{static{s(this,"SystemRuntimePlugin")}async initialize(t){return Promise.resolve()}registerRoutes(t,r){}};ye.SystemRuntimePlugin=Po;ye.runtimeExtensions={};var Mu=[];ye.plugins=Mu;var yf=[],gf=[],bf=[],To={addPlugin(e){Mu.push(e)},addRequestHook(e){yf.push(e)},addResponseSendingHook(e){gf.push(e)},addResponseSendingFinalHook(e){bf.push(e)}},Sv=s(async(e,t)=>{let r=e;for(let n of yf){let i=await n(r,t);if(i instanceof vv.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new mf.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");ye.invokeOnRequestExtensions=Sv;var Tv=s(async(e,t,r)=>{let n=e;for(let i of gf){let o=await i(e,t,r);if(o instanceof Response)n=o;else throw new mf.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");ye.invokeOnResponseSendingExtensions=Tv;var Iv=s(async(e,t,r)=>{for(let n of bf)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");ye.invokeOnResponseSendingFinalExtensions=Iv;async function Pv(e=()=>Promise.resolve()){await e(To),ye.runtimeExtensions.value=To;for(let t of Mu)t instanceof Po&&await t.initialize(To);wv.InternalProblemResponseFormatter.setProblemResponseFormat(To.problemResponseFormat)}s(Pv,"initializeRuntime");ye.initializeRuntime=Pv});var Hu=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serialize=Wt.ContentTypes=void 0;Wt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function Av(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Wt.ContentTypes.Json)||!t?JSON.stringify(e):e}s(Av,"serialize");Wt.serialize=Av});var Fu=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.isSystemRoute=void 0;var _f=Rr();function Rv(e){return _f.Gateway.instance.runtimeSettings.developerPortal.enabled&&e.pathname.startsWith(_f.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||e.pathname.startsWith("/__zuplo/")}s(Rv,"isSystemRoute");Ao.isSystemRoute=Rv});var Lt=y(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.Pipeline=void 0;var qu=Or(),Ef=yt(),Ov=Hu(),Nv=W(),Cv=Fu(),$u=class{static{s(this,"Pipeline")}constructor(t){this.execute=this.#t(t)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(o){return i.log.error("Error executing request handler.",o),r.errorHandler(n,i,o)}};#t=({processors:t,gateway:r,handler:n})=>async(i,o)=>{let a=[...t],c=s(async _=>{let S=a.pop();return S?S(i,o,r,c):await this.#e(async U=>{let K=await n(U,o);return xv(K)},r)(_,o)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,Cv.isSystemRoute)(d)&&Nv.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new qu.ResponseSendingEvent(i,l);o.dispatchEvent(p);let m=qu.ZuploContextExtensions.getContextExtensions(o),h=m.latestRequest,g;try{g=await p.mutableResponse}catch(_){return o.log.error(_),r.errorHandler(i,o,_)}try{g=await m.onResponseSending(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}try{g=await(0,Ef.invokeOnResponseSendingExtensions)(g,h,o)}catch(_){return o.log.error(`Error invoking 'context.onResponseSending' hook: '${_.message}'`,_),r.errorHandler(i,o,_)}o.dispatchEvent(new qu.ResponseSentEvent(i,g));try{await m.onResponseSendingFinal(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}try{await(0,Ef.invokeOnResponseSendingFinalExtensions)(l,h,o)}catch(_){throw o.log.error(`Error invoking 'runtime.onResponseSending' hook: '${_.message}'`,_),_}return g}};Ro.Pipeline=$u;function xv(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,Ov.serialize)(e),{headers:{"content-type":"application/json"}})}s(xv,"resultToResponse")});var No=y(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.MetricsPlugin=void 0;var Lv=yt(),ju=class extends Lv.RuntimePlugin{static{s(this,"MetricsPlugin")}};Oo.MetricsPlugin=ju});var He=y(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.SystemLogMap=void 0;var Dv=O(),Vu=class e{static{s(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new Dv.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};Co.SystemLogMap=Vu});var ve=y(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.BatchDispatch=void 0;var Gu=class{static{s(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};xo.BatchDispatch=Gu});var vf=y(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.EllieMetricsTransport=void 0;var wf=He(),Uv=ve(),Lo=W(),Bu=class{static{s(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=Lo.Environment.instance.loggingId,this.#e=t,this.#t=new Uv.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,wf.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:o}=Lo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&o&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(o)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":Lo.Environment.instance.deploymentName??"unknown","user-agent":Lo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();wf.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Do.EllieMetricsTransport=Bu});var ot=y(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.systemNoVersion=Nr.SystemRouteConfiguration=void 0;var Ku=class{static{s(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:o="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=o,this.version=Nr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Nr.SystemRouteConfiguration=Ku;Nr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Qt=y(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.metricsProcessor=void 0;var Sf=Ir(),kv=Or(),Mv=yt(),Hv=No(),Fv=vf(),qv=ot(),$v=s(async(e,t,r,n)=>{let i=new Date,o=Date.now(),a=await n(e),c=e.headers.get(Sf.RAY_ID_HEADER)??void 0,u=e.headers.get(Sf.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof qv.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=kv.ZuploContextExtensions.getContextExtensions(t).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-o,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new Fv.EllieMetricsTransport(t)),Mv.plugins.forEach(g=>{if(g instanceof Hv.MetricsPlugin){let _=g.getTransport();h.push(_)}}),h.forEach(g=>{g.pushMetrics(m,t)}),a},"metricsProcessor");Uo.metricsProcessor=$v});var Ju=y(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.SystemRouteName=void 0;var Tf;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.StripePlugin="stripe-plugin",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Tf||(ko.SystemRouteName=Tf={}))});var Pf=y(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0})});var Cr=y(Yt=>{"use strict";var jv=Yt&&Yt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Af=Yt&&Yt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&jv(t,e,r)};Object.defineProperty(Yt,"__esModule",{value:!0});Af(Ju(),Yt);Af(Pf(),Yt)});var Rf=y(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.registerBuildRoute=void 0;var Vv=Dt(),Gv=Lt(),Bv=Qt(),Kv=Cr(),Jv=ot(),zv=He(),Wv=W(),Qv=s((e,t)=>{let r=s(async(o,a)=>{let u=new URL(o.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return Vv.HttpProblems.notFound(o,a);let l=Wv.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=o.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&zv.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new Gv.Pipeline({processors:[Bv.metricsProcessor],handler:r,gateway:t}),i=new Jv.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:Kv.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");Mo.registerBuildRoute=Qv});var zu=y(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.HTTP_STATUS_TITLES=Qr.HttpStatusCode=void 0;var Of;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Of||(Qr.HttpStatusCode=Of={}));Qr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var Qu=y(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});var Yv={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};Wu.default=Yv});var te=y(Yr=>{"use strict";var Zv=Yr&&Yr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.HttpProblems=void 0;var Xv=Ir(),N=zu(),eS=Zv(Qu()),tS=W(),Yu=wo();function rS(e){return`${new URL(e.url).pathname}`}s(rS,"instance");function nS(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:tS.Environment.instance.build.BUILD_ID},n=e.headers.get(Xv.RAY_ID_HEADER);return n&&(r.rayId=n),r}s(nS,"trace");var iS=s((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:rS(t),trace:nS(t,r),...n},additionalHeaders:i,statusText:eS.default[e.status]}),"merge"),Zu=class{static{s(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?Yu.ProblemResponseFormatter.format(t,r,n):Yu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:N.HTTP_STATUS_TITLES[t],...r}}},Xu=class extends Zu{static{s(this,"HttpProblems")}static#e(t,r,n,i,o){let a=iS(this.getProblemFromStatus(t),r,n,i,o);return Yu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(N.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(N.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(N.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(N.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(N.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(N.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(N.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(N.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(N.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(N.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(N.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(N.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(N.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(N.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(N.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(N.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(N.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(N.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(N.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(N.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(N.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(N.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(N.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(N.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(N.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(N.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(N.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(N.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(N.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(N.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(N.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(N.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(N.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(N.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(N.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Yr.HttpProblems=Xu});var gt=y(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.isErrorLike=k.withUndefinedAsNull=k.withNullAsUndefined=k.validateConstraint=k.validateConstraints=k.areFunctions=k.isFunction=k.isEmptyObject=k.assertAllDefined=k.assertIsDefined=k.assertType=k.isUndefinedOrNull=k.isDefined=k.isUndefined=k.isBoolean=k.isIterable=k.isNumber=k.isTypedArray=k.isArray=k.isObject=k.getOwnEnumerableKeys=k.isRegexp=k.isStringArray=k.isNonEmptyString=k.isString=k.toString=void 0;var{toString:oS}=Object.prototype,{propertyIsEnumerable:sS}=Object.prototype;function Nf(e){return oS.call(e)}s(Nf,"toString");k.toString=Nf;function Ho(e){return typeof e=="string"}s(Ho,"isString");k.isString=Ho;function aS(e){return Ho(e)&&e!==""}s(aS,"isNonEmptyString");k.isNonEmptyString=aS;function cS(e){return Array.isArray(e)&&e.every(t=>Ho(t))}s(cS,"isStringArray");k.isStringArray=cS;function uS(e){return Nf(e)==="[object RegExp]"}s(uS,"isRegexp");k.isRegexp=uS;function lS(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>sS.call(e,t))]}s(lS,"getOwnEnumerableKeys");k.getOwnEnumerableKeys=lS;function el(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}s(el,"isObject");k.isObject=el;function dS(e){return el(e)&&Array.isArray(e)}s(dS,"isArray");k.isArray=dS;function pS(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}s(pS,"isTypedArray");k.isTypedArray=pS;function hS(e){return typeof e=="number"&&!isNaN(e)}s(hS,"isNumber");k.isNumber=hS;function fS(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(fS,"isIterable");k.isIterable=fS;function mS(e){return e===!0||e===!1}s(mS,"isBoolean");k.isBoolean=mS;function Cf(e){return typeof e>"u"}s(Cf,"isUndefined");k.isUndefined=Cf;function yS(e){return!ui(e)}s(yS,"isDefined");k.isDefined=yS;function ui(e){return Cf(e)||e===null}s(ui,"isUndefinedOrNull");k.isUndefinedOrNull=ui;function gS(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}s(gS,"assertType");k.assertType=gS;function bS(e){if(ui(e))throw new Error("Assertion Failed: argument is undefined or null");return e}s(bS,"assertIsDefined");k.assertIsDefined=bS;function _S(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(ui(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}s(_S,"assertAllDefined");k.assertAllDefined=_S;var ES=Object.prototype.hasOwnProperty;function wS(e){if(!el(e))return!1;for(let t in e)if(ES.call(e,t))return!1;return!0}s(wS,"isEmptyObject");k.isEmptyObject=wS;function tl(e){return typeof e=="function"}s(tl,"isFunction");k.isFunction=tl;function vS(...e){return e.length>0&&e.every(tl)}s(vS,"areFunctions");k.areFunctions=vS;function SS(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)xf(e[n],t[n])}s(SS,"validateConstraints");k.validateConstraints=SS;function xf(e,t){if(Ho(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(tl(t)){try{if(e instanceof t)return}catch{}if(!ui(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}s(xf,"validateConstraint");k.validateConstraint=xf;function TS(e){return e===null?void 0:e}s(TS,"withNullAsUndefined");k.withNullAsUndefined=TS;function IS(e){return typeof e>"u"?null:e}s(IS,"withUndefinedAsNull");k.withUndefinedAsNull=IS;function PS(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}s(PS,"isErrorLike");k.isErrorLike=PS});var xr=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.parseValueToBoolean=bt.parseValueToStringArray=bt.getValueFromRequestUser=bt.statusCodesStringToNumberArray=void 0;var Zr=O(),rl=gt(),Lf=new Map;function AS(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Lf.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let o=i.split("-");if(o.length===2){let a=parseInt(o[0],10),c=parseInt(o[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Lf.set(e,n),n}s(AS,"statusCodesStringToNumberArray");bt.statusCodesStringToNumberArray=AS;function RS(e,t,r){if(!t.startsWith("."))throw new Zr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(o=>{if(i===void 0)throw new Zr.RuntimeError(`Error applying ${r} '${t}', reading '${o}'`);i=i[o]}),`${i}`}s(RS,"getValueFromRequestUser");bt.getValueFromRequestUser=RS;function OS(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Zr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,rl.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Zr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}s(OS,"parseValueToStringArray");bt.parseValueToStringArray=OS;function NS(e){if((0,rl.isBoolean)(e))return e;if((0,rl.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Zr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Zr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}s(NS,"parseValueToBoolean");bt.parseValueToBoolean=NS});var qo=y(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.generateCorsHeaders=Zt.findMatchingOrigin=Zt.parseCorsPolicies=void 0;var Lr=O(),Df=xr(),Fo=gt();function CS(e){if(e==null)return[];if(!Array.isArray(e))throw new Lr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,Fo.isObject)(r))throw new Lr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,Fo.isNonEmptyString)(r.name))throw new Lr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,Fo.isNumber)(r.maxAge))throw new Lr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,Fo.isBoolean)(r.allowCredentials))throw new Lr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=nl(r,"allowedHeaders"),i=nl(r,"allowedMethods"),o=nl(r,"exposeHeaders"),a;try{a=(0,Df.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Lr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:o?o.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}s(CS,"parseCorsPolicies");Zt.parseCorsPolicies=CS;function nl(e,t){let r;if(e[t]!==void 0)try{r=(0,Df.parseValueToStringArray)(e[t])}catch(n){throw new Lr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}s(nl,"parseOptionalProperty");var xS=s((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Zt.findMatchingOrigin=xS;var LS=s((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Zt.generateCorsHeaders=LS});var kf=y($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.registerCorsRoute=void 0;var DS=O(),US=Lt(),il=te(),kS=Qt(),MS=Cr(),HS=ot(),Uf=qo(),FS=s((e,t)=>{let r=t.routeData.corsPolicies,n=s(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return il.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=e.lookup(l,u);if(!m)return il.HttpProblems.notFound(a,c);let h=m.routeConfiguration,g=qS(l,d,p,h,r);return g.isValid?new Response(void 0,{status:200,statusText:"OK",headers:g.headers}):(g.error&&c.log.warn(g.error),il.HttpProblems.notFound(a,c))},"optionsHandler"),i=new US.Pipeline({processors:[kS.metricsProcessor],handler:n,gateway:t}),o=new HS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:MS.SystemRouteName.CorsPreflight});e.addRoute(o,i.execute)},"registerCorsRoute");$o.registerCorsRoute=FS;var qS=s((e,t,r,n,i)=>{let o={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...o,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new DS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Uf.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Uf.generateCorsHeaders)(a,c)}:{...o,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Mf=y(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.registerNoRoutes=void 0;var $S=Lt(),jS=Qt(),VS=Cr(),GS=ot(),BS=s((e,t)=>{let r=s(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new $S.Pipeline({processors:[jS.metricsProcessor],handler:r,gateway:t}),i=new GS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:VS.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");jo.registerNoRoutes=BS});var Hf=y(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.registerNotMatchedHandler=Dr.notFoundRouteConfiguration=void 0;var KS=Or(),JS=yt(),zS=Lt(),WS=te(),QS=Qt(),YS=Cr(),ZS=ot();Dr.notFoundRouteConfiguration=new ZS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:YS.SystemRouteName.UnmatchedPath});var XS=s((e,t)=>{let r=s(async(i,o)=>{let a=JS.runtimeExtensions.value?.notFoundHandler;if(a){let c=KS.ZuploContextExtensions.getContextExtensions(o);return a(i,o,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return WS.HttpProblems.notFound(i,o)},"notFoundHandler"),n=new zS.Pipeline({processors:[QS.metricsProcessor],handler:r,gateway:t});e.addRoute(Dr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Dr.registerNotMatchedHandler=XS});var ol=y(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.corsProcessor=void 0;var $f=O(),Ff=qo(),eT=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],qf=s(e=>{eT.forEach(t=>e.delete(t))},"stripCorsHeaders"),tT=s(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return qf(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let o=await n(e);if(!(o instanceof Response))throw new $f.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof o}'`);let a=rT(i,r.routeData.corsPolicies),c=nT(e,a),u=new Headers(o.headers);return qf(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(o.body,{status:o.status,statusText:o.statusText,headers:u,webSocket:o.webSocket})},"corsProcessor");Vo.corsProcessor=tT;var rT=s((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new $f.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),nT=s((e,t)=>{let r=(0,Ff.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,Ff.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var jf=y(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.registerPingRoute=void 0;var iT=Lt(),oT=ol(),sT=Cr(),aT=ot(),cT=s((e,t)=>{let r=s(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new iT.Pipeline({processors:[oT.corsProcessor],handler:r,gateway:t}),i=new aT.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:sT.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Go.registerPingRoute=cT});var en=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.createInternalPolicyProcessor=st.policyProcessor=st.toStackedInboundHandler=st.getInboundPolicyHandlerAndOptions=void 0;var uT=Or(),Xr=O(),Vf=Me(),lT=W();function Gf(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(o=>{let a=t?.find(u=>u.name===o);if(!a)throw new Xr.ConfigurationError(`Invalid state - no Policy with the name '${o}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Xr.ConfigurationError(`Invalid state - invalid handler on policy '${o}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}s(Gf,"getInboundPolicyHandlerAndOptions");st.getInboundPolicyHandlerAndOptions=Gf;function dT(e,t){return(e.policies?.outbound??[]).map(i=>{let o=t?.find(c=>c.name===i);if(!o)throw new Xr.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new Xr.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:o.handler.export,handler:a,options:o.handler.options,policyName:o.name}})}s(dT,"getOutboundPolicyHandlerAndOptions");var pT=s(e=>async(t,r)=>{let n=uT.ZuploContextExtensions.getContextExtensions(r),i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,a.options,a.policyName);if(c instanceof Vf.ZuploRequest)o=c;else if(c instanceof Request)o=new Vf.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Xr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=o}return o},"toStackedInboundHandler");st.toStackedInboundHandler=pT;var hT=s(e=>async(t,r,n)=>{let i=[...e],o=t;for(;i.length>0;){let a=i.shift();if(!a)return o;let c=await a.handler(o,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Xr.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);o=c}return o},"toStackedOutboundHandler"),fT=s(async(e,t,r,n)=>{let i=Gf(t.route,r.routeData.policies),o=dT(t.route,r.routeData.policies);return Bf({request:e,context:t,inboundPolicies:i,outboundPolicies:o,gateway:r,next:n})},"policyProcessor");st.policyProcessor=fT;function mT({inboundPolicies:e=[],outboundPolicies:t=[]}){return s(async(n,i,o,a)=>Bf({request:n,context:i,inboundPolicies:e.map(c=>({...c,exportName:"default",policyName:c.handler.name})),outboundPolicies:t.map(c=>({...c,exportName:"default",policyName:c.handler.name})),gateway:o,next:a}),"policyProcessor")}s(mT,"createInternalPolicyProcessor");st.createInternalPolicyProcessor=mT;async function Bf({request:e,context:t,inboundPolicies:r,outboundPolicies:n,gateway:i,next:o}){let a=(0,st.toStackedInboundHandler)(r);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await o(c),l=hT(n),d;return lT.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,e,t):d=u.ok?l(u,e,t):u,d}catch(c){return t.log.error(c),i.errorHandler(e,t,c)}}s(Bf,"executePolicyProcessor")});var Kf=y(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.serialize=tn.parse=void 0;var yT=Object.prototype.toString,Bo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function gT(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||_T,o=0;for(;o<e.length;){let a=e.indexOf("=",o);if(a===-1)break;let c=e.indexOf(";",o);if(c===-1)c=e.length;else if(c<a){o=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(o,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=vT(l,i)}o=c+1}return r}s(gT,"parse");tn.parse=gT;function bT(e,t,r){let n=r||{},i=n.encode||ET;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Bo.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!Bo.test(o))throw new TypeError("argument val is invalid");let a=e+"="+o;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Bo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Bo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!wT(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}s(bT,"serialize");tn.serialize=bT;function _T(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}s(_T,"decode");function ET(e){return encodeURIComponent(e)}s(ET,"encode");function wT(e){return yT.call(e)==="[object Date]"||e instanceof Date}s(wT,"isDate");function vT(e,t){try{return t(e)}catch{return e}}s(vT,"tryDecode")});var Jf=y(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.devPortalBaseURL=void 0;var ST=Kf();function TT(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,ST.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}s(TT,"devPortalBaseURL");Ko.devPortalBaseURL=TT});var Zf=y(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.registerDevPortalLegacyRedirectRoute=rn.registerDevPortalV3Route=void 0;var sl=Dt(),Wf=Lt(),Qf=Qt(),IT=en(),Yf=ot(),PT=Jf(),Xt=W(),zf="/__zuplo/dev-portal",AT="dev-portal-id",RT="dev-portal-host",OT="zp-account",NT="zp-project",CT="dev-portal-build",xT=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,42 +46,42 @@
46
46
  <p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
47
47
  </body>
48
48
  </html>
49
- `,LT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(CT,{headers:{"content-type":"text/html"}});if(!n)return sl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,PT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(OT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(NT,Xt.Environment.instance.build.PROJECT_NAME),h.set(AT,n),h.set(RT,d.host),h.set(xT,Xt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new Vf.Pipeline({processors:[Gf.metricsProcessor,IT.policyProcessor],handler:s,gateway:t}),c=new Bf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:sl.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");tn.registerDevPortalV3Route=LT;var DT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(jf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Vf.Pipeline({processors:[Gf.metricsProcessor],handler:n,gateway:t}),s=new Bf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${jf}(.*)`,systemRouteName:sl.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");tn.registerDevPortalLegacyRedirectRoute=DT});var al=y(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.API_KEY=rn.SYSTEM_LOGGER=void 0;rn.SYSTEM_LOGGER="system-logger";rn.API_KEY="api-key"});var Jf=y(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.CoreLogger=void 0;var cl=0,ul=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){cl>=Number.MAX_SAFE_INTEGER&&(cl=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:cl++};this.#t[t](c,a)}};Jo.CoreLogger=ul});var Ut=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.LogPlugin=void 0;var UT=yt(),ll=class extends UT.RuntimePlugin{static{o(this,"LogPlugin")}};zo.LogPlugin=ll});var zf=y(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.LoggingContext=void 0;var dl=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Wo.LoggingContext=dl});var Wf=y(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.RequestLogger=void 0;var pl=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};Qo.RequestLogger=pl});var Dr=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var Qf=gt(),kT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),MT=new Map(kT),hl=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=hl;var HT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],fl=Symbol(".toJSON was called"),FT=o(e=>{e[fl]=!0;let t=e.toJSON();return delete e[fl],t},"toJSON"),qT=o(e=>MT.get(e)??Error,"getErrorConstructor"),Yf=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,Qf.isErrorLike)(e)){let l=qT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[fl]!==!0)return FT(e);let u=o(l=>Yf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of HT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,Qf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function $T(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?Yf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o($T,"serializeError");er.serializeError=$T;var jT=/file:\/\/\/(.*?)\/dist\//g,VT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,GT="at async Event.respondWith";function BT(e){return typeof e!="string"?e:e.split(`
49
+ `,LT=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Xt.Environment.instance.deploymentName,i=Xt.Environment.instance.devPortalBaseUrl,o=s(async(u,l)=>{if(Xt.Environment.instance.isLocalDevelopment)return new Response(xT,{headers:{"content-type":"text/html"}});if(!n)return sl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,PT.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:g,body:_}=u;return Xt.Environment.instance.build.ACCOUNT_NAME&&h.set(OT,Xt.Environment.instance.build.ACCOUNT_NAME),Xt.Environment.instance.build.PROJECT_NAME&&h.set(NT,Xt.Environment.instance.build.PROJECT_NAME),h.set(AT,n),h.set(RT,d.host),h.set(CT,Xt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:h,method:g,body:_,redirect:"manual"})},"devPortalRoute"),a=new Wf.Pipeline({processors:[Qf.metricsProcessor,IT.policyProcessor],handler:o,gateway:t}),c=new Yf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:sl.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");rn.registerDevPortalV3Route=LT;var DT=s((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=s(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(zf.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Wf.Pipeline({processors:[Qf.metricsProcessor],handler:n,gateway:t}),o=new Yf.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${zf}(.*)`,systemRouteName:sl.SystemRouteName.DeveloperPortalLegacy});e.addRoute(o,i.execute)},"registerDevPortalLegacyRedirectRoute");rn.registerDevPortalLegacyRedirectRoute=DT});var al=y(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.API_KEY=nn.SYSTEM_LOGGER=void 0;nn.SYSTEM_LOGGER="system-logger";nn.API_KEY="api-key"});var Xf=y(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.CoreLogger=void 0;var cl=0,ul=class{static{s(this,"CoreLogger")}constructor(t,r,n,i,o){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=o,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=s(()=>{},"emptyFunction"),o=s((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:o,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,o,a){cl>=Number.MAX_SAFE_INTEGER&&(cl=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:o,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:cl++};this.#t[t](c,a)}};Jo.CoreLogger=ul});var Ut=y(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.LogPlugin=void 0;var UT=yt(),ll=class extends UT.RuntimePlugin{static{s(this,"LogPlugin")}};zo.LogPlugin=ll});var em=y(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.LoggingContext=void 0;var dl=class{static{s(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Wo.LoggingContext=dl});var tm=y(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.RequestLogger=void 0;var pl=class{static{s(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};Qo.RequestLogger=pl});var Ur=y(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.cleanStack=er.serializeError=er.NonError=void 0;var rm=gt(),kT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),MT=new Map(kT),hl=class e extends Error{static{s(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};er.NonError=hl;var HT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],fl=Symbol(".toJSON was called"),FT=s(e=>{e[fl]=!0;let t=e.toJSON();return delete e[fl],t},"toJSON"),qT=s(e=>MT.get(e)??Error,"getErrorConstructor"),nm=s(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,rm.isErrorLike)(e)){let l=qT(e.name);r=new l}else r={};if(t.push(e),o>=i)return r;if(a&&typeof e.toJSON=="function"&&e[fl]!==!0)return FT(e);let u=s(l=>nm({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:o,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){o++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of HT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,rm.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function $T(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?nm({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}s($T,"serializeError");er.serializeError=$T;var jT=/file:\/\/\/(.*?)\/dist\//g,VT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,GT="at async Event.respondWith";function BT(e){return typeof e!="string"?e:e.split(`
50
50
  `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(jT,"").replaceAll(VT,"").replaceAll(GT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
- `)}o(BT,"cleanStack");er.cleanStack=BT});var Zf=y(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});var ml=gt();function KT(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
51
+ `)}s(BT,"cleanStack");er.cleanStack=BT});var im=y(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});var ml=gt();function KT(e,t,r=""){let n=[],i=t?.maxDepth??3;return s(function o(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
52
52
  `,newlineOrSpace:`
53
- `,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let m=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let g=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return g.length<=c.inlineCharacterLimit?g:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
- `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,ml.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((g,_)=>{let S=a.length-1===_?p.newline:","+p.newlineOrSpace,T=s(g,c,u+d,l+1);return c.transform&&(T=c.transform(a,_,T)),p.indent+T+S}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,ml.isObject)(a)){let h=(0,ml.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,S)=>{let T=h.length-1===S?p.newline:","+p.newlineOrSpace,U=typeof _=="symbol",K=!U&&/^[a-z$_][$\w]*$/i.test(_),L=U||K?_:s(_,c,"",l+1),ne=s(a[_],c,u+d,l+1);return c.transform&&(ne=c.transform(a,_,ne)),p.indent+String(L)+": "+ne+T}).join("")+p.pad+"}";return n.pop(),m(g)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
- `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(KT,"stringifyObject");yl.default=KT});var _t=y(Fe=>{"use strict";var JT=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var gl=Dr(),Xf=JT(Zf()),em=gt();function zT(e){return e.map(t=>(0,gl.serializeError)(t))}o(zT,"makeErrorsSerializable");Fe.makeErrorsSerializable=zT;function WT(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:tm((0,gl.serializeError)(t))}o(WT,"extractBestMessage");Fe.extractBestMessage=WT;function QT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,em.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,Xf.default)((0,gl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,Xf.default)(r);t.push(n)}else{let n=rm(r);t.push(n)}}),t.join(`
56
- `)}o(QT,"messagesToMultilineText");Fe.messagesToMultilineText=QT;function tm(e){return typeof e=="string"?e:JSON.stringify(e)}o(tm,"stringifyNonString");Fe.stringifyNonString=tm;function rm(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,em.toString)(e):"unknown"}o(rm,"stringifyNonStringToText");Fe.stringifyNonStringToText=rm});var D,ae,Se=I(()=>{D=crypto,ae=o(e=>e instanceof CryptoKey,"isCryptoKey")});var YT,Yo,bl=I(()=>{Se();YT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Yo=YT});function Te(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function nm(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function _l(e,t,r){if(t<0||t>=Zo)throw new RangeError(`value must be >= 0 and <= ${Zo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Xo(e){let t=Math.floor(e/Zo),r=e%Zo,n=new Uint8Array(8);return _l(n,t,0),_l(n,r,4),n}function es(e){let t=new Uint8Array(4);return _l(t,e),t}function ts(e){return Te(es(e.length),e)}async function im(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(es(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Yo("sha256",a),s*32)}return i.slice(0,t>>3)}var Z,ue,Zo,ge=I(()=>{bl();Z=new TextEncoder,ue=new TextDecoder,Zo=2**32;o(Te,"concat");o(nm,"p2s");o(_l,"writeUInt32BE");o(Xo,"uint64be");o(es,"uint32be");o(ts,"lengthAndInput");o(im,"concatKdf")});var rs,X,El,re,Ie=I(()=>{ge();rs=o(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=o(e=>rs(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),El=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),re=o(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return El(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var wl={};so(wl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>R,JWKInvalid:()=>li,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>di,JWKSNoMatchingKey:()=>Ur,JWKSTimeout:()=>pi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>kr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>nn,JWTInvalid:()=>le});var he,be,nn,tr,M,kt,R,z,le,li,rr,Ur,di,pi,kr,j=I(()=>{he=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},nn=class extends he{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},li=class extends he{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Ur=class extends he{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},di=class extends he{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},pi=class extends he{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},kr=class extends he{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,hi=I(()=>{Se();nr=D.getRandomValues.bind(D)});function vl(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var ns,is=I(()=>{j();hi();o(vl,"bitLength");ns=o(e=>nr(new Uint8Array(vl(e)>>3)),"default")});var ZT,os,Sl=I(()=>{j();is();ZT=o((e,t)=>{if(t.length<<3!==vl(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),os=ZT});var XT,on,Tl=I(()=>{j();XT=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),on=XT});var eI,sm,am=I(()=>{eI=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),sm=eI});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function ss(e){return parseInt(e.name.slice(4),10)}function tI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function cm(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function um(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=tI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}cm(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}cm(e,r)}var or=I(()=>{o(Pe,"unusable");o(ir,"isAlgorithm");o(ss,"getHashLength");o(tI,"getNamedCurve");o(cm,"checkUsage");o(um,"checkSigCryptoKey");o(qe,"checkEncCryptoKey")});function lm(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function Il(e,t,...r){return lm(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{o(lm,"message");oe=o((e,...t)=>lm("Key must be ",e,...t),"default");o(Il,"withAlg")});var Pl,Q,ct=I(()=>{Se();Pl=o(e=>ae(e),"default"),Q=["CryptoKey"]});async function rI(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(s,n,r,Xo(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=sm(i,d)}catch{}if(!p)throw new kt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new kt;return m}async function nI(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new kt}}var iI,as,Al=I(()=>{ge();Sl();Tl();am();j();Se();or();at();ct();o(rI,"cbcDecrypt");o(nI,"gcmDecrypt");iI=o(async(e,t,r,n,i,s)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(os(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&on(t,parseInt(e.slice(-3),10)),rI(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&on(t,parseInt(e.slice(1,4),10)),nI(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),as=iI});var dm,pm,Rl=I(()=>{j();dm=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),pm=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var oI,Et,sn=I(()=>{oI=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),Et=oI});function sI(e){return typeof e=="object"&&e!==null}function Y(e){if(!sI(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{o(sI,"isObjectLike");o(Y,"isObject")});var aI,an,Ol=I(()=>{aI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],an=aI});function hm(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function fm(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var fi,mi,cs=I(()=>{Ol();Se();or();at();ct();o(hm,"checkKeySize");o(fm,"getCryptoKey");fi=o(async(e,t,r)=>{let n=await fm(t,e,"wrapKey");hm(n,e);let i=await D.subtle.importKey("raw",r,...an);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),mi=o(async(e,t,r)=>{let n=await fm(t,e,"unwrapKey");hm(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...an);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function us(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(ts(Z.encode(r)),ts(i),ts(s),es(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return im(u,n,a)}async function mm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ls(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Nl=I(()=>{ge();Se();or();at();ct();o(us,"deriveKey");o(mm,"generateEpk");o(ls,"ecdhAllowed")});function xl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var gm=I(()=>{j();o(xl,"checkP2s")});function cI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function bm(e,t,r,n){xl(e);let i=nm(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await cI(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var _m,Em,Cl=I(()=>{hi();ge();Ie();cs();gm();Se();or();at();ct();o(cI,"getCryptoKey");o(bm,"deriveKey");_m=o(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let s=await bm(i,e,n,t);return{encryptedKey:await fi(e.slice(-6),s,r),p2c:n,p2s:X(i)}},"encrypt"),Em=o(async(e,t,r,n,i)=>{let s=await bm(i,e,n,t);return mi(e.slice(-6),s,r)},"decrypt")});function cn(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var wm=I(()=>{j();o(cn,"subtleRsaEs")});var Mr,ds=I(()=>{Mr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var vm,Sm,Ll=I(()=>{wm();Ol();Se();or();ds();at();ct();vm=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Mr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(cn(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...an);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,cn(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Sm=o(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Mr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(cn(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,cn(e),...an);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function yi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var wt,gi=I(()=>{j();hi();o(yi,"bitLength");wt=o(e=>nr(new Uint8Array(yi(e)>>3)),"default")});var Dl,Tm=I(()=>{Dl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
53
+ `,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let m=s(h=>{if(c.inlineCharacterLimit===void 0)return h;let g=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return g.length<=c.inlineCharacterLimit?g:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
+ `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,ml.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((g,_)=>{let S=a.length-1===_?p.newline:","+p.newlineOrSpace,T=o(g,c,u+d,l+1);return c.transform&&(T=c.transform(a,_,T)),p.indent+T+S}).join("")+p.pad+"]";return n.pop(),m(h)}if((0,ml.isObject)(a)){let h=(0,ml.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(_=>c.filter?.(a,_))),h.length===0)return"{}";n.push(a);let g="{"+p.newline+h.map((_,S)=>{let T=h.length-1===S?p.newline:","+p.newlineOrSpace,U=typeof _=="symbol",K=!U&&/^[a-z$_][$\w]*$/i.test(_),L=U||K?_:o(_,c,"",l+1),ne=o(a[_],c,u+d,l+1);return c.transform&&(ne=c.transform(a,_,ne)),p.indent+String(L)+": "+ne+T}).join("")+p.pad+"}";return n.pop(),m(g)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
+ `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}s(KT,"stringifyObject");yl.default=KT});var _t=y(Fe=>{"use strict";var JT=Fe&&Fe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var gl=Ur(),om=JT(im()),sm=gt();function zT(e){return e.map(t=>(0,gl.serializeError)(t))}s(zT,"makeErrorsSerializable");Fe.makeErrorsSerializable=zT;function WT(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:am((0,gl.serializeError)(t))}s(WT,"extractBestMessage");Fe.extractBestMessage=WT;function QT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,sm.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,om.default)((0,gl.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,om.default)(r);t.push(n)}else{let n=cm(r);t.push(n)}}),t.join(`
56
+ `)}s(QT,"messagesToMultilineText");Fe.messagesToMultilineText=QT;function am(e){return typeof e=="string"?e:JSON.stringify(e)}s(am,"stringifyNonString");Fe.stringifyNonString=am;function cm(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,sm.toString)(e):"unknown"}s(cm,"stringifyNonStringToText");Fe.stringifyNonStringToText=cm});var D,ae,Se=I(()=>{D=crypto,ae=s(e=>e instanceof CryptoKey,"isCryptoKey")});var YT,Yo,bl=I(()=>{Se();YT=s(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Yo=YT});function Te(...e){let t=e.reduce((i,{length:o})=>i+o,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function um(e,t){return Te(Z.encode(e),new Uint8Array([0]),t)}function _l(e,t,r){if(t<0||t>=Zo)throw new RangeError(`value must be >= 0 and <= ${Zo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function Xo(e){let t=Math.floor(e/Zo),r=e%Zo,n=new Uint8Array(8);return _l(n,t,0),_l(n,r,4),n}function es(e){let t=new Uint8Array(4);return _l(t,e),t}function ts(e){return Te(es(e.length),e)}async function lm(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let o=0;o<n;o++){let a=new Uint8Array(4+e.length+r.length);a.set(es(o+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Yo("sha256",a),o*32)}return i.slice(0,t>>3)}var Z,ue,Zo,ge=I(()=>{bl();Z=new TextEncoder,ue=new TextDecoder,Zo=2**32;s(Te,"concat");s(um,"p2s");s(_l,"writeUInt32BE");s(Xo,"uint64be");s(es,"uint32be");s(ts,"lengthAndInput");s(lm,"concatKdf")});var rs,X,El,re,Ie=I(()=>{ge();rs=s(e=>{let t=e;typeof t=="string"&&(t=Z.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),X=s(e=>rs(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),El=s(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),re=s(e=>{let t=e;t instanceof Uint8Array&&(t=ue.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return El(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var wl={};so(wl,{JOSEAlgNotAllowed:()=>tr,JOSEError:()=>he,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>kt,JWEInvalid:()=>R,JWKInvalid:()=>li,JWKSInvalid:()=>rr,JWKSMultipleMatchingKeys:()=>di,JWKSNoMatchingKey:()=>kr,JWKSTimeout:()=>pi,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Mr,JWTClaimValidationFailed:()=>be,JWTExpired:()=>on,JWTInvalid:()=>le});var he,be,on,tr,M,kt,R,z,le,li,rr,kr,di,pi,Mr,j=I(()=>{he=class extends Error{static{s(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},be=class extends he{static{s(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},on=class extends he{static{s(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},tr=class extends he{static{s(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends he{static{s(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},kt=class extends he{static{s(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},R=class extends he{static{s(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends he{static{s(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},le=class extends he{static{s(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},li=class extends he{static{s(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},rr=class extends he{static{s(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},kr=class extends he{static{s(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},di=class extends he{static{s(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},pi=class extends he{static{s(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Mr=class extends he{static{s(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var nr,hi=I(()=>{Se();nr=D.getRandomValues.bind(D)});function vl(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var ns,is=I(()=>{j();hi();s(vl,"bitLength");ns=s(e=>nr(new Uint8Array(vl(e)>>3)),"default")});var ZT,os,Sl=I(()=>{j();is();ZT=s((e,t)=>{if(t.length<<3!==vl(e))throw new R("Invalid Initialization Vector length")},"checkIvLength"),os=ZT});var XT,sn,Tl=I(()=>{j();XT=s((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new R(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),sn=XT});var eI,pm,hm=I(()=>{eI=s((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),pm=eI});function Pe(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ir(e,t){return e.name===t}function ss(e){return parseInt(e.name.slice(4),10)}function tI(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function fm(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function mm(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!ir(e.algorithm,"HMAC"))throw Pe("HMAC");let n=parseInt(t.slice(2),10);if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!ir(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Pe("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!ir(e.algorithm,"RSA-PSS"))throw Pe("RSA-PSS");let n=parseInt(t.slice(2),10);if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Pe("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!ir(e.algorithm,"ECDSA"))throw Pe("ECDSA");let n=tI(t);if(e.algorithm.namedCurve!==n)throw Pe(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}fm(e,r)}function qe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ir(e.algorithm,"AES-GCM"))throw Pe("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!ir(e.algorithm,"AES-KW"))throw Pe("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Pe(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Pe("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ir(e.algorithm,"PBKDF2"))throw Pe("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ir(e.algorithm,"RSA-OAEP"))throw Pe("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(ss(e.algorithm.hash)!==n)throw Pe(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}fm(e,r)}var or=I(()=>{s(Pe,"unusable");s(ir,"isAlgorithm");s(ss,"getHashLength");s(tI,"getNamedCurve");s(fm,"checkUsage");s(mm,"checkSigCryptoKey");s(qe,"checkEncCryptoKey")});function ym(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function Il(e,t,...r){return ym(`Key for the ${e} algorithm must be `,t,...r)}var oe,at=I(()=>{s(ym,"message");oe=s((e,...t)=>ym("Key must be ",e,...t),"default");s(Il,"withAlg")});var Pl,Q,ct=I(()=>{Se();Pl=s(e=>ae(e),"default"),Q=["CryptoKey"]});async function rI(e,t,r,n,i,o){if(!(t instanceof Uint8Array))throw new TypeError(oe(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Te(o,n,r,Xo(o.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=pm(i,d)}catch{}if(!p)throw new kt;let m;try{m=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new kt;return m}async function nI(e,t,r,n,i,o){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(qe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:o,iv:n,name:"AES-GCM",tagLength:128},a,Te(r,i)))}catch{throw new kt}}var iI,as,Al=I(()=>{ge();Sl();Tl();hm();j();Se();or();at();ct();s(rI,"cbcDecrypt");s(nI,"gcmDecrypt");iI=s(async(e,t,r,n,i,o)=>{if(!ae(t)&&!(t instanceof Uint8Array))throw new TypeError(oe(t,...Q,"Uint8Array"));switch(os(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&sn(t,parseInt(e.slice(-3),10)),rI(e,t,r,n,i,o);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&sn(t,parseInt(e.slice(1,4),10)),nI(e,t,r,n,i,o);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),as=iI});var gm,bm,Rl=I(()=>{j();gm=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),bm=s(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var oI,Et,an=I(()=>{oI=s((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let o of i){if(r.has(o))return!1;r.add(o)}}return!0},"isDisjoint"),Et=oI});function sI(e){return typeof e=="object"&&e!==null}function Y(e){if(!sI(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var $e=I(()=>{s(sI,"isObjectLike");s(Y,"isObject")});var aI,cn,Ol=I(()=>{aI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],cn=aI});function _m(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Em(e,t,r){if(ae(e))return qe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(oe(e,...Q,"Uint8Array"))}var fi,mi,cs=I(()=>{Ol();Se();or();at();ct();s(_m,"checkKeySize");s(Em,"getCryptoKey");fi=s(async(e,t,r)=>{let n=await Em(t,e,"wrapKey");_m(n,e);let i=await D.subtle.importKey("raw",r,...cn);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),mi=s(async(e,t,r)=>{let n=await Em(t,e,"unwrapKey");_m(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...cn);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function us(e,t,r,n,i=new Uint8Array(0),o=new Uint8Array(0)){if(!ae(e))throw new TypeError(oe(e,...Q));if(qe(e,"ECDH"),!ae(t))throw new TypeError(oe(t,...Q));qe(t,"ECDH","deriveBits");let a=Te(ts(Z.encode(r)),ts(i),ts(o),es(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return lm(u,n,a)}async function wm(e){if(!ae(e))throw new TypeError(oe(e,...Q));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function ls(e){if(!ae(e))throw new TypeError(oe(e,...Q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Nl=I(()=>{ge();Se();or();at();ct();s(us,"deriveKey");s(wm,"generateEpk");s(ls,"ecdhAllowed")});function Cl(e){if(!(e instanceof Uint8Array)||e.length<8)throw new R("PBES2 Salt Input must be 8 or more octets")}var Sm=I(()=>{j();s(Cl,"checkP2s")});function cI(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(ae(e))return qe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(oe(e,...Q,"Uint8Array"))}async function Tm(e,t,r,n){Cl(e);let i=um(t,e),o=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:o,name:"AES-KW"},u=await cI(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,o));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Im,Pm,xl=I(()=>{hi();ge();Ie();cs();Sm();Se();or();at();ct();s(cI,"getCryptoKey");s(Tm,"deriveKey");Im=s(async(e,t,r,n=2048,i=nr(new Uint8Array(16)))=>{let o=await Tm(i,e,n,t);return{encryptedKey:await fi(e.slice(-6),o,r),p2c:n,p2s:X(i)}},"encrypt"),Pm=s(async(e,t,r,n,i)=>{let o=await Tm(i,e,n,t);return mi(e.slice(-6),o,r)},"decrypt")});function un(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Am=I(()=>{j();s(un,"subtleRsaEs")});var Hr,ds=I(()=>{Hr=s((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Rm,Om,Ll=I(()=>{Am();Ol();Se();or();ds();at();ct();Rm=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"encrypt","wrapKey"),Hr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(un(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...cn);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,un(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Om=s(async(e,t,r)=>{if(!ae(t))throw new TypeError(oe(t,...Q));if(qe(t,e,"decrypt","unwrapKey"),Hr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(un(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,un(e),...cn);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function yi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var wt,gi=I(()=>{j();hi();s(yi,"bitLength");wt=s(e=>nr(new Uint8Array(yi(e)>>3)),"default")});var Dl,Nm=I(()=>{Dl=s((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${t}-----
58
58
  ${r}
59
- -----END ${t}-----`},"default")});function Pm(e){let t=[],r=0;for(;r<e.length;){let n=Cm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Cm(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function uI(e){let t=Pm(Pm(Cm(e).contents)[0].contents);return rs(t[t[0].raw[0]===160?6:5].raw)}function lI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=El(t);return Dl(uI(r),"PUBLIC KEY")}var Am,Rm,Om,sr,Im,Nm,xm,Ul,Lm,ps=I(()=>{Se();at();Ie();Tm();j();ct();Am=o(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Dl(rs(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Rm=o(e=>Am("public","spki",e),"toSPKI"),Om=o(e=>Am("private","pkcs8",e),"toPKCS8"),sr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||sr(e,t,n+1)},"findOid"),Im=o(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Nm=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Im(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Im(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),xm=o((e,t,r)=>Nm(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Ul=o((e,t,r)=>Nm(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Pm,"getElement");o(Cm,"parseElement");o(uI,"spkiFromX509");o(lI,"getSPKI");Lm=o((e,t,r)=>{let n;try{n=lI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Ul(n,t,r)},"fromX509")});function dI(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var pI,kl,Dm=I(()=>{Se();j();Ie();o(dI,"subtleMapping");pI=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=dI(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",re(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),kl=pI});async function Um(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Ul(e,t,r)}async function km(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Lm(e,t,r)}async function Mm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return xm(e,t,r)}async function ar(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?kl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return kl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var bi=I(()=>{Ie();ps();Dm();j();$e();o(Um,"importSPKI");o(km,"importX509");o(Mm,"importPKCS8");o(ar,"importJWK")});var hI,fI,mI,cr,_i=I(()=>{at();ct();hI=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!Pl(t))throw new TypeError(Il(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),fI=o((e,t,r)=>{if(!Pl(t))throw new TypeError(Il(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),mI=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?hI(e,t):fI(e,t,r)},"checkKeyType"),cr=mI});async function yI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Te(i,n,u,Xo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function gI(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var bI,Ei,Ml=I(()=>{ge();Sl();Tl();Se();or();at();j();ct();o(yI,"cbcEncrypt");o(gI,"gcmEncrypt");bI=o(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(os(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&on(r,parseInt(e.slice(-3),10)),yI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&on(r,parseInt(e.slice(1,4),10)),gI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ei=bI});async function Hm(e,t,r,n){let i=e.slice(0,7);n||(n=ns(i));let{ciphertext:s,tag:a}=await Ei(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:X(n),tag:X(a)}}async function Fm(e,t,r,n,i){let s=e.slice(0,7);return as(s,t,r,n,i,new Uint8Array(0))}var Hl=I(()=>{Ml();Al();is();Ie();o(Hm,"wrap");o(Fm,"unwrap")});async function _I(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ls(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await us(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?yi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return mi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Sm(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Em(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return mi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=re(n.iv),a=re(n.tag);return Fm(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var qm,$m=I(()=>{cs();Nl();Cl();Ll();Ie();j();gi();bi();_i();$e();Hl();o(_I,"decryptKeyManagement");qm=_I});function EI(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,un=I(()=>{j();o(EI,"validateCrit");vt=EI});var wI,wi,Fl=I(()=>{wI=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),wi=wI});async function ln(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=re(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new R("JWE Protected Header is invalid")}if(!Et(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(vt(R,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&wi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&wi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await qm(a,t,d,s,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof M)throw K;m=wt(c)}let h=re(e.iv),g=re(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,Z.encode("."),Z.encode(e.aad)):S=_;let T=await as(c,m,re(e.ciphertext),h,g,S);s.zip==="DEF"&&(T=await(r?.inflateRaw||dm)(T));let U={plaintext:T};return e.protected!==void 0&&(U.protectedHeader=i),e.aad!==void 0&&(U.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(U.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(U.unprotectedHeader=e.header),p?{...U,key:t}:U}var hs=I(()=>{Ie();Al();Rl();j();sn();$e();$m();ge();gi();un();Fl();o(ln,"flattenedDecrypt")});async function fs(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await ln({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var ql=I(()=>{hs();j();ge();o(fs,"compactDecrypt")});async function jm(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await ln({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var Vm=I(()=>{hs();j();$e();o(jm,"generalDecrypt")});var vI,Gm,Bm=I(()=>{Se();at();Ie();ct();vI=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),Gm=vI});async function Km(e){return Rm(e)}async function Jm(e){return Om(e)}async function ms(e){return Gm(e)}var $l=I(()=>{ps();ps();Bm();o(Km,"exportSPKI");o(Jm,"exportPKCS8");o(ms,"exportJWK")});async function SI(e,t,r,n,i={}){let s,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ls(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await mm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await ms(d),_=await us(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?yi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||wt(t);let S=e.slice(-6);s=await fi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),s=await vm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await _m(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),s=await fi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:s,...a}=await Hm(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var ys,jl=I(()=>{cs();Nl();Cl();Ll();Ie();gi();j();$l();_i();Hl();o(SI,"encryptKeyManagement");ys=SI});var Vl,Mt,gs=I(()=>{Ie();Ml();Rl();is();jl();j();sn();ge();un();Vl=Symbol(),Mt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await ys(i,s,t,this._cek,this._keyManagementParameters)),g&&(r&&Vl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=ns(s));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Te(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||pm)(this._plaintext);({ciphertext:p,tag:m}=await Ei(s,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await Ei(s,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Gl,bs,zm=I(()=>{gs();j();gi();sn();jl();Ie();un();Gl=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},bs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Gl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(vt(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=wt(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Vl]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await ys(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:m});d.encrypted_key=X(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function vi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Bl=I(()=>{j();o(vi,"subtleDsa")});function Si(e,t,r){if(ae(t))return um(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var Kl=I(()=>{Se();or();at();ct();o(Si,"getCryptoKey")});var TI,Wm,Qm=I(()=>{Bl();Se();ds();Kl();TI=o(async(e,t,r,n)=>{let i=await Si(e,t,"verify");Mr(e,i);let s=vi(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Wm=TI});async function dn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=vt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&wi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Te(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=re(e.signature);if(!await Wm(u,t,m,p))throw new kr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var _s=I(()=>{Ie();Qm();j();ge();sn();$e();_i();un();Fl();o(dn,"flattenedVerify")});async function Es(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await dn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Jl=I(()=>{_s();j();ge();o(Es,"compactVerify")});async function Ym(e,t,r){if(!Y(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await dn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new kr}var Zm=I(()=>{_s();j();$e();o(Ym,"generalVerify")});var pn,zl=I(()=>{pn=o(e=>Math.floor(e.getTime()/1e3),"default")});var II,hn,Wl=I(()=>{II=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,hn=o(e=>{let t=II.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Xm,PI,fn,ws=I(()=>{j();ge();zl();Wl();$e();Xm=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),PI=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),fn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||Xm(e.typ)!==Xm(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!PI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=hn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=pn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new nn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:hn(l);if(h-d>g)throw new nn('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function ey(e,t,r){var n;let i=await Es(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:fn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var ty=I(()=>{Jl();ws();j();o(ey,"jwtVerify")});async function ry(e,t,r){let n=await fs(e,t,r),i=fn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var ny=I(()=>{ql();ws();j();o(ry,"jwtDecrypt")});var mn,Ql=I(()=>{gs();mn=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var AI,iy,oy=I(()=>{Bl();Se();ds();Kl();AI=o(async(e,t,r)=>{let n=await Si(e,t,"sign");Mr(e,n);let i=await D.subtle.sign(vi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),iy=AI});var ur,vs=I(()=>{Ie();oy();sn();j();ge();_i();un();ur=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;s&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await iy(a,t,l),p={signature:X(d),payload:""};return s&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var yn,Yl=I(()=>{vs();yn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Zl,Ss,sy=I(()=>{vs();j();Zl=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},Ss=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Zl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,Ts=I(()=>{zl();$e();Wl();lr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:pn(new Date)+hn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:pn(new Date)+hn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:pn(new Date)}:this._payload={...this._payload,iat:t},this}}});var Is,ay=I(()=>{Yl();j();ge();Ts();Is=class extends lr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new yn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var Ps,cy=I(()=>{Ql();ge();Ts();Ps=class extends lr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new mn(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Xl(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Yo(t,n))}async function uy(e,t){t??(t="sha256");let r=await Xl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,ly=I(()=>{bl();Ie();j();ge();$e();dr=o((e,t)=>{if(typeof e!="string"||!e)throw new li(`${t} missing or invalid`)},"check");o(Xl,"calculateJwkThumbprint");o(uy,"calculateJwkThumbprintUri")});async function dy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var py=I(()=>{bi();$e();j();o(dy,"EmbeddedJWK")});function RI(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function ed(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(OI)}function OI(e){return Y(e)}function NI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function hy(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function fy(e){let t=new Ti(e);return async function(r,n){return t.getKey(r,n)}}var Ti,td=I(()=>{bi();j();$e();o(RI,"getKtyFromAlg");o(ed,"isJWKSLike");o(OI,"isJWKLike");o(NI,"clone");Ti=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!ed(t))throw new rr("JSON Web Key Set malformed");this._jwks=NI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=RI(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Ur;if(u!==1){let l=new di,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await hy(d,p,n)}catch{continue}},l}return hy(this._cached,c,n)}};o(hy,"importWithAlgCache");o(fy,"createLocalJWKSet")});var xI,my,yy=I(()=>{j();xI=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new pi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),my=xI});function CI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function gy(e,t){let r=new rd(e,t);return async function(n,i){return r.getKey(n,i)}}var rd,by=I(()=>{yy();j();td();o(CI,"isCloudflareWorkers");rd=class extends Ti{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof Ur&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&CI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=my(this._url,this._timeoutDuration,this._options).then(t=>{if(!ed(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(gy,"createRemoteJWKSet")});var As,_y=I(()=>{Ie();ge();j();ws();Ts();As=class extends lr{static{o(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:fn(c,re(i),r),header:c}}}});var nd={};so(nd,{decode:()=>Ii,encode:()=>LI});var LI,Ii,Rs=I(()=>{Ie();LI=X,Ii=re});function Ey(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(Ii(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var wy=I(()=>{Rs();ge();$e();o(Ey,"decodeProtectedHeader")});function vy(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=Ii(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var Sy=I(()=>{Rs();ge();$e();j();o(vy,"decodeJwt")});async function Ty(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function id(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Iy(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:id(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:id(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:id(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var od=I(()=>{Se();j();hi();o(Ty,"generateSecret");o(id,"getModulusLengthOption");o(Iy,"generateKeyPair")});async function Py(e,t){return Iy(e,t)}var Ay=I(()=>{od();o(Py,"generateKeyPair")});async function Ry(e,t){return Ty(e,t)}var Oy=I(()=>{od();o(Ry,"generateSecret")});var Os={};so(Os,{CompactEncrypt:()=>mn,CompactSign:()=>yn,EmbeddedJWK:()=>dy,EncryptJWT:()=>Ps,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>bs,GeneralSign:()=>Ss,SignJWT:()=>Is,UnsecuredJWT:()=>As,base64url:()=>nd,calculateJwkThumbprint:()=>Xl,calculateJwkThumbprintUri:()=>uy,compactDecrypt:()=>fs,compactVerify:()=>Es,createLocalJWKSet:()=>fy,createRemoteJWKSet:()=>gy,decodeJwt:()=>vy,decodeProtectedHeader:()=>Ey,errors:()=>wl,exportJWK:()=>ms,exportPKCS8:()=>Jm,exportSPKI:()=>Km,flattenedDecrypt:()=>ln,flattenedVerify:()=>dn,generalDecrypt:()=>jm,generalVerify:()=>Ym,generateKeyPair:()=>Py,generateSecret:()=>Ry,importJWK:()=>ar,importPKCS8:()=>Mm,importSPKI:()=>Um,importX509:()=>km,jwtDecrypt:()=>ry,jwtVerify:()=>ey});var Ns=I(()=>{ql();hs();Vm();zm();Jl();_s();Zm();ty();ny();Ql();gs();Yl();vs();sy();ay();cy();ly();py();td();by();_y();$l();bi();wy();Sy();j();Ay();Oy();Rs()});var gn=y(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.fetchRetry=void 0;var DI=O();async function UI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new DI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(UI,"fetchRetry");xs.fetchRetry=UI});var bn=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Ny=(Ns(),ao(Os)),kI=O(),MI=gn();async function HI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new Ny.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(HI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=HI;async function FI(e,t,r){return ad(e,{token:t,returnSecureToken:!0},r)}o(FI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=FI;async function qI(e,t,r){return ad(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(qI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=qI;async function ad(e,t,r){let n=await(0,MI.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new kI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(ad,"fetchToken");Ze.fetchToken=ad;var sd=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,Ny.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=sd});var Ls=y(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var $I=O(),jI=ve(),cd=W(),ud=bn(),VI=Ut(),xy=_t(),ld=class extends VI.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Cs(this.options)}};Ht.GoogleCloudLoggingPlugin=ld;var GI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Cs=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=cd.Environment.instance.loggingEnvironmentType,this.#o=cd.Environment.instance.loggingEnvironmentStage,this.#n=cd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await ud.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new $I.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,xy.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,xy.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await ud.GcpServiceAccount.init(this.#e));let r=await(0,ud.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(GI,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new jI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=Cs});var dd=y(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.gcpLogFormat=_n.GCP_LOG_FORMAT=void 0;var Cy=_t(),BI=Ls();_n.GCP_LOG_FORMAT="gcp";function KI(e){let t={allMessages:(0,Cy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Cy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:BI.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(KI,"gcpLogFormat");_n.gcpLogFormat=KI});var Dy=y(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ConsoleTransport=void 0;var Ly=dd(),pd=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===Ly.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Ly.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Ds.ConsoleTransport=pd});var bd=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.DataDogTransport=En.DataDogLoggingPlugin=void 0;var JI=ve(),hd=W(),zI=Ut(),Uy=_t(),gd=class extends zI.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Us(this.options)}};En.DataDogLoggingPlugin=gd;var fd="__ddtags",md="__ddattr",yd=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),WI=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(yd(n)):r.push(`${yd(n)}:${yd(i.toString())}`)}),r.join(",")},"formatTags"),Us=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=hd.Environment.instance.loggingEnvironmentType,this.#i=hd.Environment.instance.loggingEnvironmentStage,this.#r=hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[fd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[fd]!==void 0);a>-1&&(Object.assign(n,s[a][fd]),s.splice(a,1));let c={},u=r.custom[md];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[md]!==void 0);l>-1&&(Object.assign(c,s[l][md]),s.splice(l,1));let d=(0,Uy.makeErrorsSerializable)(s),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Uy.extractBestMessage)(d),service:t.loggingId,ddtags:WI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new JI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};En.DataDogTransport=Us});var My=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.ProcessTransport=void 0;var ky=dd(),_d=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===ky.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,ky.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};ks.ProcessTransport=_d});var Fy=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.RemoteLogTransport=void 0;var QI=ve(),Hy=W(),YI=_t(),ZI=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,YI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Hy.Environment.instance.systemUserAgent,"zp-dn":Hy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ms,Ed=class{static{o(this,"RemoteLogTransport")}constructor(t){Ms||(Ms=new QI.BatchDispatch("remote-log-transport",1,ZI(t)))}log(t,r){Ms.enqueue(t),r.waitUntil(Ms.waitUntilFlushed())}};Hs.RemoteLogTransport=Ed});var qy=y(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.unifiedFormatter=Hr.SeverityNumberOpenTelemetryMap=void 0;Hr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var XI=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Hr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Hr.unifiedFormatter=XI});var jy=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.UnifiedLogTransport=void 0;var eP=ve(),$y=W(),tP=qy(),rP=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,tP.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":$y.Environment.instance.systemUserAgent,"zp-dn":$y.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Fs,wd=class{static{o(this,"UnifiedLogTransport")}constructor(t){Fs||(Fs=new eP.BatchDispatch("unified-log-transport",1,rP(t)))}async log(t,r){Fs.enqueue(t),r.waitUntil(Fs.waitUntilFlushed())}};qs.UnifiedLogTransport=wd});var Wy=y($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.LogInitializer=void 0;var nP=Pr(),iP=yt(),Vy=al(),Gy=W(),By=Jf(),oP=Ut(),sP=zf(),Ky=Wf(),Jy=Dy(),aP=bd(),cP=Ls(),zy=My(),uP=Fy(),lP=jy(),vd=(0,nP.debug)("zuplo:logging"),Sd=class e{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Gy.Environment.instance,t),n=await e.setupUserCoreLogger(Gy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;vd("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Vy.SYSTEM_LOGGER);return s?i.push(new zy.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&i.push(new Jy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new lP.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new By.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){vd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=t,a=r.getService(Vy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new zy.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new Jy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new uP.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new cP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new aP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return iP.plugins.forEach(c=>{c instanceof oP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new By.CoreLogger(t.userLogLevel,"user",t.loggingId,s.BUILD_ID,n)}createRequestLoggers(t,r,n,i,s){vd("Gateway.createRequestLoggers");let a=new sP.LoggingContext(n,i,s),c=new Ky.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Ky.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};$s.LogInitializer=Sd});var Id=y(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.UserRouteConfiguration=void 0;var Td=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};js.UserRouteConfiguration=Td});var Ad=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.Router=St.RouterError=St.LookupResult=St.RouterEntry=void 0;var Qy=O(),dP=ot(),pP=Id(),Vs=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};St.RouterEntry=Vs;var Pi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};St.LookupResult=Pi;var Gs=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};St.RouterError=Gs;var Pd=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof pP.UserRouteConfiguration||t instanceof dP.SystemRouteConfiguration))throw new Qy.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Vs(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Gs(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new Qy.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new Pi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Pi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};St.Router=Pd});var Ar=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.Gateway=void 0;var hP=Pr(),Yy=vf(),Zy=Nf(),fP=xf(),Xy=Cf(),eg=kf(),Ft=Tr(),Bs=Rr(),tg=Kf(),It=O(),Ai=yt(),mP=Wy(),yP=Lt(),gP=te(),bP=ol(),_P=Qt(),EP=Xr(),wP=Me(),vP=Ad(),Rd=ot(),rg=Id(),SP=He(),TP=qo(),Od=W(),ng=Dr(),ig=Fu(),Tt=(0,hP.debug)("zuplo:runtime"),IP=o(e=>{let t=e.findIndex(r=>r.name===Rd.systemNoVersion.name);return t>-1?[...e.splice(t),Rd.systemNoVersion]:[...e,Rd.systemNoVersion]},"setupSystemNoVersion"),Nd=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,s){if(Tt("Gateway.initialize"),!e.#e){await(0,Ai.initializeRuntime)(s);let a=await mP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,TP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[EP.policyProcessor,bP.corsProcessor,_P.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=IP(t.versions),n=new vP.Router(r);if(t.routes.length===0)return(0,Yy.registerBuildRoute)(n,this),(0,eg.registerPingRoute)(n,this),(0,Zy.registerCorsRoute)(n,this),(0,fP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,tg.registerDevPortalLegacyRedirectRoute)(n,this),(0,tg.registerDevPortalV3Route)(n,this)),(0,Yy.registerBuildRoute)(n,this),(0,eg.registerPingRoute)(n,this),(0,Zy.registerCorsRoute)(n,this);for(let s of Ai.plugins)s instanceof Ai.SystemRuntimePlugin&&s.registerRoutes(n,this);return t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new yP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new rg.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Xy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Od.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,ng.serializeError)(n.cause);"stack"in s&&(s.stack=(0,ng.cleanStack)(s.stack)),i={cause:s}}}return gP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Od.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(Ft.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Bs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new wP.ZuploRequest(m,{params:d.params}),g=new Bs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),_=Bs.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===Xy.notFoundRouteConfiguration&&Ai.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof rg.UserRouteConfiguration)}try{if(SP.SystemLogMap.addLogger(g,c),Od.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,ig.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let U=await(0,Ai.invokeOnRequestExtensions)(h,g);if(U instanceof Response)return U;{let K=Bs.ZuploContextExtensions.getContextExtensions(g);h=U,K.latestRequest=h}}(0,ig.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;PP(S,d,t),Tt("Gateway.handleRequest - call user handler");let T=await S(h,g);if(Tt("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(Ft.REQUEST_ID_HEADER)===null&&!T.webSocket){let U=new Headers(T.headers);return U.set(Ft.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:U,cf:T.cf})}else return T}catch(S){return Tt("Gateway - error executing handler",S),S instanceof It.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};Ks.Gateway=Nd;function PP(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(PP,"checkHandler")});var og=y(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.invokeInboundPolicy=void 0;var AP=O(),RP=Ar(),OP=Xr(),NP=o(async(e,t,r)=>{let n=RP.Gateway.instance.routeData.policies,i=(0,OP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new AP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Js.invokeInboundPolicy=NP});var Rr=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Tr(),xP=O(),CP=og(),xd=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=xd;var Cd=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Cd;var Ld=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Ld;var Ri=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new xP.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=Ri;var Dd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,CP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ri.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ri.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=Dd});var Ws=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.ContextData=void 0;var Ud=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};zs.ContextData=Ud});var wn=y(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var LP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function sg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!LP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(sg,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=sg;function ag(e){return!!e.startsWith("ZUPLO_")}o(ag,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=ag;var DP=new Proxy({},{get(e,t){if(sg(String(t))&&!ag(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=DP});var kd=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.externalServiceHandler=vn.externalServiceTunnelConfig=void 0;var UP=Pr(),Fr=O(),kP=Md(),Oi=W(),ut=(0,UP.debug)("zuplo:runtime:external-service");function ug(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Oi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(ug,"getServiceAuth");async function MP(e){let t=ug();if(!t)throw ut("There is no external service auth configured for this zup."),new Fr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new Fr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(Oi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Oi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await lg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Fr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(MP,"externalServiceTunnelConfig");vn.externalServiceTunnelConfig=MP;async function HP(e,t){let r=ug();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Oi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Oi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await lg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new Fr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,kP.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Fr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new Fr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new Fr.RuntimeError("There are no external services configured for this zup.")}o(HP,"externalServiceHandler");vn.externalServiceHandler=HP;async function lg(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=FP(n);ut(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await cg(`${s}-${i}`),l=await cg(`${s}-${a}-${c}`);return`${u}.${l}`}o(lg,"hashServiceName");async function cg(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(cg,"hashSegment");function FP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(FP,"sanitizeEnvironmentType")});var Md=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.originalFetch=void 0;var qP=kd(),dg=new Map;dg.set("service:",qP.externalServiceHandler);Sn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=$P(t);if(typeof e=="string"){let n=new URL(e),i=dg.get(n.protocol);return i?i(e,r):(0,Sn.originalFetch)(e,r)}else return(0,Sn.originalFetch)(e,r)};var $P=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var fg=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.Handler=Tn.purgeGatewayCache=void 0;var jP=O(),hg=Ar(),pg=W(),VP=o(()=>{hg.Gateway.purgeGatewayCache()},"purgeGatewayCache");Tn.purgeGatewayCache=VP;var Hd=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{pg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await hg.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof jP.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:pg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};Tn.Handler=Hd});var bg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function GP(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(GP,"lexer");function Fd(e,t){t===void 0&&(t={});for(var r=GP(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(In(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ie){if(u<r.length&&r[u].type===ie)return r[u++].value},"tryConsume"),p=o(function(ie){var me=d(ie);if(me!==void 0)return me;var Be=r[u],w=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(H,", expected ").concat(ie))},"mustConsume"),m=o(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||s,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var U=d("OPEN");if(U){var S=m(),K=d("NAME")||"",L=d("PATTERN")||"",ne=m();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?s:L,prefix:S,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(Fd,"parse");Re.parse=Fd;function BP(e,t){return mg(Fd(e,t),t)}o(BP,"compile");Re.compile=BP;function mg(e,t){t===void 0&&(t={});var r=qd(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}o(mg,"tokensToFunction");Re.tokensToFunction=mg;function KP(e,t){var r=[],n=$d(e,r,t);return yg(n,r,t)}o(KP,"match");Re.match=KP;function yg(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(yg,"regexpToFunction");Re.regexpToFunction=yg;function In(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(In,"escapeString");function qd(e){return e&&e.sensitive?"":"i"}o(qd,"flags");function JP(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(JP,"regexpToRegexp");function zP(e,t,r){var n=e.map(function(i){return $d(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),qd(r))}o(zP,"arrayToRegexp");function WP(e,t,r){return gg(Fd(e,r),t,r)}o(WP,"stringToRegexp");function gg(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(In(g),"]|$"),S="[".concat(In(m),"]"),T=a?"^":"",U=0,K=e;U<K.length;U++){var L=K[U];if(typeof L=="string")T+=In(d(L));else{var ne=In(d(L.prefix)),ie=In(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else T+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,qd(r))}o(gg,"tokensToRegexp");Re.tokensToRegexp=gg;function $d(e,t,r){return e instanceof RegExp?JP(e,t):Array.isArray(e)?zP(e,t,r):WP(e,t,r)}o($d,"pathToRegexp");Re.pathToRegexp=$d});var Bd=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.AwsV4Signer=Pn.AwsClient=void 0;var QP=Pr(),vg=O(),YP=(0,QP.debug)("zuplo:runtime"),Vd=new TextEncoder,_g={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},ZP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Gd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Qs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){YP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new vg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Pn.AwsClient=Gd;var Qs=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let S,T;(!u||!l)&&([S,T]=XP(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let U=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),U.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&U.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!ZP.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!U.has("X-Amz-Expires")&&U.set("X-Amz-Expires","86400"),U.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),U.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),U.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=wg(this.encodedPath);let K=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(K.has(L))return!1;K.add(L)}return!0}).map(L=>L.map(ne=>wg(encodeURIComponent(ne)))).sort(([L,ne],[ie,me])=>L<ie?-1:L>ie?1:ne<me?-1:ne>me?1:0).map(L=>L.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Ni("AWS4"+this.secretAccessKey,t),s=await Ni(i,this.region),a=await Ni(s,this.service);n=await Ni(a,"aws4_request"),this.cache.set(r,n)}return jd(await Ni(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,jd(await Eg(await this.canonicalString()))].join(`
59
+ -----END ${t}-----`},"default")});function xm(e){let t=[],r=0;for(;r<e.length;){let n=Hm(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Hm(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let o=t+n+2;return{byteLength:o,contents:e.subarray(t,t+n),raw:e.subarray(0,o)}}else{let o=e[t]&127;t++,n=0;for(let a=0;a<o;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function uI(e){let t=xm(xm(Hm(e).contents)[0].contents);return rs(t[t[0].raw[0]===160?6:5].raw)}function lI(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=El(t);return Dl(uI(r),"PUBLIC KEY")}var Lm,Dm,Um,sr,Cm,km,Mm,Ul,Fm,ps=I(()=>{Se();at();Ie();Nm();j();ct();Lm=s(async(e,t,r)=>{if(!ae(r))throw new TypeError(oe(r,...Q));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return Dl(rs(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Dm=s(e=>Lm("public","spki",e),"toSPKI"),Um=s(e=>Lm("private","pkcs8",e),"toPKCS8"),sr=s((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((o,a)=>o===t[a])||sr(e,t,n+1)},"findOid"),Cm=s(e=>{switch(!0){case sr(e,[42,134,72,206,61,3,1,7]):return"P-256";case sr(e,[43,129,4,0,34]):return"P-384";case sr(e,[43,129,4,0,35]):return"P-521";case sr(e,[43,101,110]):return"X25519";case sr(e,[43,101,111]):return"X448";case sr(e,[43,101,112]):return"Ed25519";case sr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),km=s(async(e,t,r,n,i)=>{var o;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Cm(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Cm(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(o=i?.extractable)!==null&&o!==void 0?o:!1,c)},"genericImport"),Mm=s((e,t,r)=>km(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),Ul=s((e,t,r)=>km(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");s(xm,"getElement");s(Hm,"parseElement");s(uI,"spkiFromX509");s(lI,"getSPKI");Fm=s((e,t,r)=>{let n;try{n=lI(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Ul(n,t,r)},"fromX509")});function dI(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var pI,kl,qm=I(()=>{Se();j();Ie();s(dI,"subtleMapping");pI=s(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=dI(e),o=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",re(e.k),...o);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...o)},"parse"),kl=pI});async function $m(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Ul(e,t,r)}async function jm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Fm(e,t,r)}async function Vm(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Mm(e,t,r)}async function ar(e,t,r){var n;if(!Y(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?kl({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):re(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return kl({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var bi=I(()=>{Ie();ps();qm();j();$e();s($m,"importSPKI");s(jm,"importX509");s(Vm,"importPKCS8");s(ar,"importJWK")});var hI,fI,mI,cr,_i=I(()=>{at();ct();hI=s((e,t)=>{if(!(t instanceof Uint8Array)){if(!Pl(t))throw new TypeError(Il(e,t,...Q,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${Q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),fI=s((e,t,r)=>{if(!Pl(t))throw new TypeError(Il(e,t,...Q));if(t.type==="secret")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${Q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),mI=s((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?hI(e,t):fI(e,t,r)},"checkKeyType"),cr=mI});async function yI(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(oe(r,"Uint8Array"));let o=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(o>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,o>>3),{hash:`SHA-${o<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Te(i,n,u,Xo(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,o>>3));return{ciphertext:u,tag:d}}async function gI(e,t,r,n,i){let o;r instanceof Uint8Array?o=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(qe(r,e,"encrypt"),o=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},o,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var bI,Ei,Ml=I(()=>{ge();Sl();Tl();Se();or();at();j();ct();s(yI,"cbcEncrypt");s(gI,"gcmEncrypt");bI=s(async(e,t,r,n,i)=>{if(!ae(r)&&!(r instanceof Uint8Array))throw new TypeError(oe(r,...Q,"Uint8Array"));switch(os(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&sn(r,parseInt(e.slice(-3),10)),yI(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&sn(r,parseInt(e.slice(1,4),10)),gI(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ei=bI});async function Gm(e,t,r,n){let i=e.slice(0,7);n||(n=ns(i));let{ciphertext:o,tag:a}=await Ei(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:X(n),tag:X(a)}}async function Bm(e,t,r,n,i){let o=e.slice(0,7);return as(o,t,r,n,i,new Uint8Array(0))}var Hl=I(()=>{Ml();Al();is();Ie();s(Gm,"wrap");s(Bm,"unwrap")});async function _I(e,t,r,n,i){switch(cr(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new R("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Y(n.epk))throw new R('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ls(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await ar(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new R('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new R('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await us(o,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?yi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new R("JWE Encrypted Key missing");return mi(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new R("JWE Encrypted Key missing");return Om(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new R('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new R('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new R('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Pm(e,t,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new R("JWE Encrypted Key missing");return mi(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new R("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new R('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new R('JOSE Header "tag" (Authentication Tag) missing or invalid');let o=re(n.iv),a=re(n.tag);return Bm(e,t,r,o,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Km,Jm=I(()=>{cs();Nl();xl();Ll();Ie();j();gi();bi();_i();$e();Hl();s(_I,"decryptKeyManagement");Km=_I});function EI(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;r!==void 0?o=new Map([...Object.entries(r),...t.entries()]):o=t;for(let a of n.crit){if(!o.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(o.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var vt,ln=I(()=>{j();s(EI,"validateCrit");vt=EI});var wI,wi,Fl=I(()=>{wI=s((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),wi=wI});async function dn(e,t,r){var n;if(!Y(e))throw new R("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new R("JOSE Header missing");if(typeof e.iv!="string")throw new R("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new R("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new R("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new R("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new R("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new R("JWE AAD incorrect type");if(e.header!==void 0&&!Y(e.header))throw new R("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Y(e.unprotected))throw new R("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let K=re(e.protected);i=JSON.parse(ue.decode(K))}catch{throw new R("JWE Protected Header is invalid")}if(!Et(i,e.header,e.unprotected))throw new R("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let o={...i,...e.header,...e.unprotected};if(vt(R,new Map,r?.crit,i,o),o.zip!==void 0){if(!i||!i.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(o.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=o;if(typeof a!="string"||!a)throw new R("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new R("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&wi("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&wi("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new tr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=re(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let m;try{m=await Km(a,t,d,o,r)}catch(K){if(K instanceof TypeError||K instanceof R||K instanceof M)throw K;m=wt(c)}let h=re(e.iv),g=re(e.tag),_=Z.encode((n=e.protected)!==null&&n!==void 0?n:""),S;e.aad!==void 0?S=Te(_,Z.encode("."),Z.encode(e.aad)):S=_;let T=await as(c,m,re(e.ciphertext),h,g,S);o.zip==="DEF"&&(T=await(r?.inflateRaw||gm)(T));let U={plaintext:T};return e.protected!==void 0&&(U.protectedHeader=i),e.aad!==void 0&&(U.additionalAuthenticatedData=re(e.aad)),e.unprotected!==void 0&&(U.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(U.unprotectedHeader=e.header),p?{...U,key:t}:U}var hs=I(()=>{Ie();Al();Rl();j();an();$e();Jm();ge();gi();ln();Fl();s(dn,"flattenedDecrypt")});async function fs(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new R("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:o,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new R("Invalid Compact JWE");let l=await dn({ciphertext:a,iv:o||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var ql=I(()=>{hs();j();ge();s(fs,"compactDecrypt")});async function zm(e,t,r){if(!Y(e))throw new R("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Y))throw new R("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new R("JWE Recipients has no members");for(let n of e.recipients)try{return await dn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new kt}var Wm=I(()=>{hs();j();$e();s(zm,"generalDecrypt")});var vI,Qm,Ym=I(()=>{Se();at();Ie();ct();vI=s(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:X(e)};if(!ae(e))throw new TypeError(oe(e,...Q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...o}=await D.subtle.exportKey("jwk",e);return o},"keyToJWK"),Qm=vI});async function Zm(e){return Dm(e)}async function Xm(e){return Um(e)}async function ms(e){return Qm(e)}var $l=I(()=>{ps();ps();Ym();s(Zm,"exportSPKI");s(Xm,"exportPKCS8");s(ms,"exportJWK")});async function SI(e,t,r,n,i={}){let o,a,c;switch(cr(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ls(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await wm(r)).privateKey);let{x:p,y:m,crv:h,kty:g}=await ms(d),_=await us(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?yi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:g}},g==="EC"&&(a.epk.y=m),u&&(a.apu=X(u)),l&&(a.apv=X(l)),e==="ECDH-ES"){c=_;break}c=n||wt(t);let S=e.slice(-6);o=await fi(S,_,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||wt(t),o=await Rm(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||wt(t);let{p2c:u,p2s:l}=i;({encryptedKey:o,...a}=await Im(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||wt(t),o=await fi(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||wt(t);let{iv:u}=i;({encryptedKey:o,...a}=await Gm(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:o,parameters:a}}var ys,jl=I(()=>{cs();Nl();xl();Ll();Ie();gi();j();$l();_i();Hl();s(SI,"encryptKeyManagement");ys=SI});var Vl,Mt,gs=I(()=>{Ie();Ml();Rl();is();jl();j();an();ge();ln();Vl=Symbol(),Mt=class{static{s(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new R("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Et(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(vt(R,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:o}=n;if(typeof i!="string"||!i)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof o!="string"||!o)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let g;({cek:c,encryptedKey:a,parameters:g}=await ys(i,o,t,this._cek,this._keyManagementParameters)),g&&(r&&Vl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...g}:this.setUnprotectedHeader(g):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...g}:this.setProtectedHeader(g))}this._iv||(this._iv=ns(o));let u,l,d;this._protectedHeader?l=Z.encode(X(JSON.stringify(this._protectedHeader))):l=Z.encode(""),this._aad?(d=X(this._aad),u=Te(l,Z.encode("."),Z.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let g=await(r?.deflateRaw||bm)(this._plaintext);({ciphertext:p,tag:m}=await Ei(o,g,c,this._iv,u))}else({ciphertext:p,tag:m}=await Ei(o,this._plaintext,c,this._iv,u));let h={ciphertext:X(p),iv:X(this._iv),tag:X(m)};return a&&(h.encrypted_key=X(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ue.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Gl,bs,ey=I(()=>{gs();j();gi();an();jl();Ie();ln();Gl=class{static{s(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},bs=class{static{s(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new Gl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new R("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let o;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!Et(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new R("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new R('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new R('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!o)o=d.enc;else if(o!==d.enc)throw new R('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(vt(R,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new R('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=wt(o),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let _=await new Mt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...t,[Vl]:!0});c.ciphertext=_.ciphertext,c.iv=_.iv,c.tag=_.tag,_.aad&&(c.aad=_.aad),_.protected&&(c.protected=_.protected),_.unprotected&&(c.unprotected=_.unprotected),d.encrypted_key=_.encrypted_key,_.header&&(d.header=_.header);continue}let{encryptedKey:h,parameters:g}=await ys(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),o,l.key,a,{p2c:m});d.encrypted_key=X(h),(l.unprotectedHeader||g)&&(d.header={...l.unprotectedHeader,...g})}return c}}});function vi(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Bl=I(()=>{j();s(vi,"subtleDsa")});function Si(e,t,r){if(ae(t))return mm(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(oe(t,...Q));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(oe(t,...Q,"Uint8Array"))}var Kl=I(()=>{Se();or();at();ct();s(Si,"getCryptoKey")});var TI,ty,ry=I(()=>{Bl();Se();ds();Kl();TI=s(async(e,t,r,n)=>{let i=await Si(e,t,"verify");Hr(e,i);let o=vi(e,i.algorithm);try{return await D.subtle.verify(o,i,r,n)}catch{return!1}},"verify"),ty=TI});async function pn(e,t,r){var n;if(!Y(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Y(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let S=re(e.protected);i=JSON.parse(ue.decode(S))}catch{throw new z("JWS Protected Header is invalid")}if(!Et(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},a=vt(z,new Map([["b64",!0]]),r?.crit,i,o),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=o;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&wi("algorithms",r.algorithms);if(l&&!l.has(u))throw new tr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),cr(u,t,"verify");let p=Te(Z.encode((n=e.protected)!==null&&n!==void 0?n:""),Z.encode("."),typeof e.payload=="string"?Z.encode(e.payload):e.payload),m=re(e.signature);if(!await ty(u,t,m,p))throw new Mr;let g;c?g=re(e.payload):typeof e.payload=="string"?g=Z.encode(e.payload):g=e.payload;let _={payload:g};return e.protected!==void 0&&(_.protectedHeader=i),e.header!==void 0&&(_.unprotectedHeader=e.header),d?{..._,key:t}:_}var _s=I(()=>{Ie();ry();j();ge();an();$e();_i();ln();Fl();s(pn,"flattenedVerify")});async function Es(e,t,r){if(e instanceof Uint8Array&&(e=ue.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:o,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await pn({payload:i,protected:n,signature:o},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var Jl=I(()=>{_s();j();ge();s(Es,"compactVerify")});async function ny(e,t,r){if(!Y(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Y))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await pn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Mr}var iy=I(()=>{_s();j();$e();s(ny,"generalVerify")});var hn,zl=I(()=>{hn=s(e=>Math.floor(e.getTime()/1e3),"default")});var II,fn,Wl=I(()=>{II=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,fn=s(e=>{let t=II.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var oy,PI,mn,ws=I(()=>{j();ge();zl();Wl();$e();oy=s(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),PI=s((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),mn=s((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||oy(e.typ)!==oy(n)))throw new be('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ue.decode(t))}catch{}if(!Y(i))throw new le("JWT Claims Set must be a top-level JSON object");let{requiredClaims:o=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&o.push("iat"),u!==void 0&&o.push("aud"),c!==void 0&&o.push("sub"),a!==void 0&&o.push("iss");for(let h of new Set(o.reverse()))if(!(h in i))throw new be(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new be('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new be('unexpected "sub" claim value',"sub","check_failed");if(u&&!PI(i.aud,typeof u=="string"?[u]:u))throw new be('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=fn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=hn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new be('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new be('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new be('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new be('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new on('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=m-i.iat,g=typeof l=="number"?l:fn(l);if(h-d>g)throw new on('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new be('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function sy(e,t,r){var n;let i=await Es(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");let a={payload:mn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var ay=I(()=>{Jl();ws();j();s(sy,"jwtVerify")});async function cy(e,t,r){let n=await fs(e,t,r),i=mn(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(o.iss!==void 0&&o.iss!==i.iss)throw new be('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(o.sub!==void 0&&o.sub!==i.sub)throw new be('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(o.aud!==void 0&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new be('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:o};return typeof t=="function"?{...a,key:n.key}:a}var uy=I(()=>{ql();ws();j();s(cy,"jwtDecrypt")});var yn,Ql=I(()=>{gs();yn=class{static{s(this,"CompactEncrypt")}constructor(t){this._flattened=new Mt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var AI,ly,dy=I(()=>{Bl();Se();ds();Kl();AI=s(async(e,t,r)=>{let n=await Si(e,t,"sign");Hr(e,n);let i=await D.subtle.sign(vi(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),ly=AI});var ur,vs=I(()=>{Ie();dy();an();j();ge();_i();ln();ur=class{static{s(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Et(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=vt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),o=!0;if(i.has("b64")&&(o=this._protectedHeader.b64,typeof o!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');cr(a,t,"sign");let c=this._payload;o&&(c=Z.encode(X(c)));let u;this._protectedHeader?u=Z.encode(X(JSON.stringify(this._protectedHeader))):u=Z.encode("");let l=Te(u,Z.encode("."),c),d=await ly(a,t,l),p={signature:X(d),payload:""};return o&&(p.payload=ue.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ue.decode(u)),p}}});var gn,Yl=I(()=>{vs();gn=class{static{s(this,"CompactSign")}constructor(t){this._flattened=new ur(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var Zl,Ss,py=I(()=>{vs();j();Zl=class{static{s(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},Ss=class{static{s(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new Zl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new ur(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:o,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=o;else if(t.payload!==o)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var lr,Ts=I(()=>{zl();$e();Wl();lr=class{static{s(this,"ProduceJWT")}constructor(t){if(!Y(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:hn(new Date)+fn(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:hn(new Date)+fn(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:hn(new Date)}:this._payload={...this._payload,iat:t},this}}});var Is,hy=I(()=>{Yl();j();ge();Ts();Is=class extends lr{static{s(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new gn(Z.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new le("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var Ps,fy=I(()=>{Ql();ge();Ts();Ps=class extends lr{static{s(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new yn(Z.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function Xl(e,t){if(!Y(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":dr(e.crv,'"crv" (Curve) Parameter'),dr(e.x,'"x" (X Coordinate) Parameter'),dr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":dr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),dr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":dr(e.e,'"e" (Exponent) Parameter'),dr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":dr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Z.encode(JSON.stringify(r));return X(await Yo(t,n))}async function my(e,t){t??(t="sha256");let r=await Xl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var dr,yy=I(()=>{bl();Ie();j();ge();$e();dr=s((e,t)=>{if(typeof e!="string"||!e)throw new li(`${t} missing or invalid`)},"check");s(Xl,"calculateJwkThumbprint");s(my,"calculateJwkThumbprintUri")});async function gy(e,t){let r={...e,...t?.header};if(!Y(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ar({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var by=I(()=>{bi();$e();j();s(gy,"EmbeddedJWK")});function RI(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function ed(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(OI)}function OI(e){return Y(e)}function NI(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function _y(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ar({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new rr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Ey(e){let t=new Ti(e);return async function(r,n){return t.getKey(r,n)}}var Ti,td=I(()=>{bi();j();$e();s(RI,"getKtyFromAlg");s(ed,"isJWKSLike");s(OI,"isJWKLike");s(NI,"clone");Ti=class{static{s(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!ed(t))throw new rr("JSON Web Key Set malformed");this._jwks=NI(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},o=RI(n),a=this._jwks.keys.filter(l=>{let d=o===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new kr;if(u!==1){let l=new di,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await _y(d,p,n)}catch{continue}},l}return _y(this._cached,c,n)}};s(_y,"importWithAlgCache");s(Ey,"createLocalJWKSet")});var CI,wy,vy=I(()=>{j();CI=s(async(e,t,r)=>{let n,i,o=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{o=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw o?new pi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new he("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new he("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),wy=CI});function xI(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Sy(e,t){let r=new rd(e,t);return async function(n,i){return r.getKey(n,i)}}var rd,Ty=I(()=>{vy();j();td();s(xI,"isCloudflareWorkers");rd=class extends Ti{static{s(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof kr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&xI()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=wy(this._url,this._timeoutDuration,this._options).then(t=>{if(!ed(t))throw new rr("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};s(Sy,"createRemoteJWKSet")});var As,Iy=I(()=>{Ie();ge();j();ws();Ts();As=class extends lr{static{s(this,"UnsecuredJWT")}encode(){let t=X(JSON.stringify({alg:"none"})),r=X(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new le("Unsecured JWT must be a string");let{0:n,1:i,2:o,length:a}=t.split(".");if(a!==3||o!=="")throw new le("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ue.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new le("Invalid Unsecured JWT")}return{payload:mn(c,re(i),r),header:c}}}});var nd={};so(nd,{decode:()=>Ii,encode:()=>LI});var LI,Ii,Rs=I(()=>{Ie();LI=X,Ii=re});function Py(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ue.decode(Ii(t)));if(!Y(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Ay=I(()=>{Rs();ge();$e();s(Py,"decodeProtectedHeader")});function Ry(e){if(typeof e!="string")throw new le("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new le("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new le("Invalid JWT");if(!t)throw new le("JWTs must contain a payload");let n;try{n=Ii(t)}catch{throw new le("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ue.decode(n))}catch{throw new le("Failed to parse the decoded payload as JSON")}if(!Y(i))throw new le("Invalid JWT Claims Set");return i}var Oy=I(()=>{Rs();ge();$e();j();s(Ry,"decodeJwt")});async function Ny(e,t){var r;let n,i,o;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},o=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),nr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},o=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},o=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,o)}function id(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Cy(e,t){var r,n,i;let o,a;switch(e){case"PS256":case"PS384":case"PS512":o={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:id(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":o={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:id(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":o={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:id(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":o={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":o={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":o={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":o={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{o={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":o={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(o,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var od=I(()=>{Se();j();hi();s(Ny,"generateSecret");s(id,"getModulusLengthOption");s(Cy,"generateKeyPair")});async function xy(e,t){return Cy(e,t)}var Ly=I(()=>{od();s(xy,"generateKeyPair")});async function Dy(e,t){return Ny(e,t)}var Uy=I(()=>{od();s(Dy,"generateSecret")});var Os={};so(Os,{CompactEncrypt:()=>yn,CompactSign:()=>gn,EmbeddedJWK:()=>gy,EncryptJWT:()=>Ps,FlattenedEncrypt:()=>Mt,FlattenedSign:()=>ur,GeneralEncrypt:()=>bs,GeneralSign:()=>Ss,SignJWT:()=>Is,UnsecuredJWT:()=>As,base64url:()=>nd,calculateJwkThumbprint:()=>Xl,calculateJwkThumbprintUri:()=>my,compactDecrypt:()=>fs,compactVerify:()=>Es,createLocalJWKSet:()=>Ey,createRemoteJWKSet:()=>Sy,decodeJwt:()=>Ry,decodeProtectedHeader:()=>Py,errors:()=>wl,exportJWK:()=>ms,exportPKCS8:()=>Xm,exportSPKI:()=>Zm,flattenedDecrypt:()=>dn,flattenedVerify:()=>pn,generalDecrypt:()=>zm,generalVerify:()=>ny,generateKeyPair:()=>xy,generateSecret:()=>Dy,importJWK:()=>ar,importPKCS8:()=>Vm,importSPKI:()=>$m,importX509:()=>jm,jwtDecrypt:()=>cy,jwtVerify:()=>sy});var Ns=I(()=>{ql();hs();Wm();ey();Jl();_s();iy();ay();uy();Ql();gs();Yl();vs();py();hy();fy();yy();by();td();Ty();Iy();$l();bi();Ay();Oy();j();Ly();Uy();Rs()});var bn=y(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.fetchRetry=void 0;var DI=O();async function UI(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let o=await i;if(o.status<500&&o.status!==429)return o;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:o.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new DI.ConfigurationError("An unknown error occurred, ensure retries is not negative")}s(UI,"fetchRetry");Cs.fetchRetry=UI});var _n=y(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var ky=(Ns(),ao(Os)),kI=O(),MI=bn();async function HI({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:o,privateKey:a}=e;return await new ky.SignJWT(n).setProtectedHeader({alg:"RS256",kid:o}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}s(HI,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=HI;async function FI(e,t,r){return ad(e,{token:t,returnSecureToken:!0},r)}s(FI,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=FI;async function qI(e,t,r){return ad(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}s(qI,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=qI;async function ad(e,t,r){let n=await(0,MI.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let o;try{let a=await n.text(),c=JSON.parse(a);o={cause:c.error??c}}catch{}throw new kI.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:o})}return await n.json()}s(ad,"fetchToken");Ze.fetchToken=ad;var sd=class e{static{s(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,ky.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=sd});var Ls=y(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GoogleLogTransport=Ht.ZuploToGCPMap=Ht.GoogleCloudLoggingPlugin=void 0;var $I=O(),jI=ve(),cd=W(),ud=_n(),VI=Ut(),My=_t(),ld=class extends VI.LogPlugin{static{s(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new xs(this.options)}};Ht.GoogleCloudLoggingPlugin=ld;var GI="https://logging.googleapis.com/v2/entries:write?alt=json";Ht.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var xs=class{static{s(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=cd.Environment.instance.loggingEnvironmentType,this.#o=cd.Environment.instance.loggingEnvironmentStage,this.#n=cd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await ud.GcpServiceAccount.init(this.#e)}log(t,r){if(!this.#t)throw new $I.SystemError("Invalid state - Google log transport is not initialized");if(t.messages.length===0)return;let n={allMessages:(0,My.makeErrorsSerializable)(t.messages)},i=this.#t.projectId??"zuplo-production",o={logName:this.#r,resource:{type:"global"},severity:Ht.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(o.labels.rayId=t.rayId);let a=(0,My.extractBestMessage)(n.allMessages);o.jsonPayload={...n,message:a},this.batcher.enqueue(o),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await ud.GcpServiceAccount.init(this.#e));let r=await(0,ud.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(GI,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new jI.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ht.GoogleLogTransport=xs});var dd=y(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.gcpLogFormat=En.GCP_LOG_FORMAT=void 0;var Hy=_t(),BI=Ls();En.GCP_LOG_FORMAT="gcp";function KI(e){let t={allMessages:(0,Hy.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Hy.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:BI.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}s(KI,"gcpLogFormat");En.gcpLogFormat=KI});var qy=y(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ConsoleTransport=void 0;var Fy=dd(),pd=class{static{s(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;log(t){if(this.#t===Fy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Fy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};Ds.ConsoleTransport=pd});var bd=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.DataDogTransport=wn.DataDogLoggingPlugin=void 0;var JI=ve(),hd=W(),zI=Ut(),$y=_t(),gd=class extends zI.LogPlugin{static{s(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Us(this.options)}};wn.DataDogLoggingPlugin=gd;var fd="__ddtags",md="__ddattr",yd=s(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),WI=s(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(yd(n)):r.push(`${yd(n)}:${yd(i.toString())}`)}),r.join(",")},"formatTags"),Us=class{static{s(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=hd.Environment.instance.loggingEnvironmentType,this.#i=hd.Environment.instance.loggingEnvironmentStage,this.#r=hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n={},i=r.custom[fd];i&&typeof i=="object"&&Object.assign(n,i);let o=[...t.messages],a=t.messages.findIndex(h=>h[fd]!==void 0);a>-1&&(Object.assign(n,o[a][fd]),o.splice(a,1));let c={},u=r.custom[md];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[md]!==void 0);l>-1&&(Object.assign(c,o[l][md]),o.splice(l,1));let d=(0,$y.makeErrorsSerializable)(o),m={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,$y.extractBestMessage)(d),service:t.loggingId,ddtags:WI(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new JI.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};wn.DataDogTransport=Us});var Vy=y(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.ProcessTransport=void 0;var jy=dd(),_d=class{static{s(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;log(t){if(this.#t===jy.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,jy.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};ks.ProcessTransport=_d});var By=y(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.RemoteLogTransport=void 0;var QI=ve(),Gy=W(),YI=_t(),ZI=s(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let o;if(n===!0?o=i.filter(a=>a.level==="error"):o=i,o.length!==0)try{await fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:o.map(a=>({...a,messages:(0,YI.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Gy.Environment.instance.systemUserAgent,"zp-dn":Gy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Ms,Ed=class{static{s(this,"RemoteLogTransport")}constructor(t){Ms||(Ms=new QI.BatchDispatch("remote-log-transport",1,ZI(t)))}log(t,r){Ms.enqueue(t),r.waitUntil(Ms.waitUntilFlushed())}};Hs.RemoteLogTransport=Ed});var Ky=y(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.unifiedFormatter=Fr.SeverityNumberOpenTelemetryMap=void 0;Fr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var XI=s((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Fr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Fr.unifiedFormatter=XI});var zy=y(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.UnifiedLogTransport=void 0;var eP=ve(),Jy=W(),tP=Ky(),rP=s(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let o=(0,tP.unifiedFormatter)(r,n);try{await fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(o)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Jy.Environment.instance.systemUserAgent,"zp-dn":Jy.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),Fs,wd=class{static{s(this,"UnifiedLogTransport")}constructor(t){Fs||(Fs=new eP.BatchDispatch("unified-log-transport",1,rP(t)))}async log(t,r){Fs.enqueue(t),r.waitUntil(Fs.waitUntilFlushed())}};qs.UnifiedLogTransport=wd});var tg=y($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.LogInitializer=void 0;var nP=Ar(),iP=yt(),Wy=al(),Qy=W(),Yy=Xf(),oP=Ut(),sP=em(),Zy=tm(),Xy=qy(),aP=bd(),cP=Ls(),eg=Vy(),uP=By(),lP=zy(),vd=(0,nP.debug)("zuplo:logging"),Sd=class e{static{s(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:t,userCoreLogger:r}){this.systemCoreLogger=t,this.userCoreLogger=r}static async init(t){let r=await e.setupSystemCoreLogger(Qy.Environment.instance,t),n=await e.setupUserCoreLogger(Qy.Environment.instance,t);return new e({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(t,r){let{build:n}=t;vd("Gateway.setupSystemCoreLogger");let i=[],o=r.getService(Wy.SYSTEM_LOGGER);return o?i.push(new eg.ProcessTransport(o.logger,t.logFormat)):t.isDeno&&i.push(new Xy.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&i.push(new lP.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Yy.CoreLogger(t.systemLogLevel,"system",t.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(t,r){vd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:o}=t,a=r.getService(Wy.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new eg.ProcessTransport(a.logger,t.logFormat)):t.isDeno&&n.push(new Xy.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&n.push(new uP.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new cP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new aP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return iP.plugins.forEach(c=>{c instanceof oP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Yy.CoreLogger(t.userLogLevel,"user",t.loggingId,o.BUILD_ID,n)}createRequestLoggers(t,r,n,i,o){vd("Gateway.createRequestLoggers");let a=new sP.LoggingContext(n,i,o),c=new Zy.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Zy.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};$s.LogInitializer=Sd});var Id=y(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.UserRouteConfiguration=void 0;var Td=class{static{s(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};js.UserRouteConfiguration=Td});var Ad=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.Router=St.RouterError=St.LookupResult=St.RouterEntry=void 0;var rg=O(),dP=ot(),pP=Id(),Vs=class{static{s(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};St.RouterEntry=Vs;var Pi=class{static{s(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};St.LookupResult=Pi;var Gs=class extends Error{static{s(this,"RouterError")}constructor(t,r){super(t,r)}};St.RouterError=Gs;var Pd=class{static{s(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof pP.UserRouteConfiguration||t instanceof dP.SystemRouteConfiguration))throw new rg.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(o=>o.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let o=new URLPattern({pathname:i}),a=new Vs(i,o,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(o){throw new Gs(`addRoute-error: Invalid path '${i}'. '${o.message}'`,{cause:o})}}lookup(t,r){if(typeof t>"u")throw new rg.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let o=n[i],c=o.urlPattern.exec({pathname:r});if(c!==null)return new Pi(o.config,o.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new Pi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};St.Router=Pd});var Rr=y(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.Gateway=void 0;var hP=Ar(),ng=Rf(),ig=kf(),fP=Mf(),og=Hf(),sg=jf(),Ft=Ir(),Bs=Or(),ag=Zf(),It=O(),Ai=yt(),mP=tg(),yP=Lt(),gP=te(),bP=ol(),_P=Qt(),EP=en(),wP=Me(),vP=Ad(),Rd=ot(),cg=Id(),SP=He(),TP=qo(),Od=W(),ug=Ur(),lg=Fu(),Tt=(0,hP.debug)("zuplo:runtime"),IP=s(e=>{let t=e.findIndex(r=>r.name===Rd.systemNoVersion.name);return t>-1?[...e.splice(t),Rd.systemNoVersion]:[...e,Rd.systemNoVersion]},"setupSystemNoVersion"),Nd=class e{static{s(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,Tt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(t,r,n,i,o){if(Tt("Gateway.initialize"),!e.#e){await(0,Ai.initializeRuntime)(o);let a=await mP.LogInitializer.init(n),c=t(),u={...c,corsPolicies:(0,TP.parseCorsPolicies)(c.corsPolicies)},l=new e(u,r,a,i);e.#e=l}return e.#e}static purgeGatewayCache(){Tt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new It.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[EP.policyProcessor,bP.corsProcessor,_P.metricsProcessor];#i;setupRoutes=()=>{Tt("Gateway.setupRoutes");let t=this.routeData,r=IP(t.versions),n=new vP.Router(r);if(t.routes.length===0)return(0,ng.registerBuildRoute)(n,this),(0,sg.registerPingRoute)(n,this),(0,ig.registerCorsRoute)(n,this),(0,fP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,ag.registerDevPortalLegacyRedirectRoute)(n,this),(0,ag.registerDevPortalV3Route)(n,this)),(0,ng.registerBuildRoute)(n,this),(0,sg.registerPingRoute)(n,this),(0,ig.registerCorsRoute)(n,this);for(let o of Ai.plugins)o instanceof Ai.SystemRuntimePlugin&&o.registerRoutes(n,this);return t.routes.forEach(o=>{let a;if(typeof o.handler?.module=="object"&&(a=o.handler?.module[o.handler.export]),typeof a!="function")throw new It.ConfigurationError(`Invalid state - No handler on route for path '${o.path}'`);let c=new yP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new cg.UserRouteConfiguration(o);n.addRoute(u,c.execute)}),(0,og.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new It.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=s((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return Tt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){Tt("Gateway.internalErrorResponse");let i={};if(Od.Environment.instance.isDeno){if(n instanceof It.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let o=(0,ug.serializeError)(n.cause);"stack"in o&&(o.stack=(0,ug.cleanStack)(o.stack)),i={cause:o}}}return gP.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Ft.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),Od.Environment.instance.isDeno&&Ft.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Ft.REQUEST_ID_HEADER)??t.headers.get(Ft.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Ft.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let S=new Headers(t.headers);S.set(Ft.REQUEST_ID_HEADER,n),t=new Request(t,{headers:S})}if(["GET","HEAD"].includes(t.method)&&t.body){let S=new Headers(t.headers);S.set(Ft.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:S,body:null})}let o={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,o,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new It.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new Bs.HeaderIncomingRequestProperties(t.headers),m=this.#s(t),h=new wP.ZuploRequest(m,{params:d.params}),g=new Bs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:o,incomingRequestProperties:p}),_=Bs.ZuploContextExtensions.initialize(g,h);if(d.routeConfiguration===og.notFoundRouteConfiguration&&Ai.runtimeExtensions.value?.notFoundHandler!==void 0){let S=this.#r.lookupByPathOnly(l);_.pathOnlyMatches=S.map(T=>T.routeConfiguration).filter(T=>T instanceof cg.UserRouteConfiguration)}try{if(SP.SystemLogMap.addLogger(g,c),Od.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,lg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let U=await(0,Ai.invokeOnRequestExtensions)(h,g);if(U instanceof Response)return U;{let K=Bs.ZuploContextExtensions.getContextExtensions(g);h=U,K.latestRequest=h}}(0,lg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;PP(S,d,t),Tt("Gateway.handleRequest - call user handler");let T=await S(h,g);if(Tt("Gateway.handleRequest - user handler"),!(T instanceof Response))throw new It.RuntimeError(`Invalid Response type from the request handler: ${typeof T}`);if(T.bodyUsed)throw new It.RuntimeError("The response object has already been used. Return a new response instead.");if(T.headers.get(Ft.REQUEST_ID_HEADER)===null&&!T.webSocket){let U=new Headers(T.headers);return U.set(Ft.REQUEST_ID_HEADER,n),new Response(T.body,{status:T.status,statusText:T.statusText,headers:U,cf:T.cf})}else return T}catch(S){return Tt("Gateway - error executing handler",S),S instanceof It.RuntimeError?(a.error(S),c.warn(S)):c.error(S),await this.#o(h,g,S)}}};Ks.Gateway=Nd;function PP(e,t,r){if(Tt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new It.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new It.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}s(PP,"checkHandler")});var dg=y(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.invokeInboundPolicy=void 0;var AP=O(),RP=Rr(),OP=en(),NP=s(async(e,t,r)=>{let n=RP.Gateway.instance.routeData.policies,i=(0,OP.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new AP.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let o=i[0];return o.handler(t,r,o.options,e)},"invokeInboundPolicy");Js.invokeInboundPolicy=NP});var Or=y(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Ir(),CP=O(),xP=dg(),Cd=class{static{s(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(_e.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=Cd;var xd=class extends Event{static{s(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=xd;var Ld=class extends Event{static{s(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=Ld;var Ri=class e{static{s(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new CP.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let o of this.#r)i=await o(t,r,n);return i}};Xe.ZuploContextExtensions=Ri;var Dd=class extends EventTarget{static{s(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:o,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=o,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,xP.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Ri.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Ri.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(t,r,n){let i=s(o=>{try{typeof r=="function"?r(o):r.handleEvent(o)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=Dd});var Ws=y(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.ContextData=void 0;var Ud=class e{static{s(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n),e.#e.set(t,i)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};zs.ContextData=Ud});var vn=y(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.environment=pr.isZuploReadableEnvVariableName=pr.isRestrictedEnvVariableName=void 0;var LP=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function pg(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!LP.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}s(pg,"isRestrictedEnvVariableName");pr.isRestrictedEnvVariableName=pg;function hg(e){return!!e.startsWith("ZUPLO_")}s(hg,"isZuploReadableEnvVariableName");pr.isZuploReadableEnvVariableName=hg;var DP=new Proxy({},{get(e,t){if(pg(String(t))&&!hg(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});pr.environment=DP});var kd=y(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.externalServiceHandler=Sn.externalServiceTunnelConfig=void 0;var UP=Ar(),qr=O(),kP=Md(),Oi=W(),ut=(0,UP.debug)("zuplo:runtime:external-service");function mg(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=Oi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}s(mg,"getServiceAuth");async function MP(e){let t=mg();if(!t)throw ut("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw ut("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let o;if(t.customServiceMapping&&t.customServiceMapping[n])o=`https://${t.customServiceMapping[n]}`;else if(Oi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let a=Oi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)o=`https://${await yg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else o=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:o,tunnelHeaders:i}}s(MP,"externalServiceTunnelConfig");Sn.externalServiceTunnelConfig=MP;async function HP(e,t){let r=mg();if(r)if(ut(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,o=t??{},a=new Headers(o.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),o.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(Oi.Environment.instance.useSha256ServiceRouting){ut("Using sha256 service routing");let d=Oi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await yg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw ut("Cannot use sha256 service routing, missing build variables"),new qr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);ut(`Calling external service: ${u.toString()}`);let l=await(0,kP.originalFetch)(u.toString(),o);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new qr.RuntimeError("Could not connect to secure tunnel.");return l}else throw ut("Cannot call external service with Request object"),new qr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw ut("There is no external service auth configured for this zup."),new qr.RuntimeError("There are no external services configured for this zup.")}s(HP,"externalServiceHandler");Sn.externalServiceHandler=HP;async function yg(e,t,r,n){let i=e.toLowerCase(),o=t.toLowerCase(),a=r.toLowerCase(),c=FP(n);ut(`Hashing service name: ${o}-${i}.${o}-${a}-${c}`);let u=await fg(`${o}-${i}`),l=await fg(`${o}-${a}-${c}`);return`${u}.${l}`}s(yg,"hashServiceName");async function fg(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("").slice(0,-1)}s(fg,"hashSegment");function FP(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}s(FP,"sanitizeEnvironmentType")});var Md=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.originalFetch=void 0;var qP=kd(),gg=new Map;gg.set("service:",qP.externalServiceHandler);Tn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=$P(t);if(typeof e=="string"){let n=new URL(e),i=gg.get(n.protocol);return i?i(e,r):(0,Tn.originalFetch)(e,r)}else return(0,Tn.originalFetch)(e,r)};var $P=s(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var Eg=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.Handler=In.purgeGatewayCache=void 0;var jP=O(),_g=Rr(),bg=W(),VP=s(()=>{_g.Gateway.purgeGatewayCache()},"purgeGatewayCache");In.purgeGatewayCache=VP;var Hd=class{static{s(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,o,a,c){this.routeLoader=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=o,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{bg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await _g.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let o="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof jP.ConfigurationError&&(o=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:o,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:bg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};In.Handler=Hd});var Tg=y(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function GP(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[o++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=o;continue}if(n==="("){var c=1,u="",o=r+1;if(e[o]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(o));for(;o<e.length;){if(e[o]==="\\"){u+=e[o++]+e[o++];continue}if(e[o]===")"){if(c--,c===0){o++;break}}else if(e[o]==="("&&(c++,e[o+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(o));u+=e[o++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}s(GP,"lexer");function Fd(e,t){t===void 0&&(t={});for(var r=GP(e),n=t.prefixes,i=n===void 0?"./":n,o="[^".concat(Pn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=s(function(ie){if(u<r.length&&r[u].type===ie)return r[u++].value},"tryConsume"),p=s(function(ie){var me=d(ie);if(me!==void 0)return me;var Be=r[u],w=Be.type,H=Be.index;throw new TypeError("Unexpected ".concat(w," at ").concat(H,", expected ").concat(ie))},"mustConsume"),m=s(function(){for(var ie="",me;me=d("CHAR")||d("ESCAPED_CHAR");)ie+=me;return ie},"consumeText");u<r.length;){var h=d("CHAR"),g=d("NAME"),_=d("PATTERN");if(g||_){var S=h||"";i.indexOf(S)===-1&&(l+=S,S=""),l&&(a.push(l),l=""),a.push({name:g||c++,prefix:S,suffix:"",pattern:_||o,modifier:d("MODIFIER")||""});continue}var T=h||d("ESCAPED_CHAR");if(T){l+=T;continue}l&&(a.push(l),l="");var U=d("OPEN");if(U){var S=m(),K=d("NAME")||"",L=d("PATTERN")||"",ne=m();p("CLOSE"),a.push({name:K||(L?c++:""),pattern:K&&!L?o:L,prefix:S,suffix:ne,modifier:d("MODIFIER")||""});continue}p("END")}return a}s(Fd,"parse");Re.parse=Fd;function BP(e,t){return wg(Fd(e,t),t)}s(BP,"compile");Re.compile=BP;function wg(e,t){t===void 0&&(t={});var r=qd(t),n=t.encode,i=n===void 0?function(u){return u}:n,o=t.validate,a=o===void 0?!0:o,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",g=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!g)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var _=0;_<m.length;_++){var S=i(m[_],p);if(a&&!c[d].test(S))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var S=i(String(m),p);if(a&&!c[d].test(S))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(S,'"'));l+=p.prefix+S+p.suffix;continue}if(!h){var T=g?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(T))}}return l}}s(wg,"tokensToFunction");Re.tokensToFunction=wg;function KP(e,t){var r=[],n=$d(e,r,t);return vg(n,r,t)}s(KP,"match");Re.match=KP;function vg(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(o){return o}:n;return function(o){var a=e.exec(o);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=s(function(m){if(a[m]===void 0)return"continue";var h=t[m-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[m].split(h.prefix+h.suffix).map(function(g){return i(g,h)}):l[h.name]=i(a[m],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}s(vg,"regexpToFunction");Re.regexpToFunction=vg;function Pn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}s(Pn,"escapeString");function qd(e){return e&&e.sensitive?"":"i"}s(qd,"flags");function JP(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}s(JP,"regexpToRegexp");function zP(e,t,r){var n=e.map(function(i){return $d(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),qd(r))}s(zP,"arrayToRegexp");function WP(e,t,r){return Sg(Fd(e,r),t,r)}s(WP,"stringToRegexp");function Sg(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,o=r.start,a=o===void 0?!0:o,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(H){return H}:l,p=r.delimiter,m=p===void 0?"/#?":p,h=r.endsWith,g=h===void 0?"":h,_="[".concat(Pn(g),"]|$"),S="[".concat(Pn(m),"]"),T=a?"^":"",U=0,K=e;U<K.length;U++){var L=K[U];if(typeof L=="string")T+=Pn(d(L));else{var ne=Pn(d(L.prefix)),ie=Pn(d(L.suffix));if(L.pattern)if(t&&t.push(L),ne||ie)if(L.modifier==="+"||L.modifier==="*"){var me=L.modifier==="*"?"?":"";T+="(?:".concat(ne,"((?:").concat(L.pattern,")(?:").concat(ie).concat(ne,"(?:").concat(L.pattern,"))*)").concat(ie,")").concat(me)}else T+="(?:".concat(ne,"(").concat(L.pattern,")").concat(ie,")").concat(L.modifier);else L.modifier==="+"||L.modifier==="*"?T+="((?:".concat(L.pattern,")").concat(L.modifier,")"):T+="(".concat(L.pattern,")").concat(L.modifier);else T+="(?:".concat(ne).concat(ie,")").concat(L.modifier)}}if(u)i||(T+="".concat(S,"?")),T+=r.endsWith?"(?=".concat(_,")"):"$";else{var Be=e[e.length-1],w=typeof Be=="string"?S.indexOf(Be[Be.length-1])>-1:Be===void 0;i||(T+="(?:".concat(S,"(?=").concat(_,"))?")),w||(T+="(?=".concat(S,"|").concat(_,")"))}return new RegExp(T,qd(r))}s(Sg,"tokensToRegexp");Re.tokensToRegexp=Sg;function $d(e,t,r){return e instanceof RegExp?JP(e,t):Array.isArray(e)?zP(e,t,r):WP(e,t,r)}s($d,"pathToRegexp");Re.pathToRegexp=$d});var Bd=y(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.AwsV4Signer=An.AwsClient=void 0;var QP=Ar(),Rg=O(),YP=(0,QP.debug)("zuplo:runtime"),Vd=new TextEncoder,Ig={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},ZP=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Gd=class{static{s(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:o,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=o,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Qs(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){YP("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:o}=await this.sign(t,r),a=fetch(i,o);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Rg.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};An.AwsClient=Gd;var Qs=class{static{s(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:o,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:h,allHeaders:g,singleEncode:_}){if(r==null)throw new TypeError("url is a required option");if(o==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=o,this.secretAccessKey=a,this.sessionToken=c;let S,T;(!u||!l)&&([S,T]=XP(this.url,this.headers)),this.service=u||S||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let U=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),U.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&U.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(L=>g||!ZP.includes(L)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(L=>L+":"+(L==="host"?this.url.host:(this.headers.get(L)||"").replace(/\s+/g," "))).join(`
60
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!U.has("X-Amz-Expires")&&U.set("X-Amz-Expires","86400"),U.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),U.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),U.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Ag(this.encodedPath);let K=new Set;this.encodedSearch=[...this.url.searchParams].filter(([L])=>{if(!L)return!1;if(this.service==="s3"){if(K.has(L))return!1;K.add(L)}return!0}).map(L=>L.map(ne=>Ag(encodeURIComponent(ne)))).sort(([L,ne],[ie,me])=>L<ie?-1:L>ie?1:ne<me?-1:ne>me?1:0).map(L=>L.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await Ni("AWS4"+this.secretAccessKey,t),o=await Ni(i,this.region),a=await Ni(o,this.service);n=await Ni(a,"aws4_request"),this.cache.set(r,n)}return jd(await Ni(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,jd(await Pg(await this.canonicalString()))].join(`
61
61
  `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
62
62
  `,this.signedHeaders,await this.hexBodyHash()].join(`
63
- `)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new vg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=jd(await Eg(this.body||""))}return t}};Pn.AwsV4Signer=Qs;async function Ni(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Vd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Vd.encode(t))}o(Ni,"hmac");async function Eg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Vd.encode(e):e)}o(Eg,"hash");function jd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(jd,"buf2hex");function wg(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(wg,"encodeRfc3986");function XP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in _g?[_g[s],a]:[s,a]}o(XP,"guessServiceRegion")});var Sg=y(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function eA(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(eA,"b64ToUint6");function tA(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=eA(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(tA,"base64Decode");Pt.base64Decode=tA;function Ys(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(Ys,"uint6ToB64");function rA(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(Ys(i>>>18&63),Ys(i>>>12&63),Ys(i>>>6&63),Ys(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(rA,"base64Encode");Pt.base64Encode=rA;function nA(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(nA,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=nA;function iA(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(iA,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=iA});var Tg=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.toCLFDate=void 0;function An(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(An,"numberToString");function oA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=An(Math.floor(r/60)),s=An(r%60);return`${n}${i}${s}`}o(oA,"getCLFOffset");function sA(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=An(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=An(e.getHours()),a=An(e.getMinutes()),c=An(e.getSeconds()),u=oA(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(sA,"toCLFDate");Zs.toCLFDate=sA});var xg=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var aA=Pr(),Ig=bg(),xi=O(),cA=Dt(),uA=Bd(),Ag=Sg(),Rg=Tg(),Pg=(0,aA.debug)("zuplo:runtime"),lA="X-Amzn-Trace-Id",dA="x-amzn-errortype",Og=[],pA=o(async(e,t,r)=>{let n=r;for await(let i of Og)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends xi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(lA)??void 0,this.errorType=r.get(dA)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Og.push(e)}};async function hA(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new xi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new xi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new xi.ConfigurationError("region is not set in the handler options");if(!s)throw new xi.ConfigurationError("functionName is not set in the handler options");let l=new uA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Pg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await yA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=mA(e,t):g=await fA(e,t,{useAwsResourcePathStyle:c}),Pg("Calling onSendingAwsLambdaEvent hook");let _=await pA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return Ng(S)}catch(T){if(T instanceof Ke){let U=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return cA.HttpProblems.internalServerError(e,t,void 0,U)}throw T}}o(hA,"awsLambdaHandler");hr.awsLambdaHandler=hA;async function Ng(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Ag.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(Ng,"getResponse");hr.getResponse=Ng;async function fA(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,Rg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:bA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(fA,"buildEventVersion1");function mA(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,Rg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(mA,"buildEventVersion2");async function yA(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&gA(t,i)){let s=await e.arrayBuffer();r=(0,Ag.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(yA,"getBodyResult");function gA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(gA,"matchesContentType");function bA(e,t=!1){if(!t)return e;let r=(0,Ig.parse)(e),n=(0,Ig.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(bA,"getResourcePath")});var On=y(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.getHandlerUserLogFunction=Rn.logBadGatewayResponses=void 0;var _A=He(),EA=W(),wA=[502,503,504];async function vA(e,t){if(wA.includes(e.status)){let r=_A.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(vA,"logBadGatewayResponses");Rn.logBadGatewayResponses=vA;var Kd;function SA(e){if(Kd===void 0){let r=EA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Kd=r}return e.log[Kd]}o(SA,"getHandlerUserLogFunction");Rn.getHandlerUserLogFunction=SA});var Lg=y(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.openApiSpecHandler=void 0;var Cg=O(),TA=te(),Jd=W(),IA=On();async function PA(e,t){let r=Jd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Jd.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Cg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=AA(s);if(!a.isValid)throw new Cg.ConfigurationError(a.error);let c;Jd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return TA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,IA.logBadGatewayResponses)(l,t),l}o(PA,"openApiSpecHandler");Xs.openApiSpecHandler=PA;var AA=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var Dg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.redirectHandler=void 0;var RA=O();async function OA(e,t){let r=t.route.handler.options;if(!r.location)throw new RA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(OA,"redirectHandler");ea.redirectHandler=OA});var kg=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.urlForwardHandler=void 0;var NA=O(),Ug=On();function xA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(xA,"join");async function CA(e,t){let r=(0,Ug.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new NA.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=xA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,Ug.logBadGatewayResponses)(p,t),p}o(CA,"urlForwardHandler");ta.urlForwardHandler=CA});var Hg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.urlRewriteHandler=void 0;var LA=O(),Mg=On(),DA=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function UA(e,t){let r=(0,Mg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new LA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?DA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,Mg.logBadGatewayResponses)(d,t),d}o(UA,"urlRewriteHandler");ra.urlRewriteHandler=UA});var qg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.webSocketHandler=void 0;var Fg=O(),kA=kd(),MA=Dt(),HA=W(),FA=On();async function qA(e,t){let r=HA.Environment.instance,n=t.route.handler.options,i=(0,FA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Fg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return MA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Fg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,kA.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(qA,"webSocketHandler");na.webSocketHandler=qA});var $g=y(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.webSocketPolicyProcessor=Nn.getWebSocketPolicyFunctions=void 0;var $A=O(),jA=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new $A.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Nn.getWebSocketPolicyFunctions=jA;var VA=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Nn.webSocketPolicyProcessor=VA});var Vg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.webSocketPipelineHandler=void 0;var zd=O(),GA=Dt(),BA=W(),KA=On(),Wd=$g();function jg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{let c=o(async u=>{let l=await(0,Wd.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(jg,"wireUpListeners");async function JA(e,t){let r=BA.Environment.instance,n=t.route.handler.options,i=(0,KA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new zd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return GA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new zd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new zd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),U=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(U)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,Wd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Wd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return jg(m,g,e,t,_),jg(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}o(JA,"webSocketPipelineHandler");ia.webSocketPipelineHandler=JA});var Gg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.DynaTraceLoggingPlugin=void 0;var zA=ve(),Qd=W(),WA=Dr(),QA=Ut(),YA=_t(),Yd=class extends QA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zd(this.options)}};oa.DynaTraceLoggingPlugin=Yd;var Zd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Qd.Environment.instance.loggingEnvironmentType,this.#i=Qd.Environment.instance.loggingEnvironmentStage,this.#r=Qd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,YA.stringifyNonString)((0,WA.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new zA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Bg=y(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.LokiLoggingPlugin=void 0;var ZA=ve(),Xd=W(),XA=Dr(),eR=Ut(),tR=_t(),ep=class extends eR.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new rp(this.options)}};sa.LokiLoggingPlugin=ep;var tp=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function rR(e,t){return btoa(`${e}:${t}`)}o(rR,"createBasicDigest");var rp=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=rR(t.username,t.password),this.#n=Xd.Environment.instance.loggingEnvironmentType,this.#i=Xd.Environment.instance.loggingEnvironmentStage,this.#r=Xd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new tp(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,tR.stringifyNonString)((0,XA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new ZA.BatchDispatch("loki-log-transport",10,this.#s)}});var Kg=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.SumoLogicLoggingPlugin=void 0;var nR=ve(),np=W(),iR=Dr(),oR=Ut(),sR=_t(),ip=class extends oR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new op(this.options)}};aa.SumoLogicLoggingPlugin=ip;var op=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=np.Environment.instance.loggingEnvironmentType,this.#n=np.Environment.instance.loggingEnvironmentStage,this.#t=np.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,sR.stringifyNonString)((0,iR.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
64
- `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new nR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var zg=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.VMWareLogInsightTransport=xn.VMWareLogInsightLoggingPlugin=void 0;var aR=O(),cR=ve(),sp=W(),uR=Ut(),Jg=_t(),lR="d3a5b78f-8236-48f5-b1df-4fe269d41172",ap=class extends uR.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ca(this.options)}};xn.VMWareLogInsightLoggingPlugin=ap;var ca=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new aR.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=sp.Environment.instance.loggingEnvironmentType,this.#n=sp.Environment.instance.loggingEnvironmentStage,this.#t=sp.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Jg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Jg.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${lR}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new cR.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};xn.VMWareLogInsightTransport=ca});var Qg=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.AWSLogTransport=Cn.AWSLoggingPlugin=void 0;var dR=Bd(),pR=ve(),Wg=W(),hR=Dr(),fR=Ut(),mR=_t(),cp=class extends fR.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ua(this.options)}};Cn.AWSLoggingPlugin=cp;var ua=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new pR.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new dR.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Wg.Environment.instance.loggingEnvironmentType,this.environment=Wg.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,mR.stringifyNonString)((0,hR.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Cn.AWSLogTransport=ua});var Yg=y(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var yR=bd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return yR.DataDogLoggingPlugin}});var gR=Gg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return gR.DynaTraceLoggingPlugin}});var bR=Ls();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return bR.GoogleCloudLoggingPlugin}});var _R=Bg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return _R.LokiLoggingPlugin}});var ER=Kg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return ER.SumoLogicLoggingPlugin}});var wR=zg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return wR.VMWareLogInsightLoggingPlugin}});var vR=Qg();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return vR.AWSLoggingPlugin}})});var Zg=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var SR=He(),TR=ve(),IR=No(),up=new WeakMap,PR={tags:[]},lp=class extends IR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new la(this.options)}static setContext(t,r){let n=up.get(t);n||(n=PR);let i=Object.assign({...n},r);up.set(t,i)}};fr.DataDogMetricsPlugin=lp;var la=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new TR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,SR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(up.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new da(await n.text())}};fr.DataDogMetricsTransport=la;var da=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=da});var Xg=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var AR=He(),RR=ve(),OR=No(),dp=new WeakMap,NR={dimensions:[]},pp=class extends OR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new pa(this.options)}static setContext(t,r){let n=dp.get(t);n||(n=NR);let i=Object.assign({...n},r);dp.set(t,i)}};mr.DynatraceMetricsPlugin=pp;var pa=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new RR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,AR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(dp.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
65
- `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new ha(await n.text())}};mr.DynaTraceMetricsTransport=pa;var ha=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ha});var eb=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.DynatraceMetricsPlugin=Ln.DataDogMetricsPlugin=void 0;var xR=Zg();Object.defineProperty(Ln,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return xR.DataDogMetricsPlugin}});var CR=Xg();Object.defineProperty(Ln,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return CR.DynatraceMetricsPlugin}})});var tb=y(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.AuditLogDataStaxProvider=void 0;var hp=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};fa.AuditLogDataStaxProvider=hp});var nb=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.AuditLogPlugin=void 0;var LR=yt(),DR=ve(),fp=class extends LR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new mp(t,this.#e,this.#t)}};ma.AuditLogPlugin=fp;var rb=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),UR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},mp=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...UR};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new DR.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?rb(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?rb(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var ib=y(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.StripeSignatureVerificationError=Dn.StripeError=void 0;var ya=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Dn.StripeError=ya;var yp=class extends ya{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Dn.StripeSignatureVerificationError=yp});var sb=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.computeHMACSignatureAsync=Un.constructEventAsync=void 0;var qr=ib(),kR="v1",MR=300;async function HR(e,t,r,n=MR,i){return await qR(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}o(HR,"constructEventAsync");Un.constructEventAsync=HR;function FR(e,t){return`${t.timestamp}.${e}`}o(FR,"makeHMACContent");async function qR(e,t,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=$R(e,t,kR),l=/\s/.test(r),d=await ob(FR(a,c),r);return jR(a,s,c,d,n,u,l,i)}o(qR,"verifyHeaderAsync");function $R(e,t,r){if(!e)throw new qr.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),s=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new qr.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=VR(a,r);if(!c||c.timestamp===-1)throw new qr.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new qr.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o($R,"parseEventDetails");function jR(e,t,r,n,i,s,a,c){let u=!!r.signatures.filter(m=>GR(m,n)).length,l=`
63
+ `)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Rg.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=jd(await Pg(this.body||""))}return t}};An.AwsV4Signer=Qs;async function Ni(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?Vd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Vd.encode(t))}s(Ni,"hmac");async function Pg(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?Vd.encode(e):e)}s(Pg,"hash");function jd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}s(jd,"buf2hex");function Ag(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}s(Ag,"encodeRfc3986");function XP(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[o,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",o="s3";else if(o==="iot")r.startsWith("iot.")?o="execute-api":r.startsWith("data.jobs.iot.")?o="iot-jobs-data":o=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?o="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(o="autoscaling-plans")}else a==null&&o.startsWith("s3-")?(a=o.slice(3).replace(/^fips-|^external-1/,""),o="s3"):o.endsWith("-fips")?o=o.slice(0,-5):a&&/-\d$/.test(o)&&!/-\d$/.test(a)&&([o,a]=[a,o]);return o in Ig?[Ig[o],a]:[o,a]}s(XP,"guessServiceRegion")});var Og=y(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.convertStringToUtf8Array=Pt.convertUtf8ArrayToString=Pt.base64Encode=Pt.base64Decode=void 0;function eA(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}s(eA,"b64ToUint6");function tA(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,o=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=eA(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)o[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return o}s(tA,"base64Decode");Pt.base64Decode=tA;function Ys(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}s(Ys,"uint6ToB64");function rA(e){let t=2,r="",n=e.length,i=0;for(let o=0;o<n;o++)t=o%3,i|=e[o]<<(16>>>t&24),(t===2||e.length-o===1)&&(r+=String.fromCodePoint(Ys(i>>>18&63),Ys(i>>>12&63),Ys(i>>>6&63),Ys(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}s(rA,"base64Encode");Pt.base64Encode=rA;function nA(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}s(nA,"convertUtf8ArrayToString");Pt.convertUtf8ArrayToString=nA;function iA(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),o=0,a=0;for(;o<n;)t=e.codePointAt(a),t<128?i[o++]=t:t<2048?(i[o++]=192+(t>>>6),i[o++]=128+(t&63)):t<65536?(i[o++]=224+(t>>>12),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63)):t<2097152?(i[o++]=240+(t>>>18),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):t<67108864?(i[o++]=248+(t>>>24),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++):(i[o++]=252+(t>>>30),i[o++]=128+(t>>>24&63),i[o++]=128+(t>>>18&63),i[o++]=128+(t>>>12&63),i[o++]=128+(t>>>6&63),i[o++]=128+(t&63),a++),a++;return i}s(iA,"convertStringToUtf8Array");Pt.convertStringToUtf8Array=iA});var Ng=y(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.toCLFDate=void 0;function Rn(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}s(Rn,"numberToString");function oA(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=Rn(Math.floor(r/60)),o=Rn(r%60);return`${n}${i}${o}`}s(oA,"getCLFOffset");function sA(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=Rn(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),o=Rn(e.getHours()),a=Rn(e.getMinutes()),c=Rn(e.getSeconds()),u=oA(e);return`${r}/${n}/${i}:${o}:${a}:${c} ${u}`}s(sA,"toCLFDate");Zs.toCLFDate=sA});var Mg=y(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.getResponse=hr.awsLambdaHandler=hr.AwsLambdaHandlerExtensions=void 0;var aA=Ar(),Cg=Tg(),Ci=O(),cA=Dt(),uA=Bd(),Lg=Og(),Dg=Ng(),xg=(0,aA.debug)("zuplo:runtime"),lA="X-Amzn-Trace-Id",dA="x-amzn-errortype",Ug=[],pA=s(async(e,t,r)=>{let n=r;for await(let i of Ug)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends Ci.RuntimeError{static{s(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(lA)??void 0,this.errorType=r.get(dA)??void 0}};hr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{Ug.push(e)}};async function hA(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:o,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new Ci.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new Ci.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new Ci.ConfigurationError("region is not set in the handler options");if(!o)throw new Ci.ConfigurationError("functionName is not set in the handler options");let l=new uA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${o}/invocations`;if(xg(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,m]=await yA(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,g;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?g=mA(e,t):g=await fA(e,t,{useAwsResourcePathStyle:c}),xg("Calling onSendingAwsLambdaEvent hook");let _=await pA(e,t,g);_.body=p,_.isBase64Encoded=m;let S=await l.fetch(d,{body:JSON.stringify(_)});try{return kg(S)}catch(T){if(T instanceof Ke){let U=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&T.traceId?{AMZN_TRACE_ID_HEADER:T.traceId}:void 0;return cA.HttpProblems.internalServerError(e,t,void 0,U)}throw T}}s(hA,"awsLambdaHandler");hr.awsLambdaHandler=hA;async function kg(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,o]of Object.entries(t.headers))r.set(i,o)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Lg.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}s(kg,"getResponse");hr.getResponse=kg;async function fA(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let o=e.query,a={};for(let[l,d]of Object.entries(o))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:o,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,Dg.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:bA(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}s(fA,"buildEventVersion1");function mA(e,t){let r={};e.headers.forEach((o,a)=>{r[a]=o});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,Dg.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}s(mA,"buildEventVersion2");async function yA(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&gA(t,i)){let o=await e.arrayBuffer();r=(0,Lg.base64Encode)(new Uint8Array(o)),n=!0}else r=await e.clone().text();return[r,n]}s(yA,"getBodyResult");function gA(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}s(gA,"matchesContentType");function bA(e,t=!1){if(!t)return e;let r=(0,Cg.parse)(e),n=(0,Cg.compile)(e),i={};return r.forEach(o=>{typeof o=="string"?i[o]=`{${o}}`:i[o.name]=`{${o.name}}`}),n(i)}s(bA,"getResourcePath")});var Nn=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.getHandlerUserLogFunction=On.logBadGatewayResponses=void 0;var _A=He(),EA=W(),wA=[502,503,504];async function vA(e,t){if(wA.includes(e.status)){let r=_A.SystemLogMap.getLogger(t),i=await e.clone().text(),o={};for(let[a,c]of e.headers)o[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:o})}}s(vA,"logBadGatewayResponses");On.logBadGatewayResponses=vA;var Kd;function SA(e){if(Kd===void 0){let r=EA.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Kd=r}return e.log[Kd]}s(SA,"getHandlerUserLogFunction");On.getHandlerUserLogFunction=SA});var Fg=y(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.openApiSpecHandler=void 0;var Hg=O(),TA=te(),Jd=W(),IA=Nn();async function PA(e,t){let r=Jd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Jd.Environment.instance,i=t.route.handler.options,{openApiFilePath:o}=i;if(!o)throw new Hg.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=AA(o);if(!a.isValid)throw new Hg.ConfigurationError(a.error);let c;Jd.Environment.instance.isLocalDevelopment?c=`${n}/${o.substring(1)}`:c=`${n}/${r}${o.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return TA.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,IA.logBadGatewayResponses)(l,t),l}s(PA,"openApiSpecHandler");Xs.openApiSpecHandler=PA;var AA=s(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var qg=y(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.redirectHandler=void 0;var RA=O();async function OA(e,t){let r=t.route.handler.options;if(!r.location)throw new RA.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}s(OA,"redirectHandler");ea.redirectHandler=OA});var jg=y(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.urlForwardHandler=void 0;var NA=O(),$g=Nn();function CA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}s(CA,"join");async function xA(e,t){let r=(0,$g.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new NA.ConfigurationError("Invalid options for this route");let o={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,o),u=CA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,$g.logBadGatewayResponses)(p,t),p}s(xA,"urlForwardHandler");ta.urlForwardHandler=xA});var Gg=y(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.urlRewriteHandler=void 0;var LA=O(),Vg=Nn(),DA=s((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,o]of n.searchParams.entries())r.searchParams.append(i,o);return r.toString()},"addQuery");async function UA(e,t){let r=(0,Vg.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,o=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new LA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?DA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:o?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,Vg.logBadGatewayResponses)(d,t),d}s(UA,"urlRewriteHandler");ra.urlRewriteHandler=UA});var Kg=y(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.webSocketHandler=void 0;var Bg=O(),kA=kd(),MA=Dt(),HA=W(),FA=Nn();async function qA(e,t){let r=HA.Environment.instance,n=t.route.handler.options,i=(0,FA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Bg.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return MA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Bg.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,kA.externalServiceTunnelConfig)(c),g=new URL(c);c=new URL(`${h.serviceBaseUrl}${g.pathname}${g.search}`).toString();for(let S in h.tunnelHeaders)p.set(S,h.tunnelHeaders[S])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}s(qA,"webSocketHandler");na.webSocketHandler=qA});var Jg=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.webSocketPolicyProcessor=Cn.getWebSocketPolicyFunctions=void 0;var $A=O(),jA=s((e,t)=>e.map((n,i)=>{let o;if(typeof n.module=="object"&&(o=n.module[n.export]),!o||typeof o!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new $A.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return o}),"getWebSocketPolicyFunctions");Cn.getWebSocketPolicyFunctions=jA;var VA=s(async(e,t,r,n,i,o)=>{let a=e.data;if(o&&o.length>0){let c=[...o];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");Cn.webSocketPolicyProcessor=VA});var Wg=y(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.webSocketPipelineHandler=void 0;var zd=O(),GA=Dt(),BA=W(),KA=Nn(),Wd=Jg();function zg(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",o=>{n.log.error("WebSocket error: ",o),t.send(JSON.stringify(o))}),e.addEventListener("message",o=>{try{let c=s(async u=>{let l=await(0,Wd.webSocketPolicyProcessor)(u,e,t,r,n,i);l!==void 0&&t.send(l)},"innerPipeline")(o).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}s(zg,"wireUpListeners");async function JA(e,t){let r=BA.Environment.instance,n=t.route.handler.options,i=(0,KA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new zd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let o=e.headers.get("Upgrade");if(!o||o!=="websocket")return GA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new zd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new zd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let T=await l.text(),U=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${T}'`;throw new Error(U)}let d=new WebSocketPair,[p,m]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let g=l.webSocket;g.accept(),m.accept();let _=n.policies&&n.policies.inbound?(0,Wd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],S=n.policies&&n.policies.outbound?(0,Wd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return zg(m,g,e,t,_),zg(g,m,e,t,S),new Response(null,{status:101,webSocket:p})}s(JA,"webSocketPipelineHandler");ia.webSocketPipelineHandler=JA});var Qg=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.DynaTraceLoggingPlugin=void 0;var zA=ve(),Qd=W(),WA=Ur(),QA=Ut(),YA=_t(),Yd=class extends QA.LogPlugin{static{s(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Zd(this.options)}};oa.DynaTraceLoggingPlugin=Yd;var Zd=class{static{s(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Qd.Environment.instance.loggingEnvironmentType,this.#i=Qd.Environment.instance.loggingEnvironmentStage,this.#r=Qd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,YA.stringifyNonString)((0,WA.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new zA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Yg=y(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.LokiLoggingPlugin=void 0;var ZA=ve(),Xd=W(),XA=Ur(),eR=Ut(),tR=_t(),ep=class extends eR.LogPlugin{static{s(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new rp(this.options)}};sa.LokiLoggingPlugin=ep;var tp=class{static{s(this,"LokiStream")}constructor(t,r,n,i,o){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=o}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function rR(e,t){return btoa(`${e}:${t}`)}s(rR,"createBasicDigest");var rp=class{static{s(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=rR(t.username,t.password),this.#n=Xd.Environment.instance.loggingEnvironmentType,this.#i=Xd.Environment.instance.loggingEnvironmentStage,this.#r=Xd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(t,r){let n=new tp(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let o={stream:n,message:(0,tR.stringifyNonString)((0,XA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(o)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(o=>o.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new ZA.BatchDispatch("loki-log-transport",10,this.#s)}});var Zg=y(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.SumoLogicLoggingPlugin=void 0;var nR=ve(),np=W(),iR=Ur(),oR=Ut(),sR=_t(),ip=class extends oR.LogPlugin{static{s(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new op(this.options)}};aa.SumoLogicLoggingPlugin=ip;var op=class{static{s(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=np.Environment.instance.loggingEnvironmentType,this.#n=np.Environment.instance.loggingEnvironmentStage,this.#t=np.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,sR.stringifyNonString)((0,iR.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
64
+ `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new nR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var eb=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.VMWareLogInsightTransport=xn.VMWareLogInsightLoggingPlugin=void 0;var aR=O(),cR=ve(),sp=W(),uR=Ut(),Xg=_t(),lR="d3a5b78f-8236-48f5-b1df-4fe269d41172",ap=class extends uR.LogPlugin{static{s(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ca(this.options)}};xn.VMWareLogInsightLoggingPlugin=ap;var ca=class{static{s(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new aR.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=sp.Environment.instance.loggingEnvironmentType,this.#n=sp.Environment.instance.loggingEnvironmentStage,this.#t=sp.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,Xg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([o,a])=>{let c=(0,Xg.stringifyNonStringToText)(a);c&&i.fields.push({name:o,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${lR}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new cR.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};xn.VMWareLogInsightTransport=ca});var rb=y(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.AWSLogTransport=Ln.AWSLoggingPlugin=void 0;var dR=Bd(),pR=ve(),tb=W(),hR=Ur(),fR=Ut(),mR=_t(),cp=class extends fR.LogPlugin{static{s(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new ua(this.options)}};Ln.AWSLoggingPlugin=cp;var ua=class{static{s(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new pR.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:o}){this.awsClient=new dR.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:o}),this.logGroupName=n,this.logStreamName=r,this.region=o,this.environmentType=tb.Environment.instance.loggingEnvironmentType,this.environment=tb.Environment.instance.deploymentName}log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,mR.stringifyNonString)((0,hR.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Ln.AWSLogTransport=ua});var nb=y(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var yR=bd();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return yR.DataDogLoggingPlugin}});var gR=Qg();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return gR.DynaTraceLoggingPlugin}});var bR=Ls();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return bR.GoogleCloudLoggingPlugin}});var _R=Yg();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return _R.LokiLoggingPlugin}});var ER=Zg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return ER.SumoLogicLoggingPlugin}});var wR=eb();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return wR.VMWareLogInsightLoggingPlugin}});var vR=rb();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return vR.AWSLoggingPlugin}})});var ib=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.DataDogMetricsError=fr.DataDogMetricsTransport=fr.DataDogMetricsPlugin=void 0;var SR=He(),TR=ve(),IR=No(),up=new WeakMap,PR={tags:[]},lp=class extends IR.MetricsPlugin{static{s(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new la(this.options)}static setContext(t,r){let n=up.get(t);n||(n=PR);let i=Object.assign({...n},r);up.set(t,i)}};fr.DataDogMetricsPlugin=lp;var la=class{static{s(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new TR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,SR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(up.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let o=t.systemRouteName||t.routePath;i.push(`path:${o}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new da(await n.text())}};fr.DataDogMetricsTransport=la;var da=class e extends Error{static{s(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};fr.DataDogMetricsError=da});var ob=y(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.DynaTraceMetricsError=mr.DynaTraceMetricsTransport=mr.DynatraceMetricsPlugin=void 0;var AR=He(),RR=ve(),OR=No(),dp=new WeakMap,NR={dimensions:[]},pp=class extends OR.MetricsPlugin{static{s(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new pa(this.options)}static setContext(t,r){let n=dp.get(t);n||(n=NR);let i=Object.assign({...n},r);dp.set(t,i)}};mr.DynatraceMetricsPlugin=pp;var pa=class{static{s(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new RR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,AR.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(dp.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let o=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${o} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${o} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${o} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
65
+ `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new ha(await n.text())}};mr.DynaTraceMetricsTransport=pa;var ha=class e extends Error{static{s(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};mr.DynaTraceMetricsError=ha});var sb=y(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.DynatraceMetricsPlugin=Dn.DataDogMetricsPlugin=void 0;var CR=ib();Object.defineProperty(Dn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return CR.DataDogMetricsPlugin}});var xR=ob();Object.defineProperty(Dn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return xR.DynatraceMetricsPlugin}})});var ab=y(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.AuditLogDataStaxProvider=void 0;var hp=class{static{s(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};fa.AuditLogDataStaxProvider=hp});var ub=y(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.AuditLogPlugin=void 0;var LR=yt(),DR=ve(),fp=class extends LR.SystemRuntimePlugin{static{s(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new mp(t,this.#e,this.#t)}};ma.AuditLogPlugin=fp;var cb=s(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),UR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},mp=class{static{s(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...UR};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new DR.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,o,a)=>{try{let c={timestamp:i,durationMs:o,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?cb(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?cb(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,o=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-o,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var lb=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.StripeSignatureVerificationError=Un.StripeError=void 0;var ya=class extends Error{static{s(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(t={}){super(t.message),this.type=this.constructor.name,this.raw=t,this.rawType=t.type,this.code=t.code,this.doc_url=t.doc_url,this.param=t.param,this.detail=t.detail,this.headers=t.headers,this.requestId=t.requestId,this.statusCode=t.statusCode,this.message=t.message,this.charge=t.charge,this.decline_code=t.decline_code,this.payment_intent=t.payment_intent,this.payment_method=t.payment_method,this.payment_method_type=t.payment_method_type,this.setup_intent=t.setup_intent,this.source=t.source}};Un.StripeError=ya;var yp=class extends ya{static{s(this,"StripeSignatureVerificationError")}header;payload;constructor(t,r,n={}){super(n),this.header=t,this.payload=r}};Un.StripeSignatureVerificationError=yp});var pb=y(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.computeHMACSignatureAsync=kn.constructEventAsync=void 0;var $r=lb(),kR="v1",MR=300;async function HR(e,t,r,n=MR,i){return await qR(e,t,r,n,i),e instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(e)):JSON.parse(e)}s(HR,"constructEventAsync");kn.constructEventAsync=HR;function FR(e,t){return`${t.timestamp}.${e}`}s(FR,"makeHMACContent");async function qR(e,t,r,n,i){let{decodedHeader:o,decodedPayload:a,details:c,suspectPayloadType:u}=$R(e,t,kR),l=/\s/.test(r),d=await db(FR(a,c),r);return jR(a,o,c,d,n,u,l,i)}s(qR,"verifyHeaderAsync");function $R(e,t,r){if(!e)throw new $r.StripeSignatureVerificationError(t,e,{message:"No webhook payload was provided."});let n=typeof e!="string"&&!(e instanceof Uint8Array),i=new TextDecoder("utf8"),o=e instanceof Uint8Array?i.decode(e):e;if(Array.isArray(t))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(t==null||t=="")throw new $r.StripeSignatureVerificationError(t,e,{message:"No stripe-signature header value was provided."});let a=t instanceof Uint8Array?i.decode(t):t,c=VR(a,r);if(!c||c.timestamp===-1)throw new $r.StripeSignatureVerificationError(a,o,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new $r.StripeSignatureVerificationError(a,o,{message:"No signatures found with expected scheme"});return{decodedPayload:o,decodedHeader:a,details:c,suspectPayloadType:n}}s($R,"parseEventDetails");function jR(e,t,r,n,i,o,a,c){let u=!!r.signatures.filter(m=>GR(m,n)).length,l=`
66
66
  Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
67
67
 
68
- Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new qr.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
68
+ Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw o?new $r.StripeSignatureVerificationError(t,e,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
69
69
  Signature verification is impossible without access to the original signed material.
70
70
  `+l+`
71
- `+d}):new qr.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
71
+ `+d}):new $r.StripeSignatureVerificationError(t,e,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
72
72
  If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
73
73
  `+l+`
74
- `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new qr.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}o(jR,"validateComputedSignature");function VR(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(VR,"parseHeader");function GR(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}o(GR,"secureCompare");async function ob(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=gp[s[c]];return a.join("")}o(ob,"computeHMACSignatureAsync");Un.computeHMACSignatureAsync=ob;var gp=new Array(256);for(let e=0;e<gp.length;e++)gp[e]=e.toString(16).padStart(2,"0")});var qt=y(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.optionValidator=void 0;var Ci=O();function BR(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new Ci.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new Ci.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Ci.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new Ci.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new Ci.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(BR,"optionValidator");ga.optionValidator=BR});var bp=y(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.StripeWebhookVerificationInboundPolicy=void 0;var KR=te(),JR=sb(),zR=qt(),WR=o(async(e,t,r,n)=>{(0,zR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let s=await e.clone().text();await(0,JR.constructEventAsync)(s,i,r.signingSecret)}catch(s){return t.log.error("Error validating stripe webhook",s),KR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:s.message})}return e},"StripeWebhookVerificationInboundPolicy");ba.StripeWebhookVerificationInboundPolicy=WR});var cb=y(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.isStripeWebhookEvent=void 0;var ab=gt();function QR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,ab.isString)(e.id)&&"type"in e&&(0,ab.isString)(e.type)}o(QR,"isStripeWebhookEvent");_a.isStripeWebhookEvent=QR});var ub=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.MeteringPlugin=void 0;var YR=yt(),_p=class extends YR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Ea.MeteringPlugin=_p});var db=y(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});var lb=O(),ZR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new lb.RuntimeError(s)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new lb.RuntimeError(s)}return i}};Ep.default=ZR});var gb=y(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.createConsumerInvite=kn.createConsumer=void 0;var pb=O(),hb=He(),fb=W(),mb=gn(),yb="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function XR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=fb.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,yb);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,mb.fetchRetry)({retryDelayMs:5,retries:2,logger:hb.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new pb.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}o(XR,"createConsumer");kn.createConsumer=XR;async function e0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=fb.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,yb);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,mb.fetchRetry)({retryDelayMs:5,retries:2,logger:hb.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw s.log.error(m,p),new pb.RuntimeError(m)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}o(e0,"createConsumerInvite");kn.createConsumerInvite=e0});var wa=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.getSubscription=gr.updateSubscription=gr.createSubscription=void 0;var yr=O(),wp=He(),vp=W(),Sp=gn(),Tp=gt();async function t0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=vp.Environment.instance;if(!(0,Tp.isNonEmptyString)(l))throw new yr.SystemError("No Zuplo JWT token set.");let p=await(0,Sp.fetchRetry)({retryDelayMs:5,retries:2,logger:wp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new yr.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}o(t0,"createSubscription");gr.createSubscription=t0;async function r0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=vp.Environment.instance;if(!(0,Tp.isNonEmptyString)(i))throw new yr.SystemError("No Zuplo JWT token set.");let a=await(0,Sp.fetchRetry)({retryDelayMs:5,retries:2,logger:wp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new yr.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(r0,"updateSubscription");gr.updateSubscription=r0;async function n0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=vp.Environment.instance;if(!(0,Tp.isNonEmptyString)(i))throw new yr.SystemError("No Zuplo JWT token set.");let a=await(0,Sp.fetchRetry)({retryDelayMs:5,retries:2,logger:wp.SystemLogMap.getLogger(e)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new yr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new yr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new yr.RuntimeError(u)}return c.data[0]}o(n0,"getSubscription");gr.getSubscription=n0});var Ip=y(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.stripeStatusToMeteringStatus=void 0;function i0(e){return e.replaceAll("_","-")}o(i0,"stripeStatusToMeteringStatus");va.stripeStatusToMeteringStatus=i0});var _b=y(Li=>{"use strict";var o0=Li&&Li.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Li,"__esModule",{value:!0});var $r=te(),s0=o0(db()),bb=gb(),a0=wa(),c0=Ip();async function u0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),$r.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),$r.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),$r.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,bb.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await s0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),$r.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,bb.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return $r.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,c0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,a0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return $r.HttpProblems.internalServerError(e,t,{detail:l.message})}return $r.HttpProblems.ok(e,t)}o(u0,"onCustomerSubscriptionCreated");Li.default=u0});var wb=y(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});var Pp=te(),Eb=wa();async function l0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Pp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Pp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Eb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Eb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),Pp.HttpProblems.ok(e,t)}o(l0,"onCustomerSubscriptionDeleted");Ap.default=l0});var vb=y(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});var Di=te(),Sa=wa(),d0=Ip();async function p0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Di.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Di.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,Sa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,d0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Sa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Di.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,Sa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Sa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),Di.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Di.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(p0,"onCustomerSubscriptionUpdated");Rp.default=p0});var Tb=y(Mn=>{"use strict";var Np=Mn&&Mn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.StripeMeteringPlugin=void 0;var Ta=wn(),Ia=O(),h0=Lt(),f0=bp(),Sb=te(),m0=Qt(),y0=Xr(),g0=Ju(),b0=ot(),_0=W(),E0=cb(),w0=ub(),v0=Np(_b()),S0=Np(wb()),T0=Np(vb()),Op=class extends w0.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(Ta.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Ta.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ia.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Ta.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Ta.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ia.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!_0.Environment.instance.build.ACCOUNT_NAME)throw new Ia.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!I0(p))throw new Ia.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,E0.isStripeWebhookEvent)(m))return Sb.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,v0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,T0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,S0.default)(c,u,m,{meteringBucketId:l});default:return Sb.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,y0.createInternalPolicyProcessor)({inboundPolicies:[{handler:f0.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),s=new h0.Pipeline({processors:[m0.metricsProcessor,i],handler:n,gateway:r}),a=new b0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:g0.SystemRouteName.StripePlugin});t.addRoute(a,s.execute)}};Mn.StripeMeteringPlugin=Op;function I0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}o(I0,"isMetricsRegion")});var Ob=y(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AmberfloMeteringInboundPolicy=Hn.AmberfloMeteringPolicy=void 0;var Ib=O(),P0=ve(),Pb=xr(),Rb=new WeakMap,Ab={},xp=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Rb.set(t,r)}};Hn.AmberfloMeteringPolicy=xp;async function A0(e,t,r,n){if(!r.statusCodes)throw new Ib.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Pb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=Rb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Ib.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Pb.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Ab[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new P0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Ab[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}o(A0,"AmberfloMeteringInboundPolicy");Hn.AmberfloMeteringInboundPolicy=A0});var Cp=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.sha256=void 0;async function R0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(R0,"sha256");Pa.sha256=R0});var $t=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.getPolicyCacheName=void 0;var O0=Cp(),Nb=new Map;async function N0(e,t){let r,n=Nb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,O0.sha256)(JSON.stringify({policyName:e,options:t}))}`,Nb.set(e,r)),r}o(N0,"getPolicyCacheName");Aa.getPolicyCacheName=N0});var Up=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ApiKeyInboundPolicy=void 0;var x0=$t(),C0=Kt(),xb=wn(),Lp=O(),L0=Dt(),Cb=He(),Dp=W(),D0=gn(),Lb="key-metadata-cache-type";function U0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(U0,"getKeyValue");async function k0(e,t,r,n){if(!r.bucketName)if(xb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=xb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Lp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new Lp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(S=>i.allowUnauthenticatedRequests?e:L0.HttpProblems.unauthorized(e,t,{detail:S}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=U0(a,i);if(!c||c==="")return s("No key present");let u=await M0(c),l=await(0,x0.getPolicyCacheName)(n,i),d=new C0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Lb&&Cb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let m={key:c},h=await(0,D0.fetchRetry)({retryDelayMs:5,retries:2,logger:Cb.SystemLogMap.getLogger(t)},`${Dp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Dp.Environment.instance.deploymentName??"unknown","User-Agent":Dp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new Lp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Lb,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}o(k0,"ApiKeyInboundPolicy");Ra.ApiKeyInboundPolicy=k0;async function M0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(M0,"hashValue")});var Db=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ApiAuthKeyInboundPolicy=void 0;var H0=Up();Oa.ApiAuthKeyInboundPolicy=H0.ApiKeyInboundPolicy});var jt=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.OpenIdJwtInboundPolicy=void 0;var Mp=(Ns(),ao(Os)),Hp=O(),F0=te(),kp={},q0=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Hp.ConfigurationError("Invalid State - jwkUrl not set");kp[t.jwkUrl]||(kp[t.jwkUrl]=(0,Mp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Mp.jwtVerify)(e,kp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),$0=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,Mp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),j0=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(m=>F0.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Hp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Hp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?q0:$0,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");Na.OpenIdJwtInboundPolicy=j0});var Ub=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.Auth0JwtInboundPolicy=void 0;var V0=jt(),G0=o(async(e,t,r,n)=>(0,V0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");xa.Auth0JwtInboundPolicy=G0});var kb=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.BasicAuthInboundPolicy=void 0;var B0=te(),K0=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>B0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");Ca.BasicAuthInboundPolicy=K0});var Mb=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.CachingInboundPolicy=void 0;var J0=$t(),z0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function W0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(W0,"digestMessage");var Q0=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await W0(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function Y0(e,t,r,n){let i=await(0,J0.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await Q0(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);z0.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(Y0,"CachingInboundPolicy");La.CachingInboundPolicy=Y0});var Hb=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ChangeMethodInboundPolicy=void 0;var Z0=O(),X0=Me(),eO=o(async(e,t,r,n)=>{if(!r.method)throw new Z0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new X0.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Da.ChangeMethodInboundPolicy=eO});var Fb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.ClearHeadersInboundPolicy=void 0;var tO=Me(),rO=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new tO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ua.ClearHeadersInboundPolicy=rO});var qb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ClearHeadersOutboundPolicy=void 0;var nO=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");ka.ClearHeadersOutboundPolicy=nO});var $b=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ClerkJwtInboundPolicy=void 0;var iO=jt(),oO=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,iO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ma.ClerkJwtInboundPolicy=oO});var Vb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.CognitoJwtInboundPolicy=void 0;var jb=O(),sO=jt(),aO=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new jb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new jb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,sO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Ha.CognitoJwtInboundPolicy=aO});var Bb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.CompositeInboundPolicy=void 0;var cO=O(),uO=Ar(),Gb=Xr(),lO=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new cO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=uO.Gateway.instance,s=(0,Gb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Gb.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");Fa.CompositeInboundPolicy=lO});var Kb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.CurityPhantomTokenInboundPolicy=void 0;var dO=$t(),pO=Kt(),qa=te(),hO=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return qa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=fO(i);if(!s)return qa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,dO.getPolicyCacheName)(n,r),c=new pO.MemoryZoneReadThroughCache(a,t),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),qa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):qa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");$a.CurityPhantomTokenInboundPolicy=hO;function fO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(fO,"getToken")});var Jb=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.FirebaseJwtInboundPolicy=void 0;var mO=qt(),yO=jt(),gO=o(async(e,t,r,n)=>((0,mO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,yO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");ja.FirebaseJwtInboundPolicy=gO});var zb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.FormDataToJsonInboundPolicy=void 0;var bO=Me(),_O=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new bO.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Va.FormDataToJsonInboundPolicy=_O});var Wb=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.GeoFilterInboundPolicy=void 0;var EO=O(),wO=te(),Fn="__unknown__",vO=o(async(e,t,r,n)=>{let i={allow:{countries:$n(r.allow?.countries,"allow.countries",n),regionCodes:$n(r.allow?.regionCodes,"allow.regionCode",n),asns:$n(r.allow?.asns,"allow.asOrganization",n)},block:{countries:$n(r.block?.countries,"block.countries",n),regionCodes:$n(r.block?.regionCodes,"block.regionCode",n),asns:$n(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??Fn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Fn,c=t.incomingRequestProperties.asn?.toString()??Fn,u=i.ignoreUnknown&&s===Fn,l=i.ignoreUnknown&&a===Fn,d=i.ignoreUnknown&&c===Fn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return qn(e,t,n,s,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(s)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?qn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");Ga.GeoFilterInboundPolicy=vO;function qn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),wO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(qn,"blockedResponse");function $n(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new EO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o($n,"toLowerStringArray")});var Qb=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.JWTScopeValidationInboundPolicy=void 0;var SO=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ba.JWTScopeValidationInboundPolicy=SO});var Xb=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.LoadSubscriptionInboundPolicy=void 0;var TO=ai(),IO=Tr(),PO=Ws(),Yb=wn(),AO=O(),Ka=te(),Zb=He(),RO=W(),OO=o(async(e,t,r,n)=>{let i=Zb.SystemLogMap.getLogger(t),s=r.allowRequestsWithoutSubscription??!1,a=r.allowedSubscriptionStatuses&&r.allowedSubscriptionStatuses.length>0?r.allowedSubscriptionStatuses:["active","incomplete","trialing"],c=e.user;if(!c)return s?e:Ka.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(Yb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Yb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new AO.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:u,meteringServiceUrl:l}=RO.Environment.instance,{sub:d}=c,p;try{let h=`${r.bucketId}-${d}`,g=new TO.ZoneCache(h,{logger:Zb.SystemLogMap.getLogger(t)}),_=await g.get(h);if(_)p=_,t.log.debug("Loading subscriptions from cache");else{let S=await fetch(`${l}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${d}`,{headers:{Authorization:`Bearer ${u}`,"zp-rid":t.requestId},method:"GET"});if(!S.ok)return t.log.error(await S.text()),Ka.HttpProblems.forbidden(e,t);p=await S.json(),g.put(h,p,15).catch(T=>{throw i.error(T),T})}}catch(h){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,h)}let m=p&&p.data&&p.data.length>0?p.data[0]:void 0;return m?!a.includes(m.status)&&!s?(t.log.warn(`Subscription '${m.id}' has status '${m.status}' which is not part of the allowed statuses.`),Ka.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"})):(a.includes(m.status)&&(t.log.debug(`Loading subscription '${m.id}' for user sub '${d}' to ContextData`),PO.ContextData.set(t,IO.METERING_SUBSCRIPTION_CONTEXT_DATA,m)),e):(t.log.warn("No valid subscription found"),s?e:Ka.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"}))},"LoadSubscriptionInboundPolicy");Ja.LoadSubscriptionInboundPolicy=OO});var i_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.MeteringInboundPolicy=void 0;var e_=Tr(),t_=Ws(),r_=wn(),n_=O(),za=te(),NO=He(),xO=W(),CO=xr(),LO=o(async(e,t,r,n)=>{let i=NO.SystemLogMap.getLogger(t);if(!r.meterOnStatusCodes)throw new n_.ConfigurationError(`Invalid MeteringInboundPolicy '${n}': options.meterOnStatusCodes must be an array of HTTP status code numbers`);let s=Array.isArray(r.meterOnStatusCodes)?r.meterOnStatusCodes:(0,CO.statusCodesStringToNumberArray)(r.meterOnStatusCodes);t.addResponseSendingFinalHook(async(p,m,h)=>{let g=t_.ContextData.get(h,e_.METERING_SUBSCRIPTION_CONTEXT_DATA);if((r.allowRequestsWithoutSubscription??!1)&&!g){h.log.debug(`MeteringInboundPolicy '${n}' - no subscription found and allowRequestsWithoutSubscription is true`);return}if(!r.bucketId)if(r_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=r_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new n_.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:S,meteringServiceUrl:T}=xO.Environment.instance;if(s.includes(p.status)&&g&&r.meters){h.log.debug(`MeteringInboundPolicy '${n}' - Updating subscription '${g.id}' with meters '${JSON.stringify(r.meters)} on response status '${p.status}'`);try{let U=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${g.id}/quotas/consume`,{headers:{Authorization:`Bearer ${S}`,"zp-rid":h.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});U.ok||(h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`))}catch(U){h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,U)}}});let a=t_.ContextData.get(t,e_.METERING_SUBSCRIPTION_CONTEXT_DATA),c=r.allowRequestsWithoutSubscription??!1,u=r.allowRequestsOverQuota??!1;if(!a)return c?e:(t.log.warn("Subscription is not available for user"),za.HttpProblems.paymentRequired(e,t,{detail:"Subscription is not available for user",title:"No Subscription"}));if(a&&Object.keys(a.quotas).length===0)return t.log.error(`Quota is not set up for subscription '${a.id}'`),za.HttpProblems.tooManyRequests(e,t,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let d=Object.keys(r.meters).filter(p=>!Object.keys(a.quotas).includes(p));if(d.length>0)return t.log.warn(`The following policy meters are not present in the subscription: ${d.join(", ")}`),za.HttpProblems.tooManyRequests(e,t,{detail:`The following policy meters are not present in the subscription: ${d.join(", ")}`,title:"Quota Exceeded"});for(let p of Object.keys(a.quotas))if(a.quotas[p]<=0&&!u)return za.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${p}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Wa.MeteringInboundPolicy=LO});var s_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.MockApiInboundPolicy=void 0;var DO=te(),UO=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Fp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return Fp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return o_(a[c])}else return a.length>0?o_(a[0]):Fp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Qa.MockApiInboundPolicy=UO;function o_(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(o_,"generateResponse");var Fp=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return DO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var d_=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.MoesifInboundPolicy=jn.setMoesifContext=void 0;var kO=O(),MO=ve(),HO="Incoming",FO={logRequestBody:!0,logResponseBody:!0};function a_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(a_,"headersToObject");function c_(){return new Date().toISOString()}o(c_,"timestamp");var qp=new WeakMap,qO={};function $O(e,t){let r=qp.get(e);r||(r=qO);let n=Object.assign({...r},t);qp.set(e,n)}o($O,"setMoesifContext");jn.setMoesifContext=$O;async function u_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(u_,"readBody");var jO={},$p;function l_(){if(!$p)throw new kO.RuntimeError("Invalid State - no _lastLogger");return $p}o(l_,"getLastLogger");function VO(e){let t=jO[e];return t||(t=new MO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);l_().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||l_().error({status:i.status,body:await i.text()})})),t}o(VO,"getDispatcher");async function GO(e,t,r,n){$p=t.log;let i=c_(),s=Object.assign(FO,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await u_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=VO(s.applicationId),d=e.headers.get("true-client-ip"),p=qp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:a_(e.headers)},h=s.logResponseBody?await u_(c,t):void 0,g={time:c_(),status:c.status,headers:a_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:HO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}o(GO,"MoesifInboundPolicy");jn.MoesifInboundPolicy=GO});var p_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.OktaJwtInboundPolicy=void 0;var BO=jt(),KO=o(async(e,t,r,n)=>(0,BO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ya.OktaJwtInboundPolicy=KO});var h_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.PropelAuthJwtInboundPolicy=void 0;var JO=(Ns(),ao(Os)),zO=jt(),jp,WO=o(async(e,t,r,n)=>{if(!jp)try{jp=await(0,JO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,zO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:jp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Za.PropelAuthJwtInboundPolicy=WO});var f_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=gt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Ui=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Ui;var ki=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=ki;function QO(e,t){if((0,je.isUndefined)(e))throw new Ui(t)}o(QO,"throwIfUndefined");V.throwIfUndefined=QO;function Vp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ui(t)}o(Vp,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=Vp;function YO(e,t){if(Vp(e,t),!(0,je.isString)(e))throw new ki(t,"string")}o(YO,"throwIfNotString");V.throwIfNotString=YO;function ZO(e,t){if(Vp(e,t),!(0,je.isNumber)(e))throw new ki(t,"number")}o(ZO,"throwIfNotNumber");V.throwIfNotNumber=ZO;var Mi=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Mi;var Vn=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Vn;function XO(e,t,r,n){if((0,je.isUndefined)(n))throw new Mi(e,t,r)}o(XO,"throwIfOptionUndefined");V.throwIfOptionUndefined=XO;function Xa(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Mi(e,t,r)}o(Xa,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=Xa;function eN(e,t,r,n){if(Xa(e,t,r,n),!(0,je.isString)(n))throw new Vn(e,t,r,"string")}o(eN,"throwIfOptionNotString");V.throwIfOptionNotString=eN;function tN(e,t,r,n){if(Xa(e,t,r,n),!(0,je.isNumber)(n))throw new Vn(e,t,r,"number")}o(tN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=tN;function rN(e,t,r,n){if(Xa(e,t,r,n),!(0,je.isObject)(n))throw new Vn(e,t,r,"object")}o(rN,"throwIfOptionNotObject");V.throwIfOptionNotObject=rN;function nN(e,t){if((0,je.isUndefined)(e))throw new et(t)}o(nN,"throwIfStateUndefined");V.throwIfStateUndefined=nN;function ec(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}o(ec,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=ec;function iN(e,t){if(ec(e,t),!(0,je.isString)(e))throw new et(t);return!0}o(iN,"throwIfStateNotString");V.throwIfStateNotString=iN;function oN(e,t){if(ec(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}o(oN,"throwIfStateNotNumber");V.throwIfStateNotNumber=oN;function sN(e,t){if(ec(e,t),!(0,je.isObject)(e))throw new et(t);return!0}o(sN,"throwIfStateNotObject");V.throwIfStateNotObject=sN});var m_=y(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.InMemoryRedisClient=Gn.StandardRedisClient=void 0;var Gp=O(),tc=f_(),Bp=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,tc.throwIfNotString)(t,"redisClientUrl"),(0,tc.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,tc.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Gp.SystemError("Redis client failed with 401: Unauthorized"):new Gp.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Gn.StandardRedisClient=Bp;var Kp=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,tc.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Gp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Gn.InMemoryRedisClient=Kp});var E_=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.RateLimitInboundPolicy=void 0;var aN=Pr(),cN=$t(),uN=ai(),At=O(),lN=te(),y_=He(),Hi=W(),g_=m_(),b_=gt(),rc=(0,aN.debug)("zuplo:policies:RateLimitInboundPolicy"),dN="strict",pN=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),hN=o(async e=>({key:`ip-${pN(e)}`}),"getIP"),fN=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),mN=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),nc;function yN(e,t){let r;if(nc)return nc;if(Hi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new g_.InMemoryRedisClient,nc=r,r;let{authApiJWT:n,redisURL:i}=Hi.Environment.instance;if(!(0,b_.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,b_.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=g_.StandardRedisClient.initialize(i,n,Hi.Environment.instance.deploymentName??"unknown",Hi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return nc=r,r}o(yN,"getRedisClient");async function __(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(__,"getCountAndUpdateExpiry");function gN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}o(gN,"wrapUserFunction");var bN="Retry-After",_N=o(async(e,t,r,n)=>{let i=Date.now(),s=y_.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[bN]=l.toString()),lN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:gN(r,n),user:fN,ip:hN,all:mN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=yN(n,s),T=`bucket/${Hi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??dN)==="async"){let L=await(0,cN.getPolicyCacheName)(n,r),ne=new uN.ZoneCache(L,{logger:y_.SystemLogMap.getLogger(t)}),ie=__(T,h,_,s,t.requestId),me=await ne.get(T);if(me!==void 0&&me<=Date.now()){rc(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let Ce=await ie;if(Ce.count>m){let yu=Date.now()+Ce.ttlSeconds*1e3,nw=ne.put(T,yu,Ce.ttlSeconds).catch(Lh=>{throw s.error(new At.SystemError("Error caching rate limit result.",{cause:Lh})),Lh});return t.waitUntil(nw),rc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,Ce.ttlSeconds)}return H})()}catch(w){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await __(T,h,_,s,t.requestId);return K.count>m?(rc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;rc(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");ic.RateLimitInboundPolicy=_N});var T_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.ReadmeMetricsInboundPolicy=void 0;var EN=ve(),Jp=W(),w_=xr(),zp;function v_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(v_,"headersToNameValuePairs");function wN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(wN,"queryToNameValueParis");function vN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(vN,"parseIntOrUndefined");var S_={};async function SN(e,t,r,n){let i=new Date,s=Date.now();return zp||(zp={name:"zuplo",version:Jp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Jp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,w_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,w_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Jp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:zp,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:v_(e.headers),queryString:wN(e.query)},response:{status:a.status,statusText:a.statusText,headers:v_(a.headers),content:{size:vN(e.headers.get("content-length"))}}}]}}},d=S_[r.apiKey];if(!d){let p=r.apiKey;d=new EN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),S_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(SN,"ReadmeMetricsInboundPolicy");oc.ReadmeMetricsInboundPolicy=SN});var I_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RemoveHeadersInboundPolicy=void 0;var TN=O(),IN=Me(),PN=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new TN.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new IN.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");sc.RemoveHeadersInboundPolicy=PN});var P_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.RemoveHeadersOutboundPolicy=void 0;var AN=O(),RN=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new AN.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");ac.RemoveHeadersOutboundPolicy=RN});var A_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.RemoveQueryParamsInboundPolicy=void 0;var ON=O(),NN=Me(),xN=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new ON.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new NN.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");cc.RemoveQueryParamsInboundPolicy=xN});var R_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.ReplaceStringOutboundPolicy=void 0;var CN=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");uc.ReplaceStringOutboundPolicy=CN});var N_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.RequestSizeLimitInboundPolicy=void 0;var O_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),LN=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?O_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?O_():e},"RequestSizeLimitInboundPolicy");lc.RequestSizeLimitInboundPolicy=LN});var dc=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function DN(e,t,r){return`_${jr(e+"_"+t+"_"+r)}`}o(DN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=DN;function UN(e,t,r,n){return`_${jr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(UN,"getIdForParameterSchema");tt.getIdForParameterSchema=UN;function kN(e,t,r){return`_${jr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${jr(r.toLowerCase())}`}o(kN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=kN;function MN(e,t){return`_${jr(e)}__${jr(t)}`}o(MN,"getIdForRefSchema");tt.getIdForRefSchema=MN;function jr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(jr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=jr});var Fi=y(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var HN=Ar(),FN=dc(),qN=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=qN;var $N=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,FN.getIdForParameterSchema)(r,n,i,u.name),p=HN.Gateway.instance.schemaValidator[d],m=p(t[u.name]),h=(0,Le.getErrorsFromValidator)(p.errors);m||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=$N;var jN=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=jN;var VN=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=VN;var GN=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=GN;var BN=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=BN});var x_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.handleBodyValidation=void 0;var KN=Ar(),pc=te(),JN=dc(),Je=Fi();async function zN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=pc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",g,[n],h),(0,Je.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=pc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,JN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=KN.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=pc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=pc.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return m}o(zN,"handleBodyValidation");hc.handleBodyValidation=zN});var C_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.handleHeadersValidation=void 0;var WN=te(),qi=Fi();function QN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,qi.getParametersForOperation)(e),s=(0,qi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=WN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,qi.shouldLog)(r.validateHeaders)&&(0,qi.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,qi.shouldReject)(r.validateHeaders))return c}}o(QN,"handleHeadersValidation");fc.handleHeadersValidation=QN});var L_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.handlePathParameterValidation=void 0;var YN=te(),$i=Fi();function ZN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,$i.getParametersForOperation)(e),i=(0,$i.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=YN.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,$i.shouldLog)(r.validatePathParameters)&&(0,$i.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,$i.shouldReject)(r.validatePathParameters))return a}}o(ZN,"handlePathParameterValidation");mc.handlePathParameterValidation=ZN});var D_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.handleQueryParameterValidation=void 0;var XN=te(),ji=Fi();function ex(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,ji.getParametersForOperation)(e),i=(0,ji.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=XN.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,ji.shouldLog)(r.validateQueryParameters)&&(0,ji.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,ji.shouldReject)(r.validateQueryParameters))return a}}o(ex,"handleQueryParameterValidation");yc.handleQueryParameterValidation=ex});var U_=y(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.SchemaBasedRequestValidation=Vr.RequestValidationInboundPolicy=void 0;var tx=x_(),rx=C_(),nx=L_(),ix=D_(),ox=o(async(e,t,r)=>{let n=(0,ix.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,nx.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,rx.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,tx.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Vr.RequestValidationInboundPolicy=ox;Vr.SchemaBasedRequestValidation=Vr.RequestValidationInboundPolicy});var k_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.RequireOriginInboundPolicy=void 0;var sx=O(),ax=te(),cx=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new sx.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return ax.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");gc.RequireOriginInboundPolicy=cx});var M_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.SetBodyInboundPolicy=void 0;var ux=Me(),lx=o(async(e,t,r)=>new ux.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");bc.SetBodyInboundPolicy=lx});var F_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.SetHeadersInboundPolicy=void 0;var H_=O(),dx=Me(),px=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new H_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new H_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new dx.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");_c.SetHeadersInboundPolicy=px});var $_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.SetHeadersOutboundPolicy=void 0;var q_=O(),hx=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new q_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new q_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");Ec.SetHeadersOutboundPolicy=hx});var V_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.SetQueryParamsInboundPolicy=void 0;var j_=O(),fx=Me(),mx=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new j_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new j_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new fx.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");wc.SetQueryParamsInboundPolicy=mx});var G_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.SetStatusOutboundPolicy=void 0;var yx=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");vc.SetStatusOutboundPolicy=yx});var B_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.SleepInboundPolicy=void 0;var gx=O(),bx=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),_x=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new gx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await bx(r.sleepInMs),e},"SleepInboundPolicy");Sc.SleepInboundPolicy=_x});var J_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.SupabaseJwtInboundPolicy=void 0;var K_=O(),Ex=te(),wx=Me(),vx=qt(),Sx=jt(),Tx=o(async(e,t,r,n)=>{(0,vx.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,Sx.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof wx.ZuploRequest))throw new K_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new K_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?Ex.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Tc.SupabaseJwtInboundPolicy=Tx});var W_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var Ix=$t(),Px=Kt(),z_=O(),Ax=gn(),Rx=qt(),Ox=o(async(e,t,r,n)=>{(0,Rx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,Ix.getPolicyCacheName)(n,r),s=new Px.MemoryZoneReadThroughCache(i,t),a=await s.get(n);if(!a){let c=await Nx(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Ic.UpstreamAzureAdServiceAuthInboundPolicy=Ox;async function Nx(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,Ax.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new z_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new z_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(Nx,"getAccessToken")});var Y_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var xx=$t(),Cx=Kt(),Lx=O(),Wp=bn(),Dx=qt(),Q_="https://accounts.google.com/o/oauth2/token",Qp,Ux=o(async(e,t,r,n)=>{(0,Dx.optionValidator)(r,n).required("serviceAccountJson","string"),Qp||(Qp=await Wp.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,xx.getPolicyCacheName)(n,r),a=new Cx.MemoryZoneReadThroughCache(s,t),c=await a.get(n);if(!c){let u=await(0,Wp.getTokenFromGcpServiceAccount)({serviceAccount:Qp,audience:Q_,payload:i}),l=await(0,Wp.exchangeGgpJwtForIdToken)(Q_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new Lx.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Pc.UpstreamFirebaseAdminAuthInboundPolicy=Ux});var Z_=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.UpstreamFirebaseUserAuthInboundPolicy=void 0;var kx=$t(),Mx=Kt(),Bn=O(),Hx=Cp(),Yp=bn(),Fx=xr(),qx=qt(),$x="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",jx=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Zp,Vx=o(async(e,t,r,n)=>{if((0,qx.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Bn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(jx.indexOf(p)!==-1)throw new Bn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Zp||(Zp=await Yp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Bn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Bn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,Fx.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Bn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,kx.getPolicyCacheName)(n,r),c=new Mx.MemoryZoneReadThroughCache(a,t),u={uid:s,claims:i},l=await(0,Hx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Yp.getTokenFromGcpServiceAccount)({serviceAccount:Zp,audience:$x,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Yp.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Bn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Ac.UpstreamFirebaseUserAuthInboundPolicy=Vx});var eE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.UpstreamGcpJwtInboundPolicy=void 0;var X_=bn(),Gx=qt(),Xp,Bx=o(async(e,t,r,n)=>{(0,Gx.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Xp||(Xp=await X_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,X_.getTokenFromGcpServiceAccount)({serviceAccount:Xp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Rc.UpstreamGcpJwtInboundPolicy=Bx});var rE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Kx=$t(),Jx=Su(),zx=Kt(),Vi=O(),eh=bn(),Wx=xr(),Qx=qt(),tE="https://www.googleapis.com/oauth2/v4/token",th,Yx=o(async(e,t,r,n)=>{(0,Qx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),th||(th=await eh.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Vi.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Wx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Vi.ConfigurationError?new Vi.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,Kx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new Jx.MemoryCache(s):a=new zx.MemoryZoneReadThroughCache(s,t);let c=await a.get(n);if(!c){let u=await(0,eh.getTokenFromGcpServiceAccount)({serviceAccount:th,audience:tE,payload:i}),l=await(0,eh.exchangeGgpJwtForIdToken)(tE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Vi.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Vi.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");Oc.UpstreamGcpServiceAuthInboundPolicy=Yx});var iE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.ValidateJsonSchemaInbound=void 0;var Zx=O(),nE=te(),Xx=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return nE.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new Zx.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return nE.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Nc.ValidateJsonSchemaInbound=Xx});var oE=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.ServiceProviderImpl=void 0;var eC=O(),rh=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new eC.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};xc.ServiceProviderImpl=rh});var gE=y(f=>{"use strict";var tC=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),nh=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&tC(t,e,r)},rC=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MeteringInboundPolicy=f.LoadSubscriptionInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=void 0;Fh();var nC=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return nC.MemoryZoneReadThroughCache}});var iC=ai();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return iC.ZoneCache}});var sE=Rr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return sE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return sE.ResponseSentEvent}});var oC=Ws();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return oC.ContextData}});var ih=wn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return ih.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return ih.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return ih.isZuploReadableEnvVariableName}});var aE=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return aE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return aE.RuntimeError}});var sC=Md();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return sC.originalFetch}});var cE=fg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return cE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return cE.purgeGatewayCache}});var uE=xg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return uE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return uE.awsLambdaHandler}});var aC=Lg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return aC.openApiSpecHandler}});var cC=Dg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return cC.redirectHandler}});var uC=kg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return uC.urlForwardHandler}});var lC=Hg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return lC.urlRewriteHandler}});var dC=qg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return dC.webSocketHandler}});var pC=Vg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return pC.webSocketPipelineHandler}});var hC=zu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return hC.HttpStatusCode}});nh(Yg(),f);nh(eb(),f);var fC=tb();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return fC.AuditLogDataStaxProvider}});var mC=nb();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return mC.AuditLogPlugin}});nh(Tb(),f);var lE=Ob();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringPolicy}});var yC=Db();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return yC.ApiAuthKeyInboundPolicy}});var gC=Up();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return gC.ApiKeyInboundPolicy}});var bC=Ub();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return bC.Auth0JwtInboundPolicy}});var _C=kb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return _C.BasicAuthInboundPolicy}});var EC=Mb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return EC.CachingInboundPolicy}});var wC=Hb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return wC.ChangeMethodInboundPolicy}});var vC=Fb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return vC.ClearHeadersInboundPolicy}});var SC=qb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return SC.ClearHeadersOutboundPolicy}});var TC=$b();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return TC.ClerkJwtInboundPolicy}});var IC=Vb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return IC.CognitoJwtInboundPolicy}});var PC=Bb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return PC.CompositeInboundPolicy}});var AC=Kb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return AC.CurityPhantomTokenInboundPolicy}});var RC=Jb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return RC.FirebaseJwtInboundPolicy}});var OC=zb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return OC.FormDataToJsonInboundPolicy}});var NC=Wb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return NC.GeoFilterInboundPolicy}});var xC=Qb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return xC.JWTScopeValidationInboundPolicy}});var CC=Xb();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return CC.LoadSubscriptionInboundPolicy}});var LC=i_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return LC.MeteringInboundPolicy}});var DC=s_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return DC.MockApiInboundPolicy}});var dE=d_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return dE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return dE.setMoesifContext}});var UC=p_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return UC.OktaJwtInboundPolicy}});var kC=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return kC.OpenIdJwtInboundPolicy}});var MC=h_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return MC.PropelAuthJwtInboundPolicy}});var pE=E_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return pE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return pE.RateLimitInboundPolicy}});var HC=T_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return HC.ReadmeMetricsInboundPolicy}});var FC=I_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return FC.RemoveHeadersInboundPolicy}});var qC=P_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return qC.RemoveHeadersOutboundPolicy}});var $C=A_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return $C.RemoveQueryParamsInboundPolicy}});var jC=R_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return jC.ReplaceStringOutboundPolicy}});var VC=N_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return VC.RequestSizeLimitInboundPolicy}});var hE=U_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return hE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return hE.SchemaBasedRequestValidation}});var GC=k_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return GC.RequireOriginInboundPolicy}});var BC=M_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return BC.SetBodyInboundPolicy}});var KC=F_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return KC.SetHeadersInboundPolicy}});var JC=$_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return JC.SetHeadersOutboundPolicy}});var zC=V_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return zC.SetQueryParamsInboundPolicy}});var WC=G_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return WC.SetStatusOutboundPolicy}});var QC=B_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return QC.SleepInboundPolicy}});var YC=bp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return YC.StripeWebhookVerificationInboundPolicy}});var ZC=J_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return ZC.SupabaseJwtInboundPolicy}});var XC=W_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return XC.UpstreamAzureAdServiceAuthInboundPolicy}});var eL=Y_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return eL.UpstreamFirebaseAdminAuthInboundPolicy}});var tL=Z_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return tL.UpstreamFirebaseUserAuthInboundPolicy}});var rL=eE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return rL.UpstreamGcpJwtInboundPolicy}});var nL=rE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return nL.UpstreamGcpServiceAuthInboundPolicy}});var iL=iE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return iL.ValidateJsonSchemaInbound}});var oL=te();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return oL.HttpProblems}});var sL=wo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return sL.ProblemResponseFormatter}});var aL=Me();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return aL.ZuploRequest}});var cL=Nr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return cL.SystemRouteName}});var fE=Ad();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return fE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return fE.Router}});var mE=Hu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return mE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return mE.serialize}});var uL=oE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return uL.ServiceProviderImpl}});var yE=al();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return yE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return yE.SYSTEM_LOGGER}});var lL=Qu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return rC(lL).default}});var dL=He();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return dL.SystemLogMap}});var Gi=dc();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Gi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Gi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Gi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Gi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Gi.sanitizedIdentifierName}})});var bE=y(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.BaseCryptoBeta=Kn.supportedDigests=void 0;Kn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var oh=class{static{o(this,"BaseCryptoBeta")}};Kn.BaseCryptoBeta=oh});var _E=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.WorkerCryptoBeta=void 0;var sh=bE(),pL=O(),ah=class extends sh.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!sh.supportedDigests.includes(t.toLowerCase()))throw new pL.RuntimeError(`Algorithm ${t} is not supported. Try using ${sh.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};Cc.WorkerCryptoBeta=ah});var EE=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.BaseKeyValueStore=void 0;var ch=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Lc.BaseKeyValueStore=ch});var vE=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.WorkerKeyValueStore=void 0;var wE=O(),hL=EE(),uh=class extends hL.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new wE.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new wE.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};Dc.WorkerKeyValueStore=uh});var Dt=y(lt=>{"use strict";var fL=lt&&lt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),mL=lt&&lt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&fL(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;mL(gE(),lt);var yL=_E();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return yL.WorkerCryptoBeta}});var gL=vE();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return gL.WorkerKeyValueStore}})});var TD={};so(TD,{GraphQLComplexityLimitInboundPolicy:()=>ew,GraphQLDisableIntrospectionInboundPolicy:()=>rw});module.exports=ao(TD);var ii=Uh(Dt());function G(e,t){if(!!!e)throw new Error(t)}o(G,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(Rt,"invariant");var bL=/\r\n|[\n\r]/g;function Jn(e,t){let r=0,n=1;for(let i of e.body.matchAll(bL)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Jn,"getLocation");function lh(e){return Uc(e.source,Jn(e.source,e.start))}o(lh,"printLocation");function Uc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
75
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+SE([[`${a} |`,g[0]],...g.slice(1,m+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[m+1]]])}return l+SE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(Uc,"printSourceLocation");function SE(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
76
- `)}o(SE,"printPrefixedLines");function _L(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(_L,"toNormalizedOptions");var C=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=_L(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=TE(Array.isArray(a)?a:a?[a]:void 0);let m=TE((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(g=>g.start),this.locations=u&&c?u.map(g=>Jn(c,g)):m?.map(g=>Jn(g.source,g.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
74
+ `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new $r.StripeSignatureVerificationError(t,e,{message:"Timestamp outside the tolerance zone"});return!0}s(jR,"validateComputedSignature");function VR(e,t){return typeof e!="string"?null:e.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===t&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}s(VR,"parseHeader");function GR(e,t){if(e.length!==t.length)return!1;let r=e.length,n=0;for(let i=0;i<r;++i)n|=e.charCodeAt(i)^t.charCodeAt(i);return n===0}s(GR,"secureCompare");async function db(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(e)),o=new Uint8Array(i),a=new Array(o.length);for(let c=0;c<o.length;c++)a[c]=gp[o[c]];return a.join("")}s(db,"computeHMACSignatureAsync");kn.computeHMACSignatureAsync=db;var gp=new Array(256);for(let e=0;e<gp.length;e++)gp[e]=e.toString(16).padStart(2,"0")});var qt=y(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.optionValidator=void 0;var xi=O();function BR(e,t){let r=s((o,a,c)=>{let u=e[o];if(!(c&&u===void 0)){if(u===void 0)throw new xi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new xi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new xi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new xi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new xi.ConfigurationError(`Value of '${String(o)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=s((o,a)=>(r(o,a,!0),{optional:n,required:i}),"optional"),i=s((o,a)=>(r(o,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}s(BR,"optionValidator");ga.optionValidator=BR});var bp=y(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.StripeWebhookVerificationInboundPolicy=void 0;var KR=te(),JR=pb(),zR=qt(),WR=s(async(e,t,r,n)=>{(0,zR.optionValidator)(r,n).required("signingSecret","string").optional("tolerance","number");let i=e.headers.get("stripe-signature");try{let o=await e.clone().text();await(0,JR.constructEventAsync)(o,i,r.signingSecret)}catch(o){return t.log.error("Error validating stripe webhook",o),KR.HttpProblems.badRequest(e,t,{title:"Webhook Error",detail:o.message})}return e},"StripeWebhookVerificationInboundPolicy");ba.StripeWebhookVerificationInboundPolicy=WR});var fb=y(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.isStripeWebhookEvent=void 0;var hb=gt();function QR(e){return e!==null&&typeof e=="object"&&"id"in e&&(0,hb.isString)(e.id)&&"type"in e&&(0,hb.isString)(e.type)}s(QR,"isStripeWebhookEvent");_a.isStripeWebhookEvent=QR});var mb=y(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.MeteringPlugin=void 0;var YR=yt(),_p=class extends YR.SystemRuntimePlugin{static{s(this,"MeteringPlugin")}};Ea.MeteringPlugin=_p});var gb=y(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});var yb=O(),ZR={getSubscription:async({subscriptionId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving subscription from Stripe API.";throw r.error(o,i),new yb.RuntimeError(o)}return i},getCustomer:async({customerId:e,stripeSecretKey:t,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${e}`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json();if(n.status!==200){let o="Error retrieving customer from Stripe API.";throw r.error(o,i),new yb.RuntimeError(o)}return i}};Ep.default=ZR});var bb=y(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.deleteConsumer=yr.createConsumerInvite=yr.createConsumer=void 0;var wp=O(),vp=He(),Sp=W(),Tp=bn(),Ip="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function XR({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:o,context:a}){let{authApiJWT:c}=Sp.Environment.instance,u=new URL(`/v1/buckets/${e}/consumers`,Ip);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[{sub:o,email:i}]},p=await(0,Tp.fetchRetry)({retryDelayMs:5,retries:2,logger:vp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),m=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,m),new wp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:t,stripeProductId:r}),l}s(XR,"createConsumer");yr.createConsumer=XR;async function e0({apiKeyBucketName:e,stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:o}){let{authApiJWT:a}=Sp.Environment.instance,c=new URL(`/v1/buckets/${e}/consumers`,Ip);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:t,planExternalIds:[r]},metadata:{stripeSubscriptionId:t,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,Tp.fetchRetry)({retryDelayMs:5,retries:2,logger:vp.SystemLogMap.getLogger(o)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let m="Error creating API Key Consumer";throw o.log.error(m,p),new wp.RuntimeError(m)}return o.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:t,stripeProductId:r}),u}s(e0,"createConsumerInvite");yr.createConsumerInvite=e0;async function t0({apiKeyBucketName:e,consumerId:t,context:r}){let{authApiJWT:n}=Sp.Environment.instance,i=new URL(`/v1/buckets/${e}/consumers/${t}`,Ip);i.searchParams.set("with-api-key","true");let o=await(0,Tp.fetchRetry)({retryDelayMs:5,retries:2,logger:vp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(o.status!==204){let a=await o.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new wp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${t}`),t}s(t0,"deleteConsumer");yr.deleteConsumer=t0});var wa=y(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.getSubscription=br.updateSubscription=br.createSubscription=void 0;var gr=O(),Pp=He(),Ap=W(),Rp=bn(),Op=gt();async function r0({context:e,stripeSubscriptionId:t,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:o,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:o,subscriptionExternalId:t,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=Ap.Environment.instance;if(!(0,Op.isNonEmptyString)(l))throw new gr.SystemError("No Zuplo JWT token set.");let p=await(0,Rp.fetchRetry)({retryDelayMs:5,retries:2,logger:Pp.SystemLogMap.getLogger(e)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let m="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw e.log.error(m,h),new gr.RuntimeError(m)}e.log.info("Successfully created/updated metering subscription.",u)}s(r0,"createSubscription");br.createSubscription=r0;async function n0({context:e,meteringSubscriptionId:t,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:o}=Ap.Environment.instance;if(!(0,Op.isNonEmptyString)(i))throw new gr.SystemError("No Zuplo JWT token set.");let a=await(0,Rp.fetchRetry)({retryDelayMs:5,retries:2,logger:Pp.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${r}/subscriptions/${t}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":e.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw e.log.error(c,u),new gr.RuntimeError(c)}e.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}s(n0,"updateSubscription");br.updateSubscription=n0;async function i0({context:e,stripeSubscriptionId:t,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:o}=Ap.Environment.instance;if(!(0,Op.isNonEmptyString)(i))throw new gr.SystemError("No Zuplo JWT token set.");let a=await(0,Rp.fetchRetry)({retryDelayMs:5,retries:2,logger:Pp.SystemLogMap.getLogger(e)},`${o}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${t}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":e.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw e.log.error(u,l),new gr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new gr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw e.log.error(u),new gr.RuntimeError(u)}return c.data[0]}s(i0,"getSubscription");br.getSubscription=i0});var Np=y(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.stripeStatusToMeteringStatus=void 0;function o0(e){return e.replaceAll("_","-")}s(o0,"stripeStatusToMeteringStatus");va.stripeStatusToMeteringStatus=o0});var _b=y(Li=>{"use strict";var s0=Li&&Li.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Li,"__esModule",{value:!0});var jr=te(),a0=s0(gb()),Cp=bb(),c0=wa(),u0=Np();async function l0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.plan;if(!o||!o.product)return t.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=o.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,Cp.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:t});else{let l=await a0.default.getCustomer({logger:t.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return t.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),jr.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Cp.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:t})}if(!u)return jr.HttpProblems.internalServerError(e,t,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,u0.stripeStatusToMeteringStatus)(r.data.object.status);await(0,c0.createSubscription)({context:t,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,Cp.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:t}),jr.HttpProblems.internalServerError(e,t,{detail:l.message})}return jr.HttpProblems.ok(e,t)}s(l0,"onCustomerSubscriptionCreated");Li.default=l0});var wb=y(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});var xp=te(),Eb=wa();async function d0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),xp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.customer;if(!o)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),xp.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Eb.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,Eb.updateSubscription)({context:t,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),xp.HttpProblems.ok(e,t)}s(d0,"onCustomerSubscriptionDeleted");Lp.default=d0});var vb=y(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});var Di=te(),Sa=wa(),p0=Np();async function h0(e,t,r,n){let i=r.data.object.id;if(!i)return t.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Di.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let o=r.data.object.customer;if(!o)return t.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Di.HttpProblems.badRequest(e,t,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){let c=await(0,Sa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId}),u=(0,p0.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,Sa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Di.HttpProblems.ok(e,t)}if(a.plan&&a.plan.product!==r.data.object.plan.product){let c=await(0,Sa.getSubscription)({context:t,stripeSubscriptionId:i,stripeCustomerId:o,meteringBucketId:n.meteringBucketId});return await(0,Sa.updateSubscription)({context:t,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[r.data.object.plan.product]}}),Di.HttpProblems.ok(e,t)}}return t.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Di.HttpProblems.badRequest(e,t,{detail:"This update event is not supported by Stripe metering plugin webhook."})}s(h0,"onCustomerSubscriptionUpdated");Dp.default=h0});var Tb=y(Mn=>{"use strict";var kp=Mn&&Mn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.StripeMeteringPlugin=void 0;var Ta=vn(),Ia=O(),f0=Lt(),m0=bp(),Sb=te(),y0=Qt(),g0=en(),b0=Ju(),_0=ot(),E0=W(),w0=fb(),v0=mb(),S0=kp(_b()),T0=kp(wb()),I0=kp(vb()),Up=class extends v0.MeteringPlugin{static{s(this,"StripeMeteringPlugin")}options;constructor(t){super(),this.options=t}registerRoutes(t,r){let n=s(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(Ta.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Ta.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ia.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Ta.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Ta.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ia.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!E0.Environment.instance.build.ACCOUNT_NAME)throw new Ia.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!P0(p))throw new Ia.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let m=await c.json();if(!(0,w0.isStripeWebhookEvent)(m))return Sb.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${m.type}' with ID '${m.id}'.`),m.type){case"customer.subscription.created":return await(0,S0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,I0.default)(c,u,m,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,T0.default)(c,u,m,{meteringBucketId:l});default:return Sb.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,g0.createInternalPolicyProcessor)({inboundPolicies:[{handler:m0.StripeWebhookVerificationInboundPolicy,options:{signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance}}]}),o=new f0.Pipeline({processors:[y0.metricsProcessor,i],handler:n,gateway:r}),a=new _0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:b0.SystemRouteName.StripePlugin});t.addRoute(a,o.execute)}};Mn.StripeMeteringPlugin=Up;function P0(e){return e!==null&&typeof e=="string"&&["us-central1","europe-west4"].includes(e)}s(P0,"isMetricsRegion")});var Ob=y(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AmberfloMeteringInboundPolicy=Hn.AmberfloMeteringPolicy=void 0;var Ib=O(),A0=ve(),Pb=xr(),Rb=new WeakMap,Ab={},Mp=class{static{s(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){Rb.set(t,r)}};Hn.AmberfloMeteringPolicy=Mp;async function R0(e,t,r,n){if(!r.statusCodes)throw new Ib.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,Pb.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async o=>{if(i.includes(o.status)){let a=Rb.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new Ib.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,Pb.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=Ab[r.apiKey];if(!m){let h=r.apiKey,g=e.headers.get("zm-test-id")??"";m=new A0.BatchDispatch("amberflo-ingest-meter",10,async _=>{try{let S=r.url??"https://app.amberflo.io/ingest",T=await fetch(S,{method:"POST",body:JSON.stringify(_),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":g}});T.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${T.status}: ${await T.text()}`)}catch(S){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${S.message}`),S}}),Ab[h]=m}m.enqueue(p),t.waitUntil(m.waitUntilFlushed())}}),e}s(R0,"AmberfloMeteringInboundPolicy");Hn.AmberfloMeteringInboundPolicy=R0});var Hp=y(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.sha256=void 0;async function O0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}s(O0,"sha256");Pa.sha256=O0});var $t=y(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.getPolicyCacheName=void 0;var N0=Hp(),Nb=new Map;async function C0(e,t){let r,n=Nb.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,N0.sha256)(JSON.stringify({policyName:e,options:t}))}`,Nb.set(e,r)),r}s(C0,"getPolicyCacheName");Aa.getPolicyCacheName=C0});var $p=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ApiKeyInboundPolicy=void 0;var x0=$t(),L0=Kt(),Cb=vn(),Fp=O(),D0=Dt(),xb=He(),qp=W(),U0=bn(),Lb="key-metadata-cache-type";function k0(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}s(k0,"getKeyValue");async function M0(e,t,r,n){if(!r.bucketName)if(Cb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=Cb.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Fp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new Fp.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let o=s(S=>i.allowUnauthenticatedRequests?e:D0.HttpProblems.unauthorized(e,t,{detail:S}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return o("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return o("Invalid Authorization Scheme");let c=k0(a,i);if(!c||c==="")return o("No key present");let u=await H0(c),l=await(0,x0.getPolicyCacheName)(n,i),d=new L0.MemoryZoneReadThroughCache(l,t),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==Lb&&xb.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),o("Authorization Failed");let m={key:c},h=await(0,U0.fetchRetry)({retryDelayMs:5,retries:2,logger:xb.SystemLogMap.getLogger(t)},`${qp.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":qp.Environment.instance.deploymentName??"unknown","User-Agent":qp.Environment.instance.systemUserAgent},body:JSON.stringify(m)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),o("Authorization Failed");if(h.status!==200){try{let S=await h.text(),T=JSON.parse(S);t.log.error("Unexpected response from key service",T)}catch{t.log.error("Invalid response from key service")}throw new Fp.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let g=await h.json(),_={isValid:!0,typeId:Lb,user:{sub:g.name,data:g.metadata}};return e.user=_.user,d.put(u,_,i.cacheTtlSeconds),e}s(M0,"ApiKeyInboundPolicy");Ra.ApiKeyInboundPolicy=M0;async function H0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(H0,"hashValue")});var Db=y(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ApiAuthKeyInboundPolicy=void 0;var F0=$p();Oa.ApiAuthKeyInboundPolicy=F0.ApiKeyInboundPolicy});var jt=y(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.OpenIdJwtInboundPolicy=void 0;var Vp=(Ns(),ao(Os)),Gp=O(),q0=te(),jp={},$0=s(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Gp.ConfigurationError("Invalid State - jwkUrl not set");jp[t.jwkUrl]||(jp[t.jwkUrl]=(0,Vp.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Vp.jwtVerify)(e,jp[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),j0=s(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let o=new TextEncoder().encode(t.secret);r=new Uint8Array(o)}else r=t.secret;let{payload:n}=await(0,Vp.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),V0=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),o="bearer ",a=s(m=>q0.HttpProblems.unauthorized(e,t,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Gp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Gp.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?$0:j0,l=await s(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(o)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(o.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(h){let g=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${g.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${g.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");Na.OpenIdJwtInboundPolicy=V0});var Ub=y(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.Auth0JwtInboundPolicy=void 0;var G0=jt(),B0=s(async(e,t,r,n)=>(0,G0.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Ca.Auth0JwtInboundPolicy=B0});var kb=y(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.BasicAuthInboundPolicy=void 0;var K0=te(),J0=s(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",o=s(l=>K0.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await s(async()=>{if(!n)return await o("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await o("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await o("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await o("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),h=d.substring(p+1),g=r.accounts.find(_=>_.username===m&&_.password===h);return g||await o("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");xa.BasicAuthInboundPolicy=J0});var Mb=y(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.CachingInboundPolicy=void 0;var z0=$t(),W0=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function Q0(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}s(Q0,"digestMessage");var Y0=s(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await Q0(JSON.stringify(n)),o=new URL(e.url),a=new URLSearchParams(o.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${o.origin}${o.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function Z0(e,t,r,n){let i=await(0,z0.getPolicyCacheName)(n,r),o=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await Y0(e,r),u=await o.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let m=r?.expirationSecondsTtl??60,h=new Response(p.body,p);W0.forEach(g=>h.headers.delete(g)),h.headers.set("cache-control",`s-maxage=${m}`),t.waitUntil(o.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}s(Z0,"CachingInboundPolicy");La.CachingInboundPolicy=Z0});var Hb=y(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ChangeMethodInboundPolicy=void 0;var X0=O(),eO=Me(),tO=s(async(e,t,r,n)=>{if(!r.method)throw new X0.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new eO.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");Da.ChangeMethodInboundPolicy=tO});var Fb=y(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.ClearHeadersInboundPolicy=void 0;var rO=Me(),nO=s(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new rO.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");Ua.ClearHeadersInboundPolicy=nO});var qb=y(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.ClearHeadersOutboundPolicy=void 0;var iO=s(async(e,t,r,n)=>{let i=[...n.exclude??[]],o=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&o.set(c,u)}),new Response(e.body,{headers:o,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");ka.ClearHeadersOutboundPolicy=iO});var $b=y(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ClerkJwtInboundPolicy=void 0;var oO=jt(),sO=s(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),o=new URL(i);return o.pathname="/.well-known/jwks.json",(0,oO.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:o.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");Ma.ClerkJwtInboundPolicy=sO});var Vb=y(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.CognitoJwtInboundPolicy=void 0;var jb=O(),aO=jt(),cO=s(async(e,t,r,n)=>{if(!r.userPoolId)throw new jb.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new jb.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,aO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");Ha.CognitoJwtInboundPolicy=cO});var Bb=y(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.CompositeInboundPolicy=void 0;var uO=O(),lO=Rr(),Gb=en(),dO=s(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new uO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=lO.Gateway.instance,o=(0,Gb.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Gb.toStackedInboundHandler)(o)(e,t)},"CompositeInboundPolicy");Fa.CompositeInboundPolicy=dO});var Kb=y($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.CurityPhantomTokenInboundPolicy=void 0;var pO=$t(),hO=Kt(),qa=te(),fO=s(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return qa.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let o=mO(i);if(!o)return qa.HttpProblems.unauthorized(e,t,{detail:"Failed to parse token from Authorization header"});let a=await(0,pO.getPolicyCacheName)(n,r),c=new hO.MemoryZoneReadThroughCache(a,t),u=await c.get(o);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+o+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(o,u,r.cacheDurationSeconds??600);else return l.status>=500?(t.log.error(`Error introspecting token - ${l.status}: '${d}'`),qa.HttpProblems.internalServerError(e,t,{detail:"Problem encountered authorizing the HTTP request"})):qa.HttpProblems.unauthorized(e,t)}return e.headers.set("Authorization",`Bearer ${u}`),e},"CurityPhantomTokenInboundPolicy");$a.CurityPhantomTokenInboundPolicy=fO;function mO(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}s(mO,"getToken")});var Jb=y(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.FirebaseJwtInboundPolicy=void 0;var yO=qt(),gO=jt(),bO=s(async(e,t,r,n)=>((0,yO.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,gO.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");ja.FirebaseJwtInboundPolicy=bO});var zb=y(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.FormDataToJsonInboundPolicy=void 0;var _O=Me(),EO=s(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",o=e.headers.get("content-type")?.toLowerCase();if(!o||![i,n].includes(o))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new _O.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Va.FormDataToJsonInboundPolicy=EO});var Wb=y(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.GeoFilterInboundPolicy=void 0;var wO=O(),vO=te(),Fn="__unknown__",SO=s(async(e,t,r,n)=>{let i={allow:{countries:$n(r.allow?.countries,"allow.countries",n),regionCodes:$n(r.allow?.regionCodes,"allow.regionCode",n),asns:$n(r.allow?.asns,"allow.asOrganization",n)},block:{countries:$n(r.block?.countries,"block.countries",n),regionCodes:$n(r.block?.regionCodes,"block.regionCode",n),asns:$n(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},o=t.incomingRequestProperties.country?.toLowerCase()??Fn,a=t.incomingRequestProperties.regionCode?.toLowerCase()??Fn,c=t.incomingRequestProperties.asn?.toString()??Fn,u=i.ignoreUnknown&&o===Fn,l=i.ignoreUnknown&&a===Fn,d=i.ignoreUnknown&&c===Fn,p=i.allow.countries,m=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(o)&&!u||m.length>0&&!m.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return qn(e,t,n,o,a,c);let g=i.block.countries,_=i.block.regionCodes,S=i.block.asns;return g.length>0&&g.includes(o)&&!u||_.length>0&&_.includes(a)&&!l||S.length>0&&S.includes(c)&&!d?qn(e,t,n,o,a,c):e},"GeoFilterInboundPolicy");Ga.GeoFilterInboundPolicy=SO;function qn(e,t,r,n,i,o){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${o}')`),vO.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:o}})}s(qn,"blockedResponse");function $n(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new wO.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}s($n,"toLowerStringArray")});var Qb=y(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.JWTScopeValidationInboundPolicy=void 0;var TO=s(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!s((o,a)=>a.every(c=>o.includes(c)),"scopeChecker")(n,r.scopes)){let o={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(o),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ba.JWTScopeValidationInboundPolicy=TO});var Xb=y(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.LoadSubscriptionInboundPolicy=void 0;var IO=ai(),PO=Ir(),AO=Ws(),Yb=vn(),RO=O(),Ka=te(),Zb=He(),OO=W(),NO=s(async(e,t,r,n)=>{let i=Zb.SystemLogMap.getLogger(t),o=r.allowRequestsWithoutSubscription??!1,a=r.allowedSubscriptionStatuses&&r.allowedSubscriptionStatuses.length>0?r.allowedSubscriptionStatuses:["active","incomplete","trialing"],c=e.user;if(!c)return o?e:Ka.HttpProblems.unauthorized(e,t,{detail:"Unable to check subscription for anonymous user"});if(!r.bucketId)if(Yb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=Yb.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new RO.ConfigurationError(`LoadSubscriptionInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:u,meteringServiceUrl:l}=OO.Environment.instance,{sub:d}=c,p;try{let h=`${r.bucketId}-${d}`,g=new IO.ZoneCache(h,{logger:Zb.SystemLogMap.getLogger(t)}),_=await g.get(h);if(_)p=_,t.log.debug("Loading subscriptions from cache");else{let S=await fetch(`${l}/internal/v1/metering/${r.bucketId}/subscriptions?customerKey=${d}`,{headers:{Authorization:`Bearer ${u}`,"zp-rid":t.requestId},method:"GET"});if(!S.ok)return t.log.error(await S.text()),Ka.HttpProblems.forbidden(e,t);p=await S.json(),g.put(h,p,15).catch(T=>{throw i.error(T),T})}}catch(h){i.error(`LoadSubscriptionInboundPolicy '${n}' -error in serviceResponse`,h)}let m=p&&p.data&&p.data.length>0?p.data[0]:void 0;return m?!a.includes(m.status)&&!o?(t.log.warn(`Subscription '${m.id}' has status '${m.status}' which is not part of the allowed statuses.`),Ka.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"})):(a.includes(m.status)&&(t.log.debug(`Loading subscription '${m.id}' for user sub '${d}' to ContextData`),AO.ContextData.set(t,PO.METERING_SUBSCRIPTION_CONTEXT_DATA,m)),e):(t.log.warn("No valid subscription found"),o?e:Ka.HttpProblems.unauthorized(e,t,{detail:"No valid subscription found"}))},"LoadSubscriptionInboundPolicy");Ja.LoadSubscriptionInboundPolicy=NO});var i_=y(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.MeteringInboundPolicy=void 0;var e_=Ir(),t_=Ws(),r_=vn(),n_=O(),za=te(),CO=He(),xO=W(),LO=xr(),DO=s(async(e,t,r,n)=>{let i=CO.SystemLogMap.getLogger(t);if(!r.meterOnStatusCodes)throw new n_.ConfigurationError(`Invalid MeteringInboundPolicy '${n}': options.meterOnStatusCodes must be an array of HTTP status code numbers`);let o=Array.isArray(r.meterOnStatusCodes)?r.meterOnStatusCodes:(0,LO.statusCodesStringToNumberArray)(r.meterOnStatusCodes);t.addResponseSendingFinalHook(async(p,m,h)=>{let g=t_.ContextData.get(h,e_.METERING_SUBSCRIPTION_CONTEXT_DATA);if((r.allowRequestsWithoutSubscription??!1)&&!g){h.log.debug(`MeteringInboundPolicy '${n}' - no subscription found and allowRequestsWithoutSubscription is true`);return}if(!r.bucketId)if(r_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)r.bucketId=r_.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new n_.ConfigurationError(`MeteringInboundPolicy '${n}' - no bucketId property provided`);let{authApiJWT:S,meteringServiceUrl:T}=xO.Environment.instance;if(o.includes(p.status)&&g&&r.meters){h.log.debug(`MeteringInboundPolicy '${n}' - Updating subscription '${g.id}' with meters '${JSON.stringify(r.meters)} on response status '${p.status}'`);try{let U=await fetch(`${T}/internal/v1/metering/${r.bucketId}/subscriptions/${g.id}/quotas/consume`,{headers:{Authorization:`Bearer ${S}`,"zp-rid":h.requestId},method:"POST",body:JSON.stringify({meters:r.meters})});U.ok||(h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse: ${U.status} - ${U.statusText}`))}catch(U){h.log.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`),i.error(`MeteringInboundPolicy '${n}' -error in serviceResponse`,U)}}});let a=t_.ContextData.get(t,e_.METERING_SUBSCRIPTION_CONTEXT_DATA),c=r.allowRequestsWithoutSubscription??!1,u=r.allowRequestsOverQuota??!1;if(!a)return c?e:(t.log.warn("Subscription is not available for user"),za.HttpProblems.paymentRequired(e,t,{detail:"Subscription is not available for user",title:"No Subscription"}));if(a&&Object.keys(a.quotas).length===0)return t.log.error(`Quota is not set up for subscription '${a.id}'`),za.HttpProblems.tooManyRequests(e,t,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let d=Object.keys(r.meters).filter(p=>!Object.keys(a.quotas).includes(p));if(d.length>0)return t.log.warn(`The following policy meters are not present in the subscription: ${d.join(", ")}`),za.HttpProblems.tooManyRequests(e,t,{detail:`The following policy meters are not present in the subscription: ${d.join(", ")}`,title:"Quota Exceeded"});for(let p of Object.keys(a.quotas))if(a.quotas[p]<=0&&!u)return za.HttpProblems.tooManyRequests(e,t,{detail:`Quota exceeded for meter '${p}'`,title:"Quota Exceeded"});return e},"MeteringInboundPolicy");Wa.MeteringInboundPolicy=DO});var s_=y(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.MockApiInboundPolicy=void 0;var UO=te(),kO=s(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Bp(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let o=Object.keys(i),a=[];if(o.length===0)return Bp(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(o.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return o_(a[c])}else return a.length>0?o_(a[0]):Bp(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Qa.MockApiInboundPolicy=kO;function o_(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}s(o_,"generateResponse");var Bp=s((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return UO.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var d_=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.MoesifInboundPolicy=jn.setMoesifContext=void 0;var MO=O(),HO=ve(),FO="Incoming",qO={logRequestBody:!0,logResponseBody:!0};function a_(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}s(a_,"headersToObject");function c_(){return new Date().toISOString()}s(c_,"timestamp");var Kp=new WeakMap,$O={};function jO(e,t){let r=Kp.get(e);r||(r=$O);let n=Object.assign({...r},t);Kp.set(e,n)}s(jO,"setMoesifContext");jn.setMoesifContext=jO;async function u_(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}s(u_,"readBody");var VO={},Jp;function l_(){if(!Jp)throw new MO.RuntimeError("Invalid State - no _lastLogger");return Jp}s(l_,"getLastLogger");function GO(e){let t=VO[e];return t||(t=new HO.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);l_().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||l_().error({status:i.status,body:await i.text()})})),t}s(GO,"getDispatcher");async function BO(e,t,r,n){Jp=t.log;let i=c_(),o=Object.assign(qO,r);if(!o.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=o.logRequestBody?await u_(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=GO(o.applicationId),d=e.headers.get("true-client-ip"),p=Kp.get(t)??{},m={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:a_(e.headers)},h=o.logResponseBody?await u_(c,t):void 0,g={time:c_(),status:c.status,headers:a_(c.headers),body:h},_={request:m,response:g,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:FO};l.enqueue(_),t.waitUntil(l.waitUntilFlushed())}),e}s(BO,"MoesifInboundPolicy");jn.MoesifInboundPolicy=BO});var p_=y(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.OktaJwtInboundPolicy=void 0;var KO=jt(),JO=s(async(e,t,r,n)=>(0,KO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Ya.OktaJwtInboundPolicy=JO});var h_=y(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.PropelAuthJwtInboundPolicy=void 0;var zO=(Ns(),ao(Os)),WO=jt(),zp,QO=s(async(e,t,r,n)=>{if(!zp)try{zp=await(0,zO.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,WO.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:zp,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Za.PropelAuthJwtInboundPolicy=QO});var f_=y(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.throwIfStateNotObject=V.throwIfStateNotNumber=V.throwIfStateNotString=V.throwIfStateUndefinedOrNull=V.throwIfStateUndefined=V.throwIfOptionNotObject=V.throwIfOptionNotNumber=V.throwIfOptionNotString=V.throwIfOptionUndefinedOrNull=V.throwIfOptionUndefined=V.OptionTypeError=V.OptionUndefinedError=V.throwIfNotNumber=V.throwIfNotString=V.throwIfUndefinedOrNull=V.throwIfUndefined=V.ArgumentTypeError=V.ArgumentUndefinedError=V.ValidationError=void 0;var je=gt(),et=class extends Error{static{s(this,"ValidationError")}constructor(t){super(t)}};V.ValidationError=et;var Ui=class extends et{static{s(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};V.ArgumentUndefinedError=Ui;var ki=class extends et{static{s(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};V.ArgumentTypeError=ki;function YO(e,t){if((0,je.isUndefined)(e))throw new Ui(t)}s(YO,"throwIfUndefined");V.throwIfUndefined=YO;function Wp(e,t){if((0,je.isUndefinedOrNull)(e))throw new Ui(t)}s(Wp,"throwIfUndefinedOrNull");V.throwIfUndefinedOrNull=Wp;function ZO(e,t){if(Wp(e,t),!(0,je.isString)(e))throw new ki(t,"string")}s(ZO,"throwIfNotString");V.throwIfNotString=ZO;function XO(e,t){if(Wp(e,t),!(0,je.isNumber)(e))throw new ki(t,"number")}s(XO,"throwIfNotNumber");V.throwIfNotNumber=XO;var Mi=class extends et{static{s(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};V.OptionUndefinedError=Mi;var Vn=class extends et{static{s(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};V.OptionTypeError=Vn;function eN(e,t,r,n){if((0,je.isUndefined)(n))throw new Mi(e,t,r)}s(eN,"throwIfOptionUndefined");V.throwIfOptionUndefined=eN;function Xa(e,t,r,n){if((0,je.isUndefinedOrNull)(n))throw new Mi(e,t,r)}s(Xa,"throwIfOptionUndefinedOrNull");V.throwIfOptionUndefinedOrNull=Xa;function tN(e,t,r,n){if(Xa(e,t,r,n),!(0,je.isString)(n))throw new Vn(e,t,r,"string")}s(tN,"throwIfOptionNotString");V.throwIfOptionNotString=tN;function rN(e,t,r,n){if(Xa(e,t,r,n),!(0,je.isNumber)(n))throw new Vn(e,t,r,"number")}s(rN,"throwIfOptionNotNumber");V.throwIfOptionNotNumber=rN;function nN(e,t,r,n){if(Xa(e,t,r,n),!(0,je.isObject)(n))throw new Vn(e,t,r,"object")}s(nN,"throwIfOptionNotObject");V.throwIfOptionNotObject=nN;function iN(e,t){if((0,je.isUndefined)(e))throw new et(t)}s(iN,"throwIfStateUndefined");V.throwIfStateUndefined=iN;function ec(e,t){if((0,je.isUndefinedOrNull)(e))throw new et(t)}s(ec,"throwIfStateUndefinedOrNull");V.throwIfStateUndefinedOrNull=ec;function oN(e,t){if(ec(e,t),!(0,je.isString)(e))throw new et(t);return!0}s(oN,"throwIfStateNotString");V.throwIfStateNotString=oN;function sN(e,t){if(ec(e,t),!(0,je.isNumber)(e))throw new et(t);return!0}s(sN,"throwIfStateNotNumber");V.throwIfStateNotNumber=sN;function aN(e,t){if(ec(e,t),!(0,je.isObject)(e))throw new et(t);return!0}s(aN,"throwIfStateNotObject");V.throwIfStateNotObject=aN});var m_=y(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.InMemoryRedisClient=Gn.StandardRedisClient=void 0;var Qp=O(),tc=f_(),Yp=class e{static{s(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,tc.throwIfNotString)(t,"redisClientUrl"),(0,tc.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,tc.throwIfNotString)(t,"url");let o=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=o.headers.get("Content-Type")?.includes("application/json")?await o.json():await o.text();if(o.ok)return a;throw o.status===401?new Qp.SystemError("Redis client failed with 401: Unauthorized"):new Qp.SystemError(`Redis client failed with (${o.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Gn.StandardRedisClient=Yp;var Zp=class{static{s(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,tc.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:o,key:a}=JSON.parse(r),c=Date.now()+o*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Qp.SystemError("The in-memory redis client only supports /rate-limit calls")}};Gn.InMemoryRedisClient=Zp});var E_=y(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.RateLimitInboundPolicy=void 0;var cN=Ar(),uN=$t(),lN=ai(),At=O(),dN=te(),y_=He(),Hi=W(),g_=m_(),b_=gt(),rc=(0,cN.debug)("zuplo:policies:RateLimitInboundPolicy"),pN="strict",hN=s(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),fN=s(async e=>({key:`ip-${hN(e)}`}),"getIP"),mN=s(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),yN=s(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),nc;function gN(e,t){let r;if(nc)return nc;if(Hi.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new g_.InMemoryRedisClient,nc=r,r;let{authApiJWT:n,redisURL:i}=Hi.Environment.instance;if(!(0,b_.isString)(i))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,b_.isString)(n))throw new At.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=g_.StandardRedisClient.initialize(i,n,Hi.Environment.instance.deploymentName??"unknown",Hi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new At.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return nc=r,r}s(gN,"getRedisClient");async function __(e,t,r,n,i){let o=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:o,key:e}),requestId:i})}s(__,"getCountAndUpdateExpiry");function bN(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new At.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return s(async(i,o,a)=>{let c=await r(i,o,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw o.log.error(u),new At.RuntimeError(u)}return c},"outerFunction")}s(bN,"wrapUserFunction");var _N="Retry-After",EN=s(async(e,t,r,n)=>{let i=Date.now(),o=y_.SystemLogMap.getLogger(t),a=s((u,l)=>{if(r.throwOnFailure)throw new At.SystemError(u,{cause:l});o.error(u,l)},"throwOrLog"),c=s((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[_N]=l.toString()),dN.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:bN(r,n),user:mN,ip:fN,all:yN}[r.rateLimitBy],d=await l(e,t,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,g=r.headerMode??"retry-after",_=gN(n,o),T=`bucket/${Hi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??pN)==="async"){let L=await(0,uN.getPolicyCacheName)(n,r),ne=new lN.ZoneCache(L,{logger:y_.SystemLogMap.getLogger(t)}),ie=__(T,h,_,o,t.requestId),me=await ne.get(T);if(me!==void 0&&me<=Date.now()){rc(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${T}' (async mode)`);let Be=Math.round((me-Date.now())/1e3);return c(g,Be)}return t.addEventListener("responseSending",Be=>{try{let w=Be,H=w.mutableResponse;w.mutableResponse=(async()=>{let xe=await ie;if(xe.count>m){let yu=Date.now()+xe.ttlSeconds*1e3,nw=ne.put(T,yu,xe.ttlSeconds).catch(Fh=>{throw o.error(new At.SystemError("Error caching rate limit result.",{cause:Fh})),Fh});return t.waitUntil(nw),rc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (async mode)`),c(g,xe.ttlSeconds)}return H})()}catch(w){o.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,w)}}),e}let K=await __(T,h,_,o,t.requestId);return K.count>m?(rc(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${T}' (strict mode)`),c(g,K.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;rc(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");ic.RateLimitInboundPolicy=EN});var T_=y(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.ReadmeMetricsInboundPolicy=void 0;var wN=ve(),Xp=W(),w_=xr(),eh;function v_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}s(v_,"headersToNameValuePairs");function vN(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}s(vN,"queryToNameValueParis");function SN(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}s(SN,"parseIntOrUndefined");var S_={};async function TN(e,t,r,n){let i=new Date,o=Date.now();return eh||(eh={name:"zuplo",version:Xp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Xp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,w_.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,w_.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Xp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:eh,entries:[{startedDateTime:i.toISOString(),time:Date.now()-o,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:v_(e.headers),queryString:vN(e.query)},response:{status:a.status,statusText:a.statusText,headers:v_(a.headers),content:{size:SN(e.headers.get("content-length"))}}}]}}},d=S_[r.apiKey];if(!d){let p=r.apiKey;d=new wN.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let h=r.url??"https://metrics.readme.io/request",g=await fetch(h,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});g.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${g.status}: '${await g.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),S_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}s(TN,"ReadmeMetricsInboundPolicy");oc.ReadmeMetricsInboundPolicy=TN});var I_=y(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.RemoveHeadersInboundPolicy=void 0;var IN=O(),PN=Me(),AN=s(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new IN.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let o=new Headers(e.headers);return i.forEach(c=>{o.delete(c)}),new PN.ZuploRequest(e,{headers:o})},"RemoveHeadersInboundPolicy");sc.RemoveHeadersInboundPolicy=AN});var P_=y(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.RemoveHeadersOutboundPolicy=void 0;var RN=O(),ON=s(async(e,t,r,n,i)=>{let o=n?.headers;if(!o||!Array.isArray(o)||o.length===0)throw new RN.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return o.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");ac.RemoveHeadersOutboundPolicy=ON});var A_=y(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.RemoveQueryParamsInboundPolicy=void 0;var NN=O(),CN=Me(),xN=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new NN.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let o=new URL(e.url);return i.forEach(c=>{o.searchParams.delete(c)}),new CN.ZuploRequest(o.toString(),e)},"RemoveQueryParamsInboundPolicy");cc.RemoveQueryParamsInboundPolicy=xN});var R_=y(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.ReplaceStringOutboundPolicy=void 0;var LN=s(async(e,t,r,n)=>{let i=await e.text(),o=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(o,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");uc.ReplaceStringOutboundPolicy=LN});var N_=y(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.RequestSizeLimitInboundPolicy=void 0;var O_=s(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),DN=s(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),o=i!==null?parseInt(i):void 0;return o&&!isNaN(o)&&o>r.maxSizeInBytes?O_():o&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?O_():e},"RequestSizeLimitInboundPolicy");lc.RequestSizeLimitInboundPolicy=DN});var dc=y(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function UN(e,t,r){return`_${Vr(e+"_"+t+"_"+r)}`}s(UN,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=UN;function kN(e,t,r,n){return`_${Vr(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}s(kN,"getIdForParameterSchema");tt.getIdForParameterSchema=kN;function MN(e,t,r){return`_${Vr(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Vr(r.toLowerCase())}`}s(MN,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=MN;function HN(e,t){return`_${Vr(e)}__${Vr(t)}`}s(HN,"getIdForRefSchema");tt.getIdForRefSchema=HN;function Vr(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}s(Vr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Vr});var Fi=y(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var FN=Rr(),qN=dc(),$N=s(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=$N;var jN=s((e,t,r,n,i)=>{let o=[],a=!0,c=[];return e.forEach(u=>{let l=u.required||i==="path";if(l&&!t[u.name])a=!1,o.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!t[u.name])){let d=(0,qN.getIdForParameterSchema)(r,n,i,u.name),p=FN.Gateway.instance.schemaValidator[d],m=p(t[u.name]),h=(0,Le.getErrorsFromValidator)(p.errors);m||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),o.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:o}},"validateParameters");Le.validateParameters=jN;var VN=s((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=VN;var GN=s(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=GN;var BN=s(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=BN;var KN=s(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=KN});var C_=y(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.handleBodyValidation=void 0;var JN=Rr(),pc=te(),zN=dc(),Je=Fi();async function WN(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let g=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,_=pc.HttpProblems.badRequest(t,e,{detail:`${g}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",g,[n],h),(0,Je.shouldReject)(r.validateBody))return _}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,g=pc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}let i=t.headers.get("Content-Type"),o=i.indexOf(";");o>-1&&(i=i.substring(0,o));let a=(0,zN.getIdForRequestBodySchema)(e.route.path,t.method,i),c=JN.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,g=pc.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?g:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),m=pc.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return m}s(WN,"handleBodyValidation");hc.handleBodyValidation=WN});var x_=y(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.handleHeadersValidation=void 0;var QN=te(),qi=Fi();function YN(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,qi.getParametersForOperation)(e),o=(0,qi.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!o.isValid){let a="Header validation failed",c=QN.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:o.errors});if((0,qi.shouldLog)(r.validateHeaders)&&(0,qi.logErrors)(e,r.logLevel??"info",a,o.invalidValues,o.errors),(0,qi.shouldReject)(r.validateHeaders))return c}}s(YN,"handleHeadersValidation");fc.handleHeadersValidation=YN});var L_=y(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.handlePathParameterValidation=void 0;var ZN=te(),$i=Fi();function XN(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,$i.getParametersForOperation)(e),i=(0,$i.validateParameters)(n.filter(o=>o.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let o="Path parameters validation failed",a=ZN.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,$i.shouldLog)(r.validatePathParameters)&&(0,$i.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,$i.shouldReject)(r.validatePathParameters))return a}}s(XN,"handlePathParameterValidation");mc.handlePathParameterValidation=XN});var D_=y(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.handleQueryParameterValidation=void 0;var eC=te(),ji=Fi();function tC(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,ji.getParametersForOperation)(e),i=(0,ji.validateParameters)(n.filter(o=>o.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let o="Query parameters validation failed",a=eC.HttpProblems.badRequest(t,e,{detail:`${o}, see errors property for more details`,errors:i.errors});if((0,ji.shouldLog)(r.validateQueryParameters)&&(0,ji.logErrors)(e,r.logLevel??"info",o,i.invalidValues,i.errors),(0,ji.shouldReject)(r.validateQueryParameters))return a}}s(tC,"handleQueryParameterValidation");yc.handleQueryParameterValidation=tC});var U_=y(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.SchemaBasedRequestValidation=Gr.RequestValidationInboundPolicy=void 0;var rC=C_(),nC=x_(),iC=L_(),oC=D_(),sC=s(async(e,t,r)=>{let n=(0,oC.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,iC.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,nC.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,rC.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Gr.RequestValidationInboundPolicy=sC;Gr.SchemaBasedRequestValidation=Gr.RequestValidationInboundPolicy});var k_=y(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.RequireOriginInboundPolicy=void 0;var aC=O(),cC=te(),uC=s(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new aC.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let o=e.headers.get("origin");if(!o||!i.includes(o)){let a=r.failureDetail??"Forbidden";return cC.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");gc.RequireOriginInboundPolicy=uC});var M_=y(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.SetBodyInboundPolicy=void 0;var lC=Me(),dC=s(async(e,t,r)=>new lC.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");bc.SetBodyInboundPolicy=dC});var F_=y(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.SetHeadersInboundPolicy=void 0;var H_=O(),pC=Me(),hC=s(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new H_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let o=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new H_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.has(c.name)||u)&&o.set(c.name,c.value)}),new pC.ZuploRequest(e,{headers:o})},"SetHeadersInboundPolicy");_c.SetHeadersInboundPolicy=hC});var $_=y(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.SetHeadersOutboundPolicy=void 0;var q_=O(),fC=s(async(e,t,r,n,i)=>{let o=n.headers;if(!o||!Array.isArray(o)||o.length==0)throw new q_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return o.forEach(u=>{if(!u.name||u.name.length===0)throw new q_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");Ec.SetHeadersOutboundPolicy=fC});var V_=y(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.SetQueryParamsInboundPolicy=void 0;var j_=O(),mC=Me(),yC=s(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new j_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let o=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new j_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!o.searchParams.has(c.name)||u)&&o.searchParams.set(c.name,c.value)}),new mC.ZuploRequest(o.toString(),e)},"SetQueryParamsInboundPolicy");wc.SetQueryParamsInboundPolicy=yC});var G_=y(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.SetStatusOutboundPolicy=void 0;var gC=s(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");vc.SetStatusOutboundPolicy=gC});var B_=y(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.SleepInboundPolicy=void 0;var bC=O(),_C=s(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),EC=s(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new bC.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await _C(r.sleepInMs),e},"SleepInboundPolicy");Sc.SleepInboundPolicy=EC});var J_=y(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.SupabaseJwtInboundPolicy=void 0;var K_=O(),wC=te(),vC=Me(),SC=qt(),TC=jt(),IC=s(async(e,t,r,n)=>{(0,SC.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},o=await(0,TC.OpenIdJwtInboundPolicy)(e,t,i,n);if(o instanceof Response)return o;if(!(o instanceof vC.ZuploRequest))throw new K_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return o;let c=e.user?.data.app_metadata;if(!c)throw new K_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?wC.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):o},"SupabaseJwtInboundPolicy");Tc.SupabaseJwtInboundPolicy=IC});var W_=y(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var PC=$t(),AC=Kt(),z_=O(),RC=bn(),OC=qt(),NC=s(async(e,t,r,n)=>{(0,OC.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,PC.getPolicyCacheName)(n,r),o=new AC.MemoryZoneReadThroughCache(i,t),a=await o.get(n);if(!a){let c=await CC(r,t);o.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Ic.UpstreamAzureAdServiceAuthInboundPolicy=NC;async function CC(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,RC.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let o=await n.text();t.log.error("Could not get token from Azure AD",o)}catch{}throw new z_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new z_.RuntimeError("Response returned from Azure AD is not in the expected format.")}s(CC,"getAccessToken")});var Y_=y(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var xC=$t(),LC=Kt(),DC=O(),th=_n(),UC=qt(),Q_="https://accounts.google.com/o/oauth2/token",rh,kC=s(async(e,t,r,n)=>{(0,UC.optionValidator)(r,n).required("serviceAccountJson","string"),rh||(rh=await th.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},o=await(0,xC.getPolicyCacheName)(n,r),a=new LC.MemoryZoneReadThroughCache(o,t),c=await a.get(n);if(!c){let u=await(0,th.getTokenFromGcpServiceAccount)({serviceAccount:rh,audience:Q_,payload:i}),l=await(0,th.exchangeGgpJwtForIdToken)(Q_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new DC.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Pc.UpstreamFirebaseAdminAuthInboundPolicy=kC});var Z_=y(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.UpstreamFirebaseUserAuthInboundPolicy=void 0;var MC=$t(),HC=Kt(),Bn=O(),FC=Hp(),nh=_n(),qC=xr(),$C=qt(),jC="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",VC=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],ih,GC=s(async(e,t,r,n)=>{if((0,$C.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Bn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(VC.indexOf(p)!==-1)throw new Bn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}ih||(ih=await nh.GcpServiceAccount.init(r.serviceAccountJson));let o=r.userId;if(!o&&!r.userIdPropertyPath){if(!e.user)throw new Bn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");o=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Bn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);o=(0,qC.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!o)throw new Bn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,MC.getPolicyCacheName)(n,r),c=new HC.MemoryZoneReadThroughCache(a,t),u={uid:o,claims:i},l=await(0,FC.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,nh.getTokenFromGcpServiceAccount)({serviceAccount:ih,audience:jC,payload:u}),m=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,nh.exchangeFirebaseJwtForIdToken)(m,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Bn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Ac.UpstreamFirebaseUserAuthInboundPolicy=GC});var eE=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.UpstreamGcpJwtInboundPolicy=void 0;var X_=_n(),BC=qt(),oh,KC=s(async(e,t,r,n)=>{(0,BC.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),oh||(oh=await X_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,X_.getTokenFromGcpServiceAccount)({serviceAccount:oh,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Rc.UpstreamGcpJwtInboundPolicy=KC});var rE=y(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.UpstreamGcpServiceAuthInboundPolicy=void 0;var JC=$t(),zC=Su(),WC=Kt(),Vi=O(),sh=_n(),QC=xr(),YC=qt(),tE="https://www.googleapis.com/oauth2/v4/token",ah,ZC=s(async(e,t,r,n)=>{(0,YC.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),ah||(ah=await sh.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new Vi.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,QC.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof Vi.ConfigurationError?new Vi.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let o=await(0,JC.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new zC.MemoryCache(o):a=new WC.MemoryZoneReadThroughCache(o,t);let c=await a.get(n);if(!c){let u=await(0,sh.getTokenFromGcpServiceAccount)({serviceAccount:ah,audience:tE,payload:i}),l=await(0,sh.exchangeGgpJwtForIdToken)(tE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new Vi.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new Vi.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamGcpServiceAuthInboundPolicy");Oc.UpstreamGcpServiceAuthInboundPolicy=ZC});var iE=y(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.ValidateJsonSchemaInbound=void 0;var XC=O(),nE=te(),ex=s(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return nE.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new XC.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return nE.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");Nc.ValidateJsonSchemaInbound=ex});var oE=y(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.ServiceProviderImpl=void 0;var tx=O(),ch=class{static{s(this,"ServiceProviderImpl")}services=new Map;addService(t,r){if(this.services.get(t))throw new tx.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};Cc.ServiceProviderImpl=ch});var gE=y(f=>{"use strict";var rx=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),uh=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&rx(t,e,r)},nx=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.MeteringInboundPolicy=f.LoadSubscriptionInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.RuntimeError=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.StripeWebhookVerificationInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=void 0;Bh();var ix=Kt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return ix.MemoryZoneReadThroughCache}});var ox=ai();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return ox.ZoneCache}});var sE=Or();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return sE.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return sE.ResponseSentEvent}});var sx=Ws();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return sx.ContextData}});var lh=vn();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return lh.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return lh.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return lh.isZuploReadableEnvVariableName}});var aE=O();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return aE.ConfigurationError}});Object.defineProperty(f,"RuntimeError",{enumerable:!0,get:function(){return aE.RuntimeError}});var ax=Md();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return ax.originalFetch}});var cE=Eg();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return cE.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return cE.purgeGatewayCache}});var uE=Mg();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return uE.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return uE.awsLambdaHandler}});var cx=Fg();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return cx.openApiSpecHandler}});var ux=qg();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return ux.redirectHandler}});var lx=jg();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return lx.urlForwardHandler}});var dx=Gg();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return dx.urlRewriteHandler}});var px=Kg();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return px.webSocketHandler}});var hx=Wg();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return hx.webSocketPipelineHandler}});var fx=zu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return fx.HttpStatusCode}});uh(nb(),f);uh(sb(),f);var mx=ab();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return mx.AuditLogDataStaxProvider}});var yx=ub();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return yx.AuditLogPlugin}});uh(Tb(),f);var lE=Ob();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return lE.AmberfloMeteringPolicy}});var gx=Db();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return gx.ApiAuthKeyInboundPolicy}});var bx=$p();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return bx.ApiKeyInboundPolicy}});var _x=Ub();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return _x.Auth0JwtInboundPolicy}});var Ex=kb();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return Ex.BasicAuthInboundPolicy}});var wx=Mb();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return wx.CachingInboundPolicy}});var vx=Hb();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return vx.ChangeMethodInboundPolicy}});var Sx=Fb();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return Sx.ClearHeadersInboundPolicy}});var Tx=qb();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return Tx.ClearHeadersOutboundPolicy}});var Ix=$b();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return Ix.ClerkJwtInboundPolicy}});var Px=Vb();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return Px.CognitoJwtInboundPolicy}});var Ax=Bb();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return Ax.CompositeInboundPolicy}});var Rx=Kb();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return Rx.CurityPhantomTokenInboundPolicy}});var Ox=Jb();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return Ox.FirebaseJwtInboundPolicy}});var Nx=zb();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return Nx.FormDataToJsonInboundPolicy}});var Cx=Wb();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return Cx.GeoFilterInboundPolicy}});var xx=Qb();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return xx.JWTScopeValidationInboundPolicy}});var Lx=Xb();Object.defineProperty(f,"LoadSubscriptionInboundPolicy",{enumerable:!0,get:function(){return Lx.LoadSubscriptionInboundPolicy}});var Dx=i_();Object.defineProperty(f,"MeteringInboundPolicy",{enumerable:!0,get:function(){return Dx.MeteringInboundPolicy}});var Ux=s_();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return Ux.MockApiInboundPolicy}});var dE=d_();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return dE.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return dE.setMoesifContext}});var kx=p_();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return kx.OktaJwtInboundPolicy}});var Mx=jt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return Mx.OpenIdJwtInboundPolicy}});var Hx=h_();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return Hx.PropelAuthJwtInboundPolicy}});var pE=E_();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return pE.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return pE.RateLimitInboundPolicy}});var Fx=T_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return Fx.ReadmeMetricsInboundPolicy}});var qx=I_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return qx.RemoveHeadersInboundPolicy}});var $x=P_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return $x.RemoveHeadersOutboundPolicy}});var jx=A_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return jx.RemoveQueryParamsInboundPolicy}});var Vx=R_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return Vx.ReplaceStringOutboundPolicy}});var Gx=N_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return Gx.RequestSizeLimitInboundPolicy}});var hE=U_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return hE.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return hE.SchemaBasedRequestValidation}});var Bx=k_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return Bx.RequireOriginInboundPolicy}});var Kx=M_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return Kx.SetBodyInboundPolicy}});var Jx=F_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return Jx.SetHeadersInboundPolicy}});var zx=$_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return zx.SetHeadersOutboundPolicy}});var Wx=V_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Wx.SetQueryParamsInboundPolicy}});var Qx=G_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return Qx.SetStatusOutboundPolicy}});var Yx=B_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return Yx.SleepInboundPolicy}});var Zx=bp();Object.defineProperty(f,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return Zx.StripeWebhookVerificationInboundPolicy}});var Xx=J_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return Xx.SupabaseJwtInboundPolicy}});var eL=W_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return eL.UpstreamAzureAdServiceAuthInboundPolicy}});var tL=Y_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return tL.UpstreamFirebaseAdminAuthInboundPolicy}});var rL=Z_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return rL.UpstreamFirebaseUserAuthInboundPolicy}});var nL=eE();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return nL.UpstreamGcpJwtInboundPolicy}});var iL=rE();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return iL.UpstreamGcpServiceAuthInboundPolicy}});var oL=iE();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return oL.ValidateJsonSchemaInbound}});var sL=te();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return sL.HttpProblems}});var aL=wo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return aL.ProblemResponseFormatter}});var cL=Me();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return cL.ZuploRequest}});var uL=Cr();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return uL.SystemRouteName}});var fE=Ad();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return fE.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return fE.Router}});var mE=Hu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return mE.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return mE.serialize}});var lL=oE();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return lL.ServiceProviderImpl}});var yE=al();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return yE.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return yE.SYSTEM_LOGGER}});var dL=Qu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return nx(dL).default}});var pL=He();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return pL.SystemLogMap}});var Gi=dc();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Gi.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Gi.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Gi.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Gi.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Gi.sanitizedIdentifierName}})});var bE=y(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.BaseCryptoBeta=Kn.supportedDigests=void 0;Kn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var dh=class{static{s(this,"BaseCryptoBeta")}};Kn.BaseCryptoBeta=dh});var _E=y(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.WorkerCryptoBeta=void 0;var ph=bE(),hL=O(),hh=class extends ph.BaseCryptoBeta{static{s(this,"WorkerCryptoBeta")}async digest(t,r){if(!ph.supportedDigests.includes(t.toLowerCase()))throw new hL.RuntimeError(`Algorithm ${t} is not supported. Try using ${ph.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};xc.WorkerCryptoBeta=hh});var EE=y(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.BaseKeyValueStore=void 0;var fh=class{static{s(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};Lc.BaseKeyValueStore=fh});var vE=y(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.WorkerKeyValueStore=void 0;var wE=O(),fL=EE(),mh=class extends fL.BaseKeyValueStore{static{s(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new wE.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new wE.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};Dc.WorkerKeyValueStore=mh});var Dt=y(lt=>{"use strict";var mL=lt&&lt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),yL=lt&&lt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&mL(t,e,r)};Object.defineProperty(lt,"__esModule",{value:!0});lt.KeyValueStore=lt.CryptoBeta=void 0;yL(gE(),lt);var gL=_E();Object.defineProperty(lt,"CryptoBeta",{enumerable:!0,get:function(){return gL.WorkerCryptoBeta}});var bL=vE();Object.defineProperty(lt,"KeyValueStore",{enumerable:!0,get:function(){return bL.WorkerKeyValueStore}})});var ID={};so(ID,{GraphQLComplexityLimitInboundPolicy:()=>ew,GraphQLDisableIntrospectionInboundPolicy:()=>rw});module.exports=ao(ID);var ii=$h(Dt());function G(e,t){if(!!!e)throw new Error(t)}s(G,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}s(Ee,"isObjectLike");function Rt(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}s(Rt,"invariant");var _L=/\r\n|[\n\r]/g;function Jn(e,t){let r=0,n=1;for(let i of e.body.matchAll(_L)){if(typeof i.index=="number"||Rt(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}s(Jn,"getLocation");function yh(e){return Uc(e.source,Jn(e.source,e.start))}s(yh,"printLocation");function Uc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
75
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),h=u%80,g=[];for(let _=0;_<p.length;_+=80)g.push(p.slice(_,_+80));return l+SE([[`${a} |`,g[0]],...g.slice(1,m+1).map(_=>["|",_]),["|","^".padStart(h)],["|",g[m+1]]])}return l+SE([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}s(Uc,"printSourceLocation");function SE(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
76
+ `)}s(SE,"printPrefixedLines");function EL(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}s(EL,"toNormalizedOptions");var x=class e extends Error{static{s(this,"GraphQLError")}constructor(t,...r){var n,i,o;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=EL(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=TE(Array.isArray(a)?a:a?[a]:void 0);let m=TE((n=this.nodes)===null||n===void 0?void 0:n.map(g=>g.loc).filter(g=>g!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(g=>g.start),this.locations=u&&c?u.map(g=>Jn(c,g)):m?.map(g=>Jn(g.source,g.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(o=p??h)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
77
77
 
78
- `+lh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
78
+ `+yh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
79
79
 
80
- `+Uc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function TE(e){return e===void 0||e.length===0?void 0:e}o(TE,"undefinedIfEmpty");function de(e,t,r){return new C(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(de,"syntaxError");var Bi=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},zn=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},dh={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},EL=new Set(Object.keys(dh));function Ki(e){let t=e?.kind;return typeof t=="string"&&EL.has(t)}o(Ki,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var B;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(B||(B={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function kc(e){return e===9||e===32}o(kc,"isWhiteSpace");function Wn(e){return e>=48&&e<=57}o(Wn,"isDigit");function IE(e){return e>=97&&e<=122||e>=65&&e<=90}o(IE,"isLetter");function Ji(e){return IE(e)||e===95}o(Ji,"isNameStart");function Mc(e){return IE(e)||Wn(e)||e===95}o(Mc,"isNameContinue");function PE(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=wL(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(PE,"dedentBlockStringLines");function wL(e){let t=0;for(;t<e.length&&kc(e.charCodeAt(t));)++t;return t}o(wL,"leadingWhitespace");function AE(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||kc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",m=i&&kc(e.charCodeAt(0));return(d&&!m||s)&&(p+=`
80
+ `+Uc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function TE(e){return e===void 0||e.length===0?void 0:e}s(TE,"undefinedIfEmpty");function de(e,t,r){return new x(`Syntax Error: ${r}`,{source:e,positions:[t]})}s(de,"syntaxError");var Bi=class{static{s(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},zn=class{static{s(this,"Token")}constructor(t,r,n,i,o,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=o,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},gh={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},wL=new Set(Object.keys(gh));function Ki(e){let t=e?.kind;return typeof t=="string"&&wL.has(t)}s(Ki,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var B;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(B||(B={}));var b;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(b||(b={}));function kc(e){return e===9||e===32}s(kc,"isWhiteSpace");function Wn(e){return e>=48&&e<=57}s(Wn,"isDigit");function IE(e){return e>=97&&e<=122||e>=65&&e<=90}s(IE,"isLetter");function Ji(e){return IE(e)||e===95}s(Ji,"isNameStart");function Mc(e){return IE(e)||Wn(e)||e===95}s(Mc,"isNameContinue");function PE(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var o;let c=e[a],u=vL(c);u!==c.length&&(n=(o=n)!==null&&o!==void 0?o:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}s(PE,"dedentBlockStringLines");function vL(e){let t=0;for(;t<e.length&&kc(e.charCodeAt(t));)++t;return t}s(vL,"leadingWhitespace");function AE(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,o=n.length>1&&n.slice(1).every(h=>h.length===0||kc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||o||a),p="",m=i&&kc(e.charCodeAt(0));return(d&&!m||o)&&(p+=`
81
81
  `),p+=r,(d||l)&&(p+=`
82
- `),'"""'+p+'"""'}o(AE,"printBlockString");var E;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(E||(E={}));var Wi=class{static{o(this,"Lexer")}constructor(t){let r=new zn(E.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==E.EOF)do if(t.next)t=t.next;else{let r=vL(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===E.COMMENT);return t}};function OE(e){return e===E.BANG||e===E.DOLLAR||e===E.AMP||e===E.PAREN_L||e===E.PAREN_R||e===E.SPREAD||e===E.COLON||e===E.EQUALS||e===E.AT||e===E.BRACKET_L||e===E.BRACKET_R||e===E.BRACE_L||e===E.PIPE||e===E.BRACE_R}o(OE,"isPunctuatorTokenKind");function Qn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(Qn,"isUnicodeScalarValue");function Hc(e,t){return NE(e.charCodeAt(t))&&xE(e.charCodeAt(t+1))}o(Hc,"isSupplementaryCodePoint");function NE(e){return e>=55296&&e<=56319}o(NE,"isLeadingSurrogate");function xE(e){return e>=56320&&e<=57343}o(xE,"isTrailingSurrogate");function Gr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return E.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(Gr,"printCodePointAt");function fe(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new zn(t,r,n,s,a,i)}o(fe,"createToken");function vL(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return SL(e,i);case 33:return fe(e,E.BANG,i,i+1);case 36:return fe(e,E.DOLLAR,i,i+1);case 38:return fe(e,E.AMP,i,i+1);case 40:return fe(e,E.PAREN_L,i,i+1);case 41:return fe(e,E.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,E.SPREAD,i,i+3);break;case 58:return fe(e,E.COLON,i,i+1);case 61:return fe(e,E.EQUALS,i,i+1);case 64:return fe(e,E.AT,i,i+1);case 91:return fe(e,E.BRACKET_L,i,i+1);case 93:return fe(e,E.BRACKET_R,i,i+1);case 123:return fe(e,E.BRACE_L,i,i+1);case 124:return fe(e,E.PIPE,i,i+1);case 125:return fe(e,E.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?OL(e,i):IL(e,i)}if(Wn(s)||s===45)return TL(e,i,s);if(Ji(s))return NL(e,i);throw de(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Qn(s)||Hc(r,i)?`Unexpected character: ${Gr(e,i)}.`:`Invalid character: ${Gr(e,i)}.`)}return fe(e,E.EOF,n,n)}o(vL,"readNextToken");function SL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(Qn(s))++i;else if(Hc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}o(SL,"readComment");function TL(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),Wn(s))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Gr(e,i)}.`)}else i=ph(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=ph(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=ph(e,i,s),s=n.charCodeAt(i)),s===46||Ji(s))throw de(e.source,i,`Invalid number, expected digit but got: ${Gr(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}o(TL,"readNumber");function ph(e,t,r){if(!Wn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Gr(e,t)}.`);let n=e.source.body,i=t+1;for(;Wn(n.charCodeAt(i));)++i;return i}o(ph,"readDigits");function IL(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),fe(e,E.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?PL(e,i):AL(e,i):RL(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(Qn(c))++i;else if(Hc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Gr(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}o(IL,"readString");function PL(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!Qn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|zi(s),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(PL,"readEscapedUnicodeVariableWidth");function AL(e,t){let r=e.source.body,n=RE(r,t+2);if(Qn(n))return{value:String.fromCodePoint(n),size:6};if(NE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=RE(r,t+8);if(xE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(AL,"readEscapedUnicodeFixedWidth");function RE(e,t){return zi(e.charCodeAt(t))<<12|zi(e.charCodeAt(t+1))<<8|zi(e.charCodeAt(t+2))<<4|zi(e.charCodeAt(t+3))}o(RE,"read16BitHexCode");function zi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(zi,"readHexDigit");function RL(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
83
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(RL,"readEscapedCharacter");function OL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=fe(e,E.BLOCK_STRING,t,s+3,PE(u).join(`
84
- `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(Qn(l))++s;else if(Hc(r,s))s+=2;else throw de(e.source,s,`Invalid character within String: ${Gr(e,s)}.`)}throw de(e.source,s,"Unterminated string.")}o(OL,"readBlockString");function NL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(Mc(s))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}o(NL,"readName");function P(e){return Fc(e,[])}o(P,"inspect");function Fc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return xL(e,t);default:return String(e)}}o(Fc,"formatValue");function xL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(CL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Fc(n,r)}else if(Array.isArray(e))return DL(e,r);return LL(e,r)}o(xL,"formatObjectValue");function CL(e){return typeof e.toJSON=="function"}o(CL,"isJSONable");function LL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+UL(e)+"]":"{ "+r.map(([i,s])=>i+": "+Fc(s,t)).join(", ")+" }"}o(LL,"formatObject");function DL(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(Fc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(DL,"formatArray");function UL(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(UL,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
82
+ `),'"""'+p+'"""'}s(AE,"printBlockString");var E;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(E||(E={}));var Wi=class{static{s(this,"Lexer")}constructor(t){let r=new zn(E.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==E.EOF)do if(t.next)t=t.next;else{let r=SL(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===E.COMMENT);return t}};function OE(e){return e===E.BANG||e===E.DOLLAR||e===E.AMP||e===E.PAREN_L||e===E.PAREN_R||e===E.SPREAD||e===E.COLON||e===E.EQUALS||e===E.AT||e===E.BRACKET_L||e===E.BRACKET_R||e===E.BRACE_L||e===E.PIPE||e===E.BRACE_R}s(OE,"isPunctuatorTokenKind");function Qn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}s(Qn,"isUnicodeScalarValue");function Hc(e,t){return NE(e.charCodeAt(t))&&CE(e.charCodeAt(t+1))}s(Hc,"isSupplementaryCodePoint");function NE(e){return e>=55296&&e<=56319}s(NE,"isLeadingSurrogate");function CE(e){return e>=56320&&e<=57343}s(CE,"isTrailingSurrogate");function Br(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return E.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}s(Br,"printCodePointAt");function fe(e,t,r,n,i){let o=e.line,a=1+r-e.lineStart;return new zn(t,r,n,o,a,i)}s(fe,"createToken");function SL(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let o=r.charCodeAt(i);switch(o){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return TL(e,i);case 33:return fe(e,E.BANG,i,i+1);case 36:return fe(e,E.DOLLAR,i,i+1);case 38:return fe(e,E.AMP,i,i+1);case 40:return fe(e,E.PAREN_L,i,i+1);case 41:return fe(e,E.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return fe(e,E.SPREAD,i,i+3);break;case 58:return fe(e,E.COLON,i,i+1);case 61:return fe(e,E.EQUALS,i,i+1);case 64:return fe(e,E.AT,i,i+1);case 91:return fe(e,E.BRACKET_L,i,i+1);case 93:return fe(e,E.BRACKET_R,i,i+1);case 123:return fe(e,E.BRACE_L,i,i+1);case 124:return fe(e,E.PIPE,i,i+1);case 125:return fe(e,E.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?NL(e,i):PL(e,i)}if(Wn(o)||o===45)return IL(e,i,o);if(Ji(o))return CL(e,i);throw de(e.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Qn(o)||Hc(r,i)?`Unexpected character: ${Br(e,i)}.`:`Invalid character: ${Br(e,i)}.`)}return fe(e,E.EOF,n,n)}s(SL,"readNextToken");function TL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(Qn(o))++i;else if(Hc(r,i))i+=2;else break}return fe(e,E.COMMENT,t,i,r.slice(t+1,i))}s(TL,"readComment");function IL(e,t,r){let n=e.source.body,i=t,o=r,a=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),Wn(o))throw de(e.source,i,`Invalid number, unexpected digit after 0: ${Br(e,i)}.`)}else i=bh(e,i,o),o=n.charCodeAt(i);if(o===46&&(a=!0,o=n.charCodeAt(++i),i=bh(e,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(a=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=bh(e,i,o),o=n.charCodeAt(i)),o===46||Ji(o))throw de(e.source,i,`Invalid number, expected digit but got: ${Br(e,i)}.`);return fe(e,a?E.FLOAT:E.INT,t,i,n.slice(t,i))}s(IL,"readNumber");function bh(e,t,r){if(!Wn(r))throw de(e.source,t,`Invalid number, expected digit but got: ${Br(e,t)}.`);let n=e.source.body,i=t+1;for(;Wn(n.charCodeAt(i));)++i;return i}s(bh,"readDigits");function PL(e,t){let r=e.source.body,n=r.length,i=t+1,o=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(o,i),fe(e,E.STRING,t,i+1,a);if(c===92){a+=r.slice(o,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?AL(e,i):RL(e,i):OL(e,i);a+=u.value,i+=u.size,o=i;continue}if(c===10||c===13)break;if(Qn(c))++i;else if(Hc(r,i))i+=2;else throw de(e.source,i,`Invalid character within String: ${Br(e,i)}.`)}throw de(e.source,i,"Unterminated string.")}s(PL,"readString");function AL(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(t+i++);if(o===125){if(i<5||!Qn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|zi(o),n<0)break}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}s(AL,"readEscapedUnicodeVariableWidth");function RL(e,t){let r=e.source.body,n=RE(r,t+2);if(Qn(n))return{value:String.fromCodePoint(n),size:6};if(NE(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=RE(r,t+8);if(CE(i))return{value:String.fromCodePoint(n,i),size:12}}throw de(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}s(RL,"readEscapedUnicodeFixedWidth");function RE(e,t){return zi(e.charCodeAt(t))<<12|zi(e.charCodeAt(t+1))<<8|zi(e.charCodeAt(t+2))<<4|zi(e.charCodeAt(t+3))}s(RE,"read16BitHexCode");function zi(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}s(zi,"readHexDigit");function OL(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
83
+ `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw de(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}s(OL,"readEscapedCharacter");function NL(e,t){let r=e.source.body,n=r.length,i=e.lineStart,o=t+3,a=o,c="",u=[];for(;o<n;){let l=r.charCodeAt(o);if(l===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){c+=r.slice(a,o),u.push(c);let d=fe(e,E.BLOCK_STRING,t,o+3,PE(u).join(`
84
+ `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){c+=r.slice(a,o),a=o+1,o+=4;continue}if(l===10||l===13){c+=r.slice(a,o),u.push(c),l===13&&r.charCodeAt(o+1)===10?o+=2:++o,c="",a=o,i=o;continue}if(Qn(l))++o;else if(Hc(r,o))o+=2;else throw de(e.source,o,`Invalid character within String: ${Br(e,o)}.`)}throw de(e.source,o,"Unterminated string.")}s(NL,"readBlockString");function CL(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let o=r.charCodeAt(i);if(Mc(o))++i;else break}return fe(e,E.NAME,t,i,r.slice(t,i))}s(CL,"readName");function P(e){return Fc(e,[])}s(P,"inspect");function Fc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return xL(e,t);default:return String(e)}}s(Fc,"formatValue");function xL(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(LL(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:Fc(n,r)}else if(Array.isArray(e))return UL(e,r);return DL(e,r)}s(xL,"formatObjectValue");function LL(e){return typeof e.toJSON=="function"}s(LL,"isJSONable");function DL(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+kL(e)+"]":"{ "+r.map(([i,o])=>i+": "+Fc(o,t)).join(", ")+" }"}s(DL,"formatObject");function UL(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let o=0;o<r;++o)i.push(Fc(e[o],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}s(UL,"formatArray");function kL(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}s(kL,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?s(function(t,r){return t instanceof r},"instanceOf"):s(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],o=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===o){let a=P(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
85
85
 
86
86
  Ensure that there is only one instance of "graphql" in the node_modules
87
87
  directory. If different versions of "graphql" are the dependencies of other
@@ -92,39 +92,39 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
92
92
  Duplicate "graphql" modules cannot be used at the same time since different
93
93
  versions may have different capabilities and behavior. The data from one
94
94
  version used in the function from another could produce confusing and
95
- spurious results.`)}}return!1},"instanceOf");var Yn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function CE(e){return ze(e,Yn)}o(CE,"isSource");function jc(e,t){return new $c(e,t).parseDocument()}o(jc,"parse");function Vc(e,t){let r=new $c(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}o(Vc,"parseValue");var $c=class{static{o(this,"Parser")}constructor(t,r={}){let n=CE(t)?t:new Yn(t);this._lexer=new Wi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(E.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(E.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(E.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===E.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(E.STRING)||this.peek(E.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(E.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(E.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${qc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Bi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${LE(t)}, found ${qc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${qc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${qc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function qc(e){let t=e.value;return LE(e.kind)+(t!=null?` "${t}"`:"")}o(qc,"getTokenDesc");function LE(e){return OE(e)?`"${e}"`:e}o(LE,"getTokenKindDesc");function Gc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(Gc,"didYouMean");function hh(e){return e}o(hh,"identityFunc");function Zn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Zn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(Ot,"keyValMap");function Qi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(Qi,"mapValue");function DE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(Bc(i)&&Bc(s)){let a=0;do++r,a=a*10+i-fh,i=e.charCodeAt(r);while(Bc(i)&&a>0);let c=0;do++n,c=c*10+s-fh,s=t.charCodeAt(n);while(Bc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(DE,"naturalCompare");var fh=48,kL=57;function Bc(e){return!isNaN(e)&&fh<=e&&e<=kL}o(Bc,"isDigit");function Kc(e,t){let r=Object.create(null),n=new mh(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:DE(s,a)})}o(Kc,"suggestionList");var mh=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=UE(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=UE(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],h=m[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===s[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===s[g-2]&&i[d-2]===s[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function UE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(UE,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(De,"toObjMap");function kE(e){return`"${e.replace(ML,HL)}"`}o(kE,"printString");var ML=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function HL(e){return FL[e.charCodeAt(0)]}o(HL,"escapedReplacer");var FL=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var yh=Object.freeze({});function br(e,t,r=dh){let n=new Map;for(let T of Object.values(b))n.set(T,Xn(t,T));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,U=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),U)if(s){l=l.slice();let L=0;for(let[ne,ie]of u){let me=ne-L;ie===null?(l.splice(me,1),L++):l[me]=ie}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,ne]of u)l[L]=ne}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;m.push(d)}let K;if(!Array.isArray(l)){var g,_;Ki(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,m,h),K===yh)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Ki(K))l=K;else{m.pop();continue}}if(K===void 0&&U&&u.push([d,l]),T)m.pop();else{var S;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(br,"visit");function Xn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(Xn,"getEnterLeaveForKind");function Ue(e){return br(e,$L)}o(Ue,"print");var qL=80,$L={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
95
+ spurious results.`)}}return!1},"instanceOf");var Yn=class{static{s(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||G(!1,`Body must be a string. Received: ${P(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||G(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||G(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function xE(e){return ze(e,Yn)}s(xE,"isSource");function jc(e,t){return new $c(e,t).parseDocument()}s(jc,"parse");function Vc(e,t){let r=new $c(e,t);r.expectToken(E.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(E.EOF),n}s(Vc,"parseValue");var $c=class{static{s(this,"Parser")}constructor(t,r={}){let n=xE(t)?t:new Yn(t);this._lexer=new Wi(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(E.NAME);return this.node(t,{kind:b.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:b.DOCUMENT,definitions:this.many(E.SOF,this.parseDefinition,E.EOF)})}parseDefinition(){if(this.peek(E.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===E.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw de(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(E.BRACE_L))return this.node(t,{kind:b.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(E.NAME)&&(n=this.parseName()),this.node(t,{kind:b.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(E.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(E.PAREN_L,this.parseVariableDefinition,E.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:b.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(E.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(E.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(E.DOLLAR),this.node(t,{kind:b.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:b.SELECTION_SET,selections:this.many(E.BRACE_L,this.parseSelection,E.BRACE_R)})}parseSelection(){return this.peek(E.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(E.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:b.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(E.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(E.PAREN_L,r,E.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(E.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(E.NAME)?this.node(t,{kind:b.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:b.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:b.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case E.BRACKET_L:return this.parseList(t);case E.BRACE_L:return this.parseObject(t);case E.INT:return this.advanceLexer(),this.node(r,{kind:b.INT,value:r.value});case E.FLOAT:return this.advanceLexer(),this.node(r,{kind:b.FLOAT,value:r.value});case E.STRING:case E.BLOCK_STRING:return this.parseStringLiteral();case E.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:b.BOOLEAN,value:!0});case"false":return this.node(r,{kind:b.BOOLEAN,value:!1});case"null":return this.node(r,{kind:b.NULL});default:return this.node(r,{kind:b.ENUM,value:r.value})}case E.DOLLAR:if(t)if(this.expectToken(E.DOLLAR),this._lexer.token.kind===E.NAME){let n=this._lexer.token.value;throw de(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:b.STRING,value:t.value,block:t.kind===E.BLOCK_STRING})}parseList(t){let r=s(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:b.LIST,values:this.any(E.BRACKET_L,r,E.BRACKET_R)})}parseObject(t){let r=s(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:b.OBJECT,fields:this.any(E.BRACE_L,r,E.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(E.COLON),this.node(r,{kind:b.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(E.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(E.AT),this.node(r,{kind:b.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(E.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(E.BRACKET_R),r=this.node(t,{kind:b.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(E.BANG)?this.node(t,{kind:b.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:b.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(E.STRING)||this.peek(E.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);return this.node(t,{kind:b.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(E.COLON);let n=this.parseNamedType();return this.node(t,{kind:b.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:b.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(E.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseFieldDefinition,E.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(E.COLON);let o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:b.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(E.PAREN_L,this.parseInputValueDef,E.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(E.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(E.EQUALS)&&(o=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:b.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:b.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:b.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(E.EQUALS)?this.delimitedMany(E.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:b.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(E.BRACE_L,this.parseEnumValueDefinition,E.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:b.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw de(this._lexer.source,this._lexer.token.start,`${qc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(E.BRACE_L,this.parseInputValueDef,E.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===E.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(E.BRACE_L,this.parseOperationTypeDefinition,E.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:b.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:b.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:b.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(E.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:b.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(E.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(B,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Bi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw de(this._lexer.source,r.start,`Expected ${LE(t)}, found ${qc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===E.NAME&&r.value===t)this.advanceLexer();else throw de(this._lexer.source,r.start,`Expected "${t}", found ${qc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===E.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return de(this._lexer.source,r.start,`Unexpected ${qc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==E.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw de(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function qc(e){let t=e.value;return LE(e.kind)+(t!=null?` "${t}"`:"")}s(qc,"getTokenDesc");function LE(e){return OE(e)?`"${e}"`:e}s(LE,"getTokenKindDesc");function Gc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let o=n.map(u=>`"${u}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}let a=o.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}s(Gc,"didYouMean");function _h(e){return e}s(_h,"identityFunc");function Zn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}s(Zn,"keyMap");function Ot(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}s(Ot,"keyValMap");function Qi(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}s(Qi,"mapValue");function DE(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),o=t.charCodeAt(n);if(Bc(i)&&Bc(o)){let a=0;do++r,a=a*10+i-Eh,i=e.charCodeAt(r);while(Bc(i)&&a>0);let c=0;do++n,c=c*10+o-Eh,o=t.charCodeAt(n);while(Bc(o)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return e.length-t.length}s(DE,"naturalCompare");var Eh=48,ML=57;function Bc(e){return!isNaN(e)&&Eh<=e&&e<=ML}s(Bc,"isDigit");function Kc(e,t){let r=Object.create(null),n=new wh(e),i=Math.floor(e.length*.4)+1;for(let o of t){let a=n.measure(o,i);a!==void 0&&(r[o]=a)}return Object.keys(r).sort((o,a)=>{let c=r[o]-r[a];return c!==0?c:DE(o,a)})}s(Kc,"suggestionList");var wh=class{static{s(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=UE(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=UE(n),o=this._inputArray;if(i.length<o.length){let d=i;i=o,o=d}let a=i.length,c=o.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],h=m[0]=d;for(let g=1;g<=c;g++){let _=i[d-1]===o[g-1]?0:1,S=Math.min(p[g]+1,m[g-1]+1,p[g-1]+_);if(d>1&&g>1&&i[d-1]===o[g-2]&&i[d-2]===o[g-1]){let T=u[(d-2)%3][g-2];S=Math.min(S,T+1)}S<h&&(h=S),m[g]=S}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function UE(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}s(UE,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}s(De,"toObjMap");function kE(e){return`"${e.replace(HL,FL)}"`}s(kE,"printString");var HL=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function FL(e){return qL[e.charCodeAt(0)]}s(FL,"escapedReplacer");var qL=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var vh=Object.freeze({});function _r(e,t,r=gh){let n=new Map;for(let T of Object.values(b))n.set(T,Xn(t,T));let i,o=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,m=[],h=[];do{c++;let T=c===a.length,U=T&&u.length!==0;if(T){if(d=h.length===0?void 0:m[m.length-1],l=p,p=h.pop(),U)if(o){l=l.slice();let L=0;for(let[ne,ie]of u){let me=ne-L;ie===null?(l.splice(me,1),L++):l[me]=ie}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[L,ne]of u)l[L]=ne}c=i.index,a=i.keys,u=i.edits,o=i.inArray,i=i.prev}else if(p){if(d=o?c:a[c],l=p[d],l==null)continue;m.push(d)}let K;if(!Array.isArray(l)){var g,_;Ki(l)||G(!1,`Invalid AST Node: ${P(l)}.`);let L=T?(g=n.get(l.kind))===null||g===void 0?void 0:g.leave:(_=n.get(l.kind))===null||_===void 0?void 0:_.enter;if(K=L?.call(t,l,d,p,m,h),K===vh)break;if(K===!1){if(!T){m.pop();continue}}else if(K!==void 0&&(u.push([d,K]),!T))if(Ki(K))l=K;else{m.pop();continue}}if(K===void 0&&U&&u.push([d,l]),T)m.pop();else{var S;i={inArray:o,index:c,keys:a,edits:u,prev:i},o=Array.isArray(l),a=o?l:(S=r[l.kind])!==null&&S!==void 0?S:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}s(_r,"visit");function Xn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}s(Xn,"getEnterLeaveForKind");function Ue(e){return _r(e,jL)}s(Ue,"print");var $L=80,jL={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>C(e.definitions,`
96
96
 
97
- `)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>qL&&(a=s+J(`(
98
- `,Jc(x(r,`
97
+ `)},OperationDefinition:{leave(e){let t=J("(",C(e.variableDefinitions,", "),")"),r=C([e.operation,C([e.name,t]),C(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",C(n," "))},SelectionSet:{leave:({selections:e})=>dt(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let o=J("",e,": ")+t,a=o+J("(",C(r,", "),")");return a.length>$L&&(a=o+J(`(
98
+ `,Jc(C(r,`
99
99
  `)),`
100
- )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?AE(e):kE(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
101
- `)+x(["schema",x(t," "),dt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
102
- `)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
103
- `)+x(["type",t,J("implements ",x(r," & ")),x(n," "),dt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
100
+ )`)),C([a,C(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",C(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>C(["...",J("on ",e),C(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",C(r,", "),")")} on ${t} ${J("",C(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?AE(e):kE(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+C(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+C(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",C(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
101
+ `)+C(["schema",C(t," "),dt(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
102
+ `)+C(["scalar",t,C(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
103
+ `)+C(["type",t,J("implements ",C(r," & ")),C(n," "),dt(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
104
104
  `)+t+(ME(r)?J(`(
105
- `,Jc(x(r,`
105
+ `,Jc(C(r,`
106
106
  `)),`
107
- )`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
108
- `)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
109
- `)+x(["interface",t,J("implements ",x(r," & ")),x(n," "),dt(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
110
- `)+x(["union",t,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>J("",e,`
111
- `)+x(["enum",t,x(r," "),dt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
112
- `)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
113
- `)+x(["input",t,x(r," "),dt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
107
+ )`):J("(",C(r,", "),")"))+": "+n+J(" ",C(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
108
+ `)+C([t+": "+r,J("= ",n),C(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
109
+ `)+C(["interface",t,J("implements ",C(r," & ")),C(n," "),dt(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>J("",e,`
110
+ `)+C(["union",t,C(r," "),J("= ",C(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>J("",e,`
111
+ `)+C(["enum",t,C(r," "),dt(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
112
+ `)+C([t,C(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
113
+ `)+C(["input",t,C(r," "),dt(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
114
114
  `)+"directive @"+t+(ME(r)?J(`(
115
- `,Jc(x(r,`
115
+ `,Jc(C(r,`
116
116
  `)),`
117
- )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),dt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),dt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),dt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),dt(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function dt(e){return J(`{
118
- `,Jc(x(e,`
117
+ )`):J("(",C(r,", "),")"))+(n?" repeatable":"")+" on "+C(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>C(["extend schema",C(e," "),dt(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>C(["extend scalar",e,C(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>C(["extend type",e,J("implements ",C(t," & ")),C(r," "),dt(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>C(["extend interface",e,J("implements ",C(t," & ")),C(r," "),dt(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>C(["extend union",e,C(t," "),J("= ",C(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>C(["extend enum",e,C(t," "),dt(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>C(["extend input",e,C(t," "),dt(r)]," ")}};function C(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}s(C,"join");function dt(e){return J(`{
118
+ `,Jc(C(e,`
119
119
  `)),`
120
- }`)}o(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function Jc(e){return J(" ",e.replace(/\n/g,`
121
- `))}o(Jc,"indent");function ME(e){var t;return(t=e?.some(r=>r.includes(`
122
- `)))!==null&&t!==void 0?t:!1}o(ME,"hasMultilineItems");function Yi(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>Yi(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Yi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}o(Yi,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!1,"Expected name to be a string."),e.length===0)throw new C("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Mc(e.charCodeAt(t)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Ji(e.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o(Ve,"assertName");function gh(e){if(e==="true"||e==="false"||e==="null")throw new C(`Enum values cannot be named: ${e}`);return Ve(e)}o(gh,"assertEnumValueName");function Wc(e){return _r(e)||xe(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}o(Wc,"isType");function _r(e){return ze(e,We)}o(_r,"isScalarType");function xe(e){return ze(e,Ne)}o(xe,"isObjectType");function Qc(e){if(!xe(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}o(Qc,"assertObjectType");function we(e){return ze(e,Vt)}o(we,"isInterfaceType");function Yc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}o(Yc,"assertInterfaceType");function nt(e){return ze(e,Br)}o(nt,"isUnionType");function Qe(e){return ze(e,Nt)}o(Qe,"isEnumType");function Ae(e){return ze(e,Kr)}o(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}o(Ge,"isListType");function ce(e){return ze(e,$)}o(ce,"isNonNullType");function Ye(e){return _r(e)||Qe(e)||Ae(e)||Zi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function Gt(e){return _r(e)||xe(e)||we(e)||nt(e)||Qe(e)||Zi(e)&&Gt(e.ofType)}o(Gt,"isOutputType");function Er(e){return _r(e)||Qe(e)}o(Er,"isLeafType");function xt(e){return xe(e)||we(e)||nt(e)}o(xt,"isCompositeType");function wr(e){return we(e)||nt(e)}o(wr,"isAbstractType");var pe=class{static{o(this,"GraphQLList")}constructor(t){Wc(t)||G(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){Zc(t)||G(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Zi(e){return Ge(e)||ce(e)}o(Zi,"isWrappingType");function Zc(e){return Wc(e)&&!ce(e)}o(Zc,"isNullableType");function Xc(e){if(!Zc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}o(Xc,"assertNullableType");function eu(e){if(e)return ce(e)?e.ofType:e}o(eu,"getNullableType");function pt(e){if(e){let t=e;for(;Zi(t);)t=t.ofType;return t}}o(pt,"getNamedType");function tu(e){return typeof e=="function"?e():e}o(tu,"resolveReadonlyArrayThunk");function ru(e){return typeof e=="function"?e():e}o(ru,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:hh;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:hh,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Yi(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||G(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>FE(t),this._interfaces=()=>HE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:qE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function HE(e){var t;let r=tu((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(HE,"defineInterfaces");function FE(e){let t=ru(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Qi(t,(r,n)=>{var i;ei(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return ei(s)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:bh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(FE,"defineFieldMap");function bh(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(bh,"defineArguments");function ei(e){return Ee(e)&&!Array.isArray(e)}o(ei,"isPlainObj");function qE(e){return Qi(e,t=>({description:t.description,type:t.type,args:_h(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(qE,"fieldsToFieldsConfig");function _h(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(_h,"argsToArgsConfig");var Vt=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=FE.bind(void 0,t),this._interfaces=HE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:qE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Br=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=jL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function jL(e){let t=tu(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(jL,"defineTypes");var Nt=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=VL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Zn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+zc(this,n))}let r=this.getValue(t);if(r==null)throw new C(`Value "${t}" does not exist in "${this.name}" enum.`+zc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+zc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+zc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function zc(e,t){let r=e.getValues().map(i=>i.name),n=Kc(t,r);return Gc("the enum value",n)}o(zc,"didYouMeanEnumValue");function VL(e,t){return ei(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ei(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:gh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(VL,"defineEnumValues");var Kr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=GL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Qi(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function GL(e){let t=ru(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Qi(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(GL,"defineInputFieldMap");var nu=2147483647,iu=-2147483648,Eh=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Xi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${P(t)}`);if(r>nu||r<iu)throw new C("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new C(`Int cannot represent non-integer value: ${P(e)}`);if(e>nu||e<iu)throw new C(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new C(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>nu||t<iu)throw new C(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),$E=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Xi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new C(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new C(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),se=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Xi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new C(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new C(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new C(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),ke=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Xi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new C(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),ou=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Xi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new C(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new C(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new C("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),wh=Object.freeze([se,Eh,$E,ke,ou]);function Xi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(Xi,"serializeObject");function vh(e){return ze(e,ht)}o(vh,"isDirective");var ht=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=bh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:_h(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},jE=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),VE=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),GE="No longer supported",BE=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:GE}}}),KE=new ht({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Sh=Object.freeze([jE,VE,BE,KE]);function su(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(su,"isIterableObject");function Jr(e,t){if(ce(t)){let r=Jr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(su(e)){let n=[];for(let i of e){let s=Jr(i,r);s!=null&&n.push(s)}return{kind:b.LIST,values:n}}return Jr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=Jr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(Er(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return JE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===ou&&JE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}o(Jr,"astFromValue");var JE=/^-?(?:0|[1-9][0-9]*)$/;var eo=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(Th))),resolve:e=>e.getDirectives()}})}),Th=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
120
+ }`)}s(dt,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}s(J,"wrap");function Jc(e){return J(" ",e.replace(/\n/g,`
121
+ `))}s(Jc,"indent");function ME(e){var t;return(t=e?.some(r=>r.includes(`
122
+ `)))!==null&&t!==void 0?t:!1}s(ME,"hasMultilineItems");function Yi(e,t){switch(e.kind){case b.NULL:return null;case b.INT:return parseInt(e.value,10);case b.FLOAT:return parseFloat(e.value);case b.STRING:case b.ENUM:case b.BOOLEAN:return e.value;case b.LIST:return e.values.map(r=>Yi(r,t));case b.OBJECT:return Ot(e.fields,r=>r.name.value,r=>Yi(r.value,t));case b.VARIABLE:return t?.[e.name.value]}}s(Yi,"valueFromASTUntyped");function Ve(e){if(e!=null||G(!1,"Must provide name."),typeof e=="string"||G(!1,"Expected name to be a string."),e.length===0)throw new x("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!Mc(e.charCodeAt(t)))throw new x(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Ji(e.charCodeAt(0)))throw new x(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}s(Ve,"assertName");function Sh(e){if(e==="true"||e==="false"||e==="null")throw new x(`Enum values cannot be named: ${e}`);return Ve(e)}s(Sh,"assertEnumValueName");function Wc(e){return Er(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Ae(e)||Ge(e)||ce(e)}s(Wc,"isType");function Er(e){return ze(e,We)}s(Er,"isScalarType");function Ce(e){return ze(e,Ne)}s(Ce,"isObjectType");function Qc(e){if(!Ce(e))throw new Error(`Expected ${P(e)} to be a GraphQL Object type.`);return e}s(Qc,"assertObjectType");function we(e){return ze(e,Vt)}s(we,"isInterfaceType");function Yc(e){if(!we(e))throw new Error(`Expected ${P(e)} to be a GraphQL Interface type.`);return e}s(Yc,"assertInterfaceType");function nt(e){return ze(e,Kr)}s(nt,"isUnionType");function Qe(e){return ze(e,Nt)}s(Qe,"isEnumType");function Ae(e){return ze(e,Jr)}s(Ae,"isInputObjectType");function Ge(e){return ze(e,pe)}s(Ge,"isListType");function ce(e){return ze(e,$)}s(ce,"isNonNullType");function Ye(e){return Er(e)||Qe(e)||Ae(e)||Zi(e)&&Ye(e.ofType)}s(Ye,"isInputType");function Gt(e){return Er(e)||Ce(e)||we(e)||nt(e)||Qe(e)||Zi(e)&&Gt(e.ofType)}s(Gt,"isOutputType");function wr(e){return Er(e)||Qe(e)}s(wr,"isLeafType");function Ct(e){return Ce(e)||we(e)||nt(e)}s(Ct,"isCompositeType");function vr(e){return we(e)||nt(e)}s(vr,"isAbstractType");var pe=class{static{s(this,"GraphQLList")}constructor(t){Wc(t)||G(!1,`Expected ${P(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{s(this,"GraphQLNonNull")}constructor(t){Zc(t)||G(!1,`Expected ${P(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Zi(e){return Ge(e)||ce(e)}s(Zi,"isWrappingType");function Zc(e){return Wc(e)&&!ce(e)}s(Zc,"isNullableType");function Xc(e){if(!Zc(e))throw new Error(`Expected ${P(e)} to be a GraphQL nullable type.`);return e}s(Xc,"assertNullableType");function eu(e){if(e)return ce(e)?e.ofType:e}s(eu,"getNullableType");function pt(e){if(e){let t=e;for(;Zi(t);)t=t.ofType;return t}}s(pt,"getNamedType");function tu(e){return typeof e=="function"?e():e}s(tu,"resolveReadonlyArrayThunk");function ru(e){return typeof e=="function"?e():e}s(ru,"resolveObjMapThunk");var We=class{static{s(this,"GraphQLScalarType")}constructor(t){var r,n,i,o;let a=(r=t.parseValue)!==null&&r!==void 0?r:_h;this.name=Ve(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:_h,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Yi(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||G(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${P(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||G(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||G(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ne=class{static{s(this,"GraphQLObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>FE(t),this._interfaces=()=>HE(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||G(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${P(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:qE(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function HE(e){var t;let r=tu((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||G(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}s(HE,"defineInterfaces");function FE(e){let t=ru(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Qi(t,(r,n)=>{var i;ei(r)||G(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||G(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${P(r.resolve)}.`);let o=(i=r.args)!==null&&i!==void 0?i:{};return ei(o)||G(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:Ve(n),description:r.description,type:r.type,args:Th(o),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}s(FE,"defineFieldMap");function Th(e){return Object.entries(e).map(([t,r])=>({name:Ve(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(Th,"defineArguments");function ei(e){return Ee(e)&&!Array.isArray(e)}s(ei,"isPlainObj");function qE(e){return Qi(e,t=>({description:t.description,type:t.type,args:Ih(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(qE,"fieldsToFieldsConfig");function Ih(e){return Ot(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}s(Ih,"argsToArgsConfig");var Vt=class{static{s(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=FE.bind(void 0,t),this._interfaces=HE.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:qE(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Kr=class{static{s(this,"GraphQLUnionType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=VL.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||G(!1,`${this.name} must provide "resolveType" as a function, but got: ${P(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function VL(e){let t=tu(e.types);return Array.isArray(t)||G(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}s(VL,"defineTypes");var Nt=class{static{s(this,"GraphQLEnumType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=GL(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Zn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new x(`Enum "${this.name}" cannot represent value: ${P(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=P(t);throw new x(`Enum "${this.name}" cannot represent non-string value: ${n}.`+zc(this,n))}let r=this.getValue(t);if(r==null)throw new x(`Value "${t}" does not exist in "${this.name}" enum.`+zc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==b.ENUM){let i=Ue(t);throw new x(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+zc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new x(`Value "${i}" does not exist in "${this.name}" enum.`+zc(this,i),{nodes:t})}return n.value}toConfig(){let t=Ot(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function zc(e,t){let r=e.getValues().map(i=>i.name),n=Kc(t,r);return Gc("the enum value",n)}s(zc,"didYouMeanEnumValue");function GL(e,t){return ei(t)||G(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ei(n)||G(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${P(n)}.`),{name:Sh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}s(GL,"defineEnumValues");var Jr=class{static{s(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=Ve(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=BL.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Qi(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function BL(e){let t=ru(e.fields);return ei(t)||G(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Qi(t,(r,n)=>(!("resolve"in r)||G(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ve(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}s(BL,"defineInputFieldMap");var nu=2147483647,iu=-2147483648,Ph=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=Xi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new x(`Int cannot represent non-integer value: ${P(t)}`);if(r>nu||r<iu)throw new x("Int cannot represent non 32-bit signed integer value: "+P(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new x(`Int cannot represent non-integer value: ${P(e)}`);if(e>nu||e<iu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==b.INT)throw new x(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>nu||t<iu)throw new x(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),$E=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=Xi(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new x(`Float cannot represent non numeric value: ${P(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new x(`Float cannot represent non numeric value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.FLOAT&&e.kind!==b.INT)throw new x(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),se=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=Xi(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new x(`String cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e!="string")throw new x(`String cannot represent a non string value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.STRING)throw new x(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),ke=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=Xi(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new x(`Boolean cannot represent a non boolean value: ${P(t)}`)},parseValue(e){if(typeof e!="boolean")throw new x(`Boolean cannot represent a non boolean value: ${P(e)}`);return e},parseLiteral(e){if(e.kind!==b.BOOLEAN)throw new x(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),ou=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=Xi(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new x(`ID cannot represent value: ${P(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new x(`ID cannot represent value: ${P(e)}`)},parseLiteral(e){if(e.kind!==b.STRING&&e.kind!==b.INT)throw new x("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),Ah=Object.freeze([se,Ph,$E,ke,ou]);function Xi(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}s(Xi,"serializeObject");function Rh(e){return ze(e,ht)}s(Rh,"isDirective");var ht=class{static{s(this,"GraphQLDirective")}constructor(t){var r,n;this.name=Ve(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||G(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||G(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Th(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ih(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},jE=new ht({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Included when true."}}}),VE=new ht({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[B.FIELD,B.FRAGMENT_SPREAD,B.INLINE_FRAGMENT],args:{if:{type:new $(ke),description:"Skipped when true."}}}),GE="No longer supported",BE=new ht({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[B.FIELD_DEFINITION,B.ARGUMENT_DEFINITION,B.INPUT_FIELD_DEFINITION,B.ENUM_VALUE],args:{reason:{type:se,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:GE}}}),KE=new ht({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[B.SCALAR],args:{url:{type:new $(se),description:"The URL that specifies the behavior of this scalar."}}}),Oh=Object.freeze([jE,VE,BE,KE]);function su(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}s(su,"isIterableObject");function zr(e,t){if(ce(t)){let r=zr(e,t.ofType);return r?.kind===b.NULL?null:r}if(e===null)return{kind:b.NULL};if(e===void 0)return null;if(Ge(t)){let r=t.ofType;if(su(e)){let n=[];for(let i of e){let o=zr(i,r);o!=null&&n.push(o)}return{kind:b.LIST,values:n}}return zr(e,r)}if(Ae(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=zr(e[n.name],n.type);i&&r.push({kind:b.OBJECT_FIELD,name:{kind:b.NAME,value:n.name},value:i})}return{kind:b.OBJECT,fields:r}}if(wr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:b.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return JE.test(n)?{kind:b.INT,value:n}:{kind:b.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:b.ENUM,value:r}:t===ou&&JE.test(r)?{kind:b.INT,value:r}:{kind:b.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${P(r)}.`)}Rt(!1,"Unexpected input type: "+P(t))}s(zr,"astFromValue");var JE=/^-?(?:0|[1-9][0-9]*)$/;var eo=new Ne({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:se,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new pe(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new pe(new $(Nh))),resolve:e=>e.getDirectives()}})}),Nh=new Ne({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
123
123
 
124
- In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Ih))),resolve:e=>e.locations},args:{type:new $(new pe(new $(to))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Ih=new Nt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Rh),resolve(e){if(_r(e))return ee.SCALAR;if(xe(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(Ph)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(xe(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(xe(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(wr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Ah)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(to)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Ph=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(to))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),to=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=Jr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Ah=new Ne({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var Rh=new Nt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),au={name:"__schema",type:new $(eo),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},cu={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},uu={name:"__typename",type:new $(se),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Oh=Object.freeze([eo,Th,Ih,it,Ph,to,Ah,Rh]);var ro=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Sh;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),ft(s,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let s of this._directives)if(vh(s))for(let a of s.args)ft(a.type,i);ft(eo,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||G(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(xe(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(xe(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}o(ft,"collectReferencedTypes");function vr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=vr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=vr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}o(vr,"typeFromAST");var Sr=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??BL,r&&(Ye(r)&&this._inputTypeStack.push(r),xt(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(xt(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(xe(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?vr(r,i):pt(this.getType());this._typeStack.push(Gt(s)?s:void 0);break}case b.VARIABLE_DEFINITION:{let i=vr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.LIST:{let i=eu(this.getInputType()),s=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),s,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function BL(e,t,r){let n=r.name.value;if(n===au.name&&e.getQueryType()===t)return au;if(n===cu.name&&e.getQueryType()===t)return cu;if(n===uu.name&&xt(t))return uu;if(xe(t)||we(t))return t.getFields()[n]}o(BL,"getFieldDef");function ti(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Xn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),Ki(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=Xn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(ti,"visitWithTypeInfo");function lu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(lu,"printPathArray");function Nh(e,t,r){return{prev:e,key:t,typename:r}}o(Nh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o(Bt,"pathToArray");function xh(e,t,r=KL){return no(e,t,r,void 0)}o(xh,"coerceInputValue");function KL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${lu(e)}"`),r.message=n+": "+r.message,r}o(KL,"defaultOnError");function no(e,t,r,n){if(ce(t)){if(e!=null)return no(e,t.ofType,r,n);r(Bt(n),e,new C(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return su(e)?Array.from(e,(s,a)=>{let c=Nh(n,a,void 0);return no(s,i,r,c)}):[no(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new C(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=no(c,a.type,r,Nh(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=Kc(a,Object.keys(t.getFields()));r(Bt(n),e,new C(`Field "${a}" is not defined by type "${t.name}".`+Gc(c)))}return i}if(Er(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof C?r(Bt(n),e,s):r(Bt(n),e,new C(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(Bt(n),e,new C(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}o(no,"coerceInputValueImpl");function Ct(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:Ct(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let s=[];for(let a of e.values)if(zE(a,r)){if(ce(n))return;s.push(null)}else{let c=Ct(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Ct(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Zn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||zE(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ce(s.type))return;continue}let c=Ct(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Er(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}o(Ct,"valueFromAST");function zE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(zE,"isMissingVariable");function du(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=JL(e,t,r,c=>{if(s!=null&&i.length>=s)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(du,"getVariableValues");function JL(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=vr(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!WE(r,a)){if(s.defaultValue)i[a]=Ct(s.defaultValue,c);else if(ce(c)){let l=P(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=xh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${lu(l)}"`),n(new C(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(JL,"coerceVariableValues");function io(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Zn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!WE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new C(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new C(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=Ct(p,l,r);if(h===void 0)throw new C(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(io,"getArgumentValues");function oo(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return io(e,i,r)}o(oo,"getDirectiveValues");function WE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(WE,"hasOwnProperty");var pu=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===b.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},QE=class extends pu{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ri=class extends pu{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new Sr(this._schema);br(t,ti(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function hu(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
124
+ In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isRepeatable:{type:new $(ke),resolve:e=>e.isRepeatable},locations:{type:new $(new pe(new $(Ch))),resolve:e=>e.locations},args:{type:new $(new pe(new $(to))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Ch=new Nt({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:B.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:B.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:B.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:B.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:B.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:B.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:B.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:B.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:B.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:B.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:B.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:B.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:B.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:B.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:B.UNION,description:"Location adjacent to a union definition."},ENUM:{value:B.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:B.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:B.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:B.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new Ne({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Dh),resolve(e){if(Er(e))return ee.SCALAR;if(Ce(e))return ee.OBJECT;if(we(e))return ee.INTERFACE;if(nt(e))return ee.UNION;if(Qe(e))return ee.ENUM;if(Ae(e))return ee.INPUT_OBJECT;if(Ge(e))return ee.LIST;if(ce(e))return ee.NON_NULL;Rt(!1,`Unexpected type: "${P(e)}".`)}},name:{type:se,resolve:e=>"name"in e?e.name:void 0},description:{type:se,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:se,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new pe(new $(xh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ce(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new pe(new $(it)),resolve(e){if(Ce(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new pe(new $(it)),resolve(e,t,r,{schema:n}){if(vr(e))return n.getPossibleTypes(e)}},enumValues:{type:new pe(new $(Lh)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new pe(new $(to)),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ae(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),xh=new Ne({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},args:{type:new $(new pe(new $(to))),args:{includeDeprecated:{type:ke,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),to=new Ne({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:se,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=zr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),Lh=new Ne({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(se),resolve:e=>e.name},description:{type:se,resolve:e=>e.description},isDeprecated:{type:new $(ke),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:se,resolve:e=>e.deprecationReason}})}),ee;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(ee||(ee={}));var Dh=new Nt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ee.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ee.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ee.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ee.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ee.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ee.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ee.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ee.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),au={name:"__schema",type:new $(eo),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},cu={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(se),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},uu={name:"__typename",type:new $(se),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Uh=Object.freeze([eo,Nh,Ch,it,xh,to,Lh,Dh]);var ro=class{static{s(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||G(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||G(!1,`"types" must be Array if provided but got: ${P(t.types)}.`),!t.directives||Array.isArray(t.directives)||G(!1,`"directives" must be Array if provided but got: ${P(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Oh;let i=new Set(t.types);if(t.types!=null)for(let o of t.types)i.delete(o),ft(o,i);this._queryType!=null&&ft(this._queryType,i),this._mutationType!=null&&ft(this._mutationType,i),this._subscriptionType!=null&&ft(this._subscriptionType,i);for(let o of this._directives)if(Rh(o))for(let a of o.args)ft(a.type,i);ft(eo,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let o of i){if(o==null)continue;let a=o.name;if(a||G(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,we(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(o)}}else if(Ce(o)){for(let c of o.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let o of i.objects)n[o.name]=!0;for(let o of i.interfaces)n[o.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function ft(e,t){let r=pt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())ft(n,t);else if(Ce(r)||we(r)){for(let n of r.getInterfaces())ft(n,t);for(let n of Object.values(r.getFields())){ft(n.type,t);for(let i of n.args)ft(i.type,t)}}else if(Ae(r))for(let n of Object.values(r.getFields()))ft(n.type,t)}return t}s(ft,"collectReferencedTypes");function Sr(e,t){switch(t.kind){case b.LIST_TYPE:{let r=Sr(e,t.type);return r&&new pe(r)}case b.NON_NULL_TYPE:{let r=Sr(e,t.type);return r&&new $(r)}case b.NAMED_TYPE:return e.getType(t.name.value)}}s(Sr,"typeFromAST");var Tr=class{static{s(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??KL,r&&(Ye(r)&&this._inputTypeStack.push(r),Ct(r)&&this._parentTypeStack.push(r),Gt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case b.SELECTION_SET:{let i=pt(this.getType());this._parentTypeStack.push(Ct(i)?i:void 0);break}case b.FIELD:{let i=this.getParentType(),o,a;i&&(o=this._getFieldDef(r,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Gt(a)?a:void 0);break}case b.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case b.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ce(i)?i:void 0);break}case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:{let i=t.typeCondition,o=i?Sr(r,i):pt(this.getType());this._typeStack.push(Gt(o)?o:void 0);break}case b.VARIABLE_DEFINITION:{let i=Sr(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case b.ARGUMENT:{var n;let i,o,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.LIST:{let i=eu(this.getInputType()),o=Ge(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.OBJECT_FIELD:{let i=pt(this.getInputType()),o,a;Ae(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(o)?o:void 0);break}case b.ENUM:{let i=pt(this.getInputType()),o;Qe(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}default:}}leave(t){switch(t.kind){case b.SELECTION_SET:this._parentTypeStack.pop();break;case b.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case b.DIRECTIVE:this._directive=null;break;case b.OPERATION_DEFINITION:case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:this._typeStack.pop();break;case b.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case b.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.LIST:case b.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case b.ENUM:this._enumValue=null;break;default:}}};function KL(e,t,r){let n=r.name.value;if(n===au.name&&e.getQueryType()===t)return au;if(n===cu.name&&e.getQueryType()===t)return cu;if(n===uu.name&&Ct(t))return uu;if(Ce(t)||we(t))return t.getFields()[n]}s(KL,"getFieldDef");function ti(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=Xn(t,n.kind).enter;if(i){let o=i.apply(t,r);return o!==void 0&&(e.leave(n),Ki(o)&&e.enter(o)),o}},leave(...r){let n=r[0],i=Xn(t,n.kind).leave,o;return i&&(o=i.apply(t,r)),e.leave(n),o}}}s(ti,"visitWithTypeInfo");function lu(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}s(lu,"printPathArray");function kh(e,t,r){return{prev:e,key:t,typename:r}}s(kh,"addPath");function Bt(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}s(Bt,"pathToArray");function Mh(e,t,r=JL){return no(e,t,r,void 0)}s(Mh,"coerceInputValue");function JL(e,t,r){let n="Invalid value "+P(t);throw e.length>0&&(n+=` at "value${lu(e)}"`),r.message=n+": "+r.message,r}s(JL,"defaultOnError");function no(e,t,r,n){if(ce(t)){if(e!=null)return no(e,t.ofType,r,n);r(Bt(n),e,new x(`Expected non-nullable type "${P(t)}" not to be null.`));return}if(e==null)return null;if(Ge(t)){let i=t.ofType;return su(e)?Array.from(e,(o,a)=>{let c=kh(n,a,void 0);return no(o,i,r,c)}):[no(e,i,r,n)]}if(Ae(t)){if(!Ee(e)){r(Bt(n),e,new x(`Expected type "${t.name}" to be an object.`));return}let i={},o=t.getFields();for(let a of Object.values(o)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ce(a.type)){let u=P(a.type);r(Bt(n),e,new x(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=no(c,a.type,r,kh(n,a.name,t.name))}for(let a of Object.keys(e))if(!o[a]){let c=Kc(a,Object.keys(t.getFields()));r(Bt(n),e,new x(`Field "${a}" is not defined by type "${t.name}".`+Gc(c)))}return i}if(wr(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof x?r(Bt(n),e,o):r(Bt(n),e,new x(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&r(Bt(n),e,new x(`Expected type "${t.name}".`)),i}Rt(!1,"Unexpected input type: "+P(t))}s(no,"coerceInputValueImpl");function xt(e,t,r){if(e){if(e.kind===b.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ce(t)?void 0:i}if(ce(t))return e.kind===b.NULL?void 0:xt(e,t.ofType,r);if(e.kind===b.NULL)return null;if(Ge(t)){let n=t.ofType;if(e.kind===b.LIST){let o=[];for(let a of e.values)if(zE(a,r)){if(ce(n))return;o.push(null)}else{let c=xt(a,n,r);if(c===void 0)return;o.push(c)}return o}let i=xt(e,n,r);return i===void 0?void 0:[i]}if(Ae(t)){if(e.kind!==b.OBJECT)return;let n=Object.create(null),i=Zn(e.fields,o=>o.name.value);for(let o of Object.values(t.getFields())){let a=i[o.name];if(!a||zE(a.value,r)){if(o.defaultValue!==void 0)n[o.name]=o.defaultValue;else if(ce(o.type))return;continue}let c=xt(a.value,o.type,r);if(c===void 0)return;n[o.name]=c}return n}if(wr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Rt(!1,"Unexpected input type: "+P(t))}}s(xt,"valueFromAST");function zE(e,t){return e.kind===b.VARIABLE&&(t==null||t[e.name.value]===void 0)}s(zE,"isMissingVariable");function du(e,t,r,n){let i=[],o=n?.maxErrors;try{let a=zL(e,t,r,c=>{if(o!=null&&i.length>=o)throw new x("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}s(du,"getVariableValues");function zL(e,t,r,n){let i={};for(let o of t){let a=o.variable.name.value,c=Sr(e,o.type);if(!Ye(c)){let l=Ue(o.type);n(new x(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!WE(r,a)){if(o.defaultValue)i[a]=xt(o.defaultValue,c);else if(ce(c)){let l=P(c);n(new x(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:o}))}continue}let u=r[a];if(u===null&&ce(c)){let l=P(c);n(new x(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:o}));continue}i[a]=Mh(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+P(d);l.length>0&&(m+=` at "${a}${lu(l)}"`),n(new x(m+"; "+p.message,{nodes:o,originalError:p}))})}return i}s(zL,"coerceVariableValues");function io(e,t,r){var n;let i={},o=(n=t.arguments)!==null&&n!==void 0?n:[],a=Zn(o,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was not provided.`,{nodes:t});continue}let p=d.value,m=p.kind===b.NULL;if(p.kind===b.VARIABLE){let g=p.name.value;if(r==null||!WE(r,g)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ce(l))throw new x(`Argument "${u}" of required type "${P(l)}" was provided the variable "$${g}" which was not provided a runtime value.`,{nodes:p});continue}m=r[g]==null}if(m&&ce(l))throw new x(`Argument "${u}" of non-null type "${P(l)}" must not be null.`,{nodes:p});let h=xt(p,l,r);if(h===void 0)throw new x(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}s(io,"getArgumentValues");function oo(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(o=>o.name.value===e.name);if(i)return io(e,i,r)}s(oo,"getDirectiveValues");function WE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s(WE,"hasOwnProperty");var pu=class{static{s(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===b.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let o of i.selections)o.kind===b.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],o;for(;o=i.pop();)for(let a of this.getFragmentSpreads(o)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},QE=class extends pu{static{s(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},ri=class extends pu{static{s(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new Tr(this._schema);_r(t,ti(i,{VariableDefinition:()=>!1,Variable(o){n.push({node:o,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function hu(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",o=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return s(a,"inputDeprecation"),`
125
125
  query IntrospectionQuery {
126
126
  __schema {
127
- ${s}
127
+ ${o}
128
128
  queryType { name }
129
129
  mutationType { name }
130
130
  subscriptionType { name }
@@ -226,5 +226,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
226
226
  }
227
227
  }
228
228
  }
229
- `}o(hu,"getIntrospectionQuery");function fu(e,t){Ee(e)&&Ee(e.__schema)||G(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Ot(r.types,w=>w.name,w=>m(w));for(let w of[...wh,...Oh])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new ro({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===ee.LIST){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(w.kind===ee.NON_NULL){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let Ce=u(H);return new $(Xc(Ce))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${P(w)}.`);let Ce=n[H];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(w){return Qc(l(w))}function p(w){return Yc(l(w))}function m(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ee.SCALAR:return h(w);case ee.OBJECT:return _(w);case ee.INTERFACE:return S(w);case ee.UNION:return T(w);case ee.ENUM:return U(w);case ee.INPUT_OBJECT:return K(w)}let H=P(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(w){return new We({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function g(w){if(w.interfaces===null&&w.kind===ee.INTERFACE)return[];if(!w.interfaces){let H=P(w);throw new Error(`Introspection result missing interfaces: ${H}.`)}return w.interfaces.map(p)}function _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Vt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let H=P(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Br({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function U(w){if(!w.enumValues){let H=P(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function K(w){if(!w.inputFields){let H=P(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Kr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,H=>H.name,ne)}function ne(w){let H=u(w.type);if(!Gt(H)){let Ce=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!w.args){let Ce=P(w);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ie(w.args)}}function ie(w){return Ot(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ye(H)){let yu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${yu}.`)}let Ce=w.defaultValue!=null?Ct(Vc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:Ce,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let H=P(w);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!w.locations){let H=P(w);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}o(fu,"buildClientSchema");function gD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(gD,"queryComplexityMessage");function YE(e){let t=new Sr(e.schema),r=[],n=new ri(e.schema,e.query,t,s=>r.push(s)),i=new Ch(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(br(e.query,ti(t,i)),r.length)throw r.pop();return i.complexity}o(YE,"getComplexity");var Ch=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=du(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof Ne||r instanceof Vt)&&(n=r.getFields());let i;wr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&oo(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&oo(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=io(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;xt(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let U=T(_);return typeof U=="number"&&!isNaN(U)?(u=ni(U,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!xt(m))break;let h=this.nodeComplexity(p,m);wr(m)?u=ni(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ni(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!xt(p)))break;let m=this.nodeComplexity(c,p);wr(p)?u=ni(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ni(m,a,[p.name]);break}default:{u=ni(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(gD(this.options.maximumComplexity,this.complexity))}};function ni(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(ni,"addComplexities");function ZE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(ZE,"simpleEstimator");var XE=o((e,t,r={})=>{let{definitions:n}=e,i=bD(n),s=_D(n);return Object.entries(s).map(([a,c])=>mu(c,i,0,t,a,r))},"depthLimit");function bD(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(bD,"getFragments");function _D(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(_D,"getQueriesAndMutations");function mu(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case b.FIELD:return ED(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>mu(c,t,r+1,n,i,s)));case b.FRAGMENT_SPREAD:return mu(t[e.name.value],t,r,n,i,s);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>mu(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(mu,"determineDepth");var ED=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var wD=o(async(e,t)=>{if(!t.complexityLimit)throw new ii.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ii.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=hu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=fu(c,{assumeValid:!0}),l=YE({estimators:[ZE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new C(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),vD=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ii.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...XE(e,r))},"applyDepthLimitPolicy"),ew=o(async(e,t,r)=>{let n=ii.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=jc(s.query);r.useDepthLimit&&await vD(a,r.useDepthLimit),r.useComplexityLimit&&await wD(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var tw=Uh(Dt());function SD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(SD,"isIntrospectionQuery");var rw=o(async(e,t)=>{let n=await e.clone().json();return SD(n.query)?tw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
229
+ `}s(hu,"getIntrospectionQuery");function fu(e,t){Ee(e)&&Ee(e.__schema)||G(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${P(e)}.`);let r=e.__schema,n=Ot(r.types,w=>w.name,w=>m(w));for(let w of[...Ah,...Uh])n[w.name]&&(n[w.name]=w);let i=r.queryType?d(r.queryType):null,o=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Be):[];return new ro({description:r.description,query:i,mutation:o,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(w){if(w.kind===ee.LIST){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");return new pe(u(H))}if(w.kind===ee.NON_NULL){let H=w.ofType;if(!H)throw new Error("Decorated type deeper than introspection query.");let xe=u(H);return new $(Xc(xe))}return l(w)}function l(w){let H=w.name;if(!H)throw new Error(`Unknown type reference: ${P(w)}.`);let xe=n[H];if(!xe)throw new Error(`Invalid or incomplete schema, unknown type: ${H}. Ensure that a full introspection query is used in order to build a client schema.`);return xe}function d(w){return Qc(l(w))}function p(w){return Yc(l(w))}function m(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ee.SCALAR:return h(w);case ee.OBJECT:return _(w);case ee.INTERFACE:return S(w);case ee.UNION:return T(w);case ee.ENUM:return U(w);case ee.INPUT_OBJECT:return K(w)}let H=P(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${H}.`)}function h(w){return new We({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function g(w){if(w.interfaces===null&&w.kind===ee.INTERFACE)return[];if(!w.interfaces){let H=P(w);throw new Error(`Introspection result missing interfaces: ${H}.`)}return w.interfaces.map(p)}function _(w){return new Ne({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function S(w){return new Vt({name:w.name,description:w.description,interfaces:()=>g(w),fields:()=>L(w)})}function T(w){if(!w.possibleTypes){let H=P(w);throw new Error(`Introspection result missing possibleTypes: ${H}.`)}return new Kr({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function U(w){if(!w.enumValues){let H=P(w);throw new Error(`Introspection result missing enumValues: ${H}.`)}return new Nt({name:w.name,description:w.description,values:Ot(w.enumValues,H=>H.name,H=>({description:H.description,deprecationReason:H.deprecationReason}))})}function K(w){if(!w.inputFields){let H=P(w);throw new Error(`Introspection result missing inputFields: ${H}.`)}return new Jr({name:w.name,description:w.description,fields:()=>ie(w.inputFields)})}function L(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${P(w)}.`);return Ot(w.fields,H=>H.name,ne)}function ne(w){let H=u(w.type);if(!Gt(H)){let xe=P(H);throw new Error(`Introspection must provide output type for fields, but received: ${xe}.`)}if(!w.args){let xe=P(w);throw new Error(`Introspection result missing field args: ${xe}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:H,args:ie(w.args)}}function ie(w){return Ot(w,H=>H.name,me)}function me(w){let H=u(w.type);if(!Ye(H)){let yu=P(H);throw new Error(`Introspection must provide input type for arguments, but received: ${yu}.`)}let xe=w.defaultValue!=null?xt(Vc(w.defaultValue),H):void 0;return{description:w.description,type:H,defaultValue:xe,deprecationReason:w.deprecationReason}}function Be(w){if(!w.args){let H=P(w);throw new Error(`Introspection result missing directive args: ${H}.`)}if(!w.locations){let H=P(w);throw new Error(`Introspection result missing directive locations: ${H}.`)}return new ht({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:ie(w.args)})}}s(fu,"buildClientSchema");function bD(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}s(bD,"queryComplexityMessage");function YE(e){let t=new Tr(e.schema),r=[],n=new ri(e.schema,e.query,t,o=>r.push(o)),i=new Hh(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(_r(e.query,ti(t,i)),r.length)throw r.pop();return i.complexity}s(YE,"getComplexity");var Hh=class{static{s(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=du(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(o=>this.context.reportError(o));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let o=i.getQueryType();if(!o)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,o);break}case"mutation":{let o=i.getMutationType();if(!o)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,o);break}case"subscription":{let o=i.getSubscriptionType();if(!o)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,o);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof Ne||r instanceof Vt)&&(n=r.getFields());let i;vr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let o=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&oo(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&oo(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case b.FIELD:{let p=n[c.name.value];if(!p)break;let m=pt(p.type),h;try{h=io(p,c,this.variableValues||{})}catch(T){return this.context.reportError(T),a}let g=0;Ct(m)&&(g=this.nodeComplexity(c,m));let _={childComplexity:g,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(T=>{let U=T(_);return typeof U=="number"&&!isNaN(U)?(u=ni(U,a,i),!0):!1}))return this.context.reportError(new x(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case b.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!Ct(m))break;let h=this.nodeComplexity(p,m);vr(m)?u=ni(h,a,this.context.getSchema().getPossibleTypes(m).map(g=>g.name)):u=ni(h,a,[m.name]);break}case b.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Ct(p)))break;let m=this.nodeComplexity(c,p);vr(p)?u=ni(m,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=ni(m,a,[p.name]);break}default:{u=ni(this.nodeComplexity(c,r),a,i);break}}return u},{});return o?Math.max(...Object.values(o),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new x(bD(this.options.maximumComplexity,this.complexity))}};function ni(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}s(ni,"addComplexities");function ZE(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}s(ZE,"simpleEstimator");var XE=s((e,t,r={})=>{let{definitions:n}=e,i=_D(n),o=ED(n);return Object.entries(o).map(([a,c])=>mu(c,i,0,t,a,r))},"depthLimit");function _D(e){return e.reduce((t,r)=>(r.kind===b.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}s(_D,"getFragments");function ED(e){return e.reduce((t,r)=>{if(r.kind===b.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}s(ED,"getQueriesAndMutations");function mu(e,t,r,n,i,o){if(r>n)throw o?.onLimitReached?.(r,i),new x(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=o?.ignore??[/^__/];switch(e.kind){case b.FIELD:return wD(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>mu(c,t,r+1,n,i,o)));case b.FRAGMENT_SPREAD:return mu(t[e.name.value],t,r,n,i,o);case b.INLINE_FRAGMENT:case b.FRAGMENT_DEFINITION:case b.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>mu(c,t,r,n,i,o)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}s(mu,"determineDepth");var wD=s((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var vD=s(async(e,t)=>{if(!t.complexityLimit)throw new ii.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new ii.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=hu(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new x("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=fu(c,{assumeValid:!0}),l=YE({estimators:[ZE({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new x(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),SD=s(async(e,t)=>{let r=t.depthLimit;if(!r)throw new ii.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...XE(e,r))},"applyDepthLimitPolicy"),ew=s(async(e,t,r)=>{let n=ii.SystemLogMap.getLogger(t);try{let o=await e.clone().json(),a=jc(o.query);r.useDepthLimit&&await SD(a,r.useDepthLimit),r.useComplexityLimit&&await vD(a,r.useComplexityLimit)}catch(i){if(i instanceof x)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var tw=$h(Dt());function TD(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}s(TD,"isIntrospectionQuery");var rw=s(async(e,t)=>{let n=await e.clone().json();return TD(n.query)?tw.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
230
230
  /*! For license information please see index.minified.js.LEGAL.txt */