@walkeros/server-source-gcp 4.0.0 → 4.0.1-next-1778183328892
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +216 -2
- package/dist/dev.d.mts +290 -33
- package/dist/dev.d.ts +290 -33
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/index.d.mts +292 -42
- package/dist/index.d.ts +292 -42
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -1
- package/dist/index.mjs.map +1 -1
- package/dist/walkerOS.json +6 -4
- package/package.json +16 -5
package/dist/index.mjs
CHANGED
|
@@ -1 +1,24 @@
|
|
|
1
|
-
var __defProp=Object.defineProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})};var types_exports={},schemas_exports={};__export(schemas_exports,{CorsOptionsSchema:()=>CorsOptionsSchema,CorsOrigin:()=>CorsOrigin,HttpMethod:()=>HttpMethod,SettingsSchema:()=>SettingsSchema,settings:()=>settings});import{zodToSchema}from"@walkeros/core/dev";import{z as z2}from"@walkeros/core/dev";import{z}from"@walkeros/core/dev";var HttpMethod=z.enum(["GET","POST","PUT","PATCH","DELETE","OPTIONS","HEAD"]),CorsOrigin=z.union([z.string(),z.array(z.string()),z.literal("*")]),CorsOptionsSchema=z.object({origin:CorsOrigin.describe("Allowed origins (* for all, URL string, or array of URLs)").optional(),methods:z.array(HttpMethod).describe("Allowed HTTP methods").optional(),headers:z.array(z.string()).describe("Allowed request headers").optional(),credentials:z.boolean().describe("Allow credentials (cookies, authorization headers)").optional(),maxAge:z.number().int().positive().describe("Preflight cache duration in seconds").optional()}),SettingsSchema=z2.object({cors:z2.union([z2.boolean(),CorsOptionsSchema]).describe("CORS configuration: false = disabled, true = allow all origins, object = custom configuration").optional(),timeout:z2.number().int().positive().max(54e4).describe("Request timeout in milliseconds (max: 540000 for GCP)").optional()}),settings=zodToSchema(SettingsSchema),examples_exports={};__export(examples_exports,{createTrigger:()=>createTrigger,env:()=>env_exports,step:()=>step_exports});var env_exports={};__export(env_exports,{push:()=>push});var createMockElbFn=()=>()=>Promise.resolve({ok:!0}),noopFn=()=>{},noopLogger={error:noopFn,warn:noopFn,info:noopFn,debug:noopFn,throw:message=>{throw"string"==typeof message?new Error(message):message},json:noopFn,scope:()=>noopLogger},push={get push(){return createMockElbFn()},get command(){return createMockElbFn()},get elb(){return createMockElbFn()},logger:noopLogger},step_exports={};__export(step_exports,{orderEvent:()=>orderEvent,postEvent:()=>postEvent});var postEvent={title:"POST event",description:"A GCP Cloud Function HTTP POST with a JSON body becomes a single walker elb event.",trigger:{type:"POST"},in:{method:"POST",body:{event:"page view",data:{title:"Home",url:"https://example.com/"}},headers:{"content-type":"application/json"}},out:[["elb",{name:"page view",data:{title:"Home",url:"https://example.com/"}}]]},orderEvent={title:"Order POST",description:"A Cloud Function HTTP POST carrying an order payload becomes a walker order complete event.",trigger:{type:"POST"},in:{method:"POST",body:{event:"order complete",data:{id:"ORD-700",total:99.99,currency:"EUR"}},headers:{"content-type":"application/json"}},out:[["elb",{name:"order complete",data:{id:"ORD-700",total:99.99,currency:"EUR"}}]]};import{startFlow}from"@walkeros/collector";var createTrigger=async config=>{let flow;return{get flow(){return flow},trigger:()=>async content=>{if(!flow){const result=await startFlow(config);flow={collector:result.collector,elb:result.elb}}const source=function(collector){for(const source of Object.values(collector.sources||{}))if("cloudfunction"===source.type)return source}(flow.collector);if(!source)throw new Error("CloudFunction source not found in collector — ensure it is configured in sources");const body={...content.body};body.name&&!body.event&&(body.event=body.name,delete body.name);const headers=content.headers||{"content-type":"application/json"},req={method:content.method,body:body,headers:headers,get:h=>headers[h.toLowerCase()]};let responseBody,statusCode=200;const res={status:code=>(statusCode=code,res),json:data=>(responseBody=data,res),send:data=>(responseBody=data,res),set:()=>res};return await source.push(req,res),{status:statusCode,body:responseBody}}}},DEFAULT_SETTINGS={cors:!0,timeout:3e4},cloudfunction_default=async context=>{const{config:config={},env:env,setIngest:setIngest}=context,{push:envPush}=env,settings2={...DEFAULT_SETTINGS,...config.settings||{}};return{type:"cloudfunction",config:{...config,settings:settings2},push:async(req,res)=>{try{if(function(res,corsOptions){if(corsOptions)if(!0===corsOptions)res.set("Access-Control-Allow-Origin","*"),res.set("Access-Control-Allow-Methods","POST, OPTIONS"),res.set("Access-Control-Allow-Headers","Content-Type, Authorization"),res.set("Access-Control-Max-Age","3600");else{if(corsOptions.origin){const origin=Array.isArray(corsOptions.origin)?corsOptions.origin.join(", "):corsOptions.origin;res.set("Access-Control-Allow-Origin",origin)}corsOptions.methods&&res.set("Access-Control-Allow-Methods",corsOptions.methods.join(", ")),corsOptions.headers&&res.set("Access-Control-Allow-Headers",corsOptions.headers.join(", ")),corsOptions.credentials&&res.set("Access-Control-Allow-Credentials","true"),void 0!==corsOptions.maxAge&&res.set("Access-Control-Max-Age",corsOptions.maxAge.toString())}}(res,settings2.cors||!1),"OPTIONS"===req.method)return void res.status(204).send();if(await setIngest(req),"POST"!==req.method)return void res.status(405).json({success:!1,error:"Method not allowed. Use POST."});const body=req.body;if(body&&"object"==typeof body&&function(body){return"event"in body&&"string"==typeof body.event}(body)){const result=await async function(eventReq,push2){try{const result=await push2({name:eventReq.event,data:eventReq.data||{},context:eventReq.context,user:eventReq.user,globals:eventReq.globals,consent:eventReq.consent});return{id:result?.event?.id}}catch(error){return{error:error instanceof Error?error.message:"Unknown error"}}}(body,envPush);result.error?res.status(400).json({success:!1,error:result.error}):res.status(200).json({success:!0,id:result.id})}else{const result=await envPush({});res.status(200).json({success:!0,id:result?.event?.id})}}catch(error){res.status(500).json({success:!1,error:error instanceof Error?error.message:"Internal server error"})}}}};export{types_exports as SourceCloudFunction,examples_exports as examples,schemas_exports as schemas,cloudfunction_default as sourceCloudFunction};//# sourceMappingURL=index.mjs.map
|
|
1
|
+
var dist_default,__create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__require=(x2=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(x2,{get:(a,b)=>("undefined"!=typeof require?require:a)[b]}):x2)(function(x2){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+x2+'" is not supported')}),__esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res},__commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__toESM=(mod,isNodeMode,target)=>(target=null!=mod?__create(__getProtoOf(mod)):{},((to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to})(!isNodeMode&&mod&&mod.__esModule?target:__defProp(target,"default",{value:mod,enumerable:!0}),mod)),require_extend=__commonJS({"../../../../node_modules/extend/index.js"(exports,module){var hasOwn=Object.prototype.hasOwnProperty,toStr=Object.prototype.toString,defineProperty=Object.defineProperty,gOPD=Object.getOwnPropertyDescriptor,isArray=function(arr){return"function"==typeof Array.isArray?Array.isArray(arr):"[object Array]"===toStr.call(arr)},isPlainObject=function(obj){if(!obj||"[object Object]"!==toStr.call(obj))return!1;var key,hasOwnConstructor=hasOwn.call(obj,"constructor"),hasIsPrototypeOf=obj.constructor&&obj.constructor.prototype&&hasOwn.call(obj.constructor.prototype,"isPrototypeOf");if(obj.constructor&&!hasOwnConstructor&&!hasIsPrototypeOf)return!1;for(key in obj);return void 0===key||hasOwn.call(obj,key)},setProperty=function(target,options){defineProperty&&"__proto__"===options.name?defineProperty(target,options.name,{enumerable:!0,configurable:!0,value:options.newValue,writable:!0}):target[options.name]=options.newValue},getProperty=function(obj,name){if("__proto__"===name){if(!hasOwn.call(obj,name))return;if(gOPD)return gOPD(obj,name).value}return obj[name]};module.exports=function extend(){var options,name,src,copy,copyIsArray,clone2,target=arguments[0],i2=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[1]||{},i2=2),(null==target||"object"!=typeof target&&"function"!=typeof target)&&(target={});i2<length;++i2)if(null!=(options=arguments[i2]))for(name in options)src=getProperty(target,name),target!==(copy=getProperty(options,name))&&(deep&©&&(isPlainObject(copy)||(copyIsArray=isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone2=src&&isArray(src)?src:[]):clone2=src&&isPlainObject(src)?src:{},setProperty(target,{name:name,newValue:extend(deep,clone2,copy)})):void 0!==copy&&setProperty(target,{name:name,newValue:copy}));return target}}}),require_package=__commonJS({"../../../../node_modules/gaxios/package.json"(exports,module){module.exports={name:"gaxios",version:"7.1.3",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:{type:"git",directory:"packages/gaxios",url:"https://github.com/googleapis/google-cloud-node-core.git"},keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2",rimraf:"^5.0.1"},homepage:"https://github.com/googleapis/google-cloud-node-core/tree/main/packages/gaxios"}}}),require_util=__commonJS({"../../../../node_modules/gaxios/build/cjs/src/util.cjs"(exports,module){var pkg=require_package();module.exports={pkg:pkg}}}),require_common=__commonJS({"../../../../node_modules/gaxios/build/cjs/src/common.js"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GaxiosError=exports.GAXIOS_ERROR_SYMBOL=void 0,exports.defaultErrorRedactor=function defaultErrorRedactor(data){const REDACT="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function redactHeaders(headers){headers&&headers.forEach((_,key)=>{(/^authentication$/i.test(key)||/^authorization$/i.test(key)||/secret/i.test(key))&&headers.set(key,REDACT)})}function redactString(obj,key){if("object"==typeof obj&&null!==obj&&"string"==typeof obj[key]){const text=obj[key];(/grant_type=/i.test(text)||/assertion=/i.test(text)||/secret/i.test(text))&&(obj[key]=REDACT)}}function redactObject(obj){obj&&"object"==typeof obj&&(obj instanceof FormData||obj instanceof URLSearchParams||"forEach"in obj&&"set"in obj?obj.forEach((_,key)=>{(["grant_type","assertion"].includes(key)||/secret/.test(key))&&obj.set(key,REDACT)}):("grant_type"in obj&&(obj.grant_type=REDACT),"assertion"in obj&&(obj.assertion=REDACT),"client_secret"in obj&&(obj.client_secret=REDACT)))}data.config&&(redactHeaders(data.config.headers),redactString(data.config,"data"),redactObject(data.config.data),redactString(data.config,"body"),redactObject(data.config.body),data.config.url.searchParams.has("token")&&data.config.url.searchParams.set("token",REDACT),data.config.url.searchParams.has("client_secret")&&data.config.url.searchParams.set("client_secret",REDACT));data.response&&(defaultErrorRedactor({config:data.response.config}),redactHeaders(data.response.headers),data.response.bodyUsed&&(redactString(data.response,"data"),redactObject(data.response.data)));return data};var extend_1=__importDefault(require_extend()),pkg=__importDefault(require_util()).default.pkg;exports.GAXIOS_ERROR_SYMBOL=Symbol.for(`${pkg.name}-gaxios-error`);var GaxiosError=class _GaxiosError extends Error{config;response;code;status;error;[exports.GAXIOS_ERROR_SYMBOL]=pkg.version;static[Symbol.hasInstance](instance){return!(!instance||"object"!=typeof instance||!(exports.GAXIOS_ERROR_SYMBOL in instance)||instance[exports.GAXIOS_ERROR_SYMBOL]!==pkg.version)||Function.prototype[Symbol.hasInstance].call(_GaxiosError,instance)}constructor(message,config,response,cause){if(super(message,{cause:cause}),this.config=config,this.response=response,this.error=cause instanceof Error?cause:void 0,this.config=(0,extend_1.default)(!0,{},config),this.response&&(this.response.config=(0,extend_1.default)(!0,{},this.response.config)),this.response){try{this.response.data=function(responseType,data){switch(responseType){case"stream":default:return data;case"json":return JSON.parse(JSON.stringify(data));case"arraybuffer":return JSON.parse(Buffer.from(data).toString("utf8"));case"blob":return JSON.parse(data.text())}}(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}cause instanceof DOMException?this.code=cause.name:cause&&"object"==typeof cause&&"code"in cause&&("string"==typeof cause.code||"number"==typeof cause.code)&&(this.code=cause.code)}static extractAPIErrorFromResponse(res,defaultErrorMessage="The request failed"){let message=defaultErrorMessage;if("string"==typeof res.data&&(message=res.data),res.data&&"object"==typeof res.data&&"error"in res.data&&res.data.error&&!res.ok){if("string"==typeof res.data.error)return{message:res.data.error,code:res.status,status:res.statusText};if("object"==typeof res.data.error){message="message"in res.data.error&&"string"==typeof res.data.error.message?res.data.error.message:message;const status="status"in res.data.error&&"string"==typeof res.data.error.status?res.data.error.status:res.statusText,code="code"in res.data.error&&"number"==typeof res.data.error.code?res.data.error.code:res.status;if("errors"in res.data.error&&Array.isArray(res.data.error.errors)){const errorMessages=[];for(const e2 of res.data.error.errors)"object"==typeof e2&&"message"in e2&&"string"==typeof e2.message&&errorMessages.push(e2.message);return Object.assign({message:errorMessages.join("\n")||message,code:code,status:status},res.data.error)}return Object.assign({message:message,code:code,status:status},res.data.error)}}return{message:message,code:res.status,status:res.statusText}}};exports.GaxiosError=GaxiosError}}),require_retry=__commonJS({"../../../../node_modules/gaxios/build/cjs/src/retry.js"(exports){function shouldRetryRequest(err){const config=getConfig3(err);if(err.config.signal?.aborted&&"TimeoutError"!==err.code||"AbortError"===err.code)return!1;if(!config||0===config.retry)return!1;if(!err.response&&(config.currentRetryAttempt||0)>=config.noResponseRetries)return!1;if(!config.httpMethodsToRetry||!config.httpMethodsToRetry.includes(err.config.method?.toUpperCase()||"GET"))return!1;if(err.response&&err.response.status){let isInRange=!1;for(const[min,max]of config.statusCodesToRetry){const status=err.response.status;if(status>=min&&status<=max){isInRange=!0;break}}if(!isInRange)return!1}return config.currentRetryAttempt=config.currentRetryAttempt||0,!(config.currentRetryAttempt>=config.retry)}function getConfig3(err){if(err&&err.config&&err.config.retryConfig)return err.config.retryConfig}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRetryConfig=async function(err){let config=getConfig3(err);if(!err||!err.config||!config&&!err.config.retry)return{shouldRetry:!1};config=config||{},config.currentRetryAttempt=config.currentRetryAttempt||0,config.retry=void 0===config.retry||null===config.retry?3:config.retry,config.httpMethodsToRetry=config.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],config.noResponseRetries=void 0===config.noResponseRetries||null===config.noResponseRetries?2:config.noResponseRetries,config.retryDelayMultiplier=config.retryDelayMultiplier?config.retryDelayMultiplier:2,config.timeOfFirstRequest=config.timeOfFirstRequest?config.timeOfFirstRequest:Date.now(),config.totalTimeout=config.totalTimeout?config.totalTimeout:Number.MAX_SAFE_INTEGER,config.maxRetryDelay=config.maxRetryDelay?config.maxRetryDelay:Number.MAX_SAFE_INTEGER;config.statusCodesToRetry=config.statusCodesToRetry||[[100,199],[408,408],[429,429],[500,599]],err.config.retryConfig=config;const shouldRetryFn=config.shouldRetry||shouldRetryRequest;if(!await shouldRetryFn(err))return{shouldRetry:!1,config:err.config};const delay=function(config){const retryDelay=config.currentRetryAttempt?0:config.retryDelay??100,calculatedDelay=retryDelay+(Math.pow(config.retryDelayMultiplier,config.currentRetryAttempt)-1)/2*1e3,maxAllowableDelay=config.totalTimeout-(Date.now()-config.timeOfFirstRequest);return Math.min(calculatedDelay,maxAllowableDelay,config.maxRetryDelay)}(config);err.config.retryConfig.currentRetryAttempt+=1;const backoff=config.retryBackoff?config.retryBackoff(err,delay):new Promise(resolve=>{setTimeout(resolve,delay)});config.onRetryAttempt&&await config.onRetryAttempt(err);return await backoff,{shouldRetry:!0,config:err.config}}}}),require_interceptor=__commonJS({"../../../../node_modules/gaxios/build/cjs/src/interceptor.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.GaxiosInterceptorManager=void 0;var GaxiosInterceptorManager=class extends Set{};exports.GaxiosInterceptorManager=GaxiosInterceptorManager}}),require_ms=__commonJS({"../../../../node_modules/ms/index.js"(exports,module){var s2=1e3,m2=6e4,h2=60*m2,d=24*h2,w=7*d,y=365.25*d;function plural(ms,msAbs,n,name){var isPlural=msAbs>=1.5*n;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}module.exports=function(val,options){options=options||{};var type=typeof val;if("string"===type&&val.length>0)return function(str){if((str=String(str)).length>100)return;var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match)return;var n=parseFloat(match[1]);switch((match[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h2;case"minutes":case"minute":case"mins":case"min":case"m":return n*m2;case"seconds":case"second":case"secs":case"sec":case"s":return n*s2;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}(val);if("number"===type&&isFinite(val))return options.long?function(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return plural(ms,msAbs,d,"day");if(msAbs>=h2)return plural(ms,msAbs,h2,"hour");if(msAbs>=m2)return plural(ms,msAbs,m2,"minute");if(msAbs>=s2)return plural(ms,msAbs,s2,"second");return ms+" ms"}(val):function(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return Math.round(ms/d)+"d";if(msAbs>=h2)return Math.round(ms/h2)+"h";if(msAbs>=m2)return Math.round(ms/m2)+"m";if(msAbs>=s2)return Math.round(ms/s2)+"s";return ms+"ms"}(val);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))}}}),require_common2=__commonJS({"../../../../node_modules/debug/src/common.js"(exports,module){module.exports=function(env){function createDebug(namespace){let prevTime,namespacesCache,enabledCache,enableOverride=null;function debug(...args){if(!debug.enabled)return;const self2=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self2.diff=ms,self2.prev=prevTime,self2.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),"string"!=typeof args[0]&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if("%%"===match)return"%";index++;const formatter=createDebug.formatters[format];if("function"==typeof formatter){const val=args[index];match=formatter.call(self2,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self2,args);(self2.log||createDebug.log).apply(self2,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==enableOverride?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),"function"==typeof createDebug.init&&createDebug.init(debug),debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(void 0===delimiter?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||"*"===template[templateIndex]))"*"===template[templateIndex]?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else{if(-1===starIndex)return!1;templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex}for(;templateIndex<template.length&&"*"===template[templateIndex];)templateIndex++;return templateIndex===template.length}return createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=function(val){if(val instanceof Error)return val.stack||val.message;return val},createDebug.disable=function(){const namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces},createDebug.enable=function(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];const split=("string"==typeof namespaces?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const ns of split)"-"===ns[0]?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)},createDebug.enabled=function(name){for(const skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(const ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1},createDebug.humanize=require_ms(),createDebug.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={},createDebug.selectColor=function(namespace){let hash=0;for(let i2=0;i2<namespace.length;i2++)hash=(hash<<5)-hash+namespace.charCodeAt(i2),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]},createDebug.enable(createDebug.load()),createDebug}}}),require_browser=__commonJS({"../../../../node_modules/debug/src/browser.js"(exports,module){exports.formatArgs=function(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{"%%"!==match&&(index++,"%c"===match&&(lastC=index))}),args.splice(lastC,0,c)},exports.save=function(namespaces){try{namespaces?exports.storage.setItem("debug",namespaces):exports.storage.removeItem("debug")}catch(error){}},exports.load=function(){let r2;try{r2=exports.storage.getItem("debug")||exports.storage.getItem("DEBUG")}catch(error){}!r2&&"undefined"!=typeof process&&"env"in process&&(r2=process.env.DEBUG);return r2},exports.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m2;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(m2=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m2[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},exports.storage=function(){try{return localStorage}catch(error){}}(),exports.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],exports.log=console.debug||console.log||(()=>{}),module.exports=require_common2()(exports);var{formatters:formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}}),require_has_flag=__commonJS({"../../../../node_modules/has-flag/index.js"(exports,module){module.exports=(flag,argv=process.argv)=>{const prefix=flag.startsWith("-")?"":1===flag.length?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return-1!==position&&(-1===terminatorPosition||position<terminatorPosition)}}}),require_supports_color=__commonJS({"../../../../node_modules/supports-color/index.js"(exports,module){var forceColor,os=__require("os"),tty=__require("tty"),hasFlag=require_has_flag(),{env:env}=process;function translateLevel(level){return 0!==level&&{level:level,hasBasic:!0,has256:level>=2,has16m:level>=3}}function supportsColor(haveStream,streamIsTTY){if(0===forceColor)return 0;if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2;if(haveStream&&!streamIsTTY&&void 0===forceColor)return 0;const min=forceColor||0;if("dumb"===env.TERM)return min;if("win32"===process.platform){const osRelease=os.release().split(".");return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if("CI"in env)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(sign=>sign in env)||"codeship"===env.CI_NAME?1:min;if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if("truecolor"===env.COLORTERM)return 3;if("TERM_PROGRAM"in env){const version=parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(env.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)||"COLORTERM"in env?1:min}hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")?forceColor=0:(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))&&(forceColor=1),"FORCE_COLOR"in env&&(forceColor="true"===env.FORCE_COLOR?1:"false"===env.FORCE_COLOR?0:0===env.FORCE_COLOR.length?1:Math.min(parseInt(env.FORCE_COLOR,10),3)),module.exports={supportsColor:function(stream){return translateLevel(supportsColor(stream,stream&&stream.isTTY))},stdout:translateLevel(supportsColor(!0,tty.isatty(1))),stderr:translateLevel(supportsColor(!0,tty.isatty(2)))}}}),require_node=__commonJS({"../../../../node_modules/debug/src/node.js"(exports,module){var tty=__require("tty"),util=__require("util");exports.init=function(debug){debug.inspectOpts={};const keys=Object.keys(exports.inspectOpts);for(let i2=0;i2<keys.length;i2++)debug.inspectOpts[keys[i2]]=exports.inspectOpts[keys[i2]]},exports.log=function(...args){return process.stderr.write(util.formatWithOptions(exports.inspectOpts,...args)+"\n")},exports.formatArgs=function(args){const{namespace:name,useColors:useColors2}=this;if(useColors2){const c=this.color,colorCode="[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} [0m`;args[0]=prefix+args[0].split("\n").join("\n"+prefix),args.push(colorCode+"m+"+module.exports.humanize(this.diff)+"[0m")}else args[0]=function(){if(exports.inspectOpts.hideDate)return"";return(new Date).toISOString()+" "}()+name+" "+args[0]},exports.save=function(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG},exports.load=function(){return process.env.DEBUG},exports.useColors=function(){return"colors"in exports.inspectOpts?Boolean(exports.inspectOpts.colors):tty.isatty(process.stderr.fd)},exports.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports.colors=[6,2,3,4,5,1];try{const supportsColor=require_supports_color();supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(error){}exports.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase());let val=process.env[key];return val=!!/^(yes|on|true|enabled)$/i.test(val)||!/^(no|off|false|disabled)$/i.test(val)&&("null"===val?null:Number(val)),obj[prop]=val,obj},{}),module.exports=require_common2()(exports);var{formatters:formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split("\n").map(str=>str.trim()).join(" ")},formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}}}),require_src=__commonJS({"../../../../node_modules/debug/src/index.js"(exports,module){"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?module.exports=require_browser():module.exports=require_node()}}),require_helpers=__commonJS({"../../../../node_modules/gaxios/node_modules/agent-base/dist/helpers.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k in mod)"default"!==k&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0}),exports.req=exports.json=exports.toBuffer=void 0;var http3=__importStar(__require("http")),https2=__importStar(__require("https"));async function toBuffer(stream){let length=0;const chunks=[];for await(const chunk of stream)length+=chunk.length,chunks.push(chunk);return Buffer.concat(chunks,length)}exports.toBuffer=toBuffer,exports.json=async function(stream){const str=(await toBuffer(stream)).toString("utf8");try{return JSON.parse(str)}catch(_err){const err=_err;throw err.message+=` (input: ${str})`,err}},exports.req=function(url,opts={}){const req2=(("string"==typeof url?url:url.href).startsWith("https:")?https2:http3).request(url,opts),promise=new Promise((resolve,reject)=>{req2.once("response",resolve).once("error",reject).end()});return req2.then=promise.then.bind(promise),req2}}}),require_dist=__commonJS({"../../../../node_modules/gaxios/node_modules/agent-base/dist/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k in mod)"default"!==k&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)"default"===p||Object.prototype.hasOwnProperty.call(exports2,p)||__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Agent=void 0;var net=__importStar(__require("net")),http3=__importStar(__require("http")),https_1=__require("https");__exportStar(require_helpers(),exports);var INTERNAL=Symbol("AgentBaseInternalState"),Agent=class extends http3.Agent{constructor(opts){super(opts),this[INTERNAL]={}}isSecureEndpoint(options){if(options){if("boolean"==typeof options.secureEndpoint)return options.secureEndpoint;if("string"==typeof options.protocol)return"https:"===options.protocol}const{stack:stack}=new Error;return"string"==typeof stack&&stack.split("\n").some(l=>-1!==l.indexOf("(https.js:")||-1!==l.indexOf("node:https:"))}incrementSockets(name){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[name]||(this.sockets[name]=[]);const fakeSocket=new net.Socket({writable:!1});return this.sockets[name].push(fakeSocket),this.totalSocketCount++,fakeSocket}decrementSockets(name,socket){if(!this.sockets[name]||null===socket)return;const sockets=this.sockets[name],index=sockets.indexOf(socket);-1!==index&&(sockets.splice(index,1),this.totalSocketCount--,0===sockets.length&&delete this.sockets[name])}getName(options){return this.isSecureEndpoint(options)?https_1.Agent.prototype.getName.call(this,options):super.getName(options)}createSocket(req,options,cb){const connectOpts={...options,secureEndpoint:this.isSecureEndpoint(options)},name=this.getName(connectOpts),fakeSocket=this.incrementSockets(name);Promise.resolve().then(()=>this.connect(req,connectOpts)).then(socket=>{if(this.decrementSockets(name,fakeSocket),socket instanceof http3.Agent)try{return socket.addRequest(req,connectOpts)}catch(err){return cb(err)}this[INTERNAL].currentSocket=socket,super.createSocket(req,options,cb)},err=>{this.decrementSockets(name,fakeSocket),cb(err)})}createConnection(){const socket=this[INTERNAL].currentSocket;if(this[INTERNAL].currentSocket=void 0,!socket)throw new Error("No socket was returned in the `connect()` function");return socket}get defaultPort(){return this[INTERNAL].defaultPort??("https:"===this.protocol?443:80)}set defaultPort(v){this[INTERNAL]&&(this[INTERNAL].defaultPort=v)}get protocol(){return this[INTERNAL].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(v){this[INTERNAL]&&(this[INTERNAL].protocol=v)}};exports.Agent=Agent}}),require_parse_proxy_response=__commonJS({"../../../../node_modules/gaxios/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseProxyResponse=void 0;var debug=(0,__importDefault(require_src()).default)("https-proxy-agent:parse-proxy-response");exports.parseProxyResponse=function(socket){return new Promise((resolve,reject)=>{let buffersLength=0;const buffers=[];function read(){const b=socket.read();b?function(b){buffers.push(b),buffersLength+=b.length;const buffered=Buffer.concat(buffers,buffersLength),endOfHeaders=buffered.indexOf("\r\n\r\n");if(-1===endOfHeaders)return debug("have not received end of HTTP headers yet..."),void read();const headerParts=buffered.slice(0,endOfHeaders).toString("ascii").split("\r\n"),firstLine=headerParts.shift();if(!firstLine)return socket.destroy(),reject(new Error("No header received from proxy CONNECT response"));const firstLineParts=firstLine.split(" "),statusCode=+firstLineParts[1],statusText=firstLineParts.slice(2).join(" "),headers={};for(const header of headerParts){if(!header)continue;const firstColon=header.indexOf(":");if(-1===firstColon)return socket.destroy(),reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));const key=header.slice(0,firstColon).toLowerCase(),value=header.slice(firstColon+1).trimStart(),current=headers[key];"string"==typeof current?headers[key]=[current,value]:Array.isArray(current)?current.push(value):headers[key]=value}debug("got proxy server response: %o %o",firstLine,headers),cleanup(),resolve({connect:{statusCode:statusCode,statusText:statusText,headers:headers},buffered:buffered})}(b):socket.once("readable",read)}function cleanup(){socket.removeListener("end",onend),socket.removeListener("error",onerror),socket.removeListener("readable",read)}function onend(){cleanup(),debug("onend"),reject(new Error("Proxy connection ended before receiving CONNECT response"))}function onerror(err){cleanup(),debug("onerror %o",err),reject(err)}socket.on("error",onerror),socket.on("end",onend),read()})}}}),require_dist2=__commonJS({"../../../../node_modules/gaxios/node_modules/https-proxy-agent/dist/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k in mod)"default"!==k&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpsProxyAgent=void 0;var net=__importStar(__require("net")),tls=__importStar(__require("tls")),assert_1=__importDefault(__require("assert")),debug_1=__importDefault(require_src()),agent_base_1=require_dist(),url_1=__require("url"),parse_proxy_response_1=require_parse_proxy_response(),debug=(0,debug_1.default)("https-proxy-agent"),setServernameFromNonIpHost=options=>void 0===options.servername&&options.host&&!net.isIP(options.host)?{...options,servername:options.host}:options,HttpsProxyAgent=class extends agent_base_1.Agent{constructor(proxy,opts){super(opts),this.options={path:void 0},this.proxy="string"==typeof proxy?new url_1.URL(proxy):proxy,this.proxyHeaders=opts?.headers??{},debug("Creating new HttpsProxyAgent instance: %o",this.proxy.href);const host=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),port=this.proxy.port?parseInt(this.proxy.port,10):"https:"===this.proxy.protocol?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...opts?omit(opts,"headers"):null,host:host,port:port}}async connect(req,opts){const{proxy:proxy}=this;if(!opts.host)throw new TypeError('No "host" provided');let socket;"https:"===proxy.protocol?(debug("Creating `tls.Socket`: %o",this.connectOpts),socket=tls.connect(setServernameFromNonIpHost(this.connectOpts))):(debug("Creating `net.Socket`: %o",this.connectOpts),socket=net.connect(this.connectOpts));const headers="function"==typeof this.proxyHeaders?this.proxyHeaders():{...this.proxyHeaders},host=net.isIPv6(opts.host)?`[${opts.host}]`:opts.host;let payload=`CONNECT ${host}:${opts.port} HTTP/1.1\r\n`;if(proxy.username||proxy.password){const auth=`${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;headers["Proxy-Authorization"]=`Basic ${Buffer.from(auth).toString("base64")}`}headers.Host=`${host}:${opts.port}`,headers["Proxy-Connection"]||(headers["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(const name of Object.keys(headers))payload+=`${name}: ${headers[name]}\r\n`;const proxyResponsePromise=(0,parse_proxy_response_1.parseProxyResponse)(socket);socket.write(`${payload}\r\n`);const{connect:connect,buffered:buffered}=await proxyResponsePromise;if(req.emit("proxyConnect",connect),this.emit("proxyConnect",connect,req),200===connect.statusCode)return req.once("socket",resume),opts.secureEndpoint?(debug("Upgrading socket connection to TLS"),tls.connect({...omit(setServernameFromNonIpHost(opts),"host","path","port"),socket:socket})):socket;socket.destroy();const fakeSocket=new net.Socket({writable:!1});return fakeSocket.readable=!0,req.once("socket",s2=>{debug("Replaying proxy buffer for failed request"),(0,assert_1.default)(s2.listenerCount("data")>0),s2.push(buffered),s2.push(null)}),fakeSocket}};function resume(socket){socket.resume()}function omit(obj,...keys){const ret={};let key;for(key in obj)keys.includes(key)||(ret[key]=obj[key]);return ret}HttpsProxyAgent.protocols=["http","https"],exports.HttpsProxyAgent=HttpsProxyAgent}});function dataUriToBuffer(uri){if(!/^data:/i.test(uri))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');const firstComma=(uri=uri.replace(/\r?\n/g,"")).indexOf(",");if(-1===firstComma||firstComma<=4)throw new TypeError("malformed data: URI");const meta=uri.substring(5,firstComma).split(";");let charset="",base64=!1;const type=meta[0]||"text/plain";let typeFull=type;for(let i2=1;i2<meta.length;i2++)"base64"===meta[i2]?base64=!0:meta[i2]&&(typeFull+=`;${meta[i2]}`,0===meta[i2].indexOf("charset=")&&(charset=meta[i2].substring(8)));meta[0]||charset.length||(typeFull+=";charset=US-ASCII",charset="US-ASCII");const encoding=base64?"base64":"ascii",data=unescape(uri.substring(firstComma+1)),buffer=Buffer.from(data,encoding);return buffer.type=type,buffer.typeFull=typeFull,buffer.charset=charset,buffer}var POOL_SIZE,_Blob,fetch_blob_default,init_dist=__esm({"../../../../node_modules/data-uri-to-buffer/dist/index.js"(){dist_default=dataUriToBuffer}}),require_ponyfill_es2018=__commonJS({"../../../../node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports,module){var global2,factory;global2=exports,factory=function(exports2){function noop2(){}function typeIsObject(x2){return"object"==typeof x2&&null!==x2||"function"==typeof x2}const rethrowAssertionErrorRejection=noop2;function setFunctionName(fn,name){try{Object.defineProperty(fn,"name",{value:name,configurable:!0})}catch(_a2){}}const originalPromise=Promise,originalPromiseThen=Promise.prototype.then,originalPromiseReject=Promise.reject.bind(originalPromise);function newPromise(executor){return new originalPromise(executor)}function promiseResolvedWith(value){return newPromise(resolve=>resolve(value))}function promiseRejectedWith(reason){return originalPromiseReject(reason)}function PerformPromiseThen(promise,onFulfilled,onRejected){return originalPromiseThen.call(promise,onFulfilled,onRejected)}function uponPromise(promise,onFulfilled,onRejected){PerformPromiseThen(PerformPromiseThen(promise,onFulfilled,onRejected),void 0,rethrowAssertionErrorRejection)}function uponFulfillment(promise,onFulfilled){uponPromise(promise,onFulfilled)}function uponRejection(promise,onRejected){uponPromise(promise,void 0,onRejected)}function transformPromiseWith(promise,fulfillmentHandler,rejectionHandler){return PerformPromiseThen(promise,fulfillmentHandler,rejectionHandler)}function setPromiseIsHandledToTrue(promise){PerformPromiseThen(promise,void 0,rethrowAssertionErrorRejection)}let _queueMicrotask=callback=>{if("function"==typeof queueMicrotask)_queueMicrotask=queueMicrotask;else{const resolvedPromise=promiseResolvedWith(void 0);_queueMicrotask=cb=>PerformPromiseThen(resolvedPromise,cb)}return _queueMicrotask(callback)};function reflectCall(F2,V,args){if("function"!=typeof F2)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(F2,V,args)}function promiseCall(F2,V,args){try{return promiseResolvedWith(reflectCall(F2,V,args))}catch(value){return promiseRejectedWith(value)}}class SimpleQueue{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(element){const oldBack=this._back;let newBack=oldBack;16383===oldBack._elements.length&&(newBack={_elements:[],_next:void 0}),oldBack._elements.push(element),newBack!==oldBack&&(this._back=newBack,oldBack._next=newBack),++this._size}shift(){const oldFront=this._front;let newFront=oldFront;const oldCursor=this._cursor;let newCursor=oldCursor+1;const elements=oldFront._elements,element=elements[oldCursor];return 16384===newCursor&&(newFront=oldFront._next,newCursor=0),--this._size,this._cursor=newCursor,oldFront!==newFront&&(this._front=newFront),elements[oldCursor]=void 0,element}forEach(callback){let i2=this._cursor,node=this._front,elements=node._elements;for(;!(i2===elements.length&&void 0===node._next||i2===elements.length&&(node=node._next,elements=node._elements,i2=0,0===elements.length));)callback(elements[i2]),++i2}peek(){const front=this._front,cursor=this._cursor;return front._elements[cursor]}}const AbortSteps=Symbol("[[AbortSteps]]"),ErrorSteps=Symbol("[[ErrorSteps]]"),CancelSteps=Symbol("[[CancelSteps]]"),PullSteps=Symbol("[[PullSteps]]"),ReleaseSteps=Symbol("[[ReleaseSteps]]");function ReadableStreamReaderGenericInitialize(reader,stream){reader._ownerReadableStream=stream,stream._reader=reader,"readable"===stream._state?defaultReaderClosedPromiseInitialize(reader):"closed"===stream._state?function(reader){defaultReaderClosedPromiseInitialize(reader),defaultReaderClosedPromiseResolve(reader)}(reader):defaultReaderClosedPromiseInitializeAsRejected(reader,stream._storedError)}function ReadableStreamReaderGenericCancel(reader,reason){return ReadableStreamCancel(reader._ownerReadableStream,reason)}function ReadableStreamReaderGenericRelease(reader){const stream=reader._ownerReadableStream;"readable"===stream._state?defaultReaderClosedPromiseReject(reader,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(reader,reason){defaultReaderClosedPromiseInitializeAsRejected(reader,reason)}(reader,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),stream._readableStreamController[ReleaseSteps](),stream._reader=void 0,reader._ownerReadableStream=void 0}function readerLockException(name){return new TypeError("Cannot "+name+" a stream using a released reader")}function defaultReaderClosedPromiseInitialize(reader){reader._closedPromise=newPromise((resolve,reject)=>{reader._closedPromise_resolve=resolve,reader._closedPromise_reject=reject})}function defaultReaderClosedPromiseInitializeAsRejected(reader,reason){defaultReaderClosedPromiseInitialize(reader),defaultReaderClosedPromiseReject(reader,reason)}function defaultReaderClosedPromiseReject(reader,reason){void 0!==reader._closedPromise_reject&&(setPromiseIsHandledToTrue(reader._closedPromise),reader._closedPromise_reject(reason),reader._closedPromise_resolve=void 0,reader._closedPromise_reject=void 0)}function defaultReaderClosedPromiseResolve(reader){void 0!==reader._closedPromise_resolve&&(reader._closedPromise_resolve(void 0),reader._closedPromise_resolve=void 0,reader._closedPromise_reject=void 0)}const NumberIsFinite=Number.isFinite||function(x2){return"number"==typeof x2&&isFinite(x2)},MathTrunc=Math.trunc||function(v){return v<0?Math.ceil(v):Math.floor(v)};function assertDictionary(obj,context){if(void 0!==obj&&"object"!=typeof(x2=obj)&&"function"!=typeof x2)throw new TypeError(`${context} is not an object.`);var x2}function assertFunction(x2,context){if("function"!=typeof x2)throw new TypeError(`${context} is not a function.`)}function assertObject(x2,context){if(!function(x2){return"object"==typeof x2&&null!==x2||"function"==typeof x2}(x2))throw new TypeError(`${context} is not an object.`)}function assertRequiredArgument(x2,position,context){if(void 0===x2)throw new TypeError(`Parameter ${position} is required in '${context}'.`)}function assertRequiredField(x2,field,context){if(void 0===x2)throw new TypeError(`${field} is required in '${context}'.`)}function convertUnrestrictedDouble(value){return Number(value)}function censorNegativeZero(x2){return 0===x2?0:x2}function convertUnsignedLongLongWithEnforceRange(value,context){const upperBound=Number.MAX_SAFE_INTEGER;let x2=Number(value);if(x2=censorNegativeZero(x2),!NumberIsFinite(x2))throw new TypeError(`${context} is not a finite number`);if(x2=function(x2){return censorNegativeZero(MathTrunc(x2))}(x2),x2<0||x2>upperBound)throw new TypeError(`${context} is outside the accepted range of 0 to ${upperBound}, inclusive`);return NumberIsFinite(x2)&&0!==x2?x2:0}function assertReadableStream(x2,context){if(!IsReadableStream(x2))throw new TypeError(`${context} is not a ReadableStream.`)}function AcquireReadableStreamDefaultReader(stream){return new ReadableStreamDefaultReader(stream)}function ReadableStreamAddReadRequest(stream,readRequest){stream._reader._readRequests.push(readRequest)}function ReadableStreamFulfillReadRequest(stream,chunk,done){const readRequest=stream._reader._readRequests.shift();done?readRequest._closeSteps():readRequest._chunkSteps(chunk)}function ReadableStreamGetNumReadRequests(stream){return stream._reader._readRequests.length}function ReadableStreamHasDefaultReader(stream){const reader=stream._reader;return void 0!==reader&&!!IsReadableStreamDefaultReader(reader)}class ReadableStreamDefaultReader{constructor(stream){if(assertRequiredArgument(stream,1,"ReadableStreamDefaultReader"),assertReadableStream(stream,"First parameter"),IsReadableStreamLocked(stream))throw new TypeError("This stream has already been locked for exclusive reading by another reader");ReadableStreamReaderGenericInitialize(this,stream),this._readRequests=new SimpleQueue}get closed(){return IsReadableStreamDefaultReader(this)?this._closedPromise:promiseRejectedWith(defaultReaderBrandCheckException("closed"))}cancel(reason=void 0){return IsReadableStreamDefaultReader(this)?void 0===this._ownerReadableStream?promiseRejectedWith(readerLockException("cancel")):ReadableStreamReaderGenericCancel(this,reason):promiseRejectedWith(defaultReaderBrandCheckException("cancel"))}read(){if(!IsReadableStreamDefaultReader(this))return promiseRejectedWith(defaultReaderBrandCheckException("read"));if(void 0===this._ownerReadableStream)return promiseRejectedWith(readerLockException("read from"));let resolvePromise,rejectPromise;const promise=newPromise((resolve,reject)=>{resolvePromise=resolve,rejectPromise=reject});return ReadableStreamDefaultReaderRead(this,{_chunkSteps:chunk=>resolvePromise({value:chunk,done:!1}),_closeSteps:()=>resolvePromise({value:void 0,done:!0}),_errorSteps:e2=>rejectPromise(e2)}),promise}releaseLock(){if(!IsReadableStreamDefaultReader(this))throw defaultReaderBrandCheckException("releaseLock");void 0!==this._ownerReadableStream&&function(reader){ReadableStreamReaderGenericRelease(reader);const e2=new TypeError("Reader was released");ReadableStreamDefaultReaderErrorReadRequests(reader,e2)}(this)}}function IsReadableStreamDefaultReader(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_readRequests")&&x2 instanceof ReadableStreamDefaultReader}function ReadableStreamDefaultReaderRead(reader,readRequest){const stream=reader._ownerReadableStream;stream._disturbed=!0,"closed"===stream._state?readRequest._closeSteps():"errored"===stream._state?readRequest._errorSteps(stream._storedError):stream._readableStreamController[PullSteps](readRequest)}function ReadableStreamDefaultReaderErrorReadRequests(reader,e2){const readRequests=reader._readRequests;reader._readRequests=new SimpleQueue,readRequests.forEach(readRequest=>{readRequest._errorSteps(e2)})}function defaultReaderBrandCheckException(name){return new TypeError(`ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`)}Object.defineProperties(ReadableStreamDefaultReader.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),setFunctionName(ReadableStreamDefaultReader.prototype.cancel,"cancel"),setFunctionName(ReadableStreamDefaultReader.prototype.read,"read"),setFunctionName(ReadableStreamDefaultReader.prototype.releaseLock,"releaseLock"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamDefaultReader.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});const AsyncIteratorPrototype=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ReadableStreamAsyncIteratorImpl{constructor(reader,preventCancel){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=reader,this._preventCancel=preventCancel}next(){const nextSteps=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?transformPromiseWith(this._ongoingPromise,nextSteps,nextSteps):nextSteps(),this._ongoingPromise}return(value){const returnSteps=()=>this._returnSteps(value);return this._ongoingPromise?transformPromiseWith(this._ongoingPromise,returnSteps,returnSteps):returnSteps()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const reader=this._reader;let resolvePromise,rejectPromise;const promise=newPromise((resolve,reject)=>{resolvePromise=resolve,rejectPromise=reject});return ReadableStreamDefaultReaderRead(reader,{_chunkSteps:chunk=>{this._ongoingPromise=void 0,_queueMicrotask(()=>resolvePromise({value:chunk,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ReadableStreamReaderGenericRelease(reader),resolvePromise({value:void 0,done:!0})},_errorSteps:reason=>{this._ongoingPromise=void 0,this._isFinished=!0,ReadableStreamReaderGenericRelease(reader),rejectPromise(reason)}}),promise}_returnSteps(value){if(this._isFinished)return Promise.resolve({value:value,done:!0});this._isFinished=!0;const reader=this._reader;if(!this._preventCancel){const result=ReadableStreamReaderGenericCancel(reader,value);return ReadableStreamReaderGenericRelease(reader),transformPromiseWith(result,()=>({value:value,done:!0}))}return ReadableStreamReaderGenericRelease(reader),promiseResolvedWith({value:value,done:!0})}}const ReadableStreamAsyncIteratorPrototype={next(){return IsReadableStreamAsyncIterator(this)?this._asyncIteratorImpl.next():promiseRejectedWith(streamAsyncIteratorBrandCheckException("next"))},return(value){return IsReadableStreamAsyncIterator(this)?this._asyncIteratorImpl.return(value):promiseRejectedWith(streamAsyncIteratorBrandCheckException("return"))}};function IsReadableStreamAsyncIterator(x2){if(!typeIsObject(x2))return!1;if(!Object.prototype.hasOwnProperty.call(x2,"_asyncIteratorImpl"))return!1;try{return x2._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl}catch(_a2){return!1}}function streamAsyncIteratorBrandCheckException(name){return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`)}Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype,AsyncIteratorPrototype);const NumberIsNaN=Number.isNaN||function(x2){return x2!=x2};var _a,_b,_c;function CreateArrayFromList(elements){return elements.slice()}function CopyDataBlockBytes(dest,destOffset,src,srcOffset,n){new Uint8Array(dest).set(new Uint8Array(src,srcOffset,n),destOffset)}let TransferArrayBuffer=O=>(TransferArrayBuffer="function"==typeof O.transfer?buffer=>buffer.transfer():"function"==typeof structuredClone?buffer=>structuredClone(buffer,{transfer:[buffer]}):buffer=>buffer,TransferArrayBuffer(O)),IsDetachedBuffer=O=>(IsDetachedBuffer="boolean"==typeof O.detached?buffer=>buffer.detached:buffer=>0===buffer.byteLength,IsDetachedBuffer(O));function ArrayBufferSlice(buffer,begin,end){if(buffer.slice)return buffer.slice(begin,end);const length=end-begin,slice=new ArrayBuffer(length);return CopyDataBlockBytes(slice,0,buffer,begin,length),slice}function GetMethod(receiver,prop){const func=receiver[prop];if(null!=func){if("function"!=typeof func)throw new TypeError(`${String(prop)} is not a function`);return func}}const SymbolAsyncIterator=null!==(_c=null!==(_a=Symbol.asyncIterator)&&void 0!==_a?_a:null===(_b=Symbol.for)||void 0===_b?void 0:_b.call(Symbol,"Symbol.asyncIterator"))&&void 0!==_c?_c:"@@asyncIterator";function GetIterator(obj,hint="sync",method){if(void 0===method)if("async"===hint){if(void 0===(method=GetMethod(obj,SymbolAsyncIterator)))return function(syncIteratorRecord){const syncIterable={[Symbol.iterator]:()=>syncIteratorRecord.iterator},asyncIterator=async function*(){return yield*syncIterable}();return{iterator:asyncIterator,nextMethod:asyncIterator.next,done:!1}}(GetIterator(obj,"sync",GetMethod(obj,Symbol.iterator)))}else method=GetMethod(obj,Symbol.iterator);if(void 0===method)throw new TypeError("The object is not iterable");const iterator=reflectCall(method,obj,[]);if(!typeIsObject(iterator))throw new TypeError("The iterator method must return an object");return{iterator:iterator,nextMethod:iterator.next,done:!1}}function CloneAsUint8Array(O){const buffer=ArrayBufferSlice(O.buffer,O.byteOffset,O.byteOffset+O.byteLength);return new Uint8Array(buffer)}function DequeueValue(container){const pair=container._queue.shift();return container._queueTotalSize-=pair.size,container._queueTotalSize<0&&(container._queueTotalSize=0),pair.value}function EnqueueValueWithSize(container,value,size){if("number"!=typeof(v=size)||NumberIsNaN(v)||v<0||size===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var v;container._queue.push({value:value,size:size}),container._queueTotalSize+=size}function ResetQueue(container){container._queue=new SimpleQueue,container._queueTotalSize=0}function isDataViewConstructor(ctor){return ctor===DataView}class ReadableStreamBYOBRequest{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!IsReadableStreamBYOBRequest(this))throw byobRequestBrandCheckException("view");return this._view}respond(bytesWritten){if(!IsReadableStreamBYOBRequest(this))throw byobRequestBrandCheckException("respond");if(assertRequiredArgument(bytesWritten,1,"respond"),bytesWritten=convertUnsignedLongLongWithEnforceRange(bytesWritten,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(IsDetachedBuffer(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController,bytesWritten)}respondWithNewView(view){if(!IsReadableStreamBYOBRequest(this))throw byobRequestBrandCheckException("respondWithNewView");if(assertRequiredArgument(view,1,"respondWithNewView"),!ArrayBuffer.isView(view))throw new TypeError("You can only respond with array buffer views");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(IsDetachedBuffer(view.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController,view)}}Object.defineProperties(ReadableStreamBYOBRequest.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),setFunctionName(ReadableStreamBYOBRequest.prototype.respond,"respond"),setFunctionName(ReadableStreamBYOBRequest.prototype.respondWithNewView,"respondWithNewView"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamBYOBRequest.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class ReadableByteStreamController{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!IsReadableByteStreamController(this))throw byteStreamControllerBrandCheckException("byobRequest");return ReadableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!IsReadableByteStreamController(this))throw byteStreamControllerBrandCheckException("desiredSize");return ReadableByteStreamControllerGetDesiredSize(this)}close(){if(!IsReadableByteStreamController(this))throw byteStreamControllerBrandCheckException("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const state=this._controlledReadableByteStream._state;if("readable"!==state)throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`);ReadableByteStreamControllerClose(this)}enqueue(chunk){if(!IsReadableByteStreamController(this))throw byteStreamControllerBrandCheckException("enqueue");if(assertRequiredArgument(chunk,1,"enqueue"),!ArrayBuffer.isView(chunk))throw new TypeError("chunk must be an array buffer view");if(0===chunk.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===chunk.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const state=this._controlledReadableByteStream._state;if("readable"!==state)throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`);ReadableByteStreamControllerEnqueue(this,chunk)}error(e2=void 0){if(!IsReadableByteStreamController(this))throw byteStreamControllerBrandCheckException("error");ReadableByteStreamControllerError(this,e2)}[CancelSteps](reason){ReadableByteStreamControllerClearPendingPullIntos(this),ResetQueue(this);const result=this._cancelAlgorithm(reason);return ReadableByteStreamControllerClearAlgorithms(this),result}[PullSteps](readRequest){const stream=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void ReadableByteStreamControllerFillReadRequestFromQueue(this,readRequest);const autoAllocateChunkSize=this._autoAllocateChunkSize;if(void 0!==autoAllocateChunkSize){let buffer;try{buffer=new ArrayBuffer(autoAllocateChunkSize)}catch(bufferE){return void readRequest._errorSteps(bufferE)}const pullIntoDescriptor={buffer:buffer,bufferByteLength:autoAllocateChunkSize,byteOffset:0,byteLength:autoAllocateChunkSize,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(pullIntoDescriptor)}ReadableStreamAddReadRequest(stream,readRequest),ReadableByteStreamControllerCallPullIfNeeded(this)}[ReleaseSteps](){if(this._pendingPullIntos.length>0){const firstPullInto=this._pendingPullIntos.peek();firstPullInto.readerType="none",this._pendingPullIntos=new SimpleQueue,this._pendingPullIntos.push(firstPullInto)}}}function IsReadableByteStreamController(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_controlledReadableByteStream")&&x2 instanceof ReadableByteStreamController}function IsReadableStreamBYOBRequest(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_associatedReadableByteStreamController")&&x2 instanceof ReadableStreamBYOBRequest}function ReadableByteStreamControllerCallPullIfNeeded(controller){const shouldPull=function(controller){const stream=controller._controlledReadableByteStream;if("readable"!==stream._state)return!1;if(controller._closeRequested)return!1;if(!controller._started)return!1;if(ReadableStreamHasDefaultReader(stream)&&ReadableStreamGetNumReadRequests(stream)>0)return!0;if(ReadableStreamHasBYOBReader(stream)&&ReadableStreamGetNumReadIntoRequests(stream)>0)return!0;const desiredSize=ReadableByteStreamControllerGetDesiredSize(controller);return desiredSize>0}(controller);shouldPull&&(controller._pulling?controller._pullAgain=!0:(controller._pulling=!0,uponPromise(controller._pullAlgorithm(),()=>(controller._pulling=!1,controller._pullAgain&&(controller._pullAgain=!1,ReadableByteStreamControllerCallPullIfNeeded(controller)),null),e2=>(ReadableByteStreamControllerError(controller,e2),null))))}function ReadableByteStreamControllerClearPendingPullIntos(controller){ReadableByteStreamControllerInvalidateBYOBRequest(controller),controller._pendingPullIntos=new SimpleQueue}function ReadableByteStreamControllerCommitPullIntoDescriptor(stream,pullIntoDescriptor){let done=!1;"closed"===stream._state&&(done=!0);const filledView=ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);"default"===pullIntoDescriptor.readerType?ReadableStreamFulfillReadRequest(stream,filledView,done):function(stream,chunk,done){const reader=stream._reader,readIntoRequest=reader._readIntoRequests.shift();done?readIntoRequest._closeSteps(chunk):readIntoRequest._chunkSteps(chunk)}(stream,filledView,done)}function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor){const bytesFilled=pullIntoDescriptor.bytesFilled,elementSize=pullIntoDescriptor.elementSize;return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer,pullIntoDescriptor.byteOffset,bytesFilled/elementSize)}function ReadableByteStreamControllerEnqueueChunkToQueue(controller,buffer,byteOffset,byteLength){controller._queue.push({buffer:buffer,byteOffset:byteOffset,byteLength:byteLength}),controller._queueTotalSize+=byteLength}function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller,buffer,byteOffset,byteLength){let clonedChunk;try{clonedChunk=ArrayBufferSlice(buffer,byteOffset,byteOffset+byteLength)}catch(cloneE){throw ReadableByteStreamControllerError(controller,cloneE),cloneE}ReadableByteStreamControllerEnqueueChunkToQueue(controller,clonedChunk,0,byteLength)}function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller,firstDescriptor){firstDescriptor.bytesFilled>0&&ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller,firstDescriptor.buffer,firstDescriptor.byteOffset,firstDescriptor.bytesFilled),ReadableByteStreamControllerShiftPendingPullInto(controller)}function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor){const maxBytesToCopy=Math.min(controller._queueTotalSize,pullIntoDescriptor.byteLength-pullIntoDescriptor.bytesFilled),maxBytesFilled=pullIntoDescriptor.bytesFilled+maxBytesToCopy;let totalBytesToCopyRemaining=maxBytesToCopy,ready=!1;const maxAlignedBytes=maxBytesFilled-maxBytesFilled%pullIntoDescriptor.elementSize;maxAlignedBytes>=pullIntoDescriptor.minimumFill&&(totalBytesToCopyRemaining=maxAlignedBytes-pullIntoDescriptor.bytesFilled,ready=!0);const queue=controller._queue;for(;totalBytesToCopyRemaining>0;){const headOfQueue=queue.peek(),bytesToCopy=Math.min(totalBytesToCopyRemaining,headOfQueue.byteLength),destStart=pullIntoDescriptor.byteOffset+pullIntoDescriptor.bytesFilled;CopyDataBlockBytes(pullIntoDescriptor.buffer,destStart,headOfQueue.buffer,headOfQueue.byteOffset,bytesToCopy),headOfQueue.byteLength===bytesToCopy?queue.shift():(headOfQueue.byteOffset+=bytesToCopy,headOfQueue.byteLength-=bytesToCopy),controller._queueTotalSize-=bytesToCopy,ReadableByteStreamControllerFillHeadPullIntoDescriptor(0,bytesToCopy,pullIntoDescriptor),totalBytesToCopyRemaining-=bytesToCopy}return ready}function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller,size,pullIntoDescriptor){pullIntoDescriptor.bytesFilled+=size}function ReadableByteStreamControllerHandleQueueDrain(controller){0===controller._queueTotalSize&&controller._closeRequested?(ReadableByteStreamControllerClearAlgorithms(controller),ReadableStreamClose(controller._controlledReadableByteStream)):ReadableByteStreamControllerCallPullIfNeeded(controller)}function ReadableByteStreamControllerInvalidateBYOBRequest(controller){null!==controller._byobRequest&&(controller._byobRequest._associatedReadableByteStreamController=void 0,controller._byobRequest._view=null,controller._byobRequest=null)}function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller){for(;controller._pendingPullIntos.length>0;){if(0===controller._queueTotalSize)return;const pullIntoDescriptor=controller._pendingPullIntos.peek();ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor)&&(ReadableByteStreamControllerShiftPendingPullInto(controller),ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream,pullIntoDescriptor))}}function ReadableByteStreamControllerPullInto(controller,view,min,readIntoRequest){const stream=controller._controlledReadableByteStream,ctor=view.constructor,elementSize=function(ctor){return isDataViewConstructor(ctor)?1:ctor.BYTES_PER_ELEMENT}(ctor),{byteOffset:byteOffset,byteLength:byteLength}=view,minimumFill=min*elementSize;let buffer;try{buffer=TransferArrayBuffer(view.buffer)}catch(e2){return void readIntoRequest._errorSteps(e2)}const pullIntoDescriptor={buffer:buffer,bufferByteLength:buffer.byteLength,byteOffset:byteOffset,byteLength:byteLength,bytesFilled:0,minimumFill:minimumFill,elementSize:elementSize,viewConstructor:ctor,readerType:"byob"};if(controller._pendingPullIntos.length>0)return controller._pendingPullIntos.push(pullIntoDescriptor),void ReadableStreamAddReadIntoRequest(stream,readIntoRequest);if("closed"===stream._state){const emptyView=new ctor(pullIntoDescriptor.buffer,pullIntoDescriptor.byteOffset,0);return void readIntoRequest._closeSteps(emptyView)}if(controller._queueTotalSize>0){if(ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor)){const filledView=ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);return ReadableByteStreamControllerHandleQueueDrain(controller),void readIntoRequest._chunkSteps(filledView)}if(controller._closeRequested){const e2=new TypeError("Insufficient bytes to fill elements in the given buffer");return ReadableByteStreamControllerError(controller,e2),void readIntoRequest._errorSteps(e2)}}controller._pendingPullIntos.push(pullIntoDescriptor),ReadableStreamAddReadIntoRequest(stream,readIntoRequest),ReadableByteStreamControllerCallPullIfNeeded(controller)}function ReadableByteStreamControllerRespondInternal(controller,bytesWritten){const firstDescriptor=controller._pendingPullIntos.peek();ReadableByteStreamControllerInvalidateBYOBRequest(controller),"closed"===controller._controlledReadableByteStream._state?function(controller,firstDescriptor){"none"===firstDescriptor.readerType&&ReadableByteStreamControllerShiftPendingPullInto(controller);const stream=controller._controlledReadableByteStream;if(ReadableStreamHasBYOBReader(stream))for(;ReadableStreamGetNumReadIntoRequests(stream)>0;)ReadableByteStreamControllerCommitPullIntoDescriptor(stream,ReadableByteStreamControllerShiftPendingPullInto(controller))}(controller,firstDescriptor):function(controller,bytesWritten,pullIntoDescriptor){if(ReadableByteStreamControllerFillHeadPullIntoDescriptor(0,bytesWritten,pullIntoDescriptor),"none"===pullIntoDescriptor.readerType)return ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller,pullIntoDescriptor),void ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);if(pullIntoDescriptor.bytesFilled<pullIntoDescriptor.minimumFill)return;ReadableByteStreamControllerShiftPendingPullInto(controller);const remainderSize=pullIntoDescriptor.bytesFilled%pullIntoDescriptor.elementSize;if(remainderSize>0){const end=pullIntoDescriptor.byteOffset+pullIntoDescriptor.bytesFilled;ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller,pullIntoDescriptor.buffer,end-remainderSize,remainderSize)}pullIntoDescriptor.bytesFilled-=remainderSize,ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream,pullIntoDescriptor),ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller)}(controller,bytesWritten,firstDescriptor),ReadableByteStreamControllerCallPullIfNeeded(controller)}function ReadableByteStreamControllerShiftPendingPullInto(controller){return controller._pendingPullIntos.shift()}function ReadableByteStreamControllerClearAlgorithms(controller){controller._pullAlgorithm=void 0,controller._cancelAlgorithm=void 0}function ReadableByteStreamControllerClose(controller){const stream=controller._controlledReadableByteStream;if(!controller._closeRequested&&"readable"===stream._state)if(controller._queueTotalSize>0)controller._closeRequested=!0;else{if(controller._pendingPullIntos.length>0){const firstPendingPullInto=controller._pendingPullIntos.peek();if(firstPendingPullInto.bytesFilled%firstPendingPullInto.elementSize!==0){const e2=new TypeError("Insufficient bytes to fill elements in the given buffer");throw ReadableByteStreamControllerError(controller,e2),e2}}ReadableByteStreamControllerClearAlgorithms(controller),ReadableStreamClose(stream)}}function ReadableByteStreamControllerEnqueue(controller,chunk){const stream=controller._controlledReadableByteStream;if(controller._closeRequested||"readable"!==stream._state)return;const{buffer:buffer,byteOffset:byteOffset,byteLength:byteLength}=chunk;if(IsDetachedBuffer(buffer))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");const transferredBuffer=TransferArrayBuffer(buffer);if(controller._pendingPullIntos.length>0){const firstPendingPullInto=controller._pendingPullIntos.peek();if(IsDetachedBuffer(firstPendingPullInto.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");ReadableByteStreamControllerInvalidateBYOBRequest(controller),firstPendingPullInto.buffer=TransferArrayBuffer(firstPendingPullInto.buffer),"none"===firstPendingPullInto.readerType&&ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller,firstPendingPullInto)}ReadableStreamHasDefaultReader(stream)?(function(controller){const reader=controller._controlledReadableByteStream._reader;for(;reader._readRequests.length>0;){if(0===controller._queueTotalSize)return;ReadableByteStreamControllerFillReadRequestFromQueue(controller,reader._readRequests.shift())}}(controller),0===ReadableStreamGetNumReadRequests(stream)?ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength):(controller._pendingPullIntos.length>0&&ReadableByteStreamControllerShiftPendingPullInto(controller),ReadableStreamFulfillReadRequest(stream,new Uint8Array(transferredBuffer,byteOffset,byteLength),!1))):ReadableStreamHasBYOBReader(stream)?(ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength),ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller)):ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength),ReadableByteStreamControllerCallPullIfNeeded(controller)}function ReadableByteStreamControllerError(controller,e2){const stream=controller._controlledReadableByteStream;"readable"===stream._state&&(ReadableByteStreamControllerClearPendingPullIntos(controller),ResetQueue(controller),ReadableByteStreamControllerClearAlgorithms(controller),ReadableStreamError(stream,e2))}function ReadableByteStreamControllerFillReadRequestFromQueue(controller,readRequest){const entry=controller._queue.shift();controller._queueTotalSize-=entry.byteLength,ReadableByteStreamControllerHandleQueueDrain(controller);const view=new Uint8Array(entry.buffer,entry.byteOffset,entry.byteLength);readRequest._chunkSteps(view)}function ReadableByteStreamControllerGetBYOBRequest(controller){if(null===controller._byobRequest&&controller._pendingPullIntos.length>0){const firstDescriptor=controller._pendingPullIntos.peek(),view=new Uint8Array(firstDescriptor.buffer,firstDescriptor.byteOffset+firstDescriptor.bytesFilled,firstDescriptor.byteLength-firstDescriptor.bytesFilled),byobRequest=Object.create(ReadableStreamBYOBRequest.prototype);!function(request,controller,view){request._associatedReadableByteStreamController=controller,request._view=view}(byobRequest,controller,view),controller._byobRequest=byobRequest}return controller._byobRequest}function ReadableByteStreamControllerGetDesiredSize(controller){const state=controller._controlledReadableByteStream._state;return"errored"===state?null:"closed"===state?0:controller._strategyHWM-controller._queueTotalSize}function ReadableByteStreamControllerRespond(controller,bytesWritten){const firstDescriptor=controller._pendingPullIntos.peek();if("closed"===controller._controlledReadableByteStream._state){if(0!==bytesWritten)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(0===bytesWritten)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(firstDescriptor.bytesFilled+bytesWritten>firstDescriptor.byteLength)throw new RangeError("bytesWritten out of range")}firstDescriptor.buffer=TransferArrayBuffer(firstDescriptor.buffer),ReadableByteStreamControllerRespondInternal(controller,bytesWritten)}function ReadableByteStreamControllerRespondWithNewView(controller,view){const firstDescriptor=controller._pendingPullIntos.peek();if("closed"===controller._controlledReadableByteStream._state){if(0!==view.byteLength)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(0===view.byteLength)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(firstDescriptor.byteOffset+firstDescriptor.bytesFilled!==view.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(firstDescriptor.bufferByteLength!==view.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(firstDescriptor.bytesFilled+view.byteLength>firstDescriptor.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");const viewByteLength=view.byteLength;firstDescriptor.buffer=TransferArrayBuffer(view.buffer),ReadableByteStreamControllerRespondInternal(controller,viewByteLength)}function SetUpReadableByteStreamController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,autoAllocateChunkSize){controller._controlledReadableByteStream=stream,controller._pullAgain=!1,controller._pulling=!1,controller._byobRequest=null,controller._queue=controller._queueTotalSize=void 0,ResetQueue(controller),controller._closeRequested=!1,controller._started=!1,controller._strategyHWM=highWaterMark,controller._pullAlgorithm=pullAlgorithm,controller._cancelAlgorithm=cancelAlgorithm,controller._autoAllocateChunkSize=autoAllocateChunkSize,controller._pendingPullIntos=new SimpleQueue,stream._readableStreamController=controller,uponPromise(promiseResolvedWith(startAlgorithm()),()=>(controller._started=!0,ReadableByteStreamControllerCallPullIfNeeded(controller),null),r2=>(ReadableByteStreamControllerError(controller,r2),null))}function byobRequestBrandCheckException(name){return new TypeError(`ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`)}function byteStreamControllerBrandCheckException(name){return new TypeError(`ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`)}function convertReadableStreamReaderMode(mode,context){if("byob"!=(mode=`${mode}`))throw new TypeError(`${context} '${mode}' is not a valid enumeration value for ReadableStreamReaderMode`);return mode}function AcquireReadableStreamBYOBReader(stream){return new ReadableStreamBYOBReader(stream)}function ReadableStreamAddReadIntoRequest(stream,readIntoRequest){stream._reader._readIntoRequests.push(readIntoRequest)}function ReadableStreamGetNumReadIntoRequests(stream){return stream._reader._readIntoRequests.length}function ReadableStreamHasBYOBReader(stream){const reader=stream._reader;return void 0!==reader&&!!IsReadableStreamBYOBReader(reader)}Object.defineProperties(ReadableByteStreamController.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),setFunctionName(ReadableByteStreamController.prototype.close,"close"),setFunctionName(ReadableByteStreamController.prototype.enqueue,"enqueue"),setFunctionName(ReadableByteStreamController.prototype.error,"error"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableByteStreamController.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class ReadableStreamBYOBReader{constructor(stream){if(assertRequiredArgument(stream,1,"ReadableStreamBYOBReader"),assertReadableStream(stream,"First parameter"),IsReadableStreamLocked(stream))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!IsReadableByteStreamController(stream._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");ReadableStreamReaderGenericInitialize(this,stream),this._readIntoRequests=new SimpleQueue}get closed(){return IsReadableStreamBYOBReader(this)?this._closedPromise:promiseRejectedWith(byobReaderBrandCheckException("closed"))}cancel(reason=void 0){return IsReadableStreamBYOBReader(this)?void 0===this._ownerReadableStream?promiseRejectedWith(readerLockException("cancel")):ReadableStreamReaderGenericCancel(this,reason):promiseRejectedWith(byobReaderBrandCheckException("cancel"))}read(view,rawOptions={}){if(!IsReadableStreamBYOBReader(this))return promiseRejectedWith(byobReaderBrandCheckException("read"));if(!ArrayBuffer.isView(view))return promiseRejectedWith(new TypeError("view must be an array buffer view"));if(0===view.byteLength)return promiseRejectedWith(new TypeError("view must have non-zero byteLength"));if(0===view.buffer.byteLength)return promiseRejectedWith(new TypeError("view's buffer must have non-zero byteLength"));if(IsDetachedBuffer(view.buffer))return promiseRejectedWith(new TypeError("view's buffer has been detached"));let options;try{options=function(options,context){var _a2;return assertDictionary(options,context),{min:convertUnsignedLongLongWithEnforceRange(null!==(_a2=null==options?void 0:options.min)&&void 0!==_a2?_a2:1,`${context} has member 'min' that`)}}(rawOptions,"options")}catch(e2){return promiseRejectedWith(e2)}const min=options.min;if(0===min)return promiseRejectedWith(new TypeError("options.min must be greater than 0"));if(function(view){return isDataViewConstructor(view.constructor)}(view)){if(min>view.byteLength)return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(min>view.length)return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length"));if(void 0===this._ownerReadableStream)return promiseRejectedWith(readerLockException("read from"));let resolvePromise,rejectPromise;const promise=newPromise((resolve,reject)=>{resolvePromise=resolve,rejectPromise=reject});return ReadableStreamBYOBReaderRead(this,view,min,{_chunkSteps:chunk=>resolvePromise({value:chunk,done:!1}),_closeSteps:chunk=>resolvePromise({value:chunk,done:!0}),_errorSteps:e2=>rejectPromise(e2)}),promise}releaseLock(){if(!IsReadableStreamBYOBReader(this))throw byobReaderBrandCheckException("releaseLock");void 0!==this._ownerReadableStream&&function(reader){ReadableStreamReaderGenericRelease(reader);const e2=new TypeError("Reader was released");ReadableStreamBYOBReaderErrorReadIntoRequests(reader,e2)}(this)}}function IsReadableStreamBYOBReader(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_readIntoRequests")&&x2 instanceof ReadableStreamBYOBReader}function ReadableStreamBYOBReaderRead(reader,view,min,readIntoRequest){const stream=reader._ownerReadableStream;stream._disturbed=!0,"errored"===stream._state?readIntoRequest._errorSteps(stream._storedError):ReadableByteStreamControllerPullInto(stream._readableStreamController,view,min,readIntoRequest)}function ReadableStreamBYOBReaderErrorReadIntoRequests(reader,e2){const readIntoRequests=reader._readIntoRequests;reader._readIntoRequests=new SimpleQueue,readIntoRequests.forEach(readIntoRequest=>{readIntoRequest._errorSteps(e2)})}function byobReaderBrandCheckException(name){return new TypeError(`ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`)}function ExtractHighWaterMark(strategy,defaultHWM){const{highWaterMark:highWaterMark}=strategy;if(void 0===highWaterMark)return defaultHWM;if(NumberIsNaN(highWaterMark)||highWaterMark<0)throw new RangeError("Invalid highWaterMark");return highWaterMark}function ExtractSizeAlgorithm(strategy){const{size:size}=strategy;return size||(()=>1)}function convertQueuingStrategy(init,context){assertDictionary(init,context);const highWaterMark=null==init?void 0:init.highWaterMark,size=null==init?void 0:init.size;return{highWaterMark:void 0===highWaterMark?void 0:convertUnrestrictedDouble(highWaterMark),size:void 0===size?void 0:convertQueuingStrategySize(size,`${context} has member 'size' that`)}}function convertQueuingStrategySize(fn,context){return assertFunction(fn,context),chunk=>convertUnrestrictedDouble(fn(chunk))}function convertUnderlyingSinkAbortCallback(fn,original,context){return assertFunction(fn,context),reason=>promiseCall(fn,original,[reason])}function convertUnderlyingSinkCloseCallback(fn,original,context){return assertFunction(fn,context),()=>promiseCall(fn,original,[])}function convertUnderlyingSinkStartCallback(fn,original,context){return assertFunction(fn,context),controller=>reflectCall(fn,original,[controller])}function convertUnderlyingSinkWriteCallback(fn,original,context){return assertFunction(fn,context),(chunk,controller)=>promiseCall(fn,original,[chunk,controller])}function assertWritableStream(x2,context){if(!IsWritableStream(x2))throw new TypeError(`${context} is not a WritableStream.`)}Object.defineProperties(ReadableStreamBYOBReader.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),setFunctionName(ReadableStreamBYOBReader.prototype.cancel,"cancel"),setFunctionName(ReadableStreamBYOBReader.prototype.read,"read"),setFunctionName(ReadableStreamBYOBReader.prototype.releaseLock,"releaseLock"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamBYOBReader.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});const supportsAbortController="function"==typeof AbortController;class WritableStream{constructor(rawUnderlyingSink={},rawStrategy={}){void 0===rawUnderlyingSink?rawUnderlyingSink=null:assertObject(rawUnderlyingSink,"First parameter");const strategy=convertQueuingStrategy(rawStrategy,"Second parameter"),underlyingSink=function(original,context){assertDictionary(original,context);const abort=null==original?void 0:original.abort,close=null==original?void 0:original.close,start=null==original?void 0:original.start,type=null==original?void 0:original.type,write=null==original?void 0:original.write;return{abort:void 0===abort?void 0:convertUnderlyingSinkAbortCallback(abort,original,`${context} has member 'abort' that`),close:void 0===close?void 0:convertUnderlyingSinkCloseCallback(close,original,`${context} has member 'close' that`),start:void 0===start?void 0:convertUnderlyingSinkStartCallback(start,original,`${context} has member 'start' that`),write:void 0===write?void 0:convertUnderlyingSinkWriteCallback(write,original,`${context} has member 'write' that`),type:type}}(rawUnderlyingSink,"First parameter");if(InitializeWritableStream(this),void 0!==underlyingSink.type)throw new RangeError("Invalid type is specified");const sizeAlgorithm=ExtractSizeAlgorithm(strategy);!function(stream,underlyingSink,highWaterMark,sizeAlgorithm){const controller=Object.create(WritableStreamDefaultController.prototype);let startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm;startAlgorithm=void 0!==underlyingSink.start?()=>underlyingSink.start(controller):()=>{},writeAlgorithm=void 0!==underlyingSink.write?chunk=>underlyingSink.write(chunk,controller):()=>promiseResolvedWith(void 0),closeAlgorithm=void 0!==underlyingSink.close?()=>underlyingSink.close():()=>promiseResolvedWith(void 0),abortAlgorithm=void 0!==underlyingSink.abort?reason=>underlyingSink.abort(reason):()=>promiseResolvedWith(void 0),SetUpWritableStreamDefaultController(stream,controller,startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm)}(this,underlyingSink,ExtractHighWaterMark(strategy,1),sizeAlgorithm)}get locked(){if(!IsWritableStream(this))throw streamBrandCheckException$2("locked");return IsWritableStreamLocked(this)}abort(reason=void 0){return IsWritableStream(this)?IsWritableStreamLocked(this)?promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer")):WritableStreamAbort(this,reason):promiseRejectedWith(streamBrandCheckException$2("abort"))}close(){return IsWritableStream(this)?IsWritableStreamLocked(this)?promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer")):WritableStreamCloseQueuedOrInFlight(this)?promiseRejectedWith(new TypeError("Cannot close an already-closing stream")):WritableStreamClose(this):promiseRejectedWith(streamBrandCheckException$2("close"))}getWriter(){if(!IsWritableStream(this))throw streamBrandCheckException$2("getWriter");return AcquireWritableStreamDefaultWriter(this)}}function AcquireWritableStreamDefaultWriter(stream){return new WritableStreamDefaultWriter(stream)}function InitializeWritableStream(stream){stream._state="writable",stream._storedError=void 0,stream._writer=void 0,stream._writableStreamController=void 0,stream._writeRequests=new SimpleQueue,stream._inFlightWriteRequest=void 0,stream._closeRequest=void 0,stream._inFlightCloseRequest=void 0,stream._pendingAbortRequest=void 0,stream._backpressure=!1}function IsWritableStream(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_writableStreamController")&&x2 instanceof WritableStream}function IsWritableStreamLocked(stream){return void 0!==stream._writer}function WritableStreamAbort(stream,reason){var _a2;if("closed"===stream._state||"errored"===stream._state)return promiseResolvedWith(void 0);stream._writableStreamController._abortReason=reason,null===(_a2=stream._writableStreamController._abortController)||void 0===_a2||_a2.abort(reason);const state=stream._state;if("closed"===state||"errored"===state)return promiseResolvedWith(void 0);if(void 0!==stream._pendingAbortRequest)return stream._pendingAbortRequest._promise;let wasAlreadyErroring=!1;"erroring"===state&&(wasAlreadyErroring=!0,reason=void 0);const promise=newPromise((resolve,reject)=>{stream._pendingAbortRequest={_promise:void 0,_resolve:resolve,_reject:reject,_reason:reason,_wasAlreadyErroring:wasAlreadyErroring}});return stream._pendingAbortRequest._promise=promise,wasAlreadyErroring||WritableStreamStartErroring(stream,reason),promise}function WritableStreamClose(stream){const state=stream._state;if("closed"===state||"errored"===state)return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`));const promise=newPromise((resolve,reject)=>{const closeRequest={_resolve:resolve,_reject:reject};stream._closeRequest=closeRequest}),writer=stream._writer;var controller;return void 0!==writer&&stream._backpressure&&"writable"===state&&defaultWriterReadyPromiseResolve(writer),EnqueueValueWithSize(controller=stream._writableStreamController,closeSentinel,0),WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller),promise}function WritableStreamDealWithRejection(stream,error){"writable"!==stream._state?WritableStreamFinishErroring(stream):WritableStreamStartErroring(stream,error)}function WritableStreamStartErroring(stream,reason){const controller=stream._writableStreamController;stream._state="erroring",stream._storedError=reason;const writer=stream._writer;void 0!==writer&&WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,reason),!function(stream){return void 0!==stream._inFlightWriteRequest||void 0!==stream._inFlightCloseRequest}(stream)&&controller._started&&WritableStreamFinishErroring(stream)}function WritableStreamFinishErroring(stream){stream._state="errored",stream._writableStreamController[ErrorSteps]();const storedError=stream._storedError;if(stream._writeRequests.forEach(writeRequest=>{writeRequest._reject(storedError)}),stream._writeRequests=new SimpleQueue,void 0===stream._pendingAbortRequest)return void WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);const abortRequest=stream._pendingAbortRequest;if(stream._pendingAbortRequest=void 0,abortRequest._wasAlreadyErroring)return abortRequest._reject(storedError),void WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);uponPromise(stream._writableStreamController[AbortSteps](abortRequest._reason),()=>(abortRequest._resolve(),WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream),null),reason=>(abortRequest._reject(reason),WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream),null))}function WritableStreamCloseQueuedOrInFlight(stream){return void 0!==stream._closeRequest||void 0!==stream._inFlightCloseRequest}function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream){void 0!==stream._closeRequest&&(stream._closeRequest._reject(stream._storedError),stream._closeRequest=void 0);const writer=stream._writer;void 0!==writer&&defaultWriterClosedPromiseReject(writer,stream._storedError)}function WritableStreamUpdateBackpressure(stream,backpressure){const writer=stream._writer;void 0!==writer&&backpressure!==stream._backpressure&&(backpressure?function(writer){defaultWriterReadyPromiseInitialize(writer)}(writer):defaultWriterReadyPromiseResolve(writer)),stream._backpressure=backpressure}Object.defineProperties(WritableStream.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),setFunctionName(WritableStream.prototype.abort,"abort"),setFunctionName(WritableStream.prototype.close,"close"),setFunctionName(WritableStream.prototype.getWriter,"getWriter"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(WritableStream.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});class WritableStreamDefaultWriter{constructor(stream){if(assertRequiredArgument(stream,1,"WritableStreamDefaultWriter"),assertWritableStream(stream,"First parameter"),IsWritableStreamLocked(stream))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=stream,stream._writer=this;const state=stream._state;if("writable"===state)!WritableStreamCloseQueuedOrInFlight(stream)&&stream._backpressure?defaultWriterReadyPromiseInitialize(this):defaultWriterReadyPromiseInitializeAsResolved(this),defaultWriterClosedPromiseInitialize(this);else if("erroring"===state)defaultWriterReadyPromiseInitializeAsRejected(this,stream._storedError),defaultWriterClosedPromiseInitialize(this);else if("closed"===state)defaultWriterReadyPromiseInitializeAsResolved(this),defaultWriterClosedPromiseInitialize(writer=this),defaultWriterClosedPromiseResolve(writer);else{const storedError=stream._storedError;defaultWriterReadyPromiseInitializeAsRejected(this,storedError),defaultWriterClosedPromiseInitializeAsRejected(this,storedError)}var writer}get closed(){return IsWritableStreamDefaultWriter(this)?this._closedPromise:promiseRejectedWith(defaultWriterBrandCheckException("closed"))}get desiredSize(){if(!IsWritableStreamDefaultWriter(this))throw defaultWriterBrandCheckException("desiredSize");if(void 0===this._ownerWritableStream)throw defaultWriterLockException("desiredSize");return function(writer){const stream=writer._ownerWritableStream,state=stream._state;return"errored"===state||"erroring"===state?null:"closed"===state?0:WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController)}(this)}get ready(){return IsWritableStreamDefaultWriter(this)?this._readyPromise:promiseRejectedWith(defaultWriterBrandCheckException("ready"))}abort(reason=void 0){return IsWritableStreamDefaultWriter(this)?void 0===this._ownerWritableStream?promiseRejectedWith(defaultWriterLockException("abort")):function(writer,reason){return WritableStreamAbort(writer._ownerWritableStream,reason)}(this,reason):promiseRejectedWith(defaultWriterBrandCheckException("abort"))}close(){if(!IsWritableStreamDefaultWriter(this))return promiseRejectedWith(defaultWriterBrandCheckException("close"));const stream=this._ownerWritableStream;return void 0===stream?promiseRejectedWith(defaultWriterLockException("close")):WritableStreamCloseQueuedOrInFlight(stream)?promiseRejectedWith(new TypeError("Cannot close an already-closing stream")):WritableStreamDefaultWriterClose(this)}releaseLock(){if(!IsWritableStreamDefaultWriter(this))throw defaultWriterBrandCheckException("releaseLock");void 0!==this._ownerWritableStream&&WritableStreamDefaultWriterRelease(this)}write(chunk=void 0){return IsWritableStreamDefaultWriter(this)?void 0===this._ownerWritableStream?promiseRejectedWith(defaultWriterLockException("write to")):WritableStreamDefaultWriterWrite(this,chunk):promiseRejectedWith(defaultWriterBrandCheckException("write"))}}function IsWritableStreamDefaultWriter(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_ownerWritableStream")&&x2 instanceof WritableStreamDefaultWriter}function WritableStreamDefaultWriterClose(writer){return WritableStreamClose(writer._ownerWritableStream)}function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer,error){"pending"===writer._closedPromiseState?defaultWriterClosedPromiseReject(writer,error):function(writer,reason){defaultWriterClosedPromiseInitializeAsRejected(writer,reason)}(writer,error)}function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,error){"pending"===writer._readyPromiseState?defaultWriterReadyPromiseReject(writer,error):function(writer,reason){defaultWriterReadyPromiseInitializeAsRejected(writer,reason)}(writer,error)}function WritableStreamDefaultWriterRelease(writer){const stream=writer._ownerWritableStream,releasedError=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,releasedError),WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer,releasedError),stream._writer=void 0,writer._ownerWritableStream=void 0}function WritableStreamDefaultWriterWrite(writer,chunk){const stream=writer._ownerWritableStream,controller=stream._writableStreamController,chunkSize=function(controller,chunk){try{return controller._strategySizeAlgorithm(chunk)}catch(chunkSizeE){return WritableStreamDefaultControllerErrorIfNeeded(controller,chunkSizeE),1}}(controller,chunk);if(stream!==writer._ownerWritableStream)return promiseRejectedWith(defaultWriterLockException("write to"));const state=stream._state;if("errored"===state)return promiseRejectedWith(stream._storedError);if(WritableStreamCloseQueuedOrInFlight(stream)||"closed"===state)return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===state)return promiseRejectedWith(stream._storedError);const promise=function(stream){return newPromise((resolve,reject)=>{const writeRequest={_resolve:resolve,_reject:reject};stream._writeRequests.push(writeRequest)})}(stream);return function(controller,chunk,chunkSize){try{EnqueueValueWithSize(controller,chunk,chunkSize)}catch(enqueueE){return void WritableStreamDefaultControllerErrorIfNeeded(controller,enqueueE)}const stream=controller._controlledWritableStream;WritableStreamCloseQueuedOrInFlight(stream)||"writable"!==stream._state||WritableStreamUpdateBackpressure(stream,WritableStreamDefaultControllerGetBackpressure(controller)),WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller)}(controller,chunk,chunkSize),promise}Object.defineProperties(WritableStreamDefaultWriter.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),setFunctionName(WritableStreamDefaultWriter.prototype.abort,"abort"),setFunctionName(WritableStreamDefaultWriter.prototype.close,"close"),setFunctionName(WritableStreamDefaultWriter.prototype.releaseLock,"releaseLock"),setFunctionName(WritableStreamDefaultWriter.prototype.write,"write"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(WritableStreamDefaultWriter.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const closeSentinel={};class WritableStreamDefaultController{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!IsWritableStreamDefaultController(this))throw defaultControllerBrandCheckException$2("abortReason");return this._abortReason}get signal(){if(!IsWritableStreamDefaultController(this))throw defaultControllerBrandCheckException$2("signal");if(void 0===this._abortController)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(e2=void 0){if(!IsWritableStreamDefaultController(this))throw defaultControllerBrandCheckException$2("error");"writable"===this._controlledWritableStream._state&&WritableStreamDefaultControllerError(this,e2)}[AbortSteps](reason){const result=this._abortAlgorithm(reason);return WritableStreamDefaultControllerClearAlgorithms(this),result}[ErrorSteps](){ResetQueue(this)}}function IsWritableStreamDefaultController(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_controlledWritableStream")&&x2 instanceof WritableStreamDefaultController}function SetUpWritableStreamDefaultController(stream,controller,startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm){controller._controlledWritableStream=stream,stream._writableStreamController=controller,controller._queue=void 0,controller._queueTotalSize=void 0,ResetQueue(controller),controller._abortReason=void 0,controller._abortController=function(){if(supportsAbortController)return new AbortController}(),controller._started=!1,controller._strategySizeAlgorithm=sizeAlgorithm,controller._strategyHWM=highWaterMark,controller._writeAlgorithm=writeAlgorithm,controller._closeAlgorithm=closeAlgorithm,controller._abortAlgorithm=abortAlgorithm;const backpressure=WritableStreamDefaultControllerGetBackpressure(controller);WritableStreamUpdateBackpressure(stream,backpressure),uponPromise(promiseResolvedWith(startAlgorithm()),()=>(controller._started=!0,WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller),null),r2=>(controller._started=!0,WritableStreamDealWithRejection(stream,r2),null))}function WritableStreamDefaultControllerClearAlgorithms(controller){controller._writeAlgorithm=void 0,controller._closeAlgorithm=void 0,controller._abortAlgorithm=void 0,controller._strategySizeAlgorithm=void 0}function WritableStreamDefaultControllerGetDesiredSize(controller){return controller._strategyHWM-controller._queueTotalSize}function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller){const stream=controller._controlledWritableStream;if(!controller._started)return;if(void 0!==stream._inFlightWriteRequest)return;if("erroring"===stream._state)return void WritableStreamFinishErroring(stream);if(0===controller._queue.length)return;const value=controller._queue.peek().value;value===closeSentinel?function(controller){const stream=controller._controlledWritableStream;(function(stream){stream._inFlightCloseRequest=stream._closeRequest,stream._closeRequest=void 0})(stream),DequeueValue(controller);const sinkClosePromise=controller._closeAlgorithm();WritableStreamDefaultControllerClearAlgorithms(controller),uponPromise(sinkClosePromise,()=>(function(stream){stream._inFlightCloseRequest._resolve(void 0),stream._inFlightCloseRequest=void 0,"erroring"===stream._state&&(stream._storedError=void 0,void 0!==stream._pendingAbortRequest&&(stream._pendingAbortRequest._resolve(),stream._pendingAbortRequest=void 0)),stream._state="closed";const writer=stream._writer;void 0!==writer&&defaultWriterClosedPromiseResolve(writer)}(stream),null),reason=>(function(stream,error){stream._inFlightCloseRequest._reject(error),stream._inFlightCloseRequest=void 0,void 0!==stream._pendingAbortRequest&&(stream._pendingAbortRequest._reject(error),stream._pendingAbortRequest=void 0),WritableStreamDealWithRejection(stream,error)}(stream,reason),null))}(controller):function(controller,chunk){const stream=controller._controlledWritableStream;!function(stream){stream._inFlightWriteRequest=stream._writeRequests.shift()}(stream);const sinkWritePromise=controller._writeAlgorithm(chunk);uponPromise(sinkWritePromise,()=>{!function(stream){stream._inFlightWriteRequest._resolve(void 0),stream._inFlightWriteRequest=void 0}(stream);const state=stream._state;if(DequeueValue(controller),!WritableStreamCloseQueuedOrInFlight(stream)&&"writable"===state){const backpressure=WritableStreamDefaultControllerGetBackpressure(controller);WritableStreamUpdateBackpressure(stream,backpressure)}return WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller),null},reason=>("writable"===stream._state&&WritableStreamDefaultControllerClearAlgorithms(controller),function(stream,error){stream._inFlightWriteRequest._reject(error),stream._inFlightWriteRequest=void 0,WritableStreamDealWithRejection(stream,error)}(stream,reason),null))}(controller,value)}function WritableStreamDefaultControllerErrorIfNeeded(controller,error){"writable"===controller._controlledWritableStream._state&&WritableStreamDefaultControllerError(controller,error)}function WritableStreamDefaultControllerGetBackpressure(controller){return WritableStreamDefaultControllerGetDesiredSize(controller)<=0}function WritableStreamDefaultControllerError(controller,error){const stream=controller._controlledWritableStream;WritableStreamDefaultControllerClearAlgorithms(controller),WritableStreamStartErroring(stream,error)}function streamBrandCheckException$2(name){return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`)}function defaultControllerBrandCheckException$2(name){return new TypeError(`WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`)}function defaultWriterBrandCheckException(name){return new TypeError(`WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`)}function defaultWriterLockException(name){return new TypeError("Cannot "+name+" a stream using a released writer")}function defaultWriterClosedPromiseInitialize(writer){writer._closedPromise=newPromise((resolve,reject)=>{writer._closedPromise_resolve=resolve,writer._closedPromise_reject=reject,writer._closedPromiseState="pending"})}function defaultWriterClosedPromiseInitializeAsRejected(writer,reason){defaultWriterClosedPromiseInitialize(writer),defaultWriterClosedPromiseReject(writer,reason)}function defaultWriterClosedPromiseReject(writer,reason){void 0!==writer._closedPromise_reject&&(setPromiseIsHandledToTrue(writer._closedPromise),writer._closedPromise_reject(reason),writer._closedPromise_resolve=void 0,writer._closedPromise_reject=void 0,writer._closedPromiseState="rejected")}function defaultWriterClosedPromiseResolve(writer){void 0!==writer._closedPromise_resolve&&(writer._closedPromise_resolve(void 0),writer._closedPromise_resolve=void 0,writer._closedPromise_reject=void 0,writer._closedPromiseState="resolved")}function defaultWriterReadyPromiseInitialize(writer){writer._readyPromise=newPromise((resolve,reject)=>{writer._readyPromise_resolve=resolve,writer._readyPromise_reject=reject}),writer._readyPromiseState="pending"}function defaultWriterReadyPromiseInitializeAsRejected(writer,reason){defaultWriterReadyPromiseInitialize(writer),defaultWriterReadyPromiseReject(writer,reason)}function defaultWriterReadyPromiseInitializeAsResolved(writer){defaultWriterReadyPromiseInitialize(writer),defaultWriterReadyPromiseResolve(writer)}function defaultWriterReadyPromiseReject(writer,reason){void 0!==writer._readyPromise_reject&&(setPromiseIsHandledToTrue(writer._readyPromise),writer._readyPromise_reject(reason),writer._readyPromise_resolve=void 0,writer._readyPromise_reject=void 0,writer._readyPromiseState="rejected")}function defaultWriterReadyPromiseResolve(writer){void 0!==writer._readyPromise_resolve&&(writer._readyPromise_resolve(void 0),writer._readyPromise_resolve=void 0,writer._readyPromise_reject=void 0,writer._readyPromiseState="fulfilled")}Object.defineProperties(WritableStreamDefaultController.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(WritableStreamDefaultController.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const globals="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0,DOMException3=function(){const ctor=null==globals?void 0:globals.DOMException;return function(ctor){if("function"!=typeof ctor&&"object"!=typeof ctor)return!1;if("DOMException"!==ctor.name)return!1;try{return new ctor,!0}catch(_a2){return!1}}(ctor)?ctor:void 0}()||function(){const ctor=function(message,name){this.message=message||"",this.name=name||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return setFunctionName(ctor,"DOMException"),ctor.prototype=Object.create(Error.prototype),Object.defineProperty(ctor.prototype,"constructor",{value:ctor,writable:!0,configurable:!0}),ctor}();function ReadableStreamPipeTo(source,dest,preventClose,preventAbort,preventCancel,signal){const reader=AcquireReadableStreamDefaultReader(source),writer=AcquireWritableStreamDefaultWriter(dest);source._disturbed=!0;let shuttingDown=!1,currentWrite=promiseResolvedWith(void 0);return newPromise((resolve,reject)=>{let abortAlgorithm;if(void 0!==signal){if(abortAlgorithm=()=>{const error=void 0!==signal.reason?signal.reason:new DOMException3("Aborted","AbortError"),actions=[];preventAbort||actions.push(()=>"writable"===dest._state?WritableStreamAbort(dest,error):promiseResolvedWith(void 0)),preventCancel||actions.push(()=>"readable"===source._state?ReadableStreamCancel(source,error):promiseResolvedWith(void 0)),shutdownWithAction(()=>Promise.all(actions.map(action=>action())),!0,error)},signal.aborted)return void abortAlgorithm();signal.addEventListener("abort",abortAlgorithm)}var stream,promise,action;if(isOrBecomesErrored(source,reader._closedPromise,storedError=>(preventAbort?shutdown(!0,storedError):shutdownWithAction(()=>WritableStreamAbort(dest,storedError),!0,storedError),null)),isOrBecomesErrored(dest,writer._closedPromise,storedError=>(preventCancel?shutdown(!0,storedError):shutdownWithAction(()=>ReadableStreamCancel(source,storedError),!0,storedError),null)),stream=source,promise=reader._closedPromise,action=()=>(preventClose?shutdown():shutdownWithAction(()=>function(writer){const stream=writer._ownerWritableStream,state=stream._state;return WritableStreamCloseQueuedOrInFlight(stream)||"closed"===state?promiseResolvedWith(void 0):"errored"===state?promiseRejectedWith(stream._storedError):WritableStreamDefaultWriterClose(writer)}(writer)),null),"closed"===stream._state?action():uponFulfillment(promise,action),WritableStreamCloseQueuedOrInFlight(dest)||"closed"===dest._state){const destClosed=new TypeError("the destination writable stream closed before all data could be piped to it");preventCancel?shutdown(!0,destClosed):shutdownWithAction(()=>ReadableStreamCancel(source,destClosed),!0,destClosed)}function waitForWritesToFinish(){const oldCurrentWrite=currentWrite;return PerformPromiseThen(currentWrite,()=>oldCurrentWrite!==currentWrite?waitForWritesToFinish():void 0)}function isOrBecomesErrored(stream,promise,action){"errored"===stream._state?action(stream._storedError):uponRejection(promise,action)}function shutdownWithAction(action,originalIsError,originalError){function doTheRest(){return uponPromise(action(),()=>finalize(originalIsError,originalError),newError=>finalize(!0,newError)),null}shuttingDown||(shuttingDown=!0,"writable"!==dest._state||WritableStreamCloseQueuedOrInFlight(dest)?doTheRest():uponFulfillment(waitForWritesToFinish(),doTheRest))}function shutdown(isError,error){shuttingDown||(shuttingDown=!0,"writable"!==dest._state||WritableStreamCloseQueuedOrInFlight(dest)?finalize(isError,error):uponFulfillment(waitForWritesToFinish(),()=>finalize(isError,error)))}function finalize(isError,error){return WritableStreamDefaultWriterRelease(writer),ReadableStreamReaderGenericRelease(reader),void 0!==signal&&signal.removeEventListener("abort",abortAlgorithm),isError?reject(error):resolve(void 0),null}setPromiseIsHandledToTrue(newPromise((resolveLoop,rejectLoop)=>{!function next(done){done?resolveLoop():PerformPromiseThen(shuttingDown?promiseResolvedWith(!0):PerformPromiseThen(writer._readyPromise,()=>newPromise((resolveRead,rejectRead)=>{ReadableStreamDefaultReaderRead(reader,{_chunkSteps:chunk=>{currentWrite=PerformPromiseThen(WritableStreamDefaultWriterWrite(writer,chunk),void 0,noop2),resolveRead(!1)},_closeSteps:()=>resolveRead(!0),_errorSteps:rejectRead})})),next,rejectLoop)}(!1)}))})}class ReadableStreamDefaultController{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!IsReadableStreamDefaultController(this))throw defaultControllerBrandCheckException$1("desiredSize");return ReadableStreamDefaultControllerGetDesiredSize(this)}close(){if(!IsReadableStreamDefaultController(this))throw defaultControllerBrandCheckException$1("close");if(!ReadableStreamDefaultControllerCanCloseOrEnqueue(this))throw new TypeError("The stream is not in a state that permits close");ReadableStreamDefaultControllerClose(this)}enqueue(chunk=void 0){if(!IsReadableStreamDefaultController(this))throw defaultControllerBrandCheckException$1("enqueue");if(!ReadableStreamDefaultControllerCanCloseOrEnqueue(this))throw new TypeError("The stream is not in a state that permits enqueue");return ReadableStreamDefaultControllerEnqueue(this,chunk)}error(e2=void 0){if(!IsReadableStreamDefaultController(this))throw defaultControllerBrandCheckException$1("error");ReadableStreamDefaultControllerError(this,e2)}[CancelSteps](reason){ResetQueue(this);const result=this._cancelAlgorithm(reason);return ReadableStreamDefaultControllerClearAlgorithms(this),result}[PullSteps](readRequest){const stream=this._controlledReadableStream;if(this._queue.length>0){const chunk=DequeueValue(this);this._closeRequested&&0===this._queue.length?(ReadableStreamDefaultControllerClearAlgorithms(this),ReadableStreamClose(stream)):ReadableStreamDefaultControllerCallPullIfNeeded(this),readRequest._chunkSteps(chunk)}else ReadableStreamAddReadRequest(stream,readRequest),ReadableStreamDefaultControllerCallPullIfNeeded(this)}[ReleaseSteps](){}}function IsReadableStreamDefaultController(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_controlledReadableStream")&&x2 instanceof ReadableStreamDefaultController}function ReadableStreamDefaultControllerCallPullIfNeeded(controller){ReadableStreamDefaultControllerShouldCallPull(controller)&&(controller._pulling?controller._pullAgain=!0:(controller._pulling=!0,uponPromise(controller._pullAlgorithm(),()=>(controller._pulling=!1,controller._pullAgain&&(controller._pullAgain=!1,ReadableStreamDefaultControllerCallPullIfNeeded(controller)),null),e2=>(ReadableStreamDefaultControllerError(controller,e2),null))))}function ReadableStreamDefaultControllerShouldCallPull(controller){const stream=controller._controlledReadableStream;return!!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)&&(!!controller._started&&(!!(IsReadableStreamLocked(stream)&&ReadableStreamGetNumReadRequests(stream)>0)||ReadableStreamDefaultControllerGetDesiredSize(controller)>0))}function ReadableStreamDefaultControllerClearAlgorithms(controller){controller._pullAlgorithm=void 0,controller._cancelAlgorithm=void 0,controller._strategySizeAlgorithm=void 0}function ReadableStreamDefaultControllerClose(controller){if(!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller))return;const stream=controller._controlledReadableStream;controller._closeRequested=!0,0===controller._queue.length&&(ReadableStreamDefaultControllerClearAlgorithms(controller),ReadableStreamClose(stream))}function ReadableStreamDefaultControllerEnqueue(controller,chunk){if(!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller))return;const stream=controller._controlledReadableStream;if(IsReadableStreamLocked(stream)&&ReadableStreamGetNumReadRequests(stream)>0)ReadableStreamFulfillReadRequest(stream,chunk,!1);else{let chunkSize;try{chunkSize=controller._strategySizeAlgorithm(chunk)}catch(chunkSizeE){throw ReadableStreamDefaultControllerError(controller,chunkSizeE),chunkSizeE}try{EnqueueValueWithSize(controller,chunk,chunkSize)}catch(enqueueE){throw ReadableStreamDefaultControllerError(controller,enqueueE),enqueueE}}ReadableStreamDefaultControllerCallPullIfNeeded(controller)}function ReadableStreamDefaultControllerError(controller,e2){const stream=controller._controlledReadableStream;"readable"===stream._state&&(ResetQueue(controller),ReadableStreamDefaultControllerClearAlgorithms(controller),ReadableStreamError(stream,e2))}function ReadableStreamDefaultControllerGetDesiredSize(controller){const state=controller._controlledReadableStream._state;return"errored"===state?null:"closed"===state?0:controller._strategyHWM-controller._queueTotalSize}function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller){const state=controller._controlledReadableStream._state;return!controller._closeRequested&&"readable"===state}function SetUpReadableStreamDefaultController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm){controller._controlledReadableStream=stream,controller._queue=void 0,controller._queueTotalSize=void 0,ResetQueue(controller),controller._started=!1,controller._closeRequested=!1,controller._pullAgain=!1,controller._pulling=!1,controller._strategySizeAlgorithm=sizeAlgorithm,controller._strategyHWM=highWaterMark,controller._pullAlgorithm=pullAlgorithm,controller._cancelAlgorithm=cancelAlgorithm,stream._readableStreamController=controller,uponPromise(promiseResolvedWith(startAlgorithm()),()=>(controller._started=!0,ReadableStreamDefaultControllerCallPullIfNeeded(controller),null),r2=>(ReadableStreamDefaultControllerError(controller,r2),null))}function defaultControllerBrandCheckException$1(name){return new TypeError(`ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`)}function ReadableStreamTee(stream,cloneForBranch2){return IsReadableByteStreamController(stream._readableStreamController)?function(stream){let reason1,reason2,branch1,branch2,resolveCancelPromise,reader=AcquireReadableStreamDefaultReader(stream),reading=!1,readAgainForBranch1=!1,readAgainForBranch2=!1,canceled1=!1,canceled2=!1;const cancelPromise=newPromise(resolve=>{resolveCancelPromise=resolve});function forwardReaderError(thisReader){uponRejection(thisReader._closedPromise,r2=>(thisReader!==reader||(ReadableByteStreamControllerError(branch1._readableStreamController,r2),ReadableByteStreamControllerError(branch2._readableStreamController,r2),canceled1&&canceled2||resolveCancelPromise(void 0)),null))}function pullWithDefaultReader(){IsReadableStreamBYOBReader(reader)&&(ReadableStreamReaderGenericRelease(reader),reader=AcquireReadableStreamDefaultReader(stream),forwardReaderError(reader)),ReadableStreamDefaultReaderRead(reader,{_chunkSteps:chunk=>{_queueMicrotask(()=>{readAgainForBranch1=!1,readAgainForBranch2=!1;const chunk1=chunk;let chunk2=chunk;if(!canceled1&&!canceled2)try{chunk2=CloneAsUint8Array(chunk)}catch(cloneE){return ReadableByteStreamControllerError(branch1._readableStreamController,cloneE),ReadableByteStreamControllerError(branch2._readableStreamController,cloneE),void resolveCancelPromise(ReadableStreamCancel(stream,cloneE))}canceled1||ReadableByteStreamControllerEnqueue(branch1._readableStreamController,chunk1),canceled2||ReadableByteStreamControllerEnqueue(branch2._readableStreamController,chunk2),reading=!1,readAgainForBranch1?pull1Algorithm():readAgainForBranch2&&pull2Algorithm()})},_closeSteps:()=>{reading=!1,canceled1||ReadableByteStreamControllerClose(branch1._readableStreamController),canceled2||ReadableByteStreamControllerClose(branch2._readableStreamController),branch1._readableStreamController._pendingPullIntos.length>0&&ReadableByteStreamControllerRespond(branch1._readableStreamController,0),branch2._readableStreamController._pendingPullIntos.length>0&&ReadableByteStreamControllerRespond(branch2._readableStreamController,0),canceled1&&canceled2||resolveCancelPromise(void 0)},_errorSteps:()=>{reading=!1}})}function pullWithBYOBReader(view,forBranch2){IsReadableStreamDefaultReader(reader)&&(ReadableStreamReaderGenericRelease(reader),reader=AcquireReadableStreamBYOBReader(stream),forwardReaderError(reader));const byobBranch=forBranch2?branch2:branch1,otherBranch=forBranch2?branch1:branch2;ReadableStreamBYOBReaderRead(reader,view,1,{_chunkSteps:chunk=>{_queueMicrotask(()=>{readAgainForBranch1=!1,readAgainForBranch2=!1;const byobCanceled=forBranch2?canceled2:canceled1;if(forBranch2?canceled1:canceled2)byobCanceled||ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController,chunk);else{let clonedChunk;try{clonedChunk=CloneAsUint8Array(chunk)}catch(cloneE){return ReadableByteStreamControllerError(byobBranch._readableStreamController,cloneE),ReadableByteStreamControllerError(otherBranch._readableStreamController,cloneE),void resolveCancelPromise(ReadableStreamCancel(stream,cloneE))}byobCanceled||ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController,chunk),ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController,clonedChunk)}reading=!1,readAgainForBranch1?pull1Algorithm():readAgainForBranch2&&pull2Algorithm()})},_closeSteps:chunk=>{reading=!1;const byobCanceled=forBranch2?canceled2:canceled1,otherCanceled=forBranch2?canceled1:canceled2;byobCanceled||ReadableByteStreamControllerClose(byobBranch._readableStreamController),otherCanceled||ReadableByteStreamControllerClose(otherBranch._readableStreamController),void 0!==chunk&&(byobCanceled||ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController,chunk),!otherCanceled&&otherBranch._readableStreamController._pendingPullIntos.length>0&&ReadableByteStreamControllerRespond(otherBranch._readableStreamController,0)),byobCanceled&&otherCanceled||resolveCancelPromise(void 0)},_errorSteps:()=>{reading=!1}})}function pull1Algorithm(){if(reading)return readAgainForBranch1=!0,promiseResolvedWith(void 0);reading=!0;const byobRequest=ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);return null===byobRequest?pullWithDefaultReader():pullWithBYOBReader(byobRequest._view,!1),promiseResolvedWith(void 0)}function pull2Algorithm(){if(reading)return readAgainForBranch2=!0,promiseResolvedWith(void 0);reading=!0;const byobRequest=ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);return null===byobRequest?pullWithDefaultReader():pullWithBYOBReader(byobRequest._view,!0),promiseResolvedWith(void 0)}function cancel1Algorithm(reason){if(canceled1=!0,reason1=reason,canceled2){const compositeReason=CreateArrayFromList([reason1,reason2]),cancelResult=ReadableStreamCancel(stream,compositeReason);resolveCancelPromise(cancelResult)}return cancelPromise}function cancel2Algorithm(reason){if(canceled2=!0,reason2=reason,canceled1){const compositeReason=CreateArrayFromList([reason1,reason2]),cancelResult=ReadableStreamCancel(stream,compositeReason);resolveCancelPromise(cancelResult)}return cancelPromise}function startAlgorithm(){}return branch1=CreateReadableByteStream(startAlgorithm,pull1Algorithm,cancel1Algorithm),branch2=CreateReadableByteStream(startAlgorithm,pull2Algorithm,cancel2Algorithm),forwardReaderError(reader),[branch1,branch2]}(stream):function(stream){const reader=AcquireReadableStreamDefaultReader(stream);let reason1,reason2,branch1,branch2,resolveCancelPromise,reading=!1,readAgain=!1,canceled1=!1,canceled2=!1;const cancelPromise=newPromise(resolve=>{resolveCancelPromise=resolve});function pullAlgorithm(){return reading?(readAgain=!0,promiseResolvedWith(void 0)):(reading=!0,ReadableStreamDefaultReaderRead(reader,{_chunkSteps:chunk=>{_queueMicrotask(()=>{readAgain=!1;const chunk1=chunk,chunk2=chunk;canceled1||ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController,chunk1),canceled2||ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController,chunk2),reading=!1,readAgain&&pullAlgorithm()})},_closeSteps:()=>{reading=!1,canceled1||ReadableStreamDefaultControllerClose(branch1._readableStreamController),canceled2||ReadableStreamDefaultControllerClose(branch2._readableStreamController),canceled1&&canceled2||resolveCancelPromise(void 0)},_errorSteps:()=>{reading=!1}}),promiseResolvedWith(void 0))}function cancel1Algorithm(reason){if(canceled1=!0,reason1=reason,canceled2){const compositeReason=CreateArrayFromList([reason1,reason2]),cancelResult=ReadableStreamCancel(stream,compositeReason);resolveCancelPromise(cancelResult)}return cancelPromise}function cancel2Algorithm(reason){if(canceled2=!0,reason2=reason,canceled1){const compositeReason=CreateArrayFromList([reason1,reason2]),cancelResult=ReadableStreamCancel(stream,compositeReason);resolveCancelPromise(cancelResult)}return cancelPromise}function startAlgorithm(){}return branch1=CreateReadableStream(startAlgorithm,pullAlgorithm,cancel1Algorithm),branch2=CreateReadableStream(startAlgorithm,pullAlgorithm,cancel2Algorithm),uponRejection(reader._closedPromise,r2=>(ReadableStreamDefaultControllerError(branch1._readableStreamController,r2),ReadableStreamDefaultControllerError(branch2._readableStreamController,r2),canceled1&&canceled2||resolveCancelPromise(void 0),null)),[branch1,branch2]}(stream)}function ReadableStreamFrom(source){return typeIsObject(stream=source)&&void 0!==stream.getReader?function(reader){let stream;function pullAlgorithm(){let readPromise;try{readPromise=reader.read()}catch(e2){return promiseRejectedWith(e2)}return transformPromiseWith(readPromise,readResult=>{if(!typeIsObject(readResult))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(readResult.done)ReadableStreamDefaultControllerClose(stream._readableStreamController);else{const value=readResult.value;ReadableStreamDefaultControllerEnqueue(stream._readableStreamController,value)}})}function cancelAlgorithm(reason){try{return promiseResolvedWith(reader.cancel(reason))}catch(e2){return promiseRejectedWith(e2)}}return stream=CreateReadableStream(noop2,pullAlgorithm,cancelAlgorithm,0),stream}(source.getReader()):function(asyncIterable){let stream;const iteratorRecord=GetIterator(asyncIterable,"async");function pullAlgorithm(){let nextResult;try{nextResult=function(iteratorRecord){const result=reflectCall(iteratorRecord.nextMethod,iteratorRecord.iterator,[]);if(!typeIsObject(result))throw new TypeError("The iterator.next() method must return an object");return result}(iteratorRecord)}catch(e2){return promiseRejectedWith(e2)}return transformPromiseWith(promiseResolvedWith(nextResult),iterResult=>{if(!typeIsObject(iterResult))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");const done=function(iterResult){return Boolean(iterResult.done)}(iterResult);if(done)ReadableStreamDefaultControllerClose(stream._readableStreamController);else{const value=function(iterResult){return iterResult.value}(iterResult);ReadableStreamDefaultControllerEnqueue(stream._readableStreamController,value)}})}function cancelAlgorithm(reason){const iterator=iteratorRecord.iterator;let returnMethod,returnResult;try{returnMethod=GetMethod(iterator,"return")}catch(e2){return promiseRejectedWith(e2)}if(void 0===returnMethod)return promiseResolvedWith(void 0);try{returnResult=reflectCall(returnMethod,iterator,[reason])}catch(e2){return promiseRejectedWith(e2)}return transformPromiseWith(promiseResolvedWith(returnResult),iterResult=>{if(!typeIsObject(iterResult))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return stream=CreateReadableStream(noop2,pullAlgorithm,cancelAlgorithm,0),stream}(source);var stream}function convertUnderlyingSourceCancelCallback(fn,original,context){return assertFunction(fn,context),reason=>promiseCall(fn,original,[reason])}function convertUnderlyingSourcePullCallback(fn,original,context){return assertFunction(fn,context),controller=>promiseCall(fn,original,[controller])}function convertUnderlyingSourceStartCallback(fn,original,context){return assertFunction(fn,context),controller=>reflectCall(fn,original,[controller])}function convertReadableStreamType(type,context){if("bytes"!=(type=`${type}`))throw new TypeError(`${context} '${type}' is not a valid enumeration value for ReadableStreamType`);return type}function convertPipeOptions(options,context){assertDictionary(options,context);const preventAbort=null==options?void 0:options.preventAbort,preventCancel=null==options?void 0:options.preventCancel,preventClose=null==options?void 0:options.preventClose,signal=null==options?void 0:options.signal;return void 0!==signal&&function(signal,context){if(!function(value){if("object"!=typeof value||null===value)return!1;try{return"boolean"==typeof value.aborted}catch(_a2){return!1}}(signal))throw new TypeError(`${context} is not an AbortSignal.`)}(signal,`${context} has member 'signal' that`),{preventAbort:Boolean(preventAbort),preventCancel:Boolean(preventCancel),preventClose:Boolean(preventClose),signal:signal}}Object.defineProperties(ReadableStreamDefaultController.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),setFunctionName(ReadableStreamDefaultController.prototype.close,"close"),setFunctionName(ReadableStreamDefaultController.prototype.enqueue,"enqueue"),setFunctionName(ReadableStreamDefaultController.prototype.error,"error"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStreamDefaultController.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class ReadableStream2{constructor(rawUnderlyingSource={},rawStrategy={}){void 0===rawUnderlyingSource?rawUnderlyingSource=null:assertObject(rawUnderlyingSource,"First parameter");const strategy=convertQueuingStrategy(rawStrategy,"Second parameter"),underlyingSource=function(source,context){assertDictionary(source,context);const original=source,autoAllocateChunkSize=null==original?void 0:original.autoAllocateChunkSize,cancel=null==original?void 0:original.cancel,pull=null==original?void 0:original.pull,start=null==original?void 0:original.start,type=null==original?void 0:original.type;return{autoAllocateChunkSize:void 0===autoAllocateChunkSize?void 0:convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize,`${context} has member 'autoAllocateChunkSize' that`),cancel:void 0===cancel?void 0:convertUnderlyingSourceCancelCallback(cancel,original,`${context} has member 'cancel' that`),pull:void 0===pull?void 0:convertUnderlyingSourcePullCallback(pull,original,`${context} has member 'pull' that`),start:void 0===start?void 0:convertUnderlyingSourceStartCallback(start,original,`${context} has member 'start' that`),type:void 0===type?void 0:convertReadableStreamType(type,`${context} has member 'type' that`)}}(rawUnderlyingSource,"First parameter");if(InitializeReadableStream(this),"bytes"===underlyingSource.type){if(void 0!==strategy.size)throw new RangeError("The strategy for a byte stream cannot have a size function");!function(stream,underlyingByteSource,highWaterMark){const controller=Object.create(ReadableByteStreamController.prototype);let startAlgorithm,pullAlgorithm,cancelAlgorithm;startAlgorithm=void 0!==underlyingByteSource.start?()=>underlyingByteSource.start(controller):()=>{},pullAlgorithm=void 0!==underlyingByteSource.pull?()=>underlyingByteSource.pull(controller):()=>promiseResolvedWith(void 0),cancelAlgorithm=void 0!==underlyingByteSource.cancel?reason=>underlyingByteSource.cancel(reason):()=>promiseResolvedWith(void 0);const autoAllocateChunkSize=underlyingByteSource.autoAllocateChunkSize;if(0===autoAllocateChunkSize)throw new TypeError("autoAllocateChunkSize must be greater than 0");SetUpReadableByteStreamController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,autoAllocateChunkSize)}(this,underlyingSource,ExtractHighWaterMark(strategy,0))}else{const sizeAlgorithm=ExtractSizeAlgorithm(strategy);!function(stream,underlyingSource,highWaterMark,sizeAlgorithm){const controller=Object.create(ReadableStreamDefaultController.prototype);let startAlgorithm,pullAlgorithm,cancelAlgorithm;startAlgorithm=void 0!==underlyingSource.start?()=>underlyingSource.start(controller):()=>{},pullAlgorithm=void 0!==underlyingSource.pull?()=>underlyingSource.pull(controller):()=>promiseResolvedWith(void 0),cancelAlgorithm=void 0!==underlyingSource.cancel?reason=>underlyingSource.cancel(reason):()=>promiseResolvedWith(void 0),SetUpReadableStreamDefaultController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm)}(this,underlyingSource,ExtractHighWaterMark(strategy,1),sizeAlgorithm)}}get locked(){if(!IsReadableStream(this))throw streamBrandCheckException$1("locked");return IsReadableStreamLocked(this)}cancel(reason=void 0){return IsReadableStream(this)?IsReadableStreamLocked(this)?promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader")):ReadableStreamCancel(this,reason):promiseRejectedWith(streamBrandCheckException$1("cancel"))}getReader(rawOptions=void 0){if(!IsReadableStream(this))throw streamBrandCheckException$1("getReader");return void 0===function(options,context){assertDictionary(options,context);const mode=null==options?void 0:options.mode;return{mode:void 0===mode?void 0:convertReadableStreamReaderMode(mode,`${context} has member 'mode' that`)}}(rawOptions,"First parameter").mode?AcquireReadableStreamDefaultReader(this):AcquireReadableStreamBYOBReader(this)}pipeThrough(rawTransform,rawOptions={}){if(!IsReadableStream(this))throw streamBrandCheckException$1("pipeThrough");assertRequiredArgument(rawTransform,1,"pipeThrough");const transform=function(pair,context){assertDictionary(pair,context);const readable=null==pair?void 0:pair.readable;assertRequiredField(readable,"readable","ReadableWritablePair"),assertReadableStream(readable,`${context} has member 'readable' that`);const writable=null==pair?void 0:pair.writable;return assertRequiredField(writable,"writable","ReadableWritablePair"),assertWritableStream(writable,`${context} has member 'writable' that`),{readable:readable,writable:writable}}(rawTransform,"First parameter"),options=convertPipeOptions(rawOptions,"Second parameter");if(IsReadableStreamLocked(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(IsWritableStreamLocked(transform.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return setPromiseIsHandledToTrue(ReadableStreamPipeTo(this,transform.writable,options.preventClose,options.preventAbort,options.preventCancel,options.signal)),transform.readable}pipeTo(destination,rawOptions={}){if(!IsReadableStream(this))return promiseRejectedWith(streamBrandCheckException$1("pipeTo"));if(void 0===destination)return promiseRejectedWith("Parameter 1 is required in 'pipeTo'.");if(!IsWritableStream(destination))return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let options;try{options=convertPipeOptions(rawOptions,"Second parameter")}catch(e2){return promiseRejectedWith(e2)}return IsReadableStreamLocked(this)?promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):IsWritableStreamLocked(destination)?promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ReadableStreamPipeTo(this,destination,options.preventClose,options.preventAbort,options.preventCancel,options.signal)}tee(){if(!IsReadableStream(this))throw streamBrandCheckException$1("tee");return CreateArrayFromList(ReadableStreamTee(this))}values(rawOptions=void 0){if(!IsReadableStream(this))throw streamBrandCheckException$1("values");return function(stream,preventCancel){const reader=AcquireReadableStreamDefaultReader(stream),impl=new ReadableStreamAsyncIteratorImpl(reader,preventCancel),iterator=Object.create(ReadableStreamAsyncIteratorPrototype);return iterator._asyncIteratorImpl=impl,iterator}(this,function(options,context){assertDictionary(options,context);const preventCancel=null==options?void 0:options.preventCancel;return{preventCancel:Boolean(preventCancel)}}(rawOptions,"First parameter").preventCancel)}[SymbolAsyncIterator](options){return this.values(options)}static from(asyncIterable){return ReadableStreamFrom(asyncIterable)}}function CreateReadableStream(startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark=1,sizeAlgorithm=()=>1){const stream=Object.create(ReadableStream2.prototype);return InitializeReadableStream(stream),SetUpReadableStreamDefaultController(stream,Object.create(ReadableStreamDefaultController.prototype),startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm),stream}function CreateReadableByteStream(startAlgorithm,pullAlgorithm,cancelAlgorithm){const stream=Object.create(ReadableStream2.prototype);return InitializeReadableStream(stream),SetUpReadableByteStreamController(stream,Object.create(ReadableByteStreamController.prototype),startAlgorithm,pullAlgorithm,cancelAlgorithm,0,void 0),stream}function InitializeReadableStream(stream){stream._state="readable",stream._reader=void 0,stream._storedError=void 0,stream._disturbed=!1}function IsReadableStream(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_readableStreamController")&&x2 instanceof ReadableStream2}function IsReadableStreamLocked(stream){return void 0!==stream._reader}function ReadableStreamCancel(stream,reason){if(stream._disturbed=!0,"closed"===stream._state)return promiseResolvedWith(void 0);if("errored"===stream._state)return promiseRejectedWith(stream._storedError);ReadableStreamClose(stream);const reader=stream._reader;if(void 0!==reader&&IsReadableStreamBYOBReader(reader)){const readIntoRequests=reader._readIntoRequests;reader._readIntoRequests=new SimpleQueue,readIntoRequests.forEach(readIntoRequest=>{readIntoRequest._closeSteps(void 0)})}return transformPromiseWith(stream._readableStreamController[CancelSteps](reason),noop2)}function ReadableStreamClose(stream){stream._state="closed";const reader=stream._reader;if(void 0!==reader&&(defaultReaderClosedPromiseResolve(reader),IsReadableStreamDefaultReader(reader))){const readRequests=reader._readRequests;reader._readRequests=new SimpleQueue,readRequests.forEach(readRequest=>{readRequest._closeSteps()})}}function ReadableStreamError(stream,e2){stream._state="errored",stream._storedError=e2;const reader=stream._reader;void 0!==reader&&(defaultReaderClosedPromiseReject(reader,e2),IsReadableStreamDefaultReader(reader)?ReadableStreamDefaultReaderErrorReadRequests(reader,e2):ReadableStreamBYOBReaderErrorReadIntoRequests(reader,e2))}function streamBrandCheckException$1(name){return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`)}function convertQueuingStrategyInit(init,context){assertDictionary(init,context);const highWaterMark=null==init?void 0:init.highWaterMark;return assertRequiredField(highWaterMark,"highWaterMark","QueuingStrategyInit"),{highWaterMark:convertUnrestrictedDouble(highWaterMark)}}Object.defineProperties(ReadableStream2,{from:{enumerable:!0}}),Object.defineProperties(ReadableStream2.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),setFunctionName(ReadableStream2.from,"from"),setFunctionName(ReadableStream2.prototype.cancel,"cancel"),setFunctionName(ReadableStream2.prototype.getReader,"getReader"),setFunctionName(ReadableStream2.prototype.pipeThrough,"pipeThrough"),setFunctionName(ReadableStream2.prototype.pipeTo,"pipeTo"),setFunctionName(ReadableStream2.prototype.tee,"tee"),setFunctionName(ReadableStream2.prototype.values,"values"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ReadableStream2.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(ReadableStream2.prototype,SymbolAsyncIterator,{value:ReadableStream2.prototype.values,writable:!0,configurable:!0});const byteLengthSizeFunction=chunk=>chunk.byteLength;setFunctionName(byteLengthSizeFunction,"size");class ByteLengthQueuingStrategy{constructor(options){assertRequiredArgument(options,1,"ByteLengthQueuingStrategy"),options=convertQueuingStrategyInit(options,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=options.highWaterMark}get highWaterMark(){if(!IsByteLengthQueuingStrategy(this))throw byteLengthBrandCheckException("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!IsByteLengthQueuingStrategy(this))throw byteLengthBrandCheckException("size");return byteLengthSizeFunction}}function byteLengthBrandCheckException(name){return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`)}function IsByteLengthQueuingStrategy(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_byteLengthQueuingStrategyHighWaterMark")&&x2 instanceof ByteLengthQueuingStrategy}Object.defineProperties(ByteLengthQueuingStrategy.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(ByteLengthQueuingStrategy.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const countSizeFunction=()=>1;setFunctionName(countSizeFunction,"size");class CountQueuingStrategy{constructor(options){assertRequiredArgument(options,1,"CountQueuingStrategy"),options=convertQueuingStrategyInit(options,"First parameter"),this._countQueuingStrategyHighWaterMark=options.highWaterMark}get highWaterMark(){if(!IsCountQueuingStrategy(this))throw countBrandCheckException("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!IsCountQueuingStrategy(this))throw countBrandCheckException("size");return countSizeFunction}}function countBrandCheckException(name){return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`)}function IsCountQueuingStrategy(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_countQueuingStrategyHighWaterMark")&&x2 instanceof CountQueuingStrategy}function convertTransformerFlushCallback(fn,original,context){return assertFunction(fn,context),controller=>promiseCall(fn,original,[controller])}function convertTransformerStartCallback(fn,original,context){return assertFunction(fn,context),controller=>reflectCall(fn,original,[controller])}function convertTransformerTransformCallback(fn,original,context){return assertFunction(fn,context),(chunk,controller)=>promiseCall(fn,original,[chunk,controller])}function convertTransformerCancelCallback(fn,original,context){return assertFunction(fn,context),reason=>promiseCall(fn,original,[reason])}Object.defineProperties(CountQueuingStrategy.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(CountQueuingStrategy.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class TransformStream{constructor(rawTransformer={},rawWritableStrategy={},rawReadableStrategy={}){void 0===rawTransformer&&(rawTransformer=null);const writableStrategy=convertQueuingStrategy(rawWritableStrategy,"Second parameter"),readableStrategy=convertQueuingStrategy(rawReadableStrategy,"Third parameter"),transformer=function(original,context){assertDictionary(original,context);const cancel=null==original?void 0:original.cancel,flush=null==original?void 0:original.flush,readableType=null==original?void 0:original.readableType,start=null==original?void 0:original.start,transform=null==original?void 0:original.transform,writableType=null==original?void 0:original.writableType;return{cancel:void 0===cancel?void 0:convertTransformerCancelCallback(cancel,original,`${context} has member 'cancel' that`),flush:void 0===flush?void 0:convertTransformerFlushCallback(flush,original,`${context} has member 'flush' that`),readableType:readableType,start:void 0===start?void 0:convertTransformerStartCallback(start,original,`${context} has member 'start' that`),transform:void 0===transform?void 0:convertTransformerTransformCallback(transform,original,`${context} has member 'transform' that`),writableType:writableType}}(rawTransformer,"First parameter");if(void 0!==transformer.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==transformer.writableType)throw new RangeError("Invalid writableType specified");const readableHighWaterMark=ExtractHighWaterMark(readableStrategy,0),readableSizeAlgorithm=ExtractSizeAlgorithm(readableStrategy),writableHighWaterMark=ExtractHighWaterMark(writableStrategy,1),writableSizeAlgorithm=ExtractSizeAlgorithm(writableStrategy);let startPromise_resolve;!function(stream,startPromise,writableHighWaterMark,writableSizeAlgorithm,readableHighWaterMark,readableSizeAlgorithm){function startAlgorithm(){return startPromise}function writeAlgorithm(chunk){return function(stream,chunk){const controller=stream._transformStreamController;return stream._backpressure?transformPromiseWith(stream._backpressureChangePromise,()=>{const writable=stream._writable;if("erroring"===writable._state)throw writable._storedError;return TransformStreamDefaultControllerPerformTransform(controller,chunk)}):TransformStreamDefaultControllerPerformTransform(controller,chunk)}(stream,chunk)}function abortAlgorithm(reason){return function(stream,reason){const controller=stream._transformStreamController;if(void 0!==controller._finishPromise)return controller._finishPromise;const readable=stream._readable;controller._finishPromise=newPromise((resolve,reject)=>{controller._finishPromise_resolve=resolve,controller._finishPromise_reject=reject});const cancelPromise=controller._cancelAlgorithm(reason);return TransformStreamDefaultControllerClearAlgorithms(controller),uponPromise(cancelPromise,()=>("errored"===readable._state?defaultControllerFinishPromiseReject(controller,readable._storedError):(ReadableStreamDefaultControllerError(readable._readableStreamController,reason),defaultControllerFinishPromiseResolve(controller)),null),r2=>(ReadableStreamDefaultControllerError(readable._readableStreamController,r2),defaultControllerFinishPromiseReject(controller,r2),null)),controller._finishPromise}(stream,reason)}function closeAlgorithm(){return function(stream){const controller=stream._transformStreamController;if(void 0!==controller._finishPromise)return controller._finishPromise;const readable=stream._readable;controller._finishPromise=newPromise((resolve,reject)=>{controller._finishPromise_resolve=resolve,controller._finishPromise_reject=reject});const flushPromise=controller._flushAlgorithm();return TransformStreamDefaultControllerClearAlgorithms(controller),uponPromise(flushPromise,()=>("errored"===readable._state?defaultControllerFinishPromiseReject(controller,readable._storedError):(ReadableStreamDefaultControllerClose(readable._readableStreamController),defaultControllerFinishPromiseResolve(controller)),null),r2=>(ReadableStreamDefaultControllerError(readable._readableStreamController,r2),defaultControllerFinishPromiseReject(controller,r2),null)),controller._finishPromise}(stream)}function pullAlgorithm(){return function(stream){return TransformStreamSetBackpressure(stream,!1),stream._backpressureChangePromise}(stream)}function cancelAlgorithm(reason){return function(stream,reason){const controller=stream._transformStreamController;if(void 0!==controller._finishPromise)return controller._finishPromise;const writable=stream._writable;controller._finishPromise=newPromise((resolve,reject)=>{controller._finishPromise_resolve=resolve,controller._finishPromise_reject=reject});const cancelPromise=controller._cancelAlgorithm(reason);return TransformStreamDefaultControllerClearAlgorithms(controller),uponPromise(cancelPromise,()=>("errored"===writable._state?defaultControllerFinishPromiseReject(controller,writable._storedError):(WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController,reason),TransformStreamUnblockWrite(stream),defaultControllerFinishPromiseResolve(controller)),null),r2=>(WritableStreamDefaultControllerErrorIfNeeded(writable._writableStreamController,r2),TransformStreamUnblockWrite(stream),defaultControllerFinishPromiseReject(controller,r2),null)),controller._finishPromise}(stream,reason)}stream._writable=function(startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark=1,sizeAlgorithm=()=>1){const stream=Object.create(WritableStream.prototype);return InitializeWritableStream(stream),SetUpWritableStreamDefaultController(stream,Object.create(WritableStreamDefaultController.prototype),startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm),stream}(startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,writableHighWaterMark,writableSizeAlgorithm),stream._readable=CreateReadableStream(startAlgorithm,pullAlgorithm,cancelAlgorithm,readableHighWaterMark,readableSizeAlgorithm),stream._backpressure=void 0,stream._backpressureChangePromise=void 0,stream._backpressureChangePromise_resolve=void 0,TransformStreamSetBackpressure(stream,!0),stream._transformStreamController=void 0}(this,newPromise(resolve=>{startPromise_resolve=resolve}),writableHighWaterMark,writableSizeAlgorithm,readableHighWaterMark,readableSizeAlgorithm),function(stream,transformer){const controller=Object.create(TransformStreamDefaultController.prototype);let transformAlgorithm,flushAlgorithm,cancelAlgorithm;transformAlgorithm=void 0!==transformer.transform?chunk=>transformer.transform(chunk,controller):chunk=>{try{return TransformStreamDefaultControllerEnqueue(controller,chunk),promiseResolvedWith(void 0)}catch(transformResultE){return promiseRejectedWith(transformResultE)}},flushAlgorithm=void 0!==transformer.flush?()=>transformer.flush(controller):()=>promiseResolvedWith(void 0),cancelAlgorithm=void 0!==transformer.cancel?reason=>transformer.cancel(reason):()=>promiseResolvedWith(void 0),function(stream,controller,transformAlgorithm,flushAlgorithm,cancelAlgorithm){controller._controlledTransformStream=stream,stream._transformStreamController=controller,controller._transformAlgorithm=transformAlgorithm,controller._flushAlgorithm=flushAlgorithm,controller._cancelAlgorithm=cancelAlgorithm,controller._finishPromise=void 0,controller._finishPromise_resolve=void 0,controller._finishPromise_reject=void 0}(stream,controller,transformAlgorithm,flushAlgorithm,cancelAlgorithm)}(this,transformer),void 0!==transformer.start?startPromise_resolve(transformer.start(this._transformStreamController)):startPromise_resolve(void 0)}get readable(){if(!IsTransformStream(this))throw streamBrandCheckException("readable");return this._readable}get writable(){if(!IsTransformStream(this))throw streamBrandCheckException("writable");return this._writable}}function IsTransformStream(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_transformStreamController")&&x2 instanceof TransformStream}function TransformStreamError(stream,e2){ReadableStreamDefaultControllerError(stream._readable._readableStreamController,e2),TransformStreamErrorWritableAndUnblockWrite(stream,e2)}function TransformStreamErrorWritableAndUnblockWrite(stream,e2){TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController),WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController,e2),TransformStreamUnblockWrite(stream)}function TransformStreamUnblockWrite(stream){stream._backpressure&&TransformStreamSetBackpressure(stream,!1)}function TransformStreamSetBackpressure(stream,backpressure){void 0!==stream._backpressureChangePromise&&stream._backpressureChangePromise_resolve(),stream._backpressureChangePromise=newPromise(resolve=>{stream._backpressureChangePromise_resolve=resolve}),stream._backpressure=backpressure}Object.defineProperties(TransformStream.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(TransformStream.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});class TransformStreamDefaultController{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!IsTransformStreamDefaultController(this))throw defaultControllerBrandCheckException("desiredSize");return ReadableStreamDefaultControllerGetDesiredSize(this._controlledTransformStream._readable._readableStreamController)}enqueue(chunk=void 0){if(!IsTransformStreamDefaultController(this))throw defaultControllerBrandCheckException("enqueue");TransformStreamDefaultControllerEnqueue(this,chunk)}error(reason=void 0){if(!IsTransformStreamDefaultController(this))throw defaultControllerBrandCheckException("error");var e2;e2=reason,TransformStreamError(this._controlledTransformStream,e2)}terminate(){if(!IsTransformStreamDefaultController(this))throw defaultControllerBrandCheckException("terminate");!function(controller){const stream=controller._controlledTransformStream;ReadableStreamDefaultControllerClose(stream._readable._readableStreamController);const error=new TypeError("TransformStream terminated");TransformStreamErrorWritableAndUnblockWrite(stream,error)}(this)}}function IsTransformStreamDefaultController(x2){return!!typeIsObject(x2)&&!!Object.prototype.hasOwnProperty.call(x2,"_controlledTransformStream")&&x2 instanceof TransformStreamDefaultController}function TransformStreamDefaultControllerClearAlgorithms(controller){controller._transformAlgorithm=void 0,controller._flushAlgorithm=void 0,controller._cancelAlgorithm=void 0}function TransformStreamDefaultControllerEnqueue(controller,chunk){const stream=controller._controlledTransformStream,readableController=stream._readable._readableStreamController;if(!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController))throw new TypeError("Readable side is not in a state that permits enqueue");try{ReadableStreamDefaultControllerEnqueue(readableController,chunk)}catch(e2){throw TransformStreamErrorWritableAndUnblockWrite(stream,e2),stream._readable._storedError}const backpressure=function(controller){return!ReadableStreamDefaultControllerShouldCallPull(controller)}(readableController);backpressure!==stream._backpressure&&TransformStreamSetBackpressure(stream,!0)}function TransformStreamDefaultControllerPerformTransform(controller,chunk){return transformPromiseWith(controller._transformAlgorithm(chunk),void 0,r2=>{throw TransformStreamError(controller._controlledTransformStream,r2),r2})}function defaultControllerBrandCheckException(name){return new TypeError(`TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`)}function defaultControllerFinishPromiseResolve(controller){void 0!==controller._finishPromise_resolve&&(controller._finishPromise_resolve(),controller._finishPromise_resolve=void 0,controller._finishPromise_reject=void 0)}function defaultControllerFinishPromiseReject(controller,reason){void 0!==controller._finishPromise_reject&&(setPromiseIsHandledToTrue(controller._finishPromise),controller._finishPromise_reject(reason),controller._finishPromise_resolve=void 0,controller._finishPromise_reject=void 0)}function streamBrandCheckException(name){return new TypeError(`TransformStream.prototype.${name} can only be used on a TransformStream`)}Object.defineProperties(TransformStreamDefaultController.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),setFunctionName(TransformStreamDefaultController.prototype.enqueue,"enqueue"),setFunctionName(TransformStreamDefaultController.prototype.error,"error"),setFunctionName(TransformStreamDefaultController.prototype.terminate,"terminate"),"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(TransformStreamDefaultController.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0}),exports2.ByteLengthQueuingStrategy=ByteLengthQueuingStrategy,exports2.CountQueuingStrategy=CountQueuingStrategy,exports2.ReadableByteStreamController=ReadableByteStreamController,exports2.ReadableStream=ReadableStream2,exports2.ReadableStreamBYOBReader=ReadableStreamBYOBReader,exports2.ReadableStreamBYOBRequest=ReadableStreamBYOBRequest,exports2.ReadableStreamDefaultController=ReadableStreamDefaultController,exports2.ReadableStreamDefaultReader=ReadableStreamDefaultReader,exports2.TransformStream=TransformStream,exports2.TransformStreamDefaultController=TransformStreamDefaultController,exports2.WritableStream=WritableStream,exports2.WritableStreamDefaultController=WritableStreamDefaultController,exports2.WritableStreamDefaultWriter=WritableStreamDefaultWriter},"object"==typeof exports&&void 0!==module?factory(exports):"function"==typeof define&&define.amd?define(["exports"],factory):factory((global2="undefined"!=typeof globalThis?globalThis:global2||self).WebStreamsPolyfill={})}}),require_streams=__commonJS({"../../../../node_modules/fetch-blob/streams.cjs"(){if(!globalThis.ReadableStream)try{const process2=__require("process"),{emitWarning:emitWarning}=process2;try{process2.emitWarning=()=>{},Object.assign(globalThis,__require("stream/web")),process2.emitWarning=emitWarning}catch(error){throw process2.emitWarning=emitWarning,error}}catch(error){Object.assign(globalThis,require_ponyfill_es2018())}try{const{Blob:Blob4}=__require("buffer");Blob4&&!Blob4.prototype.stream&&(Blob4.prototype.stream=function(params){let position=0;const blob=this;return new ReadableStream({type:"bytes",async pull(ctrl){const chunk=blob.slice(position,Math.min(blob.size,position+65536)),buffer=await chunk.arrayBuffer();position+=buffer.byteLength,ctrl.enqueue(new Uint8Array(buffer)),position===blob.size&&ctrl.close()}})})}catch(error){}}});async function*toIterator(parts,clone2=!0){for(const part of parts)if("stream"in part)yield*part.stream();else if(ArrayBuffer.isView(part))if(clone2){let position=part.byteOffset;const end=part.byteOffset+part.byteLength;for(;position!==end;){const size=Math.min(end-position,POOL_SIZE),chunk=part.buffer.slice(position,position+size);position+=chunk.byteLength,yield new Uint8Array(chunk)}}else yield part;else{let position=0,b=part;for(;position!==b.size;){const chunk=b.slice(position,Math.min(b.size,position+POOL_SIZE)),buffer=await chunk.arrayBuffer();position+=buffer.byteLength,yield new Uint8Array(buffer)}}}var _File,file_default,t,i,h,r,m,f,e,x,FormData2,init_fetch_blob=__esm({"../../../../node_modules/fetch-blob/index.js"(){__toESM(require_streams(),1),POOL_SIZE=65536,_Blob=class Blob2{#parts=[];#type="";#size=0;#endings="transparent";constructor(blobParts=[],options={}){if("object"!=typeof blobParts||null===blobParts)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if("function"!=typeof blobParts[Symbol.iterator])throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if("object"!=typeof options&&"function"!=typeof options)throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");null===options&&(options={});const encoder=new TextEncoder;for(const element of blobParts){let part;part=ArrayBuffer.isView(element)?new Uint8Array(element.buffer.slice(element.byteOffset,element.byteOffset+element.byteLength)):element instanceof ArrayBuffer?new Uint8Array(element.slice(0)):element instanceof Blob2?element:encoder.encode(`${element}`),this.#size+=ArrayBuffer.isView(part)?part.byteLength:part.size,this.#parts.push(part)}this.#endings=`${void 0===options.endings?"transparent":options.endings}`;const type=void 0===options.type?"":String(options.type);this.#type=/^[\x20-\x7E]*$/.test(type)?type:""}get size(){return this.#size}get type(){return this.#type}async text(){const decoder=new TextDecoder;let str="";for await(const part of toIterator(this.#parts,!1))str+=decoder.decode(part,{stream:!0});return str+=decoder.decode(),str}async arrayBuffer(){const data=new Uint8Array(this.size);let offset=0;for await(const chunk of toIterator(this.#parts,!1))data.set(chunk,offset),offset+=chunk.length;return data.buffer}stream(){const it=toIterator(this.#parts,!0);return new globalThis.ReadableStream({type:"bytes",async pull(ctrl){const chunk=await it.next();chunk.done?ctrl.close():ctrl.enqueue(chunk.value)},async cancel(){await it.return()}})}slice(start=0,end=this.size,type=""){const{size:size}=this;let relativeStart=start<0?Math.max(size+start,0):Math.min(start,size),relativeEnd=end<0?Math.max(size+end,0):Math.min(end,size);const span=Math.max(relativeEnd-relativeStart,0),parts=this.#parts,blobParts=[];let added=0;for(const part of parts){if(added>=span)break;const size2=ArrayBuffer.isView(part)?part.byteLength:part.size;if(relativeStart&&size2<=relativeStart)relativeStart-=size2,relativeEnd-=size2;else{let chunk;ArrayBuffer.isView(part)?(chunk=part.subarray(relativeStart,Math.min(size2,relativeEnd)),added+=chunk.byteLength):(chunk=part.slice(relativeStart,Math.min(size2,relativeEnd)),added+=chunk.size),relativeEnd-=size2,blobParts.push(chunk),relativeStart=0}}const blob=new Blob2([],{type:String(type).toLowerCase()});return blob.#size=span,blob.#parts=blobParts,blob}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](object){return object&&"object"==typeof object&&"function"==typeof object.constructor&&("function"==typeof object.stream||"function"==typeof object.arrayBuffer)&&/^(Blob|File)$/.test(object[Symbol.toStringTag])}},Object.defineProperties(_Blob.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}}),fetch_blob_default=_Blob}}),init_file=__esm({"../../../../node_modules/fetch-blob/file.js"(){init_fetch_blob(),_File=class extends fetch_blob_default{#lastModified=0;#name="";constructor(fileBits,fileName,options={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(fileBits,options),null===options&&(options={});const lastModified=void 0===options.lastModified?Date.now():Number(options.lastModified);Number.isNaN(lastModified)||(this.#lastModified=lastModified),this.#name=String(fileName)}get name(){return this.#name}get lastModified(){return this.#lastModified}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](object){return!!object&&object instanceof fetch_blob_default&&/^(File)$/.test(object[Symbol.toStringTag])}},file_default=_File}});var FetchBaseError,FetchError,NAME,isURLSearchParameters,isBlob,isAbortSignal,isDomainOrSubdomain,isSameProtocol,import_node_domexception,stat,blobFromSync,blobFrom,fileFrom,fileFromSync,fromBlob,fromFile,BlobDataItem,init_esm_min=__esm({"../../../../node_modules/formdata-polyfill/esm.min.js"(){init_fetch_blob(),init_file(),({toStringTag:t,iterator:i,hasInstance:h}=Symbol),r=Math.random,m="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),f=(a,b,c)=>(a+="",/^(Blob|File)$/.test(b&&b[t])?[(c=void 0!==c?c+"":"File"==b[t]?b.name:"blob",a),b.name!==c||"blob"==b[t]?new file_default([b],c,b):b]:[a,b+""]),e=(c,f3)=>(f3?c:c.replace(/\r?\n|\r/g,"\r\n")).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),x=(n,a,e2)=>{if(a.length<e2)throw new TypeError(`Failed to execute '${n}' on 'FormData': ${e2} arguments required, but only ${a.length} present.`)},FormData2=class{#d=[];constructor(...a){if(a.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[t](){return"FormData"}[i](){return this.entries()}static[h](o){return o&&"object"==typeof o&&"FormData"===o[t]&&!m.some(m2=>"function"!=typeof o[m2])}append(...a){x("append",arguments,2),this.#d.push(f(...a))}delete(a){x("delete",arguments,1),a+="",this.#d=this.#d.filter(([b])=>b!==a)}get(a){x("get",arguments,1),a+="";for(var b=this.#d,l=b.length,c=0;c<l;c++)if(b[c][0]===a)return b[c][1];return null}getAll(a,b){return x("getAll",arguments,1),b=[],a+="",this.#d.forEach(c=>c[0]===a&&b.push(c[1])),b}has(a){return x("has",arguments,1),a+="",this.#d.some(b=>b[0]===a)}forEach(a,b){for(var[c,d]of(x("forEach",arguments,1),this))a.call(b,d,c,this)}set(...a){x("set",arguments,2);var b=[],c=!0;a=f(...a),this.#d.forEach(d=>{d[0]===a[0]?c&&(c=!b.push(a)):b.push(d)}),c&&b.push(a),this.#d=b}*entries(){yield*this.#d}*keys(){for(var[a]of this)yield a}*values(){for(var[,a]of this)yield a}}}}),init_base=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/errors/base.js"(){FetchBaseError=class extends Error{constructor(message,type){super(message),Error.captureStackTrace(this,this.constructor),this.type=type}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}}}),init_fetch_error=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/errors/fetch-error.js"(){init_base(),FetchError=class extends FetchBaseError{constructor(message,type,systemError){super(message,type),systemError&&(this.code=this.errno=systemError.code,this.erroredSysCall=systemError.syscall)}}}}),init_is=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/utils/is.js"(){NAME=Symbol.toStringTag,isURLSearchParameters=object=>"object"==typeof object&&"function"==typeof object.append&&"function"==typeof object.delete&&"function"==typeof object.get&&"function"==typeof object.getAll&&"function"==typeof object.has&&"function"==typeof object.set&&"function"==typeof object.sort&&"URLSearchParams"===object[NAME],isBlob=object=>object&&"object"==typeof object&&"function"==typeof object.arrayBuffer&&"string"==typeof object.type&&"function"==typeof object.stream&&"function"==typeof object.constructor&&/^(Blob|File)$/.test(object[NAME]),isAbortSignal=object=>"object"==typeof object&&("AbortSignal"===object[NAME]||"EventTarget"===object[NAME]),isDomainOrSubdomain=(destination,original)=>{const orig=new URL(original).hostname,dest=new URL(destination).hostname;return orig===dest||orig.endsWith(`.${dest}`)},isSameProtocol=(destination,original)=>new URL(original).protocol===new URL(destination).protocol}}),require_node_domexception=__commonJS({"../../../../node_modules/node-domexception/index.js"(exports,module){if(!globalThis.DOMException)try{const{MessageChannel:MessageChannel}=__require("worker_threads"),port=(new MessageChannel).port1,ab=new ArrayBuffer;port.postMessage(ab,[ab,ab])}catch(err){"DOMException"===err.constructor.name&&(globalThis.DOMException=err.constructor)}module.exports=globalThis.DOMException}});import{statSync,createReadStream,promises as fs}from"fs";import{basename}from"path";var s,S,f2,F,lower,noop,MultipartParser,init_from=__esm({"../../../../node_modules/fetch-blob/from.js"(){import_node_domexception=__toESM(require_node_domexception(),1),init_file(),init_fetch_blob(),({stat:stat}=fs),blobFromSync=(path,type)=>fromBlob(statSync(path),path,type),blobFrom=(path,type)=>stat(path).then(stat2=>fromBlob(stat2,path,type)),fileFrom=(path,type)=>stat(path).then(stat2=>fromFile(stat2,path,type)),fileFromSync=(path,type)=>fromFile(statSync(path),path,type),fromBlob=(stat2,path,type="")=>new fetch_blob_default([new BlobDataItem({path:path,size:stat2.size,lastModified:stat2.mtimeMs,start:0})],{type:type}),fromFile=(stat2,path,type="")=>new file_default([new BlobDataItem({path:path,size:stat2.size,lastModified:stat2.mtimeMs,start:0})],basename(path),{type:type,lastModified:stat2.mtimeMs}),BlobDataItem=class _BlobDataItem{#path;#start;constructor(options){this.#path=options.path,this.#start=options.start,this.size=options.size,this.lastModified=options.lastModified}slice(start,end){return new _BlobDataItem({path:this.#path,lastModified:this.lastModified,size:end-start,start:this.#start+start})}async*stream(){const{mtimeMs:mtimeMs}=await stat(this.#path);if(mtimeMs>this.lastModified)throw new import_node_domexception.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*createReadStream(this.#path,{start:this.#start,end:this.#start+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}}}),multipart_parser_exports={};async function toFormData(Body2,ct){if(!/multipart/i.test(ct))throw new TypeError("Failed to fetch");const m2=ct.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!m2)throw new TypeError("no or bad content-type header, no multipart boundary");const parser=new MultipartParser(m2[1]||m2[2]);let headerField,headerValue,entryValue,entryName,contentType,filename;const entryChunks=[],formData=new FormData2,onPartData=ui8a=>{entryValue+=decoder.decode(ui8a,{stream:!0})},appendToFile=ui8a=>{entryChunks.push(ui8a)},appendFileToFormData=()=>{const file=new file_default(entryChunks,filename,{type:contentType});formData.append(entryName,file)},appendEntryToFormData=()=>{formData.append(entryName,entryValue)},decoder=new TextDecoder("utf-8");decoder.decode(),parser.onPartBegin=function(){parser.onPartData=onPartData,parser.onPartEnd=appendEntryToFormData,headerField="",headerValue="",entryValue="",entryName="",contentType="",filename=null,entryChunks.length=0},parser.onHeaderField=function(ui8a){headerField+=decoder.decode(ui8a,{stream:!0})},parser.onHeaderValue=function(ui8a){headerValue+=decoder.decode(ui8a,{stream:!0})},parser.onHeaderEnd=function(){if(headerValue+=decoder.decode(),headerField=headerField.toLowerCase(),"content-disposition"===headerField){const m3=headerValue.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m3&&(entryName=m3[2]||m3[3]||""),filename=function(headerValue){const m2=headerValue.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!m2)return;const match=m2[2]||m2[3]||"";let filename=match.slice(match.lastIndexOf("\\")+1);return filename=filename.replace(/%22/g,'"'),filename=filename.replace(/&#(\d{4});/g,(m3,code)=>String.fromCharCode(code)),filename}(headerValue),filename&&(parser.onPartData=appendToFile,parser.onPartEnd=appendFileToFormData)}else"content-type"===headerField&&(contentType=headerValue);headerValue="",headerField=""};for await(const chunk of Body2)parser.write(chunk);return parser.end(),formData}__export(multipart_parser_exports,{toFormData:()=>toFormData});var pipeline,INTERNALS,Body,clone,getNonSpecFormDataBoundary,extractContentType,getTotalBytes,writeToStream,init_multipart_parser=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/utils/multipart-parser.js"(){init_from(),init_esm_min(),s=0,S={START_BOUNDARY:s++,HEADER_FIELD_START:s++,HEADER_FIELD:s++,HEADER_VALUE_START:s++,HEADER_VALUE:s++,HEADER_VALUE_ALMOST_DONE:s++,HEADERS_ALMOST_DONE:s++,PART_DATA_START:s++,PART_DATA:s++,END:s++},F={PART_BOUNDARY:f2=1,LAST_BOUNDARY:f2*=2},lower=c=>32|c,noop=()=>{},MultipartParser=class{constructor(boundary){this.index=0,this.flags=0,this.onHeaderEnd=noop,this.onHeaderField=noop,this.onHeadersEnd=noop,this.onHeaderValue=noop,this.onPartBegin=noop,this.onPartData=noop,this.onPartEnd=noop,this.boundaryChars={},boundary="\r\n--"+boundary;const ui8a=new Uint8Array(boundary.length);for(let i2=0;i2<boundary.length;i2++)ui8a[i2]=boundary.charCodeAt(i2),this.boundaryChars[ui8a[i2]]=!0;this.boundary=ui8a,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=S.START_BOUNDARY}write(data){let i2=0;const length_=data.length;let previousIndex=this.index,{lookbehind:lookbehind,boundary:boundary,boundaryChars:boundaryChars,index:index,state:state,flags:flags}=this;const boundaryLength=this.boundary.length,boundaryEnd=boundaryLength-1,bufferLength=data.length;let c,cl;const mark=name=>{this[name+"Mark"]=i2},clear=name=>{delete this[name+"Mark"]},callback=(callbackSymbol,start,end,ui8a)=>{void 0!==start&&start===end||this[callbackSymbol](ui8a&&ui8a.subarray(start,end))},dataCallback=(name,clear2)=>{const markSymbol=name+"Mark";markSymbol in this&&(clear2?(callback(name,this[markSymbol],i2,data),delete this[markSymbol]):(callback(name,this[markSymbol],data.length,data),this[markSymbol]=0))};for(i2=0;i2<length_;i2++)switch(c=data[i2],state){case S.START_BOUNDARY:if(index===boundary.length-2){if(45===c)flags|=F.LAST_BOUNDARY;else if(13!==c)return;index++;break}if(index-1==boundary.length-2){if(flags&F.LAST_BOUNDARY&&45===c)state=S.END,flags=0;else{if(flags&F.LAST_BOUNDARY||10!==c)return;index=0,callback("onPartBegin"),state=S.HEADER_FIELD_START}break}c!==boundary[index+2]&&(index=-2),c===boundary[index+2]&&index++;break;case S.HEADER_FIELD_START:state=S.HEADER_FIELD,mark("onHeaderField"),index=0;case S.HEADER_FIELD:if(13===c){clear("onHeaderField"),state=S.HEADERS_ALMOST_DONE;break}if(index++,45===c)break;if(58===c){if(1===index)return;dataCallback("onHeaderField",!0),state=S.HEADER_VALUE_START;break}if(cl=lower(c),cl<97||cl>122)return;break;case S.HEADER_VALUE_START:if(32===c)break;mark("onHeaderValue"),state=S.HEADER_VALUE;case S.HEADER_VALUE:13===c&&(dataCallback("onHeaderValue",!0),callback("onHeaderEnd"),state=S.HEADER_VALUE_ALMOST_DONE);break;case S.HEADER_VALUE_ALMOST_DONE:if(10!==c)return;state=S.HEADER_FIELD_START;break;case S.HEADERS_ALMOST_DONE:if(10!==c)return;callback("onHeadersEnd"),state=S.PART_DATA_START;break;case S.PART_DATA_START:state=S.PART_DATA,mark("onPartData");case S.PART_DATA:if(previousIndex=index,0===index){for(i2+=boundaryEnd;i2<bufferLength&&!(data[i2]in boundaryChars);)i2+=boundaryLength;i2-=boundaryEnd,c=data[i2]}if(index<boundary.length)boundary[index]===c?(0===index&&dataCallback("onPartData",!0),index++):index=0;else if(index===boundary.length)index++,13===c?flags|=F.PART_BOUNDARY:45===c?flags|=F.LAST_BOUNDARY:index=0;else if(index-1===boundary.length)if(flags&F.PART_BOUNDARY){if(index=0,10===c){flags&=~F.PART_BOUNDARY,callback("onPartEnd"),callback("onPartBegin"),state=S.HEADER_FIELD_START;break}}else flags&F.LAST_BOUNDARY&&45===c?(callback("onPartEnd"),state=S.END,flags=0):index=0;if(index>0)lookbehind[index-1]=c;else if(previousIndex>0){const _lookbehind=new Uint8Array(lookbehind.buffer,lookbehind.byteOffset,lookbehind.byteLength);callback("onPartData",0,previousIndex,_lookbehind),previousIndex=0,mark("onPartData"),i2--}break;case S.END:break;default:throw new Error(`Unexpected state entered: ${state}`)}dataCallback("onHeaderField"),dataCallback("onHeaderValue"),dataCallback("onPartData"),this.index=index,this.state=state,this.flags=flags}end(){if(this.state===S.HEADER_FIELD_START&&0===this.index||this.state===S.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==S.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}}});import Stream,{PassThrough}from"stream";import{types,deprecate,promisify}from"util";import{Buffer as Buffer2}from"buffer";async function consumeBody(data){if(data[INTERNALS].disturbed)throw new TypeError(`body used already for: ${data.url}`);if(data[INTERNALS].disturbed=!0,data[INTERNALS].error)throw data[INTERNALS].error;const{body:body}=data;if(null===body)return Buffer2.alloc(0);if(!(body instanceof Stream))return Buffer2.alloc(0);const accum=[];let accumBytes=0;try{for await(const chunk of body){if(data.size>0&&accumBytes+chunk.length>data.size){const error=new FetchError(`content size at ${data.url} over limit: ${data.size}`,"max-size");throw body.destroy(error),error}accumBytes+=chunk.length,accum.push(chunk)}}catch(error){throw error instanceof FetchBaseError?error:new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error.message}`,"system",error)}if(!0!==body.readableEnded&&!0!==body._readableState.ended)throw new FetchError(`Premature close of server response while trying to fetch ${data.url}`);try{return accum.every(c=>"string"==typeof c)?Buffer2.from(accum.join("")):Buffer2.concat(accum,accumBytes)}catch(error){throw new FetchError(`Could not create Buffer from response body for ${data.url}: ${error.message}`,"system",error)}}var validateHeaderName,validateHeaderValue,Headers2,init_body=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/body.js"(){init_fetch_blob(),init_esm_min(),init_fetch_error(),init_base(),init_is(),pipeline=promisify(Stream.pipeline),INTERNALS=Symbol("Body internals"),(Body=class{constructor(body,{size:size=0}={}){let boundary=null;null===body?body=null:isURLSearchParameters(body)?body=Buffer2.from(body.toString()):isBlob(body)||Buffer2.isBuffer(body)||(types.isAnyArrayBuffer(body)?body=Buffer2.from(body):ArrayBuffer.isView(body)?body=Buffer2.from(body.buffer,body.byteOffset,body.byteLength):body instanceof Stream||(body instanceof FormData2?boundary=(body=function(F2,B=fetch_blob_default){var b=`${r()}${r()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),c=[],p=`--${b}\r\nContent-Disposition: form-data; name="`;return F2.forEach((v,n)=>"string"==typeof v?c.push(p+e(n)+`"\r\n\r\n${v.replace(/\r(?!\n)|(?<!\r)\n/g,"\r\n")}\r\n`):c.push(p+e(n)+`"; filename="${e(v.name,1)}"\r\nContent-Type: ${v.type||"application/octet-stream"}\r\n\r\n`,v,"\r\n")),c.push(`--${b}--`),new B(c,{type:"multipart/form-data; boundary="+b})}(body)).type.split("=")[1]:body=Buffer2.from(String(body))));let stream=body;Buffer2.isBuffer(body)?stream=Stream.Readable.from(body):isBlob(body)&&(stream=Stream.Readable.from(body.stream())),this[INTERNALS]={body:body,stream:stream,boundary:boundary,disturbed:!1,error:null},this.size=size,body instanceof Stream&&body.on("error",error_=>{const error=error_ instanceof FetchBaseError?error_:new FetchError(`Invalid response body while trying to fetch ${this.url}: ${error_.message}`,"system",error_);this[INTERNALS].error=error})}get body(){return this[INTERNALS].stream}get bodyUsed(){return this[INTERNALS].disturbed}async arrayBuffer(){const{buffer:buffer,byteOffset:byteOffset,byteLength:byteLength}=await consumeBody(this);return buffer.slice(byteOffset,byteOffset+byteLength)}async formData(){const ct=this.headers.get("content-type");if(ct.startsWith("application/x-www-form-urlencoded")){const formData=new FormData2,parameters=new URLSearchParams(await this.text());for(const[name,value]of parameters)formData.append(name,value);return formData}const{toFormData:toFormData2}=await Promise.resolve().then(()=>(init_multipart_parser(),multipart_parser_exports));return toFormData2(this.body,ct)}async blob(){const ct=this.headers&&this.headers.get("content-type")||this[INTERNALS].body&&this[INTERNALS].body.type||"",buf=await this.arrayBuffer();return new fetch_blob_default([buf],{type:ct})}async json(){const text=await this.text();return JSON.parse(text)}async text(){const buffer=await consumeBody(this);return(new TextDecoder).decode(buffer)}buffer(){return consumeBody(this)}}).prototype.buffer=deprecate(Body.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(Body.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:deprecate(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}}),clone=(instance,highWaterMark)=>{let p1,p2,{body:body}=instance[INTERNALS];if(instance.bodyUsed)throw new Error("cannot clone body after it is used");return body instanceof Stream&&"function"!=typeof body.getBoundary&&(p1=new PassThrough({highWaterMark:highWaterMark}),p2=new PassThrough({highWaterMark:highWaterMark}),body.pipe(p1),body.pipe(p2),instance[INTERNALS].stream=p1,body=p2),body},getNonSpecFormDataBoundary=deprecate(body=>body.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),extractContentType=(body,request)=>null===body?null:"string"==typeof body?"text/plain;charset=UTF-8":isURLSearchParameters(body)?"application/x-www-form-urlencoded;charset=UTF-8":isBlob(body)?body.type||null:Buffer2.isBuffer(body)||types.isAnyArrayBuffer(body)||ArrayBuffer.isView(body)?null:body instanceof FormData2?`multipart/form-data; boundary=${request[INTERNALS].boundary}`:body&&"function"==typeof body.getBoundary?`multipart/form-data;boundary=${getNonSpecFormDataBoundary(body)}`:body instanceof Stream?null:"text/plain;charset=UTF-8",getTotalBytes=request=>{const{body:body}=request[INTERNALS];return null===body?0:isBlob(body)?body.size:Buffer2.isBuffer(body)?body.length:body&&"function"==typeof body.getLengthSync&&body.hasKnownLength&&body.hasKnownLength()?body.getLengthSync():null},writeToStream=async(dest,{body:body})=>{null===body?dest.end():await pipeline(body,dest)}}});import{types as types2}from"util";import http from"http";var redirectStatus,isRedirect,INTERNALS2,Response,getSearch,ReferrerPolicy,DEFAULT_REFERRER_POLICY,init_headers=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/headers.js"(){validateHeaderName="function"==typeof http.validateHeaderName?http.validateHeaderName:name=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(name)){const error=new TypeError(`Header name must be a valid HTTP token [${name}]`);throw Object.defineProperty(error,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),error}},validateHeaderValue="function"==typeof http.validateHeaderValue?http.validateHeaderValue:(name,value)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(value)){const error=new TypeError(`Invalid character in header content ["${name}"]`);throw Object.defineProperty(error,"code",{value:"ERR_INVALID_CHAR"}),error}},Headers2=class _Headers extends URLSearchParams{constructor(init){let result=[];if(init instanceof _Headers){const raw=init.raw();for(const[name,values]of Object.entries(raw))result.push(...values.map(value=>[name,value]))}else if(null==init);else{if("object"!=typeof init||types2.isBoxedPrimitive(init))throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");{const method=init[Symbol.iterator];if(null==method)result.push(...Object.entries(init));else{if("function"!=typeof method)throw new TypeError("Header pairs must be iterable");result=[...init].map(pair=>{if("object"!=typeof pair||types2.isBoxedPrimitive(pair))throw new TypeError("Each header pair must be an iterable object");return[...pair]}).map(pair=>{if(2!==pair.length)throw new TypeError("Each header pair must be a name/value tuple");return[...pair]})}}}return result=result.length>0?result.map(([name,value])=>(validateHeaderName(name),validateHeaderValue(name,String(value)),[String(name).toLowerCase(),String(value)])):void 0,super(result),new Proxy(this,{get(target,p,receiver){switch(p){case"append":case"set":return(name,value)=>(validateHeaderName(name),validateHeaderValue(name,String(value)),URLSearchParams.prototype[p].call(target,String(name).toLowerCase(),String(value)));case"delete":case"has":case"getAll":return name=>(validateHeaderName(name),URLSearchParams.prototype[p].call(target,String(name).toLowerCase()));case"keys":return()=>(target.sort(),new Set(URLSearchParams.prototype.keys.call(target)).keys());default:return Reflect.get(target,p,receiver)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(name){const values=this.getAll(name);if(0===values.length)return null;let value=values.join(", ");return/^content-encoding$/i.test(name)&&(value=value.toLowerCase()),value}forEach(callback,thisArg=void 0){for(const name of this.keys())Reflect.apply(callback,thisArg,[this.get(name),name,this])}*values(){for(const name of this.keys())yield this.get(name)}*entries(){for(const name of this.keys())yield[name,this.get(name)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((result,key)=>(result[key]=this.getAll(key),result),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((result,key)=>{const values=this.getAll(key);return result[key]="host"===key?values[0]:values.length>1?values:values[0],result},{})}},Object.defineProperties(Headers2.prototype,["get","entries","forEach","values"].reduce((result,property)=>(result[property]={enumerable:!0},result),{}))}}),init_is_redirect=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/utils/is-redirect.js"(){redirectStatus=new Set([301,302,303,307,308]),isRedirect=code=>redirectStatus.has(code)}}),init_response=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/response.js"(){init_headers(),init_body(),init_is_redirect(),INTERNALS2=Symbol("Response internals"),Response=class _Response extends Body{constructor(body=null,options={}){super(body,options);const status=null!=options.status?options.status:200,headers=new Headers2(options.headers);if(null!==body&&!headers.has("Content-Type")){const contentType=extractContentType(body,this);contentType&&headers.append("Content-Type",contentType)}this[INTERNALS2]={type:"default",url:options.url,status:status,statusText:options.statusText||"",headers:headers,counter:options.counter,highWaterMark:options.highWaterMark}}get type(){return this[INTERNALS2].type}get url(){return this[INTERNALS2].url||""}get status(){return this[INTERNALS2].status}get ok(){return this[INTERNALS2].status>=200&&this[INTERNALS2].status<300}get redirected(){return this[INTERNALS2].counter>0}get statusText(){return this[INTERNALS2].statusText}get headers(){return this[INTERNALS2].headers}get highWaterMark(){return this[INTERNALS2].highWaterMark}clone(){return new _Response(clone(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(url,status=302){if(!isRedirect(status))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new _Response(null,{headers:{location:new URL(url).toString()},status:status})}static error(){const response=new _Response(null,{status:0,statusText:""});return response[INTERNALS2].type="error",response}static json(data=void 0,init={}){const body=JSON.stringify(data);if(void 0===body)throw new TypeError("data is not JSON serializable");const headers=new Headers2(init&&init.headers);return headers.has("content-type")||headers.set("content-type","application/json"),new _Response(body,{...init,headers:headers})}get[Symbol.toStringTag](){return"Response"}},Object.defineProperties(Response.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})}}),init_get_search=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/utils/get-search.js"(){getSearch=parsedURL=>{if(parsedURL.search)return parsedURL.search;const lastOffset=parsedURL.href.length-1,hash=parsedURL.hash||("#"===parsedURL.href[lastOffset]?"#":"");return"?"===parsedURL.href[lastOffset-hash.length]?"?":""}}});import{isIP}from"net";function stripURLForUseAsAReferrer(url,originOnly=!1){return null==url?"no-referrer":(url=new URL(url),/^(about|blob|data):$/.test(url.protocol)?"no-referrer":(url.username="",url.password="",url.hash="",originOnly&&(url.pathname="",url.search=""),url))}function isUrlPotentiallyTrustworthy(url){return!!/^about:(blank|srcdoc)$/.test(url)||("data:"===url.protocol||(!!/^(blob|filesystem):$/.test(url.protocol)||function(url){if(/^(http|ws)s:$/.test(url.protocol))return!0;const hostIp=url.host.replace(/(^\[)|(]$)/g,""),hostIPVersion=isIP(hostIp);return!(4!==hostIPVersion||!/^127\./.test(hostIp))||!(6!==hostIPVersion||!/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp))||"localhost"!==url.host&&!url.host.endsWith(".localhost")&&"file:"===url.protocol}(url)))}var INTERNALS3,isRequest,doBadDataWarn,Request,getNodeRequestOptions,init_referrer=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/utils/referrer.js"(){ReferrerPolicy=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),DEFAULT_REFERRER_POLICY="strict-origin-when-cross-origin"}});import{format as formatUrl}from"url";import{deprecate as deprecate2}from"util";var AbortError,supportedSchemas,init_request=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/request.js"(){init_headers(),init_body(),init_is(),init_get_search(),init_referrer(),INTERNALS3=Symbol("Request internals"),isRequest=object=>"object"==typeof object&&"object"==typeof object[INTERNALS3],doBadDataWarn=deprecate2(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Request=class _Request extends Body{constructor(input,init={}){let parsedURL;if(isRequest(input)?parsedURL=new URL(input.url):(parsedURL=new URL(input),input={}),""!==parsedURL.username||""!==parsedURL.password)throw new TypeError(`${parsedURL} is an url with embedded credentials.`);let method=init.method||input.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(method)&&(method=method.toUpperCase()),!isRequest(init)&&"data"in init&&doBadDataWarn(),(null!=init.body||isRequest(input)&&null!==input.body)&&("GET"===method||"HEAD"===method))throw new TypeError("Request with GET/HEAD method cannot have body");const inputBody=init.body?init.body:isRequest(input)&&null!==input.body?clone(input):null;super(inputBody,{size:init.size||input.size||0});const headers=new Headers2(init.headers||input.headers||{});if(null!==inputBody&&!headers.has("Content-Type")){const contentType=extractContentType(inputBody,this);contentType&&headers.set("Content-Type",contentType)}let signal=isRequest(input)?input.signal:null;if("signal"in init&&(signal=init.signal),null!=signal&&!isAbortSignal(signal))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let referrer=null==init.referrer?input.referrer:init.referrer;if(""===referrer)referrer="no-referrer";else if(referrer){const parsedReferrer=new URL(referrer);referrer=/^about:(\/\/)?client$/.test(parsedReferrer)?"client":parsedReferrer}else referrer=void 0;this[INTERNALS3]={method:method,redirect:init.redirect||input.redirect||"follow",headers:headers,parsedURL:parsedURL,signal:signal,referrer:referrer},this.follow=void 0===init.follow?void 0===input.follow?20:input.follow:init.follow,this.compress=void 0===init.compress?void 0===input.compress||input.compress:init.compress,this.counter=init.counter||input.counter||0,this.agent=init.agent||input.agent,this.highWaterMark=init.highWaterMark||input.highWaterMark||16384,this.insecureHTTPParser=init.insecureHTTPParser||input.insecureHTTPParser||!1,this.referrerPolicy=init.referrerPolicy||input.referrerPolicy||""}get method(){return this[INTERNALS3].method}get url(){return formatUrl(this[INTERNALS3].parsedURL)}get headers(){return this[INTERNALS3].headers}get redirect(){return this[INTERNALS3].redirect}get signal(){return this[INTERNALS3].signal}get referrer(){return"no-referrer"===this[INTERNALS3].referrer?"":"client"===this[INTERNALS3].referrer?"about:client":this[INTERNALS3].referrer?this[INTERNALS3].referrer.toString():void 0}get referrerPolicy(){return this[INTERNALS3].referrerPolicy}set referrerPolicy(referrerPolicy){this[INTERNALS3].referrerPolicy=function(referrerPolicy){if(!ReferrerPolicy.has(referrerPolicy))throw new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);return referrerPolicy}(referrerPolicy)}clone(){return new _Request(this)}get[Symbol.toStringTag](){return"Request"}},Object.defineProperties(Request.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}}),getNodeRequestOptions=request=>{const{parsedURL:parsedURL}=request[INTERNALS3],headers=new Headers2(request[INTERNALS3].headers);headers.has("Accept")||headers.set("Accept","*/*");let contentLengthValue=null;if(null===request.body&&/^(post|put)$/i.test(request.method)&&(contentLengthValue="0"),null!==request.body){const totalBytes=getTotalBytes(request);"number"!=typeof totalBytes||Number.isNaN(totalBytes)||(contentLengthValue=String(totalBytes))}contentLengthValue&&headers.set("Content-Length",contentLengthValue),""===request.referrerPolicy&&(request.referrerPolicy=DEFAULT_REFERRER_POLICY),request.referrer&&"no-referrer"!==request.referrer?request[INTERNALS3].referrer=function(request,{referrerURLCallback:referrerURLCallback,referrerOriginCallback:referrerOriginCallback}={}){if("no-referrer"===request.referrer||""===request.referrerPolicy)return null;const policy=request.referrerPolicy;if("about:client"===request.referrer)return"no-referrer";const referrerSource=request.referrer;let referrerURL=stripURLForUseAsAReferrer(referrerSource),referrerOrigin=stripURLForUseAsAReferrer(referrerSource,!0);referrerURL.toString().length>4096&&(referrerURL=referrerOrigin),referrerURLCallback&&(referrerURL=referrerURLCallback(referrerURL)),referrerOriginCallback&&(referrerOrigin=referrerOriginCallback(referrerOrigin));const currentURL=new URL(request.url);switch(policy){case"no-referrer":return"no-referrer";case"origin":return referrerOrigin;case"unsafe-url":return referrerURL;case"strict-origin":return isUrlPotentiallyTrustworthy(referrerURL)&&!isUrlPotentiallyTrustworthy(currentURL)?"no-referrer":referrerOrigin.toString();case"strict-origin-when-cross-origin":return referrerURL.origin===currentURL.origin?referrerURL:isUrlPotentiallyTrustworthy(referrerURL)&&!isUrlPotentiallyTrustworthy(currentURL)?"no-referrer":referrerOrigin;case"same-origin":return referrerURL.origin===currentURL.origin?referrerURL:"no-referrer";case"origin-when-cross-origin":return referrerURL.origin===currentURL.origin?referrerURL:referrerOrigin;case"no-referrer-when-downgrade":return isUrlPotentiallyTrustworthy(referrerURL)&&!isUrlPotentiallyTrustworthy(currentURL)?"no-referrer":referrerURL;default:throw new TypeError(`Invalid referrerPolicy: ${policy}`)}}(request):request[INTERNALS3].referrer="no-referrer",request[INTERNALS3].referrer instanceof URL&&headers.set("Referer",request.referrer),headers.has("User-Agent")||headers.set("User-Agent","node-fetch"),request.compress&&!headers.has("Accept-Encoding")&&headers.set("Accept-Encoding","gzip, deflate, br");let{agent:agent}=request;"function"==typeof agent&&(agent=agent(parsedURL));const search=getSearch(parsedURL);return{parsedURL:parsedURL,options:{path:parsedURL.pathname+search,method:request.method,headers:headers[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:request.insecureHTTPParser,agent:agent}}}}}),init_abort_error=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/errors/abort-error.js"(){init_base(),AbortError=class extends FetchBaseError{constructor(message,type="aborted"){super(message,type)}}}}),src_exports={};__export(src_exports,{AbortError:()=>AbortError,Blob:()=>fetch_blob_default,FetchError:()=>FetchError,File:()=>file_default,FormData:()=>FormData2,Headers:()=>Headers2,Request:()=>Request,Response:()=>Response,blobFrom:()=>blobFrom,blobFromSync:()=>blobFromSync,default:()=>fetch,fileFrom:()=>fileFrom,fileFromSync:()=>fileFromSync,isRedirect:()=>isRedirect});import http2 from"http";import https from"https";import zlib from"zlib";import Stream2,{PassThrough as PassThrough2,pipeline as pump}from"stream";import{Buffer as Buffer3}from"buffer";async function fetch(url,options_){return new Promise((resolve,reject)=>{const request=new Request(url,options_),{parsedURL:parsedURL,options:options}=getNodeRequestOptions(request);if(!supportedSchemas.has(parsedURL.protocol))throw new TypeError(`node-fetch cannot load ${url}. URL scheme "${parsedURL.protocol.replace(/:$/,"")}" is not supported.`);if("data:"===parsedURL.protocol){const data=dist_default(request.url),response2=new Response(data,{headers:{"Content-Type":data.typeFull}});return void resolve(response2)}const send=("https:"===parsedURL.protocol?https:http2).request,{signal:signal}=request;let response=null;const abort=()=>{const error=new AbortError("The operation was aborted.");reject(error),request.body&&request.body instanceof Stream2.Readable&&request.body.destroy(error),response&&response.body&&response.body.emit("error",error)};if(signal&&signal.aborted)return void abort();const abortAndFinalize=()=>{abort(),finalize()},request_=send(parsedURL.toString(),options);signal&&signal.addEventListener("abort",abortAndFinalize);const finalize=()=>{request_.abort(),signal&&signal.removeEventListener("abort",abortAndFinalize)};request_.on("error",error=>{reject(new FetchError(`request to ${request.url} failed, reason: ${error.message}`,"system",error)),finalize()}),function(request,errorCallback){const LAST_CHUNK=Buffer3.from("0\r\n\r\n");let previousChunk,isChunkedTransfer=!1,properLastChunkReceived=!1;request.on("response",response=>{const{headers:headers}=response;isChunkedTransfer="chunked"===headers["transfer-encoding"]&&!headers["content-length"]}),request.on("socket",socket=>{const onSocketClose=()=>{if(isChunkedTransfer&&!properLastChunkReceived){const error=new Error("Premature close");error.code="ERR_STREAM_PREMATURE_CLOSE",errorCallback(error)}},onData=buf=>{properLastChunkReceived=0===Buffer3.compare(buf.slice(-5),LAST_CHUNK),!properLastChunkReceived&&previousChunk&&(properLastChunkReceived=0===Buffer3.compare(previousChunk.slice(-3),LAST_CHUNK.slice(0,3))&&0===Buffer3.compare(buf.slice(-2),LAST_CHUNK.slice(3))),previousChunk=buf};socket.prependListener("close",onSocketClose),socket.on("data",onData),request.on("close",()=>{socket.removeListener("close",onSocketClose),socket.removeListener("data",onData)})})}(request_,error=>{response&&response.body&&response.body.destroy(error)}),process.version<"v14"&&request_.on("socket",s2=>{let endedWithEventsCount;s2.prependListener("end",()=>{endedWithEventsCount=s2._eventsCount}),s2.prependListener("close",hadError=>{if(response&&endedWithEventsCount<s2._eventsCount&&!hadError){const error=new Error("Premature close");error.code="ERR_STREAM_PREMATURE_CLOSE",response.body.emit("error",error)}})}),request_.on("response",response_=>{request_.setTimeout(0);const headers=function(headers=[]){return new Headers2(headers.reduce((result,value,index,array)=>(index%2==0&&result.push(array.slice(index,index+2)),result),[]).filter(([name,value])=>{try{return validateHeaderName(name),validateHeaderValue(name,String(value)),!0}catch{return!1}}))}(response_.rawHeaders);if(isRedirect(response_.statusCode)){const location=headers.get("Location");let locationURL=null;try{locationURL=null===location?null:new URL(location,request.url)}catch{if("manual"!==request.redirect)return reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`,"invalid-redirect")),void finalize()}switch(request.redirect){case"error":return reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`,"no-redirect")),void finalize();case"manual":break;case"follow":{if(null===locationURL)break;if(request.counter>=request.follow)return reject(new FetchError(`maximum redirect reached at: ${request.url}`,"max-redirect")),void finalize();const requestOptions={headers:new Headers2(request.headers),follow:request.follow,counter:request.counter+1,agent:request.agent,compress:request.compress,method:request.method,body:clone(request),signal:request.signal,size:request.size,referrer:request.referrer,referrerPolicy:request.referrerPolicy};if(!isDomainOrSubdomain(request.url,locationURL)||!isSameProtocol(request.url,locationURL))for(const name of["authorization","www-authenticate","cookie","cookie2"])requestOptions.headers.delete(name);if(303!==response_.statusCode&&request.body&&options_.body instanceof Stream2.Readable)return reject(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void finalize();303!==response_.statusCode&&(301!==response_.statusCode&&302!==response_.statusCode||"POST"!==request.method)||(requestOptions.method="GET",requestOptions.body=void 0,requestOptions.headers.delete("content-length"));const responseReferrerPolicy=function(headers){const policyTokens=(headers.get("referrer-policy")||"").split(/[,\s]+/);let policy="";for(const token of policyTokens)token&&ReferrerPolicy.has(token)&&(policy=token);return policy}(headers);return responseReferrerPolicy&&(requestOptions.referrerPolicy=responseReferrerPolicy),resolve(fetch(new Request(locationURL,requestOptions))),void finalize()}default:return reject(new TypeError(`Redirect option '${request.redirect}' is not a valid value of RequestRedirect`))}}signal&&response_.once("end",()=>{signal.removeEventListener("abort",abortAndFinalize)});let body=pump(response_,new PassThrough2,error=>{error&&reject(error)});process.version<"v12.10"&&response_.on("aborted",abortAndFinalize);const responseOptions={url:request.url,status:response_.statusCode,statusText:response_.statusMessage,headers:headers,size:request.size,counter:request.counter,highWaterMark:request.highWaterMark},codings=headers.get("Content-Encoding");if(!request.compress||"HEAD"===request.method||null===codings||204===response_.statusCode||304===response_.statusCode)return response=new Response(body,responseOptions),void resolve(response);const zlibOptions={flush:zlib.Z_SYNC_FLUSH,finishFlush:zlib.Z_SYNC_FLUSH};if("gzip"===codings||"x-gzip"===codings)return body=pump(body,zlib.createGunzip(zlibOptions),error=>{error&&reject(error)}),response=new Response(body,responseOptions),void resolve(response);if("deflate"===codings||"x-deflate"===codings){const raw=pump(response_,new PassThrough2,error=>{error&&reject(error)});return raw.once("data",chunk=>{body=8==(15&chunk[0])?pump(body,zlib.createInflate(),error=>{error&&reject(error)}):pump(body,zlib.createInflateRaw(),error=>{error&&reject(error)}),response=new Response(body,responseOptions),resolve(response)}),void raw.once("end",()=>{response||(response=new Response(body,responseOptions),resolve(response))})}if("br"===codings)return body=pump(body,zlib.createBrotliDecompress(),error=>{error&&reject(error)}),response=new Response(body,responseOptions),void resolve(response);response=new Response(body,responseOptions),resolve(response)}),writeToStream(request_,request).catch(reject)})}var init_src=__esm({"../../../../node_modules/gaxios/node_modules/node-fetch/src/index.js"(){init_dist(),init_body(),init_response(),init_headers(),init_request(),init_fetch_error(),init_abort_error(),init_is_redirect(),init_esm_min(),init_is(),init_referrer(),init_from(),supportedSchemas=new Set(["data:","http:","https:"])}}),require_gaxios=__commonJS({"../../../../node_modules/gaxios/build/cjs/src/gaxios.js"(exports){var _a,__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Gaxios=void 0;var extend_1=__importDefault(require_extend()),https_1=__require("https"),common_js_1=require_common(),retry_js_1=require_retry(),stream_1=__require("stream"),interceptor_js_1=require_interceptor(),Gaxios=class{agentCache=new Map;defaults;interceptors;constructor(defaults){this.defaults=defaults||{},this.interceptors={request:new interceptor_js_1.GaxiosInterceptorManager,response:new interceptor_js_1.GaxiosInterceptorManager}}fetch(...args){const input=args[0],init=args[1];let url;const headers=new Headers;return"string"==typeof input?url=new URL(input):input instanceof URL?url=input:input&&input.url&&(url=new URL(input.url)),input&&"object"==typeof input&&"headers"in input&&_a.mergeHeaders(headers,input.headers),init&&_a.mergeHeaders(headers,new Headers(init.headers)),"object"!=typeof input||input instanceof URL?this.request({...init,headers:headers,url:url}):this.request({...init,...input,headers:headers,url:url})}async request(opts={}){let prepared=await this.#prepareRequest(opts);return prepared=await this.#applyRequestInterceptors(prepared),this.#applyResponseInterceptors(this._request(prepared))}async _defaultAdapter(config){const fetchImpl=config.fetchImplementation||this.defaults.fetchImplementation||await _a.#getFetch(),preparedOpts={...config};delete preparedOpts.data;const res=await fetchImpl(config.url,preparedOpts),data=await this.getResponseData(config,res);return Object.getOwnPropertyDescriptor(res,"data")?.configurable||Object.defineProperties(res,{data:{configurable:!0,writable:!0,enumerable:!0,value:data}}),Object.assign(res,{config:config,data:data})}async _request(opts){try{let translatedResponse;if(translatedResponse=opts.adapter?await opts.adapter(opts,this._defaultAdapter.bind(this)):await this._defaultAdapter(opts),!opts.validateStatus(translatedResponse.status)){if("stream"===opts.responseType){const response=[];for await(const chunk of translatedResponse.data)response.push(chunk);translatedResponse.data=response.toString()}const errorInfo=common_js_1.GaxiosError.extractAPIErrorFromResponse(translatedResponse,`Request failed with status code ${translatedResponse.status}`);throw new common_js_1.GaxiosError(errorInfo?.message,opts,translatedResponse,errorInfo)}return translatedResponse}catch(e2){let err;err=e2 instanceof common_js_1.GaxiosError?e2:e2 instanceof Error?new common_js_1.GaxiosError(e2.message,opts,void 0,e2):new common_js_1.GaxiosError("Unexpected Gaxios Error",opts,void 0,e2);const{shouldRetry:shouldRetry,config:config}=await(0,retry_js_1.getRetryConfig)(err);if(shouldRetry&&config)return err.config.retryConfig.currentRetryAttempt=config.retryConfig.currentRetryAttempt,opts.retryConfig=err.config?.retryConfig,this.#appendTimeoutToSignal(opts),this._request(opts);throw opts.errorRedactor&&opts.errorRedactor(err),err}}async getResponseData(opts,res){if(204===res.status)return"";if(opts.maxContentLength&&res.headers.has("content-length")&&opts.maxContentLength<Number.parseInt(res.headers?.get("content-length")||""))throw new common_js_1.GaxiosError("Response's `Content-Length` is over the limit.",opts,Object.assign(res,{config:opts}));switch(opts.responseType){case"stream":return res.body;case"json":{const data=await res.text();try{return JSON.parse(data)}catch{return data}}case"arraybuffer":return res.arrayBuffer();case"blob":return res.blob();case"text":return res.text();default:return this.getResponseDataFromContentType(res)}}#urlMayUseProxy(url,noProxy=[]){const candidate=new URL(url),noProxyList=[...noProxy],noProxyEnvList=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(const rule of noProxyEnvList)noProxyList.push(rule.trim());for(const rule of noProxyList)if(rule instanceof RegExp){if(rule.test(candidate.toString()))return!1}else if(rule instanceof URL){if(rule.origin===candidate.origin)return!1}else if(rule.startsWith("*.")||rule.startsWith(".")){const cleanedRule=rule.replace(/^\*\./,".");if(candidate.hostname.endsWith(cleanedRule))return!1}else if(rule===candidate.origin||rule===candidate.hostname||rule===candidate.href)return!1;return!0}async#applyRequestInterceptors(options){let promiseChain=Promise.resolve(options);for(const interceptor of this.interceptors.request.values())interceptor&&(promiseChain=promiseChain.then(interceptor.resolved,interceptor.rejected));return promiseChain}async#applyResponseInterceptors(response){let promiseChain=Promise.resolve(response);for(const interceptor of this.interceptors.response.values())interceptor&&(promiseChain=promiseChain.then(interceptor.resolved,interceptor.rejected));return promiseChain}async#prepareRequest(options){const preparedHeaders=new Headers(this.defaults.headers);_a.mergeHeaders(preparedHeaders,options.headers);const opts=(0,extend_1.default)(!0,{},this.defaults,options);if(!opts.url)throw new Error("URL is required.");if(opts.baseURL&&(opts.url=new URL(opts.url,opts.baseURL)),opts.url=new URL(opts.url),opts.params)if(opts.paramsSerializer){let additionalQueryParams=opts.paramsSerializer(opts.params);additionalQueryParams.startsWith("?")&&(additionalQueryParams=additionalQueryParams.slice(1));const prefix=opts.url.toString().includes("?")?"&":"?";opts.url=opts.url+prefix+additionalQueryParams}else{const url=opts.url instanceof URL?opts.url:new URL(opts.url);for(const[key,value]of new URLSearchParams(opts.params))url.searchParams.append(key,value);opts.url=url}"number"==typeof options.maxContentLength&&(opts.size=options.maxContentLength),"number"==typeof options.maxRedirects&&(opts.follow=options.maxRedirects);const shouldDirectlyPassData="string"==typeof opts.data||opts.data instanceof ArrayBuffer||opts.data instanceof Blob||globalThis.File&&opts.data instanceof File||opts.data instanceof FormData||opts.data instanceof stream_1.Readable||opts.data instanceof ReadableStream||opts.data instanceof String||opts.data instanceof URLSearchParams||ArrayBuffer.isView(opts.data)||["Blob","File","FormData"].includes(opts.data?.constructor?.name||"");if(opts.multipart?.length){const boundary=await(async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID())();preparedHeaders.set("content-type",`multipart/related; boundary=${boundary}`),opts.body=stream_1.Readable.from(this.getMultipartRequest(opts.multipart,boundary))}else shouldDirectlyPassData?opts.body=opts.data:"object"==typeof opts.data?"application/x-www-form-urlencoded"===preparedHeaders.get("Content-Type")?opts.body=opts.paramsSerializer?opts.paramsSerializer(opts.data):new URLSearchParams(opts.data):(preparedHeaders.has("content-type")||preparedHeaders.set("content-type","application/json"),opts.body=JSON.stringify(opts.data)):opts.data&&(opts.body=opts.data);opts.validateStatus=opts.validateStatus||this.validateStatus,opts.responseType=opts.responseType||"unknown",preparedHeaders.has("accept")||"json"!==opts.responseType||preparedHeaders.set("accept","application/json");const proxy=opts.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(opts.agent);else if(proxy&&this.#urlMayUseProxy(opts.url,opts.noProxy)){const HttpsProxyAgent=await _a.#getProxyAgent();this.agentCache.has(proxy)?opts.agent=this.agentCache.get(proxy):(opts.agent=new HttpsProxyAgent(proxy,{cert:opts.cert,key:opts.key}),this.agentCache.set(proxy,opts.agent))}else opts.cert&&opts.key&&(this.agentCache.has(opts.key)?opts.agent=this.agentCache.get(opts.key):(opts.agent=new https_1.Agent({cert:opts.cert,key:opts.key}),this.agentCache.set(opts.key,opts.agent)));return"function"!=typeof opts.errorRedactor&&!1!==opts.errorRedactor&&(opts.errorRedactor=common_js_1.defaultErrorRedactor),opts.body&&!("duplex"in opts)&&(opts.duplex="half"),this.#appendTimeoutToSignal(opts),Object.assign(opts,{headers:preparedHeaders,url:opts.url instanceof URL?opts.url:new URL(opts.url)})}#appendTimeoutToSignal(opts){if(opts.timeout){const timeoutSignal=AbortSignal.timeout(opts.timeout);opts.signal&&!opts.signal.aborted?opts.signal=AbortSignal.any([opts.signal,timeoutSignal]):opts.signal=timeoutSignal}}validateStatus(status){return status>=200&&status<300}async getResponseDataFromContentType(response){let contentType=response.headers.get("Content-Type");if(null===contentType)return response.text();if(contentType=contentType.toLowerCase(),contentType.includes("application/json")){let data=await response.text();try{data=JSON.parse(data)}catch{}return data}return contentType.match(/^text\//)?response.text():response.blob()}async*getMultipartRequest(multipartOptions,boundary){const finale=`--${boundary}--`;for(const currentPart of multipartOptions){const preamble=`--${boundary}\r\nContent-Type: ${currentPart.headers.get("Content-Type")||"application/octet-stream"}\r\n\r\n`;yield preamble,"string"==typeof currentPart.content?yield currentPart.content:yield*currentPart.content,yield"\r\n"}yield finale}static#proxyAgent;static#fetch;static async#getProxyAgent(){return this.#proxyAgent||=(await Promise.resolve().then(()=>__toESM(require_dist2()))).HttpsProxyAgent,this.#proxyAgent}static async#getFetch(){const hasWindow="undefined"!=typeof window&&!!window;return this.#fetch||=hasWindow?window.fetch:(await Promise.resolve().then(()=>(init_src(),src_exports))).default,this.#fetch}static mergeHeaders(base,...append){base=base instanceof Headers?base:new Headers(base);for(const headers of append){(headers instanceof Headers?headers:new Headers(headers)).forEach((value,key)=>{"set-cookie"===key?base.append(key,value):base.set(key,value)})}return base}};exports.Gaxios=Gaxios,_a=Gaxios}}),require_src2=__commonJS({"../../../../node_modules/gaxios/build/cjs/src/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)"default"===p||Object.prototype.hasOwnProperty.call(exports2,p)||__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.instance=exports.Gaxios=exports.GaxiosError=void 0,exports.request=async function(opts){return exports.instance.request(opts)};var gaxios_js_1=require_gaxios();Object.defineProperty(exports,"Gaxios",{enumerable:!0,get:function(){return gaxios_js_1.Gaxios}});var common_js_1=require_common();Object.defineProperty(exports,"GaxiosError",{enumerable:!0,get:function(){return common_js_1.GaxiosError}}),__exportStar(require_interceptor(),exports),exports.instance=new gaxios_js_1.Gaxios}}),require_bignumber=__commonJS({"../../../../node_modules/bignumber.js/bignumber.js"(exports,module){!function(globalObject){var BigNumber,isNumeric=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,mathceil=Math.ceil,mathfloor=Math.floor,bignumberError="[BigNumber Error] ",tooManyDigits=bignumberError+"Number primitive has more than 15 significant digits: ",BASE=1e14,POWS_TEN=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],MAX=1e9;function bitFloor(n){var i2=0|n;return n>0||n===i2?i2:i2-1}function coeffToString(a){for(var s2,z3,i2=1,j=a.length,r2=a[0]+"";i2<j;){for(z3=14-(s2=a[i2++]+"").length;z3--;s2="0"+s2);r2+=s2}for(j=r2.length;48===r2.charCodeAt(--j););return r2.slice(0,j+1||1)}function compare(x2,y){var a,b,xc=x2.c,yc=y.c,i2=x2.s,j=y.s,k=x2.e,l=y.e;if(!i2||!j)return null;if(a=xc&&!xc[0],b=yc&&!yc[0],a||b)return a?b?0:-j:i2;if(i2!=j)return i2;if(a=i2<0,b=k==l,!xc||!yc)return b?0:!xc^a?1:-1;if(!b)return k>l^a?1:-1;for(j=(k=xc.length)<(l=yc.length)?k:l,i2=0;i2<j;i2++)if(xc[i2]!=yc[i2])return xc[i2]>yc[i2]^a?1:-1;return k==l?0:k>l^a?1:-1}function intCheck(n,min,max,name){if(n<min||n>max||n!==mathfloor(n))throw Error(bignumberError+(name||"Argument")+("number"==typeof n?n<min||n>max?" out of range: ":" not an integer: ":" not a primitive number: ")+String(n))}function isOdd(n){var k=n.c.length-1;return bitFloor(n.e/14)==k&&n.c[k]%2!=0}function toExponential(str,e2){return(str.length>1?str.charAt(0)+"."+str.slice(1):str)+(e2<0?"e":"e+")+e2}function toFixedPoint(str,e2,z3){var len,zs;if(e2<0){for(zs=z3+".";++e2;zs+=z3);str=zs+str}else if(++e2>(len=str.length)){for(zs=z3,e2-=len;--e2;zs+=z3);str+=zs}else e2<len&&(str=str.slice(0,e2)+"."+str.slice(e2));return str}BigNumber=function clone2(configObject){var div,convertBase,parseNumeric,random53bitInt,P=BigNumber2.prototype={constructor:BigNumber2,toString:null,valueOf:null},ONE=new BigNumber2(1),DECIMAL_PLACES=20,ROUNDING_MODE=4,TO_EXP_NEG=-7,TO_EXP_POS=21,MIN_EXP=-1e7,MAX_EXP=1e7,CRYPTO=!1,MODULO_MODE=1,POW_PRECISION=0,FORMAT={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},ALPHABET="0123456789abcdefghijklmnopqrstuvwxyz",alphabetHasNormalDecimalDigits=!0;function BigNumber2(v,b){var alphabet,c,caseChanged,e2,i2,isNum,len,str,x2=this;if(!(x2 instanceof BigNumber2))return new BigNumber2(v,b);if(null==b){if(v&&!0===v._isBigNumber)return x2.s=v.s,void(!v.c||v.e>MAX_EXP?x2.c=x2.e=null:v.e<MIN_EXP?x2.c=[x2.e=0]:(x2.e=v.e,x2.c=v.c.slice()));if((isNum="number"==typeof v)&&0*v==0){if(x2.s=1/v<0?(v=-v,-1):1,v===~~v){for(e2=0,i2=v;i2>=10;i2/=10,e2++);return void(e2>MAX_EXP?x2.c=x2.e=null:(x2.e=e2,x2.c=[v]))}str=String(v)}else{if(!isNumeric.test(str=String(v)))return parseNumeric(x2,str,isNum);x2.s=45==str.charCodeAt(0)?(str=str.slice(1),-1):1}(e2=str.indexOf("."))>-1&&(str=str.replace(".","")),(i2=str.search(/e/i))>0?(e2<0&&(e2=i2),e2+=+str.slice(i2+1),str=str.substring(0,i2)):e2<0&&(e2=str.length)}else{if(intCheck(b,2,ALPHABET.length,"Base"),10==b&&alphabetHasNormalDecimalDigits)return round(x2=new BigNumber2(v),DECIMAL_PLACES+x2.e+1,ROUNDING_MODE);if(str=String(v),isNum="number"==typeof v){if(0*v!=0)return parseNumeric(x2,str,isNum,b);if(x2.s=1/v<0?(str=str.slice(1),-1):1,BigNumber2.DEBUG&&str.replace(/^0\.0*|\./,"").length>15)throw Error(tooManyDigits+v)}else x2.s=45===str.charCodeAt(0)?(str=str.slice(1),-1):1;for(alphabet=ALPHABET.slice(0,b),e2=i2=0,len=str.length;i2<len;i2++)if(alphabet.indexOf(c=str.charAt(i2))<0){if("."==c){if(i2>e2){e2=len;continue}}else if(!caseChanged&&(str==str.toUpperCase()&&(str=str.toLowerCase())||str==str.toLowerCase()&&(str=str.toUpperCase()))){caseChanged=!0,i2=-1,e2=0;continue}return parseNumeric(x2,String(v),isNum,b)}isNum=!1,(e2=(str=convertBase(str,b,10,x2.s)).indexOf("."))>-1?str=str.replace(".",""):e2=str.length}for(i2=0;48===str.charCodeAt(i2);i2++);for(len=str.length;48===str.charCodeAt(--len););if(str=str.slice(i2,++len)){if(len-=i2,isNum&&BigNumber2.DEBUG&&len>15&&(v>9007199254740991||v!==mathfloor(v)))throw Error(tooManyDigits+x2.s*v);if((e2=e2-i2-1)>MAX_EXP)x2.c=x2.e=null;else if(e2<MIN_EXP)x2.c=[x2.e=0];else{if(x2.e=e2,x2.c=[],i2=(e2+1)%14,e2<0&&(i2+=14),i2<len){for(i2&&x2.c.push(+str.slice(0,i2)),len-=14;i2<len;)x2.c.push(+str.slice(i2,i2+=14));i2=14-(str=str.slice(i2)).length}else i2-=len;for(;i2--;str+="0");x2.c.push(+str)}}else x2.c=[x2.e=0]}function format(n,i2,rm,id){var c0,e2,ne,len,str;if(null==rm?rm=ROUNDING_MODE:intCheck(rm,0,8),!n.c)return n.toString();if(c0=n.c[0],ne=n.e,null==i2)str=coeffToString(n.c),str=1==id||2==id&&(ne<=TO_EXP_NEG||ne>=TO_EXP_POS)?toExponential(str,ne):toFixedPoint(str,ne,"0");else if(e2=(n=round(new BigNumber2(n),i2,rm)).e,len=(str=coeffToString(n.c)).length,1==id||2==id&&(i2<=e2||e2<=TO_EXP_NEG)){for(;len<i2;str+="0",len++);str=toExponential(str,e2)}else if(i2-=ne+(2===id&&e2>ne),str=toFixedPoint(str,e2,"0"),e2+1>len){if(--i2>0)for(str+=".";i2--;str+="0");}else if((i2+=e2-len)>0)for(e2+1==len&&(str+=".");i2--;str+="0");return n.s<0&&c0?"-"+str:str}function maxOrMin(args,n){for(var k,y,i2=1,x2=new BigNumber2(args[0]);i2<args.length;i2++)(!(y=new BigNumber2(args[i2])).s||(k=compare(x2,y))===n||0===k&&x2.s===n)&&(x2=y);return x2}function normalise(n,c,e2){for(var i2=1,j=c.length;!c[--j];c.pop());for(j=c[0];j>=10;j/=10,i2++);return(e2=i2+14*e2-1)>MAX_EXP?n.c=n.e=null:e2<MIN_EXP?n.c=[n.e=0]:(n.e=e2,n.c=c),n}function round(x2,sd,rm,r2){var d,i2,j,k,n,ni,rd,xc=x2.c,pows10=POWS_TEN;if(xc){out:{for(d=1,k=xc[0];k>=10;k/=10,d++);if((i2=sd-d)<0)i2+=14,j=sd,n=xc[ni=0],rd=mathfloor(n/pows10[d-j-1]%10);else if((ni=mathceil((i2+1)/14))>=xc.length){if(!r2)break out;for(;xc.length<=ni;xc.push(0));n=rd=0,d=1,j=(i2%=14)-14+1}else{for(n=k=xc[ni],d=1;k>=10;k/=10,d++);rd=(j=(i2%=14)-14+d)<0?0:mathfloor(n/pows10[d-j-1]%10)}if(r2=r2||sd<0||null!=xc[ni+1]||(j<0?n:n%pows10[d-j-1]),r2=rm<4?(rd||r2)&&(0==rm||rm==(x2.s<0?3:2)):rd>5||5==rd&&(4==rm||r2||6==rm&&(i2>0?j>0?n/pows10[d-j]:0:xc[ni-1])%10&1||rm==(x2.s<0?8:7)),sd<1||!xc[0])return xc.length=0,r2?(sd-=x2.e+1,xc[0]=pows10[(14-sd%14)%14],x2.e=-sd||0):xc[0]=x2.e=0,x2;if(0==i2?(xc.length=ni,k=1,ni--):(xc.length=ni+1,k=pows10[14-i2],xc[ni]=j>0?mathfloor(n/pows10[d-j]%pows10[j])*k:0),r2)for(;;){if(0==ni){for(i2=1,j=xc[0];j>=10;j/=10,i2++);for(j=xc[0]+=k,k=1;j>=10;j/=10,k++);i2!=k&&(x2.e++,xc[0]==BASE&&(xc[0]=1));break}if(xc[ni]+=k,xc[ni]!=BASE)break;xc[ni--]=0,k=1}for(i2=xc.length;0===xc[--i2];xc.pop());}x2.e>MAX_EXP?x2.c=x2.e=null:x2.e<MIN_EXP&&(x2.c=[x2.e=0])}return x2}function valueOf(n){var str,e2=n.e;return null===e2?n.toString():(str=coeffToString(n.c),str=e2<=TO_EXP_NEG||e2>=TO_EXP_POS?toExponential(str,e2):toFixedPoint(str,e2,"0"),n.s<0?"-"+str:str)}return BigNumber2.clone=clone2,BigNumber2.ROUND_UP=0,BigNumber2.ROUND_DOWN=1,BigNumber2.ROUND_CEIL=2,BigNumber2.ROUND_FLOOR=3,BigNumber2.ROUND_HALF_UP=4,BigNumber2.ROUND_HALF_DOWN=5,BigNumber2.ROUND_HALF_EVEN=6,BigNumber2.ROUND_HALF_CEIL=7,BigNumber2.ROUND_HALF_FLOOR=8,BigNumber2.EUCLID=9,BigNumber2.config=BigNumber2.set=function(obj){var p,v;if(null!=obj){if("object"!=typeof obj)throw Error(bignumberError+"Object expected: "+obj);if(obj.hasOwnProperty(p="DECIMAL_PLACES")&&(intCheck(v=obj[p],0,MAX,p),DECIMAL_PLACES=v),obj.hasOwnProperty(p="ROUNDING_MODE")&&(intCheck(v=obj[p],0,8,p),ROUNDING_MODE=v),obj.hasOwnProperty(p="EXPONENTIAL_AT")&&((v=obj[p])&&v.pop?(intCheck(v[0],-MAX,0,p),intCheck(v[1],0,MAX,p),TO_EXP_NEG=v[0],TO_EXP_POS=v[1]):(intCheck(v,-MAX,MAX,p),TO_EXP_NEG=-(TO_EXP_POS=v<0?-v:v))),obj.hasOwnProperty(p="RANGE"))if((v=obj[p])&&v.pop)intCheck(v[0],-MAX,-1,p),intCheck(v[1],1,MAX,p),MIN_EXP=v[0],MAX_EXP=v[1];else{if(intCheck(v,-MAX,MAX,p),!v)throw Error(bignumberError+p+" cannot be zero: "+v);MIN_EXP=-(MAX_EXP=v<0?-v:v)}if(obj.hasOwnProperty(p="CRYPTO")){if((v=obj[p])!==!!v)throw Error(bignumberError+p+" not true or false: "+v);if(v){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw CRYPTO=!v,Error(bignumberError+"crypto unavailable");CRYPTO=v}else CRYPTO=v}if(obj.hasOwnProperty(p="MODULO_MODE")&&(intCheck(v=obj[p],0,9,p),MODULO_MODE=v),obj.hasOwnProperty(p="POW_PRECISION")&&(intCheck(v=obj[p],0,MAX,p),POW_PRECISION=v),obj.hasOwnProperty(p="FORMAT")){if("object"!=typeof(v=obj[p]))throw Error(bignumberError+p+" not an object: "+v);FORMAT=v}if(obj.hasOwnProperty(p="ALPHABET")){if("string"!=typeof(v=obj[p])||/^.?$|[+\-.\s]|(.).*\1/.test(v))throw Error(bignumberError+p+" invalid: "+v);alphabetHasNormalDecimalDigits="0123456789"==v.slice(0,10),ALPHABET=v}}return{DECIMAL_PLACES:DECIMAL_PLACES,ROUNDING_MODE:ROUNDING_MODE,EXPONENTIAL_AT:[TO_EXP_NEG,TO_EXP_POS],RANGE:[MIN_EXP,MAX_EXP],CRYPTO:CRYPTO,MODULO_MODE:MODULO_MODE,POW_PRECISION:POW_PRECISION,FORMAT:FORMAT,ALPHABET:ALPHABET}},BigNumber2.isBigNumber=function(v){if(!v||!0!==v._isBigNumber)return!1;if(!BigNumber2.DEBUG)return!0;var i2,n,c=v.c,e2=v.e,s2=v.s;out:if("[object Array]"=={}.toString.call(c)){if((1===s2||-1===s2)&&e2>=-MAX&&e2<=MAX&&e2===mathfloor(e2)){if(0===c[0]){if(0===e2&&1===c.length)return!0;break out}if((i2=(e2+1)%14)<1&&(i2+=14),String(c[0]).length==i2){for(i2=0;i2<c.length;i2++)if((n=c[i2])<0||n>=BASE||n!==mathfloor(n))break out;if(0!==n)return!0}}}else if(null===c&&null===e2&&(null===s2||1===s2||-1===s2))return!0;throw Error(bignumberError+"Invalid BigNumber: "+v)},BigNumber2.maximum=BigNumber2.max=function(){return maxOrMin(arguments,-1)},BigNumber2.minimum=BigNumber2.min=function(){return maxOrMin(arguments,1)},BigNumber2.random=(random53bitInt=9007199254740992*Math.random()&2097151?function(){return mathfloor(9007199254740992*Math.random())}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(dp){var a,b,e2,k,v,i2=0,c=[],rand=new BigNumber2(ONE);if(null==dp?dp=DECIMAL_PLACES:intCheck(dp,0,MAX),k=mathceil(dp/14),CRYPTO)if(crypto.getRandomValues){for(a=crypto.getRandomValues(new Uint32Array(k*=2));i2<k;)(v=131072*a[i2]+(a[i2+1]>>>11))>=9e15?(b=crypto.getRandomValues(new Uint32Array(2)),a[i2]=b[0],a[i2+1]=b[1]):(c.push(v%1e14),i2+=2);i2=k/2}else{if(!crypto.randomBytes)throw CRYPTO=!1,Error(bignumberError+"crypto unavailable");for(a=crypto.randomBytes(k*=7);i2<k;)(v=281474976710656*(31&a[i2])+1099511627776*a[i2+1]+4294967296*a[i2+2]+16777216*a[i2+3]+(a[i2+4]<<16)+(a[i2+5]<<8)+a[i2+6])>=9e15?crypto.randomBytes(7).copy(a,i2):(c.push(v%1e14),i2+=7);i2=k/7}if(!CRYPTO)for(;i2<k;)(v=random53bitInt())<9e15&&(c[i2++]=v%1e14);for(dp%=14,(k=c[--i2])&&dp&&(v=POWS_TEN[14-dp],c[i2]=mathfloor(k/v)*v);0===c[i2];c.pop(),i2--);if(i2<0)c=[e2=0];else{for(e2=-1;0===c[0];c.splice(0,1),e2-=14);for(i2=1,v=c[0];v>=10;v/=10,i2++);i2<14&&(e2-=14-i2)}return rand.e=e2,rand.c=c,rand}),BigNumber2.sum=function(){for(var i2=1,args=arguments,sum=new BigNumber2(args[0]);i2<args.length;)sum=sum.plus(args[i2++]);return sum},convertBase=function(){function toBaseOut(str,baseIn,baseOut,alphabet){for(var j,arrL,arr=[0],i2=0,len=str.length;i2<len;){for(arrL=arr.length;arrL--;arr[arrL]*=baseIn);for(arr[0]+=alphabet.indexOf(str.charAt(i2++)),j=0;j<arr.length;j++)arr[j]>baseOut-1&&(null==arr[j+1]&&(arr[j+1]=0),arr[j+1]+=arr[j]/baseOut|0,arr[j]%=baseOut)}return arr.reverse()}return function(str,baseIn,baseOut,sign,callerIsToString){var alphabet,d,e2,k,r2,x2,xc,y,i2=str.indexOf("."),dp=DECIMAL_PLACES,rm=ROUNDING_MODE;for(i2>=0&&(k=POW_PRECISION,POW_PRECISION=0,str=str.replace(".",""),x2=(y=new BigNumber2(baseIn)).pow(str.length-i2),POW_PRECISION=k,y.c=toBaseOut(toFixedPoint(coeffToString(x2.c),x2.e,"0"),10,baseOut,"0123456789"),y.e=y.c.length),e2=k=(xc=toBaseOut(str,baseIn,baseOut,callerIsToString?(alphabet=ALPHABET,"0123456789"):(alphabet="0123456789",ALPHABET))).length;0==xc[--k];xc.pop());if(!xc[0])return alphabet.charAt(0);if(i2<0?--e2:(x2.c=xc,x2.e=e2,x2.s=sign,xc=(x2=div(x2,y,dp,rm,baseOut)).c,r2=x2.r,e2=x2.e),i2=xc[d=e2+dp+1],k=baseOut/2,r2=r2||d<0||null!=xc[d+1],r2=rm<4?(null!=i2||r2)&&(0==rm||rm==(x2.s<0?3:2)):i2>k||i2==k&&(4==rm||r2||6==rm&&1&xc[d-1]||rm==(x2.s<0?8:7)),d<1||!xc[0])str=r2?toFixedPoint(alphabet.charAt(1),-dp,alphabet.charAt(0)):alphabet.charAt(0);else{if(xc.length=d,r2)for(--baseOut;++xc[--d]>baseOut;)xc[d]=0,d||(++e2,xc=[1].concat(xc));for(k=xc.length;!xc[--k];);for(i2=0,str="";i2<=k;str+=alphabet.charAt(xc[i2++]));str=toFixedPoint(str,e2,alphabet.charAt(0))}return str}}(),div=function(){function multiply(x2,k,base){var m2,temp,xlo,xhi,carry=0,i2=x2.length,klo=k%1e7,khi=k/1e7|0;for(x2=x2.slice();i2--;)carry=((temp=klo*(xlo=x2[i2]%1e7)+(m2=khi*xlo+(xhi=x2[i2]/1e7|0)*klo)%1e7*1e7+carry)/base|0)+(m2/1e7|0)+khi*xhi,x2[i2]=temp%base;return carry&&(x2=[carry].concat(x2)),x2}function compare2(a,b,aL,bL){var i2,cmp;if(aL!=bL)cmp=aL>bL?1:-1;else for(i2=cmp=0;i2<aL;i2++)if(a[i2]!=b[i2]){cmp=a[i2]>b[i2]?1:-1;break}return cmp}function subtract(a,b,aL,base){for(var i2=0;aL--;)a[aL]-=i2,i2=a[aL]<b[aL]?1:0,a[aL]=i2*base+a[aL]-b[aL];for(;!a[0]&&a.length>1;a.splice(0,1));}return function(x2,y,dp,rm,base){var cmp,e2,i2,more,n,prod,prodL,q,qc,rem,remL,rem0,xi,xL,yc0,yL,yz,s2=x2.s==y.s?1:-1,xc=x2.c,yc=y.c;if(!(xc&&xc[0]&&yc&&yc[0]))return new BigNumber2(x2.s&&y.s&&(xc?!yc||xc[0]!=yc[0]:yc)?xc&&0==xc[0]||!yc?0*s2:s2/0:NaN);for(qc=(q=new BigNumber2(s2)).c=[],s2=dp+(e2=x2.e-y.e)+1,base||(base=BASE,e2=bitFloor(x2.e/14)-bitFloor(y.e/14),s2=s2/14|0),i2=0;yc[i2]==(xc[i2]||0);i2++);if(yc[i2]>(xc[i2]||0)&&e2--,s2<0)qc.push(1),more=!0;else{for(xL=xc.length,yL=yc.length,i2=0,s2+=2,(n=mathfloor(base/(yc[0]+1)))>1&&(yc=multiply(yc,n,base),xc=multiply(xc,n,base),yL=yc.length,xL=xc.length),xi=yL,remL=(rem=xc.slice(0,yL)).length;remL<yL;rem[remL++]=0);yz=yc.slice(),yz=[0].concat(yz),yc0=yc[0],yc[1]>=base/2&&yc0++;do{if(n=0,(cmp=compare2(yc,rem,yL,remL))<0){if(rem0=rem[0],yL!=remL&&(rem0=rem0*base+(rem[1]||0)),(n=mathfloor(rem0/yc0))>1)for(n>=base&&(n=base-1),prodL=(prod=multiply(yc,n,base)).length,remL=rem.length;1==compare2(prod,rem,prodL,remL);)n--,subtract(prod,yL<prodL?yz:yc,prodL,base),prodL=prod.length,cmp=1;else 0==n&&(cmp=n=1),prodL=(prod=yc.slice()).length;if(prodL<remL&&(prod=[0].concat(prod)),subtract(rem,prod,remL,base),remL=rem.length,-1==cmp)for(;compare2(yc,rem,yL,remL)<1;)n++,subtract(rem,yL<remL?yz:yc,remL,base),remL=rem.length}else 0===cmp&&(n++,rem=[0]);qc[i2++]=n,rem[0]?rem[remL++]=xc[xi]||0:(rem=[xc[xi]],remL=1)}while((xi++<xL||null!=rem[0])&&s2--);more=null!=rem[0],qc[0]||qc.splice(0,1)}if(base==BASE){for(i2=1,s2=qc[0];s2>=10;s2/=10,i2++);round(q,dp+(q.e=i2+14*e2-1)+1,rm,more)}else q.e=e2,q.r=+more;return q}}(),parseNumeric=function(){var basePrefix=/^(-?)0([xbo])(?=\w[\w.]*$)/i,dotAfter=/^([^.]+)\.$/,dotBefore=/^\.([^.]+)$/,isInfinityOrNaN=/^-?(Infinity|NaN)$/,whitespaceOrPlus=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(x2,str,isNum,b){var base,s2=isNum?str:str.replace(whitespaceOrPlus,"");if(isInfinityOrNaN.test(s2))x2.s=isNaN(s2)?null:s2<0?-1:1;else{if(!isNum&&(s2=s2.replace(basePrefix,function(m2,p1,p2){return base="x"==(p2=p2.toLowerCase())?16:"b"==p2?2:8,b&&b!=base?m2:p1}),b&&(base=b,s2=s2.replace(dotAfter,"$1").replace(dotBefore,"0.$1")),str!=s2))return new BigNumber2(s2,base);if(BigNumber2.DEBUG)throw Error(bignumberError+"Not a"+(b?" base "+b:"")+" number: "+str);x2.s=null}x2.c=x2.e=null}}(),P.absoluteValue=P.abs=function(){var x2=new BigNumber2(this);return x2.s<0&&(x2.s=1),x2},P.comparedTo=function(y,b){return compare(this,new BigNumber2(y,b))},P.decimalPlaces=P.dp=function(dp,rm){var c,n,v;if(null!=dp)return intCheck(dp,0,MAX),null==rm?rm=ROUNDING_MODE:intCheck(rm,0,8),round(new BigNumber2(this),dp+this.e+1,rm);if(!(c=this.c))return null;if(n=14*((v=c.length-1)-bitFloor(this.e/14)),v=c[v])for(;v%10==0;v/=10,n--);return n<0&&(n=0),n},P.dividedBy=P.div=function(y,b){return div(this,new BigNumber2(y,b),DECIMAL_PLACES,ROUNDING_MODE)},P.dividedToIntegerBy=P.idiv=function(y,b){return div(this,new BigNumber2(y,b),0,1)},P.exponentiatedBy=P.pow=function(n,m2){var half,isModExp,i2,k,nIsBig,nIsNeg,nIsOdd,y,x2=this;if((n=new BigNumber2(n)).c&&!n.isInteger())throw Error(bignumberError+"Exponent not an integer: "+valueOf(n));if(null!=m2&&(m2=new BigNumber2(m2)),nIsBig=n.e>14,!x2.c||!x2.c[0]||1==x2.c[0]&&!x2.e&&1==x2.c.length||!n.c||!n.c[0])return y=new BigNumber2(Math.pow(+valueOf(x2),nIsBig?n.s*(2-isOdd(n)):+valueOf(n))),m2?y.mod(m2):y;if(nIsNeg=n.s<0,m2){if(m2.c?!m2.c[0]:!m2.s)return new BigNumber2(NaN);(isModExp=!nIsNeg&&x2.isInteger()&&m2.isInteger())&&(x2=x2.mod(m2))}else{if(n.e>9&&(x2.e>0||x2.e<-1||(0==x2.e?x2.c[0]>1||nIsBig&&x2.c[1]>=24e7:x2.c[0]<8e13||nIsBig&&x2.c[0]<=9999975e7)))return k=x2.s<0&&isOdd(n)?-0:0,x2.e>-1&&(k=1/k),new BigNumber2(nIsNeg?1/k:k);POW_PRECISION&&(k=mathceil(POW_PRECISION/14+2))}for(nIsBig?(half=new BigNumber2(.5),nIsNeg&&(n.s=1),nIsOdd=isOdd(n)):nIsOdd=(i2=Math.abs(+valueOf(n)))%2,y=new BigNumber2(ONE);;){if(nIsOdd){if(!(y=y.times(x2)).c)break;k?y.c.length>k&&(y.c.length=k):isModExp&&(y=y.mod(m2))}if(i2){if(0===(i2=mathfloor(i2/2)))break;nIsOdd=i2%2}else if(round(n=n.times(half),n.e+1,1),n.e>14)nIsOdd=isOdd(n);else{if(0===(i2=+valueOf(n)))break;nIsOdd=i2%2}x2=x2.times(x2),k?x2.c&&x2.c.length>k&&(x2.c.length=k):isModExp&&(x2=x2.mod(m2))}return isModExp?y:(nIsNeg&&(y=ONE.div(y)),m2?y.mod(m2):k?round(y,POW_PRECISION,ROUNDING_MODE,void 0):y)},P.integerValue=function(rm){var n=new BigNumber2(this);return null==rm?rm=ROUNDING_MODE:intCheck(rm,0,8),round(n,n.e+1,rm)},P.isEqualTo=P.eq=function(y,b){return 0===compare(this,new BigNumber2(y,b))},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(y,b){return compare(this,new BigNumber2(y,b))>0},P.isGreaterThanOrEqualTo=P.gte=function(y,b){return 1===(b=compare(this,new BigNumber2(y,b)))||0===b},P.isInteger=function(){return!!this.c&&bitFloor(this.e/14)>this.c.length-2},P.isLessThan=P.lt=function(y,b){return compare(this,new BigNumber2(y,b))<0},P.isLessThanOrEqualTo=P.lte=function(y,b){return-1===(b=compare(this,new BigNumber2(y,b)))||0===b},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&0==this.c[0]},P.minus=function(y,b){var i2,j,t2,xLTy,x2=this,a=x2.s;if(b=(y=new BigNumber2(y,b)).s,!a||!b)return new BigNumber2(NaN);if(a!=b)return y.s=-b,x2.plus(y);var xe=x2.e/14,ye=y.e/14,xc=x2.c,yc=y.c;if(!xe||!ye){if(!xc||!yc)return xc?(y.s=-b,y):new BigNumber2(yc?x2:NaN);if(!xc[0]||!yc[0])return yc[0]?(y.s=-b,y):new BigNumber2(xc[0]?x2:3==ROUNDING_MODE?-0:0)}if(xe=bitFloor(xe),ye=bitFloor(ye),xc=xc.slice(),a=xe-ye){for((xLTy=a<0)?(a=-a,t2=xc):(ye=xe,t2=yc),t2.reverse(),b=a;b--;t2.push(0));t2.reverse()}else for(j=(xLTy=(a=xc.length)<(b=yc.length))?a:b,a=b=0;b<j;b++)if(xc[b]!=yc[b]){xLTy=xc[b]<yc[b];break}if(xLTy&&(t2=xc,xc=yc,yc=t2,y.s=-y.s),(b=(j=yc.length)-(i2=xc.length))>0)for(;b--;xc[i2++]=0);for(b=BASE-1;j>a;){if(xc[--j]<yc[j]){for(i2=j;i2&&!xc[--i2];xc[i2]=b);--xc[i2],xc[j]+=BASE}xc[j]-=yc[j]}for(;0==xc[0];xc.splice(0,1),--ye);return xc[0]?normalise(y,xc,ye):(y.s=3==ROUNDING_MODE?-1:1,y.c=[y.e=0],y)},P.modulo=P.mod=function(y,b){var q,s2,x2=this;return y=new BigNumber2(y,b),!x2.c||!y.s||y.c&&!y.c[0]?new BigNumber2(NaN):!y.c||x2.c&&!x2.c[0]?new BigNumber2(x2):(9==MODULO_MODE?(s2=y.s,y.s=1,q=div(x2,y,0,3),y.s=s2,q.s*=s2):q=div(x2,y,0,MODULO_MODE),(y=x2.minus(q.times(y))).c[0]||1!=MODULO_MODE||(y.s=x2.s),y)},P.multipliedBy=P.times=function(y,b){var c,e2,i2,j,k,m2,xcL,xlo,xhi,ycL,ylo,yhi,zc,base,x2=this,xc=x2.c,yc=(y=new BigNumber2(y,b)).c;if(!(xc&&yc&&xc[0]&&yc[0]))return!x2.s||!y.s||xc&&!xc[0]&&!yc||yc&&!yc[0]&&!xc?y.c=y.e=y.s=null:(y.s*=x2.s,xc&&yc?(y.c=[0],y.e=0):y.c=y.e=null),y;for(e2=bitFloor(x2.e/14)+bitFloor(y.e/14),y.s*=x2.s,(xcL=xc.length)<(ycL=yc.length)&&(zc=xc,xc=yc,yc=zc,i2=xcL,xcL=ycL,ycL=i2),i2=xcL+ycL,zc=[];i2--;zc.push(0));for(base=BASE,i2=ycL;--i2>=0;){for(c=0,ylo=yc[i2]%1e7,yhi=yc[i2]/1e7|0,j=i2+(k=xcL);j>i2;)c=((xlo=ylo*(xlo=xc[--k]%1e7)+(m2=yhi*xlo+(xhi=xc[k]/1e7|0)*ylo)%1e7*1e7+zc[j]+c)/base|0)+(m2/1e7|0)+yhi*xhi,zc[j--]=xlo%base;zc[j]=c}return c?++e2:zc.splice(0,1),normalise(y,zc,e2)},P.negated=function(){var x2=new BigNumber2(this);return x2.s=-x2.s||null,x2},P.plus=function(y,b){var t2,x2=this,a=x2.s;if(b=(y=new BigNumber2(y,b)).s,!a||!b)return new BigNumber2(NaN);if(a!=b)return y.s=-b,x2.minus(y);var xe=x2.e/14,ye=y.e/14,xc=x2.c,yc=y.c;if(!xe||!ye){if(!xc||!yc)return new BigNumber2(a/0);if(!xc[0]||!yc[0])return yc[0]?y:new BigNumber2(xc[0]?x2:0*a)}if(xe=bitFloor(xe),ye=bitFloor(ye),xc=xc.slice(),a=xe-ye){for(a>0?(ye=xe,t2=yc):(a=-a,t2=xc),t2.reverse();a--;t2.push(0));t2.reverse()}for((a=xc.length)-(b=yc.length)<0&&(t2=yc,yc=xc,xc=t2,b=a),a=0;b;)a=(xc[--b]=xc[b]+yc[b]+a)/BASE|0,xc[b]=BASE===xc[b]?0:xc[b]%BASE;return a&&(xc=[a].concat(xc),++ye),normalise(y,xc,ye)},P.precision=P.sd=function(sd,rm){var c,n,v;if(null!=sd&&sd!==!!sd)return intCheck(sd,1,MAX),null==rm?rm=ROUNDING_MODE:intCheck(rm,0,8),round(new BigNumber2(this),sd,rm);if(!(c=this.c))return null;if(n=14*(v=c.length-1)+1,v=c[v]){for(;v%10==0;v/=10,n--);for(v=c[0];v>=10;v/=10,n++);}return sd&&this.e+1>n&&(n=this.e+1),n},P.shiftedBy=function(k){return intCheck(k,-9007199254740991,9007199254740991),this.times("1e"+k)},P.squareRoot=P.sqrt=function(){var m2,n,r2,rep,t2,x2=this,c=x2.c,s2=x2.s,e2=x2.e,dp=DECIMAL_PLACES+4,half=new BigNumber2("0.5");if(1!==s2||!c||!c[0])return new BigNumber2(!s2||s2<0&&(!c||c[0])?NaN:c?x2:1/0);if(0==(s2=Math.sqrt(+valueOf(x2)))||s2==1/0?(((n=coeffToString(c)).length+e2)%2==0&&(n+="0"),s2=Math.sqrt(+n),e2=bitFloor((e2+1)/2)-(e2<0||e2%2),r2=new BigNumber2(n=s2==1/0?"5e"+e2:(n=s2.toExponential()).slice(0,n.indexOf("e")+1)+e2)):r2=new BigNumber2(s2+""),r2.c[0])for((s2=(e2=r2.e)+dp)<3&&(s2=0);;)if(t2=r2,r2=half.times(t2.plus(div(x2,t2,dp,1))),coeffToString(t2.c).slice(0,s2)===(n=coeffToString(r2.c)).slice(0,s2)){if(r2.e<e2&&--s2,"9999"!=(n=n.slice(s2-3,s2+1))&&(rep||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(round(r2,r2.e+DECIMAL_PLACES+2,1),m2=!r2.times(r2).eq(x2));break}if(!rep&&(round(t2,t2.e+DECIMAL_PLACES+2,0),t2.times(t2).eq(x2))){r2=t2;break}dp+=4,s2+=4,rep=1}return round(r2,r2.e+DECIMAL_PLACES+1,ROUNDING_MODE,m2)},P.toExponential=function(dp,rm){return null!=dp&&(intCheck(dp,0,MAX),dp++),format(this,dp,rm,1)},P.toFixed=function(dp,rm){return null!=dp&&(intCheck(dp,0,MAX),dp=dp+this.e+1),format(this,dp,rm)},P.toFormat=function(dp,rm,format2){var str;if(null==format2)null!=dp&&rm&&"object"==typeof rm?(format2=rm,rm=null):dp&&"object"==typeof dp?(format2=dp,dp=rm=null):format2=FORMAT;else if("object"!=typeof format2)throw Error(bignumberError+"Argument not an object: "+format2);if(str=this.toFixed(dp,rm),this.c){var i2,arr=str.split("."),g1=+format2.groupSize,g2=+format2.secondaryGroupSize,groupSeparator=format2.groupSeparator||"",intPart=arr[0],fractionPart=arr[1],isNeg=this.s<0,intDigits=isNeg?intPart.slice(1):intPart,len=intDigits.length;if(g2&&(i2=g1,g1=g2,g2=i2,len-=i2),g1>0&&len>0){for(i2=len%g1||g1,intPart=intDigits.substr(0,i2);i2<len;i2+=g1)intPart+=groupSeparator+intDigits.substr(i2,g1);g2>0&&(intPart+=groupSeparator+intDigits.slice(i2)),isNeg&&(intPart="-"+intPart)}str=fractionPart?intPart+(format2.decimalSeparator||"")+((g2=+format2.fractionGroupSize)?fractionPart.replace(new RegExp("\\d{"+g2+"}\\B","g"),"$&"+(format2.fractionGroupSeparator||"")):fractionPart):intPart}return(format2.prefix||"")+str+(format2.suffix||"")},P.toFraction=function(md){var d,d0,d1,d2,e2,exp,n,n0,n1,q,r2,s2,x2=this,xc=x2.c;if(null!=md&&(!(n=new BigNumber2(md)).isInteger()&&(n.c||1!==n.s)||n.lt(ONE)))throw Error(bignumberError+"Argument "+(n.isInteger()?"out of range: ":"not an integer: ")+valueOf(n));if(!xc)return new BigNumber2(x2);for(d=new BigNumber2(ONE),n1=d0=new BigNumber2(ONE),d1=n0=new BigNumber2(ONE),s2=coeffToString(xc),e2=d.e=s2.length-x2.e-1,d.c[0]=POWS_TEN[(exp=e2%14)<0?14+exp:exp],md=!md||n.comparedTo(d)>0?e2>0?d:n1:n,exp=MAX_EXP,MAX_EXP=1/0,n=new BigNumber2(s2),n0.c[0]=0;q=div(n,d,0,1),1!=(d2=d0.plus(q.times(d1))).comparedTo(md);)d0=d1,d1=d2,n1=n0.plus(q.times(d2=n1)),n0=d2,d=n.minus(q.times(d2=d)),n=d2;return d2=div(md.minus(d0),d1,0,1),n0=n0.plus(d2.times(n1)),d0=d0.plus(d2.times(d1)),n0.s=n1.s=x2.s,r2=div(n1,d1,e2*=2,ROUNDING_MODE).minus(x2).abs().comparedTo(div(n0,d0,e2,ROUNDING_MODE).minus(x2).abs())<1?[n1,d1]:[n0,d0],MAX_EXP=exp,r2},P.toNumber=function(){return+valueOf(this)},P.toPrecision=function(sd,rm){return null!=sd&&intCheck(sd,1,MAX),format(this,sd,rm,2)},P.toString=function(b){var str,n=this,s2=n.s,e2=n.e;return null===e2?s2?(str="Infinity",s2<0&&(str="-"+str)):str="NaN":(null==b?str=e2<=TO_EXP_NEG||e2>=TO_EXP_POS?toExponential(coeffToString(n.c),e2):toFixedPoint(coeffToString(n.c),e2,"0"):10===b&&alphabetHasNormalDecimalDigits?str=toFixedPoint(coeffToString((n=round(new BigNumber2(n),DECIMAL_PLACES+e2+1,ROUNDING_MODE)).c),n.e,"0"):(intCheck(b,2,ALPHABET.length,"Base"),str=convertBase(toFixedPoint(coeffToString(n.c),e2,"0"),10,b,s2,!0)),s2<0&&n.c[0]&&(str="-"+str)),str},P.valueOf=P.toJSON=function(){return valueOf(this)},P._isBigNumber=!0,null!=configObject&&BigNumber2.set(configObject),BigNumber2}(),BigNumber.default=BigNumber.BigNumber=BigNumber,"function"==typeof define&&define.amd?define(function(){return BigNumber}):void 0!==module&&module.exports?module.exports=BigNumber:(globalObject||(globalObject="undefined"!=typeof self&&self?self:window),globalObject.BigNumber=BigNumber)}(exports)}}),require_stringify=__commonJS({"../../../../node_modules/json-bigint/lib/stringify.js"(exports,module){var BigNumber=require_bignumber(),JSON2=module.exports;!function(){var gap,indent,rep,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function quote(string){return escapable.lastIndex=0,escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return"string"==typeof c?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i2,k,v,length,partial,mind=gap,value=holder[key],isBigNumber=null!=value&&(value instanceof BigNumber||BigNumber.isBigNumber(value));switch(value&&"object"==typeof value&&"function"==typeof value.toJSON&&(value=value.toJSON(key)),"function"==typeof rep&&(value=rep.call(holder,key,value)),typeof value){case"string":return isBigNumber?value:quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":case"bigint":return String(value);case"object":if(!value)return"null";if(gap+=indent,partial=[],"[object Array]"===Object.prototype.toString.apply(value)){for(length=value.length,i2=0;i2<length;i2+=1)partial[i2]=str(i2,value)||"null";return v=0===partial.length?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]",gap=mind,v}if(rep&&"object"==typeof rep)for(length=rep.length,i2=0;i2<length;i2+=1)"string"==typeof rep[i2]&&(v=str(k=rep[i2],value))&&partial.push(quote(k)+(gap?": ":":")+v);else Object.keys(value).forEach(function(k2){var v2=str(k2,value);v2&&partial.push(quote(k2)+(gap?": ":":")+v2)});return v=0===partial.length?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}",gap=mind,v}}"function"!=typeof JSON2.stringify&&(JSON2.stringify=function(value,replacer,space){var i2;if(gap="",indent="","number"==typeof space)for(i2=0;i2<space;i2+=1)indent+=" ";else"string"==typeof space&&(indent=space);if(rep=replacer,replacer&&"function"!=typeof replacer&&("object"!=typeof replacer||"number"!=typeof replacer.length))throw new Error("JSON.stringify");return str("",{"":value})})}()}}),require_parse=__commonJS({"../../../../node_modules/json-bigint/lib/parse.js"(exports,module){var BigNumber=null,suspectProtoRx=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,suspectConstructorRx=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;module.exports=function(options){var _options={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(null!=options){if(!0===options.strict&&(_options.strict=!0),!0===options.storeAsString&&(_options.storeAsString=!0),_options.alwaysParseAsBig=!0===options.alwaysParseAsBig&&options.alwaysParseAsBig,_options.useNativeBigInt=!0===options.useNativeBigInt&&options.useNativeBigInt,void 0!==options.constructorAction){if("error"!==options.constructorAction&&"ignore"!==options.constructorAction&&"preserve"!==options.constructorAction)throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${options.constructorAction}`);_options.constructorAction=options.constructorAction}if(void 0!==options.protoAction){if("error"!==options.protoAction&&"ignore"!==options.protoAction&&"preserve"!==options.protoAction)throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${options.protoAction}`);_options.protoAction=options.protoAction}}var at,ch,text,value,escapee={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},error=function(m2){throw{name:"SyntaxError",message:m2,at:at,text:text}},next=function(c){return c&&c!==ch&&error("Expected '"+c+"' instead of '"+ch+"'"),ch=text.charAt(at),at+=1,ch},number=function(){var number2,string2="";for("-"===ch&&(string2="-",next("-"));ch>="0"&&ch<="9";)string2+=ch,next();if("."===ch)for(string2+=".";next()&&ch>="0"&&ch<="9";)string2+=ch;if("e"===ch||"E"===ch)for(string2+=ch,next(),"-"!==ch&&"+"!==ch||(string2+=ch,next());ch>="0"&&ch<="9";)string2+=ch,next();if(number2=+string2,isFinite(number2))return null==BigNumber&&(BigNumber=require_bignumber()),string2.length>15?_options.storeAsString?string2:_options.useNativeBigInt?BigInt(string2):new BigNumber(string2):_options.alwaysParseAsBig?_options.useNativeBigInt?BigInt(number2):new BigNumber(number2):number2;error("Bad number")},string=function(){var hex,i2,uffff,string2="";if('"'===ch)for(var startAt=at;next();){if('"'===ch)return at-1>startAt&&(string2+=text.substring(startAt,at-1)),next(),string2;if("\\"===ch){if(at-1>startAt&&(string2+=text.substring(startAt,at-1)),next(),"u"===ch){for(uffff=0,i2=0;i2<4&&(hex=parseInt(next(),16),isFinite(hex));i2+=1)uffff=16*uffff+hex;string2+=String.fromCharCode(uffff)}else{if("string"!=typeof escapee[ch])break;string2+=escapee[ch]}startAt=at}}error("Bad string")},white=function(){for(;ch&&ch<=" ";)next()};return value=function(){switch(white(),ch){case"{":return function(){var key,object2=Object.create(null);if("{"===ch){if(next("{"),white(),"}"===ch)return next("}"),object2;for(;ch;){if(key=string(),white(),next(":"),!0===_options.strict&&Object.hasOwnProperty.call(object2,key)&&error('Duplicate key "'+key+'"'),!0===suspectProtoRx.test(key)?"error"===_options.protoAction?error("Object contains forbidden prototype property"):"ignore"===_options.protoAction?value():object2[key]=value():!0===suspectConstructorRx.test(key)?"error"===_options.constructorAction?error("Object contains forbidden constructor property"):"ignore"===_options.constructorAction?value():object2[key]=value():object2[key]=value(),white(),"}"===ch)return next("}"),object2;next(","),white()}}error("Bad object")}();case"[":return function(){var array2=[];if("["===ch){if(next("["),white(),"]"===ch)return next("]"),array2;for(;ch;){if(array2.push(value()),white(),"]"===ch)return next("]"),array2;next(","),white()}}error("Bad array")}();case'"':return string();case"-":return number();default:return ch>="0"&&ch<="9"?number():function(){switch(ch){case"t":return next("t"),next("r"),next("u"),next("e"),!0;case"f":return next("f"),next("a"),next("l"),next("s"),next("e"),!1;case"n":return next("n"),next("u"),next("l"),next("l"),null}error("Unexpected '"+ch+"'")}()}},function(source,reviver){var result;return text=source+"",at=0,ch=" ",result=value(),white(),ch&&error("Syntax error"),"function"==typeof reviver?function walk(holder,key){var v,value2=holder[key];return value2&&"object"==typeof value2&&Object.keys(value2).forEach(function(k2){void 0!==(v=walk(value2,k2))?value2[k2]=v:delete value2[k2]}),reviver.call(holder,key,value2)}({"":result},""):result}}}}),require_json_bigint=__commonJS({"../../../../node_modules/json-bigint/index.js"(exports,module){var json_stringify=require_stringify().stringify,json_parse=require_parse();module.exports=function(options){return{parse:json_parse(options),stringify:json_stringify}},module.exports.parse=json_parse(),module.exports.stringify=json_stringify}}),require_gcp_residency=__commonJS({"../../../../node_modules/gcp-metadata/build/src/gcp-residency.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.GCE_LINUX_BIOS_PATHS=void 0,exports.isGoogleCloudServerless=isGoogleCloudServerless,exports.isGoogleComputeEngineLinux=isGoogleComputeEngineLinux,exports.isGoogleComputeEngineMACAddress=isGoogleComputeEngineMACAddress,exports.isGoogleComputeEngine=isGoogleComputeEngine,exports.detectGCPResidency=function(){return isGoogleCloudServerless()||isGoogleComputeEngine()};var fs_1=__require("fs"),os_1=__require("os");exports.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var GCE_MAC_ADDRESS_REGEX=/^42:01/;function isGoogleCloudServerless(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function isGoogleComputeEngineLinux(){if("linux"!==(0,os_1.platform)())return!1;try{(0,fs_1.statSync)(exports.GCE_LINUX_BIOS_PATHS.BIOS_DATE);const biosVendor=(0,fs_1.readFileSync)(exports.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(biosVendor)}catch{return!1}}function isGoogleComputeEngineMACAddress(){const interfaces=(0,os_1.networkInterfaces)();for(const item of Object.values(interfaces))if(item)for(const{mac:mac}of item)if(GCE_MAC_ADDRESS_REGEX.test(mac))return!0;return!1}function isGoogleComputeEngine(){return isGoogleComputeEngineLinux()||isGoogleComputeEngineMACAddress()}}}),require_colours=__commonJS({"../../../../node_modules/google-logging-utils/build/src/colours.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.Colours=void 0;var Colours=class _Colours{static isEnabled(stream){return stream&&stream.isTTY&&("function"!=typeof stream.getColorDepth||stream.getColorDepth()>2)}static refresh(){_Colours.enabled=_Colours.isEnabled(null===process||void 0===process?void 0:process.stderr),this.enabled?(_Colours.reset="[0m",_Colours.bright="[1m",_Colours.dim="[2m",_Colours.red="[31m",_Colours.green="[32m",_Colours.yellow="[33m",_Colours.blue="[34m",_Colours.magenta="[35m",_Colours.cyan="[36m",_Colours.white="[37m",_Colours.grey="[90m"):(_Colours.reset="",_Colours.bright="",_Colours.dim="",_Colours.red="",_Colours.green="",_Colours.yellow="",_Colours.blue="",_Colours.magenta="",_Colours.cyan="",_Colours.white="",_Colours.grey="")}};exports.Colours=Colours,Colours.enabled=!1,Colours.reset="",Colours.bright="",Colours.dim="",Colours.red="",Colours.green="",Colours.yellow="",Colours.blue="",Colours.magenta="",Colours.cyan="",Colours.white="",Colours.grey="",Colours.refresh()}}),require_logging_utils=__commonJS({"../../../../node_modules/google-logging-utils/build/src/logging-utils.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(){var ownKeys=function(o){return(ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar})(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i2=0;i2<k.length;i2++)"default"!==k[i2]&&__createBinding(result,mod,k[i2]);return __setModuleDefault(result,mod),result}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.env=exports.DebugLogBackendBase=exports.placeholder=exports.AdhocDebugLogger=exports.LogSeverity=void 0,exports.getNodeBackend=getNodeBackend,exports.getDebugBackend=function(debugPkg){return new DebugBackend(debugPkg)},exports.getStructuredBackend=function(upstream){return new StructuredBackend(upstream)},exports.setBackend=function(backend){cachedBackend=backend,loggerCache.clear()},exports.log=log;var LogSeverity,LogSeverity2,events_1=__require("events"),process2=__importStar(__require("process")),util=__importStar(__require("util")),colours_1=require_colours();(LogSeverity2=LogSeverity||(exports.LogSeverity=LogSeverity={})).DEFAULT="DEFAULT",LogSeverity2.DEBUG="DEBUG",LogSeverity2.INFO="INFO",LogSeverity2.WARNING="WARNING",LogSeverity2.ERROR="ERROR";var AdhocDebugLogger=class extends events_1.EventEmitter{constructor(namespace,upstream){super(),this.namespace=namespace,this.upstream=upstream,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(event,listener)=>this.on(event,listener)}),this.func.debug=(...args)=>this.invokeSeverity(LogSeverity.DEBUG,...args),this.func.info=(...args)=>this.invokeSeverity(LogSeverity.INFO,...args),this.func.warn=(...args)=>this.invokeSeverity(LogSeverity.WARNING,...args),this.func.error=(...args)=>this.invokeSeverity(LogSeverity.ERROR,...args),this.func.sublog=namespace2=>log(namespace2,this.func)}invoke(fields,...args){if(this.upstream)try{this.upstream(fields,...args)}catch(e2){}try{this.emit("log",fields,args)}catch(e2){}}invokeSeverity(severity,...args){this.invoke({severity:severity},...args)}};exports.AdhocDebugLogger=AdhocDebugLogger,exports.placeholder=new AdhocDebugLogger("",()=>{}).func;var DebugLogBackendBase=class{constructor(){var _a;this.cached=new Map,this.filters=[],this.filtersSet=!1;let nodeFlag=null!==(_a=process2.env[exports.env.nodeEnables])&&void 0!==_a?_a:"*";"all"===nodeFlag&&(nodeFlag="*"),this.filters=nodeFlag.split(",")}log(namespace,fields,...args){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let logger=this.cached.get(namespace);logger||(logger=this.makeLogger(namespace),this.cached.set(namespace,logger)),logger(fields,...args)}catch(e2){console.error(e2)}}};exports.DebugLogBackendBase=DebugLogBackendBase;var NodeBackend=class extends DebugLogBackendBase{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(namespace){return this.enabledRegexp.test(namespace)}makeLogger(namespace){return this.enabledRegexp.test(namespace)?(fields,...args)=>{var _a;const nscolour=`${colours_1.Colours.green}${namespace}${colours_1.Colours.reset}`,pid=`${colours_1.Colours.yellow}${process2.pid}${colours_1.Colours.reset}`;let level;switch(fields.severity){case LogSeverity.ERROR:level=`${colours_1.Colours.red}${fields.severity}${colours_1.Colours.reset}`;break;case LogSeverity.INFO:level=`${colours_1.Colours.magenta}${fields.severity}${colours_1.Colours.reset}`;break;case LogSeverity.WARNING:level=`${colours_1.Colours.yellow}${fields.severity}${colours_1.Colours.reset}`;break;default:level=null!==(_a=fields.severity)&&void 0!==_a?_a:LogSeverity.DEFAULT}const msg=util.formatWithOptions({colors:colours_1.Colours.enabled},...args),filteredFields=Object.assign({},fields);delete filteredFields.severity;const fieldsJson=Object.getOwnPropertyNames(filteredFields).length?JSON.stringify(filteredFields):"",fieldsColour=fieldsJson?`${colours_1.Colours.grey}${fieldsJson}${colours_1.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",pid,nscolour,level,msg,fieldsJson?` ${fieldsColour}`:"")}:()=>{}}setFilters(){const regexp=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${regexp}$`,"i")}};function getNodeBackend(){return new NodeBackend}var DebugBackend=class extends DebugLogBackendBase{constructor(pkg){super(),this.debugPkg=pkg}makeLogger(namespace){const debugLogger=this.debugPkg(namespace);return(fields,...args)=>{debugLogger(args[0],...args.slice(1))}}setFilters(){var _a;const existingFilters=null!==(_a=process2.env.NODE_DEBUG)&&void 0!==_a?_a:"";process2.env.NODE_DEBUG=`${existingFilters}${existingFilters?",":""}${this.filters.join(",")}`}};var StructuredBackend=class extends DebugLogBackendBase{constructor(upstream){var _a;super(),this.upstream=null!==(_a=upstream)&&void 0!==_a?_a:void 0}makeLogger(namespace){var _a;const debugLogger=null===(_a=this.upstream)||void 0===_a?void 0:_a.makeLogger(namespace);return(fields,...args)=>{var _a2;const severity=null!==(_a2=fields.severity)&&void 0!==_a2?_a2:LogSeverity.INFO,json=Object.assign({severity:severity,message:util.format(...args)},fields),jsonString=JSON.stringify(json);debugLogger?debugLogger(fields,jsonString):console.log("%s",jsonString)}}setFilters(){var _a;null===(_a=this.upstream)||void 0===_a||_a.setFilters()}};exports.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var loggerCache=new Map,cachedBackend=void 0;function log(namespace,parent){if(!cachedBackend){if(!process2.env[exports.env.nodeEnables])return exports.placeholder}if(!namespace)return exports.placeholder;parent&&(namespace=`${parent.instance.namespace}:${namespace}`);const existing=loggerCache.get(namespace);if(existing)return existing.func;if(null===cachedBackend)return exports.placeholder;void 0===cachedBackend&&(cachedBackend=getNodeBackend());const logger=(()=>{let previousBackend;return new AdhocDebugLogger(namespace,(fields,...args)=>{if(previousBackend!==cachedBackend){if(null===cachedBackend)return;void 0===cachedBackend&&(cachedBackend=getNodeBackend()),previousBackend=cachedBackend}null==cachedBackend||cachedBackend.log(namespace,fields,...args)})})();return loggerCache.set(namespace,logger),logger.func}}}),require_src3=__commonJS({"../../../../node_modules/google-logging-utils/build/src/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)"default"===p||Object.prototype.hasOwnProperty.call(exports2,p)||__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require_logging_utils(),exports)}}),require_src4=__commonJS({"../../../../node_modules/gcp-metadata/build/src/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(){var ownKeys=function(o){return(ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar})(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i2=0;i2<k.length;i2++)"default"!==k[i2]&&__createBinding(result,mod,k[i2]);return __setModuleDefault(result,mod),result}}(),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)"default"===p||Object.prototype.hasOwnProperty.call(exports2,p)||__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.gcpResidencyCache=exports.METADATA_SERVER_DETECTION=exports.HEADERS=exports.HEADER_VALUE=exports.HEADER_NAME=exports.SECONDARY_HOST_ADDRESS=exports.HOST_ADDRESS=exports.BASE_PATH=void 0,exports.instance=function(options){return metadataAccessor("instance",options)},exports.project=function(options){return metadataAccessor("project",options)},exports.universe=function(options){return metadataAccessor("universe",options)},exports.bulk=async function(properties){const r2={};return await Promise.all(properties.map(item=>(async()=>{const res=await metadataAccessor(item),key=item.metadataKey;r2[key]=res})())),r2},exports.isAvailable=async function(){if(process.env.METADATA_SERVER_DETECTION){const value=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(value in exports.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${value}\`, but it should be \`${Object.keys(exports.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(value){case"assume-present":return!0;case"none":return!1;case"bios-only":return getGCPResidency()}}try{return void 0===cachedIsAvailableResponse&&(cachedIsAvailableResponse=metadataAccessor("instance",void 0,process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0,!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await cachedIsAvailableResponse,!0}catch(e2){const err=e2;if(process.env.DEBUG_AUTH&&console.info(err),"request-timeout"===err.type)return!1;if(err.response&&404===err.response.status)return!1;if(!(err.response&&404===err.response.status||err.code&&["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(err.code.toString()))){let code="UNKNOWN";err.code&&(code=err.code.toString()),process.emitWarning(`received unexpected error = ${err.message} code = ${code}`,"MetadataLookupWarning")}return!1}},exports.resetIsAvailableCache=function(){cachedIsAvailableResponse=void 0},exports.getGCPResidency=getGCPResidency,exports.setGCPResidency=setGCPResidency,exports.requestTimeout=requestTimeout;var gaxios_1=require_src2(),jsonBigint=require_json_bigint(),gcp_residency_1=require_gcp_residency(),logger=__importStar(require_src3());exports.BASE_PATH="/computeMetadata/v1",exports.HOST_ADDRESS="http://169.254.169.254",exports.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.",exports.HEADER_NAME="Metadata-Flavor",exports.HEADER_VALUE="Google",exports.HEADERS=Object.freeze({[exports.HEADER_NAME]:exports.HEADER_VALUE});var cachedIsAvailableResponse,log=logger.log("gcp-metadata");function getBaseUrl(baseUrl){return baseUrl||(baseUrl=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||exports.HOST_ADDRESS),/^https?:\/\//.test(baseUrl)||(baseUrl=`http://${baseUrl}`),new URL(exports.BASE_PATH,baseUrl).href}async function metadataAccessor(type,options={},noResponseRetries=3,fastFail=!1){const headers=new Headers(exports.HEADERS);let metadataKey="",params={};if("object"==typeof type){const metadataAccessor2=type;new Headers(metadataAccessor2.headers).forEach((value,key)=>headers.set(key,value)),metadataKey=metadataAccessor2.metadataKey,params=metadataAccessor2.params||params,noResponseRetries=metadataAccessor2.noResponseRetries||noResponseRetries,fastFail=metadataAccessor2.fastFail||fastFail}else metadataKey=type;"string"==typeof options?metadataKey+=`/${options}`:(!function(options){Object.keys(options).forEach(key=>{switch(key){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${key}' is not a valid configuration option.`)}})}(options),options.property&&(metadataKey+=`/${options.property}`),new Headers(options.headers).forEach((value,key)=>headers.set(key,value)),params=options.params||params);const requestMethod=fastFail?fastFailMetadataRequest:gaxios_1.request,req={url:`${getBaseUrl()}/${metadataKey}`,headers:headers,retryConfig:{noResponseRetries:noResponseRetries},params:params,responseType:"text",timeout:requestTimeout()};log.info("instance request %j",req);const res=await requestMethod(req);log.info("instance metadata is %s",res.data);const metadataFlavor=res.headers.get(exports.HEADER_NAME);if(metadataFlavor!==exports.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${exports.HEADER_NAME} header. Expected '${exports.HEADER_VALUE}', got ${metadataFlavor?`'${metadataFlavor}'`:"no header"}`);if("string"==typeof res.data)try{return jsonBigint.parse(res.data)}catch{}return res.data}async function fastFailMetadataRequest(options){const secondaryOptions={...options,url:options.url?.toString().replace(getBaseUrl(),getBaseUrl(exports.SECONDARY_HOST_ADDRESS))},r1=(0,gaxios_1.request)(options),r2=(0,gaxios_1.request)(secondaryOptions);return Promise.any([r1,r2])}function getGCPResidency(){return null===exports.gcpResidencyCache&&setGCPResidency(),exports.gcpResidencyCache}function setGCPResidency(value=null){exports.gcpResidencyCache=null!==value?value:(0,gcp_residency_1.detectGCPResidency)()}function requestTimeout(){return getGCPResidency()?0:3e3}exports.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"}),exports.gcpResidencyCache=null,__exportStar(require_gcp_residency(),exports)}}),require_base64_js=__commonJS({"../../../../node_modules/base64-js/index.js"(exports){exports.byteLength=function(b64){var lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1];return 3*(validLen+placeHoldersLen)/4-placeHoldersLen},exports.toByteArray=function(b64){var tmp,i3,lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1],arr=new Arr(function(b64,validLen,placeHoldersLen){return 3*(validLen+placeHoldersLen)/4-placeHoldersLen}(0,validLen,placeHoldersLen)),curByte=0,len2=placeHoldersLen>0?validLen-4:validLen;for(i3=0;i3<len2;i3+=4)tmp=revLookup[b64.charCodeAt(i3)]<<18|revLookup[b64.charCodeAt(i3+1)]<<12|revLookup[b64.charCodeAt(i3+2)]<<6|revLookup[b64.charCodeAt(i3+3)],arr[curByte++]=tmp>>16&255,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp;2===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i3)]<<2|revLookup[b64.charCodeAt(i3+1)]>>4,arr[curByte++]=255&tmp);1===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i3)]<<10|revLookup[b64.charCodeAt(i3+1)]<<4|revLookup[b64.charCodeAt(i3+2)]>>2,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp);return arr},exports.fromByteArray=function(uint8){for(var tmp,len2=uint8.length,extraBytes=len2%3,parts=[],i3=0,len22=len2-extraBytes;i3<len22;i3+=16383)parts.push(encodeChunk(uint8,i3,i3+16383>len22?len22:i3+16383));1===extraBytes?(tmp=uint8[len2-1],parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")):2===extraBytes&&(tmp=(uint8[len2-2]<<8)+uint8[len2-1],parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"="));return parts.join("")};var i2,lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(i2=0,64;i2<64;++i2)lookup[i2]=code[i2],revLookup[code.charCodeAt(i2)]=i2;function getLens(b64){var len2=b64.length;if(len2%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var validLen=b64.indexOf("=");return-1===validLen&&(validLen=len2),[validLen,validLen===len2?0:4-validLen%4]}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[63&num]}function encodeChunk(uint8,start,end){for(var tmp,output=[],i3=start;i3<end;i3+=3)tmp=(uint8[i3]<<16&16711680)+(uint8[i3+1]<<8&65280)+(255&uint8[i3+2]),output.push(tripletToBase64(tmp));return output.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63}}),require_shared=__commonJS({"../../../../node_modules/google-auth-library/build/src/crypto/shared.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromArrayBufferToHex=function(arrayBuffer){return Array.from(new Uint8Array(arrayBuffer)).map(byte=>byte.toString(16).padStart(2,"0")).join("")}}}),require_crypto=__commonJS({"../../../../node_modules/google-auth-library/build/src/crypto/browser/crypto.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.BrowserCrypto=void 0;var base64js=require_base64_js(),shared_1=require_shared();exports.BrowserCrypto=class _BrowserCrypto{constructor(){if("undefined"==typeof window||void 0===window.crypto||void 0===window.crypto.subtle)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(str){const inputBuffer=(new TextEncoder).encode(str),outputBuffer=await window.crypto.subtle.digest("SHA-256",inputBuffer);return base64js.fromByteArray(new Uint8Array(outputBuffer))}randomBytesBase64(count){const array=new Uint8Array(count);return window.crypto.getRandomValues(array),base64js.fromByteArray(array)}static padBase64(base64){for(;base64.length%4!=0;)base64+="=";return base64}async verify(pubkey,data,signature){const algo={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},dataArray=(new TextEncoder).encode(data),signatureArray=base64js.toByteArray(_BrowserCrypto.padBase64(signature)),cryptoKey=await window.crypto.subtle.importKey("jwk",pubkey,algo,!0,["verify"]);return await window.crypto.subtle.verify(algo,cryptoKey,Buffer.from(signatureArray),dataArray)}async sign(privateKey,data){const algo={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},dataArray=(new TextEncoder).encode(data),cryptoKey=await window.crypto.subtle.importKey("jwk",privateKey,algo,!0,["sign"]),result=await window.crypto.subtle.sign(algo,cryptoKey,dataArray);return base64js.fromByteArray(new Uint8Array(result))}decodeBase64StringUtf8(base64){const uint8array=base64js.toByteArray(_BrowserCrypto.padBase64(base64));return(new TextDecoder).decode(uint8array)}encodeBase64StringUtf8(text){const uint8array=(new TextEncoder).encode(text);return base64js.fromByteArray(uint8array)}async sha256DigestHex(str){const inputBuffer=(new TextEncoder).encode(str),outputBuffer=await window.crypto.subtle.digest("SHA-256",inputBuffer);return(0,shared_1.fromArrayBufferToHex)(outputBuffer)}async signWithHmacSha256(key,msg){const rawKey="string"==typeof key?key:String.fromCharCode(...new Uint16Array(key)),enc=new TextEncoder,cryptoKey=await window.crypto.subtle.importKey("raw",enc.encode(rawKey),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",cryptoKey,enc.encode(msg))}}}}),require_crypto2=__commonJS({"../../../../node_modules/google-auth-library/build/src/crypto/node/crypto.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.NodeCrypto=void 0;var crypto2=__require("crypto");exports.NodeCrypto=class{async sha256DigestBase64(str){return crypto2.createHash("sha256").update(str).digest("base64")}randomBytesBase64(count){return crypto2.randomBytes(count).toString("base64")}async verify(pubkey,data,signature){const verifier=crypto2.createVerify("RSA-SHA256");return verifier.update(data),verifier.end(),verifier.verify(pubkey,signature,"base64")}async sign(privateKey,data){const signer=crypto2.createSign("RSA-SHA256");return signer.update(data),signer.end(),signer.sign(privateKey,"base64")}decodeBase64StringUtf8(base64){return Buffer.from(base64,"base64").toString("utf-8")}encodeBase64StringUtf8(text){return Buffer.from(text,"utf-8").toString("base64")}async sha256DigestHex(str){return crypto2.createHash("sha256").update(str).digest("hex")}async signWithHmacSha256(key,msg){const cryptoKey="string"==typeof key?key:(arrayBuffer=key,Buffer.from(arrayBuffer));var arrayBuffer;return function(buffer){const ab=new ArrayBuffer(buffer.length),view=new Uint8Array(ab);for(let i2=0;i2<buffer.length;++i2)view[i2]=buffer[i2];return ab}(crypto2.createHmac("sha256",cryptoKey).update(msg).digest())}}}}),require_crypto3=__commonJS({"../../../../node_modules/google-auth-library/build/src/crypto/crypto.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)"default"===p||Object.prototype.hasOwnProperty.call(exports2,p)||__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCrypto=function(){if(hasBrowserCrypto())return new crypto_1.BrowserCrypto;return new crypto_2.NodeCrypto},exports.hasBrowserCrypto=hasBrowserCrypto;var crypto_1=require_crypto(),crypto_2=require_crypto2();function hasBrowserCrypto(){return"undefined"!=typeof window&&void 0!==window.crypto&&void 0!==window.crypto.subtle}__exportStar(require_shared(),exports)}}),require_safe_buffer=__commonJS({"../../../../node_modules/safe-buffer/index.js"(exports,module){var buffer=__require("buffer"),Buffer4=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}function SafeBuffer(arg,encodingOrOffset,length){return Buffer4(arg,encodingOrOffset,length)}Buffer4.from&&Buffer4.alloc&&Buffer4.allocUnsafe&&Buffer4.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer4.prototype),copyProps(Buffer4,SafeBuffer),SafeBuffer.from=function(arg,encodingOrOffset,length){if("number"==typeof arg)throw new TypeError("Argument must not be a number");return Buffer4(arg,encodingOrOffset,length)},SafeBuffer.alloc=function(size,fill,encoding){if("number"!=typeof size)throw new TypeError("Argument must be a number");var buf=Buffer4(size);return void 0!==fill?"string"==typeof encoding?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf},SafeBuffer.allocUnsafe=function(size){if("number"!=typeof size)throw new TypeError("Argument must be a number");return Buffer4(size)},SafeBuffer.allocUnsafeSlow=function(size){if("number"!=typeof size)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(size)}}}),require_param_bytes_for_alg=__commonJS({"../../../../node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports,module){function getParamSize(keySize){return(keySize/8|0)+(keySize%8==0?0:1)}var paramBytesForAlg={ES256:getParamSize(256),ES384:getParamSize(384),ES512:getParamSize(521)};module.exports=function(alg){var paramBytes=paramBytesForAlg[alg];if(paramBytes)return paramBytes;throw new Error('Unknown algorithm "'+alg+'"')}}}),require_ecdsa_sig_formatter=__commonJS({"../../../../node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js"(exports,module){var Buffer4=require_safe_buffer().Buffer,getParamBytesForAlg=require_param_bytes_for_alg();function signatureAsBuffer(signature){if(Buffer4.isBuffer(signature))return signature;if("string"==typeof signature)return Buffer4.from(signature,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function countPadding(buf,start,stop){for(var padding=0;start+padding<stop&&0===buf[start+padding];)++padding;return buf[start+padding]>=128&&--padding,padding}module.exports={derToJose:function(signature,alg){signature=signatureAsBuffer(signature);var paramBytes=getParamBytesForAlg(alg),maxEncodedParamLength=paramBytes+1,inputLength=signature.length,offset=0;if(48!==signature[offset++])throw new Error('Could not find expected "seq"');var seqLength=signature[offset++];if(129===seqLength&&(seqLength=signature[offset++]),inputLength-offset<seqLength)throw new Error('"seq" specified length of "'+seqLength+'", only "'+(inputLength-offset)+'" remaining');if(2!==signature[offset++])throw new Error('Could not find expected "int" for "r"');var rLength=signature[offset++];if(inputLength-offset-2<rLength)throw new Error('"r" specified length of "'+rLength+'", only "'+(inputLength-offset-2)+'" available');if(maxEncodedParamLength<rLength)throw new Error('"r" specified length of "'+rLength+'", max of "'+maxEncodedParamLength+'" is acceptable');var rOffset=offset;if(offset+=rLength,2!==signature[offset++])throw new Error('Could not find expected "int" for "s"');var sLength=signature[offset++];if(inputLength-offset!==sLength)throw new Error('"s" specified length of "'+sLength+'", expected "'+(inputLength-offset)+'"');if(maxEncodedParamLength<sLength)throw new Error('"s" specified length of "'+sLength+'", max of "'+maxEncodedParamLength+'" is acceptable');var sOffset=offset;if((offset+=sLength)!==inputLength)throw new Error('Expected to consume entire buffer, but "'+(inputLength-offset)+'" bytes remain');var rPadding=paramBytes-rLength,sPadding=paramBytes-sLength,dst=Buffer4.allocUnsafe(rPadding+rLength+sPadding+sLength);for(offset=0;offset<rPadding;++offset)dst[offset]=0;signature.copy(dst,offset,rOffset+Math.max(-rPadding,0),rOffset+rLength);for(var o=offset=paramBytes;offset<o+sPadding;++offset)dst[offset]=0;return signature.copy(dst,offset,sOffset+Math.max(-sPadding,0),sOffset+sLength),dst=(dst=dst.toString("base64")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},joseToDer:function(signature,alg){signature=signatureAsBuffer(signature);var paramBytes=getParamBytesForAlg(alg),signatureBytes=signature.length;if(signatureBytes!==2*paramBytes)throw new TypeError('"'+alg+'" signatures must be "'+2*paramBytes+'" bytes, saw "'+signatureBytes+'"');var rPadding=countPadding(signature,0,paramBytes),sPadding=countPadding(signature,paramBytes,signature.length),rLength=paramBytes-rPadding,sLength=paramBytes-sPadding,rsBytes=2+rLength+1+1+sLength,shortLength=rsBytes<128,dst=Buffer4.allocUnsafe((shortLength?2:3)+rsBytes),offset=0;return dst[offset++]=48,shortLength?dst[offset++]=rsBytes:(dst[offset++]=129,dst[offset++]=255&rsBytes),dst[offset++]=2,dst[offset++]=rLength,rPadding<0?(dst[offset++]=0,offset+=signature.copy(dst,offset,0,paramBytes)):offset+=signature.copy(dst,offset,rPadding,paramBytes),dst[offset++]=2,dst[offset++]=sLength,sPadding<0?(dst[offset++]=0,signature.copy(dst,offset,paramBytes)):signature.copy(dst,offset,paramBytes+sPadding),dst}}}}),require_util2=__commonJS({"../../../../node_modules/google-auth-library/build/src/util.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.LRUCache=void 0,exports.snakeToCamel=snakeToCamel,exports.originalOrCamelOptions=function(obj){return{get:function(key){const o=obj||{};return o[key]??o[snakeToCamel(key)]}}},exports.removeUndefinedValuesInObject=function(object){return Object.entries(object).forEach(([key,value])=>{void 0!==value&&"undefined"!==value||delete object[key]}),object},exports.isValidFile=async function(filePath){try{return(await fs2.promises.lstat(filePath)).isFile()}catch(e2){return!1}},exports.getWellKnownCertificateConfigFileLocation=function(){const configDir=process.env.CLOUDSDK_CONFIG||(os.platform().startsWith("win")?path.join(process.env.APPDATA||"","gcloud"):path.join(process.env.HOME||"",".config","gcloud"));return path.join(configDir,"certificate_config.json")};var fs2=__require("fs"),os=__require("os"),path=__require("path");function snakeToCamel(str){return str.replace(/([_][^_])/g,match=>match.slice(1).toUpperCase())}exports.LRUCache=class{capacity;#cache=new Map;maxAge;constructor(options){this.capacity=options.capacity,this.maxAge=options.maxAge}#moveToEnd(key,value){this.#cache.delete(key),this.#cache.set(key,{value:value,lastAccessed:Date.now()})}set(key,value){this.#moveToEnd(key,value),this.#evict()}get(key){const item=this.#cache.get(key);if(item)return this.#moveToEnd(key,item.value),this.#evict(),item.value}#evict(){const cutoffDate=this.maxAge?Date.now()-this.maxAge:0;let oldestItem=this.#cache.entries().next();for(;!oldestItem.done&&(this.#cache.size>this.capacity||oldestItem.value[1].lastAccessed<cutoffDate);)this.#cache.delete(oldestItem.value[0]),oldestItem=this.#cache.entries().next()}}}}),require_package2=__commonJS({"../../../../node_modules/google-auth-library/package.json"(exports,module){module.exports={name:"google-auth-library",version:"10.6.1",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:{type:"git",directory:"packages/google-auth-library-nodejs",url:"https://github.com/googleapis/google-cloud-node-core.git"},keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"7.1.3","gcp-metadata":"8.1.2","google-logging-utils":"1.1.3",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","assert-rejects":"^1.0.0",c8:"^10.1.3",codecov:"^3.8.3",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.1",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^9.5.2",typescript:"5.8.3",webpack:"^5.97.1","webpack-cli":"^6.0.1"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"echo 'disabled until linkinator is fixed'","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0",homepage:"https://github.com/googleapis/google-cloud-node-core/tree/main/packages/google-auth-library-nodejs"}}}),require_shared2=__commonJS({"../../../../node_modules/google-auth-library/build/src/shared.cjs"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.USER_AGENT=exports.PRODUCT_NAME=exports.pkg=void 0;var pkg=require_package2();exports.pkg=pkg;exports.PRODUCT_NAME="google-api-nodejs-client";var USER_AGENT=`google-api-nodejs-client/${pkg.version}`;exports.USER_AGENT=USER_AGENT}}),require_authclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/authclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthClient=exports.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=exports.DEFAULT_UNIVERSE=void 0;var events_1=__require("events"),gaxios_1=require_src2(),util_1=require_util2(),google_logging_utils_1=require_src3(),shared_cjs_1=require_shared2();exports.DEFAULT_UNIVERSE="googleapis.com",exports.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=3e5;var AuthClient=class _AuthClient extends events_1.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=exports.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=exports.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(opts={}){super();const options=(0,util_1.originalOrCamelOptions)(opts);this.apiKey=opts.apiKey,this.projectId=options.get("project_id")??null,this.quotaProjectId=options.get("quota_project_id"),this.credentials=options.get("credentials")??{},this.universeDomain=options.get("universe_domain")??exports.DEFAULT_UNIVERSE,this.transporter=opts.transporter??new gaxios_1.Gaxios(opts.transporterOptions),!1!==options.get("useAuthRequestParameters")&&(this.transporter.interceptors.request.add(_AuthClient.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(_AuthClient.DEFAULT_RESPONSE_INTERCEPTOR)),opts.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=opts.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=opts.forceRefreshOnFailure??!1}fetch(...args){const input=args[0],init=args[1];let url;const headers=new Headers;return"string"==typeof input?url=new URL(input):input instanceof URL?url=input:input&&input.url&&(url=new URL(input.url)),input&&"object"==typeof input&&"headers"in input&&gaxios_1.Gaxios.mergeHeaders(headers,input.headers),init&&gaxios_1.Gaxios.mergeHeaders(headers,new Headers(init.headers)),"object"!=typeof input||input instanceof URL?this.request({...init,headers:headers,url:url}):this.request({...init,...input,headers:headers,url:url})}setCredentials(credentials){this.credentials=credentials}addSharedMetadataHeaders(headers){return!headers.has("x-goog-user-project")&&this.quotaProjectId&&headers.set("x-goog-user-project",this.quotaProjectId),headers}addUserProjectAndAuthHeaders(target,source){const xGoogUserProject=source.get("x-goog-user-project"),authorizationHeader=source.get("authorization");return xGoogUserProject&&target.set("x-goog-user-project",xGoogUserProject),authorizationHeader&&target.set("authorization",authorizationHeader),target}static log=(0,google_logging_utils_1.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async config=>{if(!config.headers.has("x-goog-api-client")){const nodeVersion=process.version.replace(/^v/,"");config.headers.set("x-goog-api-client",`gl-node/${nodeVersion}`)}const userAgent=config.headers.get("User-Agent");userAgent?userAgent.includes(`${shared_cjs_1.PRODUCT_NAME}/`)||config.headers.set("User-Agent",`${userAgent} ${shared_cjs_1.USER_AGENT}`):config.headers.set("User-Agent",shared_cjs_1.USER_AGENT);try{const symbols=config,methodName=symbols[_AuthClient.RequestMethodNameSymbol],logId=`${Math.floor(1e3*Math.random())}`;symbols[_AuthClient.RequestLogIdSymbol]=logId;const logObject={url:config.url,headers:config.headers};methodName?_AuthClient.log.info("%s [%s] request %j",methodName,logId,logObject):_AuthClient.log.info("[%s] request %j",logId,logObject)}catch(e2){}return config}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async response=>{try{const symbols=response.config,methodName=symbols[_AuthClient.RequestMethodNameSymbol],logId=symbols[_AuthClient.RequestLogIdSymbol];methodName?_AuthClient.log.info("%s [%s] response %j",methodName,logId,response.data):_AuthClient.log.info("[%s] response %j",logId,response.data)}catch(e2){}return response},rejected:async error=>{try{const symbols=error.config,methodName=symbols[_AuthClient.RequestMethodNameSymbol],logId=symbols[_AuthClient.RequestLogIdSymbol];methodName?_AuthClient.log.info("%s [%s] error %j",methodName,logId,error.response?.data):_AuthClient.log.error("[%s] error %j",logId,error.response?.data)}catch(e2){}throw error}};static setMethodName(config,methodName){try{config[_AuthClient.RequestMethodNameSymbol]=methodName}catch(e2){}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};exports.AuthClient=AuthClient}}),require_loginticket=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/loginticket.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.LoginTicket=void 0;exports.LoginTicket=class{envelope;payload;constructor(env,pay){this.envelope=env,this.payload=pay}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){const payload=this.getPayload();return payload&&payload.sub?payload.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}}}}),require_oauth2client=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/oauth2client.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Client=exports.ClientAuthentication=exports.CertificateFormat=exports.CodeChallengeMethod=void 0;var CodeChallengeMethod,CodeChallengeMethod2,CertificateFormat,CertificateFormat2,ClientAuthentication,ClientAuthentication2,gaxios_1=require_src2(),querystring=__require("querystring"),stream=__require("stream"),formatEcdsa=require_ecdsa_sig_formatter(),util_1=require_util2(),crypto_1=require_crypto3(),authclient_1=require_authclient(),loginticket_1=require_loginticket();(CodeChallengeMethod2=CodeChallengeMethod||(exports.CodeChallengeMethod=CodeChallengeMethod={})).Plain="plain",CodeChallengeMethod2.S256="S256",(CertificateFormat2=CertificateFormat||(exports.CertificateFormat=CertificateFormat={})).PEM="PEM",CertificateFormat2.JWK="JWK",(ClientAuthentication2=ClientAuthentication||(exports.ClientAuthentication=ClientAuthentication={})).ClientSecretPost="ClientSecretPost",ClientAuthentication2.ClientSecretBasic="ClientSecretBasic",ClientAuthentication2.None="None";var OAuth2Client=class _OAuth2Client extends authclient_1.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=CertificateFormat.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(options={},clientSecret,redirectUri){super("object"==typeof options?options:{}),"object"!=typeof options&&(options={clientId:options,clientSecret:clientSecret,redirectUri:redirectUri}),this._clientId=options.clientId||options.client_id,this._clientSecret=options.clientSecret||options.client_secret,this.redirectUri=options.redirectUri||options.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...options.endpoints},this.clientAuthentication=options.clientAuthentication||ClientAuthentication.ClientSecretPost,this.issuers=options.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(opts={}){if(opts.code_challenge_method&&!opts.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");opts.response_type=opts.response_type||"code",opts.client_id=opts.client_id||this._clientId,opts.redirect_uri=opts.redirect_uri||this.redirectUri,Array.isArray(opts.scope)&&(opts.scope=opts.scope.join(" "));return this.endpoints.oauth2AuthBaseUrl.toString()+"?"+querystring.stringify(opts)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){const crypto2=(0,crypto_1.createCrypto)(),codeVerifier=crypto2.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-");return{codeVerifier:codeVerifier,codeChallenge:(await crypto2.sha256DigestBase64(codeVerifier)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_")}}getToken(codeOrOptions,callback){const options="string"==typeof codeOrOptions?{code:codeOrOptions}:codeOrOptions;if(!callback)return this.getTokenAsync(options);this.getTokenAsync(options).then(r2=>callback(null,r2.tokens,r2.res),e2=>callback(e2,null,e2.response))}async getTokenAsync(options){const url=this.endpoints.oauth2TokenUrl.toString(),headers=new Headers,values={client_id:options.client_id||this._clientId,code_verifier:options.codeVerifier,code:options.code,grant_type:"authorization_code",redirect_uri:options.redirect_uri||this.redirectUri};if(this.clientAuthentication===ClientAuthentication.ClientSecretBasic){const basic=Buffer.from(`${this._clientId}:${this._clientSecret}`);headers.set("authorization",`Basic ${basic.toString("base64")}`)}this.clientAuthentication===ClientAuthentication.ClientSecretPost&&(values.client_secret=this._clientSecret);const opts={..._OAuth2Client.RETRY_CONFIG,method:"POST",url:url,data:new URLSearchParams((0,util_1.removeUndefinedValuesInObject)(values)),headers:headers};authclient_1.AuthClient.setMethodName(opts,"getTokenAsync");const res=await this.transporter.request(opts),tokens=res.data;return res.data&&res.data.expires_in&&(tokens.expiry_date=(new Date).getTime()+1e3*res.data.expires_in,delete tokens.expires_in),this.emit("tokens",tokens),{tokens:tokens,res:res}}async refreshToken(refreshToken){if(!refreshToken)return this.refreshTokenNoCache(refreshToken);if(this.refreshTokenPromises.has(refreshToken))return this.refreshTokenPromises.get(refreshToken);const p=this.refreshTokenNoCache(refreshToken).then(r2=>(this.refreshTokenPromises.delete(refreshToken),r2),e2=>{throw this.refreshTokenPromises.delete(refreshToken),e2});return this.refreshTokenPromises.set(refreshToken,p),p}async refreshTokenNoCache(refreshToken){if(!refreshToken)throw new Error("No refresh token is set.");const url=this.endpoints.oauth2TokenUrl.toString(),data={refresh_token:refreshToken,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"};let res;try{const opts={..._OAuth2Client.RETRY_CONFIG,method:"POST",url:url,data:new URLSearchParams((0,util_1.removeUndefinedValuesInObject)(data))};authclient_1.AuthClient.setMethodName(opts,"refreshTokenNoCache"),res=await this.transporter.request(opts)}catch(e2){throw e2 instanceof gaxios_1.GaxiosError&&"invalid_grant"===e2.message&&e2.response?.data&&/ReAuth/i.test(e2.response.data.error_description)&&(e2.message=JSON.stringify(e2.response.data)),e2}const tokens=res.data;return res.data&&res.data.expires_in&&(tokens.expiry_date=(new Date).getTime()+1e3*res.data.expires_in,delete tokens.expires_in),this.emit("tokens",tokens),{tokens:tokens,res:res}}refreshAccessToken(callback){if(!callback)return this.refreshAccessTokenAsync();this.refreshAccessTokenAsync().then(r2=>callback(null,r2.credentials,r2.res),callback)}async refreshAccessTokenAsync(){const r2=await this.refreshToken(this.credentials.refresh_token),tokens=r2.tokens;return tokens.refresh_token=this.credentials.refresh_token,this.credentials=tokens,{credentials:this.credentials,res:r2.res}}getAccessToken(callback){if(!callback)return this.getAccessTokenAsync();this.getAccessTokenAsync().then(r2=>callback(null,r2.token,r2.res),callback)}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token){if(!this.refreshHandler)throw new Error("No refresh token or refresh handler callback is set.");{const refreshedAccessToken=await this.processAndValidateRefreshHandler();if(refreshedAccessToken?.access_token)return this.setCredentials(refreshedAccessToken),{token:this.credentials.access_token}}}const r2=await this.refreshAccessTokenAsync();if(!r2.credentials||r2.credentials&&!r2.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r2.credentials.access_token,res:r2.res}}return{token:this.credentials.access_token}}async getRequestHeaders(url){return(await this.getRequestMetadataAsync(url)).headers}async getRequestMetadataAsync(url){const thisCreds=this.credentials;if(!(thisCreds.access_token||thisCreds.refresh_token||this.apiKey||this.refreshHandler))throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(thisCreds.access_token&&!this.isTokenExpiring()){thisCreds.token_type=thisCreds.token_type||"Bearer";const headers2=new Headers({authorization:thisCreds.token_type+" "+thisCreds.access_token});return{headers:this.addSharedMetadataHeaders(headers2)}}if(this.refreshHandler){const refreshedAccessToken=await this.processAndValidateRefreshHandler();if(refreshedAccessToken?.access_token){this.setCredentials(refreshedAccessToken);const headers2=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(headers2)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r2=null,tokens=null;try{r2=await this.refreshToken(thisCreds.refresh_token),tokens=r2.tokens}catch(err){const e2=err;throw!e2.response||403!==e2.response.status&&404!==e2.response.status||(e2.message=`Could not refresh access token: ${e2.message}`),e2}const credentials=this.credentials;credentials.token_type=credentials.token_type||"Bearer",tokens.refresh_token=credentials.refresh_token,this.credentials=tokens;const headers=new Headers({authorization:credentials.token_type+" "+tokens.access_token});return{headers:this.addSharedMetadataHeaders(headers),res:r2.res}}static getRevokeTokenUrl(token){return(new _OAuth2Client).getRevokeTokenURL(token).toString()}getRevokeTokenURL(token){const url=new URL(this.endpoints.oauth2RevokeUrl);return url.searchParams.append("token",token),url}revokeToken(token,callback){const opts={..._OAuth2Client.RETRY_CONFIG,url:this.getRevokeTokenURL(token).toString(),method:"POST"};if(authclient_1.AuthClient.setMethodName(opts,"revokeToken"),!callback)return this.transporter.request(opts);this.transporter.request(opts).then(r2=>callback(null,r2),callback)}revokeCredentials(callback){if(!callback)return this.revokeCredentialsAsync();this.revokeCredentialsAsync().then(res=>callback(null,res),callback)}async revokeCredentialsAsync(){const token=this.credentials.access_token;if(this.credentials={},token)return this.revokeToken(token);throw new Error("No access token to revoke.")}request(opts,callback){if(!callback)return this.requestAsync(opts);this.requestAsync(opts).then(r2=>callback(null,r2),e2=>callback(e2,e2.response))}async requestAsync(opts,reAuthRetried=!1){try{const r2=await this.getRequestMetadataAsync();return opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers),this.addUserProjectAndAuthHeaders(opts.headers,r2.headers),this.apiKey&&opts.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(opts)}catch(e2){const res=e2.response;if(res){const statusCode=res.status,mayRequireRefresh=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),mayRequireRefreshWithNoRefreshToken=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,isReadableStream=res.config.data instanceof stream.Readable,isAuthErr=401===statusCode||403===statusCode;if(!reAuthRetried&&isAuthErr&&!isReadableStream&&mayRequireRefresh)return await this.refreshAccessTokenAsync(),this.requestAsync(opts,!0);if(!reAuthRetried&&isAuthErr&&!isReadableStream&&mayRequireRefreshWithNoRefreshToken){const refreshedAccessToken=await this.processAndValidateRefreshHandler();return refreshedAccessToken?.access_token&&this.setCredentials(refreshedAccessToken),this.requestAsync(opts,!0)}}throw e2}}verifyIdToken(options,callback){if(callback&&"function"!=typeof callback)throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(!callback)return this.verifyIdTokenAsync(options);this.verifyIdTokenAsync(options).then(r2=>callback(null,r2),callback)}async verifyIdTokenAsync(options){if(!options.idToken)throw new Error("The verifyIdToken method requires an ID Token");const response=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(options.idToken,response.certs,options.audience,this.issuers,options.maxExpiry)}async getTokenInfo(accessToken){const{data:data}=await this.transporter.request({..._OAuth2Client.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${accessToken}`},url:this.endpoints.tokenInfoUrl.toString()}),info=Object.assign({expiry_date:(new Date).getTime()+1e3*data.expires_in,scopes:data.scope.split(" ")},data);return delete info.expires_in,delete info.scope,info}getFederatedSignonCerts(callback){if(!callback)return this.getFederatedSignonCertsAsync();this.getFederatedSignonCertsAsync().then(r2=>callback(null,r2.certs,r2.res),callback)}async getFederatedSignonCertsAsync(){const nowTime=(new Date).getTime(),format=(0,crypto_1.hasBrowserCrypto)()?CertificateFormat.JWK:CertificateFormat.PEM;if(this.certificateExpiry&&nowTime<this.certificateExpiry.getTime()&&this.certificateCacheFormat===format)return{certs:this.certificateCache,format:format};let res,url;switch(format){case CertificateFormat.PEM:url=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case CertificateFormat.JWK:url=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${format}`)}try{const opts={..._OAuth2Client.RETRY_CONFIG,url:url};authclient_1.AuthClient.setMethodName(opts,"getFederatedSignonCertsAsync"),res=await this.transporter.request(opts)}catch(e2){throw e2 instanceof Error&&(e2.message=`Failed to retrieve verification certificates: ${e2.message}`),e2}const cacheControl=res?.headers.get("cache-control");let cacheAge=-1;if(cacheControl){const maxAge=/max-age=(?<maxAge>[0-9]+)/.exec(cacheControl)?.groups?.maxAge;maxAge&&(cacheAge=1e3*Number(maxAge))}let certificates={};switch(format){case CertificateFormat.PEM:certificates=res.data;break;case CertificateFormat.JWK:for(const key of res.data.keys)certificates[key.kid]=key;break;default:throw new Error(`Unsupported certificate format ${format}`)}const now=new Date;return this.certificateExpiry=-1===cacheAge?null:new Date(now.getTime()+cacheAge),this.certificateCache=certificates,this.certificateCacheFormat=format,{certs:certificates,format:format,res:res}}getIapPublicKeys(callback){if(!callback)return this.getIapPublicKeysAsync();this.getIapPublicKeysAsync().then(r2=>callback(null,r2.pubkeys,r2.res),callback)}async getIapPublicKeysAsync(){let res;const url=this.endpoints.oauth2IapPublicKeyUrl.toString();try{const opts={..._OAuth2Client.RETRY_CONFIG,url:url};authclient_1.AuthClient.setMethodName(opts,"getIapPublicKeysAsync"),res=await this.transporter.request(opts)}catch(e2){throw e2 instanceof Error&&(e2.message=`Failed to retrieve verification certificates: ${e2.message}`),e2}return{pubkeys:res.data,res:res}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(jwt,certs,requiredAudience,issuers,maxExpiry){const crypto2=(0,crypto_1.createCrypto)();maxExpiry||(maxExpiry=_OAuth2Client.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);const segments=jwt.split(".");if(3!==segments.length)throw new Error("Wrong number of segments in token: "+jwt);const signed=segments[0]+"."+segments[1];let envelope,payload,signature=segments[2];try{envelope=JSON.parse(crypto2.decodeBase64StringUtf8(segments[0]))}catch(err){throw err instanceof Error&&(err.message=`Can't parse token envelope: ${segments[0]}': ${err.message}`),err}if(!envelope)throw new Error("Can't parse token envelope: "+segments[0]);try{payload=JSON.parse(crypto2.decodeBase64StringUtf8(segments[1]))}catch(err){throw err instanceof Error&&(err.message=`Can't parse token payload '${segments[0]}`),err}if(!payload)throw new Error("Can't parse token payload: "+segments[1]);if(!Object.prototype.hasOwnProperty.call(certs,envelope.kid))throw new Error("No pem found for envelope: "+JSON.stringify(envelope));const cert=certs[envelope.kid];"ES256"===envelope.alg&&(signature=formatEcdsa.joseToDer(signature,"ES256").toString("base64"));if(!await crypto2.verify(cert,signed,signature))throw new Error("Invalid token signature: "+jwt);if(!payload.iat)throw new Error("No issue time in token: "+JSON.stringify(payload));if(!payload.exp)throw new Error("No expiration time in token: "+JSON.stringify(payload));const iat=Number(payload.iat);if(isNaN(iat))throw new Error("iat field using invalid format");const exp=Number(payload.exp);if(isNaN(exp))throw new Error("exp field using invalid format");const now=(new Date).getTime()/1e3;if(exp>=now+maxExpiry)throw new Error("Expiration time too far in future: "+JSON.stringify(payload));const earliest=iat-_OAuth2Client.CLOCK_SKEW_SECS_,latest=exp+_OAuth2Client.CLOCK_SKEW_SECS_;if(now<earliest)throw new Error("Token used too early, "+now+" < "+earliest+": "+JSON.stringify(payload));if(now>latest)throw new Error("Token used too late, "+now+" > "+latest+": "+JSON.stringify(payload));if(issuers&&issuers.indexOf(payload.iss)<0)throw new Error("Invalid issuer, expected one of ["+issuers+"], but got "+payload.iss);if(null!=requiredAudience){const aud=payload.aud;let audVerified=!1;if(audVerified=requiredAudience.constructor===Array?requiredAudience.indexOf(aud)>-1:aud===requiredAudience,!audVerified)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new loginticket_1.LoginTicket(envelope,payload)}async processAndValidateRefreshHandler(){if(this.refreshHandler){const accessTokenResponse=await this.refreshHandler();if(!accessTokenResponse.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return accessTokenResponse}}isTokenExpiring(){const expiryDate=this.credentials.expiry_date;return!!expiryDate&&expiryDate<=(new Date).getTime()+this.eagerRefreshThresholdMillis}};exports.OAuth2Client=OAuth2Client}}),require_computeclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/computeclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.Compute=void 0;var gaxios_1=require_src2(),gcpMetadata=require_src4(),oauth2client_1=require_oauth2client(),Compute=class extends oauth2client_1.OAuth2Client{serviceAccountEmail;scopes;constructor(options={}){super(options),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=options.serviceAccountEmail||"default",this.scopes=Array.isArray(options.scopes)?options.scopes:options.scopes?[options.scopes]:[]}async refreshTokenNoCache(){const tokenPath=`service-accounts/${this.serviceAccountEmail}/token`;let data;try{const instanceOptions={property:tokenPath};this.scopes.length>0&&(instanceOptions.params={scopes:this.scopes.join(",")}),data=await gcpMetadata.instance(instanceOptions)}catch(e2){throw e2 instanceof gaxios_1.GaxiosError&&(e2.message=`Could not refresh access token: ${e2.message}`,this.wrapError(e2)),e2}const tokens=data;return data&&data.expires_in&&(tokens.expiry_date=(new Date).getTime()+1e3*data.expires_in,delete tokens.expires_in),this.emit("tokens",tokens),{tokens:tokens,res:null}}async fetchIdToken(targetAudience){const idTokenPath=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${targetAudience}`;let idToken;try{const instanceOptions={property:idTokenPath};idToken=await gcpMetadata.instance(instanceOptions)}catch(e2){throw e2 instanceof Error&&(e2.message=`Could not fetch ID token: ${e2.message}`),e2}return idToken}wrapError(e2){const res=e2.response;res&&res.status&&(e2.status=res.status,403===res.status?e2.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e2.message:404===res.status&&(e2.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e2.message))}};exports.Compute=Compute}}),require_idtokenclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/idtokenclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.IdTokenClient=void 0;var oauth2client_1=require_oauth2client(),IdTokenClient=class extends oauth2client_1.OAuth2Client{targetAudience;idTokenProvider;constructor(options){super(options),this.targetAudience=options.targetAudience,this.idTokenProvider=options.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){const idToken=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:idToken,expiry_date:this.getIdTokenExpiryDate(idToken)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(idToken){const payloadB64=idToken.split(".")[1];if(payloadB64){return 1e3*JSON.parse(Buffer.from(payloadB64,"base64").toString("ascii")).exp}}};exports.IdTokenClient=IdTokenClient}}),require_envDetect=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/envDetect.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.GCPEnv=void 0,exports.clear=function(){envPromise=void 0},exports.getEnv=async function(){if(envPromise)return envPromise;return envPromise=async function(){let env=GCPEnv.NONE;env=process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME?GCPEnv.APP_ENGINE:process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET?GCPEnv.CLOUD_FUNCTIONS:await async function(){return gcpMetadata.isAvailable()}()?await async function(){try{return await gcpMetadata.instance("attributes/cluster-name"),!0}catch(e2){return!1}}()?GCPEnv.KUBERNETES_ENGINE:process.env.K_CONFIGURATION?GCPEnv.CLOUD_RUN:process.env.CLOUD_RUN_JOB?GCPEnv.CLOUD_RUN_JOBS:GCPEnv.COMPUTE_ENGINE:GCPEnv.NONE;return env}()};var GCPEnv,GCPEnv2,envPromise,gcpMetadata=require_src4();(GCPEnv2=GCPEnv||(exports.GCPEnv=GCPEnv={})).APP_ENGINE="APP_ENGINE",GCPEnv2.KUBERNETES_ENGINE="KUBERNETES_ENGINE",GCPEnv2.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",GCPEnv2.COMPUTE_ENGINE="COMPUTE_ENGINE",GCPEnv2.CLOUD_RUN="CLOUD_RUN",GCPEnv2.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",GCPEnv2.NONE="NONE"}}),require_data_stream=__commonJS({"../../../../node_modules/jws/lib/data-stream.js"(exports,module){var Buffer4=require_safe_buffer().Buffer,Stream3=__require("stream");function DataStream(data){if(this.buffer=null,this.writable=!0,this.readable=!0,!data)return this.buffer=Buffer4.alloc(0),this;if("function"==typeof data.pipe)return this.buffer=Buffer4.alloc(0),data.pipe(this),this;if(data.length||"object"==typeof data)return this.buffer=data,this.writable=!1,process.nextTick(function(){this.emit("end",data),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof data+")")}__require("util").inherits(DataStream,Stream3),DataStream.prototype.write=function(data){this.buffer=Buffer4.concat([this.buffer,Buffer4.from(data)]),this.emit("data",data)},DataStream.prototype.end=function(data){data&&this.write(data),this.emit("end",data),this.emit("close"),this.writable=!1,this.readable=!1},module.exports=DataStream}}),require_buffer_equal_constant_time=__commonJS({"../../../../node_modules/buffer-equal-constant-time/index.js"(exports,module){var Buffer4=__require("buffer").Buffer,SlowBuffer=__require("buffer").SlowBuffer;function bufferEq(a,b){if(!Buffer4.isBuffer(a)||!Buffer4.isBuffer(b))return!1;if(a.length!==b.length)return!1;for(var c=0,i2=0;i2<a.length;i2++)c|=a[i2]^b[i2];return 0===c}module.exports=bufferEq,bufferEq.install=function(){Buffer4.prototype.equal=SlowBuffer.prototype.equal=function(that){return bufferEq(this,that)}};var origBufEqual=Buffer4.prototype.equal,origSlowBufEqual=SlowBuffer.prototype.equal;bufferEq.restore=function(){Buffer4.prototype.equal=origBufEqual,SlowBuffer.prototype.equal=origSlowBufEqual}}}),require_jwa=__commonJS({"../../../../node_modules/jwa/index.js"(exports,module){var bufferEqual,Buffer4=require_safe_buffer().Buffer,crypto2=__require("crypto"),formatEcdsa=require_ecdsa_sig_formatter(),util=__require("util"),MSG_INVALID_SECRET="secret must be a string or buffer",MSG_INVALID_VERIFIER_KEY="key must be a string or a buffer",supportsKeyObjects="function"==typeof crypto2.createPublicKey;function checkIsPublicKey(key){if(!Buffer4.isBuffer(key)&&"string"!=typeof key){if(!supportsKeyObjects)throw typeError(MSG_INVALID_VERIFIER_KEY);if("object"!=typeof key)throw typeError(MSG_INVALID_VERIFIER_KEY);if("string"!=typeof key.type)throw typeError(MSG_INVALID_VERIFIER_KEY);if("string"!=typeof key.asymmetricKeyType)throw typeError(MSG_INVALID_VERIFIER_KEY);if("function"!=typeof key.export)throw typeError(MSG_INVALID_VERIFIER_KEY)}}function checkIsPrivateKey(key){if(!Buffer4.isBuffer(key)&&"string"!=typeof key&&"object"!=typeof key)throw typeError("key must be a string, a buffer or an object")}function fromBase64(base64){return base64.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function toBase64(base64url){var padding=4-(base64url=base64url.toString()).length%4;if(4!==padding)for(var i2=0;i2<padding;++i2)base64url+="=";return base64url.replace(/\-/g,"+").replace(/_/g,"/")}function typeError(template){var args=[].slice.call(arguments,1),errMsg=util.format.bind(util,template).apply(null,args);return new TypeError(errMsg)}function normalizeInput(thing){var obj;return obj=thing,Buffer4.isBuffer(obj)||"string"==typeof obj||(thing=JSON.stringify(thing)),thing}function createHmacSigner(bits){return function(thing,secret){!function(key){if(!Buffer4.isBuffer(key)){if("string"==typeof key)return key;if(!supportsKeyObjects)throw typeError(MSG_INVALID_SECRET);if("object"!=typeof key)throw typeError(MSG_INVALID_SECRET);if("secret"!==key.type)throw typeError(MSG_INVALID_SECRET);if("function"!=typeof key.export)throw typeError(MSG_INVALID_SECRET)}}(secret),thing=normalizeInput(thing);var hmac=crypto2.createHmac("sha"+bits,secret);return fromBase64((hmac.update(thing),hmac.digest("base64")))}}supportsKeyObjects&&(MSG_INVALID_VERIFIER_KEY+=" or a KeyObject",MSG_INVALID_SECRET+="or a KeyObject");var timingSafeEqual="timingSafeEqual"in crypto2?function(a,b){return a.byteLength===b.byteLength&&crypto2.timingSafeEqual(a,b)}:function(a,b){return bufferEqual||(bufferEqual=require_buffer_equal_constant_time()),bufferEqual(a,b)};function createHmacVerifier(bits){return function(thing,signature,secret){var computedSig=createHmacSigner(bits)(thing,secret);return timingSafeEqual(Buffer4.from(signature),Buffer4.from(computedSig))}}function createKeySigner(bits){return function(thing,privateKey){checkIsPrivateKey(privateKey),thing=normalizeInput(thing);var signer=crypto2.createSign("RSA-SHA"+bits);return fromBase64((signer.update(thing),signer.sign(privateKey,"base64")))}}function createKeyVerifier(bits){return function(thing,signature,publicKey){checkIsPublicKey(publicKey),thing=normalizeInput(thing),signature=toBase64(signature);var verifier=crypto2.createVerify("RSA-SHA"+bits);return verifier.update(thing),verifier.verify(publicKey,signature,"base64")}}function createPSSKeySigner(bits){return function(thing,privateKey){checkIsPrivateKey(privateKey),thing=normalizeInput(thing);var signer=crypto2.createSign("RSA-SHA"+bits);return fromBase64((signer.update(thing),signer.sign({key:privateKey,padding:crypto2.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto2.constants.RSA_PSS_SALTLEN_DIGEST},"base64")))}}function createPSSKeyVerifier(bits){return function(thing,signature,publicKey){checkIsPublicKey(publicKey),thing=normalizeInput(thing),signature=toBase64(signature);var verifier=crypto2.createVerify("RSA-SHA"+bits);return verifier.update(thing),verifier.verify({key:publicKey,padding:crypto2.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto2.constants.RSA_PSS_SALTLEN_DIGEST},signature,"base64")}}function createECDSASigner(bits){var inner=createKeySigner(bits);return function(){var signature=inner.apply(null,arguments);return signature=formatEcdsa.derToJose(signature,"ES"+bits)}}function createECDSAVerifer(bits){var inner=createKeyVerifier(bits);return function(thing,signature,publicKey){return signature=formatEcdsa.joseToDer(signature,"ES"+bits).toString("base64"),inner(thing,signature,publicKey)}}function createNoneSigner(){return function(){return""}}function createNoneVerifier(){return function(thing,signature){return""===signature}}module.exports=function(algorithm){var signerFactories={hs:createHmacSigner,rs:createKeySigner,ps:createPSSKeySigner,es:createECDSASigner,none:createNoneSigner},verifierFactories={hs:createHmacVerifier,rs:createKeyVerifier,ps:createPSSKeyVerifier,es:createECDSAVerifer,none:createNoneVerifier},match=algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!match)throw typeError('"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".',algorithm);var algo=(match[1]||match[3]).toLowerCase(),bits=match[2];return{sign:signerFactories[algo](bits),verify:verifierFactories[algo](bits)}}}}),require_tostring=__commonJS({"../../../../node_modules/jws/lib/tostring.js"(exports,module){var Buffer4=__require("buffer").Buffer;module.exports=function(obj){return"string"==typeof obj?obj:"number"==typeof obj||Buffer4.isBuffer(obj)?obj.toString():JSON.stringify(obj)}}}),require_sign_stream=__commonJS({"../../../../node_modules/jws/lib/sign-stream.js"(exports,module){var Buffer4=require_safe_buffer().Buffer,DataStream=require_data_stream(),jwa=require_jwa(),Stream3=__require("stream"),toString=require_tostring(),util=__require("util");function base64url(string,encoding){return Buffer4.from(string,encoding).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jwsSign(opts){var header=opts.header,payload=opts.payload,secretOrKey=opts.secret||opts.privateKey,encoding=opts.encoding,algo=jwa(header.alg),securedInput=function(header,payload,encoding){encoding=encoding||"utf8";var encodedHeader=base64url(toString(header),"binary"),encodedPayload=base64url(toString(payload),encoding);return util.format("%s.%s",encodedHeader,encodedPayload)}(header,payload,encoding),signature=algo.sign(securedInput,secretOrKey);return util.format("%s.%s",securedInput,signature)}function SignStream(opts){var secret=opts.secret;if(secret=null==(secret=null==secret?opts.privateKey:secret)?opts.key:secret,!0===/^hs/i.test(opts.header.alg)&&null==secret)throw new TypeError("secret must be a string or buffer or a KeyObject");var secretStream=new DataStream(secret);this.readable=!0,this.header=opts.header,this.encoding=opts.encoding,this.secret=this.privateKey=this.key=secretStream,this.payload=new DataStream(opts.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}util.inherits(SignStream,Stream3),SignStream.prototype.sign=function(){try{var signature=jwsSign({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",signature),this.emit("data",signature),this.emit("end"),this.readable=!1,signature}catch(e2){this.readable=!1,this.emit("error",e2),this.emit("close")}},SignStream.sign=jwsSign,module.exports=SignStream}}),require_verify_stream=__commonJS({"../../../../node_modules/jws/lib/verify-stream.js"(exports,module){var Buffer4=require_safe_buffer().Buffer,DataStream=require_data_stream(),jwa=require_jwa(),Stream3=__require("stream"),toString=require_tostring(),util=__require("util"),JWS_REGEX=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function safeJsonParse(thing){if(function(thing){return"[object Object]"===Object.prototype.toString.call(thing)}(thing))return thing;try{return JSON.parse(thing)}catch(e2){return}}function headerFromJWS(jwsSig){var encodedHeader=jwsSig.split(".",1)[0];return safeJsonParse(Buffer4.from(encodedHeader,"base64").toString("binary"))}function signatureFromJWS(jwsSig){return jwsSig.split(".")[2]}function isValidJws(string){return JWS_REGEX.test(string)&&!!headerFromJWS(string)}function jwsVerify(jwsSig,algorithm,secretOrKey){if(!algorithm){var err=new Error("Missing algorithm parameter for jws.verify");throw err.code="MISSING_ALGORITHM",err}var signature=signatureFromJWS(jwsSig=toString(jwsSig)),securedInput=function(jwsSig){return jwsSig.split(".",2).join(".")}(jwsSig);return jwa(algorithm).verify(securedInput,signature,secretOrKey)}function jwsDecode(jwsSig,opts){if(opts=opts||{},!isValidJws(jwsSig=toString(jwsSig)))return null;var header=headerFromJWS(jwsSig);if(!header)return null;var payload=function(jwsSig,encoding){encoding=encoding||"utf8";var payload=jwsSig.split(".")[1];return Buffer4.from(payload,"base64").toString(encoding)}(jwsSig);return("JWT"===header.typ||opts.json)&&(payload=JSON.parse(payload,opts.encoding)),{header:header,payload:payload,signature:signatureFromJWS(jwsSig)}}function VerifyStream(opts){var secretOrKey=(opts=opts||{}).secret;if(secretOrKey=null==(secretOrKey=null==secretOrKey?opts.publicKey:secretOrKey)?opts.key:secretOrKey,!0===/^hs/i.test(opts.algorithm)&&null==secretOrKey)throw new TypeError("secret must be a string or buffer or a KeyObject");var secretStream=new DataStream(secretOrKey);this.readable=!0,this.algorithm=opts.algorithm,this.encoding=opts.encoding,this.secret=this.publicKey=this.key=secretStream,this.signature=new DataStream(opts.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}util.inherits(VerifyStream,Stream3),VerifyStream.prototype.verify=function(){try{var valid=jwsVerify(this.signature.buffer,this.algorithm,this.key.buffer),obj=jwsDecode(this.signature.buffer,this.encoding);return this.emit("done",valid,obj),this.emit("data",valid),this.emit("end"),this.readable=!1,valid}catch(e2){this.readable=!1,this.emit("error",e2),this.emit("close")}},VerifyStream.decode=jwsDecode,VerifyStream.isValid=isValidJws,VerifyStream.verify=jwsVerify,module.exports=VerifyStream}}),require_jws=__commonJS({"../../../../node_modules/jws/index.js"(exports){var SignStream=require_sign_stream(),VerifyStream=require_verify_stream();exports.ALGORITHMS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"],exports.sign=SignStream.sign,exports.verify=VerifyStream.verify,exports.decode=VerifyStream.decode,exports.isValid=VerifyStream.isValid,exports.createSign=function(opts){return new SignStream(opts)},exports.createVerify=function(opts){return new VerifyStream(opts)}}}),require_jwsSign=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/jwsSign.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildPayloadForJwsSign=buildPayloadForJwsSign,exports.getJwsSign=function(tokenOptions){const payload=buildPayloadForJwsSign(tokenOptions);return(0,jws_1.sign)({header:{alg:"RS256"},payload:payload,secret:tokenOptions.key})};var jws_1=require_jws();function buildPayloadForJwsSign(tokenOptions){const iat=Math.floor((new Date).getTime()/1e3);return{iss:tokenOptions.iss,scope:tokenOptions.scope,aud:"https://oauth2.googleapis.com/token",exp:iat+3600,iat:iat,sub:tokenOptions.sub,...tokenOptions.additionalClaims}}}}),require_getToken=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/getToken.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.getToken=async function(tokenOptions){if(!tokenOptions.transporter)throw new Error("No transporter set.");try{const gaxiosOptions=(tokenOptions=>({method:"POST",url:"https://oauth2.googleapis.com/token",data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:(0,jwsSign_1.getJwsSign)(tokenOptions)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}}))(tokenOptions);return(await tokenOptions.transporter.request(gaxiosOptions)).data}catch(e2){const err=e2,errorData=err.response?.data;throw errorData?.error&&(err.message=`${errorData.error}: ${errorData.error_description}`),err}};var jwsSign_1=require_jwsSign()}}),require_errorWithCode=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/errorWithCode.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorWithCode=void 0;var ErrorWithCode=class extends Error{code;constructor(message,code){super(message),this.code=code}};exports.ErrorWithCode=ErrorWithCode}}),require_getCredentials=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/getCredentials.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCredentials=async function(keyFilePath){return CredentialsProviderFactory.create(keyFilePath).getCredentials()};var ExtensionFiles,ExtensionFiles2,path=__require("path"),fs2=__require("fs"),util_1=__require("util"),errorWithCode_1=require_errorWithCode(),readFile=fs2.readFile?(0,util_1.promisify)(fs2.readFile):async()=>{throw new errorWithCode_1.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")};(ExtensionFiles2=ExtensionFiles||(ExtensionFiles={})).JSON=".json",ExtensionFiles2.DER=".der",ExtensionFiles2.CRT=".crt",ExtensionFiles2.PEM=".pem",ExtensionFiles2.P12=".p12",ExtensionFiles2.PFX=".pfx";var JsonCredentialsProvider=class{keyFilePath;constructor(keyFilePath){this.keyFilePath=keyFilePath}async getCredentials(){const key=await readFile(this.keyFilePath,"utf8");let body;try{body=JSON.parse(key)}catch(error){throw new Error(`Invalid JSON key file: ${error.message}`)}const privateKey=body.private_key,clientEmail=body.client_email;if(!privateKey||!clientEmail)throw new errorWithCode_1.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:privateKey,clientEmail:clientEmail}}},PemCredentialsProvider=class{keyFilePath;constructor(keyFilePath){this.keyFilePath=keyFilePath}async getCredentials(){return{privateKey:await readFile(this.keyFilePath,"utf8")}}},P12CredentialsProvider=class{async getCredentials(){throw new errorWithCode_1.ErrorWithCode("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE")}},CredentialsProviderFactory=class{static create(keyFilePath){switch(path.extname(keyFilePath)){case ExtensionFiles.JSON:return new JsonCredentialsProvider(keyFilePath);case ExtensionFiles.DER:case ExtensionFiles.CRT:case ExtensionFiles.PEM:return new PemCredentialsProvider(keyFilePath);case ExtensionFiles.P12:case ExtensionFiles.PFX:return new P12CredentialsProvider;default:throw new errorWithCode_1.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}}}}),require_tokenHandler=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/tokenHandler.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenHandler=void 0;var getToken_1=require_getToken(),getCredentials_1=require_getCredentials();exports.TokenHandler=class{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(tokenOptions){this.tokenOptions=tokenOptions}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw new Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){const credentials=await(0,getCredentials_1.getCredentials)(this.tokenOptions.keyFile);this.tokenOptions.key=credentials.privateKey,this.tokenOptions.email=credentials.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;const now=(new Date).getTime(),eagerRefreshThresholdMillis=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=now+eagerRefreshThresholdMillis}hasExpired(){(new Date).getTime();if(this.token&&this.tokenExpiresAt){return(new Date).getTime()>=this.tokenExpiresAt}return!0}async getToken(forceRefresh){if(await this.processCredentials(),this.inFlightRequest&&!forceRefresh)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!forceRefresh)return this.token;try{this.inFlightRequest=(0,getToken_1.getToken)(this.tokenOptions);const token=await this.inFlightRequest;return this.token=token,this.tokenExpiresAt=(new Date).getTime()+1e3*(token.expires_in??0),token}finally{this.inFlightRequest=void 0}}}}}),require_revokeToken=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/revokeToken.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.revokeToken=async function(accessToken,transporter){const url="https://oauth2.googleapis.com/revoke?token="+accessToken;return await transporter.request({url:url,retry:true})}}}),require_googleToken=__commonJS({"../../../../node_modules/google-auth-library/build/src/gtoken/googleToken.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.GoogleToken=void 0;var gaxios_1=require_src2(),tokenHandler_1=require_tokenHandler(),revokeToken_1=require_revokeToken();exports.GoogleToken=class{tokenOptions;tokenHandler;constructor(options){this.tokenOptions=options||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:opts=>(0,gaxios_1.request)(opts)},this.tokenOptions.iss||(this.tokenOptions.iss=this.tokenOptions.email),"object"==typeof this.tokenOptions.scope&&(this.tokenOptions.scope=this.tokenOptions.scope.join(" ")),this.tokenHandler=new tokenHandler_1.TokenHandler(this.tokenOptions)}get expiresAt(){return this.tokenHandler.tokenExpiresAt}get accessToken(){return this.tokenHandler.token?.access_token}get idToken(){return this.tokenHandler.token?.id_token}get tokenType(){return this.tokenHandler.token?.token_type}get refreshToken(){return this.tokenHandler.token?.refresh_token}hasExpired(){return this.tokenHandler.hasExpired()}isTokenExpiring(){return this.tokenHandler.isTokenExpiring()}getToken(callbackOrOptions,opts={forceRefresh:!1}){let callback;"function"==typeof callbackOrOptions?callback=callbackOrOptions:"object"==typeof callbackOrOptions&&(opts=callbackOrOptions);const promise=this.tokenHandler.getToken(opts.forceRefresh??!1);return callback&&promise.then(token=>callback(null,token),callback),promise}revokeToken(callback){if(!this.accessToken)return Promise.reject(new Error("No token to revoke."));const promise=(0,revokeToken_1.revokeToken)(this.accessToken,this.tokenOptions.transporter);callback&&promise.then(()=>callback(),callback),this.tokenHandler=new tokenHandler_1.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}}}}),require_jwtaccess=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/jwtaccess.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.JWTAccess=void 0;var jws=require_jws(),util_1=require_util2(),DEFAULT_HEADER={alg:"RS256",typ:"JWT"};exports.JWTAccess=class _JWTAccess{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new util_1.LRUCache({capacity:500,maxAge:36e5});constructor(email,key,keyId,eagerRefreshThresholdMillis){this.email=email,this.key=key,this.keyId=keyId,this.eagerRefreshThresholdMillis=eagerRefreshThresholdMillis??3e5}getCachedKey(url,scopes){let cacheKey=url;if(scopes&&Array.isArray(scopes)&&scopes.length?cacheKey=url?`${url}_${scopes.join("_")}`:`${scopes.join("_")}`:"string"==typeof scopes&&(cacheKey=url?`${url}_${scopes}`:scopes),!cacheKey)throw Error("Scopes or url must be provided");return cacheKey}getRequestHeaders(url,additionalClaims,scopes){const key=this.getCachedKey(url,scopes),cachedToken=this.cache.get(key),now=Date.now();if(cachedToken&&cachedToken.expiration-now>this.eagerRefreshThresholdMillis)return new Headers(cachedToken.headers);const iat=Math.floor(Date.now()/1e3),exp=_JWTAccess.getExpirationTime(iat);let defaultClaims;if(Array.isArray(scopes)&&(scopes=scopes.join(" ")),defaultClaims=scopes?{iss:this.email,sub:this.email,scope:scopes,exp:exp,iat:iat}:{iss:this.email,sub:this.email,aud:url,exp:exp,iat:iat},additionalClaims)for(const claim in defaultClaims)if(additionalClaims[claim])throw new Error(`The '${claim}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`);const header=this.keyId?{...DEFAULT_HEADER,kid:this.keyId}:DEFAULT_HEADER,payload=Object.assign(defaultClaims,additionalClaims),signedJWT=jws.sign({header:header,payload:payload,secret:this.key}),headers=new Headers({authorization:`Bearer ${signedJWT}`});return this.cache.set(key,{expiration:1e3*exp,headers:headers}),headers}static getExpirationTime(iat){return iat+3600}fromJSON(json){if(!json)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!json.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!json.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=json.client_email,this.key=json.private_key,this.keyId=json.private_key_id,this.projectId=json.project_id}fromStream(inputStream,callback){if(!callback)return this.fromStreamAsync(inputStream);this.fromStreamAsync(inputStream).then(()=>callback(),callback)}fromStreamAsync(inputStream){return new Promise((resolve,reject)=>{inputStream||reject(new Error("Must pass in a stream containing the service account auth settings."));let s2="";inputStream.setEncoding("utf8").on("data",chunk=>s2+=chunk).on("error",reject).on("end",()=>{try{const data=JSON.parse(s2);this.fromJSON(data),resolve()}catch(err){reject(err)}})})}}}}),require_jwtclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/jwtclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.JWT=void 0;var googleToken_1=require_googleToken(),getCredentials_1=require_getCredentials(),jwtaccess_1=require_jwtaccess(),oauth2client_1=require_oauth2client(),authclient_1=require_authclient(),JWT=class _JWT extends oauth2client_1.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(options={}){super(options),this.email=options.email,this.keyFile=options.keyFile,this.key=options.key,this.keyId=options.keyId,this.scopes=options.scopes,this.subject=options.subject,this.additionalClaims=options.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(scopes){const jwt=new _JWT(this);return jwt.scopes=scopes,jwt}async getRequestMetadataAsync(url){url=this.defaultServicePath?`https://${this.defaultServicePath}/`:url;const useSelfSignedJWT=!this.hasUserScopes()&&url||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==authclient_1.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==authclient_1.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${authclient_1.DEFAULT_UNIVERSE}`);if(!this.apiKey&&useSelfSignedJWT){if(this.additionalClaims&&this.additionalClaims.target_audience){const{tokens:tokens}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${tokens.id_token}`}))}}{let scopes;this.access||(this.access=new jwtaccess_1.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis)),this.hasUserScopes()?scopes=this.scopes:url||(scopes=this.defaultScopes);const useScopes=this.useJWTAccessWithScope||this.universeDomain!==authclient_1.DEFAULT_UNIVERSE,headers=await this.access.getRequestHeaders(url??void 0,this.additionalClaims,useScopes?scopes:void 0);return{headers:this.addSharedMetadataHeaders(headers)}}}return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(url):{headers:new Headers}}async fetchIdToken(targetAudience){const gtoken=new googleToken_1.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:targetAudience},transporter:this.transporter});if(await gtoken.getToken({forceRefresh:!0}),!gtoken.idToken)throw new Error("Unknown error: Failed to fetch ID token");return gtoken.idToken}hasUserScopes(){return!!this.scopes&&this.scopes.length>0}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0)||!!(this.defaultScopes&&this.defaultScopes.length>0)}authorize(callback){if(!callback)return this.authorizeAsync();this.authorizeAsync().then(r2=>callback(null,r2),callback)}async authorizeAsync(){const result=await this.refreshToken();if(!result)throw new Error("No result returned");return this.credentials=result.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.googleTokenOptions?.key,this.email=this.gtoken.googleTokenOptions?.iss,result.tokens}async refreshTokenNoCache(){const gtoken=this.createGToken(),tokens={access_token:(await gtoken.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:gtoken.expiresAt,id_token:gtoken.idToken};return this.emit("tokens",tokens),{res:null,tokens:tokens}}createGToken(){return this.gtoken||(this.gtoken=new googleToken_1.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(json){if(!json)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!json.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!json.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=json.client_email,this.key=json.private_key,this.keyId=json.private_key_id,this.projectId=json.project_id,this.quotaProjectId=json.quota_project_id,this.universeDomain=json.universe_domain||this.universeDomain}fromStream(inputStream,callback){if(!callback)return this.fromStreamAsync(inputStream);this.fromStreamAsync(inputStream).then(()=>callback(),callback)}fromStreamAsync(inputStream){return new Promise((resolve,reject)=>{if(!inputStream)throw new Error("Must pass in a stream containing the service account auth settings.");let s2="";inputStream.setEncoding("utf8").on("error",reject).on("data",chunk=>s2+=chunk).on("end",()=>{try{const data=JSON.parse(s2);this.fromJSON(data),resolve()}catch(e2){reject(e2)}})})}fromAPIKey(apiKey){if("string"!=typeof apiKey)throw new Error("Must provide an API Key string.");this.apiKey=apiKey}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){this.createGToken();const creds=await(0,getCredentials_1.getCredentials)(this.keyFile);return{private_key:creds.privateKey,client_email:creds.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};exports.JWT=JWT}}),require_refreshclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/refreshclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserRefreshClient=exports.USER_REFRESH_ACCOUNT_TYPE=void 0;var oauth2client_1=require_oauth2client(),authclient_1=require_authclient();exports.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var UserRefreshClient=class _UserRefreshClient extends oauth2client_1.OAuth2Client{_refreshToken;constructor(optionsOrClientId,clientSecret,refreshToken,eagerRefreshThresholdMillis,forceRefreshOnFailure){const opts=optionsOrClientId&&"object"==typeof optionsOrClientId?optionsOrClientId:{clientId:optionsOrClientId,clientSecret:clientSecret,refreshToken:refreshToken,eagerRefreshThresholdMillis:eagerRefreshThresholdMillis,forceRefreshOnFailure:forceRefreshOnFailure};super(opts),this._refreshToken=opts.refreshToken,this.credentials.refresh_token=opts.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(targetAudience){const opts={..._UserRefreshClient.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:targetAudience}),responseType:"json"};authclient_1.AuthClient.setMethodName(opts,"fetchIdToken");return(await this.transporter.request(opts)).data.id_token}fromJSON(json){if(!json)throw new Error("Must pass in a JSON object containing the user refresh token");if("authorized_user"!==json.type)throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!json.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!json.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!json.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=json.client_id,this._clientSecret=json.client_secret,this._refreshToken=json.refresh_token,this.credentials.refresh_token=json.refresh_token,this.quotaProjectId=json.quota_project_id,this.universeDomain=json.universe_domain||this.universeDomain}fromStream(inputStream,callback){if(!callback)return this.fromStreamAsync(inputStream);this.fromStreamAsync(inputStream).then(()=>callback(),callback)}async fromStreamAsync(inputStream){return new Promise((resolve,reject)=>{if(!inputStream)return reject(new Error("Must pass in a stream containing the user refresh token."));let s2="";inputStream.setEncoding("utf8").on("error",reject).on("data",chunk=>s2+=chunk).on("end",()=>{try{const data=JSON.parse(s2);return this.fromJSON(data),resolve()}catch(err){return reject(err)}})})}static fromJSON(json){const client=new _UserRefreshClient;return client.fromJSON(json),client}};exports.UserRefreshClient=UserRefreshClient}}),require_impersonated=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/impersonated.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.Impersonated=exports.IMPERSONATED_ACCOUNT_TYPE=void 0;var oauth2client_1=require_oauth2client(),gaxios_1=require_src2(),util_1=require_util2();exports.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Impersonated=class _Impersonated extends oauth2client_1.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(options={}){super(options),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=options.sourceClient??new oauth2client_1.OAuth2Client,this.targetPrincipal=options.targetPrincipal??"",this.delegates=options.delegates??[],this.targetScopes=options.targetScopes??[],this.lifetime=options.lifetime??3600;if(!!(0,util_1.originalOrCamelOptions)(options).get("universe_domain")){if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`)}else this.universeDomain=this.sourceClient.universeDomain;this.endpoint=options.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(blobToSign){await this.sourceClient.getAccessToken();const name=`projects/-/serviceAccounts/${this.targetPrincipal}`,u=`${this.endpoint}/v1/${name}:signBlob`,body={delegates:this.delegates,payload:Buffer.from(blobToSign).toString("base64")};return(await this.sourceClient.request({..._Impersonated.RETRY_CONFIG,url:u,data:body,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();const name="projects/-/serviceAccounts/"+this.targetPrincipal,u=`${this.endpoint}/v1/${name}:generateAccessToken`,body={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},res=await this.sourceClient.request({..._Impersonated.RETRY_CONFIG,url:u,data:body,method:"POST"}),tokenResponse=res.data;return this.credentials.access_token=tokenResponse.accessToken,this.credentials.expiry_date=Date.parse(tokenResponse.expireTime),{tokens:this.credentials,res:res}}catch(error){if(!(error instanceof Error))throw error;let status=0,message="";throw error instanceof gaxios_1.GaxiosError&&(status=error?.response?.data?.error?.status,message=error?.response?.data?.error?.message),status&&message?(error.message=`${status}: unable to impersonate: ${message}`,error):(error.message=`unable to impersonate: ${error}`,error)}}async fetchIdToken(targetAudience,options){await this.sourceClient.getAccessToken();const name=`projects/-/serviceAccounts/${this.targetPrincipal}`,u=`${this.endpoint}/v1/${name}:generateIdToken`,body={delegates:this.delegates,audience:targetAudience,includeEmail:options?.includeEmail??!0,useEmailAzp:options?.includeEmail??!0};return(await this.sourceClient.request({..._Impersonated.RETRY_CONFIG,url:u,data:body,method:"POST"})).data.token}};exports.Impersonated=Impersonated}}),require_oauth2common=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/oauth2common.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuthClientAuthHandler=void 0,exports.getErrorFromOAuthErrorResponse=function(resp,err){const errorCode=resp.error,errorDescription=resp.error_description,errorUri=resp.error_uri;let message=`Error code ${errorCode}`;void 0!==errorDescription&&(message+=`: ${errorDescription}`);void 0!==errorUri&&(message+=` - ${errorUri}`);const newError=new Error(message);if(err){const keys=Object.keys(err);err.stack&&keys.push("stack"),keys.forEach(key=>{"message"!==key&&Object.defineProperty(newError,key,{value:err[key],writable:!1,enumerable:!0})})}return newError};var gaxios_1=require_src2(),crypto_1=require_crypto3(),METHODS_SUPPORTING_REQUEST_BODY=["PUT","POST","PATCH"];exports.OAuthClientAuthHandler=class{#crypto=(0,crypto_1.createCrypto)();#clientAuthentication;transporter;constructor(options){options&&"clientId"in options?(this.#clientAuthentication=options,this.transporter=new gaxios_1.Gaxios):(this.#clientAuthentication=options?.clientAuthentication,this.transporter=options?.transporter||new gaxios_1.Gaxios)}applyClientAuthenticationOptions(opts,bearerToken){opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers),this.injectAuthenticatedHeaders(opts,bearerToken),bearerToken||this.injectAuthenticatedRequestBody(opts)}injectAuthenticatedHeaders(opts,bearerToken){if(bearerToken)opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers,{authorization:`Bearer ${bearerToken}`});else if("basic"===this.#clientAuthentication?.confidentialClientType){opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers);const clientId=this.#clientAuthentication.clientId,clientSecret=this.#clientAuthentication.clientSecret||"",base64EncodedCreds=this.#crypto.encodeBase64StringUtf8(`${clientId}:${clientSecret}`);gaxios_1.Gaxios.mergeHeaders(opts.headers,{authorization:`Basic ${base64EncodedCreds}`})}}injectAuthenticatedRequestBody(opts){if("request-body"===this.#clientAuthentication?.confidentialClientType){const method=(opts.method||"GET").toUpperCase();if(!METHODS_SUPPORTING_REQUEST_BODY.includes(method))throw new Error(`${method} HTTP method does not support ${this.#clientAuthentication.confidentialClientType} client authentication`);const contentType=new Headers(opts.headers).get("content-type");if(contentType?.startsWith("application/x-www-form-urlencoded")||opts.data instanceof URLSearchParams){const data=new URLSearchParams(opts.data??"");data.append("client_id",this.#clientAuthentication.clientId),data.append("client_secret",this.#clientAuthentication.clientSecret||""),opts.data=data}else{if(!contentType?.startsWith("application/json"))throw new Error(`${contentType} content-types are not supported with ${this.#clientAuthentication.confidentialClientType} client authentication`);opts.data=opts.data||{},Object.assign(opts.data,{client_id:this.#clientAuthentication.clientId,client_secret:this.#clientAuthentication.clientSecret||""})}}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}}}}),require_stscredentials=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/stscredentials.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.StsCredentials=void 0;var gaxios_1=require_src2(),authclient_1=require_authclient(),oauth2common_1=require_oauth2common(),util_1=require_util2(),StsCredentials=class _StsCredentials extends oauth2common_1.OAuthClientAuthHandler{#tokenExchangeEndpoint;constructor(options={tokenExchangeEndpoint:""},clientAuthentication){("object"!=typeof options||options instanceof URL)&&(options={tokenExchangeEndpoint:options,clientAuthentication:clientAuthentication}),super(options),this.#tokenExchangeEndpoint=options.tokenExchangeEndpoint}async exchangeToken(stsCredentialsOptions,headers,options){const values={grant_type:stsCredentialsOptions.grantType,resource:stsCredentialsOptions.resource,audience:stsCredentialsOptions.audience,scope:stsCredentialsOptions.scope?.join(" "),requested_token_type:stsCredentialsOptions.requestedTokenType,subject_token:stsCredentialsOptions.subjectToken,subject_token_type:stsCredentialsOptions.subjectTokenType,actor_token:stsCredentialsOptions.actingParty?.actorToken,actor_token_type:stsCredentialsOptions.actingParty?.actorTokenType,options:options&&JSON.stringify(options)},opts={..._StsCredentials.RETRY_CONFIG,url:this.#tokenExchangeEndpoint.toString(),method:"POST",headers:headers,data:new URLSearchParams((0,util_1.removeUndefinedValuesInObject)(values)),responseType:"json"};authclient_1.AuthClient.setMethodName(opts,"exchangeToken"),this.applyClientAuthenticationOptions(opts);try{const response=await this.transporter.request(opts),stsSuccessfulResponse=response.data;return stsSuccessfulResponse.res=response,stsSuccessfulResponse}catch(error){if(error instanceof gaxios_1.GaxiosError&&error.response)throw(0,oauth2common_1.getErrorFromOAuthErrorResponse)(error.response.data,error);throw error}}};exports.StsCredentials=StsCredentials}}),require_baseexternalclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/baseexternalclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseExternalAccountClient=exports.CLOUD_RESOURCE_MANAGER=exports.EXTERNAL_ACCOUNT_TYPE=exports.EXPIRATION_TIME_OFFSET=void 0;var gaxios_1=require_src2(),stream=__require("stream"),authclient_1=require_authclient(),sts=require_stscredentials(),util_1=require_util2(),shared_cjs_1=require_shared2(),DEFAULT_OAUTH_SCOPE="https://www.googleapis.com/auth/cloud-platform";exports.EXPIRATION_TIME_OFFSET=3e5,exports.EXTERNAL_ACCOUNT_TYPE="external_account",exports.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var BaseExternalAccountClient=class _BaseExternalAccountClient extends authclient_1.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#pendingAccessToken=null;constructor(options){super(options);const opts=(0,util_1.originalOrCamelOptions)(options),type=opts.get("type");if(type&&type!==exports.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${exports.EXTERNAL_ACCOUNT_TYPE}" type but received "${options.type}"`);const clientId=opts.get("client_id"),clientSecret=opts.get("client_secret");this.tokenUrl=opts.get("token_url")??"https://sts.{universeDomain}/v1/token".replace("{universeDomain}",this.universeDomain);const subjectTokenType=opts.get("subject_token_type"),workforcePoolUserProject=opts.get("workforce_pool_user_project"),serviceAccountImpersonationUrl=opts.get("service_account_impersonation_url"),serviceAccountImpersonation=opts.get("service_account_impersonation"),serviceAccountImpersonationLifetime=(0,util_1.originalOrCamelOptions)(serviceAccountImpersonation).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(opts.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),clientId&&(this.clientAuth={confidentialClientType:"basic",clientId:clientId,clientSecret:clientSecret}),this.stsCredential=new sts.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=opts.get("scopes")||[DEFAULT_OAUTH_SCOPE],this.cachedAccessToken=null,this.audience=opts.get("audience"),this.subjectTokenType=subjectTokenType,this.workforcePoolUserProject=workforcePoolUserProject;const workforceAudiencePattern=new RegExp("//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+");if(this.workforcePoolUserProject&&!this.audience.match(workforceAudiencePattern))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=serviceAccountImpersonationUrl,this.serviceAccountImpersonationLifetime=serviceAccountImpersonationLifetime,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=3600),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);const result=/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl);return result?.groups?.email||null}return null}setCredentials(credentials){super.setCredentials(credentials),this.cachedAccessToken=credentials}async getAccessToken(){return this.cachedAccessToken&&!this.isExpired(this.cachedAccessToken)||await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){const accessTokenResponse=await this.getAccessToken(),headers=new Headers({authorization:`Bearer ${accessTokenResponse.token}`});return this.addSharedMetadataHeaders(headers)}request(opts,callback){if(!callback)return this.requestAsync(opts);this.requestAsync(opts).then(r2=>callback(null,r2),e2=>callback(e2,e2.response))}async getProjectId(){const projectNumber=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(projectNumber){const headers=await this.getRequestHeaders(),opts={..._BaseExternalAccountClient.RETRY_CONFIG,headers:headers,url:`${this.cloudResourceManagerURL.toString()}${projectNumber}`,responseType:"json"};authclient_1.AuthClient.setMethodName(opts,"getProjectId");const response=await this.transporter.request(opts);return this.projectId=response.data.projectId,this.projectId}return null}async requestAsync(opts,reAuthRetried=!1){let response;try{const requestHeaders=await this.getRequestHeaders();opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers),this.addUserProjectAndAuthHeaders(opts.headers,requestHeaders),response=await this.transporter.request(opts)}catch(e2){const res=e2.response;if(res){const statusCode=res.status,isReadableStream=res.config.data instanceof stream.Readable;if(!reAuthRetried&&(401===statusCode||403===statusCode)&&!isReadableStream&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(opts,!0)}throw e2}return response}async refreshAccessTokenAsync(){this.#pendingAccessToken=this.#pendingAccessToken||this.#internalRefreshAccessTokenAsync();try{return await this.#pendingAccessToken}finally{this.#pendingAccessToken=null}}async#internalRefreshAccessTokenAsync(){const subjectToken=await this.retrieveSubjectToken(),stsCredentialsOptions={grantType:"urn:ietf:params:oauth:grant-type:token-exchange",audience:this.audience,requestedTokenType:"urn:ietf:params:oauth:token-type:access_token",subjectToken:subjectToken,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[DEFAULT_OAUTH_SCOPE]:this.getScopesArray()},additionalOptions=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,additionalHeaders=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),stsResponse=await this.stsCredential.exchangeToken(stsCredentialsOptions,additionalHeaders,additionalOptions);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(stsResponse.access_token):stsResponse.expires_in?this.cachedAccessToken={access_token:stsResponse.access_token,expiry_date:(new Date).getTime()+1e3*stsResponse.expires_in,res:stsResponse.res}:this.cachedAccessToken={access_token:stsResponse.access_token,res:stsResponse.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(audience){const match=audience.match(/\/projects\/([^/]+)/);return match?match[1]:null}async getImpersonatedAccessToken(token){const opts={..._BaseExternalAccountClient.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${token}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"},responseType:"json"};authclient_1.AuthClient.setMethodName(opts,"getImpersonatedAccessToken");const response=await this.transporter.request(opts),successResponse=response.data;return{access_token:successResponse.accessToken,expiry_date:new Date(successResponse.expireTime).getTime(),res:response}}isExpired(accessToken){const now=(new Date).getTime();return!!accessToken.expiry_date&&now>=accessToken.expiry_date-this.eagerRefreshThresholdMillis}getScopesArray(){return"string"==typeof this.scopes?[this.scopes]:this.scopes||[DEFAULT_OAUTH_SCOPE]}getMetricsHeaderValue(){const nodeVersion=process.version.replace(/^v/,""),saImpersonation=void 0!==this.serviceAccountImpersonationUrl,credentialSourceType=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${nodeVersion} auth/${shared_cjs_1.pkg.version} google-byoid-sdk source/${credentialSourceType} sa-impersonation/${saImpersonation} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};exports.BaseExternalAccountClient=BaseExternalAccountClient}}),require_filesubjecttokensupplier=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/filesubjecttokensupplier.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.FileSubjectTokenSupplier=void 0;var util_1=__require("util"),fs2=__require("fs"),readFile=(0,util_1.promisify)(fs2.readFile??(()=>{})),realpath=(0,util_1.promisify)(fs2.realpath??(()=>{})),lstat=(0,util_1.promisify)(fs2.lstat??(()=>{}));exports.FileSubjectTokenSupplier=class{filePath;formatType;subjectTokenFieldName;constructor(opts){this.filePath=opts.filePath,this.formatType=opts.formatType,this.subjectTokenFieldName=opts.subjectTokenFieldName}async getSubjectToken(){let subjectToken,parsedFilePath=this.filePath;try{if(parsedFilePath=await realpath(parsedFilePath),!(await lstat(parsedFilePath)).isFile())throw new Error}catch(err){throw err instanceof Error&&(err.message=`The file at ${parsedFilePath} does not exist, or it is not a file. ${err.message}`),err}const rawText=await readFile(parsedFilePath,{encoding:"utf8"});if("text"===this.formatType)subjectToken=rawText;else if("json"===this.formatType&&this.subjectTokenFieldName){subjectToken=JSON.parse(rawText)[this.subjectTokenFieldName]}if(!subjectToken)throw new Error("Unable to parse the subject_token from the credential_source file");return subjectToken}}}}),require_urlsubjecttokensupplier=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/urlsubjecttokensupplier.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.UrlSubjectTokenSupplier=void 0;var authclient_1=require_authclient();exports.UrlSubjectTokenSupplier=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(opts){this.url=opts.url,this.formatType=opts.formatType,this.subjectTokenFieldName=opts.subjectTokenFieldName,this.headers=opts.headers,this.additionalGaxiosOptions=opts.additionalGaxiosOptions}async getSubjectToken(context){const opts={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers,responseType:this.formatType};let subjectToken;if(authclient_1.AuthClient.setMethodName(opts,"getSubjectToken"),"text"===this.formatType){subjectToken=(await context.transporter.request(opts)).data}else if("json"===this.formatType&&this.subjectTokenFieldName){subjectToken=(await context.transporter.request(opts)).data[this.subjectTokenFieldName]}if(!subjectToken)throw new Error("Unable to parse the subject_token from the credential_source URL");return subjectToken}}}}),require_certificatesubjecttokensupplier=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/certificatesubjecttokensupplier.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.CertificateSubjectTokenSupplier=exports.InvalidConfigurationError=exports.CertificateSourceUnavailableError=exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var util_1=require_util2(),fs2=__require("fs"),crypto_1=__require("crypto"),https2=__require("https");exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var CertificateSourceUnavailableError=class extends Error{constructor(message){super(message),this.name="CertificateSourceUnavailableError"}};exports.CertificateSourceUnavailableError=CertificateSourceUnavailableError;var InvalidConfigurationError=class extends Error{constructor(message){super(message),this.name="InvalidConfigurationError"}};exports.InvalidConfigurationError=InvalidConfigurationError;exports.CertificateSubjectTokenSupplier=class{certificateConfigPath;trustChainPath;cert;key;constructor(opts){if(!opts.useDefaultCertificateConfig&&!opts.certificateConfigLocation)throw new InvalidConfigurationError("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(opts.useDefaultCertificateConfig&&opts.certificateConfigLocation)throw new InvalidConfigurationError("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=opts.trustChainPath,this.certificateConfigPath=opts.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new InvalidConfigurationError("Cannot create mTLS Agent with missing certificate or key");return new https2.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#resolveCertificateConfigFilePath();const{certPath:certPath,keyPath:keyPath}=await this.#getCertAndKeyPaths();return({cert:this.cert,key:this.key}=await this.#getKeyAndCert(certPath,keyPath)),await this.#processChainFromPaths(this.cert)}async#resolveCertificateConfigFilePath(){const overridePath=this.certificateConfigPath;if(overridePath){if(await(0,util_1.isValidFile)(overridePath))return overridePath;throw new CertificateSourceUnavailableError(`Provided certificate config path is invalid: ${overridePath}`)}const envPath=process.env[exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(envPath){if(await(0,util_1.isValidFile)(envPath))return envPath;throw new CertificateSourceUnavailableError(`Path from environment variable "${exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${envPath}`)}const wellKnownPath=(0,util_1.getWellKnownCertificateConfigFileLocation)();if(await(0,util_1.isValidFile)(wellKnownPath))return wellKnownPath;throw new CertificateSourceUnavailableError(`Could not find certificate configuration file. Searched override path, the "${exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${wellKnownPath}).`)}async#getCertAndKeyPaths(){const configPath=this.certificateConfigPath;let fileContents;try{fileContents=await fs2.promises.readFile(configPath,"utf8")}catch(err){throw new CertificateSourceUnavailableError(`Failed to read certificate config file at: ${configPath}`)}try{const config=JSON.parse(fileContents),certPath=config?.cert_configs?.workload?.cert_path,keyPath=config?.cert_configs?.workload?.key_path;if(!certPath||!keyPath)throw new InvalidConfigurationError(`Certificate config file (${configPath}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:certPath,keyPath:keyPath}}catch(e2){if(e2 instanceof InvalidConfigurationError)throw e2;throw new InvalidConfigurationError(`Failed to parse certificate config from ${configPath}: ${e2.message}`)}}async#getKeyAndCert(certPath,keyPath){let cert,key;try{cert=await fs2.promises.readFile(certPath),new crypto_1.X509Certificate(cert)}catch(err){const message=err instanceof Error?err.message:String(err);throw new CertificateSourceUnavailableError(`Failed to read certificate file at ${certPath}: ${message}`)}try{key=await fs2.promises.readFile(keyPath),(0,crypto_1.createPrivateKey)(key)}catch(err){const message=err instanceof Error?err.message:String(err);throw new CertificateSourceUnavailableError(`Failed to read private key file at ${keyPath}: ${message}`)}return{cert:cert,key:key}}async#processChainFromPaths(leafCertBuffer){const leafCert=new crypto_1.X509Certificate(leafCertBuffer);if(!this.trustChainPath)return JSON.stringify([leafCert.raw.toString("base64")]);try{const chainPems=await fs2.promises.readFile(this.trustChainPath,"utf8"),chainCerts=(chainPems.match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((pem,index)=>{try{return new crypto_1.X509Certificate(pem)}catch(err){const message=err instanceof Error?err.message:String(err);throw new InvalidConfigurationError(`Failed to parse certificate at index ${index} in trust chain file ${this.trustChainPath}: ${message}`)}}),leafIndex=chainCerts.findIndex(chainCert=>leafCert.raw.equals(chainCert.raw));let finalChain;if(-1===leafIndex)finalChain=[leafCert,...chainCerts];else{if(0!==leafIndex)throw new InvalidConfigurationError(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${leafIndex}).`);finalChain=chainCerts}return JSON.stringify(finalChain.map(cert=>cert.raw.toString("base64")))}catch(err){if(err instanceof InvalidConfigurationError)throw err;const message=err instanceof Error?err.message:String(err);throw new CertificateSourceUnavailableError(`Failed to process certificate chain from ${this.trustChainPath}: ${message}`)}}}}}),require_identitypoolclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/identitypoolclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.IdentityPoolClient=void 0;var baseexternalclient_1=require_baseexternalclient(),util_1=require_util2(),filesubjecttokensupplier_1=require_filesubjecttokensupplier(),urlsubjecttokensupplier_1=require_urlsubjecttokensupplier(),certificatesubjecttokensupplier_1=require_certificatesubjecttokensupplier(),stscredentials_1=require_stscredentials(),gaxios_1=require_src2(),IdentityPoolClient=class _IdentityPoolClient extends baseexternalclient_1.BaseExternalAccountClient{subjectTokenSupplier;constructor(options){super(options);const opts=(0,util_1.originalOrCamelOptions)(options),credentialSource=opts.get("credential_source"),subjectTokenSupplier=opts.get("subject_token_supplier");if(!credentialSource&&!subjectTokenSupplier)throw new Error("A credential source or subject token supplier must be specified.");if(credentialSource&&subjectTokenSupplier)throw new Error("Only one of credential source or subject token supplier can be specified.");if(subjectTokenSupplier)this.subjectTokenSupplier=subjectTokenSupplier,this.credentialSourceType="programmatic";else{const credentialSourceOpts=(0,util_1.originalOrCamelOptions)(credentialSource),formatOpts=(0,util_1.originalOrCamelOptions)(credentialSourceOpts.get("format")),formatType=formatOpts.get("type")||"text",formatSubjectTokenFieldName=formatOpts.get("subject_token_field_name");if("json"!==formatType&&"text"!==formatType)throw new Error(`Invalid credential_source format "${formatType}"`);if("json"===formatType&&!formatSubjectTokenFieldName)throw new Error("Missing subject_token_field_name for JSON credential_source format");const file=credentialSourceOpts.get("file"),url=credentialSourceOpts.get("url"),certificate=credentialSourceOpts.get("certificate"),headers=credentialSourceOpts.get("headers");if(file&&url||url&&certificate||file&&certificate)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(file)this.credentialSourceType="file",this.subjectTokenSupplier=new filesubjecttokensupplier_1.FileSubjectTokenSupplier({filePath:file,formatType:formatType,subjectTokenFieldName:formatSubjectTokenFieldName});else if(url)this.credentialSourceType="url",this.subjectTokenSupplier=new urlsubjecttokensupplier_1.UrlSubjectTokenSupplier({url:url,formatType:formatType,subjectTokenFieldName:formatSubjectTokenFieldName,headers:headers,additionalGaxiosOptions:_IdentityPoolClient.RETRY_CONFIG});else{if(!certificate)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');{this.credentialSourceType="certificate";const certificateSubjecttokensupplier=new certificatesubjecttokensupplier_1.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:certificate.use_default_certificate_config,certificateConfigLocation:certificate.certificate_config_location,trustChainPath:certificate.trust_chain_path});this.subjectTokenSupplier=certificateSubjecttokensupplier}}}}async retrieveSubjectToken(){const subjectToken=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof certificatesubjecttokensupplier_1.CertificateSubjectTokenSupplier){const mtlsAgent=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new stscredentials_1.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new gaxios_1.Gaxios({agent:mtlsAgent})}),this.transporter=new gaxios_1.Gaxios({...this.transporter.defaults||{},agent:mtlsAgent})}return subjectToken}};exports.IdentityPoolClient=IdentityPoolClient}}),require_awsrequestsigner=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/awsrequestsigner.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.AwsRequestSigner=void 0;var gaxios_1=require_src2(),crypto_1=require_crypto3();async function sign(crypto2,key,msg){return await crypto2.signWithHmacSha256(key,msg)}exports.AwsRequestSigner=class{getCredentials;region;crypto;constructor(getCredentials,region){this.getCredentials=getCredentials,this.region=region,this.crypto=(0,crypto_1.createCrypto)()}async getRequestOptions(amzOptions){if(!amzOptions.url)throw new RangeError('"url" is required in "amzOptions"');const requestPayloadData="object"==typeof amzOptions.data?JSON.stringify(amzOptions.data):amzOptions.data,url=amzOptions.url,method=amzOptions.method||"GET",requestPayload=amzOptions.body||requestPayloadData,additionalAmzHeaders=amzOptions.headers,awsSecurityCredentials=await this.getCredentials(),uri=new URL(url);if("string"!=typeof requestPayload&&void 0!==requestPayload)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${requestPayload}`);const headerMap=await async function(options){const additionalAmzHeaders=gaxios_1.Gaxios.mergeHeaders(options.additionalAmzHeaders),requestPayload=options.requestPayload||"",serviceName=options.host.split(".")[0],now=new Date,amzDate=now.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),dateStamp=now.toISOString().replace(/[-]/g,"").replace(/T.*/,"");options.securityCredentials.token&&additionalAmzHeaders.set("x-amz-security-token",options.securityCredentials.token);const amzHeaders=gaxios_1.Gaxios.mergeHeaders({host:options.host},additionalAmzHeaders.has("date")?{}:{"x-amz-date":amzDate},additionalAmzHeaders);let canonicalHeaders="";const signedHeadersList=[...amzHeaders.keys()].sort();signedHeadersList.forEach(key=>{canonicalHeaders+=`${key}:${amzHeaders.get(key)}\n`});const signedHeaders=signedHeadersList.join(";"),payloadHash=await options.crypto.sha256DigestHex(requestPayload),canonicalRequest=`${options.method.toUpperCase()}\n${options.canonicalUri}\n${options.canonicalQuerystring}\n${canonicalHeaders}\n${signedHeaders}\n${payloadHash}`,credentialScope=`${dateStamp}/${options.region}/${serviceName}/aws4_request`,stringToSign=`AWS4-HMAC-SHA256\n${amzDate}\n${credentialScope}\n`+await options.crypto.sha256DigestHex(canonicalRequest),signingKey=await async function(crypto2,key,dateStamp,region,serviceName){const kDate=await sign(crypto2,`AWS4${key}`,dateStamp),kRegion=await sign(crypto2,kDate,region),kService=await sign(crypto2,kRegion,serviceName);return await sign(crypto2,kService,"aws4_request")}(options.crypto,options.securityCredentials.secretAccessKey,dateStamp,options.region,serviceName),signature=await sign(options.crypto,signingKey,stringToSign),authorizationHeader=`AWS4-HMAC-SHA256 Credential=${options.securityCredentials.accessKeyId}/${credentialScope}, SignedHeaders=${signedHeaders}, Signature=${(0,crypto_1.fromArrayBufferToHex)(signature)}`;return{amzDate:additionalAmzHeaders.has("date")?void 0:amzDate,authorizationHeader:authorizationHeader,canonicalQuerystring:options.canonicalQuerystring}}({crypto:this.crypto,host:uri.host,canonicalUri:uri.pathname,canonicalQuerystring:uri.search.slice(1),method:method,region:this.region,securityCredentials:awsSecurityCredentials,requestPayload:requestPayload,additionalAmzHeaders:additionalAmzHeaders}),headers=gaxios_1.Gaxios.mergeHeaders(headerMap.amzDate?{"x-amz-date":headerMap.amzDate}:{},{authorization:headerMap.authorizationHeader,host:uri.host},additionalAmzHeaders||{});awsSecurityCredentials.token&&gaxios_1.Gaxios.mergeHeaders(headers,{"x-amz-security-token":awsSecurityCredentials.token});const awsSignedReq={url:url,method:method,headers:headers};return void 0!==requestPayload&&(awsSignedReq.body=requestPayload),awsSignedReq}}}}),require_defaultawssecuritycredentialssupplier=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/defaultawssecuritycredentialssupplier.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultAwsSecurityCredentialsSupplier=void 0;var authclient_1=require_authclient();exports.DefaultAwsSecurityCredentialsSupplier=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(opts){this.regionUrl=opts.regionUrl,this.securityCredentialsUrl=opts.securityCredentialsUrl,this.imdsV2SessionTokenUrl=opts.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=opts.additionalGaxiosOptions}async getAwsRegion(context){if(this.#regionFromEnv)return this.#regionFromEnv;const metadataHeaders=new Headers;if(!this.#regionFromEnv&&this.imdsV2SessionTokenUrl&&metadataHeaders.set("x-aws-ec2-metadata-token",await this.#getImdsV2SessionToken(context.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');const opts={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",responseType:"text",headers:metadataHeaders};authclient_1.AuthClient.setMethodName(opts,"getAwsRegion");const response=await context.transporter.request(opts);return response.data.substr(0,response.data.length-1)}async getAwsSecurityCredentials(context){if(this.#securityCredentialsFromEnv)return this.#securityCredentialsFromEnv;const metadataHeaders=new Headers;this.imdsV2SessionTokenUrl&&metadataHeaders.set("x-aws-ec2-metadata-token",await this.#getImdsV2SessionToken(context.transporter));const roleName=await this.#getAwsRoleName(metadataHeaders,context.transporter),awsCreds=await this.#retrieveAwsSecurityCredentials(roleName,metadataHeaders,context.transporter);return{accessKeyId:awsCreds.AccessKeyId,secretAccessKey:awsCreds.SecretAccessKey,token:awsCreds.Token}}async#getImdsV2SessionToken(transporter){const opts={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};authclient_1.AuthClient.setMethodName(opts,"#getImdsV2SessionToken");return(await transporter.request(opts)).data}async#getAwsRoleName(headers,transporter){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');const opts={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:headers};authclient_1.AuthClient.setMethodName(opts,"#getAwsRoleName");return(await transporter.request(opts)).data}async#retrieveAwsSecurityCredentials(roleName,headers,transporter){const opts={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${roleName}`,headers:headers,responseType:"json"};authclient_1.AuthClient.setMethodName(opts,"#retrieveAwsSecurityCredentials");return(await transporter.request(opts)).data}get#regionFromEnv(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#securityCredentialsFromEnv(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}}}}),require_awsclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/awsclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.AwsClient=void 0;var awsrequestsigner_1=require_awsrequestsigner(),baseexternalclient_1=require_baseexternalclient(),defaultawssecuritycredentialssupplier_1=require_defaultawssecuritycredentialssupplier(),util_1=require_util2(),gaxios_1=require_src2(),AwsClient=class _AwsClient extends baseexternalclient_1.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(options){super(options);const opts=(0,util_1.originalOrCamelOptions)(options),credentialSource=opts.get("credential_source"),awsSecurityCredentialsSupplier=opts.get("aws_security_credentials_supplier");if(!credentialSource&&!awsSecurityCredentialsSupplier)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(credentialSource&&awsSecurityCredentialsSupplier)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(awsSecurityCredentialsSupplier)this.awsSecurityCredentialsSupplier=awsSecurityCredentialsSupplier,this.regionalCredVerificationUrl=_AwsClient.#DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL,this.credentialSourceType="programmatic";else{const credentialSourceOpts=(0,util_1.originalOrCamelOptions)(credentialSource);this.environmentId=credentialSourceOpts.get("environment_id");const regionUrl=credentialSourceOpts.get("region_url"),securityCredentialsUrl=credentialSourceOpts.get("url"),imdsV2SessionTokenUrl=credentialSourceOpts.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new defaultawssecuritycredentialssupplier_1.DefaultAwsSecurityCredentialsSupplier({regionUrl:regionUrl,securityCredentialsUrl:securityCredentialsUrl,imdsV2SessionTokenUrl:imdsV2SessionTokenUrl}),this.regionalCredVerificationUrl=credentialSourceOpts.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){const match=this.environmentId?.match(/^(aws)(\d+)$/);if(!match||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(1!==parseInt(match[2],10))throw new Error(`aws version "${match[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new awsrequestsigner_1.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));const options=await this.awsRequestSigner.getRequestOptions({..._AwsClient.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),reformattedHeader=[];return gaxios_1.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},options.headers).forEach((value,key)=>reformattedHeader.push({key:key,value:value})),encodeURIComponent(JSON.stringify({url:options.url,method:options.method,headers:reformattedHeader}))}};exports.AwsClient=AwsClient}}),require_executable_response=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/executable-response.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.InvalidSubjectTokenError=exports.InvalidMessageFieldError=exports.InvalidCodeFieldError=exports.InvalidTokenTypeFieldError=exports.InvalidExpirationTimeFieldError=exports.InvalidSuccessFieldError=exports.InvalidVersionFieldError=exports.ExecutableResponseError=exports.ExecutableResponse=void 0;var SAML_SUBJECT_TOKEN_TYPE="urn:ietf:params:oauth:token-type:saml2";exports.ExecutableResponse=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(responseJson){if(!responseJson.version)throw new InvalidVersionFieldError("Executable response must contain a 'version' field.");if(void 0===responseJson.success)throw new InvalidSuccessFieldError("Executable response must contain a 'success' field.");if(this.version=responseJson.version,this.success=responseJson.success,this.success){if(this.expirationTime=responseJson.expiration_time,this.tokenType=responseJson.token_type,this.tokenType!==SAML_SUBJECT_TOKEN_TYPE&&"urn:ietf:params:oauth:token-type:id_token"!==this.tokenType&&"urn:ietf:params:oauth:token-type:jwt"!==this.tokenType)throw new InvalidTokenTypeFieldError(`Executable response must contain a 'token_type' field when successful and it must be one of urn:ietf:params:oauth:token-type:id_token, urn:ietf:params:oauth:token-type:jwt, or ${SAML_SUBJECT_TOKEN_TYPE}.`);if(this.tokenType===SAML_SUBJECT_TOKEN_TYPE){if(!responseJson.saml_response)throw new InvalidSubjectTokenError(`Executable response must contain a 'saml_response' field when token_type=${SAML_SUBJECT_TOKEN_TYPE}.`);this.subjectToken=responseJson.saml_response}else{if(!responseJson.id_token)throw new InvalidSubjectTokenError("Executable response must contain a 'id_token' field when token_type=urn:ietf:params:oauth:token-type:id_token or urn:ietf:params:oauth:token-type:jwt.");this.subjectToken=responseJson.id_token}}else{if(!responseJson.code)throw new InvalidCodeFieldError("Executable response must contain a 'code' field when unsuccessful.");if(!responseJson.message)throw new InvalidMessageFieldError("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=responseJson.code,this.errorMessage=responseJson.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return void 0!==this.expirationTime&&this.expirationTime<Math.round(Date.now()/1e3)}};var ExecutableResponseError=class extends Error{constructor(message){super(message),Object.setPrototypeOf(this,new.target.prototype)}};exports.ExecutableResponseError=ExecutableResponseError;var InvalidVersionFieldError=class extends ExecutableResponseError{};exports.InvalidVersionFieldError=InvalidVersionFieldError;var InvalidSuccessFieldError=class extends ExecutableResponseError{};exports.InvalidSuccessFieldError=InvalidSuccessFieldError;exports.InvalidExpirationTimeFieldError=class extends ExecutableResponseError{};var InvalidTokenTypeFieldError=class extends ExecutableResponseError{};exports.InvalidTokenTypeFieldError=InvalidTokenTypeFieldError;var InvalidCodeFieldError=class extends ExecutableResponseError{};exports.InvalidCodeFieldError=InvalidCodeFieldError;var InvalidMessageFieldError=class extends ExecutableResponseError{};exports.InvalidMessageFieldError=InvalidMessageFieldError;var InvalidSubjectTokenError=class extends ExecutableResponseError{};exports.InvalidSubjectTokenError=InvalidSubjectTokenError}}),require_pluggable_auth_handler=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/pluggable-auth-handler.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.PluggableAuthHandler=exports.ExecutableError=void 0;var executable_response_1=require_executable_response(),childProcess=__require("child_process"),fs2=__require("fs"),ExecutableError=class extends Error{code;constructor(message,code){super(`The executable failed with exit code: ${code} and error message: ${message}.`),this.code=code,Object.setPrototypeOf(this,new.target.prototype)}};exports.ExecutableError=ExecutableError;exports.PluggableAuthHandler=class _PluggableAuthHandler{commandComponents;timeoutMillis;outputFile;constructor(options){if(!options.command)throw new Error("No command provided.");if(this.commandComponents=_PluggableAuthHandler.parseCommand(options.command),this.timeoutMillis=options.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=options.outputFile}retrieveResponseFromExecutable(envMap){return new Promise((resolve,reject)=>{const child=childProcess.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(envMap)}});let output="";child.stdout.on("data",data=>{output+=data}),child.stderr.on("data",err=>{output+=err});const timeout=setTimeout(()=>(child.removeAllListeners(),child.kill(),reject(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);child.on("close",code=>{if(clearTimeout(timeout),0!==code)return reject(new ExecutableError(output,code.toString()));try{const responseJson=JSON.parse(output),response=new executable_response_1.ExecutableResponse(responseJson);return resolve(response)}catch(error){return error instanceof executable_response_1.ExecutableResponseError?reject(error):reject(new executable_response_1.ExecutableResponseError(`The executable returned an invalid response: ${output}`))}})})}async retrieveCachedResponse(){if(!this.outputFile||0===this.outputFile.length)return;let filePath;try{filePath=await fs2.promises.realpath(this.outputFile)}catch{return}if(!(await fs2.promises.lstat(filePath)).isFile())return;const responseString=await fs2.promises.readFile(filePath,{encoding:"utf8"});if(""!==responseString)try{const responseJson=JSON.parse(responseString);return new executable_response_1.ExecutableResponse(responseJson).isValid()?new executable_response_1.ExecutableResponse(responseJson):void 0}catch(error){if(error instanceof executable_response_1.ExecutableResponseError)throw error;throw new executable_response_1.ExecutableResponseError(`The output file contained an invalid response: ${responseString}`)}}static parseCommand(command){const components=command.match(/(?:[^\s"]+|"[^"]*")+/g);if(!components)throw new Error(`Provided command: "${command}" could not be parsed.`);for(let i2=0;i2<components.length;i2++)'"'===components[i2][0]&&'"'===components[i2].slice(-1)&&(components[i2]=components[i2].slice(1,-1));return components}}}}),require_pluggable_auth_client=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/pluggable-auth-client.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.PluggableAuthClient=exports.ExecutableError=void 0;var baseexternalclient_1=require_baseexternalclient(),executable_response_1=require_executable_response(),pluggable_auth_handler_1=require_pluggable_auth_handler(),pluggable_auth_handler_2=require_pluggable_auth_handler();Object.defineProperty(exports,"ExecutableError",{enumerable:!0,get:function(){return pluggable_auth_handler_2.ExecutableError}});var PluggableAuthClient=class extends baseexternalclient_1.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(options){if(super(options),!options.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=options.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(void 0===options.credential_source.executable.timeout_millis)this.timeoutMillis=3e4;else if(this.timeoutMillis=options.credential_source.executable.timeout_millis,this.timeoutMillis<5e3||this.timeoutMillis>12e4)throw new Error("Timeout must be between 5000 and 120000 milliseconds.");this.outputFile=options.credential_source.executable.output_file,this.handler=new pluggable_auth_handler_1.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if("1"!==process.env.GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES)throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let executableResponse;if(this.outputFile&&(executableResponse=await this.handler.retrieveCachedResponse()),!executableResponse){const envMap=new Map;envMap.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),envMap.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),envMap.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&envMap.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);const serviceAccountEmail=this.getServiceAccountEmail();serviceAccountEmail&&envMap.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",serviceAccountEmail),executableResponse=await this.handler.retrieveResponseFromExecutable(envMap)}if(executableResponse.version>1)throw new Error("Version of executable is not currently supported, maximum supported version is 1.");if(!executableResponse.success)throw new pluggable_auth_handler_1.ExecutableError(executableResponse.errorMessage,executableResponse.errorCode);if(this.outputFile&&!executableResponse.expirationTime)throw new executable_response_1.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(executableResponse.isExpired())throw new Error("Executable response is expired.");return executableResponse.subjectToken}};exports.PluggableAuthClient=PluggableAuthClient}}),require_externalclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/externalclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExternalAccountClient=void 0;var baseexternalclient_1=require_baseexternalclient(),identitypoolclient_1=require_identitypoolclient(),awsclient_1=require_awsclient(),pluggable_auth_client_1=require_pluggable_auth_client();exports.ExternalAccountClient=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(options){return options&&options.type===baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE?options.credential_source?.environment_id?new awsclient_1.AwsClient(options):options.credential_source?.executable?new pluggable_auth_client_1.PluggableAuthClient(options):new identitypoolclient_1.IdentityPoolClient(options):null}}}}),require_externalAccountAuthorizedUserClient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExternalAccountAuthorizedUserClient=exports.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var authclient_1=require_authclient(),oauth2common_1=require_oauth2common(),gaxios_1=require_src2(),stream=__require("stream"),baseexternalclient_1=require_baseexternalclient();exports.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var ExternalAccountAuthorizedUserHandler=class _ExternalAccountAuthorizedUserHandler extends oauth2common_1.OAuthClientAuthHandler{#tokenRefreshEndpoint;constructor(options){super(options),this.#tokenRefreshEndpoint=options.tokenRefreshEndpoint}async refreshToken(refreshToken,headers){const opts={..._ExternalAccountAuthorizedUserHandler.RETRY_CONFIG,url:this.#tokenRefreshEndpoint,method:"POST",headers:headers,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:refreshToken}),responseType:"json"};authclient_1.AuthClient.setMethodName(opts,"refreshToken"),this.applyClientAuthenticationOptions(opts);try{const response=await this.transporter.request(opts),tokenRefreshResponse=response.data;return tokenRefreshResponse.res=response,tokenRefreshResponse}catch(error){if(error instanceof gaxios_1.GaxiosError&&error.response)throw(0,oauth2common_1.getErrorFromOAuthErrorResponse)(error.response.data,error);throw error}}},ExternalAccountAuthorizedUserClient=class extends authclient_1.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(options){super(options),options.universe_domain&&(this.universeDomain=options.universe_domain),this.refreshToken=options.refresh_token;const clientAuthentication={confidentialClientType:"basic",clientId:options.client_id,clientSecret:options.client_secret};this.externalAccountAuthorizedUserHandler=new ExternalAccountAuthorizedUserHandler({tokenRefreshEndpoint:options.token_url??"https://sts.{universeDomain}/v1/oauthtoken".replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:clientAuthentication}),this.cachedAccessToken=null,this.quotaProjectId=options.quota_project_id,this.eagerRefreshThresholdMillis="number"!=typeof options?.eagerRefreshThresholdMillis?baseexternalclient_1.EXPIRATION_TIME_OFFSET:options.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!options?.forceRefreshOnFailure}async getAccessToken(){return this.cachedAccessToken&&!this.isExpired(this.cachedAccessToken)||await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){const accessTokenResponse=await this.getAccessToken(),headers=new Headers({authorization:`Bearer ${accessTokenResponse.token}`});return this.addSharedMetadataHeaders(headers)}request(opts,callback){if(!callback)return this.requestAsync(opts);this.requestAsync(opts).then(r2=>callback(null,r2),e2=>callback(e2,e2.response))}async requestAsync(opts,reAuthRetried=!1){let response;try{const requestHeaders=await this.getRequestHeaders();opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers),this.addUserProjectAndAuthHeaders(opts.headers,requestHeaders),response=await this.transporter.request(opts)}catch(e2){const res=e2.response;if(res){const statusCode=res.status,isReadableStream=res.config.data instanceof stream.Readable;if(!reAuthRetried&&(401===statusCode||403===statusCode)&&!isReadableStream&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(opts,!0)}throw e2}return response}async refreshAccessTokenAsync(){const refreshResponse=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:refreshResponse.access_token,expiry_date:(new Date).getTime()+1e3*refreshResponse.expires_in,res:refreshResponse.res},void 0!==refreshResponse.refresh_token&&(this.refreshToken=refreshResponse.refresh_token),this.cachedAccessToken}isExpired(credentials){const now=(new Date).getTime();return!!credentials.expiry_date&&now>=credentials.expiry_date-this.eagerRefreshThresholdMillis}};exports.ExternalAccountAuthorizedUserClient=ExternalAccountAuthorizedUserClient}}),require_googleauth=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/googleauth.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.GoogleAuth=exports.GoogleAuthExceptionMessages=void 0;var child_process_1=__require("child_process"),fs2=__require("fs"),gaxios_1=require_src2(),gcpMetadata=require_src4(),os=__require("os"),path=__require("path"),crypto_1=require_crypto3(),computeclient_1=require_computeclient(),idtokenclient_1=require_idtokenclient(),envDetect_1=require_envDetect(),jwtclient_1=require_jwtclient(),refreshclient_1=require_refreshclient(),impersonated_1=require_impersonated(),externalclient_1=require_externalclient(),baseexternalclient_1=require_baseexternalclient(),authclient_1=require_authclient(),externalAccountAuthorizedUserClient_1=require_externalAccountAuthorizedUserClient(),util_1=require_util2();exports.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:"Unable to detect a Project Id in the current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_CREDENTIALS_FOUND:"Unable to find credentials in current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:"Unable to detect a Universe Domain in the current environment.\nTo learn more about Universe Domain retrieval, visit: \nhttps://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"};exports.GoogleAuth=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#pendingAuthClient=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(opts={}){if(this._cachedProjectId=opts.projectId||null,this.cachedCredential=opts.authClient||null,this.keyFilename=opts.keyFilename||opts.keyFile,this.scopes=opts.scopes,this.clientOptions=opts.clientOptions||{},this.jsonContent=opts.credentials||null,this.apiKey=opts.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(exports.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);opts.universeDomain&&(this.clientOptions.universeDomain=opts.universeDomain)}setGapicJWTValues(client){client.defaultServicePath=this.defaultServicePath,client.useJWTAccessWithScope=this.useJWTAccessWithScope,client.defaultScopes=this.defaultScopes}getProjectId(callback){if(!callback)return this.getProjectIdAsync();this.getProjectIdAsync().then(r2=>callback(null,r2),callback)}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e2){if(e2 instanceof Error&&e2.message===exports.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e2}}async findAndCacheProjectId(){let projectId=null;if(projectId||=await this.getProductionProjectId(),projectId||=await this.getFileProjectId(),projectId||=await this.getDefaultServiceProjectId(),projectId||=await this.getGCEProjectId(),projectId||=await this.getExternalAccountClientProjectId(),projectId)return this._cachedProjectId=projectId,projectId;throw new Error(exports.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let universeDomain;try{universeDomain=await gcpMetadata.universe("universe-domain"),universeDomain||=authclient_1.DEFAULT_UNIVERSE}catch(e2){if(!e2||404!==e2?.response?.status)throw e2;universeDomain=authclient_1.DEFAULT_UNIVERSE}return universeDomain}async getUniverseDomain(){let universeDomain=(0,util_1.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{universeDomain??=(await this.getClient()).universeDomain}catch{universeDomain??=authclient_1.DEFAULT_UNIVERSE}return universeDomain}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(optionsOrCallback={},callback){let options;if("function"==typeof optionsOrCallback?callback=optionsOrCallback:options=optionsOrCallback,!callback)return this.getApplicationDefaultAsync(options);this.getApplicationDefaultAsync(options).then(r2=>callback(null,r2.credential,r2.projectId),callback)}async getApplicationDefaultAsync(options={}){if(this.cachedCredential)return await this.#prepareAndCacheClient(this.cachedCredential,null);let credential;if(credential=await this._tryGetApplicationCredentialsFromEnvironmentVariable(options),credential)return credential instanceof jwtclient_1.JWT?credential.scopes=this.scopes:credential instanceof baseexternalclient_1.BaseExternalAccountClient&&(credential.scopes=this.getAnyScopes()),await this.#prepareAndCacheClient(credential);if(credential=await this._tryGetApplicationCredentialsFromWellKnownFile(options),credential)return credential instanceof jwtclient_1.JWT?credential.scopes=this.scopes:credential instanceof baseexternalclient_1.BaseExternalAccountClient&&(credential.scopes=this.getAnyScopes()),await this.#prepareAndCacheClient(credential);if(await this._checkIsGCE())return options.scopes=this.getAnyScopes(),await this.#prepareAndCacheClient(new computeclient_1.Compute(options));throw new Error(exports.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#prepareAndCacheClient(credential,quotaProjectIdOverride=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){const projectId=await this.getProjectIdOptional();return quotaProjectIdOverride&&(credential.quotaProjectId=quotaProjectIdOverride),this.cachedCredential=credential,{credential:credential,projectId:projectId}}async _checkIsGCE(){return void 0===this.checkIsGCE&&(this.checkIsGCE=gcpMetadata.getGCPResidency()||await gcpMetadata.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(options){const credentialsPath=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!credentialsPath||0===credentialsPath.length)return null;try{return this._getApplicationCredentialsFromFilePath(credentialsPath,options)}catch(e2){throw e2 instanceof Error&&(e2.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${e2.message}`),e2}}async _tryGetApplicationCredentialsFromWellKnownFile(options){let location=null;if(this._isWindows())location=process.env.APPDATA;else{const home=process.env.HOME;home&&(location=path.join(home,".config"))}if(location&&(location=path.join(location,"gcloud","application_default_credentials.json"),fs2.existsSync(location)||(location=null)),!location)return null;return await this._getApplicationCredentialsFromFilePath(location,options)}async _getApplicationCredentialsFromFilePath(filePath,options={}){if(!filePath||0===filePath.length)throw new Error("The file path is invalid.");try{if(filePath=fs2.realpathSync(filePath),!fs2.lstatSync(filePath).isFile())throw new Error}catch(err){throw err instanceof Error&&(err.message=`The file at ${filePath} does not exist, or it is not a file. ${err.message}`),err}const readStream=fs2.createReadStream(filePath);return this.fromStream(readStream,options)}fromImpersonatedJSON(json){if(!json)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(json.type!==impersonated_1.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${impersonated_1.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!json.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!json.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");const sourceClient=this.fromJSON(json.source_credentials);if(json.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${json.service_account_impersonation_url}`);const targetPrincipal=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(json.service_account_impersonation_url)?.groups?.target;if(!targetPrincipal)throw new RangeError(`Cannot extract target principal from ${json.service_account_impersonation_url}`);const targetScopes=(this.scopes||json.scopes||this.defaultScopes)??[];return new impersonated_1.Impersonated({...json,sourceClient:sourceClient,targetPrincipal:targetPrincipal,targetScopes:Array.isArray(targetScopes)?targetScopes:[targetScopes]})}fromJSON(json,options={}){let client;const preferredUniverseDomain=(0,util_1.originalOrCamelOptions)(options).get("universe_domain");return json.type===refreshclient_1.USER_REFRESH_ACCOUNT_TYPE?(client=new refreshclient_1.UserRefreshClient(options),client.fromJSON(json)):json.type===impersonated_1.IMPERSONATED_ACCOUNT_TYPE?client=this.fromImpersonatedJSON(json):json.type===baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE?(client=externalclient_1.ExternalAccountClient.fromJSON({...json,...options}),client.scopes=this.getAnyScopes()):json.type===externalAccountAuthorizedUserClient_1.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?client=new externalAccountAuthorizedUserClient_1.ExternalAccountAuthorizedUserClient({...json,...options}):(options.scopes=this.scopes,client=new jwtclient_1.JWT(options),this.setGapicJWTValues(client),client.fromJSON(json)),preferredUniverseDomain&&(client.universeDomain=preferredUniverseDomain),client}_cacheClientFromJSON(json,options){const client=this.fromJSON(json,options);return this.jsonContent=json,this.cachedCredential=client,client}fromStream(inputStream,optionsOrCallback={},callback){let options={};if("function"==typeof optionsOrCallback?callback=optionsOrCallback:options=optionsOrCallback,!callback)return this.fromStreamAsync(inputStream,options);this.fromStreamAsync(inputStream,options).then(r2=>callback(null,r2),callback)}fromStreamAsync(inputStream,options){return new Promise((resolve,reject)=>{if(!inputStream)throw new Error("Must pass in a stream containing the Google auth settings.");const chunks=[];inputStream.setEncoding("utf8").on("error",reject).on("data",chunk=>chunks.push(chunk)).on("end",()=>{try{try{const data=JSON.parse(chunks.join("")),r2=this._cacheClientFromJSON(data,options);return resolve(r2)}catch(err){if(!this.keyFilename)throw err;const client=new jwtclient_1.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=client,this.setGapicJWTValues(client),resolve(client)}}catch(err){return reject(err)}})})}fromAPIKey(apiKey,options={}){return new jwtclient_1.JWT({...options,apiKey:apiKey})}_isWindows(){const sys=os.platform();return!!(sys&&sys.length>=3&&"win"===sys.substring(0,3).toLowerCase())}async getDefaultServiceProjectId(){return new Promise(resolve=>{(0,child_process_1.exec)("gcloud config config-helper --format json",(err,stdout)=>{if(!err&&stdout)try{const projectId=JSON.parse(stdout).configuration.properties.core.project;return void resolve(projectId)}catch(e2){}resolve(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){const creds=await this.getClient();if(creds&&creds.projectId)return creds.projectId}const r2=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return r2?r2.projectId:null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE)return null;const creds=await this.getClient();return await creds.getProjectId()}async getGCEProjectId(){try{return await gcpMetadata.project("project-id")}catch(e2){return null}}getCredentials(callback){if(!callback)return this.getCredentialsAsync();this.getCredentialsAsync().then(r2=>callback(null,r2),callback)}async getCredentialsAsync(){const client=await this.getClient();if(client instanceof impersonated_1.Impersonated)return{client_email:client.getTargetPrincipal()};if(client instanceof baseexternalclient_1.BaseExternalAccountClient){const serviceAccountEmail=client.getServiceAccountEmail();if(serviceAccountEmail)return{client_email:serviceAccountEmail,universe_domain:client.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){const[client_email,universe_domain]=await Promise.all([gcpMetadata.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:client_email,universe_domain:universe_domain}}throw new Error(exports.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#pendingAuthClient=this.#pendingAuthClient||this.#determineClient();try{return await this.#pendingAuthClient}finally{this.#pendingAuthClient=null}}async#determineClient(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){const filePath=path.resolve(this.keyFilename),stream=fs2.createReadStream(filePath);return await this.fromStreamAsync(stream,this.clientOptions)}if(this.apiKey){const client=await this.fromAPIKey(this.apiKey,this.clientOptions);client.scopes=this.scopes;const{credential:credential}=await this.#prepareAndCacheClient(client);return credential}{const{credential:credential}=await this.getApplicationDefaultAsync(this.clientOptions);return credential}}async getIdTokenClient(targetAudience){const client=await this.getClient();if(!("fetchIdToken"in client))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new idtokenclient_1.IdTokenClient({targetAudience:targetAudience,idTokenProvider:client})}async getAccessToken(){const client=await this.getClient();return(await client.getAccessToken()).token}async getRequestHeaders(url){return(await this.getClient()).getRequestHeaders(url)}async authorizeRequest(opts={}){const url=opts.url,client=await this.getClient(),headers=await client.getRequestHeaders(url);return opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers,headers),opts}async fetch(...args){return(await this.getClient()).fetch(...args)}async request(opts){return(await this.getClient()).request(opts)}getEnv(){return(0,envDetect_1.getEnv)()}async sign(data,endpoint){const client=await this.getClient(),universe=await this.getUniverseDomain();if(endpoint=endpoint||`https://iamcredentials.${universe}/v1/projects/-/serviceAccounts/`,client instanceof impersonated_1.Impersonated){return(await client.sign(data)).signedBlob}const crypto2=(0,crypto_1.createCrypto)();if(client instanceof jwtclient_1.JWT&&client.key){return await crypto2.sign(client.key,data)}const creds=await this.getCredentials();if(!creds.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(crypto2,creds.client_email,data,endpoint)}async signBlob(crypto2,emailOrUniqueId,data,endpoint){const url=new URL(endpoint+`${emailOrUniqueId}:signBlob`);return(await this.request({method:"POST",url:url.href,data:{payload:crypto2.encodeBase64StringUtf8(data)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}}}),require_iam=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/iam.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.IAMAuth=void 0;exports.IAMAuth=class{selector;token;constructor(selector,token){this.selector=selector,this.token=token,this.selector=selector,this.token=token}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}}}}),require_downscopedclient=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/downscopedclient.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownscopedClient=exports.EXPIRATION_TIME_OFFSET=exports.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var gaxios_1=require_src2(),stream=__require("stream"),authclient_1=require_authclient(),sts=require_stscredentials();exports.MAX_ACCESS_BOUNDARY_RULES_COUNT=10,exports.EXPIRATION_TIME_OFFSET=3e5;var DownscopedClient=class extends authclient_1.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(options,credentialAccessBoundary={accessBoundary:{accessBoundaryRules:[]}}){if(super(options instanceof authclient_1.AuthClient?{}:options),options instanceof authclient_1.AuthClient?(this.authClient=options,this.credentialAccessBoundary=credentialAccessBoundary):(this.authClient=options.authClient,this.credentialAccessBoundary=options.credentialAccessBoundary),0===this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>exports.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${exports.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(const rule of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(0===rule.availablePermissions.length)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new sts.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(credentials){if(!credentials.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(credentials),this.cachedDownscopedAccessToken=credentials}async getAccessToken(){return this.cachedDownscopedAccessToken&&!this.isExpired(this.cachedDownscopedAccessToken)||await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){const accessTokenResponse=await this.getAccessToken(),headers=new Headers({authorization:`Bearer ${accessTokenResponse.token}`});return this.addSharedMetadataHeaders(headers)}request(opts,callback){if(!callback)return this.requestAsync(opts);this.requestAsync(opts).then(r2=>callback(null,r2),e2=>callback(e2,e2.response))}async requestAsync(opts,reAuthRetried=!1){let response;try{const requestHeaders=await this.getRequestHeaders();opts.headers=gaxios_1.Gaxios.mergeHeaders(opts.headers),this.addUserProjectAndAuthHeaders(opts.headers,requestHeaders),response=await this.transporter.request(opts)}catch(e2){const res=e2.response;if(res){const statusCode=res.status,isReadableStream=res.config.data instanceof stream.Readable;if(!reAuthRetried&&(401===statusCode||403===statusCode)&&!isReadableStream&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(opts,!0)}throw e2}return response}async refreshAccessTokenAsync(){const stsCredentialsOptions={grantType:"urn:ietf:params:oauth:grant-type:token-exchange",requestedTokenType:"urn:ietf:params:oauth:token-type:access_token",subjectToken:(await this.authClient.getAccessToken()).token,subjectTokenType:"urn:ietf:params:oauth:token-type:access_token"},stsResponse=await this.stsCredential.exchangeToken(stsCredentialsOptions,void 0,this.credentialAccessBoundary),sourceCredExpireDate=this.authClient.credentials?.expiry_date||null,expiryDate=stsResponse.expires_in?(new Date).getTime()+1e3*stsResponse.expires_in:sourceCredExpireDate;return this.cachedDownscopedAccessToken={access_token:stsResponse.access_token,expiry_date:expiryDate,res:stsResponse.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(downscopedAccessToken){const now=(new Date).getTime();return!!downscopedAccessToken.expiry_date&&now>=downscopedAccessToken.expiry_date-this.eagerRefreshThresholdMillis}};exports.DownscopedClient=DownscopedClient}}),require_passthrough=__commonJS({"../../../../node_modules/google-auth-library/build/src/auth/passthrough.js"(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.PassThroughClient=void 0;var authclient_1=require_authclient(),PassThroughClient=class extends authclient_1.AuthClient{async request(opts){return this.transporter.request(opts)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};exports.PassThroughClient=PassThroughClient}}),require_src5=__commonJS({"../../../../node_modules/google-auth-library/build/src/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?function(o,m2,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);desc&&!("get"in desc?!m2.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m2,k,k2){void 0===k2&&(k2=k),o[k2]=m2[k]}),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)"default"===p||Object.prototype.hasOwnProperty.call(exports2,p)||__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GoogleAuth=exports.auth=exports.PassThroughClient=exports.ExternalAccountAuthorizedUserClient=exports.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=exports.ExecutableError=exports.PluggableAuthClient=exports.DownscopedClient=exports.BaseExternalAccountClient=exports.ExternalAccountClient=exports.IdentityPoolClient=exports.AwsRequestSigner=exports.AwsClient=exports.UserRefreshClient=exports.LoginTicket=exports.ClientAuthentication=exports.OAuth2Client=exports.CodeChallengeMethod=exports.Impersonated=exports.JWT=exports.JWTAccess=exports.IdTokenClient=exports.IAMAuth=exports.GCPEnv=exports.Compute=exports.DEFAULT_UNIVERSE=exports.AuthClient=exports.gaxios=exports.gcpMetadata=void 0;var googleauth_1=require_googleauth();Object.defineProperty(exports,"GoogleAuth",{enumerable:!0,get:function(){return googleauth_1.GoogleAuth}}),exports.gcpMetadata=require_src4(),exports.gaxios=require_src2();var authclient_1=require_authclient();Object.defineProperty(exports,"AuthClient",{enumerable:!0,get:function(){return authclient_1.AuthClient}}),Object.defineProperty(exports,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return authclient_1.DEFAULT_UNIVERSE}});var computeclient_1=require_computeclient();Object.defineProperty(exports,"Compute",{enumerable:!0,get:function(){return computeclient_1.Compute}});var envDetect_1=require_envDetect();Object.defineProperty(exports,"GCPEnv",{enumerable:!0,get:function(){return envDetect_1.GCPEnv}});var iam_1=require_iam();Object.defineProperty(exports,"IAMAuth",{enumerable:!0,get:function(){return iam_1.IAMAuth}});var idtokenclient_1=require_idtokenclient();Object.defineProperty(exports,"IdTokenClient",{enumerable:!0,get:function(){return idtokenclient_1.IdTokenClient}});var jwtaccess_1=require_jwtaccess();Object.defineProperty(exports,"JWTAccess",{enumerable:!0,get:function(){return jwtaccess_1.JWTAccess}});var jwtclient_1=require_jwtclient();Object.defineProperty(exports,"JWT",{enumerable:!0,get:function(){return jwtclient_1.JWT}});var impersonated_1=require_impersonated();Object.defineProperty(exports,"Impersonated",{enumerable:!0,get:function(){return impersonated_1.Impersonated}});var oauth2client_1=require_oauth2client();Object.defineProperty(exports,"CodeChallengeMethod",{enumerable:!0,get:function(){return oauth2client_1.CodeChallengeMethod}}),Object.defineProperty(exports,"OAuth2Client",{enumerable:!0,get:function(){return oauth2client_1.OAuth2Client}}),Object.defineProperty(exports,"ClientAuthentication",{enumerable:!0,get:function(){return oauth2client_1.ClientAuthentication}});var loginticket_1=require_loginticket();Object.defineProperty(exports,"LoginTicket",{enumerable:!0,get:function(){return loginticket_1.LoginTicket}});var refreshclient_1=require_refreshclient();Object.defineProperty(exports,"UserRefreshClient",{enumerable:!0,get:function(){return refreshclient_1.UserRefreshClient}});var awsclient_1=require_awsclient();Object.defineProperty(exports,"AwsClient",{enumerable:!0,get:function(){return awsclient_1.AwsClient}});var awsrequestsigner_1=require_awsrequestsigner();Object.defineProperty(exports,"AwsRequestSigner",{enumerable:!0,get:function(){return awsrequestsigner_1.AwsRequestSigner}});var identitypoolclient_1=require_identitypoolclient();Object.defineProperty(exports,"IdentityPoolClient",{enumerable:!0,get:function(){return identitypoolclient_1.IdentityPoolClient}});var externalclient_1=require_externalclient();Object.defineProperty(exports,"ExternalAccountClient",{enumerable:!0,get:function(){return externalclient_1.ExternalAccountClient}});var baseexternalclient_1=require_baseexternalclient();Object.defineProperty(exports,"BaseExternalAccountClient",{enumerable:!0,get:function(){return baseexternalclient_1.BaseExternalAccountClient}});var downscopedclient_1=require_downscopedclient();Object.defineProperty(exports,"DownscopedClient",{enumerable:!0,get:function(){return downscopedclient_1.DownscopedClient}});var pluggable_auth_client_1=require_pluggable_auth_client();Object.defineProperty(exports,"PluggableAuthClient",{enumerable:!0,get:function(){return pluggable_auth_client_1.PluggableAuthClient}}),Object.defineProperty(exports,"ExecutableError",{enumerable:!0,get:function(){return pluggable_auth_client_1.ExecutableError}});var externalAccountAuthorizedUserClient_1=require_externalAccountAuthorizedUserClient();Object.defineProperty(exports,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return externalAccountAuthorizedUserClient_1.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}}),Object.defineProperty(exports,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return externalAccountAuthorizedUserClient_1.ExternalAccountAuthorizedUserClient}});var passthrough_1=require_passthrough();Object.defineProperty(exports,"PassThroughClient",{enumerable:!0,get:function(){return passthrough_1.PassThroughClient}}),__exportStar(require_googleToken(),exports);var auth=new googleauth_1.GoogleAuth;exports.auth=auth}});var types_exports={},schemas_exports={};__export(schemas_exports,{CorsOptionsSchema:()=>CorsOptionsSchema,CorsOrigin:()=>CorsOrigin,HttpMethod:()=>HttpMethod,SettingsSchema:()=>SettingsSchema,settings:()=>settings});import{zodToSchema}from"@walkeros/core/dev";import{z as z2}from"@walkeros/core/dev";import{z}from"@walkeros/core/dev";var HttpMethod=z.enum(["GET","POST","PUT","PATCH","DELETE","OPTIONS","HEAD"]),CorsOrigin=z.union([z.string(),z.array(z.string()),z.literal("*")]),CorsOptionsSchema=z.object({origin:CorsOrigin.describe("Allowed origins (* for all, URL string, or array of URLs)").optional(),methods:z.array(HttpMethod).describe("Allowed HTTP methods").optional(),headers:z.array(z.string()).describe("Allowed request headers").optional(),credentials:z.boolean().describe("Allow credentials (cookies, authorization headers)").optional(),maxAge:z.number().int().positive().describe("Preflight cache duration in seconds").optional()}),SettingsSchema=z2.object({cors:z2.union([z2.boolean(),CorsOptionsSchema]).describe("CORS configuration: false = disabled, true = allow all origins, object = custom configuration").optional(),timeout:z2.number().int().positive().max(54e4).describe("Request timeout in milliseconds (max: 540000 for GCP)").optional()}),settings=zodToSchema(SettingsSchema),examples_exports={};__export(examples_exports,{createTrigger:()=>createTrigger,env:()=>env_exports,step:()=>step_exports});var env_exports={};__export(env_exports,{push:()=>push});var createMockElbFn=()=>()=>Promise.resolve({ok:!0}),noopFn=()=>{},noopLogger={error:noopFn,warn:noopFn,info:noopFn,debug:noopFn,throw:message=>{throw"string"==typeof message?new Error(message):message},json:noopFn,scope:()=>noopLogger},push={get push(){return createMockElbFn()},get command(){return createMockElbFn()},get elb(){return createMockElbFn()},logger:noopLogger},step_exports={};__export(step_exports,{orderEvent:()=>orderEvent,postEvent:()=>postEvent});var postEvent={title:"POST event",description:"A GCP Cloud Function HTTP POST with a JSON body becomes a single walker elb event.",trigger:{type:"POST"},in:{method:"POST",body:{event:"page view",data:{title:"Home",url:"https://example.com/"}},headers:{"content-type":"application/json"}},out:[["elb",{name:"page view",data:{title:"Home",url:"https://example.com/"}}]]},orderEvent={title:"Order POST",description:"A Cloud Function HTTP POST carrying an order payload becomes a walker order complete event.",trigger:{type:"POST"},in:{method:"POST",body:{event:"order complete",data:{id:"ORD-700",total:99.99,currency:"EUR"}},headers:{"content-type":"application/json"}},out:[["elb",{name:"order complete",data:{id:"ORD-700",total:99.99,currency:"EUR"}}]]};import{startFlow}from"@walkeros/collector";var createTrigger=async config=>{let flow;return{get flow(){return flow},trigger:()=>async content=>{if(!flow){const result=await startFlow(config);flow={collector:result.collector,elb:result.elb}}const source=function(collector){for(const source of Object.values(collector.sources||{}))if("cloudfunction"===source.type)return source}(flow.collector);if(!source)throw new Error("CloudFunction source not found in collector — ensure it is configured in sources");const body={...content.body};body.name&&!body.event&&(body.event=body.name,delete body.name);const headers=content.headers||{"content-type":"application/json"},req={method:content.method,body:body,headers:headers,get:h2=>headers[h2.toLowerCase()]};let responseBody,statusCode=200;const res={status:code=>(statusCode=code,res),json:data=>(responseBody=data,res),send:data=>(responseBody=data,res),set:()=>res};return await source.push(req,res),{status:statusCode,body:responseBody}}}},DEFAULT_SETTINGS={cors:!0,timeout:3e4},cloudfunction_default=async context=>{const{config:config={},env:env,setIngest:setIngest}=context,{push:envPush}=env,settings2={...DEFAULT_SETTINGS,...config.settings||{}};return{type:"cloudfunction",config:{...config,settings:settings2},push:async(req,res)=>{try{if(function(res,corsOptions){if(corsOptions)if(!0===corsOptions)res.set("Access-Control-Allow-Origin","*"),res.set("Access-Control-Allow-Methods","POST, OPTIONS"),res.set("Access-Control-Allow-Headers","Content-Type, Authorization"),res.set("Access-Control-Max-Age","3600");else{if(corsOptions.origin){const origin=Array.isArray(corsOptions.origin)?corsOptions.origin.join(", "):corsOptions.origin;res.set("Access-Control-Allow-Origin",origin)}corsOptions.methods&&res.set("Access-Control-Allow-Methods",corsOptions.methods.join(", ")),corsOptions.headers&&res.set("Access-Control-Allow-Headers",corsOptions.headers.join(", ")),corsOptions.credentials&&res.set("Access-Control-Allow-Credentials","true"),void 0!==corsOptions.maxAge&&res.set("Access-Control-Max-Age",corsOptions.maxAge.toString())}}(res,settings2.cors||!1),"OPTIONS"===req.method)return void res.status(204).send();if(await setIngest(req),"POST"!==req.method)return void res.status(405).json({success:!1,error:"Method not allowed. Use POST."});let body=req.body;if("string"==typeof body)try{body=JSON.parse(body)}catch{}if(body&&"object"==typeof body&&function(body){return"event"in body&&"string"==typeof body.event}(body)){const result=await async function(eventReq,push2){try{const result=await push2({name:eventReq.event,data:eventReq.data||{},context:eventReq.context,user:eventReq.user,globals:eventReq.globals,consent:eventReq.consent});return{id:result?.event?.id}}catch(error){return{error:error instanceof Error?error.message:"Unknown error"}}}(body,envPush);result.error?res.status(400).json({success:!1,error:result.error}):res.status(200).json({success:!0,id:result.id})}else{const result=await envPush({});res.status(200).json({success:!0,id:result?.event?.id})}}catch(error){res.status(500).json({success:!1,error:error instanceof Error?error.message:"Internal server error"})}}}};import{Duration}from"@google-cloud/pubsub";var DecoderError=class extends Error{constructor(message){super(message),this.name="DecoderError"}};function decodeMessage(message,decoder){if("raw"===decoder)return message.data;const text=message.data.toString("utf8");if("text"===decoder)return text;try{return JSON.parse(text)}catch(err){throw new DecoderError(`Pub/Sub message ${message.id} JSON decode failed: ${err instanceof Error?err.message:String(err)}`)}}import{isObject}from"@walkeros/core";import{PubSub}from"@google-cloud/pubsub";function getConfig(partialConfig={},env,logger){const settings2=partialConfig.settings??{},projectId="string"==typeof settings2.projectId?settings2.projectId:"",subscription="string"==typeof settings2.subscription?settings2.subscription:"";projectId||logger.throw("Config settings projectId missing"),subscription||logger.throw("Config settings subscription missing");const credentials=function(raw,logger){if(void 0===raw)return;if("string"==typeof raw)try{const parsed=JSON.parse(raw);return function(value){if(!isObject(value))return!1;const candidate=value;return"string"==typeof candidate.client_email&&"string"==typeof candidate.private_key}(parsed)?parsed:void logger.throw("Invalid credentials JSON")}catch{return void logger.throw("Invalid credentials JSON")}return raw}(settings2.credentials,logger);let client=settings2.client;if(!client){client=new(env?.PubSub??PubSub)(function(input){const result={projectId:input.projectId};void 0!==input.credentials&&"string"!=typeof input.credentials&&(result.credentials=input.credentials);input.apiEndpoint&&(result.apiEndpoint=input.apiEndpoint);return result}({projectId:projectId,credentials:credentials,apiEndpoint:settings2.apiEndpoint}))}const flowControl=settings2.flowControl??{},resolvedFlowControl={maxMessages:flowControl.maxMessages??100,maxBytes:flowControl.maxBytes??10485760},settingsConfig={...settings2,client:client,projectId:projectId,subscription:subscription,credentials:credentials,decoder:settings2.decoder??"json",flowControl:resolvedFlowControl,ackDeadline:settings2.ackDeadline??60,shutdownTimeoutMs:settings2.shutdownTimeoutMs??3e4,onPushError:settings2.onPushError??"nack"};return{...partialConfig,settings:settingsConfig}}import{resolveSetup}from"@walkeros/core";var DEFAULT_PERSISTENCE_REGIONS=["europe-west1","europe-west3","europe-west4"];function hasNumericCode(err){if("object"!=typeof err||null===err)return!1;if(!("code"in err))return!1;return"number"==typeof err.code}function isAlreadyExists(err){return hasNumericCode(err)&&(6===err.code||409===err.code)}var DEFAULT_SETUP={};async function ensureTopicExists(args){const{client:client,projectId:projectId,name:name,storageRegions:storageRegions,logger:logger}=args,topicHandle=client.topic(name);let exists=!1;try{const[resolved]=await topicHandle.exists();exists=resolved}catch(err){if(!function(err){return hasNumericCode(err)&&(5===err.code||404===err.code)}(err))throw err}if(exists)return!1;const metadata={name:`projects/${projectId}/topics/${name}`,messageStoragePolicy:{allowedPersistenceRegions:storageRegions}};try{return await client.createTopic(metadata),logger.info(`Pub/Sub topic "${name}" created.`),!0}catch(err){if(isAlreadyExists(err))return!1;throw err}}var setup=async context=>{const{config:config,logger:logger}=context,wideConfig=config,resolved=resolveSetup(wideConfig.setup,DEFAULT_SETUP);if(!resolved)return void logger.debug("Pub/Sub source setup skipped (config.setup is falsy).");const settings2=wideConfig.settings;if(!settings2)return logger.throw("settings missing, cannot run setup");const{client:client,projectId:projectId,subscription:subscription,topic:topic}=settings2;if(!client)return logger.throw("client is missing, cannot run setup");if(!projectId)return logger.throw("projectId is missing");if(!subscription)return logger.throw("subscription is missing");let topicCreated=!1,deadLetterTopicCreated=!1,subscriptionCreated=!1;if(resolved.createTopic){if(!topic)return logger.throw("setup.createTopic is true but settings.topic is missing");topicCreated=await ensureTopicExists({client:client,projectId:projectId,name:topic,storageRegions:DEFAULT_PERSISTENCE_REGIONS,logger:logger})}resolved.deadLetterPolicy?.createDeadLetterTopic&&(deadLetterTopicCreated=await ensureTopicExists({client:client,projectId:projectId,name:resolved.deadLetterPolicy.deadLetterTopic,storageRegions:DEFAULT_PERSISTENCE_REGIONS,logger:logger}));const subscriptionOptions=function(setup2){const opts={};return void 0!==setup2.ackDeadlineSeconds&&(opts.ackDeadlineSeconds=setup2.ackDeadlineSeconds),setup2.messageRetentionDuration&&(opts.messageRetentionDuration=setup2.messageRetentionDuration),setup2.filter&&(opts.filter=setup2.filter),setup2.deadLetterPolicy&&(opts.deadLetterPolicy={deadLetterTopic:setup2.deadLetterPolicy.deadLetterTopic,maxDeliveryAttempts:setup2.deadLetterPolicy.maxDeliveryAttempts}),setup2.retryPolicy&&(opts.retryPolicy=setup2.retryPolicy),void 0!==setup2.enableMessageOrdering&&(opts.enableMessageOrdering=setup2.enableMessageOrdering),setup2.labels&&(opts.labels=setup2.labels),setup2.expirationPolicy&&(opts.expirationPolicy=setup2.expirationPolicy),opts}(resolved);try{topic?(await client.createSubscription(topic,subscription,subscriptionOptions),subscriptionCreated=!0,logger.info(`Pub/Sub subscription "${subscription}" created on topic "${topic}".`)):logger.debug("Pub/Sub setup: settings.topic absent, skipping createSubscription; checking drift only.")}catch(err){if(!isAlreadyExists(err))throw err}try{const sub=client.subscription(subscription),[metadata]=await sub.getMetadata(),drifts=function(declared,actual){const drifts=[];if(void 0!==declared.ackDeadlineSeconds&&void 0!==actual.ackDeadlineSeconds&&null!==actual.ackDeadlineSeconds&&declared.ackDeadlineSeconds!==actual.ackDeadlineSeconds&&drifts.push({field:"ackDeadlineSeconds",declared:declared.ackDeadlineSeconds,actual:actual.ackDeadlineSeconds}),void 0!==declared.filter&&void 0!==actual.filter&&null!==actual.filter&&declared.filter!==actual.filter&&drifts.push({field:"filter",declared:declared.filter,actual:actual.filter}),void 0!==declared.enableMessageOrdering&&void 0!==actual.enableMessageOrdering&&null!==actual.enableMessageOrdering&&declared.enableMessageOrdering!==actual.enableMessageOrdering&&drifts.push({field:"enableMessageOrdering",declared:declared.enableMessageOrdering,actual:actual.enableMessageOrdering}),declared.deadLetterPolicy&&actual.deadLetterPolicy&&(declared.deadLetterPolicy.deadLetterTopic!==actual.deadLetterPolicy.deadLetterTopic&&drifts.push({field:"deadLetterPolicy.deadLetterTopic",declared:declared.deadLetterPolicy.deadLetterTopic,actual:actual.deadLetterPolicy.deadLetterTopic}),void 0!==declared.deadLetterPolicy.maxDeliveryAttempts&&void 0!==actual.deadLetterPolicy.maxDeliveryAttempts&&null!==actual.deadLetterPolicy.maxDeliveryAttempts&&declared.deadLetterPolicy.maxDeliveryAttempts!==actual.deadLetterPolicy.maxDeliveryAttempts&&drifts.push({field:"deadLetterPolicy.maxDeliveryAttempts",declared:declared.deadLetterPolicy.maxDeliveryAttempts,actual:actual.deadLetterPolicy.maxDeliveryAttempts})),declared.messageRetentionDuration&&actual.messageRetentionDuration){const actualRaw=actual.messageRetentionDuration,declaredSeconds=declared.messageRetentionDuration.seconds;let actualSeconds;if("number"==typeof actualRaw)actualSeconds=actualRaw;else if("object"==typeof actualRaw&&null!==actualRaw){const seconds=actualRaw.seconds;"number"!=typeof seconds&&"string"!=typeof seconds||(actualSeconds=seconds)}("number"==typeof actualSeconds&&declaredSeconds!==actualSeconds||"string"==typeof actualSeconds&&String(declaredSeconds)!==actualSeconds)&&drifts.push({field:"messageRetentionDuration.seconds",declared:declaredSeconds,actual:actualSeconds})}return drifts}(resolved,metadata??{});for(const drift of drifts)logger.warn("setup.drift",drift)}catch(err){logger.debug("Pub/Sub setup: drift detection skipped",{error:err instanceof Error?err.message:String(err)})}return{topicCreated:topicCreated,deadLetterTopicCreated:deadLetterTopicCreated,subscriptionCreated:subscriptionCreated}};function hasNumericCode2(err){if("object"!=typeof err||null===err)return!1;if(!("code"in err))return!1;return"number"==typeof err.code}async function handleMessage(args){const{message:message,settings:settings2,pushFn:pushFn,logger:logger}=args;try{const decoded=decodeMessage(message,settings2.decoder??"json");if(null==decoded)return logger.debug("Pub/Sub message acked-and-dropped (decoder returned null)",{id:message.id}),void message.ack();await pushFn((value=decoded,"object"==typeof value&&null!==value?value:"string"==typeof value?{data:{payload:value}}:Buffer.isBuffer(value)?{data:{payload:value.toString("base64")}}:{data:{payload:String(value)}})),message.ack()}catch(err){const error=err instanceof Error?err.message:String(err);err instanceof DecoderError?logger.error("Pub/Sub message decode failed",{id:message.id,error:error}):logger.error("Pub/Sub message handler failed",{id:message.id,error:error}),"ack"===settings2.onPushError?message.ack():message.nack()}var value}var sourcePubSubPull=async context=>{const{config:partialConfig={},env:env,logger:logger,id:id}=context,config=getConfig(partialConfig,env,logger),settings2=config.settings,subscriptionOptions={flowControl:settings2.flowControl};"number"==typeof settings2.ackDeadline&&(subscriptionOptions.maxAckDeadline=Duration.from({seconds:settings2.ackDeadline}));const subscription=settings2.client.subscription(settings2.subscription,subscriptionOptions);return settings2.subscriptionHandle=subscription,subscription.on("message",async message=>{await handleMessage({message:{id:message.id,data:message.data,ack:()=>message.ack(),nack:()=>message.nack()},settings:settings2,pushFn:env.push,logger:logger})}),subscription.on("error",err=>{(function(err){return hasNumericCode2(err)&&(7===err.code||16===err.code)})(err)||function(err){return hasNumericCode2(err)&&5===err.code}(err)?logger.error(`Pub/Sub subscription "${settings2.subscription}" not found or unauthorized in project "${settings2.projectId}". Run "walkeros setup source.${id}" to create it. Original: ${err.message}`):logger.error("Pub/Sub subscription stream error (SDK will retry)",{error:err.message})}),{type:"pubsub-pull",config:config,setup:setup,push:async content=>{if(!content)return;const result={acked:!1,nacked:!1};return await handleMessage({message:{id:content.id,data:content.data,ack:()=>{result.acked=!0},nack:()=>{result.nacked=!0}},settings:settings2,pushFn:env.push,logger:logger}),result},destroy:async()=>{const subToClose=settings2.subscriptionHandle;if(!subToClose)return;const timeoutMs=settings2.shutdownTimeoutMs??3e4;try{await Promise.race([subToClose.close(),new Promise(resolve=>setTimeout(()=>{logger.warn(`Pub/Sub subscriber close timed out after ${timeoutMs}ms; forcing close.`),resolve()},timeoutMs))])}finally{settings2.client&&await settings2.client.close().catch(()=>{})}}}},types_exports2={};import{isObject as isObject3}from"@walkeros/core";import{isObject as isObject2}from"@walkeros/core";async function maybeVerifyOidc(req,env,audience){const token=function(req){const auth=req.headers.authorization,value=Array.isArray(auth)?auth[0]:auth;if(value&&value.startsWith("Bearer "))return value.slice(7).trim()}(req);if(!token)return!1;if(!env.verifyOidcToken){const client=new(require_src5().OAuth2Client),payload2=(await client.verifyIdToken({idToken:token,audience:audience})).getPayload();return Boolean(payload2)}const payload=await env.verifyOidcToken(token,audience);return Boolean(payload)}var sourcePubSubPush=async context=>{const{config:partialConfig={},env:env,logger:logger}=context,config=function(partialConfig={},logger){const settings2=partialConfig.settings??{},resolved={decoder:settings2.decoder??"json",verifyOidc:settings2.verifyOidc??!1};return settings2.projectId&&(resolved.projectId=settings2.projectId),settings2.audience&&(resolved.audience=settings2.audience),resolved.verifyOidc&&!resolved.audience&&logger.throw("Config settings audience missing (required when verifyOidc is true)"),{...partialConfig,settings:resolved}}(partialConfig,logger),settings2=config.settings;if(!settings2)return logger.throw("settings missing after getConfig (impossible)");return{type:"pubsub-push",config:config,push:async(req,res)=>{try{if("POST"!==req.method)return void res.status(405).json({success:!1,error:"Method not allowed. Use POST."});if(settings2.verifyOidc){const audience=settings2.audience;if(!audience)return logger.error("Pub/Sub push: verifyOidc is true but audience is unset"),void res.status(500).json({success:!1,error:"Server misconfiguration: OIDC audience missing."});let verified=!1;try{verified=await maybeVerifyOidc(req,env,audience)}catch(err){logger.warn("Pub/Sub push: OIDC verification failed",{error:err instanceof Error?err.message:String(err)}),verified=!1}if(!verified)return void res.status(401).json({success:!1,error:"Unauthorized: OIDC token verification failed."})}let body=req.body;if("string"==typeof body)try{body=JSON.parse(body)}catch{return void res.status(400).json({success:!1,error:"Malformed Pub/Sub envelope (invalid JSON body)."})}if(!function(value){if(!isObject3(value))return!1;const candidate=value;return!!isObject3(candidate.message)&&"string"==typeof candidate.message.messageId}(body))return void res.status(400).json({success:!1,error:"Malformed Pub/Sub envelope (missing message.messageId)."});const dataBase64=body.message.data,dataBuffer=dataBase64?Buffer.from(dataBase64,"base64"):Buffer.alloc(0),decoder=settings2.decoder??"json",message={id:body.message.messageId,data:dataBuffer};let decoded;try{decoded=decodeMessage(message,decoder)}catch(err){if(err instanceof DecoderError)return void res.status(400).json({success:!1,error:err.message});throw err}if(null==decoded)return void res.status(200).json({success:!0,dropped:!0});await env.push(decoded),res.status(200).json({success:!0,id:body.message.messageId})}catch(error){logger.error("Pub/Sub push handler failed",{error:error instanceof Error?error.message:String(error)}),res.status(500).json({success:!1,error:error instanceof Error?error.message:"Internal server error"})}}}},types_exports3={};export{types_exports as SourceCloudFunction,types_exports2 as SourcePubSubPull,types_exports3 as SourcePubSubPush,examples_exports as examples,schemas_exports as schemas,cloudfunction_default as sourceCloudFunction,sourcePubSubPull,sourcePubSubPush};
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
web-streams-polyfill/dist/ponyfill.es2018.js:
|
|
5
|
+
(**
|
|
6
|
+
* @license
|
|
7
|
+
* web-streams-polyfill v3.3.3
|
|
8
|
+
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
|
|
9
|
+
* This code is released under the MIT license.
|
|
10
|
+
* SPDX-License-Identifier: MIT
|
|
11
|
+
*)
|
|
12
|
+
|
|
13
|
+
fetch-blob/index.js:
|
|
14
|
+
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
15
|
+
|
|
16
|
+
formdata-polyfill/esm.min.js:
|
|
17
|
+
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
18
|
+
|
|
19
|
+
node-domexception/index.js:
|
|
20
|
+
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
21
|
+
|
|
22
|
+
safe-buffer/index.js:
|
|
23
|
+
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
24
|
+
*///# sourceMappingURL=index.mjs.map
|