mirror of
https://github.com/crazy-max/ghaction-import-gpg.git
synced 2024-12-25 20:52:06 -05:00
17 lines
No EOL
745 KiB
JavaScript
Generated
17 lines
No EOL
745 KiB
JavaScript
Generated
require('./sourcemap-register.js');(()=>{var Ae={7351:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};Object.defineProperty(Se,"__esModule",{value:true});Se.issue=Se.issueCommand=void 0;const rt=$e(Ce(2037));const it=Ce(5278);function issueCommand(Ae,Se,Ce){const qe=new Command(Ae,Se,Ce);process.stdout.write(qe.toString()+rt.EOL)}Se.issueCommand=issueCommand;function issue(Ae,Se=""){issueCommand(Ae,{},Se)}Se.issue=issue;const nt="::";class Command{constructor(Ae,Se,Ce){if(!Ae){Ae="missing.command"}this.command=Ae;this.properties=Se;this.message=Ce}toString(){let Ae=nt+this.command;if(this.properties&&Object.keys(this.properties).length>0){Ae+=" ";let Se=true;for(const Ce in this.properties){if(this.properties.hasOwnProperty(Ce)){const qe=this.properties[Ce];if(qe){if(Se){Se=false}else{Ae+=","}Ae+=`${Ce}=${escapeProperty(qe)}`}}}}Ae+=`${nt}${escapeData(this.message)}`;return Ae}}function escapeData(Ae){return it.toCommandValue(Ae).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(Ae){return it.toCommandValue(Ae).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.getIDToken=Se.getState=Se.saveState=Se.group=Se.endGroup=Se.startGroup=Se.info=Se.notice=Se.warning=Se.error=Se.debug=Se.isDebug=Se.setFailed=Se.setCommandEcho=Se.setOutput=Se.getBooleanInput=Se.getMultilineInput=Se.getInput=Se.addPath=Se.setSecret=Se.exportVariable=Se.ExitCode=void 0;const it=Ce(7351);const nt=Ce(717);const st=Ce(5278);const ut=$e(Ce(2037));const ht=$e(Ce(1017));const ft=Ce(8041);var yt;(function(Ae){Ae[Ae["Success"]=0]="Success";Ae[Ae["Failure"]=1]="Failure"})(yt=Se.ExitCode||(Se.ExitCode={}));function exportVariable(Ae,Se){const Ce=st.toCommandValue(Se);process.env[Ae]=Ce;const qe=process.env["GITHUB_ENV"]||"";if(qe){return nt.issueFileCommand("ENV",nt.prepareKeyValueMessage(Ae,Se))}it.issueCommand("set-env",{name:Ae},Ce)}Se.exportVariable=exportVariable;function setSecret(Ae){it.issueCommand("add-mask",{},Ae)}Se.setSecret=setSecret;function addPath(Ae){const Se=process.env["GITHUB_PATH"]||"";if(Se){nt.issueFileCommand("PATH",Ae)}else{it.issueCommand("add-path",{},Ae)}process.env["PATH"]=`${Ae}${ht.delimiter}${process.env["PATH"]}`}Se.addPath=addPath;function getInput(Ae,Se){const Ce=process.env[`INPUT_${Ae.replace(/ /g,"_").toUpperCase()}`]||"";if(Se&&Se.required&&!Ce){throw new Error(`Input required and not supplied: ${Ae}`)}if(Se&&Se.trimWhitespace===false){return Ce}return Ce.trim()}Se.getInput=getInput;function getMultilineInput(Ae,Se){const Ce=getInput(Ae,Se).split("\n").filter((Ae=>Ae!==""));if(Se&&Se.trimWhitespace===false){return Ce}return Ce.map((Ae=>Ae.trim()))}Se.getMultilineInput=getMultilineInput;function getBooleanInput(Ae,Se){const Ce=["true","True","TRUE"];const qe=["false","False","FALSE"];const Fe=getInput(Ae,Se);if(Ce.includes(Fe))return true;if(qe.includes(Fe))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${Ae}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}Se.getBooleanInput=getBooleanInput;function setOutput(Ae,Se){const Ce=process.env["GITHUB_OUTPUT"]||"";if(Ce){return nt.issueFileCommand("OUTPUT",nt.prepareKeyValueMessage(Ae,Se))}process.stdout.write(ut.EOL);it.issueCommand("set-output",{name:Ae},st.toCommandValue(Se))}Se.setOutput=setOutput;function setCommandEcho(Ae){it.issue("echo",Ae?"on":"off")}Se.setCommandEcho=setCommandEcho;function setFailed(Ae){process.exitCode=yt.Failure;error(Ae)}Se.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}Se.isDebug=isDebug;function debug(Ae){it.issueCommand("debug",{},Ae)}Se.debug=debug;function error(Ae,Se={}){it.issueCommand("error",st.toCommandProperties(Se),Ae instanceof Error?Ae.toString():Ae)}Se.error=error;function warning(Ae,Se={}){it.issueCommand("warning",st.toCommandProperties(Se),Ae instanceof Error?Ae.toString():Ae)}Se.warning=warning;function notice(Ae,Se={}){it.issueCommand("notice",st.toCommandProperties(Se),Ae instanceof Error?Ae.toString():Ae)}Se.notice=notice;function info(Ae){process.stdout.write(Ae+ut.EOL)}Se.info=info;function startGroup(Ae){it.issue("group",Ae)}Se.startGroup=startGroup;function endGroup(){it.issue("endgroup")}Se.endGroup=endGroup;function group(Ae,Se){return rt(this,void 0,void 0,(function*(){startGroup(Ae);let Ce;try{Ce=yield Se()}finally{endGroup()}return Ce}))}Se.group=group;function saveState(Ae,Se){const Ce=process.env["GITHUB_STATE"]||"";if(Ce){return nt.issueFileCommand("STATE",nt.prepareKeyValueMessage(Ae,Se))}it.issueCommand("save-state",{name:Ae},st.toCommandValue(Se))}Se.saveState=saveState;function getState(Ae){return process.env[`STATE_${Ae}`]||""}Se.getState=getState;function getIDToken(Ae){return rt(this,void 0,void 0,(function*(){return yield ft.OidcClient.getIDToken(Ae)}))}Se.getIDToken=getIDToken;var mt=Ce(1327);Object.defineProperty(Se,"summary",{enumerable:true,get:function(){return mt.summary}});var vt=Ce(1327);Object.defineProperty(Se,"markdownSummary",{enumerable:true,get:function(){return vt.markdownSummary}});var _t=Ce(2981);Object.defineProperty(Se,"toPosixPath",{enumerable:true,get:function(){return _t.toPosixPath}});Object.defineProperty(Se,"toWin32Path",{enumerable:true,get:function(){return _t.toWin32Path}});Object.defineProperty(Se,"toPlatformPath",{enumerable:true,get:function(){return _t.toPlatformPath}})},717:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};Object.defineProperty(Se,"__esModule",{value:true});Se.prepareKeyValueMessage=Se.issueFileCommand=void 0;const rt=$e(Ce(7147));const it=$e(Ce(2037));const nt=Ce(5840);const st=Ce(5278);function issueFileCommand(Ae,Se){const Ce=process.env[`GITHUB_${Ae}`];if(!Ce){throw new Error(`Unable to find environment variable for file command ${Ae}`)}if(!rt.existsSync(Ce)){throw new Error(`Missing file at path: ${Ce}`)}rt.appendFileSync(Ce,`${st.toCommandValue(Se)}${it.EOL}`,{encoding:"utf8"})}Se.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(Ae,Se){const Ce=`ghadelimiter_${nt.v4()}`;const qe=st.toCommandValue(Se);if(Ae.includes(Ce)){throw new Error(`Unexpected input: name should not contain the delimiter "${Ce}"`)}if(qe.includes(Ce)){throw new Error(`Unexpected input: value should not contain the delimiter "${Ce}"`)}return`${Ae}<<${Ce}${it.EOL}${qe}${it.EOL}${Ce}`}Se.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(Ae,Se,Ce){"use strict";var qe=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.OidcClient=void 0;const Fe=Ce(6255);const $e=Ce(5526);const rt=Ce(2186);class OidcClient{static createHttpClient(Ae=true,Se=10){const Ce={allowRetries:Ae,maxRetries:Se};return new Fe.HttpClient("actions/oidc-client",[new $e.BearerCredentialHandler(OidcClient.getRequestToken())],Ce)}static getRequestToken(){const Ae=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!Ae){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return Ae}static getIDTokenUrl(){const Ae=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!Ae){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return Ae}static getCall(Ae){var Se;return qe(this,void 0,void 0,(function*(){const Ce=OidcClient.createHttpClient();const qe=yield Ce.getJson(Ae).catch((Ae=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${Ae.statusCode}\n \n Error Message: ${Ae.result.message}`)}));const Fe=(Se=qe.result)===null||Se===void 0?void 0:Se.value;if(!Fe){throw new Error("Response json body do not have ID Token field")}return Fe}))}static getIDToken(Ae){return qe(this,void 0,void 0,(function*(){try{let Se=OidcClient.getIDTokenUrl();if(Ae){const Ce=encodeURIComponent(Ae);Se=`${Se}&audience=${Ce}`}rt.debug(`ID token url is ${Se}`);const Ce=yield OidcClient.getCall(Se);rt.setSecret(Ce);return Ce}catch(Ae){throw new Error(`Error message: ${Ae.message}`)}}))}}Se.OidcClient=OidcClient},2981:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};Object.defineProperty(Se,"__esModule",{value:true});Se.toPlatformPath=Se.toWin32Path=Se.toPosixPath=void 0;const rt=$e(Ce(1017));function toPosixPath(Ae){return Ae.replace(/[\\]/g,"/")}Se.toPosixPath=toPosixPath;function toWin32Path(Ae){return Ae.replace(/[/]/g,"\\")}Se.toWin32Path=toWin32Path;function toPlatformPath(Ae){return Ae.replace(/[/\\]/g,rt.sep)}Se.toPlatformPath=toPlatformPath},1327:function(Ae,Se,Ce){"use strict";var qe=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.summary=Se.markdownSummary=Se.SUMMARY_DOCS_URL=Se.SUMMARY_ENV_VAR=void 0;const Fe=Ce(2037);const $e=Ce(7147);const{access:rt,appendFile:it,writeFile:nt}=$e.promises;Se.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";Se.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 qe(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const Ae=process.env[Se.SUMMARY_ENV_VAR];if(!Ae){throw new Error(`Unable to find environment variable for $${Se.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield rt(Ae,$e.constants.R_OK|$e.constants.W_OK)}catch(Se){throw new Error(`Unable to access summary file: '${Ae}'. Check if the file has correct read/write permissions.`)}this._filePath=Ae;return this._filePath}))}wrap(Ae,Se,Ce={}){const qe=Object.entries(Ce).map((([Ae,Se])=>` ${Ae}="${Se}"`)).join("");if(!Se){return`<${Ae}${qe}>`}return`<${Ae}${qe}>${Se}</${Ae}>`}write(Ae){return qe(this,void 0,void 0,(function*(){const Se=!!(Ae===null||Ae===void 0?void 0:Ae.overwrite);const Ce=yield this.filePath();const qe=Se?nt:it;yield qe(Ce,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return qe(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(Ae,Se=false){this._buffer+=Ae;return Se?this.addEOL():this}addEOL(){return this.addRaw(Fe.EOL)}addCodeBlock(Ae,Se){const Ce=Object.assign({},Se&&{lang:Se});const qe=this.wrap("pre",this.wrap("code",Ae),Ce);return this.addRaw(qe).addEOL()}addList(Ae,Se=false){const Ce=Se?"ol":"ul";const qe=Ae.map((Ae=>this.wrap("li",Ae))).join("");const Fe=this.wrap(Ce,qe);return this.addRaw(Fe).addEOL()}addTable(Ae){const Se=Ae.map((Ae=>{const Se=Ae.map((Ae=>{if(typeof Ae==="string"){return this.wrap("td",Ae)}const{header:Se,data:Ce,colspan:qe,rowspan:Fe}=Ae;const $e=Se?"th":"td";const rt=Object.assign(Object.assign({},qe&&{colspan:qe}),Fe&&{rowspan:Fe});return this.wrap($e,Ce,rt)})).join("");return this.wrap("tr",Se)})).join("");const Ce=this.wrap("table",Se);return this.addRaw(Ce).addEOL()}addDetails(Ae,Se){const Ce=this.wrap("details",this.wrap("summary",Ae)+Se);return this.addRaw(Ce).addEOL()}addImage(Ae,Se,Ce){const{width:qe,height:Fe}=Ce||{};const $e=Object.assign(Object.assign({},qe&&{width:qe}),Fe&&{height:Fe});const rt=this.wrap("img",null,Object.assign({src:Ae,alt:Se},$e));return this.addRaw(rt).addEOL()}addHeading(Ae,Se){const Ce=`h${Se}`;const qe=["h1","h2","h3","h4","h5","h6"].includes(Ce)?Ce:"h1";const Fe=this.wrap(qe,Ae);return this.addRaw(Fe).addEOL()}addSeparator(){const Ae=this.wrap("hr",null);return this.addRaw(Ae).addEOL()}addBreak(){const Ae=this.wrap("br",null);return this.addRaw(Ae).addEOL()}addQuote(Ae,Se){const Ce=Object.assign({},Se&&{cite:Se});const qe=this.wrap("blockquote",Ae,Ce);return this.addRaw(qe).addEOL()}addLink(Ae,Se){const Ce=this.wrap("a",Ae,{href:Se});return this.addRaw(Ce).addEOL()}}const st=new Summary;Se.markdownSummary=st;Se.summary=st},5278:(Ae,Se)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se.toCommandProperties=Se.toCommandValue=void 0;function toCommandValue(Ae){if(Ae===null||Ae===undefined){return""}else if(typeof Ae==="string"||Ae instanceof String){return Ae}return JSON.stringify(Ae)}Se.toCommandValue=toCommandValue;function toCommandProperties(Ae){if(!Object.keys(Ae).length){return{}}return{title:Ae.title,file:Ae.file,line:Ae.startLine,endLine:Ae.endLine,col:Ae.startColumn,endColumn:Ae.endColumn}}Se.toCommandProperties=toCommandProperties},1514:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.getExecOutput=Se.exec=void 0;const it=Ce(1576);const nt=$e(Ce(8159));function exec(Ae,Se,Ce){return rt(this,void 0,void 0,(function*(){const qe=nt.argStringToArray(Ae);if(qe.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const Fe=qe[0];Se=qe.slice(1).concat(Se||[]);const $e=new nt.ToolRunner(Fe,Se,Ce);return $e.exec()}))}Se.exec=exec;function getExecOutput(Ae,Se,Ce){var qe,Fe;return rt(this,void 0,void 0,(function*(){let $e="";let rt="";const nt=new it.StringDecoder("utf8");const st=new it.StringDecoder("utf8");const ut=(qe=Ce===null||Ce===void 0?void 0:Ce.listeners)===null||qe===void 0?void 0:qe.stdout;const ht=(Fe=Ce===null||Ce===void 0?void 0:Ce.listeners)===null||Fe===void 0?void 0:Fe.stderr;const stdErrListener=Ae=>{rt+=st.write(Ae);if(ht){ht(Ae)}};const stdOutListener=Ae=>{$e+=nt.write(Ae);if(ut){ut(Ae)}};const ft=Object.assign(Object.assign({},Ce===null||Ce===void 0?void 0:Ce.listeners),{stdout:stdOutListener,stderr:stdErrListener});const yt=yield exec(Ae,Se,Object.assign(Object.assign({},Ce),{listeners:ft}));$e+=nt.end();rt+=st.end();return{exitCode:yt,stdout:$e,stderr:rt}}))}Se.getExecOutput=getExecOutput},8159:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.argStringToArray=Se.ToolRunner=void 0;const it=$e(Ce(2037));const nt=$e(Ce(2361));const st=$e(Ce(2081));const ut=$e(Ce(1017));const ht=$e(Ce(7436));const ft=$e(Ce(1962));const yt=Ce(9512);const mt=process.platform==="win32";class ToolRunner extends nt.EventEmitter{constructor(Ae,Se,Ce){super();if(!Ae){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=Ae;this.args=Se||[];this.options=Ce||{}}_debug(Ae){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(Ae)}}_getCommandString(Ae,Se){const Ce=this._getSpawnFileName();const qe=this._getSpawnArgs(Ae);let Fe=Se?"":"[command]";if(mt){if(this._isCmdFile()){Fe+=Ce;for(const Ae of qe){Fe+=` ${Ae}`}}else if(Ae.windowsVerbatimArguments){Fe+=`"${Ce}"`;for(const Ae of qe){Fe+=` ${Ae}`}}else{Fe+=this._windowsQuoteCmdArg(Ce);for(const Ae of qe){Fe+=` ${this._windowsQuoteCmdArg(Ae)}`}}}else{Fe+=Ce;for(const Ae of qe){Fe+=` ${Ae}`}}return Fe}_processLineBuffer(Ae,Se,Ce){try{let qe=Se+Ae.toString();let Fe=qe.indexOf(it.EOL);while(Fe>-1){const Ae=qe.substring(0,Fe);Ce(Ae);qe=qe.substring(Fe+it.EOL.length);Fe=qe.indexOf(it.EOL)}return qe}catch(Ae){this._debug(`error processing line. Failed with error ${Ae}`);return""}}_getSpawnFileName(){if(mt){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(Ae){if(mt){if(this._isCmdFile()){let Se=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const Ce of this.args){Se+=" ";Se+=Ae.windowsVerbatimArguments?Ce:this._windowsQuoteCmdArg(Ce)}Se+='"';return[Se]}}return this.args}_endsWith(Ae,Se){return Ae.endsWith(Se)}_isCmdFile(){const Ae=this.toolPath.toUpperCase();return this._endsWith(Ae,".CMD")||this._endsWith(Ae,".BAT")}_windowsQuoteCmdArg(Ae){if(!this._isCmdFile()){return this._uvQuoteCmdArg(Ae)}if(!Ae){return'""'}const Se=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let Ce=false;for(const qe of Ae){if(Se.some((Ae=>Ae===qe))){Ce=true;break}}if(!Ce){return Ae}let qe='"';let Fe=true;for(let Se=Ae.length;Se>0;Se--){qe+=Ae[Se-1];if(Fe&&Ae[Se-1]==="\\"){qe+="\\"}else if(Ae[Se-1]==='"'){Fe=true;qe+='"'}else{Fe=false}}qe+='"';return qe.split("").reverse().join("")}_uvQuoteCmdArg(Ae){if(!Ae){return'""'}if(!Ae.includes(" ")&&!Ae.includes("\t")&&!Ae.includes('"')){return Ae}if(!Ae.includes('"')&&!Ae.includes("\\")){return`"${Ae}"`}let Se='"';let Ce=true;for(let qe=Ae.length;qe>0;qe--){Se+=Ae[qe-1];if(Ce&&Ae[qe-1]==="\\"){Se+="\\"}else if(Ae[qe-1]==='"'){Ce=true;Se+="\\"}else{Ce=false}}Se+='"';return Se.split("").reverse().join("")}_cloneExecOptions(Ae){Ae=Ae||{};const Se={cwd:Ae.cwd||process.cwd(),env:Ae.env||process.env,silent:Ae.silent||false,windowsVerbatimArguments:Ae.windowsVerbatimArguments||false,failOnStdErr:Ae.failOnStdErr||false,ignoreReturnCode:Ae.ignoreReturnCode||false,delay:Ae.delay||1e4};Se.outStream=Ae.outStream||process.stdout;Se.errStream=Ae.errStream||process.stderr;return Se}_getSpawnOptions(Ae,Se){Ae=Ae||{};const Ce={};Ce.cwd=Ae.cwd;Ce.env=Ae.env;Ce["windowsVerbatimArguments"]=Ae.windowsVerbatimArguments||this._isCmdFile();if(Ae.windowsVerbatimArguments){Ce.argv0=`"${Se}"`}return Ce}exec(){return rt(this,void 0,void 0,(function*(){if(!ft.isRooted(this.toolPath)&&(this.toolPath.includes("/")||mt&&this.toolPath.includes("\\"))){this.toolPath=ut.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield ht.which(this.toolPath,true);return new Promise(((Ae,Se)=>rt(this,void 0,void 0,(function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const Ae of this.args){this._debug(` ${Ae}`)}const Ce=this._cloneExecOptions(this.options);if(!Ce.silent&&Ce.outStream){Ce.outStream.write(this._getCommandString(Ce)+it.EOL)}const qe=new ExecState(Ce,this.toolPath);qe.on("debug",(Ae=>{this._debug(Ae)}));if(this.options.cwd&&!(yield ft.exists(this.options.cwd))){return Se(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const Fe=this._getSpawnFileName();const $e=st.spawn(Fe,this._getSpawnArgs(Ce),this._getSpawnOptions(this.options,Fe));let rt="";if($e.stdout){$e.stdout.on("data",(Ae=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(Ae)}if(!Ce.silent&&Ce.outStream){Ce.outStream.write(Ae)}rt=this._processLineBuffer(Ae,rt,(Ae=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(Ae)}}))}))}let nt="";if($e.stderr){$e.stderr.on("data",(Ae=>{qe.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(Ae)}if(!Ce.silent&&Ce.errStream&&Ce.outStream){const Se=Ce.failOnStdErr?Ce.errStream:Ce.outStream;Se.write(Ae)}nt=this._processLineBuffer(Ae,nt,(Ae=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(Ae)}}))}))}$e.on("error",(Ae=>{qe.processError=Ae.message;qe.processExited=true;qe.processClosed=true;qe.CheckComplete()}));$e.on("exit",(Ae=>{qe.processExitCode=Ae;qe.processExited=true;this._debug(`Exit code ${Ae} received from tool '${this.toolPath}'`);qe.CheckComplete()}));$e.on("close",(Ae=>{qe.processExitCode=Ae;qe.processExited=true;qe.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);qe.CheckComplete()}));qe.on("done",((Ce,qe)=>{if(rt.length>0){this.emit("stdline",rt)}if(nt.length>0){this.emit("errline",nt)}$e.removeAllListeners();if(Ce){Se(Ce)}else{Ae(qe)}}));if(this.options.input){if(!$e.stdin){throw new Error("child process missing stdin")}$e.stdin.end(this.options.input)}}))))}))}}Se.ToolRunner=ToolRunner;function argStringToArray(Ae){const Se=[];let Ce=false;let qe=false;let Fe="";function append(Ae){if(qe&&Ae!=='"'){Fe+="\\"}Fe+=Ae;qe=false}for(let $e=0;$e<Ae.length;$e++){const rt=Ae.charAt($e);if(rt==='"'){if(!qe){Ce=!Ce}else{append(rt)}continue}if(rt==="\\"&&qe){append(rt);continue}if(rt==="\\"&&Ce){qe=true;continue}if(rt===" "&&!Ce){if(Fe.length>0){Se.push(Fe);Fe=""}continue}append(rt)}if(Fe.length>0){Se.push(Fe.trim())}return Se}Se.argStringToArray=argStringToArray;class ExecState extends nt.EventEmitter{constructor(Ae,Se){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(!Se){throw new Error("toolPath must not be empty")}this.options=Ae;this.toolPath=Se;if(Ae.delay){this.delay=Ae.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=yt.setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(Ae){this.emit("debug",Ae)}_setResult(){let Ae;if(this.processExited){if(this.processError){Ae=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){Ae=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){Ae=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",Ae,this.processExitCode)}static HandleTimeout(Ae){if(Ae.done){return}if(!Ae.processClosed&&Ae.processExited){const Se=`The STDIO streams did not close within ${Ae.delay/1e3} seconds of the exit event from process '${Ae.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;Ae._debug(Se)}Ae._setResult()}}},5526:function(Ae,Se){"use strict";var Ce=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.PersonalAccessTokenCredentialHandler=Se.BearerCredentialHandler=Se.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(Ae,Se){this.username=Ae;this.password=Se}prepareRequest(Ae){if(!Ae.headers){throw Error("The request has no headers")}Ae.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return Ce(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}Se.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(Ae){this.token=Ae}prepareRequest(Ae){if(!Ae.headers){throw Error("The request has no headers")}Ae.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return Ce(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}Se.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(Ae){this.token=Ae}prepareRequest(Ae){if(!Ae.headers){throw Error("The request has no headers")}Ae.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return Ce(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}Se.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Object.defineProperty(Ae,qe,{enumerable:true,get:function(){return Se[Ce]}})}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.HttpClient=Se.isHttps=Se.HttpClientResponse=Se.HttpClientError=Se.getProxyUrl=Se.MediaTypes=Se.Headers=Se.HttpCodes=void 0;const it=$e(Ce(3685));const nt=$e(Ce(5687));const st=$e(Ce(9835));const ut=$e(Ce(4294));var ht;(function(Ae){Ae[Ae["OK"]=200]="OK";Ae[Ae["MultipleChoices"]=300]="MultipleChoices";Ae[Ae["MovedPermanently"]=301]="MovedPermanently";Ae[Ae["ResourceMoved"]=302]="ResourceMoved";Ae[Ae["SeeOther"]=303]="SeeOther";Ae[Ae["NotModified"]=304]="NotModified";Ae[Ae["UseProxy"]=305]="UseProxy";Ae[Ae["SwitchProxy"]=306]="SwitchProxy";Ae[Ae["TemporaryRedirect"]=307]="TemporaryRedirect";Ae[Ae["PermanentRedirect"]=308]="PermanentRedirect";Ae[Ae["BadRequest"]=400]="BadRequest";Ae[Ae["Unauthorized"]=401]="Unauthorized";Ae[Ae["PaymentRequired"]=402]="PaymentRequired";Ae[Ae["Forbidden"]=403]="Forbidden";Ae[Ae["NotFound"]=404]="NotFound";Ae[Ae["MethodNotAllowed"]=405]="MethodNotAllowed";Ae[Ae["NotAcceptable"]=406]="NotAcceptable";Ae[Ae["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";Ae[Ae["RequestTimeout"]=408]="RequestTimeout";Ae[Ae["Conflict"]=409]="Conflict";Ae[Ae["Gone"]=410]="Gone";Ae[Ae["TooManyRequests"]=429]="TooManyRequests";Ae[Ae["InternalServerError"]=500]="InternalServerError";Ae[Ae["NotImplemented"]=501]="NotImplemented";Ae[Ae["BadGateway"]=502]="BadGateway";Ae[Ae["ServiceUnavailable"]=503]="ServiceUnavailable";Ae[Ae["GatewayTimeout"]=504]="GatewayTimeout"})(ht=Se.HttpCodes||(Se.HttpCodes={}));var ft;(function(Ae){Ae["Accept"]="accept";Ae["ContentType"]="content-type"})(ft=Se.Headers||(Se.Headers={}));var yt;(function(Ae){Ae["ApplicationJson"]="application/json"})(yt=Se.MediaTypes||(Se.MediaTypes={}));function getProxyUrl(Ae){const Se=st.getProxyUrl(new URL(Ae));return Se?Se.href:""}Se.getProxyUrl=getProxyUrl;const mt=[ht.MovedPermanently,ht.ResourceMoved,ht.SeeOther,ht.TemporaryRedirect,ht.PermanentRedirect];const vt=[ht.BadGateway,ht.ServiceUnavailable,ht.GatewayTimeout];const _t=["OPTIONS","GET","DELETE","HEAD"];const Ct=10;const Rt=5;class HttpClientError extends Error{constructor(Ae,Se){super(Ae);this.name="HttpClientError";this.statusCode=Se;Object.setPrototypeOf(this,HttpClientError.prototype)}}Se.HttpClientError=HttpClientError;class HttpClientResponse{constructor(Ae){this.message=Ae}readBody(){return rt(this,void 0,void 0,(function*(){return new Promise((Ae=>rt(this,void 0,void 0,(function*(){let Se=Buffer.alloc(0);this.message.on("data",(Ae=>{Se=Buffer.concat([Se,Ae])}));this.message.on("end",(()=>{Ae(Se.toString())}))}))))}))}}Se.HttpClientResponse=HttpClientResponse;function isHttps(Ae){const Se=new URL(Ae);return Se.protocol==="https:"}Se.isHttps=isHttps;class HttpClient{constructor(Ae,Se,Ce){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=Ae;this.handlers=Se||[];this.requestOptions=Ce;if(Ce){if(Ce.ignoreSslError!=null){this._ignoreSslError=Ce.ignoreSslError}this._socketTimeout=Ce.socketTimeout;if(Ce.allowRedirects!=null){this._allowRedirects=Ce.allowRedirects}if(Ce.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=Ce.allowRedirectDowngrade}if(Ce.maxRedirects!=null){this._maxRedirects=Math.max(Ce.maxRedirects,0)}if(Ce.keepAlive!=null){this._keepAlive=Ce.keepAlive}if(Ce.allowRetries!=null){this._allowRetries=Ce.allowRetries}if(Ce.maxRetries!=null){this._maxRetries=Ce.maxRetries}}}options(Ae,Se){return rt(this,void 0,void 0,(function*(){return this.request("OPTIONS",Ae,null,Se||{})}))}get(Ae,Se){return rt(this,void 0,void 0,(function*(){return this.request("GET",Ae,null,Se||{})}))}del(Ae,Se){return rt(this,void 0,void 0,(function*(){return this.request("DELETE",Ae,null,Se||{})}))}post(Ae,Se,Ce){return rt(this,void 0,void 0,(function*(){return this.request("POST",Ae,Se,Ce||{})}))}patch(Ae,Se,Ce){return rt(this,void 0,void 0,(function*(){return this.request("PATCH",Ae,Se,Ce||{})}))}put(Ae,Se,Ce){return rt(this,void 0,void 0,(function*(){return this.request("PUT",Ae,Se,Ce||{})}))}head(Ae,Se){return rt(this,void 0,void 0,(function*(){return this.request("HEAD",Ae,null,Se||{})}))}sendStream(Ae,Se,Ce,qe){return rt(this,void 0,void 0,(function*(){return this.request(Ae,Se,Ce,qe)}))}getJson(Ae,Se={}){return rt(this,void 0,void 0,(function*(){Se[ft.Accept]=this._getExistingOrDefaultHeader(Se,ft.Accept,yt.ApplicationJson);const Ce=yield this.get(Ae,Se);return this._processResponse(Ce,this.requestOptions)}))}postJson(Ae,Se,Ce={}){return rt(this,void 0,void 0,(function*(){const qe=JSON.stringify(Se,null,2);Ce[ft.Accept]=this._getExistingOrDefaultHeader(Ce,ft.Accept,yt.ApplicationJson);Ce[ft.ContentType]=this._getExistingOrDefaultHeader(Ce,ft.ContentType,yt.ApplicationJson);const Fe=yield this.post(Ae,qe,Ce);return this._processResponse(Fe,this.requestOptions)}))}putJson(Ae,Se,Ce={}){return rt(this,void 0,void 0,(function*(){const qe=JSON.stringify(Se,null,2);Ce[ft.Accept]=this._getExistingOrDefaultHeader(Ce,ft.Accept,yt.ApplicationJson);Ce[ft.ContentType]=this._getExistingOrDefaultHeader(Ce,ft.ContentType,yt.ApplicationJson);const Fe=yield this.put(Ae,qe,Ce);return this._processResponse(Fe,this.requestOptions)}))}patchJson(Ae,Se,Ce={}){return rt(this,void 0,void 0,(function*(){const qe=JSON.stringify(Se,null,2);Ce[ft.Accept]=this._getExistingOrDefaultHeader(Ce,ft.Accept,yt.ApplicationJson);Ce[ft.ContentType]=this._getExistingOrDefaultHeader(Ce,ft.ContentType,yt.ApplicationJson);const Fe=yield this.patch(Ae,qe,Ce);return this._processResponse(Fe,this.requestOptions)}))}request(Ae,Se,Ce,qe){return rt(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const Fe=new URL(Se);let $e=this._prepareRequest(Ae,Fe,qe);const rt=this._allowRetries&&_t.includes(Ae)?this._maxRetries+1:1;let it=0;let nt;do{nt=yield this.requestRaw($e,Ce);if(nt&&nt.message&&nt.message.statusCode===ht.Unauthorized){let Ae;for(const Se of this.handlers){if(Se.canHandleAuthentication(nt)){Ae=Se;break}}if(Ae){return Ae.handleAuthentication(this,$e,Ce)}else{return nt}}let Se=this._maxRedirects;while(nt.message.statusCode&&mt.includes(nt.message.statusCode)&&this._allowRedirects&&Se>0){const rt=nt.message.headers["location"];if(!rt){break}const it=new URL(rt);if(Fe.protocol==="https:"&&Fe.protocol!==it.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 nt.readBody();if(it.hostname!==Fe.hostname){for(const Ae in qe){if(Ae.toLowerCase()==="authorization"){delete qe[Ae]}}}$e=this._prepareRequest(Ae,it,qe);nt=yield this.requestRaw($e,Ce);Se--}if(!nt.message.statusCode||!vt.includes(nt.message.statusCode)){return nt}it+=1;if(it<rt){yield nt.readBody();yield this._performExponentialBackoff(it)}}while(it<rt);return nt}))}dispose(){if(this._agent){this._agent.destroy()}this._disposed=true}requestRaw(Ae,Se){return rt(this,void 0,void 0,(function*(){return new Promise(((Ce,qe)=>{function callbackForResult(Ae,Se){if(Ae){qe(Ae)}else if(!Se){qe(new Error("Unknown error"))}else{Ce(Se)}}this.requestRawWithCallback(Ae,Se,callbackForResult)}))}))}requestRawWithCallback(Ae,Se,Ce){if(typeof Se==="string"){if(!Ae.options.headers){Ae.options.headers={}}Ae.options.headers["Content-Length"]=Buffer.byteLength(Se,"utf8")}let qe=false;function handleResult(Ae,Se){if(!qe){qe=true;Ce(Ae,Se)}}const Fe=Ae.httpModule.request(Ae.options,(Ae=>{const Se=new HttpClientResponse(Ae);handleResult(undefined,Se)}));let $e;Fe.on("socket",(Ae=>{$e=Ae}));Fe.setTimeout(this._socketTimeout||3*6e4,(()=>{if($e){$e.end()}handleResult(new Error(`Request timeout: ${Ae.options.path}`))}));Fe.on("error",(function(Ae){handleResult(Ae)}));if(Se&&typeof Se==="string"){Fe.write(Se,"utf8")}if(Se&&typeof Se!=="string"){Se.on("close",(function(){Fe.end()}));Se.pipe(Fe)}else{Fe.end()}}getAgent(Ae){const Se=new URL(Ae);return this._getAgent(Se)}_prepareRequest(Ae,Se,Ce){const qe={};qe.parsedUrl=Se;const Fe=qe.parsedUrl.protocol==="https:";qe.httpModule=Fe?nt:it;const $e=Fe?443:80;qe.options={};qe.options.host=qe.parsedUrl.hostname;qe.options.port=qe.parsedUrl.port?parseInt(qe.parsedUrl.port):$e;qe.options.path=(qe.parsedUrl.pathname||"")+(qe.parsedUrl.search||"");qe.options.method=Ae;qe.options.headers=this._mergeHeaders(Ce);if(this.userAgent!=null){qe.options.headers["user-agent"]=this.userAgent}qe.options.agent=this._getAgent(qe.parsedUrl);if(this.handlers){for(const Ae of this.handlers){Ae.prepareRequest(qe.options)}}return qe}_mergeHeaders(Ae){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(Ae||{}))}return lowercaseKeys(Ae||{})}_getExistingOrDefaultHeader(Ae,Se,Ce){let qe;if(this.requestOptions&&this.requestOptions.headers){qe=lowercaseKeys(this.requestOptions.headers)[Se]}return Ae[Se]||qe||Ce}_getAgent(Ae){let Se;const Ce=st.getProxyUrl(Ae);const qe=Ce&&Ce.hostname;if(this._keepAlive&&qe){Se=this._proxyAgent}if(this._keepAlive&&!qe){Se=this._agent}if(Se){return Se}const Fe=Ae.protocol==="https:";let $e=100;if(this.requestOptions){$e=this.requestOptions.maxSockets||it.globalAgent.maxSockets}if(Ce&&Ce.hostname){const Ae={maxSockets:$e,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(Ce.username||Ce.password)&&{proxyAuth:`${Ce.username}:${Ce.password}`}),{host:Ce.hostname,port:Ce.port})};let qe;const rt=Ce.protocol==="https:";if(Fe){qe=rt?ut.httpsOverHttps:ut.httpsOverHttp}else{qe=rt?ut.httpOverHttps:ut.httpOverHttp}Se=qe(Ae);this._proxyAgent=Se}if(this._keepAlive&&!Se){const Ae={keepAlive:this._keepAlive,maxSockets:$e};Se=Fe?new nt.Agent(Ae):new it.Agent(Ae);this._agent=Se}if(!Se){Se=Fe?nt.globalAgent:it.globalAgent}if(Fe&&this._ignoreSslError){Se.options=Object.assign(Se.options||{},{rejectUnauthorized:false})}return Se}_performExponentialBackoff(Ae){return rt(this,void 0,void 0,(function*(){Ae=Math.min(Ct,Ae);const Se=Rt*Math.pow(2,Ae);return new Promise((Ae=>setTimeout((()=>Ae()),Se)))}))}_processResponse(Ae,Se){return rt(this,void 0,void 0,(function*(){return new Promise(((Ce,qe)=>rt(this,void 0,void 0,(function*(){const Fe=Ae.message.statusCode||0;const $e={statusCode:Fe,result:null,headers:{}};if(Fe===ht.NotFound){Ce($e)}function dateTimeDeserializer(Ae,Se){if(typeof Se==="string"){const Ae=new Date(Se);if(!isNaN(Ae.valueOf())){return Ae}}return Se}let rt;let it;try{it=yield Ae.readBody();if(it&&it.length>0){if(Se&&Se.deserializeDates){rt=JSON.parse(it,dateTimeDeserializer)}else{rt=JSON.parse(it)}$e.result=rt}$e.headers=Ae.message.headers}catch(Ae){}if(Fe>299){let Ae;if(rt&&rt.message){Ae=rt.message}else if(it&&it.length>0){Ae=it}else{Ae=`Failed request: (${Fe})`}const Se=new HttpClientError(Ae,Fe);Se.result=$e.result;qe(Se)}else{Ce($e)}}))))}))}}Se.HttpClient=HttpClient;const lowercaseKeys=Ae=>Object.keys(Ae).reduce(((Se,Ce)=>(Se[Ce.toLowerCase()]=Ae[Ce],Se)),{})},9835:(Ae,Se)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se.checkBypass=Se.getProxyUrl=void 0;function getProxyUrl(Ae){const Se=Ae.protocol==="https:";if(checkBypass(Ae)){return undefined}const Ce=(()=>{if(Se){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(Ce){return new URL(Ce)}else{return undefined}}Se.getProxyUrl=getProxyUrl;function checkBypass(Ae){if(!Ae.hostname){return false}const Se=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!Se){return false}let Ce;if(Ae.port){Ce=Number(Ae.port)}else if(Ae.protocol==="http:"){Ce=80}else if(Ae.protocol==="https:"){Ce=443}const qe=[Ae.hostname.toUpperCase()];if(typeof Ce==="number"){qe.push(`${qe[0]}:${Ce}`)}for(const Ae of Se.split(",").map((Ae=>Ae.trim().toUpperCase())).filter((Ae=>Ae))){if(qe.some((Se=>Se===Ae))){return true}}return false}Se.checkBypass=checkBypass},1962:function(Ae,Se,Ce){"use strict";var qe=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};var Fe;Object.defineProperty(Se,"__esModule",{value:true});const $e=Ce(9491);const rt=Ce(7147);const it=Ce(1017);Fe=rt.promises,Se.chmod=Fe.chmod,Se.copyFile=Fe.copyFile,Se.lstat=Fe.lstat,Se.mkdir=Fe.mkdir,Se.readdir=Fe.readdir,Se.readlink=Fe.readlink,Se.rename=Fe.rename,Se.rmdir=Fe.rmdir,Se.stat=Fe.stat,Se.symlink=Fe.symlink,Se.unlink=Fe.unlink;Se.IS_WINDOWS=process.platform==="win32";function exists(Ae){return qe(this,void 0,void 0,(function*(){try{yield Se.stat(Ae)}catch(Ae){if(Ae.code==="ENOENT"){return false}throw Ae}return true}))}Se.exists=exists;function isDirectory(Ae,Ce=false){return qe(this,void 0,void 0,(function*(){const qe=Ce?yield Se.stat(Ae):yield Se.lstat(Ae);return qe.isDirectory()}))}Se.isDirectory=isDirectory;function isRooted(Ae){Ae=normalizeSeparators(Ae);if(!Ae){throw new Error('isRooted() parameter "p" cannot be empty')}if(Se.IS_WINDOWS){return Ae.startsWith("\\")||/^[A-Z]:/i.test(Ae)}return Ae.startsWith("/")}Se.isRooted=isRooted;function mkdirP(Ae,Ce=1e3,Fe=1){return qe(this,void 0,void 0,(function*(){$e.ok(Ae,"a path argument must be provided");Ae=it.resolve(Ae);if(Fe>=Ce)return Se.mkdir(Ae);try{yield Se.mkdir(Ae);return}catch(qe){switch(qe.code){case"ENOENT":{yield mkdirP(it.dirname(Ae),Ce,Fe+1);yield Se.mkdir(Ae);return}default:{let Ce;try{Ce=yield Se.stat(Ae)}catch(Ae){throw qe}if(!Ce.isDirectory())throw qe}}}}))}Se.mkdirP=mkdirP;function tryGetExecutablePath(Ae,Ce){return qe(this,void 0,void 0,(function*(){let qe=undefined;try{qe=yield Se.stat(Ae)}catch(Se){if(Se.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${Ae}': ${Se}`)}}if(qe&&qe.isFile()){if(Se.IS_WINDOWS){const Se=it.extname(Ae).toUpperCase();if(Ce.some((Ae=>Ae.toUpperCase()===Se))){return Ae}}else{if(isUnixExecutable(qe)){return Ae}}}const Fe=Ae;for(const $e of Ce){Ae=Fe+$e;qe=undefined;try{qe=yield Se.stat(Ae)}catch(Se){if(Se.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${Ae}': ${Se}`)}}if(qe&&qe.isFile()){if(Se.IS_WINDOWS){try{const Ce=it.dirname(Ae);const qe=it.basename(Ae).toUpperCase();for(const Fe of yield Se.readdir(Ce)){if(qe===Fe.toUpperCase()){Ae=it.join(Ce,Fe);break}}}catch(Se){console.log(`Unexpected error attempting to determine the actual case of the file '${Ae}': ${Se}`)}return Ae}else{if(isUnixExecutable(qe)){return Ae}}}}return""}))}Se.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(Ae){Ae=Ae||"";if(Se.IS_WINDOWS){Ae=Ae.replace(/\//g,"\\");return Ae.replace(/\\\\+/g,"\\")}return Ae.replace(/\/\/+/g,"/")}function isUnixExecutable(Ae){return(Ae.mode&1)>0||(Ae.mode&8)>0&&Ae.gid===process.getgid()||(Ae.mode&64)>0&&Ae.uid===process.getuid()}},7436:function(Ae,Se,Ce){"use strict";var qe=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});const Fe=Ce(2081);const $e=Ce(1017);const rt=Ce(3837);const it=Ce(1962);const nt=rt.promisify(Fe.exec);function cp(Ae,Se,Ce={}){return qe(this,void 0,void 0,(function*(){const{force:qe,recursive:Fe}=readCopyOptions(Ce);const rt=(yield it.exists(Se))?yield it.stat(Se):null;if(rt&&rt.isFile()&&!qe){return}const nt=rt&&rt.isDirectory()?$e.join(Se,$e.basename(Ae)):Se;if(!(yield it.exists(Ae))){throw new Error(`no such file or directory: ${Ae}`)}const st=yield it.stat(Ae);if(st.isDirectory()){if(!Fe){throw new Error(`Failed to copy. ${Ae} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(Ae,nt,0,qe)}}else{if($e.relative(Ae,nt)===""){throw new Error(`'${nt}' and '${Ae}' are the same file`)}yield copyFile(Ae,nt,qe)}}))}Se.cp=cp;function mv(Ae,Se,Ce={}){return qe(this,void 0,void 0,(function*(){if(yield it.exists(Se)){let qe=true;if(yield it.isDirectory(Se)){Se=$e.join(Se,$e.basename(Ae));qe=yield it.exists(Se)}if(qe){if(Ce.force==null||Ce.force){yield rmRF(Se)}else{throw new Error("Destination already exists")}}}yield mkdirP($e.dirname(Se));yield it.rename(Ae,Se)}))}Se.mv=mv;function rmRF(Ae){return qe(this,void 0,void 0,(function*(){if(it.IS_WINDOWS){try{if(yield it.isDirectory(Ae,true)){yield nt(`rd /s /q "${Ae}"`)}else{yield nt(`del /f /a "${Ae}"`)}}catch(Ae){if(Ae.code!=="ENOENT")throw Ae}try{yield it.unlink(Ae)}catch(Ae){if(Ae.code!=="ENOENT")throw Ae}}else{let Se=false;try{Se=yield it.isDirectory(Ae)}catch(Ae){if(Ae.code!=="ENOENT")throw Ae;return}if(Se){yield nt(`rm -rf "${Ae}"`)}else{yield it.unlink(Ae)}}}))}Se.rmRF=rmRF;function mkdirP(Ae){return qe(this,void 0,void 0,(function*(){yield it.mkdirP(Ae)}))}Se.mkdirP=mkdirP;function which(Ae,Se){return qe(this,void 0,void 0,(function*(){if(!Ae){throw new Error("parameter 'tool' is required")}if(Se){const Se=yield which(Ae,false);if(!Se){if(it.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${Ae}. 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: ${Ae}. 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.`)}}}try{const Se=[];if(it.IS_WINDOWS&&process.env.PATHEXT){for(const Ae of process.env.PATHEXT.split($e.delimiter)){if(Ae){Se.push(Ae)}}}if(it.isRooted(Ae)){const Ce=yield it.tryGetExecutablePath(Ae,Se);if(Ce){return Ce}return""}if(Ae.includes("/")||it.IS_WINDOWS&&Ae.includes("\\")){return""}const Ce=[];if(process.env.PATH){for(const Ae of process.env.PATH.split($e.delimiter)){if(Ae){Ce.push(Ae)}}}for(const qe of Ce){const Ce=yield it.tryGetExecutablePath(qe+$e.sep+Ae,Se);if(Ce){return Ce}}return""}catch(Ae){throw new Error(`which failed with message ${Ae.message}`)}}))}Se.which=which;function readCopyOptions(Ae){const Se=Ae.force==null?true:Ae.force;const Ce=Boolean(Ae.recursive);return{force:Se,recursive:Ce}}function cpDirRecursive(Ae,Se,Ce,Fe){return qe(this,void 0,void 0,(function*(){if(Ce>=255)return;Ce++;yield mkdirP(Se);const qe=yield it.readdir(Ae);for(const $e of qe){const qe=`${Ae}/${$e}`;const rt=`${Se}/${$e}`;const nt=yield it.lstat(qe);if(nt.isDirectory()){yield cpDirRecursive(qe,rt,Ce,Fe)}else{yield copyFile(qe,rt,Fe)}}yield it.chmod(Se,(yield it.stat(Ae)).mode)}))}function copyFile(Ae,Se,Ce){return qe(this,void 0,void 0,(function*(){if((yield it.lstat(Ae)).isSymbolicLink()){try{yield it.lstat(Se);yield it.unlink(Se)}catch(Ae){if(Ae.code==="EPERM"){yield it.chmod(Se,"0666");yield it.unlink(Se)}}const Ce=yield it.readlink(Ae);yield it.symlink(Ce,Se,it.IS_WINDOWS?"junction":null)}else if(!(yield it.exists(Se))||Ce){yield it.copyFile(Ae,Se)}}))}},2764:Ae=>{"use strict";Ae.exports=addressparser;function addressparser(Ae){var Se=new Tokenizer(Ae);var Ce=Se.tokenize();var qe=[];var Fe=[];var $e=[];Ce.forEach((function(Ae){if(Ae.type==="operator"&&(Ae.value===","||Ae.value===";")){if(Fe.length){qe.push(Fe)}Fe=[]}else{Fe.push(Ae)}}));if(Fe.length){qe.push(Fe)}qe.forEach((function(Ae){Ae=_handleAddress(Ae);if(Ae.length){$e=$e.concat(Ae)}}));return $e}function _handleAddress(Ae){var Se;var Ce=false;var qe="text";var Fe;var $e=[];var rt={address:[],comment:[],group:[],text:[]};var it;var nt;for(it=0,nt=Ae.length;it<nt;it++){Se=Ae[it];if(Se.type==="operator"){switch(Se.value){case"<":qe="address";break;case"(":qe="comment";break;case":":qe="group";Ce=true;break;default:qe="text"}}else if(Se.value){if(qe==="address"){Se.value=Se.value.replace(/^[^<]*<\s*/,"")}rt[qe].push(Se.value)}}if(!rt.text.length&&rt.comment.length){rt.text=rt.comment;rt.comment=[]}if(Ce){rt.text=rt.text.join(" ");$e.push({name:rt.text||Fe&&Fe.name,group:rt.group.length?addressparser(rt.group.join(",")):[]})}else{if(!rt.address.length&&rt.text.length){for(it=rt.text.length-1;it>=0;it--){if(rt.text[it].match(/^[^@\s]+@[^@\s]+$/)){rt.address=rt.text.splice(it,1);break}}var _regexHandler=function(Ae){if(!rt.address.length){rt.address=[Ae.trim()];return" "}else{return Ae}};if(!rt.address.length){for(it=rt.text.length-1;it>=0;it--){rt.text[it]=rt.text[it].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,_regexHandler).trim();if(rt.address.length){break}}}}if(!rt.text.length&&rt.comment.length){rt.text=rt.comment;rt.comment=[]}if(rt.address.length>1){rt.text=rt.text.concat(rt.address.splice(1))}rt.text=rt.text.join(" ");rt.address=rt.address.join(" ");if(!rt.address&&Ce){return[]}else{Fe={address:rt.address||rt.text||"",name:rt.text||rt.address||""};if(Fe.address===Fe.name){if((Fe.address||"").match(/@/)){Fe.name=""}else{Fe.address=""}}$e.push(Fe)}}return $e}function Tokenizer(Ae){this.str=(Ae||"").toString();this.operatorCurrent="";this.operatorExpecting="";this.node=null;this.escaped=false;this.list=[]}Tokenizer.prototype.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""};Tokenizer.prototype.tokenize=function(){var Ae,Se=[];for(var Ce=0,qe=this.str.length;Ce<qe;Ce++){Ae=this.str.charAt(Ce);this.checkChar(Ae)}this.list.forEach((function(Ae){Ae.value=(Ae.value||"").toString().trim();if(Ae.value){Se.push(Ae)}}));return Se};Tokenizer.prototype.checkChar=function(Ae){if((Ae in this.operators||Ae==="\\")&&this.escaped){this.escaped=false}else if(this.operatorExpecting&&Ae===this.operatorExpecting){this.node={type:"operator",value:Ae};this.list.push(this.node);this.node=null;this.operatorExpecting="";this.escaped=false;return}else if(!this.operatorExpecting&&Ae in this.operators){this.node={type:"operator",value:Ae};this.list.push(this.node);this.node=null;this.operatorExpecting=this.operators[Ae];this.escaped=false;return}if(!this.escaped&&Ae==="\\"){this.escaped=true;return}if(!this.node){this.node={type:"text",value:""};this.list.push(this.node)}if(this.escaped&&Ae!=="\\"){this.node.value+="\\"}this.node.value+=Ae;this.escaped=false}},4293:(Ae,Se,Ce)=>{"use strict";const qe=Se;qe.bignum=Ce(6641);qe.define=Ce(5245).define;qe.base=Ce(8096);qe.constants=Ce(3371);qe.decoders=Ce(4952);qe.encoders=Ce(9083)},5245:(Ae,Se,Ce)=>{"use strict";const qe=Ce(9083);const Fe=Ce(4952);const $e=Ce(4124);const rt=Se;rt.define=function define(Ae,Se){return new Entity(Ae,Se)};function Entity(Ae,Se){this.name=Ae;this.body=Se;this.decoders={};this.encoders={}}Entity.prototype._createNamed=function createNamed(Ae){const Se=this.name;function Generated(Ae){this._initNamed(Ae,Se)}$e(Generated,Ae);Generated.prototype._initNamed=function _initNamed(Se,Ce){Ae.call(this,Se,Ce)};return new Generated(this)};Entity.prototype._getDecoder=function _getDecoder(Ae){Ae=Ae||"der";if(!this.decoders.hasOwnProperty(Ae))this.decoders[Ae]=this._createNamed(Fe[Ae]);return this.decoders[Ae]};Entity.prototype.decode=function decode(Ae,Se,Ce){return this._getDecoder(Se).decode(Ae,Ce)};Entity.prototype._getEncoder=function _getEncoder(Ae){Ae=Ae||"der";if(!this.encoders.hasOwnProperty(Ae))this.encoders[Ae]=this._createNamed(qe[Ae]);return this.encoders[Ae]};Entity.prototype.encode=function encode(Ae,Se,Ce){return this._getEncoder(Se).encode(Ae,Ce)}},5298:(Ae,Se,Ce)=>{"use strict";const qe=Ce(4124);const Fe=Ce(3744).b;const $e=Ce(5118).Buffer;function DecoderBuffer(Ae,Se){Fe.call(this,Se);if(!$e.isBuffer(Ae)){this.error("Input not Buffer");return}this.base=Ae;this.offset=0;this.length=Ae.length}qe(DecoderBuffer,Fe);Se.C=DecoderBuffer;DecoderBuffer.isDecoderBuffer=function isDecoderBuffer(Ae){if(Ae instanceof DecoderBuffer){return true}const Se=typeof Ae==="object"&&$e.isBuffer(Ae.base)&&Ae.constructor.name==="DecoderBuffer"&&typeof Ae.offset==="number"&&typeof Ae.length==="number"&&typeof Ae.save==="function"&&typeof Ae.restore==="function"&&typeof Ae.isEmpty==="function"&&typeof Ae.readUInt8==="function"&&typeof Ae.skip==="function"&&typeof Ae.raw==="function";return Se};DecoderBuffer.prototype.save=function save(){return{offset:this.offset,reporter:Fe.prototype.save.call(this)}};DecoderBuffer.prototype.restore=function restore(Ae){const Se=new DecoderBuffer(this.base);Se.offset=Ae.offset;Se.length=this.offset;this.offset=Ae.offset;Fe.prototype.restore.call(this,Ae.reporter);return Se};DecoderBuffer.prototype.isEmpty=function isEmpty(){return this.offset===this.length};DecoderBuffer.prototype.readUInt8=function readUInt8(Ae){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,true);else return this.error(Ae||"DecoderBuffer overrun")};DecoderBuffer.prototype.skip=function skip(Ae,Se){if(!(this.offset+Ae<=this.length))return this.error(Se||"DecoderBuffer overrun");const Ce=new DecoderBuffer(this.base);Ce._reporterState=this._reporterState;Ce.offset=this.offset;Ce.length=this.offset+Ae;this.offset+=Ae;return Ce};DecoderBuffer.prototype.raw=function raw(Ae){return this.base.slice(Ae?Ae.offset:this.offset,this.length)};function EncoderBuffer(Ae,Se){if(Array.isArray(Ae)){this.length=0;this.value=Ae.map((function(Ae){if(!EncoderBuffer.isEncoderBuffer(Ae))Ae=new EncoderBuffer(Ae,Se);this.length+=Ae.length;return Ae}),this)}else if(typeof Ae==="number"){if(!(0<=Ae&&Ae<=255))return Se.error("non-byte EncoderBuffer value");this.value=Ae;this.length=1}else if(typeof Ae==="string"){this.value=Ae;this.length=$e.byteLength(Ae)}else if($e.isBuffer(Ae)){this.value=Ae;this.length=Ae.length}else{return Se.error("Unsupported type: "+typeof Ae)}}Se.R=EncoderBuffer;EncoderBuffer.isEncoderBuffer=function isEncoderBuffer(Ae){if(Ae instanceof EncoderBuffer){return true}const Se=typeof Ae==="object"&&Ae.constructor.name==="EncoderBuffer"&&typeof Ae.length==="number"&&typeof Ae.join==="function";return Se};EncoderBuffer.prototype.join=function join(Ae,Se){if(!Ae)Ae=$e.alloc(this.length);if(!Se)Se=0;if(this.length===0)return Ae;if(Array.isArray(this.value)){this.value.forEach((function(Ce){Ce.join(Ae,Se);Se+=Ce.length}))}else{if(typeof this.value==="number")Ae[Se]=this.value;else if(typeof this.value==="string")Ae.write(this.value,Se);else if($e.isBuffer(this.value))this.value.copy(Ae,Se);Se+=this.length}return Ae}},8096:(Ae,Se,Ce)=>{"use strict";const qe=Se;qe.Reporter=Ce(3744).b;qe.DecoderBuffer=Ce(5298).C;qe.EncoderBuffer=Ce(5298).R;qe.Node=Ce(842)},842:(Ae,Se,Ce)=>{"use strict";const qe=Ce(3744).b;const Fe=Ce(5298).R;const $e=Ce(5298).C;const rt=Ce(910);const it=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"];const nt=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(it);const st=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function Node(Ae,Se,Ce){const qe={};this._baseState=qe;qe.name=Ce;qe.enc=Ae;qe.parent=Se||null;qe.children=null;qe.tag=null;qe.args=null;qe.reverseArgs=null;qe.choice=null;qe.optional=false;qe.any=false;qe.obj=false;qe.use=null;qe.useDecoder=null;qe.key=null;qe["default"]=null;qe.explicit=null;qe.implicit=null;qe.contains=null;if(!qe.parent){qe.children=[];this._wrap()}}Ae.exports=Node;const ut=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];Node.prototype.clone=function clone(){const Ae=this._baseState;const Se={};ut.forEach((function(Ce){Se[Ce]=Ae[Ce]}));const Ce=new this.constructor(Se.parent);Ce._baseState=Se;return Ce};Node.prototype._wrap=function wrap(){const Ae=this._baseState;nt.forEach((function(Se){this[Se]=function _wrappedMethod(){const Ce=new this.constructor(this);Ae.children.push(Ce);return Ce[Se].apply(Ce,arguments)}}),this)};Node.prototype._init=function init(Ae){const Se=this._baseState;rt(Se.parent===null);Ae.call(this);Se.children=Se.children.filter((function(Ae){return Ae._baseState.parent===this}),this);rt.equal(Se.children.length,1,"Root node can have only one child")};Node.prototype._useArgs=function useArgs(Ae){const Se=this._baseState;const Ce=Ae.filter((function(Ae){return Ae instanceof this.constructor}),this);Ae=Ae.filter((function(Ae){return!(Ae instanceof this.constructor)}),this);if(Ce.length!==0){rt(Se.children===null);Se.children=Ce;Ce.forEach((function(Ae){Ae._baseState.parent=this}),this)}if(Ae.length!==0){rt(Se.args===null);Se.args=Ae;Se.reverseArgs=Ae.map((function(Ae){if(typeof Ae!=="object"||Ae.constructor!==Object)return Ae;const Se={};Object.keys(Ae).forEach((function(Ce){if(Ce==(Ce|0))Ce|=0;const qe=Ae[Ce];Se[qe]=Ce}));return Se}))}};st.forEach((function(Ae){Node.prototype[Ae]=function _overrided(){const Se=this._baseState;throw new Error(Ae+" not implemented for encoding: "+Se.enc)}}));it.forEach((function(Ae){Node.prototype[Ae]=function _tagMethod(){const Se=this._baseState;const Ce=Array.prototype.slice.call(arguments);rt(Se.tag===null);Se.tag=Ae;this._useArgs(Ce);return this}}));Node.prototype.use=function use(Ae){rt(Ae);const Se=this._baseState;rt(Se.use===null);Se.use=Ae;return this};Node.prototype.optional=function optional(){const Ae=this._baseState;Ae.optional=true;return this};Node.prototype.def=function def(Ae){const Se=this._baseState;rt(Se["default"]===null);Se["default"]=Ae;Se.optional=true;return this};Node.prototype.explicit=function explicit(Ae){const Se=this._baseState;rt(Se.explicit===null&&Se.implicit===null);Se.explicit=Ae;return this};Node.prototype.implicit=function implicit(Ae){const Se=this._baseState;rt(Se.explicit===null&&Se.implicit===null);Se.implicit=Ae;return this};Node.prototype.obj=function obj(){const Ae=this._baseState;const Se=Array.prototype.slice.call(arguments);Ae.obj=true;if(Se.length!==0)this._useArgs(Se);return this};Node.prototype.key=function key(Ae){const Se=this._baseState;rt(Se.key===null);Se.key=Ae;return this};Node.prototype.any=function any(){const Ae=this._baseState;Ae.any=true;return this};Node.prototype.choice=function choice(Ae){const Se=this._baseState;rt(Se.choice===null);Se.choice=Ae;this._useArgs(Object.keys(Ae).map((function(Se){return Ae[Se]})));return this};Node.prototype.contains=function contains(Ae){const Se=this._baseState;rt(Se.use===null);Se.contains=Ae;return this};Node.prototype._decode=function decode(Ae,Se){const Ce=this._baseState;if(Ce.parent===null)return Ae.wrapResult(Ce.children[0]._decode(Ae,Se));let qe=Ce["default"];let Fe=true;let rt=null;if(Ce.key!==null)rt=Ae.enterKey(Ce.key);if(Ce.optional){let qe=null;if(Ce.explicit!==null)qe=Ce.explicit;else if(Ce.implicit!==null)qe=Ce.implicit;else if(Ce.tag!==null)qe=Ce.tag;if(qe===null&&!Ce.any){const qe=Ae.save();try{if(Ce.choice===null)this._decodeGeneric(Ce.tag,Ae,Se);else this._decodeChoice(Ae,Se);Fe=true}catch(Ae){Fe=false}Ae.restore(qe)}else{Fe=this._peekTag(Ae,qe,Ce.any);if(Ae.isError(Fe))return Fe}}let it;if(Ce.obj&&Fe)it=Ae.enterObject();if(Fe){if(Ce.explicit!==null){const Se=this._decodeTag(Ae,Ce.explicit);if(Ae.isError(Se))return Se;Ae=Se}const Fe=Ae.offset;if(Ce.use===null&&Ce.choice===null){let Se;if(Ce.any)Se=Ae.save();const Fe=this._decodeTag(Ae,Ce.implicit!==null?Ce.implicit:Ce.tag,Ce.any);if(Ae.isError(Fe))return Fe;if(Ce.any)qe=Ae.raw(Se);else Ae=Fe}if(Se&&Se.track&&Ce.tag!==null)Se.track(Ae.path(),Fe,Ae.length,"tagged");if(Se&&Se.track&&Ce.tag!==null)Se.track(Ae.path(),Ae.offset,Ae.length,"content");if(Ce.any){}else if(Ce.choice===null){qe=this._decodeGeneric(Ce.tag,Ae,Se)}else{qe=this._decodeChoice(Ae,Se)}if(Ae.isError(qe))return qe;if(!Ce.any&&Ce.choice===null&&Ce.children!==null){Ce.children.forEach((function decodeChildren(Ce){Ce._decode(Ae,Se)}))}if(Ce.contains&&(Ce.tag==="octstr"||Ce.tag==="bitstr")){const Fe=new $e(qe);qe=this._getUse(Ce.contains,Ae._reporterState.obj)._decode(Fe,Se)}}if(Ce.obj&&Fe)qe=Ae.leaveObject(it);if(Ce.key!==null&&(qe!==null||Fe===true))Ae.leaveKey(rt,Ce.key,qe);else if(rt!==null)Ae.exitKey(rt);return qe};Node.prototype._decodeGeneric=function decodeGeneric(Ae,Se,Ce){const qe=this._baseState;if(Ae==="seq"||Ae==="set")return null;if(Ae==="seqof"||Ae==="setof")return this._decodeList(Se,Ae,qe.args[0],Ce);else if(/str$/.test(Ae))return this._decodeStr(Se,Ae,Ce);else if(Ae==="objid"&&qe.args)return this._decodeObjid(Se,qe.args[0],qe.args[1],Ce);else if(Ae==="objid")return this._decodeObjid(Se,null,null,Ce);else if(Ae==="gentime"||Ae==="utctime")return this._decodeTime(Se,Ae,Ce);else if(Ae==="null_")return this._decodeNull(Se,Ce);else if(Ae==="bool")return this._decodeBool(Se,Ce);else if(Ae==="objDesc")return this._decodeStr(Se,Ae,Ce);else if(Ae==="int"||Ae==="enum")return this._decodeInt(Se,qe.args&&qe.args[0],Ce);if(qe.use!==null){return this._getUse(qe.use,Se._reporterState.obj)._decode(Se,Ce)}else{return Se.error("unknown tag: "+Ae)}};Node.prototype._getUse=function _getUse(Ae,Se){const Ce=this._baseState;Ce.useDecoder=this._use(Ae,Se);rt(Ce.useDecoder._baseState.parent===null);Ce.useDecoder=Ce.useDecoder._baseState.children[0];if(Ce.implicit!==Ce.useDecoder._baseState.implicit){Ce.useDecoder=Ce.useDecoder.clone();Ce.useDecoder._baseState.implicit=Ce.implicit}return Ce.useDecoder};Node.prototype._decodeChoice=function decodeChoice(Ae,Se){const Ce=this._baseState;let qe=null;let Fe=false;Object.keys(Ce.choice).some((function($e){const rt=Ae.save();const it=Ce.choice[$e];try{const Ce=it._decode(Ae,Se);if(Ae.isError(Ce))return false;qe={type:$e,value:Ce};Fe=true}catch(Se){Ae.restore(rt);return false}return true}),this);if(!Fe)return Ae.error("Choice not matched");return qe};Node.prototype._createEncoderBuffer=function createEncoderBuffer(Ae){return new Fe(Ae,this.reporter)};Node.prototype._encode=function encode(Ae,Se,Ce){const qe=this._baseState;if(qe["default"]!==null&&qe["default"]===Ae)return;const Fe=this._encodeValue(Ae,Se,Ce);if(Fe===undefined)return;if(this._skipDefault(Fe,Se,Ce))return;return Fe};Node.prototype._encodeValue=function encode(Ae,Se,Ce){const Fe=this._baseState;if(Fe.parent===null)return Fe.children[0]._encode(Ae,Se||new qe);let $e=null;this.reporter=Se;if(Fe.optional&&Ae===undefined){if(Fe["default"]!==null)Ae=Fe["default"];else return}let rt=null;let it=false;if(Fe.any){$e=this._createEncoderBuffer(Ae)}else if(Fe.choice){$e=this._encodeChoice(Ae,Se)}else if(Fe.contains){rt=this._getUse(Fe.contains,Ce)._encode(Ae,Se);it=true}else if(Fe.children){rt=Fe.children.map((function(Ce){if(Ce._baseState.tag==="null_")return Ce._encode(null,Se,Ae);if(Ce._baseState.key===null)return Se.error("Child should have a key");const qe=Se.enterKey(Ce._baseState.key);if(typeof Ae!=="object")return Se.error("Child expected, but input is not object");const Fe=Ce._encode(Ae[Ce._baseState.key],Se,Ae);Se.leaveKey(qe);return Fe}),this).filter((function(Ae){return Ae}));rt=this._createEncoderBuffer(rt)}else{if(Fe.tag==="seqof"||Fe.tag==="setof"){if(!(Fe.args&&Fe.args.length===1))return Se.error("Too many args for : "+Fe.tag);if(!Array.isArray(Ae))return Se.error("seqof/setof, but data is not Array");const Ce=this.clone();Ce._baseState.implicit=null;rt=this._createEncoderBuffer(Ae.map((function(Ce){const qe=this._baseState;return this._getUse(qe.args[0],Ae)._encode(Ce,Se)}),Ce))}else if(Fe.use!==null){$e=this._getUse(Fe.use,Ce)._encode(Ae,Se)}else{rt=this._encodePrimitive(Fe.tag,Ae);it=true}}if(!Fe.any&&Fe.choice===null){const Ae=Fe.implicit!==null?Fe.implicit:Fe.tag;const Ce=Fe.implicit===null?"universal":"context";if(Ae===null){if(Fe.use===null)Se.error("Tag could be omitted only for .use()")}else{if(Fe.use===null)$e=this._encodeComposite(Ae,it,Ce,rt)}}if(Fe.explicit!==null)$e=this._encodeComposite(Fe.explicit,false,"context",$e);return $e};Node.prototype._encodeChoice=function encodeChoice(Ae,Se){const Ce=this._baseState;const qe=Ce.choice[Ae.type];if(!qe){rt(false,Ae.type+" not found in "+JSON.stringify(Object.keys(Ce.choice)))}return qe._encode(Ae.value,Se)};Node.prototype._encodePrimitive=function encodePrimitive(Ae,Se){const Ce=this._baseState;if(/str$/.test(Ae))return this._encodeStr(Se,Ae);else if(Ae==="objid"&&Ce.args)return this._encodeObjid(Se,Ce.reverseArgs[0],Ce.args[1]);else if(Ae==="objid")return this._encodeObjid(Se,null,null);else if(Ae==="gentime"||Ae==="utctime")return this._encodeTime(Se,Ae);else if(Ae==="null_")return this._encodeNull();else if(Ae==="int"||Ae==="enum")return this._encodeInt(Se,Ce.args&&Ce.reverseArgs[0]);else if(Ae==="bool")return this._encodeBool(Se);else if(Ae==="objDesc")return this._encodeStr(Se,Ae);else throw new Error("Unsupported tag: "+Ae)};Node.prototype._isNumstr=function isNumstr(Ae){return/^[0-9 ]*$/.test(Ae)};Node.prototype._isPrintstr=function isPrintstr(Ae){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(Ae)}},3744:(Ae,Se,Ce)=>{"use strict";const qe=Ce(4124);function Reporter(Ae){this._reporterState={obj:null,path:[],options:Ae||{},errors:[]}}Se.b=Reporter;Reporter.prototype.isError=function isError(Ae){return Ae instanceof ReporterError};Reporter.prototype.save=function save(){const Ae=this._reporterState;return{obj:Ae.obj,pathLen:Ae.path.length}};Reporter.prototype.restore=function restore(Ae){const Se=this._reporterState;Se.obj=Ae.obj;Se.path=Se.path.slice(0,Ae.pathLen)};Reporter.prototype.enterKey=function enterKey(Ae){return this._reporterState.path.push(Ae)};Reporter.prototype.exitKey=function exitKey(Ae){const Se=this._reporterState;Se.path=Se.path.slice(0,Ae-1)};Reporter.prototype.leaveKey=function leaveKey(Ae,Se,Ce){const qe=this._reporterState;this.exitKey(Ae);if(qe.obj!==null)qe.obj[Se]=Ce};Reporter.prototype.path=function path(){return this._reporterState.path.join("/")};Reporter.prototype.enterObject=function enterObject(){const Ae=this._reporterState;const Se=Ae.obj;Ae.obj={};return Se};Reporter.prototype.leaveObject=function leaveObject(Ae){const Se=this._reporterState;const Ce=Se.obj;Se.obj=Ae;return Ce};Reporter.prototype.error=function error(Ae){let Se;const Ce=this._reporterState;const qe=Ae instanceof ReporterError;if(qe){Se=Ae}else{Se=new ReporterError(Ce.path.map((function(Ae){return"["+JSON.stringify(Ae)+"]"})).join(""),Ae.message||Ae,Ae.stack)}if(!Ce.options.partial)throw Se;if(!qe)Ce.errors.push(Se);return Se};Reporter.prototype.wrapResult=function wrapResult(Ae){const Se=this._reporterState;if(!Se.options.partial)return Ae;return{result:this.isError(Ae)?null:Ae,errors:Se.errors}};function ReporterError(Ae,Se){this.path=Ae;this.rethrow(Se)}qe(ReporterError,Error);ReporterError.prototype.rethrow=function rethrow(Ae){this.message=Ae+" at: "+(this.path||"(shallow)");if(Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack){try{throw new Error(this.message)}catch(Ae){this.stack=Ae.stack}}return this}},1188:(Ae,Se)=>{"use strict";function reverse(Ae){const Se={};Object.keys(Ae).forEach((function(Ce){if((Ce|0)==Ce)Ce=Ce|0;const qe=Ae[Ce];Se[qe]=Ce}));return Se}Se.tagClass={0:"universal",1:"application",2:"context",3:"private"};Se.tagClassByName=reverse(Se.tagClass);Se.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"};Se.tagByName=reverse(Se.tag)},3371:(Ae,Se,Ce)=>{"use strict";const qe=Se;qe._reverse=function reverse(Ae){const Se={};Object.keys(Ae).forEach((function(Ce){if((Ce|0)==Ce)Ce=Ce|0;const qe=Ae[Ce];Se[qe]=Ce}));return Se};qe.der=Ce(1188)},3332:(Ae,Se,Ce)=>{"use strict";const qe=Ce(4124);const Fe=Ce(6641);const $e=Ce(5298).C;const rt=Ce(842);const it=Ce(1188);function DERDecoder(Ae){this.enc="der";this.name=Ae.name;this.entity=Ae;this.tree=new DERNode;this.tree._init(Ae.body)}Ae.exports=DERDecoder;DERDecoder.prototype.decode=function decode(Ae,Se){if(!$e.isDecoderBuffer(Ae)){Ae=new $e(Ae,Se)}return this.tree._decode(Ae,Se)};function DERNode(Ae){rt.call(this,"der",Ae)}qe(DERNode,rt);DERNode.prototype._peekTag=function peekTag(Ae,Se,Ce){if(Ae.isEmpty())return false;const qe=Ae.save();const Fe=derDecodeTag(Ae,'Failed to peek tag: "'+Se+'"');if(Ae.isError(Fe))return Fe;Ae.restore(qe);return Fe.tag===Se||Fe.tagStr===Se||Fe.tagStr+"of"===Se||Ce};DERNode.prototype._decodeTag=function decodeTag(Ae,Se,Ce){const qe=derDecodeTag(Ae,'Failed to decode tag of "'+Se+'"');if(Ae.isError(qe))return qe;let Fe=derDecodeLen(Ae,qe.primitive,'Failed to get length of "'+Se+'"');if(Ae.isError(Fe))return Fe;if(!Ce&&qe.tag!==Se&&qe.tagStr!==Se&&qe.tagStr+"of"!==Se){return Ae.error('Failed to match tag: "'+Se+'"')}if(qe.primitive||Fe!==null)return Ae.skip(Fe,'Failed to match body of: "'+Se+'"');const $e=Ae.save();const rt=this._skipUntilEnd(Ae,'Failed to skip indefinite length body: "'+this.tag+'"');if(Ae.isError(rt))return rt;Fe=Ae.offset-$e.offset;Ae.restore($e);return Ae.skip(Fe,'Failed to match body of: "'+Se+'"')};DERNode.prototype._skipUntilEnd=function skipUntilEnd(Ae,Se){for(;;){const Ce=derDecodeTag(Ae,Se);if(Ae.isError(Ce))return Ce;const qe=derDecodeLen(Ae,Ce.primitive,Se);if(Ae.isError(qe))return qe;let Fe;if(Ce.primitive||qe!==null)Fe=Ae.skip(qe);else Fe=this._skipUntilEnd(Ae,Se);if(Ae.isError(Fe))return Fe;if(Ce.tagStr==="end")break}};DERNode.prototype._decodeList=function decodeList(Ae,Se,Ce,qe){const Fe=[];while(!Ae.isEmpty()){const Se=this._peekTag(Ae,"end");if(Ae.isError(Se))return Se;const $e=Ce.decode(Ae,"der",qe);if(Ae.isError($e)&&Se)break;Fe.push($e)}return Fe};DERNode.prototype._decodeStr=function decodeStr(Ae,Se){if(Se==="bitstr"){const Se=Ae.readUInt8();if(Ae.isError(Se))return Se;return{unused:Se,data:Ae.raw()}}else if(Se==="bmpstr"){const Se=Ae.raw();if(Se.length%2===1)return Ae.error("Decoding of string type: bmpstr length mismatch");let Ce="";for(let Ae=0;Ae<Se.length/2;Ae++){Ce+=String.fromCharCode(Se.readUInt16BE(Ae*2))}return Ce}else if(Se==="numstr"){const Se=Ae.raw().toString("ascii");if(!this._isNumstr(Se)){return Ae.error("Decoding of string type: "+"numstr unsupported characters")}return Se}else if(Se==="octstr"){return Ae.raw()}else if(Se==="objDesc"){return Ae.raw()}else if(Se==="printstr"){const Se=Ae.raw().toString("ascii");if(!this._isPrintstr(Se)){return Ae.error("Decoding of string type: "+"printstr unsupported characters")}return Se}else if(/str$/.test(Se)){return Ae.raw().toString()}else{return Ae.error("Decoding of string type: "+Se+" unsupported")}};DERNode.prototype._decodeObjid=function decodeObjid(Ae,Se,Ce){let qe;const Fe=[];let $e=0;let rt=0;while(!Ae.isEmpty()){rt=Ae.readUInt8();$e<<=7;$e|=rt&127;if((rt&128)===0){Fe.push($e);$e=0}}if(rt&128)Fe.push($e);const it=Fe[0]/40|0;const nt=Fe[0]%40;if(Ce)qe=Fe;else qe=[it,nt].concat(Fe.slice(1));if(Se){let Ae=Se[qe.join(" ")];if(Ae===undefined)Ae=Se[qe.join(".")];if(Ae!==undefined)qe=Ae}return qe};DERNode.prototype._decodeTime=function decodeTime(Ae,Se){const Ce=Ae.raw().toString();let qe;let Fe;let $e;let rt;let it;let nt;if(Se==="gentime"){qe=Ce.slice(0,4)|0;Fe=Ce.slice(4,6)|0;$e=Ce.slice(6,8)|0;rt=Ce.slice(8,10)|0;it=Ce.slice(10,12)|0;nt=Ce.slice(12,14)|0}else if(Se==="utctime"){qe=Ce.slice(0,2)|0;Fe=Ce.slice(2,4)|0;$e=Ce.slice(4,6)|0;rt=Ce.slice(6,8)|0;it=Ce.slice(8,10)|0;nt=Ce.slice(10,12)|0;if(qe<70)qe=2e3+qe;else qe=1900+qe}else{return Ae.error("Decoding "+Se+" time is not supported yet")}return Date.UTC(qe,Fe-1,$e,rt,it,nt,0)};DERNode.prototype._decodeNull=function decodeNull(){return null};DERNode.prototype._decodeBool=function decodeBool(Ae){const Se=Ae.readUInt8();if(Ae.isError(Se))return Se;else return Se!==0};DERNode.prototype._decodeInt=function decodeInt(Ae,Se){const Ce=Ae.raw();let qe=new Fe(Ce);if(Se)qe=Se[qe.toString(10)]||qe;return qe};DERNode.prototype._use=function use(Ae,Se){if(typeof Ae==="function")Ae=Ae(Se);return Ae._getDecoder("der").tree};function derDecodeTag(Ae,Se){let Ce=Ae.readUInt8(Se);if(Ae.isError(Ce))return Ce;const qe=it.tagClass[Ce>>6];const Fe=(Ce&32)===0;if((Ce&31)===31){let qe=Ce;Ce=0;while((qe&128)===128){qe=Ae.readUInt8(Se);if(Ae.isError(qe))return qe;Ce<<=7;Ce|=qe&127}}else{Ce&=31}const $e=it.tag[Ce];return{cls:qe,primitive:Fe,tag:Ce,tagStr:$e}}function derDecodeLen(Ae,Se,Ce){let qe=Ae.readUInt8(Ce);if(Ae.isError(qe))return qe;if(!Se&&qe===128)return null;if((qe&128)===0){return qe}const Fe=qe&127;if(Fe>4)return Ae.error("length octect is too long");qe=0;for(let Se=0;Se<Fe;Se++){qe<<=8;const Se=Ae.readUInt8(Ce);if(Ae.isError(Se))return Se;qe|=Se}return qe}},4952:(Ae,Se,Ce)=>{"use strict";const qe=Se;qe.der=Ce(3332);qe.pem=Ce(8361)},8361:(Ae,Se,Ce)=>{"use strict";const qe=Ce(4124);const Fe=Ce(5118).Buffer;const $e=Ce(3332);function PEMDecoder(Ae){$e.call(this,Ae);this.enc="pem"}qe(PEMDecoder,$e);Ae.exports=PEMDecoder;PEMDecoder.prototype.decode=function decode(Ae,Se){const Ce=Ae.toString().split(/[\r\n]+/g);const qe=Se.label.toUpperCase();const rt=/^-----(BEGIN|END) ([^-]+)-----$/;let it=-1;let nt=-1;for(let Ae=0;Ae<Ce.length;Ae++){const Se=Ce[Ae].match(rt);if(Se===null)continue;if(Se[2]!==qe)continue;if(it===-1){if(Se[1]!=="BEGIN")break;it=Ae}else{if(Se[1]!=="END")break;nt=Ae;break}}if(it===-1||nt===-1)throw new Error("PEM section not found for: "+qe);const st=Ce.slice(it+1,nt).join("");st.replace(/[^a-z0-9+/=]+/gi,"");const ut=Fe.from(st,"base64");return $e.prototype.decode.call(this,ut,Se)}},5769:(Ae,Se,Ce)=>{"use strict";const qe=Ce(4124);const Fe=Ce(5118).Buffer;const $e=Ce(842);const rt=Ce(1188);function DEREncoder(Ae){this.enc="der";this.name=Ae.name;this.entity=Ae;this.tree=new DERNode;this.tree._init(Ae.body)}Ae.exports=DEREncoder;DEREncoder.prototype.encode=function encode(Ae,Se){return this.tree._encode(Ae,Se).join()};function DERNode(Ae){$e.call(this,"der",Ae)}qe(DERNode,$e);DERNode.prototype._encodeComposite=function encodeComposite(Ae,Se,Ce,qe){const $e=encodeTag(Ae,Se,Ce,this.reporter);if(qe.length<128){const Ae=Fe.alloc(2);Ae[0]=$e;Ae[1]=qe.length;return this._createEncoderBuffer([Ae,qe])}let rt=1;for(let Ae=qe.length;Ae>=256;Ae>>=8)rt++;const it=Fe.alloc(1+1+rt);it[0]=$e;it[1]=128|rt;for(let Ae=1+rt,Se=qe.length;Se>0;Ae--,Se>>=8)it[Ae]=Se&255;return this._createEncoderBuffer([it,qe])};DERNode.prototype._encodeStr=function encodeStr(Ae,Se){if(Se==="bitstr"){return this._createEncoderBuffer([Ae.unused|0,Ae.data])}else if(Se==="bmpstr"){const Se=Fe.alloc(Ae.length*2);for(let Ce=0;Ce<Ae.length;Ce++){Se.writeUInt16BE(Ae.charCodeAt(Ce),Ce*2)}return this._createEncoderBuffer(Se)}else if(Se==="numstr"){if(!this._isNumstr(Ae)){return this.reporter.error("Encoding of string type: numstr supports "+"only digits and space")}return this._createEncoderBuffer(Ae)}else if(Se==="printstr"){if(!this._isPrintstr(Ae)){return this.reporter.error("Encoding of string type: printstr supports "+"only latin upper and lower case letters, "+"digits, space, apostrophe, left and rigth "+"parenthesis, plus sign, comma, hyphen, "+"dot, slash, colon, equal sign, "+"question mark")}return this._createEncoderBuffer(Ae)}else if(/str$/.test(Se)){return this._createEncoderBuffer(Ae)}else if(Se==="objDesc"){return this._createEncoderBuffer(Ae)}else{return this.reporter.error("Encoding of string type: "+Se+" unsupported")}};DERNode.prototype._encodeObjid=function encodeObjid(Ae,Se,Ce){if(typeof Ae==="string"){if(!Se)return this.reporter.error("string objid given, but no values map found");if(!Se.hasOwnProperty(Ae))return this.reporter.error("objid not found in values map");Ae=Se[Ae].split(/[\s.]+/g);for(let Se=0;Se<Ae.length;Se++)Ae[Se]|=0}else if(Array.isArray(Ae)){Ae=Ae.slice();for(let Se=0;Se<Ae.length;Se++)Ae[Se]|=0}if(!Array.isArray(Ae)){return this.reporter.error("objid() should be either array or string, "+"got: "+JSON.stringify(Ae))}if(!Ce){if(Ae[1]>=40)return this.reporter.error("Second objid identifier OOB");Ae.splice(0,2,Ae[0]*40+Ae[1])}let qe=0;for(let Se=0;Se<Ae.length;Se++){let Ce=Ae[Se];for(qe++;Ce>=128;Ce>>=7)qe++}const $e=Fe.alloc(qe);let rt=$e.length-1;for(let Se=Ae.length-1;Se>=0;Se--){let Ce=Ae[Se];$e[rt--]=Ce&127;while((Ce>>=7)>0)$e[rt--]=128|Ce&127}return this._createEncoderBuffer($e)};function two(Ae){if(Ae<10)return"0"+Ae;else return Ae}DERNode.prototype._encodeTime=function encodeTime(Ae,Se){let Ce;const qe=new Date(Ae);if(Se==="gentime"){Ce=[two(qe.getUTCFullYear()),two(qe.getUTCMonth()+1),two(qe.getUTCDate()),two(qe.getUTCHours()),two(qe.getUTCMinutes()),two(qe.getUTCSeconds()),"Z"].join("")}else if(Se==="utctime"){Ce=[two(qe.getUTCFullYear()%100),two(qe.getUTCMonth()+1),two(qe.getUTCDate()),two(qe.getUTCHours()),two(qe.getUTCMinutes()),two(qe.getUTCSeconds()),"Z"].join("")}else{this.reporter.error("Encoding "+Se+" time is not supported yet")}return this._encodeStr(Ce,"octstr")};DERNode.prototype._encodeNull=function encodeNull(){return this._createEncoderBuffer("")};DERNode.prototype._encodeInt=function encodeInt(Ae,Se){if(typeof Ae==="string"){if(!Se)return this.reporter.error("String int or enum given, but no values map");if(!Se.hasOwnProperty(Ae)){return this.reporter.error("Values map doesn't contain: "+JSON.stringify(Ae))}Ae=Se[Ae]}if(typeof Ae!=="number"&&!Fe.isBuffer(Ae)){const Se=Ae.toArray();if(!Ae.sign&&Se[0]&128){Se.unshift(0)}Ae=Fe.from(Se)}if(Fe.isBuffer(Ae)){let Se=Ae.length;if(Ae.length===0)Se++;const Ce=Fe.alloc(Se);Ae.copy(Ce);if(Ae.length===0)Ce[0]=0;return this._createEncoderBuffer(Ce)}if(Ae<128)return this._createEncoderBuffer(Ae);if(Ae<256)return this._createEncoderBuffer([0,Ae]);let Ce=1;for(let Se=Ae;Se>=256;Se>>=8)Ce++;const qe=new Array(Ce);for(let Se=qe.length-1;Se>=0;Se--){qe[Se]=Ae&255;Ae>>=8}if(qe[0]&128){qe.unshift(0)}return this._createEncoderBuffer(Fe.from(qe))};DERNode.prototype._encodeBool=function encodeBool(Ae){return this._createEncoderBuffer(Ae?255:0)};DERNode.prototype._use=function use(Ae,Se){if(typeof Ae==="function")Ae=Ae(Se);return Ae._getEncoder("der").tree};DERNode.prototype._skipDefault=function skipDefault(Ae,Se,Ce){const qe=this._baseState;let Fe;if(qe["default"]===null)return false;const $e=Ae.join();if(qe.defaultBuffer===undefined)qe.defaultBuffer=this._encodeValue(qe["default"],Se,Ce).join();if($e.length!==qe.defaultBuffer.length)return false;for(Fe=0;Fe<$e.length;Fe++)if($e[Fe]!==qe.defaultBuffer[Fe])return false;return true};function encodeTag(Ae,Se,Ce,qe){let Fe;if(Ae==="seqof")Ae="seq";else if(Ae==="setof")Ae="set";if(rt.tagByName.hasOwnProperty(Ae))Fe=rt.tagByName[Ae];else if(typeof Ae==="number"&&(Ae|0)===Ae)Fe=Ae;else return qe.error("Unknown tag: "+Ae);if(Fe>=31)return qe.error("Multi-octet tag encoding unsupported");if(!Se)Fe|=32;Fe|=rt.tagClassByName[Ce||"universal"]<<6;return Fe}},9083:(Ae,Se,Ce)=>{"use strict";const qe=Se;qe.der=Ce(5769);qe.pem=Ce(279)},279:(Ae,Se,Ce)=>{"use strict";const qe=Ce(4124);const Fe=Ce(5769);function PEMEncoder(Ae){Fe.call(this,Ae);this.enc="pem"}qe(PEMEncoder,Fe);Ae.exports=PEMEncoder;PEMEncoder.prototype.encode=function encode(Ae,Se){const Ce=Fe.prototype.encode.call(this,Ae);const qe=Ce.toString("base64");const $e=["-----BEGIN "+Se.label+"-----"];for(let Ae=0;Ae<qe.length;Ae+=64)$e.push(qe.slice(Ae,Ae+64));$e.push("-----END "+Se.label+"-----");return $e.join("\n")}},6641:function(Ae,Se,Ce){Ae=Ce.nmd(Ae);(function(Ae,Se){"use strict";function assert(Ae,Se){if(!Ae)throw new Error(Se||"Assertion failed")}function inherits(Ae,Se){Ae.super_=Se;var TempCtor=function(){};TempCtor.prototype=Se.prototype;Ae.prototype=new TempCtor;Ae.prototype.constructor=Ae}function BN(Ae,Se,Ce){if(BN.isBN(Ae)){return Ae}this.negative=0;this.words=null;this.length=0;this.red=null;if(Ae!==null){if(Se==="le"||Se==="be"){Ce=Se;Se=10}this._init(Ae||0,Se||10,Ce||"be")}}if(typeof Ae==="object"){Ae.exports=BN}else{Se.BN=BN}BN.BN=BN;BN.wordSize=26;var qe;try{qe=Ce(4300).Buffer}catch(Ae){}BN.isBN=function isBN(Ae){if(Ae instanceof BN){return true}return Ae!==null&&typeof Ae==="object"&&Ae.constructor.wordSize===BN.wordSize&&Array.isArray(Ae.words)};BN.max=function max(Ae,Se){if(Ae.cmp(Se)>0)return Ae;return Se};BN.min=function min(Ae,Se){if(Ae.cmp(Se)<0)return Ae;return Se};BN.prototype._init=function init(Ae,Se,Ce){if(typeof Ae==="number"){return this._initNumber(Ae,Se,Ce)}if(typeof Ae==="object"){return this._initArray(Ae,Se,Ce)}if(Se==="hex"){Se=16}assert(Se===(Se|0)&&Se>=2&&Se<=36);Ae=Ae.toString().replace(/\s+/g,"");var qe=0;if(Ae[0]==="-"){qe++}if(Se===16){this._parseHex(Ae,qe)}else{this._parseBase(Ae,Se,qe)}if(Ae[0]==="-"){this.negative=1}this.strip();if(Ce!=="le")return;this._initArray(this.toArray(),Se,Ce)};BN.prototype._initNumber=function _initNumber(Ae,Se,Ce){if(Ae<0){this.negative=1;Ae=-Ae}if(Ae<67108864){this.words=[Ae&67108863];this.length=1}else if(Ae<4503599627370496){this.words=[Ae&67108863,Ae/67108864&67108863];this.length=2}else{assert(Ae<9007199254740992);this.words=[Ae&67108863,Ae/67108864&67108863,1];this.length=3}if(Ce!=="le")return;this._initArray(this.toArray(),Se,Ce)};BN.prototype._initArray=function _initArray(Ae,Se,Ce){assert(typeof Ae.length==="number");if(Ae.length<=0){this.words=[0];this.length=1;return this}this.length=Math.ceil(Ae.length/3);this.words=new Array(this.length);for(var qe=0;qe<this.length;qe++){this.words[qe]=0}var Fe,$e;var rt=0;if(Ce==="be"){for(qe=Ae.length-1,Fe=0;qe>=0;qe-=3){$e=Ae[qe]|Ae[qe-1]<<8|Ae[qe-2]<<16;this.words[Fe]|=$e<<rt&67108863;this.words[Fe+1]=$e>>>26-rt&67108863;rt+=24;if(rt>=26){rt-=26;Fe++}}}else if(Ce==="le"){for(qe=0,Fe=0;qe<Ae.length;qe+=3){$e=Ae[qe]|Ae[qe+1]<<8|Ae[qe+2]<<16;this.words[Fe]|=$e<<rt&67108863;this.words[Fe+1]=$e>>>26-rt&67108863;rt+=24;if(rt>=26){rt-=26;Fe++}}}return this.strip()};function parseHex(Ae,Se,Ce){var qe=0;var Fe=Math.min(Ae.length,Ce);for(var $e=Se;$e<Fe;$e++){var rt=Ae.charCodeAt($e)-48;qe<<=4;if(rt>=49&&rt<=54){qe|=rt-49+10}else if(rt>=17&&rt<=22){qe|=rt-17+10}else{qe|=rt&15}}return qe}BN.prototype._parseHex=function _parseHex(Ae,Se){this.length=Math.ceil((Ae.length-Se)/6);this.words=new Array(this.length);for(var Ce=0;Ce<this.length;Ce++){this.words[Ce]=0}var qe,Fe;var $e=0;for(Ce=Ae.length-6,qe=0;Ce>=Se;Ce-=6){Fe=parseHex(Ae,Ce,Ce+6);this.words[qe]|=Fe<<$e&67108863;this.words[qe+1]|=Fe>>>26-$e&4194303;$e+=24;if($e>=26){$e-=26;qe++}}if(Ce+6!==Se){Fe=parseHex(Ae,Se,Ce+6);this.words[qe]|=Fe<<$e&67108863;this.words[qe+1]|=Fe>>>26-$e&4194303}this.strip()};function parseBase(Ae,Se,Ce,qe){var Fe=0;var $e=Math.min(Ae.length,Ce);for(var rt=Se;rt<$e;rt++){var it=Ae.charCodeAt(rt)-48;Fe*=qe;if(it>=49){Fe+=it-49+10}else if(it>=17){Fe+=it-17+10}else{Fe+=it}}return Fe}BN.prototype._parseBase=function _parseBase(Ae,Se,Ce){this.words=[0];this.length=1;for(var qe=0,Fe=1;Fe<=67108863;Fe*=Se){qe++}qe--;Fe=Fe/Se|0;var $e=Ae.length-Ce;var rt=$e%qe;var it=Math.min($e,$e-rt)+Ce;var nt=0;for(var st=Ce;st<it;st+=qe){nt=parseBase(Ae,st,st+qe,Se);this.imuln(Fe);if(this.words[0]+nt<67108864){this.words[0]+=nt}else{this._iaddn(nt)}}if(rt!==0){var ut=1;nt=parseBase(Ae,st,Ae.length,Se);for(st=0;st<rt;st++){ut*=Se}this.imuln(ut);if(this.words[0]+nt<67108864){this.words[0]+=nt}else{this._iaddn(nt)}}};BN.prototype.copy=function copy(Ae){Ae.words=new Array(this.length);for(var Se=0;Se<this.length;Se++){Ae.words[Se]=this.words[Se]}Ae.length=this.length;Ae.negative=this.negative;Ae.red=this.red};BN.prototype.clone=function clone(){var Ae=new BN(null);this.copy(Ae);return Ae};BN.prototype._expand=function _expand(Ae){while(this.length<Ae){this.words[this.length++]=0}return this};BN.prototype.strip=function strip(){while(this.length>1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};BN.prototype.inspect=function inspect(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var Fe=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"];var $e=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var rt=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(Ae,Se){Ae=Ae||10;Se=Se|0||1;var Ce;if(Ae===16||Ae==="hex"){Ce="";var qe=0;var it=0;for(var nt=0;nt<this.length;nt++){var st=this.words[nt];var ut=((st<<qe|it)&16777215).toString(16);it=st>>>24-qe&16777215;if(it!==0||nt!==this.length-1){Ce=Fe[6-ut.length]+ut+Ce}else{Ce=ut+Ce}qe+=2;if(qe>=26){qe-=26;nt--}}if(it!==0){Ce=it.toString(16)+Ce}while(Ce.length%Se!==0){Ce="0"+Ce}if(this.negative!==0){Ce="-"+Ce}return Ce}if(Ae===(Ae|0)&&Ae>=2&&Ae<=36){var ht=$e[Ae];var ft=rt[Ae];Ce="";var yt=this.clone();yt.negative=0;while(!yt.isZero()){var mt=yt.modn(ft).toString(Ae);yt=yt.idivn(ft);if(!yt.isZero()){Ce=Fe[ht-mt.length]+mt+Ce}else{Ce=mt+Ce}}if(this.isZero()){Ce="0"+Ce}while(Ce.length%Se!==0){Ce="0"+Ce}if(this.negative!==0){Ce="-"+Ce}return Ce}assert(false,"Base should be between 2 and 36")};BN.prototype.toNumber=function toNumber(){var Ae=this.words[0];if(this.length===2){Ae+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){Ae+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,"Number can only safely store up to 53 bits")}return this.negative!==0?-Ae:Ae};BN.prototype.toJSON=function toJSON(){return this.toString(16)};BN.prototype.toBuffer=function toBuffer(Ae,Se){assert(typeof qe!=="undefined");return this.toArrayLike(qe,Ae,Se)};BN.prototype.toArray=function toArray(Ae,Se){return this.toArrayLike(Array,Ae,Se)};BN.prototype.toArrayLike=function toArrayLike(Ae,Se,Ce){var qe=this.byteLength();var Fe=Ce||Math.max(1,qe);assert(qe<=Fe,"byte array longer than desired length");assert(Fe>0,"Requested array length <= 0");this.strip();var $e=Se==="le";var rt=new Ae(Fe);var it,nt;var st=this.clone();if(!$e){for(nt=0;nt<Fe-qe;nt++){rt[nt]=0}for(nt=0;!st.isZero();nt++){it=st.andln(255);st.iushrn(8);rt[Fe-nt-1]=it}}else{for(nt=0;!st.isZero();nt++){it=st.andln(255);st.iushrn(8);rt[nt]=it}for(;nt<Fe;nt++){rt[nt]=0}}return rt};if(Math.clz32){BN.prototype._countBits=function _countBits(Ae){return 32-Math.clz32(Ae)}}else{BN.prototype._countBits=function _countBits(Ae){var Se=Ae;var Ce=0;if(Se>=4096){Ce+=13;Se>>>=13}if(Se>=64){Ce+=7;Se>>>=7}if(Se>=8){Ce+=4;Se>>>=4}if(Se>=2){Ce+=2;Se>>>=2}return Ce+Se}}BN.prototype._zeroBits=function _zeroBits(Ae){if(Ae===0)return 26;var Se=Ae;var Ce=0;if((Se&8191)===0){Ce+=13;Se>>>=13}if((Se&127)===0){Ce+=7;Se>>>=7}if((Se&15)===0){Ce+=4;Se>>>=4}if((Se&3)===0){Ce+=2;Se>>>=2}if((Se&1)===0){Ce++}return Ce};BN.prototype.bitLength=function bitLength(){var Ae=this.words[this.length-1];var Se=this._countBits(Ae);return(this.length-1)*26+Se};function toBitArray(Ae){var Se=new Array(Ae.bitLength());for(var Ce=0;Ce<Se.length;Ce++){var qe=Ce/26|0;var Fe=Ce%26;Se[Ce]=(Ae.words[qe]&1<<Fe)>>>Fe}return Se}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var Ae=0;for(var Se=0;Se<this.length;Se++){var Ce=this._zeroBits(this.words[Se]);Ae+=Ce;if(Ce!==26)break}return Ae};BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)};BN.prototype.toTwos=function toTwos(Ae){if(this.negative!==0){return this.abs().inotn(Ae).iaddn(1)}return this.clone()};BN.prototype.fromTwos=function fromTwos(Ae){if(this.testn(Ae-1)){return this.notn(Ae).iaddn(1).ineg()}return this.clone()};BN.prototype.isNeg=function isNeg(){return this.negative!==0};BN.prototype.neg=function neg(){return this.clone().ineg()};BN.prototype.ineg=function ineg(){if(!this.isZero()){this.negative^=1}return this};BN.prototype.iuor=function iuor(Ae){while(this.length<Ae.length){this.words[this.length++]=0}for(var Se=0;Se<Ae.length;Se++){this.words[Se]=this.words[Se]|Ae.words[Se]}return this.strip()};BN.prototype.ior=function ior(Ae){assert((this.negative|Ae.negative)===0);return this.iuor(Ae)};BN.prototype.or=function or(Ae){if(this.length>Ae.length)return this.clone().ior(Ae);return Ae.clone().ior(this)};BN.prototype.uor=function uor(Ae){if(this.length>Ae.length)return this.clone().iuor(Ae);return Ae.clone().iuor(this)};BN.prototype.iuand=function iuand(Ae){var Se;if(this.length>Ae.length){Se=Ae}else{Se=this}for(var Ce=0;Ce<Se.length;Ce++){this.words[Ce]=this.words[Ce]&Ae.words[Ce]}this.length=Se.length;return this.strip()};BN.prototype.iand=function iand(Ae){assert((this.negative|Ae.negative)===0);return this.iuand(Ae)};BN.prototype.and=function and(Ae){if(this.length>Ae.length)return this.clone().iand(Ae);return Ae.clone().iand(this)};BN.prototype.uand=function uand(Ae){if(this.length>Ae.length)return this.clone().iuand(Ae);return Ae.clone().iuand(this)};BN.prototype.iuxor=function iuxor(Ae){var Se;var Ce;if(this.length>Ae.length){Se=this;Ce=Ae}else{Se=Ae;Ce=this}for(var qe=0;qe<Ce.length;qe++){this.words[qe]=Se.words[qe]^Ce.words[qe]}if(this!==Se){for(;qe<Se.length;qe++){this.words[qe]=Se.words[qe]}}this.length=Se.length;return this.strip()};BN.prototype.ixor=function ixor(Ae){assert((this.negative|Ae.negative)===0);return this.iuxor(Ae)};BN.prototype.xor=function xor(Ae){if(this.length>Ae.length)return this.clone().ixor(Ae);return Ae.clone().ixor(this)};BN.prototype.uxor=function uxor(Ae){if(this.length>Ae.length)return this.clone().iuxor(Ae);return Ae.clone().iuxor(this)};BN.prototype.inotn=function inotn(Ae){assert(typeof Ae==="number"&&Ae>=0);var Se=Math.ceil(Ae/26)|0;var Ce=Ae%26;this._expand(Se);if(Ce>0){Se--}for(var qe=0;qe<Se;qe++){this.words[qe]=~this.words[qe]&67108863}if(Ce>0){this.words[qe]=~this.words[qe]&67108863>>26-Ce}return this.strip()};BN.prototype.notn=function notn(Ae){return this.clone().inotn(Ae)};BN.prototype.setn=function setn(Ae,Se){assert(typeof Ae==="number"&&Ae>=0);var Ce=Ae/26|0;var qe=Ae%26;this._expand(Ce+1);if(Se){this.words[Ce]=this.words[Ce]|1<<qe}else{this.words[Ce]=this.words[Ce]&~(1<<qe)}return this.strip()};BN.prototype.iadd=function iadd(Ae){var Se;if(this.negative!==0&&Ae.negative===0){this.negative=0;Se=this.isub(Ae);this.negative^=1;return this._normSign()}else if(this.negative===0&&Ae.negative!==0){Ae.negative=0;Se=this.isub(Ae);Ae.negative=1;return Se._normSign()}var Ce,qe;if(this.length>Ae.length){Ce=this;qe=Ae}else{Ce=Ae;qe=this}var Fe=0;for(var $e=0;$e<qe.length;$e++){Se=(Ce.words[$e]|0)+(qe.words[$e]|0)+Fe;this.words[$e]=Se&67108863;Fe=Se>>>26}for(;Fe!==0&&$e<Ce.length;$e++){Se=(Ce.words[$e]|0)+Fe;this.words[$e]=Se&67108863;Fe=Se>>>26}this.length=Ce.length;if(Fe!==0){this.words[this.length]=Fe;this.length++}else if(Ce!==this){for(;$e<Ce.length;$e++){this.words[$e]=Ce.words[$e]}}return this};BN.prototype.add=function add(Ae){var Se;if(Ae.negative!==0&&this.negative===0){Ae.negative=0;Se=this.sub(Ae);Ae.negative^=1;return Se}else if(Ae.negative===0&&this.negative!==0){this.negative=0;Se=Ae.sub(this);this.negative=1;return Se}if(this.length>Ae.length)return this.clone().iadd(Ae);return Ae.clone().iadd(this)};BN.prototype.isub=function isub(Ae){if(Ae.negative!==0){Ae.negative=0;var Se=this.iadd(Ae);Ae.negative=1;return Se._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(Ae);this.negative=1;return this._normSign()}var Ce=this.cmp(Ae);if(Ce===0){this.negative=0;this.length=1;this.words[0]=0;return this}var qe,Fe;if(Ce>0){qe=this;Fe=Ae}else{qe=Ae;Fe=this}var $e=0;for(var rt=0;rt<Fe.length;rt++){Se=(qe.words[rt]|0)-(Fe.words[rt]|0)+$e;$e=Se>>26;this.words[rt]=Se&67108863}for(;$e!==0&&rt<qe.length;rt++){Se=(qe.words[rt]|0)+$e;$e=Se>>26;this.words[rt]=Se&67108863}if($e===0&&rt<qe.length&&qe!==this){for(;rt<qe.length;rt++){this.words[rt]=qe.words[rt]}}this.length=Math.max(this.length,rt);if(qe!==this){this.negative=1}return this.strip()};BN.prototype.sub=function sub(Ae){return this.clone().isub(Ae)};function smallMulTo(Ae,Se,Ce){Ce.negative=Se.negative^Ae.negative;var qe=Ae.length+Se.length|0;Ce.length=qe;qe=qe-1|0;var Fe=Ae.words[0]|0;var $e=Se.words[0]|0;var rt=Fe*$e;var it=rt&67108863;var nt=rt/67108864|0;Ce.words[0]=it;for(var st=1;st<qe;st++){var ut=nt>>>26;var ht=nt&67108863;var ft=Math.min(st,Se.length-1);for(var yt=Math.max(0,st-Ae.length+1);yt<=ft;yt++){var mt=st-yt|0;Fe=Ae.words[mt]|0;$e=Se.words[yt]|0;rt=Fe*$e+ht;ut+=rt/67108864|0;ht=rt&67108863}Ce.words[st]=ht|0;nt=ut|0}if(nt!==0){Ce.words[st]=nt|0}else{Ce.length--}return Ce.strip()}var it=function comb10MulTo(Ae,Se,Ce){var qe=Ae.words;var Fe=Se.words;var $e=Ce.words;var rt=0;var it;var nt;var st;var ut=qe[0]|0;var ht=ut&8191;var ft=ut>>>13;var yt=qe[1]|0;var mt=yt&8191;var vt=yt>>>13;var _t=qe[2]|0;var Ct=_t&8191;var Rt=_t>>>13;var Ut=qe[3]|0;var It=Ut&8191;var Ot=Ut>>>13;var Nt=qe[4]|0;var jt=Nt&8191;var Ft=Nt>>>13;var Lt=qe[5]|0;var Ht=Lt&8191;var Wt=Lt>>>13;var Gt=qe[6]|0;var $t=Gt&8191;var Vt=Gt>>>13;var Zt=qe[7]|0;var Qt=Zt&8191;var Xt=Zt>>>13;var er=qe[8]|0;var tr=er&8191;var rr=er>>>13;var ir=qe[9]|0;var nr=ir&8191;var sr=ir>>>13;var ar=Fe[0]|0;var cr=ar&8191;var ur=ar>>>13;var hr=Fe[1]|0;var lr=hr&8191;var dr=hr>>>13;var fr=Fe[2]|0;var yr=fr&8191;var Cr=fr>>>13;var Dr=Fe[3]|0;var Rr=Dr&8191;var Kr=Dr>>>13;var Tr=Fe[4]|0;var Ur=Tr&8191;var Ir=Tr>>>13;var Or=Fe[5]|0;var Nr=Or&8191;var jr=Or>>>13;var Lr=Fe[6]|0;var Wr=Lr&8191;var Qr=Lr>>>13;var ti=Fe[7]|0;var ri=ti&8191;var ii=ti>>>13;var oi=Fe[8]|0;var ci=oi&8191;var li=oi>>>13;var di=Fe[9]|0;var fi=di&8191;var pi=di>>>13;Ce.negative=Ae.negative^Se.negative;Ce.length=19;it=Math.imul(ht,cr);nt=Math.imul(ht,ur);nt=nt+Math.imul(ft,cr)|0;st=Math.imul(ft,ur);var yi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(yi>>>26)|0;yi&=67108863;it=Math.imul(mt,cr);nt=Math.imul(mt,ur);nt=nt+Math.imul(vt,cr)|0;st=Math.imul(vt,ur);it=it+Math.imul(ht,lr)|0;nt=nt+Math.imul(ht,dr)|0;nt=nt+Math.imul(ft,lr)|0;st=st+Math.imul(ft,dr)|0;var gi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(gi>>>26)|0;gi&=67108863;it=Math.imul(Ct,cr);nt=Math.imul(Ct,ur);nt=nt+Math.imul(Rt,cr)|0;st=Math.imul(Rt,ur);it=it+Math.imul(mt,lr)|0;nt=nt+Math.imul(mt,dr)|0;nt=nt+Math.imul(vt,lr)|0;st=st+Math.imul(vt,dr)|0;it=it+Math.imul(ht,yr)|0;nt=nt+Math.imul(ht,Cr)|0;nt=nt+Math.imul(ft,yr)|0;st=st+Math.imul(ft,Cr)|0;var vi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(vi>>>26)|0;vi&=67108863;it=Math.imul(It,cr);nt=Math.imul(It,ur);nt=nt+Math.imul(Ot,cr)|0;st=Math.imul(Ot,ur);it=it+Math.imul(Ct,lr)|0;nt=nt+Math.imul(Ct,dr)|0;nt=nt+Math.imul(Rt,lr)|0;st=st+Math.imul(Rt,dr)|0;it=it+Math.imul(mt,yr)|0;nt=nt+Math.imul(mt,Cr)|0;nt=nt+Math.imul(vt,yr)|0;st=st+Math.imul(vt,Cr)|0;it=it+Math.imul(ht,Rr)|0;nt=nt+Math.imul(ht,Kr)|0;nt=nt+Math.imul(ft,Rr)|0;st=st+Math.imul(ft,Kr)|0;var wi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(wi>>>26)|0;wi&=67108863;it=Math.imul(jt,cr);nt=Math.imul(jt,ur);nt=nt+Math.imul(Ft,cr)|0;st=Math.imul(Ft,ur);it=it+Math.imul(It,lr)|0;nt=nt+Math.imul(It,dr)|0;nt=nt+Math.imul(Ot,lr)|0;st=st+Math.imul(Ot,dr)|0;it=it+Math.imul(Ct,yr)|0;nt=nt+Math.imul(Ct,Cr)|0;nt=nt+Math.imul(Rt,yr)|0;st=st+Math.imul(Rt,Cr)|0;it=it+Math.imul(mt,Rr)|0;nt=nt+Math.imul(mt,Kr)|0;nt=nt+Math.imul(vt,Rr)|0;st=st+Math.imul(vt,Kr)|0;it=it+Math.imul(ht,Ur)|0;nt=nt+Math.imul(ht,Ir)|0;nt=nt+Math.imul(ft,Ur)|0;st=st+Math.imul(ft,Ir)|0;var ki=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(ki>>>26)|0;ki&=67108863;it=Math.imul(Ht,cr);nt=Math.imul(Ht,ur);nt=nt+Math.imul(Wt,cr)|0;st=Math.imul(Wt,ur);it=it+Math.imul(jt,lr)|0;nt=nt+Math.imul(jt,dr)|0;nt=nt+Math.imul(Ft,lr)|0;st=st+Math.imul(Ft,dr)|0;it=it+Math.imul(It,yr)|0;nt=nt+Math.imul(It,Cr)|0;nt=nt+Math.imul(Ot,yr)|0;st=st+Math.imul(Ot,Cr)|0;it=it+Math.imul(Ct,Rr)|0;nt=nt+Math.imul(Ct,Kr)|0;nt=nt+Math.imul(Rt,Rr)|0;st=st+Math.imul(Rt,Kr)|0;it=it+Math.imul(mt,Ur)|0;nt=nt+Math.imul(mt,Ir)|0;nt=nt+Math.imul(vt,Ur)|0;st=st+Math.imul(vt,Ir)|0;it=it+Math.imul(ht,Nr)|0;nt=nt+Math.imul(ht,jr)|0;nt=nt+Math.imul(ft,Nr)|0;st=st+Math.imul(ft,jr)|0;var Si=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Si>>>26)|0;Si&=67108863;it=Math.imul($t,cr);nt=Math.imul($t,ur);nt=nt+Math.imul(Vt,cr)|0;st=Math.imul(Vt,ur);it=it+Math.imul(Ht,lr)|0;nt=nt+Math.imul(Ht,dr)|0;nt=nt+Math.imul(Wt,lr)|0;st=st+Math.imul(Wt,dr)|0;it=it+Math.imul(jt,yr)|0;nt=nt+Math.imul(jt,Cr)|0;nt=nt+Math.imul(Ft,yr)|0;st=st+Math.imul(Ft,Cr)|0;it=it+Math.imul(It,Rr)|0;nt=nt+Math.imul(It,Kr)|0;nt=nt+Math.imul(Ot,Rr)|0;st=st+Math.imul(Ot,Kr)|0;it=it+Math.imul(Ct,Ur)|0;nt=nt+Math.imul(Ct,Ir)|0;nt=nt+Math.imul(Rt,Ur)|0;st=st+Math.imul(Rt,Ir)|0;it=it+Math.imul(mt,Nr)|0;nt=nt+Math.imul(mt,jr)|0;nt=nt+Math.imul(vt,Nr)|0;st=st+Math.imul(vt,jr)|0;it=it+Math.imul(ht,Wr)|0;nt=nt+Math.imul(ht,Qr)|0;nt=nt+Math.imul(ft,Wr)|0;st=st+Math.imul(ft,Qr)|0;var Ei=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Ei>>>26)|0;Ei&=67108863;it=Math.imul(Qt,cr);nt=Math.imul(Qt,ur);nt=nt+Math.imul(Xt,cr)|0;st=Math.imul(Xt,ur);it=it+Math.imul($t,lr)|0;nt=nt+Math.imul($t,dr)|0;nt=nt+Math.imul(Vt,lr)|0;st=st+Math.imul(Vt,dr)|0;it=it+Math.imul(Ht,yr)|0;nt=nt+Math.imul(Ht,Cr)|0;nt=nt+Math.imul(Wt,yr)|0;st=st+Math.imul(Wt,Cr)|0;it=it+Math.imul(jt,Rr)|0;nt=nt+Math.imul(jt,Kr)|0;nt=nt+Math.imul(Ft,Rr)|0;st=st+Math.imul(Ft,Kr)|0;it=it+Math.imul(It,Ur)|0;nt=nt+Math.imul(It,Ir)|0;nt=nt+Math.imul(Ot,Ur)|0;st=st+Math.imul(Ot,Ir)|0;it=it+Math.imul(Ct,Nr)|0;nt=nt+Math.imul(Ct,jr)|0;nt=nt+Math.imul(Rt,Nr)|0;st=st+Math.imul(Rt,jr)|0;it=it+Math.imul(mt,Wr)|0;nt=nt+Math.imul(mt,Qr)|0;nt=nt+Math.imul(vt,Wr)|0;st=st+Math.imul(vt,Qr)|0;it=it+Math.imul(ht,ri)|0;nt=nt+Math.imul(ht,ii)|0;nt=nt+Math.imul(ft,ri)|0;st=st+Math.imul(ft,ii)|0;var Mi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Mi>>>26)|0;Mi&=67108863;it=Math.imul(tr,cr);nt=Math.imul(tr,ur);nt=nt+Math.imul(rr,cr)|0;st=Math.imul(rr,ur);it=it+Math.imul(Qt,lr)|0;nt=nt+Math.imul(Qt,dr)|0;nt=nt+Math.imul(Xt,lr)|0;st=st+Math.imul(Xt,dr)|0;it=it+Math.imul($t,yr)|0;nt=nt+Math.imul($t,Cr)|0;nt=nt+Math.imul(Vt,yr)|0;st=st+Math.imul(Vt,Cr)|0;it=it+Math.imul(Ht,Rr)|0;nt=nt+Math.imul(Ht,Kr)|0;nt=nt+Math.imul(Wt,Rr)|0;st=st+Math.imul(Wt,Kr)|0;it=it+Math.imul(jt,Ur)|0;nt=nt+Math.imul(jt,Ir)|0;nt=nt+Math.imul(Ft,Ur)|0;st=st+Math.imul(Ft,Ir)|0;it=it+Math.imul(It,Nr)|0;nt=nt+Math.imul(It,jr)|0;nt=nt+Math.imul(Ot,Nr)|0;st=st+Math.imul(Ot,jr)|0;it=it+Math.imul(Ct,Wr)|0;nt=nt+Math.imul(Ct,Qr)|0;nt=nt+Math.imul(Rt,Wr)|0;st=st+Math.imul(Rt,Qr)|0;it=it+Math.imul(mt,ri)|0;nt=nt+Math.imul(mt,ii)|0;nt=nt+Math.imul(vt,ri)|0;st=st+Math.imul(vt,ii)|0;it=it+Math.imul(ht,ci)|0;nt=nt+Math.imul(ht,li)|0;nt=nt+Math.imul(ft,ci)|0;st=st+Math.imul(ft,li)|0;var Pi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Pi>>>26)|0;Pi&=67108863;it=Math.imul(nr,cr);nt=Math.imul(nr,ur);nt=nt+Math.imul(sr,cr)|0;st=Math.imul(sr,ur);it=it+Math.imul(tr,lr)|0;nt=nt+Math.imul(tr,dr)|0;nt=nt+Math.imul(rr,lr)|0;st=st+Math.imul(rr,dr)|0;it=it+Math.imul(Qt,yr)|0;nt=nt+Math.imul(Qt,Cr)|0;nt=nt+Math.imul(Xt,yr)|0;st=st+Math.imul(Xt,Cr)|0;it=it+Math.imul($t,Rr)|0;nt=nt+Math.imul($t,Kr)|0;nt=nt+Math.imul(Vt,Rr)|0;st=st+Math.imul(Vt,Kr)|0;it=it+Math.imul(Ht,Ur)|0;nt=nt+Math.imul(Ht,Ir)|0;nt=nt+Math.imul(Wt,Ur)|0;st=st+Math.imul(Wt,Ir)|0;it=it+Math.imul(jt,Nr)|0;nt=nt+Math.imul(jt,jr)|0;nt=nt+Math.imul(Ft,Nr)|0;st=st+Math.imul(Ft,jr)|0;it=it+Math.imul(It,Wr)|0;nt=nt+Math.imul(It,Qr)|0;nt=nt+Math.imul(Ot,Wr)|0;st=st+Math.imul(Ot,Qr)|0;it=it+Math.imul(Ct,ri)|0;nt=nt+Math.imul(Ct,ii)|0;nt=nt+Math.imul(Rt,ri)|0;st=st+Math.imul(Rt,ii)|0;it=it+Math.imul(mt,ci)|0;nt=nt+Math.imul(mt,li)|0;nt=nt+Math.imul(vt,ci)|0;st=st+Math.imul(vt,li)|0;it=it+Math.imul(ht,fi)|0;nt=nt+Math.imul(ht,pi)|0;nt=nt+Math.imul(ft,fi)|0;st=st+Math.imul(ft,pi)|0;var xi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(xi>>>26)|0;xi&=67108863;it=Math.imul(nr,lr);nt=Math.imul(nr,dr);nt=nt+Math.imul(sr,lr)|0;st=Math.imul(sr,dr);it=it+Math.imul(tr,yr)|0;nt=nt+Math.imul(tr,Cr)|0;nt=nt+Math.imul(rr,yr)|0;st=st+Math.imul(rr,Cr)|0;it=it+Math.imul(Qt,Rr)|0;nt=nt+Math.imul(Qt,Kr)|0;nt=nt+Math.imul(Xt,Rr)|0;st=st+Math.imul(Xt,Kr)|0;it=it+Math.imul($t,Ur)|0;nt=nt+Math.imul($t,Ir)|0;nt=nt+Math.imul(Vt,Ur)|0;st=st+Math.imul(Vt,Ir)|0;it=it+Math.imul(Ht,Nr)|0;nt=nt+Math.imul(Ht,jr)|0;nt=nt+Math.imul(Wt,Nr)|0;st=st+Math.imul(Wt,jr)|0;it=it+Math.imul(jt,Wr)|0;nt=nt+Math.imul(jt,Qr)|0;nt=nt+Math.imul(Ft,Wr)|0;st=st+Math.imul(Ft,Qr)|0;it=it+Math.imul(It,ri)|0;nt=nt+Math.imul(It,ii)|0;nt=nt+Math.imul(Ot,ri)|0;st=st+Math.imul(Ot,ii)|0;it=it+Math.imul(Ct,ci)|0;nt=nt+Math.imul(Ct,li)|0;nt=nt+Math.imul(Rt,ci)|0;st=st+Math.imul(Rt,li)|0;it=it+Math.imul(mt,fi)|0;nt=nt+Math.imul(mt,pi)|0;nt=nt+Math.imul(vt,fi)|0;st=st+Math.imul(vt,pi)|0;var Ci=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Ci>>>26)|0;Ci&=67108863;it=Math.imul(nr,yr);nt=Math.imul(nr,Cr);nt=nt+Math.imul(sr,yr)|0;st=Math.imul(sr,Cr);it=it+Math.imul(tr,Rr)|0;nt=nt+Math.imul(tr,Kr)|0;nt=nt+Math.imul(rr,Rr)|0;st=st+Math.imul(rr,Kr)|0;it=it+Math.imul(Qt,Ur)|0;nt=nt+Math.imul(Qt,Ir)|0;nt=nt+Math.imul(Xt,Ur)|0;st=st+Math.imul(Xt,Ir)|0;it=it+Math.imul($t,Nr)|0;nt=nt+Math.imul($t,jr)|0;nt=nt+Math.imul(Vt,Nr)|0;st=st+Math.imul(Vt,jr)|0;it=it+Math.imul(Ht,Wr)|0;nt=nt+Math.imul(Ht,Qr)|0;nt=nt+Math.imul(Wt,Wr)|0;st=st+Math.imul(Wt,Qr)|0;it=it+Math.imul(jt,ri)|0;nt=nt+Math.imul(jt,ii)|0;nt=nt+Math.imul(Ft,ri)|0;st=st+Math.imul(Ft,ii)|0;it=it+Math.imul(It,ci)|0;nt=nt+Math.imul(It,li)|0;nt=nt+Math.imul(Ot,ci)|0;st=st+Math.imul(Ot,li)|0;it=it+Math.imul(Ct,fi)|0;nt=nt+Math.imul(Ct,pi)|0;nt=nt+Math.imul(Rt,fi)|0;st=st+Math.imul(Rt,pi)|0;var Di=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Di>>>26)|0;Di&=67108863;it=Math.imul(nr,Rr);nt=Math.imul(nr,Kr);nt=nt+Math.imul(sr,Rr)|0;st=Math.imul(sr,Kr);it=it+Math.imul(tr,Ur)|0;nt=nt+Math.imul(tr,Ir)|0;nt=nt+Math.imul(rr,Ur)|0;st=st+Math.imul(rr,Ir)|0;it=it+Math.imul(Qt,Nr)|0;nt=nt+Math.imul(Qt,jr)|0;nt=nt+Math.imul(Xt,Nr)|0;st=st+Math.imul(Xt,jr)|0;it=it+Math.imul($t,Wr)|0;nt=nt+Math.imul($t,Qr)|0;nt=nt+Math.imul(Vt,Wr)|0;st=st+Math.imul(Vt,Qr)|0;it=it+Math.imul(Ht,ri)|0;nt=nt+Math.imul(Ht,ii)|0;nt=nt+Math.imul(Wt,ri)|0;st=st+Math.imul(Wt,ii)|0;it=it+Math.imul(jt,ci)|0;nt=nt+Math.imul(jt,li)|0;nt=nt+Math.imul(Ft,ci)|0;st=st+Math.imul(Ft,li)|0;it=it+Math.imul(It,fi)|0;nt=nt+Math.imul(It,pi)|0;nt=nt+Math.imul(Ot,fi)|0;st=st+Math.imul(Ot,pi)|0;var Ki=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Ki>>>26)|0;Ki&=67108863;it=Math.imul(nr,Ur);nt=Math.imul(nr,Ir);nt=nt+Math.imul(sr,Ur)|0;st=Math.imul(sr,Ir);it=it+Math.imul(tr,Nr)|0;nt=nt+Math.imul(tr,jr)|0;nt=nt+Math.imul(rr,Nr)|0;st=st+Math.imul(rr,jr)|0;it=it+Math.imul(Qt,Wr)|0;nt=nt+Math.imul(Qt,Qr)|0;nt=nt+Math.imul(Xt,Wr)|0;st=st+Math.imul(Xt,Qr)|0;it=it+Math.imul($t,ri)|0;nt=nt+Math.imul($t,ii)|0;nt=nt+Math.imul(Vt,ri)|0;st=st+Math.imul(Vt,ii)|0;it=it+Math.imul(Ht,ci)|0;nt=nt+Math.imul(Ht,li)|0;nt=nt+Math.imul(Wt,ci)|0;st=st+Math.imul(Wt,li)|0;it=it+Math.imul(jt,fi)|0;nt=nt+Math.imul(jt,pi)|0;nt=nt+Math.imul(Ft,fi)|0;st=st+Math.imul(Ft,pi)|0;var Ti=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Ti>>>26)|0;Ti&=67108863;it=Math.imul(nr,Nr);nt=Math.imul(nr,jr);nt=nt+Math.imul(sr,Nr)|0;st=Math.imul(sr,jr);it=it+Math.imul(tr,Wr)|0;nt=nt+Math.imul(tr,Qr)|0;nt=nt+Math.imul(rr,Wr)|0;st=st+Math.imul(rr,Qr)|0;it=it+Math.imul(Qt,ri)|0;nt=nt+Math.imul(Qt,ii)|0;nt=nt+Math.imul(Xt,ri)|0;st=st+Math.imul(Xt,ii)|0;it=it+Math.imul($t,ci)|0;nt=nt+Math.imul($t,li)|0;nt=nt+Math.imul(Vt,ci)|0;st=st+Math.imul(Vt,li)|0;it=it+Math.imul(Ht,fi)|0;nt=nt+Math.imul(Ht,pi)|0;nt=nt+Math.imul(Wt,fi)|0;st=st+Math.imul(Wt,pi)|0;var Ui=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Ui>>>26)|0;Ui&=67108863;it=Math.imul(nr,Wr);nt=Math.imul(nr,Qr);nt=nt+Math.imul(sr,Wr)|0;st=Math.imul(sr,Qr);it=it+Math.imul(tr,ri)|0;nt=nt+Math.imul(tr,ii)|0;nt=nt+Math.imul(rr,ri)|0;st=st+Math.imul(rr,ii)|0;it=it+Math.imul(Qt,ci)|0;nt=nt+Math.imul(Qt,li)|0;nt=nt+Math.imul(Xt,ci)|0;st=st+Math.imul(Xt,li)|0;it=it+Math.imul($t,fi)|0;nt=nt+Math.imul($t,pi)|0;nt=nt+Math.imul(Vt,fi)|0;st=st+Math.imul(Vt,pi)|0;var Ni=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(Ni>>>26)|0;Ni&=67108863;it=Math.imul(nr,ri);nt=Math.imul(nr,ii);nt=nt+Math.imul(sr,ri)|0;st=Math.imul(sr,ii);it=it+Math.imul(tr,ci)|0;nt=nt+Math.imul(tr,li)|0;nt=nt+Math.imul(rr,ci)|0;st=st+Math.imul(rr,li)|0;it=it+Math.imul(Qt,fi)|0;nt=nt+Math.imul(Qt,pi)|0;nt=nt+Math.imul(Xt,fi)|0;st=st+Math.imul(Xt,pi)|0;var ji=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(ji>>>26)|0;ji&=67108863;it=Math.imul(nr,ci);nt=Math.imul(nr,li);nt=nt+Math.imul(sr,ci)|0;st=Math.imul(sr,li);it=it+Math.imul(tr,fi)|0;nt=nt+Math.imul(tr,pi)|0;nt=nt+Math.imul(rr,fi)|0;st=st+Math.imul(rr,pi)|0;var qi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(qi>>>26)|0;qi&=67108863;it=Math.imul(nr,fi);nt=Math.imul(nr,pi);nt=nt+Math.imul(sr,fi)|0;st=Math.imul(sr,pi);var zi=(rt+it|0)+((nt&8191)<<13)|0;rt=(st+(nt>>>13)|0)+(zi>>>26)|0;zi&=67108863;$e[0]=yi;$e[1]=gi;$e[2]=vi;$e[3]=wi;$e[4]=ki;$e[5]=Si;$e[6]=Ei;$e[7]=Mi;$e[8]=Pi;$e[9]=xi;$e[10]=Ci;$e[11]=Di;$e[12]=Ki;$e[13]=Ti;$e[14]=Ui;$e[15]=Ni;$e[16]=ji;$e[17]=qi;$e[18]=zi;if(rt!==0){$e[19]=rt;Ce.length++}return Ce};if(!Math.imul){it=smallMulTo}function bigMulTo(Ae,Se,Ce){Ce.negative=Se.negative^Ae.negative;Ce.length=Ae.length+Se.length;var qe=0;var Fe=0;for(var $e=0;$e<Ce.length-1;$e++){var rt=Fe;Fe=0;var it=qe&67108863;var nt=Math.min($e,Se.length-1);for(var st=Math.max(0,$e-Ae.length+1);st<=nt;st++){var ut=$e-st;var ht=Ae.words[ut]|0;var ft=Se.words[st]|0;var yt=ht*ft;var mt=yt&67108863;rt=rt+(yt/67108864|0)|0;mt=mt+it|0;it=mt&67108863;rt=rt+(mt>>>26)|0;Fe+=rt>>>26;rt&=67108863}Ce.words[$e]=it;qe=rt;rt=Fe}if(qe!==0){Ce.words[$e]=qe}else{Ce.length--}return Ce.strip()}function jumboMulTo(Ae,Se,Ce){var qe=new FFTM;return qe.mulp(Ae,Se,Ce)}BN.prototype.mulTo=function mulTo(Ae,Se){var Ce;var qe=this.length+Ae.length;if(this.length===10&&Ae.length===10){Ce=it(this,Ae,Se)}else if(qe<63){Ce=smallMulTo(this,Ae,Se)}else if(qe<1024){Ce=bigMulTo(this,Ae,Se)}else{Ce=jumboMulTo(this,Ae,Se)}return Ce};function FFTM(Ae,Se){this.x=Ae;this.y=Se}FFTM.prototype.makeRBT=function makeRBT(Ae){var Se=new Array(Ae);var Ce=BN.prototype._countBits(Ae)-1;for(var qe=0;qe<Ae;qe++){Se[qe]=this.revBin(qe,Ce,Ae)}return Se};FFTM.prototype.revBin=function revBin(Ae,Se,Ce){if(Ae===0||Ae===Ce-1)return Ae;var qe=0;for(var Fe=0;Fe<Se;Fe++){qe|=(Ae&1)<<Se-Fe-1;Ae>>=1}return qe};FFTM.prototype.permute=function permute(Ae,Se,Ce,qe,Fe,$e){for(var rt=0;rt<$e;rt++){qe[rt]=Se[Ae[rt]];Fe[rt]=Ce[Ae[rt]]}};FFTM.prototype.transform=function transform(Ae,Se,Ce,qe,Fe,$e){this.permute($e,Ae,Se,Ce,qe,Fe);for(var rt=1;rt<Fe;rt<<=1){var it=rt<<1;var nt=Math.cos(2*Math.PI/it);var st=Math.sin(2*Math.PI/it);for(var ut=0;ut<Fe;ut+=it){var ht=nt;var ft=st;for(var yt=0;yt<rt;yt++){var mt=Ce[ut+yt];var vt=qe[ut+yt];var _t=Ce[ut+yt+rt];var Ct=qe[ut+yt+rt];var Rt=ht*_t-ft*Ct;Ct=ht*Ct+ft*_t;_t=Rt;Ce[ut+yt]=mt+_t;qe[ut+yt]=vt+Ct;Ce[ut+yt+rt]=mt-_t;qe[ut+yt+rt]=vt-Ct;if(yt!==it){Rt=nt*ht-st*ft;ft=nt*ft+st*ht;ht=Rt}}}}};FFTM.prototype.guessLen13b=function guessLen13b(Ae,Se){var Ce=Math.max(Se,Ae)|1;var qe=Ce&1;var Fe=0;for(Ce=Ce/2|0;Ce;Ce=Ce>>>1){Fe++}return 1<<Fe+1+qe};FFTM.prototype.conjugate=function conjugate(Ae,Se,Ce){if(Ce<=1)return;for(var qe=0;qe<Ce/2;qe++){var Fe=Ae[qe];Ae[qe]=Ae[Ce-qe-1];Ae[Ce-qe-1]=Fe;Fe=Se[qe];Se[qe]=-Se[Ce-qe-1];Se[Ce-qe-1]=-Fe}};FFTM.prototype.normalize13b=function normalize13b(Ae,Se){var Ce=0;for(var qe=0;qe<Se/2;qe++){var Fe=Math.round(Ae[2*qe+1]/Se)*8192+Math.round(Ae[2*qe]/Se)+Ce;Ae[qe]=Fe&67108863;if(Fe<67108864){Ce=0}else{Ce=Fe/67108864|0}}return Ae};FFTM.prototype.convert13b=function convert13b(Ae,Se,Ce,qe){var Fe=0;for(var $e=0;$e<Se;$e++){Fe=Fe+(Ae[$e]|0);Ce[2*$e]=Fe&8191;Fe=Fe>>>13;Ce[2*$e+1]=Fe&8191;Fe=Fe>>>13}for($e=2*Se;$e<qe;++$e){Ce[$e]=0}assert(Fe===0);assert((Fe&~8191)===0)};FFTM.prototype.stub=function stub(Ae){var Se=new Array(Ae);for(var Ce=0;Ce<Ae;Ce++){Se[Ce]=0}return Se};FFTM.prototype.mulp=function mulp(Ae,Se,Ce){var qe=2*this.guessLen13b(Ae.length,Se.length);var Fe=this.makeRBT(qe);var $e=this.stub(qe);var rt=new Array(qe);var it=new Array(qe);var nt=new Array(qe);var st=new Array(qe);var ut=new Array(qe);var ht=new Array(qe);var ft=Ce.words;ft.length=qe;this.convert13b(Ae.words,Ae.length,rt,qe);this.convert13b(Se.words,Se.length,st,qe);this.transform(rt,$e,it,nt,qe,Fe);this.transform(st,$e,ut,ht,qe,Fe);for(var yt=0;yt<qe;yt++){var mt=it[yt]*ut[yt]-nt[yt]*ht[yt];nt[yt]=it[yt]*ht[yt]+nt[yt]*ut[yt];it[yt]=mt}this.conjugate(it,nt,qe);this.transform(it,nt,ft,$e,qe,Fe);this.conjugate(ft,$e,qe);this.normalize13b(ft,qe);Ce.negative=Ae.negative^Se.negative;Ce.length=Ae.length+Se.length;return Ce.strip()};BN.prototype.mul=function mul(Ae){var Se=new BN(null);Se.words=new Array(this.length+Ae.length);return this.mulTo(Ae,Se)};BN.prototype.mulf=function mulf(Ae){var Se=new BN(null);Se.words=new Array(this.length+Ae.length);return jumboMulTo(this,Ae,Se)};BN.prototype.imul=function imul(Ae){return this.clone().mulTo(Ae,this)};BN.prototype.imuln=function imuln(Ae){assert(typeof Ae==="number");assert(Ae<67108864);var Se=0;for(var Ce=0;Ce<this.length;Ce++){var qe=(this.words[Ce]|0)*Ae;var Fe=(qe&67108863)+(Se&67108863);Se>>=26;Se+=qe/67108864|0;Se+=Fe>>>26;this.words[Ce]=Fe&67108863}if(Se!==0){this.words[Ce]=Se;this.length++}return this};BN.prototype.muln=function muln(Ae){return this.clone().imuln(Ae)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(Ae){var Se=toBitArray(Ae);if(Se.length===0)return new BN(1);var Ce=this;for(var qe=0;qe<Se.length;qe++,Ce=Ce.sqr()){if(Se[qe]!==0)break}if(++qe<Se.length){for(var Fe=Ce.sqr();qe<Se.length;qe++,Fe=Fe.sqr()){if(Se[qe]===0)continue;Ce=Ce.mul(Fe)}}return Ce};BN.prototype.iushln=function iushln(Ae){assert(typeof Ae==="number"&&Ae>=0);var Se=Ae%26;var Ce=(Ae-Se)/26;var qe=67108863>>>26-Se<<26-Se;var Fe;if(Se!==0){var $e=0;for(Fe=0;Fe<this.length;Fe++){var rt=this.words[Fe]&qe;var it=(this.words[Fe]|0)-rt<<Se;this.words[Fe]=it|$e;$e=rt>>>26-Se}if($e){this.words[Fe]=$e;this.length++}}if(Ce!==0){for(Fe=this.length-1;Fe>=0;Fe--){this.words[Fe+Ce]=this.words[Fe]}for(Fe=0;Fe<Ce;Fe++){this.words[Fe]=0}this.length+=Ce}return this.strip()};BN.prototype.ishln=function ishln(Ae){assert(this.negative===0);return this.iushln(Ae)};BN.prototype.iushrn=function iushrn(Ae,Se,Ce){assert(typeof Ae==="number"&&Ae>=0);var qe;if(Se){qe=(Se-Se%26)/26}else{qe=0}var Fe=Ae%26;var $e=Math.min((Ae-Fe)/26,this.length);var rt=67108863^67108863>>>Fe<<Fe;var it=Ce;qe-=$e;qe=Math.max(0,qe);if(it){for(var nt=0;nt<$e;nt++){it.words[nt]=this.words[nt]}it.length=$e}if($e===0){}else if(this.length>$e){this.length-=$e;for(nt=0;nt<this.length;nt++){this.words[nt]=this.words[nt+$e]}}else{this.words[0]=0;this.length=1}var st=0;for(nt=this.length-1;nt>=0&&(st!==0||nt>=qe);nt--){var ut=this.words[nt]|0;this.words[nt]=st<<26-Fe|ut>>>Fe;st=ut&rt}if(it&&st!==0){it.words[it.length++]=st}if(this.length===0){this.words[0]=0;this.length=1}return this.strip()};BN.prototype.ishrn=function ishrn(Ae,Se,Ce){assert(this.negative===0);return this.iushrn(Ae,Se,Ce)};BN.prototype.shln=function shln(Ae){return this.clone().ishln(Ae)};BN.prototype.ushln=function ushln(Ae){return this.clone().iushln(Ae)};BN.prototype.shrn=function shrn(Ae){return this.clone().ishrn(Ae)};BN.prototype.ushrn=function ushrn(Ae){return this.clone().iushrn(Ae)};BN.prototype.testn=function testn(Ae){assert(typeof Ae==="number"&&Ae>=0);var Se=Ae%26;var Ce=(Ae-Se)/26;var qe=1<<Se;if(this.length<=Ce)return false;var Fe=this.words[Ce];return!!(Fe&qe)};BN.prototype.imaskn=function imaskn(Ae){assert(typeof Ae==="number"&&Ae>=0);var Se=Ae%26;var Ce=(Ae-Se)/26;assert(this.negative===0,"imaskn works only with positive numbers");if(this.length<=Ce){return this}if(Se!==0){Ce++}this.length=Math.min(Ce,this.length);if(Se!==0){var qe=67108863^67108863>>>Se<<Se;this.words[this.length-1]&=qe}return this.strip()};BN.prototype.maskn=function maskn(Ae){return this.clone().imaskn(Ae)};BN.prototype.iaddn=function iaddn(Ae){assert(typeof Ae==="number");assert(Ae<67108864);if(Ae<0)return this.isubn(-Ae);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<Ae){this.words[0]=Ae-(this.words[0]|0);this.negative=0;return this}this.negative=0;this.isubn(Ae);this.negative=1;return this}return this._iaddn(Ae)};BN.prototype._iaddn=function _iaddn(Ae){this.words[0]+=Ae;for(var Se=0;Se<this.length&&this.words[Se]>=67108864;Se++){this.words[Se]-=67108864;if(Se===this.length-1){this.words[Se+1]=1}else{this.words[Se+1]++}}this.length=Math.max(this.length,Se+1);return this};BN.prototype.isubn=function isubn(Ae){assert(typeof Ae==="number");assert(Ae<67108864);if(Ae<0)return this.iaddn(-Ae);if(this.negative!==0){this.negative=0;this.iaddn(Ae);this.negative=1;return this}this.words[0]-=Ae;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var Se=0;Se<this.length&&this.words[Se]<0;Se++){this.words[Se]+=67108864;this.words[Se+1]-=1}}return this.strip()};BN.prototype.addn=function addn(Ae){return this.clone().iaddn(Ae)};BN.prototype.subn=function subn(Ae){return this.clone().isubn(Ae)};BN.prototype.iabs=function iabs(){this.negative=0;return this};BN.prototype.abs=function abs(){return this.clone().iabs()};BN.prototype._ishlnsubmul=function _ishlnsubmul(Ae,Se,Ce){var qe=Ae.length+Ce;var Fe;this._expand(qe);var $e;var rt=0;for(Fe=0;Fe<Ae.length;Fe++){$e=(this.words[Fe+Ce]|0)+rt;var it=(Ae.words[Fe]|0)*Se;$e-=it&67108863;rt=($e>>26)-(it/67108864|0);this.words[Fe+Ce]=$e&67108863}for(;Fe<this.length-Ce;Fe++){$e=(this.words[Fe+Ce]|0)+rt;rt=$e>>26;this.words[Fe+Ce]=$e&67108863}if(rt===0)return this.strip();assert(rt===-1);rt=0;for(Fe=0;Fe<this.length;Fe++){$e=-(this.words[Fe]|0)+rt;rt=$e>>26;this.words[Fe]=$e&67108863}this.negative=1;return this.strip()};BN.prototype._wordDiv=function _wordDiv(Ae,Se){var Ce=this.length-Ae.length;var qe=this.clone();var Fe=Ae;var $e=Fe.words[Fe.length-1]|0;var rt=this._countBits($e);Ce=26-rt;if(Ce!==0){Fe=Fe.ushln(Ce);qe.iushln(Ce);$e=Fe.words[Fe.length-1]|0}var it=qe.length-Fe.length;var nt;if(Se!=="mod"){nt=new BN(null);nt.length=it+1;nt.words=new Array(nt.length);for(var st=0;st<nt.length;st++){nt.words[st]=0}}var ut=qe.clone()._ishlnsubmul(Fe,1,it);if(ut.negative===0){qe=ut;if(nt){nt.words[it]=1}}for(var ht=it-1;ht>=0;ht--){var ft=(qe.words[Fe.length+ht]|0)*67108864+(qe.words[Fe.length+ht-1]|0);ft=Math.min(ft/$e|0,67108863);qe._ishlnsubmul(Fe,ft,ht);while(qe.negative!==0){ft--;qe.negative=0;qe._ishlnsubmul(Fe,1,ht);if(!qe.isZero()){qe.negative^=1}}if(nt){nt.words[ht]=ft}}if(nt){nt.strip()}qe.strip();if(Se!=="div"&&Ce!==0){qe.iushrn(Ce)}return{div:nt||null,mod:qe}};BN.prototype.divmod=function divmod(Ae,Se,Ce){assert(!Ae.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var qe,Fe,$e;if(this.negative!==0&&Ae.negative===0){$e=this.neg().divmod(Ae,Se);if(Se!=="mod"){qe=$e.div.neg()}if(Se!=="div"){Fe=$e.mod.neg();if(Ce&&Fe.negative!==0){Fe.iadd(Ae)}}return{div:qe,mod:Fe}}if(this.negative===0&&Ae.negative!==0){$e=this.divmod(Ae.neg(),Se);if(Se!=="mod"){qe=$e.div.neg()}return{div:qe,mod:$e.mod}}if((this.negative&Ae.negative)!==0){$e=this.neg().divmod(Ae.neg(),Se);if(Se!=="div"){Fe=$e.mod.neg();if(Ce&&Fe.negative!==0){Fe.isub(Ae)}}return{div:$e.div,mod:Fe}}if(Ae.length>this.length||this.cmp(Ae)<0){return{div:new BN(0),mod:this}}if(Ae.length===1){if(Se==="div"){return{div:this.divn(Ae.words[0]),mod:null}}if(Se==="mod"){return{div:null,mod:new BN(this.modn(Ae.words[0]))}}return{div:this.divn(Ae.words[0]),mod:new BN(this.modn(Ae.words[0]))}}return this._wordDiv(Ae,Se)};BN.prototype.div=function div(Ae){return this.divmod(Ae,"div",false).div};BN.prototype.mod=function mod(Ae){return this.divmod(Ae,"mod",false).mod};BN.prototype.umod=function umod(Ae){return this.divmod(Ae,"mod",true).mod};BN.prototype.divRound=function divRound(Ae){var Se=this.divmod(Ae);if(Se.mod.isZero())return Se.div;var Ce=Se.div.negative!==0?Se.mod.isub(Ae):Se.mod;var qe=Ae.ushrn(1);var Fe=Ae.andln(1);var $e=Ce.cmp(qe);if($e<0||Fe===1&&$e===0)return Se.div;return Se.div.negative!==0?Se.div.isubn(1):Se.div.iaddn(1)};BN.prototype.modn=function modn(Ae){assert(Ae<=67108863);var Se=(1<<26)%Ae;var Ce=0;for(var qe=this.length-1;qe>=0;qe--){Ce=(Se*Ce+(this.words[qe]|0))%Ae}return Ce};BN.prototype.idivn=function idivn(Ae){assert(Ae<=67108863);var Se=0;for(var Ce=this.length-1;Ce>=0;Ce--){var qe=(this.words[Ce]|0)+Se*67108864;this.words[Ce]=qe/Ae|0;Se=qe%Ae}return this.strip()};BN.prototype.divn=function divn(Ae){return this.clone().idivn(Ae)};BN.prototype.egcd=function egcd(Ae){assert(Ae.negative===0);assert(!Ae.isZero());var Se=this;var Ce=Ae.clone();if(Se.negative!==0){Se=Se.umod(Ae)}else{Se=Se.clone()}var qe=new BN(1);var Fe=new BN(0);var $e=new BN(0);var rt=new BN(1);var it=0;while(Se.isEven()&&Ce.isEven()){Se.iushrn(1);Ce.iushrn(1);++it}var nt=Ce.clone();var st=Se.clone();while(!Se.isZero()){for(var ut=0,ht=1;(Se.words[0]&ht)===0&&ut<26;++ut,ht<<=1);if(ut>0){Se.iushrn(ut);while(ut-- >0){if(qe.isOdd()||Fe.isOdd()){qe.iadd(nt);Fe.isub(st)}qe.iushrn(1);Fe.iushrn(1)}}for(var ft=0,yt=1;(Ce.words[0]&yt)===0&&ft<26;++ft,yt<<=1);if(ft>0){Ce.iushrn(ft);while(ft-- >0){if($e.isOdd()||rt.isOdd()){$e.iadd(nt);rt.isub(st)}$e.iushrn(1);rt.iushrn(1)}}if(Se.cmp(Ce)>=0){Se.isub(Ce);qe.isub($e);Fe.isub(rt)}else{Ce.isub(Se);$e.isub(qe);rt.isub(Fe)}}return{a:$e,b:rt,gcd:Ce.iushln(it)}};BN.prototype._invmp=function _invmp(Ae){assert(Ae.negative===0);assert(!Ae.isZero());var Se=this;var Ce=Ae.clone();if(Se.negative!==0){Se=Se.umod(Ae)}else{Se=Se.clone()}var qe=new BN(1);var Fe=new BN(0);var $e=Ce.clone();while(Se.cmpn(1)>0&&Ce.cmpn(1)>0){for(var rt=0,it=1;(Se.words[0]&it)===0&&rt<26;++rt,it<<=1);if(rt>0){Se.iushrn(rt);while(rt-- >0){if(qe.isOdd()){qe.iadd($e)}qe.iushrn(1)}}for(var nt=0,st=1;(Ce.words[0]&st)===0&&nt<26;++nt,st<<=1);if(nt>0){Ce.iushrn(nt);while(nt-- >0){if(Fe.isOdd()){Fe.iadd($e)}Fe.iushrn(1)}}if(Se.cmp(Ce)>=0){Se.isub(Ce);qe.isub(Fe)}else{Ce.isub(Se);Fe.isub(qe)}}var ut;if(Se.cmpn(1)===0){ut=qe}else{ut=Fe}if(ut.cmpn(0)<0){ut.iadd(Ae)}return ut};BN.prototype.gcd=function gcd(Ae){if(this.isZero())return Ae.abs();if(Ae.isZero())return this.abs();var Se=this.clone();var Ce=Ae.clone();Se.negative=0;Ce.negative=0;for(var qe=0;Se.isEven()&&Ce.isEven();qe++){Se.iushrn(1);Ce.iushrn(1)}do{while(Se.isEven()){Se.iushrn(1)}while(Ce.isEven()){Ce.iushrn(1)}var Fe=Se.cmp(Ce);if(Fe<0){var $e=Se;Se=Ce;Ce=$e}else if(Fe===0||Ce.cmpn(1)===0){break}Se.isub(Ce)}while(true);return Ce.iushln(qe)};BN.prototype.invm=function invm(Ae){return this.egcd(Ae).a.umod(Ae)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(Ae){return this.words[0]&Ae};BN.prototype.bincn=function bincn(Ae){assert(typeof Ae==="number");var Se=Ae%26;var Ce=(Ae-Se)/26;var qe=1<<Se;if(this.length<=Ce){this._expand(Ce+1);this.words[Ce]|=qe;return this}var Fe=qe;for(var $e=Ce;Fe!==0&&$e<this.length;$e++){var rt=this.words[$e]|0;rt+=Fe;Fe=rt>>>26;rt&=67108863;this.words[$e]=rt}if(Fe!==0){this.words[$e]=Fe;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(Ae){var Se=Ae<0;if(this.negative!==0&&!Se)return-1;if(this.negative===0&&Se)return 1;this.strip();var Ce;if(this.length>1){Ce=1}else{if(Se){Ae=-Ae}assert(Ae<=67108863,"Number is too big");var qe=this.words[0]|0;Ce=qe===Ae?0:qe<Ae?-1:1}if(this.negative!==0)return-Ce|0;return Ce};BN.prototype.cmp=function cmp(Ae){if(this.negative!==0&&Ae.negative===0)return-1;if(this.negative===0&&Ae.negative!==0)return 1;var Se=this.ucmp(Ae);if(this.negative!==0)return-Se|0;return Se};BN.prototype.ucmp=function ucmp(Ae){if(this.length>Ae.length)return 1;if(this.length<Ae.length)return-1;var Se=0;for(var Ce=this.length-1;Ce>=0;Ce--){var qe=this.words[Ce]|0;var Fe=Ae.words[Ce]|0;if(qe===Fe)continue;if(qe<Fe){Se=-1}else if(qe>Fe){Se=1}break}return Se};BN.prototype.gtn=function gtn(Ae){return this.cmpn(Ae)===1};BN.prototype.gt=function gt(Ae){return this.cmp(Ae)===1};BN.prototype.gten=function gten(Ae){return this.cmpn(Ae)>=0};BN.prototype.gte=function gte(Ae){return this.cmp(Ae)>=0};BN.prototype.ltn=function ltn(Ae){return this.cmpn(Ae)===-1};BN.prototype.lt=function lt(Ae){return this.cmp(Ae)===-1};BN.prototype.lten=function lten(Ae){return this.cmpn(Ae)<=0};BN.prototype.lte=function lte(Ae){return this.cmp(Ae)<=0};BN.prototype.eqn=function eqn(Ae){return this.cmpn(Ae)===0};BN.prototype.eq=function eq(Ae){return this.cmp(Ae)===0};BN.red=function red(Ae){return new Red(Ae)};BN.prototype.toRed=function toRed(Ae){assert(!this.red,"Already a number in reduction context");assert(this.negative===0,"red works only with positives");return Ae.convertTo(this)._forceRed(Ae)};BN.prototype.fromRed=function fromRed(){assert(this.red,"fromRed works only with numbers in reduction context");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(Ae){this.red=Ae;return this};BN.prototype.forceRed=function forceRed(Ae){assert(!this.red,"Already a number in reduction context");return this._forceRed(Ae)};BN.prototype.redAdd=function redAdd(Ae){assert(this.red,"redAdd works only with red numbers");return this.red.add(this,Ae)};BN.prototype.redIAdd=function redIAdd(Ae){assert(this.red,"redIAdd works only with red numbers");return this.red.iadd(this,Ae)};BN.prototype.redSub=function redSub(Ae){assert(this.red,"redSub works only with red numbers");return this.red.sub(this,Ae)};BN.prototype.redISub=function redISub(Ae){assert(this.red,"redISub works only with red numbers");return this.red.isub(this,Ae)};BN.prototype.redShl=function redShl(Ae){assert(this.red,"redShl works only with red numbers");return this.red.shl(this,Ae)};BN.prototype.redMul=function redMul(Ae){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Ae);return this.red.mul(this,Ae)};BN.prototype.redIMul=function redIMul(Ae){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Ae);return this.red.imul(this,Ae)};BN.prototype.redSqr=function redSqr(){assert(this.red,"redSqr works only with red numbers");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,"redISqr works only with red numbers");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,"redSqrt works only with red numbers");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,"redInvm works only with red numbers");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,"redNeg works only with red numbers");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(Ae){assert(this.red&&!Ae.red,"redPow(normalNum)");this.red._verify1(this);return this.red.pow(this,Ae)};var nt={k256:null,p224:null,p192:null,p25519:null};function MPrime(Ae,Se){this.name=Ae;this.p=new BN(Se,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var Ae=new BN(null);Ae.words=new Array(Math.ceil(this.n/13));return Ae};MPrime.prototype.ireduce=function ireduce(Ae){var Se=Ae;var Ce;do{this.split(Se,this.tmp);Se=this.imulK(Se);Se=Se.iadd(this.tmp);Ce=Se.bitLength()}while(Ce>this.n);var qe=Ce<this.n?-1:Se.ucmp(this.p);if(qe===0){Se.words[0]=0;Se.length=1}else if(qe>0){Se.isub(this.p)}else{if(Se.strip!==undefined){Se.strip()}else{Se._strip()}}return Se};MPrime.prototype.split=function split(Ae,Se){Ae.iushrn(this.n,0,Se)};MPrime.prototype.imulK=function imulK(Ae){return Ae.imul(this.k)};function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}inherits(K256,MPrime);K256.prototype.split=function split(Ae,Se){var Ce=4194303;var qe=Math.min(Ae.length,9);for(var Fe=0;Fe<qe;Fe++){Se.words[Fe]=Ae.words[Fe]}Se.length=qe;if(Ae.length<=9){Ae.words[0]=0;Ae.length=1;return}var $e=Ae.words[9];Se.words[Se.length++]=$e&Ce;for(Fe=10;Fe<Ae.length;Fe++){var rt=Ae.words[Fe]|0;Ae.words[Fe-10]=(rt&Ce)<<4|$e>>>22;$e=rt}$e>>>=22;Ae.words[Fe-10]=$e;if($e===0&&Ae.length>10){Ae.length-=10}else{Ae.length-=9}};K256.prototype.imulK=function imulK(Ae){Ae.words[Ae.length]=0;Ae.words[Ae.length+1]=0;Ae.length+=2;var Se=0;for(var Ce=0;Ce<Ae.length;Ce++){var qe=Ae.words[Ce]|0;Se+=qe*977;Ae.words[Ce]=Se&67108863;Se=qe*64+(Se/67108864|0)}if(Ae.words[Ae.length-1]===0){Ae.length--;if(Ae.words[Ae.length-1]===0){Ae.length--}}return Ae};function P224(){MPrime.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}inherits(P224,MPrime);function P192(){MPrime.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}inherits(P192,MPrime);function P25519(){MPrime.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}inherits(P25519,MPrime);P25519.prototype.imulK=function imulK(Ae){var Se=0;for(var Ce=0;Ce<Ae.length;Ce++){var qe=(Ae.words[Ce]|0)*19+Se;var Fe=qe&67108863;qe>>>=26;Ae.words[Ce]=Fe;Se=qe}if(Se!==0){Ae.words[Ae.length++]=Se}return Ae};BN._prime=function prime(Ae){if(nt[Ae])return nt[Ae];var prime;if(Ae==="k256"){prime=new K256}else if(Ae==="p224"){prime=new P224}else if(Ae==="p192"){prime=new P192}else if(Ae==="p25519"){prime=new P25519}else{throw new Error("Unknown prime "+Ae)}nt[Ae]=prime;return prime};function Red(Ae){if(typeof Ae==="string"){var Se=BN._prime(Ae);this.m=Se.p;this.prime=Se}else{assert(Ae.gtn(1),"modulus must be greater than 1");this.m=Ae;this.prime=null}}Red.prototype._verify1=function _verify1(Ae){assert(Ae.negative===0,"red works only with positives");assert(Ae.red,"red works only with red numbers")};Red.prototype._verify2=function _verify2(Ae,Se){assert((Ae.negative|Se.negative)===0,"red works only with positives");assert(Ae.red&&Ae.red===Se.red,"red works only with red numbers")};Red.prototype.imod=function imod(Ae){if(this.prime)return this.prime.ireduce(Ae)._forceRed(this);return Ae.umod(this.m)._forceRed(this)};Red.prototype.neg=function neg(Ae){if(Ae.isZero()){return Ae.clone()}return this.m.sub(Ae)._forceRed(this)};Red.prototype.add=function add(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.add(Se);if(Ce.cmp(this.m)>=0){Ce.isub(this.m)}return Ce._forceRed(this)};Red.prototype.iadd=function iadd(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.iadd(Se);if(Ce.cmp(this.m)>=0){Ce.isub(this.m)}return Ce};Red.prototype.sub=function sub(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.sub(Se);if(Ce.cmpn(0)<0){Ce.iadd(this.m)}return Ce._forceRed(this)};Red.prototype.isub=function isub(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.isub(Se);if(Ce.cmpn(0)<0){Ce.iadd(this.m)}return Ce};Red.prototype.shl=function shl(Ae,Se){this._verify1(Ae);return this.imod(Ae.ushln(Se))};Red.prototype.imul=function imul(Ae,Se){this._verify2(Ae,Se);return this.imod(Ae.imul(Se))};Red.prototype.mul=function mul(Ae,Se){this._verify2(Ae,Se);return this.imod(Ae.mul(Se))};Red.prototype.isqr=function isqr(Ae){return this.imul(Ae,Ae.clone())};Red.prototype.sqr=function sqr(Ae){return this.mul(Ae,Ae)};Red.prototype.sqrt=function sqrt(Ae){if(Ae.isZero())return Ae.clone();var Se=this.m.andln(3);assert(Se%2===1);if(Se===3){var Ce=this.m.add(new BN(1)).iushrn(2);return this.pow(Ae,Ce)}var qe=this.m.subn(1);var Fe=0;while(!qe.isZero()&&qe.andln(1)===0){Fe++;qe.iushrn(1)}assert(!qe.isZero());var $e=new BN(1).toRed(this);var rt=$e.redNeg();var it=this.m.subn(1).iushrn(1);var nt=this.m.bitLength();nt=new BN(2*nt*nt).toRed(this);while(this.pow(nt,it).cmp(rt)!==0){nt.redIAdd(rt)}var st=this.pow(nt,qe);var ut=this.pow(Ae,qe.addn(1).iushrn(1));var ht=this.pow(Ae,qe);var ft=Fe;while(ht.cmp($e)!==0){var yt=ht;for(var mt=0;yt.cmp($e)!==0;mt++){yt=yt.redSqr()}assert(mt<ft);var vt=this.pow(st,new BN(1).iushln(ft-mt-1));ut=ut.redMul(vt);st=vt.redSqr();ht=ht.redMul(st);ft=mt}return ut};Red.prototype.invm=function invm(Ae){var Se=Ae._invmp(this.m);if(Se.negative!==0){Se.negative=0;return this.imod(Se).redNeg()}else{return this.imod(Se)}};Red.prototype.pow=function pow(Ae,Se){if(Se.isZero())return new BN(1).toRed(this);if(Se.cmpn(1)===0)return Ae.clone();var Ce=4;var qe=new Array(1<<Ce);qe[0]=new BN(1).toRed(this);qe[1]=Ae;for(var Fe=2;Fe<qe.length;Fe++){qe[Fe]=this.mul(qe[Fe-1],Ae)}var $e=qe[0];var rt=0;var it=0;var nt=Se.bitLength()%26;if(nt===0){nt=26}for(Fe=Se.length-1;Fe>=0;Fe--){var st=Se.words[Fe];for(var ut=nt-1;ut>=0;ut--){var ht=st>>ut&1;if($e!==qe[0]){$e=this.sqr($e)}if(ht===0&&rt===0){it=0;continue}rt<<=1;rt|=ht;it++;if(it!==Ce&&(Fe!==0||ut!==0))continue;$e=this.mul($e,qe[rt]);it=0;rt=0}nt=26}return $e};Red.prototype.convertTo=function convertTo(Ae){var Se=Ae.umod(this.m);return Se===Ae?Se.clone():Se};Red.prototype.convertFrom=function convertFrom(Ae){var Se=Ae.clone();Se.red=null;return Se};BN.mont=function mont(Ae){return new Mont(Ae)};function Mont(Ae){Red.call(this,Ae);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(Ae){return this.imod(Ae.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(Ae){var Se=this.imod(Ae.mul(this.rinv));Se.red=null;return Se};Mont.prototype.imul=function imul(Ae,Se){if(Ae.isZero()||Se.isZero()){Ae.words[0]=0;Ae.length=1;return Ae}var Ce=Ae.imul(Se);var qe=Ce.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var Fe=Ce.isub(qe).iushrn(this.shift);var $e=Fe;if(Fe.cmp(this.m)>=0){$e=Fe.isub(this.m)}else if(Fe.cmpn(0)<0){$e=Fe.iadd(this.m)}return $e._forceRed(this)};Mont.prototype.mul=function mul(Ae,Se){if(Ae.isZero()||Se.isZero())return new BN(0)._forceRed(this);var Ce=Ae.mul(Se);var qe=Ce.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var Fe=Ce.isub(qe).iushrn(this.shift);var $e=Fe;if(Fe.cmp(this.m)>=0){$e=Fe.isub(this.m)}else if(Fe.cmpn(0)<0){$e=Fe.iadd(this.m)}return $e._forceRed(this)};Mont.prototype.invm=function invm(Ae){var Se=this.imod(Ae._invmp(this.m).mul(this.r2));return Se._forceRed(this)}})(false||Ae,this)},4124:(Ae,Se,Ce)=>{try{var qe=Ce(3837);if(typeof qe.inherits!=="function")throw"";Ae.exports=qe.inherits}catch(Se){Ae.exports=Ce(8544)}},8544:Ae=>{if(typeof Object.create==="function"){Ae.exports=function inherits(Ae,Se){if(Se){Ae.super_=Se;Ae.prototype=Object.create(Se.prototype,{constructor:{value:Ae,enumerable:false,writable:true,configurable:true}})}}}else{Ae.exports=function inherits(Ae,Se){if(Se){Ae.super_=Se;var TempCtor=function(){};TempCtor.prototype=Se.prototype;Ae.prototype=new TempCtor;Ae.prototype.constructor=Ae}}}},910:Ae=>{Ae.exports=assert;function assert(Ae,Se){if(!Ae)throw new Error(Se||"Assertion failed")}assert.equal=function assertEqual(Ae,Se,Ce){if(Ae!=Se)throw new Error(Ce||"Assertion failed: "+Ae+" != "+Se)}},7946:(Ae,Se,Ce)=>{"use strict";
|
|
/*! OpenPGP.js v5.10.1 - 2023-08-29 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */const qe="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};Object.defineProperty(Se,"__esModule",{value:!0});var Fe=Ce(4300),$e=Ce(2781),rt=Ce(6113),it=Ce(9796),nt=Ce(2037),st=Ce(3837),ut=Ce(4293);function c(Ae){return Ae&&"object"==typeof Ae&&"default"in Ae?Ae:{default:Ae}}var ht=c(Fe),ft=c($e),yt=c(rt),mt=c(it),vt=c(nt),_t=c(st),Ct=c(ut);const Rt=Symbol("doneWritingPromise"),Ut=Symbol("doneWritingResolve"),It=Symbol("doneWritingReject"),Ot=Symbol("readingIndex");class v extends Array{constructor(){super(),this[Rt]=new Promise(((Ae,Se)=>{this[Ut]=Ae,this[It]=Se})),this[Rt].catch((()=>{}))}}function _(Ae){return Ae&&Ae.getReader&&Array.isArray(Ae)}function k(Ae){if(!_(Ae)){const Se=Ae.getWriter(),Ce=Se.releaseLock;return Se.releaseLock=()=>{Se.closed.catch((function(){})),Ce.call(Se)},Se}this.stream=Ae}v.prototype.getReader=function(){return void 0===this[Ot]&&(this[Ot]=0),{read:async()=>(await this[Rt],this[Ot]===this.length?{value:void 0,done:!0}:{value:this[this[Ot]++],done:!1})}},v.prototype.readToEnd=async function(Ae){await this[Rt];const Se=Ae(this.slice(this[Ot]));return this.length=0,Se},v.prototype.clone=function(){const Ae=new v;return Ae[Rt]=this[Rt].then((()=>{Ae.push(...this)})),Ae},k.prototype.write=async function(Ae){this.stream.push(Ae)},k.prototype.close=async function(){this.stream[Ut]()},k.prototype.abort=async function(Ae){return this.stream[It](Ae),Ae},k.prototype.releaseLock=function(){};const Nt="object"==typeof qe.process&&"object"==typeof qe.process.versions,jt=Nt&&ft.default.Readable;function E(Ae){return _(Ae)?"array":qe.ReadableStream&&qe.ReadableStream.prototype.isPrototypeOf(Ae)?"web":Qt&&Qt.prototype.isPrototypeOf(Ae)?"ponyfill":jt&&jt.prototype.isPrototypeOf(Ae)?"node":!(!Ae||!Ae.getReader)&&"web-like"}function P(Ae){return Uint8Array.prototype.isPrototypeOf(Ae)}function x(Ae){if(1===Ae.length)return Ae[0];let Se=0;for(let Ce=0;Ce<Ae.length;Ce++){if(!P(Ae[Ce]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");Se+=Ae[Ce].length}const Ce=new Uint8Array(Se);let qe=0;return Ae.forEach((function(Ae){Ce.set(Ae,qe),qe+=Ae.length})),Ce}const Ft=Nt&&ht.default.Buffer,Lt=Nt&&ft.default.Readable;let Ht,Wt;if(Lt){Ht=function(Ae){let Se=!1;return new Qt({start(Ce){Ae.pause(),Ae.on("data",(qe=>{Se||(Ft.isBuffer(qe)&&(qe=new Uint8Array(qe.buffer,qe.byteOffset,qe.byteLength)),Ce.enqueue(qe),Ae.pause())})),Ae.on("end",(()=>{Se||Ce.close()})),Ae.on("error",(Ae=>Ce.error(Ae)))},pull(){Ae.resume()},cancel(Ce){Se=!0,Ae.destroy(Ce)}})};class e extends Lt{constructor(Ae,Se){super(Se),this._reader=H(Ae)}async _read(Ae){try{for(;;){const{done:Ae,value:Se}=await this._reader.read();if(Ae){this.push(null);break}if(!this.push(Se)||this._cancelling){this._reading=!1;break}}}catch(Ae){this.emit("error",Ae)}}_destroy(Ae){this._reader.cancel(Ae)}}Wt=function(Ae,Se){return new e(Ae,Se)}}const Gt=new WeakSet,$t=Symbol("externalBuffer");function I(Ae){if(this.stream=Ae,Ae[$t]&&(this[$t]=Ae[$t].slice()),_(Ae)){const Se=Ae.getReader();return this._read=Se.read.bind(Se),this._releaseLock=()=>{},void(this._cancel=()=>{})}let Se=E(Ae);if("node"===Se&&(Ae=Ht(Ae)),Se){const Se=Ae.getReader();return this._read=Se.read.bind(Se),this._releaseLock=()=>{Se.closed.catch((function(){})),Se.releaseLock()},void(this._cancel=Se.cancel.bind(Se))}let Ce=!1;this._read=async()=>Ce||Gt.has(Ae)?{value:void 0,done:!0}:(Ce=!0,{value:Ae,done:!1}),this._releaseLock=()=>{if(Ce)try{Gt.add(Ae)}catch(Ae){}}}I.prototype.read=async function(){if(this[$t]&&this[$t].length){return{done:!1,value:this[$t].shift()}}return this._read()},I.prototype.releaseLock=function(){this[$t]&&(this.stream[$t]=this[$t]),this._releaseLock()},I.prototype.cancel=function(Ae){return this._cancel(Ae)},I.prototype.readLine=async function(){let Ae,Se=[];for(;!Ae;){let{done:Ce,value:qe}=await this.read();if(qe+="",Ce)return Se.length?W(Se):void 0;const Fe=qe.indexOf("\n")+1;Fe&&(Ae=W(Se.concat(qe.substr(0,Fe))),Se=[]),Fe!==qe.length&&Se.push(qe.substr(Fe))}return this.unshift(...Se),Ae},I.prototype.readByte=async function(){const{done:Ae,value:Se}=await this.read();if(Ae)return;const Ce=Se[0];return this.unshift(re(Se,1)),Ce},I.prototype.readBytes=async function(Ae){const Se=[];let Ce=0;for(;;){const{done:qe,value:Fe}=await this.read();if(qe)return Se.length?W(Se):void 0;if(Se.push(Fe),Ce+=Fe.length,Ce>=Ae){const Ce=W(Se);return this.unshift(re(Ce,Ae)),re(Ce,0,Ae)}}},I.prototype.peekBytes=async function(Ae){const Se=await this.readBytes(Ae);return this.unshift(Se),Se},I.prototype.unshift=function(...Ae){this[$t]||(this[$t]=[]),1===Ae.length&&P(Ae[0])&&this[$t].length&&Ae[0].length&&this[$t][0].byteOffset>=Ae[0].length?this[$t][0]=new Uint8Array(this[$t][0].buffer,this[$t][0].byteOffset-Ae[0].length,this[$t][0].byteLength+Ae[0].length):this[$t].unshift(...Ae.filter((Ae=>Ae&&Ae.length)))},I.prototype.readToEnd=async function(Ae=W){const Se=[];for(;;){const{done:Ae,value:Ce}=await this.read();if(Ae)break;Se.push(Ce)}return Ae(Se)};let Vt,Zt,{ReadableStream:Qt,WritableStream:Xt,TransformStream:er}=qe;async function O(){if(er)return;const[Ae,Se]=await Promise.all([Promise.resolve().then((function(){return im})),Promise.resolve().then((function(){return um}))]);({ReadableStream:Qt,WritableStream:Xt,TransformStream:er}=Ae);const{createReadableStreamWrapper:Ce}=Se;qe.ReadableStream&&Qt!==qe.ReadableStream&&(Vt=Ce(Qt),Zt=Ce(qe.ReadableStream))}const tr=Nt&&ht.default.Buffer;function N(Ae){let Se=E(Ae);return"node"===Se?Ht(Ae):"web"===Se&&Vt?Vt(Ae):Se?Ae:new Qt({start(Se){Se.enqueue(Ae),Se.close()}})}function j(Ae){if(E(Ae))return Ae;const Se=new v;return(async()=>{const Ce=G(Se);await Ce.write(Ae),await Ce.close()})(),Se}function W(Ae){return Ae.some((Ae=>E(Ae)&&!_(Ae)))?function(Ae){Ae=Ae.map(N);const Se=Z((async function(Ae){await Promise.all(qe.map((Se=>ne(Se,Ae))))}));let Ce=Promise.resolve();const qe=Ae.map(((qe,Fe)=>Y(qe,((qe,$e)=>(Ce=Ce.then((()=>V(qe,Se.writable,{preventClose:Fe!==Ae.length-1}))),Ce)))));return Se.readable}(Ae):Ae.some((Ae=>_(Ae)))?function(Ae){const Se=new v;let Ce=Promise.resolve();return Ae.forEach(((qe,Fe)=>(Ce=Ce.then((()=>V(qe,Se,{preventClose:Fe!==Ae.length-1}))),Ce))),Se}(Ae):"string"==typeof Ae[0]?Ae.join(""):tr&&tr.isBuffer(Ae[0])?tr.concat(Ae):x(Ae)}function H(Ae){return new I(Ae)}function G(Ae){return new k(Ae)}async function V(Ae,Se,{preventClose:Ce=!1,preventAbort:qe=!1,preventCancel:Fe=!1}={}){if(E(Ae)&&!_(Ae)){Ae=N(Ae);try{if(Ae[$t]){const Ce=G(Se);for(let Se=0;Se<Ae[$t].length;Se++)await Ce.ready,await Ce.write(Ae[$t][Se]);Ce.releaseLock()}await Ae.pipeTo(Se,{preventClose:Ce,preventAbort:qe,preventCancel:Fe})}catch(Ae){}return}const $e=H(Ae=j(Ae)),rt=G(Se);try{for(;;){await rt.ready;const{done:Ae,value:Se}=await $e.read();if(Ae){Ce||await rt.close();break}await rt.write(Se)}}catch(Ae){qe||await rt.abort(Ae)}finally{$e.releaseLock(),rt.releaseLock()}}function $(Ae,Se){const Ce=new er(Se);return V(Ae,Ce.writable),Ce.readable}function Z(Ae){let Se,Ce,qe=!1;return{readable:new Qt({start(Ae){Ce=Ae},pull(){Se?Se():qe=!0},cancel:Ae},{highWaterMark:0}),writable:new Xt({write:async function(Ae){Ce.enqueue(Ae),qe?qe=!1:(await new Promise((Ae=>{Se=Ae})),Se=null)},close:Ce.close.bind(Ce),abort:Ce.error.bind(Ce)})}}function X(Ae,Se=(()=>{}),Ce=(()=>{})){if(_(Ae)){const qe=new v;return(async()=>{const Fe=G(qe);try{const qe=await ie(Ae),$e=Se(qe),rt=Ce();let it;it=void 0!==$e&&void 0!==rt?W([$e,rt]):void 0!==$e?$e:rt,await Fe.write(it),await Fe.close()}catch(Ae){await Fe.abort(Ae)}})(),qe}if(E(Ae))return $(Ae,{async transform(Ae,Ce){try{const qe=await Se(Ae);void 0!==qe&&Ce.enqueue(qe)}catch(Ae){Ce.error(Ae)}},async flush(Ae){try{const Se=await Ce();void 0!==Se&&Ae.enqueue(Se)}catch(Se){Ae.error(Se)}}});const qe=Se(Ae),Fe=Ce();return void 0!==qe&&void 0!==Fe?W([qe,Fe]):void 0!==qe?qe:Fe}function Y(Ae,Se){if(E(Ae)&&!_(Ae)){let Ce;const qe=new er({start(Ae){Ce=Ae}}),Fe=V(Ae,qe.writable),$e=Z((async function(Ae){Ce.error(Ae),await Fe,await new Promise(setTimeout)}));return Se(qe.readable,$e.writable),$e.readable}Ae=j(Ae);const Ce=new v;return Se(Ae,Ce),Ce}function Q(Ae,Se){let Ce;const qe=Y(Ae,((Ae,Fe)=>{const $e=H(Ae);$e.remainder=()=>($e.releaseLock(),V(Ae,Fe),qe),Ce=Se($e)}));return Ce}function J(Ae){if(_(Ae))return Ae.clone();if(E(Ae)){const Se=function(Ae){if(_(Ae))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(E(Ae)){const Se=N(Ae).tee();return Se[0][$t]=Se[1][$t]=Ae[$t],Se}return[re(Ae),re(Ae)]}(Ae);return te(Ae,Se[0]),Se[1]}return re(Ae)}function ee(Ae){return _(Ae)?J(Ae):E(Ae)?new Qt({start(Se){const Ce=Y(Ae,(async(Ae,Ce)=>{const qe=H(Ae),Fe=G(Ce);try{for(;;){await Fe.ready;const{done:Ce,value:$e}=await qe.read();if(Ce){try{Se.close()}catch(Ae){}return void await Fe.close()}try{Se.enqueue($e)}catch(Ae){}await Fe.write($e)}}catch(Ae){Se.error(Ae),await Fe.abort(Ae)}}));te(Ae,Ce)}}):re(Ae)}function te(Ae,Se){Object.entries(Object.getOwnPropertyDescriptors(Ae.constructor.prototype)).forEach((([Ce,qe])=>{"constructor"!==Ce&&(qe.value?qe.value=qe.value.bind(Se):qe.get=qe.get.bind(Se),Object.defineProperty(Ae,Ce,qe))}))}function re(Ae,Se=0,Ce=1/0){if(_(Ae))throw Error("Not implemented");if(E(Ae)){if(Se>=0&&Ce>=0){let qe=0;return $(Ae,{transform(Ae,Fe){qe<Ce?(qe+Ae.length>=Se&&Fe.enqueue(re(Ae,Math.max(Se-qe,0),Ce-qe)),qe+=Ae.length):Fe.terminate()}})}if(Se<0&&(Ce<0||Ce===1/0)){let qe=[];return X(Ae,(Ae=>{Ae.length>=-Se?qe=[Ae]:qe.push(Ae)}),(()=>re(W(qe),Se,Ce)))}if(0===Se&&Ce<0){let qe;return X(Ae,(Ae=>{const Fe=qe?W([qe,Ae]):Ae;if(Fe.length>=-Ce)return qe=re(Fe,Ce),re(Fe,Se,Ce);qe=Fe}))}return console.warn(`stream.slice(input, ${Se}, ${Ce}) not implemented efficiently.`),ae((async()=>re(await ie(Ae),Se,Ce)))}return Ae[$t]&&(Ae=W(Ae[$t].concat([Ae]))),!P(Ae)||tr&&tr.isBuffer(Ae)?Ae.slice(Se,Ce):(Ce===1/0&&(Ce=Ae.length),Ae.subarray(Se,Ce))}async function ie(Ae,Se=W){return _(Ae)?Ae.readToEnd(Se):E(Ae)?H(Ae).readToEnd(Se):Ae}async function ne(Ae,Se){if(E(Ae)){if(Ae.cancel)return Ae.cancel(Se);if(Ae.destroy)return Ae.destroy(Se),await new Promise(setTimeout),Se}}function ae(Ae){const Se=new v;return(async()=>{const Ce=G(Se);try{await Ce.write(await Ae()),await Ce.close()}catch(Ae){await Ce.abort(Ae)}})(),Se}class se{constructor(Ae){if(void 0===Ae)throw Error("Invalid BigInteger input");if(Ae instanceof Uint8Array){const Se=Ae,Ce=Array(Se.length);for(let Ae=0;Ae<Se.length;Ae++){const qe=Se[Ae].toString(16);Ce[Ae]=Se[Ae]<=15?"0"+qe:qe}this.value=BigInt("0x0"+Ce.join(""))}else this.value=BigInt(Ae)}clone(){return new se(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(Ae){return this.value+=Ae.value,this}add(Ae){return this.clone().iadd(Ae)}isub(Ae){return this.value-=Ae.value,this}sub(Ae){return this.clone().isub(Ae)}imul(Ae){return this.value*=Ae.value,this}mul(Ae){return this.clone().imul(Ae)}imod(Ae){return this.value%=Ae.value,this.isNegative()&&this.iadd(Ae),this}mod(Ae){return this.clone().imod(Ae)}modExp(Ae,Se){if(Se.isZero())throw Error("Modulo cannot be zero");if(Se.isOne())return new se(0);if(Ae.isNegative())throw Error("Unsopported negative exponent");let Ce=Ae.value,qe=this.value;qe%=Se.value;let Fe=BigInt(1);for(;Ce>BigInt(0);){const Ae=Ce&BigInt(1);Ce>>=BigInt(1);const $e=Fe*qe%Se.value;Fe=Ae?$e:Fe,qe=qe*qe%Se.value}return new se(Fe)}modInv(Ae){const{gcd:Se,x:Ce}=this._egcd(Ae);if(!Se.isOne())throw Error("Inverse does not exist");return Ce.add(Ae).mod(Ae)}_egcd(Ae){let Se=BigInt(0),Ce=BigInt(1),qe=BigInt(1),Fe=BigInt(0),$e=this.value;for(Ae=Ae.value;Ae!==BigInt(0);){const rt=$e/Ae;let it=Se;Se=qe-rt*Se,qe=it,it=Ce,Ce=Fe-rt*Ce,Fe=it,it=Ae,Ae=$e%Ae,$e=it}return{x:new se(qe),y:new se(Fe),gcd:new se($e)}}gcd(Ae){let Se=this.value;for(Ae=Ae.value;Ae!==BigInt(0);){const Ce=Ae;Ae=Se%Ae,Se=Ce}return new se(Se)}ileftShift(Ae){return this.value<<=Ae.value,this}leftShift(Ae){return this.clone().ileftShift(Ae)}irightShift(Ae){return this.value>>=Ae.value,this}rightShift(Ae){return this.clone().irightShift(Ae)}equal(Ae){return this.value===Ae.value}lt(Ae){return this.value<Ae.value}lte(Ae){return this.value<=Ae.value}gt(Ae){return this.value>Ae.value}gte(Ae){return this.value>=Ae.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const Ae=this.clone();return this.isNegative()&&(Ae.value=-Ae.value),Ae}toString(){return this.value.toString()}toNumber(){const Ae=Number(this.value);if(Ae>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return Ae}getBit(Ae){return(this.value>>BigInt(Ae)&BigInt(1))===BigInt(0)?0:1}bitLength(){const Ae=new se(0),Se=new se(1),Ce=new se(-1),qe=this.isNegative()?Ce:Ae;let Fe=1;const $e=this.clone();for(;!$e.irightShift(Se).equal(qe);)Fe++;return Fe}byteLength(){const Ae=new se(0),Se=new se(-1),Ce=this.isNegative()?Se:Ae,qe=new se(8);let Fe=1;const $e=this.clone();for(;!$e.irightShift(qe).equal(Ce);)Fe++;return Fe}toUint8Array(Ae="be",Se){let Ce=this.value.toString(16);Ce.length%2==1&&(Ce="0"+Ce);const qe=Ce.length/2,Fe=new Uint8Array(Se||qe),$e=Se?Se-qe:0;let rt=0;for(;rt<qe;)Fe[rt+$e]=parseInt(Ce.slice(2*rt,2*rt+2),16),rt++;return"be"!==Ae&&Fe.reverse(),Fe}}const oe=()=>"undefined"!=typeof BigInt;const rr=Symbol("byValue");var ir={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},s2k:{simple:0,salted:1,iterated:3,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,ed25519Legacy:22,eddsa:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(Ae,Se){if("number"==typeof Se&&(Se=this.read(Ae,Se)),void 0!==Ae[Se])return Ae[Se];throw Error("Invalid enum value.")},read:function(Ae,Se){if(Ae[rr]||(Ae[rr]=[],Object.entries(Ae).forEach((([Se,Ce])=>{Ae[rr][Ce]=Se}))),void 0!==Ae[rr][Se])return Ae[rr][Se];throw Error("Invalid enum value.")}};const nr=(()=>{try{return"development"===process.env.NODE_ENV}catch(Ae){}return!1})(),sr={isString:function(Ae){return"string"==typeof Ae||Ae instanceof String},isArray:function(Ae){return Ae instanceof Array},isUint8Array:P,isStream:E,readNumber:function(Ae){let Se=0;for(let Ce=0;Ce<Ae.length;Ce++)Se+=256**Ce*Ae[Ae.length-1-Ce];return Se},writeNumber:function(Ae,Se){const Ce=new Uint8Array(Se);for(let qe=0;qe<Se;qe++)Ce[qe]=Ae>>8*(Se-qe-1)&255;return Ce},readDate:function(Ae){const Se=sr.readNumber(Ae);return new Date(1e3*Se)},writeDate:function(Ae){const Se=Math.floor(Ae.getTime()/1e3);return sr.writeNumber(Se,4)},normalizeDate:function(Ae=Date.now()){return null===Ae||Ae===1/0?Ae:new Date(1e3*Math.floor(+Ae/1e3))},readMPI:function(Ae){const Se=(Ae[0]<<8|Ae[1])+7>>>3;return Ae.subarray(2,2+Se)},leftPad(Ae,Se){const Ce=new Uint8Array(Se),qe=Se-Ae.length;return Ce.set(Ae,qe),Ce},uint8ArrayToMPI:function(Ae){const Se=sr.uint8ArrayBitLength(Ae);if(0===Se)throw Error("Zero MPI");const Ce=Ae.subarray(Ae.length-Math.ceil(Se/8)),qe=new Uint8Array([(65280&Se)>>8,255&Se]);return sr.concatUint8Array([qe,Ce])},uint8ArrayBitLength:function(Ae){let Se;for(Se=0;Se<Ae.length&&0===Ae[Se];Se++);if(Se===Ae.length)return 0;const Ce=Ae.subarray(Se);return 8*(Ce.length-1)+sr.nbits(Ce[0])},hexToUint8Array:function(Ae){const Se=new Uint8Array(Ae.length>>1);for(let Ce=0;Ce<Ae.length>>1;Ce++)Se[Ce]=parseInt(Ae.substr(Ce<<1,2),16);return Se},uint8ArrayToHex:function(Ae){const Se=[],Ce=Ae.length;let qe,Fe=0;for(;Fe<Ce;){for(qe=Ae[Fe++].toString(16);qe.length<2;)qe="0"+qe;Se.push(""+qe)}return Se.join("")},stringToUint8Array:function(Ae){return X(Ae,(Ae=>{if(!sr.isString(Ae))throw Error("stringToUint8Array: Data must be in the form of a string");const Se=new Uint8Array(Ae.length);for(let Ce=0;Ce<Ae.length;Ce++)Se[Ce]=Ae.charCodeAt(Ce);return Se}))},uint8ArrayToString:function(Ae){const Se=[],Ce=16384,qe=(Ae=new Uint8Array(Ae)).length;for(let Fe=0;Fe<qe;Fe+=Ce)Se.push(String.fromCharCode.apply(String,Ae.subarray(Fe,Fe+Ce<qe?Fe+Ce:qe)));return Se.join("")},encodeUTF8:function(Ae){const Se=new TextEncoder("utf-8");function r(Ae,Ce=!1){return Se.encode(Ae,{stream:!Ce})}return X(Ae,r,(()=>r("",!0)))},decodeUTF8:function(Ae){const Se=new TextDecoder("utf-8");function r(Ae,Ce=!1){return Se.decode(Ae,{stream:!Ce})}return X(Ae,r,(()=>r(new Uint8Array,!0)))},concat:W,concatUint8Array:x,equalsUint8Array:function(Ae,Se){if(!sr.isUint8Array(Ae)||!sr.isUint8Array(Se))throw Error("Data must be in the form of a Uint8Array");if(Ae.length!==Se.length)return!1;for(let Ce=0;Ce<Ae.length;Ce++)if(Ae[Ce]!==Se[Ce])return!1;return!0},writeChecksum:function(Ae){let Se=0;for(let Ce=0;Ce<Ae.length;Ce++)Se=Se+Ae[Ce]&65535;return sr.writeNumber(Se,2)},printDebug:function(Ae){nr&&console.log("[OpenPGP.js debug]",Ae)},printDebugError:function(Ae){nr&&console.error("[OpenPGP.js debug]",Ae)},nbits:function(Ae){let Se=1,Ce=Ae>>>16;return 0!==Ce&&(Ae=Ce,Se+=16),Ce=Ae>>8,0!==Ce&&(Ae=Ce,Se+=8),Ce=Ae>>4,0!==Ce&&(Ae=Ce,Se+=4),Ce=Ae>>2,0!==Ce&&(Ae=Ce,Se+=2),Ce=Ae>>1,0!==Ce&&(Ae=Ce,Se+=1),Se},double:function(Ae){const Se=new Uint8Array(Ae.length),Ce=Ae.length-1;for(let qe=0;qe<Ce;qe++)Se[qe]=Ae[qe]<<1^Ae[qe+1]>>7;return Se[Ce]=Ae[Ce]<<1^135*(Ae[0]>>7),Se},shiftRight:function(Ae,Se){if(Se)for(let Ce=Ae.length-1;Ce>=0;Ce--)Ae[Ce]>>=Se,Ce>0&&(Ae[Ce]|=Ae[Ce-1]<<8-Se);return Ae},getWebCrypto:function(){return void 0!==qe&&qe.crypto&&qe.crypto.subtle},getBigInteger:async function(){if(oe())return se;{const{default:Ae}=await Promise.resolve().then((function(){return fm}));return Ae}},getNodeCrypto:function(){return yt.default},getNodeZlib:function(){return mt.default},getNodeBuffer:function(){return(ht.default||{}).Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return vt.default.cpus().length},isEmailAddress:function(Ae){if(!sr.isString(Ae))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}[0-9]*|xn--[a-zA-Z\-0-9]+)))$/.test(Ae)},canonicalizeEOL:function(Ae){let Se=!1;return X(Ae,(Ae=>{let Ce;Se&&(Ae=sr.concatUint8Array([new Uint8Array([13]),Ae])),13===Ae[Ae.length-1]?(Se=!0,Ae=Ae.subarray(0,-1)):Se=!1;const qe=[];for(let Se=0;Ce=Ae.indexOf(10,Se)+1,Ce;Se=Ce)13!==Ae[Ce-2]&&qe.push(Ce);if(!qe.length)return Ae;const Fe=new Uint8Array(Ae.length+qe.length);let $e=0;for(let Se=0;Se<qe.length;Se++){const Ce=Ae.subarray(qe[Se-1]||0,qe[Se]);Fe.set(Ce,$e),$e+=Ce.length,Fe[$e-1]=13,Fe[$e]=10,$e++}return Fe.set(Ae.subarray(qe[qe.length-1]||0),$e),Fe}),(()=>Se?new Uint8Array([13]):void 0))},nativeEOL:function(Ae){let Se=!1;return X(Ae,(Ae=>{let Ce;13===(Ae=Se&&10!==Ae[0]?sr.concatUint8Array([new Uint8Array([13]),Ae]):new Uint8Array(Ae))[Ae.length-1]?(Se=!0,Ae=Ae.subarray(0,-1)):Se=!1;let qe=0;for(let Se=0;Se!==Ae.length;Se=Ce){Ce=Ae.indexOf(13,Se)+1,Ce||(Ce=Ae.length);const Fe=Ce-(10===Ae[Ce]?1:0);Se&&Ae.copyWithin(qe,Se,Fe),qe+=Fe-Se}return Ae.subarray(0,qe)}),(()=>Se?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(Ae){return Ae.split("\n").map((Ae=>{let Se=Ae.length-1;for(;Se>=0&&(" "===Ae[Se]||"\t"===Ae[Se]||"\r"===Ae[Se]);Se--);return Ae.substr(0,Se+1)})).join("\n")},wrapError:function(Ae,Se){if(!Se)return Error(Ae);try{Se.message=Ae+": "+Se.message}catch(Ae){}return Se},constructAllowedPackets:function(Ae){const Se={};return Ae.forEach((Ae=>{if(!Ae.tag)throw Error("Invalid input: expected a packet class");Se[Ae.tag]=Ae})),Se},anyPromise:function(Ae){return new Promise((async(Se,Ce)=>{let qe;await Promise.all(Ae.map((async Ae=>{try{Se(await Ae)}catch(Ae){qe=Ae}}))),Ce(qe)}))},selectUint8Array:function(Ae,Se,Ce){const qe=Math.max(Se.length,Ce.length),Fe=new Uint8Array(qe);let $e=0;for(let qe=0;qe<Fe.length;qe++)Fe[qe]=Se[qe]&256-Ae|Ce[qe]&255+Ae,$e+=Ae&qe<Se.length|1-Ae&qe<Ce.length;return Fe.subarray(0,$e)},selectUint8:function(Ae,Se,Ce){return Se&256-Ae|Ce&255+Ae},isAES:function(Ae){return Ae===ir.symmetric.aes128||Ae===ir.symmetric.aes192||Ae===ir.symmetric.aes256}},ar=sr.getNodeBuffer();let cr,ur;function ye(Ae){let Se=new Uint8Array;return X(Ae,(Ae=>{Se=sr.concatUint8Array([Se,Ae]);const Ce=[],qe=Math.floor(Se.length/45),Fe=45*qe,$e=cr(Se.subarray(0,Fe));for(let Ae=0;Ae<qe;Ae++)Ce.push($e.substr(60*Ae,60)),Ce.push("\n");return Se=Se.subarray(Fe),Ce.join("")}),(()=>Se.length?cr(Se)+"\n":""))}function be(Ae){let Se="";return X(Ae,(Ae=>{Se+=Ae;let Ce=0;const qe=[" ","\t","\r","\n"];for(let Ae=0;Ae<qe.length;Ae++){const Fe=qe[Ae];for(let Ae=Se.indexOf(Fe);-1!==Ae;Ae=Se.indexOf(Fe,Ae+1))Ce++}let Fe=Se.length;for(;Fe>0&&(Fe-Ce)%4!=0;Fe--)qe.includes(Se[Fe])&&Ce--;const $e=ur(Se.substr(0,Fe));return Se=Se.substr(Fe),$e}),(()=>ur(Se)))}function me(Ae){return be(Ae.replace(/-/g,"+").replace(/_/g,"/"))}function ge(Ae,Se){let Ce=ye(Ae).replace(/[\r\n]/g,"");return Se&&(Ce=Ce.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),Ce}ar?(cr=Ae=>ar.from(Ae).toString("base64"),ur=Ae=>{const Se=ar.from(Ae,"base64");return new Uint8Array(Se.buffer,Se.byteOffset,Se.byteLength)}):(cr=Ae=>btoa(sr.uint8ArrayToString(Ae)),ur=Ae=>sr.stringToUint8Array(atob(Ae)));var hr={preferredHashAlgorithm:ir.hash.sha256,preferredSymmetricAlgorithm:ir.symmetric.aes256,preferredCompressionAlgorithm:ir.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:ir.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kIterationCountByte:224,allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([ir.symmetric.aes128,ir.symmetric.aes192,ir.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.10.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([ir.hash.md5,ir.hash.ripemd]),rejectMessageHashAlgorithms:new Set([ir.hash.md5,ir.hash.ripemd,ir.hash.sha1]),rejectPublicKeyAlgorithms:new Set([ir.publicKey.elgamal,ir.publicKey.dsa]),rejectCurves:new Set([ir.curve.secp256k1])};function ve(Ae){const Se=Ae.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!Se)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(Se[1])?ir.armor.multipartSection:/MESSAGE, PART \d+/.test(Se[1])?ir.armor.multipartLast:/SIGNED MESSAGE/.test(Se[1])?ir.armor.signed:/MESSAGE/.test(Se[1])?ir.armor.message:/PUBLIC KEY BLOCK/.test(Se[1])?ir.armor.publicKey:/PRIVATE KEY BLOCK/.test(Se[1])?ir.armor.privateKey:/SIGNATURE/.test(Se[1])?ir.armor.signature:void 0}function _e(Ae,Se){let Ce="";return Se.showVersion&&(Ce+="Version: "+Se.versionString+"\n"),Se.showComment&&(Ce+="Comment: "+Se.commentString+"\n"),Ae&&(Ce+="Comment: "+Ae+"\n"),Ce+="\n",Ce}function ke(Ae){return ye(function(Ae){let Se=13501623;return X(Ae,(Ae=>{const Ce=dr?Math.floor(Ae.length/4):0,qe=new Uint32Array(Ae.buffer,Ae.byteOffset,Ce);for(let Ae=0;Ae<Ce;Ae++)Se^=qe[Ae],Se=lr[0][Se>>24&255]^lr[1][Se>>16&255]^lr[2][Se>>8&255]^lr[3][Se>>0&255];for(let qe=4*Ce;qe<Ae.length;qe++)Se=Se>>8^lr[0][255&Se^Ae[qe]]}),(()=>new Uint8Array([Se,Se>>8,Se>>16])))}(Ae))}const lr=[Array(255),Array(255),Array(255),Array(255)];for(let Ae=0;Ae<=255;Ae++){let Se=Ae<<16;for(let Ae=0;Ae<8;Ae++)Se=Se<<1^(0!=(8388608&Se)?8801531:0);lr[0][Ae]=(16711680&Se)>>16|65280&Se|(255&Se)<<16}for(let Ae=0;Ae<=255;Ae++)lr[1][Ae]=lr[0][Ae]>>8^lr[0][255&lr[0][Ae]];for(let Ae=0;Ae<=255;Ae++)lr[2][Ae]=lr[1][Ae]>>8^lr[0][255&lr[1][Ae]];for(let Ae=0;Ae<=255;Ae++)lr[3][Ae]=lr[2][Ae]>>8^lr[0][255&lr[2][Ae]];const dr=function(){const Ae=new ArrayBuffer(2);return new DataView(Ae).setInt16(0,255,!0),255===new Int16Array(Ae)[0]}();function Ee(Ae){for(let Se=0;Se<Ae.length;Se++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(Ae[Se])||sr.printDebugError(Error("Improperly formatted armor header: "+Ae[Se])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(Ae[Se])||sr.printDebugError(Error("Unknown header: "+Ae[Se]))}function Pe(Ae){let Se=Ae,Ce="";const qe=Ae.lastIndexOf("=");return qe>=0&&qe!==Ae.length-1&&(Se=Ae.slice(0,qe),Ce=Ae.slice(qe+1).substr(0,4)),{body:Se,checksum:Ce}}function xe(Ae,Se=hr){return new Promise((async(Ce,qe)=>{try{const Fe=/^-----[^-]+-----$/m,$e=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let rt;const it=[];let nt,st,ut,ht=it,ft=[],yt=be(Y(Ae,(async(Ae,Se)=>{const mt=H(Ae);try{for(;;){let Ae=await mt.readLine();if(void 0===Ae)throw Error("Misformed armored text");if(Ae=sr.removeTrailingSpaces(Ae.replace(/[\r\n]/g,"")),rt)if(nt)st||2!==rt||(Fe.test(Ae)?(ft=ft.join("\r\n"),st=!0,Ee(ht),ht=[],nt=!1):ft.push(Ae.replace(/^- /,"")));else if(Fe.test(Ae)&&qe(Error("Mandatory blank line missing between armor headers and armor data")),$e.test(Ae)){if(Ee(ht),nt=!0,st||2!==rt){Ce({text:ft,data:yt,headers:it,type:rt});break}}else ht.push(Ae);else Fe.test(Ae)&&(rt=ve(Ae))}}catch(Ae){return void qe(Ae)}const vt=G(Se);try{for(;;){await vt.ready;const{done:Ae,value:Se}=await mt.read();if(Ae)throw Error("Misformed armored text");const Ce=Se+"";if(-1!==Ce.indexOf("=")||-1!==Ce.indexOf("-")){let Ae=await mt.readToEnd();Ae.length||(Ae=""),Ae=Ce+Ae,Ae=sr.removeTrailingSpaces(Ae.replace(/\r/g,""));const Se=Ae.split(Fe);if(1===Se.length)throw Error("Misformed armored text");const qe=Pe(Se[0].slice(0,-1));ut=qe.checksum,await vt.write(qe.body);break}await vt.write(Ce)}await vt.ready,await vt.close()}catch(Ae){await vt.abort(Ae)}})));yt=Y(yt,(async(Ae,Ce)=>{const qe=ie(ke(ee(Ae)));qe.catch((()=>{})),await V(Ae,Ce,{preventClose:!0});const Fe=G(Ce);try{const Ae=(await qe).replace("\n","");if(ut!==Ae&&(ut||Se.checksumRequired))throw Error("Ascii armor integrity check failed");await Fe.ready,await Fe.close()}catch(Ae){await Fe.abort(Ae)}}))}catch(Ae){qe(Ae)}})).then((async Ae=>(_(Ae.data)&&(Ae.data=await ie(Ae.data)),Ae)))}function Me(Ae,Se,Ce,qe,Fe,$e=hr){let rt,it;Ae===ir.armor.signed&&(rt=Se.text,it=Se.hash,Se=Se.data);const nt=ee(Se),st=[];switch(Ae){case ir.armor.multipartSection:st.push("-----BEGIN PGP MESSAGE, PART "+Ce+"/"+qe+"-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP MESSAGE, PART "+Ce+"/"+qe+"-----\n");break;case ir.armor.multipartLast:st.push("-----BEGIN PGP MESSAGE, PART "+Ce+"-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP MESSAGE, PART "+Ce+"-----\n");break;case ir.armor.signed:st.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),st.push("Hash: "+it+"\n\n"),st.push(rt.replace(/^-/gm,"- -")),st.push("\n-----BEGIN PGP SIGNATURE-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP SIGNATURE-----\n");break;case ir.armor.message:st.push("-----BEGIN PGP MESSAGE-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP MESSAGE-----\n");break;case ir.armor.publicKey:st.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case ir.armor.privateKey:st.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case ir.armor.signature:st.push("-----BEGIN PGP SIGNATURE-----\n"),st.push(_e(Fe,$e)),st.push(ye(Se)),st.push("=",ke(nt)),st.push("-----END PGP SIGNATURE-----\n")}return sr.concat(st)}class Ke{constructor(){this.bytes=""}read(Ae){return this.bytes=sr.uint8ArrayToString(Ae.subarray(0,8)),this.bytes.length}write(){return sr.stringToUint8Array(this.bytes)}toHex(){return sr.uint8ArrayToHex(sr.stringToUint8Array(this.bytes))}equals(Ae,Se=!1){return Se&&(Ae.isWildcard()||this.isWildcard())||this.bytes===Ae.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(Ae){return Ae.toHex()}static fromID(Ae){const Se=new Ke;return Se.read(sr.hexToUint8Array(Ae)),Se}static wildcard(){const Ae=new Ke;return Ae.read(new Uint8Array(8)),Ae}}var fr=function(){var Ae,Se,Ce=!1;function i(Ce,qe){var Fe=Ae[(Se[Ce]+Se[qe])%255];return 0!==Ce&&0!==qe||(Fe=0),Fe}var qe,Fe,$e,rt,it=!1;function u(){function u(Ce){var qe,Fe,$e;for(Fe=$e=function(Ce){var qe=Ae[255-Se[Ce]];return 0===Ce&&(qe=0),qe}(Ce),qe=0;qe<4;qe++)$e^=Fe=255&(Fe<<1|Fe>>>7);return $e^=99}Ce||function(){Ae=[],Se=[];var qe,Fe,$e=1;for(qe=0;qe<255;qe++)Ae[qe]=$e,Fe=128&$e,$e<<=1,$e&=255,128===Fe&&($e^=27),$e^=Ae[qe],Se[Ae[qe]]=qe;Ae[255]=Ae[0],Se[0]=0,Ce=!0}(),qe=[],Fe=[],$e=[[],[],[],[]],rt=[[],[],[],[]];for(var nt=0;nt<256;nt++){var st=u(nt);qe[nt]=st,Fe[st]=nt,$e[0][nt]=i(2,st)<<24|st<<16|st<<8|i(3,st),rt[0][st]=i(14,nt)<<24|i(9,nt)<<16|i(13,nt)<<8|i(11,nt);for(var ut=1;ut<4;ut++)$e[ut][nt]=$e[ut-1][nt]>>>8|$e[ut-1][nt]<<24,rt[ut][st]=rt[ut-1][st]>>>8|rt[ut-1][st]<<24}it=!0}var h=function(Ae,Se){it||u();var Ce=new Uint32Array(Se);Ce.set(qe,512),Ce.set(Fe,768);for(var nt=0;nt<4;nt++)Ce.set($e[nt],4096+1024*nt>>2),Ce.set(rt[nt],8192+1024*nt>>2);var st=function(Ae,Se,Ce){"use asm";var qe=0,Fe=0,$e=0,rt=0,it=0,nt=0,st=0,ut=0,ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0,It=0,Ot=0,Nt=0,jt=0;var Ft=new Ae.Uint32Array(Ce),Lt=new Ae.Uint8Array(Ce);function P(Ae,Se,Ce,it,nt,st,ut,ht){Ae=Ae|0;Se=Se|0;Ce=Ce|0;it=it|0;nt=nt|0;st=st|0;ut=ut|0;ht=ht|0;var ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0;ft=Ce|0x400,yt=Ce|0x800,mt=Ce|0xc00;nt=nt^Ft[(Ae|0)>>2],st=st^Ft[(Ae|4)>>2],ut=ut^Ft[(Ae|8)>>2],ht=ht^Ft[(Ae|12)>>2];for(Ut=16;(Ut|0)<=it<<4;Ut=Ut+16|0){vt=Ft[(Ce|nt>>22&1020)>>2]^Ft[(ft|st>>14&1020)>>2]^Ft[(yt|ut>>6&1020)>>2]^Ft[(mt|ht<<2&1020)>>2]^Ft[(Ae|Ut|0)>>2],_t=Ft[(Ce|st>>22&1020)>>2]^Ft[(ft|ut>>14&1020)>>2]^Ft[(yt|ht>>6&1020)>>2]^Ft[(mt|nt<<2&1020)>>2]^Ft[(Ae|Ut|4)>>2],Ct=Ft[(Ce|ut>>22&1020)>>2]^Ft[(ft|ht>>14&1020)>>2]^Ft[(yt|nt>>6&1020)>>2]^Ft[(mt|st<<2&1020)>>2]^Ft[(Ae|Ut|8)>>2],Rt=Ft[(Ce|ht>>22&1020)>>2]^Ft[(ft|nt>>14&1020)>>2]^Ft[(yt|st>>6&1020)>>2]^Ft[(mt|ut<<2&1020)>>2]^Ft[(Ae|Ut|12)>>2];nt=vt,st=_t,ut=Ct,ht=Rt}qe=Ft[(Se|nt>>22&1020)>>2]<<24^Ft[(Se|st>>14&1020)>>2]<<16^Ft[(Se|ut>>6&1020)>>2]<<8^Ft[(Se|ht<<2&1020)>>2]^Ft[(Ae|Ut|0)>>2],Fe=Ft[(Se|st>>22&1020)>>2]<<24^Ft[(Se|ut>>14&1020)>>2]<<16^Ft[(Se|ht>>6&1020)>>2]<<8^Ft[(Se|nt<<2&1020)>>2]^Ft[(Ae|Ut|4)>>2],$e=Ft[(Se|ut>>22&1020)>>2]<<24^Ft[(Se|ht>>14&1020)>>2]<<16^Ft[(Se|nt>>6&1020)>>2]<<8^Ft[(Se|st<<2&1020)>>2]^Ft[(Ae|Ut|8)>>2],rt=Ft[(Se|ht>>22&1020)>>2]<<24^Ft[(Se|nt>>14&1020)>>2]<<16^Ft[(Se|st>>6&1020)>>2]<<8^Ft[(Se|ut<<2&1020)>>2]^Ft[(Ae|Ut|12)>>2]}function x(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;P(0x0000,0x0800,0x1000,jt,Ae,Se,Ce,qe)}function M(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;var $e=0;P(0x0400,0x0c00,0x2000,jt,Ae,qe,Ce,Se);$e=Fe,Fe=rt,rt=$e}function K(Ae,Se,Ce,ht){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;P(0x0000,0x0800,0x1000,jt,it^Ae,nt^Se,st^Ce,ut^ht);it=qe,nt=Fe,st=$e,ut=rt}function C(Ae,Se,Ce,ht){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;var ft=0;P(0x0400,0x0c00,0x2000,jt,Ae,ht,Ce,Se);ft=Fe,Fe=rt,rt=ft;qe=qe^it,Fe=Fe^nt,$e=$e^st,rt=rt^ut;it=Ae,nt=Se,st=Ce,ut=ht}function D(Ae,Se,Ce,ht){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;P(0x0000,0x0800,0x1000,jt,it,nt,st,ut);it=qe=qe^Ae,nt=Fe=Fe^Se,st=$e=$e^Ce,ut=rt=rt^ht}function U(Ae,Se,Ce,ht){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;P(0x0000,0x0800,0x1000,jt,it,nt,st,ut);qe=qe^Ae,Fe=Fe^Se,$e=$e^Ce,rt=rt^ht;it=Ae,nt=Se,st=Ce,ut=ht}function R(Ae,Se,Ce,ht){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;P(0x0000,0x0800,0x1000,jt,it,nt,st,ut);it=qe,nt=Fe,st=$e,ut=rt;qe=qe^Ae,Fe=Fe^Se,$e=$e^Ce,rt=rt^ht}function I(Ae,Se,Ce,it){Ae=Ae|0;Se=Se|0;Ce=Ce|0;it=it|0;P(0x0000,0x0800,0x1000,jt,ht,ft,yt,mt);mt=~Rt&mt|Rt&mt+1;yt=~Ct&yt|Ct&yt+((mt|0)==0);ft=~_t&ft|_t&ft+((yt|0)==0);ht=~vt&ht|vt&ht+((ft|0)==0);qe=qe^Ae;Fe=Fe^Se;$e=$e^Ce;rt=rt^it}function B(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;var Fe=0,$e=0,rt=0,ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0;Ae=Ae^it,Se=Se^nt,Ce=Ce^st,qe=qe^ut;Fe=Ut|0,$e=It|0,rt=Ot|0,ht=Nt|0;for(;(_t|0)<128;_t=_t+1|0){if(Fe>>>31){ft=ft^Ae,yt=yt^Se,mt=mt^Ce,vt=vt^qe}Fe=Fe<<1|$e>>>31,$e=$e<<1|rt>>>31,rt=rt<<1|ht>>>31,ht=ht<<1;Ct=qe&1;qe=qe>>>1|Ce<<31,Ce=Ce>>>1|Se<<31,Se=Se>>>1|Ae<<31,Ae=Ae>>>1;if(Ct)Ae=Ae^0xe1000000}it=ft,nt=yt,st=mt,ut=vt}function T(Ae){Ae=Ae|0;jt=Ae}function z(Ae,Se,Ce,it){Ae=Ae|0;Se=Se|0;Ce=Ce|0;it=it|0;qe=Ae,Fe=Se,$e=Ce,rt=it}function q(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;it=Ae,nt=Se,st=Ce,ut=qe}function F(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;ht=Ae,ft=Se,yt=Ce,mt=qe}function O(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;vt=Ae,_t=Se,Ct=Ce,Rt=qe}function L(Ae,Se,Ce,qe){Ae=Ae|0;Se=Se|0;Ce=Ce|0;qe=qe|0;mt=~Rt&mt|Rt&qe,yt=~Ct&yt|Ct&Ce,ft=~_t&ft|_t&Se,ht=~vt&ht|vt&Ae}function N(Ae){Ae=Ae|0;if(Ae&15)return-1;Lt[Ae|0]=qe>>>24,Lt[Ae|1]=qe>>>16&255,Lt[Ae|2]=qe>>>8&255,Lt[Ae|3]=qe&255,Lt[Ae|4]=Fe>>>24,Lt[Ae|5]=Fe>>>16&255,Lt[Ae|6]=Fe>>>8&255,Lt[Ae|7]=Fe&255,Lt[Ae|8]=$e>>>24,Lt[Ae|9]=$e>>>16&255,Lt[Ae|10]=$e>>>8&255,Lt[Ae|11]=$e&255,Lt[Ae|12]=rt>>>24,Lt[Ae|13]=rt>>>16&255,Lt[Ae|14]=rt>>>8&255,Lt[Ae|15]=rt&255;return 16}function j(Ae){Ae=Ae|0;if(Ae&15)return-1;Lt[Ae|0]=it>>>24,Lt[Ae|1]=it>>>16&255,Lt[Ae|2]=it>>>8&255,Lt[Ae|3]=it&255,Lt[Ae|4]=nt>>>24,Lt[Ae|5]=nt>>>16&255,Lt[Ae|6]=nt>>>8&255,Lt[Ae|7]=nt&255,Lt[Ae|8]=st>>>24,Lt[Ae|9]=st>>>16&255,Lt[Ae|10]=st>>>8&255,Lt[Ae|11]=st&255,Lt[Ae|12]=ut>>>24,Lt[Ae|13]=ut>>>16&255,Lt[Ae|14]=ut>>>8&255,Lt[Ae|15]=ut&255;return 16}function W(){x(0,0,0,0);Ut=qe,It=Fe,Ot=$e,Nt=rt}function H(Ae,Se,Ce){Ae=Ae|0;Se=Se|0;Ce=Ce|0;var it=0;if(Se&15)return-1;while((Ce|0)>=16){Ht[Ae&7](Lt[Se|0]<<24|Lt[Se|1]<<16|Lt[Se|2]<<8|Lt[Se|3],Lt[Se|4]<<24|Lt[Se|5]<<16|Lt[Se|6]<<8|Lt[Se|7],Lt[Se|8]<<24|Lt[Se|9]<<16|Lt[Se|10]<<8|Lt[Se|11],Lt[Se|12]<<24|Lt[Se|13]<<16|Lt[Se|14]<<8|Lt[Se|15]);Lt[Se|0]=qe>>>24,Lt[Se|1]=qe>>>16&255,Lt[Se|2]=qe>>>8&255,Lt[Se|3]=qe&255,Lt[Se|4]=Fe>>>24,Lt[Se|5]=Fe>>>16&255,Lt[Se|6]=Fe>>>8&255,Lt[Se|7]=Fe&255,Lt[Se|8]=$e>>>24,Lt[Se|9]=$e>>>16&255,Lt[Se|10]=$e>>>8&255,Lt[Se|11]=$e&255,Lt[Se|12]=rt>>>24,Lt[Se|13]=rt>>>16&255,Lt[Se|14]=rt>>>8&255,Lt[Se|15]=rt&255;it=it+16|0,Se=Se+16|0,Ce=Ce-16|0}return it|0}function G(Ae,Se,Ce){Ae=Ae|0;Se=Se|0;Ce=Ce|0;var qe=0;if(Se&15)return-1;while((Ce|0)>=16){Wt[Ae&1](Lt[Se|0]<<24|Lt[Se|1]<<16|Lt[Se|2]<<8|Lt[Se|3],Lt[Se|4]<<24|Lt[Se|5]<<16|Lt[Se|6]<<8|Lt[Se|7],Lt[Se|8]<<24|Lt[Se|9]<<16|Lt[Se|10]<<8|Lt[Se|11],Lt[Se|12]<<24|Lt[Se|13]<<16|Lt[Se|14]<<8|Lt[Se|15]);qe=qe+16|0,Se=Se+16|0,Ce=Ce-16|0}return qe|0}var Ht=[x,M,K,C,D,U,R,I];var Wt=[K,B];return{set_rounds:T,set_state:z,set_iv:q,set_nonce:F,set_mask:O,set_counter:L,get_state:N,get_iv:j,gcm_init:W,cipher:H,mac:G}}({Uint8Array:Uint8Array,Uint32Array:Uint32Array},Ae,Se);return st.set_key=function(Ae,Se,Fe,$e,it,nt,ut,ht,ft){var yt=Ce.subarray(0,60),mt=Ce.subarray(256,316);yt.set([Se,Fe,$e,it,nt,ut,ht,ft]);for(var vt=Ae,_t=1;vt<4*Ae+28;vt++){var Ct=yt[vt-1];(vt%Ae==0||8===Ae&&vt%Ae==4)&&(Ct=qe[Ct>>>24]<<24^qe[Ct>>>16&255]<<16^qe[Ct>>>8&255]<<8^qe[255&Ct]),vt%Ae==0&&(Ct=Ct<<8^Ct>>>24^_t<<24,_t=_t<<1^(128&_t?27:0)),yt[vt]=yt[vt-Ae]^Ct}for(var Rt=0;Rt<vt;Rt+=4)for(var Ut=0;Ut<4;Ut++){Ct=yt[vt-(4+Rt)+(4-Ut)%4];mt[Rt+Ut]=Rt<4||Rt>=vt-4?Ct:rt[0][qe[Ct>>>24]]^rt[1][qe[Ct>>>16&255]]^rt[2][qe[Ct>>>8&255]]^rt[3][qe[255&Ct]]}st.set_rounds(Ae+5)},st};return h.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},h.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},h.MAC={CBC:0,GCM:1},h.HEAP_DATA=16384,h}();function De(Ae){return Ae instanceof Uint8Array}function Ue(Ae,Se){const Ce=Ae?Ae.byteLength:Se||65536;if(4095&Ce||Ce<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return Ae=Ae||new Uint8Array(new ArrayBuffer(Ce))}function Re(Ae,Se,Ce,qe,Fe){const $e=Ae.length-Se,rt=$e<Fe?$e:Fe;return Ae.set(Ce.subarray(qe,qe+rt),Se),rt}function Ie(...Ae){const Se=Ae.reduce(((Ae,Se)=>Ae+Se.length),0),Ce=new Uint8Array(Se);let qe=0;for(let Se=0;Se<Ae.length;Se++)Ce.set(Ae[Se],qe),qe+=Ae[Se].length;return Ce}class Be extends Error{constructor(...Ae){super(...Ae)}}class Te extends Error{constructor(...Ae){super(...Ae)}}class ze extends Error{constructor(...Ae){super(...Ae)}}const yr=[],Cr=[];class Oe{constructor(Ae,Se,Ce=!0,qe,Fe,$e){this.pos=0,this.len=0,this.mode=qe,this.pos=0,this.len=0,this.key=Ae,this.iv=Se,this.padding=Ce,this.acquire_asm(Fe,$e)}acquire_asm(Ae,Se){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Ae||yr.pop()||Ue().subarray(fr.HEAP_DATA),this.asm=Se||Cr.pop()||new fr(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(yr.push(this.heap),Cr.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(Ae,Se){const{asm:Ce}=this.acquire_asm(),qe=Ae.length;if(16!==qe&&24!==qe&&32!==qe)throw new Te("illegal key size");const Fe=new DataView(Ae.buffer,Ae.byteOffset,Ae.byteLength);if(Ce.set_key(qe>>2,Fe.getUint32(0),Fe.getUint32(4),Fe.getUint32(8),Fe.getUint32(12),qe>16?Fe.getUint32(16):0,qe>16?Fe.getUint32(20):0,qe>24?Fe.getUint32(24):0,qe>24?Fe.getUint32(28):0),void 0!==Se){if(16!==Se.length)throw new Te("illegal iv size");let Ae=new DataView(Se.buffer,Se.byteOffset,Se.byteLength);Ce.set_iv(Ae.getUint32(0),Ae.getUint32(4),Ae.getUint32(8),Ae.getUint32(12))}else Ce.set_iv(0,0,0,0)}AES_Encrypt_process(Ae){if(!De(Ae))throw new TypeError("data isn't of expected type");let{heap:Se,asm:Ce}=this.acquire_asm(),qe=fr.ENC[this.mode],Fe=fr.HEAP_DATA,$e=this.pos,rt=this.len,it=0,nt=Ae.length||0,st=0,ut=0,ht=new Uint8Array(rt+nt&-16);for(;nt>0;)ut=Re(Se,$e+rt,Ae,it,nt),rt+=ut,it+=ut,nt-=ut,ut=Ce.cipher(qe,Fe+$e,rt),ut&&ht.set(Se.subarray($e,$e+ut),st),st+=ut,ut<rt?($e+=ut,rt-=ut):($e=0,rt=0);return this.pos=$e,this.len=rt,ht}AES_Encrypt_finish(){let{heap:Ae,asm:Se}=this.acquire_asm(),Ce=fr.ENC[this.mode],qe=fr.HEAP_DATA,Fe=this.pos,$e=this.len,rt=16-$e%16,it=$e;if(this.hasOwnProperty("padding")){if(this.padding){for(let Se=0;Se<rt;++Se)Ae[Fe+$e+Se]=rt;$e+=rt,it=$e}else if($e%16)throw new Te("data length must be a multiple of the block size")}else $e+=rt;const nt=new Uint8Array(it);return $e&&Se.cipher(Ce,qe+Fe,$e),it&&nt.set(Ae.subarray(Fe,Fe+it)),this.pos=0,this.len=0,this.release_asm(),nt}AES_Decrypt_process(Ae){if(!De(Ae))throw new TypeError("data isn't of expected type");let{heap:Se,asm:Ce}=this.acquire_asm(),qe=fr.DEC[this.mode],Fe=fr.HEAP_DATA,$e=this.pos,rt=this.len,it=0,nt=Ae.length||0,st=0,ut=rt+nt&-16,ht=0,ft=0;this.padding&&(ht=rt+nt-ut||16,ut-=ht);const yt=new Uint8Array(ut);for(;nt>0;)ft=Re(Se,$e+rt,Ae,it,nt),rt+=ft,it+=ft,nt-=ft,ft=Ce.cipher(qe,Fe+$e,rt-(nt?0:ht)),ft&&yt.set(Se.subarray($e,$e+ft),st),st+=ft,ft<rt?($e+=ft,rt-=ft):($e=0,rt=0);return this.pos=$e,this.len=rt,yt}AES_Decrypt_finish(){let{heap:Ae,asm:Se}=this.acquire_asm(),Ce=fr.DEC[this.mode],qe=fr.HEAP_DATA,Fe=this.pos,$e=this.len,rt=$e;if($e>0){if($e%16){if(this.hasOwnProperty("padding"))throw new Te("data length must be a multiple of the block size");$e+=16-$e%16}if(Se.cipher(Ce,qe+Fe,$e),this.hasOwnProperty("padding")&&this.padding){let Se=Ae[Fe+rt-1];if(Se<1||Se>16||Se>rt)throw new ze("bad padding");let Ce=0;for(let qe=Se;qe>1;qe--)Ce|=Se^Ae[Fe+rt-qe];if(Ce)throw new ze("bad padding");rt-=Se}}const it=new Uint8Array(rt);return rt>0&&it.set(Ae.subarray(Fe,Fe+rt)),this.pos=0,this.len=0,this.release_asm(),it}}class Le{static encrypt(Ae,Se,Ce=!1){return new Le(Se,Ce).encrypt(Ae)}static decrypt(Ae,Se,Ce=!1){return new Le(Se,Ce).decrypt(Ae)}constructor(Ae,Se=!1,Ce){this.aes=Ce||new Oe(Ae,void 0,Se,"ECB")}encrypt(Ae){return Ie(this.aes.AES_Encrypt_process(Ae),this.aes.AES_Encrypt_finish())}decrypt(Ae){return Ie(this.aes.AES_Decrypt_process(Ae),this.aes.AES_Decrypt_finish())}}function Ne(Ae){const t=function(Ae){const Se=new Le(Ae);this.encrypt=function(Ae){return Se.encrypt(Ae)},this.decrypt=function(Ae){return Se.decrypt(Ae)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=Ae/8,t}function je(Ae,Se,Ce,qe,Fe,$e){const rt=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],it=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],nt=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],st=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],ut=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],ht=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],ft=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],yt=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let mt,vt,_t,Ct,Rt,Ut,It,Ot,Nt,jt,Ft,Lt,Ht,Wt,Gt=0,$t=Se.length;const Vt=32===Ae.length?3:9;Ot=3===Vt?Ce?[0,32,2]:[30,-2,-2]:Ce?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],Ce&&(Se=function(Ae,Se){const Ce=8-Ae.length%8;let qe;if(2===Se&&Ce<8)qe=32;else if(1===Se)qe=Ce;else{if(Se||!(Ce<8)){if(8===Ce)return Ae;throw Error("des: invalid padding")}qe=0}const Fe=new Uint8Array(Ae.length+Ce);for(let Se=0;Se<Ae.length;Se++)Fe[Se]=Ae[Se];for(let Se=0;Se<Ce;Se++)Fe[Ae.length+Se]=qe;return Fe}(Se,$e),$t=Se.length);let Zt=new Uint8Array($t),Qt=0;for(1===qe&&(Nt=Fe[Gt++]<<24|Fe[Gt++]<<16|Fe[Gt++]<<8|Fe[Gt++],Ft=Fe[Gt++]<<24|Fe[Gt++]<<16|Fe[Gt++]<<8|Fe[Gt++],Gt=0);Gt<$t;){for(Ut=Se[Gt++]<<24|Se[Gt++]<<16|Se[Gt++]<<8|Se[Gt++],It=Se[Gt++]<<24|Se[Gt++]<<16|Se[Gt++]<<8|Se[Gt++],1===qe&&(Ce?(Ut^=Nt,It^=Ft):(jt=Nt,Lt=Ft,Nt=Ut,Ft=It)),_t=252645135&(Ut>>>4^It),It^=_t,Ut^=_t<<4,_t=65535&(Ut>>>16^It),It^=_t,Ut^=_t<<16,_t=858993459&(It>>>2^Ut),Ut^=_t,It^=_t<<2,_t=16711935&(It>>>8^Ut),Ut^=_t,It^=_t<<8,_t=1431655765&(Ut>>>1^It),It^=_t,Ut^=_t<<1,Ut=Ut<<1|Ut>>>31,It=It<<1|It>>>31,vt=0;vt<Vt;vt+=3){for(Ht=Ot[vt+1],Wt=Ot[vt+2],mt=Ot[vt];mt!==Ht;mt+=Wt)Ct=It^Ae[mt],Rt=(It>>>4|It<<28)^Ae[mt+1],_t=Ut,Ut=It,It=_t^(it[Ct>>>24&63]|st[Ct>>>16&63]|ht[Ct>>>8&63]|yt[63&Ct]|rt[Rt>>>24&63]|nt[Rt>>>16&63]|ut[Rt>>>8&63]|ft[63&Rt]);_t=Ut,Ut=It,It=_t}Ut=Ut>>>1|Ut<<31,It=It>>>1|It<<31,_t=1431655765&(Ut>>>1^It),It^=_t,Ut^=_t<<1,_t=16711935&(It>>>8^Ut),Ut^=_t,It^=_t<<8,_t=858993459&(It>>>2^Ut),Ut^=_t,It^=_t<<2,_t=65535&(Ut>>>16^It),It^=_t,Ut^=_t<<16,_t=252645135&(Ut>>>4^It),It^=_t,Ut^=_t<<4,1===qe&&(Ce?(Nt=Ut,Ft=It):(Ut^=jt,It^=Lt)),Zt[Qt++]=Ut>>>24,Zt[Qt++]=Ut>>>16&255,Zt[Qt++]=Ut>>>8&255,Zt[Qt++]=255&Ut,Zt[Qt++]=It>>>24,Zt[Qt++]=It>>>16&255,Zt[Qt++]=It>>>8&255,Zt[Qt++]=255&It}return Ce||(Zt=function(Ae,Se){let Ce,qe=null;if(2===Se)Ce=32;else if(1===Se)qe=Ae[Ae.length-1];else{if(Se)throw Error("des: invalid padding");Ce=0}if(!qe){for(qe=1;Ae[Ae.length-qe]===Ce;)qe++;qe--}return Ae.subarray(0,Ae.length-qe)}(Zt,$e)),Zt}function We(Ae){const Se=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],Ce=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],qe=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],Fe=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],$e=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],rt=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],it=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],nt=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],st=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],ut=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],ht=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],ft=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],yt=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],mt=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],vt=Ae.length>8?3:1,_t=Array(32*vt),Ct=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let Rt,Ut,It,Ot=0,Nt=0;for(let jt=0;jt<vt;jt++){let vt=Ae[Ot++]<<24|Ae[Ot++]<<16|Ae[Ot++]<<8|Ae[Ot++],jt=Ae[Ot++]<<24|Ae[Ot++]<<16|Ae[Ot++]<<8|Ae[Ot++];It=252645135&(vt>>>4^jt),jt^=It,vt^=It<<4,It=65535&(jt>>>-16^vt),vt^=It,jt^=It<<-16,It=858993459&(vt>>>2^jt),jt^=It,vt^=It<<2,It=65535&(jt>>>-16^vt),vt^=It,jt^=It<<-16,It=1431655765&(vt>>>1^jt),jt^=It,vt^=It<<1,It=16711935&(jt>>>8^vt),vt^=It,jt^=It<<8,It=1431655765&(vt>>>1^jt),jt^=It,vt^=It<<1,It=vt<<8|jt>>>20&240,vt=jt<<24|jt<<8&16711680|jt>>>8&65280|jt>>>24&240,jt=It;for(let Ae=0;Ae<16;Ae++)Ct[Ae]?(vt=vt<<2|vt>>>26,jt=jt<<2|jt>>>26):(vt=vt<<1|vt>>>27,jt=jt<<1|jt>>>27),vt&=-15,jt&=-15,Rt=Se[vt>>>28]|Ce[vt>>>24&15]|qe[vt>>>20&15]|Fe[vt>>>16&15]|$e[vt>>>12&15]|rt[vt>>>8&15]|it[vt>>>4&15],Ut=nt[jt>>>28]|st[jt>>>24&15]|ut[jt>>>20&15]|ht[jt>>>16&15]|ft[jt>>>12&15]|yt[jt>>>8&15]|mt[jt>>>4&15],It=65535&(Ut>>>16^Rt),_t[Nt++]=Rt^It,_t[Nt++]=Ut^It<<16}return _t}function He(Ae){this.key=[];for(let Se=0;Se<3;Se++)this.key.push(new Uint8Array(Ae.subarray(8*Se,8*Se+8)));this.encrypt=function(Ae){return je(We(this.key[2]),je(We(this.key[1]),je(We(this.key[0]),Ae,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function Ge(){this.BlockSize=8,this.KeySize=16,this.setKey=function(Ae){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),Ae.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(Ae),!0},this.reset=function(){for(let Ae=0;Ae<16;Ae++)this.masking[Ae]=0,this.rotate[Ae]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(Ae){const Se=Array(Ae.length);for(let Ce=0;Ce<Ae.length;Ce+=8){let qe,Fe=Ae[Ce]<<24|Ae[Ce+1]<<16|Ae[Ce+2]<<8|Ae[Ce+3],$e=Ae[Ce+4]<<24|Ae[Ce+5]<<16|Ae[Ce+6]<<8|Ae[Ce+7];qe=$e,$e=Fe^r($e,this.masking[0],this.rotate[0]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[1],this.rotate[1]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[2],this.rotate[2]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[3],this.rotate[3]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[4],this.rotate[4]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[5],this.rotate[5]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[6],this.rotate[6]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[7],this.rotate[7]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[8],this.rotate[8]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[9],this.rotate[9]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[10],this.rotate[10]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[11],this.rotate[11]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[12],this.rotate[12]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[13],this.rotate[13]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[14],this.rotate[14]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[15],this.rotate[15]),Fe=qe,Se[Ce]=$e>>>24&255,Se[Ce+1]=$e>>>16&255,Se[Ce+2]=$e>>>8&255,Se[Ce+3]=255&$e,Se[Ce+4]=Fe>>>24&255,Se[Ce+5]=Fe>>>16&255,Se[Ce+6]=Fe>>>8&255,Se[Ce+7]=255&Fe}return Se},this.decrypt=function(Ae){const Se=Array(Ae.length);for(let Ce=0;Ce<Ae.length;Ce+=8){let qe,Fe=Ae[Ce]<<24|Ae[Ce+1]<<16|Ae[Ce+2]<<8|Ae[Ce+3],$e=Ae[Ce+4]<<24|Ae[Ce+5]<<16|Ae[Ce+6]<<8|Ae[Ce+7];qe=$e,$e=Fe^r($e,this.masking[15],this.rotate[15]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[14],this.rotate[14]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[13],this.rotate[13]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[12],this.rotate[12]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[11],this.rotate[11]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[10],this.rotate[10]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[9],this.rotate[9]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[8],this.rotate[8]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[7],this.rotate[7]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[6],this.rotate[6]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[5],this.rotate[5]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[4],this.rotate[4]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[3],this.rotate[3]),Fe=qe,qe=$e,$e=Fe^n($e,this.masking[2],this.rotate[2]),Fe=qe,qe=$e,$e=Fe^i($e,this.masking[1],this.rotate[1]),Fe=qe,qe=$e,$e=Fe^r($e,this.masking[0],this.rotate[0]),Fe=qe,Se[Ce]=$e>>>24&255,Se[Ce+1]=$e>>>16&255,Se[Ce+2]=$e>>>8&255,Se[Ce+3]=255&$e,Se[Ce+4]=Fe>>>24&255,Se[Ce+5]=Fe>>16&255,Se[Ce+6]=Fe>>8&255,Se[Ce+7]=255&Fe}return Se};const Ae=[,,,,];Ae[0]=[,,,,],Ae[0][0]=[4,0,13,15,12,14,8],Ae[0][1]=[5,2,16,18,17,19,10],Ae[0][2]=[6,3,23,22,21,20,9],Ae[0][3]=[7,1,26,25,27,24,11],Ae[1]=[,,,,],Ae[1][0]=[0,6,21,23,20,22,16],Ae[1][1]=[1,4,0,2,1,3,18],Ae[1][2]=[2,5,7,6,5,4,17],Ae[1][3]=[3,7,10,9,11,8,19],Ae[2]=[,,,,],Ae[2][0]=[4,0,13,15,12,14,8],Ae[2][1]=[5,2,16,18,17,19,10],Ae[2][2]=[6,3,23,22,21,20,9],Ae[2][3]=[7,1,26,25,27,24,11],Ae[3]=[,,,,],Ae[3][0]=[0,6,21,23,20,22,16],Ae[3][1]=[1,4,0,2,1,3,18],Ae[3][2]=[2,5,7,6,5,4,17],Ae[3][3]=[3,7,10,9,11,8,19];const Se=[,,,,];function r(Ae,Se,qe){const Fe=Se+Ae,$e=Fe<<qe|Fe>>>32-qe;return(Ce[0][$e>>>24]^Ce[1][$e>>>16&255])-Ce[2][$e>>>8&255]+Ce[3][255&$e]}function i(Ae,Se,qe){const Fe=Se^Ae,$e=Fe<<qe|Fe>>>32-qe;return Ce[0][$e>>>24]-Ce[1][$e>>>16&255]+Ce[2][$e>>>8&255]^Ce[3][255&$e]}function n(Ae,Se,qe){const Fe=Se-Ae,$e=Fe<<qe|Fe>>>32-qe;return(Ce[0][$e>>>24]+Ce[1][$e>>>16&255]^Ce[2][$e>>>8&255])-Ce[3][255&$e]}Se[0]=[,,,,],Se[0][0]=[24,25,23,22,18],Se[0][1]=[26,27,21,20,22],Se[0][2]=[28,29,19,18,25],Se[0][3]=[30,31,17,16,28],Se[1]=[,,,,],Se[1][0]=[3,2,12,13,8],Se[1][1]=[1,0,14,15,13],Se[1][2]=[7,6,8,9,3],Se[1][3]=[5,4,10,11,7],Se[2]=[,,,,],Se[2][0]=[19,18,28,29,25],Se[2][1]=[17,16,30,31,28],Se[2][2]=[23,22,24,25,18],Se[2][3]=[21,20,26,27,22],Se[3]=[,,,,],Se[3][0]=[8,9,7,6,3],Se[3][1]=[10,11,5,4,7],Se[3][2]=[12,13,3,2,8],Se[3][3]=[14,15,1,0,13],this.keySchedule=function(qe){const Fe=[,,,,,,,,],$e=Array(32);let rt;for(let Ae=0;Ae<4;Ae++)rt=4*Ae,Fe[Ae]=qe[rt]<<24|qe[rt+1]<<16|qe[rt+2]<<8|qe[rt+3];const it=[6,7,4,5];let nt,st=0;for(let qe=0;qe<2;qe++)for(let qe=0;qe<4;qe++){for(rt=0;rt<4;rt++){const Se=Ae[qe][rt];nt=Fe[Se[1]],nt^=Ce[4][Fe[Se[2]>>>2]>>>24-8*(3&Se[2])&255],nt^=Ce[5][Fe[Se[3]>>>2]>>>24-8*(3&Se[3])&255],nt^=Ce[6][Fe[Se[4]>>>2]>>>24-8*(3&Se[4])&255],nt^=Ce[7][Fe[Se[5]>>>2]>>>24-8*(3&Se[5])&255],nt^=Ce[it[rt]][Fe[Se[6]>>>2]>>>24-8*(3&Se[6])&255],Fe[Se[0]]=nt}for(rt=0;rt<4;rt++){const Ae=Se[qe][rt];nt=Ce[4][Fe[Ae[0]>>>2]>>>24-8*(3&Ae[0])&255],nt^=Ce[5][Fe[Ae[1]>>>2]>>>24-8*(3&Ae[1])&255],nt^=Ce[6][Fe[Ae[2]>>>2]>>>24-8*(3&Ae[2])&255],nt^=Ce[7][Fe[Ae[3]>>>2]>>>24-8*(3&Ae[3])&255],nt^=Ce[4+rt][Fe[Ae[4]>>>2]>>>24-8*(3&Ae[4])&255],$e[st]=nt,st++}}for(let Ae=0;Ae<16;Ae++)this.masking[Ae]=$e[Ae],this.rotate[Ae]=31&$e[16+Ae]};const Ce=[,,,,,,,,];Ce[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],Ce[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],Ce[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],Ce[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],Ce[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],Ce[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],Ce[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],Ce[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Ve(Ae){this.cast5=new Ge,this.cast5.setKey(Ae),this.encrypt=function(Ae){return this.cast5.encrypt(Ae)}}He.keySize=He.prototype.keySize=24,He.blockSize=He.prototype.blockSize=8,Ve.blockSize=Ve.prototype.blockSize=8,Ve.keySize=Ve.prototype.keySize=16;const Dr=4294967295;function Ze(Ae,Se){return(Ae<<Se|Ae>>>32-Se)&Dr}function Xe(Ae,Se){return Ae[Se]|Ae[Se+1]<<8|Ae[Se+2]<<16|Ae[Se+3]<<24}function Ye(Ae,Se,Ce){Ae.splice(Se,4,255&Ce,Ce>>>8&255,Ce>>>16&255,Ce>>>24&255)}function Qe(Ae,Se){return Ae>>>8*Se&255}function Je(Ae){this.tf=function(){let Ae=null,Se=null,Ce=-1,qe=[],Fe=[[],[],[],[]];function a(Ae){return Fe[0][Qe(Ae,0)]^Fe[1][Qe(Ae,1)]^Fe[2][Qe(Ae,2)]^Fe[3][Qe(Ae,3)]}function s(Ae){return Fe[0][Qe(Ae,3)]^Fe[1][Qe(Ae,0)]^Fe[2][Qe(Ae,1)]^Fe[3][Qe(Ae,2)]}function o(Ae,Se){let Ce=a(Se[0]),Fe=s(Se[1]);Se[2]=Ze(Se[2]^Ce+Fe+qe[4*Ae+8]&Dr,31),Se[3]=Ze(Se[3],1)^Ce+2*Fe+qe[4*Ae+9]&Dr,Ce=a(Se[2]),Fe=s(Se[3]),Se[0]=Ze(Se[0]^Ce+Fe+qe[4*Ae+10]&Dr,31),Se[1]=Ze(Se[1],1)^Ce+2*Fe+qe[4*Ae+11]&Dr}function c(Ae,Se){let Ce=a(Se[0]),Fe=s(Se[1]);Se[2]=Ze(Se[2],1)^Ce+Fe+qe[4*Ae+10]&Dr,Se[3]=Ze(Se[3]^Ce+2*Fe+qe[4*Ae+11]&Dr,31),Ce=a(Se[2]),Fe=s(Se[3]),Se[0]=Ze(Se[0],1)^Ce+Fe+qe[4*Ae+8]&Dr,Se[1]=Ze(Se[1]^Ce+2*Fe+qe[4*Ae+9]&Dr,31)}return{name:"twofish",blocksize:16,open:function(Se){let Ce,$e,rt,it,nt;Ae=Se;const st=[],ut=[],ht=[];let ft;const yt=[];let mt,vt,_t;const Ct=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],Rt=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],Ut=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],It=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],Ot=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],Nt=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],jt=[[],[]],Ft=[[],[],[],[]];function E(Ae){return Ae^Ae>>2^[0,90,180,238][3&Ae]}function P(Ae){return Ae^Ae>>1^Ae>>2^[0,238,180,90][3&Ae]}function x(Ae,Se){let Ce,qe,Fe;for(Ce=0;Ce<8;Ce++)qe=Se>>>24,Se=Se<<8&Dr|Ae>>>24,Ae=Ae<<8&Dr,Fe=qe<<1,128&qe&&(Fe^=333),Se^=qe^Fe<<16,Fe^=qe>>>1,1&qe&&(Fe^=166),Se^=Fe<<24|Fe<<8;return Se}function M(Ae,Se){const Ce=Se>>4,qe=15&Se,Fe=Ct[Ae][Ce^qe],$e=Rt[Ae][Ot[qe]^Nt[Ce]];return It[Ae][Ot[$e]^Nt[Fe]]<<4|Ut[Ae][Fe^$e]}function K(Ae,Se){let Ce=Qe(Ae,0),qe=Qe(Ae,1),Fe=Qe(Ae,2),$e=Qe(Ae,3);switch(ft){case 4:Ce=jt[1][Ce]^Qe(Se[3],0),qe=jt[0][qe]^Qe(Se[3],1),Fe=jt[0][Fe]^Qe(Se[3],2),$e=jt[1][$e]^Qe(Se[3],3);case 3:Ce=jt[1][Ce]^Qe(Se[2],0),qe=jt[1][qe]^Qe(Se[2],1),Fe=jt[0][Fe]^Qe(Se[2],2),$e=jt[0][$e]^Qe(Se[2],3);case 2:Ce=jt[0][jt[0][Ce]^Qe(Se[1],0)]^Qe(Se[0],0),qe=jt[0][jt[1][qe]^Qe(Se[1],1)]^Qe(Se[0],1),Fe=jt[1][jt[0][Fe]^Qe(Se[1],2)]^Qe(Se[0],2),$e=jt[1][jt[1][$e]^Qe(Se[1],3)]^Qe(Se[0],3)}return Ft[0][Ce]^Ft[1][qe]^Ft[2][Fe]^Ft[3][$e]}for(Ae=Ae.slice(0,32),Ce=Ae.length;16!==Ce&&24!==Ce&&32!==Ce;)Ae[Ce++]=0;for(Ce=0;Ce<Ae.length;Ce+=4)ht[Ce>>2]=Xe(Ae,Ce);for(Ce=0;Ce<256;Ce++)jt[0][Ce]=M(0,Ce),jt[1][Ce]=M(1,Ce);for(Ce=0;Ce<256;Ce++)mt=jt[1][Ce],vt=E(mt),_t=P(mt),Ft[0][Ce]=mt+(vt<<8)+(_t<<16)+(_t<<24),Ft[2][Ce]=vt+(_t<<8)+(mt<<16)+(_t<<24),mt=jt[0][Ce],vt=E(mt),_t=P(mt),Ft[1][Ce]=_t+(_t<<8)+(vt<<16)+(mt<<24),Ft[3][Ce]=vt+(mt<<8)+(_t<<16)+(vt<<24);for(ft=ht.length/2,Ce=0;Ce<ft;Ce++)$e=ht[Ce+Ce],st[Ce]=$e,rt=ht[Ce+Ce+1],ut[Ce]=rt,yt[ft-Ce-1]=x($e,rt);for(Ce=0;Ce<40;Ce+=2)$e=16843009*Ce,rt=$e+16843009,$e=K($e,st),rt=Ze(K(rt,ut),8),qe[Ce]=$e+rt&Dr,qe[Ce+1]=Ze($e+2*rt,9);for(Ce=0;Ce<256;Ce++)switch($e=rt=it=nt=Ce,ft){case 4:$e=jt[1][$e]^Qe(yt[3],0),rt=jt[0][rt]^Qe(yt[3],1),it=jt[0][it]^Qe(yt[3],2),nt=jt[1][nt]^Qe(yt[3],3);case 3:$e=jt[1][$e]^Qe(yt[2],0),rt=jt[1][rt]^Qe(yt[2],1),it=jt[0][it]^Qe(yt[2],2),nt=jt[0][nt]^Qe(yt[2],3);case 2:Fe[0][Ce]=Ft[0][jt[0][jt[0][$e]^Qe(yt[1],0)]^Qe(yt[0],0)],Fe[1][Ce]=Ft[1][jt[0][jt[1][rt]^Qe(yt[1],1)]^Qe(yt[0],1)],Fe[2][Ce]=Ft[2][jt[1][jt[0][it]^Qe(yt[1],2)]^Qe(yt[0],2)],Fe[3][Ce]=Ft[3][jt[1][jt[1][nt]^Qe(yt[1],3)]^Qe(yt[0],3)]}},close:function(){qe=[],Fe=[[],[],[],[]]},encrypt:function(Ae,Fe){Se=Ae,Ce=Fe;const $e=[Xe(Se,Ce)^qe[0],Xe(Se,Ce+4)^qe[1],Xe(Se,Ce+8)^qe[2],Xe(Se,Ce+12)^qe[3]];for(let Ae=0;Ae<8;Ae++)o(Ae,$e);return Ye(Se,Ce,$e[2]^qe[4]),Ye(Se,Ce+4,$e[3]^qe[5]),Ye(Se,Ce+8,$e[0]^qe[6]),Ye(Se,Ce+12,$e[1]^qe[7]),Ce+=16,Se},decrypt:function(Ae,Fe){Se=Ae,Ce=Fe;const $e=[Xe(Se,Ce)^qe[4],Xe(Se,Ce+4)^qe[5],Xe(Se,Ce+8)^qe[6],Xe(Se,Ce+12)^qe[7]];for(let Ae=7;Ae>=0;Ae--)c(Ae,$e);Ye(Se,Ce,$e[2]^qe[0]),Ye(Se,Ce+4,$e[3]^qe[1]),Ye(Se,Ce+8,$e[0]^qe[2]),Ye(Se,Ce+12,$e[1]^qe[3]),Ce+=16},finalize:function(){return Se}}}(),this.tf.open(Array.from(Ae),0),this.encrypt=function(Ae){return this.tf.encrypt(Array.from(Ae),0)}}function et(){}function tt(Ae){this.bf=new et,this.bf.init(Ae),this.encrypt=function(Ae){return this.bf.encryptBlock(Ae)}}Je.keySize=Je.prototype.keySize=32,Je.blockSize=Je.prototype.blockSize=16,et.prototype.BLOCKSIZE=8,et.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],et.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],et.prototype.NN=16,et.prototype._clean=function(Ae){if(Ae<0){Ae=(2147483647&Ae)+2147483648}return Ae},et.prototype._F=function(Ae){let Se;const Ce=255&Ae,qe=255&(Ae>>>=8),Fe=255&(Ae>>>=8),$e=255&(Ae>>>=8);return Se=this.sboxes[0][$e]+this.sboxes[1][Fe],Se^=this.sboxes[2][qe],Se+=this.sboxes[3][Ce],Se},et.prototype._encryptBlock=function(Ae){let Se,Ce=Ae[0],qe=Ae[1];for(Se=0;Se<this.NN;++Se){Ce^=this.parray[Se],qe=this._F(Ce)^qe;const Ae=Ce;Ce=qe,qe=Ae}Ce^=this.parray[this.NN+0],qe^=this.parray[this.NN+1],Ae[0]=this._clean(qe),Ae[1]=this._clean(Ce)},et.prototype.encryptBlock=function(Ae){let Se;const Ce=[0,0],qe=this.BLOCKSIZE/2;for(Se=0;Se<this.BLOCKSIZE/2;++Se)Ce[0]=Ce[0]<<8|255&Ae[Se+0],Ce[1]=Ce[1]<<8|255&Ae[Se+qe];this._encryptBlock(Ce);const Fe=[];for(Se=0;Se<this.BLOCKSIZE/2;++Se)Fe[Se+0]=Ce[0]>>>24-8*Se&255,Fe[Se+qe]=Ce[1]>>>24-8*Se&255;return Fe},et.prototype._decryptBlock=function(Ae){let Se,Ce=Ae[0],qe=Ae[1];for(Se=this.NN+1;Se>1;--Se){Ce^=this.parray[Se],qe=this._F(Ce)^qe;const Ae=Ce;Ce=qe,qe=Ae}Ce^=this.parray[1],qe^=this.parray[0],Ae[0]=this._clean(qe),Ae[1]=this._clean(Ce)},et.prototype.init=function(Ae){let Se,Ce=0;for(this.parray=[],Se=0;Se<this.NN+2;++Se){let qe=0;for(let Se=0;Se<4;++Se)qe=qe<<8|255&Ae[Ce],++Ce>=Ae.length&&(Ce=0);this.parray[Se]=this.PARRAY[Se]^qe}for(this.sboxes=[],Se=0;Se<4;++Se)for(this.sboxes[Se]=[],Ce=0;Ce<256;++Ce)this.sboxes[Se][Ce]=this.SBOXES[Se][Ce];const qe=[0,0];for(Se=0;Se<this.NN+2;Se+=2)this._encryptBlock(qe),this.parray[Se+0]=qe[0],this.parray[Se+1]=qe[1];for(Se=0;Se<4;++Se)for(Ce=0;Ce<256;Ce+=2)this._encryptBlock(qe),this.sboxes[Se][Ce+0]=qe[0],this.sboxes[Se][Ce+1]=qe[1]},tt.keySize=tt.prototype.keySize=16,tt.blockSize=tt.prototype.blockSize=8;const Rr=Ne(128),Kr=Ne(192),Tr=Ne(256),at=function(Ae){this.key=Ae,this.encrypt=function(Ae,Se){return je(We(this.key),Ae,!0,0,null,Se)},this.decrypt=function(Ae,Se){return je(We(this.key),Ae,!1,0,null,Se)}};var Ur=Object.freeze({__proto__:null,aes128:Rr,aes192:Kr,aes256:Tr,des:at,tripledes:He,cast5:Ve,twofish:Je,blowfish:tt,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),ot=function(Ae,Se,Ce){"use asm";var qe=0,Fe=0,$e=0,rt=0,it=0,nt=0,st=0;var ut=0,ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0;var It=new Ae.Uint8Array(Ce);function _(Ae,Se,Ce,nt,st,ut,ht,ft,yt,mt,vt,_t,Ct,Rt,Ut,It){Ae=Ae|0;Se=Se|0;Ce=Ce|0;nt=nt|0;st=st|0;ut=ut|0;ht=ht|0;ft=ft|0;yt=yt|0;mt=mt|0;vt=vt|0;_t=_t|0;Ct=Ct|0;Rt=Rt|0;Ut=Ut|0;It=It|0;var Ot=0,Nt=0,jt=0,Ft=0,Lt=0,Ht=0,Wt=0,Gt=0,$t=0,Vt=0,Zt=0,Qt=0,Xt=0,er=0,tr=0,rr=0,ir=0,nr=0,sr=0,ar=0,cr=0,ur=0,hr=0,lr=0,dr=0,fr=0,yr=0,Cr=0,Dr=0,Rr=0,Kr=0,Tr=0,Ur=0,Ir=0,Or=0,Nr=0,jr=0,Lr=0,Wr=0,Qr=0,ti=0,ri=0,ii=0,oi=0,ci=0,li=0,di=0,fi=0,pi=0,yi=0,gi=0,vi=0,wi=0,ki=0,Si=0,Ei=0,Mi=0,Pi=0,xi=0,Ci=0,Di=0,Ki=0,Ti=0,Ui=0,Ni=0,ji=0,qi=0,zi=0,Hi=0,$i=0,Vi=0;Ot=qe;Nt=Fe;jt=$e;Ft=rt;Lt=it;Wt=Ae+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=Se+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=Ce+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=nt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=st+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=ut+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=ht+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=ft+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=yt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=mt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=vt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=_t+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=Ct+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=Rt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=Ut+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Wt=It+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Rt^yt^Ce^Ae;Gt=Ht<<1|Ht>>>31;Wt=Gt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ut^mt^nt^Se;$t=Ht<<1|Ht>>>31;Wt=$t+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=It^vt^st^Ce;Vt=Ht<<1|Ht>>>31;Wt=Vt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Gt^_t^ut^nt;Zt=Ht<<1|Ht>>>31;Wt=Zt+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|~Nt&Ft)+0x5a827999|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=$t^Ct^ht^st;Qt=Ht<<1|Ht>>>31;Wt=Qt+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Vt^Rt^ft^ut;Xt=Ht<<1|Ht>>>31;Wt=Xt+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Zt^Ut^yt^ht;er=Ht<<1|Ht>>>31;Wt=er+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Qt^It^mt^ft;tr=Ht<<1|Ht>>>31;Wt=tr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Xt^Gt^vt^yt;rr=Ht<<1|Ht>>>31;Wt=rr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=er^$t^_t^mt;ir=Ht<<1|Ht>>>31;Wt=ir+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=tr^Vt^Ct^vt;nr=Ht<<1|Ht>>>31;Wt=nr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=rr^Zt^Rt^_t;sr=Ht<<1|Ht>>>31;Wt=sr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ir^Qt^Ut^Ct;ar=Ht<<1|Ht>>>31;Wt=ar+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=nr^Xt^It^Rt;cr=Ht<<1|Ht>>>31;Wt=cr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=sr^er^Gt^Ut;ur=Ht<<1|Ht>>>31;Wt=ur+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ar^tr^$t^It;hr=Ht<<1|Ht>>>31;Wt=hr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=cr^rr^Vt^Gt;lr=Ht<<1|Ht>>>31;Wt=lr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ur^ir^Zt^$t;dr=Ht<<1|Ht>>>31;Wt=dr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=hr^nr^Qt^Vt;fr=Ht<<1|Ht>>>31;Wt=fr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=lr^sr^Xt^Zt;yr=Ht<<1|Ht>>>31;Wt=yr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=dr^ar^er^Qt;Cr=Ht<<1|Ht>>>31;Wt=Cr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=fr^cr^tr^Xt;Dr=Ht<<1|Ht>>>31;Wt=Dr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=yr^ur^rr^er;Rr=Ht<<1|Ht>>>31;Wt=Rr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Cr^hr^ir^tr;Kr=Ht<<1|Ht>>>31;Wt=Kr+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)+0x6ed9eba1|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Dr^lr^nr^rr;Tr=Ht<<1|Ht>>>31;Wt=Tr+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Rr^dr^sr^ir;Ur=Ht<<1|Ht>>>31;Wt=Ur+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Kr^fr^ar^nr;Ir=Ht<<1|Ht>>>31;Wt=Ir+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Tr^yr^cr^sr;Or=Ht<<1|Ht>>>31;Wt=Or+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ur^Cr^ur^ar;Nr=Ht<<1|Ht>>>31;Wt=Nr+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ir^Dr^hr^cr;jr=Ht<<1|Ht>>>31;Wt=jr+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Or^Rr^lr^ur;Lr=Ht<<1|Ht>>>31;Wt=Lr+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Nr^Kr^dr^hr;Wr=Ht<<1|Ht>>>31;Wt=Wr+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=jr^Tr^fr^lr;Qr=Ht<<1|Ht>>>31;Wt=Qr+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Lr^Ur^yr^dr;ti=Ht<<1|Ht>>>31;Wt=ti+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Wr^Ir^Cr^fr;ri=Ht<<1|Ht>>>31;Wt=ri+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Qr^Or^Dr^yr;ii=Ht<<1|Ht>>>31;Wt=ii+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ti^Nr^Rr^Cr;oi=Ht<<1|Ht>>>31;Wt=oi+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ri^jr^Kr^Dr;ci=Ht<<1|Ht>>>31;Wt=ci+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ii^Lr^Tr^Rr;li=Ht<<1|Ht>>>31;Wt=li+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=oi^Wr^Ur^Kr;di=Ht<<1|Ht>>>31;Wt=di+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ci^Qr^Ir^Tr;fi=Ht<<1|Ht>>>31;Wt=fi+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=li^ti^Or^Ur;pi=Ht<<1|Ht>>>31;Wt=pi+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=di^ri^Nr^Ir;yi=Ht<<1|Ht>>>31;Wt=yi+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=fi^ii^jr^Or;gi=Ht<<1|Ht>>>31;Wt=gi+(Ot<<5|Ot>>>27)+Lt+(Nt&jt|Nt&Ft|jt&Ft)-0x70e44324|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=pi^oi^Lr^Nr;vi=Ht<<1|Ht>>>31;Wt=vi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=yi^ci^Wr^jr;wi=Ht<<1|Ht>>>31;Wt=wi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=gi^li^Qr^Lr;ki=Ht<<1|Ht>>>31;Wt=ki+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=vi^di^ti^Wr;Si=Ht<<1|Ht>>>31;Wt=Si+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=wi^fi^ri^Qr;Ei=Ht<<1|Ht>>>31;Wt=Ei+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ki^pi^ii^ti;Mi=Ht<<1|Ht>>>31;Wt=Mi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Si^yi^oi^ri;Pi=Ht<<1|Ht>>>31;Wt=Pi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ei^gi^ci^ii;xi=Ht<<1|Ht>>>31;Wt=xi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Mi^vi^li^oi;Ci=Ht<<1|Ht>>>31;Wt=Ci+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Pi^wi^di^ci;Di=Ht<<1|Ht>>>31;Wt=Di+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=xi^ki^fi^li;Ki=Ht<<1|Ht>>>31;Wt=Ki+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ci^Si^pi^di;Ti=Ht<<1|Ht>>>31;Wt=Ti+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Di^Ei^yi^fi;Ui=Ht<<1|Ht>>>31;Wt=Ui+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ki^Mi^gi^pi;Ni=Ht<<1|Ht>>>31;Wt=Ni+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ti^Pi^vi^yi;ji=Ht<<1|Ht>>>31;Wt=ji+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ui^xi^wi^gi;qi=Ht<<1|Ht>>>31;Wt=qi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=Ni^Ci^ki^vi;zi=Ht<<1|Ht>>>31;Wt=zi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=ji^Di^Si^wi;Hi=Ht<<1|Ht>>>31;Wt=Hi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=qi^Ki^Ei^ki;$i=Ht<<1|Ht>>>31;Wt=$i+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;Ht=zi^Ti^Mi^Si;Vi=Ht<<1|Ht>>>31;Wt=Vi+(Ot<<5|Ot>>>27)+Lt+(Nt^jt^Ft)-0x359d3e2a|0;Lt=Ft;Ft=jt;jt=Nt<<30|Nt>>>2;Nt=Ot;Ot=Wt;qe=qe+Ot|0;Fe=Fe+Nt|0;$e=$e+jt|0;rt=rt+Ft|0;it=it+Lt|0}function k(Ae){Ae=Ae|0;_(It[Ae|0]<<24|It[Ae|1]<<16|It[Ae|2]<<8|It[Ae|3],It[Ae|4]<<24|It[Ae|5]<<16|It[Ae|6]<<8|It[Ae|7],It[Ae|8]<<24|It[Ae|9]<<16|It[Ae|10]<<8|It[Ae|11],It[Ae|12]<<24|It[Ae|13]<<16|It[Ae|14]<<8|It[Ae|15],It[Ae|16]<<24|It[Ae|17]<<16|It[Ae|18]<<8|It[Ae|19],It[Ae|20]<<24|It[Ae|21]<<16|It[Ae|22]<<8|It[Ae|23],It[Ae|24]<<24|It[Ae|25]<<16|It[Ae|26]<<8|It[Ae|27],It[Ae|28]<<24|It[Ae|29]<<16|It[Ae|30]<<8|It[Ae|31],It[Ae|32]<<24|It[Ae|33]<<16|It[Ae|34]<<8|It[Ae|35],It[Ae|36]<<24|It[Ae|37]<<16|It[Ae|38]<<8|It[Ae|39],It[Ae|40]<<24|It[Ae|41]<<16|It[Ae|42]<<8|It[Ae|43],It[Ae|44]<<24|It[Ae|45]<<16|It[Ae|46]<<8|It[Ae|47],It[Ae|48]<<24|It[Ae|49]<<16|It[Ae|50]<<8|It[Ae|51],It[Ae|52]<<24|It[Ae|53]<<16|It[Ae|54]<<8|It[Ae|55],It[Ae|56]<<24|It[Ae|57]<<16|It[Ae|58]<<8|It[Ae|59],It[Ae|60]<<24|It[Ae|61]<<16|It[Ae|62]<<8|It[Ae|63])}function A(Ae){Ae=Ae|0;It[Ae|0]=qe>>>24;It[Ae|1]=qe>>>16&255;It[Ae|2]=qe>>>8&255;It[Ae|3]=qe&255;It[Ae|4]=Fe>>>24;It[Ae|5]=Fe>>>16&255;It[Ae|6]=Fe>>>8&255;It[Ae|7]=Fe&255;It[Ae|8]=$e>>>24;It[Ae|9]=$e>>>16&255;It[Ae|10]=$e>>>8&255;It[Ae|11]=$e&255;It[Ae|12]=rt>>>24;It[Ae|13]=rt>>>16&255;It[Ae|14]=rt>>>8&255;It[Ae|15]=rt&255;It[Ae|16]=it>>>24;It[Ae|17]=it>>>16&255;It[Ae|18]=it>>>8&255;It[Ae|19]=it&255}function S(){qe=0x67452301;Fe=0xefcdab89;$e=0x98badcfe;rt=0x10325476;it=0xc3d2e1f0;nt=st=0}function E(Ae,Se,Ce,ut,ht,ft,yt){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ut=ut|0;ht=ht|0;ft=ft|0;yt=yt|0;qe=Ae;Fe=Se;$e=Ce;rt=ut;it=ht;nt=ft;st=yt}function P(Ae,Se){Ae=Ae|0;Se=Se|0;var Ce=0;if(Ae&63)return-1;while((Se|0)>=64){k(Ae);Ae=Ae+64|0;Se=Se-64|0;Ce=Ce+64|0}nt=nt+Ce|0;if(nt>>>0<Ce>>>0)st=st+1|0;return Ce|0}function x(Ae,Se,Ce){Ae=Ae|0;Se=Se|0;Ce=Ce|0;var qe=0,Fe=0;if(Ae&63)return-1;if(~Ce)if(Ce&31)return-1;if((Se|0)>=64){qe=P(Ae,Se)|0;if((qe|0)==-1)return-1;Ae=Ae+qe|0;Se=Se-qe|0}qe=qe+Se|0;nt=nt+Se|0;if(nt>>>0<Se>>>0)st=st+1|0;It[Ae|Se]=0x80;if((Se|0)>=56){for(Fe=Se+1|0;(Fe|0)<64;Fe=Fe+1|0)It[Ae|Fe]=0x00;k(Ae);Se=0;It[Ae|0]=0}for(Fe=Se+1|0;(Fe|0)<59;Fe=Fe+1|0)It[Ae|Fe]=0;It[Ae|56]=st>>>21&255;It[Ae|57]=st>>>13&255;It[Ae|58]=st>>>5&255;It[Ae|59]=st<<3&255|nt>>>29;It[Ae|60]=nt>>>21&255;It[Ae|61]=nt>>>13&255;It[Ae|62]=nt>>>5&255;It[Ae|63]=nt<<3&255;k(Ae);if(~Ce)A(Ce);return qe|0}function M(){qe=ut;Fe=ht;$e=ft;rt=yt;it=mt;nt=64;st=0}function K(){qe=vt;Fe=_t;$e=Ct;rt=Rt;it=Ut;nt=64;st=0}function C(Ae,Se,Ce,It,Ot,Nt,jt,Ft,Lt,Ht,Wt,Gt,$t,Vt,Zt,Qt){Ae=Ae|0;Se=Se|0;Ce=Ce|0;It=It|0;Ot=Ot|0;Nt=Nt|0;jt=jt|0;Ft=Ft|0;Lt=Lt|0;Ht=Ht|0;Wt=Wt|0;Gt=Gt|0;$t=$t|0;Vt=Vt|0;Zt=Zt|0;Qt=Qt|0;S();_(Ae^0x5c5c5c5c,Se^0x5c5c5c5c,Ce^0x5c5c5c5c,It^0x5c5c5c5c,Ot^0x5c5c5c5c,Nt^0x5c5c5c5c,jt^0x5c5c5c5c,Ft^0x5c5c5c5c,Lt^0x5c5c5c5c,Ht^0x5c5c5c5c,Wt^0x5c5c5c5c,Gt^0x5c5c5c5c,$t^0x5c5c5c5c,Vt^0x5c5c5c5c,Zt^0x5c5c5c5c,Qt^0x5c5c5c5c);vt=qe;_t=Fe;Ct=$e;Rt=rt;Ut=it;S();_(Ae^0x36363636,Se^0x36363636,Ce^0x36363636,It^0x36363636,Ot^0x36363636,Nt^0x36363636,jt^0x36363636,Ft^0x36363636,Lt^0x36363636,Ht^0x36363636,Wt^0x36363636,Gt^0x36363636,$t^0x36363636,Vt^0x36363636,Zt^0x36363636,Qt^0x36363636);ut=qe;ht=Fe;ft=$e;yt=rt;mt=it;nt=64;st=0}function D(Ae,Se,Ce){Ae=Ae|0;Se=Se|0;Ce=Ce|0;var nt=0,st=0,ut=0,ht=0,ft=0,yt=0;if(Ae&63)return-1;if(~Ce)if(Ce&31)return-1;yt=x(Ae,Se,-1)|0;nt=qe,st=Fe,ut=$e,ht=rt,ft=it;K();_(nt,st,ut,ht,ft,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~Ce)A(Ce);return yt|0}function U(Ae,Se,Ce,nt,st){Ae=Ae|0;Se=Se|0;Ce=Ce|0;nt=nt|0;st=st|0;var ut=0,ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0;if(Ae&63)return-1;if(~st)if(st&31)return-1;It[Ae+Se|0]=Ce>>>24;It[Ae+Se+1|0]=Ce>>>16&255;It[Ae+Se+2|0]=Ce>>>8&255;It[Ae+Se+3|0]=Ce&255;D(Ae,Se+4|0,-1)|0;ut=vt=qe,ht=_t=Fe,ft=Ct=$e,yt=Rt=rt,mt=Ut=it;nt=nt-1|0;while((nt|0)>0){M();_(vt,_t,Ct,Rt,Ut,0x80000000,0,0,0,0,0,0,0,0,0,672);vt=qe,_t=Fe,Ct=$e,Rt=rt,Ut=it;K();_(vt,_t,Ct,Rt,Ut,0x80000000,0,0,0,0,0,0,0,0,0,672);vt=qe,_t=Fe,Ct=$e,Rt=rt,Ut=it;ut=ut^qe;ht=ht^Fe;ft=ft^$e;yt=yt^rt;mt=mt^it;nt=nt-1|0}qe=ut;Fe=ht;$e=ft;rt=yt;it=mt;if(~st)A(st);return 0}return{reset:S,init:E,process:P,finish:x,hmac_reset:M,hmac_init:C,hmac_finish:D,pbkdf2_generate_block:U}};class ct{constructor(){this.pos=0,this.len=0}reset(){const{asm:Ae}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,Ae.reset(),this}process(Ae){if(null!==this.result)throw new Be("state must be reset before processing new data");const{asm:Se,heap:Ce}=this.acquire_asm();let qe=this.pos,Fe=this.len,$e=0,rt=Ae.length,it=0;for(;rt>0;)it=Re(Ce,qe+Fe,Ae,$e,rt),Fe+=it,$e+=it,rt-=it,it=Se.process(qe,Fe),qe+=it,Fe-=it,Fe||(qe=0);return this.pos=qe,this.len=Fe,this}finish(){if(null!==this.result)throw new Be("state must be reset before processing new data");const{asm:Ae,heap:Se}=this.acquire_asm();return Ae.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(Se.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const Ir=[],Or=[];class dt extends ct{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Ir.pop()||Ue(),this.asm=Or.pop()||ot({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Ir.push(this.heap),Or.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(Ae){return(new dt).process(Ae).finish().result}}dt.NAME="sha1",dt.heap_pool=[],dt.asm_pool=[],dt.asm_function=ot;const Nr=[],jr=[];class pt extends ct{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Nr.pop()||Ue(),this.asm=jr.pop()||function(Ae,Se,Ce){"use asm";var qe=0,Fe=0,$e=0,rt=0,it=0,nt=0,st=0,ut=0,ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0,It=0,Ot=0,Nt=0,jt=0,Ft=0,Lt=0,Ht=0,Wt=0,Gt=0,$t=new Ae.Uint8Array(Ce);function C(Ae,Se,Ce,ht,ft,yt,mt,vt,_t,Ct,Rt,Ut,It,Ot,Nt,jt){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;ft=ft|0;yt=yt|0;mt=mt|0;vt=vt|0;_t=_t|0;Ct=Ct|0;Rt=Rt|0;Ut=Ut|0;It=It|0;Ot=Ot|0;Nt=Nt|0;jt=jt|0;var Ft=0,Lt=0,Ht=0,Wt=0,Gt=0,$t=0,Vt=0,Zt=0;Ft=qe;Lt=Fe;Ht=$e;Wt=rt;Gt=it;$t=nt;Vt=st;Zt=ut;Zt=Ae+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0x428a2f98|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Vt=Se+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0x71374491|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;$t=Ce+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0xb5c0fbcf|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;Gt=ht+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0xe9b5dba5|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;Wt=ft+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0x3956c25b|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;Ht=yt+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0x59f111f1|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;Lt=mt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0x923f82a4|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;Ft=vt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0xab1c5ed5|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;Zt=_t+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0xd807aa98|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Vt=Ct+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0x12835b01|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;$t=Rt+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0x243185be|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;Gt=Ut+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0x550c7dc3|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;Wt=It+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0x72be5d74|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;Ht=Ot+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0x80deb1fe|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;Lt=Nt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0x9bdc06a7|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;Ft=jt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0xc19bf174|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;Ae=(Se>>>7^Se>>>18^Se>>>3^Se<<25^Se<<14)+(Nt>>>17^Nt>>>19^Nt>>>10^Nt<<15^Nt<<13)+Ae+Ct|0;Zt=Ae+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0xe49b69c1|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Se=(Ce>>>7^Ce>>>18^Ce>>>3^Ce<<25^Ce<<14)+(jt>>>17^jt>>>19^jt>>>10^jt<<15^jt<<13)+Se+Rt|0;Vt=Se+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0xefbe4786|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;Ce=(ht>>>7^ht>>>18^ht>>>3^ht<<25^ht<<14)+(Ae>>>17^Ae>>>19^Ae>>>10^Ae<<15^Ae<<13)+Ce+Ut|0;$t=Ce+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0x0fc19dc6|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;ht=(ft>>>7^ft>>>18^ft>>>3^ft<<25^ft<<14)+(Se>>>17^Se>>>19^Se>>>10^Se<<15^Se<<13)+ht+It|0;Gt=ht+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0x240ca1cc|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;ft=(yt>>>7^yt>>>18^yt>>>3^yt<<25^yt<<14)+(Ce>>>17^Ce>>>19^Ce>>>10^Ce<<15^Ce<<13)+ft+Ot|0;Wt=ft+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0x2de92c6f|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;yt=(mt>>>7^mt>>>18^mt>>>3^mt<<25^mt<<14)+(ht>>>17^ht>>>19^ht>>>10^ht<<15^ht<<13)+yt+Nt|0;Ht=yt+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0x4a7484aa|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;mt=(vt>>>7^vt>>>18^vt>>>3^vt<<25^vt<<14)+(ft>>>17^ft>>>19^ft>>>10^ft<<15^ft<<13)+mt+jt|0;Lt=mt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0x5cb0a9dc|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;vt=(_t>>>7^_t>>>18^_t>>>3^_t<<25^_t<<14)+(yt>>>17^yt>>>19^yt>>>10^yt<<15^yt<<13)+vt+Ae|0;Ft=vt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0x76f988da|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;_t=(Ct>>>7^Ct>>>18^Ct>>>3^Ct<<25^Ct<<14)+(mt>>>17^mt>>>19^mt>>>10^mt<<15^mt<<13)+_t+Se|0;Zt=_t+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0x983e5152|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Ct=(Rt>>>7^Rt>>>18^Rt>>>3^Rt<<25^Rt<<14)+(vt>>>17^vt>>>19^vt>>>10^vt<<15^vt<<13)+Ct+Ce|0;Vt=Ct+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0xa831c66d|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;Rt=(Ut>>>7^Ut>>>18^Ut>>>3^Ut<<25^Ut<<14)+(_t>>>17^_t>>>19^_t>>>10^_t<<15^_t<<13)+Rt+ht|0;$t=Rt+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0xb00327c8|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;Ut=(It>>>7^It>>>18^It>>>3^It<<25^It<<14)+(Ct>>>17^Ct>>>19^Ct>>>10^Ct<<15^Ct<<13)+Ut+ft|0;Gt=Ut+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0xbf597fc7|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;It=(Ot>>>7^Ot>>>18^Ot>>>3^Ot<<25^Ot<<14)+(Rt>>>17^Rt>>>19^Rt>>>10^Rt<<15^Rt<<13)+It+yt|0;Wt=It+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0xc6e00bf3|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;Ot=(Nt>>>7^Nt>>>18^Nt>>>3^Nt<<25^Nt<<14)+(Ut>>>17^Ut>>>19^Ut>>>10^Ut<<15^Ut<<13)+Ot+mt|0;Ht=Ot+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0xd5a79147|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;Nt=(jt>>>7^jt>>>18^jt>>>3^jt<<25^jt<<14)+(It>>>17^It>>>19^It>>>10^It<<15^It<<13)+Nt+vt|0;Lt=Nt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0x06ca6351|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;jt=(Ae>>>7^Ae>>>18^Ae>>>3^Ae<<25^Ae<<14)+(Ot>>>17^Ot>>>19^Ot>>>10^Ot<<15^Ot<<13)+jt+_t|0;Ft=jt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0x14292967|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;Ae=(Se>>>7^Se>>>18^Se>>>3^Se<<25^Se<<14)+(Nt>>>17^Nt>>>19^Nt>>>10^Nt<<15^Nt<<13)+Ae+Ct|0;Zt=Ae+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0x27b70a85|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Se=(Ce>>>7^Ce>>>18^Ce>>>3^Ce<<25^Ce<<14)+(jt>>>17^jt>>>19^jt>>>10^jt<<15^jt<<13)+Se+Rt|0;Vt=Se+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0x2e1b2138|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;Ce=(ht>>>7^ht>>>18^ht>>>3^ht<<25^ht<<14)+(Ae>>>17^Ae>>>19^Ae>>>10^Ae<<15^Ae<<13)+Ce+Ut|0;$t=Ce+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0x4d2c6dfc|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;ht=(ft>>>7^ft>>>18^ft>>>3^ft<<25^ft<<14)+(Se>>>17^Se>>>19^Se>>>10^Se<<15^Se<<13)+ht+It|0;Gt=ht+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0x53380d13|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;ft=(yt>>>7^yt>>>18^yt>>>3^yt<<25^yt<<14)+(Ce>>>17^Ce>>>19^Ce>>>10^Ce<<15^Ce<<13)+ft+Ot|0;Wt=ft+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0x650a7354|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;yt=(mt>>>7^mt>>>18^mt>>>3^mt<<25^mt<<14)+(ht>>>17^ht>>>19^ht>>>10^ht<<15^ht<<13)+yt+Nt|0;Ht=yt+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0x766a0abb|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;mt=(vt>>>7^vt>>>18^vt>>>3^vt<<25^vt<<14)+(ft>>>17^ft>>>19^ft>>>10^ft<<15^ft<<13)+mt+jt|0;Lt=mt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0x81c2c92e|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;vt=(_t>>>7^_t>>>18^_t>>>3^_t<<25^_t<<14)+(yt>>>17^yt>>>19^yt>>>10^yt<<15^yt<<13)+vt+Ae|0;Ft=vt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0x92722c85|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;_t=(Ct>>>7^Ct>>>18^Ct>>>3^Ct<<25^Ct<<14)+(mt>>>17^mt>>>19^mt>>>10^mt<<15^mt<<13)+_t+Se|0;Zt=_t+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0xa2bfe8a1|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Ct=(Rt>>>7^Rt>>>18^Rt>>>3^Rt<<25^Rt<<14)+(vt>>>17^vt>>>19^vt>>>10^vt<<15^vt<<13)+Ct+Ce|0;Vt=Ct+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0xa81a664b|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;Rt=(Ut>>>7^Ut>>>18^Ut>>>3^Ut<<25^Ut<<14)+(_t>>>17^_t>>>19^_t>>>10^_t<<15^_t<<13)+Rt+ht|0;$t=Rt+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0xc24b8b70|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;Ut=(It>>>7^It>>>18^It>>>3^It<<25^It<<14)+(Ct>>>17^Ct>>>19^Ct>>>10^Ct<<15^Ct<<13)+Ut+ft|0;Gt=Ut+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0xc76c51a3|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;It=(Ot>>>7^Ot>>>18^Ot>>>3^Ot<<25^Ot<<14)+(Rt>>>17^Rt>>>19^Rt>>>10^Rt<<15^Rt<<13)+It+yt|0;Wt=It+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0xd192e819|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;Ot=(Nt>>>7^Nt>>>18^Nt>>>3^Nt<<25^Nt<<14)+(Ut>>>17^Ut>>>19^Ut>>>10^Ut<<15^Ut<<13)+Ot+mt|0;Ht=Ot+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0xd6990624|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;Nt=(jt>>>7^jt>>>18^jt>>>3^jt<<25^jt<<14)+(It>>>17^It>>>19^It>>>10^It<<15^It<<13)+Nt+vt|0;Lt=Nt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0xf40e3585|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;jt=(Ae>>>7^Ae>>>18^Ae>>>3^Ae<<25^Ae<<14)+(Ot>>>17^Ot>>>19^Ot>>>10^Ot<<15^Ot<<13)+jt+_t|0;Ft=jt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0x106aa070|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;Ae=(Se>>>7^Se>>>18^Se>>>3^Se<<25^Se<<14)+(Nt>>>17^Nt>>>19^Nt>>>10^Nt<<15^Nt<<13)+Ae+Ct|0;Zt=Ae+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0x19a4c116|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Se=(Ce>>>7^Ce>>>18^Ce>>>3^Ce<<25^Ce<<14)+(jt>>>17^jt>>>19^jt>>>10^jt<<15^jt<<13)+Se+Rt|0;Vt=Se+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0x1e376c08|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;Ce=(ht>>>7^ht>>>18^ht>>>3^ht<<25^ht<<14)+(Ae>>>17^Ae>>>19^Ae>>>10^Ae<<15^Ae<<13)+Ce+Ut|0;$t=Ce+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0x2748774c|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;ht=(ft>>>7^ft>>>18^ft>>>3^ft<<25^ft<<14)+(Se>>>17^Se>>>19^Se>>>10^Se<<15^Se<<13)+ht+It|0;Gt=ht+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0x34b0bcb5|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;ft=(yt>>>7^yt>>>18^yt>>>3^yt<<25^yt<<14)+(Ce>>>17^Ce>>>19^Ce>>>10^Ce<<15^Ce<<13)+ft+Ot|0;Wt=ft+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0x391c0cb3|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;yt=(mt>>>7^mt>>>18^mt>>>3^mt<<25^mt<<14)+(ht>>>17^ht>>>19^ht>>>10^ht<<15^ht<<13)+yt+Nt|0;Ht=yt+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0x4ed8aa4a|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;mt=(vt>>>7^vt>>>18^vt>>>3^vt<<25^vt<<14)+(ft>>>17^ft>>>19^ft>>>10^ft<<15^ft<<13)+mt+jt|0;Lt=mt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0x5b9cca4f|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;vt=(_t>>>7^_t>>>18^_t>>>3^_t<<25^_t<<14)+(yt>>>17^yt>>>19^yt>>>10^yt<<15^yt<<13)+vt+Ae|0;Ft=vt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0x682e6ff3|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;_t=(Ct>>>7^Ct>>>18^Ct>>>3^Ct<<25^Ct<<14)+(mt>>>17^mt>>>19^mt>>>10^mt<<15^mt<<13)+_t+Se|0;Zt=_t+Zt+(Gt>>>6^Gt>>>11^Gt>>>25^Gt<<26^Gt<<21^Gt<<7)+(Vt^Gt&($t^Vt))+0x748f82ee|0;Wt=Wt+Zt|0;Zt=Zt+(Ft&Lt^Ht&(Ft^Lt))+(Ft>>>2^Ft>>>13^Ft>>>22^Ft<<30^Ft<<19^Ft<<10)|0;Ct=(Rt>>>7^Rt>>>18^Rt>>>3^Rt<<25^Rt<<14)+(vt>>>17^vt>>>19^vt>>>10^vt<<15^vt<<13)+Ct+Ce|0;Vt=Ct+Vt+(Wt>>>6^Wt>>>11^Wt>>>25^Wt<<26^Wt<<21^Wt<<7)+($t^Wt&(Gt^$t))+0x78a5636f|0;Ht=Ht+Vt|0;Vt=Vt+(Zt&Ft^Lt&(Zt^Ft))+(Zt>>>2^Zt>>>13^Zt>>>22^Zt<<30^Zt<<19^Zt<<10)|0;Rt=(Ut>>>7^Ut>>>18^Ut>>>3^Ut<<25^Ut<<14)+(_t>>>17^_t>>>19^_t>>>10^_t<<15^_t<<13)+Rt+ht|0;$t=Rt+$t+(Ht>>>6^Ht>>>11^Ht>>>25^Ht<<26^Ht<<21^Ht<<7)+(Gt^Ht&(Wt^Gt))+0x84c87814|0;Lt=Lt+$t|0;$t=$t+(Vt&Zt^Ft&(Vt^Zt))+(Vt>>>2^Vt>>>13^Vt>>>22^Vt<<30^Vt<<19^Vt<<10)|0;Ut=(It>>>7^It>>>18^It>>>3^It<<25^It<<14)+(Ct>>>17^Ct>>>19^Ct>>>10^Ct<<15^Ct<<13)+Ut+ft|0;Gt=Ut+Gt+(Lt>>>6^Lt>>>11^Lt>>>25^Lt<<26^Lt<<21^Lt<<7)+(Wt^Lt&(Ht^Wt))+0x8cc70208|0;Ft=Ft+Gt|0;Gt=Gt+($t&Vt^Zt&($t^Vt))+($t>>>2^$t>>>13^$t>>>22^$t<<30^$t<<19^$t<<10)|0;It=(Ot>>>7^Ot>>>18^Ot>>>3^Ot<<25^Ot<<14)+(Rt>>>17^Rt>>>19^Rt>>>10^Rt<<15^Rt<<13)+It+yt|0;Wt=It+Wt+(Ft>>>6^Ft>>>11^Ft>>>25^Ft<<26^Ft<<21^Ft<<7)+(Ht^Ft&(Lt^Ht))+0x90befffa|0;Zt=Zt+Wt|0;Wt=Wt+(Gt&$t^Vt&(Gt^$t))+(Gt>>>2^Gt>>>13^Gt>>>22^Gt<<30^Gt<<19^Gt<<10)|0;Ot=(Nt>>>7^Nt>>>18^Nt>>>3^Nt<<25^Nt<<14)+(Ut>>>17^Ut>>>19^Ut>>>10^Ut<<15^Ut<<13)+Ot+mt|0;Ht=Ot+Ht+(Zt>>>6^Zt>>>11^Zt>>>25^Zt<<26^Zt<<21^Zt<<7)+(Lt^Zt&(Ft^Lt))+0xa4506ceb|0;Vt=Vt+Ht|0;Ht=Ht+(Wt&Gt^$t&(Wt^Gt))+(Wt>>>2^Wt>>>13^Wt>>>22^Wt<<30^Wt<<19^Wt<<10)|0;Nt=(jt>>>7^jt>>>18^jt>>>3^jt<<25^jt<<14)+(It>>>17^It>>>19^It>>>10^It<<15^It<<13)+Nt+vt|0;Lt=Nt+Lt+(Vt>>>6^Vt>>>11^Vt>>>25^Vt<<26^Vt<<21^Vt<<7)+(Ft^Vt&(Zt^Ft))+0xbef9a3f7|0;$t=$t+Lt|0;Lt=Lt+(Ht&Wt^Gt&(Ht^Wt))+(Ht>>>2^Ht>>>13^Ht>>>22^Ht<<30^Ht<<19^Ht<<10)|0;jt=(Ae>>>7^Ae>>>18^Ae>>>3^Ae<<25^Ae<<14)+(Ot>>>17^Ot>>>19^Ot>>>10^Ot<<15^Ot<<13)+jt+_t|0;Ft=jt+Ft+($t>>>6^$t>>>11^$t>>>25^$t<<26^$t<<21^$t<<7)+(Zt^$t&(Vt^Zt))+0xc67178f2|0;Gt=Gt+Ft|0;Ft=Ft+(Lt&Ht^Wt&(Lt^Ht))+(Lt>>>2^Lt>>>13^Lt>>>22^Lt<<30^Lt<<19^Lt<<10)|0;qe=qe+Ft|0;Fe=Fe+Lt|0;$e=$e+Ht|0;rt=rt+Wt|0;it=it+Gt|0;nt=nt+$t|0;st=st+Vt|0;ut=ut+Zt|0}function D(Ae){Ae=Ae|0;C($t[Ae|0]<<24|$t[Ae|1]<<16|$t[Ae|2]<<8|$t[Ae|3],$t[Ae|4]<<24|$t[Ae|5]<<16|$t[Ae|6]<<8|$t[Ae|7],$t[Ae|8]<<24|$t[Ae|9]<<16|$t[Ae|10]<<8|$t[Ae|11],$t[Ae|12]<<24|$t[Ae|13]<<16|$t[Ae|14]<<8|$t[Ae|15],$t[Ae|16]<<24|$t[Ae|17]<<16|$t[Ae|18]<<8|$t[Ae|19],$t[Ae|20]<<24|$t[Ae|21]<<16|$t[Ae|22]<<8|$t[Ae|23],$t[Ae|24]<<24|$t[Ae|25]<<16|$t[Ae|26]<<8|$t[Ae|27],$t[Ae|28]<<24|$t[Ae|29]<<16|$t[Ae|30]<<8|$t[Ae|31],$t[Ae|32]<<24|$t[Ae|33]<<16|$t[Ae|34]<<8|$t[Ae|35],$t[Ae|36]<<24|$t[Ae|37]<<16|$t[Ae|38]<<8|$t[Ae|39],$t[Ae|40]<<24|$t[Ae|41]<<16|$t[Ae|42]<<8|$t[Ae|43],$t[Ae|44]<<24|$t[Ae|45]<<16|$t[Ae|46]<<8|$t[Ae|47],$t[Ae|48]<<24|$t[Ae|49]<<16|$t[Ae|50]<<8|$t[Ae|51],$t[Ae|52]<<24|$t[Ae|53]<<16|$t[Ae|54]<<8|$t[Ae|55],$t[Ae|56]<<24|$t[Ae|57]<<16|$t[Ae|58]<<8|$t[Ae|59],$t[Ae|60]<<24|$t[Ae|61]<<16|$t[Ae|62]<<8|$t[Ae|63])}function U(Ae){Ae=Ae|0;$t[Ae|0]=qe>>>24;$t[Ae|1]=qe>>>16&255;$t[Ae|2]=qe>>>8&255;$t[Ae|3]=qe&255;$t[Ae|4]=Fe>>>24;$t[Ae|5]=Fe>>>16&255;$t[Ae|6]=Fe>>>8&255;$t[Ae|7]=Fe&255;$t[Ae|8]=$e>>>24;$t[Ae|9]=$e>>>16&255;$t[Ae|10]=$e>>>8&255;$t[Ae|11]=$e&255;$t[Ae|12]=rt>>>24;$t[Ae|13]=rt>>>16&255;$t[Ae|14]=rt>>>8&255;$t[Ae|15]=rt&255;$t[Ae|16]=it>>>24;$t[Ae|17]=it>>>16&255;$t[Ae|18]=it>>>8&255;$t[Ae|19]=it&255;$t[Ae|20]=nt>>>24;$t[Ae|21]=nt>>>16&255;$t[Ae|22]=nt>>>8&255;$t[Ae|23]=nt&255;$t[Ae|24]=st>>>24;$t[Ae|25]=st>>>16&255;$t[Ae|26]=st>>>8&255;$t[Ae|27]=st&255;$t[Ae|28]=ut>>>24;$t[Ae|29]=ut>>>16&255;$t[Ae|30]=ut>>>8&255;$t[Ae|31]=ut&255}function R(){qe=0x6a09e667;Fe=0xbb67ae85;$e=0x3c6ef372;rt=0xa54ff53a;it=0x510e527f;nt=0x9b05688c;st=0x1f83d9ab;ut=0x5be0cd19;ht=ft=0}function I(Ae,Se,Ce,yt,mt,vt,_t,Ct,Rt,Ut){Ae=Ae|0;Se=Se|0;Ce=Ce|0;yt=yt|0;mt=mt|0;vt=vt|0;_t=_t|0;Ct=Ct|0;Rt=Rt|0;Ut=Ut|0;qe=Ae;Fe=Se;$e=Ce;rt=yt;it=mt;nt=vt;st=_t;ut=Ct;ht=Rt;ft=Ut}function B(Ae,Se){Ae=Ae|0;Se=Se|0;var Ce=0;if(Ae&63)return-1;while((Se|0)>=64){D(Ae);Ae=Ae+64|0;Se=Se-64|0;Ce=Ce+64|0}ht=ht+Ce|0;if(ht>>>0<Ce>>>0)ft=ft+1|0;return Ce|0}function T(Ae,Se,Ce){Ae=Ae|0;Se=Se|0;Ce=Ce|0;var qe=0,Fe=0;if(Ae&63)return-1;if(~Ce)if(Ce&31)return-1;if((Se|0)>=64){qe=B(Ae,Se)|0;if((qe|0)==-1)return-1;Ae=Ae+qe|0;Se=Se-qe|0}qe=qe+Se|0;ht=ht+Se|0;if(ht>>>0<Se>>>0)ft=ft+1|0;$t[Ae|Se]=0x80;if((Se|0)>=56){for(Fe=Se+1|0;(Fe|0)<64;Fe=Fe+1|0)$t[Ae|Fe]=0x00;D(Ae);Se=0;$t[Ae|0]=0}for(Fe=Se+1|0;(Fe|0)<59;Fe=Fe+1|0)$t[Ae|Fe]=0;$t[Ae|56]=ft>>>21&255;$t[Ae|57]=ft>>>13&255;$t[Ae|58]=ft>>>5&255;$t[Ae|59]=ft<<3&255|ht>>>29;$t[Ae|60]=ht>>>21&255;$t[Ae|61]=ht>>>13&255;$t[Ae|62]=ht>>>5&255;$t[Ae|63]=ht<<3&255;D(Ae);if(~Ce)U(Ce);return qe|0}function z(){qe=yt;Fe=mt;$e=vt;rt=_t;it=Ct;nt=Rt;st=Ut;ut=It;ht=64;ft=0}function q(){qe=Ot;Fe=Nt;$e=jt;rt=Ft;it=Lt;nt=Ht;st=Wt;ut=Gt;ht=64;ft=0}function F(Ae,Se,Ce,$t,Vt,Zt,Qt,Xt,er,tr,rr,ir,nr,sr,ar,cr){Ae=Ae|0;Se=Se|0;Ce=Ce|0;$t=$t|0;Vt=Vt|0;Zt=Zt|0;Qt=Qt|0;Xt=Xt|0;er=er|0;tr=tr|0;rr=rr|0;ir=ir|0;nr=nr|0;sr=sr|0;ar=ar|0;cr=cr|0;R();C(Ae^0x5c5c5c5c,Se^0x5c5c5c5c,Ce^0x5c5c5c5c,$t^0x5c5c5c5c,Vt^0x5c5c5c5c,Zt^0x5c5c5c5c,Qt^0x5c5c5c5c,Xt^0x5c5c5c5c,er^0x5c5c5c5c,tr^0x5c5c5c5c,rr^0x5c5c5c5c,ir^0x5c5c5c5c,nr^0x5c5c5c5c,sr^0x5c5c5c5c,ar^0x5c5c5c5c,cr^0x5c5c5c5c);Ot=qe;Nt=Fe;jt=$e;Ft=rt;Lt=it;Ht=nt;Wt=st;Gt=ut;R();C(Ae^0x36363636,Se^0x36363636,Ce^0x36363636,$t^0x36363636,Vt^0x36363636,Zt^0x36363636,Qt^0x36363636,Xt^0x36363636,er^0x36363636,tr^0x36363636,rr^0x36363636,ir^0x36363636,nr^0x36363636,sr^0x36363636,ar^0x36363636,cr^0x36363636);yt=qe;mt=Fe;vt=$e;_t=rt;Ct=it;Rt=nt;Ut=st;It=ut;ht=64;ft=0}function O(Ae,Se,Ce){Ae=Ae|0;Se=Se|0;Ce=Ce|0;var ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0;if(Ae&63)return-1;if(~Ce)if(Ce&31)return-1;Ut=T(Ae,Se,-1)|0;ht=qe,ft=Fe,yt=$e,mt=rt,vt=it,_t=nt,Ct=st,Rt=ut;q();C(ht,ft,yt,mt,vt,_t,Ct,Rt,0x80000000,0,0,0,0,0,0,768);if(~Ce)U(Ce);return Ut|0}function L(Ae,Se,Ce,ht,ft){Ae=Ae|0;Se=Se|0;Ce=Ce|0;ht=ht|0;ft=ft|0;var yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0,It=0,Ot=0,Nt=0,jt=0,Ft=0,Lt=0,Ht=0,Wt=0,Gt=0;if(Ae&63)return-1;if(~ft)if(ft&31)return-1;$t[Ae+Se|0]=Ce>>>24;$t[Ae+Se+1|0]=Ce>>>16&255;$t[Ae+Se+2|0]=Ce>>>8&255;$t[Ae+Se+3|0]=Ce&255;O(Ae,Se+4|0,-1)|0;yt=Ot=qe,mt=Nt=Fe,vt=jt=$e,_t=Ft=rt,Ct=Lt=it,Rt=Ht=nt,Ut=Wt=st,It=Gt=ut;ht=ht-1|0;while((ht|0)>0){z();C(Ot,Nt,jt,Ft,Lt,Ht,Wt,Gt,0x80000000,0,0,0,0,0,0,768);Ot=qe,Nt=Fe,jt=$e,Ft=rt,Lt=it,Ht=nt,Wt=st,Gt=ut;q();C(Ot,Nt,jt,Ft,Lt,Ht,Wt,Gt,0x80000000,0,0,0,0,0,0,768);Ot=qe,Nt=Fe,jt=$e,Ft=rt,Lt=it,Ht=nt,Wt=st,Gt=ut;yt=yt^qe;mt=mt^Fe;vt=vt^$e;_t=_t^rt;Ct=Ct^it;Rt=Rt^nt;Ut=Ut^st;It=It^ut;ht=ht-1|0}qe=yt;Fe=mt;$e=vt;rt=_t;it=Ct;nt=Rt;st=Ut;ut=It;if(~ft)U(ft);return 0}return{reset:R,init:I,process:B,finish:T,hmac_reset:z,hmac_init:F,hmac_finish:O,pbkdf2_generate_block:L}}({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Nr.push(this.heap),jr.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(Ae){return(new pt).process(Ae).finish().result}}pt.NAME="sha256";var Lr=bt;function bt(Ae,Se){if(!Ae)throw Error(Se||"Assertion failed")}bt.equal=function(Ae,Se,Ce){if(Ae!=Se)throw Error(Ce||"Assertion failed: "+Ae+" != "+Se)};var Wr=void 0!==qe?qe:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function gt(Ae,Se){return Ae(Se={exports:{}},Se.exports),Se.exports}function wt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var Qr=gt((function(Ae){Ae.exports="function"==typeof Object.create?function(Ae,Se){Ae.super_=Se,Ae.prototype=Object.create(Se.prototype,{constructor:{value:Ae,enumerable:!1,writable:!0,configurable:!0}})}:function(Ae,Se){Ae.super_=Se;var r=function(){};r.prototype=Se.prototype,Ae.prototype=new r,Ae.prototype.constructor=Ae}})),ti=gt((function(Ae){try{var Se=_t.default;if("function"!=typeof Se.inherits)throw"";Ae.exports=Se.inherits}catch(Se){Ae.exports=Qr}}));var kt=function(Ae,Se){if(Array.isArray(Ae))return Ae.slice();if(!Ae)return[];var Ce=[];if("string"==typeof Ae)if(Se){if("hex"===Se)for((Ae=Ae.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(Ae="0"+Ae),qe=0;qe<Ae.length;qe+=2)Ce.push(parseInt(Ae[qe]+Ae[qe+1],16))}else for(var qe=0;qe<Ae.length;qe++){var Fe=Ae.charCodeAt(qe),$e=Fe>>8,rt=255&Fe;$e?Ce.push($e,rt):Ce.push(rt)}else for(qe=0;qe<Ae.length;qe++)Ce[qe]=0|Ae[qe];return Ce};var At=function(Ae){for(var Se="",Ce=0;Ce<Ae.length;Ce++)Se+=Pt(Ae[Ce].toString(16));return Se};function St(Ae){return(Ae>>>24|Ae>>>8&65280|Ae<<8&16711680|(255&Ae)<<24)>>>0}var Et=function(Ae,Se){for(var Ce="",qe=0;qe<Ae.length;qe++){var Fe=Ae[qe];"little"===Se&&(Fe=St(Fe)),Ce+=xt(Fe.toString(16))}return Ce};function Pt(Ae){return 1===Ae.length?"0"+Ae:Ae}function xt(Ae){return 7===Ae.length?"0"+Ae:6===Ae.length?"00"+Ae:5===Ae.length?"000"+Ae:4===Ae.length?"0000"+Ae:3===Ae.length?"00000"+Ae:2===Ae.length?"000000"+Ae:1===Ae.length?"0000000"+Ae:Ae}var Mt=function(Ae,Se,Ce,qe){var Fe=Ce-Se;Lr(Fe%4==0);for(var $e=Array(Fe/4),rt=0,it=Se;rt<$e.length;rt++,it+=4){var nt;nt="big"===qe?Ae[it]<<24|Ae[it+1]<<16|Ae[it+2]<<8|Ae[it+3]:Ae[it+3]<<24|Ae[it+2]<<16|Ae[it+1]<<8|Ae[it],$e[rt]=nt>>>0}return $e};var Kt=function(Ae,Se){for(var Ce=Array(4*Ae.length),qe=0,Fe=0;qe<Ae.length;qe++,Fe+=4){var $e=Ae[qe];"big"===Se?(Ce[Fe]=$e>>>24,Ce[Fe+1]=$e>>>16&255,Ce[Fe+2]=$e>>>8&255,Ce[Fe+3]=255&$e):(Ce[Fe+3]=$e>>>24,Ce[Fe+2]=$e>>>16&255,Ce[Fe+1]=$e>>>8&255,Ce[Fe]=255&$e)}return Ce};var ri={inherits:ti,toArray:kt,toHex:At,htonl:St,toHex32:Et,zero2:Pt,zero8:xt,join32:Mt,split32:Kt,rotr32:function(Ae,Se){return Ae>>>Se|Ae<<32-Se},rotl32:function(Ae,Se){return Ae<<Se|Ae>>>32-Se},sum32:function(Ae,Se){return Ae+Se>>>0},sum32_3:function(Ae,Se,Ce){return Ae+Se+Ce>>>0},sum32_4:function(Ae,Se,Ce,qe){return Ae+Se+Ce+qe>>>0},sum32_5:function(Ae,Se,Ce,qe,Fe){return Ae+Se+Ce+qe+Fe>>>0},sum64:function(Ae,Se,Ce,qe){var Fe=Ae[Se],$e=qe+Ae[Se+1]>>>0,rt=($e<qe?1:0)+Ce+Fe;Ae[Se]=rt>>>0,Ae[Se+1]=$e},sum64_hi:function(Ae,Se,Ce,qe){return(Se+qe>>>0<Se?1:0)+Ae+Ce>>>0},sum64_lo:function(Ae,Se,Ce,qe){return Se+qe>>>0},sum64_4_hi:function(Ae,Se,Ce,qe,Fe,$e,rt,it){var nt=0,st=Se;return nt+=(st=st+qe>>>0)<Se?1:0,nt+=(st=st+$e>>>0)<$e?1:0,Ae+Ce+Fe+rt+(nt+=(st=st+it>>>0)<it?1:0)>>>0},sum64_4_lo:function(Ae,Se,Ce,qe,Fe,$e,rt,it){return Se+qe+$e+it>>>0},sum64_5_hi:function(Ae,Se,Ce,qe,Fe,$e,rt,it,nt,st){var ut=0,ht=Se;return ut+=(ht=ht+qe>>>0)<Se?1:0,ut+=(ht=ht+$e>>>0)<$e?1:0,ut+=(ht=ht+it>>>0)<it?1:0,Ae+Ce+Fe+rt+nt+(ut+=(ht=ht+st>>>0)<st?1:0)>>>0},sum64_5_lo:function(Ae,Se,Ce,qe,Fe,$e,rt,it,nt,st){return Se+qe+$e+it+st>>>0},rotr64_hi:function(Ae,Se,Ce){return(Se<<32-Ce|Ae>>>Ce)>>>0},rotr64_lo:function(Ae,Se,Ce){return(Ae<<32-Ce|Se>>>Ce)>>>0},shr64_hi:function(Ae,Se,Ce){return Ae>>>Ce},shr64_lo:function(Ae,Se,Ce){return(Ae<<32-Ce|Se>>>Ce)>>>0}};function Dt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var ii=Dt;Dt.prototype.update=function(Ae,Se){if(Ae=ri.toArray(Ae,Se),this.pending?this.pending=this.pending.concat(Ae):this.pending=Ae,this.pendingTotal+=Ae.length,this.pending.length>=this._delta8){var Ce=(Ae=this.pending).length%this._delta8;this.pending=Ae.slice(Ae.length-Ce,Ae.length),0===this.pending.length&&(this.pending=null),Ae=ri.join32(Ae,0,Ae.length-Ce,this.endian);for(var qe=0;qe<Ae.length;qe+=this._delta32)this._update(Ae,qe,qe+this._delta32)}return this},Dt.prototype.digest=function(Ae){return this.update(this._pad()),Lr(null===this.pending),this._digest(Ae)},Dt.prototype._pad=function(){var Ae=this.pendingTotal,Se=this._delta8,Ce=Se-(Ae+this.padLength)%Se,qe=Array(Ce+this.padLength);qe[0]=128;for(var Fe=1;Fe<Ce;Fe++)qe[Fe]=0;if(Ae<<=3,"big"===this.endian){for(var $e=8;$e<this.padLength;$e++)qe[Fe++]=0;qe[Fe++]=0,qe[Fe++]=0,qe[Fe++]=0,qe[Fe++]=0,qe[Fe++]=Ae>>>24&255,qe[Fe++]=Ae>>>16&255,qe[Fe++]=Ae>>>8&255,qe[Fe++]=255&Ae}else for(qe[Fe++]=255&Ae,qe[Fe++]=Ae>>>8&255,qe[Fe++]=Ae>>>16&255,qe[Fe++]=Ae>>>24&255,qe[Fe++]=0,qe[Fe++]=0,qe[Fe++]=0,qe[Fe++]=0,$e=8;$e<this.padLength;$e++)qe[Fe++]=0;return qe};var oi={BlockHash:ii},ci=ri.rotr32;var Bt=function(Ae,Se,Ce,qe){return 0===Ae?Tt(Se,Ce,qe):1===Ae||3===Ae?qt(Se,Ce,qe):2===Ae?zt(Se,Ce,qe):void 0};function Tt(Ae,Se,Ce){return Ae&Se^~Ae&Ce}function zt(Ae,Se,Ce){return Ae&Se^Ae&Ce^Se&Ce}function qt(Ae,Se,Ce){return Ae^Se^Ce}var li={ft_1:Bt,ch32:Tt,maj32:zt,p32:qt,s0_256:function(Ae){return ci(Ae,2)^ci(Ae,13)^ci(Ae,22)},s1_256:function(Ae){return ci(Ae,6)^ci(Ae,11)^ci(Ae,25)},g0_256:function(Ae){return ci(Ae,7)^ci(Ae,18)^Ae>>>3},g1_256:function(Ae){return ci(Ae,17)^ci(Ae,19)^Ae>>>10}},di=ri.sum32,fi=ri.sum32_4,pi=ri.sum32_5,yi=li.ch32,gi=li.maj32,vi=li.s0_256,wi=li.s1_256,ki=li.g0_256,Si=li.g1_256,Ei=oi.BlockHash,Mi=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Yt(){if(!(this instanceof Yt))return new Yt;Ei.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Mi,this.W=Array(64)}ri.inherits(Yt,Ei);var Pi=Yt;function Jt(){if(!(this instanceof Jt))return new Jt;Pi.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Yt.blockSize=512,Yt.outSize=256,Yt.hmacStrength=192,Yt.padLength=64,Yt.prototype._update=function(Ae,Se){for(var Ce=this.W,qe=0;qe<16;qe++)Ce[qe]=Ae[Se+qe];for(;qe<Ce.length;qe++)Ce[qe]=fi(Si(Ce[qe-2]),Ce[qe-7],ki(Ce[qe-15]),Ce[qe-16]);var Fe=this.h[0],$e=this.h[1],rt=this.h[2],it=this.h[3],nt=this.h[4],st=this.h[5],ut=this.h[6],ht=this.h[7];for(Lr(this.k.length===Ce.length),qe=0;qe<Ce.length;qe++){var ft=pi(ht,wi(nt),yi(nt,st,ut),this.k[qe],Ce[qe]),yt=di(vi(Fe),gi(Fe,$e,rt));ht=ut,ut=st,st=nt,nt=di(it,ft),it=rt,rt=$e,$e=Fe,Fe=di(ft,yt)}this.h[0]=di(this.h[0],Fe),this.h[1]=di(this.h[1],$e),this.h[2]=di(this.h[2],rt),this.h[3]=di(this.h[3],it),this.h[4]=di(this.h[4],nt),this.h[5]=di(this.h[5],st),this.h[6]=di(this.h[6],ut),this.h[7]=di(this.h[7],ht)},Yt.prototype._digest=function(Ae){return"hex"===Ae?ri.toHex32(this.h,"big"):ri.split32(this.h,"big")},ri.inherits(Jt,Pi);var xi=Jt;Jt.blockSize=512,Jt.outSize=224,Jt.hmacStrength=192,Jt.padLength=64,Jt.prototype._digest=function(Ae){return"hex"===Ae?ri.toHex32(this.h.slice(0,7),"big"):ri.split32(this.h.slice(0,7),"big")};var Ci=ri.rotr64_hi,Di=ri.rotr64_lo,Ki=ri.shr64_hi,Ti=ri.shr64_lo,Ui=ri.sum64,Ni=ri.sum64_hi,ji=ri.sum64_lo,qi=ri.sum64_4_hi,zi=ri.sum64_4_lo,Hi=ri.sum64_5_hi,$i=ri.sum64_5_lo,Vi=oi.BlockHash,Zi=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function pr(){if(!(this instanceof pr))return new pr;Vi.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Zi,this.W=Array(160)}ri.inherits(pr,Vi);var Yi=pr;function br(Ae,Se,Ce,qe,Fe){var $e=Ae&Ce^~Ae&Fe;return $e<0&&($e+=4294967296),$e}function mr(Ae,Se,Ce,qe,Fe,$e){var rt=Se&qe^~Se&$e;return rt<0&&(rt+=4294967296),rt}function gr(Ae,Se,Ce,qe,Fe){var $e=Ae&Ce^Ae&Fe^Ce&Fe;return $e<0&&($e+=4294967296),$e}function wr(Ae,Se,Ce,qe,Fe,$e){var rt=Se&qe^Se&$e^qe&$e;return rt<0&&(rt+=4294967296),rt}function vr(Ae,Se){var Ce=Ci(Ae,Se,28)^Ci(Se,Ae,2)^Ci(Se,Ae,7);return Ce<0&&(Ce+=4294967296),Ce}function _r(Ae,Se){var Ce=Di(Ae,Se,28)^Di(Se,Ae,2)^Di(Se,Ae,7);return Ce<0&&(Ce+=4294967296),Ce}function kr(Ae,Se){var Ce=Ci(Ae,Se,14)^Ci(Ae,Se,18)^Ci(Se,Ae,9);return Ce<0&&(Ce+=4294967296),Ce}function Ar(Ae,Se){var Ce=Di(Ae,Se,14)^Di(Ae,Se,18)^Di(Se,Ae,9);return Ce<0&&(Ce+=4294967296),Ce}function Sr(Ae,Se){var Ce=Ci(Ae,Se,1)^Ci(Ae,Se,8)^Ki(Ae,Se,7);return Ce<0&&(Ce+=4294967296),Ce}function Er(Ae,Se){var Ce=Di(Ae,Se,1)^Di(Ae,Se,8)^Ti(Ae,Se,7);return Ce<0&&(Ce+=4294967296),Ce}function Pr(Ae,Se){var Ce=Ci(Ae,Se,19)^Ci(Se,Ae,29)^Ki(Ae,Se,6);return Ce<0&&(Ce+=4294967296),Ce}function xr(Ae,Se){var Ce=Di(Ae,Se,19)^Di(Se,Ae,29)^Ti(Ae,Se,6);return Ce<0&&(Ce+=4294967296),Ce}function Mr(){if(!(this instanceof Mr))return new Mr;Yi.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}pr.blockSize=1024,pr.outSize=512,pr.hmacStrength=192,pr.padLength=128,pr.prototype._prepareBlock=function(Ae,Se){for(var Ce=this.W,qe=0;qe<32;qe++)Ce[qe]=Ae[Se+qe];for(;qe<Ce.length;qe+=2){var Fe=Pr(Ce[qe-4],Ce[qe-3]),$e=xr(Ce[qe-4],Ce[qe-3]),rt=Ce[qe-14],it=Ce[qe-13],nt=Sr(Ce[qe-30],Ce[qe-29]),st=Er(Ce[qe-30],Ce[qe-29]),ut=Ce[qe-32],ht=Ce[qe-31];Ce[qe]=qi(Fe,$e,rt,it,nt,st,ut,ht),Ce[qe+1]=zi(Fe,$e,rt,it,nt,st,ut,ht)}},pr.prototype._update=function(Ae,Se){this._prepareBlock(Ae,Se);var Ce=this.W,qe=this.h[0],Fe=this.h[1],$e=this.h[2],rt=this.h[3],it=this.h[4],nt=this.h[5],st=this.h[6],ut=this.h[7],ht=this.h[8],ft=this.h[9],yt=this.h[10],mt=this.h[11],vt=this.h[12],_t=this.h[13],Ct=this.h[14],Rt=this.h[15];Lr(this.k.length===Ce.length);for(var Ut=0;Ut<Ce.length;Ut+=2){var It=Ct,Ot=Rt,Nt=kr(ht,ft),jt=Ar(ht,ft),Ft=br(ht,ft,yt,mt,vt),Lt=mr(ht,ft,yt,mt,vt,_t),Ht=this.k[Ut],Wt=this.k[Ut+1],Gt=Ce[Ut],$t=Ce[Ut+1],Vt=Hi(It,Ot,Nt,jt,Ft,Lt,Ht,Wt,Gt,$t),Zt=$i(It,Ot,Nt,jt,Ft,Lt,Ht,Wt,Gt,$t);It=vr(qe,Fe),Ot=_r(qe,Fe),Nt=gr(qe,Fe,$e,rt,it),jt=wr(qe,Fe,$e,rt,it,nt);var Qt=Ni(It,Ot,Nt,jt),Xt=ji(It,Ot,Nt,jt);Ct=vt,Rt=_t,vt=yt,_t=mt,yt=ht,mt=ft,ht=Ni(st,ut,Vt,Zt),ft=ji(ut,ut,Vt,Zt),st=it,ut=nt,it=$e,nt=rt,$e=qe,rt=Fe,qe=Ni(Vt,Zt,Qt,Xt),Fe=ji(Vt,Zt,Qt,Xt)}Ui(this.h,0,qe,Fe),Ui(this.h,2,$e,rt),Ui(this.h,4,it,nt),Ui(this.h,6,st,ut),Ui(this.h,8,ht,ft),Ui(this.h,10,yt,mt),Ui(this.h,12,vt,_t),Ui(this.h,14,Ct,Rt)},pr.prototype._digest=function(Ae){return"hex"===Ae?ri.toHex32(this.h,"big"):ri.split32(this.h,"big")},ri.inherits(Mr,Yi);var Xi=Mr;Mr.blockSize=1024,Mr.outSize=384,Mr.hmacStrength=192,Mr.padLength=128,Mr.prototype._digest=function(Ae){return"hex"===Ae?ri.toHex32(this.h.slice(0,12),"big"):ri.split32(this.h.slice(0,12),"big")};var Ji=ri.rotl32,en=ri.sum32,tn=ri.sum32_3,an=ri.sum32_4,cn=oi.BlockHash;function Br(){if(!(this instanceof Br))return new Br;cn.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}ri.inherits(Br,cn);var un=Br;function zr(Ae,Se,Ce,qe){return Ae<=15?Se^Ce^qe:Ae<=31?Se&Ce|~Se&qe:Ae<=47?(Se|~Ce)^qe:Ae<=63?Se&qe|Ce&~qe:Se^(Ce|~qe)}function qr(Ae){return Ae<=15?0:Ae<=31?1518500249:Ae<=47?1859775393:Ae<=63?2400959708:2840853838}function Fr(Ae){return Ae<=15?1352829926:Ae<=31?1548603684:Ae<=47?1836072691:Ae<=63?2053994217:0}Br.blockSize=512,Br.outSize=160,Br.hmacStrength=192,Br.padLength=64,Br.prototype._update=function(Ae,Se){for(var Ce=this.h[0],qe=this.h[1],Fe=this.h[2],$e=this.h[3],rt=this.h[4],it=Ce,nt=qe,st=Fe,ut=$e,ht=rt,ft=0;ft<80;ft++){var yt=en(Ji(an(Ce,zr(ft,qe,Fe,$e),Ae[ln[ft]+Se],qr(ft)),yn[ft]),rt);Ce=rt,rt=$e,$e=Ji(Fe,10),Fe=qe,qe=yt,yt=en(Ji(an(it,zr(79-ft,nt,st,ut),Ae[pn[ft]+Se],Fr(ft)),mn[ft]),ht),it=ht,ht=ut,ut=Ji(st,10),st=nt,nt=yt}yt=tn(this.h[1],Fe,ut),this.h[1]=tn(this.h[2],$e,ht),this.h[2]=tn(this.h[3],rt,it),this.h[3]=tn(this.h[4],Ce,nt),this.h[4]=tn(this.h[0],qe,st),this.h[0]=yt},Br.prototype._digest=function(Ae){return"hex"===Ae?ri.toHex32(this.h,"little"):ri.split32(this.h,"little")};var ln=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],pn=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],yn=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],mn=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],gn={ripemd160:un};function Hr(Ae,Se){let Ce=Ae[0],qe=Ae[1],Fe=Ae[2],$e=Ae[3];Ce=Vr(Ce,qe,Fe,$e,Se[0],7,-680876936),$e=Vr($e,Ce,qe,Fe,Se[1],12,-389564586),Fe=Vr(Fe,$e,Ce,qe,Se[2],17,606105819),qe=Vr(qe,Fe,$e,Ce,Se[3],22,-1044525330),Ce=Vr(Ce,qe,Fe,$e,Se[4],7,-176418897),$e=Vr($e,Ce,qe,Fe,Se[5],12,1200080426),Fe=Vr(Fe,$e,Ce,qe,Se[6],17,-1473231341),qe=Vr(qe,Fe,$e,Ce,Se[7],22,-45705983),Ce=Vr(Ce,qe,Fe,$e,Se[8],7,1770035416),$e=Vr($e,Ce,qe,Fe,Se[9],12,-1958414417),Fe=Vr(Fe,$e,Ce,qe,Se[10],17,-42063),qe=Vr(qe,Fe,$e,Ce,Se[11],22,-1990404162),Ce=Vr(Ce,qe,Fe,$e,Se[12],7,1804603682),$e=Vr($e,Ce,qe,Fe,Se[13],12,-40341101),Fe=Vr(Fe,$e,Ce,qe,Se[14],17,-1502002290),qe=Vr(qe,Fe,$e,Ce,Se[15],22,1236535329),Ce=$r(Ce,qe,Fe,$e,Se[1],5,-165796510),$e=$r($e,Ce,qe,Fe,Se[6],9,-1069501632),Fe=$r(Fe,$e,Ce,qe,Se[11],14,643717713),qe=$r(qe,Fe,$e,Ce,Se[0],20,-373897302),Ce=$r(Ce,qe,Fe,$e,Se[5],5,-701558691),$e=$r($e,Ce,qe,Fe,Se[10],9,38016083),Fe=$r(Fe,$e,Ce,qe,Se[15],14,-660478335),qe=$r(qe,Fe,$e,Ce,Se[4],20,-405537848),Ce=$r(Ce,qe,Fe,$e,Se[9],5,568446438),$e=$r($e,Ce,qe,Fe,Se[14],9,-1019803690),Fe=$r(Fe,$e,Ce,qe,Se[3],14,-187363961),qe=$r(qe,Fe,$e,Ce,Se[8],20,1163531501),Ce=$r(Ce,qe,Fe,$e,Se[13],5,-1444681467),$e=$r($e,Ce,qe,Fe,Se[2],9,-51403784),Fe=$r(Fe,$e,Ce,qe,Se[7],14,1735328473),qe=$r(qe,Fe,$e,Ce,Se[12],20,-1926607734),Ce=Zr(Ce,qe,Fe,$e,Se[5],4,-378558),$e=Zr($e,Ce,qe,Fe,Se[8],11,-2022574463),Fe=Zr(Fe,$e,Ce,qe,Se[11],16,1839030562),qe=Zr(qe,Fe,$e,Ce,Se[14],23,-35309556),Ce=Zr(Ce,qe,Fe,$e,Se[1],4,-1530992060),$e=Zr($e,Ce,qe,Fe,Se[4],11,1272893353),Fe=Zr(Fe,$e,Ce,qe,Se[7],16,-155497632),qe=Zr(qe,Fe,$e,Ce,Se[10],23,-1094730640),Ce=Zr(Ce,qe,Fe,$e,Se[13],4,681279174),$e=Zr($e,Ce,qe,Fe,Se[0],11,-358537222),Fe=Zr(Fe,$e,Ce,qe,Se[3],16,-722521979),qe=Zr(qe,Fe,$e,Ce,Se[6],23,76029189),Ce=Zr(Ce,qe,Fe,$e,Se[9],4,-640364487),$e=Zr($e,Ce,qe,Fe,Se[12],11,-421815835),Fe=Zr(Fe,$e,Ce,qe,Se[15],16,530742520),qe=Zr(qe,Fe,$e,Ce,Se[2],23,-995338651),Ce=Xr(Ce,qe,Fe,$e,Se[0],6,-198630844),$e=Xr($e,Ce,qe,Fe,Se[7],10,1126891415),Fe=Xr(Fe,$e,Ce,qe,Se[14],15,-1416354905),qe=Xr(qe,Fe,$e,Ce,Se[5],21,-57434055),Ce=Xr(Ce,qe,Fe,$e,Se[12],6,1700485571),$e=Xr($e,Ce,qe,Fe,Se[3],10,-1894986606),Fe=Xr(Fe,$e,Ce,qe,Se[10],15,-1051523),qe=Xr(qe,Fe,$e,Ce,Se[1],21,-2054922799),Ce=Xr(Ce,qe,Fe,$e,Se[8],6,1873313359),$e=Xr($e,Ce,qe,Fe,Se[15],10,-30611744),Fe=Xr(Fe,$e,Ce,qe,Se[6],15,-1560198380),qe=Xr(qe,Fe,$e,Ce,Se[13],21,1309151649),Ce=Xr(Ce,qe,Fe,$e,Se[4],6,-145523070),$e=Xr($e,Ce,qe,Fe,Se[11],10,-1120210379),Fe=Xr(Fe,$e,Ce,qe,Se[2],15,718787259),qe=Xr(qe,Fe,$e,Ce,Se[9],21,-343485551),Ae[0]=ei(Ce,Ae[0]),Ae[1]=ei(qe,Ae[1]),Ae[2]=ei(Fe,Ae[2]),Ae[3]=ei($e,Ae[3])}function Gr(Ae,Se,Ce,qe,Fe,$e){return Se=ei(ei(Se,Ae),ei(qe,$e)),ei(Se<<Fe|Se>>>32-Fe,Ce)}function Vr(Ae,Se,Ce,qe,Fe,$e,rt){return Gr(Se&Ce|~Se&qe,Ae,Se,Fe,$e,rt)}function $r(Ae,Se,Ce,qe,Fe,$e,rt){return Gr(Se&qe|Ce&~qe,Ae,Se,Fe,$e,rt)}function Zr(Ae,Se,Ce,qe,Fe,$e,rt){return Gr(Se^Ce^qe,Ae,Se,Fe,$e,rt)}function Xr(Ae,Se,Ce,qe,Fe,$e,rt){return Gr(Ce^(Se|~qe),Ae,Se,Fe,$e,rt)}function Yr(Ae){const Se=[];let Ce;for(Ce=0;Ce<64;Ce+=4)Se[Ce>>2]=Ae.charCodeAt(Ce)+(Ae.charCodeAt(Ce+1)<<8)+(Ae.charCodeAt(Ce+2)<<16)+(Ae.charCodeAt(Ce+3)<<24);return Se}const bn="0123456789abcdef".split("");function Jr(Ae){let Se="",Ce=0;for(;Ce<4;Ce++)Se+=bn[Ae>>8*Ce+4&15]+bn[Ae>>8*Ce&15];return Se}function ei(Ae,Se){return Ae+Se&4294967295}const vn=sr.getWebCrypto(),wn=sr.getNodeCrypto(),Bn=wn&&wn.getHashes();function ni(Ae){if(wn&&Bn.includes(Ae))return async function(Se){const Ce=wn.createHash(Ae);return X(Se,(Ae=>{Ce.update(Ae)}),(()=>new Uint8Array(Ce.digest())))}}function ai(Ae,Se){return async function(Ce,qe=hr){if(_(Ce)&&(Ce=await ie(Ce)),!sr.isStream(Ce)&&vn&&Se&&Ce.length>=qe.minBytesForWebCrypto)return new Uint8Array(await vn.digest(Se,Ce));const Fe=Ae();return X(Ce,(Ae=>{Fe.update(Ae)}),(()=>new Uint8Array(Fe.digest())))}}function si(Ae,Se){return async function(Ce,qe=hr){if(_(Ce)&&(Ce=await ie(Ce)),sr.isStream(Ce)){const Se=new Ae;return X(Ce,(Ae=>{Se.process(Ae)}),(()=>Se.finish().result))}return vn&&Se&&Ce.length>=qe.minBytesForWebCrypto?new Uint8Array(await vn.digest(Se,Ce)):Ae.bytes(Ce)}}const Tn={md5:ni("md5")||async function(Ae){const Se=function(Ae){const Se=Ae.length,Ce=[1732584193,-271733879,-1732584194,271733878];let qe;for(qe=64;qe<=Ae.length;qe+=64)Hr(Ce,Yr(Ae.substring(qe-64,qe)));Ae=Ae.substring(qe-64);const Fe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(qe=0;qe<Ae.length;qe++)Fe[qe>>2]|=Ae.charCodeAt(qe)<<(qe%4<<3);if(Fe[qe>>2]|=128<<(qe%4<<3),qe>55)for(Hr(Ce,Fe),qe=0;qe<16;qe++)Fe[qe]=0;return Fe[14]=8*Se,Hr(Ce,Fe),Ce}(sr.uint8ArrayToString(Ae));return sr.hexToUint8Array(function(Ae){for(let Se=0;Se<Ae.length;Se++)Ae[Se]=Jr(Ae[Se]);return Ae.join("")}(Se))},sha1:ni("sha1")||si(dt,"SHA-1"),sha224:ni("sha224")||ai(xi),sha256:ni("sha256")||si(pt,"SHA-256"),sha384:ni("sha384")||ai(Xi,"SHA-384"),sha512:ni("sha512")||ai(Yi,"SHA-512"),ripemd:ni("ripemd160")||ai(un)};var In={md5:Tn.md5,sha1:Tn.sha1,sha224:Tn.sha224,sha256:Tn.sha256,sha384:Tn.sha384,sha512:Tn.sha512,ripemd:Tn.ripemd,digest:function(Ae,Se){switch(Ae){case ir.hash.md5:return this.md5(Se);case ir.hash.sha1:return this.sha1(Se);case ir.hash.ripemd:return this.ripemd(Se);case ir.hash.sha256:return this.sha256(Se);case ir.hash.sha384:return this.sha384(Se);case ir.hash.sha512:return this.sha512(Se);case ir.hash.sha224:return this.sha224(Se);default:throw Error("Invalid hash function.")}},getHashByteLength:function(Ae){switch(Ae){case ir.hash.md5:return 16;case ir.hash.sha1:case ir.hash.ripemd:return 20;case ir.hash.sha256:return 32;case ir.hash.sha384:return 48;case ir.hash.sha512:return 64;case ir.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}}};class ui{static encrypt(Ae,Se,Ce){return new ui(Se,Ce).encrypt(Ae)}static decrypt(Ae,Se,Ce){return new ui(Se,Ce).decrypt(Ae)}constructor(Ae,Se,Ce){this.aes=Ce||new Oe(Ae,Se,!0,"CFB"),delete this.aes.padding}encrypt(Ae){return Ie(this.aes.AES_Encrypt_process(Ae),this.aes.AES_Encrypt_finish())}decrypt(Ae){return Ie(this.aes.AES_Decrypt_process(Ae),this.aes.AES_Decrypt_finish())}}function hi(Ae){const Se=ir.read(ir.symmetric,Ae);return Ur[Se]}const qn=sr.getWebCrypto(),zn=sr.getNodeCrypto(),Fn=zn?zn.getCiphers():[],Hn={idea:Fn.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Fn.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Fn.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Fn.includes("bf-cfb")?"bf-cfb":void 0,aes128:Fn.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Fn.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Fn.includes("aes-256-cfb")?"aes-256-cfb":void 0};var Gn=Object.freeze({__proto__:null,encrypt:async function(Ae,Se,Ce,qe,Fe){const $e=ir.read(ir.symmetric,Ae);if(sr.getNodeCrypto()&&Hn[$e])return function(Ae,Se,Ce,qe){const Fe=ir.read(ir.symmetric,Ae),$e=new zn.createCipheriv(Hn[Fe],Se,qe);return X(Ce,(Ae=>new Uint8Array($e.update(Ae))))}(Ae,Se,Ce,qe);if(sr.isAES(Ae))return function(Ae,Se,Ce,qe,Fe){if(sr.getWebCrypto()&&24!==Se.length&&!sr.isStream(Ce)&&Ce.length>=3e3*Fe.minBytesForWebCrypto)return async function(Ae,Se,Ce,qe){const Fe="AES-CBC",$e=await qn.importKey("raw",Se,{name:Fe},!1,["encrypt"]),{blockSize:rt}=hi(Ae),it=sr.concatUint8Array([new Uint8Array(rt),Ce]),nt=new Uint8Array(await qn.encrypt({name:Fe,iv:qe},$e,it)).subarray(0,Ce.length);return function(Ae,Se){for(let Ce=0;Ce<Ae.length;Ce++)Ae[Ce]=Ae[Ce]^Se[Ce]}(nt,Ce),nt}(Ae,Se,Ce,qe);const $e=new ui(Se,qe);return X(Ce,(Ae=>$e.aes.AES_Encrypt_process(Ae)),(()=>$e.aes.AES_Encrypt_finish()))}(Ae,Se,Ce,qe,Fe);const rt=new(hi(Ae))(Se),it=rt.blockSize,nt=qe.slice();let st=new Uint8Array;const h=Ae=>{Ae&&(st=sr.concatUint8Array([st,Ae]));const Se=new Uint8Array(st.length);let Ce,qe=0;for(;Ae?st.length>=it:st.length;){const Ae=rt.encrypt(nt);for(Ce=0;Ce<it;Ce++)nt[Ce]=st[Ce]^Ae[Ce],Se[qe++]=nt[Ce];st=st.subarray(it)}return Se.subarray(0,qe)};return X(Ce,h,h)},decrypt:async function(Ae,Se,Ce,qe){const Fe=ir.read(ir.symmetric,Ae);if(sr.getNodeCrypto()&&Hn[Fe])return function(Ae,Se,Ce,qe){const Fe=ir.read(ir.symmetric,Ae),$e=new zn.createDecipheriv(Hn[Fe],Se,qe);return X(Ce,(Ae=>new Uint8Array($e.update(Ae))))}(Ae,Se,Ce,qe);if(sr.isAES(Ae))return function(Ae,Se,Ce,qe){if(sr.isStream(Ce)){const Ae=new ui(Se,qe);return X(Ce,(Se=>Ae.aes.AES_Decrypt_process(Se)),(()=>Ae.aes.AES_Decrypt_finish()))}return ui.decrypt(Ce,Se,qe)}(0,Se,Ce,qe);const $e=new(hi(Ae))(Se),rt=$e.blockSize;let it=qe,nt=new Uint8Array;const u=Ae=>{Ae&&(nt=sr.concatUint8Array([nt,Ae]));const Se=new Uint8Array(nt.length);let Ce,qe=0;for(;Ae?nt.length>=rt:nt.length;){const Ae=$e.encrypt(it);for(it=nt,Ce=0;Ce<rt;Ce++)Se[qe++]=it[Ce]^Ae[Ce];nt=nt.subarray(rt)}return Se.subarray(0,qe)};return X(Ce,u,u)}});class bi{static encrypt(Ae,Se,Ce){return new bi(Se,Ce).encrypt(Ae)}static decrypt(Ae,Se,Ce){return new bi(Se,Ce).encrypt(Ae)}constructor(Ae,Se,Ce){this.aes=Ce||new Oe(Ae,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(Se)}encrypt(Ae){return Ie(this.aes.AES_Encrypt_process(Ae),this.aes.AES_Encrypt_finish())}decrypt(Ae){return Ie(this.aes.AES_Encrypt_process(Ae),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(Ae,Se,Ce){let{asm:qe}=this.aes.acquire_asm();if(void 0!==Ce){if(Ce<8||Ce>48)throw new Te("illegal counter size");let Ae=Math.pow(2,Ce)-1;qe.set_mask(0,0,Ae/4294967296|0,0|Ae)}else Ce=48,qe.set_mask(0,0,65535,4294967295);if(void 0===Ae)throw Error("nonce is required");{let Se=Ae.length;if(!Se||Se>16)throw new Te("illegal nonce size");let Ce=new DataView(new ArrayBuffer(16));new Uint8Array(Ce.buffer).set(Ae),qe.set_nonce(Ce.getUint32(0),Ce.getUint32(4),Ce.getUint32(8),Ce.getUint32(12))}if(void 0!==Se){if(Se<0||Se>=Math.pow(2,Ce))throw new Te("illegal counter value");qe.set_counter(0,0,Se/4294967296|0,0|Se)}}}class mi{static encrypt(Ae,Se,Ce=!0,qe){return new mi(Se,qe,Ce).encrypt(Ae)}static decrypt(Ae,Se,Ce=!0,qe){return new mi(Se,qe,Ce).decrypt(Ae)}constructor(Ae,Se,Ce=!0,qe){this.aes=qe||new Oe(Ae,Se,Ce,"CBC")}encrypt(Ae){return Ie(this.aes.AES_Encrypt_process(Ae),this.aes.AES_Encrypt_finish())}decrypt(Ae){return Ie(this.aes.AES_Decrypt_process(Ae),this.aes.AES_Decrypt_finish())}}const Zn=sr.getWebCrypto(),Qn=sr.getNodeCrypto(),Yn=16;function _i(Ae,Se){const Ce=Ae.length-Yn;for(let qe=0;qe<Yn;qe++)Ae[qe+Ce]^=Se[qe];return Ae}const Xn=new Uint8Array(Yn);async function Ai(Ae){const Se=await async function(Ae){if(sr.getWebCrypto()&&24!==Ae.length)return Ae=await Zn.importKey("raw",Ae,{name:"AES-CBC",length:8*Ae.length},!1,["encrypt"]),async function(Se){const Ce=await Zn.encrypt({name:"AES-CBC",iv:Xn,length:8*Yn},Ae,Se);return new Uint8Array(Ce).subarray(0,Ce.byteLength-Yn)};if(sr.getNodeCrypto())return async function(Se){const Ce=new Qn.createCipheriv("aes-"+8*Ae.length+"-cbc",Ae,Xn).update(Se);return new Uint8Array(Ce)};return async function(Se){return mi.encrypt(Se,Ae,!1,Xn)}}(Ae),Ce=sr.double(await Se(Xn)),qe=sr.double(Ce);return async function(Ae){return(await Se(function(Ae,Se,Ce){if(Ae.length&&Ae.length%Yn==0)return _i(Ae,Se);const qe=new Uint8Array(Ae.length+(Yn-Ae.length%Yn));return qe.set(Ae),qe[Ae.length]=128,_i(qe,Ce)}(Ae,Ce,qe))).subarray(-Yn)}}const Jn=sr.getWebCrypto(),es=sr.getNodeCrypto(),ts=sr.getNodeBuffer(),rs=16,is=rs,ns=rs,ss=new Uint8Array(rs),as=new Uint8Array(rs);as[rs-1]=1;const os=new Uint8Array(rs);async function Ri(Ae){const Se=await Ai(Ae);return function(Ae,Ce){return Se(sr.concatUint8Array([Ae,Ce]))}}async function Ii(Ae){return sr.getWebCrypto()&&24!==Ae.length?(Ae=await Jn.importKey("raw",Ae,{name:"AES-CTR",length:8*Ae.length},!1,["encrypt"]),async function(Se,Ce){const qe=await Jn.encrypt({name:"AES-CTR",counter:Ce,length:8*rs},Ae,Se);return new Uint8Array(qe)}):sr.getNodeCrypto()?async function(Se,Ce){const qe=new es.createCipheriv("aes-"+8*Ae.length+"-ctr",Ae,Ce),Fe=ts.concat([qe.update(Se),qe.final()]);return new Uint8Array(Fe)}:async function(Se,Ce){return bi.encrypt(Se,Ae,Ce)}}async function Bi(Ae,Se){if(Ae!==ir.symmetric.aes128&&Ae!==ir.symmetric.aes192&&Ae!==ir.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[Ce,qe]=await Promise.all([Ri(Se),Ii(Se)]);return{encrypt:async function(Ae,Se,Fe){const[$e,rt]=await Promise.all([Ce(ss,Se),Ce(as,Fe)]),it=await qe(Ae,$e),nt=await Ce(os,it);for(let Ae=0;Ae<ns;Ae++)nt[Ae]^=rt[Ae]^$e[Ae];return sr.concatUint8Array([it,nt])},decrypt:async function(Ae,Se,Fe){if(Ae.length<ns)throw Error("Invalid EAX ciphertext");const $e=Ae.subarray(0,-ns),rt=Ae.subarray(-ns),[it,nt,st]=await Promise.all([Ce(ss,Se),Ce(as,Fe),Ce(os,$e)]),ut=st;for(let Ae=0;Ae<ns;Ae++)ut[Ae]^=nt[Ae]^it[Ae];if(!sr.equalsUint8Array(rt,ut))throw Error("Authentication tag mismatch");return await qe($e,it)}}}os[rs-1]=2,Bi.getNonce=function(Ae,Se){const Ce=Ae.slice();for(let Ae=0;Ae<Se.length;Ae++)Ce[8+Ae]^=Se[Ae];return Ce},Bi.blockLength=rs,Bi.ivLength=is,Bi.tagLength=ns;const cs=16,us=15,hs=16;function Fi(Ae){let Se=0;for(let Ce=1;0==(Ae&Ce);Ce<<=1)Se++;return Se}function Oi(Ae,Se){for(let Ce=0;Ce<Ae.length;Ce++)Ae[Ce]^=Se[Ce];return Ae}function Li(Ae,Se){return Oi(Ae.slice(),Se)}const ls=new Uint8Array(cs),fs=new Uint8Array([1]);async function Wi(Ae,Se){let Ce,qe,Fe,$e=0;function s(Ae,Se,qe,rt){const it=Se.length/cs|0;!function(Ae,Se){const Ce=sr.nbits(Math.max(Ae.length,Se.length)/cs|0)-1;for(let Ae=$e+1;Ae<=Ce;Ae++)Fe[Ae]=sr.double(Fe[Ae-1]);$e=Ce}(Se,rt);const nt=sr.concatUint8Array([ls.subarray(0,us-qe.length),fs,qe]),st=63&nt[cs-1];nt[cs-1]&=192;const ut=Ce(nt),ht=sr.concatUint8Array([ut,Li(ut.subarray(0,8),ut.subarray(1,9))]),ft=sr.shiftRight(ht.subarray(0+(st>>3),17+(st>>3)),8-(7&st)).subarray(1),yt=new Uint8Array(cs),mt=new Uint8Array(Se.length+hs);let vt,_t=0;for(vt=0;vt<it;vt++)Oi(ft,Fe[Fi(vt+1)]),mt.set(Oi(Ae(Li(ft,Se)),ft),_t),Oi(yt,Ae===Ce?Se:mt.subarray(_t)),Se=Se.subarray(cs),_t+=cs;if(Se.length){Oi(ft,Fe.x);const qe=Ce(ft);mt.set(Li(Se,qe),_t);const $e=new Uint8Array(cs);$e.set(Ae===Ce?Se:mt.subarray(_t,-hs),0),$e[Se.length]=128,Oi(yt,$e),_t+=Se.length}const Ct=Oi(Ce(Oi(Oi(yt,ft),Fe.$)),function(Ae){if(!Ae.length)return ls;const Se=Ae.length/cs|0,qe=new Uint8Array(cs),$e=new Uint8Array(cs);for(let rt=0;rt<Se;rt++)Oi(qe,Fe[Fi(rt+1)]),Oi($e,Ce(Li(qe,Ae))),Ae=Ae.subarray(cs);if(Ae.length){Oi(qe,Fe.x);const Se=new Uint8Array(cs);Se.set(Ae,0),Se[Ae.length]=128,Oi(Se,qe),Oi($e,Ce(Se))}return $e}(rt));return mt.set(Ct,_t),mt}return function(Ae,Se){const $e=ir.read(ir.symmetric,Ae),rt=new Ur[$e](Se);Ce=rt.encrypt.bind(rt),qe=rt.decrypt.bind(rt);const it=Ce(ls),nt=sr.double(it);Fe=[],Fe[0]=sr.double(nt),Fe.x=it,Fe.$=nt}(Ae,Se),{encrypt:async function(Ae,Se,qe){return s(Ce,Ae,Se,qe)},decrypt:async function(Ae,Se,Ce){if(Ae.length<hs)throw Error("Invalid OCB ciphertext");const Fe=Ae.subarray(-hs);Ae=Ae.subarray(0,-hs);const $e=s(qe,Ae,Se,Ce);if(sr.equalsUint8Array(Fe,$e.subarray(-hs)))return $e.subarray(0,-hs);throw Error("Authentication tag mismatch")}}}Wi.getNonce=function(Ae,Se){const Ce=Ae.slice();for(let Ae=0;Ae<Se.length;Ae++)Ce[7+Ae]^=Se[Ae];return Ce},Wi.blockLength=cs,Wi.ivLength=us,Wi.tagLength=hs;const ps=68719476704;class Gi{constructor(Ae,Se,Ce,qe=16,Fe){this.tagSize=qe,this.gamma0=0,this.counter=1,this.aes=Fe||new Oe(Ae,void 0,!1,"CTR");let{asm:$e,heap:rt}=this.aes.acquire_asm();if($e.gcm_init(),this.tagSize<4||this.tagSize>16)throw new Te("illegal tagSize value");const it=Se.length||0,nt=new Uint8Array(16);12!==it?(this._gcm_mac_process(Se),rt[0]=0,rt[1]=0,rt[2]=0,rt[3]=0,rt[4]=0,rt[5]=0,rt[6]=0,rt[7]=0,rt[8]=0,rt[9]=0,rt[10]=0,rt[11]=it>>>29,rt[12]=it>>>21&255,rt[13]=it>>>13&255,rt[14]=it>>>5&255,rt[15]=it<<3&255,$e.mac(fr.MAC.GCM,fr.HEAP_DATA,16),$e.get_iv(fr.HEAP_DATA),$e.set_iv(0,0,0,0),nt.set(rt.subarray(0,16))):(nt.set(Se),nt[15]=1);const st=new DataView(nt.buffer);if(this.gamma0=st.getUint32(12),$e.set_nonce(st.getUint32(0),st.getUint32(4),st.getUint32(8),0),$e.set_mask(0,0,0,4294967295),void 0!==Ce){if(Ce.length>ps)throw new Te("illegal adata length");Ce.length?(this.adata=Ce,this._gcm_mac_process(Ce)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");$e.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(Ae,Se,Ce,qe,Fe){return new Gi(Se,Ce,qe,Fe).encrypt(Ae)}static decrypt(Ae,Se,Ce,qe,Fe){return new Gi(Se,Ce,qe,Fe).decrypt(Ae)}encrypt(Ae){return this.AES_GCM_encrypt(Ae)}decrypt(Ae){return this.AES_GCM_decrypt(Ae)}AES_GCM_Encrypt_process(Ae){let Se=0,Ce=Ae.length||0,{asm:qe,heap:Fe}=this.aes.acquire_asm(),$e=this.counter,rt=this.aes.pos,it=this.aes.len,nt=0,st=it+Ce&-16,ut=0;if(($e-1<<4)+it+Ce>ps)throw new RangeError("counter overflow");const ht=new Uint8Array(st);for(;Ce>0;)ut=Re(Fe,rt+it,Ae,Se,Ce),it+=ut,Se+=ut,Ce-=ut,ut=qe.cipher(fr.ENC.CTR,fr.HEAP_DATA+rt,it),ut=qe.mac(fr.MAC.GCM,fr.HEAP_DATA+rt,ut),ut&&ht.set(Fe.subarray(rt,rt+ut),nt),$e+=ut>>>4,nt+=ut,ut<it?(rt+=ut,it-=ut):(rt=0,it=0);return this.counter=$e,this.aes.pos=rt,this.aes.len=it,ht}AES_GCM_Encrypt_finish(){let{asm:Ae,heap:Se}=this.aes.acquire_asm(),Ce=this.counter,qe=this.tagSize,Fe=this.adata,$e=this.aes.pos,rt=this.aes.len;const it=new Uint8Array(rt+qe);Ae.cipher(fr.ENC.CTR,fr.HEAP_DATA+$e,rt+15&-16),rt&&it.set(Se.subarray($e,$e+rt));let nt=rt;for(;15&nt;nt++)Se[$e+nt]=0;Ae.mac(fr.MAC.GCM,fr.HEAP_DATA+$e,nt);const st=void 0!==Fe?Fe.length:0,ut=(Ce-1<<4)+rt;return Se[0]=0,Se[1]=0,Se[2]=0,Se[3]=st>>>29,Se[4]=st>>>21,Se[5]=st>>>13&255,Se[6]=st>>>5&255,Se[7]=st<<3&255,Se[8]=Se[9]=Se[10]=0,Se[11]=ut>>>29,Se[12]=ut>>>21&255,Se[13]=ut>>>13&255,Se[14]=ut>>>5&255,Se[15]=ut<<3&255,Ae.mac(fr.MAC.GCM,fr.HEAP_DATA,16),Ae.get_iv(fr.HEAP_DATA),Ae.set_counter(0,0,0,this.gamma0),Ae.cipher(fr.ENC.CTR,fr.HEAP_DATA,16),it.set(Se.subarray(0,qe),rt),this.counter=1,this.aes.pos=0,this.aes.len=0,it}AES_GCM_Decrypt_process(Ae){let Se=0,Ce=Ae.length||0,{asm:qe,heap:Fe}=this.aes.acquire_asm(),$e=this.counter,rt=this.tagSize,it=this.aes.pos,nt=this.aes.len,st=0,ut=nt+Ce>rt?nt+Ce-rt&-16:0,ht=nt+Ce-ut,ft=0;if(($e-1<<4)+nt+Ce>ps)throw new RangeError("counter overflow");const yt=new Uint8Array(ut);for(;Ce>ht;)ft=Re(Fe,it+nt,Ae,Se,Ce-ht),nt+=ft,Se+=ft,Ce-=ft,ft=qe.mac(fr.MAC.GCM,fr.HEAP_DATA+it,ft),ft=qe.cipher(fr.DEC.CTR,fr.HEAP_DATA+it,ft),ft&&yt.set(Fe.subarray(it,it+ft),st),$e+=ft>>>4,st+=ft,it=0,nt=0;return Ce>0&&(nt+=Re(Fe,0,Ae,Se,Ce)),this.counter=$e,this.aes.pos=it,this.aes.len=nt,yt}AES_GCM_Decrypt_finish(){let{asm:Ae,heap:Se}=this.aes.acquire_asm(),Ce=this.tagSize,qe=this.adata,Fe=this.counter,$e=this.aes.pos,rt=this.aes.len,it=rt-Ce;if(rt<Ce)throw new Be("authentication tag not found");const nt=new Uint8Array(it),st=new Uint8Array(Se.subarray($e+it,$e+rt));let ut=it;for(;15&ut;ut++)Se[$e+ut]=0;Ae.mac(fr.MAC.GCM,fr.HEAP_DATA+$e,ut),Ae.cipher(fr.DEC.CTR,fr.HEAP_DATA+$e,ut),it&&nt.set(Se.subarray($e,$e+it));const ht=void 0!==qe?qe.length:0,ft=(Fe-1<<4)+rt-Ce;Se[0]=0,Se[1]=0,Se[2]=0,Se[3]=ht>>>29,Se[4]=ht>>>21,Se[5]=ht>>>13&255,Se[6]=ht>>>5&255,Se[7]=ht<<3&255,Se[8]=Se[9]=Se[10]=0,Se[11]=ft>>>29,Se[12]=ft>>>21&255,Se[13]=ft>>>13&255,Se[14]=ft>>>5&255,Se[15]=ft<<3&255,Ae.mac(fr.MAC.GCM,fr.HEAP_DATA,16),Ae.get_iv(fr.HEAP_DATA),Ae.set_counter(0,0,0,this.gamma0),Ae.cipher(fr.ENC.CTR,fr.HEAP_DATA,16);let yt=0;for(let Ae=0;Ae<Ce;++Ae)yt|=st[Ae]^Se[Ae];if(yt)throw new ze("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,nt}AES_GCM_decrypt(Ae){const Se=this.AES_GCM_Decrypt_process(Ae),Ce=this.AES_GCM_Decrypt_finish(),qe=new Uint8Array(Se.length+Ce.length);return Se.length&&qe.set(Se),Ce.length&&qe.set(Ce,Se.length),qe}AES_GCM_encrypt(Ae){const Se=this.AES_GCM_Encrypt_process(Ae),Ce=this.AES_GCM_Encrypt_finish(),qe=new Uint8Array(Se.length+Ce.length);return Se.length&&qe.set(Se),Ce.length&&qe.set(Ce,Se.length),qe}_gcm_mac_process(Ae){let{asm:Se,heap:Ce}=this.aes.acquire_asm(),qe=0,Fe=Ae.length||0,$e=0;for(;Fe>0;){for($e=Re(Ce,0,Ae,qe,Fe),qe+=$e,Fe-=$e;15&$e;)Ce[$e++]=0;Se.mac(fr.MAC.GCM,fr.HEAP_DATA,$e)}}}const ys=sr.getWebCrypto(),ms=sr.getNodeCrypto(),gs=sr.getNodeBuffer(),bs=16,vs="AES-GCM";async function Qi(Ae,Se){if(Ae!==ir.symmetric.aes128&&Ae!==ir.symmetric.aes192&&Ae!==ir.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(sr.getWebCrypto()&&24!==Se.length){const Ae=await ys.importKey("raw",Se,{name:vs},!1,["encrypt","decrypt"]);return{encrypt:async function(Ce,qe,Fe=new Uint8Array){if(!Ce.length)return Gi.encrypt(Ce,Se,qe,Fe);const $e=await ys.encrypt({name:vs,iv:qe,additionalData:Fe,tagLength:8*bs},Ae,Ce);return new Uint8Array($e)},decrypt:async function(Ce,qe,Fe=new Uint8Array){if(Ce.length===bs)return Gi.decrypt(Ce,Se,qe,Fe);const $e=await ys.decrypt({name:vs,iv:qe,additionalData:Fe,tagLength:8*bs},Ae,Ce);return new Uint8Array($e)}}}return sr.getNodeCrypto()?{encrypt:async function(Ae,Ce,qe=new Uint8Array){const Fe=new ms.createCipheriv("aes-"+8*Se.length+"-gcm",Se,Ce);Fe.setAAD(qe);const $e=gs.concat([Fe.update(Ae),Fe.final(),Fe.getAuthTag()]);return new Uint8Array($e)},decrypt:async function(Ae,Ce,qe=new Uint8Array){const Fe=new ms.createDecipheriv("aes-"+8*Se.length+"-gcm",Se,Ce);Fe.setAAD(qe),Fe.setAuthTag(Ae.slice(Ae.length-bs,Ae.length));const $e=gs.concat([Fe.update(Ae.slice(0,Ae.length-bs)),Fe.final()]);return new Uint8Array($e)}}:{encrypt:async function(Ae,Ce,qe){return Gi.encrypt(Ae,Se,Ce,qe)},decrypt:async function(Ae,Ce,qe){return Gi.decrypt(Ae,Se,Ce,qe)}}}Qi.getNonce=function(Ae,Se){const Ce=Ae.slice();for(let Ae=0;Ae<Se.length;Ae++)Ce[4+Ae]^=Se[Ae];return Ce},Qi.blockLength=16,Qi.ivLength=12,Qi.tagLength=bs;var ws={cfb:Gn,gcm:Qi,experimentalGCM:Qi,eax:Bi,ocb:Wi},_s=gt((function(Ae){!function(Ae){var t=function(Ae){var Se,Ce=new Float64Array(16);if(Ae)for(Se=0;Se<Ae.length;Se++)Ce[Se]=Ae[Se];return Ce},r=function(){throw Error("no PRNG")},Se=new Uint8Array(32);Se[0]=9;var Ce=t(),qe=t([1]),Fe=t([56129,1]),$e=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),rt=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),it=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),nt=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),st=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function l(Ae,Se,Ce,qe){return function(Ae,Se,Ce,qe,Fe){var $e,rt=0;for($e=0;$e<Fe;$e++)rt|=Ae[Se+$e]^Ce[qe+$e];return(1&rt-1>>>8)-1}(Ae,Se,Ce,qe,32)}function p(Ae,Se){var Ce;for(Ce=0;Ce<16;Ce++)Ae[Ce]=0|Se[Ce]}function y(Ae){var Se,Ce,qe=1;for(Se=0;Se<16;Se++)Ce=Ae[Se]+qe+65535,qe=Math.floor(Ce/65536),Ae[Se]=Ce-65536*qe;Ae[0]+=qe-1+37*(qe-1)}function b(Ae,Se,Ce){for(var qe,Fe=~(Ce-1),$e=0;$e<16;$e++)qe=Fe&(Ae[$e]^Se[$e]),Ae[$e]^=qe,Se[$e]^=qe}function m(Ae,Se){var Ce,qe,Fe,$e=t(),rt=t();for(Ce=0;Ce<16;Ce++)rt[Ce]=Se[Ce];for(y(rt),y(rt),y(rt),qe=0;qe<2;qe++){for($e[0]=rt[0]-65517,Ce=1;Ce<15;Ce++)$e[Ce]=rt[Ce]-65535-($e[Ce-1]>>16&1),$e[Ce-1]&=65535;$e[15]=rt[15]-32767-($e[14]>>16&1),Fe=$e[15]>>16&1,$e[14]&=65535,b(rt,$e,1-Fe)}for(Ce=0;Ce<16;Ce++)Ae[2*Ce]=255&rt[Ce],Ae[2*Ce+1]=rt[Ce]>>8}function g(Ae,Se){var Ce=new Uint8Array(32),qe=new Uint8Array(32);return m(Ce,Ae),m(qe,Se),l(Ce,0,qe,0)}function w(Ae){var Se=new Uint8Array(32);return m(Se,Ae),1&Se[0]}function v(Ae,Se){var Ce;for(Ce=0;Ce<16;Ce++)Ae[Ce]=Se[2*Ce]+(Se[2*Ce+1]<<8);Ae[15]&=32767}function _(Ae,Se,Ce){for(var qe=0;qe<16;qe++)Ae[qe]=Se[qe]+Ce[qe]}function k(Ae,Se,Ce){for(var qe=0;qe<16;qe++)Ae[qe]=Se[qe]-Ce[qe]}function A(Ae,Se,Ce){var qe,Fe,$e=0,rt=0,it=0,nt=0,st=0,ut=0,ht=0,ft=0,yt=0,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0,It=0,Ot=0,Nt=0,jt=0,Ft=0,Lt=0,Ht=0,Wt=0,Gt=0,$t=0,Vt=0,Zt=0,Qt=0,Xt=0,er=0,tr=0,rr=Ce[0],ir=Ce[1],nr=Ce[2],sr=Ce[3],ar=Ce[4],cr=Ce[5],ur=Ce[6],hr=Ce[7],lr=Ce[8],dr=Ce[9],fr=Ce[10],yr=Ce[11],Cr=Ce[12],Dr=Ce[13],Rr=Ce[14],Kr=Ce[15];$e+=(qe=Se[0])*rr,rt+=qe*ir,it+=qe*nr,nt+=qe*sr,st+=qe*ar,ut+=qe*cr,ht+=qe*ur,ft+=qe*hr,yt+=qe*lr,mt+=qe*dr,vt+=qe*fr,_t+=qe*yr,Ct+=qe*Cr,Rt+=qe*Dr,Ut+=qe*Rr,It+=qe*Kr,rt+=(qe=Se[1])*rr,it+=qe*ir,nt+=qe*nr,st+=qe*sr,ut+=qe*ar,ht+=qe*cr,ft+=qe*ur,yt+=qe*hr,mt+=qe*lr,vt+=qe*dr,_t+=qe*fr,Ct+=qe*yr,Rt+=qe*Cr,Ut+=qe*Dr,It+=qe*Rr,Ot+=qe*Kr,it+=(qe=Se[2])*rr,nt+=qe*ir,st+=qe*nr,ut+=qe*sr,ht+=qe*ar,ft+=qe*cr,yt+=qe*ur,mt+=qe*hr,vt+=qe*lr,_t+=qe*dr,Ct+=qe*fr,Rt+=qe*yr,Ut+=qe*Cr,It+=qe*Dr,Ot+=qe*Rr,Nt+=qe*Kr,nt+=(qe=Se[3])*rr,st+=qe*ir,ut+=qe*nr,ht+=qe*sr,ft+=qe*ar,yt+=qe*cr,mt+=qe*ur,vt+=qe*hr,_t+=qe*lr,Ct+=qe*dr,Rt+=qe*fr,Ut+=qe*yr,It+=qe*Cr,Ot+=qe*Dr,Nt+=qe*Rr,jt+=qe*Kr,st+=(qe=Se[4])*rr,ut+=qe*ir,ht+=qe*nr,ft+=qe*sr,yt+=qe*ar,mt+=qe*cr,vt+=qe*ur,_t+=qe*hr,Ct+=qe*lr,Rt+=qe*dr,Ut+=qe*fr,It+=qe*yr,Ot+=qe*Cr,Nt+=qe*Dr,jt+=qe*Rr,Ft+=qe*Kr,ut+=(qe=Se[5])*rr,ht+=qe*ir,ft+=qe*nr,yt+=qe*sr,mt+=qe*ar,vt+=qe*cr,_t+=qe*ur,Ct+=qe*hr,Rt+=qe*lr,Ut+=qe*dr,It+=qe*fr,Ot+=qe*yr,Nt+=qe*Cr,jt+=qe*Dr,Ft+=qe*Rr,Lt+=qe*Kr,ht+=(qe=Se[6])*rr,ft+=qe*ir,yt+=qe*nr,mt+=qe*sr,vt+=qe*ar,_t+=qe*cr,Ct+=qe*ur,Rt+=qe*hr,Ut+=qe*lr,It+=qe*dr,Ot+=qe*fr,Nt+=qe*yr,jt+=qe*Cr,Ft+=qe*Dr,Lt+=qe*Rr,Ht+=qe*Kr,ft+=(qe=Se[7])*rr,yt+=qe*ir,mt+=qe*nr,vt+=qe*sr,_t+=qe*ar,Ct+=qe*cr,Rt+=qe*ur,Ut+=qe*hr,It+=qe*lr,Ot+=qe*dr,Nt+=qe*fr,jt+=qe*yr,Ft+=qe*Cr,Lt+=qe*Dr,Ht+=qe*Rr,Wt+=qe*Kr,yt+=(qe=Se[8])*rr,mt+=qe*ir,vt+=qe*nr,_t+=qe*sr,Ct+=qe*ar,Rt+=qe*cr,Ut+=qe*ur,It+=qe*hr,Ot+=qe*lr,Nt+=qe*dr,jt+=qe*fr,Ft+=qe*yr,Lt+=qe*Cr,Ht+=qe*Dr,Wt+=qe*Rr,Gt+=qe*Kr,mt+=(qe=Se[9])*rr,vt+=qe*ir,_t+=qe*nr,Ct+=qe*sr,Rt+=qe*ar,Ut+=qe*cr,It+=qe*ur,Ot+=qe*hr,Nt+=qe*lr,jt+=qe*dr,Ft+=qe*fr,Lt+=qe*yr,Ht+=qe*Cr,Wt+=qe*Dr,Gt+=qe*Rr,$t+=qe*Kr,vt+=(qe=Se[10])*rr,_t+=qe*ir,Ct+=qe*nr,Rt+=qe*sr,Ut+=qe*ar,It+=qe*cr,Ot+=qe*ur,Nt+=qe*hr,jt+=qe*lr,Ft+=qe*dr,Lt+=qe*fr,Ht+=qe*yr,Wt+=qe*Cr,Gt+=qe*Dr,$t+=qe*Rr,Vt+=qe*Kr,_t+=(qe=Se[11])*rr,Ct+=qe*ir,Rt+=qe*nr,Ut+=qe*sr,It+=qe*ar,Ot+=qe*cr,Nt+=qe*ur,jt+=qe*hr,Ft+=qe*lr,Lt+=qe*dr,Ht+=qe*fr,Wt+=qe*yr,Gt+=qe*Cr,$t+=qe*Dr,Vt+=qe*Rr,Zt+=qe*Kr,Ct+=(qe=Se[12])*rr,Rt+=qe*ir,Ut+=qe*nr,It+=qe*sr,Ot+=qe*ar,Nt+=qe*cr,jt+=qe*ur,Ft+=qe*hr,Lt+=qe*lr,Ht+=qe*dr,Wt+=qe*fr,Gt+=qe*yr,$t+=qe*Cr,Vt+=qe*Dr,Zt+=qe*Rr,Qt+=qe*Kr,Rt+=(qe=Se[13])*rr,Ut+=qe*ir,It+=qe*nr,Ot+=qe*sr,Nt+=qe*ar,jt+=qe*cr,Ft+=qe*ur,Lt+=qe*hr,Ht+=qe*lr,Wt+=qe*dr,Gt+=qe*fr,$t+=qe*yr,Vt+=qe*Cr,Zt+=qe*Dr,Qt+=qe*Rr,Xt+=qe*Kr,Ut+=(qe=Se[14])*rr,It+=qe*ir,Ot+=qe*nr,Nt+=qe*sr,jt+=qe*ar,Ft+=qe*cr,Lt+=qe*ur,Ht+=qe*hr,Wt+=qe*lr,Gt+=qe*dr,$t+=qe*fr,Vt+=qe*yr,Zt+=qe*Cr,Qt+=qe*Dr,Xt+=qe*Rr,er+=qe*Kr,It+=(qe=Se[15])*rr,rt+=38*(Nt+=qe*nr),it+=38*(jt+=qe*sr),nt+=38*(Ft+=qe*ar),st+=38*(Lt+=qe*cr),ut+=38*(Ht+=qe*ur),ht+=38*(Wt+=qe*hr),ft+=38*(Gt+=qe*lr),yt+=38*($t+=qe*dr),mt+=38*(Vt+=qe*fr),vt+=38*(Zt+=qe*yr),_t+=38*(Qt+=qe*Cr),Ct+=38*(Xt+=qe*Dr),Rt+=38*(er+=qe*Rr),Ut+=38*(tr+=qe*Kr),$e=(qe=($e+=38*(Ot+=qe*ir))+(Fe=1)+65535)-65536*(Fe=Math.floor(qe/65536)),rt=(qe=rt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),it=(qe=it+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),nt=(qe=nt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),st=(qe=st+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),ut=(qe=ut+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),ht=(qe=ht+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),ft=(qe=ft+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),yt=(qe=yt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),mt=(qe=mt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),vt=(qe=vt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),_t=(qe=_t+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),Ct=(qe=Ct+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),Rt=(qe=Rt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),Ut=(qe=Ut+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),It=(qe=It+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),$e=(qe=($e+=Fe-1+37*(Fe-1))+(Fe=1)+65535)-65536*(Fe=Math.floor(qe/65536)),rt=(qe=rt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),it=(qe=it+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),nt=(qe=nt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),st=(qe=st+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),ut=(qe=ut+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),ht=(qe=ht+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),ft=(qe=ft+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),yt=(qe=yt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),mt=(qe=mt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),vt=(qe=vt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),_t=(qe=_t+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),Ct=(qe=Ct+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),Rt=(qe=Rt+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),Ut=(qe=Ut+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),It=(qe=It+Fe+65535)-65536*(Fe=Math.floor(qe/65536)),$e+=Fe-1+37*(Fe-1),Ae[0]=$e,Ae[1]=rt,Ae[2]=it,Ae[3]=nt,Ae[4]=st,Ae[5]=ut,Ae[6]=ht,Ae[7]=ft,Ae[8]=yt,Ae[9]=mt,Ae[10]=vt,Ae[11]=_t,Ae[12]=Ct,Ae[13]=Rt,Ae[14]=Ut,Ae[15]=It}function S(Ae,Se){A(Ae,Se,Se)}function E(Ae,Se){var Ce,qe=t();for(Ce=0;Ce<16;Ce++)qe[Ce]=Se[Ce];for(Ce=253;Ce>=0;Ce--)S(qe,qe),2!==Ce&&4!==Ce&&A(qe,qe,Se);for(Ce=0;Ce<16;Ce++)Ae[Ce]=qe[Ce]}function P(Ae,Se,Ce){var qe,$e,rt=new Uint8Array(32),it=new Float64Array(80),nt=t(),st=t(),ut=t(),ht=t(),ft=t(),yt=t();for($e=0;$e<31;$e++)rt[$e]=Se[$e];for(rt[31]=127&Se[31]|64,rt[0]&=248,v(it,Ce),$e=0;$e<16;$e++)st[$e]=it[$e],ht[$e]=nt[$e]=ut[$e]=0;for(nt[0]=ht[0]=1,$e=254;$e>=0;--$e)b(nt,st,qe=rt[$e>>>3]>>>(7&$e)&1),b(ut,ht,qe),_(ft,nt,ut),k(nt,nt,ut),_(ut,st,ht),k(st,st,ht),S(ht,ft),S(yt,nt),A(nt,ut,nt),A(ut,st,ft),_(ft,nt,ut),k(nt,nt,ut),S(st,nt),k(ut,ht,yt),A(nt,ut,Fe),_(nt,nt,ht),A(ut,ut,nt),A(nt,ht,yt),A(ht,st,it),S(st,ft),b(nt,st,qe),b(ut,ht,qe);for($e=0;$e<16;$e++)it[$e+16]=nt[$e],it[$e+32]=ut[$e],it[$e+48]=st[$e],it[$e+64]=ht[$e];var mt=it.subarray(32),vt=it.subarray(16);return E(mt,mt),A(vt,vt,mt),m(Ae,vt),0}function x(Ae,Ce){return P(Ae,Ce,Se)}function M(Ae,Se){var Ce=t(),qe=t(),Fe=t(),$e=t(),it=t(),nt=t(),st=t(),ut=t(),ht=t();k(Ce,Ae[1],Ae[0]),k(ht,Se[1],Se[0]),A(Ce,Ce,ht),_(qe,Ae[0],Ae[1]),_(ht,Se[0],Se[1]),A(qe,qe,ht),A(Fe,Ae[3],Se[3]),A(Fe,Fe,rt),A($e,Ae[2],Se[2]),_($e,$e,$e),k(it,qe,Ce),k(nt,$e,Fe),_(st,$e,Fe),_(ut,qe,Ce),A(Ae[0],it,nt),A(Ae[1],ut,st),A(Ae[2],st,nt),A(Ae[3],it,ut)}function K(Ae,Se,Ce){var qe;for(qe=0;qe<4;qe++)b(Ae[qe],Se[qe],Ce)}function C(Ae,Se){var Ce=t(),qe=t(),Fe=t();E(Fe,Se[2]),A(Ce,Se[0],Fe),A(qe,Se[1],Fe),m(Ae,qe),Ae[31]^=w(Ce)<<7}function D(Ae,Se,Fe){var $e,rt;for(p(Ae[0],Ce),p(Ae[1],qe),p(Ae[2],qe),p(Ae[3],Ce),rt=255;rt>=0;--rt)K(Ae,Se,$e=Fe[rt/8|0]>>(7&rt)&1),M(Se,Ae),M(Ae,Ae),K(Ae,Se,$e)}function U(Ae,Se){var Ce=[t(),t(),t(),t()];p(Ce[0],it),p(Ce[1],nt),p(Ce[2],qe),A(Ce[3],it,nt),D(Ae,Ce,Se)}function R(Se,Ce,qe){var Fe,$e,rt=[t(),t(),t(),t()];for(qe||r(Ce,32),(Fe=Ae.hash(Ce.subarray(0,32)))[0]&=248,Fe[31]&=127,Fe[31]|=64,U(rt,Fe),C(Se,rt),$e=0;$e<32;$e++)Ce[$e+32]=Se[$e];return 0}var ut=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function B(Ae,Se){var Ce,qe,Fe,$e;for(qe=63;qe>=32;--qe){for(Ce=0,Fe=qe-32,$e=qe-12;Fe<$e;++Fe)Se[Fe]+=Ce-16*Se[qe]*ut[Fe-(qe-32)],Ce=Math.floor((Se[Fe]+128)/256),Se[Fe]-=256*Ce;Se[Fe]+=Ce,Se[qe]=0}for(Ce=0,Fe=0;Fe<32;Fe++)Se[Fe]+=Ce-(Se[31]>>4)*ut[Fe],Ce=Se[Fe]>>8,Se[Fe]&=255;for(Fe=0;Fe<32;Fe++)Se[Fe]-=Ce*ut[Fe];for(qe=0;qe<32;qe++)Se[qe+1]+=Se[qe]>>8,Ae[qe]=255&Se[qe]}function T(Ae){var Se,Ce=new Float64Array(64);for(Se=0;Se<64;Se++)Ce[Se]=Ae[Se];for(Se=0;Se<64;Se++)Ae[Se]=0;B(Ae,Ce)}function z(Ae,Se){var Fe=t(),rt=t(),it=t(),nt=t(),ut=t(),ht=t(),ft=t();return p(Ae[2],qe),v(Ae[1],Se),S(it,Ae[1]),A(nt,it,$e),k(it,it,Ae[2]),_(nt,Ae[2],nt),S(ut,nt),S(ht,ut),A(ft,ht,ut),A(Fe,ft,it),A(Fe,Fe,nt),function(Ae,Se){var Ce,qe=t();for(Ce=0;Ce<16;Ce++)qe[Ce]=Se[Ce];for(Ce=250;Ce>=0;Ce--)S(qe,qe),1!==Ce&&A(qe,qe,Se);for(Ce=0;Ce<16;Ce++)Ae[Ce]=qe[Ce]}(Fe,Fe),A(Fe,Fe,it),A(Fe,Fe,nt),A(Fe,Fe,nt),A(Ae[0],Fe,nt),S(rt,Ae[0]),A(rt,rt,nt),g(rt,it)&&A(Ae[0],Ae[0],st),S(rt,Ae[0]),A(rt,rt,nt),g(rt,it)?-1:(w(Ae[0])===Se[31]>>7&&k(Ae[0],Ce,Ae[0]),A(Ae[3],Ae[0],Ae[1]),0)}var ht=64;function F(){for(var Ae=0;Ae<arguments.length;Ae++)if(!(arguments[Ae]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function O(Ae){for(var Se=0;Se<Ae.length;Se++)Ae[Se]=0}Ae.scalarMult=function(Ae,Se){if(F(Ae,Se),32!==Ae.length)throw Error("bad n size");if(32!==Se.length)throw Error("bad p size");var Ce=new Uint8Array(32);return P(Ce,Ae,Se),Ce},Ae.box={},Ae.box.keyPair=function(){var Ae,Se,Ce=new Uint8Array(32),qe=new Uint8Array(32);return Ae=Ce,r(Se=qe,32),x(Ae,Se),{publicKey:Ce,secretKey:qe}},Ae.box.keyPair.fromSecretKey=function(Ae){if(F(Ae),32!==Ae.length)throw Error("bad secret key size");var Se=new Uint8Array(32);return x(Se,Ae),{publicKey:Se,secretKey:new Uint8Array(Ae)}},Ae.sign=function(Se,Ce){if(F(Se,Ce),64!==Ce.length)throw Error("bad secret key size");var qe=new Uint8Array(ht+Se.length);return function(Se,Ce,qe,Fe){var $e,rt,it,nt,st,ut=new Float64Array(64),ht=[t(),t(),t(),t()];($e=Ae.hash(Fe.subarray(0,32)))[0]&=248,$e[31]&=127,$e[31]|=64;var ft=qe+64;for(nt=0;nt<qe;nt++)Se[64+nt]=Ce[nt];for(nt=0;nt<32;nt++)Se[32+nt]=$e[32+nt];for(T(it=Ae.hash(Se.subarray(32,ft))),U(ht,it),C(Se,ht),nt=32;nt<64;nt++)Se[nt]=Fe[nt];for(T(rt=Ae.hash(Se.subarray(0,ft))),nt=0;nt<64;nt++)ut[nt]=0;for(nt=0;nt<32;nt++)ut[nt]=it[nt];for(nt=0;nt<32;nt++)for(st=0;st<32;st++)ut[nt+st]+=rt[nt]*$e[st];B(Se.subarray(32),ut)}(qe,Se,Se.length,Ce),qe},Ae.sign.detached=function(Se,Ce){for(var qe=Ae.sign(Se,Ce),Fe=new Uint8Array(ht),$e=0;$e<Fe.length;$e++)Fe[$e]=qe[$e];return Fe},Ae.sign.detached.verify=function(Se,Ce,qe){if(F(Se,Ce,qe),Ce.length!==ht)throw Error("bad signature size");if(32!==qe.length)throw Error("bad public key size");var Fe,$e=new Uint8Array(ht+Se.length),rt=new Uint8Array(ht+Se.length);for(Fe=0;Fe<ht;Fe++)$e[Fe]=Ce[Fe];for(Fe=0;Fe<Se.length;Fe++)$e[Fe+ht]=Se[Fe];return function(Se,Ce,qe,Fe){var $e,rt,it=new Uint8Array(32),nt=[t(),t(),t(),t()],st=[t(),t(),t(),t()];if(qe<64)return-1;if(z(st,Fe))return-1;for($e=0;$e<qe;$e++)Se[$e]=Ce[$e];for($e=0;$e<32;$e++)Se[$e+32]=Fe[$e];if(T(rt=Ae.hash(Se.subarray(0,qe))),D(nt,st,rt),U(st,Ce.subarray(32)),M(nt,st),C(it,nt),qe-=64,l(Ce,0,it,0)){for($e=0;$e<qe;$e++)Se[$e]=0;return-1}for($e=0;$e<qe;$e++)Se[$e]=Ce[$e+64];return qe}(rt,$e,$e.length,qe)>=0},Ae.sign.keyPair=function(){var Ae=new Uint8Array(32),Se=new Uint8Array(64);return R(Ae,Se),{publicKey:Ae,secretKey:Se}},Ae.sign.keyPair.fromSecretKey=function(Ae){if(F(Ae),64!==Ae.length)throw Error("bad secret key size");for(var Se=new Uint8Array(32),Ce=0;Ce<Se.length;Ce++)Se[Ce]=Ae[32+Ce];return{publicKey:Se,secretKey:new Uint8Array(Ae)}},Ae.sign.keyPair.fromSeed=function(Ae){if(F(Ae),32!==Ae.length)throw Error("bad seed size");for(var Se=new Uint8Array(32),Ce=new Uint8Array(64),qe=0;qe<32;qe++)Ce[qe]=Ae[qe];return R(Se,Ce,!0),{publicKey:Se,secretKey:Ce}},Ae.setPRNG=function(Ae){r=Ae},function(){var Se="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(Se&&Se.getRandomValues){Ae.setPRNG((function(Ae,Ce){var qe,Fe=new Uint8Array(Ce);for(qe=0;qe<Ce;qe+=65536)Se.getRandomValues(Fe.subarray(qe,qe+Math.min(Ce-qe,65536)));for(qe=0;qe<Ce;qe++)Ae[qe]=Fe[qe];O(Fe)}))}else void 0!==wt&&(Se=yt.default)&&Se.randomBytes&&Ae.setPRNG((function(Ae,Ce){var qe,Fe=Se.randomBytes(Ce);for(qe=0;qe<Ce;qe++)Ae[qe]=Fe[qe];O(Fe)}))}()}(Ae.exports?Ae.exports:self.nacl=self.nacl||{})}));const ks=sr.getNodeCrypto();function rn(Ae){const Se=new Uint8Array(Ae);if("undefined"!=typeof crypto&&crypto.getRandomValues)crypto.getRandomValues(Se);else{if(!ks)throw Error("No secure random number generator available.");{const Ae=ks.randomBytes(Se.length);Se.set(Ae)}}return Se}async function nn(Ae,Se){const Ce=await sr.getBigInteger();if(Se.lt(Ae))throw Error("Illegal parameter value: max <= min");const qe=Se.sub(Ae),Fe=qe.byteLength();return new Ce(await rn(Fe+8)).mod(qe).add(Ae)}var As=Object.freeze({__proto__:null,getRandomBytes:rn,getRandomBigInteger:nn});async function sn(Ae,Se,Ce){const qe=await sr.getBigInteger(),Fe=new qe(1),$e=Fe.leftShift(new qe(Ae-1)),rt=new qe(30),it=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],nt=await nn($e,$e.leftShift(Fe));let st=nt.mod(rt).toNumber();do{nt.iadd(new qe(it[st])),st=(st+it[st])%it.length,nt.bitLength()>Ae&&(nt.imod($e.leftShift(Fe)).iadd($e),st=nt.mod(rt).toNumber())}while(!await on(nt,Se,Ce));return nt}async function on(Ae,Se,Ce){return!(Se&&!Ae.dec().gcd(Se).isOne())&&(!!await async function(Ae){const Se=await sr.getBigInteger();return Ss.every((Ce=>0!==Ae.mod(new Se(Ce))))}(Ae)&&(!!await async function(Ae,Se){const Ce=await sr.getBigInteger();return Se=Se||new Ce(2),Se.modExp(Ae.dec(),Ae).isOne()}(Ae)&&!!await async function(Ae,Se,Ce){const qe=await sr.getBigInteger(),Fe=Ae.bitLength();Se||(Se=Math.max(1,Fe/48|0));const $e=Ae.dec();let rt=0;for(;!$e.getBit(rt);)rt++;const it=Ae.rightShift(new qe(rt));for(;Se>0;Se--){let Se,Fe=(Ce?Ce():await nn(new qe(2),$e)).modExp(it,Ae);if(!Fe.isOne()&&!Fe.equal($e)){for(Se=1;Se<rt;Se++){if(Fe=Fe.mul(Fe).mod(Ae),Fe.isOne())return!1;if(Fe.equal($e))break}if(Se===rt)return!1}}return!0}(Ae,Ce)))}const Ss=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const Es=[];function hn(Ae,Se){const Ce=Ae.length;if(Ce>Se-11)throw Error("Message too long");const qe=function(Ae){const Se=new Uint8Array(Ae);let Ce=0;for(;Ce<Ae;){const qe=rn(Ae-Ce);for(let Ae=0;Ae<qe.length;Ae++)0!==qe[Ae]&&(Se[Ce++]=qe[Ae])}return Se}(Se-Ce-3),Fe=new Uint8Array(Se);return Fe[1]=2,Fe.set(qe,2),Fe.set(Ae,Se-Ce),Fe}function dn(Ae,Se){let Ce=2,qe=1;for(let Se=Ce;Se<Ae.length;Se++)qe&=0!==Ae[Se],Ce+=qe;const Fe=Ce-2,$e=Ae.subarray(Ce+1),rt=0===Ae[0]&2===Ae[1]&Fe>=8&!qe;if(Se)return sr.selectUint8Array(rt,$e,Se);if(rt)return $e;throw Error("Decryption error")}async function fn(Ae,Se,Ce){let qe;if(Se.length!==In.getHashByteLength(Ae))throw Error("Invalid hash length");const Fe=new Uint8Array(Es[Ae].length);for(qe=0;qe<Es[Ae].length;qe++)Fe[qe]=Es[Ae][qe];const $e=Fe.length+Se.length;if(Ce<$e+11)throw Error("Intended encoded message length too short");const rt=new Uint8Array(Ce-$e-3).fill(255),it=new Uint8Array(Ce);return it[1]=1,it.set(rt,2),it.set(Fe,Ce-$e),it.set(Se,Ce-Se.length),it}Es[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Es[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Es[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Es[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Es[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Es[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Es[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var Ms=Object.freeze({__proto__:null,emeEncode:hn,emeDecode:dn,emsaEncode:fn});const Ps=sr.getWebCrypto(),xs=sr.getNodeCrypto(),Cs=xs?Ct.default:void 0,Ds=xs?Cs.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,Rs=xs?Cs.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var Bs=Object.freeze({__proto__:null,sign:async function(Ae,Se,Ce,qe,Fe,$e,rt,it,nt){if(Se&&!sr.isStream(Se))if(sr.getWebCrypto())try{return await async function(Ae,Se,Ce,qe,Fe,$e,rt,it){const nt=await async function(Ae,Se,Ce,qe,Fe,$e){const rt=await sr.getBigInteger(),it=new rt(qe),nt=new rt(Fe),st=new rt(Ce);let ut=st.mod(nt.dec()),ht=st.mod(it.dec());return ht=ht.toUint8Array(),ut=ut.toUint8Array(),{kty:"RSA",n:ge(Ae,!0),e:ge(Se,!0),d:ge(Ce,!0),p:ge(Fe,!0),q:ge(qe,!0),dp:ge(ut,!0),dq:ge(ht,!0),qi:ge($e,!0),ext:!0}}(Ce,qe,Fe,$e,rt,it),st={name:"RSASSA-PKCS1-v1_5",hash:{name:Ae}},ut=await Ps.importKey("jwk",nt,st,!1,["sign"]);return new Uint8Array(await Ps.sign("RSASSA-PKCS1-v1_5",ut,Se))}(ir.read(ir.webHash,Ae),Se,Ce,qe,Fe,$e,rt,it)}catch(Ae){sr.printDebugError(Ae)}else if(sr.getNodeCrypto())return async function(Ae,Se,Ce,qe,Fe,$e,rt,it){const{default:nt}=await Promise.resolve().then((function(){return lm})),st=new nt($e),ut=new nt(rt),ht=new nt(Fe),ft=ht.mod(ut.subn(1)),yt=ht.mod(st.subn(1)),mt=xs.createSign(ir.read(ir.hash,Ae));mt.write(Se),mt.end();const vt={version:0,modulus:new nt(Ce),publicExponent:new nt(qe),privateExponent:new nt(Fe),prime1:new nt(rt),prime2:new nt($e),exponent1:ft,exponent2:yt,coefficient:new nt(it)};if(void 0!==xs.createPrivateKey){const Ae=Ds.encode(vt,"der");return new Uint8Array(mt.sign({key:Ae,format:"der",type:"pkcs1"}))}const _t=Ds.encode(vt,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(mt.sign(_t))}(Ae,Se,Ce,qe,Fe,$e,rt,it);return async function(Ae,Se,Ce,qe){const Fe=await sr.getBigInteger();Se=new Fe(Se);const $e=new Fe(await fn(Ae,qe,Se.byteLength()));if(Ce=new Fe(Ce),$e.gte(Se))throw Error("Message size cannot exceed modulus size");return $e.modExp(Ce,Se).toUint8Array("be",Se.byteLength())}(Ae,Ce,Fe,nt)},verify:async function(Ae,Se,Ce,qe,Fe,$e){if(Se&&!sr.isStream(Se))if(sr.getWebCrypto())try{return await async function(Ae,Se,Ce,qe,Fe){const $e=function(Ae,Se){return{kty:"RSA",n:ge(Ae,!0),e:ge(Se,!0),ext:!0}}(qe,Fe),rt=await Ps.importKey("jwk",$e,{name:"RSASSA-PKCS1-v1_5",hash:{name:Ae}},!1,["verify"]);return Ps.verify("RSASSA-PKCS1-v1_5",rt,Ce,Se)}(ir.read(ir.webHash,Ae),Se,Ce,qe,Fe)}catch(Ae){sr.printDebugError(Ae)}else if(sr.getNodeCrypto())return async function(Ae,Se,Ce,qe,Fe){const{default:$e}=await Promise.resolve().then((function(){return lm})),rt=xs.createVerify(ir.read(ir.hash,Ae));rt.write(Se),rt.end();const it={modulus:new $e(qe),publicExponent:new $e(Fe)};let nt;if(void 0!==xs.createPrivateKey){nt={key:Rs.encode(it,"der"),format:"der",type:"pkcs1"}}else nt=Rs.encode(it,"pem",{label:"RSA PUBLIC KEY"});try{return await rt.verify(nt,Ce)}catch(Ae){return!1}}(Ae,Se,Ce,qe,Fe);return async function(Ae,Se,Ce,qe,Fe){const $e=await sr.getBigInteger();if(Ce=new $e(Ce),Se=new $e(Se),qe=new $e(qe),Se.gte(Ce))throw Error("Signature size cannot exceed modulus size");const rt=Se.modExp(qe,Ce).toUint8Array("be",Ce.byteLength()),it=await fn(Ae,Fe,Ce.byteLength());return sr.equalsUint8Array(rt,it)}(Ae,Ce,qe,Fe,$e)},encrypt:async function(Ae,Se,Ce){return sr.getNodeCrypto()?async function(Ae,Se,Ce){const{default:qe}=await Promise.resolve().then((function(){return lm})),Fe={modulus:new qe(Se),publicExponent:new qe(Ce)};let $e;if(void 0!==xs.createPrivateKey){$e={key:Rs.encode(Fe,"der"),format:"der",type:"pkcs1",padding:xs.constants.RSA_PKCS1_PADDING}}else{$e={key:Rs.encode(Fe,"pem",{label:"RSA PUBLIC KEY"}),padding:xs.constants.RSA_PKCS1_PADDING}}return new Uint8Array(xs.publicEncrypt($e,Ae))}(Ae,Se,Ce):async function(Ae,Se,Ce){const qe=await sr.getBigInteger();if(Se=new qe(Se),Ae=new qe(hn(Ae,Se.byteLength())),Ce=new qe(Ce),Ae.gte(Se))throw Error("Message size cannot exceed modulus size");return Ae.modExp(Ce,Se).toUint8Array("be",Se.byteLength())}(Ae,Se,Ce)},decrypt:async function(Ae,Se,Ce,qe,Fe,$e,rt,it){return sr.getNodeCrypto()?async function(Ae,Se,Ce,qe,Fe,$e,rt,it){const{default:nt}=await Promise.resolve().then((function(){return lm})),st=new nt(Fe),ut=new nt($e),ht=new nt(qe),ft=ht.mod(ut.subn(1)),yt=ht.mod(st.subn(1)),mt={version:0,modulus:new nt(Se),publicExponent:new nt(Ce),privateExponent:new nt(qe),prime1:new nt($e),prime2:new nt(Fe),exponent1:ft,exponent2:yt,coefficient:new nt(rt)};let vt;if(void 0!==xs.createPrivateKey){vt={key:Ds.encode(mt,"der"),format:"der",type:"pkcs1",padding:xs.constants.RSA_PKCS1_PADDING}}else{vt={key:Ds.encode(mt,"pem",{label:"RSA PRIVATE KEY"}),padding:xs.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(xs.privateDecrypt(vt,Ae))}catch(Ae){if(it)return it;throw Error("Decryption error")}}(Ae,Se,Ce,qe,Fe,$e,rt,it):async function(Ae,Se,Ce,qe,Fe,$e,rt,it){const nt=await sr.getBigInteger();if(Ae=new nt(Ae),Se=new nt(Se),Ce=new nt(Ce),qe=new nt(qe),Fe=new nt(Fe),$e=new nt($e),rt=new nt(rt),Ae.gte(Se))throw Error("Data too large.");const st=qe.mod($e.dec()),ut=qe.mod(Fe.dec()),ht=(await nn(new nt(2),Se)).mod(Se),ft=ht.modInv(Se).modExp(Ce,Se);Ae=Ae.mul(ft).mod(Se);const yt=Ae.modExp(ut,Fe),mt=Ae.modExp(st,$e),vt=rt.mul(mt.sub(yt)).mod($e);let _t=vt.mul(Fe).add(yt);return _t=_t.mul(ht).mod(Se),dn(_t.toUint8Array("be",Se.byteLength()),it)}(Ae,Se,Ce,qe,Fe,$e,rt,it)},generate:async function(Ae,Se){if(Se=new(await sr.getBigInteger())(Se),sr.getWebCrypto()){const Ce={name:"RSASSA-PKCS1-v1_5",modulusLength:Ae,publicExponent:Se.toUint8Array(),hash:{name:"SHA-1"}},qe=await Ps.generateKey(Ce,!0,["sign","verify"]),Fe=await Ps.exportKey("jwk",qe.privateKey);return{n:me(Fe.n),e:Se.toUint8Array(),d:me(Fe.d),p:me(Fe.q),q:me(Fe.p),u:me(Fe.qi)}}if(sr.getNodeCrypto()&&xs.generateKeyPair&&Ds){const Ce={modulusLength:Ae,publicExponent:Se.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},qe=await new Promise(((Ae,Se)=>{xs.generateKeyPair("rsa",Ce,((Ce,qe,Fe)=>{Ce?Se(Ce):Ae(Ds.decode(Fe,"der"))}))}));return{n:qe.modulus.toArrayLike(Uint8Array),e:qe.publicExponent.toArrayLike(Uint8Array),d:qe.privateExponent.toArrayLike(Uint8Array),p:qe.prime2.toArrayLike(Uint8Array),q:qe.prime1.toArrayLike(Uint8Array),u:qe.coefficient.toArrayLike(Uint8Array)}}let Ce,qe,Fe;do{qe=await sn(Ae-(Ae>>1),Se,40),Ce=await sn(Ae>>1,Se,40),Fe=Ce.mul(qe)}while(Fe.bitLength()!==Ae);const $e=Ce.dec().imul(qe.dec());return qe.lt(Ce)&&([Ce,qe]=[qe,Ce]),{n:Fe.toUint8Array(),e:Se.toUint8Array(),d:Se.modInv($e).toUint8Array(),p:Ce.toUint8Array(),q:qe.toUint8Array(),u:Ce.modInv(qe).toUint8Array()}},validateParams:async function(Ae,Se,Ce,qe,Fe,$e){const rt=await sr.getBigInteger();if(Ae=new rt(Ae),qe=new rt(qe),Fe=new rt(Fe),!qe.mul(Fe).equal(Ae))return!1;const it=new rt(2);if($e=new rt($e),!qe.mul($e).mod(Fe).isOne())return!1;Se=new rt(Se),Ce=new rt(Ce);const nt=new rt(Math.floor(Ae.bitLength()/3)),st=await nn(it,it.leftShift(nt)),ut=st.mul(Ce).mul(Se);return!(!ut.mod(qe.dec()).equal(st)||!ut.mod(Fe.dec()).equal(st))}});var Ks=Object.freeze({__proto__:null,encrypt:async function(Ae,Se,Ce,qe){const Fe=await sr.getBigInteger();Se=new Fe(Se),Ce=new Fe(Ce),qe=new Fe(qe);const $e=new Fe(hn(Ae,Se.byteLength())),rt=await nn(new Fe(1),Se.dec());return{c1:Ce.modExp(rt,Se).toUint8Array(),c2:qe.modExp(rt,Se).imul($e).imod(Se).toUint8Array()}},decrypt:async function(Ae,Se,Ce,qe,Fe){const $e=await sr.getBigInteger();return Ae=new $e(Ae),Se=new $e(Se),Ce=new $e(Ce),qe=new $e(qe),dn(Ae.modExp(qe,Ce).modInv(Ce).imul(Se).imod(Ce).toUint8Array("be",Ce.byteLength()),Fe)},validateParams:async function(Ae,Se,Ce,qe){const Fe=await sr.getBigInteger();Ae=new Fe(Ae),Se=new Fe(Se),Ce=new Fe(Ce);const $e=new Fe(1);if(Se.lte($e)||Se.gte(Ae))return!1;const rt=new Fe(Ae.bitLength()),it=new Fe(1023);if(rt.lt(it))return!1;if(!Se.modExp(Ae.dec(),Ae).isOne())return!1;let nt=Se;const st=new Fe(1),ut=new Fe(2).leftShift(new Fe(17));for(;st.lt(ut);){if(nt=nt.mul(Se).imod(Ae),nt.isOne())return!1;st.iinc()}qe=new Fe(qe);const ht=new Fe(2),ft=await nn(ht.leftShift(rt.dec()),ht.leftShift(rt)),yt=Ae.dec().imul(ft).iadd(qe);return!!Ce.equal(Se.modExp(yt,Ae))}});class _n{constructor(Ae){if(Ae instanceof _n)this.oid=Ae.oid;else if(sr.isArray(Ae)||sr.isUint8Array(Ae)){if(6===(Ae=new Uint8Array(Ae))[0]){if(Ae[1]!==Ae.length-2)throw Error("Length mismatch in DER encoded oid");Ae=Ae.subarray(2)}this.oid=Ae}else this.oid=""}read(Ae){if(Ae.length>=1){const Se=Ae[0];if(Ae.length>=1+Se)return this.oid=Ae.subarray(1,1+Se),1+this.oid.length}throw Error("Invalid oid")}write(){return sr.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return sr.uint8ArrayToHex(this.oid)}getName(){const Ae=this.toHex();if(ir.curve[Ae])return ir.write(ir.curve,Ae);throw Error("Unknown curve object identifier.")}}function kn(Ae,Se){return Ae.keyPair({priv:Se})}function An(Ae,Se){const Ce=Ae.keyPair({pub:Se});if(!0!==Ce.validate().result)throw Error("Invalid elliptic public key");return Ce}async function Sn(Ae){if(!hr.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:Se}=await Promise.resolve().then((function(){return sg}));return new Se.ec(Ae)}function En(Ae){let Se,Ce=0;const qe=Ae[0];return qe<192?([Ce]=Ae,Se=1):qe<255?(Ce=(Ae[0]-192<<8)+Ae[1]+192,Se=2):255===qe&&(Ce=sr.readNumber(Ae.subarray(1,5)),Se=5),{len:Ce,offset:Se}}function Pn(Ae){return Ae<192?new Uint8Array([Ae]):Ae>191&&Ae<8384?new Uint8Array([192+(Ae-192>>8),Ae-192&255]):sr.concatUint8Array([new Uint8Array([255]),sr.writeNumber(Ae,4)])}function xn(Ae){if(Ae<0||Ae>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+Ae])}function Mn(Ae){return new Uint8Array([192|Ae])}function Kn(Ae,Se){return sr.concatUint8Array([Mn(Ae),Pn(Se)])}function Cn(Ae){return[ir.packet.literalData,ir.packet.compressedData,ir.packet.symmetricallyEncryptedData,ir.packet.symEncryptedIntegrityProtectedData,ir.packet.aeadEncryptedData].includes(Ae)}async function Dn(Ae,Se){const Ce=H(Ae);let qe,Fe;try{const $e=await Ce.peekBytes(2);if(!$e||$e.length<2||0==(128&$e[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const rt=await Ce.readByte();let it,nt,st=-1,ut=-1;ut=0,0!=(64&rt)&&(ut=1),ut?st=63&rt:(st=(63&rt)>>2,nt=3&rt);const ht=Cn(st);let ft,yt=null;if(ht){if("array"===sr.isStream(Ae)){const Ae=new v;qe=G(Ae),yt=Ae}else{const Ae=new er;qe=G(Ae.writable),yt=Ae.readable}Fe=Se({tag:st,packet:yt})}else yt=[];do{if(ut){const Ae=await Ce.readByte();if(ft=!1,Ae<192)it=Ae;else if(Ae>=192&&Ae<224)it=(Ae-192<<8)+await Ce.readByte()+192;else if(Ae>223&&Ae<255){if(it=1<<(31&Ae),ft=!0,!ht)throw new TypeError("This packet type does not support partial lengths.")}else it=await Ce.readByte()<<24|await Ce.readByte()<<16|await Ce.readByte()<<8|await Ce.readByte()}else switch(nt){case 0:it=await Ce.readByte();break;case 1:it=await Ce.readByte()<<8|await Ce.readByte();break;case 2:it=await Ce.readByte()<<24|await Ce.readByte()<<16|await Ce.readByte()<<8|await Ce.readByte();break;default:it=1/0}if(it>0){let Ae=0;for(;;){qe&&await qe.ready;const{done:Se,value:Fe}=await Ce.read();if(Se){if(it===1/0)break;throw Error("Unexpected end of packet")}const $e=it===1/0?Fe:Fe.subarray(0,it-Ae);if(qe?await qe.write($e):yt.push($e),Ae+=Fe.length,Ae>=it){Ce.unshift(Fe.subarray(it-Ae+Fe.length));break}}}}while(ft);const mt=await Ce.peekBytes(ht?1/0:2);return qe?(await qe.ready,await qe.close()):(yt=sr.concatUint8Array(yt),await Se({tag:st,packet:yt})),!mt||!mt.length}catch(Ae){if(qe)return await qe.abort(Ae),!0;throw Ae}finally{qe&&await Fe,Ce.releaseLock()}}class Un extends Error{constructor(...Ae){super(...Ae),Error.captureStackTrace&&Error.captureStackTrace(this,Un),this.name="UnsupportedError"}}class Rn{constructor(Ae,Se){this.tag=Ae,this.rawContent=Se}write(){return this.rawContent}}const Ts=sr.getWebCrypto(),Us=sr.getNodeCrypto(),Is={p256:"P-256",p384:"P-384",p521:"P-521"},Os=Us?Us.getCurves():[],zs=Us?{secp256k1:Os.includes("secp256k1")?"secp256k1":void 0,p256:Os.includes("prime256v1")?"prime256v1":void 0,p384:Os.includes("secp384r1")?"secp384r1":void 0,p521:Os.includes("secp521r1")?"secp521r1":void 0,ed25519:Os.includes("ED25519")?"ED25519":void 0,curve25519:Os.includes("X25519")?"X25519":void 0,brainpoolP256r1:Os.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:Os.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:Os.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},Fs={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha256,cipher:ir.symmetric.aes128,node:zs.p256,web:Is.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha384,cipher:ir.symmetric.aes192,node:zs.p384,web:Is.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha512,cipher:ir.symmetric.aes256,node:zs.p521,web:Is.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha256,cipher:ir.symmetric.aes128,node:zs.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:ir.publicKey.eddsa,hash:ir.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:ir.publicKey.ecdh,hash:ir.hash.sha256,cipher:ir.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha256,cipher:ir.symmetric.aes128,node:zs.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha384,cipher:ir.symmetric.aes192,node:zs.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:ir.publicKey.ecdsa,hash:ir.hash.sha512,cipher:ir.symmetric.aes256,node:zs.brainpoolP512r1,payloadSize:64}};class On{constructor(Ae,Se){try{(sr.isArray(Ae)||sr.isUint8Array(Ae))&&(Ae=new _n(Ae)),Ae instanceof _n&&(Ae=Ae.getName()),this.name=ir.write(ir.curve,Ae)}catch(Ae){throw new Un("Unknown curve")}Se=Se||Fs[this.name],this.keyType=Se.keyType,this.oid=Se.oid,this.hash=Se.hash,this.cipher=Se.cipher,this.node=Se.node&&Fs[this.name],this.web=Se.web&&Fs[this.name],this.payloadSize=Se.payloadSize,this.web&&sr.getWebCrypto()?this.type="web":this.node&&sr.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let Ae;switch(this.type){case"web":try{return await async function(Ae){const Se=await Ts.generateKey({name:"ECDSA",namedCurve:Is[Ae]},!0,["sign","verify"]),Ce=await Ts.exportKey("jwk",Se.privateKey),qe=await Ts.exportKey("jwk",Se.publicKey);return{publicKey:Nn(qe),privateKey:me(Ce.d)}}(this.name)}catch(Ae){sr.printDebugError("Browser did not support generating ec key "+Ae.message);break}case"node":return async function(Ae){const Se=Us.createECDH(zs[Ae]);return await Se.generateKeys(),{publicKey:new Uint8Array(Se.getPublicKey()),privateKey:new Uint8Array(Se.getPrivateKey())}}(this.name);case"curve25519":{const Se=rn(32);Se[0]=127&Se[0]|64,Se[31]&=248;const Ce=Se.slice().reverse();Ae=_s.box.keyPair.fromSecretKey(Ce);return{publicKey:sr.concatUint8Array([new Uint8Array([64]),Ae.publicKey]),privateKey:Se}}case"ed25519":{const Ae=rn(32),Se=_s.sign.keyPair.fromSeed(Ae);return{publicKey:sr.concatUint8Array([new Uint8Array([64]),Se.publicKey]),privateKey:Ae}}}const Se=await Sn(this.name);return Ae=await Se.genKeyPair({entropy:sr.uint8ArrayToString(rn(32))}),{publicKey:new Uint8Array(Ae.getPublic("array",!1)),privateKey:Ae.getPrivate().toArrayLike(Uint8Array)}}}async function Ln(Ae,Se,Ce,qe){const Fe={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:Ae===ir.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},$e=Se.getName();if(!Fe[$e])return!1;if("curve25519"===$e){qe=qe.slice().reverse();const{publicKey:Ae}=_s.box.keyPair.fromSecretKey(qe);Ce=new Uint8Array(Ce);const Se=new Uint8Array([64,...Ae]);return!!sr.equalsUint8Array(Se,Ce)}const rt=await Sn($e);try{Ce=An(rt,Ce).getPublic()}catch(Ae){return!1}return!!kn(rt,qe).getPublic().eq(Ce)}function Nn(Ae){const Se=me(Ae.x),Ce=me(Ae.y),qe=new Uint8Array(Se.length+Ce.length+1);return qe[0]=4,qe.set(Se,1),qe.set(Ce,Se.length+1),qe}function jn(Ae,Se,Ce){const qe=Ae,Fe=Ce.slice(1,qe+1),$e=Ce.slice(qe+1,2*qe+1);return{kty:"EC",crv:Se,x:ge(Fe,!0),y:ge($e,!0),ext:!0}}function Wn(Ae,Se,Ce,qe){const Fe=jn(Ae,Se,Ce);return Fe.d=ge(qe,!0),Fe}const Ls=sr.getWebCrypto(),ea=sr.getNodeCrypto();async function Vn(Ae,Se,Ce,qe,Fe,$e){const rt=new On(Ae);if(Ce&&!sr.isStream(Ce)){const $e={publicKey:qe,privateKey:Fe};switch(rt.type){case"web":try{return await async function(Ae,Se,Ce,qe){const Fe=Ae.payloadSize,$e=Wn(Ae.payloadSize,Is[Ae.name],qe.publicKey,qe.privateKey),rt=await Ls.importKey("jwk",$e,{name:"ECDSA",namedCurve:Is[Ae.name],hash:{name:ir.read(ir.webHash,Ae.hash)}},!1,["sign"]),it=new Uint8Array(await Ls.sign({name:"ECDSA",namedCurve:Is[Ae.name],hash:{name:ir.read(ir.webHash,Se)}},rt,Ce));return{r:it.slice(0,Fe),s:it.slice(Fe,Fe<<1)}}(rt,Se,Ce,$e)}catch(Ae){if("p521"!==rt.name&&("DataError"===Ae.name||"OperationError"===Ae.name))throw Ae;sr.printDebugError("Browser did not support signing: "+Ae.message)}break;case"node":{const Ae=await async function(Ae,Se,Ce,qe){const Fe=ea.createSign(ir.read(ir.hash,Se));Fe.write(Ce),Fe.end();const $e=oa.encode({version:1,parameters:Ae.oid,privateKey:Array.from(qe.privateKey),publicKey:{unused:0,data:Array.from(qe.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return ra.decode(Fe.sign($e),"der")}(rt,Se,Ce,$e);return{r:Ae.r.toArrayLike(Uint8Array),s:Ae.s.toArrayLike(Uint8Array)}}}}return async function(Ae,Se,Ce){const qe=await Sn(Ae.name),Fe=kn(qe,Ce),$e=Fe.sign(Se);return{r:$e.r.toArrayLike(Uint8Array),s:$e.s.toArrayLike(Uint8Array)}}(rt,$e,Fe)}async function $n(Ae,Se,Ce,qe,Fe,$e){const rt=new On(Ae);if(qe&&!sr.isStream(qe))switch(rt.type){case"web":try{return await async function(Ae,Se,{r:Ce,s:qe},Fe,$e){const rt=jn(Ae.payloadSize,Is[Ae.name],$e),it=await Ls.importKey("jwk",rt,{name:"ECDSA",namedCurve:Is[Ae.name],hash:{name:ir.read(ir.webHash,Ae.hash)}},!1,["verify"]),nt=sr.concatUint8Array([Ce,qe]).buffer;return Ls.verify({name:"ECDSA",namedCurve:Is[Ae.name],hash:{name:ir.read(ir.webHash,Se)}},it,nt,Fe)}(rt,Se,Ce,qe,Fe)}catch(Ae){if("p521"!==rt.name&&("DataError"===Ae.name||"OperationError"===Ae.name))throw Ae;sr.printDebugError("Browser did not support verifying: "+Ae.message)}break;case"node":return async function(Ae,Se,{r:Ce,s:qe},Fe,$e){const{default:rt}=await Promise.resolve().then((function(){return lm})),it=ea.createVerify(ir.read(ir.hash,Se));it.write(Fe),it.end();const nt=da.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:Ae.oid},subjectPublicKey:{unused:0,data:Array.from($e)}},"pem",{label:"PUBLIC KEY"}),st=ra.encode({r:new rt(Ce),s:new rt(qe)},"der");try{return it.verify(nt,st)}catch(Ae){return!1}}(rt,Se,Ce,qe,Fe)}return async function(Ae,Se,Ce,qe){const Fe=await Sn(Ae.name),$e=An(Fe,qe);return $e.verify(Ce,Se)}(rt,Ce,void 0===Se?qe:$e,Fe)}const ta=ea?Ct.default:void 0,ra=ea?ta.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,oa=ea?ta.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,ha=ea?ta.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,da=ea?ta.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(ha),this.key("subjectPublicKey").bitstr())})):void 0;var fa=Object.freeze({__proto__:null,sign:Vn,verify:$n,validateParams:async function(Ae,Se,Ce){const qe=new On(Ae);if(qe.keyType!==ir.publicKey.ecdsa)return!1;switch(qe.type){case"web":case"node":{const qe=rn(8),Fe=ir.hash.sha256,$e=await In.digest(Fe,qe);try{const rt=await Vn(Ae,Fe,qe,Se,Ce,$e);return await $n(Ae,Fe,rt,qe,Se,$e)}catch(Ae){return!1}}default:return Ln(ir.publicKey.ecdsa,Ae,Se,Ce)}}});_s.hash=Ae=>new Uint8Array(Yi().update(Ae).digest());var ma=Object.freeze({__proto__:null,sign:async function(Ae,Se,Ce,qe,Fe,$e){if(In.getHashByteLength(Se)<In.getHashByteLength(ir.hash.sha256))throw Error("Hash algorithm too weak: sha256 or stronger is required for EdDSA.");const rt=sr.concatUint8Array([Fe,qe.subarray(1)]),it=_s.sign.detached($e,rt);return{r:it.subarray(0,32),s:it.subarray(32)}},verify:async function(Ae,Se,{r:Ce,s:qe},Fe,$e,rt){const it=sr.concatUint8Array([Ce,qe]);return _s.sign.detached.verify(rt,it,$e.subarray(1))},validateParams:async function(Ae,Se,Ce){if("ed25519"!==Ae.getName())return!1;const{publicKey:qe}=_s.sign.keyPair.fromSeed(Ce),Fe=new Uint8Array([64,...qe]);return sr.equalsUint8Array(Se,Fe)}});_s.hash=Ae=>new Uint8Array(Yi().update(Ae).digest());var ga=Object.freeze({__proto__:null,generate:async function(Ae){if(Ae===ir.publicKey.ed25519){const Ae=rn(32),{publicKey:Se}=_s.sign.keyPair.fromSeed(Ae);return{A:Se,seed:Ae}}throw Error("Unsupported EdDSA algorithm")},sign:async function(Ae,Se,Ce,qe,Fe,$e){if(In.getHashByteLength(Se)<In.getHashByteLength(ir.hash.sha256))throw Error("Hash algorithm too weak: sha256 or stronger is required for EdDSA.");switch(Ae){case ir.publicKey.ed25519:{const Ae=sr.concatUint8Array([Fe,qe]);return{RS:_s.sign.detached($e,Ae)}}case ir.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},verify:async function(Ae,Se,{RS:Ce},qe,Fe,$e){switch(Ae){case ir.publicKey.ed25519:return _s.sign.detached.verify($e,Ce,Fe);case ir.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},validateParams:async function(Ae,Se,Ce){switch(Ae){case ir.publicKey.ed25519:{const{publicKey:Ae}=_s.sign.keyPair.fromSeed(Ce);return sr.equalsUint8Array(Se,Ae)}case ir.publicKey.ed448:default:return!1}}});function ia(Ae,Se){const Ce=new Ur["aes"+8*Ae.length](Ae),qe=new Uint32Array([2795939494,2795939494]),Fe=aa(Se);let $e=qe;const rt=Fe,it=Fe.length/2,nt=new Uint32Array([0,0]);let st=new Uint32Array(4);for(let Ae=0;Ae<=5;++Ae)for(let Se=0;Se<it;++Se)nt[1]=it*Ae+(1+Se),st[0]=$e[0],st[1]=$e[1],st[2]=rt[2*Se],st[3]=rt[2*Se+1],st=aa(Ce.encrypt(sa(st))),$e=st.subarray(0,2),$e[0]^=nt[0],$e[1]^=nt[1],rt[2*Se]=st[2],rt[2*Se+1]=st[3];return sa($e,rt)}function na(Ae,Se){const Ce=new Ur["aes"+8*Ae.length](Ae),qe=new Uint32Array([2795939494,2795939494]),Fe=aa(Se);let $e=Fe.subarray(0,2);const rt=Fe.subarray(2),it=Fe.length/2-1,nt=new Uint32Array([0,0]);let st=new Uint32Array(4);for(let Ae=5;Ae>=0;--Ae)for(let Se=it-1;Se>=0;--Se)nt[1]=it*Ae+(Se+1),st[0]=$e[0]^nt[0],st[1]=$e[1]^nt[1],st[2]=rt[2*Se],st[3]=rt[2*Se+1],st=aa(Ce.decrypt(sa(st))),$e=st.subarray(0,2),rt[2*Se]=st[2],rt[2*Se+1]=st[3];if($e[0]===qe[0]&&$e[1]===qe[1])return sa(rt);throw Error("Key Data Integrity failed")}function aa(Ae){const{length:Se}=Ae,Ce=function(Ae){if(sr.isString(Ae)){const{length:Se}=Ae,Ce=new ArrayBuffer(Se),qe=new Uint8Array(Ce);for(let Ce=0;Ce<Se;++Ce)qe[Ce]=Ae.charCodeAt(Ce);return Ce}return new Uint8Array(Ae).buffer}(Ae),qe=new DataView(Ce),Fe=new Uint32Array(Se/4);for(let Ae=0;Ae<Se/4;++Ae)Fe[Ae]=qe.getUint32(4*Ae);return Fe}function sa(){let Ae=0;for(let Se=0;Se<arguments.length;++Se)Ae+=4*arguments[Se].length;const Se=new ArrayBuffer(Ae),Ce=new DataView(Se);let qe=0;for(let Ae=0;Ae<arguments.length;++Ae){for(let Se=0;Se<arguments[Ae].length;++Se)Ce.setUint32(qe+4*Se,arguments[Ae][Se]);qe+=4*arguments[Ae].length}return new Uint8Array(Se)}var va=Object.freeze({__proto__:null,wrap:ia,unwrap:na});function ca(Ae){const Se=8-Ae.length%8,Ce=new Uint8Array(Ae.length+Se).fill(Se);return Ce.set(Ae),Ce}function ua(Ae){const Se=Ae.length;if(Se>0){const Ce=Ae[Se-1];if(Ce>=1){const qe=Ae.subarray(Se-Ce),Fe=new Uint8Array(Ce).fill(Ce);if(sr.equalsUint8Array(qe,Fe))return Ae.subarray(0,Se-Ce)}}throw Error("Invalid padding")}var wa=Object.freeze({__proto__:null,encode:ca,decode:ua});const ka=sr.getWebCrypto(),Aa=sr.getNodeCrypto();function la(Ae,Se,Ce,qe){return sr.concatUint8Array([Se.write(),new Uint8Array([Ae]),Ce.write(),sr.stringToUint8Array("Anonymous Sender "),qe.subarray(0,20)])}async function pa(Ae,Se,Ce,qe,Fe=!1,$e=!1){let rt;if(Fe){for(rt=0;rt<Se.length&&0===Se[rt];rt++);Se=Se.subarray(rt)}if($e){for(rt=Se.length-1;rt>=0&&0===Se[rt];rt--);Se=Se.subarray(0,rt+1)}return(await In.digest(Ae,sr.concatUint8Array([new Uint8Array([0,0,0,1]),Se,qe]))).subarray(0,Ce)}async function ya(Ae,Se){switch(Ae.type){case"curve25519":{const Ce=rn(32),{secretKey:qe,sharedKey:Fe}=await ba(Ae,Se,null,Ce);let{publicKey:$e}=_s.box.keyPair.fromSecretKey(qe);return $e=sr.concatUint8Array([new Uint8Array([64]),$e]),{publicKey:$e,sharedKey:Fe}}case"web":if(Ae.web&&sr.getWebCrypto())try{return await async function(Ae,Se){const Ce=jn(Ae.payloadSize,Ae.web.web,Se);let qe=ka.generateKey({name:"ECDH",namedCurve:Ae.web.web},!0,["deriveKey","deriveBits"]),Fe=ka.importKey("jwk",Ce,{name:"ECDH",namedCurve:Ae.web.web},!1,[]);[qe,Fe]=await Promise.all([qe,Fe]);let $e=ka.deriveBits({name:"ECDH",namedCurve:Ae.web.web,public:Fe},qe.privateKey,Ae.web.sharedSize),rt=ka.exportKey("jwk",qe.publicKey);[$e,rt]=await Promise.all([$e,rt]);const it=new Uint8Array($e),nt=new Uint8Array(Nn(rt));return{publicKey:nt,sharedKey:it}}(Ae,Se)}catch(Ae){sr.printDebugError(Ae)}break;case"node":return async function(Ae,Se){const Ce=Aa.createECDH(Ae.node.node);Ce.generateKeys();const qe=new Uint8Array(Ce.computeSecret(Se)),Fe=new Uint8Array(Ce.getPublicKey());return{publicKey:Fe,sharedKey:qe}}(Ae,Se)}return async function(Ae,Se){const Ce=await Sn(Ae.name),qe=await Ae.genKeyPair();Se=An(Ce,Se);const Fe=kn(Ce,qe.privateKey),$e=qe.publicKey,rt=Fe.derive(Se.getPublic()),it=Ce.curve.p.byteLength(),nt=rt.toArrayLike(Uint8Array,"be",it);return{publicKey:$e,sharedKey:nt}}(Ae,Se)}async function ba(Ae,Se,Ce,qe){if(qe.length!==Ae.payloadSize){const Se=new Uint8Array(Ae.payloadSize);Se.set(qe,Ae.payloadSize-qe.length),qe=Se}switch(Ae.type){case"curve25519":{const Ae=qe.slice().reverse();return{secretKey:Ae,sharedKey:_s.scalarMult(Ae,Se.subarray(1))}}case"web":if(Ae.web&&sr.getWebCrypto())try{return await async function(Ae,Se,Ce,qe){const Fe=Wn(Ae.payloadSize,Ae.web.web,Ce,qe);let $e=ka.importKey("jwk",Fe,{name:"ECDH",namedCurve:Ae.web.web},!0,["deriveKey","deriveBits"]);const rt=jn(Ae.payloadSize,Ae.web.web,Se);let it=ka.importKey("jwk",rt,{name:"ECDH",namedCurve:Ae.web.web},!0,[]);[$e,it]=await Promise.all([$e,it]);let nt=ka.deriveBits({name:"ECDH",namedCurve:Ae.web.web,public:it},$e,Ae.web.sharedSize),st=ka.exportKey("jwk",$e);[nt,st]=await Promise.all([nt,st]);const ut=new Uint8Array(nt);return{secretKey:me(st.d),sharedKey:ut}}(Ae,Se,Ce,qe)}catch(Ae){sr.printDebugError(Ae)}break;case"node":return async function(Ae,Se,Ce){const qe=Aa.createECDH(Ae.node.node);qe.setPrivateKey(Ce);const Fe=new Uint8Array(qe.computeSecret(Se));return{secretKey:new Uint8Array(qe.getPrivateKey()),sharedKey:Fe}}(Ae,Se,qe)}return async function(Ae,Se,Ce){const qe=await Sn(Ae.name);Se=An(qe,Se),Ce=kn(qe,Ce);const Fe=new Uint8Array(Ce.getPrivate()),$e=Ce.derive(Se.getPublic()),rt=qe.curve.p.byteLength(),it=$e.toArrayLike(Uint8Array,"be",rt);return{secretKey:Fe,sharedKey:it}}(Ae,Se,qe)}var Sa=Object.freeze({__proto__:null,validateParams:async function(Ae,Se,Ce){return Ln(ir.publicKey.ecdh,Ae,Se,Ce)},encrypt:async function(Ae,Se,Ce,qe,Fe){const $e=ca(Ce),rt=new On(Ae),{publicKey:it,sharedKey:nt}=await ya(rt,qe),st=la(ir.publicKey.ecdh,Ae,Se,Fe),{keySize:ut}=hi(Se.cipher);return{publicKey:it,wrappedKey:ia(await pa(Se.hash,nt,ut,st),$e)}},decrypt:async function(Ae,Se,Ce,qe,Fe,$e,rt){const it=new On(Ae),{sharedKey:nt}=await ba(it,Ce,Fe,$e),st=la(ir.publicKey.ecdh,Ae,Se,rt),{keySize:ut}=hi(Se.cipher);let ht;for(let Ce=0;Ce<3;Ce++)try{return ua(na(await pa(Se.hash,nt,ut,st,1===Ce,2===Ce),qe))}catch(Ae){ht=Ae}throw ht}});const Ea=sr.getWebCrypto(),Pa=sr.getNodeCrypto(),xa=Pa&&Pa.webcrypto&&Pa.webcrypto.subtle;async function _a(Ae,Se,Ce,qe,Fe){const $e=ir.read(ir.webHash,Ae);if(!$e)throw Error("Hash algo not supported with HKDF");if(Ea||xa){const Ae=Ea||xa,rt=await Ae.importKey("raw",Se,"HKDF",!1,["deriveBits"]),it=await Ae.deriveBits({name:"HKDF",hash:$e,salt:Ce,info:qe},rt,8*Fe);return new Uint8Array(it)}if(Pa){const $e=ir.read(ir.hash,Ae),s=(Ae,Se)=>Pa.createHmac($e,Ae).update(Se).digest(),rt=s(Ce,Se),it=rt.length,nt=Math.ceil(Fe/it),st=new Uint8Array(nt*it),ut=new Uint8Array(it+qe.length+1);ut.set(qe,it);for(let Ae=0;Ae<nt;Ae++){ut[ut.length-1]=Ae+1;const Se=s(rt,Ae>0?ut:ut.subarray(it));ut.set(Se,0),st.set(Se,Ae*it)}return st.subarray(0,Fe)}throw Error("No HKDF implementation available")}const Ra={x25519:sr.encodeUTF8("OpenPGP X25519")};var Ta=Object.freeze({__proto__:null,generate:async function(Ae){if(Ae===ir.publicKey.x25519){const Ae=rn(32);Ae[0]&=248,Ae[31]=127&Ae[31]|64;const{publicKey:Se}=_s.box.keyPair.fromSecretKey(Ae);return{A:Se,k:Ae}}throw Error("Unsupported ECDH algorithm")},validateParams:async function(Ae,Se,Ce){if(Ae===ir.publicKey.x25519){const{publicKey:Ae}=_s.box.keyPair.fromSecretKey(Ce);return sr.equalsUint8Array(Se,Ae)}return!1},encrypt:async function(Ae,Se,Ce){if(Ae===ir.publicKey.x25519){const Ae=rn(32),qe=_s.scalarMult(Ae,Ce),{publicKey:Fe}=_s.box.keyPair.fromSecretKey(Ae),$e=sr.concatUint8Array([Fe,Ce,qe]),{keySize:rt}=hi(ir.symmetric.aes128);return{ephemeralPublicKey:Fe,wrappedKey:ia(await _a(ir.hash.sha256,$e,new Uint8Array,Ra.x25519,rt),Se)}}throw Error("Unsupported ECDH algorithm")},decrypt:async function(Ae,Se,Ce,qe,Fe){if(Ae===ir.publicKey.x25519){const Ae=_s.scalarMult(Fe,Se),$e=sr.concatUint8Array([Se,qe,Ae]),{keySize:rt}=hi(ir.symmetric.aes128);return na(await _a(ir.hash.sha256,$e,new Uint8Array,Ra.x25519,rt),Ce)}throw Error("Unsupported ECDH algorithm")}}),Ua=Object.freeze({__proto__:null,CurveWithOID:On,ecdh:Sa,ecdhX:Ta,ecdsa:fa,eddsaLegacy:ma,eddsa:ga,generate:async function(Ae){const Se=await sr.getBigInteger();Ae=new On(Ae);const Ce=await Ae.genKeyPair(),qe=new Se(Ce.publicKey).toUint8Array(),Fe=new Se(Ce.privateKey).toUint8Array("be",Ae.payloadSize);return{oid:Ae.oid,Q:qe,secret:Fe,hash:Ae.hash,cipher:Ae.cipher}},getPreferredHashAlgo:function(Ae){return Fs[ir.write(ir.curve,Ae.toHex())].hash}});var Ia=Object.freeze({__proto__:null,sign:async function(Ae,Se,Ce,qe,Fe,$e){const rt=await sr.getBigInteger(),it=new rt(1);let nt,st,ut,ht;qe=new rt(qe),Fe=new rt(Fe),Ce=new rt(Ce),$e=new rt($e),Ce=Ce.mod(qe),$e=$e.mod(Fe);const ft=new rt(Se.subarray(0,Fe.byteLength())).mod(Fe);for(;;){if(nt=await nn(it,Fe),st=Ce.modExp(nt,qe).imod(Fe),st.isZero())continue;const Ae=$e.mul(st).imod(Fe);if(ht=ft.add(Ae).imod(Fe),ut=nt.modInv(Fe).imul(ht).imod(Fe),!ut.isZero())break}return{r:st.toUint8Array("be",Fe.byteLength()),s:ut.toUint8Array("be",Fe.byteLength())}},verify:async function(Ae,Se,Ce,qe,Fe,$e,rt,it){const nt=await sr.getBigInteger(),st=new nt(0);if(Se=new nt(Se),Ce=new nt(Ce),$e=new nt($e),rt=new nt(rt),Fe=new nt(Fe),it=new nt(it),Se.lte(st)||Se.gte(rt)||Ce.lte(st)||Ce.gte(rt))return sr.printDebug("invalid DSA Signature"),!1;const ut=new nt(qe.subarray(0,rt.byteLength())).imod(rt),ht=Ce.modInv(rt);if(ht.isZero())return sr.printDebug("invalid DSA Signature"),!1;Fe=Fe.mod($e),it=it.mod($e);const ft=ut.mul(ht).imod(rt),yt=Se.mul(ht).imod(rt),mt=Fe.modExp(ft,$e),vt=it.modExp(yt,$e);return mt.mul(vt).imod($e).imod(rt).equal(Se)},validateParams:async function(Ae,Se,Ce,qe,Fe){const $e=await sr.getBigInteger();Ae=new $e(Ae),Se=new $e(Se),Ce=new $e(Ce),qe=new $e(qe);const rt=new $e(1);if(Ce.lte(rt)||Ce.gte(Ae))return!1;if(!Ae.dec().mod(Se).isZero())return!1;if(!Ce.modExp(Se,Ae).isOne())return!1;const it=new $e(Se.bitLength()),nt=new $e(150);if(it.lt(nt)||!await on(Se,null,32))return!1;Fe=new $e(Fe);const st=new $e(2),ut=await nn(st.leftShift(it.dec()),st.leftShift(it)),ht=Se.mul(ut).add(Fe);return!!qe.equal(Ce.modExp(ht,Ae))}}),Oa={rsa:Bs,elgamal:Ks,elliptic:Ua,dsa:Ia,nacl:_s};var Na=Object.freeze({__proto__:null,parseSignatureParams:function(Ae,Se){let Ce=0;switch(Ae){case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaSign:return{s:sr.readMPI(Se.subarray(Ce))};case ir.publicKey.dsa:case ir.publicKey.ecdsa:{const Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2;return{r:Ae,s:sr.readMPI(Se.subarray(Ce))}}case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:{let Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2,Ae=sr.leftPad(Ae,32);let qe=sr.readMPI(Se.subarray(Ce));return qe=sr.leftPad(qe,32),{r:Ae,s:qe}}case ir.publicKey.ed25519:{const Ae=Se.subarray(Ce,Ce+64);return Ce+=Ae.length,{RS:Ae}}default:throw new Un("Unknown signature algorithm.")}},verify:async function(Ae,Se,Ce,qe,Fe,$e){switch(Ae){case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaSign:{const{n:Ae,e:rt}=qe,it=sr.leftPad(Ce.s,Ae.length);return Oa.rsa.verify(Se,Fe,it,Ae,rt,$e)}case ir.publicKey.dsa:{const{g:Ae,p:Fe,q:rt,y:it}=qe,{r:nt,s:st}=Ce;return Oa.dsa.verify(Se,nt,st,$e,Ae,Fe,rt,it)}case ir.publicKey.ecdsa:{const{oid:Ae,Q:rt}=qe,it=new Oa.elliptic.CurveWithOID(Ae).payloadSize,nt=sr.leftPad(Ce.r,it),st=sr.leftPad(Ce.s,it);return Oa.elliptic.ecdsa.verify(Ae,Se,{r:nt,s:st},Fe,rt,$e)}case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:{const{oid:Ae,Q:rt}=qe;return Oa.elliptic.eddsaLegacy.verify(Ae,Se,Ce,Fe,rt,$e)}case ir.publicKey.ed25519:{const{A:rt}=qe;return Oa.elliptic.eddsa.verify(Ae,Se,Ce,Fe,rt,$e)}default:throw Error("Unknown signature algorithm.")}},sign:async function(Ae,Se,Ce,qe,Fe,$e){if(!Ce||!qe)throw Error("Missing key parameters");switch(Ae){case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaSign:{const{n:Ae,e:rt}=Ce,{d:it,p:nt,q:st,u:ut}=qe;return{s:await Oa.rsa.sign(Se,Fe,Ae,rt,it,nt,st,ut,$e)}}case ir.publicKey.dsa:{const{g:Ae,p:Fe,q:rt}=Ce,{x:it}=qe;return Oa.dsa.sign(Se,$e,Ae,Fe,rt,it)}case ir.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case ir.publicKey.ecdsa:{const{oid:Ae,Q:rt}=Ce,{d:it}=qe;return Oa.elliptic.ecdsa.sign(Ae,Se,Fe,rt,it,$e)}case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:{const{oid:Ae,Q:rt}=Ce,{seed:it}=qe;return Oa.elliptic.eddsaLegacy.sign(Ae,Se,Fe,rt,it,$e)}case ir.publicKey.ed25519:{const{A:rt}=Ce,{seed:it}=qe;return Oa.elliptic.eddsa.sign(Ae,Se,Fe,rt,it,$e)}default:throw Error("Unknown signature algorithm.")}}});class Ma{constructor(Ae){Ae&&(this.data=Ae)}read(Ae){if(Ae.length>=1){const Se=Ae[0];if(Ae.length>=1+Se)return this.data=Ae.subarray(1,1+Se),1+this.data.length}throw Error("Invalid symmetric key")}write(){return sr.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class Ka{constructor(Ae){if(Ae){const{hash:Se,cipher:Ce}=Ae;this.hash=Se,this.cipher=Ce}else this.hash=null,this.cipher=null}read(Ae){if(Ae.length<4||3!==Ae[0]||1!==Ae[1])throw new Un("Cannot read KDFParams");return this.hash=Ae[2],this.cipher=Ae[3],4}write(){return new Uint8Array([3,1,this.hash,this.cipher])}}class Ca{static fromObject({wrappedKey:Ae,algorithm:Se}){const Ce=new Ca;return Ce.wrappedKey=Ae,Ce.algorithm=Se,Ce}read(Ae){let Se=0,Ce=Ae[Se++];this.algorithm=Ce%2?Ae[Se++]:null,Ce-=Ce%2,this.wrappedKey=Ae.subarray(Se,Se+Ce),Se+=Ce}write(){return sr.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}function Da(Ae){try{Ae.getName()}catch(Ae){throw new Un("Unknown curve OID")}}var ja=Object.freeze({__proto__:null,publicKeyEncrypt:async function(Ae,Se,Ce,qe,Fe){switch(Ae){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:{const{n:Ae,e:Se}=Ce;return{c:await Oa.rsa.encrypt(qe,Ae,Se)}}case ir.publicKey.elgamal:{const{p:Ae,g:Se,y:Fe}=Ce;return Oa.elgamal.encrypt(qe,Ae,Se,Fe)}case ir.publicKey.ecdh:{const{oid:Ae,Q:Se,kdfParams:$e}=Ce,{publicKey:rt,wrappedKey:it}=await Oa.elliptic.ecdh.encrypt(Ae,$e,qe,Se,Fe);return{V:rt,C:new Ma(it)}}case ir.publicKey.x25519:{if(!sr.isAES(Se))throw Error("X25519 keys can only encrypt AES session keys");const{A:Fe}=Ce,{ephemeralPublicKey:$e,wrappedKey:rt}=await Oa.elliptic.ecdhX.encrypt(Ae,qe,Fe);return{ephemeralPublicKey:$e,C:Ca.fromObject({algorithm:Se,wrappedKey:rt})}}default:return[]}},publicKeyDecrypt:async function(Ae,Se,Ce,qe,Fe,$e){switch(Ae){case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaEncrypt:{const{c:Ae}=qe,{n:Fe,e:rt}=Se,{d:it,p:nt,q:st,u:ut}=Ce;return Oa.rsa.decrypt(Ae,Fe,rt,it,nt,st,ut,$e)}case ir.publicKey.elgamal:{const{c1:Ae,c2:Fe}=qe,rt=Se.p,it=Ce.x;return Oa.elgamal.decrypt(Ae,Fe,rt,it,$e)}case ir.publicKey.ecdh:{const{oid:Ae,Q:$e,kdfParams:rt}=Se,{d:it}=Ce,{V:nt,C:st}=qe;return Oa.elliptic.ecdh.decrypt(Ae,rt,nt,st.data,$e,it,Fe)}case ir.publicKey.x25519:{const{A:Fe}=Se,{k:$e}=Ce,{ephemeralPublicKey:rt,C:it}=qe;if(!sr.isAES(it.algorithm))throw Error("AES session key expected");return Oa.elliptic.ecdhX.decrypt(Ae,rt,it.wrappedKey,Fe,$e)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(Ae,Se){let Ce=0;switch(Ae){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaSign:{const Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2;const qe=sr.readMPI(Se.subarray(Ce));return Ce+=qe.length+2,{read:Ce,publicParams:{n:Ae,e:qe}}}case ir.publicKey.dsa:{const Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2;const qe=sr.readMPI(Se.subarray(Ce));Ce+=qe.length+2;const Fe=sr.readMPI(Se.subarray(Ce));Ce+=Fe.length+2;const $e=sr.readMPI(Se.subarray(Ce));return Ce+=$e.length+2,{read:Ce,publicParams:{p:Ae,q:qe,g:Fe,y:$e}}}case ir.publicKey.elgamal:{const Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2;const qe=sr.readMPI(Se.subarray(Ce));Ce+=qe.length+2;const Fe=sr.readMPI(Se.subarray(Ce));return Ce+=Fe.length+2,{read:Ce,publicParams:{p:Ae,g:qe,y:Fe}}}case ir.publicKey.ecdsa:{const Ae=new _n;Ce+=Ae.read(Se),Da(Ae);const qe=sr.readMPI(Se.subarray(Ce));return Ce+=qe.length+2,{read:Ce,publicParams:{oid:Ae,Q:qe}}}case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:{const Ae=new _n;Ce+=Ae.read(Se),Da(Ae);let qe=sr.readMPI(Se.subarray(Ce));return Ce+=qe.length+2,qe=sr.leftPad(qe,33),{read:Ce,publicParams:{oid:Ae,Q:qe}}}case ir.publicKey.ecdh:{const Ae=new _n;Ce+=Ae.read(Se),Da(Ae);const qe=sr.readMPI(Se.subarray(Ce));Ce+=qe.length+2;const Fe=new Ka;return Ce+=Fe.read(Se.subarray(Ce)),{read:Ce,publicParams:{oid:Ae,Q:qe,kdfParams:Fe}}}case ir.publicKey.ed25519:case ir.publicKey.x25519:{const Ae=Se.subarray(Ce,Ce+32);return Ce+=Ae.length,{read:Ce,publicParams:{A:Ae}}}default:throw new Un("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(Ae,Se,Ce){let qe=0;switch(Ae){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaSign:{const Ae=sr.readMPI(Se.subarray(qe));qe+=Ae.length+2;const Ce=sr.readMPI(Se.subarray(qe));qe+=Ce.length+2;const Fe=sr.readMPI(Se.subarray(qe));qe+=Fe.length+2;const $e=sr.readMPI(Se.subarray(qe));return qe+=$e.length+2,{read:qe,privateParams:{d:Ae,p:Ce,q:Fe,u:$e}}}case ir.publicKey.dsa:case ir.publicKey.elgamal:{const Ae=sr.readMPI(Se.subarray(qe));return qe+=Ae.length+2,{read:qe,privateParams:{x:Ae}}}case ir.publicKey.ecdsa:case ir.publicKey.ecdh:{const Ae=new On(Ce.oid);let Fe=sr.readMPI(Se.subarray(qe));return qe+=Fe.length+2,Fe=sr.leftPad(Fe,Ae.payloadSize),{read:qe,privateParams:{d:Fe}}}case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:{const Ae=new On(Ce.oid);let Fe=sr.readMPI(Se.subarray(qe));return qe+=Fe.length+2,Fe=sr.leftPad(Fe,Ae.payloadSize),{read:qe,privateParams:{seed:Fe}}}case ir.publicKey.ed25519:{const Ae=Se.subarray(qe,qe+32);return qe+=Ae.length,{read:qe,privateParams:{seed:Ae}}}case ir.publicKey.x25519:{const Ae=Se.subarray(qe,qe+32);return qe+=Ae.length,{read:qe,privateParams:{k:Ae}}}default:throw new Un("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(Ae,Se){let Ce=0;switch(Ae){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:return{c:sr.readMPI(Se.subarray(Ce))};case ir.publicKey.elgamal:{const Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2;return{c1:Ae,c2:sr.readMPI(Se.subarray(Ce))}}case ir.publicKey.ecdh:{const Ae=sr.readMPI(Se.subarray(Ce));Ce+=Ae.length+2;const qe=new Ma;return qe.read(Se.subarray(Ce)),{V:Ae,C:qe}}case ir.publicKey.x25519:{const Ae=Se.subarray(Ce,Ce+32);Ce+=Ae.length;const qe=new Ca;return qe.read(Se.subarray(Ce)),{ephemeralPublicKey:Ae,C:qe}}default:throw new Un("Unknown public key encryption algorithm.")}},serializeParams:function(Ae,Se){const Ce=new Set([ir.publicKey.ed25519,ir.publicKey.x25519]),qe=Object.keys(Se).map((qe=>{const Fe=Se[qe];return sr.isUint8Array(Fe)?Ce.has(Ae)?Fe:sr.uint8ArrayToMPI(Fe):Fe.write()}));return sr.concatUint8Array(qe)},generateParams:function(Ae,Se,Ce){switch(Ae){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaSign:return Oa.rsa.generate(Se,65537).then((({n:Ae,e:Se,d:Ce,p:qe,q:Fe,u:$e})=>({privateParams:{d:Ce,p:qe,q:Fe,u:$e},publicParams:{n:Ae,e:Se}})));case ir.publicKey.ecdsa:return Oa.elliptic.generate(Ce).then((({oid:Ae,Q:Se,secret:Ce})=>({privateParams:{d:Ce},publicParams:{oid:new _n(Ae),Q:Se}})));case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:return Oa.elliptic.generate(Ce).then((({oid:Ae,Q:Se,secret:Ce})=>({privateParams:{seed:Ce},publicParams:{oid:new _n(Ae),Q:Se}})));case ir.publicKey.ecdh:return Oa.elliptic.generate(Ce).then((({oid:Ae,Q:Se,secret:Ce,hash:qe,cipher:Fe})=>({privateParams:{d:Ce},publicParams:{oid:new _n(Ae),Q:Se,kdfParams:new Ka({hash:qe,cipher:Fe})}})));case ir.publicKey.ed25519:return Oa.elliptic.eddsa.generate(Ae).then((({A:Ae,seed:Se})=>({privateParams:{seed:Se},publicParams:{A:Ae}})));case ir.publicKey.x25519:return Oa.elliptic.ecdhX.generate(Ae).then((({A:Ae,k:Se})=>({privateParams:{k:Se},publicParams:{A:Ae}})));case ir.publicKey.dsa:case ir.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(Ae,Se,Ce){if(!Se||!Ce)throw Error("Missing key parameters");switch(Ae){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaSign:{const{n:Ae,e:qe}=Se,{d:Fe,p:$e,q:rt,u:it}=Ce;return Oa.rsa.validateParams(Ae,qe,Fe,$e,rt,it)}case ir.publicKey.dsa:{const{p:Ae,q:qe,g:Fe,y:$e}=Se,{x:rt}=Ce;return Oa.dsa.validateParams(Ae,qe,Fe,$e,rt)}case ir.publicKey.elgamal:{const{p:Ae,g:qe,y:Fe}=Se,{x:$e}=Ce;return Oa.elgamal.validateParams(Ae,qe,Fe,$e)}case ir.publicKey.ecdsa:case ir.publicKey.ecdh:{const qe=Oa.elliptic[ir.read(ir.publicKey,Ae)],{oid:Fe,Q:$e}=Se,{d:rt}=Ce;return qe.validateParams(Fe,$e,rt)}case ir.publicKey.eddsa:case ir.publicKey.ed25519Legacy:{const{Q:Ae,oid:qe}=Se,{seed:Fe}=Ce;return Oa.elliptic.eddsaLegacy.validateParams(qe,Ae,Fe)}case ir.publicKey.ed25519:{const{A:qe}=Se,{seed:Fe}=Ce;return Oa.elliptic.eddsa.validateParams(Ae,qe,Fe)}case ir.publicKey.x25519:{const{A:qe}=Se,{k:Fe}=Ce;return Oa.elliptic.ecdhX.validateParams(Ae,qe,Fe)}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(Ae){const{blockSize:Se}=hi(Ae),Ce=await rn(Se),qe=new Uint8Array([Ce[Ce.length-2],Ce[Ce.length-1]]);return sr.concat([Ce,qe])},generateSessionKey:function(Ae){const{keySize:Se}=hi(Ae);return rn(Se)},getAEADMode:function(Ae){const Se=ir.read(ir.aead,Ae);return ws[Se]},getCipher:hi});const qa={cipher:Ur,hash:In,mode:ws,publicKey:Oa,signature:Na,random:As,pkcs1:Ms,pkcs5:wa,aesKW:va};Object.assign(qa,ja);var za="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function Ba(Ae,Se){return Ae.length===Se?Ae:Ae.subarray?Ae.subarray(0,Se):(Ae.length=Se,Ae)}const Fa={arraySet:function(Ae,Se,Ce,qe,Fe){if(Se.subarray&&Ae.subarray)Ae.set(Se.subarray(Ce,Ce+qe),Fe);else for(let $e=0;$e<qe;$e++)Ae[Fe+$e]=Se[Ce+$e]},flattenChunks:function(Ae){let Se,Ce,qe,Fe,$e;for(qe=0,Se=0,Ce=Ae.length;Se<Ce;Se++)qe+=Ae[Se].length;const rt=new Uint8Array(qe);for(Fe=0,Se=0,Ce=Ae.length;Se<Ce;Se++)$e=Ae[Se],rt.set($e,Fe),Fe+=$e.length;return rt}},La={arraySet:function(Ae,Se,Ce,qe,Fe){for(let $e=0;$e<qe;$e++)Ae[Fe+$e]=Se[Ce+$e]},flattenChunks:function(Ae){return[].concat.apply([],Ae)}};let Ha=za?Uint8Array:Array,Wa=za?Uint16Array:Array,Ga=za?Int32Array:Array,$a=za?Fa.flattenChunks:La.flattenChunks,Va=za?Fa.arraySet:La.arraySet;const Za=0,Qa=1,Ya=2,Xa=3,Ja=4,io=5,ho=6,lo=0,po=1,yo=2,mo=-2,go=-3,bo=-5,vo=-1,wo=1,_o=2,ko=3,Ao=4,So=0,Eo=1,Mo=2,Po=8;function ds(Ae){let Se=Ae.length;for(;--Se>=0;)Ae[Se]=0}const xo=0,Co=1,Ko=2,Wo=29,$o=256,Qo=$o+1+Wo,Jo=30,tc=19,rc=2*Qo+1,ic=15,nc=16,sc=7,ac=256,oc=16,cc=17,uc=18,hc=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],lc=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],fc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],pc=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],yc=Array(2*(Qo+2));ds(yc);const mc=Array(2*Jo);ds(mc);const gc=Array(512);ds(gc);const bc=Array(256);ds(bc);const vc=Array(Wo);ds(vc);const wc=Array(Jo);function qs(Ae,Se,Ce,qe,Fe){this.static_tree=Ae,this.extra_bits=Se,this.extra_base=Ce,this.elems=qe,this.max_length=Fe,this.has_stree=Ae&&Ae.length}let _c,kc,Ac;function Ns(Ae,Se){this.dyn_tree=Ae,this.max_code=0,this.stat_desc=Se}function js(Ae){return Ae<256?gc[Ae]:gc[256+(Ae>>>7)]}function Ws(Ae,Se){Ae.pending_buf[Ae.pending++]=255&Se,Ae.pending_buf[Ae.pending++]=Se>>>8&255}function Hs(Ae,Se,Ce){Ae.bi_valid>nc-Ce?(Ae.bi_buf|=Se<<Ae.bi_valid&65535,Ws(Ae,Ae.bi_buf),Ae.bi_buf=Se>>nc-Ae.bi_valid,Ae.bi_valid+=Ce-nc):(Ae.bi_buf|=Se<<Ae.bi_valid&65535,Ae.bi_valid+=Ce)}function Gs(Ae,Se,Ce){Hs(Ae,Ce[2*Se],Ce[2*Se+1])}function Vs(Ae,Se){let Ce=0;do{Ce|=1&Ae,Ae>>>=1,Ce<<=1}while(--Se>0);return Ce>>>1}function $s(Ae,Se,Ce){const qe=Array(ic+1);let Fe,$e,rt=0;for(Fe=1;Fe<=ic;Fe++)qe[Fe]=rt=rt+Ce[Fe-1]<<1;for($e=0;$e<=Se;$e++){const Se=Ae[2*$e+1];0!==Se&&(Ae[2*$e]=Vs(qe[Se]++,Se))}}function Zs(Ae){let Se;for(Se=0;Se<Qo;Se++)Ae.dyn_ltree[2*Se]=0;for(Se=0;Se<Jo;Se++)Ae.dyn_dtree[2*Se]=0;for(Se=0;Se<tc;Se++)Ae.bl_tree[2*Se]=0;Ae.dyn_ltree[2*ac]=1,Ae.opt_len=Ae.static_len=0,Ae.last_lit=Ae.matches=0}function Xs(Ae){Ae.bi_valid>8?Ws(Ae,Ae.bi_buf):Ae.bi_valid>0&&(Ae.pending_buf[Ae.pending++]=Ae.bi_buf),Ae.bi_buf=0,Ae.bi_valid=0}function Ys(Ae,Se,Ce,qe){const Fe=2*Se,$e=2*Ce;return Ae[Fe]<Ae[$e]||Ae[Fe]===Ae[$e]&&qe[Se]<=qe[Ce]}function Qs(Ae,Se,Ce){const qe=Ae.heap[Ce];let Fe=Ce<<1;for(;Fe<=Ae.heap_len&&(Fe<Ae.heap_len&&Ys(Se,Ae.heap[Fe+1],Ae.heap[Fe],Ae.depth)&&Fe++,!Ys(Se,qe,Ae.heap[Fe],Ae.depth));)Ae.heap[Ce]=Ae.heap[Fe],Ce=Fe,Fe<<=1;Ae.heap[Ce]=qe}function Js(Ae,Se,Ce){let qe,Fe,$e,rt,it=0;if(0!==Ae.last_lit)do{qe=Ae.pending_buf[Ae.d_buf+2*it]<<8|Ae.pending_buf[Ae.d_buf+2*it+1],Fe=Ae.pending_buf[Ae.l_buf+it],it++,0===qe?Gs(Ae,Fe,Se):($e=bc[Fe],Gs(Ae,$e+$o+1,Se),rt=hc[$e],0!==rt&&(Fe-=vc[$e],Hs(Ae,Fe,rt)),qe--,$e=js(qe),Gs(Ae,$e,Ce),rt=lc[$e],0!==rt&&(qe-=wc[$e],Hs(Ae,qe,rt)))}while(it<Ae.last_lit);Gs(Ae,ac,Se)}function eo(Ae,Se){const Ce=Se.dyn_tree,qe=Se.stat_desc.static_tree,Fe=Se.stat_desc.has_stree,$e=Se.stat_desc.elems;let rt,it,nt,st=-1;for(Ae.heap_len=0,Ae.heap_max=rc,rt=0;rt<$e;rt++)0!==Ce[2*rt]?(Ae.heap[++Ae.heap_len]=st=rt,Ae.depth[rt]=0):Ce[2*rt+1]=0;for(;Ae.heap_len<2;)nt=Ae.heap[++Ae.heap_len]=st<2?++st:0,Ce[2*nt]=1,Ae.depth[nt]=0,Ae.opt_len--,Fe&&(Ae.static_len-=qe[2*nt+1]);for(Se.max_code=st,rt=Ae.heap_len>>1;rt>=1;rt--)Qs(Ae,Ce,rt);nt=$e;do{rt=Ae.heap[1],Ae.heap[1]=Ae.heap[Ae.heap_len--],Qs(Ae,Ce,1),it=Ae.heap[1],Ae.heap[--Ae.heap_max]=rt,Ae.heap[--Ae.heap_max]=it,Ce[2*nt]=Ce[2*rt]+Ce[2*it],Ae.depth[nt]=(Ae.depth[rt]>=Ae.depth[it]?Ae.depth[rt]:Ae.depth[it])+1,Ce[2*rt+1]=Ce[2*it+1]=nt,Ae.heap[1]=nt++,Qs(Ae,Ce,1)}while(Ae.heap_len>=2);Ae.heap[--Ae.heap_max]=Ae.heap[1],function(Ae,Se){const Ce=Se.dyn_tree,qe=Se.max_code,Fe=Se.stat_desc.static_tree,$e=Se.stat_desc.has_stree,rt=Se.stat_desc.extra_bits,it=Se.stat_desc.extra_base,nt=Se.stat_desc.max_length;let st,ut,ht,ft,yt,mt,vt=0;for(ft=0;ft<=ic;ft++)Ae.bl_count[ft]=0;for(Ce[2*Ae.heap[Ae.heap_max]+1]=0,st=Ae.heap_max+1;st<rc;st++)ut=Ae.heap[st],ft=Ce[2*Ce[2*ut+1]+1]+1,ft>nt&&(ft=nt,vt++),Ce[2*ut+1]=ft,ut>qe||(Ae.bl_count[ft]++,yt=0,ut>=it&&(yt=rt[ut-it]),mt=Ce[2*ut],Ae.opt_len+=mt*(ft+yt),$e&&(Ae.static_len+=mt*(Fe[2*ut+1]+yt)));if(0!==vt){do{for(ft=nt-1;0===Ae.bl_count[ft];)ft--;Ae.bl_count[ft]--,Ae.bl_count[ft+1]+=2,Ae.bl_count[nt]--,vt-=2}while(vt>0);for(ft=nt;0!==ft;ft--)for(ut=Ae.bl_count[ft];0!==ut;)ht=Ae.heap[--st],ht>qe||(Ce[2*ht+1]!==ft&&(Ae.opt_len+=(ft-Ce[2*ht+1])*Ce[2*ht],Ce[2*ht+1]=ft),ut--)}}(Ae,Se),$s(Ce,st,Ae.bl_count)}function to(Ae,Se,Ce){let qe,Fe,$e=-1,rt=Se[1],it=0,nt=7,st=4;for(0===rt&&(nt=138,st=3),Se[2*(Ce+1)+1]=65535,qe=0;qe<=Ce;qe++)Fe=rt,rt=Se[2*(qe+1)+1],++it<nt&&Fe===rt||(it<st?Ae.bl_tree[2*Fe]+=it:0!==Fe?(Fe!==$e&&Ae.bl_tree[2*Fe]++,Ae.bl_tree[2*oc]++):it<=10?Ae.bl_tree[2*cc]++:Ae.bl_tree[2*uc]++,it=0,$e=Fe,0===rt?(nt=138,st=3):Fe===rt?(nt=6,st=3):(nt=7,st=4))}function ro(Ae,Se,Ce){let qe,Fe,$e=-1,rt=Se[1],it=0,nt=7,st=4;for(0===rt&&(nt=138,st=3),qe=0;qe<=Ce;qe++)if(Fe=rt,rt=Se[2*(qe+1)+1],!(++it<nt&&Fe===rt)){if(it<st)do{Gs(Ae,Fe,Ae.bl_tree)}while(0!=--it);else 0!==Fe?(Fe!==$e&&(Gs(Ae,Fe,Ae.bl_tree),it--),Gs(Ae,oc,Ae.bl_tree),Hs(Ae,it-3,2)):it<=10?(Gs(Ae,cc,Ae.bl_tree),Hs(Ae,it-3,3)):(Gs(Ae,uc,Ae.bl_tree),Hs(Ae,it-11,7));it=0,$e=Fe,0===rt?(nt=138,st=3):Fe===rt?(nt=6,st=3):(nt=7,st=4)}}ds(wc);let Sc=!1;function no(Ae){Sc||(!function(){let Ae,Se,Ce,qe,Fe;const $e=Array(ic+1);for(Ce=0,qe=0;qe<Wo-1;qe++)for(vc[qe]=Ce,Ae=0;Ae<1<<hc[qe];Ae++)bc[Ce++]=qe;for(bc[Ce-1]=qe,Fe=0,qe=0;qe<16;qe++)for(wc[qe]=Fe,Ae=0;Ae<1<<lc[qe];Ae++)gc[Fe++]=qe;for(Fe>>=7;qe<Jo;qe++)for(wc[qe]=Fe<<7,Ae=0;Ae<1<<lc[qe]-7;Ae++)gc[256+Fe++]=qe;for(Se=0;Se<=ic;Se++)$e[Se]=0;for(Ae=0;Ae<=143;)yc[2*Ae+1]=8,Ae++,$e[8]++;for(;Ae<=255;)yc[2*Ae+1]=9,Ae++,$e[9]++;for(;Ae<=279;)yc[2*Ae+1]=7,Ae++,$e[7]++;for(;Ae<=287;)yc[2*Ae+1]=8,Ae++,$e[8]++;for($s(yc,Qo+1,$e),Ae=0;Ae<Jo;Ae++)mc[2*Ae+1]=5,mc[2*Ae]=Vs(Ae,5);_c=new qs(yc,hc,$o+1,Qo,ic),kc=new qs(mc,lc,0,Jo,ic),Ac=new qs([],fc,0,tc,sc)}(),Sc=!0),Ae.l_desc=new Ns(Ae.dyn_ltree,_c),Ae.d_desc=new Ns(Ae.dyn_dtree,kc),Ae.bl_desc=new Ns(Ae.bl_tree,Ac),Ae.bi_buf=0,Ae.bi_valid=0,Zs(Ae)}function ao(Ae,Se,Ce,qe){Hs(Ae,(xo<<1)+(qe?1:0),3),function(Ae,Se,Ce,qe){Xs(Ae),qe&&(Ws(Ae,Ce),Ws(Ae,~Ce)),Va(Ae.pending_buf,Ae.window,Se,Ce,Ae.pending),Ae.pending+=Ce}(Ae,Se,Ce,!0)}function so(Ae){Hs(Ae,Co<<1,3),Gs(Ae,ac,yc),function(Ae){16===Ae.bi_valid?(Ws(Ae,Ae.bi_buf),Ae.bi_buf=0,Ae.bi_valid=0):Ae.bi_valid>=8&&(Ae.pending_buf[Ae.pending++]=255&Ae.bi_buf,Ae.bi_buf>>=8,Ae.bi_valid-=8)}(Ae)}function oo(Ae,Se,Ce,qe){let Fe,$e,rt=0;Ae.level>0?(Ae.strm.data_type===Mo&&(Ae.strm.data_type=function(Ae){let Se,Ce=4093624447;for(Se=0;Se<=31;Se++,Ce>>>=1)if(1&Ce&&0!==Ae.dyn_ltree[2*Se])return So;if(0!==Ae.dyn_ltree[18]||0!==Ae.dyn_ltree[20]||0!==Ae.dyn_ltree[26])return Eo;for(Se=32;Se<$o;Se++)if(0!==Ae.dyn_ltree[2*Se])return Eo;return So}(Ae)),eo(Ae,Ae.l_desc),eo(Ae,Ae.d_desc),rt=function(Ae){let Se;for(to(Ae,Ae.dyn_ltree,Ae.l_desc.max_code),to(Ae,Ae.dyn_dtree,Ae.d_desc.max_code),eo(Ae,Ae.bl_desc),Se=tc-1;Se>=3&&0===Ae.bl_tree[2*pc[Se]+1];Se--);return Ae.opt_len+=3*(Se+1)+5+5+4,Se}(Ae),Fe=Ae.opt_len+3+7>>>3,$e=Ae.static_len+3+7>>>3,$e<=Fe&&(Fe=$e)):Fe=$e=Ce+5,Ce+4<=Fe&&-1!==Se?ao(Ae,Se,Ce,qe):Ae.strategy===Ao||$e===Fe?(Hs(Ae,(Co<<1)+(qe?1:0),3),Js(Ae,yc,mc)):(Hs(Ae,(Ko<<1)+(qe?1:0),3),function(Ae,Se,Ce,qe){let Fe;for(Hs(Ae,Se-257,5),Hs(Ae,Ce-1,5),Hs(Ae,qe-4,4),Fe=0;Fe<qe;Fe++)Hs(Ae,Ae.bl_tree[2*pc[Fe]+1],3);ro(Ae,Ae.dyn_ltree,Se-1),ro(Ae,Ae.dyn_dtree,Ce-1)}(Ae,Ae.l_desc.max_code+1,Ae.d_desc.max_code+1,rt+1),Js(Ae,Ae.dyn_ltree,Ae.dyn_dtree)),Zs(Ae),qe&&Xs(Ae)}function co(Ae,Se,Ce){return Ae.pending_buf[Ae.d_buf+2*Ae.last_lit]=Se>>>8&255,Ae.pending_buf[Ae.d_buf+2*Ae.last_lit+1]=255&Se,Ae.pending_buf[Ae.l_buf+Ae.last_lit]=255&Ce,Ae.last_lit++,0===Se?Ae.dyn_ltree[2*Ce]++:(Ae.matches++,Se--,Ae.dyn_ltree[2*(bc[Ce]+$o+1)]++,Ae.dyn_dtree[2*js(Se)]++),Ae.last_lit===Ae.lit_bufsize-1}function uo(Ae,Se,Ce,qe){let Fe=65535&Ae|0,$e=Ae>>>16&65535|0,rt=0;for(;0!==Ce;){rt=Ce>2e3?2e3:Ce,Ce-=rt;do{Fe=Fe+Se[qe++]|0,$e=$e+Fe|0}while(--rt);Fe%=65521,$e%=65521}return Fe|$e<<16|0}const Ec=function(){let Ae;const Se=[];for(let Ce=0;Ce<256;Ce++){Ae=Ce;for(let Se=0;Se<8;Se++)Ae=1&Ae?3988292384^Ae>>>1:Ae>>>1;Se[Ce]=Ae}return Se}();function fo(Ae,Se,Ce,qe){const Fe=Ec,$e=qe+Ce;Ae^=-1;for(let Ce=qe;Ce<$e;Ce++)Ae=Ae>>>8^Fe[255&(Ae^Se[Ce])];return-1^Ae}var Mc={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const Pc=9,xc=3,Cc=258,Dc=Cc+xc+1,Rc=32,Bc=42,Kc=69,Tc=73,Uc=91,Ic=103,Oc=113,Nc=666,jc=1,qc=2,zc=3,Fc=4,Lc=3;function Do(Ae,Se){return Ae.msg=Mc[Se],Se}function Uo(Ae){return(Ae<<1)-(Ae>4?9:0)}function Ro(Ae){let Se=Ae.length;for(;--Se>=0;)Ae[Se]=0}function Io(Ae){const Se=Ae.state;let Ce=Se.pending;Ce>Ae.avail_out&&(Ce=Ae.avail_out),0!==Ce&&(Va(Ae.output,Se.pending_buf,Se.pending_out,Ce,Ae.next_out),Ae.next_out+=Ce,Se.pending_out+=Ce,Ae.total_out+=Ce,Ae.avail_out-=Ce,Se.pending-=Ce,0===Se.pending&&(Se.pending_out=0))}function Bo(Ae,Se){oo(Ae,Ae.block_start>=0?Ae.block_start:-1,Ae.strstart-Ae.block_start,Se),Ae.block_start=Ae.strstart,Io(Ae.strm)}function To(Ae,Se){Ae.pending_buf[Ae.pending++]=Se}function zo(Ae,Se){Ae.pending_buf[Ae.pending++]=Se>>>8&255,Ae.pending_buf[Ae.pending++]=255&Se}function qo(Ae,Se,Ce,qe){let Fe=Ae.avail_in;return Fe>qe&&(Fe=qe),0===Fe?0:(Ae.avail_in-=Fe,Va(Se,Ae.input,Ae.next_in,Fe,Ce),1===Ae.state.wrap?Ae.adler=uo(Ae.adler,Se,Fe,Ce):2===Ae.state.wrap&&(Ae.adler=fo(Ae.adler,Se,Fe,Ce)),Ae.next_in+=Fe,Ae.total_in+=Fe,Fe)}function Fo(Ae,Se){let Ce,qe,Fe=Ae.max_chain_length,$e=Ae.strstart,rt=Ae.prev_length,it=Ae.nice_match;const nt=Ae.strstart>Ae.w_size-Dc?Ae.strstart-(Ae.w_size-Dc):0,st=Ae.window,ut=Ae.w_mask,ht=Ae.prev,ft=Ae.strstart+Cc;let yt=st[$e+rt-1],mt=st[$e+rt];Ae.prev_length>=Ae.good_match&&(Fe>>=2),it>Ae.lookahead&&(it=Ae.lookahead);do{if(Ce=Se,st[Ce+rt]===mt&&st[Ce+rt-1]===yt&&st[Ce]===st[$e]&&st[++Ce]===st[$e+1]){$e+=2,Ce++;do{}while(st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&st[++$e]===st[++Ce]&&$e<ft);if(qe=Cc-(ft-$e),$e=ft-Cc,qe>rt){if(Ae.match_start=Se,rt=qe,qe>=it)break;yt=st[$e+rt-1],mt=st[$e+rt]}}}while((Se=ht[Se&ut])>nt&&0!=--Fe);return rt<=Ae.lookahead?rt:Ae.lookahead}function Oo(Ae){const Se=Ae.w_size;let Ce,qe,Fe,$e,rt;do{if($e=Ae.window_size-Ae.lookahead-Ae.strstart,Ae.strstart>=Se+(Se-Dc)){Va(Ae.window,Ae.window,Se,Se,0),Ae.match_start-=Se,Ae.strstart-=Se,Ae.block_start-=Se,qe=Ae.hash_size,Ce=qe;do{Fe=Ae.head[--Ce],Ae.head[Ce]=Fe>=Se?Fe-Se:0}while(--qe);qe=Se,Ce=qe;do{Fe=Ae.prev[--Ce],Ae.prev[Ce]=Fe>=Se?Fe-Se:0}while(--qe);$e+=Se}if(0===Ae.strm.avail_in)break;if(qe=qo(Ae.strm,Ae.window,Ae.strstart+Ae.lookahead,$e),Ae.lookahead+=qe,Ae.lookahead+Ae.insert>=xc)for(rt=Ae.strstart-Ae.insert,Ae.ins_h=Ae.window[rt],Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[rt+1])&Ae.hash_mask;Ae.insert&&(Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[rt+xc-1])&Ae.hash_mask,Ae.prev[rt&Ae.w_mask]=Ae.head[Ae.ins_h],Ae.head[Ae.ins_h]=rt,rt++,Ae.insert--,!(Ae.lookahead+Ae.insert<xc)););}while(Ae.lookahead<Dc&&0!==Ae.strm.avail_in)}function Lo(Ae,Se){let Ce,qe;for(;;){if(Ae.lookahead<Dc){if(Oo(Ae),Ae.lookahead<Dc&&Se===Za)return jc;if(0===Ae.lookahead)break}if(Ce=0,Ae.lookahead>=xc&&(Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[Ae.strstart+xc-1])&Ae.hash_mask,Ce=Ae.prev[Ae.strstart&Ae.w_mask]=Ae.head[Ae.ins_h],Ae.head[Ae.ins_h]=Ae.strstart),0!==Ce&&Ae.strstart-Ce<=Ae.w_size-Dc&&(Ae.match_length=Fo(Ae,Ce)),Ae.match_length>=xc)if(qe=co(Ae,Ae.strstart-Ae.match_start,Ae.match_length-xc),Ae.lookahead-=Ae.match_length,Ae.match_length<=Ae.max_lazy_match&&Ae.lookahead>=xc){Ae.match_length--;do{Ae.strstart++,Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[Ae.strstart+xc-1])&Ae.hash_mask,Ce=Ae.prev[Ae.strstart&Ae.w_mask]=Ae.head[Ae.ins_h],Ae.head[Ae.ins_h]=Ae.strstart}while(0!=--Ae.match_length);Ae.strstart++}else Ae.strstart+=Ae.match_length,Ae.match_length=0,Ae.ins_h=Ae.window[Ae.strstart],Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[Ae.strstart+1])&Ae.hash_mask;else qe=co(Ae,0,Ae.window[Ae.strstart]),Ae.lookahead--,Ae.strstart++;if(qe&&(Bo(Ae,!1),0===Ae.strm.avail_out))return jc}return Ae.insert=Ae.strstart<xc-1?Ae.strstart:xc-1,Se===Ja?(Bo(Ae,!0),0===Ae.strm.avail_out?zc:Fc):Ae.last_lit&&(Bo(Ae,!1),0===Ae.strm.avail_out)?jc:qc}function No(Ae,Se){let Ce,qe,Fe;for(;;){if(Ae.lookahead<Dc){if(Oo(Ae),Ae.lookahead<Dc&&Se===Za)return jc;if(0===Ae.lookahead)break}if(Ce=0,Ae.lookahead>=xc&&(Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[Ae.strstart+xc-1])&Ae.hash_mask,Ce=Ae.prev[Ae.strstart&Ae.w_mask]=Ae.head[Ae.ins_h],Ae.head[Ae.ins_h]=Ae.strstart),Ae.prev_length=Ae.match_length,Ae.prev_match=Ae.match_start,Ae.match_length=xc-1,0!==Ce&&Ae.prev_length<Ae.max_lazy_match&&Ae.strstart-Ce<=Ae.w_size-Dc&&(Ae.match_length=Fo(Ae,Ce),Ae.match_length<=5&&(Ae.strategy===wo||Ae.match_length===xc&&Ae.strstart-Ae.match_start>4096)&&(Ae.match_length=xc-1)),Ae.prev_length>=xc&&Ae.match_length<=Ae.prev_length){Fe=Ae.strstart+Ae.lookahead-xc,qe=co(Ae,Ae.strstart-1-Ae.prev_match,Ae.prev_length-xc),Ae.lookahead-=Ae.prev_length-1,Ae.prev_length-=2;do{++Ae.strstart<=Fe&&(Ae.ins_h=(Ae.ins_h<<Ae.hash_shift^Ae.window[Ae.strstart+xc-1])&Ae.hash_mask,Ce=Ae.prev[Ae.strstart&Ae.w_mask]=Ae.head[Ae.ins_h],Ae.head[Ae.ins_h]=Ae.strstart)}while(0!=--Ae.prev_length);if(Ae.match_available=0,Ae.match_length=xc-1,Ae.strstart++,qe&&(Bo(Ae,!1),0===Ae.strm.avail_out))return jc}else if(Ae.match_available){if(qe=co(Ae,0,Ae.window[Ae.strstart-1]),qe&&Bo(Ae,!1),Ae.strstart++,Ae.lookahead--,0===Ae.strm.avail_out)return jc}else Ae.match_available=1,Ae.strstart++,Ae.lookahead--}return Ae.match_available&&(qe=co(Ae,0,Ae.window[Ae.strstart-1]),Ae.match_available=0),Ae.insert=Ae.strstart<xc-1?Ae.strstart:xc-1,Se===Ja?(Bo(Ae,!0),0===Ae.strm.avail_out?zc:Fc):Ae.last_lit&&(Bo(Ae,!1),0===Ae.strm.avail_out)?jc:qc}class jo{constructor(Ae,Se,Ce,qe,Fe){this.good_length=Ae,this.max_lazy=Se,this.nice_length=Ce,this.max_chain=qe,this.func=Fe}}const Hc=[new jo(0,0,0,0,(function(Ae,Se){let Ce=65535;for(Ce>Ae.pending_buf_size-5&&(Ce=Ae.pending_buf_size-5);;){if(Ae.lookahead<=1){if(Oo(Ae),0===Ae.lookahead&&Se===Za)return jc;if(0===Ae.lookahead)break}Ae.strstart+=Ae.lookahead,Ae.lookahead=0;const qe=Ae.block_start+Ce;if((0===Ae.strstart||Ae.strstart>=qe)&&(Ae.lookahead=Ae.strstart-qe,Ae.strstart=qe,Bo(Ae,!1),0===Ae.strm.avail_out))return jc;if(Ae.strstart-Ae.block_start>=Ae.w_size-Dc&&(Bo(Ae,!1),0===Ae.strm.avail_out))return jc}return Ae.insert=0,Se===Ja?(Bo(Ae,!0),0===Ae.strm.avail_out?zc:Fc):(Ae.strstart>Ae.block_start&&(Bo(Ae,!1),Ae.strm.avail_out),jc)})),new jo(4,4,8,4,Lo),new jo(4,5,16,8,Lo),new jo(4,6,32,32,Lo),new jo(4,4,16,16,No),new jo(8,16,32,32,No),new jo(8,16,128,128,No),new jo(8,32,128,256,No),new jo(32,128,258,1024,No),new jo(32,258,258,4096,No)];class Ho{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Po,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Wa(1146),this.dyn_dtree=new Wa(122),this.bl_tree=new Wa(78),Ro(this.dyn_ltree),Ro(this.dyn_dtree),Ro(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Wa(16),this.heap=new Wa(573),Ro(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Wa(573),Ro(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function Go(Ae){const Se=function(Ae){let Se;return Ae&&Ae.state?(Ae.total_in=Ae.total_out=0,Ae.data_type=Mo,Se=Ae.state,Se.pending=0,Se.pending_out=0,Se.wrap<0&&(Se.wrap=-Se.wrap),Se.status=Se.wrap?Bc:Oc,Ae.adler=2===Se.wrap?0:1,Se.last_flush=Za,no(Se),lo):Do(Ae,mo)}(Ae);return Se===lo&&function(Ae){Ae.window_size=2*Ae.w_size,Ro(Ae.head),Ae.max_lazy_match=Hc[Ae.level].max_lazy,Ae.good_match=Hc[Ae.level].good_length,Ae.nice_match=Hc[Ae.level].nice_length,Ae.max_chain_length=Hc[Ae.level].max_chain,Ae.strstart=0,Ae.block_start=0,Ae.lookahead=0,Ae.insert=0,Ae.match_length=Ae.prev_length=xc-1,Ae.match_available=0,Ae.ins_h=0}(Ae.state),Se}function Vo(Ae,Se){let Ce,qe,Fe,$e;if(!Ae||!Ae.state||Se>io||Se<0)return Ae?Do(Ae,mo):mo;if(qe=Ae.state,!Ae.output||!Ae.input&&0!==Ae.avail_in||qe.status===Nc&&Se!==Ja)return Do(Ae,0===Ae.avail_out?bo:mo);if(qe.strm=Ae,Ce=qe.last_flush,qe.last_flush=Se,qe.status===Bc)if(2===qe.wrap)Ae.adler=0,To(qe,31),To(qe,139),To(qe,8),qe.gzhead?(To(qe,(qe.gzhead.text?1:0)+(qe.gzhead.hcrc?2:0)+(qe.gzhead.extra?4:0)+(qe.gzhead.name?8:0)+(qe.gzhead.comment?16:0)),To(qe,255&qe.gzhead.time),To(qe,qe.gzhead.time>>8&255),To(qe,qe.gzhead.time>>16&255),To(qe,qe.gzhead.time>>24&255),To(qe,9===qe.level?2:qe.strategy>=_o||qe.level<2?4:0),To(qe,255&qe.gzhead.os),qe.gzhead.extra&&qe.gzhead.extra.length&&(To(qe,255&qe.gzhead.extra.length),To(qe,qe.gzhead.extra.length>>8&255)),qe.gzhead.hcrc&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending,0)),qe.gzindex=0,qe.status=Kc):(To(qe,0),To(qe,0),To(qe,0),To(qe,0),To(qe,0),To(qe,9===qe.level?2:qe.strategy>=_o||qe.level<2?4:0),To(qe,Lc),qe.status=Oc);else{let Se=Po+(qe.w_bits-8<<4)<<8,Ce=-1;Ce=qe.strategy>=_o||qe.level<2?0:qe.level<6?1:6===qe.level?2:3,Se|=Ce<<6,0!==qe.strstart&&(Se|=Rc),Se+=31-Se%31,qe.status=Oc,zo(qe,Se),0!==qe.strstart&&(zo(qe,Ae.adler>>>16),zo(qe,65535&Ae.adler)),Ae.adler=1}if(qe.status===Kc)if(qe.gzhead.extra){for(Fe=qe.pending;qe.gzindex<(65535&qe.gzhead.extra.length)&&(qe.pending!==qe.pending_buf_size||(qe.gzhead.hcrc&&qe.pending>Fe&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending-Fe,Fe)),Io(Ae),Fe=qe.pending,qe.pending!==qe.pending_buf_size));)To(qe,255&qe.gzhead.extra[qe.gzindex]),qe.gzindex++;qe.gzhead.hcrc&&qe.pending>Fe&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending-Fe,Fe)),qe.gzindex===qe.gzhead.extra.length&&(qe.gzindex=0,qe.status=Tc)}else qe.status=Tc;if(qe.status===Tc)if(qe.gzhead.name){Fe=qe.pending;do{if(qe.pending===qe.pending_buf_size&&(qe.gzhead.hcrc&&qe.pending>Fe&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending-Fe,Fe)),Io(Ae),Fe=qe.pending,qe.pending===qe.pending_buf_size)){$e=1;break}$e=qe.gzindex<qe.gzhead.name.length?255&qe.gzhead.name.charCodeAt(qe.gzindex++):0,To(qe,$e)}while(0!==$e);qe.gzhead.hcrc&&qe.pending>Fe&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending-Fe,Fe)),0===$e&&(qe.gzindex=0,qe.status=Uc)}else qe.status=Uc;if(qe.status===Uc)if(qe.gzhead.comment){Fe=qe.pending;do{if(qe.pending===qe.pending_buf_size&&(qe.gzhead.hcrc&&qe.pending>Fe&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending-Fe,Fe)),Io(Ae),Fe=qe.pending,qe.pending===qe.pending_buf_size)){$e=1;break}$e=qe.gzindex<qe.gzhead.comment.length?255&qe.gzhead.comment.charCodeAt(qe.gzindex++):0,To(qe,$e)}while(0!==$e);qe.gzhead.hcrc&&qe.pending>Fe&&(Ae.adler=fo(Ae.adler,qe.pending_buf,qe.pending-Fe,Fe)),0===$e&&(qe.status=Ic)}else qe.status=Ic;if(qe.status===Ic&&(qe.gzhead.hcrc?(qe.pending+2>qe.pending_buf_size&&Io(Ae),qe.pending+2<=qe.pending_buf_size&&(To(qe,255&Ae.adler),To(qe,Ae.adler>>8&255),Ae.adler=0,qe.status=Oc)):qe.status=Oc),0!==qe.pending){if(Io(Ae),0===Ae.avail_out)return qe.last_flush=-1,lo}else if(0===Ae.avail_in&&Uo(Se)<=Uo(Ce)&&Se!==Ja)return Do(Ae,bo);if(qe.status===Nc&&0!==Ae.avail_in)return Do(Ae,bo);if(0!==Ae.avail_in||0!==qe.lookahead||Se!==Za&&qe.status!==Nc){var rt=qe.strategy===_o?function(Ae,Se){let Ce;for(;;){if(0===Ae.lookahead&&(Oo(Ae),0===Ae.lookahead)){if(Se===Za)return jc;break}if(Ae.match_length=0,Ce=co(Ae,0,Ae.window[Ae.strstart]),Ae.lookahead--,Ae.strstart++,Ce&&(Bo(Ae,!1),0===Ae.strm.avail_out))return jc}return Ae.insert=0,Se===Ja?(Bo(Ae,!0),0===Ae.strm.avail_out?zc:Fc):Ae.last_lit&&(Bo(Ae,!1),0===Ae.strm.avail_out)?jc:qc}(qe,Se):qe.strategy===ko?function(Ae,Se){let Ce,qe,Fe,$e;const rt=Ae.window;for(;;){if(Ae.lookahead<=Cc){if(Oo(Ae),Ae.lookahead<=Cc&&Se===Za)return jc;if(0===Ae.lookahead)break}if(Ae.match_length=0,Ae.lookahead>=xc&&Ae.strstart>0&&(Fe=Ae.strstart-1,qe=rt[Fe],qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe])){$e=Ae.strstart+Cc;do{}while(qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe]&&qe===rt[++Fe]&&Fe<$e);Ae.match_length=Cc-($e-Fe),Ae.match_length>Ae.lookahead&&(Ae.match_length=Ae.lookahead)}if(Ae.match_length>=xc?(Ce=co(Ae,1,Ae.match_length-xc),Ae.lookahead-=Ae.match_length,Ae.strstart+=Ae.match_length,Ae.match_length=0):(Ce=co(Ae,0,Ae.window[Ae.strstart]),Ae.lookahead--,Ae.strstart++),Ce&&(Bo(Ae,!1),0===Ae.strm.avail_out))return jc}return Ae.insert=0,Se===Ja?(Bo(Ae,!0),0===Ae.strm.avail_out?zc:Fc):Ae.last_lit&&(Bo(Ae,!1),0===Ae.strm.avail_out)?jc:qc}(qe,Se):Hc[qe.level].func(qe,Se);if(rt!==zc&&rt!==Fc||(qe.status=Nc),rt===jc||rt===zc)return 0===Ae.avail_out&&(qe.last_flush=-1),lo;if(rt===qc&&(Se===Qa?so(qe):Se!==io&&(ao(qe,0,0,!1),Se===Xa&&(Ro(qe.head),0===qe.lookahead&&(qe.strstart=0,qe.block_start=0,qe.insert=0))),Io(Ae),0===Ae.avail_out))return qe.last_flush=-1,lo}return Se!==Ja?lo:qe.wrap<=0?po:(2===qe.wrap?(To(qe,255&Ae.adler),To(qe,Ae.adler>>8&255),To(qe,Ae.adler>>16&255),To(qe,Ae.adler>>24&255),To(qe,255&Ae.total_in),To(qe,Ae.total_in>>8&255),To(qe,Ae.total_in>>16&255),To(qe,Ae.total_in>>24&255)):(zo(qe,Ae.adler>>>16),zo(qe,65535&Ae.adler)),Io(Ae),qe.wrap>0&&(qe.wrap=-qe.wrap),0!==qe.pending?lo:po)}try{String.fromCharCode.call(null,0)}catch(qe){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(qe){}const Wc=new Ha(256);for(let Ae=0;Ae<256;Ae++)Wc[Ae]=Ae>=252?6:Ae>=248?5:Ae>=240?4:Ae>=224?3:Ae>=192?2:1;function Zo(Ae){let Se,Ce,qe,Fe,$e=0;const rt=Ae.length;for(qe=0;qe<rt;qe++)Se=Ae.charCodeAt(qe),55296==(64512&Se)&&qe+1<rt&&(Ce=Ae.charCodeAt(qe+1),56320==(64512&Ce)&&(Se=65536+(Se-55296<<10)+(Ce-56320),qe++)),$e+=Se<128?1:Se<2048?2:Se<65536?3:4;const it=new Ha($e);for(Fe=0,qe=0;Fe<$e;qe++)Se=Ae.charCodeAt(qe),55296==(64512&Se)&&qe+1<rt&&(Ce=Ae.charCodeAt(qe+1),56320==(64512&Ce)&&(Se=65536+(Se-55296<<10)+(Ce-56320),qe++)),Se<128?it[Fe++]=Se:Se<2048?(it[Fe++]=192|Se>>>6,it[Fe++]=128|63&Se):Se<65536?(it[Fe++]=224|Se>>>12,it[Fe++]=128|Se>>>6&63,it[Fe++]=128|63&Se):(it[Fe++]=240|Se>>>18,it[Fe++]=128|Se>>>12&63,it[Fe++]=128|Se>>>6&63,it[Fe++]=128|63&Se);return it}Wc[254]=Wc[254]=1;class Xo{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class Yo{constructor(Ae){this.options={level:vo,method:Po,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...Ae||{}};const Se=this.options;Se.raw&&Se.windowBits>0?Se.windowBits=-Se.windowBits:Se.gzip&&Se.windowBits>0&&Se.windowBits<16&&(Se.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Xo,this.strm.avail_out=0;var Ce,qe,Fe=function(Ae,Se,Ce,qe,Fe,$e){if(!Ae)return mo;let rt=1;if(Se===vo&&(Se=6),qe<0?(rt=0,qe=-qe):qe>15&&(rt=2,qe-=16),Fe<1||Fe>Pc||Ce!==Po||qe<8||qe>15||Se<0||Se>9||$e<0||$e>Ao)return Do(Ae,mo);8===qe&&(qe=9);const it=new Ho;return Ae.state=it,it.strm=Ae,it.wrap=rt,it.gzhead=null,it.w_bits=qe,it.w_size=1<<it.w_bits,it.w_mask=it.w_size-1,it.hash_bits=Fe+7,it.hash_size=1<<it.hash_bits,it.hash_mask=it.hash_size-1,it.hash_shift=~~((it.hash_bits+xc-1)/xc),it.window=new Ha(2*it.w_size),it.head=new Wa(it.hash_size),it.prev=new Wa(it.w_size),it.lit_bufsize=1<<Fe+6,it.pending_buf_size=4*it.lit_bufsize,it.pending_buf=new Ha(it.pending_buf_size),it.d_buf=1*it.lit_bufsize,it.l_buf=3*it.lit_bufsize,it.level=Se,it.strategy=$e,it.method=Ce,Go(Ae)}(this.strm,Se.level,Se.method,Se.windowBits,Se.memLevel,Se.strategy);if(Fe!==lo)throw Error(Mc[Fe]);if(Se.header&&(Ce=this.strm,qe=Se.header,Ce&&Ce.state&&(2!==Ce.state.wrap||(Ce.state.gzhead=qe))),Se.dictionary){let Ae;if(Ae="string"==typeof Se.dictionary?Zo(Se.dictionary):Se.dictionary instanceof ArrayBuffer?new Uint8Array(Se.dictionary):Se.dictionary,Fe=function(Ae,Se){let Ce,qe,Fe,$e,rt,it,nt,st,ut=Se.length;if(!Ae||!Ae.state)return mo;if(Ce=Ae.state,$e=Ce.wrap,2===$e||1===$e&&Ce.status!==Bc||Ce.lookahead)return mo;for(1===$e&&(Ae.adler=uo(Ae.adler,Se,ut,0)),Ce.wrap=0,ut>=Ce.w_size&&(0===$e&&(Ro(Ce.head),Ce.strstart=0,Ce.block_start=0,Ce.insert=0),st=new Ha(Ce.w_size),Va(st,Se,ut-Ce.w_size,Ce.w_size,0),Se=st,ut=Ce.w_size),rt=Ae.avail_in,it=Ae.next_in,nt=Ae.input,Ae.avail_in=ut,Ae.next_in=0,Ae.input=Se,Oo(Ce);Ce.lookahead>=xc;){qe=Ce.strstart,Fe=Ce.lookahead-(xc-1);do{Ce.ins_h=(Ce.ins_h<<Ce.hash_shift^Ce.window[qe+xc-1])&Ce.hash_mask,Ce.prev[qe&Ce.w_mask]=Ce.head[Ce.ins_h],Ce.head[Ce.ins_h]=qe,qe++}while(--Fe);Ce.strstart=qe,Ce.lookahead=xc-1,Oo(Ce)}return Ce.strstart+=Ce.lookahead,Ce.block_start=Ce.strstart,Ce.insert=Ce.lookahead,Ce.lookahead=0,Ce.match_length=Ce.prev_length=xc-1,Ce.match_available=0,Ae.next_in=it,Ae.input=nt,Ae.avail_in=rt,Ce.wrap=$e,lo}(this.strm,Ae),Fe!==lo)throw Error(Mc[Fe]);this._dict_set=!0}}push(Ae,Se){const{strm:Ce,options:{chunkSize:qe}}=this;var Fe,$e;if(this.ended)return!1;$e=Se===~~Se?Se:!0===Se?Ja:Za,"string"==typeof Ae?Ce.input=Zo(Ae):Ae instanceof ArrayBuffer?Ce.input=new Uint8Array(Ae):Ce.input=Ae,Ce.next_in=0,Ce.avail_in=Ce.input.length;do{if(0===Ce.avail_out&&(Ce.output=new Ha(qe),Ce.next_out=0,Ce.avail_out=qe),(Fe=Vo(Ce,$e))!==po&&Fe!==lo)return this.onEnd(Fe),this.ended=!0,!1;0!==Ce.avail_out&&(0!==Ce.avail_in||$e!==Ja&&$e!==Ya)||this.onData(Ba(Ce.output,Ce.next_out))}while((Ce.avail_in>0||0===Ce.avail_out)&&Fe!==po);return $e===Ja?(Fe=function(Ae){let Se;return Ae&&Ae.state?(Se=Ae.state.status,Se!==Bc&&Se!==Kc&&Se!==Tc&&Se!==Uc&&Se!==Ic&&Se!==Oc&&Se!==Nc?Do(Ae,mo):(Ae.state=null,Se===Oc?Do(Ae,go):lo)):mo}(this.strm),this.onEnd(Fe),this.ended=!0,Fe===lo):$e!==Ya||(this.onEnd(lo),Ce.avail_out=0,!0)}onData(Ae){this.chunks.push(Ae)}onEnd(Ae){Ae===lo&&(this.result=$a(this.chunks)),this.chunks=[],this.err=Ae,this.msg=this.strm.msg}}const Gc=30,Qc=12;function ec(Ae,Se){let Ce,qe,Fe,$e,rt,it,nt,st,ut,ht;const ft=Ae.state;Ce=Ae.next_in;const yt=Ae.input,mt=Ce+(Ae.avail_in-5);qe=Ae.next_out;const vt=Ae.output,_t=qe-(Se-Ae.avail_out),Ct=qe+(Ae.avail_out-257),Rt=ft.dmax,Ut=ft.wsize,It=ft.whave,Ot=ft.wnext,Nt=ft.window;Fe=ft.hold,$e=ft.bits;const jt=ft.lencode,Ft=ft.distcode,Lt=(1<<ft.lenbits)-1,Ht=(1<<ft.distbits)-1;e:do{$e<15&&(Fe+=yt[Ce++]<<$e,$e+=8,Fe+=yt[Ce++]<<$e,$e+=8),rt=jt[Fe&Lt];t:for(;;){if(it=rt>>>24,Fe>>>=it,$e-=it,it=rt>>>16&255,0===it)vt[qe++]=65535&rt;else{if(!(16&it)){if(0==(64&it)){rt=jt[(65535&rt)+(Fe&(1<<it)-1)];continue t}if(32&it){ft.mode=Qc;break e}Ae.msg="invalid literal/length code",ft.mode=Gc;break e}nt=65535&rt,it&=15,it&&($e<it&&(Fe+=yt[Ce++]<<$e,$e+=8),nt+=Fe&(1<<it)-1,Fe>>>=it,$e-=it),$e<15&&(Fe+=yt[Ce++]<<$e,$e+=8,Fe+=yt[Ce++]<<$e,$e+=8),rt=Ft[Fe&Ht];r:for(;;){if(it=rt>>>24,Fe>>>=it,$e-=it,it=rt>>>16&255,!(16&it)){if(0==(64&it)){rt=Ft[(65535&rt)+(Fe&(1<<it)-1)];continue r}Ae.msg="invalid distance code",ft.mode=Gc;break e}if(st=65535&rt,it&=15,$e<it&&(Fe+=yt[Ce++]<<$e,$e+=8,$e<it&&(Fe+=yt[Ce++]<<$e,$e+=8)),st+=Fe&(1<<it)-1,st>Rt){Ae.msg="invalid distance too far back",ft.mode=Gc;break e}if(Fe>>>=it,$e-=it,it=qe-_t,st>it){if(it=st-it,it>It&&ft.sane){Ae.msg="invalid distance too far back",ft.mode=Gc;break e}if(ut=0,ht=Nt,0===Ot){if(ut+=Ut-it,it<nt){nt-=it;do{vt[qe++]=Nt[ut++]}while(--it);ut=qe-st,ht=vt}}else if(Ot<it){if(ut+=Ut+Ot-it,it-=Ot,it<nt){nt-=it;do{vt[qe++]=Nt[ut++]}while(--it);if(ut=0,Ot<nt){it=Ot,nt-=it;do{vt[qe++]=Nt[ut++]}while(--it);ut=qe-st,ht=vt}}}else if(ut+=Ot-it,it<nt){nt-=it;do{vt[qe++]=Nt[ut++]}while(--it);ut=qe-st,ht=vt}for(;nt>2;)vt[qe++]=ht[ut++],vt[qe++]=ht[ut++],vt[qe++]=ht[ut++],nt-=3;nt&&(vt[qe++]=ht[ut++],nt>1&&(vt[qe++]=ht[ut++]))}else{ut=qe-st;do{vt[qe++]=vt[ut++],vt[qe++]=vt[ut++],vt[qe++]=vt[ut++],nt-=3}while(nt>2);nt&&(vt[qe++]=vt[ut++],nt>1&&(vt[qe++]=vt[ut++]))}break}}break}}while(Ce<mt&&qe<Ct);nt=$e>>3,Ce-=nt,$e-=nt<<3,Fe&=(1<<$e)-1,Ae.next_in=Ce,Ae.next_out=qe,Ae.avail_in=Ce<mt?mt-Ce+5:5-(Ce-mt),Ae.avail_out=qe<Ct?Ct-qe+257:257-(qe-Ct),ft.hold=Fe,ft.bits=$e}const Yc=15,Jc=852,su=592,cu=0,hu=1,du=2,fu=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],pu=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],yu=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],ku=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function dc(Ae,Se,Ce,qe,Fe,$e,rt,it){const nt=it.bits;let st,ut,ht,ft,yt,mt=0,vt=0,_t=0,Ct=0,Rt=0,Ut=0,It=0,Ot=0,Nt=0,jt=0,Ft=null,Lt=0;const Ht=new Wa(Yc+1),Wt=new Wa(Yc+1);let Gt,$t,Vt,Zt=null,Qt=0;for(mt=0;mt<=Yc;mt++)Ht[mt]=0;for(vt=0;vt<qe;vt++)Ht[Se[Ce+vt]]++;for(Rt=nt,Ct=Yc;Ct>=1&&0===Ht[Ct];Ct--);if(Rt>Ct&&(Rt=Ct),0===Ct)return Fe[$e++]=20971520,Fe[$e++]=20971520,it.bits=1,0;for(_t=1;_t<Ct&&0===Ht[_t];_t++);for(Rt<_t&&(Rt=_t),Ot=1,mt=1;mt<=Yc;mt++)if(Ot<<=1,Ot-=Ht[mt],Ot<0)return-1;if(Ot>0&&(Ae===cu||1!==Ct))return-1;for(Wt[1]=0,mt=1;mt<Yc;mt++)Wt[mt+1]=Wt[mt]+Ht[mt];for(vt=0;vt<qe;vt++)0!==Se[Ce+vt]&&(rt[Wt[Se[Ce+vt]]++]=vt);Ae===cu?(Ft=Zt=rt,yt=19):Ae===hu?(Ft=fu,Lt-=257,Zt=pu,Qt-=257,yt=256):(Ft=yu,Zt=ku,yt=-1),jt=0,vt=0,mt=_t,ft=$e,Ut=Rt,It=0,ht=-1,Nt=1<<Rt;const Xt=Nt-1;if(Ae===hu&&Nt>Jc||Ae===du&&Nt>su)return 1;for(;;){Gt=mt-It,rt[vt]<yt?($t=0,Vt=rt[vt]):rt[vt]>yt?($t=Zt[Qt+rt[vt]],Vt=Ft[Lt+rt[vt]]):($t=96,Vt=0),st=1<<mt-It,ut=1<<Ut,_t=ut;do{ut-=st,Fe[ft+(jt>>It)+ut]=Gt<<24|$t<<16|Vt|0}while(0!==ut);for(st=1<<mt-1;jt&st;)st>>=1;if(0!==st?(jt&=st-1,jt+=st):jt=0,vt++,0==--Ht[mt]){if(mt===Ct)break;mt=Se[Ce+rt[vt]]}if(mt>Rt&&(jt&Xt)!==ht){for(0===It&&(It=Rt),ft+=_t,Ut=mt-It,Ot=1<<Ut;Ut+It<Ct&&(Ot-=Ht[Ut+It],!(Ot<=0));)Ut++,Ot<<=1;if(Nt+=1<<Ut,Ae===hu&&Nt>Jc||Ae===du&&Nt>su)return 1;ht=jt&Xt,Fe[ht]=Rt<<24|Ut<<16|ft-$e|0}}return 0!==jt&&(Fe[ft+jt]=mt-It<<24|64<<16|0),it.bits=Rt,0}const Au=0,Du=1,Ku=2,Tu=1,Ou=2,qu=3,zu=4,Vu=5,Ju=6,rh=7,kh=8,Ah=9,Sh=10,Mh=11,Dh=12,Rh=13,Uh=14,Nh=15,zh=16,$h=17,Qh=18,Xh=19,Jh=20,cl=21,Cl=22,Kl=23,ed=24,td=25,rd=26,fd=27,Sd=28,Ed=29,Md=30,Pd=852,xd=592;function Vc(Ae){return(Ae>>>24&255)+(Ae>>>8&65280)+((65280&Ae)<<8)+((255&Ae)<<24)}class $c{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Wa(320),this.work=new Wa(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function Zc(Ae){let Se;return Ae&&Ae.state?(Se=Ae.state,Se.wsize=0,Se.whave=0,Se.wnext=0,function(Ae){let Se;return Ae&&Ae.state?(Se=Ae.state,Ae.total_in=Ae.total_out=Se.total=0,Ae.msg="",Se.wrap&&(Ae.adler=1&Se.wrap),Se.mode=Tu,Se.last=0,Se.havedict=0,Se.dmax=32768,Se.head=null,Se.hold=0,Se.bits=0,Se.lencode=Se.lendyn=new Ga(Pd),Se.distcode=Se.distdyn=new Ga(xd),Se.sane=1,Se.back=-1,lo):mo}(Ae)):mo}function Xc(Ae,Se){let Ce,qe;return Ae?(qe=new $c,Ae.state=qe,qe.window=null,Ce=function(Ae,Se){let Ce,qe;return Ae&&Ae.state?(qe=Ae.state,Se<0?(Ce=0,Se=-Se):(Ce=1+(Se>>4),Se<48&&(Se&=15)),Se&&(Se<8||Se>15)?mo:(null!==qe.window&&qe.wbits!==Se&&(qe.window=null),qe.wrap=Ce,qe.wbits=Se,Zc(Ae))):mo}(Ae,Se),Ce!==lo&&(Ae.state=null),Ce):mo}let Kd,$d,Xd=!0;function eu(Ae){if(Xd){let Se;for(Kd=new Ga(512),$d=new Ga(32),Se=0;Se<144;)Ae.lens[Se++]=8;for(;Se<256;)Ae.lens[Se++]=9;for(;Se<280;)Ae.lens[Se++]=7;for(;Se<288;)Ae.lens[Se++]=8;for(dc(Du,Ae.lens,0,288,Kd,0,Ae.work,{bits:9}),Se=0;Se<32;)Ae.lens[Se++]=5;dc(Ku,Ae.lens,0,32,$d,0,Ae.work,{bits:5}),Xd=!1}Ae.lencode=Kd,Ae.lenbits=9,Ae.distcode=$d,Ae.distbits=5}function tu(Ae,Se,Ce,qe){let Fe;const $e=Ae.state;return null===$e.window&&($e.wsize=1<<$e.wbits,$e.wnext=0,$e.whave=0,$e.window=new Ha($e.wsize)),qe>=$e.wsize?(Va($e.window,Se,Ce-$e.wsize,$e.wsize,0),$e.wnext=0,$e.whave=$e.wsize):(Fe=$e.wsize-$e.wnext,Fe>qe&&(Fe=qe),Va($e.window,Se,Ce-qe,Fe,$e.wnext),(qe-=Fe)?(Va($e.window,Se,Ce-qe,qe,0),$e.wnext=qe,$e.whave=$e.wsize):($e.wnext+=Fe,$e.wnext===$e.wsize&&($e.wnext=0),$e.whave<$e.wsize&&($e.whave+=Fe))),0}function ru(Ae,Se){let Ce,qe,Fe,$e,rt,it,nt,st,ut,ht,ft,yt,mt,vt,_t,Ct,Rt,Ut,It,Ot,Nt,jt,Ft,Lt,Ht=0,Wt=new Ha(4);const Gt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!Ae||!Ae.state||!Ae.output||!Ae.input&&0!==Ae.avail_in)return mo;Ce=Ae.state,Ce.mode===Dh&&(Ce.mode=Rh),rt=Ae.next_out,Fe=Ae.output,nt=Ae.avail_out,$e=Ae.next_in,qe=Ae.input,it=Ae.avail_in,st=Ce.hold,ut=Ce.bits,ht=it,ft=nt,jt=lo;e:for(;;)switch(Ce.mode){case Tu:if(0===Ce.wrap){Ce.mode=Rh;break}for(;ut<16;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(2&Ce.wrap&&35615===st){Ce.check=0,Wt[0]=255&st,Wt[1]=st>>>8&255,Ce.check=fo(Ce.check,Wt,2,0),st=0,ut=0,Ce.mode=Ou;break}if(Ce.flags=0,Ce.head&&(Ce.head.done=!1),!(1&Ce.wrap)||(((255&st)<<8)+(st>>8))%31){Ae.msg="incorrect header check",Ce.mode=Md;break}if((15&st)!==Po){Ae.msg="unknown compression method",Ce.mode=Md;break}if(st>>>=4,ut-=4,Nt=8+(15&st),0===Ce.wbits)Ce.wbits=Nt;else if(Nt>Ce.wbits){Ae.msg="invalid window size",Ce.mode=Md;break}Ce.dmax=1<<Nt,Ae.adler=Ce.check=1,Ce.mode=512&st?Sh:Dh,st=0,ut=0;break;case Ou:for(;ut<16;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(Ce.flags=st,(255&Ce.flags)!==Po){Ae.msg="unknown compression method",Ce.mode=Md;break}if(57344&Ce.flags){Ae.msg="unknown header flags set",Ce.mode=Md;break}Ce.head&&(Ce.head.text=st>>8&1),512&Ce.flags&&(Wt[0]=255&st,Wt[1]=st>>>8&255,Ce.check=fo(Ce.check,Wt,2,0)),st=0,ut=0,Ce.mode=qu;case qu:for(;ut<32;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ce.head&&(Ce.head.time=st),512&Ce.flags&&(Wt[0]=255&st,Wt[1]=st>>>8&255,Wt[2]=st>>>16&255,Wt[3]=st>>>24&255,Ce.check=fo(Ce.check,Wt,4,0)),st=0,ut=0,Ce.mode=zu;case zu:for(;ut<16;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ce.head&&(Ce.head.xflags=255&st,Ce.head.os=st>>8),512&Ce.flags&&(Wt[0]=255&st,Wt[1]=st>>>8&255,Ce.check=fo(Ce.check,Wt,2,0)),st=0,ut=0,Ce.mode=Vu;case Vu:if(1024&Ce.flags){for(;ut<16;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ce.length=st,Ce.head&&(Ce.head.extra_len=st),512&Ce.flags&&(Wt[0]=255&st,Wt[1]=st>>>8&255,Ce.check=fo(Ce.check,Wt,2,0)),st=0,ut=0}else Ce.head&&(Ce.head.extra=null);Ce.mode=Ju;case Ju:if(1024&Ce.flags&&(yt=Ce.length,yt>it&&(yt=it),yt&&(Ce.head&&(Nt=Ce.head.extra_len-Ce.length,Ce.head.extra||(Ce.head.extra=Array(Ce.head.extra_len)),Va(Ce.head.extra,qe,$e,yt,Nt)),512&Ce.flags&&(Ce.check=fo(Ce.check,qe,yt,$e)),it-=yt,$e+=yt,Ce.length-=yt),Ce.length))break e;Ce.length=0,Ce.mode=rh;case rh:if(2048&Ce.flags){if(0===it)break e;yt=0;do{Nt=qe[$e+yt++],Ce.head&&Nt&&Ce.length<65536&&(Ce.head.name+=String.fromCharCode(Nt))}while(Nt&&yt<it);if(512&Ce.flags&&(Ce.check=fo(Ce.check,qe,yt,$e)),it-=yt,$e+=yt,Nt)break e}else Ce.head&&(Ce.head.name=null);Ce.length=0,Ce.mode=kh;case kh:if(4096&Ce.flags){if(0===it)break e;yt=0;do{Nt=qe[$e+yt++],Ce.head&&Nt&&Ce.length<65536&&(Ce.head.comment+=String.fromCharCode(Nt))}while(Nt&&yt<it);if(512&Ce.flags&&(Ce.check=fo(Ce.check,qe,yt,$e)),it-=yt,$e+=yt,Nt)break e}else Ce.head&&(Ce.head.comment=null);Ce.mode=Ah;case Ah:if(512&Ce.flags){for(;ut<16;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(st!==(65535&Ce.check)){Ae.msg="header crc mismatch",Ce.mode=Md;break}st=0,ut=0}Ce.head&&(Ce.head.hcrc=Ce.flags>>9&1,Ce.head.done=!0),Ae.adler=Ce.check=0,Ce.mode=Dh;break;case Sh:for(;ut<32;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ae.adler=Ce.check=Vc(st),st=0,ut=0,Ce.mode=Mh;case Mh:if(0===Ce.havedict)return Ae.next_out=rt,Ae.avail_out=nt,Ae.next_in=$e,Ae.avail_in=it,Ce.hold=st,Ce.bits=ut,yo;Ae.adler=Ce.check=1,Ce.mode=Dh;case Dh:if(Se===io||Se===ho)break e;case Rh:if(Ce.last){st>>>=7&ut,ut-=7&ut,Ce.mode=fd;break}for(;ut<3;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}switch(Ce.last=1&st,st>>>=1,ut-=1,3&st){case 0:Ce.mode=Uh;break;case 1:if(eu(Ce),Ce.mode=Jh,Se===ho){st>>>=2,ut-=2;break e}break;case 2:Ce.mode=$h;break;case 3:Ae.msg="invalid block type",Ce.mode=Md}st>>>=2,ut-=2;break;case Uh:for(st>>>=7&ut,ut-=7&ut;ut<32;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if((65535&st)!=(st>>>16^65535)){Ae.msg="invalid stored block lengths",Ce.mode=Md;break}if(Ce.length=65535&st,st=0,ut=0,Ce.mode=Nh,Se===ho)break e;case Nh:Ce.mode=zh;case zh:if(yt=Ce.length,yt){if(yt>it&&(yt=it),yt>nt&&(yt=nt),0===yt)break e;Va(Fe,qe,$e,yt,rt),it-=yt,$e+=yt,nt-=yt,rt+=yt,Ce.length-=yt;break}Ce.mode=Dh;break;case $h:for(;ut<14;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(Ce.nlen=257+(31&st),st>>>=5,ut-=5,Ce.ndist=1+(31&st),st>>>=5,ut-=5,Ce.ncode=4+(15&st),st>>>=4,ut-=4,Ce.nlen>286||Ce.ndist>30){Ae.msg="too many length or distance symbols",Ce.mode=Md;break}Ce.have=0,Ce.mode=Qh;case Qh:for(;Ce.have<Ce.ncode;){for(;ut<3;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ce.lens[Gt[Ce.have++]]=7&st,st>>>=3,ut-=3}for(;Ce.have<19;)Ce.lens[Gt[Ce.have++]]=0;if(Ce.lencode=Ce.lendyn,Ce.lenbits=7,Ft={bits:Ce.lenbits},jt=dc(Au,Ce.lens,0,19,Ce.lencode,0,Ce.work,Ft),Ce.lenbits=Ft.bits,jt){Ae.msg="invalid code lengths set",Ce.mode=Md;break}Ce.have=0,Ce.mode=Xh;case Xh:for(;Ce.have<Ce.nlen+Ce.ndist;){for(;Ht=Ce.lencode[st&(1<<Ce.lenbits)-1],_t=Ht>>>24,Ct=Ht>>>16&255,Rt=65535&Ht,!(_t<=ut);){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(Rt<16)st>>>=_t,ut-=_t,Ce.lens[Ce.have++]=Rt;else{if(16===Rt){for(Lt=_t+2;ut<Lt;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(st>>>=_t,ut-=_t,0===Ce.have){Ae.msg="invalid bit length repeat",Ce.mode=Md;break}Nt=Ce.lens[Ce.have-1],yt=3+(3&st),st>>>=2,ut-=2}else if(17===Rt){for(Lt=_t+3;ut<Lt;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}st>>>=_t,ut-=_t,Nt=0,yt=3+(7&st),st>>>=3,ut-=3}else{for(Lt=_t+7;ut<Lt;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}st>>>=_t,ut-=_t,Nt=0,yt=11+(127&st),st>>>=7,ut-=7}if(Ce.have+yt>Ce.nlen+Ce.ndist){Ae.msg="invalid bit length repeat",Ce.mode=Md;break}for(;yt--;)Ce.lens[Ce.have++]=Nt}}if(Ce.mode===Md)break;if(0===Ce.lens[256]){Ae.msg="invalid code -- missing end-of-block",Ce.mode=Md;break}if(Ce.lenbits=9,Ft={bits:Ce.lenbits},jt=dc(Du,Ce.lens,0,Ce.nlen,Ce.lencode,0,Ce.work,Ft),Ce.lenbits=Ft.bits,jt){Ae.msg="invalid literal/lengths set",Ce.mode=Md;break}if(Ce.distbits=6,Ce.distcode=Ce.distdyn,Ft={bits:Ce.distbits},jt=dc(Ku,Ce.lens,Ce.nlen,Ce.ndist,Ce.distcode,0,Ce.work,Ft),Ce.distbits=Ft.bits,jt){Ae.msg="invalid distances set",Ce.mode=Md;break}if(Ce.mode=Jh,Se===ho)break e;case Jh:Ce.mode=cl;case cl:if(it>=6&&nt>=258){Ae.next_out=rt,Ae.avail_out=nt,Ae.next_in=$e,Ae.avail_in=it,Ce.hold=st,Ce.bits=ut,ec(Ae,ft),rt=Ae.next_out,Fe=Ae.output,nt=Ae.avail_out,$e=Ae.next_in,qe=Ae.input,it=Ae.avail_in,st=Ce.hold,ut=Ce.bits,Ce.mode===Dh&&(Ce.back=-1);break}for(Ce.back=0;Ht=Ce.lencode[st&(1<<Ce.lenbits)-1],_t=Ht>>>24,Ct=Ht>>>16&255,Rt=65535&Ht,!(_t<=ut);){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(Ct&&0==(240&Ct)){for(Ut=_t,It=Ct,Ot=Rt;Ht=Ce.lencode[Ot+((st&(1<<Ut+It)-1)>>Ut)],_t=Ht>>>24,Ct=Ht>>>16&255,Rt=65535&Ht,!(Ut+_t<=ut);){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}st>>>=Ut,ut-=Ut,Ce.back+=Ut}if(st>>>=_t,ut-=_t,Ce.back+=_t,Ce.length=Rt,0===Ct){Ce.mode=rd;break}if(32&Ct){Ce.back=-1,Ce.mode=Dh;break}if(64&Ct){Ae.msg="invalid literal/length code",Ce.mode=Md;break}Ce.extra=15&Ct,Ce.mode=Cl;case Cl:if(Ce.extra){for(Lt=Ce.extra;ut<Lt;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ce.length+=st&(1<<Ce.extra)-1,st>>>=Ce.extra,ut-=Ce.extra,Ce.back+=Ce.extra}Ce.was=Ce.length,Ce.mode=Kl;case Kl:for(;Ht=Ce.distcode[st&(1<<Ce.distbits)-1],_t=Ht>>>24,Ct=Ht>>>16&255,Rt=65535&Ht,!(_t<=ut);){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(0==(240&Ct)){for(Ut=_t,It=Ct,Ot=Rt;Ht=Ce.distcode[Ot+((st&(1<<Ut+It)-1)>>Ut)],_t=Ht>>>24,Ct=Ht>>>16&255,Rt=65535&Ht,!(Ut+_t<=ut);){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}st>>>=Ut,ut-=Ut,Ce.back+=Ut}if(st>>>=_t,ut-=_t,Ce.back+=_t,64&Ct){Ae.msg="invalid distance code",Ce.mode=Md;break}Ce.offset=Rt,Ce.extra=15&Ct,Ce.mode=ed;case ed:if(Ce.extra){for(Lt=Ce.extra;ut<Lt;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}Ce.offset+=st&(1<<Ce.extra)-1,st>>>=Ce.extra,ut-=Ce.extra,Ce.back+=Ce.extra}if(Ce.offset>Ce.dmax){Ae.msg="invalid distance too far back",Ce.mode=Md;break}Ce.mode=td;case td:if(0===nt)break e;if(yt=ft-nt,Ce.offset>yt){if(yt=Ce.offset-yt,yt>Ce.whave&&Ce.sane){Ae.msg="invalid distance too far back",Ce.mode=Md;break}yt>Ce.wnext?(yt-=Ce.wnext,mt=Ce.wsize-yt):mt=Ce.wnext-yt,yt>Ce.length&&(yt=Ce.length),vt=Ce.window}else vt=Fe,mt=rt-Ce.offset,yt=Ce.length;yt>nt&&(yt=nt),nt-=yt,Ce.length-=yt;do{Fe[rt++]=vt[mt++]}while(--yt);0===Ce.length&&(Ce.mode=cl);break;case rd:if(0===nt)break e;Fe[rt++]=Ce.length,nt--,Ce.mode=cl;break;case fd:if(Ce.wrap){for(;ut<32;){if(0===it)break e;it--,st|=qe[$e++]<<ut,ut+=8}if(ft-=nt,Ae.total_out+=ft,Ce.total+=ft,ft&&(Ae.adler=Ce.check=Ce.flags?fo(Ce.check,Fe,ft,rt-ft):uo(Ce.check,Fe,ft,rt-ft)),ft=nt,(Ce.flags?st:Vc(st))!==Ce.check){Ae.msg="incorrect data check",Ce.mode=Md;break}st=0,ut=0}Ce.mode=Sd;case Sd:if(Ce.wrap&&Ce.flags){for(;ut<32;){if(0===it)break e;it--,st+=qe[$e++]<<ut,ut+=8}if(st!==(4294967295&Ce.total)){Ae.msg="incorrect length check",Ce.mode=Md;break}st=0,ut=0}Ce.mode=Ed;case Ed:jt=po;break e;case Md:jt=go;break e;default:return mo}return Ae.next_out=rt,Ae.avail_out=nt,Ae.next_in=$e,Ae.avail_in=it,Ce.hold=st,Ce.bits=ut,(Ce.wsize||ft!==Ae.avail_out&&Ce.mode<Md&&(Ce.mode<fd||Se!==Ja))&&tu(Ae,Ae.output,Ae.next_out,ft-Ae.avail_out),ht-=Ae.avail_in,ft-=Ae.avail_out,Ae.total_in+=ht,Ae.total_out+=ft,Ce.total+=ft,Ce.wrap&&ft&&(Ae.adler=Ce.check=Ce.flags?fo(Ce.check,Fe,ft,Ae.next_out-ft):uo(Ce.check,Fe,ft,Ae.next_out-ft)),Ae.data_type=Ce.bits+(Ce.last?64:0)+(Ce.mode===Dh?128:0)+(Ce.mode===Jh||Ce.mode===Nh?256:0),(0===ht&&0===ft||Se===Ja)&&jt===lo&&(jt=bo),jt}function iu(Ae,Se){const Ce=Se.length;let qe,Fe;return Ae&&Ae.state?(qe=Ae.state,0!==qe.wrap&&qe.mode!==Mh?mo:qe.mode===Mh&&(Fe=1,Fe=uo(Fe,Se,Ce,0),Fe!==qe.check)?go:(tu(Ae,Se,Ce,Ce),qe.havedict=1,lo)):mo}class nu{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class au{constructor(Ae){this.options={chunkSize:16384,windowBits:0,...Ae||{}};const Se=this.options;Se.raw&&Se.windowBits>=0&&Se.windowBits<16&&(Se.windowBits=-Se.windowBits,0===Se.windowBits&&(Se.windowBits=-15)),!(Se.windowBits>=0&&Se.windowBits<16)||Ae&&Ae.windowBits||(Se.windowBits+=32),Se.windowBits>15&&Se.windowBits<48&&0==(15&Se.windowBits)&&(Se.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Xo,this.strm.avail_out=0;let Ce=Xc(this.strm,Se.windowBits);if(Ce!==lo)throw Error(Mc[Ce]);if(this.header=new nu,function(Ae,Se){let Ce;Ae&&Ae.state&&(Ce=Ae.state,0==(2&Ce.wrap)||(Ce.head=Se,Se.done=!1))}(this.strm,this.header),Se.dictionary&&("string"==typeof Se.dictionary?Se.dictionary=Zo(Se.dictionary):Se.dictionary instanceof ArrayBuffer&&(Se.dictionary=new Uint8Array(Se.dictionary)),Se.raw&&(Ce=iu(this.strm,Se.dictionary),Ce!==lo)))throw Error(Mc[Ce])}push(Ae,Se){const{strm:Ce,options:{chunkSize:qe,dictionary:Fe}}=this;let $e,rt,it=!1;if(this.ended)return!1;rt=Se===~~Se?Se:!0===Se?Ja:Za,"string"==typeof Ae?Ce.input=function(Ae){const Se=new Ha(Ae.length);for(let Ce=0,qe=Se.length;Ce<qe;Ce++)Se[Ce]=Ae.charCodeAt(Ce);return Se}(Ae):Ae instanceof ArrayBuffer?Ce.input=new Uint8Array(Ae):Ce.input=Ae,Ce.next_in=0,Ce.avail_in=Ce.input.length;do{if(0===Ce.avail_out&&(Ce.output=new Ha(qe),Ce.next_out=0,Ce.avail_out=qe),$e=ru(Ce,Za),$e===yo&&Fe&&($e=iu(this.strm,Fe)),$e===bo&&!0===it&&($e=lo,it=!1),$e!==po&&$e!==lo)return this.onEnd($e),this.ended=!0,!1;Ce.next_out&&(0!==Ce.avail_out&&$e!==po&&(0!==Ce.avail_in||rt!==Ja&&rt!==Ya)||this.onData(Ba(Ce.output,Ce.next_out))),0===Ce.avail_in&&0===Ce.avail_out&&(it=!0)}while((Ce.avail_in>0||0===Ce.avail_out)&&$e!==po);return $e===po&&(rt=Ja),rt===Ja?($e=function(Ae){if(!Ae||!Ae.state)return mo;const Se=Ae.state;return Se.window&&(Se.window=null),Ae.state=null,lo}(this.strm),this.onEnd($e),this.ended=!0,$e===lo):rt!==Ya||(this.onEnd(lo),Ce.avail_out=0,!0)}onData(Ae){this.chunks.push(Ae)}onEnd(Ae){Ae===lo&&(this.result=$a(this.chunks)),this.chunks=[],this.err=Ae,this.msg=this.strm.msg}}var Jd=[0,1,3,7,15,31,63,127,255],ou=function(Ae){this.stream=Ae,this.bitOffset=0,this.curByte=0,this.hasByte=!1};ou.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},ou.prototype.read=function(Ae){for(var Se=0;Ae>0;){this._ensureByte();var Ce=8-this.bitOffset;if(Ae>=Ce)Se<<=Ce,Se|=Jd[Ce]&this.curByte,this.hasByte=!1,this.bitOffset=0,Ae-=Ce;else{Se<<=Ae;var qe=Ce-Ae;Se|=(this.curByte&Jd[Ae]<<qe)>>qe,this.bitOffset+=Ae,Ae=0}}return Se},ou.prototype.seek=function(Ae){var Se=Ae%8,Ce=(Ae-Se)/8;this.bitOffset=Se,this.stream.seek(Ce),this.hasByte=!1},ou.prototype.pi=function(){var Ae,Se=new Uint8Array(6);for(Ae=0;Ae<Se.length;Ae++)Se[Ae]=this.read(8);return function(Ae){return Array.prototype.map.call(Ae,(Ae=>("00"+Ae.toString(16)).slice(-2))).join("")}(Se)};var Kp=ou,uu=function(){};uu.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},uu.prototype.read=function(Ae,Se,Ce){for(var qe=0;qe<Ce;){var Fe=this.readByte();if(Fe<0)return 0===qe?-1:qe;Ae[Se++]=Fe,qe++}return qe},uu.prototype.seek=function(Ae){throw Error("abstract method seek() not implemented")},uu.prototype.writeByte=function(Ae){throw Error("abstract method readByte() not implemented")},uu.prototype.write=function(Ae,Se,Ce){var qe;for(qe=0;qe<Ce;qe++)this.writeByte(Ae[Se++]);return Ce},uu.prototype.flush=function(){};var Np,jp=uu,Hp=(Np=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var Ae=4294967295;this.getCRC=function(){return~Ae>>>0},this.updateCRC=function(Se){Ae=Ae<<8^Np[255&(Ae>>>24^Se)]},this.updateCRCRun=function(Se,Ce){for(;Ce-- >0;)Ae=Ae<<8^Np[255&(Ae>>>24^Se)]}}),lu=function(Ae,Se){var Ce,qe=Ae[Se];for(Ce=Se;Ce>0;Ce--)Ae[Ce]=Ae[Ce-1];return Ae[0]=qe,qe},Vp={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},Zp={};Zp[Vp.LAST_BLOCK]="Bad file checksum",Zp[Vp.NOT_BZIP_DATA]="Not bzip data",Zp[Vp.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",Zp[Vp.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",Zp[Vp.DATA_ERROR]="Data error",Zp[Vp.OUT_OF_MEMORY]="Out of memory",Zp[Vp.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var bu=function(Ae,Se){var Ce=Zp[Ae]||"unknown error";Se&&(Ce+=": "+Se);var qe=new TypeError(Ce);throw qe.errorCode=Ae,qe},mu=function(Ae,Se){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(Ae,Se)};mu.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new Hp,!0):(this.writeCount=-1,!1)},mu.prototype._start_bunzip=function(Ae,Se){var Ce=new Uint8Array(4);4===Ae.read(Ce,0,4)&&"BZh"===String.fromCharCode(Ce[0],Ce[1],Ce[2])||bu(Vp.NOT_BZIP_DATA,"bad magic");var qe=Ce[3]-48;(qe<1||qe>9)&&bu(Vp.NOT_BZIP_DATA,"level out of range"),this.reader=new Kp(Ae),this.dbufSize=1e5*qe,this.nextoutput=0,this.outputStream=Se,this.streamCRC=0},mu.prototype._get_next_block=function(){var Ae,Se,Ce,qe=this.reader,Fe=qe.pi();if("177245385090"===Fe)return!1;"314159265359"!==Fe&&bu(Vp.NOT_BZIP_DATA),this.targetBlockCRC=qe.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,qe.read(1)&&bu(Vp.OBSOLETE_INPUT);var $e=qe.read(24);$e>this.dbufSize&&bu(Vp.DATA_ERROR,"initial position out of bounds");var rt=qe.read(16),it=new Uint8Array(256),nt=0;for(Ae=0;Ae<16;Ae++)if(rt&1<<15-Ae){var st=16*Ae;for(Ce=qe.read(16),Se=0;Se<16;Se++)Ce&1<<15-Se&&(it[nt++]=st+Se)}var ut=qe.read(3);(ut<2||ut>6)&&bu(Vp.DATA_ERROR);var ht=qe.read(15);0===ht&&bu(Vp.DATA_ERROR);var ft=new Uint8Array(256);for(Ae=0;Ae<ut;Ae++)ft[Ae]=Ae;var yt=new Uint8Array(ht);for(Ae=0;Ae<ht;Ae++){for(Se=0;qe.read(1);Se++)Se>=ut&&bu(Vp.DATA_ERROR);yt[Ae]=lu(ft,Se)}var mt,vt=nt+2,_t=[];for(Se=0;Se<ut;Se++){var Ct,Rt,Ut=new Uint8Array(vt),It=new Uint16Array(21);for(rt=qe.read(5),Ae=0;Ae<vt;Ae++){for(;(rt<1||rt>20)&&bu(Vp.DATA_ERROR),qe.read(1);)qe.read(1)?rt--:rt++;Ut[Ae]=rt}for(Ct=Rt=Ut[0],Ae=1;Ae<vt;Ae++)Ut[Ae]>Rt?Rt=Ut[Ae]:Ut[Ae]<Ct&&(Ct=Ut[Ae]);mt={},_t.push(mt),mt.permute=new Uint16Array(258),mt.limit=new Uint32Array(22),mt.base=new Uint32Array(21),mt.minLen=Ct,mt.maxLen=Rt;var Ot=0;for(Ae=Ct;Ae<=Rt;Ae++)for(It[Ae]=mt.limit[Ae]=0,rt=0;rt<vt;rt++)Ut[rt]===Ae&&(mt.permute[Ot++]=rt);for(Ae=0;Ae<vt;Ae++)It[Ut[Ae]]++;for(Ot=rt=0,Ae=Ct;Ae<Rt;Ae++)Ot+=It[Ae],mt.limit[Ae]=Ot-1,Ot<<=1,rt+=It[Ae],mt.base[Ae+1]=Ot-rt;mt.limit[Rt+1]=Number.MAX_VALUE,mt.limit[Rt]=Ot+It[Rt]-1,mt.base[Ct]=0}var Nt=new Uint32Array(256);for(Ae=0;Ae<256;Ae++)ft[Ae]=Ae;var jt,Ft=0,Lt=0,Ht=0,Wt=this.dbuf=new Uint32Array(this.dbufSize);for(vt=0;;){for(vt--||(vt=49,Ht>=ht&&bu(Vp.DATA_ERROR),mt=_t[yt[Ht++]]),Ae=mt.minLen,Se=qe.read(Ae);Ae>mt.maxLen&&bu(Vp.DATA_ERROR),!(Se<=mt.limit[Ae]);Ae++)Se=Se<<1|qe.read(1);((Se-=mt.base[Ae])<0||Se>=258)&&bu(Vp.DATA_ERROR);var Gt=mt.permute[Se];if(0!==Gt&&1!==Gt){if(Ft)for(Ft=0,Lt+rt>this.dbufSize&&bu(Vp.DATA_ERROR),Nt[jt=it[ft[0]]]+=rt;rt--;)Wt[Lt++]=jt;if(Gt>nt)break;Lt>=this.dbufSize&&bu(Vp.DATA_ERROR),Nt[jt=it[jt=lu(ft,Ae=Gt-1)]]++,Wt[Lt++]=jt}else Ft||(Ft=1,rt=0),rt+=0===Gt?Ft:2*Ft,Ft<<=1}for(($e<0||$e>=Lt)&&bu(Vp.DATA_ERROR),Se=0,Ae=0;Ae<256;Ae++)Ce=Se+Nt[Ae],Nt[Ae]=Se,Se=Ce;for(Ae=0;Ae<Lt;Ae++)Wt[Nt[jt=255&Wt[Ae]]]|=Ae<<8,Nt[jt]++;var $t=0,Vt=0,Zt=0;return Lt&&(Vt=255&($t=Wt[$e]),$t>>=8,Zt=-1),this.writePos=$t,this.writeCurrent=Vt,this.writeCount=Lt,this.writeRun=Zt,!0},mu.prototype._read_bunzip=function(Ae,Se){var Ce,qe,Fe;if(this.writeCount<0)return 0;var $e=this.dbuf,rt=this.writePos,it=this.writeCurrent,nt=this.writeCount;this.outputsize;for(var st=this.writeRun;nt;){for(nt--,qe=it,it=255&(rt=$e[rt]),rt>>=8,3==st++?(Ce=it,Fe=qe,it=-1):(Ce=1,Fe=it),this.blockCRC.updateCRCRun(Fe,Ce);Ce--;)this.outputStream.writeByte(Fe),this.nextoutput++;it!=qe&&(st=0)}return this.writeCount=nt,this.blockCRC.getCRC()!==this.targetBlockCRC&&bu(Vp.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var gu=function(Ae){if("readByte"in Ae)return Ae;var Se=new jp;return Se.pos=0,Se.readByte=function(){return Ae[this.pos++]},Se.seek=function(Ae){this.pos=Ae},Se.eof=function(){return this.pos>=Ae.length},Se},wu=function(Ae){var Se=new jp,Ce=!0;if(Ae)if("number"==typeof Ae)Se.buffer=new Uint8Array(Ae),Ce=!1;else{if("writeByte"in Ae)return Ae;Se.buffer=Ae,Ce=!1}else Se.buffer=new Uint8Array(16384);return Se.pos=0,Se.writeByte=function(Ae){if(Ce&&this.pos>=this.buffer.length){var Se=new Uint8Array(2*this.buffer.length);Se.set(this.buffer),this.buffer=Se}this.buffer[this.pos++]=Ae},Se.getBuffer=function(){if(this.pos!==this.buffer.length){if(!Ce)throw new TypeError("outputsize does not match decoded input");var Ae=new Uint8Array(this.pos);Ae.set(this.buffer.subarray(0,this.pos)),this.buffer=Ae}return this.buffer},Se._coerced=!0,Se};var vu=function(Ae,Se,Ce){for(var qe=gu(Ae),Fe=wu(Se),$e=new mu(qe,Fe);!("eof"in qe)||!qe.eof();)if($e._init_block())$e._read_bunzip();else{var rt=$e.reader.read(32)>>>0;if(rt!==$e.streamCRC&&bu(Vp.DATA_ERROR,"Bad stream CRC (got "+$e.streamCRC.toString(16)+" expected "+rt.toString(16)+")"),!Ce||!("eof"in qe)||qe.eof())break;$e._start_bunzip(qe,Fe)}if("getBuffer"in Fe)return Fe.getBuffer()};class _u{static get tag(){return ir.packet.literalData}constructor(Ae=new Date){this.format=ir.literal.utf8,this.date=sr.normalizeDate(Ae),this.text=null,this.data=null,this.filename=""}setText(Ae,Se=ir.literal.utf8){this.format=Se,this.text=Ae,this.data=null}getText(Ae=!1){return(null===this.text||sr.isStream(this.text))&&(this.text=sr.decodeUTF8(sr.nativeEOL(this.getBytes(Ae)))),this.text}setBytes(Ae,Se){this.format=Se,this.data=Ae,this.text=null}getBytes(Ae=!1){return null===this.data&&(this.data=sr.canonicalizeEOL(sr.encodeUTF8(this.text))),Ae?ee(this.data):this.data}setFilename(Ae){this.filename=Ae}getFilename(){return this.filename}async read(Ae){await Q(Ae,(async Ae=>{const Se=await Ae.readByte(),Ce=await Ae.readByte();this.filename=sr.decodeUTF8(await Ae.readBytes(Ce)),this.date=sr.readDate(await Ae.readBytes(4));let qe=Ae.remainder();_(qe)&&(qe=await ie(qe)),this.setBytes(qe,Se)}))}writeHeader(){const Ae=sr.encodeUTF8(this.filename),Se=new Uint8Array([Ae.length]),Ce=new Uint8Array([this.format]),qe=sr.writeDate(this.date);return sr.concatUint8Array([Ce,Se,Ae,qe])}write(){const Ae=this.writeHeader(),Se=this.getBytes();return sr.concat([Ae,Se])}}const Qp=Symbol("verified"),Yp=new Set([ir.signatureSubpacket.issuer,ir.signatureSubpacket.issuerFingerprint,ir.signatureSubpacket.embeddedSignature]);class Su{static get tag(){return ir.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Ke,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[Qp]=null}read(Ae){let Se=0;if(this.version=Ae[Se++],4!==this.version&&5!==this.version)throw new Un(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=Ae[Se++],this.publicKeyAlgorithm=Ae[Se++],this.hashAlgorithm=Ae[Se++],Se+=this.readSubPackets(Ae.subarray(Se,Ae.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=Ae.subarray(0,Se),Se+=this.readSubPackets(Ae.subarray(Se,Ae.length),!1),this.signedHashValue=Ae.subarray(Se,Se+2),Se+=2,this.params=qa.signature.parseSignatureParams(this.publicKeyAlgorithm,Ae.subarray(Se,Ae.length))}writeParams(){return this.params instanceof Promise?ae((async()=>qa.serializeParams(this.publicKeyAlgorithm,await this.params))):qa.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const Ae=[];return Ae.push(this.signatureData),Ae.push(this.writeUnhashedSubPackets()),Ae.push(this.signedHashValue),Ae.push(this.writeParams()),sr.concat(Ae)}async sign(Ae,Se,Ce=new Date,qe=!1){5===Ae.version?this.version=5:this.version=4;const Fe=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=sr.normalizeDate(Ce),this.issuerKeyVersion=Ae.version,this.issuerFingerprint=Ae.getFingerprintBytes(),this.issuerKeyID=Ae.getKeyID(),Fe.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=sr.concat(Fe);const $e=this.toHash(this.signatureType,Se,qe),rt=await this.hash(this.signatureType,Se,$e,qe);this.signedHashValue=re(J(rt),0,2);const o=async()=>qa.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,Ae.publicParams,Ae.privateParams,$e,await ie(rt));sr.isStream(rt)?this.params=o():(this.params=await o(),this[Qp]=!0)}writeHashedSubPackets(){const Ae=ir.signatureSubpacket,Se=[];let Ce;if(null===this.created)throw Error("Missing signature creation time");Se.push(Eu(Ae.signatureCreationTime,!0,sr.writeDate(this.created))),null!==this.signatureExpirationTime&&Se.push(Eu(Ae.signatureExpirationTime,!0,sr.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&Se.push(Eu(Ae.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(Ce=new Uint8Array([this.trustLevel,this.trustAmount]),Se.push(Eu(Ae.trustSignature,!0,Ce))),null!==this.regularExpression&&Se.push(Eu(Ae.regularExpression,!0,this.regularExpression)),null!==this.revocable&&Se.push(Eu(Ae.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&Se.push(Eu(Ae.keyExpirationTime,!0,sr.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.preferredSymmetricAlgorithms)),Se.push(Eu(Ae.preferredSymmetricAlgorithms,!1,Ce))),null!==this.revocationKeyClass&&(Ce=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),Ce=sr.concat([Ce,this.revocationKeyFingerprint]),Se.push(Eu(Ae.revocationKey,!1,Ce))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||Se.push(Eu(Ae.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:qe,value:Fe,humanReadable:$e,critical:rt})=>{Ce=[new Uint8Array([$e?128:0,0,0,0])];const it=sr.encodeUTF8(qe);Ce.push(sr.writeNumber(it.length,2)),Ce.push(sr.writeNumber(Fe.length,2)),Ce.push(it),Ce.push(Fe),Ce=sr.concat(Ce),Se.push(Eu(Ae.notationData,rt,Ce))})),null!==this.preferredHashAlgorithms&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.preferredHashAlgorithms)),Se.push(Eu(Ae.preferredHashAlgorithms,!1,Ce))),null!==this.preferredCompressionAlgorithms&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.preferredCompressionAlgorithms)),Se.push(Eu(Ae.preferredCompressionAlgorithms,!1,Ce))),null!==this.keyServerPreferences&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.keyServerPreferences)),Se.push(Eu(Ae.keyServerPreferences,!1,Ce))),null!==this.preferredKeyServer&&Se.push(Eu(Ae.preferredKeyServer,!1,sr.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&Se.push(Eu(Ae.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&Se.push(Eu(Ae.policyURI,!1,sr.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.keyFlags)),Se.push(Eu(Ae.keyFlags,!0,Ce))),null!==this.signersUserID&&Se.push(Eu(Ae.signersUserID,!1,sr.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(Ce=sr.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),Se.push(Eu(Ae.reasonForRevocation,!0,Ce))),null!==this.features&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.features)),Se.push(Eu(Ae.features,!1,Ce))),null!==this.signatureTargetPublicKeyAlgorithm&&(Ce=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],Ce.push(sr.stringToUint8Array(this.signatureTargetHash)),Ce=sr.concat(Ce),Se.push(Eu(Ae.signatureTarget,!0,Ce))),null!==this.embeddedSignature&&Se.push(Eu(Ae.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(Ce=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],Ce=sr.concat(Ce),Se.push(Eu(Ae.issuerFingerprint,5===this.version,Ce))),null!==this.preferredAEADAlgorithms&&(Ce=sr.stringToUint8Array(sr.uint8ArrayToString(this.preferredAEADAlgorithms)),Se.push(Eu(Ae.preferredAEADAlgorithms,!1,Ce)));const qe=sr.concat(Se),Fe=sr.writeNumber(qe.length,2);return sr.concat([Fe,qe])}writeUnhashedSubPackets(){const Ae=[];this.unhashedSubpackets.forEach((Se=>{Ae.push(Pn(Se.length)),Ae.push(Se)}));const Se=sr.concat(Ae),Ce=sr.writeNumber(Se.length,2);return sr.concat([Ce,Se])}readSubPacket(Ae,Se=!0){let Ce=0;const qe=!!(128&Ae[Ce]),Fe=127&Ae[Ce];if(Se||(this.unhashedSubpackets.push(Ae.subarray(Ce,Ae.length)),Yp.has(Fe)))switch(Ce++,Fe){case ir.signatureSubpacket.signatureCreationTime:this.created=sr.readDate(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.signatureExpirationTime:{const Se=sr.readNumber(Ae.subarray(Ce,Ae.length));this.signatureNeverExpires=0===Se,this.signatureExpirationTime=Se;break}case ir.signatureSubpacket.exportableCertification:this.exportable=1===Ae[Ce++];break;case ir.signatureSubpacket.trustSignature:this.trustLevel=Ae[Ce++],this.trustAmount=Ae[Ce++];break;case ir.signatureSubpacket.regularExpression:this.regularExpression=Ae[Ce];break;case ir.signatureSubpacket.revocable:this.revocable=1===Ae[Ce++];break;case ir.signatureSubpacket.keyExpirationTime:{const Se=sr.readNumber(Ae.subarray(Ce,Ae.length));this.keyExpirationTime=Se,this.keyNeverExpires=0===Se;break}case ir.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...Ae.subarray(Ce,Ae.length)];break;case ir.signatureSubpacket.revocationKey:this.revocationKeyClass=Ae[Ce++],this.revocationKeyAlgorithm=Ae[Ce++],this.revocationKeyFingerprint=Ae.subarray(Ce,Ce+20);break;case ir.signatureSubpacket.issuer:this.issuerKeyID.read(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.notationData:{const Se=!!(128&Ae[Ce]);Ce+=4;const Fe=sr.readNumber(Ae.subarray(Ce,Ce+2));Ce+=2;const $e=sr.readNumber(Ae.subarray(Ce,Ce+2));Ce+=2;const rt=sr.decodeUTF8(Ae.subarray(Ce,Ce+Fe)),it=Ae.subarray(Ce+Fe,Ce+Fe+$e);this.rawNotations.push({name:rt,humanReadable:Se,value:it,critical:qe}),Se&&(this.notations[rt]=sr.decodeUTF8(it));break}case ir.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...Ae.subarray(Ce,Ae.length)];break;case ir.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...Ae.subarray(Ce,Ae.length)];break;case ir.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...Ae.subarray(Ce,Ae.length)];break;case ir.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=sr.decodeUTF8(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==Ae[Ce++];break;case ir.signatureSubpacket.policyURI:this.policyURI=sr.decodeUTF8(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.keyFlags:this.keyFlags=[...Ae.subarray(Ce,Ae.length)];break;case ir.signatureSubpacket.signersUserID:this.signersUserID=sr.decodeUTF8(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=Ae[Ce++],this.reasonForRevocationString=sr.decodeUTF8(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.features:this.features=[...Ae.subarray(Ce,Ae.length)];break;case ir.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=Ae[Ce++],this.signatureTargetHashAlgorithm=Ae[Ce++];const Se=qa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=sr.uint8ArrayToString(Ae.subarray(Ce,Ce+Se));break}case ir.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Su,this.embeddedSignature.read(Ae.subarray(Ce,Ae.length));break;case ir.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=Ae[Ce++],this.issuerFingerprint=Ae.subarray(Ce,Ae.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case ir.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...Ae.subarray(Ce,Ae.length)];break;default:{const Ae=Error("Unknown signature subpacket type "+Fe);if(qe)throw Ae;sr.printDebug(Ae)}}}readSubPackets(Ae,Se=!0,Ce){const qe=sr.readNumber(Ae.subarray(0,2));let Fe=2;for(;Fe<2+qe;){const qe=En(Ae.subarray(Fe,Ae.length));Fe+=qe.offset,this.readSubPacket(Ae.subarray(Fe,Fe+qe.len),Se,Ce),Fe+=qe.len}return Fe}toSign(Ae,Se){const Ce=ir.signature;switch(Ae){case Ce.binary:return null!==Se.text?sr.encodeUTF8(Se.getText(!0)):Se.getBytes(!0);case Ce.text:{const Ae=Se.getBytes(!0);return sr.canonicalizeEOL(Ae)}case Ce.standalone:return new Uint8Array(0);case Ce.certGeneric:case Ce.certPersona:case Ce.certCasual:case Ce.certPositive:case Ce.certRevocation:{let Ae,qe;if(Se.userID)qe=180,Ae=Se.userID;else{if(!Se.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");qe=209,Ae=Se.userAttribute}const Fe=Ae.write();return sr.concat([this.toSign(Ce.key,Se),new Uint8Array([qe]),sr.writeNumber(Fe.length,4),Fe])}case Ce.subkeyBinding:case Ce.subkeyRevocation:case Ce.keyBinding:return sr.concat([this.toSign(Ce.key,Se),this.toSign(Ce.key,{key:Se.bind})]);case Ce.key:if(void 0===Se.key)throw Error("Key packet is required for this signature.");return Se.key.writeForHash(this.version);case Ce.keyRevocation:return this.toSign(Ce.key,Se);case Ce.timestamp:return new Uint8Array(0);case Ce.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(Ae,Se){let Ce=0;return X(J(this.signatureData),(Ae=>{Ce+=Ae.length}),(()=>{const qe=[];return 5!==this.version||this.signatureType!==ir.signature.binary&&this.signatureType!==ir.signature.text||(Se?qe.push(new Uint8Array(6)):qe.push(Ae.writeHeader())),qe.push(new Uint8Array([this.version,255])),5===this.version&&qe.push(new Uint8Array(4)),qe.push(sr.writeNumber(Ce,4)),sr.concat(qe)}))}toHash(Ae,Se,Ce=!1){const qe=this.toSign(Ae,Se);return sr.concat([qe,this.signatureData,this.calculateTrailer(Se,Ce)])}async hash(Ae,Se,Ce,qe=!1){return Ce||(Ce=this.toHash(Ae,Se,qe)),qa.hash.digest(this.hashAlgorithm,Ce)}async verify(Ae,Se,Ce,qe=new Date,Fe=!1,$e=hr){if(!this.issuerKeyID.equals(Ae.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==Ae.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const rt=Se===ir.signature.binary||Se===ir.signature.text;if(!(this[Qp]&&!rt)){let qe,$e;if(this.hashed?$e=await this.hashed:(qe=this.toHash(Se,Ce,Fe),$e=await this.hash(Se,Ce,qe)),$e=await ie($e),this.signedHashValue[0]!==$e[0]||this.signedHashValue[1]!==$e[1])throw Error("Signed digest did not match");if(this.params=await this.params,this[Qp]=await qa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,Ae.publicParams,qe,$e),!this[Qp])throw Error("Signature verification failed")}const it=sr.normalizeDate(qe);if(it&&this.created>it)throw Error("Signature creation time is in the future");if(it&&it>=this.getExpirationTime())throw Error("Signature is expired");if($e.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+ir.read(ir.hash,this.hashAlgorithm).toUpperCase());if($e.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[ir.signature.binary,ir.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+ir.read(ir.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:Ae,critical:Se})=>{if(Se&&$e.knownNotations.indexOf(Ae)<0)throw Error("Unknown critical notation: "+Ae)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(Ae=new Date){const Se=sr.normalizeDate(Ae);return null!==Se&&!(this.created<=Se&&Se<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function Eu(Ae,Se,Ce){const qe=[];return qe.push(Pn(Ce.length+1)),qe.push(new Uint8Array([(Se?128:0)|Ae])),qe.push(Ce),sr.concat(qe)}class Pu{static get tag(){return ir.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(Ae){let Se=0;if(this.version=Ae[Se++],3!==this.version)throw new Un(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=Ae[Se++],this.hashAlgorithm=Ae[Se++],this.publicKeyAlgorithm=Ae[Se++],this.issuerKeyID=new Ke,this.issuerKeyID.read(Ae.subarray(Se,Se+8)),Se+=8,this.flags=Ae[Se++],this}write(){const Ae=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),Se=new Uint8Array([this.flags]);return sr.concatUint8Array([Ae,this.issuerKeyID.write(),Se])}calculateTrailer(...Ae){return ae((async()=>Su.prototype.calculateTrailer.apply(await this.correspondingSig,Ae)))}async verify(){const Ae=await this.correspondingSig;if(!Ae||Ae.constructor.tag!==ir.packet.signature)throw Error("Corresponding signature packet missing");if(Ae.signatureType!==this.signatureType||Ae.hashAlgorithm!==this.hashAlgorithm||Ae.publicKeyAlgorithm!==this.publicKeyAlgorithm||!Ae.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return Ae.hashed=this.hashed,Ae.verify.apply(Ae,arguments)}}function xu(Ae,Se){if(!Se[Ae]){let Ce;try{Ce=ir.read(ir.packet,Ae)}catch(Se){throw new Un("Unknown packet type with tag: "+Ae)}throw Error("Packet not allowed in this context: "+Ce)}return new Se[Ae]}Pu.prototype.hash=Su.prototype.hash,Pu.prototype.toHash=Su.prototype.toHash,Pu.prototype.toSign=Su.prototype.toSign;class Mu extends Array{static async fromBinary(Ae,Se,Ce=hr){const qe=new Mu;return await qe.read(Ae,Se,Ce),qe}async read(Ae,Se,Ce=hr){Ce.additionalAllowedPackets.length&&(Se={...Se,...sr.constructAllowedPackets(Ce.additionalAllowedPackets)}),this.stream=Y(Ae,(async(Ae,qe)=>{const Fe=G(qe);try{for(;;){await Fe.ready;if(await Dn(Ae,(async Ae=>{try{if(Ae.tag===ir.packet.marker||Ae.tag===ir.packet.trust)return;const qe=xu(Ae.tag,Se);qe.packets=new Mu,qe.fromStream=sr.isStream(Ae.packet),await qe.read(Ae.packet,Ce),await Fe.write(qe)}catch(Se){const qe=!Ce.ignoreUnsupportedPackets&&Se instanceof Un,$e=!(Ce.ignoreMalformedPackets||Se instanceof Un);if(qe||$e||Cn(Ae.tag))await Fe.abort(Se);else{const Se=new Rn(Ae.tag,Ae.packet);await Fe.write(Se)}sr.printDebugError(Se)}})))return await Fe.ready,void await Fe.close()}}catch(Ae){await Fe.abort(Ae)}}));const qe=H(this.stream);for(;;){const{done:Ae,value:Se}=await qe.read();if(Ae?this.stream=null:this.push(Se),Ae||Cn(Se.constructor.tag))break}qe.releaseLock()}write(){const Ae=[];for(let Se=0;Se<this.length;Se++){const Ce=this[Se]instanceof Rn?this[Se].tag:this[Se].constructor.tag,qe=this[Se].write();if(sr.isStream(qe)&&Cn(this[Se].constructor.tag)){let Se=[],Fe=0;const $e=512;Ae.push(Mn(Ce)),Ae.push(X(qe,(Ae=>{if(Se.push(Ae),Fe+=Ae.length,Fe>=$e){const Ae=Math.min(Math.log(Fe)/Math.LN2|0,30),Ce=2**Ae,qe=sr.concat([xn(Ae)].concat(Se));return Se=[qe.subarray(1+Ce)],Fe=Se[0].length,qe.subarray(0,1+Ce)}}),(()=>sr.concat([Pn(Fe)].concat(Se)))))}else{if(sr.isStream(qe)){let Se=0;Ae.push(X(J(qe),(Ae=>{Se+=Ae.length}),(()=>Kn(Ce,Se))))}else Ae.push(Kn(Ce,qe.length));Ae.push(qe)}}return sr.concat(Ae)}filterByTag(...Ae){const Se=new Mu,r=Ae=>Se=>Ae===Se;for(let Ce=0;Ce<this.length;Ce++)Ae.some(r(this[Ce].constructor.tag))&&Se.push(this[Ce]);return Se}findPacket(Ae){return this.find((Se=>Se.constructor.tag===Ae))}indexOfTag(...Ae){const Se=[],Ce=this,i=Ae=>Se=>Ae===Se;for(let qe=0;qe<this.length;qe++)Ae.some(i(Ce[qe].constructor.tag))&&Se.push(qe);return Se}}const Xp=sr.constructAllowedPackets([_u,Pu,Su]);class Cu{static get tag(){return ir.packet.compressedData}constructor(Ae=hr){this.packets=null,this.algorithm=Ae.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=Ae.deflateLevel}async read(Ae,Se=hr){await Q(Ae,(async Ae=>{this.algorithm=await Ae.readByte(),this.compressed=Ae.remainder(),await this.decompress(Se)}))}write(){return null===this.compressed&&this.compress(),sr.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(Ae=hr){const Se=ir.read(ir.compression,this.algorithm),Ce=ry[Se];if(!Ce)throw Error(Se+" decompression not supported");this.packets=await Mu.fromBinary(Ce(this.compressed),Xp,Ae)}compress(){const Ae=ir.read(ir.compression,this.algorithm),Se=ty[Ae];if(!Se)throw Error(Ae+" compression not supported");this.compressed=Se(this.packets.write(),this.deflateLevel)}}const ey=sr.getNodeZlib();function Uu(Ae){return Ae}function Ru(Ae,Se,Ce={}){return function(qe){return!sr.isStream(qe)||_(qe)?ae((()=>ie(qe).then((Se=>new Promise(((qe,Fe)=>{Ae(Se,Ce,((Ae,Se)=>{if(Ae)return Fe(Ae);qe(Se)}))})))))):Ht(Wt(qe).pipe(Se(Ce)))}}function Iu(Ae,Se={}){return function(Ce){const qe=new Ae(Se);return X(Ce,(Ae=>{if(Ae.length)return qe.push(Ae,Ya),qe.result}),(()=>{if(Ae===Yo)return qe.push([],Ja),qe.result}))}}function Bu(Ae){return function(Se){return ae((async()=>Ae(await ie(Se))))}}const ty=ey?{zip:(Ae,Se)=>Ru(ey.deflateRaw,ey.createDeflateRaw,{level:Se})(Ae),zlib:(Ae,Se)=>Ru(ey.deflate,ey.createDeflate,{level:Se})(Ae)}:{zip:(Ae,Se)=>Iu(Yo,{raw:!0,level:Se})(Ae),zlib:(Ae,Se)=>Iu(Yo,{level:Se})(Ae)},ry=ey?{uncompressed:Uu,zip:Ru(ey.inflateRaw,ey.createInflateRaw),zlib:Ru(ey.inflate,ey.createInflate),bzip2:Bu(vu)}:{uncompressed:Uu,zip:Iu(au,{raw:!0}),zlib:Iu(au),bzip2:Bu(vu)},iy=sr.constructAllowedPackets([_u,Cu,Pu,Su]);class Fu{static get tag(){return ir.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(Ae){await Q(Ae,(async Ae=>{const Se=await Ae.readByte();if(1!==Se)throw new Un(`Version ${Se} of the SEIP packet is unsupported.`);this.encrypted=Ae.remainder()}))}write(){return sr.concat([new Uint8Array([1]),this.encrypted])}async encrypt(Ae,Se,Ce=hr){const{blockSize:qe}=qa.getCipher(Ae);let Fe=this.packets.write();_(Fe)&&(Fe=await ie(Fe));const $e=await qa.getPrefixRandom(Ae),rt=new Uint8Array([211,20]),it=sr.concat([$e,Fe,rt]),nt=await qa.hash.sha1(ee(it)),st=sr.concat([it,nt]);return this.encrypted=await qa.mode.cfb.encrypt(Ae,Se,st,new Uint8Array(qe),Ce),!0}async decrypt(Ae,Se,Ce=hr){const{blockSize:qe}=qa.getCipher(Ae);let Fe=J(this.encrypted);_(Fe)&&(Fe=await ie(Fe));const $e=await qa.mode.cfb.decrypt(Ae,Se,Fe,new Uint8Array(qe)),rt=re(ee($e),-20),it=re($e,0,-20),nt=Promise.all([ie(await qa.hash.sha1(ee(it))),ie(rt)]).then((([Ae,Se])=>{if(!sr.equalsUint8Array(Ae,Se))throw Error("Modification detected.");return new Uint8Array})),st=re(it,qe+2);let ut=re(st,0,-2);return ut=W([ut,ae((()=>nt))]),sr.isStream(Fe)&&Ce.allowUnauthenticatedStream||(ut=await ie(ut)),this.packets=await Mu.fromBinary(ut,iy,Ce),!0}}const sy=sr.constructAllowedPackets([_u,Cu,Pu,Su]);class Lu{static get tag(){return ir.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=ir.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(Ae){await Q(Ae,(async Ae=>{const Se=await Ae.readByte();if(1!==Se)throw new Un(`Version ${Se} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await Ae.readByte(),this.aeadAlgorithm=await Ae.readByte(),this.chunkSizeByte=await Ae.readByte();const Ce=qa.getAEADMode(this.aeadAlgorithm);this.iv=await Ae.readBytes(Ce.ivLength),this.encrypted=Ae.remainder()}))}write(){return sr.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(Ae,Se,Ce=hr){this.packets=await Mu.fromBinary(await this.crypt("decrypt",Se,J(this.encrypted)),sy,Ce)}async encrypt(Ae,Se,Ce=hr){this.cipherAlgorithm=Ae;const{ivLength:qe}=qa.getAEADMode(this.aeadAlgorithm);this.iv=qa.random.getRandomBytes(qe),this.chunkSizeByte=Ce.aeadChunkSizeByte;const Fe=this.packets.write();this.encrypted=await this.crypt("encrypt",Se,Fe)}async crypt(Ae,Se,Ce){const qe=qa.getAEADMode(this.aeadAlgorithm),Fe=await qe(this.cipherAlgorithm,Se),$e="decrypt"===Ae?qe.tagLength:0,rt="encrypt"===Ae?qe.tagLength:0,it=2**(this.chunkSizeByte+6)+$e,nt=new ArrayBuffer(21),st=new Uint8Array(nt,0,13),ut=new Uint8Array(nt),ht=new DataView(nt),ft=new Uint8Array(nt,5,8);st.set([192|Lu.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let yt=0,mt=Promise.resolve(),vt=0,_t=0;const Ct=this.iv;return Y(Ce,(async(Se,Ce)=>{if("array"!==sr.isStream(Se)){const Ae=new er({},{highWaterMark:sr.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:Ae=>Ae.length});V(Ae.readable,Ce),Ce=Ae.writable}const nt=H(Se),Rt=G(Ce);try{for(;;){let Se=await nt.readBytes(it+$e)||new Uint8Array;const Ce=Se.subarray(Se.length-$e);let Ut,It;if(Se=Se.subarray(0,Se.length-$e),!yt||Se.length?(nt.unshift(Ce),Ut=Fe[Ae](Se,qe.getNonce(Ct,ft),st),_t+=Se.length-$e+rt):(ht.setInt32(17,vt),Ut=Fe[Ae](Ce,qe.getNonce(Ct,ft),ut),_t+=rt,It=!0),vt+=Se.length-$e,mt=mt.then((()=>Ut)).then((async Ae=>{await Rt.ready,await Rt.write(Ae),_t-=Ae.length})).catch((Ae=>Rt.abort(Ae))),(It||_t>Rt.desiredSize)&&await mt,It){await Rt.close();break}ht.setInt32(9,++yt)}}catch(Ae){await Rt.abort(Ae)}}))}}class Nu{static get tag(){return ir.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new Ke,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(Ae){let Se=0;if(this.version=Ae[Se++],3!==this.version)throw new Un(`Version ${this.version} of the PKESK packet is unsupported.`);Se+=this.publicKeyID.read(Ae.subarray(Se)),this.publicKeyAlgorithm=Ae[Se++],this.encrypted=qa.parseEncSessionKeyParams(this.publicKeyAlgorithm,Ae.subarray(Se),this.version),this.publicKeyAlgorithm===ir.publicKey.x25519&&(this.sessionKeyAlgorithm=ir.write(ir.symmetric,this.encrypted.C.algorithm))}write(){const Ae=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),qa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return sr.concatUint8Array(Ae)}async encrypt(Ae){const Se=ir.write(ir.publicKey,this.publicKeyAlgorithm),Ce=ju(this.version,Se,this.sessionKeyAlgorithm,this.sessionKey);this.encrypted=await qa.publicKeyEncrypt(Se,this.sessionKeyAlgorithm,Ae.publicParams,Ce,Ae.getFingerprintBytes())}async decrypt(Ae,Se){if(this.publicKeyAlgorithm!==Ae.algorithm)throw Error("Decryption error");const Ce=Se?ju(this.version,this.publicKeyAlgorithm,Se.sessionKeyAlgorithm,Se.sessionKey):null,qe=await qa.publicKeyDecrypt(this.publicKeyAlgorithm,Ae.publicParams,Ae.privateParams,this.encrypted,Ae.getFingerprintBytes(),Ce),{sessionKey:Fe,sessionKeyAlgorithm:$e}=function(Ae,Se,Ce,qe){switch(Se){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:case ir.publicKey.elgamal:case ir.publicKey.ecdh:{const Ae=Ce.subarray(0,Ce.length-2),Se=Ce.subarray(Ce.length-2),Fe=sr.writeChecksum(Ae.subarray(Ae.length%8)),$e=Fe[0]===Se[0]&Fe[1]===Se[1],rt={sessionKeyAlgorithm:Ae[0],sessionKey:Ae.subarray(1)};if(qe){const Ae=$e&rt.sessionKeyAlgorithm===qe.sessionKeyAlgorithm&rt.sessionKey.length===qe.sessionKey.length;return{sessionKey:sr.selectUint8Array(Ae,rt.sessionKey,qe.sessionKey),sessionKeyAlgorithm:sr.selectUint8(Ae,rt.sessionKeyAlgorithm,qe.sessionKeyAlgorithm)}}if($e&&ir.read(ir.symmetric,rt.sessionKeyAlgorithm))return rt;throw Error("Decryption error")}case ir.publicKey.x25519:return{sessionKey:Ce};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,qe,Se);this.publicKeyAlgorithm!==ir.publicKey.x25519&&(this.sessionKeyAlgorithm=$e),this.sessionKey=Fe}}function ju(Ae,Se,Ce,qe){switch(Se){case ir.publicKey.rsaEncrypt:case ir.publicKey.rsaEncryptSign:case ir.publicKey.elgamal:case ir.publicKey.ecdh:return sr.concatUint8Array([new Uint8Array([Ce]),qe,sr.writeChecksum(qe.subarray(qe.length%8))]);case ir.publicKey.x25519:return qe;default:throw Error("Unsupported public key algorithm")}}class Wu{constructor(Ae=hr){this.algorithm=ir.hash.sha256,this.type="iterated",this.c=Ae.s2kIterationCountByte,this.salt=null}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(Ae){let Se=0;try{this.type=ir.read(ir.s2k,Ae[Se++])}catch(Ae){throw new Un("Unknown S2K type.")}switch(this.algorithm=Ae[Se++],this.type){case"simple":break;case"salted":this.salt=Ae.subarray(Se,Se+8),Se+=8;break;case"iterated":this.salt=Ae.subarray(Se,Se+8),Se+=8,this.c=Ae[Se++];break;case"gnu":if("GNU"!==sr.uint8ArrayToString(Ae.subarray(Se,Se+3)))throw new Un("Unknown s2k type.");Se+=3;if(1001!==1e3+Ae[Se++])throw new Un("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new Un("Unknown s2k type.")}return Se}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...sr.stringToUint8Array("GNU"),1]);const Ae=[new Uint8Array([ir.write(ir.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":Ae.push(this.salt);break;case"iterated":Ae.push(this.salt),Ae.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return sr.concatUint8Array(Ae)}async produceKey(Ae,Se){Ae=sr.encodeUTF8(Ae);const Ce=[];let qe=0,Fe=0;for(;qe<Se;){let Se;switch(this.type){case"simple":Se=sr.concatUint8Array([new Uint8Array(Fe),Ae]);break;case"salted":Se=sr.concatUint8Array([new Uint8Array(Fe),this.salt,Ae]);break;case"iterated":{const Ce=sr.concatUint8Array([this.salt,Ae]);let qe=Ce.length;const $e=Math.max(this.getCount(),qe);Se=new Uint8Array(Fe+$e),Se.set(Ce,Fe);for(let Ae=Fe+qe;Ae<$e;Ae+=qe,qe*=2)Se.copyWithin(Ae,Fe,Ae);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const $e=await qa.hash.digest(this.algorithm,Se);Ce.push($e),qe+=$e.length,Fe++}return sr.concatUint8Array(Ce).subarray(0,Se)}}class Hu{static get tag(){return ir.packet.symEncryptedSessionKey}constructor(Ae=hr){this.version=Ae.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=ir.symmetric.aes256,this.aeadAlgorithm=ir.write(ir.aead,Ae.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(Ae){let Se=0;if(this.version=Ae[Se++],4!==this.version&&5!==this.version)throw new Un(`Version ${this.version} of the SKESK packet is unsupported.`);const Ce=Ae[Se++];if(5===this.version&&(this.aeadAlgorithm=Ae[Se++]),this.s2k=new Wu,Se+=this.s2k.read(Ae.subarray(Se,Ae.length)),5===this.version){const Ce=qa.getAEADMode(this.aeadAlgorithm);this.iv=Ae.subarray(Se,Se+=Ce.ivLength)}5===this.version||Se<Ae.length?(this.encrypted=Ae.subarray(Se,Ae.length),this.sessionKeyEncryptionAlgorithm=Ce):this.sessionKeyAlgorithm=Ce}write(){const Ae=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let Se;return 5===this.version?Se=sr.concatUint8Array([new Uint8Array([this.version,Ae,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(Se=sr.concatUint8Array([new Uint8Array([this.version,Ae]),this.s2k.write()]),null!==this.encrypted&&(Se=sr.concatUint8Array([Se,this.encrypted]))),Se}async decrypt(Ae){const Se=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:Ce,keySize:qe}=qa.getCipher(Se),Fe=await this.s2k.produceKey(Ae,qe);if(5===this.version){const Ae=qa.getAEADMode(this.aeadAlgorithm),Ce=new Uint8Array([192|Hu.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),qe=await Ae(Se,Fe);this.sessionKey=await qe.decrypt(this.encrypted,this.iv,Ce)}else if(null!==this.encrypted){const Ae=await qa.mode.cfb.decrypt(Se,Fe,this.encrypted,new Uint8Array(Ce));this.sessionKeyAlgorithm=ir.write(ir.symmetric,Ae[0]),this.sessionKey=Ae.subarray(1,Ae.length)}else this.sessionKey=Fe}async encrypt(Ae,Se=hr){const Ce=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=Ce,this.s2k=new Wu(Se),this.s2k.salt=qa.random.getRandomBytes(8);const{blockSize:qe,keySize:Fe}=qa.getCipher(Ce),$e=await this.s2k.produceKey(Ae,Fe);if(null===this.sessionKey&&(this.sessionKey=qa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const Ae=qa.getAEADMode(this.aeadAlgorithm);this.iv=qa.random.getRandomBytes(Ae.ivLength);const Se=new Uint8Array([192|Hu.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),qe=await Ae(Ce,$e);this.encrypted=await qe.encrypt(this.sessionKey,this.iv,Se)}else{const Ae=sr.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await qa.mode.cfb.encrypt(Ce,$e,Ae,new Uint8Array(qe),Se)}}}class Gu{static get tag(){return ir.packet.publicKey}constructor(Ae=new Date,Se=hr){this.version=Se.v5Keys?5:4,this.created=sr.normalizeDate(Ae),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(Ae){const Se=new Gu,{version:Ce,created:qe,algorithm:Fe,publicParams:$e,keyID:rt,fingerprint:it}=Ae;return Se.version=Ce,Se.created=qe,Se.algorithm=Fe,Se.publicParams=$e,Se.keyID=rt,Se.fingerprint=it,Se}async read(Ae){let Se=0;if(this.version=Ae[Se++],4===this.version||5===this.version){this.created=sr.readDate(Ae.subarray(Se,Se+4)),Se+=4,this.algorithm=Ae[Se++],5===this.version&&(Se+=4);const{read:Ce,publicParams:qe}=qa.parsePublicKeyParams(this.algorithm,Ae.subarray(Se));return this.publicParams=qe,Se+=Ce,await this.computeFingerprintAndKeyID(),Se}throw new Un(`Version ${this.version} of the key packet is unsupported.`)}write(){const Ae=[];Ae.push(new Uint8Array([this.version])),Ae.push(sr.writeDate(this.created)),Ae.push(new Uint8Array([this.algorithm]));const Se=qa.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&Ae.push(sr.writeNumber(Se.length,4)),Ae.push(Se),sr.concatUint8Array(Ae)}writeForHash(Ae){const Se=this.writePublicKey();return 5===Ae?sr.concatUint8Array([new Uint8Array([154]),sr.writeNumber(Se.length,4),Se]):sr.concatUint8Array([new Uint8Array([153]),sr.writeNumber(Se.length,2),Se])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Ke,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const Ae=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await qa.hash.sha256(Ae);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await qa.hash.sha1(Ae)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return sr.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(Ae){return this.version===Ae.version&&sr.equalsUint8Array(this.writePublicKey(),Ae.writePublicKey())}getAlgorithmInfo(){const Ae={};Ae.algorithm=ir.read(ir.publicKey,this.algorithm);const Se=this.publicParams.n||this.publicParams.p;return Se?Ae.bits=sr.uint8ArrayBitLength(Se):this.publicParams.oid&&(Ae.curve=this.publicParams.oid.getName()),Ae}}Gu.prototype.readPublicKey=Gu.prototype.read,Gu.prototype.writePublicKey=Gu.prototype.write;const oy=sr.constructAllowedPackets([_u,Cu,Pu,Su]);class $u{static get tag(){return ir.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(Ae){this.encrypted=Ae}write(){return this.encrypted}async decrypt(Ae,Se,Ce=hr){if(!Ce.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:qe}=qa.getCipher(Ae),Fe=await ie(J(this.encrypted)),$e=await qa.mode.cfb.decrypt(Ae,Se,Fe.subarray(qe+2),Fe.subarray(2,qe+2));this.packets=await Mu.fromBinary($e,oy,Ce)}async encrypt(Ae,Se,Ce=hr){const qe=this.packets.write(),{blockSize:Fe}=qa.getCipher(Ae),$e=await qa.getPrefixRandom(Ae),rt=await qa.mode.cfb.encrypt(Ae,Se,$e,new Uint8Array(Fe),Ce),it=await qa.mode.cfb.encrypt(Ae,Se,qe,rt.subarray(2),Ce);this.encrypted=sr.concat([rt,it])}}class Zu extends Gu{static get tag(){return ir.packet.publicSubkey}constructor(Ae,Se){super(Ae,Se)}static fromSecretSubkeyPacket(Ae){const Se=new Zu,{version:Ce,created:qe,algorithm:Fe,publicParams:$e,keyID:rt,fingerprint:it}=Ae;return Se.version=Ce,Se.created=qe,Se.algorithm=Fe,Se.publicParams=$e,Se.keyID=rt,Se.fingerprint=it,Se}}class Xu{static get tag(){return ir.packet.userAttribute}constructor(){this.attributes=[]}read(Ae){let Se=0;for(;Se<Ae.length;){const Ce=En(Ae.subarray(Se,Ae.length));Se+=Ce.offset,this.attributes.push(sr.uint8ArrayToString(Ae.subarray(Se,Se+Ce.len))),Se+=Ce.len}}write(){const Ae=[];for(let Se=0;Se<this.attributes.length;Se++)Ae.push(Pn(this.attributes[Se].length)),Ae.push(sr.stringToUint8Array(this.attributes[Se]));return sr.concatUint8Array(Ae)}equals(Ae){return!!(Ae&&Ae instanceof Xu)&&this.attributes.every((function(Se,Ce){return Se===Ae.attributes[Ce]}))}}class Yu extends Gu{static get tag(){return ir.packet.secretKey}constructor(Ae=new Date,Se=hr){super(Ae,Se),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(Ae){let Se=await this.readPublicKey(Ae);const Ce=Se;this.s2kUsage=Ae[Se++],5===this.version&&Se++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){if(this.symmetric=Ae[Se++],253===this.s2kUsage&&(this.aead=Ae[Se++]),this.s2k=new Wu,Se+=this.s2k.read(Ae.subarray(Se,Ae.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.iv=Ae.subarray(Se,Se+qa.getCipher(this.symmetric).blockSize),Se+=this.iv.length)}catch(Se){if(!this.s2kUsage)throw Se;this.unparseableKeyMaterial=Ae.subarray(Ce),this.isEncrypted=!0}if(5===this.version&&(Se+=4),this.keyMaterial=Ae.subarray(Se),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const Se=this.keyMaterial.subarray(0,-2);if(!sr.equalsUint8Array(sr.writeChecksum(Se),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:Ae}=qa.parsePrivateKeyParams(this.algorithm,Se,this.publicParams);this.privateParams=Ae}catch(Ae){if(Ae instanceof Un)throw Ae;throw Error("Error reading MPIs")}}}write(){const Ae=this.writePublicKey();if(this.unparseableKeyMaterial)return sr.concatUint8Array([Ae,this.unparseableKeyMaterial]);const Se=[Ae];Se.push(new Uint8Array([this.s2kUsage]));const Ce=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(Ce.push(this.symmetric),253===this.s2kUsage&&Ce.push(this.aead),Ce.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&Ce.push(...this.iv),5===this.version&&Se.push(new Uint8Array([Ce.length])),Se.push(new Uint8Array(Ce)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=qa.serializeParams(this.algorithm,this.privateParams)),5===this.version&&Se.push(sr.writeNumber(this.keyMaterial.length,4)),Se.push(this.keyMaterial),this.s2kUsage||Se.push(sr.writeChecksum(this.keyMaterial))),sr.concatUint8Array(Se)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(Ae=hr){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=new Wu(Ae),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=ir.symmetric.aes256)}async encrypt(Ae,Se=hr){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!Ae)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=new Wu(Se),this.s2k.salt=qa.random.getRandomBytes(8);const Ce=qa.serializeParams(this.algorithm,this.privateParams);this.symmetric=ir.symmetric.aes256;const qe=await Qu(this.s2k,Ae,this.symmetric),{blockSize:Fe}=qa.getCipher(this.symmetric);if(this.iv=qa.random.getRandomBytes(Fe),Se.aeadProtect){this.s2kUsage=253,this.aead=ir.aead.eax;const Ae=qa.getAEADMode(this.aead),Se=await Ae(this.symmetric,qe);this.keyMaterial=await Se.encrypt(Ce,this.iv.subarray(0,Ae.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await qa.mode.cfb.encrypt(this.symmetric,qe,sr.concatUint8Array([Ce,await qa.hash.sha1(Ce,Se)]),this.iv,Se)}async decrypt(Ae){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let Se,Ce;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(Se=await Qu(this.s2k,Ae,this.symmetric),253===this.s2kUsage){const qe=qa.getAEADMode(this.aead),Fe=await qe(this.symmetric,Se);try{Ce=await Fe.decrypt(this.keyMaterial,this.iv.subarray(0,qe.ivLength),new Uint8Array)}catch(Ae){if("Authentication tag mismatch"===Ae.message)throw Error("Incorrect key passphrase: "+Ae.message);throw Ae}}else{const Ae=await qa.mode.cfb.decrypt(this.symmetric,Se,this.keyMaterial,this.iv);Ce=Ae.subarray(0,-20);const qe=await qa.hash.sha1(Ce);if(!sr.equalsUint8Array(qe,Ae.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:Ae}=qa.parsePrivateKeyParams(this.algorithm,Ce,this.publicParams);this.privateParams=Ae}catch(Ae){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let Ae;try{Ae=await qa.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(Se){Ae=!1}if(!Ae)throw Error("Key is invalid")}async generate(Ae,Se){const{privateParams:Ce,publicParams:qe}=await qa.generateParams(this.algorithm,Ae,Se);this.privateParams=Ce,this.publicParams=qe,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((Ae=>{this.privateParams[Ae].fill(0),delete this.privateParams[Ae]})),this.privateParams=null,this.isEncrypted=!0)}}async function Qu(Ae,Se,Ce){const{keySize:qe}=qa.getCipher(Ce);return Ae.produceKey(Se,qe)}var cy=gt((function(Ae){!function(Se){function r(Ae){function t(){return Ce<qe}function r(){return Ce}function n(Ae){Ce=Ae}function a(){Ce=0,qe=Se.length}function s(Ae,Se){return{name:Ae,tokens:Se||"",semantic:Se||"",children:[]}}function o(Ae,Se){var Ce;return null===Se?null:((Ce=s(Ae)).tokens=Se.tokens,Ce.semantic=Se.semantic,Ce.children.push(Se),Ce)}function c(Ae,Se){return null!==Se&&(Ae.tokens+=Se.tokens,Ae.semantic+=Se.semantic),Ae.children.push(Se),Ae}function u(Ae){var qe;return t()&&Ae(qe=Se[Ce])?(Ce+=1,s("token",qe)):null}function h(Ae){return function(){return o("literal",u((function(Se){return Se===Ae})))}}function d(){var Ae=arguments;return function(){var Se,Ce,qe,Fe;for(Fe=r(),Ce=s("and"),Se=0;Se<Ae.length;Se+=1){if(null===(qe=Ae[Se]()))return n(Fe),null;c(Ce,qe)}return Ce}}function f(){var Ae=arguments;return function(){var Se,Ce,qe;for(qe=r(),Se=0;Se<Ae.length;Se+=1){if(null!==(Ce=Ae[Se]()))return Ce;n(qe)}return null}}function l(Ae){return function(){var Se,Ce;return Ce=r(),null!==(Se=Ae())?Se:(n(Ce),s("opt"))}}function p(Ae){return function(){var Se=Ae();return null!==Se&&(Se.semantic=""),Se}}function y(Ae){return function(){var Se=Ae();return null!==Se&&Se.semantic.length>0&&(Se.semantic=" "),Se}}function b(Ae,Se){return function(){var Ce,qe,Fe,$e,rt;for($e=r(),Ce=s("star"),Fe=0,rt=void 0===Se?0:Se;null!==(qe=Ae());)Fe+=1,c(Ce,qe);return Fe>=rt?Ce:(n($e),null)}}function m(Ae){return Ae.charCodeAt(0)>=128}function g(){return o("cr",h("\r")())}function w(){return o("crlf",d(g,k)())}function v(){return o("dquote",h('"')())}function _(){return o("htab",h("\t")())}function k(){return o("lf",h("\n")())}function A(){return o("sp",h(" ")())}function S(){return o("vchar",u((function(Se){var Ce=Se.charCodeAt(0),qe=33<=Ce&&Ce<=126;return Ae.rfc6532&&(qe=qe||m(Se)),qe})))}function E(){return o("wsp",f(A,_)())}function P(){var Ae=o("quoted-pair",f(d(h("\\"),f(S,E)),ie)());return null===Ae?null:(Ae.semantic=Ae.semantic[1],Ae)}function x(){return o("fws",f(ae,d(l(d(b(E),p(w))),b(E,1)))())}function M(){return o("ctext",f((function(){return u((function(Se){var Ce=Se.charCodeAt(0),qe=33<=Ce&&Ce<=39||42<=Ce&&Ce<=91||93<=Ce&&Ce<=126;return Ae.rfc6532&&(qe=qe||m(Se)),qe}))}),te)())}function K(){return o("ccontent",f(M,P,C)())}function C(){return o("comment",d(h("("),b(d(l(x),K)),l(x),h(")"))())}function D(){return o("cfws",f(d(b(d(l(x),C),1),l(x)),x)())}function U(){return o("atext",u((function(Se){var Ce="a"<=Se&&Se<="z"||"A"<=Se&&Se<="Z"||"0"<=Se&&Se<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(Se)>=0;return Ae.rfc6532&&(Ce=Ce||m(Se)),Ce})))}function R(){return o("atom",d(y(l(D)),b(U,1),y(l(D)))())}function I(){var Ae,Se;return null===(Ae=o("dot-atom-text",b(U,1)()))||null!==(Se=b(d(h("."),b(U,1)))())&&c(Ae,Se),Ae}function B(){return o("dot-atom",d(p(l(D)),I,p(l(D)))())}function T(){return o("qtext",f((function(){return u((function(Se){var Ce=Se.charCodeAt(0),qe=33===Ce||35<=Ce&&Ce<=91||93<=Ce&&Ce<=126;return Ae.rfc6532&&(qe=qe||m(Se)),qe}))}),re)())}function z(){return o("qcontent",f(T,P)())}function q(){return o("quoted-string",d(p(l(D)),p(v),b(d(l(y(x)),z)),l(p(x)),p(v),p(l(D)))())}function F(){return o("word",f(R,q)())}function O(){return o("address",f(L,W)())}function L(){return o("mailbox",f(N,J)())}function N(){return o("name-addr",d(l(H),j)())}function j(){return o("angle-addr",f(d(p(l(D)),h("<"),J,h(">"),p(l(D))),se)())}function W(){return o("group",d(H,h(":"),l($),h(";"),p(l(D)))())}function H(){return o("display-name",(null!==(Ae=o("phrase",f(ne,b(F,1))()))&&(Ae.semantic=function(Ae){return Ae.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(Ae.semantic)),Ae));var Ae}function G(){return o("mailbox-list",f(d(L,b(d(h(","),L))),ue)())}function V(){return o("address-list",f(d(O,b(d(h(","),O))),he)())}function $(){return o("group-list",f(G,p(D),de)())}function Z(){return o("local-part",f(fe,B,q)())}function X(){return o("dtext",f((function(){return u((function(Se){var Ce=Se.charCodeAt(0),qe=33<=Ce&&Ce<=90||94<=Ce&&Ce<=126;return Ae.rfc6532&&(qe=qe||m(Se)),qe}))}),pe)())}function Y(){return o("domain-literal",d(p(l(D)),h("["),b(d(l(x),X)),l(x),h("]"),p(l(D)))())}function Q(){return o("domain",(Se=f(le,B,Y)(),Ae.rejectTLD&&Se&&Se.semantic&&Se.semantic.indexOf(".")<0?null:(Se&&(Se.semantic=Se.semantic.replace(/\s+/g,"")),Se)));var Se}function J(){return o("addr-spec",d(Z,h("@"),Q)())}function ee(){return Ae.strict?null:o("obs-NO-WS-CTL",u((function(Ae){var Se=Ae.charCodeAt(0);return 1<=Se&&Se<=8||11===Se||12===Se||14<=Se&&Se<=31||127===Se})))}function te(){return Ae.strict?null:o("obs-ctext",ee())}function re(){return Ae.strict?null:o("obs-qtext",ee())}function ie(){return Ae.strict?null:o("obs-qp",d(h("\\"),f(h("\0"),ee,k,g))())}function ne(){return Ae.strict?null:Ae.atInDisplayName?o("obs-phrase",d(F,b(f(F,h("."),h("@"),y(D))))()):o("obs-phrase",d(F,b(f(F,h("."),y(D))))())}function ae(){return Ae.strict?null:o("obs-FWS",b(d(p(l(w)),E),1)())}function se(){return Ae.strict?null:o("obs-angle-addr",d(p(l(D)),h("<"),oe,J,h(">"),p(l(D)))())}function oe(){return Ae.strict?null:o("obs-route",d(ce,h(":"))())}function ce(){return Ae.strict?null:o("obs-domain-list",d(b(f(p(D),h(","))),h("@"),Q,b(d(h(","),p(l(D)),l(d(h("@"),Q)))))())}function ue(){return Ae.strict?null:o("obs-mbox-list",d(b(d(p(l(D)),h(","))),L,b(d(h(","),l(d(L,p(D))))))())}function he(){return Ae.strict?null:o("obs-addr-list",d(b(d(p(l(D)),h(","))),O,b(d(h(","),l(d(O,p(D))))))())}function de(){return Ae.strict?null:o("obs-group-list",d(b(d(p(l(D)),h(",")),1),p(l(D)))())}function fe(){return Ae.strict?null:o("obs-local-part",d(F,b(d(h("."),F)))())}function le(){return Ae.strict?null:o("obs-domain",d(R,b(d(h("."),R)))())}function pe(){return Ae.strict?null:o("obs-dtext",f(ee,P)())}function ye(Ae,Se){var Ce,qe,Fe;if(null==Se)return null;for(qe=[Se];qe.length>0;){if((Fe=qe.pop()).name===Ae)return Fe;for(Ce=Fe.children.length-1;Ce>=0;Ce-=1)qe.push(Fe.children[Ce])}return null}function be(Ae,Se){var Ce,qe,Fe,$e,rt;if(null==Se)return null;for(qe=[Se],$e=[],rt={},Ce=0;Ce<Ae.length;Ce+=1)rt[Ae[Ce]]=!0;for(;qe.length>0;)if((Fe=qe.pop()).name in rt)$e.push(Fe);else for(Ce=Fe.children.length-1;Ce>=0;Ce-=1)qe.push(Fe.children[Ce]);return $e}function me(Se){var Ce,qe,Fe,$e,rt;if(null===Se)return null;for(Ce=[],qe=be(["group","mailbox"],Se),Fe=0;Fe<qe.length;Fe+=1)"group"===($e=qe[Fe]).name?Ce.push(ge($e)):"mailbox"===$e.name&&Ce.push(we($e));return rt={ast:Se,addresses:Ce},Ae.simple&&(rt=function(Ae){var Se;if(Ae&&Ae.addresses)for(Se=0;Se<Ae.addresses.length;Se+=1)delete Ae.addresses[Se].node;return Ae}(rt)),Ae.oneResult?function(Se){if(!Se)return null;if(!Ae.partial&&Se.addresses.length>1)return null;return Se.addresses&&Se.addresses[0]}(rt):Ae.simple?rt&&rt.addresses:rt}function ge(Ae){var Se,Ce=ye("display-name",Ae),qe=[],Fe=be(["mailbox"],Ae);for(Se=0;Se<Fe.length;Se+=1)qe.push(we(Fe[Se]));return{node:Ae,parts:{name:Ce},type:Ae.name,name:ve(Ce),addresses:qe}}function we(Ae){var Se=ye("display-name",Ae),Ce=ye("addr-spec",Ae),qe=function(Ae,Se){var Ce,qe,Fe,$e;if(null==Se)return null;for(qe=[Se],$e=[];qe.length>0;)for((Fe=qe.pop()).name===Ae&&$e.push(Fe),Ce=Fe.children.length-1;Ce>=0;Ce-=1)qe.push(Fe.children[Ce]);return $e}("cfws",Ae),Fe=be(["comment"],Ae),$e=ye("local-part",Ce),rt=ye("domain",Ce);return{node:Ae,parts:{name:Se,address:Ce,local:$e,domain:rt,comments:qe},type:Ae.name,name:ve(Se),address:ve(Ce),local:ve($e),domain:ve(rt),comments:_e(Fe),groupName:ve(Ae.groupName)}}function ve(Ae){return null!=Ae?Ae.semantic:null}function _e(Ae){var Se="";if(Ae)for(var Ce=0;Ce<Ae.length;Ce+=1)Se+=ve(Ae[Ce]);return Se}var Se,Ce,qe,Fe,$e;if(null===(Ae=i(Ae,{})))return null;if(Se=Ae.input,$e={address:O,"address-list":V,"angle-addr":j,from:function(){return o("from",f(G,V)())},group:W,mailbox:L,"mailbox-list":G,"reply-to":function(){return o("reply-to",V())},sender:function(){return o("sender",f(L,O)())}}[Ae.startAt]||V,!Ae.strict){if(a(),Ae.strict=!0,Fe=$e(Se),Ae.partial||!t())return me(Fe);Ae.strict=!1}return a(),Fe=$e(Se),!Ae.partial&&t()?null:me(Fe)}function i(Ae,Se){function r(Ae){return"[object String]"===Object.prototype.toString.call(Ae)}function i(Ae){return null==Ae}var Ce,qe;if(r(Ae))Ae={input:Ae};else if(!function(Ae){return Ae===Object(Ae)}(Ae))return null;if(!r(Ae.input))return null;if(!Se)return null;for(qe in Ce={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})i(Ae[qe])&&(Ae[qe]=i(Se[qe])?Ce[qe]:Se[qe]);return Ae}r.parseOneAddress=function(Ae){return r(i(Ae,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(Ae){return r(i(Ae,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(Ae){return r(i(Ae,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(Ae){return r(i(Ae,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(Ae){return r(i(Ae,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},Ae.exports=r}()}));class eh{static get tag(){return ir.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(Ae){if(sr.isString(Ae)||Ae.name&&!sr.isString(Ae.name)||Ae.email&&!sr.isEmailAddress(Ae.email)||Ae.comment&&!sr.isString(Ae.comment))throw Error("Invalid user ID format");const Se=new eh;Object.assign(Se,Ae);const Ce=[];return Se.name&&Ce.push(Se.name),Se.comment&&Ce.push(`(${Se.comment})`),Se.email&&Ce.push(`<${Se.email}>`),Se.userID=Ce.join(" "),Se}read(Ae,Se=hr){const Ce=sr.decodeUTF8(Ae);if(Ce.length>Se.maxUserIDLength)throw Error("User ID string is too long");try{const{name:Ae,address:Se,comments:qe}=cy.parseOneAddress({input:Ce,atInDisplayName:!0});this.comment=qe.replace(/^\(|\)$/g,""),this.name=Ae,this.email=Se}catch(Ae){}this.userID=Ce}write(){return sr.encodeUTF8(this.userID)}equals(Ae){return Ae&&Ae.userID===this.userID}}class th extends Yu{static get tag(){return ir.packet.secretSubkey}constructor(Ae=new Date,Se=hr){super(Ae,Se)}}const uy=sr.constructAllowedPackets([Su]);class ih{constructor(Ae){this.packets=Ae||new Mu}write(){return this.packets.write()}armor(Ae=hr){return Me(ir.armor.signature,this.write(),void 0,void 0,void 0,Ae)}getSigningKeyIDs(){return this.packets.map((Ae=>Ae.issuerKeyID))}}async function nh(Ae,Se){const Ce=new th(Ae.date,Se);return Ce.packets=null,Ce.algorithm=ir.write(ir.publicKey,Ae.algorithm),await Ce.generate(Ae.rsaBits,Ae.curve),await Ce.computeFingerprintAndKeyID(),Ce}async function ah(Ae,Se){const Ce=new Yu(Ae.date,Se);return Ce.packets=null,Ce.algorithm=ir.write(ir.publicKey,Ae.algorithm),await Ce.generate(Ae.rsaBits,Ae.curve,Ae.config),await Ce.computeFingerprintAndKeyID(),Ce}async function sh(Ae,Se,Ce,qe,Fe=new Date,$e){let rt,it;for(let nt=Ae.length-1;nt>=0;nt--)try{(!rt||Ae[nt].created>=rt.created)&&(await Ae[nt].verify(Se,Ce,qe,Fe,void 0,$e),rt=Ae[nt])}catch(Ae){it=Ae}if(!rt)throw sr.wrapError(`Could not find valid ${ir.read(ir.signature,Ce)} signature in key ${Se.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((Ae,Se,Ce)=>Se+" "+Ce.toLowerCase())),it);return rt}function oh(Ae,Se,Ce=new Date){const qe=sr.normalizeDate(Ce);if(null!==qe){const Ce=ph(Ae,Se);return!(Ae.created<=qe&&qe<Ce)}return!1}async function ch(Ae,Se,Ce,qe){const Fe={};Fe.key=Se,Fe.bind=Ae;const $e=new Su;return $e.signatureType=ir.signature.subkeyBinding,$e.publicKeyAlgorithm=Se.algorithm,$e.hashAlgorithm=await uh(null,Ae,void 0,void 0,qe),Ce.sign?($e.keyFlags=[ir.keyFlags.signData],$e.embeddedSignature=await dh(Fe,null,Ae,{signatureType:ir.signature.keyBinding},Ce.date,void 0,void 0,void 0,qe)):$e.keyFlags=[ir.keyFlags.encryptCommunication|ir.keyFlags.encryptStorage],Ce.keyExpirationTime>0&&($e.keyExpirationTime=Ce.keyExpirationTime,$e.keyNeverExpires=!1),await $e.sign(Se,Fe,Ce.date),$e}async function uh(Ae,Se,Ce=new Date,qe={},Fe){let $e=Fe.preferredHashAlgorithm,rt=$e;if(Ae){const Se=await Ae.getPrimaryUser(Ce,qe,Fe);Se.selfCertification.preferredHashAlgorithms&&([rt]=Se.selfCertification.preferredHashAlgorithms,$e=qa.hash.getHashByteLength($e)<=qa.hash.getHashByteLength(rt)?rt:$e)}switch(Object.getPrototypeOf(Se)){case Yu.prototype:case Gu.prototype:case th.prototype:case Zu.prototype:switch(Se.algorithm){case ir.publicKey.ecdh:case ir.publicKey.ecdsa:case ir.publicKey.eddsa:rt=qa.publicKey.elliptic.getPreferredHashAlgo(Se.publicParams.oid)}}return qa.hash.getHashByteLength($e)<=qa.hash.getHashByteLength(rt)?rt:$e}async function hh(Ae,Se=[],Ce=new Date,qe=[],Fe=hr){const $e={symmetric:ir.symmetric.aes128,aead:ir.aead.eax,compression:ir.compression.uncompressed}[Ae],rt={symmetric:Fe.preferredSymmetricAlgorithm,aead:Fe.preferredAEADAlgorithm,compression:Fe.preferredCompressionAlgorithm}[Ae],it={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[Ae],nt=await Promise.all(Se.map((async function(Ae,Se){const $e=(await Ae.getPrimaryUser(Ce,qe[Se],Fe)).selfCertification[it];return!!$e&&$e.indexOf(rt)>=0})));return nt.every(Boolean)?rt:$e}async function dh(Ae,Se,Ce,qe,Fe,$e,rt=[],it=!1,nt){if(Ce.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!Ce.isDecrypted())throw Error("Signing key is not decrypted.");const st=new Su;return Object.assign(st,qe),st.publicKeyAlgorithm=Ce.algorithm,st.hashAlgorithm=await uh(Se,Ce,Fe,$e,nt),st.rawNotations=rt,await st.sign(Ce,Ae,Fe,it),st}async function fh(Ae,Se,Ce,qe=new Date,Fe){(Ae=Ae[Ce])&&(Se[Ce].length?await Promise.all(Ae.map((async function(Ae){Ae.isExpired(qe)||Fe&&!await Fe(Ae)||Se[Ce].some((function(Se){return sr.equalsUint8Array(Se.writeParams(),Ae.writeParams())}))||Se[Ce].push(Ae)}))):Se[Ce]=Ae)}async function lh(Ae,Se,Ce,qe,Fe,$e,rt=new Date,it){$e=$e||Ae;const nt=[];return await Promise.all(qe.map((async function(Ae){try{Fe&&!Ae.issuerKeyID.equals(Fe.issuerKeyID)||(await Ae.verify($e,Se,Ce,it.revocationsExpire?rt:null,!1,it),nt.push(Ae.issuerKeyID))}catch(Ae){}}))),Fe?(Fe.revoked=!!nt.some((Ae=>Ae.equals(Fe.issuerKeyID)))||(Fe.revoked||!1),Fe.revoked):nt.length>0}function ph(Ae,Se){let Ce;return!1===Se.keyNeverExpires&&(Ce=Ae.created.getTime()+1e3*Se.keyExpirationTime),Ce?new Date(Ce):1/0}function yh(Ae,Se={}){switch(Ae.type=Ae.type||Se.type,Ae.curve=Ae.curve||Se.curve,Ae.rsaBits=Ae.rsaBits||Se.rsaBits,Ae.keyExpirationTime=void 0!==Ae.keyExpirationTime?Ae.keyExpirationTime:Se.keyExpirationTime,Ae.passphrase=sr.isString(Ae.passphrase)?Ae.passphrase:Se.passphrase,Ae.date=Ae.date||Se.date,Ae.sign=Ae.sign||!1,Ae.type){case"ecc":try{Ae.curve=ir.write(ir.curve,Ae.curve)}catch(Ae){throw Error("Unknown curve")}Ae.curve!==ir.curve.ed25519&&Ae.curve!==ir.curve.curve25519||(Ae.curve=Ae.sign?ir.curve.ed25519:ir.curve.curve25519),Ae.sign?Ae.algorithm=Ae.curve===ir.curve.ed25519?ir.publicKey.eddsa:ir.publicKey.ecdsa:Ae.algorithm=ir.publicKey.ecdh;break;case"rsa":Ae.algorithm=ir.publicKey.rsaEncryptSign;break;default:throw Error("Unsupported key type "+Ae.type)}return Ae}function bh(Ae,Se){const Ce=Ae.algorithm;return Ce!==ir.publicKey.rsaEncrypt&&Ce!==ir.publicKey.elgamal&&Ce!==ir.publicKey.ecdh&&(!Se.keyFlags||0!=(Se.keyFlags[0]&ir.keyFlags.signData))}function mh(Ae,Se){const Ce=Ae.algorithm;return Ce!==ir.publicKey.dsa&&Ce!==ir.publicKey.rsaSign&&Ce!==ir.publicKey.ecdsa&&Ce!==ir.publicKey.eddsa&&(!Se.keyFlags||0!=(Se.keyFlags[0]&ir.keyFlags.encryptCommunication)||0!=(Se.keyFlags[0]&ir.keyFlags.encryptStorage))}function gh(Ae,Se){return!!Se.allowInsecureDecryptionWithSigningKeys||(!Ae.keyFlags||0!=(Ae.keyFlags[0]&ir.keyFlags.encryptCommunication)||0!=(Ae.keyFlags[0]&ir.keyFlags.encryptStorage))}function wh(Ae,Se){const Ce=ir.write(ir.publicKey,Ae.algorithm),qe=Ae.getAlgorithmInfo();if(Se.rejectPublicKeyAlgorithms.has(Ce))throw Error(qe.algorithm+" keys are considered too weak.");switch(Ce){case ir.publicKey.rsaEncryptSign:case ir.publicKey.rsaSign:case ir.publicKey.rsaEncrypt:if(qe.bits<Se.minRSABits)throw Error(`RSA keys shorter than ${Se.minRSABits} bits are considered too weak.`);break;case ir.publicKey.ecdsa:case ir.publicKey.eddsa:case ir.publicKey.ecdh:if(Se.rejectCurves.has(qe.curve))throw Error(`Support for ${qe.algorithm} keys using curve ${qe.curve} is disabled.`)}}class vh{constructor(Ae,Se){this.userID=Ae.constructor.tag===ir.packet.userID?Ae:null,this.userAttribute=Ae.constructor.tag===ir.packet.userAttribute?Ae:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=Se}toPacketList(){const Ae=new Mu;return Ae.push(this.userID||this.userAttribute),Ae.push(...this.revocationSignatures),Ae.push(...this.selfCertifications),Ae.push(...this.otherCertifications),Ae}clone(){const Ae=new vh(this.userID||this.userAttribute,this.mainKey);return Ae.selfCertifications=[...this.selfCertifications],Ae.otherCertifications=[...this.otherCertifications],Ae.revocationSignatures=[...this.revocationSignatures],Ae}async certify(Ae,Se,Ce){const qe=this.mainKey.keyPacket,Fe={userID:this.userID,userAttribute:this.userAttribute,key:qe},$e=new vh(Fe.userID||Fe.userAttribute,this.mainKey);return $e.otherCertifications=await Promise.all(Ae.map((async function(Ae){if(!Ae.isPrivate())throw Error("Need private key for signing");if(Ae.hasSameFingerprintAs(qe))throw Error("The user's own key can only be used for self-certifications");const $e=await Ae.getSigningKey(void 0,Se,void 0,Ce);return dh(Fe,Ae,$e.keyPacket,{signatureType:ir.signature.certGeneric,keyFlags:[ir.keyFlags.certifyKeys|ir.keyFlags.signData]},Se,void 0,void 0,void 0,Ce)}))),await $e.update(this,Se,Ce),$e}async isRevoked(Ae,Se,Ce=new Date,qe=hr){const Fe=this.mainKey.keyPacket;return lh(Fe,ir.signature.certRevocation,{key:Fe,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,Ae,Se,Ce,qe)}async verifyCertificate(Ae,Se,Ce=new Date,qe){const Fe=this,$e=this.mainKey.keyPacket,rt={userID:this.userID,userAttribute:this.userAttribute,key:$e},{issuerKeyID:it}=Ae,nt=Se.filter((Ae=>Ae.getKeys(it).length>0));return 0===nt.length?null:(await Promise.all(nt.map((async Se=>{const $e=await Se.getSigningKey(it,Ae.created,void 0,qe);if(Ae.revoked||await Fe.isRevoked(Ae,$e.keyPacket,Ce,qe))throw Error("User certificate is revoked");try{await Ae.verify($e.keyPacket,ir.signature.certGeneric,rt,Ce,void 0,qe)}catch(Ae){throw sr.wrapError("User certificate is invalid",Ae)}}))),!0)}async verifyAllCertifications(Ae,Se=new Date,Ce){const qe=this,Fe=this.selfCertifications.concat(this.otherCertifications);return Promise.all(Fe.map((async Fe=>({keyID:Fe.issuerKeyID,valid:await qe.verifyCertificate(Fe,Ae,Se,Ce).catch((()=>!1))}))))}async verify(Ae=new Date,Se){if(!this.selfCertifications.length)throw Error("No self-certifications found");const Ce=this,qe=this.mainKey.keyPacket,Fe={userID:this.userID,userAttribute:this.userAttribute,key:qe};let $e;for(let rt=this.selfCertifications.length-1;rt>=0;rt--)try{const $e=this.selfCertifications[rt];if($e.revoked||await Ce.isRevoked($e,void 0,Ae,Se))throw Error("Self-certification is revoked");try{await $e.verify(qe,ir.signature.certGeneric,Fe,Ae,void 0,Se)}catch(Ae){throw sr.wrapError("Self-certification is invalid",Ae)}return!0}catch(Ae){$e=Ae}throw $e}async update(Ae,Se,Ce){const qe=this.mainKey.keyPacket,Fe={userID:this.userID,userAttribute:this.userAttribute,key:qe};await fh(Ae,this,"selfCertifications",Se,(async function(Ae){try{return await Ae.verify(qe,ir.signature.certGeneric,Fe,Se,!1,Ce),!0}catch(Ae){return!1}})),await fh(Ae,this,"otherCertifications",Se),await fh(Ae,this,"revocationSignatures",Se,(function(Ae){return lh(qe,ir.signature.certRevocation,Fe,[Ae],void 0,void 0,Se,Ce)}))}async revoke(Ae,{flag:Se=ir.reasonForRevocation.noReason,string:Ce=""}={},qe=new Date,Fe=hr){const $e={userID:this.userID,userAttribute:this.userAttribute,key:Ae},rt=new vh($e.userID||$e.userAttribute,this.mainKey);return rt.revocationSignatures.push(await dh($e,null,Ae,{signatureType:ir.signature.certRevocation,reasonForRevocationFlag:ir.write(ir.reasonForRevocation,Se),reasonForRevocationString:Ce},qe,void 0,void 0,!1,Fe)),await rt.update(this),rt}}class _h{constructor(Ae,Se){this.keyPacket=Ae,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=Se}toPacketList(){const Ae=new Mu;return Ae.push(this.keyPacket),Ae.push(...this.revocationSignatures),Ae.push(...this.bindingSignatures),Ae}clone(){const Ae=new _h(this.keyPacket,this.mainKey);return Ae.bindingSignatures=[...this.bindingSignatures],Ae.revocationSignatures=[...this.revocationSignatures],Ae}async isRevoked(Ae,Se,Ce=new Date,qe=hr){const Fe=this.mainKey.keyPacket;return lh(Fe,ir.signature.subkeyRevocation,{key:Fe,bind:this.keyPacket},this.revocationSignatures,Ae,Se,Ce,qe)}async verify(Ae=new Date,Se=hr){const Ce=this.mainKey.keyPacket,qe={key:Ce,bind:this.keyPacket},Fe=await sh(this.bindingSignatures,Ce,ir.signature.subkeyBinding,qe,Ae,Se);if(Fe.revoked||await this.isRevoked(Fe,null,Ae,Se))throw Error("Subkey is revoked");if(oh(this.keyPacket,Fe,Ae))throw Error("Subkey is expired");return Fe}async getExpirationTime(Ae=new Date,Se=hr){const Ce=this.mainKey.keyPacket,qe={key:Ce,bind:this.keyPacket};let Fe;try{Fe=await sh(this.bindingSignatures,Ce,ir.signature.subkeyBinding,qe,Ae,Se)}catch(Ae){return null}const $e=ph(this.keyPacket,Fe),rt=Fe.getExpirationTime();return $e<rt?$e:rt}async update(Ae,Se=new Date,Ce=hr){const qe=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(Ae))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===ir.packet.publicSubkey&&Ae.keyPacket.constructor.tag===ir.packet.secretSubkey&&(this.keyPacket=Ae.keyPacket);const Fe=this,$e={key:qe,bind:Fe.keyPacket};await fh(Ae,this,"bindingSignatures",Se,(async function(Ae){for(let Se=0;Se<Fe.bindingSignatures.length;Se++)if(Fe.bindingSignatures[Se].issuerKeyID.equals(Ae.issuerKeyID))return Ae.created>Fe.bindingSignatures[Se].created&&(Fe.bindingSignatures[Se]=Ae),!1;try{return await Ae.verify(qe,ir.signature.subkeyBinding,$e,Se,void 0,Ce),!0}catch(Ae){return!1}})),await fh(Ae,this,"revocationSignatures",Se,(function(Ae){return lh(qe,ir.signature.subkeyRevocation,$e,[Ae],void 0,void 0,Se,Ce)}))}async revoke(Ae,{flag:Se=ir.reasonForRevocation.noReason,string:Ce=""}={},qe=new Date,Fe=hr){const $e={key:Ae,bind:this.keyPacket},rt=new _h(this.keyPacket,this.mainKey);return rt.revocationSignatures.push(await dh($e,null,Ae,{signatureType:ir.signature.subkeyRevocation,reasonForRevocationFlag:ir.write(ir.reasonForRevocation,Se),reasonForRevocationString:Ce},qe,void 0,void 0,!1,Fe)),await rt.update(this),rt}hasSameFingerprintAs(Ae){return this.keyPacket.hasSameFingerprintAs(Ae.keyPacket||Ae)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((Ae=>{_h.prototype[Ae]=function(){return this.keyPacket[Ae]()}}));const hy=sr.constructAllowedPackets([Su]),fy=new Set([ir.packet.publicKey,ir.packet.privateKey]),py=new Set([ir.packet.publicKey,ir.packet.privateKey,ir.packet.publicSubkey,ir.packet.privateSubkey]);class Eh{packetListToStructure(Ae,Se=new Set){let Ce,qe,Fe,$e;for(const rt of Ae){if(rt instanceof Rn){py.has(rt.tag)&&!$e&&($e=fy.has(rt.tag)?fy:py);continue}const Ae=rt.constructor.tag;if($e){if(!$e.has(Ae))continue;$e=null}if(Se.has(Ae))throw Error("Unexpected packet type: "+Ae);switch(Ae){case ir.packet.publicKey:case ir.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=rt,qe=this.getKeyID(),!qe)throw Error("Missing Key ID");break;case ir.packet.userID:case ir.packet.userAttribute:Ce=new vh(rt,this),this.users.push(Ce);break;case ir.packet.publicSubkey:case ir.packet.secretSubkey:Ce=null,Fe=new _h(rt,this),this.subkeys.push(Fe);break;case ir.packet.signature:switch(rt.signatureType){case ir.signature.certGeneric:case ir.signature.certPersona:case ir.signature.certCasual:case ir.signature.certPositive:if(!Ce){sr.printDebug("Dropping certification signatures without preceding user packet");continue}rt.issuerKeyID.equals(qe)?Ce.selfCertifications.push(rt):Ce.otherCertifications.push(rt);break;case ir.signature.certRevocation:Ce?Ce.revocationSignatures.push(rt):this.directSignatures.push(rt);break;case ir.signature.key:this.directSignatures.push(rt);break;case ir.signature.subkeyBinding:if(!Fe){sr.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}Fe.bindingSignatures.push(rt);break;case ir.signature.keyRevocation:this.revocationSignatures.push(rt);break;case ir.signature.subkeyRevocation:if(!Fe){sr.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}Fe.revocationSignatures.push(rt)}}}}toPacketList(){const Ae=new Mu;return Ae.push(this.keyPacket),Ae.push(...this.revocationSignatures),Ae.push(...this.directSignatures),this.users.map((Se=>Ae.push(...Se.toPacketList()))),this.subkeys.map((Se=>Ae.push(...Se.toPacketList()))),Ae}clone(Ae=!1){const Se=new this.constructor(this.toPacketList());return Ae&&Se.getKeys().forEach((Ae=>{if(Ae.keyPacket=Object.create(Object.getPrototypeOf(Ae.keyPacket),Object.getOwnPropertyDescriptors(Ae.keyPacket)),!Ae.keyPacket.isDecrypted())return;const Se={};Object.keys(Ae.keyPacket.privateParams).forEach((Ce=>{Se[Ce]=new Uint8Array(Ae.keyPacket.privateParams[Ce])})),Ae.keyPacket.privateParams=Se})),Se}getSubkeys(Ae=null){return this.subkeys.filter((Se=>!Ae||Se.getKeyID().equals(Ae,!0)))}getKeys(Ae=null){const Se=[];return Ae&&!this.getKeyID().equals(Ae,!0)||Se.push(this),Se.concat(this.getSubkeys(Ae))}getKeyIDs(){return this.getKeys().map((Ae=>Ae.getKeyID()))}getUserIDs(){return this.users.map((Ae=>Ae.userID?Ae.userID.userID:null)).filter((Ae=>null!==Ae))}write(){return this.toPacketList().write()}async getSigningKey(Ae=null,Se=new Date,Ce={},qe=hr){await this.verifyPrimaryKey(Se,Ce,qe);const Fe=this.keyPacket,$e=this.subkeys.slice().sort(((Ae,Se)=>Se.keyPacket.created-Ae.keyPacket.created));let rt;for(const Ce of $e)if(!Ae||Ce.getKeyID().equals(Ae))try{await Ce.verify(Se,qe);const Ae={key:Fe,bind:Ce.keyPacket},$e=await sh(Ce.bindingSignatures,Fe,ir.signature.subkeyBinding,Ae,Se,qe);if(!bh(Ce.keyPacket,$e))continue;if(!$e.embeddedSignature)throw Error("Missing embedded signature");return await sh([$e.embeddedSignature],Ce.keyPacket,ir.signature.keyBinding,Ae,Se,qe),wh(Ce.keyPacket,qe),Ce}catch(Ae){rt=Ae}try{const $e=await this.getPrimaryUser(Se,Ce,qe);if((!Ae||Fe.getKeyID().equals(Ae))&&bh(Fe,$e.selfCertification))return wh(Fe,qe),this}catch(Ae){rt=Ae}throw sr.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),rt)}async getEncryptionKey(Ae,Se=new Date,Ce={},qe=hr){await this.verifyPrimaryKey(Se,Ce,qe);const Fe=this.keyPacket,$e=this.subkeys.slice().sort(((Ae,Se)=>Se.keyPacket.created-Ae.keyPacket.created));let rt;for(const Ce of $e)if(!Ae||Ce.getKeyID().equals(Ae))try{await Ce.verify(Se,qe);const Ae={key:Fe,bind:Ce.keyPacket},$e=await sh(Ce.bindingSignatures,Fe,ir.signature.subkeyBinding,Ae,Se,qe);if(mh(Ce.keyPacket,$e))return wh(Ce.keyPacket,qe),Ce}catch(Ae){rt=Ae}try{const $e=await this.getPrimaryUser(Se,Ce,qe);if((!Ae||Fe.getKeyID().equals(Ae))&&mh(Fe,$e.selfCertification))return wh(Fe,qe),this}catch(Ae){rt=Ae}throw sr.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),rt)}async isRevoked(Ae,Se,Ce=new Date,qe=hr){return lh(this.keyPacket,ir.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,Ae,Se,Ce,qe)}async verifyPrimaryKey(Ae=new Date,Se={},Ce=hr){const qe=this.keyPacket;if(await this.isRevoked(null,null,Ae,Ce))throw Error("Primary key is revoked");const{selfCertification:Fe}=await this.getPrimaryUser(Ae,Se,Ce);if(oh(qe,Fe,Ae))throw Error("Primary key is expired");const $e=await sh(this.directSignatures,qe,ir.signature.key,{key:qe},Ae,Ce).catch((()=>{}));if($e&&oh(qe,$e,Ae))throw Error("Primary key is expired")}async getExpirationTime(Ae,Se=hr){let Ce;try{const{selfCertification:qe}=await this.getPrimaryUser(null,Ae,Se),Fe=ph(this.keyPacket,qe),$e=qe.getExpirationTime(),rt=await sh(this.directSignatures,this.keyPacket,ir.signature.key,{key:this.keyPacket},null,Se).catch((()=>{}));if(rt){const Ae=ph(this.keyPacket,rt);Ce=Math.min(Fe,$e,Ae)}else Ce=Fe<$e?Fe:$e}catch(Ae){Ce=null}return sr.normalizeDate(Ce)}async getPrimaryUser(Ae=new Date,Se={},Ce=hr){const qe=this.keyPacket,Fe=[];let $e;for(let rt=0;rt<this.users.length;rt++)try{const $e=this.users[rt];if(!$e.userID)continue;if(void 0!==Se.name&&$e.userID.name!==Se.name||void 0!==Se.email&&$e.userID.email!==Se.email||void 0!==Se.comment&&$e.userID.comment!==Se.comment)throw Error("Could not find user that matches that user ID");const it={userID:$e.userID,key:qe},nt=await sh($e.selfCertifications,qe,ir.signature.certGeneric,it,Ae,Ce);Fe.push({index:rt,user:$e,selfCertification:nt})}catch(Ae){$e=Ae}if(!Fe.length)throw $e||Error("Could not find primary user");await Promise.all(Fe.map((async function(Se){return Se.selfCertification.revoked||Se.user.isRevoked(Se.selfCertification,null,Ae,Ce)})));const rt=Fe.sort((function(Ae,Se){const Ce=Ae.selfCertification,qe=Se.selfCertification;return qe.revoked-Ce.revoked||Ce.isPrimaryUserID-qe.isPrimaryUserID||Ce.created-qe.created})).pop(),{user:it,selfCertification:nt}=rt;if(nt.revoked||await it.isRevoked(nt,null,Ae,Ce))throw Error("Primary user is revoked");return rt}async update(Ae,Se=new Date,Ce=hr){if(!this.hasSameFingerprintAs(Ae))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&Ae.isPrivate()){if(!(this.subkeys.length===Ae.subkeys.length&&this.subkeys.every((Se=>Ae.subkeys.some((Ae=>Se.hasSameFingerprintAs(Ae)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return Ae.update(this,Ce)}const qe=this.clone();return await fh(Ae,qe,"revocationSignatures",Se,(Fe=>lh(qe.keyPacket,ir.signature.keyRevocation,qe,[Fe],null,Ae.keyPacket,Se,Ce))),await fh(Ae,qe,"directSignatures",Se),await Promise.all(Ae.users.map((async Ae=>{const Fe=qe.users.filter((Se=>Ae.userID&&Ae.userID.equals(Se.userID)||Ae.userAttribute&&Ae.userAttribute.equals(Se.userAttribute)));if(Fe.length>0)await Promise.all(Fe.map((qe=>qe.update(Ae,Se,Ce))));else{const Se=Ae.clone();Se.mainKey=qe,qe.users.push(Se)}}))),await Promise.all(Ae.subkeys.map((async Ae=>{const Fe=qe.subkeys.filter((Se=>Se.hasSameFingerprintAs(Ae)));if(Fe.length>0)await Promise.all(Fe.map((qe=>qe.update(Ae,Se,Ce))));else{const Se=Ae.clone();Se.mainKey=qe,qe.subkeys.push(Se)}}))),qe}async getRevocationCertificate(Ae=new Date,Se=hr){const Ce={key:this.keyPacket},qe=await sh(this.revocationSignatures,this.keyPacket,ir.signature.keyRevocation,Ce,Ae,Se),Fe=new Mu;return Fe.push(qe),Me(ir.armor.publicKey,Fe.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(Ae,Se=new Date,Ce=hr){const qe=await xe(Ae,Ce),Fe=(await Mu.fromBinary(qe.data,hy,Ce)).findPacket(ir.packet.signature);if(!Fe||Fe.signatureType!==ir.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!Fe.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await Fe.verify(this.keyPacket,ir.signature.keyRevocation,{key:this.keyPacket},Se,void 0,Ce)}catch(Ae){throw sr.wrapError("Could not verify revocation signature",Ae)}const $e=this.clone();return $e.revocationSignatures.push(Fe),$e}async signPrimaryUser(Ae,Se,Ce,qe=hr){const{index:Fe,user:$e}=await this.getPrimaryUser(Se,Ce,qe),rt=await $e.certify(Ae,Se,qe),it=this.clone();return it.users[Fe]=rt,it}async signAllUsers(Ae,Se=new Date,Ce=hr){const qe=this.clone();return qe.users=await Promise.all(this.users.map((function(qe){return qe.certify(Ae,Se,Ce)}))),qe}async verifyPrimaryUser(Ae,Se=new Date,Ce,qe=hr){const Fe=this.keyPacket,{user:$e}=await this.getPrimaryUser(Se,Ce,qe);return Ae?await $e.verifyAllCertifications(Ae,Se,qe):[{keyID:Fe.getKeyID(),valid:await $e.verify(Se,qe).catch((()=>!1))}]}async verifyAllUsers(Ae,Se=new Date,Ce=hr){const qe=this.keyPacket,Fe=[];return await Promise.all(this.users.map((async $e=>{const rt=Ae?await $e.verifyAllCertifications(Ae,Se,Ce):[{keyID:qe.getKeyID(),valid:await $e.verify(Se,Ce).catch((()=>!1))}];Fe.push(...rt.map((Ae=>({userID:$e.userID?$e.userID.userID:null,userAttribute:$e.userAttribute,keyID:Ae.keyID,valid:Ae.valid}))))}))),Fe}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((Ae=>{Eh.prototype[Ae]=_h.prototype[Ae]}));class Ph extends Eh{constructor(Ae){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],Ae&&(this.packetListToStructure(Ae,new Set([ir.packet.secretKey,ir.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(Ae=hr){return Me(ir.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,Ae)}}class xh extends Ph{constructor(Ae){if(super(),this.packetListToStructure(Ae,new Set([ir.packet.publicKey,ir.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const Ae=new Mu,Se=this.toPacketList();for(const Ce of Se)switch(Ce.constructor.tag){case ir.packet.secretKey:{const Se=Gu.fromSecretKeyPacket(Ce);Ae.push(Se);break}case ir.packet.secretSubkey:{const Se=Zu.fromSecretSubkeyPacket(Ce);Ae.push(Se);break}default:Ae.push(Ce)}return new Ph(Ae)}armor(Ae=hr){return Me(ir.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,Ae)}async getDecryptionKeys(Ae,Se=new Date,Ce={},qe=hr){const Fe=this.keyPacket,$e=[];for(let Ce=0;Ce<this.subkeys.length;Ce++)if(!Ae||this.subkeys[Ce].getKeyID().equals(Ae,!0))try{const Ae={key:Fe,bind:this.subkeys[Ce].keyPacket};gh(await sh(this.subkeys[Ce].bindingSignatures,Fe,ir.signature.subkeyBinding,Ae,Se,qe),qe)&&$e.push(this.subkeys[Ce])}catch(Ae){}const rt=await this.getPrimaryUser(Se,Ce,qe);return Ae&&!Fe.getKeyID().equals(Ae,!0)||!gh(rt.selfCertification,qe)||$e.push(this),$e}isDecrypted(){return this.getKeys().some((({keyPacket:Ae})=>Ae.isDecrypted()))}async validate(Ae=hr){if(!this.isPrivate())throw Error("Cannot validate a public key");let Se;if(this.keyPacket.isDummy()){const Ce=await this.getSigningKey(null,null,void 0,{...Ae,rejectPublicKeyAlgorithms:new Set,minRSABits:0});Ce&&!Ce.keyPacket.isDummy()&&(Se=Ce.keyPacket)}else Se=this.keyPacket;if(Se)return Se.validate();{const Ae=this.getKeys(),Se=Ae.map((Ae=>Ae.keyPacket.isDummy())).every(Boolean);if(Se)throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(Ae.map((async Ae=>Ae.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:Ae})=>{Ae.isDecrypted()&&Ae.clearPrivateParams()}))}async revoke({flag:Ae=ir.reasonForRevocation.noReason,string:Se=""}={},Ce=new Date,qe=hr){if(!this.isPrivate())throw Error("Need private key for revoking");const Fe={key:this.keyPacket},$e=this.clone();return $e.revocationSignatures.push(await dh(Fe,null,this.keyPacket,{signatureType:ir.signature.keyRevocation,reasonForRevocationFlag:ir.write(ir.reasonForRevocation,Ae),reasonForRevocationString:Se},Ce,void 0,void 0,void 0,qe)),$e}async addSubkey(Ae={}){const Se={...hr,...Ae.config};if(Ae.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(Ae.rsaBits<Se.minRSABits)throw Error(`rsaBits should be at least ${Se.minRSABits}, got: ${Ae.rsaBits}`);const Ce=this.keyPacket;if(Ce.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!Ce.isDecrypted())throw Error("Key is not decrypted");const qe=Ce.getAlgorithmInfo();qe.type=qe.curve?"ecc":"rsa",qe.rsaBits=qe.bits||4096,qe.curve=qe.curve||"curve25519",Ae=yh(Ae,qe);const Fe=await nh(Ae);wh(Fe,Se);const $e=await ch(Fe,Ce,Ae,Se),rt=this.toPacketList();return rt.push(Fe,$e),new xh(rt)}}const by=sr.constructAllowedPackets([Gu,Zu,Yu,th,eh,Xu,Su]);function Kh(Ae){for(const Se of Ae)switch(Se.constructor.tag){case ir.packet.secretKey:return new xh(Ae);case ir.packet.publicKey:return new Ph(Ae)}throw Error("No key packet found")}async function Ch(Ae,Se,Ce,qe){Ce.passphrase&&await Ae.encrypt(Ce.passphrase,qe),await Promise.all(Se.map((async function(Ae,Se){const Fe=Ce.subkeys[Se].passphrase;Fe&&await Ae.encrypt(Fe,qe)})));const Fe=new Mu;Fe.push(Ae),await Promise.all(Ce.userIDs.map((async function(Se,Fe){function a(Ae,Se){return[Se,...Ae.filter((Ae=>Ae!==Se))]}const $e=eh.fromObject(Se),rt={};rt.userID=$e,rt.key=Ae;const it=new Su;return it.signatureType=ir.signature.certGeneric,it.publicKeyAlgorithm=Ae.algorithm,it.hashAlgorithm=await uh(null,Ae,void 0,void 0,qe),it.keyFlags=[ir.keyFlags.certifyKeys|ir.keyFlags.signData],it.preferredSymmetricAlgorithms=a([ir.symmetric.aes256,ir.symmetric.aes128,ir.symmetric.aes192],qe.preferredSymmetricAlgorithm),qe.aeadProtect&&(it.preferredAEADAlgorithms=a([ir.aead.eax,ir.aead.ocb],qe.preferredAEADAlgorithm)),it.preferredHashAlgorithms=a([ir.hash.sha256,ir.hash.sha512],qe.preferredHashAlgorithm),it.preferredCompressionAlgorithms=a([ir.compression.zlib,ir.compression.zip,ir.compression.uncompressed],qe.preferredCompressionAlgorithm),0===Fe&&(it.isPrimaryUserID=!0),it.features=[0],it.features[0]|=ir.features.modificationDetection,qe.aeadProtect&&(it.features[0]|=ir.features.aead),qe.v5Keys&&(it.features[0]|=ir.features.v5Keys),Ce.keyExpirationTime>0&&(it.keyExpirationTime=Ce.keyExpirationTime,it.keyNeverExpires=!1),await it.sign(Ae,rt,Ce.date),{userIDPacket:$e,signaturePacket:it}}))).then((Ae=>{Ae.forEach((({userIDPacket:Ae,signaturePacket:Se})=>{Fe.push(Ae),Fe.push(Se)}))})),await Promise.all(Se.map((async function(Se,Fe){const $e=Ce.subkeys[Fe];return{secretSubkeyPacket:Se,subkeySignaturePacket:await ch(Se,Ae,$e,qe)}}))).then((Ae=>{Ae.forEach((({secretSubkeyPacket:Ae,subkeySignaturePacket:Se})=>{Fe.push(Ae),Fe.push(Se)}))}));const $e={key:Ae};return Fe.push(await dh($e,null,Ae,{signatureType:ir.signature.keyRevocation,reasonForRevocationFlag:ir.reasonForRevocation.noReason,reasonForRevocationString:""},Ce.date,void 0,void 0,void 0,qe)),Ce.passphrase&&Ae.clearPrivateParams(),await Promise.all(Se.map((async function(Ae,Se){Ce.subkeys[Se].passphrase&&Ae.clearPrivateParams()}))),new xh(Fe)}const vy=sr.constructAllowedPackets([_u,Cu,Lu,Fu,$u,Nu,Hu,Pu,Su]),ky=sr.constructAllowedPackets([Hu]),Sy=sr.constructAllowedPackets([Su]);class Ih{constructor(Ae){this.packets=Ae||new Mu}getEncryptionKeyIDs(){const Ae=[];return this.packets.filterByTag(ir.packet.publicKeyEncryptedSessionKey).forEach((function(Se){Ae.push(Se.publicKeyID)})),Ae}getSigningKeyIDs(){const Ae=this.unwrapCompressed(),Se=Ae.packets.filterByTag(ir.packet.onePassSignature);if(Se.length>0)return Se.map((Ae=>Ae.issuerKeyID));return Ae.packets.filterByTag(ir.packet.signature).map((Ae=>Ae.issuerKeyID))}async decrypt(Ae,Se,Ce,qe=new Date,Fe=hr){const $e=Ce||await this.decryptSessionKeys(Ae,Se,qe,Fe),rt=this.packets.filterByTag(ir.packet.symmetricallyEncryptedData,ir.packet.symEncryptedIntegrityProtectedData,ir.packet.aeadEncryptedData);if(0===rt.length)throw Error("No encrypted data found");const it=rt[0];let nt=null;const st=Promise.all($e.map((async({algorithm:Ae,data:Se})=>{if(!sr.isUint8Array(Se)||!sr.isString(Ae))throw Error("Invalid session key for decryption.");try{const Ce=ir.write(ir.symmetric,Ae);await it.decrypt(Ce,Se,Fe)}catch(Ae){sr.printDebugError(Ae),nt=Ae}})));if(ne(it.encrypted),it.encrypted=null,await st,!it.packets||!it.packets.length)throw nt||Error("Decryption failed.");const ut=new Ih(it.packets);return it.packets=new Mu,ut}async decryptSessionKeys(Ae,Se,Ce=new Date,qe=hr){let Fe,$e=[];if(Se){const Ae=this.packets.filterByTag(ir.packet.symEncryptedSessionKey);if(0===Ae.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(Se.map((async function(Se,Ce){let Fe;Fe=Ce?await Mu.fromBinary(Ae.write(),ky,qe):Ae,await Promise.all(Fe.map((async function(Ae){try{await Ae.decrypt(Se),$e.push(Ae)}catch(Ae){sr.printDebugError(Ae)}})))})))}else{if(!Ae)throw Error("No key or password specified.");{const Se=this.packets.filterByTag(ir.packet.publicKeyEncryptedSessionKey);if(0===Se.length)throw Error("No public key encrypted session key packet found.");await Promise.all(Se.map((async function(Se){await Promise.all(Ae.map((async function(Ae){let rt=[ir.symmetric.aes256,ir.symmetric.aes128,ir.symmetric.tripledes,ir.symmetric.cast5];try{const Se=await Ae.getPrimaryUser(Ce,void 0,qe);Se.selfCertification.preferredSymmetricAlgorithms&&(rt=rt.concat(Se.selfCertification.preferredSymmetricAlgorithms))}catch(Ae){}const it=(await Ae.getDecryptionKeys(Se.publicKeyID,null,void 0,qe)).map((Ae=>Ae.keyPacket));await Promise.all(it.map((async function(Ae){if(!Ae||Ae.isDummy())return;if(!Ae.isDecrypted())throw Error("Decryption key is not decrypted.");if(qe.constantTimePKCS1Decryption&&(Se.publicKeyAlgorithm===ir.publicKey.rsaEncrypt||Se.publicKeyAlgorithm===ir.publicKey.rsaEncryptSign||Se.publicKeyAlgorithm===ir.publicKey.rsaSign||Se.publicKeyAlgorithm===ir.publicKey.elgamal)){const Ce=Se.write();await Promise.all(Array.from(qe.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async Se=>{const qe=new Nu;qe.read(Ce);const rt={sessionKeyAlgorithm:Se,sessionKey:qa.generateSessionKey(Se)};try{await qe.decrypt(Ae,rt),$e.push(qe)}catch(Ae){sr.printDebugError(Ae),Fe=Ae}})))}else try{if(await Se.decrypt(Ae),!rt.includes(ir.write(ir.symmetric,Se.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");$e.push(Se)}catch(Ae){sr.printDebugError(Ae),Fe=Ae}})))}))),ne(Se.encrypted),Se.encrypted=null})))}}if($e.length>0){if($e.length>1){const Ae=new Set;$e=$e.filter((Se=>{const Ce=Se.sessionKeyAlgorithm+sr.uint8ArrayToString(Se.sessionKey);return!Ae.has(Ce)&&(Ae.add(Ce),!0)}))}return $e.map((Ae=>({data:Ae.sessionKey,algorithm:ir.read(ir.symmetric,Ae.sessionKeyAlgorithm)})))}throw Fe||Error("Session key decryption failed.")}getLiteralData(){const Ae=this.unwrapCompressed().packets.findPacket(ir.packet.literalData);return Ae&&Ae.getBytes()||null}getFilename(){const Ae=this.unwrapCompressed().packets.findPacket(ir.packet.literalData);return Ae&&Ae.getFilename()||null}getText(){const Ae=this.unwrapCompressed().packets.findPacket(ir.packet.literalData);return Ae?Ae.getText():null}static async generateSessionKey(Ae=[],Se=new Date,Ce=[],qe=hr){const Fe=await hh("symmetric",Ae,Se,Ce,qe),$e=ir.read(ir.symmetric,Fe),rt=qe.aeadProtect&&await async function(Ae,Se=new Date,Ce=[],qe=hr){let Fe=!0;return await Promise.all(Ae.map((async function(Ae,$e){const rt=await Ae.getPrimaryUser(Se,Ce[$e],qe);rt.selfCertification.features&&rt.selfCertification.features[0]&ir.features.aead||(Fe=!1)}))),Fe}(Ae,Se,Ce,qe)?ir.read(ir.aead,await hh("aead",Ae,Se,Ce,qe)):void 0;await Promise.all(Ae.map((Ae=>Ae.getEncryptionKey().catch((()=>null)).then((Ae=>{if(Ae&&Ae.keyPacket.algorithm===ir.publicKey.x25519&&!sr.isAES(Fe))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:qa.generateSessionKey(Fe),algorithm:$e,aeadAlgorithm:rt}}async encrypt(Ae,Se,Ce,qe=!1,Fe=[],$e=new Date,rt=[],it=hr){if(Ce){if(!sr.isUint8Array(Ce.data)||!sr.isString(Ce.algorithm))throw Error("Invalid session key for encryption.")}else if(Ae&&Ae.length)Ce=await Ih.generateSessionKey(Ae,$e,rt,it);else{if(!Se||!Se.length)throw Error("No keys, passwords, or session key provided.");Ce=await Ih.generateSessionKey(void 0,void 0,void 0,it)}const{data:nt,algorithm:st,aeadAlgorithm:ut}=Ce,ht=await Ih.encryptSessionKey(nt,st,ut,Ae,Se,qe,Fe,$e,rt,it);let ft;ut?(ft=new Lu,ft.aeadAlgorithm=ir.write(ir.aead,ut)):ft=new Fu,ft.packets=this.packets;const yt=ir.write(ir.symmetric,st);return await ft.encrypt(yt,nt,it),ht.packets.push(ft),ft.packets=new Mu,ht}static async encryptSessionKey(Ae,Se,Ce,qe,Fe,$e=!1,rt=[],it=new Date,nt=[],st=hr){const ut=new Mu,ht=ir.write(ir.symmetric,Se),ft=Ce&&ir.write(ir.aead,Ce);if(qe){const Se=await Promise.all(qe.map((async function(Se,Ce){const qe=await Se.getEncryptionKey(rt[Ce],it,nt,st),Fe=new Nu;return Fe.publicKeyID=$e?Ke.wildcard():qe.getKeyID(),Fe.publicKeyAlgorithm=qe.keyPacket.algorithm,Fe.sessionKey=Ae,Fe.sessionKeyAlgorithm=ht,await Fe.encrypt(qe.keyPacket),delete Fe.sessionKey,Fe})));ut.push(...Se)}if(Fe){const t=async function(Ae,Se){try{return await Ae.decrypt(Se),1}catch(Ae){return 0}},r=(Ae,Se)=>Ae+Se,i=async function(Ae,Se,Ce,qe){const $e=new Hu(st);if($e.sessionKey=Ae,$e.sessionKeyAlgorithm=Se,Ce&&($e.aeadAlgorithm=Ce),await $e.encrypt(qe,st),st.passwordCollisionCheck){if(1!==(await Promise.all(Fe.map((Ae=>t($e,Ae))))).reduce(r))return i(Ae,Se,qe)}return delete $e.sessionKey,$e},Se=await Promise.all(Fe.map((Se=>i(Ae,ht,ft,Se))));ut.push(...Se)}return new Ih(ut)}async sign(Ae=[],Se=null,Ce=[],qe=new Date,Fe=[],$e=[],rt=hr){const it=new Mu,nt=this.packets.findPacket(ir.packet.literalData);if(!nt)throw Error("No literal data packet to sign.");let st,ut;const ht=null===nt.text?ir.signature.binary:ir.signature.text;if(Se)for(ut=Se.packets.filterByTag(ir.packet.signature),st=ut.length-1;st>=0;st--){const Se=ut[st],Ce=new Pu;Ce.signatureType=Se.signatureType,Ce.hashAlgorithm=Se.hashAlgorithm,Ce.publicKeyAlgorithm=Se.publicKeyAlgorithm,Ce.issuerKeyID=Se.issuerKeyID,Ae.length||0!==st||(Ce.flags=1),it.push(Ce)}return await Promise.all(Array.from(Ae).reverse().map((async function(Se,$e){if(!Se.isPrivate())throw Error("Need private key for signing");const it=Ce[Ae.length-1-$e],nt=await Se.getSigningKey(it,qe,Fe,rt),st=new Pu;return st.signatureType=ht,st.hashAlgorithm=await uh(Se,nt.keyPacket,qe,Fe,rt),st.publicKeyAlgorithm=nt.keyPacket.algorithm,st.issuerKeyID=nt.getKeyID(),$e===Ae.length-1&&(st.flags=1),st}))).then((Ae=>{Ae.forEach((Ae=>it.push(Ae)))})),it.push(nt),it.push(...await Bh(nt,Ae,Se,Ce,qe,Fe,$e,!1,rt)),new Ih(it)}compress(Ae,Se=hr){if(Ae===ir.compression.uncompressed)return this;const Ce=new Cu(Se);Ce.algorithm=Ae,Ce.packets=this.packets;const qe=new Mu;return qe.push(Ce),new Ih(qe)}async signDetached(Ae=[],Se=null,Ce=[],qe=new Date,Fe=[],$e=[],rt=hr){const it=this.packets.findPacket(ir.packet.literalData);if(!it)throw Error("No literal data packet to sign.");return new ih(await Bh(it,Ae,Se,Ce,qe,Fe,$e,!0,rt))}async verify(Ae,Se=new Date,Ce=hr){const qe=this.unwrapCompressed(),Fe=qe.packets.filterByTag(ir.packet.literalData);if(1!==Fe.length)throw Error("Can only verify message with one literal data packet.");_(qe.packets.stream)&&qe.packets.push(...await ie(qe.packets.stream,(Ae=>Ae||[])));const $e=qe.packets.filterByTag(ir.packet.onePassSignature).reverse(),rt=qe.packets.filterByTag(ir.packet.signature);return $e.length&&!rt.length&&sr.isStream(qe.packets.stream)&&!_(qe.packets.stream)?(await Promise.all($e.map((async Ae=>{Ae.correspondingSig=new Promise(((Se,Ce)=>{Ae.correspondingSigResolve=Se,Ae.correspondingSigReject=Ce})),Ae.signatureData=ae((async()=>(await Ae.correspondingSig).signatureData)),Ae.hashed=ie(await Ae.hash(Ae.signatureType,Fe[0],void 0,!1)),Ae.hashed.catch((()=>{}))}))),qe.packets.stream=Y(qe.packets.stream,(async(Ae,Se)=>{const Ce=H(Ae),qe=G(Se);try{for(let Ae=0;Ae<$e.length;Ae++){const{value:Se}=await Ce.read();$e[Ae].correspondingSigResolve(Se)}await Ce.readToEnd(),await qe.ready,await qe.close()}catch(Ae){$e.forEach((Se=>{Se.correspondingSigReject(Ae)})),await qe.abort(Ae)}})),Th($e,Fe,Ae,Se,!1,Ce)):Th(rt,Fe,Ae,Se,!1,Ce)}verifyDetached(Ae,Se,Ce=new Date,qe=hr){const Fe=this.unwrapCompressed().packets.filterByTag(ir.packet.literalData);if(1!==Fe.length)throw Error("Can only verify message with one literal data packet.");return Th(Ae.packets.filterByTag(ir.packet.signature),Fe,Se,Ce,!0,qe)}unwrapCompressed(){const Ae=this.packets.filterByTag(ir.packet.compressedData);return Ae.length?new Ih(Ae[0].packets):this}async appendSignature(Ae,Se=hr){await this.packets.read(sr.isUint8Array(Ae)?Ae:(await xe(Ae)).data,Sy,Se)}write(){return this.packets.write()}armor(Ae=hr){return Me(ir.armor.message,this.write(),null,null,null,Ae)}}async function Bh(Ae,Se,Ce=null,qe=[],Fe=new Date,$e=[],rt=[],it=!1,nt=hr){const st=new Mu,ut=null===Ae.text?ir.signature.binary:ir.signature.text;if(await Promise.all(Se.map((async(Se,Ce)=>{const st=$e[Ce];if(!Se.isPrivate())throw Error("Need private key for signing");const ht=await Se.getSigningKey(qe[Ce],Fe,st,nt);return dh(Ae,Se,ht.keyPacket,{signatureType:ut},Fe,st,rt,it,nt)}))).then((Ae=>{st.push(...Ae)})),Ce){const Ae=Ce.packets.filterByTag(ir.packet.signature);st.push(...Ae)}return st}async function Th(Ae,Se,Ce,qe=new Date,Fe=!1,$e=hr){return Promise.all(Ae.filter((function(Ae){return["text","binary"].includes(ir.read(ir.signature,Ae.signatureType))})).map((async function(Ae){return async function(Ae,Se,Ce,qe=new Date,Fe=!1,$e=hr){let rt,it;for(const Se of Ce){const Ce=Se.getKeys(Ae.issuerKeyID);if(Ce.length>0){rt=Se,it=Ce[0];break}}const nt=Ae instanceof Pu?Ae.correspondingSig:Ae,st={keyID:Ae.issuerKeyID,verified:(async()=>{if(!it)throw Error("Could not find signing key with key ID "+Ae.issuerKeyID.toHex());await Ae.verify(it.keyPacket,Ae.signatureType,Se[0],qe,Fe,$e);const Ce=await nt;if(it.getCreationTime()>Ce.created)throw Error("Key is newer than the signature");try{await rt.getSigningKey(it.getKeyID(),Ce.created,void 0,$e)}catch(Ae){if(!$e.allowInsecureVerificationWithReformattedKeys||!Ae.message.match(/Signature creation time is in the future/))throw Ae;await rt.getSigningKey(it.getKeyID(),qe,void 0,$e)}return!0})(),signature:(async()=>{const Ae=await nt,Se=new Mu;return Ae&&Se.push(Ae),new ih(Se)})()};return st.signature.catch((()=>{})),st.verified.catch((()=>{})),st}(Ae,Se,Ce,qe,Fe,$e)})))}const My=sr.constructAllowedPackets([Su]);class qh{constructor(Ae,Se){if(this.text=sr.removeTrailingSpaces(Ae).replace(/\r?\n/g,"\r\n"),Se&&!(Se instanceof ih))throw Error("Invalid signature input");this.signature=Se||new ih(new Mu)}getSigningKeyIDs(){const Ae=[];return this.signature.packets.forEach((function(Se){Ae.push(Se.issuerKeyID)})),Ae}async sign(Ae,Se=null,Ce=[],qe=new Date,Fe=[],$e=[],rt=hr){const it=new _u;it.setText(this.text);const nt=new ih(await Bh(it,Ae,Se,Ce,qe,Fe,$e,!0,rt));return new qh(this.text,nt)}verify(Ae,Se=new Date,Ce=hr){const qe=this.signature.packets.filterByTag(ir.packet.signature),Fe=new _u;return Fe.setText(this.text),Th(qe,[Fe],Ae,Se,!0,Ce)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(Ae=hr){let Se=this.signature.packets.map((function(Ae){return ir.read(ir.hash,Ae.hashAlgorithm).toUpperCase()}));Se=Se.filter((function(Ae,Se,Ce){return Ce.indexOf(Ae)===Se}));const Ce={hash:Se.join(),text:this.text,data:this.signature.packets.write()};return Me(ir.armor.signed,Ce,void 0,void 0,void 0,Ae)}}function Fh(Ae){if(!(Ae instanceof Ih))throw Error("Parameter [message] needs to be of type Message")}function Oh(Ae){if(!(Ae instanceof qh||Ae instanceof Ih))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function Lh(Ae){if("armored"!==Ae&&"binary"!==Ae&&"object"!==Ae)throw Error("Unsupported format "+Ae)}const Py=Object.keys(hr).length;function jh(Ae){const Se=Object.keys(Ae);if(Se.length!==Py)for(const Ae of Se)if(void 0===hr[Ae])throw Error("Unknown config property: "+Ae)}function Wh(Ae){return Ae&&!sr.isArray(Ae)&&(Ae=[Ae]),Ae}async function Hh(Ae,Se,Ce="utf8"){const qe=sr.isStream(Ae);return"array"===qe?ie(Ae):"node"===Se?(Ae=Wt(Ae),"binary"!==Ce&&Ae.setEncoding(Ce),Ae):"web"===Se&&"ponyfill"===qe?Zt(Ae):Ae}function Gh(Ae,Se){Ae.data=Y(Se.packets.stream,(async(Se,Ce)=>{await V(Ae.data,Ce,{preventClose:!0});const qe=G(Ce);try{await ie(Se,(Ae=>Ae)),await qe.close()}catch(Ae){await qe.abort(Ae)}}))}function Vh(Ae,Se,Ce){switch(Se){case"object":return Ae;case"armored":return Ae.armor(Ce);case"binary":return Ae.write();default:throw Error("Unsupported format "+Se)}}const xy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:Ae=>`Symbol(${Ae})`;function Zh(){}const Cy="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function Yh(Ae){return"object"==typeof Ae&&null!==Ae||"function"==typeof Ae}const Dy=Zh,By=Promise,Ky=Promise.prototype.then,Uy=Promise.resolve.bind(By),Iy=Promise.reject.bind(By);function id(Ae){return new By(Ae)}function nd(Ae){return Uy(Ae)}function ad(Ae){return Iy(Ae)}function sd(Ae,Se,Ce){return Ky.call(Ae,Se,Ce)}function od(Ae,Se,Ce){sd(sd(Ae,Se,Ce),void 0,Dy)}function cd(Ae,Se){od(Ae,Se)}function ud(Ae,Se){od(Ae,void 0,Se)}function hd(Ae,Se,Ce){return sd(Ae,Se,Ce)}function dd(Ae){sd(Ae,void 0,Dy)}const Oy=(()=>{const Ae=Cy&&Cy.queueMicrotask;if("function"==typeof Ae)return Ae;const Se=nd(void 0);return Ae=>sd(Se,Ae)})();function ld(Ae,Se,Ce){if("function"!=typeof Ae)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(Ae,Se,Ce)}function pd(Ae,Se,Ce){try{return nd(ld(Ae,Se,Ce))}catch(Ae){return ad(Ae)}}class yd{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(Ae){const Se=this._back;let Ce=Se;16383===Se._elements.length&&(Ce={_elements:[],_next:void 0}),Se._elements.push(Ae),Ce!==Se&&(this._back=Ce,Se._next=Ce),++this._size}shift(){const Ae=this._front;let Se=Ae;const Ce=this._cursor;let qe=Ce+1;const Fe=Ae._elements,$e=Fe[Ce];return 16384===qe&&(Se=Ae._next,qe=0),--this._size,this._cursor=qe,Ae!==Se&&(this._front=Se),Fe[Ce]=void 0,$e}forEach(Ae){let Se=this._cursor,Ce=this._front,qe=Ce._elements;for(;!(Se===qe.length&&void 0===Ce._next||Se===qe.length&&(Ce=Ce._next,qe=Ce._elements,Se=0,0===qe.length));)Ae(qe[Se]),++Se}peek(){const Ae=this._front,Se=this._cursor;return Ae._elements[Se]}}function bd(Ae,Se){Ae._ownerReadableStream=Se,Se._reader=Ae,"readable"===Se._state?vd(Ae):"closed"===Se._state?function(Ae){vd(Ae),Ad(Ae)}(Ae):_d(Ae,Se._storedError)}function md(Ae,Se){return tp(Ae._ownerReadableStream,Se)}function gd(Ae){"readable"===Ae._ownerReadableStream._state?kd(Ae,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(Ae,Se){_d(Ae,Se)}(Ae,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),Ae._ownerReadableStream._reader=void 0,Ae._ownerReadableStream=void 0}function wd(Ae){return new TypeError("Cannot "+Ae+" a stream using a released reader")}function vd(Ae){Ae._closedPromise=id(((Se,Ce)=>{Ae._closedPromise_resolve=Se,Ae._closedPromise_reject=Ce}))}function _d(Ae,Se){vd(Ae),kd(Ae,Se)}function kd(Ae,Se){void 0!==Ae._closedPromise_reject&&(dd(Ae._closedPromise),Ae._closedPromise_reject(Se),Ae._closedPromise_resolve=void 0,Ae._closedPromise_reject=void 0)}function Ad(Ae){void 0!==Ae._closedPromise_resolve&&(Ae._closedPromise_resolve(void 0),Ae._closedPromise_resolve=void 0,Ae._closedPromise_reject=void 0)}const Ny=xy("[[AbortSteps]]"),jy=xy("[[ErrorSteps]]"),qy=xy("[[CancelSteps]]"),zy=xy("[[PullSteps]]"),Fy=Number.isFinite||function(Ae){return"number"==typeof Ae&&isFinite(Ae)},Hy=Math.trunc||function(Ae){return Ae<0?Math.ceil(Ae):Math.floor(Ae)};function Cd(Ae,Se){if(void 0!==Ae&&("object"!=typeof(Ce=Ae)&&"function"!=typeof Ce))throw new TypeError(Se+" is not an object.");var Ce}function Dd(Ae,Se){if("function"!=typeof Ae)throw new TypeError(Se+" is not a function.")}function Ud(Ae,Se){if(!function(Ae){return"object"==typeof Ae&&null!==Ae||"function"==typeof Ae}(Ae))throw new TypeError(Se+" is not an object.")}function Rd(Ae,Se,Ce){if(void 0===Ae)throw new TypeError(`Parameter ${Se} is required in '${Ce}'.`)}function Id(Ae,Se,Ce){if(void 0===Ae)throw new TypeError(`${Se} is required in '${Ce}'.`)}function Bd(Ae){return Number(Ae)}function Td(Ae){return 0===Ae?0:Ae}function zd(Ae,Se){const Ce=Number.MAX_SAFE_INTEGER;let qe=Number(Ae);if(qe=Td(qe),!Fy(qe))throw new TypeError(Se+" is not a finite number");if(qe=function(Ae){return Td(Hy(Ae))}(qe),qe<0||qe>Ce)throw new TypeError(`${Se} is outside the accepted range of 0 to ${Ce}, inclusive`);return Fy(qe)&&0!==qe?qe:0}function qd(Ae,Se){if(!Jl(Ae))throw new TypeError(Se+" is not a ReadableStream.")}function Fd(Ae){return new Wd(Ae)}function Od(Ae,Se){Ae._reader._readRequests.push(Se)}function Ld(Ae,Se,Ce){const qe=Ae._reader._readRequests.shift();Ce?qe._closeSteps():qe._chunkSteps(Se)}function Nd(Ae){return Ae._reader._readRequests.length}function jd(Ae){const Se=Ae._reader;return void 0!==Se&&!!Hd(Se)}class Wd{constructor(Ae){if(Rd(Ae,1,"ReadableStreamDefaultReader"),qd(Ae,"First parameter"),ep(Ae))throw new TypeError("This stream has already been locked for exclusive reading by another reader");bd(this,Ae),this._readRequests=new yd}get closed(){return Hd(this)?this._closedPromise:ad(Vd("closed"))}cancel(Ae=undefined){return Hd(this)?void 0===this._ownerReadableStream?ad(wd("cancel")):md(this,Ae):ad(Vd("cancel"))}read(){if(!Hd(this))return ad(Vd("read"));if(void 0===this._ownerReadableStream)return ad(wd("read from"));let Ae,Se;const Ce=id(((Ce,qe)=>{Ae=Ce,Se=qe}));return Gd(this,{_chunkSteps:Se=>Ae({value:Se,done:!1}),_closeSteps:()=>Ae({value:void 0,done:!0}),_errorSteps:Ae=>Se(Ae)}),Ce}releaseLock(){if(!Hd(this))throw Vd("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");gd(this)}}}function Hd(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_readRequests")}function Gd(Ae,Se){const Ce=Ae._ownerReadableStream;Ce._disturbed=!0,"closed"===Ce._state?Se._closeSteps():"errored"===Ce._state?Se._errorSteps(Ce._storedError):Ce._readableStreamController[zy](Se)}function Vd(Ae){return new TypeError(`ReadableStreamDefaultReader.prototype.${Ae} can only be used on a ReadableStreamDefaultReader`)}let Gy;Object.defineProperties(Wd.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(Wd.prototype,xy.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0}),"symbol"==typeof xy.asyncIterator&&(Gy={[xy.asyncIterator](){return this}},Object.defineProperty(Gy,xy.asyncIterator,{enumerable:!1}));class Zd{constructor(Ae,Se){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=Ae,this._preventCancel=Se}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?hd(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(Ae){const t=()=>this._returnSteps(Ae);return this._ongoingPromise?hd(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const Ae=this._reader;if(void 0===Ae._ownerReadableStream)return ad(wd("iterate"));let Se,Ce;const qe=id(((Ae,qe)=>{Se=Ae,Ce=qe}));return Gd(Ae,{_chunkSteps:Ae=>{this._ongoingPromise=void 0,Oy((()=>Se({value:Ae,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,gd(Ae),Se({value:void 0,done:!0})},_errorSteps:Se=>{this._ongoingPromise=void 0,this._isFinished=!0,gd(Ae),Ce(Se)}}),qe}_returnSteps(Ae){if(this._isFinished)return Promise.resolve({value:Ae,done:!0});this._isFinished=!0;const Se=this._reader;if(void 0===Se._ownerReadableStream)return ad(wd("finish iterating"));if(!this._preventCancel){const Ce=md(Se,Ae);return gd(Se),hd(Ce,(()=>({value:Ae,done:!0})))}return gd(Se),nd({value:Ae,done:!0})}}const $y={next(){return Yd(this)?this._asyncIteratorImpl.next():ad(Qd("next"))},return(Ae){return Yd(this)?this._asyncIteratorImpl.return(Ae):ad(Qd("return"))}};function Yd(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_asyncIteratorImpl")}function Qd(Ae){return new TypeError(`ReadableStreamAsyncIterator.${Ae} can only be used on a ReadableSteamAsyncIterator`)}void 0!==Gy&&Object.setPrototypeOf($y,Gy);const Jy=Number.isNaN||function(Ae){return Ae!=Ae};function ef(Ae){return!!function(Ae){if("number"!=typeof Ae)return!1;if(Jy(Ae))return!1;if(Ae<0)return!1;return!0}(Ae)&&Ae!==1/0}function tf(Ae){const Se=Ae._queue.shift();return Ae._queueTotalSize-=Se.size,Ae._queueTotalSize<0&&(Ae._queueTotalSize=0),Se.value}function rf(Ae,Se,Ce){if(!ef(Ce=Number(Ce)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");Ae._queue.push({value:Se,size:Ce}),Ae._queueTotalSize+=Ce}function nf(Ae){Ae._queue=new yd,Ae._queueTotalSize=0}function af(Ae){return Ae.slice()}class sf{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!uf(this))throw Ef("view");return this._view}respond(Ae){if(!uf(this))throw Ef("respond");if(Rd(Ae,1,"respond"),Ae=zd(Ae,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(Ae,Se){if(Se=Number(Se),!ef(Se))throw new RangeError("bytesWritten must be a finite");wf(Ae,Se)}(this._associatedReadableByteStreamController,Ae)}respondWithNewView(Ae){if(!uf(this))throw Ef("respondWithNewView");if(Rd(Ae,1,"respondWithNewView"),!ArrayBuffer.isView(Ae))throw new TypeError("You can only respond with array buffer views");if(0===Ae.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===Ae.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(Ae,Se){const Ce=Ae._pendingPullIntos.peek();if(Ce.byteOffset+Ce.bytesFilled!==Se.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(Ce.byteLength!==Se.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");Ce.buffer=Se.buffer,wf(Ae,Se.byteLength)}(this._associatedReadableByteStreamController,Ae)}}Object.defineProperties(sf.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(sf.prototype,xy.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class of{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!cf(this))throw Pf("byobRequest");if(null===this._byobRequest&&this._pendingPullIntos.length>0){const Ae=this._pendingPullIntos.peek(),Se=new Uint8Array(Ae.buffer,Ae.byteOffset+Ae.bytesFilled,Ae.byteLength-Ae.bytesFilled),Ce=Object.create(sf.prototype);!function(Ae,Se,Ce){Ae._associatedReadableByteStreamController=Se,Ae._view=Ce}(Ce,this,Se),this._byobRequest=Ce}return this._byobRequest}get desiredSize(){if(!cf(this))throw Pf("desiredSize");return Af(this)}close(){if(!cf(this))throw Pf("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const Ae=this._controlledReadableByteStream._state;if("readable"!==Ae)throw new TypeError(`The stream (in ${Ae} state) is not in the readable state and cannot be closed`);!function(Ae){const Se=Ae._controlledReadableByteStream;if(Ae._closeRequested||"readable"!==Se._state)return;if(Ae._queueTotalSize>0)return void(Ae._closeRequested=!0);if(Ae._pendingPullIntos.length>0){if(Ae._pendingPullIntos.peek().bytesFilled>0){const Se=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kf(Ae,Se),Se}}_f(Ae),rp(Se)}(this)}enqueue(Ae){if(!cf(this))throw Pf("enqueue");if(Rd(Ae,1,"enqueue"),!ArrayBuffer.isView(Ae))throw new TypeError("chunk must be an array buffer view");if(0===Ae.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===Ae.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const Se=this._controlledReadableByteStream._state;if("readable"!==Se)throw new TypeError(`The stream (in ${Se} state) is not in the readable state and cannot be enqueued to`);!function(Ae,Se){const Ce=Ae._controlledReadableByteStream;if(Ae._closeRequested||"readable"!==Ce._state)return;const qe=Se.buffer,Fe=Se.byteOffset,$e=Se.byteLength,rt=qe;if(jd(Ce))if(0===Nd(Ce))lf(Ae,rt,Fe,$e);else{Ld(Ce,new Uint8Array(rt,Fe,$e),!1)}else Kf(Ce)?(lf(Ae,rt,Fe,$e),gf(Ae)):lf(Ae,rt,Fe,$e);hf(Ae)}(this,Ae)}error(Ae=undefined){if(!cf(this))throw Pf("error");kf(this,Ae)}[qy](Ae){if(this._pendingPullIntos.length>0){this._pendingPullIntos.peek().bytesFilled=0}nf(this);const Se=this._cancelAlgorithm(Ae);return _f(this),Se}[zy](Ae){const Se=this._controlledReadableByteStream;if(this._queueTotalSize>0){const Se=this._queue.shift();this._queueTotalSize-=Se.byteLength,bf(this);const Ce=new Uint8Array(Se.buffer,Se.byteOffset,Se.byteLength);return void Ae._chunkSteps(Ce)}const Ce=this._autoAllocateChunkSize;if(void 0!==Ce){let qe;try{qe=new ArrayBuffer(Ce)}catch(Se){return void Ae._errorSteps(Se)}const Fe={buffer:qe,byteOffset:0,byteLength:Ce,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(Fe)}Od(Se,Ae),hf(this)}}function cf(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_controlledReadableByteStream")}function uf(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_associatedReadableByteStreamController")}function hf(Ae){const Se=function(Ae){const Se=Ae._controlledReadableByteStream;if("readable"!==Se._state)return!1;if(Ae._closeRequested)return!1;if(!Ae._started)return!1;if(jd(Se)&&Nd(Se)>0)return!0;if(Kf(Se)&&Mf(Se)>0)return!0;const Ce=Af(Ae);if(Ce>0)return!0;return!1}(Ae);if(!Se)return;if(Ae._pulling)return void(Ae._pullAgain=!0);Ae._pulling=!0;od(Ae._pullAlgorithm(),(()=>{Ae._pulling=!1,Ae._pullAgain&&(Ae._pullAgain=!1,hf(Ae))}),(Se=>{kf(Ae,Se)}))}function df(Ae,Se){let Ce=!1;"closed"===Ae._state&&(Ce=!0);const qe=ff(Se);"default"===Se.readerType?Ld(Ae,qe,Ce):function(Ae,Se,Ce){const qe=Ae._reader,Fe=qe._readIntoRequests.shift();Ce?Fe._closeSteps(Se):Fe._chunkSteps(Se)}(Ae,qe,Ce)}function ff(Ae){const Se=Ae.bytesFilled,Ce=Ae.elementSize;return new Ae.viewConstructor(Ae.buffer,Ae.byteOffset,Se/Ce)}function lf(Ae,Se,Ce,qe){Ae._queue.push({buffer:Se,byteOffset:Ce,byteLength:qe}),Ae._queueTotalSize+=qe}function pf(Ae,Se){const Ce=Se.elementSize,qe=Se.bytesFilled-Se.bytesFilled%Ce,Fe=Math.min(Ae._queueTotalSize,Se.byteLength-Se.bytesFilled),$e=Se.bytesFilled+Fe,rt=$e-$e%Ce;let it=Fe,nt=!1;rt>qe&&(it=rt-Se.bytesFilled,nt=!0);const st=Ae._queue;for(;it>0;){const Ce=st.peek(),qe=Math.min(it,Ce.byteLength),Fe=Se.byteOffset+Se.bytesFilled;ut=Se.buffer,ht=Fe,ft=Ce.buffer,yt=Ce.byteOffset,mt=qe,new Uint8Array(ut).set(new Uint8Array(ft,yt,mt),ht),Ce.byteLength===qe?st.shift():(Ce.byteOffset+=qe,Ce.byteLength-=qe),Ae._queueTotalSize-=qe,yf(Ae,qe,Se),it-=qe}var ut,ht,ft,yt,mt;return nt}function yf(Ae,Se,Ce){mf(Ae),Ce.bytesFilled+=Se}function bf(Ae){0===Ae._queueTotalSize&&Ae._closeRequested?(_f(Ae),rp(Ae._controlledReadableByteStream)):hf(Ae)}function mf(Ae){null!==Ae._byobRequest&&(Ae._byobRequest._associatedReadableByteStreamController=void 0,Ae._byobRequest._view=null,Ae._byobRequest=null)}function gf(Ae){for(;Ae._pendingPullIntos.length>0;){if(0===Ae._queueTotalSize)return;const Se=Ae._pendingPullIntos.peek();pf(Ae,Se)&&(vf(Ae),df(Ae._controlledReadableByteStream,Se))}}function wf(Ae,Se){const Ce=Ae._pendingPullIntos.peek();if("closed"===Ae._controlledReadableByteStream._state){if(0!==Se)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(Ae,Se){Se.buffer=Se.buffer;const Ce=Ae._controlledReadableByteStream;if(Kf(Ce))for(;Mf(Ce)>0;)df(Ce,vf(Ae))}(Ae,Ce)}else!function(Ae,Se,Ce){if(Ce.bytesFilled+Se>Ce.byteLength)throw new RangeError("bytesWritten out of range");if(yf(Ae,Se,Ce),Ce.bytesFilled<Ce.elementSize)return;vf(Ae);const qe=Ce.bytesFilled%Ce.elementSize;if(qe>0){const Se=Ce.byteOffset+Ce.bytesFilled,Fe=Ce.buffer.slice(Se-qe,Se);lf(Ae,Fe,0,Fe.byteLength)}Ce.buffer=Ce.buffer,Ce.bytesFilled-=qe,df(Ae._controlledReadableByteStream,Ce),gf(Ae)}(Ae,Se,Ce);hf(Ae)}function vf(Ae){const Se=Ae._pendingPullIntos.shift();return mf(Ae),Se}function _f(Ae){Ae._pullAlgorithm=void 0,Ae._cancelAlgorithm=void 0}function kf(Ae,Se){const Ce=Ae._controlledReadableByteStream;"readable"===Ce._state&&(!function(Ae){mf(Ae),Ae._pendingPullIntos=new yd}(Ae),nf(Ae),_f(Ae),ip(Ce,Se))}function Af(Ae){const Se=Ae._controlledReadableByteStream._state;return"errored"===Se?null:"closed"===Se?0:Ae._strategyHWM-Ae._queueTotalSize}function Sf(Ae,Se,Ce){const qe=Object.create(of.prototype);let n=()=>{},a=()=>nd(void 0),s=()=>nd(void 0);void 0!==Se.start&&(n=()=>Se.start(qe)),void 0!==Se.pull&&(a=()=>Se.pull(qe)),void 0!==Se.cancel&&(s=Ae=>Se.cancel(Ae));const Fe=Se.autoAllocateChunkSize;if(0===Fe)throw new TypeError("autoAllocateChunkSize must be greater than 0");!function(Ae,Se,Ce,qe,Fe,$e,rt){Se._controlledReadableByteStream=Ae,Se._pullAgain=!1,Se._pulling=!1,Se._byobRequest=null,Se._queue=Se._queueTotalSize=void 0,nf(Se),Se._closeRequested=!1,Se._started=!1,Se._strategyHWM=$e,Se._pullAlgorithm=qe,Se._cancelAlgorithm=Fe,Se._autoAllocateChunkSize=rt,Se._pendingPullIntos=new yd,Ae._readableStreamController=Se,od(nd(Ce()),(()=>{Se._started=!0,hf(Se)}),(Ae=>{kf(Se,Ae)}))}(Ae,qe,n,a,s,Ce,Fe)}function Ef(Ae){return new TypeError(`ReadableStreamBYOBRequest.prototype.${Ae} can only be used on a ReadableStreamBYOBRequest`)}function Pf(Ae){return new TypeError(`ReadableByteStreamController.prototype.${Ae} can only be used on a ReadableByteStreamController`)}function xf(Ae,Se){Ae._reader._readIntoRequests.push(Se)}function Mf(Ae){return Ae._reader._readIntoRequests.length}function Kf(Ae){const Se=Ae._reader;return void 0!==Se&&!!Df(Se)}Object.defineProperties(of.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(of.prototype,xy.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class Cf{constructor(Ae){if(Rd(Ae,1,"ReadableStreamBYOBReader"),qd(Ae,"First parameter"),ep(Ae))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!cf(Ae._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");bd(this,Ae),this._readIntoRequests=new yd}get closed(){return Df(this)?this._closedPromise:ad(Uf("closed"))}cancel(Ae=undefined){return Df(this)?void 0===this._ownerReadableStream?ad(wd("cancel")):md(this,Ae):ad(Uf("cancel"))}read(Ae){if(!Df(this))return ad(Uf("read"));if(!ArrayBuffer.isView(Ae))return ad(new TypeError("view must be an array buffer view"));if(0===Ae.byteLength)return ad(new TypeError("view must have non-zero byteLength"));if(0===Ae.buffer.byteLength)return ad(new TypeError("view's buffer must have non-zero byteLength"));if(void 0===this._ownerReadableStream)return ad(wd("read from"));let Se,Ce;const qe=id(((Ae,qe)=>{Se=Ae,Ce=qe}));return function(Ae,Se,Ce){const qe=Ae._ownerReadableStream;qe._disturbed=!0,"errored"===qe._state?Ce._errorSteps(qe._storedError):function(Ae,Se,Ce){const qe=Ae._controlledReadableByteStream;let Fe=1;Se.constructor!==DataView&&(Fe=Se.constructor.BYTES_PER_ELEMENT);const $e=Se.constructor,rt={buffer:Se.buffer,byteOffset:Se.byteOffset,byteLength:Se.byteLength,bytesFilled:0,elementSize:Fe,viewConstructor:$e,readerType:"byob"};if(Ae._pendingPullIntos.length>0)return Ae._pendingPullIntos.push(rt),void xf(qe,Ce);if("closed"!==qe._state){if(Ae._queueTotalSize>0){if(pf(Ae,rt)){const Se=ff(rt);return bf(Ae),void Ce._chunkSteps(Se)}if(Ae._closeRequested){const Se=new TypeError("Insufficient bytes to fill elements in the given buffer");return kf(Ae,Se),void Ce._errorSteps(Se)}}Ae._pendingPullIntos.push(rt),xf(qe,Ce),hf(Ae)}else{const Ae=new $e(rt.buffer,rt.byteOffset,0);Ce._closeSteps(Ae)}}(qe._readableStreamController,Se,Ce)}(this,Ae,{_chunkSteps:Ae=>Se({value:Ae,done:!1}),_closeSteps:Ae=>Se({value:Ae,done:!0}),_errorSteps:Ae=>Ce(Ae)}),qe}releaseLock(){if(!Df(this))throw Uf("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");gd(this)}}}function Df(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_readIntoRequests")}function Uf(Ae){return new TypeError(`ReadableStreamBYOBReader.prototype.${Ae} can only be used on a ReadableStreamBYOBReader`)}function Rf(Ae,Se){const{highWaterMark:Ce}=Ae;if(void 0===Ce)return Se;if(Jy(Ce)||Ce<0)throw new RangeError("Invalid highWaterMark");return Ce}function If(Ae){const{size:Se}=Ae;return Se||(()=>1)}function Bf(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.highWaterMark,qe=null==Ae?void 0:Ae.size;return{highWaterMark:void 0===Ce?void 0:Bd(Ce),size:void 0===qe?void 0:Tf(qe,Se+" has member 'size' that")}}function Tf(Ae,Se){return Dd(Ae,Se),Se=>Bd(Ae(Se))}function zf(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>pd(Ae,Se,[Ce])}function qf(Ae,Se,Ce){return Dd(Ae,Ce),()=>pd(Ae,Se,[])}function Ff(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>ld(Ae,Se,[Ce])}function Of(Ae,Se,Ce){return Dd(Ae,Ce),(Ce,qe)=>pd(Ae,Se,[Ce,qe])}function Lf(Ae,Se){if(!Hf(Ae))throw new TypeError(Se+" is not a WritableStream.")}Object.defineProperties(Cf.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(Cf.prototype,xy.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class Nf{constructor(Ae={},Se={}){void 0===Ae?Ae=null:Ud(Ae,"First parameter");const Ce=Bf(Se,"Second parameter"),qe=function(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.abort,qe=null==Ae?void 0:Ae.close,Fe=null==Ae?void 0:Ae.start,$e=null==Ae?void 0:Ae.type,rt=null==Ae?void 0:Ae.write;return{abort:void 0===Ce?void 0:zf(Ce,Ae,Se+" has member 'abort' that"),close:void 0===qe?void 0:qf(qe,Ae,Se+" has member 'close' that"),start:void 0===Fe?void 0:Ff(Fe,Ae,Se+" has member 'start' that"),write:void 0===rt?void 0:Of(rt,Ae,Se+" has member 'write' that"),type:$e}}(Ae,"First parameter");Wf(this);if(void 0!==qe.type)throw new RangeError("Invalid type is specified");const Fe=If(Ce);!function(Ae,Se,Ce,qe){const Fe=Object.create(ul.prototype);let a=()=>{},s=()=>nd(void 0),o=()=>nd(void 0),c=()=>nd(void 0);void 0!==Se.start&&(a=()=>Se.start(Fe));void 0!==Se.write&&(s=Ae=>Se.write(Ae,Fe));void 0!==Se.close&&(o=()=>Se.close());void 0!==Se.abort&&(c=Ae=>Se.abort(Ae));hl(Ae,Fe,a,s,o,c,Ce,qe)}(this,qe,Rf(Ce,1),Fe)}get locked(){if(!Hf(this))throw ml("locked");return Gf(this)}abort(Ae=undefined){return Hf(this)?Gf(this)?ad(new TypeError("Cannot abort a stream that already has a writer")):Vf(this,Ae):ad(ml("abort"))}close(){return Hf(this)?Gf(this)?ad(new TypeError("Cannot close a stream that already has a writer")):Qf(this)?ad(new TypeError("Cannot close an already-closing stream")):$f(this):ad(ml("close"))}getWriter(){if(!Hf(this))throw ml("getWriter");return jf(this)}}function jf(Ae){return new tl(Ae)}function Wf(Ae){Ae._state="writable",Ae._storedError=void 0,Ae._writer=void 0,Ae._writableStreamController=void 0,Ae._writeRequests=new yd,Ae._inFlightWriteRequest=void 0,Ae._closeRequest=void 0,Ae._inFlightCloseRequest=void 0,Ae._pendingAbortRequest=void 0,Ae._backpressure=!1}function Hf(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_writableStreamController")}function Gf(Ae){return void 0!==Ae._writer}function Vf(Ae,Se){const Ce=Ae._state;if("closed"===Ce||"errored"===Ce)return nd(void 0);if(void 0!==Ae._pendingAbortRequest)return Ae._pendingAbortRequest._promise;let qe=!1;"erroring"===Ce&&(qe=!0,Se=void 0);const Fe=id(((Ce,Fe)=>{Ae._pendingAbortRequest={_promise:void 0,_resolve:Ce,_reject:Fe,_reason:Se,_wasAlreadyErroring:qe}}));return Ae._pendingAbortRequest._promise=Fe,qe||Xf(Ae,Se),Fe}function $f(Ae){const Se=Ae._state;if("closed"===Se||"errored"===Se)return ad(new TypeError(`The stream (in ${Se} state) is not in the writable state and cannot be closed`));const Ce=id(((Se,Ce)=>{const qe={_resolve:Se,_reject:Ce};Ae._closeRequest=qe})),qe=Ae._writer;var Fe;return void 0!==qe&&Ae._backpressure&&"writable"===Se&&Ml(qe),rf(Fe=Ae._writableStreamController,em,0),ll(Fe),Ce}function Zf(Ae,Se){"writable"!==Ae._state?Yf(Ae):Xf(Ae,Se)}function Xf(Ae,Se){const Ce=Ae._writableStreamController;Ae._state="erroring",Ae._storedError=Se;const qe=Ae._writer;void 0!==qe&&al(qe,Se),!function(Ae){if(void 0===Ae._inFlightWriteRequest&&void 0===Ae._inFlightCloseRequest)return!1;return!0}(Ae)&&Ce._started&&Yf(Ae)}function Yf(Ae){Ae._state="errored",Ae._writableStreamController[jy]();const Se=Ae._storedError;if(Ae._writeRequests.forEach((Ae=>{Ae._reject(Se)})),Ae._writeRequests=new yd,void 0===Ae._pendingAbortRequest)return void Jf(Ae);const Ce=Ae._pendingAbortRequest;if(Ae._pendingAbortRequest=void 0,Ce._wasAlreadyErroring)return Ce._reject(Se),void Jf(Ae);od(Ae._writableStreamController[Ny](Ce._reason),(()=>{Ce._resolve(),Jf(Ae)}),(Se=>{Ce._reject(Se),Jf(Ae)}))}function Qf(Ae){return void 0!==Ae._closeRequest||void 0!==Ae._inFlightCloseRequest}function Jf(Ae){void 0!==Ae._closeRequest&&(Ae._closeRequest._reject(Ae._storedError),Ae._closeRequest=void 0);const Se=Ae._writer;void 0!==Se&&kl(Se,Ae._storedError)}function el(Ae,Se){const Ce=Ae._writer;void 0!==Ce&&Se!==Ae._backpressure&&(Se?function(Ae){Sl(Ae)}(Ce):Ml(Ce)),Ae._backpressure=Se}Object.defineProperties(Nf.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(Nf.prototype,xy.toStringTag,{value:"WritableStream",configurable:!0});class tl{constructor(Ae){if(Rd(Ae,1,"WritableStreamDefaultWriter"),Lf(Ae,"First parameter"),Gf(Ae))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=Ae,Ae._writer=this;const Se=Ae._state;if("writable"===Se)!Qf(Ae)&&Ae._backpressure?Sl(this):Pl(this),vl(this);else if("erroring"===Se)El(this,Ae._storedError),vl(this);else if("closed"===Se)Pl(this),vl(Ce=this),Al(Ce);else{const Se=Ae._storedError;El(this,Se),_l(this,Se)}var Ce}get closed(){return rl(this)?this._closedPromise:ad(gl("closed"))}get desiredSize(){if(!rl(this))throw gl("desiredSize");if(void 0===this._ownerWritableStream)throw wl("desiredSize");return function(Ae){const Se=Ae._ownerWritableStream,Ce=Se._state;if("errored"===Ce||"erroring"===Ce)return null;if("closed"===Ce)return 0;return fl(Se._writableStreamController)}(this)}get ready(){return rl(this)?this._readyPromise:ad(gl("ready"))}abort(Ae=undefined){return rl(this)?void 0===this._ownerWritableStream?ad(wl("abort")):function(Ae,Se){const Ce=Ae._ownerWritableStream;return Vf(Ce,Se)}(this,Ae):ad(gl("abort"))}close(){if(!rl(this))return ad(gl("close"));const Ae=this._ownerWritableStream;return void 0===Ae?ad(wl("close")):Qf(Ae)?ad(new TypeError("Cannot close an already-closing stream")):il(this)}releaseLock(){if(!rl(this))throw gl("releaseLock");void 0!==this._ownerWritableStream&&sl(this)}write(Ae=undefined){return rl(this)?void 0===this._ownerWritableStream?ad(wl("write to")):ol(this,Ae):ad(gl("write"))}}function rl(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_ownerWritableStream")}function il(Ae){return $f(Ae._ownerWritableStream)}function nl(Ae,Se){"pending"===Ae._closedPromiseState?kl(Ae,Se):function(Ae,Se){_l(Ae,Se)}(Ae,Se)}function al(Ae,Se){"pending"===Ae._readyPromiseState?xl(Ae,Se):function(Ae,Se){El(Ae,Se)}(Ae,Se)}function sl(Ae){const Se=Ae._ownerWritableStream,Ce=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");al(Ae,Ce),nl(Ae,Ce),Se._writer=void 0,Ae._ownerWritableStream=void 0}function ol(Ae,Se){const Ce=Ae._ownerWritableStream,qe=Ce._writableStreamController,Fe=function(Ae,Se){try{return Ae._strategySizeAlgorithm(Se)}catch(Se){return pl(Ae,Se),1}}(qe,Se);if(Ce!==Ae._ownerWritableStream)return ad(wl("write to"));const $e=Ce._state;if("errored"===$e)return ad(Ce._storedError);if(Qf(Ce)||"closed"===$e)return ad(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===$e)return ad(Ce._storedError);const rt=function(Ae){return id(((Se,Ce)=>{const qe={_resolve:Se,_reject:Ce};Ae._writeRequests.push(qe)}))}(Ce);return function(Ae,Se,Ce){try{rf(Ae,Se,Ce)}catch(Se){return void pl(Ae,Se)}const qe=Ae._controlledWritableStream;if(!Qf(qe)&&"writable"===qe._state){el(qe,yl(Ae))}ll(Ae)}(qe,Se,Fe),rt}Object.defineProperties(tl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(tl.prototype,xy.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const em={};class ul{constructor(){throw new TypeError("Illegal constructor")}error(Ae=undefined){if(!function(Ae){if(!Yh(Ae))return!1;if(!Object.prototype.hasOwnProperty.call(Ae,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&bl(this,Ae)}[Ny](Ae){const Se=this._abortAlgorithm(Ae);return dl(this),Se}[jy](){nf(this)}}function hl(Ae,Se,Ce,qe,Fe,$e,rt,it){Se._controlledWritableStream=Ae,Ae._writableStreamController=Se,Se._queue=void 0,Se._queueTotalSize=void 0,nf(Se),Se._started=!1,Se._strategySizeAlgorithm=it,Se._strategyHWM=rt,Se._writeAlgorithm=qe,Se._closeAlgorithm=Fe,Se._abortAlgorithm=$e;const nt=yl(Se);el(Ae,nt);od(nd(Ce()),(()=>{Se._started=!0,ll(Se)}),(Ce=>{Se._started=!0,Zf(Ae,Ce)}))}function dl(Ae){Ae._writeAlgorithm=void 0,Ae._closeAlgorithm=void 0,Ae._abortAlgorithm=void 0,Ae._strategySizeAlgorithm=void 0}function fl(Ae){return Ae._strategyHWM-Ae._queueTotalSize}function ll(Ae){const Se=Ae._controlledWritableStream;if(!Ae._started)return;if(void 0!==Se._inFlightWriteRequest)return;if("erroring"===Se._state)return void Yf(Se);if(0===Ae._queue.length)return;const Ce=Ae._queue.peek().value;Ce===em?function(Ae){const Se=Ae._controlledWritableStream;(function(Ae){Ae._inFlightCloseRequest=Ae._closeRequest,Ae._closeRequest=void 0})(Se),tf(Ae);const Ce=Ae._closeAlgorithm();dl(Ae),od(Ce,(()=>{!function(Ae){Ae._inFlightCloseRequest._resolve(void 0),Ae._inFlightCloseRequest=void 0,"erroring"===Ae._state&&(Ae._storedError=void 0,void 0!==Ae._pendingAbortRequest&&(Ae._pendingAbortRequest._resolve(),Ae._pendingAbortRequest=void 0)),Ae._state="closed";const Se=Ae._writer;void 0!==Se&&Al(Se)}(Se)}),(Ae=>{!function(Ae,Se){Ae._inFlightCloseRequest._reject(Se),Ae._inFlightCloseRequest=void 0,void 0!==Ae._pendingAbortRequest&&(Ae._pendingAbortRequest._reject(Se),Ae._pendingAbortRequest=void 0),Zf(Ae,Se)}(Se,Ae)}))}(Ae):function(Ae,Se){const Ce=Ae._controlledWritableStream;!function(Ae){Ae._inFlightWriteRequest=Ae._writeRequests.shift()}(Ce);const qe=Ae._writeAlgorithm(Se);od(qe,(()=>{!function(Ae){Ae._inFlightWriteRequest._resolve(void 0),Ae._inFlightWriteRequest=void 0}(Ce);const Se=Ce._state;if(tf(Ae),!Qf(Ce)&&"writable"===Se){const Se=yl(Ae);el(Ce,Se)}ll(Ae)}),(Se=>{"writable"===Ce._state&&dl(Ae),function(Ae,Se){Ae._inFlightWriteRequest._reject(Se),Ae._inFlightWriteRequest=void 0,Zf(Ae,Se)}(Ce,Se)}))}(Ae,Ce)}function pl(Ae,Se){"writable"===Ae._controlledWritableStream._state&&bl(Ae,Se)}function yl(Ae){return fl(Ae)<=0}function bl(Ae,Se){const Ce=Ae._controlledWritableStream;dl(Ae),Xf(Ce,Se)}function ml(Ae){return new TypeError(`WritableStream.prototype.${Ae} can only be used on a WritableStream`)}function gl(Ae){return new TypeError(`WritableStreamDefaultWriter.prototype.${Ae} can only be used on a WritableStreamDefaultWriter`)}function wl(Ae){return new TypeError("Cannot "+Ae+" a stream using a released writer")}function vl(Ae){Ae._closedPromise=id(((Se,Ce)=>{Ae._closedPromise_resolve=Se,Ae._closedPromise_reject=Ce,Ae._closedPromiseState="pending"}))}function _l(Ae,Se){vl(Ae),kl(Ae,Se)}function kl(Ae,Se){void 0!==Ae._closedPromise_reject&&(dd(Ae._closedPromise),Ae._closedPromise_reject(Se),Ae._closedPromise_resolve=void 0,Ae._closedPromise_reject=void 0,Ae._closedPromiseState="rejected")}function Al(Ae){void 0!==Ae._closedPromise_resolve&&(Ae._closedPromise_resolve(void 0),Ae._closedPromise_resolve=void 0,Ae._closedPromise_reject=void 0,Ae._closedPromiseState="resolved")}function Sl(Ae){Ae._readyPromise=id(((Se,Ce)=>{Ae._readyPromise_resolve=Se,Ae._readyPromise_reject=Ce})),Ae._readyPromiseState="pending"}function El(Ae,Se){Sl(Ae),xl(Ae,Se)}function Pl(Ae){Sl(Ae),Ml(Ae)}function xl(Ae,Se){void 0!==Ae._readyPromise_reject&&(dd(Ae._readyPromise),Ae._readyPromise_reject(Se),Ae._readyPromise_resolve=void 0,Ae._readyPromise_reject=void 0,Ae._readyPromiseState="rejected")}function Ml(Ae){void 0!==Ae._readyPromise_resolve&&(Ae._readyPromise_resolve(void 0),Ae._readyPromise_resolve=void 0,Ae._readyPromise_reject=void 0,Ae._readyPromiseState="fulfilled")}Object.defineProperties(ul.prototype,{error:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(ul.prototype,xy.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const tm="undefined"!=typeof DOMException?DOMException:void 0;const rm=function(Ae){if("function"!=typeof Ae&&"object"!=typeof Ae)return!1;try{return new Ae,!0}catch(Ae){return!1}}(tm)?tm:function(){const e=function(Ae,Se){this.message=Ae||"",this.name=Se||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return Object.defineProperty(e.prototype=Object.create(Error.prototype),"constructor",{value:e,writable:!0,configurable:!0}),e}();function Dl(Ae,Se,Ce,qe,Fe,$e){const rt=Fd(Ae),it=jf(Se);Ae._disturbed=!0;let nt=!1,st=nd(void 0);return id(((ut,ht)=>{let ft;if(void 0!==$e){if(ft=()=>{const Ce=new rm("Aborted","AbortError"),$e=[];qe||$e.push((()=>"writable"===Se._state?Vf(Se,Ce):nd(void 0))),Fe||$e.push((()=>"readable"===Ae._state?tp(Ae,Ce):nd(void 0))),y((()=>Promise.all($e.map((Ae=>Ae())))),!0,Ce)},$e.aborted)return void ft();$e.addEventListener("abort",ft)}if(p(Ae,rt._closedPromise,(Ae=>{qe?b(!0,Ae):y((()=>Vf(Se,Ae)),!0,Ae)})),p(Se,it._closedPromise,(Se=>{Fe?b(!0,Se):y((()=>tp(Ae,Se)),!0,Se)})),function(Ae,Se,Ce){"closed"===Ae._state?Ce():cd(Se,Ce)}(Ae,rt._closedPromise,(()=>{Ce?b():y((()=>function(Ae){const Se=Ae._ownerWritableStream,Ce=Se._state;return Qf(Se)||"closed"===Ce?nd(void 0):"errored"===Ce?ad(Se._storedError):il(Ae)}(it)))})),Qf(Se)||"closed"===Se._state){const Se=new TypeError("the destination writable stream closed before all data could be piped to it");Fe?b(!0,Se):y((()=>tp(Ae,Se)),!0,Se)}function l(){const Ae=st;return sd(st,(()=>Ae!==st?l():void 0))}function p(Ae,Se,Ce){"errored"===Ae._state?Ce(Ae._storedError):ud(Se,Ce)}function y(Ae,Ce,qe){function n(){od(Ae(),(()=>m(Ce,qe)),(Ae=>m(!0,Ae)))}nt||(nt=!0,"writable"!==Se._state||Qf(Se)?n():cd(l(),n))}function b(Ae,Ce){nt||(nt=!0,"writable"!==Se._state||Qf(Se)?m(Ae,Ce):cd(l(),(()=>m(Ae,Ce))))}function m(Ae,Se){sl(it),gd(rt),void 0!==$e&&$e.removeEventListener("abort",ft),Ae?ht(Se):ut(void 0)}dd(id(((Ae,Se)=>{!function r(Ce){Ce?Ae():sd(nt?nd(!0):sd(it._readyPromise,(()=>id(((Ae,Se)=>{Gd(rt,{_chunkSteps:Se=>{st=sd(ol(it,Se),void 0,Zh),Ae(!1)},_closeSteps:()=>Ae(!0),_errorSteps:Se})})))),r,Se)}(!1)})))}))}class Ul{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Rl(this))throw jl("desiredSize");return Ol(this)}close(){if(!Rl(this))throw jl("close");if(!Ll(this))throw new TypeError("The stream is not in a state that permits close");zl(this)}enqueue(Ae=undefined){if(!Rl(this))throw jl("enqueue");if(!Ll(this))throw new TypeError("The stream is not in a state that permits enqueue");return ql(this,Ae)}error(Ae=undefined){if(!Rl(this))throw jl("error");Fl(this,Ae)}[qy](Ae){nf(this);const Se=this._cancelAlgorithm(Ae);return Tl(this),Se}[zy](Ae){const Se=this._controlledReadableStream;if(this._queue.length>0){const Ce=tf(this);this._closeRequested&&0===this._queue.length?(Tl(this),rp(Se)):Il(this),Ae._chunkSteps(Ce)}else Od(Se,Ae),Il(this)}}function Rl(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_controlledReadableStream")}function Il(Ae){if(!Bl(Ae))return;if(Ae._pulling)return void(Ae._pullAgain=!0);Ae._pulling=!0;od(Ae._pullAlgorithm(),(()=>{Ae._pulling=!1,Ae._pullAgain&&(Ae._pullAgain=!1,Il(Ae))}),(Se=>{Fl(Ae,Se)}))}function Bl(Ae){const Se=Ae._controlledReadableStream;if(!Ll(Ae))return!1;if(!Ae._started)return!1;if(ep(Se)&&Nd(Se)>0)return!0;return Ol(Ae)>0}function Tl(Ae){Ae._pullAlgorithm=void 0,Ae._cancelAlgorithm=void 0,Ae._strategySizeAlgorithm=void 0}function zl(Ae){if(!Ll(Ae))return;const Se=Ae._controlledReadableStream;Ae._closeRequested=!0,0===Ae._queue.length&&(Tl(Ae),rp(Se))}function ql(Ae,Se){if(!Ll(Ae))return;const Ce=Ae._controlledReadableStream;if(ep(Ce)&&Nd(Ce)>0)Ld(Ce,Se,!1);else{let Ce;try{Ce=Ae._strategySizeAlgorithm(Se)}catch(Se){throw Fl(Ae,Se),Se}try{rf(Ae,Se,Ce)}catch(Se){throw Fl(Ae,Se),Se}}Il(Ae)}function Fl(Ae,Se){const Ce=Ae._controlledReadableStream;"readable"===Ce._state&&(nf(Ae),Tl(Ae),ip(Ce,Se))}function Ol(Ae){const Se=Ae._controlledReadableStream._state;return"errored"===Se?null:"closed"===Se?0:Ae._strategyHWM-Ae._queueTotalSize}function Ll(Ae){const Se=Ae._controlledReadableStream._state;return!Ae._closeRequested&&"readable"===Se}function Nl(Ae,Se,Ce,qe,Fe,$e,rt){Se._controlledReadableStream=Ae,Se._queue=void 0,Se._queueTotalSize=void 0,nf(Se),Se._started=!1,Se._closeRequested=!1,Se._pullAgain=!1,Se._pulling=!1,Se._strategySizeAlgorithm=rt,Se._strategyHWM=$e,Se._pullAlgorithm=qe,Se._cancelAlgorithm=Fe,Ae._readableStreamController=Se;od(nd(Ce()),(()=>{Se._started=!0,Il(Se)}),(Ae=>{Fl(Se,Ae)}))}function jl(Ae){return new TypeError(`ReadableStreamDefaultController.prototype.${Ae} can only be used on a ReadableStreamDefaultController`)}function Wl(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>pd(Ae,Se,[Ce])}function Hl(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>pd(Ae,Se,[Ce])}function Gl(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>ld(Ae,Se,[Ce])}function Vl(Ae,Se){if("bytes"!==(Ae=""+Ae))throw new TypeError(`${Se} '${Ae}' is not a valid enumeration value for ReadableStreamType`);return Ae}function $l(Ae,Se){if("byob"!==(Ae=""+Ae))throw new TypeError(`${Se} '${Ae}' is not a valid enumeration value for ReadableStreamReaderMode`);return Ae}function Zl(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.preventAbort,qe=null==Ae?void 0:Ae.preventCancel,Fe=null==Ae?void 0:Ae.preventClose,$e=null==Ae?void 0:Ae.signal;return void 0!==$e&&function(Ae,Se){if(!function(Ae){if("object"!=typeof Ae||null===Ae)return!1;try{return"boolean"==typeof Ae.aborted}catch(Ae){return!1}}(Ae))throw new TypeError(Se+" is not an AbortSignal.")}($e,Se+" has member 'signal' that"),{preventAbort:!!Ce,preventCancel:!!qe,preventClose:!!Fe,signal:$e}}Object.defineProperties(Ul.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(Ul.prototype,xy.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class Xl{constructor(Ae={},Se={}){void 0===Ae?Ae=null:Ud(Ae,"First parameter");const Ce=Bf(Se,"Second parameter"),qe=function(Ae,Se){Cd(Ae,Se);const Ce=Ae,qe=null==Ce?void 0:Ce.autoAllocateChunkSize,Fe=null==Ce?void 0:Ce.cancel,$e=null==Ce?void 0:Ce.pull,rt=null==Ce?void 0:Ce.start,it=null==Ce?void 0:Ce.type;return{autoAllocateChunkSize:void 0===qe?void 0:zd(qe,Se+" has member 'autoAllocateChunkSize' that"),cancel:void 0===Fe?void 0:Wl(Fe,Ce,Se+" has member 'cancel' that"),pull:void 0===$e?void 0:Hl($e,Ce,Se+" has member 'pull' that"),start:void 0===rt?void 0:Gl(rt,Ce,Se+" has member 'start' that"),type:void 0===it?void 0:Vl(it,Se+" has member 'type' that")}}(Ae,"First parameter");if(Ql(this),"bytes"===qe.type){if(void 0!==Ce.size)throw new RangeError("The strategy for a byte stream cannot have a size function");Sf(this,qe,Rf(Ce,0))}else{const Ae=If(Ce);!function(Ae,Se,Ce,qe){const Fe=Object.create(Ul.prototype);let a=()=>{},s=()=>nd(void 0),o=()=>nd(void 0);void 0!==Se.start&&(a=()=>Se.start(Fe)),void 0!==Se.pull&&(s=()=>Se.pull(Fe)),void 0!==Se.cancel&&(o=Ae=>Se.cancel(Ae)),Nl(Ae,Fe,a,s,o,Ce,qe)}(this,qe,Rf(Ce,1),Ae)}}get locked(){if(!Jl(this))throw np("locked");return ep(this)}cancel(Ae=undefined){return Jl(this)?ep(this)?ad(new TypeError("Cannot cancel a stream that already has a reader")):tp(this,Ae):ad(np("cancel"))}getReader(Ae=undefined){if(!Jl(this))throw np("getReader");const Se=function(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.mode;return{mode:void 0===Ce?void 0:$l(Ce,Se+" has member 'mode' that")}}(Ae,"First parameter");return void 0===Se.mode?Fd(this):function(Ae){return new Cf(Ae)}(this)}pipeThrough(Ae,Se={}){if(!Jl(this))throw np("pipeThrough");Rd(Ae,1,"pipeThrough");const Ce=function(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.readable;Id(Ce,"readable","ReadableWritablePair"),qd(Ce,Se+" has member 'readable' that");const qe=null==Ae?void 0:Ae.writable;return Id(qe,"writable","ReadableWritablePair"),Lf(qe,Se+" has member 'writable' that"),{readable:Ce,writable:qe}}(Ae,"First parameter"),qe=Zl(Se,"Second parameter");if(ep(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Gf(Ce.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return dd(Dl(this,Ce.writable,qe.preventClose,qe.preventAbort,qe.preventCancel,qe.signal)),Ce.readable}pipeTo(Ae,Se={}){if(!Jl(this))return ad(np("pipeTo"));if(void 0===Ae)return ad("Parameter 1 is required in 'pipeTo'.");if(!Hf(Ae))return ad(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let Ce;try{Ce=Zl(Se,"Second parameter")}catch(Ae){return ad(Ae)}return ep(this)?ad(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Gf(Ae)?ad(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Dl(this,Ae,Ce.preventClose,Ce.preventAbort,Ce.preventCancel,Ce.signal)}tee(){if(!Jl(this))throw np("tee");const Ae=function(Ae,Se){const Ce=Fd(Ae);let qe,Fe,$e,rt,it,nt=!1,st=!1,ut=!1;const ht=id((Ae=>{it=Ae}));function f(){return nt||(nt=!0,Gd(Ce,{_chunkSteps:Ae=>{Oy((()=>{nt=!1;const Se=Ae,Ce=Ae;st||ql($e._readableStreamController,Se),ut||ql(rt._readableStreamController,Ce)}))},_closeSteps:()=>{nt=!1,st||zl($e._readableStreamController),ut||zl(rt._readableStreamController),st&&ut||it(void 0)},_errorSteps:()=>{nt=!1}})),nd(void 0)}function l(){}return $e=Yl(l,f,(function(Se){if(st=!0,qe=Se,ut){const Se=af([qe,Fe]),Ce=tp(Ae,Se);it(Ce)}return ht})),rt=Yl(l,f,(function(Se){if(ut=!0,Fe=Se,st){const Se=af([qe,Fe]),Ce=tp(Ae,Se);it(Ce)}return ht})),ud(Ce._closedPromise,(Ae=>{Fl($e._readableStreamController,Ae),Fl(rt._readableStreamController,Ae),st&&ut||it(void 0)})),[$e,rt]}(this);return af(Ae)}values(Ae=undefined){if(!Jl(this))throw np("values");return function(Ae,Se){const Ce=Fd(Ae),qe=new Zd(Ce,Se),Fe=Object.create($y);return Fe._asyncIteratorImpl=qe,Fe}(this,function(Ae,Se){return Cd(Ae,Se),{preventCancel:!!(null==Ae?void 0:Ae.preventCancel)}}(Ae,"First parameter").preventCancel)}}function Yl(Ae,Se,Ce,qe=1,Fe=(()=>1)){const $e=Object.create(Xl.prototype);Ql($e);return Nl($e,Object.create(Ul.prototype),Ae,Se,Ce,qe,Fe),$e}function Ql(Ae){Ae._state="readable",Ae._reader=void 0,Ae._storedError=void 0,Ae._disturbed=!1}function Jl(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_readableStreamController")}function ep(Ae){return void 0!==Ae._reader}function tp(Ae,Se){if(Ae._disturbed=!0,"closed"===Ae._state)return nd(void 0);if("errored"===Ae._state)return ad(Ae._storedError);rp(Ae);return hd(Ae._readableStreamController[qy](Se),Zh)}function rp(Ae){Ae._state="closed";const Se=Ae._reader;void 0!==Se&&(Ad(Se),Hd(Se)&&(Se._readRequests.forEach((Ae=>{Ae._closeSteps()})),Se._readRequests=new yd))}function ip(Ae,Se){Ae._state="errored",Ae._storedError=Se;const Ce=Ae._reader;void 0!==Ce&&(kd(Ce,Se),Hd(Ce)?(Ce._readRequests.forEach((Ae=>{Ae._errorSteps(Se)})),Ce._readRequests=new yd):(Ce._readIntoRequests.forEach((Ae=>{Ae._errorSteps(Se)})),Ce._readIntoRequests=new yd))}function np(Ae){return new TypeError(`ReadableStream.prototype.${Ae} can only be used on a ReadableStream`)}function ap(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.highWaterMark;return Id(Ce,"highWaterMark","QueuingStrategyInit"),{highWaterMark:Bd(Ce)}}Object.defineProperties(Xl.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(Xl.prototype,xy.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof xy.asyncIterator&&Object.defineProperty(Xl.prototype,xy.asyncIterator,{value:Xl.prototype.values,writable:!0,configurable:!0});const sp=function(Ae){return Ae.byteLength};class op{constructor(Ae){Rd(Ae,1,"ByteLengthQueuingStrategy"),Ae=ap(Ae,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=Ae.highWaterMark}get highWaterMark(){if(!up(this))throw cp("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!up(this))throw cp("size");return sp}}function cp(Ae){return new TypeError(`ByteLengthQueuingStrategy.prototype.${Ae} can only be used on a ByteLengthQueuingStrategy`)}function up(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_byteLengthQueuingStrategyHighWaterMark")}Object.defineProperties(op.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(op.prototype,xy.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const hp=function(){return 1};class dp{constructor(Ae){Rd(Ae,1,"CountQueuingStrategy"),Ae=ap(Ae,"First parameter"),this._countQueuingStrategyHighWaterMark=Ae.highWaterMark}get highWaterMark(){if(!lp(this))throw fp("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!lp(this))throw fp("size");return hp}}function fp(Ae){return new TypeError(`CountQueuingStrategy.prototype.${Ae} can only be used on a CountQueuingStrategy`)}function lp(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_countQueuingStrategyHighWaterMark")}function pp(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>pd(Ae,Se,[Ce])}function yp(Ae,Se,Ce){return Dd(Ae,Ce),Ce=>ld(Ae,Se,[Ce])}function bp(Ae,Se,Ce){return Dd(Ae,Ce),(Ce,qe)=>pd(Ae,Se,[Ce,qe])}Object.defineProperties(dp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(dp.prototype,xy.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class mp{constructor(Ae={},Se={},Ce={}){void 0===Ae&&(Ae=null);const qe=Bf(Se,"Second parameter"),Fe=Bf(Ce,"Third parameter"),$e=function(Ae,Se){Cd(Ae,Se);const Ce=null==Ae?void 0:Ae.flush,qe=null==Ae?void 0:Ae.readableType,Fe=null==Ae?void 0:Ae.start,$e=null==Ae?void 0:Ae.transform,rt=null==Ae?void 0:Ae.writableType;return{flush:void 0===Ce?void 0:pp(Ce,Ae,Se+" has member 'flush' that"),readableType:qe,start:void 0===Fe?void 0:yp(Fe,Ae,Se+" has member 'start' that"),transform:void 0===$e?void 0:bp($e,Ae,Se+" has member 'transform' that"),writableType:rt}}(Ae,"First parameter");if(void 0!==$e.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==$e.writableType)throw new RangeError("Invalid writableType specified");const rt=Rf(Fe,0),it=If(Fe),nt=Rf(qe,1),st=If(qe);let ut;!function(Ae,Se,Ce,qe,Fe,$e){function s(){return Se}function o(Se){return function(Ae,Se){const Ce=Ae._transformStreamController;if(Ae._backpressure){return hd(Ae._backpressureChangePromise,(()=>{const qe=Ae._writable;if("erroring"===qe._state)throw qe._storedError;return Pp(Ce,Se)}))}return Pp(Ce,Se)}(Ae,Se)}function c(Se){return function(Ae,Se){return wp(Ae,Se),nd(void 0)}(Ae,Se)}function u(){return function(Ae){const Se=Ae._readable,Ce=Ae._transformStreamController,qe=Ce._flushAlgorithm();return Sp(Ce),hd(qe,(()=>{if("errored"===Se._state)throw Se._storedError;zl(Se._readableStreamController)}),(Ce=>{throw wp(Ae,Ce),Se._storedError}))}(Ae)}function h(){return function(Ae){return _p(Ae,!1),Ae._backpressureChangePromise}(Ae)}function d(Se){return vp(Ae,Se),nd(void 0)}Ae._writable=function(Ae,Se,Ce,qe,Fe=1,$e=(()=>1)){const rt=Object.create(Nf.prototype);return Wf(rt),hl(rt,Object.create(ul.prototype),Ae,Se,Ce,qe,Fe,$e),rt}(s,o,u,c,Ce,qe),Ae._readable=Yl(s,h,d,Fe,$e),Ae._backpressure=void 0,Ae._backpressureChangePromise=void 0,Ae._backpressureChangePromise_resolve=void 0,_p(Ae,!0),Ae._transformStreamController=void 0}(this,id((Ae=>{ut=Ae})),nt,st,rt,it),function(Ae,Se){const Ce=Object.create(kp.prototype);let i=Ae=>{try{return Ep(Ce,Ae),nd(void 0)}catch(Ae){return ad(Ae)}},n=()=>nd(void 0);void 0!==Se.transform&&(i=Ae=>Se.transform(Ae,Ce));void 0!==Se.flush&&(n=()=>Se.flush(Ce));!function(Ae,Se,Ce,qe){Se._controlledTransformStream=Ae,Ae._transformStreamController=Se,Se._transformAlgorithm=Ce,Se._flushAlgorithm=qe}(Ae,Ce,i,n)}(this,$e),void 0!==$e.start?ut($e.start(this._transformStreamController)):ut(void 0)}get readable(){if(!gp(this))throw Mp("readable");return this._readable}get writable(){if(!gp(this))throw Mp("writable");return this._writable}}function gp(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_transformStreamController")}function wp(Ae,Se){Fl(Ae._readable._readableStreamController,Se),vp(Ae,Se)}function vp(Ae,Se){Sp(Ae._transformStreamController),pl(Ae._writable._writableStreamController,Se),Ae._backpressure&&_p(Ae,!1)}function _p(Ae,Se){void 0!==Ae._backpressureChangePromise&&Ae._backpressureChangePromise_resolve(),Ae._backpressureChangePromise=id((Se=>{Ae._backpressureChangePromise_resolve=Se})),Ae._backpressure=Se}Object.defineProperties(mp.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(mp.prototype,xy.toStringTag,{value:"TransformStream",configurable:!0});class kp{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ap(this))throw xp("desiredSize");return Ol(this._controlledTransformStream._readable._readableStreamController)}enqueue(Ae=undefined){if(!Ap(this))throw xp("enqueue");Ep(this,Ae)}error(Ae=undefined){if(!Ap(this))throw xp("error");var Se;Se=Ae,wp(this._controlledTransformStream,Se)}terminate(){if(!Ap(this))throw xp("terminate");!function(Ae){const Se=Ae._controlledTransformStream,Ce=Se._readable._readableStreamController;zl(Ce);vp(Se,new TypeError("TransformStream terminated"))}(this)}}function Ap(Ae){return!!Yh(Ae)&&!!Object.prototype.hasOwnProperty.call(Ae,"_controlledTransformStream")}function Sp(Ae){Ae._transformAlgorithm=void 0,Ae._flushAlgorithm=void 0}function Ep(Ae,Se){const Ce=Ae._controlledTransformStream,qe=Ce._readable._readableStreamController;if(!Ll(qe))throw new TypeError("Readable side is not in a state that permits enqueue");try{ql(qe,Se)}catch(Ae){throw vp(Ce,Ae),Ce._readable._storedError}const Fe=function(Ae){return!Bl(Ae)}(qe);Fe!==Ce._backpressure&&_p(Ce,!0)}function Pp(Ae,Se){return hd(Ae._transformAlgorithm(Se),void 0,(Se=>{throw wp(Ae._controlledTransformStream,Se),Se}))}function xp(Ae){return new TypeError(`TransformStreamDefaultController.prototype.${Ae} can only be used on a TransformStreamDefaultController`)}function Mp(Ae){return new TypeError(`TransformStream.prototype.${Ae} can only be used on a TransformStream`)}Object.defineProperties(kp.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof xy.toStringTag&&Object.defineProperty(kp.prototype,xy.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var im=Object.freeze({__proto__:null,ByteLengthQueuingStrategy:op,CountQueuingStrategy:dp,ReadableByteStreamController:of,ReadableStream:Xl,ReadableStreamBYOBReader:Cf,ReadableStreamBYOBRequest:sf,ReadableStreamDefaultController:Ul,ReadableStreamDefaultReader:Wd,TransformStream:mp,TransformStreamDefaultController:kp,WritableStream:Nf,WritableStreamDefaultController:ul,WritableStreamDefaultWriter:tl}),Cp=function(Ae,Se){return Cp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Ae,Se){Ae.__proto__=Se}||function(Ae,Se){for(var Ce in Se)Object.prototype.hasOwnProperty.call(Se,Ce)&&(Ae[Ce]=Se[Ce])},Cp(Ae,Se)
|
|
/*! *****************************************************************************
|
|
Copyright (c) Microsoft Corporation.
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
purpose with or without fee is hereby granted.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
PERFORMANCE OF THIS SOFTWARE.
|
|
***************************************************************************** */};function Dp(Ae,Se){if("function"!=typeof Se&&null!==Se)throw new TypeError("Class extends value "+Se+" is not a constructor or null");function r(){this.constructor=Ae}Cp(Ae,Se),Ae.prototype=null===Se?Object.create(Se):(r.prototype=Se.prototype,new r)}function Up(Ae){if(!Ae)throw new TypeError("Assertion failed")}function Rp(){}function Ip(Ae){return"object"==typeof Ae&&null!==Ae||"function"==typeof Ae}function Bp(Ae){if("function"!=typeof Ae)return!1;var Se=!1;try{new Ae({start:function(){Se=!0}})}catch(Ae){}return Se}function Tp(Ae){return!!Ip(Ae)&&"function"==typeof Ae.getReader}function zp(Ae){return!!Ip(Ae)&&"function"==typeof Ae.getWriter}function qp(Ae){return!!Ip(Ae)&&(!!Tp(Ae.readable)&&!!zp(Ae.writable))}function Fp(Ae){try{return Ae.getReader({mode:"byob"}).releaseLock(),!0}catch(Ae){return!1}}function Op(Ae,Se){var Ce=(void 0===Se?{}:Se).type;return Up(Tp(Ae)),Up(!1===Ae.locked),"bytes"===(Ce=Lp(Ce))?new am(Ae):new sm(Ae)}function Lp(Ae){var Se=Ae+"";if("bytes"===Se)return Se;if(void 0===Ae)return Ae;throw new RangeError("Invalid type is specified")}var nm=function(){function e(Ae){this._underlyingReader=void 0,this._readerMode=void 0,this._readableStreamController=void 0,this._pendingRead=void 0,this._underlyingStream=Ae,this._attachDefaultReader()}return e.prototype.start=function(Ae){this._readableStreamController=Ae},e.prototype.cancel=function(Ae){return Up(void 0!==this._underlyingReader),this._underlyingReader.cancel(Ae)},e.prototype._attachDefaultReader=function(){if("default"!==this._readerMode){this._detachReader();var Ae=this._underlyingStream.getReader();this._readerMode="default",this._attachReader(Ae)}},e.prototype._attachReader=function(Ae){var Se=this;Up(void 0===this._underlyingReader),this._underlyingReader=Ae;var Ce=this._underlyingReader.closed;Ce&&Ce.then((function(){return Se._finishPendingRead()})).then((function(){Ae===Se._underlyingReader&&Se._readableStreamController.close()}),(function(Ce){Ae===Se._underlyingReader&&Se._readableStreamController.error(Ce)})).catch(Rp)},e.prototype._detachReader=function(){void 0!==this._underlyingReader&&(this._underlyingReader.releaseLock(),this._underlyingReader=void 0,this._readerMode=void 0)},e.prototype._pullWithDefaultReader=function(){var Ae=this;this._attachDefaultReader();var Se=this._underlyingReader.read().then((function(Se){var Ce=Ae._readableStreamController;Se.done?Ae._tryClose():Ce.enqueue(Se.value)}));return this._setPendingRead(Se),Se},e.prototype._tryClose=function(){try{this._readableStreamController.close()}catch(Ae){}},e.prototype._setPendingRead=function(Ae){var Se,Ce=this,i=function(){Ce._pendingRead===Se&&(Ce._pendingRead=void 0)};this._pendingRead=Se=Ae.then(i,i)},e.prototype._finishPendingRead=function(){var Ae=this;if(this._pendingRead){var t=function(){return Ae._finishPendingRead()};return this._pendingRead.then(t,t)}},e}(),sm=function(Ae){function t(){return null!==Ae&&Ae.apply(this,arguments)||this}return Dp(t,Ae),t.prototype.pull=function(){return this._pullWithDefaultReader()},t}(nm);function Wp(Ae){return new Uint8Array(Ae.buffer,Ae.byteOffset,Ae.byteLength)}var am=function(Ae){function t(Se){var Ce=this,qe=Fp(Se);return(Ce=Ae.call(this,Se)||this)._supportsByob=qe,Ce}return Dp(t,Ae),Object.defineProperty(t.prototype,"type",{get:function(){return"bytes"},enumerable:!1,configurable:!0}),t.prototype._attachByobReader=function(){if("byob"!==this._readerMode){Up(this._supportsByob),this._detachReader();var Ae=this._underlyingStream.getReader({mode:"byob"});this._readerMode="byob",this._attachReader(Ae)}},t.prototype.pull=function(){if(this._supportsByob){var Ae=this._readableStreamController.byobRequest;if(Ae)return this._pullWithByobRequest(Ae)}return this._pullWithDefaultReader()},t.prototype._pullWithByobRequest=function(Ae){var Se=this;this._attachByobReader();var Ce=new Uint8Array(Ae.view.byteLength),qe=this._underlyingReader.read(Ce).then((function(Ce){var qe,Fe,$e;Se._readableStreamController,Ce.done?(Se._tryClose(),Ae.respond(0)):(qe=Ce.value,Fe=Ae.view,$e=Wp(qe),Wp(Fe).set($e,0),Ae.respond(Ce.value.byteLength))}));return this._setPendingRead(qe),qe},t}(nm);function Gp(Ae){Up(zp(Ae)),Up(!1===Ae.locked);var Se=Ae.getWriter();return new om(Se)}var om=function(){function e(Ae){var Se=this;this._writableStreamController=void 0,this._pendingWrite=void 0,this._state="writable",this._storedError=void 0,this._underlyingWriter=Ae,this._errorPromise=new Promise((function(Ae,Ce){Se._errorPromiseReject=Ce})),this._errorPromise.catch(Rp)}return e.prototype.start=function(Ae){var Se=this;this._writableStreamController=Ae,this._underlyingWriter.closed.then((function(){Se._state="closed"})).catch((function(Ae){return Se._finishErroring(Ae)}))},e.prototype.write=function(Ae){var Se=this,Ce=this._underlyingWriter;if(null===Ce.desiredSize)return Ce.ready;var qe=Ce.write(Ae);qe.catch((function(Ae){return Se._finishErroring(Ae)})),Ce.ready.catch((function(Ae){return Se._startErroring(Ae)}));var Fe=Promise.race([qe,this._errorPromise]);return this._setPendingWrite(Fe),Fe},e.prototype.close=function(){var Ae=this;return void 0===this._pendingWrite?this._underlyingWriter.close():this._finishPendingWrite().then((function(){return Ae.close()}))},e.prototype.abort=function(Ae){if("errored"!==this._state)return this._underlyingWriter.abort(Ae)},e.prototype._setPendingWrite=function(Ae){var Se,Ce=this,i=function(){Ce._pendingWrite===Se&&(Ce._pendingWrite=void 0)};this._pendingWrite=Se=Ae.then(i,i)},e.prototype._finishPendingWrite=function(){var Ae=this;if(void 0===this._pendingWrite)return Promise.resolve();var t=function(){return Ae._finishPendingWrite()};return this._pendingWrite.then(t,t)},e.prototype._startErroring=function(Ae){var Se=this;if("writable"===this._state){this._state="erroring",this._storedError=Ae;var r=function(){return Se._finishErroring(Ae)};void 0===this._pendingWrite?r():this._finishPendingWrite().then(r,r),this._writableStreamController.error(Ae)}},e.prototype._finishErroring=function(Ae){"writable"===this._state&&this._startErroring(Ae),"erroring"===this._state&&(this._state="errored",this._errorPromiseReject(this._storedError))},e}();function $p(Ae){Up(qp(Ae));var Se=Ae.readable,Ce=Ae.writable;Up(!1===Se.locked),Up(!1===Ce.locked);var qe,Fe=Se.getReader();try{qe=Ce.getWriter()}catch(Ae){throw Fe.releaseLock(),Ae}return new cm(Fe,qe)}var cm=function(){function e(Ae,Se){var Ce=this;this._transformStreamController=void 0,this._onRead=function(Ae){if(!Ae.done)return Ce._transformStreamController.enqueue(Ae.value),Ce._reader.read().then(Ce._onRead)},this._onError=function(Ae){Ce._flushReject(Ae),Ce._transformStreamController.error(Ae),Ce._reader.cancel(Ae).catch(Rp),Ce._writer.abort(Ae).catch(Rp)},this._onTerminate=function(){Ce._flushResolve(),Ce._transformStreamController.terminate();var Ae=new TypeError("TransformStream terminated");Ce._writer.abort(Ae).catch(Rp)},this._reader=Ae,this._writer=Se,this._flushPromise=new Promise((function(Ae,Se){Ce._flushResolve=Ae,Ce._flushReject=Se}))}return e.prototype.start=function(Ae){this._transformStreamController=Ae,this._reader.read().then(this._onRead).then(this._onTerminate,this._onError);var Se=this._reader.closed;Se&&Se.then(this._onTerminate,this._onError)},e.prototype.transform=function(Ae){return this._writer.write(Ae)},e.prototype.flush=function(){var Ae=this;return this._writer.close().then((function(){return Ae._flushPromise}))},e}(),um=Object.freeze({__proto__:null,createReadableStreamWrapper:function(Ae){Up(function(Ae){return!!Bp(Ae)&&!!Tp(new Ae)}(Ae));var Se=function(Ae){try{return new Ae({type:"bytes"}),!0}catch(Ae){return!1}}(Ae);return function(Ce,qe){var Fe=(void 0===qe?{}:qe).type;if("bytes"!==(Fe=Lp(Fe))||Se||(Fe=void 0),Ce.constructor===Ae&&("bytes"!==Fe||Fp(Ce)))return Ce;if("bytes"===Fe){var $e=Op(Ce,{type:Fe});return new Ae($e)}$e=Op(Ce);return new Ae($e)}},createTransformStreamWrapper:function(Ae){return Up(function(Ae){return!!Bp(Ae)&&!!qp(new Ae)}(Ae)),function(Se){if(Se.constructor===Ae)return Se;var Ce=$p(Se);return new Ae(Ce)}},createWrappingReadableSource:Op,createWrappingTransformer:$p,createWrappingWritableSink:Gp,createWritableStreamWrapper:function(Ae){return Up(function(Ae){return!!Bp(Ae)&&!!zp(new Ae)}(Ae)),function(Se){if(Se.constructor===Ae)return Se;var Ce=Gp(Se);return new Ae(Ce)}}}),hm=gt((function(Ae){!function(Ae,Se){function r(Ae,Se){if(!Ae)throw Error(Se||"Assertion failed")}function i(Ae,Se){Ae.super_=Se;var r=function(){};r.prototype=Se.prototype,Ae.prototype=new r,Ae.prototype.constructor=Ae}function n(Ae,Se,Ce){if(n.isBN(Ae))return Ae;this.negative=0,this.words=null,this.length=0,this.red=null,null!==Ae&&("le"!==Se&&"be"!==Se||(Ce=Se,Se=10),this._init(Ae||0,Se||10,Ce||"be"))}var Ce;"object"==typeof Ae?Ae.exports=n:Se.BN=n,n.BN=n,n.wordSize=26;try{Ce=ht.default.Buffer}catch(Ae){}function s(Ae,Se,Ce){for(var qe=0,Fe=Math.min(Ae.length,Ce),$e=Se;$e<Fe;$e++){var rt=Ae.charCodeAt($e)-48;qe<<=4,qe|=rt>=49&&rt<=54?rt-49+10:rt>=17&&rt<=22?rt-17+10:15&rt}return qe}function o(Ae,Se,Ce,qe){for(var Fe=0,$e=Math.min(Ae.length,Ce),rt=Se;rt<$e;rt++){var it=Ae.charCodeAt(rt)-48;Fe*=qe,Fe+=it>=49?it-49+10:it>=17?it-17+10:it}return Fe}n.isBN=function(Ae){return Ae instanceof n||null!==Ae&&"object"==typeof Ae&&Ae.constructor.wordSize===n.wordSize&&Array.isArray(Ae.words)},n.max=function(Ae,Se){return Ae.cmp(Se)>0?Ae:Se},n.min=function(Ae,Se){return Ae.cmp(Se)<0?Ae:Se},n.prototype._init=function(Ae,Se,Ce){if("number"==typeof Ae)return this._initNumber(Ae,Se,Ce);if("object"==typeof Ae)return this._initArray(Ae,Se,Ce);"hex"===Se&&(Se=16),r(Se===(0|Se)&&Se>=2&&Se<=36);var qe=0;"-"===(Ae=Ae.toString().replace(/\s+/g,""))[0]&&qe++,16===Se?this._parseHex(Ae,qe):this._parseBase(Ae,Se,qe),"-"===Ae[0]&&(this.negative=1),this.strip(),"le"===Ce&&this._initArray(this.toArray(),Se,Ce)},n.prototype._initNumber=function(Ae,Se,Ce){Ae<0&&(this.negative=1,Ae=-Ae),Ae<67108864?(this.words=[67108863&Ae],this.length=1):Ae<4503599627370496?(this.words=[67108863&Ae,Ae/67108864&67108863],this.length=2):(r(Ae<9007199254740992),this.words=[67108863&Ae,Ae/67108864&67108863,1],this.length=3),"le"===Ce&&this._initArray(this.toArray(),Se,Ce)},n.prototype._initArray=function(Ae,Se,Ce){if(r("number"==typeof Ae.length),Ae.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(Ae.length/3),this.words=Array(this.length);for(var qe=0;qe<this.length;qe++)this.words[qe]=0;var Fe,$e,rt=0;if("be"===Ce)for(qe=Ae.length-1,Fe=0;qe>=0;qe-=3)$e=Ae[qe]|Ae[qe-1]<<8|Ae[qe-2]<<16,this.words[Fe]|=$e<<rt&67108863,this.words[Fe+1]=$e>>>26-rt&67108863,(rt+=24)>=26&&(rt-=26,Fe++);else if("le"===Ce)for(qe=0,Fe=0;qe<Ae.length;qe+=3)$e=Ae[qe]|Ae[qe+1]<<8|Ae[qe+2]<<16,this.words[Fe]|=$e<<rt&67108863,this.words[Fe+1]=$e>>>26-rt&67108863,(rt+=24)>=26&&(rt-=26,Fe++);return this.strip()},n.prototype._parseHex=function(Ae,Se){this.length=Math.ceil((Ae.length-Se)/6),this.words=Array(this.length);for(var Ce=0;Ce<this.length;Ce++)this.words[Ce]=0;var qe,Fe,$e=0;for(Ce=Ae.length-6,qe=0;Ce>=Se;Ce-=6)Fe=s(Ae,Ce,Ce+6),this.words[qe]|=Fe<<$e&67108863,this.words[qe+1]|=Fe>>>26-$e&4194303,($e+=24)>=26&&($e-=26,qe++);Ce+6!==Se&&(Fe=s(Ae,Se,Ce+6),this.words[qe]|=Fe<<$e&67108863,this.words[qe+1]|=Fe>>>26-$e&4194303),this.strip()},n.prototype._parseBase=function(Ae,Se,Ce){this.words=[0],this.length=1;for(var qe=0,Fe=1;Fe<=67108863;Fe*=Se)qe++;qe--,Fe=Fe/Se|0;for(var $e=Ae.length-Ce,rt=$e%qe,it=Math.min($e,$e-rt)+Ce,nt=0,st=Ce;st<it;st+=qe)nt=o(Ae,st,st+qe,Se),this.imuln(Fe),this.words[0]+nt<67108864?this.words[0]+=nt:this._iaddn(nt);if(0!==rt){var ut=1;for(nt=o(Ae,st,Ae.length,Se),st=0;st<rt;st++)ut*=Se;this.imuln(ut),this.words[0]+nt<67108864?this.words[0]+=nt:this._iaddn(nt)}},n.prototype.copy=function(Ae){Ae.words=Array(this.length);for(var Se=0;Se<this.length;Se++)Ae.words[Se]=this.words[Se];Ae.length=this.length,Ae.negative=this.negative,Ae.red=this.red},n.prototype.clone=function(){var Ae=new n(null);return this.copy(Ae),Ae},n.prototype._expand=function(Ae){for(;this.length<Ae;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var qe=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],Fe=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],$e=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(Ae,Se,Ce){Ce.negative=Se.negative^Ae.negative;var qe=Ae.length+Se.length|0;Ce.length=qe,qe=qe-1|0;var Fe=0|Ae.words[0],$e=0|Se.words[0],rt=Fe*$e,it=67108863&rt,nt=rt/67108864|0;Ce.words[0]=it;for(var st=1;st<qe;st++){for(var ut=nt>>>26,ht=67108863&nt,ft=Math.min(st,Se.length-1),yt=Math.max(0,st-Ae.length+1);yt<=ft;yt++){var mt=st-yt|0;ut+=(rt=(Fe=0|Ae.words[mt])*($e=0|Se.words[yt])+ht)/67108864|0,ht=67108863&rt}Ce.words[st]=0|ht,nt=0|ut}return 0!==nt?Ce.words[st]=0|nt:Ce.length--,Ce.strip()}n.prototype.toString=function(Ae,Se){var Ce;if(Se=0|Se||1,16===(Ae=Ae||10)||"hex"===Ae){Ce="";for(var rt=0,it=0,nt=0;nt<this.length;nt++){var st=this.words[nt],ut=(16777215&(st<<rt|it)).toString(16);Ce=0!==(it=st>>>24-rt&16777215)||nt!==this.length-1?qe[6-ut.length]+ut+Ce:ut+Ce,(rt+=2)>=26&&(rt-=26,nt--)}for(0!==it&&(Ce=it.toString(16)+Ce);Ce.length%Se!=0;)Ce="0"+Ce;return 0!==this.negative&&(Ce="-"+Ce),Ce}if(Ae===(0|Ae)&&Ae>=2&&Ae<=36){var ht=Fe[Ae],ft=$e[Ae];Ce="";var yt=this.clone();for(yt.negative=0;!yt.isZero();){var mt=yt.modn(ft).toString(Ae);Ce=(yt=yt.idivn(ft)).isZero()?mt+Ce:qe[ht-mt.length]+mt+Ce}for(this.isZero()&&(Ce="0"+Ce);Ce.length%Se!=0;)Ce="0"+Ce;return 0!==this.negative&&(Ce="-"+Ce),Ce}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var Ae=this.words[0];return 2===this.length?Ae+=67108864*this.words[1]:3===this.length&&1===this.words[2]?Ae+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-Ae:Ae},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(Ae,Se){return r(void 0!==Ce),this.toArrayLike(Ce,Ae,Se)},n.prototype.toArray=function(Ae,Se){return this.toArrayLike(Array,Ae,Se)},n.prototype.toArrayLike=function(Ae,Se,Ce){var qe=this.byteLength(),Fe=Ce||Math.max(1,qe);r(qe<=Fe,"byte array longer than desired length"),r(Fe>0,"Requested array length <= 0"),this.strip();var $e,rt,it="le"===Se,nt=new Ae(Fe),st=this.clone();if(it){for(rt=0;!st.isZero();rt++)$e=st.andln(255),st.iushrn(8),nt[rt]=$e;for(;rt<Fe;rt++)nt[rt]=0}else{for(rt=0;rt<Fe-qe;rt++)nt[rt]=0;for(rt=0;!st.isZero();rt++)$e=st.andln(255),st.iushrn(8),nt[Fe-rt-1]=$e}return nt},n.prototype._countBits=Math.clz32?function(Ae){return 32-Math.clz32(Ae)}:function(Ae){var Se=Ae,Ce=0;return Se>=4096&&(Ce+=13,Se>>>=13),Se>=64&&(Ce+=7,Se>>>=7),Se>=8&&(Ce+=4,Se>>>=4),Se>=2&&(Ce+=2,Se>>>=2),Ce+Se},n.prototype._zeroBits=function(Ae){if(0===Ae)return 26;var Se=Ae,Ce=0;return 0==(8191&Se)&&(Ce+=13,Se>>>=13),0==(127&Se)&&(Ce+=7,Se>>>=7),0==(15&Se)&&(Ce+=4,Se>>>=4),0==(3&Se)&&(Ce+=2,Se>>>=2),0==(1&Se)&&Ce++,Ce},n.prototype.bitLength=function(){var Ae=this.words[this.length-1],Se=this._countBits(Ae);return 26*(this.length-1)+Se},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var Ae=0,Se=0;Se<this.length;Se++){var Ce=this._zeroBits(this.words[Se]);if(Ae+=Ce,26!==Ce)break}return Ae},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(Ae){return 0!==this.negative?this.abs().inotn(Ae).iaddn(1):this.clone()},n.prototype.fromTwos=function(Ae){return this.testn(Ae-1)?this.notn(Ae).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(Ae){for(;this.length<Ae.length;)this.words[this.length++]=0;for(var Se=0;Se<Ae.length;Se++)this.words[Se]=this.words[Se]|Ae.words[Se];return this.strip()},n.prototype.ior=function(Ae){return r(0==(this.negative|Ae.negative)),this.iuor(Ae)},n.prototype.or=function(Ae){return this.length>Ae.length?this.clone().ior(Ae):Ae.clone().ior(this)},n.prototype.uor=function(Ae){return this.length>Ae.length?this.clone().iuor(Ae):Ae.clone().iuor(this)},n.prototype.iuand=function(Ae){var Se;Se=this.length>Ae.length?Ae:this;for(var Ce=0;Ce<Se.length;Ce++)this.words[Ce]=this.words[Ce]&Ae.words[Ce];return this.length=Se.length,this.strip()},n.prototype.iand=function(Ae){return r(0==(this.negative|Ae.negative)),this.iuand(Ae)},n.prototype.and=function(Ae){return this.length>Ae.length?this.clone().iand(Ae):Ae.clone().iand(this)},n.prototype.uand=function(Ae){return this.length>Ae.length?this.clone().iuand(Ae):Ae.clone().iuand(this)},n.prototype.iuxor=function(Ae){var Se,Ce;this.length>Ae.length?(Se=this,Ce=Ae):(Se=Ae,Ce=this);for(var qe=0;qe<Ce.length;qe++)this.words[qe]=Se.words[qe]^Ce.words[qe];if(this!==Se)for(;qe<Se.length;qe++)this.words[qe]=Se.words[qe];return this.length=Se.length,this.strip()},n.prototype.ixor=function(Ae){return r(0==(this.negative|Ae.negative)),this.iuxor(Ae)},n.prototype.xor=function(Ae){return this.length>Ae.length?this.clone().ixor(Ae):Ae.clone().ixor(this)},n.prototype.uxor=function(Ae){return this.length>Ae.length?this.clone().iuxor(Ae):Ae.clone().iuxor(this)},n.prototype.inotn=function(Ae){r("number"==typeof Ae&&Ae>=0);var Se=0|Math.ceil(Ae/26),Ce=Ae%26;this._expand(Se),Ce>0&&Se--;for(var qe=0;qe<Se;qe++)this.words[qe]=67108863&~this.words[qe];return Ce>0&&(this.words[qe]=~this.words[qe]&67108863>>26-Ce),this.strip()},n.prototype.notn=function(Ae){return this.clone().inotn(Ae)},n.prototype.setn=function(Ae,Se){r("number"==typeof Ae&&Ae>=0);var Ce=Ae/26|0,qe=Ae%26;return this._expand(Ce+1),this.words[Ce]=Se?this.words[Ce]|1<<qe:this.words[Ce]&~(1<<qe),this.strip()},n.prototype.iadd=function(Ae){var Se,Ce,qe;if(0!==this.negative&&0===Ae.negative)return this.negative=0,Se=this.isub(Ae),this.negative^=1,this._normSign();if(0===this.negative&&0!==Ae.negative)return Ae.negative=0,Se=this.isub(Ae),Ae.negative=1,Se._normSign();this.length>Ae.length?(Ce=this,qe=Ae):(Ce=Ae,qe=this);for(var Fe=0,$e=0;$e<qe.length;$e++)Se=(0|Ce.words[$e])+(0|qe.words[$e])+Fe,this.words[$e]=67108863&Se,Fe=Se>>>26;for(;0!==Fe&&$e<Ce.length;$e++)Se=(0|Ce.words[$e])+Fe,this.words[$e]=67108863&Se,Fe=Se>>>26;if(this.length=Ce.length,0!==Fe)this.words[this.length]=Fe,this.length++;else if(Ce!==this)for(;$e<Ce.length;$e++)this.words[$e]=Ce.words[$e];return this},n.prototype.add=function(Ae){var Se;return 0!==Ae.negative&&0===this.negative?(Ae.negative=0,Se=this.sub(Ae),Ae.negative^=1,Se):0===Ae.negative&&0!==this.negative?(this.negative=0,Se=Ae.sub(this),this.negative=1,Se):this.length>Ae.length?this.clone().iadd(Ae):Ae.clone().iadd(this)},n.prototype.isub=function(Ae){if(0!==Ae.negative){Ae.negative=0;var Se=this.iadd(Ae);return Ae.negative=1,Se._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(Ae),this.negative=1,this._normSign();var Ce,qe,Fe=this.cmp(Ae);if(0===Fe)return this.negative=0,this.length=1,this.words[0]=0,this;Fe>0?(Ce=this,qe=Ae):(Ce=Ae,qe=this);for(var $e=0,rt=0;rt<qe.length;rt++)$e=(Se=(0|Ce.words[rt])-(0|qe.words[rt])+$e)>>26,this.words[rt]=67108863&Se;for(;0!==$e&&rt<Ce.length;rt++)$e=(Se=(0|Ce.words[rt])+$e)>>26,this.words[rt]=67108863&Se;if(0===$e&&rt<Ce.length&&Ce!==this)for(;rt<Ce.length;rt++)this.words[rt]=Ce.words[rt];return this.length=Math.max(this.length,rt),Ce!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(Ae){return this.clone().isub(Ae)};var l=function(Ae,Se,Ce){var qe,Fe,$e,rt=Ae.words,it=Se.words,nt=Ce.words,st=0,ut=0|rt[0],ht=8191&ut,ft=ut>>>13,yt=0|rt[1],mt=8191&yt,vt=yt>>>13,_t=0|rt[2],Ct=8191&_t,Rt=_t>>>13,Ut=0|rt[3],It=8191&Ut,Ot=Ut>>>13,Nt=0|rt[4],jt=8191&Nt,Ft=Nt>>>13,Lt=0|rt[5],Ht=8191&Lt,Wt=Lt>>>13,Gt=0|rt[6],$t=8191&Gt,Vt=Gt>>>13,Zt=0|rt[7],Qt=8191&Zt,Xt=Zt>>>13,er=0|rt[8],tr=8191&er,rr=er>>>13,ir=0|rt[9],nr=8191&ir,sr=ir>>>13,ar=0|it[0],cr=8191&ar,ur=ar>>>13,hr=0|it[1],lr=8191&hr,dr=hr>>>13,fr=0|it[2],yr=8191&fr,Cr=fr>>>13,Dr=0|it[3],Rr=8191&Dr,Kr=Dr>>>13,Tr=0|it[4],Ur=8191&Tr,Ir=Tr>>>13,Or=0|it[5],Nr=8191&Or,jr=Or>>>13,Lr=0|it[6],Wr=8191&Lr,Qr=Lr>>>13,ti=0|it[7],ri=8191&ti,ii=ti>>>13,oi=0|it[8],ci=8191&oi,li=oi>>>13,di=0|it[9],fi=8191&di,pi=di>>>13;Ce.negative=Ae.negative^Se.negative,Ce.length=19;var yi=(st+(qe=Math.imul(ht,cr))|0)+((8191&(Fe=(Fe=Math.imul(ht,ur))+Math.imul(ft,cr)|0))<<13)|0;st=(($e=Math.imul(ft,ur))+(Fe>>>13)|0)+(yi>>>26)|0,yi&=67108863,qe=Math.imul(mt,cr),Fe=(Fe=Math.imul(mt,ur))+Math.imul(vt,cr)|0,$e=Math.imul(vt,ur);var gi=(st+(qe=qe+Math.imul(ht,lr)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,dr)|0)+Math.imul(ft,lr)|0))<<13)|0;st=(($e=$e+Math.imul(ft,dr)|0)+(Fe>>>13)|0)+(gi>>>26)|0,gi&=67108863,qe=Math.imul(Ct,cr),Fe=(Fe=Math.imul(Ct,ur))+Math.imul(Rt,cr)|0,$e=Math.imul(Rt,ur),qe=qe+Math.imul(mt,lr)|0,Fe=(Fe=Fe+Math.imul(mt,dr)|0)+Math.imul(vt,lr)|0,$e=$e+Math.imul(vt,dr)|0;var vi=(st+(qe=qe+Math.imul(ht,yr)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,Cr)|0)+Math.imul(ft,yr)|0))<<13)|0;st=(($e=$e+Math.imul(ft,Cr)|0)+(Fe>>>13)|0)+(vi>>>26)|0,vi&=67108863,qe=Math.imul(It,cr),Fe=(Fe=Math.imul(It,ur))+Math.imul(Ot,cr)|0,$e=Math.imul(Ot,ur),qe=qe+Math.imul(Ct,lr)|0,Fe=(Fe=Fe+Math.imul(Ct,dr)|0)+Math.imul(Rt,lr)|0,$e=$e+Math.imul(Rt,dr)|0,qe=qe+Math.imul(mt,yr)|0,Fe=(Fe=Fe+Math.imul(mt,Cr)|0)+Math.imul(vt,yr)|0,$e=$e+Math.imul(vt,Cr)|0;var wi=(st+(qe=qe+Math.imul(ht,Rr)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,Kr)|0)+Math.imul(ft,Rr)|0))<<13)|0;st=(($e=$e+Math.imul(ft,Kr)|0)+(Fe>>>13)|0)+(wi>>>26)|0,wi&=67108863,qe=Math.imul(jt,cr),Fe=(Fe=Math.imul(jt,ur))+Math.imul(Ft,cr)|0,$e=Math.imul(Ft,ur),qe=qe+Math.imul(It,lr)|0,Fe=(Fe=Fe+Math.imul(It,dr)|0)+Math.imul(Ot,lr)|0,$e=$e+Math.imul(Ot,dr)|0,qe=qe+Math.imul(Ct,yr)|0,Fe=(Fe=Fe+Math.imul(Ct,Cr)|0)+Math.imul(Rt,yr)|0,$e=$e+Math.imul(Rt,Cr)|0,qe=qe+Math.imul(mt,Rr)|0,Fe=(Fe=Fe+Math.imul(mt,Kr)|0)+Math.imul(vt,Rr)|0,$e=$e+Math.imul(vt,Kr)|0;var ki=(st+(qe=qe+Math.imul(ht,Ur)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,Ir)|0)+Math.imul(ft,Ur)|0))<<13)|0;st=(($e=$e+Math.imul(ft,Ir)|0)+(Fe>>>13)|0)+(ki>>>26)|0,ki&=67108863,qe=Math.imul(Ht,cr),Fe=(Fe=Math.imul(Ht,ur))+Math.imul(Wt,cr)|0,$e=Math.imul(Wt,ur),qe=qe+Math.imul(jt,lr)|0,Fe=(Fe=Fe+Math.imul(jt,dr)|0)+Math.imul(Ft,lr)|0,$e=$e+Math.imul(Ft,dr)|0,qe=qe+Math.imul(It,yr)|0,Fe=(Fe=Fe+Math.imul(It,Cr)|0)+Math.imul(Ot,yr)|0,$e=$e+Math.imul(Ot,Cr)|0,qe=qe+Math.imul(Ct,Rr)|0,Fe=(Fe=Fe+Math.imul(Ct,Kr)|0)+Math.imul(Rt,Rr)|0,$e=$e+Math.imul(Rt,Kr)|0,qe=qe+Math.imul(mt,Ur)|0,Fe=(Fe=Fe+Math.imul(mt,Ir)|0)+Math.imul(vt,Ur)|0,$e=$e+Math.imul(vt,Ir)|0;var Si=(st+(qe=qe+Math.imul(ht,Nr)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,jr)|0)+Math.imul(ft,Nr)|0))<<13)|0;st=(($e=$e+Math.imul(ft,jr)|0)+(Fe>>>13)|0)+(Si>>>26)|0,Si&=67108863,qe=Math.imul($t,cr),Fe=(Fe=Math.imul($t,ur))+Math.imul(Vt,cr)|0,$e=Math.imul(Vt,ur),qe=qe+Math.imul(Ht,lr)|0,Fe=(Fe=Fe+Math.imul(Ht,dr)|0)+Math.imul(Wt,lr)|0,$e=$e+Math.imul(Wt,dr)|0,qe=qe+Math.imul(jt,yr)|0,Fe=(Fe=Fe+Math.imul(jt,Cr)|0)+Math.imul(Ft,yr)|0,$e=$e+Math.imul(Ft,Cr)|0,qe=qe+Math.imul(It,Rr)|0,Fe=(Fe=Fe+Math.imul(It,Kr)|0)+Math.imul(Ot,Rr)|0,$e=$e+Math.imul(Ot,Kr)|0,qe=qe+Math.imul(Ct,Ur)|0,Fe=(Fe=Fe+Math.imul(Ct,Ir)|0)+Math.imul(Rt,Ur)|0,$e=$e+Math.imul(Rt,Ir)|0,qe=qe+Math.imul(mt,Nr)|0,Fe=(Fe=Fe+Math.imul(mt,jr)|0)+Math.imul(vt,Nr)|0,$e=$e+Math.imul(vt,jr)|0;var Ei=(st+(qe=qe+Math.imul(ht,Wr)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,Qr)|0)+Math.imul(ft,Wr)|0))<<13)|0;st=(($e=$e+Math.imul(ft,Qr)|0)+(Fe>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,qe=Math.imul(Qt,cr),Fe=(Fe=Math.imul(Qt,ur))+Math.imul(Xt,cr)|0,$e=Math.imul(Xt,ur),qe=qe+Math.imul($t,lr)|0,Fe=(Fe=Fe+Math.imul($t,dr)|0)+Math.imul(Vt,lr)|0,$e=$e+Math.imul(Vt,dr)|0,qe=qe+Math.imul(Ht,yr)|0,Fe=(Fe=Fe+Math.imul(Ht,Cr)|0)+Math.imul(Wt,yr)|0,$e=$e+Math.imul(Wt,Cr)|0,qe=qe+Math.imul(jt,Rr)|0,Fe=(Fe=Fe+Math.imul(jt,Kr)|0)+Math.imul(Ft,Rr)|0,$e=$e+Math.imul(Ft,Kr)|0,qe=qe+Math.imul(It,Ur)|0,Fe=(Fe=Fe+Math.imul(It,Ir)|0)+Math.imul(Ot,Ur)|0,$e=$e+Math.imul(Ot,Ir)|0,qe=qe+Math.imul(Ct,Nr)|0,Fe=(Fe=Fe+Math.imul(Ct,jr)|0)+Math.imul(Rt,Nr)|0,$e=$e+Math.imul(Rt,jr)|0,qe=qe+Math.imul(mt,Wr)|0,Fe=(Fe=Fe+Math.imul(mt,Qr)|0)+Math.imul(vt,Wr)|0,$e=$e+Math.imul(vt,Qr)|0;var Mi=(st+(qe=qe+Math.imul(ht,ri)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,ii)|0)+Math.imul(ft,ri)|0))<<13)|0;st=(($e=$e+Math.imul(ft,ii)|0)+(Fe>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,qe=Math.imul(tr,cr),Fe=(Fe=Math.imul(tr,ur))+Math.imul(rr,cr)|0,$e=Math.imul(rr,ur),qe=qe+Math.imul(Qt,lr)|0,Fe=(Fe=Fe+Math.imul(Qt,dr)|0)+Math.imul(Xt,lr)|0,$e=$e+Math.imul(Xt,dr)|0,qe=qe+Math.imul($t,yr)|0,Fe=(Fe=Fe+Math.imul($t,Cr)|0)+Math.imul(Vt,yr)|0,$e=$e+Math.imul(Vt,Cr)|0,qe=qe+Math.imul(Ht,Rr)|0,Fe=(Fe=Fe+Math.imul(Ht,Kr)|0)+Math.imul(Wt,Rr)|0,$e=$e+Math.imul(Wt,Kr)|0,qe=qe+Math.imul(jt,Ur)|0,Fe=(Fe=Fe+Math.imul(jt,Ir)|0)+Math.imul(Ft,Ur)|0,$e=$e+Math.imul(Ft,Ir)|0,qe=qe+Math.imul(It,Nr)|0,Fe=(Fe=Fe+Math.imul(It,jr)|0)+Math.imul(Ot,Nr)|0,$e=$e+Math.imul(Ot,jr)|0,qe=qe+Math.imul(Ct,Wr)|0,Fe=(Fe=Fe+Math.imul(Ct,Qr)|0)+Math.imul(Rt,Wr)|0,$e=$e+Math.imul(Rt,Qr)|0,qe=qe+Math.imul(mt,ri)|0,Fe=(Fe=Fe+Math.imul(mt,ii)|0)+Math.imul(vt,ri)|0,$e=$e+Math.imul(vt,ii)|0;var Pi=(st+(qe=qe+Math.imul(ht,ci)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,li)|0)+Math.imul(ft,ci)|0))<<13)|0;st=(($e=$e+Math.imul(ft,li)|0)+(Fe>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,qe=Math.imul(nr,cr),Fe=(Fe=Math.imul(nr,ur))+Math.imul(sr,cr)|0,$e=Math.imul(sr,ur),qe=qe+Math.imul(tr,lr)|0,Fe=(Fe=Fe+Math.imul(tr,dr)|0)+Math.imul(rr,lr)|0,$e=$e+Math.imul(rr,dr)|0,qe=qe+Math.imul(Qt,yr)|0,Fe=(Fe=Fe+Math.imul(Qt,Cr)|0)+Math.imul(Xt,yr)|0,$e=$e+Math.imul(Xt,Cr)|0,qe=qe+Math.imul($t,Rr)|0,Fe=(Fe=Fe+Math.imul($t,Kr)|0)+Math.imul(Vt,Rr)|0,$e=$e+Math.imul(Vt,Kr)|0,qe=qe+Math.imul(Ht,Ur)|0,Fe=(Fe=Fe+Math.imul(Ht,Ir)|0)+Math.imul(Wt,Ur)|0,$e=$e+Math.imul(Wt,Ir)|0,qe=qe+Math.imul(jt,Nr)|0,Fe=(Fe=Fe+Math.imul(jt,jr)|0)+Math.imul(Ft,Nr)|0,$e=$e+Math.imul(Ft,jr)|0,qe=qe+Math.imul(It,Wr)|0,Fe=(Fe=Fe+Math.imul(It,Qr)|0)+Math.imul(Ot,Wr)|0,$e=$e+Math.imul(Ot,Qr)|0,qe=qe+Math.imul(Ct,ri)|0,Fe=(Fe=Fe+Math.imul(Ct,ii)|0)+Math.imul(Rt,ri)|0,$e=$e+Math.imul(Rt,ii)|0,qe=qe+Math.imul(mt,ci)|0,Fe=(Fe=Fe+Math.imul(mt,li)|0)+Math.imul(vt,ci)|0,$e=$e+Math.imul(vt,li)|0;var xi=(st+(qe=qe+Math.imul(ht,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(ht,pi)|0)+Math.imul(ft,fi)|0))<<13)|0;st=(($e=$e+Math.imul(ft,pi)|0)+(Fe>>>13)|0)+(xi>>>26)|0,xi&=67108863,qe=Math.imul(nr,lr),Fe=(Fe=Math.imul(nr,dr))+Math.imul(sr,lr)|0,$e=Math.imul(sr,dr),qe=qe+Math.imul(tr,yr)|0,Fe=(Fe=Fe+Math.imul(tr,Cr)|0)+Math.imul(rr,yr)|0,$e=$e+Math.imul(rr,Cr)|0,qe=qe+Math.imul(Qt,Rr)|0,Fe=(Fe=Fe+Math.imul(Qt,Kr)|0)+Math.imul(Xt,Rr)|0,$e=$e+Math.imul(Xt,Kr)|0,qe=qe+Math.imul($t,Ur)|0,Fe=(Fe=Fe+Math.imul($t,Ir)|0)+Math.imul(Vt,Ur)|0,$e=$e+Math.imul(Vt,Ir)|0,qe=qe+Math.imul(Ht,Nr)|0,Fe=(Fe=Fe+Math.imul(Ht,jr)|0)+Math.imul(Wt,Nr)|0,$e=$e+Math.imul(Wt,jr)|0,qe=qe+Math.imul(jt,Wr)|0,Fe=(Fe=Fe+Math.imul(jt,Qr)|0)+Math.imul(Ft,Wr)|0,$e=$e+Math.imul(Ft,Qr)|0,qe=qe+Math.imul(It,ri)|0,Fe=(Fe=Fe+Math.imul(It,ii)|0)+Math.imul(Ot,ri)|0,$e=$e+Math.imul(Ot,ii)|0,qe=qe+Math.imul(Ct,ci)|0,Fe=(Fe=Fe+Math.imul(Ct,li)|0)+Math.imul(Rt,ci)|0,$e=$e+Math.imul(Rt,li)|0;var Ci=(st+(qe=qe+Math.imul(mt,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(mt,pi)|0)+Math.imul(vt,fi)|0))<<13)|0;st=(($e=$e+Math.imul(vt,pi)|0)+(Fe>>>13)|0)+(Ci>>>26)|0,Ci&=67108863,qe=Math.imul(nr,yr),Fe=(Fe=Math.imul(nr,Cr))+Math.imul(sr,yr)|0,$e=Math.imul(sr,Cr),qe=qe+Math.imul(tr,Rr)|0,Fe=(Fe=Fe+Math.imul(tr,Kr)|0)+Math.imul(rr,Rr)|0,$e=$e+Math.imul(rr,Kr)|0,qe=qe+Math.imul(Qt,Ur)|0,Fe=(Fe=Fe+Math.imul(Qt,Ir)|0)+Math.imul(Xt,Ur)|0,$e=$e+Math.imul(Xt,Ir)|0,qe=qe+Math.imul($t,Nr)|0,Fe=(Fe=Fe+Math.imul($t,jr)|0)+Math.imul(Vt,Nr)|0,$e=$e+Math.imul(Vt,jr)|0,qe=qe+Math.imul(Ht,Wr)|0,Fe=(Fe=Fe+Math.imul(Ht,Qr)|0)+Math.imul(Wt,Wr)|0,$e=$e+Math.imul(Wt,Qr)|0,qe=qe+Math.imul(jt,ri)|0,Fe=(Fe=Fe+Math.imul(jt,ii)|0)+Math.imul(Ft,ri)|0,$e=$e+Math.imul(Ft,ii)|0,qe=qe+Math.imul(It,ci)|0,Fe=(Fe=Fe+Math.imul(It,li)|0)+Math.imul(Ot,ci)|0,$e=$e+Math.imul(Ot,li)|0;var Di=(st+(qe=qe+Math.imul(Ct,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(Ct,pi)|0)+Math.imul(Rt,fi)|0))<<13)|0;st=(($e=$e+Math.imul(Rt,pi)|0)+(Fe>>>13)|0)+(Di>>>26)|0,Di&=67108863,qe=Math.imul(nr,Rr),Fe=(Fe=Math.imul(nr,Kr))+Math.imul(sr,Rr)|0,$e=Math.imul(sr,Kr),qe=qe+Math.imul(tr,Ur)|0,Fe=(Fe=Fe+Math.imul(tr,Ir)|0)+Math.imul(rr,Ur)|0,$e=$e+Math.imul(rr,Ir)|0,qe=qe+Math.imul(Qt,Nr)|0,Fe=(Fe=Fe+Math.imul(Qt,jr)|0)+Math.imul(Xt,Nr)|0,$e=$e+Math.imul(Xt,jr)|0,qe=qe+Math.imul($t,Wr)|0,Fe=(Fe=Fe+Math.imul($t,Qr)|0)+Math.imul(Vt,Wr)|0,$e=$e+Math.imul(Vt,Qr)|0,qe=qe+Math.imul(Ht,ri)|0,Fe=(Fe=Fe+Math.imul(Ht,ii)|0)+Math.imul(Wt,ri)|0,$e=$e+Math.imul(Wt,ii)|0,qe=qe+Math.imul(jt,ci)|0,Fe=(Fe=Fe+Math.imul(jt,li)|0)+Math.imul(Ft,ci)|0,$e=$e+Math.imul(Ft,li)|0;var Ki=(st+(qe=qe+Math.imul(It,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(It,pi)|0)+Math.imul(Ot,fi)|0))<<13)|0;st=(($e=$e+Math.imul(Ot,pi)|0)+(Fe>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,qe=Math.imul(nr,Ur),Fe=(Fe=Math.imul(nr,Ir))+Math.imul(sr,Ur)|0,$e=Math.imul(sr,Ir),qe=qe+Math.imul(tr,Nr)|0,Fe=(Fe=Fe+Math.imul(tr,jr)|0)+Math.imul(rr,Nr)|0,$e=$e+Math.imul(rr,jr)|0,qe=qe+Math.imul(Qt,Wr)|0,Fe=(Fe=Fe+Math.imul(Qt,Qr)|0)+Math.imul(Xt,Wr)|0,$e=$e+Math.imul(Xt,Qr)|0,qe=qe+Math.imul($t,ri)|0,Fe=(Fe=Fe+Math.imul($t,ii)|0)+Math.imul(Vt,ri)|0,$e=$e+Math.imul(Vt,ii)|0,qe=qe+Math.imul(Ht,ci)|0,Fe=(Fe=Fe+Math.imul(Ht,li)|0)+Math.imul(Wt,ci)|0,$e=$e+Math.imul(Wt,li)|0;var Ti=(st+(qe=qe+Math.imul(jt,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(jt,pi)|0)+Math.imul(Ft,fi)|0))<<13)|0;st=(($e=$e+Math.imul(Ft,pi)|0)+(Fe>>>13)|0)+(Ti>>>26)|0,Ti&=67108863,qe=Math.imul(nr,Nr),Fe=(Fe=Math.imul(nr,jr))+Math.imul(sr,Nr)|0,$e=Math.imul(sr,jr),qe=qe+Math.imul(tr,Wr)|0,Fe=(Fe=Fe+Math.imul(tr,Qr)|0)+Math.imul(rr,Wr)|0,$e=$e+Math.imul(rr,Qr)|0,qe=qe+Math.imul(Qt,ri)|0,Fe=(Fe=Fe+Math.imul(Qt,ii)|0)+Math.imul(Xt,ri)|0,$e=$e+Math.imul(Xt,ii)|0,qe=qe+Math.imul($t,ci)|0,Fe=(Fe=Fe+Math.imul($t,li)|0)+Math.imul(Vt,ci)|0,$e=$e+Math.imul(Vt,li)|0;var Ui=(st+(qe=qe+Math.imul(Ht,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(Ht,pi)|0)+Math.imul(Wt,fi)|0))<<13)|0;st=(($e=$e+Math.imul(Wt,pi)|0)+(Fe>>>13)|0)+(Ui>>>26)|0,Ui&=67108863,qe=Math.imul(nr,Wr),Fe=(Fe=Math.imul(nr,Qr))+Math.imul(sr,Wr)|0,$e=Math.imul(sr,Qr),qe=qe+Math.imul(tr,ri)|0,Fe=(Fe=Fe+Math.imul(tr,ii)|0)+Math.imul(rr,ri)|0,$e=$e+Math.imul(rr,ii)|0,qe=qe+Math.imul(Qt,ci)|0,Fe=(Fe=Fe+Math.imul(Qt,li)|0)+Math.imul(Xt,ci)|0,$e=$e+Math.imul(Xt,li)|0;var Ni=(st+(qe=qe+Math.imul($t,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul($t,pi)|0)+Math.imul(Vt,fi)|0))<<13)|0;st=(($e=$e+Math.imul(Vt,pi)|0)+(Fe>>>13)|0)+(Ni>>>26)|0,Ni&=67108863,qe=Math.imul(nr,ri),Fe=(Fe=Math.imul(nr,ii))+Math.imul(sr,ri)|0,$e=Math.imul(sr,ii),qe=qe+Math.imul(tr,ci)|0,Fe=(Fe=Fe+Math.imul(tr,li)|0)+Math.imul(rr,ci)|0,$e=$e+Math.imul(rr,li)|0;var ji=(st+(qe=qe+Math.imul(Qt,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(Qt,pi)|0)+Math.imul(Xt,fi)|0))<<13)|0;st=(($e=$e+Math.imul(Xt,pi)|0)+(Fe>>>13)|0)+(ji>>>26)|0,ji&=67108863,qe=Math.imul(nr,ci),Fe=(Fe=Math.imul(nr,li))+Math.imul(sr,ci)|0,$e=Math.imul(sr,li);var qi=(st+(qe=qe+Math.imul(tr,fi)|0)|0)+((8191&(Fe=(Fe=Fe+Math.imul(tr,pi)|0)+Math.imul(rr,fi)|0))<<13)|0;st=(($e=$e+Math.imul(rr,pi)|0)+(Fe>>>13)|0)+(qi>>>26)|0,qi&=67108863;var zi=(st+(qe=Math.imul(nr,fi))|0)+((8191&(Fe=(Fe=Math.imul(nr,pi))+Math.imul(sr,fi)|0))<<13)|0;return st=(($e=Math.imul(sr,pi))+(Fe>>>13)|0)+(zi>>>26)|0,zi&=67108863,nt[0]=yi,nt[1]=gi,nt[2]=vi,nt[3]=wi,nt[4]=ki,nt[5]=Si,nt[6]=Ei,nt[7]=Mi,nt[8]=Pi,nt[9]=xi,nt[10]=Ci,nt[11]=Di,nt[12]=Ki,nt[13]=Ti,nt[14]=Ui,nt[15]=Ni,nt[16]=ji,nt[17]=qi,nt[18]=zi,0!==st&&(nt[19]=st,Ce.length++),Ce};function p(Ae,Se,Ce){return(new y).mulp(Ae,Se,Ce)}function y(Ae,Se){this.x=Ae,this.y=Se}Math.imul||(l=f),n.prototype.mulTo=function(Ae,Se){var Ce,qe=this.length+Ae.length;return Ce=10===this.length&&10===Ae.length?l(this,Ae,Se):qe<63?f(this,Ae,Se):qe<1024?function(Ae,Se,Ce){Ce.negative=Se.negative^Ae.negative,Ce.length=Ae.length+Se.length;for(var qe=0,Fe=0,$e=0;$e<Ce.length-1;$e++){var rt=Fe;Fe=0;for(var it=67108863&qe,nt=Math.min($e,Se.length-1),st=Math.max(0,$e-Ae.length+1);st<=nt;st++){var ut=$e-st,ht=(0|Ae.words[ut])*(0|Se.words[st]),ft=67108863&ht;it=67108863&(ft=ft+it|0),Fe+=(rt=(rt=rt+(ht/67108864|0)|0)+(ft>>>26)|0)>>>26,rt&=67108863}Ce.words[$e]=it,qe=rt,rt=Fe}return 0!==qe?Ce.words[$e]=qe:Ce.length--,Ce.strip()}(this,Ae,Se):p(this,Ae,Se),Ce},y.prototype.makeRBT=function(Ae){for(var Se=Array(Ae),Ce=n.prototype._countBits(Ae)-1,qe=0;qe<Ae;qe++)Se[qe]=this.revBin(qe,Ce,Ae);return Se},y.prototype.revBin=function(Ae,Se,Ce){if(0===Ae||Ae===Ce-1)return Ae;for(var qe=0,Fe=0;Fe<Se;Fe++)qe|=(1&Ae)<<Se-Fe-1,Ae>>=1;return qe},y.prototype.permute=function(Ae,Se,Ce,qe,Fe,$e){for(var rt=0;rt<$e;rt++)qe[rt]=Se[Ae[rt]],Fe[rt]=Ce[Ae[rt]]},y.prototype.transform=function(Ae,Se,Ce,qe,Fe,$e){this.permute($e,Ae,Se,Ce,qe,Fe);for(var rt=1;rt<Fe;rt<<=1)for(var it=rt<<1,nt=Math.cos(2*Math.PI/it),st=Math.sin(2*Math.PI/it),ut=0;ut<Fe;ut+=it)for(var ht=nt,ft=st,yt=0;yt<rt;yt++){var mt=Ce[ut+yt],vt=qe[ut+yt],_t=Ce[ut+yt+rt],Ct=qe[ut+yt+rt],Rt=ht*_t-ft*Ct;Ct=ht*Ct+ft*_t,_t=Rt,Ce[ut+yt]=mt+_t,qe[ut+yt]=vt+Ct,Ce[ut+yt+rt]=mt-_t,qe[ut+yt+rt]=vt-Ct,yt!==it&&(Rt=nt*ht-st*ft,ft=nt*ft+st*ht,ht=Rt)}},y.prototype.guessLen13b=function(Ae,Se){var Ce=1|Math.max(Se,Ae),qe=1&Ce,Fe=0;for(Ce=Ce/2|0;Ce;Ce>>>=1)Fe++;return 1<<Fe+1+qe},y.prototype.conjugate=function(Ae,Se,Ce){if(!(Ce<=1))for(var qe=0;qe<Ce/2;qe++){var Fe=Ae[qe];Ae[qe]=Ae[Ce-qe-1],Ae[Ce-qe-1]=Fe,Fe=Se[qe],Se[qe]=-Se[Ce-qe-1],Se[Ce-qe-1]=-Fe}},y.prototype.normalize13b=function(Ae,Se){for(var Ce=0,qe=0;qe<Se/2;qe++){var Fe=8192*Math.round(Ae[2*qe+1]/Se)+Math.round(Ae[2*qe]/Se)+Ce;Ae[qe]=67108863&Fe,Ce=Fe<67108864?0:Fe/67108864|0}return Ae},y.prototype.convert13b=function(Ae,Se,Ce,qe){for(var Fe=0,$e=0;$e<Se;$e++)Fe+=0|Ae[$e],Ce[2*$e]=8191&Fe,Fe>>>=13,Ce[2*$e+1]=8191&Fe,Fe>>>=13;for($e=2*Se;$e<qe;++$e)Ce[$e]=0;r(0===Fe),r(0==(-8192&Fe))},y.prototype.stub=function(Ae){for(var Se=Array(Ae),Ce=0;Ce<Ae;Ce++)Se[Ce]=0;return Se},y.prototype.mulp=function(Ae,Se,Ce){var qe=2*this.guessLen13b(Ae.length,Se.length),Fe=this.makeRBT(qe),$e=this.stub(qe),rt=Array(qe),it=Array(qe),nt=Array(qe),st=Array(qe),ut=Array(qe),ht=Array(qe),ft=Ce.words;ft.length=qe,this.convert13b(Ae.words,Ae.length,rt,qe),this.convert13b(Se.words,Se.length,st,qe),this.transform(rt,$e,it,nt,qe,Fe),this.transform(st,$e,ut,ht,qe,Fe);for(var yt=0;yt<qe;yt++){var mt=it[yt]*ut[yt]-nt[yt]*ht[yt];nt[yt]=it[yt]*ht[yt]+nt[yt]*ut[yt],it[yt]=mt}return this.conjugate(it,nt,qe),this.transform(it,nt,ft,$e,qe,Fe),this.conjugate(ft,$e,qe),this.normalize13b(ft,qe),Ce.negative=Ae.negative^Se.negative,Ce.length=Ae.length+Se.length,Ce.strip()},n.prototype.mul=function(Ae){var Se=new n(null);return Se.words=Array(this.length+Ae.length),this.mulTo(Ae,Se)},n.prototype.mulf=function(Ae){var Se=new n(null);return Se.words=Array(this.length+Ae.length),p(this,Ae,Se)},n.prototype.imul=function(Ae){return this.clone().mulTo(Ae,this)},n.prototype.imuln=function(Ae){r("number"==typeof Ae),r(Ae<67108864);for(var Se=0,Ce=0;Ce<this.length;Ce++){var qe=(0|this.words[Ce])*Ae,Fe=(67108863&qe)+(67108863&Se);Se>>=26,Se+=qe/67108864|0,Se+=Fe>>>26,this.words[Ce]=67108863&Fe}return 0!==Se&&(this.words[Ce]=Se,this.length++),this},n.prototype.muln=function(Ae){return this.clone().imuln(Ae)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(Ae){var Se=function(Ae){for(var Se=Array(Ae.bitLength()),Ce=0;Ce<Se.length;Ce++){var qe=Ce/26|0,Fe=Ce%26;Se[Ce]=(Ae.words[qe]&1<<Fe)>>>Fe}return Se}(Ae);if(0===Se.length)return new n(1);for(var Ce=this,qe=0;qe<Se.length&&0===Se[qe];qe++,Ce=Ce.sqr());if(++qe<Se.length)for(var Fe=Ce.sqr();qe<Se.length;qe++,Fe=Fe.sqr())0!==Se[qe]&&(Ce=Ce.mul(Fe));return Ce},n.prototype.iushln=function(Ae){r("number"==typeof Ae&&Ae>=0);var Se,Ce=Ae%26,qe=(Ae-Ce)/26,Fe=67108863>>>26-Ce<<26-Ce;if(0!==Ce){var $e=0;for(Se=0;Se<this.length;Se++){var rt=this.words[Se]&Fe,it=(0|this.words[Se])-rt<<Ce;this.words[Se]=it|$e,$e=rt>>>26-Ce}$e&&(this.words[Se]=$e,this.length++)}if(0!==qe){for(Se=this.length-1;Se>=0;Se--)this.words[Se+qe]=this.words[Se];for(Se=0;Se<qe;Se++)this.words[Se]=0;this.length+=qe}return this.strip()},n.prototype.ishln=function(Ae){return r(0===this.negative),this.iushln(Ae)},n.prototype.iushrn=function(Ae,Se,Ce){var qe;r("number"==typeof Ae&&Ae>=0),qe=Se?(Se-Se%26)/26:0;var Fe=Ae%26,$e=Math.min((Ae-Fe)/26,this.length),rt=67108863^67108863>>>Fe<<Fe,it=Ce;if(qe=Math.max(0,qe-=$e),it){for(var nt=0;nt<$e;nt++)it.words[nt]=this.words[nt];it.length=$e}if(0===$e);else if(this.length>$e)for(this.length-=$e,nt=0;nt<this.length;nt++)this.words[nt]=this.words[nt+$e];else this.words[0]=0,this.length=1;var st=0;for(nt=this.length-1;nt>=0&&(0!==st||nt>=qe);nt--){var ut=0|this.words[nt];this.words[nt]=st<<26-Fe|ut>>>Fe,st=ut&rt}return it&&0!==st&&(it.words[it.length++]=st),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(Ae,Se,Ce){return r(0===this.negative),this.iushrn(Ae,Se,Ce)},n.prototype.shln=function(Ae){return this.clone().ishln(Ae)},n.prototype.ushln=function(Ae){return this.clone().iushln(Ae)},n.prototype.shrn=function(Ae){return this.clone().ishrn(Ae)},n.prototype.ushrn=function(Ae){return this.clone().iushrn(Ae)},n.prototype.testn=function(Ae){r("number"==typeof Ae&&Ae>=0);var Se=Ae%26,Ce=(Ae-Se)/26,qe=1<<Se;return!(this.length<=Ce)&&!!(this.words[Ce]&qe)},n.prototype.imaskn=function(Ae){r("number"==typeof Ae&&Ae>=0);var Se=Ae%26,Ce=(Ae-Se)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=Ce)return this;if(0!==Se&&Ce++,this.length=Math.min(Ce,this.length),0!==Se){var qe=67108863^67108863>>>Se<<Se;this.words[this.length-1]&=qe}return this.strip()},n.prototype.maskn=function(Ae){return this.clone().imaskn(Ae)},n.prototype.iaddn=function(Ae){return r("number"==typeof Ae),r(Ae<67108864),Ae<0?this.isubn(-Ae):0!==this.negative?1===this.length&&(0|this.words[0])<Ae?(this.words[0]=Ae-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(Ae),this.negative=1,this):this._iaddn(Ae)},n.prototype._iaddn=function(Ae){this.words[0]+=Ae;for(var Se=0;Se<this.length&&this.words[Se]>=67108864;Se++)this.words[Se]-=67108864,Se===this.length-1?this.words[Se+1]=1:this.words[Se+1]++;return this.length=Math.max(this.length,Se+1),this},n.prototype.isubn=function(Ae){if(r("number"==typeof Ae),r(Ae<67108864),Ae<0)return this.iaddn(-Ae);if(0!==this.negative)return this.negative=0,this.iaddn(Ae),this.negative=1,this;if(this.words[0]-=Ae,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Se=0;Se<this.length&&this.words[Se]<0;Se++)this.words[Se]+=67108864,this.words[Se+1]-=1;return this.strip()},n.prototype.addn=function(Ae){return this.clone().iaddn(Ae)},n.prototype.subn=function(Ae){return this.clone().isubn(Ae)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(Ae,Se,Ce){var qe,Fe,$e=Ae.length+Ce;this._expand($e);var rt=0;for(qe=0;qe<Ae.length;qe++){Fe=(0|this.words[qe+Ce])+rt;var it=(0|Ae.words[qe])*Se;rt=((Fe-=67108863&it)>>26)-(it/67108864|0),this.words[qe+Ce]=67108863&Fe}for(;qe<this.length-Ce;qe++)rt=(Fe=(0|this.words[qe+Ce])+rt)>>26,this.words[qe+Ce]=67108863&Fe;if(0===rt)return this.strip();for(r(-1===rt),rt=0,qe=0;qe<this.length;qe++)rt=(Fe=-(0|this.words[qe])+rt)>>26,this.words[qe]=67108863&Fe;return this.negative=1,this.strip()},n.prototype._wordDiv=function(Ae,Se){var Ce=(this.length,Ae.length),qe=this.clone(),Fe=Ae,$e=0|Fe.words[Fe.length-1];0!==(Ce=26-this._countBits($e))&&(Fe=Fe.ushln(Ce),qe.iushln(Ce),$e=0|Fe.words[Fe.length-1]);var rt,it=qe.length-Fe.length;if("mod"!==Se){(rt=new n(null)).length=it+1,rt.words=Array(rt.length);for(var nt=0;nt<rt.length;nt++)rt.words[nt]=0}var st=qe.clone()._ishlnsubmul(Fe,1,it);0===st.negative&&(qe=st,rt&&(rt.words[it]=1));for(var ut=it-1;ut>=0;ut--){var ht=67108864*(0|qe.words[Fe.length+ut])+(0|qe.words[Fe.length+ut-1]);for(ht=Math.min(ht/$e|0,67108863),qe._ishlnsubmul(Fe,ht,ut);0!==qe.negative;)ht--,qe.negative=0,qe._ishlnsubmul(Fe,1,ut),qe.isZero()||(qe.negative^=1);rt&&(rt.words[ut]=ht)}return rt&&rt.strip(),qe.strip(),"div"!==Se&&0!==Ce&&qe.iushrn(Ce),{div:rt||null,mod:qe}},n.prototype.divmod=function(Ae,Se,Ce){return r(!Ae.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===Ae.negative?($e=this.neg().divmod(Ae,Se),"mod"!==Se&&(qe=$e.div.neg()),"div"!==Se&&(Fe=$e.mod.neg(),Ce&&0!==Fe.negative&&Fe.iadd(Ae)),{div:qe,mod:Fe}):0===this.negative&&0!==Ae.negative?($e=this.divmod(Ae.neg(),Se),"mod"!==Se&&(qe=$e.div.neg()),{div:qe,mod:$e.mod}):0!=(this.negative&Ae.negative)?($e=this.neg().divmod(Ae.neg(),Se),"div"!==Se&&(Fe=$e.mod.neg(),Ce&&0!==Fe.negative&&Fe.isub(Ae)),{div:$e.div,mod:Fe}):Ae.length>this.length||this.cmp(Ae)<0?{div:new n(0),mod:this}:1===Ae.length?"div"===Se?{div:this.divn(Ae.words[0]),mod:null}:"mod"===Se?{div:null,mod:new n(this.modn(Ae.words[0]))}:{div:this.divn(Ae.words[0]),mod:new n(this.modn(Ae.words[0]))}:this._wordDiv(Ae,Se);var qe,Fe,$e},n.prototype.div=function(Ae){return this.divmod(Ae,"div",!1).div},n.prototype.mod=function(Ae){return this.divmod(Ae,"mod",!1).mod},n.prototype.umod=function(Ae){return this.divmod(Ae,"mod",!0).mod},n.prototype.divRound=function(Ae){var Se=this.divmod(Ae);if(Se.mod.isZero())return Se.div;var Ce=0!==Se.div.negative?Se.mod.isub(Ae):Se.mod,qe=Ae.ushrn(1),Fe=Ae.andln(1),$e=Ce.cmp(qe);return $e<0||1===Fe&&0===$e?Se.div:0!==Se.div.negative?Se.div.isubn(1):Se.div.iaddn(1)},n.prototype.modn=function(Ae){r(Ae<=67108863);for(var Se=(1<<26)%Ae,Ce=0,qe=this.length-1;qe>=0;qe--)Ce=(Se*Ce+(0|this.words[qe]))%Ae;return Ce},n.prototype.idivn=function(Ae){r(Ae<=67108863);for(var Se=0,Ce=this.length-1;Ce>=0;Ce--){var qe=(0|this.words[Ce])+67108864*Se;this.words[Ce]=qe/Ae|0,Se=qe%Ae}return this.strip()},n.prototype.divn=function(Ae){return this.clone().idivn(Ae)},n.prototype.egcd=function(Ae){r(0===Ae.negative),r(!Ae.isZero());var Se=this,Ce=Ae.clone();Se=0!==Se.negative?Se.umod(Ae):Se.clone();for(var qe=new n(1),Fe=new n(0),$e=new n(0),rt=new n(1),it=0;Se.isEven()&&Ce.isEven();)Se.iushrn(1),Ce.iushrn(1),++it;for(var nt=Ce.clone(),st=Se.clone();!Se.isZero();){for(var ut=0,ht=1;0==(Se.words[0]&ht)&&ut<26;++ut,ht<<=1);if(ut>0)for(Se.iushrn(ut);ut-- >0;)(qe.isOdd()||Fe.isOdd())&&(qe.iadd(nt),Fe.isub(st)),qe.iushrn(1),Fe.iushrn(1);for(var ft=0,yt=1;0==(Ce.words[0]&yt)&&ft<26;++ft,yt<<=1);if(ft>0)for(Ce.iushrn(ft);ft-- >0;)($e.isOdd()||rt.isOdd())&&($e.iadd(nt),rt.isub(st)),$e.iushrn(1),rt.iushrn(1);Se.cmp(Ce)>=0?(Se.isub(Ce),qe.isub($e),Fe.isub(rt)):(Ce.isub(Se),$e.isub(qe),rt.isub(Fe))}return{a:$e,b:rt,gcd:Ce.iushln(it)}},n.prototype._invmp=function(Ae){r(0===Ae.negative),r(!Ae.isZero());var Se=this,Ce=Ae.clone();Se=0!==Se.negative?Se.umod(Ae):Se.clone();for(var qe,Fe=new n(1),$e=new n(0),rt=Ce.clone();Se.cmpn(1)>0&&Ce.cmpn(1)>0;){for(var it=0,nt=1;0==(Se.words[0]&nt)&&it<26;++it,nt<<=1);if(it>0)for(Se.iushrn(it);it-- >0;)Fe.isOdd()&&Fe.iadd(rt),Fe.iushrn(1);for(var st=0,ut=1;0==(Ce.words[0]&ut)&&st<26;++st,ut<<=1);if(st>0)for(Ce.iushrn(st);st-- >0;)$e.isOdd()&&$e.iadd(rt),$e.iushrn(1);Se.cmp(Ce)>=0?(Se.isub(Ce),Fe.isub($e)):(Ce.isub(Se),$e.isub(Fe))}return(qe=0===Se.cmpn(1)?Fe:$e).cmpn(0)<0&&qe.iadd(Ae),qe},n.prototype.gcd=function(Ae){if(this.isZero())return Ae.abs();if(Ae.isZero())return this.abs();var Se=this.clone(),Ce=Ae.clone();Se.negative=0,Ce.negative=0;for(var qe=0;Se.isEven()&&Ce.isEven();qe++)Se.iushrn(1),Ce.iushrn(1);for(;;){for(;Se.isEven();)Se.iushrn(1);for(;Ce.isEven();)Ce.iushrn(1);var Fe=Se.cmp(Ce);if(Fe<0){var $e=Se;Se=Ce,Ce=$e}else if(0===Fe||0===Ce.cmpn(1))break;Se.isub(Ce)}return Ce.iushln(qe)},n.prototype.invm=function(Ae){return this.egcd(Ae).a.umod(Ae)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(Ae){return this.words[0]&Ae},n.prototype.bincn=function(Ae){r("number"==typeof Ae);var Se=Ae%26,Ce=(Ae-Se)/26,qe=1<<Se;if(this.length<=Ce)return this._expand(Ce+1),this.words[Ce]|=qe,this;for(var Fe=qe,$e=Ce;0!==Fe&&$e<this.length;$e++){var rt=0|this.words[$e];Fe=(rt+=Fe)>>>26,rt&=67108863,this.words[$e]=rt}return 0!==Fe&&(this.words[$e]=Fe,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(Ae){var Se,Ce=Ae<0;if(0!==this.negative&&!Ce)return-1;if(0===this.negative&&Ce)return 1;if(this.strip(),this.length>1)Se=1;else{Ce&&(Ae=-Ae),r(Ae<=67108863,"Number is too big");var qe=0|this.words[0];Se=qe===Ae?0:qe<Ae?-1:1}return 0!==this.negative?0|-Se:Se},n.prototype.cmp=function(Ae){if(0!==this.negative&&0===Ae.negative)return-1;if(0===this.negative&&0!==Ae.negative)return 1;var Se=this.ucmp(Ae);return 0!==this.negative?0|-Se:Se},n.prototype.ucmp=function(Ae){if(this.length>Ae.length)return 1;if(this.length<Ae.length)return-1;for(var Se=0,Ce=this.length-1;Ce>=0;Ce--){var qe=0|this.words[Ce],Fe=0|Ae.words[Ce];if(qe!==Fe){qe<Fe?Se=-1:qe>Fe&&(Se=1);break}}return Se},n.prototype.gtn=function(Ae){return 1===this.cmpn(Ae)},n.prototype.gt=function(Ae){return 1===this.cmp(Ae)},n.prototype.gten=function(Ae){return this.cmpn(Ae)>=0},n.prototype.gte=function(Ae){return this.cmp(Ae)>=0},n.prototype.ltn=function(Ae){return-1===this.cmpn(Ae)},n.prototype.lt=function(Ae){return-1===this.cmp(Ae)},n.prototype.lten=function(Ae){return this.cmpn(Ae)<=0},n.prototype.lte=function(Ae){return this.cmp(Ae)<=0},n.prototype.eqn=function(Ae){return 0===this.cmpn(Ae)},n.prototype.eq=function(Ae){return 0===this.cmp(Ae)},n.red=function(Ae){return new k(Ae)},n.prototype.toRed=function(Ae){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),Ae.convertTo(this)._forceRed(Ae)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(Ae){return this.red=Ae,this},n.prototype.forceRed=function(Ae){return r(!this.red,"Already a number in reduction context"),this._forceRed(Ae)},n.prototype.redAdd=function(Ae){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,Ae)},n.prototype.redIAdd=function(Ae){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,Ae)},n.prototype.redSub=function(Ae){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,Ae)},n.prototype.redISub=function(Ae){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,Ae)},n.prototype.redShl=function(Ae){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,Ae)},n.prototype.redMul=function(Ae){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,Ae),this.red.mul(this,Ae)},n.prototype.redIMul=function(Ae){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,Ae),this.red.imul(this,Ae)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(Ae){return r(this.red&&!Ae.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,Ae)};var rt={k256:null,p224:null,p192:null,p25519:null};function m(Ae,Se){this.name=Ae,this.p=new n(Se,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(Ae){if("string"==typeof Ae){var Se=n._prime(Ae);this.m=Se.p,this.prime=Se}else r(Ae.gtn(1),"modulus must be greater than 1"),this.m=Ae,this.prime=null}function A(Ae){k.call(this,Ae),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var Ae=new n(null);return Ae.words=Array(Math.ceil(this.n/13)),Ae},m.prototype.ireduce=function(Ae){var Se,Ce=Ae;do{this.split(Ce,this.tmp),Se=(Ce=(Ce=this.imulK(Ce)).iadd(this.tmp)).bitLength()}while(Se>this.n);var qe=Se<this.n?-1:Ce.ucmp(this.p);return 0===qe?(Ce.words[0]=0,Ce.length=1):qe>0?Ce.isub(this.p):Ce.strip(),Ce},m.prototype.split=function(Ae,Se){Ae.iushrn(this.n,0,Se)},m.prototype.imulK=function(Ae){return Ae.imul(this.k)},i(g,m),g.prototype.split=function(Ae,Se){for(var Ce=4194303,qe=Math.min(Ae.length,9),Fe=0;Fe<qe;Fe++)Se.words[Fe]=Ae.words[Fe];if(Se.length=qe,Ae.length<=9)return Ae.words[0]=0,void(Ae.length=1);var $e=Ae.words[9];for(Se.words[Se.length++]=$e&Ce,Fe=10;Fe<Ae.length;Fe++){var rt=0|Ae.words[Fe];Ae.words[Fe-10]=(rt&Ce)<<4|$e>>>22,$e=rt}$e>>>=22,Ae.words[Fe-10]=$e,0===$e&&Ae.length>10?Ae.length-=10:Ae.length-=9},g.prototype.imulK=function(Ae){Ae.words[Ae.length]=0,Ae.words[Ae.length+1]=0,Ae.length+=2;for(var Se=0,Ce=0;Ce<Ae.length;Ce++){var qe=0|Ae.words[Ce];Se+=977*qe,Ae.words[Ce]=67108863&Se,Se=64*qe+(Se/67108864|0)}return 0===Ae.words[Ae.length-1]&&(Ae.length--,0===Ae.words[Ae.length-1]&&Ae.length--),Ae},i(w,m),i(v,m),i(_,m),_.prototype.imulK=function(Ae){for(var Se=0,Ce=0;Ce<Ae.length;Ce++){var qe=19*(0|Ae.words[Ce])+Se,Fe=67108863&qe;qe>>>=26,Ae.words[Ce]=Fe,Se=qe}return 0!==Se&&(Ae.words[Ae.length++]=Se),Ae},n._prime=function(Ae){if(rt[Ae])return rt[Ae];var Se;if("k256"===Ae)Se=new g;else if("p224"===Ae)Se=new w;else if("p192"===Ae)Se=new v;else{if("p25519"!==Ae)throw Error("Unknown prime "+Ae);Se=new _}return rt[Ae]=Se,Se},k.prototype._verify1=function(Ae){r(0===Ae.negative,"red works only with positives"),r(Ae.red,"red works only with red numbers")},k.prototype._verify2=function(Ae,Se){r(0==(Ae.negative|Se.negative),"red works only with positives"),r(Ae.red&&Ae.red===Se.red,"red works only with red numbers")},k.prototype.imod=function(Ae){return this.prime?this.prime.ireduce(Ae)._forceRed(this):Ae.umod(this.m)._forceRed(this)},k.prototype.neg=function(Ae){return Ae.isZero()?Ae.clone():this.m.sub(Ae)._forceRed(this)},k.prototype.add=function(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.add(Se);return Ce.cmp(this.m)>=0&&Ce.isub(this.m),Ce._forceRed(this)},k.prototype.iadd=function(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.iadd(Se);return Ce.cmp(this.m)>=0&&Ce.isub(this.m),Ce},k.prototype.sub=function(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.sub(Se);return Ce.cmpn(0)<0&&Ce.iadd(this.m),Ce._forceRed(this)},k.prototype.isub=function(Ae,Se){this._verify2(Ae,Se);var Ce=Ae.isub(Se);return Ce.cmpn(0)<0&&Ce.iadd(this.m),Ce},k.prototype.shl=function(Ae,Se){return this._verify1(Ae),this.imod(Ae.ushln(Se))},k.prototype.imul=function(Ae,Se){return this._verify2(Ae,Se),this.imod(Ae.imul(Se))},k.prototype.mul=function(Ae,Se){return this._verify2(Ae,Se),this.imod(Ae.mul(Se))},k.prototype.isqr=function(Ae){return this.imul(Ae,Ae.clone())},k.prototype.sqr=function(Ae){return this.mul(Ae,Ae)},k.prototype.sqrt=function(Ae){if(Ae.isZero())return Ae.clone();var Se=this.m.andln(3);if(r(Se%2==1),3===Se){var Ce=this.m.add(new n(1)).iushrn(2);return this.pow(Ae,Ce)}for(var qe=this.m.subn(1),Fe=0;!qe.isZero()&&0===qe.andln(1);)Fe++,qe.iushrn(1);r(!qe.isZero());var $e=new n(1).toRed(this),rt=$e.redNeg(),it=this.m.subn(1).iushrn(1),nt=this.m.bitLength();for(nt=new n(2*nt*nt).toRed(this);0!==this.pow(nt,it).cmp(rt);)nt.redIAdd(rt);for(var st=this.pow(nt,qe),ut=this.pow(Ae,qe.addn(1).iushrn(1)),ht=this.pow(Ae,qe),ft=Fe;0!==ht.cmp($e);){for(var yt=ht,mt=0;0!==yt.cmp($e);mt++)yt=yt.redSqr();r(mt<ft);var vt=this.pow(st,new n(1).iushln(ft-mt-1));ut=ut.redMul(vt),st=vt.redSqr(),ht=ht.redMul(st),ft=mt}return ut},k.prototype.invm=function(Ae){var Se=Ae._invmp(this.m);return 0!==Se.negative?(Se.negative=0,this.imod(Se).redNeg()):this.imod(Se)},k.prototype.pow=function(Ae,Se){if(Se.isZero())return new n(1).toRed(this);if(0===Se.cmpn(1))return Ae.clone();var Ce=Array(16);Ce[0]=new n(1).toRed(this),Ce[1]=Ae;for(var qe=2;qe<Ce.length;qe++)Ce[qe]=this.mul(Ce[qe-1],Ae);var Fe=Ce[0],$e=0,rt=0,it=Se.bitLength()%26;for(0===it&&(it=26),qe=Se.length-1;qe>=0;qe--){for(var nt=Se.words[qe],st=it-1;st>=0;st--){var ut=nt>>st&1;Fe!==Ce[0]&&(Fe=this.sqr(Fe)),0!==ut||0!==$e?($e<<=1,$e|=ut,(4===++rt||0===qe&&0===st)&&(Fe=this.mul(Fe,Ce[$e]),rt=0,$e=0)):rt=0}it=26}return Fe},k.prototype.convertTo=function(Ae){var Se=Ae.umod(this.m);return Se===Ae?Se.clone():Se},k.prototype.convertFrom=function(Ae){var Se=Ae.clone();return Se.red=null,Se},n.mont=function(Ae){return new A(Ae)},i(A,k),A.prototype.convertTo=function(Ae){return this.imod(Ae.ushln(this.shift))},A.prototype.convertFrom=function(Ae){var Se=this.imod(Ae.mul(this.rinv));return Se.red=null,Se},A.prototype.imul=function(Ae,Se){if(Ae.isZero()||Se.isZero())return Ae.words[0]=0,Ae.length=1,Ae;var Ce=Ae.imul(Se),qe=Ce.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Fe=Ce.isub(qe).iushrn(this.shift),$e=Fe;return Fe.cmp(this.m)>=0?$e=Fe.isub(this.m):Fe.cmpn(0)<0&&($e=Fe.iadd(this.m)),$e._forceRed(this)},A.prototype.mul=function(Ae,Se){if(Ae.isZero()||Se.isZero())return new n(0)._forceRed(this);var Ce=Ae.mul(Se),qe=Ce.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Fe=Ce.isub(qe).iushrn(this.shift),$e=Fe;return Fe.cmp(this.m)>=0?$e=Fe.isub(this.m):Fe.cmpn(0)<0&&($e=Fe.iadd(this.m)),$e._forceRed(this)},A.prototype.invm=function(Ae){return this.imod(Ae._invmp(this.m).mul(this.r2))._forceRed(this)}}(Ae,Wr)})),lm=Object.freeze({__proto__:null,default:hm,__moduleExports:hm});class Jp{constructor(Ae){if(void 0===Ae)throw Error("Invalid BigInteger input");this.value=new hm(Ae)}clone(){const Ae=new Jp(null);return this.value.copy(Ae.value),Ae}iinc(){return this.value.iadd(new hm(1)),this}inc(){return this.clone().iinc()}idec(){return this.value.isub(new hm(1)),this}dec(){return this.clone().idec()}iadd(Ae){return this.value.iadd(Ae.value),this}add(Ae){return this.clone().iadd(Ae)}isub(Ae){return this.value.isub(Ae.value),this}sub(Ae){return this.clone().isub(Ae)}imul(Ae){return this.value.imul(Ae.value),this}mul(Ae){return this.clone().imul(Ae)}imod(Ae){return this.value=this.value.umod(Ae.value),this}mod(Ae){return this.clone().imod(Ae)}modExp(Ae,Se){const Ce=Se.isEven()?hm.red(Se.value):hm.mont(Se.value),qe=this.clone();return qe.value=qe.value.toRed(Ce).redPow(Ae.value).fromRed(),qe}modInv(Ae){if(!this.gcd(Ae).isOne())throw Error("Inverse does not exist");return new Jp(this.value.invm(Ae.value))}gcd(Ae){return new Jp(this.value.gcd(Ae.value))}ileftShift(Ae){return this.value.ishln(Ae.value.toNumber()),this}leftShift(Ae){return this.clone().ileftShift(Ae)}irightShift(Ae){return this.value.ishrn(Ae.value.toNumber()),this}rightShift(Ae){return this.clone().irightShift(Ae)}equal(Ae){return this.value.eq(Ae.value)}lt(Ae){return this.value.lt(Ae.value)}lte(Ae){return this.value.lte(Ae.value)}gt(Ae){return this.value.gt(Ae.value)}gte(Ae){return this.value.gte(Ae.value)}isZero(){return this.value.isZero()}isOne(){return this.value.eq(new hm(1))}isNegative(){return this.value.isNeg()}isEven(){return this.value.isEven()}abs(){const Ae=this.clone();return Ae.value=Ae.value.abs(),Ae}toString(){return this.value.toString()}toNumber(){return this.value.toNumber()}getBit(Ae){return this.value.testn(Ae)?1:0}bitLength(){return this.value.bitLength()}byteLength(){return this.value.byteLength()}toUint8Array(Ae="be",Se){return this.value.toArrayLike(Uint8Array,Ae,Se)}}var dm,fm=Object.freeze({__proto__:null,default:Jp}),pm=gt((function(Ae,Se){var Ce=Se;function i(Ae){return 1===Ae.length?"0"+Ae:Ae}function n(Ae){for(var Se="",Ce=0;Ce<Ae.length;Ce++)Se+=i(Ae[Ce].toString(16));return Se}Ce.toArray=function(Ae,Se){if(Array.isArray(Ae))return Ae.slice();if(!Ae)return[];var Ce=[];if("string"!=typeof Ae){for(var qe=0;qe<Ae.length;qe++)Ce[qe]=0|Ae[qe];return Ce}if("hex"===Se){(Ae=Ae.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(Ae="0"+Ae);for(qe=0;qe<Ae.length;qe+=2)Ce.push(parseInt(Ae[qe]+Ae[qe+1],16))}else for(qe=0;qe<Ae.length;qe++){var Fe=Ae.charCodeAt(qe),$e=Fe>>8,rt=255&Fe;$e?Ce.push($e,rt):Ce.push(rt)}return Ce},Ce.zero2=i,Ce.toHex=n,Ce.encode=function(Ae,Se){return"hex"===Se?n(Ae):Ae}})),ym=gt((function(Ae,Se){var Ce=Se;Ce.assert=Lr,Ce.toArray=pm.toArray,Ce.zero2=pm.zero2,Ce.toHex=pm.toHex,Ce.encode=pm.encode,Ce.getNAF=function(Ae,Se){for(var Ce=[],qe=1<<Se+1,Fe=Ae.clone();Fe.cmpn(1)>=0;){var $e;if(Fe.isOdd()){var rt=Fe.andln(qe-1);$e=rt>(qe>>1)-1?(qe>>1)-rt:rt,Fe.isubn($e)}else $e=0;Ce.push($e);for(var it=0!==Fe.cmpn(0)&&0===Fe.andln(qe-1)?Se+1:1,nt=1;nt<it;nt++)Ce.push(0);Fe.iushrn(it)}return Ce},Ce.getJSF=function(Ae,Se){var Ce=[[],[]];Ae=Ae.clone(),Se=Se.clone();for(var qe=0,Fe=0;Ae.cmpn(-qe)>0||Se.cmpn(-Fe)>0;){var $e,rt,it,nt=Ae.andln(3)+qe&3,st=Se.andln(3)+Fe&3;if(3===nt&&(nt=-1),3===st&&(st=-1),0==(1&nt))$e=0;else $e=3!==(it=Ae.andln(7)+qe&7)&&5!==it||2!==st?nt:-nt;if(Ce[0].push($e),0==(1&st))rt=0;else rt=3!==(it=Se.andln(7)+Fe&7)&&5!==it||2!==nt?st:-st;Ce[1].push(rt),2*qe===$e+1&&(qe=1-qe),2*Fe===rt+1&&(Fe=1-Fe),Ae.iushrn(1),Se.iushrn(1)}return Ce},Ce.cachedProperty=function(Ae,Se,Ce){var qe="_"+Se;Ae.prototype[Se]=function(){return void 0!==this[qe]?this[qe]:this[qe]=Ce.call(this)}},Ce.parseBytes=function(Ae){return"string"==typeof Ae?Ce.toArray(Ae,"hex"):Ae},Ce.intFromLE=function(Ae){return new hm(Ae,"hex","le")}})),ny=function(Ae){return dm||(dm=new ay(null)),dm.generate(Ae)};function ay(Ae){this.rand=Ae}var mm=ay;if(ay.prototype.generate=function(Ae){return this._rand(Ae)},ay.prototype._rand=function(Ae){if(this.rand.getBytes)return this.rand.getBytes(Ae);for(var Se=new Uint8Array(Ae),Ce=0;Ce<Se.length;Ce++)Se[Ce]=this.rand.getByte();return Se},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?ay.prototype._rand=function(Ae){var Se=new Uint8Array(Ae);return self.crypto.getRandomValues(Se),Se}:self.msCrypto&&self.msCrypto.getRandomValues?ay.prototype._rand=function(Ae){var Se=new Uint8Array(Ae);return self.msCrypto.getRandomValues(Se),Se}:"object"==typeof window&&(ay.prototype._rand=function(){throw Error("Not implemented yet")});else try{var gm=yt.default;if("function"!=typeof gm.randomBytes)throw Error("Not supported");ay.prototype._rand=function(Ae){return gm.randomBytes(Ae)}}catch(qe){}ny.Rand=mm;var bm=ym.getNAF,vm=ym.getJSF,wm=ym.assert;function dy(Ae,Se){this.type=Ae,this.p=new hm(Se.p,16),this.red=Se.prime?hm.red(Se.prime):hm.mont(this.p),this.zero=new hm(0).toRed(this.red),this.one=new hm(1).toRed(this.red),this.two=new hm(2).toRed(this.red),this.n=Se.n&&new hm(Se.n,16),this.g=Se.g&&this.pointFromJSON(Se.g,Se.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,];var Ce=this.n&&this.p.div(this.n);!Ce||Ce.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var _m=dy;function ly(Ae,Se){this.curve=Ae,this.type=Se,this.precomputed=null}dy.prototype.point=function(){throw Error("Not implemented")},dy.prototype.validate=function(){throw Error("Not implemented")},dy.prototype._fixedNafMul=function(Ae,Se){wm(Ae.precomputed);var Ce=Ae._getDoubles(),qe=bm(Se,1),Fe=(1<<Ce.step+1)-(Ce.step%2==0?2:1);Fe/=3;for(var $e=[],rt=0;rt<qe.length;rt+=Ce.step){var it=0;for(Se=rt+Ce.step-1;Se>=rt;Se--)it=(it<<1)+qe[Se];$e.push(it)}for(var nt=this.jpoint(null,null,null),st=this.jpoint(null,null,null),ut=Fe;ut>0;ut--){for(rt=0;rt<$e.length;rt++){(it=$e[rt])===ut?st=st.mixedAdd(Ce.points[rt]):it===-ut&&(st=st.mixedAdd(Ce.points[rt].neg()))}nt=nt.add(st)}return nt.toP()},dy.prototype._wnafMul=function(Ae,Se){var Ce=4,qe=Ae._getNAFPoints(Ce);Ce=qe.wnd;for(var Fe=qe.points,$e=bm(Se,Ce),rt=this.jpoint(null,null,null),it=$e.length-1;it>=0;it--){for(Se=0;it>=0&&0===$e[it];it--)Se++;if(it>=0&&Se++,rt=rt.dblp(Se),it<0)break;var nt=$e[it];wm(0!==nt),rt="affine"===Ae.type?nt>0?rt.mixedAdd(Fe[nt-1>>1]):rt.mixedAdd(Fe[-nt-1>>1].neg()):nt>0?rt.add(Fe[nt-1>>1]):rt.add(Fe[-nt-1>>1].neg())}return"affine"===Ae.type?rt.toP():rt},dy.prototype._wnafMulAdd=function(Ae,Se,Ce,qe,Fe){for(var $e=this._wnafT1,rt=this._wnafT2,it=this._wnafT3,nt=0,st=0;st<qe;st++){var ut=(jt=Se[st])._getNAFPoints(Ae);$e[st]=ut.wnd,rt[st]=ut.points}for(st=qe-1;st>=1;st-=2){var ht=st-1,ft=st;if(1===$e[ht]&&1===$e[ft]){var yt=[Se[ht],null,null,Se[ft]];0===Se[ht].y.cmp(Se[ft].y)?(yt[1]=Se[ht].add(Se[ft]),yt[2]=Se[ht].toJ().mixedAdd(Se[ft].neg())):0===Se[ht].y.cmp(Se[ft].y.redNeg())?(yt[1]=Se[ht].toJ().mixedAdd(Se[ft]),yt[2]=Se[ht].add(Se[ft].neg())):(yt[1]=Se[ht].toJ().mixedAdd(Se[ft]),yt[2]=Se[ht].toJ().mixedAdd(Se[ft].neg()));var mt=[-3,-1,-5,-7,0,7,5,1,3],vt=vm(Ce[ht],Ce[ft]);nt=Math.max(vt[0].length,nt),it[ht]=Array(nt),it[ft]=Array(nt);for(var _t=0;_t<nt;_t++){var Ct=0|vt[0][_t],Rt=0|vt[1][_t];it[ht][_t]=mt[3*(Ct+1)+(Rt+1)],it[ft][_t]=0,rt[ht]=yt}}else it[ht]=bm(Ce[ht],$e[ht]),it[ft]=bm(Ce[ft],$e[ft]),nt=Math.max(it[ht].length,nt),nt=Math.max(it[ft].length,nt)}var Ut=this.jpoint(null,null,null),It=this._wnafT4;for(st=nt;st>=0;st--){for(var Ot=0;st>=0;){var Nt=!0;for(_t=0;_t<qe;_t++)It[_t]=0|it[_t][st],0!==It[_t]&&(Nt=!1);if(!Nt)break;Ot++,st--}if(st>=0&&Ot++,Ut=Ut.dblp(Ot),st<0)break;for(_t=0;_t<qe;_t++){var jt,Ft=It[_t];0!==Ft&&(Ft>0?jt=rt[_t][Ft-1>>1]:Ft<0&&(jt=rt[_t][-Ft-1>>1].neg()),Ut="affine"===jt.type?Ut.mixedAdd(jt):Ut.add(jt))}}for(st=0;st<qe;st++)rt[st]=null;return Fe?Ut:Ut.toP()},dy.BasePoint=ly,ly.prototype.eq=function(){throw Error("Not implemented")},ly.prototype.validate=function(){return this.curve.validate(this)},dy.prototype.decodePoint=function(Ae,Se){Ae=ym.toArray(Ae,Se);var Ce=this.p.byteLength();if((4===Ae[0]||6===Ae[0]||7===Ae[0])&&Ae.length-1==2*Ce)return 6===Ae[0]?wm(Ae[Ae.length-1]%2==0):7===Ae[0]&&wm(Ae[Ae.length-1]%2==1),this.point(Ae.slice(1,1+Ce),Ae.slice(1+Ce,1+2*Ce));if((2===Ae[0]||3===Ae[0])&&Ae.length-1===Ce)return this.pointFromX(Ae.slice(1,1+Ce),3===Ae[0]);throw Error("Unknown point format")},ly.prototype.encodeCompressed=function(Ae){return this.encode(Ae,!0)},ly.prototype._encode=function(Ae){var Se=this.curve.p.byteLength(),Ce=this.getX().toArray("be",Se);return Ae?[this.getY().isEven()?2:3].concat(Ce):[4].concat(Ce,this.getY().toArray("be",Se))},ly.prototype.encode=function(Ae,Se){return ym.encode(this._encode(Se),Ae)},ly.prototype.precompute=function(Ae){if(this.precomputed)return this;var Se={doubles:null,naf:null,beta:null};return Se.naf=this._getNAFPoints(8),Se.doubles=this._getDoubles(4,Ae),Se.beta=this._getBeta(),this.precomputed=Se,this},ly.prototype._hasDoubles=function(Ae){if(!this.precomputed)return!1;var Se=this.precomputed.doubles;return!!Se&&Se.points.length>=Math.ceil((Ae.bitLength()+1)/Se.step)},ly.prototype._getDoubles=function(Ae,Se){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var Ce=[this],qe=this,Fe=0;Fe<Se;Fe+=Ae){for(var $e=0;$e<Ae;$e++)qe=qe.dbl();Ce.push(qe)}return{step:Ae,points:Ce}},ly.prototype._getNAFPoints=function(Ae){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var Se=[this],Ce=(1<<Ae)-1,qe=1===Ce?null:this.dbl(),Fe=1;Fe<Ce;Fe++)Se[Fe]=Se[Fe-1].add(qe);return{wnd:Ae,points:Se}},ly.prototype._getBeta=function(){return null},ly.prototype.dblp=function(Ae){for(var Se=this,Ce=0;Ce<Ae;Ce++)Se=Se.dbl();return Se};var km=ym.assert;function yy(Ae){_m.call(this,"short",Ae),this.a=new hm(Ae.a,16).toRed(this.red),this.b=new hm(Ae.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(Ae),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}ti(yy,_m);var Am=yy;function my(Ae,Se,Ce,qe){_m.BasePoint.call(this,Ae,"affine"),null===Se&&null===Ce?(this.x=null,this.y=null,this.inf=!0):(this.x=new hm(Se,16),this.y=new hm(Ce,16),qe&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function gy(Ae,Se,Ce,qe){_m.BasePoint.call(this,Ae,"jacobian"),null===Se&&null===Ce&&null===qe?(this.x=this.curve.one,this.y=this.curve.one,this.z=new hm(0)):(this.x=new hm(Se,16),this.y=new hm(Ce,16),this.z=new hm(qe,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}function wy(Ae){_m.call(this,"mont",Ae),this.a=new hm(Ae.a,16).toRed(this.red),this.b=new hm(Ae.b,16).toRed(this.red),this.i4=new hm(4).toRed(this.red).redInvm(),this.two=new hm(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}yy.prototype._getEndomorphism=function(Ae){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var Se,Ce;if(Ae.beta)Se=new hm(Ae.beta,16).toRed(this.red);else{var qe=this._getEndoRoots(this.p);Se=(Se=qe[0].cmp(qe[1])<0?qe[0]:qe[1]).toRed(this.red)}if(Ae.lambda)Ce=new hm(Ae.lambda,16);else{var Fe=this._getEndoRoots(this.n);0===this.g.mul(Fe[0]).x.cmp(this.g.x.redMul(Se))?Ce=Fe[0]:(Ce=Fe[1],km(0===this.g.mul(Ce).x.cmp(this.g.x.redMul(Se))))}return{beta:Se,lambda:Ce,basis:Ae.basis?Ae.basis.map((function(Ae){return{a:new hm(Ae.a,16),b:new hm(Ae.b,16)}})):this._getEndoBasis(Ce)}}},yy.prototype._getEndoRoots=function(Ae){var Se=Ae===this.p?this.red:hm.mont(Ae),Ce=new hm(2).toRed(Se).redInvm(),qe=Ce.redNeg(),Fe=new hm(3).toRed(Se).redNeg().redSqrt().redMul(Ce);return[qe.redAdd(Fe).fromRed(),qe.redSub(Fe).fromRed()]},yy.prototype._getEndoBasis=function(Ae){for(var Se,Ce,qe,Fe,$e,rt,it,nt,st,ut=this.n.ushrn(Math.floor(this.n.bitLength()/2)),ht=Ae,ft=this.n.clone(),yt=new hm(1),mt=new hm(0),vt=new hm(0),_t=new hm(1),Ct=0;0!==ht.cmpn(0);){var Rt=ft.div(ht);nt=ft.sub(Rt.mul(ht)),st=vt.sub(Rt.mul(yt));var Ut=_t.sub(Rt.mul(mt));if(!qe&&nt.cmp(ut)<0)Se=it.neg(),Ce=yt,qe=nt.neg(),Fe=st;else if(qe&&2==++Ct)break;it=nt,ft=ht,ht=nt,vt=yt,yt=st,_t=mt,mt=Ut}$e=nt.neg(),rt=st;var It=qe.sqr().add(Fe.sqr());return $e.sqr().add(rt.sqr()).cmp(It)>=0&&($e=Se,rt=Ce),qe.negative&&(qe=qe.neg(),Fe=Fe.neg()),$e.negative&&($e=$e.neg(),rt=rt.neg()),[{a:qe,b:Fe},{a:$e,b:rt}]},yy.prototype._endoSplit=function(Ae){var Se=this.endo.basis,Ce=Se[0],qe=Se[1],Fe=qe.b.mul(Ae).divRound(this.n),$e=Ce.b.neg().mul(Ae).divRound(this.n),rt=Fe.mul(Ce.a),it=$e.mul(qe.a),nt=Fe.mul(Ce.b),st=$e.mul(qe.b);return{k1:Ae.sub(rt).sub(it),k2:nt.add(st).neg()}},yy.prototype.pointFromX=function(Ae,Se){(Ae=new hm(Ae,16)).red||(Ae=Ae.toRed(this.red));var Ce=Ae.redSqr().redMul(Ae).redIAdd(Ae.redMul(this.a)).redIAdd(this.b),qe=Ce.redSqrt();if(0!==qe.redSqr().redSub(Ce).cmp(this.zero))throw Error("invalid point");var Fe=qe.fromRed().isOdd();return(Se&&!Fe||!Se&&Fe)&&(qe=qe.redNeg()),this.point(Ae,qe)},yy.prototype.validate=function(Ae){if(Ae.inf)return!0;var Se=Ae.x,Ce=Ae.y,qe=this.a.redMul(Se),Fe=Se.redSqr().redMul(Se).redIAdd(qe).redIAdd(this.b);return 0===Ce.redSqr().redISub(Fe).cmpn(0)},yy.prototype._endoWnafMulAdd=function(Ae,Se,Ce){for(var qe=this._endoWnafT1,Fe=this._endoWnafT2,$e=0;$e<Ae.length;$e++){var rt=this._endoSplit(Se[$e]),it=Ae[$e],nt=it._getBeta();rt.k1.negative&&(rt.k1.ineg(),it=it.neg(!0)),rt.k2.negative&&(rt.k2.ineg(),nt=nt.neg(!0)),qe[2*$e]=it,qe[2*$e+1]=nt,Fe[2*$e]=rt.k1,Fe[2*$e+1]=rt.k2}for(var st=this._wnafMulAdd(1,qe,Fe,2*$e,Ce),ut=0;ut<2*$e;ut++)qe[ut]=null,Fe[ut]=null;return st},ti(my,_m.BasePoint),yy.prototype.point=function(Ae,Se,Ce){return new my(this,Ae,Se,Ce)},yy.prototype.pointFromJSON=function(Ae,Se){return my.fromJSON(this,Ae,Se)},my.prototype._getBeta=function(){if(this.curve.endo){var Ae=this.precomputed;if(Ae&&Ae.beta)return Ae.beta;var Se=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(Ae){var Ce=this.curve,i=function(Ae){return Ce.point(Ae.x.redMul(Ce.endo.beta),Ae.y)};Ae.beta=Se,Se.precomputed={beta:null,naf:Ae.naf&&{wnd:Ae.naf.wnd,points:Ae.naf.points.map(i)},doubles:Ae.doubles&&{step:Ae.doubles.step,points:Ae.doubles.points.map(i)}}}return Se}},my.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},my.fromJSON=function(Ae,Se,Ce){"string"==typeof Se&&(Se=JSON.parse(Se));var qe=Ae.point(Se[0],Se[1],Ce);if(!Se[2])return qe;function n(Se){return Ae.point(Se[0],Se[1],Ce)}var Fe=Se[2];return qe.precomputed={beta:null,doubles:Fe.doubles&&{step:Fe.doubles.step,points:[qe].concat(Fe.doubles.points.map(n))},naf:Fe.naf&&{wnd:Fe.naf.wnd,points:[qe].concat(Fe.naf.points.map(n))}},qe},my.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},my.prototype.isInfinity=function(){return this.inf},my.prototype.add=function(Ae){if(this.inf)return Ae;if(Ae.inf)return this;if(this.eq(Ae))return this.dbl();if(this.neg().eq(Ae))return this.curve.point(null,null);if(0===this.x.cmp(Ae.x))return this.curve.point(null,null);var Se=this.y.redSub(Ae.y);0!==Se.cmpn(0)&&(Se=Se.redMul(this.x.redSub(Ae.x).redInvm()));var Ce=Se.redSqr().redISub(this.x).redISub(Ae.x),qe=Se.redMul(this.x.redSub(Ce)).redISub(this.y);return this.curve.point(Ce,qe)},my.prototype.dbl=function(){if(this.inf)return this;var Ae=this.y.redAdd(this.y);if(0===Ae.cmpn(0))return this.curve.point(null,null);var Se=this.curve.a,Ce=this.x.redSqr(),qe=Ae.redInvm(),Fe=Ce.redAdd(Ce).redIAdd(Ce).redIAdd(Se).redMul(qe),$e=Fe.redSqr().redISub(this.x.redAdd(this.x)),rt=Fe.redMul(this.x.redSub($e)).redISub(this.y);return this.curve.point($e,rt)},my.prototype.getX=function(){return this.x.fromRed()},my.prototype.getY=function(){return this.y.fromRed()},my.prototype.mul=function(Ae){return Ae=new hm(Ae,16),this.isInfinity()?this:this._hasDoubles(Ae)?this.curve._fixedNafMul(this,Ae):this.curve.endo?this.curve._endoWnafMulAdd([this],[Ae]):this.curve._wnafMul(this,Ae)},my.prototype.mulAdd=function(Ae,Se,Ce){var qe=[this,Se],Fe=[Ae,Ce];return this.curve.endo?this.curve._endoWnafMulAdd(qe,Fe):this.curve._wnafMulAdd(1,qe,Fe,2)},my.prototype.jmulAdd=function(Ae,Se,Ce){var qe=[this,Se],Fe=[Ae,Ce];return this.curve.endo?this.curve._endoWnafMulAdd(qe,Fe,!0):this.curve._wnafMulAdd(1,qe,Fe,2,!0)},my.prototype.eq=function(Ae){return this===Ae||this.inf===Ae.inf&&(this.inf||0===this.x.cmp(Ae.x)&&0===this.y.cmp(Ae.y))},my.prototype.neg=function(Ae){if(this.inf)return this;var Se=this.curve.point(this.x,this.y.redNeg());if(Ae&&this.precomputed){var Ce=this.precomputed,i=function(Ae){return Ae.neg()};Se.precomputed={naf:Ce.naf&&{wnd:Ce.naf.wnd,points:Ce.naf.points.map(i)},doubles:Ce.doubles&&{step:Ce.doubles.step,points:Ce.doubles.points.map(i)}}}return Se},my.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},ti(gy,_m.BasePoint),yy.prototype.jpoint=function(Ae,Se,Ce){return new gy(this,Ae,Se,Ce)},gy.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var Ae=this.z.redInvm(),Se=Ae.redSqr(),Ce=this.x.redMul(Se),qe=this.y.redMul(Se).redMul(Ae);return this.curve.point(Ce,qe)},gy.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},gy.prototype.add=function(Ae){if(this.isInfinity())return Ae;if(Ae.isInfinity())return this;var Se=Ae.z.redSqr(),Ce=this.z.redSqr(),qe=this.x.redMul(Se),Fe=Ae.x.redMul(Ce),$e=this.y.redMul(Se.redMul(Ae.z)),rt=Ae.y.redMul(Ce.redMul(this.z)),it=qe.redSub(Fe),nt=$e.redSub(rt);if(0===it.cmpn(0))return 0!==nt.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var st=it.redSqr(),ut=st.redMul(it),ht=qe.redMul(st),ft=nt.redSqr().redIAdd(ut).redISub(ht).redISub(ht),yt=nt.redMul(ht.redISub(ft)).redISub($e.redMul(ut)),mt=this.z.redMul(Ae.z).redMul(it);return this.curve.jpoint(ft,yt,mt)},gy.prototype.mixedAdd=function(Ae){if(this.isInfinity())return Ae.toJ();if(Ae.isInfinity())return this;var Se=this.z.redSqr(),Ce=this.x,qe=Ae.x.redMul(Se),Fe=this.y,$e=Ae.y.redMul(Se).redMul(this.z),rt=Ce.redSub(qe),it=Fe.redSub($e);if(0===rt.cmpn(0))return 0!==it.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var nt=rt.redSqr(),st=nt.redMul(rt),ut=Ce.redMul(nt),ht=it.redSqr().redIAdd(st).redISub(ut).redISub(ut),ft=it.redMul(ut.redISub(ht)).redISub(Fe.redMul(st)),yt=this.z.redMul(rt);return this.curve.jpoint(ht,ft,yt)},gy.prototype.dblp=function(Ae){if(0===Ae)return this;if(this.isInfinity())return this;if(!Ae)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var Se=this,Ce=0;Ce<Ae;Ce++)Se=Se.dbl();return Se}var qe=this.curve.a,Fe=this.curve.tinv,$e=this.x,rt=this.y,it=this.z,nt=it.redSqr().redSqr(),st=rt.redAdd(rt);for(Ce=0;Ce<Ae;Ce++){var ut=$e.redSqr(),ht=st.redSqr(),ft=ht.redSqr(),yt=ut.redAdd(ut).redIAdd(ut).redIAdd(qe.redMul(nt)),mt=$e.redMul(ht),vt=yt.redSqr().redISub(mt.redAdd(mt)),_t=mt.redISub(vt),Ct=yt.redMul(_t);Ct=Ct.redIAdd(Ct).redISub(ft);var Rt=st.redMul(it);Ce+1<Ae&&(nt=nt.redMul(ft)),$e=vt,it=Rt,st=Ct}return this.curve.jpoint($e,st.redMul(Fe),it)},gy.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},gy.prototype._zeroDbl=function(){var Ae,Se,Ce;if(this.zOne){var qe=this.x.redSqr(),Fe=this.y.redSqr(),$e=Fe.redSqr(),rt=this.x.redAdd(Fe).redSqr().redISub(qe).redISub($e);rt=rt.redIAdd(rt);var it=qe.redAdd(qe).redIAdd(qe),nt=it.redSqr().redISub(rt).redISub(rt),st=$e.redIAdd($e);st=(st=st.redIAdd(st)).redIAdd(st),Ae=nt,Se=it.redMul(rt.redISub(nt)).redISub(st),Ce=this.y.redAdd(this.y)}else{var ut=this.x.redSqr(),ht=this.y.redSqr(),ft=ht.redSqr(),yt=this.x.redAdd(ht).redSqr().redISub(ut).redISub(ft);yt=yt.redIAdd(yt);var mt=ut.redAdd(ut).redIAdd(ut),vt=mt.redSqr(),_t=ft.redIAdd(ft);_t=(_t=_t.redIAdd(_t)).redIAdd(_t),Ae=vt.redISub(yt).redISub(yt),Se=mt.redMul(yt.redISub(Ae)).redISub(_t),Ce=(Ce=this.y.redMul(this.z)).redIAdd(Ce)}return this.curve.jpoint(Ae,Se,Ce)},gy.prototype._threeDbl=function(){var Ae,Se,Ce;if(this.zOne){var qe=this.x.redSqr(),Fe=this.y.redSqr(),$e=Fe.redSqr(),rt=this.x.redAdd(Fe).redSqr().redISub(qe).redISub($e);rt=rt.redIAdd(rt);var it=qe.redAdd(qe).redIAdd(qe).redIAdd(this.curve.a),nt=it.redSqr().redISub(rt).redISub(rt);Ae=nt;var st=$e.redIAdd($e);st=(st=st.redIAdd(st)).redIAdd(st),Se=it.redMul(rt.redISub(nt)).redISub(st),Ce=this.y.redAdd(this.y)}else{var ut=this.z.redSqr(),ht=this.y.redSqr(),ft=this.x.redMul(ht),yt=this.x.redSub(ut).redMul(this.x.redAdd(ut));yt=yt.redAdd(yt).redIAdd(yt);var mt=ft.redIAdd(ft),vt=(mt=mt.redIAdd(mt)).redAdd(mt);Ae=yt.redSqr().redISub(vt),Ce=this.y.redAdd(this.z).redSqr().redISub(ht).redISub(ut);var _t=ht.redSqr();_t=(_t=(_t=_t.redIAdd(_t)).redIAdd(_t)).redIAdd(_t),Se=yt.redMul(mt.redISub(Ae)).redISub(_t)}return this.curve.jpoint(Ae,Se,Ce)},gy.prototype._dbl=function(){var Ae=this.curve.a,Se=this.x,Ce=this.y,qe=this.z,Fe=qe.redSqr().redSqr(),$e=Se.redSqr(),rt=Ce.redSqr(),it=$e.redAdd($e).redIAdd($e).redIAdd(Ae.redMul(Fe)),nt=Se.redAdd(Se),st=(nt=nt.redIAdd(nt)).redMul(rt),ut=it.redSqr().redISub(st.redAdd(st)),ht=st.redISub(ut),ft=rt.redSqr();ft=(ft=(ft=ft.redIAdd(ft)).redIAdd(ft)).redIAdd(ft);var yt=it.redMul(ht).redISub(ft),mt=Ce.redAdd(Ce).redMul(qe);return this.curve.jpoint(ut,yt,mt)},gy.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var Ae=this.x.redSqr(),Se=this.y.redSqr(),Ce=this.z.redSqr(),qe=Se.redSqr(),Fe=Ae.redAdd(Ae).redIAdd(Ae),$e=Fe.redSqr(),rt=this.x.redAdd(Se).redSqr().redISub(Ae).redISub(qe),it=(rt=(rt=(rt=rt.redIAdd(rt)).redAdd(rt).redIAdd(rt)).redISub($e)).redSqr(),nt=qe.redIAdd(qe);nt=(nt=(nt=nt.redIAdd(nt)).redIAdd(nt)).redIAdd(nt);var st=Fe.redIAdd(rt).redSqr().redISub($e).redISub(it).redISub(nt),ut=Se.redMul(st);ut=(ut=ut.redIAdd(ut)).redIAdd(ut);var ht=this.x.redMul(it).redISub(ut);ht=(ht=ht.redIAdd(ht)).redIAdd(ht);var ft=this.y.redMul(st.redMul(nt.redISub(st)).redISub(rt.redMul(it)));ft=(ft=(ft=ft.redIAdd(ft)).redIAdd(ft)).redIAdd(ft);var yt=this.z.redAdd(rt).redSqr().redISub(Ce).redISub(it);return this.curve.jpoint(ht,ft,yt)},gy.prototype.mul=function(Ae,Se){return Ae=new hm(Ae,Se),this.curve._wnafMul(this,Ae)},gy.prototype.eq=function(Ae){if("affine"===Ae.type)return this.eq(Ae.toJ());if(this===Ae)return!0;var Se=this.z.redSqr(),Ce=Ae.z.redSqr();if(0!==this.x.redMul(Ce).redISub(Ae.x.redMul(Se)).cmpn(0))return!1;var qe=Se.redMul(this.z),Fe=Ce.redMul(Ae.z);return 0===this.y.redMul(Fe).redISub(Ae.y.redMul(qe)).cmpn(0)},gy.prototype.eqXToP=function(Ae){var Se=this.z.redSqr(),Ce=Ae.toRed(this.curve.red).redMul(Se);if(0===this.x.cmp(Ce))return!0;for(var qe=Ae.clone(),Fe=this.curve.redN.redMul(Se);;){if(qe.iadd(this.curve.n),qe.cmp(this.curve.p)>=0)return!1;if(Ce.redIAdd(Fe),0===this.x.cmp(Ce))return!0}},gy.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},gy.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},ti(wy,_m);var Sm=wy;function _y(Ae,Se,Ce){_m.BasePoint.call(this,Ae,"projective"),null===Se&&null===Ce?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new hm(Se,16),this.z=new hm(Ce,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}wy.prototype.validate=function(Ae){var Se=Ae.normalize().x,Ce=Se.redSqr(),qe=Ce.redMul(Se).redAdd(Ce.redMul(this.a)).redAdd(Se);return 0===qe.redSqrt().redSqr().cmp(qe)},ti(_y,_m.BasePoint),wy.prototype.decodePoint=function(Ae,Se){if(33===(Ae=ym.toArray(Ae,Se)).length&&64===Ae[0]&&(Ae=Ae.slice(1,33).reverse()),32!==Ae.length)throw Error("Unknown point compression format");return this.point(Ae,1)},wy.prototype.point=function(Ae,Se){return new _y(this,Ae,Se)},wy.prototype.pointFromJSON=function(Ae){return _y.fromJSON(this,Ae)},_y.prototype.precompute=function(){},_y.prototype._encode=function(Ae){var Se=this.curve.p.byteLength();return Ae?[64].concat(this.getX().toArray("le",Se)):this.getX().toArray("be",Se)},_y.fromJSON=function(Ae,Se){return new _y(Ae,Se[0],Se[1]||Ae.one)},_y.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},_y.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},_y.prototype.dbl=function(){var Ae=this.x.redAdd(this.z).redSqr(),Se=this.x.redSub(this.z).redSqr(),Ce=Ae.redSub(Se),qe=Ae.redMul(Se),Fe=Ce.redMul(Se.redAdd(this.curve.a24.redMul(Ce)));return this.curve.point(qe,Fe)},_y.prototype.add=function(){throw Error("Not supported on Montgomery curve")},_y.prototype.diffAdd=function(Ae,Se){var Ce=this.x.redAdd(this.z),qe=this.x.redSub(this.z),Fe=Ae.x.redAdd(Ae.z),$e=Ae.x.redSub(Ae.z).redMul(Ce),rt=Fe.redMul(qe),it=Se.z.redMul($e.redAdd(rt).redSqr()),nt=Se.x.redMul($e.redISub(rt).redSqr());return this.curve.point(it,nt)},_y.prototype.mul=function(Ae){for(var Se=(Ae=new hm(Ae,16)).clone(),Ce=this,qe=this.curve.point(null,null),Fe=[];0!==Se.cmpn(0);Se.iushrn(1))Fe.push(Se.andln(1));for(var $e=Fe.length-1;$e>=0;$e--)0===Fe[$e]?(Ce=Ce.diffAdd(qe,this),qe=qe.dbl()):(qe=Ce.diffAdd(qe,this),Ce=Ce.dbl());return qe},_y.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},_y.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},_y.prototype.eq=function(Ae){return 0===this.getX().cmp(Ae.getX())},_y.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},_y.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Em=ym.assert;function Ay(Ae){this.twisted=1!=(0|Ae.a),this.mOneA=this.twisted&&-1==(0|Ae.a),this.extended=this.mOneA,_m.call(this,"edwards",Ae),this.a=new hm(Ae.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new hm(Ae.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new hm(Ae.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Em(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|Ae.c)}ti(Ay,_m);var Mm=Ay;function Ey(Ae,Se,Ce,qe,Fe){_m.BasePoint.call(this,Ae,"projective"),null===Se&&null===Ce&&null===qe?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new hm(Se,16),this.y=new hm(Ce,16),this.z=qe?new hm(qe,16):this.curve.one,this.t=Fe&&new hm(Fe,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Ay.prototype._mulA=function(Ae){return this.mOneA?Ae.redNeg():this.a.redMul(Ae)},Ay.prototype._mulC=function(Ae){return this.oneC?Ae:this.c.redMul(Ae)},Ay.prototype.jpoint=function(Ae,Se,Ce,qe){return this.point(Ae,Se,Ce,qe)},Ay.prototype.pointFromX=function(Ae,Se){(Ae=new hm(Ae,16)).red||(Ae=Ae.toRed(this.red));var Ce=Ae.redSqr(),qe=this.c2.redSub(this.a.redMul(Ce)),Fe=this.one.redSub(this.c2.redMul(this.d).redMul(Ce)),$e=qe.redMul(Fe.redInvm()),rt=$e.redSqrt();if(0!==rt.redSqr().redSub($e).cmp(this.zero))throw Error("invalid point");var it=rt.fromRed().isOdd();return(Se&&!it||!Se&&it)&&(rt=rt.redNeg()),this.point(Ae,rt)},Ay.prototype.pointFromY=function(Ae,Se){(Ae=new hm(Ae,16)).red||(Ae=Ae.toRed(this.red));var Ce=Ae.redSqr(),qe=Ce.redSub(this.c2),Fe=Ce.redMul(this.d).redMul(this.c2).redSub(this.a),$e=qe.redMul(Fe.redInvm());if(0===$e.cmp(this.zero)){if(Se)throw Error("invalid point");return this.point(this.zero,Ae)}var rt=$e.redSqrt();if(0!==rt.redSqr().redSub($e).cmp(this.zero))throw Error("invalid point");return rt.fromRed().isOdd()!==Se&&(rt=rt.redNeg()),this.point(rt,Ae)},Ay.prototype.validate=function(Ae){if(Ae.isInfinity())return!0;Ae.normalize();var Se=Ae.x.redSqr(),Ce=Ae.y.redSqr(),qe=Se.redMul(this.a).redAdd(Ce),Fe=this.c2.redMul(this.one.redAdd(this.d.redMul(Se).redMul(Ce)));return 0===qe.cmp(Fe)},ti(Ey,_m.BasePoint),Ay.prototype.pointFromJSON=function(Ae){return Ey.fromJSON(this,Ae)},Ay.prototype.point=function(Ae,Se,Ce,qe){return new Ey(this,Ae,Se,Ce,qe)},Ey.fromJSON=function(Ae,Se){return new Ey(Ae,Se[0],Se[1],Se[2])},Ey.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Ey.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Ey.prototype._extDbl=function(){var Ae=this.x.redSqr(),Se=this.y.redSqr(),Ce=this.z.redSqr();Ce=Ce.redIAdd(Ce);var qe=this.curve._mulA(Ae),Fe=this.x.redAdd(this.y).redSqr().redISub(Ae).redISub(Se),$e=qe.redAdd(Se),rt=$e.redSub(Ce),it=qe.redSub(Se),nt=Fe.redMul(rt),st=$e.redMul(it),ut=Fe.redMul(it),ht=rt.redMul($e);return this.curve.point(nt,st,ht,ut)},Ey.prototype._projDbl=function(){var Ae,Se,Ce,qe=this.x.redAdd(this.y).redSqr(),Fe=this.x.redSqr(),$e=this.y.redSqr();if(this.curve.twisted){var rt=(st=this.curve._mulA(Fe)).redAdd($e);if(this.zOne)Ae=qe.redSub(Fe).redSub($e).redMul(rt.redSub(this.curve.two)),Se=rt.redMul(st.redSub($e)),Ce=rt.redSqr().redSub(rt).redSub(rt);else{var it=this.z.redSqr(),nt=rt.redSub(it).redISub(it);Ae=qe.redSub(Fe).redISub($e).redMul(nt),Se=rt.redMul(st.redSub($e)),Ce=rt.redMul(nt)}}else{var st=Fe.redAdd($e);it=this.curve._mulC(this.z).redSqr(),nt=st.redSub(it).redSub(it);Ae=this.curve._mulC(qe.redISub(st)).redMul(nt),Se=this.curve._mulC(st).redMul(Fe.redISub($e)),Ce=st.redMul(nt)}return this.curve.point(Ae,Se,Ce)},Ey.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Ey.prototype._extAdd=function(Ae){var Se=this.y.redSub(this.x).redMul(Ae.y.redSub(Ae.x)),Ce=this.y.redAdd(this.x).redMul(Ae.y.redAdd(Ae.x)),qe=this.t.redMul(this.curve.dd).redMul(Ae.t),Fe=this.z.redMul(Ae.z.redAdd(Ae.z)),$e=Ce.redSub(Se),rt=Fe.redSub(qe),it=Fe.redAdd(qe),nt=Ce.redAdd(Se),st=$e.redMul(rt),ut=it.redMul(nt),ht=$e.redMul(nt),ft=rt.redMul(it);return this.curve.point(st,ut,ft,ht)},Ey.prototype._projAdd=function(Ae){var Se,Ce,qe=this.z.redMul(Ae.z),Fe=qe.redSqr(),$e=this.x.redMul(Ae.x),rt=this.y.redMul(Ae.y),it=this.curve.d.redMul($e).redMul(rt),nt=Fe.redSub(it),st=Fe.redAdd(it),ut=this.x.redAdd(this.y).redMul(Ae.x.redAdd(Ae.y)).redISub($e).redISub(rt),ht=qe.redMul(nt).redMul(ut);return this.curve.twisted?(Se=qe.redMul(st).redMul(rt.redSub(this.curve._mulA($e))),Ce=nt.redMul(st)):(Se=qe.redMul(st).redMul(rt.redSub($e)),Ce=this.curve._mulC(nt).redMul(st)),this.curve.point(ht,Se,Ce)},Ey.prototype.add=function(Ae){return this.isInfinity()?Ae:Ae.isInfinity()?this:this.curve.extended?this._extAdd(Ae):this._projAdd(Ae)},Ey.prototype.mul=function(Ae){return this._hasDoubles(Ae)?this.curve._fixedNafMul(this,Ae):this.curve._wnafMul(this,Ae)},Ey.prototype.mulAdd=function(Ae,Se,Ce){return this.curve._wnafMulAdd(1,[this,Se],[Ae,Ce],2,!1)},Ey.prototype.jmulAdd=function(Ae,Se,Ce){return this.curve._wnafMulAdd(1,[this,Se],[Ae,Ce],2,!0)},Ey.prototype.normalize=function(){if(this.zOne)return this;var Ae=this.z.redInvm();return this.x=this.x.redMul(Ae),this.y=this.y.redMul(Ae),this.t&&(this.t=this.t.redMul(Ae)),this.z=this.curve.one,this.zOne=!0,this},Ey.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Ey.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Ey.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Ey.prototype.eq=function(Ae){return this===Ae||0===this.getX().cmp(Ae.getX())&&0===this.getY().cmp(Ae.getY())},Ey.prototype.eqXToP=function(Ae){var Se=Ae.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(Se))return!0;for(var Ce=Ae.clone(),qe=this.curve.redN.redMul(this.z);;){if(Ce.iadd(this.curve.n),Ce.cmp(this.curve.p)>=0)return!1;if(Se.redIAdd(qe),0===this.x.cmp(Se))return!0}},Ey.prototype.toP=Ey.prototype.normalize,Ey.prototype.mixedAdd=Ey.prototype.add;var Pm=gt((function(Ae,Se){var Ce=Se;Ce.base=_m,Ce.short=Am,Ce.mont=Sm,Ce.edwards=Mm})),xm=ri.rotl32,Cm=ri.sum32,Dm=ri.sum32_5,Rm=li.ft_1,Bm=oi.BlockHash,Km=[1518500249,1859775393,2400959708,3395469782];function Ry(){if(!(this instanceof Ry))return new Ry;Bm.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}ri.inherits(Ry,Bm);var Tm=Ry;Ry.blockSize=512,Ry.outSize=160,Ry.hmacStrength=80,Ry.padLength=64,Ry.prototype._update=function(Ae,Se){for(var Ce=this.W,qe=0;qe<16;qe++)Ce[qe]=Ae[Se+qe];for(;qe<Ce.length;qe++)Ce[qe]=xm(Ce[qe-3]^Ce[qe-8]^Ce[qe-14]^Ce[qe-16],1);var Fe=this.h[0],$e=this.h[1],rt=this.h[2],it=this.h[3],nt=this.h[4];for(qe=0;qe<Ce.length;qe++){var st=~~(qe/20),ut=Dm(xm(Fe,5),Rm(st,$e,rt,it),nt,Ce[qe],Km[st]);nt=it,it=rt,rt=xm($e,30),$e=Fe,Fe=ut}this.h[0]=Cm(this.h[0],Fe),this.h[1]=Cm(this.h[1],$e),this.h[2]=Cm(this.h[2],rt),this.h[3]=Cm(this.h[3],it),this.h[4]=Cm(this.h[4],nt)},Ry.prototype._digest=function(Ae){return"hex"===Ae?ri.toHex32(this.h,"big"):ri.split32(this.h,"big")};var Um={sha1:Tm,sha224:xi,sha256:Pi,sha384:Xi,sha512:Yi};function Ty(Ae,Se,Ce){if(!(this instanceof Ty))return new Ty(Ae,Se,Ce);this.Hash=Ae,this.blockSize=Ae.blockSize/8,this.outSize=Ae.outSize/8,this.inner=null,this.outer=null,this._init(ri.toArray(Se,Ce))}var Im=Ty;Ty.prototype._init=function(Ae){Ae.length>this.blockSize&&(Ae=(new this.Hash).update(Ae).digest()),Lr(Ae.length<=this.blockSize);for(var Se=Ae.length;Se<this.blockSize;Se++)Ae.push(0);for(Se=0;Se<Ae.length;Se++)Ae[Se]^=54;for(this.inner=(new this.Hash).update(Ae),Se=0;Se<Ae.length;Se++)Ae[Se]^=106;this.outer=(new this.Hash).update(Ae)},Ty.prototype.update=function(Ae,Se){return this.inner.update(Ae,Se),this},Ty.prototype.digest=function(Ae){return this.outer.update(this.inner.digest()),this.outer.digest(Ae)};var Om=gt((function(Ae,Se){var Ce=Se;Ce.utils=ri,Ce.common=oi,Ce.sha=Um,Ce.ripemd=gn,Ce.hmac=Im,Ce.sha1=Ce.sha.sha1,Ce.sha256=Ce.sha.sha256,Ce.sha224=Ce.sha.sha224,Ce.sha384=Ce.sha.sha384,Ce.sha512=Ce.sha.sha512,Ce.ripemd160=Ce.ripemd.ripemd160})),Nm={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}},jm=gt((function(Ae,Se){var Ce,qe=Se,Fe=ym.assert;function a(Ae){if("short"===Ae.type)this.curve=new Pm.short(Ae);else if("edwards"===Ae.type)this.curve=new Pm.edwards(Ae);else{if("mont"!==Ae.type)throw Error("Unknown curve type.");this.curve=new Pm.mont(Ae)}this.g=this.curve.g,this.n=this.curve.n,this.hash=Ae.hash,Fe(this.g.validate(),"Invalid curve"),Fe(this.g.mul(this.n).isInfinity(),"Invalid curve, n*G != O")}function s(Ae,Se){Object.defineProperty(qe,Ae,{configurable:!0,enumerable:!0,get:function(){var Ce=new a(Se);return Object.defineProperty(qe,Ae,{configurable:!0,enumerable:!0,value:Ce}),Ce}})}qe.PresetCurve=a,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Om.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Om.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Om.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Om.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Om.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:Om.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:Om.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]}),s("brainpoolP256r1",{type:"short",prime:null,p:"A9FB57DB A1EEA9BC 3E660A90 9D838D72 6E3BF623 D5262028 2013481D 1F6E5377",a:"7D5A0975 FC2C3057 EEF67530 417AFFE7 FB8055C1 26DC5C6C E94A4B44 F330B5D9",b:"26DC5C6C E94A4B44 F330B5D9 BBD77CBF 95841629 5CF7E1CE 6BCCDC18 FF8C07B6",n:"A9FB57DB A1EEA9BC 3E660A90 9D838D71 8C397AA3 B561A6F7 901E0E82 974856A7",hash:Om.sha256,gRed:!1,g:["8BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262","547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997"]}),s("brainpoolP384r1",{type:"short",prime:null,p:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B4 12B1DA19 7FB71123ACD3A729 901D1A71 87470013 3107EC53",a:"7BC382C6 3D8C150C 3C72080A CE05AFA0 C2BEA28E 4FB22787 139165EF BA91F90F8AA5814A 503AD4EB 04A8C7DD 22CE2826",b:"04A8C7DD 22CE2826 8B39B554 16F0447C 2FB77DE1 07DCD2A6 2E880EA5 3EEB62D57CB43902 95DBC994 3AB78696 FA504C11",n:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B3 1F166E6C AC0425A7CF3AB6AF 6B7FC310 3B883202 E9046565",hash:Om.sha384,gRed:!1,g:["1D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E","8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315"]}),s("brainpoolP512r1",{type:"short",prime:null,p:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 703308717D4D9B00 9BC66842 AECDA12A E6A380E6 2881FF2F 2D82C685 28AA6056 583A48F3",a:"7830A331 8B603B89 E2327145 AC234CC5 94CBDD8D 3DF91610 A83441CA EA9863BC2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A7 2BF2C7B9 E7C1AC4D 77FC94CA",b:"3DF91610 A83441CA EA9863BC 2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A72BF2C7B9 E7C1AC4D 77FC94CA DC083E67 984050B7 5EBAE5DD 2809BD63 8016F723",n:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 70330870553E5C41 4CA92619 41866119 7FAC1047 1DB1D381 085DDADD B5879682 9CA90069",hash:Om.sha512,gRed:!1,g:["81AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F822","7DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892"]});try{Ce=Nm}catch(Ae){Ce=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Om.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",Ce]})}));function Ly(Ae){if(!(this instanceof Ly))return new Ly(Ae);this.hash=Ae.hash,this.predResist=!!Ae.predResist,this.outLen=this.hash.outSize,this.minEntropy=Ae.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var Se=pm.toArray(Ae.entropy,Ae.entropyEnc||"hex"),Ce=pm.toArray(Ae.nonce,Ae.nonceEnc||"hex"),qe=pm.toArray(Ae.pers,Ae.persEnc||"hex");Lr(Se.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(Se,Ce,qe)}var qm=Ly;Ly.prototype._init=function(Ae,Se,Ce){var qe=Ae.concat(Se).concat(Ce);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var Fe=0;Fe<this.V.length;Fe++)this.K[Fe]=0,this.V[Fe]=1;this._update(qe),this._reseed=1,this.reseedInterval=281474976710656},Ly.prototype._hmac=function(){return new Om.hmac(this.hash,this.K)},Ly.prototype._update=function(Ae){var Se=this._hmac().update(this.V).update([0]);Ae&&(Se=Se.update(Ae)),this.K=Se.digest(),this.V=this._hmac().update(this.V).digest(),Ae&&(this.K=this._hmac().update(this.V).update([1]).update(Ae).digest(),this.V=this._hmac().update(this.V).digest())},Ly.prototype.reseed=function(Ae,Se,Ce,qe){"string"!=typeof Se&&(qe=Ce,Ce=Se,Se=null),Ae=pm.toArray(Ae,Se),Ce=pm.toArray(Ce,qe),Lr(Ae.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(Ae.concat(Ce||[])),this._reseed=1},Ly.prototype.generate=function(Ae,Se,Ce,qe){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof Se&&(qe=Ce,Ce=Se,Se=null),Ce&&(Ce=pm.toArray(Ce,qe||"hex"),this._update(Ce));for(var Fe=[];Fe.length<Ae;)this.V=this._hmac().update(this.V).digest(),Fe=Fe.concat(this.V);var $e=Fe.slice(0,Ae);return this._update(Ce),this._reseed++,pm.encode($e,Se)};var zm=ym.assert;function Wy(Ae,Se){this.ec=Ae,this.priv=null,this.pub=null,Se.priv&&this._importPrivate(Se.priv,Se.privEnc),Se.pub&&this._importPublic(Se.pub,Se.pubEnc)}var Fm=Wy;Wy.fromPublic=function(Ae,Se,Ce){return Se instanceof Wy?Se:new Wy(Ae,{pub:Se,pubEnc:Ce})},Wy.fromPrivate=function(Ae,Se,Ce){return Se instanceof Wy?Se:new Wy(Ae,{priv:Se,privEnc:Ce})},Wy.prototype.validate=function(){var Ae=this.getPublic();return Ae.isInfinity()?{result:!1,reason:"Invalid public key"}:Ae.validate()?Ae.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Wy.prototype.getPublic=function(Ae,Se){return this.pub||(this.pub=this.ec.g.mul(this.priv)),Ae?this.pub.encode(Ae,Se):this.pub},Wy.prototype.getPrivate=function(Ae){return"hex"===Ae?this.priv.toString(16,2):this.priv},Wy.prototype._importPrivate=function(Ae,Se){if(this.priv=new hm(Ae,Se||16),"mont"===this.ec.curve.type){var Ce=this.ec.curve.one,qe=Ce.ushln(252).sub(Ce).ushln(3);this.priv=this.priv.or(Ce.ushln(254)),this.priv=this.priv.and(qe)}else this.priv=this.priv.umod(this.ec.curve.n)},Wy.prototype._importPublic=function(Ae,Se){if(Ae.x||Ae.y)return"mont"===this.ec.curve.type?zm(Ae.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||zm(Ae.x&&Ae.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(Ae.x,Ae.y));this.pub=this.ec.curve.decodePoint(Ae,Se)},Wy.prototype.derive=function(Ae){return Ae.mul(this.priv).getX()},Wy.prototype.sign=function(Ae,Se,Ce){return this.ec.sign(Ae,this,Se,Ce)},Wy.prototype.verify=function(Ae,Se){return this.ec.verify(Ae,Se,this)},Wy.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Lm=ym.assert;function Vy(Ae,Se){if(Ae instanceof Vy)return Ae;this._importDER(Ae,Se)||(Lm(Ae.r&&Ae.s,"Signature without r or s"),this.r=new hm(Ae.r,16),this.s=new hm(Ae.s,16),void 0===Ae.recoveryParam?this.recoveryParam=null:this.recoveryParam=Ae.recoveryParam)}var Hm=Vy;function Zy(){this.place=0}function Xy(Ae,Se){var Ce=Ae[Se.place++];if(!(128&Ce))return Ce;for(var qe=15&Ce,Fe=0,$e=0,rt=Se.place;$e<qe;$e++,rt++)Fe<<=8,Fe|=Ae[rt];return Se.place=rt,Fe}function Yy(Ae){for(var Se=0,Ce=Ae.length-1;!Ae[Se]&&!(128&Ae[Se+1])&&Se<Ce;)Se++;return 0===Se?Ae:Ae.slice(Se)}function Qy(Ae,Se){if(Se<128)Ae.push(Se);else{var Ce=1+(Math.log(Se)/Math.LN2>>>3);for(Ae.push(128|Ce);--Ce;)Ae.push(Se>>>(Ce<<3)&255);Ae.push(Se)}}Vy.prototype._importDER=function(Ae,Se){Ae=ym.toArray(Ae,Se);var Ce=new Zy;if(48!==Ae[Ce.place++])return!1;if(Xy(Ae,Ce)+Ce.place!==Ae.length)return!1;if(2!==Ae[Ce.place++])return!1;var qe=Xy(Ae,Ce),Fe=Ae.slice(Ce.place,qe+Ce.place);if(Ce.place+=qe,2!==Ae[Ce.place++])return!1;var $e=Xy(Ae,Ce);if(Ae.length!==$e+Ce.place)return!1;var rt=Ae.slice(Ce.place,$e+Ce.place);return 0===Fe[0]&&128&Fe[1]&&(Fe=Fe.slice(1)),0===rt[0]&&128&rt[1]&&(rt=rt.slice(1)),this.r=new hm(Fe),this.s=new hm(rt),this.recoveryParam=null,!0},Vy.prototype.toDER=function(Ae){var Se=this.r.toArray(),Ce=this.s.toArray();for(128&Se[0]&&(Se=[0].concat(Se)),128&Ce[0]&&(Ce=[0].concat(Ce)),Se=Yy(Se),Ce=Yy(Ce);!(Ce[0]||128&Ce[1]);)Ce=Ce.slice(1);var qe=[2];Qy(qe,Se.length),(qe=qe.concat(Se)).push(2),Qy(qe,Ce.length);var Fe=qe.concat(Ce),$e=[48];return Qy($e,Fe.length),$e=$e.concat(Fe),ym.encode($e,Ae)};var Wm=ym.assert;function eb(Ae){if(!(this instanceof eb))return new eb(Ae);"string"==typeof Ae&&(Wm(jm.hasOwnProperty(Ae),"Unknown curve "+Ae),Ae=jm[Ae]),Ae instanceof jm.PresetCurve&&(Ae={curve:Ae}),this.curve=Ae.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=Ae.curve.g,this.g.precompute(Ae.curve.n.bitLength()+1),this.hash=Ae.hash||Ae.curve.hash}var Gm=eb;eb.prototype.keyPair=function(Ae){return new Fm(this,Ae)},eb.prototype.keyFromPrivate=function(Ae,Se){return Fm.fromPrivate(this,Ae,Se)},eb.prototype.keyFromPublic=function(Ae,Se){return Fm.fromPublic(this,Ae,Se)},eb.prototype.genKeyPair=function(Ae){Ae||(Ae={});var Se=new qm({hash:this.hash,pers:Ae.pers,persEnc:Ae.persEnc||"utf8",entropy:Ae.entropy||ny(this.hash.hmacStrength),entropyEnc:Ae.entropy&&Ae.entropyEnc||"utf8",nonce:this.n.toArray()});if("mont"===this.curve.type){var Ce=new hm(Se.generate(32));return this.keyFromPrivate(Ce)}for(var qe=this.n.byteLength(),Fe=this.n.sub(new hm(2));;){if(!((Ce=new hm(Se.generate(qe))).cmp(Fe)>0))return Ce.iaddn(1),this.keyFromPrivate(Ce)}},eb.prototype._truncateToN=function(Ae,Se,Ce){var qe=(Ce=Ce||8*Ae.byteLength())-this.n.bitLength();return qe>0&&(Ae=Ae.ushrn(qe)),!Se&&Ae.cmp(this.n)>=0?Ae.sub(this.n):Ae},eb.prototype.truncateMsg=function(Ae){var Se;return Ae instanceof Uint8Array?(Se=8*Ae.byteLength,Ae=this._truncateToN(new hm(Ae,16),!1,Se)):"string"==typeof Ae?(Se=4*Ae.length,Ae=this._truncateToN(new hm(Ae,16),!1,Se)):Ae=this._truncateToN(new hm(Ae,16)),Ae},eb.prototype.sign=function(Ae,Se,Ce,qe){"object"==typeof Ce&&(qe=Ce,Ce=null),qe||(qe={}),Se=this.keyFromPrivate(Se,Ce),Ae=this.truncateMsg(Ae);for(var Fe=this.n.byteLength(),$e=Se.getPrivate().toArray("be",Fe),rt=Ae.toArray("be",Fe),it=new qm({hash:this.hash,entropy:$e,nonce:rt,pers:qe.pers,persEnc:qe.persEnc||"utf8"}),nt=this.n.sub(new hm(1)),st=0;;st++){var ut=qe.k?qe.k(st):new hm(it.generate(this.n.byteLength()));if(!((ut=this._truncateToN(ut,!0)).cmpn(1)<=0||ut.cmp(nt)>=0)){var ht=this.g.mul(ut);if(!ht.isInfinity()){var ft=ht.getX(),yt=ft.umod(this.n);if(0!==yt.cmpn(0)){var mt=ut.invm(this.n).mul(yt.mul(Se.getPrivate()).iadd(Ae));if(0!==(mt=mt.umod(this.n)).cmpn(0)){var vt=(ht.getY().isOdd()?1:0)|(0!==ft.cmp(yt)?2:0);return qe.canonical&&mt.cmp(this.nh)>0&&(mt=this.n.sub(mt),vt^=1),new Hm({r:yt,s:mt,recoveryParam:vt})}}}}}},eb.prototype.verify=function(Ae,Se,Ce,qe){return Ce=this.keyFromPublic(Ce,qe),Se=new Hm(Se,"hex"),this._verify(this.truncateMsg(Ae),Se,Ce)||this._verify(this._truncateToN(new hm(Ae,16)),Se,Ce)},eb.prototype._verify=function(Ae,Se,Ce){var qe=Se.r,Fe=Se.s;if(qe.cmpn(1)<0||qe.cmp(this.n)>=0)return!1;if(Fe.cmpn(1)<0||Fe.cmp(this.n)>=0)return!1;var $e,rt=Fe.invm(this.n),it=rt.mul(Ae).umod(this.n),nt=rt.mul(qe).umod(this.n);return this.curve._maxwellTrick?!($e=this.g.jmulAdd(it,Ce.getPublic(),nt)).isInfinity()&&$e.eqXToP(qe):!($e=this.g.mulAdd(it,Ce.getPublic(),nt)).isInfinity()&&0===$e.getX().umod(this.n).cmp(qe)},eb.prototype.recoverPubKey=function(Ae,Se,Ce,qe){Wm((3&Ce)===Ce,"The recovery param is more than two bits"),Se=new Hm(Se,qe);var Fe=this.n,$e=new hm(Ae),rt=Se.r,it=Se.s,nt=1&Ce,st=Ce>>1;if(rt.cmp(this.curve.p.umod(this.curve.n))>=0&&st)throw Error("Unable to find sencond key candinate");rt=st?this.curve.pointFromX(rt.add(this.curve.n),nt):this.curve.pointFromX(rt,nt);var ut=Se.r.invm(Fe),ht=Fe.sub($e).mul(ut).umod(Fe),ft=it.mul(ut).umod(Fe);return this.g.mulAdd(ht,rt,ft)},eb.prototype.getKeyRecoveryParam=function(Ae,Se,Ce,qe){if(null!==(Se=new Hm(Se,qe)).recoveryParam)return Se.recoveryParam;for(var Fe=0;Fe<4;Fe++){var $e;try{$e=this.recoverPubKey(Ae,Se,Fe)}catch(Ae){continue}if($e.eq(Ce))return Fe}throw Error("Unable to find valid recovery factor")};var $m=ym.assert,Vm=ym.parseBytes,Zm=ym.cachedProperty;function ab(Ae,Se){if(this.eddsa=Ae,Se.hasOwnProperty("secret")&&(this._secret=Vm(Se.secret)),Ae.isPoint(Se.pub))this._pub=Se.pub;else if(this._pubBytes=Vm(Se.pub),this._pubBytes&&33===this._pubBytes.length&&64===this._pubBytes[0]&&(this._pubBytes=this._pubBytes.slice(1,33)),this._pubBytes&&32!==this._pubBytes.length)throw Error("Unknown point compression format")}ab.fromPublic=function(Ae,Se){return Se instanceof ab?Se:new ab(Ae,{pub:Se})},ab.fromSecret=function(Ae,Se){return Se instanceof ab?Se:new ab(Ae,{secret:Se})},ab.prototype.secret=function(){return this._secret},Zm(ab,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),Zm(ab,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),Zm(ab,"privBytes",(function(){var Ae=this.eddsa,Se=this.hash(),Ce=Ae.encodingLength-1,qe=Se.slice(0,Ae.encodingLength);return qe[0]&=248,qe[Ce]&=127,qe[Ce]|=64,qe})),Zm(ab,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),Zm(ab,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),Zm(ab,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),ab.prototype.sign=function(Ae){return $m(this._secret,"KeyPair can only verify"),this.eddsa.sign(Ae,this)},ab.prototype.verify=function(Ae,Se){return this.eddsa.verify(Ae,Se,this)},ab.prototype.getSecret=function(Ae){return $m(this._secret,"KeyPair is public only"),ym.encode(this.secret(),Ae)},ab.prototype.getPublic=function(Ae,Se){return ym.encode((Se?[64]:[]).concat(this.pubBytes()),Ae)};var Qm=ab,Ym=ym.assert,Xm=ym.cachedProperty,Jm=ym.parseBytes;function hb(Ae,Se){this.eddsa=Ae,"object"!=typeof Se&&(Se=Jm(Se)),Array.isArray(Se)&&(Se={R:Se.slice(0,Ae.encodingLength),S:Se.slice(Ae.encodingLength)}),Ym(Se.R&&Se.S,"Signature without R or S"),Ae.isPoint(Se.R)&&(this._R=Se.R),Se.S instanceof hm&&(this._S=Se.S),this._Rencoded=Array.isArray(Se.R)?Se.R:Se.Rencoded,this._Sencoded=Array.isArray(Se.S)?Se.S:Se.Sencoded}Xm(hb,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),Xm(hb,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),Xm(hb,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),Xm(hb,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),hb.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},hb.prototype.toHex=function(){return ym.encode(this.toBytes(),"hex").toUpperCase()};var eg=hb,tg=ym.assert,rg=ym.parseBytes;function pb(Ae){if(tg("ed25519"===Ae,"only tested with ed25519 so far"),!(this instanceof pb))return new pb(Ae);Ae=jm[Ae].curve;this.curve=Ae,this.g=Ae.g,this.g.precompute(Ae.n.bitLength()+1),this.pointClass=Ae.point().constructor,this.encodingLength=Math.ceil(Ae.n.bitLength()/8),this.hash=Om.sha512}var ig=pb;pb.prototype.sign=function(Ae,Se){Ae=rg(Ae);var Ce=this.keyFromSecret(Se),qe=this.hashInt(Ce.messagePrefix(),Ae),Fe=this.g.mul(qe),$e=this.encodePoint(Fe),rt=this.hashInt($e,Ce.pubBytes(),Ae).mul(Ce.priv()),it=qe.add(rt).umod(this.curve.n);return this.makeSignature({R:Fe,S:it,Rencoded:$e})},pb.prototype.verify=function(Ae,Se,Ce){Ae=rg(Ae),Se=this.makeSignature(Se);var qe=this.keyFromPublic(Ce),Fe=this.hashInt(Se.Rencoded(),qe.pubBytes(),Ae),$e=this.g.mul(Se.S());return Se.R().add(qe.pub().mul(Fe)).eq($e)},pb.prototype.hashInt=function(){for(var Ae=this.hash(),Se=0;Se<arguments.length;Se++)Ae.update(arguments[Se]);return ym.intFromLE(Ae.digest()).umod(this.curve.n)},pb.prototype.keyPair=function(Ae){return new Qm(this,Ae)},pb.prototype.keyFromPublic=function(Ae){return Qm.fromPublic(this,Ae)},pb.prototype.keyFromSecret=function(Ae){return Qm.fromSecret(this,Ae)},pb.prototype.genKeyPair=function(Ae){Ae||(Ae={});var Se=new qm({hash:this.hash,pers:Ae.pers,persEnc:Ae.persEnc||"utf8",entropy:Ae.entropy||ny(this.hash.hmacStrength),entropyEnc:Ae.entropy&&Ae.entropyEnc||"utf8",nonce:this.curve.n.toArray()});return this.keyFromSecret(Se.generate(32))},pb.prototype.makeSignature=function(Ae){return Ae instanceof eg?Ae:new eg(this,Ae)},pb.prototype.encodePoint=function(Ae){var Se=Ae.getY().toArray("le",this.encodingLength);return Se[this.encodingLength-1]|=Ae.getX().isOdd()?128:0,Se},pb.prototype.decodePoint=function(Ae){var Se=(Ae=ym.parseBytes(Ae)).length-1,Ce=Ae.slice(0,Se).concat(-129&Ae[Se]),qe=0!=(128&Ae[Se]),Fe=ym.intFromLE(Ce);return this.curve.pointFromY(Fe,qe)},pb.prototype.encodeInt=function(Ae){return Ae.toArray("le",this.encodingLength)},pb.prototype.decodeInt=function(Ae){return ym.intFromLE(Ae)},pb.prototype.isPoint=function(Ae){return Ae instanceof this.pointClass};var ng=gt((function(Ae,Se){var Ce=Se;Ce.utils=ym,Ce.rand=ny,Ce.curve=Pm,Ce.curves=jm,Ce.ec=Gm,Ce.eddsa=ig})),sg=Object.freeze({__proto__:null,default:ng,__moduleExports:ng});Se.AEADEncryptedDataPacket=Lu,Se.CleartextMessage=qh,Se.CompressedDataPacket=Cu,Se.LiteralDataPacket=_u,Se.MarkerPacket=class{static get tag(){return ir.packet.marker}read(Ae){return 80===Ae[0]&&71===Ae[1]&&80===Ae[2]}write(){return new Uint8Array([80,71,80])}},Se.Message=Ih,Se.OnePassSignaturePacket=Pu,Se.PacketList=Mu,Se.PrivateKey=xh,Se.PublicKey=Ph,Se.PublicKeyEncryptedSessionKeyPacket=Nu,Se.PublicKeyPacket=Gu,Se.PublicSubkeyPacket=Zu,Se.SecretKeyPacket=Yu,Se.SecretSubkeyPacket=th,Se.Signature=ih,Se.SignaturePacket=Su,Se.Subkey=_h,Se.SymEncryptedIntegrityProtectedDataPacket=Fu,Se.SymEncryptedSessionKeyPacket=Hu,Se.SymmetricallyEncryptedDataPacket=$u,Se.TrustPacket=class{static get tag(){return ir.packet.trust}read(){throw new Un("Trust packets are not supported")}write(){throw new Un("Trust packets are not supported")}},Se.UnparseablePacket=Rn,Se.UserAttributePacket=Xu,Se.UserIDPacket=eh,Se.armor=Me,Se.config=hr,Se.createCleartextMessage=async function({text:Ae,...Se}){if(!Ae)throw Error("createCleartextMessage: must pass options object containing `text`");if(!sr.isString(Ae))throw Error("createCleartextMessage: options.text must be a string");const Ce=Object.keys(Se);if(Ce.length>0)throw Error("Unknown option: "+Ce.join(", "));return new qh(Ae)},Se.createMessage=async function({text:Ae,binary:Se,filename:Ce,date:qe=new Date,format:Fe=(void 0!==Ae?"utf8":"binary"),...$e}){let rt=void 0!==Ae?Ae:Se;if(void 0===rt)throw Error("createMessage: must pass options object containing `text` or `binary`");if(Ae&&!sr.isString(Ae)&&!sr.isStream(Ae))throw Error("createMessage: options.text must be a string or stream");if(Se&&!sr.isUint8Array(Se)&&!sr.isStream(Se))throw Error("createMessage: options.binary must be a Uint8Array or stream");const it=Object.keys($e);if(it.length>0)throw Error("Unknown option: "+it.join(", "));const nt=sr.isStream(rt);nt&&(await O(),rt=N(rt));const st=new _u(qe);void 0!==Ae?st.setText(rt,ir.write(ir.literal,Fe)):st.setBytes(rt,ir.write(ir.literal,Fe)),void 0!==Ce&&st.setFilename(Ce);const ut=new Mu;ut.push(st);const ht=new Ih(ut);return ht.fromStream=nt,ht},Se.decrypt=async function({message:Ae,decryptionKeys:Se,passwords:Ce,sessionKeys:qe,verificationKeys:Fe,expectSigned:$e=!1,format:rt="utf8",signature:it=null,date:nt=new Date,config:st,...ut}){if(jh(st={...hr,...st}),Fh(Ae),Fe=Wh(Fe),Se=Wh(Se),Ce=Wh(Ce),qe=Wh(qe),ut.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(ut.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const ht=Object.keys(ut);if(ht.length>0)throw Error("Unknown option: "+ht.join(", "));try{const ut=await Ae.decrypt(Se,Ce,qe,nt,st);Fe||(Fe=[]);const ht={};if(ht.signatures=it?await ut.verifyDetached(it,Fe,nt,st):await ut.verify(Fe,nt,st),ht.data="binary"===rt?ut.getLiteralData():ut.getText(),ht.filename=ut.getFilename(),Gh(ht,Ae),$e){if(0===Fe.length)throw Error("Verification keys are required to verify message signatures");if(0===ht.signatures.length)throw Error("Message is not signed");ht.data=W([ht.data,ae((async()=>{await sr.anyPromise(ht.signatures.map((Ae=>Ae.verified)))}))])}return ht.data=await Hh(ht.data,Ae.fromStream,rt),ht}catch(Ae){throw sr.wrapError("Error decrypting message",Ae)}},Se.decryptKey=async function({privateKey:Ae,passphrase:Se,config:Ce,...qe}){jh(Ce={...hr,...Ce});const Fe=Object.keys(qe);if(Fe.length>0)throw Error("Unknown option: "+Fe.join(", "));if(!Ae.isPrivate())throw Error("Cannot decrypt a public key");const $e=Ae.clone(!0),rt=sr.isArray(Se)?Se:[Se];try{return await Promise.all($e.getKeys().map((Ae=>sr.anyPromise(rt.map((Se=>Ae.keyPacket.decrypt(Se))))))),await $e.validate(Ce),$e}catch(Ae){throw $e.clearPrivateParams(),sr.wrapError("Error decrypting private key",Ae)}},Se.decryptSessionKeys=async function({message:Ae,decryptionKeys:Se,passwords:Ce,date:qe=new Date,config:Fe,...$e}){if(jh(Fe={...hr,...Fe}),Fh(Ae),Se=Wh(Se),Ce=Wh(Ce),$e.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const rt=Object.keys($e);if(rt.length>0)throw Error("Unknown option: "+rt.join(", "));try{return await Ae.decryptSessionKeys(Se,Ce,qe,Fe)}catch(Ae){throw sr.wrapError("Error decrypting session keys",Ae)}},Se.encrypt=async function({message:Ae,encryptionKeys:Se,signingKeys:Ce,passwords:qe,sessionKey:Fe,format:$e="armored",signature:rt=null,wildcard:it=!1,signingKeyIDs:nt=[],encryptionKeyIDs:st=[],date:ut=new Date,signingUserIDs:ht=[],encryptionUserIDs:ft=[],signatureNotations:yt=[],config:mt,...vt}){if(jh(mt={...hr,...mt}),Fh(Ae),Lh($e),Se=Wh(Se),Ce=Wh(Ce),qe=Wh(qe),nt=Wh(nt),st=Wh(st),ht=Wh(ht),ft=Wh(ft),yt=Wh(yt),vt.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(vt.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(vt.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==vt.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const _t=Object.keys(vt);if(_t.length>0)throw Error("Unknown option: "+_t.join(", "));Ce||(Ce=[]);const Ct=Ae.fromStream;try{if((Ce.length||rt)&&(Ae=await Ae.sign(Ce,rt,nt,ut,ht,yt,mt)),Ae=Ae.compress(await hh("compression",Se,ut,ft,mt),mt),Ae=await Ae.encrypt(Se,qe,Fe,it,st,ut,ft,mt),"object"===$e)return Ae;const vt="armored"===$e;return Hh(vt?Ae.armor(mt):Ae.write(),Ct,vt?"utf8":"binary")}catch(Ae){throw sr.wrapError("Error encrypting message",Ae)}},Se.encryptKey=async function({privateKey:Ae,passphrase:Se,config:Ce,...qe}){jh(Ce={...hr,...Ce});const Fe=Object.keys(qe);if(Fe.length>0)throw Error("Unknown option: "+Fe.join(", "));if(!Ae.isPrivate())throw Error("Cannot encrypt a public key");const $e=Ae.clone(!0),rt=$e.getKeys(),it=sr.isArray(Se)?Se:Array(rt.length).fill(Se);if(it.length!==rt.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(rt.map((async(Ae,Se)=>{const{keyPacket:qe}=Ae;await qe.encrypt(it[Se],Ce),qe.clearPrivateParams()}))),$e}catch(Ae){throw $e.clearPrivateParams(),sr.wrapError("Error encrypting private key",Ae)}},Se.encryptSessionKey=async function({data:Ae,algorithm:Se,aeadAlgorithm:Ce,encryptionKeys:qe,passwords:Fe,format:$e="armored",wildcard:rt=!1,encryptionKeyIDs:it=[],date:nt=new Date,encryptionUserIDs:st=[],config:ut,...ht}){if(jh(ut={...hr,...ut}),function(Ae,Se){if(!sr.isUint8Array(Ae))throw Error("Parameter ["+(Se||"data")+"] must be of type Uint8Array")}(Ae),function(Ae,Se){if(!sr.isString(Ae))throw Error("Parameter ["+(Se||"data")+"] must be of type String")}(Se,"algorithm"),Lh($e),qe=Wh(qe),Fe=Wh(Fe),it=Wh(it),st=Wh(st),ht.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const ft=Object.keys(ht);if(ft.length>0)throw Error("Unknown option: "+ft.join(", "));if(!(qe&&0!==qe.length||Fe&&0!==Fe.length))throw Error("No encryption keys or passwords provided.");try{return Vh(await Ih.encryptSessionKey(Ae,Se,Ce,qe,Fe,rt,it,nt,st,ut),$e,ut)}catch(Ae){throw sr.wrapError("Error encrypting session key",Ae)}},Se.enums=ir,Se.generateKey=async function({userIDs:Ae=[],passphrase:Se,type:Ce="ecc",rsaBits:qe=4096,curve:Fe="curve25519",keyExpirationTime:$e=0,date:rt=new Date,subkeys:it=[{}],format:nt="armored",config:st,...ut}){jh(st={...hr,...st}),Ae=Wh(Ae);const ht=Object.keys(ut);if(ht.length>0)throw Error("Unknown option: "+ht.join(", "));if(0===Ae.length)throw Error("UserIDs are required for key generation");if("rsa"===Ce&&qe<st.minRSABits)throw Error(`rsaBits should be at least ${st.minRSABits}, got: ${qe}`);const ft={userIDs:Ae,passphrase:Se,type:Ce,rsaBits:qe,curve:Fe,keyExpirationTime:$e,date:rt,subkeys:it};try{const{key:Ae,revocationCertificate:Se}=await async function(Ae,Se){Ae.sign=!0,(Ae=yh(Ae)).subkeys=Ae.subkeys.map(((Se,Ce)=>yh(Ae.subkeys[Ce],Ae)));let Ce=[ah(Ae,Se)];Ce=Ce.concat(Ae.subkeys.map((Ae=>nh(Ae,Se))));const qe=await Promise.all(Ce),Fe=await Ch(qe[0],qe.slice(1),Ae,Se),$e=await Fe.getRevocationCertificate(Ae.date,Se);return Fe.revocationSignatures=[],{key:Fe,revocationCertificate:$e}}(ft,st);return Ae.getKeys().forEach((({keyPacket:Ae})=>wh(Ae,st))),{privateKey:Vh(Ae,nt,st),publicKey:Vh(Ae.toPublic(),nt,st),revocationCertificate:Se}}catch(Ae){throw sr.wrapError("Error generating keypair",Ae)}},Se.generateSessionKey=async function({encryptionKeys:Ae,date:Se=new Date,encryptionUserIDs:Ce=[],config:qe,...Fe}){if(jh(qe={...hr,...qe}),Ae=Wh(Ae),Ce=Wh(Ce),Fe.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const $e=Object.keys(Fe);if($e.length>0)throw Error("Unknown option: "+$e.join(", "));try{return await Ih.generateSessionKey(Ae,Se,Ce,qe)}catch(Ae){throw sr.wrapError("Error generating session key",Ae)}},Se.readCleartextMessage=async function({cleartextMessage:Ae,config:Se,...Ce}){if(Se={...hr,...Se},!Ae)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!sr.isString(Ae))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const qe=Object.keys(Ce);if(qe.length>0)throw Error("Unknown option: "+qe.join(", "));const Fe=await xe(Ae);if(Fe.type!==ir.armor.signed)throw Error("No cleartext signed message.");const $e=await Mu.fromBinary(Fe.data,My,Se);!function(Ae,Se){const r=function(Ae){const r=Ae=>Se=>Ae.hashAlgorithm===Se;for(let Ce=0;Ce<Se.length;Ce++)if(Se[Ce].constructor.tag===ir.packet.signature&&!Ae.some(r(Se[Ce])))return!1;return!0};let Ce=null,qe=[];if(Ae.forEach((function(Ae){if(Ce=Ae.match(/^Hash: (.+)$/),!Ce)throw Error('Only "Hash" header allowed in cleartext signed message');Ce=Ce[1].replace(/\s/g,""),Ce=Ce.split(","),Ce=Ce.map((function(Ae){Ae=Ae.toLowerCase();try{return ir.write(ir.hash,Ae)}catch(Se){throw Error("Unknown hash algorithm in armor header: "+Ae)}})),qe=qe.concat(Ce)})),!qe.length&&!r([ir.hash.md5]))throw Error('If no "Hash" header in cleartext signed message, then only MD5 signatures allowed');if(qe.length&&!r(qe))throw Error("Hash algorithm mismatch in armor header and signature")}(Fe.headers,$e);const rt=new ih($e);return new qh(Fe.text,rt)},Se.readKey=async function({armoredKey:Ae,binaryKey:Se,config:Ce,...qe}){if(Ce={...hr,...Ce},!Ae&&!Se)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(Ae&&!sr.isString(Ae))throw Error("readKey: options.armoredKey must be a string");if(Se&&!sr.isUint8Array(Se))throw Error("readKey: options.binaryKey must be a Uint8Array");const Fe=Object.keys(qe);if(Fe.length>0)throw Error("Unknown option: "+Fe.join(", "));let $e;if(Ae){const{type:Se,data:qe}=await xe(Ae,Ce);if(Se!==ir.armor.publicKey&&Se!==ir.armor.privateKey)throw Error("Armored text not of type key");$e=qe}else $e=Se;return Kh(await Mu.fromBinary($e,by,Ce))},Se.readKeys=async function({armoredKeys:Ae,binaryKeys:Se,config:Ce,...qe}){Ce={...hr,...Ce};let Fe=Ae||Se;if(!Fe)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(Ae&&!sr.isString(Ae))throw Error("readKeys: options.armoredKeys must be a string");if(Se&&!sr.isUint8Array(Se))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const $e=Object.keys(qe);if($e.length>0)throw Error("Unknown option: "+$e.join(", "));if(Ae){const{type:Se,data:qe}=await xe(Ae,Ce);if(Se!==ir.armor.publicKey&&Se!==ir.armor.privateKey)throw Error("Armored text not of type key");Fe=qe}const rt=[],it=await Mu.fromBinary(Fe,by,Ce),nt=it.indexOfTag(ir.packet.publicKey,ir.packet.secretKey);if(0===nt.length)throw Error("No key packet found");for(let Ae=0;Ae<nt.length;Ae++){const Se=Kh(it.slice(nt[Ae],nt[Ae+1]));rt.push(Se)}return rt},Se.readMessage=async function({armoredMessage:Ae,binaryMessage:Se,config:Ce,...qe}){Ce={...hr,...Ce};let Fe=Ae||Se;if(!Fe)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(Ae&&!sr.isString(Ae)&&!sr.isStream(Ae))throw Error("readMessage: options.armoredMessage must be a string or stream");if(Se&&!sr.isUint8Array(Se)&&!sr.isStream(Se))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const $e=Object.keys(qe);if($e.length>0)throw Error("Unknown option: "+$e.join(", "));const rt=sr.isStream(Fe);if(rt&&(await O(),Fe=N(Fe)),Ae){const{type:Ae,data:Se}=await xe(Fe,Ce);if(Ae!==ir.armor.message)throw Error("Armored text not of type message");Fe=Se}const it=await Mu.fromBinary(Fe,vy,Ce),nt=new Ih(it);return nt.fromStream=rt,nt},Se.readPrivateKey=async function({armoredKey:Ae,binaryKey:Se,config:Ce,...qe}){if(Ce={...hr,...Ce},!Ae&&!Se)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(Ae&&!sr.isString(Ae))throw Error("readPrivateKey: options.armoredKey must be a string");if(Se&&!sr.isUint8Array(Se))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const Fe=Object.keys(qe);if(Fe.length>0)throw Error("Unknown option: "+Fe.join(", "));let $e;if(Ae){const{type:Se,data:qe}=await xe(Ae,Ce);if(Se!==ir.armor.privateKey)throw Error("Armored text not of type private key");$e=qe}else $e=Se;const rt=await Mu.fromBinary($e,by,Ce);return new xh(rt)},Se.readPrivateKeys=async function({armoredKeys:Ae,binaryKeys:Se,config:Ce}){Ce={...hr,...Ce};let qe=Ae||Se;if(!qe)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(Ae&&!sr.isString(Ae))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(Se&&!sr.isUint8Array(Se))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(Ae){const{type:Se,data:Fe}=await xe(Ae,Ce);if(Se!==ir.armor.privateKey)throw Error("Armored text not of type private key");qe=Fe}const Fe=[],$e=await Mu.fromBinary(qe,by,Ce),rt=$e.indexOfTag(ir.packet.secretKey);if(0===rt.length)throw Error("No secret key packet found");for(let Ae=0;Ae<rt.length;Ae++){const Se=$e.slice(rt[Ae],rt[Ae+1]),Ce=new xh(Se);Fe.push(Ce)}return Fe},Se.readSignature=async function({armoredSignature:Ae,binarySignature:Se,config:Ce,...qe}){Ce={...hr,...Ce};let Fe=Ae||Se;if(!Fe)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(Ae&&!sr.isString(Ae))throw Error("readSignature: options.armoredSignature must be a string");if(Se&&!sr.isUint8Array(Se))throw Error("readSignature: options.binarySignature must be a Uint8Array");const $e=Object.keys(qe);if($e.length>0)throw Error("Unknown option: "+$e.join(", "));if(Ae){const{type:Ae,data:Se}=await xe(Fe,Ce);if(Ae!==ir.armor.signature)throw Error("Armored text not of type signature");Fe=Se}const rt=await Mu.fromBinary(Fe,uy,Ce);return new ih(rt)},Se.reformatKey=async function({privateKey:Ae,userIDs:Se=[],passphrase:Ce,keyExpirationTime:qe=0,date:Fe,format:$e="armored",config:rt,...it}){jh(rt={...hr,...rt}),Se=Wh(Se);const nt=Object.keys(it);if(nt.length>0)throw Error("Unknown option: "+nt.join(", "));if(0===Se.length)throw Error("UserIDs are required for key reformat");const st={privateKey:Ae,userIDs:Se,passphrase:Ce,keyExpirationTime:qe,date:Fe};try{const{key:Ae,revocationCertificate:Se}=await async function(Ae,Se){Ae=o(Ae);const{privateKey:Ce}=Ae;if(!Ce.isPrivate())throw Error("Cannot reformat a public key");if(Ce.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!Ce.getKeys().every((({keyPacket:Ae})=>Ae.isDecrypted())))throw Error("Key is not decrypted");const qe=Ce.keyPacket;Ae.subkeys||(Ae.subkeys=await Promise.all(Ce.subkeys.map((async Ae=>{const Ce=Ae.keyPacket,Fe={key:qe,bind:Ce},$e=await sh(Ae.bindingSignatures,qe,ir.signature.subkeyBinding,Fe,null,Se).catch((()=>({})));return{sign:$e.keyFlags&&$e.keyFlags[0]&ir.keyFlags.signData}}))));const Fe=Ce.subkeys.map((Ae=>Ae.keyPacket));if(Ae.subkeys.length!==Fe.length)throw Error("Number of subkey options does not match number of subkeys");Ae.subkeys=Ae.subkeys.map((Se=>o(Se,Ae)));const $e=await Ch(qe,Fe,Ae,Se),rt=await $e.getRevocationCertificate(Ae.date,Se);return $e.revocationSignatures=[],{key:$e,revocationCertificate:rt};function o(Ae,Se={}){return Ae.keyExpirationTime=Ae.keyExpirationTime||Se.keyExpirationTime,Ae.passphrase=sr.isString(Ae.passphrase)?Ae.passphrase:Se.passphrase,Ae.date=Ae.date||Se.date,Ae}}(st,rt);return{privateKey:Vh(Ae,$e,rt),publicKey:Vh(Ae.toPublic(),$e,rt),revocationCertificate:Se}}catch(Ae){throw sr.wrapError("Error reformatting keypair",Ae)}},Se.revokeKey=async function({key:Ae,revocationCertificate:Se,reasonForRevocation:Ce,date:qe=new Date,format:Fe="armored",config:$e,...rt}){jh($e={...hr,...$e});const it=Object.keys(rt);if(it.length>0)throw Error("Unknown option: "+it.join(", "));try{const rt=Se?await Ae.applyRevocationCertificate(Se,qe,$e):await Ae.revoke(Ce,qe,$e);return rt.isPrivate()?{privateKey:Vh(rt,Fe,$e),publicKey:Vh(rt.toPublic(),Fe,$e)}:{privateKey:null,publicKey:Vh(rt,Fe,$e)}}catch(Ae){throw sr.wrapError("Error revoking key",Ae)}},Se.sign=async function({message:Ae,signingKeys:Se,format:Ce="armored",detached:qe=!1,signingKeyIDs:Fe=[],date:$e=new Date,signingUserIDs:rt=[],signatureNotations:it=[],config:nt,...st}){if(jh(nt={...hr,...nt}),Oh(Ae),Lh(Ce),Se=Wh(Se),Fe=Wh(Fe),rt=Wh(rt),it=Wh(it),st.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==st.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const ut=Object.keys(st);if(ut.length>0)throw Error("Unknown option: "+ut.join(", "));if(Ae instanceof qh&&"binary"===Ce)throw Error("Cannot return signed cleartext message in binary format");if(Ae instanceof qh&&qe)throw Error("Cannot detach-sign a cleartext message");if(!Se||0===Se.length)throw Error("No signing keys provided");try{let st;if(st=qe?await Ae.signDetached(Se,void 0,Fe,$e,rt,it,nt):await Ae.sign(Se,void 0,Fe,$e,rt,it,nt),"object"===Ce)return st;const ut="armored"===Ce;return st=ut?st.armor(nt):st.write(),qe&&(st=Y(Ae.packets.write(),(async(Ae,Se)=>{await Promise.all([V(st,Se),ie(Ae).catch((()=>{}))])}))),Hh(st,Ae.fromStream,ut?"utf8":"binary")}catch(Ae){throw sr.wrapError("Error signing message",Ae)}},Se.unarmor=xe,Se.verify=async function({message:Ae,verificationKeys:Se,expectSigned:Ce=!1,format:qe="utf8",signature:Fe=null,date:$e=new Date,config:rt,...it}){if(jh(rt={...hr,...rt}),Oh(Ae),Se=Wh(Se),it.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const nt=Object.keys(it);if(nt.length>0)throw Error("Unknown option: "+nt.join(", "));if(Ae instanceof qh&&"binary"===qe)throw Error("Can't return cleartext message data as binary");if(Ae instanceof qh&&Fe)throw Error("Can't verify detached cleartext signature");try{const it={};if(it.signatures=Fe?await Ae.verifyDetached(Fe,Se,$e,rt):await Ae.verify(Se,$e,rt),it.data="binary"===qe?Ae.getLiteralData():Ae.getText(),Ae.fromStream&&Gh(it,Ae),Ce){if(0===it.signatures.length)throw Error("Message is not signed");it.data=W([it.data,ae((async()=>{await sr.anyPromise(it.signatures.map((Ae=>Ae.verified)))}))])}return it.data=await Hh(it.data,Ae.fromStream,qe),it}catch(Ae){throw sr.wrapError("Error verifying signed message",Ae)}}},5118:(Ae,Se,Ce)=>{"use strict";var qe=Ce(4300);var Fe=qe.Buffer;var $e={};var rt;for(rt in qe){if(!qe.hasOwnProperty(rt))continue;if(rt==="SlowBuffer"||rt==="Buffer")continue;$e[rt]=qe[rt]}var it=$e.Buffer={};for(rt in Fe){if(!Fe.hasOwnProperty(rt))continue;if(rt==="allocUnsafe"||rt==="allocUnsafeSlow")continue;it[rt]=Fe[rt]}$e.Buffer.prototype=Fe.prototype;if(!it.from||it.from===Uint8Array.from){it.from=function(Ae,Se,Ce){if(typeof Ae==="number"){throw new TypeError('The "value" argument must not be of type number. Received type '+typeof Ae)}if(Ae&&typeof Ae.length==="undefined"){throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ae)}return Fe(Ae,Se,Ce)}}if(!it.alloc){it.alloc=function(Ae,Se,Ce){if(typeof Ae!=="number"){throw new TypeError('The "size" argument must be of type number. Received type '+typeof Ae)}if(Ae<0||Ae>=2*(1<<30)){throw new RangeError('The value "'+Ae+'" is invalid for option "size"')}var qe=Fe(Ae);if(!Se||Se.length===0){qe.fill(0)}else if(typeof Ce==="string"){qe.fill(Se,Ce)}else{qe.fill(Se)}return qe}}if(!$e.kStringMaxLength){try{$e.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(Ae){}}if(!$e.constants){$e.constants={MAX_LENGTH:$e.kMaxLength};if($e.kStringMaxLength){$e.constants.MAX_STRING_LENGTH=$e.kStringMaxLength}}Ae.exports=$e},4294:(Ae,Se,Ce)=>{Ae.exports=Ce(4219)},4219:(Ae,Se,Ce)=>{"use strict";var qe=Ce(1808);var Fe=Ce(4404);var $e=Ce(3685);var rt=Ce(5687);var it=Ce(2361);var nt=Ce(9491);var st=Ce(3837);Se.httpOverHttp=httpOverHttp;Se.httpsOverHttp=httpsOverHttp;Se.httpOverHttps=httpOverHttps;Se.httpsOverHttps=httpsOverHttps;function httpOverHttp(Ae){var Se=new TunnelingAgent(Ae);Se.request=$e.request;return Se}function httpsOverHttp(Ae){var Se=new TunnelingAgent(Ae);Se.request=$e.request;Se.createSocket=createSecureSocket;Se.defaultPort=443;return Se}function httpOverHttps(Ae){var Se=new TunnelingAgent(Ae);Se.request=rt.request;return Se}function httpsOverHttps(Ae){var Se=new TunnelingAgent(Ae);Se.request=rt.request;Se.createSocket=createSecureSocket;Se.defaultPort=443;return Se}function TunnelingAgent(Ae){var Se=this;Se.options=Ae||{};Se.proxyOptions=Se.options.proxy||{};Se.maxSockets=Se.options.maxSockets||$e.Agent.defaultMaxSockets;Se.requests=[];Se.sockets=[];Se.on("free",(function onFree(Ae,Ce,qe,Fe){var $e=toOptions(Ce,qe,Fe);for(var rt=0,it=Se.requests.length;rt<it;++rt){var nt=Se.requests[rt];if(nt.host===$e.host&&nt.port===$e.port){Se.requests.splice(rt,1);nt.request.onSocket(Ae);return}}Ae.destroy();Se.removeSocket(Ae)}))}st.inherits(TunnelingAgent,it.EventEmitter);TunnelingAgent.prototype.addRequest=function addRequest(Ae,Se,Ce,qe){var Fe=this;var $e=mergeOptions({request:Ae},Fe.options,toOptions(Se,Ce,qe));if(Fe.sockets.length>=this.maxSockets){Fe.requests.push($e);return}Fe.createSocket($e,(function(Se){Se.on("free",onFree);Se.on("close",onCloseOrRemove);Se.on("agentRemove",onCloseOrRemove);Ae.onSocket(Se);function onFree(){Fe.emit("free",Se,$e)}function onCloseOrRemove(Ae){Fe.removeSocket(Se);Se.removeListener("free",onFree);Se.removeListener("close",onCloseOrRemove);Se.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(Ae,Se){var Ce=this;var qe={};Ce.sockets.push(qe);var Fe=mergeOptions({},Ce.proxyOptions,{method:"CONNECT",path:Ae.host+":"+Ae.port,agent:false,headers:{host:Ae.host+":"+Ae.port}});if(Ae.localAddress){Fe.localAddress=Ae.localAddress}if(Fe.proxyAuth){Fe.headers=Fe.headers||{};Fe.headers["Proxy-Authorization"]="Basic "+new Buffer(Fe.proxyAuth).toString("base64")}ut("making CONNECT request");var $e=Ce.request(Fe);$e.useChunkedEncodingByDefault=false;$e.once("response",onResponse);$e.once("upgrade",onUpgrade);$e.once("connect",onConnect);$e.once("error",onError);$e.end();function onResponse(Ae){Ae.upgrade=true}function onUpgrade(Ae,Se,Ce){process.nextTick((function(){onConnect(Ae,Se,Ce)}))}function onConnect(Fe,rt,it){$e.removeAllListeners();rt.removeAllListeners();if(Fe.statusCode!==200){ut("tunneling socket could not be established, statusCode=%d",Fe.statusCode);rt.destroy();var nt=new Error("tunneling socket could not be established, "+"statusCode="+Fe.statusCode);nt.code="ECONNRESET";Ae.request.emit("error",nt);Ce.removeSocket(qe);return}if(it.length>0){ut("got illegal response body from proxy");rt.destroy();var nt=new Error("got illegal response body from proxy");nt.code="ECONNRESET";Ae.request.emit("error",nt);Ce.removeSocket(qe);return}ut("tunneling connection has established");Ce.sockets[Ce.sockets.indexOf(qe)]=rt;return Se(rt)}function onError(Se){$e.removeAllListeners();ut("tunneling socket could not be established, cause=%s\n",Se.message,Se.stack);var Fe=new Error("tunneling socket could not be established, "+"cause="+Se.message);Fe.code="ECONNRESET";Ae.request.emit("error",Fe);Ce.removeSocket(qe)}};TunnelingAgent.prototype.removeSocket=function removeSocket(Ae){var Se=this.sockets.indexOf(Ae);if(Se===-1){return}this.sockets.splice(Se,1);var Ce=this.requests.shift();if(Ce){this.createSocket(Ce,(function(Ae){Ce.request.onSocket(Ae)}))}};function createSecureSocket(Ae,Se){var Ce=this;TunnelingAgent.prototype.createSocket.call(Ce,Ae,(function(qe){var $e=Ae.request.getHeader("host");var rt=mergeOptions({},Ce.options,{socket:qe,servername:$e?$e.replace(/:.*$/,""):Ae.host});var it=Fe.connect(0,rt);Ce.sockets[Ce.sockets.indexOf(qe)]=it;Se(it)}))}function toOptions(Ae,Se,Ce){if(typeof Ae==="string"){return{host:Ae,port:Se,localAddress:Ce}}return Ae}function mergeOptions(Ae){for(var Se=1,Ce=arguments.length;Se<Ce;++Se){var qe=arguments[Se];if(typeof qe==="object"){var Fe=Object.keys(qe);for(var $e=0,rt=Fe.length;$e<rt;++$e){var it=Fe[$e];if(qe[it]!==undefined){Ae[it]=qe[it]}}}}return Ae}var ut;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){ut=function(){var Ae=Array.prototype.slice.call(arguments);if(typeof Ae[0]==="string"){Ae[0]="TUNNEL: "+Ae[0]}else{Ae.unshift("TUNNEL:")}console.error.apply(console,Ae)}}else{ut=function(){}}Se.debug=ut},5840:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Object.defineProperty(Se,"v1",{enumerable:true,get:function(){return qe.default}});Object.defineProperty(Se,"v3",{enumerable:true,get:function(){return Fe.default}});Object.defineProperty(Se,"v4",{enumerable:true,get:function(){return $e.default}});Object.defineProperty(Se,"v5",{enumerable:true,get:function(){return rt.default}});Object.defineProperty(Se,"NIL",{enumerable:true,get:function(){return it.default}});Object.defineProperty(Se,"version",{enumerable:true,get:function(){return nt.default}});Object.defineProperty(Se,"validate",{enumerable:true,get:function(){return st.default}});Object.defineProperty(Se,"stringify",{enumerable:true,get:function(){return ut.default}});Object.defineProperty(Se,"parse",{enumerable:true,get:function(){return ht.default}});var qe=_interopRequireDefault(Ce(8628));var Fe=_interopRequireDefault(Ce(6409));var $e=_interopRequireDefault(Ce(5122));var rt=_interopRequireDefault(Ce(9120));var it=_interopRequireDefault(Ce(5332));var nt=_interopRequireDefault(Ce(1595));var st=_interopRequireDefault(Ce(6900));var ut=_interopRequireDefault(Ce(8950));var ht=_interopRequireDefault(Ce(2746));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}},4569:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(6113));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function md5(Ae){if(Array.isArray(Ae)){Ae=Buffer.from(Ae)}else if(typeof Ae==="string"){Ae=Buffer.from(Ae,"utf8")}return qe.default.createHash("md5").update(Ae).digest()}var Fe=md5;Se["default"]=Fe},5332:(Ae,Se)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var Ce="00000000-0000-0000-0000-000000000000";Se["default"]=Ce},2746:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(6900));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function parse(Ae){if(!(0,qe.default)(Ae)){throw TypeError("Invalid UUID")}let Se;const Ce=new Uint8Array(16);Ce[0]=(Se=parseInt(Ae.slice(0,8),16))>>>24;Ce[1]=Se>>>16&255;Ce[2]=Se>>>8&255;Ce[3]=Se&255;Ce[4]=(Se=parseInt(Ae.slice(9,13),16))>>>8;Ce[5]=Se&255;Ce[6]=(Se=parseInt(Ae.slice(14,18),16))>>>8;Ce[7]=Se&255;Ce[8]=(Se=parseInt(Ae.slice(19,23),16))>>>8;Ce[9]=Se&255;Ce[10]=(Se=parseInt(Ae.slice(24,36),16))/1099511627776&255;Ce[11]=Se/4294967296&255;Ce[12]=Se>>>24&255;Ce[13]=Se>>>16&255;Ce[14]=Se>>>8&255;Ce[15]=Se&255;return Ce}var Fe=parse;Se["default"]=Fe},814:(Ae,Se)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var Ce=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;Se["default"]=Ce},807:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=rng;var qe=_interopRequireDefault(Ce(6113));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}const Fe=new Uint8Array(256);let $e=Fe.length;function rng(){if($e>Fe.length-16){qe.default.randomFillSync(Fe);$e=0}return Fe.slice($e,$e+=16)}},5274:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(6113));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function sha1(Ae){if(Array.isArray(Ae)){Ae=Buffer.from(Ae)}else if(typeof Ae==="string"){Ae=Buffer.from(Ae,"utf8")}return qe.default.createHash("sha1").update(Ae).digest()}var Fe=sha1;Se["default"]=Fe},8950:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(6900));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}const Fe=[];for(let Ae=0;Ae<256;++Ae){Fe.push((Ae+256).toString(16).substr(1))}function stringify(Ae,Se=0){const Ce=(Fe[Ae[Se+0]]+Fe[Ae[Se+1]]+Fe[Ae[Se+2]]+Fe[Ae[Se+3]]+"-"+Fe[Ae[Se+4]]+Fe[Ae[Se+5]]+"-"+Fe[Ae[Se+6]]+Fe[Ae[Se+7]]+"-"+Fe[Ae[Se+8]]+Fe[Ae[Se+9]]+"-"+Fe[Ae[Se+10]]+Fe[Ae[Se+11]]+Fe[Ae[Se+12]]+Fe[Ae[Se+13]]+Fe[Ae[Se+14]]+Fe[Ae[Se+15]]).toLowerCase();if(!(0,qe.default)(Ce)){throw TypeError("Stringified UUID is invalid")}return Ce}var $e=stringify;Se["default"]=$e},8628:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(807));var Fe=_interopRequireDefault(Ce(8950));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}let $e;let rt;let it=0;let nt=0;function v1(Ae,Se,Ce){let st=Se&&Ce||0;const ut=Se||new Array(16);Ae=Ae||{};let ht=Ae.node||$e;let ft=Ae.clockseq!==undefined?Ae.clockseq:rt;if(ht==null||ft==null){const Se=Ae.random||(Ae.rng||qe.default)();if(ht==null){ht=$e=[Se[0]|1,Se[1],Se[2],Se[3],Se[4],Se[5]]}if(ft==null){ft=rt=(Se[6]<<8|Se[7])&16383}}let yt=Ae.msecs!==undefined?Ae.msecs:Date.now();let mt=Ae.nsecs!==undefined?Ae.nsecs:nt+1;const vt=yt-it+(mt-nt)/1e4;if(vt<0&&Ae.clockseq===undefined){ft=ft+1&16383}if((vt<0||yt>it)&&Ae.nsecs===undefined){mt=0}if(mt>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}it=yt;nt=mt;rt=ft;yt+=122192928e5;const _t=((yt&268435455)*1e4+mt)%4294967296;ut[st++]=_t>>>24&255;ut[st++]=_t>>>16&255;ut[st++]=_t>>>8&255;ut[st++]=_t&255;const Ct=yt/4294967296*1e4&268435455;ut[st++]=Ct>>>8&255;ut[st++]=Ct&255;ut[st++]=Ct>>>24&15|16;ut[st++]=Ct>>>16&255;ut[st++]=ft>>>8|128;ut[st++]=ft&255;for(let Ae=0;Ae<6;++Ae){ut[st+Ae]=ht[Ae]}return Se||(0,Fe.default)(ut)}var st=v1;Se["default"]=st},6409:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(5998));var Fe=_interopRequireDefault(Ce(4569));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}const $e=(0,qe.default)("v3",48,Fe.default);var rt=$e;Se["default"]=rt},5998:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=_default;Se.URL=Se.DNS=void 0;var qe=_interopRequireDefault(Ce(8950));var Fe=_interopRequireDefault(Ce(2746));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function stringToBytes(Ae){Ae=unescape(encodeURIComponent(Ae));const Se=[];for(let Ce=0;Ce<Ae.length;++Ce){Se.push(Ae.charCodeAt(Ce))}return Se}const $e="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Se.DNS=$e;const rt="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Se.URL=rt;function _default(Ae,Se,Ce){function generateUUID(Ae,$e,rt,it){if(typeof Ae==="string"){Ae=stringToBytes(Ae)}if(typeof $e==="string"){$e=(0,Fe.default)($e)}if($e.length!==16){throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)")}let nt=new Uint8Array(16+Ae.length);nt.set($e);nt.set(Ae,$e.length);nt=Ce(nt);nt[6]=nt[6]&15|Se;nt[8]=nt[8]&63|128;if(rt){it=it||0;for(let Ae=0;Ae<16;++Ae){rt[it+Ae]=nt[Ae]}return rt}return(0,qe.default)(nt)}try{generateUUID.name=Ae}catch(Ae){}generateUUID.DNS=$e;generateUUID.URL=rt;return generateUUID}},5122:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(807));var Fe=_interopRequireDefault(Ce(8950));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function v4(Ae,Se,Ce){Ae=Ae||{};const $e=Ae.random||(Ae.rng||qe.default)();$e[6]=$e[6]&15|64;$e[8]=$e[8]&63|128;if(Se){Ce=Ce||0;for(let Ae=0;Ae<16;++Ae){Se[Ce+Ae]=$e[Ae]}return Se}return(0,Fe.default)($e)}var $e=v4;Se["default"]=$e},9120:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(5998));var Fe=_interopRequireDefault(Ce(5274));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}const $e=(0,qe.default)("v5",80,Fe.default);var rt=$e;Se["default"]=rt},6900:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(814));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function validate(Ae){return typeof Ae==="string"&&qe.default.test(Ae)}var Fe=validate;Se["default"]=Fe},1595:(Ae,Se,Ce)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:true});Se["default"]=void 0;var qe=_interopRequireDefault(Ce(6900));function _interopRequireDefault(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}}function version(Ae){if(!(0,qe.default)(Ae)){throw TypeError("Invalid UUID")}return parseInt(Ae.substr(14,1),16)}var Fe=version;Se["default"]=Fe},8954:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;var Fe=Object.getOwnPropertyDescriptor(Se,Ce);if(!Fe||("get"in Fe?!Se.__esModule:Fe.writable||Fe.configurable)){Fe={enumerable:true,get:function(){return Se[Ce]}}}Object.defineProperty(Ae,qe,Fe)}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.prototype.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.getInputs=void 0;const it=$e(Ce(2186));function getInputs(){return rt(this,void 0,void 0,(function*(){return{gpgPrivateKey:it.getInput("gpg_private_key",{required:true}),passphrase:it.getInput("passphrase"),trustLevel:it.getInput("trust_level"),gitConfigGlobal:it.getBooleanInput("git_config_global"),gitUserSigningkey:it.getBooleanInput("git_user_signingkey"),gitCommitGpgsign:it.getBooleanInput("git_commit_gpgsign"),gitTagGpgsign:it.getBooleanInput("git_tag_gpgsign"),gitPushGpgsign:it.getInput("git_push_gpgsign")||"if-asked",gitCommitterName:it.getInput("git_committer_name"),gitCommitterEmail:it.getInput("git_committer_email"),workdir:it.getInput("workdir")||".",fingerprint:it.getInput("fingerprint")}}))}Se.getInputs=getInputs},6350:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;var Fe=Object.getOwnPropertyDescriptor(Se,Ce);if(!Fe||("get"in Fe?!Se.__esModule:Fe.writable||Fe.configurable)){Fe={enumerable:true,get:function(){return Se[Ce]}}}Object.defineProperty(Ae,qe,Fe)}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.prototype.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.setConfig=void 0;const it=$e(Ce(1514));const git=(Ae=[])=>rt(void 0,void 0,void 0,(function*(){return yield it.getExecOutput(`git`,Ae,{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}return Ae.stdout.trim()}))}));function setConfig(Ae,Se,Ce){return rt(this,void 0,void 0,(function*(){const qe=["config"];if(Ce){qe.push("--global")}qe.push(Ae,Se);yield git(qe)}))}Se.setConfig=setConfig},3759:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;var Fe=Object.getOwnPropertyDescriptor(Se,Ce);if(!Fe||("get"in Fe?!Se.__esModule:Fe.writable||Fe.configurable)){Fe={enumerable:true,get:function(){return Se[Ce]}}}Object.defineProperty(Ae,qe,Fe)}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.prototype.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});Se.killAgent=Se.deleteKey=Se.setTrustLevel=Se.presetPassphrase=Se.configureAgent=Se.getKeygrip=Se.parseKeygripFromGpgColonsOutput=Se.getKeygrips=Se.importKey=Se.getDirs=Se.getVersion=Se.getHome=Se.agentConfig=void 0;const it=$e(Ce(1514));const nt=$e(Ce(7147));const st=$e(Ce(1017));const ut=$e(Ce(2037));const ht=$e(Ce(5728));Se.agentConfig=`default-cache-ttl 21600\nmax-cache-ttl 31536000\nallow-preset-passphrase`;const gpgConnectAgent=Ae=>rt(void 0,void 0,void 0,(function*(){return yield it.getExecOutput(`gpg-connect-agent "${Ae}" /bye`,[],{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}for(const Se of Ae.stdout.replace(/\r/g,"").trim().split(/\n/g)){if(Se.startsWith("ERR")){throw new Error(Se)}}return Ae.stdout.trim()}))}));const getHome=()=>rt(void 0,void 0,void 0,(function*(){let Ae="";if(process.env.GNUPGHOME){Ae=process.env.GNUPGHOME}else if(ut.platform()=="win32"&&!process.env.HOME&&process.env.USERPROFILE){Ae=st.join(process.env.USERPROFILE,".gnupg")}else if(process.env.HOME){Ae=st.join(process.env.HOME,".gnupg")}else{Ae=(yield(0,Se.getDirs)()).homedir}if(Ae.length==0){throw new Error("Unable to determine GnuPG home directory")}if(!nt.existsSync(Ae)){nt.mkdirSync(Ae,{recursive:true})}return Ae}));Se.getHome=getHome;const getVersion=()=>rt(void 0,void 0,void 0,(function*(){return yield it.getExecOutput("gpg",["--version"],{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}let Se="";let Ce="";for(const qe of Ae.stdout.replace(/\r/g,"").trim().split(/\n/g)){if(qe.startsWith("gpg (GnuPG) ")){Se=qe.substr("gpg (GnuPG) ".length).trim()}else if(qe.startsWith("gpg (GnuPG/MacGPG2) ")){Se=qe.substr("gpg (GnuPG/MacGPG2) ".length).trim()}else if(qe.startsWith("libgcrypt ")){Ce=qe.substr("libgcrypt ".length).trim()}}return{gnupg:Se,libgcrypt:Ce}}))}));Se.getVersion=getVersion;const getDirs=()=>rt(void 0,void 0,void 0,(function*(){return yield it.getExecOutput("gpgconf",["--list-dirs"],{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}let Se="";let Ce="";let qe="";let Fe="";for(const $e of Ae.stdout.replace(/\r/g,"").trim().split(/\n/g)){if($e.startsWith("libdir:")){Se=$e.substr("libdir:".length).replace("%3a",":").trim()}else if($e.startsWith("libexecdir:")){Ce=$e.substr("libexecdir:".length).replace("%3a",":").trim()}else if($e.startsWith("datadir:")){qe=$e.substr("datadir:".length).replace("%3a",":").trim()}else if($e.startsWith("homedir:")){Fe=$e.substr("homedir:".length).replace("%3a",":").trim()}}return{libdir:Se,libexecdir:Ce,datadir:qe,homedir:Fe}}))}));Se.getDirs=getDirs;const importKey=Ae=>rt(void 0,void 0,void 0,(function*(){const Se=nt.mkdtempSync(st.join(ut.tmpdir(),"ghaction-import-gpg-"));const Ce=`${Se}/key.pgp`;nt.writeFileSync(Ce,(yield ht.isArmored(Ae))?Ae:Buffer.from(Ae,"base64").toString(),{mode:384});return yield it.getExecOutput("gpg",["--import","--batch","--yes",Ce],{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}if(Ae.stderr!=""){return Ae.stderr.trim()}return Ae.stdout.trim()})).finally((()=>{nt.unlinkSync(Ce)}))}));Se.importKey=importKey;const getKeygrips=Ae=>rt(void 0,void 0,void 0,(function*(){return yield it.getExecOutput("gpg",["--batch","--with-colons","--with-keygrip","--list-secret-keys",Ae],{ignoreReturnCode:true,silent:true}).then((Ae=>{const Se=[];for(const Ce of Ae.stdout.replace(/\r/g,"").trim().split(/\n/g)){if(Ce.startsWith("grp")){Se.push(Ce.replace(/(grp|:)/g,"").trim())}}return Se}))}));Se.getKeygrips=getKeygrips;const parseKeygripFromGpgColonsOutput=(Ae,Se)=>{let Ce="";let qe=false;const Fe=Ae.replace(/\r/g,"").trim().split(/\n/g);for(const Ae of Fe){if(Ae.startsWith(`fpr:`)&&Ae.includes(`:${Se}:`)){qe=true;continue}if(Ae.startsWith("grp:")&&qe){Ce=Ae.replace(/(grp|:)/g,"").trim();break}}return Ce};Se.parseKeygripFromGpgColonsOutput=parseKeygripFromGpgColonsOutput;const getKeygrip=Ae=>rt(void 0,void 0,void 0,(function*(){return yield it.getExecOutput("gpg",["--batch","--with-colons","--with-keygrip","--list-secret-keys",Ae],{ignoreReturnCode:true,silent:true}).then((Ce=>(0,Se.parseKeygripFromGpgColonsOutput)(Ce.stdout,Ae)))}));Se.getKeygrip=getKeygrip;const configureAgent=(Ae,Se)=>rt(void 0,void 0,void 0,(function*(){const Ce=st.join(Ae,"gpg-agent.conf");yield nt.writeFile(Ce,Se,(function(Ae){if(Ae)throw Ae}));yield gpgConnectAgent("RELOADAGENT")}));Se.configureAgent=configureAgent;const presetPassphrase=(Ae,Se)=>rt(void 0,void 0,void 0,(function*(){const Ce=Buffer.from(Se,"utf8").toString("hex").toUpperCase();yield gpgConnectAgent(`PRESET_PASSPHRASE ${Ae} -1 ${Ce}`);return yield gpgConnectAgent(`KEYINFO ${Ae}`)}));Se.presetPassphrase=presetPassphrase;const setTrustLevel=(Ae,Se)=>rt(void 0,void 0,void 0,(function*(){yield it.getExecOutput("gpg",["--batch","--no-tty","--command-fd","0","--edit-key",Ae],{ignoreReturnCode:true,silent:true,input:Buffer.from(`trust\n${Se}\ny\nquit\n`)}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}}))}));Se.setTrustLevel=setTrustLevel;const deleteKey=Ae=>rt(void 0,void 0,void 0,(function*(){yield it.getExecOutput("gpg",["--batch","--yes","--delete-secret-keys",Ae],{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}}));yield it.getExecOutput("gpg",["--batch","--yes","--delete-keys",Ae],{ignoreReturnCode:true,silent:true}).then((Ae=>{if(Ae.stderr.length>0&&Ae.exitCode!=0){throw new Error(Ae.stderr)}}))}));Se.deleteKey=deleteKey;const killAgent=()=>rt(void 0,void 0,void 0,(function*(){yield gpgConnectAgent("KILLAGENT")}));Se.killAgent=killAgent},399:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;var Fe=Object.getOwnPropertyDescriptor(Se,Ce);if(!Fe||("get"in Fe?!Se.__esModule:Fe.writable||Fe.configurable)){Fe={enumerable:true,get:function(){return Se[Ce]}}}Object.defineProperty(Ae,qe,Fe)}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.prototype.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};Object.defineProperty(Se,"__esModule",{value:true});const it=$e(Ce(2186));const nt=$e(Ce(8954));const st=$e(Ce(6350));const ut=$e(Ce(3759));const ht=$e(Ce(5728));const ft=$e(Ce(963));function run(){return rt(this,void 0,void 0,(function*(){try{const Ae=yield nt.getInputs();if(Ae.workdir&&Ae.workdir!=="."){it.info(`Using ${Ae.workdir} as working directory...`);process.chdir(Ae.workdir)}const Se=yield ut.getVersion();const Ce=yield ut.getDirs();yield it.group(`GnuPG info`,(()=>rt(this,void 0,void 0,(function*(){it.info(`Version : ${Se.gnupg} (libgcrypt ${Se.libgcrypt})`);it.info(`Libdir : ${Ce.libdir}`);it.info(`Libexecdir : ${Ce.libexecdir}`);it.info(`Datadir : ${Ce.datadir}`);it.info(`Homedir : ${Ce.homedir}`)}))));const qe=yield ht.readPrivateKey(Ae.gpgPrivateKey);yield it.group(`GPG private key info`,(()=>rt(this,void 0,void 0,(function*(){it.info(`Fingerprint : ${qe.fingerprint}`);it.info(`KeyID : ${qe.keyID}`);it.info(`Name : ${qe.name}`);it.info(`Email : ${qe.email}`);it.info(`CreationTime : ${qe.creationTime}`)}))));ft.setFingerprint(qe.fingerprint);let Fe=qe.fingerprint;if(Ae.fingerprint){Fe=Ae.fingerprint}yield it.group(`Fingerprint to use`,(()=>rt(this,void 0,void 0,(function*(){it.info(Fe)}))));yield it.group(`Importing GPG private key`,(()=>rt(this,void 0,void 0,(function*(){yield ut.importKey(Ae.gpgPrivateKey).then((Ae=>{it.info(Ae)}))}))));if(Ae.passphrase){yield it.group(`Configuring GnuPG agent`,(()=>rt(this,void 0,void 0,(function*(){const Ae=yield ut.getHome();it.info(`GnuPG home: ${Ae}`);yield ut.configureAgent(Ae,ut.agentConfig)}))));if(!Ae.fingerprint){yield it.group(`Getting keygrips`,(()=>rt(this,void 0,void 0,(function*(){for(const Se of yield ut.getKeygrips(Fe)){it.info(`Presetting passphrase for ${Se}`);yield ut.presetPassphrase(Se,Ae.passphrase).then((Ae=>{it.debug(Ae)}))}}))))}else{yield it.group(`Getting keygrip for fingerprint`,(()=>rt(this,void 0,void 0,(function*(){const Se=yield ut.getKeygrip(Fe);it.info(`Presetting passphrase for key ${Fe} with keygrip ${Se}`);yield ut.presetPassphrase(Se,Ae.passphrase).then((Ae=>{it.debug(Ae)}))}))))}}if(Ae.trustLevel){yield it.group(`Setting key's trust level`,(()=>rt(this,void 0,void 0,(function*(){yield ut.setTrustLevel(qe.keyID,Ae.trustLevel).then((()=>{it.info(`Trust level set to ${Ae.trustLevel} for ${qe.keyID}`)}))}))))}yield it.group(`Setting outputs`,(()=>rt(this,void 0,void 0,(function*(){it.info(`fingerprint=${Fe}`);it.setOutput("fingerprint",Fe);it.info(`keyid=${qe.keyID}`);it.setOutput("keyid",qe.keyID);it.info(`name=${qe.name}`);it.setOutput("name",qe.name);it.info(`email=${qe.email}`);it.setOutput("email",qe.email)}))));if(Ae.gitUserSigningkey){it.info("Setting GPG signing keyID for this Git repository");yield st.setConfig("user.signingkey",qe.keyID,Ae.gitConfigGlobal);const Se=Ae.gitCommitterEmail||qe.email;const Ce=Ae.gitCommitterName||qe.name;if(Se!=qe.email){it.setFailed(`Committer email "${Ae.gitCommitterEmail}" (name: "${Ae.gitCommitterName}") does not match GPG private key email "${qe.email}" (name: "${qe.name}")`);return}it.info(`Configuring Git committer (${Ce} <${Se}>)`);yield st.setConfig("user.name",Ce,Ae.gitConfigGlobal);yield st.setConfig("user.email",Se,Ae.gitConfigGlobal);if(Ae.gitCommitGpgsign){it.info("Sign all commits automatically");yield st.setConfig("commit.gpgsign","true",Ae.gitConfigGlobal)}if(Ae.gitTagGpgsign){it.info("Sign all tags automatically");yield st.setConfig("tag.gpgsign","true",Ae.gitConfigGlobal)}if(Ae.gitPushGpgsign){it.info("Sign all pushes automatically");yield st.setConfig("push.gpgsign",Ae.gitPushGpgsign,Ae.gitConfigGlobal)}}}catch(Ae){it.setFailed(Ae.message)}}))}function cleanup(){return rt(this,void 0,void 0,(function*(){if(ft.fingerprint.length<=0){it.debug("Primary key fingerprint is not defined. Skipping cleanup.");return}try{it.info(`Removing key ${ft.fingerprint}`);yield ut.deleteKey(ft.fingerprint);it.info("Killing GnuPG agent");yield ut.killAgent()}catch(Ae){it.warning(Ae.message)}}))}if(!ft.IsPost){run()}else{cleanup()}},5728:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;var Fe=Object.getOwnPropertyDescriptor(Se,Ce);if(!Fe||("get"in Fe?!Se.__esModule:Fe.writable||Fe.configurable)){Fe={enumerable:true,get:function(){return Se[Ce]}}}Object.defineProperty(Ae,qe,Fe)}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.prototype.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};var rt=this&&this.__awaiter||function(Ae,Se,Ce,qe){function adopt(Ae){return Ae instanceof Ce?Ae:new Ce((function(Se){Se(Ae)}))}return new(Ce||(Ce=Promise))((function(Ce,Fe){function fulfilled(Ae){try{step(qe.next(Ae))}catch(Ae){Fe(Ae)}}function rejected(Ae){try{step(qe["throw"](Ae))}catch(Ae){Fe(Ae)}}function step(Ae){Ae.done?Ce(Ae.value):adopt(Ae.value).then(fulfilled,rejected)}step((qe=qe.apply(Ae,Se||[])).next())}))};var it=this&&this.__importDefault||function(Ae){return Ae&&Ae.__esModule?Ae:{default:Ae}};Object.defineProperty(Se,"__esModule",{value:true});Se.isArmored=Se.generateKeyPair=Se.readPrivateKey=void 0;const nt=$e(Ce(7946));const st=it(Ce(2764));const readPrivateKey=Ae=>rt(void 0,void 0,void 0,(function*(){const Ce=yield nt.readKey({armoredKey:(yield(0,Se.isArmored)(Ae))?Ae:Buffer.from(Ae,"base64").toString()});const qe=yield Ce.getPrimaryUser().then((Ae=>{var Se;return(0,st.default)((Se=Ae.user.userID)===null||Se===void 0?void 0:Se.userID)[0]}));return{fingerprint:Ce.getFingerprint().toUpperCase(),keyID:Ce.getKeyID().toHex().toUpperCase(),name:qe.name,email:qe.address,creationTime:Ce.getCreationTime()}}));Se.readPrivateKey=readPrivateKey;const generateKeyPair=(Ae,Se,Ce,qe)=>rt(void 0,void 0,void 0,(function*(){const Fe=yield nt.generateKey({userIDs:[{name:Ae,email:Se}],passphrase:Ce,type:qe});return{publicKey:Fe.publicKey.replace(/\r\n/g,"\n").trim(),privateKey:Fe.privateKey.replace(/\r\n/g,"\n").trim()}}));Se.generateKeyPair=generateKeyPair;const isArmored=Ae=>rt(void 0,void 0,void 0,(function*(){return Ae.trimLeft().startsWith("---")}));Se.isArmored=isArmored},963:function(Ae,Se,Ce){"use strict";var qe=this&&this.__createBinding||(Object.create?function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;var Fe=Object.getOwnPropertyDescriptor(Se,Ce);if(!Fe||("get"in Fe?!Se.__esModule:Fe.writable||Fe.configurable)){Fe={enumerable:true,get:function(){return Se[Ce]}}}Object.defineProperty(Ae,qe,Fe)}:function(Ae,Se,Ce,qe){if(qe===undefined)qe=Ce;Ae[qe]=Se[Ce]});var Fe=this&&this.__setModuleDefault||(Object.create?function(Ae,Se){Object.defineProperty(Ae,"default",{enumerable:true,value:Se})}:function(Ae,Se){Ae["default"]=Se});var $e=this&&this.__importStar||function(Ae){if(Ae&&Ae.__esModule)return Ae;var Se={};if(Ae!=null)for(var Ce in Ae)if(Ce!=="default"&&Object.prototype.hasOwnProperty.call(Ae,Ce))qe(Se,Ae,Ce);Fe(Se,Ae);return Se};Object.defineProperty(Se,"__esModule",{value:true});Se.setFingerprint=Se.fingerprint=Se.IsPost=void 0;const rt=$e(Ce(2186));Se.IsPost=!!process.env["STATE_isPost"];Se.fingerprint=process.env["STATE_fingerprint"]||"";function setFingerprint(Ae){rt.saveState("fingerprint",Ae)}Se.setFingerprint=setFingerprint;if(!Se.IsPost){rt.saveState("isPost","true")}},9491:Ae=>{"use strict";Ae.exports=require("assert")},4300:Ae=>{"use strict";Ae.exports=require("buffer")},2081:Ae=>{"use strict";Ae.exports=require("child_process")},6113:Ae=>{"use strict";Ae.exports=require("crypto")},2361:Ae=>{"use strict";Ae.exports=require("events")},7147:Ae=>{"use strict";Ae.exports=require("fs")},3685:Ae=>{"use strict";Ae.exports=require("http")},5687:Ae=>{"use strict";Ae.exports=require("https")},1808:Ae=>{"use strict";Ae.exports=require("net")},2037:Ae=>{"use strict";Ae.exports=require("os")},1017:Ae=>{"use strict";Ae.exports=require("path")},2781:Ae=>{"use strict";Ae.exports=require("stream")},1576:Ae=>{"use strict";Ae.exports=require("string_decoder")},9512:Ae=>{"use strict";Ae.exports=require("timers")},4404:Ae=>{"use strict";Ae.exports=require("tls")},3837:Ae=>{"use strict";Ae.exports=require("util")},9796:Ae=>{"use strict";Ae.exports=require("zlib")}};var Se={};function __nccwpck_require__(Ce){var qe=Se[Ce];if(qe!==undefined){return qe.exports}var Fe=Se[Ce]={id:Ce,loaded:false,exports:{}};var $e=true;try{Ae[Ce].call(Fe.exports,Fe,Fe.exports,__nccwpck_require__);$e=false}finally{if($e)delete Se[Ce]}Fe.loaded=true;return Fe.exports}(()=>{__nccwpck_require__.nmd=Ae=>{Ae.paths=[];if(!Ae.children)Ae.children=[];return Ae}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var Ce=__nccwpck_require__(399);module.exports=Ce})();
|
|
//# sourceMappingURL=index.js.map
|