surgio 2.18.2 → 2.19.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/build/command/check.js +7 -11
  3. package/build/command/clean-cache.d.ts +1 -1
  4. package/build/command/clean-cache.js +10 -2
  5. package/build/command/doctor.js +6 -14
  6. package/build/command/generate.js +10 -12
  7. package/build/command/lint.js +1 -1
  8. package/build/command/new.js +5 -13
  9. package/build/command/subscriptions.js +5 -10
  10. package/build/command/upload.js +9 -13
  11. package/build/constant/constant.d.ts +4 -0
  12. package/build/constant/constant.js +6 -2
  13. package/build/generator/template.d.ts +1 -1
  14. package/build/index.d.ts +7 -1
  15. package/build/index.js +12 -13
  16. package/build/misc/flag_cn.d.ts +15 -1
  17. package/build/misc/flag_cn.js +69 -30
  18. package/build/provider/ClashProvider.d.ts +1 -1
  19. package/build/provider/Provider.js +47 -24
  20. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +1 -1
  21. package/build/provider/ShadowsocksSubscribeProvider.d.ts +1 -1
  22. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +1 -1
  23. package/build/provider/SsdProvider.d.ts +2 -2
  24. package/build/redis.d.ts +9 -0
  25. package/build/redis.js +61 -0
  26. package/build/types.d.ts +8 -1
  27. package/build/utils/cache.d.ts +13 -1
  28. package/build/utils/cache.js +41 -3
  29. package/build/utils/clash.d.ts +2 -2
  30. package/build/utils/command.d.ts +2 -0
  31. package/build/utils/command.js +23 -0
  32. package/build/utils/config.d.ts +3 -1
  33. package/build/utils/config.js +41 -3
  34. package/build/utils/filter.d.ts +4 -4
  35. package/build/utils/http-client.d.ts +1 -1
  36. package/build/utils/index.d.ts +8 -5
  37. package/build/utils/index.js +22 -5
  38. package/build/utils/linter.d.ts +1 -1
  39. package/build/utils/loon.d.ts +1 -1
  40. package/build/utils/patch-proxy.js +2 -7
  41. package/build/utils/quantumult.d.ts +2 -2
  42. package/build/utils/remote-snippet.d.ts +1 -1
  43. package/build/utils/remote-snippet.js +8 -5
  44. package/build/utils/ss.js +13 -15
  45. package/build/utils/ssr.js +4 -7
  46. package/build/utils/surge.d.ts +1 -1
  47. package/build/utils/tmp-helper.d.ts +21 -7
  48. package/build/utils/tmp-helper.js +47 -16
  49. package/build/utils/trojan.js +4 -7
  50. package/build/utils/v2ray.d.ts +1 -1
  51. package/build/utils/v2ray.js +6 -8
  52. package/package.json +10 -20
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateConfig = exports.normalizeConfig = exports.loadConfig = void 0;
6
+ exports.validateConfig = exports.normalizeConfig = exports.setConfig = exports.getConfig = exports.loadConfig = void 0;
7
7
  const joi_1 = __importDefault(require("joi"));
8
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
9
  const lodash_1 = __importDefault(require("lodash"));
@@ -11,12 +11,14 @@ const path_1 = __importDefault(require("path"));
11
11
  const url_1 = require("url");
12
12
  const util_1 = require("util");
13
13
  const deprecation_1 = require("../misc/deprecation");
14
+ const redis_1 = __importDefault(require("../redis"));
14
15
  const constant_1 = require("../constant");
15
16
  const flag_1 = require("./flag");
16
17
  const index_1 = require("./index");
17
18
  const showDEP005 = (0, util_1.deprecate)(lodash_1.default.noop, deprecation_1.DEP005, 'DEP005');
18
19
  const showDEP006 = (0, util_1.deprecate)(lodash_1.default.noop, deprecation_1.DEP006, 'DEP006');
19
20
  const showDEP008 = (0, util_1.deprecate)(lodash_1.default.noop, deprecation_1.DEP008, 'DEP008');
21
+ let finalConfig = null;
20
22
  const loadConfig = (cwd, configPath, override) => {
21
23
  const absPath = path_1.default.resolve(cwd, configPath);
22
24
  if (!fs_extra_1.default.existsSync(absPath)) {
@@ -44,9 +46,30 @@ const loadConfig = (cwd, configPath, override) => {
44
46
  if (override) {
45
47
  return Object.assign(Object.assign({}, (0, exports.normalizeConfig)(cwd, userConfig)), override);
46
48
  }
47
- return (0, exports.normalizeConfig)(cwd, userConfig);
49
+ finalConfig = (0, exports.normalizeConfig)(cwd, userConfig);
50
+ return finalConfig;
48
51
  };
49
52
  exports.loadConfig = loadConfig;
53
+ const getConfig = () => {
54
+ if (!finalConfig) {
55
+ throw new Error('请先调用 loadConfig 方法');
56
+ }
57
+ return finalConfig;
58
+ };
59
+ exports.getConfig = getConfig;
60
+ const setConfig = (key, value) => {
61
+ if (!finalConfig) {
62
+ throw new Error('请先调用 loadConfig 方法');
63
+ }
64
+ if (lodash_1.default.isPlainObject(value)) {
65
+ finalConfig[key] = Object.assign(Object.assign({}, finalConfig[key]), value);
66
+ }
67
+ else {
68
+ finalConfig[key] = value;
69
+ }
70
+ return finalConfig;
71
+ };
72
+ exports.setConfig = setConfig;
50
73
  const normalizeConfig = (cwd, userConfig) => {
51
74
  var _a, _b, _c;
52
75
  const defaultConfig = {
@@ -71,6 +94,9 @@ const normalizeConfig = (cwd, userConfig) => {
71
94
  proxyTestUrl: constant_1.PROXY_TEST_URL,
72
95
  proxyTestInterval: constant_1.PROXY_TEST_INTERVAL,
73
96
  checkHostname: false,
97
+ cache: {
98
+ type: 'default',
99
+ },
74
100
  };
75
101
  const config = lodash_1.default.defaultsDeep(userConfig, defaultConfig);
76
102
  // istanbul ignore next
@@ -103,6 +129,12 @@ const normalizeConfig = (cwd, userConfig) => {
103
129
  if (((_c = config.clashConfig) === null || _c === void 0 ? void 0 : _c.ssrFormat) === 'legacy') {
104
130
  showDEP008();
105
131
  }
132
+ if (config.cache && config.cache.type === 'redis') {
133
+ if (!config.cache.redisUrl) {
134
+ throw new Error('缓存配置错误,请检查 cache.redisUrl 配置');
135
+ }
136
+ redis_1.default.createRedis(config.cache.redisUrl);
137
+ }
106
138
  return config;
107
139
  };
108
140
  exports.normalizeConfig = normalizeConfig;
@@ -177,6 +209,12 @@ const validateConfig = (userConfig) => {
177
209
  supportSort: joi_1.default.boolean().strict(),
178
210
  }))),
179
211
  customParams: joi_1.default.object(),
212
+ cache: joi_1.default.object({
213
+ type: joi_1.default.string().valid('redis', 'default'),
214
+ redisUrl: joi_1.default.string().uri({
215
+ scheme: [/rediss?/],
216
+ }),
217
+ }),
180
218
  }).unknown();
181
219
  const { error } = schema.validate(userConfig);
182
220
  // istanbul ignore next
@@ -185,4 +223,4 @@ const validateConfig = (userConfig) => {
185
223
  }
186
224
  };
187
225
  exports.validateConfig = validateConfig;
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsd0RBQTBCO0FBQzFCLG9EQUF1QjtBQUN2QixnREFBd0I7QUFDeEIsNkJBQTBCO0FBQzFCLCtCQUFpQztBQUNqQyxxREFBNkQ7QUFHN0QsMENBQWtFO0FBQ2xFLGlDQUFvQztBQUNwQyxtQ0FBNkM7QUFFN0MsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQkFBUyxFQUFDLGdCQUFDLENBQUMsSUFBSSxFQUFFLG9CQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQkFBUyxFQUFDLGdCQUFDLENBQUMsSUFBSSxFQUFFLG9CQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQkFBUyxFQUFDLGdCQUFDLENBQUMsSUFBSSxFQUFFLG9CQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFFaEQsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsR0FBVyxFQUNYLFVBQWtCLEVBQ2xCLFFBQWlDLEVBQ2xCLEVBQUU7SUFDakIsTUFBTSxPQUFPLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFOUMsSUFBSSxDQUFDLGtCQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0lBRUQsTUFBTSxVQUFVLEdBQUcsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFakQsSUFBQSxzQkFBYyxFQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTNCLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRTtRQUNwQixNQUFNLENBQUMsSUFBSSxD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
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsd0RBQTBCO0FBQzFCLG9EQUF1QjtBQUN2QixnREFBd0I7QUFDeEIsNkJBQTBCO0FBQzFCLCtCQUFpQztBQUVqQyxxREFBNkQ7QUFDN0QscURBQTZCO0FBRTdCLDBDQUFrRTtBQUNsRSxpQ0FBb0M7QUFDcEMsbUNBQTZDO0FBRTdDLE1BQU0sVUFBVSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxnQkFBQyxDQUFDLElBQUksRUFBRSxvQkFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxnQkFBQyxDQUFDLElBQUksRUFBRSxvQkFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxnQkFBQyxDQUFDLElBQUksRUFBRSxvQkFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBRXZELElBQUksV0FBVyxHQUF5QixJQUFJLENBQUM7QUFFdEMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsR0FBVyxFQUNYLFVBQWtCLEVBQ2xCLFFBQWlDLEVBQ2xCLEVBQUU7SUFDakIsTUFBTSxPQUFPLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFOUMsSUFBSSxDQUFDLGtCQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0lBRUQsTUFBTSxVQUFVLEdBQUcsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFakQsSUFBQSxzQkFBYyxFQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTNCLElB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
@@ -12,10 +12,10 @@ export declare class SortFilterWithSortedKeywords implements SortedNodeNameFilte
12
12
  filter<T>(nodeList: ReadonlyArray<T & SimpleNodeConfig>): ReadonlyArray<T & SimpleNodeConfig>;
13
13
  }
14
14
  export declare const validateFilter: (filter: any) => boolean;
15
- export declare const applyFilter: <T extends SimpleNodeConfig>(nodeList: readonly T[], filter?: SortedNodeNameFilterType | NodeNameFilterType | undefined) => readonly T[];
16
- export declare const mergeFilters: (filters: ReadonlyArray<NodeNameFilterType>, isStrict?: boolean | undefined) => NodeNameFilterType;
17
- export declare const useKeywords: (keywords: ReadonlyArray<string>, isStrict?: boolean | undefined) => NodeNameFilterType;
18
- export declare const discardKeywords: (keywords: ReadonlyArray<string>, isStrict?: boolean | undefined) => NodeNameFilterType;
15
+ export declare const applyFilter: <T extends SimpleNodeConfig>(nodeList: readonly T[], filter?: NodeNameFilterType | SortedNodeNameFilterType) => readonly T[];
16
+ export declare const mergeFilters: (filters: ReadonlyArray<NodeNameFilterType>, isStrict?: boolean) => NodeNameFilterType;
17
+ export declare const useKeywords: (keywords: ReadonlyArray<string>, isStrict?: boolean) => NodeNameFilterType;
18
+ export declare const discardKeywords: (keywords: ReadonlyArray<string>, isStrict?: boolean) => NodeNameFilterType;
19
19
  export declare const useRegexp: (regexp: RegExp) => NodeNameFilterType;
20
20
  export declare const useProviders: (keywords: ReadonlyArray<string>, isStrict?: boolean) => NodeNameFilterType;
21
21
  export declare const discardProviders: (keywords: ReadonlyArray<string>, isStrict?: boolean) => NodeNameFilterType;
@@ -1,3 +1,3 @@
1
- export declare const getUserAgent: (str?: string | undefined) => string;
1
+ export declare const getUserAgent: (str?: string) => string;
2
2
  declare const httpClient: import("got").Got;
3
3
  export default httpClient;
@@ -3,13 +3,14 @@ import { NodeFilterType, NodeNameFilterType, PlainObjectOf, PossibleNodeConfigTy
3
3
  export * from './surge';
4
4
  export * from './clash';
5
5
  export * from './quantumult';
6
- export declare const getDownloadUrl: (baseUrl: string | undefined, artifactName: string, inline?: boolean, accessToken?: string | undefined) => string;
7
- export declare const getUrl: (baseUrl: string, path: string, accessToken?: string | undefined) => string;
8
- export declare const getMellowNodes: (list: ReadonlyArray<VmessNodeConfig | ShadowsocksNodeConfig>, filter?: SortedNodeNameFilterType | NodeFilterType | undefined) => string;
6
+ export declare const getDownloadUrl: (baseUrl: string | undefined, artifactName: string, inline?: boolean, accessToken?: string) => string;
7
+ export declare const getUrl: (baseUrl: string, path: string, accessToken?: string) => string;
8
+ export declare const getMellowNodes: (list: ReadonlyArray<VmessNodeConfig | ShadowsocksNodeConfig>, filter?: NodeFilterType | SortedNodeNameFilterType) => string;
9
9
  export declare const toUrlSafeBase64: (str: string) => string;
10
10
  export declare const fromUrlSafeBase64: (str: string) => string;
11
11
  export declare const toBase64: (str: string) => string;
12
12
  export declare const fromBase64: (str: string) => string;
13
+ export declare const toMD5: (str: string) => string;
13
14
  /**
14
15
  * @see https://github.com/shadowsocks/shadowsocks-org/wiki/SIP002-URI-Scheme
15
16
  */
@@ -17,7 +18,7 @@ export declare const getShadowsocksNodes: (list: ReadonlyArray<ShadowsocksNodeCo
17
18
  export declare const getShadowsocksrNodes: (list: ReadonlyArray<ShadowsocksrNodeConfig>, groupName: string) => string;
18
19
  export declare const getV2rayNNodes: (list: ReadonlyArray<VmessNodeConfig>) => string;
19
20
  export declare const getShadowsocksNodesJSON: (list: ReadonlyArray<ShadowsocksNodeConfig>) => string;
20
- export declare const getNodeNames: (list: ReadonlyArray<SimpleNodeConfig>, filter?: SortedNodeNameFilterType | NodeNameFilterType | undefined, separator?: string | undefined) => string;
21
+ export declare const getNodeNames: (list: ReadonlyArray<SimpleNodeConfig>, filter?: NodeNameFilterType | SortedNodeNameFilterType, separator?: string) => string;
21
22
  export declare const generateClashProxyGroup: (ruleName: string, ruleType: 'select' | 'url-test' | 'fallback' | 'load-balance', nodeNameList: ReadonlyArray<SimpleNodeConfig>, options: {
22
23
  readonly filter?: NodeNameFilterType | SortedNodeNameFilterType;
23
24
  readonly existingProxies?: ReadonlyArray<string>;
@@ -47,6 +48,8 @@ export declare const isVercel: () => boolean;
47
48
  export declare const isHeroku: () => boolean;
48
49
  export declare const isGitHubActions: () => boolean;
49
50
  export declare const isGitLabCI: () => boolean;
50
- export declare const isPkgBundle: () => boolean;
51
51
  export declare const isRailway: () => boolean;
52
52
  export declare const isNetlify: () => boolean;
53
+ export declare const isAWSLambda: () => boolean;
54
+ export declare const isAWS: () => boolean;
55
+ export declare const isGFWFree: () => boolean;
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.isNetlify = exports.isRailway = exports.isPkgBundle = exports.isGitLabCI = exports.isGitHubActions = exports.isHeroku = exports.isVercel = exports.isNow = exports.isIp = exports.msToSeconds = exports.lowercaseHeaderKeys = exports.formatV2rayConfig = exports.ensureConfigFolder = exports.normalizeClashProxyGroupConfig = exports.decodeStringList = exports.pickAndFormatStringList = exports.toYaml = exports.generateClashProxyGroup = exports.getNodeNames = exports.getShadowsocksNodesJSON = exports.getV2rayNNodes = exports.getShadowsocksrNodes = exports.getShadowsocksNodes = exports.fromBase64 = exports.toBase64 = exports.fromUrlSafeBase64 = exports.toUrlSafeBase64 = exports.getMellowNodes = exports.getUrl = exports.getDownloadUrl = void 0;
20
+ exports.isGFWFree = exports.isAWS = exports.isAWSLambda = exports.isNetlify = exports.isRailway = exports.isGitLabCI = exports.isGitHubActions = exports.isHeroku = exports.isVercel = exports.isNow = exports.isIp = exports.msToSeconds = exports.lowercaseHeaderKeys = exports.formatV2rayConfig = exports.ensureConfigFolder = exports.normalizeClashProxyGroupConfig = exports.decodeStringList = exports.pickAndFormatStringList = exports.toYaml = exports.generateClashProxyGroup = exports.getNodeNames = exports.getShadowsocksNodesJSON = exports.getV2rayNNodes = exports.getShadowsocksrNodes = exports.getShadowsocksNodes = exports.toMD5 = exports.fromBase64 = exports.toBase64 = exports.fromUrlSafeBase64 = exports.toUrlSafeBase64 = exports.getMellowNodes = exports.getUrl = exports.getDownloadUrl = void 0;
21
21
  const logger_1 = require("@surgio/logger");
22
22
  const fs_extra_1 = __importDefault(require("fs-extra"));
23
23
  const lodash_1 = __importDefault(require("lodash"));
@@ -28,6 +28,7 @@ const url_1 = require("url");
28
28
  const urlsafe_base64_1 = __importDefault(require("urlsafe-base64"));
29
29
  const yaml_1 = __importDefault(require("yaml"));
30
30
  const net_1 = __importDefault(require("net"));
31
+ const crypto_1 = __importDefault(require("crypto"));
31
32
  const types_1 = require("../types");
32
33
  const constant_1 = require("../constant");
33
34
  const filter_1 = require("./filter");
@@ -113,6 +114,9 @@ exports.toBase64 = toBase64;
113
114
  // istanbul ignore next
114
115
  const fromBase64 = (str) => Buffer.from(str, 'base64').toString('utf8');
115
116
  exports.fromBase64 = fromBase64;
117
+ // istanbul ignore next
118
+ const toMD5 = (str) => crypto_1.default.createHash('md5').update(str).digest('hex');
119
+ exports.toMD5 = toMD5;
116
120
  /**
117
121
  * @see https://github.com/shadowsocks/shadowsocks-org/wiki/SIP002-URI-Scheme
118
122
  */
@@ -454,12 +458,25 @@ exports.isGitHubActions = isGitHubActions;
454
458
  const isGitLabCI = () => typeof process.env.GITLAB_CI !== 'undefined';
455
459
  exports.isGitLabCI = isGitLabCI;
456
460
  // istanbul ignore next
457
- const isPkgBundle = () => __dirname.startsWith('/snapshot');
458
- exports.isPkgBundle = isPkgBundle;
459
- // istanbul ignore next
460
461
  const isRailway = () => typeof process.env.RAILWAY_STATIC_URL !== 'undefined';
461
462
  exports.isRailway = isRailway;
462
463
  // istanbul ignore next
463
464
  const isNetlify = () => typeof process.env.NETLIFY !== 'undefined';
464
465
  exports.isNetlify = isNetlify;
465
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBOEM7QUFFOUMsd0RBQTBCO0FBQzFCLG9EQUF1QjtBQUN2Qiw0Q0FBb0I7QUFDcEIsK0JBQTRCO0FBQzVCLGdFQUF1QztBQUV2Qyw2QkFBMkM7QUFDM0Msb0VBQTJDO0FBQzNDLGdEQUF3QjtBQUN4Qiw4Q0FBc0I7QUFFdEIsb0NBWWtCO0FBQ2xCLDBDQUEwRDtBQUMxRCxxQ0FBdUQ7QUFDdkQsbUNBQXlDO0FBRXpDLDBDQUF3QjtBQUN4QiwwQ0FBd0I7QUFDeEIsK0NBQTZCO0FBRTdCLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0FBRWxELE1BQU0sY0FBYyxHQUFHLENBQzVCLE9BQU8sR0FBRyxHQUFHLEVBQ2IsWUFBb0IsRUFDcEIsTUFBTSxHQUFHLElBQUksRUFDYixXQUFvQixFQUNaLEVBQUU7SUFDVixJQUFJLGVBQWdDLENBQUM7SUFDckMsSUFBSSxJQUFZLENBQUM7SUFFakIsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzlCLGVBQWUsR0FBRyxJQUFJLHFCQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25DO1NBQU07UUFDTCxlQUFlLEdBQUcsSUFBSSxxQkFBZSxFQUFFLENBQUM7UUFDeEMsSUFBSSxHQUFHLFlBQVksQ0FBQztLQUNyQjtJQUVELElBQUksV0FBVyxFQUFFO1FBQ2YsZUFBZSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFD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
466
+ // istanbul ignore next
467
+ const isAWSLambda = () => typeof process.env.AWS_LAMBDA_FUNCTION_NAME !== 'undefined';
468
+ exports.isAWSLambda = isAWSLambda;
469
+ // istanbul ignore next
470
+ const isAWS = () => (0, exports.isAWSLambda)() ||
471
+ typeof process.env.AWS_EXECUTION_ENV !== 'undefined' ||
472
+ typeof process.env.AWS_REGION !== 'undefined';
473
+ exports.isAWS = isAWS;
474
+ const isGFWFree = () => (0, exports.isAWS)() ||
475
+ (0, exports.isVercel)() ||
476
+ (0, exports.isHeroku)() ||
477
+ (0, exports.isGitHubActions)() ||
478
+ (0, exports.isGitLabCI)() ||
479
+ (0, exports.isRailway)() ||
480
+ (0, exports.isNetlify)();
481
+ exports.isGFWFree = isGFWFree;
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBOEM7QUFDOUMsd0RBQTBCO0FBQzFCLG9EQUF1QjtBQUN2Qiw0Q0FBb0I7QUFDcEIsK0JBQTRCO0FBQzVCLGdFQUF1QztBQUV2Qyw2QkFBMkM7QUFDM0Msb0VBQTJDO0FBQzNDLGdEQUF3QjtBQUN4Qiw4Q0FBc0I7QUFDdEIsb0RBQTRCO0FBRTVCLG9DQVlrQjtBQUNsQiwwQ0FBMEQ7QUFDMUQscUNBQXVEO0FBQ3ZELG1DQUF5QztBQUV6QywwQ0FBd0I7QUFDeEIsMENBQXdCO0FBQ3hCLCtDQUE2QjtBQUU3QixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztBQUVsRCxNQUFNLGNBQWMsR0FBRyxDQUM1QixPQUFPLEdBQUcsR0FBRyxFQUNiLFlBQW9CLEVBQ3BCLE1BQU0sR0FBRyxJQUFJLEVBQ2IsV0FBb0IsRUFDWixFQUFFO0lBQ1YsSUFBSSxlQUFnQyxDQUFDO0lBQ3JDLElBQUksSUFBWSxDQUFDO0lBRWpCLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUM5QixlQUFlLEdBQUcsSUFBSSxxQkFBZSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNuQztTQUFNO1FBQ0wsZUFBZSxHQUFHLElBQUkscUJBQWUsRUFBRSxDQUFDO1FBQ3hDLElBQUksR0FBRyxZQUFZLENBQUM7S0FDckI7SUFFRCxJQUFJLFdBQVcsRUFBRTtRQUNmLGVBQWUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ2xEO0lBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRXpDLE9BQU8sR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBM0JXLFFBQUEsY0FBYyxrQkEyQnpCO0FBRUssTUFBTSxNQUFNLEdBQUcsQ0FDcEIsT0FBZSxFQUNmLElBQVksRUFDWixXQUFvQixFQUNaLEVBQUU7SUFDVixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksV0FBVyxFQUFFO1FBQ2YsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ25EO0lBQ0QsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxNQUFNLFVBV2pCO0FBRUssTUFBTSxjQUFjLEdBQUcsVUFDNUIsSUFBNEQsRUFDNUQsTUFBa0Q7SUFFbEQsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQ3JDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2xCLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUEsc0JBQWMsRUFBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDM0QsT0FBTztvQkFDTCxVQUFVLENBQUMsUUFBUTtvQkFDbkIsUUFBUTtvQkFDUixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7aUJBQzVDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2Q7WUFFRCxLQUFLLG9CQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUEsMkJBQW1CLEVBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNEO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsa0JBQW1CLFVBQWtCLENBQUMsSUFBSSxXQUN2QyxVQUFrQixDQUFDLFFBQ3RCLE9BQU8sQ0FDUixDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBdkNXLFFBQUEsY0FBYyxrQkF1Q3pCO0FBRUYsdUJBQXVCO0FBQ2hCLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FDckQsd0JBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQURwQyxRQUFBLGVBQWUsbUJBQ3FCO0FBRWpELHVCQUF1QjtBQUNoQixNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7SUFDdkQsSUFBSSx3QkFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMvQixPQUFPLHdCQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzdDO0lBQ0QsT0FBTyxJQUFBLGtCQUFVLEVBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBTFcsUUFBQSxpQkFBaUIscUJBSzVCO0FBRUYsdUJBQXVCO0FBQ2hCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRGpDLFFBQUEsUUFBUSxZQUN5QjtBQUU5Qyx1QkFBdUI7QUFDaEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRSxDQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFEakMsUUFBQSxVQUFVLGNBQ3VCO0FBRTlDLHVCQUF1QjtBQUNoQixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQzNDLGdCQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFEeEMsUUFBQSxLQUFLLFNBQ21DO0FBRXJEOztHQUVHO0FBQ0ksTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxJQUEwQyxFQUMxQyxTQUFTLEdBQUcsUUFBUSxFQUNaLEVBQUU7SUFDVixNQUFNLE1BQU0sR0FBdUIsSUFBSTtTQUNwQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQix1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUcsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sS0FBSyxtQ0FJTixDQUFDLE1BQU0sQ0FBQyxJQUFJO29CQUNiLENBQUMsQ0FBQzt3QkFDRSxNQUFNLEVBQUUsR0FBRyxrQkFBa0IsQ0FDM0IsbUJBQW1CLE1BQU0sQ0FBQyxJQUFJLGNBQWMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQ2xFLEVBQUU7cUJBQ0o7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNOLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDakUsQ0FBQztnQkFFRixPQUFPO29CQUNMLE9BQU87b0JBQ1AsSUFBQSx1QkFBZSxFQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3RELEdBQUc7b0JBQ0gsTUFBTSxDQUFDLFFBQVE7b0JBQ2YsR0FBRztvQkFDSCxNQUFNLENBQUMsSUFBSTtvQkFDWCxJQUFJO29CQUNKLHNCQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTt3QkFDM0IsTUFBTSxFQUFFLEtBQUs7d0JBQ2IsSUFBSSxFQUFFLEtBQUs7cUJBQ1osQ0FBQztvQkFDRixHQUFHO29CQUNILGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7aUJBQ3BDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ1o7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCwwQkFBMEIsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLENBQUMsUUFBUSxPQUFPLENBQzlFLENBQUM7Z0JBQ0YsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUF4RFcsUUFBQSxtQkFBbUIsdUJBd0Q5QjtBQUVLLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsSUFBMkMsRUFDM0MsU0FBaUIsRUFDVCxFQUFFO0lBQ1YsTUFBTSxNQUFNLEdBQXNDLElBQUk7U0FDbkQsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDbEIsdUJBQXVCO1FBQ3ZCLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7WUFDL0IsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUIsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxJQUFJO29CQUNmLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsTUFBTTtvQkFDakIsVUFBVSxDQUFDLElBQUk7b0JBQ2YsSUFBQSx1QkFBZSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7aUJBQ3JDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNaLE1BQU0sS0FBSyxHQUFHO29CQUNaLFNBQVMsRUFBRSxJQUFBLHVCQUFlLEVBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztvQkFDaEQsVUFBVSxFQUFFLElBQUEsdUJBQWUsRUFBQyxVQUFVLENBQUMsVUFBVSxDQUFDO29CQUNsRCxPQUFPLEVBQUUsSUFBQSx1QkFBZSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7b0JBQzdDLEtBQUssRUFBRSxJQUFBLHVCQUFlLEVBQUMsU0FBUyxDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQztvQkFDVixHQUFHLEVBQUUsQ0FBQztpQkFDUCxDQUFDO2dCQUVGLE9BQU8sQ0FDTCxRQUFRO29CQUNSLElBQUEsdUJBQWUsRUFDYjt3QkFDRSxPQUFPO3dCQUNQLElBQUk7d0JBQ0osc0JBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFOzRCQUMzQixNQUFNLEVBQUUsS0FBSzt5QkFDZCxDQUFDO3FCQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNYLENBQ0YsQ0FBQzthQUNIO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsMkJBQTJCLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxDQUFDLFFBQVEsT0FBTyxDQUMvRSxDQUFDO2dCQUNGLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUV4QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBdkRXLFFBQUEsb0JBQW9CLHdCQXVEL0I7QUFFSyxNQUFNLGNBQWMsR0FBRyxDQUM1QixJQUFvQyxFQUM1QixFQUFFO0lBQ1YsTUFBTSxNQUFNLEdBQTBCLElBQUk7U0FDdkMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFzQixFQUFFO1FBQ3RDLHVCQUF1QjtRQUN2QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUVELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSxHQUFHO29CQUNYLENBQUMsRUFBRSxHQUFHO29CQUNOLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDdkIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUN4QixJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFO29CQUMxQixFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ25CLEdBQUcsRUFBRSxVQUFVLENBQUMsT0FBTztvQkFDdkIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxPQUFPO29CQUN2QixJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ3JCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtvQkFDckIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDakMsQ0FBQztnQkFFRixPQUFPLFVBQVUsR0FBRyxJQUFBLGdCQUFRLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsb0JBQW9CLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxDQUFDLFFBQVEsT0FBTyxDQUN4RSxDQUFDO2dCQUNGLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQWtCLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFeEQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQXhDVyxRQUFBLGNBQWMsa0JBd0N6QjtBQUVGLHVCQUF1QjtBQUNoQixNQUFNLHVCQUF1QixHQUFHLENBQ3JDLElBQTBDLEVBQ2xDLEVBQUU7SUFDVixNQUFNLEtBQUssR0FBdUIsSUFBSTtTQUNuQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQix1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BFLHVCQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFBUSxFQUM1QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQzVCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUN6QixjQUFjLEVBQUUsSUFBQSx1QkFBZSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFDcEQsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzdCLFlBQVksRUFBRSxLQUFLLEVBQ25CLFlBQVksRUFBRSxLQUFLLEVBQ25CLE1BQU0sRUFBRSxJQUFJLElBQ1QsQ0FBQyxPQUFPO29CQUNULENBQUMsQ0FBQzt3QkFDRSxNQUFNLEVBQUUsWUFBWTt3QkFDcEIsYUFBYSxFQUFFLFFBQVEsVUFBVSxDQUFDLElBQUksY0FBYyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7cUJBQzlFO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDthQUNIO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsMEJBQTBCLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxDQUFDLFFBQVEsT0FBTyxDQUM5RSxDQUFDO2dCQUNGLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFeEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDO0FBM0NXLFFBQUEsdUJBQXVCLDJCQTJDbEM7QUFFSyxNQUFNLFlBQVksR0FBRyxVQUMxQixJQUFxQyxFQUNyQyxNQUFzRCxFQUN0RCxTQUFrQjtJQUVsQix1QkFBdUI7SUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsT0FBTyxJQUFBLG9CQUFXLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztTQUM3QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDNUIsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUM7QUFiVyxRQUFBLFlBQVksZ0JBYXZCO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxRQUFnQixFQUNoQixRQUE2RCxFQUM3RCxZQUE2QyxFQUM3QyxPQUtDLEVBT0QsRUFBRTtJQUNGLElBQUksT0FBTyxDQUFDO0lBRVosSUFBSSxPQUFPLENBQUMsZUFBZSxFQUFFO1FBQzNCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFXLEVBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RCxPQUFPLEdBQUksRUFBZSxDQUFDLE1BQU0sQ0FDL0IsT0FBTyxDQUFDLGVBQWUsRUFDdkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUNuQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1NBQ25DO0tBQ0Y7U0FBTTtRQUNMLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVcsRUFBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUM7SUFFRCx1QkFDRSxJQUFJLEVBQUUsUUFBUSxFQUNkLElBQUksRUFBRSxRQUFRLEVBQ2QsT0FBTyxJQUNKLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1lBQ0UsR0FBRyxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ3pCLFFBQVEsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1NBQ3BDO1FBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO0FBQ0osQ0FBQyxDQUFDO0FBN0NXLFFBQUEsdUJBQXVCLDJCQTZDbEM7QUFFSyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQWUsRUFBVSxFQUFFLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUExRCxRQUFBLE1BQU0sVUFBb0Q7QUFFaEUsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxHQUFRLEVBQ1IsT0FBMEIsRUFDUCxFQUFFO0lBQ3JCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDdEIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBWFcsUUFBQSx1QkFBdUIsMkJBV2xDO0FBRUssTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixVQUFpQyxFQUM5QixFQUFFO0lBQ0wsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQzthQUNuRDtTQUNGO2FBQU07WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFmVyxRQUFBLGdCQUFnQixvQkFlM0I7QUFFSyxNQUFNLDhCQUE4QixHQUFHLENBQzVDLFFBQStDLEVBQy9DLGFBQTJFLEVBQzNFLGtCQUFzQyxFQUN0QyxVQUdJLEVBQUUsRUFDYyxFQUFFO0lBQ3RCLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUvRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDakMsdUJBQXVCO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBQSx1QkFBYyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEQsTUFBTSxJQUFJLEtBQUssQ0FDYixPQUFPLElBQUksQ0FBQyxNQUFNLDRCQUE0QixDQUMvQyxDQUFDO2FBQ0g7WUFFRCxPQUFPLElBQUEsK0JBQXVCLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDN0QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQzdCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjthQUM3QyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxJQUFBLCtCQUF1QixFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQzdELGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDN0IsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO2FBQzdDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFsQ1csUUFBQSw4QkFBOEIsa0NBa0N6QztBQUVLLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUFjLFlBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBVSxFQUFFO0lBQ3ZFLElBQUksT0FBTyxDQUFDO0lBRVosSUFBSTtRQUNGLGtCQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxPQUFPLEdBQUcsR0FBRyxDQUFDO0tBQ2Y7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLDJDQUEyQztRQUMzQyx1QkFBdUI7UUFDdkIsT0FBTyxHQUFHLE1BQU0sQ0FBQztLQUNsQjtJQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsV0FBSSxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELGtCQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQWZXLFFBQUEsa0JBQWtCLHNCQWU3QjtBQUVLLE1BQU0saUJBQWlCLEdBQUcsQ0FDL0IsU0FBaUIsRUFDakIsVUFBMkIsRUFDZixFQUFFO0lBQ2QsTUFBTSxNQUFNLEdBQVE7UUFDbEIsR0FBRyxFQUFFO1lBQ0gsUUFBUSxFQUFFLFNBQVM7U0FDcEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUN2QixNQUFNLEVBQUUsV0FBVztZQUNuQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxPQUFPLEVBQUUsVUFBVSxDQUFDLFFBQVE7d0JBQzVCLElBQUksRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzt3QkFDN0IsS0FBSyxFQUFFOzRCQUNMO2dDQUNFLEVBQUUsRUFBRSxVQUFVLENBQUMsSUFBSTtnQ0FDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO2dDQUNuQyxRQUFRLEVBQUUsVUFBVSxDQUFDLE1BQU07Z0NBQzNCLEtBQUssRUFBRSxDQUFDOzZCQUNUO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRCxjQUFjLEVBQUU7Z0JBQ2QsUUFBUSxFQUFFLE1BQU07YUFDakI7U0FDRjtLQUNGLENBQUM7SUFFRixJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLG1DQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsS0FDakMsUUFBUSxFQUFFLEtBQUssRUFDZixXQUFXLGdDQUNULFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQy9DLENBQUMsT0FBTyxVQUFVLENBQUMsY0FBYyxLQUFLLFNBQVM7Z0JBQ2hELENBQUMsQ0FBQztvQkFDRSxhQUFhLEVBQUUsVUFBVSxDQUFDLGNBQWM7aUJBQ3pDO2dCQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxTQUFTO2dCQUN2QyxDQUFDLENBQUM7b0JBQ0Usb0JBQW9CLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSztpQkFDeEM7Z0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUVaLENBQUM7S0FDSDtJQUVELElBQUksVUFBVSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7UUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLG1DQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsS0FDakMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQzNCLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ3JCLFlBQVksRUFBRSxrQkFBTztpQkFDdEI7YUFDRixHQUNGLENBQUM7S0FDSDtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQTNFVyxRQUFBLGlCQUFpQixxQkEyRTVCO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxPQUErQixFQUNQLEVBQUU7SUFDMUIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXJCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDbkMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQVZXLFFBQUEsbUJBQW1CLHVCQVU5QjtBQUVLLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBVSxFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUE1RCxRQUFBLFdBQVcsZUFBaUQ7QUFFekUsdUJBQXVCO0FBQ2hCLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDM0MsYUFBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxhQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRHhCLFFBQUEsSUFBSSxRQUNvQjtBQUVyQyx1QkFBdUI7QUFDaEIsTUFBTSxLQUFLLEdBQUcsR0FBWSxFQUFFLENBQ2pDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssV0FBVztJQUM3QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxLQUFLLFdBQVcsQ0FBQztBQUZ0QyxRQUFBLEtBQUssU0FFaUM7QUFFbkQsdUJBQXVCO0FBQ2hCLE1BQU0sUUFBUSxHQUFHLEdBQVksRUFBRSxDQUFDLElBQUEsYUFBSyxHQUFFLENBQUM7QUFBbEMsUUFBQSxRQUFRLFlBQTBCO0FBRS9DLHVCQUF1QjtBQUNoQixNQUFNLFFBQVEsR0FBRyxHQUFZLEVBQUUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztBQUFsRSxRQUFBLFFBQVEsWUFBMEQ7QUFFL0UsdUJBQXVCO0FBQ2hCLE1BQU0sZUFBZSxHQUFHLEdBQVksRUFBRSxDQUMzQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLFdBQVcsQ0FBQztBQUR2QyxRQUFBLGVBQWUsbUJBQ3dCO0FBRXBELHVCQUF1QjtBQUNoQixNQUFNLFVBQVUsR0FBRyxHQUFZLEVBQUUsQ0FDdEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUM7QUFEbEMsUUFBQSxVQUFVLGNBQ3dCO0FBRS9DLHVCQUF1QjtBQUNoQixNQUFNLFNBQVMsR0FBRyxHQUFZLEVBQUUsQ0FDckMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixLQUFLLFdBQVcsQ0FBQztBQUQzQyxRQUFBLFNBQVMsYUFDa0M7QUFFeEQsdUJBQXVCO0FBQ2hCLE1BQU0sU0FBUyxHQUFHLEdBQVksRUFBRSxDQUNyQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQztBQURoQyxRQUFBLFNBQVMsYUFDdUI7QUFFN0MsdUJBQXVCO0FBQ2hCLE1BQU0sV0FBVyxHQUFHLEdBQVksRUFBRSxDQUN2QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEtBQUssV0FBVyxDQUFDO0FBRGpELFFBQUEsV0FBVyxlQUNzQztBQUU5RCx1QkFBdUI7QUFDaEIsTUFBTSxLQUFLLEdBQUcsR0FBWSxFQUFFLENBQ2pDLElBQUEsbUJBQVcsR0FBRTtJQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsS0FBSyxXQUFXO0lBQ3BELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDO0FBSG5DLFFBQUEsS0FBSyxTQUc4QjtBQUV6QyxNQUFNLFNBQVMsR0FBRyxHQUFZLEVBQUUsQ0FDckMsSUFBQSxhQUFLLEdBQUU7SUFDUCxJQUFBLGdCQUFRLEdBQUU7SUFDVixJQUFBLGdCQUFRLEdBQUU7SUFDVixJQUFBLHVCQUFlLEdBQUU7SUFDakIsSUFBQSxrQkFBVSxHQUFFO0lBQ1osSUFBQSxpQkFBUyxHQUFFO0lBQ1gsSUFBQSxpQkFBUyxHQUFFLENBQUM7QUFQRCxRQUFBLFNBQVMsYUFPUiJ9
@@ -1,4 +1,4 @@
1
1
  import { ESLint } from 'eslint';
2
- export declare const createCli: (cliConfig?: ESLint.Options | undefined) => ESLint;
2
+ export declare const createCli: (cliConfig?: ESLint.Options) => ESLint;
3
3
  export declare const checkAndFix: (cwd: string) => Promise<boolean>;
4
4
  export declare const check: (cwd: string) => Promise<boolean>;
@@ -1,2 +1,2 @@
1
1
  import { NodeNameFilterType, PossibleNodeConfigType, SortedNodeNameFilterType } from '../types';
2
- export declare const getLoonNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: SortedNodeNameFilterType | NodeNameFilterType | undefined) => string;
2
+ export declare const getLoonNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeNameFilterType | SortedNodeNameFilterType) => string;
@@ -5,12 +5,7 @@ const logger_1 = require("@surgio/logger");
5
5
  const _1 = require("./");
6
6
  const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:patch-proxy' });
7
7
  const keys = ['http_proxy', 'https_proxy', 'all_proxy'];
8
- if (!(0, _1.isNow)() &&
9
- !(0, _1.isHeroku)() &&
10
- !(0, _1.isGitHubActions)() &&
11
- !(0, _1.isGitLabCI)() &&
12
- !(0, _1.isRailway)() &&
13
- !(0, _1.isNetlify)()) {
8
+ if (!(0, _1.isGFWFree)()) {
14
9
  process.env.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE = '';
15
10
  keys.forEach((key) => {
16
11
  if (key in process.env) {
@@ -21,4 +16,4 @@ if (!(0, _1.isNow)() &&
21
16
  }
22
17
  });
23
18
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcGF0Y2gtcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUF1Qjs7QUFFdkIsMkNBQThDO0FBQzlDLHlCQU9ZO0FBRVosTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQztBQUNyRSxNQUFNLElBQUksR0FBMEIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRS9FLElBQ0UsQ0FBQyxJQUFBLFFBQUssR0FBRTtJQUNSLENBQUMsSUFBQSxXQUFRLEdBQUU7SUFDWCxDQUFDLElBQUEsa0JBQWUsR0FBRTtJQUNsQixDQUFDLElBQUEsYUFBVSxHQUFFO0lBQ2IsQ0FBQyxJQUFBLFlBQVMsR0FBRTtJQUNaLENBQUMsSUFBQSxZQUFTLEdBQUUsRUFDWjtJQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkNBQTJDLEdBQUcsRUFBRSxDQUFDO0lBRTdELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNuQixJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRS9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7Q0FDSiJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcGF0Y2gtcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUF1Qjs7QUFFdkIsMkNBQThDO0FBQzlDLHlCQUErQjtBQUUvQixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sSUFBSSxHQUEwQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFL0UsSUFBSSxDQUFDLElBQUEsWUFBUyxHQUFFLEVBQUU7SUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsR0FBRyxFQUFFLENBQUM7SUFFN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ25CLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFL0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDLENBQUMsQ0FBQztDQUNKIn0=
@@ -1,6 +1,6 @@
1
1
  import { HttpsNodeConfig, NodeNameFilterType, PossibleNodeConfigType, ShadowsocksNodeConfig, ShadowsocksrNodeConfig, SortedNodeNameFilterType, VmessNodeConfig } from '../types';
2
- export declare const getQuantumultNodes: (list: ReadonlyArray<ShadowsocksNodeConfig | VmessNodeConfig | ShadowsocksrNodeConfig | HttpsNodeConfig>, groupName?: string, filter?: SortedNodeNameFilterType | NodeNameFilterType | undefined) => string;
2
+ export declare const getQuantumultNodes: (list: ReadonlyArray<ShadowsocksNodeConfig | VmessNodeConfig | ShadowsocksrNodeConfig | HttpsNodeConfig>, groupName?: string, filter?: NodeNameFilterType | SortedNodeNameFilterType) => string;
3
3
  /**
4
4
  * @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
5
5
  */
6
- export declare const getQuantumultXNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: SortedNodeNameFilterType | NodeNameFilterType | undefined) => string;
6
+ export declare const getQuantumultXNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeNameFilterType | SortedNodeNameFilterType) => string;
@@ -3,6 +3,6 @@ export declare const parseMacro: (snippet: string) => {
3
3
  functionName: string;
4
4
  arguments: string[];
5
5
  };
6
- export declare const addProxyToSurgeRuleSet: (str: string, proxyName?: string | undefined) => string;
6
+ export declare const addProxyToSurgeRuleSet: (str: string, proxyName?: string) => string;
7
7
  export declare const renderSurgioSnippet: (str: string, args: string[]) => string;
8
8
  export declare const loadRemoteSnippetList: (remoteSnippetList: ReadonlyArray<RemoteSnippetConfig>, cacheSnippet?: boolean) => Promise<ReadonlyArray<RemoteSnippet>>;
@@ -5,12 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.loadRemoteSnippetList = exports.renderSurgioSnippet = exports.addProxyToSurgeRuleSet = exports.parseMacro = void 0;
7
7
  const bluebird_1 = __importDefault(require("bluebird"));
8
- const crypto_1 = __importDefault(require("crypto"));
9
8
  const logger_1 = require("@surgio/logger");
10
9
  const detect_newline_1 = __importDefault(require("detect-newline"));
11
10
  const nunjucks_1 = __importDefault(require("nunjucks"));
12
11
  const espree_1 = __importDefault(require("espree"));
12
+ const constant_1 = require("../constant");
13
13
  const cache_1 = require("./cache");
14
+ const config_1 = require("./config");
14
15
  const env_flag_1 = require("./env-flag");
15
16
  const http_client_1 = __importDefault(require("./http-client"));
16
17
  const index_1 = require("./index");
@@ -94,7 +95,9 @@ const renderSurgioSnippet = (str, args) => {
94
95
  };
95
96
  exports.renderSurgioSnippet = renderSurgioSnippet;
96
97
  const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
97
- const tmpFactory = (0, tmp_helper_1.createTmpFactory)('remote-snippets');
98
+ var _a, _b;
99
+ const cacheType = ((_b = (_a = (0, config_1.getConfig)()) === null || _a === void 0 ? void 0 : _a.cache) === null || _b === void 0 ? void 0 : _b.type) || 'default';
100
+ const tmpFactory = (0, tmp_helper_1.createTmpFactory)(constant_1.CACHE_KEYS.RemoteSnippets, cacheType);
98
101
  function load(url) {
99
102
  return http_client_1.default
100
103
  .get(url)
@@ -108,10 +111,10 @@ const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
108
111
  });
109
112
  }
110
113
  return bluebird_1.default.map(remoteSnippetList, (item) => {
111
- const fileMd5 = crypto_1.default.createHash('md5').update(item.url).digest('hex');
114
+ const fileMd5 = (0, index_1.toMD5)(item.url);
112
115
  const isSurgioSnippet = item.surgioSnippet;
113
116
  return (async () => {
114
- if (cacheSnippet || (0, index_1.isNow)()) {
117
+ if (cacheSnippet) {
115
118
  const tmp = tmpFactory(fileMd5, (0, env_flag_1.getRemoteSnippetCacheMaxage)());
116
119
  const tmpContent = await tmp.getContent();
117
120
  let snippet;
@@ -153,4 +156,4 @@ const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
153
156
  });
154
157
  };
155
158
  exports.loadRemoteSnippetList = loadRemoteSnippetList;
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXNuaXBwZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcmVtb3RlLXNuaXBwZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQWdDO0FBQ2hDLG9EQUE0QjtBQUM1QiwyQ0FBd0M7QUFDeEMsb0VBQTJDO0FBQzNDLHdEQUFnQztBQUNoQyxvREFBeUQ7QUFHekQsbUNBQXNDO0FBQ3RDLHlDQUFnRjtBQUNoRixnRUFBdUM7QUFDdkMsbUNBQWdDO0FBQ2hDLDZDQUFnRDtBQUV6QyxNQUFNLFVBQVUsR0FBRyxDQUN4QixPQUFlLEVBSWYsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDL0I7SUFFRCxNQUFNLEdBQUcsR0FBRyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxJQUFJLFNBQThDLENBQUM7SUFFbkQsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFO1FBQzNCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsRUFBRTtZQUN2QyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLE1BQU07U0FDUDtLQUNGO0lBRUQsSUFDRSxDQUFDLFNBQVM7UUFDVixTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxnQkFBZ0I7UUFDOUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFDM0M7UUFDQSxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9CO0lBRUQsT0FBTztRQUNMLFlBQVksRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQzlDLFNBQVMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUMsQ0FBQztBQW5DVyxRQUFBLFVBQVUsY0FtQ3JCO0FBRUssTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxHQUFXLEVBQ1gsU0FBa0IsRUFDVixFQUFFO0lBQ1YsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDaEM7SUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHdCQUFhLEVBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBRXZDLE9BQU8sR0FBRztTQUNQLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNaLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0IsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDcEMsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLElBQUksQ0FBQztZQUNWLEtBQUssS0FBSztnQkFDUixPQUFPLEdBQUcsSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCO2dCQUNFLElBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUNwQztvQkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7eUJBQzFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO3lCQUMzQixJQUFJLEVBQUUsQ0FBQztpQkFDWDtnQkFDRCxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBM0NXLFFBQUEsc0JBQXNCLDBCQTJDakM7QUFFSyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBVyxFQUFFLElBQWMsRUFBVSxFQUFFO0lBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUEsa0JBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUU5QixLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNyQyxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLFdBQVcsRUFBRTtZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQzVDO2FBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sUUFBUSxHQUFHO1FBQ2YsR0FBRyxHQUFHLEVBQUU7UUFDUixXQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07S0FDcEUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFYixPQUFPLGtCQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFoQlcsUUFBQSxtQkFBbUIsdUJBZ0I5QjtBQUVLLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsaUJBQXFELEVBQ3JELFlBQVksR0FBRyxJQUFJLEVBQ29CLEVBQUU7SUFDekMsTUFBTSxVQUFVLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXZELFNBQVMsSUFBSSxDQUFDLEdBQVc7UUFDdkIsT0FBTyxxQkFBVTthQUNkLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDUixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNiLGVBQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLGVBQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxrQkFBUSxDQUFDLEdBQUcsQ0FDakIsaUJBQWlCLEVBQ2pCLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDUCxNQUFNLE9BQU8sR0FBRyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTNDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqQixJQUFJLFlBQVksSUFBSSxJQUFBLGFBQUssR0FBRSxFQUFFO2dCQUMzQixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUEsc0NBQTJCLEdBQUUsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLFVBQVUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxPQUFlLENBQUM7Z0JBRXBCLElBQUksVUFBVSxFQUFFO29CQUNkLE9BQU8sR0FBRyxVQUFVLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQy9CLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDL0I7Z0JBRUQsT0FBTztvQkFDTCxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFLENBQzFCLGVBQWU7d0JBQ2IsQ0FBQyxDQUFDLElBQUEsMkJBQW1CLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQzt3QkFDcEMsQ0FBQyxDQUFDLElBQUEsOEJBQXNCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDOUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDYixJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU87aUJBQ3ZCLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxNQUFNLE9BQU8sR0FBVyxtQkFBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUMvQyxDQUFDLENBQUUsbUJBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWTtvQkFDdkMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDaEMsbUJBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBQSxzQ0FBMkIsR0FBRSxDQUFDLENBQUM7d0JBQzlELE9BQU8sR0FBRyxDQUFDO29CQUNiLENBQUMsQ0FBQyxDQUFDO2dCQUVQLE9BQU87b0JBQ0wsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFjLEVBQUUsRUFBRSxDQUMxQixlQUFlO3dCQUNiLENBQUMsQ0FBQyxJQUFBLDJCQUFtQixFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7d0JBQ3BDLENBQUMsQ0FBQyxJQUFBLDhCQUFzQixFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7b0JBQ2IsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPO2lCQUN2QixDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsQ0FBQyxFQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUEsZ0NBQXFCLEdBQUU7S0FDckMsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBdkVXLFFBQUEscUJBQXFCLHlCQXVFaEMifQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXNuaXBwZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcmVtb3RlLXNuaXBwZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQWdDO0FBQ2hDLDJDQUF3QztBQUN4QyxvRUFBMkM7QUFDM0Msd0RBQWdDO0FBQ2hDLG9EQUF5RDtBQUN6RCwwQ0FBeUM7QUFHekMsbUNBQXNDO0FBQ3RDLHFDQUFxQztBQUNyQyx5Q0FBZ0Y7QUFDaEYsZ0VBQXVDO0FBQ3ZDLG1DQUFnQztBQUNoQyw2Q0FBZ0Q7QUFFekMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsT0FBZSxFQUlmLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9CO0lBRUQsTUFBTSxHQUFHLEdBQUcsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkQsSUFBSSxTQUE4QyxDQUFDO0lBRW5ELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUU7WUFDdkMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNqQixNQUFNO1NBQ1A7S0FDRjtJQUVELElBQ0UsQ0FBQyxTQUFTO1FBQ1YsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCO1FBQzlDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQzNDO1FBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENB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
package/build/utils/ss.js CHANGED
@@ -1,37 +1,35 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.parseSSUri = void 0;
7
- const debug_1 = __importDefault(require("debug"));
8
- const url_1 = __importDefault(require("url"));
4
+ const logger_1 = require("@surgio/logger");
5
+ const url_1 = require("url");
9
6
  const types_1 = require("../types");
10
7
  const index_1 = require("./index");
11
- const debug = (0, debug_1.default)('surgio:utils:ss');
8
+ const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:ss' });
12
9
  const parseSSUri = (str) => {
13
- debug('Shadowsocks URI', str);
14
- const scheme = url_1.default.parse(str, true);
15
- const userInfo = (0, index_1.fromUrlSafeBase64)(scheme.auth).split(':');
16
- const pluginInfo = typeof scheme.query.plugin === 'string'
17
- ? (0, index_1.decodeStringList)(scheme.query.plugin.split(';'))
10
+ logger.debug('Shadowsocks URI', str);
11
+ const scheme = new url_1.URL(str);
12
+ const pluginString = scheme.searchParams.get('plugin');
13
+ const userInfo = (0, index_1.fromUrlSafeBase64)(decodeURIComponent(scheme.username)).split(':');
14
+ const pluginInfo = typeof pluginString === 'string'
15
+ ? (0, index_1.decodeStringList)(pluginString.split(';'))
18
16
  : {};
19
17
  return Object.assign(Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Shadowsocks, nodeName: decodeURIComponent(scheme.hash.replace('#', '')), hostname: scheme.hostname, port: scheme.port, method: userInfo[0], password: userInfo[1] }, (pluginInfo['obfs-local']
20
18
  ? {
21
19
  obfs: pluginInfo.obfs,
22
- 'obfs-host': pluginInfo['obfs-host'],
20
+ 'obfs-host': pluginInfo['obfs-host'] + '',
23
21
  }
24
22
  : null)), (pluginInfo['simple-obfs']
25
23
  ? {
26
24
  obfs: pluginInfo.obfs,
27
- 'obfs-host': pluginInfo['obfs-host'],
25
+ 'obfs-host': pluginInfo['obfs-host'] + '',
28
26
  }
29
27
  : null)), (pluginInfo['v2ray-plugin']
30
28
  ? {
31
29
  obfs: pluginInfo.tls ? 'wss' : 'ws',
32
- 'obfs-host': pluginInfo.host,
30
+ 'obfs-host': pluginInfo.host + '',
33
31
  }
34
32
  : null));
35
33
  };
36
34
  exports.parseSSUri = parseSSUri;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDhDQUEyQztBQUUzQyxvQ0FBK0Q7QUFDL0QsbUNBQThEO0FBRTlELE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBSyxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFaEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQXlCLEVBQUU7SUFDL0QsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTlCLE1BQU0sTUFBTSxHQUFHLGFBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQWlCLEVBQUMsTUFBTSxDQUFDLElBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyRSxNQUFNLFVBQVUsR0FDZCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLFFBQVE7UUFDckMsQ0FBQyxDQUFDLElBQUEsd0JBQWdCLEVBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFVCxtREFDRSxJQUFJLEVBQUUsb0JBQVksQ0FBQyxXQUFXLEVBQzlCLFFBQVEsRUFBRSxrQkFBa0IsQ0FBRSxNQUFNLENBQUMsSUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDdEUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFrQixFQUNuQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQWMsRUFDM0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDbkIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFDbEIsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzFCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBc0I7WUFDdkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQVc7U0FDL0M7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzNCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBc0I7WUFDdkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQVc7U0FDL0M7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1FBQzVCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxJQUFjO1NBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO0FBQ0osQ0FBQyxDQUFDO0FBcENXLFFBQUEsVUFBVSxjQW9DckIifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQThDO0FBQzlDLDZCQUEwQjtBQUUxQixvQ0FBK0Q7QUFDL0QsbUNBQThEO0FBRTlELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7QUFFckQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQXlCLEVBQUU7SUFDL0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFpQixFQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDM0UsR0FBRyxDQUNKLENBQUM7SUFDRixNQUFNLFVBQVUsR0FDZCxPQUFPLFlBQVksS0FBSyxRQUFRO1FBQzlCLENBQUMsQ0FBQyxJQUFBLHdCQUFnQixFQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUVULG1EQUNFLElBQUksRUFBRSxvQkFBWSxDQUFDLFdBQVcsRUFDOUIsUUFBUSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUMxRCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFDekIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQ2pCLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ25CLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQ2xCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUMxQixDQUFDLENBQUM7WUFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQXNCO1lBQ3ZDLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtTQUMxQztRQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1lBQ0UsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFzQjtZQUN2QyxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7U0FDMUM7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1FBQzVCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRTtTQUNsQztRQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDtBQUNKLENBQUMsQ0FBQztBQXZDVyxRQUFBLFVBQVUsY0F1Q3JCIn0=
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.parseSSRUri = void 0;
7
- const debug_1 = __importDefault(require("debug"));
4
+ const logger_1 = require("@surgio/logger");
8
5
  const types_1 = require("../types");
9
6
  const index_1 = require("./index");
10
- const debug = (0, debug_1.default)('surgio:utils:ssr');
7
+ const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:ssr' });
11
8
  /**
12
9
  * 协议:https://github.com/shadowsocksr-backup/shadowsocks-rss/wiki/SSR-QRcode-scheme
13
10
  * ssr://xxx:xxx:xxx:xxx:xxx:xxx/?a=1&b=2
@@ -18,7 +15,7 @@ const parseSSRUri = (str) => {
18
15
  const scheme = (0, index_1.fromUrlSafeBase64)(str.replace('ssr://', ''));
19
16
  const configArray = scheme.split('/');
20
17
  const basicInfo = configArray[0].split(':');
21
- debug('SSR URI', scheme);
18
+ logger.debug('SSR URI', scheme);
22
19
  // 去除首部分
23
20
  configArray.shift();
24
21
  const extraString = configArray.join('/');
@@ -54,4 +51,4 @@ function getUrlParameters(url) {
54
51
  });
55
52
  return result;
56
53
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3Nzci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFFMUIsb0NBQWdFO0FBQ2hFLG1DQUE0QztBQUU1QyxNQUFNLEtBQUssR0FBRyxJQUFBLGVBQUssRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXhDOzs7O0dBSUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBMEIsRUFBRTs7SUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU1QyxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXpCLFFBQVE7SUFDUixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFcEIsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEUsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUMsQ0FBQztJQUM5RCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUM7SUFDdkMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQVksQ0FBQztJQUMzQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUM7SUFDdkMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTztRQUM3QixDQUFDLENBQUMsSUFBQSx5QkFBaUIsRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUUxQixPQUFPO1FBQ0wsSUFBSSxFQUFFLG9CQUFZLENBQUMsWUFBWTtRQUMvQixRQUFRO1FBQ1IsUUFBUTtRQUNSLElBQUk7UUFDSixRQUFRO1FBQ1IsTUFBTTtRQUNOLElBQUk7UUFDSixRQUFRO1FBQ1IsVUFBVSxFQUFFLElBQUEseUJBQWlCLEVBQUMsTUFBQSxNQUFNLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN6RSxTQUFTLEVBQUUsSUFBQSx5QkFBaUIsRUFBQyxNQUFBLE1BQU0sQ0FBQyxTQUFTLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0tBQ3hFLENBQUM7QUFDSixDQUFDLENBQUM7QUFsQ1csUUFBQSxXQUFXLGVBa0N0QjtBQUVGLFNBQVMsZ0JBQWdCLENBQUMsR0FBVztJQUNuQyxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO0lBQzFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3Nzci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBOEM7QUFFOUMsb0NBQWdFO0FBQ2hFLG1DQUE0QztBQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBRTdEOzs7O0dBSUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBMEIsRUFBRTs7SUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVoQyxRQUFRO0lBQ1IsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRXBCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDLENBQUM7SUFDOUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQVksQ0FBQztJQUN6QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUM7SUFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU87UUFDN0IsQ0FBQyxDQUFDLElBQUEseUJBQWlCLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxDQUFDLENBQUMsR0FBRyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7SUFFMUIsT0FBTztRQUNMLElBQUksRUFBRSxvQkFBWSxDQUFDLFlBQVk7UUFDL0IsUUFBUTtRQUNSLFFBQVE7UUFDUixJQUFJO1FBQ0osUUFBUTtRQUNSLE1BQU07UUFDTixJQUFJO1FBQ0osUUFBUTtRQUNSLFVBQVUsRUFBRSxJQUFBLHlCQUFpQixFQUFDLE1BQUEsTUFBTSxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDekUsU0FBUyxFQUFFLElBQUEseUJBQWlCLEVBQUMsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztLQUN4RSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBbENXLFFBQUEsV0FBVyxlQWtDdEI7QUFFRixTQUFTLGdCQUFnQixDQUFDLEdBQVc7SUFDbkMsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztJQUMxQyxHQUFHLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
@@ -3,4 +3,4 @@ export declare const getSurgeExtendHeaders: (wsHeaders: Record<string, string>)
3
3
  /**
4
4
  * @see https://manual.nssurge.com/policy/proxy.html
5
5
  */
6
- export declare const getSurgeNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: SortedNodeNameFilterType | NodeFilterType | undefined) => string;
6
+ export declare const getSurgeNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeNameFilterType) => string;