cdk-cost-analyzer 0.1.39 → 0.1.40

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.
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
  (()=>{var e={4914:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const p=h(o(857));const Q=o(302);function issueCommand(e,t,o){const n=new Command(e,t,o);process.stdout.write(n.toString()+p.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const D="::";class Command{constructor(e,t,o){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=o}toString(){let e=D+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const o in this.properties){if(this.properties.hasOwnProperty(o)){const n=this.properties[o];if(n){if(t){t=false}else{e+=","}e+=`${o}=${escapeProperty(n)}`}}}}e+=`${D}${escapeData(this.message)}`;return e}}function escapeData(e){return(0,Q.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return(0,Q.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},7484:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.platform=t.toPlatformPath=t.toWin32Path=t.toPosixPath=t.markdownSummary=t.summary=t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const Q=o(4914);const D=o(4753);const T=o(302);const _=h(o(857));const O=h(o(6928));const V=o(5306);var j;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(j||(t.ExitCode=j={}));function exportVariable(e,t){const o=(0,T.toCommandValue)(t);process.env[e]=o;const n=process.env["GITHUB_ENV"]||"";if(n){return(0,D.issueFileCommand)("ENV",(0,D.prepareKeyValueMessage)(e,t))}(0,Q.issueCommand)("set-env",{name:e},o)}t.exportVariable=exportVariable;function setSecret(e){(0,Q.issueCommand)("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){(0,D.issueFileCommand)("PATH",e)}else{(0,Q.issueCommand)("add-path",{},e)}process.env["PATH"]=`${e}${O.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const o=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!o){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return o}return o.trim()}t.getInput=getInput;function getMultilineInput(e,t){const o=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return o}return o.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const o=["true","True","TRUE"];const n=["false","False","FALSE"];const i=getInput(e,t);if(o.includes(i))return true;if(n.includes(i))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const o=process.env["GITHUB_OUTPUT"]||"";if(o){return(0,D.issueFileCommand)("OUTPUT",(0,D.prepareKeyValueMessage)(e,t))}process.stdout.write(_.EOL);(0,Q.issueCommand)("set-output",{name:e},(0,T.toCommandValue)(t))}t.setOutput=setOutput;function setCommandEcho(e){(0,Q.issue)("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=j.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){(0,Q.issueCommand)("debug",{},e)}t.debug=debug;function error(e,t={}){(0,Q.issueCommand)("error",(0,T.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){(0,Q.issueCommand)("warning",(0,T.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){(0,Q.issueCommand)("notice",(0,T.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+_.EOL)}t.info=info;function startGroup(e){(0,Q.issue)("group",e)}t.startGroup=startGroup;function endGroup(){(0,Q.issue)("endgroup")}t.endGroup=endGroup;function group(e,t){return p(this,void 0,void 0,(function*(){startGroup(e);let o;try{o=yield t()}finally{endGroup()}return o}))}t.group=group;function saveState(e,t){const o=process.env["GITHUB_STATE"]||"";if(o){return(0,D.issueFileCommand)("STATE",(0,D.prepareKeyValueMessage)(e,t))}(0,Q.issueCommand)("save-state",{name:e},(0,T.toCommandValue)(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return p(this,void 0,void 0,(function*(){return yield V.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var $=o(1847);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return $.summary}});var ee=o(1847);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return ee.markdownSummary}});var te=o(1976);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return te.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return te.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return te.toPlatformPath}});t.platform=h(o(8968))},4753:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const p=h(o(6982));const Q=h(o(9896));const D=h(o(857));const T=o(302);function issueFileCommand(e,t){const o=process.env[`GITHUB_${e}`];if(!o){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!Q.existsSync(o)){throw new Error(`Missing file at path: ${o}`)}Q.appendFileSync(o,`${(0,T.toCommandValue)(t)}${D.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const o=`ghadelimiter_${p.randomUUID()}`;const n=(0,T.toCommandValue)(t);if(e.includes(o)){throw new Error(`Unexpected input: name should not contain the delimiter "${o}"`)}if(n.includes(o)){throw new Error(`Unexpected input: value should not contain the delimiter "${o}"`)}return`${e}<<${o}${D.EOL}${n}${D.EOL}${o}`}t.prepareKeyValueMessage=prepareKeyValueMessage},5306:function(e,t,o){"use strict";var n=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const i=o(4844);const h=o(4552);const p=o(7484);class OidcClient{static createHttpClient(e=true,t=10){const o={allowRetries:e,maxRetries:t};return new i.HttpClient("actions/oidc-client",[new h.BearerCredentialHandler(OidcClient.getRequestToken())],o)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const o=OidcClient.createHttpClient();const n=yield o.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)}));const i=(t=n.result)===null||t===void 0?void 0:t.value;if(!i){throw new Error("Response json body do not have ID Token field")}return i}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const o=encodeURIComponent(e);t=`${t}&audience=${o}`}(0,p.debug)(`ID token url is ${t}`);const o=yield OidcClient.getCall(t);(0,p.setSecret)(o);return o}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},1976:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const p=h(o(6928));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,p.sep)}t.toPlatformPath=toPlatformPath},8968:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};var Q=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.getDetails=t.isLinux=t.isMacOS=t.isWindows=t.arch=t.platform=void 0;const D=Q(o(857));const T=h(o(5236));const getWindowsInfo=()=>p(void 0,void 0,void 0,(function*(){const{stdout:e}=yield T.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield T.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}}));const getMacOsInfo=()=>p(void 0,void 0,void 0,(function*(){var e,t,o,n;const{stdout:i}=yield T.getExecOutput("sw_vers",undefined,{silent:true});const h=(t=(e=i.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const p=(n=(o=i.match(/ProductName:\s*(.+)/))===null||o===void 0?void 0:o[1])!==null&&n!==void 0?n:"";return{name:p,version:h}}));const getLinuxInfo=()=>p(void 0,void 0,void 0,(function*(){const{stdout:e}=yield T.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,o]=e.trim().split("\n");return{name:t,version:o}}));t.platform=D.default.platform();t.arch=D.default.arch();t.isWindows=t.platform==="win32";t.isMacOS=t.platform==="darwin";t.isLinux=t.platform==="linux";function getDetails(){return p(this,void 0,void 0,(function*(){return Object.assign(Object.assign({},yield t.isWindows?getWindowsInfo():t.isMacOS?getMacOsInfo():getLinuxInfo()),{platform:t.platform,arch:t.arch,isWindows:t.isWindows,isMacOS:t.isMacOS,isLinux:t.isLinux})}))}t.getDetails=getDetails},1847:function(e,t,o){"use strict";var n=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const i=o(857);const h=o(9896);const{access:p,appendFile:Q,writeFile:D}=h.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield p(e,h.constants.R_OK|h.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,o={}){const n=Object.entries(o).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}</${e}>`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const o=yield this.filePath();const n=t?D:Q;yield n(o,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(i.EOL)}addCodeBlock(e,t){const o=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),o);return this.addRaw(n).addEOL()}addList(e,t=false){const o=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const i=this.wrap(o,n);return this.addRaw(i).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:o,colspan:n,rowspan:i}=e;const h=t?"th":"td";const p=Object.assign(Object.assign({},n&&{colspan:n}),i&&{rowspan:i});return this.wrap(h,o,p)})).join("");return this.wrap("tr",t)})).join("");const o=this.wrap("table",t);return this.addRaw(o).addEOL()}addDetails(e,t){const o=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(o).addEOL()}addImage(e,t,o){const{width:n,height:i}=o||{};const h=Object.assign(Object.assign({},n&&{width:n}),i&&{height:i});const p=this.wrap("img",null,Object.assign({src:e,alt:t},h));return this.addRaw(p).addEOL()}addHeading(e,t){const o=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(o)?o:"h1";const i=this.wrap(n,e);return this.addRaw(i).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const o=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,o);return this.addRaw(n).addEOL()}addLink(e,t){const o=this.wrap("a",e,{href:t});return this.addRaw(o).addEOL()}}const T=new Summary;t.markdownSummary=T;t.summary=T},302:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},5236:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[o]}})}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getExecOutput=t.exec=void 0;const Q=o(3193);const D=h(o(6665));function exec(e,t,o){return p(this,void 0,void 0,(function*(){const n=D.argStringToArray(e);if(n.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const i=n[0];t=n.slice(1).concat(t||[]);const h=new D.ToolRunner(i,t,o);return h.exec()}))}t.exec=exec;function getExecOutput(e,t,o){var n,i;return p(this,void 0,void 0,(function*(){let h="";let p="";const D=new Q.StringDecoder("utf8");const T=new Q.StringDecoder("utf8");const _=(n=o===null||o===void 0?void 0:o.listeners)===null||n===void 0?void 0:n.stdout;const O=(i=o===null||o===void 0?void 0:o.listeners)===null||i===void 0?void 0:i.stderr;const stdErrListener=e=>{p+=T.write(e);if(O){O(e)}};const stdOutListener=e=>{h+=D.write(e);if(_){_(e)}};const V=Object.assign(Object.assign({},o===null||o===void 0?void 0:o.listeners),{stdout:stdOutListener,stderr:stdErrListener});const j=yield exec(e,t,Object.assign(Object.assign({},o),{listeners:V}));h+=D.end();p+=T.end();return{exitCode:j,stdout:h,stderr:p}}))}t.getExecOutput=getExecOutput},6665:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[o]}})}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.argStringToArray=t.ToolRunner=void 0;const Q=h(o(857));const D=h(o(4434));const T=h(o(5317));const _=h(o(6928));const O=h(o(4994));const V=h(o(5207));const j=o(3557);const $=process.platform==="win32";class ToolRunner extends D.EventEmitter{constructor(e,t,o){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=o||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const o=this._getSpawnFileName();const n=this._getSpawnArgs(e);let i=t?"":"[command]";if($){if(this._isCmdFile()){i+=o;for(const e of n){i+=` ${e}`}}else if(e.windowsVerbatimArguments){i+=`"${o}"`;for(const e of n){i+=` ${e}`}}else{i+=this._windowsQuoteCmdArg(o);for(const e of n){i+=` ${this._windowsQuoteCmdArg(e)}`}}}else{i+=o;for(const e of n){i+=` ${e}`}}return i}_processLineBuffer(e,t,o){try{let n=t+e.toString();let i=n.indexOf(Q.EOL);while(i>-1){const e=n.substring(0,i);o(e);n=n.substring(i+Q.EOL.length);i=n.indexOf(Q.EOL)}return n}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if($){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if($){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const o of this.args){t+=" ";t+=e.windowsVerbatimArguments?o:this._windowsQuoteCmdArg(o)}t+='"';return[t]}}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const t=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let o=false;for(const n of e){if(t.some((e=>e===n))){o=true;break}}if(!o){return e}let n='"';let i=true;for(let t=e.length;t>0;t--){n+=e[t-1];if(i&&e[t-1]==="\\"){n+="\\"}else if(e[t-1]==='"'){i=true;n+='"'}else{i=false}}n+='"';return n.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let t='"';let o=true;for(let n=e.length;n>0;n--){t+=e[n-1];if(o&&e[n-1]==="\\"){t+="\\"}else if(e[n-1]==='"'){o=true;t+="\\"}else{o=false}}t+='"';return t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};t.outStream=e.outStream||process.stdout;t.errStream=e.errStream||process.stderr;return t}_getSpawnOptions(e,t){e=e||{};const o={};o.cwd=e.cwd;o.env=e.env;o["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){o.argv0=`"${t}"`}return o}exec(){return p(this,void 0,void 0,(function*(){if(!V.isRooted(this.toolPath)&&(this.toolPath.includes("/")||$&&this.toolPath.includes("\\"))){this.toolPath=_.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield O.which(this.toolPath,true);return new Promise(((e,t)=>p(this,void 0,void 0,(function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const o=this._cloneExecOptions(this.options);if(!o.silent&&o.outStream){o.outStream.write(this._getCommandString(o)+Q.EOL)}const n=new ExecState(o,this.toolPath);n.on("debug",(e=>{this._debug(e)}));if(this.options.cwd&&!(yield V.exists(this.options.cwd))){return t(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const i=this._getSpawnFileName();const h=T.spawn(i,this._getSpawnArgs(o),this._getSpawnOptions(this.options,i));let p="";if(h.stdout){h.stdout.on("data",(e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!o.silent&&o.outStream){o.outStream.write(e)}p=this._processLineBuffer(e,p,(e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}}))}))}let D="";if(h.stderr){h.stderr.on("data",(e=>{n.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!o.silent&&o.errStream&&o.outStream){const t=o.failOnStdErr?o.errStream:o.outStream;t.write(e)}D=this._processLineBuffer(e,D,(e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}}))}))}h.on("error",(e=>{n.processError=e.message;n.processExited=true;n.processClosed=true;n.CheckComplete()}));h.on("exit",(e=>{n.processExitCode=e;n.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);n.CheckComplete()}));h.on("close",(e=>{n.processExitCode=e;n.processExited=true;n.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);n.CheckComplete()}));n.on("done",((o,n)=>{if(p.length>0){this.emit("stdline",p)}if(D.length>0){this.emit("errline",D)}h.removeAllListeners();if(o){t(o)}else{e(n)}}));if(this.options.input){if(!h.stdin){throw new Error("child process missing stdin")}h.stdin.end(this.options.input)}}))))}))}}t.ToolRunner=ToolRunner;function argStringToArray(e){const t=[];let o=false;let n=false;let i="";function append(e){if(n&&e!=='"'){i+="\\"}i+=e;n=false}for(let h=0;h<e.length;h++){const p=e.charAt(h);if(p==='"'){if(!n){o=!o}else{append(p)}continue}if(p==="\\"&&n){append(p);continue}if(p==="\\"&&o){n=true;continue}if(p===" "&&!o){if(i.length>0){t.push(i);i=""}continue}append(p)}if(i.length>0){t.push(i.trim())}return t}t.argStringToArray=argStringToArray;class ExecState extends D.EventEmitter{constructor(e,t){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!t){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=t;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=j.setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}},1648:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const n=o(9896);const i=o(857);class Context{constructor(){var e,t,o;this.payload={};if(process.env.GITHUB_EVENT_PATH){if((0,n.existsSync)(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse((0,n.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${i.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10);this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(t=process.env.GITHUB_SERVER_URL)!==null&&t!==void 0?t:`https://github.com`;this.graphqlUrl=(o=process.env.GITHUB_GRAPHQL_URL)!==null&&o!==void 0?o:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},3228:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const p=h(o(1648));const Q=o(8006);t.context=new p.Context;function getOctokit(e,t,...o){const n=Q.GitHub.plugin(...o);return new n((0,Q.getOctokitOptions)(e,t))}t.getOctokit=getOctokit},5156:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyFetch=t.getProxyAgentDispatcher=t.getProxyAgent=t.getAuthString=void 0;const Q=h(o(4844));const D=o(6752);function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new Q.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getProxyAgentDispatcher(e){const t=new Q.HttpClient;return t.getAgentDispatcher(e)}t.getProxyAgentDispatcher=getProxyAgentDispatcher;function getProxyFetch(e){const t=getProxyAgentDispatcher(e);const proxyFetch=(e,o)=>p(this,void 0,void 0,(function*(){return(0,D.fetch)(e,Object.assign(Object.assign({},o),{dispatcher:t}))}));return proxyFetch}t.getProxyFetch=getProxyFetch;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},8006:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokitOptions=t.GitHub=t.defaults=t.context=void 0;const p=h(o(1648));const Q=h(o(5156));const D=o(1897);const T=o(4935);const _=o(8082);t.context=new p.Context;const O=Q.getApiBaseUrl();t.defaults={baseUrl:O,request:{agent:Q.getProxyAgent(O),fetch:Q.getProxyFetch(O)}};t.GitHub=D.Octokit.plugin(T.restEndpointMethods,_.paginateRest).defaults(t.defaults);function getOctokitOptions(e,t){const o=Object.assign({},t||{});const n=Q.getAuthString(e,o);if(n){o.auth=n}return o}t.getOctokitOptions=getOctokitOptions},4552:function(e,t){"use strict";var o=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return o(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return o(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return o(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},4844:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const Q=h(o(8611));const D=h(o(5692));const T=h(o(4988));const _=h(o(770));const O=o(6752);var V;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(V||(t.HttpCodes=V={}));var j;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(j||(t.Headers=j={}));var $;(function(e){e["ApplicationJson"]="application/json"})($||(t.MediaTypes=$={}));function getProxyUrl(e){const t=T.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const ee=[V.MovedPermanently,V.ResourceMoved,V.SeeOther,V.TemporaryRedirect,V.PermanentRedirect];const te=[V.BadGateway,V.ServiceUnavailable,V.GatewayTimeout];const re=["OPTIONS","GET","DELETE","HEAD"];const se=10;const oe=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return p(this,void 0,void 0,(function*(){return new Promise((e=>p(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}readBodyBuffer(){return p(this,void 0,void 0,(function*(){return new Promise((e=>p(this,void 0,void 0,(function*(){const t=[];this.message.on("data",(e=>{t.push(e)}));this.message.on("end",(()=>{e(Buffer.concat(t))}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,o){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=o;if(o){if(o.ignoreSslError!=null){this._ignoreSslError=o.ignoreSslError}this._socketTimeout=o.socketTimeout;if(o.allowRedirects!=null){this._allowRedirects=o.allowRedirects}if(o.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=o.allowRedirectDowngrade}if(o.maxRedirects!=null){this._maxRedirects=Math.max(o.maxRedirects,0)}if(o.keepAlive!=null){this._keepAlive=o.keepAlive}if(o.allowRetries!=null){this._allowRetries=o.allowRetries}if(o.maxRetries!=null){this._maxRetries=o.maxRetries}}}options(e,t){return p(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return p(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return p(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,o){return p(this,void 0,void 0,(function*(){return this.request("POST",e,t,o||{})}))}patch(e,t,o){return p(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,o||{})}))}put(e,t,o){return p(this,void 0,void 0,(function*(){return this.request("PUT",e,t,o||{})}))}head(e,t){return p(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,o,n){return p(this,void 0,void 0,(function*(){return this.request(e,t,o,n)}))}getJson(e,t={}){return p(this,void 0,void 0,(function*(){t[j.Accept]=this._getExistingOrDefaultHeader(t,j.Accept,$.ApplicationJson);const o=yield this.get(e,t);return this._processResponse(o,this.requestOptions)}))}postJson(e,t,o={}){return p(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);o[j.Accept]=this._getExistingOrDefaultHeader(o,j.Accept,$.ApplicationJson);o[j.ContentType]=this._getExistingOrDefaultHeader(o,j.ContentType,$.ApplicationJson);const i=yield this.post(e,n,o);return this._processResponse(i,this.requestOptions)}))}putJson(e,t,o={}){return p(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);o[j.Accept]=this._getExistingOrDefaultHeader(o,j.Accept,$.ApplicationJson);o[j.ContentType]=this._getExistingOrDefaultHeader(o,j.ContentType,$.ApplicationJson);const i=yield this.put(e,n,o);return this._processResponse(i,this.requestOptions)}))}patchJson(e,t,o={}){return p(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);o[j.Accept]=this._getExistingOrDefaultHeader(o,j.Accept,$.ApplicationJson);o[j.ContentType]=this._getExistingOrDefaultHeader(o,j.ContentType,$.ApplicationJson);const i=yield this.patch(e,n,o);return this._processResponse(i,this.requestOptions)}))}request(e,t,o,n){return p(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const i=new URL(t);let h=this._prepareRequest(e,i,n);const p=this._allowRetries&&re.includes(e)?this._maxRetries+1:1;let Q=0;let D;do{D=yield this.requestRaw(h,o);if(D&&D.message&&D.message.statusCode===V.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(D)){e=t;break}}if(e){return e.handleAuthentication(this,h,o)}else{return D}}let t=this._maxRedirects;while(D.message.statusCode&&ee.includes(D.message.statusCode)&&this._allowRedirects&&t>0){const p=D.message.headers["location"];if(!p){break}const Q=new URL(p);if(i.protocol==="https:"&&i.protocol!==Q.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield D.readBody();if(Q.hostname!==i.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}h=this._prepareRequest(e,Q,n);D=yield this.requestRaw(h,o);t--}if(!D.message.statusCode||!te.includes(D.message.statusCode)){return D}Q+=1;if(Q<p){yield D.readBody();yield this._performExponentialBackoff(Q)}}while(Q<p);return D}))}dispose(){if(this._agent){this._agent.destroy()}this._disposed=true}requestRaw(e,t){return p(this,void 0,void 0,(function*(){return new Promise(((o,n)=>{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{o(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,o){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;o(e,t)}}const i=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let h;i.on("socket",(e=>{h=e}));i.setTimeout(this._socketTimeout||3*6e4,(()=>{if(h){h.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));i.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){i.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){i.end()}));t.pipe(i)}else{i.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const o=T.getProxyUrl(t);const n=o&&o.hostname;if(!n){return}return this._getProxyAgentDispatcher(t,o)}_prepareRequest(e,t,o){const n={};n.parsedUrl=t;const i=n.parsedUrl.protocol==="https:";n.httpModule=i?D:Q;const h=i?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):h;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(o);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,o){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||o}_getAgent(e){let t;const o=T.getProxyUrl(e);const n=o&&o.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(!n){t=this._agent}if(t){return t}const i=e.protocol==="https:";let h=100;if(this.requestOptions){h=this.requestOptions.maxSockets||Q.globalAgent.maxSockets}if(o&&o.hostname){const e={maxSockets:h,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(o.username||o.password)&&{proxyAuth:`${o.username}:${o.password}`}),{host:o.hostname,port:o.port})};let n;const p=o.protocol==="https:";if(i){n=p?_.httpsOverHttps:_.httpsOverHttp}else{n=p?_.httpOverHttps:_.httpOverHttp}t=n(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:h};t=i?new D.Agent(e):new Q.Agent(e);this._agent=t}if(i&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let o;if(this._keepAlive){o=this._proxyAgentDispatcher}if(o){return o}const n=e.protocol==="https:";o=new O.ProxyAgent(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}`}));this._proxyAgentDispatcher=o;if(n&&this._ignoreSslError){o.options=Object.assign(o.options.requestTls||{},{rejectUnauthorized:false})}return o}_performExponentialBackoff(e){return p(this,void 0,void 0,(function*(){e=Math.min(se,e);const t=oe*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return p(this,void 0,void 0,(function*(){return new Promise(((o,n)=>p(this,void 0,void 0,(function*(){const i=e.message.statusCode||0;const h={statusCode:i,result:null,headers:{}};if(i===V.NotFound){o(h)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let p;let Q;try{Q=yield e.readBody();if(Q&&Q.length>0){if(t&&t.deserializeDates){p=JSON.parse(Q,dateTimeDeserializer)}else{p=JSON.parse(Q)}h.result=p}h.headers=e.message.headers}catch(e){}if(i>299){let e;if(p&&p.message){e=p.message}else if(Q&&Q.length>0){e=Q}else{e=`Failed request: (${i})`}const t=new HttpClientError(e,i);t.result=h.result;n(t)}else{o(h)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,o)=>(t[o.toLowerCase()]=e[o],t)),{})},4988:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const o=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(o){try{return new DecodedURL(o)}catch(e){if(!o.startsWith("http://")&&!o.startsWith("https://"))return new DecodedURL(`http://${o}`)}}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const o=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!o){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const i=[e.hostname.toUpperCase()];if(typeof n==="number"){i.push(`${i[0]}:${n}`)}for(const e of o.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||i.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}class DecodedURL extends URL{constructor(e,t){super(e,t);this._decodedUsername=decodeURIComponent(super.username);this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}},5207:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[o]}})}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};var Q;Object.defineProperty(t,"__esModule",{value:true});t.getCmdPath=t.tryGetExecutablePath=t.isRooted=t.isDirectory=t.exists=t.READONLY=t.UV_FS_O_EXLOCK=t.IS_WINDOWS=t.unlink=t.symlink=t.stat=t.rmdir=t.rm=t.rename=t.readlink=t.readdir=t.open=t.mkdir=t.lstat=t.copyFile=t.chmod=void 0;const D=h(o(9896));const T=h(o(6928));Q=D.promises,t.chmod=Q.chmod,t.copyFile=Q.copyFile,t.lstat=Q.lstat,t.mkdir=Q.mkdir,t.open=Q.open,t.readdir=Q.readdir,t.readlink=Q.readlink,t.rename=Q.rename,t.rm=Q.rm,t.rmdir=Q.rmdir,t.stat=Q.stat,t.symlink=Q.symlink,t.unlink=Q.unlink;t.IS_WINDOWS=process.platform==="win32";t.UV_FS_O_EXLOCK=268435456;t.READONLY=D.constants.O_RDONLY;function exists(e){return p(this,void 0,void 0,(function*(){try{yield t.stat(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true}))}t.exists=exists;function isDirectory(e,o=false){return p(this,void 0,void 0,(function*(){const n=o?yield t.stat(e):yield t.lstat(e);return n.isDirectory()}))}t.isDirectory=isDirectory;function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(t.IS_WINDOWS){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}t.isRooted=isRooted;function tryGetExecutablePath(e,o){return p(this,void 0,void 0,(function*(){let n=undefined;try{n=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(n&&n.isFile()){if(t.IS_WINDOWS){const t=T.extname(e).toUpperCase();if(o.some((e=>e.toUpperCase()===t))){return e}}else{if(isUnixExecutable(n)){return e}}}const i=e;for(const h of o){e=i+h;n=undefined;try{n=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(n&&n.isFile()){if(t.IS_WINDOWS){try{const o=T.dirname(e);const n=T.basename(e).toUpperCase();for(const i of yield t.readdir(o)){if(n===i.toUpperCase()){e=T.join(o,i);break}}}catch(t){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`)}return e}else{if(isUnixExecutable(n)){return e}}}}return""}))}t.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(e){e=e||"";if(t.IS_WINDOWS){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&e.gid===process.getgid()||(e.mode&64)>0&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}t.getCmdPath=getCmdPath},4994:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[o]}})}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o in e)if(o!=="default"&&Object.hasOwnProperty.call(e,o))n(t,e,o);i(t,e);return t};var p=this&&this.__awaiter||function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.findInPath=t.which=t.mkdirP=t.rmRF=t.mv=t.cp=void 0;const Q=o(2613);const D=h(o(6928));const T=h(o(5207));function cp(e,t,o={}){return p(this,void 0,void 0,(function*(){const{force:n,recursive:i,copySourceDirectory:h}=readCopyOptions(o);const p=(yield T.exists(t))?yield T.stat(t):null;if(p&&p.isFile()&&!n){return}const Q=p&&p.isDirectory()&&h?D.join(t,D.basename(e)):t;if(!(yield T.exists(e))){throw new Error(`no such file or directory: ${e}`)}const _=yield T.stat(e);if(_.isDirectory()){if(!i){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,Q,0,n)}}else{if(D.relative(e,Q)===""){throw new Error(`'${Q}' and '${e}' are the same file`)}yield copyFile(e,Q,n)}}))}t.cp=cp;function mv(e,t,o={}){return p(this,void 0,void 0,(function*(){if(yield T.exists(t)){let n=true;if(yield T.isDirectory(t)){t=D.join(t,D.basename(e));n=yield T.exists(t)}if(n){if(o.force==null||o.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(D.dirname(t));yield T.rename(e,t)}))}t.mv=mv;function rmRF(e){return p(this,void 0,void 0,(function*(){if(T.IS_WINDOWS){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield T.rm(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}}))}t.rmRF=rmRF;function mkdirP(e){return p(this,void 0,void 0,(function*(){Q.ok(e,"a path argument must be provided");yield T.mkdir(e,{recursive:true})}))}t.mkdirP=mkdirP;function which(e,t){return p(this,void 0,void 0,(function*(){if(!e){throw new Error("parameter 'tool' is required")}if(t){const t=yield which(e,false);if(!t){if(T.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}return t}const o=yield findInPath(e);if(o&&o.length>0){return o[0]}return""}))}t.which=which;function findInPath(e){return p(this,void 0,void 0,(function*(){if(!e){throw new Error("parameter 'tool' is required")}const t=[];if(T.IS_WINDOWS&&process.env["PATHEXT"]){for(const e of process.env["PATHEXT"].split(D.delimiter)){if(e){t.push(e)}}}if(T.isRooted(e)){const o=yield T.tryGetExecutablePath(e,t);if(o){return[o]}return[]}if(e.includes(D.sep)){return[]}const o=[];if(process.env.PATH){for(const e of process.env.PATH.split(D.delimiter)){if(e){o.push(e)}}}const n=[];for(const i of o){const o=yield T.tryGetExecutablePath(D.join(i,e),t);if(o){n.push(o)}}return n}))}t.findInPath=findInPath;function readCopyOptions(e){const t=e.force==null?true:e.force;const o=Boolean(e.recursive);const n=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:o,copySourceDirectory:n}}function cpDirRecursive(e,t,o,n){return p(this,void 0,void 0,(function*(){if(o>=255)return;o++;yield mkdirP(t);const i=yield T.readdir(e);for(const h of i){const i=`${e}/${h}`;const p=`${t}/${h}`;const Q=yield T.lstat(i);if(Q.isDirectory()){yield cpDirRecursive(i,p,o,n)}else{yield copyFile(i,p,n)}}yield T.chmod(t,(yield T.stat(e)).mode)}))}function copyFile(e,t,o){return p(this,void 0,void 0,(function*(){if((yield T.lstat(e)).isSymbolicLink()){try{yield T.lstat(t);yield T.unlink(t)}catch(e){if(e.code==="EPERM"){yield T.chmod(t,"0666");yield T.unlink(t)}}const o=yield T.readlink(e);yield T.symlink(o,t,T.IS_WINDOWS?"junction":null)}else if(!(yield T.exists(t))||o){yield T.copyFile(e,t)}}))}},5782:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.resolveHttpAuthSchemeConfig=t.defaultPricingHttpAuthSchemeProvider=t.defaultPricingHttpAuthSchemeParametersProvider=void 0;const n=o(8704);const i=o(6324);const defaultPricingHttpAuthSchemeParametersProvider=async(e,t,o)=>({operation:(0,i.getSmithyContext)(t).operation,region:await(0,i.normalizeProvider)(e.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()});t.defaultPricingHttpAuthSchemeParametersProvider=defaultPricingHttpAuthSchemeParametersProvider;function createAwsAuthSigv4HttpAuthOption(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"pricing",region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}const defaultPricingHttpAuthSchemeProvider=e=>{const t=[];switch(e.operation){default:{t.push(createAwsAuthSigv4HttpAuthOption(e))}}return t};t.defaultPricingHttpAuthSchemeProvider=defaultPricingHttpAuthSchemeProvider;const resolveHttpAuthSchemeConfig=e=>{const t=(0,n.resolveAwsSdkSigV4Config)(e);return Object.assign(t,{authSchemePreference:(0,i.normalizeProvider)(e.authSchemePreference??[])})};t.resolveHttpAuthSchemeConfig=resolveHttpAuthSchemeConfig},8080:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.defaultEndpointResolver=void 0;const n=o(3068);const i=o(9674);const h=o(7325);const p=new i.EndpointCache({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]});const defaultEndpointResolver=(e,t={})=>p.get(e,(()=>(0,i.resolveEndpoint)(h.ruleSet,{endpointParams:e,logger:t.logger})));t.defaultEndpointResolver=defaultEndpointResolver;i.customEndpointFunctions.aws=n.awsEndpointFunctions},7325:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ruleSet=void 0;const o="required",n="fn",i="argv",h="ref";const p=true,Q="isSet",D="booleanEquals",T="error",_="endpoint",O="tree",V="PartitionResult",j="getAttr",$={[o]:false,type:"string"},ee={[o]:true,default:false,type:"boolean"},te={[h]:"Endpoint"},re={[n]:D,[i]:[{[h]:"UseFIPS"},true]},se={[n]:D,[i]:[{[h]:"UseDualStack"},true]},oe={},ne={[n]:j,[i]:[{[h]:V},"supportsFIPS"]},ie={[h]:V},Ae={[n]:D,[i]:[true,{[n]:j,[i]:[ie,"supportsDualStack"]}]},ae=[re],ce=[se],le=[{[h]:"Region"}];const ue={version:"1.0",parameters:{Region:$,UseDualStack:ee,UseFIPS:ee,Endpoint:$},rules:[{conditions:[{[n]:Q,[i]:[te]}],rules:[{conditions:ae,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:T},{conditions:ce,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:T},{endpoint:{url:te,properties:oe,headers:oe},type:_}],type:O},{conditions:[{[n]:Q,[i]:le}],rules:[{conditions:[{[n]:"aws.partition",[i]:le,assign:V}],rules:[{conditions:[re,se],rules:[{conditions:[{[n]:D,[i]:[p,ne]},Ae],rules:[{endpoint:{url:"https://api.pricing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:oe,headers:oe},type:_}],type:O},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:T}],type:O},{conditions:ae,rules:[{conditions:[{[n]:D,[i]:[ne,p]}],rules:[{endpoint:{url:"https://api.pricing-fips.{Region}.{PartitionResult#dnsSuffix}",properties:oe,headers:oe},type:_}],type:O},{error:"FIPS is enabled but this partition does not support FIPS",type:T}],type:O},{conditions:ce,rules:[{conditions:[Ae],rules:[{endpoint:{url:"https://api.pricing.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:oe,headers:oe},type:_}],type:O},{error:"DualStack is enabled but this partition does not support DualStack",type:T}],type:O},{conditions:[{[n]:"stringEquals",[i]:["aws",{[n]:j,[i]:[ie,"name"]}]}],endpoint:{url:"https://api.pricing.{Region}.amazonaws.com",properties:oe,headers:oe},type:_},{endpoint:{url:"https://api.pricing.{Region}.{PartitionResult#dnsSuffix}",properties:oe,headers:oe},type:_}],type:O}],type:O},{error:"Invalid Configuration: Missing Region",type:T}]};t.ruleSet=ue},4453:(e,t,o)=>{"use strict";var n=o(2590);var i=o(5242);var h=o(1568);var p=o(2959);var Q=o(9316);var D=o(402);var T=o(6890);var _=o(7212);var O=o(99);var V=o(9618);var j=o(1411);var $=o(5782);var ee=o(9071);var te=o(6463);var re=o(2356);var se=o(9861);var oe=o(5193);var ne=o(3166);const resolveClientEndpointParameters=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??false,useFipsEndpoint:e.useFipsEndpoint??false,defaultSigningName:"pricing"});const ie={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};const getHttpAuthExtensionConfiguration=e=>{const t=e.httpAuthSchemes;let o=e.httpAuthSchemeProvider;let n=e.credentials;return{setHttpAuthScheme(e){const o=t.findIndex((t=>t.schemeId===e.schemeId));if(o===-1){t.push(e)}else{t.splice(o,1,e)}},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){o=e},httpAuthSchemeProvider(){return o},setCredentials(e){n=e},credentials(){return n}}};const resolveHttpAuthRuntimeConfig=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()});const resolveRuntimeExtensions=(e,t)=>{const o=Object.assign(te.getAwsRegionExtensionConfiguration(e),j.getDefaultExtensionConfiguration(e),re.getHttpHandlerExtensionConfiguration(e),getHttpAuthExtensionConfiguration(e));t.forEach((e=>e.configure(o)));return Object.assign(e,te.resolveAwsRegionExtensionConfiguration(o),j.resolveDefaultRuntimeConfig(o),re.resolveHttpHandlerRuntimeConfig(o),resolveHttpAuthRuntimeConfig(o))};class PricingClient extends j.Client{config;constructor(...[e]){const t=ee.getRuntimeConfig(e||{});super(t);this.initConfig=t;const o=resolveClientEndpointParameters(t);const j=p.resolveUserAgentConfig(o);const te=V.resolveRetryConfig(j);const re=Q.resolveRegionConfig(te);const se=n.resolveHostHeaderConfig(re);const oe=O.resolveEndpointConfig(se);const ne=$.resolveHttpAuthSchemeConfig(oe);const ie=resolveRuntimeExtensions(ne,e?.extensions||[]);this.config=ie;this.middlewareStack.use(T.getSchemaSerdePlugin(this.config));this.middlewareStack.use(p.getUserAgentPlugin(this.config));this.middlewareStack.use(V.getRetryPlugin(this.config));this.middlewareStack.use(_.getContentLengthPlugin(this.config));this.middlewareStack.use(n.getHostHeaderPlugin(this.config));this.middlewareStack.use(i.getLoggerPlugin(this.config));this.middlewareStack.use(h.getRecursionDetectionPlugin(this.config));this.middlewareStack.use(D.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:$.defaultPricingHttpAuthSchemeParametersProvider,identityProviderConfigProvider:async e=>new D.DefaultIdentityProviderConfig({"aws.auth#sigv4":e.credentials})}));this.middlewareStack.use(D.getHttpSigningPlugin(this.config))}destroy(){super.destroy()}}class DescribeServicesCommand extends(j.Command.classBuilder().ep(ie).m((function(e,t,o,n){return[O.getEndpointPlugin(o,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","DescribeServices",{}).n("PricingClient","DescribeServicesCommand").sc(se.DescribeServices$).build()){}class GetAttributeValuesCommand extends(j.Command.classBuilder().ep(ie).m((function(e,t,o,n){return[O.getEndpointPlugin(o,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","GetAttributeValues",{}).n("PricingClient","GetAttributeValuesCommand").sc(se.GetAttributeValues$).build()){}class GetPriceListFileUrlCommand extends(j.Command.classBuilder().ep(ie).m((function(e,t,o,n){return[O.getEndpointPlugin(o,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","GetPriceListFileUrl",{}).n("PricingClient","GetPriceListFileUrlCommand").sc(se.GetPriceListFileUrl$).build()){}class GetProductsCommand extends(j.Command.classBuilder().ep(ie).m((function(e,t,o,n){return[O.getEndpointPlugin(o,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","GetProducts",{}).n("PricingClient","GetProductsCommand").sc(se.GetProducts$).build()){}class ListPriceListsCommand extends(j.Command.classBuilder().ep(ie).m((function(e,t,o,n){return[O.getEndpointPlugin(o,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","ListPriceLists",{}).n("PricingClient","ListPriceListsCommand").sc(se.ListPriceLists$).build()){}const Ae=D.createPaginator(PricingClient,DescribeServicesCommand,"NextToken","NextToken","MaxResults");const ae=D.createPaginator(PricingClient,GetAttributeValuesCommand,"NextToken","NextToken","MaxResults");const ce=D.createPaginator(PricingClient,GetProductsCommand,"NextToken","NextToken","MaxResults");const le=D.createPaginator(PricingClient,ListPriceListsCommand,"NextToken","NextToken","MaxResults");const ue={DescribeServicesCommand:DescribeServicesCommand,GetAttributeValuesCommand:GetAttributeValuesCommand,GetPriceListFileUrlCommand:GetPriceListFileUrlCommand,GetProductsCommand:GetProductsCommand,ListPriceListsCommand:ListPriceListsCommand};const ge={paginateDescribeServices:Ae,paginateGetAttributeValues:ae,paginateGetProducts:ce,paginateListPriceLists:le};class Pricing extends PricingClient{}j.createAggregatedClient(ue,Pricing,{paginators:ge});const de={ANY_OF:"ANY_OF",CONTAINS:"CONTAINS",EQUALS:"EQUALS",NONE_OF:"NONE_OF",TERM_MATCH:"TERM_MATCH"};t.$Command=j.Command;t.__Client=j.Client;t.PricingServiceException=ne.PricingServiceException;t.DescribeServicesCommand=DescribeServicesCommand;t.FilterType=de;t.GetAttributeValuesCommand=GetAttributeValuesCommand;t.GetPriceListFileUrlCommand=GetPriceListFileUrlCommand;t.GetProductsCommand=GetProductsCommand;t.ListPriceListsCommand=ListPriceListsCommand;t.Pricing=Pricing;t.PricingClient=PricingClient;t.paginateDescribeServices=Ae;t.paginateGetAttributeValues=ae;t.paginateGetProducts=ce;t.paginateListPriceLists=le;Object.prototype.hasOwnProperty.call(se,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:se["__proto__"]});Object.keys(se).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=se[e]}));Object.prototype.hasOwnProperty.call(oe,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:oe["__proto__"]});Object.keys(oe).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=oe[e]}))},3166:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingServiceException=t.__ServiceException=void 0;const n=o(1411);Object.defineProperty(t,"__ServiceException",{enumerable:true,get:function(){return n.ServiceException}});class PricingServiceException extends n.ServiceException{constructor(e){super(e);Object.setPrototypeOf(this,PricingServiceException.prototype)}}t.PricingServiceException=PricingServiceException},5193:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ResourceNotFoundException=t.ThrottlingException=t.NotFoundException=t.InvalidParameterException=t.InvalidNextTokenException=t.InternalErrorException=t.ExpiredNextTokenException=t.AccessDeniedException=void 0;const n=o(3166);class AccessDeniedException extends n.PricingServiceException{name="AccessDeniedException";$fault="client";Message;constructor(e){super({name:"AccessDeniedException",$fault:"client",...e});Object.setPrototypeOf(this,AccessDeniedException.prototype);this.Message=e.Message}}t.AccessDeniedException=AccessDeniedException;class ExpiredNextTokenException extends n.PricingServiceException{name="ExpiredNextTokenException";$fault="client";Message;constructor(e){super({name:"ExpiredNextTokenException",$fault:"client",...e});Object.setPrototypeOf(this,ExpiredNextTokenException.prototype);this.Message=e.Message}}t.ExpiredNextTokenException=ExpiredNextTokenException;class InternalErrorException extends n.PricingServiceException{name="InternalErrorException";$fault="server";$retryable={};Message;constructor(e){super({name:"InternalErrorException",$fault:"server",...e});Object.setPrototypeOf(this,InternalErrorException.prototype);this.Message=e.Message}}t.InternalErrorException=InternalErrorException;class InvalidNextTokenException extends n.PricingServiceException{name="InvalidNextTokenException";$fault="client";Message;constructor(e){super({name:"InvalidNextTokenException",$fault:"client",...e});Object.setPrototypeOf(this,InvalidNextTokenException.prototype);this.Message=e.Message}}t.InvalidNextTokenException=InvalidNextTokenException;class InvalidParameterException extends n.PricingServiceException{name="InvalidParameterException";$fault="client";Message;constructor(e){super({name:"InvalidParameterException",$fault:"client",...e});Object.setPrototypeOf(this,InvalidParameterException.prototype);this.Message=e.Message}}t.InvalidParameterException=InvalidParameterException;class NotFoundException extends n.PricingServiceException{name="NotFoundException";$fault="client";Message;constructor(e){super({name:"NotFoundException",$fault:"client",...e});Object.setPrototypeOf(this,NotFoundException.prototype);this.Message=e.Message}}t.NotFoundException=NotFoundException;class ThrottlingException extends n.PricingServiceException{name="ThrottlingException";$fault="client";$retryable={throttling:true};Message;constructor(e){super({name:"ThrottlingException",$fault:"client",...e});Object.setPrototypeOf(this,ThrottlingException.prototype);this.Message=e.Message}}t.ThrottlingException=ThrottlingException;class ResourceNotFoundException extends n.PricingServiceException{name="ResourceNotFoundException";$fault="client";Message;constructor(e){super({name:"ResourceNotFoundException",$fault:"client",...e});Object.setPrototypeOf(this,ResourceNotFoundException.prototype);this.Message=e.Message}}t.ResourceNotFoundException=ResourceNotFoundException},9071:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getRuntimeConfig=void 0;const n=o(1860);const i=n.__importDefault(o(245));const h=o(8704);const p=o(5861);const Q=o(1656);const D=o(9316);const T=o(5092);const _=o(9618);const O=o(5704);const V=o(1279);const j=o(1411);const $=o(3638);const ee=o(5435);const te=o(5518);const re=o(4348);const getRuntimeConfig=e=>{(0,j.emitWarningIfUnsupportedVersion)(process.version);const t=(0,ee.resolveDefaultsModeConfig)(e);const defaultConfigProvider=()=>t().then(j.loadConfigsForDefaultMode);const o=(0,re.getRuntimeConfig)(e);(0,h.emitWarningIfUnsupportedVersion)(process.version);const n={profile:e?.profile,logger:o.logger};return{...o,...e,runtime:"node",defaultsMode:t,authSchemePreference:e?.authSchemePreference??(0,O.loadConfig)(h.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,n),bodyLengthChecker:e?.bodyLengthChecker??$.calculateBodyLength,credentialDefaultProvider:e?.credentialDefaultProvider??p.defaultProvider,defaultUserAgentProvider:e?.defaultUserAgentProvider??(0,Q.createDefaultUserAgentProvider)({serviceId:o.serviceId,clientVersion:i.default.version}),maxAttempts:e?.maxAttempts??(0,O.loadConfig)(_.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,e),region:e?.region??(0,O.loadConfig)(D.NODE_REGION_CONFIG_OPTIONS,{...D.NODE_REGION_CONFIG_FILE_OPTIONS,...n}),requestHandler:V.NodeHttpHandler.create(e?.requestHandler??defaultConfigProvider),retryMode:e?.retryMode??(0,O.loadConfig)({..._.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await defaultConfigProvider()).retryMode||te.DEFAULT_RETRY_MODE},e),sha256:e?.sha256??T.Hash.bind(null,"sha256"),streamCollector:e?.streamCollector??V.streamCollector,useDualstackEndpoint:e?.useDualstackEndpoint??(0,O.loadConfig)(D.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,n),useFipsEndpoint:e?.useFipsEndpoint??(0,O.loadConfig)(D.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,n),userAgentAppId:e?.userAgentAppId??(0,O.loadConfig)(Q.NODE_APP_ID_CONFIG_OPTIONS,n)}};t.getRuntimeConfig=getRuntimeConfig},4348:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getRuntimeConfig=void 0;const n=o(8704);const i=o(7288);const h=o(1411);const p=o(4494);const Q=o(8385);const D=o(1577);const T=o(5782);const _=o(8080);const O=o(9861);const getRuntimeConfig=e=>({apiVersion:"2017-10-15",base64Decoder:e?.base64Decoder??Q.fromBase64,base64Encoder:e?.base64Encoder??Q.toBase64,disableHostPrefix:e?.disableHostPrefix??false,endpointProvider:e?.endpointProvider??_.defaultEndpointResolver,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??T.defaultPricingHttpAuthSchemeProvider,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new n.AwsSdkSigV4Signer}],logger:e?.logger??new h.NoOpLogger,protocol:e?.protocol??i.AwsJson1_1Protocol,protocolSettings:e?.protocolSettings??{defaultNamespace:"com.amazonaws.pricing",errorTypeRegistries:O.errorTypeRegistries,version:"2017-10-15",serviceTarget:"AWSPriceListService"},serviceId:e?.serviceId??"Pricing",urlParser:e?.urlParser??p.parseUrl,utf8Decoder:e?.utf8Decoder??D.fromUtf8,utf8Encoder:e?.utf8Encoder??D.toUtf8});t.getRuntimeConfig=getRuntimeConfig},9861:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ListPriceLists$=t.GetProducts$=t.GetPriceListFileUrl$=t.GetAttributeValues$=t.DescribeServices$=t.Service$=t.PriceList$=t.ListPriceListsResponse$=t.ListPriceListsRequest$=t.GetProductsResponse$=t.GetProductsRequest$=t.GetPriceListFileUrlResponse$=t.GetPriceListFileUrlRequest$=t.GetAttributeValuesResponse$=t.GetAttributeValuesRequest$=t.Filter$=t.DescribeServicesResponse$=t.DescribeServicesRequest$=t.AttributeValue$=t.errorTypeRegistries=t.ThrottlingException$=t.ResourceNotFoundException$=t.NotFoundException$=t.InvalidParameterException$=t.InvalidNextTokenException$=t.InternalErrorException$=t.ExpiredNextTokenException$=t.AccessDeniedException$=t.PricingServiceException$=void 0;const n="AccessDeniedException";const i="AttributeName";const h="AttributeNames";const p="AttributeValue";const Q="AttributeValueList";const D="AttributeValues";const T="CurrencyCode";const _="DescribeServices";const O="DescribeServicesRequest";const V="DescribeServicesResponse";const j="EffectiveDate";const $="ExpiredNextTokenException";const ee="Filter";const te="FileFormat";const re="FileFormats";const se="FormatVersion";const oe="Field";const ne="Filters";const ie="GetAttributeValues";const Ae="GetAttributeValuesRequest";const ae="GetAttributeValuesResponse";const ce="GetProducts";const le="GetPriceListFileUrl";const ue="GetPriceListFileUrlRequest";const ge="GetPriceListFileUrlResponse";const de="GetProductsRequest";const he="GetProductsResponse";const pe="InternalErrorException";const fe="InvalidNextTokenException";const Ee="InvalidParameterException";const Ce="ListPriceLists";const me="ListPriceListsRequest";const Ie="ListPriceListsResponse";const Qe="Message";const Be="MaxResults";const ye="NotFoundException";const we="NextToken";const be="PriceList";const Se="PriceListArn";const Re="PriceListJsonItems";const De="PriceLists";const Te="RegionCode";const ke="ResourceNotFoundException";const ve="Services";const Ne="ServiceCode";const Fe="SynthesizedJsonPriceListJsonItem";const _e="ServiceList";const Ue="Service";const Pe="Type";const Le="ThrottlingException";const Me="Url";const Oe="Value";const xe="application/json";const Ge="client";const He="error";const Ye="httpError";const Ve="mediaType";const Je="smithy.ts.sdk.synthetic.com.amazonaws.pricing";const qe="server";const je="com.amazonaws.pricing";const We=o(6890);const $e=o(5193);const ze=o(3166);const Ke=We.TypeRegistry.for(Je);t.PricingServiceException$=[-3,Je,"PricingServiceException",0,[],[]];Ke.registerError(t.PricingServiceException$,ze.PricingServiceException);const Xe=We.TypeRegistry.for(je);t.AccessDeniedException$=[-3,je,n,{[He]:Ge,[Ye]:401},[Qe],[0]];Xe.registerError(t.AccessDeniedException$,$e.AccessDeniedException);t.ExpiredNextTokenException$=[-3,je,$,{[He]:Ge,[Ye]:400},[Qe],[0]];Xe.registerError(t.ExpiredNextTokenException$,$e.ExpiredNextTokenException);t.InternalErrorException$=[-3,je,pe,{[He]:qe,[Ye]:500},[Qe],[0]];Xe.registerError(t.InternalErrorException$,$e.InternalErrorException);t.InvalidNextTokenException$=[-3,je,fe,{[He]:Ge,[Ye]:400},[Qe],[0]];Xe.registerError(t.InvalidNextTokenException$,$e.InvalidNextTokenException);t.InvalidParameterException$=[-3,je,Ee,{[He]:Ge,[Ye]:400},[Qe],[0]];Xe.registerError(t.InvalidParameterException$,$e.InvalidParameterException);t.NotFoundException$=[-3,je,ye,{[He]:Ge,[Ye]:400},[Qe],[0]];Xe.registerError(t.NotFoundException$,$e.NotFoundException);t.ResourceNotFoundException$=[-3,je,ke,{[He]:Ge,[Ye]:404},[Qe],[0]];Xe.registerError(t.ResourceNotFoundException$,$e.ResourceNotFoundException);t.ThrottlingException$=[-3,je,Le,{[He]:Ge,[Ye]:429},[Qe],[0]];Xe.registerError(t.ThrottlingException$,$e.ThrottlingException);t.errorTypeRegistries=[Ke,Xe];var Ze=[0,je,Fe,{[Ve]:xe},0];t.AttributeValue$=[3,je,p,0,[Oe],[0]];t.DescribeServicesRequest$=[3,je,O,0,[Ne,se,we,Be],[0,0,0,1]];t.DescribeServicesResponse$=[3,je,V,0,[ve,se,we],[()=>It,0,0]];t.Filter$=[3,je,ee,0,[Pe,oe,Oe],[0,0,0],3];t.GetAttributeValuesRequest$=[3,je,Ae,0,[Ne,i,we,Be],[0,0,0,1],2];t.GetAttributeValuesResponse$=[3,je,ae,0,[D,we],[()=>gt,0]];t.GetPriceListFileUrlRequest$=[3,je,ue,0,[Se,te],[0,0],2];t.GetPriceListFileUrlResponse$=[3,je,ge,0,[Me],[0]];t.GetProductsRequest$=[3,je,de,0,[Ne,ne,se,we,Be],[0,()=>Et,0,0,1],1];t.GetProductsResponse$=[3,je,he,0,[se,be,we],[0,[()=>Ct,0],0]];t.ListPriceListsRequest$=[3,je,me,0,[Ne,j,T,Te,we,Be],[0,4,0,0,0,1],3];t.ListPriceListsResponse$=[3,je,Ie,0,[De,we],[()=>mt,0]];t.PriceList$=[3,je,be,0,[Se,Te,T,re],[0,0,0,64|0]];t.Service$=[3,je,Ue,0,[Ne,h],[0,64|0],1];var At=null&&64|0;var gt=[1,je,Q,0,()=>t.AttributeValue$];var dt=null&&64|0;var Et=[1,je,ne,0,()=>t.Filter$];var Ct=[1,je,Re,0,[()=>Ze,0]];var mt=[1,je,De,0,()=>t.PriceList$];var It=[1,je,_e,0,()=>t.Service$];t.DescribeServices$=[9,je,_,0,()=>t.DescribeServicesRequest$,()=>t.DescribeServicesResponse$];t.GetAttributeValues$=[9,je,ie,0,()=>t.GetAttributeValuesRequest$,()=>t.GetAttributeValuesResponse$];t.GetPriceListFileUrl$=[9,je,le,0,()=>t.GetPriceListFileUrlRequest$,()=>t.GetPriceListFileUrlResponse$];t.GetProducts$=[9,je,ce,0,()=>t.GetProductsRequest$,()=>t.GetProductsResponse$];t.ListPriceLists$=[9,je,Ce,0,()=>t.ListPriceListsRequest$,()=>t.ListPriceListsResponse$]},8704:(e,t,o)=>{"use strict";var n=o(2356);var i=o(402);var h=o(1238);var p=o(5152);var Q=o(5118);var D=o(4645);var T=o(6890);var _=o(1411);var O=o(3422);var V=o(2430);var j=o(8385);var $=o(1577);var ee=o(4274);const te={warningEmitted:false};const emitWarningIfUnsupportedVersion=e=>{if(e&&!te.warningEmitted&&parseInt(e.substring(1,e.indexOf(".")))<20){te.warningEmitted=true;process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${e} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`)}};function setCredentialFeature(e,t,o){if(!e.$source){e.$source={}}e.$source[t]=o;return e}function setFeature(e,t,o){if(!e.__aws_sdk_context){e.__aws_sdk_context={features:{}}}else if(!e.__aws_sdk_context.features){e.__aws_sdk_context.features={}}e.__aws_sdk_context.features[t]=o}function setTokenFeature(e,t,o){if(!e.$source){e.$source={}}e.$source[t]=o;return e}const getDateHeader=e=>n.HttpResponse.isInstance(e)?e.headers?.date??e.headers?.Date:undefined;const getSkewCorrectedDate=e=>new Date(Date.now()+e);const isClockSkewed=(e,t)=>Math.abs(getSkewCorrectedDate(t).getTime()-e)>=3e5;const getUpdatedSystemClockOffset=(e,t)=>{const o=Date.parse(e);if(isClockSkewed(o,t)){return o-Date.now()}return t};const throwSigningPropertyError=(e,t)=>{if(!t){throw new Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`)}return t};const validateSigningProperties=async e=>{const t=throwSigningPropertyError("context",e.context);const o=throwSigningPropertyError("config",e.config);const n=t.endpointV2?.properties?.authSchemes?.[0];const i=throwSigningPropertyError("signer",o.signer);const h=await i(n);const p=e?.signingRegion;const Q=e?.signingRegionSet;const D=e?.signingName;return{config:o,signer:h,signingRegion:p,signingRegionSet:Q,signingName:D}};class AwsSdkSigV4Signer{async sign(e,t,o){if(!n.HttpRequest.isInstance(e)){throw new Error("The request is not an instance of `HttpRequest` and cannot be signed")}const i=await validateSigningProperties(o);const{config:h,signer:p}=i;let{signingRegion:Q,signingName:D}=i;const T=o.context;if(T?.authSchemes?.length??0>1){const[e,t]=T.authSchemes;if(e?.name==="sigv4a"&&t?.name==="sigv4"){Q=t?.signingRegion??Q;D=t?.signingName??D}}const _=await p.sign(e,{signingDate:getSkewCorrectedDate(h.systemClockOffset),signingRegion:Q,signingService:D});return _}errorHandler(e){return t=>{const o=t.ServerTime??getDateHeader(t.$response);if(o){const n=throwSigningPropertyError("config",e.config);const i=n.systemClockOffset;n.systemClockOffset=getUpdatedSystemClockOffset(o,n.systemClockOffset);const h=n.systemClockOffset!==i;if(h&&t.$metadata){t.$metadata.clockSkewCorrected=true}}throw t}}successHandler(e,t){const o=getDateHeader(e);if(o){const e=throwSigningPropertyError("config",t.config);e.systemClockOffset=getUpdatedSystemClockOffset(o,e.systemClockOffset)}}}const re=AwsSdkSigV4Signer;class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer{async sign(e,t,o){if(!n.HttpRequest.isInstance(e)){throw new Error("The request is not an instance of `HttpRequest` and cannot be signed")}const{config:i,signer:h,signingRegion:p,signingRegionSet:Q,signingName:D}=await validateSigningProperties(o);const T=await(i.sigv4aSigningRegionSet?.());const _=(T??Q??[p]).join(",");const O=await h.sign(e,{signingDate:getSkewCorrectedDate(i.systemClockOffset),signingRegion:_,signingService:D});return O}}const getArrayForCommaSeparatedString=e=>typeof e==="string"&&e.length>0?e.split(",").map((e=>e.trim())):[];const getBearerTokenEnvKey=e=>`AWS_BEARER_TOKEN_${e.replace(/[\s-]/g,"_").toUpperCase()}`;const se="AWS_AUTH_SCHEME_PREFERENCE";const oe="auth_scheme_preference";const ne={environmentVariableSelector:(e,t)=>{if(t?.signingName){const o=getBearerTokenEnvKey(t.signingName);if(o in e)return["httpBearerAuth"]}if(!(se in e))return undefined;return getArrayForCommaSeparatedString(e[se])},configFileSelector:e=>{if(!(oe in e))return undefined;return getArrayForCommaSeparatedString(e[oe])},default:[]};const resolveAwsSdkSigV4AConfig=e=>{e.sigv4aSigningRegionSet=i.normalizeProvider(e.sigv4aSigningRegionSet);return e};const ie={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET){return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((e=>e.trim()))}throw new h.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:true})},configFileSelector(e){if(e.sigv4a_signing_region_set){return(e.sigv4a_signing_region_set??"").split(",").map((e=>e.trim()))}throw new h.ProviderError("sigv4a_signing_region_set not set in profile.",{tryNextLink:true})},default:undefined};const resolveAwsSdkSigV4Config=e=>{let t=e.credentials;let o=!!e.credentials;let n=undefined;Object.defineProperty(e,"credentials",{set(i){if(i&&i!==t&&i!==n){o=true}t=i;const h=normalizeCredentialProvider(e,{credentials:t,credentialDefaultProvider:e.credentialDefaultProvider});const Q=bindCallerConfig(e,h);if(o&&!Q.attributed){const e=typeof t==="object"&&t!==null;n=async t=>{const o=await Q(t);const n=o;if(e&&(!n.$source||Object.keys(n.$source).length===0)){return p.setCredentialFeature(n,"CREDENTIALS_CODE","e")}return n};n.memoized=Q.memoized;n.configBound=Q.configBound;n.attributed=true}else{n=Q}},get(){return n},enumerable:true,configurable:true});e.credentials=t;const{signingEscapePath:h=true,systemClockOffset:D=e.systemClockOffset||0,sha256:T}=e;let _;if(e.signer){_=i.normalizeProvider(e.signer)}else if(e.regionInfoProvider){_=()=>i.normalizeProvider(e.region)().then((async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t])).then((([t,o])=>{const{signingRegion:n,signingService:i}=t;e.signingRegion=e.signingRegion||n||o;e.signingName=e.signingName||i||e.serviceId;const p={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:T,uriEscapePath:h};const D=e.signerConstructor||Q.SignatureV4;return new D(p)}))}else{_=async t=>{t=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await i.normalizeProvider(e.region)(),properties:{}},t);const o=t.signingRegion;const n=t.signingName;e.signingRegion=e.signingRegion||o;e.signingName=e.signingName||n||e.serviceId;const p={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:T,uriEscapePath:h};const D=e.signerConstructor||Q.SignatureV4;return new D(p)}}const O=Object.assign(e,{systemClockOffset:D,signingEscapePath:h,signer:_});return O};const Ae=resolveAwsSdkSigV4Config;function normalizeCredentialProvider(e,{credentials:t,credentialDefaultProvider:o}){let n;if(t){if(!t?.memoized){n=i.memoizeIdentityProvider(t,i.isIdentityExpired,i.doesIdentityRequireRefresh)}else{n=t}}else{if(o){n=i.normalizeProvider(o(Object.assign({},e,{parentClientConfig:e})))}else{n=async()=>{throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}}}n.memoized=true;return n}function bindCallerConfig(e,t){if(t.configBound){return t}const fn=async o=>t({...o,callerClientConfig:e});fn.memoized=t.memoized;fn.configBound=true;return fn}class ProtocolLib{queryCompat;constructor(e=false){this.queryCompat=e}resolveRestContentType(e,t){const o=t.getMemberSchemas();const n=Object.values(o).find((e=>!!e.getMergedTraits().httpPayload));if(n){const t=n.getMergedTraits().mediaType;if(t){return t}else if(n.isStringSchema()){return"text/plain"}else if(n.isBlobSchema()){return"application/octet-stream"}else{return e}}else if(!t.isUnitSchema()){const t=Object.values(o).find((e=>{const{httpQuery:t,httpQueryParams:o,httpHeader:n,httpLabel:i,httpPrefixHeaders:h}=e.getMergedTraits();const p=h===void 0;return!t&&!o&&!n&&!i&&p}));if(t){return e}}}async getErrorSchemaOrThrowBaseException(e,t,o,n,i,h){let p=t;let Q=e;if(e.includes("#")){[p,Q]=e.split("#")}const D={$metadata:i,$fault:o.statusCode<500?"client":"server"};const _=T.TypeRegistry.for(p);try{const t=h?.(_,Q)??_.getSchema(e);return{errorSchema:t,errorMetadata:D}}catch(e){n.message=n.message??n.Message??"UnknownError";const t=T.TypeRegistry.for("smithy.ts.sdk.synthetic."+p);const o=t.getBaseException();if(o){const e=t.getErrorCtor(o)??Error;throw this.decorateServiceException(Object.assign(new e({name:Q}),D),n)}throw this.decorateServiceException(Object.assign(new Error(Q),D),n)}}decorateServiceException(e,t={}){if(this.queryCompat){const o=e.Message??t.Message;const n=_.decorateServiceException(e,t);if(o){n.message=o}n.Error={...n.Error,Type:n.Error?.Type,Code:n.Error?.Code,Message:n.Error?.message??n.Error?.Message??o};const i=n.$metadata.requestId;if(i){n.RequestId=i}return n}return _.decorateServiceException(e,t)}setQueryCompatError(e,t){const o=t.headers?.["x-amzn-query-error"];if(e!==undefined&&o!=null){const[t,n]=o.split(";");const i=Object.entries(e);const h={Code:t,Type:n};Object.assign(e,h);for(const[e,t]of i){h[e==="message"?"Message":e]=t}delete h.__type;e.Error=h}}queryCompatOutput(e,t){if(e.Error){t.Error=e.Error}if(e.Type){t.Type=e.Type}if(e.Code){t.Code=e.Code}}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch(o){return e.find((e=>T.NormalizedSchema.of(e).getMergedTraits().awsQueryError?.[0]===t))}}}class AwsSmithyRpcV2CborProtocol extends D.SmithyRpcV2CborProtocol{awsQueryCompatible;mixin;constructor({defaultNamespace:e,awsQueryCompatible:t}){super({defaultNamespace:e});this.awsQueryCompatible=!!t;this.mixin=new ProtocolLib(this.awsQueryCompatible)}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);if(this.awsQueryCompatible){n.headers["x-amzn-query-mode"]="true"}return n}async handleError(e,t,o,n,i){if(this.awsQueryCompatible){this.mixin.setQueryCompatError(n,o)}const h=(()=>{const e=o.headers["x-amzn-query-error"];if(e&&this.awsQueryCompatible){return e.split(";")[0]}return D.loadSmithyRpcV2CborErrorCode(o,n)??"Unknown"})();const{errorSchema:p,errorMetadata:Q}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,o,n,i,this.awsQueryCompatible?this.mixin.findQueryCompatibleError:undefined);const _=T.NormalizedSchema.of(p);const O=n.message??n.Message??"Unknown";const V=T.TypeRegistry.for(p[1]).getErrorCtor(p)??Error;const j=new V(O);const $={};for(const[e,t]of _.structIterator()){if(n[e]!=null){$[e]=this.deserializer.readValue(t,n[e])}}if(this.awsQueryCompatible){this.mixin.queryCompatOutput(n,$)}throw this.mixin.decorateServiceException(Object.assign(j,Q,{$fault:_.getMergedTraits().error,message:O},$),n)}}const _toStr=e=>{if(e==null){return e}if(typeof e==="number"||typeof e==="bigint"){const t=new Error(`Received number ${e} where a string was expected.`);t.name="Warning";console.warn(t);return String(e)}if(typeof e==="boolean"){const t=new Error(`Received boolean ${e} where a string was expected.`);t.name="Warning";console.warn(t);return String(e)}return e};const _toBool=e=>{if(e==null){return e}if(typeof e==="string"){const t=e.toLowerCase();if(e!==""&&t!=="false"&&t!=="true"){const t=new Error(`Received string "${e}" where a boolean was expected.`);t.name="Warning";console.warn(t)}return e!==""&&t!=="false"}return e};const _toNum=e=>{if(e==null){return e}if(typeof e==="string"){const t=Number(e);if(t.toString()!==e){const t=new Error(`Received string "${e}" where a number was expected.`);t.name="Warning";console.warn(t);return e}return t}return e};class SerdeContextConfig{serdeContext;setSerdeContext(e){this.serdeContext=e}}class UnionSerde{from;to;keys;constructor(e,t){this.from=e;this.to=t;this.keys=new Set(Object.keys(this.from).filter((e=>e!=="__type")))}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){const e=this.keys.values().next().value;const t=this.from[e];this.to.$unknown=[e,t]}}}function jsonReviver(e,t,o){if(o?.source){const e=o.source;if(typeof t==="number"){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER||e!==String(t)){const t=e.includes(".");if(t){return new V.NumericValue(e,"bigDecimal")}else{return BigInt(e)}}}}return t}const collectBodyString=(e,t)=>_.collectBody(e,t).then((e=>(t?.utf8Encoder??$.toUtf8)(e)));const parseJsonBody=(e,t)=>collectBodyString(e,t).then((e=>{if(e.length){try{return JSON.parse(e)}catch(t){if(t?.name==="SyntaxError"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}}return{}}));const parseJsonErrorBody=async(e,t)=>{const o=await parseJsonBody(e,t);o.message=o.message??o.Message;return o};const loadRestJsonErrorCode=(e,t)=>{const findKey=(e,t)=>Object.keys(e).find((e=>e.toLowerCase()===t.toLowerCase()));const sanitizeErrorCode=e=>{let t=e;if(typeof t==="number"){t=t.toString()}if(t.indexOf(",")>=0){t=t.split(",")[0]}if(t.indexOf(":")>=0){t=t.split(":")[0]}if(t.indexOf("#")>=0){t=t.split("#")[1]}return t};const o=findKey(e.headers,"x-amzn-errortype");if(o!==undefined){return sanitizeErrorCode(e.headers[o])}if(t&&typeof t==="object"){const e=findKey(t,"code");if(e&&t[e]!==undefined){return sanitizeErrorCode(t[e])}if(t["__type"]!==undefined){return sanitizeErrorCode(t["__type"])}}};class JsonShapeDeserializer extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}async read(e,t){return this._read(e,typeof t==="string"?JSON.parse(t,jsonReviver):await parseJsonBody(t,this.serdeContext))}readObject(e,t){return this._read(e,t)}_read(e,t){const o=t!==null&&typeof t==="object";const n=T.NormalizedSchema.of(e);if(o){if(n.isStructSchema()){const e=t;const o=n.isUnionSchema();const i={};let h=void 0;const{jsonName:p}=this.settings;if(p){h={}}let Q;if(o){Q=new UnionSerde(e,i)}for(const[t,D]of n.structIterator()){let n=t;if(p){n=D.getMergedTraits().jsonName??n;h[n]=t}if(o){Q.mark(n)}if(e[n]!=null){i[t]=this._read(D,e[n])}}if(o){Q.writeUnknown()}else if(typeof e.__type==="string"){for(const[t,o]of Object.entries(e)){const e=p?h[t]??t:t;if(!(e in i)){i[e]=o}}}return i}if(Array.isArray(t)&&n.isListSchema()){const e=n.getValueSchema();const o=[];for(const n of t){o.push(this._read(e,n))}return o}if(n.isMapSchema()){const e=n.getValueSchema();const o={};for(const[n,i]of Object.entries(t)){o[n]=this._read(e,i)}return o}}if(n.isBlobSchema()&&typeof t==="string"){return j.fromBase64(t)}const i=n.getMergedTraits().mediaType;if(n.isStringSchema()&&typeof t==="string"&&i){const e=i==="application/json"||i.endsWith("+json");if(e){return V.LazyJsonString.from(t)}return t}if(n.isTimestampSchema()&&t!=null){const e=O.determineTimestampFormat(n,this.settings);switch(e){case 5:return V.parseRfc3339DateTimeWithOffset(t);case 6:return V.parseRfc7231DateTime(t);case 7:return V.parseEpochTimestamp(t);default:console.warn("Missing timestamp format, parsing value with Date constructor:",t);return new Date(t)}}if(n.isBigIntegerSchema()&&(typeof t==="number"||typeof t==="string")){return BigInt(t)}if(n.isBigDecimalSchema()&&t!=undefined){if(t instanceof V.NumericValue){return t}const e=t;if(e.type==="bigDecimal"&&"string"in e){return new V.NumericValue(e.string,e.type)}return new V.NumericValue(String(t),"bigDecimal")}if(n.isNumericSchema()&&typeof t==="string"){switch(t){case"Infinity":return Infinity;case"-Infinity":return-Infinity;case"NaN":return NaN}return t}if(n.isDocumentSchema()){if(o){const e=Array.isArray(t)?[]:{};for(const[o,i]of Object.entries(t)){if(i instanceof V.NumericValue){e[o]=i}else{e[o]=this._read(n,i)}}return e}else{return structuredClone(t)}}return t}}const ae=String.fromCharCode(925);class JsonReplacer{values=new Map;counter=0;stage=0;createReplacer(){if(this.stage===1){throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.")}if(this.stage===2){throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.")}this.stage=1;return(e,t)=>{if(t instanceof V.NumericValue){const e=`${ae+"nv"+this.counter++}_`+t.string;this.values.set(`"${e}"`,t.string);return e}if(typeof t==="bigint"){const e=t.toString();const o=`${ae+"b"+this.counter++}_`+e;this.values.set(`"${o}"`,e);return o}return t}}replaceInJson(e){if(this.stage===0){throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.")}if(this.stage===2){throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.")}this.stage=2;if(this.counter===0){return e}for(const[t,o]of this.values){e=e.replace(t,o)}return e}}class JsonShapeSerializer extends SerdeContextConfig{settings;buffer;useReplacer=false;rootSchema;constructor(e){super();this.settings=e}write(e,t){this.rootSchema=T.NormalizedSchema.of(e);this.buffer=this._write(this.rootSchema,t)}writeDiscriminatedDocument(e,t){this.write(e,t);if(typeof this.buffer==="object"){this.buffer.__type=T.NormalizedSchema.of(e).getName(true)}}flush(){const{rootSchema:e,useReplacer:t}=this;this.rootSchema=undefined;this.useReplacer=false;if(e?.isStructSchema()||e?.isDocumentSchema()){if(!t){return JSON.stringify(this.buffer)}const e=new JsonReplacer;return e.replaceInJson(JSON.stringify(this.buffer,e.createReplacer(),0))}return this.buffer}_write(e,t,o){const n=t!==null&&typeof t==="object";const i=T.NormalizedSchema.of(e);if(n){if(i.isStructSchema()){const e=t;const o={};const{jsonName:n}=this.settings;let h=void 0;if(n){h={}}for(const[t,p]of i.structIterator()){const Q=this._write(p,e[t],i);if(Q!==undefined){let e=t;if(n){e=p.getMergedTraits().jsonName??t;h[t]=e}o[e]=Q}}if(i.isUnionSchema()&&Object.keys(o).length===0){const{$unknown:t}=e;if(Array.isArray(t)){const[e,n]=t;o[e]=this._write(15,n)}}else if(typeof e.__type==="string"){for(const[t,i]of Object.entries(e)){const e=n?h[t]??t:t;if(!(e in o)){o[e]=this._write(15,i)}}}return o}if(Array.isArray(t)&&i.isListSchema()){const e=i.getValueSchema();const o=[];const n=!!i.getMergedTraits().sparse;for(const i of t){if(n||i!=null){o.push(this._write(e,i))}}return o}if(i.isMapSchema()){const e=i.getValueSchema();const o={};const n=!!i.getMergedTraits().sparse;for(const[i,h]of Object.entries(t)){if(n||h!=null){o[i]=this._write(e,h)}}return o}if(t instanceof Uint8Array&&(i.isBlobSchema()||i.isDocumentSchema())){if(i===this.rootSchema){return t}return(this.serdeContext?.base64Encoder??j.toBase64)(t)}if(t instanceof Date&&(i.isTimestampSchema()||i.isDocumentSchema())){const e=O.determineTimestampFormat(i,this.settings);switch(e){case 5:return t.toISOString().replace(".000Z","Z");case 6:return V.dateToUtcString(t);case 7:return t.getTime()/1e3;default:console.warn("Missing timestamp format, using epoch seconds",t);return t.getTime()/1e3}}if(t instanceof V.NumericValue){this.useReplacer=true}}if(t===null&&o?.isStructSchema()){return void 0}if(i.isStringSchema()){if(typeof t==="undefined"&&i.isIdempotencyToken()){return V.generateIdempotencyToken()}const e=i.getMergedTraits().mediaType;if(t!=null&&e){const o=e==="application/json"||e.endsWith("+json");if(o){return V.LazyJsonString.from(t)}}return t}if(typeof t==="number"&&i.isNumericSchema()){if(Math.abs(t)===Infinity||isNaN(t)){return String(t)}return t}if(typeof t==="string"&&i.isBlobSchema()){if(i===this.rootSchema){return t}return(this.serdeContext?.base64Encoder??j.toBase64)(t)}if(typeof t==="bigint"){this.useReplacer=true}if(i.isDocumentSchema()){if(n){const e=Array.isArray(t)?[]:{};for(const[o,n]of Object.entries(t)){if(n instanceof V.NumericValue){this.useReplacer=true;e[o]=n}else{e[o]=this._write(i,n)}}return e}else{return structuredClone(t)}}return t}}class JsonCodec extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}createSerializer(){const e=new JsonShapeSerializer(this.settings);e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new JsonShapeDeserializer(this.settings);e.setSerdeContext(this.serdeContext);return e}}class AwsJsonRpcProtocol extends O.RpcProtocol{serializer;deserializer;serviceTarget;codec;mixin;awsQueryCompatible;constructor({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n}){super({defaultNamespace:e});this.serviceTarget=t;this.codec=n??new JsonCodec({timestampFormat:{useTrait:true,default:7},jsonName:false});this.serializer=this.codec.createSerializer();this.deserializer=this.codec.createDeserializer();this.awsQueryCompatible=!!o;this.mixin=new ProtocolLib(this.awsQueryCompatible)}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);if(!n.path.endsWith("/")){n.path+="/"}Object.assign(n.headers,{"content-type":`application/x-amz-json-${this.getJsonRpcVersion()}`,"x-amz-target":`${this.serviceTarget}.${e.name}`});if(this.awsQueryCompatible){n.headers["x-amzn-query-mode"]="true"}if(T.deref(e.input)==="unit"||!n.body){n.body="{}"}return n}getPayloadCodec(){return this.codec}async handleError(e,t,o,n,i){if(this.awsQueryCompatible){this.mixin.setQueryCompatError(n,o)}const h=loadRestJsonErrorCode(o,n)??"Unknown";const{errorSchema:p,errorMetadata:Q}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,o,n,i,this.awsQueryCompatible?this.mixin.findQueryCompatibleError:undefined);const D=T.NormalizedSchema.of(p);const _=n.message??n.Message??"Unknown";const O=T.TypeRegistry.for(p[1]).getErrorCtor(p)??Error;const V=new O(_);const j={};for(const[e,t]of D.structIterator()){if(n[e]!=null){j[e]=this.codec.createDeserializer().readObject(t,n[e])}}if(this.awsQueryCompatible){this.mixin.queryCompatOutput(n,j)}throw this.mixin.decorateServiceException(Object.assign(V,Q,{$fault:D.getMergedTraits().error,message:_},j),n)}}class AwsJson1_0Protocol extends AwsJsonRpcProtocol{constructor({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n}){super({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n})}getShapeId(){return"aws.protocols#awsJson1_0"}getJsonRpcVersion(){return"1.0"}getDefaultContentType(){return"application/x-amz-json-1.0"}}class AwsJson1_1Protocol extends AwsJsonRpcProtocol{constructor({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n}){super({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n})}getShapeId(){return"aws.protocols#awsJson1_1"}getJsonRpcVersion(){return"1.1"}getDefaultContentType(){return"application/x-amz-json-1.1"}}class AwsRestJsonProtocol extends O.HttpBindingProtocol{serializer;deserializer;codec;mixin=new ProtocolLib;constructor({defaultNamespace:e}){super({defaultNamespace:e});const t={timestampFormat:{useTrait:true,default:7},httpBindings:true,jsonName:true};this.codec=new JsonCodec(t);this.serializer=new O.HttpInterceptingShapeSerializer(this.codec.createSerializer(),t);this.deserializer=new O.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(),t)}getShapeId(){return"aws.protocols#restJson1"}getPayloadCodec(){return this.codec}setSerdeContext(e){this.codec.setSerdeContext(e);super.setSerdeContext(e)}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);const i=T.NormalizedSchema.of(e.input);if(!n.headers["content-type"]){const e=this.mixin.resolveRestContentType(this.getDefaultContentType(),i);if(e){n.headers["content-type"]=e}}if(n.body==null&&n.headers["content-type"]===this.getDefaultContentType()){n.body="{}"}return n}async deserializeResponse(e,t,o){const n=await super.deserializeResponse(e,t,o);const i=T.NormalizedSchema.of(e.output);for(const[e,t]of i.structIterator()){if(t.getMemberTraits().httpPayload&&!(e in n)){n[e]=null}}return n}async handleError(e,t,o,n,i){const h=loadRestJsonErrorCode(o,n)??"Unknown";const{errorSchema:p,errorMetadata:Q}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,o,n,i);const D=T.NormalizedSchema.of(p);const _=n.message??n.Message??"Unknown";const O=T.TypeRegistry.for(p[1]).getErrorCtor(p)??Error;const V=new O(_);await this.deserializeHttpMessage(p,t,o,n);const j={};for(const[e,t]of D.structIterator()){const o=t.getMergedTraits().jsonName??e;j[e]=this.codec.createDeserializer().readObject(t,n[o])}throw this.mixin.decorateServiceException(Object.assign(V,Q,{$fault:D.getMergedTraits().error,message:_},j),n)}getDefaultContentType(){return"application/json"}}const awsExpectUnion=e=>{if(e==null){return undefined}if(typeof e==="object"&&"__type"in e){delete e.__type}return _.expectUnion(e)};class XmlShapeDeserializer extends SerdeContextConfig{settings;stringDeserializer;constructor(e){super();this.settings=e;this.stringDeserializer=new O.FromStringShapeDeserializer(e)}setSerdeContext(e){this.serdeContext=e;this.stringDeserializer.setSerdeContext(e)}read(e,t,o){const n=T.NormalizedSchema.of(e);const i=n.getMemberSchemas();const h=n.isStructSchema()&&n.isMemberSchema()&&!!Object.values(i).find((e=>!!e.getMemberTraits().eventPayload));if(h){const e={};const o=Object.keys(i)[0];const n=i[o];if(n.isBlobSchema()){e[o]=t}else{e[o]=this.read(i[o],t)}return e}const p=(this.serdeContext?.utf8Encoder??$.toUtf8)(t);const Q=this.parseXml(p);return this.readSchema(e,o?Q[o]:Q)}readSchema(e,t){const o=T.NormalizedSchema.of(e);if(o.isUnitSchema()){return}const n=o.getMergedTraits();if(o.isListSchema()&&!Array.isArray(t)){return this.readSchema(o,[t])}if(t==null){return t}if(typeof t==="object"){const e=!!n.xmlFlattened;if(o.isListSchema()){const n=o.getValueSchema();const i=[];const h=n.getMergedTraits().xmlName??"member";const p=e?t:(t[0]??t)[h];if(p==null){return i}const Q=Array.isArray(p)?p:[p];for(const e of Q){i.push(this.readSchema(n,e))}return i}const i={};if(o.isMapSchema()){const n=o.getKeySchema();const h=o.getValueSchema();let p;if(e){p=Array.isArray(t)?t:[t]}else{p=Array.isArray(t.entry)?t.entry:[t.entry]}const Q=n.getMergedTraits().xmlName??"key";const D=h.getMergedTraits().xmlName??"value";for(const e of p){const t=e[Q];const o=e[D];i[t]=this.readSchema(h,o)}return i}if(o.isStructSchema()){const e=o.isUnionSchema();let n;if(e){n=new UnionSerde(t,i)}for(const[h,p]of o.structIterator()){const o=p.getMergedTraits();const Q=!o.httpPayload?p.getMemberTraits().xmlName??h:o.xmlName??p.getName();if(e){n.mark(Q)}if(t[Q]!=null){i[h]=this.readSchema(p,t[Q])}}if(e){n.writeUnknown()}return i}if(o.isDocumentSchema()){return t}throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${o.getName(true)}`)}if(o.isListSchema()){return[]}if(o.isMapSchema()||o.isStructSchema()){return{}}return this.stringDeserializer.read(o,t)}parseXml(e){if(e.length){let t;try{t=ee.parseXML(e)}catch(t){if(t&&typeof t==="object"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}const o="#text";const n=Object.keys(t)[0];const i=t[n];if(i[o]){i[n]=i[o];delete i[o]}return _.getValueFromTextNode(i)}return{}}}class QueryShapeSerializer extends SerdeContextConfig{settings;buffer;constructor(e){super();this.settings=e}write(e,t,o=""){if(this.buffer===undefined){this.buffer=""}const n=T.NormalizedSchema.of(e);if(o&&!o.endsWith(".")){o+="."}if(n.isBlobSchema()){if(typeof t==="string"||t instanceof Uint8Array){this.writeKey(o);this.writeValue((this.serdeContext?.base64Encoder??j.toBase64)(t))}}else if(n.isBooleanSchema()||n.isNumericSchema()||n.isStringSchema()){if(t!=null){this.writeKey(o);this.writeValue(String(t))}else if(n.isIdempotencyToken()){this.writeKey(o);this.writeValue(V.generateIdempotencyToken())}}else if(n.isBigIntegerSchema()){if(t!=null){this.writeKey(o);this.writeValue(String(t))}}else if(n.isBigDecimalSchema()){if(t!=null){this.writeKey(o);this.writeValue(t instanceof V.NumericValue?t.string:String(t))}}else if(n.isTimestampSchema()){if(t instanceof Date){this.writeKey(o);const e=O.determineTimestampFormat(n,this.settings);switch(e){case 5:this.writeValue(t.toISOString().replace(".000Z","Z"));break;case 6:this.writeValue(_.dateToUtcString(t));break;case 7:this.writeValue(String(t.getTime()/1e3));break}}}else if(n.isDocumentSchema()){if(Array.isArray(t)){this.write(64|15,t,o)}else if(t instanceof Date){this.write(4,t,o)}else if(t instanceof Uint8Array){this.write(21,t,o)}else if(t&&typeof t==="object"){this.write(128|15,t,o)}else{this.writeKey(o);this.writeValue(String(t))}}else if(n.isListSchema()){if(Array.isArray(t)){if(t.length===0){if(this.settings.serializeEmptyLists){this.writeKey(o);this.writeValue("")}}else{const e=n.getValueSchema();const i=this.settings.flattenLists||n.getMergedTraits().xmlFlattened;let h=1;for(const n of t){if(n==null){continue}const t=e.getMergedTraits();const p=this.getKey("member",t.xmlName,t.ec2QueryName);const Q=i?`${o}${h}`:`${o}${p}.${h}`;this.write(e,n,Q);++h}}}}else if(n.isMapSchema()){if(t&&typeof t==="object"){const e=n.getKeySchema();const i=n.getValueSchema();const h=n.getMergedTraits().xmlFlattened;let p=1;for(const[n,Q]of Object.entries(t)){if(Q==null){continue}const t=e.getMergedTraits();const D=this.getKey("key",t.xmlName,t.ec2QueryName);const T=h?`${o}${p}.${D}`:`${o}entry.${p}.${D}`;const _=i.getMergedTraits();const O=this.getKey("value",_.xmlName,_.ec2QueryName);const V=h?`${o}${p}.${O}`:`${o}entry.${p}.${O}`;this.write(e,n,T);this.write(i,Q,V);++p}}}else if(n.isStructSchema()){if(t&&typeof t==="object"){let e=false;for(const[i,h]of n.structIterator()){if(t[i]==null&&!h.isIdempotencyToken()){continue}const n=h.getMergedTraits();const p=this.getKey(i,n.xmlName,n.ec2QueryName,"struct");const Q=`${o}${p}`;this.write(h,t[i],Q);e=true}if(!e&&n.isUnionSchema()){const{$unknown:e}=t;if(Array.isArray(e)){const[t,n]=e;const i=`${o}${t}`;this.write(15,n,i)}}}}else if(n.isUnitSchema());else{throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${n.getName(true)}`)}}flush(){if(this.buffer===undefined){throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.")}const e=this.buffer;delete this.buffer;return e}getKey(e,t,o,n){const{ec2:i,capitalizeKeys:h}=this.settings;if(i&&o){return o}const p=t??e;if(h&&n==="struct"){return p[0].toUpperCase()+p.slice(1)}return p}writeKey(e){if(e.endsWith(".")){e=e.slice(0,e.length-1)}this.buffer+=`&${O.extendedEncodeURIComponent(e)}=`}writeValue(e){this.buffer+=O.extendedEncodeURIComponent(e)}}class AwsQueryProtocol extends O.RpcProtocol{options;serializer;deserializer;mixin=new ProtocolLib;constructor(e){super({defaultNamespace:e.defaultNamespace});this.options=e;const t={timestampFormat:{useTrait:true,default:5},httpBindings:false,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace,serializeEmptyLists:true};this.serializer=new QueryShapeSerializer(t);this.deserializer=new XmlShapeDeserializer(t)}getShapeId(){return"aws.protocols#awsQuery"}setSerdeContext(e){this.serializer.setSerdeContext(e);this.deserializer.setSerdeContext(e)}getPayloadCodec(){throw new Error("AWSQuery protocol has no payload codec.")}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);if(!n.path.endsWith("/")){n.path+="/"}Object.assign(n.headers,{"content-type":`application/x-www-form-urlencoded`});if(T.deref(e.input)==="unit"||!n.body){n.body=""}const i=e.name.split("#")[1]??e.name;n.body=`Action=${i}&Version=${this.options.version}`+n.body;if(n.body.endsWith("&")){n.body=n.body.slice(-1)}return n}async deserializeResponse(e,t,o){const n=this.deserializer;const i=T.NormalizedSchema.of(e.output);const h={};if(o.statusCode>=300){const i=await O.collectBody(o.body,t);if(i.byteLength>0){Object.assign(h,await n.read(15,i))}await this.handleError(e,t,o,h,this.deserializeMetadata(o))}for(const e in o.headers){const t=o.headers[e];delete o.headers[e];o.headers[e.toLowerCase()]=t}const p=e.name.split("#")[1]??e.name;const Q=i.isStructSchema()&&this.useNestedResult()?p+"Result":undefined;const D=await O.collectBody(o.body,t);if(D.byteLength>0){Object.assign(h,await n.read(i,D,Q))}const _={$metadata:this.deserializeMetadata(o),...h};return _}useNestedResult(){return true}async handleError(e,t,o,n,i){const h=this.loadQueryErrorCode(o,n)??"Unknown";const p=this.loadQueryError(n)??{};const Q=this.loadQueryErrorMessage(n);p.message=Q;p.Error={Type:p.Type,Code:p.Code,Message:Q};const{errorSchema:D,errorMetadata:_}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,o,p,i,this.mixin.findQueryCompatibleError);const O=T.NormalizedSchema.of(D);const V=T.TypeRegistry.for(D[1]).getErrorCtor(D)??Error;const j=new V(Q);const $={Type:p.Error.Type,Code:p.Error.Code,Error:p.Error};for(const[e,t]of O.structIterator()){const o=t.getMergedTraits().xmlName??e;const i=p[o]??n[o];$[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(j,_,{$fault:O.getMergedTraits().error,message:Q},$),n)}loadQueryErrorCode(e,t){const o=(t.Errors?.[0]?.Error??t.Errors?.Error??t.Error)?.Code;if(o!==undefined){return o}if(e.statusCode==404){return"NotFound"}}loadQueryError(e){return e.Errors?.[0]?.Error??e.Errors?.Error??e.Error}loadQueryErrorMessage(e){const t=this.loadQueryError(e);return t?.message??t?.Message??e.message??e.Message??"Unknown"}getDefaultContentType(){return"application/x-www-form-urlencoded"}}class AwsEc2QueryProtocol extends AwsQueryProtocol{options;constructor(e){super(e);this.options=e;const t={capitalizeKeys:true,flattenLists:true,serializeEmptyLists:false,ec2:true};Object.assign(this.serializer.settings,t)}useNestedResult(){return false}}const parseXmlBody=(e,t)=>collectBodyString(e,t).then((e=>{if(e.length){let t;try{t=ee.parseXML(e)}catch(t){if(t&&typeof t==="object"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}const o="#text";const n=Object.keys(t)[0];const i=t[n];if(i[o]){i[n]=i[o];delete i[o]}return _.getValueFromTextNode(i)}return{}}));const parseXmlErrorBody=async(e,t)=>{const o=await parseXmlBody(e,t);if(o.Error){o.Error.message=o.Error.message??o.Error.Message}return o};const loadRestXmlErrorCode=(e,t)=>{if(t?.Error?.Code!==undefined){return t.Error.Code}if(t?.Code!==undefined){return t.Code}if(e.statusCode==404){return"NotFound"}};class XmlShapeSerializer extends SerdeContextConfig{settings;stringBuffer;byteBuffer;buffer;constructor(e){super();this.settings=e}write(e,t){const o=T.NormalizedSchema.of(e);if(o.isStringSchema()&&typeof t==="string"){this.stringBuffer=t}else if(o.isBlobSchema()){this.byteBuffer="byteLength"in t?t:(this.serdeContext?.base64Decoder??j.fromBase64)(t)}else{this.buffer=this.writeStruct(o,t,undefined);const e=o.getMergedTraits();if(e.httpPayload&&!e.xmlName){this.buffer.withName(o.getName())}}}flush(){if(this.byteBuffer!==undefined){const e=this.byteBuffer;delete this.byteBuffer;return e}if(this.stringBuffer!==undefined){const e=this.stringBuffer;delete this.stringBuffer;return e}const e=this.buffer;if(this.settings.xmlNamespace){if(!e?.attributes?.["xmlns"]){e.addAttribute("xmlns",this.settings.xmlNamespace)}}delete this.buffer;return e.toString()}writeStruct(e,t,o){const n=e.getMergedTraits();const i=e.isMemberSchema()&&!n.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():n.xmlName??e.getName();if(!i||!e.isStructSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(true)}.`)}const h=ee.XmlNode.of(i);const[p,Q]=this.getXmlnsAttribute(e,o);for(const[o,n]of e.structIterator()){const e=t[o];if(e!=null||n.isIdempotencyToken()){if(n.getMergedTraits().xmlAttribute){h.addAttribute(n.getMergedTraits().xmlName??o,this.writeSimple(n,e));continue}if(n.isListSchema()){this.writeList(n,e,h,Q)}else if(n.isMapSchema()){this.writeMap(n,e,h,Q)}else if(n.isStructSchema()){h.addChildNode(this.writeStruct(n,e,Q))}else{const t=ee.XmlNode.of(n.getMergedTraits().xmlName??n.getMemberName());this.writeSimpleInto(n,e,t,Q);h.addChildNode(t)}}}const{$unknown:D}=t;if(D&&e.isUnionSchema()&&Array.isArray(D)&&Object.keys(t).length===1){const[e,o]=D;const n=ee.XmlNode.of(e);if(typeof o!=="string"){if(t instanceof ee.XmlNode||t instanceof ee.XmlText){h.addChildNode(t)}else{throw new Error(`@aws-sdk - $unknown union member in XML requires `+`value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`)}}this.writeSimpleInto(0,o,n,Q);h.addChildNode(n)}if(Q){h.addAttribute(p,Q)}return h}writeList(e,t,o,n){if(!e.isMemberSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(true)}`)}const i=e.getMergedTraits();const h=e.getValueSchema();const p=h.getMergedTraits();const Q=!!p.sparse;const D=!!i.xmlFlattened;const[T,_]=this.getXmlnsAttribute(e,n);const writeItem=(t,o)=>{if(h.isListSchema()){this.writeList(h,Array.isArray(o)?o:[o],t,_)}else if(h.isMapSchema()){this.writeMap(h,o,t,_)}else if(h.isStructSchema()){const n=this.writeStruct(h,o,_);t.addChildNode(n.withName(D?i.xmlName??e.getMemberName():p.xmlName??"member"))}else{const n=ee.XmlNode.of(D?i.xmlName??e.getMemberName():p.xmlName??"member");this.writeSimpleInto(h,o,n,_);t.addChildNode(n)}};if(D){for(const e of t){if(Q||e!=null){writeItem(o,e)}}}else{const n=ee.XmlNode.of(i.xmlName??e.getMemberName());if(_){n.addAttribute(T,_)}for(const e of t){if(Q||e!=null){writeItem(n,e)}}o.addChildNode(n)}}writeMap(e,t,o,n,i=false){if(!e.isMemberSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(true)}`)}const h=e.getMergedTraits();const p=e.getKeySchema();const Q=p.getMergedTraits();const D=Q.xmlName??"key";const T=e.getValueSchema();const _=T.getMergedTraits();const O=_.xmlName??"value";const V=!!_.sparse;const j=!!h.xmlFlattened;const[$,te]=this.getXmlnsAttribute(e,n);const addKeyValue=(e,t,o)=>{const n=ee.XmlNode.of(D,t);const[i,h]=this.getXmlnsAttribute(p,te);if(h){n.addAttribute(i,h)}e.addChildNode(n);let Q=ee.XmlNode.of(O);if(T.isListSchema()){this.writeList(T,o,Q,te)}else if(T.isMapSchema()){this.writeMap(T,o,Q,te,true)}else if(T.isStructSchema()){Q=this.writeStruct(T,o,te)}else{this.writeSimpleInto(T,o,Q,te)}e.addChildNode(Q)};if(j){for(const[n,i]of Object.entries(t)){if(V||i!=null){const t=ee.XmlNode.of(h.xmlName??e.getMemberName());addKeyValue(t,n,i);o.addChildNode(t)}}}else{let n;if(!i){n=ee.XmlNode.of(h.xmlName??e.getMemberName());if(te){n.addAttribute($,te)}o.addChildNode(n)}for(const[e,h]of Object.entries(t)){if(V||h!=null){const t=ee.XmlNode.of("entry");addKeyValue(t,e,h);(i?o:n).addChildNode(t)}}}}writeSimple(e,t){if(null===t){throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.")}const o=T.NormalizedSchema.of(e);let n=null;if(t&&typeof t==="object"){if(o.isBlobSchema()){n=(this.serdeContext?.base64Encoder??j.toBase64)(t)}else if(o.isTimestampSchema()&&t instanceof Date){const e=O.determineTimestampFormat(o,this.settings);switch(e){case 5:n=t.toISOString().replace(".000Z","Z");break;case 6:n=_.dateToUtcString(t);break;case 7:n=String(t.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",t);n=_.dateToUtcString(t);break}}else if(o.isBigDecimalSchema()&&t){if(t instanceof V.NumericValue){return t.string}return String(t)}else if(o.isMapSchema()||o.isListSchema()){throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.")}else{throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${o.getName(true)}`)}}if(o.isBooleanSchema()||o.isNumericSchema()||o.isBigIntegerSchema()||o.isBigDecimalSchema()){n=String(t)}if(o.isStringSchema()){if(t===undefined&&o.isIdempotencyToken()){n=V.generateIdempotencyToken()}else{n=String(t)}}if(n===null){throw new Error(`Unhandled schema-value pair ${o.getName(true)}=${t}`)}return n}writeSimpleInto(e,t,o,n){const i=this.writeSimple(e,t);const h=T.NormalizedSchema.of(e);const p=new ee.XmlText(i);const[Q,D]=this.getXmlnsAttribute(h,n);if(D){o.addAttribute(Q,D)}o.addChildNode(p)}getXmlnsAttribute(e,t){const o=e.getMergedTraits();const[n,i]=o.xmlNamespace??[];if(i&&i!==t){return[n?`xmlns:${n}`:"xmlns",i]}return[void 0,void 0]}}class XmlCodec extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}createSerializer(){const e=new XmlShapeSerializer(this.settings);e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new XmlShapeDeserializer(this.settings);e.setSerdeContext(this.serdeContext);return e}}class AwsRestXmlProtocol extends O.HttpBindingProtocol{codec;serializer;deserializer;mixin=new ProtocolLib;constructor(e){super(e);const t={timestampFormat:{useTrait:true,default:5},httpBindings:true,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new XmlCodec(t);this.serializer=new O.HttpInterceptingShapeSerializer(this.codec.createSerializer(),t);this.deserializer=new O.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(),t)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);const i=T.NormalizedSchema.of(e.input);if(!n.headers["content-type"]){const e=this.mixin.resolveRestContentType(this.getDefaultContentType(),i);if(e){n.headers["content-type"]=e}}if(typeof n.body==="string"&&n.headers["content-type"]===this.getDefaultContentType()&&!n.body.startsWith("<?xml ")&&!this.hasUnstructuredPayloadBinding(i)){n.body='<?xml version="1.0" encoding="UTF-8"?>'+n.body}return n}async deserializeResponse(e,t,o){return super.deserializeResponse(e,t,o)}async handleError(e,t,o,n,i){const h=loadRestXmlErrorCode(o,n)??"Unknown";if(n.Error&&typeof n.Error==="object"){for(const e of Object.keys(n.Error)){n[e]=n.Error[e];if(e.toLowerCase()==="message"){n.message=n.Error[e]}}}if(n.RequestId&&!i.requestId){i.requestId=n.RequestId}const{errorSchema:p,errorMetadata:Q}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,o,n,i);const D=T.NormalizedSchema.of(p);const _=n.Error?.message??n.Error?.Message??n.message??n.Message??"Unknown";const O=T.TypeRegistry.for(p[1]).getErrorCtor(p)??Error;const V=new O(_);await this.deserializeHttpMessage(p,t,o,n);const j={};for(const[e,t]of D.structIterator()){const o=t.getMergedTraits().xmlName??e;const i=n.Error?.[o]??n[o];j[e]=this.codec.createDeserializer().readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(V,Q,{$fault:D.getMergedTraits().error,message:_},j),n)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(const[,t]of e.structIterator()){if(t.getMergedTraits().httpPayload){return!(t.isStructSchema()||t.isMapSchema()||t.isListSchema())}}return false}}t.AWSSDKSigV4Signer=re;t.AwsEc2QueryProtocol=AwsEc2QueryProtocol;t.AwsJson1_0Protocol=AwsJson1_0Protocol;t.AwsJson1_1Protocol=AwsJson1_1Protocol;t.AwsJsonRpcProtocol=AwsJsonRpcProtocol;t.AwsQueryProtocol=AwsQueryProtocol;t.AwsRestJsonProtocol=AwsRestJsonProtocol;t.AwsRestXmlProtocol=AwsRestXmlProtocol;t.AwsSdkSigV4ASigner=AwsSdkSigV4ASigner;t.AwsSdkSigV4Signer=AwsSdkSigV4Signer;t.AwsSmithyRpcV2CborProtocol=AwsSmithyRpcV2CborProtocol;t.JsonCodec=JsonCodec;t.JsonShapeDeserializer=JsonShapeDeserializer;t.JsonShapeSerializer=JsonShapeSerializer;t.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS=ne;t.NODE_SIGV4A_CONFIG_OPTIONS=ie;t.XmlCodec=XmlCodec;t.XmlShapeDeserializer=XmlShapeDeserializer;t.XmlShapeSerializer=XmlShapeSerializer;t._toBool=_toBool;t._toNum=_toNum;t._toStr=_toStr;t.awsExpectUnion=awsExpectUnion;t.emitWarningIfUnsupportedVersion=emitWarningIfUnsupportedVersion;t.getBearerTokenEnvKey=getBearerTokenEnvKey;t.loadRestJsonErrorCode=loadRestJsonErrorCode;t.loadRestXmlErrorCode=loadRestXmlErrorCode;t.parseJsonBody=parseJsonBody;t.parseJsonErrorBody=parseJsonErrorBody;t.parseXmlBody=parseXmlBody;t.parseXmlErrorBody=parseXmlErrorBody;t.resolveAWSSDKSigV4Config=Ae;t.resolveAwsSdkSigV4AConfig=resolveAwsSdkSigV4AConfig;t.resolveAwsSdkSigV4Config=resolveAwsSdkSigV4Config;t.setCredentialFeature=setCredentialFeature;t.setFeature=setFeature;t.setTokenFeature=setTokenFeature;t.state=te;t.validateSigningProperties=validateSigningProperties},5152:(e,t)=>{"use strict";const o={warningEmitted:false};const emitWarningIfUnsupportedVersion=e=>{if(e&&!o.warningEmitted&&parseInt(e.substring(1,e.indexOf(".")))<20){o.warningEmitted=true;process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${e} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`)}};function setCredentialFeature(e,t,o){if(!e.$source){e.$source={}}e.$source[t]=o;return e}function setFeature(e,t,o){if(!e.__aws_sdk_context){e.__aws_sdk_context={features:{}}}else if(!e.__aws_sdk_context.features){e.__aws_sdk_context.features={}}e.__aws_sdk_context.features[t]=o}function setTokenFeature(e,t,o){if(!e.$source){e.$source={}}e.$source[t]=o;return e}t.emitWarningIfUnsupportedVersion=emitWarningIfUnsupportedVersion;t.setCredentialFeature=setCredentialFeature;t.setFeature=setFeature;t.setTokenFeature=setTokenFeature;t.state=o},7288:(e,t,o)=>{"use strict";var n=o(4645);var i=o(6890);var h=o(1411);var p=o(3422);var Q=o(2430);var D=o(8385);var T=o(1577);var _=o(4274);class ProtocolLib{queryCompat;constructor(e=false){this.queryCompat=e}resolveRestContentType(e,t){const o=t.getMemberSchemas();const n=Object.values(o).find((e=>!!e.getMergedTraits().httpPayload));if(n){const t=n.getMergedTraits().mediaType;if(t){return t}else if(n.isStringSchema()){return"text/plain"}else if(n.isBlobSchema()){return"application/octet-stream"}else{return e}}else if(!t.isUnitSchema()){const t=Object.values(o).find((e=>{const{httpQuery:t,httpQueryParams:o,httpHeader:n,httpLabel:i,httpPrefixHeaders:h}=e.getMergedTraits();const p=h===void 0;return!t&&!o&&!n&&!i&&p}));if(t){return e}}}async getErrorSchemaOrThrowBaseException(e,t,o,n,h,p){let Q=t;let D=e;if(e.includes("#")){[Q,D]=e.split("#")}const T={$metadata:h,$fault:o.statusCode<500?"client":"server"};const _=i.TypeRegistry.for(Q);try{const t=p?.(_,D)??_.getSchema(e);return{errorSchema:t,errorMetadata:T}}catch(e){n.message=n.message??n.Message??"UnknownError";const t=i.TypeRegistry.for("smithy.ts.sdk.synthetic."+Q);const o=t.getBaseException();if(o){const e=t.getErrorCtor(o)??Error;throw this.decorateServiceException(Object.assign(new e({name:D}),T),n)}throw this.decorateServiceException(Object.assign(new Error(D),T),n)}}decorateServiceException(e,t={}){if(this.queryCompat){const o=e.Message??t.Message;const n=h.decorateServiceException(e,t);if(o){n.message=o}n.Error={...n.Error,Type:n.Error?.Type,Code:n.Error?.Code,Message:n.Error?.message??n.Error?.Message??o};const i=n.$metadata.requestId;if(i){n.RequestId=i}return n}return h.decorateServiceException(e,t)}setQueryCompatError(e,t){const o=t.headers?.["x-amzn-query-error"];if(e!==undefined&&o!=null){const[t,n]=o.split(";");const i=Object.entries(e);const h={Code:t,Type:n};Object.assign(e,h);for(const[e,t]of i){h[e==="message"?"Message":e]=t}delete h.__type;e.Error=h}}queryCompatOutput(e,t){if(e.Error){t.Error=e.Error}if(e.Type){t.Type=e.Type}if(e.Code){t.Code=e.Code}}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch(o){return e.find((e=>i.NormalizedSchema.of(e).getMergedTraits().awsQueryError?.[0]===t))}}}class AwsSmithyRpcV2CborProtocol extends n.SmithyRpcV2CborProtocol{awsQueryCompatible;mixin;constructor({defaultNamespace:e,awsQueryCompatible:t}){super({defaultNamespace:e});this.awsQueryCompatible=!!t;this.mixin=new ProtocolLib(this.awsQueryCompatible)}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);if(this.awsQueryCompatible){n.headers["x-amzn-query-mode"]="true"}return n}async handleError(e,t,o,h,p){if(this.awsQueryCompatible){this.mixin.setQueryCompatError(h,o)}const Q=(()=>{const e=o.headers["x-amzn-query-error"];if(e&&this.awsQueryCompatible){return e.split(";")[0]}return n.loadSmithyRpcV2CborErrorCode(o,h)??"Unknown"})();const{errorSchema:D,errorMetadata:T}=await this.mixin.getErrorSchemaOrThrowBaseException(Q,this.options.defaultNamespace,o,h,p,this.awsQueryCompatible?this.mixin.findQueryCompatibleError:undefined);const _=i.NormalizedSchema.of(D);const O=h.message??h.Message??"Unknown";const V=i.TypeRegistry.for(D[1]).getErrorCtor(D)??Error;const j=new V(O);const $={};for(const[e,t]of _.structIterator()){if(h[e]!=null){$[e]=this.deserializer.readValue(t,h[e])}}if(this.awsQueryCompatible){this.mixin.queryCompatOutput(h,$)}throw this.mixin.decorateServiceException(Object.assign(j,T,{$fault:_.getMergedTraits().error,message:O},$),h)}}const _toStr=e=>{if(e==null){return e}if(typeof e==="number"||typeof e==="bigint"){const t=new Error(`Received number ${e} where a string was expected.`);t.name="Warning";console.warn(t);return String(e)}if(typeof e==="boolean"){const t=new Error(`Received boolean ${e} where a string was expected.`);t.name="Warning";console.warn(t);return String(e)}return e};const _toBool=e=>{if(e==null){return e}if(typeof e==="string"){const t=e.toLowerCase();if(e!==""&&t!=="false"&&t!=="true"){const t=new Error(`Received string "${e}" where a boolean was expected.`);t.name="Warning";console.warn(t)}return e!==""&&t!=="false"}return e};const _toNum=e=>{if(e==null){return e}if(typeof e==="string"){const t=Number(e);if(t.toString()!==e){const t=new Error(`Received string "${e}" where a number was expected.`);t.name="Warning";console.warn(t);return e}return t}return e};class SerdeContextConfig{serdeContext;setSerdeContext(e){this.serdeContext=e}}class UnionSerde{from;to;keys;constructor(e,t){this.from=e;this.to=t;this.keys=new Set(Object.keys(this.from).filter((e=>e!=="__type")))}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){const e=this.keys.values().next().value;const t=this.from[e];this.to.$unknown=[e,t]}}}function jsonReviver(e,t,o){if(o?.source){const e=o.source;if(typeof t==="number"){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER||e!==String(t)){const t=e.includes(".");if(t){return new Q.NumericValue(e,"bigDecimal")}else{return BigInt(e)}}}}return t}const collectBodyString=(e,t)=>h.collectBody(e,t).then((e=>(t?.utf8Encoder??T.toUtf8)(e)));const parseJsonBody=(e,t)=>collectBodyString(e,t).then((e=>{if(e.length){try{return JSON.parse(e)}catch(t){if(t?.name==="SyntaxError"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}}return{}}));const parseJsonErrorBody=async(e,t)=>{const o=await parseJsonBody(e,t);o.message=o.message??o.Message;return o};const loadRestJsonErrorCode=(e,t)=>{const findKey=(e,t)=>Object.keys(e).find((e=>e.toLowerCase()===t.toLowerCase()));const sanitizeErrorCode=e=>{let t=e;if(typeof t==="number"){t=t.toString()}if(t.indexOf(",")>=0){t=t.split(",")[0]}if(t.indexOf(":")>=0){t=t.split(":")[0]}if(t.indexOf("#")>=0){t=t.split("#")[1]}return t};const o=findKey(e.headers,"x-amzn-errortype");if(o!==undefined){return sanitizeErrorCode(e.headers[o])}if(t&&typeof t==="object"){const e=findKey(t,"code");if(e&&t[e]!==undefined){return sanitizeErrorCode(t[e])}if(t["__type"]!==undefined){return sanitizeErrorCode(t["__type"])}}};class JsonShapeDeserializer extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}async read(e,t){return this._read(e,typeof t==="string"?JSON.parse(t,jsonReviver):await parseJsonBody(t,this.serdeContext))}readObject(e,t){return this._read(e,t)}_read(e,t){const o=t!==null&&typeof t==="object";const n=i.NormalizedSchema.of(e);if(o){if(n.isStructSchema()){const e=t;const o=n.isUnionSchema();const i={};let h=void 0;const{jsonName:p}=this.settings;if(p){h={}}let Q;if(o){Q=new UnionSerde(e,i)}for(const[t,D]of n.structIterator()){let n=t;if(p){n=D.getMergedTraits().jsonName??n;h[n]=t}if(o){Q.mark(n)}if(e[n]!=null){i[t]=this._read(D,e[n])}}if(o){Q.writeUnknown()}else if(typeof e.__type==="string"){for(const[t,o]of Object.entries(e)){const e=p?h[t]??t:t;if(!(e in i)){i[e]=o}}}return i}if(Array.isArray(t)&&n.isListSchema()){const e=n.getValueSchema();const o=[];for(const n of t){o.push(this._read(e,n))}return o}if(n.isMapSchema()){const e=n.getValueSchema();const o={};for(const[n,i]of Object.entries(t)){o[n]=this._read(e,i)}return o}}if(n.isBlobSchema()&&typeof t==="string"){return D.fromBase64(t)}const h=n.getMergedTraits().mediaType;if(n.isStringSchema()&&typeof t==="string"&&h){const e=h==="application/json"||h.endsWith("+json");if(e){return Q.LazyJsonString.from(t)}return t}if(n.isTimestampSchema()&&t!=null){const e=p.determineTimestampFormat(n,this.settings);switch(e){case 5:return Q.parseRfc3339DateTimeWithOffset(t);case 6:return Q.parseRfc7231DateTime(t);case 7:return Q.parseEpochTimestamp(t);default:console.warn("Missing timestamp format, parsing value with Date constructor:",t);return new Date(t)}}if(n.isBigIntegerSchema()&&(typeof t==="number"||typeof t==="string")){return BigInt(t)}if(n.isBigDecimalSchema()&&t!=undefined){if(t instanceof Q.NumericValue){return t}const e=t;if(e.type==="bigDecimal"&&"string"in e){return new Q.NumericValue(e.string,e.type)}return new Q.NumericValue(String(t),"bigDecimal")}if(n.isNumericSchema()&&typeof t==="string"){switch(t){case"Infinity":return Infinity;case"-Infinity":return-Infinity;case"NaN":return NaN}return t}if(n.isDocumentSchema()){if(o){const e=Array.isArray(t)?[]:{};for(const[o,i]of Object.entries(t)){if(i instanceof Q.NumericValue){e[o]=i}else{e[o]=this._read(n,i)}}return e}else{return structuredClone(t)}}return t}}const O=String.fromCharCode(925);class JsonReplacer{values=new Map;counter=0;stage=0;createReplacer(){if(this.stage===1){throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.")}if(this.stage===2){throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.")}this.stage=1;return(e,t)=>{if(t instanceof Q.NumericValue){const e=`${O+"nv"+this.counter++}_`+t.string;this.values.set(`"${e}"`,t.string);return e}if(typeof t==="bigint"){const e=t.toString();const o=`${O+"b"+this.counter++}_`+e;this.values.set(`"${o}"`,e);return o}return t}}replaceInJson(e){if(this.stage===0){throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.")}if(this.stage===2){throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.")}this.stage=2;if(this.counter===0){return e}for(const[t,o]of this.values){e=e.replace(t,o)}return e}}class JsonShapeSerializer extends SerdeContextConfig{settings;buffer;useReplacer=false;rootSchema;constructor(e){super();this.settings=e}write(e,t){this.rootSchema=i.NormalizedSchema.of(e);this.buffer=this._write(this.rootSchema,t)}writeDiscriminatedDocument(e,t){this.write(e,t);if(typeof this.buffer==="object"){this.buffer.__type=i.NormalizedSchema.of(e).getName(true)}}flush(){const{rootSchema:e,useReplacer:t}=this;this.rootSchema=undefined;this.useReplacer=false;if(e?.isStructSchema()||e?.isDocumentSchema()){if(!t){return JSON.stringify(this.buffer)}const e=new JsonReplacer;return e.replaceInJson(JSON.stringify(this.buffer,e.createReplacer(),0))}return this.buffer}_write(e,t,o){const n=t!==null&&typeof t==="object";const h=i.NormalizedSchema.of(e);if(n){if(h.isStructSchema()){const e=t;const o={};const{jsonName:n}=this.settings;let i=void 0;if(n){i={}}for(const[t,p]of h.structIterator()){const Q=this._write(p,e[t],h);if(Q!==undefined){let e=t;if(n){e=p.getMergedTraits().jsonName??t;i[t]=e}o[e]=Q}}if(h.isUnionSchema()&&Object.keys(o).length===0){const{$unknown:t}=e;if(Array.isArray(t)){const[e,n]=t;o[e]=this._write(15,n)}}else if(typeof e.__type==="string"){for(const[t,h]of Object.entries(e)){const e=n?i[t]??t:t;if(!(e in o)){o[e]=this._write(15,h)}}}return o}if(Array.isArray(t)&&h.isListSchema()){const e=h.getValueSchema();const o=[];const n=!!h.getMergedTraits().sparse;for(const i of t){if(n||i!=null){o.push(this._write(e,i))}}return o}if(h.isMapSchema()){const e=h.getValueSchema();const o={};const n=!!h.getMergedTraits().sparse;for(const[i,h]of Object.entries(t)){if(n||h!=null){o[i]=this._write(e,h)}}return o}if(t instanceof Uint8Array&&(h.isBlobSchema()||h.isDocumentSchema())){if(h===this.rootSchema){return t}return(this.serdeContext?.base64Encoder??D.toBase64)(t)}if(t instanceof Date&&(h.isTimestampSchema()||h.isDocumentSchema())){const e=p.determineTimestampFormat(h,this.settings);switch(e){case 5:return t.toISOString().replace(".000Z","Z");case 6:return Q.dateToUtcString(t);case 7:return t.getTime()/1e3;default:console.warn("Missing timestamp format, using epoch seconds",t);return t.getTime()/1e3}}if(t instanceof Q.NumericValue){this.useReplacer=true}}if(t===null&&o?.isStructSchema()){return void 0}if(h.isStringSchema()){if(typeof t==="undefined"&&h.isIdempotencyToken()){return Q.generateIdempotencyToken()}const e=h.getMergedTraits().mediaType;if(t!=null&&e){const o=e==="application/json"||e.endsWith("+json");if(o){return Q.LazyJsonString.from(t)}}return t}if(typeof t==="number"&&h.isNumericSchema()){if(Math.abs(t)===Infinity||isNaN(t)){return String(t)}return t}if(typeof t==="string"&&h.isBlobSchema()){if(h===this.rootSchema){return t}return(this.serdeContext?.base64Encoder??D.toBase64)(t)}if(typeof t==="bigint"){this.useReplacer=true}if(h.isDocumentSchema()){if(n){const e=Array.isArray(t)?[]:{};for(const[o,n]of Object.entries(t)){if(n instanceof Q.NumericValue){this.useReplacer=true;e[o]=n}else{e[o]=this._write(h,n)}}return e}else{return structuredClone(t)}}return t}}class JsonCodec extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}createSerializer(){const e=new JsonShapeSerializer(this.settings);e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new JsonShapeDeserializer(this.settings);e.setSerdeContext(this.serdeContext);return e}}class AwsJsonRpcProtocol extends p.RpcProtocol{serializer;deserializer;serviceTarget;codec;mixin;awsQueryCompatible;constructor({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n}){super({defaultNamespace:e});this.serviceTarget=t;this.codec=n??new JsonCodec({timestampFormat:{useTrait:true,default:7},jsonName:false});this.serializer=this.codec.createSerializer();this.deserializer=this.codec.createDeserializer();this.awsQueryCompatible=!!o;this.mixin=new ProtocolLib(this.awsQueryCompatible)}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);if(!n.path.endsWith("/")){n.path+="/"}Object.assign(n.headers,{"content-type":`application/x-amz-json-${this.getJsonRpcVersion()}`,"x-amz-target":`${this.serviceTarget}.${e.name}`});if(this.awsQueryCompatible){n.headers["x-amzn-query-mode"]="true"}if(i.deref(e.input)==="unit"||!n.body){n.body="{}"}return n}getPayloadCodec(){return this.codec}async handleError(e,t,o,n,h){if(this.awsQueryCompatible){this.mixin.setQueryCompatError(n,o)}const p=loadRestJsonErrorCode(o,n)??"Unknown";const{errorSchema:Q,errorMetadata:D}=await this.mixin.getErrorSchemaOrThrowBaseException(p,this.options.defaultNamespace,o,n,h,this.awsQueryCompatible?this.mixin.findQueryCompatibleError:undefined);const T=i.NormalizedSchema.of(Q);const _=n.message??n.Message??"Unknown";const O=i.TypeRegistry.for(Q[1]).getErrorCtor(Q)??Error;const V=new O(_);const j={};for(const[e,t]of T.structIterator()){if(n[e]!=null){j[e]=this.codec.createDeserializer().readObject(t,n[e])}}if(this.awsQueryCompatible){this.mixin.queryCompatOutput(n,j)}throw this.mixin.decorateServiceException(Object.assign(V,D,{$fault:T.getMergedTraits().error,message:_},j),n)}}class AwsJson1_0Protocol extends AwsJsonRpcProtocol{constructor({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n}){super({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n})}getShapeId(){return"aws.protocols#awsJson1_0"}getJsonRpcVersion(){return"1.0"}getDefaultContentType(){return"application/x-amz-json-1.0"}}class AwsJson1_1Protocol extends AwsJsonRpcProtocol{constructor({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n}){super({defaultNamespace:e,serviceTarget:t,awsQueryCompatible:o,jsonCodec:n})}getShapeId(){return"aws.protocols#awsJson1_1"}getJsonRpcVersion(){return"1.1"}getDefaultContentType(){return"application/x-amz-json-1.1"}}class AwsRestJsonProtocol extends p.HttpBindingProtocol{serializer;deserializer;codec;mixin=new ProtocolLib;constructor({defaultNamespace:e}){super({defaultNamespace:e});const t={timestampFormat:{useTrait:true,default:7},httpBindings:true,jsonName:true};this.codec=new JsonCodec(t);this.serializer=new p.HttpInterceptingShapeSerializer(this.codec.createSerializer(),t);this.deserializer=new p.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(),t)}getShapeId(){return"aws.protocols#restJson1"}getPayloadCodec(){return this.codec}setSerdeContext(e){this.codec.setSerdeContext(e);super.setSerdeContext(e)}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);const h=i.NormalizedSchema.of(e.input);if(!n.headers["content-type"]){const e=this.mixin.resolveRestContentType(this.getDefaultContentType(),h);if(e){n.headers["content-type"]=e}}if(n.body==null&&n.headers["content-type"]===this.getDefaultContentType()){n.body="{}"}return n}async deserializeResponse(e,t,o){const n=await super.deserializeResponse(e,t,o);const h=i.NormalizedSchema.of(e.output);for(const[e,t]of h.structIterator()){if(t.getMemberTraits().httpPayload&&!(e in n)){n[e]=null}}return n}async handleError(e,t,o,n,h){const p=loadRestJsonErrorCode(o,n)??"Unknown";const{errorSchema:Q,errorMetadata:D}=await this.mixin.getErrorSchemaOrThrowBaseException(p,this.options.defaultNamespace,o,n,h);const T=i.NormalizedSchema.of(Q);const _=n.message??n.Message??"Unknown";const O=i.TypeRegistry.for(Q[1]).getErrorCtor(Q)??Error;const V=new O(_);await this.deserializeHttpMessage(Q,t,o,n);const j={};for(const[e,t]of T.structIterator()){const o=t.getMergedTraits().jsonName??e;j[e]=this.codec.createDeserializer().readObject(t,n[o])}throw this.mixin.decorateServiceException(Object.assign(V,D,{$fault:T.getMergedTraits().error,message:_},j),n)}getDefaultContentType(){return"application/json"}}const awsExpectUnion=e=>{if(e==null){return undefined}if(typeof e==="object"&&"__type"in e){delete e.__type}return h.expectUnion(e)};class XmlShapeDeserializer extends SerdeContextConfig{settings;stringDeserializer;constructor(e){super();this.settings=e;this.stringDeserializer=new p.FromStringShapeDeserializer(e)}setSerdeContext(e){this.serdeContext=e;this.stringDeserializer.setSerdeContext(e)}read(e,t,o){const n=i.NormalizedSchema.of(e);const h=n.getMemberSchemas();const p=n.isStructSchema()&&n.isMemberSchema()&&!!Object.values(h).find((e=>!!e.getMemberTraits().eventPayload));if(p){const e={};const o=Object.keys(h)[0];const n=h[o];if(n.isBlobSchema()){e[o]=t}else{e[o]=this.read(h[o],t)}return e}const Q=(this.serdeContext?.utf8Encoder??T.toUtf8)(t);const D=this.parseXml(Q);return this.readSchema(e,o?D[o]:D)}readSchema(e,t){const o=i.NormalizedSchema.of(e);if(o.isUnitSchema()){return}const n=o.getMergedTraits();if(o.isListSchema()&&!Array.isArray(t)){return this.readSchema(o,[t])}if(t==null){return t}if(typeof t==="object"){const e=!!n.xmlFlattened;if(o.isListSchema()){const n=o.getValueSchema();const i=[];const h=n.getMergedTraits().xmlName??"member";const p=e?t:(t[0]??t)[h];if(p==null){return i}const Q=Array.isArray(p)?p:[p];for(const e of Q){i.push(this.readSchema(n,e))}return i}const i={};if(o.isMapSchema()){const n=o.getKeySchema();const h=o.getValueSchema();let p;if(e){p=Array.isArray(t)?t:[t]}else{p=Array.isArray(t.entry)?t.entry:[t.entry]}const Q=n.getMergedTraits().xmlName??"key";const D=h.getMergedTraits().xmlName??"value";for(const e of p){const t=e[Q];const o=e[D];i[t]=this.readSchema(h,o)}return i}if(o.isStructSchema()){const e=o.isUnionSchema();let n;if(e){n=new UnionSerde(t,i)}for(const[h,p]of o.structIterator()){const o=p.getMergedTraits();const Q=!o.httpPayload?p.getMemberTraits().xmlName??h:o.xmlName??p.getName();if(e){n.mark(Q)}if(t[Q]!=null){i[h]=this.readSchema(p,t[Q])}}if(e){n.writeUnknown()}return i}if(o.isDocumentSchema()){return t}throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${o.getName(true)}`)}if(o.isListSchema()){return[]}if(o.isMapSchema()||o.isStructSchema()){return{}}return this.stringDeserializer.read(o,t)}parseXml(e){if(e.length){let t;try{t=_.parseXML(e)}catch(t){if(t&&typeof t==="object"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}const o="#text";const n=Object.keys(t)[0];const i=t[n];if(i[o]){i[n]=i[o];delete i[o]}return h.getValueFromTextNode(i)}return{}}}class QueryShapeSerializer extends SerdeContextConfig{settings;buffer;constructor(e){super();this.settings=e}write(e,t,o=""){if(this.buffer===undefined){this.buffer=""}const n=i.NormalizedSchema.of(e);if(o&&!o.endsWith(".")){o+="."}if(n.isBlobSchema()){if(typeof t==="string"||t instanceof Uint8Array){this.writeKey(o);this.writeValue((this.serdeContext?.base64Encoder??D.toBase64)(t))}}else if(n.isBooleanSchema()||n.isNumericSchema()||n.isStringSchema()){if(t!=null){this.writeKey(o);this.writeValue(String(t))}else if(n.isIdempotencyToken()){this.writeKey(o);this.writeValue(Q.generateIdempotencyToken())}}else if(n.isBigIntegerSchema()){if(t!=null){this.writeKey(o);this.writeValue(String(t))}}else if(n.isBigDecimalSchema()){if(t!=null){this.writeKey(o);this.writeValue(t instanceof Q.NumericValue?t.string:String(t))}}else if(n.isTimestampSchema()){if(t instanceof Date){this.writeKey(o);const e=p.determineTimestampFormat(n,this.settings);switch(e){case 5:this.writeValue(t.toISOString().replace(".000Z","Z"));break;case 6:this.writeValue(h.dateToUtcString(t));break;case 7:this.writeValue(String(t.getTime()/1e3));break}}}else if(n.isDocumentSchema()){if(Array.isArray(t)){this.write(64|15,t,o)}else if(t instanceof Date){this.write(4,t,o)}else if(t instanceof Uint8Array){this.write(21,t,o)}else if(t&&typeof t==="object"){this.write(128|15,t,o)}else{this.writeKey(o);this.writeValue(String(t))}}else if(n.isListSchema()){if(Array.isArray(t)){if(t.length===0){if(this.settings.serializeEmptyLists){this.writeKey(o);this.writeValue("")}}else{const e=n.getValueSchema();const i=this.settings.flattenLists||n.getMergedTraits().xmlFlattened;let h=1;for(const n of t){if(n==null){continue}const t=e.getMergedTraits();const p=this.getKey("member",t.xmlName,t.ec2QueryName);const Q=i?`${o}${h}`:`${o}${p}.${h}`;this.write(e,n,Q);++h}}}}else if(n.isMapSchema()){if(t&&typeof t==="object"){const e=n.getKeySchema();const i=n.getValueSchema();const h=n.getMergedTraits().xmlFlattened;let p=1;for(const[n,Q]of Object.entries(t)){if(Q==null){continue}const t=e.getMergedTraits();const D=this.getKey("key",t.xmlName,t.ec2QueryName);const T=h?`${o}${p}.${D}`:`${o}entry.${p}.${D}`;const _=i.getMergedTraits();const O=this.getKey("value",_.xmlName,_.ec2QueryName);const V=h?`${o}${p}.${O}`:`${o}entry.${p}.${O}`;this.write(e,n,T);this.write(i,Q,V);++p}}}else if(n.isStructSchema()){if(t&&typeof t==="object"){let e=false;for(const[i,h]of n.structIterator()){if(t[i]==null&&!h.isIdempotencyToken()){continue}const n=h.getMergedTraits();const p=this.getKey(i,n.xmlName,n.ec2QueryName,"struct");const Q=`${o}${p}`;this.write(h,t[i],Q);e=true}if(!e&&n.isUnionSchema()){const{$unknown:e}=t;if(Array.isArray(e)){const[t,n]=e;const i=`${o}${t}`;this.write(15,n,i)}}}}else if(n.isUnitSchema());else{throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${n.getName(true)}`)}}flush(){if(this.buffer===undefined){throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.")}const e=this.buffer;delete this.buffer;return e}getKey(e,t,o,n){const{ec2:i,capitalizeKeys:h}=this.settings;if(i&&o){return o}const p=t??e;if(h&&n==="struct"){return p[0].toUpperCase()+p.slice(1)}return p}writeKey(e){if(e.endsWith(".")){e=e.slice(0,e.length-1)}this.buffer+=`&${p.extendedEncodeURIComponent(e)}=`}writeValue(e){this.buffer+=p.extendedEncodeURIComponent(e)}}class AwsQueryProtocol extends p.RpcProtocol{options;serializer;deserializer;mixin=new ProtocolLib;constructor(e){super({defaultNamespace:e.defaultNamespace});this.options=e;const t={timestampFormat:{useTrait:true,default:5},httpBindings:false,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace,serializeEmptyLists:true};this.serializer=new QueryShapeSerializer(t);this.deserializer=new XmlShapeDeserializer(t)}getShapeId(){return"aws.protocols#awsQuery"}setSerdeContext(e){this.serializer.setSerdeContext(e);this.deserializer.setSerdeContext(e)}getPayloadCodec(){throw new Error("AWSQuery protocol has no payload codec.")}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);if(!n.path.endsWith("/")){n.path+="/"}Object.assign(n.headers,{"content-type":`application/x-www-form-urlencoded`});if(i.deref(e.input)==="unit"||!n.body){n.body=""}const h=e.name.split("#")[1]??e.name;n.body=`Action=${h}&Version=${this.options.version}`+n.body;if(n.body.endsWith("&")){n.body=n.body.slice(-1)}return n}async deserializeResponse(e,t,o){const n=this.deserializer;const h=i.NormalizedSchema.of(e.output);const Q={};if(o.statusCode>=300){const i=await p.collectBody(o.body,t);if(i.byteLength>0){Object.assign(Q,await n.read(15,i))}await this.handleError(e,t,o,Q,this.deserializeMetadata(o))}for(const e in o.headers){const t=o.headers[e];delete o.headers[e];o.headers[e.toLowerCase()]=t}const D=e.name.split("#")[1]??e.name;const T=h.isStructSchema()&&this.useNestedResult()?D+"Result":undefined;const _=await p.collectBody(o.body,t);if(_.byteLength>0){Object.assign(Q,await n.read(h,_,T))}const O={$metadata:this.deserializeMetadata(o),...Q};return O}useNestedResult(){return true}async handleError(e,t,o,n,h){const p=this.loadQueryErrorCode(o,n)??"Unknown";const Q=this.loadQueryError(n)??{};const D=this.loadQueryErrorMessage(n);Q.message=D;Q.Error={Type:Q.Type,Code:Q.Code,Message:D};const{errorSchema:T,errorMetadata:_}=await this.mixin.getErrorSchemaOrThrowBaseException(p,this.options.defaultNamespace,o,Q,h,this.mixin.findQueryCompatibleError);const O=i.NormalizedSchema.of(T);const V=i.TypeRegistry.for(T[1]).getErrorCtor(T)??Error;const j=new V(D);const $={Type:Q.Error.Type,Code:Q.Error.Code,Error:Q.Error};for(const[e,t]of O.structIterator()){const o=t.getMergedTraits().xmlName??e;const i=Q[o]??n[o];$[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(j,_,{$fault:O.getMergedTraits().error,message:D},$),n)}loadQueryErrorCode(e,t){const o=(t.Errors?.[0]?.Error??t.Errors?.Error??t.Error)?.Code;if(o!==undefined){return o}if(e.statusCode==404){return"NotFound"}}loadQueryError(e){return e.Errors?.[0]?.Error??e.Errors?.Error??e.Error}loadQueryErrorMessage(e){const t=this.loadQueryError(e);return t?.message??t?.Message??e.message??e.Message??"Unknown"}getDefaultContentType(){return"application/x-www-form-urlencoded"}}class AwsEc2QueryProtocol extends AwsQueryProtocol{options;constructor(e){super(e);this.options=e;const t={capitalizeKeys:true,flattenLists:true,serializeEmptyLists:false,ec2:true};Object.assign(this.serializer.settings,t)}useNestedResult(){return false}}const parseXmlBody=(e,t)=>collectBodyString(e,t).then((e=>{if(e.length){let t;try{t=_.parseXML(e)}catch(t){if(t&&typeof t==="object"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}const o="#text";const n=Object.keys(t)[0];const i=t[n];if(i[o]){i[n]=i[o];delete i[o]}return h.getValueFromTextNode(i)}return{}}));const parseXmlErrorBody=async(e,t)=>{const o=await parseXmlBody(e,t);if(o.Error){o.Error.message=o.Error.message??o.Error.Message}return o};const loadRestXmlErrorCode=(e,t)=>{if(t?.Error?.Code!==undefined){return t.Error.Code}if(t?.Code!==undefined){return t.Code}if(e.statusCode==404){return"NotFound"}};class XmlShapeSerializer extends SerdeContextConfig{settings;stringBuffer;byteBuffer;buffer;constructor(e){super();this.settings=e}write(e,t){const o=i.NormalizedSchema.of(e);if(o.isStringSchema()&&typeof t==="string"){this.stringBuffer=t}else if(o.isBlobSchema()){this.byteBuffer="byteLength"in t?t:(this.serdeContext?.base64Decoder??D.fromBase64)(t)}else{this.buffer=this.writeStruct(o,t,undefined);const e=o.getMergedTraits();if(e.httpPayload&&!e.xmlName){this.buffer.withName(o.getName())}}}flush(){if(this.byteBuffer!==undefined){const e=this.byteBuffer;delete this.byteBuffer;return e}if(this.stringBuffer!==undefined){const e=this.stringBuffer;delete this.stringBuffer;return e}const e=this.buffer;if(this.settings.xmlNamespace){if(!e?.attributes?.["xmlns"]){e.addAttribute("xmlns",this.settings.xmlNamespace)}}delete this.buffer;return e.toString()}writeStruct(e,t,o){const n=e.getMergedTraits();const i=e.isMemberSchema()&&!n.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():n.xmlName??e.getName();if(!i||!e.isStructSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(true)}.`)}const h=_.XmlNode.of(i);const[p,Q]=this.getXmlnsAttribute(e,o);for(const[o,n]of e.structIterator()){const e=t[o];if(e!=null||n.isIdempotencyToken()){if(n.getMergedTraits().xmlAttribute){h.addAttribute(n.getMergedTraits().xmlName??o,this.writeSimple(n,e));continue}if(n.isListSchema()){this.writeList(n,e,h,Q)}else if(n.isMapSchema()){this.writeMap(n,e,h,Q)}else if(n.isStructSchema()){h.addChildNode(this.writeStruct(n,e,Q))}else{const t=_.XmlNode.of(n.getMergedTraits().xmlName??n.getMemberName());this.writeSimpleInto(n,e,t,Q);h.addChildNode(t)}}}const{$unknown:D}=t;if(D&&e.isUnionSchema()&&Array.isArray(D)&&Object.keys(t).length===1){const[e,o]=D;const n=_.XmlNode.of(e);if(typeof o!=="string"){if(t instanceof _.XmlNode||t instanceof _.XmlText){h.addChildNode(t)}else{throw new Error(`@aws-sdk - $unknown union member in XML requires `+`value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`)}}this.writeSimpleInto(0,o,n,Q);h.addChildNode(n)}if(Q){h.addAttribute(p,Q)}return h}writeList(e,t,o,n){if(!e.isMemberSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(true)}`)}const i=e.getMergedTraits();const h=e.getValueSchema();const p=h.getMergedTraits();const Q=!!p.sparse;const D=!!i.xmlFlattened;const[T,O]=this.getXmlnsAttribute(e,n);const writeItem=(t,o)=>{if(h.isListSchema()){this.writeList(h,Array.isArray(o)?o:[o],t,O)}else if(h.isMapSchema()){this.writeMap(h,o,t,O)}else if(h.isStructSchema()){const n=this.writeStruct(h,o,O);t.addChildNode(n.withName(D?i.xmlName??e.getMemberName():p.xmlName??"member"))}else{const n=_.XmlNode.of(D?i.xmlName??e.getMemberName():p.xmlName??"member");this.writeSimpleInto(h,o,n,O);t.addChildNode(n)}};if(D){for(const e of t){if(Q||e!=null){writeItem(o,e)}}}else{const n=_.XmlNode.of(i.xmlName??e.getMemberName());if(O){n.addAttribute(T,O)}for(const e of t){if(Q||e!=null){writeItem(n,e)}}o.addChildNode(n)}}writeMap(e,t,o,n,i=false){if(!e.isMemberSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(true)}`)}const h=e.getMergedTraits();const p=e.getKeySchema();const Q=p.getMergedTraits();const D=Q.xmlName??"key";const T=e.getValueSchema();const O=T.getMergedTraits();const V=O.xmlName??"value";const j=!!O.sparse;const $=!!h.xmlFlattened;const[ee,te]=this.getXmlnsAttribute(e,n);const addKeyValue=(e,t,o)=>{const n=_.XmlNode.of(D,t);const[i,h]=this.getXmlnsAttribute(p,te);if(h){n.addAttribute(i,h)}e.addChildNode(n);let Q=_.XmlNode.of(V);if(T.isListSchema()){this.writeList(T,o,Q,te)}else if(T.isMapSchema()){this.writeMap(T,o,Q,te,true)}else if(T.isStructSchema()){Q=this.writeStruct(T,o,te)}else{this.writeSimpleInto(T,o,Q,te)}e.addChildNode(Q)};if($){for(const[n,i]of Object.entries(t)){if(j||i!=null){const t=_.XmlNode.of(h.xmlName??e.getMemberName());addKeyValue(t,n,i);o.addChildNode(t)}}}else{let n;if(!i){n=_.XmlNode.of(h.xmlName??e.getMemberName());if(te){n.addAttribute(ee,te)}o.addChildNode(n)}for(const[e,h]of Object.entries(t)){if(j||h!=null){const t=_.XmlNode.of("entry");addKeyValue(t,e,h);(i?o:n).addChildNode(t)}}}}writeSimple(e,t){if(null===t){throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.")}const o=i.NormalizedSchema.of(e);let n=null;if(t&&typeof t==="object"){if(o.isBlobSchema()){n=(this.serdeContext?.base64Encoder??D.toBase64)(t)}else if(o.isTimestampSchema()&&t instanceof Date){const e=p.determineTimestampFormat(o,this.settings);switch(e){case 5:n=t.toISOString().replace(".000Z","Z");break;case 6:n=h.dateToUtcString(t);break;case 7:n=String(t.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",t);n=h.dateToUtcString(t);break}}else if(o.isBigDecimalSchema()&&t){if(t instanceof Q.NumericValue){return t.string}return String(t)}else if(o.isMapSchema()||o.isListSchema()){throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.")}else{throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${o.getName(true)}`)}}if(o.isBooleanSchema()||o.isNumericSchema()||o.isBigIntegerSchema()||o.isBigDecimalSchema()){n=String(t)}if(o.isStringSchema()){if(t===undefined&&o.isIdempotencyToken()){n=Q.generateIdempotencyToken()}else{n=String(t)}}if(n===null){throw new Error(`Unhandled schema-value pair ${o.getName(true)}=${t}`)}return n}writeSimpleInto(e,t,o,n){const h=this.writeSimple(e,t);const p=i.NormalizedSchema.of(e);const Q=new _.XmlText(h);const[D,T]=this.getXmlnsAttribute(p,n);if(T){o.addAttribute(D,T)}o.addChildNode(Q)}getXmlnsAttribute(e,t){const o=e.getMergedTraits();const[n,i]=o.xmlNamespace??[];if(i&&i!==t){return[n?`xmlns:${n}`:"xmlns",i]}return[void 0,void 0]}}class XmlCodec extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}createSerializer(){const e=new XmlShapeSerializer(this.settings);e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new XmlShapeDeserializer(this.settings);e.setSerdeContext(this.serdeContext);return e}}class AwsRestXmlProtocol extends p.HttpBindingProtocol{codec;serializer;deserializer;mixin=new ProtocolLib;constructor(e){super(e);const t={timestampFormat:{useTrait:true,default:5},httpBindings:true,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new XmlCodec(t);this.serializer=new p.HttpInterceptingShapeSerializer(this.codec.createSerializer(),t);this.deserializer=new p.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(),t)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);const h=i.NormalizedSchema.of(e.input);if(!n.headers["content-type"]){const e=this.mixin.resolveRestContentType(this.getDefaultContentType(),h);if(e){n.headers["content-type"]=e}}if(typeof n.body==="string"&&n.headers["content-type"]===this.getDefaultContentType()&&!n.body.startsWith("<?xml ")&&!this.hasUnstructuredPayloadBinding(h)){n.body='<?xml version="1.0" encoding="UTF-8"?>'+n.body}return n}async deserializeResponse(e,t,o){return super.deserializeResponse(e,t,o)}async handleError(e,t,o,n,h){const p=loadRestXmlErrorCode(o,n)??"Unknown";if(n.Error&&typeof n.Error==="object"){for(const e of Object.keys(n.Error)){n[e]=n.Error[e];if(e.toLowerCase()==="message"){n.message=n.Error[e]}}}if(n.RequestId&&!h.requestId){h.requestId=n.RequestId}const{errorSchema:Q,errorMetadata:D}=await this.mixin.getErrorSchemaOrThrowBaseException(p,this.options.defaultNamespace,o,n,h);const T=i.NormalizedSchema.of(Q);const _=n.Error?.message??n.Error?.Message??n.message??n.Message??"Unknown";const O=i.TypeRegistry.for(Q[1]).getErrorCtor(Q)??Error;const V=new O(_);await this.deserializeHttpMessage(Q,t,o,n);const j={};for(const[e,t]of T.structIterator()){const o=t.getMergedTraits().xmlName??e;const i=n.Error?.[o]??n[o];j[e]=this.codec.createDeserializer().readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(V,D,{$fault:T.getMergedTraits().error,message:_},j),n)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(const[,t]of e.structIterator()){if(t.getMergedTraits().httpPayload){return!(t.isStructSchema()||t.isMapSchema()||t.isListSchema())}}return false}}t.AwsEc2QueryProtocol=AwsEc2QueryProtocol;t.AwsJson1_0Protocol=AwsJson1_0Protocol;t.AwsJson1_1Protocol=AwsJson1_1Protocol;t.AwsJsonRpcProtocol=AwsJsonRpcProtocol;t.AwsQueryProtocol=AwsQueryProtocol;t.AwsRestJsonProtocol=AwsRestJsonProtocol;t.AwsRestXmlProtocol=AwsRestXmlProtocol;t.AwsSmithyRpcV2CborProtocol=AwsSmithyRpcV2CborProtocol;t.JsonCodec=JsonCodec;t.JsonShapeDeserializer=JsonShapeDeserializer;t.JsonShapeSerializer=JsonShapeSerializer;t.XmlCodec=XmlCodec;t.XmlShapeDeserializer=XmlShapeDeserializer;t.XmlShapeSerializer=XmlShapeSerializer;t._toBool=_toBool;t._toNum=_toNum;t._toStr=_toStr;t.awsExpectUnion=awsExpectUnion;t.loadRestJsonErrorCode=loadRestJsonErrorCode;t.loadRestXmlErrorCode=loadRestXmlErrorCode;t.parseJsonBody=parseJsonBody;t.parseJsonErrorBody=parseJsonErrorBody;t.parseXmlBody=parseXmlBody;t.parseXmlErrorBody=parseXmlErrorBody},5606:(e,t,o)=>{"use strict";var n=o(5152);var i=o(1238);const h="AWS_ACCESS_KEY_ID";const p="AWS_SECRET_ACCESS_KEY";const Q="AWS_SESSION_TOKEN";const D="AWS_CREDENTIAL_EXPIRATION";const T="AWS_CREDENTIAL_SCOPE";const _="AWS_ACCOUNT_ID";const fromEnv=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");const t=process.env[h];const o=process.env[p];const O=process.env[Q];const V=process.env[D];const j=process.env[T];const $=process.env[_];if(t&&o){const e={accessKeyId:t,secretAccessKey:o,...O&&{sessionToken:O},...V&&{expiration:new Date(V)},...j&&{credentialScope:j},...$&&{accountId:$}};n.setCredentialFeature(e,"CREDENTIALS_ENV_VARS","g");return e}throw new i.CredentialsProviderError("Unable to find environment variable credentials.",{logger:e?.logger})};t.ENV_ACCOUNT_ID=_;t.ENV_CREDENTIAL_SCOPE=T;t.ENV_EXPIRATION=D;t.ENV_KEY=h;t.ENV_SECRET=p;t.ENV_SESSION=Q;t.fromEnv=fromEnv},5861:(e,t,o)=>{"use strict";var n=o(5606);var i=o(1238);var h=o(4964);const p="AWS_EC2_METADATA_DISABLED";const remoteProvider=async e=>{const{ENV_CMDS_FULL_URI:t,ENV_CMDS_RELATIVE_URI:n,fromContainerMetadata:h,fromInstanceMetadata:Q}=await o.e(566).then(o.t.bind(o,566,19));if(process.env[n]||process.env[t]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");const{fromHttp:t}=await o.e(605).then(o.bind(o,8605));return i.chain(t(e),h(e))}if(process.env[p]&&process.env[p]!=="false"){return async()=>{throw new i.CredentialsProviderError("EC2 Instance Metadata Service access disabled",{logger:e.logger})}}e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata");return Q(e)};function memoizeChain(e,t){const o=internalCreateChain(e);let n;let i;let h;const provider=async e=>{if(e?.forceRefresh){return await o(e)}if(h?.expiration){if(h?.expiration?.getTime()<Date.now()){h=undefined}}if(n){await n}else if(!h||t?.(h)){if(h){if(!i){i=o(e).then((e=>{h=e})).finally((()=>{i=undefined}))}}else{n=o(e).then((e=>{h=e})).finally((()=>{n=undefined}));return provider(e)}}return h};return provider}const internalCreateChain=e=>async t=>{let o;for(const n of e){try{return await n(t)}catch(e){o=e;if(e?.tryNextLink){continue}throw e}}throw o};let Q=false;const defaultProvider=(e={})=>memoizeChain([async()=>{const t=e.profile??process.env[h.ENV_PROFILE];if(t){const t=process.env[n.ENV_KEY]&&process.env[n.ENV_SECRET];if(t){if(!Q){const t=e.logger?.warn&&e.logger?.constructor?.name!=="NoOpLogger"?e.logger.warn.bind(e.logger):console.warn;t(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:\n Multiple credential sources detected: \n Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.\n This SDK will proceed with the AWS_PROFILE value.\n \n However, a future version may change this behavior to prefer the ENV static credentials.\n Please ensure that your environment only sets either the AWS_PROFILE or the\n AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.\n`);Q=true}}throw new i.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:true})}e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");return n.fromEnv(e)()},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");const{ssoStartUrl:n,ssoAccountId:h,ssoRegion:p,ssoRoleName:Q,ssoSession:D}=e;if(!n&&!h&&!p&&!Q&&!D){throw new i.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger})}const{fromSSO:T}=await o.e(998).then(o.t.bind(o,998,19));return T(e)(t)},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");const{fromIni:n}=await o.e(869).then(o.t.bind(o,5869,19));return n(e)(t)},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");const{fromProcess:n}=await o.e(360).then(o.t.bind(o,5360,19));return n(e)(t)},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");const{fromTokenFile:n}=await Promise.all([o.e(136),o.e(956)]).then(o.t.bind(o,9956,23));return n(e)(t)},async()=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");return(await remoteProvider(e))()},async()=>{throw new i.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:false,logger:e.logger})}],credentialsTreatedAsExpired);const credentialsWillNeedRefresh=e=>e?.expiration!==undefined;const credentialsTreatedAsExpired=e=>e?.expiration!==undefined&&e.expiration.getTime()-Date.now()<3e5;t.credentialsTreatedAsExpired=credentialsTreatedAsExpired;t.credentialsWillNeedRefresh=credentialsWillNeedRefresh;t.defaultProvider=defaultProvider},2590:(e,t,o)=>{"use strict";var n=o(2356);function resolveHostHeaderConfig(e){return e}const hostHeaderMiddleware=e=>t=>async o=>{if(!n.HttpRequest.isInstance(o.request))return t(o);const{request:i}=o;const{handlerProtocol:h=""}=e.requestHandler.metadata||{};if(h.indexOf("h2")>=0&&!i.headers[":authority"]){delete i.headers["host"];i.headers[":authority"]=i.hostname+(i.port?":"+i.port:"")}else if(!i.headers["host"]){let e=i.hostname;if(i.port!=null)e+=`:${i.port}`;i.headers["host"]=e}return t(o)};const i={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:true};const getHostHeaderPlugin=e=>({applyToStack:t=>{t.add(hostHeaderMiddleware(e),i)}});t.getHostHeaderPlugin=getHostHeaderPlugin;t.hostHeaderMiddleware=hostHeaderMiddleware;t.hostHeaderMiddlewareOptions=i;t.resolveHostHeaderConfig=resolveHostHeaderConfig},5242:(e,t)=>{"use strict";const loggerMiddleware=()=>(e,t)=>async o=>{try{const n=await e(o);const{clientName:i,commandName:h,logger:p,dynamoDbDocumentClientOptions:Q={}}=t;const{overrideInputFilterSensitiveLog:D,overrideOutputFilterSensitiveLog:T}=Q;const _=D??t.inputFilterSensitiveLog;const O=T??t.outputFilterSensitiveLog;const{$metadata:V,...j}=n.output;p?.info?.({clientName:i,commandName:h,input:_(o.input),output:O(j),metadata:V});return n}catch(e){const{clientName:n,commandName:i,logger:h,dynamoDbDocumentClientOptions:p={}}=t;const{overrideInputFilterSensitiveLog:Q}=p;const D=Q??t.inputFilterSensitiveLog;h?.error?.({clientName:n,commandName:i,input:D(o.input),error:e,metadata:e.$metadata});throw e}};const o={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:true};const getLoggerPlugin=e=>({applyToStack:e=>{e.add(loggerMiddleware(),o)}});t.getLoggerPlugin=getLoggerPlugin;t.loggerMiddleware=loggerMiddleware;t.loggerMiddlewareOptions=o},1568:(e,t,o)=>{"use strict";var n=o(2521);const i={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:true,priority:"low"};const getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(n.recursionDetectionMiddleware(),i)}});t.getRecursionDetectionPlugin=getRecursionDetectionPlugin;Object.prototype.hasOwnProperty.call(n,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:n["__proto__"]});Object.keys(n).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=n[e]}))},2521:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.recursionDetectionMiddleware=void 0;const n=o(9320);const i=o(2356);const h="X-Amzn-Trace-Id";const p="AWS_LAMBDA_FUNCTION_NAME";const Q="_X_AMZN_TRACE_ID";const recursionDetectionMiddleware=()=>e=>async t=>{const{request:o}=t;if(!i.HttpRequest.isInstance(o)){return e(t)}const D=Object.keys(o.headers??{}).find((e=>e.toLowerCase()===h.toLowerCase()))??h;if(o.headers.hasOwnProperty(D)){return e(t)}const T=process.env[p];const _=process.env[Q];const O=await n.InvokeStore.getInstanceAsync();const V=O?.getXRayTraceId();const j=V??_;const nonEmptyString=e=>typeof e==="string"&&e.length>0;if(nonEmptyString(T)&&nonEmptyString(j)){o.headers[h]=j}return e({...t,request:o})};t.recursionDetectionMiddleware=recursionDetectionMiddleware},2959:(e,t,o)=>{"use strict";var n=o(402);var i=o(3068);var h=o(2356);var p=o(8704);var Q=o(5518);const D=undefined;function isValidUserAgentAppId(e){if(e===undefined){return true}return typeof e==="string"&&e.length<=50}function resolveUserAgentConfig(e){const t=n.normalizeProvider(e.userAgentAppId??D);const{customUserAgent:o}=e;return Object.assign(e,{customUserAgent:typeof o==="string"?[[o]]:o,userAgentAppId:async()=>{const o=await t();if(!isValidUserAgentAppId(o)){const t=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?console:e.logger;if(typeof o!=="string"){t?.warn("userAgentAppId must be a string or undefined.")}else if(o.length>50){t?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}}return o}})}const T=/\d{12}\.ddb/;async function checkFeatures(e,t,o){const n=o.request;if(n?.headers?.["smithy-protocol"]==="rpc-v2-cbor"){p.setFeature(e,"PROTOCOL_RPC_V2_CBOR","M")}if(typeof t.retryStrategy==="function"){const o=await t.retryStrategy();if(typeof o.mode==="string"){switch(o.mode){case Q.RETRY_MODES.ADAPTIVE:p.setFeature(e,"RETRY_MODE_ADAPTIVE","F");break;case Q.RETRY_MODES.STANDARD:p.setFeature(e,"RETRY_MODE_STANDARD","E");break}}}if(typeof t.accountIdEndpointMode==="function"){const o=e.endpointV2;if(String(o?.url?.hostname).match(T)){p.setFeature(e,"ACCOUNT_ID_ENDPOINT","O")}switch(await(t.accountIdEndpointMode?.())){case"disabled":p.setFeature(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":p.setFeature(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":p.setFeature(e,"ACCOUNT_ID_MODE_REQUIRED","R");break}}const i=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(i?.$source){const t=i;if(t.accountId){p.setFeature(e,"RESOLVED_ACCOUNT_ID","T")}for(const[o,n]of Object.entries(t.$source??{})){p.setFeature(e,o,n)}}}const _="user-agent";const O="x-amz-user-agent";const V=" ";const j="/";const $=/[^!$%&'*+\-.^_`|~\w]/g;const ee=/[^!$%&'*+\-.^_`|~\w#]/g;const te="-";const re=1024;function encodeFeatures(e){let t="";for(const o in e){const n=e[o];if(t.length+n.length+1<=re){if(t.length){t+=","+n}else{t+=n}continue}break}return t}const userAgentMiddleware=e=>(t,o)=>async n=>{const{request:p}=n;if(!h.HttpRequest.isInstance(p)){return t(n)}const{headers:Q}=p;const D=o?.userAgent?.map(escapeUserAgent)||[];const T=(await e.defaultUserAgentProvider()).map(escapeUserAgent);await checkFeatures(o,e,n);const j=o;T.push(`m/${encodeFeatures(Object.assign({},o.__smithy_context?.features,j.__aws_sdk_context?.features))}`);const $=e?.customUserAgent?.map(escapeUserAgent)||[];const ee=await e.userAgentAppId();if(ee){T.push(escapeUserAgent([`app`,`${ee}`]))}const te=i.getUserAgentPrefix();const re=(te?[te]:[]).concat([...T,...D,...$]).join(V);const se=[...T.filter((e=>e.startsWith("aws-sdk-"))),...$].join(V);if(e.runtime!=="browser"){if(se){Q[O]=Q[O]?`${Q[_]} ${se}`:se}Q[_]=re}else{Q[O]=re}return t({...n,request:p})};const escapeUserAgent=e=>{const t=e[0].split(j).map((e=>e.replace($,te))).join(j);const o=e[1]?.replace(ee,te);const n=t.indexOf(j);const i=t.substring(0,n);let h=t.substring(n+1);if(i==="api"){h=h.toLowerCase()}return[i,h,o].filter((e=>e&&e.length>0)).reduce(((e,t,o)=>{switch(o){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}}),"")};const se={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:true};const getUserAgentPlugin=e=>({applyToStack:t=>{t.add(userAgentMiddleware(e),se)}});t.DEFAULT_UA_APP_ID=D;t.getUserAgentMiddlewareOptions=se;t.getUserAgentPlugin=getUserAgentPlugin;t.resolveUserAgentConfig=resolveUserAgentConfig;t.userAgentMiddleware=userAgentMiddleware},6463:(e,t,o)=>{"use strict";var n=o(5779);var i=o(9316);const getAwsRegionExtensionConfiguration=e=>({setRegion(t){e.region=t},region(){return e.region}});const resolveAwsRegionExtensionConfiguration=e=>({region:e.region()});t.NODE_REGION_CONFIG_FILE_OPTIONS=i.NODE_REGION_CONFIG_FILE_OPTIONS;t.NODE_REGION_CONFIG_OPTIONS=i.NODE_REGION_CONFIG_OPTIONS;t.REGION_ENV_NAME=i.REGION_ENV_NAME;t.REGION_INI_NAME=i.REGION_INI_NAME;t.resolveRegionConfig=i.resolveRegionConfig;t.getAwsRegionExtensionConfiguration=getAwsRegionExtensionConfiguration;t.resolveAwsRegionExtensionConfiguration=resolveAwsRegionExtensionConfiguration;Object.prototype.hasOwnProperty.call(n,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:n["__proto__"]});Object.keys(n).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=n[e]}))},5779:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.warning=void 0;t.stsRegionDefaultResolver=stsRegionDefaultResolver;const n=o(9316);const i=o(5704);function stsRegionDefaultResolver(e={}){return(0,i.loadConfig)({...n.NODE_REGION_CONFIG_OPTIONS,async default(){if(!t.warning.silence){console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.")}return"us-east-1"}},{...n.NODE_REGION_CONFIG_FILE_OPTIONS,...e})}t.warning={silence:false}},3068:(e,t,o)=>{"use strict";var n=o(9674);var i=o(4494);const isVirtualHostableS3Bucket=(e,t=false)=>{if(t){for(const t of e.split(".")){if(!isVirtualHostableS3Bucket(t)){return false}}return true}if(!n.isValidHostLabel(e)){return false}if(e.length<3||e.length>63){return false}if(e!==e.toLowerCase()){return false}if(n.isIpAddress(e)){return false}return true};const h=":";const p="/";const parseArn=e=>{const t=e.split(h);if(t.length<6)return null;const[o,n,i,Q,D,...T]=t;if(o!=="arn"||n===""||i===""||T.join(h)==="")return null;const _=T.map((e=>e.split(p))).flat();return{partition:n,service:i,region:Q,accountId:D,resourceId:_}};var Q=[{id:"aws",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-east-1",name:"aws",supportsDualStack:true,supportsFIPS:true},regionRegex:"^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",regions:{"af-south-1":{description:"Africa (Cape Town)"},"ap-east-1":{description:"Asia Pacific (Hong Kong)"},"ap-east-2":{description:"Asia Pacific (Taipei)"},"ap-northeast-1":{description:"Asia Pacific (Tokyo)"},"ap-northeast-2":{description:"Asia Pacific (Seoul)"},"ap-northeast-3":{description:"Asia Pacific (Osaka)"},"ap-south-1":{description:"Asia Pacific (Mumbai)"},"ap-south-2":{description:"Asia Pacific (Hyderabad)"},"ap-southeast-1":{description:"Asia Pacific (Singapore)"},"ap-southeast-2":{description:"Asia Pacific (Sydney)"},"ap-southeast-3":{description:"Asia Pacific (Jakarta)"},"ap-southeast-4":{description:"Asia Pacific (Melbourne)"},"ap-southeast-5":{description:"Asia Pacific (Malaysia)"},"ap-southeast-6":{description:"Asia Pacific (New Zealand)"},"ap-southeast-7":{description:"Asia Pacific (Thailand)"},"aws-global":{description:"aws global region"},"ca-central-1":{description:"Canada (Central)"},"ca-west-1":{description:"Canada West (Calgary)"},"eu-central-1":{description:"Europe (Frankfurt)"},"eu-central-2":{description:"Europe (Zurich)"},"eu-north-1":{description:"Europe (Stockholm)"},"eu-south-1":{description:"Europe (Milan)"},"eu-south-2":{description:"Europe (Spain)"},"eu-west-1":{description:"Europe (Ireland)"},"eu-west-2":{description:"Europe (London)"},"eu-west-3":{description:"Europe (Paris)"},"il-central-1":{description:"Israel (Tel Aviv)"},"me-central-1":{description:"Middle East (UAE)"},"me-south-1":{description:"Middle East (Bahrain)"},"mx-central-1":{description:"Mexico (Central)"},"sa-east-1":{description:"South America (Sao Paulo)"},"us-east-1":{description:"US East (N. Virginia)"},"us-east-2":{description:"US East (Ohio)"},"us-west-1":{description:"US West (N. California)"},"us-west-2":{description:"US West (Oregon)"}}},{id:"aws-cn",outputs:{dnsSuffix:"amazonaws.com.cn",dualStackDnsSuffix:"api.amazonwebservices.com.cn",implicitGlobalRegion:"cn-northwest-1",name:"aws-cn",supportsDualStack:true,supportsFIPS:true},regionRegex:"^cn\\-\\w+\\-\\d+$",regions:{"aws-cn-global":{description:"aws-cn global region"},"cn-north-1":{description:"China (Beijing)"},"cn-northwest-1":{description:"China (Ningxia)"}}},{id:"aws-eusc",outputs:{dnsSuffix:"amazonaws.eu",dualStackDnsSuffix:"api.amazonwebservices.eu",implicitGlobalRegion:"eusc-de-east-1",name:"aws-eusc",supportsDualStack:true,supportsFIPS:true},regionRegex:"^eusc\\-(de)\\-\\w+\\-\\d+$",regions:{"eusc-de-east-1":{description:"AWS European Sovereign Cloud (Germany)"}}},{id:"aws-iso",outputs:{dnsSuffix:"c2s.ic.gov",dualStackDnsSuffix:"api.aws.ic.gov",implicitGlobalRegion:"us-iso-east-1",name:"aws-iso",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-iso\\-\\w+\\-\\d+$",regions:{"aws-iso-global":{description:"aws-iso global region"},"us-iso-east-1":{description:"US ISO East"},"us-iso-west-1":{description:"US ISO WEST"}}},{id:"aws-iso-b",outputs:{dnsSuffix:"sc2s.sgov.gov",dualStackDnsSuffix:"api.aws.scloud",implicitGlobalRegion:"us-isob-east-1",name:"aws-iso-b",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-isob\\-\\w+\\-\\d+$",regions:{"aws-iso-b-global":{description:"aws-iso-b global region"},"us-isob-east-1":{description:"US ISOB East (Ohio)"},"us-isob-west-1":{description:"US ISOB West"}}},{id:"aws-iso-e",outputs:{dnsSuffix:"cloud.adc-e.uk",dualStackDnsSuffix:"api.cloud-aws.adc-e.uk",implicitGlobalRegion:"eu-isoe-west-1",name:"aws-iso-e",supportsDualStack:true,supportsFIPS:true},regionRegex:"^eu\\-isoe\\-\\w+\\-\\d+$",regions:{"aws-iso-e-global":{description:"aws-iso-e global region"},"eu-isoe-west-1":{description:"EU ISOE West"}}},{id:"aws-iso-f",outputs:{dnsSuffix:"csp.hci.ic.gov",dualStackDnsSuffix:"api.aws.hci.ic.gov",implicitGlobalRegion:"us-isof-south-1",name:"aws-iso-f",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-isof\\-\\w+\\-\\d+$",regions:{"aws-iso-f-global":{description:"aws-iso-f global region"},"us-isof-east-1":{description:"US ISOF EAST"},"us-isof-south-1":{description:"US ISOF SOUTH"}}},{id:"aws-us-gov",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-gov-west-1",name:"aws-us-gov",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-gov\\-\\w+\\-\\d+$",regions:{"aws-us-gov-global":{description:"aws-us-gov global region"},"us-gov-east-1":{description:"AWS GovCloud (US-East)"},"us-gov-west-1":{description:"AWS GovCloud (US-West)"}}}];var D="1.1";var T={partitions:Q,version:D};let _=T;let O="";const partition=e=>{const{partitions:t}=_;for(const o of t){const{regions:t,outputs:n}=o;for(const[o,i]of Object.entries(t)){if(o===e){return{...n,...i}}}}for(const o of t){const{regionRegex:t,outputs:n}=o;if(new RegExp(t).test(e)){return{...n}}}const o=t.find((e=>e.id==="aws"));if(!o){throw new Error("Provided region was not found in the partition array or regex,"+" and default partition with id 'aws' doesn't exist.")}return{...o.outputs}};const setPartitionInfo=(e,t="")=>{_=e;O=t};const useDefaultPartitionInfo=()=>{setPartitionInfo(T,"")};const getUserAgentPrefix=()=>O;const V={isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:parseArn,partition:partition};n.customEndpointFunctions.aws=V;const resolveDefaultAwsRegionalEndpointsConfig=e=>{if(typeof e.endpointProvider!=="function"){throw new Error("@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.")}const{endpoint:t}=e;if(t===undefined){e.endpoint=async()=>toEndpointV1(e.endpointProvider({Region:typeof e.region==="function"?await e.region():e.region,UseDualStack:typeof e.useDualstackEndpoint==="function"?await e.useDualstackEndpoint():e.useDualstackEndpoint,UseFIPS:typeof e.useFipsEndpoint==="function"?await e.useFipsEndpoint():e.useFipsEndpoint,Endpoint:undefined},{logger:e.logger}))}return e};const toEndpointV1=e=>i.parseUrl(e.url);t.EndpointError=n.EndpointError;t.isIpAddress=n.isIpAddress;t.resolveEndpoint=n.resolveEndpoint;t.awsEndpointFunctions=V;t.getUserAgentPrefix=getUserAgentPrefix;t.partition=partition;t.resolveDefaultAwsRegionalEndpointsConfig=resolveDefaultAwsRegionalEndpointsConfig;t.setPartitionInfo=setPartitionInfo;t.toEndpointV1=toEndpointV1;t.useDefaultPartitionInfo=useDefaultPartitionInfo},1656:(e,t,o)=>{"use strict";var n=o(8161);var i=o(1708);var h=o(1455);var p=o(6760);var Q=o(2959);const getRuntimeUserAgentPair=()=>{const e=["deno","bun","llrt"];for(const t of e){if(i.versions[t]){return[`md/${t}`,i.versions[t]]}}return["md/nodejs",i.versions.node]};const D=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/;const getSanitizedTypeScriptVersion=(e="")=>{const t=e.match(D);if(!t){return undefined}const[o,n,i,h]=[t[1],t[2],t[3],t[4]];return h?`${o}.${n}.${i}-${h}`:`${o}.${n}.${i}`};const T=p.join("node_modules","typescript","package.json");const getTypeScriptPackageJsonPaths=e=>{const t=p.join(process.cwd(),T);if(!e){return[t]}const o=p.normalize(e);const n=o.split(p.sep);const i=n.indexOf("node_modules");const h=i!==-1?n.slice(0,i).join(p.sep):e;const Q=p.join(h,T);if(t===Q){return[t]}return[Q,t]};let _;const getTypeScriptUserAgentPair=async()=>{if(_===null){return undefined}else if(typeof _==="string"){return["md/tsc",_]}const e=typeof __dirname!=="undefined"?__dirname:undefined;for(const t of getTypeScriptPackageJsonPaths(e)){try{const e=await h.readFile(t,"utf-8");const{version:o}=JSON.parse(e);const n=getSanitizedTypeScriptVersion(o);if(typeof n!=="string"){continue}_=n;return["md/tsc",_]}catch{}}_=null;return undefined};const O={isCrtAvailable:false};const isCrtAvailable=()=>{if(O.isCrtAvailable){return["md/crt-avail"]}return null};const createDefaultUserAgentProvider=({serviceId:e,clientVersion:t})=>{const o=getRuntimeUserAgentPair();return async h=>{const p=[["aws-sdk-js",t],["ua","2.1"],[`os/${n.platform()}`,n.release()],["lang/js"],o];const Q=await getTypeScriptUserAgentPair();if(Q){p.push(Q)}const D=isCrtAvailable();if(D){p.push(D)}if(e){p.push([`api/${e}`,t])}if(i.env.AWS_EXECUTION_ENV){p.push([`exec-env/${i.env.AWS_EXECUTION_ENV}`])}const T=await(h?.userAgentAppId?.());const _=T?[...p,[`app/${T}`]]:[...p];return _}};const V=createDefaultUserAgentProvider;const j="AWS_SDK_UA_APP_ID";const $="sdk_ua_app_id";const ee="sdk-ua-app-id";const te={environmentVariableSelector:e=>e[j],configFileSelector:e=>e[$]??e[ee],default:Q.DEFAULT_UA_APP_ID};t.NODE_APP_ID_CONFIG_OPTIONS=te;t.UA_APP_ID_ENV_NAME=j;t.UA_APP_ID_INI_NAME=$;t.createDefaultUserAgentProvider=createDefaultUserAgentProvider;t.crtAvailability=O;t.defaultUserAgent=V},4274:(e,t,o)=>{"use strict";var n=o(3343);function escapeAttribute(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function escapeElement(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#x0D;").replace(/\n/g,"&#x0A;").replace(/\u0085/g,"&#x85;").replace(/\u2028/,"&#x2028;")}class XmlText{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class XmlNode{name;children;attributes={};static of(e,t,o){const n=new XmlNode(e);if(t!==undefined){n.addChildNode(new XmlText(t))}if(o!==undefined){n.withName(o)}return n}constructor(e,t=[]){this.name=e;this.children=t}withName(e){this.name=e;return this}addAttribute(e,t){this.attributes[e]=t;return this}addChildNode(e){this.children.push(e);return this}removeAttribute(e){delete this.attributes[e];return this}n(e){this.name=e;return this}c(e){this.children.push(e);return this}a(e,t){if(t!=null){this.attributes[e]=t}return this}cc(e,t,o=t){if(e[t]!=null){const n=XmlNode.of(t,e[t]).withName(o);this.c(n)}}l(e,t,o,n){if(e[t]!=null){const e=n();e.map((e=>{e.withName(o);this.c(e)}))}}lc(e,t,o,n){if(e[t]!=null){const e=n();const t=new XmlNode(o);e.map((e=>{t.c(e)}));this.c(t)}}toString(){const e=Boolean(this.children.length);let t=`<${this.name}`;const o=this.attributes;for(const e of Object.keys(o)){const n=o[e];if(n!=null){t+=` ${e}="${escapeAttribute(""+n)}"`}}return t+=!e?"/>":`>${this.children.map((e=>e.toString())).join("")}</${this.name}>`}}t.parseXML=n.parseXML;t.XmlNode=XmlNode;t.XmlText=XmlText},3343:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseXML=parseXML;const n=o(591);const i=new n.XMLParser({attributeNamePrefix:"",htmlEntities:true,ignoreAttributes:false,ignoreDeclaration:true,parseTagValue:false,trimValues:false,tagValueProcessor:(e,t)=>t.trim()===""&&t.includes("\n")?"":undefined,maxNestedTags:1024});i.addEntity("#xD","\r");i.addEntity("#10","\n");function parseXML(e){return i.parse(e,true)}},9320:(e,t,o)=>{"use strict";const n={REQUEST_ID:Symbol.for("_AWS_LAMBDA_REQUEST_ID"),X_RAY_TRACE_ID:Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),TENANT_ID:Symbol.for("_AWS_LAMBDA_TENANT_ID")};const i=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");if(!i){globalThis.awslambda=globalThis.awslambda||{}}class InvokeStoreBase{static PROTECTED_KEYS=n;isProtectedKey(e){return Object.values(n).includes(e)}getRequestId(){return this.get(n.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(n.X_RAY_TRACE_ID)}getTenantId(){return this.get(n.TENANT_ID)}}class InvokeStoreSingle extends InvokeStoreBase{currentContext;getContext(){return this.currentContext}hasContext(){return this.currentContext!==undefined}get(e){return this.currentContext?.[e]}set(e,t){if(this.isProtectedKey(e)){throw new Error(`Cannot modify protected Lambda context field: ${String(e)}`)}this.currentContext=this.currentContext||{};this.currentContext[e]=t}run(e,t){this.currentContext=e;return t()}}class InvokeStoreMulti extends InvokeStoreBase{als;static async create(){const e=new InvokeStoreMulti;const t=await Promise.resolve().then(o.t.bind(o,6698,23));e.als=new t.AsyncLocalStorage;return e}getContext(){return this.als.getStore()}hasContext(){return this.als.getStore()!==undefined}get(e){return this.als.getStore()?.[e]}set(e,t){if(this.isProtectedKey(e)){throw new Error(`Cannot modify protected Lambda context field: ${String(e)}`)}const o=this.als.getStore();if(!o){throw new Error("No context available")}o[e]=t}run(e,t){return this.als.run(e,t)}}t.InvokeStore=void 0;(function(e){let t=null;async function getInstanceAsync(){if(!t){t=(async()=>{const e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env;const t=e?await InvokeStoreMulti.create():new InvokeStoreSingle;if(!i&&globalThis.awslambda?.InvokeStore){return globalThis.awslambda.InvokeStore}else if(!i&&globalThis.awslambda){globalThis.awslambda.InvokeStore=t;return t}else{return t}})()}return t}e.getInstanceAsync=getInstanceAsync;e._testing=process.env.AWS_LAMBDA_BENCHMARK_MODE==="1"?{reset:()=>{t=null;if(globalThis.awslambda?.InvokeStore){delete globalThis.awslambda.InvokeStore}globalThis.awslambda={InvokeStore:undefined}}}:undefined})(t.InvokeStore||(t.InvokeStore={}));t.InvokeStoreBase=InvokeStoreBase},7864:e=>{"use strict";var t=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,o)=>{for(var n in o)t(e,n,{get:o[n],enumerable:true})};var __copyProps=(e,h,p,Q)=>{if(h&&typeof h==="object"||typeof h==="function"){for(let D of n(h))if(!i.call(e,D)&&D!==p)t(e,D,{get:()=>h[D],enumerable:!(Q=o(h,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var h={};__export(h,{createTokenAuth:()=>T});e.exports=__toCommonJS(h);var p=/^v1\./;var Q=/^ghs_/;var D=/^ghu_/;async function auth(e){const t=e.split(/\./).length===3;const o=p.test(e)||Q.test(e);const n=D.test(e);const i=t?"app":o?"installation":n?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,o,n){const i=t.endpoint.merge(o,n);i.headers.authorization=withAuthorizationPrefix(e);return t(i)}var T=function createTokenAuth2(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};0&&0},1897:(e,t,o)=>{"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var o in t)n(e,o,{get:t[o],enumerable:true})};var __copyProps=(e,t,o,Q)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let D of h(t))if(!p.call(e,D)&&D!==o)n(e,D,{get:()=>t[D],enumerable:!(Q=i(t,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(n({},"__esModule",{value:true}),e);var Q={};__export(Q,{Octokit:()=>re});e.exports=__toCommonJS(Q);var D=o(3843);var T=o(2732);var _=o(8636);var O=o(7);var V=o(7864);var j="5.2.2";var noop=()=>{};var $=console.warn.bind(console);var ee=console.error.bind(console);function createLogger(e={}){if(typeof e.debug!=="function"){e.debug=noop}if(typeof e.info!=="function"){e.info=noop}if(typeof e.warn!=="function"){e.warn=$}if(typeof e.error!=="function"){e.error=ee}return e}var te=`octokit-core.js/${j} ${(0,D.getUserAgent)()}`;var re=class{static{this.VERSION=j}static defaults(e){const t=class extends(this){constructor(...t){const o=t[0]||{};if(typeof e==="function"){super(e(o));return}super(Object.assign({},e,o,o.userAgent&&e.userAgent?{userAgent:`${o.userAgent} ${e.userAgent}`}:null))}};return t}static{this.plugins=[]}static plugin(...e){const t=this.plugins;const o=class extends(this){static{this.plugins=t.concat(e.filter((e=>!t.includes(e))))}};return o}constructor(e={}){const t=new T.Collection;const o={baseUrl:_.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};o.headers["user-agent"]=e.userAgent?`${e.userAgent} ${te}`:te;if(e.baseUrl){o.baseUrl=e.baseUrl}if(e.previews){o.mediaType.previews=e.previews}if(e.timeZone){o.headers["time-zone"]=e.timeZone}this.request=_.request.defaults(o);this.graphql=(0,O.withCustomRequest)(this.request).defaults(o);this.log=createLogger(e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const o=(0,V.createTokenAuth)(e.auth);t.wrap("request",o.hook);this.auth=o}}else{const{authStrategy:o,...n}=e;const i=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:n},e.auth));t.wrap("request",i.hook);this.auth=i}const n=this.constructor;for(let t=0;t<n.plugins.length;++t){Object.assign(this,n.plugins[t](this,e))}}};0&&0},4471:(e,t,o)=>{"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var o in t)n(e,o,{get:t[o],enumerable:true})};var __copyProps=(e,t,o,Q)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let D of h(t))if(!p.call(e,D)&&D!==o)n(e,D,{get:()=>t[D],enumerable:!(Q=i(t,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(n({},"__esModule",{value:true}),e);var Q={};__export(Q,{endpoint:()=>j});e.exports=__toCommonJS(Q);var D=o(3843);var T="9.0.6";var _=`octokit-endpoint.js/${T} ${(0,D.getUserAgent)()}`;var O={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":_},mediaType:{format:""}};function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((t,o)=>{t[o.toLowerCase()]=e[o];return t}),{})}function isPlainObject(e){if(typeof e!=="object"||e===null)return false;if(Object.prototype.toString.call(e)!=="[object Object]")return false;const t=Object.getPrototypeOf(e);if(t===null)return true;const o=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof o==="function"&&o instanceof o&&Function.prototype.call(o)===Function.prototype.call(e)}function mergeDeep(e,t){const o=Object.assign({},e);Object.keys(t).forEach((n=>{if(isPlainObject(t[n])){if(!(n in e))Object.assign(o,{[n]:t[n]});else o[n]=mergeDeep(e[n],t[n])}else{Object.assign(o,{[n]:t[n]})}}));return o}function removeUndefinedProperties(e){for(const t in e){if(e[t]===void 0){delete e[t]}}return e}function merge(e,t,o){if(typeof t==="string"){let[e,n]=t.split(" ");o=Object.assign(n?{method:e,url:n}:{url:e},o)}else{o=Object.assign({},t)}o.headers=lowercaseKeys(o.headers);removeUndefinedProperties(o);removeUndefinedProperties(o.headers);const n=mergeDeep(e||{},o);if(o.url==="/graphql"){if(e&&e.mediaType.previews?.length){n.mediaType.previews=e.mediaType.previews.filter((e=>!n.mediaType.previews.includes(e))).concat(n.mediaType.previews)}n.mediaType.previews=(n.mediaType.previews||[]).map((e=>e.replace(/-preview/,"")))}return n}function addQueryParameters(e,t){const o=/\?/.test(e)?"&":"?";const n=Object.keys(t);if(n.length===0){return e}return e+o+n.map((e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`})).join("&")}var V=/\{[^{}}]+\}/g;function removeNonChars(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function extractUrlVariableNames(e){const t=e.match(V);if(!t){return[]}return t.map(removeNonChars).reduce(((e,t)=>e.concat(t)),[])}function omit(e,t){const o={__proto__:null};for(const n of Object.keys(e)){if(t.indexOf(n)===-1){o[n]=e[n]}}return o}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,t,o){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(o){return encodeUnreserved(o)+"="+t}else{return t}}function isDefined(e){return e!==void 0&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,o,n){var i=e[o],h=[];if(isDefined(i)&&i!==""){if(typeof i==="string"||typeof i==="number"||typeof i==="boolean"){i=i.toString();if(n&&n!=="*"){i=i.substring(0,parseInt(n,10))}h.push(encodeValue(t,i,isKeyOperator(t)?o:""))}else{if(n==="*"){if(Array.isArray(i)){i.filter(isDefined).forEach((function(e){h.push(encodeValue(t,e,isKeyOperator(t)?o:""))}))}else{Object.keys(i).forEach((function(e){if(isDefined(i[e])){h.push(encodeValue(t,i[e],e))}}))}}else{const e=[];if(Array.isArray(i)){i.filter(isDefined).forEach((function(o){e.push(encodeValue(t,o))}))}else{Object.keys(i).forEach((function(o){if(isDefined(i[o])){e.push(encodeUnreserved(o));e.push(encodeValue(t,i[o].toString()))}}))}if(isKeyOperator(t)){h.push(encodeUnreserved(o)+"="+e.join(","))}else if(e.length!==0){h.push(e.join(","))}}}}else{if(t===";"){if(isDefined(i)){h.push(encodeUnreserved(o))}}else if(i===""&&(t==="&"||t==="?")){h.push(encodeUnreserved(o)+"=")}else if(i===""){h.push("")}}return h}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var o=["+","#",".","/",";","?","&"];e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,n,i){if(n){let e="";const i=[];if(o.indexOf(n.charAt(0))!==-1){e=n.charAt(0);n=n.substr(1)}n.split(/,/g).forEach((function(o){var n=/([^:\*]*)(?::(\d+)|(\*))?/.exec(o);i.push(getValues(t,e,n[1],n[2]||n[3]))}));if(e&&e!=="+"){var h=",";if(e==="?"){h="&"}else if(e!=="#"){h=e}return(i.length!==0?e:"")+i.join(h)}else{return i.join(",")}}else{return encodeReserved(i)}}));if(e==="/"){return e}else{return e.replace(/\/$/,"")}}function parse(e){let t=e.method.toUpperCase();let o=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let n=Object.assign({},e.headers);let i;let h=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const p=extractUrlVariableNames(o);o=parseUrl(o).expand(h);if(!/^http/.test(o)){o=e.baseUrl+o}const Q=Object.keys(e).filter((e=>p.includes(e))).concat("baseUrl");const D=omit(h,Q);const T=/application\/octet-stream/i.test(n.accept);if(!T){if(e.mediaType.format){n.accept=n.accept.split(/,/).map((t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(o.endsWith("/graphql")){if(e.mediaType.previews?.length){const t=n.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];n.accept=t.concat(e.mediaType.previews).map((t=>{const o=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${o}`})).join(",")}}}if(["GET","HEAD"].includes(t)){o=addQueryParameters(o,D)}else{if("data"in D){i=D.data}else{if(Object.keys(D).length){i=D}}}if(!n["content-type"]&&typeof i!=="undefined"){n["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof i==="undefined"){i=""}return Object.assign({method:t,url:o,headers:n},typeof i!=="undefined"?{body:i}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,o){return parse(merge(e,t,o))}function withDefaults(e,t){const o=merge(e,t);const n=endpointWithDefaults.bind(null,o);return Object.assign(n,{DEFAULTS:o,defaults:withDefaults.bind(null,o),merge:merge.bind(null,o),parse:parse})}var j=withDefaults(null,O);0&&0},7:(e,t,o)=>{"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var o in t)n(e,o,{get:t[o],enumerable:true})};var __copyProps=(e,t,o,Q)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let D of h(t))if(!p.call(e,D)&&D!==o)n(e,D,{get:()=>t[D],enumerable:!(Q=i(t,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(n({},"__esModule",{value:true}),e);var Q={};__export(Q,{GraphqlResponseError:()=>j,graphql:()=>re,withCustomRequest:()=>withCustomRequest});e.exports=__toCommonJS(Q);var D=o(8636);var T=o(3843);var _="7.1.1";var O=o(8636);var V=o(8636);function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}var j=class extends Error{constructor(e,t,o){super(_buildMessageForResponseErrors(o));this.request=e;this.headers=t;this.response=o;this.name="GraphqlResponseError";this.errors=o.errors;this.data=o.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}};var $=["method","baseUrl","url","headers","request","query","mediaType"];var ee=["query","method","url"];var te=/\/api\/v3\/?$/;function graphql(e,t,o){if(o){if(typeof t==="string"&&"query"in o){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in o){if(!ee.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const n=typeof t==="string"?Object.assign({query:t},o):t;const i=Object.keys(n).reduce(((e,t)=>{if($.includes(t)){e[t]=n[t];return e}if(!e.variables){e.variables={}}e.variables[t]=n[t];return e}),{});const h=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(te.test(h)){i.url=h.replace(te,"/api/graphql")}return e(i).then((e=>{if(e.data.errors){const t={};for(const o of Object.keys(e.headers)){t[o]=e.headers[o]}throw new j(i,t,e.data)}return e.data.data}))}function withDefaults(e,t){const o=e.defaults(t);const newApi=(e,t)=>graphql(o,e,t);return Object.assign(newApi,{defaults:withDefaults.bind(null,o),endpoint:o.endpoint})}var re=withDefaults(D.request,{headers:{"user-agent":`octokit-graphql.js/${_} ${(0,T.getUserAgent)()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}0&&0},8082:e=>{"use strict";var t=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,o)=>{for(var n in o)t(e,n,{get:o[n],enumerable:true})};var __copyProps=(e,h,p,Q)=>{if(h&&typeof h==="object"||typeof h==="function"){for(let D of n(h))if(!i.call(e,D)&&D!==p)t(e,D,{get:()=>h[D],enumerable:!(Q=o(h,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var h={};__export(h,{composePaginateRest:()=>Q,isPaginatingEndpoint:()=>isPaginatingEndpoint,paginateRest:()=>paginateRest,paginatingEndpoints:()=>D});e.exports=__toCommonJS(h);var p="9.2.2";function normalizePaginatedListResponse(e){if(!e.data){return{...e,data:[]}}const t="total_count"in e.data&&!("url"in e.data);if(!t)return e;const o=e.data.incomplete_results;const n=e.data.repository_selection;const i=e.data.total_count;delete e.data.incomplete_results;delete e.data.repository_selection;delete e.data.total_count;const h=Object.keys(e.data)[0];const p=e.data[h];e.data=p;if(typeof o!=="undefined"){e.data.incomplete_results=o}if(typeof n!=="undefined"){e.data.repository_selection=n}e.data.total_count=i;return e}function iterator(e,t,o){const n=typeof t==="function"?t.endpoint(o):e.request.endpoint(t,o);const i=typeof t==="function"?t:e.request;const h=n.method;const p=n.headers;let Q=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!Q)return{done:true};try{const e=await i({method:h,url:Q,headers:p});const t=normalizePaginatedListResponse(e);Q=((t.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1];return{value:t}}catch(e){if(e.status!==409)throw e;Q="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,t,o,n){if(typeof o==="function"){n=o;o=void 0}return gather(e,[],iterator(e,t,o)[Symbol.asyncIterator](),n)}function gather(e,t,o,n){return o.next().then((i=>{if(i.done){return t}let h=false;function done(){h=true}t=t.concat(n?n(i.value,done):i.value.data);if(h){return t}return gather(e,t,o,n)}))}var Q=Object.assign(paginate,{iterator:iterator});var D=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /repositories/{repository_id}/environments/{environment_name}/variables","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return D.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;0&&0},4935:e=>{"use strict";var t=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,o)=>{for(var n in o)t(e,n,{get:o[n],enumerable:true})};var __copyProps=(e,h,p,Q)=>{if(h&&typeof h==="object"||typeof h==="function"){for(let D of n(h))if(!i.call(e,D)&&D!==p)t(e,D,{get:()=>h[D],enumerable:!(Q=o(h,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var h={};__export(h,{legacyRestEndpointMethods:()=>legacyRestEndpointMethods,restEndpointMethods:()=>restEndpointMethods});e.exports=__toCommonJS(h);var p="10.4.1";var Q={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repositories/{repository_id}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repositories/{repository_id}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repositories/{repository_id}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{cancelImport:["DELETE /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import"}],deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getCommitAuthors:["GET /repos/{owner}/{repo}/import/authors",{},{deprecated:"octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors"}],getImportStatus:["GET /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status"}],getLargeFiles:["GET /repos/{owner}/{repo}/import/large_files",{},{deprecated:"octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files"}],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],mapCommitAuthor:["PATCH /repos/{owner}/{repo}/import/authors/{author_id}",{},{deprecated:"octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author"}],setLfsPreference:["PATCH /repos/{owner}/{repo}/import/lfs",{},{deprecated:"octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference"}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],startImport:["PUT /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import"}],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"],updateImport:["PATCH /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import"}]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}"],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createCustomOrganizationRole:["POST /orgs/{org}/organization-roles"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteCustomOrganizationRole:["DELETE /orgs/{org}/organization-roles/{role_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}"],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers"],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],patchCustomOrganizationRole:["PATCH /orgs/{org}/organization-roles/{role_id}"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}"],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createTagProtection:["POST /repos/{owner}/{repo}/tags/protection"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteTagProtection:["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTagProtection:["GET /repos/{owner}/{repo}/tags/protection"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var D=Q;var T=new Map;for(const[e,t]of Object.entries(D)){for(const[o,n]of Object.entries(t)){const[t,i,h]=n;const[p,Q]=t.split(/ /);const D=Object.assign({method:p,url:Q},i);if(!T.has(e)){T.set(e,new Map)}T.get(e).set(o,{scope:e,methodName:o,endpointDefaults:D,decorations:h})}}var _={has({scope:e},t){return T.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:true,writable:true,enumerable:true}},defineProperty(e,t,o){Object.defineProperty(e.cache,t,o);return true},deleteProperty(e,t){delete e.cache[t];return true},ownKeys({scope:e}){return[...T.get(e).keys()]},set(e,t,o){return e.cache[t]=o},get({octokit:e,scope:t,cache:o},n){if(o[n]){return o[n]}const i=T.get(t).get(n);if(!i){return void 0}const{endpointDefaults:h,decorations:p}=i;if(p){o[n]=decorate(e,t,n,h,p)}else{o[n]=e.request.defaults(h)}return o[n]}};function endpointsToMethods(e){const t={};for(const o of T.keys()){t[o]=new Proxy({octokit:e,scope:o,cache:{}},_)}return t}function decorate(e,t,o,n,i){const h=e.request.defaults(n);function withDecorations(...n){let p=h.endpoint.merge(...n);if(i.mapToData){p=Object.assign({},p,{data:p[i.mapToData],[i.mapToData]:void 0});return h(p)}if(i.renamed){const[n,h]=i.renamed;e.log.warn(`octokit.${t}.${o}() has been renamed to octokit.${n}.${h}()`)}if(i.deprecated){e.log.warn(i.deprecated)}if(i.renamedParameters){const p=h.endpoint.merge(...n);for(const[n,h]of Object.entries(i.renamedParameters)){if(n in p){e.log.warn(`"${n}" parameter is deprecated for "octokit.${t}.${o}()". Use "${h}" instead`);if(!(h in p)){p[h]=p[n]}delete p[n]}}return h(p)}return h(...n)}return Object.assign(withDecorations,h)}function restEndpointMethods(e){const t=endpointsToMethods(e);return{rest:t}}restEndpointMethods.VERSION=p;function legacyRestEndpointMethods(e){const t=endpointsToMethods(e);return{...t,rest:t}}legacyRestEndpointMethods.VERSION=p;0&&0},3708:(e,t,o)=>{"use strict";var n=Object.create;var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf;var D=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:true})};var __copyProps=(e,t,o,n)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let Q of p(t))if(!D.call(e,Q)&&Q!==o)i(e,Q,{get:()=>t[Q],enumerable:!(n=h(t,Q))||n.enumerable})}return e};var __toESM=(e,t,o)=>(o=e!=null?n(Q(e)):{},__copyProps(t||!e||!e.__esModule?i(o,"default",{value:e,enumerable:true}):o,e));var __toCommonJS=e=>__copyProps(i({},"__esModule",{value:true}),e);var T={};__export(T,{RequestError:()=>$});e.exports=__toCommonJS(T);var _=o(4150);var O=__toESM(o(5560));var V=(0,O.default)((e=>console.warn(e)));var j=(0,O.default)((e=>console.warn(e)));var $=class extends Error{constructor(e,t,o){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;let n;if("headers"in o&&typeof o.headers!=="undefined"){n=o.headers}if("response"in o){this.response=o.response;n=o.response.headers}const i=Object.assign({},o.request);if(o.request.headers.authorization){i.headers=Object.assign({},o.request.headers,{authorization:o.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){V(new _.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});Object.defineProperty(this,"headers",{get(){j(new _.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return n||{}}})}};0&&0},8636:(e,t,o)=>{"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var o in t)n(e,o,{get:t[o],enumerable:true})};var __copyProps=(e,t,o,Q)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let D of h(t))if(!p.call(e,D)&&D!==o)n(e,D,{get:()=>t[D],enumerable:!(Q=i(t,D))||Q.enumerable})}return e};var __toCommonJS=e=>__copyProps(n({},"__esModule",{value:true}),e);var Q={};__export(Q,{request:()=>V});e.exports=__toCommonJS(Q);var D=o(4471);var T=o(3843);var _="8.4.1";function isPlainObject(e){if(typeof e!=="object"||e===null)return false;if(Object.prototype.toString.call(e)!=="[object Object]")return false;const t=Object.getPrototypeOf(e);if(t===null)return true;const o=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof o==="function"&&o instanceof o&&Function.prototype.call(o)===Function.prototype.call(e)}var O=o(3708);function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){var t,o,n,i;const h=e.request&&e.request.log?e.request.log:console;const p=((t=e.request)==null?void 0:t.parseSuccessResponseBody)!==false;if(isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let Q={};let D;let T;let{fetch:_}=globalThis;if((o=e.request)==null?void 0:o.fetch){_=e.request.fetch}if(!_){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}return _(e.url,{method:e.method,body:e.body,redirect:(n=e.request)==null?void 0:n.redirect,headers:e.headers,signal:(i=e.request)==null?void 0:i.signal,...e.body&&{duplex:"half"}}).then((async t=>{T=t.url;D=t.status;for(const e of t.headers){Q[e[0]]=e[1]}if("deprecation"in Q){const t=Q.link&&Q.link.match(/<([^<>]+)>; rel="deprecation"/);const o=t&&t.pop();h.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${Q.sunset}${o?`. See ${o}`:""}`)}if(D===204||D===205){return}if(e.method==="HEAD"){if(D<400){return}throw new O.RequestError(t.statusText,D,{response:{url:T,status:D,headers:Q,data:void 0},request:e})}if(D===304){throw new O.RequestError("Not modified",D,{response:{url:T,status:D,headers:Q,data:await getResponseData(t)},request:e})}if(D>=400){const o=await getResponseData(t);const n=new O.RequestError(toErrorMessage(o),D,{response:{url:T,status:D,headers:Q,data:o},request:e});throw n}return p?await getResponseData(t):t.body})).then((e=>({status:D,url:T,headers:Q,data:e}))).catch((t=>{if(t instanceof O.RequestError)throw t;else if(t.name==="AbortError")throw t;let o=t.message;if(t.name==="TypeError"&&"cause"in t){if(t.cause instanceof Error){o=t.cause.message}else if(typeof t.cause==="string"){o=t.cause}}throw new O.RequestError(o,500,{request:e})}))}async function getResponseData(e){const t=e.headers.get("content-type");if(/application\/json/.test(t)){return e.json().catch((()=>e.text())).catch((()=>""))}if(!t||/^text\/|charset=utf-8$/.test(t)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;let t;if("documentation_url"in e){t=` - ${e.documentation_url}`}else{t=""}if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${t}`}return`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,t){const o=e.defaults(t);const newApi=function(e,t){const n=o.merge(e,t);if(!n.request||!n.request.hook){return fetchWrapper(o.parse(n))}const request2=(e,t)=>fetchWrapper(o.parse(o.merge(e,t)));Object.assign(request2,{endpoint:o,defaults:withDefaults.bind(null,o)});return n.request.hook(request2,n)};return Object.assign(newApi,{endpoint:o,defaults:withDefaults.bind(null,o)})}var V=withDefaults(D.endpoint,{headers:{"user-agent":`octokit-request.js/${_} ${(0,T.getUserAgent)()}`}});0&&0},9316:(e,t,o)=>{"use strict";var n=o(6716);var i=o(6324);var h=o(9674);const p="AWS_USE_DUALSTACK_ENDPOINT";const Q="use_dualstack_endpoint";const D=false;const T={environmentVariableSelector:e=>n.booleanSelector(e,p,n.SelectorType.ENV),configFileSelector:e=>n.booleanSelector(e,Q,n.SelectorType.CONFIG),default:false};const _="AWS_USE_FIPS_ENDPOINT";const O="use_fips_endpoint";const V=false;const j={environmentVariableSelector:e=>n.booleanSelector(e,_,n.SelectorType.ENV),configFileSelector:e=>n.booleanSelector(e,O,n.SelectorType.CONFIG),default:false};const resolveCustomEndpointsConfig=e=>{const{tls:t,endpoint:o,urlParser:n,useDualstackEndpoint:h}=e;return Object.assign(e,{tls:t??true,endpoint:i.normalizeProvider(typeof o==="string"?n(o):o),isCustomEndpoint:true,useDualstackEndpoint:i.normalizeProvider(h??false)})};const getEndpointFromRegion=async e=>{const{tls:t=true}=e;const o=await e.region();const n=new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);if(!n.test(o)){throw new Error("Invalid region in client config")}const i=await e.useDualstackEndpoint();const h=await e.useFipsEndpoint();const{hostname:p}=await e.regionInfoProvider(o,{useDualstackEndpoint:i,useFipsEndpoint:h})??{};if(!p){throw new Error("Cannot resolve hostname from client config")}return e.urlParser(`${t?"https:":"http:"}//${p}`)};const resolveEndpointsConfig=e=>{const t=i.normalizeProvider(e.useDualstackEndpoint??false);const{endpoint:o,useFipsEndpoint:n,urlParser:h,tls:p}=e;return Object.assign(e,{tls:p??true,endpoint:o?i.normalizeProvider(typeof o==="string"?h(o):o):()=>getEndpointFromRegion({...e,useDualstackEndpoint:t,useFipsEndpoint:n}),isCustomEndpoint:!!o,useDualstackEndpoint:t})};const $="AWS_REGION";const ee="region";const te={environmentVariableSelector:e=>e[$],configFileSelector:e=>e[ee],default:()=>{throw new Error("Region is missing")}};const re={preferredFile:"credentials"};const se=new Set;const checkRegion=(e,t=h.isValidHostLabel)=>{if(!se.has(e)&&!t(e)){if(e==="*"){console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`)}else{throw new Error(`Region not accepted: region="${e}" is not a valid hostname component.`)}}else{se.add(e)}};const isFipsRegion=e=>typeof e==="string"&&(e.startsWith("fips-")||e.endsWith("-fips"));const getRealRegion=e=>isFipsRegion(e)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;const resolveRegionConfig=e=>{const{region:t,useFipsEndpoint:o}=e;if(!t){throw new Error("Region is missing")}return Object.assign(e,{region:async()=>{const e=typeof t==="function"?await t():t;const o=getRealRegion(e);checkRegion(o);return o},useFipsEndpoint:async()=>{const e=typeof t==="string"?t:await t();if(isFipsRegion(e)){return true}return typeof o!=="function"?Promise.resolve(!!o):o()}})};const getHostnameFromVariants=(e=[],{useFipsEndpoint:t,useDualstackEndpoint:o})=>e.find((({tags:e})=>t===e.includes("fips")&&o===e.includes("dualstack")))?.hostname;const getResolvedHostname=(e,{regionHostname:t,partitionHostname:o})=>t?t:o?o.replace("{region}",e):undefined;const getResolvedPartition=(e,{partitionHash:t})=>Object.keys(t||{}).find((o=>t[o].regions.includes(e)))??"aws";const getResolvedSigningRegion=(e,{signingRegion:t,regionRegex:o,useFipsEndpoint:n})=>{if(t){return t}else if(n){const t=o.replace("\\\\","\\").replace(/^\^/g,"\\.").replace(/\$$/g,"\\.");const n=e.match(t);if(n){return n[0].slice(1,-1)}}};const getRegionInfo=(e,{useFipsEndpoint:t=false,useDualstackEndpoint:o=false,signingService:n,regionHash:i,partitionHash:h})=>{const p=getResolvedPartition(e,{partitionHash:h});const Q=e in i?e:h[p]?.endpoint??e;const D={useFipsEndpoint:t,useDualstackEndpoint:o};const T=getHostnameFromVariants(i[Q]?.variants,D);const _=getHostnameFromVariants(h[p]?.variants,D);const O=getResolvedHostname(Q,{regionHostname:T,partitionHostname:_});if(O===undefined){throw new Error(`Endpoint resolution failed for: ${{resolvedRegion:Q,useFipsEndpoint:t,useDualstackEndpoint:o}}`)}const V=getResolvedSigningRegion(O,{signingRegion:i[Q]?.signingRegion,regionRegex:h[p].regionRegex,useFipsEndpoint:t});return{partition:p,signingService:n,hostname:O,...V&&{signingRegion:V},...i[Q]?.signingService&&{signingService:i[Q].signingService}}};t.CONFIG_USE_DUALSTACK_ENDPOINT=Q;t.CONFIG_USE_FIPS_ENDPOINT=O;t.DEFAULT_USE_DUALSTACK_ENDPOINT=D;t.DEFAULT_USE_FIPS_ENDPOINT=V;t.ENV_USE_DUALSTACK_ENDPOINT=p;t.ENV_USE_FIPS_ENDPOINT=_;t.NODE_REGION_CONFIG_FILE_OPTIONS=re;t.NODE_REGION_CONFIG_OPTIONS=te;t.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS=T;t.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS=j;t.REGION_ENV_NAME=$;t.REGION_INI_NAME=ee;t.getRegionInfo=getRegionInfo;t.resolveCustomEndpointsConfig=resolveCustomEndpointsConfig;t.resolveEndpointsConfig=resolveEndpointsConfig;t.resolveRegionConfig=resolveRegionConfig},402:(e,t,o)=>{"use strict";var n=o(690);var i=o(6324);var h=o(3255);var p=o(2356);var Q=o(3422);const getSmithyContext=e=>e[n.SMITHY_CONTEXT_KEY]||(e[n.SMITHY_CONTEXT_KEY]={});const resolveAuthOptions=(e,t)=>{if(!t||t.length===0){return e}const o=[];for(const n of t){for(const t of e){const e=t.schemeId.split("#")[1];if(e===n){o.push(t)}}}for(const t of e){if(!o.find((({schemeId:e})=>e===t.schemeId))){o.push(t)}}return o};function convertHttpAuthSchemesToMap(e){const t=new Map;for(const o of e){t.set(o.schemeId,o)}return t}const httpAuthSchemeMiddleware=(e,t)=>(o,n)=>async h=>{const p=e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,n,h.input));const Q=e.authSchemePreference?await e.authSchemePreference():[];const D=resolveAuthOptions(p,Q);const T=convertHttpAuthSchemesToMap(e.httpAuthSchemes);const _=i.getSmithyContext(n);const O=[];for(const o of D){const i=T.get(o.schemeId);if(!i){O.push(`HttpAuthScheme \`${o.schemeId}\` was not enabled for this service.`);continue}const h=i.identityProvider(await t.identityProviderConfigProvider(e));if(!h){O.push(`HttpAuthScheme \`${o.schemeId}\` did not have an IdentityProvider configured.`);continue}const{identityProperties:p={},signingProperties:Q={}}=o.propertiesExtractor?.(e,n)||{};o.identityProperties=Object.assign(o.identityProperties||{},p);o.signingProperties=Object.assign(o.signingProperties||{},Q);_.selectedHttpAuthScheme={httpAuthOption:o,identity:await h(o.identityProperties),signer:i.signer};break}if(!_.selectedHttpAuthScheme){throw new Error(O.join("\n"))}return o(h)};const D={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:true,relation:"before",toMiddleware:"endpointV2Middleware"};const getHttpAuthSchemeEndpointRuleSetPlugin=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:o})=>({applyToStack:n=>{n.addRelativeTo(httpAuthSchemeMiddleware(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:o}),D)}});const T={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:true,relation:"before",toMiddleware:h.serializerMiddlewareOption.name};const getHttpAuthSchemePlugin=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:o})=>({applyToStack:n=>{n.addRelativeTo(httpAuthSchemeMiddleware(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:o}),T)}});const defaultErrorHandler=e=>e=>{throw e};const defaultSuccessHandler=(e,t)=>{};const httpSigningMiddleware=e=>(e,t)=>async o=>{if(!p.HttpRequest.isInstance(o.request)){return e(o)}const n=i.getSmithyContext(t);const h=n.selectedHttpAuthScheme;if(!h){throw new Error(`No HttpAuthScheme was selected: unable to sign request`)}const{httpAuthOption:{signingProperties:Q={}},identity:D,signer:T}=h;const _=await e({...o,request:await T.sign(o.request,D,Q)}).catch((T.errorHandler||defaultErrorHandler)(Q));(T.successHandler||defaultSuccessHandler)(_.response,Q);return _};const _={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:true,relation:"after",toMiddleware:"retryMiddleware"};const getHttpSigningPlugin=e=>({applyToStack:e=>{e.addRelativeTo(httpSigningMiddleware(),_)}});const normalizeProvider=e=>{if(typeof e==="function")return e;const t=Promise.resolve(e);return()=>t};const makePagedClientRequest=async(e,t,o,n=e=>e,...i)=>{let h=new e(o);h=n(h)??h;return await t.send(h,...i)};function createPaginator(e,t,o,n,i){return async function*paginateOperation(h,p,...Q){const D=p;let T=h.startingToken??D[o];let _=true;let O;while(_){D[o]=T;if(i){D[i]=D[i]??h.pageSize}if(h.client instanceof e){O=await makePagedClientRequest(t,h.client,p,h.withCommand,...Q)}else{throw new Error(`Invalid client, expected instance of ${e.name}`)}yield O;const V=T;T=get(O,n);_=!!(T&&(!h.stopOnSameToken||T!==V))}return undefined}}const get=(e,t)=>{let o=e;const n=t.split(".");for(const e of n){if(!o||typeof o!=="object"){return undefined}o=o[e]}return o};function setFeature(e,t,o){if(!e.__smithy_context){e.__smithy_context={features:{}}}else if(!e.__smithy_context.features){e.__smithy_context.features={}}e.__smithy_context.features[t]=o}class DefaultIdentityProviderConfig{authSchemes=new Map;constructor(e){for(const[t,o]of Object.entries(e)){if(o!==undefined){this.authSchemes.set(t,o)}}}getIdentityProvider(e){return this.authSchemes.get(e)}}class HttpApiKeyAuthSigner{async sign(e,t,o){if(!o){throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing")}if(!o.name){throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing")}if(!o.in){throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing")}if(!t.apiKey){throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined")}const i=p.HttpRequest.clone(e);if(o.in===n.HttpApiKeyAuthLocation.QUERY){i.query[o.name]=t.apiKey}else if(o.in===n.HttpApiKeyAuthLocation.HEADER){i.headers[o.name]=o.scheme?`${o.scheme} ${t.apiKey}`:t.apiKey}else{throw new Error("request can only be signed with `apiKey` locations `query` or `header`, "+"but found: `"+o.in+"`")}return i}}class HttpBearerAuthSigner{async sign(e,t,o){const n=p.HttpRequest.clone(e);if(!t.token){throw new Error("request could not be signed with `token` since the `token` is not defined")}n.headers["Authorization"]=`Bearer ${t.token}`;return n}}class NoAuthSigner{async sign(e,t,o){return e}}const createIsIdentityExpiredFunction=e=>function isIdentityExpired(t){return doesIdentityRequireRefresh(t)&&t.expiration.getTime()-Date.now()<e};const O=3e5;const V=createIsIdentityExpiredFunction(O);const doesIdentityRequireRefresh=e=>e.expiration!==undefined;const memoizeIdentityProvider=(e,t,o)=>{if(e===undefined){return undefined}const n=typeof e!=="function"?async()=>Promise.resolve(e):e;let i;let h;let p;let Q=false;const coalesceProvider=async e=>{if(!h){h=n(e)}try{i=await h;p=true;Q=false}finally{h=undefined}return i};if(t===undefined){return async e=>{if(!p||e?.forceRefresh){i=await coalesceProvider(e)}return i}}return async e=>{if(!p||e?.forceRefresh){i=await coalesceProvider(e)}if(Q){return i}if(!o(i)){Q=true;return i}if(t(i)){await coalesceProvider(e);return i}return i}};t.requestBuilder=Q.requestBuilder;t.DefaultIdentityProviderConfig=DefaultIdentityProviderConfig;t.EXPIRATION_MS=O;t.HttpApiKeyAuthSigner=HttpApiKeyAuthSigner;t.HttpBearerAuthSigner=HttpBearerAuthSigner;t.NoAuthSigner=NoAuthSigner;t.createIsIdentityExpiredFunction=createIsIdentityExpiredFunction;t.createPaginator=createPaginator;t.doesIdentityRequireRefresh=doesIdentityRequireRefresh;t.getHttpAuthSchemeEndpointRuleSetPlugin=getHttpAuthSchemeEndpointRuleSetPlugin;t.getHttpAuthSchemePlugin=getHttpAuthSchemePlugin;t.getHttpSigningPlugin=getHttpSigningPlugin;t.getSmithyContext=getSmithyContext;t.httpAuthSchemeEndpointRuleSetMiddlewareOptions=D;t.httpAuthSchemeMiddleware=httpAuthSchemeMiddleware;t.httpAuthSchemeMiddlewareOptions=T;t.httpSigningMiddleware=httpSigningMiddleware;t.httpSigningMiddlewareOptions=_;t.isIdentityExpired=V;t.memoizeIdentityProvider=memoizeIdentityProvider;t.normalizeProvider=normalizeProvider;t.setFeature=setFeature},4645:(e,t,o)=>{"use strict";var n=o(2430);var i=o(1577);var h=o(3422);var p=o(2356);var Q=o(2098);var D=o(6890);var T=o(6324);var _=o(8385);const O=0;const V=1;const j=2;const $=3;const ee=4;const te=5;const re=6;const se=7;const oe=20;const ne=21;const ie=22;const Ae=23;const ae=24;const ce=25;const le=26;const ue=27;const ge=31;function alloc(e){return typeof Buffer!=="undefined"?Buffer.alloc(e):new Uint8Array(e)}const de=Symbol("@smithy/core/cbor::tagSymbol");function tag(e){e[de]=true;return e}const he=typeof TextDecoder!=="undefined";const pe=typeof Buffer!=="undefined";let fe=alloc(0);let Ee=new DataView(fe.buffer,fe.byteOffset,fe.byteLength);const Ce=he?new TextDecoder:null;let me=0;function setPayload(e){fe=e;Ee=new DataView(fe.buffer,fe.byteOffset,fe.byteLength)}function decode(e,t){if(e>=t){throw new Error("unexpected end of (decode) payload.")}const o=(fe[e]&224)>>5;const i=fe[e]&31;switch(o){case O:case V:case re:let h;let p;if(i<24){h=i;p=1}else{switch(i){case ae:case ce:case le:case ue:const o=Ie[i];const n=o+1;p=n;if(t-e<n){throw new Error(`countLength ${o} greater than remaining buf len.`)}const Q=e+1;if(o===1){h=fe[Q]}else if(o===2){h=Ee.getUint16(Q)}else if(o===4){h=Ee.getUint32(Q)}else{h=Ee.getBigUint64(Q)}break;default:throw new Error(`unexpected minor value ${i}.`)}}if(o===O){me=p;return castBigInt(h)}else if(o===V){let e;if(typeof h==="bigint"){e=BigInt(-1)-h}else{e=-1-h}me=p;return castBigInt(e)}else{if(i===2||i===3){const o=decodeCount(e+p,t);let n=BigInt(0);const h=e+p+me;for(let e=h;e<h+o;++e){n=n<<BigInt(8)|BigInt(fe[e])}me=p+me+o;return i===3?-n-BigInt(1):n}else if(i===4){const o=decode(e+p,t);const[i,h]=o;const Q=h<0?-1:1;const D="0".repeat(Math.abs(i)+1)+String(BigInt(Q)*BigInt(h));let T;const _=h<0?"-":"";T=i===0?D:D.slice(0,D.length+i)+"."+D.slice(i);T=T.replace(/^0+/g,"");if(T===""){T="0"}if(T[0]==="."){T="0"+T}T=_+T;me=p+me;return n.nv(T)}else{const o=decode(e+p,t);const n=me;me=p+n;return tag({tag:castBigInt(h),value:o})}}case $:case te:case ee:case j:if(i===ge){switch(o){case $:return decodeUtf8StringIndefinite(e,t);case te:return decodeMapIndefinite(e,t);case ee:return decodeListIndefinite(e,t);case j:return decodeUnstructuredByteStringIndefinite(e,t)}}else{switch(o){case $:return decodeUtf8String(e,t);case te:return decodeMap(e,t);case ee:return decodeList(e,t);case j:return decodeUnstructuredByteString(e,t)}}default:return decodeSpecial(e,t)}}function bytesToUtf8(e,t,o){if(pe&&e.constructor?.name==="Buffer"){return e.toString("utf-8",t,o)}if(Ce){return Ce.decode(e.subarray(t,o))}return i.toUtf8(e.subarray(t,o))}function demote(e){const t=Number(e);if(t<Number.MIN_SAFE_INTEGER||Number.MAX_SAFE_INTEGER<t){console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${e}) to ${t} with loss of precision.`))}return t}const Ie={[ae]:1,[ce]:2,[le]:4,[ue]:8};function bytesToFloat16(e,t){const o=e>>7;const n=(e&124)>>2;const i=(e&3)<<8|t;const h=o===0?1:-1;let p;let Q;if(n===0){if(i===0){return 0}else{p=Math.pow(2,1-15);Q=0}}else if(n===31){if(i===0){return h*Infinity}else{return NaN}}else{p=Math.pow(2,n-15);Q=1}Q+=i/1024;return h*(p*Q)}function decodeCount(e,t){const o=fe[e]&31;if(o<24){me=1;return o}if(o===ae||o===ce||o===le||o===ue){const n=Ie[o];me=n+1;if(t-e<me){throw new Error(`countLength ${n} greater than remaining buf len.`)}const i=e+1;if(n===1){return fe[i]}else if(n===2){return Ee.getUint16(i)}else if(n===4){return Ee.getUint32(i)}return demote(Ee.getBigUint64(i))}throw new Error(`unexpected minor value ${o}.`)}function decodeUtf8String(e,t){const o=decodeCount(e,t);const n=me;e+=n;if(t-e<o){throw new Error(`string len ${o} greater than remaining buf len.`)}const i=bytesToUtf8(fe,e,e+o);me=n+o;return i}function decodeUtf8StringIndefinite(e,t){e+=1;const o=[];for(const n=e;e<t;){if(fe[e]===255){const t=alloc(o.length);t.set(o,0);me=e-n+2;return bytesToUtf8(t,0,t.length)}const i=(fe[e]&224)>>5;const h=fe[e]&31;if(i!==$){throw new Error(`unexpected major type ${i} in indefinite string.`)}if(h===ge){throw new Error("nested indefinite string.")}const p=decodeUnstructuredByteString(e,t);const Q=me;e+=Q;for(let e=0;e<p.length;++e){o.push(p[e])}}throw new Error("expected break marker.")}function decodeUnstructuredByteString(e,t){const o=decodeCount(e,t);const n=me;e+=n;if(t-e<o){throw new Error(`unstructured byte string len ${o} greater than remaining buf len.`)}const i=fe.subarray(e,e+o);me=n+o;return i}function decodeUnstructuredByteStringIndefinite(e,t){e+=1;const o=[];for(const n=e;e<t;){if(fe[e]===255){const t=alloc(o.length);t.set(o,0);me=e-n+2;return t}const i=(fe[e]&224)>>5;const h=fe[e]&31;if(i!==j){throw new Error(`unexpected major type ${i} in indefinite string.`)}if(h===ge){throw new Error("nested indefinite string.")}const p=decodeUnstructuredByteString(e,t);const Q=me;e+=Q;for(let e=0;e<p.length;++e){o.push(p[e])}}throw new Error("expected break marker.")}function decodeList(e,t){const o=decodeCount(e,t);const n=me;e+=n;const i=e;const h=Array(o);for(let n=0;n<o;++n){const o=decode(e,t);const i=me;h[n]=o;e+=i}me=n+(e-i);return h}function decodeListIndefinite(e,t){e+=1;const o=[];for(const n=e;e<t;){if(fe[e]===255){me=e-n+2;return o}const i=decode(e,t);const h=me;e+=h;o.push(i)}throw new Error("expected break marker.")}function decodeMap(e,t){const o=decodeCount(e,t);const n=me;e+=n;const i=e;const h={};for(let n=0;n<o;++n){if(e>=t){throw new Error("unexpected end of map payload.")}const o=(fe[e]&224)>>5;if(o!==$){throw new Error(`unexpected major type ${o} for map key at index ${e}.`)}const n=decode(e,t);e+=me;const i=decode(e,t);e+=me;h[n]=i}me=n+(e-i);return h}function decodeMapIndefinite(e,t){e+=1;const o=e;const n={};for(;e<t;){if(e>=t){throw new Error("unexpected end of map payload.")}if(fe[e]===255){me=e-o+2;return n}const i=(fe[e]&224)>>5;if(i!==$){throw new Error(`unexpected major type ${i} for map key.`)}const h=decode(e,t);e+=me;const p=decode(e,t);e+=me;n[h]=p}throw new Error("expected break marker.")}function decodeSpecial(e,t){const o=fe[e]&31;switch(o){case ne:case oe:me=1;return o===ne;case ie:me=1;return null;case Ae:me=1;return null;case ce:if(t-e<3){throw new Error("incomplete float16 at end of buf.")}me=3;return bytesToFloat16(fe[e+1],fe[e+2]);case le:if(t-e<5){throw new Error("incomplete float32 at end of buf.")}me=5;return Ee.getFloat32(e+1);case ue:if(t-e<9){throw new Error("incomplete float64 at end of buf.")}me=9;return Ee.getFloat64(e+1);default:throw new Error(`unexpected minor value ${o}.`)}}function castBigInt(e){if(typeof e==="number"){return e}const t=Number(e);if(Number.MIN_SAFE_INTEGER<=t&&t<=Number.MAX_SAFE_INTEGER){return t}return e}const Qe=typeof Buffer!=="undefined";const Be=2048;let ye=alloc(Be);let we=new DataView(ye.buffer,ye.byteOffset,ye.byteLength);let be=0;function ensureSpace(e){const t=ye.byteLength-be;if(t<e){if(be<16e6){resize(Math.max(ye.byteLength*4,ye.byteLength+e))}else{resize(ye.byteLength+e+16e6)}}}function toUint8Array(){const e=alloc(be);e.set(ye.subarray(0,be),0);be=0;return e}function resize(e){const t=ye;ye=alloc(e);if(t){if(t.copy){t.copy(ye,0,0,t.byteLength)}else{ye.set(t,0)}}we=new DataView(ye.buffer,ye.byteOffset,ye.byteLength)}function encodeHeader(e,t){if(t<24){ye[be++]=e<<5|t}else if(t<1<<8){ye[be++]=e<<5|24;ye[be++]=t}else if(t<1<<16){ye[be++]=e<<5|ce;we.setUint16(be,t);be+=2}else if(t<2**32){ye[be++]=e<<5|le;we.setUint32(be,t);be+=4}else{ye[be++]=e<<5|ue;we.setBigUint64(be,typeof t==="bigint"?t:BigInt(t));be+=8}}function encode(e){const t=[e];while(t.length){const e=t.pop();ensureSpace(typeof e==="string"?e.length*4:64);if(typeof e==="string"){if(Qe){encodeHeader($,Buffer.byteLength(e));be+=ye.write(e,be)}else{const t=i.fromUtf8(e);encodeHeader($,t.byteLength);ye.set(t,be);be+=t.byteLength}continue}else if(typeof e==="number"){if(Number.isInteger(e)){const t=e>=0;const o=t?O:V;const n=t?e:-e-1;if(n<24){ye[be++]=o<<5|n}else if(n<256){ye[be++]=o<<5|24;ye[be++]=n}else if(n<65536){ye[be++]=o<<5|ce;ye[be++]=n>>8;ye[be++]=n}else if(n<4294967296){ye[be++]=o<<5|le;we.setUint32(be,n);be+=4}else{ye[be++]=o<<5|ue;we.setBigUint64(be,BigInt(n));be+=8}continue}ye[be++]=se<<5|ue;we.setFloat64(be,e);be+=8;continue}else if(typeof e==="bigint"){const t=e>=0;const o=t?O:V;const n=t?e:-e-BigInt(1);const i=Number(n);if(i<24){ye[be++]=o<<5|i}else if(i<256){ye[be++]=o<<5|24;ye[be++]=i}else if(i<65536){ye[be++]=o<<5|ce;ye[be++]=i>>8;ye[be++]=i&255}else if(i<4294967296){ye[be++]=o<<5|le;we.setUint32(be,i);be+=4}else if(n<BigInt("18446744073709551616")){ye[be++]=o<<5|ue;we.setBigUint64(be,n);be+=8}else{const e=n.toString(2);const o=new Uint8Array(Math.ceil(e.length/8));let i=n;let h=0;while(o.byteLength-++h>=0){o[o.byteLength-h]=Number(i&BigInt(255));i>>=BigInt(8)}ensureSpace(o.byteLength*2);ye[be++]=t?194:195;if(Qe){encodeHeader(j,Buffer.byteLength(o))}else{encodeHeader(j,o.byteLength)}ye.set(o,be);be+=o.byteLength}continue}else if(e===null){ye[be++]=se<<5|ie;continue}else if(typeof e==="boolean"){ye[be++]=se<<5|(e?ne:oe);continue}else if(typeof e==="undefined"){throw new Error("@smithy/core/cbor: client may not serialize undefined value.")}else if(Array.isArray(e)){for(let o=e.length-1;o>=0;--o){t.push(e[o])}encodeHeader(ee,e.length);continue}else if(typeof e.byteLength==="number"){ensureSpace(e.length*2);encodeHeader(j,e.length);ye.set(e,be);be+=e.byteLength;continue}else if(typeof e==="object"){if(e instanceof n.NumericValue){const o=e.string.indexOf(".");const n=o===-1?0:o-e.string.length+1;const i=BigInt(e.string.replace(".",""));ye[be++]=196;t.push(i);t.push(n);encodeHeader(ee,2);continue}if(e[de]){if("tag"in e&&"value"in e){t.push(e.value);encodeHeader(re,e.tag);continue}else{throw new Error("tag encountered with missing fields, need 'tag' and 'value', found: "+JSON.stringify(e))}}const o=Object.keys(e);for(let n=o.length-1;n>=0;--n){const i=o[n];t.push(e[i]);t.push(i)}encodeHeader(te,o.length);continue}throw new Error(`data type ${e?.constructor?.name??typeof e} not compatible for encoding.`)}}const Se={deserialize(e){setPayload(e);return decode(0,e.length)},serialize(e){try{encode(e);return toUint8Array()}catch(e){toUint8Array();throw e}},resizeEncodingBuffer(e){resize(e)}};const parseCborBody=(e,t)=>h.collectBody(e,t).then((async e=>{if(e.length){try{return Se.deserialize(e)}catch(o){Object.defineProperty(o,"$responseBodyText",{value:t.utf8Encoder(e)});throw o}}return{}}));const dateToTag=e=>tag({tag:1,value:e.getTime()/1e3});const parseCborErrorBody=async(e,t)=>{const o=await parseCborBody(e,t);o.message=o.message??o.Message;return o};const loadSmithyRpcV2CborErrorCode=(e,t)=>{const sanitizeErrorCode=e=>{let t=e;if(typeof t==="number"){t=t.toString()}if(t.indexOf(",")>=0){t=t.split(",")[0]}if(t.indexOf(":")>=0){t=t.split(":")[0]}if(t.indexOf("#")>=0){t=t.split("#")[1]}return t};if(t["__type"]!==undefined){return sanitizeErrorCode(t["__type"])}const o=Object.keys(t).find((e=>e.toLowerCase()==="code"));if(o&&t[o]!==undefined){return sanitizeErrorCode(t[o])}};const checkCborResponse=e=>{if(String(e.headers["smithy-protocol"]).toLowerCase()!=="rpc-v2-cbor"){throw new Error("Malformed RPCv2 CBOR response, status: "+e.statusCode)}};const buildHttpRpcRequest=async(e,t,o,n,i)=>{const{hostname:h,protocol:D="https",port:T,path:_}=await e.endpoint();const O={protocol:D,hostname:h,port:T,method:"POST",path:_.endsWith("/")?_.slice(0,-1)+o:_+o,headers:{...t}};if(n!==undefined){O.hostname=n}if(i!==undefined){O.body=i;try{O.headers["content-length"]=String(Q.calculateBodyLength(i))}catch(e){}}return new p.HttpRequest(O)};class CborCodec extends h.SerdeContext{createSerializer(){const e=new CborShapeSerializer;e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new CborShapeDeserializer;e.setSerdeContext(this.serdeContext);return e}}class CborShapeSerializer extends h.SerdeContext{value;write(e,t){this.value=this.serialize(e,t)}serialize(e,t){const o=D.NormalizedSchema.of(e);if(t==null){if(o.isIdempotencyToken()){return n.generateIdempotencyToken()}return t}if(o.isBlobSchema()){if(typeof t==="string"){return(this.serdeContext?.base64Decoder??_.fromBase64)(t)}return t}if(o.isTimestampSchema()){if(typeof t==="number"||typeof t==="bigint"){return dateToTag(new Date(Number(t)/1e3|0))}return dateToTag(t)}if(typeof t==="function"||typeof t==="object"){const e=t;if(o.isListSchema()&&Array.isArray(e)){const t=!!o.getMergedTraits().sparse;const n=[];let i=0;for(const h of e){const e=this.serialize(o.getValueSchema(),h);if(e!=null||t){n[i++]=e}}return n}if(e instanceof Date){return dateToTag(e)}const n={};if(o.isMapSchema()){const t=!!o.getMergedTraits().sparse;for(const i of Object.keys(e)){const h=this.serialize(o.getValueSchema(),e[i]);if(h!=null||t){n[i]=h}}}else if(o.isStructSchema()){for(const[t,i]of o.structIterator()){const o=this.serialize(i,e[t]);if(o!=null){n[t]=o}}const t=o.isUnionSchema();if(t&&Array.isArray(e.$unknown)){const[t,o]=e.$unknown;n[t]=o}else if(typeof e.__type==="string"){for(const[t,o]of Object.entries(e)){if(!(t in n)){n[t]=this.serialize(15,o)}}}}else if(o.isDocumentSchema()){for(const t of Object.keys(e)){n[t]=this.serialize(o.getValueSchema(),e[t])}}else if(o.isBigDecimalSchema()){return e}return n}return t}flush(){const e=Se.serialize(this.value);this.value=undefined;return e}}class CborShapeDeserializer extends h.SerdeContext{read(e,t){const o=Se.deserialize(t);return this.readValue(e,o)}readValue(e,t){const o=D.NormalizedSchema.of(e);if(o.isTimestampSchema()){if(typeof t==="number"){return n._parseEpochTimestamp(t)}if(typeof t==="object"){if(t.tag===1&&"value"in t){return n._parseEpochTimestamp(t.value)}}}if(o.isBlobSchema()){if(typeof t==="string"){return(this.serdeContext?.base64Decoder??_.fromBase64)(t)}return t}if(typeof t==="undefined"||typeof t==="boolean"||typeof t==="number"||typeof t==="string"||typeof t==="bigint"||typeof t==="symbol"){return t}else if(typeof t==="object"){if(t===null){return null}if("byteLength"in t){return t}if(t instanceof Date){return t}if(o.isDocumentSchema()){return t}if(o.isListSchema()){const e=[];const n=o.getValueSchema();for(const o of t){const t=this.readValue(n,o);e.push(t)}return e}const e={};if(o.isMapSchema()){const n=o.getValueSchema();for(const o of Object.keys(t)){const i=this.readValue(n,t[o]);e[o]=i}}else if(o.isStructSchema()){const n=o.isUnionSchema();let i;if(n){i=new Set(Object.keys(t).filter((e=>e!=="__type")))}for(const[h,p]of o.structIterator()){if(n){i.delete(h)}if(t[h]!=null){e[h]=this.readValue(p,t[h])}}if(n&&i?.size===1&&Object.keys(e).length===0){const o=i.values().next().value;e.$unknown=[o,t[o]]}else if(typeof t.__type==="string"){for(const[o,n]of Object.entries(t)){if(!(o in e)){e[o]=n}}}}else if(t instanceof n.NumericValue){return t}return e}else{return t}}}class SmithyRpcV2CborProtocol extends h.RpcProtocol{codec=new CborCodec;serializer=this.codec.createSerializer();deserializer=this.codec.createDeserializer();constructor({defaultNamespace:e,errorTypeRegistries:t}){super({defaultNamespace:e,errorTypeRegistries:t})}getShapeId(){return"smithy.protocols#rpcv2Cbor"}getPayloadCodec(){return this.codec}async serializeRequest(e,t,o){const n=await super.serializeRequest(e,t,o);Object.assign(n.headers,{"content-type":this.getDefaultContentType(),"smithy-protocol":"rpc-v2-cbor",accept:this.getDefaultContentType()});if(D.deref(e.input)==="unit"){delete n.body;delete n.headers["content-type"]}else{if(!n.body){this.serializer.write(15,{});n.body=this.serializer.flush()}try{n.headers["content-length"]=String(n.body.byteLength)}catch(e){}}const{service:i,operation:h}=T.getSmithyContext(o);const p=`/service/${i}/operation/${h}`;if(n.path.endsWith("/")){n.path+=p.slice(1)}else{n.path+=p}return n}async deserializeResponse(e,t,o){return super.deserializeResponse(e,t,o)}async handleError(e,t,o,n,i){const h=loadSmithyRpcV2CborErrorCode(o,n)??"Unknown";const p={$metadata:i,$fault:o.statusCode<=500?"client":"server"};let Q=this.options.defaultNamespace;if(h.includes("#")){[Q]=h.split("#")}const T=this.compositeErrorRegistry;const _=D.TypeRegistry.for(Q);T.copyFrom(_);let O;try{O=T.getSchema(h)}catch(e){if(n.Message){n.message=n.Message}const t=D.TypeRegistry.for("smithy.ts.sdk.synthetic."+Q);T.copyFrom(t);const o=T.getBaseException();if(o){const e=T.getErrorCtor(o);throw Object.assign(new e({name:h}),p,n)}throw Object.assign(new Error(h),p,n)}const V=D.NormalizedSchema.of(O);const j=T.getErrorCtor(O);const $=n.message??n.Message??"Unknown";const ee=new j($);const te={};for(const[e,t]of V.structIterator()){te[e]=this.deserializer.readValue(t,n[e])}throw Object.assign(ee,p,{$fault:V.getMergedTraits().error,message:$},te)}getDefaultContentType(){return"application/cbor"}}t.CborCodec=CborCodec;t.CborShapeDeserializer=CborShapeDeserializer;t.CborShapeSerializer=CborShapeSerializer;t.SmithyRpcV2CborProtocol=SmithyRpcV2CborProtocol;t.buildHttpRpcRequest=buildHttpRpcRequest;t.cbor=Se;t.checkCborResponse=checkCborResponse;t.dateToTag=dateToTag;t.loadSmithyRpcV2CborErrorCode=loadSmithyRpcV2CborErrorCode;t.parseCborBody=parseCborBody;t.parseCborErrorBody=parseCborErrorBody;t.tag=tag;t.tagSymbol=de},3422:(e,t,o)=>{"use strict";var n=o(4252);var i=o(6890);var h=o(2430);var p=o(2356);var Q=o(8385);var D=o(1577);const collectBody=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array){return n.Uint8ArrayBlobAdapter.mutate(e)}if(!e){return n.Uint8ArrayBlobAdapter.mutate(new Uint8Array)}const o=t.streamCollector(e);return n.Uint8ArrayBlobAdapter.mutate(await o)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}class SerdeContext{serdeContext;setSerdeContext(e){this.serdeContext=e}}class HttpProtocol extends SerdeContext{options;compositeErrorRegistry;constructor(e){super();this.options=e;this.compositeErrorRegistry=i.TypeRegistry.for(e.defaultNamespace);for(const t of e.errorTypeRegistries??[]){this.compositeErrorRegistry.copyFrom(t)}}getRequestType(){return p.HttpRequest}getResponseType(){return p.HttpResponse}setSerdeContext(e){this.serdeContext=e;this.serializer.setSerdeContext(e);this.deserializer.setSerdeContext(e);if(this.getPayloadCodec()){this.getPayloadCodec().setSerdeContext(e)}}updateServiceEndpoint(e,t){if("url"in t){e.protocol=t.url.protocol;e.hostname=t.url.hostname;e.port=t.url.port?Number(t.url.port):undefined;e.path=t.url.pathname;e.fragment=t.url.hash||void 0;e.username=t.url.username||void 0;e.password=t.url.password||void 0;if(!e.query){e.query={}}for(const[o,n]of t.url.searchParams.entries()){e.query[o]=n}return e}else{e.protocol=t.protocol;e.hostname=t.hostname;e.port=t.port?Number(t.port):undefined;e.path=t.path;e.query={...t.query};return e}}setHostPrefix(e,t,o){if(this.serdeContext?.disableHostPrefix){return}const n=i.NormalizedSchema.of(t.input);const h=i.translateTraits(t.traits??{});if(h.endpoint){let t=h.endpoint?.[0];if(typeof t==="string"){const i=[...n.structIterator()].filter((([,e])=>e.getMergedTraits().hostLabel));for(const[e]of i){const n=o[e];if(typeof n!=="string"){throw new Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`)}t=t.replace(`{${e}}`,n)}e.hostname=t+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:o}){const n=await this.loadEventStreamCapability();return n.serializeEventStream({eventStream:e,requestSchema:t,initialRequest:o})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:o}){const n=await this.loadEventStreamCapability();return n.deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:o})}async loadEventStreamCapability(){const{EventStreamSerde:e}=await o.e(579).then(o.t.bind(o,6579,19));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,o,n,i){return[]}getEventStreamMarshaller(){const e=this.serdeContext;if(!e.eventStreamMarshaller){throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.")}return e.eventStreamMarshaller}}class HttpBindingProtocol extends HttpProtocol{async serializeRequest(e,t,o){const n={...t??{}};const h=this.serializer;const Q={};const D={};const T=await o.endpoint();const _=i.NormalizedSchema.of(e?.input);const O=[];const V=[];let j=false;let $;const ee=new p.HttpRequest({protocol:"",hostname:"",port:undefined,path:"",fragment:undefined,query:Q,headers:D,body:undefined});if(T){this.updateServiceEndpoint(ee,T);this.setHostPrefix(ee,e,n);const t=i.translateTraits(e.traits);if(t.http){ee.method=t.http[0];const[e,o]=t.http[1].split("?");if(ee.path=="/"){ee.path=e}else{ee.path+=e}const n=new URLSearchParams(o??"");Object.assign(Q,Object.fromEntries(n))}}for(const[e,t]of _.structIterator()){const o=t.getMergedTraits()??{};const i=n[e];if(i==null&&!t.isIdempotencyToken()){if(o.httpLabel){if(ee.path.includes(`{${e}+}`)||ee.path.includes(`{${e}}`)){throw new Error(`No value provided for input HTTP label: ${e}.`)}}continue}if(o.httpPayload){const o=t.isStreaming();if(o){const o=t.isStructSchema();if(o){if(n[e]){$=await this.serializeEventStream({eventStream:n[e],requestSchema:_})}}else{$=i}}else{h.write(t,i);$=h.flush()}delete n[e]}else if(o.httpLabel){h.write(t,i);const o=h.flush();if(ee.path.includes(`{${e}+}`)){ee.path=ee.path.replace(`{${e}+}`,o.split("/").map(extendedEncodeURIComponent).join("/"))}else if(ee.path.includes(`{${e}}`)){ee.path=ee.path.replace(`{${e}}`,extendedEncodeURIComponent(o))}delete n[e]}else if(o.httpHeader){h.write(t,i);D[o.httpHeader.toLowerCase()]=String(h.flush());delete n[e]}else if(typeof o.httpPrefixHeaders==="string"){for(const[e,n]of Object.entries(i)){const i=o.httpPrefixHeaders+e;h.write([t.getValueSchema(),{httpHeader:i}],n);D[i.toLowerCase()]=h.flush()}delete n[e]}else if(o.httpQuery||o.httpQueryParams){this.serializeQuery(t,i,Q);delete n[e]}else{j=true;O.push(e);V.push(t)}}if(j&&n){const[e,t]=(_.getName(true)??"#Unknown").split("#");const o=_.getSchema()[6];const i=[3,e,t,_.getMergedTraits(),O,V,undefined];if(o){i[6]=o}else{i.pop()}h.write(i,n);$=h.flush()}ee.headers=D;ee.query=Q;ee.body=$;return ee}serializeQuery(e,t,o){const n=this.serializer;const i=e.getMergedTraits();if(i.httpQueryParams){for(const[n,h]of Object.entries(t)){if(!(n in o)){const t=e.getValueSchema();Object.assign(t.getMergedTraits(),{...i,httpQuery:n,httpQueryParams:undefined});this.serializeQuery(t,h,o)}}return}if(e.isListSchema()){const h=!!e.getMergedTraits().sparse;const p=[];for(const o of t){n.write([e.getValueSchema(),i],o);const t=n.flush();if(h||t!==undefined){p.push(t)}}o[i.httpQuery]=p}else{n.write([e,i],t);o[i.httpQuery]=n.flush()}}async deserializeResponse(e,t,o){const n=this.deserializer;const h=i.NormalizedSchema.of(e.output);const p={};if(o.statusCode>=300){const i=await collectBody(o.body,t);if(i.byteLength>0){Object.assign(p,await n.read(15,i))}await this.handleError(e,t,o,p,this.deserializeMetadata(o));throw new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(const e in o.headers){const t=o.headers[e];delete o.headers[e];o.headers[e.toLowerCase()]=t}const Q=await this.deserializeHttpMessage(h,t,o,p);if(Q.length){const e=await collectBody(o.body,t);if(e.byteLength>0){const t=await n.read(h,e);for(const e of Q){if(t[e]!=null){p[e]=t[e]}}}}else if(Q.discardResponseBody){await collectBody(o.body,t)}p.$metadata=this.deserializeMetadata(o);return p}async deserializeHttpMessage(e,t,o,p,Q){let D;if(p instanceof Set){D=Q}else{D=p}let T=true;const _=this.deserializer;const O=i.NormalizedSchema.of(e);const V=[];for(const[e,i]of O.structIterator()){const p=i.getMemberTraits();if(p.httpPayload){T=false;const h=i.isStreaming();if(h){const t=i.isStructSchema();if(t){D[e]=await this.deserializeEventStream({response:o,responseSchema:O})}else{D[e]=n.sdkStreamMixin(o.body)}}else if(o.body){const n=await collectBody(o.body,t);if(n.byteLength>0){D[e]=await _.read(i,n)}}}else if(p.httpHeader){const t=String(p.httpHeader).toLowerCase();const n=o.headers[t];if(null!=n){if(i.isListSchema()){const o=i.getValueSchema();o.getMergedTraits().httpHeader=t;let p;if(o.isTimestampSchema()&&o.getSchema()===4){p=h.splitEvery(n,",",2)}else{p=h.splitHeader(n)}const Q=[];for(const e of p){Q.push(await _.read(o,e.trim()))}D[e]=Q}else{D[e]=await _.read(i,n)}}}else if(p.httpPrefixHeaders!==undefined){D[e]={};for(const[t,n]of Object.entries(o.headers)){if(t.startsWith(p.httpPrefixHeaders)){const o=i.getValueSchema();o.getMergedTraits().httpHeader=t;D[e][t.slice(p.httpPrefixHeaders.length)]=await _.read(o,n)}}}else if(p.httpResponseCode){D[e]=o.statusCode}else{V.push(e)}}V.discardResponseBody=T;return V}}class RpcProtocol extends HttpProtocol{async serializeRequest(e,t,o){const n=this.serializer;const h={};const Q={};const D=await o.endpoint();const T=i.NormalizedSchema.of(e?.input);const _=T.getSchema();let O;const V=new p.HttpRequest({protocol:"",hostname:"",port:undefined,path:"/",fragment:undefined,query:h,headers:Q,body:undefined});if(D){this.updateServiceEndpoint(V,D);this.setHostPrefix(V,e,t)}const j={...t};if(t){const e=T.getEventStreamMember();if(e){if(j[e]){const t={};for(const[o,i]of T.structIterator()){if(o!==e&&j[o]){n.write(i,j[o]);t[o]=n.flush()}}O=await this.serializeEventStream({eventStream:j[e],requestSchema:T,initialRequest:t})}}else{n.write(_,j);O=n.flush()}}V.headers=Q;V.query=h;V.body=O;V.method="POST";return V}async deserializeResponse(e,t,o){const n=this.deserializer;const h=i.NormalizedSchema.of(e.output);const p={};if(o.statusCode>=300){const i=await collectBody(o.body,t);if(i.byteLength>0){Object.assign(p,await n.read(15,i))}await this.handleError(e,t,o,p,this.deserializeMetadata(o));throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(const e in o.headers){const t=o.headers[e];delete o.headers[e];o.headers[e.toLowerCase()]=t}const Q=h.getEventStreamMember();if(Q){p[Q]=await this.deserializeEventStream({response:o,responseSchema:h,initialResponseContainer:p})}else{const e=await collectBody(o.body,t);if(e.byteLength>0){Object.assign(p,await n.read(h,e))}}p.$metadata=this.deserializeMetadata(o);return p}}const resolvedPath=(e,t,o,n,i,h)=>{if(t!=null&&t[o]!==undefined){const t=n();if(t==null||t.length<=0){throw new Error("Empty value provided for input HTTP label: "+o+".")}e=e.replace(i,h?t.split("/").map((e=>extendedEncodeURIComponent(e))).join("/"):extendedEncodeURIComponent(t))}else{throw new Error("No value provided for input HTTP label: "+o+".")}return e};function requestBuilder(e,t){return new RequestBuilder(e,t)}class RequestBuilder{input;context;query={};method="";headers={};path="";body=null;hostname="";resolvePathStack=[];constructor(e,t){this.input=e;this.context=t}async build(){const{hostname:e,protocol:t="https",port:o,path:n}=await this.context.endpoint();this.path=n;for(const e of this.resolvePathStack){e(this.path)}return new p.HttpRequest({protocol:t,hostname:this.hostname||e,port:o,method:this.method,path:this.path,query:this.query,body:this.body,headers:this.headers})}hn(e){this.hostname=e;return this}bp(e){this.resolvePathStack.push((t=>{this.path=`${t?.endsWith("/")?t.slice(0,-1):t||""}`+e}));return this}p(e,t,o,n){this.resolvePathStack.push((i=>{this.path=resolvedPath(i,this.input,e,t,o,n)}));return this}h(e){this.headers=e;return this}q(e){this.query=e;return this}b(e){this.body=e;return this}m(e){this.method=e;return this}}function determineTimestampFormat(e,t){if(t.timestampFormat.useTrait){if(e.isTimestampSchema()&&(e.getSchema()===5||e.getSchema()===6||e.getSchema()===7)){return e.getSchema()}}const{httpLabel:o,httpPrefixHeaders:n,httpHeader:i,httpQuery:h}=e.getMergedTraits();const p=t.httpBindings?typeof n==="string"||Boolean(i)?6:Boolean(h)||Boolean(o)?5:undefined:undefined;return p??t.timestampFormat.default}class FromStringShapeDeserializer extends SerdeContext{settings;constructor(e){super();this.settings=e}read(e,t){const o=i.NormalizedSchema.of(e);if(o.isListSchema()){return h.splitHeader(t).map((e=>this.read(o.getValueSchema(),e)))}if(o.isBlobSchema()){return(this.serdeContext?.base64Decoder??Q.fromBase64)(t)}if(o.isTimestampSchema()){const e=determineTimestampFormat(o,this.settings);switch(e){case 5:return h._parseRfc3339DateTimeWithOffset(t);case 6:return h._parseRfc7231DateTime(t);case 7:return h._parseEpochTimestamp(t);default:console.warn("Missing timestamp format, parsing value with Date constructor:",t);return new Date(t)}}if(o.isStringSchema()){const e=o.getMergedTraits().mediaType;let n=t;if(e){if(o.getMergedTraits().httpHeader){n=this.base64ToUtf8(n)}const t=e==="application/json"||e.endsWith("+json");if(t){n=h.LazyJsonString.from(n)}return n}}if(o.isNumericSchema()){return Number(t)}if(o.isBigIntegerSchema()){return BigInt(t)}if(o.isBigDecimalSchema()){return new h.NumericValue(t,"bigDecimal")}if(o.isBooleanSchema()){return String(t).toLowerCase()==="true"}return t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??D.toUtf8)((this.serdeContext?.base64Decoder??Q.fromBase64)(e))}}class HttpInterceptingShapeDeserializer extends SerdeContext{codecDeserializer;stringDeserializer;constructor(e,t){super();this.codecDeserializer=e;this.stringDeserializer=new FromStringShapeDeserializer(t)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e);this.codecDeserializer.setSerdeContext(e);this.serdeContext=e}read(e,t){const o=i.NormalizedSchema.of(e);const n=o.getMergedTraits();const h=this.serdeContext?.utf8Encoder??D.toUtf8;if(n.httpHeader||n.httpResponseCode){return this.stringDeserializer.read(o,h(t))}if(n.httpPayload){if(o.isBlobSchema()){const e=this.serdeContext?.utf8Decoder??D.fromUtf8;if(typeof t==="string"){return e(t)}return t}else if(o.isStringSchema()){if("byteLength"in t){return h(t)}return t}}return this.codecDeserializer.read(o,t)}}class ToStringShapeSerializer extends SerdeContext{settings;stringBuffer="";constructor(e){super();this.settings=e}write(e,t){const o=i.NormalizedSchema.of(e);switch(typeof t){case"object":if(t===null){this.stringBuffer="null";return}if(o.isTimestampSchema()){if(!(t instanceof Date)){throw new Error(`@smithy/core/protocols - received non-Date value ${t} when schema expected Date in ${o.getName(true)}`)}const e=determineTimestampFormat(o,this.settings);switch(e){case 5:this.stringBuffer=t.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=h.dateToUtcString(t);break;case 7:this.stringBuffer=String(t.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",t);this.stringBuffer=String(t.getTime()/1e3)}return}if(o.isBlobSchema()&&"byteLength"in t){this.stringBuffer=(this.serdeContext?.base64Encoder??Q.toBase64)(t);return}if(o.isListSchema()&&Array.isArray(t)){let e="";for(const n of t){this.write([o.getValueSchema(),o.getMergedTraits()],n);const t=this.flush();const i=o.getValueSchema().isTimestampSchema()?t:h.quoteHeader(t);if(e!==""){e+=", "}e+=i}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(t,null,2);break;case"string":const e=o.getMergedTraits().mediaType;let n=t;if(e){const t=e==="application/json"||e.endsWith("+json");if(t){n=h.LazyJsonString.from(n)}if(o.getMergedTraits().httpHeader){this.stringBuffer=(this.serdeContext?.base64Encoder??Q.toBase64)(n.toString());return}}this.stringBuffer=t;break;default:if(o.isIdempotencyToken()){this.stringBuffer=h.generateIdempotencyToken()}else{this.stringBuffer=String(t)}}}flush(){const e=this.stringBuffer;this.stringBuffer="";return e}}class HttpInterceptingShapeSerializer{codecSerializer;stringSerializer;buffer;constructor(e,t,o=new ToStringShapeSerializer(t)){this.codecSerializer=e;this.stringSerializer=o}setSerdeContext(e){this.codecSerializer.setSerdeContext(e);this.stringSerializer.setSerdeContext(e)}write(e,t){const o=i.NormalizedSchema.of(e);const n=o.getMergedTraits();if(n.httpHeader||n.httpLabel||n.httpQuery){this.stringSerializer.write(o,t);this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(o,t)}flush(){if(this.buffer!==undefined){const e=this.buffer;this.buffer=undefined;return e}return this.codecSerializer.flush()}}t.FromStringShapeDeserializer=FromStringShapeDeserializer;t.HttpBindingProtocol=HttpBindingProtocol;t.HttpInterceptingShapeDeserializer=HttpInterceptingShapeDeserializer;t.HttpInterceptingShapeSerializer=HttpInterceptingShapeSerializer;t.HttpProtocol=HttpProtocol;t.RequestBuilder=RequestBuilder;t.RpcProtocol=RpcProtocol;t.SerdeContext=SerdeContext;t.ToStringShapeSerializer=ToStringShapeSerializer;t.collectBody=collectBody;t.determineTimestampFormat=determineTimestampFormat;t.extendedEncodeURIComponent=extendedEncodeURIComponent;t.requestBuilder=requestBuilder;t.resolvedPath=resolvedPath},6890:(e,t,o)=>{"use strict";var n=o(2356);var i=o(6324);const deref=e=>{if(typeof e==="function"){return e()}return e};const operation=(e,t,o,n,i)=>({name:t,namespace:e,traits:o,input:n,output:i});const schemaDeserializationMiddleware=e=>(t,o)=>async h=>{const{response:p}=await t(h);const{operationSchema:Q}=i.getSmithyContext(o);const[,D,T,_,O,V]=Q??[];try{const t=await e.protocol.deserializeResponse(operation(D,T,_,O,V),{...e,...o},p);return{response:p,output:t}}catch(e){Object.defineProperty(e,"$response",{value:p,enumerable:false,writable:false,configurable:false});if(!("$metadata"in e)){const t=`Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;try{e.message+="\n "+t}catch(e){if(!o.logger||o.logger?.constructor?.name==="NoOpLogger"){console.warn(t)}else{o.logger?.warn?.(t)}}if(typeof e.$responseBodyText!=="undefined"){if(e.$response){e.$response.body=e.$responseBodyText}}try{if(n.HttpResponse.isInstance(p)){const{headers:t={}}=p;const o=Object.entries(t);e.$metadata={httpStatusCode:p.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,o),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,o),cfId:findHeader(/^x-[\w-]+-cf-id$/,o)}}}catch(e){}}throw e}};const findHeader=(e,t)=>(t.find((([t])=>t.match(e)))||[void 0,void 0])[1];const schemaSerializationMiddleware=e=>(t,o)=>async n=>{const{operationSchema:h}=i.getSmithyContext(o);const[,p,Q,D,T,_]=h??[];const O=o.endpointV2?.url&&e.urlParser?async()=>e.urlParser(o.endpointV2.url):e.endpoint;const V=await e.protocol.serializeRequest(operation(p,Q,D,T,_),n.input,{...e,...o,endpoint:O});return t({...n,request:V})};const h={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:true};const p={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:true};function getSchemaSerdePlugin(e){return{applyToStack:t=>{t.add(schemaSerializationMiddleware(e),p);t.add(schemaDeserializationMiddleware(e),h);e.protocol.setSerdeContext(e)}}}class Schema{name;namespace;traits;static assign(e,t){const o=Object.assign(e,t);return o}static[Symbol.hasInstance](e){const t=this.prototype.isPrototypeOf(e);if(!t&&typeof e==="object"&&e!==null){const t=e;return t.symbol===this.symbol}return t}getName(){return this.namespace+"#"+this.name}}class ListSchema extends Schema{static symbol=Symbol.for("@smithy/lis");name;traits;valueSchema;symbol=ListSchema.symbol}const list=(e,t,o,n)=>Schema.assign(new ListSchema,{name:t,namespace:e,traits:o,valueSchema:n});class MapSchema extends Schema{static symbol=Symbol.for("@smithy/map");name;traits;keySchema;valueSchema;symbol=MapSchema.symbol}const map=(e,t,o,n,i)=>Schema.assign(new MapSchema,{name:t,namespace:e,traits:o,keySchema:n,valueSchema:i});class OperationSchema extends Schema{static symbol=Symbol.for("@smithy/ope");name;traits;input;output;symbol=OperationSchema.symbol}const op=(e,t,o,n,i)=>Schema.assign(new OperationSchema,{name:t,namespace:e,traits:o,input:n,output:i});class StructureSchema extends Schema{static symbol=Symbol.for("@smithy/str");name;traits;memberNames;memberList;symbol=StructureSchema.symbol}const struct=(e,t,o,n,i)=>Schema.assign(new StructureSchema,{name:t,namespace:e,traits:o,memberNames:n,memberList:i});class ErrorSchema extends StructureSchema{static symbol=Symbol.for("@smithy/err");ctor;symbol=ErrorSchema.symbol}const error=(e,t,o,n,i,h)=>Schema.assign(new ErrorSchema,{name:t,namespace:e,traits:o,memberNames:n,memberList:i,ctor:null});function translateTraits(e){if(typeof e==="object"){return e}e=e|0;const t={};let o=0;for(const n of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"]){if((e>>o++&1)===1){t[n]=1}}return t}const Q={it:Symbol.for("@smithy/nor-struct-it")};class NormalizedSchema{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=NormalizedSchema.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,t){this.ref=e;this.memberName=t;const o=[];let n=e;let i=e;this._isMemberSchema=false;while(isMemberSchema(n)){o.push(n[1]);n=n[0];i=deref(n);this._isMemberSchema=true}if(o.length>0){this.memberTraits={};for(let e=o.length-1;e>=0;--e){const t=o[e];Object.assign(this.memberTraits,translateTraits(t))}}else{this.memberTraits=0}if(i instanceof NormalizedSchema){const e=this.memberTraits;Object.assign(this,i);this.memberTraits=Object.assign({},e,i.getMemberTraits(),this.getMemberTraits());this.normalizedTraits=void 0;this.memberName=t??i.memberName;return}this.schema=deref(i);if(isStaticSchema(this.schema)){this.name=`${this.schema[1]}#${this.schema[2]}`;this.traits=this.schema[3]}else{this.name=this.memberName??String(i);this.traits=0}if(this._isMemberSchema&&!t){throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`)}}static[Symbol.hasInstance](e){const t=this.prototype.isPrototypeOf(e);if(!t&&typeof e==="object"&&e!==null){const t=e;return t.symbol===this.symbol}return t}static of(e){const t=deref(e);if(t instanceof NormalizedSchema){return t}if(isMemberSchema(t)){const[o,n]=t;if(o instanceof NormalizedSchema){Object.assign(o.getMergedTraits(),translateTraits(n));return o}throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new NormalizedSchema(t)}getSchema(){const e=this.schema;if(Array.isArray(e)&&e[0]===0){return e[4]}return e}getName(e=false){const{name:t}=this;const o=!e&&t&&t.includes("#");return o?t.split("#")[1]:t||undefined}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){const e=this.getSchema();return typeof e==="number"?e>=64&&e<128:e[0]===1}isMapSchema(){const e=this.getSchema();return typeof e==="number"?e>=128&&e<=255:e[0]===2}isStructSchema(){const e=this.getSchema();if(typeof e!=="object"){return false}const t=e[0];return t===3||t===-3||t===4}isUnionSchema(){const e=this.getSchema();if(typeof e!=="object"){return false}return e[0]===4}isBlobSchema(){const e=this.getSchema();return e===21||e===42}isTimestampSchema(){const e=this.getSchema();return typeof e==="number"&&e>=4&&e<=7}isUnitSchema(){return this.getSchema()==="unit"}isDocumentSchema(){return this.getSchema()===15}isStringSchema(){return this.getSchema()===0}isBooleanSchema(){return this.getSchema()===2}isNumericSchema(){return this.getSchema()===1}isBigIntegerSchema(){return this.getSchema()===17}isBigDecimalSchema(){return this.getSchema()===19}isStreaming(){const{streaming:e}=this.getMergedTraits();return!!e||this.getSchema()===42}isIdempotencyToken(){return!!this.getMergedTraits().idempotencyToken}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return translateTraits(this.memberTraits)}getOwnTraits(){return translateTraits(this.traits)}getKeySchema(){const[e,t]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!t){throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`)}const o=this.getSchema();const n=e?15:o[4]??0;return member([n,0],"key")}getValueSchema(){const e=this.getSchema();const[t,o,n]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()];const i=typeof e==="number"?63&e:e&&typeof e==="object"&&(o||n)?e[3+e[0]]:t?15:void 0;if(i!=null){return member([i,0],o?"value":"member")}throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`)}getMemberSchema(e){const t=this.getSchema();if(this.isStructSchema()&&t[4].includes(e)){const o=t[4].indexOf(e);const n=t[5][o];return member(isMemberSchema(n)?n:[n,0],e)}if(this.isDocumentSchema()){return member([15,0],e)}throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${e}.`)}getMemberSchemas(){const e={};try{for(const[t,o]of this.structIterator()){e[t]=o}}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(const[e,t]of this.structIterator()){if(t.isStreaming()&&t.isStructSchema()){return e}}}return""}*structIterator(){if(this.isUnitSchema()){return}if(!this.isStructSchema()){throw new Error("@smithy/core/schema - cannot iterate non-struct schema.")}const e=this.getSchema();const t=e[4].length;let o=e[Q.it];if(o&&t===o.length){yield*o;return}o=Array(t);for(let n=0;n<t;++n){const t=e[4][n];const i=member([e[5][n],0],t);yield o[n]=[t,i]}e[Q.it]=o}}function member(e,t){if(e instanceof NormalizedSchema){return Object.assign(e,{memberName:t,_isMemberSchema:true})}const o=NormalizedSchema;return new o(e,t)}const isMemberSchema=e=>Array.isArray(e)&&e.length===2;const isStaticSchema=e=>Array.isArray(e)&&e.length>=5;class SimpleSchema extends Schema{static symbol=Symbol.for("@smithy/sim");name;schemaRef;traits;symbol=SimpleSchema.symbol}const sim=(e,t,o,n)=>Schema.assign(new SimpleSchema,{name:t,namespace:e,traits:n,schemaRef:o});const simAdapter=(e,t,o,n)=>Schema.assign(new SimpleSchema,{name:t,namespace:e,traits:o,schemaRef:n});const D={BLOB:21,STREAMING_BLOB:42,BOOLEAN:2,STRING:0,NUMERIC:1,BIG_INTEGER:17,BIG_DECIMAL:19,DOCUMENT:15,TIMESTAMP_DEFAULT:4,TIMESTAMP_DATE_TIME:5,TIMESTAMP_HTTP_DATE:6,TIMESTAMP_EPOCH_SECONDS:7,LIST_MODIFIER:64,MAP_MODIFIER:128};class TypeRegistry{namespace;schemas;exceptions;static registries=new Map;constructor(e,t=new Map,o=new Map){this.namespace=e;this.schemas=t;this.exceptions=o}static for(e){if(!TypeRegistry.registries.has(e)){TypeRegistry.registries.set(e,new TypeRegistry(e))}return TypeRegistry.registries.get(e)}copyFrom(e){const{schemas:t,exceptions:o}=this;for(const[o,n]of e.schemas){if(!t.has(o)){t.set(o,n)}}for(const[t,n]of e.exceptions){if(!o.has(t)){o.set(t,n)}}}register(e,t){const o=this.normalizeShapeId(e);for(const e of[this,TypeRegistry.for(o.split("#")[0])]){e.schemas.set(o,t)}}getSchema(e){const t=this.normalizeShapeId(e);if(!this.schemas.has(t)){throw new Error(`@smithy/core/schema - schema not found for ${t}`)}return this.schemas.get(t)}registerError(e,t){const o=e;const n=o[1];for(const e of[this,TypeRegistry.for(n)]){e.schemas.set(n+"#"+o[2],o);e.exceptions.set(o,t)}}getErrorCtor(e){const t=e;if(this.exceptions.has(t)){return this.exceptions.get(t)}const o=TypeRegistry.for(t[1]);return o.exceptions.get(t)}getBaseException(){for(const e of this.exceptions.keys()){if(Array.isArray(e)){const[,t,o]=e;const n=t+"#"+o;if(n.startsWith("smithy.ts.sdk.synthetic.")&&n.endsWith("ServiceException")){return e}}}return undefined}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear();this.exceptions.clear()}normalizeShapeId(e){if(e.includes("#")){return e}return this.namespace+"#"+e}}t.ErrorSchema=ErrorSchema;t.ListSchema=ListSchema;t.MapSchema=MapSchema;t.NormalizedSchema=NormalizedSchema;t.OperationSchema=OperationSchema;t.SCHEMA=D;t.Schema=Schema;t.SimpleSchema=SimpleSchema;t.StructureSchema=StructureSchema;t.TypeRegistry=TypeRegistry;t.deref=deref;t.deserializerMiddlewareOption=h;t.error=error;t.getSchemaSerdePlugin=getSchemaSerdePlugin;t.isStaticSchema=isStaticSchema;t.list=list;t.map=map;t.op=op;t.operation=operation;t.serializerMiddlewareOption=p;t.sim=sim;t.simAdapter=simAdapter;t.struct=struct;t.translateTraits=translateTraits},2430:(e,t,o)=>{"use strict";var n=o(266);const copyDocumentWithTransform=(e,t,o=e=>e)=>e;const parseBoolean=e=>{switch(e){case"true":return true;case"false":return false;default:throw new Error(`Unable to parse boolean value "${e}"`)}};const expectBoolean=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="number"){if(e===0||e===1){O.warn(stackTraceWarning(`Expected boolean, got ${typeof e}: ${e}`))}if(e===0){return false}if(e===1){return true}}if(typeof e==="string"){const t=e.toLowerCase();if(t==="false"||t==="true"){O.warn(stackTraceWarning(`Expected boolean, got ${typeof e}: ${e}`))}if(t==="false"){return false}if(t==="true"){return true}}if(typeof e==="boolean"){return e}throw new TypeError(`Expected boolean, got ${typeof e}: ${e}`)};const expectNumber=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="string"){const t=parseFloat(e);if(!Number.isNaN(t)){if(String(t)!==String(e)){O.warn(stackTraceWarning(`Expected number but observed string: ${e}`))}return t}}if(typeof e==="number"){return e}throw new TypeError(`Expected number, got ${typeof e}: ${e}`)};const i=Math.ceil(2**127*(2-2**-23));const expectFloat32=e=>{const t=expectNumber(e);if(t!==undefined&&!Number.isNaN(t)&&t!==Infinity&&t!==-Infinity){if(Math.abs(t)>i){throw new TypeError(`Expected 32-bit float, got ${e}`)}}return t};const expectLong=e=>{if(e===null||e===undefined){return undefined}if(Number.isInteger(e)&&!Number.isNaN(e)){return e}throw new TypeError(`Expected integer, got ${typeof e}: ${e}`)};const h=expectLong;const expectInt32=e=>expectSizedInt(e,32);const expectShort=e=>expectSizedInt(e,16);const expectByte=e=>expectSizedInt(e,8);const expectSizedInt=(e,t)=>{const o=expectLong(e);if(o!==undefined&&castInt(o,t)!==o){throw new TypeError(`Expected ${t}-bit integer, got ${e}`)}return o};const castInt=(e,t)=>{switch(t){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}};const expectNonNull=(e,t)=>{if(e===null||e===undefined){if(t){throw new TypeError(`Expected a non-null value for ${t}`)}throw new TypeError("Expected a non-null value")}return e};const expectObject=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="object"&&!Array.isArray(e)){return e}const t=Array.isArray(e)?"array":typeof e;throw new TypeError(`Expected object, got ${t}: ${e}`)};const expectString=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="string"){return e}if(["boolean","number","bigint"].includes(typeof e)){O.warn(stackTraceWarning(`Expected string, got ${typeof e}: ${e}`));return String(e)}throw new TypeError(`Expected string, got ${typeof e}: ${e}`)};const expectUnion=e=>{if(e===null||e===undefined){return undefined}const t=expectObject(e);const o=Object.entries(t).filter((([,e])=>e!=null)).map((([e])=>e));if(o.length===0){throw new TypeError(`Unions must have exactly one non-null member. None were found.`)}if(o.length>1){throw new TypeError(`Unions must have exactly one non-null member. Keys ${o} were not null.`)}return t};const strictParseDouble=e=>{if(typeof e=="string"){return expectNumber(parseNumber(e))}return expectNumber(e)};const p=strictParseDouble;const strictParseFloat32=e=>{if(typeof e=="string"){return expectFloat32(parseNumber(e))}return expectFloat32(e)};const Q=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g;const parseNumber=e=>{const t=e.match(Q);if(t===null||t[0].length!==e.length){throw new TypeError(`Expected real number, got implicit NaN`)}return parseFloat(e)};const limitedParseDouble=e=>{if(typeof e=="string"){return parseFloatString(e)}return expectNumber(e)};const D=limitedParseDouble;const T=limitedParseDouble;const limitedParseFloat32=e=>{if(typeof e=="string"){return parseFloatString(e)}return expectFloat32(e)};const parseFloatString=e=>{switch(e){case"NaN":return NaN;case"Infinity":return Infinity;case"-Infinity":return-Infinity;default:throw new Error(`Unable to parse float value: ${e}`)}};const strictParseLong=e=>{if(typeof e==="string"){return expectLong(parseNumber(e))}return expectLong(e)};const _=strictParseLong;const strictParseInt32=e=>{if(typeof e==="string"){return expectInt32(parseNumber(e))}return expectInt32(e)};const strictParseShort=e=>{if(typeof e==="string"){return expectShort(parseNumber(e))}return expectShort(e)};const strictParseByte=e=>{if(typeof e==="string"){return expectByte(parseNumber(e))}return expectByte(e)};const stackTraceWarning=e=>String(new TypeError(e).stack||e).split("\n").slice(0,5).filter((e=>!e.includes("stackTraceWarning"))).join("\n");const O={warn:console.warn};const V=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dateToUtcString(e){const t=e.getUTCFullYear();const o=e.getUTCMonth();const n=e.getUTCDay();const i=e.getUTCDate();const h=e.getUTCHours();const p=e.getUTCMinutes();const Q=e.getUTCSeconds();const D=i<10?`0${i}`:`${i}`;const T=h<10?`0${h}`:`${h}`;const _=p<10?`0${p}`:`${p}`;const O=Q<10?`0${Q}`:`${Q}`;return`${V[n]}, ${D} ${j[o]} ${t} ${T}:${_}:${O} GMT`}const $=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/);const parseRfc3339DateTime=e=>{if(e===null||e===undefined){return undefined}if(typeof e!=="string"){throw new TypeError("RFC-3339 date-times must be expressed as strings")}const t=$.exec(e);if(!t){throw new TypeError("Invalid RFC-3339 date-time value")}const[o,n,i,h,p,Q,D,T]=t;const _=strictParseShort(stripLeadingZeroes(n));const O=parseDateValue(i,"month",1,12);const V=parseDateValue(h,"day",1,31);return buildDate(_,O,V,{hours:p,minutes:Q,seconds:D,fractionalMilliseconds:T})};const ee=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/);const parseRfc3339DateTimeWithOffset=e=>{if(e===null||e===undefined){return undefined}if(typeof e!=="string"){throw new TypeError("RFC-3339 date-times must be expressed as strings")}const t=ee.exec(e);if(!t){throw new TypeError("Invalid RFC-3339 date-time value")}const[o,n,i,h,p,Q,D,T,_]=t;const O=strictParseShort(stripLeadingZeroes(n));const V=parseDateValue(i,"month",1,12);const j=parseDateValue(h,"day",1,31);const $=buildDate(O,V,j,{hours:p,minutes:Q,seconds:D,fractionalMilliseconds:T});if(_.toUpperCase()!="Z"){$.setTime($.getTime()-parseOffsetToMilliseconds(_))}return $};const te=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/);const re=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/);const se=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/);const parseRfc7231DateTime=e=>{if(e===null||e===undefined){return undefined}if(typeof e!=="string"){throw new TypeError("RFC-7231 date-times must be expressed as strings")}let t=te.exec(e);if(t){const[e,o,n,i,h,p,Q,D]=t;return buildDate(strictParseShort(stripLeadingZeroes(i)),parseMonthByShortName(n),parseDateValue(o,"day",1,31),{hours:h,minutes:p,seconds:Q,fractionalMilliseconds:D})}t=re.exec(e);if(t){const[e,o,n,i,h,p,Q,D]=t;return adjustRfc850Year(buildDate(parseTwoDigitYear(i),parseMonthByShortName(n),parseDateValue(o,"day",1,31),{hours:h,minutes:p,seconds:Q,fractionalMilliseconds:D}))}t=se.exec(e);if(t){const[e,o,n,i,h,p,Q,D]=t;return buildDate(strictParseShort(stripLeadingZeroes(D)),parseMonthByShortName(o),parseDateValue(n.trimLeft(),"day",1,31),{hours:i,minutes:h,seconds:p,fractionalMilliseconds:Q})}throw new TypeError("Invalid RFC-7231 date-time value")};const parseEpochTimestamp=e=>{if(e===null||e===undefined){return undefined}let t;if(typeof e==="number"){t=e}else if(typeof e==="string"){t=strictParseDouble(e)}else if(typeof e==="object"&&e.tag===1){t=e.value}else{throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation")}if(Number.isNaN(t)||t===Infinity||t===-Infinity){throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics")}return new Date(Math.round(t*1e3))};const buildDate=(e,t,o,n)=>{const i=t-1;validateDayOfMonth(e,i,o);return new Date(Date.UTC(e,i,o,parseDateValue(n.hours,"hour",0,23),parseDateValue(n.minutes,"minute",0,59),parseDateValue(n.seconds,"seconds",0,60),parseMilliseconds(n.fractionalMilliseconds)))};const parseTwoDigitYear=e=>{const t=(new Date).getUTCFullYear();const o=Math.floor(t/100)*100+strictParseShort(stripLeadingZeroes(e));if(o<t){return o+100}return o};const oe=50*365*24*60*60*1e3;const adjustRfc850Year=e=>{if(e.getTime()-(new Date).getTime()>oe){return new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}return e};const parseMonthByShortName=e=>{const t=j.indexOf(e);if(t<0){throw new TypeError(`Invalid month: ${e}`)}return t+1};const ne=[31,28,31,30,31,30,31,31,30,31,30,31];const validateDayOfMonth=(e,t,o)=>{let n=ne[t];if(t===1&&isLeapYear(e)){n=29}if(o>n){throw new TypeError(`Invalid day for ${j[t]} in ${e}: ${o}`)}};const isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0);const parseDateValue=(e,t,o,n)=>{const i=strictParseByte(stripLeadingZeroes(e));if(i<o||i>n){throw new TypeError(`${t} must be between ${o} and ${n}, inclusive`)}return i};const parseMilliseconds=e=>{if(e===null||e===undefined){return 0}return strictParseFloat32("0."+e)*1e3};const parseOffsetToMilliseconds=e=>{const t=e[0];let o=1;if(t=="+"){o=1}else if(t=="-"){o=-1}else{throw new TypeError(`Offset direction, ${t}, must be "+" or "-"`)}const n=Number(e.substring(1,3));const i=Number(e.substring(4,6));return o*(n*60+i)*60*1e3};const stripLeadingZeroes=e=>{let t=0;while(t<e.length-1&&e.charAt(t)==="0"){t++}if(t===0){return e}return e.slice(t)};const ie=function LazyJsonString(e){const t=Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}});return t};ie.from=e=>{if(e&&typeof e==="object"&&(e instanceof ie||"deserializeJSON"in e)){return e}else if(typeof e==="string"||Object.getPrototypeOf(e)===String.prototype){return ie(String(e))}return ie(JSON.stringify(e))};ie.fromObject=ie.from;function quoteHeader(e){if(e.includes(",")||e.includes('"')){e=`"${e.replace(/"/g,'\\"')}"`}return e}const Ae=`(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;const ae=`(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;const ce=`(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`;const le=`(\\d?\\d)`;const ue=`(\\d{4})`;const ge=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/);const de=new RegExp(`^${Ae}, ${le} ${ae} ${ue} ${ce} GMT$`);const he=new RegExp(`^${Ae}, ${le}-${ae}-(\\d\\d) ${ce} GMT$`);const pe=new RegExp(`^${Ae} ${ae} ( [1-9]|\\d\\d) ${ce} ${ue}$`);const fe=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const _parseEpochTimestamp=e=>{if(e==null){return void 0}let t=NaN;if(typeof e==="number"){t=e}else if(typeof e==="string"){if(!/^-?\d*\.?\d+$/.test(e)){throw new TypeError(`parseEpochTimestamp - numeric string invalid.`)}t=Number.parseFloat(e)}else if(typeof e==="object"&&e.tag===1){t=e.value}if(isNaN(t)||Math.abs(t)===Infinity){throw new TypeError("Epoch timestamps must be valid finite numbers.")}return new Date(Math.round(t*1e3))};const _parseRfc3339DateTimeWithOffset=e=>{if(e==null){return void 0}if(typeof e!=="string"){throw new TypeError("RFC3339 timestamps must be strings")}const t=ge.exec(e);if(!t){throw new TypeError(`Invalid RFC3339 timestamp format ${e}`)}const[,o,n,i,h,p,Q,,D,T]=t;range(n,1,12);range(i,1,31);range(h,0,23);range(p,0,59);range(Q,0,60);const _=new Date(Date.UTC(Number(o),Number(n)-1,Number(i),Number(h),Number(p),Number(Q),Number(D)?Math.round(parseFloat(`0.${D}`)*1e3):0));_.setUTCFullYear(Number(o));if(T.toUpperCase()!="Z"){const[,e,t,o]=/([+-])(\d\d):(\d\d)/.exec(T)||[void 0,"+",0,0];const n=e==="-"?1:-1;_.setTime(_.getTime()+n*(Number(t)*60*60*1e3+Number(o)*60*1e3))}return _};const _parseRfc7231DateTime=e=>{if(e==null){return void 0}if(typeof e!=="string"){throw new TypeError("RFC7231 timestamps must be strings.")}let t;let o;let n;let i;let h;let p;let Q;let D;if(D=de.exec(e)){[,t,o,n,i,h,p,Q]=D}else if(D=he.exec(e)){[,t,o,n,i,h,p,Q]=D;n=(Number(n)+1900).toString()}else if(D=pe.exec(e)){[,o,t,i,h,p,Q,n]=D}if(n&&p){const e=Date.UTC(Number(n),fe.indexOf(o),Number(t),Number(i),Number(h),Number(p),Q?Math.round(parseFloat(`0.${Q}`)*1e3):0);range(t,1,31);range(i,0,23);range(h,0,59);range(p,0,60);const D=new Date(e);D.setUTCFullYear(Number(n));return D}throw new TypeError(`Invalid RFC7231 date-time value ${e}.`)};function range(e,t,o){const n=Number(e);if(n<t||n>o){throw new Error(`Value ${n} out of range [${t}, ${o}]`)}}function splitEvery(e,t,o){if(o<=0||!Number.isInteger(o)){throw new Error("Invalid number of delimiters ("+o+") for splitEvery.")}const n=e.split(t);if(o===1){return n}const i=[];let h="";for(let e=0;e<n.length;e++){if(h===""){h=n[e]}else{h+=t+n[e]}if((e+1)%o===0){i.push(h);h=""}}if(h!==""){i.push(h)}return i}const splitHeader=e=>{const t=e.length;const o=[];let n=false;let i=undefined;let h=0;for(let p=0;p<t;++p){const t=e[p];switch(t){case`"`:if(i!=="\\"){n=!n}break;case",":if(!n){o.push(e.slice(h,p));h=p+1}break}i=t}o.push(e.slice(h));return o.map((e=>{e=e.trim();const t=e.length;if(t<2){return e}if(e[0]===`"`&&e[t-1]===`"`){e=e.slice(1,t-1)}return e.replace(/\\"/g,'"')}))};const Ee=/^-?\d*(\.\d+)?$/;class NumericValue{string;type;constructor(e,t){this.string=e;this.type=t;if(!Ee.test(e)){throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".`)}}toString(){return this.string}static[Symbol.hasInstance](e){if(!e||typeof e!=="object"){return false}const t=e;return NumericValue.prototype.isPrototypeOf(e)||t.type==="bigDecimal"&&Ee.test(t.string)}}function nv(e){return new NumericValue(String(e),"bigDecimal")}t.generateIdempotencyToken=n.v4;t.LazyJsonString=ie;t.NumericValue=NumericValue;t._parseEpochTimestamp=_parseEpochTimestamp;t._parseRfc3339DateTimeWithOffset=_parseRfc3339DateTimeWithOffset;t._parseRfc7231DateTime=_parseRfc7231DateTime;t.copyDocumentWithTransform=copyDocumentWithTransform;t.dateToUtcString=dateToUtcString;t.expectBoolean=expectBoolean;t.expectByte=expectByte;t.expectFloat32=expectFloat32;t.expectInt=h;t.expectInt32=expectInt32;t.expectLong=expectLong;t.expectNonNull=expectNonNull;t.expectNumber=expectNumber;t.expectObject=expectObject;t.expectShort=expectShort;t.expectString=expectString;t.expectUnion=expectUnion;t.handleFloat=D;t.limitedParseDouble=limitedParseDouble;t.limitedParseFloat=T;t.limitedParseFloat32=limitedParseFloat32;t.logger=O;t.nv=nv;t.parseBoolean=parseBoolean;t.parseEpochTimestamp=parseEpochTimestamp;t.parseRfc3339DateTime=parseRfc3339DateTime;t.parseRfc3339DateTimeWithOffset=parseRfc3339DateTimeWithOffset;t.parseRfc7231DateTime=parseRfc7231DateTime;t.quoteHeader=quoteHeader;t.splitEvery=splitEvery;t.splitHeader=splitHeader;t.strictParseByte=strictParseByte;t.strictParseDouble=strictParseDouble;t.strictParseFloat=p;t.strictParseFloat32=strictParseFloat32;t.strictParseInt=_;t.strictParseInt32=strictParseInt32;t.strictParseLong=strictParseLong;t.strictParseShort=strictParseShort},7809:(e,t,o)=>{"use strict";var n=o(2356);var i=o(8256);var h=o(8385);function createRequest(e,t){return new Request(e,t)}function requestTimeout(e=0){return new Promise(((t,o)=>{if(e){setTimeout((()=>{const t=new Error(`Request did not complete within ${e} ms`);t.name="TimeoutError";o(t)}),e)}}))}const p={supported:undefined};class FetchHttpHandler{config;configProvider;static create(e){if(typeof e?.handle==="function"){return e}return new FetchHttpHandler(e)}constructor(e){if(typeof e==="function"){this.configProvider=e().then((e=>e||{}))}else{this.config=e??{};this.configProvider=Promise.resolve(this.config)}if(p.supported===undefined){p.supported=Boolean(typeof Request!=="undefined"&&"keepalive"in createRequest("https://[::1]"))}}destroy(){}async handle(e,{abortSignal:t,requestTimeout:o}={}){if(!this.config){this.config=await this.configProvider}const h=o??this.config.requestTimeout;const Q=this.config.keepAlive===true;const D=this.config.credentials;if(t?.aborted){const e=buildAbortError(t);return Promise.reject(e)}let T=e.path;const _=i.buildQueryString(e.query||{});if(_){T+=`?${_}`}if(e.fragment){T+=`#${e.fragment}`}let O="";if(e.username!=null||e.password!=null){const t=e.username??"";const o=e.password??"";O=`${t}:${o}@`}const{port:V,method:j}=e;const $=`${e.protocol}//${O}${e.hostname}${V?`:${V}`:""}${T}`;const ee=j==="GET"||j==="HEAD"?undefined:e.body;const te={body:ee,headers:new Headers(e.headers),method:j,credentials:D};if(this.config?.cache){te.cache=this.config.cache}if(ee){te.duplex="half"}if(typeof AbortController!=="undefined"){te.signal=t}if(p.supported){te.keepalive=Q}if(typeof this.config.requestInit==="function"){Object.assign(te,this.config.requestInit(e))}let removeSignalEventListener=()=>{};const re=createRequest($,te);const se=[fetch(re).then((e=>{const t=e.headers;const o={};for(const e of t.entries()){o[e[0]]=e[1]}const i=e.body!=undefined;if(!i){return e.blob().then((t=>({response:new n.HttpResponse({headers:o,reason:e.statusText,statusCode:e.status,body:t})})))}return{response:new n.HttpResponse({headers:o,reason:e.statusText,statusCode:e.status,body:e.body})}})),requestTimeout(h)];if(t){se.push(new Promise(((e,o)=>{const onAbort=()=>{const e=buildAbortError(t);o(e)};if(typeof t.addEventListener==="function"){const e=t;e.addEventListener("abort",onAbort,{once:true});removeSignalEventListener=()=>e.removeEventListener("abort",onAbort)}else{t.onabort=onAbort}})))}return Promise.race(se).finally(removeSignalEventListener)}updateHttpClientConfig(e,t){this.config=undefined;this.configProvider=this.configProvider.then((o=>{o[e]=t;return o}))}httpHandlerConfigs(){return this.config??{}}}function buildAbortError(e){const t=e&&typeof e==="object"&&"reason"in e?e.reason:undefined;if(t){if(t instanceof Error){return t}const e=new Error(String(t));e.name="AbortError";return e}const o=new Error("Request aborted");o.name="AbortError";return o}const streamCollector=async e=>{if(typeof Blob==="function"&&e instanceof Blob||e.constructor?.name==="Blob"){if(Blob.prototype.arrayBuffer!==undefined){return new Uint8Array(await e.arrayBuffer())}return collectBlob(e)}return collectStream(e)};async function collectBlob(e){const t=await readToBase64(e);const o=h.fromBase64(t);return new Uint8Array(o)}async function collectStream(e){const t=[];const o=e.getReader();let n=false;let i=0;while(!n){const{done:e,value:h}=await o.read();if(h){t.push(h);i+=h.length}n=e}const h=new Uint8Array(i);let p=0;for(const e of t){h.set(e,p);p+=e.length}return h}function readToBase64(e){return new Promise(((t,o)=>{const n=new FileReader;n.onloadend=()=>{if(n.readyState!==2){return o(new Error("Reader aborted too early"))}const e=n.result??"";const i=e.indexOf(",");const h=i>-1?i+1:e.length;t(e.substring(h))};n.onabort=()=>o(new Error("Read aborted"));n.onerror=()=>o(n.error);n.readAsDataURL(e)}))}t.FetchHttpHandler=FetchHttpHandler;t.keepAliveSupport=p;t.streamCollector=streamCollector},5092:(e,t,o)=>{"use strict";var n=o(4151);var i=o(1577);var h=o(181);var p=o(6982);class Hash{algorithmIdentifier;secret;hash;constructor(e,t){this.algorithmIdentifier=e;this.secret=t;this.reset()}update(e,t){this.hash.update(i.toUint8Array(castSourceData(e,t)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?p.createHmac(this.algorithmIdentifier,castSourceData(this.secret)):p.createHash(this.algorithmIdentifier)}}function castSourceData(e,t){if(h.Buffer.isBuffer(e)){return e}if(typeof e==="string"){return n.fromString(e,t)}if(ArrayBuffer.isView(e)){return n.fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength)}return n.fromArrayBuffer(e)}t.Hash=Hash},6130:(e,t)=>{"use strict";const isArrayBuffer=e=>typeof ArrayBuffer==="function"&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)==="[object ArrayBuffer]";t.isArrayBuffer=isArrayBuffer},7212:(e,t,o)=>{"use strict";var n=o(2356);const i="content-length";function contentLengthMiddleware(e){return t=>async o=>{const h=o.request;if(n.HttpRequest.isInstance(h)){const{body:t,headers:o}=h;if(t&&Object.keys(o).map((e=>e.toLowerCase())).indexOf(i)===-1){try{const o=e(t);h.headers={...h.headers,[i]:String(o)}}catch(e){}}}return t({...o,request:h})}}const h={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:true};const getContentLengthPlugin=e=>({applyToStack:t=>{t.add(contentLengthMiddleware(e.bodyLengthChecker),h)}});t.contentLengthMiddleware=contentLengthMiddleware;t.contentLengthMiddlewareOptions=h;t.getContentLengthPlugin=getContentLengthPlugin},6041:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getEndpointFromConfig=void 0;const n=o(5704);const i=o(8008);const getEndpointFromConfig=async e=>(0,n.loadConfig)((0,i.getEndpointUrlConfig)(e??""))();t.getEndpointFromConfig=getEndpointFromConfig},8008:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getEndpointUrlConfig=void 0;const n=o(4964);const i="AWS_ENDPOINT_URL";const h="endpoint_url";const getEndpointUrlConfig=e=>({environmentVariableSelector:t=>{const o=e.split(" ").map((e=>e.toUpperCase()));const n=t[[i,...o].join("_")];if(n)return n;const h=t[i];if(h)return h;return undefined},configFileSelector:(t,o)=>{if(o&&t.services){const i=o[["services",t.services].join(n.CONFIG_PREFIX_SEPARATOR)];if(i){const t=e.split(" ").map((e=>e.toLowerCase()));const o=i[[t.join("_"),h].join(n.CONFIG_PREFIX_SEPARATOR)];if(o)return o}}const i=t[h];if(i)return i;return undefined},default:undefined});t.getEndpointUrlConfig=getEndpointUrlConfig},99:(e,t,o)=>{"use strict";var n=o(6041);var i=o(4494);var h=o(402);var p=o(6324);var Q=o(3255);const resolveParamsForS3=async e=>{const t=e?.Bucket||"";if(typeof e.Bucket==="string"){e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))}if(isArnBucketName(t)){if(e.ForcePathStyle===true){throw new Error("Path-style addressing cannot be used with ARN buckets")}}else if(!isDnsCompatibleBucketName(t)||t.indexOf(".")!==-1&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3){e.ForcePathStyle=true}if(e.DisableMultiRegionAccessPoints){e.disableMultiRegionAccessPoints=true;e.DisableMRAP=true}return e};const D=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;const T=/(\d+\.){3}\d+/;const _=/\.\./;const isDnsCompatibleBucketName=e=>D.test(e)&&!T.test(e)&&!_.test(e);const isArnBucketName=e=>{const[t,o,n,,,i]=e.split(":");const h=t==="arn"&&e.split(":").length>=6;const p=Boolean(h&&o&&n&&i);if(h&&!p){throw new Error(`Invalid ARN: ${e} was an invalid ARN.`)}return p};const createConfigValueProvider=(e,t,o,n=false)=>{const configProvider=async()=>{let i;if(n){const n=o.clientContextParams;const h=n?.[e];i=h??o[e]??o[t]}else{i=o[e]??o[t]}if(typeof i==="function"){return i()}return i};if(e==="credentialScope"||t==="CredentialScope"){return async()=>{const e=typeof o.credentials==="function"?await o.credentials():o.credentials;const t=e?.credentialScope??e?.CredentialScope;return t}}if(e==="accountId"||t==="AccountId"){return async()=>{const e=typeof o.credentials==="function"?await o.credentials():o.credentials;const t=e?.accountId??e?.AccountId;return t}}if(e==="endpoint"||t==="endpoint"){return async()=>{if(o.isCustomEndpoint===false){return undefined}const e=await configProvider();if(e&&typeof e==="object"){if("url"in e){return e.url.href}if("hostname"in e){const{protocol:t,hostname:o,port:n,path:i}=e;return`${t}//${o}${n?":"+n:""}${i}`}}return e}}return configProvider};const toEndpointV1=e=>{if(typeof e==="object"){if("url"in e){return i.parseUrl(e.url)}return e}return i.parseUrl(e)};const getEndpointFromInstructions=async(e,t,o,i)=>{if(!o.isCustomEndpoint){let e;if(o.serviceConfiguredEndpoint){e=await o.serviceConfiguredEndpoint()}else{e=await n.getEndpointFromConfig(o.serviceId)}if(e){o.endpoint=()=>Promise.resolve(toEndpointV1(e));o.isCustomEndpoint=true}}const h=await resolveParams(e,t,o);if(typeof o.endpointProvider!=="function"){throw new Error("config.endpointProvider is not set.")}const p=o.endpointProvider(h,i);return p};const resolveParams=async(e,t,o)=>{const n={};const i=t?.getEndpointParameterInstructions?.()||{};for(const[t,h]of Object.entries(i)){switch(h.type){case"staticContextParams":n[t]=h.value;break;case"contextParams":n[t]=e[h.name];break;case"clientContextParams":case"builtInParams":n[t]=await createConfigValueProvider(h.name,t,o,h.type!=="builtInParams")();break;case"operationContextParams":n[t]=h.get(e);break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(h))}}if(Object.keys(i).length===0){Object.assign(n,o)}if(String(o.serviceId).toLowerCase()==="s3"){await resolveParamsForS3(n)}return n};const endpointMiddleware=({config:e,instructions:t})=>(o,n)=>async i=>{if(e.isCustomEndpoint){h.setFeature(n,"ENDPOINT_OVERRIDE","N")}const Q=await getEndpointFromInstructions(i.input,{getEndpointParameterInstructions(){return t}},{...e},n);n.endpointV2=Q;n.authSchemes=Q.properties?.authSchemes;const D=n.authSchemes?.[0];if(D){n["signing_region"]=D.signingRegion;n["signing_service"]=D.signingName;const e=p.getSmithyContext(n);const t=e?.selectedHttpAuthScheme?.httpAuthOption;if(t){t.signingProperties=Object.assign(t.signingProperties||{},{signing_region:D.signingRegion,signingRegion:D.signingRegion,signing_service:D.signingName,signingName:D.signingName,signingRegionSet:D.signingRegionSet},D.properties)}}return o({...i})};const O={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:true,relation:"before",toMiddleware:Q.serializerMiddlewareOption.name};const getEndpointPlugin=(e,t)=>({applyToStack:o=>{o.addRelativeTo(endpointMiddleware({config:e,instructions:t}),O)}});const resolveEndpointConfig=e=>{const t=e.tls??true;const{endpoint:o,useDualstackEndpoint:i,useFipsEndpoint:h}=e;const Q=o!=null?async()=>toEndpointV1(await p.normalizeProvider(o)()):undefined;const D=!!o;const T=Object.assign(e,{endpoint:Q,tls:t,isCustomEndpoint:D,useDualstackEndpoint:p.normalizeProvider(i??false),useFipsEndpoint:p.normalizeProvider(h??false)});let _=undefined;T.serviceConfiguredEndpoint=async()=>{if(e.serviceId&&!_){_=n.getEndpointFromConfig(e.serviceId)}return _};return T};const resolveEndpointRequiredConfig=e=>{const{endpoint:t}=e;if(t===undefined){e.endpoint=async()=>{throw new Error("@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.")}}return e};t.endpointMiddleware=endpointMiddleware;t.endpointMiddlewareOptions=O;t.getEndpointFromInstructions=getEndpointFromInstructions;t.getEndpointPlugin=getEndpointPlugin;t.resolveEndpointConfig=resolveEndpointConfig;t.resolveEndpointRequiredConfig=resolveEndpointRequiredConfig;t.resolveParams=resolveParams;t.toEndpointV1=toEndpointV1},9618:(e,t,o)=>{"use strict";var n=o(5518);var i=o(2356);var h=o(2058);var p=o(266);var Q=o(6324);var D=o(1411);var T=o(9831);const getDefaultRetryQuota=(e,t)=>{const o=e;const i=n.NO_RETRY_INCREMENT;const h=n.RETRY_COST;const p=n.TIMEOUT_RETRY_COST;let Q=e;const getCapacityAmount=e=>e.name==="TimeoutError"?p:h;const hasRetryTokens=e=>getCapacityAmount(e)<=Q;const retrieveRetryTokens=e=>{if(!hasRetryTokens(e)){throw new Error("No retry token available")}const t=getCapacityAmount(e);Q-=t;return t};const releaseRetryTokens=e=>{Q+=e??i;Q=Math.min(Q,o)};return Object.freeze({hasRetryTokens:hasRetryTokens,retrieveRetryTokens:retrieveRetryTokens,releaseRetryTokens:releaseRetryTokens})};const defaultDelayDecider=(e,t)=>Math.floor(Math.min(n.MAXIMUM_RETRY_DELAY,Math.random()*2**t*e));const defaultRetryDecider=e=>{if(!e){return false}return h.isRetryableByTrait(e)||h.isClockSkewError(e)||h.isThrottlingError(e)||h.isTransientError(e)};const asSdkError=e=>{if(e instanceof Error)return e;if(e instanceof Object)return Object.assign(new Error,e);if(typeof e==="string")return new Error(e);return new Error(`AWS SDK error wrapper for ${e}`)};class StandardRetryStrategy{maxAttemptsProvider;retryDecider;delayDecider;retryQuota;mode=n.RETRY_MODES.STANDARD;constructor(e,t){this.maxAttemptsProvider=e;this.retryDecider=t?.retryDecider??defaultRetryDecider;this.delayDecider=t?.delayDecider??defaultDelayDecider;this.retryQuota=t?.retryQuota??getDefaultRetryQuota(n.INITIAL_RETRY_TOKENS)}shouldRetry(e,t,o){return t<o&&this.retryDecider(e)&&this.retryQuota.hasRetryTokens(e)}async getMaxAttempts(){let e;try{e=await this.maxAttemptsProvider()}catch(t){e=n.DEFAULT_MAX_ATTEMPTS}return e}async retry(e,t,o){let Q;let D=0;let T=0;const _=await this.getMaxAttempts();const{request:O}=t;if(i.HttpRequest.isInstance(O)){O.headers[n.INVOCATION_ID_HEADER]=p.v4()}while(true){try{if(i.HttpRequest.isInstance(O)){O.headers[n.REQUEST_HEADER]=`attempt=${D+1}; max=${_}`}if(o?.beforeRequest){await o.beforeRequest()}const{response:h,output:p}=await e(t);if(o?.afterRequest){o.afterRequest(h)}this.retryQuota.releaseRetryTokens(Q);p.$metadata.attempts=D+1;p.$metadata.totalRetryDelay=T;return{response:h,output:p}}catch(e){const t=asSdkError(e);D++;if(this.shouldRetry(t,D,_)){Q=this.retryQuota.retrieveRetryTokens(t);const e=this.delayDecider(h.isThrottlingError(t)?n.THROTTLING_RETRY_DELAY_BASE:n.DEFAULT_RETRY_DELAY_BASE,D);const o=getDelayFromRetryAfterHeader(t.$response);const i=Math.max(o||0,e);T+=i;await new Promise((e=>setTimeout(e,i)));continue}if(!t.$metadata){t.$metadata={}}t.$metadata.attempts=D;t.$metadata.totalRetryDelay=T;throw t}}}}const getDelayFromRetryAfterHeader=e=>{if(!i.HttpResponse.isInstance(e))return;const t=Object.keys(e.headers).find((e=>e.toLowerCase()==="retry-after"));if(!t)return;const o=e.headers[t];const n=Number(o);if(!Number.isNaN(n))return n*1e3;const h=new Date(o);return h.getTime()-Date.now()};class AdaptiveRetryStrategy extends StandardRetryStrategy{rateLimiter;constructor(e,t){const{rateLimiter:o,...i}=t??{};super(e,i);this.rateLimiter=o??new n.DefaultRateLimiter;this.mode=n.RETRY_MODES.ADAPTIVE}async retry(e,t){return super.retry(e,t,{beforeRequest:async()=>this.rateLimiter.getSendToken(),afterRequest:e=>{this.rateLimiter.updateClientSendingRate(e)}})}}const _="AWS_MAX_ATTEMPTS";const O="max_attempts";const V={environmentVariableSelector:e=>{const t=e[_];if(!t)return undefined;const o=parseInt(t);if(Number.isNaN(o)){throw new Error(`Environment variable ${_} mast be a number, got "${t}"`)}return o},configFileSelector:e=>{const t=e[O];if(!t)return undefined;const o=parseInt(t);if(Number.isNaN(o)){throw new Error(`Shared config file entry ${O} mast be a number, got "${t}"`)}return o},default:n.DEFAULT_MAX_ATTEMPTS};const resolveRetryConfig=e=>{const{retryStrategy:t,retryMode:o,maxAttempts:i}=e;const h=Q.normalizeProvider(i??n.DEFAULT_MAX_ATTEMPTS);return Object.assign(e,{maxAttempts:h,retryStrategy:async()=>{if(t){return t}const e=await Q.normalizeProvider(o)();if(e===n.RETRY_MODES.ADAPTIVE){return new n.AdaptiveRetryStrategy(h)}return new n.StandardRetryStrategy(h)}})};const j="AWS_RETRY_MODE";const $="retry_mode";const ee={environmentVariableSelector:e=>e[j],configFileSelector:e=>e[$],default:n.DEFAULT_RETRY_MODE};const omitRetryHeadersMiddleware=()=>e=>async t=>{const{request:o}=t;if(i.HttpRequest.isInstance(o)){delete o.headers[n.INVOCATION_ID_HEADER];delete o.headers[n.REQUEST_HEADER]}return e(t)};const te={name:"omitRetryHeadersMiddleware",tags:["RETRY","HEADERS","OMIT_RETRY_HEADERS"],relation:"before",toMiddleware:"awsAuthMiddleware",override:true};const getOmitRetryHeadersPlugin=e=>({applyToStack:e=>{e.addRelativeTo(omitRetryHeadersMiddleware(),te)}});const retryMiddleware=e=>(t,o)=>async h=>{let Q=await e.retryStrategy();const _=await e.maxAttempts();if(isRetryStrategyV2(Q)){Q=Q;let e=await Q.acquireInitialRetryToken(o["partition_id"]);let O=new Error;let V=0;let j=0;const{request:$}=h;const ee=i.HttpRequest.isInstance($);if(ee){$.headers[n.INVOCATION_ID_HEADER]=p.v4()}while(true){try{if(ee){$.headers[n.REQUEST_HEADER]=`attempt=${V+1}; max=${_}`}const{response:o,output:i}=await t(h);Q.recordSuccess(e);i.$metadata.attempts=V+1;i.$metadata.totalRetryDelay=j;return{response:o,output:i}}catch(t){const n=getRetryErrorInfo(t);O=asSdkError(t);if(ee&&T.isStreamingPayload($)){(o.logger instanceof D.NoOpLogger?console:o.logger)?.warn("An error was encountered in a non-retryable streaming request.");throw O}try{e=await Q.refreshRetryTokenForRetry(e,n)}catch(e){if(!O.$metadata){O.$metadata={}}O.$metadata.attempts=V+1;O.$metadata.totalRetryDelay=j;throw O}V=e.getRetryCount();const i=e.getRetryDelay();j+=i;await new Promise((e=>setTimeout(e,i)))}}}else{Q=Q;if(Q?.mode)o.userAgent=[...o.userAgent||[],["cfg/retry-mode",Q.mode]];return Q.retry(t,h)}};const isRetryStrategyV2=e=>typeof e.acquireInitialRetryToken!=="undefined"&&typeof e.refreshRetryTokenForRetry!=="undefined"&&typeof e.recordSuccess!=="undefined";const getRetryErrorInfo=e=>{const t={error:e,errorType:getRetryErrorType(e)};const o=getRetryAfterHint(e.$response);if(o){t.retryAfterHint=o}return t};const getRetryErrorType=e=>{if(h.isThrottlingError(e))return"THROTTLING";if(h.isTransientError(e))return"TRANSIENT";if(h.isServerError(e))return"SERVER_ERROR";return"CLIENT_ERROR"};const re={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:true};const getRetryPlugin=e=>({applyToStack:t=>{t.add(retryMiddleware(e),re)}});const getRetryAfterHint=e=>{if(!i.HttpResponse.isInstance(e))return;const t=Object.keys(e.headers).find((e=>e.toLowerCase()==="retry-after"));if(!t)return;const o=e.headers[t];const n=Number(o);if(!Number.isNaN(n))return new Date(n*1e3);const h=new Date(o);return h};t.AdaptiveRetryStrategy=AdaptiveRetryStrategy;t.CONFIG_MAX_ATTEMPTS=O;t.CONFIG_RETRY_MODE=$;t.ENV_MAX_ATTEMPTS=_;t.ENV_RETRY_MODE=j;t.NODE_MAX_ATTEMPT_CONFIG_OPTIONS=V;t.NODE_RETRY_MODE_CONFIG_OPTIONS=ee;t.StandardRetryStrategy=StandardRetryStrategy;t.defaultDelayDecider=defaultDelayDecider;t.defaultRetryDecider=defaultRetryDecider;t.getOmitRetryHeadersPlugin=getOmitRetryHeadersPlugin;t.getRetryAfterHint=getRetryAfterHint;t.getRetryPlugin=getRetryPlugin;t.omitRetryHeadersMiddleware=omitRetryHeadersMiddleware;t.omitRetryHeadersMiddlewareOptions=te;t.resolveRetryConfig=resolveRetryConfig;t.retryMiddleware=retryMiddleware;t.retryMiddlewareOptions=re},9831:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isStreamingPayload=void 0;const n=o(2203);const isStreamingPayload=e=>e?.body instanceof n.Readable||typeof ReadableStream!=="undefined"&&e?.body instanceof ReadableStream;t.isStreamingPayload=isStreamingPayload},3255:(e,t,o)=>{"use strict";var n=o(2356);const deserializerMiddleware=(e,t)=>(o,i)=>async h=>{const{response:p}=await o(h);try{const o=await t(p,e);return{response:p,output:o}}catch(e){Object.defineProperty(e,"$response",{value:p,enumerable:false,writable:false,configurable:false});if(!("$metadata"in e)){const t=`Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;try{e.message+="\n "+t}catch(e){if(!i.logger||i.logger?.constructor?.name==="NoOpLogger"){console.warn(t)}else{i.logger?.warn?.(t)}}if(typeof e.$responseBodyText!=="undefined"){if(e.$response){e.$response.body=e.$responseBodyText}}try{if(n.HttpResponse.isInstance(p)){const{headers:t={}}=p;const o=Object.entries(t);e.$metadata={httpStatusCode:p.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,o),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,o),cfId:findHeader(/^x-[\w-]+-cf-id$/,o)}}}catch(e){}}throw e}};const findHeader=(e,t)=>(t.find((([t])=>t.match(e)))||[void 0,void 0])[1];const serializerMiddleware=(e,t)=>(o,n)=>async i=>{const h=e;const p=n.endpointV2?.url&&h.urlParser?async()=>h.urlParser(n.endpointV2.url):h.endpoint;if(!p){throw new Error("No valid endpoint provider available.")}const Q=await t(i.input,{...e,endpoint:p});return o({...i,request:Q})};const i={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:true};const h={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:true};function getSerdePlugin(e,t,o){return{applyToStack:n=>{n.add(deserializerMiddleware(e,o),i);n.add(serializerMiddleware(e,t),h)}}}t.deserializerMiddleware=deserializerMiddleware;t.deserializerMiddlewareOption=i;t.getSerdePlugin=getSerdePlugin;t.serializerMiddleware=serializerMiddleware;t.serializerMiddlewareOption=h},9208:(e,t)=>{"use strict";const getAllAliases=(e,t)=>{const o=[];if(e){o.push(e)}if(t){for(const e of t){o.push(e)}}return o};const getMiddlewareNameWithAliases=(e,t)=>`${e||"anonymous"}${t&&t.length>0?` (a.k.a. ${t.join(",")})`:""}`;const constructStack=()=>{let e=[];let t=[];let i=false;const h=new Set;const sort=e=>e.sort(((e,t)=>o[t.step]-o[e.step]||n[t.priority||"normal"]-n[e.priority||"normal"]));const removeByName=o=>{let n=false;const filterCb=e=>{const t=getAllAliases(e.name,e.aliases);if(t.includes(o)){n=true;for(const e of t){h.delete(e)}return false}return true};e=e.filter(filterCb);t=t.filter(filterCb);return n};const removeByReference=o=>{let n=false;const filterCb=e=>{if(e.middleware===o){n=true;for(const t of getAllAliases(e.name,e.aliases)){h.delete(t)}return false}return true};e=e.filter(filterCb);t=t.filter(filterCb);return n};const cloneTo=o=>{e.forEach((e=>{o.add(e.middleware,{...e})}));t.forEach((e=>{o.addRelativeTo(e.middleware,{...e})}));o.identifyOnResolve?.(p.identifyOnResolve());return o};const expandRelativeMiddlewareList=e=>{const t=[];e.before.forEach((e=>{if(e.before.length===0&&e.after.length===0){t.push(e)}else{t.push(...expandRelativeMiddlewareList(e))}}));t.push(e);e.after.reverse().forEach((e=>{if(e.before.length===0&&e.after.length===0){t.push(e)}else{t.push(...expandRelativeMiddlewareList(e))}}));return t};const getMiddlewareList=(o=false)=>{const n=[];const i=[];const h={};e.forEach((e=>{const t={...e,before:[],after:[]};for(const e of getAllAliases(t.name,t.aliases)){h[e]=t}n.push(t)}));t.forEach((e=>{const t={...e,before:[],after:[]};for(const e of getAllAliases(t.name,t.aliases)){h[e]=t}i.push(t)}));i.forEach((e=>{if(e.toMiddleware){const t=h[e.toMiddleware];if(t===undefined){if(o){return}throw new Error(`${e.toMiddleware} is not found when adding `+`${getMiddlewareNameWithAliases(e.name,e.aliases)} `+`middleware ${e.relation} ${e.toMiddleware}`)}if(e.relation==="after"){t.after.push(e)}if(e.relation==="before"){t.before.push(e)}}}));const p=sort(n).map(expandRelativeMiddlewareList).reduce(((e,t)=>{e.push(...t);return e}),[]);return p};const p={add:(t,o={})=>{const{name:n,override:i,aliases:p}=o;const Q={step:"initialize",priority:"normal",middleware:t,...o};const D=getAllAliases(n,p);if(D.length>0){if(D.some((e=>h.has(e)))){if(!i)throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(n,p)}'`);for(const t of D){const o=e.findIndex((e=>e.name===t||e.aliases?.some((e=>e===t))));if(o===-1){continue}const i=e[o];if(i.step!==Q.step||Q.priority!==i.priority){throw new Error(`"${getMiddlewareNameWithAliases(i.name,i.aliases)}" middleware with `+`${i.priority} priority in ${i.step} step cannot `+`be overridden by "${getMiddlewareNameWithAliases(n,p)}" middleware with `+`${Q.priority} priority in ${Q.step} step.`)}e.splice(o,1)}}for(const e of D){h.add(e)}}e.push(Q)},addRelativeTo:(e,o)=>{const{name:n,override:i,aliases:p}=o;const Q={middleware:e,...o};const D=getAllAliases(n,p);if(D.length>0){if(D.some((e=>h.has(e)))){if(!i)throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(n,p)}'`);for(const e of D){const o=t.findIndex((t=>t.name===e||t.aliases?.some((t=>t===e))));if(o===-1){continue}const i=t[o];if(i.toMiddleware!==Q.toMiddleware||i.relation!==Q.relation){throw new Error(`"${getMiddlewareNameWithAliases(i.name,i.aliases)}" middleware `+`${i.relation} "${i.toMiddleware}" middleware cannot be overridden `+`by "${getMiddlewareNameWithAliases(n,p)}" middleware ${Q.relation} `+`"${Q.toMiddleware}" middleware.`)}t.splice(o,1)}}for(const e of D){h.add(e)}}t.push(Q)},clone:()=>cloneTo(constructStack()),use:e=>{e.applyToStack(p)},remove:e=>{if(typeof e==="string")return removeByName(e);else return removeByReference(e)},removeByTag:o=>{let n=false;const filterCb=e=>{const{tags:t,name:i,aliases:p}=e;if(t&&t.includes(o)){const e=getAllAliases(i,p);for(const t of e){h.delete(t)}n=true;return false}return true};e=e.filter(filterCb);t=t.filter(filterCb);return n},concat:e=>{const t=cloneTo(constructStack());t.use(e);t.identifyOnResolve(i||t.identifyOnResolve()||(e.identifyOnResolve?.()??false));return t},applyToStack:cloneTo,identify:()=>getMiddlewareList(true).map((e=>{const t=e.step??e.relation+" "+e.toMiddleware;return getMiddlewareNameWithAliases(e.name,e.aliases)+" - "+t})),identifyOnResolve(e){if(typeof e==="boolean")i=e;return i},resolve:(e,t)=>{for(const o of getMiddlewareList().map((e=>e.middleware)).reverse()){e=o(e,t)}if(i){console.log(p.identify())}return e}};return p};const o={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1};const n={high:3,normal:2,low:1};t.constructStack=constructStack},5704:(e,t,o)=>{"use strict";var n=o(1238);var i=o(4964);function getSelectorName(e){try{const t=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));t.delete("CONFIG");t.delete("CONFIG_PREFIX_SEPARATOR");t.delete("ENV");return[...t].join(", ")}catch(t){return e}}const fromEnv=(e,t)=>async()=>{try{const o=e(process.env,t);if(o===undefined){throw new Error}return o}catch(o){throw new n.CredentialsProviderError(o.message||`Not found in ENV: ${getSelectorName(e.toString())}`,{logger:t?.logger})}};const fromSharedConfigFiles=(e,{preferredFile:t="config",...o}={})=>async()=>{const h=i.getProfileName(o);const{configFile:p,credentialsFile:Q}=await i.loadSharedConfigFiles(o);const D=Q[h]||{};const T=p[h]||{};const _=t==="config"?{...D,...T}:{...T,...D};try{const o=t==="config"?p:Q;const n=e(_,o);if(n===undefined){throw new Error}return n}catch(t){throw new n.CredentialsProviderError(t.message||`Not found in config files w/ profile [${h}]: ${getSelectorName(e.toString())}`,{logger:o.logger})}};const isFunction=e=>typeof e==="function";const fromStatic=e=>isFunction(e)?async()=>await e():n.fromStatic(e);const loadConfig=({environmentVariableSelector:e,configFileSelector:t,default:o},i={})=>{const{signingName:h,logger:p}=i;const Q={signingName:h,logger:p};return n.memoize(n.chain(fromEnv(e,Q),fromSharedConfigFiles(t,i),fromStatic(o)))};t.loadConfig=loadConfig},1279:(e,t,o)=>{"use strict";var n=o(2356);var i=o(8256);var h=o(8611);var p=o(5692);var Q=o(2203);var D=o(5675);function buildAbortError(e){const t=e&&typeof e==="object"&&"reason"in e?e.reason:undefined;if(t){if(t instanceof Error){return t}const e=new Error(String(t));e.name="AbortError";return e}const o=new Error("Request aborted");o.name="AbortError";return o}const T=["ECONNRESET","EPIPE","ETIMEDOUT"];const getTransformedHeaders=e=>{const t={};for(const o of Object.keys(e)){const n=e[o];t[o]=Array.isArray(n)?n.join(","):n}return t};const _={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)};const O=1e3;const setConnectionTimeout=(e,t,o=0)=>{if(!o){return-1}const registerTimeout=n=>{const i=_.setTimeout((()=>{e.destroy();t(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${o} ms.`),{name:"TimeoutError"}))}),o-n);const doWithSocket=e=>{if(e?.connecting){e.on("connect",(()=>{_.clearTimeout(i)}))}else{_.clearTimeout(i)}};if(e.socket){doWithSocket(e.socket)}else{e.on("socket",doWithSocket)}};if(o<2e3){registerTimeout(0);return 0}return _.setTimeout(registerTimeout.bind(null,O),O)};const setRequestTimeout=(e,t,o=0,n,i)=>{if(o){return _.setTimeout((()=>{let h=`@smithy/node-http-handler - [${n?"ERROR":"WARN"}] a request has exceeded the configured ${o} ms requestTimeout.`;if(n){const o=Object.assign(new Error(h),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(o);t(o)}else{h+=` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;i?.warn?.(h)}}),o)}return-1};const V=3e3;const setSocketKeepAlive=(e,{keepAlive:t,keepAliveMsecs:o},n=V)=>{if(t!==true){return-1}const registerListener=()=>{if(e.socket){e.socket.setKeepAlive(t,o||0)}else{e.on("socket",(e=>{e.setKeepAlive(t,o||0)}))}};if(n===0){registerListener();return 0}return _.setTimeout(registerListener,n)};const j=3e3;const setSocketTimeout=(e,t,o=0)=>{const registerTimeout=n=>{const i=o-n;const onTimeout=()=>{e.destroy();t(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${o} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};if(e.socket){e.socket.setTimeout(i,onTimeout);e.on("close",(()=>e.socket?.removeListener("timeout",onTimeout)))}else{e.setTimeout(i,onTimeout)}};if(0<o&&o<6e3){registerTimeout(0);return 0}return _.setTimeout(registerTimeout.bind(null,o===0?0:j),j)};const $=6e3;async function writeRequestBody(e,t,o=$,n=false){const i=t.headers??{};const h=i.Expect||i.expect;let p=-1;let Q=true;if(!n&&h==="100-continue"){Q=await Promise.race([new Promise((e=>{p=Number(_.setTimeout((()=>e(true)),Math.max($,o)))})),new Promise((t=>{e.on("continue",(()=>{_.clearTimeout(p);t(true)}));e.on("response",(()=>{_.clearTimeout(p);t(false)}));e.on("error",(()=>{_.clearTimeout(p);t(false)}))}))])}if(Q){writeBody(e,t.body)}}function writeBody(e,t){if(t instanceof Q.Readable){t.pipe(e);return}if(t){const o=Buffer.isBuffer(t);const n=typeof t==="string";if(o||n){if(o&&t.byteLength===0){e.end()}else{e.end(t)}return}const i=t;if(typeof i==="object"&&i.buffer&&typeof i.byteOffset==="number"&&typeof i.byteLength==="number"){e.end(Buffer.from(i.buffer,i.byteOffset,i.byteLength));return}e.end(Buffer.from(t));return}e.end()}const ee=0;class NodeHttpHandler{config;configProvider;socketWarningTimestamp=0;externalAgent=false;metadata={handlerProtocol:"http/1.1"};static create(e){if(typeof e?.handle==="function"){return e}return new NodeHttpHandler(e)}static checkSocketUsage(e,t,o=console){const{sockets:n,requests:i,maxSockets:h}=e;if(typeof h!=="number"||h===Infinity){return t}const p=15e3;if(Date.now()-p<t){return t}if(n&&i){for(const e in n){const t=n[e]?.length??0;const p=i[e]?.length??0;if(t>=h&&p>=2*h){o?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${t} and ${p} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);return Date.now()}}}return t}constructor(e){this.configProvider=new Promise(((t,o)=>{if(typeof e==="function"){e().then((e=>{t(this.resolveDefaultConfig(e))})).catch(o)}else{t(this.resolveDefaultConfig(e))}}))}resolveDefaultConfig(e){const{requestTimeout:t,connectionTimeout:o,socketTimeout:n,socketAcquisitionWarningTimeout:i,httpAgent:Q,httpsAgent:D,throwOnRequestTimeout:T,logger:_}=e||{};const O=true;const V=50;return{connectionTimeout:o,requestTimeout:t,socketTimeout:n,socketAcquisitionWarningTimeout:i,throwOnRequestTimeout:T,httpAgent:(()=>{if(Q instanceof h.Agent||typeof Q?.destroy==="function"){this.externalAgent=true;return Q}return new h.Agent({keepAlive:O,maxSockets:V,...Q})})(),httpsAgent:(()=>{if(D instanceof p.Agent||typeof D?.destroy==="function"){this.externalAgent=true;return D}return new p.Agent({keepAlive:O,maxSockets:V,...D})})(),logger:_}}destroy(){this.config?.httpAgent?.destroy();this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:t,requestTimeout:o}={}){if(!this.config){this.config=await this.configProvider}return new Promise(((Q,D)=>{const O=this.config;let V=undefined;const j=[];const resolve=async e=>{await V;j.forEach(_.clearTimeout);Q(e)};const reject=async e=>{await V;j.forEach(_.clearTimeout);D(e)};if(t?.aborted){const e=buildAbortError(t);reject(e);return}const $=e.protocol==="https:";const ee=e.headers??{};const te=(ee.Expect??ee.expect)==="100-continue";let re=$?O.httpsAgent:O.httpAgent;if(te&&!this.externalAgent){re=new($?p.Agent:h.Agent)({keepAlive:false,maxSockets:Infinity})}j.push(_.setTimeout((()=>{this.socketWarningTimestamp=NodeHttpHandler.checkSocketUsage(re,this.socketWarningTimestamp,O.logger)}),O.socketAcquisitionWarningTimeout??(O.requestTimeout??2e3)+(O.connectionTimeout??1e3)));const se=i.buildQueryString(e.query||{});let oe=undefined;if(e.username!=null||e.password!=null){const t=e.username??"";const o=e.password??"";oe=`${t}:${o}`}let ne=e.path;if(se){ne+=`?${se}`}if(e.fragment){ne+=`#${e.fragment}`}let ie=e.hostname??"";if(ie[0]==="["&&ie.endsWith("]")){ie=e.hostname.slice(1,-1)}else{ie=e.hostname}const Ae={headers:e.headers,host:ie,method:e.method,path:ne,port:e.port,agent:re,auth:oe};const ae=$?p.request:h.request;const ce=ae(Ae,(e=>{const t=new n.HttpResponse({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:getTransformedHeaders(e.headers),body:e});resolve({response:t})}));ce.on("error",(e=>{if(T.includes(e.code)){reject(Object.assign(e,{name:"TimeoutError"}))}else{reject(e)}}));if(t){const onAbort=()=>{ce.destroy();const e=buildAbortError(t);reject(e)};if(typeof t.addEventListener==="function"){const e=t;e.addEventListener("abort",onAbort,{once:true});ce.once("close",(()=>e.removeEventListener("abort",onAbort)))}else{t.onabort=onAbort}}const le=o??O.requestTimeout;j.push(setConnectionTimeout(ce,reject,O.connectionTimeout));j.push(setRequestTimeout(ce,reject,le,O.throwOnRequestTimeout,O.logger??console));j.push(setSocketTimeout(ce,reject,O.socketTimeout));const ue=Ae.agent;if(typeof ue==="object"&&"keepAlive"in ue){j.push(setSocketKeepAlive(ce,{keepAlive:ue.keepAlive,keepAliveMsecs:ue.keepAliveMsecs}))}V=writeRequestBody(ce,e,le,this.externalAgent).catch((e=>{j.forEach(_.clearTimeout);return D(e)}))}))}updateHttpClientConfig(e,t){this.config=undefined;this.configProvider=this.configProvider.then((o=>({...o,[e]:t})))}httpHandlerConfigs(){return this.config??{}}}class NodeHttp2ConnectionPool{sessions=[];constructor(e){this.sessions=e??[]}poll(){if(this.sessions.length>0){return this.sessions.shift()}}offerLast(e){this.sessions.push(e)}contains(e){return this.sessions.includes(e)}remove(e){this.sessions=this.sessions.filter((t=>t!==e))}[Symbol.iterator](){return this.sessions[Symbol.iterator]()}destroy(e){for(const t of this.sessions){if(t===e){if(!t.destroyed){t.destroy()}}}}}class NodeHttp2ConnectionManager{constructor(e){this.config=e;if(this.config.maxConcurrency&&this.config.maxConcurrency<=0){throw new RangeError("maxConcurrency must be greater than zero.")}}config;sessionCache=new Map;lease(e,t){const o=this.getUrlString(e);const n=this.sessionCache.get(o);if(n){const e=n.poll();if(e&&!this.config.disableConcurrency){return e}}const i=D.connect(o);if(this.config.maxConcurrency){i.settings({maxConcurrentStreams:this.config.maxConcurrency},(t=>{if(t){throw new Error("Fail to set maxConcurrentStreams to "+this.config.maxConcurrency+"when creating new session for "+e.destination.toString())}}))}i.unref();const destroySessionCb=()=>{i.destroy();this.deleteSession(o,i)};i.on("goaway",destroySessionCb);i.on("error",destroySessionCb);i.on("frameError",destroySessionCb);i.on("close",(()=>this.deleteSession(o,i)));if(t.requestTimeout){i.setTimeout(t.requestTimeout,destroySessionCb)}const h=this.sessionCache.get(o)||new NodeHttp2ConnectionPool;h.offerLast(i);this.sessionCache.set(o,h);return i}deleteSession(e,t){const o=this.sessionCache.get(e);if(!o){return}if(!o.contains(t)){return}o.remove(t);this.sessionCache.set(e,o)}release(e,t){const o=this.getUrlString(e);this.sessionCache.get(o)?.offerLast(t)}destroy(){for(const[e,t]of this.sessionCache){for(const e of t){if(!e.destroyed){e.destroy()}t.remove(e)}this.sessionCache.delete(e)}}setMaxConcurrentStreams(e){if(e&&e<=0){throw new RangeError("maxConcurrentStreams must be greater than zero.")}this.config.maxConcurrency=e}setDisableConcurrentStreams(e){this.config.disableConcurrency=e}getUrlString(e){return e.destination.toString()}}class NodeHttp2Handler{config;configProvider;metadata={handlerProtocol:"h2"};connectionManager=new NodeHttp2ConnectionManager({});static create(e){if(typeof e?.handle==="function"){return e}return new NodeHttp2Handler(e)}constructor(e){this.configProvider=new Promise(((t,o)=>{if(typeof e==="function"){e().then((e=>{t(e||{})})).catch(o)}else{t(e||{})}}))}destroy(){this.connectionManager.destroy()}async handle(e,{abortSignal:t,requestTimeout:o}={}){if(!this.config){this.config=await this.configProvider;this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams||false);if(this.config.maxConcurrentStreams){this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams)}}const{requestTimeout:h,disableConcurrentStreams:p}=this.config;const Q=o??h;return new Promise(((o,h)=>{let T=false;let _=undefined;const resolve=async e=>{await _;o(e)};const reject=async e=>{await _;h(e)};if(t?.aborted){T=true;const e=buildAbortError(t);reject(e);return}const{hostname:O,method:V,port:j,protocol:$,query:ee}=e;let te="";if(e.username!=null||e.password!=null){const t=e.username??"";const o=e.password??"";te=`${t}:${o}@`}const re=`${$}//${te}${O}${j?`:${j}`:""}`;const se={destination:new URL(re)};const oe=this.connectionManager.lease(se,{requestTimeout:this.config?.sessionTimeout,disableConcurrentStreams:p||false});const rejectWithDestroy=e=>{if(p){this.destroySession(oe)}T=true;reject(e)};const ne=i.buildQueryString(ee||{});let ie=e.path;if(ne){ie+=`?${ne}`}if(e.fragment){ie+=`#${e.fragment}`}const Ae=oe.request({...e.headers,[D.constants.HTTP2_HEADER_PATH]:ie,[D.constants.HTTP2_HEADER_METHOD]:V});oe.ref();Ae.on("response",(e=>{const t=new n.HttpResponse({statusCode:e[":status"]||-1,headers:getTransformedHeaders(e),body:Ae});T=true;resolve({response:t});if(p){oe.close();this.connectionManager.deleteSession(re,oe)}}));if(Q){Ae.setTimeout(Q,(()=>{Ae.close();const e=new Error(`Stream timed out because of no activity for ${Q} ms`);e.name="TimeoutError";rejectWithDestroy(e)}))}if(t){const onAbort=()=>{Ae.close();const e=buildAbortError(t);rejectWithDestroy(e)};if(typeof t.addEventListener==="function"){const e=t;e.addEventListener("abort",onAbort,{once:true});Ae.once("close",(()=>e.removeEventListener("abort",onAbort)))}else{t.onabort=onAbort}}Ae.on("frameError",((e,t,o)=>{rejectWithDestroy(new Error(`Frame type id ${e} in stream id ${o} has failed with code ${t}.`))}));Ae.on("error",rejectWithDestroy);Ae.on("aborted",(()=>{rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${Ae.rstCode}.`))}));Ae.on("close",(()=>{oe.unref();if(p){oe.destroy()}if(!T){rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"))}}));_=writeRequestBody(Ae,e,Q)}))}updateHttpClientConfig(e,t){this.config=undefined;this.configProvider=this.configProvider.then((o=>({...o,[e]:t})))}httpHandlerConfigs(){return this.config??{}}destroySession(e){if(!e.destroyed){e.destroy()}}}class Collector extends Q.Writable{bufferedBytes=[];_write(e,t,o){this.bufferedBytes.push(e);o()}}const streamCollector=e=>{if(isReadableStreamInstance(e)){return collectReadableStream(e)}return new Promise(((t,o)=>{const n=new Collector;e.pipe(n);e.on("error",(e=>{n.end();o(e)}));n.on("error",o);n.on("finish",(function(){const e=new Uint8Array(Buffer.concat(this.bufferedBytes));t(e)}))}))};const isReadableStreamInstance=e=>typeof ReadableStream==="function"&&e instanceof ReadableStream;async function collectReadableStream(e){const t=[];const o=e.getReader();let n=false;let i=0;while(!n){const{done:e,value:h}=await o.read();if(h){t.push(h);i+=h.length}n=e}const h=new Uint8Array(i);let p=0;for(const e of t){h.set(e,p);p+=e.length}return h}t.DEFAULT_REQUEST_TIMEOUT=ee;t.NodeHttp2Handler=NodeHttp2Handler;t.NodeHttpHandler=NodeHttpHandler;t.streamCollector=streamCollector},1238:(e,t)=>{"use strict";class ProviderError extends Error{name="ProviderError";tryNextLink;constructor(e,t=true){let o;let n=true;if(typeof t==="boolean"){o=undefined;n=t}else if(t!=null&&typeof t==="object"){o=t.logger;n=t.tryNextLink??true}super(e);this.tryNextLink=n;Object.setPrototypeOf(this,ProviderError.prototype);o?.debug?.(`@smithy/property-provider ${n?"->":"(!)"} ${e}`)}static from(e,t=true){return Object.assign(new this(e.message,t),e)}}class CredentialsProviderError extends ProviderError{name="CredentialsProviderError";constructor(e,t=true){super(e,t);Object.setPrototypeOf(this,CredentialsProviderError.prototype)}}class TokenProviderError extends ProviderError{name="TokenProviderError";constructor(e,t=true){super(e,t);Object.setPrototypeOf(this,TokenProviderError.prototype)}}const chain=(...e)=>async()=>{if(e.length===0){throw new ProviderError("No providers in chain")}let t;for(const o of e){try{const e=await o();return e}catch(e){t=e;if(e?.tryNextLink){continue}throw e}}throw t};const fromStatic=e=>()=>Promise.resolve(e);const memoize=(e,t,o)=>{let n;let i;let h;let p=false;const coalesceProvider=async()=>{if(!i){i=e()}try{n=await i;h=true;p=false}finally{i=undefined}return n};if(t===undefined){return async e=>{if(!h||e?.forceRefresh){n=await coalesceProvider()}return n}}return async e=>{if(!h||e?.forceRefresh){n=await coalesceProvider()}if(p){return n}if(o&&!o(n)){p=true;return n}if(t(n)){await coalesceProvider();return n}return n}};t.CredentialsProviderError=CredentialsProviderError;t.ProviderError=ProviderError;t.TokenProviderError=TokenProviderError;t.chain=chain;t.fromStatic=fromStatic;t.memoize=memoize},2356:(e,t,o)=>{"use strict";var n=o(690);const getHttpHandlerExtensionConfiguration=e=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,o){e.httpHandler?.updateHttpClientConfig(t,o)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}});const resolveHttpHandlerRuntimeConfig=e=>({httpHandler:e.httpHandler()});class Field{name;kind;values;constructor({name:e,kind:t=n.FieldPosition.HEADER,values:o=[]}){this.name=e;this.kind=t;this.values=o}add(e){this.values.push(e)}set(e){this.values=e}remove(e){this.values=this.values.filter((t=>t!==e))}toString(){return this.values.map((e=>e.includes(",")||e.includes(" ")?`"${e}"`:e)).join(", ")}get(){return this.values}}class Fields{entries={};encoding;constructor({fields:e=[],encoding:t="utf-8"}){e.forEach(this.setField.bind(this));this.encoding=t}setField(e){this.entries[e.name.toLowerCase()]=e}getField(e){return this.entries[e.toLowerCase()]}removeField(e){delete this.entries[e.toLowerCase()]}getByType(e){return Object.values(this.entries).filter((t=>t.kind===e))}}class HttpRequest{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET";this.hostname=e.hostname||"localhost";this.port=e.port;this.query=e.query||{};this.headers=e.headers||{};this.body=e.body;this.protocol=e.protocol?e.protocol.slice(-1)!==":"?`${e.protocol}:`:e.protocol:"https:";this.path=e.path?e.path.charAt(0)!=="/"?`/${e.path}`:e.path:"/";this.username=e.username;this.password=e.password;this.fragment=e.fragment}static clone(e){const t=new HttpRequest({...e,headers:{...e.headers}});if(t.query){t.query=cloneQuery(t.query)}return t}static isInstance(e){if(!e){return false}const t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&typeof t["query"]==="object"&&typeof t["headers"]==="object"}clone(){return HttpRequest.clone(this)}}function cloneQuery(e){return Object.keys(e).reduce(((t,o)=>{const n=e[o];return{...t,[o]:Array.isArray(n)?[...n]:n}}),{})}class HttpResponse{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode;this.reason=e.reason;this.headers=e.headers||{};this.body=e.body}static isInstance(e){if(!e)return false;const t=e;return typeof t.statusCode==="number"&&typeof t.headers==="object"}}function isValidHostname(e){const t=/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/;return t.test(e)}t.Field=Field;t.Fields=Fields;t.HttpRequest=HttpRequest;t.HttpResponse=HttpResponse;t.getHttpHandlerExtensionConfiguration=getHttpHandlerExtensionConfiguration;t.isValidHostname=isValidHostname;t.resolveHttpHandlerRuntimeConfig=resolveHttpHandlerRuntimeConfig},8256:(e,t,o)=>{"use strict";var n=o(146);function buildQueryString(e){const t=[];for(let o of Object.keys(e).sort()){const i=e[o];o=n.escapeUri(o);if(Array.isArray(i)){for(let e=0,h=i.length;e<h;e++){t.push(`${o}=${n.escapeUri(i[e])}`)}}else{let e=o;if(i||typeof i==="string"){e+=`=${n.escapeUri(i)}`}t.push(e)}}return t.join("&")}t.buildQueryString=buildQueryString},8822:(e,t)=>{"use strict";function parseQueryString(e){const t={};e=e.replace(/^\?/,"");if(e){for(const o of e.split("&")){let[e,n=null]=o.split("=");e=decodeURIComponent(e);if(n){n=decodeURIComponent(n)}if(!(e in t)){t[e]=n}else if(Array.isArray(t[e])){t[e].push(n)}else{t[e]=[t[e],n]}}}return t}t.parseQueryString=parseQueryString},2058:(e,t)=>{"use strict";const o=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"];const n=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"];const i=["TimeoutError","RequestTimeout","RequestTimeoutException"];const h=[500,502,503,504];const p=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"];const Q=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"];const isRetryableByTrait=e=>e?.$retryable!==undefined;const isClockSkewError=e=>o.includes(e.name);const isClockSkewCorrectedError=e=>e.$metadata?.clockSkewCorrected;const isBrowserNetworkError=e=>{const t=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);const o=e&&e instanceof TypeError;if(!o){return false}return t.has(e.message)};const isThrottlingError=e=>e.$metadata?.httpStatusCode===429||n.includes(e.name)||e.$retryable?.throttling==true;const isTransientError=(e,t=0)=>isRetryableByTrait(e)||isClockSkewCorrectedError(e)||i.includes(e.name)||p.includes(e?.code||"")||Q.includes(e?.code||"")||h.includes(e.$metadata?.httpStatusCode||0)||isBrowserNetworkError(e)||e.cause!==undefined&&t<=10&&isTransientError(e.cause,t+1);const isServerError=e=>{if(e.$metadata?.httpStatusCode!==undefined){const t=e.$metadata.httpStatusCode;if(500<=t&&t<=599&&!isTransientError(e)){return true}return false}return false};t.isBrowserNetworkError=isBrowserNetworkError;t.isClockSkewCorrectedError=isClockSkewCorrectedError;t.isClockSkewError=isClockSkewError;t.isRetryableByTrait=isRetryableByTrait;t.isServerError=isServerError;t.isThrottlingError=isThrottlingError;t.isTransientError=isTransientError},4172:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getHomeDir=void 0;const n=o(857);const i=o(6928);const h={};const getHomeDirCacheKey=()=>{if(process&&process.geteuid){return`${process.geteuid()}`}return"DEFAULT"};const getHomeDir=()=>{const{HOME:e,USERPROFILE:t,HOMEPATH:o,HOMEDRIVE:p=`C:${i.sep}`}=process.env;if(e)return e;if(t)return t;if(o)return`${p}${o}`;const Q=getHomeDirCacheKey();if(!h[Q])h[Q]=(0,n.homedir)();return h[Q]};t.getHomeDir=getHomeDir},269:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getSSOTokenFilepath=void 0;const n=o(6982);const i=o(6928);const h=o(4172);const getSSOTokenFilepath=e=>{const t=(0,n.createHash)("sha1");const o=t.update(e).digest("hex");return(0,i.join)((0,h.getHomeDir)(),".aws","sso","cache",`${o}.json`)};t.getSSOTokenFilepath=getSSOTokenFilepath},1326:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getSSOTokenFromFile=t.tokenIntercept=void 0;const n=o(1943);const i=o(269);t.tokenIntercept={};const getSSOTokenFromFile=async e=>{if(t.tokenIntercept[e]){return t.tokenIntercept[e]}const o=(0,i.getSSOTokenFilepath)(e);const h=await(0,n.readFile)(o,"utf8");return JSON.parse(h)};t.getSSOTokenFromFile=getSSOTokenFromFile},4964:(e,t,o)=>{"use strict";var n=o(4172);var i=o(269);var h=o(1326);var p=o(6928);var Q=o(690);var D=o(6684);const T="AWS_PROFILE";const _="default";const getProfileName=e=>e.profile||process.env[T]||_;const O=".";const getConfigData=e=>Object.entries(e).filter((([e])=>{const t=e.indexOf(O);if(t===-1){return false}return Object.values(Q.IniSectionType).includes(e.substring(0,t))})).reduce(((e,[t,o])=>{const n=t.indexOf(O);const i=t.substring(0,n)===Q.IniSectionType.PROFILE?t.substring(n+1):t;e[i]=o;return e}),{...e.default&&{default:e.default}});const V="AWS_CONFIG_FILE";const getConfigFilepath=()=>process.env[V]||p.join(n.getHomeDir(),".aws","config");const j="AWS_SHARED_CREDENTIALS_FILE";const getCredentialsFilepath=()=>process.env[j]||p.join(n.getHomeDir(),".aws","credentials");const $=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/;const ee=["__proto__","profile __proto__"];const parseIni=e=>{const t={};let o;let n;for(const i of e.split(/\r?\n/)){const e=i.split(/(^|\s)[;#]/)[0].trim();const h=e[0]==="["&&e[e.length-1]==="]";if(h){o=undefined;n=undefined;const t=e.substring(1,e.length-1);const i=$.exec(t);if(i){const[,e,,t]=i;if(Object.values(Q.IniSectionType).includes(e)){o=[e,t].join(O)}}else{o=t}if(ee.includes(t)){throw new Error(`Found invalid profile name "${t}"`)}}else if(o){const h=e.indexOf("=");if(![0,-1].includes(h)){const[p,Q]=[e.substring(0,h).trim(),e.substring(h+1).trim()];if(Q===""){n=p}else{if(n&&i.trimStart()===i){n=undefined}t[o]=t[o]||{};const e=n?[n,p].join(O):p;t[o][e]=Q}}}}return t};const swallowError$1=()=>({});const loadSharedConfigFiles=async(e={})=>{const{filepath:t=getCredentialsFilepath(),configFilepath:o=getConfigFilepath()}=e;const i=n.getHomeDir();const h="~/";let Q=t;if(t.startsWith(h)){Q=p.join(i,t.slice(2))}let T=o;if(o.startsWith(h)){T=p.join(i,o.slice(2))}const _=await Promise.all([D.readFile(T,{ignoreCache:e.ignoreCache}).then(parseIni).then(getConfigData).catch(swallowError$1),D.readFile(Q,{ignoreCache:e.ignoreCache}).then(parseIni).catch(swallowError$1)]);return{configFile:_[0],credentialsFile:_[1]}};const getSsoSessionData=e=>Object.entries(e).filter((([e])=>e.startsWith(Q.IniSectionType.SSO_SESSION+O))).reduce(((e,[t,o])=>({...e,[t.substring(t.indexOf(O)+1)]:o})),{});const swallowError=()=>({});const loadSsoSessionData=async(e={})=>D.readFile(e.configFilepath??getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError);const mergeConfigFiles=(...e)=>{const t={};for(const o of e){for(const[e,n]of Object.entries(o)){if(t[e]!==undefined){Object.assign(t[e],n)}else{t[e]=n}}}return t};const parseKnownFiles=async e=>{const t=await loadSharedConfigFiles(e);return mergeConfigFiles(t.configFile,t.credentialsFile)};const te={getFileRecord(){return D.fileIntercept},interceptFile(e,t){D.fileIntercept[e]=Promise.resolve(t)},getTokenRecord(){return h.tokenIntercept},interceptToken(e,t){h.tokenIntercept[e]=t}};t.getSSOTokenFromFile=h.getSSOTokenFromFile;t.readFile=D.readFile;t.CONFIG_PREFIX_SEPARATOR=O;t.DEFAULT_PROFILE=_;t.ENV_PROFILE=T;t.externalDataInterceptor=te;t.getProfileName=getProfileName;t.loadSharedConfigFiles=loadSharedConfigFiles;t.loadSsoSessionData=loadSsoSessionData;t.parseKnownFiles=parseKnownFiles;Object.prototype.hasOwnProperty.call(n,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:n["__proto__"]});Object.keys(n).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=n[e]}));Object.prototype.hasOwnProperty.call(i,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:i["__proto__"]});Object.keys(i).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=i[e]}))},6684:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.readFile=t.fileIntercept=t.filePromises=void 0;const n=o(1455);t.filePromises={};t.fileIntercept={};const readFile=(e,o)=>{if(t.fileIntercept[e]!==undefined){return t.fileIntercept[e]}if(!t.filePromises[e]||o?.ignoreCache){t.filePromises[e]=(0,n.readFile)(e,"utf8")}return t.filePromises[e]};t.readFile=readFile},5118:(e,t,o)=>{"use strict";var n=o(6435);var i=o(1577);var h=o(6130);var p=o(2356);var Q=o(6324);var D=o(146);const T="X-Amz-Algorithm";const _="X-Amz-Credential";const O="X-Amz-Date";const V="X-Amz-SignedHeaders";const j="X-Amz-Expires";const $="X-Amz-Signature";const ee="X-Amz-Security-Token";const te="X-Amz-Region-Set";const re="authorization";const se=O.toLowerCase();const oe="date";const ne=[re,se,oe];const ie=$.toLowerCase();const Ae="x-amz-content-sha256";const ae=ee.toLowerCase();const ce="host";const le={authorization:true,"cache-control":true,connection:true,expect:true,from:true,"keep-alive":true,"max-forwards":true,pragma:true,referer:true,te:true,trailer:true,"transfer-encoding":true,upgrade:true,"user-agent":true,"x-amzn-trace-id":true};const ue=/^proxy-/;const ge=/^sec-/;const de=[/^proxy-/i,/^sec-/i];const he="AWS4-HMAC-SHA256";const pe="AWS4-ECDSA-P256-SHA256";const fe="AWS4-HMAC-SHA256-PAYLOAD";const Ee="UNSIGNED-PAYLOAD";const Ce=50;const me="aws4_request";const Ie=60*60*24*7;const Qe={};const Be=[];const createScope=(e,t,o)=>`${e}/${t}/${o}/${me}`;const getSigningKey=async(e,t,o,i,h)=>{const p=await hmac(e,t.secretAccessKey,t.accessKeyId);const Q=`${o}:${i}:${h}:${n.toHex(p)}:${t.sessionToken}`;if(Q in Qe){return Qe[Q]}Be.push(Q);while(Be.length>Ce){delete Qe[Be.shift()]}let D=`AWS4${t.secretAccessKey}`;for(const t of[o,i,h,me]){D=await hmac(e,D,t)}return Qe[Q]=D};const clearCredentialCache=()=>{Be.length=0;Object.keys(Qe).forEach((e=>{delete Qe[e]}))};const hmac=(e,t,o)=>{const n=new e(t);n.update(i.toUint8Array(o));return n.digest()};const getCanonicalHeaders=({headers:e},t,o)=>{const n={};for(const i of Object.keys(e).sort()){if(e[i]==undefined){continue}const h=i.toLowerCase();if(h in le||t?.has(h)||ue.test(h)||ge.test(h)){if(!o||o&&!o.has(h)){continue}}n[h]=e[i].trim().replace(/\s+/g," ")}return n};const getPayloadHash=async({headers:e,body:t},o)=>{for(const t of Object.keys(e)){if(t.toLowerCase()===Ae){return e[t]}}if(t==undefined){return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}else if(typeof t==="string"||ArrayBuffer.isView(t)||h.isArrayBuffer(t)){const e=new o;e.update(i.toUint8Array(t));return n.toHex(await e.digest())}return Ee};class HeaderFormatter{format(e){const t=[];for(const o of Object.keys(e)){const n=i.fromUtf8(o);t.push(Uint8Array.from([n.byteLength]),n,this.formatHeaderValue(e[o]))}const o=new Uint8Array(t.reduce(((e,t)=>e+t.byteLength),0));let n=0;for(const e of t){o.set(e,n);n+=e.byteLength}return o}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":const t=new DataView(new ArrayBuffer(3));t.setUint8(0,3);t.setInt16(1,e.value,false);return new Uint8Array(t.buffer);case"integer":const o=new DataView(new ArrayBuffer(5));o.setUint8(0,4);o.setInt32(1,e.value,false);return new Uint8Array(o.buffer);case"long":const h=new Uint8Array(9);h[0]=5;h.set(e.value.bytes,1);return h;case"binary":const p=new DataView(new ArrayBuffer(3+e.value.byteLength));p.setUint8(0,6);p.setUint16(1,e.value.byteLength,false);const Q=new Uint8Array(p.buffer);Q.set(e.value,3);return Q;case"string":const D=i.fromUtf8(e.value);const T=new DataView(new ArrayBuffer(3+D.byteLength));T.setUint8(0,7);T.setUint16(1,D.byteLength,false);const _=new Uint8Array(T.buffer);_.set(D,3);return _;case"timestamp":const O=new Uint8Array(9);O[0]=8;O.set(Int64.fromNumber(e.value.valueOf()).bytes,1);return O;case"uuid":if(!ye.test(e.value)){throw new Error(`Invalid UUID received: ${e.value}`)}const V=new Uint8Array(17);V[0]=9;V.set(n.fromHex(e.value.replace(/\-/g,"")),1);return V}}}const ye=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class Int64{bytes;constructor(e){this.bytes=e;if(e.byteLength!==8){throw new Error("Int64 buffers must be exactly 8 bytes")}}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000){throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`)}const t=new Uint8Array(8);for(let o=7,n=Math.abs(Math.round(e));o>-1&&n>0;o--,n/=256){t[o]=n}if(e<0){negate(t)}return new Int64(t)}valueOf(){const e=this.bytes.slice(0);const t=e[0]&128;if(t){negate(e)}return parseInt(n.toHex(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function negate(e){for(let t=0;t<8;t++){e[t]^=255}for(let t=7;t>-1;t--){e[t]++;if(e[t]!==0)break}}const hasHeader=(e,t)=>{e=e.toLowerCase();for(const o of Object.keys(t)){if(e===o.toLowerCase()){return true}}return false};const moveHeadersToQuery=(e,t={})=>{const{headers:o,query:n={}}=p.HttpRequest.clone(e);for(const e of Object.keys(o)){const i=e.toLowerCase();if(i.slice(0,6)==="x-amz-"&&!t.unhoistableHeaders?.has(i)||t.hoistableHeaders?.has(i)){n[e]=o[e];delete o[e]}}return{...e,headers:o,query:n}};const prepareRequest=e=>{e=p.HttpRequest.clone(e);for(const t of Object.keys(e.headers)){if(ne.indexOf(t.toLowerCase())>-1){delete e.headers[t]}}return e};const getCanonicalQuery=({query:e={}})=>{const t=[];const o={};for(const n of Object.keys(e)){if(n.toLowerCase()===ie){continue}const i=D.escapeUri(n);t.push(i);const h=e[n];if(typeof h==="string"){o[i]=`${i}=${D.escapeUri(h)}`}else if(Array.isArray(h)){o[i]=h.slice(0).reduce(((e,t)=>e.concat([`${i}=${D.escapeUri(t)}`])),[]).sort().join("&")}}return t.sort().map((e=>o[e])).filter((e=>e)).join("&")};const iso8601=e=>toDate(e).toISOString().replace(/\.\d{3}Z$/,"Z");const toDate=e=>{if(typeof e==="number"){return new Date(e*1e3)}if(typeof e==="string"){if(Number(e)){return new Date(Number(e)*1e3)}return new Date(e)}return e};class SignatureV4Base{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:o,service:n,sha256:i,uriEscapePath:h=true}){this.service=n;this.sha256=i;this.uriEscapePath=h;this.applyChecksum=typeof e==="boolean"?e:true;this.regionProvider=Q.normalizeProvider(o);this.credentialProvider=Q.normalizeProvider(t)}createCanonicalRequest(e,t,o){const n=Object.keys(t).sort();return`${e.method}\n${this.getCanonicalPath(e)}\n${getCanonicalQuery(e)}\n${n.map((e=>`${e}:${t[e]}`)).join("\n")}\n\n${n.join(";")}\n${o}`}async createStringToSign(e,t,o,h){const p=new this.sha256;p.update(i.toUint8Array(o));const Q=await p.digest();return`${h}\n${e}\n${t}\n${n.toHex(Q)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){const t=[];for(const o of e.split("/")){if(o?.length===0)continue;if(o===".")continue;if(o===".."){t.pop()}else{t.push(o)}}const o=`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`;const n=D.escapeUri(o);return n.replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if(typeof e!=="object"||typeof e.accessKeyId!=="string"||typeof e.secretAccessKey!=="string"){throw new Error("Resolved credential object is not valid")}}formatDate(e){const t=iso8601(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class SignatureV4 extends SignatureV4Base{headerFormatter=new HeaderFormatter;constructor({applyChecksum:e,credentials:t,region:o,service:n,sha256:i,uriEscapePath:h=true}){super({applyChecksum:e,credentials:t,region:o,service:n,sha256:i,uriEscapePath:h})}async presign(e,t={}){const{signingDate:o=new Date,expiresIn:n=3600,unsignableHeaders:i,unhoistableHeaders:h,signableHeaders:p,hoistableHeaders:Q,signingRegion:D,signingService:te}=t;const re=await this.credentialProvider();this.validateResolvedCredentials(re);const se=D??await this.regionProvider();const{longDate:oe,shortDate:ne}=this.formatDate(o);if(n>Ie){return Promise.reject("Signature version 4 presigned URLs"+" must have an expiration date less than one week in"+" the future")}const ie=createScope(ne,se,te??this.service);const Ae=moveHeadersToQuery(prepareRequest(e),{unhoistableHeaders:h,hoistableHeaders:Q});if(re.sessionToken){Ae.query[ee]=re.sessionToken}Ae.query[T]=he;Ae.query[_]=`${re.accessKeyId}/${ie}`;Ae.query[O]=oe;Ae.query[j]=n.toString(10);const ae=getCanonicalHeaders(Ae,i,p);Ae.query[V]=this.getCanonicalHeaderList(ae);Ae.query[$]=await this.getSignature(oe,ie,this.getSigningKey(re,se,ne,te),this.createCanonicalRequest(Ae,ae,await getPayloadHash(e,this.sha256)));return Ae}async sign(e,t){if(typeof e==="string"){return this.signString(e,t)}else if(e.headers&&e.payload){return this.signEvent(e,t)}else if(e.message){return this.signMessage(e,t)}else{return this.signRequest(e,t)}}async signEvent({headers:e,payload:t},{signingDate:o=new Date,priorSignature:i,signingRegion:h,signingService:p}){const Q=h??await this.regionProvider();const{shortDate:D,longDate:T}=this.formatDate(o);const _=createScope(D,Q,p??this.service);const O=await getPayloadHash({headers:{},body:t},this.sha256);const V=new this.sha256;V.update(e);const j=n.toHex(await V.digest());const $=[fe,T,_,i,j,O].join("\n");return this.signString($,{signingDate:o,signingRegion:Q,signingService:p})}async signMessage(e,{signingDate:t=new Date,signingRegion:o,signingService:n}){const i=this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:o,signingService:n,priorSignature:e.priorSignature});return i.then((t=>({message:e.message,signature:t})))}async signString(e,{signingDate:t=new Date,signingRegion:o,signingService:h}={}){const p=await this.credentialProvider();this.validateResolvedCredentials(p);const Q=o??await this.regionProvider();const{shortDate:D}=this.formatDate(t);const T=new this.sha256(await this.getSigningKey(p,Q,D,h));T.update(i.toUint8Array(e));return n.toHex(await T.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:o,unsignableHeaders:n,signingRegion:i,signingService:h}={}){const p=await this.credentialProvider();this.validateResolvedCredentials(p);const Q=i??await this.regionProvider();const D=prepareRequest(e);const{longDate:T,shortDate:_}=this.formatDate(t);const O=createScope(_,Q,h??this.service);D.headers[se]=T;if(p.sessionToken){D.headers[ae]=p.sessionToken}const V=await getPayloadHash(D,this.sha256);if(!hasHeader(Ae,D.headers)&&this.applyChecksum){D.headers[Ae]=V}const j=getCanonicalHeaders(D,n,o);const $=await this.getSignature(T,O,this.getSigningKey(p,Q,_,h),this.createCanonicalRequest(D,j,V));D.headers[re]=`${he} `+`Credential=${p.accessKeyId}/${O}, `+`SignedHeaders=${this.getCanonicalHeaderList(j)}, `+`Signature=${$}`;return D}async getSignature(e,t,o,h){const p=await this.createStringToSign(e,t,h,he);const Q=new this.sha256(await o);Q.update(i.toUint8Array(p));return n.toHex(await Q.digest())}getSigningKey(e,t,o,n){return getSigningKey(this.sha256,e,o,t,n||this.service)}}const we={SignatureV4a:null};t.ALGORITHM_IDENTIFIER=he;t.ALGORITHM_IDENTIFIER_V4A=pe;t.ALGORITHM_QUERY_PARAM=T;t.ALWAYS_UNSIGNABLE_HEADERS=le;t.AMZ_DATE_HEADER=se;t.AMZ_DATE_QUERY_PARAM=O;t.AUTH_HEADER=re;t.CREDENTIAL_QUERY_PARAM=_;t.DATE_HEADER=oe;t.EVENT_ALGORITHM_IDENTIFIER=fe;t.EXPIRES_QUERY_PARAM=j;t.GENERATED_HEADERS=ne;t.HOST_HEADER=ce;t.KEY_TYPE_IDENTIFIER=me;t.MAX_CACHE_SIZE=Ce;t.MAX_PRESIGNED_TTL=Ie;t.PROXY_HEADER_PATTERN=ue;t.REGION_SET_PARAM=te;t.SEC_HEADER_PATTERN=ge;t.SHA256_HEADER=Ae;t.SIGNATURE_HEADER=ie;t.SIGNATURE_QUERY_PARAM=$;t.SIGNED_HEADERS_QUERY_PARAM=V;t.SignatureV4=SignatureV4;t.SignatureV4Base=SignatureV4Base;t.TOKEN_HEADER=ae;t.TOKEN_QUERY_PARAM=ee;t.UNSIGNABLE_PATTERNS=de;t.UNSIGNED_PAYLOAD=Ee;t.clearCredentialCache=clearCredentialCache;t.createScope=createScope;t.getCanonicalHeaders=getCanonicalHeaders;t.getCanonicalQuery=getCanonicalQuery;t.getPayloadHash=getPayloadHash;t.getSigningKey=getSigningKey;t.hasHeader=hasHeader;t.moveHeadersToQuery=moveHeadersToQuery;t.prepareRequest=prepareRequest;t.signatureV4aContainer=we},1411:(e,t,o)=>{"use strict";var n=o(9208);var i=o(3422);var h=o(690);var p=o(6890);var Q=o(2430);class Client{config;middlewareStack=n.constructStack();initConfig;handlers;constructor(e){this.config=e;const{protocol:t,protocolSettings:o}=e;if(o){if(typeof t==="function"){e.protocol=new t(o)}}}send(e,t,o){const n=typeof t!=="function"?t:undefined;const i=typeof t==="function"?t:o;const h=n===undefined&&this.config.cacheMiddleware===true;let p;if(h){if(!this.handlers){this.handlers=new WeakMap}const t=this.handlers;if(t.has(e.constructor)){p=t.get(e.constructor)}else{p=e.resolveMiddleware(this.middlewareStack,this.config,n);t.set(e.constructor,p)}}else{delete this.handlers;p=e.resolveMiddleware(this.middlewareStack,this.config,n)}if(i){p(e).then((e=>i(null,e.output)),(e=>i(e))).catch((()=>{}))}else{return p(e).then((e=>e.output))}}destroy(){this.config?.requestHandler?.destroy?.();delete this.handlers}}const D="***SensitiveInformation***";function schemaLogFilter(e,t){if(t==null){return t}const o=p.NormalizedSchema.of(e);if(o.getMergedTraits().sensitive){return D}if(o.isListSchema()){const e=!!o.getValueSchema().getMergedTraits().sensitive;if(e){return D}}else if(o.isMapSchema()){const e=!!o.getKeySchema().getMergedTraits().sensitive||!!o.getValueSchema().getMergedTraits().sensitive;if(e){return D}}else if(o.isStructSchema()&&typeof t==="object"){const e=t;const n={};for(const[t,i]of o.structIterator()){if(e[t]!=null){n[t]=schemaLogFilter(i,e[t])}}return n}return t}class Command{middlewareStack=n.constructStack();schema;static classBuilder(){return new ClassBuilder}resolveMiddlewareWithContext(e,t,o,{middlewareFn:n,clientName:i,commandName:p,inputFilterSensitiveLog:Q,outputFilterSensitiveLog:D,smithyContext:T,additionalContext:_,CommandCtor:O}){for(const i of n.bind(this)(O,e,t,o)){this.middlewareStack.use(i)}const V=e.concat(this.middlewareStack);const{logger:j}=t;const $={logger:j,clientName:i,commandName:p,inputFilterSensitiveLog:Q,outputFilterSensitiveLog:D,[h.SMITHY_CONTEXT_KEY]:{commandInstance:this,...T},..._};const{requestHandler:ee}=t;return V.resolve((e=>ee.handle(e.request,o||{})),$)}}class ClassBuilder{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=undefined;_outputFilterSensitiveLog=undefined;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){this._ep=e;return this}m(e){this._middlewareFn=e;return this}s(e,t,o={}){this._smithyContext={service:e,operation:t,...o};return this}c(e={}){this._additionalContext=e;return this}n(e,t){this._clientName=e;this._commandName=t;return this}f(e=e=>e,t=e=>e){this._inputFilterSensitiveLog=e;this._outputFilterSensitiveLog=t;return this}ser(e){this._serializer=e;return this}de(e){this._deserializer=e;return this}sc(e){this._operationSchema=e;this._smithyContext.operationSchema=e;return this}build(){const e=this;let t;return t=class extends Command{input;static getEndpointParameterInstructions(){return e._ep}constructor(...[t]){super();this.input=t??{};e._init(this);this.schema=e._operationSchema}resolveMiddleware(o,n,i){const h=e._operationSchema;const p=h?.[4]??h?.input;const Q=h?.[5]??h?.output;return this.resolveMiddlewareWithContext(o,n,i,{CommandCtor:t,middlewareFn:e._middlewareFn,clientName:e._clientName,commandName:e._commandName,inputFilterSensitiveLog:e._inputFilterSensitiveLog??(h?schemaLogFilter.bind(null,p):e=>e),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(h?schemaLogFilter.bind(null,Q):e=>e),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}}const T="***SensitiveInformation***";const createAggregatedClient=(e,t,o)=>{for(const[o,n]of Object.entries(e)){const methodImpl=async function(e,t,o){const i=new n(e);if(typeof t==="function"){this.send(i,t)}else if(typeof o==="function"){if(typeof t!=="object")throw new Error(`Expected http options but got ${typeof t}`);this.send(i,t||{},o)}else{return this.send(i,t)}};const e=(o[0].toLowerCase()+o.slice(1)).replace(/Command$/,"");t.prototype[e]=methodImpl}const{paginators:n={},waiters:i={}}=o??{};for(const[e,o]of Object.entries(n)){if(t.prototype[e]===void 0){t.prototype[e]=function(e={},t,...n){return o({...t,client:this},e,...n)}}}for(const[e,o]of Object.entries(i)){if(t.prototype[e]===void 0){t.prototype[e]=async function(e={},t,...n){let i=t;if(typeof t==="number"){i={maxWaitTime:t}}return o({...i,client:this},e,...n)}}}};class ServiceException extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message);Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype);this.name=e.name;this.$fault=e.$fault;this.$metadata=e.$metadata}static isInstance(e){if(!e)return false;const t=e;return ServiceException.prototype.isPrototypeOf(t)||Boolean(t.$fault)&&Boolean(t.$metadata)&&(t.$fault==="client"||t.$fault==="server")}static[Symbol.hasInstance](e){if(!e)return false;const t=e;if(this===ServiceException){return ServiceException.isInstance(e)}if(ServiceException.isInstance(e)){if(t.name&&this.name){return this.prototype.isPrototypeOf(e)||t.name===this.name}return this.prototype.isPrototypeOf(e)}return false}}const decorateServiceException=(e,t={})=>{Object.entries(t).filter((([,e])=>e!==undefined)).forEach((([t,o])=>{if(e[t]==undefined||e[t]===""){e[t]=o}}));const o=e.message||e.Message||"UnknownError";e.message=o;delete e.Message;return e};const throwDefaultError=({output:e,parsedBody:t,exceptionCtor:o,errorCode:n})=>{const i=deserializeMetadata(e);const h=i.httpStatusCode?i.httpStatusCode+"":undefined;const p=new o({name:t?.code||t?.Code||n||h||"UnknownError",$fault:"client",$metadata:i});throw decorateServiceException(p,t)};const withBaseException=e=>({output:t,parsedBody:o,errorCode:n})=>{throwDefaultError({output:t,parsedBody:o,exceptionCtor:e,errorCode:n})};const deserializeMetadata=e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]});const loadConfigsForDefaultMode=e=>{switch(e){case"standard":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}};let _=false;const emitWarningIfUnsupportedVersion=e=>{if(e&&!_&&parseInt(e.substring(1,e.indexOf(".")))<16){_=true}};const O=Object.values(h.AlgorithmId);const getChecksumConfiguration=e=>{const t=[];for(const o in h.AlgorithmId){const n=h.AlgorithmId[o];if(e[n]===undefined){continue}t.push({algorithmId:()=>n,checksumConstructor:()=>e[n]})}for(const[o,n]of Object.entries(e.checksumAlgorithms??{})){t.push({algorithmId:()=>o,checksumConstructor:()=>n})}return{addChecksumAlgorithm(o){e.checksumAlgorithms=e.checksumAlgorithms??{};const n=o.algorithmId();const i=o.checksumConstructor();if(O.includes(n)){e.checksumAlgorithms[n.toUpperCase()]=i}else{e.checksumAlgorithms[n]=i}t.push(o)},checksumAlgorithms(){return t}}};const resolveChecksumRuntimeConfig=e=>{const t={};e.checksumAlgorithms().forEach((e=>{const o=e.algorithmId();if(O.includes(o)){t[o]=e.checksumConstructor()}}));return t};const getRetryConfiguration=e=>({setRetryStrategy(t){e.retryStrategy=t},retryStrategy(){return e.retryStrategy}});const resolveRetryRuntimeConfig=e=>{const t={};t.retryStrategy=e.retryStrategy();return t};const getDefaultExtensionConfiguration=e=>Object.assign(getChecksumConfiguration(e),getRetryConfiguration(e));const V=getDefaultExtensionConfiguration;const resolveDefaultRuntimeConfig=e=>Object.assign(resolveChecksumRuntimeConfig(e),resolveRetryRuntimeConfig(e));const getArrayIfSingleItem=e=>Array.isArray(e)?e:[e];const getValueFromTextNode=e=>{const t="#text";for(const o in e){if(e.hasOwnProperty(o)&&e[o][t]!==undefined){e[o]=e[o][t]}else if(typeof e[o]==="object"&&e[o]!==null){e[o]=getValueFromTextNode(e[o])}}return e};const isSerializableHeaderValue=e=>e!=null;class NoOpLogger{trace(){}debug(){}info(){}warn(){}error(){}}function map(e,t,o){let n;let i;let h;if(typeof t==="undefined"&&typeof o==="undefined"){n={};h=e}else{n=e;if(typeof t==="function"){i=t;h=o;return mapWithFilter(n,i,h)}else{h=t}}for(const e of Object.keys(h)){if(!Array.isArray(h[e])){n[e]=h[e];continue}applyInstruction(n,null,h,e)}return n}const convertMap=e=>{const t={};for(const[o,n]of Object.entries(e||{})){t[o]=[,n]}return t};const take=(e,t)=>{const o={};for(const n in t){applyInstruction(o,e,t,n)}return o};const mapWithFilter=(e,t,o)=>map(e,Object.entries(o).reduce(((e,[o,n])=>{if(Array.isArray(n)){e[o]=n}else{if(typeof n==="function"){e[o]=[t,n()]}else{e[o]=[t,n]}}return e}),{}));const applyInstruction=(e,t,o,n)=>{if(t!==null){let i=o[n];if(typeof i==="function"){i=[,i]}const[h=nonNullish,p=pass,Q=n]=i;if(typeof h==="function"&&h(t[Q])||typeof h!=="function"&&!!h){e[n]=p(t[Q])}return}let[i,h]=o[n];if(typeof h==="function"){let t;const o=i===undefined&&(t=h())!=null;const p=typeof i==="function"&&!!i(void 0)||typeof i!=="function"&&!!i;if(o){e[n]=t}else if(p){e[n]=h()}}else{const t=i===undefined&&h!=null;const o=typeof i==="function"&&!!i(h)||typeof i!=="function"&&!!i;if(t||o){e[n]=h}}};const nonNullish=e=>e!=null;const pass=e=>e;const serializeFloat=e=>{if(e!==e){return"NaN"}switch(e){case Infinity:return"Infinity";case-Infinity:return"-Infinity";default:return e}};const serializeDateTime=e=>e.toISOString().replace(".000Z","Z");const _json=e=>{if(e==null){return{}}if(Array.isArray(e)){return e.filter((e=>e!=null)).map(_json)}if(typeof e==="object"){const t={};for(const o of Object.keys(e)){if(e[o]==null){continue}t[o]=_json(e[o])}return t}return e};t.collectBody=i.collectBody;t.extendedEncodeURIComponent=i.extendedEncodeURIComponent;t.resolvedPath=i.resolvedPath;t.Client=Client;t.Command=Command;t.NoOpLogger=NoOpLogger;t.SENSITIVE_STRING=T;t.ServiceException=ServiceException;t._json=_json;t.convertMap=convertMap;t.createAggregatedClient=createAggregatedClient;t.decorateServiceException=decorateServiceException;t.emitWarningIfUnsupportedVersion=emitWarningIfUnsupportedVersion;t.getArrayIfSingleItem=getArrayIfSingleItem;t.getDefaultClientConfiguration=V;t.getDefaultExtensionConfiguration=getDefaultExtensionConfiguration;t.getValueFromTextNode=getValueFromTextNode;t.isSerializableHeaderValue=isSerializableHeaderValue;t.loadConfigsForDefaultMode=loadConfigsForDefaultMode;t.map=map;t.resolveDefaultRuntimeConfig=resolveDefaultRuntimeConfig;t.serializeDateTime=serializeDateTime;t.serializeFloat=serializeFloat;t.take=take;t.throwDefaultError=throwDefaultError;t.withBaseException=withBaseException;Object.prototype.hasOwnProperty.call(Q,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:Q["__proto__"]});Object.keys(Q).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=Q[e]}))},690:(e,t)=>{"use strict";t.HttpAuthLocation=void 0;(function(e){e["HEADER"]="header";e["QUERY"]="query"})(t.HttpAuthLocation||(t.HttpAuthLocation={}));t.HttpApiKeyAuthLocation=void 0;(function(e){e["HEADER"]="header";e["QUERY"]="query"})(t.HttpApiKeyAuthLocation||(t.HttpApiKeyAuthLocation={}));t.EndpointURLScheme=void 0;(function(e){e["HTTP"]="http";e["HTTPS"]="https"})(t.EndpointURLScheme||(t.EndpointURLScheme={}));t.AlgorithmId=void 0;(function(e){e["MD5"]="md5";e["CRC32"]="crc32";e["CRC32C"]="crc32c";e["SHA1"]="sha1";e["SHA256"]="sha256"})(t.AlgorithmId||(t.AlgorithmId={}));const getChecksumConfiguration=e=>{const o=[];if(e.sha256!==undefined){o.push({algorithmId:()=>t.AlgorithmId.SHA256,checksumConstructor:()=>e.sha256})}if(e.md5!=undefined){o.push({algorithmId:()=>t.AlgorithmId.MD5,checksumConstructor:()=>e.md5})}return{addChecksumAlgorithm(e){o.push(e)},checksumAlgorithms(){return o}}};const resolveChecksumRuntimeConfig=e=>{const t={};e.checksumAlgorithms().forEach((e=>{t[e.algorithmId()]=e.checksumConstructor()}));return t};const getDefaultClientConfiguration=e=>getChecksumConfiguration(e);const resolveDefaultRuntimeConfig=e=>resolveChecksumRuntimeConfig(e);t.FieldPosition=void 0;(function(e){e[e["HEADER"]=0]="HEADER";e[e["TRAILER"]=1]="TRAILER"})(t.FieldPosition||(t.FieldPosition={}));const o="__smithy_context";t.IniSectionType=void 0;(function(e){e["PROFILE"]="profile";e["SSO_SESSION"]="sso-session";e["SERVICES"]="services"})(t.IniSectionType||(t.IniSectionType={}));t.RequestHandlerProtocol=void 0;(function(e){e["HTTP_0_9"]="http/0.9";e["HTTP_1_0"]="http/1.0";e["TDS_8_0"]="tds/8.0"})(t.RequestHandlerProtocol||(t.RequestHandlerProtocol={}));t.SMITHY_CONTEXT_KEY=o;t.getDefaultClientConfiguration=getDefaultClientConfiguration;t.resolveDefaultRuntimeConfig=resolveDefaultRuntimeConfig},4494:(e,t,o)=>{"use strict";var n=o(8822);const parseUrl=e=>{if(typeof e==="string"){return parseUrl(new URL(e))}const{hostname:t,pathname:o,port:i,protocol:h,search:p}=e;let Q;if(p){Q=n.parseQueryString(p)}return{hostname:t,port:i?parseInt(i):undefined,protocol:h,path:o,query:Q}};t.parseUrl=parseUrl},2674:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.fromBase64=void 0;const n=o(4151);const i=/^[A-Za-z0-9+/]*={0,2}$/;const fromBase64=e=>{if(e.length*3%4!==0){throw new TypeError(`Incorrect padding on base64 string.`)}if(!i.exec(e)){throw new TypeError(`Invalid base64 string.`)}const t=(0,n.fromString)(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)};t.fromBase64=fromBase64},8385:(e,t,o)=>{"use strict";var n=o(2674);var i=o(4871);Object.prototype.hasOwnProperty.call(n,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:n["__proto__"]});Object.keys(n).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=n[e]}));Object.prototype.hasOwnProperty.call(i,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:i["__proto__"]});Object.keys(i).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=i[e]}))},4871:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toBase64=void 0;const n=o(4151);const i=o(1577);const toBase64=e=>{let t;if(typeof e==="string"){t=(0,i.fromUtf8)(e)}else{t=e}if(typeof t!=="object"||typeof t.byteOffset!=="number"||typeof t.byteLength!=="number"){throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.")}return(0,n.fromArrayBuffer)(t.buffer,t.byteOffset,t.byteLength).toString("base64")};t.toBase64=toBase64},2098:(e,t)=>{"use strict";const o=typeof TextEncoder=="function"?new TextEncoder:null;const calculateBodyLength=e=>{if(typeof e==="string"){if(o){return o.encode(e).byteLength}let t=e.length;for(let o=t-1;o>=0;o--){const n=e.charCodeAt(o);if(n>127&&n<=2047)t++;else if(n>2047&&n<=65535)t+=2;if(n>=56320&&n<=57343)o--}return t}else if(typeof e.byteLength==="number"){return e.byteLength}else if(typeof e.size==="number"){return e.size}throw new Error(`Body Length computation failed for ${e}`)};t.calculateBodyLength=calculateBodyLength},3638:(e,t,o)=>{"use strict";var n=o(3024);const calculateBodyLength=e=>{if(!e){return 0}if(typeof e==="string"){return Buffer.byteLength(e)}else if(typeof e.byteLength==="number"){return e.byteLength}else if(typeof e.size==="number"){return e.size}else if(typeof e.start==="number"&&typeof e.end==="number"){return e.end+1-e.start}else if(e instanceof n.ReadStream){if(e.path!=null){return n.lstatSync(e.path).size}else if(typeof e.fd==="number"){return n.fstatSync(e.fd).size}}throw new Error(`Body Length computation failed for ${e}`)};t.calculateBodyLength=calculateBodyLength},4151:(e,t,o)=>{"use strict";var n=o(6130);var i=o(181);const fromArrayBuffer=(e,t=0,o=e.byteLength-t)=>{if(!n.isArrayBuffer(e)){throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`)}return i.Buffer.from(e,t,o)};const fromString=(e,t)=>{if(typeof e!=="string"){throw new TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`)}return t?i.Buffer.from(e,t):i.Buffer.from(e)};t.fromArrayBuffer=fromArrayBuffer;t.fromString=fromString},6716:(e,t)=>{"use strict";const booleanSelector=(e,t,o)=>{if(!(t in e))return undefined;if(e[t]==="true")return true;if(e[t]==="false")return false;throw new Error(`Cannot load ${o} "${t}". Expected "true" or "false", got ${e[t]}.`)};const numberSelector=(e,t,o)=>{if(!(t in e))return undefined;const n=parseInt(e[t],10);if(Number.isNaN(n)){throw new TypeError(`Cannot load ${o} '${t}'. Expected number, got '${e[t]}'.`)}return n};t.SelectorType=void 0;(function(e){e["ENV"]="env";e["CONFIG"]="shared config entry"})(t.SelectorType||(t.SelectorType={}));t.booleanSelector=booleanSelector;t.numberSelector=numberSelector},5435:(e,t,o)=>{"use strict";var n=o(9316);var i=o(5704);var h=o(1238);const p="AWS_EXECUTION_ENV";const Q="AWS_REGION";const D="AWS_DEFAULT_REGION";const T="AWS_EC2_METADATA_DISABLED";const _=["in-region","cross-region","mobile","standard","legacy"];const O="/latest/meta-data/placement/region";const V="AWS_DEFAULTS_MODE";const j="defaults_mode";const $={environmentVariableSelector:e=>e[V],configFileSelector:e=>e[j],default:"legacy"};const resolveDefaultsModeConfig=({region:e=i.loadConfig(n.NODE_REGION_CONFIG_OPTIONS),defaultsMode:t=i.loadConfig($)}={})=>h.memoize((async()=>{const o=typeof t==="function"?await t():t;switch(o?.toLowerCase()){case"auto":return resolveNodeDefaultsModeAuto(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(o?.toLocaleLowerCase());case undefined:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${_.join(", ")}, got ${o}`)}}));const resolveNodeDefaultsModeAuto=async e=>{if(e){const t=typeof e==="function"?await e():e;const o=await inferPhysicalRegion();if(!o){return"standard"}if(t===o){return"in-region"}else{return"cross-region"}}return"standard"};const inferPhysicalRegion=async()=>{if(process.env[p]&&(process.env[Q]||process.env[D])){return process.env[Q]??process.env[D]}if(!process.env[T]){try{const{getInstanceMetadataEndpoint:e,httpRequest:t}=await o.e(566).then(o.t.bind(o,566,19));const n=await e();return(await t({...n,path:O})).toString()}catch(e){}}};t.resolveDefaultsModeConfig=resolveDefaultsModeConfig},9674:(e,t,o)=>{"use strict";var n=o(690);class EndpointCache{capacity;data=new Map;parameters=[];constructor({size:e,params:t}){this.capacity=e??50;if(t){this.parameters=t}}get(e,t){const o=this.hash(e);if(o===false){return t()}if(!this.data.has(o)){if(this.data.size>this.capacity+10){const e=this.data.keys();let t=0;while(true){const{value:o,done:n}=e.next();this.data.delete(o);if(n||++t>10){break}}}this.data.set(o,t())}return this.data.get(o)}size(){return this.data.size}hash(e){let t="";const{parameters:o}=this;if(o.length===0){return false}for(const n of o){const o=String(e[n]??"");if(o.includes("|;")){return false}t+=o+"|;"}return t}}const i=new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`);const isIpAddress=e=>i.test(e)||e.startsWith("[")&&e.endsWith("]");const h=new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);const isValidHostLabel=(e,t=false)=>{if(!t){return h.test(e)}const o=e.split(".");for(const e of o){if(!isValidHostLabel(e)){return false}}return true};const p={};const Q="endpoints";function toDebugString(e){if(typeof e!=="object"||e==null){return e}if("ref"in e){return`$${toDebugString(e.ref)}`}if("fn"in e){return`${e.fn}(${(e.argv||[]).map(toDebugString).join(", ")})`}return JSON.stringify(e,null,2)}class EndpointError extends Error{constructor(e){super(e);this.name="EndpointError"}}const booleanEquals=(e,t)=>e===t;const getAttrPathList=e=>{const t=e.split(".");const o=[];for(const n of t){const t=n.indexOf("[");if(t!==-1){if(n.indexOf("]")!==n.length-1){throw new EndpointError(`Path: '${e}' does not end with ']'`)}const i=n.slice(t+1,-1);if(Number.isNaN(parseInt(i))){throw new EndpointError(`Invalid array index: '${i}' in path: '${e}'`)}if(t!==0){o.push(n.slice(0,t))}o.push(i)}else{o.push(n)}}return o};const getAttr=(e,t)=>getAttrPathList(t).reduce(((o,n)=>{if(typeof o!=="object"){throw new EndpointError(`Index '${n}' in '${t}' not found in '${JSON.stringify(e)}'`)}else if(Array.isArray(o)){return o[parseInt(n)]}return o[n]}),e);const isSet=e=>e!=null;const not=e=>!e;const D={[n.EndpointURLScheme.HTTP]:80,[n.EndpointURLScheme.HTTPS]:443};const parseURL=e=>{const t=(()=>{try{if(e instanceof URL){return e}if(typeof e==="object"&&"hostname"in e){const{hostname:t,port:o,protocol:n="",path:i="",query:h={}}=e;const p=new URL(`${n}//${t}${o?`:${o}`:""}${i}`);p.search=Object.entries(h).map((([e,t])=>`${e}=${t}`)).join("&");return p}return new URL(e)}catch(e){return null}})();if(!t){console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`);return null}const o=t.href;const{host:i,hostname:h,pathname:p,protocol:Q,search:T}=t;if(T){return null}const _=Q.slice(0,-1);if(!Object.values(n.EndpointURLScheme).includes(_)){return null}const O=isIpAddress(h);const V=o.includes(`${i}:${D[_]}`)||typeof e==="string"&&e.includes(`${i}:${D[_]}`);const j=`${i}${V?`:${D[_]}`:``}`;return{scheme:_,authority:j,path:p,normalizedPath:p.endsWith("/")?p:`${p}/`,isIp:O}};const stringEquals=(e,t)=>e===t;const substring=(e,t,o,n)=>{if(t>=o||e.length<o||/[^\u0000-\u007f]/.test(e)){return null}if(!n){return e.substring(t,o)}return e.substring(e.length-o,e.length-t)};const uriEncode=e=>encodeURIComponent(e).replace(/[!*'()]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`));const T={booleanEquals:booleanEquals,getAttr:getAttr,isSet:isSet,isValidHostLabel:isValidHostLabel,not:not,parseURL:parseURL,stringEquals:stringEquals,substring:substring,uriEncode:uriEncode};const evaluateTemplate=(e,t)=>{const o=[];const n={...t.endpointParams,...t.referenceRecord};let i=0;while(i<e.length){const t=e.indexOf("{",i);if(t===-1){o.push(e.slice(i));break}o.push(e.slice(i,t));const h=e.indexOf("}",t);if(h===-1){o.push(e.slice(t));break}if(e[t+1]==="{"&&e[h+1]==="}"){o.push(e.slice(t+1,h));i=h+2}const p=e.substring(t+1,h);if(p.includes("#")){const[e,t]=p.split("#");o.push(getAttr(n[e],t))}else{o.push(n[p])}i=h+1}return o.join("")};const getReferenceValue=({ref:e},t)=>{const o={...t.endpointParams,...t.referenceRecord};return o[e]};const evaluateExpression=(e,t,o)=>{if(typeof e==="string"){return evaluateTemplate(e,o)}else if(e["fn"]){return _.callFunction(e,o)}else if(e["ref"]){return getReferenceValue(e,o)}throw new EndpointError(`'${t}': ${String(e)} is not a string, function or reference.`)};const callFunction=({fn:e,argv:t},o)=>{const n=t.map((e=>["boolean","number"].includes(typeof e)?e:_.evaluateExpression(e,"arg",o)));const i=e.split(".");if(i[0]in p&&i[1]!=null){return p[i[0]][i[1]](...n)}return T[e](...n)};const _={evaluateExpression:evaluateExpression,callFunction:callFunction};const evaluateCondition=({assign:e,...t},o)=>{if(e&&e in o.referenceRecord){throw new EndpointError(`'${e}' is already defined in Reference Record.`)}const n=callFunction(t,o);o.logger?.debug?.(`${Q} evaluateCondition: ${toDebugString(t)} = ${toDebugString(n)}`);return{result:n===""?true:!!n,...e!=null&&{toAssign:{name:e,value:n}}}};const evaluateConditions=(e=[],t)=>{const o={};for(const n of e){const{result:e,toAssign:i}=evaluateCondition(n,{...t,referenceRecord:{...t.referenceRecord,...o}});if(!e){return{result:e}}if(i){o[i.name]=i.value;t.logger?.debug?.(`${Q} assign: ${i.name} := ${toDebugString(i.value)}`)}}return{result:true,referenceRecord:o}};const getEndpointHeaders=(e,t)=>Object.entries(e).reduce(((e,[o,n])=>({...e,[o]:n.map((e=>{const n=evaluateExpression(e,"Header value entry",t);if(typeof n!=="string"){throw new EndpointError(`Header '${o}' value '${n}' is not a string`)}return n}))})),{});const getEndpointProperties=(e,t)=>Object.entries(e).reduce(((e,[o,n])=>({...e,[o]:O.getEndpointProperty(n,t)})),{});const getEndpointProperty=(e,t)=>{if(Array.isArray(e)){return e.map((e=>getEndpointProperty(e,t)))}switch(typeof e){case"string":return evaluateTemplate(e,t);case"object":if(e===null){throw new EndpointError(`Unexpected endpoint property: ${e}`)}return O.getEndpointProperties(e,t);case"boolean":return e;default:throw new EndpointError(`Unexpected endpoint property type: ${typeof e}`)}};const O={getEndpointProperty:getEndpointProperty,getEndpointProperties:getEndpointProperties};const getEndpointUrl=(e,t)=>{const o=evaluateExpression(e,"Endpoint URL",t);if(typeof o==="string"){try{return new URL(o)}catch(e){console.error(`Failed to construct URL with ${o}`,e);throw e}}throw new EndpointError(`Endpoint URL must be a string, got ${typeof o}`)};const evaluateEndpointRule=(e,t)=>{const{conditions:o,endpoint:n}=e;const{result:i,referenceRecord:h}=evaluateConditions(o,t);if(!i){return}const p={...t,referenceRecord:{...t.referenceRecord,...h}};const{url:D,properties:T,headers:_}=n;t.logger?.debug?.(`${Q} Resolving endpoint from template: ${toDebugString(n)}`);return{..._!=undefined&&{headers:getEndpointHeaders(_,p)},...T!=undefined&&{properties:getEndpointProperties(T,p)},url:getEndpointUrl(D,p)}};const evaluateErrorRule=(e,t)=>{const{conditions:o,error:n}=e;const{result:i,referenceRecord:h}=evaluateConditions(o,t);if(!i){return}throw new EndpointError(evaluateExpression(n,"Error",{...t,referenceRecord:{...t.referenceRecord,...h}}))};const evaluateRules=(e,t)=>{for(const o of e){if(o.type==="endpoint"){const e=evaluateEndpointRule(o,t);if(e){return e}}else if(o.type==="error"){evaluateErrorRule(o,t)}else if(o.type==="tree"){const e=V.evaluateTreeRule(o,t);if(e){return e}}else{throw new EndpointError(`Unknown endpoint rule: ${o}`)}}throw new EndpointError(`Rules evaluation failed`)};const evaluateTreeRule=(e,t)=>{const{conditions:o,rules:n}=e;const{result:i,referenceRecord:h}=evaluateConditions(o,t);if(!i){return}return V.evaluateRules(n,{...t,referenceRecord:{...t.referenceRecord,...h}})};const V={evaluateRules:evaluateRules,evaluateTreeRule:evaluateTreeRule};const resolveEndpoint=(e,t)=>{const{endpointParams:o,logger:n}=t;const{parameters:i,rules:h}=e;t.logger?.debug?.(`${Q} Initial EndpointParams: ${toDebugString(o)}`);const p=Object.entries(i).filter((([,e])=>e.default!=null)).map((([e,t])=>[e,t.default]));if(p.length>0){for(const[e,t]of p){o[e]=o[e]??t}}const D=Object.entries(i).filter((([,e])=>e.required)).map((([e])=>e));for(const e of D){if(o[e]==null){throw new EndpointError(`Missing required parameter: '${e}'`)}}const T=evaluateRules(h,{endpointParams:o,logger:n,referenceRecord:{}});t.logger?.debug?.(`${Q} Resolved endpoint: ${toDebugString(T)}`);return T};t.EndpointCache=EndpointCache;t.EndpointError=EndpointError;t.customEndpointFunctions=p;t.isIpAddress=isIpAddress;t.isValidHostLabel=isValidHostLabel;t.resolveEndpoint=resolveEndpoint},6435:(e,t)=>{"use strict";const o={};const n={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();if(t.length===1){t=`0${t}`}o[e]=t;n[t]=e}function fromHex(e){if(e.length%2!==0){throw new Error("Hex encoded strings must have an even number length")}const t=new Uint8Array(e.length/2);for(let o=0;o<e.length;o+=2){const i=e.slice(o,o+2).toLowerCase();if(i in n){t[o/2]=n[i]}else{throw new Error(`Cannot decode unrecognized sequence ${i} as hexadecimal`)}}return t}function toHex(e){let t="";for(let n=0;n<e.byteLength;n++){t+=o[e[n]]}return t}t.fromHex=fromHex;t.toHex=toHex},6324:(e,t,o)=>{"use strict";var n=o(690);const getSmithyContext=e=>e[n.SMITHY_CONTEXT_KEY]||(e[n.SMITHY_CONTEXT_KEY]={});const normalizeProvider=e=>{if(typeof e==="function")return e;const t=Promise.resolve(e);return()=>t};t.getSmithyContext=getSmithyContext;t.normalizeProvider=normalizeProvider},5518:(e,t,o)=>{"use strict";var n=o(2058);t.RETRY_MODES=void 0;(function(e){e["STANDARD"]="standard";e["ADAPTIVE"]="adaptive"})(t.RETRY_MODES||(t.RETRY_MODES={}));const i=3;const h=t.RETRY_MODES.STANDARD;class DefaultRateLimiter{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;currentCapacity=0;enabled=false;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7;this.minCapacity=e?.minCapacity??1;this.minFillRate=e?.minFillRate??.5;this.scaleConstant=e?.scaleConstant??.4;this.smooth=e?.smooth??.8;const t=this.getCurrentTimeInSeconds();this.lastThrottleTime=t;this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds());this.fillRate=this.minFillRate;this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(!this.enabled){return}this.refillTokenBucket();if(e>this.currentCapacity){const t=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise((e=>DefaultRateLimiter.setTimeoutFn(e,t)))}this.currentCapacity=this.currentCapacity-e}refillTokenBucket(){const e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}const t=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+t);this.lastTimestamp=e}updateClientSendingRate(e){let t;this.updateMeasuredRate();if(n.isThrottlingError(e)){const e=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=e;this.calculateTimeWindow();this.lastThrottleTime=this.getCurrentTimeInSeconds();t=this.cubicThrottle(e);this.enableTokenBucket()}else{this.calculateTimeWindow();t=this.cubicSuccess(this.getCurrentTimeInSeconds())}const o=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(o)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=true}updateTokenBucketRate(e){this.refillTokenBucket();this.fillRate=Math.max(e,this.minFillRate);this.maxCapacity=Math.max(e,this.minCapacity);this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){const e=this.getCurrentTimeInSeconds();const t=Math.floor(e*2)/2;this.requestCount++;if(t>this.lastTxRateBucket){const e=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(e*this.smooth+this.measuredTxRate*(1-this.smooth));this.requestCount=0;this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}}const p=100;const Q=20*1e3;const D=500;const T=500;const _=5;const O=10;const V=1;const j="amz-sdk-invocation-id";const $="amz-sdk-request";const getDefaultRetryBackoffStrategy=()=>{let e=p;const computeNextBackoffDelay=t=>Math.floor(Math.min(Q,Math.random()*2**t*e));const setDelayBase=t=>{e=t};return{computeNextBackoffDelay:computeNextBackoffDelay,setDelayBase:setDelayBase}};const createDefaultRetryToken=({retryDelay:e,retryCount:t,retryCost:o})=>{const getRetryCount=()=>t;const getRetryDelay=()=>Math.min(Q,e);const getRetryCost=()=>o;return{getRetryCount:getRetryCount,getRetryDelay:getRetryDelay,getRetryCost:getRetryCost}};class StandardRetryStrategy{maxAttempts;mode=t.RETRY_MODES.STANDARD;capacity=T;retryBackoffStrategy=getDefaultRetryBackoffStrategy();maxAttemptsProvider;constructor(e){this.maxAttempts=e;this.maxAttemptsProvider=typeof e==="function"?e:async()=>e}async acquireInitialRetryToken(e){return createDefaultRetryToken({retryDelay:p,retryCount:0})}async refreshRetryTokenForRetry(e,t){const o=await this.getMaxAttempts();if(this.shouldRetry(e,t,o)){const o=t.errorType;this.retryBackoffStrategy.setDelayBase(o==="THROTTLING"?D:p);const n=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount());const i=t.retryAfterHint?Math.max(t.retryAfterHint.getTime()-Date.now()||0,n):n;const h=this.getCapacityCost(o);this.capacity-=h;return createDefaultRetryToken({retryDelay:i,retryCount:e.getRetryCount()+1,retryCost:h})}throw new Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(T,this.capacity+(e.getRetryCost()??V))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){console.warn(`Max attempts provider could not resolve. Using default of ${i}`);return i}}shouldRetry(e,t,o){const n=e.getRetryCount()+1;return n<o&&this.capacity>=this.getCapacityCost(t.errorType)&&this.isRetryableError(t.errorType)}getCapacityCost(e){return e==="TRANSIENT"?O:_}isRetryableError(e){return e==="THROTTLING"||e==="TRANSIENT"}}class AdaptiveRetryStrategy{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=t.RETRY_MODES.ADAPTIVE;constructor(e,t){this.maxAttemptsProvider=e;const{rateLimiter:o}=t??{};this.rateLimiter=o??new DefaultRateLimiter;this.standardRetryStrategy=new StandardRetryStrategy(e)}async acquireInitialRetryToken(e){await this.rateLimiter.getSendToken();return this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,t){this.rateLimiter.updateClientSendingRate(t);return this.standardRetryStrategy.refreshRetryTokenForRetry(e,t)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({});this.standardRetryStrategy.recordSuccess(e)}}class ConfiguredRetryStrategy extends StandardRetryStrategy{computeNextBackoffDelay;constructor(e,t=p){super(typeof e==="function"?e:async()=>e);if(typeof t==="number"){this.computeNextBackoffDelay=()=>t}else{this.computeNextBackoffDelay=t}}async refreshRetryTokenForRetry(e,t){const o=await super.refreshRetryTokenForRetry(e,t);o.getRetryDelay=()=>this.computeNextBackoffDelay(o.getRetryCount());return o}}t.AdaptiveRetryStrategy=AdaptiveRetryStrategy;t.ConfiguredRetryStrategy=ConfiguredRetryStrategy;t.DEFAULT_MAX_ATTEMPTS=i;t.DEFAULT_RETRY_DELAY_BASE=p;t.DEFAULT_RETRY_MODE=h;t.DefaultRateLimiter=DefaultRateLimiter;t.INITIAL_RETRY_TOKENS=T;t.INVOCATION_ID_HEADER=j;t.MAXIMUM_RETRY_DELAY=Q;t.NO_RETRY_INCREMENT=V;t.REQUEST_HEADER=$;t.RETRY_COST=_;t.StandardRetryStrategy=StandardRetryStrategy;t.THROTTLING_RETRY_DELAY_BASE=D;t.TIMEOUT_RETRY_COST=O},1732:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ByteArrayCollector=void 0;class ByteArrayCollector{allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e);this.byteLength+=e.byteLength}flush(){if(this.byteArrays.length===1){const e=this.byteArrays[0];this.reset();return e}const e=this.allocByteArray(this.byteLength);let t=0;for(let o=0;o<this.byteArrays.length;++o){const n=this.byteArrays[o];e.set(n,t);t+=n.byteLength}this.reset();return e}reset(){this.byteArrays=[];this.byteLength=0}}t.ByteArrayCollector=ByteArrayCollector},7753:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ChecksumStream=void 0;const o=typeof ReadableStream==="function"?ReadableStream:function(){};class ChecksumStream extends o{}t.ChecksumStream=ChecksumStream},1775:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ChecksumStream=void 0;const n=o(8385);const i=o(2203);class ChecksumStream extends i.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;pendingCallback=null;constructor({expectedChecksum:e,checksum:t,source:o,checksumSourceLocation:i,base64Encoder:h}){super();if(typeof o.pipe==="function"){this.source=o}else{throw new Error(`@smithy/util-stream: unsupported source type ${o?.constructor?.name??o} in ChecksumStream.`)}this.base64Encoder=h??n.toBase64;this.expectedChecksum=e;this.checksum=t;this.checksumSourceLocation=i;this.source.pipe(this)}_read(e){if(this.pendingCallback){const e=this.pendingCallback;this.pendingCallback=null;e()}}_write(e,t,o){try{this.checksum.update(e);const t=this.push(e);if(!t){this.pendingCallback=o;return}}catch(e){return o(e)}return o()}async _final(e){try{const t=await this.checksum.digest();const o=this.base64Encoder(t);if(this.expectedChecksum!==o){return e(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${o}"`+` in response header "${this.checksumSourceLocation}".`))}}catch(t){return e(t)}this.push(null);return e()}}t.ChecksumStream=ChecksumStream},4129:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createChecksumStream=void 0;const n=o(8385);const i=o(4414);const h=o(7753);const createChecksumStream=({expectedChecksum:e,checksum:t,source:o,checksumSourceLocation:p,base64Encoder:Q})=>{if(!(0,i.isReadableStream)(o)){throw new Error(`@smithy/util-stream: unsupported source type ${o?.constructor?.name??o} in ChecksumStream.`)}const D=Q??n.toBase64;if(typeof TransformStream!=="function"){throw new Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.")}const T=new TransformStream({start(){},async transform(e,o){t.update(e);o.enqueue(e)},async flush(o){const n=await t.digest();const i=D(n);if(e!==i){const t=new Error(`Checksum mismatch: expected "${e}" but received "${i}"`+` in response header "${p}".`);o.error(t)}else{o.terminate()}}});o.pipeThrough(T);const _=T.readable;Object.setPrototypeOf(_,h.ChecksumStream.prototype);return _};t.createChecksumStream=createChecksumStream},5639:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createChecksumStream=createChecksumStream;const n=o(4414);const i=o(1775);const h=o(4129);function createChecksumStream(e){if(typeof ReadableStream==="function"&&(0,n.isReadableStream)(e.source)){return(0,h.createChecksumStream)(e)}return new i.ChecksumStream(e)}},2005:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createBufferedReadable=createBufferedReadable;const n=o(7075);const i=o(1732);const h=o(8213);const p=o(4414);function createBufferedReadable(e,t,o){if((0,p.isReadableStream)(e)){return(0,h.createBufferedReadableStream)(e,t,o)}const Q=new n.Readable({read(){}});let D=false;let T=0;const _=["",new i.ByteArrayCollector((e=>new Uint8Array(e))),new i.ByteArrayCollector((e=>Buffer.from(new Uint8Array(e))))];let O=-1;e.on("data",(e=>{const n=(0,h.modeOf)(e,true);if(O!==n){if(O>=0){Q.push((0,h.flush)(_,O))}O=n}if(O===-1){Q.push(e);return}const i=(0,h.sizeOf)(e);T+=i;const p=(0,h.sizeOf)(_[O]);if(i>=t&&p===0){Q.push(e)}else{const n=(0,h.merge)(_,O,e);if(!D&&T>t*2){D=true;o?.warn(`@smithy/util-stream - stream chunk size ${i} is below threshold of ${t}, automatically buffering.`)}if(n>=t){Q.push((0,h.flush)(_,O))}}}));e.on("end",(()=>{if(O!==-1){const e=(0,h.flush)(_,O);if((0,h.sizeOf)(e)>0){Q.push(e)}}Q.push(null)}));return Q}},8213:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createBufferedReadable=void 0;t.createBufferedReadableStream=createBufferedReadableStream;t.merge=merge;t.flush=flush;t.sizeOf=sizeOf;t.modeOf=modeOf;const n=o(1732);function createBufferedReadableStream(e,t,o){const i=e.getReader();let h=false;let p=0;const Q=["",new n.ByteArrayCollector((e=>new Uint8Array(e)))];let D=-1;const pull=async e=>{const{value:n,done:T}=await i.read();const _=n;if(T){if(D!==-1){const t=flush(Q,D);if(sizeOf(t)>0){e.enqueue(t)}}e.close()}else{const n=modeOf(_,false);if(D!==n){if(D>=0){e.enqueue(flush(Q,D))}D=n}if(D===-1){e.enqueue(_);return}const i=sizeOf(_);p+=i;const T=sizeOf(Q[D]);if(i>=t&&T===0){e.enqueue(_)}else{const n=merge(Q,D,_);if(!h&&p>t*2){h=true;o?.warn(`@smithy/util-stream - stream chunk size ${i} is below threshold of ${t}, automatically buffering.`)}if(n>=t){e.enqueue(flush(Q,D))}else{await pull(e)}}}};return new ReadableStream({pull:pull})}t.createBufferedReadable=createBufferedReadableStream;function merge(e,t,o){switch(t){case 0:e[0]+=o;return sizeOf(e[0]);case 1:case 2:e[t].push(o);return sizeOf(e[t])}}function flush(e,t){switch(t){case 0:const o=e[0];e[0]="";return o;case 1:case 2:return e[t].flush()}throw new Error(`@smithy/util-stream - invalid index ${t} given to flush()`)}function sizeOf(e){return e?.byteLength??e?.length??0}function modeOf(e,t=true){if(t&&typeof Buffer!=="undefined"&&e instanceof Buffer){return 2}if(e instanceof Uint8Array){return 1}if(typeof e==="string"){return 0}return-1}},3492:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getAwsChunkedEncodingStream=void 0;const getAwsChunkedEncodingStream=(e,t)=>{const{base64Encoder:o,bodyLengthChecker:n,checksumAlgorithmFn:i,checksumLocationName:h,streamHasher:p}=t;const Q=o!==undefined&&n!==undefined&&i!==undefined&&h!==undefined&&p!==undefined;const D=Q?p(i,e):undefined;const T=e.getReader();return new ReadableStream({async pull(e){const{value:t,done:i}=await T.read();if(i){e.enqueue(`0\r\n`);if(Q){const t=o(await D);e.enqueue(`${h}:${t}\r\n`);e.enqueue(`\r\n`)}e.close()}else{e.enqueue(`${(n(t)||0).toString(16)}\r\n${t}\r\n`)}}})};t.getAwsChunkedEncodingStream=getAwsChunkedEncodingStream},6522:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getAwsChunkedEncodingStream=getAwsChunkedEncodingStream;const n=o(7075);const i=o(3492);const h=o(4414);function getAwsChunkedEncodingStream(e,t){const o=e;const p=e;if((0,h.isReadableStream)(p)){return(0,i.getAwsChunkedEncodingStream)(p,t)}const{base64Encoder:Q,bodyLengthChecker:D,checksumAlgorithmFn:T,checksumLocationName:_,streamHasher:O}=t;const V=Q!==undefined&&T!==undefined&&_!==undefined&&O!==undefined;const j=V?O(T,o):undefined;const $=new n.Readable({read:()=>{}});o.on("data",(e=>{const t=D(e)||0;if(t===0){return}$.push(`${t.toString(16)}\r\n`);$.push(e);$.push("\r\n")}));o.on("end",(async()=>{$.push(`0\r\n`);if(V){const e=Q(await j);$.push(`${_}:${e}\r\n`);$.push(`\r\n`)}$.push(null)}));return $}},66:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.headStream=headStream;async function headStream(e,t){let o=0;const n=[];const i=e.getReader();let h=false;while(!h){const{done:e,value:p}=await i.read();if(p){n.push(p);o+=p?.byteLength??0}if(o>=t){break}h=e}i.releaseLock();const p=new Uint8Array(Math.min(t,o));let Q=0;for(const e of n){if(e.byteLength>p.byteLength-Q){p.set(e.subarray(0,p.byteLength-Q),Q);break}else{p.set(e,Q)}Q+=e.length}return p}},8412:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.headStream=void 0;const n=o(2203);const i=o(66);const h=o(4414);const headStream=(e,t)=>{if((0,h.isReadableStream)(e)){return(0,i.headStream)(e,t)}return new Promise(((o,n)=>{const i=new Collector;i.limit=t;e.pipe(i);e.on("error",(e=>{i.end();n(e)}));i.on("error",n);i.on("finish",(function(){const e=new Uint8Array(Buffer.concat(this.buffers));o(e)}))}))};t.headStream=headStream;class Collector extends n.Writable{buffers=[];limit=Infinity;bytesBuffered=0;_write(e,t,o){this.buffers.push(e);this.bytesBuffered+=e.byteLength??0;if(this.bytesBuffered>=this.limit){const e=this.bytesBuffered-this.limit;const t=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=t.subarray(0,t.byteLength-e);this.emit("finish")}o()}}},4252:(e,t,o)=>{"use strict";var n=o(8385);var i=o(1577);var h=o(1775);var p=o(5639);var Q=o(2005);var D=o(6522);var T=o(8412);var _=o(7201);var O=o(2108);var V=o(4414);class Uint8ArrayBlobAdapter extends Uint8Array{static fromString(e,t="utf-8"){if(typeof e==="string"){if(t==="base64"){return Uint8ArrayBlobAdapter.mutate(n.fromBase64(e))}return Uint8ArrayBlobAdapter.mutate(i.fromUtf8(e))}throw new Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){Object.setPrototypeOf(e,Uint8ArrayBlobAdapter.prototype);return e}transformToString(e="utf-8"){if(e==="base64"){return n.toBase64(this)}return i.toUtf8(this)}}t.isBlob=V.isBlob;t.isReadableStream=V.isReadableStream;t.Uint8ArrayBlobAdapter=Uint8ArrayBlobAdapter;Object.prototype.hasOwnProperty.call(h,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:h["__proto__"]});Object.keys(h).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=h[e]}));Object.prototype.hasOwnProperty.call(p,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:p["__proto__"]});Object.keys(p).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=p[e]}));Object.prototype.hasOwnProperty.call(Q,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:Q["__proto__"]});Object.keys(Q).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=Q[e]}));Object.prototype.hasOwnProperty.call(D,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:D["__proto__"]});Object.keys(D).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=D[e]}));Object.prototype.hasOwnProperty.call(T,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:T["__proto__"]});Object.keys(T).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=T[e]}));Object.prototype.hasOwnProperty.call(_,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:_["__proto__"]});Object.keys(_).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=_[e]}));Object.prototype.hasOwnProperty.call(O,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:O["__proto__"]});Object.keys(O).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=O[e]}))},2207:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.sdkStreamMixin=void 0;const n=o(7809);const i=o(8385);const h=o(6435);const p=o(1577);const Q=o(4414);const D="The stream has already been transformed.";const sdkStreamMixin=e=>{if(!isBlobInstance(e)&&!(0,Q.isReadableStream)(e)){const t=e?.__proto__?.constructor?.name||e;throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${t}`)}let t=false;const transformToByteArray=async()=>{if(t){throw new Error(D)}t=true;return await(0,n.streamCollector)(e)};const blobToWebStream=e=>{if(typeof e.stream!=="function"){throw new Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\n"+"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body")}return e.stream()};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{const t=await transformToByteArray();if(e==="base64"){return(0,i.toBase64)(t)}else if(e==="hex"){return(0,h.toHex)(t)}else if(e===undefined||e==="utf8"||e==="utf-8"){return(0,p.toUtf8)(t)}else if(typeof TextDecoder==="function"){return new TextDecoder(e).decode(t)}else{throw new Error("TextDecoder is not available, please make sure polyfill is provided.")}},transformToWebStream:()=>{if(t){throw new Error(D)}t=true;if(isBlobInstance(e)){return blobToWebStream(e)}else if((0,Q.isReadableStream)(e)){return e}else{throw new Error(`Cannot transform payload to web stream, got ${e}`)}}})};t.sdkStreamMixin=sdkStreamMixin;const isBlobInstance=e=>typeof Blob==="function"&&e instanceof Blob},7201:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.sdkStreamMixin=void 0;const n=o(1279);const i=o(4151);const h=o(2203);const p=o(2207);const Q="The stream has already been transformed.";const sdkStreamMixin=e=>{if(!(e instanceof h.Readable)){try{return(0,p.sdkStreamMixin)(e)}catch(t){const o=e?.__proto__?.constructor?.name||e;throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${o}`)}}let t=false;const transformToByteArray=async()=>{if(t){throw new Error(Q)}t=true;return await(0,n.streamCollector)(e)};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{const t=await transformToByteArray();if(e===undefined||Buffer.isEncoding(e)){return(0,i.fromArrayBuffer)(t.buffer,t.byteOffset,t.byteLength).toString(e)}else{const o=new TextDecoder(e);return o.decode(t)}},transformToWebStream:()=>{if(t){throw new Error(Q)}if(e.readableFlowing!==null){throw new Error("The stream has been consumed by other callbacks.")}if(typeof h.Readable.toWeb!=="function"){throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.")}t=true;return h.Readable.toWeb(e)}})};t.sdkStreamMixin=sdkStreamMixin},7570:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.splitStream=splitStream;async function splitStream(e){if(typeof e.stream==="function"){e=e.stream()}const t=e;return t.tee()}},2108:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.splitStream=splitStream;const n=o(2203);const i=o(7570);const h=o(4414);async function splitStream(e){if((0,h.isReadableStream)(e)||(0,h.isBlob)(e)){return(0,i.splitStream)(e)}const t=new n.PassThrough;const o=new n.PassThrough;e.pipe(t);e.pipe(o);return[t,o]}},4414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isBlob=t.isReadableStream=void 0;const isReadableStream=e=>typeof ReadableStream==="function"&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);t.isReadableStream=isReadableStream;const isBlob=e=>typeof Blob==="function"&&(e?.constructor?.name===Blob.name||e instanceof Blob);t.isBlob=isBlob},146:(e,t)=>{"use strict";const escapeUri=e=>encodeURIComponent(e).replace(/[!'()*]/g,hexEncode);const hexEncode=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;const escapeUriPath=e=>e.split("/").map(escapeUri).join("/");t.escapeUri=escapeUri;t.escapeUriPath=escapeUriPath},1577:(e,t,o)=>{"use strict";var n=o(4151);const fromUtf8=e=>{const t=n.fromString(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT)};const toUint8Array=e=>{if(typeof e==="string"){return fromUtf8(e)}if(ArrayBuffer.isView(e)){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)}return new Uint8Array(e)};const toUtf8=e=>{if(typeof e==="string"){return e}if(typeof e!=="object"||typeof e.byteOffset!=="number"||typeof e.byteLength!=="number"){throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.")}return n.fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")};t.fromUtf8=fromUtf8;t.toUint8Array=toUint8Array;t.toUtf8=toUtf8},266:(e,t,o)=>{"use strict";var n=o(8492);const i=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));const v4=()=>{if(n.randomUUID){return n.randomUUID()}const e=new Uint8Array(16);crypto.getRandomValues(e);e[6]=e[6]&15|64;e[8]=e[8]&63|128;return i[e[0]]+i[e[1]]+i[e[2]]+i[e[3]]+"-"+i[e[4]]+i[e[5]]+"-"+i[e[6]]+i[e[7]]+"-"+i[e[8]]+i[e[9]]+"-"+i[e[10]]+i[e[11]]+i[e[12]]+i[e[13]]+i[e[14]]+i[e[15]]};t.v4=v4},8492:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.randomUUID=void 0;const n=o(1860);const i=n.__importDefault(o(6982));t.randomUUID=i.default.randomUUID.bind(i.default)},2732:(e,t,o)=>{var n=o(1063);var i=o(2027);var h=o(9934);var p=Function.bind;var Q=p.bind(p);function bindApi(e,t,o){var n=Q(h,null).apply(null,o?[t,o]:[t]);e.api={remove:n};e.remove=n;["before","error","after","wrap"].forEach((function(n){var h=o?[t,n,o]:[t,n];e[n]=e.api[n]=Q(i,null).apply(null,h)}))}function HookSingular(){var e="h";var t={registry:{}};var o=n.bind(null,t,e);bindApi(o,t,e);return o}function HookCollection(){var e={registry:{}};var t=n.bind(null,e);bindApi(t,e);return t}var D=false;function Hook(){if(!D){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');D=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},2027:e=>{e.exports=addHook;function addHook(e,t,o,n){var i=n;if(!e.registry[o]){e.registry[o]=[]}if(t==="before"){n=function(e,t){return Promise.resolve().then(i.bind(null,t)).then(e.bind(null,t))}}if(t==="after"){n=function(e,t){var o;return Promise.resolve().then(e.bind(null,t)).then((function(e){o=e;return i(o,t)})).then((function(){return o}))}}if(t==="error"){n=function(e,t){return Promise.resolve().then(e.bind(null,t)).catch((function(e){return i(e,t)}))}}e.registry[o].push({hook:n,orig:i})}},1063:e=>{e.exports=register;function register(e,t,o,n){if(typeof o!=="function"){throw new Error("method for before hook must be a function")}if(!n){n={}}if(Array.isArray(t)){return t.reverse().reduce((function(t,o){return register.bind(null,e,o,t,n)}),o)()}return Promise.resolve().then((function(){if(!e.registry[t]){return o(n)}return e.registry[t].reduce((function(e,t){return t.hook.bind(null,e,n)}),o)()}))}},9934:e=>{e.exports=removeHook;function removeHook(e,t,o){if(!e.registry[t]){return}var n=e.registry[t].map((function(e){return e.orig})).indexOf(o);if(n===-1){return}e.registry[t].splice(n,1)}},4150:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}t.Deprecation=Deprecation},4281:(e,t,o)=>{"use strict";var n=o(1950);var i=o(9980);function renamed(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. "+"Use yaml."+t+" instead, which is now safe by default.")}}e.exports.Type=o(9557);e.exports.Schema=o(2046);e.exports.FAILSAFE_SCHEMA=o(9832);e.exports.JSON_SCHEMA=o(8927);e.exports.CORE_SCHEMA=o(5746);e.exports.DEFAULT_SCHEMA=o(7336);e.exports.load=n.load;e.exports.loadAll=n.loadAll;e.exports.dump=i.dump;e.exports.YAMLException=o(1248);e.exports.types={binary:o(8149),float:o(7584),map:o(7316),null:o(4333),pairs:o(6267),set:o(8758),timestamp:o(8966),bool:o(7296),int:o(4652),merge:o(6854),omap:o(8649),seq:o(7161),str:o(3929)};e.exports.safeLoad=renamed("safeLoad","load");e.exports.safeLoadAll=renamed("safeLoadAll","loadAll");e.exports.safeDump=renamed("safeDump","dump")},9816:e=>{"use strict";function isNothing(e){return typeof e==="undefined"||e===null}function isObject(e){return typeof e==="object"&&e!==null}function toArray(e){if(Array.isArray(e))return e;else if(isNothing(e))return[];return[e]}function extend(e,t){var o,n,i,h;if(t){h=Object.keys(t);for(o=0,n=h.length;o<n;o+=1){i=h[o];e[i]=t[i]}}return e}function repeat(e,t){var o="",n;for(n=0;n<t;n+=1){o+=e}return o}function isNegativeZero(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}e.exports.isNothing=isNothing;e.exports.isObject=isObject;e.exports.toArray=toArray;e.exports.repeat=repeat;e.exports.isNegativeZero=isNegativeZero;e.exports.extend=extend},9980:(e,t,o)=>{"use strict";var n=o(9816);var i=o(1248);var h=o(7336);var p=Object.prototype.toString;var Q=Object.prototype.hasOwnProperty;var D=65279;var T=9;var _=10;var O=13;var V=32;var j=33;var $=34;var ee=35;var te=37;var re=38;var se=39;var oe=42;var ne=44;var ie=45;var Ae=58;var ae=61;var ce=62;var le=63;var ue=64;var ge=91;var de=93;var he=96;var pe=123;var fe=124;var Ee=125;var Ce={};Ce[0]="\\0";Ce[7]="\\a";Ce[8]="\\b";Ce[9]="\\t";Ce[10]="\\n";Ce[11]="\\v";Ce[12]="\\f";Ce[13]="\\r";Ce[27]="\\e";Ce[34]='\\"';Ce[92]="\\\\";Ce[133]="\\N";Ce[160]="\\_";Ce[8232]="\\L";Ce[8233]="\\P";var me=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var Ie=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(e,t){var o,n,i,h,p,D,T;if(t===null)return{};o={};n=Object.keys(t);for(i=0,h=n.length;i<h;i+=1){p=n[i];D=String(t[p]);if(p.slice(0,2)==="!!"){p="tag:yaml.org,2002:"+p.slice(2)}T=e.compiledTypeMap["fallback"][p];if(T&&Q.call(T.styleAliases,D)){D=T.styleAliases[D]}o[p]=D}return o}function encodeHex(e){var t,o,h;t=e.toString(16).toUpperCase();if(e<=255){o="x";h=2}else if(e<=65535){o="u";h=4}else if(e<=4294967295){o="U";h=8}else{throw new i("code point within a string may not be greater than 0xFFFFFFFF")}return"\\"+o+n.repeat("0",h-t.length)+t}var Qe=1,Be=2;function State(e){this.schema=e["schema"]||h;this.indent=Math.max(1,e["indent"]||2);this.noArrayIndent=e["noArrayIndent"]||false;this.skipInvalid=e["skipInvalid"]||false;this.flowLevel=n.isNothing(e["flowLevel"])?-1:e["flowLevel"];this.styleMap=compileStyleMap(this.schema,e["styles"]||null);this.sortKeys=e["sortKeys"]||false;this.lineWidth=e["lineWidth"]||80;this.noRefs=e["noRefs"]||false;this.noCompatMode=e["noCompatMode"]||false;this.condenseFlow=e["condenseFlow"]||false;this.quotingType=e["quotingType"]==='"'?Be:Qe;this.forceQuotes=e["forceQuotes"]||false;this.replacer=typeof e["replacer"]==="function"?e["replacer"]:null;this.implicitTypes=this.schema.compiledImplicit;this.explicitTypes=this.schema.compiledExplicit;this.tag=null;this.result="";this.duplicates=[];this.usedDuplicates=null}function indentString(e,t){var o=n.repeat(" ",t),i=0,h=-1,p="",Q,D=e.length;while(i<D){h=e.indexOf("\n",i);if(h===-1){Q=e.slice(i);i=D}else{Q=e.slice(i,h+1);i=h+1}if(Q.length&&Q!=="\n")p+=o;p+=Q}return p}function generateNextLine(e,t){return"\n"+n.repeat(" ",e.indent*t)}function testImplicitResolving(e,t){var o,n,i;for(o=0,n=e.implicitTypes.length;o<n;o+=1){i=e.implicitTypes[o];if(i.resolve(t)){return true}}return false}function isWhitespace(e){return e===V||e===T}function isPrintable(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==D||65536<=e&&e<=1114111}function isNsCharOrWhitespace(e){return isPrintable(e)&&e!==D&&e!==O&&e!==_}function isPlainSafe(e,t,o){var n=isNsCharOrWhitespace(e);var i=n&&!isWhitespace(e);return(o?n:n&&e!==ne&&e!==ge&&e!==de&&e!==pe&&e!==Ee)&&e!==ee&&!(t===Ae&&!i)||isNsCharOrWhitespace(t)&&!isWhitespace(t)&&e===ee||t===Ae&&i}function isPlainSafeFirst(e){return isPrintable(e)&&e!==D&&!isWhitespace(e)&&e!==ie&&e!==le&&e!==Ae&&e!==ne&&e!==ge&&e!==de&&e!==pe&&e!==Ee&&e!==ee&&e!==re&&e!==oe&&e!==j&&e!==fe&&e!==ae&&e!==ce&&e!==se&&e!==$&&e!==te&&e!==ue&&e!==he}function isPlainSafeLast(e){return!isWhitespace(e)&&e!==Ae}function codePointAt(e,t){var o=e.charCodeAt(t),n;if(o>=55296&&o<=56319&&t+1<e.length){n=e.charCodeAt(t+1);if(n>=56320&&n<=57343){return(o-55296)*1024+n-56320+65536}}return o}function needIndentIndicator(e){var t=/^\n* /;return t.test(e)}var ye=1,we=2,be=3,Se=4,Re=5;function chooseScalarStyle(e,t,o,n,i,h,p,Q){var D;var T=0;var O=null;var V=false;var j=false;var $=n!==-1;var ee=-1;var te=isPlainSafeFirst(codePointAt(e,0))&&isPlainSafeLast(codePointAt(e,e.length-1));if(t||p){for(D=0;D<e.length;T>=65536?D+=2:D++){T=codePointAt(e,D);if(!isPrintable(T)){return Re}te=te&&isPlainSafe(T,O,Q);O=T}}else{for(D=0;D<e.length;T>=65536?D+=2:D++){T=codePointAt(e,D);if(T===_){V=true;if($){j=j||D-ee-1>n&&e[ee+1]!==" ";ee=D}}else if(!isPrintable(T)){return Re}te=te&&isPlainSafe(T,O,Q);O=T}j=j||$&&(D-ee-1>n&&e[ee+1]!==" ")}if(!V&&!j){if(te&&!p&&!i(e)){return ye}return h===Be?Re:we}if(o>9&&needIndentIndicator(e)){return Re}if(!p){return j?Se:be}return h===Be?Re:we}function writeScalar(e,t,o,n,h){e.dump=function(){if(t.length===0){return e.quotingType===Be?'""':"''"}if(!e.noCompatMode){if(me.indexOf(t)!==-1||Ie.test(t)){return e.quotingType===Be?'"'+t+'"':"'"+t+"'"}}var p=e.indent*Math.max(1,o);var Q=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-p);var D=n||e.flowLevel>-1&&o>=e.flowLevel;function testAmbiguity(t){return testImplicitResolving(e,t)}switch(chooseScalarStyle(t,D,e.indent,Q,testAmbiguity,e.quotingType,e.forceQuotes&&!n,h)){case ye:return t;case we:return"'"+t.replace(/'/g,"''")+"'";case be:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,p));case Se:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,Q),p));case Re:return'"'+escapeString(t,Q)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var o=needIndentIndicator(e)?String(t):"";var n=e[e.length-1]==="\n";var i=n&&(e[e.length-2]==="\n"||e==="\n");var h=i?"+":n?"":"-";return o+h+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,t){var o=/(\n+)([^\n]*)/g;var n=function(){var n=e.indexOf("\n");n=n!==-1?n:e.length;o.lastIndex=n;return foldLine(e.slice(0,n),t)}();var i=e[0]==="\n"||e[0]===" ";var h;var p;while(p=o.exec(e)){var Q=p[1],D=p[2];h=D[0]===" ";n+=Q+(!i&&!h&&D!==""?"\n":"")+foldLine(D,t);i=h}return n}function foldLine(e,t){if(e===""||e[0]===" ")return e;var o=/ [^ ]/g;var n;var i=0,h,p=0,Q=0;var D="";while(n=o.exec(e)){Q=n.index;if(Q-i>t){h=p>i?p:Q;D+="\n"+e.slice(i,h);i=h+1}p=Q}D+="\n";if(e.length-i>t&&p>i){D+=e.slice(i,p)+"\n"+e.slice(p+1)}else{D+=e.slice(i)}return D.slice(1)}function escapeString(e){var t="";var o=0;var n;for(var i=0;i<e.length;o>=65536?i+=2:i++){o=codePointAt(e,i);n=Ce[o];if(!n&&isPrintable(o)){t+=e[i];if(o>=65536)t+=e[i+1]}else{t+=n||encodeHex(o)}}return t}function writeFlowSequence(e,t,o){var n="",i=e.tag,h,p,Q;for(h=0,p=o.length;h<p;h+=1){Q=o[h];if(e.replacer){Q=e.replacer.call(o,String(h),Q)}if(writeNode(e,t,Q,false,false)||typeof Q==="undefined"&&writeNode(e,t,null,false,false)){if(n!=="")n+=","+(!e.condenseFlow?" ":"");n+=e.dump}}e.tag=i;e.dump="["+n+"]"}function writeBlockSequence(e,t,o,n){var i="",h=e.tag,p,Q,D;for(p=0,Q=o.length;p<Q;p+=1){D=o[p];if(e.replacer){D=e.replacer.call(o,String(p),D)}if(writeNode(e,t+1,D,true,true,false,true)||typeof D==="undefined"&&writeNode(e,t+1,null,true,true,false,true)){if(!n||i!==""){i+=generateNextLine(e,t)}if(e.dump&&_===e.dump.charCodeAt(0)){i+="-"}else{i+="- "}i+=e.dump}}e.tag=h;e.dump=i||"[]"}function writeFlowMapping(e,t,o){var n="",i=e.tag,h=Object.keys(o),p,Q,D,T,_;for(p=0,Q=h.length;p<Q;p+=1){_="";if(n!=="")_+=", ";if(e.condenseFlow)_+='"';D=h[p];T=o[D];if(e.replacer){T=e.replacer.call(o,D,T)}if(!writeNode(e,t,D,false,false)){continue}if(e.dump.length>1024)_+="? ";_+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,t,T,false,false)){continue}_+=e.dump;n+=_}e.tag=i;e.dump="{"+n+"}"}function writeBlockMapping(e,t,o,n){var h="",p=e.tag,Q=Object.keys(o),D,T,O,V,j,$;if(e.sortKeys===true){Q.sort()}else if(typeof e.sortKeys==="function"){Q.sort(e.sortKeys)}else if(e.sortKeys){throw new i("sortKeys must be a boolean or a function")}for(D=0,T=Q.length;D<T;D+=1){$="";if(!n||h!==""){$+=generateNextLine(e,t)}O=Q[D];V=o[O];if(e.replacer){V=e.replacer.call(o,O,V)}if(!writeNode(e,t+1,O,true,true,true)){continue}j=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024;if(j){if(e.dump&&_===e.dump.charCodeAt(0)){$+="?"}else{$+="? "}}$+=e.dump;if(j){$+=generateNextLine(e,t)}if(!writeNode(e,t+1,V,true,j)){continue}if(e.dump&&_===e.dump.charCodeAt(0)){$+=":"}else{$+=": "}$+=e.dump;h+=$}e.tag=p;e.dump=h||"{}"}function detectType(e,t,o){var n,h,D,T,_,O;h=o?e.explicitTypes:e.implicitTypes;for(D=0,T=h.length;D<T;D+=1){_=h[D];if((_.instanceOf||_.predicate)&&(!_.instanceOf||typeof t==="object"&&t instanceof _.instanceOf)&&(!_.predicate||_.predicate(t))){if(o){if(_.multi&&_.representName){e.tag=_.representName(t)}else{e.tag=_.tag}}else{e.tag="?"}if(_.represent){O=e.styleMap[_.tag]||_.defaultStyle;if(p.call(_.represent)==="[object Function]"){n=_.represent(t,O)}else if(Q.call(_.represent,O)){n=_.represent[O](t,O)}else{throw new i("!<"+_.tag+'> tag resolver accepts not "'+O+'" style')}e.dump=n}return true}}return false}function writeNode(e,t,o,n,h,Q,D){e.tag=null;e.dump=o;if(!detectType(e,o,false)){detectType(e,o,true)}var T=p.call(e.dump);var _=n;var O;if(n){n=e.flowLevel<0||e.flowLevel>t}var V=T==="[object Object]"||T==="[object Array]",j,$;if(V){j=e.duplicates.indexOf(o);$=j!==-1}if(e.tag!==null&&e.tag!=="?"||$||e.indent!==2&&t>0){h=false}if($&&e.usedDuplicates[j]){e.dump="*ref_"+j}else{if(V&&$&&!e.usedDuplicates[j]){e.usedDuplicates[j]=true}if(T==="[object Object]"){if(n&&Object.keys(e.dump).length!==0){writeBlockMapping(e,t,e.dump,h);if($){e.dump="&ref_"+j+e.dump}}else{writeFlowMapping(e,t,e.dump);if($){e.dump="&ref_"+j+" "+e.dump}}}else if(T==="[object Array]"){if(n&&e.dump.length!==0){if(e.noArrayIndent&&!D&&t>0){writeBlockSequence(e,t-1,e.dump,h)}else{writeBlockSequence(e,t,e.dump,h)}if($){e.dump="&ref_"+j+e.dump}}else{writeFlowSequence(e,t,e.dump);if($){e.dump="&ref_"+j+" "+e.dump}}}else if(T==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,t,Q,_)}}else if(T==="[object Undefined]"){return false}else{if(e.skipInvalid)return false;throw new i("unacceptable kind of an object to dump "+T)}if(e.tag!==null&&e.tag!=="?"){O=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21");if(e.tag[0]==="!"){O="!"+O}else if(O.slice(0,18)==="tag:yaml.org,2002:"){O="!!"+O.slice(18)}else{O="!<"+O+">"}e.dump=O+" "+e.dump}}return true}function getDuplicateReferences(e,t){var o=[],n=[],i,h;inspectNode(e,o,n);for(i=0,h=n.length;i<h;i+=1){t.duplicates.push(o[n[i]])}t.usedDuplicates=new Array(h)}function inspectNode(e,t,o){var n,i,h;if(e!==null&&typeof e==="object"){i=t.indexOf(e);if(i!==-1){if(o.indexOf(i)===-1){o.push(i)}}else{t.push(e);if(Array.isArray(e)){for(i=0,h=e.length;i<h;i+=1){inspectNode(e[i],t,o)}}else{n=Object.keys(e);for(i=0,h=n.length;i<h;i+=1){inspectNode(e[n[i]],t,o)}}}}}function dump(e,t){t=t||{};var o=new State(t);if(!o.noRefs)getDuplicateReferences(e,o);var n=e;if(o.replacer){n=o.replacer.call({"":n},"",n)}if(writeNode(o,0,n,true,true))return o.dump+"\n";return""}e.exports.dump=dump},1248:e=>{"use strict";function formatError(e,t){var o="",n=e.reason||"(unknown reason)";if(!e.mark)return n;if(e.mark.name){o+='in "'+e.mark.name+'" '}o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")";if(!t&&e.mark.snippet){o+="\n\n"+e.mark.snippet}return n+" "+o}function YAMLException(e,t){Error.call(this);this.name="YAMLException";this.reason=e;this.mark=t;this.message=formatError(this,false);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(e){return this.name+": "+formatError(this,e)};e.exports=YAMLException},1950:(e,t,o)=>{"use strict";var n=o(9816);var i=o(1248);var h=o(9440);var p=o(7336);var Q=Object.prototype.hasOwnProperty;var D=1;var T=2;var _=3;var O=4;var V=1;var j=2;var $=3;var ee=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var te=/[\x85\u2028\u2029]/;var re=/[,\[\]\{\}]/;var se=/^(?:!|!!|![a-z\-]+!)$/i;var oe=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(e){return Object.prototype.toString.call(e)}function is_EOL(e){return e===10||e===13}function is_WHITE_SPACE(e){return e===9||e===32}function is_WS_OR_EOL(e){return e===9||e===32||e===10||e===13}function is_FLOW_INDICATOR(e){return e===44||e===91||e===93||e===123||e===125}function fromHexCode(e){var t;if(48<=e&&e<=57){return e-48}t=e|32;if(97<=t&&t<=102){return t-97+10}return-1}function escapedHexLen(e){if(e===120){return 2}if(e===117){return 4}if(e===85){return 8}return 0}function fromDecimalCode(e){if(48<=e&&e<=57){return e-48}return-1}function simpleEscapeSequence(e){return e===48?"\0":e===97?"":e===98?"\b":e===116?"\t":e===9?"\t":e===110?"\n":e===118?"\v":e===102?"\f":e===114?"\r":e===101?"":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"…":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function charFromCodepoint(e){if(e<=65535){return String.fromCharCode(e)}return String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function setProperty(e,t,o){if(t==="__proto__"){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:o})}else{e[t]=o}}var ne=new Array(256);var ie=new Array(256);for(var Ae=0;Ae<256;Ae++){ne[Ae]=simpleEscapeSequence(Ae)?1:0;ie[Ae]=simpleEscapeSequence(Ae)}function State(e,t){this.input=e;this.filename=t["filename"]||null;this.schema=t["schema"]||p;this.onWarning=t["onWarning"]||null;this.legacy=t["legacy"]||false;this.json=t["json"]||false;this.listener=t["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.firstTabInLine=-1;this.documents=[]}function generateError(e,t){var o={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};o.snippet=h(o);return new i(t,o)}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){if(e.onWarning){e.onWarning.call(null,generateError(e,t))}}var ae={YAML:function handleYamlDirective(e,t,o){var n,i,h;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(o.length!==1){throwError(e,"YAML directive accepts exactly one argument")}n=/^([0-9]+)\.([0-9]+)$/.exec(o[0]);if(n===null){throwError(e,"ill-formed argument of the YAML directive")}i=parseInt(n[1],10);h=parseInt(n[2],10);if(i!==1){throwError(e,"unacceptable YAML version of the document")}e.version=o[0];e.checkLineBreaks=h<2;if(h!==1&&h!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,t,o){var n,i;if(o.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}n=o[0];i=o[1];if(!se.test(n)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(Q.call(e.tagMap,n)){throwError(e,'there is a previously declared suffix for "'+n+'" tag handle')}if(!oe.test(i)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}try{i=decodeURIComponent(i)}catch(t){throwError(e,"tag prefix is malformed: "+i)}e.tagMap[n]=i}};function captureSegment(e,t,o,n){var i,h,p,Q;if(t<o){Q=e.input.slice(t,o);if(n){for(i=0,h=Q.length;i<h;i+=1){p=Q.charCodeAt(i);if(!(p===9||32<=p&&p<=1114111)){throwError(e,"expected valid JSON character")}}}else if(ee.test(Q)){throwError(e,"the stream contains non-printable characters")}e.result+=Q}}function mergeMappings(e,t,o,i){var h,p,D,T;if(!n.isObject(o)){throwError(e,"cannot merge mappings; the provided source object is unacceptable")}h=Object.keys(o);for(D=0,T=h.length;D<T;D+=1){p=h[D];if(!Q.call(t,p)){setProperty(t,p,o[p]);i[p]=true}}}function storeMappingPair(e,t,o,n,i,h,p,D,T){var _,O;if(Array.isArray(i)){i=Array.prototype.slice.call(i);for(_=0,O=i.length;_<O;_+=1){if(Array.isArray(i[_])){throwError(e,"nested arrays are not supported inside keys")}if(typeof i==="object"&&_class(i[_])==="[object Object]"){i[_]="[object Object]"}}}if(typeof i==="object"&&_class(i)==="[object Object]"){i="[object Object]"}i=String(i);if(t===null){t={}}if(n==="tag:yaml.org,2002:merge"){if(Array.isArray(h)){for(_=0,O=h.length;_<O;_+=1){mergeMappings(e,t,h[_],o)}}else{mergeMappings(e,t,h,o)}}else{if(!e.json&&!Q.call(o,i)&&Q.call(t,i)){e.line=p||e.line;e.lineStart=D||e.lineStart;e.position=T||e.position;throwError(e,"duplicated mapping key")}setProperty(t,i,h);delete o[i]}return t}function readLineBreak(e){var t;t=e.input.charCodeAt(e.position);if(t===10){e.position++}else if(t===13){e.position++;if(e.input.charCodeAt(e.position)===10){e.position++}}else{throwError(e,"a line break is expected")}e.line+=1;e.lineStart=e.position;e.firstTabInLine=-1}function skipSeparationSpace(e,t,o){var n=0,i=e.input.charCodeAt(e.position);while(i!==0){while(is_WHITE_SPACE(i)){if(i===9&&e.firstTabInLine===-1){e.firstTabInLine=e.position}i=e.input.charCodeAt(++e.position)}if(t&&i===35){do{i=e.input.charCodeAt(++e.position)}while(i!==10&&i!==13&&i!==0)}if(is_EOL(i)){readLineBreak(e);i=e.input.charCodeAt(e.position);n++;e.lineIndent=0;while(i===32){e.lineIndent++;i=e.input.charCodeAt(++e.position)}}else{break}}if(o!==-1&&n!==0&&e.lineIndent<o){throwWarning(e,"deficient indentation")}return n}function testDocumentSeparator(e){var t=e.position,o;o=e.input.charCodeAt(t);if((o===45||o===46)&&o===e.input.charCodeAt(t+1)&&o===e.input.charCodeAt(t+2)){t+=3;o=e.input.charCodeAt(t);if(o===0||is_WS_OR_EOL(o)){return true}}return false}function writeFoldedLines(e,t){if(t===1){e.result+=" "}else if(t>1){e.result+=n.repeat("\n",t-1)}}function readPlainScalar(e,t,o){var n,i,h,p,Q,D,T,_,O=e.kind,V=e.result,j;j=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(j)||is_FLOW_INDICATOR(j)||j===35||j===38||j===42||j===33||j===124||j===62||j===39||j===34||j===37||j===64||j===96){return false}if(j===63||j===45){i=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(i)||o&&is_FLOW_INDICATOR(i)){return false}}e.kind="scalar";e.result="";h=p=e.position;Q=false;while(j!==0){if(j===58){i=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(i)||o&&is_FLOW_INDICATOR(i)){break}}else if(j===35){n=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(n)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||o&&is_FLOW_INDICATOR(j)){break}else if(is_EOL(j)){D=e.line;T=e.lineStart;_=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=t){Q=true;j=e.input.charCodeAt(e.position);continue}else{e.position=p;e.line=D;e.lineStart=T;e.lineIndent=_;break}}if(Q){captureSegment(e,h,p,false);writeFoldedLines(e,e.line-D);h=p=e.position;Q=false}if(!is_WHITE_SPACE(j)){p=e.position+1}j=e.input.charCodeAt(++e.position)}captureSegment(e,h,p,false);if(e.result){return true}e.kind=O;e.result=V;return false}function readSingleQuotedScalar(e,t){var o,n,i;o=e.input.charCodeAt(e.position);if(o!==39){return false}e.kind="scalar";e.result="";e.position++;n=i=e.position;while((o=e.input.charCodeAt(e.position))!==0){if(o===39){captureSegment(e,n,e.position,true);o=e.input.charCodeAt(++e.position);if(o===39){n=e.position;e.position++;i=e.position}else{return true}}else if(is_EOL(o)){captureSegment(e,n,i,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));n=i=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;i=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var o,n,i,h,p,Q;Q=e.input.charCodeAt(e.position);if(Q!==34){return false}e.kind="scalar";e.result="";e.position++;o=n=e.position;while((Q=e.input.charCodeAt(e.position))!==0){if(Q===34){captureSegment(e,o,e.position,true);e.position++;return true}else if(Q===92){captureSegment(e,o,e.position,true);Q=e.input.charCodeAt(++e.position);if(is_EOL(Q)){skipSeparationSpace(e,false,t)}else if(Q<256&&ne[Q]){e.result+=ie[Q];e.position++}else if((p=escapedHexLen(Q))>0){i=p;h=0;for(;i>0;i--){Q=e.input.charCodeAt(++e.position);if((p=fromHexCode(Q))>=0){h=(h<<4)+p}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(h);e.position++}else{throwError(e,"unknown escape sequence")}o=n=e.position}else if(is_EOL(Q)){captureSegment(e,o,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));o=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var o=true,n,i,h,p=e.tag,Q,T=e.anchor,_,O,V,j,$,ee=Object.create(null),te,re,se,oe;oe=e.input.charCodeAt(e.position);if(oe===91){O=93;$=false;Q=[]}else if(oe===123){O=125;$=true;Q={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=Q}oe=e.input.charCodeAt(++e.position);while(oe!==0){skipSeparationSpace(e,true,t);oe=e.input.charCodeAt(e.position);if(oe===O){e.position++;e.tag=p;e.anchor=T;e.kind=$?"mapping":"sequence";e.result=Q;return true}else if(!o){throwError(e,"missed comma between flow collection entries")}else if(oe===44){throwError(e,"expected the node content, but found ','")}re=te=se=null;V=j=false;if(oe===63){_=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(_)){V=j=true;e.position++;skipSeparationSpace(e,true,t)}}n=e.line;i=e.lineStart;h=e.position;composeNode(e,t,D,false,true);re=e.tag;te=e.result;skipSeparationSpace(e,true,t);oe=e.input.charCodeAt(e.position);if((j||e.line===n)&&oe===58){V=true;oe=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,t);composeNode(e,t,D,false,true);se=e.result}if($){storeMappingPair(e,Q,ee,re,te,se,n,i,h)}else if(V){Q.push(storeMappingPair(e,null,ee,re,te,se,n,i,h))}else{Q.push(te)}skipSeparationSpace(e,true,t);oe=e.input.charCodeAt(e.position);if(oe===44){o=true;oe=e.input.charCodeAt(++e.position)}else{o=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var o,i,h=V,p=false,Q=false,D=t,T=0,_=false,O,ee;ee=e.input.charCodeAt(e.position);if(ee===124){i=false}else if(ee===62){i=true}else{return false}e.kind="scalar";e.result="";while(ee!==0){ee=e.input.charCodeAt(++e.position);if(ee===43||ee===45){if(V===h){h=ee===43?$:j}else{throwError(e,"repeat of a chomping mode identifier")}}else if((O=fromDecimalCode(ee))>=0){if(O===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!Q){D=t+O-1;Q=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(ee)){do{ee=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(ee));if(ee===35){do{ee=e.input.charCodeAt(++e.position)}while(!is_EOL(ee)&&ee!==0)}}while(ee!==0){readLineBreak(e);e.lineIndent=0;ee=e.input.charCodeAt(e.position);while((!Q||e.lineIndent<D)&&ee===32){e.lineIndent++;ee=e.input.charCodeAt(++e.position)}if(!Q&&e.lineIndent>D){D=e.lineIndent}if(is_EOL(ee)){T++;continue}if(e.lineIndent<D){if(h===$){e.result+=n.repeat("\n",p?1+T:T)}else if(h===V){if(p){e.result+="\n"}}break}if(i){if(is_WHITE_SPACE(ee)){_=true;e.result+=n.repeat("\n",p?1+T:T)}else if(_){_=false;e.result+=n.repeat("\n",T+1)}else if(T===0){if(p){e.result+=" "}}else{e.result+=n.repeat("\n",T)}}else{e.result+=n.repeat("\n",p?1+T:T)}p=true;Q=true;T=0;o=e.position;while(!is_EOL(ee)&&ee!==0){ee=e.input.charCodeAt(++e.position)}captureSegment(e,o,e.position,false)}return true}function readBlockSequence(e,t){var o,n=e.tag,i=e.anchor,h=[],p,Q=false,D;if(e.firstTabInLine!==-1)return false;if(e.anchor!==null){e.anchorMap[e.anchor]=h}D=e.input.charCodeAt(e.position);while(D!==0){if(e.firstTabInLine!==-1){e.position=e.firstTabInLine;throwError(e,"tab characters must not be used in indentation")}if(D!==45){break}p=e.input.charCodeAt(e.position+1);if(!is_WS_OR_EOL(p)){break}Q=true;e.position++;if(skipSeparationSpace(e,true,-1)){if(e.lineIndent<=t){h.push(null);D=e.input.charCodeAt(e.position);continue}}o=e.line;composeNode(e,t,_,false,true);h.push(e.result);skipSeparationSpace(e,true,-1);D=e.input.charCodeAt(e.position);if((e.line===o||e.lineIndent>t)&&D!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndent<t){break}}if(Q){e.tag=n;e.anchor=i;e.kind="sequence";e.result=h;return true}return false}function readBlockMapping(e,t,o){var n,i,h,p,Q,D,_=e.tag,V=e.anchor,j={},$=Object.create(null),ee=null,te=null,re=null,se=false,oe=false,ne;if(e.firstTabInLine!==-1)return false;if(e.anchor!==null){e.anchorMap[e.anchor]=j}ne=e.input.charCodeAt(e.position);while(ne!==0){if(!se&&e.firstTabInLine!==-1){e.position=e.firstTabInLine;throwError(e,"tab characters must not be used in indentation")}n=e.input.charCodeAt(e.position+1);h=e.line;if((ne===63||ne===58)&&is_WS_OR_EOL(n)){if(ne===63){if(se){storeMappingPair(e,j,$,ee,te,null,p,Q,D);ee=te=re=null}oe=true;se=true;i=true}else if(se){se=false;i=true}else{throwError(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line")}e.position+=1;ne=n}else{p=e.line;Q=e.lineStart;D=e.position;if(!composeNode(e,o,T,false,true)){break}if(e.line===h){ne=e.input.charCodeAt(e.position);while(is_WHITE_SPACE(ne)){ne=e.input.charCodeAt(++e.position)}if(ne===58){ne=e.input.charCodeAt(++e.position);if(!is_WS_OR_EOL(ne)){throwError(e,"a whitespace character is expected after the key-value separator within a block mapping")}if(se){storeMappingPair(e,j,$,ee,te,null,p,Q,D);ee=te=re=null}oe=true;se=false;i=false;ee=e.tag;te=e.result}else if(oe){throwError(e,"can not read an implicit mapping pair; a colon is missed")}else{e.tag=_;e.anchor=V;return true}}else if(oe){throwError(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}else{e.tag=_;e.anchor=V;return true}}if(e.line===h||e.lineIndent>t){if(se){p=e.line;Q=e.lineStart;D=e.position}if(composeNode(e,t,O,true,i)){if(se){te=e.result}else{re=e.result}}if(!se){storeMappingPair(e,j,$,ee,te,re,p,Q,D);ee=te=re=null}skipSeparationSpace(e,true,-1);ne=e.input.charCodeAt(e.position)}if((e.line===h||e.lineIndent>t)&&ne!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndent<t){break}}if(se){storeMappingPair(e,j,$,ee,te,null,p,Q,D)}if(oe){e.tag=_;e.anchor=V;e.kind="mapping";e.result=j}return oe}function readTagProperty(e){var t,o=false,n=false,i,h,p;p=e.input.charCodeAt(e.position);if(p!==33)return false;if(e.tag!==null){throwError(e,"duplication of a tag property")}p=e.input.charCodeAt(++e.position);if(p===60){o=true;p=e.input.charCodeAt(++e.position)}else if(p===33){n=true;i="!!";p=e.input.charCodeAt(++e.position)}else{i="!"}t=e.position;if(o){do{p=e.input.charCodeAt(++e.position)}while(p!==0&&p!==62);if(e.position<e.length){h=e.input.slice(t,e.position);p=e.input.charCodeAt(++e.position)}else{throwError(e,"unexpected end of the stream within a verbatim tag")}}else{while(p!==0&&!is_WS_OR_EOL(p)){if(p===33){if(!n){i=e.input.slice(t-1,e.position+1);if(!se.test(i)){throwError(e,"named tag handle cannot contain such characters")}n=true;t=e.position+1}else{throwError(e,"tag suffix cannot contain exclamation marks")}}p=e.input.charCodeAt(++e.position)}h=e.input.slice(t,e.position);if(re.test(h)){throwError(e,"tag suffix cannot contain flow indicator characters")}}if(h&&!oe.test(h)){throwError(e,"tag name cannot contain such characters: "+h)}try{h=decodeURIComponent(h)}catch(t){throwError(e,"tag name is malformed: "+h)}if(o){e.tag=h}else if(Q.call(e.tagMap,i)){e.tag=e.tagMap[i]+h}else if(i==="!"){e.tag="!"+h}else if(i==="!!"){e.tag="tag:yaml.org,2002:"+h}else{throwError(e,'undeclared tag handle "'+i+'"')}return true}function readAnchorProperty(e){var t,o;o=e.input.charCodeAt(e.position);if(o!==38)return false;if(e.anchor!==null){throwError(e,"duplication of an anchor property")}o=e.input.charCodeAt(++e.position);t=e.position;while(o!==0&&!is_WS_OR_EOL(o)&&!is_FLOW_INDICATOR(o)){o=e.input.charCodeAt(++e.position)}if(e.position===t){throwError(e,"name of an anchor node must contain at least one character")}e.anchor=e.input.slice(t,e.position);return true}function readAlias(e){var t,o,n;n=e.input.charCodeAt(e.position);if(n!==42)return false;n=e.input.charCodeAt(++e.position);t=e.position;while(n!==0&&!is_WS_OR_EOL(n)&&!is_FLOW_INDICATOR(n)){n=e.input.charCodeAt(++e.position)}if(e.position===t){throwError(e,"name of an alias node must contain at least one character")}o=e.input.slice(t,e.position);if(!Q.call(e.anchorMap,o)){throwError(e,'unidentified alias "'+o+'"')}e.result=e.anchorMap[o];skipSeparationSpace(e,true,-1);return true}function composeNode(e,t,o,n,i){var h,p,V,j=1,$=false,ee=false,te,re,se,oe,ne,ie;if(e.listener!==null){e.listener("open",e)}e.tag=null;e.anchor=null;e.kind=null;e.result=null;h=p=V=O===o||_===o;if(n){if(skipSeparationSpace(e,true,-1)){$=true;if(e.lineIndent>t){j=1}else if(e.lineIndent===t){j=0}else if(e.lineIndent<t){j=-1}}}if(j===1){while(readTagProperty(e)||readAnchorProperty(e)){if(skipSeparationSpace(e,true,-1)){$=true;V=h;if(e.lineIndent>t){j=1}else if(e.lineIndent===t){j=0}else if(e.lineIndent<t){j=-1}}else{V=false}}}if(V){V=$||i}if(j===1||O===o){if(D===o||T===o){ne=t}else{ne=t+1}ie=e.position-e.lineStart;if(j===1){if(V&&(readBlockSequence(e,ie)||readBlockMapping(e,ie,ne))||readFlowCollection(e,ne)){ee=true}else{if(p&&readBlockScalar(e,ne)||readSingleQuotedScalar(e,ne)||readDoubleQuotedScalar(e,ne)){ee=true}else if(readAlias(e)){ee=true;if(e.tag!==null||e.anchor!==null){throwError(e,"alias node should not have any properties")}}else if(readPlainScalar(e,ne,D===o)){ee=true;if(e.tag===null){e.tag="?"}}if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else if(j===0){ee=V&&readBlockSequence(e,ie)}}if(e.tag===null){if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}else if(e.tag==="?"){if(e.result!==null&&e.kind!=="scalar"){throwError(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"')}for(te=0,re=e.implicitTypes.length;te<re;te+=1){oe=e.implicitTypes[te];if(oe.resolve(e.result)){e.result=oe.construct(e.result);e.tag=oe.tag;if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}break}}}else if(e.tag!=="!"){if(Q.call(e.typeMap[e.kind||"fallback"],e.tag)){oe=e.typeMap[e.kind||"fallback"][e.tag]}else{oe=null;se=e.typeMap.multi[e.kind||"fallback"];for(te=0,re=se.length;te<re;te+=1){if(e.tag.slice(0,se[te].tag.length)===se[te].tag){oe=se[te];break}}}if(!oe){throwError(e,"unknown tag !<"+e.tag+">")}if(e.result!==null&&oe.kind!==e.kind){throwError(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+oe.kind+'", not "'+e.kind+'"')}if(!oe.resolve(e.result,e.tag)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=oe.construct(e.result,e.tag);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||ee}function readDocument(e){var t=e.position,o,n,i,h=false,p;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap=Object.create(null);e.anchorMap=Object.create(null);while((p=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);p=e.input.charCodeAt(e.position);if(e.lineIndent>0||p!==37){break}h=true;p=e.input.charCodeAt(++e.position);o=e.position;while(p!==0&&!is_WS_OR_EOL(p)){p=e.input.charCodeAt(++e.position)}n=e.input.slice(o,e.position);i=[];if(n.length<1){throwError(e,"directive name must not be less than one character in length")}while(p!==0){while(is_WHITE_SPACE(p)){p=e.input.charCodeAt(++e.position)}if(p===35){do{p=e.input.charCodeAt(++e.position)}while(p!==0&&!is_EOL(p));break}if(is_EOL(p))break;o=e.position;while(p!==0&&!is_WS_OR_EOL(p)){p=e.input.charCodeAt(++e.position)}i.push(e.input.slice(o,e.position))}if(p!==0)readLineBreak(e);if(Q.call(ae,n)){ae[n](e,n,i)}else{throwWarning(e,'unknown document directive "'+n+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(h){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,O,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&te.test(e.input.slice(t,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position<e.length-1){throwError(e,"end of the stream or a document separator is expected")}else{return}}function loadDocuments(e,t){e=String(e);t=t||{};if(e.length!==0){if(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13){e+="\n"}if(e.charCodeAt(0)===65279){e=e.slice(1)}}var o=new State(e,t);var n=e.indexOf("\0");if(n!==-1){o.position=n;throwError(o,"null byte is not allowed in input")}o.input+="\0";while(o.input.charCodeAt(o.position)===32){o.lineIndent+=1;o.position+=1}while(o.position<o.length-1){readDocument(o)}return o.documents}function loadAll(e,t,o){if(t!==null&&typeof t==="object"&&typeof o==="undefined"){o=t;t=null}var n=loadDocuments(e,o);if(typeof t!=="function"){return n}for(var i=0,h=n.length;i<h;i+=1){t(n[i])}}function load(e,t){var o=loadDocuments(e,t);if(o.length===0){return undefined}else if(o.length===1){return o[0]}throw new i("expected a single document in the stream, but found more")}e.exports.loadAll=loadAll;e.exports.load=load},2046:(e,t,o)=>{"use strict";var n=o(1248);var i=o(9557);function compileList(e,t){var o=[];e[t].forEach((function(e){var t=o.length;o.forEach((function(o,n){if(o.tag===e.tag&&o.kind===e.kind&&o.multi===e.multi){t=n}}));o[t]=e}));return o}function compileMap(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,o;function collectType(t){if(t.multi){e.multi[t.kind].push(t);e.multi["fallback"].push(t)}else{e[t.kind][t.tag]=e["fallback"][t.tag]=t}}for(t=0,o=arguments.length;t<o;t+=1){arguments[t].forEach(collectType)}return e}function Schema(e){return this.extend(e)}Schema.prototype.extend=function extend(e){var t=[];var o=[];if(e instanceof i){o.push(e)}else if(Array.isArray(e)){o=o.concat(e)}else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit))){if(e.implicit)t=t.concat(e.implicit);if(e.explicit)o=o.concat(e.explicit)}else{throw new n("Schema.extend argument should be a Type, [ Type ], "+"or a schema definition ({ implicit: [...], explicit: [...] })")}t.forEach((function(e){if(!(e instanceof i)){throw new n("Specified list of YAML types (or a single Type object) contains a non-Type object.")}if(e.loadKind&&e.loadKind!=="scalar"){throw new n("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}if(e.multi){throw new n("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}}));o.forEach((function(e){if(!(e instanceof i)){throw new n("Specified list of YAML types (or a single Type object) contains a non-Type object.")}}));var h=Object.create(Schema.prototype);h.implicit=(this.implicit||[]).concat(t);h.explicit=(this.explicit||[]).concat(o);h.compiledImplicit=compileList(h,"implicit");h.compiledExplicit=compileList(h,"explicit");h.compiledTypeMap=compileMap(h.compiledImplicit,h.compiledExplicit);return h};e.exports=Schema},5746:(e,t,o)=>{"use strict";e.exports=o(8927)},7336:(e,t,o)=>{"use strict";e.exports=o(5746).extend({implicit:[o(8966),o(6854)],explicit:[o(8149),o(8649),o(6267),o(8758)]})},9832:(e,t,o)=>{"use strict";var n=o(2046);e.exports=new n({explicit:[o(3929),o(7161),o(7316)]})},8927:(e,t,o)=>{"use strict";e.exports=o(9832).extend({implicit:[o(4333),o(7296),o(4652),o(7584)]})},9440:(e,t,o)=>{"use strict";var n=o(9816);function getLine(e,t,o,n,i){var h="";var p="";var Q=Math.floor(i/2)-1;if(n-t>Q){h=" ... ";t=n-Q+h.length}if(o-n>Q){p=" ...";o=n+Q-p.length}return{str:h+e.slice(t,o).replace(/\t/g,"→")+p,pos:n-t+h.length}}function padStart(e,t){return n.repeat(" ",t-e.length)+e}function makeSnippet(e,t){t=Object.create(t||null);if(!e.buffer)return null;if(!t.maxLength)t.maxLength=79;if(typeof t.indent!=="number")t.indent=1;if(typeof t.linesBefore!=="number")t.linesBefore=3;if(typeof t.linesAfter!=="number")t.linesAfter=2;var o=/\r?\n|\r|\0/g;var i=[0];var h=[];var p;var Q=-1;while(p=o.exec(e.buffer)){h.push(p.index);i.push(p.index+p[0].length);if(e.position<=p.index&&Q<0){Q=i.length-2}}if(Q<0)Q=i.length-1;var D="",T,_;var O=Math.min(e.line+t.linesAfter,h.length).toString().length;var V=t.maxLength-(t.indent+O+3);for(T=1;T<=t.linesBefore;T++){if(Q-T<0)break;_=getLine(e.buffer,i[Q-T],h[Q-T],e.position-(i[Q]-i[Q-T]),V);D=n.repeat(" ",t.indent)+padStart((e.line-T+1).toString(),O)+" | "+_.str+"\n"+D}_=getLine(e.buffer,i[Q],h[Q],e.position,V);D+=n.repeat(" ",t.indent)+padStart((e.line+1).toString(),O)+" | "+_.str+"\n";D+=n.repeat("-",t.indent+O+3+_.pos)+"^"+"\n";for(T=1;T<=t.linesAfter;T++){if(Q+T>=h.length)break;_=getLine(e.buffer,i[Q+T],h[Q+T],e.position-(i[Q]-i[Q+T]),V);D+=n.repeat(" ",t.indent)+padStart((e.line+T+1).toString(),O)+" | "+_.str+"\n"}return D.replace(/\n$/,"")}e.exports=makeSnippet},9557:(e,t,o)=>{"use strict";var n=o(1248);var i=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"];var h=["scalar","sequence","mapping"];function compileStyleAliases(e){var t={};if(e!==null){Object.keys(e).forEach((function(o){e[o].forEach((function(e){t[String(e)]=o}))}))}return t}function Type(e,t){t=t||{};Object.keys(t).forEach((function(t){if(i.indexOf(t)===-1){throw new n('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}}));this.options=t;this.tag=e;this.kind=t["kind"]||null;this.resolve=t["resolve"]||function(){return true};this.construct=t["construct"]||function(e){return e};this.instanceOf=t["instanceOf"]||null;this.predicate=t["predicate"]||null;this.represent=t["represent"]||null;this.representName=t["representName"]||null;this.defaultStyle=t["defaultStyle"]||null;this.multi=t["multi"]||false;this.styleAliases=compileStyleAliases(t["styleAliases"]||null);if(h.indexOf(this.kind)===-1){throw new n('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},8149:(e,t,o)=>{"use strict";var n=o(9557);var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(e){if(e===null)return false;var t,o,n=0,h=e.length,p=i;for(o=0;o<h;o++){t=p.indexOf(e.charAt(o));if(t>64)continue;if(t<0)return false;n+=6}return n%8===0}function constructYamlBinary(e){var t,o,n=e.replace(/[\r\n=]/g,""),h=n.length,p=i,Q=0,D=[];for(t=0;t<h;t++){if(t%4===0&&t){D.push(Q>>16&255);D.push(Q>>8&255);D.push(Q&255)}Q=Q<<6|p.indexOf(n.charAt(t))}o=h%4*6;if(o===0){D.push(Q>>16&255);D.push(Q>>8&255);D.push(Q&255)}else if(o===18){D.push(Q>>10&255);D.push(Q>>2&255)}else if(o===12){D.push(Q>>4&255)}return new Uint8Array(D)}function representYamlBinary(e){var t="",o=0,n,h,p=e.length,Q=i;for(n=0;n<p;n++){if(n%3===0&&n){t+=Q[o>>18&63];t+=Q[o>>12&63];t+=Q[o>>6&63];t+=Q[o&63]}o=(o<<8)+e[n]}h=p%3;if(h===0){t+=Q[o>>18&63];t+=Q[o>>12&63];t+=Q[o>>6&63];t+=Q[o&63]}else if(h===2){t+=Q[o>>10&63];t+=Q[o>>4&63];t+=Q[o<<2&63];t+=Q[64]}else if(h===1){t+=Q[o>>2&63];t+=Q[o<<4&63];t+=Q[64];t+=Q[64]}return t}function isBinary(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}e.exports=new n("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},7296:(e,t,o)=>{"use strict";var n=o(9557);function resolveYamlBoolean(e){if(e===null)return false;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function constructYamlBoolean(e){return e==="true"||e==="True"||e==="TRUE"}function isBoolean(e){return Object.prototype.toString.call(e)==="[object Boolean]"}e.exports=new n("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},7584:(e,t,o)=>{"use strict";var n=o(9816);var i=o(9557);var h=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(e===null)return false;if(!h.test(e)||e[e.length-1]==="_"){return false}return true}function constructYamlFloat(e){var t,o;t=e.replace(/_/g,"").toLowerCase();o=t[0]==="-"?-1:1;if("+-".indexOf(t[0])>=0){t=t.slice(1)}if(t===".inf"){return o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(t===".nan"){return NaN}return o*parseFloat(t,10)}var p=/^[-+]?[0-9]+e/;function representYamlFloat(e,t){var o;if(isNaN(e)){switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(n.isNegativeZero(e)){return"-0.0"}o=e.toString(10);return p.test(o)?o.replace("e",".e"):o}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||n.isNegativeZero(e))}e.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},4652:(e,t,o)=>{"use strict";var n=o(9816);var i=o(9557);function isHexCode(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function isOctCode(e){return 48<=e&&e<=55}function isDecCode(e){return 48<=e&&e<=57}function resolveYamlInteger(e){if(e===null)return false;var t=e.length,o=0,n=false,i;if(!t)return false;i=e[o];if(i==="-"||i==="+"){i=e[++o]}if(i==="0"){if(o+1===t)return true;i=e[++o];if(i==="b"){o++;for(;o<t;o++){i=e[o];if(i==="_")continue;if(i!=="0"&&i!=="1")return false;n=true}return n&&i!=="_"}if(i==="x"){o++;for(;o<t;o++){i=e[o];if(i==="_")continue;if(!isHexCode(e.charCodeAt(o)))return false;n=true}return n&&i!=="_"}if(i==="o"){o++;for(;o<t;o++){i=e[o];if(i==="_")continue;if(!isOctCode(e.charCodeAt(o)))return false;n=true}return n&&i!=="_"}}if(i==="_")return false;for(;o<t;o++){i=e[o];if(i==="_")continue;if(!isDecCode(e.charCodeAt(o))){return false}n=true}if(!n||i==="_")return false;return true}function constructYamlInteger(e){var t=e,o=1,n;if(t.indexOf("_")!==-1){t=t.replace(/_/g,"")}n=t[0];if(n==="-"||n==="+"){if(n==="-")o=-1;t=t.slice(1);n=t[0]}if(t==="0")return 0;if(n==="0"){if(t[1]==="b")return o*parseInt(t.slice(2),2);if(t[1]==="x")return o*parseInt(t.slice(2),16);if(t[1]==="o")return o*parseInt(t.slice(2),8)}return o*parseInt(t,10)}function isInteger(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1===0&&!n.isNegativeZero(e))}e.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},7316:(e,t,o)=>{"use strict";var n=o(9557);e.exports=new n("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})},6854:(e,t,o)=>{"use strict";var n=o(9557);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new n("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},4333:(e,t,o)=>{"use strict";var n=o(9557);function resolveYamlNull(e){if(e===null)return true;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function constructYamlNull(){return null}function isNull(e){return e===null}e.exports=new n("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})},8649:(e,t,o)=>{"use strict";var n=o(9557);var i=Object.prototype.hasOwnProperty;var h=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var t=[],o,n,p,Q,D,T=e;for(o=0,n=T.length;o<n;o+=1){p=T[o];D=false;if(h.call(p)!=="[object Object]")return false;for(Q in p){if(i.call(p,Q)){if(!D)D=true;else return false}}if(!D)return false;if(t.indexOf(Q)===-1)t.push(Q);else return false}return true}function constructYamlOmap(e){return e!==null?e:[]}e.exports=new n("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap})},6267:(e,t,o)=>{"use strict";var n=o(9557);var i=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var t,o,n,h,p,Q=e;p=new Array(Q.length);for(t=0,o=Q.length;t<o;t+=1){n=Q[t];if(i.call(n)!=="[object Object]")return false;h=Object.keys(n);if(h.length!==1)return false;p[t]=[h[0],n[h[0]]]}return true}function constructYamlPairs(e){if(e===null)return[];var t,o,n,i,h,p=e;h=new Array(p.length);for(t=0,o=p.length;t<o;t+=1){n=p[t];i=Object.keys(n);h[t]=[i[0],n[i[0]]]}return h}e.exports=new n("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs})},7161:(e,t,o)=>{"use strict";var n=o(9557);e.exports=new n("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},8758:(e,t,o)=>{"use strict";var n=o(9557);var i=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var t,o=e;for(t in o){if(i.call(o,t)){if(o[t]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new n("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},3929:(e,t,o)=>{"use strict";var n=o(9557);e.exports=new n("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})},8966:(e,t,o)=>{"use strict";var n=o(9557);var i=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var h=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(e){if(e===null)return false;if(i.exec(e)!==null)return true;if(h.exec(e)!==null)return true;return false}function constructYamlTimestamp(e){var t,o,n,p,Q,D,T,_=0,O=null,V,j,$;t=i.exec(e);if(t===null)t=h.exec(e);if(t===null)throw new Error("Date resolve error");o=+t[1];n=+t[2]-1;p=+t[3];if(!t[4]){return new Date(Date.UTC(o,n,p))}Q=+t[4];D=+t[5];T=+t[6];if(t[7]){_=t[7].slice(0,3);while(_.length<3){_+="0"}_=+_}if(t[9]){V=+t[10];j=+(t[11]||0);O=(V*60+j)*6e4;if(t[9]==="-")O=-O}$=new Date(Date.UTC(o,n,p,Q,D,T,_));if(O)$.setTime($.getTime()-O);return $}function representYamlTimestamp(e){return e.toISOString()}e.exports=new n("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},5560:(e,t,o)=>{var n=o(8264);e.exports=n(once);e.exports.strict=n(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},1860:e=>{var t;var o;var n;var i;var h;var p;var Q;var D;var T;var _;var O;var V;var j;var $;var ee;var te;var re;var se;var oe;var ne;var ie;var Ae;var ae;var ce;var le;var ue;var ge;var de;var he;var pe;var fe;var Ee;(function(t){var o=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(e){t(createExporter(o,createExporter(e)))}))}else if(true&&typeof e.exports==="object"){t(createExporter(o,createExporter(e.exports)))}else{t(createExporter(o))}function createExporter(e,t){if(e!==o){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(o,n){return e[o]=t?t(o,n):n}}})((function(e){var Ce=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o))e[o]=t[o]};t=function(e,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ce(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};o=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++){t=arguments[o];for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i))e[i]=t[i]}return e};n=function(e,t){var o={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0)o[n]=e[n];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++){if(t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i]))o[n[i]]=e[n[i]]}return o};i=function(e,t,o,n){var i=arguments.length,h=i<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,o):n,p;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")h=Reflect.decorate(e,t,o,n);else for(var Q=e.length-1;Q>=0;Q--)if(p=e[Q])h=(i<3?p(h):i>3?p(t,o,h):p(t,o))||h;return i>3&&h&&Object.defineProperty(t,o,h),h};h=function(e,t){return function(o,n){t(o,n,e)}};p=function(e,t,o,n,i,h){function accept(e){if(e!==void 0&&typeof e!=="function")throw new TypeError("Function expected");return e}var p=n.kind,Q=p==="getter"?"get":p==="setter"?"set":"value";var D=!t&&e?n["static"]?e:e.prototype:null;var T=t||(D?Object.getOwnPropertyDescriptor(D,n.name):{});var _,O=false;for(var V=o.length-1;V>=0;V--){var j={};for(var $ in n)j[$]=$==="access"?{}:n[$];for(var $ in n.access)j.access[$]=n.access[$];j.addInitializer=function(e){if(O)throw new TypeError("Cannot add initializers after decoration has completed");h.push(accept(e||null))};var ee=(0,o[V])(p==="accessor"?{get:T.get,set:T.set}:T[Q],j);if(p==="accessor"){if(ee===void 0)continue;if(ee===null||typeof ee!=="object")throw new TypeError("Object expected");if(_=accept(ee.get))T.get=_;if(_=accept(ee.set))T.set=_;if(_=accept(ee.init))i.unshift(_)}else if(_=accept(ee)){if(p==="field")i.unshift(_);else T[Q]=_}}if(D)Object.defineProperty(D,n.name,T);O=true};Q=function(e,t,o){var n=arguments.length>2;for(var i=0;i<t.length;i++){o=n?t[i].call(e,o):t[i].call(e)}return n?o:void 0};D=function(e){return typeof e==="symbol"?e:"".concat(e)};T=function(e,t,o){if(typeof t==="symbol")t=t.description?"[".concat(t.description,"]"):"";return Object.defineProperty(e,"name",{configurable:true,value:o?"".concat(o," ",t):t})};_=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};O=function(e,t,o,n){function adopt(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?o(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};V=function(e,t){var o={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},n,i,h,p=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return p.next=verb(0),p["throw"]=verb(1),p["return"]=verb(2),typeof Symbol==="function"&&(p[Symbol.iterator]=function(){return this}),p;function verb(e){return function(t){return step([e,t])}}function step(Q){if(n)throw new TypeError("Generator is already executing.");while(p&&(p=0,Q[0]&&(o=0)),o)try{if(n=1,i&&(h=Q[0]&2?i["return"]:Q[0]?i["throw"]||((h=i["return"])&&h.call(i),0):i.next)&&!(h=h.call(i,Q[1])).done)return h;if(i=0,h)Q=[Q[0]&2,h.value];switch(Q[0]){case 0:case 1:h=Q;break;case 4:o.label++;return{value:Q[1],done:false};case 5:o.label++;i=Q[1];Q=[0];continue;case 7:Q=o.ops.pop();o.trys.pop();continue;default:if(!(h=o.trys,h=h.length>0&&h[h.length-1])&&(Q[0]===6||Q[0]===2)){o=0;continue}if(Q[0]===3&&(!h||Q[1]>h[0]&&Q[1]<h[3])){o.label=Q[1];break}if(Q[0]===6&&o.label<h[1]){o.label=h[1];h=Q;break}if(h&&o.label<h[2]){o.label=h[2];o.ops.push(Q);break}if(h[2])o.ops.pop();o.trys.pop();continue}Q=t.call(e,o)}catch(e){Q=[6,e];i=0}finally{n=h=0}if(Q[0]&5)throw Q[1];return{value:Q[0]?Q[1]:void 0,done:true}}};j=function(e,t){for(var o in e)if(o!=="default"&&!Object.prototype.hasOwnProperty.call(t,o))he(t,e,o)};he=Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]};$=function(e){var t=typeof Symbol==="function"&&Symbol.iterator,o=t&&e[t],n=0;if(o)return o.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};ee=function(e,t){var o=typeof Symbol==="function"&&e[Symbol.iterator];if(!o)return e;var n=o.call(e),i,h=[],p;try{while((t===void 0||t-- >0)&&!(i=n.next()).done)h.push(i.value)}catch(e){p={error:e}}finally{try{if(i&&!i.done&&(o=n["return"]))o.call(n)}finally{if(p)throw p.error}}return h};te=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(ee(arguments[t]));return e};re=function(){for(var e=0,t=0,o=arguments.length;t<o;t++)e+=arguments[t].length;for(var n=Array(e),i=0,t=0;t<o;t++)for(var h=arguments[t],p=0,Q=h.length;p<Q;p++,i++)n[i]=h[p];return n};se=function(e,t,o){if(o||arguments.length===2)for(var n=0,i=t.length,h;n<i;n++){if(h||!(n in t)){if(!h)h=Array.prototype.slice.call(t,0,n);h[n]=t[n]}}return e.concat(h||Array.prototype.slice.call(t))};oe=function(e){return this instanceof oe?(this.v=e,this):new oe(e)};ne=function(e,t,o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=o.apply(e,t||[]),i,h=[];return i=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(e){return function(t){return Promise.resolve(t).then(e,reject)}}function verb(e,t){if(n[e]){i[e]=function(t){return new Promise((function(o,n){h.push([e,t,o,n])>1||resume(e,t)}))};if(t)i[e]=t(i[e])}}function resume(e,t){try{step(n[e](t))}catch(e){settle(h[0][3],e)}}function step(e){e.value instanceof oe?Promise.resolve(e.value.v).then(fulfill,reject):settle(h[0][2],e)}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){if(e(t),h.shift(),h.length)resume(h[0][0],h[0][1])}};ie=function(e){var t,o;return t={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(n,i){t[n]=e[n]?function(t){return(o=!o)?{value:oe(e[n](t)),done:false}:i?i(t):t}:i}};Ae=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],o;return t?t.call(e):(e=typeof $==="function"?$(e):e[Symbol.iterator](),o={},verb("next"),verb("throw"),verb("return"),o[Symbol.asyncIterator]=function(){return this},o);function verb(t){o[t]=e[t]&&function(o){return new Promise((function(n,i){o=e[t](o),settle(n,i,o.done,o.value)}))}}function settle(e,t,o,n){Promise.resolve(n).then((function(t){e({value:t,done:o})}),t)}};ae=function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};var me=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t};var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};ce=function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),n=0;n<o.length;n++)if(o[n]!=="default")he(t,e,o[n]);me(t,e);return t};le=function(e){return e&&e.__esModule?e:{default:e}};ue=function(e,t,o,n){if(o==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?n:o==="a"?n.call(e):n?n.value:t.get(e)};ge=function(e,t,o,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,o):i?i.value=o:t.set(e,o),o};de=function(e,t){if(t===null||typeof t!=="object"&&typeof t!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e==="function"?t===e:e.has(t)};pe=function(e,t,o){if(t!==null&&t!==void 0){if(typeof t!=="object"&&typeof t!=="function")throw new TypeError("Object expected.");var n,i;if(o){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose];if(o)i=n}if(typeof n!=="function")throw new TypeError("Object not disposable.");if(i)n=function(){try{i.call(this)}catch(e){return Promise.reject(e)}};e.stack.push({value:t,dispose:n,async:o})}else if(o){e.stack.push({async:true})}return t};var Ie=typeof SuppressedError==="function"?SuppressedError:function(e,t,o){var n=new Error(o);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};fe=function(e){function fail(t){e.error=e.hasError?new Ie(t,e.error,"An error was suppressed during disposal."):t;e.hasError=true}var t,o=0;function next(){while(t=e.stack.pop()){try{if(!t.async&&o===1)return o=0,e.stack.push(t),Promise.resolve().then(next);if(t.dispose){var n=t.dispose.call(t.value);if(t.async)return o|=2,Promise.resolve(n).then(next,(function(e){fail(e);return next()}))}else o|=1}catch(e){fail(e)}}if(o===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return next()};Ee=function(e,t){if(typeof e==="string"&&/^\.\.?\//.test(e)){return e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,(function(e,o,n,i,h){return o?t?".jsx":".js":n&&(!i||!h)?e:n+i+"."+h.toLowerCase()+"js"}))}return e};e("__extends",t);e("__assign",o);e("__rest",n);e("__decorate",i);e("__param",h);e("__esDecorate",p);e("__runInitializers",Q);e("__propKey",D);e("__setFunctionName",T);e("__metadata",_);e("__awaiter",O);e("__generator",V);e("__exportStar",j);e("__createBinding",he);e("__values",$);e("__read",ee);e("__spread",te);e("__spreadArrays",re);e("__spreadArray",se);e("__await",oe);e("__asyncGenerator",ne);e("__asyncDelegator",ie);e("__asyncValues",Ae);e("__makeTemplateObject",ae);e("__importStar",ce);e("__importDefault",le);e("__classPrivateFieldGet",ue);e("__classPrivateFieldSet",ge);e("__classPrivateFieldIn",de);e("__addDisposableResource",pe);e("__disposeResources",fe);e("__rewriteRelativeImportExtension",Ee)}));0&&0},770:(e,t,o)=>{e.exports=o(7837)},7837:(e,t,o)=>{"use strict";var n=o(9278);var i=o(4756);var h=o(8611);var p=o(5692);var Q=o(4434);var D=o(2613);var T=o(9023);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=h.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=h.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=p.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=p.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||h.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,o,n,i){var h=toOptions(o,n,i);for(var p=0,Q=t.requests.length;p<Q;++p){var D=t.requests[p];if(D.host===h.host&&D.port===h.port){t.requests.splice(p,1);D.request.onSocket(e);return}}e.destroy();t.removeSocket(e)}))}T.inherits(TunnelingAgent,Q.EventEmitter);TunnelingAgent.prototype.addRequest=function addRequest(e,t,o,n){var i=this;var h=mergeOptions({request:e},i.options,toOptions(t,o,n));if(i.sockets.length>=this.maxSockets){i.requests.push(h);return}i.createSocket(h,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){i.emit("free",t,h)}function onCloseOrRemove(e){i.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var o=this;var n={};o.sockets.push(n);var i=mergeOptions({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){i.localAddress=e.localAddress}if(i.proxyAuth){i.headers=i.headers||{};i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")}_("making CONNECT request");var h=o.request(i);h.useChunkedEncodingByDefault=false;h.once("response",onResponse);h.once("upgrade",onUpgrade);h.once("connect",onConnect);h.once("error",onError);h.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,o){process.nextTick((function(){onConnect(e,t,o)}))}function onConnect(i,p,Q){h.removeAllListeners();p.removeAllListeners();if(i.statusCode!==200){_("tunneling socket could not be established, statusCode=%d",i.statusCode);p.destroy();var D=new Error("tunneling socket could not be established, "+"statusCode="+i.statusCode);D.code="ECONNRESET";e.request.emit("error",D);o.removeSocket(n);return}if(Q.length>0){_("got illegal response body from proxy");p.destroy();var D=new Error("got illegal response body from proxy");D.code="ECONNRESET";e.request.emit("error",D);o.removeSocket(n);return}_("tunneling connection has established");o.sockets[o.sockets.indexOf(n)]=p;return t(p)}function onError(t){h.removeAllListeners();_("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var i=new Error("tunneling socket could not be established, "+"cause="+t.message);i.code="ECONNRESET";e.request.emit("error",i);o.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var o=this.requests.shift();if(o){this.createSocket(o,(function(e){o.request.onSocket(e)}))}};function createSecureSocket(e,t){var o=this;TunnelingAgent.prototype.createSocket.call(o,e,(function(n){var h=e.request.getHeader("host");var p=mergeOptions({},o.options,{socket:n,servername:h?h.replace(/:.*$/,""):e.host});var Q=i.connect(0,p);o.sockets[o.sockets.indexOf(n)]=Q;t(Q)}))}function toOptions(e,t,o){if(typeof e==="string"){return{host:e,port:t,localAddress:o}}return e}function mergeOptions(e){for(var t=1,o=arguments.length;t<o;++t){var n=arguments[t];if(typeof n==="object"){var i=Object.keys(n);for(var h=0,p=i.length;h<p;++h){var Q=i[h];if(n[Q]!==undefined){e[Q]=n[Q]}}}}return e}var _;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){_=function(){var e=Array.prototype.slice.call(arguments);if(typeof e[0]==="string"){e[0]="TUNNEL: "+e[0]}else{e.unshift("TUNNEL:")}console.error.apply(console,e)}}else{_=function(){}}t.debug=_},6752:(e,t,o)=>{"use strict";const n=o(6197);const i=o(992);const h=o(8707);const p=o(5076);const Q=o(1093);const D=o(9965);const T=o(3440);const{InvalidArgumentError:_}=h;const O=o(6615);const V=o(9136);const j=o(7365);const $=o(7501);const ee=o(4004);const te=o(2429);const re=o(2720);const se=o(3573);const{getGlobalDispatcher:oe,setGlobalDispatcher:ne}=o(2581);const ie=o(8840);const Ae=o(8299);const ae=o(4415);let ce;try{o(6982);ce=true}catch{ce=false}Object.assign(i.prototype,O);e.exports.Dispatcher=i;e.exports.Client=n;e.exports.Pool=p;e.exports.BalancedPool=Q;e.exports.Agent=D;e.exports.ProxyAgent=re;e.exports.RetryHandler=se;e.exports.DecoratorHandler=ie;e.exports.RedirectHandler=Ae;e.exports.createRedirectInterceptor=ae;e.exports.buildConnector=V;e.exports.errors=h;function makeDispatcher(e){return(t,o,n)=>{if(typeof o==="function"){n=o;o=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new _("invalid url")}if(o!=null&&typeof o!=="object"){throw new _("invalid opts")}if(o&&o.path!=null){if(typeof o.path!=="string"){throw new _("invalid opts.path")}let e=o.path;if(!o.path.startsWith("/")){e=`/${e}`}t=new URL(T.parseOrigin(t).origin+e)}else{if(!o){o=typeof t==="object"?t:{}}t=T.parseURL(t)}const{agent:i,dispatcher:h=oe()}=o;if(i){throw new _("unsupported opts.agent. Did you mean opts.client?")}return e.call(h,{...o,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:o.method||(o.body?"PUT":"GET")},n)}}e.exports.setGlobalDispatcher=ne;e.exports.getGlobalDispatcher=oe;if(T.nodeMajor>16||T.nodeMajor===16&&T.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=o(2315).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=o(6349).Headers;e.exports.Response=o(8676).Response;e.exports.Request=o(5194).Request;e.exports.FormData=o(3073).FormData;e.exports.File=o(3041).File;e.exports.FileReader=o(2160).FileReader;const{setGlobalOrigin:n,getGlobalOrigin:i}=o(5628);e.exports.setGlobalOrigin=n;e.exports.getGlobalOrigin=i;const{CacheStorage:h}=o(4738);const{kConstruct:p}=o(296);e.exports.caches=new h(p)}if(T.nodeMajor>=16){const{deleteCookie:t,getCookies:n,getSetCookies:i,setCookie:h}=o(3168);e.exports.deleteCookie=t;e.exports.getCookies=n;e.exports.getSetCookies=i;e.exports.setCookie=h;const{parseMIMEType:p,serializeAMimeType:Q}=o(4322);e.exports.parseMIMEType=p;e.exports.serializeAMimeType=Q}if(T.nodeMajor>=18&&ce){const{WebSocket:t}=o(5171);e.exports.WebSocket=t}e.exports.request=makeDispatcher(O.request);e.exports.stream=makeDispatcher(O.stream);e.exports.pipeline=makeDispatcher(O.pipeline);e.exports.connect=makeDispatcher(O.connect);e.exports.upgrade=makeDispatcher(O.upgrade);e.exports.MockClient=j;e.exports.MockPool=ee;e.exports.MockAgent=$;e.exports.mockErrors=te},9965:(e,t,o)=>{"use strict";const{InvalidArgumentError:n}=o(8707);const{kClients:i,kRunning:h,kClose:p,kDestroy:Q,kDispatch:D,kInterceptors:T}=o(6443);const _=o(1);const O=o(5076);const V=o(6197);const j=o(3440);const $=o(4415);const{WeakRef:ee,FinalizationRegistry:te}=o(3194)();const re=Symbol("onConnect");const se=Symbol("onDisconnect");const oe=Symbol("onConnectionError");const ne=Symbol("maxRedirections");const ie=Symbol("onDrain");const Ae=Symbol("factory");const ae=Symbol("finalizer");const ce=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new V(e,t):new O(e,t)}class Agent extends _{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:o,...h}={}){super();if(typeof e!=="function"){throw new n("factory must be a function.")}if(o!=null&&typeof o!=="function"&&typeof o!=="object"){throw new n("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new n("maxRedirections must be a positive number")}if(o&&typeof o!=="function"){o={...o}}this[T]=h.interceptors&&h.interceptors.Agent&&Array.isArray(h.interceptors.Agent)?h.interceptors.Agent:[$({maxRedirections:t})];this[ce]={...j.deepClone(h),connect:o};this[ce].interceptors=h.interceptors?{...h.interceptors}:undefined;this[ne]=t;this[Ae]=e;this[i]=new Map;this[ae]=new te((e=>{const t=this[i].get(e);if(t!==undefined&&t.deref()===undefined){this[i].delete(e)}}));const p=this;this[ie]=(e,t)=>{p.emit("drain",e,[p,...t])};this[re]=(e,t)=>{p.emit("connect",e,[p,...t])};this[se]=(e,t,o)=>{p.emit("disconnect",e,[p,...t],o)};this[oe]=(e,t,o)=>{p.emit("connectionError",e,[p,...t],o)}}get[h](){let e=0;for(const t of this[i].values()){const o=t.deref();if(o){e+=o[h]}}return e}[D](e,t){let o;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){o=String(e.origin)}else{throw new n("opts.origin must be a non-empty string or URL.")}const h=this[i].get(o);let p=h?h.deref():null;if(!p){p=this[Ae](e.origin,this[ce]).on("drain",this[ie]).on("connect",this[re]).on("disconnect",this[se]).on("connectionError",this[oe]);this[i].set(o,new ee(p));this[ae].register(p,o)}return p.dispatch(e,t)}async[p](){const e=[];for(const t of this[i].values()){const o=t.deref();if(o){e.push(o.close())}}await Promise.all(e)}async[Q](e){const t=[];for(const o of this[i].values()){const n=o.deref();if(n){t.push(n.destroy(e))}}await Promise.all(t)}}e.exports=Agent},158:(e,t,o)=>{const{addAbortListener:n}=o(3440);const{RequestAbortedError:i}=o(8707);const h=Symbol("kListener");const p=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new i)}}function addSignal(e,t){e[p]=null;e[h]=null;if(!t){return}if(t.aborted){abort(e);return}e[p]=t;e[h]=()=>{abort(e)};n(e[p],e[h])}function removeSignal(e){if(!e[p]){return}if("removeEventListener"in e[p]){e[p].removeEventListener("abort",e[h])}else{e[p].removeListener("abort",e[h])}e[p]=null;e[h]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},4660:(e,t,o)=>{"use strict";const{AsyncResource:n}=o(290);const{InvalidArgumentError:i,RequestAbortedError:h,SocketError:p}=o(8707);const Q=o(3440);const{addSignal:D,removeSignal:T}=o(158);class ConnectHandler extends n{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid callback")}const{signal:o,opaque:n,responseHeaders:h}=e;if(o&&typeof o.on!=="function"&&typeof o.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=n||null;this.responseHeaders=h||null;this.callback=t;this.abort=null;D(this,o)}onConnect(e,t){if(!this.callback){throw new h}this.abort=e;this.context=t}onHeaders(){throw new p("bad connect",null)}onUpgrade(e,t,o){const{callback:n,opaque:i,context:h}=this;T(this);this.callback=null;let p=t;if(p!=null){p=this.responseHeaders==="raw"?Q.parseRawHeaders(t):Q.parseHeaders(t)}this.runInAsyncScope(n,null,null,{statusCode:e,headers:p,socket:o,opaque:i,context:h})}onError(e){const{callback:t,opaque:o}=this;T(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:o})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,o)=>{connect.call(this,e,((e,n)=>e?o(e):t(n)))}))}try{const o=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},o)}catch(o){if(typeof t!=="function"){throw o}const n=e&&e.opaque;queueMicrotask((()=>t(o,{opaque:n})))}}e.exports=connect},6862:(e,t,o)=>{"use strict";const{Readable:n,Duplex:i,PassThrough:h}=o(2203);const{InvalidArgumentError:p,InvalidReturnValueError:Q,RequestAbortedError:D}=o(8707);const T=o(3440);const{AsyncResource:_}=o(290);const{addSignal:O,removeSignal:V}=o(158);const j=o(2613);const $=Symbol("resume");class PipelineRequest extends n{constructor(){super({autoDestroy:true});this[$]=null}_read(){const{[$]:e}=this;if(e){this[$]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends n{constructor(e){super({autoDestroy:true});this[$]=e}_read(){this[$]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new D}t(e)}}class PipelineHandler extends _{constructor(e,t){if(!e||typeof e!=="object"){throw new p("invalid opts")}if(typeof t!=="function"){throw new p("invalid handler")}const{signal:o,method:n,opaque:h,onInfo:Q,responseHeaders:_}=e;if(o&&typeof o.on!=="function"&&typeof o.addEventListener!=="function"){throw new p("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new p("invalid method")}if(Q&&typeof Q!=="function"){throw new p("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=h||null;this.responseHeaders=_||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=Q||null;this.req=(new PipelineRequest).on("error",T.nop);this.ret=new i({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,o)=>{const{req:n}=this;if(n.push(e,t)||n._readableState.destroyed){o()}else{n[$]=o}},destroy:(e,t)=>{const{body:o,req:n,res:i,ret:h,abort:p}=this;if(!e&&!h._readableState.endEmitted){e=new D}if(p&&e){p()}T.destroy(o,e);T.destroy(n,e);T.destroy(i,e);V(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;O(this,o)}onConnect(e,t){const{ret:o,res:n}=this;j(!n,"pipeline cannot be retried");if(o.destroyed){throw new D}this.abort=e;this.context=t}onHeaders(e,t,o){const{opaque:n,handler:i,context:h}=this;if(e<200){if(this.onInfo){const o=this.responseHeaders==="raw"?T.parseRawHeaders(t):T.parseHeaders(t);this.onInfo({statusCode:e,headers:o})}return}this.res=new PipelineResponse(o);let p;try{this.handler=null;const o=this.responseHeaders==="raw"?T.parseRawHeaders(t):T.parseHeaders(t);p=this.runInAsyncScope(i,null,{statusCode:e,headers:o,opaque:n,body:this.res,context:h})}catch(e){this.res.on("error",T.nop);throw e}if(!p||typeof p.on!=="function"){throw new Q("expected Readable")}p.on("data",(e=>{const{ret:t,body:o}=this;if(!t.push(e)&&o.pause){o.pause()}})).on("error",(e=>{const{ret:t}=this;T.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){T.destroy(e,new D)}}));this.body=p}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;T.destroy(t,e)}}function pipeline(e,t){try{const o=new PipelineHandler(e,t);this.dispatch({...e,body:o.req},o);return o.ret}catch(e){return(new h).destroy(e)}}e.exports=pipeline},4043:(e,t,o)=>{"use strict";const n=o(9927);const{InvalidArgumentError:i,RequestAbortedError:h}=o(8707);const p=o(3440);const{getResolveErrorBodyCallback:Q}=o(7655);const{AsyncResource:D}=o(290);const{addSignal:T,removeSignal:_}=o(158);class RequestHandler extends D{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}const{signal:o,method:n,opaque:h,body:Q,onInfo:D,responseHeaders:_,throwOnError:O,highWaterMark:V}=e;try{if(typeof t!=="function"){throw new i("invalid callback")}if(V&&(typeof V!=="number"||V<0)){throw new i("invalid highWaterMark")}if(o&&typeof o.on!=="function"&&typeof o.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new i("invalid method")}if(D&&typeof D!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(p.isStream(Q)){p.destroy(Q.on("error",p.nop),e)}throw e}this.responseHeaders=_||null;this.opaque=h||null;this.callback=t;this.res=null;this.abort=null;this.body=Q;this.trailers={};this.context=null;this.onInfo=D||null;this.throwOnError=O;this.highWaterMark=V;if(p.isStream(Q)){Q.on("error",(e=>{this.onError(e)}))}T(this,o)}onConnect(e,t){if(!this.callback){throw new h}this.abort=e;this.context=t}onHeaders(e,t,o,i){const{callback:h,opaque:D,abort:T,context:_,responseHeaders:O,highWaterMark:V}=this;const j=O==="raw"?p.parseRawHeaders(t):p.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:j})}return}const $=O==="raw"?p.parseHeaders(t):j;const ee=$["content-type"];const te=new n({resume:o,abort:T,contentType:ee,highWaterMark:V});this.callback=null;this.res=te;if(h!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(Q,null,{callback:h,body:te,contentType:ee,statusCode:e,statusMessage:i,headers:j})}else{this.runInAsyncScope(h,null,null,{statusCode:e,headers:j,trailers:this.trailers,opaque:D,body:te,context:_})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;_(this);p.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:o,body:n,opaque:i}=this;_(this);if(o){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(o,null,e,{opaque:i})}))}if(t){this.res=null;queueMicrotask((()=>{p.destroy(t,e)}))}if(n){this.body=null;p.destroy(n,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,o)=>{request.call(this,e,((e,n)=>e?o(e):t(n)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(o){if(typeof t!=="function"){throw o}const n=e&&e.opaque;queueMicrotask((()=>t(o,{opaque:n})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},3560:(e,t,o)=>{"use strict";const{finished:n,PassThrough:i}=o(2203);const{InvalidArgumentError:h,InvalidReturnValueError:p,RequestAbortedError:Q}=o(8707);const D=o(3440);const{getResolveErrorBodyCallback:T}=o(7655);const{AsyncResource:_}=o(290);const{addSignal:O,removeSignal:V}=o(158);class StreamHandler extends _{constructor(e,t,o){if(!e||typeof e!=="object"){throw new h("invalid opts")}const{signal:n,method:i,opaque:p,body:Q,onInfo:T,responseHeaders:_,throwOnError:V}=e;try{if(typeof o!=="function"){throw new h("invalid callback")}if(typeof t!=="function"){throw new h("invalid factory")}if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new h("signal must be an EventEmitter or EventTarget")}if(i==="CONNECT"){throw new h("invalid method")}if(T&&typeof T!=="function"){throw new h("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(D.isStream(Q)){D.destroy(Q.on("error",D.nop),e)}throw e}this.responseHeaders=_||null;this.opaque=p||null;this.factory=t;this.callback=o;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=Q;this.onInfo=T||null;this.throwOnError=V||false;if(D.isStream(Q)){Q.on("error",(e=>{this.onError(e)}))}O(this,n)}onConnect(e,t){if(!this.callback){throw new Q}this.abort=e;this.context=t}onHeaders(e,t,o,h){const{factory:Q,opaque:_,context:O,callback:V,responseHeaders:j}=this;const $=j==="raw"?D.parseRawHeaders(t):D.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:$})}return}this.factory=null;let ee;if(this.throwOnError&&e>=400){const o=j==="raw"?D.parseHeaders(t):$;const n=o["content-type"];ee=new i;this.callback=null;this.runInAsyncScope(T,null,{callback:V,body:ee,contentType:n,statusCode:e,statusMessage:h,headers:$})}else{if(Q===null){return}ee=this.runInAsyncScope(Q,null,{statusCode:e,headers:$,opaque:_,context:O});if(!ee||typeof ee.write!=="function"||typeof ee.end!=="function"||typeof ee.on!=="function"){throw new p("expected Writable")}n(ee,{readable:false},(e=>{const{callback:t,res:o,opaque:n,trailers:i,abort:h}=this;this.res=null;if(e||!o.readable){D.destroy(o,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:n,trailers:i});if(e){h()}}))}ee.on("drain",o);this.res=ee;const te=ee.writableNeedDrain!==undefined?ee.writableNeedDrain:ee._writableState&&ee._writableState.needDrain;return te!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;V(this);if(!t){return}this.trailers=D.parseHeaders(e);t.end()}onError(e){const{res:t,callback:o,opaque:n,body:i}=this;V(this);this.factory=null;if(t){this.res=null;D.destroy(t,e)}else if(o){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(o,null,e,{opaque:n})}))}if(i){this.body=null;D.destroy(i,e)}}}function stream(e,t,o){if(o===undefined){return new Promise(((o,n)=>{stream.call(this,e,t,((e,t)=>e?n(e):o(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,o))}catch(t){if(typeof o!=="function"){throw t}const n=e&&e.opaque;queueMicrotask((()=>o(t,{opaque:n})))}}e.exports=stream},1882:(e,t,o)=>{"use strict";const{InvalidArgumentError:n,RequestAbortedError:i,SocketError:h}=o(8707);const{AsyncResource:p}=o(290);const Q=o(3440);const{addSignal:D,removeSignal:T}=o(158);const _=o(2613);class UpgradeHandler extends p{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:o,opaque:i,responseHeaders:h}=e;if(o&&typeof o.on!=="function"&&typeof o.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=h||null;this.opaque=i||null;this.callback=t;this.abort=null;this.context=null;D(this,o)}onConnect(e,t){if(!this.callback){throw new i}this.abort=e;this.context=null}onHeaders(){throw new h("bad upgrade",null)}onUpgrade(e,t,o){const{callback:n,opaque:i,context:h}=this;_.strictEqual(e,101);T(this);this.callback=null;const p=this.responseHeaders==="raw"?Q.parseRawHeaders(t):Q.parseHeaders(t);this.runInAsyncScope(n,null,null,{headers:p,socket:o,opaque:i,context:h})}onError(e){const{callback:t,opaque:o}=this;T(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:o})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,o)=>{upgrade.call(this,e,((e,n)=>e?o(e):t(n)))}))}try{const o=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},o)}catch(o){if(typeof t!=="function"){throw o}const n=e&&e.opaque;queueMicrotask((()=>t(o,{opaque:n})))}}e.exports=upgrade},6615:(e,t,o)=>{"use strict";e.exports.request=o(4043);e.exports.stream=o(3560);e.exports.pipeline=o(6862);e.exports.upgrade=o(1882);e.exports.connect=o(4660)},9927:(e,t,o)=>{"use strict";const n=o(2613);const{Readable:i}=o(2203);const{RequestAbortedError:h,NotSupportedError:p,InvalidArgumentError:Q}=o(8707);const D=o(3440);const{ReadableStreamFrom:T,toUSVString:_}=o(3440);let O;const V=Symbol("kConsume");const j=Symbol("kReading");const $=Symbol("kBody");const ee=Symbol("abort");const te=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends i{constructor({resume:e,abort:t,contentType:o="",highWaterMark:n=64*1024}){super({autoDestroy:true,read:e,highWaterMark:n});this._readableState.dataEmitted=false;this[ee]=t;this[V]=null;this[$]=null;this[te]=o;this[j]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new h}if(e){this[ee]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[j]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const o=super.off(e,...t);if(e==="data"||e==="readable"){this[j]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return o}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[V]&&e!==null&&this.readableLength===0){consumePush(this[V],e);return this[j]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new p}get bodyUsed(){return D.isDisturbed(this)}get body(){if(!this[$]){this[$]=T(this);if(this[V]){this[$].getReader();n(this[$].locked)}}return this[$]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const o=e&&e.signal;if(o){try{if(typeof o!=="object"||!("aborted"in o)){throw new Q("signal must be an AbortSignal")}D.throwIfAborted(o)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,n)=>{const i=o?D.addAbortListener(o,(()=>{this.destroy()})):noop;this.on("close",(function(){i();if(o&&o.aborted){n(o.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[$]&&e[$].locked===true||e[V]}function isUnusable(e){return D.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}n(!e[V]);return new Promise(((o,n)=>{e[V]={type:t,stream:e,resolve:o,reject:n,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[V],e)})).on("close",(function(){if(this[V].body!==null){consumeFinish(this[V],new h)}}));process.nextTick(consumeStart,e[V])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const o of t.buffer){consumePush(e,o)}if(t.endEmitted){consumeEnd(this[V])}else{e.stream.on("end",(function(){consumeEnd(this[V])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:n,resolve:i,stream:h,length:p}=e;try{if(t==="text"){i(_(Buffer.concat(n)))}else if(t==="json"){i(JSON.parse(Buffer.concat(n)))}else if(t==="arrayBuffer"){const e=new Uint8Array(p);let t=0;for(const o of n){e.set(o,t);t+=o.byteLength}i(e.buffer)}else if(t==="blob"){if(!O){O=o(181).Blob}i(new O(n,{type:h[te]}))}consumeFinish(e)}catch(e){h.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},7655:(e,t,o)=>{const n=o(2613);const{ResponseStatusCodeError:i}=o(8707);const{toUSVString:h}=o(3440);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:o,statusCode:p,statusMessage:Q,headers:D}){n(t);let T=[];let _=0;for await(const e of t){T.push(e);_+=e.length;if(_>128*1024){T=null;break}}if(p===204||!o||!T){process.nextTick(e,new i(`Response status code ${p}${Q?`: ${Q}`:""}`,p,D));return}try{if(o.startsWith("application/json")){const t=JSON.parse(h(Buffer.concat(T)));process.nextTick(e,new i(`Response status code ${p}${Q?`: ${Q}`:""}`,p,D,t));return}if(o.startsWith("text/")){const t=h(Buffer.concat(T));process.nextTick(e,new i(`Response status code ${p}${Q?`: ${Q}`:""}`,p,D,t));return}}catch(e){}process.nextTick(e,new i(`Response status code ${p}${Q?`: ${Q}`:""}`,p,D))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},1093:(e,t,o)=>{"use strict";const{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:i}=o(8707);const{PoolBase:h,kClients:p,kNeedDrain:Q,kAddClient:D,kRemoveClient:T,kGetDispatcher:_}=o(8640);const O=o(5076);const{kUrl:V,kInterceptors:j}=o(6443);const{parseOrigin:$}=o(3440);const ee=Symbol("factory");const te=Symbol("options");const re=Symbol("kGreatestCommonDivisor");const se=Symbol("kCurrentWeight");const oe=Symbol("kIndex");const ne=Symbol("kWeight");const ie=Symbol("kMaxWeightPerServer");const Ae=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new O(e,t)}class BalancedPool extends h{constructor(e=[],{factory:t=defaultFactory,...o}={}){super();this[te]=o;this[oe]=-1;this[se]=0;this[ie]=this[te].maxWeightPerServer||100;this[Ae]=this[te].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new i("factory must be a function.")}this[j]=o.interceptors&&o.interceptors.BalancedPool&&Array.isArray(o.interceptors.BalancedPool)?o.interceptors.BalancedPool:[];this[ee]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=$(e).origin;if(this[p].find((e=>e[V].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const o=this[ee](t,Object.assign({},this[te]));this[D](o);o.on("connect",(()=>{o[ne]=Math.min(this[ie],o[ne]+this[Ae])}));o.on("connectionError",(()=>{o[ne]=Math.max(1,o[ne]-this[Ae]);this._updateBalancedPoolStats()}));o.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){o[ne]=Math.max(1,o[ne]-this[Ae]);this._updateBalancedPoolStats()}}));for(const e of this[p]){e[ne]=this[ie]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[re]=this[p].map((e=>e[ne])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=$(e).origin;const o=this[p].find((e=>e[V].origin===t&&e.closed!==true&&e.destroyed!==true));if(o){this[T](o)}return this}get upstreams(){return this[p].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[V].origin))}[_](){if(this[p].length===0){throw new n}const e=this[p].find((e=>!e[Q]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[p].map((e=>e[Q])).reduce(((e,t)=>e&&t),true);if(t){return}let o=0;let i=this[p].findIndex((e=>!e[Q]));while(o++<this[p].length){this[oe]=(this[oe]+1)%this[p].length;const e=this[p][this[oe]];if(e[ne]>this[p][i][ne]&&!e[Q]){i=this[oe]}if(this[oe]===0){this[se]=this[se]-this[re];if(this[se]<=0){this[se]=this[ie]}}if(e[ne]>=this[se]&&!e[Q]){return e}}this[se]=this[p][i][ne];this[oe]=i;return this[p][i]}}e.exports=BalancedPool},479:(e,t,o)=>{"use strict";const{kConstruct:n}=o(296);const{urlEquals:i,fieldValues:h}=o(3993);const{kEnumerableProperty:p,isDisturbed:Q}=o(3440);const{kHeadersList:D}=o(6443);const{webidl:T}=o(4222);const{Response:_,cloneResponse:O}=o(8676);const{Request:V}=o(5194);const{kState:j,kHeaders:$,kGuard:ee,kRealm:te}=o(9710);const{fetching:re}=o(2315);const{urlIsHttpHttpsScheme:se,createDeferredPromise:oe,readAllBytes:ne}=o(5523);const ie=o(2613);const{getGlobalDispatcher:Ae}=o(2581);class Cache{#e;constructor(){if(arguments[0]!==n){T.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){T.brandCheck(this,Cache);T.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=T.converters.RequestInfo(e);t=T.converters.CacheQueryOptions(t);const o=await this.matchAll(e,t);if(o.length===0){return}return o[0]}async matchAll(e=undefined,t={}){T.brandCheck(this,Cache);if(e!==undefined)e=T.converters.RequestInfo(e);t=T.converters.CacheQueryOptions(t);let o=null;if(e!==undefined){if(e instanceof V){o=e[j];if(o.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){o=new V(e)[j]}}const n=[];if(e===undefined){for(const e of this.#e){n.push(e[1])}}else{const e=this.#t(o,t);for(const t of e){n.push(t[1])}}const i=[];for(const e of n){const t=new _(e.body?.source??null);const o=t[j].body;t[j]=e;t[j].body=o;t[$][D]=e.headersList;t[$][ee]="immutable";i.push(t)}return Object.freeze(i)}async add(e){T.brandCheck(this,Cache);T.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=T.converters.RequestInfo(e);const t=[e];const o=this.addAll(t);return await o}async addAll(e){T.brandCheck(this,Cache);T.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=T.converters["sequence<RequestInfo>"](e);const t=[];const o=[];for(const t of e){if(typeof t==="string"){continue}const e=t[j];if(!se(e.url)||e.method!=="GET"){throw T.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const n=[];for(const i of e){const e=new V(i)[j];if(!se(e.url)){throw T.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";o.push(e);const p=oe();n.push(re({request:e,dispatcher:Ae(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){p.reject(T.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=h(e.headersList.get("vary"));for(const e of t){if(e==="*"){p.reject(T.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of n){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){p.reject(new DOMException("aborted","AbortError"));return}p.resolve(e)}}));t.push(p.promise)}const i=Promise.all(t);const p=await i;const Q=[];let D=0;for(const e of p){const t={type:"put",request:o[D],response:e};Q.push(t);D++}const _=oe();let O=null;try{this.#r(Q)}catch(e){O=e}queueMicrotask((()=>{if(O===null){_.resolve(undefined)}else{_.reject(O)}}));return _.promise}async put(e,t){T.brandCheck(this,Cache);T.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=T.converters.RequestInfo(e);t=T.converters.Response(t);let o=null;if(e instanceof V){o=e[j]}else{o=new V(e)[j]}if(!se(o.url)||o.method!=="GET"){throw T.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const n=t[j];if(n.status===206){throw T.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(n.headersList.contains("vary")){const e=h(n.headersList.get("vary"));for(const t of e){if(t==="*"){throw T.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(n.body&&(Q(n.body.stream)||n.body.stream.locked)){throw T.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const i=O(n);const p=oe();if(n.body!=null){const e=n.body.stream;const t=e.getReader();ne(t).then(p.resolve,p.reject)}else{p.resolve(undefined)}const D=[];const _={type:"put",request:o,response:i};D.push(_);const $=await p.promise;if(i.body!=null){i.body.source=$}const ee=oe();let te=null;try{this.#r(D)}catch(e){te=e}queueMicrotask((()=>{if(te===null){ee.resolve()}else{ee.reject(te)}}));return ee.promise}async delete(e,t={}){T.brandCheck(this,Cache);T.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=T.converters.RequestInfo(e);t=T.converters.CacheQueryOptions(t);let o=null;if(e instanceof V){o=e[j];if(o.method!=="GET"&&!t.ignoreMethod){return false}}else{ie(typeof e==="string");o=new V(e)[j]}const n=[];const i={type:"delete",request:o,options:t};n.push(i);const h=oe();let p=null;let Q;try{Q=this.#r(n)}catch(e){p=e}queueMicrotask((()=>{if(p===null){h.resolve(!!Q?.length)}else{h.reject(p)}}));return h.promise}async keys(e=undefined,t={}){T.brandCheck(this,Cache);if(e!==undefined)e=T.converters.RequestInfo(e);t=T.converters.CacheQueryOptions(t);let o=null;if(e!==undefined){if(e instanceof V){o=e[j];if(o.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){o=new V(e)[j]}}const n=oe();const i=[];if(e===undefined){for(const e of this.#e){i.push(e[0])}}else{const e=this.#t(o,t);for(const t of e){i.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of i){const o=new V("https://a");o[j]=t;o[$][D]=t.headersList;o[$][ee]="immutable";o[te]=t.client;e.push(o)}n.resolve(Object.freeze(e))}));return n.promise}#r(e){const t=this.#e;const o=[...t];const n=[];const i=[];try{for(const o of e){if(o.type!=="delete"&&o.type!=="put"){throw T.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(o.type==="delete"&&o.response!=null){throw T.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(o.request,o.options,n).length){throw new DOMException("???","InvalidStateError")}let e;if(o.type==="delete"){e=this.#t(o.request,o.options);if(e.length===0){return[]}for(const o of e){const e=t.indexOf(o);ie(e!==-1);t.splice(e,1)}}else if(o.type==="put"){if(o.response==null){throw T.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const i=o.request;if(!se(i.url)){throw T.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(i.method!=="GET"){throw T.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(o.options!=null){throw T.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(o.request);for(const o of e){const e=t.indexOf(o);ie(e!==-1);t.splice(e,1)}t.push([o.request,o.response]);n.push([o.request,o.response])}i.push([o.request,o.response])}return i}catch(e){this.#e.length=0;this.#e=o;throw e}}#t(e,t,o){const n=[];const i=o??this.#e;for(const o of i){const[i,h]=o;if(this.#s(e,i,h,t)){n.push(o)}}return n}#s(e,t,o=null,n){const p=new URL(e.url);const Q=new URL(t.url);if(n?.ignoreSearch){Q.search="";p.search=""}if(!i(p,Q,true)){return false}if(o==null||n?.ignoreVary||!o.headersList.contains("vary")){return true}const D=h(o.headersList.get("vary"));for(const o of D){if(o==="*"){return false}const n=t.headersList.get(o);const i=e.headersList.get(o);if(n!==i){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:p,matchAll:p,add:p,addAll:p,put:p,delete:p,keys:p});const ae=[{key:"ignoreSearch",converter:T.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:T.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:T.converters.boolean,defaultValue:false}];T.converters.CacheQueryOptions=T.dictionaryConverter(ae);T.converters.MultiCacheQueryOptions=T.dictionaryConverter([...ae,{key:"cacheName",converter:T.converters.DOMString}]);T.converters.Response=T.interfaceConverter(_);T.converters["sequence<RequestInfo>"]=T.sequenceConverter(T.converters.RequestInfo);e.exports={Cache:Cache}},4738:(e,t,o)=>{"use strict";const{kConstruct:n}=o(296);const{Cache:i}=o(479);const{webidl:h}=o(4222);const{kEnumerableProperty:p}=o(3440);class CacheStorage{#o=new Map;constructor(){if(arguments[0]!==n){h.illegalConstructor()}}async match(e,t={}){h.brandCheck(this,CacheStorage);h.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=h.converters.RequestInfo(e);t=h.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#o.has(t.cacheName)){const o=this.#o.get(t.cacheName);const h=new i(n,o);return await h.match(e,t)}}else{for(const o of this.#o.values()){const h=new i(n,o);const p=await h.match(e,t);if(p!==undefined){return p}}}}async has(e){h.brandCheck(this,CacheStorage);h.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=h.converters.DOMString(e);return this.#o.has(e)}async open(e){h.brandCheck(this,CacheStorage);h.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=h.converters.DOMString(e);if(this.#o.has(e)){const t=this.#o.get(e);return new i(n,t)}const t=[];this.#o.set(e,t);return new i(n,t)}async delete(e){h.brandCheck(this,CacheStorage);h.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=h.converters.DOMString(e);return this.#o.delete(e)}async keys(){h.brandCheck(this,CacheStorage);const e=this.#o.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:p,has:p,open:p,delete:p,keys:p});e.exports={CacheStorage:CacheStorage}},296:(e,t,o)=>{"use strict";e.exports={kConstruct:o(6443).kConstruct}},3993:(e,t,o)=>{"use strict";const n=o(2613);const{URLSerializer:i}=o(4322);const{isValidHeaderName:h}=o(5523);function urlEquals(e,t,o=false){const n=i(e,o);const h=i(t,o);return n===h}function fieldValues(e){n(e!==null);const t=[];for(let o of e.split(",")){o=o.trim();if(!o.length){continue}else if(!h(o)){continue}t.push(o)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},6197:(e,t,o)=>{"use strict";const n=o(2613);const i=o(9278);const h=o(8611);const{pipeline:p}=o(2203);const Q=o(3440);const D=o(8804);const T=o(4655);const _=o(1);const{RequestContentLengthMismatchError:O,ResponseContentLengthMismatchError:V,InvalidArgumentError:j,RequestAbortedError:$,HeadersTimeoutError:ee,HeadersOverflowError:te,SocketError:re,InformationalError:se,BodyTimeoutError:oe,HTTPParserError:ne,ResponseExceededMaxSizeError:ie,ClientDestroyedError:Ae}=o(8707);const ae=o(9136);const{kUrl:ce,kReset:le,kServerName:ue,kClient:ge,kBusy:de,kParser:he,kConnect:pe,kBlocking:fe,kResuming:Ee,kRunning:Ce,kPending:me,kSize:Ie,kWriting:Qe,kQueue:Be,kConnected:ye,kConnecting:we,kNeedDrain:be,kNoRef:Se,kKeepAliveDefaultTimeout:Re,kHostHeader:De,kPendingIdx:Te,kRunningIdx:ke,kError:ve,kPipelining:Ne,kSocket:Fe,kKeepAliveTimeoutValue:_e,kMaxHeadersSize:Ue,kKeepAliveMaxTimeout:Pe,kKeepAliveTimeoutThreshold:Le,kHeadersTimeout:Me,kBodyTimeout:Oe,kStrictContentLength:xe,kConnector:Ge,kMaxRedirections:He,kMaxRequests:Ye,kCounter:Ve,kClose:Je,kDestroy:qe,kDispatch:je,kInterceptors:We,kLocalAddress:$e,kMaxResponseSize:ze,kHTTPConnVersion:Ke,kHost:Xe,kHTTP2Session:Ze,kHTTP2SessionState:At,kHTTP2BuildRequest:gt,kHTTP2CopyHeaders:dt,kHTTP1BuildRequest:Et}=o(6443);let Ct;try{Ct=o(5675)}catch{Ct={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:mt,HTTP2_HEADER_METHOD:It,HTTP2_HEADER_PATH:Qt,HTTP2_HEADER_SCHEME:Bt,HTTP2_HEADER_CONTENT_LENGTH:yt,HTTP2_HEADER_EXPECT:wt,HTTP2_HEADER_STATUS:bt}}=Ct;let St=false;const Rt=Buffer[Symbol.species];const Dt=Symbol("kClosedResolve");const Tt={};try{const e=o(1637);Tt.sendHeaders=e.channel("undici:client:sendHeaders");Tt.beforeConnect=e.channel("undici:client:beforeConnect");Tt.connectError=e.channel("undici:client:connectError");Tt.connected=e.channel("undici:client:connected")}catch{Tt.sendHeaders={hasSubscribers:false};Tt.beforeConnect={hasSubscribers:false};Tt.connectError={hasSubscribers:false};Tt.connected={hasSubscribers:false}}class Client extends _{constructor(e,{interceptors:t,maxHeaderSize:o,headersTimeout:n,socketTimeout:p,requestTimeout:D,connectTimeout:T,bodyTimeout:_,idleTimeout:O,keepAlive:V,keepAliveTimeout:$,maxKeepAliveTimeout:ee,keepAliveMaxTimeout:te,keepAliveTimeoutThreshold:re,socketPath:se,pipelining:oe,tls:ne,strictContentLength:ie,maxCachedSessions:Ae,maxRedirections:le,connect:ge,maxRequestsPerClient:de,localAddress:he,maxResponseSize:pe,autoSelectFamily:fe,autoSelectFamilyAttemptTimeout:Ce,allowH2:me,maxConcurrentStreams:Ie}={}){super();if(V!==undefined){throw new j("unsupported keepAlive, use pipelining=0 instead")}if(p!==undefined){throw new j("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(D!==undefined){throw new j("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(O!==undefined){throw new j("unsupported idleTimeout, use keepAliveTimeout instead")}if(ee!==undefined){throw new j("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(o!=null&&!Number.isFinite(o)){throw new j("invalid maxHeaderSize")}if(se!=null&&typeof se!=="string"){throw new j("invalid socketPath")}if(T!=null&&(!Number.isFinite(T)||T<0)){throw new j("invalid connectTimeout")}if($!=null&&(!Number.isFinite($)||$<=0)){throw new j("invalid keepAliveTimeout")}if(te!=null&&(!Number.isFinite(te)||te<=0)){throw new j("invalid keepAliveMaxTimeout")}if(re!=null&&!Number.isFinite(re)){throw new j("invalid keepAliveTimeoutThreshold")}if(n!=null&&(!Number.isInteger(n)||n<0)){throw new j("headersTimeout must be a positive integer or zero")}if(_!=null&&(!Number.isInteger(_)||_<0)){throw new j("bodyTimeout must be a positive integer or zero")}if(ge!=null&&typeof ge!=="function"&&typeof ge!=="object"){throw new j("connect must be a function or an object")}if(le!=null&&(!Number.isInteger(le)||le<0)){throw new j("maxRedirections must be a positive number")}if(de!=null&&(!Number.isInteger(de)||de<0)){throw new j("maxRequestsPerClient must be a positive number")}if(he!=null&&(typeof he!=="string"||i.isIP(he)===0)){throw new j("localAddress must be valid string IP address")}if(pe!=null&&(!Number.isInteger(pe)||pe<-1)){throw new j("maxResponseSize must be a positive number")}if(Ce!=null&&(!Number.isInteger(Ce)||Ce<-1)){throw new j("autoSelectFamilyAttemptTimeout must be a positive number")}if(me!=null&&typeof me!=="boolean"){throw new j("allowH2 must be a valid boolean value")}if(Ie!=null&&(typeof Ie!=="number"||Ie<1)){throw new j("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof ge!=="function"){ge=ae({...ne,maxCachedSessions:Ae,allowH2:me,socketPath:se,timeout:T,...Q.nodeHasAutoSelectFamily&&fe?{autoSelectFamily:fe,autoSelectFamilyAttemptTimeout:Ce}:undefined,...ge})}this[We]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[vt({maxRedirections:le})];this[ce]=Q.parseOrigin(e);this[Ge]=ge;this[Fe]=null;this[Ne]=oe!=null?oe:1;this[Ue]=o||h.maxHeaderSize;this[Re]=$==null?4e3:$;this[Pe]=te==null?6e5:te;this[Le]=re==null?1e3:re;this[_e]=this[Re];this[ue]=null;this[$e]=he!=null?he:null;this[Ee]=0;this[be]=0;this[De]=`host: ${this[ce].hostname}${this[ce].port?`:${this[ce].port}`:""}\r\n`;this[Oe]=_!=null?_:3e5;this[Me]=n!=null?n:3e5;this[xe]=ie==null?true:ie;this[He]=le;this[Ye]=de;this[Dt]=null;this[ze]=pe>-1?pe:-1;this[Ke]="h1";this[Ze]=null;this[At]=!me?null:{openStreams:0,maxConcurrentStreams:Ie!=null?Ie:100};this[Xe]=`${this[ce].hostname}${this[ce].port?`:${this[ce].port}`:""}`;this[Be]=[];this[ke]=0;this[Te]=0}get pipelining(){return this[Ne]}set pipelining(e){this[Ne]=e;resume(this,true)}get[me](){return this[Be].length-this[Te]}get[Ce](){return this[Te]-this[ke]}get[Ie](){return this[Be].length-this[ke]}get[ye](){return!!this[Fe]&&!this[we]&&!this[Fe].destroyed}get[de](){const e=this[Fe];return e&&(e[le]||e[Qe]||e[fe])||this[Ie]>=(this[Ne]||1)||this[me]>0}[pe](e){connect(this);this.once("connect",e)}[je](e,t){const o=e.origin||this[ce].origin;const n=this[Ke]==="h2"?T[gt](o,e,t):T[Et](o,e,t);this[Be].push(n);if(this[Ee]){}else if(Q.bodyLength(n.body)==null&&Q.isIterable(n.body)){this[Ee]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[Ee]&&this[be]!==2&&this[de]){this[be]=2}return this[be]<2}async[Je](){return new Promise((e=>{if(!this[Ie]){e(null)}else{this[Dt]=e}}))}async[qe](e){return new Promise((t=>{const o=this[Be].splice(this[Te]);for(let t=0;t<o.length;t++){const n=o[t];errorRequest(this,n,e)}const callback=()=>{if(this[Dt]){this[Dt]();this[Dt]=null}t()};if(this[Ze]!=null){Q.destroy(this[Ze],e);this[Ze]=null;this[At]=null}if(!this[Fe]){queueMicrotask(callback)}else{Q.destroy(this[Fe].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){n(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[Fe][ve]=e;onError(this[ge],e)}function onHttp2FrameError(e,t,o){const n=new se(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(o===0){this[Fe][ve]=n;onError(this[ge],n)}}function onHttp2SessionEnd(){Q.destroy(this,new re("other side closed"));Q.destroy(this[Fe],new re("other side closed"))}function onHTTP2GoAway(e){const t=this[ge];const o=new se(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[Fe]=null;t[Ze]=null;if(t.destroyed){n(this[me]===0);const e=t[Be].splice(t[ke]);for(let t=0;t<e.length;t++){const n=e[t];errorRequest(this,n,o)}}else if(t[Ce]>0){const e=t[Be][t[ke]];t[Be][t[ke]++]=null;errorRequest(t,e,o)}t[Te]=t[ke];n(t[Ce]===0);t.emit("disconnect",t[ce],[t],o);resume(t)}const kt=o(2824);const vt=o(4415);const Nt=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?o(3870):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(o(3434),"base64"))}catch(n){t=await WebAssembly.compile(Buffer.from(e||o(3870),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,o)=>0,wasm_on_status:(e,t,o)=>{n.strictEqual(Ut.ptr,e);const i=t-Mt+Pt.byteOffset;return Ut.onStatus(new Rt(Pt.buffer,i,o))||0},wasm_on_message_begin:e=>{n.strictEqual(Ut.ptr,e);return Ut.onMessageBegin()||0},wasm_on_header_field:(e,t,o)=>{n.strictEqual(Ut.ptr,e);const i=t-Mt+Pt.byteOffset;return Ut.onHeaderField(new Rt(Pt.buffer,i,o))||0},wasm_on_header_value:(e,t,o)=>{n.strictEqual(Ut.ptr,e);const i=t-Mt+Pt.byteOffset;return Ut.onHeaderValue(new Rt(Pt.buffer,i,o))||0},wasm_on_headers_complete:(e,t,o,i)=>{n.strictEqual(Ut.ptr,e);return Ut.onHeadersComplete(t,Boolean(o),Boolean(i))||0},wasm_on_body:(e,t,o)=>{n.strictEqual(Ut.ptr,e);const i=t-Mt+Pt.byteOffset;return Ut.onBody(new Rt(Pt.buffer,i,o))||0},wasm_on_message_complete:e=>{n.strictEqual(Ut.ptr,e);return Ut.onMessageComplete()||0}}})}let Ft=null;let _t=lazyllhttp();_t.catch();let Ut=null;let Pt=null;let Lt=0;let Mt=null;const Ot=1;const xt=2;const Gt=3;class Parser{constructor(e,t,{exports:o}){n(Number.isFinite(e[Ue])&&e[Ue]>0);this.llhttp=o;this.ptr=this.llhttp.llhttp_alloc(kt.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[Ue];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[ze]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){D.clearTimeout(this.timeout);if(e){this.timeout=D.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}n(this.ptr!=null);n(Ut==null);this.llhttp.llhttp_resume(this.ptr);n(this.timeoutType===xt);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Nt);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){n(this.ptr!=null);n(Ut==null);n(!this.paused);const{socket:t,llhttp:o}=this;if(e.length>Lt){if(Mt){o.free(Mt)}Lt=Math.ceil(e.length/4096)*4096;Mt=o.malloc(Lt)}new Uint8Array(o.memory.buffer,Mt,Lt).set(e);try{let n;try{Pt=e;Ut=this;n=o.llhttp_execute(this.ptr,Mt,e.length)}catch(e){throw e}finally{Ut=null;Pt=null}const i=o.llhttp_get_error_pos(this.ptr)-Mt;if(n===kt.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(i))}else if(n===kt.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(i))}else if(n!==kt.ERROR.OK){const t=o.llhttp_get_error_reason(this.ptr);let h="";if(t){const e=new Uint8Array(o.memory.buffer,t).indexOf(0);h="Response does not match the HTTP/1.1 protocol ("+Buffer.from(o.memory.buffer,t,e).toString()+")"}throw new ne(h,kt.ERROR[n],e.slice(i))}}catch(e){Q.destroy(t,e)}}destroy(){n(this.ptr!=null);n(Ut==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;D.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const o=t[Be][t[ke]];if(!o){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const o=this.headers[t-2];if(o.length===10&&o.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(o.length===10&&o.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(o.length===14&&o.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){Q.destroy(this.socket,new te)}}onUpgrade(e){const{upgrade:t,client:o,socket:i,headers:h,statusCode:p}=this;n(t);const D=o[Be][o[ke]];n(D);n(!i.destroyed);n(i===o[Fe]);n(!this.paused);n(D.upgrade||D.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;n(this.headers.length%2===0);this.headers=[];this.headersSize=0;i.unshift(e);i[he].destroy();i[he]=null;i[ge]=null;i[ve]=null;i.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);o[Fe]=null;o[Be][o[ke]++]=null;o.emit("disconnect",o[ce],[o],new se("upgrade"));try{D.onUpgrade(p,h,i)}catch(e){Q.destroy(i,e)}resume(o)}onHeadersComplete(e,t,o){const{client:i,socket:h,headers:p,statusText:D}=this;if(h.destroyed){return-1}const T=i[Be][i[ke]];if(!T){return-1}n(!this.upgrade);n(this.statusCode<200);if(e===100){Q.destroy(h,new re("bad response",Q.getSocketInfo(h)));return-1}if(t&&!T.upgrade){Q.destroy(h,new re("bad upgrade",Q.getSocketInfo(h)));return-1}n.strictEqual(this.timeoutType,Ot);this.statusCode=e;this.shouldKeepAlive=o||T.method==="HEAD"&&!h[le]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=T.bodyTimeout!=null?T.bodyTimeout:i[Oe];this.setTimeout(e,xt)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(T.method==="CONNECT"){n(i[Ce]===1);this.upgrade=true;return 2}if(t){n(i[Ce]===1);this.upgrade=true;return 2}n(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&i[Ne]){const e=this.keepAlive?Q.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-i[Le],i[Pe]);if(t<=0){h[le]=true}else{i[_e]=t}}else{i[_e]=i[Re]}}else{h[le]=true}const _=T.onHeaders(e,p,this.resume,D)===false;if(T.aborted){return-1}if(T.method==="HEAD"){return 1}if(e<200){return 1}if(h[fe]){h[fe]=false;resume(i)}return _?kt.ERROR.PAUSED:0}onBody(e){const{client:t,socket:o,statusCode:i,maxResponseSize:h}=this;if(o.destroyed){return-1}const p=t[Be][t[ke]];n(p);n.strictEqual(this.timeoutType,xt);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}n(i>=200);if(h>-1&&this.bytesRead+e.length>h){Q.destroy(o,new ie);return-1}this.bytesRead+=e.length;if(p.onData(e)===false){return kt.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:o,upgrade:i,headers:h,contentLength:p,bytesRead:D,shouldKeepAlive:T}=this;if(t.destroyed&&(!o||T)){return-1}if(i){return}const _=e[Be][e[ke]];n(_);n(o>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";n(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(o<200){return}if(_.method!=="HEAD"&&p&&D!==parseInt(p,10)){Q.destroy(t,new V);return-1}_.onComplete(h);e[Be][e[ke]++]=null;if(t[Qe]){n.strictEqual(e[Ce],0);Q.destroy(t,new se("reset"));return kt.ERROR.PAUSED}else if(!T){Q.destroy(t,new se("reset"));return kt.ERROR.PAUSED}else if(t[le]&&e[Ce]===0){Q.destroy(t,new se("reset"));return kt.ERROR.PAUSED}else if(e[Ne]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:o,client:i}=e;if(o===Ot){if(!t[Qe]||t.writableNeedDrain||i[Ce]>1){n(!e.paused,"cannot be paused while waiting for headers");Q.destroy(t,new ee)}}else if(o===xt){if(!e.paused){Q.destroy(t,new oe)}}else if(o===Gt){n(i[Ce]===0&&i[_e]);Q.destroy(t,new se("socket idle timeout"))}}function onSocketReadable(){const{[he]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[ge]:t,[he]:o}=this;n(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[Ke]!=="h2"){if(e.code==="ECONNRESET"&&o.statusCode&&!o.shouldKeepAlive){o.onMessageComplete();return}}this[ve]=e;onError(this[ge],e)}function onError(e,t){if(e[Ce]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){n(e[Te]===e[ke]);const o=e[Be].splice(e[ke]);for(let n=0;n<o.length;n++){const i=o[n];errorRequest(e,i,t)}n(e[Ie]===0)}}function onSocketEnd(){const{[he]:e,[ge]:t}=this;if(t[Ke]!=="h2"){if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}}Q.destroy(this,new re("other side closed",Q.getSocketInfo(this)))}function onSocketClose(){const{[ge]:e,[he]:t}=this;if(e[Ke]==="h1"&&t){if(!this[ve]&&t.statusCode&&!t.shouldKeepAlive){t.onMessageComplete()}this[he].destroy();this[he]=null}const o=this[ve]||new re("closed",Q.getSocketInfo(this));e[Fe]=null;if(e.destroyed){n(e[me]===0);const t=e[Be].splice(e[ke]);for(let n=0;n<t.length;n++){const i=t[n];errorRequest(e,i,o)}}else if(e[Ce]>0&&o.code!=="UND_ERR_INFO"){const t=e[Be][e[ke]];e[Be][e[ke]++]=null;errorRequest(e,t,o)}e[Te]=e[ke];n(e[Ce]===0);e.emit("disconnect",e[ce],[e],o);resume(e)}async function connect(e){n(!e[we]);n(!e[Fe]);let{host:t,hostname:o,protocol:h,port:p}=e[ce];if(o[0]==="["){const e=o.indexOf("]");n(e!==-1);const t=o.substring(1,e);n(i.isIP(t));o=t}e[we]=true;if(Tt.beforeConnect.hasSubscribers){Tt.beforeConnect.publish({connectParams:{host:t,hostname:o,protocol:h,port:p,servername:e[ue],localAddress:e[$e]},connector:e[Ge]})}try{const i=await new Promise(((n,i)=>{e[Ge]({host:t,hostname:o,protocol:h,port:p,servername:e[ue],localAddress:e[$e]},((e,t)=>{if(e){i(e)}else{n(t)}}))}));if(e.destroyed){Q.destroy(i.on("error",(()=>{})),new Ae);return}e[we]=false;n(i);const D=i.alpnProtocol==="h2";if(D){if(!St){St=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=Ct.connect(e[ce],{createConnection:()=>i,peerMaxConcurrentStreams:e[At].maxConcurrentStreams});e[Ke]="h2";t[ge]=e;t[Fe]=i;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[Ze]=t;i[Ze]=t}else{if(!Ft){Ft=await _t;_t=null}i[Se]=false;i[Qe]=false;i[le]=false;i[fe]=false;i[he]=new Parser(e,i,Ft)}i[Ve]=0;i[Ye]=e[Ye];i[ge]=e;i[ve]=null;i.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[Fe]=i;if(Tt.connected.hasSubscribers){Tt.connected.publish({connectParams:{host:t,hostname:o,protocol:h,port:p,servername:e[ue],localAddress:e[$e]},connector:e[Ge],socket:i})}e.emit("connect",e[ce],[e])}catch(i){if(e.destroyed){return}e[we]=false;if(Tt.connectError.hasSubscribers){Tt.connectError.publish({connectParams:{host:t,hostname:o,protocol:h,port:p,servername:e[ue],localAddress:e[$e]},connector:e[Ge],error:i})}if(i.code==="ERR_TLS_CERT_ALTNAME_INVALID"){n(e[Ce]===0);while(e[me]>0&&e[Be][e[Te]].servername===e[ue]){const t=e[Be][e[Te]++];errorRequest(e,t,i)}}else{onError(e,i)}e.emit("connectionError",e[ce],[e],i)}resume(e)}function emitDrain(e){e[be]=0;e.emit("drain",e[ce],[e])}function resume(e,t){if(e[Ee]===2){return}e[Ee]=2;_resume(e,t);e[Ee]=0;if(e[ke]>256){e[Be].splice(0,e[ke]);e[Te]-=e[ke];e[ke]=0}}function _resume(e,t){while(true){if(e.destroyed){n(e[me]===0);return}if(e[Dt]&&!e[Ie]){e[Dt]();e[Dt]=null;return}const o=e[Fe];if(o&&!o.destroyed&&o.alpnProtocol!=="h2"){if(e[Ie]===0){if(!o[Se]&&o.unref){o.unref();o[Se]=true}}else if(o[Se]&&o.ref){o.ref();o[Se]=false}if(e[Ie]===0){if(o[he].timeoutType!==Gt){o[he].setTimeout(e[_e],Gt)}}else if(e[Ce]>0&&o[he].statusCode<200){if(o[he].timeoutType!==Ot){const t=e[Be][e[ke]];const n=t.headersTimeout!=null?t.headersTimeout:e[Me];o[he].setTimeout(n,Ot)}}}if(e[de]){e[be]=2}else if(e[be]===2){if(t){e[be]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[me]===0){return}if(e[Ce]>=(e[Ne]||1)){return}const i=e[Be][e[Te]];if(e[ce].protocol==="https:"&&e[ue]!==i.servername){if(e[Ce]>0){return}e[ue]=i.servername;if(o&&o.servername!==i.servername){Q.destroy(o,new se("servername changed"));return}}if(e[we]){return}if(!o&&!e[Ze]){connect(e);return}if(o.destroyed||o[Qe]||o[le]||o[fe]){return}if(e[Ce]>0&&!i.idempotent){return}if(e[Ce]>0&&(i.upgrade||i.method==="CONNECT")){return}if(e[Ce]>0&&Q.bodyLength(i.body)!==0&&(Q.isStream(i.body)||Q.isAsyncIterable(i.body))){return}if(!i.aborted&&write(e,i)){e[Te]++}else{e[Be].splice(e[Te],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[Ke]==="h2"){writeH2(e,e[Ze],t);return}const{body:o,method:i,path:h,host:p,upgrade:D,headers:T,blocking:_,reset:V}=t;const j=i==="PUT"||i==="POST"||i==="PATCH";if(o&&typeof o.read==="function"){o.read(0)}const ee=Q.bodyLength(o);let te=ee;if(te===null){te=t.contentLength}if(te===0&&!j){te=null}if(shouldSendContentLength(i)&&te>0&&t.contentLength!==null&&t.contentLength!==te){if(e[xe]){errorRequest(e,t,new O);return false}process.emitWarning(new O)}const re=e[Fe];try{t.onConnect((o=>{if(t.aborted||t.completed){return}errorRequest(e,t,o||new $);Q.destroy(re,new se("aborted"))}))}catch(o){errorRequest(e,t,o)}if(t.aborted){return false}if(i==="HEAD"){re[le]=true}if(D||i==="CONNECT"){re[le]=true}if(V!=null){re[le]=V}if(e[Ye]&&re[Ve]++>=e[Ye]){re[le]=true}if(_){re[fe]=true}let oe=`${i} ${h} HTTP/1.1\r\n`;if(typeof p==="string"){oe+=`host: ${p}\r\n`}else{oe+=e[De]}if(D){oe+=`connection: upgrade\r\nupgrade: ${D}\r\n`}else if(e[Ne]&&!re[le]){oe+="connection: keep-alive\r\n"}else{oe+="connection: close\r\n"}if(T){oe+=T}if(Tt.sendHeaders.hasSubscribers){Tt.sendHeaders.publish({request:t,headers:oe,socket:re})}if(!o||ee===0){if(te===0){re.write(`${oe}content-length: 0\r\n\r\n`,"latin1")}else{n(te===null,"no body must not have content length");re.write(`${oe}\r\n`,"latin1")}t.onRequestSent()}else if(Q.isBuffer(o)){n(te===o.byteLength,"buffer body must have content length");re.cork();re.write(`${oe}content-length: ${te}\r\n\r\n`,"latin1");re.write(o);re.uncork();t.onBodySent(o);t.onRequestSent();if(!j){re[le]=true}}else if(Q.isBlobLike(o)){if(typeof o.stream==="function"){writeIterable({body:o.stream(),client:e,request:t,socket:re,contentLength:te,header:oe,expectsPayload:j})}else{writeBlob({body:o,client:e,request:t,socket:re,contentLength:te,header:oe,expectsPayload:j})}}else if(Q.isStream(o)){writeStream({body:o,client:e,request:t,socket:re,contentLength:te,header:oe,expectsPayload:j})}else if(Q.isIterable(o)){writeIterable({body:o,client:e,request:t,socket:re,contentLength:te,header:oe,expectsPayload:j})}else{n(false)}return true}function writeH2(e,t,o){const{body:i,method:h,path:p,host:D,upgrade:_,expectContinue:V,signal:j,headers:ee}=o;let te;if(typeof ee==="string")te=T[dt](ee.trim());else te=ee;if(_){errorRequest(e,o,new Error("Upgrade not supported for H2"));return false}try{o.onConnect((t=>{if(o.aborted||o.completed){return}errorRequest(e,o,t||new $)}))}catch(t){errorRequest(e,o,t)}if(o.aborted){return false}let re;const oe=e[At];te[mt]=D||e[Xe];te[It]=h;if(h==="CONNECT"){t.ref();re=t.request(te,{endStream:false,signal:j});if(re.id&&!re.pending){o.onUpgrade(null,null,re);++oe.openStreams}else{re.once("ready",(()=>{o.onUpgrade(null,null,re);++oe.openStreams}))}re.once("close",(()=>{oe.openStreams-=1;if(oe.openStreams===0)t.unref()}));return true}te[Qt]=p;te[Bt]="https";const ne=h==="PUT"||h==="POST"||h==="PATCH";if(i&&typeof i.read==="function"){i.read(0)}let ie=Q.bodyLength(i);if(ie==null){ie=o.contentLength}if(ie===0||!ne){ie=null}if(shouldSendContentLength(h)&&ie>0&&o.contentLength!=null&&o.contentLength!==ie){if(e[xe]){errorRequest(e,o,new O);return false}process.emitWarning(new O)}if(ie!=null){n(i,"no body must not have content length");te[yt]=`${ie}`}t.ref();const Ae=h==="GET"||h==="HEAD";if(V){te[wt]="100-continue";re=t.request(te,{endStream:Ae,signal:j});re.once("continue",writeBodyH2)}else{re=t.request(te,{endStream:Ae,signal:j});writeBodyH2()}++oe.openStreams;re.once("response",(e=>{const{[bt]:t,...n}=e;if(o.onHeaders(Number(t),n,re.resume.bind(re),"")===false){re.pause()}}));re.once("end",(()=>{o.onComplete([])}));re.on("data",(e=>{if(o.onData(e)===false){re.pause()}}));re.once("close",(()=>{oe.openStreams-=1;if(oe.openStreams===0){t.unref()}}));re.once("error",(function(t){if(e[Ze]&&!e[Ze].destroyed&&!this.closed&&!this.destroyed){oe.streams-=1;Q.destroy(re,t)}}));re.once("frameError",((t,n)=>{const i=new se(`HTTP/2: "frameError" received - type ${t}, code ${n}`);errorRequest(e,o,i);if(e[Ze]&&!e[Ze].destroyed&&!this.closed&&!this.destroyed){oe.streams-=1;Q.destroy(re,i)}}));return true;function writeBodyH2(){if(!i){o.onRequestSent()}else if(Q.isBuffer(i)){n(ie===i.byteLength,"buffer body must have content length");re.cork();re.write(i);re.uncork();re.end();o.onBodySent(i);o.onRequestSent()}else if(Q.isBlobLike(i)){if(typeof i.stream==="function"){writeIterable({client:e,request:o,contentLength:ie,h2stream:re,expectsPayload:ne,body:i.stream(),socket:e[Fe],header:""})}else{writeBlob({body:i,client:e,request:o,contentLength:ie,expectsPayload:ne,h2stream:re,header:"",socket:e[Fe]})}}else if(Q.isStream(i)){writeStream({body:i,client:e,request:o,contentLength:ie,expectsPayload:ne,socket:e[Fe],h2stream:re,header:""})}else if(Q.isIterable(i)){writeIterable({body:i,client:e,request:o,contentLength:ie,expectsPayload:ne,header:"",h2stream:re,socket:e[Fe]})}else{n(false)}}}function writeStream({h2stream:e,body:t,client:o,request:i,socket:h,contentLength:D,header:T,expectsPayload:_}){n(D!==0||o[Ce]===0,"stream body cannot be pipelined");if(o[Ke]==="h2"){const j=p(t,e,(o=>{if(o){Q.destroy(t,o);Q.destroy(e,o)}else{i.onRequestSent()}}));j.on("data",onPipeData);j.once("end",(()=>{j.removeListener("data",onPipeData);Q.destroy(j)}));function onPipeData(e){i.onBodySent(e)}return}let O=false;const V=new AsyncWriter({socket:h,request:i,contentLength:D,client:o,expectsPayload:_,header:T});const onData=function(e){if(O){return}try{if(!V.write(e)&&this.pause){this.pause()}}catch(e){Q.destroy(this,e)}};const onDrain=function(){if(O){return}if(t.resume){t.resume()}};const onAbort=function(){if(O){return}const e=new $;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(O){return}O=true;n(h.destroyed||h[Qe]&&o[Ce]<=1);h.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{V.end()}catch(t){e=t}}V.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){Q.destroy(t,e)}else{Q.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}h.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:o,request:i,socket:h,contentLength:p,header:D,expectsPayload:T}){n(p===t.size,"blob body must have content length");const _=o[Ke]==="h2";try{if(p!=null&&p!==t.size){throw new O}const n=Buffer.from(await t.arrayBuffer());if(_){e.cork();e.write(n);e.uncork()}else{h.cork();h.write(`${D}content-length: ${p}\r\n\r\n`,"latin1");h.write(n);h.uncork()}i.onBodySent(n);i.onRequestSent();if(!T){h[le]=true}resume(o)}catch(t){Q.destroy(_?e:h,t)}}async function writeIterable({h2stream:e,body:t,client:o,request:i,socket:h,contentLength:p,header:Q,expectsPayload:D}){n(p!==0||o[Ce]===0,"iterator body cannot be pipelined");let T=null;function onDrain(){if(T){const e=T;T=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{n(T===null);if(h[ve]){t(h[ve])}else{T=e}}));if(o[Ke]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const o of t){if(h[ve]){throw h[ve]}const t=e.write(o);i.onBodySent(o);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{i.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}h.on("close",onDrain).on("drain",onDrain);const _=new AsyncWriter({socket:h,request:i,contentLength:p,client:o,expectsPayload:D,header:Q});try{for await(const e of t){if(h[ve]){throw h[ve]}if(!_.write(e)){await waitForDrain()}}_.end()}catch(e){_.destroy(e)}finally{h.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:o,client:n,expectsPayload:i,header:h}){this.socket=e;this.request=t;this.contentLength=o;this.client=n;this.bytesWritten=0;this.expectsPayload=i;this.header=h;e[Qe]=true}write(e){const{socket:t,request:o,contentLength:n,client:i,bytesWritten:h,expectsPayload:p,header:Q}=this;if(t[ve]){throw t[ve]}if(t.destroyed){return false}const D=Buffer.byteLength(e);if(!D){return true}if(n!==null&&h+D>n){if(i[xe]){throw new O}process.emitWarning(new O)}t.cork();if(h===0){if(!p){t[le]=true}if(n===null){t.write(`${Q}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${Q}content-length: ${n}\r\n\r\n`,"latin1")}}if(n===null){t.write(`\r\n${D.toString(16)}\r\n`,"latin1")}this.bytesWritten+=D;const T=t.write(e);t.uncork();o.onBodySent(e);if(!T){if(t[he].timeout&&t[he].timeoutType===Ot){if(t[he].timeout.refresh){t[he].timeout.refresh()}}}return T}end(){const{socket:e,contentLength:t,client:o,bytesWritten:n,expectsPayload:i,header:h,request:p}=this;p.onRequestSent();e[Qe]=false;if(e[ve]){throw e[ve]}if(e.destroyed){return}if(n===0){if(i){e.write(`${h}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${h}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&n!==t){if(o[xe]){throw new O}else{process.emitWarning(new O)}}if(e[he].timeout&&e[he].timeoutType===Ot){if(e[he].timeout.refresh){e[he].timeout.refresh()}}resume(o)}destroy(e){const{socket:t,client:o}=this;t[Qe]=false;if(e){n(o[Ce]<=1,"pipeline should only contain this request");Q.destroy(t,e)}}}function errorRequest(e,t,o){try{t.onError(o);n(t.aborted)}catch(o){e.emit("error",o)}}e.exports=Client},3194:(e,t,o)=>{"use strict";const{kConnected:n,kSize:i}=o(6443);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[n]===0&&this.value[i]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[n]===0&&e[i]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},9237:e=>{"use strict";const t=1024;const o=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:o}},3168:(e,t,o)=>{"use strict";const{parseSetCookie:n}=o(8915);const{stringify:i}=o(3834);const{webidl:h}=o(4222);const{Headers:p}=o(6349);function getCookies(e){h.argumentLengthCheck(arguments,1,{header:"getCookies"});h.brandCheck(e,p,{strict:false});const t=e.get("cookie");const o={};if(!t){return o}for(const e of t.split(";")){const[t,...n]=e.split("=");o[t.trim()]=n.join("=")}return o}function deleteCookie(e,t,o){h.argumentLengthCheck(arguments,2,{header:"deleteCookie"});h.brandCheck(e,p,{strict:false});t=h.converters.DOMString(t);o=h.converters.DeleteCookieAttributes(o);setCookie(e,{name:t,value:"",expires:new Date(0),...o})}function getSetCookies(e){h.argumentLengthCheck(arguments,1,{header:"getSetCookies"});h.brandCheck(e,p,{strict:false});const t=e.getSetCookie();if(!t){return[]}return t.map((e=>n(e)))}function setCookie(e,t){h.argumentLengthCheck(arguments,2,{header:"setCookie"});h.brandCheck(e,p,{strict:false});t=h.converters.Cookie(t);const o=i(t);if(o){e.append("Set-Cookie",i(t))}}h.converters.DeleteCookieAttributes=h.dictionaryConverter([{converter:h.nullableConverter(h.converters.DOMString),key:"path",defaultValue:null},{converter:h.nullableConverter(h.converters.DOMString),key:"domain",defaultValue:null}]);h.converters.Cookie=h.dictionaryConverter([{converter:h.converters.DOMString,key:"name"},{converter:h.converters.DOMString,key:"value"},{converter:h.nullableConverter((e=>{if(typeof e==="number"){return h.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:h.nullableConverter(h.converters["long long"]),key:"maxAge",defaultValue:null},{converter:h.nullableConverter(h.converters.DOMString),key:"domain",defaultValue:null},{converter:h.nullableConverter(h.converters.DOMString),key:"path",defaultValue:null},{converter:h.nullableConverter(h.converters.boolean),key:"secure",defaultValue:null},{converter:h.nullableConverter(h.converters.boolean),key:"httpOnly",defaultValue:null},{converter:h.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:h.sequenceConverter(h.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8915:(e,t,o)=>{"use strict";const{maxNameValuePairSize:n,maxAttributeValueSize:i}=o(9237);const{isCTLExcludingHtab:h}=o(3834);const{collectASequenceOfCodePointsFast:p}=o(4322);const Q=o(2613);function parseSetCookie(e){if(h(e)){return null}let t="";let o="";let i="";let Q="";if(e.includes(";")){const n={position:0};t=p(";",e,n);o=e.slice(n.position)}else{t=e}if(!t.includes("=")){Q=t}else{const e={position:0};i=p("=",t,e);Q=t.slice(e.position+1)}i=i.trim();Q=Q.trim();if(i.length+Q.length>n){return null}return{name:i,value:Q,...parseUnparsedAttributes(o)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}Q(e[0]===";");e=e.slice(1);let o="";if(e.includes(";")){o=p(";",e,{position:0});e=e.slice(o.length)}else{o=e;e=""}let n="";let h="";if(o.includes("=")){const e={position:0};n=p("=",o,e);h=o.slice(e.position+1)}else{n=o}n=n.trim();h=h.trim();if(h.length>i){return parseUnparsedAttributes(e,t)}const D=n.toLowerCase();if(D==="expires"){const e=new Date(h);t.expires=e}else if(D==="max-age"){const o=h.charCodeAt(0);if((o<48||o>57)&&h[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(h)){return parseUnparsedAttributes(e,t)}const n=Number(h);t.maxAge=n}else if(D==="domain"){let e=h;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(D==="path"){let e="";if(h.length===0||h[0]!=="/"){e="/"}else{e=h}t.path=e}else if(D==="secure"){t.secure=true}else if(D==="httponly"){t.httpOnly=true}else if(D==="samesite"){let e="Default";const o=h.toLowerCase();if(o.includes("none")){e="None"}if(o.includes("strict")){e="Strict"}if(o.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${n}=${h}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3834:e=>{"use strict";function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const n=t[e.getUTCDay()];const i=e.getUTCDate().toString().padStart(2,"0");const h=o[e.getUTCMonth()];const p=e.getUTCFullYear();const Q=e.getUTCHours().toString().padStart(2,"0");const D=e.getUTCMinutes().toString().padStart(2,"0");const T=e.getUTCSeconds().toString().padStart(2,"0");return`${n}, ${i} ${h} ${p} ${Q}:${D}:${T} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const o of e.unparsed){if(!o.includes("=")){throw new Error("Invalid unparsed")}const[e,...n]=o.split("=");t.push(`${e.trim()}=${n.join("=")}`)}return t.join("; ")}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,validateCookieName:validateCookieName,validateCookiePath:validateCookiePath,validateCookieValue:validateCookieValue,toIMFDate:toIMFDate,stringify:stringify}},9136:(e,t,o)=>{"use strict";const n=o(9278);const i=o(2613);const h=o(3440);const{InvalidArgumentError:p,ConnectTimeoutError:Q}=o(8707);let D;let T;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){T=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size<this._maxCachedSessions){return}const t=this._sessionCache.get(e);if(t!==undefined&&t.deref()===undefined){this._sessionCache.delete(e)}}))}get(e){const t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){if(this._maxCachedSessions===0){return}this._sessionCache.set(e,new WeakRef(t));this._sessionRegistry.register(t,e)}}}else{T=class SimpleSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map}get(e){return this._sessionCache.get(e)}set(e,t){if(this._maxCachedSessions===0){return}if(this._sessionCache.size>=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:Q,timeout:_,...O}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new p("maxCachedSessions must be a positive integer or zero")}const V={path:Q,...O};const j=new T(t==null?100:t);_=_==null?1e4:_;e=e!=null?e:false;return function connect({hostname:t,host:p,protocol:Q,port:T,servername:O,localAddress:$,httpSocket:ee},te){let re;if(Q==="https:"){if(!D){D=o(4756)}O=O||V.servername||h.getServerName(p)||null;const n=O||t;const Q=j.get(n)||null;i(n);re=D.connect({highWaterMark:16384,...V,servername:O,session:Q,localAddress:$,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:ee,port:T||443,host:t});re.on("session",(function(e){j.set(n,e)}))}else{i(!ee,"httpSocket can only be sent on TLS update");re=n.connect({highWaterMark:64*1024,...V,localAddress:$,port:T||80,host:t})}if(V.keepAlive==null||V.keepAlive){const e=V.keepAliveInitialDelay===undefined?6e4:V.keepAliveInitialDelay;re.setKeepAlive(true,e)}const se=setupTimeout((()=>onConnectTimeout(re)),_);re.setNoDelay(true).once(Q==="https:"?"secureConnect":"connect",(function(){se();if(te){const e=te;te=null;e(null,this)}})).on("error",(function(e){se();if(te){const t=te;te=null;t(e)}}));return re}}function setupTimeout(e,t){if(!t){return()=>{}}let o=null;let n=null;const i=setTimeout((()=>{o=setImmediate((()=>{if(process.platform==="win32"){n=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(i);clearImmediate(o);clearImmediate(n)}}function onConnectTimeout(e){h.destroy(e,new Q)}e.exports=buildConnector},735:e=>{"use strict";const t={};const o=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let e=0;e<o.length;++e){const n=o[e];const i=n.toLowerCase();t[n]=t[i]=i}Object.setPrototypeOf(t,null);e.exports={wellknownHeaderNames:o,headerNameLowerCasedRecord:t}},8707:e=>{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,o,n){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=n;this.status=t;this.statusCode=t;this.headers=o}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,o){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=o?o.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:o,data:n}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=n;this.headers=o}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},4655:(e,t,o)=>{"use strict";const{InvalidArgumentError:n,NotSupportedError:i}=o(8707);const h=o(2613);const{kHTTP2BuildRequest:p,kHTTP2CopyHeaders:Q,kHTTP1BuildRequest:D}=o(6443);const T=o(3440);const _=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const O=/[^\t\x20-\x7e\x80-\xff]/;const V=/[^\u0021-\u00ff]/;const j=Symbol("handler");const $={};let ee;try{const e=o(1637);$.create=e.channel("undici:request:create");$.bodySent=e.channel("undici:request:bodySent");$.headers=e.channel("undici:request:headers");$.trailers=e.channel("undici:request:trailers");$.error=e.channel("undici:request:error")}catch{$.create={hasSubscribers:false};$.bodySent={hasSubscribers:false};$.headers={hasSubscribers:false};$.trailers={hasSubscribers:false};$.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:i,body:h,headers:p,query:Q,idempotent:D,blocking:O,upgrade:te,headersTimeout:re,bodyTimeout:se,reset:oe,throwOnError:ne,expectContinue:ie},Ae){if(typeof t!=="string"){throw new n("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&i!=="CONNECT"){throw new n("path must be an absolute URL or start with a slash")}else if(V.exec(t)!==null){throw new n("invalid request path")}if(typeof i!=="string"){throw new n("method must be a string")}else if(_.exec(i)===null){throw new n("invalid request method")}if(te&&typeof te!=="string"){throw new n("upgrade must be a string")}if(re!=null&&(!Number.isFinite(re)||re<0)){throw new n("invalid headersTimeout")}if(se!=null&&(!Number.isFinite(se)||se<0)){throw new n("invalid bodyTimeout")}if(oe!=null&&typeof oe!=="boolean"){throw new n("invalid reset")}if(ie!=null&&typeof ie!=="boolean"){throw new n("invalid expectContinue")}this.headersTimeout=re;this.bodyTimeout=se;this.throwOnError=ne===true;this.method=i;this.abort=null;if(h==null){this.body=null}else if(T.isStream(h)){this.body=h;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){T.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(T.isBuffer(h)){this.body=h.byteLength?h:null}else if(ArrayBuffer.isView(h)){this.body=h.buffer.byteLength?Buffer.from(h.buffer,h.byteOffset,h.byteLength):null}else if(h instanceof ArrayBuffer){this.body=h.byteLength?Buffer.from(h):null}else if(typeof h==="string"){this.body=h.length?Buffer.from(h):null}else if(T.isFormDataLike(h)||T.isIterable(h)||T.isBlobLike(h)){this.body=h}else{throw new n("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=te||null;this.path=Q?T.buildURL(t,Q):t;this.origin=e;this.idempotent=D==null?i==="HEAD"||i==="GET":D;this.blocking=O==null?false:O;this.reset=oe==null?null:oe;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=ie!=null?ie:false;if(Array.isArray(p)){if(p.length%2!==0){throw new n("headers array must be even")}for(let e=0;e<p.length;e+=2){processHeader(this,p[e],p[e+1])}}else if(p&&typeof p==="object"){const e=Object.keys(p);for(let t=0;t<e.length;t++){const o=e[t];processHeader(this,o,p[o])}}else if(p!=null){throw new n("headers must be an object or an array")}if(T.isFormDataLike(this.body)){if(T.nodeMajor<16||T.nodeMajor===16&&T.nodeMinor<8){throw new n("Form-Data bodies are only supported in node v16.8 and newer.")}if(!ee){ee=o(8923).extractBody}const[e,t]=ee(h);if(this.contentType==null){this.contentType=t;this.headers+=`content-type: ${t}\r\n`}this.body=e.stream;this.contentLength=e.length}else if(T.isBlobLike(h)&&this.contentType==null&&h.type){this.contentType=h.type;this.headers+=`content-type: ${h.type}\r\n`}T.validateHandler(Ae,i,te);this.servername=T.getServerName(this.host);this[j]=Ae;if($.create.hasSubscribers){$.create.publish({request:this})}}onBodySent(e){if(this[j].onBodySent){try{return this[j].onBodySent(e)}catch(e){this.abort(e)}}}onRequestSent(){if($.bodySent.hasSubscribers){$.bodySent.publish({request:this})}if(this[j].onRequestSent){try{return this[j].onRequestSent()}catch(e){this.abort(e)}}}onConnect(e){h(!this.aborted);h(!this.completed);if(this.error){e(this.error)}else{this.abort=e;return this[j].onConnect(e)}}onHeaders(e,t,o,n){h(!this.aborted);h(!this.completed);if($.headers.hasSubscribers){$.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:n}})}try{return this[j].onHeaders(e,t,o,n)}catch(e){this.abort(e)}}onData(e){h(!this.aborted);h(!this.completed);try{return this[j].onData(e)}catch(e){this.abort(e);return false}}onUpgrade(e,t,o){h(!this.aborted);h(!this.completed);return this[j].onUpgrade(e,t,o)}onComplete(e){this.onFinally();h(!this.aborted);this.completed=true;if($.trailers.hasSubscribers){$.trailers.publish({request:this,trailers:e})}try{return this[j].onComplete(e)}catch(e){this.onError(e)}}onError(e){this.onFinally();if($.error.hasSubscribers){$.error.publish({request:this,error:e})}if(this.aborted){return}this.aborted=true;return this[j].onError(e)}onFinally(){if(this.errorHandler){this.body.off("error",this.errorHandler);this.errorHandler=null}if(this.endHandler){this.body.off("end",this.endHandler);this.endHandler=null}}addHeader(e,t){processHeader(this,e,t);return this}static[D](e,t,o){return new Request(e,t,o)}static[p](e,t,o){const i=t.headers;t={...t,headers:null};const h=new Request(e,t,o);h.headers={};if(Array.isArray(i)){if(i.length%2!==0){throw new n("headers array must be even")}for(let e=0;e<i.length;e+=2){processHeader(h,i[e],i[e+1],true)}}else if(i&&typeof i==="object"){const e=Object.keys(i);for(let t=0;t<e.length;t++){const o=e[t];processHeader(h,o,i[o],true)}}else if(i!=null){throw new n("headers must be an object or an array")}return h}static[Q](e){const t=e.split("\r\n");const o={};for(const e of t){const[t,n]=e.split(": ");if(n==null||n.length===0)continue;if(o[t])o[t]+=`,${n}`;else o[t]=n}return o}}function processHeaderValue(e,t,o){if(t&&typeof t==="object"){throw new n(`invalid ${e} header`)}t=t!=null?`${t}`:"";if(O.exec(t)!==null){throw new n(`invalid ${e} header`)}return o?t:`${e}: ${t}\r\n`}function processHeader(e,t,o,h=false){if(o&&(typeof o==="object"&&!Array.isArray(o))){throw new n(`invalid ${t} header`)}else if(o===undefined){return}if(e.host===null&&t.length===4&&t.toLowerCase()==="host"){if(O.exec(o)!==null){throw new n(`invalid ${t} header`)}e.host=o}else if(e.contentLength===null&&t.length===14&&t.toLowerCase()==="content-length"){e.contentLength=parseInt(o,10);if(!Number.isFinite(e.contentLength)){throw new n("invalid content-length header")}}else if(e.contentType===null&&t.length===12&&t.toLowerCase()==="content-type"){e.contentType=o;if(h)e.headers[t]=processHeaderValue(t,o,h);else e.headers+=processHeaderValue(t,o)}else if(t.length===17&&t.toLowerCase()==="transfer-encoding"){throw new n("invalid transfer-encoding header")}else if(t.length===10&&t.toLowerCase()==="connection"){const t=typeof o==="string"?o.toLowerCase():null;if(t!=="close"&&t!=="keep-alive"){throw new n("invalid connection header")}else if(t==="close"){e.reset=true}}else if(t.length===10&&t.toLowerCase()==="keep-alive"){throw new n("invalid keep-alive header")}else if(t.length===7&&t.toLowerCase()==="upgrade"){throw new n("invalid upgrade header")}else if(t.length===6&&t.toLowerCase()==="expect"){throw new i("expect header not supported")}else if(_.exec(t)===null){throw new n("invalid header key")}else{if(Array.isArray(o)){for(let n=0;n<o.length;n++){if(h){if(e.headers[t])e.headers[t]+=`,${processHeaderValue(t,o[n],h)}`;else e.headers[t]=processHeaderValue(t,o[n],h)}else{e.headers+=processHeaderValue(t,o[n])}}}else{if(h)e.headers[t]=processHeaderValue(t,o,h);else e.headers+=processHeaderValue(t,o)}}}e.exports=Request},6443:e=>{e.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3440:(e,t,o)=>{"use strict";const n=o(2613);const{kDestroyed:i,kBodyUsed:h}=o(6443);const{IncomingMessage:p}=o(8611);const Q=o(2203);const D=o(9278);const{InvalidArgumentError:T}=o(8707);const{Blob:_}=o(181);const O=o(9023);const{stringify:V}=o(3480);const{headerNameLowerCasedRecord:j}=o(735);const[$,ee]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return _&&e instanceof _||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const o=V(t);if(o){e+="?"+o}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new T("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new T("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new T("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new T("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new T("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new T("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new T("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new T("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let o=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let n=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(o.endsWith("/")){o=o.substring(0,o.length-1)}if(n&&!n.startsWith("/")){n=`/${n}`}e=new URL(o+n)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new T("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");n(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}n.strictEqual(typeof e,"string");const t=getHostname(e);if(D.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[i])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===p){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[i]=true}}const te=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(te);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return j[e]||e.toLowerCase()}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let o=0;o<e.length;o+=2){const n=e[o].toString().toLowerCase();let i=t[n];if(!i){if(Array.isArray(e[o+1])){t[n]=e[o+1].map((e=>e.toString("utf8")))}else{t[n]=e[o+1].toString("utf8")}}else{if(!Array.isArray(i)){i=[i];t[n]=i}i.push(e[o+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let o=false;let n=-1;for(let i=0;i<e.length;i+=2){const h=e[i+0].toString();const p=e[i+1].toString("utf8");if(h.length===14&&(h==="content-length"||h.toLowerCase()==="content-length")){t.push(h,p);o=true}else if(h.length===19&&(h==="content-disposition"||h.toLowerCase()==="content-disposition")){n=t.push(h,p)-1}else{t.push(h,p)}}if(o&&n!==-1){t[n]=Buffer.from(t[n]).toString("latin1")}return t}function isBuffer(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function validateHandler(e,t,o){if(!e||typeof e!=="object"){throw new T("handler must be an object")}if(typeof e.onConnect!=="function"){throw new T("invalid onConnect method")}if(typeof e.onError!=="function"){throw new T("invalid onError method")}if(typeof e.onBodySent!=="function"&&e.onBodySent!==undefined){throw new T("invalid onBodySent method")}if(o||t==="CONNECT"){if(typeof e.onUpgrade!=="function"){throw new T("invalid onUpgrade method")}}else{if(typeof e.onHeaders!=="function"){throw new T("invalid onHeaders method")}if(typeof e.onData!=="function"){throw new T("invalid onData method")}if(typeof e.onComplete!=="function"){throw new T("invalid onComplete method")}}}function isDisturbed(e){return!!(e&&(Q.isDisturbed?Q.isDisturbed(e)||e[h]:e[h]||e.readableDidRead||e._readableState&&e._readableState.dataEmitted||isReadableAborted(e)))}function isErrored(e){return!!(e&&(Q.isErrored?Q.isErrored(e):/state: 'errored'/.test(O.inspect(e))))}function isReadable(e){return!!(e&&(Q.isReadable?Q.isReadable(e):/state: 'readable'/.test(O.inspect(e))))}function getSocketInfo(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}async function*convertIterableToBuffer(e){for await(const t of e){yield Buffer.isBuffer(t)?t:Buffer.from(t)}}let re;function ReadableStreamFrom(e){if(!re){re=o(3774).ReadableStream}if(re.from){return re.from(convertIterableToBuffer(e))}let t;return new re({async start(){t=e[Symbol.asyncIterator]()},async pull(e){const{done:o,value:n}=await t.next();if(o){queueMicrotask((()=>{e.close()}))}else{const t=Buffer.isBuffer(n)?n:Buffer.from(n);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const se=!!String.prototype.toWellFormed;function toUSVString(e){if(se){return`${e}`.toWellFormed()}else if(O.toUSVString){return O.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const oe=Object.create(null);oe.enumerable=true;e.exports={kEnumerableProperty:oe,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:$,nodeMinor:ee,nodeHasAutoSelectFamily:$>18||$===18&&ee>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},1:(e,t,o)=>{"use strict";const n=o(992);const{ClientDestroyedError:i,ClientClosedError:h,InvalidArgumentError:p}=o(8707);const{kDestroy:Q,kClose:D,kDispatch:T,kInterceptors:_}=o(6443);const O=Symbol("destroyed");const V=Symbol("closed");const j=Symbol("onDestroyed");const $=Symbol("onClosed");const ee=Symbol("Intercepted Dispatch");class DispatcherBase extends n{constructor(){super();this[O]=false;this[j]=null;this[V]=false;this[$]=[]}get destroyed(){return this[O]}get closed(){return this[V]}get interceptors(){return this[_]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[_][t];if(typeof e!=="function"){throw new p("interceptor must be an function")}}}this[_]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((o,n)=>o?t(o):e(n)))}))}if(typeof e!=="function"){throw new p("invalid callback")}if(this[O]){queueMicrotask((()=>e(new i,null)));return}if(this[V]){if(this[$]){this[$].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[V]=true;this[$].push(e);const onClosed=()=>{const e=this[$];this[$]=null;for(let t=0;t<e.length;t++){e[t](null,null)}};this[D]().then((()=>this.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,o)=>{this.destroy(e,((e,n)=>e?o(e):t(n)))}))}if(typeof t!=="function"){throw new p("invalid callback")}if(this[O]){if(this[j]){this[j].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new i}this[O]=true;this[j]=this[j]||[];this[j].push(t);const onDestroyed=()=>{const e=this[j];this[j]=null;for(let t=0;t<e.length;t++){e[t](null,null)}};this[Q](e).then((()=>{queueMicrotask(onDestroyed)}))}[ee](e,t){if(!this[_]||this[_].length===0){this[ee]=this[T];return this[T](e,t)}let o=this[T].bind(this);for(let e=this[_].length-1;e>=0;e--){o=this[_][e](o)}this[ee]=o;return o(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new p("handler must be an object")}try{if(!e||typeof e!=="object"){throw new p("opts must be an object.")}if(this[O]||this[j]){throw new i}if(this[V]){throw new h}return this[ee](e,t)}catch(e){if(typeof t.onError!=="function"){throw new p("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},992:(e,t,o)=>{"use strict";const n=o(4434);class Dispatcher extends n{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},8923:(e,t,o)=>{"use strict";const n=o(9581);const i=o(3440);const{ReadableStreamFrom:h,isBlobLike:p,isReadableStreamLike:Q,readableStreamClose:D,createDeferredPromise:T,fullyReadBody:_}=o(5523);const{FormData:O}=o(3073);const{kState:V}=o(9710);const{webidl:j}=o(4222);const{DOMException:$,structuredClone:ee}=o(7326);const{Blob:te,File:re}=o(181);const{kBodyUsed:se}=o(6443);const oe=o(2613);const{isErrored:ne}=o(3440);const{isUint8Array:ie,isArrayBuffer:Ae}=o(8253);const{File:ae}=o(3041);const{parseMIMEType:ce,serializeAMimeType:le}=o(4322);let ue;try{const e=o(7598);ue=t=>e.randomInt(0,t)}catch{ue=e=>Math.floor(Math.random(e))}let ge=globalThis.ReadableStream;const de=re??ae;const he=new TextEncoder;const pe=new TextDecoder;function extractBody(e,t=false){if(!ge){ge=o(3774).ReadableStream}let n=null;if(e instanceof ge){n=e}else if(p(e)){n=e.stream()}else{n=new ge({async pull(e){e.enqueue(typeof _==="string"?he.encode(_):_);queueMicrotask((()=>D(e)))},start(){},type:undefined})}oe(Q(n));let T=null;let _=null;let O=null;let V=null;if(typeof e==="string"){_=e;V="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){_=e.toString();V="application/x-www-form-urlencoded;charset=UTF-8"}else if(Ae(e)){_=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){_=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(i.isFormDataLike(e)){const t=`----formdata-undici-0${`${ue(1e11)}`.padStart(11,"0")}`;const o=`--${t}\r\nContent-Disposition: form-data`
3
3
  /*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const n=[];const i=new Uint8Array([13,10]);O=0;let h=false;for(const[t,p]of e){if(typeof p==="string"){const e=he.encode(o+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(p)}\r\n`);n.push(e);O+=e.byteLength}else{const e=he.encode(`${o}; name="${escape(normalizeLinefeeds(t))}"`+(p.name?`; filename="${escape(p.name)}"`:"")+"\r\n"+`Content-Type: ${p.type||"application/octet-stream"}\r\n\r\n`);n.push(e,p,i);if(typeof p.size==="number"){O+=e.byteLength+p.size+i.byteLength}else{h=true}}}const p=he.encode(`--${t}--`);n.push(p);O+=p.byteLength;if(h){O=null}_=e;T=async function*(){for(const e of n){if(e.stream){yield*e.stream()}else{yield e}}};V="multipart/form-data; boundary="+t}else if(p(e)){_=e;O=e.size;if(e.type){V=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(i.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}n=e instanceof ge?e:h(e)}if(typeof _==="string"||i.isBuffer(_)){O=Buffer.byteLength(_)}if(T!=null){let t;n=new ge({async start(){t=T(e)[Symbol.asyncIterator]()},async pull(e){const{value:o,done:i}=await t.next();if(i){queueMicrotask((()=>{e.close()}))}else{if(!ne(n)){e.enqueue(new Uint8Array(o))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const j={stream:n,source:_,length:O};return[j,V]}function safelyExtractBody(e,t=false){if(!ge){ge=o(3774).ReadableStream}if(e instanceof ge){oe(!i.isDisturbed(e),"The body has already been consumed.");oe(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,o]=e.stream.tee();const n=ee(o,{transfer:[o]});const[,i]=n.tee();e.stream=t;return{stream:i,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(ie(e)){yield e}else{const t=e.stream;if(i.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[se]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new $("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=le(t)}return new te([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){j.brandCheck(this,e);throwIfAborted(this[V]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,o]of this.headers)e[t.toLowerCase()]=o;const t=new O;let o;try{o=new n({headers:e,preservePath:true})}catch(e){throw new $(`${e}`,"AbortError")}o.on("field",((e,o)=>{t.append(e,o)}));o.on("file",((e,o,n,i,h)=>{const p=[];if(i==="base64"||i.toLowerCase()==="base64"){let i="";o.on("data",(e=>{i+=e.toString().replace(/[\r\n]/gm,"");const t=i.length-i.length%4;p.push(Buffer.from(i.slice(0,t),"base64"));i=i.slice(t)}));o.on("end",(()=>{p.push(Buffer.from(i,"base64"));t.append(e,new de(p,n,{type:h}))}))}else{o.on("data",(e=>{p.push(e)}));o.on("end",(()=>{t.append(e,new de(p,n,{type:h}))}))}}));const i=new Promise(((e,t)=>{o.on("finish",e);o.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[V].body))o.write(e);o.end();await i;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const o=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[V].body)){if(!ie(e)){throw new TypeError("Expected Uint8Array chunk")}t+=o.decode(e,{stream:true})}t+=o.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new O;for(const[o,n]of e){t.append(o,n)}return t}else{await Promise.resolve();throwIfAborted(this[V]);throw j.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,o){j.brandCheck(e,o);throwIfAborted(e[V]);if(bodyUnusable(e[V].body)){throw new TypeError("Body is unusable")}const n=T();const errorSteps=e=>n.reject(e);const successSteps=e=>{try{n.resolve(t(e))}catch(e){errorSteps(e)}};if(e[V].body==null){successSteps(new Uint8Array);return n.promise}await _(e[V].body,successSteps,errorSteps);return n.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||i.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=pe.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[V];const o=t.get("content-type");if(o===null){return"failure"}return ce(o)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},7326:(e,t,o)=>{"use strict";const{MessageChannel:n,receiveMessageOnPort:i}=o(8167);const h=["GET","HEAD","POST"];const p=new Set(h);const Q=[101,204,205,304];const D=[301,302,303,307,308];const T=new Set(D);const _=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const O=new Set(_);const V=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const j=new Set(V);const $=["follow","manual","error"];const ee=["GET","HEAD","OPTIONS","TRACE"];const te=new Set(ee);const re=["navigate","same-origin","no-cors","cors"];const se=["omit","same-origin","include"];const oe=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const ne=["content-encoding","content-language","content-location","content-type","content-length"];const ie=["half"];const Ae=["CONNECT","TRACE","TRACK"];const ae=new Set(Ae);const ce=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const le=new Set(ce);const ue=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let ge;const de=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!ge){ge=new n}ge.port1.unref();ge.port2.unref();ge.port1.postMessage(e,t?.transfer);return i(ge.port2).message};e.exports={DOMException:ue,structuredClone:de,subresource:ce,forbiddenMethods:Ae,requestBodyHeader:ne,referrerPolicy:V,requestRedirect:$,requestMode:re,requestCredentials:se,requestCache:oe,redirectStatus:D,corsSafeListedMethods:h,nullBodyStatus:Q,safeMethods:ee,badPorts:_,requestDuplex:ie,subresourceSet:le,badPortsSet:O,redirectStatusSet:T,corsSafeListedMethodsSet:p,safeMethodsSet:te,forbiddenMethodsSet:ae,referrerPolicySet:j}},4322:(e,t,o)=>{const n=o(2613);const{atob:i}=o(181);const{isomorphicDecode:h}=o(5523);const p=new TextEncoder;const Q=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const D=/(\u000A|\u000D|\u0009|\u0020)/;const T=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){n(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const o={position:0};let i=collectASequenceOfCodePointsFast(",",t,o);const p=i.length;i=removeASCIIWhitespace(i,true,true);if(o.position>=t.length){return"failure"}o.position++;const Q=t.slice(p+1);let D=stringPercentDecode(Q);if(/;(\u0020){0,}base64$/i.test(i)){const e=h(D);D=forgivingBase64(e);if(D==="failure"){return"failure"}i=i.slice(0,-6);i=i.replace(/(\u0020)+$/,"");i=i.slice(0,-1)}if(i.startsWith(";")){i="text/plain"+i}let T=parseMIMEType(i);if(T==="failure"){T=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:T,body:D}}function URLSerializer(e,t=false){if(!t){return e.href}const o=e.href;const n=e.hash.length;return n===0?o:o.substring(0,o.length-n)}function collectASequenceOfCodePoints(e,t,o){let n="";while(o.position<t.length&&e(t[o.position])){n+=t[o.position];o.position++}return n}function collectASequenceOfCodePointsFast(e,t,o){const n=t.indexOf(e,o.position);const i=o.position;if(n===-1){o.position=t.length;return t.slice(i)}o.position=n;return t.slice(i,o.position)}function stringPercentDecode(e){const t=p.encode(e);return percentDecode(t)}function percentDecode(e){const t=[];for(let o=0;o<e.length;o++){const n=e[o];if(n!==37){t.push(n)}else if(n===37&&!/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(e[o+1],e[o+2]))){t.push(37)}else{const n=String.fromCharCode(e[o+1],e[o+2]);const i=Number.parseInt(n,16);t.push(i);o+=2}}return Uint8Array.from(t)}function parseMIMEType(e){e=removeHTTPWhitespace(e,true,true);const t={position:0};const o=collectASequenceOfCodePointsFast("/",e,t);if(o.length===0||!Q.test(o)){return"failure"}if(t.position>e.length){return"failure"}t.position++;let n=collectASequenceOfCodePointsFast(";",e,t);n=removeHTTPWhitespace(n,false,true);if(n.length===0||!Q.test(n)){return"failure"}const i=o.toLowerCase();const h=n.toLowerCase();const p={type:i,subtype:h,parameters:new Map,essence:`${i}/${h}`};while(t.position<e.length){t.position++;collectASequenceOfCodePoints((e=>D.test(e)),e,t);let o=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);o=o.toLowerCase();if(t.position<e.length){if(e[t.position]===";"){continue}t.position++}if(t.position>e.length){break}let n=null;if(e[t.position]==='"'){n=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{n=collectASequenceOfCodePointsFast(";",e,t);n=removeHTTPWhitespace(n,false,true);if(n.length===0){continue}}if(o.length!==0&&Q.test(o)&&(n.length===0||T.test(n))&&!p.parameters.has(o)){p.parameters.set(o,n)}}return p}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=i(e);const o=new Uint8Array(t.length);for(let e=0;e<t.length;e++){o[e]=t.charCodeAt(e)}return o}function collectAnHTTPQuotedString(e,t,o){const i=t.position;let h="";n(e[t.position]==='"');t.position++;while(true){h+=collectASequenceOfCodePoints((e=>e!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const o=e[t.position];t.position++;if(o==="\\"){if(t.position>=e.length){h+="\\";break}h+=e[t.position];t.position++}else{n(o==='"');break}}if(o){return h}return e.slice(i,t.position)}function serializeAMimeType(e){n(e!=="failure");const{parameters:t,essence:o}=e;let i=o;for(let[e,o]of t.entries()){i+=";";i+=e;i+="=";if(!Q.test(o)){o=o.replace(/(\\|")/g,"\\$1");o='"'+o;o+='"'}i+=o}return i}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,o=true){let n=0;let i=e.length-1;if(t){for(;n<e.length&&isHTTPWhiteSpace(e[n]);n++);}if(o){for(;i>0&&isHTTPWhiteSpace(e[i]);i--);}return e.slice(n,i+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,o=true){let n=0;let i=e.length-1;if(t){for(;n<e.length&&isASCIIWhitespace(e[n]);n++);}if(o){for(;i>0&&isASCIIWhitespace(e[i]);i--);}return e.slice(n,i+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},3041:(e,t,o)=>{"use strict";const{Blob:n,File:i}=o(181);const{types:h}=o(9023);const{kState:p}=o(9710);const{isBlobLike:Q}=o(5523);const{webidl:D}=o(4222);const{parseMIMEType:T,serializeAMimeType:_}=o(4322);const{kEnumerableProperty:O}=o(3440);const V=new TextEncoder;class File extends n{constructor(e,t,o={}){D.argumentLengthCheck(arguments,2,{header:"File constructor"});e=D.converters["sequence<BlobPart>"](e);t=D.converters.USVString(t);o=D.converters.FilePropertyBag(o);const n=t;let i=o.type;let h;e:{if(i){i=T(i);if(i==="failure"){i="";break e}i=_(i).toLowerCase()}h=o.lastModified}super(processBlobParts(e,o),{type:i});this[p]={name:n,lastModified:h,type:i}}get name(){D.brandCheck(this,File);return this[p].name}get lastModified(){D.brandCheck(this,File);return this[p].lastModified}get type(){D.brandCheck(this,File);return this[p].type}}class FileLike{constructor(e,t,o={}){const n=t;const i=o.type;const h=o.lastModified??Date.now();this[p]={blobLike:e,name:n,type:i,lastModified:h}}stream(...e){D.brandCheck(this,FileLike);return this[p].blobLike.stream(...e)}arrayBuffer(...e){D.brandCheck(this,FileLike);return this[p].blobLike.arrayBuffer(...e)}slice(...e){D.brandCheck(this,FileLike);return this[p].blobLike.slice(...e)}text(...e){D.brandCheck(this,FileLike);return this[p].blobLike.text(...e)}get size(){D.brandCheck(this,FileLike);return this[p].blobLike.size}get type(){D.brandCheck(this,FileLike);return this[p].blobLike.type}get name(){D.brandCheck(this,FileLike);return this[p].name}get lastModified(){D.brandCheck(this,FileLike);return this[p].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:O,lastModified:O});D.converters.Blob=D.interfaceConverter(n);D.converters.BlobPart=function(e,t){if(D.util.Type(e)==="Object"){if(Q(e)){return D.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||h.isAnyArrayBuffer(e)){return D.converters.BufferSource(e,t)}}return D.converters.USVString(e,t)};D.converters["sequence<BlobPart>"]=D.sequenceConverter(D.converters.BlobPart);D.converters.FilePropertyBag=D.dictionaryConverter([{key:"lastModified",converter:D.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:D.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=D.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const o=[];for(const n of e){if(typeof n==="string"){let e=n;if(t.endings==="native"){e=convertLineEndingsNative(e)}o.push(V.encode(e))}else if(h.isAnyArrayBuffer(n)||h.isTypedArray(n)){if(!n.buffer){o.push(new Uint8Array(n))}else{o.push(new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}}else if(Q(n)){o.push(n)}}return o}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return i&&e instanceof i||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},3073:(e,t,o)=>{"use strict";const{isBlobLike:n,toUSVString:i,makeIterator:h}=o(5523);const{kState:p}=o(9710);const{File:Q,FileLike:D,isFileLike:T}=o(3041);const{webidl:_}=o(4222);const{Blob:O,File:V}=o(181);const j=V??Q;class FormData{constructor(e){if(e!==undefined){throw _.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[p]=[]}append(e,t,o=undefined){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!n(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=_.converters.USVString(e);t=n(t)?_.converters.Blob(t,{strict:false}):_.converters.USVString(t);o=arguments.length===3?_.converters.USVString(o):undefined;const i=makeEntry(e,t,o);this[p].push(i)}delete(e){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=_.converters.USVString(e);this[p]=this[p].filter((t=>t.name!==e))}get(e){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=_.converters.USVString(e);const t=this[p].findIndex((t=>t.name===e));if(t===-1){return null}return this[p][t].value}getAll(e){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=_.converters.USVString(e);return this[p].filter((t=>t.name===e)).map((e=>e.value))}has(e){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=_.converters.USVString(e);return this[p].findIndex((t=>t.name===e))!==-1}set(e,t,o=undefined){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!n(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=_.converters.USVString(e);t=n(t)?_.converters.Blob(t,{strict:false}):_.converters.USVString(t);o=arguments.length===3?i(o):undefined;const h=makeEntry(e,t,o);const Q=this[p].findIndex((t=>t.name===e));if(Q!==-1){this[p]=[...this[p].slice(0,Q),h,...this[p].slice(Q+1).filter((t=>t.name!==e))]}else{this[p].push(h)}}entries(){_.brandCheck(this,FormData);return h((()=>this[p].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){_.brandCheck(this,FormData);return h((()=>this[p].map((e=>[e.name,e.value]))),"FormData","key")}values(){_.brandCheck(this,FormData);return h((()=>this[p].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){_.brandCheck(this,FormData);_.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[o,n]of this){e.apply(t,[n,o,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,o){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!T(t)){t=t instanceof O?new j([t],"blob",{type:t.type}):new D(t,"blob",{type:t.type})}if(o!==undefined){const e={type:t.type,lastModified:t.lastModified};t=V&&t instanceof V||t instanceof Q?new j([t],o,e):new D(t,o,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},5628:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const o=new URL(e);if(o.protocol!=="http:"&&o.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${o.protocol}`)}Object.defineProperty(globalThis,t,{value:o,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},6349:(e,t,o)=>{"use strict";const{kHeadersList:n,kConstruct:i}=o(6443);const{kGuard:h}=o(9710);const{kEnumerableProperty:p}=o(3440);const{makeIterator:Q,isValidHeaderName:D,isValidHeaderValue:T}=o(5523);const _=o(9023);const{webidl:O}=o(4222);const V=o(2613);const j=Symbol("headers map");const $=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let o=e.length;while(o>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(o-1)))--o;while(o>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&o===e.length?e:e.substring(t,o)}function fill(e,t){if(Array.isArray(t)){for(let o=0;o<t.length;++o){const n=t[o];if(n.length!==2){throw O.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${n.length}.`})}appendHeader(e,n[0],n[1])}}else if(typeof t==="object"&&t!==null){const o=Object.keys(t);for(let n=0;n<o.length;++n){appendHeader(e,o[n],t[o[n]])}}else{throw O.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}}function appendHeader(e,t,o){o=headerValueNormalize(o);if(!D(t)){throw O.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!T(o)){throw O.errors.invalidArgument({prefix:"Headers.append",value:o,type:"header value"})}if(e[h]==="immutable"){throw new TypeError("immutable")}else if(e[h]==="request-no-cors"){}return e[n].append(t,o)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[j]=new Map(e[j]);this[$]=e[$];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[j]=new Map(e);this[$]=null}}contains(e){e=e.toLowerCase();return this[j].has(e)}clear(){this[j].clear();this[$]=null;this.cookies=null}append(e,t){this[$]=null;const o=e.toLowerCase();const n=this[j].get(o);if(n){const e=o==="cookie"?"; ":", ";this[j].set(o,{name:n.name,value:`${n.value}${e}${t}`})}else{this[j].set(o,{name:e,value:t})}if(o==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[$]=null;const o=e.toLowerCase();if(o==="set-cookie"){this.cookies=[t]}this[j].set(o,{name:e,value:t})}delete(e){this[$]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[j].delete(e)}get(e){const t=this[j].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[j]){yield[e,t]}}get entries(){const e={};if(this[j].size){for(const{name:t,value:o}of this[j].values()){e[t]=o}}return e}}class Headers{constructor(e=undefined){if(e===i){return}this[n]=new HeadersList;this[h]="none";if(e!==undefined){e=O.converters.HeadersInit(e);fill(this,e)}}append(e,t){O.brandCheck(this,Headers);O.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=O.converters.ByteString(e);t=O.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){O.brandCheck(this,Headers);O.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=O.converters.ByteString(e);if(!D(e)){throw O.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[h]==="immutable"){throw new TypeError("immutable")}else if(this[h]==="request-no-cors"){}if(!this[n].contains(e)){return}this[n].delete(e)}get(e){O.brandCheck(this,Headers);O.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=O.converters.ByteString(e);if(!D(e)){throw O.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[n].get(e)}has(e){O.brandCheck(this,Headers);O.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=O.converters.ByteString(e);if(!D(e)){throw O.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[n].contains(e)}set(e,t){O.brandCheck(this,Headers);O.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=O.converters.ByteString(e);t=O.converters.ByteString(t);t=headerValueNormalize(t);if(!D(e)){throw O.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!T(t)){throw O.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[h]==="immutable"){throw new TypeError("immutable")}else if(this[h]==="request-no-cors"){}this[n].set(e,t)}getSetCookie(){O.brandCheck(this,Headers);const e=this[n].cookies;if(e){return[...e]}return[]}get[$](){if(this[n][$]){return this[n][$]}const e=[];const t=[...this[n]].sort(((e,t)=>e[0]<t[0]?-1:1));const o=this[n].cookies;for(let n=0;n<t.length;++n){const[i,h]=t[n];if(i==="set-cookie"){for(let t=0;t<o.length;++t){e.push([i,o[t]])}}else{V(h!==null);e.push([i,h])}}this[n][$]=e;return e}keys(){O.brandCheck(this,Headers);if(this[h]==="immutable"){const e=this[$];return Q((()=>e),"Headers","key")}return Q((()=>[...this[$].values()]),"Headers","key")}values(){O.brandCheck(this,Headers);if(this[h]==="immutable"){const e=this[$];return Q((()=>e),"Headers","value")}return Q((()=>[...this[$].values()]),"Headers","value")}entries(){O.brandCheck(this,Headers);if(this[h]==="immutable"){const e=this[$];return Q((()=>e),"Headers","key+value")}return Q((()=>[...this[$].values()]),"Headers","key+value")}forEach(e,t=globalThis){O.brandCheck(this,Headers);O.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[o,n]of this){e.apply(t,[n,o,this])}}[Symbol.for("nodejs.util.inspect.custom")](){O.brandCheck(this,Headers);return this[n]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:p,delete:p,get:p,has:p,set:p,getSetCookie:p,keys:p,values:p,entries:p,forEach:p,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true},[_.inspect.custom]:{enumerable:false}});O.converters.HeadersInit=function(e){if(O.util.Type(e)==="Object"){if(e[Symbol.iterator]){return O.converters["sequence<sequence<ByteString>>"](e)}return O.converters["record<ByteString, ByteString>"](e)}throw O.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},2315:(e,t,o)=>{"use strict";const{Response:n,makeNetworkError:i,makeAppropriateNetworkError:h,filterResponse:p,makeResponse:Q}=o(8676);const{Headers:D}=o(6349);const{Request:T,makeRequest:_}=o(5194);const O=o(3106);const{bytesMatch:V,makePolicyContainer:j,clonePolicyContainer:$,requestBadPort:ee,TAOCheck:te,appendRequestOriginHeader:re,responseLocationURL:se,requestCurrentURL:oe,setRequestReferrerPolicyOnRedirect:ne,tryUpgradeRequestToAPotentiallyTrustworthyURL:ie,createOpaqueTimingInfo:Ae,appendFetchMetadata:ae,corsCheck:ce,crossOriginResourcePolicyCheck:le,determineRequestsReferrer:ue,coarsenedSharedCurrentTime:ge,createDeferredPromise:de,isBlobLike:he,sameOrigin:pe,isCancelled:fe,isAborted:Ee,isErrorLike:Ce,fullyReadBody:me,readableStreamClose:Ie,isomorphicEncode:Qe,urlIsLocal:Be,urlIsHttpHttpsScheme:ye,urlHasHttpsScheme:we}=o(5523);const{kState:be,kHeaders:Se,kGuard:Re,kRealm:De}=o(9710);const Te=o(2613);const{safelyExtractBody:ke}=o(8923);const{redirectStatusSet:ve,nullBodyStatus:Ne,safeMethodsSet:Fe,requestBodyHeader:_e,subresourceSet:Ue,DOMException:Pe}=o(7326);const{kHeadersList:Le}=o(6443);const Me=o(4434);const{Readable:Oe,pipeline:xe}=o(2203);const{addAbortListener:Ge,isErrored:He,isReadable:Ye,nodeMajor:Ve,nodeMinor:Je}=o(3440);const{dataURLProcessor:qe,serializeAMimeType:je}=o(4322);const{TransformStream:We}=o(3774);const{getGlobalDispatcher:$e}=o(2581);const{webidl:ze}=o(4222);const{STATUS_CODES:Ke}=o(8611);const Xe=["GET","HEAD"];let Ze;let At=globalThis.ReadableStream;class Fetch extends Me{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new Pe("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){ze.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const o=de();let i;try{i=new T(e,t)}catch(e){o.reject(e);return o.promise}const h=i[be];if(i.signal.aborted){abortFetch(o,h,null,i.signal.reason);return o.promise}const p=h.client.globalObject;if(p?.constructor?.name==="ServiceWorkerGlobalScope"){h.serviceWorkers="none"}let Q=null;const D=null;let _=false;let O=null;Ge(i.signal,(()=>{_=true;Te(O!=null);O.abort(i.signal.reason);abortFetch(o,h,Q,i.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(_){return Promise.resolve()}if(e.aborted){abortFetch(o,h,Q,O.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){o.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}Q=new n;Q[be]=e;Q[De]=D;Q[Se][Le]=e.headersList;Q[Se][Re]="immutable";Q[Se][De]=D;o.resolve(Q)};O=fetching({request:h,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??$e()});return o.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const o=e.urlList[0];let n=e.timingInfo;let i=e.cacheState;if(!ye(o)){return}if(n===null){return}if(!e.timingAllowPassed){n=Ae({startTime:n.startTime});i=""}n.endTime=ge();e.timingInfo=n;markResourceTiming(n,o,t,globalThis,i)}function markResourceTiming(e,t,o,n,i){if(Ve>18||Ve===18&&Je>=2){performance.markResourceTiming(e,t.href,o,n,i)}}function abortFetch(e,t,o,n){if(!n){n=new Pe("The operation was aborted.","AbortError")}e.reject(n);if(t.body!=null&&Ye(t.body?.stream)){t.body.stream.cancel(n).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(o==null){return}const i=o[be];if(i.body!=null&&Ye(i.body?.stream)){i.body.stream.cancel(n).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:o,processResponse:n,processResponseEndOfBody:i,processResponseConsumeBody:h,useParallelQueue:p=false,dispatcher:Q}){let D=null;let T=false;if(e.client!=null){D=e.client.globalObject;T=e.client.crossOriginIsolatedCapability}const _=ge(T);const O=Ae({startTime:_});const V={controller:new Fetch(Q),request:e,timingInfo:O,processRequestBodyChunkLength:t,processRequestEndOfBody:o,processResponse:n,processResponseConsumeBody:h,processResponseEndOfBody:i,taskDestination:D,crossOriginIsolatedCapability:T};Te(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=$(e.client.policyContainer)}else{e.policyContainer=j()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(Ue.has(e.destination)){}mainFetch(V).catch((e=>{V.controller.terminate(e)}));return V.controller}async function mainFetch(e,t=false){const o=e.request;let n=null;if(o.localURLsOnly&&!Be(oe(o))){n=i("local URLs only")}ie(o);if(ee(o)==="blocked"){n=i("bad port")}if(o.referrerPolicy===""){o.referrerPolicy=o.policyContainer.referrerPolicy}if(o.referrer!=="no-referrer"){o.referrer=ue(o)}if(n===null){n=await(async()=>{const t=oe(o);if(pe(t,o.url)&&o.responseTainting==="basic"||t.protocol==="data:"||(o.mode==="navigate"||o.mode==="websocket")){o.responseTainting="basic";return await schemeFetch(e)}if(o.mode==="same-origin"){return i('request mode cannot be "same-origin"')}if(o.mode==="no-cors"){if(o.redirect!=="follow"){return i('redirect mode cannot be "follow" for "no-cors" request')}o.responseTainting="opaque";return await schemeFetch(e)}if(!ye(oe(o))){return i("URL scheme must be a HTTP(S) scheme")}o.responseTainting="cors";return await httpFetch(e)})()}if(t){return n}if(n.status!==0&&!n.internalResponse){if(o.responseTainting==="cors"){}if(o.responseTainting==="basic"){n=p(n,"basic")}else if(o.responseTainting==="cors"){n=p(n,"cors")}else if(o.responseTainting==="opaque"){n=p(n,"opaque")}else{Te(false)}}let h=n.status===0?n:n.internalResponse;if(h.urlList.length===0){h.urlList.push(...o.urlList)}if(!o.timingAllowFailed){n.timingAllowPassed=true}if(n.type==="opaque"&&h.status===206&&h.rangeRequested&&!o.headers.contains("range")){n=h=i()}if(n.status!==0&&(o.method==="HEAD"||o.method==="CONNECT"||Ne.includes(h.status))){h.body=null;e.controller.dump=true}if(o.integrity){const processBodyError=t=>fetchFinale(e,i(t));if(o.responseTainting==="opaque"||n.body==null){processBodyError(n.error);return}const processBody=t=>{if(!V(t,o.integrity)){processBodyError("integrity mismatch");return}n.body=ke(t)[0];fetchFinale(e,n)};await me(n.body,processBody,processBodyError)}else{fetchFinale(e,n)}}function schemeFetch(e){if(fe(e)&&e.request.redirectCount===0){return Promise.resolve(h(e))}const{request:t}=e;const{protocol:n}=oe(t);switch(n){case"about:":{return Promise.resolve(i("about scheme is not supported"))}case"blob:":{if(!Ze){Ze=o(181).resolveObjectURL}const e=oe(t);if(e.search.length!==0){return Promise.resolve(i("NetworkError when attempting to fetch resource."))}const n=Ze(e.toString());if(t.method!=="GET"||!he(n)){return Promise.resolve(i("invalid method"))}const h=ke(n);const p=h[0];const D=Qe(`${p.length}`);const T=h[1]??"";const _=Q({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:D}],["content-type",{name:"Content-Type",value:T}]]});_.body=p;return Promise.resolve(_)}case"data:":{const e=oe(t);const o=qe(e);if(o==="failure"){return Promise.resolve(i("failed to fetch the data URL"))}const n=je(o.mimeType);return Promise.resolve(Q({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:ke(o.body)[0]}))}case"file:":{return Promise.resolve(i("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>i(e)))}default:{return Promise.resolve(i("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=Ae({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new We({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=o=>e.processResponseConsumeBody(t,o);const processBodyError=o=>e.processResponseConsumeBody(t,o);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return me(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let o=null;let n=null;const h=e.timingInfo;if(t.serviceWorkers==="all"){}if(o===null){if(t.redirect==="follow"){t.serviceWorkers="none"}n=o=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&ce(t,o)==="failure"){return i("cors failure")}if(te(t,o)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||o.type==="opaque")&&le(t.origin,t.client,t.destination,n)==="blocked"){return i("blocked")}if(ve.has(n.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){o=i("unexpected redirect")}else if(t.redirect==="manual"){o=n}else if(t.redirect==="follow"){o=await httpRedirectFetch(e,o)}else{Te(false)}}o.timingInfo=h;return o}function httpRedirectFetch(e,t){const o=e.request;const n=t.internalResponse?t.internalResponse:t;let h;try{h=se(n,oe(o).hash);if(h==null){return t}}catch(e){return Promise.resolve(i(e))}if(!ye(h)){return Promise.resolve(i("URL scheme must be a HTTP(S) scheme"))}if(o.redirectCount===20){return Promise.resolve(i("redirect count exceeded"))}o.redirectCount+=1;if(o.mode==="cors"&&(h.username||h.password)&&!pe(o,h)){return Promise.resolve(i('cross origin not allowed for request mode "cors"'))}if(o.responseTainting==="cors"&&(h.username||h.password)){return Promise.resolve(i('URL cannot contain credentials for request mode "cors"'))}if(n.status!==303&&o.body!=null&&o.body.source==null){return Promise.resolve(i())}if([301,302].includes(n.status)&&o.method==="POST"||n.status===303&&!Xe.includes(o.method)){o.method="GET";o.body=null;for(const e of _e){o.headersList.delete(e)}}if(!pe(oe(o),h)){o.headersList.delete("authorization");o.headersList.delete("proxy-authorization",true);o.headersList.delete("cookie");o.headersList.delete("host")}if(o.body!=null){Te(o.body.source!=null);o.body=ke(o.body.source)[0]}const p=e.timingInfo;p.redirectEndTime=p.postRedirectStartTime=ge(e.crossOriginIsolatedCapability);if(p.redirectStartTime===0){p.redirectStartTime=p.startTime}o.urlList.push(h);ne(o,n);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,o=false){const n=e.request;let p=null;let Q=null;let D=null;const T=null;const O=false;if(n.window==="no-window"&&n.redirect==="error"){p=e;Q=n}else{Q=_(n);p={...e};p.request=Q}const V=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic";const j=Q.body?Q.body.length:null;let $=null;if(Q.body==null&&["POST","PUT"].includes(Q.method)){$="0"}if(j!=null){$=Qe(`${j}`)}if($!=null){Q.headersList.append("content-length",$)}if(j!=null&&Q.keepalive){}if(Q.referrer instanceof URL){Q.headersList.append("referer",Qe(Q.referrer.href))}re(Q);ae(Q);if(!Q.headersList.contains("user-agent")){Q.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(Q.cache==="default"&&(Q.headersList.contains("if-modified-since")||Q.headersList.contains("if-none-match")||Q.headersList.contains("if-unmodified-since")||Q.headersList.contains("if-match")||Q.headersList.contains("if-range"))){Q.cache="no-store"}if(Q.cache==="no-cache"&&!Q.preventNoCacheCacheControlHeaderModification&&!Q.headersList.contains("cache-control")){Q.headersList.append("cache-control","max-age=0")}if(Q.cache==="no-store"||Q.cache==="reload"){if(!Q.headersList.contains("pragma")){Q.headersList.append("pragma","no-cache")}if(!Q.headersList.contains("cache-control")){Q.headersList.append("cache-control","no-cache")}}if(Q.headersList.contains("range")){Q.headersList.append("accept-encoding","identity")}if(!Q.headersList.contains("accept-encoding")){if(we(oe(Q))){Q.headersList.append("accept-encoding","br, gzip, deflate")}else{Q.headersList.append("accept-encoding","gzip, deflate")}}Q.headersList.delete("host");if(V){}if(T==null){Q.cache="no-store"}if(Q.mode!=="no-store"&&Q.mode!=="reload"){}if(D==null){if(Q.mode==="only-if-cached"){return i("only if cached")}const e=await httpNetworkFetch(p,V,o);if(!Fe.has(Q.method)&&e.status>=200&&e.status<=399){}if(O&&e.status===304){}if(D==null){D=e}}D.urlList=[...Q.urlList];if(Q.headersList.contains("range")){D.rangeRequested=true}D.requestIncludesCredentials=V;if(D.status===407){if(n.window==="no-window"){return i()}if(fe(e)){return h(e)}return i("proxy authentication required")}if(D.status===421&&!o&&(n.body==null||n.body.source!=null)){if(fe(e)){return h(e)}e.controller.connection.destroy();D=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return D}async function httpNetworkFetch(e,t=false,n=false){Te(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new Pe("The operation was aborted.","AbortError"))}}};const p=e.request;let T=null;const _=e.timingInfo;const V=null;if(V==null){p.cache="no-store"}const j=n?"yes":"no";if(p.mode==="websocket"){}else{}let $=null;if(p.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(p.body!=null){const processBodyChunk=async function*(t){if(fe(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(fe(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(fe(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};$=async function*(){try{for await(const e of p.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:o,statusText:n,headersList:i,socket:h}=await dispatch({body:$});if(h){T=Q({status:o,statusText:n,headersList:i,socket:h})}else{const h=t[Symbol.asyncIterator]();e.controller.next=()=>h.next();T=Q({status:o,statusText:n,headersList:i})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return h(e,t)}return i(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!At){At=o(3774).ReadableStream}const ee=new At({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});T.body={stream:ee};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let o;try{const{done:o,value:n}=await e.controller.next();if(Ee(e)){break}t=o?undefined:n}catch(n){if(e.controller.ended&&!_.encodedBodySize){t=undefined}else{t=n;o=true}}if(t===undefined){Ie(e.controller.controller);finalizeResponse(e,T);return}_.decodedBodySize+=t?.byteLength??0;if(o){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(He(ee)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(Ee(e)){T.aborted=true;if(Ye(ee)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(Ye(ee)){e.controller.controller.error(new TypeError("terminated",{cause:Ce(t)?t:undefined}))}}e.controller.connection.destroy()}return T;async function dispatch({body:t}){const o=oe(p);const n=e.controller.dispatcher;return new Promise(((i,h)=>n.dispatch({path:o.pathname+o.search,origin:o.origin,method:p.method,body:e.controller.dispatcher.isMockActive?p.body&&(p.body.source||p.body.stream):t,headers:p.headersList.entries,maxRedirections:0,upgrade:p.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:o}=e.controller;if(o.destroyed){t(new Pe("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=o.abort=t}},onHeaders(e,t,o,n){if(e<200){return}let h=[];let Q="";const T=new D;if(Array.isArray(t)){for(let e=0;e<t.length;e+=2){const o=t[e+0].toString("latin1");const n=t[e+1].toString("latin1");if(o.toLowerCase()==="content-encoding"){h=n.toLowerCase().split(",").map((e=>e.trim()))}else if(o.toLowerCase()==="location"){Q=n}T[Le].append(o,n)}}else{const e=Object.keys(t);for(const o of e){const e=t[o];if(o.toLowerCase()==="content-encoding"){h=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(o.toLowerCase()==="location"){Q=e}T[Le].append(o,e)}}this.body=new Oe({read:o});const _=[];const V=p.redirect==="follow"&&Q&&ve.has(e);if(p.method!=="HEAD"&&p.method!=="CONNECT"&&!Ne.includes(e)&&!V){for(const e of h){if(e==="x-gzip"||e==="gzip"){_.push(O.createGunzip({flush:O.constants.Z_SYNC_FLUSH,finishFlush:O.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){_.push(O.createInflate())}else if(e==="br"){_.push(O.createBrotliDecompress())}else{_.length=0;break}}}i({status:e,statusText:n,headersList:T[Le],body:_.length?xe(this.body,..._,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const o=t;_.encodedBodySize+=o.byteLength;return this.body.push(o)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);h(t)},onUpgrade(e,t,o){if(e!==101){return}const n=new D;for(let e=0;e<t.length;e+=2){const o=t[e+0].toString("latin1");const i=t[e+1].toString("latin1");n[Le].append(o,i)}i({status:e,statusText:Ke[e],headersList:n[Le],socket:o});return true}})))}}e.exports={fetch:fetch,Fetch:Fetch,fetching:fetching,finalizeAndReportTiming:finalizeAndReportTiming}},5194:(e,t,o)=>{"use strict";const{extractBody:n,mixinBody:i,cloneBody:h}=o(8923);const{Headers:p,fill:Q,HeadersList:D}=o(6349);const{FinalizationRegistry:T}=o(3194)();const _=o(3440);const{isValidHTTPToken:O,sameOrigin:V,normalizeMethod:j,makePolicyContainer:$,normalizeMethodRecord:ee}=o(5523);const{forbiddenMethodsSet:te,corsSafeListedMethodsSet:re,referrerPolicy:se,requestRedirect:oe,requestMode:ne,requestCredentials:ie,requestCache:Ae,requestDuplex:ae}=o(7326);const{kEnumerableProperty:ce}=_;const{kHeaders:le,kSignal:ue,kState:ge,kGuard:de,kRealm:he}=o(9710);const{webidl:pe}=o(4222);const{getGlobalOrigin:fe}=o(5628);const{URLSerializer:Ee}=o(4322);const{kHeadersList:Ce,kConstruct:me}=o(6443);const Ie=o(2613);const{getMaxListeners:Qe,setMaxListeners:Be,getEventListeners:ye,defaultMaxListeners:we}=o(4434);let be=globalThis.TransformStream;const Se=Symbol("abortController");const Re=new T((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===me){return}pe.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=pe.converters.RequestInfo(e);t=pe.converters.RequestInit(t);this[he]={settingsObject:{baseUrl:fe(),get origin(){return this.baseUrl?.origin},policyContainer:$()}};let i=null;let h=null;const T=this[he].settingsObject.baseUrl;let se=null;if(typeof e==="string"){let t;try{t=new URL(e,T)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}i=makeRequest({urlList:[t]});h="cors"}else{Ie(e instanceof Request);i=e[ge];se=e[ue]}const oe=this[he].settingsObject.origin;let ne="client";if(i.window?.constructor?.name==="EnvironmentSettingsObject"&&V(i.window,oe)){ne=i.window}if(t.window!=null){throw new TypeError(`'window' option '${ne}' must be null`)}if("window"in t){ne="no-window"}i=makeRequest({method:i.method,headersList:i.headersList,unsafeRequest:i.unsafeRequest,client:this[he].settingsObject,window:ne,priority:i.priority,origin:i.origin,referrer:i.referrer,referrerPolicy:i.referrerPolicy,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,integrity:i.integrity,keepalive:i.keepalive,reloadNavigation:i.reloadNavigation,historyNavigation:i.historyNavigation,urlList:[...i.urlList]});const ie=Object.keys(t).length!==0;if(ie){if(i.mode==="navigate"){i.mode="same-origin"}i.reloadNavigation=false;i.historyNavigation=false;i.origin="client";i.referrer="client";i.referrerPolicy="";i.url=i.urlList[i.urlList.length-1];i.urlList=[i.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){i.referrer="no-referrer"}else{let t;try{t=new URL(e,T)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||oe&&!V(t,this[he].settingsObject.baseUrl)){i.referrer="client"}else{i.referrer=t}}}if(t.referrerPolicy!==undefined){i.referrerPolicy=t.referrerPolicy}let Ae;if(t.mode!==undefined){Ae=t.mode}else{Ae=h}if(Ae==="navigate"){throw pe.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(Ae!=null){i.mode=Ae}if(t.credentials!==undefined){i.credentials=t.credentials}if(t.cache!==undefined){i.cache=t.cache}if(i.cache==="only-if-cached"&&i.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){i.redirect=t.redirect}if(t.integrity!=null){i.integrity=String(t.integrity)}if(t.keepalive!==undefined){i.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!O(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(te.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=ee[e]??j(e);i.method=e}if(t.signal!==undefined){se=t.signal}this[ge]=i;const ae=new AbortController;this[ue]=ae.signal;this[ue][he]=this[he];if(se!=null){if(!se||typeof se.aborted!=="boolean"||typeof se.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(se.aborted){ae.abort(se.reason)}else{this[Se]=ae;const e=new WeakRef(ae);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof Qe==="function"&&Qe(se)===we){Be(100,se)}else if(ye(se,"abort").length>=we){Be(100,se)}}catch{}_.addAbortListener(se,abort);Re.register(ae,{signal:se,abort:abort})}}this[le]=new p(me);this[le][Ce]=i.headersList;this[le][de]="request";this[le][he]=this[he];if(Ae==="no-cors"){if(!re.has(i.method)){throw new TypeError(`'${i.method} is unsupported in no-cors mode.`)}this[le][de]="request-no-cors"}if(ie){const e=this[le][Ce];const o=t.headers!==undefined?t.headers:new D(e);e.clear();if(o instanceof D){for(const[t,n]of o){e.append(t,n)}e.cookies=o.cookies}else{Q(this[le],o)}}const ce=e instanceof Request?e[ge].body:null;if((t.body!=null||ce!=null)&&(i.method==="GET"||i.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let Ee=null;if(t.body!=null){const[e,o]=n(t.body,i.keepalive);Ee=e;if(o&&!this[le][Ce].contains("content-type")){this[le].append("content-type",o)}}const De=Ee??ce;if(De!=null&&De.source==null){if(Ee!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(i.mode!=="same-origin"&&i.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}i.useCORSPreflightFlag=true}let Te=De;if(Ee==null&&ce!=null){if(_.isDisturbed(ce.stream)||ce.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!be){be=o(3774).TransformStream}const e=new be;ce.stream.pipeThrough(e);Te={source:ce.source,length:ce.length,stream:e.readable}}this[ge].body=Te}get method(){pe.brandCheck(this,Request);return this[ge].method}get url(){pe.brandCheck(this,Request);return Ee(this[ge].url)}get headers(){pe.brandCheck(this,Request);return this[le]}get destination(){pe.brandCheck(this,Request);return this[ge].destination}get referrer(){pe.brandCheck(this,Request);if(this[ge].referrer==="no-referrer"){return""}if(this[ge].referrer==="client"){return"about:client"}return this[ge].referrer.toString()}get referrerPolicy(){pe.brandCheck(this,Request);return this[ge].referrerPolicy}get mode(){pe.brandCheck(this,Request);return this[ge].mode}get credentials(){return this[ge].credentials}get cache(){pe.brandCheck(this,Request);return this[ge].cache}get redirect(){pe.brandCheck(this,Request);return this[ge].redirect}get integrity(){pe.brandCheck(this,Request);return this[ge].integrity}get keepalive(){pe.brandCheck(this,Request);return this[ge].keepalive}get isReloadNavigation(){pe.brandCheck(this,Request);return this[ge].reloadNavigation}get isHistoryNavigation(){pe.brandCheck(this,Request);return this[ge].historyNavigation}get signal(){pe.brandCheck(this,Request);return this[ue]}get body(){pe.brandCheck(this,Request);return this[ge].body?this[ge].body.stream:null}get bodyUsed(){pe.brandCheck(this,Request);return!!this[ge].body&&_.isDisturbed(this[ge].body.stream)}get duplex(){pe.brandCheck(this,Request);return"half"}clone(){pe.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[ge]);const t=new Request(me);t[ge]=e;t[he]=this[he];t[le]=new p(me);t[le][Ce]=e.headersList;t[le][de]=this[le][de];t[le][he]=this[le][he];const o=new AbortController;if(this.signal.aborted){o.abort(this.signal.reason)}else{_.addAbortListener(this.signal,(()=>{o.abort(this.signal.reason)}))}t[ue]=o.signal;return t}}i(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new D(e.headersList):new D};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=h(e.body)}return t}Object.defineProperties(Request.prototype,{method:ce,url:ce,headers:ce,redirect:ce,clone:ce,signal:ce,duplex:ce,destination:ce,body:ce,bodyUsed:ce,isHistoryNavigation:ce,isReloadNavigation:ce,keepalive:ce,integrity:ce,cache:ce,credentials:ce,attribute:ce,referrerPolicy:ce,referrer:ce,mode:ce,[Symbol.toStringTag]:{value:"Request",configurable:true}});pe.converters.Request=pe.interfaceConverter(Request);pe.converters.RequestInfo=function(e){if(typeof e==="string"){return pe.converters.USVString(e)}if(e instanceof Request){return pe.converters.Request(e)}return pe.converters.USVString(e)};pe.converters.AbortSignal=pe.interfaceConverter(AbortSignal);pe.converters.RequestInit=pe.dictionaryConverter([{key:"method",converter:pe.converters.ByteString},{key:"headers",converter:pe.converters.HeadersInit},{key:"body",converter:pe.nullableConverter(pe.converters.BodyInit)},{key:"referrer",converter:pe.converters.USVString},{key:"referrerPolicy",converter:pe.converters.DOMString,allowedValues:se},{key:"mode",converter:pe.converters.DOMString,allowedValues:ne},{key:"credentials",converter:pe.converters.DOMString,allowedValues:ie},{key:"cache",converter:pe.converters.DOMString,allowedValues:Ae},{key:"redirect",converter:pe.converters.DOMString,allowedValues:oe},{key:"integrity",converter:pe.converters.DOMString},{key:"keepalive",converter:pe.converters.boolean},{key:"signal",converter:pe.nullableConverter((e=>pe.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:pe.converters.any},{key:"duplex",converter:pe.converters.DOMString,allowedValues:ae}]);e.exports={Request:Request,makeRequest:makeRequest}},8676:(e,t,o)=>{"use strict";const{Headers:n,HeadersList:i,fill:h}=o(6349);const{extractBody:p,cloneBody:Q,mixinBody:D}=o(8923);const T=o(3440);const{kEnumerableProperty:_}=T;const{isValidReasonPhrase:O,isCancelled:V,isAborted:j,isBlobLike:$,serializeJavascriptValueToJSONString:ee,isErrorLike:te,isomorphicEncode:re}=o(5523);const{redirectStatusSet:se,nullBodyStatus:oe,DOMException:ne}=o(7326);const{kState:ie,kHeaders:Ae,kGuard:ae,kRealm:ce}=o(9710);const{webidl:le}=o(4222);const{FormData:ue}=o(3073);const{getGlobalOrigin:ge}=o(5628);const{URLSerializer:de}=o(4322);const{kHeadersList:he,kConstruct:pe}=o(6443);const fe=o(2613);const{types:Ee}=o(9023);const Ce=globalThis.ReadableStream||o(3774).ReadableStream;const me=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[ie]=makeNetworkError();t[ce]=e;t[Ae][he]=t[ie].headersList;t[Ae][ae]="immutable";t[Ae][ce]=e;return t}static json(e,t={}){le.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=le.converters.ResponseInit(t)}const o=me.encode(ee(e));const n=p(o);const i={settingsObject:{}};const h=new Response;h[ce]=i;h[Ae][ae]="response";h[Ae][ce]=i;initializeResponse(h,t,{body:n[0],type:"application/json"});return h}static redirect(e,t=302){const o={settingsObject:{}};le.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=le.converters.USVString(e);t=le.converters["unsigned short"](t);let n;try{n=new URL(e,ge())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!se.has(t)){throw new RangeError("Invalid status code "+t)}const i=new Response;i[ce]=o;i[Ae][ae]="immutable";i[Ae][ce]=o;i[ie].status=t;const h=re(de(n));i[ie].headersList.append("location",h);return i}constructor(e=null,t={}){if(e!==null){e=le.converters.BodyInit(e)}t=le.converters.ResponseInit(t);this[ce]={settingsObject:{}};this[ie]=makeResponse({});this[Ae]=new n(pe);this[Ae][ae]="response";this[Ae][he]=this[ie].headersList;this[Ae][ce]=this[ce];let o=null;if(e!=null){const[t,n]=p(e);o={body:t,type:n}}initializeResponse(this,t,o)}get type(){le.brandCheck(this,Response);return this[ie].type}get url(){le.brandCheck(this,Response);const e=this[ie].urlList;const t=e[e.length-1]??null;if(t===null){return""}return de(t,true)}get redirected(){le.brandCheck(this,Response);return this[ie].urlList.length>1}get status(){le.brandCheck(this,Response);return this[ie].status}get ok(){le.brandCheck(this,Response);return this[ie].status>=200&&this[ie].status<=299}get statusText(){le.brandCheck(this,Response);return this[ie].statusText}get headers(){le.brandCheck(this,Response);return this[Ae]}get body(){le.brandCheck(this,Response);return this[ie].body?this[ie].body.stream:null}get bodyUsed(){le.brandCheck(this,Response);return!!this[ie].body&&T.isDisturbed(this[ie].body.stream)}clone(){le.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw le.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[ie]);const t=new Response;t[ie]=e;t[ce]=this[ce];t[Ae][he]=e.headersList;t[Ae][ae]=this[Ae][ae];t[Ae][ce]=this[Ae][ce];return t}}D(Response);Object.defineProperties(Response.prototype,{type:_,url:_,status:_,ok:_,redirected:_,statusText:_,headers:_,clone:_,body:_,bodyUsed:_,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:_,redirect:_,error:_});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=Q(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new i(e.headersList):new i,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=te(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,o){return o in t?t[o]:e[o]},set(e,o,n){fe(!(o in t));e[o]=n;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{fe(false)}}function makeAppropriateNetworkError(e,t=null){fe(V(e));return j(e)?makeNetworkError(Object.assign(new ne("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new ne("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,o){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!O(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[ie].status=t.status}if("statusText"in t&&t.statusText!=null){e[ie].statusText=t.statusText}if("headers"in t&&t.headers!=null){h(e[Ae],t.headers)}if(o){if(oe.includes(e.status)){throw le.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[ie].body=o.body;if(o.type!=null&&!e[ie].headersList.contains("Content-Type")){e[ie].headersList.append("content-type",o.type)}}}le.converters.ReadableStream=le.interfaceConverter(Ce);le.converters.FormData=le.interfaceConverter(ue);le.converters.URLSearchParams=le.interfaceConverter(URLSearchParams);le.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return le.converters.USVString(e)}if($(e)){return le.converters.Blob(e,{strict:false})}if(Ee.isArrayBuffer(e)||Ee.isTypedArray(e)||Ee.isDataView(e)){return le.converters.BufferSource(e)}if(T.isFormDataLike(e)){return le.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return le.converters.URLSearchParams(e)}return le.converters.DOMString(e)};le.converters.BodyInit=function(e){if(e instanceof Ce){return le.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return le.converters.XMLHttpRequestBodyInit(e)};le.converters.ResponseInit=le.dictionaryConverter([{key:"status",converter:le.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:le.converters.ByteString,defaultValue:""},{key:"headers",converter:le.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},9710:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},5523:(e,t,o)=>{"use strict";const{redirectStatusSet:n,referrerPolicySet:i,badPortsSet:h}=o(7326);const{getGlobalOrigin:p}=o(5628);const{performance:Q}=o(2987);const{isBlobLike:D,toUSVString:T,ReadableStreamFrom:_}=o(3440);const O=o(2613);const{isUint8Array:V}=o(8253);let j=[];let $;try{$=o(6982);const e=["sha256","sha384","sha512"];j=$.getHashes().filter((t=>e.includes(t)))}catch{}function responseURL(e){const t=e.urlList;const o=t.length;return o===0?null:t[o-1].toString()}function responseLocationURL(e,t){if(!n.has(e.status)){return null}let o=e.headersList.get("location");if(o!==null&&isValidHeaderValue(o)){o=new URL(o,responseURL(e))}if(o&&!o.hash){o.hash=t}return o}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&h.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t<e.length;++t){const o=e.charCodeAt(t);if(!(o===9||o>=32&&o<=126||o>=128&&o<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t<e.length;++t){if(!isTokenCharCode(e.charCodeAt(t))){return false}}return true}function isValidHeaderName(e){return isValidHTTPToken(e)}function isValidHeaderValue(e){if(e.startsWith("\t")||e.startsWith(" ")||e.endsWith("\t")||e.endsWith(" ")){return false}if(e.includes("\0")||e.includes("\r")||e.includes("\n")){return false}return true}function setRequestReferrerPolicyOnRedirect(e,t){const{headersList:o}=t;const n=(o.get("referrer-policy")??"").split(",");let h="";if(n.length>0){for(let e=n.length;e!==0;e--){const t=n[e-1].trim();if(i.has(t)){h=t;break}}}if(h!==""){e.referrerPolicy=h}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return Q.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;O(t);let o=null;if(e.referrer==="client"){const e=p();if(!e||e.origin==="null"){return"no-referrer"}o=new URL(e)}else if(e.referrer instanceof URL){o=e.referrer}let n=stripURLForReferrer(o);const i=stripURLForReferrer(o,true);if(n.toString().length>4096){n=i}const h=sameOrigin(e,n);const Q=isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return i!=null?i:stripURLForReferrer(o,true);case"unsafe-url":return n;case"same-origin":return h?i:"no-referrer";case"origin-when-cross-origin":return h?n:i;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(n,t)){return n}if(isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return i}case"strict-origin":case"no-referrer-when-downgrade":default:return Q?"no-referrer":i}}function stripURLForReferrer(e,t){O(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if($===undefined){return true}const o=parseMetadata(t);if(o==="no metadata"){return true}if(o.length===0){return true}const n=getStrongestMetadata(o);const i=filterMetadataListByAlgorithm(o,n);for(const t of i){const o=t.algo;const n=t.hash;let i=$.createHash(o).update(e).digest("base64");if(i[i.length-1]==="="){if(i[i.length-2]==="="){i=i.slice(0,-2)}else{i=i.slice(0,-1)}}if(compareBase64Mixed(i,n)){return true}}return false}const ee=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let o=true;for(const n of e.split(" ")){o=false;const e=ee.exec(n);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const i=e.groups.algo.toLowerCase();if(j.includes(i)){t.push(e.groups)}}if(o===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let o=1;o<e.length;++o){const n=e[o];if(n.algo[3]==="5"){t="sha512";break}else if(t[3]==="3"){continue}else if(n.algo[3]==="3"){t="sha384"}}return t}function filterMetadataListByAlgorithm(e,t){if(e.length===1){return e}let o=0;for(let n=0;n<e.length;++n){if(e[n].algo===t){e[o++]=e[n]}}e.length=o;return e}function compareBase64Mixed(e,t){if(e.length!==t.length){return false}for(let o=0;o<e.length;++o){if(e[o]!==t[o]){if(e[o]==="+"&&t[o]==="-"||e[o]==="/"&&t[o]==="_"){continue}return false}}return true}function tryUpgradeRequestToAPotentiallyTrustworthyURL(e){}function sameOrigin(e,t){if(e.origin===t.origin&&e.origin==="null"){return true}if(e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port){return true}return false}function createDeferredPromise(){let e;let t;const o=new Promise(((o,n)=>{e=o;t=n}));return{promise:o,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const te={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(te,null);function normalizeMethod(e){return te[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}O(typeof t==="string");return t}const re=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,o){const n={index:0,kind:o,target:e};const i={next(){if(Object.getPrototypeOf(this)!==i){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:o,target:h}=n;const p=h();const Q=p.length;if(e>=Q){return{value:undefined,done:true}}const D=p[e];n.index=e+1;return iteratorResult(D,o)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(i,re);return Object.setPrototypeOf({},i)}function iteratorResult(e,t){let o;switch(t){case"key":{o=e[0];break}case"value":{o=e[1];break}case"key+value":{o=e;break}}return{value:o,done:false}}async function fullyReadBody(e,t,o){const n=t;const i=o;let h;try{h=e.stream.getReader()}catch(e){i(e);return}try{const e=await readAllBytes(h);n(e)}catch(e){i(e)}}let se=globalThis.ReadableStream;function isReadableStreamLike(e){if(!se){se=o(3774).ReadableStream}return e instanceof se||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const oe=65535;function isomorphicDecode(e){if(e.length<oe){return String.fromCharCode(...e)}return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;t<e.length;t++){O(e.charCodeAt(t)<=255)}return e}async function readAllBytes(e){const t=[];let o=0;while(true){const{done:n,value:i}=await e.read();if(n){return Buffer.concat(t,o)}if(!V(i)){throw new TypeError("Received non-Uint8Array chunk")}t.push(i);o+=i.length}}function urlIsLocal(e){O("protocol"in e);const t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function urlHasHttpsScheme(e){if(typeof e==="string"){return e.startsWith("https:")}return e.protocol==="https:"}function urlIsHttpHttpsScheme(e){O("protocol"in e);const t=e.protocol;return t==="http:"||t==="https:"}const ne=Object.hasOwn||((e,t)=>Object.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:_,toUSVString:T,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:D,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:ne,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:te,parseMetadata:parseMetadata}},4222:(e,t,o)=>{"use strict";const{types:n}=o(9023);const{hasOwn:i,toUSVString:h}=o(5523);const p={};p.converters={};p.util={};p.errors={};p.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};p.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const o=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return p.errors.exception({header:e.prefix,message:o})};p.errors.invalidArgument=function(e){return p.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};p.brandCheck=function(e,t,o=undefined){if(o?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};p.argumentLengthCheck=function({length:e},t,o){if(e<t){throw p.errors.exception({message:`${t} argument${t!==1?"s":""} required, `+`but${e?" only":""} ${e} found.`,...o})}};p.illegalConstructor=function(){throw p.errors.exception({header:"TypeError",message:"Illegal constructor"})};p.util.Type=function(e){switch(typeof e){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":{if(e===null){return"Null"}return"Object"}}};p.util.ConvertToInt=function(e,t,o,n={}){let i;let h;if(t===64){i=Math.pow(2,53)-1;if(o==="unsigned"){h=0}else{h=Math.pow(-2,53)+1}}else if(o==="unsigned"){h=0;i=Math.pow(2,t)-1}else{h=Math.pow(-2,t)-1;i=Math.pow(2,t-1)-1}let Q=Number(e);if(Q===0){Q=0}if(n.enforceRange===true){if(Number.isNaN(Q)||Q===Number.POSITIVE_INFINITY||Q===Number.NEGATIVE_INFINITY){throw p.errors.exception({header:"Integer conversion",message:`Could not convert ${e} to an integer.`})}Q=p.util.IntegerPart(Q);if(Q<h||Q>i){throw p.errors.exception({header:"Integer conversion",message:`Value must be between ${h}-${i}, got ${Q}.`})}return Q}if(!Number.isNaN(Q)&&n.clamp===true){Q=Math.min(Math.max(Q,h),i);if(Math.floor(Q)%2===0){Q=Math.floor(Q)}else{Q=Math.ceil(Q)}return Q}if(Number.isNaN(Q)||Q===0&&Object.is(0,Q)||Q===Number.POSITIVE_INFINITY||Q===Number.NEGATIVE_INFINITY){return 0}Q=p.util.IntegerPart(Q);Q=Q%Math.pow(2,t);if(o==="signed"&&Q>=Math.pow(2,t)-1){return Q-Math.pow(2,t)}return Q};p.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};p.sequenceConverter=function(e){return t=>{if(p.util.Type(t)!=="Object"){throw p.errors.exception({header:"Sequence",message:`Value of type ${p.util.Type(t)} is not an Object.`})}const o=t?.[Symbol.iterator]?.();const n=[];if(o===undefined||typeof o.next!=="function"){throw p.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:i}=o.next();if(t){break}n.push(e(i))}return n}};p.recordConverter=function(e,t){return o=>{if(p.util.Type(o)!=="Object"){throw p.errors.exception({header:"Record",message:`Value of type ${p.util.Type(o)} is not an Object.`})}const i={};if(!n.isProxy(o)){const n=Object.keys(o);for(const h of n){const n=e(h);const p=t(o[h]);i[n]=p}return i}const h=Reflect.ownKeys(o);for(const n of h){const h=Reflect.getOwnPropertyDescriptor(o,n);if(h?.enumerable){const h=e(n);const p=t(o[n]);i[h]=p}}return i}};p.interfaceConverter=function(e){return(t,o={})=>{if(o.strict!==false&&!(t instanceof e)){throw p.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};p.dictionaryConverter=function(e){return t=>{const o=p.util.Type(t);const n={};if(o==="Null"||o==="Undefined"){return n}else if(o!=="Object"){throw p.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const o of e){const{key:e,defaultValue:h,required:Q,converter:D}=o;if(Q===true){if(!i(t,e)){throw p.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let T=t[e];const _=i(o,"defaultValue");if(_&&T!==null){T=T??h}if(Q||_||T!==undefined){T=D(T);if(o.allowedValues&&!o.allowedValues.includes(T)){throw p.errors.exception({header:"Dictionary",message:`${T} is not an accepted type. Expected one of ${o.allowedValues.join(", ")}.`})}n[e]=T}}return n}};p.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};p.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};p.converters.ByteString=function(e){const t=p.converters.DOMString(e);for(let e=0;e<t.length;e++){if(t.charCodeAt(e)>255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};p.converters.USVString=h;p.converters.boolean=function(e){const t=Boolean(e);return t};p.converters.any=function(e){return e};p.converters["long long"]=function(e){const t=p.util.ConvertToInt(e,64,"signed");return t};p.converters["unsigned long long"]=function(e){const t=p.util.ConvertToInt(e,64,"unsigned");return t};p.converters["unsigned long"]=function(e){const t=p.util.ConvertToInt(e,32,"unsigned");return t};p.converters["unsigned short"]=function(e,t){const o=p.util.ConvertToInt(e,16,"unsigned",t);return o};p.converters.ArrayBuffer=function(e,t={}){if(p.util.Type(e)!=="Object"||!n.isAnyArrayBuffer(e)){throw p.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&n.isSharedArrayBuffer(e)){throw p.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};p.converters.TypedArray=function(e,t,o={}){if(p.util.Type(e)!=="Object"||!n.isTypedArray(e)||e.constructor.name!==t.name){throw p.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(o.allowShared===false&&n.isSharedArrayBuffer(e.buffer)){throw p.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};p.converters.DataView=function(e,t={}){if(p.util.Type(e)!=="Object"||!n.isDataView(e)){throw p.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&n.isSharedArrayBuffer(e.buffer)){throw p.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};p.converters.BufferSource=function(e,t={}){if(n.isAnyArrayBuffer(e)){return p.converters.ArrayBuffer(e,t)}if(n.isTypedArray(e)){return p.converters.TypedArray(e,e.constructor)}if(n.isDataView(e)){return p.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};p.converters["sequence<ByteString>"]=p.sequenceConverter(p.converters.ByteString);p.converters["sequence<sequence<ByteString>>"]=p.sequenceConverter(p.converters["sequence<ByteString>"]);p.converters["record<ByteString, ByteString>"]=p.recordConverter(p.converters.ByteString,p.converters.ByteString);e.exports={webidl:p}},396:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},2160:(e,t,o)=>{"use strict";const{staticPropertyDescriptors:n,readOperation:i,fireAProgressEvent:h}=o(165);const{kState:p,kError:Q,kResult:D,kEvents:T,kAborted:_}=o(6812);const{webidl:O}=o(4222);const{kEnumerableProperty:V}=o(3440);class FileReader extends EventTarget{constructor(){super();this[p]="empty";this[D]=null;this[Q]=null;this[T]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){O.brandCheck(this,FileReader);O.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=O.converters.Blob(e,{strict:false});i(this,e,"ArrayBuffer")}readAsBinaryString(e){O.brandCheck(this,FileReader);O.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=O.converters.Blob(e,{strict:false});i(this,e,"BinaryString")}readAsText(e,t=undefined){O.brandCheck(this,FileReader);O.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=O.converters.Blob(e,{strict:false});if(t!==undefined){t=O.converters.DOMString(t)}i(this,e,"Text",t)}readAsDataURL(e){O.brandCheck(this,FileReader);O.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=O.converters.Blob(e,{strict:false});i(this,e,"DataURL")}abort(){if(this[p]==="empty"||this[p]==="done"){this[D]=null;return}if(this[p]==="loading"){this[p]="done";this[D]=null}this[_]=true;h("abort",this);if(this[p]!=="loading"){h("loadend",this)}}get readyState(){O.brandCheck(this,FileReader);switch(this[p]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){O.brandCheck(this,FileReader);return this[D]}get error(){O.brandCheck(this,FileReader);return this[Q]}get onloadend(){O.brandCheck(this,FileReader);return this[T].loadend}set onloadend(e){O.brandCheck(this,FileReader);if(this[T].loadend){this.removeEventListener("loadend",this[T].loadend)}if(typeof e==="function"){this[T].loadend=e;this.addEventListener("loadend",e)}else{this[T].loadend=null}}get onerror(){O.brandCheck(this,FileReader);return this[T].error}set onerror(e){O.brandCheck(this,FileReader);if(this[T].error){this.removeEventListener("error",this[T].error)}if(typeof e==="function"){this[T].error=e;this.addEventListener("error",e)}else{this[T].error=null}}get onloadstart(){O.brandCheck(this,FileReader);return this[T].loadstart}set onloadstart(e){O.brandCheck(this,FileReader);if(this[T].loadstart){this.removeEventListener("loadstart",this[T].loadstart)}if(typeof e==="function"){this[T].loadstart=e;this.addEventListener("loadstart",e)}else{this[T].loadstart=null}}get onprogress(){O.brandCheck(this,FileReader);return this[T].progress}set onprogress(e){O.brandCheck(this,FileReader);if(this[T].progress){this.removeEventListener("progress",this[T].progress)}if(typeof e==="function"){this[T].progress=e;this.addEventListener("progress",e)}else{this[T].progress=null}}get onload(){O.brandCheck(this,FileReader);return this[T].load}set onload(e){O.brandCheck(this,FileReader);if(this[T].load){this.removeEventListener("load",this[T].load)}if(typeof e==="function"){this[T].load=e;this.addEventListener("load",e)}else{this[T].load=null}}get onabort(){O.brandCheck(this,FileReader);return this[T].abort}set onabort(e){O.brandCheck(this,FileReader);if(this[T].abort){this.removeEventListener("abort",this[T].abort)}if(typeof e==="function"){this[T].abort=e;this.addEventListener("abort",e)}else{this[T].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:n,LOADING:n,DONE:n,readAsArrayBuffer:V,readAsBinaryString:V,readAsText:V,readAsDataURL:V,abort:V,readyState:V,result:V,error:V,onloadstart:V,onprogress:V,onload:V,onabort:V,onerror:V,onloadend:V,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:n,LOADING:n,DONE:n});e.exports={FileReader:FileReader}},5976:(e,t,o)=>{"use strict";const{webidl:n}=o(4222);const i=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=n.converters.DOMString(e);t=n.converters.ProgressEventInit(t??{});super(e,t);this[i]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){n.brandCheck(this,ProgressEvent);return this[i].lengthComputable}get loaded(){n.brandCheck(this,ProgressEvent);return this[i].loaded}get total(){n.brandCheck(this,ProgressEvent);return this[i].total}}n.converters.ProgressEventInit=n.dictionaryConverter([{key:"lengthComputable",converter:n.converters.boolean,defaultValue:false},{key:"loaded",converter:n.converters["unsigned long long"],defaultValue:0},{key:"total",converter:n.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:n.converters.boolean,defaultValue:false},{key:"cancelable",converter:n.converters.boolean,defaultValue:false},{key:"composed",converter:n.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},6812:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},165:(e,t,o)=>{"use strict";const{kState:n,kError:i,kResult:h,kAborted:p,kLastProgressEventFired:Q}=o(6812);const{ProgressEvent:D}=o(5976);const{getEncoding:T}=o(396);const{DOMException:_}=o(7326);const{serializeAMimeType:O,parseMIMEType:V}=o(4322);const{types:j}=o(9023);const{StringDecoder:$}=o(3193);const{btoa:ee}=o(181);const te={enumerable:true,writable:false,configurable:false};function readOperation(e,t,o,D){if(e[n]==="loading"){throw new _("Invalid state","InvalidStateError")}e[n]="loading";e[h]=null;e[i]=null;const T=t.stream();const O=T.getReader();const V=[];let $=O.read();let ee=true;(async()=>{while(!e[p]){try{const{done:T,value:_}=await $;if(ee&&!e[p]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}ee=false;if(!T&&j.isUint8Array(_)){V.push(_);if((e[Q]===undefined||Date.now()-e[Q]>=50)&&!e[p]){e[Q]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}$=O.read()}else if(T){queueMicrotask((()=>{e[n]="done";try{const n=packageData(V,o,t.type,D);if(e[p]){return}e[h]=n;fireAProgressEvent("load",e)}catch(t){e[i]=t;fireAProgressEvent("error",e)}if(e[n]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[p]){return}queueMicrotask((()=>{e[n]="done";e[i]=t;fireAProgressEvent("error",e);if(e[n]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const o=new D(e,{bubbles:false,cancelable:false});t.dispatchEvent(o)}function packageData(e,t,o,n){switch(t){case"DataURL":{let t="data:";const n=V(o||"application/octet-stream");if(n!=="failure"){t+=O(n)}t+=";base64,";const i=new $("latin1");for(const o of e){t+=ee(i.write(o))}t+=ee(i.end());return t}case"Text":{let t="failure";if(n){t=T(n)}if(t==="failure"&&o){const e=V(o);if(e!=="failure"){t=T(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const o=new $("latin1");for(const n of e){t+=o.write(n)}t+=o.end();return t}}}function decode(e,t){const o=combineByteSequences(e);const n=BOMSniffing(o);let i=0;if(n!==null){t=n;i=n==="UTF-8"?3:2}const h=o.slice(i);return new TextDecoder(t).decode(h)}function BOMSniffing(e){const[t,o,n]=e;if(t===239&&o===187&&n===191){return"UTF-8"}else if(t===254&&o===255){return"UTF-16BE"}else if(t===255&&o===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let o=0;return e.reduce(((e,t)=>{e.set(t,o);o+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:te,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},2581:(e,t,o)=>{"use strict";const n=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:i}=o(8707);const h=o(9965);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new h)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new i("Argument agent must implement Agent")}Object.defineProperty(globalThis,n,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[n]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},8840:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},8299:(e,t,o)=>{"use strict";const n=o(3440);const{kBodyUsed:i}=o(6443);const h=o(2613);const{InvalidArgumentError:p}=o(8707);const Q=o(4434);const D=[300,301,302,303,307,308];const T=Symbol("body");class BodyAsyncIterable{constructor(e){this[T]=e;this[i]=false}async*[Symbol.asyncIterator](){h(!this[i],"disturbed");this[i]=true;yield*this[T]}}class RedirectHandler{constructor(e,t,o,D){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new p("maxRedirections must be a positive number")}n.validateHandler(D,o.method,o.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...o,maxRedirections:0};this.maxRedirections=t;this.handler=D;this.history=[];if(n.isStream(this.opts.body)){if(n.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){h(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[i]=false;Q.prototype.on.call(this.opts.body,"data",(function(){this[i]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&n.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,o){this.handler.onUpgrade(e,t,o)}onError(e){this.handler.onError(e)}onHeaders(e,t,o,i){this.location=this.history.length>=this.maxRedirections||n.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,o,i)}const{origin:h,pathname:p,search:Q}=n.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const D=Q?`${p}${Q}`:p;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==h);this.opts.path=D;this.opts.origin=h;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(D.indexOf(e)===-1){return null}for(let e=0;e<t.length;e+=2){if(t[e].toString().toLowerCase()==="location"){return t[e+1]}}}function shouldRemoveHeader(e,t,o){if(e.length===4){return n.headerNameToString(e)==="host"}if(t&&n.headerNameToString(e).startsWith("content-")){return true}if(o&&(e.length===13||e.length===6||e.length===19)){const t=n.headerNameToString(e);return t==="authorization"||t==="cookie"||t==="proxy-authorization"}return false}function cleanRequestHeaders(e,t,o){const n=[];if(Array.isArray(e)){for(let i=0;i<e.length;i+=2){if(!shouldRemoveHeader(e[i],t,o)){n.push(e[i],e[i+1])}}}else if(e&&typeof e==="object"){for(const i of Object.keys(e)){if(!shouldRemoveHeader(i,t,o)){n.push(i,e[i])}}}else{h(e==null,"headers must be an object or an array")}return n}e.exports=RedirectHandler},3573:(e,t,o)=>{const n=o(2613);const{kRetryHandlerDefaultRetry:i}=o(6443);const{RequestRetryError:h}=o(8707);const{isDisturbed:p,parseHeaders:Q,parseRangeHeader:D}=o(3440);function calculateRetryAfterHeader(e){const t=Date.now();const o=new Date(e).getTime()-t;return o}class RetryHandler{constructor(e,t){const{retryOptions:o,...n}=e;const{retry:h,maxRetries:p,maxTimeout:Q,minTimeout:D,timeoutFactor:T,methods:_,errorCodes:O,retryAfter:V,statusCodes:j}=o??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=n;this.abort=null;this.aborted=false;this.retryOpts={retry:h??RetryHandler[i],retryAfter:V??true,maxTimeout:Q??30*1e3,timeout:D??500,timeoutFactor:T??2,maxRetries:p??5,methods:_??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:j??[500,502,503,504,429],errorCodes:O??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,o){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,o)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[i](e,{state:t,opts:o},n){const{statusCode:i,code:h,headers:p}=e;const{method:Q,retryOptions:D}=o;const{maxRetries:T,timeout:_,maxTimeout:O,timeoutFactor:V,statusCodes:j,errorCodes:$,methods:ee}=D;let{counter:te,currentTimeout:re}=t;re=re!=null&&re>0?re:_;if(h&&h!=="UND_ERR_REQ_RETRY"&&h!=="UND_ERR_SOCKET"&&!$.includes(h)){n(e);return}if(Array.isArray(ee)&&!ee.includes(Q)){n(e);return}if(i!=null&&Array.isArray(j)&&!j.includes(i)){n(e);return}if(te>T){n(e);return}let se=p!=null&&p["retry-after"];if(se){se=Number(se);se=isNaN(se)?calculateRetryAfterHeader(se):se*1e3}const oe=se>0?Math.min(se,O):Math.min(re*V**te,O);t.currentTimeout=oe;setTimeout((()=>n(null)),oe)}onHeaders(e,t,o,i){const p=Q(t);this.retryCount+=1;if(e>=300){this.abort(new h("Request failed",e,{headers:p,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=D(p["content-range"]);if(!t){this.abort(new h("Content-Range mismatch",e,{headers:p,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==p.etag){this.abort(new h("ETag mismatch",e,{headers:p,count:this.retryCount}));return false}const{start:i,size:Q,end:T=Q}=t;n(this.start===i,"content-range mismatch");n(this.end==null||this.end===T,"content-range mismatch");this.resume=o;return true}if(this.end==null){if(e===206){const h=D(p["content-range"]);if(h==null){return this.handler.onHeaders(e,t,o,i)}const{start:Q,size:T,end:_=T}=h;n(Q!=null&&Number.isFinite(Q)&&this.start!==Q,"content-range mismatch");n(Number.isFinite(Q));n(_!=null&&Number.isFinite(_)&&this.end!==_,"invalid content-length");this.start=Q;this.end=_}if(this.end==null){const e=p["content-length"];this.end=e!=null?Number(e):null}n(Number.isFinite(this.start));n(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=o;this.etag=p.etag!=null?p.etag:null;return this.handler.onHeaders(e,t,o,i)}const T=new h("Request failed",e,{headers:p,count:this.retryCount});this.abort(T);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||p(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||p(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},4415:(e,t,o)=>{"use strict";const n=o(8299);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(o,i){const{maxRedirections:h=e}=o;if(!h){return t(o,i)}const p=new n(t,h,o,i);o={...o,maxRedirections:0};return t(o,p)}}e.exports=createRedirectInterceptor},2824:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const n=o(172);var i;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(i=t.ERROR||(t.ERROR={}));var h;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(h=t.TYPE||(t.TYPE={}));var p;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(p=t.FLAGS||(t.FLAGS={}));var Q;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(Q=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var D;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(D=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[D.DELETE,D.GET,D.HEAD,D.POST,D.PUT,D.CONNECT,D.OPTIONS,D.TRACE,D.COPY,D.LOCK,D.MKCOL,D.MOVE,D.PROPFIND,D.PROPPATCH,D.SEARCH,D.UNLOCK,D.BIND,D.REBIND,D.UNBIND,D.ACL,D.REPORT,D.MKACTIVITY,D.CHECKOUT,D.MERGE,D["M-SEARCH"],D.NOTIFY,D.SUBSCRIBE,D.UNSUBSCRIBE,D.PATCH,D.PURGE,D.MKCALENDAR,D.LINK,D.UNLINK,D.PRI,D.SOURCE];t.METHODS_ICE=[D.SOURCE];t.METHODS_RTSP=[D.OPTIONS,D.DESCRIBE,D.ANNOUNCE,D.SETUP,D.PLAY,D.PAUSE,D.TEARDOWN,D.GET_PARAMETER,D.SET_PARAMETER,D.REDIRECT,D.RECORD,D.FLUSH,D.GET,D.POST];t.METHOD_MAP=n.enumToMap(D);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var T;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(T=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var _;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(_=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:_.CONNECTION,"content-length":_.CONTENT_LENGTH,"proxy-connection":_.CONNECTION,"transfer-encoding":_.TRANSFER_ENCODING,upgrade:_.UPGRADE}},3870:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},3434:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},172:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((o=>{const n=e[o];if(typeof n==="number"){t[o]=n}}));return t}t.enumToMap=enumToMap},7501:(e,t,o)=>{"use strict";const{kClients:n}=o(6443);const i=o(9965);const{kAgent:h,kMockAgentSet:p,kMockAgentGet:Q,kDispatches:D,kIsMockActive:T,kNetConnect:_,kGetNetConnect:O,kOptions:V,kFactory:j}=o(1117);const $=o(7365);const ee=o(4004);const{matchValue:te,buildMockOptions:re}=o(3397);const{InvalidArgumentError:se,UndiciError:oe}=o(8707);const ne=o(992);const ie=o(1529);const Ae=o(6142);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends ne{constructor(e){super(e);this[_]=true;this[T]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new se("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new i(e);this[h]=t;this[n]=t[n];this[V]=re(e)}get(e){let t=this[Q](e);if(!t){t=this[j](e);this[p](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[h].dispatch(e,t)}async close(){await this[h].close();this[n].clear()}deactivate(){this[T]=false}activate(){this[T]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[_])){this[_].push(e)}else{this[_]=[e]}}else if(typeof e==="undefined"){this[_]=true}else{throw new se("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[_]=false}get isMockActive(){return this[T]}[p](e,t){this[n].set(e,new FakeWeakRef(t))}[j](e){const t=Object.assign({agent:this},this[V]);return this[V]&&this[V].connections===1?new $(e,t):new ee(e,t)}[Q](e){const t=this[n].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[j]("http://localhost:9999");this[p](e,t);return t}for(const[t,o]of Array.from(this[n])){const n=o.deref();if(n&&typeof t!=="string"&&te(t,e)){const t=this[j](e);this[p](e,t);t[D]=n[D];return t}}}[O](){return this[_]}pendingInterceptors(){const e=this[n];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[D].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new Ae}={}){const t=this.pendingInterceptors();if(t.length===0){return}const o=new ie("interceptor","interceptors").pluralize(t.length);throw new oe(`\n${o.count} ${o.noun} ${o.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},7365:(e,t,o)=>{"use strict";const{promisify:n}=o(9023);const i=o(6197);const{buildMockDispatch:h}=o(3397);const{kDispatches:p,kMockAgent:Q,kClose:D,kOriginalClose:T,kOrigin:_,kOriginalDispatch:O,kConnected:V}=o(1117);const{MockInterceptor:j}=o(1511);const $=o(6443);const{InvalidArgumentError:ee}=o(8707);class MockClient extends i{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new ee("Argument opts.agent must implement Agent")}this[Q]=t.agent;this[_]=e;this[p]=[];this[V]=1;this[O]=this.dispatch;this[T]=this.close.bind(this);this.dispatch=h.call(this);this.close=this[D]}get[$.kConnected](){return this[V]}intercept(e){return new j(e,this[p])}async[D](){await n(this[T])();this[V]=0;this[Q][$.kClients].delete(this[_])}}e.exports=MockClient},2429:(e,t,o)=>{"use strict";const{UndiciError:n}=o(8707);class MockNotMatchedError extends n{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},1511:(e,t,o)=>{"use strict";const{getResponseData:n,buildKey:i,addMockDispatch:h}=o(3397);const{kDispatches:p,kDispatchKey:Q,kDefaultHeaders:D,kDefaultTrailers:T,kContentLength:_,kMockDispatch:O}=o(1117);const{InvalidArgumentError:V}=o(8707);const{buildURL:j}=o(3440);class MockScope{constructor(e){this[O]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new V("waitInMs must be a valid integer > 0")}this[O].delay=e;return this}persist(){this[O].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new V("repeatTimes must be a valid integer > 0")}this[O].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new V("opts must be an object")}if(typeof e.path==="undefined"){throw new V("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=j(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[Q]=i(e);this[p]=t;this[D]={};this[T]={};this[_]=false}createMockScopeDispatchData(e,t,o={}){const i=n(t);const h=this[_]?{"content-length":i.length}:{};const p={...this[D],...h,...o.headers};const Q={...this[T],...o.trailers};return{statusCode:e,data:t,headers:p,trailers:Q}}validateReplyParameters(e,t,o){if(typeof e==="undefined"){throw new V("statusCode must be defined")}if(typeof t==="undefined"){throw new V("data must be defined")}if(typeof o!=="object"){throw new V("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const o=e(t);if(typeof o!=="object"){throw new V("reply options callback must return an object")}const{statusCode:n,data:i="",responseOptions:h={}}=o;this.validateReplyParameters(n,i,h);return{...this.createMockScopeDispatchData(n,i,h)}};const t=h(this[p],this[Q],wrappedDefaultsCallback);return new MockScope(t)}const[t,o="",n={}]=[...arguments];this.validateReplyParameters(t,o,n);const i=this.createMockScopeDispatchData(t,o,n);const D=h(this[p],this[Q],i);return new MockScope(D)}replyWithError(e){if(typeof e==="undefined"){throw new V("error must be defined")}const t=h(this[p],this[Q],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new V("headers must be defined")}this[D]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new V("trailers must be defined")}this[T]=e;return this}replyContentLength(){this[_]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},4004:(e,t,o)=>{"use strict";const{promisify:n}=o(9023);const i=o(5076);const{buildMockDispatch:h}=o(3397);const{kDispatches:p,kMockAgent:Q,kClose:D,kOriginalClose:T,kOrigin:_,kOriginalDispatch:O,kConnected:V}=o(1117);const{MockInterceptor:j}=o(1511);const $=o(6443);const{InvalidArgumentError:ee}=o(8707);class MockPool extends i{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new ee("Argument opts.agent must implement Agent")}this[Q]=t.agent;this[_]=e;this[p]=[];this[V]=1;this[O]=this.dispatch;this[T]=this.close.bind(this);this.dispatch=h.call(this);this.close=this[D]}get[$.kConnected](){return this[V]}intercept(e){return new j(e,this[p])}async[D](){await n(this[T])();this[V]=0;this[Q][$.kClients].delete(this[_])}}e.exports=MockPool},1117:e=>{"use strict";e.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},3397:(e,t,o)=>{"use strict";const{MockNotMatchedError:n}=o(2429);const{kDispatches:i,kMockAgent:h,kOriginalDispatch:p,kOrigin:Q,kGetNetConnect:D}=o(1117);const{buildURL:T,nop:_}=o(3440);const{STATUS_CODES:O}=o(8611);const{types:{isPromise:V}}=o(9023);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let o=0;o<e.length;o+=2){if(e[o].toLocaleLowerCase()===t.toLocaleLowerCase()){return e[o+1]}}return undefined}else if(typeof e.get==="function"){return e.get(t)}else{return lowerCaseEntries(e)[t.toLocaleLowerCase()]}}function buildHeadersFromArray(e){const t=e.slice();const o=[];for(let e=0;e<t.length;e+=2){o.push([t[e],t[e+1]])}return Object.fromEntries(o)}function matchHeaders(e,t){if(typeof e.headers==="function"){if(Array.isArray(t)){t=buildHeadersFromArray(t)}return e.headers(t?lowerCaseEntries(t):{})}if(typeof e.headers==="undefined"){return true}if(typeof t!=="object"||typeof e.headers!=="object"){return false}for(const[o,n]of Object.entries(e.headers)){const e=getHeaderByName(t,o);if(!matchValue(n,e)){return false}}return true}function safeUrl(e){if(typeof e!=="string"){return e}const t=e.split("?");if(t.length!==2){return e}const o=new URLSearchParams(t.pop());o.sort();return[...t,o.toString()].join("?")}function matchKey(e,{path:t,method:o,body:n,headers:i}){const h=matchValue(e.path,t);const p=matchValue(e.method,o);const Q=typeof e.body!=="undefined"?matchValue(e.body,n):true;const D=matchHeaders(e,i);return h&&p&&Q&&D}function getResponseData(e){if(Buffer.isBuffer(e)){return e}else if(typeof e==="object"){return JSON.stringify(e)}else{return e.toString()}}function getMockDispatch(e,t){const o=t.query?T(t.path,t.query):t.path;const i=typeof o==="string"?safeUrl(o):o;let h=e.filter((({consumed:e})=>!e)).filter((({path:e})=>matchValue(safeUrl(e),i)));if(h.length===0){throw new n(`Mock dispatch not matched for path '${i}'`)}h=h.filter((({method:e})=>matchValue(e,t.method)));if(h.length===0){throw new n(`Mock dispatch not matched for method '${t.method}'`)}h=h.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(h.length===0){throw new n(`Mock dispatch not matched for body '${t.body}'`)}h=h.filter((e=>matchHeaders(e,t.headers)));if(h.length===0){throw new n(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return h[0]}function addMockDispatch(e,t,o){const n={timesInvoked:0,times:1,persist:false,consumed:false};const i=typeof o==="function"?{callback:o}:{...o};const h={...n,...t,pending:true,data:{error:null,...i}};e.push(h);return h}function deleteMockDispatch(e,t){const o=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(o!==-1){e.splice(o,1)}}function buildKey(e){const{path:t,method:o,body:n,headers:i,query:h}=e;return{path:t,method:o,body:n,headers:i,query:h}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,o])=>[...e,Buffer.from(`${t}`),Array.isArray(o)?o.map((e=>Buffer.from(`${e}`))):Buffer.from(`${o}`)]),[])}function getStatusText(e){return O[e]||"unknown"}async function getResponse(e){const t=[];for await(const o of e){t.push(o)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const o=buildKey(e);const n=getMockDispatch(this[i],o);n.timesInvoked++;if(n.data.callback){n.data={...n.data,...n.data.callback(e)}}const{data:{statusCode:h,data:p,headers:Q,trailers:D,error:T},delay:O,persist:j}=n;const{timesInvoked:$,times:ee}=n;n.consumed=!j&&$>=ee;n.pending=$<ee;if(T!==null){deleteMockDispatch(this[i],o);t.onError(T);return true}if(typeof O==="number"&&O>0){setTimeout((()=>{handleReply(this[i])}),O)}else{handleReply(this[i])}function handleReply(n,i=p){const T=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const O=typeof i==="function"?i({...e,headers:T}):i;if(V(O)){O.then((e=>handleReply(n,e)));return}const j=getResponseData(O);const $=generateKeyValues(Q);const ee=generateKeyValues(D);t.abort=_;t.onHeaders(h,$,resume,getStatusText(h));t.onData(Buffer.from(j));t.onComplete(ee);deleteMockDispatch(n,o)}function resume(){}return true}function buildMockDispatch(){const e=this[h];const t=this[Q];const o=this[p];return function dispatch(i,h){if(e.isMockActive){try{mockDispatch.call(this,i,h)}catch(p){if(p instanceof n){const Q=e[D]();if(Q===false){throw new n(`${p.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(Q,t)){o.call(this,i,h)}else{throw new n(`${p.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw p}}}else{o.call(this,i,h)}}}function checkNetConnect(e,t){const o=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,o.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...o}=e;return o}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},6142:(e,t,o)=>{"use strict";const{Transform:n}=o(2203);const{Console:i}=o(4236);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new n({transform(e,t,o){o(null,e)}});this.logger=new i({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:o},persist:n,times:i,timesInvoked:h,origin:p})=>({Method:e,Origin:p,Path:t,"Status code":o,Persistent:n?"✅":"❌",Invocations:h,Remaining:n?Infinity:i-h})));this.logger.table(t);return this.transform.read().toString()}}},1529:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const o={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const n=e===1;const i=n?t:o;const h=n?this.singular:this.plural;return{...i,count:e,noun:h}}}},4869:e=>{"use strict";const t=2048;const o=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&o)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&o}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&o;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},8640:(e,t,o)=>{"use strict";const n=o(1);const i=o(4869);const{kConnected:h,kSize:p,kRunning:Q,kPending:D,kQueued:T,kBusy:_,kFree:O,kUrl:V,kClose:j,kDestroy:$,kDispatch:ee}=o(6443);const te=o(4622);const re=Symbol("clients");const se=Symbol("needDrain");const oe=Symbol("queue");const ne=Symbol("closed resolve");const ie=Symbol("onDrain");const Ae=Symbol("onConnect");const ae=Symbol("onDisconnect");const ce=Symbol("onConnectionError");const le=Symbol("get dispatcher");const ue=Symbol("add client");const ge=Symbol("remove client");const de=Symbol("stats");class PoolBase extends n{constructor(){super();this[oe]=new i;this[re]=[];this[T]=0;const e=this;this[ie]=function onDrain(t,o){const n=e[oe];let i=false;while(!i){const t=n.shift();if(!t){break}e[T]--;i=!this.dispatch(t.opts,t.handler)}this[se]=i;if(!this[se]&&e[se]){e[se]=false;e.emit("drain",t,[e,...o])}if(e[ne]&&n.isEmpty()){Promise.all(e[re].map((e=>e.close()))).then(e[ne])}};this[Ae]=(t,o)=>{e.emit("connect",t,[e,...o])};this[ae]=(t,o,n)=>{e.emit("disconnect",t,[e,...o],n)};this[ce]=(t,o,n)=>{e.emit("connectionError",t,[e,...o],n)};this[de]=new te(this)}get[_](){return this[se]}get[h](){return this[re].filter((e=>e[h])).length}get[O](){return this[re].filter((e=>e[h]&&!e[se])).length}get[D](){let e=this[T];for(const{[D]:t}of this[re]){e+=t}return e}get[Q](){let e=0;for(const{[Q]:t}of this[re]){e+=t}return e}get[p](){let e=this[T];for(const{[p]:t}of this[re]){e+=t}return e}get stats(){return this[de]}async[j](){if(this[oe].isEmpty()){return Promise.all(this[re].map((e=>e.close())))}else{return new Promise((e=>{this[ne]=e}))}}async[$](e){while(true){const t=this[oe].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[re].map((t=>t.destroy(e))))}[ee](e,t){const o=this[le]();if(!o){this[se]=true;this[oe].push({opts:e,handler:t});this[T]++}else if(!o.dispatch(e,t)){o[se]=true;this[se]=!this[le]()}return!this[se]}[ue](e){e.on("drain",this[ie]).on("connect",this[Ae]).on("disconnect",this[ae]).on("connectionError",this[ce]);this[re].push(e);if(this[se]){process.nextTick((()=>{if(this[se]){this[ie](e[V],[this,e])}}))}return this}[ge](e){e.close((()=>{const t=this[re].indexOf(e);if(t!==-1){this[re].splice(t,1)}}));this[se]=this[re].some((e=>!e[se]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:re,kNeedDrain:se,kAddClient:ue,kRemoveClient:ge,kGetDispatcher:le}},4622:(e,t,o)=>{const{kFree:n,kConnected:i,kPending:h,kQueued:p,kRunning:Q,kSize:D}=o(6443);const T=Symbol("pool");class PoolStats{constructor(e){this[T]=e}get connected(){return this[T][i]}get free(){return this[T][n]}get pending(){return this[T][h]}get queued(){return this[T][p]}get running(){return this[T][Q]}get size(){return this[T][D]}}e.exports=PoolStats},5076:(e,t,o)=>{"use strict";const{PoolBase:n,kClients:i,kNeedDrain:h,kAddClient:p,kGetDispatcher:Q}=o(8640);const D=o(6197);const{InvalidArgumentError:T}=o(8707);const _=o(3440);const{kUrl:O,kInterceptors:V}=o(6443);const j=o(9136);const $=Symbol("options");const ee=Symbol("connections");const te=Symbol("factory");function defaultFactory(e,t){return new D(e,t)}class Pool extends n{constructor(e,{connections:t,factory:o=defaultFactory,connect:n,connectTimeout:h,tls:p,maxCachedSessions:Q,socketPath:D,autoSelectFamily:re,autoSelectFamilyAttemptTimeout:se,allowH2:oe,...ne}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new T("invalid connections")}if(typeof o!=="function"){throw new T("factory must be a function.")}if(n!=null&&typeof n!=="function"&&typeof n!=="object"){throw new T("connect must be a function or an object")}if(typeof n!=="function"){n=j({...p,maxCachedSessions:Q,allowH2:oe,socketPath:D,timeout:h,..._.nodeHasAutoSelectFamily&&re?{autoSelectFamily:re,autoSelectFamilyAttemptTimeout:se}:undefined,...n})}this[V]=ne.interceptors&&ne.interceptors.Pool&&Array.isArray(ne.interceptors.Pool)?ne.interceptors.Pool:[];this[ee]=t||null;this[O]=_.parseOrigin(e);this[$]={..._.deepClone(ne),connect:n,allowH2:oe};this[$].interceptors=ne.interceptors?{...ne.interceptors}:undefined;this[te]=o;this.on("connectionError",((e,t,o)=>{for(const e of t){const t=this[i].indexOf(e);if(t!==-1){this[i].splice(t,1)}}}))}[Q](){let e=this[i].find((e=>!e[h]));if(e){return e}if(!this[ee]||this[i].length<this[ee]){e=this[te](this[O],this[$]);this[p](e)}return e}}e.exports=Pool},2720:(e,t,o)=>{"use strict";const{kProxy:n,kClose:i,kDestroy:h,kInterceptors:p}=o(6443);const{URL:Q}=o(7016);const D=o(9965);const T=o(5076);const _=o(1);const{InvalidArgumentError:O,RequestAbortedError:V}=o(8707);const j=o(9136);const $=Symbol("proxy agent");const ee=Symbol("proxy client");const te=Symbol("proxy headers");const re=Symbol("request tls settings");const se=Symbol("proxy tls settings");const oe=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new O("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new T(e,t)}class ProxyAgent extends _{constructor(e){super(e);this[n]=buildProxyOptions(e);this[$]=new D(e);this[p]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new O("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new O("Proxy opts.clientFactory must be a function.")}this[re]=e.requestTls;this[se]=e.proxyTls;this[te]=e.headers||{};const o=new Q(e.uri);const{origin:i,port:h,host:T,username:_,password:ne}=o;if(e.auth&&e.token){throw new O("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[te]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[te]["proxy-authorization"]=e.token}else if(_&&ne){this[te]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(_)}:${decodeURIComponent(ne)}`).toString("base64")}`}const ie=j({...e.proxyTls});this[oe]=j({...e.requestTls});this[ee]=t(o,{connect:ie});this[$]=new D({...e,connect:async(e,t)=>{let o=e.host;if(!e.port){o+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:n,statusCode:p}=await this[ee].connect({origin:i,port:h,path:o,signal:e.signal,headers:{...this[te],host:T}});if(p!==200){n.on("error",(()=>{})).destroy();t(new V(`Proxy response (${p}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,n);return}let Q;if(this[re]){Q=this[re].servername}else{Q=e.servername}this[oe]({...e,servername:Q,httpSocket:n},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:o}=new Q(e.origin);const n=buildHeaders(e.headers);throwIfProxyAuthIsSent(n);return this[$].dispatch({...e,headers:{...n,host:o}},t)}async[i](){await this[$].close();await this[ee].close()}async[h](){await this[$].destroy();await this[ee].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let o=0;o<e.length;o+=2){t[e[o]]=e[o+1]}return t}return e}function throwIfProxyAuthIsSent(e){const t=e&&Object.keys(e).find((e=>e.toLowerCase()==="proxy-authorization"));if(t){throw new O("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},8804:e=>{"use strict";let t=Date.now();let o;const n=[];function onTimeout(){t=Date.now();let e=n.length;let o=0;while(o<e){const i=n[o];if(i.state===0){i.state=t+i.delay}else if(i.state>0&&t>=i.state){i.state=-1;i.callback(i.opaque)}if(i.state===-1){i.state=-2;if(o!==e-1){n[o]=n.pop()}else{n.pop()}e-=1}else{o+=1}}if(n.length>0){refreshTimeout()}}function refreshTimeout(){if(o&&o.refresh){o.refresh()}else{clearTimeout(o);o=setTimeout(onTimeout,1e3);if(o.unref){o.unref()}}}class Timeout{constructor(e,t,o){this.callback=e;this.delay=t;this.opaque=o;this.state=-2;this.refresh()}refresh(){if(this.state===-2){n.push(this);if(!o||n.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,o){return t<1e3?setTimeout(e,t,o):new Timeout(e,t,o)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},8550:(e,t,o)=>{"use strict";const n=o(1637);const{uid:i,states:h}=o(5913);const{kReadyState:p,kSentClose:Q,kByteParser:D,kReceivedClose:T}=o(2933);const{fireEvent:_,failWebsocketConnection:O}=o(3574);const{CloseEvent:V}=o(6255);const{makeRequest:j}=o(5194);const{fetching:$}=o(2315);const{Headers:ee}=o(6349);const{getGlobalDispatcher:te}=o(2581);const{kHeadersList:re}=o(6443);const se={};se.open=n.channel("undici:websocket:open");se.close=n.channel("undici:websocket:close");se.socketError=n.channel("undici:websocket:socket_error");let oe;try{oe=o(6982)}catch{}function establishWebSocketConnection(e,t,o,n,h){const p=e;p.protocol=e.protocol==="ws:"?"http:":"https:";const Q=j({urlList:[p],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(h.headers){const e=new ee(h.headers)[re];Q.headersList=e}const D=oe.randomBytes(16).toString("base64");Q.headersList.append("sec-websocket-key",D);Q.headersList.append("sec-websocket-version","13");for(const e of t){Q.headersList.append("sec-websocket-protocol",e)}const T="";const _=$({request:Q,useParallelQueue:true,dispatcher:h.dispatcher??te(),processResponse(e){if(e.type==="error"||e.status!==101){O(o,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){O(o,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){O(o,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){O(o,'Server did not set Connection header to "upgrade".');return}const h=e.headersList.get("Sec-WebSocket-Accept");const p=oe.createHash("sha1").update(D+i).digest("base64");if(h!==p){O(o,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const _=e.headersList.get("Sec-WebSocket-Extensions");if(_!==null&&_!==T){O(o,"Received different permessage-deflate than the one set.");return}const V=e.headersList.get("Sec-WebSocket-Protocol");if(V!==null&&V!==Q.headersList.get("Sec-WebSocket-Protocol")){O(o,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(se.open.hasSubscribers){se.open.publish({address:e.socket.address(),protocol:V,extensions:_})}n(e)}});return _}function onSocketData(e){if(!this.ws[D].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[Q]&&e[T];let o=1005;let n="";const i=e[D].closingInfo;if(i){o=i.code??1005;n=i.reason}else if(!e[Q]){o=1006}e[p]=h.CLOSED;_("close",e,V,{wasClean:t,code:o,reason:n});if(se.close.hasSubscribers){se.close.publish({websocket:e,code:o,reason:n})}}function onSocketError(e){const{ws:t}=this;t[p]=h.CLOSING;if(se.socketError.hasSubscribers){se.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},5913:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const o={enumerable:true,writable:false,configurable:false};const n={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const i={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const h=2**16-1;const p={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const Q=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:o,states:n,opcodes:i,maxUnsigned16Bit:h,parserStates:p,emptyBuffer:Q}},6255:(e,t,o)=>{"use strict";const{webidl:n}=o(4222);const{kEnumerableProperty:i}=o(3440);const{MessagePort:h}=o(8167);class MessageEvent extends Event{#n;constructor(e,t={}){n.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=n.converters.DOMString(e);t=n.converters.MessageEventInit(t);super(e,t);this.#n=t}get data(){n.brandCheck(this,MessageEvent);return this.#n.data}get origin(){n.brandCheck(this,MessageEvent);return this.#n.origin}get lastEventId(){n.brandCheck(this,MessageEvent);return this.#n.lastEventId}get source(){n.brandCheck(this,MessageEvent);return this.#n.source}get ports(){n.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#n.ports)){Object.freeze(this.#n.ports)}return this.#n.ports}initMessageEvent(e,t=false,o=false,i=null,h="",p="",Q=null,D=[]){n.brandCheck(this,MessageEvent);n.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:o,data:i,origin:h,lastEventId:p,source:Q,ports:D})}}class CloseEvent extends Event{#n;constructor(e,t={}){n.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=n.converters.DOMString(e);t=n.converters.CloseEventInit(t);super(e,t);this.#n=t}get wasClean(){n.brandCheck(this,CloseEvent);return this.#n.wasClean}get code(){n.brandCheck(this,CloseEvent);return this.#n.code}get reason(){n.brandCheck(this,CloseEvent);return this.#n.reason}}class ErrorEvent extends Event{#n;constructor(e,t){n.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=n.converters.DOMString(e);t=n.converters.ErrorEventInit(t??{});this.#n=t}get message(){n.brandCheck(this,ErrorEvent);return this.#n.message}get filename(){n.brandCheck(this,ErrorEvent);return this.#n.filename}get lineno(){n.brandCheck(this,ErrorEvent);return this.#n.lineno}get colno(){n.brandCheck(this,ErrorEvent);return this.#n.colno}get error(){n.brandCheck(this,ErrorEvent);return this.#n.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:i,origin:i,lastEventId:i,source:i,ports:i,initMessageEvent:i});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:i,code:i,wasClean:i});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:i,filename:i,lineno:i,colno:i,error:i});n.converters.MessagePort=n.interfaceConverter(h);n.converters["sequence<MessagePort>"]=n.sequenceConverter(n.converters.MessagePort);const p=[{key:"bubbles",converter:n.converters.boolean,defaultValue:false},{key:"cancelable",converter:n.converters.boolean,defaultValue:false},{key:"composed",converter:n.converters.boolean,defaultValue:false}];n.converters.MessageEventInit=n.dictionaryConverter([...p,{key:"data",converter:n.converters.any,defaultValue:null},{key:"origin",converter:n.converters.USVString,defaultValue:""},{key:"lastEventId",converter:n.converters.DOMString,defaultValue:""},{key:"source",converter:n.nullableConverter(n.converters.MessagePort),defaultValue:null},{key:"ports",converter:n.converters["sequence<MessagePort>"],get defaultValue(){return[]}}]);n.converters.CloseEventInit=n.dictionaryConverter([...p,{key:"wasClean",converter:n.converters.boolean,defaultValue:false},{key:"code",converter:n.converters["unsigned short"],defaultValue:0},{key:"reason",converter:n.converters.USVString,defaultValue:""}]);n.converters.ErrorEventInit=n.dictionaryConverter([...p,{key:"message",converter:n.converters.DOMString,defaultValue:""},{key:"filename",converter:n.converters.USVString,defaultValue:""},{key:"lineno",converter:n.converters["unsigned long"],defaultValue:0},{key:"colno",converter:n.converters["unsigned long"],defaultValue:0},{key:"error",converter:n.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},1237:(e,t,o)=>{"use strict";const{maxUnsigned16Bit:n}=o(5913);let i;try{i=o(6982)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=i.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let o=t;let i=6;if(t>n){i+=8;o=127}else if(t>125){i+=2;o=126}const h=Buffer.allocUnsafe(t+i);h[0]=h[1]=0;h[0]|=128;h[0]=(h[0]&240)+e;
4
- /*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */h[i-4]=this.maskKey[0];h[i-3]=this.maskKey[1];h[i-2]=this.maskKey[2];h[i-1]=this.maskKey[3];h[1]=o;if(o===126){h.writeUInt16BE(t,2)}else if(o===127){h[2]=h[3]=0;h.writeUIntBE(t,4,6)}h[1]|=128;for(let e=0;e<t;e++){h[i+e]=this.frameData[e]^this.maskKey[e%4]}return h}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},3171:(e,t,o)=>{"use strict";const{Writable:n}=o(2203);const i=o(1637);const{parserStates:h,opcodes:p,states:Q,emptyBuffer:D}=o(5913);const{kReadyState:T,kSentClose:_,kResponse:O,kReceivedClose:V}=o(2933);const{isValidStatusCode:j,failWebsocketConnection:$,websocketMessageReceived:ee}=o(3574);const{WebsocketFrameSend:te}=o(1237);const re={};re.ping=i.channel("undici:websocket:ping");re.pong=i.channel("undici:websocket:pong");class ByteParser extends n{#i=[];#A=0;#a=h.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,o){this.#i.push(e);this.#A+=e.length;this.run(o)}run(e){while(true){if(this.#a===h.INFO){if(this.#A<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==p.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==p.BINARY&&this.#c.opcode!==p.TEXT){$(this.ws,"Invalid frame type was fragmented.");return}const o=t[1]&127;if(o<=125){this.#c.payloadLength=o;this.#a=h.READ_DATA}else if(o===126){this.#a=h.PAYLOADLENGTH_16}else if(o===127){this.#a=h.PAYLOADLENGTH_64}if(this.#c.fragmented&&o>125){$(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===p.PING||this.#c.opcode===p.PONG||this.#c.opcode===p.CLOSE)&&o>125){$(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===p.CLOSE){if(o===1){$(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(o);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[_]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new te(e);this.ws[O].socket.write(t.createFrame(p.CLOSE),(e=>{if(!e){this.ws[_]=true}}))}this.ws[T]=Q.CLOSING;this.ws[V]=true;this.end();return}else if(this.#c.opcode===p.PING){const t=this.consume(o);if(!this.ws[V]){const e=new te(t);this.ws[O].socket.write(e.createFrame(p.PONG));if(re.ping.hasSubscribers){re.ping.publish({payload:t})}}this.#a=h.INFO;if(this.#A>0){continue}else{e();return}}else if(this.#c.opcode===p.PONG){const t=this.consume(o);if(re.pong.hasSubscribers){re.pong.publish({payload:t})}if(this.#A>0){continue}else{e();return}}}else if(this.#a===h.PAYLOADLENGTH_16){if(this.#A<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=h.READ_DATA}else if(this.#a===h.PAYLOADLENGTH_64){if(this.#A<8){return e()}const t=this.consume(8);const o=t.readUInt32BE(0);if(o>2**31-1){$(this.ws,"Received payload length > 2^31 bytes.");return}const n=t.readUInt32BE(4);this.#c.payloadLength=(o<<8)+n;this.#a=h.READ_DATA}else if(this.#a===h.READ_DATA){if(this.#A<this.#c.payloadLength){return e()}else if(this.#A>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===p.CONTINUATION){const e=Buffer.concat(this.#l);ee(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=h.INFO}}if(this.#A>0){continue}else{e();break}}}consume(e){if(e>this.#A){return null}else if(e===0){return D}if(this.#i[0].length===e){this.#A-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let o=0;while(o!==e){const n=this.#i[0];const{length:i}=n;if(i+o===e){t.set(this.#i.shift(),o);break}else if(i+o>e){t.set(n.subarray(0,e-o),o);this.#i[0]=n.subarray(e-o);break}else{t.set(this.#i.shift(),o);o+=n.length}}this.#A-=e;return t}parseCloseBody(e,t){let o;if(t.length>=2){o=t.readUInt16BE(0)}if(e){if(!j(o)){return null}return{code:o}}let n=t.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(o!==undefined&&!j(o)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:o,reason:n}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},2933:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(e,t,o)=>{"use strict";const{kReadyState:n,kController:i,kResponse:h,kBinaryType:p,kWebSocketURL:Q}=o(2933);const{states:D,opcodes:T}=o(5913);const{MessageEvent:_,ErrorEvent:O}=o(6255);function isEstablished(e){return e[n]===D.OPEN}function isClosing(e){return e[n]===D.CLOSING}function isClosed(e){return e[n]===D.CLOSED}function fireEvent(e,t,o=Event,n){const i=new o(e,n);t.dispatchEvent(i)}function websocketMessageReceived(e,t,o){if(e[n]!==D.OPEN){return}let i;if(t===T.TEXT){try{i=new TextDecoder("utf-8",{fatal:true}).decode(o)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===T.BINARY){if(e[p]==="blob"){i=new Blob([o])}else{i=new Uint8Array(o).buffer}}fireEvent("message",e,_,{origin:e[Q].origin,data:i})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[i]:o,[h]:n}=e;o.abort();if(n?.socket&&!n.socket.destroyed){n.socket.destroy()}if(t){fireEvent("error",e,O,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},5171:(e,t,o)=>{"use strict";const{webidl:n}=o(4222);const{DOMException:i}=o(7326);const{URLSerializer:h}=o(4322);const{getGlobalOrigin:p}=o(5628);const{staticPropertyDescriptors:Q,states:D,opcodes:T,emptyBuffer:_}=o(5913);const{kWebSocketURL:O,kReadyState:V,kController:j,kBinaryType:$,kResponse:ee,kSentClose:te,kByteParser:re}=o(2933);const{isEstablished:se,isClosing:oe,isValidSubprotocol:ne,failWebsocketConnection:ie,fireEvent:Ae}=o(3574);const{establishWebSocketConnection:ae}=o(8550);const{WebsocketFrameSend:ce}=o(1237);const{ByteParser:le}=o(3171);const{kEnumerableProperty:ue,isBlobLike:ge}=o(3440);const{getGlobalDispatcher:de}=o(2581);const{types:he}=o(9023);let pe=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#g=0;#d="";#h="";constructor(e,t=[]){super();n.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!pe){pe=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const o=n.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);e=n.converters.USVString(e);t=o.protocols;const h=p();let Q;try{Q=new URL(e,h)}catch(e){throw new i(e,"SyntaxError")}if(Q.protocol==="http:"){Q.protocol="ws:"}else if(Q.protocol==="https:"){Q.protocol="wss:"}if(Q.protocol!=="ws:"&&Q.protocol!=="wss:"){throw new i(`Expected a ws: or wss: protocol, got ${Q.protocol}`,"SyntaxError")}if(Q.hash||Q.href.endsWith("#")){throw new i("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>ne(e)))){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[O]=new URL(Q.href);this[j]=ae(Q,t,this,(e=>this.#p(e)),o);this[V]=WebSocket.CONNECTING;this[$]="blob"}close(e=undefined,t=undefined){n.brandCheck(this,WebSocket);if(e!==undefined){e=n.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=n.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new i("invalid code","InvalidAccessError")}}let o=0;if(t!==undefined){o=Buffer.byteLength(t);if(o>123){throw new i(`Reason must be less than 123 bytes; received ${o}`,"SyntaxError")}}if(this[V]===WebSocket.CLOSING||this[V]===WebSocket.CLOSED){}else if(!se(this)){ie(this,"Connection was closed before it was established.");this[V]=WebSocket.CLOSING}else if(!oe(this)){const n=new ce;if(e!==undefined&&t===undefined){n.frameData=Buffer.allocUnsafe(2);n.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){n.frameData=Buffer.allocUnsafe(2+o);n.frameData.writeUInt16BE(e,0);n.frameData.write(t,2,"utf-8")}else{n.frameData=_}const i=this[ee].socket;i.write(n.createFrame(T.CLOSE),(e=>{if(!e){this[te]=true}}));this[V]=D.CLOSING}else{this[V]=WebSocket.CLOSING}}send(e){n.brandCheck(this,WebSocket);n.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=n.converters.WebSocketSendData(e);if(this[V]===WebSocket.CONNECTING){throw new i("Sent before connected.","InvalidStateError")}if(!se(this)||oe(this)){return}const t=this[ee].socket;if(typeof e==="string"){const o=Buffer.from(e);const n=new ce(o);const i=n.createFrame(T.TEXT);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}else if(he.isArrayBuffer(e)){const o=Buffer.from(e);const n=new ce(o);const i=n.createFrame(T.BINARY);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}else if(ArrayBuffer.isView(e)){const o=Buffer.from(e,e.byteOffset,e.byteLength);const n=new ce(o);const i=n.createFrame(T.BINARY);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}else if(ge(e)){const o=new ce;e.arrayBuffer().then((e=>{const n=Buffer.from(e);o.frameData=n;const i=o.createFrame(T.BINARY);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}))}}get readyState(){n.brandCheck(this,WebSocket);return this[V]}get bufferedAmount(){n.brandCheck(this,WebSocket);return this.#g}get url(){n.brandCheck(this,WebSocket);return h(this[O])}get extensions(){n.brandCheck(this,WebSocket);return this.#h}get protocol(){n.brandCheck(this,WebSocket);return this.#d}get onopen(){n.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){n.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){n.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){n.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){n.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){n.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){n.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){n.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){n.brandCheck(this,WebSocket);return this[$]}set binaryType(e){n.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[$]="blob"}else{this[$]=e}}#p(e){this[ee]=e;const t=new le(this);t.on("drain",(function onParserDrain(){this.ws[ee].socket.resume()}));e.socket.ws=this;this[re]=t;this[V]=D.OPEN;const o=e.headersList.get("sec-websocket-extensions");if(o!==null){this.#h=o}const n=e.headersList.get("sec-websocket-protocol");if(n!==null){this.#d=n}Ae("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=D.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=D.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=D.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=D.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:Q,OPEN:Q,CLOSING:Q,CLOSED:Q,url:ue,readyState:ue,bufferedAmount:ue,onopen:ue,onerror:ue,onclose:ue,close:ue,onmessage:ue,binaryType:ue,send:ue,extensions:ue,protocol:ue,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:Q,OPEN:Q,CLOSING:Q,CLOSED:Q});n.converters["sequence<DOMString>"]=n.sequenceConverter(n.converters.DOMString);n.converters["DOMString or sequence<DOMString>"]=function(e){if(n.util.Type(e)==="Object"&&Symbol.iterator in e){return n.converters["sequence<DOMString>"](e)}return n.converters.DOMString(e)};n.converters.WebSocketInit=n.dictionaryConverter([{key:"protocols",converter:n.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return de()}},{key:"headers",converter:n.nullableConverter(n.converters.HeadersInit)}]);n.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){if(n.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return n.converters.WebSocketInit(e)}return{protocols:n.converters["DOMString or sequence<DOMString>"](e)}};n.converters.WebSocketSendData=function(e){if(n.util.Type(e)==="Object"){if(ge(e)){return n.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||he.isAnyArrayBuffer(e)){return n.converters.BufferSource(e)}}return n.converters.USVString(e)};e.exports={WebSocket:WebSocket}},3843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return"<environment undetectable>"}t.getUserAgent=getUserAgent},8264:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var o=0;o<t.length;o++){t[o]=arguments[o]}var n=e.apply(this,t);var i=t[t.length-1];if(typeof n==="function"&&n!==i){Object.keys(i).forEach((function(e){n[e]=i[e]}))}return n}}},218:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});const p=h(o(7484));const Q=h(o(3228));const D=h(o(9896));const T=h(o(6928));const _=o(5030);const O=o(9727);const V=o(7785);const j=o(7461);function detectCdkApp(e){const t=T.join(e,"cdk.json");if(D.existsSync(t)){return e}const o=["infrastructure","cdk","infra","deploy"];for(const t of o){const o=T.join(e,t);const n=T.join(o,"cdk.json");if(D.existsSync(n)){return o}}return undefined}function getPRNumber(){const e=Q.context;if(e.eventName==="pull_request"&&e.payload.pull_request){return e.payload.pull_request.number}return undefined}function parseRepository(){const e=Q.context;if(e.repo.owner&&e.repo.repo){return{owner:e.repo.owner,repo:e.repo.repo}}return undefined}function validatePath(e){const t=process.env.GITHUB_WORKSPACE||process.cwd();const o=T.resolve(t,e);if(!o.startsWith(t)){throw new Error(`Path '${e}' is outside workspace. Potential path traversal attack.`)}return o}function validateCommentStrategy(e){const t=["new","update","delete-and-new"];if(!t.includes(e)){throw new Error(`Invalid comment-strategy: '${e}'. Must be one of: ${t.join(", ")}`)}return e}async function run(){try{const e=p.getInput("path")||"./";const t=validatePath(e);const o=p.getInput("github-token",{required:true});const n=p.getInput("aws-region")||"us-east-1";const i=p.getInput("config-path");const h=p.getInput("comment-strategy")||"update";const Q=validateCommentStrategy(h);const $=p.getBooleanInput("debug");if($){j.Logger.setDebugEnabled(true);p.debug("Debug logging enabled")}p.info("Starting CDK Cost Analysis...");const ee=parseRepository();if(!ee){p.setFailed("Could not determine repository from GitHub context");return}const te=getPRNumber();if(!te){p.warning("Not running in a pull_request event. Skipping PR comment.")}let re=detectCdkApp(t);if(!re){p.warning(`Could not detect CDK app in ${t}. Using provided path.`);re=t}else{p.info(`Detected CDK app at: ${re}`)}const se=T.join(re,"cdk.out");const oe=!D.existsSync(se);if(oe){p.info("CDK output not found. Synthesis will be performed.")}const ne=new _.PipelineOrchestrator;p.info(`Running cost analysis for region: ${n}`);const ie=await ne.runPipelineAnalysis({synthesize:oe,cdkAppPath:re,region:n,configPath:i});const Ae=ie.costAnalysis.removedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+ie.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.oldMonthlyCost.amount),0);const ae=ie.costAnalysis.addedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+ie.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.newMonthlyCost.amount),0);const ce=new V.GitHubActionReporter;const le={totalDelta:ie.costAnalysis.totalDelta,currency:ie.costAnalysis.currency,addedCosts:ie.costAnalysis.addedResources,removedCosts:ie.costAnalysis.removedResources,modifiedCosts:ie.costAnalysis.modifiedResources};const ue=ce.generateReport(le,Ae,ae);console.log("\n"+ue+"\n");p.setOutput("total-delta",ie.costAnalysis.totalDelta.toString());p.setOutput("currency",ie.costAnalysis.currency);p.setOutput("added-count",ie.costAnalysis.addedResources.length.toString());p.setOutput("removed-count",ie.costAnalysis.removedResources.length.toString());p.setOutput("modified-count",ie.costAnalysis.modifiedResources.length.toString());p.setOutput("threshold-passed",ie.thresholdStatus.passed.toString());p.setOutput("threshold-level",ie.thresholdStatus.level);if(te){p.info(`Posting cost analysis to PR #${te}...`);const e=new O.GitHubIntegration({token:o,apiUrl:process.env.GITHUB_API_URL||"https://api.github.com"});await e.postPRComment(ee.owner,ee.repo,te,ue,Q);p.info("Cost analysis posted to pull request")}if(ie.thresholdStatus.level==="error"&&!ie.thresholdStatus.passed){p.setFailed(`Cost threshold exceeded: ${ie.thresholdStatus.message}`);return}if(ie.thresholdStatus.level==="warning"&&!ie.thresholdStatus.passed){p.warning(`Cost threshold warning: ${ie.thresholdStatus.message}`)}p.info("Cost analysis completed successfully")}catch(e){if(e instanceof Error){p.setFailed(e.message)}else{p.setFailed(String(e))}}}run()},2099:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.ConfigManager=void 0;const p=h(o(1943));const Q=h(o(6928));const D=h(o(4281));const T=o(2143);class ConfigManager{static CONFIG_FILE_NAMES=[".cdk-cost-analyzer.yml",".cdk-cost-analyzer.yaml",".cdk-cost-analyzer.json"];async loadConfig(e){try{const t=await this.resolveConfigPath(e);if(!t){return this.getDefaultConfig()}const o=await this.readConfigFile(t);const n=this.validateConfig(o);if(!n.valid){throw new T.ConfigurationError("Invalid configuration",t,n.errors)}return this.mergeWithDefaults(o)}catch(t){if(t instanceof T.ConfigurationError){throw t}throw new T.ConfigurationError(`Failed to load configuration: ${t instanceof Error?t.message:String(t)}`,e||"unknown",[])}}validateConfig(e){const t=[];const o=[];if(e.thresholds){this.validateThresholds(e.thresholds,t,o)}if(e.usageAssumptions){this.validateUsageAssumptions(e.usageAssumptions,t)}if(e.cache?.durationHours!==undefined){if(e.cache.durationHours<=0){t.push("cache.durationHours must be positive")}}return{valid:t.length===0,errors:t,warnings:o}}async resolveConfigPath(e){if(e){const t=await this.fileExists(e);if(!t){throw new Error(`Configuration file not found: ${e}`)}return e}for(const e of ConfigManager.CONFIG_FILE_NAMES){const t=Q.join(process.cwd(),e);if(await this.fileExists(t)){return t}}return null}async readConfigFile(e){const t=await p.readFile(e,"utf-8");const o=Q.extname(e).toLowerCase();try{if(o===".json"){return JSON.parse(t)}else{return D.load(t)}}catch(e){throw new Error(`Failed to parse configuration file: ${e instanceof Error?e.message:String(e)}`)}}async fileExists(e){try{await p.access(e);return true}catch{return false}}validateThresholds(e,t,o){const validateLevels=(e,n)=>{if(e.warning!==undefined&&e.warning<0){t.push(`${n}.warning must be non-negative`)}if(e.error!==undefined&&e.error<0){t.push(`${n}.error must be non-negative`)}if(e.warning!==undefined&&e.error!==undefined&&e.warning>e.error){o.push(`${n}.warning (${e.warning}) is greater than ${n}.error (${e.error})`)}};if(e.default){validateLevels(e.default,"thresholds.default")}if(e.environments){for(const[t,o]of Object.entries(e.environments)){validateLevels(o,`thresholds.environments.${t}`)}}}validateUsageAssumptions(e,t){const validatePositive=(e,o)=>{if(e!==undefined&&e<0){t.push(`${o} must be non-negative`)}};if(e.s3){validatePositive(e.s3.storageGB,"usageAssumptions.s3.storageGB");validatePositive(e.s3.getRequests,"usageAssumptions.s3.getRequests");validatePositive(e.s3.putRequests,"usageAssumptions.s3.putRequests")}if(e.lambda){validatePositive(e.lambda.invocationsPerMonth,"usageAssumptions.lambda.invocationsPerMonth");validatePositive(e.lambda.averageDurationMs,"usageAssumptions.lambda.averageDurationMs")}if(e.dynamodb){validatePositive(e.dynamodb.readRequestsPerMonth,"usageAssumptions.dynamodb.readRequestsPerMonth");validatePositive(e.dynamodb.writeRequestsPerMonth,"usageAssumptions.dynamodb.writeRequestsPerMonth")}if(e.natGateway){validatePositive(e.natGateway.dataProcessedGB,"usageAssumptions.natGateway.dataProcessedGB")}if(e.alb){validatePositive(e.alb.newConnectionsPerSecond,"usageAssumptions.alb.newConnectionsPerSecond");validatePositive(e.alb.activeConnectionsPerMinute,"usageAssumptions.alb.activeConnectionsPerMinute");validatePositive(e.alb.processedBytesGB,"usageAssumptions.alb.processedBytesGB")}if(e.nlb){validatePositive(e.nlb.newConnectionsPerSecond,"usageAssumptions.nlb.newConnectionsPerSecond");validatePositive(e.nlb.activeConnectionsPerMinute,"usageAssumptions.nlb.activeConnectionsPerMinute");validatePositive(e.nlb.processedBytesGB,"usageAssumptions.nlb.processedBytesGB")}if(e.cloudfront){validatePositive(e.cloudfront.dataTransferGB,"usageAssumptions.cloudfront.dataTransferGB");validatePositive(e.cloudfront.requests,"usageAssumptions.cloudfront.requests")}if(e.apiGateway){validatePositive(e.apiGateway.requestsPerMonth,"usageAssumptions.apiGateway.requestsPerMonth")}if(e.vpcEndpoint){validatePositive(e.vpcEndpoint.dataProcessedGB,"usageAssumptions.vpcEndpoint.dataProcessedGB")}}getDefaultConfig(){return{cache:{enabled:true,durationHours:24}}}mergeWithDefaults(e){const t=this.getDefaultConfig();return{...t,...e,cache:{...t.cache,...e.cache}}}}t.ConfigManager=ConfigManager},2143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfigurationError=void 0;class ConfigurationError extends Error{configPath;validationErrors;constructor(e,t,o){super(e);this.configPath=t;this.validationErrors=o;this.name="ConfigurationError"}}t.ConfigurationError=ConfigurationError},8558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DiffEngine=void 0;class DiffEngine{diff(e,t){const o=e.Resources||{};const n=t.Resources||{};const i=new Set(Object.keys(o));const h=new Set(Object.keys(n));const p=[];const Q=[];const D=[];for(const e of h){if(!i.has(e)){const t=n[e];p.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(!h.has(e)){const t=o[e];Q.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(h.has(e)){const t=o[e];const i=n[e];if(!this.arePropertiesEqual(t.Properties,i.Properties)){D.push({logicalId:e,type:i.Type,oldProperties:t.Properties||{},newProperties:i.Properties||{}})}}}return{added:p,removed:Q,modified:D}}arePropertiesEqual(e,t){const o=e||{};const n=t||{};return JSON.stringify(this.sortObject(o))===JSON.stringify(this.sortObject(n))}sortObject(e){if(e===null||e===undefined){return e}if(Array.isArray(e)){return e.map((e=>this.sortObject(e)))}if(typeof e==="object"){const t={};const o=Object.keys(e).sort();for(const n of o){t[n]=this.sortObject(e[n])}return t}return e}}t.DiffEngine=DiffEngine},9727:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubIntegration=void 0;const n=o(4270);const i="\x3c!-- cdk-cost-analyzer --\x3e";class GitHubIntegration{static fromEnvironment(){const e=process.env.GITHUB_TOKEN;const t=process.env.GITHUB_API_URL||"https://api.github.com";if(!e){throw new Error("GitHub token not found. Set GITHUB_TOKEN environment variable.")}return new GitHubIntegration({token:e,apiUrl:t})}config;constructor(e){this.config=e}async postPRComment(e,t,o,n,h="update"){const p=`${i}\n${n}`;switch(h){case"new":await this.createComment(e,t,o,p);break;case"update":{const n=await this.findExistingComment(e,t,o);if(n){await this.updateComment(e,t,n.id,p)}else{await this.createComment(e,t,o,p)}break}case"delete-and-new":{const n=await this.findExistingComment(e,t,o);if(n){await this.deleteComment(e,t,n.id)}await this.createComment(e,t,o,p);break}default:throw new Error(`Unknown comment strategy: ${h}`)}}async findExistingComment(e,t,o){try{let h=1;const p=100;while(true){const Q=`${this.config.apiUrl}/repos/${e}/${t}/issues/${o}/comments?page=${h}&per_page=${p}`;const D=await this.fetchWithRetry(Q,{method:"GET",headers:this.getHeaders()});if(!D.ok){const e=await D.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to list comments: ${D.statusText} - ${e}`),D.status)}const T=await D.json();if(T.length===0){break}const _=T.find((e=>e.body?.includes(i)));if(_){return _}h++}return null}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async updateComment(e,t,o,i){const h=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${o}`;try{const e=await this.fetchWithRetry(h,{method:"PATCH",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to update comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async deleteComment(e,t,o){const i=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${o}`;try{const e=await this.fetchWithRetry(i,{method:"DELETE",headers:this.getHeaders()});if(!e.ok){const t=await e.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to delete comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async createComment(e,t,o,i){const h=`${this.config.apiUrl}/repos/${e}/${t}/issues/${o}/comments`;const p=65536;if(i.length>p){throw new n.GitHubAPIError(`Comment exceeds GitHub's maximum size of ${p} characters (actual: ${i.length})`)}try{const e=await this.fetchWithRetry(h,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to post comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}getHeaders(){return{Authorization:`Bearer ${this.config.token}`,Accept:"application/vnd.github+json","Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"}}async fetchWithRetry(e,t,o=3){for(let n=0;n<o;n++){const i=await fetch(e,t);if(i.status===429){const e=i.headers.get("retry-after");const t=i.headers.get("x-ratelimit-reset");let h=1e3*(n+1);if(e){h=parseInt(e)*1e3}else if(t){const e=new Date(parseInt(t)*1e3);h=Math.max(0,e.getTime()-Date.now())}if(n<o-1){await new Promise((e=>setTimeout(e,h)));continue}}if(i.status>=500&&i.status<600&&n<o-1){await new Promise((e=>setTimeout(e,1e3*(n+1))));continue}return i}throw new n.GitHubAPIError("Maximum retry attempts exceeded")}sanitizeError(e){return e.replace(new RegExp(this.config.token,"g"),"***")}}t.GitHubIntegration=GitHubIntegration},4270:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubAPIError=t.GitLabAPIError=void 0;class GitLabAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitLabAPIError"}}t.GitLabAPIError=GitLabAPIError;class GitHubAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitHubAPIError"}}t.GitHubAPIError=GitHubAPIError},8254:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.TemplateParser=t.TemplateParseError=void 0;const p=h(o(4281));class TemplateParseError extends Error{templatePath;constructor(e,t){super(e);this.templatePath=t;this.name="TemplateParseError"}}t.TemplateParseError=TemplateParseError;class TemplateParser{parse(e){if(!e||e.trim()===""){throw new TemplateParseError("Template content is empty")}let t;try{t=JSON.parse(e)}catch(o){try{t=p.load(e)}catch(e){throw new TemplateParseError(`Failed to parse template as JSON or YAML: ${e instanceof Error?e.message:String(e)}`)}}if(!t||typeof t!=="object"){throw new TemplateParseError("Parsed template is not an object")}const o=t;if(!o.Resources||typeof o.Resources!=="object"){throw new TemplateParseError("Template must contain a Resources section")}return o}}t.TemplateParser=TemplateParser},5030:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.PipelineOrchestrator=void 0;const p=h(o(1943));const Q=o(1839);const D=o(2099);const T=o(8558);const _=o(8254);const O=o(9345);const V=o(1268);const j=o(9560);const $=o(1668);class PipelineOrchestrator{configManager;synthesisOrchestrator;thresholdEnforcer;constructor(){this.configManager=new D.ConfigManager;this.synthesisOrchestrator=new j.SynthesisOrchestrator;this.thresholdEnforcer=new $.ThresholdEnforcer}async runPipelineAnalysis(e){try{const t=await this.configManager.loadConfig(e.configPath);let o;let n;let i;if(e.synthesize&&e.cdkAppPath){const h=await this.synthesizeBothBranches(e.cdkAppPath,t,e.outputPath);o=h.baseTemplatePath;n=h.targetTemplatePath;i=h.synthesisInfo}else{if(!e.baseTemplate||!e.targetTemplate){throw new Q.PipelineError("Either provide template paths or enable synthesis with cdkAppPath","configuration")}o=e.baseTemplate;n=e.targetTemplate}const h=e.region||t.synthesis?.context?.region||"eu-central-1";const p=await this.analyzeCosts(o,n,h,t);const D=this.thresholdEnforcer.evaluateThreshold(p.totalDelta,p.addedResources,p.modifiedResources,t.thresholds,e.environment);const T=this.buildConfigSummary(t,e);return{costAnalysis:p,thresholdStatus:D,synthesisInfo:i,configUsed:T}}catch(e){if(e instanceof Q.PipelineError){throw e}throw new Q.PipelineError(`Pipeline failed: ${e instanceof Error?e.message:String(e)}`,"unknown")}}async synthesizeBothBranches(e,t,o){const n=await this.synthesisOrchestrator.synthesize({cdkAppPath:e,outputPath:o||t.synthesis?.outputPath,context:t.synthesis?.context,customCommand:t.synthesis?.customCommand});if(!n.success){throw new Q.PipelineError(`CDK synthesis failed: ${n.error}`,"synthesis")}return{baseTemplatePath:n.templatePaths[0],targetTemplatePath:n.templatePaths[0],synthesisInfo:{baseStackCount:n.stackNames.length,targetStackCount:n.stackNames.length,baseSynthesisTime:n.duration,targetSynthesisTime:n.duration}}}async analyzeCosts(e,t,o,n){const i=new _.TemplateParser;const h=new T.DiffEngine;const Q=new O.PricingService(o,n.usageAssumptions,n.exclusions?.resourceTypes,n.cache);const D=new V.Reporter;const j=await p.readFile(e,"utf-8");const $=await p.readFile(t,"utf-8");const ee=i.parse(j);const te=i.parse($);const re=h.diff(ee,te);const se=await Q.getCostDelta(re,o);const oe=D.generateReport(se,"text");return{totalDelta:se.totalDelta,currency:se.currency,addedResources:se.addedCosts,removedResources:se.removedCosts,modifiedResources:se.modifiedCosts,summary:oe}}buildConfigSummary(e,t){const o={synthesisEnabled:!!t.synthesize};if(t.configPath){o.configPath=t.configPath}if(e.thresholds){const n=t.environment&&e.thresholds.environments?.[t.environment]?e.thresholds.environments[t.environment]:e.thresholds.default;if(n){o.thresholds={warning:n.warning,error:n.error,environment:t.environment}}}if(e.usageAssumptions){o.usageAssumptions=e.usageAssumptions}if(e.exclusions?.resourceTypes){o.excludedResourceTypes=e.exclusions.resourceTypes}return o}}t.PipelineOrchestrator=PipelineOrchestrator},1839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PipelineError=void 0;class PipelineError extends Error{stage;constructor(e,t){super(e);this.stage=t;this.name="PipelineError"}}t.PipelineError=PipelineError},2097:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.CacheManager=void 0;const p=h(o(9896));const Q=h(o(6928));class CacheManager{cacheDir;cacheDurationMs;metadata;metadataPath;constructor(e=".cdk-cost-analyzer-cache",t=24){this.cacheDir=e;this.cacheDurationMs=t*60*60*1e3;this.metadataPath=Q.join(this.cacheDir,"metadata.json");this.metadata={entries:{}};this.ensureCacheDirectory();this.loadMetadata()}getCachedPrice(e){const t=this.getCacheKey(e);const o=this.metadata.entries[t];if(!o){return null}const n=Date.now();const i=n-o.timestamp;if(i>this.cacheDurationMs){delete this.metadata.entries[t];this.saveMetadata();return null}return o.price}setCachedPrice(e,t){const o=this.getCacheKey(e);this.metadata.entries[o]={price:t,timestamp:Date.now()};this.saveMetadata()}hasFreshCache(e){return this.getCachedPrice(e)!==null}clearCache(){this.metadata={entries:{}};this.saveMetadata()}getCacheStats(){const e=Date.now();let t=0;let o=0;for(const n of Object.values(this.metadata.entries)){const i=e-n.timestamp;if(i<=this.cacheDurationMs){t++}else{o++}}return{totalEntries:Object.keys(this.metadata.entries).length,freshEntries:t,staleEntries:o}}pruneStaleEntries(){const e=Date.now();const t={};for(const[o,n]of Object.entries(this.metadata.entries)){const i=e-n.timestamp;if(i<=this.cacheDurationMs){t[o]=n}}this.metadata.entries=t;this.saveMetadata()}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}ensureCacheDirectory(){if(!p.existsSync(this.cacheDir)){p.mkdirSync(this.cacheDir,{recursive:true})}}loadMetadata(){try{if(p.existsSync(this.metadataPath)){const e=p.readFileSync(this.metadataPath,"utf-8");this.metadata=JSON.parse(e)}}catch(e){this.metadata={entries:{}}}}saveMetadata(){try{p.writeFileSync(this.metadataPath,JSON.stringify(this.metadata,null,2),"utf-8")}catch(e){console.warn(`Failed to save cache metadata: ${e instanceof Error?e.message:String(e)}`)}}}t.CacheManager=CacheManager},6003:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingClient=void 0;const n=o(4453);const i=o(9543);const h=o(7461);class PricingClient{cache=new Map;client;cacheManager;constructor(e="us-east-1",t,o){this.client=o||new n.PricingClient({region:e});this.cacheManager=t}destroy(){this.cache.clear();if(this.client&&typeof this.client.destroy==="function"){this.client.destroy()}}async getPrice(e){const t=this.getCacheKey(e);if(this.cache.has(t)){h.Logger.logCacheStatus(t,true,"memory");return this.cache.get(t)}if(this.cacheManager){const o=this.cacheManager.getCachedPrice(e);if(o!==null){h.Logger.logCacheStatus(t,true,"persistent");this.cache.set(t,o);return o}}h.Logger.logCacheStatus(t,false);try{const o=await this.fetchPriceWithRetry(e);if(o!==null){this.cache.set(t,o);if(this.cacheManager){this.cacheManager.setCachedPrice(e,o)}}return o}catch(o){h.Logger.logPricingFailure(e.serviceCode,e.region,o instanceof Error?o.message:String(o));if(this.cache.has(t)){return this.cache.get(t)}if(this.cacheManager){const t=this.cacheManager.getCachedPrice(e);if(t!==null){return t}}return null}}async fetchPriceWithRetry(e,t=3){let o=null;for(let n=0;n<t;n++){try{return await this.fetchPrice(e)}catch(e){o=e;if(n<t-1){const e=Math.pow(2,n)*1e3;await new Promise((t=>setTimeout(t,e)))}}}throw new i.PricingAPIError(`Failed to fetch pricing after ${t} attempts: ${o?.message}`,false)}async fetchPrice(e){const t=e.filters.map((e=>({Type:e.type||"TERM_MATCH",Field:e.field,Value:e.value})));h.Logger.logPricingQuery(e.serviceCode,e.region,e.filters);const o=new n.GetProductsCommand({ServiceCode:e.serviceCode,Filters:t,MaxResults:1});const i=await this.client.send(o);if(!i.PriceList||i.PriceList.length===0){h.Logger.logPricingResponse(e.serviceCode,e.region,null);h.Logger.logPricingFailure(e.serviceCode,e.region,"No products found matching the specified filters");return null}const p=JSON.parse(i.PriceList[0]);const Q=p?.terms?.OnDemand;if(!Q){h.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No OnDemand terms found"});return null}const D=Object.keys(Q)[0];const T=Q[D]?.priceDimensions;if(!T){h.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No price dimensions found"});return null}const _=Object.keys(T)[0];const O=T[_]?.pricePerUnit?.USD;if(!O){h.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No USD price found"});return null}const V=parseFloat(O);h.Logger.logPricingResponse(e.serviceCode,e.region,V,{product:p?.product,termKey:D,dimensionKey:_,unit:T[_]?.unit,description:T[_]?.description});return V}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}}t.PricingClient=PricingClient},9345:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingService=void 0;const n=o(2097);const i=o(6357);const h=o(3220);const p=o(2325);const Q=o(9838);const D=o(4530);const T=o(2970);const _=o(2665);const O=o(8900);const V=o(2564);const j=o(7653);const $=o(231);const ee=o(1597);const te=o(8680);const re=o(779);const se=o(4872);const oe=o(7822);const ne=o(7346);const ie=o(2697);const Ae=o(5099);const ae=o(7278);const ce=o(6003);class PricingService{calculators;pricingClient;excludedResourceTypes;constructor(e="us-east-1",t,o,le,ue){if(ue){this.pricingClient=ue}else{let t;if(le?.enabled!==false){const e=le?.durationHours??24;t=new n.CacheManager(".cdk-cost-analyzer-cache",e)}this.pricingClient=new ce.PricingClient(e,t)}this.excludedResourceTypes=new Set(o||[]);const ge=t?{usageAssumptions:t}:undefined;this.calculators=[new T.EC2Calculator,new se.S3Calculator,new j.LambdaCalculator(t?.lambda?.invocationsPerMonth,t?.lambda?.averageDurationMs),new re.RDSCalculator,new D.DynamoDBCalculator(ge),new _.ECSCalculator,new h.APIGatewayCalculator,new ee.NatGatewayCalculator(t?.natGateway?.dataProcessedGB),new i.ALBCalculator(t?.alb?.newConnectionsPerSecond,t?.alb?.activeConnectionsPerMinute,t?.alb?.processedBytesGB),new te.NLBCalculator(t?.nlb?.newConnectionsPerSecond,t?.nlb?.activeConnectionsPerMinute,t?.nlb?.processedBytesGB),new ae.VPCEndpointCalculator(t?.vpcEndpoint?.dataProcessedGB),new Q.CloudFrontCalculator(t?.cloudfront?.dataTransferGB,t?.cloudfront?.requests),new V.ElastiCacheCalculator,new p.AutoScalingGroupCalculator,new $.LaunchTemplateCalculator,new O.EFSCalculator(t?.efs?.storageSizeGb,t?.efs?.infrequentAccessPercentage),new ne.SNSCalculator(t?.sns?.monthlyPublishes,t?.sns?.httpDeliveries,t?.sns?.emailDeliveries,t?.sns?.smsDeliveries,t?.sns?.mobilePushDeliveries),new ie.SQSCalculator(ge),new Ae.StepFunctionsCalculator(t?.stepFunctions?.monthlyExecutions,t?.stepFunctions?.stateTransitionsPerExecution,t?.stepFunctions?.averageDurationMs),new oe.SecretsManagerCalculator(t?.secretsManager?.monthlyApiCalls)]}async getResourceCost(e,t,o){if(this.excludedResourceTypes.has(e.type)){return{amount:0,currency:"USD",confidence:"high",assumptions:[`Resource type ${e.type} is excluded from cost analysis`]}}const n=this.calculators.find((t=>{if(t.canCalculate){return t.canCalculate(e)}return t.supports(e.type)}));if(!n){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Resource type ${e.type} is not supported`]}}try{return await n.calculateCost(e,t,this.pricingClient,o)}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate cost: ${e instanceof Error?e.message:String(e)}`]}}}async getCostDelta(e,t){const o=e.added.filter((e=>!this.excludedResourceTypes.has(e.type)));const n=e.removed.filter((e=>!this.excludedResourceTypes.has(e.type)));const i=e.modified.filter((e=>!this.excludedResourceTypes.has(e.type)));const h=[...e.added,...e.removed,...e.modified.map((e=>({logicalId:e.logicalId,type:e.type,properties:e.newProperties})))];const p=await Promise.all(o.map((async e=>{const o=await this.getResourceCost(e,t,h);return{logicalId:e.logicalId,type:e.type,monthlyCost:o}})));const Q=await Promise.all(n.map((async e=>{const o=await this.getResourceCost(e,t,h);return{logicalId:e.logicalId,type:e.type,monthlyCost:o}})));const D=await Promise.all(i.map((async e=>{const o={logicalId:e.logicalId,type:e.type,properties:e.oldProperties};const n={logicalId:e.logicalId,type:e.type,properties:e.newProperties};const i=await this.getResourceCost(o,t,h);const p=await this.getResourceCost(n,t,h);const Q=p.amount-i.amount;return{logicalId:e.logicalId,type:e.type,monthlyCost:p,oldMonthlyCost:i,newMonthlyCost:p,costDelta:Q}})));const T=p.reduce(((e,t)=>e+t.monthlyCost.amount),0);const _=Q.reduce(((e,t)=>e+t.monthlyCost.amount),0);const O=D.reduce(((e,t)=>e+t.costDelta),0);const V=T-_+O;return{totalDelta:V,currency:"USD",addedCosts:p,removedCosts:Q,modifiedCosts:D}}destroy(){this.pricingClient.destroy()}}t.PricingService=PricingService},7973:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.normalizeRegion=normalizeRegion;t.getRegionPrefix=getRegionPrefix;const n=o(7461);const i={"us-east-1":"US East (N. Virginia)","us-east-2":"US East (Ohio)","us-west-1":"US West (N. California)","us-west-2":"US West (Oregon)","eu-west-1":"EU (Ireland)","eu-west-2":"EU (London)","eu-west-3":"EU (Paris)","eu-central-1":"EU (Frankfurt)","eu-central-2":"EU (Zurich)","eu-north-1":"EU (Stockholm)","eu-south-1":"EU (Milan)","eu-south-2":"EU (Spain)","ap-south-1":"Asia Pacific (Mumbai)","ap-south-2":"Asia Pacific (Hyderabad)","ap-southeast-1":"Asia Pacific (Singapore)","ap-southeast-2":"Asia Pacific (Sydney)","ap-southeast-3":"Asia Pacific (Jakarta)","ap-southeast-4":"Asia Pacific (Melbourne)","ap-southeast-5":"Asia Pacific (Malaysia)","ap-northeast-1":"Asia Pacific (Tokyo)","ap-northeast-2":"Asia Pacific (Seoul)","ap-northeast-3":"Asia Pacific (Osaka)","ap-east-1":"Asia Pacific (Hong Kong)","ca-central-1":"Canada (Central)","ca-west-1":"Canada West (Calgary)","sa-east-1":"South America (Sao Paulo)","me-south-1":"Middle East (Bahrain)","me-central-1":"Middle East (UAE)","af-south-1":"Africa (Cape Town)","il-central-1":"Israel (Tel Aviv)","us-gov-west-1":"AWS GovCloud (US-West)","us-gov-east-1":"AWS GovCloud (US-East)","eu-isoe-west-1":"EU ISOE West"};const h={"us-east-1":"USE1","us-east-2":"USE2","us-west-1":"USW1","us-west-2":"USW2","eu-west-1":"EUW1","eu-west-2":"EUW2","eu-west-3":"EUW3","eu-central-1":"EUC1","eu-central-2":"EUC2","eu-north-1":"EUN1","eu-south-1":"EUS1","eu-south-2":"EUS2","ap-south-1":"APS1","ap-south-2":"APS2","ap-southeast-1":"APS3","ap-southeast-2":"APS4","ap-southeast-3":"APS5","ap-southeast-4":"APS6","ap-southeast-5":"APS7","ap-northeast-1":"APN1","ap-northeast-2":"APN2","ap-northeast-3":"APN3","ap-east-1":"APE1","ca-central-1":"CAN1","ca-west-1":"CAW1","sa-east-1":"SAE1","me-south-1":"MES1","me-central-1":"MEC1","af-south-1":"AFS1","il-central-1":"ILC1","us-gov-west-1":"UGW1","us-gov-east-1":"UGE1","eu-isoe-west-1":"EIW1"};function normalizeRegion(e){const t=i[e]||e;n.Logger.logRegionNormalization(e,t);return t}function getRegionPrefix(e){return h[e]||""}},6357:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ALBCalculator=void 0;const n=o(7973);class ALBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,o){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=o}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="application"}async calculateCost(e,t,o){const i=e.properties?.Type;if(i&&i!=="application"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Application Load Balancers"]}}try{const e=(0,n.getRegionPrefix)(t);const i=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const h=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LCUUsage`}]});const p=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const Q=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const D=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;if(i===null||h===null){const e=p/25;const o=Q/3e3;const n=D/this.HOURS_PER_MONTH;const i=n;const h=Math.max(e,o,i);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Application Load Balancer in region ${t}`,`Would use LCU consumption: ${h.toFixed(2)} LCU/hour based on:`,` - New connections: ${p}/sec → ${e.toFixed(2)} LCU`,` - Active connections: ${Q}/min → ${o.toFixed(2)} LCU`,` - Processed data: ${D} GB/month → ${i.toFixed(2)} LCU`]}}const T=p/25;const _=Q/3e3;const O=D/this.HOURS_PER_MONTH;const V=O;const j=Math.max(T,_,V);const $=i*this.HOURS_PER_MONTH;const ee=h*j*this.HOURS_PER_MONTH;const te=$+ee;return{amount:te,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${$.toFixed(2)}/month`,`LCU consumption: ${j.toFixed(2)} LCU/hour based on:`,` - New connections: ${p}/sec → ${T.toFixed(2)} LCU`,` - Active connections: ${Q}/min → ${_.toFixed(2)} LCU`,` - Processed data: ${D} GB/month → ${V.toFixed(2)} LCU`,`LCU cost: $${h.toFixed(4)}/LCU/hour × ${j.toFixed(2)} LCU × ${this.HOURS_PER_MONTH} hours = $${ee.toFixed(2)}/month`,`Total: $${te.toFixed(2)}/month`]}}catch(e){const t=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const o=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const n=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const i=t/25;const h=o/3e3;const p=n/this.HOURS_PER_MONTH;const Q=p;const D=Math.max(i,h,Q);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would use LCU consumption: ${D.toFixed(2)} LCU/hour based on:`,` - New connections: ${t}/sec → ${i.toFixed(2)} LCU`,` - Active connections: ${o}/min → ${h.toFixed(2)} LCU`,` - Processed data: ${n} GB/month → ${Q.toFixed(2)} LCU`]}}}}t.ALBCalculator=ALBCalculator},3220:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.APIGatewayCalculator=void 0;const n=o(7973);class APIGatewayCalculator{supports(e){return e==="AWS::ApiGateway::RestApi"||e==="AWS::ApiGatewayV2::Api"}async calculateCost(e,t,o){const n=e.type==="AWS::ApiGatewayV2::Api";const i=n?e.properties.ProtocolType:"REST";if(i==="WEBSOCKET"){return this.calculateWebSocketCost(t,o)}else if(i==="HTTP"){return this.calculateHttpApiCost(t,o)}else{return this.calculateRestApiCost(t,o)}}async calculateRestApiCost(e,t){try{const o=1e6;const i=(0,n.getRegionPrefix)(e);const h=i?`${i}-ApiGatewayRequest`:"ApiGatewayRequest";const p=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:h}]});if(p===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway REST API"]}}const Q=o/1e6*p;return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`Assumes ${o.toLocaleString()} REST API requests per month`,"REST API type","Does not include data transfer, caching, or other features","First 333M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateHttpApiCost(e,t){try{const o=1e6;const i=(0,n.getRegionPrefix)(e);const h=i?`${i}-ApiGatewayHttpRequest`:"ApiGatewayHttpRequest";const p=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:h}]});if(p===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway HTTP API"]}}const Q=o/1e6*p;return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`Assumes ${o.toLocaleString()} HTTP API requests per month`,"HTTP API type","Does not include data transfer costs","First 300M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateWebSocketCost(e,t){try{const o=1e6;const i=1e5;const h=(0,n.getRegionPrefix)(e);const p=h?`${h}-ApiGatewayMessage`:"ApiGatewayMessage";const Q=h?`${h}-ApiGatewayMinute`:"ApiGatewayMinute";const D=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:p}]});const T=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:Q}]});if(D===null||T===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway WebSocket API"]}}const _=o/1e6*D;const O=i*T;const V=_+O;return{amount:V,currency:"USD",confidence:"medium",assumptions:[`Assumes ${o.toLocaleString()} WebSocket messages per month`,`Assumes ${i.toLocaleString()} connection minutes per month`,"WebSocket API type","Does not include data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.APIGatewayCalculator=APIGatewayCalculator},2325:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AutoScalingGroupCalculator=void 0;const n=o(7973);class AutoScalingGroupCalculator{supports(e){return e==="AWS::AutoScaling::AutoScalingGroup"}async calculateCost(e,t,o,i){const h=Number(e.properties.DesiredCapacity)||1;const p=this.resolveInstanceType(e,i);if(!p){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Could not determine instance type from LaunchConfiguration or LaunchTemplate"]}}try{const e=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:p},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${p} in region ${t}`]}}const i=730;const Q=e*i*h;return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`${h} instance(s) of type ${p}`,`Assumes ${i} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing","Does not include EBS volumes or data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}resolveInstanceType(e,t){const o=e.properties.LaunchConfigurationName;if(o){const e=this.resolveReference(o,t);if(e&&e.type==="AWS::AutoScaling::LaunchConfiguration"){const t=e.properties.InstanceType;if(t)return t}}const n=e.properties.LaunchTemplate;if(n){const e=this.resolveInstanceTypeFromLaunchTemplate(n,t);if(e)return e}const i=e.properties.MixedInstancesPolicy;if(i){const e=i.LaunchTemplate;if(e){const o=e.LaunchTemplateSpecification;if(o){const e=this.resolveInstanceTypeFromLaunchTemplate(o,t);if(e)return e}}}return null}resolveInstanceTypeFromLaunchTemplate(e,t){const o=e.LaunchTemplateId||e.LaunchTemplateName;if(!o)return null;const n=this.resolveReference(o,t);if(n&&n.type==="AWS::EC2::LaunchTemplate"){const e=n.properties.LaunchTemplateData;if(e){return e.InstanceType||null}}return null}resolveReference(e,t){if(!t)return null;if(typeof e==="object"&&e!==null&&"Ref"in e){const o=e.Ref;return t.find((e=>e.logicalId===o))||null}if(typeof e==="string"){return t.find((t=>t.logicalId===e))||null}return null}}t.AutoScalingGroupCalculator=AutoScalingGroupCalculator},9838:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CloudFrontCalculator=void 0;const n=o(7973);class CloudFrontCalculator{dataTransferGB;requests;DEFAULT_DATA_TRANSFER_GB=100;DEFAULT_REQUESTS=1e6;constructor(e,t){this.dataTransferGB=e;this.requests=t}supports(e){return e==="AWS::CloudFront::Distribution"}async calculateCost(e,t,o){const i=this.dataTransferGB??this.DEFAULT_DATA_TRANSFER_GB;const h=this.requests??this.DEFAULT_REQUESTS;try{const e=await o.getPrice({serviceCode:"AmazonCloudFront",region:(0,n.normalizeRegion)(t),filters:[{field:"transferType",value:"CloudFront to Internet"}]});const p=await o.getPrice({serviceCode:"AmazonCloudFront",region:(0,n.normalizeRegion)(t),filters:[{field:"requestType",value:"HTTP-Requests"}]});if(e===null||p===null){const e=[`Pricing data not available for CloudFront in region ${t}`,`Would assume ${i} GB of data transfer out to internet`,`Would assume ${h.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){e.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){e.push(`Using custom request count assumption: ${h.toLocaleString()} requests from configuration`)}return{amount:0,currency:"USD",confidence:"unknown",assumptions:e}}const Q=i*e;const D=h/1e4*p;const T=Q+D;const _=[`Assumes ${i} GB of data transfer out to internet`,`Assumes ${h.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){_.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){_.push(`Using custom request count assumption: ${h.toLocaleString()} requests from configuration`)}return{amount:T,currency:"USD",confidence:"medium",assumptions:_}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudFrontCalculator=CloudFrontCalculator},4530:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DynamoDBCalculator=void 0;const n=o(7973);class DynamoDBCalculator{config;constructor(e){this.config=e}supports(e){return e==="AWS::DynamoDB::Table"}async calculateCost(e,t,o){const n=e.properties.BillingMode||"PROVISIONED";const i=e.properties.ProvisionedThroughput!==undefined;if(i||n==="PROVISIONED"){return this.calculateProvisionedCost(e,t,o)}else{return this.calculateOnDemandCost(e,t,o)}}getUsageAssumptions(){return{readRequests:this.config?.usageAssumptions?.dynamodb?.readRequestsPerMonth??1e7,writeRequests:this.config?.usageAssumptions?.dynamodb?.writeRequestsPerMonth??1e6}}async calculateOnDemandCost(e,t,o){try{const{readRequests:e,writeRequests:i}=this.getUsageAssumptions();const h=(0,n.normalizeRegion)(t);const p=await o.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-ReadUnits",type:"TERM_MATCH"}]});const Q=await o.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-WriteUnits",type:"TERM_MATCH"}]});if(p===null||Q===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB on-demand mode","On-demand billing mode"]}}const D=e*p;const T=i*Q;const _=D+T;return{amount:_,currency:"USD",confidence:"medium",assumptions:[`Assumes ${e.toLocaleString()} read requests per month`,`Assumes ${i.toLocaleString()} write requests per month`,"On-demand billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"On-demand billing mode"]}}}async calculateProvisionedCost(e,t,o){try{const i=e.properties.ProvisionedThroughput;const h=i?.ReadCapacityUnits||5;const p=i?.WriteCapacityUnits||5;const Q=(0,n.normalizeRegion)(t);const D=await o.getPrice({serviceCode:"AmazonDynamoDB",region:Q,filters:[{field:"usagetype",value:`${t}-ReadCapacityUnit-Hrs`,type:"TERM_MATCH"}]});const T=await o.getPrice({serviceCode:"AmazonDynamoDB",region:Q,filters:[{field:"usagetype",value:`${t}-WriteCapacityUnit-Hrs`,type:"TERM_MATCH"}]});if(D===null||T===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB provisioned mode","Provisioned billing mode"]}}const _=730;const O=h*_*D;const V=p*_*T;const j=O+V;return{amount:j,currency:"USD",confidence:"high",assumptions:[`${h} provisioned read capacity units`,`${p} provisioned write capacity units`,`Assumes ${_} hours per month (24/7 operation)`,"Provisioned billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"Provisioned billing mode"]}}}}t.DynamoDBCalculator=DynamoDBCalculator},2970:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EC2Calculator=void 0;const n=o(7973);class EC2Calculator{supports(e){return e==="AWS::EC2::Instance"}async calculateCost(e,t,o){const i=e.properties.InstanceType;if(!i){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Instance type not specified"]}}try{const e=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${i} in region ${t}`]}}const h=730;const p=e*h;return{amount:p,currency:"USD",confidence:"high",assumptions:[`Assumes ${h} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EC2Calculator=EC2Calculator},2665:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ECSCalculator=void 0;const n=o(7973);class ECSCalculator{supports(e){return e==="AWS::ECS::Service"}async calculateCost(e,t,o){const n=e.properties.DesiredCount||1;const i=e.properties.LaunchType||"FARGATE";if(i==="FARGATE"){return this.calculateFargateCost(e,n,t,o)}else if(i==="EC2"){return this.calculateEC2Cost(n)}else{return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported launch type: ${i}`]}}}async calculateFargateCost(e,t,o,i){try{const e=.25;const h=.5;const p=(0,n.getRegionPrefix)(o);if(!p){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Region prefix not found for ${o}`,"Unable to query Fargate pricing"]}}const Q=await i.getPrice({serviceCode:"AmazonECS",region:(0,n.normalizeRegion)(o),filters:[{field:"productFamily",value:"Compute"},{field:"usagetype",value:`${p}-Fargate-vCPU-Hours:perCPU`}]});const D=await i.getPrice({serviceCode:"AmazonECS",region:(0,n.normalizeRegion)(o),filters:[{field:"usagetype",value:`${p}-Fargate-GB-Hours`}]});if(Q===null||D===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for ECS Fargate"]}}const T=730;const _=e*Q*T*t;const O=h*D*T*t;const V=_+O;return{amount:V,currency:"USD",confidence:"medium",assumptions:[`${t} task(s) running`,`Assumes ${e} vCPU per task`,`Assumes ${h} GB memory per task`,`Assumes ${T} hours per month (24/7 operation)`,"Fargate launch type","Does not include data transfer or storage costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}calculateEC2Cost(e){return{amount:0,currency:"USD",confidence:"low",assumptions:[`${e} task(s) running on EC2 launch type`,"EC2 launch type costs depend on underlying EC2 instances","Refer to EC2 instance costs for actual pricing","Does not include ECS task-specific costs (minimal for EC2 launch type)"]}}}t.ECSCalculator=ECSCalculator},8900:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EFSCalculator=void 0;const n=o(7973);const i=o(7461);class EFSCalculator{customStorageSizeGb;customInfrequentAccessPercentage;DEFAULT_STORAGE_SIZE_GB=100;DEFAULT_IA_PERCENTAGE=0;FALLBACK_STANDARD_PRICE=.3;FALLBACK_IA_STORAGE_PRICE=.016;FALLBACK_IA_REQUEST_PRICE=.01;FALLBACK_PROVISIONED_THROUGHPUT_PRICE=6;constructor(e,t){this.customStorageSizeGb=e;this.customInfrequentAccessPercentage=t}supports(e){return e==="AWS::EFS::FileSystem"}async calculateCost(e,t,o){try{if(!e.properties){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Resource properties are undefined"]}}const h=(0,n.getRegionPrefix)(t);const p=this.customStorageSizeGb??this.DEFAULT_STORAGE_SIZE_GB;const Q=this.customInfrequentAccessPercentage??this.DEFAULT_IA_PERCENTAGE;i.Logger.debug("EFS pricing calculation started",{region:t,regionPrefix:h,normalizedRegion:(0,n.normalizeRegion)(t),storageSizeGb:p,iaPercentage:Q});const D=e.properties?.LifecyclePolicies;const T=D?.some((e=>e.TransitionToIA!==undefined))??false;const _=e.properties?.ThroughputMode;const O=e.properties?.ProvisionedThroughputInMibps;const V=_==="provisioned"&&O!==undefined;const j=T?Q:0;const $=p*(1-j/100);const ee=p*(j/100);const te=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${h}-TimedStorage-ByteHrs`}]});i.Logger.debug("EFS Standard storage price retrieved",{standardStoragePrice:te,usageType:`${h}-TimedStorage-ByteHrs`});let re=null;let se=null;if(T&&Q>0){re=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${h}-IATimedStorage-ByteHrs`}]});se=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${h}-IARequests-Bytes`}]});i.Logger.debug("EFS IA storage prices retrieved",{iaStoragePrice:re,iaRequestPrice:se})}let oe=null;if(V){oe=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Provisioned Throughput"},{field:"usagetype",value:`${h}-ProvisionedTP-MiBpsHrs`}]});i.Logger.debug("EFS Provisioned Throughput price retrieved",{provisionedThroughputPrice:oe,usageType:`${h}-ProvisionedTP-MiBpsHrs`})}const ne=[];let ie=0;let Ae="medium";const ae=te??this.FALLBACK_STANDARD_PRICE;const ce=$*ae;if(te===null){ne.push("Using fallback Standard storage pricing (API unavailable)");Ae="low"}ie+=ce;ne.push(`Standard storage: ${$.toFixed(2)} GB × $${ae.toFixed(4)}/GB = $${ce.toFixed(2)}/month`);if(T&&Q>0){const e=re??this.FALLBACK_IA_STORAGE_PRICE;const t=ee*e;if(re===null){ne.push("Using fallback Infrequent Access storage pricing (API unavailable)");Ae="low"}ie+=t;ne.push(`Infrequent Access storage: ${ee.toFixed(2)} GB × $${e.toFixed(4)}/GB = $${t.toFixed(2)}/month`);const o=ee*.1;const n=se??this.FALLBACK_IA_REQUEST_PRICE;const i=o*n;if(se===null&&Q>0){ne.push("Using fallback Infrequent Access request pricing (API unavailable)");Ae="low"}ie+=i;ne.push(`IA requests (estimated 10% access): ${o.toFixed(2)} GB × $${n.toFixed(4)}/GB = $${i.toFixed(2)}/month`)}if(V&&O!==undefined){const e=oe??this.FALLBACK_PROVISIONED_THROUGHPUT_PRICE;const t=O*e;if(oe===null){ne.push("Using fallback Provisioned Throughput pricing (API unavailable)");Ae="low"}ie+=t;ne.push(`Provisioned Throughput: ${O} MB/s × $${e.toFixed(2)}/MB/s = $${t.toFixed(2)}/month`)}ne.push(`Total storage: ${p} GB`);if(this.customStorageSizeGb!==undefined){ne.push("Using custom storage size assumption from configuration")}if(T){ne.push(`Lifecycle policy detected: ${j}% in Infrequent Access`);if(this.customInfrequentAccessPercentage!==undefined){ne.push("Using custom IA percentage assumption from configuration")}}if(_){ne.push(`Throughput mode: ${_}`)}ne.push(`Total: $${ie.toFixed(2)}/month`);i.Logger.debug("EFS cost calculated",{standardStorageCost:ce,totalCost:ie,confidence:Ae});return{amount:ie,currency:"USD",confidence:Ae,assumptions:ne}}catch(e){i.Logger.debug("EFS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EFSCalculator=EFSCalculator},2564:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElastiCacheCalculator=void 0;const n=o(7973);class ElastiCacheCalculator{supports(e){return e==="AWS::ElastiCache::CacheCluster"}async calculateCost(e,t,o){const i=e.properties.CacheNodeType;const h=e.properties.Engine;const p=e.properties.NumCacheNodes||1;const Q=e.properties.AZMode;if(!i||!h){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Cache node type or engine not specified"]}}try{const e=await o.getPrice({serviceCode:"AmazonElastiCache",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"cacheEngine",value:this.normalizeEngine(h)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for node type ${i} with engine ${h} in region ${t}`]}}const D=730;const T=e*D;let _=T*p;const O=[`Assumes ${D} hours per month (24/7 operation)`,`Node type: ${i}`,`Engine: ${h}`,`Number of cache nodes: ${p}`,`Per-node monthly cost: $${T.toFixed(2)}`];if(Q==="cross-az"){_*=2;O.push("Multi-AZ deployment with replica nodes (cost doubled)")}else{O.push("Single-AZ deployment")}return{amount:_,currency:"USD",confidence:"high",assumptions:O}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={redis:"Redis",memcached:"Memcached"};return t[e.toLowerCase()]||e}}t.ElastiCacheCalculator=ElastiCacheCalculator},7653:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LambdaCalculator=void 0;const n=o(7973);class LambdaCalculator{customInvocationsPerMonth;customAverageDurationMs;DEFAULT_INVOCATIONS=1e6;DEFAULT_DURATION_MS=1e3;DEFAULT_MEMORY_MB=128;FALLBACK_REQUEST_PRICE=.2;FALLBACK_COMPUTE_PRICE=166667e-10;constructor(e,t){this.customInvocationsPerMonth=e;this.customAverageDurationMs=t}supports(e){return e==="AWS::Lambda::Function"}async calculateCost(e,t,o){const i=e.properties.MemorySize||this.DEFAULT_MEMORY_MB;const h=this.customInvocationsPerMonth??this.DEFAULT_INVOCATIONS;const p=this.customAverageDurationMs??this.DEFAULT_DURATION_MS;try{const e=await o.getPrice({serviceCode:"AWSLambda",region:(0,n.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Requests"}]});const Q=await o.getPrice({serviceCode:"AWSLambda",region:(0,n.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Duration"}]});const D=[`Assumes ${h.toLocaleString()} invocations per month`,`Assumes ${p}ms average execution time`,`Assumes ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){D.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){D.push("Using custom duration assumption from configuration")}if(e===null||Q===null){const o=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(o){const t=e??this.FALLBACK_REQUEST_PRICE;const o=Q??this.FALLBACK_COMPUTE_PRICE;const n=h/1e6*t;const T=i/1024*(p/1e3)*h;const _=T*o;const O=n+_;return{amount:O,currency:"USD",confidence:"low",assumptions:[e===null?"Using fallback request pricing (API unavailable)":"",Q===null?"Using fallback compute pricing (API unavailable)":"",...D].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Lambda in region ${t}`,...D]}}const T=h/1e6*e;const _=i/1024*(p/1e3)*h;const O=_*Q;const V=T+O;return{amount:V,currency:"USD",confidence:"medium",assumptions:D}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would assume ${h.toLocaleString()} invocations per month`,`Would assume ${p}ms average execution time`,`Would assume ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){t.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){t.push("Using custom duration assumption from configuration")}const o=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(o){const e=h/1e6*this.FALLBACK_REQUEST_PRICE;const o=i/1024*(p/1e3)*h;const n=o*this.FALLBACK_COMPUTE_PRICE;const Q=e+n;return{amount:Q,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}}t.LambdaCalculator=LambdaCalculator},231:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LaunchTemplateCalculator=void 0;const n=o(7973);class LaunchTemplateCalculator{static DEFAULT_VOLUME_SIZE_GB=8;static DEFAULT_VOLUME_TYPE="gp3";static MONTHLY_HOURS=730;supports(e){return e==="AWS::EC2::LaunchTemplate"}async calculateCost(e,t,o){const n=this.extractConfig(e);if(!n.instanceType){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["LaunchTemplate does not specify an instance type","LaunchTemplates have no direct cost; costs are incurred when instances are launched"]}}try{const e=await this.calculateInstanceCost(n.instanceType,t,o);if(e===0){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${n.instanceType} in region ${t}`]}}const i=await this.calculateStorageCost(n.ebsVolumes,t,o);const h=e+i;const p=["LaunchTemplates have no direct cost; this represents per-instance cost when used",`Instance type: ${n.instanceType}`,`Assumes ${LaunchTemplateCalculator.MONTHLY_HOURS} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"];if(n.ebsVolumes.length>0){const e=n.ebsVolumes.map((e=>`${e.deviceName}: ${e.volumeSizeGB}GB ${e.volumeType}`));p.push(`EBS volumes: ${e.join(", ")}`)}const Q=n.ebsVolumes.some((e=>(e.volumeType==="io1"||e.volumeType==="io2")&&e.iops));if(Q){p.push("Provisioned IOPS costs for io1/io2 volumes are not included")}const D=n.ebsVolumes.some((e=>e.volumeType==="gp3"&&e.throughput&&e.throughput>125));if(D){p.push("Additional throughput costs for gp3 volumes are not included")}if(n.imageId){p.push(`AMI: ${n.imageId}`)}return{amount:h,currency:"USD",confidence:"low",assumptions:p}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}extractConfig(e){const t=e.properties.LaunchTemplateData;if(!t){return{instanceType:null,imageId:null,ebsVolumes:[]}}const o=t.InstanceType||null;const n=t.ImageId||null;const i=this.extractEbsVolumes(t);return{instanceType:o,imageId:n,ebsVolumes:i}}extractEbsVolumes(e){const t=e.BlockDeviceMappings;if(!t||!Array.isArray(t)){return[]}return t.filter((e=>e.Ebs!==undefined)).map((e=>{const t=e.Ebs;return{deviceName:e.DeviceName||"/dev/xvda",volumeType:t.VolumeType||LaunchTemplateCalculator.DEFAULT_VOLUME_TYPE,volumeSizeGB:t.VolumeSize||LaunchTemplateCalculator.DEFAULT_VOLUME_SIZE_GB,iops:t.Iops,throughput:t.Throughput,deleteOnTermination:t.DeleteOnTermination??true}}))}async calculateInstanceCost(e,t,o){const i=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:e},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(i===null){return 0}return i*LaunchTemplateCalculator.MONTHLY_HOURS}async calculateStorageCost(e,t,o){if(e.length===0){return 0}let i=0;for(const h of e){const e=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"volumeApiName",value:h.volumeType.toLowerCase()}]});if(e!==null){i+=e*h.volumeSizeGB}}return i}}t.LaunchTemplateCalculator=LaunchTemplateCalculator},8680:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NLBCalculator=void 0;const n=o(7973);class NLBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,o){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=o}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="network"}async calculateCost(e,t,o){const i=e.properties?.Type;if(i&&i!=="network"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Network Load Balancers"]}}try{const e=(0,n.getRegionPrefix)(t);const i=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const h=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LCUUsage`}]});if(i===null||h===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Network Load Balancer in region ${t}`]}}const p=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const Q=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const D=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const T=p/800;const _=Q/1e5;const O=D/this.HOURS_PER_MONTH;const V=O;const j=Math.max(T,_,V);const $=i*this.HOURS_PER_MONTH;const ee=h*j*this.HOURS_PER_MONTH;const te=$+ee;return{amount:te,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${$.toFixed(2)}/month`,`NLCU consumption: ${j.toFixed(2)} NLCU/hour based on:`,` - New connections: ${p}/sec → ${T.toFixed(2)} NLCU`,` - Active connections: ${Q}/min → ${_.toFixed(2)} NLCU`,` - Processed data: ${D} GB/month → ${V.toFixed(2)} NLCU`,`NLCU cost: $${h.toFixed(4)}/NLCU/hour × ${j.toFixed(2)} NLCU × ${this.HOURS_PER_MONTH} hours = $${ee.toFixed(2)}/month`,`Total: $${te.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NLBCalculator=NLBCalculator},1597:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NatGatewayCalculator=void 0;const n=o(7973);const i=o(7461);class NatGatewayCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::NatGateway"}async calculateCost(e,t,o){try{const e=(0,n.getRegionPrefix)(t);i.Logger.debug("NAT Gateway pricing calculation started",{region:t,regionPrefix:e,normalizedRegion:(0,n.normalizeRegion)(t),dataProcessedGB:this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB});const h=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Hours`}]});i.Logger.debug("NAT Gateway hourly rate retrieved",{hourlyRate:h,usageType:`${e}-RegionalNatGateway-Hours`});const p=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Bytes`}]});i.Logger.debug("NAT Gateway data processing rate retrieved",{dataProcessingRate:p,usageType:`${e}-RegionalNatGateway-Bytes`});if(h===null||p===null){const o=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const n=[`Pricing data not available for NAT Gateway in region ${t}`,`Would assume ${o} GB of data processing per month`,`Would assume ${this.HOURS_PER_MONTH} hours per month`];if(this.customDataProcessedGB!==undefined){n.push("Using custom data processing assumption from configuration")}i.Logger.debug("NAT Gateway pricing not available",{region:t,regionPrefix:e,hourlyRateAvailable:h!==null,dataProcessingRateAvailable:p!==null});return{amount:0,currency:"USD",confidence:"unknown",assumptions:n}}const Q=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const D=h*this.HOURS_PER_MONTH;const T=p*Q;const _=D+T;i.Logger.debug("NAT Gateway cost calculated",{hourlyRate:h,dataProcessingRate:p,dataProcessedGB:Q,hourlyCost:D,dataProcessingCost:T,totalCost:_});return{amount:_,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${h.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${D.toFixed(2)}/month`,`Data processing: $${p.toFixed(4)}/GB × ${Q} GB = $${T.toFixed(2)}/month`,`Total: $${_.toFixed(2)}/month`]}}catch(e){i.Logger.debug("NAT Gateway pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NatGatewayCalculator=NatGatewayCalculator},779:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RDSCalculator=void 0;const n=o(7973);class RDSCalculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::RDS::DBInstance"}async calculateCost(e,t,o){const i=e.properties.DBInstanceClass;const h=e.properties.Engine;if(!i||!h){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["DB instance class or engine not specified"]}}try{const e=await o.getPrice({serviceCode:"AmazonRDS",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"databaseEngine",value:this.normalizeEngine(h)},{field:"deploymentOption",value:"Single-AZ"}]});const p=await o.getPrice({serviceCode:"AmazonRDS",region:(0,n.normalizeRegion)(t),filters:[{field:"volumeType",value:"General Purpose"},{field:"databaseEngine",value:this.normalizeEngine(h)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance class ${i} in region ${t}`]}}const Q=730;const D=e*Q;const T=(p||0)*this.DEFAULT_STORAGE_GB;const _=D+T;return{amount:_,currency:"USD",confidence:"high",assumptions:[`Assumes ${Q} hours per month (24/7 operation)`,`Assumes ${this.DEFAULT_STORAGE_GB} GB of General Purpose (gp2) storage`,"Assumes Single-AZ deployment"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={mysql:"MySQL",postgres:"PostgreSQL",mariadb:"MariaDB","oracle-se2":"Oracle","sqlserver-ex":"SQL Server","aurora-mysql":"Aurora MySQL","aurora-postgresql":"Aurora PostgreSQL"};return t[e.toLowerCase()]||e}}t.RDSCalculator=RDSCalculator},4872:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.S3Calculator=void 0;const n=o(7973);class S3Calculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::S3::Bucket"}async calculateCost(e,t,o){try{const e=await o.getPrice({serviceCode:"AmazonS3",region:(0,n.normalizeRegion)(t),filters:[{field:"storageClass",value:"General Purpose"},{field:"volumeType",value:"Standard"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for S3 in region ${t}`]}}const i=e*this.DEFAULT_STORAGE_GB;return{amount:i,currency:"USD",confidence:"medium",assumptions:[`Assumes ${this.DEFAULT_STORAGE_GB} GB of standard storage`,"Does not include request costs or data transfer"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.S3Calculator=S3Calculator},7346:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SNSCalculator=void 0;const n=o(7973);const i=o(7461);class SNSCalculator{customMonthlyPublishes;customHttpDeliveries;customEmailDeliveries;customSmsDeliveries;customMobilePushDeliveries;DEFAULT_MONTHLY_PUBLISHES=1e6;DEFAULT_HTTP_DELIVERIES=1e6;DEFAULT_EMAIL_DELIVERIES=0;DEFAULT_SMS_DELIVERIES=0;DEFAULT_MOBILE_PUSH_DELIVERIES=0;FALLBACK_PUBLISH_PRICE_PER_MILLION=.5;FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION=.6;FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K=2;FALLBACK_SMS_PRICE_PER_MESSAGE=.00645;FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION=.5;FREE_TIER_PUBLISHES=1e6;constructor(e,t,o,n,i){this.customMonthlyPublishes=e;this.customHttpDeliveries=t;this.customEmailDeliveries=o;this.customSmsDeliveries=n;this.customMobilePushDeliveries=i}supports(e){return e==="AWS::SNS::Topic"}async calculateCost(e,t,o){const h=this.customMonthlyPublishes??this.DEFAULT_MONTHLY_PUBLISHES;const p=this.customHttpDeliveries??this.DEFAULT_HTTP_DELIVERIES;const Q=this.customEmailDeliveries??this.DEFAULT_EMAIL_DELIVERIES;const D=this.customSmsDeliveries??this.DEFAULT_SMS_DELIVERIES;const T=this.customMobilePushDeliveries??this.DEFAULT_MOBILE_PUSH_DELIVERIES;i.Logger.debug("SNS pricing calculation started",{region:t,logicalId:e.logicalId,monthlyPublishes:h,httpDeliveries:p,emailDeliveries:Q,smsDeliveries:D,mobilePushDeliveries:T});try{const e=(0,n.getRegionPrefix)(t);const _=(0,n.normalizeRegion)(t);const O=await this.getPublishPrice(o,_,e);const V=await this.getHttpDeliveryPrice(o,_,e);const j=await this.getEmailDeliveryPrice(o,_,e);const $=await this.getSmsPrice(o,_,e);const ee=await this.getMobilePushPrice(o,_,e);const te=this.hasCustomAssumptions();const re=O!==null&&V!==null&&j!==null&&$!==null&&ee!==null;const se=this.calculateCostBreakdown(h,p,Q,D,T,O,V,j,$,ee);i.Logger.debug("SNS cost calculated",{costBreakdown:se,allPricesAvailable:re});const oe=this.buildAssumptions(h,p,Q,D,T,se,re,O,V,j,$,ee);let ne;if(!re&&!te){ne="unknown"}else if(!re&&te){ne="low"}else{ne="medium"}if(!re&&!te){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SNS in region ${t}`,...oe]}}return{amount:se.totalCost,currency:"USD",confidence:ne,assumptions:oe}}catch(e){i.Logger.debug("SNS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});if(this.hasCustomAssumptions()){const e=this.calculateCostBreakdown(h,p,Q,D,T,null,null,null,null,null);return{amount:e.totalCost,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",`Assumes ${h.toLocaleString()} publishes per month`,`Assumes ${p.toLocaleString()} HTTP/S deliveries per month`]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async getPublishPrice(e,t,o){const n=o?`${o}-PublishRequests`:"PublishRequests";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:n}]})}async getHttpDeliveryPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-HTTP`:"DeliveryAttempts-HTTP";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:n}]})}async getEmailDeliveryPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-EMAIL`:"DeliveryAttempts-EMAIL";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:n}]})}async getSmsPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-SMS`:"DeliveryAttempts-SMS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"SMS"},{field:"usagetype",value:n}]})}async getMobilePushPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-APNS`:"DeliveryAttempts-APNS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Mobile Push Notification"},{field:"usagetype",value:n}]})}calculateCostBreakdown(e,t,o,n,i,h,p,Q,D,T){const _=h??this.FALLBACK_PUBLISH_PRICE_PER_MILLION;const O=p??this.FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION;const V=Q??this.FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K;const j=D??this.FALLBACK_SMS_PRICE_PER_MESSAGE;const $=T??this.FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION;const ee=Math.max(0,e-this.FREE_TIER_PUBLISHES);const te=ee/1e6*_;const re=t/1e6*O;const se=o/1e5*V;const oe=n*j;const ne=i/1e6*$;const ie=te+re+se+oe+ne;return{publishCost:te,httpDeliveryCost:re,emailDeliveryCost:se,smsDeliveryCost:oe,mobilePushDeliveryCost:ne,totalCost:ie}}buildAssumptions(e,t,o,n,i,h,p,Q,D,T,_,O){const V=[];V.push(`Assumes ${e.toLocaleString()} publishes per month`);V.push(`Assumes ${t.toLocaleString()} HTTP/S deliveries per month`);if(o>0){V.push(`Assumes ${o.toLocaleString()} email deliveries per month`)}if(n>0){V.push(`Assumes ${n.toLocaleString()} SMS deliveries per month (using US rate)`)}if(i>0){V.push(`Assumes ${i.toLocaleString()} mobile push deliveries per month`)}if(e<=this.FREE_TIER_PUBLISHES){V.push(`First ${this.FREE_TIER_PUBLISHES.toLocaleString()} publishes are free`)}else{const t=e-this.FREE_TIER_PUBLISHES;V.push(`${this.FREE_TIER_PUBLISHES.toLocaleString()} free tier publishes applied, ${t.toLocaleString()} billable`)}if(h.publishCost>0){V.push(`Publish cost: $${h.publishCost.toFixed(2)}`)}if(h.httpDeliveryCost>0){V.push(`HTTP/S delivery cost: $${h.httpDeliveryCost.toFixed(2)}`)}if(h.emailDeliveryCost>0){V.push(`Email delivery cost: $${h.emailDeliveryCost.toFixed(2)}`)}if(h.smsDeliveryCost>0){V.push(`SMS delivery cost: $${h.smsDeliveryCost.toFixed(2)}`)}if(h.mobilePushDeliveryCost>0){V.push(`Mobile push delivery cost: $${h.mobilePushDeliveryCost.toFixed(2)}`)}if(!p){if(Q===null){V.push("Using fallback publish pricing (API unavailable)")}if(D===null){V.push("Using fallback HTTP delivery pricing (API unavailable)")}if(T===null&&o>0){V.push("Using fallback email delivery pricing (API unavailable)")}if(_===null&&n>0){V.push("Using fallback SMS pricing (API unavailable)")}if(O===null&&i>0){V.push("Using fallback mobile push pricing (API unavailable)")}}if(this.customMonthlyPublishes!==undefined){V.push("Using custom publish count from configuration")}if(this.customHttpDeliveries!==undefined){V.push("Using custom HTTP delivery count from configuration")}if(this.customEmailDeliveries!==undefined){V.push("Using custom email delivery count from configuration")}if(this.customSmsDeliveries!==undefined){V.push("Using custom SMS delivery count from configuration")}if(this.customMobilePushDeliveries!==undefined){V.push("Using custom mobile push delivery count from configuration")}return V}hasCustomAssumptions(){return this.customMonthlyPublishes!==undefined||this.customHttpDeliveries!==undefined||this.customEmailDeliveries!==undefined||this.customSmsDeliveries!==undefined||this.customMobilePushDeliveries!==undefined}}t.SNSCalculator=SNSCalculator},2697:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SQSCalculator=void 0;const n=o(7973);class SQSCalculator{DEFAULT_MONTHLY_REQUESTS=1e6;FALLBACK_STANDARD_PRICE_PER_MILLION=.4;FALLBACK_FIFO_PRICE_PER_MILLION=.5;config;constructor(e){this.config=e}supports(e){return e==="AWS::SQS::Queue"}async calculateCost(e,t,o){const n=this.isFifoQueue(e);const i=this.getMonthlyRequests();try{const e=await this.getPricePerMillion(t,n,o);const h=this.buildAssumptions(i,n);if(e===null){const e=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(e){const e=n?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const t=i/1e6*e;return{amount:t,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API unavailable)",...h]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SQS in region ${t}`,...h]}}const p=i/1e6*e;return{amount:p,currency:"USD",confidence:"medium",assumptions:h}}catch(e){const t=this.buildAssumptions(i,n);const o=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(o){const e=n?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const o=i/1e6*e;return{amount:o,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...t]}}}isFifoQueue(e){return e.properties.FifoQueue===true||e.properties.FifoQueue==="true"}getMonthlyRequests(){return this.config?.usageAssumptions?.sqs?.monthlyRequests??this.DEFAULT_MONTHLY_REQUESTS}buildAssumptions(e,t){const o=[`Assumes ${e.toLocaleString()} requests per month`,t?"FIFO queue":"Standard queue","Does not include data transfer costs"];if(this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined){o.push("Using custom monthly requests assumption from configuration")}return o}async getPricePerMillion(e,t,o){const i=(0,n.normalizeRegion)(e);const h=(0,n.getRegionPrefix)(e);const p=t?"Requests-FIFO":"Requests";const Q=h?`${h}-${p}`:p;return o.getPrice({serviceCode:"AWSQueueService",region:i,filters:[{field:"productFamily",value:"Queue"},{field:"usagetype",value:Q}]})}}t.SQSCalculator=SQSCalculator},7822:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SecretsManagerCalculator=void 0;const n=o(7973);const i=o(7461);class SecretsManagerCalculator{customMonthlyApiCalls;DEFAULT_MONTHLY_API_CALLS=1e4;FALLBACK_SECRET_STORAGE_PRICE=.4;FALLBACK_API_CALL_PRICE_PER_10K=.05;constructor(e){this.customMonthlyApiCalls=e}supports(e){return e==="AWS::SecretsManager::Secret"}async calculateCost(e,t,o){const h=this.customMonthlyApiCalls??this.DEFAULT_MONTHLY_API_CALLS;i.Logger.debug("Secrets Manager pricing calculation started",{region:t,logicalId:e.logicalId,monthlyApiCalls:h});try{const e=(0,n.normalizeRegion)(t);const p=await o.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretStorage"}]});i.Logger.debug("Secrets Manager storage price retrieved",{secretStoragePrice:p,region:e});const Q=await o.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretRotation"}]});i.Logger.debug("Secrets Manager API call price retrieved",{apiCallPrice:Q,region:e});if(p===null&&Q===null){i.Logger.debug("Secrets Manager pricing not available",{region:t,normalizedRegion:e});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Secrets Manager in region ${t}`,`Would assume ${h.toLocaleString()} API calls per month`]}}const D=p??this.FALLBACK_SECRET_STORAGE_PRICE;const T=Q??this.FALLBACK_API_CALL_PRICE_PER_10K;const _=h/1e4*T;const O=D+_;const V=p===null||Q===null?"low":"medium";const j=p===null||Q===null;i.Logger.debug("Secrets Manager cost calculated",{storageCost:D,callCostPer10K:T,apiCallCost:_,totalCost:O,confidence:V,usedFallback:j});const $=[];if(j){if(p===null){$.push("Using fallback storage pricing (API unavailable)")}if(Q===null){$.push("Using fallback API call pricing (API unavailable)")}}$.push(`Secret storage: $${D.toFixed(2)}/month`);$.push(`API calls: ${h.toLocaleString()} calls × $${T.toFixed(4)}/10K = $${_.toFixed(2)}/month`);$.push(`Total: $${O.toFixed(2)}/month`);if(this.customMonthlyApiCalls!==undefined){$.push("Using custom API call volume from configuration")}$.push("No free tier for Secrets Manager");$.push("Cross-region replication incurs additional costs (not calculated)");return{amount:O,currency:"USD",confidence:V,assumptions:$}}catch(e){i.Logger.debug("Secrets Manager pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate Secrets Manager cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.SecretsManagerCalculator=SecretsManagerCalculator},5099:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StepFunctionsCalculator=void 0;const n=o(7973);class StepFunctionsCalculator{customMonthlyExecutions;customStateTransitionsPerExecution;customAverageDurationMs;DEFAULT_MONTHLY_EXECUTIONS=1e4;DEFAULT_STATE_TRANSITIONS_PER_EXECUTION=10;DEFAULT_AVERAGE_DURATION_MS=1e3;FALLBACK_STANDARD_STATE_TRANSITION_PRICE=.025/1e3;FALLBACK_EXPRESS_REQUEST_PRICE=1/1e6;FALLBACK_EXPRESS_DURATION_PRICE=1667e-8;constructor(e,t,o){this.customMonthlyExecutions=e;this.customStateTransitionsPerExecution=t;this.customAverageDurationMs=o}supports(e){return e==="AWS::StepFunctions::StateMachine"}async calculateCost(e,t,o){const n=this.getWorkflowType(e);if(n==="EXPRESS"){return this.calculateExpressWorkflowCost(e,t,o)}return this.calculateStandardWorkflowCost(e,t,o)}getWorkflowType(e){const t=e.properties.Type;if(t==="EXPRESS"){return"EXPRESS"}return"STANDARD"}async calculateStandardWorkflowCost(e,t,o){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const h=this.customStateTransitionsPerExecution??this.DEFAULT_STATE_TRANSITIONS_PER_EXECUTION;const p=i*h;try{const e=(0,n.getRegionPrefix)(t);const Q=e?`${e}-StateTransition`:"StateTransition";const D=await o.getPrice({serviceCode:"AWSStepFunctions",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:Q}]});const T=this.buildStandardAssumptions(i,h,p);if(D===null){const e=this.hasCustomAssumptions();if(e){const e=p*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback state transition pricing (API unavailable)",...T]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Standard workflow in region ${t}`,...T]}}const _=p*D;return{amount:_,currency:"USD",confidence:"medium",assumptions:T}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildStandardAssumptions(i,h,p)];const o=this.hasCustomAssumptions();if(o){const e=p*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}async calculateExpressWorkflowCost(e,t,o){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const h=this.customAverageDurationMs??this.DEFAULT_AVERAGE_DURATION_MS;const p=64;const Q=h/1e3;const D=p/1024*Q*i;try{const e=(0,n.getRegionPrefix)(t);const p=e?`${e}-ExpressRequest`:"ExpressRequest";const Q=e?`${e}-ExpressDuration`:"ExpressDuration";const T=await o.getPrice({serviceCode:"AWSStepFunctions",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:p}]});const _=await o.getPrice({serviceCode:"AWSStepFunctions",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:Q}]});const O=this.buildExpressAssumptions(i,h,D);if(T===null||_===null){const e=this.hasCustomAssumptions();if(e){const e=T??this.FALLBACK_EXPRESS_REQUEST_PRICE;const t=_??this.FALLBACK_EXPRESS_DURATION_PRICE;const o=i*e;const n=D*t;const h=o+n;return{amount:h,currency:"USD",confidence:"low",assumptions:[T===null?"Using fallback request pricing (API unavailable)":"",_===null?"Using fallback duration pricing (API unavailable)":"",...O].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Express workflow in region ${t}`,...O]}}const V=i*T;const j=D*_;const $=V+j;return{amount:$,currency:"USD",confidence:"medium",assumptions:O}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildExpressAssumptions(i,h,D)];const o=this.hasCustomAssumptions();if(o){const e=i*this.FALLBACK_EXPRESS_REQUEST_PRICE;const o=D*this.FALLBACK_EXPRESS_DURATION_PRICE;const n=e+o;return{amount:n,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}buildStandardAssumptions(e,t,o){const n=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t} state transitions per execution`,`Total estimated state transitions: ${o.toLocaleString()}`,"STANDARD workflow type","Pricing: $0.025 per 1,000 state transitions"];if(this.customMonthlyExecutions!==undefined){n.push("Using custom monthly executions from configuration")}if(this.customStateTransitionsPerExecution!==undefined){n.push("Using custom state transitions per execution from configuration")}return n}buildExpressAssumptions(e,t,o){const n=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t}ms average execution duration`,`Total estimated GB-seconds: ${o.toFixed(2)}`,"EXPRESS workflow type","Pricing: $1.00 per million requests + $0.00001667 per GB-second","Assumes 64MB memory allocation per execution"];if(this.customMonthlyExecutions!==undefined){n.push("Using custom monthly executions from configuration")}if(this.customAverageDurationMs!==undefined){n.push("Using custom average duration from configuration")}return n}hasCustomAssumptions(){return this.customMonthlyExecutions!==undefined||this.customStateTransitionsPerExecution!==undefined||this.customAverageDurationMs!==undefined}}t.StepFunctionsCalculator=StepFunctionsCalculator},7278:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.VPCEndpointCalculator=void 0;const n=o(7973);class VPCEndpointCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::VPCEndpoint"}async calculateCost(e,t,o){const i=e.properties?.VpcEndpointType;const h=e.properties?.ServiceName||"";const p=i==="Gateway"||i===undefined&&(h.includes("s3")||h.includes("dynamodb"));if(p){return{amount:0,currency:"USD",confidence:"high",assumptions:["Gateway VPC endpoints for S3 and DynamoDB are free","No data processing charges for gateway endpoints"]}}try{const e=(0,n.getRegionPrefix)(t);const i=await o.getPrice({serviceCode:"AmazonVPC",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Hours`}]});const h=await o.getPrice({serviceCode:"AmazonVPC",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Bytes`}]});if(i===null||h===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for VPC Endpoint in region ${t}`]}}const p=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const Q=i*this.HOURS_PER_MONTH;const D=h*p;const T=Q+D;return{amount:T,currency:"USD",confidence:"medium",assumptions:["Interface VPC Endpoint type",`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${Q.toFixed(2)}/month`,`Data processing: $${h.toFixed(4)}/GB × ${p} GB = $${D.toFixed(2)}/month`,`Total: $${T.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.VPCEndpointCalculator=VPCEndpointCalculator},9543:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UnsupportedResourceError=t.PricingAPIError=void 0;class PricingAPIError extends Error{retryable;constructor(e,t=true){super(e);this.retryable=t;this.name="PricingAPIError"}}t.PricingAPIError=PricingAPIError;class UnsupportedResourceError extends Error{resourceType;constructor(e){super(`Resource type ${e} is not supported`);this.resourceType=e;this.name="UnsupportedResourceError"}}t.UnsupportedResourceError=UnsupportedResourceError},7785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubActionReporter=void 0;class GitHubActionReporter{generateReport(e,t,o){const n=[];n.push("## 💰 CDK Cost Analysis");n.push("");n.push(this.generateCostSummary(e,t,o));n.push("");if(e.addedCosts.length>0){n.push(this.formatAddedResources(e.addedCosts,e.currency));n.push("")}if(e.modifiedCosts.length>0){n.push(this.formatModifiedResources(e.modifiedCosts,e.currency));n.push("")}if(e.removedCosts.length>0){n.push(this.formatRemovedResources(e.removedCosts,e.currency));n.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){n.push("No resource changes detected.");n.push("")}n.push("---");n.push("*Generated by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer)*");return n.join("\n")}generateCostSummary(e,t,o){const n=[];const i=this.getTrendIndicator(e.totalDelta);const h=this.formatDelta(e.totalDelta,e.currency);n.push(`**Monthly Cost Impact:** ${i} ${h}`);if(t!==undefined&&o!==undefined&&t>0){const e=(o-t)/t*100;const i=this.formatPercentage(e);n.push(`**Percentage Change:** ${i}`)}if(t!==undefined&&o!==undefined){n.push("");n.push("| Metric | Value |");n.push("|--------|-------|");n.push(`| Base Monthly Cost | ${this.formatCurrency(t,e.currency)} |`);n.push(`| Target Monthly Cost | ${this.formatCurrency(o,e.currency)} |`);n.push(`| Cost Delta | ${h} |`)}return n.join("\n")}formatAddedResources(e,t){const o=[];o.push("### ➕ Added Resources");o.push("");o.push("| Logical ID | Type | Monthly Cost |");o.push("|------------|------|--------------|");const n=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of n){o.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);o.push(`| **Total Added** | | **${this.formatCurrency(i,t)}** |`);return o.join("\n")}formatModifiedResources(e,t){const o=[];o.push("### 🔄 Modified Resources");o.push("");o.push("| Logical ID | Type | Old Cost | New Cost | Delta |");o.push("|------------|------|----------|----------|-------|");const n=[...e].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of n){const n=this.getTrendIndicator(e.costDelta);o.push(`| ${e.logicalId} | \`${e.type}\` | `+`${this.formatCurrency(e.oldMonthlyCost.amount,t)} | `+`${this.formatCurrency(e.newMonthlyCost.amount,t)} | `+`${n} ${this.formatDelta(e.costDelta,t)} |`)}const i=e.reduce(((e,t)=>e+t.costDelta),0);const h=this.getTrendIndicator(i);o.push(`| **Total Modified** | | | | **${h} ${this.formatDelta(i,t)}** |`);return o.join("\n")}formatRemovedResources(e,t){const o=[];o.push("### ➖ Removed Resources");o.push("");o.push("| Logical ID | Type | Monthly Cost |");o.push("|------------|------|--------------|");const n=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of n){o.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);o.push(`| **Total Removed** | | **-${this.formatCurrency(i,t)}** |`);return o.join("\n")}getTrendIndicator(e){if(e>0){return"↗️"}else if(e<0){return"↘️"}return"➡️"}formatCurrency(e,t){const o=t==="USD"?"$":t;return`${o}${e.toFixed(2)}`}formatDelta(e,t){const o=this.formatCurrency(Math.abs(e),t);if(e===0){return o}return e<0?`-${o}`:`+${o}`}formatPercentage(e){const t=e>0?"+":"";return`${t}${e.toFixed(1)}%`}}t.GitHubActionReporter=GitHubActionReporter},1268:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Reporter=void 0;class Reporter{generateReport(e,t,o){switch(t){case"text":return this.generateTextReport(e,o);case"json":return this.generateJsonReport(e,o);case"markdown":return this.generateMarkdownReport(e,o);default:throw new Error(`Unsupported report format: ${t}`)}}generateTextReport(e,t){const o=[];o.push("=".repeat(60));o.push("CDK Cost Analysis Report");o.push("=".repeat(60));o.push("");if(t?.configSummary){o.push(...this.formatConfigSummaryText(t.configSummary));o.push("")}if(t?.thresholdStatus){o.push(...this.formatThresholdStatusText(t.thresholdStatus));o.push("")}o.push(`Total Cost Delta: ${this.formatDelta(e.totalDelta,e.currency)}`);o.push("");if(e.addedCosts.length>0){o.push("ADDED RESOURCES:");o.push("-".repeat(60));const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){o.push(this.formatResourceLine(e))}o.push("")}if(e.removedCosts.length>0){o.push("REMOVED RESOURCES:");o.push("-".repeat(60));const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){o.push(this.formatResourceLine(e))}o.push("")}if(e.modifiedCosts.length>0){o.push("MODIFIED RESOURCES:");o.push("-".repeat(60));const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of t){o.push(this.formatModifiedResourceLine(e))}o.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){o.push("No resource changes detected.");o.push("")}o.push("=".repeat(60));return o.join("\n")}generateJsonReport(e,t){const o={...e};if(t?.configSummary){o.configSummary=t.configSummary}if(t?.thresholdStatus){o.thresholdStatus=t.thresholdStatus}if(t?.stackName){o.stackName=t.stackName}return JSON.stringify(o,null,2)}generateMarkdownReport(e,t){const o=[];o.push("# CDK Cost Analysis Report");o.push("");if(t?.configSummary){o.push(...this.formatConfigSummaryMarkdown(t.configSummary));o.push("")}if(t?.thresholdStatus){o.push(...this.formatThresholdStatusMarkdown(t.thresholdStatus,e));o.push("")}o.push(`**Total Cost Delta:** ${this.formatDelta(e.totalDelta,e.currency)}`);o.push("");if(t?.multiStack&&t?.stacks&&t.stacks.length>1){o.push("## Per-Stack Cost Breakdown");o.push("");o.push("| Stack | Cost Delta |");o.push("|-------|------------|");for(const e of t.stacks){o.push(`| ${e.stackName} | ${this.formatDelta(e.costDelta.totalDelta,e.costDelta.currency)} |`)}o.push("");o.push("<details>");o.push("<summary><strong>View Detailed Stack Breakdowns</strong></summary>");o.push("");for(const e of t.stacks){o.push(`### ${e.stackName}`);o.push("");o.push(...this.formatStackDetailsMarkdown(e.costDelta));o.push("")}o.push("</details>");o.push("")}if(e.addedCosts.length>0){o.push("## Added Resources");o.push("");o.push("| Logical ID | Type | Monthly Cost |");o.push("|------------|------|--------------|");const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of t){o.push(`| ${n.logicalId} | ${n.type} | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}o.push("")}if(e.removedCosts.length>0){o.push("## Removed Resources");o.push("");o.push("| Logical ID | Type | Monthly Cost |");o.push("|------------|------|--------------|");const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of t){o.push(`| ${n.logicalId} | ${n.type} | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}o.push("")}if(e.modifiedCosts.length>0){o.push("## Modified Resources");o.push("");o.push("| Logical ID | Type | Old Cost | New Cost | Delta |");o.push("|------------|------|----------|----------|-------|");const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const n of t){o.push(`| ${n.logicalId} | ${n.type} | `+`${this.formatCurrency(n.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(n.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(n.costDelta,e.currency)} |`)}o.push("")}return o.join("\n")}formatResourceLine(e){const t=this.formatCurrency(e.monthlyCost.amount,"USD");const o=e.monthlyCost.confidence;return` • ${e.logicalId} (${e.type}): ${t} [${o}]`}formatModifiedResourceLine(e){const t=this.formatCurrency(e.oldMonthlyCost.amount,"USD");const o=this.formatCurrency(e.newMonthlyCost.amount,"USD");const n=this.formatDelta(e.costDelta,"USD");return` • ${e.logicalId} (${e.type}): ${t} → ${o} (${n})`}formatCurrency(e,t){const o=t==="USD"?"$":t;return`${o}${e.toFixed(2)}`}formatDelta(e,t){const o=e>0?"+":e<0?"-":"";const n=Math.abs(e);const i=this.formatCurrency(n,t);return e===0?i:`${o}${i}`}formatConfigSummaryText(e){const t=[];t.push("CONFIGURATION:");t.push("-".repeat(60));if(e.configPath){t.push(` Configuration File: ${e.configPath}`)}else{t.push(" Configuration File: Using defaults")}if(e.thresholds){if(e.thresholds.environment){t.push(` Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(` Warning Threshold: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(` Error Threshold: $${e.thresholds.error.toFixed(2)}/month`)}}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push(` Excluded Resource Types: ${e.excludedResourceTypes.join(", ")}`)}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push(" Custom Usage Assumptions:");for(const[o,n]of Object.entries(e.usageAssumptions)){t.push(` - ${o}: ${JSON.stringify(n)}`)}}return t}formatThresholdStatusText(e){const t=[];t.push("THRESHOLD STATUS:");t.push("-".repeat(60));if(e.level==="none"){t.push(" No thresholds configured")}else{const o=e.passed?"PASSED":"EXCEEDED";t.push(` Status: ${o}`);if(e.threshold!==undefined){t.push(` Threshold: $${e.threshold.toFixed(2)}/month (${e.level})`)}t.push(` Actual Delta: $${Math.abs(e.delta).toFixed(2)}/month`);if(!e.passed&&e.recommendations&&e.recommendations.length>0){t.push(" Recommendations:");for(const o of e.recommendations){t.push(` - ${o}`)}}}return t}formatConfigSummaryMarkdown(e){const t=[];t.push("<details>");t.push("<summary><strong>Configuration Summary</strong></summary>");t.push("");if(e.configPath){t.push(`**Configuration File:** \`${e.configPath}\``)}else{t.push("**Configuration File:** Using defaults")}t.push("");if(e.thresholds){t.push("**Thresholds:**");if(e.thresholds.environment){t.push(`- Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(`- Warning: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(`- Error: $${e.thresholds.error.toFixed(2)}/month`)}t.push("")}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push("**Excluded Resource Types:**");for(const o of e.excludedResourceTypes){t.push(`- \`${o}\``)}t.push("")}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push("**Custom Usage Assumptions:**");for(const[o,n]of Object.entries(e.usageAssumptions)){t.push(`- **${o}:**`);const e=n;for(const[o,n]of Object.entries(e)){t.push(` - ${o}: ${n}`)}}t.push("")}t.push("</details>");t.push("");return t}formatThresholdStatusMarkdown(e,t){const o=[];if(e.level==="none"){return o}const n=e.passed;const i=n?"PASSED":"EXCEEDED";o.push(`## Threshold Status: ${i}`);o.push("");if(e.threshold!==undefined){o.push(`**Threshold:** $${e.threshold.toFixed(2)}/month (${e.level})`)}o.push(`**Actual Delta:** ${this.formatDelta(e.delta,t.currency)}/month`);o.push("");if(!n){o.push("### Action Required");o.push("");o.push(e.message);o.push("");if(e.recommendations&&e.recommendations.length>0){o.push("### Recommendations");o.push("");for(const t of e.recommendations){o.push(`- ${t}`)}o.push("")}const n=this.getTopCostContributors(t,5);if(n.length>0){o.push("### Top Cost Contributors");o.push("");o.push("| Resource | Type | Impact |");o.push("|----------|------|--------|");for(const e of n){o.push(`| ${e.logicalId} | ${e.type} | ${this.formatDelta(e.impact,t.currency)} |`)}o.push("")}}return o}getTopCostContributors(e,t){const o=[];for(const t of e.addedCosts){o.push({logicalId:t.logicalId,type:t.type,impact:t.monthlyCost.amount})}for(const t of e.removedCosts){o.push({logicalId:t.logicalId,type:t.type,impact:-t.monthlyCost.amount})}for(const t of e.modifiedCosts){o.push({logicalId:t.logicalId,type:t.type,impact:t.costDelta})}o.sort(((e,t)=>Math.abs(t.impact)-Math.abs(e.impact)));return o.slice(0,t)}formatStackDetailsMarkdown(e){const t=[];if(e.addedCosts.length>0){t.push("**Added Resources:**");t.push("");t.push("| Logical ID | Type | Monthly Cost |");t.push("|------------|------|--------------|");const o=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of o){t.push(`| ${n.logicalId} | ${n.type} | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.removedCosts.length>0){t.push("**Removed Resources:**");t.push("");t.push("| Logical ID | Type | Monthly Cost |");t.push("|------------|------|--------------|");const o=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of o){t.push(`| ${n.logicalId} | ${n.type} | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.modifiedCosts.length>0){t.push("**Modified Resources:**");t.push("");t.push("| Logical ID | Type | Old Cost | New Cost | Delta |");t.push("|------------|------|----------|----------|-------|");const o=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const n of o){t.push(`| ${n.logicalId} | ${n.type} | `+`${this.formatCurrency(n.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(n.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(n.costDelta,e.currency)} |`)}t.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){t.push("No resource changes detected.");t.push("")}return t}}t.Reporter=Reporter},9560:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.SynthesisOrchestrator=void 0;const p=o(5317);const Q=h(o(1943));const D=h(o(6928));const T=o(8648);class SynthesisOrchestrator{DEFAULT_OUTPUT_PATH="cdk.out";async synthesize(e){const t=Date.now();try{const o=e.outputPath||this.DEFAULT_OUTPUT_PATH;const n=e.customCommand||"npx cdk synth";await this.executeSynthesis(n,e.cdkAppPath,e.context,o);const i=D.join(e.cdkAppPath,o);const{templatePaths:h,stackNames:p}=await this.findTemplates(i);const Q=Date.now()-t;return{success:true,templatePaths:h,stackNames:p,duration:Q}}catch(e){const o=Date.now()-t;const n=e instanceof Error?e.message:String(e);if(e instanceof T.SynthesisError){return{success:false,templatePaths:[],stackNames:[],error:n,duration:o}}return{success:false,templatePaths:[],stackNames:[],error:`Synthesis failed: ${n}`,duration:o}}}async executeSynthesis(e,t,o,n){return new Promise(((i,h)=>{const[Q,...D]=e.split(" ");const _=[...D];if(o){for(const[e,t]of Object.entries(o)){_.push("-c",`${e}=${t}`)}}if(n){_.push("--output",n)}const O=(0,p.spawn)(Q,_,{cwd:t,shell:false,stdio:["ignore","pipe","pipe"],detached:false});let V="";let j="";let $=false;const cleanup=()=>{O.removeAllListeners();O.stdout?.removeAllListeners();O.stderr?.removeAllListeners()};const forceKill=()=>{try{if(O.pid&&!O.killed){O.kill("SIGKILL");try{process.kill(O.pid,"SIGKILL")}catch(e){}}}catch(e){}};const ee=setTimeout((()=>{if(!$){$=true;O.kill("SIGTERM");setTimeout((()=>{forceKill()}),1e3);O.removeAllListeners();O.stdout?.removeAllListeners();O.stderr?.removeAllListeners();h(new T.SynthesisError("CDK synthesis timed out after 15 seconds",j||V||"No output captured"))}}),15e3);O.stdout?.on("data",(e=>{V+=e.toString()}));O.stderr?.on("data",(e=>{j+=e.toString()}));O.on("error",(e=>{if(!$){$=true;clearTimeout(ee);cleanup();h(new T.SynthesisError(`Failed to execute synthesis command: ${e.message}`,j||"No error output captured"))}}));O.on("close",(e=>{if(!$){$=true;clearTimeout(ee);cleanup();if(e!==0){h(new T.SynthesisError(`CDK synthesis failed with exit code ${e}`,j||V||"No output captured"))}else{i()}}}));O.on("exit",((e,t)=>{if(!$){$=true;clearTimeout(ee);cleanup();if(t){h(new T.SynthesisError(`CDK synthesis terminated by signal ${t}`,j||V||"No output captured"))}else if(e!==0){h(new T.SynthesisError(`CDK synthesis failed with exit code ${e}`,j||V||"No output captured"))}else{i()}}}))}))}async findTemplates(e){try{const t=await Q.readdir(e);const o=[];const n=[];for(const i of t){if(i.endsWith(".template.json")||i.endsWith(".template.yaml")||i.endsWith(".template.yml")){const t=D.join(e,i);o.push(t);const h=i.replace(".template.json","").replace(".template.yaml","").replace(".template.yml","");n.push(h)}}if(o.length===0){throw new Error("No CloudFormation templates found in output directory")}return{templatePaths:o,stackNames:n}}catch(e){throw new Error(`Failed to find templates: ${e instanceof Error?e.message:String(e)}`)}}}t.SynthesisOrchestrator=SynthesisOrchestrator},8648:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SynthesisError=void 0;class SynthesisError extends Error{cdkOutput;constructor(e,t){super(e);this.cdkOutput=t;this.name="SynthesisError"}}t.SynthesisError=SynthesisError},1668:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ThresholdEnforcer=void 0;class ThresholdEnforcer{evaluateThreshold(e,t,o,n,i){if(!n){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}const h=this.selectThresholds(n,i);if(!h){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}if(h.error!==undefined&&e>h.error){const n=this.getTopContributors(t,o,5);return{passed:false,level:"error",threshold:h.error,delta:e,message:this.formatErrorMessage(e,h.error),recommendations:this.getRecommendations("error",n)}}if(h.warning!==undefined&&e>h.warning){const n=this.getTopContributors(t,o,5);return{passed:true,level:"warning",threshold:h.warning,delta:e,message:this.formatWarningMessage(e,h.warning),recommendations:this.getRecommendations("warning",n)}}return{passed:true,level:"none",delta:e,message:`Cost delta $${e.toFixed(2)}/month is within thresholds`,recommendations:[]}}selectThresholds(e,t){if(t&&e.environments?.[t]){return e.environments[t]}return e.default}getTopContributors(e,t,o){const n=[...e,...t.map((e=>({logicalId:e.logicalId,type:e.type,monthlyCost:{amount:e.costDelta,currency:e.newMonthlyCost.currency,confidence:e.newMonthlyCost.confidence,assumptions:e.newMonthlyCost.assumptions}})))];return n.sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount)).slice(0,o)}formatErrorMessage(e,t){const o=e-t;const n=(o/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds error threshold of $${t.toFixed(2)}/month by $${o.toFixed(2)} (${n}%)`}formatWarningMessage(e,t){const o=e-t;const n=(o/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds warning threshold of $${t.toFixed(2)}/month by $${o.toFixed(2)} (${n}%)`}getRecommendations(e,t){const o=[];if(e==="error"){o.push("This change cannot be merged without approval due to cost impact.");o.push("Review the cost breakdown and consider optimizations before proceeding.");o.push("Contact your FinOps team for threshold override approval if this cost increase is necessary.")}else{o.push("Review this cost increase with your team before merging.");o.push("Consider whether all resources in this change are necessary.")}if(t.length>0){o.push(`Top cost contributors: ${t.map((e=>`${e.type} (${e.logicalId}): $${e.monthlyCost.amount.toFixed(2)}/month`)).join(", ")}`);const e=new Set(t.map((e=>e.type)));if(e.has("AWS::RDS::DBInstance")){o.push("Consider using smaller RDS instance types or Aurora Serverless for lower costs.")}if(e.has("AWS::EC2::Instance")){o.push("Consider using smaller EC2 instance types, Spot instances, or Savings Plans.")}if(e.has("AWS::EC2::NatGateway")){o.push("NAT Gateways have high data processing costs. Consider using VPC endpoints or consolidating NAT Gateways.")}if(e.has("AWS::ElasticLoadBalancingV2::LoadBalancer")){o.push("Load Balancers have hourly costs. Consider sharing load balancers across services if possible.")}}return o}}t.ThresholdEnforcer=ThresholdEnforcer},7461:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Logger=void 0;class Logger{static debugEnabled=false;static setDebugEnabled(e){Logger.debugEnabled=e}static isDebugEnabled(){return Logger.debugEnabled}static debug(e,t){if(Logger.debugEnabled){const o=(new Date).toISOString();console.error(`[DEBUG ${o}] ${e}`);if(t!==undefined){console.error(JSON.stringify(t,null,2))}}}static logPricingQuery(e,t,o){if(Logger.debugEnabled){Logger.debug("Pricing API Query",{serviceCode:e,region:t,filters:o.map((e=>({field:e.field,value:e.value,type:e.type||"TERM_MATCH"})))})}}static logPricingResponse(e,t,o,n){if(Logger.debugEnabled){Logger.debug("Pricing API Response",{serviceCode:e,region:t,price:o,productDetails:n})}}static logRegionNormalization(e,t){if(Logger.debugEnabled){Logger.debug("Region Normalization",{originalRegion:e,normalizedRegion:t,wasNormalized:e!==t})}}static logPricingFailure(e,t,o){if(Logger.debugEnabled){Logger.debug("Pricing Lookup Failed",{serviceCode:e,region:t,reason:o})}}static logCacheStatus(e,t,o){if(Logger.debugEnabled){Logger.debug(`Cache ${t?"HIT":"MISS"}`,{cacheKey:e,source:t?o:undefined})}}}t.Logger=Logger},2613:e=>{"use strict";e.exports=require("assert")},290:e=>{"use strict";e.exports=require("async_hooks")},181:e=>{"use strict";e.exports=require("buffer")},5317:e=>{"use strict";e.exports=require("child_process")},4236:e=>{"use strict";e.exports=require("console")},6982:e=>{"use strict";e.exports=require("crypto")},1637:e=>{"use strict";e.exports=require("diagnostics_channel")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},1943:e=>{"use strict";e.exports=require("fs/promises")},8611:e=>{"use strict";e.exports=require("http")},5675:e=>{"use strict";e.exports=require("http2")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},6698:e=>{"use strict";e.exports=require("node:async_hooks")},1421:e=>{"use strict";e.exports=require("node:child_process")},7598:e=>{"use strict";e.exports=require("node:crypto")},8474:e=>{"use strict";e.exports=require("node:events")},3024:e=>{"use strict";e.exports=require("node:fs")},1455:e=>{"use strict";e.exports=require("node:fs/promises")},8161:e=>{"use strict";e.exports=require("node:os")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},7075:e=>{"use strict";e.exports=require("node:stream")},7975:e=>{"use strict";e.exports=require("node:util")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2987:e=>{"use strict";e.exports=require("perf_hooks")},3480:e=>{"use strict";e.exports=require("querystring")},2203:e=>{"use strict";e.exports=require("stream")},3774:e=>{"use strict";e.exports=require("stream/web")},3193:e=>{"use strict";e.exports=require("string_decoder")},3557:e=>{"use strict";e.exports=require("timers")},4756:e=>{"use strict";e.exports=require("tls")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},8253:e=>{"use strict";e.exports=require("util/types")},8167:e=>{"use strict";e.exports=require("worker_threads")},3106:e=>{"use strict";e.exports=require("zlib")},7182:(e,t,o)=>{"use strict";const n=o(7075).Writable;const i=o(7975).inherits;const h=o(4136);const p=o(612);const Q=o(2271);const D=45;const T=Buffer.from("-");const _=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}n.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new Q(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}i(Dicer,n);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{n.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,o){if(!this._hparser&&!this._bparser){return o()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new p(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t<e.length){e=e.slice(t)}else{return o()}}if(this._firstWrite){this._bparser.push(_);this._firstWrite=false}this._bparser.push(e);if(this._pause){this._cb=o}else{o()}};Dicer.prototype.reset=function(){this._part=undefined;this._bparser=undefined;this._hparser=undefined};Dicer.prototype.setBoundary=function(e){const t=this;this._bparser=new h("\r\n--"+e);this._bparser.on("info",(function(e,o,n,i){t._oninfo(e,o,n,i)}))};Dicer.prototype._ignore=function(){if(this._part&&!this._ignoreData){this._ignoreData=true;this._part.on("error",EMPTY_FN);this._part.resume()}};Dicer.prototype._oninfo=function(e,t,o,n){let i;const h=this;let Q=0;let _;let O=true;if(!this._part&&this._justMatched&&t){while(this._dashes<2&&o+Q<n){if(t[o+Q]===D){++Q;++this._dashes}else{if(this._dashes){i=T}this._dashes=0;break}}if(this._dashes===2){if(o+Q<n&&this.listenerCount("trailer")!==0){this.emit("trailer",t.slice(o+Q,n))}this.reset();this._finished=true;if(h._parts===0){h._realFinish=true;h.emit("finish");h._realFinish=false}}if(this._dashes){return}}if(this._justMatched){this._justMatched=false}if(!this._part){this._part=new p(this._partOpts);this._part._read=function(e){h._unpause()};if(this._isPreamble&&this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else if(this._isPreamble!==true&&this.listenerCount("part")!==0){this.emit("part",this._part)}else{this._ignore()}if(!this._isPreamble){this._inHeader=true}}if(t&&o<n&&!this._ignoreData){if(this._isPreamble||!this._inHeader){if(i){O=this._part.push(i)}O=this._part.push(t.slice(o,n));if(!O){this._pause=true}}else if(!this._isPreamble&&this._inHeader){if(i){this._hparser.push(i)}_=this._hparser.push(t.slice(o,n));if(!this._inHeader&&_!==undefined&&_<n){this._oninfo(false,t,o+_,n)}}}if(e){this._hparser.reset();if(this._isPreamble){this._isPreamble=false}else{if(o!==n){++this._parts;this._part.on("end",(function(){if(--h._parts===0){if(h._finished){h._realFinish=true;h.emit("finish");h._realFinish=false}else{h._unpause()}}}))}}this._part.push(null);this._part=undefined;this._ignoreData=false;this._justMatched=true;this._dashes=0}};Dicer.prototype._unpause=function(){if(!this._pause){return}this._pause=false;if(this._cb){const e=this._cb;this._cb=undefined;e()}};e.exports=Dicer},2271:(e,t,o)=>{"use strict";const n=o(8474).EventEmitter;const i=o(7975).inherits;const h=o(2393);const p=o(4136);const Q=Buffer.from("\r\n\r\n");const D=/\r\n/g;const T=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){n.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=h(e,"maxHeaderPairs",2e3);this.maxHeaderSize=h(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new p(Q);this.ss.on("info",(function(e,o,n,i){if(o&&!t.maxed){if(t.nread+i-n>=t.maxHeaderSize){i=t.maxHeaderSize-t.nread+n;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=i-n}t.buffer+=o.toString("binary",n,i)}if(e){t._finish()}}))}i(HeaderParser,n);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(D);const t=e.length;let o,n;for(var i=0;i<t;++i){if(e[i].length===0){continue}if(e[i][0]==="\t"||e[i][0]===" "){if(n){this.header[n][this.header[n].length-1]+=e[i];continue}}const t=e[i].indexOf(":");if(t===-1||t===0){return}o=T.exec(e[i]);n=o[1].toLowerCase();this.header[n]=this.header[n]||[];this.header[n].push(o[2]||"");if(++this.npairs===this.maxHeaderPairs){break}}};e.exports=HeaderParser},612:(e,t,o)=>{"use strict";const n=o(7975).inherits;const i=o(7075).Readable;function PartStream(e){i.call(this,e)}n(PartStream,i);PartStream.prototype._read=function(e){};e.exports=PartStream},4136:(e,t,o)=>{"use strict";const n=o(8474).EventEmitter;const i=o(7975).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var o=0;o<t-1;++o){this._occ[e[o]]=t-1-o}}i(SBMH,n);SBMH.prototype.reset=function(){this._lookbehind_size=0;this.matches=0;this._bufpos=0};SBMH.prototype.push=function(e,t){if(!Buffer.isBuffer(e)){e=Buffer.from(e,"binary")}const o=e.length;this._bufpos=t||0;let n;while(n!==o&&this.matches<this.maxMatches){n=this._sbmh_feed(e)}return n};SBMH.prototype._sbmh_feed=function(e){const t=e.length;const o=this._needle;const n=o.length;const i=o[n-1];let h=-this._lookbehind_size;let p;if(h<0){while(h<0&&h<=t-n){p=this._sbmh_lookup_char(e,h+n-1);if(p===i&&this._sbmh_memcmp(e,h,n-1)){this._lookbehind_size=0;++this.matches;this.emit("info",true);return this._bufpos=h+n}h+=this._occ[p]}if(h<0){while(h<0&&!this._sbmh_memcmp(e,h,t-h)){++h}}if(h>=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const o=this._lookbehind_size+h;if(o>0){this.emit("info",false,this._lookbehind,0,o)}this._lookbehind.copy(this._lookbehind,0,o,this._lookbehind_size-o);this._lookbehind_size-=o;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}h+=(h>=0)*this._bufpos;if(e.indexOf(o,h)!==-1){h=e.indexOf(o,h);++this.matches;if(h>0){this.emit("info",true,e,this._bufpos,h)}else{this.emit("info",true)}return this._bufpos=h+n}else{h=t-n}while(h<t&&(e[h]!==o[0]||Buffer.compare(e.subarray(h,h+t-h),o.subarray(0,t-h))!==0)){++h}if(h<t){e.copy(this._lookbehind,0,h,h+(t-h));this._lookbehind_size=t-h}if(h>0){this.emit("info",false,e,this._bufpos,h<t?h:t)}this._bufpos=t;return t};SBMH.prototype._sbmh_lookup_char=function(e,t){return t<0?this._lookbehind[this._lookbehind_size+t]:e[t]};SBMH.prototype._sbmh_memcmp=function(e,t,o){for(var n=0;n<o;++n){if(this._sbmh_lookup_char(e,t+n)!==this._needle[n]){return false}}return true};e.exports=SBMH},9581:(e,t,o)=>{"use strict";const n=o(7075).Writable;const{inherits:i}=o(7975);const h=o(7182);const p=o(1192);const Q=o(855);const D=o(8929);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...o}=e;this.opts={autoDestroy:false,...o};n.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}i(Busboy,n);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}n.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=D(e["content-type"]);const o={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(p.detect.test(t[0])){return new p(this,o)}if(Q.detect.test(t[0])){return new Q(this,o)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,o){this._parser.write(e,o)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=h},1192:(e,t,o)=>{"use strict";const{Readable:n}=o(7075);const{inherits:i}=o(7975);const h=o(7182);const p=o(8929);const Q=o(2747);const D=o(692);const T=o(2393);const _=/^boundary$/i;const O=/^form-data$/i;const V=/^charset$/i;const j=/^filename$/i;const $=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let o;let n;const i=this;let ee;const te=t.limits;const re=t.isPartAFile||((e,t,o)=>t==="application/octet-stream"||o!==undefined);const se=t.parsedConType||[];const oe=t.defCharset||"utf8";const ne=t.preservePath;const ie={highWaterMark:t.fileHwm};for(o=0,n=se.length;o<n;++o){if(Array.isArray(se[o])&&_.test(se[o][0])){ee=se[o][1];break}}function checkFinished(){if(fe===0&&me&&!e._done){me=false;i.end()}}if(typeof ee!=="string"){throw new Error("Multipart: Boundary not found")}const Ae=T(te,"fieldSize",1*1024*1024);const ae=T(te,"fileSize",Infinity);const ce=T(te,"files",Infinity);const le=T(te,"fields",Infinity);const ue=T(te,"parts",Infinity);const ge=T(te,"headerPairs",2e3);const de=T(te,"headerSize",80*1024);let he=0;let pe=0;let fe=0;let Ee;let Ce;let me=false;this._needDrain=false;this._pause=false;this._cb=undefined;this._nparts=0;this._boy=e;const Ie={boundary:ee,maxHeaderPairs:ge,maxHeaderSize:de,partHwm:ie.highWaterMark,highWaterMark:t.highWaterMark};this.parser=new h(Ie);this.parser.on("drain",(function(){i._needDrain=false;if(i._cb&&!i._pause){const e=i._cb;i._cb=undefined;e()}})).on("part",(function onPart(t){if(++i._nparts>ue){i.parser.removeListener("part",onPart);i.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(Ce){const e=Ce;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(h){let T;let _;let ee;let te;let se;let ue;let ge=0;if(h["content-type"]){ee=p(h["content-type"][0]);if(ee[0]){T=ee[0].toLowerCase();for(o=0,n=ee.length;o<n;++o){if(V.test(ee[o][0])){te=ee[o][1].toLowerCase();break}}}}if(T===undefined){T="text/plain"}if(te===undefined){te=oe}if(h["content-disposition"]){ee=p(h["content-disposition"][0]);if(!O.test(ee[0])){return skipPart(t)}for(o=0,n=ee.length;o<n;++o){if($.test(ee[o][0])){_=ee[o][1]}else if(j.test(ee[o][0])){ue=ee[o][1];if(!ne){ue=D(ue)}}}}else{return skipPart(t)}if(h["content-transfer-encoding"]){se=h["content-transfer-encoding"][0].toLowerCase()}else{se="7bit"}let de,me;if(re(_,T,ue)){if(he===ce){if(!e.hitFilesLimit){e.hitFilesLimit=true;e.emit("filesLimit")}return skipPart(t)}++he;if(e.listenerCount("file")===0){i.parser._ignore();return}++fe;const o=new FileStream(ie);Ee=o;o.on("end",(function(){--fe;i._pause=false;checkFinished();if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}}));o._read=function(e){if(!i._pause){return}i._pause=false;if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}};e.emit("file",_,o,ue,se,T);de=function(e){if((ge+=e.length)>ae){const n=ae-ge+e.length;if(n>0){o.push(e.slice(0,n))}o.truncated=true;o.bytesRead=ae;t.removeAllListeners("data");o.emit("limit");return}else if(!o.push(e)){i._pause=true}o.bytesRead=ge};me=function(){Ee=undefined;o.push(null)}}else{if(pe===le){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++pe;++fe;let o="";let n=false;Ce=t;de=function(e){if((ge+=e.length)>Ae){const i=Ae-(ge-e.length);o+=e.toString("binary",0,i);n=true;t.removeAllListeners("data")}else{o+=e.toString("binary")}};me=function(){Ce=undefined;if(o.length){o=Q(o,"binary",te)}e.emit("field",_,o,false,n,se,T);--fe;checkFinished()}}t._readableState.sync=false;t.on("data",de);t.on("end",me)})).on("error",(function(e){if(Ee){Ee.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){me=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const o=this.parser.write(e);if(o&&!this._pause){t()}else{this._needDrain=!o;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){n.call(this,e);this.bytesRead=0;this.truncated=false}i(FileStream,n);FileStream.prototype._read=function(e){};e.exports=Multipart},855:(e,t,o)=>{"use strict";const n=o(1496);const i=o(2747);const h=o(2393);const p=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const o=t.limits;const i=t.parsedConType;this.boy=e;this.fieldSizeLimit=h(o,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=h(o,"fieldNameSize",100);this.fieldsLimit=h(o,"fields",Infinity);let Q;for(var D=0,T=i.length;D<T;++D){if(Array.isArray(i[D])&&p.test(i[D][0])){Q=i[D][1].toLowerCase();break}}if(Q===undefined){Q=t.defCharset||"utf8"}this.decoder=new n;this.charset=Q;this._fields=0;this._state="key";this._checkingBytes=true;this._bytesKey=0;this._bytesVal=0;this._key="";this._val="";this._keyTrunc=false;this._valTrunc=false;this._hitLimit=false}UrlEncoded.prototype.write=function(e,t){if(this._fields===this.fieldsLimit){if(!this.boy.hitFieldsLimit){this.boy.hitFieldsLimit=true;this.boy.emit("fieldsLimit")}return t()}let o;let n;let h;let p=0;const Q=e.length;while(p<Q){if(this._state==="key"){o=n=undefined;for(h=p;h<Q;++h){if(!this._checkingBytes){++p}if(e[h]===61){o=h;break}else if(e[h]===38){n=h;break}if(this._checkingBytes&&this._bytesKey===this.fieldNameSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesKey}}if(o!==undefined){if(o>p){this._key+=this.decoder.write(e.toString("binary",p,o))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();p=o+1}else if(n!==undefined){++this._fields;let o;const h=this._keyTrunc;if(n>p){o=this._key+=this.decoder.write(e.toString("binary",p,n))}else{o=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(o.length){this.boy.emit("field",i(o,"binary",this.charset),"",h,false)}p=n+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(h>p){this._key+=this.decoder.write(e.toString("binary",p,h))}p=h;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(p<Q){this._key+=this.decoder.write(e.toString("binary",p))}p=Q}}else{n=undefined;for(h=p;h<Q;++h){if(!this._checkingBytes){++p}if(e[h]===38){n=h;break}if(this._checkingBytes&&this._bytesVal===this.fieldSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesVal}}if(n!==undefined){++this._fields;if(n>p){this._val+=this.decoder.write(e.toString("binary",p,n))}this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();p=n+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(h>p){this._val+=this.decoder.write(e.toString("binary",p,h))}p=h;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(p<Q){this._val+=this.decoder.write(e.toString("binary",p))}p=Q}}}t()};UrlEncoded.prototype.end=function(){if(this.boy._done){return}if(this._state==="key"&&this._key.length>0){this.boy.emit("field",i(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},1496:e=>{"use strict";const t=/\+/g;const o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let n="";let i=0;let h=0;const p=e.length;for(;i<p;++i){if(this.buffer!==undefined){if(!o[e.charCodeAt(i)]){n+="%"+this.buffer;this.buffer=undefined;--i}else{this.buffer+=e[i];++h;if(this.buffer.length===2){n+=String.fromCharCode(parseInt(this.buffer,16));this.buffer=undefined}}}else if(e[i]==="%"){if(i>h){n+=e.substring(h,i);h=i}this.buffer="";++h}}if(h<p&&this.buffer===undefined){n+=e.substring(h)}return n};Decoder.prototype.reset=function(){this.buffer=undefined};e.exports=Decoder},692:e=>{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},2747:function(e){"use strict";const t=new TextDecoder("utf-8");const o=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return n.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return n.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return n.utf16le;case"base64":return n.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return n.other.bind(e)}}}const n={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(o.has(this.toString())){try{return o.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,o){if(e){return getDecoder(o)(e,t)}return e}e.exports=decodeText},2393:e=>{"use strict";e.exports=function getLimit(e,t,o){if(!e||e[t]===undefined||e[t]===null){return o}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8929:(e,t,o)=>{"use strict";const n=o(2747);const i=/%[a-fA-F0-9][a-fA-F0-9]/g;const h={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return h[e]}const p=0;const Q=1;const D=2;const T=3;function parseParams(e){const t=[];let o=p;let h="";let _=false;let O=false;let V=0;let j="";const $=e.length;for(var ee=0;ee<$;++ee){const $=e[ee];if($==="\\"&&_){if(O){O=false}else{O=true;continue}}else if($==='"'){if(!O){if(_){_=false;o=p}else{_=true}continue}else{O=false}}else{if(O&&_){j+="\\"}O=false;if((o===D||o===T)&&$==="'"){if(o===D){o=T;h=j.substring(1)}else{o=Q}j="";continue}else if(o===p&&($==="*"||$==="=")&&t.length){o=$==="*"?D:Q;t[V]=[j,undefined];j="";continue}else if(!_&&$===";"){o=p;if(h){if(j.length){j=n(j.replace(i,encodedReplacer),"binary",h)}h=""}else if(j.length){j=n(j,"binary","utf8")}if(t[V]===undefined){t[V]=j}else{t[V][1]=j}j="";++V;continue}else if(!_&&($===" "||$==="\t")){continue}}j+=$}if(h&&j.length){j=n(j.replace(i,encodedReplacer),"binary",h)}else if(j){j=n(j,"binary","utf8")}if(t[V]===undefined){if(j){t[V]=j}}else{t[V][1]=j}return t}e.exports=parseParams},591:e=>{(()=>{"use strict";var t={d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};t.r(o),t.d(o,{XMLBuilder:()=>se,XMLParser:()=>it,XMLValidator:()=>oe});const n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i=new RegExp("^["+n+"]["+n+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function s(e,t){const o=[];let n=t.exec(e);for(;n;){const i=[];i.startIndex=t.lastIndex-n[0].length;const h=n.length;for(let e=0;e<h;e++)i.push(n[e]);o.push(i),n=t.exec(e)}return o}const r=function(e){return!(null==i.exec(e))},h={allowBooleanAttributes:!1,unpairedTags:[]};function a(e,t){t=Object.assign({},h,t);const o=[];let n=!1,i=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let h=0;h<e.length;h++)if("<"===e[h]&&"?"===e[h+1]){if(h+=2,h=u(e,h),h.err)return h}else{if("<"!==e[h]){if(l(e[h]))continue;return m("InvalidChar","char '"+e[h]+"' is not expected.",N(e,h))}{let p=h;if(h++,"!"===e[h]){h=d(e,h);continue}{let Q=!1;"/"===e[h]&&(Q=!0,h++);let D="";for(;h<e.length&&">"!==e[h]&&" "!==e[h]&&"\t"!==e[h]&&"\n"!==e[h]&&"\r"!==e[h];h++)D+=e[h];if(D=D.trim(),"/"===D[D.length-1]&&(D=D.substring(0,D.length-1),h--),!b(D)){let t;return t=0===D.trim().length?"Invalid space after '<'.":"Tag '"+D+"' is an invalid name.",m("InvalidTag",t,N(e,h))}const T=c(e,h);if(!1===T)return m("InvalidAttr","Attributes for '"+D+"' have open quote.",N(e,h));let _=T.value;if(h=T.index,"/"===_[_.length-1]){const o=h-_.length;_=_.substring(0,_.length-1);const i=g(_,t);if(!0!==i)return m(i.err.code,i.err.msg,N(e,o+i.err.line));n=!0}else if(Q){if(!T.tagClosed)return m("InvalidTag","Closing tag '"+D+"' doesn't have proper closing.",N(e,h));if(_.trim().length>0)return m("InvalidTag","Closing tag '"+D+"' can't have attributes or invalid starting.",N(e,p));if(0===o.length)return m("InvalidTag","Closing tag '"+D+"' has not been opened.",N(e,p));{const t=o.pop();if(D!==t.tagName){let o=N(e,t.tagStartPos);return m("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+o.line+", col "+o.col+") instead of closing tag '"+D+"'.",N(e,p))}0==o.length&&(i=!0)}}else{const Q=g(_,t);if(!0!==Q)return m(Q.err.code,Q.err.msg,N(e,h-_.length+Q.err.line));if(!0===i)return m("InvalidXml","Multiple possible root nodes found.",N(e,h));-1!==t.unpairedTags.indexOf(D)||o.push({tagName:D,tagStartPos:p}),n=!0}for(h++;h<e.length;h++)if("<"===e[h]){if("!"===e[h+1]){h++,h=d(e,h);continue}if("?"!==e[h+1])break;if(h=u(e,++h),h.err)return h}else if("&"===e[h]){const t=x(e,h);if(-1==t)return m("InvalidChar","char '&' is not expected.",N(e,h));h=t}else if(!0===i&&!l(e[h]))return m("InvalidXml","Extra text at the end",N(e,h));"<"===e[h]&&h--}}}return n?1==o.length?m("InvalidTag","Unclosed tag '"+o[0].tagName+"'.",N(e,o[0].tagStartPos)):!(o.length>0)||m("InvalidXml","Invalid '"+JSON.stringify(o.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):m("InvalidXml","Start tag expected.",1)}function l(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function u(e,t){const o=t;for(;t<e.length;t++)if("?"==e[t]||" "==e[t]){const n=e.substr(o,t-o);if(t>5&&"xml"===n)return m("InvalidXml","XML declaration allowed only at the start of the document.",N(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}continue}return t}function d(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let o=1;for(t+=8;t<e.length;t++)if("<"===e[t])o++;else if(">"===e[t]&&(o--,0===o))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}const p='"',Q="'";function c(e,t){let o="",n="",i=!1;for(;t<e.length;t++){if(e[t]===p||e[t]===Q)""===n?n=e[t]:n!==e[t]||(n="");else if(">"===e[t]&&""===n){i=!0;break}o+=e[t]}return""===n&&{value:o,index:t,tagClosed:i}}const D=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function g(e,t){const o=s(e,D),n={};for(let e=0;e<o.length;e++){if(0===o[e][1].length)return m("InvalidAttr","Attribute '"+o[e][2]+"' has no space in starting.",y(o[e]));if(void 0!==o[e][3]&&void 0===o[e][4])return m("InvalidAttr","Attribute '"+o[e][2]+"' is without value.",y(o[e]));if(void 0===o[e][3]&&!t.allowBooleanAttributes)return m("InvalidAttr","boolean attribute '"+o[e][2]+"' is not allowed.",y(o[e]));const i=o[e][2];if(!E(i))return m("InvalidAttr","Attribute '"+i+"' is an invalid name.",y(o[e]));if(Object.prototype.hasOwnProperty.call(n,i))return m("InvalidAttr","Attribute '"+i+"' is repeated.",y(o[e]));n[i]=1}return!0}function x(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let o=/\d/;for("x"===e[t]&&(t++,o=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(o))break}return-1}(e,++t);let o=0;for(;t<e.length;t++,o++)if(!(e[t].match(/\w/)&&o<20)){if(";"===e[t])break;return-1}return t}function m(e,t,o){return{err:{code:e,msg:t,line:o.line||o,col:o.col}}}function E(e){return r(e)}function b(e){return r(e)}function N(e,t){const o=e.substring(0,t).split(/\r?\n/);return{line:o.length,col:o[o.length-1].length+1}}function y(e){return e.startIndex+e[1].length}const T={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,o){return e},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0};function w(e){return"boolean"==typeof e?{enabled:e,maxEntitySize:1e4,maxExpansionDepth:10,maxTotalExpansions:1e3,maxExpandedLength:1e5,allowedTags:null,tagFilter:null}:"object"==typeof e&&null!==e?{enabled:!1!==e.enabled,maxEntitySize:e.maxEntitySize??1e4,maxExpansionDepth:e.maxExpansionDepth??10,maxTotalExpansions:e.maxTotalExpansions??1e3,maxExpandedLength:e.maxExpandedLength??1e5,allowedTags:e.allowedTags??null,tagFilter:e.tagFilter??null}:w(!0)}const v=function(e){const t=Object.assign({},T,e);return t.processEntities=w(t.processEntities),t};let _;_="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class I{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==t&&(this.child[this.child.length-1][_]={startIndex:t})}static getMetaDataSymbol(){return _}}class P{constructor(e){this.suppressValidationErr=!e,this.options=e}readDocType(e,t){const o=Object.create(null);if("O"!==e[t+3]||"C"!==e[t+4]||"T"!==e[t+5]||"Y"!==e[t+6]||"P"!==e[t+7]||"E"!==e[t+8])throw new Error("Invalid Tag instead of DOCTYPE");{t+=9;let n=1,i=!1,h=!1,p="";for(;t<e.length;t++)if("<"!==e[t]||h)if(">"===e[t]){if(h?"-"===e[t-1]&&"-"===e[t-2]&&(h=!1,n--):n--,0===n)break}else"["===e[t]?i=!0:p+=e[t];else{if(i&&S(e,"!ENTITY",t)){let n,i;if(t+=7,[n,i,t]=this.readEntityExp(e,t+1,this.suppressValidationErr),-1===i.indexOf("&")){const e=n.replace(/[.\-+*:]/g,"\\.");o[n]={regx:RegExp(`&${e};`,"g"),val:i}}}else if(i&&S(e,"!ELEMENT",t)){t+=8;const{index:o}=this.readElementExp(e,t+1);t=o}else if(i&&S(e,"!ATTLIST",t))t+=8;else if(i&&S(e,"!NOTATION",t)){t+=9;const{index:o}=this.readNotationExp(e,t+1,this.suppressValidationErr);t=o}else{if(!S(e,"!--",t))throw new Error("Invalid DOCTYPE");h=!0}n++,p=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:o,i:t}}readEntityExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t])&&'"'!==e[t]&&"'"!==e[t];)o+=e[t],t++;if(C(o),t=A(e,t),!this.suppressValidationErr){if("SYSTEM"===e.substring(t,t+6).toUpperCase())throw new Error("External entities are not supported");if("%"===e[t])throw new Error("Parameter entities are not supported")}let n="";if([t,n]=this.readIdentifierVal(e,t,"entity"),!1!==this.options.enabled&&this.options.maxEntitySize&&n.length>this.options.maxEntitySize)throw new Error(`Entity "${o}" size (${n.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[o,n,--t]}readNotationExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t]);)o+=e[t],t++;!this.suppressValidationErr&&C(o),t=A(e,t);const n=e.substring(t,t+6).toUpperCase();if(!this.suppressValidationErr&&"SYSTEM"!==n&&"PUBLIC"!==n)throw new Error(`Expected SYSTEM or PUBLIC, found "${n}"`);t+=n.length,t=A(e,t);let i=null,h=null;if("PUBLIC"===n)[t,i]=this.readIdentifierVal(e,t,"publicIdentifier"),'"'!==e[t=A(e,t)]&&"'"!==e[t]||([t,h]=this.readIdentifierVal(e,t,"systemIdentifier"));else if("SYSTEM"===n&&([t,h]=this.readIdentifierVal(e,t,"systemIdentifier"),!this.suppressValidationErr&&!h))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:o,publicIdentifier:i,systemIdentifier:h,index:--t}}readIdentifierVal(e,t,o){let n="";const i=e[t];if('"'!==i&&"'"!==i)throw new Error(`Expected quoted string, found "${i}"`);for(t++;t<e.length&&e[t]!==i;)n+=e[t],t++;if(e[t]!==i)throw new Error(`Unterminated ${o} value`);return[++t,n]}readElementExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t]);)o+=e[t],t++;if(!this.suppressValidationErr&&!r(o))throw new Error(`Invalid element name: "${o}"`);let n="";if("E"===e[t=A(e,t)]&&S(e,"MPTY",t))t+=4;else if("A"===e[t]&&S(e,"NY",t))t+=2;else if("("===e[t]){for(t++;t<e.length&&")"!==e[t];)n+=e[t],t++;if(")"!==e[t])throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[t]}"`);return{elementName:o,contentModel:n.trim(),index:t}}readAttlistExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t]);)o+=e[t],t++;C(o),t=A(e,t);let n="";for(;t<e.length&&!/\s/.test(e[t]);)n+=e[t],t++;if(!C(n))throw new Error(`Invalid attribute name: "${n}"`);t=A(e,t);let i="";if("NOTATION"===e.substring(t,t+8).toUpperCase()){if(i="NOTATION","("!==e[t=A(e,t+=8)])throw new Error(`Expected '(', found "${e[t]}"`);t++;let o=[];for(;t<e.length&&")"!==e[t];){let n="";for(;t<e.length&&"|"!==e[t]&&")"!==e[t];)n+=e[t],t++;if(n=n.trim(),!C(n))throw new Error(`Invalid notation name: "${n}"`);o.push(n),"|"===e[t]&&(t++,t=A(e,t))}if(")"!==e[t])throw new Error("Unterminated list of notations");t++,i+=" ("+o.join("|")+")"}else{for(;t<e.length&&!/\s/.test(e[t]);)i+=e[t],t++;const o=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!o.includes(i.toUpperCase()))throw new Error(`Invalid attribute type: "${i}"`)}t=A(e,t);let h="";return"#REQUIRED"===e.substring(t,t+8).toUpperCase()?(h="#REQUIRED",t+=8):"#IMPLIED"===e.substring(t,t+7).toUpperCase()?(h="#IMPLIED",t+=7):[t,h]=this.readIdentifierVal(e,t,"ATTLIST"),{elementName:o,attributeName:n,attributeType:i,defaultValue:h,index:t}}}const A=(e,t)=>{for(;t<e.length&&/\s/.test(e[t]);)t++;return t};function S(e,t,o){for(let n=0;n<t.length;n++)if(t[n]!==e[o+n+1])return!1;return!0}function C(e){if(r(e))return e;throw new Error(`Invalid entity name ${e}`)}const O=/^[-+]?0x[a-fA-F0-9]+$/,V=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,j={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};const $=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class L{constructor(e){var t;if(this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>K(t,10,"&#")},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>K(t,16,"&#x")}},this.addExternalEntities=F,this.parseXml=R,this.parseTextData=M,this.resolveNameSpace=k,this.buildAttributesMap=U,this.isItStopNode=X,this.replaceEntitiesValue=Y,this.readStopNodeData=q,this.saveTextToParentTag=G,this.addChild=B,this.ignoreAttributesFn="function"==typeof(t=this.options.ignoreAttributes)?t:Array.isArray(t)?e=>{for(const o of t){if("string"==typeof o&&e===o)return!0;if(o instanceof RegExp&&o.test(e))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0,this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodesExact=new Set,this.stopNodesWildcard=new Set;for(let e=0;e<this.options.stopNodes.length;e++){const t=this.options.stopNodes[e];"string"==typeof t&&(t.startsWith("*.")?this.stopNodesWildcard.add(t.substring(2)):this.stopNodesExact.add(t))}}}}function F(e){const t=Object.keys(e);for(let o=0;o<t.length;o++){const n=t[o],i=n.replace(/[.\-+*:]/g,"\\.");this.lastEntities[n]={regex:new RegExp("&"+i+";","g"),val:e[n]}}}function M(e,t,o,n,i,h,p){if(void 0!==e&&(this.options.trimValues&&!n&&(e=e.trim()),e.length>0)){p||(e=this.replaceEntitiesValue(e,t,o));const n=this.options.tagValueProcessor(t,e,o,i,h);return null==n?e:typeof n!=typeof e||n!==e?n:this.options.trimValues||e.trim()===e?Z(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function k(e){if(this.options.removeNSPrefix){const t=e.split(":"),o="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=o+t[1])}return e}const ee=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function U(e,t,o){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){const n=s(e,ee),i=n.length,h={};for(let e=0;e<i;e++){const i=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(i,t))continue;let p=n[e][4],Q=this.options.attributeNamePrefix+i;if(i.length)if(this.options.transformAttributeName&&(Q=this.options.transformAttributeName(Q)),"__proto__"===Q&&(Q="#__proto__"),void 0!==p){this.options.trimValues&&(p=p.trim()),p=this.replaceEntitiesValue(p,o,t);const e=this.options.attributeValueProcessor(i,p,t);h[Q]=null==e?p:typeof e!=typeof p||e!==p?e:Z(p,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(h[Q]=!0)}if(!Object.keys(h).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=h,e}return h}}const R=function(e){e=e.replace(/\r\n?/g,"\n");const t=new I("!xml");let o=t,n="",i="";this.entityExpansionCount=0,this.currentExpandedLength=0;const h=new P(this.options.processEntities);for(let p=0;p<e.length;p++)if("<"===e[p])if("/"===e[p+1]){const t=z(e,">",p,"Closing Tag is not closed.");let h=e.substring(p+2,t).trim();if(this.options.removeNSPrefix){const e=h.indexOf(":");-1!==e&&(h=h.substr(e+1))}this.options.transformTagName&&(h=this.options.transformTagName(h)),o&&(n=this.saveTextToParentTag(n,o,i));const Q=i.substring(i.lastIndexOf(".")+1);if(h&&-1!==this.options.unpairedTags.indexOf(h))throw new Error(`Unpaired tag can not be used as closing tag: </${h}>`);let D=0;Q&&-1!==this.options.unpairedTags.indexOf(Q)?(D=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):D=i.lastIndexOf("."),i=i.substring(0,D),o=this.tagsNodeStack.pop(),n="",p=t}else if("?"===e[p+1]){let t=W(e,p,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,o,i),this.options.ignoreDeclaration&&"?xml"===t.tagName||this.options.ignorePiTags);else{const e=new I(t.tagName);e.add(this.options.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[":@"]=this.buildAttributesMap(t.tagExp,i,t.tagName)),this.addChild(o,e,i,p)}p=t.closeIndex+1}else if("!--"===e.substr(p+1,3)){const t=z(e,"--\x3e",p+4,"Comment is not closed.");if(this.options.commentPropName){const h=e.substring(p+4,t-2);n=this.saveTextToParentTag(n,o,i),o.add(this.options.commentPropName,[{[this.options.textNodeName]:h}])}p=t}else if("!D"===e.substr(p+1,2)){const t=h.readDocType(e,p);this.docTypeEntities=t.entities,p=t.i}else if("!["===e.substr(p+1,2)){const t=z(e,"]]>",p,"CDATA is not closed.")-2,h=e.substring(p+9,t);n=this.saveTextToParentTag(n,o,i);let Q=this.parseTextData(h,o.tagname,i,!0,!1,!0,!0);null==Q&&(Q=""),this.options.cdataPropName?o.add(this.options.cdataPropName,[{[this.options.textNodeName]:h}]):o.add(this.options.textNodeName,Q),p=t+2}else{let h=W(e,p,this.options.removeNSPrefix),Q=h.tagName;const D=h.rawTagName;let T=h.tagExp,_=h.attrExpPresent,O=h.closeIndex;if(this.options.transformTagName){const e=this.options.transformTagName(Q);T===Q&&(T=e),Q=e}if(this.options.strictReservedNames&&(Q===this.options.commentPropName||Q===this.options.cdataPropName))throw new Error(`Invalid tag name: ${Q}`);o&&n&&"!xml"!==o.tagname&&(n=this.saveTextToParentTag(n,o,i,!1));const V=o;V&&-1!==this.options.unpairedTags.indexOf(V.tagname)&&(o=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),Q!==t.tagname&&(i+=i?"."+Q:Q);const j=p;if(this.isItStopNode(this.stopNodesExact,this.stopNodesWildcard,i,Q)){let t="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)"/"===Q[Q.length-1]?(Q=Q.substr(0,Q.length-1),i=i.substr(0,i.length-1),T=Q):T=T.substr(0,T.length-1),p=h.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(Q))p=h.closeIndex;else{const o=this.readStopNodeData(e,D,O+1);if(!o)throw new Error(`Unexpected end of ${D}`);p=o.i,t=o.tagContent}const n=new I(Q);Q!==T&&_&&(n[":@"]=this.buildAttributesMap(T,i,Q)),t&&(t=this.parseTextData(t,Q,i,!0,_,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),n.add(this.options.textNodeName,t),this.addChild(o,n,i,j)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){if("/"===Q[Q.length-1]?(Q=Q.substr(0,Q.length-1),i=i.substr(0,i.length-1),T=Q):T=T.substr(0,T.length-1),this.options.transformTagName){const e=this.options.transformTagName(Q);T===Q&&(T=e),Q=e}const e=new I(Q);Q!==T&&_&&(e[":@"]=this.buildAttributesMap(T,i,Q)),this.addChild(o,e,i,j),i=i.substr(0,i.lastIndexOf("."))}else{if(-1!==this.options.unpairedTags.indexOf(Q)){const e=new I(Q);Q!==T&&_&&(e[":@"]=this.buildAttributesMap(T,i)),this.addChild(o,e,i,j),i=i.substr(0,i.lastIndexOf(".")),p=h.closeIndex;continue}{const e=new I(Q);if(this.tagsNodeStack.length>this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(o),Q!==T&&_&&(e[":@"]=this.buildAttributesMap(T,i,Q)),this.addChild(o,e,i,j),o=e}}n="",p=O}}else n+=e[p];return t.child};function B(e,t,o,n){this.options.captureMetaData||(n=void 0);const i=this.options.updateTag(t.tagname,o,t[":@"]);!1===i||("string"==typeof i?(t.tagname=i,e.addChild(t,n)):e.addChild(t,n))}const Y=function(e,t,o){if(-1===e.indexOf("&"))return e;const n=this.options.processEntities;if(!n.enabled)return e;if(n.allowedTags&&!n.allowedTags.includes(t))return e;if(n.tagFilter&&!n.tagFilter(t,o))return e;for(let t in this.docTypeEntities){const o=this.docTypeEntities[t],i=e.match(o.regx);if(i){if(this.entityExpansionCount+=i.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions)throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);const t=e.length;if(e=e.replace(o.regx,o.val),n.maxExpandedLength&&(this.currentExpandedLength+=e.length-t,this.currentExpandedLength>n.maxExpandedLength))throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${n.maxExpandedLength}`)}}if(-1===e.indexOf("&"))return e;for(let t in this.lastEntities){const o=this.lastEntities[t];e=e.replace(o.regex,o.val)}if(-1===e.indexOf("&"))return e;if(this.options.htmlEntities)for(let t in this.htmlEntities){const o=this.htmlEntities[t];e=e.replace(o.regex,o.val)}return e.replace(this.ampEntity.regex,this.ampEntity.val)};function G(e,t,o,n){return e&&(void 0===n&&(n=0===t.child.length),void 0!==(e=this.parseTextData(e,t.tagname,o,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,n))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function X(e,t,o,n){return!(!t||!t.has(n))||!(!e||!e.has(o))}function z(e,t,o,n){const i=e.indexOf(t,o);if(-1===i)throw new Error(n);return i+t.length-1}function W(e,t,o,n=">"){const i=function(e,t,o=">"){let n,i="";for(let h=t;h<e.length;h++){let t=e[h];if(n)t===n&&(n="");else if('"'===t||"'"===t)n=t;else if(t===o[0]){if(!o[1])return{data:i,index:h};if(e[h+1]===o[1])return{data:i,index:h}}else"\t"===t&&(t=" ");i+=t}}(e,t+1,n);if(!i)return;let h=i.data;const p=i.index,Q=h.search(/\s/);let D=h,T=!0;-1!==Q&&(D=h.substring(0,Q),h=h.substring(Q+1).trimStart());const _=D;if(o){const e=D.indexOf(":");-1!==e&&(D=D.substr(e+1),T=D!==i.data.substr(e+1))}return{tagName:D,tagExp:h,closeIndex:p,attrExpPresent:T,rawTagName:_}}function q(e,t,o){const n=o;let i=1;for(;o<e.length;o++)if("<"===e[o])if("/"===e[o+1]){const h=z(e,">",o,`${t} is not closed`);if(e.substring(o+2,h).trim()===t&&(i--,0===i))return{tagContent:e.substring(n,o),i:h};o=h}else if("?"===e[o+1])o=z(e,"?>",o+1,"StopNode is not closed.");else if("!--"===e.substr(o+1,3))o=z(e,"--\x3e",o+3,"StopNode is not closed.");else if("!["===e.substr(o+1,2))o=z(e,"]]>",o,"StopNode is not closed.")-2;else{const n=W(e,o,">");n&&((n&&n.tagName)===t&&"/"!==n.tagExp[n.tagExp.length-1]&&i++,o=n.closeIndex)}}function Z(e,t,o){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&function(e,t={}){if(t=Object.assign({},j,t),!e||"string"!=typeof e)return e;let o=e.trim();if(void 0!==t.skipLike&&t.skipLike.test(o))return e;if("0"===e)return 0;if(t.hex&&O.test(o))return function(e){if(parseInt)return parseInt(e,16);if(Number.parseInt)return Number.parseInt(e,16);if(window&&window.parseInt)return window.parseInt(e,16);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}(o);if(o.includes("e")||o.includes("E"))return function(e,t,o){if(!o.eNotation)return e;const n=t.match($);if(n){let i=n[1]||"";const h=-1===n[3].indexOf("e")?"E":"e",p=n[2],Q=i?e[p.length+1]===h:e[p.length]===h;return p.length>1&&Q?e:1!==p.length||!n[3].startsWith(`.${h}`)&&n[3][0]!==h?o.leadingZeros&&!Q?(t=(n[1]||"")+n[3],Number(t)):e:Number(t)}return e}(e,o,t);{const i=V.exec(o);if(i){const h=i[1]||"",p=i[2];let Q=(n=i[3])&&-1!==n.indexOf(".")?("."===(n=n.replace(/0+$/,""))?n="0":"."===n[0]?n="0"+n:"."===n[n.length-1]&&(n=n.substring(0,n.length-1)),n):n;const D=h?"."===e[p.length+1]:"."===e[p.length];if(!t.leadingZeros&&(p.length>1||1===p.length&&!D))return e;{const n=Number(o),i=String(n);if(0===n)return n;if(-1!==i.search(/[eE]/))return t.eNotation?n:e;if(-1!==o.indexOf("."))return"0"===i||i===Q||i===`${h}${Q}`?n:e;let D=p?Q:o;return p?D===i||h+D===i?n:e:D===i||D===h+i?n:e}}return e}var n}(e,o)}return void 0!==e?e:""}function K(e,t,o){const n=Number.parseInt(e,t);return n>=0&&n<=1114111?String.fromCodePoint(n):o+e+";"}const te=I.getMetaDataSymbol();function J(e,t){return H(e,t)}function H(e,t,o){let n;const i={};for(let h=0;h<e.length;h++){const p=e[h],Q=tt(p);let D="";if(D=void 0===o?Q:o+"."+Q,Q===t.textNodeName)void 0===n?n=p[Q]:n+=""+p[Q];else{if(void 0===Q)continue;if(p[Q]){let e=H(p[Q],t,D);const o=nt(e,t);p[":@"]?et(e,p[":@"],D,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]="":e=""):e=e[t.textNodeName],void 0!==p[te]&&"object"==typeof e&&null!==e&&(e[te]=p[te]),void 0!==i[Q]&&Object.prototype.hasOwnProperty.call(i,Q)?(Array.isArray(i[Q])||(i[Q]=[i[Q]]),i[Q].push(e)):t.isArray(Q,D,o)?i[Q]=[e]:i[Q]=e}}}return"string"==typeof n?n.length>0&&(i[t.textNodeName]=n):void 0!==n&&(i[t.textNodeName]=n),i}function tt(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const o=t[e];if(":@"!==o)return o}}function et(e,t,o,n){if(t){const i=Object.keys(t),h=i.length;for(let p=0;p<h;p++){const h=i[p];n.isArray(h,o+"."+h,!0,!0)?e[h]=[t[h]]:e[h]=t[h]}}}function nt(e,t){const{textNodeName:o}=t,n=Object.keys(e).length;return 0===n||!(1!==n||!e[o]&&"boolean"!=typeof e[o]&&0!==e[o])}class it{constructor(e){this.externalEntities={},this.options=v(e)}parse(e,t){if("string"!=typeof e&&e.toString)e=e.toString();else if("string"!=typeof e)throw new Error("XML data is accepted in String or Bytes[] form.");if(t){!0===t&&(t={});const o=a(e,t);if(!0!==o)throw Error(`${o.err.msg}:${o.err.line}:${o.err.col}`)}const o=new L(this.options);o.addExternalEntities(this.externalEntities);const n=o.parseXml(e);return this.options.preserveOrder||void 0===n?n:J(n,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return I.getMetaDataSymbol()}}function st(e,t){let o="";return t.format&&t.indentBy.length>0&&(o="\n"),rt(e,t,"",o)}function rt(e,t,o,n){let i="",h=!1;if(!Array.isArray(e)){if(null!=e){let o=e.toString();return o=ut(o,t),o}return""}for(let p=0;p<e.length;p++){const Q=e[p],D=ot(Q);if(void 0===D)continue;let T="";if(T=0===o.length?D:`${o}.${D}`,D===t.textNodeName){let e=Q[D];lt(T,t)||(e=t.tagValueProcessor(D,e),e=ut(e,t)),h&&(i+=n),i+=e,h=!1;continue}if(D===t.cdataPropName){h&&(i+=n),i+=`<![CDATA[${Q[D][0][t.textNodeName]}]]>`,h=!1;continue}if(D===t.commentPropName){i+=n+`\x3c!--${Q[D][0][t.textNodeName]}--\x3e`,h=!0;continue}if("?"===D[0]){const e=at(Q[":@"],t),o="?xml"===D?"":n;let p=Q[D][0][t.textNodeName];p=0!==p.length?" "+p:"",i+=o+`<${D}${p}${e}?>`,h=!0;continue}let _=n;""!==_&&(_+=t.indentBy);const O=n+`<${D}${at(Q[":@"],t)}`,V=rt(Q[D],t,T,_);-1!==t.unpairedTags.indexOf(D)?t.suppressUnpairedNode?i+=O+">":i+=O+"/>":V&&0!==V.length||!t.suppressEmptyNode?V&&V.endsWith(">")?i+=O+`>${V}${n}</${D}>`:(i+=O+">",V&&""!==n&&(V.includes("/>")||V.includes("</"))?i+=n+t.indentBy+V+n:i+=V,i+=`</${D}>`):i+=O+"/>",h=!0}return i}function ot(e){const t=Object.keys(e);for(let o=0;o<t.length;o++){const n=t[o];if(Object.prototype.hasOwnProperty.call(e,n)&&":@"!==n)return n}}function at(e,t){let o="";if(e&&!t.ignoreAttributes)for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let i=t.attributeValueProcessor(n,e[n]);i=ut(i,t),!0===i&&t.suppressBooleanAttributes?o+=` ${n.substr(t.attributeNamePrefix.length)}`:o+=` ${n.substr(t.attributeNamePrefix.length)}="${i}"`}return o}function lt(e,t){let o=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(".")+1);for(let n in t.stopNodes)if(t.stopNodes[n]===e||t.stopNodes[n]==="*."+o)return!0;return!1}function ut(e,t){if(e&&e.length>0&&t.processEntities)for(let o=0;o<t.entities.length;o++){const n=t.entities[o];e=e.replace(n.regex,n.val)}return e}const re={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function ht(e){var t;this.options=Object.assign({},re,e),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(t=this.options.ignoreAttributes)?t:Array.isArray(t)?e=>{for(const o of t){if("string"==typeof o&&e===o)return!0;if(o instanceof RegExp&&o.test(e))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=ft),this.processTextOrObjNode=pt,this.options.format?(this.indentate=ct,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function pt(e,t,o,n){const i=this.j2x(e,o+1,n.concat(t));return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,o):this.buildObjectNode(i.val,t,i.attrStr,o)}function ct(e){return this.options.indentBy.repeat(e)}function ft(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}ht.prototype.build=function(e){return this.options.preserveOrder?st(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)},ht.prototype.j2x=function(e,t,o){let n="",i="";const h=o.join(".");for(let p in e)if(Object.prototype.hasOwnProperty.call(e,p))if(void 0===e[p])this.isAttribute(p)&&(i+="");else if(null===e[p])this.isAttribute(p)||p===this.options.cdataPropName?i+="":"?"===p[0]?i+=this.indentate(t)+"<"+p+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+p+"/"+this.tagEndChar;else if(e[p]instanceof Date)i+=this.buildTextValNode(e[p],p,"",t);else if("object"!=typeof e[p]){const o=this.isAttribute(p);if(o&&!this.ignoreAttributesFn(o,h))n+=this.buildAttrPairStr(o,""+e[p]);else if(!o)if(p===this.options.textNodeName){let t=this.options.tagValueProcessor(p,""+e[p]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[p],p,"",t)}else if(Array.isArray(e[p])){const n=e[p].length;let h="",Q="";for(let D=0;D<n;D++){const n=e[p][D];if(void 0===n);else if(null===n)"?"===p[0]?i+=this.indentate(t)+"<"+p+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+p+"/"+this.tagEndChar;else if("object"==typeof n)if(this.options.oneListGroup){const e=this.j2x(n,t+1,o.concat(p));h+=e.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(Q+=e.attrStr)}else h+=this.processTextOrObjNode(n,p,t,o);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(p,n);e=this.replaceEntitiesValue(e),h+=e}else h+=this.buildTextValNode(n,p,"",t)}this.options.oneListGroup&&(h=this.buildObjectNode(h,p,Q,t)),i+=h}else if(this.options.attributesGroupName&&p===this.options.attributesGroupName){const t=Object.keys(e[p]),o=t.length;for(let i=0;i<o;i++)n+=this.buildAttrPairStr(t[i],""+e[p][t[i]])}else i+=this.processTextOrObjNode(e[p],p,t,o);return{attrStr:n,val:i}},ht.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+t+'"'},ht.prototype.buildObjectNode=function(e,t,o,n){if(""===e)return"?"===t[0]?this.indentate(n)+"<"+t+o+"?"+this.tagEndChar:this.indentate(n)+"<"+t+o+this.closeTag(t)+this.tagEndChar;{let i="</"+t+this.tagEndChar,h="";return"?"===t[0]&&(h="?",i=""),!o&&""!==o||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===h.length?this.indentate(n)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(n)+"<"+t+o+h+this.tagEndChar+e+this.indentate(n)+i:this.indentate(n)+"<"+t+o+h+">"+e+i}},ht.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},ht.prototype.buildTextValNode=function(e,t,o,n){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(n)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(n)+"<"+t+o+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(n)+"<"+t+o+this.closeTag(t)+this.tagEndChar:this.indentate(n)+"<"+t+o+">"+i+"</"+t+this.tagEndChar}},ht.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const o=this.options.entities[t];e=e.replace(o.regex,o.val)}return e};const se=ht,oe={validate:a};e.exports=o})()},245:e=>{"use strict";e.exports=JSON.parse('{"name":"@aws-sdk/client-pricing","description":"AWS SDK for JavaScript Pricing Client for Node.js, Browser and React Native","version":"3.1004.0","scripts":{"build":"concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline client-pricing","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo pricing","test:index":"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.973.18","@aws-sdk/credential-provider-node":"^3.972.18","@aws-sdk/middleware-host-header":"^3.972.7","@aws-sdk/middleware-logger":"^3.972.7","@aws-sdk/middleware-recursion-detection":"^3.972.7","@aws-sdk/middleware-user-agent":"^3.972.19","@aws-sdk/region-config-resolver":"^3.972.7","@aws-sdk/types":"^3.973.5","@aws-sdk/util-endpoints":"^3.996.4","@aws-sdk/util-user-agent-browser":"^3.972.7","@aws-sdk/util-user-agent-node":"^3.973.4","@smithy/config-resolver":"^4.4.10","@smithy/core":"^3.23.8","@smithy/fetch-http-handler":"^5.3.13","@smithy/hash-node":"^4.2.11","@smithy/invalid-dependency":"^4.2.11","@smithy/middleware-content-length":"^4.2.11","@smithy/middleware-endpoint":"^4.4.22","@smithy/middleware-retry":"^4.4.39","@smithy/middleware-serde":"^4.2.12","@smithy/middleware-stack":"^4.2.11","@smithy/node-config-provider":"^4.3.11","@smithy/node-http-handler":"^4.4.14","@smithy/protocol-http":"^5.3.11","@smithy/smithy-client":"^4.12.2","@smithy/types":"^4.13.0","@smithy/url-parser":"^4.2.11","@smithy/util-base64":"^4.3.2","@smithy/util-body-length-browser":"^4.2.2","@smithy/util-body-length-node":"^4.2.3","@smithy/util-defaults-mode-browser":"^4.3.38","@smithy/util-defaults-mode-node":"^4.2.41","@smithy/util-endpoints":"^3.3.2","@smithy/util-middleware":"^4.2.11","@smithy/util-retry":"^4.2.11","@smithy/util-utf8":"^4.2.2","tslib":"^2.6.2"},"devDependencies":{"@tsconfig/node20":"20.1.8","@types/node":"^20.14.8","concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"engines":{"node":">=20.0.0"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-pricing","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-pricing"}}')}};var t={};function __nccwpck_require__(o){var n=t[o];if(n!==undefined){return n.exports}var i=t[o]={exports:{}};var h=true;try{e[o].call(i.exports,i,i.exports,__nccwpck_require__);h=false}finally{if(h)delete t[o]}return i.exports}__nccwpck_require__.m=e;(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(o,n){if(n&1)o=this(o);if(n&8)return o;if(typeof o==="object"&&o){if(n&4&&o.__esModule)return o;if(n&16&&typeof o.then==="function")return o}var i=Object.create(null);__nccwpck_require__.r(i);var h={};t=t||[null,e({}),e([]),e(e)];for(var p=n&2&&o;typeof p=="object"&&!~t.indexOf(p);p=e(p)){Object.getOwnPropertyNames(p).forEach((e=>h[e]=()=>o[e]))}h["default"]=()=>o;__nccwpck_require__.d(i,h);return i}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var o in t){if(__nccwpck_require__.o(t,o)&&!__nccwpck_require__.o(e,o)){Object.defineProperty(e,o,{enumerable:true,get:t[o]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=e=>Promise.all(Object.keys(__nccwpck_require__.f).reduce(((t,o)=>{__nccwpck_require__.f[o](e,t);return t}),[]))})();(()=>{__nccwpck_require__.u=e=>""+e+".index.js"})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";(()=>{var e={792:1};var installChunk=t=>{var o=t.modules,n=t.ids,i=t.runtime;for(var h in o){if(__nccwpck_require__.o(o,h)){__nccwpck_require__.m[h]=o[h]}}if(i)i(__nccwpck_require__);for(var p=0;p<n.length;p++)e[n[p]]=1};__nccwpck_require__.f.require=(t,o)=>{if(!e[t]){if(true){installChunk(require("./"+__nccwpck_require__.u(t)))}else e[t]=1}}})();var o=__nccwpck_require__(218);module.exports=o})();
4
+ /*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */h[i-4]=this.maskKey[0];h[i-3]=this.maskKey[1];h[i-2]=this.maskKey[2];h[i-1]=this.maskKey[3];h[1]=o;if(o===126){h.writeUInt16BE(t,2)}else if(o===127){h[2]=h[3]=0;h.writeUIntBE(t,4,6)}h[1]|=128;for(let e=0;e<t;e++){h[i+e]=this.frameData[e]^this.maskKey[e%4]}return h}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},3171:(e,t,o)=>{"use strict";const{Writable:n}=o(2203);const i=o(1637);const{parserStates:h,opcodes:p,states:Q,emptyBuffer:D}=o(5913);const{kReadyState:T,kSentClose:_,kResponse:O,kReceivedClose:V}=o(2933);const{isValidStatusCode:j,failWebsocketConnection:$,websocketMessageReceived:ee}=o(3574);const{WebsocketFrameSend:te}=o(1237);const re={};re.ping=i.channel("undici:websocket:ping");re.pong=i.channel("undici:websocket:pong");class ByteParser extends n{#i=[];#A=0;#a=h.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,o){this.#i.push(e);this.#A+=e.length;this.run(o)}run(e){while(true){if(this.#a===h.INFO){if(this.#A<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==p.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==p.BINARY&&this.#c.opcode!==p.TEXT){$(this.ws,"Invalid frame type was fragmented.");return}const o=t[1]&127;if(o<=125){this.#c.payloadLength=o;this.#a=h.READ_DATA}else if(o===126){this.#a=h.PAYLOADLENGTH_16}else if(o===127){this.#a=h.PAYLOADLENGTH_64}if(this.#c.fragmented&&o>125){$(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===p.PING||this.#c.opcode===p.PONG||this.#c.opcode===p.CLOSE)&&o>125){$(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===p.CLOSE){if(o===1){$(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(o);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[_]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new te(e);this.ws[O].socket.write(t.createFrame(p.CLOSE),(e=>{if(!e){this.ws[_]=true}}))}this.ws[T]=Q.CLOSING;this.ws[V]=true;this.end();return}else if(this.#c.opcode===p.PING){const t=this.consume(o);if(!this.ws[V]){const e=new te(t);this.ws[O].socket.write(e.createFrame(p.PONG));if(re.ping.hasSubscribers){re.ping.publish({payload:t})}}this.#a=h.INFO;if(this.#A>0){continue}else{e();return}}else if(this.#c.opcode===p.PONG){const t=this.consume(o);if(re.pong.hasSubscribers){re.pong.publish({payload:t})}if(this.#A>0){continue}else{e();return}}}else if(this.#a===h.PAYLOADLENGTH_16){if(this.#A<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=h.READ_DATA}else if(this.#a===h.PAYLOADLENGTH_64){if(this.#A<8){return e()}const t=this.consume(8);const o=t.readUInt32BE(0);if(o>2**31-1){$(this.ws,"Received payload length > 2^31 bytes.");return}const n=t.readUInt32BE(4);this.#c.payloadLength=(o<<8)+n;this.#a=h.READ_DATA}else if(this.#a===h.READ_DATA){if(this.#A<this.#c.payloadLength){return e()}else if(this.#A>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===p.CONTINUATION){const e=Buffer.concat(this.#l);ee(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=h.INFO}}if(this.#A>0){continue}else{e();break}}}consume(e){if(e>this.#A){return null}else if(e===0){return D}if(this.#i[0].length===e){this.#A-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let o=0;while(o!==e){const n=this.#i[0];const{length:i}=n;if(i+o===e){t.set(this.#i.shift(),o);break}else if(i+o>e){t.set(n.subarray(0,e-o),o);this.#i[0]=n.subarray(e-o);break}else{t.set(this.#i.shift(),o);o+=n.length}}this.#A-=e;return t}parseCloseBody(e,t){let o;if(t.length>=2){o=t.readUInt16BE(0)}if(e){if(!j(o)){return null}return{code:o}}let n=t.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(o!==undefined&&!j(o)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:o,reason:n}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},2933:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(e,t,o)=>{"use strict";const{kReadyState:n,kController:i,kResponse:h,kBinaryType:p,kWebSocketURL:Q}=o(2933);const{states:D,opcodes:T}=o(5913);const{MessageEvent:_,ErrorEvent:O}=o(6255);function isEstablished(e){return e[n]===D.OPEN}function isClosing(e){return e[n]===D.CLOSING}function isClosed(e){return e[n]===D.CLOSED}function fireEvent(e,t,o=Event,n){const i=new o(e,n);t.dispatchEvent(i)}function websocketMessageReceived(e,t,o){if(e[n]!==D.OPEN){return}let i;if(t===T.TEXT){try{i=new TextDecoder("utf-8",{fatal:true}).decode(o)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===T.BINARY){if(e[p]==="blob"){i=new Blob([o])}else{i=new Uint8Array(o).buffer}}fireEvent("message",e,_,{origin:e[Q].origin,data:i})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[i]:o,[h]:n}=e;o.abort();if(n?.socket&&!n.socket.destroyed){n.socket.destroy()}if(t){fireEvent("error",e,O,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},5171:(e,t,o)=>{"use strict";const{webidl:n}=o(4222);const{DOMException:i}=o(7326);const{URLSerializer:h}=o(4322);const{getGlobalOrigin:p}=o(5628);const{staticPropertyDescriptors:Q,states:D,opcodes:T,emptyBuffer:_}=o(5913);const{kWebSocketURL:O,kReadyState:V,kController:j,kBinaryType:$,kResponse:ee,kSentClose:te,kByteParser:re}=o(2933);const{isEstablished:se,isClosing:oe,isValidSubprotocol:ne,failWebsocketConnection:ie,fireEvent:Ae}=o(3574);const{establishWebSocketConnection:ae}=o(8550);const{WebsocketFrameSend:ce}=o(1237);const{ByteParser:le}=o(3171);const{kEnumerableProperty:ue,isBlobLike:ge}=o(3440);const{getGlobalDispatcher:de}=o(2581);const{types:he}=o(9023);let pe=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#g=0;#d="";#h="";constructor(e,t=[]){super();n.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!pe){pe=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const o=n.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);e=n.converters.USVString(e);t=o.protocols;const h=p();let Q;try{Q=new URL(e,h)}catch(e){throw new i(e,"SyntaxError")}if(Q.protocol==="http:"){Q.protocol="ws:"}else if(Q.protocol==="https:"){Q.protocol="wss:"}if(Q.protocol!=="ws:"&&Q.protocol!=="wss:"){throw new i(`Expected a ws: or wss: protocol, got ${Q.protocol}`,"SyntaxError")}if(Q.hash||Q.href.endsWith("#")){throw new i("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>ne(e)))){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[O]=new URL(Q.href);this[j]=ae(Q,t,this,(e=>this.#p(e)),o);this[V]=WebSocket.CONNECTING;this[$]="blob"}close(e=undefined,t=undefined){n.brandCheck(this,WebSocket);if(e!==undefined){e=n.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=n.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new i("invalid code","InvalidAccessError")}}let o=0;if(t!==undefined){o=Buffer.byteLength(t);if(o>123){throw new i(`Reason must be less than 123 bytes; received ${o}`,"SyntaxError")}}if(this[V]===WebSocket.CLOSING||this[V]===WebSocket.CLOSED){}else if(!se(this)){ie(this,"Connection was closed before it was established.");this[V]=WebSocket.CLOSING}else if(!oe(this)){const n=new ce;if(e!==undefined&&t===undefined){n.frameData=Buffer.allocUnsafe(2);n.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){n.frameData=Buffer.allocUnsafe(2+o);n.frameData.writeUInt16BE(e,0);n.frameData.write(t,2,"utf-8")}else{n.frameData=_}const i=this[ee].socket;i.write(n.createFrame(T.CLOSE),(e=>{if(!e){this[te]=true}}));this[V]=D.CLOSING}else{this[V]=WebSocket.CLOSING}}send(e){n.brandCheck(this,WebSocket);n.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=n.converters.WebSocketSendData(e);if(this[V]===WebSocket.CONNECTING){throw new i("Sent before connected.","InvalidStateError")}if(!se(this)||oe(this)){return}const t=this[ee].socket;if(typeof e==="string"){const o=Buffer.from(e);const n=new ce(o);const i=n.createFrame(T.TEXT);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}else if(he.isArrayBuffer(e)){const o=Buffer.from(e);const n=new ce(o);const i=n.createFrame(T.BINARY);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}else if(ArrayBuffer.isView(e)){const o=Buffer.from(e,e.byteOffset,e.byteLength);const n=new ce(o);const i=n.createFrame(T.BINARY);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}else if(ge(e)){const o=new ce;e.arrayBuffer().then((e=>{const n=Buffer.from(e);o.frameData=n;const i=o.createFrame(T.BINARY);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}))}}get readyState(){n.brandCheck(this,WebSocket);return this[V]}get bufferedAmount(){n.brandCheck(this,WebSocket);return this.#g}get url(){n.brandCheck(this,WebSocket);return h(this[O])}get extensions(){n.brandCheck(this,WebSocket);return this.#h}get protocol(){n.brandCheck(this,WebSocket);return this.#d}get onopen(){n.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){n.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){n.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){n.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){n.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){n.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){n.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){n.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){n.brandCheck(this,WebSocket);return this[$]}set binaryType(e){n.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[$]="blob"}else{this[$]=e}}#p(e){this[ee]=e;const t=new le(this);t.on("drain",(function onParserDrain(){this.ws[ee].socket.resume()}));e.socket.ws=this;this[re]=t;this[V]=D.OPEN;const o=e.headersList.get("sec-websocket-extensions");if(o!==null){this.#h=o}const n=e.headersList.get("sec-websocket-protocol");if(n!==null){this.#d=n}Ae("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=D.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=D.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=D.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=D.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:Q,OPEN:Q,CLOSING:Q,CLOSED:Q,url:ue,readyState:ue,bufferedAmount:ue,onopen:ue,onerror:ue,onclose:ue,close:ue,onmessage:ue,binaryType:ue,send:ue,extensions:ue,protocol:ue,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:Q,OPEN:Q,CLOSING:Q,CLOSED:Q});n.converters["sequence<DOMString>"]=n.sequenceConverter(n.converters.DOMString);n.converters["DOMString or sequence<DOMString>"]=function(e){if(n.util.Type(e)==="Object"&&Symbol.iterator in e){return n.converters["sequence<DOMString>"](e)}return n.converters.DOMString(e)};n.converters.WebSocketInit=n.dictionaryConverter([{key:"protocols",converter:n.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return de()}},{key:"headers",converter:n.nullableConverter(n.converters.HeadersInit)}]);n.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){if(n.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return n.converters.WebSocketInit(e)}return{protocols:n.converters["DOMString or sequence<DOMString>"](e)}};n.converters.WebSocketSendData=function(e){if(n.util.Type(e)==="Object"){if(ge(e)){return n.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||he.isAnyArrayBuffer(e)){return n.converters.BufferSource(e)}}return n.converters.USVString(e)};e.exports={WebSocket:WebSocket}},3843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return"<environment undetectable>"}t.getUserAgent=getUserAgent},8264:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var o=0;o<t.length;o++){t[o]=arguments[o]}var n=e.apply(this,t);var i=t[t.length-1];if(typeof n==="function"&&n!==i){Object.keys(i).forEach((function(e){n[e]=i[e]}))}return n}}},218:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});const p=h(o(7484));const Q=h(o(3228));const D=h(o(9896));const T=h(o(6928));const _=o(5030);const O=o(9727);const V=o(7785);const j=o(7461);function detectCdkApp(e){const t=T.join(e,"cdk.json");if(D.existsSync(t)){return e}const o=["infrastructure","cdk","infra","deploy"];for(const t of o){const o=T.join(e,t);const n=T.join(o,"cdk.json");if(D.existsSync(n)){return o}}return undefined}function getPRNumber(){const e=Q.context;if(e.eventName==="pull_request"&&e.payload.pull_request){return e.payload.pull_request.number}return undefined}function parseRepository(){const e=Q.context;if(e.repo.owner&&e.repo.repo){return{owner:e.repo.owner,repo:e.repo.repo}}return undefined}function validatePath(e){const t=process.env.GITHUB_WORKSPACE||process.cwd();const o=T.resolve(t,e);if(!o.startsWith(t)){throw new Error(`Path '${e}' is outside workspace. Potential path traversal attack.`)}return o}function validateCommentStrategy(e){const t=["new","update","delete-and-new"];if(!t.includes(e)){throw new Error(`Invalid comment-strategy: '${e}'. Must be one of: ${t.join(", ")}`)}return e}async function run(){try{const e=p.getInput("path")||"./";const t=validatePath(e);const o=p.getInput("github-token",{required:true});const n=p.getInput("aws-region")||"us-east-1";const i=p.getInput("config-path");const h=p.getInput("comment-strategy")||"update";const Q=validateCommentStrategy(h);const $=p.getBooleanInput("debug");if($){j.Logger.setDebugEnabled(true);p.debug("Debug logging enabled")}p.info("Starting CDK Cost Analysis...");const ee=parseRepository();if(!ee){p.setFailed("Could not determine repository from GitHub context");return}const te=getPRNumber();if(!te){p.warning("Not running in a pull_request event. Skipping PR comment.")}let re=detectCdkApp(t);if(!re){p.warning(`Could not detect CDK app in ${t}. Using provided path.`);re=t}else{p.info(`Detected CDK app at: ${re}`)}const se=T.join(re,"cdk.out");const oe=!D.existsSync(se);if(oe){p.info("CDK output not found. Synthesis will be performed.")}const ne=new _.PipelineOrchestrator;p.info(`Running cost analysis for region: ${n}`);const ie=await ne.runPipelineAnalysis({synthesize:oe,cdkAppPath:re,region:n,configPath:i});const Ae=ie.costAnalysis.removedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+ie.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.oldMonthlyCost.amount),0);const ae=ie.costAnalysis.addedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+ie.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.newMonthlyCost.amount),0);const ce=new V.GitHubActionReporter;const le={totalDelta:ie.costAnalysis.totalDelta,currency:ie.costAnalysis.currency,addedCosts:ie.costAnalysis.addedResources,removedCosts:ie.costAnalysis.removedResources,modifiedCosts:ie.costAnalysis.modifiedResources};const ue=ce.generateReport(le,Ae,ae);console.log("\n"+ue+"\n");p.setOutput("total-delta",ie.costAnalysis.totalDelta.toString());p.setOutput("currency",ie.costAnalysis.currency);p.setOutput("added-count",ie.costAnalysis.addedResources.length.toString());p.setOutput("removed-count",ie.costAnalysis.removedResources.length.toString());p.setOutput("modified-count",ie.costAnalysis.modifiedResources.length.toString());p.setOutput("threshold-passed",ie.thresholdStatus.passed.toString());p.setOutput("threshold-level",ie.thresholdStatus.level);if(te){p.info(`Posting cost analysis to PR #${te}...`);const e=new O.GitHubIntegration({token:o,apiUrl:process.env.GITHUB_API_URL||"https://api.github.com"});await e.postPRComment(ee.owner,ee.repo,te,ue,Q);p.info("Cost analysis posted to pull request")}if(ie.thresholdStatus.level==="error"&&!ie.thresholdStatus.passed){p.setFailed(`Cost threshold exceeded: ${ie.thresholdStatus.message}`);return}if(ie.thresholdStatus.level==="warning"&&!ie.thresholdStatus.passed){p.warning(`Cost threshold warning: ${ie.thresholdStatus.message}`)}p.info("Cost analysis completed successfully")}catch(e){if(e instanceof Error){p.setFailed(e.message)}else{p.setFailed(String(e))}}}run()},2099:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.ConfigManager=void 0;const p=h(o(1943));const Q=h(o(6928));const D=h(o(4281));const T=o(2143);class ConfigManager{static CONFIG_FILE_NAMES=[".cdk-cost-analyzer.yml",".cdk-cost-analyzer.yaml",".cdk-cost-analyzer.json"];async loadConfig(e){try{const t=await this.resolveConfigPath(e);if(!t){return this.getDefaultConfig()}const o=await this.readConfigFile(t);const n=this.validateConfig(o);if(!n.valid){throw new T.ConfigurationError("Invalid configuration",t,n.errors)}return this.mergeWithDefaults(o)}catch(t){if(t instanceof T.ConfigurationError){throw t}throw new T.ConfigurationError(`Failed to load configuration: ${t instanceof Error?t.message:String(t)}`,e||"unknown",[])}}validateConfig(e){const t=[];const o=[];if(e.thresholds){this.validateThresholds(e.thresholds,t,o)}if(e.usageAssumptions){this.validateUsageAssumptions(e.usageAssumptions,t)}if(e.cache?.durationHours!==undefined){if(e.cache.durationHours<=0){t.push("cache.durationHours must be positive")}}return{valid:t.length===0,errors:t,warnings:o}}async resolveConfigPath(e){if(e){const t=await this.fileExists(e);if(!t){throw new Error(`Configuration file not found: ${e}`)}return e}for(const e of ConfigManager.CONFIG_FILE_NAMES){const t=Q.join(process.cwd(),e);if(await this.fileExists(t)){return t}}return null}async readConfigFile(e){const t=await p.readFile(e,"utf-8");const o=Q.extname(e).toLowerCase();try{if(o===".json"){return JSON.parse(t)}else{return D.load(t)}}catch(e){throw new Error(`Failed to parse configuration file: ${e instanceof Error?e.message:String(e)}`)}}async fileExists(e){try{await p.access(e);return true}catch{return false}}validateThresholds(e,t,o){const validateLevels=(e,n)=>{if(e.warning!==undefined&&e.warning<0){t.push(`${n}.warning must be non-negative`)}if(e.error!==undefined&&e.error<0){t.push(`${n}.error must be non-negative`)}if(e.warning!==undefined&&e.error!==undefined&&e.warning>e.error){o.push(`${n}.warning (${e.warning}) is greater than ${n}.error (${e.error})`)}};if(e.default){validateLevels(e.default,"thresholds.default")}if(e.environments){for(const[t,o]of Object.entries(e.environments)){validateLevels(o,`thresholds.environments.${t}`)}}}validateUsageAssumptions(e,t){const validatePositive=(e,o)=>{if(e!==undefined&&e<0){t.push(`${o} must be non-negative`)}};if(e.s3){validatePositive(e.s3.storageGB,"usageAssumptions.s3.storageGB");validatePositive(e.s3.getRequests,"usageAssumptions.s3.getRequests");validatePositive(e.s3.putRequests,"usageAssumptions.s3.putRequests")}if(e.lambda){validatePositive(e.lambda.invocationsPerMonth,"usageAssumptions.lambda.invocationsPerMonth");validatePositive(e.lambda.averageDurationMs,"usageAssumptions.lambda.averageDurationMs")}if(e.dynamodb){validatePositive(e.dynamodb.readRequestsPerMonth,"usageAssumptions.dynamodb.readRequestsPerMonth");validatePositive(e.dynamodb.writeRequestsPerMonth,"usageAssumptions.dynamodb.writeRequestsPerMonth")}if(e.natGateway){validatePositive(e.natGateway.dataProcessedGB,"usageAssumptions.natGateway.dataProcessedGB")}if(e.alb){validatePositive(e.alb.newConnectionsPerSecond,"usageAssumptions.alb.newConnectionsPerSecond");validatePositive(e.alb.activeConnectionsPerMinute,"usageAssumptions.alb.activeConnectionsPerMinute");validatePositive(e.alb.processedBytesGB,"usageAssumptions.alb.processedBytesGB")}if(e.nlb){validatePositive(e.nlb.newConnectionsPerSecond,"usageAssumptions.nlb.newConnectionsPerSecond");validatePositive(e.nlb.activeConnectionsPerMinute,"usageAssumptions.nlb.activeConnectionsPerMinute");validatePositive(e.nlb.processedBytesGB,"usageAssumptions.nlb.processedBytesGB")}if(e.cloudfront){validatePositive(e.cloudfront.dataTransferGB,"usageAssumptions.cloudfront.dataTransferGB");validatePositive(e.cloudfront.requests,"usageAssumptions.cloudfront.requests")}if(e.apiGateway){validatePositive(e.apiGateway.requestsPerMonth,"usageAssumptions.apiGateway.requestsPerMonth")}if(e.vpcEndpoint){validatePositive(e.vpcEndpoint.dataProcessedGB,"usageAssumptions.vpcEndpoint.dataProcessedGB")}}getDefaultConfig(){return{cache:{enabled:true,durationHours:24}}}mergeWithDefaults(e){const t=this.getDefaultConfig();return{...t,...e,cache:{...t.cache,...e.cache}}}}t.ConfigManager=ConfigManager},2143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfigurationError=void 0;class ConfigurationError extends Error{configPath;validationErrors;constructor(e,t,o){super(e);this.configPath=t;this.validationErrors=o;this.name="ConfigurationError"}}t.ConfigurationError=ConfigurationError},8558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DiffEngine=void 0;class DiffEngine{diff(e,t){const o=e.Resources||{};const n=t.Resources||{};const i=new Set(Object.keys(o));const h=new Set(Object.keys(n));const p=[];const Q=[];const D=[];for(const e of h){if(!i.has(e)){const t=n[e];p.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(!h.has(e)){const t=o[e];Q.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(h.has(e)){const t=o[e];const i=n[e];if(!this.arePropertiesEqual(t.Properties,i.Properties)){D.push({logicalId:e,type:i.Type,oldProperties:t.Properties||{},newProperties:i.Properties||{}})}}}return{added:p,removed:Q,modified:D}}arePropertiesEqual(e,t){const o=e||{};const n=t||{};return JSON.stringify(this.sortObject(o))===JSON.stringify(this.sortObject(n))}sortObject(e){if(e===null||e===undefined){return e}if(Array.isArray(e)){return e.map((e=>this.sortObject(e)))}if(typeof e==="object"){const t={};const o=Object.keys(e).sort();for(const n of o){t[n]=this.sortObject(e[n])}return t}return e}}t.DiffEngine=DiffEngine},9727:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubIntegration=void 0;const n=o(4270);const i="\x3c!-- cdk-cost-analyzer --\x3e";class GitHubIntegration{static fromEnvironment(){const e=process.env.GITHUB_TOKEN;const t=process.env.GITHUB_API_URL||"https://api.github.com";if(!e){throw new Error("GitHub token not found. Set GITHUB_TOKEN environment variable.")}return new GitHubIntegration({token:e,apiUrl:t})}config;constructor(e){this.config=e}async postPRComment(e,t,o,n,h="update"){const p=`${i}\n${n}`;switch(h){case"new":await this.createComment(e,t,o,p);break;case"update":{const n=await this.findExistingComment(e,t,o);if(n){await this.updateComment(e,t,n.id,p)}else{await this.createComment(e,t,o,p)}break}case"delete-and-new":{const n=await this.findExistingComment(e,t,o);if(n){await this.deleteComment(e,t,n.id)}await this.createComment(e,t,o,p);break}default:throw new Error(`Unknown comment strategy: ${h}`)}}async findExistingComment(e,t,o){try{let h=1;const p=100;while(true){const Q=`${this.config.apiUrl}/repos/${e}/${t}/issues/${o}/comments?page=${h}&per_page=${p}`;const D=await this.fetchWithRetry(Q,{method:"GET",headers:this.getHeaders()});if(!D.ok){const e=await D.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to list comments: ${D.statusText} - ${e}`),D.status)}const T=await D.json();if(T.length===0){break}const _=T.find((e=>e.body?.includes(i)));if(_){return _}h++}return null}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async updateComment(e,t,o,i){const h=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${o}`;try{const e=await this.fetchWithRetry(h,{method:"PATCH",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to update comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async deleteComment(e,t,o){const i=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${o}`;try{const e=await this.fetchWithRetry(i,{method:"DELETE",headers:this.getHeaders()});if(!e.ok){const t=await e.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to delete comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async createComment(e,t,o,i){const h=`${this.config.apiUrl}/repos/${e}/${t}/issues/${o}/comments`;const p=65536;if(i.length>p){throw new n.GitHubAPIError(`Comment exceeds GitHub's maximum size of ${p} characters (actual: ${i.length})`)}try{const e=await this.fetchWithRetry(h,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new n.GitHubAPIError(this.sanitizeError(`Failed to post comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof n.GitHubAPIError){throw e}throw new n.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}getHeaders(){return{Authorization:`Bearer ${this.config.token}`,Accept:"application/vnd.github+json","Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"}}async fetchWithRetry(e,t,o=3){for(let n=0;n<o;n++){const i=await fetch(e,t);if(i.status===429){const e=i.headers.get("retry-after");const t=i.headers.get("x-ratelimit-reset");let h=1e3*(n+1);if(e){h=parseInt(e)*1e3}else if(t){const e=new Date(parseInt(t)*1e3);h=Math.max(0,e.getTime()-Date.now())}if(n<o-1){await new Promise((e=>setTimeout(e,h)));continue}}if(i.status>=500&&i.status<600&&n<o-1){await new Promise((e=>setTimeout(e,1e3*(n+1))));continue}return i}throw new n.GitHubAPIError("Maximum retry attempts exceeded")}sanitizeError(e){return e.replace(new RegExp(this.config.token,"g"),"***")}}t.GitHubIntegration=GitHubIntegration},4270:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubAPIError=t.GitLabAPIError=void 0;class GitLabAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitLabAPIError"}}t.GitLabAPIError=GitLabAPIError;class GitHubAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitHubAPIError"}}t.GitHubAPIError=GitHubAPIError},8254:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.TemplateParser=t.TemplateParseError=void 0;const p=h(o(4281));class TemplateParseError extends Error{templatePath;constructor(e,t){super(e);this.templatePath=t;this.name="TemplateParseError"}}t.TemplateParseError=TemplateParseError;class TemplateParser{parse(e){if(!e||e.trim()===""){throw new TemplateParseError("Template content is empty")}let t;try{t=JSON.parse(e)}catch(o){try{t=p.load(e)}catch(e){throw new TemplateParseError(`Failed to parse template as JSON or YAML: ${e instanceof Error?e.message:String(e)}`)}}if(!t||typeof t!=="object"){throw new TemplateParseError("Parsed template is not an object")}const o=t;if(!o.Resources||typeof o.Resources!=="object"){throw new TemplateParseError("Template must contain a Resources section")}return o}}t.TemplateParser=TemplateParser},5030:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.PipelineOrchestrator=void 0;const p=h(o(1943));const Q=o(1839);const D=o(2099);const T=o(8558);const _=o(8254);const O=o(9345);const V=o(1268);const j=o(9560);const $=o(1668);class PipelineOrchestrator{configManager;synthesisOrchestrator;thresholdEnforcer;constructor(){this.configManager=new D.ConfigManager;this.synthesisOrchestrator=new j.SynthesisOrchestrator;this.thresholdEnforcer=new $.ThresholdEnforcer}async runPipelineAnalysis(e){try{const t=await this.configManager.loadConfig(e.configPath);let o;let n;let i;if(e.synthesize&&e.cdkAppPath){const h=await this.synthesizeBothBranches(e.cdkAppPath,t,e.outputPath);o=h.baseTemplatePath;n=h.targetTemplatePath;i=h.synthesisInfo}else{if(!e.baseTemplate||!e.targetTemplate){throw new Q.PipelineError("Either provide template paths or enable synthesis with cdkAppPath","configuration")}o=e.baseTemplate;n=e.targetTemplate}const h=e.region||t.synthesis?.context?.region||"eu-central-1";const p=await this.analyzeCosts(o,n,h,t);const D=this.thresholdEnforcer.evaluateThreshold(p.totalDelta,p.addedResources,p.modifiedResources,t.thresholds,e.environment);const T=this.buildConfigSummary(t,e);return{costAnalysis:p,thresholdStatus:D,synthesisInfo:i,configUsed:T}}catch(e){if(e instanceof Q.PipelineError){throw e}throw new Q.PipelineError(`Pipeline failed: ${e instanceof Error?e.message:String(e)}`,"unknown")}}async synthesizeBothBranches(e,t,o){const n=await this.synthesisOrchestrator.synthesize({cdkAppPath:e,outputPath:o||t.synthesis?.outputPath,context:t.synthesis?.context,customCommand:t.synthesis?.customCommand});if(!n.success){throw new Q.PipelineError(`CDK synthesis failed: ${n.error}`,"synthesis")}return{baseTemplatePath:n.templatePaths[0],targetTemplatePath:n.templatePaths[0],synthesisInfo:{baseStackCount:n.stackNames.length,targetStackCount:n.stackNames.length,baseSynthesisTime:n.duration,targetSynthesisTime:n.duration}}}async analyzeCosts(e,t,o,n){const i=new _.TemplateParser;const h=new T.DiffEngine;const Q=new O.PricingService(o,n.usageAssumptions,n.exclusions?.resourceTypes,n.cache);const D=new V.Reporter;const j=await p.readFile(e,"utf-8");const $=await p.readFile(t,"utf-8");const ee=i.parse(j);const te=i.parse($);const re=h.diff(ee,te);const se=await Q.getCostDelta(re,o);const oe=D.generateReport(se,"text");return{totalDelta:se.totalDelta,currency:se.currency,addedResources:se.addedCosts,removedResources:se.removedCosts,modifiedResources:se.modifiedCosts,summary:oe}}buildConfigSummary(e,t){const o={synthesisEnabled:!!t.synthesize};if(t.configPath){o.configPath=t.configPath}if(e.thresholds){const n=t.environment&&e.thresholds.environments?.[t.environment]?e.thresholds.environments[t.environment]:e.thresholds.default;if(n){o.thresholds={warning:n.warning,error:n.error,environment:t.environment}}}if(e.usageAssumptions){o.usageAssumptions=e.usageAssumptions}if(e.exclusions?.resourceTypes){o.excludedResourceTypes=e.exclusions.resourceTypes}return o}}t.PipelineOrchestrator=PipelineOrchestrator},1839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PipelineError=void 0;class PipelineError extends Error{stage;constructor(e,t){super(e);this.stage=t;this.name="PipelineError"}}t.PipelineError=PipelineError},2097:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.CacheManager=void 0;const p=h(o(9896));const Q=h(o(6928));class CacheManager{cacheDir;cacheDurationMs;metadata;metadataPath;constructor(e=".cdk-cost-analyzer-cache",t=24){this.cacheDir=e;this.cacheDurationMs=t*60*60*1e3;this.metadataPath=Q.join(this.cacheDir,"metadata.json");this.metadata={entries:{}};this.ensureCacheDirectory();this.loadMetadata()}getCachedPrice(e){const t=this.getCacheKey(e);const o=this.metadata.entries[t];if(!o){return null}const n=Date.now();const i=n-o.timestamp;if(i>this.cacheDurationMs){delete this.metadata.entries[t];this.saveMetadata();return null}return o.price}setCachedPrice(e,t){const o=this.getCacheKey(e);this.metadata.entries[o]={price:t,timestamp:Date.now()};this.saveMetadata()}hasFreshCache(e){return this.getCachedPrice(e)!==null}clearCache(){this.metadata={entries:{}};this.saveMetadata()}getCacheStats(){const e=Date.now();let t=0;let o=0;for(const n of Object.values(this.metadata.entries)){const i=e-n.timestamp;if(i<=this.cacheDurationMs){t++}else{o++}}return{totalEntries:Object.keys(this.metadata.entries).length,freshEntries:t,staleEntries:o}}pruneStaleEntries(){const e=Date.now();const t={};for(const[o,n]of Object.entries(this.metadata.entries)){const i=e-n.timestamp;if(i<=this.cacheDurationMs){t[o]=n}}this.metadata.entries=t;this.saveMetadata()}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}ensureCacheDirectory(){if(!p.existsSync(this.cacheDir)){p.mkdirSync(this.cacheDir,{recursive:true})}}loadMetadata(){try{if(p.existsSync(this.metadataPath)){const e=p.readFileSync(this.metadataPath,"utf-8");this.metadata=JSON.parse(e)}}catch(e){this.metadata={entries:{}}}}saveMetadata(){try{p.writeFileSync(this.metadataPath,JSON.stringify(this.metadata,null,2),"utf-8")}catch(e){console.warn(`Failed to save cache metadata: ${e instanceof Error?e.message:String(e)}`)}}}t.CacheManager=CacheManager},6003:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingClient=void 0;const n=o(4453);const i=o(9543);const h=o(7461);class PricingClient{cache=new Map;client;cacheManager;constructor(e="us-east-1",t,o){this.client=o||new n.PricingClient({region:e});this.cacheManager=t}destroy(){this.cache.clear();if(this.client&&typeof this.client.destroy==="function"){this.client.destroy()}}async getPrice(e){const t=this.getCacheKey(e);if(this.cache.has(t)){h.Logger.logCacheStatus(t,true,"memory");return this.cache.get(t)}if(this.cacheManager){const o=this.cacheManager.getCachedPrice(e);if(o!==null){h.Logger.logCacheStatus(t,true,"persistent");this.cache.set(t,o);return o}}h.Logger.logCacheStatus(t,false);try{const o=await this.fetchPriceWithRetry(e);if(o!==null){this.cache.set(t,o);if(this.cacheManager){this.cacheManager.setCachedPrice(e,o)}}return o}catch(o){h.Logger.logPricingFailure(e.serviceCode,e.region,o instanceof Error?o.message:String(o));if(this.cache.has(t)){return this.cache.get(t)}if(this.cacheManager){const t=this.cacheManager.getCachedPrice(e);if(t!==null){return t}}return null}}async fetchPriceWithRetry(e,t=3){let o=null;for(let n=0;n<t;n++){try{return await this.fetchPrice(e)}catch(e){o=e;if(n<t-1){const e=Math.pow(2,n)*1e3;await new Promise((t=>setTimeout(t,e)))}}}throw new i.PricingAPIError(`Failed to fetch pricing after ${t} attempts: ${o?.message}`,false)}async fetchPrice(e){const t=e.filters.map((e=>({Type:e.type||"TERM_MATCH",Field:e.field,Value:e.value})));h.Logger.logPricingQuery(e.serviceCode,e.region,e.filters);const o=new n.GetProductsCommand({ServiceCode:e.serviceCode,Filters:t,MaxResults:1});const i=await this.client.send(o);if(!i.PriceList||i.PriceList.length===0){h.Logger.logPricingResponse(e.serviceCode,e.region,null);h.Logger.logPricingFailure(e.serviceCode,e.region,"No products found matching the specified filters");return null}const p=JSON.parse(i.PriceList[0]);const Q=p?.terms?.OnDemand;if(!Q){h.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No OnDemand terms found"});return null}const D=Object.keys(Q)[0];const T=Q[D]?.priceDimensions;if(!T){h.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No price dimensions found"});return null}const _=Object.keys(T)[0];const O=T[_]?.pricePerUnit?.USD;if(!O){h.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No USD price found"});return null}const V=parseFloat(O);h.Logger.logPricingResponse(e.serviceCode,e.region,V,{product:p?.product,termKey:D,dimensionKey:_,unit:T[_]?.unit,description:T[_]?.description});return V}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}}t.PricingClient=PricingClient},9345:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingService=void 0;const n=o(2097);const i=o(6357);const h=o(3220);const p=o(2325);const Q=o(9838);const D=o(4530);const T=o(2970);const _=o(2665);const O=o(8900);const V=o(2564);const j=o(7653);const $=o(231);const ee=o(1597);const te=o(8680);const re=o(779);const se=o(4872);const oe=o(7822);const ne=o(7346);const ie=o(2697);const Ae=o(5099);const ae=o(7278);const ce=o(6003);class PricingService{calculators;pricingClient;excludedResourceTypes;constructor(e="us-east-1",t,o,le,ue){if(ue){this.pricingClient=ue}else{let t;if(le?.enabled!==false){const e=le?.durationHours??24;t=new n.CacheManager(".cdk-cost-analyzer-cache",e)}this.pricingClient=new ce.PricingClient(e,t)}this.excludedResourceTypes=new Set(o||[]);const ge=t?{usageAssumptions:t}:undefined;this.calculators=[new T.EC2Calculator,new se.S3Calculator,new j.LambdaCalculator(t?.lambda?.invocationsPerMonth,t?.lambda?.averageDurationMs),new re.RDSCalculator,new D.DynamoDBCalculator(ge),new _.ECSCalculator,new h.APIGatewayCalculator,new ee.NatGatewayCalculator(t?.natGateway?.dataProcessedGB),new i.ALBCalculator(t?.alb?.newConnectionsPerSecond,t?.alb?.activeConnectionsPerMinute,t?.alb?.processedBytesGB),new te.NLBCalculator(t?.nlb?.newConnectionsPerSecond,t?.nlb?.activeConnectionsPerMinute,t?.nlb?.processedBytesGB),new ae.VPCEndpointCalculator(t?.vpcEndpoint?.dataProcessedGB),new Q.CloudFrontCalculator(t?.cloudfront?.dataTransferGB,t?.cloudfront?.requests),new V.ElastiCacheCalculator,new p.AutoScalingGroupCalculator,new $.LaunchTemplateCalculator,new O.EFSCalculator(t?.efs?.storageSizeGb,t?.efs?.infrequentAccessPercentage),new ne.SNSCalculator(t?.sns?.monthlyPublishes,t?.sns?.httpDeliveries,t?.sns?.emailDeliveries,t?.sns?.smsDeliveries,t?.sns?.mobilePushDeliveries),new ie.SQSCalculator(ge),new Ae.StepFunctionsCalculator(t?.stepFunctions?.monthlyExecutions,t?.stepFunctions?.stateTransitionsPerExecution,t?.stepFunctions?.averageDurationMs),new oe.SecretsManagerCalculator(t?.secretsManager?.monthlyApiCalls)]}async getResourceCost(e,t,o){if(this.excludedResourceTypes.has(e.type)){return{amount:0,currency:"USD",confidence:"high",assumptions:[`Resource type ${e.type} is excluded from cost analysis`]}}const n=this.calculators.find((t=>{if(t.canCalculate){return t.canCalculate(e)}return t.supports(e.type)}));if(!n){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Resource type ${e.type} is not supported`]}}try{return await n.calculateCost(e,t,this.pricingClient,o)}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate cost: ${e instanceof Error?e.message:String(e)}`]}}}async getCostDelta(e,t){const o=e.added.filter((e=>!this.excludedResourceTypes.has(e.type)));const n=e.removed.filter((e=>!this.excludedResourceTypes.has(e.type)));const i=e.modified.filter((e=>!this.excludedResourceTypes.has(e.type)));const h=[...e.added,...e.removed,...e.modified.map((e=>({logicalId:e.logicalId,type:e.type,properties:e.newProperties})))];const p=await Promise.all(o.map((async e=>{const o=await this.getResourceCost(e,t,h);return{logicalId:e.logicalId,type:e.type,monthlyCost:o}})));const Q=await Promise.all(n.map((async e=>{const o=await this.getResourceCost(e,t,h);return{logicalId:e.logicalId,type:e.type,monthlyCost:o}})));const D=await Promise.all(i.map((async e=>{const o={logicalId:e.logicalId,type:e.type,properties:e.oldProperties};const n={logicalId:e.logicalId,type:e.type,properties:e.newProperties};const i=await this.getResourceCost(o,t,h);const p=await this.getResourceCost(n,t,h);const Q=p.amount-i.amount;return{logicalId:e.logicalId,type:e.type,monthlyCost:p,oldMonthlyCost:i,newMonthlyCost:p,costDelta:Q}})));const T=p.reduce(((e,t)=>e+t.monthlyCost.amount),0);const _=Q.reduce(((e,t)=>e+t.monthlyCost.amount),0);const O=D.reduce(((e,t)=>e+t.costDelta),0);const V=T-_+O;return{totalDelta:V,currency:"USD",addedCosts:p,removedCosts:Q,modifiedCosts:D}}destroy(){this.pricingClient.destroy()}}t.PricingService=PricingService},7973:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.normalizeRegion=normalizeRegion;t.getRegionPrefix=getRegionPrefix;const n=o(7461);const i={"us-east-1":"US East (N. Virginia)","us-east-2":"US East (Ohio)","us-west-1":"US West (N. California)","us-west-2":"US West (Oregon)","eu-west-1":"EU (Ireland)","eu-west-2":"EU (London)","eu-west-3":"EU (Paris)","eu-central-1":"EU (Frankfurt)","eu-central-2":"EU (Zurich)","eu-north-1":"EU (Stockholm)","eu-south-1":"EU (Milan)","eu-south-2":"EU (Spain)","ap-south-1":"Asia Pacific (Mumbai)","ap-south-2":"Asia Pacific (Hyderabad)","ap-southeast-1":"Asia Pacific (Singapore)","ap-southeast-2":"Asia Pacific (Sydney)","ap-southeast-3":"Asia Pacific (Jakarta)","ap-southeast-4":"Asia Pacific (Melbourne)","ap-southeast-5":"Asia Pacific (Malaysia)","ap-northeast-1":"Asia Pacific (Tokyo)","ap-northeast-2":"Asia Pacific (Seoul)","ap-northeast-3":"Asia Pacific (Osaka)","ap-east-1":"Asia Pacific (Hong Kong)","ca-central-1":"Canada (Central)","ca-west-1":"Canada West (Calgary)","sa-east-1":"South America (Sao Paulo)","me-south-1":"Middle East (Bahrain)","me-central-1":"Middle East (UAE)","af-south-1":"Africa (Cape Town)","il-central-1":"Israel (Tel Aviv)","us-gov-west-1":"AWS GovCloud (US-West)","us-gov-east-1":"AWS GovCloud (US-East)","eu-isoe-west-1":"EU ISOE West"};const h={"us-east-1":"USE1","us-east-2":"USE2","us-west-1":"USW1","us-west-2":"USW2","eu-west-1":"EUW1","eu-west-2":"EUW2","eu-west-3":"EUW3","eu-central-1":"EUC1","eu-central-2":"EUC2","eu-north-1":"EUN1","eu-south-1":"EUS1","eu-south-2":"EUS2","ap-south-1":"APS1","ap-south-2":"APS2","ap-southeast-1":"APS3","ap-southeast-2":"APS4","ap-southeast-3":"APS5","ap-southeast-4":"APS6","ap-southeast-5":"APS7","ap-northeast-1":"APN1","ap-northeast-2":"APN2","ap-northeast-3":"APN3","ap-east-1":"APE1","ca-central-1":"CAN1","ca-west-1":"CAW1","sa-east-1":"SAE1","me-south-1":"MES1","me-central-1":"MEC1","af-south-1":"AFS1","il-central-1":"ILC1","us-gov-west-1":"UGW1","us-gov-east-1":"UGE1","eu-isoe-west-1":"EIW1"};function normalizeRegion(e){const t=i[e]||e;n.Logger.logRegionNormalization(e,t);return t}function getRegionPrefix(e){return h[e]||""}},6357:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ALBCalculator=void 0;const n=o(7973);class ALBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,o){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=o}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="application"}async calculateCost(e,t,o){const i=e.properties?.Type;if(i&&i!=="application"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Application Load Balancers"]}}try{const e=(0,n.getRegionPrefix)(t);const i=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const h=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LCUUsage`}]});const p=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const Q=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const D=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;if(i===null||h===null){const e=p/25;const o=Q/3e3;const n=D/this.HOURS_PER_MONTH;const i=n;const h=Math.max(e,o,i);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Application Load Balancer in region ${t}`,`Would use LCU consumption: ${h.toFixed(2)} LCU/hour based on:`,` - New connections: ${p}/sec → ${e.toFixed(2)} LCU`,` - Active connections: ${Q}/min → ${o.toFixed(2)} LCU`,` - Processed data: ${D} GB/month → ${i.toFixed(2)} LCU`]}}const T=p/25;const _=Q/3e3;const O=D/this.HOURS_PER_MONTH;const V=O;const j=Math.max(T,_,V);const $=i*this.HOURS_PER_MONTH;const ee=h*j*this.HOURS_PER_MONTH;const te=$+ee;return{amount:te,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${$.toFixed(2)}/month`,`LCU consumption: ${j.toFixed(2)} LCU/hour based on:`,` - New connections: ${p}/sec → ${T.toFixed(2)} LCU`,` - Active connections: ${Q}/min → ${_.toFixed(2)} LCU`,` - Processed data: ${D} GB/month → ${V.toFixed(2)} LCU`,`LCU cost: $${h.toFixed(4)}/LCU/hour × ${j.toFixed(2)} LCU × ${this.HOURS_PER_MONTH} hours = $${ee.toFixed(2)}/month`,`Total: $${te.toFixed(2)}/month`]}}catch(e){const t=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const o=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const n=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const i=t/25;const h=o/3e3;const p=n/this.HOURS_PER_MONTH;const Q=p;const D=Math.max(i,h,Q);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would use LCU consumption: ${D.toFixed(2)} LCU/hour based on:`,` - New connections: ${t}/sec → ${i.toFixed(2)} LCU`,` - Active connections: ${o}/min → ${h.toFixed(2)} LCU`,` - Processed data: ${n} GB/month → ${Q.toFixed(2)} LCU`]}}}}t.ALBCalculator=ALBCalculator},3220:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.APIGatewayCalculator=void 0;const n=o(7973);class APIGatewayCalculator{supports(e){return e==="AWS::ApiGateway::RestApi"||e==="AWS::ApiGatewayV2::Api"}async calculateCost(e,t,o){const n=e.type==="AWS::ApiGatewayV2::Api";const i=n?e.properties.ProtocolType:"REST";if(i==="WEBSOCKET"){return this.calculateWebSocketCost(t,o)}else if(i==="HTTP"){return this.calculateHttpApiCost(t,o)}else{return this.calculateRestApiCost(t,o)}}async calculateRestApiCost(e,t){try{const o=1e6;const i=(0,n.getRegionPrefix)(e);const h=i?`${i}-ApiGatewayRequest`:"ApiGatewayRequest";const p=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:h}]});if(p===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway REST API"]}}const Q=o/1e6*p;return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`Assumes ${o.toLocaleString()} REST API requests per month`,"REST API type","Does not include data transfer, caching, or other features","First 333M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateHttpApiCost(e,t){try{const o=1e6;const i=(0,n.getRegionPrefix)(e);const h=i?`${i}-ApiGatewayHttpRequest`:"ApiGatewayHttpRequest";const p=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:h}]});if(p===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway HTTP API"]}}const Q=o/1e6*p;return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`Assumes ${o.toLocaleString()} HTTP API requests per month`,"HTTP API type","Does not include data transfer costs","First 300M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateWebSocketCost(e,t){try{const o=1e6;const i=1e5;const h=(0,n.getRegionPrefix)(e);const p=h?`${h}-ApiGatewayMessage`:"ApiGatewayMessage";const Q=h?`${h}-ApiGatewayMinute`:"ApiGatewayMinute";const D=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:p}]});const T=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,n.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:Q}]});if(D===null||T===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway WebSocket API"]}}const _=o/1e6*D;const O=i*T;const V=_+O;return{amount:V,currency:"USD",confidence:"medium",assumptions:[`Assumes ${o.toLocaleString()} WebSocket messages per month`,`Assumes ${i.toLocaleString()} connection minutes per month`,"WebSocket API type","Does not include data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.APIGatewayCalculator=APIGatewayCalculator},2325:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AutoScalingGroupCalculator=void 0;const n=o(7973);class AutoScalingGroupCalculator{supports(e){return e==="AWS::AutoScaling::AutoScalingGroup"}async calculateCost(e,t,o,i){const h=Number(e.properties.DesiredCapacity)||1;const p=this.resolveInstanceType(e,i);if(!p){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Could not determine instance type from LaunchConfiguration or LaunchTemplate"]}}try{const e=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:p},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${p} in region ${t}`]}}const i=730;const Q=e*i*h;return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`${h} instance(s) of type ${p}`,`Assumes ${i} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing","Does not include EBS volumes or data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}resolveInstanceType(e,t){const o=e.properties.LaunchConfigurationName;if(o){const e=this.resolveReference(o,t);if(e&&e.type==="AWS::AutoScaling::LaunchConfiguration"){const t=e.properties.InstanceType;if(t)return t}}const n=e.properties.LaunchTemplate;if(n){const e=this.resolveInstanceTypeFromLaunchTemplate(n,t);if(e)return e}const i=e.properties.MixedInstancesPolicy;if(i){const e=i.LaunchTemplate;if(e){const o=e.LaunchTemplateSpecification;if(o){const e=this.resolveInstanceTypeFromLaunchTemplate(o,t);if(e)return e}}}return null}resolveInstanceTypeFromLaunchTemplate(e,t){const o=e.LaunchTemplateId||e.LaunchTemplateName;if(!o)return null;const n=this.resolveReference(o,t);if(n&&n.type==="AWS::EC2::LaunchTemplate"){const e=n.properties.LaunchTemplateData;if(e){return e.InstanceType||null}}return null}resolveReference(e,t){if(!t)return null;if(typeof e==="object"&&e!==null&&"Ref"in e){const o=e.Ref;return t.find((e=>e.logicalId===o))||null}if(typeof e==="string"){return t.find((t=>t.logicalId===e))||null}return null}}t.AutoScalingGroupCalculator=AutoScalingGroupCalculator},9838:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CloudFrontCalculator=void 0;const n=o(7973);class CloudFrontCalculator{dataTransferGB;requests;DEFAULT_DATA_TRANSFER_GB=100;DEFAULT_REQUESTS=1e6;constructor(e,t){this.dataTransferGB=e;this.requests=t}supports(e){return e==="AWS::CloudFront::Distribution"}async calculateCost(e,t,o){const i=this.dataTransferGB??this.DEFAULT_DATA_TRANSFER_GB;const h=this.requests??this.DEFAULT_REQUESTS;try{const e=await o.getPrice({serviceCode:"AmazonCloudFront",region:(0,n.normalizeRegion)(t),filters:[{field:"transferType",value:"CloudFront to Internet"}]});const p=await o.getPrice({serviceCode:"AmazonCloudFront",region:(0,n.normalizeRegion)(t),filters:[{field:"requestType",value:"HTTP-Requests"}]});if(e===null||p===null){const e=[`Pricing data not available for CloudFront in region ${t}`,`Would assume ${i} GB of data transfer out to internet`,`Would assume ${h.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){e.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){e.push(`Using custom request count assumption: ${h.toLocaleString()} requests from configuration`)}return{amount:0,currency:"USD",confidence:"unknown",assumptions:e}}const Q=i*e;const D=h/1e4*p;const T=Q+D;const _=[`Assumes ${i} GB of data transfer out to internet`,`Assumes ${h.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){_.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){_.push(`Using custom request count assumption: ${h.toLocaleString()} requests from configuration`)}return{amount:T,currency:"USD",confidence:"medium",assumptions:_}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudFrontCalculator=CloudFrontCalculator},4530:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DynamoDBCalculator=void 0;const n=o(7973);class DynamoDBCalculator{config;constructor(e){this.config=e}supports(e){return e==="AWS::DynamoDB::Table"}async calculateCost(e,t,o){const n=e.properties.BillingMode||"PROVISIONED";const i=e.properties.ProvisionedThroughput!==undefined;if(i||n==="PROVISIONED"){return this.calculateProvisionedCost(e,t,o)}else{return this.calculateOnDemandCost(e,t,o)}}getUsageAssumptions(){return{readRequests:this.config?.usageAssumptions?.dynamodb?.readRequestsPerMonth??1e7,writeRequests:this.config?.usageAssumptions?.dynamodb?.writeRequestsPerMonth??1e6}}async calculateOnDemandCost(e,t,o){try{const{readRequests:e,writeRequests:i}=this.getUsageAssumptions();const h=(0,n.normalizeRegion)(t);const p=await o.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-ReadUnits",type:"TERM_MATCH"}]});const Q=await o.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-WriteUnits",type:"TERM_MATCH"}]});if(p===null||Q===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB on-demand mode","On-demand billing mode"]}}const D=e*p;const T=i*Q;const _=D+T;return{amount:_,currency:"USD",confidence:"medium",assumptions:[`Assumes ${e.toLocaleString()} read requests per month`,`Assumes ${i.toLocaleString()} write requests per month`,"On-demand billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"On-demand billing mode"]}}}async calculateProvisionedCost(e,t,o){try{const i=e.properties.ProvisionedThroughput;const h=i?.ReadCapacityUnits||5;const p=i?.WriteCapacityUnits||5;const Q=(0,n.normalizeRegion)(t);const D=await o.getPrice({serviceCode:"AmazonDynamoDB",region:Q,filters:[{field:"usagetype",value:`${t}-ReadCapacityUnit-Hrs`,type:"TERM_MATCH"}]});const T=await o.getPrice({serviceCode:"AmazonDynamoDB",region:Q,filters:[{field:"usagetype",value:`${t}-WriteCapacityUnit-Hrs`,type:"TERM_MATCH"}]});if(D===null||T===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB provisioned mode","Provisioned billing mode"]}}const _=730;const O=h*_*D;const V=p*_*T;const j=O+V;return{amount:j,currency:"USD",confidence:"high",assumptions:[`${h} provisioned read capacity units`,`${p} provisioned write capacity units`,`Assumes ${_} hours per month (24/7 operation)`,"Provisioned billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"Provisioned billing mode"]}}}}t.DynamoDBCalculator=DynamoDBCalculator},2970:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EC2Calculator=void 0;const n=o(7973);class EC2Calculator{supports(e){return e==="AWS::EC2::Instance"}async calculateCost(e,t,o){const i=e.properties.InstanceType;if(!i){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Instance type not specified"]}}try{const e=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${i} in region ${t}`]}}const h=730;const p=e*h;return{amount:p,currency:"USD",confidence:"high",assumptions:[`Assumes ${h} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EC2Calculator=EC2Calculator},2665:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ECSCalculator=void 0;const n=o(7973);class ECSCalculator{supports(e){return e==="AWS::ECS::Service"}async calculateCost(e,t,o){const n=e.properties.DesiredCount||1;const i=e.properties.LaunchType||"FARGATE";if(i==="FARGATE"){return this.calculateFargateCost(e,n,t,o)}else if(i==="EC2"){return this.calculateEC2Cost(n)}else{return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported launch type: ${i}`]}}}async calculateFargateCost(e,t,o,i){try{const e=.25;const h=.5;const p=(0,n.getRegionPrefix)(o);if(!p){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Region prefix not found for ${o}`,"Unable to query Fargate pricing"]}}const Q=await i.getPrice({serviceCode:"AmazonECS",region:(0,n.normalizeRegion)(o),filters:[{field:"productFamily",value:"Compute"},{field:"usagetype",value:`${p}-Fargate-vCPU-Hours:perCPU`}]});const D=await i.getPrice({serviceCode:"AmazonECS",region:(0,n.normalizeRegion)(o),filters:[{field:"usagetype",value:`${p}-Fargate-GB-Hours`}]});if(Q===null||D===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for ECS Fargate"]}}const T=730;const _=e*Q*T*t;const O=h*D*T*t;const V=_+O;return{amount:V,currency:"USD",confidence:"medium",assumptions:[`${t} task(s) running`,`Assumes ${e} vCPU per task`,`Assumes ${h} GB memory per task`,`Assumes ${T} hours per month (24/7 operation)`,"Fargate launch type","Does not include data transfer or storage costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}calculateEC2Cost(e){return{amount:0,currency:"USD",confidence:"low",assumptions:[`${e} task(s) running on EC2 launch type`,"EC2 launch type costs depend on underlying EC2 instances","Refer to EC2 instance costs for actual pricing","Does not include ECS task-specific costs (minimal for EC2 launch type)"]}}}t.ECSCalculator=ECSCalculator},8900:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EFSCalculator=void 0;const n=o(7973);const i=o(7461);class EFSCalculator{customStorageSizeGb;customInfrequentAccessPercentage;DEFAULT_STORAGE_SIZE_GB=100;DEFAULT_IA_PERCENTAGE=0;FALLBACK_STANDARD_PRICE=.3;FALLBACK_IA_STORAGE_PRICE=.016;FALLBACK_IA_REQUEST_PRICE=.01;FALLBACK_PROVISIONED_THROUGHPUT_PRICE=6;constructor(e,t){this.customStorageSizeGb=e;this.customInfrequentAccessPercentage=t}supports(e){return e==="AWS::EFS::FileSystem"}async calculateCost(e,t,o){try{if(!e.properties){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Resource properties are undefined"]}}const h=(0,n.getRegionPrefix)(t);const p=this.customStorageSizeGb??this.DEFAULT_STORAGE_SIZE_GB;const Q=this.customInfrequentAccessPercentage??this.DEFAULT_IA_PERCENTAGE;i.Logger.debug("EFS pricing calculation started",{region:t,regionPrefix:h,normalizedRegion:(0,n.normalizeRegion)(t),storageSizeGb:p,iaPercentage:Q});const D=e.properties?.LifecyclePolicies;const T=D?.some((e=>e.TransitionToIA!==undefined))??false;const _=e.properties?.ThroughputMode;const O=e.properties?.ProvisionedThroughputInMibps;const V=_==="provisioned"&&O!==undefined;const j=T?Q:0;const $=p*(1-j/100);const ee=p*(j/100);const te=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${h}-TimedStorage-ByteHrs`}]});i.Logger.debug("EFS Standard storage price retrieved",{standardStoragePrice:te,usageType:`${h}-TimedStorage-ByteHrs`});let re=null;let se=null;if(T&&Q>0){re=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${h}-IATimedStorage-ByteHrs`}]});se=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${h}-IARequests-Bytes`}]});i.Logger.debug("EFS IA storage prices retrieved",{iaStoragePrice:re,iaRequestPrice:se})}let oe=null;if(V){oe=await o.getPrice({serviceCode:"AmazonEFS",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Provisioned Throughput"},{field:"usagetype",value:`${h}-ProvisionedTP-MiBpsHrs`}]});i.Logger.debug("EFS Provisioned Throughput price retrieved",{provisionedThroughputPrice:oe,usageType:`${h}-ProvisionedTP-MiBpsHrs`})}const ne=[];let ie=0;let Ae="medium";const ae=te??this.FALLBACK_STANDARD_PRICE;const ce=$*ae;if(te===null){ne.push("Using fallback Standard storage pricing (API unavailable)");Ae="low"}ie+=ce;ne.push(`Standard storage: ${$.toFixed(2)} GB × $${ae.toFixed(4)}/GB = $${ce.toFixed(2)}/month`);if(T&&Q>0){const e=re??this.FALLBACK_IA_STORAGE_PRICE;const t=ee*e;if(re===null){ne.push("Using fallback Infrequent Access storage pricing (API unavailable)");Ae="low"}ie+=t;ne.push(`Infrequent Access storage: ${ee.toFixed(2)} GB × $${e.toFixed(4)}/GB = $${t.toFixed(2)}/month`);const o=ee*.1;const n=se??this.FALLBACK_IA_REQUEST_PRICE;const i=o*n;if(se===null&&Q>0){ne.push("Using fallback Infrequent Access request pricing (API unavailable)");Ae="low"}ie+=i;ne.push(`IA requests (estimated 10% access): ${o.toFixed(2)} GB × $${n.toFixed(4)}/GB = $${i.toFixed(2)}/month`)}if(V&&O!==undefined){const e=oe??this.FALLBACK_PROVISIONED_THROUGHPUT_PRICE;const t=O*e;if(oe===null){ne.push("Using fallback Provisioned Throughput pricing (API unavailable)");Ae="low"}ie+=t;ne.push(`Provisioned Throughput: ${O} MB/s × $${e.toFixed(2)}/MB/s = $${t.toFixed(2)}/month`)}ne.push(`Total storage: ${p} GB`);if(this.customStorageSizeGb!==undefined){ne.push("Using custom storage size assumption from configuration")}if(T){ne.push(`Lifecycle policy detected: ${j}% in Infrequent Access`);if(this.customInfrequentAccessPercentage!==undefined){ne.push("Using custom IA percentage assumption from configuration")}}if(_){ne.push(`Throughput mode: ${_}`)}ne.push(`Total: $${ie.toFixed(2)}/month`);i.Logger.debug("EFS cost calculated",{standardStorageCost:ce,totalCost:ie,confidence:Ae});return{amount:ie,currency:"USD",confidence:Ae,assumptions:ne}}catch(e){i.Logger.debug("EFS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EFSCalculator=EFSCalculator},2564:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElastiCacheCalculator=void 0;const n=o(7973);class ElastiCacheCalculator{supports(e){return e==="AWS::ElastiCache::CacheCluster"}async calculateCost(e,t,o){const i=e.properties.CacheNodeType;const h=e.properties.Engine;const p=e.properties.NumCacheNodes||1;const Q=e.properties.AZMode;if(!i||!h){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Cache node type or engine not specified"]}}try{const e=await o.getPrice({serviceCode:"AmazonElastiCache",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"cacheEngine",value:this.normalizeEngine(h)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for node type ${i} with engine ${h} in region ${t}`]}}const D=730;const T=e*D;let _=T*p;const O=[`Assumes ${D} hours per month (24/7 operation)`,`Node type: ${i}`,`Engine: ${h}`,`Number of cache nodes: ${p}`,`Per-node monthly cost: $${T.toFixed(2)}`];if(Q==="cross-az"){_*=2;O.push("Multi-AZ deployment with replica nodes (cost doubled)")}else{O.push("Single-AZ deployment")}return{amount:_,currency:"USD",confidence:"high",assumptions:O}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={redis:"Redis",memcached:"Memcached"};return t[e.toLowerCase()]||e}}t.ElastiCacheCalculator=ElastiCacheCalculator},7653:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LambdaCalculator=void 0;const n=o(7973);class LambdaCalculator{customInvocationsPerMonth;customAverageDurationMs;DEFAULT_INVOCATIONS=1e6;DEFAULT_DURATION_MS=1e3;DEFAULT_MEMORY_MB=128;FALLBACK_REQUEST_PRICE=.2;FALLBACK_COMPUTE_PRICE=166667e-10;constructor(e,t){this.customInvocationsPerMonth=e;this.customAverageDurationMs=t}supports(e){return e==="AWS::Lambda::Function"}async calculateCost(e,t,o){const i=e.properties.MemorySize||this.DEFAULT_MEMORY_MB;const h=this.customInvocationsPerMonth??this.DEFAULT_INVOCATIONS;const p=this.customAverageDurationMs??this.DEFAULT_DURATION_MS;try{const e=await o.getPrice({serviceCode:"AWSLambda",region:(0,n.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Requests"}]});const Q=await o.getPrice({serviceCode:"AWSLambda",region:(0,n.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Duration"}]});const D=[`Assumes ${h.toLocaleString()} invocations per month`,`Assumes ${p}ms average execution time`,`Assumes ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){D.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){D.push("Using custom duration assumption from configuration")}if(e===null||Q===null){const o=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(o){const t=e??this.FALLBACK_REQUEST_PRICE;const o=Q??this.FALLBACK_COMPUTE_PRICE;const n=h/1e6*t;const T=i/1024*(p/1e3)*h;const _=T*o;const O=n+_;return{amount:O,currency:"USD",confidence:"low",assumptions:[e===null?"Using fallback request pricing (API unavailable)":"",Q===null?"Using fallback compute pricing (API unavailable)":"",...D].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Lambda in region ${t}`,...D]}}const T=h/1e6*e;const _=i/1024*(p/1e3)*h;const O=_*Q;const V=T+O;return{amount:V,currency:"USD",confidence:"medium",assumptions:D}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would assume ${h.toLocaleString()} invocations per month`,`Would assume ${p}ms average execution time`,`Would assume ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){t.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){t.push("Using custom duration assumption from configuration")}const o=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(o){const e=h/1e6*this.FALLBACK_REQUEST_PRICE;const o=i/1024*(p/1e3)*h;const n=o*this.FALLBACK_COMPUTE_PRICE;const Q=e+n;return{amount:Q,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}}t.LambdaCalculator=LambdaCalculator},231:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LaunchTemplateCalculator=void 0;const n=o(7973);class LaunchTemplateCalculator{static DEFAULT_VOLUME_SIZE_GB=8;static DEFAULT_VOLUME_TYPE="gp3";static MONTHLY_HOURS=730;supports(e){return e==="AWS::EC2::LaunchTemplate"}async calculateCost(e,t,o){const n=this.extractConfig(e);if(!n.instanceType){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["LaunchTemplate does not specify an instance type","LaunchTemplates have no direct cost; costs are incurred when instances are launched"]}}try{const e=await this.calculateInstanceCost(n.instanceType,t,o);if(e===0){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${n.instanceType} in region ${t}`]}}const i=await this.calculateStorageCost(n.ebsVolumes,t,o);const h=e+i;const p=["LaunchTemplates have no direct cost; this represents per-instance cost when used",`Instance type: ${n.instanceType}`,`Assumes ${LaunchTemplateCalculator.MONTHLY_HOURS} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"];if(n.ebsVolumes.length>0){const e=n.ebsVolumes.map((e=>`${e.deviceName}: ${e.volumeSizeGB}GB ${e.volumeType}`));p.push(`EBS volumes: ${e.join(", ")}`)}const Q=n.ebsVolumes.some((e=>(e.volumeType==="io1"||e.volumeType==="io2")&&e.iops));if(Q){p.push("Provisioned IOPS costs for io1/io2 volumes are not included")}const D=n.ebsVolumes.some((e=>e.volumeType==="gp3"&&e.throughput&&e.throughput>125));if(D){p.push("Additional throughput costs for gp3 volumes are not included")}if(n.imageId){p.push(`AMI: ${n.imageId}`)}return{amount:h,currency:"USD",confidence:"low",assumptions:p}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}extractConfig(e){const t=e.properties.LaunchTemplateData;if(!t){return{instanceType:null,imageId:null,ebsVolumes:[]}}const o=t.InstanceType||null;const n=t.ImageId||null;const i=this.extractEbsVolumes(t);return{instanceType:o,imageId:n,ebsVolumes:i}}extractEbsVolumes(e){const t=e.BlockDeviceMappings;if(!t||!Array.isArray(t)){return[]}return t.filter((e=>e.Ebs!==undefined)).map((e=>{const t=e.Ebs;return{deviceName:e.DeviceName||"/dev/xvda",volumeType:t.VolumeType||LaunchTemplateCalculator.DEFAULT_VOLUME_TYPE,volumeSizeGB:t.VolumeSize||LaunchTemplateCalculator.DEFAULT_VOLUME_SIZE_GB,iops:t.Iops,throughput:t.Throughput,deleteOnTermination:t.DeleteOnTermination??true}}))}async calculateInstanceCost(e,t,o){const i=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:e},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(i===null){return 0}return i*LaunchTemplateCalculator.MONTHLY_HOURS}async calculateStorageCost(e,t,o){if(e.length===0){return 0}let i=0;for(const h of e){const e=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"volumeApiName",value:h.volumeType.toLowerCase()}]});if(e!==null){i+=e*h.volumeSizeGB}}return i}}t.LaunchTemplateCalculator=LaunchTemplateCalculator},8680:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NLBCalculator=void 0;const n=o(7973);class NLBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,o){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=o}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="network"}async calculateCost(e,t,o){const i=e.properties?.Type;if(i&&i!=="network"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Network Load Balancers"]}}try{const e=(0,n.getRegionPrefix)(t);const i=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const h=await o.getPrice({serviceCode:"AWSELB",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LCUUsage`}]});if(i===null||h===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Network Load Balancer in region ${t}`]}}const p=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const Q=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const D=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const T=p/800;const _=Q/1e5;const O=D/this.HOURS_PER_MONTH;const V=O;const j=Math.max(T,_,V);const $=i*this.HOURS_PER_MONTH;const ee=h*j*this.HOURS_PER_MONTH;const te=$+ee;return{amount:te,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${$.toFixed(2)}/month`,`NLCU consumption: ${j.toFixed(2)} NLCU/hour based on:`,` - New connections: ${p}/sec → ${T.toFixed(2)} NLCU`,` - Active connections: ${Q}/min → ${_.toFixed(2)} NLCU`,` - Processed data: ${D} GB/month → ${V.toFixed(2)} NLCU`,`NLCU cost: $${h.toFixed(4)}/NLCU/hour × ${j.toFixed(2)} NLCU × ${this.HOURS_PER_MONTH} hours = $${ee.toFixed(2)}/month`,`Total: $${te.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NLBCalculator=NLBCalculator},1597:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NatGatewayCalculator=void 0;const n=o(7973);const i=o(7461);class NatGatewayCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::NatGateway"}async calculateCost(e,t,o){try{const e=(0,n.getRegionPrefix)(t);i.Logger.debug("NAT Gateway pricing calculation started",{region:t,regionPrefix:e,normalizedRegion:(0,n.normalizeRegion)(t),dataProcessedGB:this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB});const h=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Hours`}]});i.Logger.debug("NAT Gateway hourly rate retrieved",{hourlyRate:h,usageType:`${e}-RegionalNatGateway-Hours`});const p=await o.getPrice({serviceCode:"AmazonEC2",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Bytes`}]});i.Logger.debug("NAT Gateway data processing rate retrieved",{dataProcessingRate:p,usageType:`${e}-RegionalNatGateway-Bytes`});if(h===null||p===null){const o=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const n=[`Pricing data not available for NAT Gateway in region ${t}`,`Would assume ${o} GB of data processing per month`,`Would assume ${this.HOURS_PER_MONTH} hours per month`];if(this.customDataProcessedGB!==undefined){n.push("Using custom data processing assumption from configuration")}i.Logger.debug("NAT Gateway pricing not available",{region:t,regionPrefix:e,hourlyRateAvailable:h!==null,dataProcessingRateAvailable:p!==null});return{amount:0,currency:"USD",confidence:"unknown",assumptions:n}}const Q=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const D=h*this.HOURS_PER_MONTH;const T=p*Q;const _=D+T;i.Logger.debug("NAT Gateway cost calculated",{hourlyRate:h,dataProcessingRate:p,dataProcessedGB:Q,hourlyCost:D,dataProcessingCost:T,totalCost:_});return{amount:_,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${h.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${D.toFixed(2)}/month`,`Data processing: $${p.toFixed(4)}/GB × ${Q} GB = $${T.toFixed(2)}/month`,`Total: $${_.toFixed(2)}/month`]}}catch(e){i.Logger.debug("NAT Gateway pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NatGatewayCalculator=NatGatewayCalculator},779:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RDSCalculator=void 0;const n=o(7973);class RDSCalculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::RDS::DBInstance"}async calculateCost(e,t,o){const i=e.properties.DBInstanceClass;const h=e.properties.Engine;if(!i||!h){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["DB instance class or engine not specified"]}}try{const e=await o.getPrice({serviceCode:"AmazonRDS",region:(0,n.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"databaseEngine",value:this.normalizeEngine(h)},{field:"deploymentOption",value:"Single-AZ"}]});const p=await o.getPrice({serviceCode:"AmazonRDS",region:(0,n.normalizeRegion)(t),filters:[{field:"volumeType",value:"General Purpose"},{field:"databaseEngine",value:this.normalizeEngine(h)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance class ${i} in region ${t}`]}}const Q=730;const D=e*Q;const T=(p||0)*this.DEFAULT_STORAGE_GB;const _=D+T;return{amount:_,currency:"USD",confidence:"high",assumptions:[`Assumes ${Q} hours per month (24/7 operation)`,`Assumes ${this.DEFAULT_STORAGE_GB} GB of General Purpose (gp2) storage`,"Assumes Single-AZ deployment"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={mysql:"MySQL",postgres:"PostgreSQL",mariadb:"MariaDB","oracle-se2":"Oracle","sqlserver-ex":"SQL Server","aurora-mysql":"Aurora MySQL","aurora-postgresql":"Aurora PostgreSQL"};return t[e.toLowerCase()]||e}}t.RDSCalculator=RDSCalculator},4872:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.S3Calculator=void 0;const n=o(7973);class S3Calculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::S3::Bucket"}async calculateCost(e,t,o){try{const e=await o.getPrice({serviceCode:"AmazonS3",region:(0,n.normalizeRegion)(t),filters:[{field:"storageClass",value:"General Purpose"},{field:"volumeType",value:"Standard"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for S3 in region ${t}`]}}const i=e*this.DEFAULT_STORAGE_GB;return{amount:i,currency:"USD",confidence:"medium",assumptions:[`Assumes ${this.DEFAULT_STORAGE_GB} GB of standard storage`,"Does not include request costs or data transfer"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.S3Calculator=S3Calculator},7346:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SNSCalculator=void 0;const n=o(7973);const i=o(7461);class SNSCalculator{customMonthlyPublishes;customHttpDeliveries;customEmailDeliveries;customSmsDeliveries;customMobilePushDeliveries;DEFAULT_MONTHLY_PUBLISHES=1e6;DEFAULT_HTTP_DELIVERIES=1e6;DEFAULT_EMAIL_DELIVERIES=0;DEFAULT_SMS_DELIVERIES=0;DEFAULT_MOBILE_PUSH_DELIVERIES=0;FALLBACK_PUBLISH_PRICE_PER_MILLION=.5;FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION=.6;FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K=2;FALLBACK_SMS_PRICE_PER_MESSAGE=.00645;FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION=.5;FREE_TIER_PUBLISHES=1e6;constructor(e,t,o,n,i){this.customMonthlyPublishes=e;this.customHttpDeliveries=t;this.customEmailDeliveries=o;this.customSmsDeliveries=n;this.customMobilePushDeliveries=i}supports(e){return e==="AWS::SNS::Topic"}async calculateCost(e,t,o){const h=this.customMonthlyPublishes??this.DEFAULT_MONTHLY_PUBLISHES;const p=this.customHttpDeliveries??this.DEFAULT_HTTP_DELIVERIES;const Q=this.customEmailDeliveries??this.DEFAULT_EMAIL_DELIVERIES;const D=this.customSmsDeliveries??this.DEFAULT_SMS_DELIVERIES;const T=this.customMobilePushDeliveries??this.DEFAULT_MOBILE_PUSH_DELIVERIES;i.Logger.debug("SNS pricing calculation started",{region:t,logicalId:e.logicalId,monthlyPublishes:h,httpDeliveries:p,emailDeliveries:Q,smsDeliveries:D,mobilePushDeliveries:T});try{const e=(0,n.getRegionPrefix)(t);const _=(0,n.normalizeRegion)(t);const O=await this.getPublishPrice(o,_,e);const V=await this.getHttpDeliveryPrice(o,_,e);const j=await this.getEmailDeliveryPrice(o,_,e);const $=await this.getSmsPrice(o,_,e);const ee=await this.getMobilePushPrice(o,_,e);const te=this.hasCustomAssumptions();const re=O!==null&&V!==null&&j!==null&&$!==null&&ee!==null;const se=this.calculateCostBreakdown(h,p,Q,D,T,O,V,j,$,ee);i.Logger.debug("SNS cost calculated",{costBreakdown:se,allPricesAvailable:re});const oe=this.buildAssumptions(h,p,Q,D,T,se,re,O,V,j,$,ee);let ne;if(!re&&!te){ne="unknown"}else if(!re&&te){ne="low"}else{ne="medium"}if(!re&&!te){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SNS in region ${t}`,...oe]}}return{amount:se.totalCost,currency:"USD",confidence:ne,assumptions:oe}}catch(e){i.Logger.debug("SNS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});if(this.hasCustomAssumptions()){const e=this.calculateCostBreakdown(h,p,Q,D,T,null,null,null,null,null);return{amount:e.totalCost,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",`Assumes ${h.toLocaleString()} publishes per month`,`Assumes ${p.toLocaleString()} HTTP/S deliveries per month`]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async getPublishPrice(e,t,o){const n=o?`${o}-PublishRequests`:"PublishRequests";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:n}]})}async getHttpDeliveryPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-HTTP`:"DeliveryAttempts-HTTP";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:n}]})}async getEmailDeliveryPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-EMAIL`:"DeliveryAttempts-EMAIL";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:n}]})}async getSmsPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-SMS`:"DeliveryAttempts-SMS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"SMS"},{field:"usagetype",value:n}]})}async getMobilePushPrice(e,t,o){const n=o?`${o}-DeliveryAttempts-APNS`:"DeliveryAttempts-APNS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Mobile Push Notification"},{field:"usagetype",value:n}]})}calculateCostBreakdown(e,t,o,n,i,h,p,Q,D,T){const _=h??this.FALLBACK_PUBLISH_PRICE_PER_MILLION;const O=p??this.FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION;const V=Q??this.FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K;const j=D??this.FALLBACK_SMS_PRICE_PER_MESSAGE;const $=T??this.FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION;const ee=Math.max(0,e-this.FREE_TIER_PUBLISHES);const te=ee/1e6*_;const re=t/1e6*O;const se=o/1e5*V;const oe=n*j;const ne=i/1e6*$;const ie=te+re+se+oe+ne;return{publishCost:te,httpDeliveryCost:re,emailDeliveryCost:se,smsDeliveryCost:oe,mobilePushDeliveryCost:ne,totalCost:ie}}buildAssumptions(e,t,o,n,i,h,p,Q,D,T,_,O){const V=[];V.push(`Assumes ${e.toLocaleString()} publishes per month`);V.push(`Assumes ${t.toLocaleString()} HTTP/S deliveries per month`);if(o>0){V.push(`Assumes ${o.toLocaleString()} email deliveries per month`)}if(n>0){V.push(`Assumes ${n.toLocaleString()} SMS deliveries per month (using US rate)`)}if(i>0){V.push(`Assumes ${i.toLocaleString()} mobile push deliveries per month`)}if(e<=this.FREE_TIER_PUBLISHES){V.push(`First ${this.FREE_TIER_PUBLISHES.toLocaleString()} publishes are free`)}else{const t=e-this.FREE_TIER_PUBLISHES;V.push(`${this.FREE_TIER_PUBLISHES.toLocaleString()} free tier publishes applied, ${t.toLocaleString()} billable`)}if(h.publishCost>0){V.push(`Publish cost: $${h.publishCost.toFixed(2)}`)}if(h.httpDeliveryCost>0){V.push(`HTTP/S delivery cost: $${h.httpDeliveryCost.toFixed(2)}`)}if(h.emailDeliveryCost>0){V.push(`Email delivery cost: $${h.emailDeliveryCost.toFixed(2)}`)}if(h.smsDeliveryCost>0){V.push(`SMS delivery cost: $${h.smsDeliveryCost.toFixed(2)}`)}if(h.mobilePushDeliveryCost>0){V.push(`Mobile push delivery cost: $${h.mobilePushDeliveryCost.toFixed(2)}`)}if(!p){if(Q===null){V.push("Using fallback publish pricing (API unavailable)")}if(D===null){V.push("Using fallback HTTP delivery pricing (API unavailable)")}if(T===null&&o>0){V.push("Using fallback email delivery pricing (API unavailable)")}if(_===null&&n>0){V.push("Using fallback SMS pricing (API unavailable)")}if(O===null&&i>0){V.push("Using fallback mobile push pricing (API unavailable)")}}if(this.customMonthlyPublishes!==undefined){V.push("Using custom publish count from configuration")}if(this.customHttpDeliveries!==undefined){V.push("Using custom HTTP delivery count from configuration")}if(this.customEmailDeliveries!==undefined){V.push("Using custom email delivery count from configuration")}if(this.customSmsDeliveries!==undefined){V.push("Using custom SMS delivery count from configuration")}if(this.customMobilePushDeliveries!==undefined){V.push("Using custom mobile push delivery count from configuration")}return V}hasCustomAssumptions(){return this.customMonthlyPublishes!==undefined||this.customHttpDeliveries!==undefined||this.customEmailDeliveries!==undefined||this.customSmsDeliveries!==undefined||this.customMobilePushDeliveries!==undefined}}t.SNSCalculator=SNSCalculator},2697:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SQSCalculator=void 0;const n=o(7973);class SQSCalculator{DEFAULT_MONTHLY_REQUESTS=1e6;FALLBACK_STANDARD_PRICE_PER_MILLION=.4;FALLBACK_FIFO_PRICE_PER_MILLION=.5;config;constructor(e){this.config=e}supports(e){return e==="AWS::SQS::Queue"}async calculateCost(e,t,o){const n=this.isFifoQueue(e);const i=this.getMonthlyRequests();try{const e=await this.getPricePerMillion(t,n,o);const h=this.buildAssumptions(i,n);if(e===null){const e=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(e){const e=n?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const t=i/1e6*e;return{amount:t,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API unavailable)",...h]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SQS in region ${t}`,...h]}}const p=i/1e6*e;return{amount:p,currency:"USD",confidence:"medium",assumptions:h}}catch(e){const t=this.buildAssumptions(i,n);const o=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(o){const e=n?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const o=i/1e6*e;return{amount:o,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...t]}}}isFifoQueue(e){return e.properties.FifoQueue===true||e.properties.FifoQueue==="true"}getMonthlyRequests(){return this.config?.usageAssumptions?.sqs?.monthlyRequests??this.DEFAULT_MONTHLY_REQUESTS}buildAssumptions(e,t){const o=[`Assumes ${e.toLocaleString()} requests per month`,t?"FIFO queue":"Standard queue","Does not include data transfer costs"];if(this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined){o.push("Using custom monthly requests assumption from configuration")}return o}async getPricePerMillion(e,t,o){const i=(0,n.normalizeRegion)(e);const h=(0,n.getRegionPrefix)(e);const p=t?"Requests-FIFO":"Requests";const Q=h?`${h}-${p}`:p;return o.getPrice({serviceCode:"AWSQueueService",region:i,filters:[{field:"productFamily",value:"Queue"},{field:"usagetype",value:Q}]})}}t.SQSCalculator=SQSCalculator},7822:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SecretsManagerCalculator=void 0;const n=o(7973);const i=o(7461);class SecretsManagerCalculator{customMonthlyApiCalls;DEFAULT_MONTHLY_API_CALLS=1e4;FALLBACK_SECRET_STORAGE_PRICE=.4;FALLBACK_API_CALL_PRICE_PER_10K=.05;constructor(e){this.customMonthlyApiCalls=e}supports(e){return e==="AWS::SecretsManager::Secret"}async calculateCost(e,t,o){const h=this.customMonthlyApiCalls??this.DEFAULT_MONTHLY_API_CALLS;i.Logger.debug("Secrets Manager pricing calculation started",{region:t,logicalId:e.logicalId,monthlyApiCalls:h});try{const e=(0,n.normalizeRegion)(t);const p=await o.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretStorage"}]});i.Logger.debug("Secrets Manager storage price retrieved",{secretStoragePrice:p,region:e});const Q=await o.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretRotation"}]});i.Logger.debug("Secrets Manager API call price retrieved",{apiCallPrice:Q,region:e});if(p===null&&Q===null){i.Logger.debug("Secrets Manager pricing not available",{region:t,normalizedRegion:e});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Secrets Manager in region ${t}`,`Would assume ${h.toLocaleString()} API calls per month`]}}const D=p??this.FALLBACK_SECRET_STORAGE_PRICE;const T=Q??this.FALLBACK_API_CALL_PRICE_PER_10K;const _=h/1e4*T;const O=D+_;const V=p===null||Q===null?"low":"medium";const j=p===null||Q===null;i.Logger.debug("Secrets Manager cost calculated",{storageCost:D,callCostPer10K:T,apiCallCost:_,totalCost:O,confidence:V,usedFallback:j});const $=[];if(j){if(p===null){$.push("Using fallback storage pricing (API unavailable)")}if(Q===null){$.push("Using fallback API call pricing (API unavailable)")}}$.push(`Secret storage: $${D.toFixed(2)}/month`);$.push(`API calls: ${h.toLocaleString()} calls × $${T.toFixed(4)}/10K = $${_.toFixed(2)}/month`);$.push(`Total: $${O.toFixed(2)}/month`);if(this.customMonthlyApiCalls!==undefined){$.push("Using custom API call volume from configuration")}$.push("No free tier for Secrets Manager");$.push("Cross-region replication incurs additional costs (not calculated)");return{amount:O,currency:"USD",confidence:V,assumptions:$}}catch(e){i.Logger.debug("Secrets Manager pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate Secrets Manager cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.SecretsManagerCalculator=SecretsManagerCalculator},5099:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StepFunctionsCalculator=void 0;const n=o(7973);class StepFunctionsCalculator{customMonthlyExecutions;customStateTransitionsPerExecution;customAverageDurationMs;DEFAULT_MONTHLY_EXECUTIONS=1e4;DEFAULT_STATE_TRANSITIONS_PER_EXECUTION=10;DEFAULT_AVERAGE_DURATION_MS=1e3;FALLBACK_STANDARD_STATE_TRANSITION_PRICE=.025/1e3;FALLBACK_EXPRESS_REQUEST_PRICE=1/1e6;FALLBACK_EXPRESS_DURATION_PRICE=1667e-8;constructor(e,t,o){this.customMonthlyExecutions=e;this.customStateTransitionsPerExecution=t;this.customAverageDurationMs=o}supports(e){return e==="AWS::StepFunctions::StateMachine"}async calculateCost(e,t,o){const n=this.getWorkflowType(e);if(n==="EXPRESS"){return this.calculateExpressWorkflowCost(e,t,o)}return this.calculateStandardWorkflowCost(e,t,o)}getWorkflowType(e){const t=e.properties.Type;if(t==="EXPRESS"){return"EXPRESS"}return"STANDARD"}async calculateStandardWorkflowCost(e,t,o){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const h=this.customStateTransitionsPerExecution??this.DEFAULT_STATE_TRANSITIONS_PER_EXECUTION;const p=i*h;try{const e=(0,n.getRegionPrefix)(t);const Q=e?`${e}-StateTransition`:"StateTransition";const D=await o.getPrice({serviceCode:"AWSStepFunctions",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:Q}]});const T=this.buildStandardAssumptions(i,h,p);if(D===null){const e=this.hasCustomAssumptions();if(e){const e=p*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback state transition pricing (API unavailable)",...T]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Standard workflow in region ${t}`,...T]}}const _=p*D;return{amount:_,currency:"USD",confidence:"medium",assumptions:T}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildStandardAssumptions(i,h,p)];const o=this.hasCustomAssumptions();if(o){const e=p*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}async calculateExpressWorkflowCost(e,t,o){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const h=this.customAverageDurationMs??this.DEFAULT_AVERAGE_DURATION_MS;const p=64;const Q=h/1e3;const D=p/1024*Q*i;try{const e=(0,n.getRegionPrefix)(t);const p=e?`${e}-ExpressRequest`:"ExpressRequest";const Q=e?`${e}-ExpressDuration`:"ExpressDuration";const T=await o.getPrice({serviceCode:"AWSStepFunctions",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:p}]});const _=await o.getPrice({serviceCode:"AWSStepFunctions",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:Q}]});const O=this.buildExpressAssumptions(i,h,D);if(T===null||_===null){const e=this.hasCustomAssumptions();if(e){const e=T??this.FALLBACK_EXPRESS_REQUEST_PRICE;const t=_??this.FALLBACK_EXPRESS_DURATION_PRICE;const o=i*e;const n=D*t;const h=o+n;return{amount:h,currency:"USD",confidence:"low",assumptions:[T===null?"Using fallback request pricing (API unavailable)":"",_===null?"Using fallback duration pricing (API unavailable)":"",...O].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Express workflow in region ${t}`,...O]}}const V=i*T;const j=D*_;const $=V+j;return{amount:$,currency:"USD",confidence:"medium",assumptions:O}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildExpressAssumptions(i,h,D)];const o=this.hasCustomAssumptions();if(o){const e=i*this.FALLBACK_EXPRESS_REQUEST_PRICE;const o=D*this.FALLBACK_EXPRESS_DURATION_PRICE;const n=e+o;return{amount:n,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}buildStandardAssumptions(e,t,o){const n=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t} state transitions per execution`,`Total estimated state transitions: ${o.toLocaleString()}`,"STANDARD workflow type","Pricing: $0.025 per 1,000 state transitions"];if(this.customMonthlyExecutions!==undefined){n.push("Using custom monthly executions from configuration")}if(this.customStateTransitionsPerExecution!==undefined){n.push("Using custom state transitions per execution from configuration")}return n}buildExpressAssumptions(e,t,o){const n=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t}ms average execution duration`,`Total estimated GB-seconds: ${o.toFixed(2)}`,"EXPRESS workflow type","Pricing: $1.00 per million requests + $0.00001667 per GB-second","Assumes 64MB memory allocation per execution"];if(this.customMonthlyExecutions!==undefined){n.push("Using custom monthly executions from configuration")}if(this.customAverageDurationMs!==undefined){n.push("Using custom average duration from configuration")}return n}hasCustomAssumptions(){return this.customMonthlyExecutions!==undefined||this.customStateTransitionsPerExecution!==undefined||this.customAverageDurationMs!==undefined}}t.StepFunctionsCalculator=StepFunctionsCalculator},7278:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.VPCEndpointCalculator=void 0;const n=o(7973);class VPCEndpointCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::VPCEndpoint"}async calculateCost(e,t,o){const i=e.properties?.VpcEndpointType;const h=e.properties?.ServiceName||"";const p=i==="Gateway"||i===undefined&&(h.includes("s3")||h.includes("dynamodb"));if(p){return{amount:0,currency:"USD",confidence:"high",assumptions:["Gateway VPC endpoints for S3 and DynamoDB are free","No data processing charges for gateway endpoints"]}}try{const e=(0,n.getRegionPrefix)(t);const i=await o.getPrice({serviceCode:"AmazonVPC",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Hours`}]});const h=await o.getPrice({serviceCode:"AmazonVPC",region:(0,n.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Bytes`}]});if(i===null||h===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for VPC Endpoint in region ${t}`]}}const p=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const Q=i*this.HOURS_PER_MONTH;const D=h*p;const T=Q+D;return{amount:T,currency:"USD",confidence:"medium",assumptions:["Interface VPC Endpoint type",`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${Q.toFixed(2)}/month`,`Data processing: $${h.toFixed(4)}/GB × ${p} GB = $${D.toFixed(2)}/month`,`Total: $${T.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.VPCEndpointCalculator=VPCEndpointCalculator},9543:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UnsupportedResourceError=t.PricingAPIError=void 0;class PricingAPIError extends Error{retryable;constructor(e,t=true){super(e);this.retryable=t;this.name="PricingAPIError"}}t.PricingAPIError=PricingAPIError;class UnsupportedResourceError extends Error{resourceType;constructor(e){super(`Resource type ${e} is not supported`);this.resourceType=e;this.name="UnsupportedResourceError"}}t.UnsupportedResourceError=UnsupportedResourceError},7785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubActionReporter=void 0;class GitHubActionReporter{generateReport(e,t,o){const n=[];n.push("## 💰 CDK Cost Analysis");n.push("");n.push(this.generateCostSummary(e,t,o));n.push("");if(e.addedCosts.length>0){n.push(this.formatAddedResources(e.addedCosts,e.currency));n.push("")}if(e.modifiedCosts.length>0){n.push(this.formatModifiedResources(e.modifiedCosts,e.currency));n.push("")}if(e.removedCosts.length>0){n.push(this.formatRemovedResources(e.removedCosts,e.currency));n.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){n.push("No resource changes detected.");n.push("")}n.push("---");n.push("*Generated by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer)*");return n.join("\n")}generateCostSummary(e,t,o){const n=[];const i=this.getTrendIndicator(e.totalDelta);const h=this.formatDelta(e.totalDelta,e.currency);n.push(`**Monthly Cost Impact:** ${i} ${h}`);if(t!==undefined&&o!==undefined&&t>0){const e=(o-t)/t*100;const i=this.formatPercentage(e);n.push(`**Percentage Change:** ${i}`)}if(t!==undefined&&o!==undefined){n.push("");n.push("| Metric | Value |");n.push("|--------|-------|");n.push(`| Base Monthly Cost | ${this.formatCurrency(t,e.currency)} |`);n.push(`| Target Monthly Cost | ${this.formatCurrency(o,e.currency)} |`);n.push(`| Cost Delta | ${h} |`)}return n.join("\n")}formatAddedResources(e,t){const o=[];o.push("### ➕ Added Resources");o.push("");o.push("| Logical ID | Type | Monthly Cost |");o.push("|------------|------|--------------|");const n=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of n){o.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);o.push(`| **Total Added** | | **${this.formatCurrency(i,t)}** |`);return o.join("\n")}formatModifiedResources(e,t){const o=[];o.push("### 🔄 Modified Resources");o.push("");o.push("| Logical ID | Type | Old Cost | New Cost | Delta |");o.push("|------------|------|----------|----------|-------|");const n=[...e].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of n){const n=this.getTrendIndicator(e.costDelta);o.push(`| ${e.logicalId} | \`${e.type}\` | `+`${this.formatCurrency(e.oldMonthlyCost.amount,t)} | `+`${this.formatCurrency(e.newMonthlyCost.amount,t)} | `+`${n} ${this.formatDelta(e.costDelta,t)} |`)}const i=e.reduce(((e,t)=>e+t.costDelta),0);const h=this.getTrendIndicator(i);o.push(`| **Total Modified** | | | | **${h} ${this.formatDelta(i,t)}** |`);return o.join("\n")}formatRemovedResources(e,t){const o=[];o.push("### ➖ Removed Resources");o.push("");o.push("| Logical ID | Type | Monthly Cost |");o.push("|------------|------|--------------|");const n=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of n){o.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);o.push(`| **Total Removed** | | **-${this.formatCurrency(i,t)}** |`);return o.join("\n")}getTrendIndicator(e){if(e>0){return"↗️"}else if(e<0){return"↘️"}return"➡️"}formatCurrency(e,t){const o=t==="USD"?"$":t;return`${o}${e.toFixed(2)}`}formatDelta(e,t){const o=this.formatCurrency(Math.abs(e),t);if(e===0){return o}return e<0?`-${o}`:`+${o}`}formatPercentage(e){const t=e>0?"+":"";return`${t}${e.toFixed(1)}%`}}t.GitHubActionReporter=GitHubActionReporter},1268:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Reporter=void 0;const n=o(7491);class Reporter{generateReport(e,t,o){switch(t){case"text":return this.generateTextReport(e,o);case"json":return this.generateJsonReport(e,o);case"markdown":return this.generateMarkdownReport(e,o);default:throw new Error(`Unsupported report format: ${t}`)}}generateTextReport(e,t){const o=[];o.push("=".repeat(60));o.push("CDK Cost Analysis Report");o.push("=".repeat(60));o.push("");if(t?.configSummary){o.push(...this.formatConfigSummaryText(t.configSummary));o.push("")}if(t?.thresholdStatus){o.push(...this.formatThresholdStatusText(t.thresholdStatus));o.push("")}o.push(`Total Cost Delta: ${this.formatDelta(e.totalDelta,e.currency)}`);o.push("");if(e.addedCosts.length>0){o.push("ADDED RESOURCES:");o.push("-".repeat(60));const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){o.push(this.formatResourceLine(e))}o.push("")}if(e.removedCosts.length>0){o.push("REMOVED RESOURCES:");o.push("-".repeat(60));const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){o.push(this.formatResourceLine(e))}o.push("")}if(e.modifiedCosts.length>0){o.push("MODIFIED RESOURCES:");o.push("-".repeat(60));const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of t){o.push(this.formatModifiedResourceLine(e))}o.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){o.push("No resource changes detected.");o.push("")}o.push("=".repeat(60));return o.join("\n")}generateJsonReport(e,t){const o={...e};if(t?.configSummary){o.configSummary=t.configSummary}if(t?.thresholdStatus){o.thresholdStatus=t.thresholdStatus}if(t?.stackName){o.stackName=t.stackName}return JSON.stringify(o,null,2)}generateMarkdownReport(e,t){const o=[];const i=(0,n.calculateTotalCosts)(e);const h=(0,n.getTrendIndicator)(e.totalDelta);o.push("# 💰 Cost Impact Analysis");o.push("");o.push(`**Monthly Cost Change:** ${this.formatDelta(e.totalDelta,e.currency)} ${h}`);o.push("");if(t?.multiStack&&t?.stacks&&t.stacks.length>1){o.push("## Per-Stack Cost Breakdown");o.push("");o.push("| Stack | Cost Delta | Trend |");o.push("|-------|------------|-------|");for(const e of t.stacks){const t=(0,n.getTrendIndicator)(e.costDelta.totalDelta);o.push(`| ${e.stackName} | ${this.formatDelta(e.costDelta.totalDelta,e.costDelta.currency)} | ${t} |`)}o.push("");o.push("<details>");o.push("<summary><strong>View Detailed Stack Breakdowns</strong></summary>");o.push("");for(const e of t.stacks){o.push(`### ${e.stackName}`);o.push("");o.push(...this.formatStackDetailsMarkdown(e.costDelta));o.push("")}o.push("</details>");o.push("")}if(t?.thresholdStatus){o.push(...this.formatThresholdStatusMarkdown(t.thresholdStatus,e));o.push("")}if(e.addedCosts.length>0){o.push("## 📈 Added Resources");o.push("");o.push("| Resource | Type | Monthly Cost |");o.push("|----------|------|--------------|");const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of t){o.push(`| ${n.logicalId} | \`${n.type}\` | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}o.push("")}if(e.modifiedCosts.length>0){o.push("## 🔄 Modified Resources");o.push("");o.push("| Resource | Type | Before | After | Change |");o.push("|----------|------|--------|-------|--------|");const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const i of t){const t=(0,n.getTrendIndicator)(i.costDelta);const h=(0,n.getPercentageChange)(i.oldMonthlyCost.amount,i.newMonthlyCost.amount);o.push(`| ${i.logicalId} | \`${i.type}\` | `+`${this.formatCurrency(i.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(i.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(i.costDelta,e.currency)} (${h}) ${t} |`)}o.push("")}if(e.removedCosts.length>0){o.push("## 📉 Removed Resources");o.push("");o.push("| Resource | Type | Monthly Savings |");o.push("|----------|------|-----------------|");const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of t){o.push(`| ${n.logicalId} | \`${n.type}\` | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}o.push("")}o.push("## 💵 Total Monthly Cost");o.push("");o.push("| Metric | Value |");o.push("|--------|-------|");o.push(`| Before | ${this.formatCurrency(i.before,e.currency)} |`);o.push(`| After | ${this.formatCurrency(i.after,e.currency)} |`);o.push(`| Change | ${this.formatDelta(e.totalDelta,e.currency)} ${h} |`);o.push("");const p=(0,n.groupCostsByService)(e);if(p.length>0){o.push("## 📊 Cost Breakdown by Service");o.push("");o.push("| Service | Resources | Cost Impact | Trend |");o.push("|---------|-----------|-------------|-------|");for(const t of p){const i=(0,n.getTrendIndicator)(t.totalCost);o.push(`| ${t.service} | ${t.resourceCount} | ${this.formatDelta(t.totalCost,e.currency)} | ${i} |`)}o.push("")}if(t?.configSummary){o.push(...this.formatConfigSummaryMarkdown(t.configSummary));o.push("")}o.push("---");o.push("");o.push("*Powered by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer) | [Configuration Reference](https://github.com/buildinginthecloud/cdk-cost-analyzer/blob/main/docs/CONFIGURATION.md)*");return o.join("\n")}formatResourceLine(e){const t=this.formatCurrency(e.monthlyCost.amount,"USD");const o=e.monthlyCost.confidence;return` • ${e.logicalId} (${e.type}): ${t} [${o}]`}formatModifiedResourceLine(e){const t=this.formatCurrency(e.oldMonthlyCost.amount,"USD");const o=this.formatCurrency(e.newMonthlyCost.amount,"USD");const n=this.formatDelta(e.costDelta,"USD");return` • ${e.logicalId} (${e.type}): ${t} → ${o} (${n})`}formatCurrency(e,t){const o=t==="USD"?"$":t;return`${o}${e.toFixed(2)}`}formatDelta(e,t){const o=e>0?"+":e<0?"-":"";const n=Math.abs(e);const i=this.formatCurrency(n,t);return e===0?i:`${o}${i}`}formatConfigSummaryText(e){const t=[];t.push("CONFIGURATION:");t.push("-".repeat(60));if(e.configPath){t.push(` Configuration File: ${e.configPath}`)}else{t.push(" Configuration File: Using defaults")}if(e.thresholds){if(e.thresholds.environment){t.push(` Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(` Warning Threshold: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(` Error Threshold: $${e.thresholds.error.toFixed(2)}/month`)}}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push(` Excluded Resource Types: ${e.excludedResourceTypes.join(", ")}`)}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push(" Custom Usage Assumptions:");for(const[o,n]of Object.entries(e.usageAssumptions)){t.push(` - ${o}: ${JSON.stringify(n)}`)}}return t}formatThresholdStatusText(e){const t=[];t.push("THRESHOLD STATUS:");t.push("-".repeat(60));if(e.level==="none"){t.push(" No thresholds configured")}else{const o=e.passed?"PASSED":"EXCEEDED";t.push(` Status: ${o}`);if(e.threshold!==undefined){t.push(` Threshold: $${e.threshold.toFixed(2)}/month (${e.level})`)}t.push(` Actual Delta: $${Math.abs(e.delta).toFixed(2)}/month`);if(!e.passed&&e.recommendations&&e.recommendations.length>0){t.push(" Recommendations:");for(const o of e.recommendations){t.push(` - ${o}`)}}}return t}formatConfigSummaryMarkdown(e){const t=[];t.push("<details>");t.push("<summary><strong>📋 Configuration & Assumptions</strong></summary>");t.push("");if(e.configPath){t.push(`**Configuration File:** \`${e.configPath}\``)}else{t.push("**Configuration File:** Using defaults")}t.push("");if(e.thresholds){t.push("**Thresholds:**");if(e.thresholds.environment){t.push(`- Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(`- Warning: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(`- Error: $${e.thresholds.error.toFixed(2)}/month`)}t.push("")}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push("**Excluded Resource Types:**");for(const o of e.excludedResourceTypes){t.push(`- \`${o}\``)}t.push("")}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push("**Custom Usage Assumptions:**");for(const[o,n]of Object.entries(e.usageAssumptions)){t.push(`- **${o}:**`);const e=n;for(const[o,n]of Object.entries(e)){t.push(` - ${o}: ${n}`)}}t.push("")}t.push("</details>");t.push("");return t}formatThresholdStatusMarkdown(e,t){const o=[];if(e.level==="none"){return o}const i=e.passed;const h=i?"✅":"🚨";const p=i?"PASSED":"EXCEEDED";o.push(`## ${h} Threshold Status: ${p}`);o.push("");if(e.threshold!==undefined){o.push(`**Threshold:** $${e.threshold.toFixed(2)}/month (${e.level})`)}o.push(`**Actual Delta:** ${this.formatDelta(e.delta,t.currency)}/month`);o.push("");if(!i){o.push("### ⚠️ Action Required");o.push("");o.push(e.message);o.push("");if(e.recommendations&&e.recommendations.length>0){o.push("### 💡 Recommendations");o.push("");for(const t of e.recommendations){o.push(`- ${t}`)}o.push("")}const i=this.getTopCostContributors(t,5);if(i.length>0){o.push("### 🔝 Top Cost Contributors");o.push("");o.push("| Resource | Type | Impact | Trend |");o.push("|----------|------|--------|-------|");for(const e of i){const i=(0,n.getTrendIndicator)(e.impact);o.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatDelta(e.impact,t.currency)} | ${i} |`)}o.push("")}}return o}getTopCostContributors(e,t){const o=[];for(const t of e.addedCosts){o.push({logicalId:t.logicalId,type:t.type,impact:t.monthlyCost.amount})}for(const t of e.removedCosts){o.push({logicalId:t.logicalId,type:t.type,impact:-t.monthlyCost.amount})}for(const t of e.modifiedCosts){o.push({logicalId:t.logicalId,type:t.type,impact:t.costDelta})}o.sort(((e,t)=>Math.abs(t.impact)-Math.abs(e.impact)));return o.slice(0,t)}formatStackDetailsMarkdown(e){const t=[];if(e.addedCosts.length>0){t.push("**📈 Added Resources:**");t.push("");t.push("| Resource | Type | Monthly Cost |");t.push("|----------|------|--------------|");const o=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of o){t.push(`| ${n.logicalId} | \`${n.type}\` | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.removedCosts.length>0){t.push("**📉 Removed Resources:**");t.push("");t.push("| Resource | Type | Monthly Savings |");t.push("|----------|------|-----------------|");const o=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const n of o){t.push(`| ${n.logicalId} | \`${n.type}\` | ${this.formatCurrency(n.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.modifiedCosts.length>0){t.push("**🔄 Modified Resources:**");t.push("");t.push("| Resource | Type | Before | After | Change |");t.push("|----------|------|--------|-------|--------|");const o=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const i of o){const o=(0,n.getTrendIndicator)(i.costDelta);const h=(0,n.getPercentageChange)(i.oldMonthlyCost.amount,i.newMonthlyCost.amount);t.push(`| ${i.logicalId} | \`${i.type}\` | `+`${this.formatCurrency(i.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(i.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(i.costDelta,e.currency)} (${h}) ${o} |`)}t.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){t.push("No resource changes detected.");t.push("")}return t}}t.Reporter=Reporter},7491:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getTrendIndicator=getTrendIndicator;t.getPercentageChange=getPercentageChange;t.extractServiceName=extractServiceName;t.groupCostsByService=groupCostsByService;t.calculateTotalCosts=calculateTotalCosts;function getTrendIndicator(e){if(e>0)return"↗️";if(e<0)return"↘️";return"➡️"}function getPercentageChange(e,t){if(e===0){return t>0?"+∞%":"0%"}const o=(t-e)/e*100;if(o===0)return"0%";const n=o>0?"+":"";return`${n}${o.toFixed(1)}%`}function extractServiceName(e){const t=e.split("::");if(t.length>=2){return t[1]}return e}function groupCostsByService(e){const t=new Map;for(const o of e.addedCosts){const e=extractServiceName(o.type);const n=t.get(e)||{totalCost:0,resourceCount:0};n.totalCost+=o.monthlyCost.amount;n.resourceCount+=1;t.set(e,n)}for(const o of e.removedCosts){const e=extractServiceName(o.type);const n=t.get(e)||{totalCost:0,resourceCount:0};n.totalCost-=o.monthlyCost.amount;n.resourceCount+=1;t.set(e,n)}for(const o of e.modifiedCosts){const e=extractServiceName(o.type);const n=t.get(e)||{totalCost:0,resourceCount:0};n.totalCost+=o.costDelta;n.resourceCount+=1;t.set(e,n)}return Array.from(t.entries()).map((([e,t])=>({service:e,totalCost:t.totalCost,resourceCount:t.resourceCount}))).sort(((e,t)=>Math.abs(t.totalCost)-Math.abs(e.totalCost)))}function calculateTotalCosts(e){let t=0;let o=0;for(const t of e.addedCosts){o+=t.monthlyCost.amount}for(const o of e.removedCosts){t+=o.monthlyCost.amount}for(const n of e.modifiedCosts){t+=n.oldMonthlyCost.amount;o+=n.newMonthlyCost.amount}return{before:t,after:o}}},9560:function(e,t,o){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){if(n===undefined)n=o;var i=Object.getOwnPropertyDescriptor(t,o);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[o]}}}Object.defineProperty(e,n,i)}:function(e,t,o,n){if(n===undefined)n=o;e[n]=t[o]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var h=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[t.length]=o;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var o=ownKeys(e),h=0;h<o.length;h++)if(o[h]!=="default")n(t,e,o[h]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.SynthesisOrchestrator=void 0;const p=o(5317);const Q=h(o(1943));const D=h(o(6928));const T=o(8648);class SynthesisOrchestrator{DEFAULT_OUTPUT_PATH="cdk.out";async synthesize(e){const t=Date.now();try{const o=e.outputPath||this.DEFAULT_OUTPUT_PATH;const n=e.customCommand||"npx cdk synth";await this.executeSynthesis(n,e.cdkAppPath,e.context,o);const i=D.join(e.cdkAppPath,o);const{templatePaths:h,stackNames:p}=await this.findTemplates(i);const Q=Date.now()-t;return{success:true,templatePaths:h,stackNames:p,duration:Q}}catch(e){const o=Date.now()-t;const n=e instanceof Error?e.message:String(e);if(e instanceof T.SynthesisError){return{success:false,templatePaths:[],stackNames:[],error:n,duration:o}}return{success:false,templatePaths:[],stackNames:[],error:`Synthesis failed: ${n}`,duration:o}}}async executeSynthesis(e,t,o,n){return new Promise(((i,h)=>{const[Q,...D]=e.split(" ");const _=[...D];if(o){for(const[e,t]of Object.entries(o)){_.push("-c",`${e}=${t}`)}}if(n){_.push("--output",n)}const O=(0,p.spawn)(Q,_,{cwd:t,shell:false,stdio:["ignore","pipe","pipe"],detached:false});let V="";let j="";let $=false;const cleanup=()=>{O.removeAllListeners();O.stdout?.removeAllListeners();O.stderr?.removeAllListeners()};const forceKill=()=>{try{if(O.pid&&!O.killed){O.kill("SIGKILL");try{process.kill(O.pid,"SIGKILL")}catch(e){}}}catch(e){}};const ee=setTimeout((()=>{if(!$){$=true;O.kill("SIGTERM");setTimeout((()=>{forceKill()}),1e3);O.removeAllListeners();O.stdout?.removeAllListeners();O.stderr?.removeAllListeners();h(new T.SynthesisError("CDK synthesis timed out after 15 seconds",j||V||"No output captured"))}}),15e3);O.stdout?.on("data",(e=>{V+=e.toString()}));O.stderr?.on("data",(e=>{j+=e.toString()}));O.on("error",(e=>{if(!$){$=true;clearTimeout(ee);cleanup();h(new T.SynthesisError(`Failed to execute synthesis command: ${e.message}`,j||"No error output captured"))}}));O.on("close",(e=>{if(!$){$=true;clearTimeout(ee);cleanup();if(e!==0){h(new T.SynthesisError(`CDK synthesis failed with exit code ${e}`,j||V||"No output captured"))}else{i()}}}));O.on("exit",((e,t)=>{if(!$){$=true;clearTimeout(ee);cleanup();if(t){h(new T.SynthesisError(`CDK synthesis terminated by signal ${t}`,j||V||"No output captured"))}else if(e!==0){h(new T.SynthesisError(`CDK synthesis failed with exit code ${e}`,j||V||"No output captured"))}else{i()}}}))}))}async findTemplates(e){try{const t=await Q.readdir(e);const o=[];const n=[];for(const i of t){if(i.endsWith(".template.json")||i.endsWith(".template.yaml")||i.endsWith(".template.yml")){const t=D.join(e,i);o.push(t);const h=i.replace(".template.json","").replace(".template.yaml","").replace(".template.yml","");n.push(h)}}if(o.length===0){throw new Error("No CloudFormation templates found in output directory")}return{templatePaths:o,stackNames:n}}catch(e){throw new Error(`Failed to find templates: ${e instanceof Error?e.message:String(e)}`)}}}t.SynthesisOrchestrator=SynthesisOrchestrator},8648:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SynthesisError=void 0;class SynthesisError extends Error{cdkOutput;constructor(e,t){super(e);this.cdkOutput=t;this.name="SynthesisError"}}t.SynthesisError=SynthesisError},1668:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ThresholdEnforcer=void 0;class ThresholdEnforcer{evaluateThreshold(e,t,o,n,i){if(!n){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}const h=this.selectThresholds(n,i);if(!h){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}if(h.error!==undefined&&e>h.error){const n=this.getTopContributors(t,o,5);return{passed:false,level:"error",threshold:h.error,delta:e,message:this.formatErrorMessage(e,h.error),recommendations:this.getRecommendations("error",n)}}if(h.warning!==undefined&&e>h.warning){const n=this.getTopContributors(t,o,5);return{passed:true,level:"warning",threshold:h.warning,delta:e,message:this.formatWarningMessage(e,h.warning),recommendations:this.getRecommendations("warning",n)}}return{passed:true,level:"none",delta:e,message:`Cost delta $${e.toFixed(2)}/month is within thresholds`,recommendations:[]}}selectThresholds(e,t){if(t&&e.environments?.[t]){return e.environments[t]}return e.default}getTopContributors(e,t,o){const n=[...e,...t.map((e=>({logicalId:e.logicalId,type:e.type,monthlyCost:{amount:e.costDelta,currency:e.newMonthlyCost.currency,confidence:e.newMonthlyCost.confidence,assumptions:e.newMonthlyCost.assumptions}})))];return n.sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount)).slice(0,o)}formatErrorMessage(e,t){const o=e-t;const n=(o/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds error threshold of $${t.toFixed(2)}/month by $${o.toFixed(2)} (${n}%)`}formatWarningMessage(e,t){const o=e-t;const n=(o/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds warning threshold of $${t.toFixed(2)}/month by $${o.toFixed(2)} (${n}%)`}getRecommendations(e,t){const o=[];if(e==="error"){o.push("This change cannot be merged without approval due to cost impact.");o.push("Review the cost breakdown and consider optimizations before proceeding.");o.push("Contact your FinOps team for threshold override approval if this cost increase is necessary.")}else{o.push("Review this cost increase with your team before merging.");o.push("Consider whether all resources in this change are necessary.")}if(t.length>0){o.push(`Top cost contributors: ${t.map((e=>`${e.type} (${e.logicalId}): $${e.monthlyCost.amount.toFixed(2)}/month`)).join(", ")}`);const e=new Set(t.map((e=>e.type)));if(e.has("AWS::RDS::DBInstance")){o.push("Consider using smaller RDS instance types or Aurora Serverless for lower costs.")}if(e.has("AWS::EC2::Instance")){o.push("Consider using smaller EC2 instance types, Spot instances, or Savings Plans.")}if(e.has("AWS::EC2::NatGateway")){o.push("NAT Gateways have high data processing costs. Consider using VPC endpoints or consolidating NAT Gateways.")}if(e.has("AWS::ElasticLoadBalancingV2::LoadBalancer")){o.push("Load Balancers have hourly costs. Consider sharing load balancers across services if possible.")}}return o}}t.ThresholdEnforcer=ThresholdEnforcer},7461:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Logger=void 0;class Logger{static debugEnabled=false;static setDebugEnabled(e){Logger.debugEnabled=e}static isDebugEnabled(){return Logger.debugEnabled}static debug(e,t){if(Logger.debugEnabled){const o=(new Date).toISOString();console.error(`[DEBUG ${o}] ${e}`);if(t!==undefined){console.error(JSON.stringify(t,null,2))}}}static logPricingQuery(e,t,o){if(Logger.debugEnabled){Logger.debug("Pricing API Query",{serviceCode:e,region:t,filters:o.map((e=>({field:e.field,value:e.value,type:e.type||"TERM_MATCH"})))})}}static logPricingResponse(e,t,o,n){if(Logger.debugEnabled){Logger.debug("Pricing API Response",{serviceCode:e,region:t,price:o,productDetails:n})}}static logRegionNormalization(e,t){if(Logger.debugEnabled){Logger.debug("Region Normalization",{originalRegion:e,normalizedRegion:t,wasNormalized:e!==t})}}static logPricingFailure(e,t,o){if(Logger.debugEnabled){Logger.debug("Pricing Lookup Failed",{serviceCode:e,region:t,reason:o})}}static logCacheStatus(e,t,o){if(Logger.debugEnabled){Logger.debug(`Cache ${t?"HIT":"MISS"}`,{cacheKey:e,source:t?o:undefined})}}}t.Logger=Logger},2613:e=>{"use strict";e.exports=require("assert")},290:e=>{"use strict";e.exports=require("async_hooks")},181:e=>{"use strict";e.exports=require("buffer")},5317:e=>{"use strict";e.exports=require("child_process")},4236:e=>{"use strict";e.exports=require("console")},6982:e=>{"use strict";e.exports=require("crypto")},1637:e=>{"use strict";e.exports=require("diagnostics_channel")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},1943:e=>{"use strict";e.exports=require("fs/promises")},8611:e=>{"use strict";e.exports=require("http")},5675:e=>{"use strict";e.exports=require("http2")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},6698:e=>{"use strict";e.exports=require("node:async_hooks")},1421:e=>{"use strict";e.exports=require("node:child_process")},7598:e=>{"use strict";e.exports=require("node:crypto")},8474:e=>{"use strict";e.exports=require("node:events")},3024:e=>{"use strict";e.exports=require("node:fs")},1455:e=>{"use strict";e.exports=require("node:fs/promises")},8161:e=>{"use strict";e.exports=require("node:os")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},7075:e=>{"use strict";e.exports=require("node:stream")},7975:e=>{"use strict";e.exports=require("node:util")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2987:e=>{"use strict";e.exports=require("perf_hooks")},3480:e=>{"use strict";e.exports=require("querystring")},2203:e=>{"use strict";e.exports=require("stream")},3774:e=>{"use strict";e.exports=require("stream/web")},3193:e=>{"use strict";e.exports=require("string_decoder")},3557:e=>{"use strict";e.exports=require("timers")},4756:e=>{"use strict";e.exports=require("tls")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},8253:e=>{"use strict";e.exports=require("util/types")},8167:e=>{"use strict";e.exports=require("worker_threads")},3106:e=>{"use strict";e.exports=require("zlib")},7182:(e,t,o)=>{"use strict";const n=o(7075).Writable;const i=o(7975).inherits;const h=o(4136);const p=o(612);const Q=o(2271);const D=45;const T=Buffer.from("-");const _=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}n.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new Q(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}i(Dicer,n);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{n.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,o){if(!this._hparser&&!this._bparser){return o()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new p(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t<e.length){e=e.slice(t)}else{return o()}}if(this._firstWrite){this._bparser.push(_);this._firstWrite=false}this._bparser.push(e);if(this._pause){this._cb=o}else{o()}};Dicer.prototype.reset=function(){this._part=undefined;this._bparser=undefined;this._hparser=undefined};Dicer.prototype.setBoundary=function(e){const t=this;this._bparser=new h("\r\n--"+e);this._bparser.on("info",(function(e,o,n,i){t._oninfo(e,o,n,i)}))};Dicer.prototype._ignore=function(){if(this._part&&!this._ignoreData){this._ignoreData=true;this._part.on("error",EMPTY_FN);this._part.resume()}};Dicer.prototype._oninfo=function(e,t,o,n){let i;const h=this;let Q=0;let _;let O=true;if(!this._part&&this._justMatched&&t){while(this._dashes<2&&o+Q<n){if(t[o+Q]===D){++Q;++this._dashes}else{if(this._dashes){i=T}this._dashes=0;break}}if(this._dashes===2){if(o+Q<n&&this.listenerCount("trailer")!==0){this.emit("trailer",t.slice(o+Q,n))}this.reset();this._finished=true;if(h._parts===0){h._realFinish=true;h.emit("finish");h._realFinish=false}}if(this._dashes){return}}if(this._justMatched){this._justMatched=false}if(!this._part){this._part=new p(this._partOpts);this._part._read=function(e){h._unpause()};if(this._isPreamble&&this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else if(this._isPreamble!==true&&this.listenerCount("part")!==0){this.emit("part",this._part)}else{this._ignore()}if(!this._isPreamble){this._inHeader=true}}if(t&&o<n&&!this._ignoreData){if(this._isPreamble||!this._inHeader){if(i){O=this._part.push(i)}O=this._part.push(t.slice(o,n));if(!O){this._pause=true}}else if(!this._isPreamble&&this._inHeader){if(i){this._hparser.push(i)}_=this._hparser.push(t.slice(o,n));if(!this._inHeader&&_!==undefined&&_<n){this._oninfo(false,t,o+_,n)}}}if(e){this._hparser.reset();if(this._isPreamble){this._isPreamble=false}else{if(o!==n){++this._parts;this._part.on("end",(function(){if(--h._parts===0){if(h._finished){h._realFinish=true;h.emit("finish");h._realFinish=false}else{h._unpause()}}}))}}this._part.push(null);this._part=undefined;this._ignoreData=false;this._justMatched=true;this._dashes=0}};Dicer.prototype._unpause=function(){if(!this._pause){return}this._pause=false;if(this._cb){const e=this._cb;this._cb=undefined;e()}};e.exports=Dicer},2271:(e,t,o)=>{"use strict";const n=o(8474).EventEmitter;const i=o(7975).inherits;const h=o(2393);const p=o(4136);const Q=Buffer.from("\r\n\r\n");const D=/\r\n/g;const T=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){n.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=h(e,"maxHeaderPairs",2e3);this.maxHeaderSize=h(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new p(Q);this.ss.on("info",(function(e,o,n,i){if(o&&!t.maxed){if(t.nread+i-n>=t.maxHeaderSize){i=t.maxHeaderSize-t.nread+n;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=i-n}t.buffer+=o.toString("binary",n,i)}if(e){t._finish()}}))}i(HeaderParser,n);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(D);const t=e.length;let o,n;for(var i=0;i<t;++i){if(e[i].length===0){continue}if(e[i][0]==="\t"||e[i][0]===" "){if(n){this.header[n][this.header[n].length-1]+=e[i];continue}}const t=e[i].indexOf(":");if(t===-1||t===0){return}o=T.exec(e[i]);n=o[1].toLowerCase();this.header[n]=this.header[n]||[];this.header[n].push(o[2]||"");if(++this.npairs===this.maxHeaderPairs){break}}};e.exports=HeaderParser},612:(e,t,o)=>{"use strict";const n=o(7975).inherits;const i=o(7075).Readable;function PartStream(e){i.call(this,e)}n(PartStream,i);PartStream.prototype._read=function(e){};e.exports=PartStream},4136:(e,t,o)=>{"use strict";const n=o(8474).EventEmitter;const i=o(7975).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var o=0;o<t-1;++o){this._occ[e[o]]=t-1-o}}i(SBMH,n);SBMH.prototype.reset=function(){this._lookbehind_size=0;this.matches=0;this._bufpos=0};SBMH.prototype.push=function(e,t){if(!Buffer.isBuffer(e)){e=Buffer.from(e,"binary")}const o=e.length;this._bufpos=t||0;let n;while(n!==o&&this.matches<this.maxMatches){n=this._sbmh_feed(e)}return n};SBMH.prototype._sbmh_feed=function(e){const t=e.length;const o=this._needle;const n=o.length;const i=o[n-1];let h=-this._lookbehind_size;let p;if(h<0){while(h<0&&h<=t-n){p=this._sbmh_lookup_char(e,h+n-1);if(p===i&&this._sbmh_memcmp(e,h,n-1)){this._lookbehind_size=0;++this.matches;this.emit("info",true);return this._bufpos=h+n}h+=this._occ[p]}if(h<0){while(h<0&&!this._sbmh_memcmp(e,h,t-h)){++h}}if(h>=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const o=this._lookbehind_size+h;if(o>0){this.emit("info",false,this._lookbehind,0,o)}this._lookbehind.copy(this._lookbehind,0,o,this._lookbehind_size-o);this._lookbehind_size-=o;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}h+=(h>=0)*this._bufpos;if(e.indexOf(o,h)!==-1){h=e.indexOf(o,h);++this.matches;if(h>0){this.emit("info",true,e,this._bufpos,h)}else{this.emit("info",true)}return this._bufpos=h+n}else{h=t-n}while(h<t&&(e[h]!==o[0]||Buffer.compare(e.subarray(h,h+t-h),o.subarray(0,t-h))!==0)){++h}if(h<t){e.copy(this._lookbehind,0,h,h+(t-h));this._lookbehind_size=t-h}if(h>0){this.emit("info",false,e,this._bufpos,h<t?h:t)}this._bufpos=t;return t};SBMH.prototype._sbmh_lookup_char=function(e,t){return t<0?this._lookbehind[this._lookbehind_size+t]:e[t]};SBMH.prototype._sbmh_memcmp=function(e,t,o){for(var n=0;n<o;++n){if(this._sbmh_lookup_char(e,t+n)!==this._needle[n]){return false}}return true};e.exports=SBMH},9581:(e,t,o)=>{"use strict";const n=o(7075).Writable;const{inherits:i}=o(7975);const h=o(7182);const p=o(1192);const Q=o(855);const D=o(8929);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...o}=e;this.opts={autoDestroy:false,...o};n.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}i(Busboy,n);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}n.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=D(e["content-type"]);const o={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(p.detect.test(t[0])){return new p(this,o)}if(Q.detect.test(t[0])){return new Q(this,o)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,o){this._parser.write(e,o)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=h},1192:(e,t,o)=>{"use strict";const{Readable:n}=o(7075);const{inherits:i}=o(7975);const h=o(7182);const p=o(8929);const Q=o(2747);const D=o(692);const T=o(2393);const _=/^boundary$/i;const O=/^form-data$/i;const V=/^charset$/i;const j=/^filename$/i;const $=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let o;let n;const i=this;let ee;const te=t.limits;const re=t.isPartAFile||((e,t,o)=>t==="application/octet-stream"||o!==undefined);const se=t.parsedConType||[];const oe=t.defCharset||"utf8";const ne=t.preservePath;const ie={highWaterMark:t.fileHwm};for(o=0,n=se.length;o<n;++o){if(Array.isArray(se[o])&&_.test(se[o][0])){ee=se[o][1];break}}function checkFinished(){if(fe===0&&me&&!e._done){me=false;i.end()}}if(typeof ee!=="string"){throw new Error("Multipart: Boundary not found")}const Ae=T(te,"fieldSize",1*1024*1024);const ae=T(te,"fileSize",Infinity);const ce=T(te,"files",Infinity);const le=T(te,"fields",Infinity);const ue=T(te,"parts",Infinity);const ge=T(te,"headerPairs",2e3);const de=T(te,"headerSize",80*1024);let he=0;let pe=0;let fe=0;let Ee;let Ce;let me=false;this._needDrain=false;this._pause=false;this._cb=undefined;this._nparts=0;this._boy=e;const Ie={boundary:ee,maxHeaderPairs:ge,maxHeaderSize:de,partHwm:ie.highWaterMark,highWaterMark:t.highWaterMark};this.parser=new h(Ie);this.parser.on("drain",(function(){i._needDrain=false;if(i._cb&&!i._pause){const e=i._cb;i._cb=undefined;e()}})).on("part",(function onPart(t){if(++i._nparts>ue){i.parser.removeListener("part",onPart);i.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(Ce){const e=Ce;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(h){let T;let _;let ee;let te;let se;let ue;let ge=0;if(h["content-type"]){ee=p(h["content-type"][0]);if(ee[0]){T=ee[0].toLowerCase();for(o=0,n=ee.length;o<n;++o){if(V.test(ee[o][0])){te=ee[o][1].toLowerCase();break}}}}if(T===undefined){T="text/plain"}if(te===undefined){te=oe}if(h["content-disposition"]){ee=p(h["content-disposition"][0]);if(!O.test(ee[0])){return skipPart(t)}for(o=0,n=ee.length;o<n;++o){if($.test(ee[o][0])){_=ee[o][1]}else if(j.test(ee[o][0])){ue=ee[o][1];if(!ne){ue=D(ue)}}}}else{return skipPart(t)}if(h["content-transfer-encoding"]){se=h["content-transfer-encoding"][0].toLowerCase()}else{se="7bit"}let de,me;if(re(_,T,ue)){if(he===ce){if(!e.hitFilesLimit){e.hitFilesLimit=true;e.emit("filesLimit")}return skipPart(t)}++he;if(e.listenerCount("file")===0){i.parser._ignore();return}++fe;const o=new FileStream(ie);Ee=o;o.on("end",(function(){--fe;i._pause=false;checkFinished();if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}}));o._read=function(e){if(!i._pause){return}i._pause=false;if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}};e.emit("file",_,o,ue,se,T);de=function(e){if((ge+=e.length)>ae){const n=ae-ge+e.length;if(n>0){o.push(e.slice(0,n))}o.truncated=true;o.bytesRead=ae;t.removeAllListeners("data");o.emit("limit");return}else if(!o.push(e)){i._pause=true}o.bytesRead=ge};me=function(){Ee=undefined;o.push(null)}}else{if(pe===le){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++pe;++fe;let o="";let n=false;Ce=t;de=function(e){if((ge+=e.length)>Ae){const i=Ae-(ge-e.length);o+=e.toString("binary",0,i);n=true;t.removeAllListeners("data")}else{o+=e.toString("binary")}};me=function(){Ce=undefined;if(o.length){o=Q(o,"binary",te)}e.emit("field",_,o,false,n,se,T);--fe;checkFinished()}}t._readableState.sync=false;t.on("data",de);t.on("end",me)})).on("error",(function(e){if(Ee){Ee.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){me=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const o=this.parser.write(e);if(o&&!this._pause){t()}else{this._needDrain=!o;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){n.call(this,e);this.bytesRead=0;this.truncated=false}i(FileStream,n);FileStream.prototype._read=function(e){};e.exports=Multipart},855:(e,t,o)=>{"use strict";const n=o(1496);const i=o(2747);const h=o(2393);const p=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const o=t.limits;const i=t.parsedConType;this.boy=e;this.fieldSizeLimit=h(o,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=h(o,"fieldNameSize",100);this.fieldsLimit=h(o,"fields",Infinity);let Q;for(var D=0,T=i.length;D<T;++D){if(Array.isArray(i[D])&&p.test(i[D][0])){Q=i[D][1].toLowerCase();break}}if(Q===undefined){Q=t.defCharset||"utf8"}this.decoder=new n;this.charset=Q;this._fields=0;this._state="key";this._checkingBytes=true;this._bytesKey=0;this._bytesVal=0;this._key="";this._val="";this._keyTrunc=false;this._valTrunc=false;this._hitLimit=false}UrlEncoded.prototype.write=function(e,t){if(this._fields===this.fieldsLimit){if(!this.boy.hitFieldsLimit){this.boy.hitFieldsLimit=true;this.boy.emit("fieldsLimit")}return t()}let o;let n;let h;let p=0;const Q=e.length;while(p<Q){if(this._state==="key"){o=n=undefined;for(h=p;h<Q;++h){if(!this._checkingBytes){++p}if(e[h]===61){o=h;break}else if(e[h]===38){n=h;break}if(this._checkingBytes&&this._bytesKey===this.fieldNameSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesKey}}if(o!==undefined){if(o>p){this._key+=this.decoder.write(e.toString("binary",p,o))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();p=o+1}else if(n!==undefined){++this._fields;let o;const h=this._keyTrunc;if(n>p){o=this._key+=this.decoder.write(e.toString("binary",p,n))}else{o=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(o.length){this.boy.emit("field",i(o,"binary",this.charset),"",h,false)}p=n+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(h>p){this._key+=this.decoder.write(e.toString("binary",p,h))}p=h;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(p<Q){this._key+=this.decoder.write(e.toString("binary",p))}p=Q}}else{n=undefined;for(h=p;h<Q;++h){if(!this._checkingBytes){++p}if(e[h]===38){n=h;break}if(this._checkingBytes&&this._bytesVal===this.fieldSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesVal}}if(n!==undefined){++this._fields;if(n>p){this._val+=this.decoder.write(e.toString("binary",p,n))}this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();p=n+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(h>p){this._val+=this.decoder.write(e.toString("binary",p,h))}p=h;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(p<Q){this._val+=this.decoder.write(e.toString("binary",p))}p=Q}}}t()};UrlEncoded.prototype.end=function(){if(this.boy._done){return}if(this._state==="key"&&this._key.length>0){this.boy.emit("field",i(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},1496:e=>{"use strict";const t=/\+/g;const o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let n="";let i=0;let h=0;const p=e.length;for(;i<p;++i){if(this.buffer!==undefined){if(!o[e.charCodeAt(i)]){n+="%"+this.buffer;this.buffer=undefined;--i}else{this.buffer+=e[i];++h;if(this.buffer.length===2){n+=String.fromCharCode(parseInt(this.buffer,16));this.buffer=undefined}}}else if(e[i]==="%"){if(i>h){n+=e.substring(h,i);h=i}this.buffer="";++h}}if(h<p&&this.buffer===undefined){n+=e.substring(h)}return n};Decoder.prototype.reset=function(){this.buffer=undefined};e.exports=Decoder},692:e=>{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},2747:function(e){"use strict";const t=new TextDecoder("utf-8");const o=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return n.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return n.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return n.utf16le;case"base64":return n.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return n.other.bind(e)}}}const n={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(o.has(this.toString())){try{return o.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,o){if(e){return getDecoder(o)(e,t)}return e}e.exports=decodeText},2393:e=>{"use strict";e.exports=function getLimit(e,t,o){if(!e||e[t]===undefined||e[t]===null){return o}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8929:(e,t,o)=>{"use strict";const n=o(2747);const i=/%[a-fA-F0-9][a-fA-F0-9]/g;const h={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return h[e]}const p=0;const Q=1;const D=2;const T=3;function parseParams(e){const t=[];let o=p;let h="";let _=false;let O=false;let V=0;let j="";const $=e.length;for(var ee=0;ee<$;++ee){const $=e[ee];if($==="\\"&&_){if(O){O=false}else{O=true;continue}}else if($==='"'){if(!O){if(_){_=false;o=p}else{_=true}continue}else{O=false}}else{if(O&&_){j+="\\"}O=false;if((o===D||o===T)&&$==="'"){if(o===D){o=T;h=j.substring(1)}else{o=Q}j="";continue}else if(o===p&&($==="*"||$==="=")&&t.length){o=$==="*"?D:Q;t[V]=[j,undefined];j="";continue}else if(!_&&$===";"){o=p;if(h){if(j.length){j=n(j.replace(i,encodedReplacer),"binary",h)}h=""}else if(j.length){j=n(j,"binary","utf8")}if(t[V]===undefined){t[V]=j}else{t[V][1]=j}j="";++V;continue}else if(!_&&($===" "||$==="\t")){continue}}j+=$}if(h&&j.length){j=n(j.replace(i,encodedReplacer),"binary",h)}else if(j){j=n(j,"binary","utf8")}if(t[V]===undefined){if(j){t[V]=j}}else{t[V][1]=j}return t}e.exports=parseParams},591:e=>{(()=>{"use strict";var t={d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};t.r(o),t.d(o,{XMLBuilder:()=>se,XMLParser:()=>it,XMLValidator:()=>oe});const n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i=new RegExp("^["+n+"]["+n+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function s(e,t){const o=[];let n=t.exec(e);for(;n;){const i=[];i.startIndex=t.lastIndex-n[0].length;const h=n.length;for(let e=0;e<h;e++)i.push(n[e]);o.push(i),n=t.exec(e)}return o}const r=function(e){return!(null==i.exec(e))},h={allowBooleanAttributes:!1,unpairedTags:[]};function a(e,t){t=Object.assign({},h,t);const o=[];let n=!1,i=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let h=0;h<e.length;h++)if("<"===e[h]&&"?"===e[h+1]){if(h+=2,h=u(e,h),h.err)return h}else{if("<"!==e[h]){if(l(e[h]))continue;return m("InvalidChar","char '"+e[h]+"' is not expected.",N(e,h))}{let p=h;if(h++,"!"===e[h]){h=d(e,h);continue}{let Q=!1;"/"===e[h]&&(Q=!0,h++);let D="";for(;h<e.length&&">"!==e[h]&&" "!==e[h]&&"\t"!==e[h]&&"\n"!==e[h]&&"\r"!==e[h];h++)D+=e[h];if(D=D.trim(),"/"===D[D.length-1]&&(D=D.substring(0,D.length-1),h--),!b(D)){let t;return t=0===D.trim().length?"Invalid space after '<'.":"Tag '"+D+"' is an invalid name.",m("InvalidTag",t,N(e,h))}const T=c(e,h);if(!1===T)return m("InvalidAttr","Attributes for '"+D+"' have open quote.",N(e,h));let _=T.value;if(h=T.index,"/"===_[_.length-1]){const o=h-_.length;_=_.substring(0,_.length-1);const i=g(_,t);if(!0!==i)return m(i.err.code,i.err.msg,N(e,o+i.err.line));n=!0}else if(Q){if(!T.tagClosed)return m("InvalidTag","Closing tag '"+D+"' doesn't have proper closing.",N(e,h));if(_.trim().length>0)return m("InvalidTag","Closing tag '"+D+"' can't have attributes or invalid starting.",N(e,p));if(0===o.length)return m("InvalidTag","Closing tag '"+D+"' has not been opened.",N(e,p));{const t=o.pop();if(D!==t.tagName){let o=N(e,t.tagStartPos);return m("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+o.line+", col "+o.col+") instead of closing tag '"+D+"'.",N(e,p))}0==o.length&&(i=!0)}}else{const Q=g(_,t);if(!0!==Q)return m(Q.err.code,Q.err.msg,N(e,h-_.length+Q.err.line));if(!0===i)return m("InvalidXml","Multiple possible root nodes found.",N(e,h));-1!==t.unpairedTags.indexOf(D)||o.push({tagName:D,tagStartPos:p}),n=!0}for(h++;h<e.length;h++)if("<"===e[h]){if("!"===e[h+1]){h++,h=d(e,h);continue}if("?"!==e[h+1])break;if(h=u(e,++h),h.err)return h}else if("&"===e[h]){const t=x(e,h);if(-1==t)return m("InvalidChar","char '&' is not expected.",N(e,h));h=t}else if(!0===i&&!l(e[h]))return m("InvalidXml","Extra text at the end",N(e,h));"<"===e[h]&&h--}}}return n?1==o.length?m("InvalidTag","Unclosed tag '"+o[0].tagName+"'.",N(e,o[0].tagStartPos)):!(o.length>0)||m("InvalidXml","Invalid '"+JSON.stringify(o.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):m("InvalidXml","Start tag expected.",1)}function l(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function u(e,t){const o=t;for(;t<e.length;t++)if("?"==e[t]||" "==e[t]){const n=e.substr(o,t-o);if(t>5&&"xml"===n)return m("InvalidXml","XML declaration allowed only at the start of the document.",N(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}continue}return t}function d(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let o=1;for(t+=8;t<e.length;t++)if("<"===e[t])o++;else if(">"===e[t]&&(o--,0===o))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}const p='"',Q="'";function c(e,t){let o="",n="",i=!1;for(;t<e.length;t++){if(e[t]===p||e[t]===Q)""===n?n=e[t]:n!==e[t]||(n="");else if(">"===e[t]&&""===n){i=!0;break}o+=e[t]}return""===n&&{value:o,index:t,tagClosed:i}}const D=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function g(e,t){const o=s(e,D),n={};for(let e=0;e<o.length;e++){if(0===o[e][1].length)return m("InvalidAttr","Attribute '"+o[e][2]+"' has no space in starting.",y(o[e]));if(void 0!==o[e][3]&&void 0===o[e][4])return m("InvalidAttr","Attribute '"+o[e][2]+"' is without value.",y(o[e]));if(void 0===o[e][3]&&!t.allowBooleanAttributes)return m("InvalidAttr","boolean attribute '"+o[e][2]+"' is not allowed.",y(o[e]));const i=o[e][2];if(!E(i))return m("InvalidAttr","Attribute '"+i+"' is an invalid name.",y(o[e]));if(Object.prototype.hasOwnProperty.call(n,i))return m("InvalidAttr","Attribute '"+i+"' is repeated.",y(o[e]));n[i]=1}return!0}function x(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let o=/\d/;for("x"===e[t]&&(t++,o=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(o))break}return-1}(e,++t);let o=0;for(;t<e.length;t++,o++)if(!(e[t].match(/\w/)&&o<20)){if(";"===e[t])break;return-1}return t}function m(e,t,o){return{err:{code:e,msg:t,line:o.line||o,col:o.col}}}function E(e){return r(e)}function b(e){return r(e)}function N(e,t){const o=e.substring(0,t).split(/\r?\n/);return{line:o.length,col:o[o.length-1].length+1}}function y(e){return e.startIndex+e[1].length}const T={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,o){return e},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0};function w(e){return"boolean"==typeof e?{enabled:e,maxEntitySize:1e4,maxExpansionDepth:10,maxTotalExpansions:1e3,maxExpandedLength:1e5,allowedTags:null,tagFilter:null}:"object"==typeof e&&null!==e?{enabled:!1!==e.enabled,maxEntitySize:e.maxEntitySize??1e4,maxExpansionDepth:e.maxExpansionDepth??10,maxTotalExpansions:e.maxTotalExpansions??1e3,maxExpandedLength:e.maxExpandedLength??1e5,allowedTags:e.allowedTags??null,tagFilter:e.tagFilter??null}:w(!0)}const v=function(e){const t=Object.assign({},T,e);return t.processEntities=w(t.processEntities),t};let _;_="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class I{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==t&&(this.child[this.child.length-1][_]={startIndex:t})}static getMetaDataSymbol(){return _}}class P{constructor(e){this.suppressValidationErr=!e,this.options=e}readDocType(e,t){const o=Object.create(null);if("O"!==e[t+3]||"C"!==e[t+4]||"T"!==e[t+5]||"Y"!==e[t+6]||"P"!==e[t+7]||"E"!==e[t+8])throw new Error("Invalid Tag instead of DOCTYPE");{t+=9;let n=1,i=!1,h=!1,p="";for(;t<e.length;t++)if("<"!==e[t]||h)if(">"===e[t]){if(h?"-"===e[t-1]&&"-"===e[t-2]&&(h=!1,n--):n--,0===n)break}else"["===e[t]?i=!0:p+=e[t];else{if(i&&S(e,"!ENTITY",t)){let n,i;if(t+=7,[n,i,t]=this.readEntityExp(e,t+1,this.suppressValidationErr),-1===i.indexOf("&")){const e=n.replace(/[.\-+*:]/g,"\\.");o[n]={regx:RegExp(`&${e};`,"g"),val:i}}}else if(i&&S(e,"!ELEMENT",t)){t+=8;const{index:o}=this.readElementExp(e,t+1);t=o}else if(i&&S(e,"!ATTLIST",t))t+=8;else if(i&&S(e,"!NOTATION",t)){t+=9;const{index:o}=this.readNotationExp(e,t+1,this.suppressValidationErr);t=o}else{if(!S(e,"!--",t))throw new Error("Invalid DOCTYPE");h=!0}n++,p=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:o,i:t}}readEntityExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t])&&'"'!==e[t]&&"'"!==e[t];)o+=e[t],t++;if(C(o),t=A(e,t),!this.suppressValidationErr){if("SYSTEM"===e.substring(t,t+6).toUpperCase())throw new Error("External entities are not supported");if("%"===e[t])throw new Error("Parameter entities are not supported")}let n="";if([t,n]=this.readIdentifierVal(e,t,"entity"),!1!==this.options.enabled&&this.options.maxEntitySize&&n.length>this.options.maxEntitySize)throw new Error(`Entity "${o}" size (${n.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[o,n,--t]}readNotationExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t]);)o+=e[t],t++;!this.suppressValidationErr&&C(o),t=A(e,t);const n=e.substring(t,t+6).toUpperCase();if(!this.suppressValidationErr&&"SYSTEM"!==n&&"PUBLIC"!==n)throw new Error(`Expected SYSTEM or PUBLIC, found "${n}"`);t+=n.length,t=A(e,t);let i=null,h=null;if("PUBLIC"===n)[t,i]=this.readIdentifierVal(e,t,"publicIdentifier"),'"'!==e[t=A(e,t)]&&"'"!==e[t]||([t,h]=this.readIdentifierVal(e,t,"systemIdentifier"));else if("SYSTEM"===n&&([t,h]=this.readIdentifierVal(e,t,"systemIdentifier"),!this.suppressValidationErr&&!h))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:o,publicIdentifier:i,systemIdentifier:h,index:--t}}readIdentifierVal(e,t,o){let n="";const i=e[t];if('"'!==i&&"'"!==i)throw new Error(`Expected quoted string, found "${i}"`);for(t++;t<e.length&&e[t]!==i;)n+=e[t],t++;if(e[t]!==i)throw new Error(`Unterminated ${o} value`);return[++t,n]}readElementExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t]);)o+=e[t],t++;if(!this.suppressValidationErr&&!r(o))throw new Error(`Invalid element name: "${o}"`);let n="";if("E"===e[t=A(e,t)]&&S(e,"MPTY",t))t+=4;else if("A"===e[t]&&S(e,"NY",t))t+=2;else if("("===e[t]){for(t++;t<e.length&&")"!==e[t];)n+=e[t],t++;if(")"!==e[t])throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[t]}"`);return{elementName:o,contentModel:n.trim(),index:t}}readAttlistExp(e,t){t=A(e,t);let o="";for(;t<e.length&&!/\s/.test(e[t]);)o+=e[t],t++;C(o),t=A(e,t);let n="";for(;t<e.length&&!/\s/.test(e[t]);)n+=e[t],t++;if(!C(n))throw new Error(`Invalid attribute name: "${n}"`);t=A(e,t);let i="";if("NOTATION"===e.substring(t,t+8).toUpperCase()){if(i="NOTATION","("!==e[t=A(e,t+=8)])throw new Error(`Expected '(', found "${e[t]}"`);t++;let o=[];for(;t<e.length&&")"!==e[t];){let n="";for(;t<e.length&&"|"!==e[t]&&")"!==e[t];)n+=e[t],t++;if(n=n.trim(),!C(n))throw new Error(`Invalid notation name: "${n}"`);o.push(n),"|"===e[t]&&(t++,t=A(e,t))}if(")"!==e[t])throw new Error("Unterminated list of notations");t++,i+=" ("+o.join("|")+")"}else{for(;t<e.length&&!/\s/.test(e[t]);)i+=e[t],t++;const o=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!o.includes(i.toUpperCase()))throw new Error(`Invalid attribute type: "${i}"`)}t=A(e,t);let h="";return"#REQUIRED"===e.substring(t,t+8).toUpperCase()?(h="#REQUIRED",t+=8):"#IMPLIED"===e.substring(t,t+7).toUpperCase()?(h="#IMPLIED",t+=7):[t,h]=this.readIdentifierVal(e,t,"ATTLIST"),{elementName:o,attributeName:n,attributeType:i,defaultValue:h,index:t}}}const A=(e,t)=>{for(;t<e.length&&/\s/.test(e[t]);)t++;return t};function S(e,t,o){for(let n=0;n<t.length;n++)if(t[n]!==e[o+n+1])return!1;return!0}function C(e){if(r(e))return e;throw new Error(`Invalid entity name ${e}`)}const O=/^[-+]?0x[a-fA-F0-9]+$/,V=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,j={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};const $=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class L{constructor(e){var t;if(this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>K(t,10,"&#")},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>K(t,16,"&#x")}},this.addExternalEntities=F,this.parseXml=R,this.parseTextData=M,this.resolveNameSpace=k,this.buildAttributesMap=U,this.isItStopNode=X,this.replaceEntitiesValue=Y,this.readStopNodeData=q,this.saveTextToParentTag=G,this.addChild=B,this.ignoreAttributesFn="function"==typeof(t=this.options.ignoreAttributes)?t:Array.isArray(t)?e=>{for(const o of t){if("string"==typeof o&&e===o)return!0;if(o instanceof RegExp&&o.test(e))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0,this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodesExact=new Set,this.stopNodesWildcard=new Set;for(let e=0;e<this.options.stopNodes.length;e++){const t=this.options.stopNodes[e];"string"==typeof t&&(t.startsWith("*.")?this.stopNodesWildcard.add(t.substring(2)):this.stopNodesExact.add(t))}}}}function F(e){const t=Object.keys(e);for(let o=0;o<t.length;o++){const n=t[o],i=n.replace(/[.\-+*:]/g,"\\.");this.lastEntities[n]={regex:new RegExp("&"+i+";","g"),val:e[n]}}}function M(e,t,o,n,i,h,p){if(void 0!==e&&(this.options.trimValues&&!n&&(e=e.trim()),e.length>0)){p||(e=this.replaceEntitiesValue(e,t,o));const n=this.options.tagValueProcessor(t,e,o,i,h);return null==n?e:typeof n!=typeof e||n!==e?n:this.options.trimValues||e.trim()===e?Z(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function k(e){if(this.options.removeNSPrefix){const t=e.split(":"),o="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=o+t[1])}return e}const ee=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function U(e,t,o){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){const n=s(e,ee),i=n.length,h={};for(let e=0;e<i;e++){const i=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(i,t))continue;let p=n[e][4],Q=this.options.attributeNamePrefix+i;if(i.length)if(this.options.transformAttributeName&&(Q=this.options.transformAttributeName(Q)),"__proto__"===Q&&(Q="#__proto__"),void 0!==p){this.options.trimValues&&(p=p.trim()),p=this.replaceEntitiesValue(p,o,t);const e=this.options.attributeValueProcessor(i,p,t);h[Q]=null==e?p:typeof e!=typeof p||e!==p?e:Z(p,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(h[Q]=!0)}if(!Object.keys(h).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=h,e}return h}}const R=function(e){e=e.replace(/\r\n?/g,"\n");const t=new I("!xml");let o=t,n="",i="";this.entityExpansionCount=0,this.currentExpandedLength=0;const h=new P(this.options.processEntities);for(let p=0;p<e.length;p++)if("<"===e[p])if("/"===e[p+1]){const t=z(e,">",p,"Closing Tag is not closed.");let h=e.substring(p+2,t).trim();if(this.options.removeNSPrefix){const e=h.indexOf(":");-1!==e&&(h=h.substr(e+1))}this.options.transformTagName&&(h=this.options.transformTagName(h)),o&&(n=this.saveTextToParentTag(n,o,i));const Q=i.substring(i.lastIndexOf(".")+1);if(h&&-1!==this.options.unpairedTags.indexOf(h))throw new Error(`Unpaired tag can not be used as closing tag: </${h}>`);let D=0;Q&&-1!==this.options.unpairedTags.indexOf(Q)?(D=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):D=i.lastIndexOf("."),i=i.substring(0,D),o=this.tagsNodeStack.pop(),n="",p=t}else if("?"===e[p+1]){let t=W(e,p,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,o,i),this.options.ignoreDeclaration&&"?xml"===t.tagName||this.options.ignorePiTags);else{const e=new I(t.tagName);e.add(this.options.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[":@"]=this.buildAttributesMap(t.tagExp,i,t.tagName)),this.addChild(o,e,i,p)}p=t.closeIndex+1}else if("!--"===e.substr(p+1,3)){const t=z(e,"--\x3e",p+4,"Comment is not closed.");if(this.options.commentPropName){const h=e.substring(p+4,t-2);n=this.saveTextToParentTag(n,o,i),o.add(this.options.commentPropName,[{[this.options.textNodeName]:h}])}p=t}else if("!D"===e.substr(p+1,2)){const t=h.readDocType(e,p);this.docTypeEntities=t.entities,p=t.i}else if("!["===e.substr(p+1,2)){const t=z(e,"]]>",p,"CDATA is not closed.")-2,h=e.substring(p+9,t);n=this.saveTextToParentTag(n,o,i);let Q=this.parseTextData(h,o.tagname,i,!0,!1,!0,!0);null==Q&&(Q=""),this.options.cdataPropName?o.add(this.options.cdataPropName,[{[this.options.textNodeName]:h}]):o.add(this.options.textNodeName,Q),p=t+2}else{let h=W(e,p,this.options.removeNSPrefix),Q=h.tagName;const D=h.rawTagName;let T=h.tagExp,_=h.attrExpPresent,O=h.closeIndex;if(this.options.transformTagName){const e=this.options.transformTagName(Q);T===Q&&(T=e),Q=e}if(this.options.strictReservedNames&&(Q===this.options.commentPropName||Q===this.options.cdataPropName))throw new Error(`Invalid tag name: ${Q}`);o&&n&&"!xml"!==o.tagname&&(n=this.saveTextToParentTag(n,o,i,!1));const V=o;V&&-1!==this.options.unpairedTags.indexOf(V.tagname)&&(o=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),Q!==t.tagname&&(i+=i?"."+Q:Q);const j=p;if(this.isItStopNode(this.stopNodesExact,this.stopNodesWildcard,i,Q)){let t="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)"/"===Q[Q.length-1]?(Q=Q.substr(0,Q.length-1),i=i.substr(0,i.length-1),T=Q):T=T.substr(0,T.length-1),p=h.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(Q))p=h.closeIndex;else{const o=this.readStopNodeData(e,D,O+1);if(!o)throw new Error(`Unexpected end of ${D}`);p=o.i,t=o.tagContent}const n=new I(Q);Q!==T&&_&&(n[":@"]=this.buildAttributesMap(T,i,Q)),t&&(t=this.parseTextData(t,Q,i,!0,_,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),n.add(this.options.textNodeName,t),this.addChild(o,n,i,j)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){if("/"===Q[Q.length-1]?(Q=Q.substr(0,Q.length-1),i=i.substr(0,i.length-1),T=Q):T=T.substr(0,T.length-1),this.options.transformTagName){const e=this.options.transformTagName(Q);T===Q&&(T=e),Q=e}const e=new I(Q);Q!==T&&_&&(e[":@"]=this.buildAttributesMap(T,i,Q)),this.addChild(o,e,i,j),i=i.substr(0,i.lastIndexOf("."))}else{if(-1!==this.options.unpairedTags.indexOf(Q)){const e=new I(Q);Q!==T&&_&&(e[":@"]=this.buildAttributesMap(T,i)),this.addChild(o,e,i,j),i=i.substr(0,i.lastIndexOf(".")),p=h.closeIndex;continue}{const e=new I(Q);if(this.tagsNodeStack.length>this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(o),Q!==T&&_&&(e[":@"]=this.buildAttributesMap(T,i,Q)),this.addChild(o,e,i,j),o=e}}n="",p=O}}else n+=e[p];return t.child};function B(e,t,o,n){this.options.captureMetaData||(n=void 0);const i=this.options.updateTag(t.tagname,o,t[":@"]);!1===i||("string"==typeof i?(t.tagname=i,e.addChild(t,n)):e.addChild(t,n))}const Y=function(e,t,o){if(-1===e.indexOf("&"))return e;const n=this.options.processEntities;if(!n.enabled)return e;if(n.allowedTags&&!n.allowedTags.includes(t))return e;if(n.tagFilter&&!n.tagFilter(t,o))return e;for(let t in this.docTypeEntities){const o=this.docTypeEntities[t],i=e.match(o.regx);if(i){if(this.entityExpansionCount+=i.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions)throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);const t=e.length;if(e=e.replace(o.regx,o.val),n.maxExpandedLength&&(this.currentExpandedLength+=e.length-t,this.currentExpandedLength>n.maxExpandedLength))throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${n.maxExpandedLength}`)}}if(-1===e.indexOf("&"))return e;for(let t in this.lastEntities){const o=this.lastEntities[t];e=e.replace(o.regex,o.val)}if(-1===e.indexOf("&"))return e;if(this.options.htmlEntities)for(let t in this.htmlEntities){const o=this.htmlEntities[t];e=e.replace(o.regex,o.val)}return e.replace(this.ampEntity.regex,this.ampEntity.val)};function G(e,t,o,n){return e&&(void 0===n&&(n=0===t.child.length),void 0!==(e=this.parseTextData(e,t.tagname,o,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,n))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function X(e,t,o,n){return!(!t||!t.has(n))||!(!e||!e.has(o))}function z(e,t,o,n){const i=e.indexOf(t,o);if(-1===i)throw new Error(n);return i+t.length-1}function W(e,t,o,n=">"){const i=function(e,t,o=">"){let n,i="";for(let h=t;h<e.length;h++){let t=e[h];if(n)t===n&&(n="");else if('"'===t||"'"===t)n=t;else if(t===o[0]){if(!o[1])return{data:i,index:h};if(e[h+1]===o[1])return{data:i,index:h}}else"\t"===t&&(t=" ");i+=t}}(e,t+1,n);if(!i)return;let h=i.data;const p=i.index,Q=h.search(/\s/);let D=h,T=!0;-1!==Q&&(D=h.substring(0,Q),h=h.substring(Q+1).trimStart());const _=D;if(o){const e=D.indexOf(":");-1!==e&&(D=D.substr(e+1),T=D!==i.data.substr(e+1))}return{tagName:D,tagExp:h,closeIndex:p,attrExpPresent:T,rawTagName:_}}function q(e,t,o){const n=o;let i=1;for(;o<e.length;o++)if("<"===e[o])if("/"===e[o+1]){const h=z(e,">",o,`${t} is not closed`);if(e.substring(o+2,h).trim()===t&&(i--,0===i))return{tagContent:e.substring(n,o),i:h};o=h}else if("?"===e[o+1])o=z(e,"?>",o+1,"StopNode is not closed.");else if("!--"===e.substr(o+1,3))o=z(e,"--\x3e",o+3,"StopNode is not closed.");else if("!["===e.substr(o+1,2))o=z(e,"]]>",o,"StopNode is not closed.")-2;else{const n=W(e,o,">");n&&((n&&n.tagName)===t&&"/"!==n.tagExp[n.tagExp.length-1]&&i++,o=n.closeIndex)}}function Z(e,t,o){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&function(e,t={}){if(t=Object.assign({},j,t),!e||"string"!=typeof e)return e;let o=e.trim();if(void 0!==t.skipLike&&t.skipLike.test(o))return e;if("0"===e)return 0;if(t.hex&&O.test(o))return function(e){if(parseInt)return parseInt(e,16);if(Number.parseInt)return Number.parseInt(e,16);if(window&&window.parseInt)return window.parseInt(e,16);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}(o);if(o.includes("e")||o.includes("E"))return function(e,t,o){if(!o.eNotation)return e;const n=t.match($);if(n){let i=n[1]||"";const h=-1===n[3].indexOf("e")?"E":"e",p=n[2],Q=i?e[p.length+1]===h:e[p.length]===h;return p.length>1&&Q?e:1!==p.length||!n[3].startsWith(`.${h}`)&&n[3][0]!==h?o.leadingZeros&&!Q?(t=(n[1]||"")+n[3],Number(t)):e:Number(t)}return e}(e,o,t);{const i=V.exec(o);if(i){const h=i[1]||"",p=i[2];let Q=(n=i[3])&&-1!==n.indexOf(".")?("."===(n=n.replace(/0+$/,""))?n="0":"."===n[0]?n="0"+n:"."===n[n.length-1]&&(n=n.substring(0,n.length-1)),n):n;const D=h?"."===e[p.length+1]:"."===e[p.length];if(!t.leadingZeros&&(p.length>1||1===p.length&&!D))return e;{const n=Number(o),i=String(n);if(0===n)return n;if(-1!==i.search(/[eE]/))return t.eNotation?n:e;if(-1!==o.indexOf("."))return"0"===i||i===Q||i===`${h}${Q}`?n:e;let D=p?Q:o;return p?D===i||h+D===i?n:e:D===i||D===h+i?n:e}}return e}var n}(e,o)}return void 0!==e?e:""}function K(e,t,o){const n=Number.parseInt(e,t);return n>=0&&n<=1114111?String.fromCodePoint(n):o+e+";"}const te=I.getMetaDataSymbol();function J(e,t){return H(e,t)}function H(e,t,o){let n;const i={};for(let h=0;h<e.length;h++){const p=e[h],Q=tt(p);let D="";if(D=void 0===o?Q:o+"."+Q,Q===t.textNodeName)void 0===n?n=p[Q]:n+=""+p[Q];else{if(void 0===Q)continue;if(p[Q]){let e=H(p[Q],t,D);const o=nt(e,t);p[":@"]?et(e,p[":@"],D,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]="":e=""):e=e[t.textNodeName],void 0!==p[te]&&"object"==typeof e&&null!==e&&(e[te]=p[te]),void 0!==i[Q]&&Object.prototype.hasOwnProperty.call(i,Q)?(Array.isArray(i[Q])||(i[Q]=[i[Q]]),i[Q].push(e)):t.isArray(Q,D,o)?i[Q]=[e]:i[Q]=e}}}return"string"==typeof n?n.length>0&&(i[t.textNodeName]=n):void 0!==n&&(i[t.textNodeName]=n),i}function tt(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const o=t[e];if(":@"!==o)return o}}function et(e,t,o,n){if(t){const i=Object.keys(t),h=i.length;for(let p=0;p<h;p++){const h=i[p];n.isArray(h,o+"."+h,!0,!0)?e[h]=[t[h]]:e[h]=t[h]}}}function nt(e,t){const{textNodeName:o}=t,n=Object.keys(e).length;return 0===n||!(1!==n||!e[o]&&"boolean"!=typeof e[o]&&0!==e[o])}class it{constructor(e){this.externalEntities={},this.options=v(e)}parse(e,t){if("string"!=typeof e&&e.toString)e=e.toString();else if("string"!=typeof e)throw new Error("XML data is accepted in String or Bytes[] form.");if(t){!0===t&&(t={});const o=a(e,t);if(!0!==o)throw Error(`${o.err.msg}:${o.err.line}:${o.err.col}`)}const o=new L(this.options);o.addExternalEntities(this.externalEntities);const n=o.parseXml(e);return this.options.preserveOrder||void 0===n?n:J(n,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return I.getMetaDataSymbol()}}function st(e,t){let o="";return t.format&&t.indentBy.length>0&&(o="\n"),rt(e,t,"",o)}function rt(e,t,o,n){let i="",h=!1;if(!Array.isArray(e)){if(null!=e){let o=e.toString();return o=ut(o,t),o}return""}for(let p=0;p<e.length;p++){const Q=e[p],D=ot(Q);if(void 0===D)continue;let T="";if(T=0===o.length?D:`${o}.${D}`,D===t.textNodeName){let e=Q[D];lt(T,t)||(e=t.tagValueProcessor(D,e),e=ut(e,t)),h&&(i+=n),i+=e,h=!1;continue}if(D===t.cdataPropName){h&&(i+=n),i+=`<![CDATA[${Q[D][0][t.textNodeName]}]]>`,h=!1;continue}if(D===t.commentPropName){i+=n+`\x3c!--${Q[D][0][t.textNodeName]}--\x3e`,h=!0;continue}if("?"===D[0]){const e=at(Q[":@"],t),o="?xml"===D?"":n;let p=Q[D][0][t.textNodeName];p=0!==p.length?" "+p:"",i+=o+`<${D}${p}${e}?>`,h=!0;continue}let _=n;""!==_&&(_+=t.indentBy);const O=n+`<${D}${at(Q[":@"],t)}`,V=rt(Q[D],t,T,_);-1!==t.unpairedTags.indexOf(D)?t.suppressUnpairedNode?i+=O+">":i+=O+"/>":V&&0!==V.length||!t.suppressEmptyNode?V&&V.endsWith(">")?i+=O+`>${V}${n}</${D}>`:(i+=O+">",V&&""!==n&&(V.includes("/>")||V.includes("</"))?i+=n+t.indentBy+V+n:i+=V,i+=`</${D}>`):i+=O+"/>",h=!0}return i}function ot(e){const t=Object.keys(e);for(let o=0;o<t.length;o++){const n=t[o];if(Object.prototype.hasOwnProperty.call(e,n)&&":@"!==n)return n}}function at(e,t){let o="";if(e&&!t.ignoreAttributes)for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let i=t.attributeValueProcessor(n,e[n]);i=ut(i,t),!0===i&&t.suppressBooleanAttributes?o+=` ${n.substr(t.attributeNamePrefix.length)}`:o+=` ${n.substr(t.attributeNamePrefix.length)}="${i}"`}return o}function lt(e,t){let o=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(".")+1);for(let n in t.stopNodes)if(t.stopNodes[n]===e||t.stopNodes[n]==="*."+o)return!0;return!1}function ut(e,t){if(e&&e.length>0&&t.processEntities)for(let o=0;o<t.entities.length;o++){const n=t.entities[o];e=e.replace(n.regex,n.val)}return e}const re={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function ht(e){var t;this.options=Object.assign({},re,e),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(t=this.options.ignoreAttributes)?t:Array.isArray(t)?e=>{for(const o of t){if("string"==typeof o&&e===o)return!0;if(o instanceof RegExp&&o.test(e))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=ft),this.processTextOrObjNode=pt,this.options.format?(this.indentate=ct,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function pt(e,t,o,n){const i=this.j2x(e,o+1,n.concat(t));return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,o):this.buildObjectNode(i.val,t,i.attrStr,o)}function ct(e){return this.options.indentBy.repeat(e)}function ft(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}ht.prototype.build=function(e){return this.options.preserveOrder?st(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)},ht.prototype.j2x=function(e,t,o){let n="",i="";const h=o.join(".");for(let p in e)if(Object.prototype.hasOwnProperty.call(e,p))if(void 0===e[p])this.isAttribute(p)&&(i+="");else if(null===e[p])this.isAttribute(p)||p===this.options.cdataPropName?i+="":"?"===p[0]?i+=this.indentate(t)+"<"+p+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+p+"/"+this.tagEndChar;else if(e[p]instanceof Date)i+=this.buildTextValNode(e[p],p,"",t);else if("object"!=typeof e[p]){const o=this.isAttribute(p);if(o&&!this.ignoreAttributesFn(o,h))n+=this.buildAttrPairStr(o,""+e[p]);else if(!o)if(p===this.options.textNodeName){let t=this.options.tagValueProcessor(p,""+e[p]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[p],p,"",t)}else if(Array.isArray(e[p])){const n=e[p].length;let h="",Q="";for(let D=0;D<n;D++){const n=e[p][D];if(void 0===n);else if(null===n)"?"===p[0]?i+=this.indentate(t)+"<"+p+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+p+"/"+this.tagEndChar;else if("object"==typeof n)if(this.options.oneListGroup){const e=this.j2x(n,t+1,o.concat(p));h+=e.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(Q+=e.attrStr)}else h+=this.processTextOrObjNode(n,p,t,o);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(p,n);e=this.replaceEntitiesValue(e),h+=e}else h+=this.buildTextValNode(n,p,"",t)}this.options.oneListGroup&&(h=this.buildObjectNode(h,p,Q,t)),i+=h}else if(this.options.attributesGroupName&&p===this.options.attributesGroupName){const t=Object.keys(e[p]),o=t.length;for(let i=0;i<o;i++)n+=this.buildAttrPairStr(t[i],""+e[p][t[i]])}else i+=this.processTextOrObjNode(e[p],p,t,o);return{attrStr:n,val:i}},ht.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+t+'"'},ht.prototype.buildObjectNode=function(e,t,o,n){if(""===e)return"?"===t[0]?this.indentate(n)+"<"+t+o+"?"+this.tagEndChar:this.indentate(n)+"<"+t+o+this.closeTag(t)+this.tagEndChar;{let i="</"+t+this.tagEndChar,h="";return"?"===t[0]&&(h="?",i=""),!o&&""!==o||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===h.length?this.indentate(n)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(n)+"<"+t+o+h+this.tagEndChar+e+this.indentate(n)+i:this.indentate(n)+"<"+t+o+h+">"+e+i}},ht.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},ht.prototype.buildTextValNode=function(e,t,o,n){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(n)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(n)+"<"+t+o+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(n)+"<"+t+o+this.closeTag(t)+this.tagEndChar:this.indentate(n)+"<"+t+o+">"+i+"</"+t+this.tagEndChar}},ht.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const o=this.options.entities[t];e=e.replace(o.regex,o.val)}return e};const se=ht,oe={validate:a};e.exports=o})()},245:e=>{"use strict";e.exports=JSON.parse('{"name":"@aws-sdk/client-pricing","description":"AWS SDK for JavaScript Pricing Client for Node.js, Browser and React Native","version":"3.1004.0","scripts":{"build":"concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline client-pricing","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo pricing","test:index":"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.973.18","@aws-sdk/credential-provider-node":"^3.972.18","@aws-sdk/middleware-host-header":"^3.972.7","@aws-sdk/middleware-logger":"^3.972.7","@aws-sdk/middleware-recursion-detection":"^3.972.7","@aws-sdk/middleware-user-agent":"^3.972.19","@aws-sdk/region-config-resolver":"^3.972.7","@aws-sdk/types":"^3.973.5","@aws-sdk/util-endpoints":"^3.996.4","@aws-sdk/util-user-agent-browser":"^3.972.7","@aws-sdk/util-user-agent-node":"^3.973.4","@smithy/config-resolver":"^4.4.10","@smithy/core":"^3.23.8","@smithy/fetch-http-handler":"^5.3.13","@smithy/hash-node":"^4.2.11","@smithy/invalid-dependency":"^4.2.11","@smithy/middleware-content-length":"^4.2.11","@smithy/middleware-endpoint":"^4.4.22","@smithy/middleware-retry":"^4.4.39","@smithy/middleware-serde":"^4.2.12","@smithy/middleware-stack":"^4.2.11","@smithy/node-config-provider":"^4.3.11","@smithy/node-http-handler":"^4.4.14","@smithy/protocol-http":"^5.3.11","@smithy/smithy-client":"^4.12.2","@smithy/types":"^4.13.0","@smithy/url-parser":"^4.2.11","@smithy/util-base64":"^4.3.2","@smithy/util-body-length-browser":"^4.2.2","@smithy/util-body-length-node":"^4.2.3","@smithy/util-defaults-mode-browser":"^4.3.38","@smithy/util-defaults-mode-node":"^4.2.41","@smithy/util-endpoints":"^3.3.2","@smithy/util-middleware":"^4.2.11","@smithy/util-retry":"^4.2.11","@smithy/util-utf8":"^4.2.2","tslib":"^2.6.2"},"devDependencies":{"@tsconfig/node20":"20.1.8","@types/node":"^20.14.8","concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"engines":{"node":">=20.0.0"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-pricing","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-pricing"}}')}};var t={};function __nccwpck_require__(o){var n=t[o];if(n!==undefined){return n.exports}var i=t[o]={exports:{}};var h=true;try{e[o].call(i.exports,i,i.exports,__nccwpck_require__);h=false}finally{if(h)delete t[o]}return i.exports}__nccwpck_require__.m=e;(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(o,n){if(n&1)o=this(o);if(n&8)return o;if(typeof o==="object"&&o){if(n&4&&o.__esModule)return o;if(n&16&&typeof o.then==="function")return o}var i=Object.create(null);__nccwpck_require__.r(i);var h={};t=t||[null,e({}),e([]),e(e)];for(var p=n&2&&o;typeof p=="object"&&!~t.indexOf(p);p=e(p)){Object.getOwnPropertyNames(p).forEach((e=>h[e]=()=>o[e]))}h["default"]=()=>o;__nccwpck_require__.d(i,h);return i}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var o in t){if(__nccwpck_require__.o(t,o)&&!__nccwpck_require__.o(e,o)){Object.defineProperty(e,o,{enumerable:true,get:t[o]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=e=>Promise.all(Object.keys(__nccwpck_require__.f).reduce(((t,o)=>{__nccwpck_require__.f[o](e,t);return t}),[]))})();(()=>{__nccwpck_require__.u=e=>""+e+".index.js"})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";(()=>{var e={792:1};var installChunk=t=>{var o=t.modules,n=t.ids,i=t.runtime;for(var h in o){if(__nccwpck_require__.o(o,h)){__nccwpck_require__.m[h]=o[h]}}if(i)i(__nccwpck_require__);for(var p=0;p<n.length;p++)e[n[p]]=1};__nccwpck_require__.f.require=(t,o)=>{if(!e[t]){if(true){installChunk(require("./"+__nccwpck_require__.u(t)))}else e[t]=1}}})();var o=__nccwpck_require__(218);module.exports=o})();