vpn-split 19.0.0 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
1
+ THIS FILE IS GENERATED - DO NOT MODIFY
2
2
 
3
- Assets from this folder are being shipped with this npm package (vpn-split@18.0.23)
3
+ Assets from this folder are being shipped with this npm package (vpn-split@19.0.0)
4
4
  created from this project.
5
5
 
6
- THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
6
+ THIS FILE IS GENERATED - DO NOT MODIFY
7
7
 
@@ -174,7 +174,6 @@ class HostForServer {
174
174
  /* */
175
175
  ;
176
176
  ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxVQUFVLENBQUM7QUFDekIsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbiAgXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT12cG4tc3BsaXQgbGliL2luZGV4LnRzIl19
178
177
 
179
178
  /**
180
179
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAuCa,aAAa,CAAA;IAGjB,KAAK,GAAA;AACV,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGjC,OAAO,IAAI,CACT,UAMK,EACL,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,KAAK,EAAA;QAEhB,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,KAAK,CAAC;;QAEf,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,YAAY,aAAa,EAAE;YACjE,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAqB;YACnE,SAAS,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI;YACnE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACpC,gBAAA,SAAS,CAAC,QAAQ,GAAG,QAAQ;;AAE/B,YAAA,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC;;AAErC,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;;YAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC3C,IAAI,MAAM,EAAE;gBACV,UAAU,GAAG,MAAa;;;QAI9B,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,YAAY,GAAG,EAAE;AACvD,YAAA,UAAU,GAAG,UAAiB,CAAC;YAC/B,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;AACvC,gBAAA,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;iBAC9D;AACL,gBAAA,OAAO,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;;aAEpE;AACL,YAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC1B,OAAO,IAAI,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;iBACnD;AACJ,gBAAA,UAA+B,CAAC,IAAI;AACnC,oBAAA,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK;AACtB,0BAAE;AACF,0BAAG,UAA+B,CAAC,IAAI;gBAC3C,IAAI,CAAC,CAAC,CAAC,SAAS,CAAE,UAA+B,CAAC,QAAQ,CAAC,EAAE;AAC1D,oBAAA,UAA+B,CAAC,QAAQ,GAAG,QAAQ;;AAEtD,gBAAA,OAAO,IAAI,aAAa,CAAC,UAAiB,CAAC;;;;AAIjD,IAAA,WAAA,CAAY,IAAsB,EAAA;QA6HlC,IAAQ,CAAA,QAAA,GAAG,MAAK;AACd,YAAA,OAAO,CAAoB,iBAAA,EAAA,IAAI,CAAC,kBAAkB,EAAE;AACtD,SAAC;AA9HC,QAAA,IAAI,IAAI,EAAE,UAAU,EAAE;;YAEpB,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU;;iBACpB;AACL,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU;;;AAGjC,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,EAAE,GAAG,EAAE;;AAEd,QAAA,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;;QAElB,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,EAAE;;QAEX,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;;AAE7B,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;;AAE1D,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;AAEnB,IAAA,IAAW,EAAE,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;;IAEtB,IAAW,EAAE,CAAC,YAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY;;AAE9B,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;;AAG1B,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;QAEX,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;;AAEtC,QAAA,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAClC,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;;AAG3B,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;;AAG9B,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;;IAExB,IAAW,IAAI,CAAC,CAAC,EAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;;AAGrB,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc;;IAElC,IAAW,cAAc,CAAC,CAAC,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC;;AAG/B,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;;AAE5B,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS;;AAE7B,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;IAErC,IAAW,QAAQ,CAAC,CAAC,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;;AAEzB,IAAA,IAAW,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE;;AAEzC,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;QAEX,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE;AACvD,QAAA,OAAO,GAAG;;AAIZ,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,EAAE;;QAEX,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE;AAC/D,QAAA,OAAO,GAAG;;AAIZ,IAAA,IAAW,QAAQ,GAAA;;AAEjB,QAAA,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AACrD,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAGhC,IAAA,IAAW,kBAAkB,GAAA;;AAE3B,QAAA,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;AACjD,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAGhC,IAAA,IAAW,UAAU,GAAA;;QAEnB,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACnC,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;AAGhC,IAAA,IAAW,kBAAkB,GAAA;AAC3B,QAAA,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,UAAU,CAAA,CAAE,CAAC;;AAK5D;AAEA;AAAC,CAAC,EAAE,EAAE;;ACjOP;AACA;AAGC;AAAC,CAAC,EAAE,EAAE;;;ACPP;;AAEG;;;;"}
1
+ {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -174,7 +174,6 @@ class HostForServer {
174
174
  /* */
175
175
  ;
176
176
  ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxVQUFVLENBQUM7QUFDekIsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbiAgXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT12cG4tc3BsaXQgbGliL2luZGV4LnRzIl19
178
177
 
179
178
  /**
180
179
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
2
+ export declare const CURRENT_PACKAGE_VERSION = "19.0.0";
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BUILD_FRAMEWORK_CLI_NAME = void 0;
3
+ exports.CURRENT_PACKAGE_VERSION = exports.BUILD_FRAMEWORK_CLI_NAME = void 0;
4
+ // THIS FILE IS GENERATED - DO NOT MODIFY
4
5
  exports.BUILD_FRAMEWORK_CLI_NAME = 'tnp';
6
+ exports.CURRENT_PACKAGE_VERSION = '19.0.0';
7
+ // THIS FILE IS GENERATED - DO NOT MODIFY
5
8
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/vpn-split/src/lib/build-info._auto-generated_.ts"],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/vpn-split/src/lib/build-info._auto-generated_.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,wBAAwB,GAAG,KAAK,CAAC;AACjC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAChD,yCAAyC"}
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  // This file is auto-generated. Do not modify.
3
- // This is only placholder.
3
+ // This is only placeholder.
4
4
  // Use property "shouldGenerateAutogenIndexFile: true"
5
- // in taon.jsonc to enable autogeneration.
5
+ // in taon.jsonc to enable ts exports auto generation.
6
6
  //# sourceMappingURL=index._auto-generated_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/vpn-split/src/lib/index._auto-generated_.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,2BAA2B;AAC3B,uDAAuD;AACvD,2CAA2C"}
1
+ {"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/vpn-split/src/lib/index._auto-generated_.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,4BAA4B;AAC5B,uDAAuD;AACvD,uDAAuD"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "vpn-split",
3
- "version": "19.0.0",
3
+ "version": "19.0.1",
4
4
  "license": "MIT",
5
5
  "author": "Dariusz Filipiak",
6
6
  "private": false,
7
7
  "dependencies": {
8
- "tnp-helpers": "~18.0.22",
8
+ "tnp-helpers": "~19.0.0",
9
9
  "hostile": "~1.3.3",
10
10
  "is-elevated": "~3.0.0"
11
11
  },
package/src.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- // THIS FILE IS GENERATED
1
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2
2
  export * from './lib';
3
- // THIS FILE IS GENERATED
3
+ // THIS FILE IS GENERATED - DO NOT MODIFY
4
4
  // please use command: taon build:watch to see here links for your globally builded lib code files
5
- // THIS FILE IS GENERATED
5
+ // THIS FILE IS GENERATED - DO NOT MODIFY
6
6
 
@@ -20,14 +20,15 @@
20
20
  "cli": {},
21
21
  "lib": {},
22
22
  "autoReleaseUsingConfig": true,
23
- "releaseVersionBumpType": "major",
23
+ "releaseVersionBumpType": "patch",
24
24
  "releaseType": "manual",
25
- "targetArtifact": "npm-lib-and-cli-tool"
25
+ "targetArtifact": "npm-lib-and-cli-tool",
26
+ "envName": "__"
26
27
  },
27
28
  "copyToManager": {},
28
29
  "buildInfo": {
29
- "date": "2025-04-18T12:39:24.000Z",
30
- "hash": "91d420893bf207da196aa9c1b7e52ac2d00469b6"
30
+ "date": "2025-04-22T14:23:54.000Z",
31
+ "hash": "296acf77e519645f0e3501127394d8f6463ae718"
31
32
  },
32
33
  "currentProjectName": "vpn-split",
33
34
  "currentProjectType": "isomorphic-lib",
@@ -174,7 +174,6 @@ class HostForServer {
174
174
  /* */
175
175
  ;
176
176
  ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLEtBQUs7QUFDTCxLQUFLO0FBR0osQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dnBuLXNwbGl0IGxpYi9pbmRleC50cyJdfQ==
178
177
 
179
178
  /**
180
179
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist-websql/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist-websql/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist-websql/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/websql';\nimport { Helpers } from 'tnp-helpers/websql';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist-websql/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist-websql/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist-websql/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _, chalk } from 'tnp-core/websql';\nimport { Helpers } from 'tnp-helpers/websql';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = name && name.trim() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name =\n name && name.trim() !== ''\n ? name\n : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n // @ts-ignore\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get environmentName() {\n return this._data.environmentName || '';\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export * from './models';
2
- /* */
3
- /* */
4
- ;
5
- ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxVQUFVLENBQUM7QUFDekIsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbiAgXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT12cG4tc3BsaXQgbGliL2luZGV4LnRzIl19
@@ -1,171 +0,0 @@
1
- import { _, chalk } from 'tnp-core/browser';
2
- import { Helpers } from 'tnp-helpers/browser';
3
- export class HostForServer {
4
- clone() {
5
- return HostForServer.From(this);
6
- }
7
- static From(ipOrDomain, name = '', disabled = false) {
8
- if (!ipOrDomain) {
9
- return void 0;
10
- }
11
- if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
12
- const dataClone = _.cloneDeep(ipOrDomain._data);
13
- dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
14
- if (!_.isBoolean(dataClone.disabled)) {
15
- dataClone.disabled = disabled;
16
- }
17
- return new HostForServer(dataClone);
18
- }
19
- if (_.isString(ipOrDomain)) {
20
- // @ts-ignore
21
- const parsed = Helpers.urlParse(ipOrDomain);
22
- if (parsed) {
23
- ipOrDomain = parsed;
24
- }
25
- }
26
- if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
27
- ipOrDomain = ipOrDomain; // @ts-ignore
28
- if (Helpers.isValidIp(ipOrDomain?.host)) {
29
- return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
30
- }
31
- else {
32
- return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
33
- }
34
- }
35
- else {
36
- if (_.isString(ipOrDomain)) {
37
- return new HostForServer({ ipOrDomain, name, disabled });
38
- }
39
- else {
40
- ipOrDomain.name =
41
- name && name.trim() !== ''
42
- ? name
43
- : ipOrDomain.name;
44
- if (!_.isBoolean(ipOrDomain.disabled)) {
45
- ipOrDomain.disabled = disabled;
46
- }
47
- return new HostForServer(ipOrDomain);
48
- }
49
- }
50
- }
51
- constructor(data) {
52
- this.toString = () => {
53
- return `[string version] ${this.nameWithIpOrDomain}`;
54
- };
55
- if (data?.ipOrDomain) {
56
- // @ts-ignore
57
- if (Helpers.isValidIp(data.ipOrDomain)) {
58
- data.ip = data.ipOrDomain;
59
- }
60
- else {
61
- data.domain = data.ipOrDomain;
62
- }
63
- }
64
- if (data && !data.ip) {
65
- data.ip = '';
66
- }
67
- if (data && !data.domain) {
68
- data.domain = '';
69
- }
70
- if (!data) {
71
- data = {};
72
- }
73
- if (_.isString(data?.aliases)) {
74
- // @ts-ignore
75
- data.aliases = Helpers.strings.splitIfNeed(data.aliases);
76
- }
77
- this._data = data;
78
- }
79
- get ip() {
80
- if (this.disabled) {
81
- return '';
82
- }
83
- return this._data.ip;
84
- }
85
- set ip(newIpAddress) {
86
- this._data.ip = newIpAddress;
87
- }
88
- get domain() {
89
- if (this.disabled) {
90
- return '';
91
- }
92
- return this._data.domain;
93
- }
94
- get aliases() {
95
- if (this.disabled) {
96
- return [];
97
- }
98
- if (_.isString(this._data.aliases)) {
99
- return this._data.aliases.split(' ');
100
- }
101
- if (!_.isArray(this._data.aliases)) {
102
- return [];
103
- }
104
- return this._data.aliases;
105
- }
106
- get firstAlias() {
107
- return _.first(this.aliases);
108
- }
109
- get name() {
110
- return this._data.name;
111
- }
112
- set name(v) {
113
- this._data.name = v;
114
- }
115
- get originHostname() {
116
- return this._data.originHostname;
117
- }
118
- set originHostname(v) {
119
- this._data.originHostname = v;
120
- }
121
- get disabled() {
122
- return this._data.disabled;
123
- }
124
- get isDefault() {
125
- return this._data.isDefault;
126
- }
127
- get identifier() {
128
- return _.kebabCase(this._data.name);
129
- }
130
- set disabled(v) {
131
- this._data.disabled = v;
132
- }
133
- get environmentName() {
134
- return this._data.environmentName || '';
135
- }
136
- get ipOrDomain() {
137
- if (this.disabled) {
138
- return '';
139
- }
140
- const res = (this.domain ? this.domain : this.ip) || '';
141
- return res;
142
- }
143
- get ipOrFirstAlias() {
144
- if (this.disabled) {
145
- return '';
146
- }
147
- const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
148
- return res;
149
- }
150
- get hostname() {
151
- // @ts-ignore
152
- const h = Helpers.urlParse(this.ipOrFirstAlias, true);
153
- return h ? h.hostname : void 0;
154
- }
155
- get hostnameFirstAlias() {
156
- // @ts-ignore
157
- const h = Helpers.urlParse(this.firstAlias, true);
158
- return h ? h.hostname : void 0;
159
- }
160
- get hostnameIp() {
161
- // @ts-ignore
162
- const h = Helpers.urlParse(this.ip);
163
- return h ? h.hostname : void 0;
164
- }
165
- get nameWithIpOrDomain() {
166
- return chalk.underline(`${this.name} ${this.ipOrDomain}`);
167
- }
168
- }
169
- ;
170
- ({}); // @--end-of-file-for-module=vpn-split lib/models.ts
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW9DOUMsTUFBTSxPQUFPLGFBQWE7SUFHakIsS0FBSztRQUNWLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FDVCxVQU1LLEVBQ0wsSUFBSSxHQUFHLEVBQUUsRUFDVCxRQUFRLEdBQUcsS0FBSztRQUVoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQXFCLENBQUM7WUFDcEUsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0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RCxDQUFDO0NBSUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9EQUFvRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBjaGFsayB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1oZWxwZXJzL2Jyb3dzZXInO1xuXG4vKioqXG4gKiBAZGVwcmVjYXRlZFxuICogdXNlIG5vcm1hbCBvYmplY3RzXG4gKi9cbmV4cG9ydCB0eXBlIEV0Y0hvc3RzID0geyBbaG9zdE5hbWUgaW4gc3RyaW5nXTogSG9zdEZvclNlcnZlciB9O1xuXG4vKioqXG4gKiBAZGVwcmVjYXRlZFxuICogdXNlIG5vcm1hbCBvYmplY3RzXG4gKi9cbmV4cG9ydCB0eXBlIElFdGNIb3N0cyA9IHtcbiAgW2hvc3ROYW1lIGluIHN0cmluZ106IFBhcnRpYWw8XG4gICAgUGljazxIb3N0Rm9yU2VydmVyLCAnYWxpYXNlcycgfCAnaXBPckRvbWFpbicgfCAnZW52aXJvbm1lbnROYW1lJz5cbiAgPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0SG9zdEZvclNlcnZlciB7XG4gIGlwPzogc3RyaW5nO1xuICBkb21haW4/OiBzdHJpbmc7XG4gIGlwT3JEb21haW4/OiBzdHJpbmc7XG4gIGVudmlyb25tZW50TmFtZT86IHN0cmluZztcbiAgYWxpYXNlcz86IHN0cmluZ1tdO1xuICBpc0RlZmF1bHQ/OiBib29sZWFuO1xuICAvKipcbiAgICogaXAgZnJvbSBjb21tYW5kOiB2cG4tY2xpIDE5Mi4xNjguMS4xIDE5Mi4xNjguMS4yXG4gICAqL1xuICBvcmlnaW5Ib3N0bmFtZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIGlmIHRydWUgLSBpcCBhbmQgZG9tYWluIHdpbGwgb3V0cHV0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdEZvclNlcnZlciBpbXBsZW1lbnRzIE9wdEhvc3RGb3JTZXJ2ZXIge1xuICBwcml2YXRlIF9kYXRhOiBPcHRIb3N0Rm9yU2VydmVyO1xuXG4gIHB1YmxpYyBjbG9uZSgpIHtcbiAgICByZXR1cm4gSG9zdEZvclNlcnZlci5Gcm9tKHRoaXMpO1xuICB9XG5cbiAgc3RhdGljIEZyb20oXG4gICAgaXBPckRvbWFpbjpcbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IFVSTFxuICAgICAgfCBQaWNrPFxuICAgICAgICAgIE9wdEhvc3RGb3JTZXJ2ZXIgfCBIb3N0Rm9yU2VydmVyLFxuICAgICAgICAgICdpcE9yRG9tYWluJyB8ICdhbGlhc2VzJyB8ICdvcmlnaW5Ib3N0bmFtZSdcbiAgICAgICAgPixcbiAgICBuYW1lID0gJycsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgKTogSG9zdEZvclNlcnZlciB7XG4gICAgaWYgKCFpcE9yRG9tYWluKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBpZiAoXy5pc09iamVjdChpcE9yRG9tYWluKSAmJiBpcE9yRG9tYWluIGluc3RhbmNlb2YgSG9zdEZvclNlcnZlcikge1xuICAgICAgY29uc3QgZGF0YUNsb25lID0gXy5jbG9uZURlZXAoaXBPckRvbWFpbi5fZGF0YSkgYXMgT3B0SG9zdEZvclNlcnZlcjtcbiAgICAgIGRhdGFDbG9uZS5uYW1lID0gbmFtZSAmJiBuYW1lLnRyaW0oKSAhPT0gJycgPyBuYW1lIDogZGF0YUNsb25lLm5hbWU7XG4gICAgICBpZiAoIV8uaXNCb29sZWFuKGRhdGFDbG9uZS5kaXNhYmxlZCkpIHtcbiAgICAgICAgZGF0YUNsb25lLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoZGF0YUNsb25lKTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcoaXBPckRvbWFpbikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEhlbHBlcnMudXJsUGFyc2UoaXBPckRvbWFpbik7XG4gICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgIGlwT3JEb21haW4gPSBwYXJzZWQgYXMgYW55O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzT2JqZWN0KGlwT3JEb21haW4pICYmIGlwT3JEb21haW4gaW5zdGFuY2VvZiBVUkwpIHtcbiAgICAgIGlwT3JEb21haW4gPSBpcE9yRG9tYWluIGFzIFVSTDsgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKEhlbHBlcnMuaXNWYWxpZElwKGlwT3JEb21haW4/Lmhvc3QpKSB7XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcih7IGlwOiBpcE9yRG9tYWluLm9yaWdpbiwgbmFtZSwgZGlzYWJsZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoeyBkb21haW46IGlwT3JEb21haW4ub3JpZ2luLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKF8uaXNTdHJpbmcoaXBPckRvbWFpbikpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKHsgaXBPckRvbWFpbiwgbmFtZSwgZGlzYWJsZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5uYW1lID1cbiAgICAgICAgICBuYW1lICYmIG5hbWUudHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgPyBuYW1lXG4gICAgICAgICAgICA6IChpcE9yRG9tYWluIGFzIE9wdEhvc3RGb3JTZXJ2ZXIpLm5hbWU7XG4gICAgICAgIGlmICghXy5pc0Jvb2xlYW4oKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoaXBPckRvbWFpbiBhcyBhbnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdHJ1Y3RvcihkYXRhOiBPcHRIb3N0Rm9yU2VydmVyKSB7XG4gICAgaWYgKGRhdGE/LmlwT3JEb21haW4pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChIZWxwZXJzLmlzVmFsaWRJcChkYXRhLmlwT3JEb21haW4pKSB7XG4gICAgICAgIGRhdGEuaXAgPSBkYXRhLmlwT3JEb21haW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLmRvbWFpbiA9IGRhdGEuaXBPckRvbWFpbjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEgJiYgIWRhdGEuaXApIHtcbiAgICAgIGRhdGEuaXAgPSAnJztcbiAgICB9XG4gICAgaWYgKGRhdGEgJiYgIWRhdGEuZG9tYWluKSB7XG4gICAgICBkYXRhLmRvbWFpbiA9ICcnO1xuICAgIH1cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSB7fTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcoZGF0YT8uYWxpYXNlcykpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGRhdGEuYWxpYXNlcyA9IEhlbHBlcnMuc3RyaW5ncy5zcGxpdElmTmVlZChkYXRhLmFsaWFzZXMpO1xuICAgIH1cbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuICBwdWJsaWMgZ2V0IGlwKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kYXRhLmlwO1xuICB9XG4gIHB1YmxpYyBzZXQgaXAobmV3SXBBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kYXRhLmlwID0gbmV3SXBBZGRyZXNzO1xuICB9XG4gIHB1YmxpYyBnZXQgZG9tYWluKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kYXRhLmRvbWFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpYXNlcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcodGhpcy5fZGF0YS5hbGlhc2VzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2RhdGEuYWxpYXNlcy5zcGxpdCgnICcpO1xuICAgIH1cbiAgICBpZiAoIV8uaXNBcnJheSh0aGlzLl9kYXRhLmFsaWFzZXMpKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kYXRhLmFsaWFzZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpcnN0QWxpYXMoKSB7XG4gICAgcmV0dXJuIF8uZmlyc3QodGhpcy5hbGlhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5uYW1lO1xuICB9XG4gIHB1YmxpYyBzZXQgbmFtZSh2KSB7XG4gICAgdGhpcy5fZGF0YS5uYW1lID0gdjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3JpZ2luSG9zdG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEub3JpZ2luSG9zdG5hbWU7XG4gIH1cbiAgcHVibGljIHNldCBvcmlnaW5Ib3N0bmFtZSh2KSB7XG4gICAgdGhpcy5fZGF0YS5vcmlnaW5Ib3N0bmFtZSA9IHY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmRpc2FibGVkO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNEZWZhdWx0KCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmlzRGVmYXVsdDtcbiAgfVxuICBwdWJsaWMgZ2V0IGlkZW50aWZpZXIoKSB7XG4gICAgcmV0dXJuIF8ua2ViYWJDYXNlKHRoaXMuX2RhdGEubmFtZSk7XG4gIH1cbiAgcHVibGljIHNldCBkaXNhYmxlZCh2KSB7XG4gICAgdGhpcy5fZGF0YS5kaXNhYmxlZCA9IHY7XG4gIH1cbiAgcHVibGljIGdldCBlbnZpcm9ubWVudE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZW52aXJvbm1lbnROYW1lIHx8ICcnO1xuICB9XG4gIHB1YmxpYyBnZXQgaXBPckRvbWFpbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCByZXMgPSAodGhpcy5kb21haW4gPyB0aGlzLmRvbWFpbiA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXBPckZpcnN0QWxpYXMoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgcmVzID0gKHRoaXMuZmlyc3RBbGlhcyA/IHRoaXMuZmlyc3RBbGlhcyA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWUoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGggPSBIZWxwZXJzLnVybFBhcnNlKHRoaXMuaXBPckZpcnN0QWxpYXMsIHRydWUpO1xuICAgIHJldHVybiBoID8gaC5ob3N0bmFtZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWVGaXJzdEFsaWFzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBoID0gSGVscGVycy51cmxQYXJzZSh0aGlzLmZpcnN0QWxpYXMsIHRydWUpO1xuICAgIHJldHVybiBoID8gaC5ob3N0bmFtZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWVJcCgpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5pcCk7XG4gICAgcmV0dXJuIGggPyBoLmhvc3RuYW1lIDogdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lV2l0aElwT3JEb21haW4oKSB7XG4gICAgcmV0dXJuIGNoYWxrLnVuZGVybGluZShgJHt0aGlzLm5hbWV9ICR7dGhpcy5pcE9yRG9tYWlufWApO1xuICB9XG4gIHRvU3RyaW5nID0gKCkgPT4ge1xuICAgIHJldHVybiBgW3N0cmluZyB2ZXJzaW9uXSAke3RoaXMubmFtZVdpdGhJcE9yRG9tYWlufWA7XG4gIH07XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT12cG4tc3BsaXQgbGliL21vZGVscy50cyJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './lib';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBuLXNwbGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvdnBuLXNwbGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './models';
2
- /* */
3
- /* */
4
- ;
5
- ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxVQUFVLENBQUM7QUFDekIsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbiAgXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT12cG4tc3BsaXQgbGliL2luZGV4LnRzIl19
@@ -1,171 +0,0 @@
1
- import { _, chalk } from 'tnp-core/browser';
2
- import { Helpers } from 'tnp-helpers/browser';
3
- export class HostForServer {
4
- clone() {
5
- return HostForServer.From(this);
6
- }
7
- static From(ipOrDomain, name = '', disabled = false) {
8
- if (!ipOrDomain) {
9
- return void 0;
10
- }
11
- if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
12
- const dataClone = _.cloneDeep(ipOrDomain._data);
13
- dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
14
- if (!_.isBoolean(dataClone.disabled)) {
15
- dataClone.disabled = disabled;
16
- }
17
- return new HostForServer(dataClone);
18
- }
19
- if (_.isString(ipOrDomain)) {
20
- // @ts-ignore
21
- const parsed = Helpers.urlParse(ipOrDomain);
22
- if (parsed) {
23
- ipOrDomain = parsed;
24
- }
25
- }
26
- if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
27
- ipOrDomain = ipOrDomain; // @ts-ignore
28
- if (Helpers.isValidIp(ipOrDomain?.host)) {
29
- return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
30
- }
31
- else {
32
- return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
33
- }
34
- }
35
- else {
36
- if (_.isString(ipOrDomain)) {
37
- return new HostForServer({ ipOrDomain, name, disabled });
38
- }
39
- else {
40
- ipOrDomain.name =
41
- name && name.trim() !== ''
42
- ? name
43
- : ipOrDomain.name;
44
- if (!_.isBoolean(ipOrDomain.disabled)) {
45
- ipOrDomain.disabled = disabled;
46
- }
47
- return new HostForServer(ipOrDomain);
48
- }
49
- }
50
- }
51
- constructor(data) {
52
- this.toString = () => {
53
- return `[string version] ${this.nameWithIpOrDomain}`;
54
- };
55
- if (data?.ipOrDomain) {
56
- // @ts-ignore
57
- if (Helpers.isValidIp(data.ipOrDomain)) {
58
- data.ip = data.ipOrDomain;
59
- }
60
- else {
61
- data.domain = data.ipOrDomain;
62
- }
63
- }
64
- if (data && !data.ip) {
65
- data.ip = '';
66
- }
67
- if (data && !data.domain) {
68
- data.domain = '';
69
- }
70
- if (!data) {
71
- data = {};
72
- }
73
- if (_.isString(data?.aliases)) {
74
- // @ts-ignore
75
- data.aliases = Helpers.strings.splitIfNeed(data.aliases);
76
- }
77
- this._data = data;
78
- }
79
- get ip() {
80
- if (this.disabled) {
81
- return '';
82
- }
83
- return this._data.ip;
84
- }
85
- set ip(newIpAddress) {
86
- this._data.ip = newIpAddress;
87
- }
88
- get domain() {
89
- if (this.disabled) {
90
- return '';
91
- }
92
- return this._data.domain;
93
- }
94
- get aliases() {
95
- if (this.disabled) {
96
- return [];
97
- }
98
- if (_.isString(this._data.aliases)) {
99
- return this._data.aliases.split(' ');
100
- }
101
- if (!_.isArray(this._data.aliases)) {
102
- return [];
103
- }
104
- return this._data.aliases;
105
- }
106
- get firstAlias() {
107
- return _.first(this.aliases);
108
- }
109
- get name() {
110
- return this._data.name;
111
- }
112
- set name(v) {
113
- this._data.name = v;
114
- }
115
- get originHostname() {
116
- return this._data.originHostname;
117
- }
118
- set originHostname(v) {
119
- this._data.originHostname = v;
120
- }
121
- get disabled() {
122
- return this._data.disabled;
123
- }
124
- get isDefault() {
125
- return this._data.isDefault;
126
- }
127
- get identifier() {
128
- return _.kebabCase(this._data.name);
129
- }
130
- set disabled(v) {
131
- this._data.disabled = v;
132
- }
133
- get environmentName() {
134
- return this._data.environmentName || '';
135
- }
136
- get ipOrDomain() {
137
- if (this.disabled) {
138
- return '';
139
- }
140
- const res = (this.domain ? this.domain : this.ip) || '';
141
- return res;
142
- }
143
- get ipOrFirstAlias() {
144
- if (this.disabled) {
145
- return '';
146
- }
147
- const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
148
- return res;
149
- }
150
- get hostname() {
151
- // @ts-ignore
152
- const h = Helpers.urlParse(this.ipOrFirstAlias, true);
153
- return h ? h.hostname : void 0;
154
- }
155
- get hostnameFirstAlias() {
156
- // @ts-ignore
157
- const h = Helpers.urlParse(this.firstAlias, true);
158
- return h ? h.hostname : void 0;
159
- }
160
- get hostnameIp() {
161
- // @ts-ignore
162
- const h = Helpers.urlParse(this.ip);
163
- return h ? h.hostname : void 0;
164
- }
165
- get nameWithIpOrDomain() {
166
- return chalk.underline(`${this.name} ${this.ipOrDomain}`);
167
- }
168
- }
169
- ;
170
- ({}); // @--end-of-file-for-module=vpn-split lib/models.ts
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW9DOUMsTUFBTSxPQUFPLGFBQWE7SUFHakIsS0FBSztRQUNWLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FDVCxVQU1LLEVBQ0wsSUFBSSxHQUFHLEVBQUUsRUFDVCxRQUFRLEdBQUcsS0FBSztRQUVoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQXFCLENBQUM7WUFDcEUsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDM0IsYUFBYTtZQUNiLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxVQUFVLEdBQUcsTUFBYSxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN4RCxVQUFVLEdBQUcsVUFBaUIsQ0FBQyxDQUFDLGFBQWE7WUFDN0MsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUksYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDdEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sSUFBSSxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxJQUFJLGFBQWEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0wsVUFBK0IsQ0FBQyxJQUFJO29CQUNuQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7d0JBQ3hCLENBQUMsQ0FBQyxJQUFJO3dCQUNOLENBQUMsQ0FBRSxVQUErQixDQUFDLElBQUksQ0FBQztnQkFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUUsVUFBK0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUMzRCxVQUErQixDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FBQyxVQUFpQixDQUFDLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxJQUFzQjtRQTZIbEMsYUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNkLE9BQU8sb0JBQW9CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQTlIQSxJQUFJLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUNyQixhQUFhO1lBQ2IsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5QixhQUFhO1lBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLEVBQUU7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFXLEVBQUUsQ0FBQyxZQUFvQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLGNBQWMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQVcsVUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEQsT0FBTyxHQUFHLENBQUM7SUFFYixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRSxPQUFPLEdBQUcsQ0FBQztJQUViLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsYUFBYTtRQUNiLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLGFBQWE7UUFDYixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsYUFBYTtRQUNiLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBSUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9EQUFvRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBjaGFsayB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1oZWxwZXJzL2Jyb3dzZXInO1xuXG4vKioqXG4gKiBAZGVwcmVjYXRlZFxuICogdXNlIG5vcm1hbCBvYmplY3RzXG4gKi9cbmV4cG9ydCB0eXBlIEV0Y0hvc3RzID0geyBbaG9zdE5hbWUgaW4gc3RyaW5nXTogSG9zdEZvclNlcnZlciB9O1xuXG4vKioqXG4gKiBAZGVwcmVjYXRlZFxuICogdXNlIG5vcm1hbCBvYmplY3RzXG4gKi9cbmV4cG9ydCB0eXBlIElFdGNIb3N0cyA9IHtcbiAgW2hvc3ROYW1lIGluIHN0cmluZ106IFBhcnRpYWw8XG4gICAgUGljazxIb3N0Rm9yU2VydmVyLCAnYWxpYXNlcycgfCAnaXBPckRvbWFpbicgfCAnZW52aXJvbm1lbnROYW1lJz5cbiAgPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0SG9zdEZvclNlcnZlciB7XG4gIGlwPzogc3RyaW5nO1xuICBkb21haW4/OiBzdHJpbmc7XG4gIGlwT3JEb21haW4/OiBzdHJpbmc7XG4gIGVudmlyb25tZW50TmFtZT86IHN0cmluZztcbiAgYWxpYXNlcz86IHN0cmluZ1tdO1xuICBpc0RlZmF1bHQ/OiBib29sZWFuO1xuICAvKipcbiAgICogaXAgZnJvbSBjb21tYW5kOiB2cG4tY2xpIDE5Mi4xNjguMS4xIDE5Mi4xNjguMS4yXG4gICAqL1xuICBvcmlnaW5Ib3N0bmFtZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIGlmIHRydWUgLSBpcCBhbmQgZG9tYWluIHdpbGwgb3V0cHV0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdEZvclNlcnZlciBpbXBsZW1lbnRzIE9wdEhvc3RGb3JTZXJ2ZXIge1xuICBwcml2YXRlIF9kYXRhOiBPcHRIb3N0Rm9yU2VydmVyO1xuXG4gIHB1YmxpYyBjbG9uZSgpIHtcbiAgICByZXR1cm4gSG9zdEZvclNlcnZlci5Gcm9tKHRoaXMpO1xuICB9XG5cbiAgc3RhdGljIEZyb20oXG4gICAgaXBPckRvbWFpbjpcbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IFVSTFxuICAgICAgfCBQaWNrPFxuICAgICAgICAgIE9wdEhvc3RGb3JTZXJ2ZXIgfCBIb3N0Rm9yU2VydmVyLFxuICAgICAgICAgICdpcE9yRG9tYWluJyB8ICdhbGlhc2VzJyB8ICdvcmlnaW5Ib3N0bmFtZSdcbiAgICAgICAgPixcbiAgICBuYW1lID0gJycsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgKTogSG9zdEZvclNlcnZlciB7XG4gICAgaWYgKCFpcE9yRG9tYWluKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBpZiAoXy5pc09iamVjdChpcE9yRG9tYWluKSAmJiBpcE9yRG9tYWluIGluc3RhbmNlb2YgSG9zdEZvclNlcnZlcikge1xuICAgICAgY29uc3QgZGF0YUNsb25lID0gXy5jbG9uZURlZXAoaXBPckRvbWFpbi5fZGF0YSkgYXMgT3B0SG9zdEZvclNlcnZlcjtcbiAgICAgIGRhdGFDbG9uZS5uYW1lID0gbmFtZSAmJiBuYW1lLnRyaW0oKSAhPT0gJycgPyBuYW1lIDogZGF0YUNsb25lLm5hbWU7XG4gICAgICBpZiAoIV8uaXNCb29sZWFuKGRhdGFDbG9uZS5kaXNhYmxlZCkpIHtcbiAgICAgICAgZGF0YUNsb25lLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoZGF0YUNsb25lKTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcoaXBPckRvbWFpbikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEhlbHBlcnMudXJsUGFyc2UoaXBPckRvbWFpbik7XG4gICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgIGlwT3JEb21haW4gPSBwYXJzZWQgYXMgYW55O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzT2JqZWN0KGlwT3JEb21haW4pICYmIGlwT3JEb21haW4gaW5zdGFuY2VvZiBVUkwpIHtcbiAgICAgIGlwT3JEb21haW4gPSBpcE9yRG9tYWluIGFzIFVSTDsgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKEhlbHBlcnMuaXNWYWxpZElwKGlwT3JEb21haW4/Lmhvc3QpKSB7XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcih7IGlwOiBpcE9yRG9tYWluLm9yaWdpbiwgbmFtZSwgZGlzYWJsZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoeyBkb21haW46IGlwT3JEb21haW4ub3JpZ2luLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKF8uaXNTdHJpbmcoaXBPckRvbWFpbikpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKHsgaXBPckRvbWFpbiwgbmFtZSwgZGlzYWJsZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5uYW1lID1cbiAgICAgICAgICBuYW1lICYmIG5hbWUudHJpbSgpICE9PSAnJ1xuICAgICAgICAgICAgPyBuYW1lXG4gICAgICAgICAgICA6IChpcE9yRG9tYWluIGFzIE9wdEhvc3RGb3JTZXJ2ZXIpLm5hbWU7XG4gICAgICAgIGlmICghXy5pc0Jvb2xlYW4oKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoaXBPckRvbWFpbiBhcyBhbnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdHJ1Y3RvcihkYXRhOiBPcHRIb3N0Rm9yU2VydmVyKSB7XG4gICAgaWYgKGRhdGE/LmlwT3JEb21haW4pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChIZWxwZXJzLmlzVmFsaWRJcChkYXRhLmlwT3JEb21haW4pKSB7XG4gICAgICAgIGRhdGEuaXAgPSBkYXRhLmlwT3JEb21haW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLmRvbWFpbiA9IGRhdGEuaXBPckRvbWFpbjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEgJiYgIWRhdGEuaXApIHtcbiAgICAgIGRhdGEuaXAgPSAnJztcbiAgICB9XG4gICAgaWYgKGRhdGEgJiYgIWRhdGEuZG9tYWluKSB7XG4gICAgICBkYXRhLmRvbWFpbiA9ICcnO1xuICAgIH1cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSB7fTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcoZGF0YT8uYWxpYXNlcykpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGRhdGEuYWxpYXNlcyA9IEhlbHBlcnMuc3RyaW5ncy5zcGxpdElmTmVlZChkYXRhLmFsaWFzZXMpO1xuICAgIH1cbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuICBwdWJsaWMgZ2V0IGlwKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kYXRhLmlwO1xuICB9XG4gIHB1YmxpYyBzZXQgaXAobmV3SXBBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kYXRhLmlwID0gbmV3SXBBZGRyZXNzO1xuICB9XG4gIHB1YmxpYyBnZXQgZG9tYWluKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kYXRhLmRvbWFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpYXNlcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcodGhpcy5fZGF0YS5hbGlhc2VzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2RhdGEuYWxpYXNlcy5zcGxpdCgnICcpO1xuICAgIH1cbiAgICBpZiAoIV8uaXNBcnJheSh0aGlzLl9kYXRhLmFsaWFzZXMpKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kYXRhLmFsaWFzZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpcnN0QWxpYXMoKSB7XG4gICAgcmV0dXJuIF8uZmlyc3QodGhpcy5hbGlhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5uYW1lO1xuICB9XG4gIHB1YmxpYyBzZXQgbmFtZSh2KSB7XG4gICAgdGhpcy5fZGF0YS5uYW1lID0gdjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3JpZ2luSG9zdG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEub3JpZ2luSG9zdG5hbWU7XG4gIH1cbiAgcHVibGljIHNldCBvcmlnaW5Ib3N0bmFtZSh2KSB7XG4gICAgdGhpcy5fZGF0YS5vcmlnaW5Ib3N0bmFtZSA9IHY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmRpc2FibGVkO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNEZWZhdWx0KCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLmlzRGVmYXVsdDtcbiAgfVxuICBwdWJsaWMgZ2V0IGlkZW50aWZpZXIoKSB7XG4gICAgcmV0dXJuIF8ua2ViYWJDYXNlKHRoaXMuX2RhdGEubmFtZSk7XG4gIH1cbiAgcHVibGljIHNldCBkaXNhYmxlZCh2KSB7XG4gICAgdGhpcy5fZGF0YS5kaXNhYmxlZCA9IHY7XG4gIH1cbiAgcHVibGljIGdldCBlbnZpcm9ubWVudE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZW52aXJvbm1lbnROYW1lIHx8ICcnO1xuICB9XG4gIHB1YmxpYyBnZXQgaXBPckRvbWFpbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCByZXMgPSAodGhpcy5kb21haW4gPyB0aGlzLmRvbWFpbiA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXBPckZpcnN0QWxpYXMoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgcmVzID0gKHRoaXMuZmlyc3RBbGlhcyA/IHRoaXMuZmlyc3RBbGlhcyA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWUoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGggPSBIZWxwZXJzLnVybFBhcnNlKHRoaXMuaXBPckZpcnN0QWxpYXMsIHRydWUpO1xuICAgIHJldHVybiBoID8gaC5ob3N0bmFtZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWVGaXJzdEFsaWFzKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBoID0gSGVscGVycy51cmxQYXJzZSh0aGlzLmZpcnN0QWxpYXMsIHRydWUpO1xuICAgIHJldHVybiBoID8gaC5ob3N0bmFtZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWVJcCgpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5pcCk7XG4gICAgcmV0dXJuIGggPyBoLmhvc3RuYW1lIDogdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lV2l0aElwT3JEb21haW4oKSB7XG4gICAgcmV0dXJuIGNoYWxrLnVuZGVybGluZShgJHt0aGlzLm5hbWV9ICR7dGhpcy5pcE9yRG9tYWlufWApO1xuICB9XG4gIHRvU3RyaW5nID0gKCkgPT4ge1xuICAgIHJldHVybiBgW3N0cmluZyB2ZXJzaW9uXSAke3RoaXMubmFtZVdpdGhJcE9yRG9tYWlufWA7XG4gIH07XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT12cG4tc3BsaXQgbGliL21vZGVscy50cyJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './lib';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBuLXNwbGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvdnBuLXNwbGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
package/firedev.jsonc DELETED
@@ -1,33 +0,0 @@
1
- {
2
- "resources": [],
3
-
4
- "overrided": {
5
- "linkedFolders": [],
6
- "ignoreDepsPattern": ["*"],
7
- "includeAsDev": [],
8
- "includeOnly": ["tnp-db", "hostile", "is-elevated"],
9
- "dependencies": {},
10
- "npmFixes": []
11
- },
12
-
13
- "smartContainerBuildTarget": "",
14
- "linkedRepos": [],
15
-
16
- "libReleaseOptions": {
17
- "nodts": false,
18
- "obscure": false,
19
- "ugly": false,
20
- "includeNodeModules": false,
21
- "cliBuildNoDts": false,
22
- "cliBuildObscure": false,
23
- "cliBuildIncludeNodeModules": false,
24
- "cliBuildUglify": false
25
- },
26
-
27
- "smartContainerTarget": "",
28
- "type": "isomorphic-lib",
29
- "version": "v18",
30
- "license": "MIT",
31
- "private": false,
32
- "workerPlugins": {}
33
- }
@@ -1,6 +0,0 @@
1
- export * from './models';
2
- /* */
3
- /* */
4
- ;
5
- ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLEtBQUs7QUFDTCxLQUFLO0FBR0osQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dnBuLXNwbGl0IGxpYi9pbmRleC50cyJdfQ==
@@ -1,171 +0,0 @@
1
- import { _, chalk } from 'tnp-core/websql';
2
- import { Helpers } from 'tnp-helpers/websql';
3
- export class HostForServer {
4
- clone() {
5
- return HostForServer.From(this);
6
- }
7
- static From(ipOrDomain, name = '', disabled = false) {
8
- if (!ipOrDomain) {
9
- return void 0;
10
- }
11
- if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
12
- const dataClone = _.cloneDeep(ipOrDomain._data);
13
- dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
14
- if (!_.isBoolean(dataClone.disabled)) {
15
- dataClone.disabled = disabled;
16
- }
17
- return new HostForServer(dataClone);
18
- }
19
- if (_.isString(ipOrDomain)) {
20
- // @ts-ignore
21
- const parsed = Helpers.urlParse(ipOrDomain);
22
- if (parsed) {
23
- ipOrDomain = parsed;
24
- }
25
- }
26
- if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
27
- ipOrDomain = ipOrDomain; // @ts-ignore
28
- if (Helpers.isValidIp(ipOrDomain?.host)) {
29
- return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
30
- }
31
- else {
32
- return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
33
- }
34
- }
35
- else {
36
- if (_.isString(ipOrDomain)) {
37
- return new HostForServer({ ipOrDomain, name, disabled });
38
- }
39
- else {
40
- ipOrDomain.name =
41
- name && name.trim() !== ''
42
- ? name
43
- : ipOrDomain.name;
44
- if (!_.isBoolean(ipOrDomain.disabled)) {
45
- ipOrDomain.disabled = disabled;
46
- }
47
- return new HostForServer(ipOrDomain);
48
- }
49
- }
50
- }
51
- constructor(data) {
52
- this.toString = () => {
53
- return `[string version] ${this.nameWithIpOrDomain}`;
54
- };
55
- if (data?.ipOrDomain) {
56
- // @ts-ignore
57
- if (Helpers.isValidIp(data.ipOrDomain)) {
58
- data.ip = data.ipOrDomain;
59
- }
60
- else {
61
- data.domain = data.ipOrDomain;
62
- }
63
- }
64
- if (data && !data.ip) {
65
- data.ip = '';
66
- }
67
- if (data && !data.domain) {
68
- data.domain = '';
69
- }
70
- if (!data) {
71
- data = {};
72
- }
73
- if (_.isString(data?.aliases)) {
74
- // @ts-ignore
75
- data.aliases = Helpers.strings.splitIfNeed(data.aliases);
76
- }
77
- this._data = data;
78
- }
79
- get ip() {
80
- if (this.disabled) {
81
- return '';
82
- }
83
- return this._data.ip;
84
- }
85
- set ip(newIpAddress) {
86
- this._data.ip = newIpAddress;
87
- }
88
- get domain() {
89
- if (this.disabled) {
90
- return '';
91
- }
92
- return this._data.domain;
93
- }
94
- get aliases() {
95
- if (this.disabled) {
96
- return [];
97
- }
98
- if (_.isString(this._data.aliases)) {
99
- return this._data.aliases.split(' ');
100
- }
101
- if (!_.isArray(this._data.aliases)) {
102
- return [];
103
- }
104
- return this._data.aliases;
105
- }
106
- get firstAlias() {
107
- return _.first(this.aliases);
108
- }
109
- get name() {
110
- return this._data.name;
111
- }
112
- set name(v) {
113
- this._data.name = v;
114
- }
115
- get originHostname() {
116
- return this._data.originHostname;
117
- }
118
- set originHostname(v) {
119
- this._data.originHostname = v;
120
- }
121
- get disabled() {
122
- return this._data.disabled;
123
- }
124
- get isDefault() {
125
- return this._data.isDefault;
126
- }
127
- get identifier() {
128
- return _.kebabCase(this._data.name);
129
- }
130
- set disabled(v) {
131
- this._data.disabled = v;
132
- }
133
- get environmentName() {
134
- return this._data.environmentName || '';
135
- }
136
- get ipOrDomain() {
137
- if (this.disabled) {
138
- return '';
139
- }
140
- const res = (this.domain ? this.domain : this.ip) || '';
141
- return res;
142
- }
143
- get ipOrFirstAlias() {
144
- if (this.disabled) {
145
- return '';
146
- }
147
- const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
148
- return res;
149
- }
150
- get hostname() {
151
- // @ts-ignore
152
- const h = Helpers.urlParse(this.ipOrFirstAlias, true);
153
- return h ? h.hostname : void 0;
154
- }
155
- get hostnameFirstAlias() {
156
- // @ts-ignore
157
- const h = Helpers.urlParse(this.firstAlias, true);
158
- return h ? h.hostname : void 0;
159
- }
160
- get hostnameIp() {
161
- // @ts-ignore
162
- const h = Helpers.urlParse(this.ip);
163
- return h ? h.hostname : void 0;
164
- }
165
- get nameWithIpOrDomain() {
166
- return chalk.underline(`${this.name} ${this.ipOrDomain}`);
167
- }
168
- }
169
- ;
170
- ({}); // @--end-of-file-for-module=vpn-split lib/models.ts
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFvQzdDLE1BQU0sT0FBTyxhQUFhO0lBR2pCLEtBQUs7UUFDVixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQ1QsVUFNSyxFQUNMLElBQUksR0FBRyxFQUFFLEVBQ1QsUUFBUSxHQUFHLEtBQUs7UUFFaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFlBQVksYUFBYSxFQUFFLENBQUM7WUFDbEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFxQixDQUFDO1lBQ3BFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNwRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDaEMsQ0FBQztZQUNELE9BQU8sSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLENB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QUM7SUFDNUQsQ0FBQztDQUlGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXywgY2hhbGsgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1oZWxwZXJzL3dlYnNxbCc7XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgRXRjSG9zdHMgPSB7IFtob3N0TmFtZSBpbiBzdHJpbmddOiBIb3N0Rm9yU2VydmVyIH07XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgSUV0Y0hvc3RzID0ge1xuICBbaG9zdE5hbWUgaW4gc3RyaW5nXTogUGFydGlhbDxcbiAgICBQaWNrPEhvc3RGb3JTZXJ2ZXIsICdhbGlhc2VzJyB8ICdpcE9yRG9tYWluJyB8ICdlbnZpcm9ubWVudE5hbWUnPlxuICA+O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBPcHRIb3N0Rm9yU2VydmVyIHtcbiAgaXA/OiBzdHJpbmc7XG4gIGRvbWFpbj86IHN0cmluZztcbiAgaXBPckRvbWFpbj86IHN0cmluZztcbiAgZW52aXJvbm1lbnROYW1lPzogc3RyaW5nO1xuICBhbGlhc2VzPzogc3RyaW5nW107XG4gIGlzRGVmYXVsdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpcCBmcm9tIGNvbW1hbmQ6IHZwbi1jbGkgMTkyLjE2OC4xLjEgMTkyLjE2OC4xLjJcbiAgICovXG4gIG9yaWdpbkhvc3RuYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogaWYgdHJ1ZSAtIGlwIGFuZCBkb21haW4gd2lsbCBvdXRwdXQgZW1wdHkgc3RyaW5nXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0Rm9yU2VydmVyIGltcGxlbWVudHMgT3B0SG9zdEZvclNlcnZlciB7XG4gIHByaXZhdGUgX2RhdGE6IE9wdEhvc3RGb3JTZXJ2ZXI7XG5cbiAgcHVibGljIGNsb25lKCkge1xuICAgIHJldHVybiBIb3N0Rm9yU2VydmVyLkZyb20odGhpcyk7XG4gIH1cblxuICBzdGF0aWMgRnJvbShcbiAgICBpcE9yRG9tYWluOlxuICAgICAgfCBzdHJpbmdcbiAgICAgIHwgVVJMXG4gICAgICB8IFBpY2s8XG4gICAgICAgICAgT3B0SG9zdEZvclNlcnZlciB8IEhvc3RGb3JTZXJ2ZXIsXG4gICAgICAgICAgJ2lwT3JEb21haW4nIHwgJ2FsaWFzZXMnIHwgJ29yaWdpbkhvc3RuYW1lJ1xuICAgICAgICA+LFxuICAgIG5hbWUgPSAnJyxcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICApOiBIb3N0Rm9yU2VydmVyIHtcbiAgICBpZiAoIWlwT3JEb21haW4pIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KGlwT3JEb21haW4pICYmIGlwT3JEb21haW4gaW5zdGFuY2VvZiBIb3N0Rm9yU2VydmVyKSB7XG4gICAgICBjb25zdCBkYXRhQ2xvbmUgPSBfLmNsb25lRGVlcChpcE9yRG9tYWluLl9kYXRhKSBhcyBPcHRIb3N0Rm9yU2VydmVyO1xuICAgICAgZGF0YUNsb25lLm5hbWUgPSBuYW1lICYmIG5hbWUudHJpbSgpICE9PSAnJyA/IG5hbWUgOiBkYXRhQ2xvbmUubmFtZTtcbiAgICAgIGlmICghXy5pc0Jvb2xlYW4oZGF0YUNsb25lLmRpc2FibGVkKSkge1xuICAgICAgICBkYXRhQ2xvbmUuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihkYXRhQ2xvbmUpO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhpcE9yRG9tYWluKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcGFyc2VkID0gSGVscGVycy51cmxQYXJzZShpcE9yRG9tYWluKTtcbiAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgaXBPckRvbWFpbiA9IHBhcnNlZCBhcyBhbnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKF8uaXNPYmplY3QoaXBPckRvbWFpbikgJiYgaXBPckRvbWFpbiBpbnN0YW5jZW9mIFVSTCkge1xuICAgICAgaXBPckRvbWFpbiA9IGlwT3JEb21haW4gYXMgVVJMOyAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoSGVscGVycy5pc1ZhbGlkSXAoaXBPckRvbWFpbj8uaG9zdCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKHsgaXA6IGlwT3JEb21haW4ub3JpZ2luLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcih7IGRvbWFpbjogaXBPckRvbWFpbi5vcmlnaW4sIG5hbWUsIGRpc2FibGVkIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXy5pc1N0cmluZyhpcE9yRG9tYWluKSkge1xuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoeyBpcE9yRG9tYWluLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIChpcE9yRG9tYWluIGFzIE9wdEhvc3RGb3JTZXJ2ZXIpLm5hbWUgPVxuICAgICAgICAgIG5hbWUgJiYgbmFtZS50cmltKCkgIT09ICcnXG4gICAgICAgICAgICA/IG5hbWVcbiAgICAgICAgICAgIDogKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikubmFtZTtcbiAgICAgICAgaWYgKCFfLmlzQm9vbGVhbigoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihpcE9yRG9tYWluIGFzIGFueSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNvbnN0cnVjdG9yKGRhdGE6IE9wdEhvc3RGb3JTZXJ2ZXIpIHtcbiAgICBpZiAoZGF0YT8uaXBPckRvbWFpbikge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKEhlbHBlcnMuaXNWYWxpZElwKGRhdGEuaXBPckRvbWFpbikpIHtcbiAgICAgICAgZGF0YS5pcCA9IGRhdGEuaXBPckRvbWFpbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEuZG9tYWluID0gZGF0YS5pcE9yRG9tYWluO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YSAmJiAhZGF0YS5pcCkge1xuICAgICAgZGF0YS5pcCA9ICcnO1xuICAgIH1cbiAgICBpZiAoZGF0YSAmJiAhZGF0YS5kb21haW4pIHtcbiAgICAgIGRhdGEuZG9tYWluID0gJyc7XG4gICAgfVxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhkYXRhPy5hbGlhc2VzKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZGF0YS5hbGlhc2VzID0gSGVscGVycy5zdHJpbmdzLnNwbGl0SWZOZWVkKGRhdGEuYWxpYXNlcyk7XG4gICAgfVxuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG4gIHB1YmxpYyBnZXQgaXAoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuaXA7XG4gIH1cbiAgcHVibGljIHNldCBpcChuZXdJcEFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX2RhdGEuaXAgPSBuZXdJcEFkZHJlc3M7XG4gIH1cbiAgcHVibGljIGdldCBkb21haW4oKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZG9tYWluO1xuICB9XG5cbiAgcHVibGljIGdldCBhbGlhc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyh0aGlzLl9kYXRhLmFsaWFzZXMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGF0YS5hbGlhc2VzLnNwbGl0KCcgJyk7XG4gICAgfVxuICAgIGlmICghXy5pc0FycmF5KHRoaXMuX2RhdGEuYWxpYXNlcykpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuYWxpYXNlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RBbGlhcygpIHtcbiAgICByZXR1cm4gXy5maXJzdCh0aGlzLmFsaWFzZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLm5hbWU7XG4gIH1cbiAgcHVibGljIHNldCBuYW1lKHYpIHtcbiAgICB0aGlzLl9kYXRhLm5hbWUgPSB2O1xuICB9XG5cbiAgcHVibGljIGdldCBvcmlnaW5Ib3N0bmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5vcmlnaW5Ib3N0bmFtZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9yaWdpbkhvc3RuYW1lKHYpIHtcbiAgICB0aGlzLl9kYXRhLm9yaWdpbkhvc3RuYW1lID0gdjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZGlzYWJsZWQ7XG4gIH1cbiAgcHVibGljIGdldCBpc0RlZmF1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuaXNEZWZhdWx0O1xuICB9XG4gIHB1YmxpYyBnZXQgaWRlbnRpZmllcigpIHtcbiAgICByZXR1cm4gXy5rZWJhYkNhc2UodGhpcy5fZGF0YS5uYW1lKTtcbiAgfVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHYpIHtcbiAgICB0aGlzLl9kYXRhLmRpc2FibGVkID0gdjtcbiAgfVxuICBwdWJsaWMgZ2V0IGVudmlyb25tZW50TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5lbnZpcm9ubWVudE5hbWUgfHwgJyc7XG4gIH1cbiAgcHVibGljIGdldCBpcE9yRG9tYWluKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9ICh0aGlzLmRvbWFpbiA/IHRoaXMuZG9tYWluIDogdGhpcy5pcCkgfHwgJyc7XG4gICAgcmV0dXJuIHJlcztcblxuICB9XG5cbiAgcHVibGljIGdldCBpcE9yRmlyc3RBbGlhcygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCByZXMgPSAodGhpcy5maXJzdEFsaWFzID8gdGhpcy5maXJzdEFsaWFzIDogdGhpcy5pcCkgfHwgJyc7XG4gICAgcmV0dXJuIHJlcztcblxuICB9XG5cbiAgcHVibGljIGdldCBob3N0bmFtZSgpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5pcE9yRmlyc3RBbGlhcywgdHJ1ZSk7XG4gICAgcmV0dXJuIGggPyBoLmhvc3RuYW1lIDogdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBob3N0bmFtZUZpcnN0QWxpYXMoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGggPSBIZWxwZXJzLnVybFBhcnNlKHRoaXMuZmlyc3RBbGlhcywgdHJ1ZSk7XG4gICAgcmV0dXJuIGggPyBoLmhvc3RuYW1lIDogdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBob3N0bmFtZUlwKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBoID0gSGVscGVycy51cmxQYXJzZSh0aGlzLmlwKTtcbiAgICByZXR1cm4gaCA/IGguaG9zdG5hbWUgOiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWVXaXRoSXBPckRvbWFpbigpIHtcbiAgICByZXR1cm4gY2hhbGsudW5kZXJsaW5lKGAke3RoaXMubmFtZX0gJHt0aGlzLmlwT3JEb21haW59YCk7XG4gIH1cbiAgdG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGBbc3RyaW5nIHZlcnNpb25dICR7dGhpcy5uYW1lV2l0aElwT3JEb21haW59YDtcbiAgfTtcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXZwbi1zcGxpdCBsaWIvbW9kZWxzLnRzIl19
@@ -1,2 +0,0 @@
1
- export * from './lib';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBuLXNwbGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL3Zwbi1zcGxpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19