From 3f5f2fd11e17a3ba93db3f0fb6502e885aa558c7 Mon Sep 17 00:00:00 2001 From: Ian Kibet Date: Tue, 27 May 2025 21:47:20 +0300 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- .gitignore | 1 - dist/index.js | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 dist/index.js diff --git a/.gitignore b/.gitignore index 95b7b33..3a04834 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ .DS_Store node_modules .pnpm-store -dist # directus files *.db diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..11e19a8 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,5 @@ +import e from"url";import t from"util";import r from"tty";import n from"os";import i from"buffer";import s from"crypto";import o from"zlib";import a from"http";import c from"https";import l from"events";import u from"assert";import d from"querystring";import f from"fs";import p from"path";import h from"constants";import m from"stream";import y from"dns";import g from"net";import _ from"tls";import v from"string_decoder";var b="object"==typeof global&&global&&global.Object===Object&&global,w="object"==typeof self&&self&&self.Object===Object&&self,S=b||w||Function("return this")(),E=S.Symbol,k=Object.prototype,A=k.hasOwnProperty,O=k.toString,C=E?E.toStringTag:void 0;var T=Object.prototype.toString;var R="[object Null]",I="[object Undefined]",x=E?E.toStringTag:void 0;function j(e){return null==e?void 0===e?I:R:x&&x in Object(e)?function(e){var t=A.call(e,C),r=e[C];try{e[C]=void 0;var n=!0}catch(e){}var i=O.call(e);return n&&(t?e[C]=r:delete e[C]),i}(e):function(e){return T.call(e)}(e)}function P(e){return null!=e&&"object"==typeof e}var N="[object Symbol]";function $(e){return"symbol"==typeof e||P(e)&&j(e)==N}var M=Array.isArray,D=1/0,L=E?E.prototype:void 0,B=L?L.toString:void 0;function K(e){if("string"==typeof e)return e;if(M(e))return function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r-1&&e%1==0&&e-1&&e%1==0&&e<=Ce}function Re(e){return null!=e&&Te(e.length)&&!te(e)}var Ie=Object.prototype;function xe(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ie)}function je(e){return P(e)&&"[object Arguments]"==j(e)}var Pe=Object.prototype,Ne=Pe.hasOwnProperty,$e=Pe.propertyIsEnumerable,Me=je(function(){return arguments}())?je:function(e){return P(e)&&Ne.call(e,"callee")&&!$e.call(e,"callee")};var De="object"==typeof exports&&exports&&!exports.nodeType&&exports,Le=De&&"object"==typeof module&&module&&!module.nodeType&&module,Be=Le&&Le.exports===De?S.Buffer:void 0,Ke=(Be?Be.isBuffer:void 0)||function(){return!1},Fe={};function Ue(e){return function(t){return e(t)}}Fe["[object Float32Array]"]=Fe["[object Float64Array]"]=Fe["[object Int8Array]"]=Fe["[object Int16Array]"]=Fe["[object Int32Array]"]=Fe["[object Uint8Array]"]=Fe["[object Uint8ClampedArray]"]=Fe["[object Uint16Array]"]=Fe["[object Uint32Array]"]=!0,Fe["[object Arguments]"]=Fe["[object Array]"]=Fe["[object ArrayBuffer]"]=Fe["[object Boolean]"]=Fe["[object DataView]"]=Fe["[object Date]"]=Fe["[object Error]"]=Fe["[object Function]"]=Fe["[object Map]"]=Fe["[object Number]"]=Fe["[object Object]"]=Fe["[object RegExp]"]=Fe["[object Set]"]=Fe["[object String]"]=Fe["[object WeakMap]"]=!1;var We="object"==typeof exports&&exports&&!exports.nodeType&&exports,Je=We&&"object"==typeof module&&module&&!module.nodeType&&module,He=Je&&Je.exports===We&&b.process,Ge=function(){try{var e=Je&&Je.require&&Je.require("util").types;return e||He&&He.binding&&He.binding("util")}catch(e){}}(),ze=Ge&&Ge.isTypedArray,Ve=ze?Ue(ze):function(e){return P(e)&&Te(e.length)&&!!Fe[j(e)]},qe=Object.prototype.hasOwnProperty;function Xe(e,t){var r=M(e),n=!r&&Me(e),i=!r&&!n&&Ke(e),s=!r&&!n&&!i&&Ve(e),o=r||n||i||s,a=o?function(e,t){for(var r=-1,n=Array(e);++r-1},ut.prototype.set=function(e,t){var r=this.__data__,n=ct(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var dt=he(S,"Map");function ft(e,t){var r=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?r["string"==typeof t?"string":"hash"]:r.map}function pt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t""!==e)).map((e=>"string"==typeof e?e:e instanceof Error?e.message:r(e))).join(" ")||"Unknown error"),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t.assert)}}}(0,Nr.exports);var Mr=Nr.exports;const Dr=Mr;var Lr=function(e,...t){if(!e){if(1===t.length&&t[0]instanceof Error)throw t[0];throw new Dr(t)}};const Br=Lr,Kr={};var Fr=function(e,t,r){if(!1===t||null==t)return e;"string"==typeof(r=r||{})&&(r={separator:r});const n=Array.isArray(t);Br(!n||!r.separator,"Separator option is not valid for array-based chain");const i=n?t:t.split(r.separator||".");let s=e;for(let e=0;ee}else if(i){const t=i.get(e);if(t)return t}else i=new Map;const s=Gr.getInternalProto(e);if(s===Gr.buffer)return Buffer&&Buffer.from(e);if(s===Gr.date)return new Date(e.getTime());if(s===Gr.regex)return new RegExp(e);const o=Vr.base(e,s,t);if(o===e)return e;if(i&&i.set(e,o),s===Gr.set)for(const r of e)o.add(n(r,t,i));else if(s===Gr.map)for(const[r,s]of e)o.set(r,n(s,t,i));const a=zr.keys(e,t);for(const r of a){if("__proto__"===r)continue;if(s===Gr.array&&"length"===r){o.length=e.length;continue}const a=Object.getOwnPropertyDescriptor(e,r);a?a.get||a.set?Object.defineProperty(o,r,a):a.enumerable?o[r]=n(e[r],t,i):Object.defineProperty(o,r,{enumerable:!1,writable:!0,configurable:!0,value:n(e[r],t,i)}):Object.defineProperty(o,r,{enumerable:!0,writable:!0,configurable:!0,value:n(e[r],t,i)})}return o};Vr.cloneWithShallow=function(e,t){const r=t.shallow;(t=Object.assign({},t)).shallow=!1;const n=new Map;for(const t of r){const r=Hr(e,t);"object"!=typeof r&&"function"!=typeof r||n.set(r,r)}return Vr.clone(e,t,n)},Vr.base=function(e,t,r){if(!1===r.prototype)return Vr.needsProtoHack.has(t)?new t.constructor:t===Gr.array?[]:{};const n=Object.getPrototypeOf(e);if(n&&n.isImmutable)return e;if(t===Gr.array){const e=[];return n!==t&&Object.setPrototypeOf(e,n),e}if(Vr.needsProtoHack.has(t)){const e=new n.constructor;return n!==t&&Object.setPrototypeOf(e,n),e}return Object.create(n)};const Xr={};var Yr=function(e){if(!e)return"";let t="";for(let r=0;r=256)return"&#"+e+";";return`&#x${e.toString(16).padStart(2,"0")};`},Xr.isSafe=function(e){return Xr.safeCharCodes.has(e)},Xr.namedHtml=new Map([[38,"&"],[60,"<"],[62,">"],[34,"""],[160," "],[162,"¢"],[163,"£"],[164,"¤"],[169,"©"],[174,"®"]]),Xr.safeCharCodes=function(){const e=new Set;for(let t=32;t<123;++t)(t>=97||t>=65&&t<=90||t>=48&&t<=57||32===t||46===t||44===t||45===t||58===t||95===t)&&e.add(t);return e}();var Zr={};!function(e){const t={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};e.Parser=class{constructor(e,r={}){if(!r[t.settings]&&r.constants)for(const e in r.constants){const t=r.constants[e];if(null!==t&&!["boolean","number","string"].includes(typeof t))throw new Error(`Formula constant ${e} contains invalid ${typeof t} value type`)}this.settings=r[t.settings]?r:Object.assign({[t.settings]:!0,constants:{},functions:{}},r),this.single=null,this._parts=null,this._parse(e)}_parse(r){let n=[],i="",s=0,o=!1;const a=r=>{if(s)throw new Error("Formula missing closing parenthesis");const a=n.length?n[n.length-1]:null;if(o||i||r){if(a&&"reference"===a.type&&")"===r)return a.type="function",a.value=this._subFormula(i,a.value),void(i="");if(")"===r){const t=new e.Parser(i,this.settings);n.push({type:"segment",value:t})}else if(o){if("]"===o)return n.push({type:"reference",value:i}),void(i="");n.push({type:"literal",value:i})}else if(t.operatorCharacters.includes(i))a&&"operator"===a.type&&t.operators.includes(a.value+i)?a.value+=i:n.push({type:"operator",value:i});else if(i.match(t.numberRx))n.push({type:"constant",value:parseFloat(i)});else if(void 0!==this.settings.constants[i])n.push({type:"constant",value:this.settings.constants[i]});else{if(!i.match(t.tokenRx))throw new Error(`Formula contains invalid token: ${i}`);n.push({type:"reference",value:i})}i=""}};for(const e of r)o?e===o?(a(),o=!1):i+=e:s?"("===e?(i+=e,++s):")"===e?(--s,s?i+=e:a(e)):i+=e:e in t.literals?o=t.literals[e]:"("===e?(a(),++s):t.operatorCharacters.includes(e)?(a(),i=e,a()):" "!==e?i+=e:a();a(),n=n.map(((e,t)=>"operator"!==e.type||"-"!==e.value||t&&"operator"!==n[t-1].type?e:{type:"operator",value:"n"}));let c=!1;for(const e of n){if("operator"===e.type){if(t.operatorsPrefix.includes(e.value))continue;if(!c)throw new Error("Formula contains an operator in invalid position");if(!t.operators.includes(e.value))throw new Error(`Formula contains an unknown operator ${e.value}`)}else if(c)throw new Error("Formula missing expected operator");c=!c}if(!c)throw new Error("Formula contains invalid trailing operator");1===n.length&&["reference","literal","constant"].includes(n[0].type)&&(this.single={type:"reference"===n[0].type?"reference":"value",value:n[0].value}),this._parts=n.map((e=>{if("operator"===e.type)return t.operatorsPrefix.includes(e.value)?e:e.value;if("reference"!==e.type)return e.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(e.value))throw new Error(`Formula contains invalid reference ${e.value}`);return this.settings.reference?this.settings.reference(e.value):t.reference(e.value)}))}_subFormula(r,n){const i=this.settings.functions[n];if("function"!=typeof i)throw new Error(`Formula contains unknown function ${n}`);let s=[];if(r){let e="",i=0,o=!1;const a=()=>{if(!e)throw new Error(`Formula contains function ${n} with invalid arguments ${r}`);s.push(e),e=""};for(let n=0;nnew e.Parser(t,this.settings))),function(e){const t=[];for(const r of s)t.push(r.evaluate(e));return i.call(e,...t)}}evaluate(e){const r=this._parts.slice();for(let n=r.length-2;n>=0;--n){const i=r[n];if(i&&"operator"===i.type){const s=r[n+1];r.splice(n+1,1);const o=t.evaluate(s,e);r[n]=t.single(i.value,o)}}return t.operatorsOrder.forEach((n=>{for(let i=1;i":return r>n;case">=":return r>=n;case"==":return r===n;case"!=":return r!==n;case"&&":return r&&n;case"||":return r||n}return null},t.exists=function(e){return null!=e}}(Zr);const Qr=Wr,en={mismatched:null};var tn=function(e,t,r){return r=Object.assign({prototype:!0},r),!!en.isDeepEqual(e,t,r,[])};en.isDeepEqual=function(e,t,r,n){if(e===t)return 0!==e||1/e==1/t;const i=typeof e;if(i!==typeof t)return!1;if(null===e||null===t)return!1;if("function"===i){if(!r.deepFunction||e.toString()!==t.toString())return!1}else if("object"!==i)return e!=e&&t!=t;const s=en.getSharedType(e,t,!!r.prototype);switch(s){case Qr.buffer:return Buffer&&Buffer.prototype.equals.call(e,t);case Qr.promise:return e===t;case Qr.regex:return e.toString()===t.toString();case en.mismatched:return!1}for(let r=n.length-1;r>=0;--r)if(n[r].isSame(e,t))return!0;n.push(new en.SeenEntry(e,t));try{return!!en.isDeepEqualObj(s,e,t,r,n)}finally{n.pop()}},en.getSharedType=function(e,t,r){if(r)return Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?en.mismatched:Qr.getInternalProto(e);const n=Qr.getInternalProto(e);return n!==Qr.getInternalProto(t)?en.mismatched:n},en.valueOf=function(e){const t=e.valueOf;if(void 0===t)return e;try{return t.call(e)}catch(e){return e}},en.hasOwnEnumerableProperty=function(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)},en.isSetSimpleEqual=function(e,t){for(const r of Set.prototype.values.call(e))if(!Set.prototype.has.call(t,r))return!1;return!0},en.isDeepEqualObj=function(e,t,r,n,i){const{isDeepEqual:s,valueOf:o,hasOwnEnumerableProperty:a}=en,{keys:c,getOwnPropertySymbols:l}=Object;if(e===Qr.array){if(!n.part){if(t.length!==r.length)return!1;for(let e=0;et;const r={};Error.captureStackTrace(r,this);const n=r.stack[e+1];return Error.prepareStackTrace=t,{filename:n.getFileName(),line:n.getLineNumber()}}};const nn=Lr,sn=qr,on=Jr,an={};var cn=an.merge=function(e,t,r){if(nn(e&&"object"==typeof e,"Invalid target value: must be an object"),nn(null==t||"object"==typeof t,"Invalid source value: must be null, undefined, or an object"),!t)return e;if(r=Object.assign({nullOverride:!0,mergeArrays:!0},r),Array.isArray(t)){nn(Array.isArray(e),"Cannot merge array onto an object"),r.mergeArrays||(e.length=0);for(let n=0;ne.sort===t.sort?0:e.sort256)return r.code("DOMAIN_TOO_LONG");if(!!n.nonAsciiRx.test(e)){if(!1===t.allowUnicode)return r.code("DOMAIN_INVALID_UNICODE_CHARS");e=e.normalize("NFC")}if(n.domainControlRx.test(e))return r.code("DOMAIN_INVALID_CHARS");e=n.punycode(e),t.allowFullyQualified&&"."===e[e.length-1]&&(e=e.slice(0,-1));const i=t.minDomainSegments||n.minDomainSegments,s=e.split(".");if(s.lengtht.maxDomainSegments)return r.code("DOMAIN_SEGMENTS_COUNT_MAX");const o=t.tlds;if(o){const e=s[s.length-1].toLowerCase();if(o.deny&&o.deny.has(e)||o.allow&&!o.allow.has(e))return r.code("DOMAIN_FORBIDDEN_TLDS")}for(let e=0;e63)return r.code("DOMAIN_LONG_SEGMENT");if(e2?En.code("MULTIPLE_AT_CHAR"):En.code("MISSING_AT_CHAR");const[i,s]=n;if(!i)return En.code("EMPTY_LOCAL");if(!t.ignoreLength){if(e.length>254)return En.code("ADDRESS_TOO_LONG");if(kn.encoder.encode(i).length>64)return En.code("LOCAL_TOO_LONG")}return kn.local(i,r)||Sn.analyze(s,t)},kn.local=function(e,t){const r=e.split(".");for(const e of r){if(!e.length)return En.code("EMPTY_LOCAL_SEGMENT");if(t){if(!kn.atextRx.test(e))return En.code("INVALID_LOCAL_CHARS")}else for(const t of e){if(kn.atextRx.test(t))continue;const e=kn.binary(t);if(!kn.atomRx.test(e))return En.code("INVALID_LOCAL_CHARS")}}},kn.binary=function(e){return Array.from(kn.encoder.encode(e)).map((e=>String.fromCharCode(e))).join("")},kn.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/,kn.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"));var An={},On={},Cn=function(e){return e.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")};const Tn=Lr,Rn=Cn,In={generate:function(){const e={},t="\\dA-Fa-f",r="["+t+"]",n="\\w-\\.~",i="!\\$&'\\(\\)\\*\\+,;=",s="%"+t,o=n+s+i+":@",a="["+o+"]",c="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";e.ipv4address="(?:"+c+"\\.){3}"+c;const l=r+"{1,4}",u="(?:"+l+":"+l+"|"+e.ipv4address+")",d="(?:"+l+":){6}"+u,f="::(?:"+l+":){5}"+u,p="(?:"+l+")?::(?:"+l+":){4}"+u,h="(?:(?:"+l+":){0,1}"+l+")?::(?:"+l+":){3}"+u,m="(?:(?:"+l+":){0,2}"+l+")?::(?:"+l+":){2}"+u,y="(?:(?:"+l+":){0,3}"+l+")?::"+l+":"+u,g="(?:(?:"+l+":){0,4}"+l+")?::"+u,_="(?:(?:"+l+":){0,5}"+l+")?::"+l,v="(?:(?:"+l+":){0,6}"+l+")?::";e.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",e.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",e.ipv6address="(?:"+d+"|"+f+"|"+p+"|"+h+"|"+m+"|"+y+"|"+g+"|"+_+"|"+v+")",e.ipvFuture="v"+r+"+\\.["+n+i+":]+",e.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",e.schemeRegex=new RegExp(e.scheme);const b="["+n+s+i+":]*",w="["+n+s+i+"]{1,255}",S="(?:"+("\\[(?:"+e.ipv6address+"|"+e.ipvFuture+")\\]")+"|"+e.ipv4address+"|"+w+")",E="(?:"+b+"@)?"+S+"(?::\\d*)?",k="(?:"+b+"@)?("+S+")(?::\\d*)?",A=a+"*",O=a+"+",C="(?:\\/"+A+")*",T="\\/(?:"+O+C+")?",R=O+C,I="["+n+s+i+"@]+"+C,x="(?:\\/\\/\\/"+A+C+")";return e.hierPart="(?:(?:\\/\\/"+E+C+")|"+T+"|"+R+"|"+x+")",e.hierPartCapture="(?:(?:\\/\\/"+k+C+")|"+T+"|"+R+")",e.relativeRef="(?:(?:\\/\\/"+E+C+")|"+T+"|"+I+"|)",e.relativeRefCapture="(?:(?:\\/\\/"+k+C+")|"+T+"|"+I+"|)",e.query="["+o+"\\/\\?]*(?=#|$)",e.queryWithSquareBrackets="["+o+"\\[\\]\\/\\?]*(?=#|$)",e.fragment="["+o+"\\/\\?]*",e}};In.rfc3986=In.generate(),On.ip={v4Cidr:In.rfc3986.ipv4Cidr,v6Cidr:In.rfc3986.ipv6Cidr,ipv4:In.rfc3986.ipv4address,ipv6:In.rfc3986.ipv6address,ipvfuture:In.rfc3986.ipvFuture},In.createRegex=function(e){const t=In.rfc3986,r="(?:\\?"+(e.allowQuerySquareBrackets?t.queryWithSquareBrackets:t.query)+")?(?:#"+t.fragment+")?",n=e.domain?t.relativeRefCapture:t.relativeRef;if(e.relativeOnly)return In.wrap(n+r);let i="";if(e.scheme){Tn(e.scheme instanceof RegExp||"string"==typeof e.scheme||Array.isArray(e.scheme),"scheme must be a RegExp, String, or Array");const r=[].concat(e.scheme);Tn(r.length>=1,"scheme must have at least 1 scheme specified");const n=[];for(let e=0;e=1,"options.version must have at least 1 version specified");for(let e=0;e{if("forbidden"===t)return jn.ip[e];const r=`\\/${"ipv4"===e?jn.ip.v4Cidr:jn.ip.v6Cidr}`;return"required"===t?`${jn.ip[e]}${r}`:`${jn.ip[e]}(?:${r})?`})),i=`(?:${n.join("|")})`,s=new RegExp(`^${i}$`);return{cidr:t,versions:r,regex:s,raw:i}};const Pn={tlds:["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"]};var Nn,$n,Mn,Dn,Ln,Bn=new Set(Pn.tlds.map((e=>e.toLowerCase()))),Kn={exports:{}},Fn={exports:{}};function Un(){if($n)return Nn;$n=1;var e=1e3,t=60*e,r=60*t,n=24*r,i=7*n,s=365.25*n;function o(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}return Nn=function(a,c){c=c||{};var l=typeof a;if("string"===l&&a.length>0)return function(o){if(o=String(o),o.length>100)return;var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(o);if(!a)return;var c=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*s;case"weeks":case"week":case"w":return c*i;case"days":case"day":case"d":return c*n;case"hours":case"hour":case"hrs":case"hr":case"h":return c*r;case"minutes":case"minute":case"mins":case"min":case"m":return c*t;case"seconds":case"second":case"secs":case"sec":case"s":return c*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(a);if("number"===l&&isFinite(a))return c.long?function(i){var s=Math.abs(i);if(s>=n)return o(i,s,n,"day");if(s>=r)return o(i,s,r,"hour");if(s>=t)return o(i,s,t,"minute");if(s>=e)return o(i,s,e,"second");return i+" ms"}(a):function(i){var s=Math.abs(i);if(s>=n)return Math.round(i/n)+"d";if(s>=r)return Math.round(i/r)+"h";if(s>=t)return Math.round(i/t)+"m";if(s>=e)return Math.round(i/e)+"s";return i+"ms"}(a);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(a))},Nn}function Wn(){if(Dn)return Mn;return Dn=1,Mn=function(e){function t(e){let n,i,s,o=null;function a(...e){if(!a.enabled)return;const r=a,i=Number(new Date),s=i-(n||i);r.diff=s,r.prev=n,r.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,i)=>{if("%%"===n)return"%";o++;const s=t.formatters[i];if("function"==typeof s){const t=e[o];n=s.call(r,t),e.splice(o,1),o--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=r,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(i!==t.namespaces&&(i=t.namespaces,s=t.enabled(e)),s),set:e=>{o=e}}),"function"==typeof t.init&&t.init(a),a}function r(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t{const r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||n{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=Wn()(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(Fn,Fn.exports)),Fn.exports):Kn.exports=(Vn||(Vn=1,function(e,i){const s=r,o=t;i.init=function(e){e.inspectOpts={};const t=Object.keys(i.inspectOpts);for(let r=0;r{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),i.colors=[6,2,3,4,5,1];try{const e=function(){if(zn)return Gn;zn=1;const e=n,t=r,i=Xn(),{env:s}=process;let o;function a(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function c(t,r){if(0===o)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(t&&!r&&void 0===o)return 0;const n=o||0;if("dumb"===s.TERM)return n;if("win32"===process.platform){const t=e.release().split(".");return Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in s)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in s))||"codeship"===s.CI_NAME?1:n;if("TEAMCITY_VERSION"in s)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(s.TEAMCITY_VERSION)?1:0;if("truecolor"===s.COLORTERM)return 3;if("TERM_PROGRAM"in s){const e=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(s.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)||"COLORTERM"in s?1:n}return i("no-color")||i("no-colors")||i("color=false")||i("color=never")?o=0:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(o=1),"FORCE_COLOR"in s&&(o="true"===s.FORCE_COLOR?1:"false"===s.FORCE_COLOR?0:0===s.FORCE_COLOR.length?1:Math.min(parseInt(s.FORCE_COLOR,10),3)),Gn={supportsColor:function(e){return a(c(e,e&&e.isTTY))},stdout:a(c(!0,t.isatty(1))),stderr:a(c(!0,t.isatty(2)))},Gn}();e&&(e.stderr||e).level>=2&&(i.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}i.inspectOpts=Object.keys(process.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=process.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e}),{}),e.exports=Wn()(i);const{formatters:a}=e.exports;a.o=function(e){return this.inspectOpts.colors=this.useColors,o.inspect(e,this.inspectOpts).split("\n").map((e=>e.trim())).join(" ")},a.O=function(e){return this.inspectOpts.colors=this.useColors,o.inspect(e,this.inspectOpts)}}(qn,qn.exports)),qn.exports);var Yn,Zn,Qn=Kn.exports;!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const r of e)t[r]=r;return t},e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),n={};for(const e of r)n[e]=t[e];return e.objectValues(n)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(const r of e)if(t(r))return r},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Yn||(Yn={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Zn||(Zn={}));const ei=Yn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ti=e=>{switch(typeof e){case"undefined":return ei.undefined;case"string":return ei.string;case"number":return isNaN(e)?ei.nan:ei.number;case"boolean":return ei.boolean;case"function":return ei.function;case"bigint":return ei.bigint;case"symbol":return ei.symbol;case"object":return Array.isArray(e)?ei.array:null===e?ei.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?ei.promise:"undefined"!=typeof Map&&e instanceof Map?ei.map:"undefined"!=typeof Set&&e instanceof Set?ei.set:"undefined"!=typeof Date&&e instanceof Date?ei.date:ei.object;default:return ei.unknown}},ri=Yn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ni extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)r._errors.push(t(i));else{let e=r,n=0;for(;ne.message)){const t={},r=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}ni.create=e=>new ni(e);const ii=(e,t)=>{let r;switch(e.code){case ri.invalid_type:r=e.received===ei.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ri.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,Yn.jsonStringifyReplacer)}`;break;case ri.unrecognized_keys:r=`Unrecognized key(s) in object: ${Yn.joinValues(e.keys,", ")}`;break;case ri.invalid_union:r="Invalid input";break;case ri.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Yn.joinValues(e.options)}`;break;case ri.invalid_enum_value:r=`Invalid enum value. Expected ${Yn.joinValues(e.options)}, received '${e.received}'`;break;case ri.invalid_arguments:r="Invalid function arguments";break;case ri.invalid_return_type:r="Invalid function return type";break;case ri.invalid_date:r="Invalid date";break;case ri.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:Yn.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ri.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ri.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ri.custom:r="Invalid input";break;case ri.invalid_intersection_types:r="Intersection results could not be merged";break;case ri.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ri.not_finite:r="Number must be finite";break;default:r=t.defaultError,Yn.assertNever(e)}return{message:r}};let si=ii;function oi(){return si}const ai=e=>{const{data:t,path:r,errorMaps:n,issueData:i}=e,s=[...r,...i.path||[]],o={...i,path:s};if(void 0!==i.message)return{...i,path:s,message:i.message};let a="";const c=n.filter((e=>!!e)).slice().reverse();for(const e of c)a=e(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}};function ci(e,t){const r=oi(),n=ai({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===ii?void 0:ii].filter((e=>!!e))});e.common.issues.push(n)}class li{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const n of t){if("aborted"===n.status)return ui;"dirty"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const e of t){const t=await e.key,n=await e.value;r.push({key:t,value:n})}return li.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const n of t){const{key:t,value:i}=n;if("aborted"===t.status)return ui;if("aborted"===i.status)return ui;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!n.alwaysSet||(r[t.value]=i.value)}return{status:e.value,value:r}}}const ui=Object.freeze({status:"aborted"}),di=e=>({status:"dirty",value:e}),fi=e=>({status:"valid",value:e}),pi=e=>"aborted"===e.status,hi=e=>"dirty"===e.status,mi=e=>"valid"===e.status,yi=e=>"undefined"!=typeof Promise&&e instanceof Promise;function gi(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function _i(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r}var vi,bi,wi;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(vi||(vi={}));class Si{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Ei=(e,t)=>{if(mi(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ni(e.common.issues);return this._error=t,this._error}}};function ki(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var s,o;const{message:a}=e;return"invalid_enum_value"===t.code?{message:null!=a?a:i.defaultError}:void 0===i.data?{message:null!==(s=null!=a?a:n)&&void 0!==s?s:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=a?a:r)&&void 0!==o?o:i.defaultError}},description:i}}class Ai{get description(){return this._def.description}_getType(e){return ti(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ti(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new li,ctx:{common:e.parent.common,data:e.data,parsedType:ti(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(yi(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const n={common:{issues:[],async:null!==(r=null==t?void 0:t.async)&&void 0!==r&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ti(e)},i=this._parseSync({data:e,path:n.path,parent:n});return Ei(n,i)}"~validate"(e){var t,r;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ti(e)};if(!this["~standard"].async)try{const t=this._parseSync({data:e,path:[],parent:n});return mi(t)?{value:t.value}:{issues:n.common.issues}}catch(e){(null===(r=null===(t=null==e?void 0:e.message)||void 0===t?void 0:t.toLowerCase())||void 0===r?void 0:r.includes("encountered"))&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then((e=>mi(e)?{value:e.value}:{issues:n.common.issues}))}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ti(e)},n=this._parse({data:e,path:r.path,parent:r}),i=await(yi(n)?n:Promise.resolve(n));return Ei(r,i)}refine(e,t){const r=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,n)=>{const i=e(t),s=()=>n.addIssue({code:ri.custom,...r(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(s(),!1))):!!i||(s(),!1)}))}refinement(e,t){return this._refinement(((r,n)=>!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1)))}_refinement(e){return new Os({schema:this,typeName:Ls.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Cs.create(this,this._def)}nullable(){return Ts.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return as.create(this)}promise(){return As.create(this,this._def)}or(e){return us.create([this,e],this._def)}and(e){return hs.create(this,e,this._def)}transform(e){return new Os({...ki(this._def),schema:this,typeName:Ls.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Rs({...ki(this._def),innerType:this,defaultValue:t,typeName:Ls.ZodDefault})}brand(){return new Ps({typeName:Ls.ZodBranded,type:this,...ki(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new Is({...ki(this._def),innerType:this,catchValue:t,typeName:Ls.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Ns.create(this,e)}readonly(){return $s.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Oi=/^c[^\s-]{8,}$/i,Ci=/^[0-9a-z]+$/,Ti=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ri=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ii=/^[a-z0-9_-]{21}$/i,xi=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ji=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Pi=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Ni;const $i=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Mi=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Di=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Li=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Bi=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ki=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Fi="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ui=new RegExp(`^${Fi}$`);function Wi(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function Ji(e){let t=`${Fi}T${Wi(e)}`;const r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function Hi(e,t){return!("v4"!==t&&t||!$i.test(e))||!("v6"!==t&&t||!Di.test(e))}function Gi(e,t){if(!xi.test(e))return!1;try{const[r]=e.split("."),n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return"object"==typeof i&&null!==i&&(!(!i.typ||!i.alg)&&(!t||i.alg===t))}catch(e){return!1}}function zi(e,t){return!("v4"!==t&&t||!Mi.test(e))||!("v6"!==t&&t||!Li.test(e))}class Vi extends Ai{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==ei.string){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.string,received:t.parsedType}),ui}const t=new li;let r;for(const n of this._def.checks)if("min"===n.kind)e.data.lengthn.value&&(r=this._getOrReturnCtx(e,r),ci(r,{code:ri.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if("length"===n.kind){const i=e.data.length>n.value,s=e.data.lengthe.test(t)),{validation:t,code:ri.invalid_string,...vi.errToObj(r)})}_addCheck(e){return new Vi({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...vi.errToObj(e)})}url(e){return this._addCheck({kind:"url",...vi.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...vi.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...vi.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...vi.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...vi.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...vi.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...vi.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...vi.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...vi.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...vi.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...vi.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...vi.errToObj(e)})}datetime(e){var t,r;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(r=null==e?void 0:e.local)&&void 0!==r&&r,...vi.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...vi.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...vi.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...vi.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...vi.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...vi.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...vi.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...vi.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...vi.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...vi.errToObj(t)})}nonempty(e){return this.min(1,vi.errToObj(e))}trim(){return new Vi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isCIDR(){return!!this._def.checks.find((e=>"cidr"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get isBase64url(){return!!this._def.checks.find((e=>"base64url"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuen?r:n;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Vi.create=e=>{var t;return new Vi({checks:[],typeName:Ls.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...ki(e)})};class Xi extends Ai{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==ei.number){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.number,received:t.parsedType}),ui}let t;const r=new li;for(const n of this._def.checks)if("int"===n.kind)Yn.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ci(t,{code:ri.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty());else if("min"===n.kind){(n.inclusive?e.datan.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),ci(t,{code:ri.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty())}else"multipleOf"===n.kind?0!==qi(e.data,n.value)&&(t=this._getOrReturnCtx(e,t),ci(t,{code:ri.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ci(t,{code:ri.not_finite,message:n.message}),r.dirty()):Yn.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,vi.toString(t))}gt(e,t){return this.setLimit("min",e,!1,vi.toString(t))}lte(e,t){return this.setLimit("max",e,!0,vi.toString(t))}lt(e,t){return this.setLimit("max",e,!1,vi.toString(t))}setLimit(e,t,r,n){return new Xi({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:vi.toString(n)}]})}_addCheck(e){return new Xi({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:vi.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:vi.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:vi.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:vi.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:vi.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:vi.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:vi.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:vi.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:vi.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Yn.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.valuenew Xi({checks:[],typeName:Ls.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...ki(e)});class Yi extends Ai{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch(t){return this._getInvalidInput(e)}if(this._getType(e)!==ei.bigint)return this._getInvalidInput(e);let t;const r=new li;for(const n of this._def.checks)if("min"===n.kind){(n.inclusive?e.datan.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),ci(t,{code:ri.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty())}else"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ci(t,{code:ri.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):Yn.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.bigint,received:t.parsedType}),ui}gte(e,t){return this.setLimit("min",e,!0,vi.toString(t))}gt(e,t){return this.setLimit("min",e,!1,vi.toString(t))}lte(e,t){return this.setLimit("max",e,!0,vi.toString(t))}lt(e,t){return this.setLimit("max",e,!1,vi.toString(t))}setLimit(e,t,r,n){return new Yi({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:vi.toString(n)}]})}_addCheck(e){return new Yi({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:vi.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:vi.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:vi.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:vi.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:vi.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Yi({checks:[],typeName:Ls.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...ki(e)})};class Zi extends Ai{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==ei.boolean){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.boolean,received:t.parsedType}),ui}return fi(e.data)}}Zi.create=e=>new Zi({typeName:Ls.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...ki(e)});class Qi extends Ai{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==ei.date){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.date,received:t.parsedType}),ui}if(isNaN(e.data.getTime())){return ci(this._getOrReturnCtx(e),{code:ri.invalid_date}),ui}const t=new li;let r;for(const n of this._def.checks)"min"===n.kind?e.data.getTime()n.value&&(r=this._getOrReturnCtx(e,r),ci(r,{code:ri.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),t.dirty()):Yn.assertNever(n);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Qi({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:vi.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:vi.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Qi({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Ls.ZodDate,...ki(e)});class es extends Ai{_parse(e){if(this._getType(e)!==ei.symbol){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.symbol,received:t.parsedType}),ui}return fi(e.data)}}es.create=e=>new es({typeName:Ls.ZodSymbol,...ki(e)});class ts extends Ai{_parse(e){if(this._getType(e)!==ei.undefined){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.undefined,received:t.parsedType}),ui}return fi(e.data)}}ts.create=e=>new ts({typeName:Ls.ZodUndefined,...ki(e)});class rs extends Ai{_parse(e){if(this._getType(e)!==ei.null){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.null,received:t.parsedType}),ui}return fi(e.data)}}rs.create=e=>new rs({typeName:Ls.ZodNull,...ki(e)});class ns extends Ai{constructor(){super(...arguments),this._any=!0}_parse(e){return fi(e.data)}}ns.create=e=>new ns({typeName:Ls.ZodAny,...ki(e)});class is extends Ai{constructor(){super(...arguments),this._unknown=!0}_parse(e){return fi(e.data)}}is.create=e=>new is({typeName:Ls.ZodUnknown,...ki(e)});class ss extends Ai{_parse(e){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.never,received:t.parsedType}),ui}}ss.create=e=>new ss({typeName:Ls.ZodNever,...ki(e)});class os extends Ai{_parse(e){if(this._getType(e)!==ei.undefined){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.void,received:t.parsedType}),ui}return fi(e.data)}}os.create=e=>new os({typeName:Ls.ZodVoid,...ki(e)});class as extends Ai{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==ei.array)return ci(t,{code:ri.invalid_type,expected:ei.array,received:t.parsedType}),ui;if(null!==n.exactLength){const e=t.data.length>n.exactLength.value,i=t.data.lengthn.maxLength.value&&(ci(t,{code:ri.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map(((e,r)=>n.type._parseAsync(new Si(t,e,t.path,r))))).then((e=>li.mergeArray(r,e)));const i=[...t.data].map(((e,r)=>n.type._parseSync(new Si(t,e,t.path,r))));return li.mergeArray(r,i)}get element(){return this._def.type}min(e,t){return new as({...this._def,minLength:{value:e,message:vi.toString(t)}})}max(e,t){return new as({...this._def,maxLength:{value:e,message:vi.toString(t)}})}length(e,t){return new as({...this._def,exactLength:{value:e,message:vi.toString(t)}})}nonempty(e){return this.min(1,e)}}function cs(e){if(e instanceof ls){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=Cs.create(cs(n))}return new ls({...e._def,shape:()=>t})}return e instanceof as?new as({...e._def,type:cs(e.element)}):e instanceof Cs?Cs.create(cs(e.unwrap())):e instanceof Ts?Ts.create(cs(e.unwrap())):e instanceof ms?ms.create(e.items.map((e=>cs(e)))):e}as.create=(e,t)=>new as({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ls.ZodArray,...ki(t)});class ls extends Ai{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Yn.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==ei.object){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.object,received:t.parsedType}),ui}const{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),s=[];if(!(this._def.catchall instanceof ss&&"strip"===this._def.unknownKeys))for(const e in r.data)i.includes(e)||s.push(e);const o=[];for(const e of i){const t=n[e],i=r.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new Si(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof ss){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of s)o.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)s.length>0&&(ci(r,{code:ri.unrecognized_keys,keys:s}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of s){const n=r.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new Si(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e})).then((e=>li.mergeObjectSync(t,e))):li.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return vi.errToObj,new ls({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,r)=>{var n,i,s,o;const a=null!==(s=null===(i=(n=this._def).errorMap)||void 0===i?void 0:i.call(n,t,r).message)&&void 0!==s?s:r.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=vi.errToObj(e).message)&&void 0!==o?o:a}:{message:a}}}:{}})}strip(){return new ls({...this._def,unknownKeys:"strip"})}passthrough(){return new ls({...this._def,unknownKeys:"passthrough"})}extend(e){return new ls({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ls({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ls.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ls({...this._def,catchall:e})}pick(e){const t={};return Yn.objectKeys(e).forEach((r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])})),new ls({...this._def,shape:()=>t})}omit(e){const t={};return Yn.objectKeys(this.shape).forEach((r=>{e[r]||(t[r]=this.shape[r])})),new ls({...this._def,shape:()=>t})}deepPartial(){return cs(this)}partial(e){const t={};return Yn.objectKeys(this.shape).forEach((r=>{const n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()})),new ls({...this._def,shape:()=>t})}required(e){const t={};return Yn.objectKeys(this.shape).forEach((r=>{if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof Cs;)e=e._def.innerType;t[r]=e}})),new ls({...this._def,shape:()=>t})}keyof(){return Ss(Yn.objectKeys(this.shape))}}ls.create=(e,t)=>new ls({shape:()=>e,unknownKeys:"strip",catchall:ss.create(),typeName:Ls.ZodObject,...ki(t)}),ls.strictCreate=(e,t)=>new ls({shape:()=>e,unknownKeys:"strict",catchall:ss.create(),typeName:Ls.ZodObject,...ki(t)}),ls.lazycreate=(e,t)=>new ls({shape:e,unknownKeys:"strip",catchall:ss.create(),typeName:Ls.ZodObject,...ki(t)});class us extends Ai{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map((async e=>{const r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;const r=e.map((e=>new ni(e.ctx.common.issues)));return ci(t,{code:ri.invalid_union,unionErrors:r}),ui}));{let e;const n=[];for(const i of r){const r={...t,common:{...t.common,issues:[]},parent:null},s=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===s.status)return s;"dirty"!==s.status||e||(e={result:s,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=n.map((e=>new ni(e)));return ci(t,{code:ri.invalid_union,unionErrors:i}),ui}}get options(){return this._def.options}}us.create=(e,t)=>new us({options:e,typeName:Ls.ZodUnion,...ki(t)});const ds=e=>e instanceof bs?ds(e.schema):e instanceof Os?ds(e.innerType()):e instanceof ws?[e.value]:e instanceof Es?e.options:e instanceof ks?Yn.objectValues(e.enum):e instanceof Rs?ds(e._def.innerType):e instanceof ts?[void 0]:e instanceof rs?[null]:e instanceof Cs?[void 0,...ds(e.unwrap())]:e instanceof Ts?[null,...ds(e.unwrap())]:e instanceof Ps||e instanceof $s?ds(e.unwrap()):e instanceof Is?ds(e._def.innerType):[];class fs extends Ai{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ei.object)return ci(t,{code:ri.invalid_type,expected:ei.object,received:t.parsedType}),ui;const r=this.discriminator,n=t.data[r],i=this.optionsMap.get(n);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ci(t,{code:ri.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ui)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const n=new Map;for(const r of t){const t=ds(r.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(n.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);n.set(i,r)}}return new fs({typeName:Ls.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...ki(r)})}}function ps(e,t){const r=ti(e),n=ti(t);if(e===t)return{valid:!0,data:e};if(r===ei.object&&n===ei.object){const r=Yn.objectKeys(t),n=Yn.objectKeys(e).filter((e=>-1!==r.indexOf(e))),i={...e,...t};for(const r of n){const n=ps(e[r],t[r]);if(!n.valid)return{valid:!1};i[r]=n.data}return{valid:!0,data:i}}if(r===ei.array&&n===ei.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let n=0;n{if(pi(e)||pi(n))return ui;const i=ps(e.value,n.value);return i.valid?((hi(e)||hi(n))&&t.dirty(),{status:t.value,value:i.data}):(ci(r,{code:ri.invalid_intersection_types}),ui)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>n(e,t))):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}hs.create=(e,t,r)=>new hs({left:e,right:t,typeName:Ls.ZodIntersection,...ki(r)});class ms extends Ai{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ei.array)return ci(r,{code:ri.invalid_type,expected:ei.array,received:r.parsedType}),ui;if(r.data.lengththis._def.items.length&&(ci(r,{code:ri.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...r.data].map(((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new Si(r,e,r.path,t)):null})).filter((e=>!!e));return r.common.async?Promise.all(n).then((e=>li.mergeArray(t,e))):li.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new ms({...this._def,rest:e})}}ms.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ms({items:e,typeName:Ls.ZodTuple,rest:null,...ki(t)})};class ys extends Ai{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ei.object)return ci(r,{code:ri.invalid_type,expected:ei.object,received:r.parsedType}),ui;const n=[],i=this._def.keyType,s=this._def.valueType;for(const e in r.data)n.push({key:i._parse(new Si(r,e,r.path,e)),value:s._parse(new Si(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?li.mergeObjectAsync(t,n):li.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new ys(t instanceof Ai?{keyType:e,valueType:t,typeName:Ls.ZodRecord,...ki(r)}:{keyType:Vi.create(),valueType:e,typeName:Ls.ZodRecord,...ki(t)})}}class gs extends Ai{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ei.map)return ci(r,{code:ri.invalid_type,expected:ei.map,received:r.parsedType}),ui;const n=this._def.keyType,i=this._def.valueType,s=[...r.data.entries()].map((([e,t],s)=>({key:n._parse(new Si(r,e,r.path,[s,"key"])),value:i._parse(new Si(r,t,r.path,[s,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const r of s){const n=await r.key,i=await r.value;if("aborted"===n.status||"aborted"===i.status)return ui;"dirty"!==n.status&&"dirty"!==i.status||t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const r of s){const n=r.key,i=r.value;if("aborted"===n.status||"aborted"===i.status)return ui;"dirty"!==n.status&&"dirty"!==i.status||t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}gs.create=(e,t,r)=>new gs({valueType:t,keyType:e,typeName:Ls.ZodMap,...ki(r)});class _s extends Ai{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ei.set)return ci(r,{code:ri.invalid_type,expected:ei.set,received:r.parsedType}),ui;const n=this._def;null!==n.minSize&&r.data.sizen.maxSize.value&&(ci(r,{code:ri.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const i=this._def.valueType;function s(e){const r=new Set;for(const n of e){if("aborted"===n.status)return ui;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}const o=[...r.data.values()].map(((e,t)=>i._parse(new Si(r,e,r.path,t))));return r.common.async?Promise.all(o).then((e=>s(e))):s(o)}min(e,t){return new _s({...this._def,minSize:{value:e,message:vi.toString(t)}})}max(e,t){return new _s({...this._def,maxSize:{value:e,message:vi.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_s.create=(e,t)=>new _s({valueType:e,minSize:null,maxSize:null,typeName:Ls.ZodSet,...ki(t)});class vs extends Ai{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ei.function)return ci(t,{code:ri.invalid_type,expected:ei.function,received:t.parsedType}),ui;function r(e,r){return ai({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,oi(),ii].filter((e=>!!e)),issueData:{code:ri.invalid_arguments,argumentsError:r}})}function n(e,r){return ai({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,oi(),ii].filter((e=>!!e)),issueData:{code:ri.invalid_return_type,returnTypeError:r}})}const i={errorMap:t.common.contextualErrorMap},s=t.data;if(this._def.returns instanceof As){const e=this;return fi((async function(...t){const o=new ni([]),a=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(r(t,e)),o})),c=await Reflect.apply(s,this,a),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(n(c,e)),o}));return l}))}{const e=this;return fi((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new ni([r(t,o.error)]);const a=Reflect.apply(s,this,o.data),c=e._def.returns.safeParse(a,i);if(!c.success)throw new ni([n(a,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new vs({...this._def,args:ms.create(e).rest(is.create())})}returns(e){return new vs({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new vs({args:e||ms.create([]).rest(is.create()),returns:t||is.create(),typeName:Ls.ZodFunction,...ki(r)})}}class bs extends Ai{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}bs.create=(e,t)=>new bs({getter:e,typeName:Ls.ZodLazy,...ki(t)});class ws extends Ai{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ci(t,{received:t.data,code:ri.invalid_literal,expected:this._def.value}),ui}return{status:"valid",value:e.data}}get value(){return this._def.value}}function Ss(e,t){return new Es({values:e,typeName:Ls.ZodEnum,...ki(t)})}ws.create=(e,t)=>new ws({value:e,typeName:Ls.ZodLiteral,...ki(t)});class Es extends Ai{constructor(){super(...arguments),bi.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),r=this._def.values;return ci(t,{expected:Yn.joinValues(r),received:t.parsedType,code:ri.invalid_type}),ui}if(gi(this,bi,"f")||_i(this,bi,new Set(this._def.values),"f"),!gi(this,bi,"f").has(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return ci(t,{received:t.data,code:ri.invalid_enum_value,options:r}),ui}return fi(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Es.create(e,{...this._def,...t})}exclude(e,t=this._def){return Es.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}bi=new WeakMap,Es.create=Ss;class ks extends Ai{constructor(){super(...arguments),wi.set(this,void 0)}_parse(e){const t=Yn.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==ei.string&&r.parsedType!==ei.number){const e=Yn.objectValues(t);return ci(r,{expected:Yn.joinValues(e),received:r.parsedType,code:ri.invalid_type}),ui}if(gi(this,wi,"f")||_i(this,wi,new Set(Yn.getValidEnumValues(this._def.values)),"f"),!gi(this,wi,"f").has(e.data)){const e=Yn.objectValues(t);return ci(r,{received:r.data,code:ri.invalid_enum_value,options:e}),ui}return fi(e.data)}get enum(){return this._def.values}}wi=new WeakMap,ks.create=(e,t)=>new ks({values:e,typeName:Ls.ZodNativeEnum,...ki(t)});class As extends Ai{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ei.promise&&!1===t.common.async)return ci(t,{code:ri.invalid_type,expected:ei.promise,received:t.parsedType}),ui;const r=t.parsedType===ei.promise?t.data:Promise.resolve(t.data);return fi(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}As.create=(e,t)=>new As({type:e,typeName:Ls.ZodPromise,...ki(t)});class Os extends Ai{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ls.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{ci(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){const e=n.transform(r.data,i);if(r.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return ui;const n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===n.status?ui:"dirty"===n.status||"dirty"===t.value?di(n.value):n}));{if("aborted"===t.value)return ui;const n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===n.status?ui:"dirty"===n.status||"dirty"===t.value?di(n.value):n}}if("refinement"===n.type){const e=e=>{const t=n.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===r.common.async){const n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===n.status?ui:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((r=>"aborted"===r.status?ui:("dirty"===r.status&&t.dirty(),e(r.value).then((()=>({status:t.value,value:r.value}))))))}if("transform"===n.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mi(e))return e;const s=n.transform(e.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:s}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>mi(e)?Promise.resolve(n.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Yn.assertNever(n)}}Os.create=(e,t,r)=>new Os({schema:e,typeName:Ls.ZodEffects,effect:t,...ki(r)}),Os.createWithPreprocess=(e,t,r)=>new Os({schema:t,effect:{type:"preprocess",transform:e},typeName:Ls.ZodEffects,...ki(r)});class Cs extends Ai{_parse(e){return this._getType(e)===ei.undefined?fi(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Cs.create=(e,t)=>new Cs({innerType:e,typeName:Ls.ZodOptional,...ki(t)});class Ts extends Ai{_parse(e){return this._getType(e)===ei.null?fi(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ts.create=(e,t)=>new Ts({innerType:e,typeName:Ls.ZodNullable,...ki(t)});class Rs extends Ai{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===ei.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Rs.create=(e,t)=>new Rs({innerType:e,typeName:Ls.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...ki(t)});class Is extends Ai{_parse(e){const{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return yi(n)?n.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new ni(r.common.issues)},input:r.data})}))):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new ni(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Is.create=(e,t)=>new Is({innerType:e,typeName:Ls.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...ki(t)});class xs extends Ai{_parse(e){if(this._getType(e)!==ei.nan){const t=this._getOrReturnCtx(e);return ci(t,{code:ri.invalid_type,expected:ei.nan,received:t.parsedType}),ui}return{status:"valid",value:e.data}}}xs.create=e=>new xs({typeName:Ls.ZodNaN,...ki(e)});const js=Symbol("zod_brand");class Ps extends Ai{_parse(e){const{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class Ns extends Ai{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?ui:"dirty"===e.status?(t.dirty(),di(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})()}{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?ui:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new Ns({in:e,out:t,typeName:Ls.ZodPipeline})}}class $s extends Ai{_parse(e){const t=this._def.innerType._parse(e),r=e=>(mi(e)&&(e.value=Object.freeze(e.value)),e);return yi(t)?t.then((e=>r(e))):r(t)}unwrap(){return this._def.innerType}}function Ms(e,t={},r){return e?ns.create().superRefine(((n,i)=>{var s,o;if(!e(n)){const e="function"==typeof t?t(n):"string"==typeof t?{message:t}:t,a=null===(o=null!==(s=e.fatal)&&void 0!==s?s:r)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:a})}})):ns.create()}$s.create=(e,t)=>new $s({innerType:e,typeName:Ls.ZodReadonly,...ki(t)});const Ds={object:ls.lazycreate};var Ls;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Ls||(Ls={}));const Bs=Vi.create,Ks=Xi.create,Fs=xs.create,Us=Yi.create,Ws=Zi.create,Js=Qi.create,Hs=es.create,Gs=ts.create,zs=rs.create,Vs=ns.create,qs=is.create,Xs=ss.create,Ys=os.create,Zs=as.create,Qs=ls.create,eo=ls.strictCreate,to=us.create,ro=fs.create,no=hs.create,io=ms.create,so=ys.create,oo=gs.create,ao=_s.create,co=vs.create,lo=bs.create,uo=ws.create,fo=Es.create,po=ks.create,ho=As.create,mo=Os.create,yo=Cs.create,go=Ts.create,_o=Os.createWithPreprocess,vo=Ns.create,bo={string:e=>Vi.create({...e,coerce:!0}),number:e=>Xi.create({...e,coerce:!0}),boolean:e=>Zi.create({...e,coerce:!0}),bigint:e=>Yi.create({...e,coerce:!0}),date:e=>Qi.create({...e,coerce:!0})},wo=ui;var So=Object.freeze({__proto__:null,defaultErrorMap:ii,setErrorMap:function(e){si=e},getErrorMap:oi,makeIssue:ai,EMPTY_PATH:[],addIssueToContext:ci,ParseStatus:li,INVALID:ui,DIRTY:di,OK:fi,isAborted:pi,isDirty:hi,isValid:mi,isAsync:yi,get util(){return Yn},get objectUtil(){return Zn},ZodParsedType:ei,getParsedType:ti,ZodType:Ai,datetimeRegex:Ji,ZodString:Vi,ZodNumber:Xi,ZodBigInt:Yi,ZodBoolean:Zi,ZodDate:Qi,ZodSymbol:es,ZodUndefined:ts,ZodNull:rs,ZodAny:ns,ZodUnknown:is,ZodNever:ss,ZodVoid:os,ZodArray:as,ZodObject:ls,ZodUnion:us,ZodDiscriminatedUnion:fs,ZodIntersection:hs,ZodTuple:ms,ZodRecord:ys,ZodMap:gs,ZodSet:_s,ZodFunction:vs,ZodLazy:bs,ZodLiteral:ws,ZodEnum:Es,ZodNativeEnum:ks,ZodPromise:As,ZodEffects:Os,ZodTransformer:Os,ZodOptional:Cs,ZodNullable:Ts,ZodDefault:Rs,ZodCatch:Is,ZodNaN:xs,BRAND:js,ZodBranded:Ps,ZodPipeline:Ns,ZodReadonly:$s,custom:Ms,Schema:Ai,ZodSchema:Ai,late:Ds,get ZodFirstPartyTypeKind(){return Ls},coerce:bo,any:Vs,array:Zs,bigint:Us,boolean:Ws,date:Js,discriminatedUnion:ro,effect:mo,enum:fo,function:co,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Ms((t=>t instanceof e),t),intersection:no,lazy:lo,literal:uo,map:oo,nan:Fs,nativeEnum:po,never:Xs,null:zs,nullable:go,number:Ks,object:Qs,oboolean:()=>Ws().optional(),onumber:()=>Ks().optional(),optional:yo,ostring:()=>Bs().optional(),pipeline:vo,preprocess:_o,promise:ho,record:so,set:ao,strictObject:eo,string:Bs,symbol:Hs,transformer:mo,tuple:io,undefined:Gs,union:to,unknown:qs,void:Ys,NEVER:wo,ZodIssueCode:ri,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:ni}),Eo=["interface","display","layout","module","panel","theme"],ko=["hook","endpoint"],Ao=["operation"],Oo="directus:extension",Co=So.object({app:So.string(),api:So.string()}),To=So.object({request:So.optional(So.object({urls:So.array(So.string()),methods:So.array(So.union([So.literal("GET"),So.literal("POST"),So.literal("PATCH"),So.literal("PUT"),So.literal("DELETE")]))})),log:So.optional(So.object({})),sleep:So.optional(So.object({}))}),Ro=So.optional(So.object({enabled:So.boolean(),requestedScopes:To})),Io=So.union([So.object({type:So.enum(ko),name:So.string(),source:So.string()}),So.object({type:So.enum(Eo),name:So.string(),source:So.string()}),So.object({type:So.enum(Ao),name:So.string(),source:Co})]),xo=So.object({host:So.string(),hidden:So.boolean().optional()}),jo=So.object({type:So.enum(Eo),path:So.string(),source:So.string()}),Po=So.object({type:So.enum(ko),path:So.string(),source:So.string(),sandbox:Ro}),No=So.object({type:So.enum(Ao),path:Co,source:Co,sandbox:Ro}),$o=So.object({type:So.literal("bundle"),partial:So.boolean().optional(),path:Co,entries:So.array(Io)});So.array(Io);var Mo=xo.and(So.union([jo,Po,No,$o]));So.object({name:So.string(),version:So.string(),type:So.union([So.literal("module"),So.literal("commonjs")]).optional(),description:So.string().optional(),icon:So.string().optional(),dependencies:So.record(So.string()).optional(),devDependencies:So.record(So.string()).optional(),[Oo]:Mo});var Do,Lo={},Bo={},Ko={name:"joi",description:"Object schema validation",version:"17.13.1",repository:"git://github.com/hapijs/joi",main:"lib/index.js",types:"lib/index.d.ts",browser:"dist/joi-browser.min.js",files:["lib/**/*","dist/*"],keywords:["schema","validation"],dependencies:{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},devDependencies:{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63",typescript:"4.3.x"},scripts:{prepublishOnly:"cd browser && npm install && npm run build",test:"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},license:"BSD-3-Clause"},Fo={};function Uo(){if(Do)return Fo;Do=1;const e=vc(),t={};return t.wrap=e.string().min(1).max(2).allow(!1),Fo.preferences=e.object({allowUnknown:e.boolean(),abortEarly:e.boolean(),artifacts:e.boolean(),cache:e.boolean(),context:e.object(),convert:e.boolean(),dateFormat:e.valid("date","iso","string","time","utc"),debug:e.boolean(),errors:{escapeHtml:e.boolean(),label:e.valid("path","key",!1),language:[e.string(),e.object().ref()],render:e.boolean(),stack:e.boolean(),wrap:{label:t.wrap,array:t.wrap,string:t.wrap}},externals:e.boolean(),messages:e.object(),noDefaults:e.boolean(),nonEnumerables:e.boolean(),presence:e.valid("required","optional","forbidden"),skipFunctions:e.boolean(),stripUnknown:e.object({arrays:e.boolean(),objects:e.boolean()}).or("arrays","objects").allow(!0,!1),warnings:e.boolean()}).strict(),t.nameRx=/^[a-zA-Z0-9]\w*$/,t.rule=e.object({alias:e.array().items(e.string().pattern(t.nameRx)).single(),args:e.array().items(e.string(),e.object({name:e.string().pattern(t.nameRx).required(),ref:e.boolean(),assert:e.alternatives([e.function(),e.object().schema()]).conditional("ref",{is:!0,then:e.required()}),normalize:e.function(),message:e.string().when("assert",{is:e.function(),then:e.required()})})),convert:e.boolean(),manifest:e.boolean(),method:e.function().allow(!1),multi:e.boolean(),validate:e.function()}),Fo.extension=e.object({type:e.alternatives([e.string(),e.object().regex()]).required(),args:e.function(),cast:e.object().pattern(t.nameRx,e.object({from:e.function().maxArity(1).required(),to:e.function().minArity(1).maxArity(2).required()})),base:e.object().schema().when("type",{is:e.object().regex(),then:e.forbidden()}),coerce:[e.function().maxArity(3),e.object({method:e.function().maxArity(3).required(),from:e.array().items(e.string()).single()})],flags:e.object().pattern(t.nameRx,e.object({setter:e.string(),default:e.any()})),manifest:{build:e.function().arity(2)},messages:[e.object(),e.string()],modifiers:e.object().pattern(t.nameRx,e.function().minArity(1).maxArity(2)),overrides:e.object().pattern(t.nameRx,e.function()),prepare:e.function().maxArity(3),rebuild:e.function().arity(1),rules:e.object().pattern(t.nameRx,t.rule),terms:e.object().pattern(t.nameRx,e.object({init:e.array().allow(null).required(),manifest:e.object().pattern(/.+/,[e.valid("schema","single"),e.object({mapped:e.object({from:e.string().required(),to:e.string().required()}).required()})])})),validate:e.function().maxArity(3)}).strict(),Fo.extensions=e.array().items(e.object(),e.function().arity(1)).strict(),t.desc={buffer:e.object({buffer:e.string()}),func:e.object({function:e.function().required(),options:{literal:!0}}),override:e.object({override:!0}),ref:e.object({ref:e.object({type:e.valid("value","global","local"),path:e.array().required(),separator:e.string().length(1).allow(!1),ancestor:e.number().min(0).integer().allow("root"),map:e.array().items(e.array().length(2)).min(1),adjust:e.function(),iterables:e.boolean(),in:e.boolean(),render:e.boolean()}).required()}),regex:e.object({regex:e.string().min(3)}),special:e.object({special:e.valid("deep").required()}),template:e.object({template:e.string().required(),options:e.object()}),value:e.object({value:e.alternatives([e.object(),e.array()]).required()})},t.desc.entity=e.alternatives([e.array().items(e.link("...")),e.boolean(),e.function(),e.number(),e.string(),t.desc.buffer,t.desc.func,t.desc.ref,t.desc.regex,t.desc.special,t.desc.template,t.desc.value,e.link("/")]),t.desc.values=e.array().items(null,e.boolean(),e.function(),e.number().allow(1/0,-1/0),e.string().allow(""),e.symbol(),t.desc.buffer,t.desc.func,t.desc.override,t.desc.ref,t.desc.regex,t.desc.template,t.desc.value),t.desc.messages=e.object().pattern(/.+/,[e.string(),t.desc.template,e.object().pattern(/.+/,[e.string(),t.desc.template])]),Fo.description=e.object({type:e.string().required(),flags:e.object({cast:e.string(),default:e.any(),description:e.string(),empty:e.link("/"),failover:t.desc.entity,id:e.string(),label:e.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:e.boolean(),unit:e.string()}).unknown(),preferences:{allowUnknown:e.boolean(),abortEarly:e.boolean(),artifacts:e.boolean(),cache:e.boolean(),convert:e.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:e.boolean(),label:["path","key"],language:[e.string(),t.desc.ref],wrap:{label:t.wrap,array:t.wrap}},externals:e.boolean(),messages:t.desc.messages,noDefaults:e.boolean(),nonEnumerables:e.boolean(),presence:["required","optional","forbidden"],skipFunctions:e.boolean(),stripUnknown:e.object({arrays:e.boolean(),objects:e.boolean()}).or("arrays","objects").allow(!0,!1),warnings:e.boolean()},allow:t.desc.values,invalid:t.desc.values,rules:e.array().min(1).items({name:e.string().required(),args:e.object().min(1),keep:e.boolean(),message:[e.string(),t.desc.messages],warn:e.boolean()}),keys:e.object().pattern(/.*/,e.link("/")),link:t.desc.ref}).pattern(/^[a-z]\w*$/,e.any()),Fo}var Wo,Jo,Ho={},Go={exports:{}},zo={},Vo={};function qo(){if(Wo)return Vo;Wo=1;const e=qr,t=oa(),r={annotations:Symbol("annotations")};return Vo.error=function(n){if(!this._original||"object"!=typeof this._original)return this.details[0].message;const i=n?"":"",s=n?"":"",o=n?"":"",a=e(this._original);for(let e=this.details.length-1;e>=0;--e){const n=e+1,i=this.details[e],s=i.path;let o=a;for(let e=0;;++e){const a=s[e];if(t.isSchema(o)&&(o=o.clone()),!(e+1`" ${i}[${t}]${o}`)).replace(l,((e,t,r)=>`${s}"${t}"${o}${i} [${r}]: -- missing --${o}`)).replace(u,((e,t,r)=>`\n${r} ${i}[${t}]${o}`)).replace(d,((e,t)=>t));f=`${f}\n${i}`;for(let e=0;et[0]===n?"[Circular ~]":"[Circular ~."+e.slice(0,t.indexOf(n)).join(".")+"]";return function(i,s){if(t.length>0){const r=t.indexOf(this);~r?(t.length=r+1,e.length=r+1,e[r]=i):(t.push(this),e.push(i)),~t.indexOf(s)&&(s=n.call(this,i,s))}else t.push(s);if(s){const e=s[r.annotations];if(e){if(Array.isArray(s)){const t=[];for(let r=0;r1&&(s=r.path.slice(-1));const o=e.path(s);return o||(e.template(null,n.messages,"root",r,n)||i&&e.template(null,i,"root",r,n)||"value")},e.process=function(t,r,n){if(!t)return null;const{override:i,message:s,details:o}=e.details(t);if(i)return i;if(n.errors.stack)return new e.ValidationError(s,o,r);const a=Error.stackTraceLimit;Error.stackTraceLimit=0;const c=new e.ValidationError(s,o,r);return Error.stackTraceLimit=a,c},e.details=function(e,t={}){let r=[];const n=[];for(const i of e){if(i instanceof Error){if(!1!==t.override)return{override:i};const e=i.toString();r.push(e),n.push({message:e,type:"override",context:{error:i}});continue}const e=i.toString();r.push(e),n.push({message:e,path:i.path.filter((e=>"object"!=typeof e)),type:i.code,context:i.local})}return r.length>1&&(r=[...new Set(r)]),{message:r.join(". "),details:n}},e.ValidationError=class extends Error{constructor(e,t,r){super(e),this._original=r,this.details=t}static isError(t){return t instanceof e.ValidationError}},e.ValidationError.prototype.isJoi=!0,e.ValidationError.prototype.name="ValidationError",e.ValidationError.prototype.annotate=t.error}(zo)),zo}var Yo,Zo,Qo,ea,ta,ra={};function na(){return Yo||(Yo=1,function(e){const t=Lr,r=qr,n=Fr,i=oa();let s;const o={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};e.create=function(e,r={}){t("string"==typeof e,"Invalid reference key:",e),i.assertOptions(r,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),t(!r.prefix||"object"==typeof r.prefix,"options.prefix must be of type object");const n=Object.assign({},o.defaults,r);delete n.prefix;const s=n.separator,a=o.context(e,s,r.prefix);if(n.type=a.type,e=a.key,"value"===n.type)if(a.root&&(t(!s||e[0]!==s,"Cannot specify relative path with root prefix"),n.ancestor="root",e||(e=null)),s&&s===e)e=null,n.ancestor=0;else if(void 0!==n.ancestor)t(!s||!e||e[0]!==s,"Cannot combine prefix with ancestor option");else{const[t,r]=o.ancestor(e,s);r&&""===(e=e.slice(r))&&(e=null),n.ancestor=t}return n.path=s?null===e?[]:e.split(s):[e],new o.Ref(n)},e.in=function(t,r={}){return e.create(t,{...r,in:!0})},e.isRef=function(e){return!!e&&!!e[i.symbols.ref]},o.Ref=class{constructor(e){t("object"==typeof e,"Invalid reference construction"),i.assertOptions(e,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),t([!1,void 0].includes(e.separator)||"string"==typeof e.separator&&1===e.separator.length,"Invalid separator"),t(!e.adjust||"function"==typeof e.adjust,"options.adjust must be a function"),t(!e.map||Array.isArray(e.map),"options.map must be an array"),t(!e.map||!e.adjust,"Cannot set both map and adjust options"),Object.assign(this,o.defaults,e),t("value"===this.type||void 0===this.ancestor,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(e,r,n,i,s={}){return t(!this.in||s.in,"Invalid in() reference usage"),"global"===this.type?this._resolve(n.context,r,s):"local"===this.type?this._resolve(i,r,s):this.ancestor?"root"===this.ancestor?this._resolve(r.ancestors[r.ancestors.length-1],r,s):(t(this.ancestor<=r.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(r.ancestors[this.ancestor-1],r,s)):this._resolve(e,r,s)}_resolve(e,t,r){let i;if("value"===this.type&&t.mainstay.shadow&&!1!==r.shadow&&(i=t.mainstay.shadow.get(this.absolute(t))),void 0===i&&(i=n(e,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(i=this.adjust(i)),this.map){const e=this.map.get(i);void 0!==e&&(i=e)}return t.mainstay&&t.mainstay.tracer.resolve(t,this,i),i}toString(){return this.display}absolute(e){return[...e.path.slice(0,-this.ancestor),...this.path]}clone(){return new o.Ref(this)}describe(){const e={path:this.path};"value"!==this.type&&(e.type=this.type),"."!==this.separator&&(e.separator=this.separator),"value"===this.type&&1!==this.ancestor&&(e.ancestor=this.ancestor),this.map&&(e.map=[...this.map]);for(const t of["adjust","iterables","render"])null!==this[t]&&void 0!==this[t]&&(e[t]=this[t]);return!1!==this.in&&(e.in=!0),{ref:e}}updateDisplay(){const e=null!==this.key?this.key:"";if("value"!==this.type)return void(this.display=`ref:${this.type}:${e}`);if(!this.separator)return void(this.display=`ref:${e}`);if(!this.ancestor)return void(this.display=`ref:${this.separator}${e}`);if("root"===this.ancestor)return void(this.display=`ref:root:${e}`);if(1===this.ancestor)return void(this.display=`ref:${e||".."}`);const t=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${t}${e||""}`}},o.Ref.prototype[i.symbols.ref]=!0,e.build=function(e){return"value"===(e=Object.assign({},o.defaults,e)).type&&void 0===e.ancestor&&(e.ancestor=1),new o.Ref(e)},o.context=function(e,t,r={}){if(e=e.trim(),r){const n=void 0===r.global?"$":r.global;if(n!==t&&e.startsWith(n))return{key:e.slice(n.length),type:"global"};const i=void 0===r.local?"#":r.local;if(i!==t&&e.startsWith(i))return{key:e.slice(i.length),type:"local"};const s=void 0===r.root?"/":r.root;if(s!==t&&e.startsWith(s))return{key:e.slice(s.length),type:"value",root:!0}}return{key:e,type:"value"}},o.ancestor=function(e,t){if(!t)return[1,0];if(e[0]!==t)return[1,0];if(e[1]!==t)return[0,1];let r=2;for(;e[r]===t;)++r;return[r-1,r]},e.toSibling=0,e.toParent=1,e.Manager=class{constructor(){this.refs=[]}register(t,r){if(t)if(r=void 0===r?e.toParent:r,Array.isArray(t))for(const e of t)this.register(e,r);else if(i.isSchema(t))for(const e of t._refs.refs)e.ancestor-r>=0&&this.refs.push({ancestor:e.ancestor-r,root:e.root});else e.isRef(t)&&"value"===t.type&&t.ancestor-r>=0&&this.refs.push({ancestor:t.ancestor-r,root:t.root}),s=s||ia(),s.isTemplate(t)&&this.register(t.refs(),r)}get length(){return this.refs.length}clone(){const t=new e.Manager;return t.refs=r(this.refs),t}reset(){this.refs=[]}roots(){return this.refs.filter((e=>!e.ancestor)).map((e=>e.root))}}}(ra)),ra}function ia(){return Zo||(Zo=1,function(e,t){const r=Lr,n=qr,i=Yr,s=Zr,o=oa(),a=Xo(),c=na(),l={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};e.exports=l.Template=class{constructor(e,t){if(r("string"==typeof e,"Template source must be a string"),r(!e.includes("\0")&&!e.includes(""),"Template source cannot contain reserved control characters"),this.source=e,this.rendered=e,this._template=null,t){const{functions:e,...i}=t;this._settings=Object.keys(i).length?n(i):void 0,this._functions=e,this._functions&&(r(Object.keys(this._functions).every((e=>"string"==typeof e)),"Functions keys must be strings"),r(Object.values(this._functions).every((e=>"function"==typeof e)),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;const e=l.encode(this.source),t=l.split(e);let r=!1;const n=[],i=t.shift();i&&n.push(i);for(const e of t){const t="{"!==e[0],i=t?"}":"}}",s=e.indexOf(i);if(-1===s||"{"===e[1]){n.push(`{${l.decode(e)}`);continue}let o=e.slice(t?0:1,s);const a=":"===o[0];a&&(o=o.slice(1));const c=this._ref(l.decode(o),{raw:t,wrapped:a});n.push(c),"string"!=typeof c&&(r=!0);const u=e.slice(s+i.length);u&&n.push(l.decode(u))}r?this._template=n:this.rendered=n.join("")}static date(e,t){return l.dateFormat[t.dateFormat].call(e)}describe(e={}){if(!this._settings&&e.compact)return this.source;const t={template:this.source};return this._settings&&(t.options=this._settings),this._functions&&(t.functions=this._functions),t}static build(e){return new l.Template(e.template,e.options||e.functions?{...e.options,functions:e.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(e){return!!e&&!!e[o.symbols.template]}refs(){if(!this._template)return;const e=[];for(const t of this._template)"string"!=typeof t&&e.push(...t.refs);return e}resolve(e,t,r,n){return this._template&&1===this._template.length?this._part(this._template[0],e,t,r,n,{}):this.render(e,t,r,n)}_part(e,...t){return e.ref?e.ref.resolve(...t):e.formula.evaluate(t)}render(e,t,r,n,s={}){if(!this.isDynamic())return this.rendered;const o=[];for(const a of this._template)if("string"==typeof a)o.push(a);else{const c=this._part(a,e,t,r,n,s),u=l.stringify(c,e,t,r,n,s);if(void 0!==u){const e=a.raw||!1===(s.errors&&s.errors.escapeHtml)?u:i(u);o.push(l.wrap(e,a.wrapped&&r.errors.wrap.label))}}return o.join("")}_ref(e,{raw:t,wrapped:r}){const n=[],i=e=>{const t=c.create(e,this._settings);return n.push(t),e=>{const r=t.resolve(...e);return void 0!==r?r:null}};try{const t=this._functions?{...l.functions,...this._functions}:l.functions;var o=new s.Parser(e,{reference:i,functions:t,constants:l.constants})}catch(t){throw t.message=`Invalid template variable "${e}" fails due to: ${t.message}`,t}if(o.single){if("reference"===o.single.type){const e=n[0];return{ref:e,raw:t,refs:n,wrapped:r||"local"===e.type&&"label"===e.key}}return l.stringify(o.single.value)}return{formula:o,raw:t,refs:n}}toString(){return this.source}},l.Template.prototype[o.symbols.template]=!0,l.Template.prototype.isImmutable=!0,l.encode=function(e){return e.replace(/\\(\{+)/g,((e,t)=>l.opens.slice(0,t.length))).replace(/\\(\}+)/g,((e,t)=>l.closes.slice(0,t.length)))},l.decode=function(e){return e.replace(/\u0000/g,"{").replace(/\u0001/g,"}")},l.split=function(e){const t=[];let r="";for(let n=0;n ${n.toString()}`);e=t}if(!Array.isArray(e))return e.toString();const d=[];for(const o of e)d.push(l.stringify(o,t,r,n,i,{arrayItems:!0,...s}));return l.wrap(d.join(", "),!u&&a.array)},l.constants={true:!0,false:!1,null:null,second:1e3,minute:6e4,hour:36e5,day:864e5},l.functions={if:(e,t,r)=>e?t:r,length:e=>"string"==typeof e?e.length:e&&"object"==typeof e?Array.isArray(e)?e.length:Object.keys(e).length:null,msg(e){const[t,r,n,i,s]=this,o=s.messages;if(!o)return"";const c=a.template(t,o[0],e,r,n)||a.template(t,o[1],e,r,n);return c?c.render(t,r,n,i,s):""},number:e=>"number"==typeof e?e:"string"==typeof e?parseFloat(e):"boolean"==typeof e?e?1:0:e instanceof Date?e.getTime():null}}(Go)),Go.exports}function sa(){return Qo||(Qo=1,function(e){const t=Lr,r=qr,n=ia();e.compile=function(e,i){if("string"==typeof e)return t(!i,"Cannot set single message string"),new n(e);if(n.isTemplate(e))return t(!i,"Cannot set single message template"),e;t("object"==typeof e&&!Array.isArray(e),"Invalid message options"),i=i?r(i):{};for(let r in e){const s=e[r];if("root"===r||n.isTemplate(s)){i[r]=s;continue}if("string"==typeof s){i[r]=new n(s);continue}t("object"==typeof s&&!Array.isArray(s),"Invalid message for",r);const o=r;for(r in i[o]=i[o]||{},s){const e=s[r];"root"===r||n.isTemplate(e)?i[o][r]=e:(t("string"==typeof e,"Invalid message for",r,"in",o),i[o][r]=new n(e))}}return i},e.decompile=function(e){const t={};for(let r in e){const i=e[r];if("root"===r){t.root=i;continue}if(n.isTemplate(i)){t[r]=i.describe({compact:!0});continue}const s=r;for(r in t[s]={},i){const e=i[r];"root"!==r?t[s][r]=e.describe({compact:!0}):t[s].root=e}}return t},e.merge=function(i,s){if(!i)return e.compile(s);if(!s)return i;if("string"==typeof s)return new n(s);if(n.isTemplate(s))return s;const o=r(i);for(let e in s){const r=s[e];if("root"===e||n.isTemplate(r)){o[e]=r;continue}if("string"==typeof r){o[e]=new n(r);continue}t("object"==typeof r&&!Array.isArray(r),"Invalid message for",e);const i=e;for(e in o[i]=o[i]||{},r){const s=r[e];"root"===e||n.isTemplate(s)?o[i][e]=s:(t("string"==typeof s,"Invalid message for",e,"in",i),o[i][e]=new n(s))}}return o}}(Ho)),Ho}function oa(){return ea||(ea=1,function(e){const t=Lr,r=Mr,n=Ko;let i,s;const o={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};e.version=n.version,e.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1},e.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")},e.assertOptions=function(e,r,n="Options"){t(e&&"object"==typeof e&&!Array.isArray(e),"Options must be of type object");const i=Object.keys(e).filter((e=>!r.includes(e)));t(0===i.length,`${n} contain unknown keys: ${i}`)},e.checkPreferences=function(e){s=s||Uo();const t=s.preferences.validate(e);if(t.error)throw new r([t.error.details[0].message])},e.compare=function(e,t,r){switch(r){case"=":return e===t;case">":return e>t;case"<":return e=":return e>=t;case"<=":return e<=t}},e.default=function(e,t){return void 0===e?t:e},e.isIsoDate=function(e){return o.isoDate.test(e)},e.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},e.isResolvable=function(t){return!!t&&(t[e.symbols.ref]||t[e.symbols.template])},e.isSchema=function(r,n={}){const i=r&&r[e.symbols.any];return!!i&&(t(n.legacy||i.version===e.version,"Cannot mix different versions of joi schemas"),!0)},e.isValues=function(t){return t[e.symbols.values]},e.limit=function(e){return Number.isSafeInteger(e)&&e>=0},e.preferences=function(t,r){i=i||sa(),t=t||{},r=r||{};const n=Object.assign({},t,r);return r.errors&&t.errors&&(n.errors=Object.assign({},t.errors,r.errors),n.errors.wrap=Object.assign({},t.errors.wrap,r.errors.wrap)),r.messages&&(n.messages=i.compile(r.messages,t.messages)),delete n[e.symbols.prefs],n},e.tryWithPath=function(e,t,r={}){try{return e()}catch(e){throw void 0!==e.path?e.path=t+"."+e.path:e.path=t,r.append&&(e.message=`${e.message} (${e.path})`),e}},e.validateArg=function(t,r,{assert:n,message:i}){if(e.isSchema(n)){const e=n.validate(t);if(!e.error)return;return e.error.message}if(!n(t))return r?`${r} ${i}`:i},e.verifyFlat=function(e,r){for(const n of e)t(!Array.isArray(n),"Method no longer accepts array arguments:",r)}}(Bo)),Bo}function aa(){if(ta)return Lo;ta=1;const e=Lr,t=qr,r=oa(),n={max:1e3,supported:new Set(["undefined","boolean","number","string"])};return Lo.provider={provision:e=>new n.Cache(e)},n.Cache=class{constructor(t={}){r.assertOptions(t,["max"]),e(void 0===t.max||t.max&&t.max>0&&isFinite(t.max),"Invalid max cache size"),this._max=t.max||n.max,this._map=new Map,this._list=new n.List}get length(){return this._map.size}set(e,t){if(null!==e&&!n.supported.has(typeof e))return;let r=this._map.get(e);if(r)return r.value=t,void this._list.first(r);r=this._list.unshift({key:e,value:t}),this._map.set(e,r),this._compact()}get(e){const r=this._map.get(e);if(r)return this._list.first(r),t(r.value)}_compact(){if(this._map.size>this._max){const e=this._list.pop();this._map.delete(e.key)}}},n.List=class{constructor(){this.tail=null,this.head=null}unshift(e){return e.next=null,e.prev=this.head,this.head&&(this.head.next=e),this.head=e,this.tail||(this.tail=e),e}first(e){e!==this.head&&(this._remove(e),this.unshift(e))}pop(){return this._remove(this.tail)}_remove(e){const{next:t,prev:r}=e;return t.prev=r,r&&(r.next=t),e===this.tail&&(this.tail=t),e.prev=null,e.next=null,e}},Lo}var ca,la={};function ua(){return ca||(ca=1,function(e){const t=Lr,r=oa(),n=na(),i={};e.schema=function(e,t,n={}){r.assertOptions(n,["appendPath","override"]);try{return i.schema(e,t,n)}catch(e){throw n.appendPath&&void 0!==e.path&&(e.message=`${e.message} (${e.path})`),e}},i.schema=function(e,n,s){t(void 0!==n,"Invalid undefined schema"),Array.isArray(n)&&(t(n.length,"Invalid empty array schema"),1===n.length&&(n=n[0]));const o=(t,...r)=>!1!==s.override?t.valid(e.override,...r):t.valid(...r);if(i.simple(n))return o(e,n);if("function"==typeof n)return e.custom(n);if(t("object"==typeof n,"Invalid schema content:",typeof n),r.isResolvable(n))return o(e,n);if(r.isSchema(n))return n;if(Array.isArray(n)){for(const t of n)if(!i.simple(t))return e.alternatives().try(...n);return o(e,...n)}return n instanceof RegExp?e.string().regex(n):n instanceof Date?o(e.date(),n):(t(Object.getPrototypeOf(n)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),e.object().keys(n))},e.ref=function(e,t){return n.isRef(e)?e:n.create(e,t)},e.compile=function(n,s,o={}){r.assertOptions(o,["legacy"]);const a=s&&s[r.symbols.any];if(a)return t(o.legacy||a.version===r.version,"Cannot mix different versions of joi schemas:",a.version,r.version),s;if("object"!=typeof s||!o.legacy)return e.schema(n,s,{appendPath:!0});const c=i.walk(s);return c?c.compile(c.root,s):e.schema(n,s,{appendPath:!0})},i.walk=function(e){if("object"!=typeof e)return null;if(Array.isArray(e)){for(const t of e){const e=i.walk(t);if(e)return e}return null}const n=e[r.symbols.any];if(n)return{root:e[n.root],compile:n.compile};t(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(const t in e){const r=i.walk(e[t]);if(r)return r}return null},i.simple=function(e){return null===e||["boolean","string","number"].includes(typeof e)},e.when=function(s,o,a){if(void 0===a&&(t(o&&"object"==typeof o,"Missing options"),a=o,o=n.create(".")),Array.isArray(a)&&(a={switch:a}),r.assertOptions(a,["is","not","then","otherwise","switch","break"]),r.isSchema(o))return t(void 0===a.is,'"is" can not be used with a schema condition'),t(void 0===a.not,'"not" can not be used with a schema condition'),t(void 0===a.switch,'"switch" can not be used with a schema condition'),i.condition(s,{is:o,then:a.then,otherwise:a.otherwise,break:a.break});if(t(n.isRef(o)||"string"==typeof o,"Invalid condition:",o),t(void 0===a.not||void 0===a.is,'Cannot combine "is" with "not"'),void 0===a.switch){let c=a;void 0!==a.not&&(c={is:a.not,then:a.otherwise,otherwise:a.then,break:a.break});let l=void 0!==c.is?s.$_compile(c.is):s.$_root.invalid(null,!1,0,"").required();return t(void 0!==c.then||void 0!==c.otherwise,'options must have at least one of "then", "otherwise", or "switch"'),t(void 0===c.break||void 0===c.then||void 0===c.otherwise,"Cannot specify then, otherwise, and break all together"),void 0===a.is||n.isRef(a.is)||r.isSchema(a.is)||(l=l.required()),i.condition(s,{ref:e.ref(o),is:l,then:c.then,otherwise:c.otherwise,break:c.break})}t(Array.isArray(a.switch),'"switch" must be an array'),t(void 0===a.is,'Cannot combine "switch" with "is"'),t(void 0===a.not,'Cannot combine "switch" with "not"'),t(void 0===a.then,'Cannot combine "switch" with "then"');const c={ref:e.ref(o),switch:[],break:a.break};for(let e=0;e("string"==typeof t&&(t={name:t}),e(!n.argsByName.has(t.name),"Duplicated argument name",t.name),r.isSchema(t.assert)&&(t.assert=t.assert.strict().label(t.name)),n.argsByName.set(t.name,t),t))))}u.rules=p;const h=Object.assign({},d.modifiers);if(u.modifiers)for(const t in u.modifiers){e(!c[t],"Rule conflict in",u.type,t);const r=u.modifiers[t];e("function"==typeof r,"Invalid modifier definition for",u.type,t);const n=function(e){return this.rule({[t]:e})};c[t]=n,h[t]=r}if(u.modifiers=h,u.overrides){c._super=a,l.$_super={};for(const t in u.overrides)e(a[t],"Cannot override missing",t),u.overrides[t][r.symbols.parent]=a[t],l.$_super[t]=a[t].bind(l);Object.assign(c,u.overrides)}u.cast=Object.assign({},d.cast,u.cast);const m=Object.assign({},d.manifest,u.manifest);return m.build=i.build(u.manifest&&u.manifest.build,d.manifest&&d.manifest.build),u.manifest=m,u.rebuild=i.rebuild(u.rebuild,d.rebuild),l},i.build=function(e,t){return e&&t?function(r,n){return t(e(r,n),n)}:e||t},i.coerce=function(e,t){return e&&t?{from:e.from&&t.from?[...new Set([...e.from,...t.from])]:null,method(r,n){let i;if((!t.from||t.from.includes(typeof r))&&(i=t.method(r,n),i)){if(i.errors||void 0===i.value)return i;r=i.value}if(!e.from||e.from.includes(typeof r)){const t=e.method(r,n);if(t)return t}return i}}:e||t},i.prepare=function(e,t){return e&&t?function(r,n){const i=e(r,n);if(i){if(i.errors||void 0===i.value)return i;r=i.value}return t(r,n)||i}:e||t},i.rebuild=function(e,t){return e&&t?function(r){t(r),e(r)}:e||t},i.validate=function(e,t){return e&&t?function(r,n){const i=t(r,n);if(i){if(i.errors&&(!Array.isArray(i.errors)||i.errors.length))return i;r=i.value}return e(r,n)||i}:e||t},fa}var ha,ma={};function ya(){if(ha)return ma;ha=1;const e=Lr,t=qr,r=oa(),n=sa(),i=na(),s=ia();let o;const a={};return ma.describe=function(i){const s=i._definition,o={type:i.type,flags:{},rules:[]};for(const e in i._flags)"_"!==e[0]&&(o.flags[e]=a.describe(i._flags[e]));Object.keys(o.flags).length||delete o.flags,i._preferences&&(o.preferences=t(i._preferences,{shallow:["messages"]}),delete o.preferences[r.symbols.prefs],o.preferences.messages&&(o.preferences.messages=n.decompile(o.preferences.messages))),i._valids&&(o.allow=i._valids.describe()),i._invalids&&(o.invalid=i._invalids.describe());for(const e of i._rules){if(!1===s.rules[e.name].manifest)continue;const t={name:e.name};for(const r in s.modifiers)void 0!==e[r]&&(t[r]=a.describe(e[r]));if(e.args){t.args={};for(const r in e.args){const n=e.args[r];("options"!==r||Object.keys(n).length)&&(t.args[r]=a.describe(n,{assign:r}))}Object.keys(t.args).length||delete t.args}o.rules.push(t)}o.rules.length||delete o.rules;for(const t in i.$_terms){if("_"===t[0])continue;e(!o[t],"Cannot describe schema due to internal name conflict with",t);const n=i.$_terms[t];if(!n)continue;if(n instanceof Map){n.size&&(o[t]=[...n.entries()]);continue}if(r.isValues(n)){o[t]=n.describe();continue}e(s.terms[t],"Term",t,"missing configuration");const c=s.terms[t].manifest,l="object"==typeof c;if(!n.length&&!l)continue;const u=[];for(const e of n)u.push(a.describe(e));if(l){const{from:e,to:r}=c.mapped;o[t]={};for(const n of u)o[t][n[r]]=n[e]}else"single"!==c?o[t]=u:(e(1===u.length,"Term",t,"contains more than one item"),o[t]=u[0])}return a.validate(i.$_root,o),o},a.describe=function(e,n={}){if(Array.isArray(e))return e.map(a.describe);if(e===r.symbols.deepDefault)return{special:"deep"};if("object"!=typeof e||null===e)return e;if("options"===n.assign)return t(e);if(Buffer&&Buffer.isBuffer(e))return{buffer:e.toString("binary")};if(e instanceof Date)return e.toISOString();if(e instanceof Error)return e;if(e instanceof RegExp)return"regex"===n.assign?e.toString():{regex:e.toString()};if(e[r.symbols.literal])return{function:e.literal};if("function"==typeof e.describe)return"ref"===n.assign?e.describe().ref:e.describe();const i={};for(const t in e){const r=e[t];void 0!==r&&(i[t]=a.describe(r,{assign:t}))}return i},ma.build=function(e,t){return new a.Builder(e).parse(t)},a.Builder=class{constructor(e){this.joi=e}parse(t){a.validate(this.joi,t);let r=this.joi[t.type]()._bare();const n=r._definition;if(t.flags)for(const i in t.flags){const s=n.flags[i]&&n.flags[i].setter||i;e("function"==typeof r[s],"Invalid flag",i,"for type",t.type),r=r[s](this.build(t.flags[i]))}if(t.preferences&&(r=r.preferences(this.build(t.preferences))),t.allow&&(r=r.allow(...this.build(t.allow))),t.invalid&&(r=r.invalid(...this.build(t.invalid))),t.rules)for(const i of t.rules){e("function"==typeof r[i.name],"Invalid rule",i.name,"for type",t.type);const s=[];if(i.args){const r={};for(const e in i.args)r[e]=this.build(i.args[e],{assign:e});const o=Object.keys(r),a=n.rules[i.name].args;if(a){e(o.length<=a.length,"Invalid number of arguments for",t.type,i.name,"(expected up to",a.length,", found",o.length,")");for(const{name:e}of a)s.push(r[e])}else e(1===o.length,"Invalid number of arguments for",t.type,i.name,"(expected up to 1, found",o.length,")"),s.push(r[o[0]])}r=r[i.name](...s);const o={};for(const e in n.modifiers)void 0!==i[e]&&(o[e]=this.build(i[e]));Object.keys(o).length&&(r=r.rule(o))}const i={};for(const r in t){if(["allow","flags","invalid","whens","preferences","rules","type"].includes(r))continue;e(n.terms[r],"Term",r,"missing configuration");const s=n.terms[r].manifest;if("schema"!==s)if("values"!==s)if("single"!==s)if("object"!=typeof s)i[r]=this.build(t[r]);else{i[r]={};for(const e in t[r]){const n=t[r][e];i[r][e]=this.parse(n)}}else i[r]=this.build(t[r]);else i[r]=t[r].map((e=>this.build(e)));else i[r]=t[r].map((e=>this.parse(e)))}return t.whens&&(i.whens=t.whens.map((e=>this.build(e)))),r=n.manifest.build(r,i),r.$_temp.ruleset=!1,r}build(n,o={}){if(null===n)return null;if(Array.isArray(n))return n.map((e=>this.build(e)));if(n instanceof Error)return n;if("options"===o.assign)return t(n);if("regex"===o.assign)return a.regex(n);if("ref"===o.assign)return i.build(n);if("object"!=typeof n)return n;if(1===Object.keys(n).length){if(n.buffer)return e(Buffer,"Buffers are not supported"),Buffer&&Buffer.from(n.buffer,"binary");if(n.function)return{[r.symbols.literal]:!0,literal:n.function};if(n.override)return r.symbols.override;if(n.ref)return i.build(n.ref);if(n.regex)return a.regex(n.regex);if(n.special)return e(["deep"].includes(n.special),"Unknown special value",n.special),r.symbols.deepDefault;if(n.value)return t(n.value)}if(n.type)return this.parse(n);if(n.template)return s.build(n);const c={};for(const e in n)c[e]=this.build(n[e],{assign:e});return c}},a.regex=function(e){const t=e.lastIndexOf("/"),r=e.slice(1,t),n=e.slice(t+1);return new RegExp(r,n)},a.validate=function(e,t){o=o||Uo(),e.assert(t,o.description)},ma}var ga,_a={};function va(){if(ga)return _a;ga=1;const e=tn,t=rn,r=Xo(),n={codes:{error:1,pass:2,full:3},labels:{0:"never used",1:"always error",2:"always pass"}};return _a.setup=function(e){const t=function(){return e._tracer=e._tracer||new n.Tracer,e._tracer};e.trace=t,e[Symbol.for("@hapi/lab/coverage/initialize")]=t,e.untrace=()=>{e._tracer=null}},_a.location=function(e){return e.$_setFlag("_tracerLocation",t.location(2))},n.Tracer=class{constructor(){this.name="Joi",this._schemas=new Map}_register(e){const r=this._schemas.get(e);if(r)return r.store;const i=new n.Store(e),{filename:s,line:o}=e._flags._tracerLocation||t.location(5);return this._schemas.set(e,{filename:s,line:o,store:i}),i}_combine(e,t){for(const{store:r}of this._schemas.values())r._combine(e,t)}report(e){const t=[];for(const{filename:r,line:i,store:s}of this._schemas.values()){if(e&&e!==r)continue;const o=[],a=[];for(const[e,t]of s._sources.entries()){if(n.sub(t.paths,a))continue;if(!t.entry){o.push({status:"never reached",paths:[...t.paths]}),a.push(...t.paths);continue}for(const r of["valid","invalid"]){const n=e[`_${r}s`];if(!n)continue;const i=new Set(n._values),s=new Set(n._refs);for(const{value:e,ref:n}of t[r])i.delete(e),s.delete(n);(i.size||s.size)&&o.push({status:[...i,...[...s].map((e=>e.display))],rule:`${r}s`})}const r=e._rules.map((e=>e.name));for(const t of["default","failover"])void 0!==e._flags[t]&&r.push(t);for(const e of r){const r=n.labels[t.rule[e]||0];if(r){const n={rule:e,status:r};t.paths.size&&(n.paths=[...t.paths]),o.push(n)}}}o.length&&t.push({filename:r,line:i,missing:o,severity:"error",message:`Schema missing tests for ${o.map(n.message).join(", ")}`})}return t.length?t:null}},n.Store=class{constructor(e){this.active=!0,this._sources=new Map,this._combos=new Map,this._scan(e)}debug(e,t,r,n){e.mainstay.debug&&e.mainstay.debug.push({type:t,name:r,result:n,path:e.path})}entry(e,t){n.debug(t,{type:"entry"}),this._record(e,(e=>{e.entry=!0}))}filter(e,t,r,i){n.debug(t,{type:r,...i}),this._record(e,(e=>{e[r].add(i)}))}log(e,t,r,i,s){n.debug(t,{type:r,name:i,result:"full"===s?"pass":s}),this._record(e,(e=>{e[r][i]=e[r][i]||0,e[r][i]|=n.codes[s]}))}resolve(e,t,r){if(!e.mainstay.debug)return;const n={type:"resolve",ref:t.display,to:r,path:e.path};e.mainstay.debug.push(n)}value(t,r,n,i,s){if(!t.mainstay.debug||e(n,i))return;const o={type:"value",by:r,from:n,to:i,path:t.path};s&&(o.name=s),t.mainstay.debug.push(o)}_record(e,t){const r=this._sources.get(e);if(r)return void t(r);const n=this._combos.get(e);for(const e of n)this._record(e,t)}_scan(e,t){const r=t||[];let i=this._sources.get(e);i||(i={paths:new Set,entry:!1,rule:{},valid:new Set,invalid:new Set},this._sources.set(e,i)),r.length&&i.paths.add(r);e.$_modify({each:(e,t)=>{const i=n.id(e,t);this._scan(e,r.concat(i))},ref:!1})}_combine(e,t){this._combos.set(e,t)}},n.message=function(e){return`${e.paths?r.path(e.paths[0])+(e.rule?":":""):""}${e.rule||""} (${e.status})`},n.id=function(e,{source:t,name:r,path:n,key:i}){return e._flags.id?e._flags.id:i||(r=`@${r}`,"terms"===t?[r,n[Math.min(n.length-1,1)]]:r)},n.sub=function(t,r){for(const n of t)for(const t of r)if(e(n.slice(0,t.length),t))return!0;return!1},n.debug=function(e,t){e.mainstay.debug&&(t.path=e.debug?[...e.path,e.debug]:e.path,e.mainstay.debug.push(t))},_a}var ba,wa={};var Sa,Ea,ka,Aa,Oa,Ca,Ta,Ra,Ia,xa,ja,Pa,Na,$a,Ma,Da,La,Ba,Ka,Fa,Ua,Wa,Ja,Ha,Ga,za,Va,qa,Xa,Ya,Za,Qa,ec,tc,rc,nc={};function ic(){return ka||(ka=1,function(e){const t=Lr,r=qr,n=ln,i=Fr,s=oa(),o=Xo(),a=function(){if(Ea)return Sa;Ea=1;const e=qr,t=Fr,r=oa(),n={value:Symbol("value")};return Sa=n.State=class{constructor(e,t,r){this.path=e,this.ancestors=t,this.mainstay=r.mainstay,this.schemas=r.schemas,this.debug=null}localize(e,t=null,r=null){const i=new n.State(e,t,this);return r&&i.schemas&&(i.schemas=[n.schemas(r),...i.schemas]),i}nest(e,t){const r=new n.State(this.path,this.ancestors,this);return r.schemas=r.schemas&&[n.schemas(e),...r.schemas],r.debug=t,r}shadow(e,t){this.mainstay.shadow=this.mainstay.shadow||new n.Shadow,this.mainstay.shadow.set(this.path,e,t)}snapshot(){this.mainstay.shadow&&(this._snapshot=e(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}},n.schemas=function(e){return r.isSchema(e)?{schema:e}:e},n.Shadow=class{constructor(){this._values=null}set(e,t,r){if(!e.length)return;if("strip"===r&&"number"==typeof e[e.length-1])return;this._values=this._values||new Map;let i=this._values;for(let t=0;t(f||a.schema).$_createError(e,m,t,a.state,n),i=await a.method(m,{schema:a.schema,linked:f,state:a.state,prefs:r,original:g,error:e,errorsArray:c.errorsArray,warn:(e,t)=>l.warnings.push((f||a.schema).$_createError(e,m,t,a.state,n)),message:(e,t)=>(f||a.schema).$_createError("external",m,t,a.state,n,{messages:e})});if(void 0===i||i===m)continue;if(i instanceof o.Report){if(l.tracer.log(a.schema,a.state,"rule","external","error"),u.push(i),n.abortEarly)break;continue}if(Array.isArray(i)&&i[s.symbols.errors]){if(l.tracer.log(a.schema,a.state,"rule","external","error"),u.push(...i),n.abortEarly)break;continue}h?(l.tracer.value(a.state,"rule",m,i,"external"),h[p]=i):(l.tracer.value(a.state,"rule",t,i,"external"),t=i)}catch(e){throw n.errors.label&&(e.message+=` (${a.label})`),e}}if(a.value=t,u.length)throw a.error=o.process(u,e,n),l.debug&&(a.error.debug=l.debug),a.error}if(!n.warnings&&!n.debug&&!n.artifacts)return a.value;const u={value:a.value};return l.warnings.length&&(u.warning=o.details(l.warnings)),l.debug&&(u.debug=l.debug),l.artifacts&&(u.artifacts=l.artifacts),u},c.Mainstay=class{constructor(e,t,r){this.externals=[],this.warnings=[],this.tracer=e,this.debug=t,this.links=r,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){const e=this._snapshots.pop();this.externals=e.externals,this.warnings=e.warnings}commit(){this._snapshots.pop()}},c.entry=function(t,r,n){const{tracer:i,cleanup:s}=c.tracer(r,n),l=n.debug?[]:null,u=r._ids._schemaChain?new Map:null,d=new c.Mainstay(i,l,u),f=r._ids._schemaChain?[{schema:r}]:null,p=new a([],[],{mainstay:d,schemas:f}),h=e.validate(t,r,p,n);s&&r.$_root.untrace();const m=o.process(h.errors,t,n);return{value:h.value,error:m,mainstay:d}},c.tracer=function(e,r){return e.$_root._tracer?{tracer:e.$_root._tracer._register(e)}:r.debug?(t(e.$_root.trace,"Debug mode not supported"),{tracer:e.$_root.trace()._register(e),cleanup:!0}):{tracer:c.ignore}},e.validate=function(e,t,r,n,i={}){if(t.$_terms.whens&&(t=t._generate(e,r,n).schema),t._preferences&&(n=c.prefs(t,n)),t._cache&&n.cache){const n=t._cache.get(e);if(r.mainstay.tracer.debug(r,"validate","cached",!!n),n)return n}const o=(i,s,o)=>t.$_createError(i,e,s,o||r,n),a={original:e,prefs:n,schema:t,state:r,error:o,errorsArray:c.errorsArray,warn:(e,t,n)=>r.mainstay.warnings.push(o(e,t,n)),message:(i,s)=>t.$_createError("custom",e,s,r,n,{messages:i})};r.mainstay.tracer.entry(t,r);const l=t._definition;if(l.prepare&&void 0!==e&&n.convert){const t=l.prepare(e,a);if(t){if(r.mainstay.tracer.value(r,"prepare",e,t.value),t.errors)return c.finalize(t.value,[].concat(t.errors),a);e=t.value}}if(l.coerce&&void 0!==e&&n.convert&&(!l.coerce.from||l.coerce.from.includes(typeof e))){const t=l.coerce.method(e,a);if(t){if(r.mainstay.tracer.value(r,"coerced",e,t.value),t.errors)return c.finalize(t.value,[].concat(t.errors),a);e=t.value}}const u=t._flags.empty;u&&u.$_match(c.trim(e,t),r.nest(u),s.defaults)&&(r.mainstay.tracer.value(r,"empty",e,void 0),e=void 0);const d=i.presence||t._flags.presence||(t._flags._endedSwitch?null:n.presence);if(void 0===e){if("forbidden"===d)return c.finalize(e,null,a);if("required"===d)return c.finalize(e,[t.$_createError("any.required",e,null,r,n)],a);if("optional"===d){if(t._flags.default!==s.symbols.deepDefault)return c.finalize(e,null,a);r.mainstay.tracer.value(r,"default",e,{}),e={}}}else if("forbidden"===d)return c.finalize(e,[t.$_createError("any.unknown",e,null,r,n)],a);const f=[];if(t._valids){const i=t._valids.get(e,r,n,t._flags.insensitive);if(i)return n.convert&&(r.mainstay.tracer.value(r,"valids",e,i.value),e=i.value),r.mainstay.tracer.filter(t,r,"valid",i),c.finalize(e,null,a);if(t._flags.only){const i=t.$_createError("any.only",e,{valids:t._valids.values({display:!0})},r,n);if(n.abortEarly)return c.finalize(e,[i],a);f.push(i)}}if(t._invalids){const i=t._invalids.get(e,r,n,t._flags.insensitive);if(i){r.mainstay.tracer.filter(t,r,"invalid",i);const s=t.$_createError("any.invalid",e,{invalids:t._invalids.values({display:!0})},r,n);if(n.abortEarly)return c.finalize(e,[s],a);f.push(s)}}if(l.validate){const t=l.validate(e,a);if(t&&(r.mainstay.tracer.value(r,"base",e,t.value),e=t.value,t.errors)){if(!Array.isArray(t.errors))return f.push(t.errors),c.finalize(e,f,a);if(t.errors.length)return f.push(...t.errors),c.finalize(e,f,a)}}return t._rules.length?c.rules(e,f,a):c.finalize(e,f,a)},c.rules=function(e,t,r){const{schema:n,state:i,prefs:o}=r;for(const a of n._rules){const l=n._definition.rules[a.method];if(l.convert&&o.convert){i.mainstay.tracer.log(n,i,"rule",a.name,"full");continue}let u,d=a.args;if(a._resolve.length){d=Object.assign({},d);for(const t of a._resolve){const r=l.argsByName.get(t),a=d[t].resolve(e,i,o),c=r.normalize?r.normalize(a):a,f=s.validateArg(c,null,r);if(f){u=n.$_createError("any.ref",a,{arg:t,ref:d[t],reason:f},i,o);break}d[t]=c}}u=u||l.validate(e,r,d,a);const f=c.rule(u,a);if(f.errors){if(i.mainstay.tracer.log(n,i,"rule",a.name,"error"),a.warn){i.mainstay.warnings.push(...f.errors);continue}if(o.abortEarly)return c.finalize(e,f.errors,r);t.push(...f.errors)}else i.mainstay.tracer.log(n,i,"rule",a.name,"pass"),i.mainstay.tracer.value(i,"rule",e,f.value,a.name),e=f.value}return c.finalize(e,t,r)},c.rule=function(e,t){return e instanceof o.Report?(c.error(e,t),{errors:[e],value:null}):Array.isArray(e)&&e[s.symbols.errors]?(e.forEach((e=>c.error(e,t))),{errors:e,value:null}):{errors:null,value:e}},c.error=function(e,t){return t.message&&e._setTemplate(t.message),e},c.finalize=function(e,r,n){r=r||[];const{schema:i,state:s,prefs:a}=n;if(r.length){const t=c.default("failover",void 0,r,n);void 0!==t&&(s.mainstay.tracer.value(s,"failover",e,t),e=t,r=[])}if(r.length&&i._flags.error)if("function"==typeof i._flags.error){r=i._flags.error(r),Array.isArray(r)||(r=[r]);for(const e of r)t(e instanceof Error||e instanceof o.Report,"error() must return an Error object")}else r=[i._flags.error];if(void 0===e){const t=c.default("default",e,r,n);s.mainstay.tracer.value(s,"default",e,t),e=t}if(i._flags.cast&&void 0!==e){const t=i._definition.cast[i._flags.cast];if(t.from(e)){const r=t.to(e,n);s.mainstay.tracer.value(s,"cast",e,r,i._flags.cast),e=r}}if(i.$_terms.externals&&a.externals&&!1!==a._externals)for(const{method:e}of i.$_terms.externals)s.mainstay.externals.push({method:e,schema:i,state:s,label:o.label(i._flags,s,a)});const l={value:e,errors:r.length?r:null};return i._flags.result&&(l.value="strip"===i._flags.result?void 0:n.original,s.mainstay.tracer.value(s,i._flags.result,e,l.value),s.shadow(e,i._flags.result)),i._cache&&!1!==a.cache&&!i._refs.length&&i._cache.set(n.original,l),void 0===e||l.errors||void 0===i._flags.artifact||(s.mainstay.artifacts=s.mainstay.artifacts||new Map,s.mainstay.artifacts.has(i._flags.artifact)||s.mainstay.artifacts.set(i._flags.artifact,[]),s.mainstay.artifacts.get(i._flags.artifact).push(s.path)),l},c.prefs=function(e,t){const r=t===s.defaults;return r&&e._preferences[s.symbols.prefs]?e._preferences[s.symbols.prefs]:(t=s.preferences(t,e._preferences),r&&(e._preferences[s.symbols.prefs]=t),t)},c.default=function(e,t,n,i){const{schema:o,state:a,prefs:c}=i,l=o._flags[e];if(c.noDefaults||void 0===l)return t;if(a.mainstay.tracer.log(o,a,"rule",e,"full"),!l)return l;if("function"==typeof l){const t=l.length?[r(a.ancestors[0]),i]:[];try{return l(...t)}catch(t){return void n.push(o.$_createError(`any.${e}`,null,{error:t},a,c))}}return"object"!=typeof l?l:l[s.symbols.literal]?l.literal:s.isResolvable(l)?l.resolve(t,a,c):r(l)},c.trim=function(e,t){if("string"!=typeof e)return e;const r=t.$_getRule("trim");return r&&r.args.enabled?e.trim():e},c.ignore={active:!1,debug:n,entry:n,filter:n,log:n,resolve:n,value:n},c.errorsArray=function(){const e=[];return e[s.symbols.errors]=!0,e}}(nc)),nc}function sc(){if(Oa)return Aa;Oa=1;const e=Lr,t=tn,r=oa(),n={};return Aa=n.Values=class{constructor(e,t){this._values=new Set(e),this._refs=new Set(t),this._lowercase=n.lowercases(e),this._override=!1}get length(){return this._values.size+this._refs.size}add(e,t){r.isResolvable(e)?this._refs.has(e)||(this._refs.add(e),t&&t.register(e)):this.has(e,null,null,!1)||(this._values.add(e),"string"==typeof e&&this._lowercase.set(e.toLowerCase(),e))}static merge(e,t,r){if(e=e||new n.Values,t){if(t._override)return t.clone();for(const r of[...t._values,...t._refs])e.add(r)}if(r)for(const t of[...r._values,...r._refs])e.remove(t);return e.length?e:null}remove(e){r.isResolvable(e)?this._refs.delete(e):(this._values.delete(e),"string"==typeof e&&this._lowercase.delete(e.toLowerCase()))}has(e,t,r,n){return!!this.get(e,t,r,n)}get(e,r,n,i){if(!this.length)return!1;if(this._values.has(e))return{value:e};if("string"==typeof e&&e&&i){const t=this._lowercase.get(e.toLowerCase());if(t)return{value:t}}if(!this._refs.size&&"object"!=typeof e)return!1;if("object"==typeof e)for(const r of this._values)if(t(r,e))return{value:r};if(r)for(const s of this._refs){const o=s.resolve(e,r,n,null,{in:!0});if(void 0===o)continue;const a=s.in&&"object"==typeof o?Array.isArray(o)?o:Object.keys(o):[o];for(const r of a)if(typeof r==typeof e)if(i&&e&&"string"==typeof e){if(r.toLowerCase()===e.toLowerCase())return{value:r,ref:s}}else if(t(r,e))return{value:r,ref:s}}return!1}override(){this._override=!0}values(e){if(e&&e.display){const e=[];for(const t of[...this._values,...this._refs])void 0!==t&&e.push(t);return e}return Array.from([...this._values,...this._refs])}clone(){const e=new n.Values(this._values,this._refs);return e._override=this._override,e}concat(t){e(!t._override,"Cannot concat override set of values");const r=new n.Values([...this._values,...t._values],[...this._refs,...t._refs]);return r._override=this._override,r}describe(){const e=[];this._override&&e.push({override:!0});for(const t of this._values.values())e.push(t&&"object"==typeof t?{value:t}:t);for(const t of this._refs.values())e.push(t.describe());return e}},n.Values.prototype[r.symbols.values]=!0,n.Values.prototype.slice=n.Values.prototype.clone,n.lowercases=function(e){const t=new Map;if(e)for(const r of e)"string"==typeof r&&t.set(r.toLowerCase(),r);return t},Aa}function oc(){if(Ta)return Ca;Ta=1;const e=Lr,t=qr,r=tn,n=cn,i=aa(),s=oa(),o=ua(),a=Xo(),c=pa(),l=ya(),u=sa(),d=(ba||(ba=1,function(e){const t=Lr,r=oa(),n=na(),i={};e.Ids=i.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){const e=new i.Ids;return e._byId=new Map(this._byId),e._byKey=new Map(this._byKey),e._schemaChain=this._schemaChain,e}concat(e){e._schemaChain&&(this._schemaChain=!0);for(const[r,n]of e._byId.entries())t(!this._byKey.has(r),"Schema id conflicts with existing key:",r),this._byId.set(r,n);for(const[r,n]of e._byKey.entries())t(!this._byId.has(r),"Schema key conflicts with existing id:",r),this._byKey.set(r,n)}fork(e,n,s){const o=this._collect(e);o.push({schema:s});const a=o.shift();let c={id:a.id,schema:n(a.schema)};t(r.isSchema(c.schema),"adjuster function failed to return a joi schema type");for(const e of o)c={id:e.id,schema:i.fork(e.schema,c.id,c.schema)};return c.schema}labels(e,t=[]){const r=e[0],n=this._get(r);if(!n)return[...t,...e].join(".");const i=e.slice(1);return t=[...t,n.schema._flags.label||r],i.length?n.schema._ids.labels(i,t):t.join(".")}reach(e,r=[]){const n=e[0],i=this._get(n);t(i,"Schema does not contain path",[...r,...e].join("."));const s=e.slice(1);return s.length?i.schema._ids.reach(s,[...r,n]):i.schema}register(e,{key:n}={}){if(!e||!r.isSchema(e))return;(e.$_property("schemaChain")||e._ids._schemaChain)&&(this._schemaChain=!0);const i=e._flags.id;if(i){const r=this._byId.get(i);t(!r||r.schema===e,"Cannot add different schemas with the same id:",i),t(!this._byKey.has(i),"Schema id conflicts with existing key:",i),this._byId.set(i,{schema:e,id:i})}n&&(t(!this._byKey.has(n),"Schema already contains key:",n),t(!this._byId.has(n),"Schema key conflicts with existing id:",n),this._byKey.set(n,{schema:e,id:n}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(e,r=[],n=[]){const i=e[0],s=this._get(i);t(s,"Schema does not contain path",[...r,...e].join(".")),n=[s,...n];const o=e.slice(1);return o.length?s.schema._ids._collect(o,[...r,i],n):n}_get(e){return this._byId.get(e)||this._byKey.get(e)}},i.fork=function(t,r,n){const i=e.schema(t,{each:(e,{key:t})=>{if(r===(e._flags.id||t))return n},ref:!1});return i?i.$_mutateRebuild():t},e.schema=function(e,t){let r;for(const n in e._flags){if("_"===n[0])continue;const s=i.scan(e._flags[n],{source:"flags",name:n},t);void 0!==s&&(r=r||e.clone(),r._flags[n]=s)}for(let n=0;nt.keep||t.name!==e)),r._singleRules.delete(e));for(const e of t._rules)t._definition.rules[e.method].multi||r._singleRules.set(e.name,e),r._rules.push(e);if(r._flags.empty&&t._flags.empty){r._flags.empty=r._flags.empty.concat(t._flags.empty);const e=Object.assign({},t._flags);delete e.empty,n(r._flags,e)}else if(t._flags.empty){r._flags.empty=t._flags.empty;const e=Object.assign({},t._flags);delete e.empty,n(r._flags,e)}else n(r._flags,t._flags);for(const e in t.$_terms){const n=t.$_terms[e];n?r.$_terms[e]?r.$_terms[e]=r.$_terms[e].concat(n):r.$_terms[e]=n.slice():r.$_terms[e]||(r.$_terms[e]=n)}return this.$_root._tracer&&this.$_root._tracer._combine(r,[this,t]),r.$_mutateRebuild()}extend(t){return e(!t.base,"Cannot extend type with another base"),c.type(this,t)}extract(e){return e=Array.isArray(e)?e:e.split("."),this._ids.reach(e)}fork(t,r){e(!this._inRuleset(),"Cannot fork inside a ruleset");let n=this;for(let e of[].concat(t))e=Array.isArray(e)?e:e.split("."),n=n._ids.fork(e,r,n);return n.$_temp.ruleset=!1,n}rule(r){const n=this._definition;s.assertOptions(r,Object.keys(n.modifiers)),e(!1!==this.$_temp.ruleset,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");const i=null===this.$_temp.ruleset?this._rules.length-1:this.$_temp.ruleset;e(i>=0&&ie.tailor(t),ref:!1}),r.$_temp.ruleset=!1,r.$_mutateRebuild()}tracer(){return p.location?p.location(this):this}validate(e,t){return h.entry(e,this,t)}validateAsync(e,t){return h.entryAsync(e,this,t)}$_addRule(t){"string"==typeof t&&(t={name:t}),e(t&&"object"==typeof t,"Invalid options"),e(t.name&&"string"==typeof t.name,"Invalid rule name");for(const r in t)e("_"!==r[0],"Cannot set private rule properties");const r=Object.assign({},t);r._resolve=[],r.method=r.method||r.name;const n=this._definition.rules[r.method],i=r.args;e(n,"Unknown rule",r.method);const o=this.clone();if(i){e(1===Object.keys(i).length||Object.keys(i).length===this._definition.rules[r.name].args.length,"Invalid rule definition for",this.type,r.name);for(const t in i){let a=i[t];if(n.argsByName){const c=n.argsByName.get(t);if(c.ref&&s.isResolvable(a))r._resolve.push(t),o.$_mutateRegister(a);else if(c.normalize&&(a=c.normalize(a),i[t]=a),c.assert){const r=s.validateArg(a,t,c);e(!r,r,"or reference")}}void 0!==a?i[t]=a:delete i[t]}}return n.multi||(o._ruleRemove(r.name,{clone:!1}),o._singleRules.set(r.name,r)),!1===o.$_temp.ruleset&&(o.$_temp.ruleset=null),n.priority?o._rules.unshift(r):o._rules.push(r),o}$_compile(e,t){return o.schema(this.$_root,e,t)}$_createError(e,t,r,n,i,s={}){const o=!1!==s.flags?this._flags:{},c=s.messages?u.merge(this._definition.messages,s.messages):this._definition.messages;return new a.Report(e,t,r,o,c,n,i)}$_getFlag(e){return this._flags[e]}$_getRule(e){return this._singleRules.get(e)}$_mapLabels(e){return e=Array.isArray(e)?e:e.split("."),this._ids.labels(e)}$_match(e,t,r,n){(r=Object.assign({},r)).abortEarly=!0,r._externals=!1,t.snapshot();const i=!h.validate(e,this,t,r,n).errors;return t.restore(),i}$_modify(e){return s.assertOptions(e,["each","once","ref","schema"]),d.schema(this,e)||this}$_mutateRebuild(){e(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset();return this.$_modify({each:(e,{source:t,name:r,path:n,key:i})=>{const s=this._definition[t][r]&&this._definition[t][r].register;!1!==s&&this.$_mutateRegister(e,{family:s,key:i})}}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(e,{family:t,key:r}={}){this._refs.register(e,t),this._ids.register(e,{key:r})}$_property(e){return this._definition.properties[e]}$_reach(e){return this._ids.reach(e)}$_rootReferences(){return this._refs.roots()}$_setFlag(t,n,i={}){e("_"===t[0]||!this._inRuleset(),"Cannot set flag inside a ruleset");const s=this._definition.flags[t]||{};if(r(n,s.default)&&(n=void 0),r(n,this._flags[t]))return this;const o=!1!==i.clone?this.clone():this;return void 0!==n?(o._flags[t]=n,o.$_mutateRegister(n)):delete o._flags[t],"_"!==t[0]&&(o.$_temp.ruleset=!1),o}$_parent(e,...t){return this[e][s.symbols.parent].call(this,...t)}$_validate(e,t,r){return h.validate(e,this,t,r)}_assign(e){e.type=this.type,e.$_root=this.$_root,e.$_temp=Object.assign({},this.$_temp),e.$_temp.whens={},e._ids=this._ids.clone(),e._preferences=this._preferences,e._valids=this._valids&&this._valids.clone(),e._invalids=this._invalids&&this._invalids.clone(),e._rules=this._rules.slice(),e._singleRules=t(this._singleRules,{shallow:!0}),e._refs=this._refs.clone(),e._flags=Object.assign({},this._flags),e._cache=null,e.$_terms={};for(const t in this.$_terms)e.$_terms[t]=this.$_terms[t]?this.$_terms[t].slice():null;e.$_super={};for(const t in this.$_super)e.$_super[t]=this._super[t].bind(e);return e}_bare(){const e=this.clone();e._reset();const t=e._definition.terms;for(const r in t){const n=t[r];e.$_terms[r]=n.init}return e.$_mutateRebuild()}_default(t,r,n={}){s.assertOptions(n,"literal"),e(void 0!==r,"Missing",t,"value"),e("function"==typeof r||!n.literal,"Only function value supports literal option"),"function"==typeof r&&n.literal&&(r={[s.symbols.literal]:!0,literal:r});return this.$_setFlag(t,r)}_generate(e,t,r){if(!this.$_terms.whens)return{schema:this};const n=[],i=[];for(let s=0;sl)break}const s=i.join(", ");if(t.mainstay.tracer.debug(t,"rule","when",s),!s)return{schema:this};if(!t.mainstay.tracer.active&&this.$_temp.whens[s])return{schema:this.$_temp.whens[s],id:s};let o=this;this._definition.generate&&(o=this._definition.generate(this,e,t,r));for(const e of n)o=o.concat(e);return this.$_root._tracer&&this.$_root._tracer._combine(o,[this,...n]),this.$_temp.whens[s]=o,{schema:o,id:s}}_inner(t,r,n={}){e(!this._inRuleset(),`Cannot set ${t} inside a ruleset`);const i=this.clone();return i.$_terms[t]&&!n.override||(i.$_terms[t]=[]),n.single?i.$_terms[t].push(r):i.$_terms[t].push(...r),i.$_temp.ruleset=!1,i}_inRuleset(){return null!==this.$_temp.ruleset&&!1!==this.$_temp.ruleset}_ruleRemove(e,t={}){if(!this._singleRules.has(e))return this;const r=!1!==t.clone?this.clone():this;r._singleRules.delete(e);const n=[];for(let t=0;tt.error(r,n),args:["code","local"],multi:!0}},modifiers:{keep(e,t=!0){e.keep=t},message(e,t){e.message=n.compile(t)},warn(e,t=!0){e.warn=t}},manifest:{build(e,t){for(const r in t){const n=t[r];if(["examples","externals","metas","notes","tags"].includes(r))for(const t of n)e=e[r.slice(0,-1)](t);else if("alterations"!==r)if("whens"!==r){if("shared"===r)for(const t of n)e=e.shared(t)}else for(const t of n){const{ref:r,is:n,not:i,then:s,otherwise:o,concat:a}=t;e=a?e.concat(a):r?e.when(r,{is:n,not:i,then:s,otherwise:o,switch:t.switch,break:t.break}):e.when(n,{then:s,otherwise:o,break:t.break})}else{const t={};for(const{target:e,adjuster:r}of n)t[e]=r;e=e.alter(t)}}return e}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}}),Ra}function cc(){if(ja)return xa;ja=1;const e=Lr,t=cn,r=ac(),n=oa(),i=ua(),s=Xo(),o=na(),a={};return xa=r.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:o.toSibling}},args:(e,...t)=>1===t.length&&Array.isArray(t[0])?e.try(...t[0]):e.try(...t),validate(e,r){const{schema:n,error:i,state:o,prefs:c}=r;if(n._flags.match){const r=[],a=[];for(let t=0;ts.details(e,{override:!1})))};return{errors:i("alternatives.any",e)}}if("one"===n._flags.match)return 1===r.length?{value:r[0]}:{errors:i("alternatives.one")};if(r.length!==n.$_terms.matches.length){const e={details:a.map((e=>s.details(e,{override:!1})))};return{errors:i("alternatives.all",e)}}const l=e=>e.$_terms.matches.some((e=>"object"===e.schema.type||"alternatives"===e.schema.type&&l(e.schema)));return l(n)?{value:r.reduce(((e,r)=>t(e,r,{mergeArrays:!1})))}:{value:r[r.length-1]}}const l=[];for(let t=0;t"is"!==r.path[0]&&"string"!=typeof t._flags.label?t.label(e):void 0,ref:!1})}},rebuild(e){e.$_modify({each:t=>{n.isSchema(t)&&"array"===t.type&&e.$_setFlag("_arrayItems",!0,{clone:!1})}})},manifest:{build(e,t){if(t.matches)for(const r of t.matches){const{schema:t,ref:n,is:i,not:s,then:o,otherwise:a}=r;e=t?e.try(t):n?e.conditional(n,{is:i,then:o,not:s,otherwise:a,switch:r.switch}):e.conditional(i,{then:o,otherwise:a})}return e}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}}),a.errors=function(e,{error:t,state:r}){if(!e.length)return{errors:t("alternatives.any")};if(1===e.length)return{errors:e[0].reports};const n=new Set,i=[];for(const{reports:o,schema:c}of e){if(o.length>1)return a.unmatched(e,t);const l=o[0];if(l instanceof s.Report==!1)return a.unmatched(e,t);if(l.state.path.length!==r.path.length){i.push({type:c.type,report:l});continue}if("any.only"===l.code){for(const e of l.local.valids)n.add(e);continue}const[u,d]=l.code.split(".");"base"===d?n.add(u):i.push({type:c.type,report:l})}return i.length?1===i.length?{errors:i[0].report}:a.unmatched(e,t):{errors:t("alternatives.types",{types:[...n]})}},a.unmatched=function(e,t){const r=[];for(const t of e)r.push(...t.reports);return{errors:t("alternatives.match",s.details(r,{override:!1}))}},xa}function lc(){if(Na)return Pa;Na=1;const e=Lr,t=tn,r=Fr,n=ac(),i=oa(),s=ua(),o={};return Pa=n.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(e,{schema:t,state:r,prefs:n}){if(!Array.isArray(e))return;const i=t.$_getRule("sort");return i?o.sort(t,e,i.args.options,r,n):void 0}},validate(e,{schema:t,error:r}){if(!Array.isArray(e)){if(t._flags.single){const t=[e];return t[i.symbols.arraySingle]=!0,{value:t}}return{errors:r("array.base")}}if(t.$_getRule("items")||t.$_terms.externals)return{value:e.slice()}},rules:{has:{method(e){e=this.$_compile(e,{appendPath:!0});const t=this.$_addRule({name:"has",args:{schema:e}});return t.$_mutateRegister(e),t},validate(e,{state:t,prefs:r,error:n},{schema:i}){const s=[e,...t.ancestors];for(let n=0;nthis.$_compile(e[r])),r,{append:!0});t.$_terms.items.push(n)}return t.$_mutateRebuild()},validate(e,{schema:t,error:r,state:n,prefs:s,errorsArray:a}){const c=t.$_terms._requireds.slice(),l=t.$_terms.ordered.slice(),u=[...t.$_terms._inclusions,...c],d=!e[i.symbols.arraySingle];delete e[i.symbols.arraySingle];const f=a();let p=e.length;for(let i=0;i="})}},ordered:{method(...e){i.verifyFlat(e,"ordered");const t=this.$_addRule("items");for(let r=0;rthis.$_compile(e[r])),r,{append:!0});o.validateSingle(n,t),t.$_mutateRegister(n),t.$_terms.ordered.push(n)}return t.$_mutateRebuild()}},single:{method(t){const r=void 0===t||!!t;return e(!r||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",r)}},sort:{method(t={}){i.assertOptions(t,["by","order"]);const r={order:t.order||"ascending"};return t.by&&(r.by=s.ref(t.by,{ancestor:0}),e(!r.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:r}})},validate(e,{error:t,state:r,prefs:n,schema:i},{options:s}){const{value:a,errors:c}=o.sort(i,e,s,r,n);if(c)return c;for(let r=0;rnew Set(e)}},rebuild(e){e.$_terms._inclusions=[],e.$_terms._exclusions=[],e.$_terms._requireds=[];for(const t of e.$_terms.items)o.validateSingle(t,e),"required"===t._flags.presence?e.$_terms._requireds.push(t):"forbidden"===t._flags.presence?e.$_terms._exclusions.push(t):e.$_terms._inclusions.push(t);for(const t of e.$_terms.ordered)o.validateSingle(t,e)},manifest:{build:(e,t)=>(t.items&&(e=e.items(...t.items)),t.ordered&&(e=e.ordered(...t.ordered)),e)},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}}),o.fillMissedErrors=function(e,t,r,n,i,s){const o=[];let a=0;for(const e of r){const t=e._flags.label;t?o.push(t):++a}o.length?a?t.push(e.$_createError("array.includesRequiredBoth",n,{knownMisses:o,unknownMisses:a},i,s)):t.push(e.$_createError("array.includesRequiredKnowns",n,{knownMisses:o},i,s)):t.push(e.$_createError("array.includesRequiredUnknowns",n,{unknownMisses:a},i,s))},o.fillOrderedErrors=function(e,t,r,n,i,s){const a=[];for(const e of r)"required"===e._flags.presence&&a.push(e);a.length&&o.fillMissedErrors(e,t,a,n,i,s)},o.fillDefault=function(e,t,r,n){const i=[];let s=!0;for(let o=e.length-1;o>=0;--o){const a=e[o],c=[t,...r.ancestors],l=a.$_validate(void 0,r.localize(r.path,c,a),n).value;if(s){if(void 0===l)continue;s=!1}i.unshift(l)}i.length&&t.push(...i)},o.fastSplice=function(e,t){let r=t;for(;r{let d=o.compare(l,u,a,c);if(null!==d)return d;if(r.by&&(l=r.by.resolve(l,n,i),u=r.by.resolve(u,n,i)),d=o.compare(l,u,a,c),null!==d)return d;const f=typeof l;if(f!==typeof u)throw e.$_createError("array.sort.mismatching",t,null,n,i);if("number"!==f&&"string"!==f)throw e.$_createError("array.sort.unsupported",t,{type:f},n,i);return"number"===f?(l-u)*s:le?1:0},string:{from:i.isBool,to:(e,t)=>e?"true":"false"}},manifest:{build:(e,t)=>(t.truthy&&(e=e.truthy(...t.truthy)),t.falsy&&(e=e.falsy(...t.falsy)),e)},messages:{"boolean.base":"{{#label}} must be a boolean"}}),$a}function dc(){if(La)return Da;La=1;const e=Lr,t=ac(),r=oa(),n=ia(),i={isDate:function(e){return e instanceof Date}};return Da=t.extend({type:"date",coerce:{from:["number","string"],method:(e,{schema:t})=>({value:i.parse(e,t._flags.format)||e})},validate(e,{schema:t,error:r,prefs:n}){if(e instanceof Date&&!isNaN(e.getTime()))return;const i=t._flags.format;return n.convert&&i&&"string"==typeof e?{value:e,errors:r("date.format",{format:i})}:{value:e,errors:r("date.base")}},rules:{compare:{method:!1,validate(e,t,{date:n},{name:i,operator:s,args:o}){const a="now"===n?Date.now():n.getTime();return r.compare(e.getTime(),a,s)?e:t.error("date."+i,{limit:o.date,value:e})},args:[{name:"date",ref:!0,normalize:e=>"now"===e?e:i.parse(e),assert:e=>null!==e,message:"must have a valid date format"}]},format:{method(t){return e(["iso","javascript","unix"].includes(t),"Unknown date format",t),this.$_setFlag("format",t)}},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{date:e},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{date:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{date:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{date:e},operator:">="})}},timestamp:{method(t="javascript"){return e(["javascript","unix"].includes(t),'"type" must be one of "javascript, unix"'),this.format(t)}}},cast:{number:{from:i.isDate,to:(e,t)=>e.getTime()},string:{from:i.isDate,to:(e,{prefs:t})=>n.date(e,t)}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}}),i.parse=function(e,t){if(e instanceof Date)return e;if("string"!=typeof e&&(isNaN(e)||!isFinite(e)))return null;if(/^\s*$/.test(e))return null;if("iso"===t)return r.isIsoDate(e)?i.date(e.toString()):null;const n=e;if("string"==typeof e&&/^[+-]?\d+(\.\d+)?$/.test(e)&&(e=parseFloat(e)),t){if("javascript"===t)return i.date(1*e);if("unix"===t)return i.date(1e3*e);if("string"==typeof n)return null}return i.date(e)},i.date=function(e){const t=new Date(e);return isNaN(t.getTime())?null:t},Da}function fc(){if(Ka)return Ba;Ka=1;const e=mn,t=Lr,r=qr,n=yn,i=ac(),s=oa(),o=ua(),a=Xo(),c=na(),l=ia(),u={renameDefaults:{alias:!1,multiple:!1,override:!1}};return Ba=i.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:!1}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args:(e,t)=>e.keys(t),validate(e,{schema:t,error:r,state:n,prefs:i}){if(!e||typeof e!==t.$_property("typeof")||Array.isArray(e))return{value:e,errors:r("object.base",{type:t.$_property("typeof")})};if(!(t.$_terms.renames||t.$_terms.dependencies||t.$_terms.keys||t.$_terms.patterns||t.$_terms.externals))return;e=u.clone(e,i);const s=[];if(t.$_terms.renames&&!u.rename(t,e,n,i,s))return{value:e,errors:s};if(!t.$_terms.keys&&!t.$_terms.patterns&&!t.$_terms.dependencies)return{value:e,errors:s};const o=new Set(Object.keys(e));if(t.$_terms.keys){const r=[e,...n.ancestors];for(const a of t.$_terms.keys){const t=a.key,c=e[t];o.delete(t);const l=n.localize([...n.path,t],r,a),u=a.schema.$_validate(c,l,i);if(u.errors){if(i.abortEarly)return{value:e,errors:u.errors};void 0!==u.value&&(e[t]=u.value),s.push(...u.errors)}else"strip"===a.schema._flags.result||void 0===u.value&&void 0!==c?delete e[t]:void 0!==u.value&&(e[t]=u.value)}}if(o.size||t._flags._hasPatternMatch){const r=u.unknown(t,e,o,s,n,i);if(r)return r}if(t.$_terms.dependencies)for(const r of t.$_terms.dependencies){if(null!==r.key&&!1===u.isPresent(r.options)(r.key.resolve(e,n,i,null,{shadow:!1})))continue;const o=u.dependencies[r.rel](t,r,e,n,i);if(o){const r=t.$_createError(o.code,e,o.context,n,i);if(i.abortEarly)return{value:e,errors:r};s.push(r)}}return{value:e,errors:s}},rules:{and:{method(...e){return s.verifyFlat(e,"and"),u.dependency(this,"and",null,e)}},append:{method(e){return null==e||0===Object.keys(e).length?this:this.keys(e)}},assert:{method(e,r,n){l.isTemplate(e)||(e=o.ref(e)),t(void 0===n||"string"==typeof n,"Message must be a string"),r=this.$_compile(r,{appendPath:!0});const i=this.$_addRule({name:"assert",args:{subject:e,schema:r,message:n}});return i.$_mutateRegister(e),i.$_mutateRegister(r),i},validate(e,{error:t,prefs:r,state:n},{subject:i,schema:s,message:o}){const a=i.resolve(e,n,r),l=c.isRef(i)?i.absolute(n):[];return s.$_match(a,n.localize(l,[e,...n.ancestors],s),r)?e:t("object.assert",{subject:i,message:o})},args:["subject","schema","message"],multi:!0},instance:{method(e,r){return t("function"==typeof e,"constructor must be a function"),r=r||e.name,this.$_addRule({name:"instance",args:{constructor:e,name:r}})},validate:(e,t,{constructor:r,name:n})=>e instanceof r?e:t.error("object.instance",{type:n,value:e}),args:["constructor","name"]},keys:{method(e){t(void 0===e||"object"==typeof e,"Object schema must be a valid object"),t(!s.isSchema(e),"Object schema cannot be a joi schema");const r=this.clone();if(e)if(Object.keys(e).length){r.$_terms.keys=r.$_terms.keys?r.$_terms.keys.filter((t=>!e.hasOwnProperty(t.key))):new u.Keys;for(const t in e)s.tryWithPath((()=>r.$_terms.keys.push({key:t,schema:this.$_compile(e[t])})),t)}else r.$_terms.keys=new u.Keys;else r.$_terms.keys=null;return r.$_mutateRebuild()}},length:{method(e){return this.$_addRule({name:"length",args:{limit:e},operator:"="})},validate:(e,t,{limit:r},{name:n,operator:i,args:o})=>s.compare(Object.keys(e).length,r,i)?e:t.error("object."+n,{limit:o.limit,value:e}),args:[{name:"limit",ref:!0,assert:s.limit,message:"must be a positive integer"}]},max:{method(e){return this.$_addRule({name:"max",method:"length",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"length",args:{limit:e},operator:">="})}},nand:{method(...e){return s.verifyFlat(e,"nand"),u.dependency(this,"nand",null,e)}},or:{method(...e){return s.verifyFlat(e,"or"),u.dependency(this,"or",null,e)}},oxor:{method(...e){return u.dependency(this,"oxor",null,e)}},pattern:{method(e,r,n={}){const i=e instanceof RegExp;i||(e=this.$_compile(e,{appendPath:!0})),t(void 0!==r,"Invalid rule"),s.assertOptions(n,["fallthrough","matches"]),i&&t(!e.flags.includes("g")&&!e.flags.includes("y"),"pattern should not use global or sticky mode"),r=this.$_compile(r,{appendPath:!0});const o=this.clone();o.$_terms.patterns=o.$_terms.patterns||[];const a={[i?"regex":"schema"]:e,rule:r};return n.matches&&(a.matches=this.$_compile(n.matches),"array"!==a.matches.type&&(a.matches=a.matches.$_root.array().items(a.matches)),o.$_mutateRegister(a.matches),o.$_setFlag("_hasPatternMatch",!0,{clone:!1})),n.fallthrough&&(a.fallthrough=!0),o.$_terms.patterns.push(a),o.$_mutateRegister(r),o}},ref:{method(){return this.$_addRule("ref")},validate:(e,t)=>c.isRef(e)?e:t.error("object.refType",{value:e})},regex:{method(){return this.$_addRule("regex")},validate:(e,t)=>e instanceof RegExp?e:t.error("object.regex",{value:e})},rename:{method(r,n,i={}){t("string"==typeof r||r instanceof RegExp,"Rename missing the from argument"),t("string"==typeof n||n instanceof l,"Invalid rename to argument"),t(n!==r,"Cannot rename key to same name:",r),s.assertOptions(i,["alias","ignoreUndefined","override","multiple"]);const o=this.clone();o.$_terms.renames=o.$_terms.renames||[];for(const e of o.$_terms.renames)t(e.from!==r,"Cannot rename the same key multiple times");return n instanceof l&&o.$_mutateRegister(n),o.$_terms.renames.push({from:r,to:n,options:e(u.renameDefaults,i)}),o}},schema:{method(e="any"){return this.$_addRule({name:"schema",args:{type:e}})},validate:(e,t,{type:r})=>!s.isSchema(e)||"any"!==r&&e.type!==r?t.error("object.schema",{type:r}):e},unknown:{method(e){return this.$_setFlag("unknown",!1!==e)}},with:{method(e,t,r={}){return u.dependency(this,"with",e,t,r)}},without:{method(e,t,r={}){return u.dependency(this,"without",e,t,r)}},xor:{method(...e){return s.verifyFlat(e,"xor"),u.dependency(this,"xor",null,e)}}},overrides:{default(e,t){return void 0===e&&(e=s.symbols.deepDefault),this.$_parent("default",e,t)}},rebuild(e){if(e.$_terms.keys){const t=new n.Sorter;for(const r of e.$_terms.keys)s.tryWithPath((()=>t.add(r,{after:r.schema.$_rootReferences(),group:r.key})),r.key);e.$_terms.keys=new u.Keys(...t.nodes)}},manifest:{build(e,t){if(t.keys&&(e=e.keys(t.keys)),t.dependencies)for(const{rel:r,key:n=null,peers:i,options:s}of t.dependencies)e=u.dependency(e,r,n,i,s);if(t.patterns)for(const{regex:r,schema:n,rule:i,fallthrough:s,matches:o}of t.patterns)e=e.pattern(r||n,i,{fallthrough:s,matches:o});if(t.renames)for(const{from:r,to:n,options:i}of t.renames)e=e.rename(r,n,i);return e}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}}),u.clone=function(e,t){if("object"==typeof e){if(t.nonEnumerables)return r(e,{shallow:!0});const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e),n}const n=function(...t){return e.apply(this,t)};return n.prototype=r(e.prototype),Object.defineProperty(n,"name",{value:e.name,writable:!1}),Object.defineProperty(n,"length",{value:e.length,writable:!1}),Object.assign(n,e),n},u.dependency=function(e,r,n,i,a){t(null===n||"string"==typeof n,r,"key must be a strings"),a||(a=i.length>1&&"object"==typeof i[i.length-1]?i.pop():{}),s.assertOptions(a,["separator","isPresent"]),i=[].concat(i);const c=s.default(a.separator,"."),l=[];for(const e of i)t("string"==typeof e,r,"peers must be strings"),l.push(o.ref(e,{separator:c,ancestor:0,prefix:!1}));null!==n&&(n=o.ref(n,{separator:c,ancestor:0,prefix:!1}));const d=e.clone();return d.$_terms.dependencies=d.$_terms.dependencies||[],d.$_terms.dependencies.push(new u.Dependency(r,n,l,i,a)),d},u.dependencies={and(e,t,r,n,i){const s=[],o=[],a=t.peers.length,c=u.isPresent(t.options);for(const e of t.peers)!1===c(e.resolve(r,n,i,null,{shadow:!1}))?s.push(e.key):o.push(e.key);if(s.length!==a&&o.length!==a)return{code:"object.and",context:{present:o,presentWithLabels:u.keysToLabels(e,o),missing:s,missingWithLabels:u.keysToLabels(e,s)}}},nand(e,t,r,n,i){const s=[],o=u.isPresent(t.options);for(const e of t.peers)o(e.resolve(r,n,i,null,{shadow:!1}))&&s.push(e.key);if(s.length!==t.peers.length)return;const a=t.paths[0],c=t.paths.slice(1);return{code:"object.nand",context:{main:a,mainWithLabel:u.keysToLabels(e,a),peers:c,peersWithLabels:u.keysToLabels(e,c)}}},or(e,t,r,n,i){const s=u.isPresent(t.options);for(const e of t.peers)if(s(e.resolve(r,n,i,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:t.paths,peersWithLabels:u.keysToLabels(e,t.paths)}}},oxor(e,t,r,n,i){const s=[],o=u.isPresent(t.options);for(const e of t.peers)o(e.resolve(r,n,i,null,{shadow:!1}))&&s.push(e.key);if(!s.length||1===s.length)return;const a={peers:t.paths,peersWithLabels:u.keysToLabels(e,t.paths)};return a.present=s,a.presentWithLabels=u.keysToLabels(e,s),{code:"object.oxor",context:a}},with(e,t,r,n,i){const s=u.isPresent(t.options);for(const o of t.peers)if(!1===s(o.resolve(r,n,i,null,{shadow:!1})))return{code:"object.with",context:{main:t.key.key,mainWithLabel:u.keysToLabels(e,t.key.key),peer:o.key,peerWithLabel:u.keysToLabels(e,o.key)}}},without(e,t,r,n,i){const s=u.isPresent(t.options);for(const o of t.peers)if(s(o.resolve(r,n,i,null,{shadow:!1})))return{code:"object.without",context:{main:t.key.key,mainWithLabel:u.keysToLabels(e,t.key.key),peer:o.key,peerWithLabel:u.keysToLabels(e,o.key)}}},xor(e,t,r,n,i){const s=[],o=u.isPresent(t.options);for(const e of t.peers)o(e.resolve(r,n,i,null,{shadow:!1}))&&s.push(e.key);if(1===s.length)return;const a={peers:t.paths,peersWithLabels:u.keysToLabels(e,t.paths)};return 0===s.length?{code:"object.missing",context:a}:(a.present=s,a.presentWithLabels=u.keysToLabels(e,s),{code:"object.xor",context:a})}},u.keysToLabels=function(e,t){return Array.isArray(t)?t.map((t=>e.$_mapLabels(t))):e.$_mapLabels(t)},u.isPresent=function(e){return"function"==typeof e.isPresent?e.isPresent:e=>void 0!==e},u.rename=function(e,t,r,n,i){const s={};for(const o of e.$_terms.renames){const a=[],c="string"!=typeof o.from;if(c)for(const e in t){if(void 0===t[e]&&o.options.ignoreUndefined)continue;if(e===o.to)continue;const r=o.from.exec(e);r&&a.push({from:e,to:o.to,match:r})}else!Object.prototype.hasOwnProperty.call(t,o.from)||void 0===t[o.from]&&o.options.ignoreUndefined||a.push(o);for(const u of a){const a=u.from;let d=u.to;if(d instanceof l&&(d=d.render(t,r,n,u.match)),a!==d){if(!o.options.multiple&&s[d]&&(i.push(e.$_createError("object.rename.multiple",t,{from:a,to:d,pattern:c},r,n)),n.abortEarly))return!1;if(Object.prototype.hasOwnProperty.call(t,d)&&!o.options.override&&!s[d]&&(i.push(e.$_createError("object.rename.override",t,{from:a,to:d,pattern:c},r,n)),n.abortEarly))return!1;void 0===t[a]?delete t[d]:t[d]=t[a],s[d]=!0,o.options.alias||delete t[a]}}}return!0},u.unknown=function(e,t,r,n,i,o){if(e.$_terms.patterns){let s=!1;const c=e.$_terms.patterns.map((e=>{if(e.matches)return s=!0,[]})),l=[t,...i.ancestors];for(const s of r){const a=t[s],u=[...i.path,s];for(let d=0;d=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:t}})},validate:(e,t,{n:r})=>e.length===r?e:t.error("function.arity",{n:r})},class:{method(){return this.$_addRule("class")},validate:(e,t)=>/^\s*class\s/.test(e.toString())?e:t.error("function.class",{value:e})},minArity:{method(t){return e(Number.isSafeInteger(t)&&t>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:t}})},validate:(e,t,{n:r})=>e.length>=r?e:t.error("function.minArity",{n:r})},maxArity:{method(t){return e(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:t}})},validate:(e,t,{n:r})=>e.length<=r?e:t.error("function.maxArity",{n:r})}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}}),Fa}function hc(){if(Ja)return Wa;Ja=1;const e=Lr,t=ac(),r=oa(),n=ua(),i=Xo(),s={};return Wa=t.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args:(e,t)=>e.ref(t),validate(t,{schema:r,state:n,prefs:i}){e(r.$_terms.link,"Uninitialized link schema");const o=s.generate(r,t,n,i),a=r.$_terms.link[0].ref;return o.$_validate(t,n.nest(o,`link:${a.display}:${o.type}`),i)},generate:(e,t,r,n)=>s.generate(e,t,r,n),rules:{ref:{method(t){e(!this.$_terms.link,"Cannot reinitialize schema"),t=n.ref(t),e("value"===t.type||"local"===t.type,"Invalid reference type:",t.type),e("local"===t.type||"root"===t.ancestor||t.ancestor>0,"Link cannot reference itself");const r=this.clone();return r.$_terms.link=[{ref:t}],r}},relative:{method(e=!0){return this.$_setFlag("relative",e)}}},overrides:{concat(t){e(this.$_terms.link,"Uninitialized link schema"),e(r.isSchema(t),"Invalid schema object"),e("link"!==t.type,"Cannot merge type link with another link");const n=this.clone();return n.$_terms.whens||(n.$_terms.whens=[]),n.$_terms.whens.push({concat:t}),n.$_mutateRebuild()}},manifest:{build:(t,r)=>(e(r.link,"Invalid link description missing link"),t.ref(r.link))}}),s.generate=function(e,t,r,n){let i=r.mainstay.links.get(e);if(i)return i._generate(t,r,n).schema;const o=e.$_terms.link[0].ref,{perspective:a,path:c}=s.perspective(o,r);s.assert(a,"which is outside of schema boundaries",o,e,r,n);try{i=c.length?a.$_reach(c):a}catch(t){s.assert(!1,"to non-existing schema",o,e,r,n)}return s.assert("link"!==i.type,"which is another link",o,e,r,n),e._flags.relative||r.mainstay.links.set(e,i),i._generate(t,r,n).schema},s.perspective=function(e,t){if("local"===e.type){for(const{schema:r,key:n}of t.schemas){if((r._flags.id||n)===e.path[0])return{perspective:r,path:e.path.slice(1)};if(r.$_terms.shared)for(const t of r.$_terms.shared)if(t._flags.id===e.path[0])return{perspective:t,path:e.path.slice(1)}}return{perspective:null,path:null}}return"root"===e.ancestor?{perspective:t.schemas[t.schemas.length-1].schema,path:e.path}:{perspective:t.schemas[e.ancestor]&&t.schemas[e.ancestor].schema,path:e.path}},s.assert=function(t,r,n,s,o,a){t||e(!1,`"${i.label(s._flags,o,a)}" contains link reference "${n.display}" ${r}`)},Wa}function mc(){if(Ga)return Ha;Ga=1;const e=Lr,t=ac(),r=oa(),n={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(e){const t=e.toString(),r=t.indexOf("."),n=t.indexOf("e");return(r<0?0:(n<0?t.length:n)-r-1)+(n<0?0:Math.max(0,-parseInt(t.slice(n+1))))}};return Ha=t.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(e,{schema:t,error:r}){if(!e.match(n.numberRx))return;e=e.trim();const i={value:parseFloat(e)};if(0===i.value&&(i.value=0),!t._flags.unsafe)if(e.match(/e/i)){if(n.extractSignificantDigits(e)!==n.extractSignificantDigits(String(i.value)))return i.errors=r("number.unsafe"),i}else{const t=i.value.toString();if(t.match(/e/i))return i;if(t!==n.normalizeDecimal(e))return i.errors=r("number.unsafe"),i}return i}},validate(e,{schema:t,error:n,prefs:i}){if(e===1/0||e===-1/0)return{value:e,errors:n("number.infinity")};if(!r.isNumber(e))return{value:e,errors:n("number.base")};const s={value:e};if(i.convert){const e=t.$_getRule("precision");if(e){const t=Math.pow(10,e.args.limit);s.value=Math.round(s.value*t)/t}}return 0===s.value&&(s.value=0),!t._flags.unsafe&&(e>Number.MAX_SAFE_INTEGER||er.compare(e,n,s)?e:t.error("number."+i,{limit:o.limit,value:e}),args:[{name:"limit",ref:!0,assert:r.isNumber,message:"must be a number"}]},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{limit:e},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate:(e,t)=>Math.trunc(e)-e==0?e:t.error("number.integer")},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{limit:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{limit:e},operator:">="})}},multiple:{method(e){const t="number"==typeof e?n.decimalPlaces(e):null,r=Math.pow(10,t);return this.$_addRule({name:"multiple",args:{base:e,baseDecimalPlace:t,pfactor:r}})},validate:(e,t,{base:r,baseDecimalPlace:i,pfactor:s},o)=>n.decimalPlaces(e)>i?t.error("number.multiple",{multiple:o.args.base,value:e}):Math.round(s*e)%Math.round(s*r)==0?e:t.error("number.multiple",{multiple:o.args.base,value:e}),args:[{name:"base",ref:!0,assert:e=>"number"==typeof e&&isFinite(e)&&e>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate:(e,t)=>Number.isSafeInteger(e)&&e>=0&&e<=65535?e:t.error("number.port")},positive:{method(){return this.sign("positive")}},precision:{method(t){return e(Number.isSafeInteger(t),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:t}})},validate(e,t,{limit:r}){const i=e.toString().match(n.precisionRx);return Math.max((i[1]?i[1].length:0)-(i[2]?parseInt(i[2],10):0),0)<=r?e:t.error("number.precision",{limit:r,value:e})},convert:!0},sign:{method(t){return e(["negative","positive"].includes(t),"Invalid sign",t),this.$_addRule({name:"sign",args:{sign:t}})},validate:(e,t,{sign:r})=>"negative"===r&&e<0||"positive"===r&&e>0?e:t.error(`number.${r}`)},unsafe:{method(t=!0){return e("boolean"==typeof t,"enabled must be a boolean"),this.$_setFlag("unsafe",t)}}},cast:{string:{from:e=>"number"==typeof e,to:(e,t)=>e.toString()}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}}),n.extractSignificantDigits=function(e){return e.replace(n.exponentialPartRegex,"").replace(n.dotRegex,"").replace(n.trailingZerosRegex,"").replace(n.leadingSignAndZerosRegex,"")},n.normalizeDecimal=function(e){return(e=e.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2")).includes(".")&&e.endsWith("0")&&(e=e.replace(/0+$/,"")),"-0"===e?"0":e},Ha}function yc(){if(Va)return za;Va=1;const e=fc();return za=e.extend({type:"object",cast:{map:{from:e=>e&&"object"==typeof e,to:(e,t)=>new Map(Object.entries(e))}}})}function gc(){if(Xa)return qa;Xa=1;const e=Lr,t=vn,r=wn,n=An,i=Cn,s=Bn,o=On,a=ac(),c=oa(),l={tlds:s instanceof Set&&{tlds:{allow:s,deny:null}},base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:n.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};return qa=a.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(e,{schema:t,state:r,prefs:n}){const i=t.$_getRule("normalize");i&&(e=e.normalize(i.args.form));const s=t.$_getRule("case");s&&(e="upper"===s.args.direction?e.toLocaleUpperCase():e.toLocaleLowerCase());const o=t.$_getRule("trim");if(o&&o.args.enabled&&(e=e.trim()),t.$_terms.replacements)for(const r of t.$_terms.replacements)e=e.replace(r.pattern,r.replacement);const a=t.$_getRule("hex");if(a&&a.args.options.byteAligned&&e.length%2!=0&&(e=`0${e}`),t.$_getRule("isoDate")){const t=l.isoDate(e);t&&(e=t)}if(t._flags.truncate){const i=t.$_getRule("max");if(i){let s=i.args.limit;if(c.isResolvable(s)&&(s=s.resolve(e,r,n),!c.limit(s)))return{value:e,errors:t.$_createError("any.ref",s,{ref:i.args.limit,arg:"limit",reason:"must be a positive integer"},r,n)};e=e.slice(0,s)}}return{value:e}}},validate(e,{schema:t,error:r}){if("string"!=typeof e)return{value:e,errors:r("string.base")};if(""===e){const n=t.$_getRule("min");if(n&&0===n.args.limit)return;return{value:e,errors:r("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate:(e,t)=>/^[a-zA-Z0-9]+$/.test(e)?e:t.error("string.alphanum")},base64:{method(t={}){return c.assertOptions(t,["paddingRequired","urlSafe"]),t={urlSafe:!1,paddingRequired:!0,...t},e("boolean"==typeof t.paddingRequired,"paddingRequired must be boolean"),e("boolean"==typeof t.urlSafe,"urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:t}})},validate:(e,t,{options:r})=>l.base64Regex[r.paddingRequired][r.urlSafe].test(e)?e:t.error("string.base64")},case:{method(t){return e(["lower","upper"].includes(t),"Invalid case:",t),this.$_addRule({name:"case",args:{direction:t}})},validate:(e,t,{direction:r})=>"lower"===r&&e===e.toLocaleLowerCase()||"upper"===r&&e===e.toLocaleUpperCase()?e:t.error(`string.${r}case`),convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(e,t){let r=e.length,n=0,i=1;for(;r--;){const t=e.charAt(r)*i;n+=t-9*(t>9),i^=3}return n>0&&n%10==0?e:t.error("string.creditCard")}},dataUri:{method(t={}){return c.assertOptions(t,["paddingRequired"]),t={paddingRequired:!0,...t},e("boolean"==typeof t.paddingRequired,"paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:t}})},validate(e,t,{options:r}){const n=e.match(l.dataUriRegex);if(n){if(!n[2])return e;if("base64"!==n[2])return e;if(l.base64Regex[r.paddingRequired].false.test(n[3]))return e}return t.error("string.dataUri")}},domain:{method(e){e&&c.assertOptions(e,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const t=l.addressOptions(e);return this.$_addRule({name:"domain",args:{options:e},address:t})},validate:(e,r,n,{address:i})=>t.isValid(e,i)?e:r.error("string.domain")},email:{method(t={}){c.assertOptions(t,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),e(void 0===t.multiple||"boolean"==typeof t.multiple,"multiple option must be an boolean");const r=l.addressOptions(t),n=new RegExp(`\\s*[${t.separator?i(t.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:t},regex:n,address:r})},validate(e,t,{options:n},{regex:i,address:s}){const o=n.multiple?e.split(i):[e],a=[];for(const e of o)r.isValid(e,s)||a.push(e);return a.length?t.error("string.email",{value:e,invalids:a}):e}},guid:{alias:"uuid",method(t={}){c.assertOptions(t,["version","separator"]);let r="";if(t.version){const n=[].concat(t.version);e(n.length>=1,"version must have at least 1 valid version specified");const i=new Set;for(let t=0;t("optional"===r.prefix?l.hexRegex.withOptionalPrefix:!0===r.prefix?l.hexRegex.withPrefix:l.hexRegex.withoutPrefix).test(e)?r.byteAligned&&e.length%2!=0?t.error("string.hexAlign"):e:t.error("string.hex")},hostname:{method(){return this.$_addRule("hostname")},validate:(e,r)=>t.isValid(e,{minDomainSegments:1})||l.ipRegex.test(e)?e:r.error("string.hostname")},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(e={}){c.assertOptions(e,["cidr","version"]);const{cidr:t,versions:r,regex:i}=n.regex(e),s=e.version?r:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:t,version:s}},regex:i})},validate:(e,t,{options:r},{regex:n})=>n.test(e)?e:r.version?t.error("string.ipVersion",{value:e,cidr:r.cidr,version:r.version}):t.error("string.ip",{value:e,cidr:r.cidr})},isoDate:{method(){return this.$_addRule("isoDate")},validate:(e,{error:t})=>l.isoDate(e)?e:t("string.isoDate")},isoDuration:{method(){return this.$_addRule("isoDuration")},validate:(e,t)=>l.isoDurationRegex.test(e)?e:t.error("string.isoDuration")},length:{method(e,t){return l.length(this,"length",e,"=",t)},validate(e,t,{limit:r,encoding:n},{name:i,operator:s,args:o}){const a=n?Buffer&&Buffer.byteLength(e,n):e.length;return c.compare(a,r,s)?e:t.error("string."+i,{limit:o.limit,value:e,encoding:n})},args:[{name:"limit",ref:!0,assert:c.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(e,t){return l.length(this,"max",e,"<=",t)},args:["limit","encoding"]},min:{method(e,t){return l.length(this,"min",e,">=",t)},args:["limit","encoding"]},normalize:{method(t="NFC"){return e(l.normalizationForms.includes(t),"normalization form must be one of "+l.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:t}})},validate:(e,{error:t},{form:r})=>e===e.normalize(r)?e:t("string.normalize",{value:e,form:r}),convert:!0},pattern:{alias:"regex",method(t,r={}){e(t instanceof RegExp,"regex must be a RegExp"),e(!t.flags.includes("g")&&!t.flags.includes("y"),"regex should not use global or sticky mode"),"string"==typeof r&&(r={name:r}),c.assertOptions(r,["invert","name"]);const n=["string.pattern",r.invert?".invert":"",r.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:t,options:r},errorCode:n})},validate:(e,t,{regex:r,options:n},{errorCode:i})=>r.test(e)^n.invert?e:t.error(i,{name:n.name,regex:r,value:e}),args:["regex","options"],multi:!0},replace:{method(t,r){"string"==typeof t&&(t=new RegExp(i(t),"g")),e(t instanceof RegExp,"pattern must be a RegExp"),e("string"==typeof r,"replacement must be a String");const n=this.clone();return n.$_terms.replacements||(n.$_terms.replacements=[]),n.$_terms.replacements.push({pattern:t,replacement:r}),n}},token:{method(){return this.$_addRule("token")},validate:(e,t)=>/^\w+$/.test(e)?e:t.error("string.token")},trim:{method(t=!0){return e("boolean"==typeof t,"enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:t}})},validate:(e,t,{enabled:r})=>r&&e!==e.trim()?t.error("string.trim"):e,convert:!0},truncate:{method(t=!0){return e("boolean"==typeof t,"enabled must be a boolean"),this.$_setFlag("truncate",t)}},uppercase:{method(){return this.case("upper")}},uri:{method(e={}){c.assertOptions(e,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),e.domain&&c.assertOptions(e.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const{regex:t,scheme:r}=o.regex(e),n=e.domain?l.addressOptions(e.domain):null;return this.$_addRule({name:"uri",args:{options:e},regex:t,domain:n,scheme:r})},validate(e,r,{options:n},{regex:i,domain:s,scheme:o}){if(["http:/","https:/"].includes(e))return r.error("string.uri");let a=i.exec(e);if(!a&&r.prefs.convert&&n.encodeUri){const t=encodeURI(e);a=i.exec(t),a&&(e=t)}if(a){const i=a[1]||a[2];return!s||n.allowRelative&&!i||t.isValid(i,s)?e:r.error("string.domain",{value:i})}return n.relativeOnly?r.error("string.uriRelativeOnly"):n.scheme?r.error("string.uriCustomScheme",{scheme:o,value:e}):r.error("string.uri")}}},manifest:{build(e,t){if(t.replacements)for(const{pattern:r,replacement:n}of t.replacements)e=e.replace(r,n);return e}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}}),l.addressOptions=function(t){if(!t)return l.tlds||t;if(e(void 0===t.minDomainSegments||Number.isSafeInteger(t.minDomainSegments)&&t.minDomainSegments>0,"minDomainSegments must be a positive integer"),e(void 0===t.maxDomainSegments||Number.isSafeInteger(t.maxDomainSegments)&&t.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),!1===t.tlds)return t;if(!0===t.tlds||void 0===t.tlds)return e(l.tlds,"Built-in TLD list disabled"),Object.assign({},t,l.tlds);e("object"==typeof t.tlds,"tlds must be true, false, or an object");const r=t.tlds.deny;if(r)return Array.isArray(r)&&(t=Object.assign({},t,{tlds:{deny:new Set(r)}})),e(t.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),e(!t.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),l.validateTlds(t.tlds.deny,"tlds.deny"),t;const n=t.tlds.allow;return n?!0===n?(e(l.tlds,"Built-in TLD list disabled"),Object.assign({},t,l.tlds)):(Array.isArray(n)&&(t=Object.assign({},t,{tlds:{allow:new Set(n)}})),e(t.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),l.validateTlds(t.tlds.allow,"tlds.allow"),t):t},l.validateTlds=function(r,n){for(const i of r)e(t.isValid(i,{minDomainSegments:1,maxDomainSegments:1}),`${n} must contain valid top level domain names`)},l.isoDate=function(e){if(!c.isIsoDate(e))return null;/.*T.*[+-]\d\d$/.test(e)&&(e+="00");const t=new Date(e);return isNaN(t.getTime())?null:t.toISOString()},l.length=function(t,r,n,i,s){return e(!s||Buffer&&Buffer.isEncoding(s),"Invalid encoding:",s),t.$_addRule({name:r,method:"length",args:{limit:n,encoding:s},operator:i})},qa}function _c(){if(Za)return Ya;Za=1;const e=Lr,t=ac(),r={};return r.Map=class extends Map{slice(){return new r.Map(this)}},Ya=t.extend({type:"symbol",terms:{map:{init:new r.Map}},coerce:{method(e,{schema:t,error:r}){const n=t.$_terms.map.get(e);return n&&(e=n),t._flags.only&&"symbol"!=typeof e?{value:e,errors:r("symbol.map",{map:t.$_terms.map})}:{value:e}}},validate(e,{error:t}){if("symbol"!=typeof e)return{value:e,errors:t("symbol.base")}},rules:{map:{method(t){t&&!t[Symbol.iterator]&&"object"==typeof t&&(t=Object.entries(t)),e(t&&t[Symbol.iterator],"Iterable must be an iterable or object");const r=this.clone(),n=[];for(const i of t){e(i&&i[Symbol.iterator],"Entry must be an iterable");const[t,s]=i;e("object"!=typeof t&&"function"!=typeof t&&"symbol"!=typeof t,"Key must not be of type object, function, or Symbol"),e("symbol"==typeof s,"Value must be a Symbol"),r.$_terms.map.set(t,s),n.push(s)}return r.valid(...n)}}},manifest:{build:(e,t)=>(t.map&&(e=e.map(t.map)),e)},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}}),Ya}function vc(){if(rc)return tc;rc=1;const e=Lr,t=qr,r=aa(),n=oa(),i=ua(),s=Xo(),o=pa(),a=ya(),c=na(),l=ia(),u=va();let d;const f={types:{alternatives:cc(),any:ac(),array:lc(),boolean:uc(),date:dc(),function:pc(),link:hc(),number:mc(),object:yc(),string:gc(),symbol:_c()},aliases:{alt:"alternatives",bool:"boolean",func:"function"}};return Buffer&&(f.types.binary=function(){if(ec)return Qa;ec=1;const e=Lr,t=ac(),r=oa();return Qa=t.extend({type:"binary",coerce:{from:["string","object"],method(e,{schema:t}){if("string"==typeof e||null!==e&&"Buffer"===e.type)try{return{value:Buffer.from(e,t._flags.encoding)}}catch(e){}}},validate(e,{error:t}){if(!Buffer.isBuffer(e))return{value:e,errors:t("binary.base")}},rules:{encoding:{method(t){return e(Buffer.isEncoding(t),"Invalid encoding:",t),this.$_setFlag("encoding",t)}},length:{method(e){return this.$_addRule({name:"length",method:"length",args:{limit:e},operator:"="})},validate:(e,t,{limit:n},{name:i,operator:s,args:o})=>r.compare(e.length,n,s)?e:t.error("binary."+i,{limit:o.limit,value:e}),args:[{name:"limit",ref:!0,assert:r.limit,message:"must be a positive integer"}]},max:{method(e){return this.$_addRule({name:"max",method:"length",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"length",args:{limit:e},operator:">="})}}},cast:{string:{from:e=>Buffer.isBuffer(e),to:(e,t)=>e.toString()}},messages:{"binary.base":"{{#label}} must be a buffer or a string","binary.length":"{{#label}} must be {{#limit}} bytes","binary.max":"{{#label}} must be less than or equal to {{#limit}} bytes","binary.min":"{{#label}} must be at least {{#limit}} bytes"}}),Qa}()),f.root=function(){const t={_types:new Set(Object.keys(f.types))};for(const r of t._types)t[r]=function(...t){return e(!t.length||["alternatives","link","object"].includes(r),"The",r,"type does not allow arguments"),f.generate(this,f.types[r],t)};for(const e of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])t[e]=function(...t){return this.any()[e](...t)};Object.assign(t,f.methods);for(const e in f.aliases){const r=f.aliases[e];t[e]=t[r]}return t.x=t.expression,u.setup&&u.setup(t),t},f.methods={ValidationError:s.ValidationError,version:n.version,cache:r.provider,assert(e,t,...r){f.assert(e,t,!0,r)},attempt:(e,t,...r)=>f.assert(e,t,!1,r),build(t){return e("function"==typeof a.build,"Manifest functionality disabled"),a.build(this,t)},checkPreferences(e){n.checkPreferences(e)},compile(e,t){return i.compile(this,e,t)},defaults(t){e("function"==typeof t,"modifier must be a function");const r=Object.assign({},this);for(const i of r._types){const s=t(r[i]());e(n.isSchema(s),"modifier must return a valid schema object"),r[i]=function(...e){return f.generate(this,s,e)}}return r},expression:(...e)=>new l(...e),extend(...t){n.verifyFlat(t,"extend"),d=d||Uo(),e(t.length,"You need to provide at least one extension"),this.assert(t,d.extensions);const r=Object.assign({},this);r._types=new Set(r._types);for(let n of t){"function"==typeof n&&(n=n(r)),this.assert(n,d.extension);const t=f.expandExtension(n,r);for(const n of t){e(void 0===r[n.type]||r._types.has(n.type),"Cannot override name",n.type);const t=n.base||this.any(),i=o.type(t,n);r._types.add(n.type),r[n.type]=function(...e){return f.generate(this,i,e)}}}return r},isError:s.ValidationError.isError,isExpression:l.isTemplate,isRef:c.isRef,isSchema:n.isSchema,in:(...e)=>c.in(...e),override:n.symbols.override,ref:(...e)=>c.create(...e),types(){const e={};for(const t of this._types)e[t]=this[t]();for(const t in f.aliases)e[t]=this[t]();return e}},f.assert=function(e,r,i,o){const a=o[0]instanceof Error||"string"==typeof o[0]?o[0]:null,c=null!==a?o[1]:o[0],l=r.validate(e,n.preferences({errors:{stack:!0}},c||{}));let u=l.error;if(!u)return l.value;if(a instanceof Error)throw a;const d=i&&"function"==typeof u.annotate?u.annotate():u.message;throw u instanceof s.ValidationError==!1&&(u=t(u)),u.message=a?`${a} ${d}`:d,u},f.generate=function(t,r,n){return e(t,"Must be invoked on a Joi instance."),r.$_root=t,r._definition.args&&n.length?r._definition.args(r,...n):r},f.expandExtension=function(e,t){if("string"==typeof e.type)return[e];const r=[];for(const n of t._types)if(e.type.test(n)){const i=Object.assign({},e);i.type=n,i.base=t[n](),r.push(i)}return r},tc=f.root()}var bc=Pr(vc()),wc={table:"directus_collections",defaults:{collection:null,hidden:!1,singleton:!1,icon:null,note:null,translations:null,display_template:null,accountability:"all"},data:[{collection:"directus_activity",note:"$t:directus_collection.directus_activity",accountability:null},{collection:"directus_collections",icon:"database",note:"$t:directus_collection.directus_collections"},{collection:"directus_fields",icon:"input",note:"$t:directus_collection.directus_fields"},{collection:"directus_files",icon:"folder",note:"$t:directus_collection.directus_files",display_template:"{{ $thumbnail }} {{ title }}"},{collection:"directus_folders",note:"$t:directus_collection.directus_folders",display_template:"{{ name }}"},{collection:"directus_migrations",note:"$t:directus_collection.directus_migrations"},{collection:"directus_permissions",icon:"admin_panel_settings",note:"$t:directus_collection.directus_permissions"},{collection:"directus_presets",icon:"bookmark",note:"$t:directus_collection.directus_presets",accountability:null},{collection:"directus_relations",icon:"merge_type",note:"$t:directus_collection.directus_relations"},{collection:"directus_revisions",note:"$t:directus_collection.directus_revisions",accountability:null},{collection:"directus_roles",icon:"supervised_user_circle",note:"$t:directus_collection.directus_roles"},{collection:"directus_sessions",note:"$t:directus_collection.directus_sessions"},{collection:"directus_settings",singleton:!0,note:"$t:directus_collection.directus_settings"},{collection:"directus_users",archive_field:"status",archive_value:"archived",unarchive_value:"draft",icon:"people_alt",note:"$t:directus_collection.directus_users",display_template:"{{ first_name }} {{ last_name }}"},{collection:"directus_webhooks",note:"$t:directus_collection.directus_webhooks"},{collection:"directus_dashboards",note:"$t:directus_collection.directus_dashboards"},{collection:"directus_panels",note:"$t:directus_collection.directus_panels"},{collection:"directus_notifications",note:"$t:directus_collection.directus_notifications"},{collection:"directus_shares",icon:"share",note:"$t:directus_collection.directus_shares"},{collection:"directus_flows",note:"$t:directus_collection.directus_flows"},{collection:"directus_operations",note:"$t:directus_collection.directus_operations"},{collection:"directus_translations",note:"$t:directus_collection.directus_translations"},{collection:"directus_versions",note:"$t:directus_collection.directus_versions"},{collection:"directus_extensions",note:"$t:directus_collection.directus_extensions"}]};wc.data.map((e=>({...wc.defaults,...e,system:!0}))),wc.data.map((e=>e.collection));var Sc={table:"directus_relations",defaults:{many_collection:"directus_users",many_field:null,one_collection:null,one_field:null,one_allowed_collections:null,one_collection_field:null,one_deselect_action:"nullify",junction_field:null,sort_field:null},data:[{many_collection:"directus_collections",many_field:"group",one_collection:"directus_collections"},{many_collection:"directus_users",many_field:"role",one_collection:"directus_roles",one_field:"users"},{many_collection:"directus_users",many_field:"avatar",one_collection:"directus_files"},{many_collection:"directus_revisions",many_field:"activity",one_collection:"directus_activity",one_field:"revisions"},{many_collection:"directus_revisions",many_field:"parent",one_collection:"directus_revisions"},{many_collection:"directus_revisions",many_field:"version",one_collection:"directus_versions"},{many_collection:"directus_presets",many_field:"user",one_collection:"directus_users"},{many_collection:"directus_presets",many_field:"role",one_collection:"directus_roles"},{many_collection:"directus_folders",many_field:"parent",one_collection:"directus_folders"},{many_collection:"directus_files",many_field:"folder",one_collection:"directus_folders"},{many_collection:"directus_files",many_field:"uploaded_by",one_collection:"directus_users"},{many_collection:"directus_files",many_field:"modified_by",one_collection:"directus_users"},{many_collection:"directus_fields",many_field:"collection",one_collection:"directus_collections",one_field:"fields"},{many_collection:"directus_fields",many_field:"group",one_collection:"directus_fields"},{many_collection:"directus_activity",many_field:"user",one_collection:"directus_users"},{many_collection:"directus_settings",many_field:"project_logo",one_collection:"directus_files"},{many_collection:"directus_settings",many_field:"public_foreground",one_collection:"directus_files"},{many_collection:"directus_settings",many_field:"public_background",one_collection:"directus_files"},{many_collection:"directus_settings",many_field:"public_favicon",one_collection:"directus_files"},{many_collection:"directus_settings",many_field:"storage_default_folder",one_collection:"directus_folders"},{many_collection:"directus_panels",many_field:"dashboard",one_collection:"directus_dashboards",one_field:"panels"},{many_collection:"directus_panels",many_field:"user_created",one_collection:"directus_users"},{many_collection:"directus_flows",many_field:"operation",one_collection:"directus_operations"},{many_collection:"directus_flows",many_field:"user_created",one_collection:"directus_users"},{many_collection:"directus_operations",many_field:"flow",one_collection:"directus_flows",one_field:"operations",one_deselect_action:"delete"},{many_collection:"directus_operations",many_field:"resolve",one_collection:"directus_operations"},{many_collection:"directus_operations",many_field:"reject",one_collection:"directus_operations"},{many_collection:"directus_operations",many_field:"user_created",one_collection:"directus_users"},{many_collection:"directus_permissions",many_field:"role",one_collection:"directus_roles"},{many_collection:"directus_sessions",many_field:"user",one_collection:"directus_users"},{many_collection:"directus_sessions",many_field:"share",one_collection:"directus_shares"},{many_collection:"directus_dashboards",many_field:"user_created",one_collection:"directus_users"},{many_collection:"directus_notifications",many_field:"recipient",one_collection:"directus_users"},{many_collection:"directus_notifications",many_field:"sender",one_collection:"directus_users"},{many_collection:"directus_shares",many_field:"role",one_collection:"directus_roles"},{many_collection:"directus_shares",many_field:"collection",one_collection:"directus_collections"},{many_collection:"directus_shares",many_field:"user_created",one_collection:"directus_users"},{many_collection:"directus_versions",many_field:"collection",one_collection:"directus_collections"},{many_collection:"directus_versions",many_field:"user_created",one_collection:"directus_users"},{many_collection:"directus_versions",many_field:"user_updated",one_collection:"directus_users"}]};Sc.data.map((e=>({...Sc.defaults,...e,system:!0})));var Ec={collection:null,field:null,special:null,interface:null,options:null,display:null,display_options:null,readonly:!1,hidden:!1,sort:null,width:"full",group:null,translations:null,note:null,conditions:null,required:!1},kc={table:"directus_settings",fields:[{field:"id",hidden:!0},{field:"project_name",interface:"input",options:{iconRight:"title",placeholder:"$t:field_options.directus_settings.project_name_placeholder"},width:"half"},{field:"project_descriptor",interface:"input",options:{iconRight:"title",placeholder:"$t:field_options.directus_settings.project_name_placeholder"},width:"half"},{field:"project_url",interface:"input",options:{iconRight:"link",placeholder:"https://example.com"},width:"half"},{field:"default_language",interface:"system-language",options:{iconRight:"language",placeholder:"en-US"},width:"half"},{field:"theming_group",interface:"group-raw",special:["alias","no-data","group"]},{field:"branding_divider",interface:"presentation-divider",options:{icon:"palette",title:"$t:fields.directus_settings.branding"},special:["alias","no-data"],width:"full",group:"theming_group"},{field:"project_color",interface:"select-color",note:"$t:field_options.directus_settings.project_color_note",width:"half",group:"theming_group"},{field:"project_logo",interface:"file",note:"$t:field_options.directus_settings.project_logo_note",width:"half",group:"theming_group"},{field:"public_foreground",interface:"file",width:"half",group:"theming_group"},{field:"public_background",interface:"file",width:"half",group:"theming_group"},{field:"public_favicon",interface:"file",note:"$t:field_options.directus_settings.project_favicon_note",width:"half",group:"theming_group"},{field:"public_note",interface:"input",options:{placeholder:"$t:field_options.directus_settings.public_note_placeholder",iconRight:"info"},width:"half",group:"theming_group"},{field:"theming_divider",interface:"presentation-divider",options:{icon:"palette",title:"$t:fields.directus_settings.theming"},special:["alias","no-data"],width:"full",group:"theming_group"},{field:"default_appearance",interface:"select-dropdown",width:"half",options:{choices:[{value:"auto",text:"$t:appearance_auto"},{value:"light",text:"$t:appearance_light"},{value:"dark",text:"$t:appearance_dark"}]},group:"theming_group"},{field:"default_theme_light",width:"full",interface:"system-theme",options:{appearance:"light"},group:"theming_group"},{field:"theme_light_overrides",width:"full",interface:"system-theme-overrides",options:{appearance:"light"},group:"theming_group",special:["cast-json"]},{field:"default_theme_dark",width:"full",interface:"system-theme",options:{appearance:"dark"},group:"theming_group"},{field:"theme_dark_overrides",width:"full",interface:"system-theme-overrides",options:{appearance:"dark"},group:"theming_group",special:["cast-json"]},{field:"custom_css",interface:"input-code",options:{language:"css",lineNumber:!0,template:"#app, #main-content, body {\n --v-button-background-color: #6644FF !important;\n --v-button-background-color-hover: #5E41EC !important;\n}\n"},width:"full",group:"theming_group"},{field:"modules_divider",interface:"presentation-divider",options:{icon:"menu_open",title:"$t:modules"},special:["alias","no-data"],width:"full"},{field:"module_bar",interface:"system-modules",special:["cast-json"]},{field:"security_divider",interface:"presentation-divider",options:{icon:"shield",title:"$t:security"},special:["alias","no-data"],width:"full"},{field:"auth_password_policy",interface:"select-dropdown",options:{choices:[{value:null,text:"$t:field_options.directus_settings.auth_password_policy.none_text"},{value:"/^.{8,}$/",text:"$t:field_options.directus_settings.auth_password_policy.weak_text"},{value:"/(?=^.{8,}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{';'?>.<,])(?!.*\\s).*$/",text:"$t:field_options.directus_settings.auth_password_policy.strong_text"}],allowOther:!0},width:"half"},{field:"auth_login_attempts",interface:"input",options:{iconRight:"lock",placeholder:"$t:unlimited"},width:"half"},{field:"public_registration_divider",interface:"presentation-divider",options:{icon:"person_add",title:"$t:fields.directus_settings.public_registration"},special:["alias","no-data"],width:"full"},{field:"public_registration",interface:"boolean",note:"$t:fields.directus_settings.public_registration_note",width:"half",options:{label:"$t:enabled"},special:["cast-boolean"]},{field:"public_registration_role",interface:"select-dropdown-m2o",note:"$t:fields.directus_settings.public_registration_role_note",options:{template:"{{ name }}",filter:{admin_access:{_eq:!1}}},special:["m2o"],width:"half",display:"related-values",display_options:{template:"{{ name }}"}},{field:"public_registration_verify_email",interface:"boolean",note:"$t:fields.directus_settings.public_registration_verify_email_note",width:"half",options:{label:"$t:enabled"},special:["cast-boolean"]},{field:"public_registration_email_filter",interface:"system-filter",note:"$t:fields.directus_settings.public_registration_email_filter_note",options:{collectionName:"directus_users",collectionField:"email",fieldName:"email"},special:["cast-json"],width:"half"},{field:"files_divider",interface:"presentation-divider",options:{icon:"folder",title:"$t:fields.directus_settings.files_and_thumbnails"},special:["alias","no-data"],width:"full"},{field:"storage_asset_transform",interface:"select-dropdown",options:{choices:[{value:"all",text:"$t:fields.directus_settings.transformations_all"},{value:"none",text:"$t:fields.directus_settings.transformations_none"},{value:"presets",text:"$t:fields.directus_settings.transformations_presets"}]},width:"half"},{field:"storage_default_folder",interface:"system-folder",width:"half",note:"$t:interfaces.system-folder.field_hint"},{field:"storage_asset_presets",interface:"list",options:{fields:[{field:"key",name:"$t:key",type:"string",schema:{is_nullable:!1},meta:{interface:"input",options:{slug:!0,onlyOnCreate:!1},width:"full",required:!0}},{field:"fit",name:"$t:field_options.directus_settings.storage_asset_presets.fit_label",type:"string",schema:{is_nullable:!1},meta:{interface:"select-dropdown",options:{choices:[{value:"contain",text:"$t:field_options.directus_settings.storage_asset_presets.fit.contain_text"},{value:"cover",text:"$t:field_options.directus_settings.storage_asset_presets.fit.cover_text"},{value:"inside",text:"$t:field_options.directus_settings.storage_asset_presets.fit.fit_text"},{value:"outside",text:"$t:field_options.directus_settings.storage_asset_presets.fit.outside_text"}]},width:"half"}},{field:"width",name:"$t:width",type:"integer",schema:{is_nullable:!1},meta:{interface:"input",width:"half"}},{field:"height",name:"$t:height",type:"integer",schema:{is_nullable:!1},meta:{interface:"input",width:"half"}},{field:"quality",type:"integer",name:"$t:quality",schema:{default_value:80,is_nullable:!1},meta:{interface:"slider",options:{max:100,min:0,step:1},width:"half"}},{field:"withoutEnlargement",name:"$t:field_options.directus_settings.storage_asset_presets.upscaling",type:"boolean",schema:{default_value:!1},meta:{interface:"boolean",width:"half",options:{label:"$t:no_upscale"}}},{field:"format",name:"$t:format",type:"string",schema:{is_nullable:!1,default_value:""},meta:{interface:"select-dropdown",options:{allowNone:!0,choices:[{value:"auto",text:"Auto"},{value:"jpeg",text:"JPEG"},{value:"png",text:"PNG"},{value:"webp",text:"WebP"},{value:"tiff",text:"Tiff"},{value:"avif",text:"AVIF"}]},width:"half"}},{field:"transforms",name:"$t:field_options.directus_settings.additional_transforms",type:"json",schema:{is_nullable:!1,default_value:[]},meta:{note:"$t:field_options.directus_settings.transforms_note",interface:"json",options:{template:'[\n ["blur", 45],\n ["grayscale"],\n ["extend", { "right": 500, "background": "rgb(255, 0, 0)" }]\n]\n',placeholder:'[\n ["blur", 45],\n ["grayscale"],\n ["extend", { "right": 500, "background": "rgb(255, 0, 0)" }]\n]\n'},width:"full"}}],template:"{{key}}"},special:["cast-json"],width:"full"},{field:"reporting_divider",interface:"presentation-divider",options:{icon:"feedback",title:"$t:fields.directus_settings.reporting"},special:["alias","no-data"],width:"full"},{field:"report_feature_url",interface:"input",options:{iconRight:"link",placeholder:"https://example.com/feature"},width:"half"},{field:"report_bug_url",interface:"input",options:{iconRight:"link",placeholder:"https://example.com/bug"},width:"half"},{field:"report_error_url",interface:"system-display-template",options:{placeholder:"https://example.com/error",fields:[{name:"Error",field:"error",key:"error",path:"error",children:[{name:"Name",field:"name",key:"error.name",path:"error.name"},{name:"Message",field:"message",key:"error.message",path:"error.message"}]},{name:"Navigator",field:"navigator",key:"navigator",path:"navigator",children:[{name:"Language",field:"language",key:"navigator.language",path:"navigator.language"},{name:"User Agent",field:"userAgent",key:"navigator.userAgent",path:"navigator.userAgent"}]},{name:"Route",field:"route",key:"route",path:"route",children:[{name:"Full Path",field:"fullPath",key:"route.fullPath",path:"route.fullPath"},{name:"Hash",field:"hash",key:"route.hash",path:"route.hash"},{name:"Name",field:"name",key:"route.name",path:"route.name"},{name:"Path",field:"path",key:"route.path",path:"route.path"},{name:"Query",field:"query",key:"route.query",path:"route.query"}]},{name:"User",field:"user",key:"user",path:"user",children:[{name:"ID",field:"id",key:"user.id",path:"user.id"},{name:"First Name",field:"first_name",key:"user.first_name",path:"user.first_name"},{name:"Last Name",field:"last_name",key:"user.last_name",path:"user.last_name"},{name:"Status",field:"status",key:"user.status",path:"user.status"},{name:"Title",field:"title",key:"user.title",path:"user.title"},{name:"Description",field:"description",key:"user.description",path:"user.description"},{name:"Location",field:"location",key:"user.location",path:"user.location"}]},{name:"Role",field:"role",key:"role",path:"role",children:[{name:"ID",field:"id",key:"role.id",path:"role.id"},{name:"Name",field:"name",key:"role.name",path:"role.name"}]}]},width:"full"},{field:"map_divider",interface:"presentation-divider",options:{icon:"map",title:"$t:fields.directus_settings.mapping"},special:["alias","no-data"],width:"full"},{field:"mapbox_key",interface:"input",options:{icon:"key",title:"$t:field_options.directus_settings.mapbox_key",placeholder:"$t:field_options.directus_settings.mapbox_placeholder",iconLeft:"vpn_key",font:"monospace"},width:"full"},{field:"basemaps",interface:"list",special:["cast-json"],options:{template:"{{name}}",fields:[{field:"name",name:"$t:name",schema:{is_nullable:!1},meta:{interface:"text-input",required:!0,options:{placeholder:"$t:field_options.directus_settings.basemaps_name_placeholder"}}},{field:"type",name:"$t:type",meta:{interface:"select-dropdown",options:{choices:[{value:"raster",text:"$t:field_options.directus_settings.basemaps_raster"},{value:"tile",text:"$t:field_options.directus_settings.basemaps_tile"},{value:"style",text:"$t:field_options.directus_settings.basemaps_style"}]}}},{field:"url",name:"$t:url",schema:{is_nullable:!1},meta:{interface:"text-input",options:{placeholder:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"}}},{field:"tileSize",name:"$t:tile_size",type:"integer",schema:{is_nullable:!0},meta:{interface:"input",options:{placeholder:"512"},conditions:[{name:"typeNeqRaster",rule:{type:{_neq:"raster"}},hidden:!0}]}},{field:"attribution",name:"$t:fields.directus_settings.attribution",type:"string",schema:{is_nullable:!0},meta:{interface:"input",options:{placeholder:"$t:fields.directus_settings.attribution_placeholder"}}}]}},{field:"image_editor",interface:"presentation-divider",options:{icon:"image",title:"$t:fields.directus_settings.image_editor"},special:["alias","no-data"],width:"full"},{field:"custom_aspect_ratios",interface:"list",special:["cast-json"],options:{template:"{{text}}",fields:[{field:"text",name:"$t:text",type:"string",meta:{interface:"text-input",width:"half",required:!0,options:{placeholder:"$t:text"}}},{field:"value",name:"$t:value",type:"float",meta:{interface:"input",width:"half",required:!0,options:{placeholder:"$t:value"}}}]}}]},Ac=[];function Oc(e){let{fields:t,table:r}=e;t.forEach(((e,t)=>{Ac.push({system:!0,...Ec,...e,collection:r,sort:t+1})}))}Oc({table:"directus_activity",fields:[{field:"id",width:"half"},{field:"item",width:"half"},{field:"action",display:"labels",display_options:{choices:[{text:"$t:field_options.directus_activity.create",value:"create",foreground:"var(--theme--primary)",background:"var(--theme--primary-subdued)"},{text:"$t:field_options.directus_activity.update",value:"update",foreground:"var(--blue)",background:"var(--blue-25)"},{text:"$t:field_options.directus_activity.delete",value:"delete",foreground:"var(--theme--danger)",background:"var(--danger-25)"},{text:"$t:field_options.directus_activity.login",value:"login",foreground:"var(--purple)",background:"var(--purple-25)"}]},width:"half"},{field:"collection",display:"collection",display_options:{icon:!0},width:"half"},{field:"timestamp",display:"datetime",special:["date-created","cast-timestamp"],options:{relative:!0},width:"half"},{field:"user",display:"user",width:"half"},{field:"comment",display:"formatted-value",display_options:{color:"var(--theme--foreground-subdued)"},width:"half"},{field:"user_agent",display:"formatted-value",display_options:{font:"monospace"},width:"half"},{field:"origin",display:"formatted-value",display_options:{font:"monospace"},width:"half"},{field:"ip",display:"formatted-value",display_options:{font:"monospace"},width:"half"},{field:"revisions",interface:"list-o2m",special:["o2m"],options:{fields:["collection","item"]},width:"half"}]}),Oc({table:"directus_collections",fields:[{field:"collection_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"box",title:"$t:field_options.directus_collections.collection_setup"},width:"full"},{field:"collection",interface:"input",options:{font:"monospace"},readonly:!0,width:"half"},{field:"note",interface:"input",options:{placeholder:"$t:field_options.directus_collections.note_placeholder"},width:"half"},{field:"icon",interface:"select-icon",options:null,width:"half"},{field:"color",interface:"select-color",options:{placeholder:"$t:interfaces.select-color.placeholder"},width:"half"},{field:"display_template",interface:"system-display-template",options:{collectionField:"collection"},width:"full"},{field:"hidden",special:["cast-boolean"],interface:"boolean",options:{label:"$t:field_options.directus_collections.hidden_label"},width:"half"},{field:"singleton",special:["cast-boolean"],interface:"boolean",options:{label:"$t:singleton_label"},width:"half"},{field:"translations",special:["cast-json"],interface:"list",options:{template:"{{ translation }} ({{ language }})",fields:[{field:"language",name:"$t:language",type:"string",schema:{default_value:"en-US"},meta:{interface:"system-language",width:"half",required:!0}},{field:"translation",name:"$t:field_options.directus_collections.collection_name",type:"string",meta:{interface:"input",width:"half",required:!0,options:{placeholder:"$t:field_options.directus_collections.translation_placeholder"}}},{field:"singular",name:"$t:field_options.directus_collections.singular_unit",type:"string",meta:{interface:"input",width:"half",options:{placeholder:"$t:field_options.directus_collections.translation_placeholder"}}},{field:"plural",name:"$t:field_options.directus_collections.plural_unit",type:"string",meta:{interface:"input",width:"half",options:{placeholder:"$t:field_options.directus_collections.translation_placeholder"}}}]},width:"full"},{field:"preview_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"preview",title:"$t:field_options.directus_collections.preview_divider"},width:"full"},{field:"preview_url",interface:"system-display-template",options:{collectionField:"collection",injectVersionField:!0},width:"full"},{field:"content_versioning_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"published_with_changes",title:"$t:field_options.directus_collections.content_versioning_divider"},width:"full"},{field:"versioning",interface:"boolean",special:["cast-boolean"],options:{label:"$t:field_options.directus_collections.enable_versioning"},width:"half"},{field:"archive_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"archive",title:"$t:field_options.directus_collections.archive_divider"},width:"full"},{field:"archive_field",interface:"system-field",options:{collectionField:"collection",allowNone:!0,placeholder:"$t:field_options.directus_collections.archive_field_placeholder"},width:"half"},{field:"archive_app_filter",interface:"boolean",special:["cast-boolean"],options:{label:"$t:field_options.directus_collections.archive_app_filter"},width:"half"},{field:"archive_value",interface:"input",options:{font:"monospace",iconRight:"archive",placeholder:"$t:field_options.directus_collections.archive_value"},width:"half"},{field:"unarchive_value",interface:"input",options:{font:"monospace",iconRight:"unarchive",placeholder:"$t:field_options.directus_collections.unarchive_value"},width:"half"},{field:"sort_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"sort",title:"$t:field_options.directus_collections.sort_divider"},width:"full"},{field:"sort_field",interface:"system-field",options:{collectionField:"collection",placeholder:"$t:field_options.directus_collections.sort_field",typeAllowList:["float","decimal","integer"],allowNone:!0,allowPrimaryKey:!1,allowForeignKeys:!1},width:"half"},{field:"accountability_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"admin_panel_settings",title:"$t:field_options.directus_collections.accountability_divider"},width:"full"},{field:"accountability",interface:"select-dropdown",options:{choices:[{text:"$t:field_options.directus_collections.track_activity_revisions",value:"all"},{text:"$t:field_options.directus_collections.only_track_activity",value:"activity"},{text:"$t:field_options.directus_collections.do_not_track_anything",value:null}]},width:"half"},{field:"duplication_divider",special:["alias","no-data"],interface:"presentation-divider",options:{icon:"content_copy",title:"$t:field_options.directus_collections.duplication_divider"}},{field:"item_duplication_fields",special:["cast-json"],interface:"system-field-tree",options:{collectionField:"collection"}},{field:"sort",hidden:!0},{field:"group",hidden:!0},{field:"collapse",hidden:!0}]}),Oc({table:"directus_fields",fields:[{collection:"directus_fields",field:"id",width:"half"},{collection:"directus_fields",field:"collection",width:"half"},{collection:"directus_fields",field:"field",width:"half"},{collection:"directus_fields",field:"special",hidden:!0,special:["cast-csv"],width:"half"},{collection:"directus_fields",field:"interface",width:"half"},{collection:"directus_fields",field:"options",hidden:!0,special:["cast-json"],width:"half"},{collection:"directus_fields",field:"display",width:"half"},{collection:"directus_fields",field:"display_options",hidden:!0,special:["cast-json"],width:"half"},{collection:"directus_fields",field:"readonly",hidden:!0,special:["cast-boolean"],width:"half"},{collection:"directus_fields",field:"hidden",hidden:!0,special:["cast-boolean"],width:"half"},{collection:"directus_fields",field:"required",hidden:!0,special:["cast-boolean"],width:"half"},{collection:"directus_fields",field:"sort",width:"half"},{collection:"directus_fields",field:"width",width:"half"},{collection:"directus_fields",field:"group",width:"half"},{collection:"directus_fields",field:"translations",hidden:!0,special:["cast-json"],width:"half"},{collection:"directus_fields",field:"note",width:"half"},{collection:"directus_fields",field:"conditions",hidden:!0,special:["cast-json"]},{collection:"directus_fields",field:"validation",hidden:!0,special:["cast-json"]},{collection:"directus_fields",field:"validation_message",hidden:!0}]}),Oc({table:"directus_files",fields:[{field:"id",hidden:!0,interface:"input",special:["uuid"]},{field:"title",interface:"input",options:{iconRight:"title",placeholder:"$t:field_options.directus_files.title"},width:"full"},{field:"description",interface:"input-multiline",width:"full",options:{placeholder:"$t:field_options.directus_files.description"}},{field:"tags",interface:"tags",options:{iconRight:"local_offer"},special:["cast-json"],width:"full",display:"labels",display_options:{choices:null,format:!1}},{field:"location",interface:"input",options:{iconRight:"place",placeholder:"$t:field_options.directus_files.location"},width:"half"},{field:"storage",interface:"input",options:{iconRight:"storage"},width:"half",readonly:!0},{field:"focal_point_divider",interface:"presentation-divider",options:{icon:"image_search",title:"$t:field_options.directus_files.focal_point_divider"},special:["alias","no-data"],width:"full"},{field:"focal_point_x",width:"half"},{field:"focal_point_y",width:"half"},{field:"storage_divider",interface:"presentation-divider",options:{icon:"insert_drive_file",title:"$t:field_options.directus_files.storage_divider"},special:["alias","no-data"],width:"full"},{field:"filename_disk",interface:"input",options:{iconRight:"publish",placeholder:"$t:field_options.directus_files.filename_disk"},readonly:!0,width:"half"},{field:"filename_download",interface:"input",options:{iconRight:"get_app",placeholder:"$t:field_options.directus_files.filename_download"},width:"half"},{field:"metadata",hidden:!0,special:["cast-json"]},{field:"type",display:"mime-type",readonly:!0},{field:"filesize",display:"filesize",readonly:!0},{field:"modified_by",interface:"select-dropdown-m2o",special:["user-updated"],width:"half",display:"user",readonly:!0,options:{template:"{{avatar.$thumbnail}} {{first_name}} {{last_name}}"}},{field:"modified_on",interface:"datetime",special:["date-updated"],width:"half",display:"datetime",readonly:!0},{field:"embed",width:"half",hidden:!0},{field:"uploaded_by",display:"user",width:"half",hidden:!0,special:["user-created"]},{field:"uploaded_on",display:"datetime",width:"half",hidden:!0},{field:"folder",width:"half",readonly:!0,special:["m2o"],display:"related-values",display_options:{template:"{{ name }}"}},{field:"width",width:"half",readonly:!0},{field:"height",width:"half",readonly:!0},{field:"charset",width:"half",readonly:!0},{field:"duration",width:"half",readonly:!0}]}),Oc({table:"directus_folders",fields:[{field:"id",interface:"input",special:["uuid"],width:"half"},{field:"parent",width:"half"},{field:"name",width:"full"}]}),Oc({table:"directus_migrations",fields:[{collection:"directus_migrations",field:"version"},{collection:"directus_migrations",field:"name"},{collection:"directus_migrations",field:"timestamp"}]}),Oc({table:"directus_permissions",fields:[{field:"permissions",hidden:!0,special:["cast-json"],width:"half"},{field:"presets",hidden:!0,special:["cast-json"],width:"half"},{field:"role",width:"half"},{field:"collection",width:"half"},{field:"id",width:"half"},{field:"fields",width:"half",special:["cast-csv"]},{field:"action",width:"half"},{field:"validation",width:"half",special:["cast-json"]}]}),Oc({table:"directus_presets",fields:[{field:"filter",hidden:!0,special:["cast-json"]},{field:"layout_query",hidden:!0,special:["cast-json"]},{field:"layout_options",hidden:!0,special:["cast-json"]},{field:"role",width:"half",special:["m2o"],display:"related-values",display_options:{template:"{{ name }}"}},{field:"user",width:"half",special:["m2o"],display:"related-values",display_options:{template:"{{ email }}"}},{field:"id",width:"half"},{field:"bookmark",width:"half"},{field:"icon",width:"half"},{field:"color",width:"half"},{field:"search",width:"half"},{field:"collection",width:"half"},{field:"layout",width:"half"},{field:"refresh_interval"}]}),Oc({table:"directus_relations",fields:[{field:"id",width:"half"},{field:"many_collection",width:"half"},{field:"many_field",width:"half"},{field:"one_collection",width:"half"},{field:"one_field",width:"half"},{field:"one_collection_field",width:"half"},{field:"one_allowed_collections",special:["cast-csv"],width:"half"},{field:"junction_field",width:"half"},{field:"sort_field",width:"half"},{field:"one_deselect_action",width:"half"}]}),Oc({table:"directus_revisions",fields:[{field:"id",width:"half"},{field:"activity",width:"half"},{field:"collection",width:"half"},{field:"item",width:"half"},{field:"data",hidden:!0,special:["cast-json"]},{field:"delta",hidden:!0,special:["cast-json"]},{field:"parent",width:"half"},{field:"version",width:"half"}]}),Oc({table:"directus_roles",fields:[{field:"id",hidden:!0,interface:"input",special:["uuid"]},{field:"name",interface:"input",options:{placeholder:"$t:field_options.directus_roles.name"},width:"half"},{field:"icon",interface:"select-icon",display:"icon",width:"half"},{field:"description",interface:"input",options:{placeholder:"$t:field_options.directus_roles.description"},width:"full"},{field:"app_access",interface:"boolean",special:["cast-boolean"],width:"half"},{field:"admin_access",interface:"boolean",special:["cast-boolean"],width:"half"},{field:"ip_access",interface:"tags",options:{placeholder:"$t:field_options.directus_roles.ip_access"},special:["cast-csv"],width:"full"},{field:"enforce_tfa",interface:"boolean",special:["cast-boolean"],width:"half"},{field:"users",interface:"list-o2m",special:["o2m"],options:{fields:["first_name","last_name"]},width:"full"}]}),Oc({table:"directus_sessions",fields:[{field:"token",width:"half"},{field:"user",width:"half"},{field:"expires",width:"half"},{field:"ip",width:"half"},{field:"user_agent",width:"half"},{field:"origin",width:"half"},{field:"share",width:"half"},{field:"next_token",width:"half"}]}),Oc(kc),Oc({table:"directus_users",fields:[{field:"first_name",interface:"input",options:{iconRight:"account_circle"},width:"half"},{field:"last_name",interface:"input",options:{iconRight:"account_circle"},width:"half"},{field:"email",interface:"input",options:{iconRight:"email"},width:"half"},{field:"password",special:["hash","conceal"],interface:"input-hash",options:{iconRight:"lock",masked:!0},width:"half"},{field:"avatar",interface:"file",width:"full",display:"image"},{field:"location",interface:"input",options:{iconRight:"place"},width:"half"},{field:"title",interface:"input",options:{iconRight:"work"},width:"half"},{field:"description",interface:"input-multiline",width:"full"},{field:"tags",interface:"tags",special:["cast-json"],width:"full",options:{iconRight:"local_offer"},display:"labels",display_options:{choices:null,format:!1}},{field:"preferences_divider",interface:"presentation-divider",options:{icon:"face",title:"$t:fields.directus_users.user_preferences"},special:["alias","no-data"],width:"full"},{field:"language",interface:"system-language",width:"half",options:{includeProjectDefault:!0}},{field:"tfa_secret",interface:"system-mfa-setup",special:["conceal"],width:"half"},{field:"email_notifications",interface:"boolean",width:"half",special:["cast-boolean"]},{field:"theming_divider",interface:"presentation-divider",options:{icon:"palette",title:"$t:theme"},special:["alias","no-data"],width:"full"},{field:"appearance",interface:"select-dropdown",options:{choices:[{value:null,text:"$t:default_sync_with_project"},{value:"auto",text:"$t:appearance_auto"},{value:"light",text:"$t:appearance_light"},{value:"dark",text:"$t:appearance_dark"}]},width:"half"},{field:"theme_light",width:"full",interface:"system-theme",options:{appearance:"light",includeNull:!0}},{field:"theme_light_overrides",width:"full",interface:"system-theme-overrides",options:{appearance:"light"},special:["cast-json"]},{field:"theme_dark",width:"full",interface:"system-theme",options:{appearance:"dark",includeNull:!0}},{field:"theme_dark_overrides",width:"full",interface:"system-theme-overrides",options:{appearance:"dark"},special:["cast-json"]},{field:"admin_divider",interface:"presentation-divider",options:{icon:"verified_user",title:"$t:fields.directus_users.admin_options",color:"var(--theme--danger)"},special:["alias","no-data"],width:"full"},{field:"status",interface:"select-dropdown",options:{choices:[{text:"$t:fields.directus_users.status_draft",value:"draft"},{text:"$t:fields.directus_users.status_invited",value:"invited"},{text:"$t:fields.directus_users.status_unverified",value:"unverified"},{text:"$t:fields.directus_users.status_active",value:"active"},{text:"$t:fields.directus_users.status_suspended",value:"suspended"},{text:"$t:fields.directus_users.status_archived",value:"archived"}]},width:"half"},{field:"role",interface:"select-dropdown-m2o",options:{template:"{{ name }}"},special:["m2o"],width:"half",display:"related-values",display_options:{template:"{{ name }}"}},{field:"token",interface:"system-token",special:["conceal"],width:"full"},{field:"id",special:["uuid"],interface:"input",options:{iconRight:"vpn_key"},width:"full"},{field:"last_page",width:"half"},{field:"last_access",width:"half",display:"datetime",readonly:!0,display_options:{relative:!0}},{field:"provider",width:"half",interface:"select-dropdown",options:{choices:[{text:"$t:default_provider",value:"default"}]}},{field:"external_identifier",width:"half",options:{iconRight:"account_circle"},interface:"input"},{field:"auth_data",hidden:!0}]}),Oc({table:"directus_webhooks",fields:[{field:"id",hidden:!0},{field:"name",interface:"input",options:{iconRight:"title"},width:"full"},{field:"method",interface:"select-dropdown",display:"labels",display_options:{choices:[{value:"POST",foreground:"var(--theme--primary)",background:"var(--theme--primary-subdued)"},{value:"GET",foreground:"var(--theme--secondary)",background:"var(--secondary-25)"}],format:!1},options:{choices:["GET","POST"]},width:"half"},{field:"url",interface:"input",options:{iconRight:"link"},width:"half"},{field:"status",interface:"select-dropdown",display:"labels",display_options:{showAsDot:!0,choices:[{text:"$t:field_options.directus_webhooks.status_options_active",value:"active",foreground:"var(--theme--primary-background)",background:"var(--theme--primary)"},{text:"$t:field_options.directus_webhooks.status_options_inactive",value:"inactive",foreground:"var(--theme--foreground)",background:"var(--background-normal-alt)"}]},options:{choices:[{text:"$t:field_options.directus_webhooks.status_options_active",value:"active"},{text:"$t:field_options.directus_webhooks.status_options_inactive",value:"inactive"}]},width:"half"},{field:"data",interface:"boolean",options:{label:"$t:fields.directus_webhooks.data_label"},special:["cast-boolean"],width:"half",display:"boolean"},{field:"headers",special:["cast-json"],interface:"list",options:{template:"{{ header }}: {{ value }}",addLabel:"$t:field_options.directus_webhooks.headers.add",fields:[{field:"header",name:"$t:field_options.directus_webhooks.headers.header",type:"string",meta:{interface:"input",width:"half"}},{field:"value",name:"$t:field_options.directus_webhooks.headers.value",type:"string",meta:{interface:"input",width:"half"}}]},width:"full"},{field:"triggers_divider",interface:"presentation-divider",options:{icon:"api",title:"$t:fields.directus_webhooks.triggers"},special:["alias","no-data"],width:"full"},{field:"actions",interface:"select-multiple-checkbox",options:{choices:[{text:"$t:create",value:"create"},{text:"$t:update",value:"update"},{text:"$t:delete_label",value:"delete"}]},special:["cast-csv"],width:"full",display:"labels",display_options:{choices:[{text:"$t:create",value:"create",foreground:"var(--theme--primary)",background:"var(--theme--primary-subdued)"},{text:"$t:update",value:"update",foreground:"var(--blue)",background:"var(--blue-25)"},{text:"$t:delete_label",value:"delete",foreground:"var(--theme--danger)",background:"var(--danger-25)"},{text:"$t:login",value:"login",foreground:"var(--purple)",background:"var(--purple-25)"}]}},{field:"collections",interface:"system-collections",special:["cast-csv"],width:"full",display:"labels",display_options:{choices:null,format:!1}},{field:"was_active_before_deprecation",hidden:!0},{field:"migrated_flow",hidden:!0}]}),Oc({table:"directus_dashboards",fields:[{field:"id",special:["uuid"]},{field:"name"},{field:"icon"},{field:"panels",special:["o2m"]},{field:"date_created",special:["date-created","cast-timestamp"]},{field:"user_created",special:["user-created"]},{field:"note"},{field:"color"}]}),Oc({table:"directus_panels",fields:[{field:"id",special:["uuid"]},{field:"name"},{field:"icon"},{field:"color"},{field:"note"},{field:"type"},{field:"show_header",special:["cast-boolean"]},{field:"position_x"},{field:"position_y"},{field:"width"},{field:"height"},{field:"options",special:["cast-json"]},{field:"date_created",special:["date-created","cast-timestamp"]},{field:"user_created",special:["user-created"]},{field:"dashboard"}]}),Oc({table:"directus_notifications",fields:[{field:"id"},{field:"timestamp",special:["date-created","cast-timestamp"]},{field:"status"},{field:"recipient"},{field:"sender"},{field:"subject"},{field:"message"},{field:"collection"},{field:"item"}]}),Oc({table:"directus_shares",fields:[{field:"id",special:["uuid"],readonly:!0,hidden:!0},{field:"name"},{field:"collection",width:"half",hidden:!0},{field:"item",width:"half",hidden:!0},{field:"role",interface:"select-dropdown-m2o",width:"half",options:{template:"{{name}}",filter:{admin_access:{_eq:!1}}}},{field:"password",special:["hash","conceal"],interface:"input-hash",options:{iconRight:"lock",masked:!0},width:"half",note:"$t:shared_leave_blank_for_passwordless_access"},{field:"date_start",width:"half",note:"$t:shared_leave_blank_for_unlimited"},{field:"date_end",width:"half",note:"$t:shared_leave_blank_for_unlimited"},{field:"max_uses",width:"half",note:"$t:shared_leave_blank_for_unlimited"},{field:"times_used",width:"half",readonly:!0},{field:"date_created",special:["date-created","cast-timestamp"],width:"half",readonly:!0,conditions:[{name:"notCreatedYet",rule:{id:{_null:!0}},hidden:!0}]},{field:"user_created",special:["user-created"],interface:"select-dropdown-m2o",width:"half",display:"user",options:{template:"{{avatar.$thumbnail}} {{first_name}} {{last_name}}"},readonly:!0,conditions:[{name:"notCreatedYet",rule:{id:{_null:!0}},hidden:!0}]}]}),Oc({table:"directus_flows",fields:[{field:"id",special:["uuid"]},{field:"name"},{field:"icon"},{field:"color"},{field:"description"},{field:"status"},{field:"trigger"},{field:"accountability"},{field:"options",special:["cast-json"]},{field:"operation"},{field:"operations",special:["o2m"]},{field:"date_created",special:["date-created"]},{field:"user_created",special:["user-created"]}]}),Oc({table:"directus_operations",fields:[{field:"id",special:["uuid"]},{field:"name"},{field:"key"},{field:"type"},{field:"position_x"},{field:"position_y"},{field:"options",special:["cast-json"]},{field:"resolve"},{field:"reject"},{field:"flow"},{field:"date_created",special:["date-created"]},{field:"user_created",special:["user-created"]}]}),Oc({table:"directus_translations",fields:[{field:"id",hidden:!0,sort:1,special:["uuid"]},{field:"key",width:"half",sort:2,required:!0,interface:"input",options:{font:"monospace",placeholder:"$t:translation_key_placeholder"}},{field:"language",interface:"system-language",width:"half",sort:3,required:!0},{field:"value",interface:"input-multiline",sort:4,required:!0,options:{placeholder:"$t:enter_a_value"}}]}),Oc({table:"directus_versions",fields:[{field:"id",special:["uuid"],readonly:!0,hidden:!0},{field:"key"},{field:"name"},{field:"collection"},{field:"item"},{field:"hash",readonly:!0,hidden:!0},{field:"date_created",special:["date-created","cast-timestamp"]},{field:"date_updated",special:["date-updated","cast-timestamp"]},{field:"user_created",special:["user-created"]},{field:"user_updated",special:["user-updated"]}]}),Oc({table:"directus_extensions",fields:[{collection:"directus_extensions",field:"id",special:["uuid"]},{collection:"directus_extensions",field:"folder"},{collection:"directus_extensions",field:"source"},{collection:"directus_extensions",field:"bundle"},{collection:"directus_extensions",field:"enabled",special:["cast-boolean"]}]});var Cc={role:null,permissions:{},validation:null,presets:null,fields:["*"],system:!0},Tc=[{collection:"directus_collections",action:"read"},{collection:"directus_fields",action:"read"},{collection:"directus_permissions",action:"read",permissions:{role:{_eq:"$CURRENT_ROLE"}}},{collection:"directus_relations",action:"read"}].map((e=>({...Cc,...e})));function Rc(e,t){if("__proto__"!==e)return t}function Ic(e){return"string"==typeof e?e.split(","):Array.isArray(e)?e:[e]}[...Tc,{collection:"directus_activity",action:"read",permissions:{user:{_eq:"$CURRENT_USER"}}},{collection:"directus_activity",action:"create",validation:{comment:{_nnull:!0}}},{collection:"directus_presets",action:"read",permissions:{_or:[{user:{_eq:"$CURRENT_USER"}},{_and:[{user:{_null:!0}},{role:{_eq:"$CURRENT_ROLE"}}]},{_and:[{user:{_null:!0}},{role:{_null:!0}}]}]}},{collection:"directus_presets",action:"create",validation:{user:{_eq:"$CURRENT_USER"}}},{collection:"directus_presets",action:"update",permissions:{user:{_eq:"$CURRENT_USER"}}},{collection:"directus_presets",action:"delete",permissions:{user:{_eq:"$CURRENT_USER"}}},{collection:"directus_roles",action:"read",permissions:{id:{_eq:"$CURRENT_ROLE"}}},{collection:"directus_settings",action:"read"},{collection:"directus_translations",action:"read"},{collection:"directus_notifications",action:"read",permissions:{recipient:{_eq:"$CURRENT_USER"}}},{collection:"directus_notifications",action:"update",permissions:{recipient:{_eq:"$CURRENT_USER"}},fields:["status"]},{collection:"directus_shares",action:"read",permissions:{user_created:{_eq:"$CURRENT_USER"}}},{collection:"directus_users",action:"read",permissions:{id:{_eq:"$CURRENT_USER"}},fields:["id","first_name","last_name","last_page","email","password","location","title","description","tags","preferences_divider","avatar","language","appearance","theme_light","theme_dark","tfa_secret","status","role"]}].map((e=>({...Cc,...e}))),bc.extend({type:"string",base:bc.string(),messages:{"string.contains":"{{#label}} must contain [{{#substring}}]","string.icontains":"{{#label}} must contain case insensitive [{{#substring}}]","string.ncontains":"{{#label}} can't contain [{{#substring}}]"},rules:{contains:{args:[{name:"substring",ref:!0,assert:e=>"string"==typeof e,message:"must be a string"}],method(e){return this.$_addRule({name:"contains",args:{substring:e}})},validate:(e,t,{substring:r})=>!1===e.includes(r)?t.error("string.contains",{substring:r}):e},icontains:{args:[{name:"substring",ref:!0,assert:e=>"string"==typeof e,message:"must be a string"}],method(e){return this.$_addRule({name:"icontains",args:{substring:e}})},validate:(e,t,{substring:r})=>!1===e.toLowerCase().includes(r.toLowerCase())?t.error("string.icontains",{substring:r}):e},ncontains:{args:[{name:"substring",ref:!0,assert:e=>"string"==typeof e,message:"must be a string"}],method(e){return this.$_addRule({name:"ncontains",args:{substring:e}})},validate:(e,t,{substring:r})=>!0===e.includes(r)?t.error("string.ncontains",{substring:r}):e}}});var xc={exports:{}},jc={},Pc={},Nc={},$c={},Mc={},Dc={};Object.defineProperty(Dc,"__esModule",{value:!0});const Lc=s;Dc.default=(e,t)=>(0,Lc.createHash)(e).update(t).digest(),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.concatKdf=e.lengthAndInput=e.uint32be=e.uint64be=e.p2s=e.concat=e.decoder=e.encoder=void 0;const t=Dc;e.encoder=new TextEncoder,e.decoder=new TextDecoder;const r=2**32;function n(...e){const t=e.reduce(((e,{length:t})=>e+t),0),r=new Uint8Array(t);let n=0;return e.forEach((e=>{r.set(e,n),n+=e.length})),r}function i(e,t,n){if(t<0||t>=r)throw new RangeError(`value must be >= 0 and <= ${r-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,255&t],n)}function s(e){const t=new Uint8Array(4);return i(t,e),t}e.concat=n,e.p2s=function(t,r){return n(e.encoder.encode(t),new Uint8Array([0]),r)},e.uint64be=function(e){const t=Math.floor(e/r),n=e%r,s=new Uint8Array(8);return i(s,t,0),i(s,n,4),s},e.uint32be=s,e.lengthAndInput=function(e){return n(s(e.length),e)},e.concatKdf=async function(e,r,n){const i=Math.ceil((r>>3)/32),o=new Uint8Array(32*i);for(let r=0;r>3)}}(Mc),Object.defineProperty($c,"__esModule",{value:!0}),$c.decode=$c.encode=$c.encodeBase64=$c.decodeBase64=void 0;const Bc=i,Kc=Mc;Bc.Buffer.isEncoding("base64url")?$c.encode=e=>Bc.Buffer.from(e).toString("base64url"):$c.encode=e=>Bc.Buffer.from(e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");$c.decodeBase64=e=>Bc.Buffer.from(e,"base64");$c.encodeBase64=e=>Bc.Buffer.from(e).toString("base64");$c.decode=e=>Bc.Buffer.from(function(e){let t=e;return t instanceof Uint8Array&&(t=Kc.decoder.decode(t)),t}(e),"base64");var Fc={},Uc={},Wc={};Object.defineProperty(Wc,"__esModule",{value:!0}),Wc.JWSSignatureVerificationFailed=Wc.JWKSTimeout=Wc.JWKSMultipleMatchingKeys=Wc.JWKSNoMatchingKey=Wc.JWKSInvalid=Wc.JWKInvalid=Wc.JWTInvalid=Wc.JWSInvalid=Wc.JWEInvalid=Wc.JWEDecompressionFailed=Wc.JWEDecryptionFailed=Wc.JOSENotSupported=Wc.JOSEAlgNotAllowed=Wc.JWTExpired=Wc.JWTClaimValidationFailed=Wc.JOSEError=void 0;class Jc extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var t;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}Wc.JOSEError=Jc;Wc.JWTClaimValidationFailed=class extends Jc{static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,t="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=t,this.reason=r}};Wc.JWTExpired=class extends Jc{static get code(){return"ERR_JWT_EXPIRED"}constructor(e,t="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=t,this.reason=r}};Wc.JOSEAlgNotAllowed=class extends Jc{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}};Wc.JOSENotSupported=class extends Jc{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}};Wc.JWEDecryptionFailed=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}};Wc.JWEDecompressionFailed=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWE_DECOMPRESSION_FAILED",this.message="decompression operation failed"}static get code(){return"ERR_JWE_DECOMPRESSION_FAILED"}};Wc.JWEInvalid=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}};Wc.JWSInvalid=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}};Wc.JWTInvalid=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}};Wc.JWKInvalid=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}};Wc.JWKSInvalid=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}};Wc.JWKSNoMatchingKey=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}};Wc.JWKSMultipleMatchingKeys=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}};Wc.JWKSTimeout=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}};Wc.JWSSignatureVerificationFailed=class extends Jc{constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}};var Hc={},Gc={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=s;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.randomFillSync}})}(Gc),Object.defineProperty(Hc,"__esModule",{value:!0}),Hc.bitLength=void 0;const zc=Wc,Vc=Gc;function qc(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new zc.JOSENotSupported(`Unsupported JWE Algorithm: ${e}`)}}Hc.bitLength=qc,Hc.default=e=>(0,Vc.default)(new Uint8Array(qc(e)>>3)),Object.defineProperty(Uc,"__esModule",{value:!0});const Xc=Wc,Yc=Hc;Uc.default=(e,t)=>{if(t.length<<3!==(0,Yc.bitLength)(e))throw new Xc.JWEInvalid("Invalid Initialization Vector length")};var Zc={},Qc={};Object.defineProperty(Qc,"__esModule",{value:!0});const el=s,tl=t;Qc.default=tl.types.isKeyObject?e=>tl.types.isKeyObject(e):e=>null!=e&&e instanceof el.KeyObject,Object.defineProperty(Zc,"__esModule",{value:!0});const rl=Wc,nl=Qc;Zc.default=(e,t)=>{let r;switch(e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":r=parseInt(e.slice(-3),10);break;case"A128GCM":case"A192GCM":case"A256GCM":r=parseInt(e.slice(1,4),10);break;default:throw new rl.JOSENotSupported(`Content Encryption Algorithm ${e} is not supported either by JOSE or your javascript runtime`)}if(t instanceof Uint8Array){const e=t.byteLength<<3;if(e!==r)throw new rl.JWEInvalid(`Invalid Content Encryption Key length. Expected ${r} bits, got ${e} bits`)}else{if(!(0,nl.default)(t)||"secret"!==t.type)throw new TypeError("Invalid Content Encryption Key type");{const e=t.symmetricKeySize<<3;if(e!==r)throw new rl.JWEInvalid(`Invalid Content Encryption Key length. Expected ${r} bits, got ${e} bits`)}}};var il={};Object.defineProperty(il,"__esModule",{value:!0});const sl=s.timingSafeEqual;il.default=sl;var ol={};Object.defineProperty(ol,"__esModule",{value:!0});const al=s,cl=Mc;ol.default=function(e,t,r,n,i,s){const o=(0,cl.concat)(e,t,r,(0,cl.uint64be)(e.length<<3)),a=(0,al.createHmac)(`sha${n}`,i);return a.update(o),a.digest().slice(0,s>>3)};var ll={};Object.defineProperty(ll,"__esModule",{value:!0}),ll.isCryptoKey=void 0;const ul=t,dl=s.webcrypto;ll.default=dl,ll.isCryptoKey=ul.types.isCryptoKey?e=>ul.types.isCryptoKey(e):e=>!1;var fl={};function pl(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function hl(e,t){return e.name===t}function ml(e){return parseInt(e.name.slice(4),10)}function yl(e,t){if(t.length&&!t.some((t=>e.usages.includes(t)))){let e="CryptoKey does not support this operation, its usages must include ";if(t.length>2){const r=t.pop();e+=`one of ${t.join(", ")}, or ${r}.`}else 2===t.length?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw new TypeError(e)}}Object.defineProperty(fl,"__esModule",{value:!0}),fl.checkEncCryptoKey=fl.checkSigCryptoKey=void 0,fl.checkSigCryptoKey=function(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!hl(e.algorithm,"HMAC"))throw pl("HMAC");const r=parseInt(t.slice(2),10);if(ml(e.algorithm.hash)!==r)throw pl(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!hl(e.algorithm,"RSASSA-PKCS1-v1_5"))throw pl("RSASSA-PKCS1-v1_5");const r=parseInt(t.slice(2),10);if(ml(e.algorithm.hash)!==r)throw pl(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!hl(e.algorithm,"RSA-PSS"))throw pl("RSA-PSS");const r=parseInt(t.slice(2),10);if(ml(e.algorithm.hash)!==r)throw pl(`SHA-${r}`,"algorithm.hash");break}case"EdDSA":if("Ed25519"!==e.algorithm.name&&"Ed448"!==e.algorithm.name)throw pl("Ed25519 or Ed448");break;case"ES256":case"ES384":case"ES512":{if(!hl(e.algorithm,"ECDSA"))throw pl("ECDSA");const r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw pl(r,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}yl(e,r)},fl.checkEncCryptoKey=function(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!hl(e.algorithm,"AES-GCM"))throw pl("AES-GCM");const r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw pl(r,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!hl(e.algorithm,"AES-KW"))throw pl("AES-KW");const r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw pl(r,"algorithm.length");break}case"ECDH":switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw pl("ECDH, X25519, or X448")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!hl(e.algorithm,"PBKDF2"))throw pl("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!hl(e.algorithm,"RSA-OAEP"))throw pl("RSA-OAEP");const r=parseInt(t.slice(9),10)||1;if(ml(e.algorithm.hash)!==r)throw pl(`SHA-${r}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}yl(e,r)};var gl={};function _l(e,t,...r){if(r.length>2){const t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}Object.defineProperty(gl,"__esModule",{value:!0}),gl.withAlg=void 0,gl.default=(e,...t)=>_l("Key must be ",e,...t),gl.withAlg=function(e,t,...r){return _l(`Key for the ${e} algorithm must be `,t,...r)};var vl={};Object.defineProperty(vl,"__esModule",{value:!0});const bl=s;let wl;vl.default=e=>(wl||(wl=new Set((0,bl.getCiphers)())),wl.has(e));var Sl={};Object.defineProperty(Sl,"__esModule",{value:!0}),Sl.types=void 0;const El=ll,kl=Qc;Sl.default=e=>(0,kl.default)(e)||(0,El.isCryptoKey)(e);const Al=["KeyObject"];Sl.types=Al,(globalThis.CryptoKey||(null===El.default||void 0===El.default?void 0:El.default.CryptoKey))&&Al.push("CryptoKey"),Object.defineProperty(Fc,"__esModule",{value:!0});const Ol=s,Cl=Uc,Tl=Zc,Rl=Mc,Il=Wc,xl=il,jl=ol,Pl=ll,Nl=fl,$l=Qc,Ml=gl,Dl=vl,Ll=Sl;Fc.default=(e,t,r,n,i,s)=>{let o;if((0,Pl.isCryptoKey)(t))(0,Nl.checkEncCryptoKey)(t,e,"decrypt"),o=Ol.KeyObject.from(t);else{if(!(t instanceof Uint8Array||(0,$l.default)(t)))throw new TypeError((0,Ml.default)(t,...Ll.types,"Uint8Array"));o=t}switch((0,Tl.default)(e,o),(0,Cl.default)(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return function(e,t,r,n,i,s){const o=parseInt(e.slice(1,4),10);(0,$l.default)(t)&&(t=t.export());const a=t.subarray(o>>3),c=t.subarray(0,o>>3),l=parseInt(e.slice(-3),10),u=`aes-${o}-cbc`;if(!(0,Dl.default)(u))throw new Il.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);const d=(0,jl.default)(s,n,r,l,c,o);let f,p;try{f=(0,xl.default)(i,d)}catch{}if(!f)throw new Il.JWEDecryptionFailed;try{const e=(0,Ol.createDecipheriv)(u,a,n);p=(0,Rl.concat)(e.update(r),e.final())}catch{}if(!p)throw new Il.JWEDecryptionFailed;return p}(e,o,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return function(e,t,r,n,i,s){const o=`aes-${parseInt(e.slice(1,4),10)}-gcm`;if(!(0,Dl.default)(o))throw new Il.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);try{const e=(0,Ol.createDecipheriv)(o,t,n,{authTagLength:16});e.setAuthTag(i),s.byteLength&&e.setAAD(s,{plaintextLength:r.length});const a=e.update(r);return e.final(),a}catch{throw new Il.JWEDecryptionFailed}}(e,o,r,n,i,s);default:throw new Il.JOSENotSupported("Unsupported JWE Content Encryption Algorithm")}};var Bl={};Object.defineProperty(Bl,"__esModule",{value:!0}),Bl.deflate=Bl.inflate=void 0;const Kl=t,Fl=o,Ul=Wc,Wl=(0,Kl.promisify)(Fl.inflateRaw),Jl=(0,Kl.promisify)(Fl.deflateRaw);Bl.inflate=e=>Wl(e,{maxOutputLength:25e4}).catch((()=>{throw new Ul.JWEDecompressionFailed}));Bl.deflate=e=>Jl(e);var Hl={};Object.defineProperty(Hl,"__esModule",{value:!0});Hl.default=(...e)=>{const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let r;for(const e of t){const t=Object.keys(e);if(r&&0!==r.size)for(const e of t){if(r.has(e))return!1;r.add(e)}else r=new Set(t)}return!0};var Gl={};Object.defineProperty(Gl,"__esModule",{value:!0}),Gl.default=function(e){if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let r=e;for(;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(e)===r};var zl={},Vl={};Object.defineProperty(Vl,"__esModule",{value:!0}),Vl.unwrap=Vl.wrap=void 0;const ql=i,Xl=s,Yl=Wc,Zl=Mc,Ql=ll,eu=fl,tu=Qc,ru=gl,nu=vl,iu=Sl;function su(e,t){if(e.symmetricKeySize<<3!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function ou(e,t,r){if((0,tu.default)(e))return e;if(e instanceof Uint8Array)return(0,Xl.createSecretKey)(e);if((0,Ql.isCryptoKey)(e))return(0,eu.checkEncCryptoKey)(e,t,r),Xl.KeyObject.from(e);throw new TypeError((0,ru.default)(e,...iu.types,"Uint8Array"))}Vl.wrap=(e,t,r)=>{const n=`aes${parseInt(e.slice(1,4),10)}-wrap`;if(!(0,nu.default)(n))throw new Yl.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`);const i=ou(t,e,"wrapKey");su(i,e);const s=(0,Xl.createCipheriv)(n,i,ql.Buffer.alloc(8,166));return(0,Zl.concat)(s.update(r),s.final())};Vl.unwrap=(e,t,r)=>{const n=`aes${parseInt(e.slice(1,4),10)}-wrap`;if(!(0,nu.default)(n))throw new Yl.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`);const i=ou(t,e,"unwrapKey");su(i,e);const s=(0,Xl.createDecipheriv)(n,i,ql.Buffer.alloc(8,166));return(0,Zl.concat)(s.update(r),s.final())};var au={},cu={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.setCurve=e.weakMap=void 0;const t=i,r=s,n=Wc,o=ll,a=Qc,c=gl,l=Sl,u=t.Buffer.from([42,134,72,206,61,3,1,7]),d=t.Buffer.from([43,129,4,0,34]),f=t.Buffer.from([43,129,4,0,35]),p=t.Buffer.from([43,129,4,0,10]);e.weakMap=new WeakMap;const h=(t,i)=>{var s;let m;if((0,o.isCryptoKey)(t))m=r.KeyObject.from(t);else{if(!(0,a.default)(t))throw new TypeError((0,c.default)(t,...l.types));m=t}if("secret"===m.type)throw new TypeError('only "private" or "public" type keys can be used for this operation');switch(m.asymmetricKeyType){case"ed25519":case"ed448":return`Ed${m.asymmetricKeyType.slice(2)}`;case"x25519":case"x448":return`X${m.asymmetricKeyType.slice(1)}`;case"ec":{if(e.weakMap.has(m))return e.weakMap.get(m);let t=null===(s=m.asymmetricKeyDetails)||void 0===s?void 0:s.namedCurve;if(t||"private"!==m.type){if(!t){const e=m.export({format:"der",type:"spki"}),r=e[1]<128?14:15,i=e[r],s=e.slice(r+1,r+1+i);if(s.equals(u))t="prime256v1";else if(s.equals(d))t="secp384r1";else if(s.equals(f))t="secp521r1";else{if(!s.equals(p))throw new n.JOSENotSupported("Unsupported key curve for this operation");t="secp256k1"}}}else t=h((0,r.createPublicKey)(m),!0);if(i)return t;const o=(e=>{switch(e){case"prime256v1":return"P-256";case"secp384r1":return"P-384";case"secp521r1":return"P-521";case"secp256k1":return"secp256k1";default:throw new n.JOSENotSupported("Unsupported key curve for this operation")}})(t);return e.weakMap.set(m,o),o}default:throw new TypeError("Invalid asymmetric key type for this operation")}};e.setCurve=function(t,r){e.weakMap.set(t,r)},e.default=h}(cu),Object.defineProperty(au,"__esModule",{value:!0}),au.ecdhAllowed=au.generateEpk=au.deriveKey=void 0;const lu=s,uu=cu,du=Mc,fu=Wc,pu=ll,hu=fl,mu=Qc,yu=gl,gu=Sl,_u=(0,t.promisify)(lu.generateKeyPair);au.deriveKey=async function(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){let o,a;if((0,pu.isCryptoKey)(e))(0,hu.checkEncCryptoKey)(e,"ECDH"),o=lu.KeyObject.from(e);else{if(!(0,mu.default)(e))throw new TypeError((0,yu.default)(e,...gu.types));o=e}if((0,pu.isCryptoKey)(t))(0,hu.checkEncCryptoKey)(t,"ECDH","deriveBits"),a=lu.KeyObject.from(t);else{if(!(0,mu.default)(t))throw new TypeError((0,yu.default)(t,...gu.types));a=t}const c=(0,du.concat)((0,du.lengthAndInput)(du.encoder.encode(r)),(0,du.lengthAndInput)(i),(0,du.lengthAndInput)(s),(0,du.uint32be)(n)),l=(0,lu.diffieHellman)({privateKey:a,publicKey:o});return(0,du.concatKdf)(l,n,c)},au.generateEpk=async function(e){let t;if((0,pu.isCryptoKey)(e))t=lu.KeyObject.from(e);else{if(!(0,mu.default)(e))throw new TypeError((0,yu.default)(e,...gu.types));t=e}switch(t.asymmetricKeyType){case"x25519":return _u("x25519");case"x448":return _u("x448");case"ec":{const e=(0,uu.default)(t);return _u("ec",{namedCurve:e})}default:throw new fu.JOSENotSupported("Invalid or unsupported EPK")}};au.ecdhAllowed=e=>["P-256","P-384","P-521","X25519","X448"].includes((0,uu.default)(e));var vu={},bu={};Object.defineProperty(bu,"__esModule",{value:!0});const wu=Wc;bu.default=function(e){if(!(e instanceof Uint8Array)||e.length<8)throw new wu.JWEInvalid("PBES2 Salt Input must be 8 or more octets")},Object.defineProperty(vu,"__esModule",{value:!0}),vu.decrypt=vu.encrypt=void 0;const Su=s,Eu=Gc,ku=Mc,Au=$c,Ou=Vl,Cu=bu,Tu=ll,Ru=fl,Iu=Qc,xu=gl,ju=Sl,Pu=(0,t.promisify)(Su.pbkdf2);function Nu(e,t){if((0,Iu.default)(e))return e.export();if(e instanceof Uint8Array)return e;if((0,Tu.isCryptoKey)(e))return(0,Ru.checkEncCryptoKey)(e,t,"deriveBits","deriveKey"),Su.KeyObject.from(e).export();throw new TypeError((0,xu.default)(e,...ju.types,"Uint8Array"))}vu.encrypt=async(e,t,r,n=2048,i=(0,Eu.default)(new Uint8Array(16)))=>{(0,Cu.default)(i);const s=(0,ku.p2s)(e,i),o=parseInt(e.slice(13,16),10)>>3,a=Nu(t,e),c=await Pu(a,s,n,o,`sha${e.slice(8,11)}`);return{encryptedKey:await(0,Ou.wrap)(e.slice(-6),c,r),p2c:n,p2s:(0,Au.encode)(i)}};vu.decrypt=async(e,t,r,n,i)=>{(0,Cu.default)(i);const s=(0,ku.p2s)(e,i),o=parseInt(e.slice(13,16),10)>>3,a=Nu(t,e),c=await Pu(a,s,n,o,`sha${e.slice(8,11)}`);return(0,Ou.unwrap)(e.slice(-6),c,r)};var $u={},Mu={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.setModulusLength=e.weakMap=void 0,e.weakMap=new WeakMap;const t=(e,r)=>{let n=e.readUInt8(1);if(!(128&n))return 0===r?n:t(e.subarray(2+n),r-1);const i=127&n;n=0;for(let t=0;t{var n,i;if(e.weakMap.has(r))return e.weakMap.get(r);const s=null!==(i=null===(n=r.asymmetricKeyDetails)||void 0===n?void 0:n.modulusLength)&&void 0!==i?i:((e,r)=>{const n=e.readUInt8(1);if(!(128&n))return t(e.subarray(2),r);const i=127&n;return t(e.subarray(2+i),r)})(r.export({format:"der",type:"pkcs1"}),"private"===r.type?1:0)-1<<3;return e.weakMap.set(r,s),s};e.setModulusLength=(t,r)=>{e.weakMap.set(t,r)},e.default=(e,t)=>{if(r(e)<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}}(Mu),Object.defineProperty($u,"__esModule",{value:!0}),$u.decrypt=$u.encrypt=void 0;const Du=s,Lu=Mu,Bu=ll,Ku=fl,Fu=Qc,Uu=gl,Wu=Sl,Ju=(e,t)=>{if("rsa"!==e.asymmetricKeyType)throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa");(0,Lu.default)(e,t)},Hu=e=>{switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return Du.constants.RSA_PKCS1_OAEP_PADDING;case"RSA1_5":return Du.constants.RSA_PKCS1_PADDING;default:return}},Gu=e=>{switch(e){case"RSA-OAEP":return"sha1";case"RSA-OAEP-256":return"sha256";case"RSA-OAEP-384":return"sha384";case"RSA-OAEP-512":return"sha512";default:return}};function zu(e,t,...r){if((0,Fu.default)(e))return e;if((0,Bu.isCryptoKey)(e))return(0,Ku.checkEncCryptoKey)(e,t,...r),Du.KeyObject.from(e);throw new TypeError((0,Uu.default)(e,...Wu.types))}$u.encrypt=(e,t,r)=>{const n=Hu(e),i=Gu(e),s=zu(t,e,"wrapKey","encrypt");return Ju(s,e),(0,Du.publicEncrypt)({key:s,oaepHash:i,padding:n},r)};$u.decrypt=(e,t,r)=>{const n=Hu(e),i=Gu(e),s=zu(t,e,"unwrapKey","decrypt");return Ju(s,e),(0,Du.privateDecrypt)({key:s,oaepHash:i,padding:n},r)};var Vu={};Object.defineProperty(Vu,"__esModule",{value:!0}),Vu.bitLength=void 0;const qu=Wc,Xu=Gc;function Yu(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new qu.JOSENotSupported(`Unsupported JWE Algorithm: ${e}`)}}Vu.bitLength=Yu,Vu.default=e=>(0,Xu.default)(new Uint8Array(Yu(e)>>3));var Zu={},Qu={};Object.defineProperty(Qu,"__esModule",{value:!0}),Qu.fromX509=Qu.fromSPKI=Qu.fromPKCS8=Qu.toPKCS8=Qu.toSPKI=void 0;const ed=s,td=i,rd=ll,nd=Qc,id=gl,sd=Sl,od=(e,t,r)=>{let n;if((0,rd.isCryptoKey)(r)){if(!r.extractable)throw new TypeError("CryptoKey is not extractable");n=ed.KeyObject.from(r)}else{if(!(0,nd.default)(r))throw new TypeError((0,id.default)(r,...sd.types));n=r}if(n.type!==e)throw new TypeError(`key is not a ${e} key`);return n.export({format:"pem",type:t})};Qu.toSPKI=e=>od("public","spki",e);Qu.toPKCS8=e=>od("private","pkcs8",e);Qu.fromPKCS8=e=>(0,ed.createPrivateKey)({key:td.Buffer.from(e.replace(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,""),"base64"),type:"pkcs8",format:"der"});Qu.fromSPKI=e=>(0,ed.createPublicKey)({key:td.Buffer.from(e.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,""),"base64"),type:"spki",format:"der"});Qu.fromX509=e=>(0,ed.createPublicKey)({key:e,type:"spki",format:"pem"});var ad={},cd={};Object.defineProperty(cd,"__esModule",{value:!0});const ld=i,ud=Wc,dd=ld.Buffer.from([0]),fd=ld.Buffer.from([2]),pd=ld.Buffer.from([3]),hd=ld.Buffer.from([48]),md=ld.Buffer.from([4]),yd=e=>{if(e<128)return ld.Buffer.from([e]);const t=ld.Buffer.alloc(5);t.writeUInt32BE(e,1);let r=1;for(;0===t[r];)r++;return t[r-1]=128|5-r,t.slice(r-1)},gd=new Map([["P-256",ld.Buffer.from("06 08 2A 86 48 CE 3D 03 01 07".replace(/ /g,""),"hex")],["secp256k1",ld.Buffer.from("06 05 2B 81 04 00 0A".replace(/ /g,""),"hex")],["P-384",ld.Buffer.from("06 05 2B 81 04 00 22".replace(/ /g,""),"hex")],["P-521",ld.Buffer.from("06 05 2B 81 04 00 23".replace(/ /g,""),"hex")],["ecPublicKey",ld.Buffer.from("06 07 2A 86 48 CE 3D 02 01".replace(/ /g,""),"hex")],["X25519",ld.Buffer.from("06 03 2B 65 6E".replace(/ /g,""),"hex")],["X448",ld.Buffer.from("06 03 2B 65 6F".replace(/ /g,""),"hex")],["Ed25519",ld.Buffer.from("06 03 2B 65 70".replace(/ /g,""),"hex")],["Ed448",ld.Buffer.from("06 03 2B 65 71".replace(/ /g,""),"hex")]]);cd.default=class{constructor(){this.length=0,this.elements=[]}oidFor(e){const t=gd.get(e);if(!t)throw new ud.JOSENotSupported("Invalid or unsupported OID");this.elements.push(t),this.length+=t.length}zero(){this.elements.push(fd,ld.Buffer.from([1]),dd),this.length+=3}one(){this.elements.push(fd,ld.Buffer.from([1]),ld.Buffer.from([1])),this.length+=3}unsignedInteger(e){if(128&e[0]){const t=yd(e.length+1);this.elements.push(fd,t,dd,e),this.length+=2+t.length+e.length}else{let t=0;for(;0===e[t]&&!(128&e[t+1]);)t++;const r=yd(e.length-t);this.elements.push(fd,yd(e.length-t),e.slice(t)),this.length+=1+r.length+e.length-t}}octStr(e){const t=yd(e.length);this.elements.push(md,yd(e.length),e),this.length+=1+t.length+e.length}bitStr(e){const t=yd(e.length+1);this.elements.push(pd,yd(e.length+1),dd,e),this.length+=1+t.length+e.length+1}add(e){this.elements.push(e),this.length+=e.length}end(e=hd){const t=yd(this.length);return ld.Buffer.concat([e,t,...this.elements],1+t.length+this.length)}};var _d={};Object.defineProperty(_d,"__esModule",{value:!0}),_d.jwkImport=_d.jwkExport=_d.rsaPssParams=_d.oneShotCallback=void 0;const[vd,bd]=process.versions.node.split(".").map((e=>parseInt(e,10)));_d.oneShotCallback=vd>=16||15===vd&&bd>=13,_d.rsaPssParams=!("electron"in process.versions)&&(vd>=17||16===vd&&bd>=9),_d.jwkExport=vd>=16||15===vd&&bd>=9,_d.jwkImport=vd>=16||15===vd&&bd>=12,Object.defineProperty(ad,"__esModule",{value:!0});const wd=i,Sd=s,Ed=$c,kd=Wc,Ad=cu,Od=Mu,Cd=cd,Td=_d;ad.default=e=>{if(Td.jwkImport&&"oct"!==e.kty)return e.d?(0,Sd.createPrivateKey)({format:"jwk",key:e}):(0,Sd.createPublicKey)({format:"jwk",key:e});switch(e.kty){case"oct":return(0,Sd.createSecretKey)((0,Ed.decode)(e.k));case"RSA":{const t=new Cd.default,r=void 0!==e.d,n=wd.Buffer.from(e.n,"base64"),i=wd.Buffer.from(e.e,"base64");r?(t.zero(),t.unsignedInteger(n),t.unsignedInteger(i),t.unsignedInteger(wd.Buffer.from(e.d,"base64")),t.unsignedInteger(wd.Buffer.from(e.p,"base64")),t.unsignedInteger(wd.Buffer.from(e.q,"base64")),t.unsignedInteger(wd.Buffer.from(e.dp,"base64")),t.unsignedInteger(wd.Buffer.from(e.dq,"base64")),t.unsignedInteger(wd.Buffer.from(e.qi,"base64"))):(t.unsignedInteger(n),t.unsignedInteger(i));const s={key:t.end(),format:"der",type:"pkcs1"},o=r?(0,Sd.createPrivateKey)(s):(0,Sd.createPublicKey)(s);return(0,Od.setModulusLength)(o,n.length<<3),o}case"EC":{const t=new Cd.default,r=void 0!==e.d,n=wd.Buffer.concat([wd.Buffer.alloc(1,4),wd.Buffer.from(e.x,"base64"),wd.Buffer.from(e.y,"base64")]);if(r){t.zero();const r=new Cd.default;r.oidFor("ecPublicKey"),r.oidFor(e.crv),t.add(r.end());const i=new Cd.default;i.one(),i.octStr(wd.Buffer.from(e.d,"base64"));const s=new Cd.default;s.bitStr(n);const o=s.end(wd.Buffer.from([161]));i.add(o);const a=i.end(),c=new Cd.default;c.add(a);const l=c.end(wd.Buffer.from([4]));t.add(l);const u=t.end(),d=(0,Sd.createPrivateKey)({key:u,format:"der",type:"pkcs8"});return(0,Ad.setCurve)(d,e.crv),d}const i=new Cd.default;i.oidFor("ecPublicKey"),i.oidFor(e.crv),t.add(i.end()),t.bitStr(n);const s=t.end(),o=(0,Sd.createPublicKey)({key:s,format:"der",type:"spki"});return(0,Ad.setCurve)(o,e.crv),o}case"OKP":{const t=new Cd.default;if(void 0!==e.d){t.zero();const r=new Cd.default;r.oidFor(e.crv),t.add(r.end());const n=new Cd.default;n.octStr(wd.Buffer.from(e.d,"base64"));const i=n.end(wd.Buffer.from([4]));t.add(i);const s=t.end();return(0,Sd.createPrivateKey)({key:s,format:"der",type:"pkcs8"})}const r=new Cd.default;r.oidFor(e.crv),t.add(r.end()),t.bitStr(wd.Buffer.from(e.x,"base64"));const n=t.end();return(0,Sd.createPublicKey)({key:n,format:"der",type:"spki"})}default:throw new kd.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}},Object.defineProperty(Zu,"__esModule",{value:!0}),Zu.importJWK=Zu.importPKCS8=Zu.importX509=Zu.importSPKI=void 0;const Rd=$c,Id=Qu,xd=ad,jd=Wc,Pd=Gl;Zu.importSPKI=async function(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return(0,Id.fromSPKI)(e,t,r)},Zu.importX509=async function(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN CERTIFICATE-----"))throw new TypeError('"x509" must be X.509 formatted string');return(0,Id.fromX509)(e,t,r)},Zu.importPKCS8=async function(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PRIVATE KEY-----"))throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return(0,Id.fromPKCS8)(e,t,r)},Zu.importJWK=async function(e,t,r){var n;if(!(0,Pd.default)(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return null!=r||(r=!0!==e.ext),r?(0,xd.default)({...e,alg:t,ext:null!==(n=e.ext)&&void 0!==n&&n}):(0,Rd.decode)(e.k);case"RSA":if(void 0!==e.oth)throw new jd.JOSENotSupported('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return(0,xd.default)({...e,alg:t});default:throw new jd.JOSENotSupported('Unsupported "kty" (Key Type) Parameter value')}};var Nd={};Object.defineProperty(Nd,"__esModule",{value:!0});const $d=gl,Md=Sl;Nd.default=(e,t,r)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?((e,t)=>{if(!(t instanceof Uint8Array)){if(!(0,Md.default)(t))throw new TypeError((0,$d.withAlg)(e,t,...Md.types,"Uint8Array"));if("secret"!==t.type)throw new TypeError(`${Md.types.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}})(e,t):((e,t,r)=>{if(!(0,Md.default)(t))throw new TypeError((0,$d.withAlg)(e,t,...Md.types));if("secret"===t.type)throw new TypeError(`${Md.types.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if("sign"===r&&"public"===t.type)throw new TypeError(`${Md.types.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if("decrypt"===r&&"public"===t.type)throw new TypeError(`${Md.types.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&"verify"===r&&"private"===t.type)throw new TypeError(`${Md.types.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&"encrypt"===r&&"private"===t.type)throw new TypeError(`${Md.types.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)})(e,t,r)};var Dd={},Ld={};Object.defineProperty(Ld,"__esModule",{value:!0});const Bd=s,Kd=Uc,Fd=Zc,Ud=Mc,Wd=ol,Jd=ll,Hd=fl,Gd=Qc,zd=gl,Vd=Wc,qd=vl,Xd=Sl;Ld.default=(e,t,r,n,i)=>{let s;if((0,Jd.isCryptoKey)(r))(0,Hd.checkEncCryptoKey)(r,e,"encrypt"),s=Bd.KeyObject.from(r);else{if(!(r instanceof Uint8Array||(0,Gd.default)(r)))throw new TypeError((0,zd.default)(r,...Xd.types,"Uint8Array"));s=r}switch((0,Fd.default)(e,s),(0,Kd.default)(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return function(e,t,r,n,i){const s=parseInt(e.slice(1,4),10);(0,Gd.default)(r)&&(r=r.export());const o=r.subarray(s>>3),a=r.subarray(0,s>>3),c=`aes-${s}-cbc`;if(!(0,qd.default)(c))throw new Vd.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);const l=(0,Bd.createCipheriv)(c,o,n),u=(0,Ud.concat)(l.update(t),l.final()),d=parseInt(e.slice(-3),10);return{ciphertext:u,tag:(0,Wd.default)(i,n,u,d,a,s)}}(e,t,s,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return function(e,t,r,n,i){const s=`aes-${parseInt(e.slice(1,4),10)}-gcm`;if(!(0,qd.default)(s))throw new Vd.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);const o=(0,Bd.createCipheriv)(s,r,n,{authTagLength:16});i.byteLength&&o.setAAD(i,{plaintextLength:t.length});const a=o.update(t);return o.final(),{ciphertext:a,tag:o.getAuthTag()}}(e,t,s,n,i);default:throw new Vd.JOSENotSupported("Unsupported JWE Content Encryption Algorithm")}},Object.defineProperty(Dd,"__esModule",{value:!0}),Dd.unwrap=Dd.wrap=void 0;const Yd=Ld,Zd=Fc,Qd=Hc,ef=$c;Dd.wrap=async function(e,t,r,n){const i=e.slice(0,7);n||(n=(0,Qd.default)(i));const{ciphertext:s,tag:o}=await(0,Yd.default)(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:(0,ef.encode)(n),tag:(0,ef.encode)(o)}},Dd.unwrap=async function(e,t,r,n,i){const s=e.slice(0,7);return(0,Zd.default)(s,t,r,n,i,new Uint8Array(0))},Object.defineProperty(zl,"__esModule",{value:!0});const tf=Vl,rf=au,nf=vu,sf=$u,of=$c,af=Wc,cf=Vu,lf=Zu,uf=Nd,df=Gl,ff=Dd;zl.default=async function(e,t,r,n,i){switch((0,uf.default)(e,t,"decrypt"),e){case"dir":if(void 0!==r)throw new af.JWEInvalid("Encountered unexpected JWE Encrypted Key");return t;case"ECDH-ES":if(void 0!==r)throw new af.JWEInvalid("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!(0,df.default)(n.epk))throw new af.JWEInvalid('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!rf.ecdhAllowed(t))throw new af.JOSENotSupported("ECDH with the provided key is not allowed or not supported by your javascript runtime");const i=await(0,lf.importJWK)(n.epk,e);let s,o;if(void 0!==n.apu){if("string"!=typeof n.apu)throw new af.JWEInvalid('JOSE Header "apu" (Agreement PartyUInfo) invalid');try{s=(0,of.decode)(n.apu)}catch{throw new af.JWEInvalid("Failed to base64url decode the apu")}}if(void 0!==n.apv){if("string"!=typeof n.apv)throw new af.JWEInvalid('JOSE Header "apv" (Agreement PartyVInfo) invalid');try{o=(0,of.decode)(n.apv)}catch{throw new af.JWEInvalid("Failed to base64url decode the apv")}}const a=await rf.deriveKey(i,t,"ECDH-ES"===e?n.enc:e,"ECDH-ES"===e?(0,cf.bitLength)(n.enc):parseInt(e.slice(-5,-2),10),s,o);if("ECDH-ES"===e)return a;if(void 0===r)throw new af.JWEInvalid("JWE Encrypted Key missing");return(0,tf.unwrap)(e.slice(-6),a,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if(void 0===r)throw new af.JWEInvalid("JWE Encrypted Key missing");return(0,sf.decrypt)(e,t,r);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(void 0===r)throw new af.JWEInvalid("JWE Encrypted Key missing");if("number"!=typeof n.p2c)throw new af.JWEInvalid('JOSE Header "p2c" (PBES2 Count) missing or invalid');const s=(null==i?void 0:i.maxPBES2Count)||1e4;if(n.p2c>s)throw new af.JWEInvalid('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof n.p2s)throw new af.JWEInvalid('JOSE Header "p2s" (PBES2 Salt) missing or invalid');let o;try{o=(0,of.decode)(n.p2s)}catch{throw new af.JWEInvalid("Failed to base64url decode the p2s")}return(0,nf.decrypt)(e,t,r,n.p2c,o)}case"A128KW":case"A192KW":case"A256KW":if(void 0===r)throw new af.JWEInvalid("JWE Encrypted Key missing");return(0,tf.unwrap)(e,t,r);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(void 0===r)throw new af.JWEInvalid("JWE Encrypted Key missing");if("string"!=typeof n.iv)throw new af.JWEInvalid('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof n.tag)throw new af.JWEInvalid('JOSE Header "tag" (Authentication Tag) missing or invalid');let i,s;try{i=(0,of.decode)(n.iv)}catch{throw new af.JWEInvalid("Failed to base64url decode the iv")}try{s=(0,of.decode)(n.tag)}catch{throw new af.JWEInvalid("Failed to base64url decode the tag")}return(0,ff.unwrap)(e,t,r,i,s)}default:throw new af.JOSENotSupported('Invalid or unsupported "alg" (JWE Algorithm) header value')}};var pf={};Object.defineProperty(pf,"__esModule",{value:!0});const hf=Wc;pf.default=function(e,t,r,n,i){if(void 0!==i.crit&&void 0===n.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some((e=>"string"!=typeof e||0===e.length)))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;s=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t;for(const t of n.crit){if(!s.has(t))throw new hf.JOSENotSupported(`Extension Header Parameter "${t}" is not recognized`);if(void 0===i[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(s.get(t)&&void 0===n[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(n.crit)};var mf={};Object.defineProperty(mf,"__esModule",{value:!0});mf.default=(e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some((e=>"string"!=typeof e))))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},Object.defineProperty(Nc,"__esModule",{value:!0}),Nc.flattenedDecrypt=void 0;const yf=$c,gf=Fc,_f=Bl,vf=Wc,bf=Hl,wf=Gl,Sf=zl,Ef=Mc,kf=Vu,Af=pf,Of=mf;Nc.flattenedDecrypt=async function(e,t,r){var n;if(!(0,wf.default)(e))throw new vf.JWEInvalid("Flattened JWE must be an object");if(void 0===e.protected&&void 0===e.header&&void 0===e.unprotected)throw new vf.JWEInvalid("JOSE Header missing");if("string"!=typeof e.iv)throw new vf.JWEInvalid("JWE Initialization Vector missing or incorrect type");if("string"!=typeof e.ciphertext)throw new vf.JWEInvalid("JWE Ciphertext missing or incorrect type");if("string"!=typeof e.tag)throw new vf.JWEInvalid("JWE Authentication Tag missing or incorrect type");if(void 0!==e.protected&&"string"!=typeof e.protected)throw new vf.JWEInvalid("JWE Protected Header incorrect type");if(void 0!==e.encrypted_key&&"string"!=typeof e.encrypted_key)throw new vf.JWEInvalid("JWE Encrypted Key incorrect type");if(void 0!==e.aad&&"string"!=typeof e.aad)throw new vf.JWEInvalid("JWE AAD incorrect type");if(void 0!==e.header&&!(0,wf.default)(e.header))throw new vf.JWEInvalid("JWE Shared Unprotected Header incorrect type");if(void 0!==e.unprotected&&!(0,wf.default)(e.unprotected))throw new vf.JWEInvalid("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{const t=(0,yf.decode)(e.protected);i=JSON.parse(Ef.decoder.decode(t))}catch{throw new vf.JWEInvalid("JWE Protected Header is invalid")}if(!(0,bf.default)(i,e.header,e.unprotected))throw new vf.JWEInvalid("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");const s={...i,...e.header,...e.unprotected};if((0,Af.default)(vf.JWEInvalid,new Map,null==r?void 0:r.crit,i,s),void 0!==s.zip){if(!i||!i.zip)throw new vf.JWEInvalid('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==s.zip)throw new vf.JOSENotSupported('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:o,enc:a}=s;if("string"!=typeof o||!o)throw new vf.JWEInvalid("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof a||!a)throw new vf.JWEInvalid("missing JWE Encryption Algorithm (enc) in JWE Header");const c=r&&(0,Of.default)("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&(0,Of.default)("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(c&&!c.has(o))throw new vf.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(a))throw new vf.JOSEAlgNotAllowed('"enc" (Encryption Algorithm) Header Parameter not allowed');let u;if(void 0!==e.encrypted_key)try{u=(0,yf.decode)(e.encrypted_key)}catch{throw new vf.JWEInvalid("Failed to base64url decode the encrypted_key")}let d,f,p,h=!1;"function"==typeof t&&(t=await t(i,e),h=!0);try{d=await(0,Sf.default)(o,t,u,s,r)}catch(e){if(e instanceof TypeError||e instanceof vf.JWEInvalid||e instanceof vf.JOSENotSupported)throw e;d=(0,kf.default)(a)}try{f=(0,yf.decode)(e.iv)}catch{throw new vf.JWEInvalid("Failed to base64url decode the iv")}try{p=(0,yf.decode)(e.tag)}catch{throw new vf.JWEInvalid("Failed to base64url decode the tag")}const m=Ef.encoder.encode(null!==(n=e.protected)&&void 0!==n?n:"");let y,g;y=void 0!==e.aad?(0,Ef.concat)(m,Ef.encoder.encode("."),Ef.encoder.encode(e.aad)):m;try{g=(0,yf.decode)(e.ciphertext)}catch{throw new vf.JWEInvalid("Failed to base64url decode the ciphertext")}let _=await(0,gf.default)(a,d,g,f,p,y);"DEF"===s.zip&&(_=await((null==r?void 0:r.inflateRaw)||_f.inflate)(_));const v={plaintext:_};if(void 0!==e.protected&&(v.protectedHeader=i),void 0!==e.aad)try{v.additionalAuthenticatedData=(0,yf.decode)(e.aad)}catch{throw new vf.JWEInvalid("Failed to base64url decode the aad")}return void 0!==e.unprotected&&(v.sharedUnprotectedHeader=e.unprotected),void 0!==e.header&&(v.unprotectedHeader=e.header),h?{...v,key:t}:v},Object.defineProperty(Pc,"__esModule",{value:!0}),Pc.compactDecrypt=void 0;const Cf=Nc,Tf=Wc,Rf=Mc;Pc.compactDecrypt=async function(e,t,r){if(e instanceof Uint8Array&&(e=Rf.decoder.decode(e)),"string"!=typeof e)throw new Tf.JWEInvalid("Compact JWE must be a string or Uint8Array");const{0:n,1:i,2:s,3:o,4:a,length:c}=e.split(".");if(5!==c)throw new Tf.JWEInvalid("Invalid Compact JWE");const l=await(0,Cf.flattenedDecrypt)({ciphertext:o,iv:s||void 0,protected:n||void 0,tag:a||void 0,encrypted_key:i||void 0},t,r),u={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return"function"==typeof t?{...u,key:l.key}:u};var If={};Object.defineProperty(If,"__esModule",{value:!0}),If.generalDecrypt=void 0;const xf=Nc,jf=Wc,Pf=Gl;If.generalDecrypt=async function(e,t,r){if(!(0,Pf.default)(e))throw new jf.JWEInvalid("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Pf.default))throw new jf.JWEInvalid("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new jf.JWEInvalid("JWE Recipients has no members");for(const n of e.recipients)try{return await(0,xf.flattenedDecrypt)({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new jf.JWEDecryptionFailed};var Nf={},$f={},Mf={},Df={},Lf={},Bf={};Object.defineProperty(Bf,"__esModule",{value:!0});Bf.default=class{constructor(e){if(48!==e[0])throw new TypeError;this.buffer=e,this.offset=1;if(this.decodeLength()!==e.length-this.offset)throw new TypeError}decodeLength(){let e=this.buffer[this.offset++];if(128&e){const t=-129&e;e=0;for(let r=0;r{let t;if((0,Hf.isCryptoKey)(e)){if(!e.extractable)throw new TypeError("CryptoKey is not extractable");t=Kf.KeyObject.from(e)}else{if(!(0,Gf.default)(e)){if(e instanceof Uint8Array)return{kty:"oct",k:(0,Ff.encode)(e)};throw new TypeError((0,zf.default)(e,...Vf.types,"Uint8Array"))}t=e}if(qf.jwkExport){if("secret"!==t.type&&!["rsa","ec","ed25519","x25519","ed448","x448"].includes(t.asymmetricKeyType))throw new Wf.JOSENotSupported("Unsupported key asymmetricKeyType");return t.export({format:"jwk"})}switch(t.type){case"secret":return{kty:"oct",k:(0,Ff.encode)(t.export())};case"private":case"public":switch(t.asymmetricKeyType){case"rsa":{const e=t.export({format:"der",type:"pkcs1"}),r=new Uf.default(e);"private"===t.type&&r.unsignedInteger();const n=(0,Ff.encode)(r.unsignedInteger()),i=(0,Ff.encode)(r.unsignedInteger());let s;return"private"===t.type&&(s={d:(0,Ff.encode)(r.unsignedInteger()),p:(0,Ff.encode)(r.unsignedInteger()),q:(0,Ff.encode)(r.unsignedInteger()),dp:(0,Ff.encode)(r.unsignedInteger()),dq:(0,Ff.encode)(r.unsignedInteger()),qi:(0,Ff.encode)(r.unsignedInteger())}),r.end(),{kty:"RSA",n:n,e:i,...s}}case"ec":{const e=(0,Jf.default)(t);let r,n,i;switch(e){case"secp256k1":r=64,n=33,i=-1;break;case"P-256":r=64,n=36,i=-1;break;case"P-384":r=96,n=35,i=-3;break;case"P-521":r=132,n=35,i=-3;break;default:throw new Wf.JOSENotSupported("Unsupported curve")}if("public"===t.type){const n=t.export({type:"spki",format:"der"});return{kty:"EC",crv:e,x:(0,Ff.encode)(n.subarray(-r,-r/2)),y:(0,Ff.encode)(n.subarray(-r/2))}}const s=t.export({type:"pkcs8",format:"der"});return s.length<100&&(n+=i),{...Xf((0,Kf.createPublicKey)(t)),d:(0,Ff.encode)(s.subarray(n,n+r/2))}}case"ed25519":case"x25519":{const e=(0,Jf.default)(t);if("public"===t.type){const r=t.export({type:"spki",format:"der"});return{kty:"OKP",crv:e,x:(0,Ff.encode)(r.subarray(-32))}}const r=t.export({type:"pkcs8",format:"der"});return{...Xf((0,Kf.createPublicKey)(t)),d:(0,Ff.encode)(r.subarray(-32))}}case"ed448":case"x448":{const e=(0,Jf.default)(t);if("public"===t.type){const r=t.export({type:"spki",format:"der"});return{kty:"OKP",crv:e,x:(0,Ff.encode)(r.subarray("Ed448"===e?-57:-56))}}const r=t.export({type:"pkcs8",format:"der"});return{...Xf((0,Kf.createPublicKey)(t)),d:(0,Ff.encode)(r.subarray("Ed448"===e?-57:-56))}}default:throw new Wf.JOSENotSupported("Unsupported key asymmetricKeyType")}default:throw new Wf.JOSENotSupported("Unsupported key type")}};Lf.default=Xf,Object.defineProperty(Df,"__esModule",{value:!0}),Df.exportJWK=Df.exportPKCS8=Df.exportSPKI=void 0;const Yf=Qu,Zf=Qu,Qf=Lf;Df.exportSPKI=async function(e){return(0,Yf.toSPKI)(e)},Df.exportPKCS8=async function(e){return(0,Zf.toPKCS8)(e)},Df.exportJWK=async function(e){return(0,Qf.default)(e)},Object.defineProperty(Mf,"__esModule",{value:!0});const ep=Vl,tp=au,rp=vu,np=$u,ip=$c,sp=Vu,op=Wc,ap=Df,cp=Nd,lp=Dd;Mf.default=async function(e,t,r,n,i={}){let s,o,a;switch((0,cp.default)(e,r,"encrypt"),e){case"dir":a=r;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!tp.ecdhAllowed(r))throw new op.JOSENotSupported("ECDH with the provided key is not allowed or not supported by your javascript runtime");const{apu:c,apv:l}=i;let{epk:u}=i;u||(u=(await tp.generateEpk(r)).privateKey);const{x:d,y:f,crv:p,kty:h}=await(0,ap.exportJWK)(u),m=await tp.deriveKey(r,u,"ECDH-ES"===e?t:e,"ECDH-ES"===e?(0,sp.bitLength)(t):parseInt(e.slice(-5,-2),10),c,l);if(o={epk:{x:d,crv:p,kty:h}},"EC"===h&&(o.epk.y=f),c&&(o.apu=(0,ip.encode)(c)),l&&(o.apv=(0,ip.encode)(l)),"ECDH-ES"===e){a=m;break}a=n||(0,sp.default)(t);const y=e.slice(-6);s=await(0,ep.wrap)(y,m,a);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a=n||(0,sp.default)(t),s=await(0,np.encrypt)(e,r,a);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{a=n||(0,sp.default)(t);const{p2c:c,p2s:l}=i;({encryptedKey:s,...o}=await(0,rp.encrypt)(e,r,a,c,l));break}case"A128KW":case"A192KW":case"A256KW":a=n||(0,sp.default)(t),s=await(0,ep.wrap)(e,r,a);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{a=n||(0,sp.default)(t);const{iv:c}=i;({encryptedKey:s,...o}=await(0,lp.wrap)(e,r,a,c));break}default:throw new op.JOSENotSupported('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:a,encryptedKey:s,parameters:o}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FlattenedEncrypt=e.unprotected=void 0;const t=$c,r=Ld,n=Bl,i=Hc,s=Mf,o=Wc,a=Hl,c=Mc,l=pf;e.unprotected=Symbol();e.FlattenedEncrypt=class{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(u,d){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new o.JWEInvalid("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!(0,a.default)(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new o.JWEInvalid("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");const f={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if((0,l.default)(o.JWEInvalid,new Map,null==d?void 0:d.crit,this._protectedHeader,f),void 0!==f.zip){if(!this._protectedHeader||!this._protectedHeader.zip)throw new o.JWEInvalid('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==f.zip)throw new o.JOSENotSupported('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:p,enc:h}=f;if("string"!=typeof p||!p)throw new o.JWEInvalid('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof h||!h)throw new o.JWEInvalid('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let m,y,g,_,v,b,w;if("dir"===p){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if("ECDH-ES"===p&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");{let t;({cek:y,encryptedKey:m,parameters:t}=await(0,s.default)(p,h,u,this._cek,this._keyManagementParameters)),t&&(d&&e.unprotected in d?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...t}:this.setUnprotectedHeader(t):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...t}:this.setProtectedHeader(t))}if(this._iv||(this._iv=(0,i.default)(h)),_=this._protectedHeader?c.encoder.encode((0,t.encode)(JSON.stringify(this._protectedHeader))):c.encoder.encode(""),this._aad?(v=(0,t.encode)(this._aad),g=(0,c.concat)(_,c.encoder.encode("."),c.encoder.encode(v))):g=_,"DEF"===f.zip){const e=await((null==d?void 0:d.deflateRaw)||n.deflate)(this._plaintext);({ciphertext:b,tag:w}=await(0,r.default)(h,e,y,this._iv,g))}else({ciphertext:b,tag:w}=await(0,r.default)(h,this._plaintext,y,this._iv,g));const S={ciphertext:(0,t.encode)(b),iv:(0,t.encode)(this._iv),tag:(0,t.encode)(w)};return m&&(S.encrypted_key=(0,t.encode)(m)),v&&(S.aad=v),this._protectedHeader&&(S.protected=c.decoder.decode(_)),this._sharedUnprotectedHeader&&(S.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(S.header=this._unprotectedHeader),S}}}($f),Object.defineProperty(Nf,"__esModule",{value:!0}),Nf.GeneralEncrypt=void 0;const up=$f,dp=Wc,fp=Vu,pp=Hl,hp=Mf,mp=$c,yp=pf;class gp{constructor(e,t,r){this.parent=e,this.key=t,this.options=r}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}}Nf.GeneralEncrypt=class{constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,t){const r=new gp(this,e,{crit:null==t?void 0:t.crit});return this._recipients.push(r),r}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var t,r,n;if(!this._recipients.length)throw new dp.JWEInvalid("at least one recipient must be added");if(e={deflateRaw:null==e?void 0:e.deflateRaw},1===this._recipients.length){const[t]=this._recipients,r=await new up.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(t.unprotectedHeader).encrypt(t.key,{...t.options,...e});let n={ciphertext:r.ciphertext,iv:r.iv,recipients:[{}],tag:r.tag};return r.aad&&(n.aad=r.aad),r.protected&&(n.protected=r.protected),r.unprotected&&(n.unprotected=r.unprotected),r.encrypted_key&&(n.recipients[0].encrypted_key=r.encrypted_key),r.header&&(n.recipients[0].header=r.header),n}let i;for(let e=0;es>>3)throw new TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${e}`)}else if("rsa"!==t.asymmetricKeyType)throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss");return(0,Cp.default)(t,e),{key:t,...Rp};case!Tp.rsaPssParams&&"PS256":case!Tp.rsaPssParams&&"PS384":case!Tp.rsaPssParams&&"PS512":if("rsa"!==t.asymmetricKeyType)throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa");return(0,Cp.default)(t,e),{key:t,...Rp};case"ES256":case"ES256K":case"ES384":case"ES512":{if("ec"!==t.asymmetricKeyType)throw new TypeError("Invalid key for this operation, its asymmetricKeyType must be ec");const r=(0,Ap.default)(t),n=Ip.get(e);if(r!==n)throw new TypeError(`Invalid key curve for the algorithm, its curve must be ${n}, got ${r}`);return{dsaEncoding:"ieee-p1363",key:t}}default:throw new Op.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}};var xp={},jp={};Object.defineProperty(jp,"__esModule",{value:!0});const Pp=Wc;jp.default=function(e){switch(e){case"HS256":return"sha256";case"HS384":return"sha384";case"HS512":return"sha512";default:throw new Pp.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}};var Np={};Object.defineProperty(Np,"__esModule",{value:!0});const $p=s,Mp=ll,Dp=fl,Lp=gl,Bp=Sl;Np.default=function(e,t,r){if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError((0,Lp.default)(t,...Bp.types));return(0,$p.createSecretKey)(t)}if(t instanceof $p.KeyObject)return t;if((0,Mp.isCryptoKey)(t))return(0,Dp.checkSigCryptoKey)(t,e,r),$p.KeyObject.from(t);throw new TypeError((0,Lp.default)(t,...Bp.types,"Uint8Array"))},Object.defineProperty(xp,"__esModule",{value:!0});const Kp=s,Fp=t,Up=wp,Wp=jp,Jp=Ep,Hp=Np;let Gp;Gp=Kp.sign.length>3?(0,Fp.promisify)(Kp.sign):Kp.sign;xp.default=async(e,t,r)=>{const n=(0,Hp.default)(e,t,"sign");if(e.startsWith("HS")){const t=Kp.createHmac((0,Wp.default)(e),n);return t.update(r),t.digest()}return Gp((0,Up.default)(e),r,(0,Jp.default)(e,n))},Object.defineProperty(bp,"__esModule",{value:!0});const zp=s,Vp=t,qp=wp,Xp=Ep,Yp=xp,Zp=Np,Qp=_d;let eh;eh=zp.verify.length>4&&Qp.oneShotCallback?(0,Vp.promisify)(zp.verify):zp.verify;bp.default=async(e,t,r,n)=>{const i=(0,Zp.default)(e,t,"verify");if(e.startsWith("HS")){const t=await(0,Yp.default)(e,i,n),s=r;try{return zp.timingSafeEqual(s,t)}catch{return!1}}const s=(0,qp.default)(e),o=(0,Xp.default)(e,i);try{return await eh(s,n,o,r)}catch{return!1}},Object.defineProperty(vp,"__esModule",{value:!0}),vp.flattenedVerify=void 0;const th=$c,rh=bp,nh=Wc,ih=Mc,sh=Hl,oh=Gl,ah=Nd,ch=pf,lh=mf;vp.flattenedVerify=async function(e,t,r){var n;if(!(0,oh.default)(e))throw new nh.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new nh.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new nh.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new nh.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new nh.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,oh.default)(e.header))throw new nh.JWSInvalid("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{const t=(0,th.decode)(e.protected);i=JSON.parse(ih.decoder.decode(t))}catch{throw new nh.JWSInvalid("JWS Protected Header is invalid")}if(!(0,sh.default)(i,e.header))throw new nh.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const s={...i,...e.header};let o=!0;if((0,ch.default)(nh.JWSInvalid,new Map([["b64",!0]]),null==r?void 0:r.crit,i,s).has("b64")&&(o=i.b64,"boolean"!=typeof o))throw new nh.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:a}=s;if("string"!=typeof a||!a)throw new nh.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');const c=r&&(0,lh.default)("algorithms",r.algorithms);if(c&&!c.has(a))throw new nh.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter not allowed');if(o){if("string"!=typeof e.payload)throw new nh.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new nh.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let l=!1;"function"==typeof t&&(t=await t(i,e),l=!0),(0,ah.default)(a,t,"verify");const u=(0,ih.concat)(ih.encoder.encode(null!==(n=e.protected)&&void 0!==n?n:""),ih.encoder.encode("."),"string"==typeof e.payload?ih.encoder.encode(e.payload):e.payload);let d,f;try{d=(0,th.decode)(e.signature)}catch{throw new nh.JWSInvalid("Failed to base64url decode the signature")}if(!await(0,rh.default)(a,t,d,u))throw new nh.JWSSignatureVerificationFailed;if(o)try{f=(0,th.decode)(e.payload)}catch{throw new nh.JWSInvalid("Failed to base64url decode the payload")}else f="string"==typeof e.payload?ih.encoder.encode(e.payload):e.payload;const p={payload:f};return void 0!==e.protected&&(p.protectedHeader=i),void 0!==e.header&&(p.unprotectedHeader=e.header),l?{...p,key:t}:p},Object.defineProperty(_p,"__esModule",{value:!0}),_p.compactVerify=void 0;const uh=vp,dh=Wc,fh=Mc;_p.compactVerify=async function(e,t,r){if(e instanceof Uint8Array&&(e=fh.decoder.decode(e)),"string"!=typeof e)throw new dh.JWSInvalid("Compact JWS must be a string or Uint8Array");const{0:n,1:i,2:s,length:o}=e.split(".");if(3!==o)throw new dh.JWSInvalid("Invalid Compact JWS");const a=await(0,uh.flattenedVerify)({payload:i,protected:n,signature:s},t,r),c={payload:a.payload,protectedHeader:a.protectedHeader};return"function"==typeof t?{...c,key:a.key}:c};var ph={};Object.defineProperty(ph,"__esModule",{value:!0}),ph.generalVerify=void 0;const hh=vp,mh=Wc,yh=Gl;ph.generalVerify=async function(e,t,r){if(!(0,yh.default)(e))throw new mh.JWSInvalid("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(yh.default))throw new mh.JWSInvalid("JWS Signatures missing or incorrect type");for(const n of e.signatures)try{return await(0,hh.flattenedVerify)({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new mh.JWSSignatureVerificationFailed};var gh={},_h={},vh={};Object.defineProperty(vh,"__esModule",{value:!0}),vh.default=e=>Math.floor(e.getTime()/1e3);var bh={};Object.defineProperty(bh,"__esModule",{value:!0});const wh=86400,Sh=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i;bh.default=e=>{const t=Sh.exec(e);if(!t)throw new TypeError("Invalid time period format");const r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(60*r);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(3600*r);case"day":case"days":case"d":return Math.round(r*wh);case"week":case"weeks":case"w":return Math.round(604800*r);default:return Math.round(31557600*r)}},Object.defineProperty(_h,"__esModule",{value:!0});const Eh=Wc,kh=Mc,Ah=vh,Oh=bh,Ch=Gl,Th=e=>e.toLowerCase().replace(/^application\//,"");_h.default=(e,t,r={})=>{const{typ:n}=r;if(n&&("string"!=typeof e.typ||Th(e.typ)!==Th(n)))throw new Eh.JWTClaimValidationFailed('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(kh.decoder.decode(t))}catch{}if(!(0,Ch.default)(i))throw new Eh.JWTInvalid("JWT Claims Set must be a top-level JSON object");const{requiredClaims:s=[],issuer:o,subject:a,audience:c,maxTokenAge:l}=r;void 0!==l&&s.push("iat"),void 0!==c&&s.push("aud"),void 0!==a&&s.push("sub"),void 0!==o&&s.push("iss");for(const e of new Set(s.reverse()))if(!(e in i))throw new Eh.JWTClaimValidationFailed(`missing required "${e}" claim`,e,"missing");if(o&&!(Array.isArray(o)?o:[o]).includes(i.iss))throw new Eh.JWTClaimValidationFailed('unexpected "iss" claim value',"iss","check_failed");if(a&&i.sub!==a)throw new Eh.JWTClaimValidationFailed('unexpected "sub" claim value',"sub","check_failed");if(c&&(u=i.aud,d="string"==typeof c?[c]:c,!("string"==typeof u?d.includes(u):Array.isArray(u)&&d.some(Set.prototype.has.bind(new Set(u))))))throw new Eh.JWTClaimValidationFailed('unexpected "aud" claim value',"aud","check_failed");var u,d;let f;switch(typeof r.clockTolerance){case"string":f=(0,Oh.default)(r.clockTolerance);break;case"number":f=r.clockTolerance;break;case"undefined":f=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:p}=r,h=(0,Ah.default)(p||new Date);if((void 0!==i.iat||l)&&"number"!=typeof i.iat)throw new Eh.JWTClaimValidationFailed('"iat" claim must be a number',"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new Eh.JWTClaimValidationFailed('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>h+f)throw new Eh.JWTClaimValidationFailed('"nbf" claim timestamp check failed',"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new Eh.JWTClaimValidationFailed('"exp" claim must be a number',"exp","invalid");if(i.exp<=h-f)throw new Eh.JWTExpired('"exp" claim timestamp check failed',"exp","check_failed")}if(l){const e=h-i.iat;if(e-f>("number"==typeof l?l:(0,Oh.default)(l)))throw new Eh.JWTExpired('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(e<0-f)throw new Eh.JWTClaimValidationFailed('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},Object.defineProperty(gh,"__esModule",{value:!0}),gh.jwtVerify=void 0;const Rh=_p,Ih=_h,xh=Wc;gh.jwtVerify=async function(e,t,r){var n;const i=await(0,Rh.compactVerify)(e,t,r);if((null===(n=i.protectedHeader.crit)||void 0===n?void 0:n.includes("b64"))&&!1===i.protectedHeader.b64)throw new xh.JWTInvalid("JWTs MUST NOT use unencoded payload");const s={payload:(0,Ih.default)(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return"function"==typeof t?{...s,key:i.key}:s};var jh={};Object.defineProperty(jh,"__esModule",{value:!0}),jh.jwtDecrypt=void 0;const Ph=Pc,Nh=_h,$h=Wc;jh.jwtDecrypt=async function(e,t,r){const n=await(0,Ph.compactDecrypt)(e,t,r),i=(0,Nh.default)(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(void 0!==s.iss&&s.iss!==i.iss)throw new $h.JWTClaimValidationFailed('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(void 0!==s.sub&&s.sub!==i.sub)throw new $h.JWTClaimValidationFailed('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(void 0!==s.aud&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new $h.JWTClaimValidationFailed('replicated "aud" claim header parameter mismatch',"aud","mismatch");const o={payload:i,protectedHeader:s};return"function"==typeof t?{...o,key:n.key}:o};var Mh={};Object.defineProperty(Mh,"__esModule",{value:!0}),Mh.CompactEncrypt=void 0;const Dh=$f;Mh.CompactEncrypt=class{constructor(e){this._flattened=new Dh.FlattenedEncrypt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){const r=await this._flattened.encrypt(e,t);return[r.protected,r.encrypted_key,r.iv,r.ciphertext,r.tag].join(".")}};var Lh={},Bh={};Object.defineProperty(Bh,"__esModule",{value:!0}),Bh.FlattenedSign=void 0;const Kh=$c,Fh=xp,Uh=Hl,Wh=Wc,Jh=Mc,Hh=Nd,Gh=pf;Bh.FlattenedSign=class{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,t){if(!this._protectedHeader&&!this._unprotectedHeader)throw new Wh.JWSInvalid("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!(0,Uh.default)(this._protectedHeader,this._unprotectedHeader))throw new Wh.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const r={...this._protectedHeader,...this._unprotectedHeader};let n=!0;if((0,Gh.default)(Wh.JWSInvalid,new Map([["b64",!0]]),null==t?void 0:t.crit,this._protectedHeader,r).has("b64")&&(n=this._protectedHeader.b64,"boolean"!=typeof n))throw new Wh.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:i}=r;if("string"!=typeof i||!i)throw new Wh.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');(0,Hh.default)(i,e,"sign");let s,o=this._payload;n&&(o=Jh.encoder.encode((0,Kh.encode)(o))),s=this._protectedHeader?Jh.encoder.encode((0,Kh.encode)(JSON.stringify(this._protectedHeader))):Jh.encoder.encode("");const a=(0,Jh.concat)(s,Jh.encoder.encode("."),o),c=await(0,Fh.default)(i,e,a),l={signature:(0,Kh.encode)(c),payload:""};return n&&(l.payload=Jh.decoder.decode(o)),this._unprotectedHeader&&(l.header=this._unprotectedHeader),this._protectedHeader&&(l.protected=Jh.decoder.decode(s)),l}},Object.defineProperty(Lh,"__esModule",{value:!0}),Lh.CompactSign=void 0;const zh=Bh;Lh.CompactSign=class{constructor(e){this._flattened=new zh.FlattenedSign(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){const r=await this._flattened.sign(e,t);if(void 0===r.payload)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${r.protected}.${r.payload}.${r.signature}`}};var Vh={};Object.defineProperty(Vh,"__esModule",{value:!0}),Vh.GeneralSign=void 0;const qh=Bh,Xh=Wc;class Yh{constructor(e,t,r){this.parent=e,this.key=t,this.options=r}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}}Vh.GeneralSign=class{constructor(e){this._signatures=[],this._payload=e}addSignature(e,t){const r=new Yh(this,e,t);return this._signatures.push(r),r}async sign(){if(!this._signatures.length)throw new Xh.JWSInvalid("at least one signature must be added");const e={signatures:[],payload:""};for(let t=0;t{if("string"!=typeof e||!e)throw new ym.JWKInvalid(`${t} missing or invalid`)};async function bm(e,t){if(!(0,_m.default)(e))throw new TypeError("JWK must be an object");if(null!=t||(t="sha256"),"sha256"!==t&&"sha384"!==t&&"sha512"!==t)throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":vm(e.crv,'"crv" (Curve) Parameter'),vm(e.x,'"x" (X Coordinate) Parameter'),vm(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":vm(e.crv,'"crv" (Subtype of Key Pair) Parameter'),vm(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":vm(e.e,'"e" (Exponent) Parameter'),vm(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":vm(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new ym.JOSENotSupported('"kty" (Key Type) Parameter missing or unsupported')}const n=gm.encoder.encode(JSON.stringify(r));return(0,mm.encode)(await(0,hm.default)(t,n))}pm.calculateJwkThumbprint=bm,pm.calculateJwkThumbprintUri=async function(e,t){null!=t||(t="sha256");const r=await bm(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`};var wm={};Object.defineProperty(wm,"__esModule",{value:!0}),wm.EmbeddedJWK=void 0;const Sm=Zu,Em=Gl,km=Wc;wm.EmbeddedJWK=async function(e,t){const r={...e,...null==t?void 0:t.header};if(!(0,Em.default)(r.jwk))throw new km.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object');const n=await(0,Sm.importJWK)({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||"public"!==n.type)throw new km.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a public key');return n};var Am={};Object.defineProperty(Am,"__esModule",{value:!0}),Am.createLocalJWKSet=Am.LocalJWKSet=Am.isJWKSLike=void 0;const Om=Zu,Cm=Wc,Tm=Gl;function Rm(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(Im)}function Im(e){return(0,Tm.default)(e)}Am.isJWKSLike=Rm;class xm{constructor(e){if(this._cached=new WeakMap,!Rm(e))throw new Cm.JWKSInvalid("JSON Web Key Set malformed");var t;this._jwks=(t=e,"function"==typeof structuredClone?structuredClone(t):JSON.parse(JSON.stringify(t)))}async getKey(e,t){const{alg:r,kid:n}={...e,...null==t?void 0:t.header},i=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new Cm.JOSENotSupported('Unsupported "alg" value for a JSON Web Key Set')}}(r),s=this._jwks.keys.filter((e=>{let t=i===e.kty;if(t&&"string"==typeof n&&(t=n===e.kid),t&&"string"==typeof e.alg&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t&&"EdDSA"===r&&(t="Ed25519"===e.crv||"Ed448"===e.crv),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES256K":t="secp256k1"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv}return t})),{0:o,length:a}=s;if(0===a)throw new Cm.JWKSNoMatchingKey;if(1!==a){const e=new Cm.JWKSMultipleMatchingKeys,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(const e of s)try{yield await jm(t,e,r)}catch{continue}},e}return jm(this._cached,o,r)}}async function jm(e,t,r){const n=e.get(t)||e.set(t,{}).get(t);if(void 0===n[r]){const e=await(0,Om.importJWK)({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new Cm.JWKSInvalid("JSON Web Key Set members must be public keys");n[r]=e}return n[r]}Am.LocalJWKSet=xm,Am.createLocalJWKSet=function(e){const t=new xm(e);return async function(e,r){return t.getKey(e,r)}};var Pm={},Nm={};Object.defineProperty(Nm,"__esModule",{value:!0});const $m=a,Mm=c,Dm=l,Lm=Wc,Bm=Mc;Nm.default=async(e,t,r)=>{let n;switch(e.protocol){case"https:":n=Mm.get;break;case"http:":n=$m.get;break;default:throw new TypeError("Unsupported URL protocol.")}const{agent:i,headers:s}=r,o=n(e.href,{agent:i,timeout:t,headers:s}),[a]=await Promise.race([(0,Dm.once)(o,"response"),(0,Dm.once)(o,"timeout")]);if(!a)throw o.destroy(),new Lm.JWKSTimeout;if(200!==a.statusCode)throw new Lm.JOSEError("Expected 200 OK from the JSON Web Key Set HTTP response");const c=[];for await(const e of a)c.push(e);try{return JSON.parse(Bm.decoder.decode((0,Bm.concat)(...c)))}catch{throw new Lm.JOSEError("Failed to parse the JSON Web Key Set HTTP response as JSON")}},Object.defineProperty(Pm,"__esModule",{value:!0}),Pm.createRemoteJWKSet=void 0;const Km=Nm,Fm=Wc,Um=Am;class Wm extends Um.LocalJWKSet{constructor(e,t){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:null==t?void 0:t.agent,headers:null==t?void 0:t.headers},this._timeoutDuration="number"==typeof(null==t?void 0:t.timeoutDuration)?null==t?void 0:t.timeoutDuration:5e3,this._cooldownDuration="number"==typeof(null==t?void 0:t.cooldownDuration)?null==t?void 0:t.cooldownDuration:3e4,this._cacheMaxAge="number"==typeof(null==t?void 0:t.cacheMaxAge)?null==t?void 0:t.cacheMaxAge:6e5}coolingDown(){return"number"==typeof this._jwksTimestamp&&Date.now(){if(!(0,Um.isJWKSLike)(e))throw new Fm.JWKSInvalid("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0})).catch((e=>{throw this._pendingFetch=void 0,e}))),await this._pendingFetch}}Pm.createRemoteJWKSet=function(e,t){const r=new Wm(e,t);return async function(e,t){return r.getKey(e,t)}};var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0}),Jm.UnsecuredJWT=void 0;const Hm=$c,Gm=Mc,zm=Wc,Vm=_h,qm=Qh;class Xm extends qm.ProduceJWT{encode(){return`${Hm.encode(JSON.stringify({alg:"none"}))}.${Hm.encode(JSON.stringify(this._payload))}.`}static decode(e,t){if("string"!=typeof e)throw new zm.JWTInvalid("Unsecured JWT must be a string");const{0:r,1:n,2:i,length:s}=e.split(".");if(3!==s||""!==i)throw new zm.JWTInvalid("Invalid Unsecured JWT");let o;try{if(o=JSON.parse(Gm.decoder.decode(Hm.decode(r))),"none"!==o.alg)throw new Error}catch{throw new zm.JWTInvalid("Invalid Unsecured JWT")}return{payload:(0,Vm.default)(o,Hm.decode(n),t),header:o}}}Jm.UnsecuredJWT=Xm;var Ym={},Zm={};Object.defineProperty(Zm,"__esModule",{value:!0}),Zm.decode=Zm.encode=void 0;const Qm=$c;Zm.encode=Qm.encode,Zm.decode=Qm.decode,Object.defineProperty(Ym,"__esModule",{value:!0}),Ym.decodeProtectedHeader=void 0;const ey=Zm,ty=Mc,ry=Gl;Ym.decodeProtectedHeader=function(e){let t;if("string"==typeof e){const r=e.split(".");3!==r.length&&5!==r.length||([t]=r)}else if("object"==typeof e&&e){if(!("protected"in e))throw new TypeError("Token does not contain a Protected Header");t=e.protected}try{if("string"!=typeof t||!t)throw new Error;const e=JSON.parse(ty.decoder.decode((0,ey.decode)(t)));if(!(0,ry.default)(e))throw new Error;return e}catch{throw new TypeError("Invalid Token or Protected Header formatting")}};var ny={};Object.defineProperty(ny,"__esModule",{value:!0}),ny.decodeJwt=void 0;const iy=Zm,sy=Mc,oy=Gl,ay=Wc;ny.decodeJwt=function(e){if("string"!=typeof e)throw new ay.JWTInvalid("JWTs must use Compact JWS serialization, JWT must be a string");const{1:t,length:r}=e.split(".");if(5===r)throw new ay.JWTInvalid("Only JWTs using Compact JWS serialization can be decoded");if(3!==r)throw new ay.JWTInvalid("Invalid JWT");if(!t)throw new ay.JWTInvalid("JWTs must contain a payload");let n,i;try{n=(0,iy.decode)(t)}catch{throw new ay.JWTInvalid("Failed to base64url decode the payload")}try{i=JSON.parse(sy.decoder.decode(n))}catch{throw new ay.JWTInvalid("Failed to parse the decoded payload as JSON")}if(!(0,oy.default)(i))throw new ay.JWTInvalid("Invalid JWT Claims Set");return i};var cy={},ly={};Object.defineProperty(ly,"__esModule",{value:!0}),ly.generateKeyPair=ly.generateSecret=void 0;const uy=s,dy=Gc,fy=Mu,py=Wc,hy=(0,t.promisify)(uy.generateKeyPair);ly.generateSecret=async function(e,t){let r;switch(e){case"HS256":case"HS384":case"HS512":case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":r=parseInt(e.slice(-3),10);break;case"A128KW":case"A192KW":case"A256KW":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":r=parseInt(e.slice(1,4),10);break;default:throw new py.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return(0,uy.createSecretKey)((0,dy.default)(new Uint8Array(r>>3)))},ly.generateKeyPair=async function(e,t){var r,n;switch(e){case"RS256":case"RS384":case"RS512":case"PS256":case"PS384":case"PS512":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":case"RSA1_5":{const e=null!==(r=null==t?void 0:t.modulusLength)&&void 0!==r?r:2048;if("number"!=typeof e||e<2048)throw new py.JOSENotSupported("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");const n=await hy("rsa",{modulusLength:e,publicExponent:65537});return(0,fy.setModulusLength)(n.privateKey,e),(0,fy.setModulusLength)(n.publicKey,e),n}case"ES256":return hy("ec",{namedCurve:"P-256"});case"ES256K":return hy("ec",{namedCurve:"secp256k1"});case"ES384":return hy("ec",{namedCurve:"P-384"});case"ES512":return hy("ec",{namedCurve:"P-521"});case"EdDSA":switch(null==t?void 0:t.crv){case void 0:case"Ed25519":return hy("ed25519");case"Ed448":return hy("ed448");default:throw new py.JOSENotSupported("Invalid or unsupported crv option provided, supported values are Ed25519 and Ed448")}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":const e=null!==(n=null==t?void 0:t.crv)&&void 0!==n?n:"P-256";switch(e){case void 0:case"P-256":case"P-384":case"P-521":return hy("ec",{namedCurve:e});case"X25519":return hy("x25519");case"X448":return hy("x448");default:throw new py.JOSENotSupported("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}default:throw new py.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}},Object.defineProperty(cy,"__esModule",{value:!0}),cy.generateKeyPair=void 0;const my=ly;cy.generateKeyPair=async function(e,t){return(0,my.generateKeyPair)(e,t)};var yy={};Object.defineProperty(yy,"__esModule",{value:!0}),yy.generateSecret=void 0;const gy=ly;yy.generateSecret=async function(e,t){return(0,gy.generateSecret)(e,t)};var _y={},vy={};Object.defineProperty(vy,"__esModule",{value:!0}),vy.default="node:crypto",Object.defineProperty(_y,"__esModule",{value:!0});const by=vy;function wy(e){Error.call(this,e),Error.captureStackTrace(this,this.constructor),this.name="JwksError",this.message=e}_y.default=by.default,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.cryptoRuntime=e.base64url=e.generateSecret=e.generateKeyPair=e.errors=e.decodeJwt=e.decodeProtectedHeader=e.importJWK=e.importX509=e.importPKCS8=e.importSPKI=e.exportJWK=e.exportSPKI=e.exportPKCS8=e.UnsecuredJWT=e.createRemoteJWKSet=e.createLocalJWKSet=e.EmbeddedJWK=e.calculateJwkThumbprintUri=e.calculateJwkThumbprint=e.EncryptJWT=e.SignJWT=e.GeneralSign=e.FlattenedSign=e.CompactSign=e.FlattenedEncrypt=e.CompactEncrypt=e.jwtDecrypt=e.jwtVerify=e.generalVerify=e.flattenedVerify=e.compactVerify=e.GeneralEncrypt=e.generalDecrypt=e.flattenedDecrypt=e.compactDecrypt=void 0;var t=Pc;Object.defineProperty(e,"compactDecrypt",{enumerable:!0,get:function(){return t.compactDecrypt}});var r=Nc;Object.defineProperty(e,"flattenedDecrypt",{enumerable:!0,get:function(){return r.flattenedDecrypt}});var n=If;Object.defineProperty(e,"generalDecrypt",{enumerable:!0,get:function(){return n.generalDecrypt}});var i=Nf;Object.defineProperty(e,"GeneralEncrypt",{enumerable:!0,get:function(){return i.GeneralEncrypt}});var s=_p;Object.defineProperty(e,"compactVerify",{enumerable:!0,get:function(){return s.compactVerify}});var o=vp;Object.defineProperty(e,"flattenedVerify",{enumerable:!0,get:function(){return o.flattenedVerify}});var a=ph;Object.defineProperty(e,"generalVerify",{enumerable:!0,get:function(){return a.generalVerify}});var c=gh;Object.defineProperty(e,"jwtVerify",{enumerable:!0,get:function(){return c.jwtVerify}});var l=jh;Object.defineProperty(e,"jwtDecrypt",{enumerable:!0,get:function(){return l.jwtDecrypt}});var u=Mh;Object.defineProperty(e,"CompactEncrypt",{enumerable:!0,get:function(){return u.CompactEncrypt}});var d=$f;Object.defineProperty(e,"FlattenedEncrypt",{enumerable:!0,get:function(){return d.FlattenedEncrypt}});var f=Lh;Object.defineProperty(e,"CompactSign",{enumerable:!0,get:function(){return f.CompactSign}});var p=Bh;Object.defineProperty(e,"FlattenedSign",{enumerable:!0,get:function(){return p.FlattenedSign}});var h=Vh;Object.defineProperty(e,"GeneralSign",{enumerable:!0,get:function(){return h.GeneralSign}});var m=Zh;Object.defineProperty(e,"SignJWT",{enumerable:!0,get:function(){return m.SignJWT}});var y=cm;Object.defineProperty(e,"EncryptJWT",{enumerable:!0,get:function(){return y.EncryptJWT}});var g=pm;Object.defineProperty(e,"calculateJwkThumbprint",{enumerable:!0,get:function(){return g.calculateJwkThumbprint}}),Object.defineProperty(e,"calculateJwkThumbprintUri",{enumerable:!0,get:function(){return g.calculateJwkThumbprintUri}});var _=wm;Object.defineProperty(e,"EmbeddedJWK",{enumerable:!0,get:function(){return _.EmbeddedJWK}});var v=Am;Object.defineProperty(e,"createLocalJWKSet",{enumerable:!0,get:function(){return v.createLocalJWKSet}});var b=Pm;Object.defineProperty(e,"createRemoteJWKSet",{enumerable:!0,get:function(){return b.createRemoteJWKSet}});var w=Jm;Object.defineProperty(e,"UnsecuredJWT",{enumerable:!0,get:function(){return w.UnsecuredJWT}});var S=Df;Object.defineProperty(e,"exportPKCS8",{enumerable:!0,get:function(){return S.exportPKCS8}}),Object.defineProperty(e,"exportSPKI",{enumerable:!0,get:function(){return S.exportSPKI}}),Object.defineProperty(e,"exportJWK",{enumerable:!0,get:function(){return S.exportJWK}});var E=Zu;Object.defineProperty(e,"importSPKI",{enumerable:!0,get:function(){return E.importSPKI}}),Object.defineProperty(e,"importPKCS8",{enumerable:!0,get:function(){return E.importPKCS8}}),Object.defineProperty(e,"importX509",{enumerable:!0,get:function(){return E.importX509}}),Object.defineProperty(e,"importJWK",{enumerable:!0,get:function(){return E.importJWK}});var k=Ym;Object.defineProperty(e,"decodeProtectedHeader",{enumerable:!0,get:function(){return k.decodeProtectedHeader}});var A=ny;Object.defineProperty(e,"decodeJwt",{enumerable:!0,get:function(){return A.decodeJwt}}),e.errors=Wc;var O=cy;Object.defineProperty(e,"generateKeyPair",{enumerable:!0,get:function(){return O.generateKeyPair}});var C=yy;Object.defineProperty(e,"generateSecret",{enumerable:!0,get:function(){return C.generateSecret}}),e.base64url=Zm;var T=_y;Object.defineProperty(e,"cryptoRuntime",{enumerable:!0,get:function(){return T.default}})}(jc),wy.prototype=Object.create(Error.prototype),wy.prototype.constructor=wy;var Sy=wy;const Ey=jc,ky=Sy;function Ay(e){if(e.alg)return e.alg;if("RSA"===e.kty)return"RS256";if("EC"===e.kty)switch(e.crv){case"P-256":return"ES256";case"secp256k1":return"ES256K";case"P-384":return"ES384";case"P-521":return"ES512"}if("OKP"===e.kty)switch(e.crv){case"Ed25519":case"Ed448":return"EdDSA"}throw new ky("Unsupported JWK")}var Oy={retrieveSigningKeys:async function(e){const t=[];e=e.filter((({use:e})=>"sig"===e||void 0===e)).filter((({kty:e})=>"RSA"===e||"EC"===e||"OKP"===e));for(const r of e)try{const e=await Ey.importJWK(r,Ay(r));if("public"!==e.type)continue;let n;switch(e[Symbol.toStringTag]){case"CryptoKey":{const t=await Ey.exportSPKI(e);n=()=>t;break}default:n=()=>e.export({format:"pem",type:"spki"})}t.push({get publicKey(){return n()},get rsaPublicKey(){return n()},getPublicKey:()=>n(),..."string"==typeof r.kid&&r.kid?{kid:r.kid}:void 0,..."string"==typeof r.alg&&r.alg?{alg:r.alg}:void 0})}catch(e){continue}return t}},Cy={};const Ty=a,Ry=c,Iy=e;Cy.default=e=>e.fetcher?e.fetcher(e.uri):new Promise(((t,r)=>{const{hostname:n,path:i,port:s,protocol:o}=Iy.parse(e.uri),a={hostname:n,path:i,port:s,method:"GET",...e.headers&&{headers:{...e.headers}},...e.timeout&&{timeout:e.timeout},...e.agent&&{agent:e.agent}},c=("https:"===o?Ry:Ty).request(a,(e=>{let n="";e.setEncoding("utf8"),e.on("data",(e=>{n+=e})),e.on("end",(()=>{if(e.statusCode<200||e.statusCode>=300){const t=e.body&&(e.body.message||e.body)||e.statusMessage||`Http Error ${e.statusCode}`;r({errorMsg:t})}else try{t(n&&JSON.parse(n))}catch(e){r(e)}}))}));c.on("timeout",(()=>c.destroy())).on("error",(e=>r(e))).end()}));var xy,jy,Py={},Ny={};var $y=My;function My(e){var t=this;if(t instanceof My||(t=new My),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var r=0,n=arguments.length;r1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=e(r,n.value,i),n=n.next;return r},My.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=e(r,n.value,i),n=n.prev;return r},My.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},My.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},My.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var r=new My;if(tthis.length&&(t=this.length);for(var n=0,i=this.head;null!==i&&nthis.length&&(t=this.length);for(var n=this.length,i=this.tail;null!==i&&n>t;n--)i=i.prev;for(;null!==i&&n>e;n--,i=i.prev)r.push(i.value);return r},My.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,i=this.head;null!==i&&n1;const Qy=(e,t,r)=>{const n=e[Xy].get(t);if(n){const t=n.value;if(eg(e,t)){if(rg(e,n),!e[Hy])return}else r&&(e[Yy]&&(n.value.now=Date.now()),e[qy].unshiftNode(n));return t.value}},eg=(e,t)=>{if(!t||!t.maxAge&&!e[Gy])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[Gy]&&r>e[Gy]},tg=e=>{if(e[Wy]>e[Uy])for(let t=e[qy].tail;e[Wy]>e[Uy]&&null!==t;){const r=t.prev;rg(e,t),t=r}},rg=(e,t)=>{if(t){const r=t.value;e[zy]&&e[zy](r.key,r.value),e[Wy]-=r.length,e[Xy].delete(r.key),e[qy].removeNode(t)}};class ng{constructor(e,t,r,n,i){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=i||0}}const ig=(e,t,r,n)=>{let i=r.value;eg(e,i)&&(rg(e,r),e[Hy]||(i=void 0)),i&&t.call(n,i.value,i.key,e)};var sg=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[Uy]=e.max||1/0;const t=e.length||Zy;if(this[Jy]="function"!=typeof t?Zy:t,this[Hy]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[Gy]=e.maxAge||0,this[zy]=e.dispose,this[Vy]=e.noDisposeOnSet||!1,this[Yy]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[Uy]=e||1/0,tg(this)}get max(){return this[Uy]}set allowStale(e){this[Hy]=!!e}get allowStale(){return this[Hy]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[Gy]=e,tg(this)}get maxAge(){return this[Gy]}set lengthCalculator(e){"function"!=typeof e&&(e=Zy),e!==this[Jy]&&(this[Jy]=e,this[Wy]=0,this[qy].forEach((e=>{e.length=this[Jy](e.value,e.key),this[Wy]+=e.length}))),tg(this)}get lengthCalculator(){return this[Jy]}get length(){return this[Wy]}get itemCount(){return this[qy].length}rforEach(e,t){t=t||this;for(let r=this[qy].tail;null!==r;){const n=r.prev;ig(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[qy].head;null!==r;){const n=r.next;ig(this,e,r,t),r=n}}keys(){return this[qy].toArray().map((e=>e.key))}values(){return this[qy].toArray().map((e=>e.value))}reset(){this[zy]&&this[qy]&&this[qy].length&&this[qy].forEach((e=>this[zy](e.key,e.value))),this[Xy]=new Map,this[qy]=new Fy,this[Wy]=0}dump(){return this[qy].map((e=>!eg(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[qy]}set(e,t,r){if((r=r||this[Gy])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,i=this[Jy](t,e);if(this[Xy].has(e)){if(i>this[Uy])return rg(this,this[Xy].get(e)),!1;const s=this[Xy].get(e).value;return this[zy]&&(this[Vy]||this[zy](e,s.value)),s.now=n,s.maxAge=r,s.value=t,this[Wy]+=i-s.length,s.length=i,this.get(e),tg(this),!0}const s=new ng(e,t,i,n,r);return s.length>this[Uy]?(this[zy]&&this[zy](e,t),!1):(this[Wy]+=s.length,this[qy].unshift(s),this[Xy].set(e,this[qy].head),tg(this),!0)}has(e){if(!this[Xy].has(e))return!1;const t=this[Xy].get(e).value;return!eg(this,t)}get(e){return Qy(this,e,!0)}peek(e){return Qy(this,e,!1)}pop(){const e=this[qy].tail;return e?(rg(this,e),e.value):null}del(e){rg(this,this[Xy].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const n=e[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const e=i-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[Xy].forEach(((e,t)=>Qy(this,t,!1)))}},og={exports:{}};!function(e,t){var r="__lodash_hash_undefined__",n=9007199254740991,i="[object Arguments]",s="[object Boolean]",o="[object Date]",a="[object Function]",c="[object GeneratorFunction]",l="[object Map]",u="[object Number]",d="[object Object]",f="[object Promise]",p="[object RegExp]",h="[object Set]",m="[object String]",y="[object Symbol]",g="[object WeakMap]",_="[object ArrayBuffer]",v="[object DataView]",b="[object Float32Array]",w="[object Float64Array]",S="[object Int8Array]",E="[object Int16Array]",k="[object Int32Array]",A="[object Uint8Array]",O="[object Uint8ClampedArray]",C="[object Uint16Array]",T="[object Uint32Array]",R=/\w*$/,I=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,j={};j[i]=j["[object Array]"]=j[_]=j[v]=j[s]=j[o]=j[b]=j[w]=j[S]=j[E]=j[k]=j[l]=j[u]=j[d]=j[p]=j[h]=j[m]=j[y]=j[A]=j[O]=j[C]=j[T]=!0,j["[object Error]"]=j[a]=j[g]=!1;var P="object"==typeof jr&&jr&&jr.Object===Object&&jr,N="object"==typeof self&&self&&self.Object===Object&&self,$=P||N||Function("return this")(),M=t&&!t.nodeType&&t,D=M&&e&&!e.nodeType&&e,L=D&&D.exports===M;function B(e,t){return e.set(t[0],t[1]),e}function K(e,t){return e.add(t),e}function F(e,t,r,n){var i=-1,s=e?e.length:0;for(n&&s&&(r=e[++i]);++i-1},Ae.prototype.set=function(e,t){var r=this.__data__,n=Ie(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},Oe.prototype.clear=function(){this.__data__={hash:new ke,map:new(fe||Ae),string:new ke}},Oe.prototype.delete=function(e){return $e(this,e).delete(e)},Oe.prototype.get=function(e){return $e(this,e).get(e)},Oe.prototype.has=function(e){return $e(this,e).has(e)},Oe.prototype.set=function(e,t){return $e(this,e).set(e,t),this},Ce.prototype.clear=function(){this.__data__=new Ae},Ce.prototype.delete=function(e){return this.__data__.delete(e)},Ce.prototype.get=function(e){return this.__data__.get(e)},Ce.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ae){var n=r.__data__;if(!fe||n.length<199)return n.push([e,t]),this;r=this.__data__=new Oe(n)}return r.set(e,t),this};var De=ce?J(ce,Object):function(){return[]},Le=function(e){return Q.call(e)};function Be(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=n}(e.length)&&!Ge(e)}var He=le||function(){return!1};function Ge(e){var t=ze(e)?Q.call(e):"";return t==a||t==c}function ze(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ve(e){return Je(e)?Te(e):function(e){if(!Ke(e))return ue(e);var t=[];for(var r in Object(e))Z.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}e.exports=function(e){return xe(e,!0,!0)}}(og,og.exports);var ag=og.exports,cg={};Object.defineProperty(cg,"__esModule",{value:!0}),cg.deepFreeze=void 0,cg.deepFreeze=function e(t){return t&&(Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(r){!t.hasOwnProperty(r)||null===t[r]||"object"!=typeof t[r]&&"function"!=typeof t[r]||t[r].constructor===Buffer||Object.isFrozen(t[r])||e(t[r])}))),t};var lg={},ug=jr&&jr.__read||function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return o},dg=jr&&jr.__spread||function(){for(var e=[],t=0;t0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return o},_g=jr&&jr.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},bg=jr&&jr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ny,"__esModule",{value:!0}),Ny.asyncMemoizer=void 0;var wg=bg(sg),Sg=l,Eg=bg(ag),kg=cg,Ag=lg;function Og(e){var t=new wg.default(e),r=e.load,n=e.hash,i=e.bypass,s=e.itemMaxAge,o=e.freeze,a=e.clone,c=e.queueMaxAge||1e3,l=new Map,u=new Sg.EventEmitter,d=Object.assign({del:function(){for(var e=[],r=0;rDate.now())return y.queue.push(h),void p.apply(void 0,_g(["queue"],d));p.apply(void 0,_g(["miss"],d));var g=Date.now(),_=[h];l.set(u,{queue:_,expiresAt:g+c}),r.apply(void 0,_g(d,[function(){for(var e=[],r=0;re,load:xg(e.getSigningKey.bind(e)),maxAge:r,max:t}))};var jg={},Pg={},Ng=function(e,t,r,n){if(this.bucketSize=e,this.tokensPerInterval=t,"string"==typeof r)switch(r){case"sec":case"second":this.interval=1e3;break;case"min":case"minute":this.interval=6e4;break;case"hr":case"hour":this.interval=36e5;break;case"day":this.interval=864e5;break;default:throw new Error("Invaid interval "+r)}else this.interval=r;this.parentBucket=n,this.content=0,this.lastDrip=+new Date};Ng.prototype={bucketSize:1,tokensPerInterval:1,interval:1e3,parentBucket:null,content:0,lastDrip:0,removeTokens:function(e,t){var r=this;return this.bucketSize?e>this.bucketSize?(process.nextTick(t.bind(null,"Requested tokens "+e+" exceeds bucket size "+this.bucketSize,null)),!1):(this.drip(),e>this.content?n():this.parentBucket?this.parentBucket.removeTokens(e,(function(i,s){return i?t(i,null):e>r.content?n():(r.content-=e,void t(null,Math.min(s,r.content)))})):(this.content-=e,process.nextTick(t.bind(null,null,this.content)),!0)):(process.nextTick(t.bind(null,null,e,Number.POSITIVE_INFINITY)),!0);function n(){var n=Math.ceil((e-r.content)*(r.interval/r.tokensPerInterval));return setTimeout((function(){r.removeTokens(e,t)}),n),!1}},tryRemoveTokens:function(e){return!this.bucketSize||!(e>this.bucketSize)&&(this.drip(),!(e>this.content)&&(!(this.parentBucket&&!this.parentBucket.tryRemoveTokens(e))&&(this.content-=e,!0)))},drip:function(){if(this.tokensPerInterval){var e=+new Date,t=Math.max(e-this.lastDrip,0);this.lastDrip=e;var r=t*(this.tokensPerInterval/this.interval);this.content=Math.min(this.content+r,this.bucketSize)}else this.content=this.bucketSize}};var $g=Ng,Mg=$g,Dg=function(){if("undefined"!=typeof process&&process.hrtime){var e=process.hrtime(),t=e[0],r=e[1];return 1e3*t+Math.floor(r/1e6)}return(new Date).getTime()},Lg=function(e,t,r){this.tokenBucket=new Mg(e,e,t,null),this.tokenBucket.content=e,this.curIntervalStart=Dg(),this.tokensThisInterval=0,this.fireImmediately=r};Lg.prototype={tokenBucket:null,curIntervalStart:0,tokensThisInterval:0,fireImmediately:!1,removeTokens:function(e,t){if(e>this.tokenBucket.bucketSize)return process.nextTick(t.bind(null,"Requested tokens "+e+" exceeds maximum tokens per interval "+this.tokenBucket.bucketSize,null)),!1;var r=this,n=Dg();if((n=this.tokenBucket.interval)&&(this.curIntervalStart=n,this.tokensThisInterval=0),e>this.tokenBucket.tokensPerInterval-this.tokensThisInterval){if(this.fireImmediately)process.nextTick(t.bind(null,null,-1));else{var i=Math.ceil(this.curIntervalStart+this.tokenBucket.interval-n);setTimeout((function(){r.tokenBucket.removeTokens(e,s)}),i)}return!1}return this.tokenBucket.removeTokens(e,s);function s(n,i){if(n)return t(n,null);r.tokensThisInterval+=e,t(null,i)}},tryRemoveTokens:function(e){if(e>this.tokenBucket.bucketSize)return!1;var t=Dg();if((t=this.tokenBucket.interval)&&(this.curIntervalStart=t,this.tokensThisInterval=0),e>this.tokenBucket.tokensPerInterval-this.tokensThisInterval)return!1;var r=this.tokenBucket.tryRemoveTokens(e);return r&&(this.tokensThisInterval+=e),r},getTokensRemaining:function(){return this.tokenBucket.drip(),this.tokenBucket.content}};var Bg=Lg;function Kg(e){Error.call(this,e),Error.captureStackTrace(this,this.constructor),this.name="JwksRateLimitError",this.message=e}Pg.RateLimiter=Bg,Pg.TokenBucket=$g,Kg.prototype=Object.create(Error.prototype),Kg.prototype.constructor=Kg;var Fg=Kg;const Ug=Qn("jwks"),{RateLimiter:Wg}=Pg,Jg=Fg;jg.default=function(e,{jwksRequestsPerMinute:t=10}){const r=e.getSigningKey.bind(e),n=new Wg(t,"minute",!0);return Ug(`Configured rate limiting to JWKS endpoint at ${t}/minute`),async e=>await new Promise(((t,i)=>{n.removeTokens(1,(async(n,s)=>{if(n&&i(n),Ug("Requests to the JWKS endpoint available for the next minute:",s),s<0)Ug("Too many requests to the JWKS endpoint"),i(new Jg("Too many requests to the JWKS endpoint"));else try{const n=await r(e);t(n)}catch(e){i(e)}}))}))};var Hg={};const Gg=Oy.retrieveSigningKeys;Hg.default=function(e,{getKeysInterceptor:t}){const r=e.getSigningKey.bind(e);return async e=>{const n=await t();let i;if(n&&n.length&&(i=await Gg(n)),i&&i.length){const t=i.find((t=>!e||t.kid===e));if(t)return t}return r(e)}};var zg={};const{callbackify:Vg}=t;zg.default=e=>{const t=e.getSigningKey.bind(e);return(e,r)=>{if(r){return Vg(t)(e,r)}return t(e)}};var qg={request:Cy.default,cacheSigningKey:Py.default,rateLimitSigningKey:jg.default,getKeysInterceptor:Hg.default,callbackSupport:zg.default};function Xg(e){Error.call(this,e),Error.captureStackTrace(this,this.constructor),this.name="SigningKeyNotFoundError",this.message=e}Xg.prototype=Object.create(Error.prototype),Xg.prototype.constructor=Xg;var Yg=Xg;const Zg=Qn("jwks"),{retrieveSigningKeys:Qg}=Oy,{request:e_,cacheSigningKey:t_,rateLimitSigningKey:r_,getKeysInterceptor:n_,callbackSupport:i_}=qg,s_=Sy,o_=Yg;var a_={JwksClient:class{constructor(e){this.options={rateLimit:!1,cache:!0,timeout:3e4,...e},this.options.getKeysInterceptor&&(this.getSigningKey=n_(this,e)),this.options.rateLimit&&(this.getSigningKey=r_(this,e)),this.options.cache&&(this.getSigningKey=t_(this,e)),this.getSigningKey=i_(this,e)}async getKeys(){Zg(`Fetching keys from '${this.options.jwksUri}'`);try{const e=await e_({uri:this.options.jwksUri,headers:this.options.requestHeaders,agent:this.options.requestAgent,timeout:this.options.timeout,fetcher:this.options.fetcher});return Zg("Keys:",e.keys),e.keys}catch(e){const{errorMsg:t}=e;throw Zg("Failure:",t||e),t?new s_(t):e}}async getSigningKeys(){const e=await this.getKeys();if(!e||!e.length)throw new s_("The JWKS endpoint did not contain any keys");const t=await Qg(e);if(!t.length)throw new s_("The JWKS endpoint did not contain any signing keys");return Zg("Signing Keys:",t),t}async getSigningKey(e){Zg(`Fetching signing key for '${e}'`);const t=await this.getSigningKeys(),r=null!=e;if(!r&&t.length>1)throw Zg("No KID specified and JWKS endpoint returned more than 1 key"),new o_("No KID specified and JWKS endpoint returned more than 1 key");const n=t.find((t=>!r||t.kid===e));if(n)return n;throw Zg(`Unable to find a signing key that matches '${e}'`),new o_(`Unable to find a signing key that matches '${e}'`)}}};function c_(e){Error.call(this,e),Error.captureStackTrace(this,this.constructor),this.name="ArgumentError",this.message=e}c_.prototype=Object.create(Error.prototype),c_.prototype.constructor=c_;var l_={ArgumentError:c_,JwksError:Sy,JwksRateLimitError:Fg,SigningKeyNotFoundError:Yg},u_={exports:{}};var d_=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"];!function(e){const{ArgumentError:t}=l_,{JwksClient:r}=a_,n=d_,i=(e,t)=>e&&"SigningKeyNotFoundError"===e.name||e?t(e,null,null):void 0;e.exports.hapiJwt2KeyAsync=t=>{const r=e.exports.hapiJwt2Key(t);return function(e){return new Promise(((t,n)=>{r(e,((e,r)=>{!r||e?n(e):t({key:r})}))}))}},e.exports.hapiJwt2Key=function(e){if(null==e)throw new t("An options object must be provided when initializing hapiJwt2Key");const s=new r(e),o=e.handleSigningKeyError||i;return function(e,t){return e&&e.header?n.includes(e.header.alg)?void s.getSigningKey(e.header.kid).then((e=>t(null,e.publicKey||e.rsaPublicKey,e))).catch((e=>o(e,(e=>t(e,null,null))))):t(new Error("Unsupported algorithm "+e.header.alg+" supplied."),null,null):t(new Error("Cannot find a signing certificate if there is no header"),null,null)}}}(u_);var f_=u_.exports,p_={};const{ArgumentError:h_}=l_,{JwksClient:m_}=a_,y_=d_,g_=(e,t)=>e&&"SigningKeyNotFoundError"===e.name?t(null):e?t(e):void 0;p_.expressJwtSecret=function(e){if(null==e)throw new h_("An options object must be provided when initializing expressJwtSecret");const t=new m_(e),r=e.handleSigningKeyError||g_,n=async(e,n)=>{if(!n)return;const i=n.header;if(i&&y_.includes(i.alg))try{const e=await t.getSigningKey(i.kid);return e.publicKey||e.rsaPublicKey}catch(e){return new Promise(((t,n)=>{r(e,(e=>{if(!e)return t();n(e)}))}))}};return function(e,t,r,i){if(4!==arguments.length)return n(0,arguments[1]);n(0,{header:t}).then((e=>{setImmediate(i,null,e)})).catch((e=>{setImmediate(i,e)}))}};var __={};const{ArgumentError:v_}=l_,{JwksClient:b_}=a_,w_=d_;__.koaJwtSecret=function(e={}){if(!e.jwksUri)throw new v_("No JWKS provided. Please provide a jwksUri");const t=new b_(e);return function({alg:r,kid:n}={}){return new Promise(((i,s)=>{if(!w_.includes(r))return s(new Error("Missing / invalid token algorithm"));t.getSigningKey(n).then((e=>{i(e.publicKey||e.rsaPublicKey)})).catch((t=>e.handleSigningKeyError?e.handleSigningKeyError(t).then(s):s(t)))}))}};var S_={};const E_=jc,{ArgumentError:k_}=l_,{JwksClient:A_}=a_,O_=d_,C_=(e,t)=>e&&"SigningKeyNotFoundError"===e.name?t(null):e?t(e):void 0;S_.passportJwtSecret=function(e){if(null==e)throw new k_("An options object must be provided when initializing passportJwtSecret");if(!e.jwksUri)throw new k_("No JWKS provided. Please provide a jwksUri");const t=new A_(e),r=e.handleSigningKeyError||C_;return function(e,n,i){let s;try{s={payload:E_.decodeJwt(n),header:E_.decodeProtectedHeader(n)}}catch(e){s=null}if(!s||!O_.includes(s.header.alg))return i(null,null);t.getSigningKey(s.header.kid).then((e=>{i(null,e.publicKey||e.rsaPublicKey)})).catch((e=>{r(e,(e=>i(e,null)))}))}};const{JwksClient:T_}=a_,R_=l_,{hapiJwt2Key:I_,hapiJwt2KeyAsync:x_}=f_,{expressJwtSecret:j_}=p_,{koaJwtSecret:P_}=__,{passportJwtSecret:N_}=S_;xc.exports=e=>new T_(e);var $_=xc.exports.JwksClient=T_;xc.exports.ArgumentError=R_.ArgumentError,xc.exports.JwksError=R_.JwksError,xc.exports.JwksRateLimitError=R_.JwksRateLimitError,xc.exports.SigningKeyNotFoundError=R_.SigningKeyNotFoundError,xc.exports.expressJwtSecret=j_,xc.exports.hapiJwt2Key=I_,xc.exports.hapiJwt2KeyAsync=x_,xc.exports.koaJwtSecret=P_,xc.exports.passportJwtSecret=N_;const{format:M_}=t;let D_=class extends Error{constructor({error_description:e,error:t,error_uri:r,session_state:n,state:i,scope:s},o){super(e?`${t} (${e})`:t),Object.assign(this,{error:t},e&&{error_description:e},r&&{error_uri:r},i&&{state:i},s&&{scope:s},n&&{session_state:n}),o&&Object.defineProperty(this,"response",{value:o}),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},L_=class extends Error{constructor(...e){if("string"==typeof e[0])super(M_(...e));else{const{message:t,printf:r,response:n,...i}=e[0];super(r?M_(...r):t),Object.assign(this,i),n&&Object.defineProperty(this,"response",{value:n})}this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}};var B_={OPError:D_,RPError:L_},K_={exports:{}};const F_=s,[U_,W_]=process.version.substring(1).split(".").map((e=>parseInt(e,10)));var J_=(U_>12||12===U_&&W_>=8)&&F_.getHashes().includes("shake256");const{strict:H_}=u,{createHash:G_}=s,{format:z_}=t,V_=J_;let q_;if(Buffer.isEncoding("base64url"))q_=e=>e.toString("base64url");else{const GL=e=>e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");q_=e=>GL(e.toString("base64"))}function X_(e,t,r){const n=function(e,t){switch(e){case"HS256":case"RS256":case"PS256":case"ES256":case"ES256K":return G_("sha256");case"HS384":case"RS384":case"PS384":case"ES384":return G_("sha384");case"HS512":case"RS512":case"PS512":case"ES512":return G_("sha512");case"EdDSA":switch(t){case"Ed25519":return G_("sha512");case"Ed448":if(!V_)throw new TypeError("Ed448 *_hash calculation is not supported in your Node.js runtime version");return G_("shake256",{outputLength:114});default:throw new TypeError("unrecognized or invalid EdDSA curve provided")}default:throw new TypeError("unrecognized or invalid JWS algorithm provided")}}(t,r).update(e).digest();return q_(n.slice(0,n.length/2))}var Y_={validate:function(e,t,r,n,i){if("string"!=typeof e.claim||!e.claim)throw new TypeError("names.claim must be a non-empty string");if("string"!=typeof e.source||!e.source)throw new TypeError("names.source must be a non-empty string");let s,o;H_("string"==typeof t&&t,`${e.claim} must be a non-empty string`),H_("string"==typeof r&&r,`${e.source} must be a non-empty string`);try{s=X_(r,n,i)}catch(t){o=z_("%s could not be validated (%s)",e.claim,t.message)}o=o||z_("%s mismatch, expected %s, got: %s",e.claim,s,t),H_.equal(s,t,o)},generate:X_};const Z_=s;var Q_=t.types.isKeyObject||(e=>e&&e instanceof Z_.KeyObject),ev={};let tv;if(Buffer.isEncoding("base64url"))tv=(e,t="utf8")=>Buffer.from(e,t).toString("base64url");else{const zL=e=>e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");tv=(e,t="utf8")=>zL(Buffer.from(e,t).toString("base64"))}ev.decode=e=>Buffer.from(e,"base64"),ev.encode=tv;const rv=ev;var nv={exports:{}},iv=e=>!!e&&e.constructor===Object;const sv=iv;function ov(e,t,...r){for(const n of r)if(sv(n))for(const[r,i]of Object.entries(n))"__proto__"!==r&&"constructor"!==r&&(void 0===t[r]&&void 0!==i&&(t[r]=i),e&&sv(t[r])&&sv(i)&&ov(!0,t[r],i));return t}nv.exports=ov.bind(void 0,!1),nv.exports.deep=ov.bind(void 0,!0);var av=nv.exports;const cv=/(\w+)=("[^"]*")/g;var lv=e=>{const t={};try{for(;null!==cv.exec(e);)RegExp.$1&&RegExp.$2&&(t[RegExp.$1]=RegExp.$2.slice(1,-1))}catch(e){}return t};var uv={assertSigningAlgValuesSupport:function(e,t,r){if(!t[`${e}_endpoint`])return;const n=`${e}_endpoint_auth_method`,i=`${e}_endpoint_auth_signing_alg`,s=`${e}_endpoint_auth_signing_alg_values_supported`;if(r[n]&&r[n].endsWith("_jwt")&&!r[i]&&!t[s])throw new TypeError(`${s} must be configured on the issuer if ${i} is not defined on a client`)},assertIssuerConfiguration:function(e,t){if(!e[t])throw new TypeError(`${t} must be configured on the issuer`)}},dv=function(e,...t){const r={};for(const n of t)void 0!==e[n]&&(r[n]=e[n]);return r};const{STATUS_CODES:fv}=a,{format:pv}=t,{OPError:hv}=B_,mv=lv;var yv=function(e,{statusCode:t=200,body:r=!0,bearer:n=!1}={}){if(e.statusCode!==t){if(n&&(e=>{const t=mv(e.headers["www-authenticate"]);if(t.error)throw new hv(t,e)})(e),(e=>{let t=!1;try{let r;r="object"!=typeof e.body||Buffer.isBuffer(e.body)?JSON.parse(e.body):e.body,t="string"==typeof r.error&&r.error.length,t&&Object.defineProperty(e,"body",{value:r,configurable:!0})}catch(e){}return t})(e))throw new hv(e.body,e);throw new hv({error:pv("expected %i %s, got: %i %s",t,fv[t],e.statusCode,fv[e.statusCode])},e)}if(r&&!e.body)throw new hv({error:pv("expected %i %s with body but no body was returned",t,fv[t])},e);return e.body},gv=()=>Math.floor(Date.now()/1e3);const _v=ev,vv=gv;var bv=class{constructor(e){Object.assign(this,e);const{constructor:t,...r}=Object.getOwnPropertyDescriptors(this.constructor.prototype);Object.defineProperties(this,r)}set expires_in(e){this.expires_at=vv()+Number(e)}get expires_in(){return Math.max.apply(null,[this.expires_at-vv(),0])}expired(){return 0===this.expires_in}claims(){if(!this.id_token)throw new TypeError("id_token not present in TokenSet");return JSON.parse(_v.decode(this.id_token.split(".")[1]))}};const{createHash:wv,randomBytes:Sv}=s,Ev=ev,kv=(e=32)=>Ev.encode(Sv(e));var Av={random:kv,state:kv,nonce:kv,codeVerifier:kv,codeChallenge:e=>Ev.encode(wv("sha256").update(e).digest())},Ov={exports:{}},Cv={name:"openid-client",version:"5.6.5",description:"OpenID Connect Relying Party (RP, Client) implementation for Node.js runtime, supports passportjs",keywords:["auth","authentication","basic","certified","client","connect","dynamic","electron","hybrid","identity","implicit","oauth","oauth2","oidc","openid","passport","relying party","strategy"],homepage:"https://github.com/panva/node-openid-client",repository:"panva/node-openid-client",funding:{url:"https://github.com/sponsors/panva"},license:"MIT",author:"Filip Skokan ",exports:{types:"./types/index.d.ts",import:"./lib/index.mjs",require:"./lib/index.js"},main:"./lib/index.js",types:"./types/index.d.ts",files:["lib","types/index.d.ts"],scripts:{format:"npx prettier --loglevel silent --write ./lib ./test ./certification ./types",test:"mocha test/**/*.test.js"},dependencies:{jose:"^4.15.5","lru-cache":"^6.0.0","object-hash":"^2.2.0","oidc-token-hash":"^5.0.3"},devDependencies:{"@types/node":"^16.18.87","@types/passport":"^1.0.16",base64url:"^3.0.1",chai:"^4.4.1",mocha:"^10.3.0",nock:"^13.5.4",prettier:"^2.8.8","readable-mock-req":"^0.2.2",sinon:"^9.2.4",timekeeper:"^2.3.1"},"standard-version":{scripts:{postchangelog:"sed -i '' -e 's/### \\[/## [/g' CHANGELOG.md"},types:[{type:"feat",section:"Features"},{type:"fix",section:"Fixes"},{type:"chore",hidden:!0},{type:"docs",hidden:!0},{type:"style",hidden:!0},{type:"refactor",section:"Refactor",hidden:!1},{type:"perf",section:"Performance",hidden:!1},{type:"test",hidden:!0}]}};const Tv=Symbol();var Rv={CLOCK_TOLERANCE:Symbol(),HTTP_OPTIONS:Tv};const Iv=u,xv=d,jv=a,Pv=c,{once:Nv}=l,{URL:$v}=e,Mv=sg,Dv=Cv,{RPError:Lv}=B_,Bv=dv,{deep:Kv}=av,{HTTP_OPTIONS:Fv}=Rv;let Uv;const Wv=/^[\x21\x23-\x5B\x5D-\x7E]+$/,Jv=["agent","ca","cert","crl","headers","key","lookup","passphrase","pfx","timeout"],Hv=(e,t)=>{Uv=Kv({},e.length?Bv(t,...e):t,Uv)};function Gv(e,t,r){r&&(e.removeHeader("content-type"),e.setHeader("content-type",r)),t&&(e.removeHeader("content-length"),e.setHeader("content-length",Buffer.byteLength(t)),e.write(t)),e.end()}Hv([],{headers:{"User-Agent":`${Dv.name}/${Dv.version} (${Dv.homepage})`,"Accept-Encoding":"identity"},timeout:3500});const zv=new Mv({max:100});Ov.exports=async function(e,{accessToken:t,mTLS:r=!1,DPoP:n}={}){let i;try{i=new $v(e.url),delete e.url,Iv(/^(https?:)$/.test(i.protocol))}catch(e){throw new TypeError("only valid absolute URLs can be requested")}const s=this[Fv];let o=e;const a=`${i.origin}${i.pathname}`;let c,l,u,d,f,p;if(n&&"dpopProof"in this&&(o.headers=o.headers||{},o.headers.DPoP=await this.dpopProof({htu:`${i.origin}${i.pathname}`,htm:e.method,nonce:zv.get(a)},n,t)),s&&(c=Bv(s.call(this,i,Kv({},o,Uv)),...Jv)),o=Kv({},c,o,Uv),r&&!o.pfx&&(!o.key||!o.cert))throw new TypeError("mutual-TLS certificate and key not set");if(o.searchParams)for(const[e,t]of Object.entries(o.searchParams))i.searchParams.delete(e),i.searchParams.set(e,t);({form:u,responseType:l,json:d,body:f,...o}=o);for(const[e,t]of Object.entries(o.headers||{}))void 0===t&&delete o.headers[e];const h=("https:"===i.protocol?Pv.request:jv.request)(i.href,o);return(async()=>{if(d?Gv(h,JSON.stringify(d),"application/json"):u?Gv(h,xv.stringify(u),"application/x-www-form-urlencoded"):f?Gv(h,f):Gv(h),[p]=await Promise.race([Nv(h,"response"),Nv(h,"timeout")]),!p)throw h.destroy(),new Lv(`outgoing request timed out after ${o.timeout}ms`);const e=[];for await(const t of p)e.push(t);if(e.length)switch(l){case"json":Object.defineProperty(p,"body",{get(){let t=Buffer.concat(e);try{t=JSON.parse(t)}catch(e){throw Object.defineProperty(e,"response",{value:p}),e}finally{Object.defineProperty(p,"body",{value:t,configurable:!0})}return t},configurable:!0});break;case void 0:case"buffer":Object.defineProperty(p,"body",{get(){const t=Buffer.concat(e);return Object.defineProperty(p,"body",{value:t,configurable:!0}),t},configurable:!0});break;default:throw new TypeError("unsupported responseType request option")}return p})().catch((e=>{throw p&&Object.defineProperty(e,"response",{value:p}),e})).finally((()=>{const e=p&&p.headers["dpop-nonce"];e&&Wv.test(e)&&zv.set(a,e)}))},Ov.exports.setDefaults=Hv.bind(void 0,Jv);var Vv=Ov.exports,qv={};qv.keystores=new WeakMap;var Xv=globalThis.structuredClone||(e=>JSON.parse(JSON.stringify(e)));const Yv=jc,Zv=Xv,Qv=iv,eb=Symbol(),tb=(e,{alg:t,use:r})=>{let n=0;return t&&e.alg&&n++,r&&e.use&&n++,n};function rb(e,t,r,n){if(t)return new Set([t]);switch(r){case"EC":{let t=[];if("enc"!==e&&void 0!==e||(t=t.concat(["ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW"])),"sig"===e||void 0===e)switch(n){case"P-256":case"P-384":t=t.concat([`ES${n.slice(-3)}`]);break;case"P-521":t=t.concat(["ES512"]);break;case"secp256k1":"node:crypto"===Yv.cryptoRuntime&&(t=t.concat(["ES256K"]))}return new Set(t)}case"OKP":return new Set(["ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW"]);case"RSA":{let t=[];return"enc"!==e&&void 0!==e||(t=t.concat(["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512"]),"node:crypto"===Yv.cryptoRuntime&&(t=t.concat(["RSA1_5"]))),"sig"!==e&&void 0!==e||(t=t.concat(["PS256","PS384","PS512","RS256","RS384","RS512"])),new Set(t)}default:throw new Error("unreachable")}}var nb=class{#e;constructor(e,t){if(e!==eb)throw new Error("invalid constructor call");this.#e=t}toJWKS(){return{keys:this.map((({jwk:{d:e,p:t,q:r,dp:n,dq:i,qi:s,...o}})=>o))}}all({alg:e,kid:t,use:r}={}){if(!r||!e)throw new Error;const n=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:return}}(e),i={alg:e,use:r};return this.filter((i=>{let s=!0;return s&&void 0!==n&&i.jwk.kty!==n&&(s=!1),s&&void 0!==t&&i.jwk.kid!==t&&(s=!1),s&&void 0!==r&&void 0!==i.jwk.use&&i.jwk.use!==r&&(s=!1),s&&i.jwk.alg&&i.jwk.alg!==e?s=!1:i.algorithms.has(e)||(s=!1),s})).sort(((e,t)=>tb(t,i)-tb(e,i)))}get(...e){return this.all(...e)[0]}static async fromJWKS(e,{onlyPublic:t=!1,onlyPrivate:r=!1}={}){if(!Qv(e)||!Array.isArray(e.keys)||e.keys.some((e=>!Qv(e)||!("kty"in e))))throw new TypeError("jwks must be a JSON Web Key Set formatted object");const n=[];for(let i of e.keys){i=Zv(i);const{kty:e,kid:s,crv:o}=i;let{alg:a,use:c}=i;if("string"==typeof e&&e&&((void 0===c||"sig"===c||"enc"===c)&&!("string"!=typeof a&&void 0!==a||"string"!=typeof s&&void 0!==s))){if("EC"===e&&"sig"===c)switch(o){case"P-256":a="ES256";break;case"P-384":a="ES384";break;case"P-521":a="ES512"}if("secp256k1"===o&&(c="sig",a="ES256K"),"OKP"===e)switch(o){case"Ed25519":case"Ed448":c="sig",a="EdDSA";break;case"X25519":case"X448":c="enc"}if(a&&!c)switch(!0){case a.startsWith("ECDH"):case a.startsWith("RSA"):c="enc"}if(r&&("oct"===i.kty||!i.d))throw new Error("jwks must only contain private keys");t&&(i.d||i.k)||n.push({jwk:{...i,alg:a,use:c},async keyObject(e){if(this[e])return this[e];const t=await Yv.importJWK(this.jwk,e);return this[e]=t,t},get algorithms(){return Object.defineProperty(this,"algorithms",{value:rb(this.jwk.use,this.jwk.alg,this.jwk.kty,this.jwk.crv),enumerable:!0,configurable:!1}),this.algorithms}})}}return new this(eb,n)}filter(...e){return this.#e.filter(...e)}find(...e){return this.#e.find(...e)}every(...e){return this.#e.every(...e)}some(...e){return this.#e.some(...e)}map(...e){return this.#e.map(...e)}forEach(...e){return this.#e.forEach(...e)}reduce(...e){return this.#e.reduce(...e)}sort(...e){return this.#e.sort(...e)}*[Symbol.iterator](){for(const e of this.#e)yield e}};const ib=iv;var sb=function e(t,...r){for(const n of r)if(ib(n))for(const[r,i]of Object.entries(n))"__proto__"!==r&&"constructor"!==r&&(ib(t[r])&&ib(i)?t[r]=e(t[r],i):void 0!==i&&(t[r]=i));return t};const ob=jc,{RPError:ab}=B_,{assertIssuerConfiguration:cb}=uv,{random:lb}=Av,ub=gv,db=Vv,{keystores:fb}=qv,pb=sb,hb=e=>encodeURIComponent(e).replace(/%20/g,"+");async function mb(e,t){let r=this[`${e}_endpoint_auth_signing_alg`];if(r||cb(this.issuer,`${e}_endpoint_auth_signing_alg_values_supported`),"client_secret_jwt"===this[`${e}_endpoint_auth_method`]){if(!r){const t=this.issuer[`${e}_endpoint_auth_signing_alg_values_supported`];r=Array.isArray(t)&&t.find((e=>/^HS(?:256|384|512)/.test(e)))}if(!r)throw new ab(`failed to determine a JWS Algorithm to use for ${this[`${e}_endpoint_auth_method`]} Client Assertion`);return new ob.CompactSign(Buffer.from(JSON.stringify(t))).setProtectedHeader({alg:r}).sign(this.secretForAlg(r))}const n=await fb.get(this);if(!n)throw new TypeError("no client jwks provided for signing a client assertion with");if(!r){const t=this.issuer[`${e}_endpoint_auth_signing_alg_values_supported`];r=Array.isArray(t)&&t.find((e=>n.get({alg:e,use:"sig"})))}if(!r)throw new ab(`failed to determine a JWS Algorithm to use for ${this[`${e}_endpoint_auth_method`]} Client Assertion`);const i=n.get({alg:r,use:"sig"});if(!i)throw new ab(`no key found in client jwks to sign a client assertion with using alg ${r}`);return new ob.CompactSign(Buffer.from(JSON.stringify(t))).setProtectedHeader({alg:r,kid:i.jwk&&i.jwk.kid}).sign(await i.keyObject(r))}async function yb(e,{clientAssertionPayload:t}={}){switch(this[`${e}_endpoint_auth_method`]){case"self_signed_tls_client_auth":case"tls_client_auth":case"none":return{form:{client_id:this.client_id}};case"client_secret_post":if("string"!=typeof this.client_secret)throw new TypeError("client_secret_post client authentication method requires a client_secret");return{form:{client_id:this.client_id,client_secret:this.client_secret}};case"private_key_jwt":case"client_secret_jwt":{const r=ub(),n=[...new Set([this.issuer.issuer,this.issuer.token_endpoint].filter(Boolean))],i=await mb.call(this,e,{iat:r,exp:r+60,jti:lb(),iss:this.client_id,sub:this.client_id,aud:n,...t});return{form:{client_id:this.client_id,client_assertion:i,client_assertion_type:"urn:ietf:params:oauth:client-assertion-type:jwt-bearer"}}}case"client_secret_basic":{if("string"!=typeof this.client_secret)throw new TypeError("client_secret_basic client authentication method requires a client_secret");const e=`${hb(this.client_id)}:${hb(this.client_secret)}`;return{headers:{Authorization:`Basic ${Buffer.from(e).toString("base64")}`}}}default:throw new TypeError(`missing, or unsupported, ${e}_endpoint_auth_method`)}}var gb={resolveResponseType:function(){const{length:e,0:t}=this.response_types;if(1===e)return t},resolveRedirectUri:function(){const{length:e,0:t}=this.redirect_uris||[];if(1===e)return t},authFor:yb,authenticatedPost:async function(e,t,{clientAssertionPayload:r,endpointAuthMethod:n=e,DPoP:i}={}){const s=await yb.call(this,n,{clientAssertionPayload:r}),o=pb(t,s),a=this[`${n}_endpoint_auth_method`].includes("tls_client_auth")||"token"===e&&this.tls_client_certificate_bound_access_tokens;let c;if(a&&this.issuer.mtls_endpoint_aliases&&(c=this.issuer.mtls_endpoint_aliases[`${e}_endpoint`]),c=c||this.issuer[`${e}_endpoint`],"form"in o)for(const[e,t]of Object.entries(o.form))void 0===t&&delete o.form[e];return db.call(this,{...o,method:"POST",url:c,headers:{..."revocation"!==e?{Accept:"application/json"}:void 0,...o.headers}},{mTLS:a,DPoP:i})}},_b={},vb={exports:{}};!function(e,t){var r=s;function n(e,t){return function(e,t){var n;n="passthrough"!==t.algorithm?r.createHash(t.algorithm):new u;void 0===n.write&&(n.write=n.update,n.end=n.update);var i=l(t,n);i.dispatch(e),n.update||n.end("");if(n.digest)return n.digest("buffer"===t.encoding?void 0:t.encoding);var s=n.read();if("buffer"===t.encoding)return s;return s.toString(t.encoding)}(e,t=a(e,t))}(t=vb.exports=n).sha1=function(e){return n(e)},t.keys=function(e){return n(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},t.MD5=function(e){return n(e,{algorithm:"md5",encoding:"hex"})},t.keysMD5=function(e){return n(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var i=r.getHashes?r.getHashes().slice():["sha1","md5"];i.push("passthrough");var o=["buffer","hex","binary","base64"];function a(e,t){t=t||{};var r={};if(r.algorithm=t.algorithm||"sha1",r.encoding=t.encoding||"hex",r.excludeValues=!!t.excludeValues,r.algorithm=r.algorithm.toLowerCase(),r.encoding=r.encoding.toLowerCase(),r.ignoreUnknown=!0===t.ignoreUnknown,r.respectType=!1!==t.respectType,r.respectFunctionNames=!1!==t.respectFunctionNames,r.respectFunctionProperties=!1!==t.respectFunctionProperties,r.unorderedArrays=!0===t.unorderedArrays,r.unorderedSets=!1!==t.unorderedSets,r.unorderedObjects=!1!==t.unorderedObjects,r.replacer=t.replacer||void 0,r.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error("Object argument required.");for(var n=0;n=0)return this.dispatch("[CIRCULAR:"+o+"]");if(r.push(t),"undefined"!=typeof Buffer&&Buffer.isBuffer&&Buffer.isBuffer(t))return n("buffer:"),n(t);if("object"===s||"function"===s||"asyncfunction"===s){var a=Object.keys(t);e.unorderedObjects&&(a=a.sort()),!1===e.respectType||c(t)||a.splice(0,0,"prototype","__proto__","constructor"),e.excludeKeys&&(a=a.filter((function(t){return!e.excludeKeys(t)}))),n("object:"+a.length+":");var l=this;return a.forEach((function(r){l.dispatch(r),n(":"),e.excludeValues||l.dispatch(t[r]),n(",")}))}if(!this["_"+s]){if(e.ignoreUnknown)return n("["+s+"]");throw new Error('Unknown object type "'+s+'"')}this["_"+s](t)},_array:function(t,i){i=void 0!==i?i:!1!==e.unorderedArrays;var s=this;if(n("array:"+t.length+":"),!i||t.length<=1)return t.forEach((function(e){return s.dispatch(e)}));var o=[],a=t.map((function(t){var n=new u,i=r.slice();return l(e,n,i).dispatch(t),o=o.concat(i.slice(r.length)),n.read().toString()}));return r=r.concat(o),a.sort(),this._array(a,!1)},_date:function(e){return n("date:"+e.toJSON())},_symbol:function(e){return n("symbol:"+e.toString())},_error:function(e){return n("error:"+e.toString())},_boolean:function(e){return n("bool:"+e.toString())},_string:function(e){n("string:"+e.length+":"),n(e.toString())},_function:function(t){n("fn:"),c(t)?this.dispatch("[native]"):this.dispatch(t.toString()),!1!==e.respectFunctionNames&&this.dispatch("function-name:"+String(t.name)),e.respectFunctionProperties&&this._object(t)},_number:function(e){return n("number:"+e.toString())},_xml:function(e){return n("xml:"+e.toString())},_null:function(){return n("Null")},_undefined:function(){return n("Undefined")},_regexp:function(e){return n("regex:"+e.toString())},_uint8array:function(e){return n("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return n("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return n("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return n("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return n("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return n("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return n("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return n("float32array:"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return n("float64array:"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return n("arraybuffer:"),this.dispatch(new Uint8Array(e))},_url:function(e){return n("url:"+e.toString())},_map:function(t){n("map:");var r=Array.from(t);return this._array(r,!1!==e.unorderedSets)},_set:function(t){n("set:");var r=Array.from(t);return this._array(r,!1!==e.unorderedSets)},_file:function(e){return n("file:"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(e.ignoreUnknown)return n("[blob]");throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return n("domwindow")},_bigint:function(e){return n("bigint:"+e.toString())},_process:function(){return n("process")},_timer:function(){return n("timer")},_pipe:function(){return n("pipe")},_tcp:function(){return n("tcp")},_udp:function(){return n("udp")},_tty:function(){return n("tty")},_statwatcher:function(){return n("statwatcher")},_securecontext:function(){return n("securecontext")},_connection:function(){return n("connection")},_zlib:function(){return n("zlib")},_context:function(){return n("context")},_nodescript:function(){return n("nodescript")},_httpparser:function(){return n("httpparser")},_dataview:function(){return n("dataview")},_signal:function(){return n("signal")},_fsevent:function(){return n("fsevent")},_tlswrap:function(){return n("tlswrap")}}}function u(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}t.writeToStream=function(e,t,r){return void 0===r&&(r=t,t={}),l(t=a(e,t),r).dispatch(e)}}(0,vb.exports);const bb=vb.exports,wb=sg,{RPError:Sb}=B_,{assertIssuerConfiguration:Eb}=uv,kb=nb,{keystores:Ab}=qv,Ob=yv,Cb=Vv,Tb=new WeakMap,Rb=new WeakMap,Ib=e=>(Rb.has(e)||Rb.set(e,new wb({max:100})),Rb.get(e));async function xb(e=!1){Eb(this,"jwks_uri");const t=Ab.get(this),r=Ib(this);return e||!t?(Tb.has(this)||(r.reset(),Tb.set(this,(async()=>{const e=await Cb.call(this,{method:"GET",responseType:"json",url:this.jwks_uri,headers:{Accept:"application/json, application/jwk-set+json"}}).finally((()=>{Tb.delete(this)})),t=Ob(e),n=kb.fromJWKS(t,{onlyPublic:!0});return r.set("throttle",!0,6e4),Ab.set(this,n),n})())),Tb.get(this)):t}_b.queryKeyStore=async function({kid:e,kty:t,alg:r,use:n},{allowMulti:i=!1}={}){const s=Ib(this),o={kid:e,kty:t,alg:r,use:n},a=bb(o,{algorithm:"sha256",ignoreUnknown:!0,unorderedArrays:!0,unorderedSets:!0,respectType:!1}),c=s.get(a)||s.get("throttle"),l=await xb.call(this,!c),u=l.all(o);if(delete o.use,0===u.length)throw new Sb({printf:["no valid key found in issuer's jwks_uri for key parameters %j",o],jwks:l});if(!i&&u.length>1&&!e)throw new Sb({printf:["multiple matching keys found in issuer's jwks_uri for key parameters %j, kid must be provided in this case",o],jwks:l});return s.set(a,!0),u},_b.keystore=xb;const{inspect:jb}=t,{RPError:Pb,OPError:Nb}=B_,$b=gv;let Mb=class{#t;#r;#n;#i;#s;#o;#a;#c;#l;constructor({client:e,exchangeBody:t,clientAssertionPayload:r,response:n,maxAge:i,DPoP:s}){if(["verification_uri","user_code","device_code"].forEach((e=>{if("string"!=typeof n[e]||!n[e])throw new Pb(`expected ${e} string to be returned by Device Authorization Response, got %j`,n[e])})),!Number.isSafeInteger(n.expires_in))throw new Pb("expected expires_in number to be returned by Device Authorization Response, got %j",n.expires_in);this.#o=$b()+n.expires_in,this.#r=e,this.#i=s,this.#c=i,this.#s=t,this.#n=r,this.#l=n,this.#a=1e3*n.interval||5e3}abort(){this.#t=!0}async poll({signal:e}={}){if(e&&e.aborted||this.#t)throw new Pb("polling aborted");if(this.expired())throw new Pb("the device code %j has expired and the device authorization session has concluded",this.device_code);let t;await new Promise((e=>setTimeout(e,this.#a)));try{t=await this.#r.grant({...this.#s,grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:this.device_code},{clientAssertionPayload:this.#n,DPoP:this.#i})}catch(t){switch(t instanceof Nb&&t.error){case"slow_down":this.#a+=5e3;case"authorization_pending":return this.poll({signal:e});default:throw t}}return"id_token"in t&&(await this.#r.decryptIdToken(t),await this.#r.validateIdToken(t,void 0,"token",this.#c)),t}get device_code(){return this.#l.device_code}get user_code(){return this.#l.user_code}get verification_uri(){return this.#l.verification_uri}get verification_uri_complete(){return this.#l.verification_uri_complete}get expires_in(){return Math.max.apply(null,[this.#o-$b(),0])}expired(){return 0===this.expires_in}[jb.custom](){return`${this.constructor.name} ${jb(this.#l,{depth:1/0,colors:process.stdout.isTTY,compact:!1,sorted:!0})}`}};var Db=Mb;const{inspect:Lb}=t,Bb=a,Kb=s,{strict:Fb}=u,Ub=d,Wb=e,{URL:Jb,URLSearchParams:Hb}=e,Gb=jc,zb=Y_,Vb=Q_,qb=e=>{if("string"!=typeof e||!e)throw new TypeError("JWT must be a string");const{0:t,1:r,2:n,length:i}=e.split(".");if(5===i)throw new TypeError("encrypted JWTs cannot be decoded");if(3!==i)throw new Error("JWTs must have three components");try{return{header:JSON.parse(rv.decode(t)),payload:JSON.parse(rv.decode(r)),signature:n}}catch(e){throw new Error("JWT is malformed")}},Xb=ev,Yb=av,Zb=lv,{assertSigningAlgValuesSupport:Qb,assertIssuerConfiguration:ew}=uv,tw=dv,rw=iv,nw=yv,iw=bv,{OPError:sw,RPError:ow}=B_,aw=gv,{random:cw}=Av,lw=Vv,{CLOCK_TOLERANCE:uw}=Rv,{keystores:dw}=qv,fw=nb,pw=Xv,{authenticatedPost:hw,resolveResponseType:mw,resolveRedirectUri:yw}=gb,{queryKeyStore:gw}=_b,_w=Db,[vw,bw]=process.version.slice(1).split(".").map((e=>parseInt(e,10))),ww=vw>=17||16===vw&&bw>=9,Sw=Symbol(),Ew=Symbol(),kw=Symbol();function Aw(e){return tw(e,"access_token","code","error_description","error_uri","error","expires_in","id_token","iss","response","session_state","state","token_type")}function Ow(e,t="Bearer"){return`${t} ${e}`}function Cw(e){const t=Wb.parse(e);return t.search?Ub.parse(t.search.substring(1)):{}}function Tw(e,t,r){if(void 0===e[r])throw new ow({message:`missing required JWT property ${r}`,jwt:t})}function Rw(e){const t={client_id:this.client_id,scope:"openid",response_type:mw.call(this),redirect_uri:yw.call(this),...e};return Object.entries(t).forEach((([e,r])=>{null==r?delete t[e]:"claims"===e&&"object"==typeof r?t[e]=JSON.stringify(r):"resource"===e&&Array.isArray(r)?t[e]=r:"string"!=typeof r&&(t[e]=String(r))})),t}function Iw(e){if(!rw(e)||!Array.isArray(e.keys)||e.keys.some((e=>!rw(e)||!("kty"in e))))throw new TypeError("jwks must be a JSON Web Key Set formatted object");return fw.fromJWKS(e,{onlyPrivate:!0})}let xw,jw=class{#u;#d;#f;#p;constructor(e,t,r={},n,i){if(this.#u=new Map,this.#d=e,this.#f=t,"string"!=typeof r.client_id||!r.client_id)throw new TypeError("client_id is required");const s={grant_types:["authorization_code"],id_token_signed_response_alg:"RS256",authorization_signed_response_alg:"RS256",response_types:["code"],token_endpoint_auth_method:"client_secret_basic",...this.fapi()?{grant_types:["authorization_code","implicit"],id_token_signed_response_alg:"PS256",authorization_signed_response_alg:"PS256",response_types:["code id_token"],tls_client_certificate_bound_access_tokens:!0,token_endpoint_auth_method:void 0}:void 0,...r};if(this.fapi())switch(s.token_endpoint_auth_method){case"self_signed_tls_client_auth":case"tls_client_auth":break;case"private_key_jwt":if(!n)throw new TypeError("jwks is required");break;case void 0:throw new TypeError("token_endpoint_auth_method is required");default:throw new TypeError("invalid or unsupported token_endpoint_auth_method")}if(function(e,t,r){if(t.token_endpoint_auth_method||function(e,t){try{const r=e.issuer.token_endpoint_auth_methods_supported;r.includes(t.token_endpoint_auth_method)||r.includes("client_secret_post")&&(t.token_endpoint_auth_method="client_secret_post")}catch(e){}}(e,r),t.redirect_uri){if(t.redirect_uris)throw new TypeError("provide a redirect_uri or redirect_uris, not both");r.redirect_uris=[t.redirect_uri],delete r.redirect_uri}if(t.response_type){if(t.response_types)throw new TypeError("provide a response_type or response_types, not both");r.response_types=[t.response_type],delete r.response_type}}(this,r,s),Qb("token",this.issuer,s),["introspection","revocation"].forEach((e=>{!function(e,t,r){if(!t[`${e}_endpoint`])return;const n=r.token_endpoint_auth_method,i=r.token_endpoint_auth_signing_alg,s=`${e}_endpoint_auth_method`,o=`${e}_endpoint_auth_signing_alg`;void 0===r[s]&&void 0===r[o]&&(void 0!==n&&(r[s]=n),void 0!==i&&(r[o]=i))}(e,this.issuer,s),Qb(e,this.issuer,s)})),Object.entries(s).forEach((([e,t])=>{this.#u.set(e,t),this[e]||Object.defineProperty(this,e,{get(){return this.#u.get(e)},enumerable:!0})})),void 0!==n){const e=Iw.call(this,n);dw.set(this,e)}null!=i&&i.additionalAuthorizedParties&&(this.#p=pw(i.additionalAuthorizedParties)),this[uw]=0}authorizationUrl(e={}){if(!rw(e))throw new TypeError("params must be a plain object");ew(this.issuer,"authorization_endpoint");const t=new Jb(this.issuer.authorization_endpoint);for(const[r,n]of Object.entries(Rw.call(this,e)))if(Array.isArray(n)){t.searchParams.delete(r);for(const e of n)t.searchParams.append(r,e)}else t.searchParams.set(r,n);return t.href.replace(/\+/g,"%20")}authorizationPost(e={}){if(!rw(e))throw new TypeError("params must be a plain object");const t=Rw.call(this,e),r=Object.keys(t).map((e=>``)).join("\n");return`\n\nRequesting Authorization\n\n\n
\n ${r}\n
\n\n`}endSessionUrl(e={}){ew(this.issuer,"end_session_endpoint");const{0:t,length:r}=this.post_logout_redirect_uris||[],{post_logout_redirect_uri:n=(1===r?t:void 0)}=e;let i;if(({id_token_hint:i,...e}=e),i instanceof iw){if(!i.id_token)throw new TypeError("id_token not present in TokenSet");i=i.id_token}const s=Wb.parse(this.issuer.end_session_endpoint),o=Yb(Cw(this.issuer.end_session_endpoint),e,{post_logout_redirect_uri:n,client_id:this.client_id},{id_token_hint:i});return Object.entries(o).forEach((([e,t])=>{null==t&&delete o[e]})),s.search=null,s.query=o,Wb.format(s)}callbackParams(e){const t=e instanceof Bb.IncomingMessage||e&&e.method&&e.url;if(!("string"==typeof e)&&!t)throw new TypeError("#callbackParams only accepts string urls, http.IncomingMessage or a lookalike");if(!t)return Aw(Cw(e));switch(e.method){case"GET":return Aw(Cw(e.url));case"POST":if(void 0===e.body)throw new TypeError("incoming message body missing, include a body parser prior to this method call");switch(typeof e.body){case"object":case"string":return Buffer.isBuffer(e.body)?Aw(Ub.parse(e.body.toString("utf-8"))):"string"==typeof e.body?Aw(Ub.parse(e.body)):Aw(e.body);default:throw new TypeError("invalid IncomingMessage body object")}default:throw new TypeError("invalid IncomingMessage method")}}async callback(e,t,r={},{exchangeBody:n,clientAssertionPayload:i,DPoP:s}={}){let o=Aw(t);if(r.jarm&&!("response"in t))throw new ow({message:"expected a JARM response",checks:r,params:o});if("response"in t){const e=await this.decryptJARM(o.response);o=await this.validateJARM(e)}if(this.default_max_age&&!r.max_age&&(r.max_age=this.default_max_age),o.state&&!r.state)throw new TypeError("checks.state argument is missing");if(!o.state&&r.state)throw new ow({message:"state missing from the response",checks:r,params:o});if(r.state!==o.state)throw new ow({printf:["state mismatch, expected %s, got: %s",r.state,o.state],checks:r,params:o});if("iss"in o){if(ew(this.issuer,"issuer"),o.iss!==this.issuer.issuer)throw new ow({printf:["iss mismatch, expected %s, got: %s",this.issuer.issuer,o.iss],params:o})}else if(this.issuer.authorization_response_iss_parameter_supported&&!("id_token"in o)&&!("response"in t))throw new ow({message:"iss missing from the response",params:o});if(o.error)throw new sw(o);const a={code:["code"],id_token:["id_token"],token:["access_token","token_type"]};if(r.response_type)for(const e of r.response_type.split(" "))if("none"===e){if(o.code||o.id_token||o.access_token)throw new ow({message:'unexpected params encountered for "none" response',checks:r,params:o})}else for(const t of a[e])if(!o[t])throw new ow({message:`${t} missing from response`,checks:r,params:o});if(o.id_token){const e=new iw(o);if(await this.decryptIdToken(e),await this.validateIdToken(e,r.nonce,"authorization",r.max_age,r.state),!o.code)return e}if(o.code){const t=await this.grant({...n,grant_type:"authorization_code",code:o.code,redirect_uri:e,code_verifier:r.code_verifier},{clientAssertionPayload:i,DPoP:s});return await this.decryptIdToken(t),await this.validateIdToken(t,r.nonce,"token",r.max_age),o.session_state&&(t.session_state=o.session_state),t}return new iw(o)}async oauthCallback(e,t,r={},{exchangeBody:n,clientAssertionPayload:i,DPoP:s}={}){let o=Aw(t);if(r.jarm&&!("response"in t))throw new ow({message:"expected a JARM response",checks:r,params:o});if("response"in t){const e=await this.decryptJARM(o.response);o=await this.validateJARM(e)}if(o.state&&!r.state)throw new TypeError("checks.state argument is missing");if(!o.state&&r.state)throw new ow({message:"state missing from the response",checks:r,params:o});if(r.state!==o.state)throw new ow({printf:["state mismatch, expected %s, got: %s",r.state,o.state],checks:r,params:o});if("iss"in o){if(ew(this.issuer,"issuer"),o.iss!==this.issuer.issuer)throw new ow({printf:["iss mismatch, expected %s, got: %s",this.issuer.issuer,o.iss],params:o})}else if(this.issuer.authorization_response_iss_parameter_supported&&!("id_token"in o)&&!("response"in t))throw new ow({message:"iss missing from the response",params:o});if(o.error)throw new sw(o);if("string"==typeof o.id_token&&o.id_token.length)throw new ow({message:"id_token detected in the response, you must use client.callback() instead of client.oauthCallback()",params:o});delete o.id_token;const a={code:["code"],token:["access_token","token_type"]};if(r.response_type)for(const e of r.response_type.split(" ")){if("none"===e&&(o.code||o.id_token||o.access_token))throw new ow({message:'unexpected params encountered for "none" response',checks:r,params:o});if(a[e])for(const t of a[e])if(!o[t])throw new ow({message:`${t} missing from response`,checks:r,params:o})}if(o.code){const t=await this.grant({...n,grant_type:"authorization_code",code:o.code,redirect_uri:e,code_verifier:r.code_verifier},{clientAssertionPayload:i,DPoP:s});if("string"==typeof t.id_token&&t.id_token.length)throw new ow({message:"id_token detected in the response, you must use client.callback() instead of client.oauthCallback()",params:o});return delete t.id_token,t}return new iw(o)}async decryptIdToken(e){if(!this.id_token_encrypted_response_alg)return e;let t=e;if(t instanceof iw){if(!t.id_token)throw new TypeError("id_token not present in TokenSet");t=t.id_token}const r=this.id_token_encrypted_response_alg,n=this.id_token_encrypted_response_enc,i=await this.decryptJWE(t,r,n);return e instanceof iw?(e.id_token=i,e):i}async validateJWTUserinfo(e){const t=this.userinfo_signed_response_alg;return this.validateJWT(e,t,[])}async decryptJARM(e){if(!this.authorization_encrypted_response_alg)return e;const t=this.authorization_encrypted_response_alg,r=this.authorization_encrypted_response_enc;return this.decryptJWE(e,t,r)}async decryptJWTUserinfo(e){if(!this.userinfo_encrypted_response_alg)return e;const t=this.userinfo_encrypted_response_alg,r=this.userinfo_encrypted_response_enc;return this.decryptJWE(e,t,r)}async decryptJWE(e,t,r="A128CBC-HS256"){const n=JSON.parse(Xb.decode(e.split(".")[0]));if(n.alg!==t)throw new ow({printf:["unexpected JWE alg received, expected %s, got: %s",t,n.alg],jwt:e});if(n.enc!==r)throw new ow({printf:["unexpected JWE enc received, expected %s, got: %s",r,n.enc],jwt:e});const i=e=>(new TextDecoder).decode(e.plaintext);let s;if(t.match(/^(?:RSA|ECDH)/)){const t=await dw.get(this),r=Gb.decodeProtectedHeader(e);for(const n of t.all({...r,use:"enc"}))if(s=await Gb.compactDecrypt(e,await n.keyObject(r.alg)).then(i,(()=>{})),s)break}else s=await Gb.compactDecrypt(e,this.secretForAlg("dir"===t?r:t)).then(i,(()=>{}));if(!s)throw new ow({message:"failed to decrypt JWE",jwt:e});return s}async validateIdToken(e,t,r,n,i){let s=e;const o=this.id_token_signed_response_alg;if(s instanceof iw){if(!s.id_token)throw new TypeError("id_token not present in TokenSet");s=s.id_token}s=String(s);const a=aw(),{protected:c,payload:l,key:u}=await this.validateJWT(s,o);if("number"==typeof n||n!==kw&&this.require_auth_time){if(!l.auth_time)throw new ow({message:"missing required JWT property auth_time",jwt:s});if("number"!=typeof l.auth_time)throw new ow({message:"JWT auth_time claim must be a JSON numeric value",jwt:s})}if("number"==typeof n&&l.auth_time+ni+this[uw])throw new ow({printf:["JWT not active yet, now %i, nbf %i",i+this[uw],o.nbf],now:i,tolerance:this[uw],nbf:o.nbf,jwt:e})}if(void 0!==o.exp){if("number"!=typeof o.exp)throw new ow({message:"JWT exp claim must be a JSON numeric value",jwt:e});if(i-this[uw]>=o.exp)throw new ow({printf:["JWT expired, now %i, exp %i",i-this[uw],o.exp],now:i,tolerance:this[uw],exp:o.exp,jwt:e})}if(void 0!==o.aud)if(Array.isArray(o.aud)){if(o.aud.length>1&&!o.azp)throw new ow({message:"missing required JWT property azp",jwt:e});if(!o.aud.includes(this.client_id))throw new ow({printf:["aud is missing the client_id, expected %s to be included in %j",this.client_id,o.aud],jwt:e})}else if(o.aud!==this.client_id)throw new ow({printf:["aud mismatch, expected %s, got: %s",this.client_id,o.aud],jwt:e});if(void 0!==o.azp){let t=this.#p;if(t="string"==typeof t?[this.client_id,t]:Array.isArray(t)?[this.client_id,...t]:[this.client_id],!t.includes(o.azp))throw new ow({printf:["azp mismatch, got: %s",o.azp],jwt:e})}if(n){try{Fb(rw(o.sub_jwk));const e=await Gb.importJWK(o.sub_jwk,s.alg);Fb.equal(e.type,"public"),a=[{keyObject:()=>e}]}catch(t){throw new ow({message:"failed to use sub_jwk claim as an asymmetric JSON Web Key",jwt:e})}if(await Gb.calculateJwkThumbprint(o.sub_jwk)!==o.sub)throw new ow({message:"failed to match the subject with sub_jwk",jwt:e})}else s.alg.startsWith("HS")?a=[this.secretForAlg(s.alg)]:"none"!==s.alg&&(a=await gw.call(this.issuer,{...s,use:"sig"}));if(!a&&"none"===s.alg)return{protected:s,payload:o};for(const t of a){const r=await Gb.compactVerify(e,t instanceof Uint8Array?t:await t.keyObject(s.alg)).catch((()=>{}));if(r)return{payload:o,protected:r.protectedHeader,key:t}}throw new ow({message:"failed to validate JWT signature",jwt:e})}async refresh(e,{exchangeBody:t,clientAssertionPayload:r,DPoP:n}={}){let i=e;if(i instanceof iw){if(!i.refresh_token)throw new TypeError("refresh_token not present in TokenSet");i=i.refresh_token}const s=await this.grant({...t,grant_type:"refresh_token",refresh_token:String(i)},{clientAssertionPayload:r,DPoP:n});if(s.id_token&&(await this.decryptIdToken(s),await this.validateIdToken(s,Ew,"token",kw),e instanceof iw&&e.id_token)){const t=e.claims().sub,r=s.claims().sub;if(r!==t)throw new ow({printf:["sub mismatch, expected %s, got: %s",t,r],jwt:s.id_token})}return s}async requestResource(e,t,{method:r,headers:n,body:i,DPoP:s,tokenType:o=(s?"DPoP":t instanceof iw?t.token_type:"Bearer")}={},a){if(t instanceof iw){if(!t.access_token)throw new TypeError("access_token not present in TokenSet");t=t.access_token}if(!t)throw new TypeError("no access token provided");if("string"!=typeof t)throw new TypeError("invalid access token provided");const c={headers:{Authorization:Ow(t,o),...n},body:i},l=!!this.tls_client_certificate_bound_access_tokens,u=await lw.call(this,{...c,responseType:"buffer",method:r,url:e},{accessToken:t,mTLS:l,DPoP:s}),d=u.headers["www-authenticate"];return a!==Sw&&d&&d.toLowerCase().startsWith("dpop ")&&"use_dpop_nonce"===Zb(d).error?this.requestResource(e,t,{method:r,headers:n,body:i,DPoP:s,tokenType:o}):u}async userinfo(e,{method:t="GET",via:r="header",tokenType:n,params:i,DPoP:s}={}){ew(this.issuer,"userinfo_endpoint");const o={tokenType:n,method:String(t).toUpperCase(),DPoP:s};if("GET"!==o.method&&"POST"!==o.method)throw new TypeError("#userinfo() method can only be POST or a GET");if("body"===r&&"POST"!==o.method)throw new TypeError("can only send body on POST");const a=!(!this.userinfo_signed_response_alg&&!this.userinfo_encrypted_response_alg);o.headers=a?{Accept:"application/jwt"}:{Accept:"application/json"};let c;!!this.tls_client_certificate_bound_access_tokens&&this.issuer.mtls_endpoint_aliases&&(c=this.issuer.mtls_endpoint_aliases.userinfo_endpoint),c=new Jb(c||this.issuer.userinfo_endpoint),"body"===r&&(o.headers.Authorization=void 0,o.headers["Content-Type"]="application/x-www-form-urlencoded",o.body=new Hb,o.body.append("access_token",e instanceof iw?e.access_token:e)),i&&("GET"===o.method?Object.entries(i).forEach((([e,t])=>{c.searchParams.append(e,t)})):(o.body||(o.body=new Hb,o.headers["Content-Type"]="application/x-www-form-urlencoded"),Object.entries(i).forEach((([e,t])=>{o.body.append(e,t)})))),o.body&&(o.body=o.body.toString());const l=await this.requestResource(c,e,o);let u=nw(l,{bearer:!0});if(a){if(!/^application\/jwt/.test(l.headers["content-type"]))throw new ow({message:"expected application/jwt response from the userinfo_endpoint",response:l});const e=l.body.toString(),t=await this.decryptJWTUserinfo(e);if(this.userinfo_signed_response_alg)({payload:u}=await this.validateJWTUserinfo(t));else try{u=JSON.parse(t),Fb(rw(u))}catch(e){throw new ow({message:"failed to parse userinfo JWE payload as JSON",jwt:t})}}else try{u=JSON.parse(l.body)}catch(e){throw Object.defineProperty(e,"response",{value:l}),e}if(e instanceof iw&&e.id_token){const t=e.claims().sub;if(u.sub!==t)throw new ow({printf:["userinfo sub mismatch, expected %s, got: %s",t,u.sub],body:u,jwt:e.id_token})}return u}encryptionSecret(e){const t=e<=256?"sha256":e<=384?"sha384":e<=512&&"sha512";if(!t)throw new Error("unsupported symmetric encryption key derivation");return Kb.createHash(t).update(this.client_secret).digest().slice(0,e/8)}secretForAlg(e){if(!this.client_secret)throw new TypeError("client_secret is required");return/^A(\d{3})(?:GCM)?KW$/.test(e)?this.encryptionSecret(parseInt(RegExp.$1,10)):/^A(\d{3})(?:GCM|CBC-HS(\d{3}))$/.test(e)?this.encryptionSecret(parseInt(RegExp.$2||RegExp.$1,10)):(new TextEncoder).encode(this.client_secret)}async grant(e,{clientAssertionPayload:t,DPoP:r}={},n){ew(this.issuer,"token_endpoint");const i=await hw.call(this,"token",{form:e,responseType:"json"},{clientAssertionPayload:t,DPoP:r});let s;try{s=nw(i)}catch(i){if(n!==Sw&&i instanceof sw&&"use_dpop_nonce"===i.error)return this.grant(e,{clientAssertionPayload:t,DPoP:r},Sw);throw i}return new iw(s)}async deviceAuthorization(e={},{exchangeBody:t,clientAssertionPayload:r,DPoP:n}={}){ew(this.issuer,"device_authorization_endpoint"),ew(this.issuer,"token_endpoint");const i=Rw.call(this,{client_id:this.client_id,redirect_uri:null,response_type:null,...e}),s=await hw.call(this,"device_authorization",{responseType:"json",form:i},{clientAssertionPayload:r,endpointAuthMethod:"token"}),o=nw(s);return new _w({client:this,exchangeBody:t,clientAssertionPayload:r,response:o,maxAge:e.max_age,DPoP:n})}async revoke(e,t,{revokeBody:r,clientAssertionPayload:n}={}){if(ew(this.issuer,"revocation_endpoint"),void 0!==t&&"string"!=typeof t)throw new TypeError("hint must be a string");const i={...r,token:e};t&&(i.token_type_hint=t);const s=await hw.call(this,"revocation",{form:i},{clientAssertionPayload:n});nw(s,{body:!1})}async introspect(e,t,{introspectBody:r,clientAssertionPayload:n}={}){if(ew(this.issuer,"introspection_endpoint"),void 0!==t&&"string"!=typeof t)throw new TypeError("hint must be a string");const i={...r,token:e};t&&(i.token_type_hint=t);const s=await hw.call(this,"introspection",{form:i,responseType:"json"},{clientAssertionPayload:n});return nw(s)}static async register(e,t={}){const{initialAccessToken:r,jwks:n,...i}=t;if(ew(this.issuer,"registration_endpoint"),void 0!==n&&!e.jwks&&!e.jwks_uri){const t=await Iw.call(this,n);e.jwks=t.toJWKS()}const s=await lw.call(this,{headers:{Accept:"application/json",...r?{Authorization:Ow(r)}:void 0},responseType:"json",json:e,url:this.issuer.registration_endpoint,method:"POST"});return new this(nw(s,{statusCode:201,bearer:!0}),n,i)}get metadata(){return pw(Object.fromEntries(this.#u.entries()))}static async fromUri(e,t,r,n){const i=await lw.call(this,{method:"GET",url:e,responseType:"json",headers:{Authorization:Ow(t),Accept:"application/json"}});return new this(nw(i,{bearer:!0}),r,n)}async requestObject(e={},{sign:t=this.request_object_signing_alg||"none",encrypt:{alg:r=this.request_object_encryption_alg,enc:n=this.request_object_encryption_enc||"A128CBC-HS256"}={}}={}){if(!rw(e))throw new TypeError("requestObject must be a plain object");let i,s;const o=aw(),a={alg:t,typ:"oauth-authz-req+jwt"},c=JSON.stringify(Yb({},e,{iss:this.client_id,aud:this.issuer.issuer,client_id:this.client_id,jti:cw(),iat:o,exp:o+300,...this.fapi()?{nbf:o}:void 0}));if("none"===t)i=[Xb.encode(JSON.stringify(a)),Xb.encode(c),""].join(".");else{const e=t.startsWith("HS");if(e)s=this.secretForAlg(t);else{const e=await dw.get(this);if(!e)throw new TypeError(`no keystore present for client, cannot sign using alg ${t}`);if(s=e.get({alg:t,use:"sig"}),!s)throw new TypeError(`no key to sign with found for alg ${t}`)}i=await new Gb.CompactSign((new TextEncoder).encode(c)).setProtectedHeader({...a,kid:e?void 0:s.jwk.kid}).sign(e?s:await s.keyObject(t))}if(!r)return i;const l={alg:r,enc:n,cty:"oauth-authz-req+jwt"};return l.alg.match(/^(RSA|ECDH)/)?[s]=await gw.call(this.issuer,{alg:l.alg,use:"enc"},{allowMulti:!0}):s=this.secretForAlg("dir"===l.alg?l.enc:l.alg),new Gb.CompactEncrypt((new TextEncoder).encode(i)).setProtectedHeader({...l,kid:s instanceof Uint8Array?void 0:s.jwk.kid}).encrypt(s instanceof Uint8Array?s:await s.keyObject(l.alg))}async pushedAuthorizationRequest(e={},{clientAssertionPayload:t}={}){ew(this.issuer,"pushed_authorization_request_endpoint");const r={..."request"in e?e:Rw.call(this,e),client_id:this.client_id},n=await hw.call(this,"pushed_authorization_request",{responseType:"json",form:r},{clientAssertionPayload:t,endpointAuthMethod:"token"}),i=nw(n,{statusCode:201});if(!("expires_in"in i))throw new ow({message:"expected expires_in in Pushed Authorization Successful Response",response:n});if("number"!=typeof i.expires_in)throw new ow({message:"invalid expires_in value in Pushed Authorization Successful Response",response:n});if(!("request_uri"in i))throw new ow({message:"expected request_uri in Pushed Authorization Successful Response",response:n});if("string"!=typeof i.request_uri)throw new ow({message:"invalid request_uri value in Pushed Authorization Successful Response",response:n});return i}get issuer(){return this.#d}[Lb.custom](){return`${this.constructor.name} ${Lb(this.metadata,{depth:1/0,colors:process.stdout.isTTY,compact:!1,sorted:!0})}`}fapi(){return"FAPI1Client"===this.constructor.name}async validateJARM(e){const t=this.authorization_signed_response_alg,{payload:r}=await this.validateJWT(e,t,["iss","exp","aud"]);return Aw(r)}async dpopProof(e,t,r){if(!rw(e))throw new TypeError("payload must be a plain object");let n;if(Vb(t))n=t;else if("CryptoKey"===t[Symbol.toStringTag])n=t;else{if("node:crypto"!==Gb.cryptoRuntime)throw new TypeError("unrecognized crypto runtime");n=Kb.createPrivateKey(t)}if("private"!==n.type)throw new TypeError('"DPoP" option must be a private key');let i=xw.call(this,n,t);if(!i)throw new TypeError("could not determine DPoP JWS Algorithm");return new Gb.SignJWT({ath:r?Xb.encode(Kb.createHash("sha256").update(r).digest()):void 0,...e}).setProtectedHeader({alg:i,typ:"dpop+jwt",jwk:await $w(n,t)}).setIssuedAt().setJti(cw()).sign(n)}};function Pw(e){switch(e.algorithm.name){case"Ed25519":case"Ed448":return"EdDSA";case"ECDSA":switch(e.algorithm.namedCurve){case"P-256":return"ES256";case"P-384":return"ES384";case"P-521":return"ES512"}break;case"RSASSA-PKCS1-v1_5":return`RS${e.algorithm.hash.name.slice(4)}`;case"RSA-PSS":return`PS${e.algorithm.hash.name.slice(4)}`;default:throw new TypeError("unsupported DPoP private key")}}if("node:crypto"===Gb.cryptoRuntime){xw=function(e,t){if("CryptoKey"===t[Symbol.toStringTag])return Pw(e);switch(e.asymmetricKeyType){case"ed25519":case"ed448":return"EdDSA";case"ec":return eB(e,t);case"rsa":case ww&&"rsa-pss":return qL(e,t,this.issuer.dpop_signing_alg_values_supported);default:throw new TypeError("unsupported DPoP private key")}};const VL=/^(?:RS|PS)(?:256|384|512)$/;function qL(e,t,r){if("object"==typeof t&&"jwk"===t.format&&t.key&&t.key.alg)return t.key.alg;if(Array.isArray(r)){let t=r.filter(RegExp.prototype.test.bind(VL));return"rsa-pss"===e.asymmetricKeyType&&(t=t.filter((e=>e.startsWith("PS")))),["PS256","PS384","PS512","RS256","RS384","RS384"].find((e=>t.includes(e)))}return"PS256"}const XL=Buffer.from([42,134,72,206,61,3,1,7]),YL=Buffer.from([43,129,4,0,34]),ZL=Buffer.from([43,129,4,0,35]),QL=Buffer.from([43,129,4,0,10]);function eB(e,t){switch("object"==typeof t&&"object"==typeof t.key&&t.key.crv){case"P-256":return"ES256";case"secp256k1":return"ES256K";case"P-384":return"ES384";case"P-512":return"ES512"}const r=e.export({format:"der",type:"pkcs8"}),n=r[1]<128?17:18,i=r[n],s=r.slice(n+1,n+1+i);if(s.equals(XL))return"ES256";if(s.equals(YL))return"ES384";if(s.equals(ZL))return"ES512";if(s.equals(QL))return"ES256K";throw new TypeError("unsupported DPoP private key curve")}}else xw=Pw;const Nw=new WeakMap;async function $w(e,t){if("node:crypto"===Gb.cryptoRuntime&&"object"==typeof t&&"object"==typeof t.key&&"jwk"===t.format)return tw(t.key,"kty","crv","x","y","e","n");if(Nw.has(t))return Nw.get(t);const r=tw(await Gb.exportJWK(e),"kty","crv","x","y","e","n");return(Vb(t)||"WebCryptoAPI"===Gb.cryptoRuntime)&&Nw.set(t,r),r}K_.exports=(e,t=!1)=>class extends jw{constructor(...r){super(e,t,...r)}static get issuer(){return e}},K_.exports.BaseClient=jw;var Mw=K_.exports;var Dw=new sg({max:100});const Lw=/^\d+$/;var Bw=function(e){if("string"!=typeof e)throw new TypeError("input must be a string");let t;return t=function(e){if(e.includes("://"))return!0;const t=e.replace(/(\/|\?)/g,"#").split("#")[0];if(t.includes(":")){const e=t.indexOf(":"),r=t.slice(e+1);if(!Lw.test(r))return!0}return!1}(e)?e:function(e){if(!e.includes("@"))return!1;const t=e.split("@"),r=t[t.length-1];return!(r.includes(":")||r.includes("/")||r.includes("?"))}(e)?`acct:${e}`:`https://${e}`,t.split("#")[0]};const{inspect:Kw}=t,Fw=e,{RPError:Uw}=B_,Ww=Mw,Jw=Dw,Hw=yv,Gw=Bw,zw=Vv,Vw=Xv,{keystore:qw}=_b,Xw=["https://login.microsoftonline.com/common/.well-known/openid-configuration","https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration","https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration","https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration"],Yw=Symbol(),Zw={claim_types_supported:["normal"],claims_parameter_supported:!1,grant_types_supported:["authorization_code","implicit"],request_parameter_supported:!1,request_uri_parameter_supported:!0,require_request_uri_registration:!1,response_modes_supported:["query","fragment"],token_endpoint_auth_methods_supported:["client_secret_basic"]};let Qw=class e{#u;constructor(e={}){const t=e[Yw];delete e[Yw],["introspection","revocation"].forEach((t=>{e[`${t}_endpoint`]&&void 0===e[`${t}_endpoint_auth_methods_supported`]&&void 0===e[`${t}_endpoint_auth_signing_alg_values_supported`]&&(e.token_endpoint_auth_methods_supported&&(e[`${t}_endpoint_auth_methods_supported`]=e.token_endpoint_auth_methods_supported),e.token_endpoint_auth_signing_alg_values_supported&&(e[`${t}_endpoint_auth_signing_alg_values_supported`]=e.token_endpoint_auth_signing_alg_values_supported))})),this.#u=new Map,Object.entries(e).forEach((([e,t])=>{this.#u.set(e,t),this[e]||Object.defineProperty(this,e,{get(){return this.#u.get(e)},enumerable:!0})})),Jw.set(this.issuer,this);const r=Ww(this,t);Object.defineProperties(this,{Client:{value:r,enumerable:!0},FAPI1Client:{value:class extends r{},enumerable:!0}})}get metadata(){return Vw(Object.fromEntries(this.#u.entries()))}static async webfinger(e){const t=Gw(e),{host:r}=Fw.parse(t),n=`https://${r}/.well-known/webfinger`,i=await zw.call(this,{method:"GET",url:n,responseType:"json",searchParams:{resource:t,rel:"http://openid.net/specs/connect/1.0/issuer"},headers:{Accept:"application/json"}}),s=Hw(i),o=Array.isArray(s.links)&&s.links.find((e=>"object"==typeof e&&"http://openid.net/specs/connect/1.0/issuer"===e.rel&&e.href));if(!o)throw new Uw({message:"no issuer found in webfinger response",body:s});if("string"!=typeof o.href||!o.href.startsWith("https://"))throw new Uw({printf:["invalid issuer location %s",o.href],body:s});const a=o.href;if(Jw.has(a))return Jw.get(a);const c=await this.discover(a);if(c.issuer!==a)throw Jw.del(c.issuer),new Uw("discovered issuer mismatch, expected %s, got: %s",a,c.issuer);return c}static async discover(t){const r=function(e){const t=Fw.parse(e);if(t.pathname.includes("/.well-known/"))return e;{let e;return e=t.pathname.endsWith("/")?`${t.pathname}.well-known/openid-configuration`:`${t.pathname}/.well-known/openid-configuration`,Fw.format({...t,pathname:e})}}(t),n=await zw.call(this,{method:"GET",responseType:"json",url:r,headers:{Accept:"application/json"}}),i=Hw(n);return new e({...Zw,...i,[Yw]:!!Xw.find((e=>r.startsWith(e)))})}async reloadJwksUri(){await qw.call(this,!0)}[Kw.custom](){return`${this.constructor.name} ${Kw(this.metadata,{depth:1/0,colors:process.stdout.isTTY,compact:!1,sorted:!0})}`}};var eS=Qw;const tS=e,{format:rS}=t,nS=Xv,{RPError:iS,OPError:sS}=B_,{BaseClient:oS}=Mw,{random:aS,codeChallenge:cS}=Av,lS=dv,{resolveResponseType:uS,resolveRedirectUri:dS}=gb;function fS(e,t,r={}){e?this.error(e):t?this.success(t,r):this.fail(r)}function pS({client:e,params:t={},passReqToCallback:r=!1,sessionKey:n,usePKCE:i=!0,extras:s={}}={},o){if(!(e instanceof oS))throw new TypeError("client must be an instance of openid-client Client");if("function"!=typeof o)throw new TypeError("verify callback must be a function");if(!e.issuer||!e.issuer.issuer)throw new TypeError("client must have an issuer with an identifier");if(this._client=e,this._issuer=e.issuer,this._verify=o,this._passReqToCallback=r,this._usePKCE=i,this._key=n||`oidc:${tS.parse(this._issuer.issuer).hostname}`,this._params=nS(t),delete this._params.state,delete this._params.nonce,this._extras=nS(s),this._params.response_type||(this._params.response_type=uS.call(e)),this._params.redirect_uri||(this._params.redirect_uri=dS.call(e)),this._params.scope||(this._params.scope="openid"),!0===this._usePKCE){const e=!!Array.isArray(this._issuer.code_challenge_methods_supported)&&this._issuer.code_challenge_methods_supported;if(e&&e.includes("S256"))this._usePKCE="S256";else if(e&&e.includes("plain"))this._usePKCE="plain";else{if(e)throw new TypeError("neither code_challenge_method supported by the client is supported by the issuer");this._usePKCE="S256"}}else if("string"==typeof this._usePKCE&&!["plain","S256"].includes(this._usePKCE))throw new TypeError(`${this._usePKCE} is not valid/implemented PKCE code_challenge_method`);this.name=tS.parse(e.issuer.issuer).hostname}pS.prototype.authenticate=function(e,t){(async()=>{const r=this._client;if(!e.session)throw new TypeError("authentication requires session support");const n=r.callbackParams(e),i=this._key,{0:s,length:o}=Object.keys(n);if(0===o||1===o&&"iss"===s){const n={state:aS(),...this._params,...t};if(!n.nonce&&n.response_type.includes("id_token")&&(n.nonce=aS()),e.session[i]=lS(n,"nonce","state","max_age","response_type"),this._usePKCE&&n.response_type.includes("code")){const t=aS();switch(e.session[i].code_verifier=t,this._usePKCE){case"S256":n.code_challenge=cS(t),n.code_challenge_method="S256";break;case"plain":n.code_challenge=t}}return void this.redirect(r.authorizationUrl(n))}const a=e.session[i];if(0===Object.keys(a||{}).length)throw new Error(rS('did not find expected authorization request details in session, req.session["%s"] is %j',i,a));const{state:c,nonce:l,max_age:u,code_verifier:d,response_type:f}=a;try{delete e.session[i]}catch(e){}const p={redirect_uri:this._params.redirect_uri,...t},h={state:c,nonce:l,max_age:u,code_verifier:d,response_type:f},m=await r.callback(p.redirect_uri,n,h,this._extras),y=this._passReqToCallback,g=this._verify.length>(y?3:2)&&r.issuer.userinfo_endpoint,_=[m,fS.bind(this)];if(g){if(!m.access_token)throw new iS({message:"expected access_token to be returned when asking for userinfo in verify callback",tokenset:m});const e=await r.userinfo(m);_.splice(1,0,e)}y&&_.unshift(e),this._verify(..._)})().catch((e=>{e instanceof sS&&"server_error"!==e.error&&!e.error.startsWith("invalid")||e instanceof iS?this.fail(e):this.error(e)}))};var hS=pS;const mS=eS,{OPError:yS,RPError:gS}=B_,_S=hS,vS=bv,{CLOCK_TOLERANCE:bS,HTTP_OPTIONS:wS}=Rv,SS=Av,{setDefaults:ES}=Vv;var kS=Pr({Issuer:mS,Strategy:_S,TokenSet:vS,errors:{OPError:yS,RPError:gS},custom:{setHttpOptionsDefaults:ES,http_options:wS,clock_tolerance:bS},generators:SS});const AS=kS.Issuer;kS.Strategy,kS.TokenSet,kS.errors,kS.custom,kS.generators;var OS={exports:{}};const CS=f,TS=p,RS=n,IS=s,xS={name:"dotenv",version:"16.4.5",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec","test:coverage":"tap --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}.version,jS=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function PS(e){console.log(`[dotenv@${xS}][DEBUG] ${e}`)}function NS(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function $S(e,t){let r;try{r=new URL(t)}catch(e){if("ERR_INVALID_URL"===e.code){const e=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}const n=r.password;if(!n){const e=new Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}const i=r.searchParams.get("environment");if(!i){const e=new Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}const s=`DOTENV_VAULT_${i.toUpperCase()}`,o=e.parsed[s];if(!o){const e=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${s} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:n}}function MS(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(const r of e.path)CS.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=TS.resolve(process.cwd(),".env.vault");return CS.existsSync(t)?t:null}function DS(e){return"~"===e[0]?TS.join(RS.homedir(),e.slice(1)):e}const LS={configDotenv:function(e){const t=TS.resolve(process.cwd(),".env");let r="utf8";const n=Boolean(e&&e.debug);e&&e.encoding?r=e.encoding:n&&PS("No encoding is specified. UTF-8 is used by default");let i,s=[t];if(e&&e.path)if(Array.isArray(e.path)){s=[];for(const t of e.path)s.push(DS(t))}else s=[DS(e.path)];const o={};for(const t of s)try{const n=LS.parse(CS.readFileSync(t,{encoding:r}));LS.populate(o,n,e)}catch(e){n&&PS(`Failed to load ${t} ${e.message}`),i=e}let a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),LS.populate(a,o,e),i?{parsed:o,error:i}:{parsed:o}},_configVault:function(e){!function(e){console.log(`[dotenv@${xS}][INFO] ${e}`)}("Loading env from encrypted .env.vault");const t=LS._parseVault(e);let r=process.env;return e&&null!=e.processEnv&&(r=e.processEnv),LS.populate(r,t,e),{parsed:t}},_parseVault:function(e){const t=MS(e),r=LS.configDotenv({path:t});if(!r.parsed){const e=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw e.code="MISSING_DATA",e}const n=NS(e).split(","),i=n.length;let s;for(let e=0;e=i)throw t}return LS.parse(s)},config:function(e){if(0===NS(e).length)return LS.configDotenv(e);const t=MS(e);return t?LS._configVault(e):(function(e){console.log(`[dotenv@${xS}][WARN] ${e}`)}(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),LS.configDotenv(e))},decrypt:function(e,t){const r=Buffer.from(t.slice(-64),"hex");let n=Buffer.from(e,"base64");const i=n.subarray(0,12),s=n.subarray(-16);n=n.subarray(12,-16);try{const e=IS.createDecipheriv("aes-256-gcm",r,i);return e.setAuthTag(s),`${e.update(n)}${e.final()}`}catch(e){const t=e instanceof RangeError,r="Invalid key length"===e.message,n="Unsupported state or unable to authenticate data"===e.message;if(t||r){const e=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(n){const e=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw e}},parse:function(e){const t={};let r,n=e.toString();for(n=n.replace(/\r\n?/gm,"\n");null!=(r=jS.exec(n));){const e=r[1];let n=r[2]||"";n=n.trim();const i=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),'"'===i&&(n=n.replace(/\\n/g,"\n"),n=n.replace(/\\r/g,"\r")),t[e]=n}return t},populate:function(e,t,r={}){const n=Boolean(r&&r.debug),i=Boolean(r&&r.override);if("object"!=typeof t){const e=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(const r of Object.keys(t))Object.prototype.hasOwnProperty.call(e,r)?(!0===i&&(e[r]=t[r]),n&&PS(!0===i?`"${r}" is already defined and WAS overwritten`:`"${r}" is already defined and was NOT overwritten`)):e[r]=t[r]}};OS.exports.configDotenv=LS.configDotenv,OS.exports._configVault=LS._configVault,OS.exports._parseVault=LS._parseVault,OS.exports.config=LS.config,OS.exports.decrypt=LS.decrypt,OS.exports.parse=LS.parse,OS.exports.populate=LS.populate,OS.exports=LS;var BS=Pr(OS.exports),KS={},FS={fromCallback:function(e){return Object.defineProperty((function(...t){if("function"!=typeof t[t.length-1])return new Promise(((r,n)=>{t.push(((e,t)=>null!=e?n(e):r(t))),e.apply(this,t)}));e.apply(this,t)}),"name",{value:e.name})},fromPromise:function(e){return Object.defineProperty((function(...t){const r=t[t.length-1];if("function"!=typeof r)return e.apply(this,t);t.pop(),e.apply(this,t).then((e=>r(null,e)),r)}),"name",{value:e.name})}},US=h,WS=process.cwd,JS=null,HS=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return JS||(JS=WS.call(process)),JS};try{process.cwd()}catch(tB){}if("function"==typeof process.chdir){var GS=process.chdir;process.chdir=function(e){JS=null,GS.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,GS)}var zS=function(e){US.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&function(e){e.lchmod=function(t,r,n){e.open(t,US.O_WRONLY|US.O_SYMLINK,r,(function(t,i){t?n&&n(t):e.fchmod(i,r,(function(t){e.close(i,(function(e){n&&n(t||e)}))}))}))},e.lchmodSync=function(t,r){var n,i=e.openSync(t,US.O_WRONLY|US.O_SYMLINK,r),s=!0;try{n=e.fchmodSync(i,r),s=!1}finally{if(s)try{e.closeSync(i)}catch(e){}else e.closeSync(i)}return n}}(e);e.lutimes||function(e){US.hasOwnProperty("O_SYMLINK")&&e.futimes?(e.lutimes=function(t,r,n,i){e.open(t,US.O_SYMLINK,(function(t,s){t?i&&i(t):e.futimes(s,r,n,(function(t){e.close(s,(function(e){i&&i(t||e)}))}))}))},e.lutimesSync=function(t,r,n){var i,s=e.openSync(t,US.O_SYMLINK),o=!0;try{i=e.futimesSync(s,r,n),o=!1}finally{if(o)try{e.closeSync(s)}catch(e){}else e.closeSync(s)}return i}):e.futimes&&(e.lutimes=function(e,t,r,n){n&&process.nextTick(n)},e.lutimesSync=function(){})}(e);e.chown=n(e.chown),e.fchown=n(e.fchown),e.lchown=n(e.lchown),e.chmod=t(e.chmod),e.fchmod=t(e.fchmod),e.lchmod=t(e.lchmod),e.chownSync=i(e.chownSync),e.fchownSync=i(e.fchownSync),e.lchownSync=i(e.lchownSync),e.chmodSync=r(e.chmodSync),e.fchmodSync=r(e.fchmodSync),e.lchmodSync=r(e.lchmodSync),e.stat=s(e.stat),e.fstat=s(e.fstat),e.lstat=s(e.lstat),e.statSync=o(e.statSync),e.fstatSync=o(e.fstatSync),e.lstatSync=o(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(e,t,r){r&&process.nextTick(r)},e.lchmodSync=function(){});e.chown&&!e.lchown&&(e.lchown=function(e,t,r,n){n&&process.nextTick(n)},e.lchownSync=function(){});"win32"===HS&&(e.rename="function"!=typeof e.rename?e.rename:function(t){function r(r,n,i){var s=Date.now(),o=0;t(r,n,(function a(c){if(c&&("EACCES"===c.code||"EPERM"===c.code||"EBUSY"===c.code)&&Date.now()-s<6e4)return setTimeout((function(){e.stat(n,(function(e,s){e&&"ENOENT"===e.code?t(r,n,a):i(c)}))}),o),void(o<100&&(o+=10));i&&i(c)}))}return Object.setPrototypeOf&&Object.setPrototypeOf(r,t),r}(e.rename));function t(t){return t?function(r,n,i){return t.call(e,r,n,(function(e){a(e)&&(e=null),i&&i.apply(this,arguments)}))}:t}function r(t){return t?function(r,n){try{return t.call(e,r,n)}catch(e){if(!a(e))throw e}}:t}function n(t){return t?function(r,n,i,s){return t.call(e,r,n,i,(function(e){a(e)&&(e=null),s&&s.apply(this,arguments)}))}:t}function i(t){return t?function(r,n,i){try{return t.call(e,r,n,i)}catch(e){if(!a(e))throw e}}:t}function s(t){return t?function(r,n,i){function s(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return"function"==typeof n&&(i=n,n=null),n?t.call(e,r,n,s):t.call(e,r,s)}:t}function o(t){return t?function(r,n){var i=n?t.call(e,r,n):t.call(e,r);return i&&(i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296)),i}:t}function a(e){return!e||("ENOSYS"===e.code||!(process.getuid&&0===process.getuid()||"EINVAL"!==e.code&&"EPERM"!==e.code))}e.read="function"!=typeof e.read?e.read:function(t){function r(r,n,i,s,o,a){var c;if(a&&"function"==typeof a){var l=0;c=function(u,d,f){if(u&&"EAGAIN"===u.code&&l<10)return l++,t.call(e,r,n,i,s,o,c);a.apply(this,arguments)}}return t.call(e,r,n,i,s,o,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(r,t),r}(e.read),e.readSync="function"!=typeof e.readSync?e.readSync:(c=e.readSync,function(t,r,n,i,s){for(var o=0;;)try{return c.call(e,t,r,n,i,s)}catch(e){if("EAGAIN"===e.code&&o<10){o++;continue}throw e}});var c};var VS=m.Stream,qS=function(e){return{ReadStream:function t(r,n){if(!(this instanceof t))return new t(r,n);VS.call(this);var i=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,n=n||{};for(var s=Object.keys(n),o=0,a=s.length;othis.end)throw new Error("start must be <= end");this.pos=this.start}if(null!==this.fd)return void process.nextTick((function(){i._read()}));e.open(this.path,this.flags,this.mode,(function(e,t){if(e)return i.emit("error",e),void(i.readable=!1);i.fd=t,i.emit("open",t),i._read()}))},WriteStream:function t(r,n){if(!(this instanceof t))return new t(r,n);VS.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,n=n||{};for(var i=Object.keys(n),s=0,o=i.length;s= zero");this.pos=this.start}this.busy=!1,this._queue=[],null===this.fd&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}};var XS=function(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Object)var t={__proto__:YS(e)};else t=Object.create(null);return Object.getOwnPropertyNames(e).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t},YS=Object.getPrototypeOf||function(e){return e.__proto__};var ZS,QS,eE=f,tE=zS,rE=qS,nE=XS,iE=t;function sE(e,t){Object.defineProperty(e,ZS,{get:function(){return t}})}"function"==typeof Symbol&&"function"==typeof Symbol.for?(ZS=Symbol.for("graceful-fs.queue"),QS=Symbol.for("graceful-fs.previous")):(ZS="___graceful-fs.queue",QS="___graceful-fs.previous");var oE=function(){};if(iE.debuglog?oE=iE.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(oE=function(){var e=iE.format.apply(iE,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: "),console.error(e)}),!eE[ZS]){var aE=jr[ZS]||[];sE(eE,aE),eE.close=function(e){function t(t,r){return e.call(eE,t,(function(e){e||fE(),"function"==typeof r&&r.apply(this,arguments)}))}return Object.defineProperty(t,QS,{value:e}),t}(eE.close),eE.closeSync=function(e){function t(t){e.apply(eE,arguments),fE()}return Object.defineProperty(t,QS,{value:e}),t}(eE.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",(function(){oE(eE[ZS]),u.equal(eE[ZS].length,0)}))}jr[ZS]||sE(jr,eE[ZS]);var cE,lE=uE(nE(eE));function uE(e){tE(e),e.gracefulify=uE,e.createReadStream=function(t,r){return new e.ReadStream(t,r)},e.createWriteStream=function(t,r){return new e.WriteStream(t,r)};var t=e.readFile;e.readFile=function(e,r,n){"function"==typeof r&&(n=r,r=null);return function e(r,n,i,s){return t(r,n,(function(t){!t||"EMFILE"!==t.code&&"ENFILE"!==t.code?"function"==typeof i&&i.apply(this,arguments):dE([e,[r,n,i],t,s||Date.now(),Date.now()])}))}(e,r,n)};var r=e.writeFile;e.writeFile=function(e,t,n,i){"function"==typeof n&&(i=n,n=null);return function e(t,n,i,s,o){return r(t,n,i,(function(r){!r||"EMFILE"!==r.code&&"ENFILE"!==r.code?"function"==typeof s&&s.apply(this,arguments):dE([e,[t,n,i,s],r,o||Date.now(),Date.now()])}))}(e,t,n,i)};var n=e.appendFile;n&&(e.appendFile=function(e,t,r,i){"function"==typeof r&&(i=r,r=null);return function e(t,r,i,s,o){return n(t,r,i,(function(n){!n||"EMFILE"!==n.code&&"ENFILE"!==n.code?"function"==typeof s&&s.apply(this,arguments):dE([e,[t,r,i,s],n,o||Date.now(),Date.now()])}))}(e,t,r,i)});var i=e.copyFile;i&&(e.copyFile=function(e,t,r,n){"function"==typeof r&&(n=r,r=0);return function e(t,r,n,s,o){return i(t,r,n,(function(i){!i||"EMFILE"!==i.code&&"ENFILE"!==i.code?"function"==typeof s&&s.apply(this,arguments):dE([e,[t,r,n,s],i,o||Date.now(),Date.now()])}))}(e,t,r,n)});var s=e.readdir;e.readdir=function(e,t,r){"function"==typeof t&&(r=t,t=null);var n=o.test(process.version)?function(e,t,r,n){return s(e,i(e,t,r,n))}:function(e,t,r,n){return s(e,t,i(e,t,r,n))};return n(e,t,r);function i(e,t,r,i){return function(s,o){!s||"EMFILE"!==s.code&&"ENFILE"!==s.code?(o&&o.sort&&o.sort(),"function"==typeof r&&r.call(this,s,o)):dE([n,[e,t,r],s,i||Date.now(),Date.now()])}}};var o=/^v[0-5]\./;if("v0.8"===process.version.substr(0,4)){var a=rE(e);f=a.ReadStream,p=a.WriteStream}var c=e.ReadStream;c&&(f.prototype=Object.create(c.prototype),f.prototype.open=function(){var e=this;m(e.path,e.flags,e.mode,(function(t,r){t?(e.autoClose&&e.destroy(),e.emit("error",t)):(e.fd=r,e.emit("open",r),e.read())}))});var l=e.WriteStream;l&&(p.prototype=Object.create(l.prototype),p.prototype.open=function(){var e=this;m(e.path,e.flags,e.mode,(function(t,r){t?(e.destroy(),e.emit("error",t)):(e.fd=r,e.emit("open",r))}))}),Object.defineProperty(e,"ReadStream",{get:function(){return f},set:function(e){f=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return p},set:function(e){p=e},enumerable:!0,configurable:!0});var u=f;Object.defineProperty(e,"FileReadStream",{get:function(){return u},set:function(e){u=e},enumerable:!0,configurable:!0});var d=p;function f(e,t){return this instanceof f?(c.apply(this,arguments),this):f.apply(Object.create(f.prototype),arguments)}function p(e,t){return this instanceof p?(l.apply(this,arguments),this):p.apply(Object.create(p.prototype),arguments)}Object.defineProperty(e,"FileWriteStream",{get:function(){return d},set:function(e){d=e},enumerable:!0,configurable:!0});var h=e.open;function m(e,t,r,n){return"function"==typeof r&&(n=r,r=null),function e(t,r,n,i,s){return h(t,r,n,(function(o,a){!o||"EMFILE"!==o.code&&"ENFILE"!==o.code?"function"==typeof i&&i.apply(this,arguments):dE([e,[t,r,n,i],o,s||Date.now(),Date.now()])}))}(e,t,r,n)}return e.open=m,e}function dE(e){oE("ENQUEUE",e[0].name,e[1]),eE[ZS].push(e),pE()}function fE(){for(var e=Date.now(),t=0;t2&&(eE[ZS][t][3]=e,eE[ZS][t][4]=e);pE()}function pE(){if(clearTimeout(cE),cE=void 0,0!==eE[ZS].length){var e=eE[ZS].shift(),t=e[0],r=e[1],n=e[2],i=e[3],s=e[4];if(void 0===i)oE("RETRY",t.name,r),t.apply(null,r);else if(Date.now()-i>=6e4){oE("TIMEOUT",t.name,r);var o=r.pop();"function"==typeof o&&o.call(null,n)}else{var a=Date.now()-s,c=Math.max(s-i,1);a>=Math.min(1.2*c,100)?(oE("RETRY",t.name,r),t.apply(null,r.concat([i]))):eE[ZS].push(e)}void 0===cE&&(cE=setTimeout(pE,0))}}process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!eE.__patched&&(lE=uE(eE),eE.__patched=!0),function(e){const t=FS.fromCallback,r=lE,n=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((e=>"function"==typeof r[e]));Object.assign(e,r),n.forEach((n=>{e[n]=t(r[n])})),e.exists=function(e,t){return"function"==typeof t?r.exists(e,t):new Promise((t=>r.exists(e,t)))},e.read=function(e,t,n,i,s,o){return"function"==typeof o?r.read(e,t,n,i,s,o):new Promise(((o,a)=>{r.read(e,t,n,i,s,((e,t,r)=>{if(e)return a(e);o({bytesRead:t,buffer:r})}))}))},e.write=function(e,t,...n){return"function"==typeof n[n.length-1]?r.write(e,t,...n):new Promise(((i,s)=>{r.write(e,t,...n,((e,t,r)=>{if(e)return s(e);i({bytesWritten:t,buffer:r})}))}))},e.readv=function(e,t,...n){return"function"==typeof n[n.length-1]?r.readv(e,t,...n):new Promise(((i,s)=>{r.readv(e,t,...n,((e,t,r)=>{if(e)return s(e);i({bytesRead:t,buffers:r})}))}))},e.writev=function(e,t,...n){return"function"==typeof n[n.length-1]?r.writev(e,t,...n):new Promise(((i,s)=>{r.writev(e,t,...n,((e,t,r)=>{if(e)return s(e);i({bytesWritten:t,buffers:r})}))}))},"function"==typeof r.realpath.native?e.realpath.native=t(r.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")}(KS);var hE={},mE={};const yE=p;mE.checkPath=function(e){if("win32"===process.platform){if(/[<>:"|?*]/.test(e.replace(yE.parse(e).root,""))){const t=new Error(`Path contains invalid characters: ${e}`);throw t.code="EINVAL",t}}};const gE=KS,{checkPath:_E}=mE,vE=e=>"number"==typeof e?e:{mode:511,...e}.mode;hE.makeDir=async(e,t)=>(_E(e),gE.mkdir(e,{mode:vE(t),recursive:!0})),hE.makeDirSync=(e,t)=>(_E(e),gE.mkdirSync(e,{mode:vE(t),recursive:!0}));const bE=FS.fromPromise,{makeDir:wE,makeDirSync:SE}=hE,EE=bE(wE);var kE={mkdirs:EE,mkdirsSync:SE,mkdirp:EE,mkdirpSync:SE,ensureDir:EE,ensureDirSync:SE};const AE=FS.fromPromise,OE=KS;var CE={pathExists:AE((function(e){return OE.access(e).then((()=>!0)).catch((()=>!1))})),pathExistsSync:OE.existsSync};const TE=KS;var RE={utimesMillis:(0,FS.fromPromise)((async function(e,t,r){const n=await TE.open(e,"r+");let i=null;try{await TE.futimes(n,t,r)}finally{try{await TE.close(n)}catch(e){i=e}}if(i)throw i})),utimesMillisSync:function(e,t,r){const n=TE.openSync(e,"r+");return TE.futimesSync(n,t,r),TE.closeSync(n)}};const IE=KS,xE=p,jE=FS.fromPromise;function PE(e,t){return t.ino&&t.dev&&t.ino===e.ino&&t.dev===e.dev}function NE(e,t){const r=xE.resolve(e).split(xE.sep).filter((e=>e)),n=xE.resolve(t).split(xE.sep).filter((e=>e));return r.every(((e,t)=>n[t]===e))}function $E(e,t,r){return`Cannot ${r} '${e}' to a subdirectory of itself, '${t}'.`}var ME={checkPaths:jE((async function(e,t,r,n){const{srcStat:i,destStat:s}=await function(e,t,r){const n=r.dereference?e=>IE.stat(e,{bigint:!0}):e=>IE.lstat(e,{bigint:!0});return Promise.all([n(e),n(t).catch((e=>{if("ENOENT"===e.code)return null;throw e}))]).then((([e,t])=>({srcStat:e,destStat:t})))}(e,t,n);if(s){if(PE(i,s)){const n=xE.basename(e),o=xE.basename(t);if("move"===r&&n!==o&&n.toLowerCase()===o.toLowerCase())return{srcStat:i,destStat:s,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!s.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!i.isDirectory()&&s.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(i.isDirectory()&&NE(e,t))throw new Error($E(e,t,r));return{srcStat:i,destStat:s}})),checkPathsSync:function(e,t,r,n){const{srcStat:i,destStat:s}=function(e,t,r){let n;const i=r.dereference?e=>IE.statSync(e,{bigint:!0}):e=>IE.lstatSync(e,{bigint:!0}),s=i(e);try{n=i(t)}catch(e){if("ENOENT"===e.code)return{srcStat:s,destStat:null};throw e}return{srcStat:s,destStat:n}}(e,t,n);if(s){if(PE(i,s)){const n=xE.basename(e),o=xE.basename(t);if("move"===r&&n!==o&&n.toLowerCase()===o.toLowerCase())return{srcStat:i,destStat:s,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!s.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!i.isDirectory()&&s.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(i.isDirectory()&&NE(e,t))throw new Error($E(e,t,r));return{srcStat:i,destStat:s}},checkParentPaths:jE((async function e(t,r,n,i){const s=xE.resolve(xE.dirname(t)),o=xE.resolve(xE.dirname(n));if(o===s||o===xE.parse(o).root)return;let a;try{a=await IE.stat(o,{bigint:!0})}catch(e){if("ENOENT"===e.code)return;throw e}if(PE(r,a))throw new Error($E(t,n,i));return e(t,r,o,i)})),checkParentPathsSync:function e(t,r,n,i){const s=xE.resolve(xE.dirname(t)),o=xE.resolve(xE.dirname(n));if(o===s||o===xE.parse(o).root)return;let a;try{a=IE.statSync(o,{bigint:!0})}catch(e){if("ENOENT"===e.code)return;throw e}if(PE(r,a))throw new Error($E(t,n,i));return e(t,r,o,i)},isSrcSubdir:NE,areIdentical:PE};const DE=KS,LE=p,{mkdirs:BE}=kE,{pathExists:KE}=CE,{utimesMillis:FE}=RE,UE=ME;async function WE(e,t,r){return!r.filter||r.filter(e,t)}async function JE(e,t,r,n){const i=n.dereference?DE.stat:DE.lstat,s=await i(t);if(s.isDirectory())return async function(e,t,r,n,i){t||await DE.mkdir(n);const s=await DE.readdir(r);await Promise.all(s.map((async e=>{const t=LE.join(r,e),s=LE.join(n,e);if(!await WE(t,s,i))return;const{destStat:o}=await UE.checkPaths(t,s,"copy",i);return JE(o,t,s,i)}))),t||await DE.chmod(n,e.mode)}(s,e,t,r,n);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return async function(e,t,r,n,i){if(!t)return HE(e,r,n,i);if(i.overwrite)return await DE.unlink(n),HE(e,r,n,i);if(i.errorOnExist)throw new Error(`'${n}' already exists`)}(s,e,t,r,n);if(s.isSymbolicLink())return async function(e,t,r,n){let i=await DE.readlink(t);n.dereference&&(i=LE.resolve(process.cwd(),i));if(!e)return DE.symlink(i,r);let s=null;try{s=await DE.readlink(r)}catch(e){if("EINVAL"===e.code||"UNKNOWN"===e.code)return DE.symlink(i,r);throw e}n.dereference&&(s=LE.resolve(process.cwd(),s));if(UE.isSrcSubdir(i,s))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${s}'.`);if(UE.isSrcSubdir(s,i))throw new Error(`Cannot overwrite '${s}' with '${i}'.`);return await DE.unlink(r),DE.symlink(i,r)}(e,t,r,n);if(s.isSocket())throw new Error(`Cannot copy a socket file: ${t}`);if(s.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${t}`);throw new Error(`Unknown file: ${t}`)}async function HE(e,t,r,n){if(await DE.copyFile(t,r),n.preserveTimestamps){128&e.mode||await function(e,t){return DE.chmod(e,128|t)}(r,e.mode);const n=await DE.stat(t);await FE(r,n.atime,n.mtime)}return DE.chmod(r,e.mode)}var GE=async function(e,t,r={}){"function"==typeof r&&(r={filter:r}),r.clobber=!("clobber"in r)||!!r.clobber,r.overwrite="overwrite"in r?!!r.overwrite:r.clobber,r.preserveTimestamps&&"ia32"===process.arch&&process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001");const{srcStat:n,destStat:i}=await UE.checkPaths(e,t,"copy",r);if(await UE.checkParentPaths(e,n,t,"copy"),!await WE(e,t,r))return;const s=LE.dirname(t);await KE(s)||await BE(s),await JE(i,e,t,r)};const zE=lE,VE=p,qE=kE.mkdirsSync,XE=RE.utimesMillisSync,YE=ME;function ZE(e,t,r,n){const i=(n.dereference?zE.statSync:zE.lstatSync)(t);if(i.isDirectory())return function(e,t,r,n,i){return t?tk(r,n,i):function(e,t,r,n){return zE.mkdirSync(r),tk(t,r,n),ek(r,e)}(e.mode,r,n,i)}(i,e,t,r,n);if(i.isFile()||i.isCharacterDevice()||i.isBlockDevice())return function(e,t,r,n,i){return t?function(e,t,r,n){if(n.overwrite)return zE.unlinkSync(r),QE(e,t,r,n);if(n.errorOnExist)throw new Error(`'${r}' already exists`)}(e,r,n,i):QE(e,r,n,i)}(i,e,t,r,n);if(i.isSymbolicLink())return function(e,t,r,n){let i=zE.readlinkSync(t);n.dereference&&(i=VE.resolve(process.cwd(),i));if(e){let e;try{e=zE.readlinkSync(r)}catch(e){if("EINVAL"===e.code||"UNKNOWN"===e.code)return zE.symlinkSync(i,r);throw e}if(n.dereference&&(e=VE.resolve(process.cwd(),e)),YE.isSrcSubdir(i,e))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${e}'.`);if(YE.isSrcSubdir(e,i))throw new Error(`Cannot overwrite '${e}' with '${i}'.`);return function(e,t){return zE.unlinkSync(t),zE.symlinkSync(e,t)}(i,r)}return zE.symlinkSync(i,r)}(e,t,r,n);if(i.isSocket())throw new Error(`Cannot copy a socket file: ${t}`);if(i.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${t}`);throw new Error(`Unknown file: ${t}`)}function QE(e,t,r,n){return zE.copyFileSync(t,r),n.preserveTimestamps&&function(e,t,r){(function(e){return!(128&e)})(e)&&function(e,t){ek(e,128|t)}(r,e);(function(e,t){const r=zE.statSync(e);XE(t,r.atime,r.mtime)})(t,r)}(e.mode,t,r),ek(r,e.mode)}function ek(e,t){return zE.chmodSync(e,t)}function tk(e,t,r){zE.readdirSync(e).forEach((n=>function(e,t,r,n){const i=VE.join(t,e),s=VE.join(r,e);if(n.filter&&!n.filter(i,s))return;const{destStat:o}=YE.checkPathsSync(i,s,"copy",n);return ZE(o,i,s,n)}(n,e,t,r)))}var rk=function(e,t,r){"function"==typeof r&&(r={filter:r}),(r=r||{}).clobber=!("clobber"in r)||!!r.clobber,r.overwrite="overwrite"in r?!!r.overwrite:r.clobber,r.preserveTimestamps&&"ia32"===process.arch&&process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002");const{srcStat:n,destStat:i}=YE.checkPathsSync(e,t,"copy",r);if(YE.checkParentPathsSync(e,n,t,"copy"),r.filter&&!r.filter(e,t))return;const s=VE.dirname(t);return zE.existsSync(s)||qE(s),ZE(i,e,t,r)};var nk={copy:(0,FS.fromPromise)(GE),copySync:rk};const ik=lE;var sk={remove:(0,FS.fromCallback)((function(e,t){ik.rm(e,{recursive:!0,force:!0},t)})),removeSync:function(e){ik.rmSync(e,{recursive:!0,force:!0})}};const ok=FS.fromPromise,ak=KS,ck=p,lk=kE,uk=sk,dk=ok((async function(e){let t;try{t=await ak.readdir(e)}catch{return lk.mkdirs(e)}return Promise.all(t.map((t=>uk.remove(ck.join(e,t)))))}));function fk(e){let t;try{t=ak.readdirSync(e)}catch{return lk.mkdirsSync(e)}t.forEach((t=>{t=ck.join(e,t),uk.removeSync(t)}))}var pk={emptyDirSync:fk,emptydirSync:fk,emptyDir:dk,emptydir:dk};const hk=FS.fromPromise,mk=p,yk=KS,gk=kE;var _k={createFile:hk((async function(e){let t;try{t=await yk.stat(e)}catch{}if(t&&t.isFile())return;const r=mk.dirname(e);let n=null;try{n=await yk.stat(r)}catch(t){if("ENOENT"===t.code)return await gk.mkdirs(r),void await yk.writeFile(e,"");throw t}n.isDirectory()?await yk.writeFile(e,""):await yk.readdir(r)})),createFileSync:function(e){let t;try{t=yk.statSync(e)}catch{}if(t&&t.isFile())return;const r=mk.dirname(e);try{yk.statSync(r).isDirectory()||yk.readdirSync(r)}catch(e){if(!e||"ENOENT"!==e.code)throw e;gk.mkdirsSync(r)}yk.writeFileSync(e,"")}};const vk=FS.fromPromise,bk=p,wk=KS,Sk=kE,{pathExists:Ek}=CE,{areIdentical:kk}=ME;var Ak={createLink:vk((async function(e,t){let r,n;try{r=await wk.lstat(t)}catch{}try{n=await wk.lstat(e)}catch(e){throw e.message=e.message.replace("lstat","ensureLink"),e}if(r&&kk(n,r))return;const i=bk.dirname(t);await Ek(i)||await Sk.mkdirs(i),await wk.link(e,t)})),createLinkSync:function(e,t){let r;try{r=wk.lstatSync(t)}catch{}try{const t=wk.lstatSync(e);if(r&&kk(t,r))return}catch(e){throw e.message=e.message.replace("lstat","ensureLink"),e}const n=bk.dirname(t);return wk.existsSync(n)||Sk.mkdirsSync(n),wk.linkSync(e,t)}};const Ok=p,Ck=KS,{pathExists:Tk}=CE;var Rk={symlinkPaths:(0,FS.fromPromise)((async function(e,t){if(Ok.isAbsolute(e)){try{await Ck.lstat(e)}catch(e){throw e.message=e.message.replace("lstat","ensureSymlink"),e}return{toCwd:e,toDst:e}}const r=Ok.dirname(t),n=Ok.join(r,e);if(await Tk(n))return{toCwd:n,toDst:e};try{await Ck.lstat(e)}catch(e){throw e.message=e.message.replace("lstat","ensureSymlink"),e}return{toCwd:e,toDst:Ok.relative(r,e)}})),symlinkPathsSync:function(e,t){if(Ok.isAbsolute(e)){if(!Ck.existsSync(e))throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}const r=Ok.dirname(t),n=Ok.join(r,e);if(Ck.existsSync(n))return{toCwd:n,toDst:e};if(!Ck.existsSync(e))throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Ok.relative(r,e)}}};const Ik=KS;var xk={symlinkType:(0,FS.fromPromise)((async function(e,t){if(t)return t;let r;try{r=await Ik.lstat(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"})),symlinkTypeSync:function(e,t){if(t)return t;let r;try{r=Ik.lstatSync(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}};const jk=FS.fromPromise,Pk=p,Nk=KS,{mkdirs:$k,mkdirsSync:Mk}=kE,{symlinkPaths:Dk,symlinkPathsSync:Lk}=Rk,{symlinkType:Bk,symlinkTypeSync:Kk}=xk,{pathExists:Fk}=CE,{areIdentical:Uk}=ME;var Wk={createSymlink:jk((async function(e,t,r){let n;try{n=await Nk.lstat(t)}catch{}if(n&&n.isSymbolicLink()){const[r,n]=await Promise.all([Nk.stat(e),Nk.stat(t)]);if(Uk(r,n))return}const i=await Dk(e,t);e=i.toDst;const s=await Bk(i.toCwd,r),o=Pk.dirname(t);return await Fk(o)||await $k(o),Nk.symlink(e,t,s)})),createSymlinkSync:function(e,t,r){let n;try{n=Nk.lstatSync(t)}catch{}if(n&&n.isSymbolicLink()){const r=Nk.statSync(e),n=Nk.statSync(t);if(Uk(r,n))return}const i=Lk(e,t);e=i.toDst,r=Kk(i.toCwd,r);const s=Pk.dirname(t);return Nk.existsSync(s)||Mk(s),Nk.symlinkSync(e,t,r)}};const{createFile:Jk,createFileSync:Hk}=_k,{createLink:Gk,createLinkSync:zk}=Ak,{createSymlink:Vk,createSymlinkSync:qk}=Wk;var Xk={createFile:Jk,createFileSync:Hk,ensureFile:Jk,ensureFileSync:Hk,createLink:Gk,createLinkSync:zk,ensureLink:Gk,ensureLinkSync:zk,createSymlink:Vk,createSymlinkSync:qk,ensureSymlink:Vk,ensureSymlinkSync:qk};var Yk={stringify:function(e,{EOL:t="\n",finalEOL:r=!0,replacer:n=null,spaces:i}={}){const s=r?t:"";return JSON.stringify(e,n,i).replace(/\n/g,t)+s},stripBom:function(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}};let Zk;try{Zk=lE}catch(rB){Zk=f}const Qk=FS,{stringify:eA,stripBom:tA}=Yk;const rA=Qk.fromPromise((async function(e,t={}){"string"==typeof t&&(t={encoding:t});const r=t.fs||Zk,n=!("throws"in t)||t.throws;let i,s=await Qk.fromCallback(r.readFile)(e,t);s=tA(s);try{i=JSON.parse(s,t?t.reviver:null)}catch(t){if(n)throw t.message=`${e}: ${t.message}`,t;return null}return i}));const nA=Qk.fromPromise((async function(e,t,r={}){const n=r.fs||Zk,i=eA(t,r);await Qk.fromCallback(n.writeFile)(e,i,r)}));const iA={readFile:rA,readFileSync:function(e,t={}){"string"==typeof t&&(t={encoding:t});const r=t.fs||Zk,n=!("throws"in t)||t.throws;try{let n=r.readFileSync(e,t);return n=tA(n),JSON.parse(n,t.reviver)}catch(t){if(n)throw t.message=`${e}: ${t.message}`,t;return null}},writeFile:nA,writeFileSync:function(e,t,r={}){const n=r.fs||Zk,i=eA(t,r);return n.writeFileSync(e,i,r)}};var sA={readJson:iA.readFile,readJsonSync:iA.readFileSync,writeJson:iA.writeFile,writeJsonSync:iA.writeFileSync};const oA=FS.fromPromise,aA=KS,cA=p,lA=kE,uA=CE.pathExists;var dA={outputFile:oA((async function(e,t,r="utf-8"){const n=cA.dirname(e);return await uA(n)||await lA.mkdirs(n),aA.writeFile(e,t,r)})),outputFileSync:function(e,...t){const r=cA.dirname(e);aA.existsSync(r)||lA.mkdirsSync(r),aA.writeFileSync(e,...t)}};const{stringify:fA}=Yk,{outputFile:pA}=dA;var hA=async function(e,t,r={}){const n=fA(t,r);await pA(e,n,r)};const{stringify:mA}=Yk,{outputFileSync:yA}=dA;var gA=function(e,t,r){const n=mA(t,r);yA(e,n,r)};const _A=FS.fromPromise,vA=sA;vA.outputJson=_A(hA),vA.outputJsonSync=gA,vA.outputJSON=vA.outputJson,vA.outputJSONSync=vA.outputJsonSync,vA.writeJSON=vA.writeJson,vA.writeJSONSync=vA.writeJsonSync,vA.readJSON=vA.readJson,vA.readJSONSync=vA.readJsonSync;var bA=vA;const wA=KS,SA=p,{copy:EA}=nk,{remove:kA}=sk,{mkdirp:AA}=kE,{pathExists:OA}=CE,CA=ME;var TA=async function(e,t,r={}){const n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:s=!1}=await CA.checkPaths(e,t,"move",r);await CA.checkParentPaths(e,i,t,"move");const o=SA.dirname(t);return SA.parse(o).root!==o&&await AA(o),async function(e,t,r,n){if(!n)if(r)await kA(t);else if(await OA(t))throw new Error("dest already exists.");try{await wA.rename(e,t)}catch(n){if("EXDEV"!==n.code)throw n;await async function(e,t,r){const n={overwrite:r,errorOnExist:!0,preserveTimestamps:!0};return await EA(e,t,n),kA(e)}(e,t,r)}}(e,t,n,s)};const RA=lE,IA=p,xA=nk.copySync,jA=sk.removeSync,PA=kE.mkdirpSync,NA=ME;function $A(e,t,r){try{RA.renameSync(e,t)}catch(n){if("EXDEV"!==n.code)throw n;return function(e,t,r){const n={overwrite:r,errorOnExist:!0,preserveTimestamps:!0};return xA(e,t,n),jA(e)}(e,t,r)}}var MA=function(e,t,r){const n=(r=r||{}).overwrite||r.clobber||!1,{srcStat:i,isChangingCase:s=!1}=NA.checkPathsSync(e,t,"move",r);return NA.checkParentPathsSync(e,i,t,"move"),function(e){const t=IA.dirname(e);return IA.parse(t).root===t}(t)||PA(IA.dirname(t)),function(e,t,r,n){if(n)return $A(e,t,r);if(r)return jA(t),$A(e,t,r);if(RA.existsSync(t))throw new Error("dest already exists.");return $A(e,t,r)}(e,t,n,s)};var DA={move:(0,FS.fromPromise)(TA),moveSync:MA},LA=Pr({...KS,...nk,...pk,...Xk,...bA,...kE,...DA,...dA,...CE,...sk}); +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ +function BA(e){return null==e}var KA=function(e,t){var r,n="";for(r=0;ra&&(t=n-a+(s=" ... ").length),r-n>a&&(r=n+a-(o=" ...").length),{str:s+e.slice(t,r).replace(/\t/g,"→")+o,pos:n-t+s.length}}function VA(e,t){return WA.repeat(" ",t-e.length)+e}var qA=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var r,n=/\r?\n|\r|\0/g,i=[0],s=[],o=-1;r=n.exec(e.buffer);)s.push(r.index),i.push(r.index+r[0].length),e.position<=r.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var a,c,l="",u=Math.min(e.line+t.linesAfter,s.length).toString().length,d=t.maxLength-(t.indent+u+3);for(a=1;a<=t.linesBefore&&!(o-a<0);a++)c=zA(e.buffer,i[o-a],s[o-a],e.position-(i[o]-i[o-a]),d),l=WA.repeat(" ",t.indent)+VA((e.line-a+1).toString(),u)+" | "+c.str+"\n"+l;for(c=zA(e.buffer,i[o],s[o],e.position,d),l+=WA.repeat(" ",t.indent)+VA((e.line+1).toString(),u)+" | "+c.str+"\n",l+=WA.repeat("-",t.indent+u+3+c.pos)+"^\n",a=1;a<=t.linesAfter&&!(o+a>=s.length);a++)c=zA(e.buffer,i[o+a],s[o+a],e.position-(i[o]-i[o+a]),d),l+=WA.repeat(" ",t.indent)+VA((e.line+a+1).toString(),u)+" | "+c.str+"\n";return l.replace(/\n$/,"")},XA=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],YA=["scalar","sequence","mapping"];var ZA=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===XA.indexOf(t))throw new GA('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(r){e[r].forEach((function(e){t[String(e)]=r}))})),t}(t.styleAliases||null),-1===YA.indexOf(this.kind))throw new GA('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function QA(e,t){var r=[];return e[t].forEach((function(e){var t=r.length;r.forEach((function(r,n){r.tag===e.tag&&r.kind===e.kind&&r.multi===e.multi&&(t=n)})),r[t]=e})),r}function eO(e){return this.extend(e)}eO.prototype.extend=function(e){var t=[],r=[];if(e instanceof ZA)r.push(e);else if(Array.isArray(e))r=r.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new GA("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(r=r.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof ZA))throw new GA("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new GA("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new GA("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),r.forEach((function(e){if(!(e instanceof ZA))throw new GA("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var n=Object.create(eO.prototype);return n.implicit=(this.implicit||[]).concat(t),n.explicit=(this.explicit||[]).concat(r),n.compiledImplicit=QA(n,"implicit"),n.compiledExplicit=QA(n,"explicit"),n.compiledTypeMap=function(){var e,t,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(r.multi[e.kind].push(e),r.multi.fallback.push(e)):r[e.kind][e.tag]=r.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),fO=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var pO=/^[-+]?[0-9]+e/;var hO=new ZA("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!fO.test(e)||"_"===e[e.length-1])},construct:function(e){var t,r;return r="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:r*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||WA.isNegativeZero(e))},represent:function(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(WA.isNegativeZero(e))return"-0.0";return r=e.toString(10),pO.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),mO=sO.extend({implicit:[oO,aO,dO,hO]}),yO=mO,gO=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),_O=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var vO=new ZA("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==gO.exec(e)||null!==_O.exec(e))},construct:function(e){var t,r,n,i,s,o,a,c,l=0,u=null;if(null===(t=gO.exec(e))&&(t=_O.exec(e)),null===t)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,n,i));if(s=+t[4],o=+t[5],a=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(u=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(u=-u)),c=new Date(Date.UTC(r,n,i,s,o,a,l)),u&&c.setTime(c.getTime()-u),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var bO=new ZA("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),wO="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var SO=new ZA("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,n=0,i=e.length,s=wO;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8==0},construct:function(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,s=wO,o=0,a=[];for(t=0;t>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(n.charAt(t));return 0===(r=i%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===r?(a.push(o>>10&255),a.push(o>>2&255)):12===r&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,r,n="",i=0,s=e.length,o=wO;for(t=0;t>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]),i=(i<<8)+e[t];return 0===(r=s%3)?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]):2===r?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):1===r&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}}),EO=Object.prototype.hasOwnProperty,kO=Object.prototype.toString;var AO=new ZA("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,n,i,s,o=[],a=e;for(t=0,r=a.length;t>10),56320+(e-65536&1023))}for(var eC=new Array(256),tC=new Array(256),rC=0;rC<256;rC++)eC[rC]=ZO(rC)?1:0,tC[rC]=ZO(rC);function nC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||IO,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function iC(e,t){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=qA(r),new GA(t,r)}function sC(e,t){throw iC(e,t)}function oC(e,t){e.onWarning&&e.onWarning.call(null,iC(e,t))}var aC={YAML:function(e,t,r){var n,i,s;null!==e.version&&sC(e,"duplication of %YAML directive"),1!==r.length&&sC(e,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&sC(e,"ill-formed argument of the YAML directive"),i=parseInt(n[1],10),s=parseInt(n[2],10),1!==i&&sC(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=s<2,1!==s&&2!==s&&oC(e,"unsupported YAML version of the document")},TAG:function(e,t,r){var n,i;2!==r.length&&sC(e,"TAG directive accepts exactly two arguments"),n=r[0],i=r[1],UO.test(n)||sC(e,"ill-formed tag handle (first argument) of the TAG directive"),xO.call(e.tagMap,n)&&sC(e,'there is a previously declared suffix for "'+n+'" tag handle'),WO.test(i)||sC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){sC(e,"tag prefix is malformed: "+i)}e.tagMap[n]=i}};function cC(e,t,r,n){var i,s,o,a;if(t1&&(e.result+=WA.repeat("\n",t-1))}function mC(e,t){var r,n,i=e.tag,s=e.anchor,o=[],a=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,sC(e,"tab characters must not be used in indentation")),45===n)&&zO(e.input.charCodeAt(e.position+1));)if(a=!0,e.position++,fC(e,!0,-1)&&e.lineIndent<=t)o.push(null),n=e.input.charCodeAt(e.position);else if(r=e.line,_C(e,t,NO,!1,!0),o.push(e.result),fC(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>t)&&0!==n)sC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?h=1:e.lineIndent===t?h=0:e.lineIndentt?h=1:e.lineIndent===t?h=0:e.lineIndentt)&&(g&&(o=e.line,a=e.lineStart,c=e.position),_C(e,t,$O,!0,i)&&(g?m=e.result:y=e.result),g||(uC(e,f,p,h,m,y,o,a,c),h=m=y=null),fC(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==l)sC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?sC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?sC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(GO(s)){do{s=e.input.charCodeAt(++e.position)}while(GO(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!HO(s)&&0!==s)}for(;0!==s;){for(dC(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),HO(s))u++;else{if(e.lineIndent0){for(i=o,s=0;i>0;i--)(o=qO(a=e.input.charCodeAt(++e.position)))>=0?s=(s<<4)+o:sC(e,"expected hexadecimal character");e.result+=QO(s),e.position++}else sC(e,"unknown escape sequence");r=n=e.position}else HO(a)?(cC(e,r,n,!0),hC(e,fC(e,!1,t)),r=n=e.position):e.position===e.lineStart&&pC(e)?sC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}sC(e,"unexpected end of the stream within a double quoted scalar")}(e,f)?y=!0:!function(e){var t,r,n;if(42!==(n=e.input.charCodeAt(e.position)))return!1;for(n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!zO(n)&&!VO(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&sC(e,"name of an alias node must contain at least one character"),r=e.input.slice(t,e.position),xO.call(e.anchorMap,r)||sC(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],fC(e,!0,-1),!0}(e)?function(e,t,r){var n,i,s,o,a,c,l,u,d=e.kind,f=e.result;if(zO(u=e.input.charCodeAt(e.position))||VO(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(zO(n=e.input.charCodeAt(e.position+1))||r&&VO(n)))return!1;for(e.kind="scalar",e.result="",i=s=e.position,o=!1;0!==u;){if(58===u){if(zO(n=e.input.charCodeAt(e.position+1))||r&&VO(n))break}else if(35===u){if(zO(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&pC(e)||r&&VO(u))break;if(HO(u)){if(a=e.line,c=e.lineStart,l=e.lineIndent,fC(e,!1,-1),e.lineIndent>=t){o=!0,u=e.input.charCodeAt(e.position);continue}e.position=s,e.line=a,e.lineStart=c,e.lineIndent=l;break}}o&&(cC(e,i,s,!1),hC(e,e.line-a),i=s=e.position,o=!1),GO(u)||(s=e.position+1),u=e.input.charCodeAt(++e.position)}return cC(e,i,s,!1),!!e.result||(e.kind=d,e.result=f,!1)}(e,f,jO===r)&&(y=!0,null===e.tag&&(e.tag="?")):(y=!0,null===e.tag&&null===e.anchor||sC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(y=a&&mC(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&sC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&d.kind!==e.kind&&sC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+d.kind+'", not "'+e.kind+'"'),d.resolve(e.result,e.tag)?(e.result=d.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):sC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||y}function vC(e){var t,r,n,i,s=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(fC(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!zO(i);)i=e.input.charCodeAt(++e.position);for(n=[],(r=e.input.slice(t,e.position)).length<1&&sC(e,"directive name must not be less than one character in length");0!==i;){for(;GO(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!HO(i));break}if(HO(i))break;for(t=e.position;0!==i&&!zO(i);)i=e.input.charCodeAt(++e.position);n.push(e.input.slice(t,e.position))}0!==i&&dC(e),xO.call(aC,r)?aC[r](e,r,n):oC(e,'unknown document directive "'+r+'"')}fC(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,fC(e,!0,-1)):o&&sC(e,"directives end mark is expected"),_C(e,e.lineIndent-1,$O,!1,!0),fC(e,!0,-1),e.checkLineBreaks&&KO.test(e.input.slice(s,e.position))&&oC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&pC(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,fC(e,!0,-1)):e.position=55296&&n<=56319&&t+1=56320&&r<=57343?1024*(n-55296)+r-56320+65536:n}function uT(e){return/^\n* /.test(e)}var dT=1,fT=2,pT=3,hT=4,mT=5;function yT(e,t,r,n,i,s,o,a){var c,l=0,u=null,d=!1,f=!1,p=-1!==n,h=-1,m=function(e){return oT(e)&&e!==AC&&!sT(e)&&e!==LC&&e!==UC&&e!==BC&&e!==DC&&e!==JC&&e!==HC&&e!==zC&&e!==qC&&e!==jC&&e!==NC&&e!==MC&&e!==IC&&e!==VC&&e!==KC&&e!==FC&&e!==$C&&e!==xC&&e!==PC&&e!==WC&&e!==GC}(lT(e,0))&&function(e){return!sT(e)&&e!==BC}(lT(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!oT(l=lT(e,c)))return mT;m=m&&cT(l,u,a),u=l}else{for(c=0;c=65536?c+=2:c++){if((l=lT(e,c))===CC)d=!0,p&&(f=f||c-h-1>n&&" "!==e[h+1],h=c);else if(!oT(l))return mT;m=m&&cT(l,u,a),u=l}f=f||p&&c-h-1>n&&" "!==e[h+1]}return d||f?r>9&&uT(e)?mT:o?s===tT?mT:fT:f?hT:pT:!m||o||i(e)?s===tT?mT:fT:dT}function gT(e,t,r,n,i){e.dump=function(){if(0===t.length)return e.quotingType===tT?'""':"''";if(!e.noCompatMode&&(-1!==YC.indexOf(t)||ZC.test(t)))return e.quotingType===tT?'"'+t+'"':"'"+t+"'";var s=e.indent*Math.max(1,r),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),a=n||e.flowLevel>-1&&r>=e.flowLevel;switch(yT(t,a,e.indent,o,(function(t){return function(e,t){var r,n;for(r=0,n=e.implicitTypes.length;r"+_T(t,e.indent)+vT(nT(function(e,t){var r,n,i=/(\n+)([^\n]*)/g,s=(a=e.indexOf("\n"),a=-1!==a?a:e.length,i.lastIndex=a,bT(e.slice(0,a),t)),o="\n"===e[0]||" "===e[0];var a;for(;n=i.exec(e);){var c=n[1],l=n[2];r=" "===l[0],s+=c+(o||r||""===l?"":"\n")+bT(l,t),o=r}return s}(t,o),s));case mT:return'"'+function(e){for(var t,r="",n=0,i=0;i=65536?i+=2:i++)n=lT(e,i),!(t=XC[n])&&oT(n)?(r+=e[i],n>=65536&&(r+=e[i+1])):r+=t||QC(n);return r}(t)+'"';default:throw new GA("impossible error: invalid scalar style")}}()}function _T(e,t){var r=uT(e)?String(t):"",n="\n"===e[e.length-1];return r+(n&&("\n"===e[e.length-2]||"\n"===e)?"+":n?"":"-")+"\n"}function vT(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function bT(e,t){if(""===e||" "===e[0])return e;for(var r,n,i=/ [^ ]/g,s=0,o=0,a=0,c="";r=i.exec(e);)(a=r.index)-s>t&&(n=o>s?o:a,c+="\n"+e.slice(s,n),s=n+1),o=a;return c+="\n",e.length-s>t&&o>s?c+=e.slice(s,o)+"\n"+e.slice(o+1):c+=e.slice(s),c.slice(1)}function wT(e,t,r,n){var i,s,o,a="",c=e.tag;for(i=0,s=r.length;i tag resolver accepts not "'+c+'" style');n=a.represent[c](t,c)}e.dump=n}return!0}return!1}function ET(e,t,r,n,i,s,o){e.tag=null,e.dump=r,ST(e,r,!1)||ST(e,r,!0);var a,c=EC.call(e.dump),l=n;n&&(n=e.flowLevel<0||e.flowLevel>t);var u,d,f="[object Object]"===c||"[object Array]"===c;if(f&&(d=-1!==(u=e.duplicates.indexOf(r))),(null!==e.tag&&"?"!==e.tag||d||2!==e.indent&&t>0)&&(i=!1),d&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(f&&d&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(!function(e,t,r,n){var i,s,o,a,c,l,u="",d=e.tag,f=Object.keys(r);if(!0===e.sortKeys)f.sort();else if("function"==typeof e.sortKeys)f.sort(e.sortKeys);else if(e.sortKeys)throw new GA("sortKeys must be a boolean or a function");for(i=0,s=f.length;i1024)&&(e.dump&&CC===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=iT(e,t)),ET(e,t+1,a,!0,c)&&(e.dump&&CC===e.dump.charCodeAt(0)?l+=":":l+=": ",u+=l+=e.dump));e.tag=d,e.dump=u||"{}"}(e,t,e.dump,i),d&&(e.dump="&ref_"+u+e.dump)):(!function(e,t,r){var n,i,s,o,a,c="",l=e.tag,u=Object.keys(r);for(n=0,i=u.length;n1024&&(a+="? "),a+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),ET(e,t,o,!1,!1)&&(c+=a+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),d&&(e.dump="&ref_"+u+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?wT(e,t-1,e.dump,i):wT(e,t,e.dump,i),d&&(e.dump="&ref_"+u+e.dump)):(!function(e,t,r){var n,i,s,o="",a=e.tag;for(n=0,i=r.length;n",e.dump=a+" "+e.dump)}return!0}function kT(e,t){var r,n,i=[],s=[];for(AT(e,i,s),r=0,n=s.length;rnew RegExp(`^${e}$`))),IT=["string","number","regex","array","json"],xT={},jT={CONFIG_PATH:p.resolve(process.cwd(),".env")};let PT={...jT,...process.env,...function(){const e=p.resolve(process.env.CONFIG_PATH||jT.CONFIG_PATH);if(!1===f.existsSync(e))return{};const t=p.extname(e).toLowerCase();if(".js"===t){const t=require(e),r=t.default||t;if("function"==typeof r)return r(process.env);if("object"==typeof r)return r;throw new Error(`Invalid JS configuration file export type. Requires one of "function", "object", received: "${typeof r}"`)}if(".json"===t)return require(e);if(".yaml"===t||".yml"===t){const t=function(e){const t=LA.readFileSync(e,"utf8");return TT.load(t)}(e);if("object"==typeof t)return t;throw new Error("Invalid YAML configuration. Root has to be an object.")}return BS.parse(f.readFileSync(e,{encoding:"utf8"}))}()};process.env=PT,PT=function(e){t=e,e=Rr(t,Ir);var t;for(let[t,r]of Object.entries(e)){let n;if(t.length>5&&t.endsWith("_FILE")&&(n=t.slice(0,-5),RT.some((e=>e.test(n))))){if(n in e&&(!(n in jT)||e[n]!==jT[n]))throw new Error(`Duplicate environment variable encountered: you can't use "${n}" and "${t}" simultaneously.`);try{r=f.readFileSync(r,{encoding:"utf8"}),t=n}catch{throw new Error(`Failed to read value from file "${r}", defined in environment variable "${t}".`)}}if("string"==typeof r&&DT(r))e[t]=MT(r);else if(xT[t])switch(xT[t]){case"number":e[t]=X(r);break;case"string":e[t]=ht(r);break;case"array":e[t]=Ic(r);break;case"json":e[t]=LT(r);break;case"boolean":e[t]=$T(r)}else"true"!==r?"false"!==r?"null"!==r?!1===String(r).startsWith("0")&&!1===isNaN(r)&&r.length>0&&r<=Number.MAX_SAFE_INTEGER?e[t]=Number(r):String(r).includes(",")?e[t]=Ic(r):(e[t]=LT(r),n&&(e[t]=r)):e[t]=null:e[t]=!1:e[t]=!0}return e}(PT);var NT=PT;function $T(e){return"true"===e||!0===e||"1"===e||1===e}function MT(e){const t=e.split(":").slice(0,-1)[0]??!1;const r=function(e,t){return e.split(`${t}:`)[1]}(e,t)??!1;switch(t){case"number":return X(r);case"array":return Ic(r).map((e=>DT(e)?MT(e):e));case"regex":return new RegExp(r);case"string":return r;case"json":return LT(r)}}function DT(e){return IT.some((t=>e.includes(`${t}:`)))}function LT(e){try{return t=e,String(t).includes("__proto__")?JSON.parse(t,Rc):JSON.parse(t)}catch{return e}var t}var BT=1e3,KT=60*BT,FT=60*KT,UT=24*FT,WT=7*UT,JT=365.25*UT;function HT(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}var GT=(e,t,r=500)=>class extends Error{name="DirectusError";extensions;code=e.toUpperCase();status=r;constructor(e,r){super("string"==typeof t?t:t(e),r),this.extensions=e}toString(){return`${this.name} [${this.code}]: ${this.message}`}};const zT=GT("INVALID_JWKS_ISSUER_ERROR","No JWKS_URL or JWKS_KEYS and could not discover JWKS_URL from openid metadata",500),VT=GT("INVALID_JWKS_ISSUER_ERROR","Could not retrieve any valid keys from JWKS_URL",500),qT=GT("INVALID_JWKS_ISSUER_ERROR","No signing keys in response from provider");async function XT(e){if(void 0!==e.jwks_keys&&null==e.issuer_url&&null==e.jwks_url){const t=JSON.parse(e.jwks_keys),r=new $_({getKeysInterceptor:()=>t,jwksUri:""});e.JWKSClient=r}if(e.issuer_url&&!e.jwks_url){const t=await AS.discover(e.issuer_url);null!=t.metadata.jwks_uri&&(e.jwks_url=t.metadata.jwks_uri)}if(null==e.jwks_url)throw new zT;const t=await async function(e){const t=new $_({jwksUri:e,cache:!0,cacheMaxAge:36e6,cacheMaxEntries:10,timeout:3e4});try{if(0==(await t.getSigningKeys()).length)throw new qT}catch(e){throw new VT}return t}(e.jwks_url);return e.JWKSClient=t,e}var YT={},ZT={exports:{}}; +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ +!function(e,t){var r=i,n=r.Buffer;function s(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return n(e,t,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(s(r,t),t.Buffer=o),o.prototype=Object.create(n.prototype),s(n,o),o.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return n(e,t,r)},o.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=n(e);return void 0!==t?"string"==typeof r?i.fill(t,r):i.fill(t):i.fill(0),i},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}}(ZT,ZT.exports);var QT=ZT.exports,eR=QT.Buffer,tR=m;function rR(e){if(this.buffer=null,this.writable=!0,this.readable=!0,!e)return this.buffer=eR.alloc(0),this;if("function"==typeof e.pipe)return this.buffer=eR.alloc(0),e.pipe(this),this;if(e.length||"object"==typeof e)return this.buffer=e,this.writable=!1,process.nextTick(function(){this.emit("end",e),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof e+")")}t.inherits(rR,tR),rR.prototype.write=function(e){this.buffer=eR.concat([this.buffer,eR.from(e)]),this.emit("data",e)},rR.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};var nR=rR,iR=i.Buffer,sR=i.SlowBuffer,oR=aR;function aR(e,t){if(!iR.isBuffer(e)||!iR.isBuffer(t))return!1;if(e.length!==t.length)return!1;for(var r=0,n=0;n=mR&&--n,n}var _R={derToJose:function(e,t){e=yR(e);var r=hR(t),n=r+1,i=e.length,s=0;if(48!==e[s++])throw new Error('Could not find expected "seq"');var o=e[s++];if(o===(1|mR)&&(o=e[s++]),i-s0)return function(e){if(e=String(e),e.length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*JT;case"weeks":case"week":case"w":return r*WT;case"days":case"day":case"d":return r*UT;case"hours":case"hour":case"hrs":case"hr":case"h":return r*FT;case"minutes":case"minute":case"mins":case"min":case"m":return r*KT;case"seconds":case"second":case"secs":case"sec":case"s":return r*BT;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===r&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=UT)return HT(e,t,UT,"day");if(t>=FT)return HT(e,t,FT,"hour");if(t>=KT)return HT(e,t,KT,"minute");if(t>=BT)return HT(e,t,BT,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=UT)return Math.round(e/UT)+"d";if(t>=FT)return Math.round(e/FT)+"h";if(t>=KT)return Math.round(e/KT)+"m";if(t>=BT)return Math.round(e/BT)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))},RI=function(e,t){var r=t||Math.floor(Date.now()/1e3);if("string"==typeof e){var n=TI(e);if(void 0===n)return;return Math.floor(r+n/1e3)}return"number"==typeof e?r+e:void 0},II={exports:{}};var xI={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};var jI="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=xI,s=jI,o=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.t={};let u=0;const d="[a-zA-Z0-9-]",f=[["\\s",1],["\\d",i],[d,n]],p=(e,t,r)=>{const n=(e=>{for(const[t,r]of f)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),i=u++;s(e,i,t),l[e]=i,c[i]=t,o[i]=new RegExp(t,r?"g":void 0),a[i]=new RegExp(n,r?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),p("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${c[l.NUMERICIDENTIFIER]}|${c[l.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NUMERICIDENTIFIERLOOSE]}|${c[l.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${d}+`),p("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),p("FULL",`^${c[l.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),p("LOOSE",`^${c[l.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),p("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),p("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),p("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`),p("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?`+`(?:${c[l.BUILD]})?(?:$|[^\\d])`),p("COERCERTL",c[l.COERCE],!0),p("COERCERTLFULL",c[l.COERCEFULL],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",p("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",p("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(II,II.exports);var PI=II.exports;const NI=Object.freeze({loose:!0}),$I=Object.freeze({});var MI=e=>e?"object"!=typeof e?NI:e:$I;const DI=/^[0-9]+$/,LI=(e,t)=>{const r=DI.test(e),n=DI.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eLI(t,e)};const KI=jI,{MAX_LENGTH:FI,MAX_SAFE_INTEGER:UI}=xI,{safeRe:WI,t:JI}=PI,HI=MI,{compareIdentifiers:GI}=BI;var zI=class e{constructor(t,r){if(r=HI(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>FI)throw new TypeError(`version is longer than ${FI} characters`);KI("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;const n=t.trim().match(r.loose?WI[JI.LOOSE]:WI[JI.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>UI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>UI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>UI||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===GI(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const VI=zI;var qI=(e,t,r=!1)=>{if(e instanceof VI)return e;try{return new VI(e,t)}catch(e){if(!r)return null;throw e}};const XI=qI;var YI=(e,t)=>{const r=XI(e,t);return r?r.version:null};const ZI=qI;var QI=(e,t)=>{const r=ZI(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};const ex=zI;var tx=(e,t,r,n,i)=>{"string"==typeof r&&(i=n,n=r,r=void 0);try{return new ex(e instanceof ex?e.version:e,r).inc(t,n,i).version}catch(e){return null}};const rx=qI;var nx=(e,t)=>{const r=rx(e,null,!0),n=rx(t,null,!0),i=r.compare(n);if(0===i)return null;const s=i>0,o=s?r:n,a=s?n:r,c=!!o.prerelease.length;if(!!a.prerelease.length&&!c)return a.patch||a.minor?o.patch?"patch":o.minor?"minor":"major":"major";const l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};const ix=zI;var sx=(e,t)=>new ix(e,t).major;const ox=zI;var ax=(e,t)=>new ox(e,t).minor;const cx=zI;var lx=(e,t)=>new cx(e,t).patch;const ux=qI;var dx=(e,t)=>{const r=ux(e,t);return r&&r.prerelease.length?r.prerelease:null};const fx=zI;var px=(e,t,r)=>new fx(e,r).compare(new fx(t,r));const hx=px;var mx=(e,t,r)=>hx(t,e,r);const yx=px;var gx=(e,t)=>yx(e,t,!0);const _x=zI;var vx=(e,t,r)=>{const n=new _x(e,r),i=new _x(t,r);return n.compare(i)||n.compareBuild(i)};const bx=vx;var wx=(e,t)=>e.sort(((e,r)=>bx(e,r,t)));const Sx=vx;var Ex=(e,t)=>e.sort(((e,r)=>Sx(r,e,t)));const kx=px;var Ax=(e,t,r)=>kx(e,t,r)>0;const Ox=px;var Cx=(e,t,r)=>Ox(e,t,r)<0;const Tx=px;var Rx=(e,t,r)=>0===Tx(e,t,r);const Ix=px;var xx=(e,t,r)=>0!==Ix(e,t,r);const jx=px;var Px=(e,t,r)=>jx(e,t,r)>=0;const Nx=px;var $x=(e,t,r)=>Nx(e,t,r)<=0;const Mx=Rx,Dx=xx,Lx=Ax,Bx=Px,Kx=Cx,Fx=$x;var Ux=(e,t,r,n)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return Mx(e,r,n);case"!=":return Dx(e,r,n);case">":return Lx(e,r,n);case">=":return Bx(e,r,n);case"<":return Kx(e,r,n);case"<=":return Fx(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};const Wx=zI,Jx=qI,{safeRe:Hx,t:Gx}=PI;var zx=(e,t)=>{if(e instanceof Wx)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){const n=t.includePrerelease?Hx[Gx.COERCERTLFULL]:Hx[Gx.COERCERTL];let i;for(;(i=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&i.index+i[0].length===r.index+r[0].length||(r=i),n.lastIndex=i.index+i[1].length+i[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?Hx[Gx.COERCEFULL]:Hx[Gx.COERCE]);if(null===r)return null;const n=r[2],i=r[3]||"0",s=r[4]||"0",o=t.includePrerelease&&r[5]?`-${r[5]}`:"",a=t.includePrerelease&&r[6]?`+${r[6]}`:"";return Jx(`${n}.${i}.${s}${o}${a}`,t)};var Vx,qx,Xx,Yx,Zx=class{constructor(){this.max=1e3,this.map=new Map}get(e){const t=this.map.get(e);return void 0===t?void 0:(this.map.delete(e),this.map.set(e,t),t)}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&void 0!==t){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}};function Qx(){if(qx)return Vx;qx=1;class e{constructor(t,i){if(i=r(i),t instanceof e)return t.loose===!!i.loose&&t.includePrerelease===!!i.includePrerelease?t:new e(t.raw,i);if(t instanceof n)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!p(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&h(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const r=((this.options.includePrerelease&&d)|(this.options.loose&&f))+":"+e,s=t.get(r);if(s)return s;const h=this.options.loose,m=h?o[a.HYPHENRANGELOOSE]:o[a.HYPHENRANGE];e=e.replace(m,O(this.options.includePrerelease)),i("hyphen replace",e),e=e.replace(o[a.COMPARATORTRIM],c),i("comparator trim",e),e=e.replace(o[a.TILDETRIM],l),i("tilde trim",e),e=e.replace(o[a.CARETTRIM],u),i("caret trim",e);let g=e.split(" ").map((e=>y(e,this.options))).join(" ").split(/\s+/).map((e=>A(e,this.options)));h&&(g=g.filter((e=>(i("loose invalid filter",e,this.options),!!e.match(o[a.COMPARATORLOOSE]))))),i("range list",g);const _=new Map,v=g.map((e=>new n(e,this.options)));for(const e of v){if(p(e))return[e];_.set(e.value,e)}_.size>1&&_.has("")&&_.delete("");const b=[..._.values()];return t.set(r,b),b}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some((e=>m(e,r)&&t.set.some((t=>m(t,r)&&e.every((e=>t.every((t=>e.intersects(t,r)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new s(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,h=e=>""===e.value,m=(e,t)=>{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},y=(e,t)=>(i("comp",e,t),e=b(e,t),i("caret",e),e=_(e,t),i("tildes",e),e=S(e,t),i("xrange",e),e=k(e,t),i("stars",e),e),g=e=>!e||"x"===e.toLowerCase()||"*"===e,_=(e,t)=>e.trim().split(/\s+/).map((e=>v(e,t))).join(" "),v=(e,t)=>{const r=t.loose?o[a.TILDELOOSE]:o[a.TILDE];return e.replace(r,((t,r,n,s,o)=>{let a;return i("tilde",e,t,r,n,s,o),g(r)?a="":g(n)?a=`>=${r}.0.0 <${+r+1}.0.0-0`:g(s)?a=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:o?(i("replaceTilde pr",o),a=`>=${r}.${n}.${s}-${o} <${r}.${+n+1}.0-0`):a=`>=${r}.${n}.${s} <${r}.${+n+1}.0-0`,i("tilde return",a),a}))},b=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{i("caret",e,t);const r=t.loose?o[a.CARETLOOSE]:o[a.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,s,o,a)=>{let c;return i("caret",e,t,r,s,o,a),g(r)?c="":g(s)?c=`>=${r}.0.0${n} <${+r+1}.0.0-0`:g(o)?c="0"===r?`>=${r}.${s}.0${n} <${r}.${+s+1}.0-0`:`>=${r}.${s}.0${n} <${+r+1}.0.0-0`:a?(i("replaceCaret pr",a),c="0"===r?"0"===s?`>=${r}.${s}.${o}-${a} <${r}.${s}.${+o+1}-0`:`>=${r}.${s}.${o}-${a} <${r}.${+s+1}.0-0`:`>=${r}.${s}.${o}-${a} <${+r+1}.0.0-0`):(i("no pr"),c="0"===r?"0"===s?`>=${r}.${s}.${o}${n} <${r}.${s}.${+o+1}-0`:`>=${r}.${s}.${o}${n} <${r}.${+s+1}.0-0`:`>=${r}.${s}.${o} <${+r+1}.0.0-0`),i("caret return",c),c}))},S=(e,t)=>(i("replaceXRanges",e,t),e.split(/\s+/).map((e=>E(e,t))).join(" ")),E=(e,t)=>{e=e.trim();const r=t.loose?o[a.XRANGELOOSE]:o[a.XRANGE];return e.replace(r,((r,n,s,o,a,c)=>{i("xRange",e,r,n,s,o,a,c);const l=g(s),u=l||g(o),d=u||g(a),f=d;return"="===n&&f&&(n=""),c=t.includePrerelease?"-0":"",l?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&f?(u&&(o=0),a=0,">"===n?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):"<="===n&&(n="<",u?s=+s+1:o=+o+1),"<"===n&&(c="-0"),r=`${n+s}.${o}.${a}${c}`):u?r=`>=${s}.0.0${c} <${+s+1}.0.0-0`:d&&(r=`>=${s}.${o}.0${c} <${s}.${+o+1}.0-0`),i("xRange return",r),r}))},k=(e,t)=>(i("replaceStars",e,t),e.trim().replace(o[a.STAR],"")),A=(e,t)=>(i("replaceGTE0",e,t),e.trim().replace(o[t.includePrerelease?a.GTE0PRE:a.GTE0],"")),O=e=>(t,r,n,i,s,o,a,c,l,u,d,f)=>`${r=g(n)?"":g(i)?`>=${n}.0.0${e?"-0":""}`:g(s)?`>=${n}.${i}.0${e?"-0":""}`:o?`>=${r}`:`>=${r}${e?"-0":""}`} ${c=g(l)?"":g(u)?`<${+l+1}.0.0-0`:g(d)?`<${l}.${+u+1}.0-0`:f?`<=${l}.${u}.${d}-${f}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`}`.trim(),C=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0};return Vx}function ej(){if(Yx)return Xx;Yx=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(n,i){if(i=r(i),n instanceof t){if(n.loose===!!i.loose)return n;n=n.value}n=n.trim().split(/\s+/).join(" "),o("comparator",n,i),this.options=i,this.loose=!!i.loose,this.parse(n),this.semver===e?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(t){const r=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],s=t.match(r);if(!s)throw new TypeError(`Invalid comparator: ${t}`);this.operator=void 0!==s[1]?s[1]:"","="===this.operator&&(this.operator=""),s[2]?this.semver=new a(s[2],this.options.loose):this.semver=e}toString(){return this.value}test(t){if(o("Comparator.test",t,this.options.loose),this.semver===e||t===e)return!0;if("string"==typeof t)try{t=new a(t,this.options)}catch(e){return!1}return s(t,this.operator,this.semver,this.options)}intersects(e,n){if(!(e instanceof t))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new c(e.value,n).test(this.value):""===e.operator?""===e.value||new c(this.value,n).test(e.semver):(!(n=r(n)).includePrerelease||"<0.0.0-0"!==this.value&&"<0.0.0-0"!==e.value)&&(!(!n.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&(!(!this.operator.startsWith(">")||!e.operator.startsWith(">"))||(!(!this.operator.startsWith("<")||!e.operator.startsWith("<"))||(!(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))||(!!(s(this.semver,"<",e.semver,n)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))||!!(s(this.semver,">",e.semver,n)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))))))}}Xx=t;const r=MI,{safeRe:n,t:i}=PI,s=Ux,o=jI,a=zI,c=Qx();return Xx}const tj=Qx();var rj=(e,t,r)=>{try{t=new tj(t,r)}catch(e){return!1}return t.test(e)};const nj=Qx();var ij=(e,t)=>new nj(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));const sj=zI,oj=Qx();var aj=(e,t,r)=>{let n=null,i=null,s=null;try{s=new oj(t,r)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(n&&-1!==i.compare(e)||(n=e,i=new sj(n,r)))})),n};const cj=zI,lj=Qx();var uj=(e,t,r)=>{let n=null,i=null,s=null;try{s=new lj(t,r)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(n&&1!==i.compare(e)||(n=e,i=new cj(n,r)))})),n};const dj=zI,fj=Qx(),pj=Ax;var hj=(e,t)=>{e=new fj(e,t);let r=new dj("0.0.0");if(e.test(r))return r;if(r=new dj("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new dj(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":i&&!pj(t,i)||(i=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!i||r&&!pj(r,i)||(r=i)}return r&&e.test(r)?r:null};const mj=Qx();var yj=(e,t)=>{try{return new mj(e,t).range||"*"}catch(e){return null}};const gj=zI,_j=ej(),{ANY:vj}=_j,bj=Qx(),wj=rj,Sj=Ax,Ej=Cx,kj=$x,Aj=Px;var Oj=(e,t,r,n)=>{let i,s,o,a,c;switch(e=new gj(e,n),t=new bj(t,n),r){case">":i=Sj,s=kj,o=Ej,a=">",c=">=";break;case"<":i=Ej,s=Aj,o=Sj,a="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(wj(e,t,n))return!1;for(let r=0;r{e.semver===vj&&(e=new _j(">=0.0.0")),u=u||e,d=d||e,i(e.semver,u.semver,n)?u=e:o(e.semver,d.semver,n)&&(d=e)})),u.operator===a||u.operator===c)return!1;if((!d.operator||d.operator===a)&&s(e,d.semver))return!1;if(d.operator===c&&o(e,d.semver))return!1}return!0};const Cj=Oj;var Tj=(e,t,r)=>Cj(e,t,">",r);const Rj=Oj;var Ij=(e,t,r)=>Rj(e,t,"<",r);const xj=Qx();var jj=(e,t,r)=>(e=new xj(e,r),t=new xj(t,r),e.intersects(t,r));const Pj=rj,Nj=px;const $j=Qx(),Mj=ej(),{ANY:Dj}=Mj,Lj=rj,Bj=px,Kj=[new Mj(">=0.0.0-0")],Fj=[new Mj(">=0.0.0")],Uj=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===Dj){if(1===t.length&&t[0].semver===Dj)return!0;e=r.includePrerelease?Kj:Fj}if(1===t.length&&t[0].semver===Dj){if(r.includePrerelease)return!0;t=Fj}const n=new Set;let i,s,o,a,c,l,u;for(const t of e)">"===t.operator||">="===t.operator?i=Wj(i,t,r):"<"===t.operator||"<="===t.operator?s=Jj(s,t,r):n.add(t.semver);if(n.size>1)return null;if(i&&s){if(o=Bj(i.semver,s.semver,r),o>0)return null;if(0===o&&(">="!==i.operator||"<="!==s.operator))return null}for(const e of n){if(i&&!Lj(e,String(i),r))return null;if(s&&!Lj(e,String(s),r))return null;for(const n of t)if(!Lj(e,String(n),r))return!1;return!0}let d=!(!s||r.includePrerelease||!s.semver.prerelease.length)&&s.semver,f=!(!i||r.includePrerelease||!i.semver.prerelease.length)&&i.semver;d&&1===d.prerelease.length&&"<"===s.operator&&0===d.prerelease[0]&&(d=!1);for(const e of t){if(u=u||">"===e.operator||">="===e.operator,l=l||"<"===e.operator||"<="===e.operator,i)if(f&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===f.major&&e.semver.minor===f.minor&&e.semver.patch===f.patch&&(f=!1),">"===e.operator||">="===e.operator){if(a=Wj(i,e,r),a===e&&a!==i)return!1}else if(">="===i.operator&&!Lj(i.semver,String(e),r))return!1;if(s)if(d&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===d.major&&e.semver.minor===d.minor&&e.semver.patch===d.patch&&(d=!1),"<"===e.operator||"<="===e.operator){if(c=Jj(s,e,r),c===e&&c!==s)return!1}else if("<="===s.operator&&!Lj(s.semver,String(e),r))return!1;if(!e.operator&&(s||i)&&0!==o)return!1}return!(i&&l&&!s&&0!==o)&&(!(s&&u&&!i&&0!==o)&&(!f&&!d))},Wj=(e,t,r)=>{if(!e)return t;const n=Bj(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},Jj=(e,t,r)=>{if(!e)return t;const n=Bj(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};var Hj=(e,t,r={})=>{if(e===t)return!0;e=new $j(e,r),t=new $j(t,r);let n=!1;e:for(const i of e.set){for(const e of t.set){const t=Uj(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0};const Gj=PI,zj=xI,Vj=zI,qj=BI,Xj=(e,t,r)=>{const n=[];let i=null,s=null;const o=e.sort(((e,t)=>Nj(e,t,r)));for(const e of o){Pj(e,t,r)?(s=e,i||(i=e)):(s&&n.push([i,s]),s=null,i=null)}i&&n.push([i,null]);const a=[];for(const[e,t]of n)e===t?a.push(e):t||e!==o[0]?t?e===o[0]?a.push(`<=${t}`):a.push(`${e} - ${t}`):a.push(`>=${e}`):a.push("*");const c=a.join(" || "),l="string"==typeof t.raw?t.raw:String(t);return c.length=15.7.0");var Qj=Yj.satisfies(process.version,">=16.9.0");const eP=Zj,tP=Qj,rP={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},nP={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};var iP=function(e,t){if(!e||!t)return;const r=t.asymmetricKeyType;if(!r)return;const n=rP[r];if(!n)throw new Error(`Unknown key type "${r}".`);if(!n.includes(e))throw new Error(`"alg" parameter for "${r}" key type must be one of: ${n.join(", ")}.`);if(eP)switch(r){case"ec":const r=t.asymmetricKeyDetails.namedCurve,n=nP[e];if(r!==n)throw new Error(`"alg" parameter "${e}" requires curve "${n}".`);break;case"rsa-pss":if(tP){const r=parseInt(e.slice(-3),10),{hashAlgorithm:n,mgf1HashAlgorithm:i,saltLength:s}=t.asymmetricKeyDetails;if(n!==`sha${r}`||i!==n)throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${e}.`);if(void 0!==s&&s>r>>3)throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${e}.`)}}},sP=Yj.satisfies(process.version,"^6.12.0 || >=8.0.0");const oP=wI,aP=kI,cP=CI,lP=vI,uP=RI,dP=iP,fP=sP,pP=YT,{KeyObject:hP,createSecretKey:mP,createPublicKey:yP}=s,gP=["RS256","RS384","RS512"],_P=["ES256","ES384","ES512"],vP=["RS256","RS384","RS512"],bP=["HS256","HS384","HS512"];fP&&(gP.splice(gP.length,0,"PS256","PS384","PS512"),vP.splice(vP.length,0,"PS256","PS384","PS512"));var wP=1/0,SP=9007199254740991,EP=17976931348623157e292,kP=NaN,AP="[object Arguments]",OP="[object Function]",CP="[object GeneratorFunction]",TP="[object String]",RP="[object Symbol]",IP=/^\s+|\s+$/g,xP=/^[-+]0x[0-9a-f]+$/i,jP=/^0b[01]+$/i,PP=/^0o[0-7]+$/i,NP=/^(?:0|[1-9]\d*)$/,$P=parseInt;function MP(e){return e!=e}function DP(e,t){return function(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r-1&&e%1==0&&e-1&&e%1==0&&e<=SP}(e.length)&&!function(e){var t=YP(e)?UP.call(e):"";return t==OP||t==CP}(e)}function YP(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ZP(e){return!!e&&"object"==typeof e}var QP=function(e,t,r,n){e=XP(e)?e:function(e){return e?DP(e,function(e){return XP(e)?GP(e):zP(e)}(e)):[]}(e),r=r&&!n?function(e){var t=function(e){if(!e)return 0===e?e:0;if(e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||ZP(e)&&UP.call(e)==RP}(e))return kP;if(YP(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=YP(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(IP,"");var r=jP.test(e);return r||PP.test(e)?$P(e.slice(2),r?2:8):xP.test(e)?kP:+e}(e),e===wP||e===-wP){return(e<0?-1:1)*EP}return e==e?e:0}(e),r=t%1;return t==t?r?t-r:t:0}(r):0;var i=e.length;return r<0&&(r=HP(i+r,0)),function(e){return"string"==typeof e||!qP(e)&&ZP(e)&&UP.call(e)==TP}(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&function(e,t,r){if(t!=t)return function(e,t,r,n){for(var i=e.length,s=r+(n?1:-1);n?s--:++s-1},eN=Object.prototype.toString;var tN=function(e){return!0===e||!1===e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Boolean]"==eN.call(e)},rN=1/0,nN=17976931348623157e292,iN=NaN,sN="[object Symbol]",oN=/^\s+|\s+$/g,aN=/^[-+]0x[0-9a-f]+$/i,cN=/^0b[01]+$/i,lN=/^0o[0-7]+$/i,uN=parseInt,dN=Object.prototype.toString;function fN(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var pN=function(e){return"number"==typeof e&&e==function(e){var t=function(e){if(!e)return 0===e?e:0;if(e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&dN.call(e)==sN}(e))return iN;if(fN(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=fN(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(oN,"");var r=cN.test(e);return r||lN.test(e)?uN(e.slice(2),r?2:8):aN.test(e)?iN:+e}(e),e===rN||e===-rN){return(e<0?-1:1)*nN}return e==e?e:0}(e),r=t%1;return t==t?r?t-r:t:0}(e)},hN=Object.prototype.toString;var mN=function(e){return"number"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Number]"==hN.call(e)};var yN=Function.prototype,gN=Object.prototype,_N=yN.toString,vN=gN.hasOwnProperty,bN=_N.call(Object),wN=gN.toString,SN=function(e,t){return function(r){return e(t(r))}}(Object.getPrototypeOf,Object);var EN=function(e){if(!function(e){return!!e&&"object"==typeof e}(e)||"[object Object]"!=wN.call(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e))return!1;var t=SN(e);if(null===t)return!0;var r=vN.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&_N.call(r)==bN},kN=Object.prototype.toString,AN=Array.isArray;var ON=function(e){return"string"==typeof e||!AN(e)&&function(e){return!!e&&"object"==typeof e}(e)&&"[object String]"==kN.call(e)},CN="Expected a function",TN=1/0,RN=17976931348623157e292,IN=NaN,xN="[object Symbol]",jN=/^\s+|\s+$/g,PN=/^[-+]0x[0-9a-f]+$/i,NN=/^0b[01]+$/i,$N=/^0o[0-7]+$/i,MN=parseInt,DN=Object.prototype.toString;function LN(e,t){var r;if("function"!=typeof t)throw new TypeError(CN);return e=function(e){var t=function(e){if(!e)return 0===e?e:0;if(e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&DN.call(e)==xN}(e))return IN;if(BN(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=BN(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(jN,"");var r=NN.test(e);return r||$N.test(e)?MN(e.slice(2),r?2:8):PN.test(e)?IN:+e}(e),e===TN||e===-TN){return(e<0?-1:1)*RN}return e==e?e:0}(e),r=t%1;return t==t?r?t-r:t:0}(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=void 0),r}}function BN(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var KN=function(e){return LN(2,e)};const FN=RI,UN=sP,WN=iP,JN=YT,HN=QP,GN=tN,zN=pN,VN=mN,qN=EN,XN=ON,YN=KN,{KeyObject:ZN,createSecretKey:QN,createPrivateKey:e$}=s,t$=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];UN&&t$.splice(3,0,"PS256","PS384","PS512");const r$={expiresIn:{isValid:function(e){return zN(e)||XN(e)&&e},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(e){return zN(e)||XN(e)&&e},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(e){return XN(e)||Array.isArray(e)},message:'"audience" must be a string or array'},algorithm:{isValid:HN.bind(null,t$),message:'"algorithm" must be a valid string enum value'},header:{isValid:qN,message:'"header" must be an object'},encoding:{isValid:XN,message:'"encoding" must be a string'},issuer:{isValid:XN,message:'"issuer" must be a string'},subject:{isValid:XN,message:'"subject" must be a string'},jwtid:{isValid:XN,message:'"jwtid" must be a string'},noTimestamp:{isValid:GN,message:'"noTimestamp" must be a boolean'},keyid:{isValid:XN,message:'"keyid" must be a string'},mutatePayload:{isValid:GN,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:GN,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:GN,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},n$={iat:{isValid:VN,message:'"iat" should be a number of seconds'},exp:{isValid:VN,message:'"exp" should be a number of seconds'},nbf:{isValid:VN,message:'"nbf" should be a number of seconds'}};function i$(e,t,r,n){if(!qN(r))throw new Error('Expected "'+n+'" to be a plain object.');Object.keys(r).forEach((function(i){const s=e[i];if(s){if(!s.isValid(r[i]))throw new Error(s.message)}else if(!t)throw new Error('"'+i+'" is not allowed in "'+n+'"')}))}const s$={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},o$=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];var a$={decode:vI,verify:function(e,t,r,n){let i;if("function"!=typeof r||n||(n=r,r={}),r||(r={}),r=Object.assign({},r),i=n||function(e,t){if(e)throw e;return t},r.clockTimestamp&&"number"!=typeof r.clockTimestamp)return i(new oP("clockTimestamp must be a number"));if(void 0!==r.nonce&&("string"!=typeof r.nonce||""===r.nonce.trim()))return i(new oP("nonce must be a non-empty string"));if(void 0!==r.allowInvalidAsymmetricKeyTypes&&"boolean"!=typeof r.allowInvalidAsymmetricKeyTypes)return i(new oP("allowInvalidAsymmetricKeyTypes must be a boolean"));const s=r.clockTimestamp||Math.floor(Date.now()/1e3);if(!e)return i(new oP("jwt must be provided"));if("string"!=typeof e)return i(new oP("jwt must be a string"));const o=e.split(".");if(3!==o.length)return i(new oP("jwt malformed"));let a;try{a=lP(e,{complete:!0})}catch(e){return i(e)}if(!a)return i(new oP("invalid token"));const c=a.header;let l;if("function"==typeof t){if(!n)return i(new oP("verify must be called asynchronous if secret or public key is provided as a callback"));l=t}else l=function(e,r){return r(null,t)};return l(c,(function(t,n){if(t)return i(new oP("error in secret or public key callback: "+t.message));const l=""!==o[2].trim();if(!l&&n)return i(new oP("jwt signature is required"));if(l&&!n)return i(new oP("secret or public key must be provided"));if(!l&&!r.algorithms)return i(new oP('please specify "none" in "algorithms" to verify unsigned tokens'));if(null!=n&&!(n instanceof hP))try{n=yP(n)}catch(e){try{n=mP("string"==typeof n?Buffer.from(n):n)}catch(e){return i(new oP("secretOrPublicKey is not valid key material"))}}if(r.algorithms||("secret"===n.type?r.algorithms=bP:["rsa","rsa-pss"].includes(n.asymmetricKeyType)?r.algorithms=vP:"ec"===n.asymmetricKeyType?r.algorithms=_P:r.algorithms=gP),-1===r.algorithms.indexOf(a.header.alg))return i(new oP("invalid algorithm"));if(c.alg.startsWith("HS")&&"secret"!==n.type)return i(new oP(`secretOrPublicKey must be a symmetric key when using ${c.alg}`));if(/^(?:RS|PS|ES)/.test(c.alg)&&"public"!==n.type)return i(new oP(`secretOrPublicKey must be an asymmetric key when using ${c.alg}`));if(!r.allowInvalidAsymmetricKeyTypes)try{dP(c.alg,n)}catch(e){return i(e)}let u;try{u=pP.verify(e,a.header.alg,n)}catch(e){return i(e)}if(!u)return i(new oP("invalid signature"));const d=a.payload;if(void 0!==d.nbf&&!r.ignoreNotBefore){if("number"!=typeof d.nbf)return i(new oP("invalid nbf value"));if(d.nbf>s+(r.clockTolerance||0))return i(new aP("jwt not active",new Date(1e3*d.nbf)))}if(void 0!==d.exp&&!r.ignoreExpiration){if("number"!=typeof d.exp)return i(new oP("invalid exp value"));if(s>=d.exp+(r.clockTolerance||0))return i(new cP("jwt expired",new Date(1e3*d.exp)))}if(r.audience){const e=Array.isArray(r.audience)?r.audience:[r.audience];if(!(Array.isArray(d.aud)?d.aud:[d.aud]).some((function(t){return e.some((function(e){return e instanceof RegExp?e.test(t):e===t}))})))return i(new oP("jwt audience invalid. expected: "+e.join(" or ")))}if(r.issuer){if("string"==typeof r.issuer&&d.iss!==r.issuer||Array.isArray(r.issuer)&&-1===r.issuer.indexOf(d.iss))return i(new oP("jwt issuer invalid. expected: "+r.issuer))}if(r.subject&&d.sub!==r.subject)return i(new oP("jwt subject invalid. expected: "+r.subject));if(r.jwtid&&d.jti!==r.jwtid)return i(new oP("jwt jwtid invalid. expected: "+r.jwtid));if(r.nonce&&d.nonce!==r.nonce)return i(new oP("jwt nonce invalid. expected: "+r.nonce));if(r.maxAge){if("number"!=typeof d.iat)return i(new oP("iat required when maxAge is specified"));const e=uP(r.maxAge,d.iat);if(void 0===e)return i(new oP('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(s>=e+(r.clockTolerance||0))return i(new cP("maxAge exceeded",new Date(1e3*e)))}if(!0===r.complete){const e=a.signature;return i(null,{header:c,payload:d,signature:e})}return i(null,d)}))},sign:function(e,t,r,n){"function"==typeof r?(n=r,r={}):r=r||{};const i="object"==typeof e&&!Buffer.isBuffer(e),s=Object.assign({alg:r.algorithm||"HS256",typ:i?"JWT":void 0,kid:r.keyid},r.header);function o(e){if(n)return n(e);throw e}if(!t&&"none"!==r.algorithm)return o(new Error("secretOrPrivateKey must have a value"));if(null!=t&&!(t instanceof ZN))try{t=e$(t)}catch(e){try{t=QN("string"==typeof t?Buffer.from(t):t)}catch(e){return o(new Error("secretOrPrivateKey is not valid key material"))}}if(s.alg.startsWith("HS")&&"secret"!==t.type)return o(new Error(`secretOrPrivateKey must be a symmetric key when using ${s.alg}`));if(/^(?:RS|PS|ES)/.test(s.alg)){if("private"!==t.type)return o(new Error(`secretOrPrivateKey must be an asymmetric key when using ${s.alg}`));if(!r.allowInsecureKeySizes&&!s.alg.startsWith("ES")&&void 0!==t.asymmetricKeyDetails&&t.asymmetricKeyDetails.modulusLength<2048)return o(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${s.alg}`))}if(void 0===e)return o(new Error("payload is required"));if(i){try{!function(e){i$(n$,!0,e,"payload")}(e)}catch(e){return o(e)}r.mutatePayload||(e=Object.assign({},e))}else{const t=o$.filter((function(e){return void 0!==r[e]}));if(t.length>0)return o(new Error("invalid "+t.join(",")+" option for "+typeof e+" payload"))}if(void 0!==e.exp&&void 0!==r.expiresIn)return o(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(void 0!==e.nbf&&void 0!==r.notBefore)return o(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{!function(e){i$(r$,!1,e,"options")}(r)}catch(e){return o(e)}if(!r.allowInvalidAsymmetricKeyTypes)try{WN(s.alg,t)}catch(e){return o(e)}const a=e.iat||Math.floor(Date.now()/1e3);if(r.noTimestamp?delete e.iat:i&&(e.iat=a),void 0!==r.notBefore){try{e.nbf=FN(r.notBefore,a)}catch(e){return o(e)}if(void 0===e.nbf)return o(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(void 0!==r.expiresIn&&"object"==typeof e){try{e.exp=FN(r.expiresIn,a)}catch(e){return o(e)}if(void 0===e.exp)return o(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(s$).forEach((function(t){const n=s$[t];if(void 0!==r[t]){if(void 0!==e[n])return o(new Error('Bad "options.'+t+'" option. The payload already has an "'+n+'" property.'));e[n]=r[t]}}));const c=r.encoding||"utf8";if("function"!=typeof n){let n=JN.sign({header:s,payload:e,secret:t,encoding:c});if(!r.allowInsecureKeySizes&&/^(?:RS|PS)/.test(s.alg)&&n.length<256)throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${s.alg}`);return n}n=n&&YN(n),JN.createSign({header:s,privateKey:t,payload:e,encoding:c}).once("error",n).once("done",(function(e){if(!r.allowInsecureKeySizes&&/^(?:RS|PS)/.test(s.alg)&&e.length<256)return n(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${s.alg}`));n(null,e)}))},JsonWebTokenError:wI,NotBeforeError:kI,TokenExpiredError:CI},c$=Pr(a$);var l$={stringify:function e(t){if(void 0===t)return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(":base64:"+t.toString("base64"));if(t&&t.toJSON&&(t=t.toJSON()),t&&"object"==typeof t){var r="",n=Array.isArray(t);r=n?"[":"{";var i=!0;for(var s in t){var o="function"==typeof t[s]||!n&&void 0===t[s];Object.hasOwnProperty.call(t,s)&&!o&&(i||(r+=","),i=!1,n?null==t[s]?r+="null":r+=e(t[s]):void 0!==t[s]&&(r+=e(s)+":"+e(t[s])))}return r+=n?"]":"}"}return"string"==typeof t?JSON.stringify(/^:/.test(t)?":"+t:t):void 0===t?"null":JSON.stringify(t)},parse:function(e){return JSON.parse(e,(function(e,t){return"string"==typeof t?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t}))}};const u$=l,d$=l$,f$=e=>{const t={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(e.adapter||e.uri){return new(function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(t[e.adapter||/^[^:+]*/.exec(e.uri)[0]]))(e)}return new Map},p$=["sqlite","postgres","mysql","mongo","redis","tiered"];var h$=class extends u${constructor(e,{emitErrors:t=!0,...r}={}){if(super(),this.opts={namespace:"keyv",serialize:d$.stringify,deserialize:d$.parse,..."string"==typeof e?{uri:e}:e,...r},!this.opts.store){const e={...this.opts};this.opts.store=f$(e)}if(this.opts.compression){const e=this.opts.compression;this.opts.serialize=e.serialize.bind(e),this.opts.deserialize=e.deserialize.bind(e)}"function"==typeof this.opts.store.on&&t&&this.opts.store.on("error",(e=>this.emit("error",e))),this.opts.store.namespace=this.opts.namespace;const n=e=>async function*(){for await(const[t,r]of"function"==typeof e?e(this.opts.store.namespace):e){const e=await this.opts.deserialize(r);this.opts.store.namespace&&!t.includes(this.opts.store.namespace)||("number"==typeof e.expires&&Date.now()>e.expires?this.delete(t):yield[this._getKeyUnprefix(t),e.value])}};"function"==typeof this.opts.store[Symbol.iterator]&&this.opts.store instanceof Map?this.iterator=n(this.opts.store):"function"==typeof this.opts.store.iterator&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=n(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return p$.includes(this.opts.store.opts.dialect)||p$.findIndex((e=>this.opts.store.opts.url.includes(e)))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map((e=>`${this.opts.namespace}:${e}`))}_getKeyUnprefix(e){return e.split(":").splice(1).join(":")}get(e,t){const{store:r}=this.opts,n=Array.isArray(e),i=n?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(n&&void 0===r.getMany){const e=[];for(const n of i)e.push(Promise.resolve().then((()=>r.get(n))).then((e=>"string"==typeof e||this.opts.compression?this.opts.deserialize(e):e)).then((e=>{if(null!=e)return"number"==typeof e.expires&&Date.now()>e.expires?this.delete(n).then((()=>{})):t&&t.raw?e:e.value})));return Promise.allSettled(e).then((e=>{const t=[];for(const r of e)t.push(r.value);return t}))}return Promise.resolve().then((()=>n?r.getMany(i):r.get(i))).then((e=>"string"==typeof e||this.opts.compression?this.opts.deserialize(e):e)).then((r=>{if(null!=r)return n?r.map(((r,n)=>{if("string"==typeof r&&(r=this.opts.deserialize(r)),null!=r){if(!("number"==typeof r.expires&&Date.now()>r.expires))return t&&t.raw?r:r.value;this.delete(e[n]).then((()=>{}))}})):"number"==typeof r.expires&&Date.now()>r.expires?this.delete(e).then((()=>{})):t&&t.raw?r:r.value}))}set(e,t,r){const n=this._getKeyPrefix(e);void 0===r&&(r=this.opts.ttl),0===r&&(r=void 0);const{store:i}=this.opts;return Promise.resolve().then((()=>{const e="number"==typeof r?Date.now()+r:null;return"symbol"==typeof t&&this.emit("error","symbol cannot be serialized"),t={value:t,expires:e},this.opts.serialize(t)})).then((e=>i.set(n,e,r))).then((()=>!0))}delete(e){const{store:t}=this.opts;if(Array.isArray(e)){const r=this._getKeyPrefixArray(e);if(void 0===t.deleteMany){const e=[];for(const n of r)e.push(t.delete(n));return Promise.allSettled(e).then((e=>e.every((e=>!0===e.value))))}return Promise.resolve().then((()=>t.deleteMany(r)))}const r=this._getKeyPrefix(e);return Promise.resolve().then((()=>t.delete(r)))}clear(){const{store:e}=this.opts;return Promise.resolve().then((()=>e.clear()))}has(e){const t=this._getKeyPrefix(e),{store:r}=this.opts;return Promise.resolve().then((async()=>{if("function"==typeof r.has)return r.has(t);return void 0!==await r.get(t)}))}disconnect(){const{store:e}=this.opts;if("function"==typeof e.disconnect)return e.disconnect()}},m$=Pr(h$),y$={exports:{}},g$={},_$={},v$={acl:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},append:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},asking:{arity:1,flags:["fast"],keyStart:0,keyStop:0,step:0},auth:{arity:-2,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},bgrewriteaof:{arity:1,flags:["admin","noscript","no_async_loading"],keyStart:0,keyStop:0,step:0},bgsave:{arity:-1,flags:["admin","noscript","no_async_loading"],keyStart:0,keyStop:0,step:0},bitcount:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},bitfield:{arity:-2,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},bitfield_ro:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},bitop:{arity:-4,flags:["write","denyoom"],keyStart:2,keyStop:-1,step:1},bitpos:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},blmove:{arity:6,flags:["write","denyoom","noscript","blocking"],keyStart:1,keyStop:2,step:1},blmpop:{arity:-5,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},blpop:{arity:-3,flags:["write","noscript","blocking"],keyStart:1,keyStop:-2,step:1},brpop:{arity:-3,flags:["write","noscript","blocking"],keyStart:1,keyStop:-2,step:1},brpoplpush:{arity:4,flags:["write","denyoom","noscript","blocking"],keyStart:1,keyStop:2,step:1},bzmpop:{arity:-5,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},bzpopmax:{arity:-3,flags:["write","noscript","blocking","fast"],keyStart:1,keyStop:-2,step:1},bzpopmin:{arity:-3,flags:["write","noscript","blocking","fast"],keyStart:1,keyStop:-2,step:1},client:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},cluster:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},command:{arity:-1,flags:["loading","stale"],keyStart:0,keyStop:0,step:0},config:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},copy:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},dbsize:{arity:1,flags:["readonly","fast"],keyStart:0,keyStop:0,step:0},debug:{arity:-2,flags:["admin","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},decr:{arity:2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},decrby:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},del:{arity:-2,flags:["write"],keyStart:1,keyStop:-1,step:1},discard:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},dump:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},echo:{arity:2,flags:["fast"],keyStart:0,keyStop:0,step:0},eval:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},eval_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},evalsha:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},evalsha_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},exec:{arity:1,flags:["noscript","loading","stale","skip_slowlog"],keyStart:0,keyStop:0,step:0},exists:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},expire:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},expireat:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},expiretime:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},failover:{arity:-1,flags:["admin","noscript","stale"],keyStart:0,keyStop:0,step:0},fcall:{arity:-3,flags:["noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},fcall_ro:{arity:-3,flags:["readonly","noscript","stale","skip_monitor","no_mandatory_keys","movablekeys"],keyStart:0,keyStop:0,step:0},flushall:{arity:-1,flags:["write"],keyStart:0,keyStop:0,step:0},flushdb:{arity:-1,flags:["write"],keyStart:0,keyStop:0,step:0},function:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},geoadd:{arity:-5,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},geodist:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},geohash:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},geopos:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},georadius:{arity:-6,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},georadius_ro:{arity:-6,flags:["readonly"],keyStart:1,keyStop:1,step:1},georadiusbymember:{arity:-5,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},georadiusbymember_ro:{arity:-5,flags:["readonly"],keyStart:1,keyStop:1,step:1},geosearch:{arity:-7,flags:["readonly"],keyStart:1,keyStop:1,step:1},geosearchstore:{arity:-8,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},get:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},getbit:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},getdel:{arity:2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},getex:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},getrange:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},getset:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hdel:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},hello:{arity:-1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},hexists:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hget:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hgetall:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hincrby:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hincrbyfloat:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hkeys:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hmget:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hmset:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hrandfield:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},hscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},hset:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hsetnx:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},hstrlen:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},hvals:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},incr:{arity:2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},incrby:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},incrbyfloat:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},info:{arity:-1,flags:["loading","stale"],keyStart:0,keyStop:0,step:0},keys:{arity:2,flags:["readonly"],keyStart:0,keyStop:0,step:0},lastsave:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},latency:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},lcs:{arity:-3,flags:["readonly"],keyStart:1,keyStop:2,step:1},lindex:{arity:3,flags:["readonly"],keyStart:1,keyStop:1,step:1},linsert:{arity:5,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},llen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},lmove:{arity:5,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},lmpop:{arity:-4,flags:["write","movablekeys"],keyStart:0,keyStop:0,step:0},lolwut:{arity:-1,flags:["readonly","fast"],keyStart:0,keyStop:0,step:0},lpop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},lpos:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},lpush:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},lpushx:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},lrange:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},lrem:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},lset:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},ltrim:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},memory:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},mget:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},migrate:{arity:-6,flags:["write","movablekeys"],keyStart:3,keyStop:3,step:1},module:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},monitor:{arity:1,flags:["admin","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},move:{arity:3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},mset:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:2},msetnx:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:2},multi:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},object:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},persist:{arity:2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpire:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpireat:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},pexpiretime:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},pfadd:{arity:-2,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},pfcount:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},pfdebug:{arity:3,flags:["write","denyoom","admin"],keyStart:2,keyStop:2,step:1},pfmerge:{arity:-2,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},pfselftest:{arity:1,flags:["admin"],keyStart:0,keyStop:0,step:0},ping:{arity:-1,flags:["fast"],keyStart:0,keyStop:0,step:0},psetex:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},psubscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},psync:{arity:-3,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},pttl:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},publish:{arity:3,flags:["pubsub","loading","stale","fast"],keyStart:0,keyStop:0,step:0},pubsub:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},punsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},quit:{arity:-1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},randomkey:{arity:1,flags:["readonly"],keyStart:0,keyStop:0,step:0},readonly:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},readwrite:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},rename:{arity:3,flags:["write"],keyStart:1,keyStop:2,step:1},renamenx:{arity:3,flags:["write","fast"],keyStart:1,keyStop:2,step:1},replconf:{arity:-1,flags:["admin","noscript","loading","stale","allow_busy"],keyStart:0,keyStop:0,step:0},replicaof:{arity:3,flags:["admin","noscript","stale","no_async_loading"],keyStart:0,keyStop:0,step:0},reset:{arity:1,flags:["noscript","loading","stale","fast","no_auth","allow_busy"],keyStart:0,keyStop:0,step:0},restore:{arity:-4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},"restore-asking":{arity:-4,flags:["write","denyoom","asking"],keyStart:1,keyStop:1,step:1},role:{arity:1,flags:["noscript","loading","stale","fast"],keyStart:0,keyStop:0,step:0},rpop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},rpoplpush:{arity:3,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},rpush:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},rpushx:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},sadd:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},save:{arity:1,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},scan:{arity:-2,flags:["readonly"],keyStart:0,keyStop:0,step:0},scard:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},script:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},sdiff:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sdiffstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},select:{arity:2,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},set:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setbit:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setex:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},setnx:{arity:3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},setrange:{arity:4,flags:["write","denyoom"],keyStart:1,keyStop:1,step:1},shutdown:{arity:-1,flags:["admin","noscript","loading","stale","no_multi","allow_busy"],keyStart:0,keyStop:0,step:0},sinter:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sintercard:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},sinterstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},sismember:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},slaveof:{arity:3,flags:["admin","noscript","stale","no_async_loading"],keyStart:0,keyStop:0,step:0},slowlog:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},smembers:{arity:2,flags:["readonly"],keyStart:1,keyStop:1,step:1},smismember:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},smove:{arity:4,flags:["write","fast"],keyStart:1,keyStop:2,step:1},sort:{arity:-2,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},sort_ro:{arity:-2,flags:["readonly","movablekeys"],keyStart:1,keyStop:1,step:1},spop:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},spublish:{arity:3,flags:["pubsub","loading","stale","fast"],keyStart:1,keyStop:1,step:1},srandmember:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},srem:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},sscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},ssubscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:1,keyStop:-1,step:1},strlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},subscribe:{arity:-2,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},substr:{arity:4,flags:["readonly"],keyStart:1,keyStop:1,step:1},sunion:{arity:-2,flags:["readonly"],keyStart:1,keyStop:-1,step:1},sunionstore:{arity:-3,flags:["write","denyoom"],keyStart:1,keyStop:-1,step:1},sunsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:1,keyStop:-1,step:1},swapdb:{arity:3,flags:["write","fast"],keyStart:0,keyStop:0,step:0},sync:{arity:1,flags:["admin","noscript","no_async_loading","no_multi"],keyStart:0,keyStop:0,step:0},time:{arity:1,flags:["loading","stale","fast"],keyStart:0,keyStop:0,step:0},touch:{arity:-2,flags:["readonly","fast"],keyStart:1,keyStop:-1,step:1},ttl:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},type:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},unlink:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:-1,step:1},unsubscribe:{arity:-1,flags:["pubsub","noscript","loading","stale"],keyStart:0,keyStop:0,step:0},unwatch:{arity:1,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:0,keyStop:0,step:0},wait:{arity:3,flags:["noscript"],keyStart:0,keyStop:0,step:0},watch:{arity:-2,flags:["noscript","loading","stale","fast","allow_busy"],keyStart:1,keyStop:-1,step:1},xack:{arity:-4,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xadd:{arity:-5,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},xautoclaim:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xclaim:{arity:-6,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xdel:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},xgroup:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},xinfo:{arity:-2,flags:[],keyStart:0,keyStop:0,step:0},xlen:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},xpending:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},xrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},xread:{arity:-4,flags:["readonly","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},xreadgroup:{arity:-7,flags:["write","blocking","movablekeys"],keyStart:0,keyStop:0,step:0},xrevrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},xsetid:{arity:-3,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},xtrim:{arity:-4,flags:["write"],keyStart:1,keyStop:1,step:1},zadd:{arity:-4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},zcard:{arity:2,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zcount:{arity:4,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zdiff:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zdiffstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},zincrby:{arity:4,flags:["write","denyoom","fast"],keyStart:1,keyStop:1,step:1},zinter:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zintercard:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zinterstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1},zlexcount:{arity:4,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zmpop:{arity:-4,flags:["write","movablekeys"],keyStart:0,keyStop:0,step:0},zmscore:{arity:-3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zpopmax:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zpopmin:{arity:-2,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zrandmember:{arity:-2,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangebylex:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangebyscore:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrangestore:{arity:-5,flags:["write","denyoom"],keyStart:1,keyStop:2,step:1},zrank:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zrem:{arity:-3,flags:["write","fast"],keyStart:1,keyStop:1,step:1},zremrangebylex:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zremrangebyrank:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zremrangebyscore:{arity:4,flags:["write"],keyStart:1,keyStop:1,step:1},zrevrange:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrangebylex:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrangebyscore:{arity:-4,flags:["readonly"],keyStart:1,keyStop:1,step:1},zrevrank:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zscan:{arity:-3,flags:["readonly"],keyStart:1,keyStop:1,step:1},zscore:{arity:3,flags:["readonly","fast"],keyStart:1,keyStop:1,step:1},zunion:{arity:-3,flags:["readonly","movablekeys"],keyStart:0,keyStop:0,step:0},zunionstore:{arity:-4,flags:["write","denyoom","movablekeys"],keyStart:1,keyStop:1,step:1}};!function(e){var t=jr&&jr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.getKeyIndexes=e.hasFlag=e.exists=e.list=void 0;const r=t(v$);e.list=Object.keys(r.default);const n={};function i(e){"string"!=typeof e&&(e=String(e));const t=e.indexOf("->");return-1===t?e.length:t}e.list.forEach((e=>{n[e]=r.default[e].flags.reduce((function(e,t){return e[t]=!0,e}),{})})),e.exists=function(e){return Boolean(r.default[e])},e.hasFlag=function(e,t){if(!n[e])throw new Error("Unknown command "+e);return Boolean(n[e][t])},e.getKeyIndexes=function(e,t,n){const s=r.default[e];if(!s)throw new Error("Unknown command "+e);if(!Array.isArray(t))throw new Error("Expect args to be an array");const o=[],a=Boolean(n&&n.parseExternalKey),c=(e,t)=>{const r=[],n=Number(e[t]);for(let e=0;e{for(let n=t;n0){const e=s.keyStart-1,r=s.keyStop>0?s.keyStop:t.length+s.keyStop+1;for(let t=e;t{let n;n=void 0!==r&&Object(r).spread&&Array.isArray(e)?S$.tryCatch(t).apply(void 0,[null].concat(e)):void 0===e?S$.tryCatch(t)(null):S$.tryCatch(t)(null,e),n===S$.errorObj&&E$(n.e)}),(e=>{if(!e){const t=new Error(e+"");Object.assign(t,{cause:e}),e=t}const r=S$.tryCatch(t)(e);r===S$.errorObj&&E$(r.e)})),e};var k$,A$,O$,C$,T$={};const R$=process.version.charCodeAt(1)<55&&46===process.version.charCodeAt(2)?function(){if(A$)return k$;A$=1;const e=u,r=t;function n(e){Object.defineProperty(this,"message",{value:e||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}function i(t,r,n){e(r),e.strictEqual(typeof n,"number"),Object.defineProperty(this,"message",{value:t||"",configurable:!0,writable:!0});const i=Error.stackTraceLimit;Error.stackTraceLimit=2,Error.captureStackTrace(this,this.constructor),Error.stackTraceLimit=i,this.offset=n,this.buffer=r}function s(e){Object.defineProperty(this,"message",{value:e||"",configurable:!0,writable:!0});const t=Error.stackTraceLimit;Error.stackTraceLimit=2,Error.captureStackTrace(this,this.constructor),Error.stackTraceLimit=t}function o(e){Object.defineProperty(this,"message",{value:e||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}function a(e){Object.defineProperty(this,"message",{value:e||"",configurable:!0,writable:!0}),Error.captureStackTrace(this,this.constructor)}return r.inherits(n,Error),Object.defineProperty(n.prototype,"name",{value:"RedisError",configurable:!0,writable:!0}),r.inherits(i,n),Object.defineProperty(i.prototype,"name",{value:"ParserError",configurable:!0,writable:!0}),r.inherits(s,n),Object.defineProperty(s.prototype,"name",{value:"ReplyError",configurable:!0,writable:!0}),r.inherits(o,n),Object.defineProperty(o.prototype,"name",{value:"AbortError",configurable:!0,writable:!0}),r.inherits(a,o),Object.defineProperty(a.prototype,"name",{value:"InterruptError",configurable:!0,writable:!0}),k$={RedisError:n,ParserError:i,ReplyError:s,AbortError:o,InterruptError:a}}():function(){if(C$)return O$;C$=1;const e=u;class t extends Error{get name(){return this.constructor.name}}class r extends t{get name(){return this.constructor.name}}return O$={RedisError:t,ParserError:class extends t{constructor(t,r,n){e(r),e.strictEqual(typeof n,"number");const i=Error.stackTraceLimit;Error.stackTraceLimit=2,super(t),Error.stackTraceLimit=i,this.offset=n,this.buffer=r}get name(){return this.constructor.name}},ReplyError:class extends t{constructor(e){const t=Error.stackTraceLimit;Error.stackTraceLimit=2,super(e),Error.stackTraceLimit=t}get name(){return this.constructor.name}},AbortError:r,InterruptError:class extends r{get name(){return this.constructor.name}}},O$}();var I$=R$,x$={},j$={exports:{}},P$=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],N$=j$.exports=function(e){for(var t,r=0,n=-1,i=0,s=0,o="string"==typeof e?function(e){for(var t,r=0,n=0,i=[],s=e.length;r>6|192,i[n++]=63&t|128):55296==(64512&t)&&r+1>18|240,i[n++]=t>>12&63|128,i[n++]=t>>6&63|128,i[n++]=63&t|128):(i[n++]=t>>12|224,i[n++]=t>>6&63|128,i[n++]=63&t|128);return i}(e):e,a=o.length;r>8)]^s<<8;else if(r-1!==n)return 16383&s;i=P$[255&(t^i>>8)]^i<<8}return 16383&i};j$.exports.generateMulti=function(e){for(var t=1,r=e.length,n=N$(e[0]);t-1&&e%1==0&&e-1&&e%1==0&&e<=L$}(e.length)&&!function(e){var t=iM(e)?G$.call(e):"";return t==K$||t==F$}(e)}function iM(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var sM,oM=(sM=function(e,t,r,n){!function(e,t,r,n){r||(r={});for(var i=-1,s=t.length;++i1?t[n-1]:void 0,s=n>2?t[2]:void 0;for(i=sM.length>3&&"function"==typeof i?(n--,i):void 0,s&&function(e,t,r){if(!iM(r))return!1;var n=typeof t;return!!("number"==n?nM(r)&&eM(t,r.length):"string"==n&&t in r)&&tM(r[t],e)}(t[0],t[1],s)&&(i=n<3?void 0:i,n=1),e=Object(e);++r-1&&e%1==0&&e<=cM}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?pM.call(e):"";return t==lM||t==uM}(e)}(e)}(e)&&fM.call(e,"callee")&&(!hM.call(e,"callee")||"[object Arguments]"==pM.call(e))};Object.defineProperty(D$,"__esModule",{value:!0}),D$.isArguments=D$.defaults=D$.noop=void 0;const yM=aM;D$.defaults=yM;const gM=mM;D$.isArguments=gM,D$.noop=function(){};var _M={};Object.defineProperty(_M,"__esModule",{value:!0}),_M.genRedactedString=_M.getStringValue=_M.MAX_ARGUMENT_LENGTH=void 0;const vM=Qn;_M.MAX_ARGUMENT_LENGTH=200;function bM(e){if(null!==e)switch(typeof e){case"boolean":case"number":return;case"object":if(Buffer.isBuffer(e))return e.toString("hex");if(Array.isArray(e))return e.join(",");try{return JSON.stringify(e)}catch(e){return}case"string":return e}}function wM(e,t){const{length:r}=e;return r<=t?e:e.slice(0,t)+' ... '}_M.getStringValue=bM,_M.genRedactedString=wM,_M.default=function(e){const t=(0,vM.default)(`ioredis:${e}`);function r(...e){if(t.enabled){for(let t=1;t200&&(e[t]=wM(r,200))}return t.apply(null,e)}}return Object.defineProperties(r,{namespace:{get:()=>t.namespace},enabled:{get:()=>t.enabled},destroy:{get:()=>t.destroy},log:{get:()=>t.log,set(e){t.log=e}}}),r};var SM={};Object.defineProperty(SM,"__esModule",{value:!0});const EM="-----BEGIN CERTIFICATE-----\nMIIDTzCCAjegAwIBAgIJAKSVpiDswLcwMA0GCSqGSIb3DQEBBQUAMD4xFjAUBgNV\nBAoMDUdhcmFudGlhIERhdGExJDAiBgNVBAMMG1NTTCBDZXJ0aWZpY2F0aW9uIEF1\ndGhvcml0eTAeFw0xMzEwMDExMjE0NTVaFw0yMzA5MjkxMjE0NTVaMD4xFjAUBgNV\nBAoMDUdhcmFudGlhIERhdGExJDAiBgNVBAMMG1NTTCBDZXJ0aWZpY2F0aW9uIEF1\ndGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZqkh/DczWP\nJnxnHLQ7QL0T4B4CDKWBKCcisriGbA6ZePWVNo4hfKQC6JrzfR+081NeD6VcWUiz\nrmd+jtPhIY4c+WVQYm5PKaN6DT1imYdxQw7aqO5j2KUCEh/cznpLxeSHoTxlR34E\nQwF28Wl3eg2vc5ct8LjU3eozWVk3gb7alx9mSA2SgmuX5lEQawl++rSjsBStemY2\nBDwOpAMXIrdEyP/cVn8mkvi/BDs5M5G+09j0gfhyCzRWMQ7Hn71u1eolRxwVxgi3\nTMn+/vTaFSqxKjgck6zuAYjBRPaHe7qLxHNr1So/Mc9nPy+3wHebFwbIcnUojwbp\n4nctkWbjb2cCAwEAAaNQME4wHQYDVR0OBBYEFP1whtcrydmW3ZJeuSoKZIKjze3w\nMB8GA1UdIwQYMBaAFP1whtcrydmW3ZJeuSoKZIKjze3wMAwGA1UdEwQFMAMBAf8w\nDQYJKoZIhvcNAQEFBQADggEBAG2erXhwRAa7+ZOBs0B6X57Hwyd1R4kfmXcs0rta\nlbPpvgULSiB+TCbf3EbhJnHGyvdCY1tvlffLjdA7HJ0PCOn+YYLBA0pTU/dyvrN6\nSu8NuS5yubnt9mb13nDGYo1rnt0YRfxN+8DM3fXIVr038A30UlPX2Ou1ExFJT0MZ\nuFKY6ZvLdI6/1cbgmguMlAhM+DhKyV6Sr5699LM3zqeI816pZmlREETYkGr91q7k\nBpXJu/dtHaGxg1ZGu6w/PCsYGUcECWENYD4VQPd8N32JjOfu6vEgoEAwfPP+3oGp\nZ4m3ewACcWOAenqflb+cQYC4PsF7qbXDmRaWrbKntOlZ3n0=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIGMTCCBBmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwajELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAkNBMQswCQYDVQQHDAJDQTESMBAGA1UECgwJUmVkaXNMYWJzMS0w\nKwYDVQQDDCRSZWRpc0xhYnMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN\nMTgwMjI1MTUzNzM3WhcNMjgwMjIzMTUzNzM3WjBfMQswCQYDVQQGEwJVUzELMAkG\nA1UECAwCQ0ExEjAQBgNVBAoMCVJlZGlzTGFiczEvMC0GA1UEAwwmUkNQIEludGVy\nbWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQDf9dqbxc8Bq7Ctq9rWcxrGNKKHivqLAFpPq02yLPx6fsOv\nTq7GsDChAYBBc4v7Y2Ap9RD5Vs3dIhEANcnolf27QwrG9RMnnvzk8pCvp1o6zSU4\nVuOE1W66/O1/7e2rVxyrnTcP7UgK43zNIXu7+tiAqWsO92uSnuMoGPGpeaUm1jym\nhjWKtkAwDFSqvHY+XL5qDVBEjeUe+WHkYUg40cAXjusAqgm2hZt29c2wnVrxW25W\nP0meNlzHGFdA2AC5z54iRiqj57dTfBTkHoBczQxcyw6hhzxZQ4e5I5zOKjXXEhZN\nr0tA3YC14CTabKRus/JmZieyZzRgEy2oti64tmLYTqSlAD78pRL40VNoaSYetXLw\nhhNsXCHgWaY6d5bLOc/aIQMAV5oLvZQKvuXAF1IDmhPA+bZbpWipp0zagf1P1H3s\nUzsMdn2KM0ejzgotbtNlj5TcrVwpmvE3ktvUAuA+hi3FkVx1US+2Gsp5x4YOzJ7u\nP1WPk6ShF0JgnJH2ILdj6kttTWwFzH17keSFICWDfH/+kM+k7Y1v3EXMQXE7y0T9\nMjvJskz6d/nv+sQhY04xt64xFMGTnZjlJMzfQNi7zWFLTZnDD0lPowq7l3YiPoTT\nt5Xky83lu0KZsZBo0WlWaDG00gLVdtRgVbcuSWxpi5BdLb1kRab66JptWjxwXQID\nAQABo4HrMIHoMDoGA1UdHwQzMDEwL6AtoCuGKWh0dHBzOi8vcmwtY2Etc2VydmVy\nLnJlZGlzbGFicy5jb20vdjEvY3JsMEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcw\nAYYqaHR0cHM6Ly9ybC1jYS1zZXJ2ZXIucmVkaXNsYWJzLmNvbS92MS9vY3NwMB0G\nA1UdDgQWBBQHar5OKvQUpP2qWt6mckzToeCOHDAfBgNVHSMEGDAWgBQi42wH6hM4\nL2sujEvLM0/u8lRXTzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIB\nhjANBgkqhkiG9w0BAQsFAAOCAgEAirEn/iTsAKyhd+pu2W3Z5NjCko4NPU0EYUbr\nAP7+POK2rzjIrJO3nFYQ/LLuC7KCXG+2qwan2SAOGmqWst13Y+WHp44Kae0kaChW\nvcYLXXSoGQGC8QuFSNUdaeg3RbMDYFT04dOkqufeWVccoHVxyTSg9eD8LZuHn5jw\n7QDLiEECBmIJHk5Eeo2TAZrx4Yx6ufSUX5HeVjlAzqwtAqdt99uCJ/EL8bgpWbe+\nXoSpvUv0SEC1I1dCAhCKAvRlIOA6VBcmzg5Am12KzkqTul12/VEFIgzqu0Zy2Jbc\nAUPrYVu/+tOGXQaijy7YgwH8P8n3s7ZeUa1VABJHcxrxYduDDJBLZi+MjheUDaZ1\njQRHYevI2tlqeSBqdPKG4zBY5lS0GiAlmuze5oENt0P3XboHoZPHiqcK3VECgTVh\n/BkJcuudETSJcZDmQ8YfoKfBzRQNg2sv/hwvUv73Ss51Sco8GEt2lD8uEdib1Q6z\nzDT5lXJowSzOD5ZA9OGDjnSRL+2riNtKWKEqvtEG3VBJoBzu9GoxbAc7wIZLxmli\niF5a/Zf5X+UXD3s4TMmy6C4QZJpAA2egsSQCnraWO2ULhh7iXMysSkF/nzVfZn43\niqpaB8++9a37hWq14ZmOv0TJIDz//b2+KC4VFXWQ5W5QC6whsjT+OlG4p5ZYG0jo\n616pxqo=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIFujCCA6KgAwIBAgIJAJ1aTT1lu2ScMA0GCSqGSIb3DQEBCwUAMGoxCzAJBgNV\nBAYTAlVTMQswCQYDVQQIDAJDQTELMAkGA1UEBwwCQ0ExEjAQBgNVBAoMCVJlZGlz\nTGFiczEtMCsGA1UEAwwkUmVkaXNMYWJzIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y\naXR5MB4XDTE4MDIyNTE1MjA0MloXDTM4MDIyMDE1MjA0MlowajELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQHDAJDQTESMBAGA1UECgwJUmVkaXNMYWJz\nMS0wKwYDVQQDDCRSZWRpc0xhYnMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDLEjXy7YrbN5Waau5cd6g1\nG5C2tMmeTpZ0duFAPxNU4oE3RHS5gGiok346fUXuUxbZ6QkuzeN2/2Z+RmRcJhQY\nDm0ZgdG4x59An1TJfnzKKoWj8ISmoHS/TGNBdFzXV7FYNLBuqZouqePI6ReC6Qhl\npp45huV32Q3a6IDrrvx7Wo5ZczEQeFNbCeCOQYNDdTmCyEkHqc2AGo8eoIlSTutT\nULOC7R5gzJVTS0e1hesQ7jmqHjbO+VQS1NAL4/5K6cuTEqUl+XhVhPdLWBXJQ5ag\n54qhX4v+ojLzeU1R/Vc6NjMvVtptWY6JihpgplprN0Yh2556ewcXMeturcKgXfGJ\nxeYzsjzXerEjrVocX5V8BNrg64NlifzTMKNOOv4fVZszq1SIHR8F9ROrqiOdh8iC\nJpUbLpXH9hWCSEO6VRMB2xJoKu3cgl63kF30s77x7wLFMEHiwsQRKxooE1UhgS9K\n2sO4TlQ1eWUvFvHSTVDQDlGQ6zu4qjbOpb3Q8bQwoK+ai2alkXVR4Ltxe9QlgYK3\nStsnPhruzZGA0wbXdpw0bnM+YdlEm5ffSTpNIfgHeaa7Dtb801FtA71ZlH7A6TaI\nSIQuUST9EKmv7xrJyx0W1pGoPOLw5T029aTjnICSLdtV9bLwysrLhIYG5bnPq78B\ncS+jZHFGzD7PUVGQD01nOQIDAQABo2MwYTAdBgNVHQ4EFgQUIuNsB+oTOC9rLoxL\nyzNP7vJUV08wHwYDVR0jBBgwFoAUIuNsB+oTOC9rLoxLyzNP7vJUV08wDwYDVR0T\nAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAHfg\nz5pMNUAKdMzK1aS1EDdK9yKz4qicILz5czSLj1mC7HKDRy8cVADUxEICis++CsCu\nrYOvyCVergHQLREcxPq4rc5Nq1uj6J6649NEeh4WazOOjL4ZfQ1jVznMbGy+fJm3\n3Hoelv6jWRG9iqeJZja7/1s6YC6bWymI/OY1e4wUKeNHAo+Vger7MlHV+RuabaX+\nhSJ8bJAM59NCM7AgMTQpJCncrcdLeceYniGy5Q/qt2b5mJkQVkIdy4TPGGB+AXDJ\nD0q3I/JDRkDUFNFdeW0js7fHdsvCR7O3tJy5zIgEV/o/BCkmJVtuwPYOrw/yOlKj\nTY/U7ATAx9VFF6/vYEOMYSmrZlFX+98L6nJtwDqfLB5VTltqZ4H/KBxGE3IRSt9l\nFXy40U+LnXzhhW+7VBAvyYX8GEXhHkKU8Gqk1xitrqfBXY74xKgyUSTolFSfFVgj\nmcM/X4K45bka+qpkj7Kfv/8D4j6aZekwhN2ly6hhC1SmQ8qjMjpG/mrWOSSHZFmf\nybu9iD2AYHeIOkshIl6xYIa++Q/00/vs46IzAbQyriOi0XxlSMMVtPx0Q3isp+ji\nn8Mq9eOuxYOEQ4of8twUkUDd528iwGtEdwf0Q01UyT84S62N8AySl1ZBKXJz6W4F\nUhWfa/HQYOAPDdEjNgnVwLI23b8t0TozyCWw7q8h\n-----END CERTIFICATE-----\n\n-----BEGIN CERTIFICATE-----\nMIIEjzCCA3egAwIBAgIQe55B/ALCKJDZtdNT8kD6hTANBgkqhkiG9w0BAQsFADBM\nMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xv\nYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0yMjAxMjYxMjAwMDBaFw0y\nNTAxMjYwMDAwMDBaMFgxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWdu\nIG52LXNhMS4wLAYDVQQDEyVHbG9iYWxTaWduIEF0bGFzIFIzIE9WIFRMUyBDQSAy\nMDIyIFEyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmGmg1LW9b7Lf\n8zDD83yBDTEkt+FOxKJZqF4veWc5KZsQj9HfnUS2e5nj/E+JImlGPsQuoiosLuXD\nBVBNAMcUFa11buFMGMeEMwiTmCXoXRrXQmH0qjpOfKgYc5gHG3BsRGaRrf7VR4eg\nofNMG9wUBw4/g/TT7+bQJdA4NfE7Y4d5gEryZiBGB/swaX6Jp/8MF4TgUmOWmalK\ndZCKyb4sPGQFRTtElk67F7vU+wdGcrcOx1tDcIB0ncjLPMnaFicagl+daWGsKqTh\ncounQb6QJtYHa91KvCfKWocMxQ7OIbB5UARLPmC4CJ1/f8YFm35ebfzAeULYdGXu\njE9CLor0OwIDAQABo4IBXzCCAVswDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQG\nCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW\nBBSH5Zq7a7B/t95GfJWkDBpA8HHqdjAfBgNVHSMEGDAWgBSP8Et/qC5FJK5NUPpj\nmove4t0bvDB7BggrBgEFBQcBAQRvMG0wLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3Nw\nMi5nbG9iYWxzaWduLmNvbS9yb290cjMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9zZWN1\ncmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L3Jvb3QtcjMuY3J0MDYGA1UdHwQvMC0w\nK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vcm9vdC1yMy5jcmwwIQYD\nVR0gBBowGDAIBgZngQwBAgIwDAYKKwYBBAGgMgoBAjANBgkqhkiG9w0BAQsFAAOC\nAQEAKRic9/f+nmhQU/wz04APZLjgG5OgsuUOyUEZjKVhNGDwxGTvKhyXGGAMW2B/\n3bRi+aElpXwoxu3pL6fkElbX3B0BeS5LoDtxkyiVEBMZ8m+sXbocwlPyxrPbX6mY\n0rVIvnuUeBH8X0L5IwfpNVvKnBIilTbcebfHyXkPezGwz7E1yhUULjJFm2bt0SdX\ny+4X/WeiiYIv+fTVgZZgl+/2MKIsu/qdBJc3f3TvJ8nz+Eax1zgZmww+RSQWeOj3\n15Iw6Z5FX+NwzY/Ab+9PosR5UosSeq+9HhtaxZttXG1nVh+avYPGYddWmiMT90J5\nZgKnO/Fx2hBgTxhOTMYaD312kg==\n-----END CERTIFICATE-----\n\n-----BEGIN CERTIFICATE-----\nMIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G\nA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp\nZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4\nMTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG\nA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8\nRgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT\ngHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm\nKPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd\nQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ\nXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw\nDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o\nLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU\nRUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp\njjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK\n6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX\nmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs\nMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH\nWD9f\n-----END CERTIFICATE-----",kM={RedisCloudFixed:{ca:EM},RedisCloudFlexible:{ca:EM}};SM.default=kM,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.noop=t.defaults=t.Debug=t.zipMap=t.CONNECTION_CLOSED_ERROR_MSG=t.shuffle=t.sample=t.resolveTLSProfile=t.parseURL=t.optimizeErrorStack=t.toArg=t.convertMapToArray=t.convertObjectToArray=t.timeout=t.packObject=t.isInt=t.wrapMultiResult=t.convertBufferToString=void 0;const r=e,n=D$;Object.defineProperty(t,"defaults",{enumerable:!0,get:function(){return n.defaults}}),Object.defineProperty(t,"noop",{enumerable:!0,get:function(){return n.noop}});const i=_M;t.Debug=i.default;const s=SM;function o(e){const t=parseFloat(e);return!isNaN(e)&&(0|t)===t}t.convertBufferToString=function e(t,r){if(t instanceof Buffer)return t.toString(r);if(Array.isArray(t)){const n=t.length,i=Array(n);for(let s=0;s1&&(s.db=t.pathname.slice(1)):s.path=t.pathname),t.host&&(s.host=t.hostname),t.port&&(s.port=t.port),"string"==typeof i.family){const e=Number.parseInt(i.family,10);Number.isNaN(e)||(s.family=e)}return(0,n.defaults)(s,i),s},t.resolveTLSProfile=function(e){let t=null==e?void 0:e.tls;"string"==typeof t&&(t={profile:t});const r=s.default[null==t?void 0:t.profile];return r&&(t=Object.assign({},r,t),delete t.profile,e=Object.assign({},e,{tls:t})),e},t.sample=function(e,t=0){const r=e.length;return t>=r?null:e[t+Math.floor(Math.random()*(r-t))]},t.shuffle=function(e){let t=e.length;for(;t>0;){const r=Math.floor(Math.random()*t);t--,[e[t],e[r]]=[e[r],e[t]]}return e},t.CONNECTION_CLOSED_ERROR_MSG="Connection is closed.",t.zipMap=function(e,t){const r=new Map;return e.forEach(((e,n)=>{r.set(e,t[n])})),r}}(M$),Object.defineProperty(x$,"__esModule",{value:!0});const AM=_$,OM=$$,CM=b$,TM=M$;class RM{constructor(e,t=[],r={},n){if(this.name=e,this.inTransaction=!1,this.isResolved=!1,this.transformed=!1,this.replyEncoding=r.replyEncoding,this.errorStack=r.errorStack,this.args=t.flat(),this.callback=n,this.initPromise(),r.keyPrefix){const e=r.keyPrefix instanceof Buffer;let t=e?r.keyPrefix:null;this._iterateKeys((n=>n instanceof Buffer?(null===t&&(t=Buffer.from(r.keyPrefix)),Buffer.concat([t,n])):e?Buffer.concat([r.keyPrefix,Buffer.from(String(n))]):r.keyPrefix+n))}r.readOnly&&(this.isReadOnly=!0)}static checkFlag(e,t){return!!this.getFlagMap()[e][t]}static setArgumentTransformer(e,t){this._transformer.argument[e]=t}static setReplyTransformer(e,t){this._transformer.reply[e]=t}static getFlagMap(){return this.flagMap||(this.flagMap=Object.keys(RM.FLAGS).reduce(((e,t)=>(e[t]={},RM.FLAGS[t].forEach((r=>{e[t][r]=!0})),e)),{})),this.flagMap}getSlot(){if(void 0===this.slot){const e=this.getKeys()[0];this.slot=null==e?null:OM(e)}return this.slot}getKeys(){return this._iterateKeys()}toWritable(e){let t;const r="*"+(this.args.length+1)+"\r\n$"+Buffer.byteLength(this.name)+"\r\n"+this.name+"\r\n";if(this.bufferMode){const e=new jM;e.push(r);for(let t=0;t{this.isResolved||this.reject(new Error("Command timed out"))}),e))}initPromise(){const e=new Promise(((e,t)=>{if(!this.transformed){this.transformed=!0;const e=RM._transformer.argument[this.name];e&&(this.args=e(this.args)),this.stringifyArguments()}this.resolve=this._convertValue(e),this.errorStack?this.reject=e=>{t((0,TM.optimizeErrorStack)(e,this.errorStack.stack,__dirname))}:this.reject=t}));this.promise=(0,CM.default)(e,this.callback)}_iterateKeys(e=(e=>e)){if(void 0===this.keys&&(this.keys=[],(0,AM.exists)(this.name))){const t=(0,AM.getKeyIndexes)(this.name,this.args);for(const r of t)this.args[r]=e(this.args[r]),this.keys.push(this.args[r])}return this.keys}_convertValue(e){return t=>{try{const r=this._commandTimeoutTimer;r&&(clearTimeout(r),delete this._commandTimeoutTimer),e(this.transformReply(t)),this.isResolved=!0}catch(e){this.reject(e)}return this.promise}}}x$.default=RM,RM.FLAGS={VALID_IN_SUBSCRIBER_MODE:["subscribe","psubscribe","unsubscribe","punsubscribe","ssubscribe","sunsubscribe","ping","quit"],VALID_IN_MONITOR_MODE:["monitor","auth"],ENTER_SUBSCRIBER_MODE:["subscribe","psubscribe","ssubscribe"],EXIT_SUBSCRIBER_MODE:["unsubscribe","punsubscribe","sunsubscribe"],WILL_DISCONNECT:["quit"]},RM._transformer={argument:{},reply:{}};const IM=function(e){if(1===e.length){if(e[0]instanceof Map)return(0,TM.convertMapToArray)(e[0]);if("object"==typeof e[0]&&null!==e[0])return(0,TM.convertObjectToArray)(e[0])}return e},xM=function(e){if(2===e.length){if(e[1]instanceof Map)return[e[0]].concat((0,TM.convertMapToArray)(e[1]));if("object"==typeof e[1]&&null!==e[1])return[e[0]].concat((0,TM.convertObjectToArray)(e[1]))}return e};RM.setArgumentTransformer("mset",IM),RM.setArgumentTransformer("msetnx",IM),RM.setArgumentTransformer("hset",xM),RM.setArgumentTransformer("hmset",xM),RM.setReplyTransformer("hgetall",(function(e){if(Array.isArray(e)){const t={};for(let r=0;r{e?this.emit("error",e):(this._redisCursor=t[0]instanceof Buffer?t[0].toString():t[0],"0"===this._redisCursor&&(this._redisDrained=!0),this.push(t[1]))}))}close(){this._redisDrained=!0}}MM.default=LM;var BM={},KM={},FM={},UM={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.executeWithAutoPipelining=e.getFirstValueInFlattenedArray=e.shouldUseAutoPipelining=e.notAllowedAutoPipelineCommands=e.kCallbacks=e.kExec=void 0;const t=D$,r=$$,n=b$;function i(t,r){if(t._runningAutoPipelines.has(r))return;if(!t._autoPipelines.has(r))return;t._runningAutoPipelines.add(r);const n=t._autoPipelines.get(r);t._autoPipelines.delete(r);const s=n[e.kCallbacks];n[e.kCallbacks]=null,n.exec((function(e,n){if(t._runningAutoPipelines.delete(r),e)for(let t=0;t0)return i[0]}}e.kExec=Symbol("exec"),e.kCallbacks=Symbol("callbacks"),e.notAllowedAutoPipelineCommands=["auth","info","script","quit","cluster","pipeline","multi","subscribe","psubscribe","unsubscribe","unpsubscribe","select"],e.shouldUseAutoPipelining=function(t,r,n){return r&&t.options.enableAutoPipelining&&!t.isPipeline&&!e.notAllowedAutoPipelineCommands.includes(n)&&!t.options.autoPipeliningIgnoredCommands.includes(n)},e.getFirstValueInFlattenedArray=s,e.executeWithAutoPipelining=function o(a,c,l,u,d){if(a.isCluster&&!a.slots.length)return"wait"===a.status&&a.connect().catch(t.noop),(0,n.default)(new Promise((function(e,t){a.delayUntilReady((r=>{r?t(r):o(a,c,l,u,null).then(e,t)}))})),d);const f=a.options.keyPrefix||"",p=a.isCluster?a.slots[r(`${f}${s(u)}`)].join(","):"main";if(!a._autoPipelines.has(p)){const t=a.pipeline();t[e.kExec]=!1,t[e.kCallbacks]=[],a._autoPipelines.set(p,t)}const h=a._autoPipelines.get(p);h[e.kExec]||(h[e.kExec]=!0,setImmediate(i,a,p));const m=new Promise((function(t,r){h[e.kCallbacks].push((function(e,n){e?r(e):t(n)})),"call"===c&&u.unshift(l),h[c](...u)}));return(0,n.default)(m,d)}}(UM);var WM={};Object.defineProperty(WM,"__esModule",{value:!0});const JM=s,HM=x$,GM=b$;WM.default=class{constructor(e,t=null,r="",n=!1){this.lua=e,this.numberOfKeys=t,this.keyPrefix=r,this.readOnly=n,this.sha=(0,JM.createHash)("sha1").update(e).digest("hex");const i=this.sha,s=new WeakSet;this.Command=class extends HM.default{toWritable(t){const r=this.reject;return this.reject=e=>{-1!==e.message.indexOf("NOSCRIPT")&&s.delete(t),r.call(this,e)},s.has(t)?"eval"===this.name&&(this.name="evalsha",this.args[0]=i):(s.add(t),this.name="eval",this.args[0]=e),super.toWritable(t)}}}execute(e,t,r,n){"number"==typeof this.numberOfKeys&&t.unshift(this.numberOfKeys),this.keyPrefix&&(r.keyPrefix=this.keyPrefix),this.readOnly&&(r.readOnly=!0);const i=new this.Command("evalsha",[this.sha,...t],r);return i.promise=i.promise.catch((n=>{if(-1===n.message.indexOf("NOSCRIPT"))throw n;const i=new this.Command("evalsha",[this.sha,...t],r);return(e.isPipeline?e.redis:e).sendCommand(i)})),(0,GM.default)(i.promise,n),e.sendCommand(i)}},Object.defineProperty(FM,"__esModule",{value:!0});const zM=_$,VM=UM,qM=x$,XM=WM;class YM{constructor(){this.options={},this.scriptsSet={},this.addedBuiltinSet=new Set}getBuiltinCommands(){return ZM.slice(0)}createBuiltinCommand(e){return{string:QM(null,e,"utf8"),buffer:QM(null,e,null)}}addBuiltinCommand(e){this.addedBuiltinSet.add(e),this[e]=QM(e,e,"utf8"),this[e+"Buffer"]=QM(e+"Buffer",e,null)}defineCommand(e,t){const r=new XM.default(t.lua,t.numberOfKeys,this.options.keyPrefix,t.readOnly);this.scriptsSet[e]=r,this[e]=eD(e,e,r,"utf8"),this[e+"Buffer"]=eD(e+"Buffer",e,r,null)}sendCommand(e,t,r){throw new Error('"sendCommand" is not implemented')}}const ZM=zM.list.filter((e=>"monitor"!==e));function QM(e,t,r){return void 0===r&&(r=t,t=null),function(...n){const i=t||n.shift();let s=n[n.length-1];"function"==typeof s?n.pop():s=void 0;const o={errorStack:this.options.showFriendlyErrorStack?new Error:void 0,keyPrefix:this.options.keyPrefix,replyEncoding:r};return(0,VM.shouldUseAutoPipelining)(this,e,i)?(0,VM.executeWithAutoPipelining)(this,e,i,n,s):this.sendCommand(new qM.default(i,n,o,s))}}function eD(e,t,r,n){return function(...i){const s="function"==typeof i[i.length-1]?i.pop():void 0,o={replyEncoding:n};return this.options.showFriendlyErrorStack&&(o.errorStack=new Error),(0,VM.shouldUseAutoPipelining)(this,e,t)?(0,VM.executeWithAutoPipelining)(this,e,t,i,s):r.execute(this,i,o,s)}}ZM.push("sentinel"),ZM.forEach((function(e){YM.prototype[e]=QM(e,e,"utf8"),YM.prototype[e+"Buffer"]=QM(e+"Buffer",e,null)})),YM.prototype.call=QM("call","utf8"),YM.prototype.callBuffer=QM("callBuffer",null),YM.prototype.send_command=YM.prototype.call,FM.default=YM,Object.defineProperty(KM,"__esModule",{value:!0});const tD=$$,rD=_$,nD=b$,iD=t,sD=x$,oD=M$,aD=FM;class cD extends aD.default{constructor(e){super(),this.redis=e,this.isPipeline=!0,this.replyPending=0,this._queue=[],this._result=[],this._transactions=0,this._shaToScript={},this.isCluster="Cluster"===this.redis.constructor.name||this.redis.isCluster,this.options=e.options,Object.keys(e.scriptsSet).forEach((t=>{const r=e.scriptsSet[t];this._shaToScript[r.sha]=r,this[t]=e[t],this[t+"Buffer"]=e[t+"Buffer"]})),e.addedBuiltinSet.forEach((t=>{this[t]=e[t],this[t+"Buffer"]=e[t+"Buffer"]})),this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}));const t=this;Object.defineProperty(this,"length",{get:function(){return t._queue.length}})}fillResult(e,t){if("exec"===this._queue[t].name&&Array.isArray(e[1])){const r=e[1].length;for(let n=0;n{s=!1},defaults:()=>{s=!1}}),s)return}}let r=0;for(let e=0;e0&&(e.inTransaction=!0);const t=this._queue.length;return e.pipelineIndex=t,e.promise.then((e=>{this.fillResult([null,e],t)})).catch((e=>{this.fillResult([e],t)})),this._queue.push(e),this}addBatch(e){let t,r,n;for(let i=0;i0&&(this._transactions-=1),uD.apply(this,arguments)}),"Pipeline#execBuffer: Use Pipeline#exec instead"),cD.prototype.exec=function(e){if(this.isCluster&&!this.redis.slots.length)return"wait"===this.redis.status&&this.redis.connect().catch(oD.noop),e&&!this.nodeifiedPromise&&(this.nodeifiedPromise=!0,(0,nD.default)(this.promise,e)),this.redis.delayUntilReady((t=>{t?this.reject(t):this.exec(e)})),this.promise;if(this._transactions>0)return this._transactions-=1,uD.apply(this,arguments);let t;if(this.nodeifiedPromise||(this.nodeifiedPromise=!0,(0,nD.default)(this.promise,e)),this._queue.length||this.resolve([]),this.isCluster){const e=[];for(let t=0;t{this.redis.delayUntilReady((r=>{r?t(r):this.exec(n).then(e,t)}))})),e);if(this._transactions>0&&i.call(n),this.nodeifiedPromise)return i.call(n);const t=i.call(n);return(0,fD.default)(t.then((function(e){const t=e[e.length-1];if(void 0===t)throw new Error("Pipeline cannot be used to send any commands when the `exec()` has been called on it.");if(t[0]){t[0].previousErrors=[];for(let r=0;r0&&s.call(n),n.exec(e)},n};const{exec:r}=e;e.exec=function(e){return(0,fD.default)(r.call(this).then((function(e){return Array.isArray(e)&&(e=(0,dD.wrapMultiResult)(e)),e})),e)}};var hD={};Object.defineProperty(hD,"__esModule",{value:!0}),hD.default=function(e,t){Object.getOwnPropertyNames(t.prototype).forEach((r=>{Object.defineProperty(e.prototype,r,Object.getOwnPropertyDescriptor(t.prototype,r))}))};var mD={};Object.defineProperty(mD,"__esModule",{value:!0}),mD.DEFAULT_CLUSTER_OPTIONS=void 0;const yD=y;mD.DEFAULT_CLUSTER_OPTIONS={clusterRetryStrategy:e=>Math.min(100+2*e,2e3),enableOfflineQueue:!0,enableReadyCheck:!0,scaleReads:"master",maxRedirections:16,retryDelayOnMoved:0,retryDelayOnFailover:100,retryDelayOnClusterDown:100,retryDelayOnTryAgain:100,slotsRefreshTimeout:1e3,useSRVRecords:!1,resolveSrv:yD.resolveSrv,dnsLookup:yD.lookup,enableAutoPipelining:!1,autoPipeliningIgnoredCommands:[]};var gD={},_D={};Object.defineProperty(_D,"__esModule",{value:!0}),_D.getConnectionName=_D.weightSrvRecords=_D.groupSrvRecords=_D.getUniqueHostnamesFromOptions=_D.normalizeNodeOptions=_D.nodeKeyToRedisOptions=_D.getNodeKey=void 0;const vD=M$,bD=g;var wD;_D.getNodeKey=function(e){return e.port=e.port||6379,e.host=e.host||"127.0.0.1",e.host+":"+e.port},_D.nodeKeyToRedisOptions=function(e){const t=e.lastIndexOf(":");if(-1===t)throw new Error(`Invalid node key ${e}`);return{host:e.slice(0,t),port:Number(e.slice(t+1))}},_D.normalizeNodeOptions=function(e){return e.map((e=>{const t={};if("object"==typeof e)Object.assign(t,e);else if("string"==typeof e)Object.assign(t,(0,vD.parseURL)(e));else{if("number"!=typeof e)throw new Error("Invalid argument "+e);t.port=e}return"string"==typeof t.port&&(t.port=parseInt(t.port,10)),delete t.db,t.port||(t.port=6379),t.host||(t.host="127.0.0.1"),(0,vD.resolveTLSProfile)(t)}))},_D.getUniqueHostnamesFromOptions=function(e){const t={};return e.forEach((e=>{t[e.host]=!0})),Object.keys(t).filter((e=>!(0,bD.isIP)(e)))},_D.groupSrvRecords=function(e){const t={};for(const r of e)t.hasOwnProperty(r.priority)?(t[r.priority].totalWeight+=r.weight,t[r.priority].records.push(r)):t[r.priority]={totalWeight:r.weight,records:[r]};return t},_D.weightSrvRecords=function(e){if(1===e.records.length)return e.totalWeight=0,e.records.shift();const t=Math.floor(Math.random()*(e.totalWeight+e.records.length));let r=0;for(const[n,i]of e.records.entries())if(r+=1+i.weight,r>t)return e.totalWeight-=i.weight,e.records.splice(n,1),i},_D.getConnectionName=function(e,t){const r=`ioredis-cluster(${e})`;return t?`${r}:${t}`:r};var SD,ED={};var kD={};function AD(e,t){t=t||{};this._capacity=t.capacity,this._head=0,this._tail=0,Array.isArray(e)?this._fromArray(e):(this._capacityMask=3,this._list=new Array(4))}AD.prototype.peekAt=function(e){var t=e;if(t===(0|t)){var r=this.size();if(!(t>=r||t<-r))return t<0&&(t+=r),t=this._head+t&this._capacityMask,this._list[t]}},AD.prototype.get=function(e){return this.peekAt(e)},AD.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]},AD.prototype.peekFront=function(){return this.peek()},AD.prototype.peekBack=function(){return this.peekAt(-1)},Object.defineProperty(AD.prototype,"length",{get:function(){return this.size()}}),AD.prototype.size=function(){return this._head===this._tail?0:this._headthis._capacity&&this.pop(),this._head1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}},AD.prototype.push=function(e){if(0===arguments.length)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head1e4&&e<=t>>>2&&this._shrinkArray(),r}},AD.prototype.removeOne=function(e){var t=e;if(t===(0|t)&&this._head!==this._tail){var r=this.size(),n=this._list.length;if(!(t>=r||t<-r)){t<0&&(t+=r),t=this._head+t&this._capacityMask;var i,s=this._list[t];if(e0;i--)this._list[t]=this._list[t=t-1+n&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+n&this._capacityMask}else{for(i=r-1-e;i>0;i--)this._list[t]=this._list[t=t+1+n&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+n&this._capacityMask}return s}}},AD.prototype.remove=function(e,t){var r,n=e,i=t;if(n===(0|n)&&this._head!==this._tail){var s=this.size(),o=this._list.length;if(!(n>=s||n<-s||t<1)){if(n<0&&(n+=s),1===t||!t)return(r=new Array(1))[0]=this.removeOne(n),r;if(0===n&&n+t>=s)return r=this.toArray(),this.clear(),r;var a;for(n+t>s&&(t=s-n),r=new Array(t),a=0;a0;a--)this._list[n=n+1+o&this._capacityMask]=void 0;return r}if(0===e){for(this._head=this._head+t+o&this._capacityMask,a=t-1;a>0;a--)this._list[n=n+1+o&this._capacityMask]=void 0;return r}if(n0;a--)this.unshift(this._list[n=n-1+o&this._capacityMask]);for(n=this._head-1+o&this._capacityMask;i>0;)this._list[n=n-1+o&this._capacityMask]=void 0,i--;e<0&&(this._tail=n)}else{for(this._tail=n,n=n+t+o&this._capacityMask,a=s-(t+e);a>0;a--)this.push(this._list[n++]);for(n=this._tail;i>0;)this._list[n=n+1+o&this._capacityMask]=void 0,i--}return this._head<2&&this._tail>1e4&&this._tail<=o>>>2&&this._shrinkArray(),r}}},AD.prototype.splice=function(e,t){var r=e;if(r===(0|r)){var n=this.size();if(r<0&&(r+=n),!(r>n)){if(arguments.length>2){var i,s,o,a=arguments.length,c=this._list.length,l=2;if(!n||r0&&(this._head=this._head+r+c&this._capacityMask)):(o=this.remove(r,t),this._head=this._head+r+c&this._capacityMask);a>l;)this.unshift(arguments[--a]);for(i=r;i>0;i--)this.unshift(s[i-1])}else{var u=(s=new Array(n-(r+t))).length;for(i=0;ithis._tail){for(s=this._head;s>>=1,this._capacityMask>>>=1},AD.prototype._nextPowerOf2=function(e){var t=1<{this.started?(n("subscriber has disconnected, selecting a new one..."),this.selectSubscriber()):n("subscriber has disconnected, but ClusterSubscriber is not started, so not reconnecting.")},this.connectionPool.on("-node",((t,r)=>{this.started&&this.subscriber&&(0,e.getNodeKey)(this.subscriber.options)===r&&(n("subscriber has left, selecting a new one..."),this.selectSubscriber())})),this.connectionPool.on("+node",(()=>{this.started&&!this.subscriber&&(n("a new node is discovered and there is no subscriber, selecting a new one..."),this.selectSubscriber())}))}getInstance(){return this.subscriber}start(){this.started=!0,this.selectSubscriber(),n("started")}stop(){this.started=!1,this.subscriber&&(this.subscriber.disconnect(),this.subscriber=null),n("stopped")}selectSubscriber(){const i=this.lastActiveSubscriber;i&&(i.off("end",this.onSubscriberEnd),i.disconnect()),this.subscriber&&(this.subscriber.off("end",this.onSubscriberEnd),this.subscriber.disconnect());const s=(0,t.sample)(this.connectionPool.getNodes());if(!s)return n("selecting subscriber failed since there is no node discovered in the cluster yet"),void(this.subscriber=null);const{options:o}=s;n("selected a subscriber %s:%s",o.host,o.port),this.subscriber=new r.default({port:o.port,host:o.host,username:o.username,password:o.password,enableReadyCheck:!0,connectionName:(0,e.getConnectionName)("subscriber",o.connectionName),lazyConnect:!0,tls:o.tls,retryStrategy:null}),this.subscriber.on("error",t.noop),this.subscriber.once("end",this.onSubscriberEnd);const a={subscribe:[],psubscribe:[],ssubscribe:[]};if(i){const e=i.condition||i.prevCondition;e&&e.subscriber&&(a.subscribe=e.subscriber.channels("subscribe"),a.psubscribe=e.subscriber.channels("psubscribe"),a.ssubscribe=e.subscriber.channels("ssubscribe"))}if(a.subscribe.length||a.psubscribe.length||a.ssubscribe.length){let e=0;for(const t of["subscribe","psubscribe","ssubscribe"]){const r=a[t];r.length&&(e+=1,n("%s %d channels",t,r.length),this.subscriber[t](r).then((()=>{--e||(this.lastActiveSubscriber=this.subscriber)})).catch((()=>{n("failed to %s %d channels",t,r.length)})))}}else this.lastActiveSubscriber=this.subscriber;for(const e of["message","messageBuffer","smessage","smessageBuffer"])this.subscriber.on(e,((t,r)=>{this.emitter.emit(e,t,r)}));for(const e of["pmessage","pmessageBuffer"])this.subscriber.on(e,((t,r,n)=>{this.emitter.emit(e,t,r,n)}))}},gD}(),m=function(){if(SD)return ED;SD=1,Object.defineProperty(ED,"__esModule",{value:!0});const e=l,t=M$,r=_D,n=PL(),i=(0,t.Debug)("cluster:connectionPool");let s=class extends e.EventEmitter{constructor(e){super(),this.redisOptions=e,this.nodes={all:{},master:{},slave:{}},this.specifiedOptions={}}getNodes(e="all"){const t=this.nodes[e];return Object.keys(t).map((e=>t[e]))}getInstanceByKey(e){return this.nodes.all[e]}getSampleInstance(e){const r=Object.keys(this.nodes[e]),n=(0,t.sample)(r);return this.nodes[e][n]}findOrCreate(e,s=!1){const o=(0,r.getNodeKey)(e);let a;return s=Boolean(s),this.specifiedOptions[o]?Object.assign(e,this.specifiedOptions[o]):this.specifiedOptions[o]=e,this.nodes.all[o]?(a=this.nodes.all[o],a.options.readOnly!==s&&(a.options.readOnly=s,i("Change role of %s to %s",o,s?"slave":"master"),a[s?"readonly":"readwrite"]().catch(t.noop),s?(delete this.nodes.master[o],this.nodes.slave[o]=a):(delete this.nodes.slave[o],this.nodes.master[o]=a))):(i("Connecting to %s as %s",o,s?"slave":"master"),a=new n.default((0,t.defaults)({retryStrategy:null,enableOfflineQueue:!0,readOnly:s},e,this.redisOptions,{lazyConnect:!0})),this.nodes.all[o]=a,this.nodes[s?"slave":"master"][o]=a,a.once("end",(()=>{this.removeNode(o),this.emit("-node",a,o),Object.keys(this.nodes.all).length||this.emit("drain")})),this.emit("+node",a,o),a.on("error",(function(e){this.emit("nodeError",e,o)}))),a}reset(e){i("Reset with %O",e);const t={};e.forEach((e=>{const n=(0,r.getNodeKey)(e);e.readOnly&&t[n]||(t[n]=e)})),Object.keys(this.nodes.all).forEach((e=>{t[e]||(i("Disconnect %s because the node does not hold any slot",e),this.nodes.all[e].disconnect(),this.removeNode(e))})),Object.keys(t).forEach((e=>{const r=t[e];this.findOrCreate(r,r.readOnly)}))}removeNode(e){const{nodes:t}=this;t.all[e]&&(i("Remove %s from the pool",e),delete t.all[e]),delete t.master[e],delete t.slave[e]}};return ED.default=s,ED}(),y=kD,g=_D,_=OD,v=(0,u.Debug)("cluster"),b=new WeakSet;class w extends f.default{constructor(e,r={}){if(super(),this.slots=[],this._groupsIds={},this._groupsBySlot=Array(16384),this.isCluster=!0,this.retryAttempts=0,this.delayQueue=new y.default,this.offlineQueue=new _,this.isRefreshing=!1,this._refreshSlotsCacheCallbacks=[],this._autoPipelines=new Map,this._runningAutoPipelines=new Set,this._readyDelayedCallbacks=[],this.connectionEpoch=0,t.EventEmitter.call(this),this.startupNodes=e,this.options=(0,u.defaults)({},r,p.DEFAULT_CLUSTER_OPTIONS,this.options),this.options.redisOptions&&this.options.redisOptions.keyPrefix&&!this.options.keyPrefix&&(this.options.keyPrefix=this.options.redisOptions.keyPrefix),"function"!=typeof this.options.scaleReads&&-1===["all","master","slave"].indexOf(this.options.scaleReads))throw new Error('Invalid option scaleReads "'+this.options.scaleReads+'". Expected "all", "master", "slave" or a custom function');this.connectionPool=new m.default(this.options.redisOptions),this.connectionPool.on("-node",((e,t)=>{this.emit("-node",e)})),this.connectionPool.on("+node",(e=>{this.emit("+node",e)})),this.connectionPool.on("drain",(()=>{this.setStatus("close")})),this.connectionPool.on("nodeError",((e,t)=>{this.emit("node error",e,t)})),this.subscriber=new h.default(this.connectionPool,this),this.options.scripts&&Object.entries(this.options.scripts).forEach((([e,t])=>{this.defineCommand(e,t)})),this.options.lazyConnect?this.setStatus("wait"):this.connect().catch((e=>{v("connecting failed: %s",e)}))}connect(){return new Promise(((e,t)=>{if("connecting"===this.status||"connect"===this.status||"ready"===this.status)return void t(new Error("Redis is already connecting/connected"));const n=++this.connectionEpoch;this.setStatus("connecting"),this.resolveStartupNodeHostnames().then((i=>{if(this.connectionEpoch!==n)return v("discard connecting after resolving startup nodes because epoch not match: %d != %d",n,this.connectionEpoch),void t(new r.RedisError("Connection is discarded because a new connection is made"));if("connecting"!==this.status)return v("discard connecting after resolving startup nodes because the status changed to %s",this.status),void t(new r.RedisError("Connection is aborted"));this.connectionPool.reset(i);const a=()=>{this.setStatus("ready"),this.retryAttempts=0,this.executeOfflineCommands(),this.resetNodesRefreshInterval(),e()};let c;const l=()=>{this.invokeReadyDelayedCallbacks(void 0),this.removeListener("close",c),this.manuallyClosing=!1,this.setStatus("connect"),this.options.enableReadyCheck?this.readyCheck(((e,t)=>{e||t?(v("Ready check failed (%s). Reconnecting...",e||t),"connect"===this.status&&this.disconnect(!0)):a()})):a()};c=()=>{const e=new Error("None of startup nodes is available");this.removeListener("refresh",l),this.invokeReadyDelayedCallbacks(e),t(e)},this.once("refresh",l),this.once("close",c),this.once("close",this.handleCloseEvent.bind(this)),this.refreshSlotsCache((e=>{e&&e.message===s.default.defaultMessage&&(o.default.prototype.silentEmit.call(this,"error",e),this.connectionPool.reset([]))})),this.subscriber.start()})).catch((e=>{this.setStatus("close"),this.handleCloseEvent(e),this.invokeReadyDelayedCallbacks(e),t(e)}))}))}disconnect(e=!1){const t=this.status;this.setStatus("disconnecting"),e||(this.manuallyClosing=!0),this.reconnectTimeout&&!e&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null,v("Canceled reconnecting attempts")),this.clearNodesRefreshInterval(),this.subscriber.stop(),"wait"===t?(this.setStatus("close"),this.handleCloseEvent()):this.connectionPool.reset([])}quit(e){const t=this.status;if(this.setStatus("disconnecting"),this.manuallyClosing=!0,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.clearNodesRefreshInterval(),this.subscriber.stop(),"wait"===t){const t=(0,n.default)(Promise.resolve("OK"),e);return setImmediate(function(){this.setStatus("close"),this.handleCloseEvent()}.bind(this)),t}return(0,n.default)(Promise.all(this.nodes().map((e=>e.quit().catch((e=>{if(e.message===u.CONNECTION_CLOSED_ERROR_MSG)return"OK";throw e}))))).then((()=>"OK")),e)}duplicate(e=[],t={}){const r=e.length>0?e:this.startupNodes.slice(0),n=Object.assign({},this.options,t);return new w(r,n)}nodes(e="all"){if("all"!==e&&"master"!==e&&"slave"!==e)throw new Error('Invalid role "'+e+'". Expected "all", "master" or "slave"');return this.connectionPool.getNodes(e)}delayUntilReady(e){this._readyDelayedCallbacks.push(e)}get autoPipelineQueueSize(){let e=0;for(const t of this._autoPipelines.values())e+=t.length;return e}refreshSlotsCache(e){if(e&&this._refreshSlotsCacheCallbacks.push(e),this.isRefreshing)return;this.isRefreshing=!0;const t=this,r=e=>{this.isRefreshing=!1;for(const t of this._refreshSlotsCacheCallbacks)t(e);this._refreshSlotsCacheCallbacks=[]},n=(0,u.shuffle)(this.connectionPool.getNodes());let i=null;!function e(o){if(o===n.length){const e=new s.default(s.default.defaultMessage,i);return r(e)}const a=n[o],c=`${a.options.host}:${a.options.port}`;v("getting slot cache from %s",c),t.getInfoFromNode(a,(function(n){switch(t.status){case"close":case"end":return r(new Error("Cluster is disconnected."));case"disconnecting":return r(new Error("Cluster is disconnecting."))}n?(t.emit("node error",n,c),i=n,e(o+1)):(t.emit("refresh"),r())}))}(0)}sendCommand(t,n,s){if("wait"===this.status&&this.connect().catch(u.noop),"end"===this.status)return t.reject(new Error(u.CONNECTION_CLOSED_ERROR_MSG)),t.promise;let o=this.options.scaleReads;if("master"!==o){t.isReadOnly||(0,e.exists)(t.name)&&(0,e.hasFlag)(t.name,"readonly")||(o="master")}let a=s?s.slot:t.getSlot();const c={},l=this;if(!s&&!b.has(t)){b.add(t);const e=t.reject;t.reject=function(r){const n=d.bind(null,!0);l.handleError(r,c,{moved:function(e,r){v("command %s is moved to %s",t.name,r),a=Number(e),l.slots[e]?l.slots[e][0]=r:l.slots[e]=[r],l._groupsBySlot[e]=l._groupsIds[l.slots[e].join(";")],l.connectionPool.findOrCreate(l.natMapper(r)),d(),v("refreshing slot caches... (triggered by MOVED error)"),l.refreshSlotsCache()},ask:function(e,r){v("command %s is required to ask %s:%s",t.name,r);const n=l.natMapper(r);l.connectionPool.findOrCreate(n),d(!1,`${n.host}:${n.port}`)},tryagain:n,clusterDown:n,connectionClosed:n,maxRedirections:function(r){e.call(t,r)},defaults:function(){e.call(t,r)}})}}function d(e,c){if("end"===l.status)return void t.reject(new r.AbortError("Cluster is ended."));let d;if("ready"===l.status||"cluster"===t.name){if(s&&s.redis)d=s.redis;else if(i.default.checkFlag("ENTER_SUBSCRIBER_MODE",t.name)||i.default.checkFlag("EXIT_SUBSCRIBER_MODE",t.name)){if(d=l.subscriber.getInstance(),!d)return void t.reject(new r.AbortError("No subscriber for the cluster"))}else{if(!e){if("number"==typeof a&&l.slots[a]){const e=l.slots[a];if("function"==typeof o){const r=e.map((function(e){return l.connectionPool.getInstanceByKey(e)}));d=o(r,t),Array.isArray(d)&&(d=(0,u.sample)(d)),d||(d=r[0])}else{let t;t="all"===o?(0,u.sample)(e):"slave"===o&&e.length>1?(0,u.sample)(e,1):e[0],d=l.connectionPool.getInstanceByKey(t)}}c&&(d=l.connectionPool.getInstanceByKey(c),d.asking())}d||(d=("function"==typeof o?null:l.connectionPool.getSampleInstance(o))||l.connectionPool.getSampleInstance("all"))}s&&!s.redis&&(s.redis=d)}d?d.sendCommand(t,n):l.options.enableOfflineQueue?l.offlineQueue.push({command:t,stream:n,node:s}):t.reject(new Error("Cluster isn't ready and enableOfflineQueue options is false"))}return d(),t.promise}sscanStream(e,t){return this.createScanStream("sscan",{key:e,options:t})}sscanBufferStream(e,t){return this.createScanStream("sscanBuffer",{key:e,options:t})}hscanStream(e,t){return this.createScanStream("hscan",{key:e,options:t})}hscanBufferStream(e,t){return this.createScanStream("hscanBuffer",{key:e,options:t})}zscanStream(e,t){return this.createScanStream("zscan",{key:e,options:t})}zscanBufferStream(e,t){return this.createScanStream("zscanBuffer",{key:e,options:t})}handleError(e,t,r){if(void 0===t.value?t.value=this.options.maxRedirections:t.value-=1,t.value<=0)return void r.maxRedirections(new Error("Too many Cluster redirections. Last error: "+e));const n=e.message.split(" ");if("MOVED"===n[0]){const e=this.options.retryDelayOnMoved;e&&"number"==typeof e?this.delayQueue.push("moved",r.moved.bind(null,n[1],n[2]),{timeout:e}):r.moved(n[1],n[2])}else"ASK"===n[0]?r.ask(n[1],n[2]):"TRYAGAIN"===n[0]?this.delayQueue.push("tryagain",r.tryagain,{timeout:this.options.retryDelayOnTryAgain}):"CLUSTERDOWN"===n[0]&&this.options.retryDelayOnClusterDown>0?this.delayQueue.push("clusterdown",r.connectionClosed,{timeout:this.options.retryDelayOnClusterDown,callback:this.refreshSlotsCache.bind(this)}):e.message===u.CONNECTION_CLOSED_ERROR_MSG&&this.options.retryDelayOnFailover>0&&"ready"===this.status?this.delayQueue.push("failover",r.connectionClosed,{timeout:this.options.retryDelayOnFailover,callback:this.refreshSlotsCache.bind(this)}):r.defaults()}resetOfflineQueue(){this.offlineQueue=new _}clearNodesRefreshInterval(){this.slotsTimer&&(clearTimeout(this.slotsTimer),this.slotsTimer=null)}resetNodesRefreshInterval(){if(this.slotsTimer||!this.options.slotsRefreshInterval)return;const e=()=>{this.slotsTimer=setTimeout((()=>{v('refreshing slot caches... (triggered by "slotsRefreshInterval" option)'),this.refreshSlotsCache((()=>{e()}))}),this.options.slotsRefreshInterval)};e()}setStatus(e){v("status: %s -> %s",this.status||"[empty]",e),this.status=e,process.nextTick((()=>{this.emit(e)}))}handleCloseEvent(e){let t;e&&v("closed because %s",e),this.manuallyClosing||"function"!=typeof this.options.clusterRetryStrategy||(t=this.options.clusterRetryStrategy.call(this,++this.retryAttempts,e)),"number"==typeof t?(this.setStatus("reconnecting"),this.reconnectTimeout=setTimeout((()=>{this.reconnectTimeout=null,v("Cluster is disconnected. Retrying after %dms",t),this.connect().catch((function(e){v("Got error %s when reconnecting. Ignoring...",e)}))}),t)):(this.setStatus("end"),this.flushQueue(new Error("None of startup nodes is available")))}flushQueue(e){let t;for(;t=this.offlineQueue.shift();)t.command.reject(e)}executeOfflineCommands(){if(this.offlineQueue.length){v("send %d commands in offline queue",this.offlineQueue.length);const e=this.offlineQueue;let t;for(this.resetOfflineQueue();t=e.shift();)this.sendCommand(t.command,t.stream,t.node)}}natMapper(e){if(this.options.natMap&&"object"==typeof this.options.natMap){const t="string"==typeof e?e:`${e.host}:${e.port}`,r=this.options.natMap[t];if(r)return v("NAT mapping %s -> %O",t,r),Object.assign({},r)}return"string"==typeof e?(0,g.nodeKeyToRedisOptions)(e):e}getInfoFromNode(e,t){if(!e)return t(new Error("Node is disconnected"));const r=e.duplicate({enableOfflineQueue:!0,enableReadyCheck:!1,retryStrategy:null,connectionName:(0,g.getConnectionName)("refresher",this.options.redisOptions&&this.options.redisOptions.connectionName)});r.on("error",u.noop),r.cluster("SLOTS",(0,u.timeout)(((e,n)=>{if(r.disconnect(),e)return t(e);if("disconnecting"===this.status||"close"===this.status||"end"===this.status)return v("ignore CLUSTER.SLOTS results (count: %d) since cluster status is %s",n.length,this.status),void t();const i=[];v("cluster slots result count: %d",n.length);for(let e=0;e{if(t)return e(t);if("string"!=typeof r)return e();let n;const i=r.split("\r\n");for(let e=0;e{this.options.resolveSrv(e,((e,n)=>{if(e)return r(e);const i=this,s=(0,g.groupSrvRecords)(n),o=Object.keys(s).sort(((e,t)=>parseInt(e)-parseInt(t)));!function e(n){if(!o.length)return r(n);const a=o[0],c=s[a],l=(0,g.weightSrvRecords)(c);c.records.length||o.shift(),i.dnsLookup(l.name).then((e=>t({host:e,port:l.port})),e)}()}))}))}dnsLookup(e){return new Promise(((t,r)=>{this.options.dnsLookup(e,((n,i)=>{n?(v("failed to resolve hostname %s to IP: %s",e,n.message),r(n)):(v("resolved hostname %s to IP %s",e,i),t(i))}))}))}async resolveStartupNodeHostnames(){if(!Array.isArray(this.startupNodes)||0===this.startupNodes.length)throw new Error("`startupNodes` should contain at least one node.");const e=(0,g.normalizeNodeOptions)(this.startupNodes),t=(0,g.getUniqueHostnamesFromOptions)(e);if(0===t.length)return e;const r=await Promise.all(t.map((this.options.useSRVRecords?this.resolveSrv:this.dnsLookup).bind(this))),n=(0,u.zipMap)(t,r);return e.map((e=>{const t=n.get(e.host);return t?this.options.useSRVRecords?Object.assign({},e,t):Object.assign({},e,{host:t}):e}))}createScanStream(e,{key:t,options:r={}}){return new a.default({objectMode:!0,key:t,redis:this,command:e,...r})}}return(0,d.default)(w,t.EventEmitter),(0,c.addTransactionSupport)(w.prototype),T$.default=w,T$}kD.default=class{constructor(){this.queues={},this.timeouts={}}push(e,t,r){const n=r.callback||process.nextTick;this.queues[e]||(this.queues[e]=new CD);this.queues[e].push(t),this.timeouts[e]||(this.timeouts[e]=setTimeout((()=>{n((()=>{this.timeouts[e]=null,this.execute(e)}))}),r.timeout))}execute(e){const t=this.queues[e];if(!t)return;const{length:r}=t;if(r)for(TD("send %d commands in %s queue",r,e),this.queues[e]=null;t.length>0;)t.shift()()}};var xD={},jD={},PD={};Object.defineProperty(PD,"__esModule",{value:!0});const ND=(0,M$.Debug)("AbstractConnector");PD.default=class{constructor(e){this.connecting=!1,this.disconnectTimeout=e}check(e){return!0}disconnect(){if(this.connecting=!1,this.stream){const e=this.stream,t=setTimeout((()=>{ND("stream %s:%s still open, destroying it",e.remoteAddress,e.remotePort),e.destroy()}),this.disconnectTimeout);e.on("close",(()=>clearTimeout(t))),e.end()}}},Object.defineProperty(jD,"__esModule",{value:!0});const $D=g,MD=_,DD=M$,LD=PD;class BD extends LD.default{constructor(e){super(e.disconnectTimeout),this.options=e}connect(e){const{options:t}=this;let r;return this.connecting=!0,"path"in t&&t.path?r={path:t.path}:(r={},"port"in t&&null!=t.port&&(r.port=t.port),"host"in t&&null!=t.host&&(r.host=t.host),"family"in t&&null!=t.family&&(r.family=t.family)),t.tls&&Object.assign(r,t.tls),new Promise(((e,n)=>{process.nextTick((()=>{if(this.connecting){try{t.tls?this.stream=(0,MD.connect)(r):this.stream=(0,$D.createConnection)(r)}catch(e){return void n(e)}this.stream.once("error",(e=>{this.firstError=e})),e(this.stream)}else n(new Error(DD.CONNECTION_CLOSED_ERROR_MSG))}))}))}}jD.default=BD;var KD={},FD={};function UD(e,t){return(e.host||"127.0.0.1")===(t.host||"127.0.0.1")&&(e.port||26379)===(t.port||26379)}Object.defineProperty(FD,"__esModule",{value:!0});FD.default=class{constructor(e){this.cursor=0,this.sentinels=e.slice(0)}next(){const e=this.cursor>=this.sentinels.length;return{done:e,value:e?void 0:this.sentinels[this.cursor++]}}reset(e){e&&this.sentinels.length>1&&1!==this.cursor&&this.sentinels.unshift(...this.sentinels.splice(this.cursor-1)),this.cursor=0}add(e){for(let t=0;t{const o=this.sentinelIterator.next();if(o.done){this.sentinelIterator.reset(!1);const e="function"==typeof this.options.sentinelRetryStrategy?this.options.sentinelRetryStrategy(++this.retryAttempts):null;let t="number"!=typeof e?"All sentinels are unreachable and retry is disabled.":`All sentinels are unreachable. Retrying from scratch after ${e}ms.`;i&&(t+=` Last error: ${i.message}`),a(t);const r=new Error(t);if("number"==typeof e)return n("error",r),await new Promise((t=>setTimeout(t,e))),s();throw r}let c=null,l=null;try{c=await this.resolve(o.value)}catch(e){l=e}if(!this.connecting)throw new Error(t.CONNECTION_CLOSED_ERROR_MSG);const u=o.value.host+":"+o.value.port;if(c)return a("resolved: %s:%s from sentinel %s",c.host,c.port,u),this.options.enableTLSForSentinelMode&&this.options.tls?(Object.assign(c,this.options.tls),this.stream=(0,r.connect)(c),this.stream.once("secureConnect",this.initFailoverDetector.bind(this))):(this.stream=(0,e.createConnection)(c),this.stream.once("connect",this.initFailoverDetector.bind(this))),this.stream.once("error",(e=>{this.firstError=e})),this.stream;{const e=l?"failed to connect to sentinel "+u+" because "+l.message:"connected to sentinel "+u+" successfully, but got an invalid reply: "+c;return a(e),n("sentinelError",new Error(e)),l&&(i=l),s()}};return s()}async updateSentinels(e){if(!this.options.updateSentinels)return;const r=await e.sentinel("sentinels",this.options.name);Array.isArray(r)&&(r.map(t.packObject).forEach((e=>{if(-1===(e.flags?e.flags.split(","):[]).indexOf("disconnected")&&e.ip&&e.port){const t=this.sentinelNatResolve(l(e));this.sentinelIterator.add(t)&&a("adding sentinel %s:%s",t.host,t.port)}})),a("Updated internal sentinels: %s",this.sentinelIterator))}async resolveMaster(e){const t=await e.sentinel("get-master-addr-by-name",this.options.name);return await this.updateSentinels(e),this.sentinelNatResolve(Array.isArray(t)?{host:t[0],port:Number(t[1])}:null)}async resolveSlave(e){const r=await e.sentinel("slaves",this.options.name);if(!Array.isArray(r))return null;const n=r.map(t.packObject).filter((e=>e.flags&&!e.flags.match(/(disconnected|s_down|o_down)/)));return this.sentinelNatResolve(function(e,r){if(0===e.length)return null;let n;if("function"==typeof r)n=r(e);else if(null!==r&&"object"==typeof r){const t=Array.isArray(r)?r:[r];t.sort(((e,t)=>(e.prio||(e.prio=1),t.prio||(t.prio=1),e.priot.prio?1:0)));for(let r=0;r{var e;null===(e=this.emitter)||void 0===e||e.emit("sentinelReconnecting")})),t.push({address:r,client:n})}this.sentinelIterator.reset(!1),this.failoverDetector&&this.failoverDetector.cleanup(),this.failoverDetector=new o.FailoverDetector(this,t),await this.failoverDetector.subscribe(),null===(e=this.emitter)||void 0===e||e.emit("failoverSubscribed")}};function l(e){return{host:e.ip,port:Number(e.port)}}function u(){}return KD.default=c,KD}WD.FailoverDetector=class{constructor(e,t){this.isDisconnected=!1,this.connector=e,this.sentinels=t}cleanup(){this.isDisconnected=!0;for(const e of this.sentinels)e.client.disconnect()}async subscribe(){JD("Starting FailoverDetector");const e=[];for(const t of this.sentinels){const r=t.client.subscribe(HD).catch((e=>{JD("Failed to subscribe to failover messages on sentinel %s:%s (%s)",t.address.host||"127.0.0.1",t.address.port||26739,e.message)}));e.push(r),t.client.on("message",(e=>{this.isDisconnected||e!==HD||this.disconnect()}))}await Promise.all(e)}disconnect(){this.isDisconnected=!0,JD("Failover detected, disconnecting"),this.connector.disconnect()}};var qD={},XD={},YD={};Object.defineProperty(YD,"__esModule",{value:!0});const ZD=I$;class QD extends ZD.AbortError{constructor(e){super(`Reached the max retries per request limit (which is ${e}). Refer to "maxRetriesPerRequest" option for details.`),Error.captureStackTrace(this,this.constructor)}get name(){return this.constructor.name}}YD.default=QD,Object.defineProperty(XD,"__esModule",{value:!0}),XD.MaxRetriesPerRequestError=void 0;const eL=YD;XD.MaxRetriesPerRequestError=eL.default;var tL={};const rL=i.Buffer,nL=new(0,v.StringDecoder),iL=I$,sL=iL.ReplyError,oL=iL.ParserError;var aL=rL.allocUnsafe(32768),cL=0,lL=null,uL=0,dL=0;function fL(e){const t=e.offset,r=e.buffer,n=r.length-1;for(var i=t;i=n)return void hL(e,t,r);const s=gL(e,e.buffer[e.offset++]);if(void 0===s)return e.arrayCache.length||e.bufferCache.length||(e.offset=i),void hL(e,t,r);t[r]=s,r++}return t}function gL(e,t){switch(t){case 36:return function(e){const t=pL(e);if(void 0===t)return;if(t<0)return null;const r=e.offset+t;if(r+2>e.buffer.length)return e.bigStrSize=r+2,e.totalChunkSize=e.buffer.length,void e.bufferCache.push(e.buffer);const n=e.offset;return e.offset=r+2,!0===e.optionReturnBuffers?e.buffer.slice(n,r):e.buffer.toString("utf8",n,r)}(e);case 43:return fL(e);case 42:return function(e){const t=pL(e);if(void 0===t)return;return t<0?null:yL(e,new Array(t),0)}(e);case 58:return function(e){return!0===e.optionStringNumbers?function(e){const t=e.buffer.length-1;var r=e.offset,n=0,i="";for(45===e.buffer[r]&&(i+="-",r++);r429496728?(i+=10*n+(s-48),n=0):48===s&&0===n?i+=0:n=10*n+(s-48)}}(e):function(e){const t=e.buffer.length-1;var r=e.offset,n=0,i=1;for(45===e.buffer[r]&&(i=-1,r++);r51200)if(1===uL||dL>2*uL){const e=Math.floor(aL.length/10),t=e78643200?2:3;cL>116391936&&(cL=52428800),aL=rL.allocUnsafe(e*t+cL),cL=0,uL++,null===lL&&(lL=setInterval(_L,50))}}(n);const o=cL;t[0].copy(aL,o,r,t[0].length),cL+=t[0].length-r;for(var a=1;a=this.bigStrSize))return this.bufferCache.push(e),void(this.totalChunkSize+=e.length);this.bufferCache.push(e);var t=this.optionReturnBuffers?vL(this):function(e){const t=e.bufferCache,r=e.offset;var n=t.length,i=e.bigStrSize-e.totalChunkSize;if(e.offset=i,i<=2){if(2===n)return t[0].toString("utf8",r,t[0].length+i-2);n--,i=t[t.length-2].length+i}for(var s=nL.write(t[0].slice(r)),o=1;o{this.returnError(e)},returnFatalError:e=>{this.returnFatalError(e)},returnReply:e=>{this.returnReply(e)}});e.stream.on("data",(e=>{r.execute(e)}))}returnFatalError(e){e.message+=". Please report this.",this.redis.recoverFromFatalError(e,e,{offlineQueue:!1})}returnError(e){const t=this.shiftCommand(e);t&&(e.command={name:t.command.name,args:t.command.args},this.redis.handleReconnection(e,t))}returnReply(e){if(this.handleMonitorReply(e))return;if(this.handleSubscriberReply(e))return;const t=this.shiftCommand(e);t&&(kL.default.checkFlag("ENTER_SUBSCRIBER_MODE",t.command.name)?(this.redis.condition.subscriber=new OL.default,this.redis.condition.subscriber.add(t.command.name,e[1].toString()),RL(t.command,e[2])||this.redis.commandQueue.unshift(t)):kL.default.checkFlag("EXIT_SUBSCRIBER_MODE",t.command.name)?IL(t.command,e[2])||this.redis.commandQueue.unshift(t):t.command.resolve(e))}handleSubscriberReply(e){if(!this.redis.condition.subscriber)return!1;const t=Array.isArray(e)?e[0].toString():null;switch(CL('receive reply "%s" in subscriber mode',t),t){case"message":this.redis.listeners("message").length>0&&this.redis.emit("message",e[1].toString(),e[2]?e[2].toString():""),this.redis.emit("messageBuffer",e[1],e[2]);break;case"pmessage":{const t=e[1].toString();this.redis.listeners("pmessage").length>0&&this.redis.emit("pmessage",t,e[2].toString(),e[3].toString()),this.redis.emit("pmessageBuffer",t,e[2],e[3]);break}case"smessage":this.redis.listeners("smessage").length>0&&this.redis.emit("smessage",e[1].toString(),e[2]?e[2].toString():""),this.redis.emit("smessageBuffer",e[1],e[2]);break;case"ssubscribe":case"subscribe":case"psubscribe":{const r=e[1].toString();this.redis.condition.subscriber.add(t,r);const n=this.shiftCommand(e);if(!n)return;RL(n.command,e[2])||this.redis.commandQueue.unshift(n);break}case"sunsubscribe":case"unsubscribe":case"punsubscribe":{const r=e[1]?e[1].toString():null;r&&this.redis.condition.subscriber.del(t,r);const n=e[2];0===Number(n)&&(this.redis.condition.subscriber=!1);const i=this.shiftCommand(e);if(!i)return;IL(i.command,n)||this.redis.commandQueue.unshift(i);break}default:{const t=this.shiftCommand(e);if(!t)return;t.command.resolve(e)}}return!0}handleMonitorReply(e){if("monitoring"!==this.redis.status)return!1;const t=e.toString();if("OK"===t)return!1;const r=t.indexOf(" "),n=t.slice(0,r),i=t.indexOf('"'),s=t.slice(i+1,-1).split('" "').map((e=>e.replace(/\\"/g,'"'))),o=t.slice(r+2,i-2).split(" ");return this.redis.emit("monitor",n,s,o[1],o[0]),!0}shiftCommand(e){const t=this.redis.commandQueue.shift();if(!t){const t=new Error("Command queue state error. If you can reproduce this, please report it."+(e instanceof Error?` Last error: ${e.message}`:` Last reply: ${e.toString()}`));return this.redis.emit("error",t),null}return t}};const TL=new WeakMap;function RL(e,t){let r=TL.has(e)?TL.get(e):e.args.length;return r-=1,r<=0?(e.resolve(t),TL.delete(e),!0):(TL.set(e,r),!1)}function IL(e,t){let r=TL.has(e)?TL.get(e):e.args.length;return 0===r?0===Number(t)&&(TL.delete(e),e.resolve(t),!0):(r-=1,r<=0?(e.resolve(t),!0):(TL.set(e,r),!1))}!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.readyHandler=e.errorHandler=e.closeHandler=e.connectHandler=void 0;const t=I$,r=x$,n=XD,i=M$,s=tL,o=(0,i.Debug)("connection");function a(e){const r=new t.AbortError("Command aborted due to connection close");return r.command={name:e.name,args:e.args},r}e.connectHandler=function(t){return function(){t.setStatus("connect"),t.resetCommandQueue();let r=!1;const{connectionEpoch:n}=t;t.condition.auth&&t.auth(t.condition.auth,(function(e){n===t.connectionEpoch&&e&&(-1!==e.message.indexOf("no password is set")?console.warn("[WARN] Redis server does not require a password, but a password was supplied."):-1!==e.message.indexOf("without any password configured for the default user")?console.warn("[WARN] This Redis server's `default` user does not require a password, but a password was supplied"):-1!==e.message.indexOf("wrong number of arguments for 'auth' command")?console.warn("[ERROR] The server returned \"wrong number of arguments for 'auth' command\". You are probably passing both username and password to Redis version 5 or below. You should only pass the 'password' option for Redis version 5 and under."):(r=!0,t.recoverFromFatalError(e,e)))})),t.condition.select&&t.select(t.condition.select).catch((e=>{t.silentEmit("error",e)})),t.options.enableReadyCheck||e.readyHandler(t)(),new s.default(t,{stringNumbers:t.options.stringNumbers}),t.options.enableReadyCheck&&t._readyCheck((function(i,s){n===t.connectionEpoch&&(i?r||t.recoverFromFatalError(new Error("Ready check failed: "+i.message),i):t.connector.check(s)?e.readyHandler(t)():t.disconnect(!0))}))}},e.closeHandler=function(e){return function(){const r=e.status;if(e.setStatus("close"),e.commandQueue.length&&function(e){var t;let r=0;for(let n=0;ne.setStatus("monitoring")),(t=>e.emit("error",t)));const{sendCommand:t}=e;return e.sendCommand=function(n){return r.default.checkFlag("VALID_IN_MONITOR_MODE",n.name)?t.call(e,n):(n.reject(new Error("Connection is in monitoring mode, can't process commands.")),n.promise)},void e.once("close",(function(){delete e.sendCommand}))}const t=e.prevCondition?e.prevCondition.select:e.condition.select;if(e.options.connectionName&&(o("set the connection name [%s]",e.options.connectionName),e.client("setname",e.options.connectionName).catch(i.noop)),e.options.readOnly&&(o("set the connection to readonly mode"),e.readonly().catch(i.noop)),e.prevCondition){const r=e.prevCondition;if(e.prevCondition=null,r.subscriber&&e.options.autoResubscribe){e.condition.select!==t&&(o("connect to db [%d]",t),e.select(t));const n=r.subscriber.channels("subscribe");n.length&&(o("subscribe %d channels",n.length),e.subscribe(n));const i=r.subscriber.channels("psubscribe");i.length&&(o("psubscribe %d channels",i.length),e.psubscribe(i));const s=r.subscriber.channels("ssubscribe");s.length&&(o("ssubscribe %d channels",s.length),e.ssubscribe(s))}}if(e.prevCommandQueue)if(e.options.autoResendUnfulfilledCommands)for(o("resend %d unfulfilled commands",e.prevCommandQueue.length);e.prevCommandQueue.length>0;){const t=e.prevCommandQueue.shift();t.select!==e.condition.select&&"select"!==t.command.name&&e.select(t.select),e.sendCommand(t.command,t.stream)}else e.prevCommandQueue=null;if(e.offlineQueue.length){o("send %d commands in offline queue",e.offlineQueue.length);const t=e.offlineQueue;for(e.resetOfflineQueue();t.length>0;){const r=t.shift();r.select!==e.condition.select&&"select"!==r.command.name&&e.select(r.select),e.sendCommand(r.command,r.stream)}}e.condition.select!==t&&(o("connect to db [%d]",t),e.select(t))}}}(qD);var xL,jL={};function PL(){if(xL)return g$;xL=1,Object.defineProperty(g$,"__esModule",{value:!0});const e=_$,t=l,r=b$,n=ID(),i=x$,s=function(){if(zD)return xD;zD=1,Object.defineProperty(xD,"__esModule",{value:!0}),xD.SentinelConnector=xD.StandaloneConnector=void 0;const e=jD;xD.StandaloneConnector=e.default;const t=VD();return xD.SentinelConnector=t.default,xD}(),o=VD(),a=qD,c=jL,u=MM,d=BM,f=M$,p=hD,h=FM,m=D$,y=OD,g=(0,f.Debug)("redis");let _=class n extends h.default{constructor(e,r,n){if(super(),this.status="wait",this.isCluster=!1,this.reconnectTimeout=null,this.connectionEpoch=0,this.retryAttempts=0,this.manuallyClosing=!1,this._autoPipelines=new Map,this._runningAutoPipelines=new Set,this.parseOptions(e,r,n),t.EventEmitter.call(this),this.resetCommandQueue(),this.resetOfflineQueue(),this.options.Connector)this.connector=new this.options.Connector(this.options);else if(this.options.sentinels){const e=new o.default(this.options);e.emitter=this,this.connector=e}else this.connector=new s.StandaloneConnector(this.options);this.options.scripts&&Object.entries(this.options.scripts).forEach((([e,t])=>{this.defineCommand(e,t)})),this.options.lazyConnect?this.setStatus("wait"):this.connect().catch(m.noop)}static createClient(...e){return new n(...e)}get autoPipelineQueueSize(){let e=0;for(const t of this._autoPipelines.values())e+=t.length;return e}connect(e){const t=new Promise(((e,t)=>{if("connecting"===this.status||"connect"===this.status||"ready"===this.status)return void t(new Error("Redis is already connecting/connected"));this.connectionEpoch+=1,this.setStatus("connecting");const{options:n}=this;this.condition={select:n.db,auth:n.username?[n.username,n.password]:n.password,subscriber:!1};const i=this;(0,r.default)(this.connector.connect((function(e,t){i.silentEmit(e,t)})),(function(r,s){if(r)return i.flushQueue(r),i.silentEmit("error",r),t(r),void i.setStatus("end");let o=n.tls?"secureConnect":"connect";if("sentinels"in n&&n.sentinels&&!n.enableTLSForSentinelMode&&(o="connect"),i.stream=s,n.noDelay&&s.setNoDelay(!0),"number"==typeof n.keepAlive&&(s.connecting?s.once(o,(()=>{s.setKeepAlive(!0,n.keepAlive)})):s.setKeepAlive(!0,n.keepAlive)),s.connecting){if(s.once(o,a.connectHandler(i)),n.connectTimeout){let e=!1;s.setTimeout(n.connectTimeout,(function(){if(e)return;s.setTimeout(0),s.destroy();const t=new Error("connect ETIMEDOUT");t.errorno="ETIMEDOUT",t.code="ETIMEDOUT",t.syscall="connect",a.errorHandler(i)(t)})),s.once(o,(function(){e=!0,s.setTimeout(0)}))}}else if(s.destroyed){const e=i.connector.firstError;e&&process.nextTick((()=>{a.errorHandler(i)(e)})),process.nextTick(a.closeHandler(i))}else process.nextTick(a.connectHandler(i));s.destroyed||(s.once("error",a.errorHandler(i)),s.once("close",a.closeHandler(i)));const c=function(){i.removeListener("close",l),e()};var l=function(){i.removeListener("ready",c),t(new Error(f.CONNECTION_CLOSED_ERROR_MSG))};i.once("ready",c),i.once("close",l)}))}));return(0,r.default)(t,e)}disconnect(e=!1){e||(this.manuallyClosing=!0),this.reconnectTimeout&&!e&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),"wait"===this.status?a.closeHandler(this)():this.connector.disconnect()}end(){this.disconnect()}duplicate(e){return new n({...this.options,...e})}get mode(){var e;return this.options.monitor?"monitor":(null===(e=this.condition)||void 0===e?void 0:e.subscriber)?"subscriber":"normal"}monitor(e){const t=this.duplicate({monitor:!0,lazyConnect:!1});return(0,r.default)(new Promise((function(e,r){t.once("error",r),t.once("monitoring",(function(){e(t)}))})),e)}sendCommand(t,r){var n,s;if("wait"===this.status&&this.connect().catch(m.noop),"end"===this.status)return t.reject(new Error(f.CONNECTION_CLOSED_ERROR_MSG)),t.promise;if((null===(n=this.condition)||void 0===n?void 0:n.subscriber)&&!i.default.checkFlag("VALID_IN_SUBSCRIBER_MODE",t.name))return t.reject(new Error("Connection in subscriber mode, only subscriber commands may be used")),t.promise;"number"==typeof this.options.commandTimeout&&t.setTimeout(this.options.commandTimeout);let o="ready"===this.status||!r&&"connect"===this.status&&(0,e.exists)(t.name)&&(0,e.hasFlag)(t.name,"loading");if(this.stream&&this.stream.writable?this.stream._writableState&&this.stream._writableState.ended&&(o=!1):o=!1,o)g.enabled&&g("write command[%s]: %d -> %s(%o)",this._getDescription(),null===(s=this.condition)||void 0===s?void 0:s.select,t.name,t.args),r?"isPipeline"in r&&r.isPipeline?r.write(t.toWritable(r.destination.redis.stream)):r.write(t.toWritable(r)):this.stream.write(t.toWritable(this.stream)),this.commandQueue.push({command:t,stream:r,select:this.condition.select}),i.default.checkFlag("WILL_DISCONNECT",t.name)&&(this.manuallyClosing=!0),void 0!==this.options.socketTimeout&&void 0===this.socketTimeoutTimer&&this.setSocketTimeout();else{if(!this.options.enableOfflineQueue)return t.reject(new Error("Stream isn't writeable and enableOfflineQueue options is false")),t.promise;if("quit"===t.name&&0===this.offlineQueue.length)return this.disconnect(),t.resolve(Buffer.from("OK")),t.promise;g.enabled&&g("queue command[%s]: %d -> %s(%o)",this._getDescription(),this.condition.select,t.name,t.args),this.offlineQueue.push({command:t,stream:r,select:this.condition.select})}if("select"===t.name&&(0,f.isInt)(t.args[0])){const e=parseInt(t.args[0],10);this.condition.select!==e&&(this.condition.select=e,this.emit("select",e),g("switch to db [%d]",this.condition.select))}return t.promise}setSocketTimeout(){this.socketTimeoutTimer=setTimeout((()=>{this.stream.destroy(new Error(`Socket timeout. Expecting data, but didn't receive any in ${this.options.socketTimeout}ms.`)),this.socketTimeoutTimer=void 0}),this.options.socketTimeout),this.stream.once("data",(()=>{clearTimeout(this.socketTimeoutTimer),this.socketTimeoutTimer=void 0,0!==this.commandQueue.length&&this.setSocketTimeout()}))}scanStream(e){return this.createScanStream("scan",{options:e})}scanBufferStream(e){return this.createScanStream("scanBuffer",{options:e})}sscanStream(e,t){return this.createScanStream("sscan",{key:e,options:t})}sscanBufferStream(e,t){return this.createScanStream("sscanBuffer",{key:e,options:t})}hscanStream(e,t){return this.createScanStream("hscan",{key:e,options:t})}hscanBufferStream(e,t){return this.createScanStream("hscanBuffer",{key:e,options:t})}zscanStream(e,t){return this.createScanStream("zscan",{key:e,options:t})}zscanBufferStream(e,t){return this.createScanStream("zscanBuffer",{key:e,options:t})}silentEmit(e,t){let r;if("error"===e){if(r=t,"end"===this.status)return;if(this.manuallyClosing&&r instanceof Error&&(r.message===f.CONNECTION_CLOSED_ERROR_MSG||"connect"===r.syscall||"read"===r.syscall))return}return this.listeners(e).length>0?this.emit.apply(this,arguments):(r&&r instanceof Error&&console.error("[ioredis] Unhandled error event:",r.stack),!1)}recoverFromFatalError(e,t,r){this.flushQueue(t,r),this.silentEmit("error",t),this.disconnect(!0)}handleReconnection(e,t){var r;let n=!1;switch(this.options.reconnectOnError&&(n=this.options.reconnectOnError(e)),n){case 1:case!0:"reconnecting"!==this.status&&this.disconnect(!0),t.command.reject(e);break;case 2:"reconnecting"!==this.status&&this.disconnect(!0),(null===(r=this.condition)||void 0===r?void 0:r.select)!==t.select&&"select"!==t.command.name&&this.select(t.select),this.sendCommand(t.command);break;default:t.command.reject(e)}}_getDescription(){let e;return e="path"in this.options&&this.options.path?this.options.path:this.stream&&this.stream.remoteAddress&&this.stream.remotePort?this.stream.remoteAddress+":"+this.stream.remotePort:"host"in this.options&&this.options.host?this.options.host+":"+this.options.port:"",this.options.connectionName&&(e+=` (${this.options.connectionName})`),e}resetCommandQueue(){this.commandQueue=new y}resetOfflineQueue(){this.offlineQueue=new y}parseOptions(...e){const t={};let r=!1;for(let n=0;n %s",this._getDescription(),this.status||"[empty]",e),this.status=e,process.nextTick(this.emit.bind(this,e,t))}createScanStream(e,{key:t,options:r={}}){return new u.default({objectMode:!0,key:t,redis:this,command:e,...r})}flushQueue(e,t){let r;if((t=(0,m.defaults)({},t,{offlineQueue:!0,commandQueue:!0})).offlineQueue)for(;r=this.offlineQueue.shift();)r.command.reject(e);if(t.commandQueue&&this.commandQueue.length>0)for(this.stream&&this.stream.removeAllListeners("data");r=this.commandQueue.shift();)r.command.reject(e)}_readyCheck(e){const t=this;this.info((function(r,n){if(r)return r.message&&r.message.includes("NOPERM")?(console.warn(`Skipping the ready check because INFO command fails: "${r.message}". You can disable ready check with "enableReadyCheck". More: https://github.com/luin/ioredis/wiki/Disable-ready-check.`),e(null,{})):e(r);if("string"!=typeof n)return e(null,n);const i={},s=n.split("\r\n");for(let e=0;e(console.warn("ioredis v5 does not support plugging third-party Promise library anymore. Native Promise will be used."),Promise),set(e){console.warn("ioredis v5 does not support plugging third-party Promise library anymore. Native Promise will be used.")}}),t.print=function(e,t){e?console.log("Error: "+e):console.log("Reply: "+t)}}(y$,y$.exports);var NL=y$.exports,$L=jr&&jr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};const ML=$L(l),DL=$L(NL);class LL extends ML.default{constructor(e,t){super(),this.ttlSupport=!0,this._getKeyName=e=>this.opts.useRedisSets?e:`sets:${this._getNamespace()}:${e}`,this.opts={},this.opts.useRedisSets=!0,this.opts.dialect="redis","string"!=typeof e&&e.options&&("family"in e.options||e.isCluster)?this.redis=e:(t={..."string"==typeof e?{uri:e}:e,...t},this.redis=new DL.default(t.uri,t)),void 0!==t&&!1===t.useRedisSets&&(this.opts.useRedisSets=!1),this.redis.on("error",(e=>this.emit("error",e)))}_getNamespace(){return`namespace:${this.namespace}`}async get(e){e=this._getKeyName(e);const t=await this.redis.get(e);if(null!==t)return t}async getMany(e){return e=e.map(this._getKeyName),this.redis.mget(e)}async set(e,t,r){if(void 0===t)return;e=this._getKeyName(e);const n=async n=>{"number"==typeof r?await n.set(e,t,"PX",r):await n.set(e,t)};if(this.opts.useRedisSets){const t=await this.redis.multi();await n(t),await t.sadd(this._getNamespace(),e),await t.exec()}else await n(this.redis)}async delete(e){e=this._getKeyName(e);let t=0;const r=async t=>t.unlink(e);if(this.opts.useRedisSets){const n=this.redis.multi();await r(n),await n.srem(this._getNamespace(),e);t=(await n.exec())[0][1]}else t=await r(this.redis);return t>0}async deleteMany(e){const t=e.map((async e=>this.delete(e)));return(await Promise.allSettled(t)).every((e=>e.value))}async clear(){if(this.opts.useRedisSets){const e=await this.redis.smembers(this._getNamespace());e.length>0&&await Promise.all([this.redis.unlink([...e]),this.redis.srem(this._getNamespace(),[...e])])}else{const e=`sets:${this._getNamespace()}:*`,t=await this.redis.keys(e);t.length>0&&await this.redis.unlink(t)}}async*iterator(e){const t=this.redis.scan.bind(this.redis),r=this.redis.mget.bind(this.redis);let n="0";do{const[i,s]=await t(n,"MATCH",`${e}:*`);if(n=i,s.length>0){const e=await r(s);for(const[t]of s.entries()){const r=s[t],n=e[t];yield[r,n]}}}while("0"!==n)}async has(e){return 0!==await this.redis.exists(e)}async disconnect(){return this.redis.disconnect()}}var BL=Pr(LL);const KL=function(){if(!0!==NT.CACHE_ENABLED)return null;let e=NT.CACHE_JWT_NAMESPACE;null!=e&&""!==e||(e="exjwt");let t=NT.CACHE_JWT_TTL;null!=t&&""!==t||(t=5e3);let r,n="";if("redis"===NT.CACHE_STORE){n=NT.REDIS,null!=n&&""!==n||(n=`redis://${NT.REDIS_USERNAME||""}:${NT.REDIS_PASSWORD||""}@${NT.REDIS_HOST}:${NT.REDIS_PORT||"6379"} /${NT.REDIS_JWT_DB||"2"}`);try{r=new BL(n)}catch(e){throw new Error("CACHE: could not connect to database: "+e)}}try{const i=new m$(n,{namespace:e,ttl:t,store:r});return i.on("error",(e=>{throw new Error("CACHE: could not connect: "+e)})),i}catch(e){throw new Error("CACHE: could not connect to database: "+e)}}();function FL(){return null!==KL}const UL=await async function(){return console.log("calling auth providers"),new Promise(((e,t)=>{const r=Ic(NT.AUTH_PROVIDERS).filter((e=>e&&"openid"===NT[`AUTH_${e.toUpperCase()}_DRIVER`])).map((e=>({name:e,label:NT[`AUTH_${e.toUpperCase()}_LABEL`],driver:NT[`AUTH_${e.toUpperCase()}_DRIVER`],icon:NT[`AUTH_${e.toUpperCase()}_ICON`],trusted:NT[`AUTH_${e.toUpperCase()}_TRUSTED`],jwks_url:NT[`AUTH_${e.toUpperCase()}_JWKS_URL`],jwks_keys:NT[`AUTH_${e.toUpperCase()}_JWKS_KEYS`],issuer_url:NT[`AUTH_${e.toUpperCase()}_ISSUER_URL`],admin_key:NT[`AUTH_${e.toUpperCase()}_JWT_ADMIN_KEY`],app_key:NT[`AUTH_${e.toUpperCase()}_JWT_APP_KEY`],role_key:NT[`AUTH_${e.toUpperCase()}_JWT_ROLE_KEY`],client_id:NT[`AUTH_${e.toUpperCase()}_CLIENT_ID`],client_secret:NT[`AUTH_${e.toUpperCase()}_CLIENT_SECRET`],use_database:NT[`AUTH_${e.toUpperCase()}_JWT_USEDB`]})));if(0===r.length)return e([]);const n=[];for(const e of r)switch(e.driver){case"openid":case"oauth2":if(!e.trusted||null==e.issuer_url&&null==e.jwks_url&&null==e.jwks_keys)break;n.push(XT(e))}Promise.all(n).then((t=>{e(t)})).catch((e=>{t(e)}))}))}();async function WL(e,t,r,n){if(null==r&&(r={user:null,role:null,admin:!1,app:!1}),null==e||null==t)return r;const i=UL.filter((e=>e.issuer_url&&t.includes(e.issuer_url)));if(0===i.length)return r;if(i.length>1)return r;const s=i[0];try{const t=await function(e,t){return new Promise(((r,n)=>{if(void 0===e.JWKSClient)return n("JWKSClient not initialized");c$.verify(t,((t,r)=>{e.JWKSClient?.getSigningKey(t.kid,((e,t)=>{const n=t?.getPublicKey();r(e,n)}))}),{complete:!1},((e,t)=>e||void 0===t||"string"==typeof t?n(e):r(t)))}))}(s,e);if(s.use_database){if(FL()&&t.sub){const e=await async function(e){return null===KL?null:KL.get(e)}(t.sub);if(e)return e}const e=await n.select("directus_users.id","directus_users.role","directus_roles.admin_access","directus_roles.app_access").from("directus_users").leftJoin("directus_roles","directus_users.role","directus_roles.id").where({"directus_users.external_identifier":t.sub,"directus_users.provider":s.name}).first();return e?(r.user=e.id,r.role=e.role,r.admin=!0===e.admin_access||1==e.admin_access,r.app=!0===e.app_access||1==e.app_access,FL()&&t.sub&&async function(e,t){null!==KL&&KL.set(e,t)}(t.sub,r),r):r}null!=s.role_key&&("string"==typeof t[s.role_key]&&(r.role=t[s.role_key]),"object"==typeof t[s.role_key]&&(r.role=""),t[s.role_key].instanceOf(Array)&&(r.role=t[s.role_key][0])),null!=s.admin_key&&(r.admin=t[s.admin_key]),null!=s.app_key&&(r.app=t[s.app_key]),r.user=t.sub}catch(e){return r}return r}var JL=({filter:e})=>{e("authenticate",((e,t,r)=>{const n=t.req;if(!n.token)return e;if(!r.database)return e;const i=c$.decode(n.token);return"string"==typeof i||null==i||"directus"==i?.iss?e:WL(n.token,i?.iss,r.accountability,r.database)}))};export{JL as default};