@umijs/deps
Version:
[](https://packagephobia.now.sh/result?p=@umijs/deps)
1 lines • 73.1 kB
JavaScript
module.exports=(()=>{var e={848:e=>{"use strict";var t=Object.prototype.hasOwnProperty,r="~";function Events(){}if(Object.create){Events.prototype=Object.create(null);if(!(new Events).__proto__)r=false}function EE(e,t,r){this.fn=e;this.context=t;this.once=r||false}function addListener(e,t,n,o,s){if(typeof n!=="function"){throw new TypeError("The listener must be a function")}var i=new EE(n,o||e,s),u=r?r+t:t;if(!e._events[u])e._events[u]=i,e._eventsCount++;else if(!e._events[u].fn)e._events[u].push(i);else e._events[u]=[e._events[u],i];return e}function clearEvent(e,t){if(--e._eventsCount===0)e._events=new Events;else delete e._events[t]}function EventEmitter(){this._events=new Events;this._eventsCount=0}EventEmitter.prototype.eventNames=function eventNames(){var e=[],n,o;if(this._eventsCount===0)return e;for(o in n=this._events){if(t.call(n,o))e.push(r?o.slice(1):o)}if(Object.getOwnPropertySymbols){return e.concat(Object.getOwnPropertySymbols(n))}return e};EventEmitter.prototype.listeners=function listeners(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++){i[o]=n[o].fn}return i};EventEmitter.prototype.listenerCount=function listenerCount(e){var t=r?r+e:e,n=this._events[t];if(!n)return 0;if(n.fn)return 1;return n.length};EventEmitter.prototype.emit=function emit(e,t,n,o,s,i){var u=r?r+e:e;if(!this._events[u])return false;var a=this._events[u],c=arguments.length,l,f;if(a.fn){if(a.once)this.removeListener(e,a.fn,undefined,true);switch(c){case 1:return a.fn.call(a.context),true;case 2:return a.fn.call(a.context,t),true;case 3:return a.fn.call(a.context,t,n),true;case 4:return a.fn.call(a.context,t,n,o),true;case 5:return a.fn.call(a.context,t,n,o,s),true;case 6:return a.fn.call(a.context,t,n,o,s,i),true}for(f=1,l=new Array(c-1);f<c;f++){l[f-1]=arguments[f]}a.fn.apply(a.context,l)}else{var p=a.length,h;for(f=0;f<p;f++){if(a[f].once)this.removeListener(e,a[f].fn,undefined,true);switch(c){case 1:a[f].fn.call(a[f].context);break;case 2:a[f].fn.call(a[f].context,t);break;case 3:a[f].fn.call(a[f].context,t,n);break;case 4:a[f].fn.call(a[f].context,t,n,o);break;default:if(!l)for(h=1,l=new Array(c-1);h<c;h++){l[h-1]=arguments[h]}a[f].fn.apply(a[f].context,l)}}}return true};EventEmitter.prototype.on=function on(e,t,r){return addListener(this,e,t,r,false)};EventEmitter.prototype.once=function once(e,t,r){return addListener(this,e,t,r,true)};EventEmitter.prototype.removeListener=function removeListener(e,t,n,o){var s=r?r+e:e;if(!this._events[s])return this;if(!t){clearEvent(this,s);return this}var i=this._events[s];if(i.fn){if(i.fn===t&&(!o||i.once)&&(!n||i.context===n)){clearEvent(this,s)}}else{for(var u=0,a=[],c=i.length;u<c;u++){if(i[u].fn!==t||o&&!i[u].once||n&&i[u].context!==n){a.push(i[u])}}if(a.length)this._events[s]=a.length===1?a[0]:a;else clearEvent(this,s)}return this};EventEmitter.prototype.removeAllListeners=function removeAllListeners(e){var t;if(e){t=r?r+e:e;if(this._events[t])clearEvent(this,t)}else{this._events=new Events;this._eventsCount=0}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.addListener=EventEmitter.prototype.on;EventEmitter.prefixed=r;EventEmitter.EventEmitter=EventEmitter;if(true){e.exports=EventEmitter}},133:(e,t,r)=>{var n;try{n=r(492)("follow-redirects")}catch(e){n=function(){}}e.exports=n},707:(e,t,r)=>{var n=r(835);var o=n.URL;var s=r(605);var i=r(211);var u=r(413).Writable;var a=r(357);var c=r(133);var l=Object.create(null);["abort","aborted","connect","error","socket","timeout"].forEach(function(e){l[e]=function(t,r,n){this._redirectable.emit(e,t,r,n)}});var f=createErrorType("ERR_FR_REDIRECTION_FAILURE","");var p=createErrorType("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded");var h=createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit");var d=createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");function RedirectableRequest(e,t){u.call(this);this._sanitizeOptions(e);this._options=e;this._ended=false;this._ending=false;this._redirectCount=0;this._redirects=[];this._requestBodyLength=0;this._requestBodyBuffers=[];if(t){this.on("response",t)}var r=this;this._onNativeResponse=function(e){r._processResponse(e)};this._performRequest()}RedirectableRequest.prototype=Object.create(u.prototype);RedirectableRequest.prototype.write=function(e,t,r){if(this._ending){throw new d}if(!(typeof e==="string"||typeof e==="object"&&"length"in e)){throw new TypeError("data should be a string, Buffer or Uint8Array")}if(typeof t==="function"){r=t;t=null}if(e.length===0){if(r){r()}return}if(this._requestBodyLength+e.length<=this._options.maxBodyLength){this._requestBodyLength+=e.length;this._requestBodyBuffers.push({data:e,encoding:t});this._currentRequest.write(e,t,r)}else{this.emit("error",new h);this.abort()}};RedirectableRequest.prototype.end=function(e,t,r){if(typeof e==="function"){r=e;e=t=null}else if(typeof t==="function"){r=t;t=null}if(!e){this._ended=this._ending=true;this._currentRequest.end(null,null,r)}else{var n=this;var o=this._currentRequest;this.write(e,t,function(){n._ended=true;o.end(null,null,r)});this._ending=true}};RedirectableRequest.prototype.setHeader=function(e,t){this._options.headers[e]=t;this._currentRequest.setHeader(e,t)};RedirectableRequest.prototype.removeHeader=function(e){delete this._options.headers[e];this._currentRequest.removeHeader(e)};RedirectableRequest.prototype.setTimeout=function(e,t){if(t){this.once("timeout",t)}if(this.socket){startTimer(this,e)}else{var r=this;this._currentRequest.once("socket",function(){startTimer(r,e)})}this.once("response",clearTimer);this.once("error",clearTimer);return this};function startTimer(e,t){clearTimeout(e._timeout);e._timeout=setTimeout(function(){e.emit("timeout")},t)}function clearTimer(){clearTimeout(this._timeout)}["abort","flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){RedirectableRequest.prototype[e]=function(t,r){return this._currentRequest[e](t,r)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(RedirectableRequest.prototype,e,{get:function(){return this._currentRequest[e]}})});RedirectableRequest.prototype._sanitizeOptions=function(e){if(!e.headers){e.headers={}}if(e.host){if(!e.hostname){e.hostname=e.host}delete e.host}if(!e.pathname&&e.path){var t=e.path.indexOf("?");if(t<0){e.pathname=e.path}else{e.pathname=e.path.substring(0,t);e.search=e.path.substring(t)}}};RedirectableRequest.prototype._performRequest=function(){var e=this._options.protocol;var t=this._options.nativeProtocols[e];if(!t){this.emit("error",new TypeError("Unsupported protocol "+e));return}if(this._options.agents){var r=e.substr(0,e.length-1);this._options.agent=this._options.agents[r]}var o=this._currentRequest=t.request(this._options,this._onNativeResponse);this._currentUrl=n.format(this._options);o._redirectable=this;for(var s in l){if(s){o.on(s,l[s])}}if(this._isRedirect){var i=0;var u=this;var a=this._requestBodyBuffers;(function writeNext(e){if(o===u._currentRequest){if(e){u.emit("error",e)}else if(i<a.length){var t=a[i++];if(!o.finished){o.write(t.data,t.encoding,writeNext)}}else if(u._ended){o.end()}}})()}};RedirectableRequest.prototype._processResponse=function(e){var t=e.statusCode;if(this._options.trackRedirects){this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:t})}var r=e.headers.location;if(r&&this._options.followRedirects!==false&&t>=300&&t<400){this._currentRequest.removeAllListeners();this._currentRequest.on("error",noop);this._currentRequest.abort();e.destroy();if(++this._redirectCount>this._options.maxRedirects){this.emit("error",new p);return}if((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method)){this._options.method="GET";this._requestBodyBuffers=[];removeMatchingHeaders(/^content-/i,this._options.headers)}var o=removeMatchingHeaders(/^host$/i,this._options.headers)||n.parse(this._currentUrl).hostname;var s=n.resolve(this._currentUrl,r);c("redirecting to",s);this._isRedirect=true;var i=n.parse(s);Object.assign(this._options,i);if(i.hostname!==o){removeMatchingHeaders(/^authorization$/i,this._options.headers)}if(typeof this._options.beforeRedirect==="function"){var u={headers:e.headers};try{this._options.beforeRedirect.call(null,this._options,u)}catch(e){this.emit("error",e);return}this._sanitizeOptions(this._options)}try{this._performRequest()}catch(e){var a=new f("Redirected request failed: "+e.message);a.cause=e;this.emit("error",a)}}else{e.responseUrl=this._currentUrl;e.redirects=this._redirects;this.emit("response",e);this._requestBodyBuffers=[]}};function wrap(e){var t={maxRedirects:21,maxBodyLength:10*1024*1024};var r={};Object.keys(e).forEach(function(s){var i=s+":";var u=r[i]=e[s];var l=t[s]=Object.create(u);function request(e,s,u){if(typeof e==="string"){var l=e;try{e=urlToOptions(new o(l))}catch(t){e=n.parse(l)}}else if(o&&e instanceof o){e=urlToOptions(e)}else{u=s;s=e;e={protocol:i}}if(typeof s==="function"){u=s;s=null}s=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},e,s);s.nativeProtocols=r;a.equal(s.protocol,i,"protocol mismatch");c("options",s);return new RedirectableRequest(s,u)}function get(e,t,r){var n=l.request(e,t,r);n.end();return n}Object.defineProperties(l,{request:{value:request,configurable:true,enumerable:true,writable:true},get:{value:get,configurable:true,enumerable:true,writable:true}})});return t}function noop(){}function urlToOptions(e){var t={protocol:e.protocol,hostname:e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,hash:e.hash,search:e.search,pathname:e.pathname,path:e.pathname+e.search,href:e.href};if(e.port!==""){t.port=Number(e.port)}return t}function removeMatchingHeaders(e,t){var r;for(var n in t){if(e.test(n)){r=t[n];delete t[n]}}return r}function createErrorType(e,t){function CustomError(e){Error.captureStackTrace(this,this.constructor);this.message=e||t}CustomError.prototype=new Error;CustomError.prototype.constructor=CustomError;CustomError.prototype.name="Error ["+e+"]";CustomError.prototype.code=e;return CustomError}e.exports=wrap({http:s,https:i});e.exports.wrap=wrap},714:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createConfig=void 0;const n=r(894);const o=r(835);const s=r(699);const i=r(862);const u=i.getInstance();function createConfig(e,t){const r={context:undefined,options:{}};if(isContextless(e,t)){r.context="/";r.options=n.assign(r.options,e)}else if(isStringShortHand(e)){const s=o.parse(e);const i=[s.protocol,"//",s.host].join("");r.context=s.pathname||"/";r.options=n.assign(r.options,{target:i},t);if(s.protocol==="ws:"||s.protocol==="wss:"){r.options.ws=true}}else{r.context=e;r.options=n.assign(r.options,t)}configureLogger(r.options);if(!r.options.target){throw new Error(s.ERRORS.ERR_CONFIG_FACTORY_TARGET_MISSING)}return r}t.createConfig=createConfig;function isStringShortHand(e){if(n.isString(e)){return!!o.parse(e).host}}function isContextless(e,t){return n.isPlainObject(e)&&n.isEmpty(t)}function configureLogger(e){if(e.logLevel){u.setLevel(e.logLevel)}if(e.logProvider){u.setProvider(e.logProvider)}}},283:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.match=void 0;const n=r(466);const o=r(894);const s=r(245);const i=r(835);const u=r(699);function match(e,t,r){if(isStringPath(e)){return matchSingleStringPath(e,t)}if(isGlobPath(e)){return matchSingleGlobPath(e,t)}if(Array.isArray(e)){if(e.every(isStringPath)){return matchMultiPath(e,t)}if(e.every(isGlobPath)){return matchMultiGlobPath(e,t)}throw new Error(u.ERRORS.ERR_CONTEXT_MATCHER_INVALID_ARRAY)}if(o.isFunction(e)){const n=getUrlPathName(t);return e(n,r)}throw new Error(u.ERRORS.ERR_CONTEXT_MATCHER_GENERIC)}t.match=match;function matchSingleStringPath(e,t){const r=getUrlPathName(t);return r.indexOf(e)===0}function matchSingleGlobPath(e,t){const r=getUrlPathName(t);const n=s([r],e);return n&&n.length>0}function matchMultiGlobPath(e,t){return matchSingleGlobPath(e,t)}function matchMultiPath(e,t){let r=false;for(const n of e){if(matchSingleStringPath(n,t)){r=true;break}}return r}function getUrlPathName(e){return e&&i.parse(e).pathname}function isStringPath(e){return o.isString(e)&&!n(e)}function isGlobPath(e){return n(e)}},699:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ERRORS=void 0;var r;(function(e){e["ERR_CONFIG_FACTORY_TARGET_MISSING"]='[HPM] Missing "target" option. Example: {target: "http://www.example.org"}';e["ERR_CONTEXT_MATCHER_GENERIC"]='[HPM] Invalid context. Expecting something like: "/api" or ["/api", "/ajax"]';e["ERR_CONTEXT_MATCHER_INVALID_ARRAY"]='[HPM] Invalid context. Expecting something like: ["/api", "/ajax"] or ["/api/**", "!**.html"]';e["ERR_PATH_REWRITER_CONFIG"]="[HPM] Invalid pathRewrite config. Expecting object with pathRewrite config or a rewrite function"})(r=t.ERRORS||(t.ERRORS={}))},287:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getHandlers=t.init=void 0;const n=r(894);const o=r(862);const s=o.getInstance();function init(e,t){const r=getHandlers(t);for(const t of Object.keys(r)){e.on(t,r[t])}s.debug("[HPM] Subscribed to http-proxy events:",Object.keys(r))}t.init=init;function getHandlers(e){const t=["error","proxyReq","proxyReqWs","proxyRes","open","close"];const r={};for(const o of t){const t=n.camelCase("on "+o);const s=n.get(e,t);if(n.isFunction(s)){r[o]=s}}if(!n.isFunction(r.error)){r.error=defaultErrorHandler}if(!n.isFunction(r.close)){r.close=logClose}return r}t.getHandlers=getHandlers;function defaultErrorHandler(e,t,r){const n=t.headers&&t.headers.host;const o=e.code;if(r.writeHead&&!r.headersSent){if(/HPE_INVALID/.test(o)){r.writeHead(502)}else{switch(o){case"ECONNRESET":case"ENOTFOUND":case"ECONNREFUSED":r.writeHead(504);break;default:r.writeHead(500)}}}r.end("Error occured while trying to proxy to: "+n+t.url)}function logClose(e,t,r){s.info("[HPM] Client disconnected")}},397:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});t.HttpProxyMiddleware=void 0;const o=r(226);const s=r(894);const i=r(714);const u=r(283);const a=r(287);const c=r(862);const l=r(824);const f=r(718);class HttpProxyMiddleware{constructor(e,t){this.logger=c.getInstance();this.wsInternalSubscribed=false;this.middleware=((e,t,r)=>n(this,void 0,void 0,function*(){if(this.shouldProxy(this.config.context,e)){try{const n=yield this.prepareProxyRequest(e);this.proxy.web(e,t,n)}catch(e){r(e)}}else{r()}if(this.proxyOptions.ws===true){this.catchUpgradeRequest(e.connection.server)}}));this.catchUpgradeRequest=(e=>{if(!this.wsInternalSubscribed){e.on("upgrade",this.handleUpgrade);this.wsInternalSubscribed=true}});this.handleUpgrade=((e,t,r)=>n(this,void 0,void 0,function*(){if(this.shouldProxy(this.config.context,e)){const n=yield this.prepareProxyRequest(e);this.proxy.ws(e,t,r,n);this.logger.info("[HPM] Upgrading to WebSocket")}}));this.shouldProxy=((e,t)=>{const r=t.originalUrl||t.url;return u.match(e,r,t)});this.prepareProxyRequest=(e=>n(this,void 0,void 0,function*(){e.url=e.originalUrl||e.url;const t=e.url;const r=s.assign({},this.proxyOptions);yield this.applyRouter(e,r);yield this.applyPathRewrite(e,this.pathRewriter);if(this.proxyOptions.logLevel==="debug"){const n=c.getArrow(t,e.url,this.proxyOptions.target,r.target);this.logger.debug("[HPM] %s %s %s %s",e.method,t,n,r.target)}return r}));this.applyRouter=((e,t)=>n(this,void 0,void 0,function*(){let r;if(t.router){r=yield f.getTarget(e,t);if(r){this.logger.debug('[HPM] Router new target: %s -> "%s"',t.target,r);t.target=r}}}));this.applyPathRewrite=((e,t)=>n(this,void 0,void 0,function*(){if(t){const r=yield t(e.url,e);if(typeof r==="string"){e.url=r}else{this.logger.info("[HPM] pathRewrite: No rewritten path found. (%s)",e.url)}}}));this.logError=((e,t,r)=>{const n=t.headers&&t.headers.host||t.hostname||t.host;const o=this.proxyOptions.target.host||this.proxyOptions.target;const s="[HPM] Error occurred while trying to proxy request %s from %s to %s (%s) (%s)";const i="https://nodejs.org/api/errors.html#errors_common_system_errors";this.logger.error(s,t.url,n,o,e.code||e,i)});this.config=i.createConfig(e,t);this.proxyOptions=this.config.options;this.proxy=o.createProxyServer({});this.logger.info(`[HPM] Proxy created: ${this.config.context} -> ${this.proxyOptions.target}`);this.pathRewriter=l.createPathRewriter(this.proxyOptions.pathRewrite);a.init(this.proxy,this.proxyOptions);this.proxy.on("error",this.logError);this.middleware.upgrade=((e,t,r)=>{if(!this.wsInternalSubscribed){this.handleUpgrade(e,t,r)}})}}t.HttpProxyMiddleware=HttpProxyMiddleware},38:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createProxyMiddleware=void 0;const n=r(397);function createProxyMiddleware(e,t){const{middleware:r}=new n.HttpProxyMiddleware(e,t);return r}t.createProxyMiddleware=createProxyMiddleware},862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getArrow=t.getInstance=void 0;const n=r(894);const o=r(669);let s;const i={log:console.log,debug:console.log,info:console.info,warn:console.warn,error:console.error};var u;(function(e){e[e["debug"]=10]="debug";e[e["info"]=20]="info";e[e["warn"]=30]="warn";e[e["error"]=50]="error";e[e["silent"]=80]="silent"})(u||(u={}));function getInstance(){if(!s){s=new Logger}return s}t.getInstance=getInstance;class Logger{constructor(){this.setLevel("info");this.setProvider(()=>i)}log(){this.provider.log(this._interpolate.apply(null,arguments))}debug(){if(this._showLevel("debug")){this.provider.debug(this._interpolate.apply(null,arguments))}}info(){if(this._showLevel("info")){this.provider.info(this._interpolate.apply(null,arguments))}}warn(){if(this._showLevel("warn")){this.provider.warn(this._interpolate.apply(null,arguments))}}error(){if(this._showLevel("error")){this.provider.error(this._interpolate.apply(null,arguments))}}setLevel(e){if(this.isValidLevel(e)){this.logLevel=e}}setProvider(e){if(e&&this.isValidProvider(e)){this.provider=e(i)}}isValidProvider(e){const t=true;if(e&&!n.isFunction(e)){throw new Error("[HPM] Log provider config error. Expecting a function.")}return t}isValidLevel(e){const t=Object.keys(u);const r=t.includes(e);if(!r){throw new Error("[HPM] Log level error. Invalid logLevel.")}return r}_showLevel(e){let t=false;const r=u[this.logLevel];if(r&&r<=u[e]){t=true}return t}_interpolate(){const e=n.spread(o.format);const t=e(n.slice(arguments));return t}}function getArrow(e,t,r,n){const o=[">"];const s=r!==n;const i=e!==t;if(i&&!s){o.unshift("~")}else if(!i&&s){o.unshift("=")}else if(i&&s){o.unshift("≈")}else{o.unshift("-")}return o.join("")}t.getArrow=getArrow},824:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createPathRewriter=void 0;const n=r(894);const o=r(699);const s=r(862);const i=s.getInstance();function createPathRewriter(e){let t;if(!isValidRewriteConfig(e)){return}if(n.isFunction(e)){const t=e;return t}else{t=parsePathRewriteRules(e);return rewritePath}function rewritePath(e){let r=e;n.forEach(t,t=>{if(t.regex.test(e)){r=r.replace(t.regex,t.value);i.debug('[HPM] Rewriting path from "%s" to "%s"',e,r);return false}});return r}}t.createPathRewriter=createPathRewriter;function isValidRewriteConfig(e){if(n.isFunction(e)){return true}else if(!n.isEmpty(e)&&n.isPlainObject(e)){return true}else if(n.isUndefined(e)||n.isNull(e)||n.isEqual(e,{})){return false}else{throw new Error(o.ERRORS.ERR_PATH_REWRITER_CONFIG)}}function parsePathRewriteRules(e){const t=[];if(n.isPlainObject(e)){n.forIn(e,(r,n)=>{t.push({regex:new RegExp(n),value:e[n]});i.info('[HPM] Proxy rewrite rule created: "%s" ~> "%s"',n,e[n])})}return t}},718:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:true});t.getTarget=void 0;const o=r(894);const s=r(862);const i=s.getInstance();function getTarget(e,t){return n(this,void 0,void 0,function*(){let r;const n=t.router;if(o.isPlainObject(n)){r=getTargetFromProxyTable(e,n)}else if(o.isFunction(n)){r=yield n(e)}return r})}t.getTarget=getTarget;function getTargetFromProxyTable(e,t){let r;const n=e.headers.host;const s=e.url;const u=n+s;o.forIn(t,(e,o)=>{if(containsPath(o)){if(u.indexOf(o)>-1){r=t[o];i.debug('[HPM] Router table match: "%s"',o);return false}}else{if(o===n){r=t[o];i.debug('[HPM] Router table match: "%s"',n);return false}}});return r}function containsPath(e){return e.indexOf("/")>-1}},870:(e,t,r)=>{"use strict";const n=r(98);const o=r(522);const s=r(957);const i=r(588);const u=(e,t={})=>{let r=[];if(Array.isArray(e)){for(let n of e){let e=u.create(n,t);if(Array.isArray(e)){r.push(...e)}else{r.push(e)}}}else{r=[].concat(u.create(e,t))}if(t&&t.expand===true&&t.nodupes===true){r=[...new Set(r)]}return r};u.parse=((e,t={})=>i(e,t));u.stringify=((e,t={})=>{if(typeof e==="string"){return n(u.parse(e,t),t)}return n(e,t)});u.compile=((e,t={})=>{if(typeof e==="string"){e=u.parse(e,t)}return o(e,t)});u.expand=((e,t={})=>{if(typeof e==="string"){e=u.parse(e,t)}let r=s(e,t);if(t.noempty===true){r=r.filter(Boolean)}if(t.nodupes===true){r=[...new Set(r)]}return r});u.create=((e,t={})=>{if(e===""||e.length<3){return[e]}return t.expand!==true?u.compile(e,t):u.expand(e,t)});e.exports=u},522:(e,t,r)=>{"use strict";const n=r(694);const o=r(600);const s=(e,t={})=>{let r=(e,s={})=>{let i=o.isInvalidBrace(s);let u=e.invalid===true&&t.escapeInvalid===true;let a=i===true||u===true;let c=t.escapeInvalid===true?"\\":"";let l="";if(e.isOpen===true){return c+e.value}if(e.isClose===true){return c+e.value}if(e.type==="open"){return a?c+e.value:"("}if(e.type==="close"){return a?c+e.value:")"}if(e.type==="comma"){return e.prev.type==="comma"?"":a?e.value:"|"}if(e.value){return e.value}if(e.nodes&&e.ranges>0){let r=o.reduce(e.nodes);let s=n(...r,{...t,wrap:false,toRegex:true});if(s.length!==0){return r.length>1&&s.length>1?`(${s})`:s}}if(e.nodes){for(let t of e.nodes){l+=r(t,e)}}return l};return r(e)};e.exports=s},543:e=>{"use strict";e.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:"\n",CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"}},957:(e,t,r)=>{"use strict";const n=r(694);const o=r(98);const s=r(600);const i=(e="",t="",r=false)=>{let n=[];e=[].concat(e);t=[].concat(t);if(!t.length)return e;if(!e.length){return r?s.flatten(t).map(e=>`{${e}}`):t}for(let o of e){if(Array.isArray(o)){for(let e of o){n.push(i(e,t,r))}}else{for(let e of t){if(r===true&&typeof e==="string")e=`{${e}}`;n.push(Array.isArray(e)?i(o,e,r):o+e)}}}return s.flatten(n)};const u=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit;let u=(e,a={})=>{e.queue=[];let c=a;let l=a.queue;while(c.type!=="brace"&&c.type!=="root"&&c.parent){c=c.parent;l=c.queue}if(e.invalid||e.dollar){l.push(i(l.pop(),o(e,t)));return}if(e.type==="brace"&&e.invalid!==true&&e.nodes.length===2){l.push(i(l.pop(),["{}"]));return}if(e.nodes&&e.ranges>0){let u=s.reduce(e.nodes);if(s.exceedsLimit(...u,t.step,r)){throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.")}let a=n(...u,t);if(a.length===0){a=o(e,t)}l.push(i(l.pop(),a));e.nodes=[];return}let f=s.encloseBrace(e);let p=e.queue;let h=e;while(h.type!=="brace"&&h.type!=="root"&&h.parent){h=h.parent;p=h.queue}for(let t=0;t<e.nodes.length;t++){let r=e.nodes[t];if(r.type==="comma"&&e.type==="brace"){if(t===1)p.push("");p.push("");continue}if(r.type==="close"){l.push(i(l.pop(),p,f));continue}if(r.value&&r.type!=="open"){p.push(i(p.pop(),r.value));continue}if(r.nodes){u(r,e)}}return p};return s.flatten(u(e))};e.exports=u},588:(e,t,r)=>{"use strict";const n=r(98);const{MAX_LENGTH:o,CHAR_BACKSLASH:s,CHAR_BACKTICK:i,CHAR_COMMA:u,CHAR_DOT:a,CHAR_LEFT_PARENTHESES:c,CHAR_RIGHT_PARENTHESES:l,CHAR_LEFT_CURLY_BRACE:f,CHAR_RIGHT_CURLY_BRACE:p,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_RIGHT_SQUARE_BRACKET:d,CHAR_DOUBLE_QUOTE:g,CHAR_SINGLE_QUOTE:R,CHAR_NO_BREAK_SPACE:_,CHAR_ZERO_WIDTH_NOBREAK_SPACE:y}=r(543);const E=(e,t={})=>{if(typeof e!=="string"){throw new TypeError("Expected a string")}let r=t||{};let E=typeof r.maxLength==="number"?Math.min(o,r.maxLength):o;if(e.length>E){throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${E})`)}let v={type:"root",input:e,nodes:[]};let A=[v];let m=v;let x=v;let w=0;let C=e.length;let b=0;let S=0;let H;let T={};const P=()=>e[b++];const O=e=>{if(e.type==="text"&&x.type==="dot"){x.type="text"}if(x&&x.type==="text"&&e.type==="text"){x.value+=e.value;return}m.nodes.push(e);e.parent=m;e.prev=x;x=e;return e};O({type:"bos"});while(b<C){m=A[A.length-1];H=P();if(H===y||H===_){continue}if(H===s){O({type:"text",value:(t.keepEscaping?H:"")+P()});continue}if(H===d){O({type:"text",value:"\\"+H});continue}if(H===h){w++;let e=true;let t;while(b<C&&(t=P())){H+=t;if(t===h){w++;continue}if(t===s){H+=P();continue}if(t===d){w--;if(w===0){break}}}O({type:"text",value:H});continue}if(H===c){m=O({type:"paren",nodes:[]});A.push(m);O({type:"text",value:H});continue}if(H===l){if(m.type!=="paren"){O({type:"text",value:H});continue}m=A.pop();O({type:"text",value:H});m=A[A.length-1];continue}if(H===g||H===R||H===i){let e=H;let r;if(t.keepQuotes!==true){H=""}while(b<C&&(r=P())){if(r===s){H+=r+P();continue}if(r===e){if(t.keepQuotes===true)H+=r;break}H+=r}O({type:"text",value:H});continue}if(H===f){S++;let e=x.value&&x.value.slice(-1)==="$"||m.dollar===true;let t={type:"brace",open:true,close:false,dollar:e,depth:S,commas:0,ranges:0,nodes:[]};m=O(t);A.push(m);O({type:"open",value:H});continue}if(H===p){if(m.type!=="brace"){O({type:"text",value:H});continue}let e="close";m=A.pop();m.close=true;O({type:e,value:H});S--;m=A[A.length-1];continue}if(H===u&&S>0){if(m.ranges>0){m.ranges=0;let e=m.nodes.shift();m.nodes=[e,{type:"text",value:n(m)}]}O({type:"comma",value:H});m.commas++;continue}if(H===a&&S>0&&m.commas===0){let e=m.nodes;if(S===0||e.length===0){O({type:"text",value:H});continue}if(x.type==="dot"){m.range=[];x.value+=H;x.type="range";if(m.nodes.length!==3&&m.nodes.length!==5){m.invalid=true;m.ranges=0;x.type="text";continue}m.ranges++;m.args=[];continue}if(x.type==="range"){e.pop();let t=e[e.length-1];t.value+=x.value+H;x=t;m.ranges--;continue}O({type:"dot",value:H});continue}O({type:"text",value:H})}do{m=A.pop();if(m.type!=="root"){m.nodes.forEach(e=>{if(!e.nodes){if(e.type==="open")e.isOpen=true;if(e.type==="close")e.isClose=true;if(!e.nodes)e.type="text";e.invalid=true}});let e=A[A.length-1];let t=e.nodes.indexOf(m);e.nodes.splice(t,1,...m.nodes)}}while(A.length>0);O({type:"eos"});return v};e.exports=E},98:(e,t,r)=>{"use strict";const n=r(600);e.exports=((e,t={})=>{let r=(e,o={})=>{let s=t.escapeInvalid&&n.isInvalidBrace(o);let i=e.invalid===true&&t.escapeInvalid===true;let u="";if(e.value){if((s||i)&&n.isOpenOrClose(e)){return"\\"+e.value}return e.value}if(e.value){return e.value}if(e.nodes){for(let t of e.nodes){u+=r(t)}}return u};return r(e)})},600:(e,t)=>{"use strict";t.isInteger=(e=>{if(typeof e==="number"){return Number.isInteger(e)}if(typeof e==="string"&&e.trim()!==""){return Number.isInteger(Number(e))}return false});t.find=((e,t)=>e.nodes.find(e=>e.type===t));t.exceedsLimit=((e,r,n=1,o)=>{if(o===false)return false;if(!t.isInteger(e)||!t.isInteger(r))return false;return(Number(r)-Number(e))/Number(n)>=o});t.escapeNode=((e,t=0,r)=>{let n=e.nodes[t];if(!n)return;if(r&&n.type===r||n.type==="open"||n.type==="close"){if(n.escaped!==true){n.value="\\"+n.value;n.escaped=true}}});t.encloseBrace=(e=>{if(e.type!=="brace")return false;if(e.commas>>0+e.ranges>>0===0){e.invalid=true;return true}return false});t.isInvalidBrace=(e=>{if(e.type!=="brace")return false;if(e.invalid===true||e.dollar)return true;if(e.commas>>0+e.ranges>>0===0){e.invalid=true;return true}if(e.open!==true||e.close!==true){e.invalid=true;return true}return false});t.isOpenOrClose=(e=>{if(e.type==="open"||e.type==="close"){return true}return e.open===true||e.close===true});t.reduce=(e=>e.reduce((e,t)=>{if(t.type==="text")e.push(t.value);if(t.type==="range")t.type="text";return e},[]));t.flatten=((...e)=>{const t=[];const r=e=>{for(let n=0;n<e.length;n++){let o=e[n];Array.isArray(o)?r(o,t):o!==void 0&&t.push(o)}return t};r(e);return t})},694:(e,t,r)=>{"use strict";const n=r(669);const o=r(570);const s=e=>e!==null&&typeof e==="object"&&!Array.isArray(e);const i=e=>{return t=>e===true?Number(t):String(t)};const u=e=>{return typeof e==="number"||typeof e==="string"&&e!==""};const a=e=>Number.isInteger(+e);const c=e=>{let t=`${e}`;let r=-1;if(t[0]==="-")t=t.slice(1);if(t==="0")return false;while(t[++r]==="0");return r>0};const l=(e,t,r)=>{if(typeof e==="string"||typeof t==="string"){return true}return r.stringify===true};const f=(e,t,r)=>{if(t>0){let r=e[0]==="-"?"-":"";if(r)e=e.slice(1);e=r+e.padStart(r?t-1:t,"0")}if(r===false){return String(e)}return e};const p=(e,t)=>{let r=e[0]==="-"?"-":"";if(r){e=e.slice(1);t--}while(e.length<t)e="0"+e;return r?"-"+e:e};const h=(e,t)=>{e.negatives.sort((e,t)=>e<t?-1:e>t?1:0);e.positives.sort((e,t)=>e<t?-1:e>t?1:0);let r=t.capture?"":"?:";let n="";let o="";let s;if(e.positives.length){n=e.positives.join("|")}if(e.negatives.length){o=`-(${r}${e.negatives.join("|")})`}if(n&&o){s=`${n}|${o}`}else{s=n||o}if(t.wrap){return`(${r}${s})`}return s};const d=(e,t,r,n)=>{if(r){return o(e,t,{wrap:false,...n})}let s=String.fromCharCode(e);if(e===t)return s;let i=String.fromCharCode(t);return`[${s}-${i}]`};const g=(e,t,r)=>{if(Array.isArray(e)){let t=r.wrap===true;let n=r.capture?"":"?:";return t?`(${n}${e.join("|")})`:e.join("|")}return o(e,t,r)};const R=(...e)=>{return new RangeError("Invalid range arguments: "+n.inspect(...e))};const _=(e,t,r)=>{if(r.strictRanges===true)throw R([e,t]);return[]};const y=(e,t)=>{if(t.strictRanges===true){throw new TypeError(`Expected step "${e}" to be a number`)}return[]};const E=(e,t,r=1,n={})=>{let o=Number(e);let s=Number(t);if(!Number.isInteger(o)||!Number.isInteger(s)){if(n.strictRanges===true)throw R([e,t]);return[]}if(o===0)o=0;if(s===0)s=0;let u=o>s;let a=String(e);let _=String(t);let y=String(r);r=Math.max(Math.abs(r),1);let E=c(a)||c(_)||c(y);let v=E?Math.max(a.length,_.length,y.length):0;let A=E===false&&l(e,t,n)===false;let m=n.transform||i(A);if(n.toRegex&&r===1){return d(p(e,v),p(t,v),true,n)}let x={negatives:[],positives:[]};let w=e=>x[e<0?"negatives":"positives"].push(Math.abs(e));let C=[];let b=0;while(u?o>=s:o<=s){if(n.toRegex===true&&r>1){w(o)}else{C.push(f(m(o,b),v,A))}o=u?o-r:o+r;b++}if(n.toRegex===true){return r>1?h(x,n):g(C,null,{wrap:false,...n})}return C};const v=(e,t,r=1,n={})=>{if(!a(e)&&e.length>1||!a(t)&&t.length>1){return _(e,t,n)}let o=n.transform||(e=>String.fromCharCode(e));let s=`${e}`.charCodeAt(0);let i=`${t}`.charCodeAt(0);let u=s>i;let c=Math.min(s,i);let l=Math.max(s,i);if(n.toRegex&&r===1){return d(c,l,false,n)}let f=[];let p=0;while(u?s>=i:s<=i){f.push(o(s,p));s=u?s-r:s+r;p++}if(n.toRegex===true){return g(f,null,{wrap:false,options:n})}return f};const A=(e,t,r,n={})=>{if(t==null&&u(e)){return[e]}if(!u(e)||!u(t)){return _(e,t,n)}if(typeof r==="function"){return A(e,t,1,{transform:r})}if(s(r)){return A(e,t,0,r)}let o={...n};if(o.capture===true)o.wrap=true;r=r||o.step||1;if(!a(r)){if(r!=null&&!s(r))return y(r,o);return A(e,t,1,r)}if(a(e)&&a(t)){return E(e,t,r,o)}return v(e,t,Math.max(Math.abs(r),1),o)};e.exports=A},169:e=>{"use strict";e.exports=function(e){if(typeof e==="number"){return e-e===0}if(typeof e==="string"&&e.trim()!==""){return Number.isFinite?Number.isFinite(+e):isFinite(+e)}return false}},245:(e,t,r)=>{"use strict";const n=r(669);const o=r(870);const s=r(569);const i=r(479);const u=e=>typeof e==="string"&&(e===""||e==="./");const a=(e,t,r)=>{t=[].concat(t);e=[].concat(e);let n=new Set;let o=new Set;let i=new Set;let u=0;let a=e=>{i.add(e.output);if(r&&r.onResult){r.onResult(e)}};for(let i=0;i<t.length;i++){let c=s(String(t[i]),{...r,onResult:a},true);let l=c.state.negated||c.state.negatedExtglob;if(l)u++;for(let t of e){let e=c(t,true);let r=l?!e.isMatch:e.isMatch;if(!r)continue;if(l){n.add(e.output)}else{n.delete(e.output);o.add(e.output)}}}let c=u===t.length?[...i]:[...o];let l=c.filter(e=>!n.has(e));if(r&&l.length===0){if(r.failglob===true){throw new Error(`No matches found for "${t.join(", ")}"`)}if(r.nonull===true||r.nullglob===true){return r.unescape?t.map(e=>e.replace(/\\/g,"")):t}}return l};a.match=a;a.matcher=((e,t)=>s(e,t));a.isMatch=((e,t,r)=>s(t,r)(e));a.any=a.isMatch;a.not=((e,t,r={})=>{t=[].concat(t).map(String);let n=new Set;let o=[];let s=e=>{if(r.onResult)r.onResult(e);o.push(e.output)};let i=a(e,t,{...r,onResult:s});for(let e of o){if(!i.includes(e)){n.add(e)}}return[...n]});a.contains=((e,t,r)=>{if(typeof e!=="string"){throw new TypeError(`Expected a string: "${n.inspect(e)}"`)}if(Array.isArray(t)){return t.some(t=>a.contains(e,t,r))}if(typeof t==="string"){if(u(e)||u(t)){return false}if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t)){return true}}return a.isMatch(e,t,{...r,contains:true})});a.matchKeys=((e,t,r)=>{if(!i.isObject(e)){throw new TypeError("Expected the first argument to be an object")}let n=a(Object.keys(e),t,r);let o={};for(let t of n)o[t]=e[t];return o});a.some=((e,t,r)=>{let n=[].concat(e);for(let e of[].concat(t)){let t=s(String(e),r);if(n.some(e=>t(e))){return true}}return false});a.every=((e,t,r)=>{let n=[].concat(e);for(let e of[].concat(t)){let t=s(String(e),r);if(!n.every(e=>t(e))){return false}}return true});a.all=((e,t,r)=>{if(typeof e!=="string"){throw new TypeError(`Expected a string: "${n.inspect(e)}"`)}return[].concat(t).every(t=>s(t,r)(e))});a.capture=((e,t,r)=>{let n=i.isWindows(r);let o=s.makeRe(String(e),{...r,capture:true});let u=o.exec(n?i.toPosixSlashes(t):t);if(u){return u.slice(1).map(e=>e===void 0?"":e)}});a.makeRe=((...e)=>s.makeRe(...e));a.scan=((...e)=>s.scan(...e));a.parse=((e,t)=>{let r=[];for(let n of[].concat(e||[])){for(let e of o(String(n),t)){r.push(s.parse(e,t))}}return r});a.braces=((e,t)=>{if(typeof e!=="string")throw new TypeError("Expected a string");if(t&&t.nobrace===true||!/\{.*\}/.test(e)){return[e]}return o(e,t)});a.braceExpand=((e,t)=>{if(typeof e!=="string")throw new TypeError("Expected a string");return a.braces(e,{...t,expand:true})});e.exports=a},570:(e,t,r)=>{"use strict";const n=r(169);const o=(e,t,r)=>{if(n(e)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(t===void 0||e===t){return String(e)}if(n(t)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let s={relaxZeros:true,...r};if(typeof s.strictZeros==="boolean"){s.relaxZeros=s.strictZeros===false}let i=String(s.relaxZeros);let u=String(s.shorthand);let a=String(s.capture);let c=String(s.wrap);let l=e+":"+t+"="+i+u+a+c;if(o.cache.hasOwnProperty(l)){return o.cache[l].result}let f=Math.min(e,t);let p=Math.max(e,t);if(Math.abs(f-p)===1){let r=e+"|"+t;if(s.capture){return`(${r})`}if(s.wrap===false){return r}return`(?:${r})`}let h=hasPadding(e)||hasPadding(t);let d={min:e,max:t,a:f,b:p};let g=[];let R=[];if(h){d.isPadded=h;d.maxLen=String(d.max).length}if(f<0){let e=p<0?Math.abs(p):1;R=splitToPatterns(e,Math.abs(f),d,s);f=d.a=0}if(p>=0){g=splitToPatterns(f,p,d,s)}d.negatives=R;d.positives=g;d.result=collatePatterns(R,g,s);if(s.capture===true){d.result=`(${d.result})`}else if(s.wrap!==false&&g.length+R.length>1){d.result=`(?:${d.result})`}o.cache[l]=d;return d.result};function collatePatterns(e,t,r){let n=filterPatterns(e,t,"-",false,r)||[];let o=filterPatterns(t,e,"",false,r)||[];let s=filterPatterns(e,t,"-?",true,r)||[];let i=n.concat(s).concat(o);return i.join("|")}function splitToRanges(e,t){let r=1;let n=1;let o=countNines(e,r);let s=new Set([t]);while(e<=o&&o<=t){s.add(o);r+=1;o=countNines(e,r)}o=countZeros(t+1,n)-1;while(e<o&&o<=t){s.add(o);n+=1;o=countZeros(t+1,n)-1}s=[...s];s.sort(compare);return s}function rangeToPattern(e,t,r){if(e===t){return{pattern:e,count:[],digits:0}}let n=zip(e,t);let o=n.length;let s="";let i=0;for(let e=0;e<o;e++){let[t,o]=n[e];if(t===o){s+=t}else if(t!=="0"||o!=="9"){s+=toCharacterClass(t,o,r)}else{i++}}if(i){s+=r.shorthand===true?"\\d":"[0-9]"}return{pattern:s,count:[i],digits:o}}function splitToPatterns(e,t,r,n){let o=splitToRanges(e,t);let s=[];let i=e;let u;for(let e=0;e<o.length;e++){let t=o[e];let a=rangeToPattern(String(i),String(t),n);let c="";if(!r.isPadded&&u&&u.pattern===a.pattern){if(u.count.length>1){u.count.pop()}u.count.push(a.count[0]);u.string=u.pattern+toQuantifier(u.count);i=t+1;continue}if(r.isPadded){c=padZeros(t,r,n)}a.string=c+a.pattern+toQuantifier(a.count);s.push(a);i=t+1;u=a}return s}function filterPatterns(e,t,r,n,o){let s=[];for(let o of e){let{string:e}=o;if(!n&&!contains(t,"string",e)){s.push(r+e)}if(n&&contains(t,"string",e)){s.push(r+e)}}return s}function zip(e,t){let r=[];for(let n=0;n<e.length;n++)r.push([e[n],t[n]]);return r}function compare(e,t){return e>t?1:t>e?-1:0}function contains(e,t,r){return e.some(e=>e[t]===r)}function countNines(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function countZeros(e,t){return e-e%Math.pow(10,t)}function toQuantifier(e){let[t=0,r=""]=e;if(r||t>1){return`{${t+(r?","+r:"")}}`}return""}function toCharacterClass(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function hasPadding(e){return/^-?(0+)\d/.test(e)}function padZeros(e,t,r){if(!t.isPadded){return e}let n=Math.abs(t.maxLen-String(e).length);let o=r.relaxZeros!==false;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:{return o?`0{0,${n}}`:`0{${n}}`}}}o.cache={};o.clearCache=(()=>o.cache={});e.exports=o},226:(e,t,r)=>{e.exports=r(881)},881:(e,t,r)=>{var n=r(783).Server;function createProxyServer(e){return new n(e)}n.createProxyServer=createProxyServer;n.createServer=createProxyServer;n.createProxy=createProxyServer;e.exports=n},879:(e,t,r)=>{var n=t,o=r(835),s=r(669)._extend,i=r(742);var u=/(^|,)\s*upgrade\s*($|,)/i,a=/^https|wss/;n.isSSL=a;n.setupOutgoing=function(e,t,r,c){e.port=t[c||"target"].port||(a.test(t[c||"target"].protocol)?443:80);["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(r){e[r]=t[c||"target"][r]});e.method=t.method||r.method;e.headers=s({},r.headers);if(t.headers){s(e.headers,t.headers)}if(t.auth){e.auth=t.auth}if(t.ca){e.ca=t.ca}if(a.test(t[c||"target"].protocol)){e.rejectUnauthorized=typeof t.secure==="undefined"?true:t.secure}e.agent=t.agent||false;e.localAddress=t.localAddress;if(!e.agent){e.headers=e.headers||{};if(typeof e.headers.connection!=="string"||!u.test(e.headers.connection)){e.headers.connection="close"}}var l=t[c||"target"];var f=l&&t.prependPath!==false?l.path||"":"";var p=!t.toProxy?o.parse(r.url).path||"":r.url;p=!t.ignorePath?p:"";e.path=n.urlJoin(f,p);if(t.changeOrigin){e.headers.host=i(e.port,t[c||"target"].protocol)&&!hasPort(e.host)?e.host+":"+e.port:e.host}return e};n.setupSocket=function(e){e.setTimeout(0);e.setNoDelay(true);e.setKeepAlive(true,0);return e};n.getPort=function(e){var t=e.headers.host?e.headers.host.match(/:(\d+)/):"";return t?t[1]:n.hasEncryptedConnection(e)?"443":"80"};n.hasEncryptedConnection=function(e){return Boolean(e.connection.encrypted||e.connection.pair)};n.urlJoin=function(){var e=Array.prototype.slice.call(arguments),t=e.length-1,r=e[t],n=r.split("?"),o;e[t]=n.shift();o=[e.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")];o.push.apply(o,n);return o.join("?")};n.rewriteCookieProperty=function rewriteCookieProperty(e,t,r){if(Array.isArray(e)){return e.map(function(e){return rewriteCookieProperty(e,t,r)})}return e.replace(new RegExp("(;\\s*"+r+"=)([^;]+)","i"),function(e,r,n){var o;if(n in t){o=t[n]}else if("*"in t){o=t["*"]}else{return e}if(o){return r+o}else{return""}})};function hasPort(e){return!!~e.indexOf(":")}},783:(e,t,r)=>{var n=e.exports,o=r(669)._extend,s=r(835).parse,i=r(848),u=r(605),a=r(211),c=r(425),l=r(974);n.Server=ProxyServer;function createRightProxy(e){return function(t){return function(r,n){var i=e==="ws"?this.wsPasses:this.webPasses,u=[].slice.call(arguments),a=u.length-1,c,l;if(typeof u[a]==="function"){l=u[a];a--}var f=t;if(!(u[a]instanceof Buffer)&&u[a]!==n){f=o({},t);o(f,u[a]);a--}if(u[a]instanceof Buffer){c=u[a]}["target","forward"].forEach(function(e){if(typeof f[e]==="string")f[e]=s(f[e])});if(!f.target&&!f.forward){return this.emit("error",new Error("Must provide a proper URL as target"))}for(var p=0;p<i.length;p++){if(i[p](r,n,f,c,this,l)){break}}}}}n.createRightProxy=createRightProxy;function ProxyServer(e){i.call(this);e=e||{};e.prependPath=e.prependPath===false?false:true;this.web=this.proxyRequest=createRightProxy("web")(e);this.ws=this.proxyWebsocketRequest=createRightProxy("ws")(e);this.options=e;this.webPasses=Object.keys(c).map(function(e){return c[e]});this.wsPasses=Object.keys(l).map(function(e){return l[e]});this.on("error",this.onError,this)}r(669).inherits(ProxyServer,i);ProxyServer.prototype.onError=function(e){if(this.listeners("error").length===1){throw e}};ProxyServer.prototype.listen=function(e,t){var r=this,n=function(e,t){r.web(e,t)};this._server=this.options.ssl?a.createServer(this.options.ssl,n):u.createServer(n);if(this.options.ws){this._server.on("upgrade",function(e,t,n){r.ws(e,t,n)})}this._server.listen(e,t);return this};ProxyServer.prototype.close=function(e){var t=this;if(this._server){this._server.close(done)}function done(){t._server=null;if(e){e.apply(null,arguments)}}};ProxyServer.prototype.before=function(e,t,r){if(e!=="ws"&&e!=="web"){throw new Error("type must be `web` or `ws`")}var n=e==="ws"?this.wsPasses:this.webPasses,o=false;n.forEach(function(e,r){if(e.name===t)o=r});if(o===false)throw new Error("No such pass");n.splice(o,0,r)};ProxyServer.prototype.after=function(e,t,r){if(e!=="ws"&&e!=="web"){throw new Error("type must be `web` or `ws`")}var n=e==="ws"?this.wsPasses:this.webPasses,o=false;n.forEach(function(e,r){if(e.name===t)o=r});if(o===false)throw new Error("No such pass");n.splice(o++,0,r)}},425:(e,t,r)=>{var n=r(605),o=r(211),s=r(578),i=r(879),u=r(707);s=Object.keys(s).map(function(e){return s[e]});var a={http:n,https:o};e.exports={deleteLength:function deleteLength(e,t,r){if((e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]){e.headers["content-length"]="0";delete e.headers["transfer-encoding"]}},timeout:function timeout(e,t,r){if(r.timeout){e.socket.setTimeout(r.timeout)}},XHeaders:function XHeaders(e,t,r){if(!r.xfwd)return;var n=e.isSpdy||i.hasEncryptedConnection(e);var o={for:e.connection.remoteAddress||e.socket.remoteAddress,port:i.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(t){e.headers["x-forwarded-"+t]=(e.headers["x-forwarded-"+t]||"")+(e.headers["x-forwarded-"+t]?",":"")+o[t]});e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers["host"]||""},stream:function stream(e,t,r,n,o,c){o.emit("start",e,t,r.target||r.forward);var l=r.followRedirects?u:a;var f=l.http;var p=l.https;if(r.forward){var h=(r.forward.protocol==="https:"?p:f).request(i.setupOutgoing(r.ssl||{},r,e,"forward"));var d=createErrorHandler(h,r.forward);e.on("error",d);h.on("error",d);(r.buffer||e).pipe(h);if(!r.target){return t.end()}}var g=(r.target.protocol==="https:"?p:f).request(i.setupOutgoing(r.ssl||{},r,e));g.on("socket",function(n){if(o&&!g.getHeader("expect")){o.emit("proxyReq",g,e,t,r)}});if(r.proxyTimeout){g.setTimeout(r.proxyTimeout,function(){g.abort()})}e.on("aborted",function(){g.abort()});var R=createErrorHandler(g,r.target);e.on("error",R);g.on("error",R);function createErrorHandler(r,n){return function proxyError(s){if(e.socket.destroyed&&s.code==="ECONNRESET"){o.emit("econnreset",s,e,t,n);return r.abort()}if(c){c(s,e,t,n)}else{o.emit("error",s,e,t,n)}}}(r.buffer||e).pipe(g);g.on("response",function(n){if(o){o.emit("proxyRes",n,e,t)}if(!t.headersSent&&!r.selfHandleResponse){for(var i=0;i<s.length;i++){if(s[i](e,t,n,r)){break}}}if(!t.finished){n.on("end",function(){if(o)o.emit("end",e,t,n)});if(!r.selfHandleResponse)n.pipe(t)}else{if(o)o.emit("end",e,t,n)}})}}},578:(e,t,r)=>{var n=r(835),o=r(879);var s=/^201|30(1|2|7|8)$/;e.exports={removeChunked:function removeChunked(e,t,r){if(e.httpVersion==="1.0"){delete r.headers["transfer-encoding"]}},setConnection:function setConnection(e,t,r){if(e.httpVersion==="1.0"){r.headers.connection=e.headers.connection||"close"}else if(e.httpVersion!=="2.0"&&!r.headers.connection){r.headers.connection=e.headers.connection||"keep-alive"}},setRedirectHostRewrite:function setRedirectHostRewrite(e,t,r,o){if((o.hostRewrite||o.autoRewrite||o.protocolRewrite)&&r.headers["location"]&&s.test(r.statusCode)){var i=n.parse(o.target);var u=n.parse(r.headers["location"]);if(i.host!=u.host){return}if(o.hostRewrite){u.host=o.hostRewrite}else if(o.autoRewrite){u.host=e.headers["host"]}if(o.protocolRewrite){u.protocol=o.protocolRewrite}r.headers["location"]=u.format()}},writeHeaders:function writeHeaders(e,t,r,n){var s=n.cookieDomainRewrite,i=n.cookiePathRewrite,u=n.preserveHeaderKeyCase,a,c=function(e,r){if(r==undefined)return;if(s&&e.toLowerCase()==="set-cookie"){r=o.rewriteCookieProperty(r,s,"domain")}if(i&&e.toLowerCase()==="set-cookie"){r=o.rewriteCookieProperty(r,i,"path")}t.setHeader(String(e).trim(),r)};if(typeof s==="string"){s={"*":s}}if(typeof i==="string"){i={"*":i}}if(u&&r.rawHeaders!=undefined){a={};for(var l=0;l<r.rawHeaders.length;l+=2){var f=r.rawHeaders[l];a[f.toLowerCase()]=f}}Object.keys(r.headers).forEach(function(e){var t=r.headers[e];if(u&&a){e=a[e]||e}c(e,t)})},writeStatusCode:function writeStatusCode(e,t,r){if(r.statusMessage){t.statusCode=r.statusCode;t.statusMessage=r.statusMessage}else{t.statusCode=r.statusCode}}}},974:(e,t,r)=>{var n=r(605),o=r(211),s=r(879);e.exports={checkMethodAndHeader:function checkMethodAndHeader(e,t){if(e.method!=="GET"||!e.headers.upgrade){t.destroy();return true}if(e.headers.upgrade.toLowerCase()!=="websocket"){t.destroy();return true}},XHeaders:function XHeaders(e,t,r){if(!r.xfwd)return;var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:s.getPort(e),proto:s.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(t){e.headers["x-forwarded-"+t]=(e.headers["x-forwarded-"+t]||"")+(e.headers["x-forwarded-"+t]?",":"")+n[t]})},stream:function stream(e,t,r,i,u,a){var c=function(e,t){return Object.keys(t).reduce(function(e,r){var n=t[r];if(!Array.isArray(n)){e.push(r+": "+n);return e}for(var o=0;o<n.length;o++){e.push(r+": "+n[o])}return e},[e]).join("\r\n")+"\r\n\r\n"};s.setupSocket(t);if(i&&i.length)t.unshift(i);var l=(s.isSSL.test(r.target.protocol)?o:n).request(s.setupOutgoing(r.ssl||{},r,e));if(u){u.emit("proxyReqWs",l,e,t,r,i)}l.on("error",onOutgoingError);l.on("response",function(e){if(!e.upgrade){t.write(c("HTTP/"+e.httpVersion+" "+e.statusCode+" "+e.statusMessage,e.headers));e.pipe(t)}});l.on("upgrade",function(e,r,n){r.on("error",onOutgoingError);r.on("end",function(){u.emit("close",e,r,n)});t.on("error",function(){r.end()});s.setupSocket(r);if(n&&n.length)r.unshift(n);t.write(c("HTTP/1.1 101 Switching Protocols",e.headers));r.pipe(t).pipe(r);u.emit("open",r);u.emit("proxySocket",r)});return l.end();function onOutgoingError(r){if(a){a(r,e,t)}else{u.emit("error",r,e,t)}t.end()}}}},435:e=>{e.exports=function isExtglob(e){if(typeof e!=="string"||e===""){return false}var t;while(t=/(\\).|([@?!+*]\(.*\))/g.exec(e)){if(t[2])return true;e=e.slice(t.index+t[0].length)}return false}},466:(e,t,r)=>{var n=r(435);var o={"{":"}","(":")","[":"]"};var s=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/;var i=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;e.exports=function isGlob(e,t){if(typeof e!=="string"||e===""){return false}if(n(e)){return true}var r=s;var u;if(t&&t.strict===false){r=i}while(u=r.exec(e)){if(u[2])return true;var a=u.index+u[0].length;var c=u[1];var l=c?o[c]:null;if(c&&l){var f=e.indexOf(l,a);if(f!==-1){a=f+1}}e=e.slice(a)}return false}},569:(e,t,r)=>{"use strict";e.exports=r(322)},99:(e,t,r)=>{"use strict";const n=r(622);const o="\\\\/";const s=`[^${o}]`;const i="\\.";const u="\\+";const a="\\?";const c="\\/";const l="(?=.)";const f="[^/]";const p=`(?:${c}|$)`;const h=`(?:^|${c})`;const d=`${i}{1,2}${p}`;const g=`(?!${i})`;const R=`(?!${h}${d})`;const _=`(?!${i}{0,1}${p})`;const y=`(?!${d})`;const E=`[^.${c}]`;const v=`${f}*?`;c