tnp-core 18.0.39 → 18.0.40
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.
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/helpers-isomorphic.mjs +26 -30
- package/browser/esm2022/lib/helpers-messages.mjs +18 -1
- package/browser/esm2022/lib/helpers.mjs +22 -28
- package/browser/esm2022/lib/index.mjs +2 -2
- package/browser/esm2022/lib/required-global-npm-packages.mjs +79 -0
- package/browser/esm2022/lib/utils.mjs +273 -2
- package/browser/fesm2022/tnp-core.mjs +1860 -1576
- package/browser/fesm2022/tnp-core.mjs.map +1 -1
- package/browser/lib/helpers-isomorphic.d.ts +20 -0
- package/browser/lib/helpers-messages.d.ts +6 -0
- package/browser/lib/helpers.d.ts +16 -2
- package/browser/lib/index.d.ts +1 -1
- package/{websql/lib/required.d.ts → browser/lib/required-global-npm-packages.d.ts} +4 -0
- package/browser/lib/utils.d.ts +52 -8
- package/cli.backend.js +2 -2
- package/client/esm2022/lib/helpers-isomorphic.mjs +26 -30
- package/client/esm2022/lib/helpers-messages.mjs +18 -1
- package/client/esm2022/lib/helpers.mjs +22 -28
- package/client/esm2022/lib/index.mjs +2 -2
- package/client/esm2022/lib/required-global-npm-packages.mjs +79 -0
- package/client/esm2022/lib/utils.mjs +273 -2
- package/client/fesm2022/tnp-core.mjs +1860 -1576
- package/client/fesm2022/tnp-core.mjs.map +1 -1
- package/client/lib/helpers-isomorphic.d.ts +20 -0
- package/client/lib/helpers-messages.d.ts +6 -0
- package/client/lib/helpers.d.ts +16 -2
- package/client/lib/index.d.ts +1 -1
- package/{browser/lib/required.d.ts → client/lib/required-global-npm-packages.d.ts} +4 -0
- package/client/lib/utils.d.ts +52 -8
- package/lib/core-cli.js +3 -3
- package/lib/core-cli.js.map +1 -1
- package/lib/helpers-isomorphic.d.ts +20 -0
- package/lib/helpers-isomorphic.js +25 -35
- package/lib/helpers-isomorphic.js.map +1 -1
- package/lib/helpers-messages.d.ts +6 -0
- package/lib/helpers-messages.js +19 -0
- package/lib/helpers-messages.js.map +1 -1
- package/lib/helpers.d.ts +14 -0
- package/lib/helpers.js +33 -28
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/node-chalk-mock.js +2 -2
- package/lib/node-path-mock.js +2 -2
- package/lib/{required.d.ts → required-global-npm-packages.d.ts} +6 -2
- package/lib/{required.js → required-global-npm-packages.js} +8 -1
- package/lib/required-global-npm-packages.js.map +1 -0
- package/lib/utils.d.ts +52 -8
- package/lib/utils.js +329 -4
- package/lib/utils.js.map +1 -1
- package/package.json +3 -3
- package/tmp-environment.json +36 -31
- package/websql/esm2022/lib/helpers-isomorphic.mjs +26 -29
- package/websql/esm2022/lib/helpers-messages.mjs +18 -1
- package/websql/esm2022/lib/helpers.mjs +22 -28
- package/websql/esm2022/lib/index.mjs +2 -2
- package/websql/esm2022/lib/required-global-npm-packages.mjs +79 -0
- package/websql/esm2022/lib/utils.mjs +272 -2
- package/websql/fesm2022/tnp-core.mjs +1861 -1577
- package/websql/fesm2022/tnp-core.mjs.map +1 -1
- package/websql/lib/helpers-isomorphic.d.ts +20 -0
- package/websql/lib/helpers-messages.d.ts +6 -0
- package/websql/lib/helpers.d.ts +16 -2
- package/websql/lib/index.d.ts +1 -1
- package/{client/lib/required.d.ts → websql/lib/required-global-npm-packages.d.ts} +4 -0
- package/websql/lib/utils.d.ts +52 -8
- package/browser/esm2022/lib/required.mjs +0 -72
- package/client/esm2022/lib/required.mjs +0 -72
- package/lib/required.js.map +0 -1
- package/websql/esm2022/lib/required.mjs +0 -72
@@ -1,8 +1,28 @@
|
|
1
1
|
// @ts-nocheck
|
2
2
|
export declare class HelpersIsomorphic {
|
3
|
+
/**
|
4
|
+
* @deprecated
|
5
|
+
* use UtilsOs.isRunningInBrowser() instead
|
6
|
+
*/
|
3
7
|
get isBrowser(): boolean;
|
8
|
+
/**
|
9
|
+
* @deprecated
|
10
|
+
* use UtilsOs.isRunningInWebSQL() instead
|
11
|
+
*/
|
4
12
|
get isWebSQL(): boolean;
|
13
|
+
/**
|
14
|
+
* @deprecated
|
15
|
+
* use UtilsOs.isRunningInNode() instead
|
16
|
+
*/
|
5
17
|
get isNode(): boolean;
|
18
|
+
/**
|
19
|
+
* @deprecated
|
20
|
+
* use UtilsOs.isRunningInElectron() instead
|
21
|
+
*/
|
6
22
|
get isElectron(): boolean;
|
23
|
+
/**
|
24
|
+
* TODO what is the purpose of this function?
|
25
|
+
* @deprecated
|
26
|
+
*/
|
7
27
|
contain(arr: any[], item: any): boolean;
|
8
28
|
}
|
@@ -3,6 +3,12 @@ import { HelpersIsomorphic } from './helpers-isomorphic';
|
|
3
3
|
export declare class HelpersMessages extends HelpersIsomorphic {
|
4
4
|
msgCacheClear(): void;
|
5
5
|
renderError(err: Error): void;
|
6
|
+
/**
|
7
|
+
* Throw error and exit process
|
8
|
+
* make sure browser or nodejs will not continue
|
9
|
+
* @param details
|
10
|
+
*/
|
11
|
+
throw(details: string): void;
|
6
12
|
error(details: any, noExit?: boolean, noTrace?: boolean): void;
|
7
13
|
info(details: string, repeatable?: boolean): void;
|
8
14
|
success(details: any | string): void;
|
package/browser/lib/helpers.d.ts
CHANGED
@@ -20,8 +20,18 @@ export declare class HelpersCore extends HelpersMessages {
|
|
20
20
|
static get InstanceCore(): HelpersCore;
|
21
21
|
readonly bigMaxBuffer: number;
|
22
22
|
constructor();
|
23
|
-
|
24
|
-
|
23
|
+
/**
|
24
|
+
* @deprecated use UtilsOs.isRunningInsideWsl()
|
25
|
+
*/
|
26
|
+
get isWsl(): boolean;
|
27
|
+
/**
|
28
|
+
* @deprecated use UtilsOs.isRunningInDocker
|
29
|
+
*/
|
30
|
+
isRunningInDocker(): boolean;
|
31
|
+
/**
|
32
|
+
* @deprecated use UtilsOs.isRunningInLinuxGraphicEnvironment
|
33
|
+
*/
|
34
|
+
isRunningInLinuxGraphicsCapableEnvironment(): boolean;
|
25
35
|
clearConsole(): void;
|
26
36
|
/**
|
27
37
|
* get electron browser ipc renderer
|
@@ -41,6 +51,9 @@ export declare class HelpersCore extends HelpersMessages {
|
|
41
51
|
mediaTypeFromSrc(src: string): CoreModels.MediaType;
|
42
52
|
sleep(seconds?: number): any;
|
43
53
|
removeIfExists(absoluteFileOrFolderPath: string | string[]): any;
|
54
|
+
/**
|
55
|
+
* path.relative that return cross platform path
|
56
|
+
*/
|
44
57
|
relative(cwd: string, to: string): string;
|
45
58
|
removeFileIfExists(absoluteFilePath: string | string[]): any;
|
46
59
|
removeFolderIfExists(absoluteFolderPath: string | string[]): any;
|
@@ -103,6 +116,7 @@ export declare class HelpersCore extends HelpersMessages {
|
|
103
116
|
_fixCommand(command: string): string;
|
104
117
|
command(command: string): {};
|
105
118
|
wait(second: number): Promise<void>;
|
119
|
+
timeout(seconds: number): Promise<void>;
|
106
120
|
killProcessByPort(portOrPortsToKill: number | number[], options?: {
|
107
121
|
silent?: boolean;
|
108
122
|
}): Promise<any>;
|
package/browser/lib/index.d.ts
CHANGED
@@ -7,6 +7,6 @@ export * from './core-config';
|
|
7
7
|
export * from './progress-data';
|
8
8
|
export * from './utils';
|
9
9
|
export * from './core-cli';
|
10
|
-
export * from './required';
|
10
|
+
export * from './required-global-npm-packages';
|
11
11
|
export { HelpersCore as CoreHelpers, CommandOutputOptions } from './helpers';
|
12
12
|
export declare let Helpers: Base;
|
package/browser/lib/utils.d.ts
CHANGED
@@ -10,6 +10,10 @@ export declare namespace Utils {
|
|
10
10
|
export function removeChalkSpecialChars(str: string): string;
|
11
11
|
export const fullDateTime: () => any;
|
12
12
|
export const fullDate: () => any;
|
13
|
+
export const getFreePort: (options?: {
|
14
|
+
startFrom?: number;
|
15
|
+
howManyFreePortsAfterThatPort?: number;
|
16
|
+
}) => Promise<number>;
|
13
17
|
interface AttrJsoncProp {
|
14
18
|
name: string;
|
15
19
|
value?: any;
|
@@ -91,6 +95,9 @@ export declare namespace UtilsProcess {
|
|
91
95
|
* by default is process.cwd();
|
92
96
|
*/
|
93
97
|
cwd?: string;
|
98
|
+
/**
|
99
|
+
* by default is false
|
100
|
+
*/
|
94
101
|
showCommand?: boolean;
|
95
102
|
/**
|
96
103
|
* Modify output line by line
|
@@ -98,11 +105,11 @@ export declare namespace UtilsProcess {
|
|
98
105
|
outputLineReplace?: (outputLineStderOrStdout: string) => string;
|
99
106
|
resolvePromiseMsg?: {
|
100
107
|
/**
|
101
|
-
*
|
108
|
+
* until this string is in output of stdout
|
102
109
|
*/
|
103
110
|
stdout?: string | string[];
|
104
111
|
/**
|
105
|
-
*
|
112
|
+
* until this string is in output of stderr
|
106
113
|
*/
|
107
114
|
stderr?: string | string[];
|
108
115
|
/**
|
@@ -111,17 +118,18 @@ export declare namespace UtilsProcess {
|
|
111
118
|
resolveAfterAnyExitCode?: boolean;
|
112
119
|
};
|
113
120
|
/**
|
114
|
-
* Prefix messages output from
|
121
|
+
* Prefix messages output from child_process
|
115
122
|
*/
|
116
123
|
prefix?: string;
|
117
124
|
/**
|
118
|
-
* Try command again after fail after n
|
125
|
+
* Try command again after fail after n milliseconds
|
119
126
|
*/
|
120
127
|
tryAgainWhenFailAfter?: number;
|
121
128
|
askToTryAgainOnError?: boolean;
|
122
129
|
exitOnErrorCallback?: (code: number) => void;
|
123
130
|
/**
|
124
131
|
* Use big buffer for big webpack logs
|
132
|
+
* (it may slow down smaller processes execution)
|
125
133
|
*/
|
126
134
|
biggerBuffer?: boolean;
|
127
135
|
hideOutput?: {
|
@@ -131,15 +139,51 @@ export declare namespace UtilsProcess {
|
|
131
139
|
}
|
132
140
|
/**
|
133
141
|
* TODO IMPLEMENT
|
142
|
+
* start async node process
|
134
143
|
*/
|
135
|
-
function startAsync(command: string, options?: ProcessStartOptions
|
136
|
-
detach?: boolean;
|
137
|
-
}): Promise<void>;
|
144
|
+
function startAsync(command: string, options?: ProcessStartOptions): Promise<void>;
|
138
145
|
/**
|
139
146
|
* TODO IMPLEMENT
|
140
147
|
*/
|
141
148
|
function startSync(command: string, options?: ProcessStartOptions): void;
|
142
|
-
const
|
149
|
+
const getGitBashPath: () => any;
|
150
|
+
/**
|
151
|
+
* TODO IMPLEMENT
|
152
|
+
* start async node process
|
153
|
+
*/
|
154
|
+
const startInNewTerminalWindow: (command: string, options?: Pick<ProcessStartOptions, "cwd" | "hideOutput">) => any;
|
155
|
+
const getBashOrShellName: () => "browser" | "cmd" | "powershell" | "gitbash" | "cygwin" | "unknown" | "bash" | "zsh" | "fish" | "sh";
|
156
|
+
}
|
157
|
+
export declare namespace UtilsOs {
|
158
|
+
/**
|
159
|
+
* check if script is running in client browser
|
160
|
+
* (websql model -> is also considered as browser
|
161
|
+
* because it is running in browser)
|
162
|
+
*/
|
163
|
+
const isRunningInBrowser: () => boolean;
|
164
|
+
/**
|
165
|
+
* check if script is running in nodejs
|
166
|
+
* (backend script or electron script)
|
167
|
+
*/
|
168
|
+
const isRunningInNode: () => boolean;
|
169
|
+
/**
|
170
|
+
* check if script is running special
|
171
|
+
* browser mode that has sql.js backend
|
172
|
+
* and executes sql queries in browser
|
173
|
+
*/
|
174
|
+
const isRunningInWebSQL: () => boolean;
|
175
|
+
/**
|
176
|
+
* check whether the current process is running inside
|
177
|
+
* Electron backend or browser.
|
178
|
+
*/
|
179
|
+
const isRunningInElectron: () => boolean;
|
180
|
+
/**
|
181
|
+
* Check wether the current process is running inside
|
182
|
+
* windows subsystem for linux (WSL).
|
183
|
+
*/
|
184
|
+
const isRunningInWsl: () => boolean;
|
185
|
+
const isRunningInDocker: () => boolean;
|
186
|
+
const isRunningInLinuxGraphicsCapableEnvironment: () => boolean;
|
143
187
|
}
|
144
188
|
export declare namespace UtilsString {
|
145
189
|
const kebabCaseNoSplitNumbers: (input: string) => string;
|
package/cli.backend.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
4
|
-
function
|
3
|
+
exports.dummy1732500942826 = dummy1732500942826;
|
4
|
+
function dummy1732500942826() { }
|
5
5
|
//# sourceMappingURL=cli.backend.js.map
|
@@ -1,41 +1,37 @@
|
|
1
|
+
import { UtilsOs } from './utils';
|
1
2
|
export class HelpersIsomorphic {
|
3
|
+
/**
|
4
|
+
* @deprecated
|
5
|
+
* use UtilsOs.isRunningInBrowser() instead
|
6
|
+
*/
|
2
7
|
get isBrowser() {
|
3
|
-
|
4
|
-
/* */
|
5
|
-
return true;
|
8
|
+
return UtilsOs.isRunningInBrowser();
|
6
9
|
}
|
10
|
+
/**
|
11
|
+
* @deprecated
|
12
|
+
* use UtilsOs.isRunningInWebSQL() instead
|
13
|
+
*/
|
7
14
|
get isWebSQL() {
|
8
|
-
|
9
|
-
/* */
|
10
|
-
/* */
|
11
|
-
/* */
|
12
|
-
return false;
|
15
|
+
return UtilsOs.isRunningInWebSQL();
|
13
16
|
}
|
17
|
+
/**
|
18
|
+
* @deprecated
|
19
|
+
* use UtilsOs.isRunningInNode() instead
|
20
|
+
*/
|
14
21
|
get isNode() {
|
15
|
-
|
16
|
-
/* */
|
17
|
-
return false;
|
22
|
+
return UtilsOs.isRunningInNode();
|
18
23
|
}
|
24
|
+
/**
|
25
|
+
* @deprecated
|
26
|
+
* use UtilsOs.isRunningInElectron() instead
|
27
|
+
*/
|
19
28
|
get isElectron() {
|
20
|
-
|
21
|
-
if (typeof window !== 'undefined' &&
|
22
|
-
typeof window.process === 'object' &&
|
23
|
-
window.process.type === 'renderer') {
|
24
|
-
return true;
|
25
|
-
}
|
26
|
-
// @ts-ignore
|
27
|
-
if (typeof process !== 'undefined' &&
|
28
|
-
typeof process.versions === 'object' &&
|
29
|
-
!!process.versions.electron) {
|
30
|
-
return true;
|
31
|
-
}
|
32
|
-
if (typeof navigator === 'object' &&
|
33
|
-
typeof navigator.userAgent === 'string' &&
|
34
|
-
navigator.userAgent.indexOf('Electron') >= 0) {
|
35
|
-
return true;
|
36
|
-
}
|
37
|
-
return false;
|
29
|
+
return UtilsOs.isRunningInElectron();
|
38
30
|
}
|
31
|
+
/**
|
32
|
+
* TODO what is the purpose of this function?
|
33
|
+
* @deprecated
|
34
|
+
*/
|
39
35
|
contain(arr, item) {
|
40
36
|
return (arr.filter(l => {
|
41
37
|
if (l instanceof RegExp) {
|
@@ -53,4 +49,4 @@ export class HelpersIsomorphic {
|
|
53
49
|
}
|
54
50
|
;
|
55
51
|
({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1pc29tb3JwaGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9oZWxwZXJzLWlzb21vcnBoaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7T0FHRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsR0FBVSxFQUFFLElBQVM7UUFDM0IsT0FBTyxDQUNMLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDZixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUNFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUN0RSxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDZCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgVXRpbHNPcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgSGVscGVyc0lzb21vcnBoaWMge1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIFV0aWxzT3MuaXNSdW5uaW5nSW5Ccm93c2VyKCkgaW5zdGVhZFxuICAgKi9cbiAgZ2V0IGlzQnJvd3NlcigpIHtcbiAgICByZXR1cm4gVXRpbHNPcy5pc1J1bm5pbmdJbkJyb3dzZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgVXRpbHNPcy5pc1J1bm5pbmdJbldlYlNRTCgpIGluc3RlYWRcbiAgICovXG4gIGdldCBpc1dlYlNRTCgpIHtcbiAgICByZXR1cm4gVXRpbHNPcy5pc1J1bm5pbmdJbldlYlNRTCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIHVzZSBVdGlsc09zLmlzUnVubmluZ0luTm9kZSgpIGluc3RlYWRcbiAgICovXG4gIGdldCBpc05vZGUoKSB7XG4gICAgcmV0dXJuIFV0aWxzT3MuaXNSdW5uaW5nSW5Ob2RlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIFV0aWxzT3MuaXNSdW5uaW5nSW5FbGVjdHJvbigpIGluc3RlYWRcbiAgICovXG4gIGdldCBpc0VsZWN0cm9uKCkge1xuICAgIHJldHVybiBVdGlsc09zLmlzUnVubmluZ0luRWxlY3Ryb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIHdoYXQgaXMgdGhlIHB1cnBvc2Ugb2YgdGhpcyBmdW5jdGlvbj9cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGNvbnRhaW4oYXJyOiBhbnlbXSwgaXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyci5maWx0ZXIobCA9PiB7XG4gICAgICAgIGlmIChsIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgICAgcmV0dXJuIGwudGVzdChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobCA9PT0gaXRlbSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpdGVtLm1hdGNoICYmIHR5cGVvZiBpdGVtLm1hdGNoID09PSAnZnVuY3Rpb24nID8gaXRlbS5tYXRjaChsKSA6IGZhbHNlXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvaGVscGVycy1pc29tb3JwaGljLnRzIl19
|
@@ -76,6 +76,23 @@ export class HelpersMessages extends HelpersIsomorphic {
|
|
76
76
|
/* */
|
77
77
|
}
|
78
78
|
}
|
79
|
+
/**
|
80
|
+
* Throw error and exit process
|
81
|
+
* make sure browser or nodejs will not continue
|
82
|
+
* @param details
|
83
|
+
*/
|
84
|
+
throw(details) {
|
85
|
+
if (this.isBrowser) {
|
86
|
+
document.body.innerHTML =
|
87
|
+
'<h1>Application has encountered an error and stopped.</h1>';
|
88
|
+
document.body.style.pointerEvents = 'none';
|
89
|
+
/* */
|
90
|
+
/* */
|
91
|
+
/* */
|
92
|
+
/* */
|
93
|
+
}
|
94
|
+
throw new Error(details);
|
95
|
+
}
|
79
96
|
error(details, noExit = false, noTrace = false) {
|
80
97
|
if (Helpers.isBrowser) {
|
81
98
|
console.error(details);
|
@@ -514,4 +531,4 @@ function transformData(details) {
|
|
514
531
|
}
|
515
532
|
;
|
516
533
|
({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts
|
517
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFLTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXpELE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDbEIsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxNQUFNLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE1BQU0sRUFBRTtDQUN6QixDQUFDO0FBRUYsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBRWpCLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQUNwRCxhQUFhO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNaLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztRQUVELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLO1FBRWpELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFHTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxJQUFJLENBQUMsT0FBZSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFxQjtRQUMzQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxPQUFxQixFQUFFLFlBQXFCLEtBQUs7UUFDM0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdELFFBQVEsQ0FBQyxPQUFzQixFQUFFLGVBQWUsR0FBRyxLQUFLO1FBQ3RELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNM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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7Q0FFRjtBQUVELFNBQVMsYUFBYSxDQUFDLE9BQVk7SUFDakMsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNkRBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBfIH0gZnJvbSAnLi9jb3JlLWltcG9ydHMnO1xuXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEhlbHBlcnNJc29tb3JwaGljIH0gZnJvbSAnLi9oZWxwZXJzLWlzb21vcnBoaWMnO1xuaW1wb3J0IHsgUFJPR1JFU1NfREFUQSB9IGZyb20gJy4vcHJvZ3Jlc3MtZGF0YSc7XG5pbXBvcnQgeyBmcmFtZXdvcmtOYW1lIH0gZnJvbSAnLi9mcmFtZXdvcmstbmFtZSc7XG5cblxuXG5jb25zdCBLRVkgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG4gIExBU1RfU1VDQ0VTUzogU3ltYm9sKCksXG4gIExBU1RfVEFTS19TVEFSVEVEOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX0RPTkU6IFN5bWJvbCgpLFxufTtcblxuY29uc3QgS0VZX0NPVU5UID0ge1xuICBMQVNUX0VSUk9SOiBTeW1ib2woKSxcbiAgTEFTVF9JTkZPOiBTeW1ib2woKSxcbiAgTEFTVF9XQVJOOiBTeW1ib2woKSxcbiAgTEFTVF9MT0c6IFN5bWJvbCgpLFxuICBMQVNUX1NVQ0NFU1M6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfU1RBUlRFRDogU3ltYm9sKCksXG4gIExBU1RfVEFTS19ET05FOiBTeW1ib2woKSxcbn07XG5cbmNvbnN0IEtFWV9JTVBPUlRBTlRDRSA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59O1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5jb25zdCBMSU1JVCA9IDEwO1xuXG5leHBvcnQgY2xhc3MgSGVscGVyc01lc3NhZ2VzIGV4dGVuZHMgSGVscGVyc0lzb21vcnBoaWMge1xuICBtc2dDYWNoZUNsZWFyKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgcmVuZGVyRXJyb3IoZXJyOiBFcnJvcikge1xuICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuICB9XG5cbiAgZXJyb3IoZGV0YWlsczogYW55LCBub0V4aXQgPSBmYWxzZSwgbm9UcmFjZSA9IGZhbHNlKSB7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBpbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIHN1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZGV0YWlsc1xuICAgKiBAcGFyYW0gaXNMb2dUYXNrIGlzIGxlc3MgaW1wb3J0YW50IGxvZyB0YXNrXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICB0YXNrU3RhcnRlZChkZXRhaWxzOiBhbnkgfCBzdHJpbmcsIGlzTG9nVGFzazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICB0YXNrRG9uZShkZXRhaWxzPzogYW55IHwgc3RyaW5nLCBpc0xlc3NJbXBvcnRhbnQgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGxvZyhkZXRhaWxzOiBhbnksIGRlYnVnTGV2ZWwgPSAwKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmxvZyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ1N1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dJbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dFcnJvcihkZXRhaWxzOiBhbnksIG5vRXhpdCA9IGZhbHNlLCBub1RyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExvZ3Mgbm90IHZpc2libGUgaW4gbm9ybWFsIHVzZSBvZiB0YW9uLWNsaVxuICAgKi9cbiAgbG9nV2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgd2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0YShkZXRhaWxzOiBhbnkpIHtcbiAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnb2JqZWN0Jykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRldGFpbHMpKSB7XG4gICAgICByZXR1cm4gZGV0YWlscy5qb2luKCdcXG4nKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShkZXRhaWxzKTtcbiAgICAgIGRldGFpbHMgPSBqc29uO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gZGV0YWlscztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRldGFpbHM7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvaGVscGVycy1tZXNzYWdlcy50cyJdfQ==
|
534
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFLTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXpELE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDbEIsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxNQUFNLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE1BQU0sRUFBRTtDQUN6QixDQUFDO0FBRUYsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBRWpCLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQUNwRCxhQUFhO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNaLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztRQUVELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFlO1FBQ25CLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRW5CLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDckIsNERBQTRELENBQUM7WUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUVqRCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1FBRUQsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxPQUFPLEdBQUcsS0FBSztRQUVqRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBR0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxVQUFVLEdBQUcsS0FBSztRQUMxQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxPQUFPLENBQUMsT0FBcUI7UUFDM0IsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0Q7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBcUIsRUFBRSxZQUFxQixLQUFLO1FBQzNELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFHRCxRQUFRLENBQUMsT0FBc0IsRUFBRSxlQUFlLEdBQUcsS0FBSztRQUN0RCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxHQUFHLENBQUMsT0FBWSxFQUFFLFVBQVUsR0FBRyxDQUFDO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFL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XyB9IGZyb20gJy4vY29yZS1pbXBvcnRzJztcblxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBIZWxwZXJzSXNvbW9ycGhpYyB9IGZyb20gJy4vaGVscGVycy1pc29tb3JwaGljJztcbmltcG9ydCB7IFBST0dSRVNTX0RBVEEgfSBmcm9tICcuL3Byb2dyZXNzLWRhdGEnO1xuaW1wb3J0IHsgZnJhbWV3b3JrTmFtZSB9IGZyb20gJy4vZnJhbWV3b3JrLW5hbWUnO1xuXG5cblxuY29uc3QgS0VZID0ge1xuICBMQVNUX0VSUk9SOiBTeW1ib2woKSxcbiAgTEFTVF9JTkZPOiBTeW1ib2woKSxcbiAgTEFTVF9XQVJOOiBTeW1ib2woKSxcbiAgTEFTVF9MT0c6IFN5bWJvbCgpLFxuICBMQVNUX1NVQ0NFU1M6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfU1RBUlRFRDogU3ltYm9sKCksXG4gIExBU1RfVEFTS19ET05FOiBTeW1ib2woKSxcbn07XG5cbmNvbnN0IEtFWV9DT1VOVCA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59O1xuXG5jb25zdCBLRVlfSU1QT1JUQU5UQ0UgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG4gIExBU1RfU1VDQ0VTUzogU3ltYm9sKCksXG4gIExBU1RfVEFTS19TVEFSVEVEOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX0RPTkU6IFN5bWJvbCgpLFxufTtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgTElNSVQgPSAxMDtcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNNZXNzYWdlcyBleHRlbmRzIEhlbHBlcnNJc29tb3JwaGljIHtcbiAgbXNnQ2FjaGVDbGVhcigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIHJlbmRlckVycm9yKGVycjogRXJyb3IpIHtcbiAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcblxuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH0gZWxzZSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaHJvdyBlcnJvciBhbmQgZXhpdCBwcm9jZXNzXG4gICAqIG1ha2Ugc3VyZSBicm93c2VyIG9yIG5vZGVqcyB3aWxsIG5vdCBjb250aW51ZVxuICAgKiBAcGFyYW0gZGV0YWlsc1xuICAgKi9cbiAgdGhyb3coZGV0YWlsczogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID1cbiAgICAgICAgJzxoMT5BcHBsaWNhdGlvbiBoYXMgZW5jb3VudGVyZWQgYW4gZXJyb3IgYW5kIHN0b3BwZWQuPC9oMT4nO1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGRldGFpbHMpO1xuICB9XG5cbiAgZXJyb3IoZGV0YWlsczogYW55LCBub0V4aXQgPSBmYWxzZSwgbm9UcmFjZSA9IGZhbHNlKSB7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBpbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIHN1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZGV0YWlsc1xuICAgKiBAcGFyYW0gaXNMb2dUYXNrIGlzIGxlc3MgaW1wb3J0YW50IGxvZyB0YXNrXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICB0YXNrU3RhcnRlZChkZXRhaWxzOiBhbnkgfCBzdHJpbmcsIGlzTG9nVGFzazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICB0YXNrRG9uZShkZXRhaWxzPzogYW55IHwgc3RyaW5nLCBpc0xlc3NJbXBvcnRhbnQgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGxvZyhkZXRhaWxzOiBhbnksIGRlYnVnTGV2ZWwgPSAwKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmxvZyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ1N1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dJbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dFcnJvcihkZXRhaWxzOiBhbnksIG5vRXhpdCA9IGZhbHNlLCBub1RyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExvZ3Mgbm90IHZpc2libGUgaW4gbm9ybWFsIHVzZSBvZiB0YW9uLWNsaVxuICAgKi9cbiAgbG9nV2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgd2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0YShkZXRhaWxzOiBhbnkpIHtcbiAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnb2JqZWN0Jykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRldGFpbHMpKSB7XG4gICAgICByZXR1cm4gZGV0YWlscy5qb2luKCdcXG4nKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShkZXRhaWxzKTtcbiAgICAgIGRldGFpbHMgPSBqc29uO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gZGV0YWlscztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRldGFpbHM7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvaGVscGVycy1tZXNzYWdlcy50cyJdfQ==
|