@mnaoumov/typescript-dev-toolkit 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/build.cjs +2 -24
- package/dist/lib/cjs/build.d.cts +1 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.cjs +2 -24
- package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.d.cts +1 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +1 -56
- package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +1 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.cjs +4 -25
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.d.cts +1 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +6 -61
- package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +129 -27
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +4 -2
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -25
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +1 -1
- package/dist/lib/cjs/bundlers/index.cjs +2 -57
- package/dist/lib/cjs/bundlers/index.d.cts +1 -1
- package/dist/lib/cjs/check-project-types.cjs +3 -25
- package/dist/lib/cjs/check-project-types.d.cts +1 -1
- package/dist/lib/cjs/cli-utils.cjs +3 -25
- package/dist/lib/cjs/cli-utils.d.cts +1 -1
- package/dist/lib/cjs/code-generator.cjs +1 -56
- package/dist/lib/cjs/code-generator.d.cts +1 -1
- package/dist/lib/cjs/commitlint-config.cjs +2 -24
- package/dist/lib/cjs/commitlint-config.d.cts +1 -1
- package/dist/lib/cjs/commitlint-forbidden-patterns.cjs +1 -56
- package/dist/lib/cjs/commitlint-forbidden-patterns.d.cts +1 -1
- package/dist/lib/cjs/commitlint-spellcheck-header.cjs +1 -56
- package/dist/lib/cjs/commitlint-spellcheck-header.d.cts +1 -1
- package/dist/lib/cjs/env-toggle.cjs +3 -25
- package/dist/lib/cjs/env-toggle.d.cts +1 -1
- package/dist/lib/cjs/exec.cjs +3 -25
- package/dist/lib/cjs/exec.d.cts +2 -1
- package/dist/lib/cjs/forbidden-patterns.cjs +3 -25
- package/dist/lib/cjs/forbidden-patterns.d.cts +1 -1
- package/dist/lib/cjs/formatters/dprint.cjs +2 -24
- package/dist/lib/cjs/formatters/dprint.d.cts +1 -1
- package/dist/lib/cjs/formatters/index.cjs +2 -57
- package/dist/lib/cjs/formatters/index.d.cts +1 -1
- package/dist/lib/cjs/fs.cjs +2 -24
- package/dist/lib/cjs/fs.d.cts +2 -1
- package/dist/lib/cjs/gate.cjs +1 -56
- package/dist/lib/cjs/gate.d.cts +1 -1
- package/dist/lib/cjs/git.cjs +1 -56
- package/dist/lib/cjs/git.d.cts +1 -1
- package/dist/lib/cjs/index.cjs +31 -86
- package/dist/lib/cjs/json.cjs +2 -24
- package/dist/lib/cjs/json.d.cts +1 -1
- package/dist/lib/cjs/library-build.cjs +101 -35
- package/dist/lib/cjs/library-build.d.cts +12 -2
- package/dist/lib/cjs/library-references.d.cts +2 -0
- package/dist/lib/cjs/linters/cspell-content.cjs +2 -24
- package/dist/lib/cjs/linters/cspell-content.d.cts +1 -1
- package/dist/lib/cjs/linters/cspell.cjs +1 -56
- package/dist/lib/cjs/linters/cspell.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-config.cjs +8 -30
- package/dist/lib/cjs/linters/eslint-config.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +13 -68
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/require-method-template.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/require-method-template.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/require-super-call.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/require-super-call.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint.cjs +78 -26
- package/dist/lib/cjs/linters/eslint.d.cts +40 -1
- package/dist/lib/cjs/linters/index.cjs +15 -70
- package/dist/lib/cjs/linters/index.d.cts +1 -1
- package/dist/lib/cjs/linters/lint-ignores.cjs +2 -24
- package/dist/lib/cjs/linters/lint-ignores.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +3 -25
- package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-content.cjs +2 -24
- package/dist/lib/cjs/linters/markdownlint-content.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-ignores.cjs +1 -56
- package/dist/lib/cjs/linters/markdownlint-ignores.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +2 -57
- package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.cjs +1 -56
- package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint.cjs +2 -24
- package/dist/lib/cjs/linters/markdownlint.d.cts +1 -1
- package/dist/lib/cjs/linters/over-exposure.cjs +2 -24
- package/dist/lib/cjs/linters/over-exposure.d.cts +1 -1
- package/dist/lib/cjs/nano-staged-config.cjs +2 -57
- package/dist/lib/cjs/nano-staged-config.d.cts +1 -1
- package/dist/lib/cjs/npm-publish.cjs +1 -56
- package/dist/lib/cjs/npm-publish.d.cts +1 -1
- package/dist/lib/cjs/npm-run.cjs +2 -24
- package/dist/lib/cjs/npm-run.d.cts +1 -1
- package/dist/lib/cjs/npm.cjs +2 -24
- package/dist/lib/cjs/npm.d.cts +1 -1
- package/dist/lib/cjs/package-lock-integrity.cjs +1 -56
- package/dist/lib/cjs/package-lock-integrity.d.cts +1 -1
- package/dist/lib/cjs/package-manager.cjs +3 -25
- package/dist/lib/cjs/package-manager.d.cts +1 -1
- package/dist/lib/cjs/released-issues.cjs +2 -24
- package/dist/lib/cjs/released-issues.d.cts +1 -1
- package/dist/lib/cjs/repo-paths.cjs +1 -56
- package/dist/lib/cjs/repo-paths.d.cts +1 -1
- package/dist/lib/cjs/root.cjs +2 -24
- package/dist/lib/cjs/root.d.cts +1 -1
- package/dist/lib/cjs/test-runners/index.cjs +3 -58
- package/dist/lib/cjs/test-runners/index.d.cts +1 -1
- package/dist/lib/cjs/test-runners/vitest-config.cjs +1 -56
- package/dist/lib/cjs/test-runners/vitest-config.d.cts +1 -1
- package/dist/lib/cjs/test-runners/vitest.cjs +1 -56
- package/dist/lib/cjs/test-runners/vitest.d.cts +1 -1
- package/dist/lib/cjs/validate-declarations.cjs +2 -24
- package/dist/lib/cjs/validate-declarations.d.cts +1 -1
- package/dist/lib/cjs/version.cjs +2 -24
- package/dist/lib/cjs/version.d.cts +2 -1
- package/dist/lib/esm/build.d.mts +1 -1
- package/dist/lib/esm/build.mjs +2 -11
- package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.mjs +2 -11
- package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +1 -43
- package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.mjs +4 -12
- package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +1 -43
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +4 -2
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +154 -14
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +2 -11
- package/dist/lib/esm/bundlers/index.d.mts +1 -1
- package/dist/lib/esm/bundlers/index.mjs +1 -43
- package/dist/lib/esm/check-project-types.d.mts +1 -1
- package/dist/lib/esm/check-project-types.mjs +2 -11
- package/dist/lib/esm/cli-utils.d.mts +1 -1
- package/dist/lib/esm/cli-utils.mjs +2 -11
- package/dist/lib/esm/code-generator.d.mts +1 -1
- package/dist/lib/esm/code-generator.mjs +1 -43
- package/dist/lib/esm/commitlint-config.d.mts +1 -1
- package/dist/lib/esm/commitlint-config.mjs +2 -11
- package/dist/lib/esm/commitlint-forbidden-patterns.d.mts +1 -1
- package/dist/lib/esm/commitlint-forbidden-patterns.mjs +1 -43
- package/dist/lib/esm/commitlint-spellcheck-header.d.mts +1 -1
- package/dist/lib/esm/commitlint-spellcheck-header.mjs +1 -43
- package/dist/lib/esm/env-toggle.d.mts +1 -1
- package/dist/lib/esm/env-toggle.mjs +2 -11
- package/dist/lib/esm/exec.d.mts +2 -1
- package/dist/lib/esm/exec.mjs +2 -11
- package/dist/lib/esm/forbidden-patterns.d.mts +1 -1
- package/dist/lib/esm/forbidden-patterns.mjs +2 -11
- package/dist/lib/esm/formatters/dprint.d.mts +1 -1
- package/dist/lib/esm/formatters/dprint.mjs +2 -11
- package/dist/lib/esm/formatters/index.d.mts +1 -1
- package/dist/lib/esm/formatters/index.mjs +1 -43
- package/dist/lib/esm/fs.d.mts +2 -1
- package/dist/lib/esm/fs.mjs +2 -11
- package/dist/lib/esm/gate.d.mts +1 -1
- package/dist/lib/esm/gate.mjs +1 -43
- package/dist/lib/esm/git.d.mts +1 -1
- package/dist/lib/esm/git.mjs +1 -43
- package/dist/lib/esm/index.mjs +1 -43
- package/dist/lib/esm/json.d.mts +1 -1
- package/dist/lib/esm/json.mjs +2 -11
- package/dist/lib/esm/library-build.d.mts +12 -2
- package/dist/lib/esm/library-build.mjs +110 -22
- package/dist/lib/esm/library-references.d.mts +2 -0
- package/dist/lib/esm/linters/cspell-content.d.mts +1 -1
- package/dist/lib/esm/linters/cspell-content.mjs +2 -11
- package/dist/lib/esm/linters/cspell.d.mts +1 -1
- package/dist/lib/esm/linters/cspell.mjs +1 -43
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.mjs +1 -43
- package/dist/lib/esm/linters/eslint-config.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-config.mjs +2 -11
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/index.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/params-options-name-match.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/params-options-name-match.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/require-method-template.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/require-method-template.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/require-super-call.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/require-super-call.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/ts-estree-node.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/ts-estree-node.mjs +2 -11
- package/dist/lib/esm/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.mts +1 -1
- package/dist/lib/esm/linters/eslint.d.mts +40 -1
- package/dist/lib/esm/linters/eslint.mjs +75 -13
- package/dist/lib/esm/linters/index.d.mts +1 -1
- package/dist/lib/esm/linters/index.mjs +1 -43
- package/dist/lib/esm/linters/lint-ignores.d.mts +1 -1
- package/dist/lib/esm/linters/lint-ignores.mjs +2 -11
- package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +2 -11
- package/dist/lib/esm/linters/markdownlint-content.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-content.mjs +2 -11
- package/dist/lib/esm/linters/markdownlint-ignores.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-ignores.mjs +1 -43
- package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-rules/index.mjs +1 -43
- package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.mjs +1 -43
- package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint.mjs +2 -11
- package/dist/lib/esm/linters/over-exposure.d.mts +1 -1
- package/dist/lib/esm/linters/over-exposure.mjs +2 -11
- package/dist/lib/esm/nano-staged-config.d.mts +1 -1
- package/dist/lib/esm/nano-staged-config.mjs +1 -43
- package/dist/lib/esm/npm-publish.d.mts +1 -1
- package/dist/lib/esm/npm-publish.mjs +1 -43
- package/dist/lib/esm/npm-run.d.mts +1 -1
- package/dist/lib/esm/npm-run.mjs +2 -11
- package/dist/lib/esm/npm.d.mts +1 -1
- package/dist/lib/esm/npm.mjs +2 -11
- package/dist/lib/esm/package-lock-integrity.d.mts +1 -1
- package/dist/lib/esm/package-lock-integrity.mjs +1 -43
- package/dist/lib/esm/package-manager.d.mts +1 -1
- package/dist/lib/esm/package-manager.mjs +2 -11
- package/dist/lib/esm/released-issues.d.mts +1 -1
- package/dist/lib/esm/released-issues.mjs +2 -11
- package/dist/lib/esm/repo-paths.d.mts +1 -1
- package/dist/lib/esm/repo-paths.mjs +1 -43
- package/dist/lib/esm/root.d.mts +1 -1
- package/dist/lib/esm/root.mjs +2 -11
- package/dist/lib/esm/test-runners/index.d.mts +1 -1
- package/dist/lib/esm/test-runners/index.mjs +1 -43
- package/dist/lib/esm/test-runners/vitest-config.d.mts +1 -1
- package/dist/lib/esm/test-runners/vitest-config.mjs +1 -43
- package/dist/lib/esm/test-runners/vitest.d.mts +1 -1
- package/dist/lib/esm/test-runners/vitest.mjs +1 -43
- package/dist/lib/esm/validate-declarations.d.mts +1 -1
- package/dist/lib/esm/validate-declarations.mjs +2 -11
- package/dist/lib/esm/version.d.mts +2 -1
- package/dist/lib/esm/version.mjs +2 -11
- package/package.json +1 -1
package/dist/lib/esm/npm-run.mjs
CHANGED
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import { getLibDebugger } from "@mnaoumov/typescript-lib/debug";
|
|
@@ -78,4 +69,4 @@ export {
|
|
|
78
69
|
npmRun,
|
|
79
70
|
npmRunOptional
|
|
80
71
|
};
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ucG0tcnVuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBOUE0gcnVuIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kZWJ1Zyc7XG5cbmltcG9ydCB7IHJlYWRQYWNrYWdlSnNvbiB9IGZyb20gJy4vbnBtLnRzJztcbmltcG9ydCB7IGdldFBhY2thZ2VNYW5hZ2VyUnVuQ29tbWFuZCB9IGZyb20gJy4vcGFja2FnZS1tYW5hZ2VyLnRzJztcbmltcG9ydCB7IGV4ZWNGcm9tUm9vdCB9IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBydW5uaW5nIGFuIG9wdGlvbmFsIG5wbSBjb21tYW5kLlxuICovXG5leHBvcnQgZW51bSBOcG1SdW5PcHRpb25hbFJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB3YXMgc2tpcHBlZCBiZWNhdXNlIGl0IHdhcyBub3QgZGVmaW5lZCBpbiB0aGUgcGFja2FnZS5qc29uIHNjcmlwdHMuXG4gICAqL1xuICBTa2lwcGVkID0gJ3NraXBwZWQnLFxuXG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB3YXMgZm91bmQgYW5kIHJ1biBzdWNjZXNzZnVsbHkuXG4gICAqL1xuICBTdWNjZXNzID0gJ3N1Y2Nlc3MnXG59XG5cbi8qKlxuICogUnVucyBhIGNvbW1hbmQgdXNpbmcgbnBtIGNoZWNraW5nIGlmIHRoZSBjb21tYW5kIGlzIG92ZXJyaWRkZW4gaW4gdGhlIHBhY2thZ2UuanNvbi5cbiAqXG4gKiBAcGFyYW0gY29tbWFuZCAtIFRoZSBjb21tYW5kIHRvIHJ1bi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5wbVJ1bihjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgaXNLbm93bkNvbW1hbmQgPSBPYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5zY3JpcHRzID8/IHt9KS5pbmNsdWRlcyhjb21tYW5kKTtcbiAgaWYgKGlzS25vd25Db21tYW5kKSB7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsuLi5nZXRQYWNrYWdlTWFuYWdlclJ1bkNvbW1hbmQoKSwgY29tbWFuZF0pO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ29tbWFuZCAke2NvbW1hbmR9IGlzIG5vdCBkZWZpbmVkIGluIHRoZSBwYWNrYWdlLmpzb25gKTtcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgYSBjb21tYW5kIHVzaW5nIG5wbSBvbmx5IGlmIHRoZSBjb21tYW5kIGlzIGRlZmluZWQgaW4gdGhlIHBhY2thZ2UuanNvbiBzY3JpcHRzLlxuICogSWYgdGhlIGNvbW1hbmQgaXMgbm90IGRlZmluZWQsIGl0IGlzIHNpbGVudGx5IHNraXBwZWQuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBydW4uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHtAbGluayBOcG1SdW5PcHRpb25hbFJlc3VsdC5TdWNjZXNzfSBpZiB0aGUgY29tbWFuZCB3YXNcbiAqIGZvdW5kIGFuZCBydW4sIG9yIHtAbGluayBOcG1SdW5PcHRpb25hbFJlc3VsdC5Ta2lwcGVkfSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1SdW5PcHRpb25hbChjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPE5wbVJ1bk9wdGlvbmFsUmVzdWx0PiB7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IGlzS25vd25Db21tYW5kID0gT2JqZWN0LmtleXMocGFja2FnZUpzb24uc2NyaXB0cyA/PyB7fSkuaW5jbHVkZXMoY29tbWFuZCk7XG4gIGlmIChpc0tub3duQ29tbWFuZCkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdChbLi4uZ2V0UGFja2FnZU1hbmFnZXJSdW5Db21tYW5kKCksIGNvbW1hbmRdKTtcbiAgICByZXR1cm4gTnBtUnVuT3B0aW9uYWxSZXN1bHQuU3VjY2VzcztcbiAgfVxuICBnZXRMaWJEZWJ1Z2dlcignbnBtUnVuT3B0aW9uYWwnKShgQ29tbWFuZCAke2NvbW1hbmR9IGlzIG5vdCBkZWZpbmVkIGluIHRoZSBwYWNrYWdlLmpzb24sIHNraXBwaW5nYCk7XG4gIHJldHVybiBOcG1SdW5PcHRpb25hbFJlc3VsdC5Ta2lwcGVkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsc0JBQXNCO0FBRS9CLFNBQVMsdUJBQXVCO0FBQ2hDLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsb0JBQW9CO0FBS3RCLElBQUssdUJBQUwsa0JBQUtBLDBCQUFMO0FBSUwsRUFBQUEsc0JBQUEsYUFBVTtBQUtWLEVBQUFBLHNCQUFBLGFBQVU7QUFUQSxTQUFBQTtBQUFBLEdBQUE7QUFpQlosZUFBc0IsT0FBTyxTQUFnQztBQUMzRCxRQUFNLGNBQWMsTUFBTSxnQkFBZ0I7QUFDMUMsUUFBTSxpQkFBaUIsT0FBTyxLQUFLLFlBQVksV0FBVyxDQUFDLENBQUMsRUFBRSxTQUFTLE9BQU87QUFDOUUsTUFBSSxnQkFBZ0I7QUFDbEIsVUFBTSxhQUFhLENBQUMsR0FBRyw0QkFBNEIsR0FBRyxPQUFPLENBQUM7QUFBQSxFQUNoRSxPQUFPO0FBQ0wsVUFBTSxJQUFJLE1BQU0sV0FBVyxPQUFPLHFDQUFxQztBQUFBLEVBQ3pFO0FBQ0Y7QUFVQSxlQUFzQixlQUFlLFNBQWdEO0FBQ25GLFFBQU0sY0FBYyxNQUFNLGdCQUFnQjtBQUMxQyxRQUFNLGlCQUFpQixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQyxFQUFFLFNBQVMsT0FBTztBQUM5RSxNQUFJLGdCQUFnQjtBQUNsQixVQUFNLGFBQWEsQ0FBQyxHQUFHLDRCQUE0QixHQUFHLE9BQU8sQ0FBQztBQUM5RCxXQUFPO0FBQUEsRUFDVDtBQUNBLGlCQUFlLGdCQUFnQixFQUFFLFdBQVcsT0FBTywrQ0FBK0M7QUFDbEcsU0FBTztBQUNUOyIsIm5hbWVzIjpbIk5wbVJ1bk9wdGlvbmFsUmVzdWx0Il19
|
package/dist/lib/esm/npm.d.mts
CHANGED
package/dist/lib/esm/npm.mjs
CHANGED
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import { normalizeOptionalProperties } from "@mnaoumov/typescript-lib/object-utils";
|
|
@@ -152,4 +143,4 @@ export {
|
|
|
152
143
|
writePackageLockJson,
|
|
153
144
|
writePackageLockJsonSync
|
|
154
145
|
};
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBOUE0gcGFja2FnZS5qc29uLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgUGFja2FnZUpzb24sXG4gIFByb21pc2FibGVcbn0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdEpzb25QYXJhbXMsXG4gIEVkaXRKc29uU3luY1BhcmFtc1xufSBmcm9tICcuL2pzb24udHMnO1xuaW1wb3J0IHR5cGUgeyBSZXNvbHZlUGF0aEZyb21Sb290UGFyYW1zIH0gZnJvbSAnLi9yb290LnRzJztcblxuaW1wb3J0IHtcbiAgZWRpdEpzb24sXG4gIGVkaXRKc29uU3luYyxcbiAgcmVhZEpzb24sXG4gIHJlYWRKc29uU3luYyxcbiAgd3JpdGVKc29uLFxuICB3cml0ZUpzb25TeW5jXG59IGZyb20gJy4vanNvbi50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXROcG1TaHJpbmtXcmFwSnNvbn0uXG4gKi9cbmV4cG9ydCB0eXBlIEVkaXROcG1TaHJpbmtXcmFwSnNvbk9wdGlvbnMgPSBFZGl0UGFja2FnZUpzb25PcHRpb25zO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBlZGl0UGFja2FnZUpzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMge1xuICAvKipcbiAgICogQSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSBjd2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgc2tpcHMgZWRpdGluZyBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2tpcElmTWlzc2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlSnNvblN5bmN9LlxuICovXG5leHBvcnQgdHlwZSBFZGl0UGFja2FnZUpzb25TeW5jT3B0aW9ucyA9IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlTG9ja0pzb259LlxuICovXG5leHBvcnQgdHlwZSBFZGl0UGFja2FnZUxvY2tKc29uT3B0aW9ucyA9IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlTG9ja0pzb25TeW5jfS5cbiAqL1xuZXhwb3J0IHR5cGUgRWRpdFBhY2thZ2VMb2NrSnNvblN5bmNPcHRpb25zID0gRWRpdFBhY2thZ2VKc29uT3B0aW9ucztcblxuLyoqXG4gKiBBIHR5cGUgb2YgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cblxuLyoqXG4gKiBBIHR5cGUgb2YgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlTG9ja0pzb24gZXh0ZW5kcyBQYXJ0aWFsPFBhY2thZ2VKc29uPiB7XG4gIC8qKlxuICAgKiBQYWNrYWdlcyBpbiB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICAgKi9cbiAgcGFja2FnZXM/OiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSnNvbj47XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZ1bmN0aW9uIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXROcG1TaHJpbmtXcmFwSnNvbihcbiAgZWRpdEZ1bmN0aW9uOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IFByb21pc2FibGU8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXROcG1TaHJpbmtXcmFwSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvblBhcmFtczxQYWNrYWdlSnNvbj4+KHsgZWRpdEZ1bmN0aW9uLCBwYXRoOiBnZXROcG1TaHJpbmtXcmFwSnNvblBhdGgoY3dkKSwgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UGFja2FnZUpzb24oXG4gIGVkaXRGdW5jdGlvbjogKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBhd2FpdCBlZGl0SnNvbjxQYWNrYWdlSnNvbj4obm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uUGFyYW1zPFBhY2thZ2VKc29uPj4oeyBlZGl0RnVuY3Rpb24sIHBhdGg6IGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZ1bmN0aW9uIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFBhY2thZ2VKc29uU3luYyhcbiAgZWRpdEZ1bmN0aW9uOiAocGFja2FnZUpzb246IFBhY2thZ2VKc29uKSA9PiB2b2lkLFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25TeW5jT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUpzb24+KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvblN5bmNQYXJhbXM8UGFja2FnZUpzb24+Pih7IGVkaXRGdW5jdGlvbiwgcGF0aDogZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UGFja2FnZUxvY2tKc29uKFxuICBlZGl0RnVuY3Rpb246IChwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VMb2NrSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvblBhcmFtczxQYWNrYWdlSnNvbj4+KHsgZWRpdEZ1bmN0aW9uLCBwYXRoOiBnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlZGl0UGFja2FnZUxvY2tKc29uU3luYyhcbiAgZWRpdEZ1bmN0aW9uOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IHZvaWQsXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlTG9ja0pzb25TeW5jT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUxvY2tKc29uPihub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25TeW5jUGFyYW1zPFBhY2thZ2VMb2NrSnNvbj4+KHsgZWRpdEZ1bmN0aW9uLCBwYXRoOiBnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgbnBtLXNocmlua3dyYXAuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5wbVNocmlua1dyYXBKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdChub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UmVzb2x2ZVBhdGhGcm9tUm9vdFBhcmFtcz4oeyBjd2QsIHBhdGg6IFJlcG9QYXRocy5OcG1TaHJpbmt3cmFwSnNvbiB9KSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIG5wbS1zaHJpbmt3cmFwLmpzb24gcGF0aCdcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3Qobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFJlc29sdmVQYXRoRnJvbVJvb3RQYXJhbXM+KHsgY3dkLCBwYXRoOiBSZXBvUGF0aHMuUGFja2FnZUpzb24gfSkpLFxuICAgICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBwYWNrYWdlLmpzb24gcGF0aCdcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZShcbiAgICByZXNvbHZlUGF0aEZyb21Sb290KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxSZXNvbHZlUGF0aEZyb21Sb290UGFyYW1zPih7IGN3ZCwgcGF0aDogUmVwb1BhdGhzLlBhY2thZ2VMb2NrSnNvbiB9KSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhY2thZ2UtbG9jay5qc29uIHBhdGgnXG4gICk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvbihjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPFBhY2thZ2VKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvblN5bmMoY3dkPzogc3RyaW5nKTogUGFja2FnZUpzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uKGN3ZD86IHN0cmluZyk6IFByb21pc2U8UGFja2FnZUxvY2tKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uU3luYyhjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlTG9ja0pzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VMb2NrSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlSnNvbiAtIFRoZSBgUGFja2FnZUpzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbiwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgcGFja2FnZUpzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VKc29uIC0gVGhlIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uU3luYyhwYWNrYWdlSnNvbjogUGFja2FnZUpzb24sIGN3ZD86IHN0cmluZyk6IHZvaWQge1xuICB3cml0ZUpzb25TeW5jKGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBwYWNrYWdlSnNvbik7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUpzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb24ocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24sIGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUpzb24oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBwYWNrYWdlTG9ja0pzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VMb2NrSnNvbiAtIFRoZSBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb25TeW5jKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uLCBjd2Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgd3JpdGVKc29uU3luYyhnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHBhY2thZ2VMb2NrSnNvbik7XG59XG5cbi8vIFR5cGVTY3JpcHQncyBkZWNsYXJhdGlvbiBlbWl0IGFkZHMgYHdpdGggeyAncmVzb2x1dGlvbi1tb2RlJzogJ2ltcG9ydCcgfWAgdG8gaW1wb3J0IGRlY2xhcmF0aW9ucyBvbmx5LlxuLy8gQSByZS1leHBvcnQtZnJvbSB3b3VsZCB0aHVzIHJlc29sdmUgRVNNLW9ubHkgYHR5cGUtZmVzdGAgdW5kZXIgYHJlcXVpcmVgIGluIHRoZSBgLmQuY3RzYCBidWlsZCAoVFMxNDc5KS5cbi8vIFJlLWV4cG9ydGluZyB0aGUgYmluZGluZyBpbXBvcnRlZCBhYm92ZSBrZWVwcyB0aGF0IHJlc29sdXRpb24gbW9kZSBhdHRhY2hlZC5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1leHBvcnQtZnJvbSAtLSBgZXhwb3J0XHUyMDI2ZnJvbWAgcmUtaW50cm9kdWNlcyBUUzE0NzksIHNlZSBhYm92ZS5cbmV4cG9ydCB0eXBlIHsgUGFja2FnZUpzb24gfTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsU0FBUyxtQ0FBbUM7QUFDNUMsU0FBUyx5QkFBeUI7QUFRbEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUywyQkFBMkI7QUE0RHBDLGVBQXNCLHNCQUNwQixjQUNBLFVBQXdDLENBQUMsR0FDMUI7QUFDZixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixRQUFNLFNBQXNCLDRCQUF5RCxFQUFFLGNBQWMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLG9CQUFvQixDQUFDLENBQUM7QUFDbEs7QUFTQSxlQUFzQixnQkFDcEIsY0FDQSxVQUFrQyxDQUFDLEdBQ3BCO0FBQ2YsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxTQUFzQiw0QkFBeUQsRUFBRSxjQUFjLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzVKO0FBUU8sU0FBUyxvQkFDZCxjQUNBLFVBQXNDLENBQUMsR0FDakM7QUFDTixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixlQUEwQiw0QkFBNkQsRUFBRSxjQUFjLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzlKO0FBU0EsZUFBc0Isb0JBQ3BCLGNBQ0EsVUFBc0MsQ0FBQyxHQUN4QjtBQUNmLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLFFBQU0sU0FBc0IsNEJBQXlELEVBQUUsY0FBYyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztBQUNoSztBQVFPLFNBQVMsd0JBQ2QsY0FDQSxVQUEwQyxDQUFDLEdBQ3JDO0FBQ04sUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osZUFBOEIsNEJBQWlFLEVBQUUsY0FBYyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztBQUMxSztBQVFPLFNBQVMseUJBQXlCLEtBQXNCO0FBQzdELFNBQU87QUFBQSxJQUNMLG9CQUFvQiw0QkFBdUQsRUFBRSxLQUFLLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxDQUFDO0FBQUEsSUFDdEg7QUFBQSxFQUNGO0FBQ0Y7QUFRTyxTQUFTLG1CQUFtQixLQUFzQjtBQUN2RCxTQUFPO0FBQUEsSUFDTCxvQkFBb0IsNEJBQXVELEVBQUUsS0FBSyxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQUM7QUFBQSxJQUNoSDtBQUFBLEVBQ0Y7QUFDRjtBQVFPLFNBQVMsdUJBQXVCLEtBQXNCO0FBQzNELFNBQU87QUFBQSxJQUNMLG9CQUFvQiw0QkFBdUQsRUFBRSxLQUFLLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQUEsSUFDcEg7QUFBQSxFQUNGO0FBQ0Y7QUFRQSxlQUFzQixnQkFBZ0IsS0FBb0M7QUFDeEUsU0FBTyxNQUFNLFNBQXNCLG1CQUFtQixHQUFHLENBQUM7QUFDNUQ7QUFRTyxTQUFTLG9CQUFvQixLQUEyQjtBQUM3RCxTQUFPLGFBQTBCLG1CQUFtQixHQUFHLENBQUM7QUFDMUQ7QUFRQSxlQUFzQixvQkFBb0IsS0FBd0M7QUFDaEYsU0FBTyxNQUFNLFNBQTBCLHVCQUF1QixHQUFHLENBQUM7QUFDcEU7QUFRTyxTQUFTLHdCQUF3QixLQUErQjtBQUNyRSxTQUFPLGFBQThCLHVCQUF1QixHQUFHLENBQUM7QUFDbEU7QUFTQSxlQUFzQixpQkFBaUIsYUFBMEIsS0FBNkI7QUFDNUYsUUFBTSxVQUFVLG1CQUFtQixHQUFHLEdBQUcsV0FBVztBQUN0RDtBQVFPLFNBQVMscUJBQXFCLGFBQTBCLEtBQW9CO0FBQ2pGLGdCQUFjLG1CQUFtQixHQUFHLEdBQUcsV0FBVztBQUNwRDtBQVNBLGVBQXNCLHFCQUFxQixpQkFBa0MsS0FBNkI7QUFDeEcsUUFBTSxVQUFVLHVCQUF1QixHQUFHLEdBQUcsZUFBZTtBQUM5RDtBQVFPLFNBQVMseUJBQXlCLGlCQUFrQyxLQUFvQjtBQUM3RixnQkFBYyx1QkFBdUIsR0FBRyxHQUFHLGVBQWU7QUFDNUQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ucG0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBOUE0gcGFja2FnZS5qc29uLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgUGFja2FnZUpzb24sXG4gIFByb21pc2FibGVcbn0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdEpzb25QYXJhbXMsXG4gIEVkaXRKc29uU3luY1BhcmFtc1xufSBmcm9tICcuL2pzb24udHMnO1xuaW1wb3J0IHR5cGUgeyBSZXNvbHZlUGF0aEZyb21Sb290UGFyYW1zIH0gZnJvbSAnLi9yb290LnRzJztcblxuaW1wb3J0IHtcbiAgZWRpdEpzb24sXG4gIGVkaXRKc29uU3luYyxcbiAgcmVhZEpzb24sXG4gIHJlYWRKc29uU3luYyxcbiAgd3JpdGVKc29uLFxuICB3cml0ZUpzb25TeW5jXG59IGZyb20gJy4vanNvbi50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXROcG1TaHJpbmtXcmFwSnNvbn0uXG4gKi9cbmV4cG9ydCB0eXBlIEVkaXROcG1TaHJpbmtXcmFwSnNvbk9wdGlvbnMgPSBFZGl0UGFja2FnZUpzb25PcHRpb25zO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBlZGl0UGFja2FnZUpzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMge1xuICAvKipcbiAgICogQSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSBjd2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgc2tpcHMgZWRpdGluZyBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2tpcElmTWlzc2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlSnNvblN5bmN9LlxuICovXG5leHBvcnQgdHlwZSBFZGl0UGFja2FnZUpzb25TeW5jT3B0aW9ucyA9IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlTG9ja0pzb259LlxuICovXG5leHBvcnQgdHlwZSBFZGl0UGFja2FnZUxvY2tKc29uT3B0aW9ucyA9IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGVkaXRQYWNrYWdlTG9ja0pzb25TeW5jfS5cbiAqL1xuZXhwb3J0IHR5cGUgRWRpdFBhY2thZ2VMb2NrSnNvblN5bmNPcHRpb25zID0gRWRpdFBhY2thZ2VKc29uT3B0aW9ucztcblxuLyoqXG4gKiBBIHR5cGUgb2YgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cblxuLyoqXG4gKiBBIHR5cGUgb2YgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlTG9ja0pzb24gZXh0ZW5kcyBQYXJ0aWFsPFBhY2thZ2VKc29uPiB7XG4gIC8qKlxuICAgKiBQYWNrYWdlcyBpbiB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICAgKi9cbiAgcGFja2FnZXM/OiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSnNvbj47XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZ1bmN0aW9uIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXROcG1TaHJpbmtXcmFwSnNvbihcbiAgZWRpdEZ1bmN0aW9uOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IFByb21pc2FibGU8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXROcG1TaHJpbmtXcmFwSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvblBhcmFtczxQYWNrYWdlSnNvbj4+KHsgZWRpdEZ1bmN0aW9uLCBwYXRoOiBnZXROcG1TaHJpbmtXcmFwSnNvblBhdGgoY3dkKSwgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UGFja2FnZUpzb24oXG4gIGVkaXRGdW5jdGlvbjogKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBhd2FpdCBlZGl0SnNvbjxQYWNrYWdlSnNvbj4obm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uUGFyYW1zPFBhY2thZ2VKc29uPj4oeyBlZGl0RnVuY3Rpb24sIHBhdGg6IGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZ1bmN0aW9uIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFBhY2thZ2VKc29uU3luYyhcbiAgZWRpdEZ1bmN0aW9uOiAocGFja2FnZUpzb246IFBhY2thZ2VKc29uKSA9PiB2b2lkLFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25TeW5jT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUpzb24+KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvblN5bmNQYXJhbXM8UGFja2FnZUpzb24+Pih7IGVkaXRGdW5jdGlvbiwgcGF0aDogZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UGFja2FnZUxvY2tKc29uKFxuICBlZGl0RnVuY3Rpb246IChwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VMb2NrSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvblBhcmFtczxQYWNrYWdlSnNvbj4+KHsgZWRpdEZ1bmN0aW9uLCBwYXRoOiBnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGdW5jdGlvbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlZGl0UGFja2FnZUxvY2tKc29uU3luYyhcbiAgZWRpdEZ1bmN0aW9uOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IHZvaWQsXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlTG9ja0pzb25TeW5jT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUxvY2tKc29uPihub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25TeW5jUGFyYW1zPFBhY2thZ2VMb2NrSnNvbj4+KHsgZWRpdEZ1bmN0aW9uLCBwYXRoOiBnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgbnBtLXNocmlua3dyYXAuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5wbVNocmlua1dyYXBKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdChub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UmVzb2x2ZVBhdGhGcm9tUm9vdFBhcmFtcz4oeyBjd2QsIHBhdGg6IFJlcG9QYXRocy5OcG1TaHJpbmt3cmFwSnNvbiB9KSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIG5wbS1zaHJpbmt3cmFwLmpzb24gcGF0aCdcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3Qobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFJlc29sdmVQYXRoRnJvbVJvb3RQYXJhbXM+KHsgY3dkLCBwYXRoOiBSZXBvUGF0aHMuUGFja2FnZUpzb24gfSkpLFxuICAgICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBwYWNrYWdlLmpzb24gcGF0aCdcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZShcbiAgICByZXNvbHZlUGF0aEZyb21Sb290KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxSZXNvbHZlUGF0aEZyb21Sb290UGFyYW1zPih7IGN3ZCwgcGF0aDogUmVwb1BhdGhzLlBhY2thZ2VMb2NrSnNvbiB9KSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhY2thZ2UtbG9jay5qc29uIHBhdGgnXG4gICk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvbihjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPFBhY2thZ2VKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvblN5bmMoY3dkPzogc3RyaW5nKTogUGFja2FnZUpzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uKGN3ZD86IHN0cmluZyk6IFByb21pc2U8UGFja2FnZUxvY2tKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uU3luYyhjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlTG9ja0pzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VMb2NrSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlSnNvbiAtIFRoZSBgUGFja2FnZUpzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbiwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgcGFja2FnZUpzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VKc29uIC0gVGhlIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uU3luYyhwYWNrYWdlSnNvbjogUGFja2FnZUpzb24sIGN3ZD86IHN0cmluZyk6IHZvaWQge1xuICB3cml0ZUpzb25TeW5jKGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBwYWNrYWdlSnNvbik7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUpzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb24ocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24sIGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUpzb24oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBwYWNrYWdlTG9ja0pzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VMb2NrSnNvbiAtIFRoZSBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb25TeW5jKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uLCBjd2Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgd3JpdGVKc29uU3luYyhnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHBhY2thZ2VMb2NrSnNvbik7XG59XG5cbi8vIFR5cGVTY3JpcHQncyBkZWNsYXJhdGlvbiBlbWl0IGFkZHMgYHdpdGggeyAncmVzb2x1dGlvbi1tb2RlJzogJ2ltcG9ydCcgfWAgdG8gaW1wb3J0IGRlY2xhcmF0aW9ucyBvbmx5LlxuLy8gQSByZS1leHBvcnQtZnJvbSB3b3VsZCB0aHVzIHJlc29sdmUgRVNNLW9ubHkgYHR5cGUtZmVzdGAgdW5kZXIgYHJlcXVpcmVgIGluIHRoZSBgLmQuY3RzYCBidWlsZCAoVFMxNDc5KS5cbi8vIFJlLWV4cG9ydGluZyB0aGUgYmluZGluZyBpbXBvcnRlZCBhYm92ZSBrZWVwcyB0aGF0IHJlc29sdXRpb24gbW9kZSBhdHRhY2hlZC5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1leHBvcnQtZnJvbSAtLSBgZXhwb3J04oCmZnJvbWAgcmUtaW50cm9kdWNlcyBUUzE0NzksIHNlZSBhYm92ZS5cbmV4cG9ydCB0eXBlIHsgUGFja2FnZUpzb24gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxTQUFTLG1DQUFtQztBQUM1QyxTQUFTLHlCQUF5QjtBQVFsQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGlCQUFpQjtBQUMxQixTQUFTLDJCQUEyQjtBQTREcEMsZUFBc0Isc0JBQ3BCLGNBQ0EsVUFBd0MsQ0FBQyxHQUMxQjtBQUNmLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLFFBQU0sU0FBc0IsNEJBQXlELEVBQUUsY0FBYyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztBQUNsSztBQVNBLGVBQXNCLGdCQUNwQixjQUNBLFVBQWtDLENBQUMsR0FDcEI7QUFDZixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixRQUFNLFNBQXNCLDRCQUF5RCxFQUFFLGNBQWMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLG9CQUFvQixDQUFDLENBQUM7QUFDNUo7QUFRTyxTQUFTLG9CQUNkLGNBQ0EsVUFBc0MsQ0FBQyxHQUNqQztBQUNOLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLGVBQTBCLDRCQUE2RCxFQUFFLGNBQWMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLG9CQUFvQixDQUFDLENBQUM7QUFDOUo7QUFTQSxlQUFzQixvQkFDcEIsY0FDQSxVQUFzQyxDQUFDLEdBQ3hCO0FBQ2YsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxTQUFzQiw0QkFBeUQsRUFBRSxjQUFjLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2hLO0FBUU8sU0FBUyx3QkFDZCxjQUNBLFVBQTBDLENBQUMsR0FDckM7QUFDTixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixlQUE4Qiw0QkFBaUUsRUFBRSxjQUFjLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzFLO0FBUU8sU0FBUyx5QkFBeUIsS0FBc0I7QUFDN0QsU0FBTztBQUFBLElBQ0wsb0JBQW9CLDRCQUF1RCxFQUFFLEtBQUssTUFBTSxVQUFVLGtCQUFrQixDQUFDLENBQUM7QUFBQSxJQUN0SDtBQUFBLEVBQ0Y7QUFDRjtBQVFPLFNBQVMsbUJBQW1CLEtBQXNCO0FBQ3ZELFNBQU87QUFBQSxJQUNMLG9CQUFvQiw0QkFBdUQsRUFBRSxLQUFLLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBQztBQUFBLElBQ2hIO0FBQUEsRUFDRjtBQUNGO0FBUU8sU0FBUyx1QkFBdUIsS0FBc0I7QUFDM0QsU0FBTztBQUFBLElBQ0wsb0JBQW9CLDRCQUF1RCxFQUFFLEtBQUssTUFBTSxVQUFVLGdCQUFnQixDQUFDLENBQUM7QUFBQSxJQUNwSDtBQUFBLEVBQ0Y7QUFDRjtBQVFBLGVBQXNCLGdCQUFnQixLQUFvQztBQUN4RSxTQUFPLE1BQU0sU0FBc0IsbUJBQW1CLEdBQUcsQ0FBQztBQUM1RDtBQVFPLFNBQVMsb0JBQW9CLEtBQTJCO0FBQzdELFNBQU8sYUFBMEIsbUJBQW1CLEdBQUcsQ0FBQztBQUMxRDtBQVFBLGVBQXNCLG9CQUFvQixLQUF3QztBQUNoRixTQUFPLE1BQU0sU0FBMEIsdUJBQXVCLEdBQUcsQ0FBQztBQUNwRTtBQVFPLFNBQVMsd0JBQXdCLEtBQStCO0FBQ3JFLFNBQU8sYUFBOEIsdUJBQXVCLEdBQUcsQ0FBQztBQUNsRTtBQVNBLGVBQXNCLGlCQUFpQixhQUEwQixLQUE2QjtBQUM1RixRQUFNLFVBQVUsbUJBQW1CLEdBQUcsR0FBRyxXQUFXO0FBQ3REO0FBUU8sU0FBUyxxQkFBcUIsYUFBMEIsS0FBb0I7QUFDakYsZ0JBQWMsbUJBQW1CLEdBQUcsR0FBRyxXQUFXO0FBQ3BEO0FBU0EsZUFBc0IscUJBQXFCLGlCQUFrQyxLQUE2QjtBQUN4RyxRQUFNLFVBQVUsdUJBQXVCLEdBQUcsR0FBRyxlQUFlO0FBQzlEO0FBUU8sU0FBUyx5QkFBeUIsaUJBQWtDLEtBQW9CO0FBQzdGLGdCQUFjLHVCQUF1QixHQUFHLEdBQUcsZUFBZTtBQUM1RDsiLCJuYW1lcyI6W119
|
|
@@ -3,48 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const existingProcess = globalThis.process;
|
|
23
|
-
|
|
24
|
-
if (!existingProcess) {
|
|
25
|
-
globalThis.process = browserProcess;
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (existingProcess.versions?.node) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const existingProcessRecord = existingProcess;
|
|
34
|
-
|
|
35
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
-
existingProcessRecord[key] ??= value;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
existingProcessRecord['browser'] = true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
(function initEsm() {
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
46
|
-
})();
|
|
47
|
-
|
|
48
6
|
import { existsSync } from "node:fs";
|
|
49
7
|
import {
|
|
50
8
|
getPackageLockJsonPath,
|
|
@@ -96,4 +54,4 @@ export {
|
|
|
96
54
|
assertPackageLockIntegrity,
|
|
97
55
|
findPackageLockEntriesMissingIntegrity
|
|
98
56
|
};
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhY2thZ2UtbG9jay1pbnRlZ3JpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBSZWZ1c2VzIGEgYHBhY2thZ2UtbG9jay5qc29uYCB3aG9zZSBpbnN0YWxsZWQgZW50cmllcyBoYXZlIGxvc3QgdGhlaXIgYHJlc29sdmVkYCBvciBgaW50ZWdyaXR5YCBmaWVsZC5cbiAqXG4gKiBZb3UgZ2V0IHN1Y2ggYSBsb2NrIGJ5IGRlbGV0aW5nIGBwYWNrYWdlLWxvY2suanNvbmAgd2hpbGUgYG5vZGVfbW9kdWxlc2AgaXMgc3RpbGwgaW5zdGFsbGVkIGFuZCB0aGVuXG4gKiBydW5uaW5nIGBucG0gaW5zdGFsbGAuIG5wbSByZWNvcmRzIGV2ZXJ5IHBhY2thZ2UgaXQgcmV1c2VzIGZyb20gYG5vZGVfbW9kdWxlc2Agd2l0aCBpdHMgdmVyc2lvbiBvbmx5LlxuICogT25lIG1lYXN1cmVkIGxvY2sgd2VudCBmcm9tIDcgc3VjaCBlbnRyaWVzIHRvIDEwNjQgb2YgMTIzNCBpbiBhIHNpbmdsZSByZWdlbmVyYXRpb24uICoqbnBtIG5ldmVyIGZpbGxzXG4gKiB0aGUgdHdvIGZpZWxkcyBiYWNrIGluIGFmdGVyd2FyZHMqKjogYSBjbGVhbiBpbnN0YWxsIGludG8gYW4gZW1wdHkgZGlyZWN0b3J5IGRvZXMgbm90LCBhbmQgbmVpdGhlciBkb2VzXG4gKiBgbnBtIGluc3RhbGwgLS1wYWNrYWdlLWxvY2stb25seWAuIGBucG0gY2lgIHNraXBzIGludGVncml0eSB2ZXJpZmljYXRpb24gZm9yIHRob3NlIHBhY2thZ2VzLCBzbyB0aGVcbiAqIGRlZmVjdCBpcyBwZXJtYW5lbnQgYW5kIGV2ZXJ5IG90aGVyIGNoZWNrIHN0YXlzIGdyZWVuLlxuICpcbiAqIFRoZSBjaGVjayByZWFkcyB0aGUgSlNPTiBhbmQgbm90aGluZyBlbHNlLiBJdCBtYWtlcyBubyBuZXR3b3JrIGNhbGwgYW5kIGZpbmlzaGVzIGluIHdlbGwgdW5kZXIgYSBzZWNvbmQsXG4gKiB3aGljaCBpcyB3aHkgYGdhdGUoKWAgcnVucyBpdCBiZWZvcmUgYW55dGhpbmcgZWxzZS5cbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5cbmltcG9ydCB0eXBlIHsgUGFja2FnZUxvY2tKc29uIH0gZnJvbSAnLi9ucG0udHMnO1xuXG5pbXBvcnQge1xuICBnZXRQYWNrYWdlTG9ja0pzb25QYXRoLFxuICByZWFkUGFja2FnZUxvY2tKc29uXG59IGZyb20gJy4vbnBtLnRzJztcblxuLyoqXG4gKiBIb3cgbWFueSBvZmZlbmRpbmcga2V5cyB0aGUgZXJyb3IgbmFtZXMgYmVmb3JlIGl0IHN1bW1hcml6ZXMgdGhlIHJlc3QgYXMgYSBjb3VudC5cbiAqL1xuY29uc3QgTUFYX1JFUE9SVEVEX0tFWVMgPSA1O1xuXG5jb25zdCBOT0RFX01PRFVMRVNfU0VHTUVOVCA9ICdub2RlX21vZHVsZXMvJztcbmNvbnN0IFJFR0lTVFJZX1JFU09MVkVEX1JFR19FWFAgPSAvXmh0dHBzPzpcXC9cXC8vO1xuXG4vKipcbiAqIFRoZSBmaWVsZHMgb2YgYSBgcGFja2FnZXNgIGVudHJ5IHRoaXMgY2hlY2sgcmVhZHMuIFRoZXkgYXJlIG5vdCBvbiBgUGFja2FnZUpzb25gLCBiZWNhdXNlIHRoZXkgZXhpc3Qgb25seVxuICogaW4gYSBsb2NrZmlsZS5cbiAqL1xuaW50ZXJmYWNlIFBhY2thZ2VMb2NrRW50cnkge1xuICByZWFkb25seSBpbkJ1bmRsZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGludGVncml0eT86IHN0cmluZztcbiAgcmVhZG9ubHkgbGluaz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlc29sdmVkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRocm93cyB3aGVuIHRoZSBwcm9qZWN0J3MgYHBhY2thZ2UtbG9jay5qc29uYCBoYXMgYW4gaW5zdGFsbGVkIGVudHJ5IHdpdGhvdXQgYHJlc29sdmVkYCBvciBgaW50ZWdyaXR5YC5cbiAqIEEgcHJvamVjdCB3aXRoIG5vIGBwYWNrYWdlLWxvY2suanNvbmAsIHN1Y2ggYXMgb25lIG9uIGFub3RoZXIgcGFja2FnZSBtYW5hZ2VyLCBwYXNzZXMuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBmb2xkZXIgdG8gcmVzb2x2ZSB0aGUgcHJvamVjdCByb290IGZyb20uIERlZmF1bHRzIHRvIHRoZSBjdXJyZW50IG9uZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbG9jayBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc2VydFBhY2thZ2VMb2NrSW50ZWdyaXR5KGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwYWNrYWdlTG9ja0pzb25QYXRoID0gZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpO1xuICBpZiAoIWV4aXN0c1N5bmMocGFja2FnZUxvY2tKc29uUGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBrZXlzID0gZmluZFBhY2thZ2VMb2NrRW50cmllc01pc3NpbmdJbnRlZ3JpdHkoYXdhaXQgcmVhZFBhY2thZ2VMb2NrSnNvbihjd2QpKTtcbiAgaWYgKGtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc2hvd25LZXlzID0ga2V5cy5zbGljZSgwLCBNQVhfUkVQT1JURURfS0VZUykubWFwKChrZXkpID0+IGAgICR7a2V5fWApO1xuICBjb25zdCByZW1haW5pbmdDb3VudCA9IGtleXMubGVuZ3RoIC0gc2hvd25LZXlzLmxlbmd0aDtcbiAgaWYgKHJlbWFpbmluZ0NvdW50ID4gMCkge1xuICAgIHNob3duS2V5cy5wdXNoKGAgIC4uLiBhbmQgJHtTdHJpbmcocmVtYWluaW5nQ291bnQpfSBtb3JlYCk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgW1xuICAgICAgYCR7cGFja2FnZUxvY2tKc29uUGF0aH06ICR7U3RyaW5nKGtleXMubGVuZ3RoKX0gaW5zdGFsbGVkIHBhY2thZ2UocykgaGF2ZSBubyBcXGByZXNvbHZlZFxcYCBvciBubyBcXGBpbnRlZ3JpdHlcXGAsIHNvIFxcYG5wbSBjaVxcYCBjYW5ub3QgdmVyaWZ5IHRoZW06YCxcbiAgICAgIC4uLnNob3duS2V5cyxcbiAgICAgICducG0gbmV2ZXIgYWRkcyB0aGVzZSBmaWVsZHMgYmFjayBieSBpdHNlbGYsIGFuZCByZWdlbmVyYXRpbmcgdGhlIGxvY2sgd291bGQgY2hhbmdlIHZlcnNpb25zLiBGaWxsIGVhY2ggZW50cnkgZnJvbSB0aGUgcmVnaXN0cnknLFxuICAgICAgJ21ldGFkYXRhIGZvciB0aGUgdmVyc2lvbiBhbHJlYWR5IGxvY2tlZDogR0VUIGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLzxuYW1lLCB3aXRoIC8gd3JpdHRlbiBhcyAlMmY+Lzx2ZXJzaW9uPiwgYW5kIGNvcHknLFxuICAgICAgJ2BkaXN0LnRhcmJhbGxgIGludG8gYHJlc29sdmVkYCBhbmQgYGRpc3QuaW50ZWdyaXR5YCBpbnRvIGBpbnRlZ3JpdHlgLiBUaGUgbmFtZSBpcyB0aGUgZW50cnlcXCdzIGBuYW1lYCBmaWVsZCwgb3IgZWxzZSB0aGUgdGV4dCcsXG4gICAgICAnYWZ0ZXIgdGhlIGtleVxcJ3MgbGFzdCBgbm9kZV9tb2R1bGVzL2AuIFRoZW4gY2hlY2sgdGhhdCBgbnBtIGluc3RhbGwgLS1wYWNrYWdlLWxvY2stb25seWAgbGVhdmVzIHRoZSBmaWxlIGJ5dGUtaWRlbnRpY2FsLicsXG4gICAgICAnVG8gc2tpcCB0aGlzIGNoZWNrIGZvciBvbmUgcnVuLCBzZXQgUEFDS0FHRV9MT0NLX0lOVEVHUklUWT0wLidcbiAgICBdLmpvaW4oJ1xcbicpXG4gICk7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIGBwYWNrYWdlc2AgZW50cmllcyBvZiBhIGxvY2tmaWxlIHRoYXQgaGF2ZSBubyBgcmVzb2x2ZWRgIGZpZWxkLCBvciB0aGF0IGhhdmUgYSByZWdpc3RyeVxuICogYHJlc29sdmVkYCBmaWVsZCBhbmQgbm8gYGludGVncml0eWAgZmllbGQuXG4gKlxuICogU29tZSBlbnRyaWVzIG5ldmVyIGhhdmUgdGhlc2UgZmllbGRzIGluIGEgaGVhbHRoeSBsb2NrLCBzbyB0aGV5IGFyZSBza2lwcGVkOiB0aGUgcm9vdCAoYCcnYCksIGEgYGxpbmtgLFxuICogYSB3b3Jrc3BhY2Ugc291cmNlIGZvbGRlciAoaXRzIGtleSBoYXMgbm8gYG5vZGVfbW9kdWxlcy9gIHNlZ21lbnQpLCBhbmQgYSBidW5kbGVkIGRlcGVuZGVuY3kgKGBpbkJ1bmRsZWApLFxuICogd2hpY2ggY29tZXMgaW5zaWRlIGl0cyBwYXJlbnQncyB0YXJiYWxsLiBgaW50ZWdyaXR5YCBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gYHJlc29sdmVkYCBpcyBhIHJlZ2lzdHJ5IFVSTCxcbiAqIGJlY2F1c2UgbnBtIHJlY29yZHMgbm8gaW50ZWdyaXR5IGZvciBhIGdpdCBkZXBlbmRlbmN5LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgcGFyc2VkIGBwYWNrYWdlLWxvY2suanNvbmAuXG4gKiBAcmV0dXJucyBUaGUga2V5cyBvZiB0aGUgb2ZmZW5kaW5nIGVudHJpZXMsIGluIGxvY2tmaWxlIG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFBhY2thZ2VMb2NrRW50cmllc01pc3NpbmdJbnRlZ3JpdHkocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFja2FnZUxvY2tKc29uLnBhY2thZ2VzID8/
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhY2thZ2UtbG9jay1pbnRlZ3JpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBSZWZ1c2VzIGEgYHBhY2thZ2UtbG9jay5qc29uYCB3aG9zZSBpbnN0YWxsZWQgZW50cmllcyBoYXZlIGxvc3QgdGhlaXIgYHJlc29sdmVkYCBvciBgaW50ZWdyaXR5YCBmaWVsZC5cbiAqXG4gKiBZb3UgZ2V0IHN1Y2ggYSBsb2NrIGJ5IGRlbGV0aW5nIGBwYWNrYWdlLWxvY2suanNvbmAgd2hpbGUgYG5vZGVfbW9kdWxlc2AgaXMgc3RpbGwgaW5zdGFsbGVkIGFuZCB0aGVuXG4gKiBydW5uaW5nIGBucG0gaW5zdGFsbGAuIG5wbSByZWNvcmRzIGV2ZXJ5IHBhY2thZ2UgaXQgcmV1c2VzIGZyb20gYG5vZGVfbW9kdWxlc2Agd2l0aCBpdHMgdmVyc2lvbiBvbmx5LlxuICogT25lIG1lYXN1cmVkIGxvY2sgd2VudCBmcm9tIDcgc3VjaCBlbnRyaWVzIHRvIDEwNjQgb2YgMTIzNCBpbiBhIHNpbmdsZSByZWdlbmVyYXRpb24uICoqbnBtIG5ldmVyIGZpbGxzXG4gKiB0aGUgdHdvIGZpZWxkcyBiYWNrIGluIGFmdGVyd2FyZHMqKjogYSBjbGVhbiBpbnN0YWxsIGludG8gYW4gZW1wdHkgZGlyZWN0b3J5IGRvZXMgbm90LCBhbmQgbmVpdGhlciBkb2VzXG4gKiBgbnBtIGluc3RhbGwgLS1wYWNrYWdlLWxvY2stb25seWAuIGBucG0gY2lgIHNraXBzIGludGVncml0eSB2ZXJpZmljYXRpb24gZm9yIHRob3NlIHBhY2thZ2VzLCBzbyB0aGVcbiAqIGRlZmVjdCBpcyBwZXJtYW5lbnQgYW5kIGV2ZXJ5IG90aGVyIGNoZWNrIHN0YXlzIGdyZWVuLlxuICpcbiAqIFRoZSBjaGVjayByZWFkcyB0aGUgSlNPTiBhbmQgbm90aGluZyBlbHNlLiBJdCBtYWtlcyBubyBuZXR3b3JrIGNhbGwgYW5kIGZpbmlzaGVzIGluIHdlbGwgdW5kZXIgYSBzZWNvbmQsXG4gKiB3aGljaCBpcyB3aHkgYGdhdGUoKWAgcnVucyBpdCBiZWZvcmUgYW55dGhpbmcgZWxzZS5cbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5cbmltcG9ydCB0eXBlIHsgUGFja2FnZUxvY2tKc29uIH0gZnJvbSAnLi9ucG0udHMnO1xuXG5pbXBvcnQge1xuICBnZXRQYWNrYWdlTG9ja0pzb25QYXRoLFxuICByZWFkUGFja2FnZUxvY2tKc29uXG59IGZyb20gJy4vbnBtLnRzJztcblxuLyoqXG4gKiBIb3cgbWFueSBvZmZlbmRpbmcga2V5cyB0aGUgZXJyb3IgbmFtZXMgYmVmb3JlIGl0IHN1bW1hcml6ZXMgdGhlIHJlc3QgYXMgYSBjb3VudC5cbiAqL1xuY29uc3QgTUFYX1JFUE9SVEVEX0tFWVMgPSA1O1xuXG5jb25zdCBOT0RFX01PRFVMRVNfU0VHTUVOVCA9ICdub2RlX21vZHVsZXMvJztcbmNvbnN0IFJFR0lTVFJZX1JFU09MVkVEX1JFR19FWFAgPSAvXmh0dHBzPzpcXC9cXC8vO1xuXG4vKipcbiAqIFRoZSBmaWVsZHMgb2YgYSBgcGFja2FnZXNgIGVudHJ5IHRoaXMgY2hlY2sgcmVhZHMuIFRoZXkgYXJlIG5vdCBvbiBgUGFja2FnZUpzb25gLCBiZWNhdXNlIHRoZXkgZXhpc3Qgb25seVxuICogaW4gYSBsb2NrZmlsZS5cbiAqL1xuaW50ZXJmYWNlIFBhY2thZ2VMb2NrRW50cnkge1xuICByZWFkb25seSBpbkJ1bmRsZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGludGVncml0eT86IHN0cmluZztcbiAgcmVhZG9ubHkgbGluaz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlc29sdmVkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRocm93cyB3aGVuIHRoZSBwcm9qZWN0J3MgYHBhY2thZ2UtbG9jay5qc29uYCBoYXMgYW4gaW5zdGFsbGVkIGVudHJ5IHdpdGhvdXQgYHJlc29sdmVkYCBvciBgaW50ZWdyaXR5YC5cbiAqIEEgcHJvamVjdCB3aXRoIG5vIGBwYWNrYWdlLWxvY2suanNvbmAsIHN1Y2ggYXMgb25lIG9uIGFub3RoZXIgcGFja2FnZSBtYW5hZ2VyLCBwYXNzZXMuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBmb2xkZXIgdG8gcmVzb2x2ZSB0aGUgcHJvamVjdCByb290IGZyb20uIERlZmF1bHRzIHRvIHRoZSBjdXJyZW50IG9uZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbG9jayBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc2VydFBhY2thZ2VMb2NrSW50ZWdyaXR5KGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwYWNrYWdlTG9ja0pzb25QYXRoID0gZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpO1xuICBpZiAoIWV4aXN0c1N5bmMocGFja2FnZUxvY2tKc29uUGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBrZXlzID0gZmluZFBhY2thZ2VMb2NrRW50cmllc01pc3NpbmdJbnRlZ3JpdHkoYXdhaXQgcmVhZFBhY2thZ2VMb2NrSnNvbihjd2QpKTtcbiAgaWYgKGtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc2hvd25LZXlzID0ga2V5cy5zbGljZSgwLCBNQVhfUkVQT1JURURfS0VZUykubWFwKChrZXkpID0+IGAgICR7a2V5fWApO1xuICBjb25zdCByZW1haW5pbmdDb3VudCA9IGtleXMubGVuZ3RoIC0gc2hvd25LZXlzLmxlbmd0aDtcbiAgaWYgKHJlbWFpbmluZ0NvdW50ID4gMCkge1xuICAgIHNob3duS2V5cy5wdXNoKGAgIC4uLiBhbmQgJHtTdHJpbmcocmVtYWluaW5nQ291bnQpfSBtb3JlYCk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgW1xuICAgICAgYCR7cGFja2FnZUxvY2tKc29uUGF0aH06ICR7U3RyaW5nKGtleXMubGVuZ3RoKX0gaW5zdGFsbGVkIHBhY2thZ2UocykgaGF2ZSBubyBcXGByZXNvbHZlZFxcYCBvciBubyBcXGBpbnRlZ3JpdHlcXGAsIHNvIFxcYG5wbSBjaVxcYCBjYW5ub3QgdmVyaWZ5IHRoZW06YCxcbiAgICAgIC4uLnNob3duS2V5cyxcbiAgICAgICducG0gbmV2ZXIgYWRkcyB0aGVzZSBmaWVsZHMgYmFjayBieSBpdHNlbGYsIGFuZCByZWdlbmVyYXRpbmcgdGhlIGxvY2sgd291bGQgY2hhbmdlIHZlcnNpb25zLiBGaWxsIGVhY2ggZW50cnkgZnJvbSB0aGUgcmVnaXN0cnknLFxuICAgICAgJ21ldGFkYXRhIGZvciB0aGUgdmVyc2lvbiBhbHJlYWR5IGxvY2tlZDogR0VUIGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLzxuYW1lLCB3aXRoIC8gd3JpdHRlbiBhcyAlMmY+Lzx2ZXJzaW9uPiwgYW5kIGNvcHknLFxuICAgICAgJ2BkaXN0LnRhcmJhbGxgIGludG8gYHJlc29sdmVkYCBhbmQgYGRpc3QuaW50ZWdyaXR5YCBpbnRvIGBpbnRlZ3JpdHlgLiBUaGUgbmFtZSBpcyB0aGUgZW50cnlcXCdzIGBuYW1lYCBmaWVsZCwgb3IgZWxzZSB0aGUgdGV4dCcsXG4gICAgICAnYWZ0ZXIgdGhlIGtleVxcJ3MgbGFzdCBgbm9kZV9tb2R1bGVzL2AuIFRoZW4gY2hlY2sgdGhhdCBgbnBtIGluc3RhbGwgLS1wYWNrYWdlLWxvY2stb25seWAgbGVhdmVzIHRoZSBmaWxlIGJ5dGUtaWRlbnRpY2FsLicsXG4gICAgICAnVG8gc2tpcCB0aGlzIGNoZWNrIGZvciBvbmUgcnVuLCBzZXQgUEFDS0FHRV9MT0NLX0lOVEVHUklUWT0wLidcbiAgICBdLmpvaW4oJ1xcbicpXG4gICk7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIGBwYWNrYWdlc2AgZW50cmllcyBvZiBhIGxvY2tmaWxlIHRoYXQgaGF2ZSBubyBgcmVzb2x2ZWRgIGZpZWxkLCBvciB0aGF0IGhhdmUgYSByZWdpc3RyeVxuICogYHJlc29sdmVkYCBmaWVsZCBhbmQgbm8gYGludGVncml0eWAgZmllbGQuXG4gKlxuICogU29tZSBlbnRyaWVzIG5ldmVyIGhhdmUgdGhlc2UgZmllbGRzIGluIGEgaGVhbHRoeSBsb2NrLCBzbyB0aGV5IGFyZSBza2lwcGVkOiB0aGUgcm9vdCAoYCcnYCksIGEgYGxpbmtgLFxuICogYSB3b3Jrc3BhY2Ugc291cmNlIGZvbGRlciAoaXRzIGtleSBoYXMgbm8gYG5vZGVfbW9kdWxlcy9gIHNlZ21lbnQpLCBhbmQgYSBidW5kbGVkIGRlcGVuZGVuY3kgKGBpbkJ1bmRsZWApLFxuICogd2hpY2ggY29tZXMgaW5zaWRlIGl0cyBwYXJlbnQncyB0YXJiYWxsLiBgaW50ZWdyaXR5YCBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gYHJlc29sdmVkYCBpcyBhIHJlZ2lzdHJ5IFVSTCxcbiAqIGJlY2F1c2UgbnBtIHJlY29yZHMgbm8gaW50ZWdyaXR5IGZvciBhIGdpdCBkZXBlbmRlbmN5LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgcGFyc2VkIGBwYWNrYWdlLWxvY2suanNvbmAuXG4gKiBAcmV0dXJucyBUaGUga2V5cyBvZiB0aGUgb2ZmZW5kaW5nIGVudHJpZXMsIGluIGxvY2tmaWxlIG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFBhY2thZ2VMb2NrRW50cmllc01pc3NpbmdJbnRlZ3JpdHkocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFja2FnZUxvY2tKc29uLnBhY2thZ2VzID8/IHt9KSkge1xuICAgIGNvbnN0IGVudHJ5ID0gdmFsdWUgYXMgUGFja2FnZUxvY2tFbnRyeTtcbiAgICBpZiAoa2V5ID09PSAnJyB8fCAha2V5LmluY2x1ZGVzKE5PREVfTU9EVUxFU19TRUdNRU5UKSB8fCBlbnRyeS5saW5rIHx8IGVudHJ5LmluQnVuZGxlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoZW50cnkucmVzb2x2ZWQgPT09IHVuZGVmaW5lZCB8fCAoZW50cnkuaW50ZWdyaXR5ID09PSB1bmRlZmluZWQgJiYgUkVHSVNUUllfUkVTT0xWRURfUkVHX0VYUC50ZXN0KGVudHJ5LnJlc29sdmVkKSkpIHtcbiAgICAgIGtleXMucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFnQkEsU0FBUyxrQkFBa0I7QUFJM0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFLUCxNQUFNLG9CQUFvQjtBQUUxQixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLDRCQUE0QjtBQW9CbEMsZUFBc0IsMkJBQTJCLEtBQTZCO0FBQzVFLFFBQU0sc0JBQXNCLHVCQUF1QixHQUFHO0FBQ3RELE1BQUksQ0FBQyxXQUFXLG1CQUFtQixHQUFHO0FBQ3BDO0FBQUEsRUFDRjtBQUVBLFFBQU0sT0FBTyx1Q0FBdUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDO0FBQ2xGLE1BQUksS0FBSyxXQUFXLEdBQUc7QUFDckI7QUFBQSxFQUNGO0FBRUEsUUFBTSxZQUFZLEtBQUssTUFBTSxHQUFHLGlCQUFpQixFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssR0FBRyxFQUFFO0FBQzFFLFFBQU0saUJBQWlCLEtBQUssU0FBUyxVQUFVO0FBQy9DLE1BQUksaUJBQWlCLEdBQUc7QUFDdEIsY0FBVSxLQUFLLGFBQWEsT0FBTyxjQUFjLENBQUMsT0FBTztBQUFBLEVBQzNEO0FBRUEsUUFBTSxJQUFJO0FBQUEsSUFDUjtBQUFBLE1BQ0UsR0FBRyxtQkFBbUIsS0FBSyxPQUFPLEtBQUssTUFBTSxDQUFDO0FBQUEsTUFDOUMsR0FBRztBQUFBLE1BQ0g7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsSUFDRixFQUFFLEtBQUssSUFBSTtBQUFBLEVBQ2I7QUFDRjtBQWNPLFNBQVMsdUNBQXVDLGlCQUE0QztBQUNqRyxRQUFNLE9BQWlCLENBQUM7QUFFeEIsYUFBVyxDQUFDLEtBQUssS0FBSyxLQUFLLE9BQU8sUUFBUSxnQkFBZ0IsWUFBWSxDQUFDLENBQUMsR0FBRztBQUN6RSxVQUFNLFFBQVE7QUFDZCxRQUFJLFFBQVEsTUFBTSxDQUFDLElBQUksU0FBUyxvQkFBb0IsS0FBSyxNQUFNLFFBQVEsTUFBTSxVQUFVO0FBQ3JGO0FBQUEsSUFDRjtBQUVBLFFBQUksTUFBTSxhQUFhLFVBQWMsTUFBTSxjQUFjLFVBQWEsMEJBQTBCLEtBQUssTUFBTSxRQUFRLEdBQUk7QUFDckgsV0FBSyxLQUFLLEdBQUc7QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import {
|
|
@@ -242,4 +233,4 @@ export {
|
|
|
242
233
|
getPackageManagerRunCommand,
|
|
243
234
|
resolveToolCommand
|
|
244
235
|
};
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhY2thZ2UtbWFuYWdlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlc29sdmVzIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wgYmluYXJpZXMgYW5kIHBhY2thZ2Utc2NyaXB0IHJ1bm5lcnMgd2l0aG91dCBhc3N1bWluZyBgbnBtYC5cbiAqXG4gKiBEZWxlZ2F0aW5nIHRvIGBucHhgIHNpbGVudGx5IGFzc3VtZXMgYW4gbnBtLWluc3RhbGxlZCB0cmVlLiBPbiBXaW5kb3dzIHRoYXQgYXNzdW1wdGlvbiBpcyBmYXRhbCB1bmRlclxuICogYGJ1bmA6IGBidW4gaW5zdGFsbGAgd3JpdGVzIGBub2RlX21vZHVsZXMvLmJpbi88dG9vbD4uZXhlYCwgbm90IHRoZSBgPHRvb2w+LmNtZGAgdGhhdCBucG0ncyBgbnB4YCBsb29rc1xuICogZm9yLCBzbyBgbnB4YCBtaXNzZXMgdGhlIGxvY2FsIGluc3RhbGwgZW50aXJlbHkgYW5kIGRvd25sb2FkcyB0aGUgdG9vbCBmcm9tIHRoZSByZWdpc3RyeSBpbnN0ZWFkIFx1MjAxNCB3aGljaFxuICogZm9yIGB0c2NgIGlzIHRoZSB3ZWxsLWtub3duIGRlY295IHBhY2thZ2UsIG5vdCBUeXBlU2NyaXB0LiBSZXNvbHZpbmcgdGhlIHNoaW0gZnJvbSBgbm9kZV9tb2R1bGVzLy5iaW5gXG4gKiBvdXJzZWx2ZXMgc2lkZXN0ZXBzIHRoZSB3aG9sZSBzaGltLWZvcm1hdCBxdWVzdGlvbiwgYmVjYXVzZSBldmVyeSBwYWNrYWdlIG1hbmFnZXIgd3JpdGVzIG9uZSB0aGVyZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBhY2thZ2VKc29uIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgZGlybmFtZSxcbiAgam9pbixcbiAgdG9Qb3NpeFBhdGhcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IHJlYWRKc29uU3luYyB9IGZyb20gJy4vanNvbi50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgZ2V0Um9vdEZvbGRlciB9IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogQSBwYWNrYWdlIG1hbmFnZXIgdGhhdCBjYW4gb3duIGEgcHJvamVjdCdzIGRlcGVuZGVuY3kgdHJlZS5cbiAqL1xuZXhwb3J0IGVudW0gUGFja2FnZU1hbmFnZXIge1xuICAvKipcbiAgICogVGhlIGBidW5gIHBhY2thZ2UgbWFuYWdlci5cbiAgICovXG4gIEJ1biA9ICdidW4nLFxuXG4gIC8qKlxuICAgKiBUaGUgYG5wbWAgcGFja2FnZSBtYW5hZ2VyLlxuICAgKi9cbiAgTnBtID0gJ25wbScsXG5cbiAgLyoqXG4gICAqIFRoZSBgcG5wbWAgcGFja2FnZSBtYW5hZ2VyLlxuICAgKi9cbiAgUG5wbSA9ICdwbnBtJyxcblxuICAvKipcbiAgICogVGhlIGB5YXJuYCBwYWNrYWdlIG1hbmFnZXIuXG4gICAqL1xuICBZYXJuID0gJ3lhcm4nXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVUb29sQ29tbWFuZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVRvb2xDb21tYW5kUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHRvIHJlc29sdmUgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wsIGFzIGl0IGFwcGVhcnMgaW4gYG5vZGVfbW9kdWxlcy8uYmluYC5cbiAgICovXG4gIHJlYWRvbmx5IHRvb2w6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIHBhY2thZ2UgbWFuYWdlciBvd25zIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jeSB0cmVlLlxuICpcbiAqIEV2ZXJ5IHNpZ25hbCBpcyBjb2xsZWN0ZWQgYmVmb3JlIGFueSBvZiB0aGVtIGlzIGJlbGlldmVkLCBiZWNhdXNlIGEgcmVwbyBjYXJyeWluZyB0d28gbG9ja2ZpbGVzIHVzZWQgdG9cbiAqIHJlc29sdmUgdG8gd2hpY2hldmVyIHNhdCBlYXJsaWVyIGluIGEgZml4ZWQgbGlzdCBcdTIwMTQgc2lsZW50bHkgcmVhc3NpZ25pbmcgZXZlcnkgcGFja2FnZSBzY3JpcHQgYW5kIGV2ZXJ5XG4gKiB0b29sIGludm9jYXRpb24gdG8gYSBtYW5hZ2VyIHRoYXQgbmV2ZXIgaW5zdGFsbGVkIHRoZSB0cmVlLlxuICpcbiAqIFRoZSBvcmRlciBpczpcbiAqXG4gKiAxLiBUaGUgYHBhY2thZ2VNYW5hZ2VyYCBmaWVsZCBvZiBgcGFja2FnZS5qc29uYC4gSXQgaXMgYSBkZWxpYmVyYXRlIGRlY2xhcmF0aW9uIGJ5IHRoZSByZXBvJ3MgYXV0aG9yXG4gKiAgICByYXRoZXIgdGhhbiBhbiBhcnRpZmFjdCBsZWZ0IGJlaGluZCBieSB3aGF0ZXZlciByYW4gbGFzdCwgc28gaXQgb3V0cmFua3MgZXZlcnkgbG9ja2ZpbGUgXHUyMDE0IGFuZCBpdCBpc1xuICogICAgdGhlIG9ubHkgc2lnbmFsIHRoYXQgaGVscHMgYXQgYWxsIGJlZm9yZSB0aGUgZmlyc3QgaW5zdGFsbCwgd2hlbiBubyBsb2NrZmlsZSBleGlzdHMgeWV0LlxuICogMi4gVGhlIHNvbGUgbG9ja2ZpbGUsIHdoZW4gZXhhY3RseSBvbmUgbWFuYWdlciBjbGFpbXMgdGhlIHRyZWUuXG4gKiAzLiBBbW9uZyBzZXZlcmFsIGxvY2tmaWxlcywgdGhlIG1hbmFnZXIgdGhhdCBsYXVuY2hlZCB1cyAoYG5wbV9jb25maWdfdXNlcl9hZ2VudGApLCB3aGVuIGl0IG93bnMgb25lIG9mXG4gKiAgICB0aGVtIFx1MjAxNCBhIGxpdmUgc2lnbmFsIGJlYXRzIGEgZmlsZSB0aGF0IG1heSBoYXZlIGJlZW4gYWJhbmRvbmVkIG1pZC1taWdyYXRpb24uIE90aGVyd2lzZSB0aGVcbiAqICAgIGRvY3VtZW50ZWQgZmFsbGJhY2sgb3JkZXIgaW4ge0BsaW5rIExPQ0tGSUxFU30gZGVjaWRlcy4gTm90ZSB0aGlzIGlzIGRlbGliZXJhdGVseSBOT1QgXCJ0aGUgbW9zdFxuICogICAgcmVjZW50bHkgbW9kaWZpZWQgbG9ja2ZpbGVcIjogYSBzdHJheSBsb2NrZmlsZSBpcyB0eXBpY2FsbHkgdGhlIG5ld2VzdCBmaWxlLCBzbyBtdGltZSBwaWNrcyBwcmVjaXNlbHlcbiAqICAgIHRoZSB3cm9uZyBvbmUuXG4gKiA0LiBgbnBtX2NvbmZpZ191c2VyX2FnZW50YCBvbiBpdHMgb3duLCB3aGVuIHRoZXJlIGlzIG5vIGxvY2tmaWxlLlxuICogNS4ge0BsaW5rIFBhY2thZ2VNYW5hZ2VyLk5wbX0uXG4gKlxuICogV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSBtYW5hZ2VyIGNsYWltcyB0aGUgdHJlZSwgdGhlIGRpc2FncmVlbWVudCBpcyByZXBvcnRlZCBvbmNlIHBlciBwcm9qZWN0IHRocm91Z2hcbiAqIHtAbGluayB3YXJuQWJvdXRTZXZlcmFsQ2xhaW1hbnRzfSBcdTIwMTQgdGhlIHJlc29sdXRpb24gc3RheXMgZGV0ZXJtaW5pc3RpYywgYnV0IGl0IHN0b3BzIGJlaW5nIHNpbGVudC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgdG8gcmVzb2x2ZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGRldGVjdGVkIHBhY2thZ2UgbWFuYWdlciwgb3Ige0BsaW5rIFBhY2thZ2VNYW5hZ2VyLk5wbX0gd2hlbiBub3RoaW5nIGluZGljYXRlcyBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlTWFuYWdlcihjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlTWFuYWdlciB7XG4gIGNvbnN0IHJvb3QgPSBnZXRTdGFydEZvbGRlcihjd2QpO1xuICBjb25zdCBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyID0gZGV0ZWN0UGFja2FnZU1hbmFnZXJGcm9tUGFja2FnZUpzb24ocm9vdCk7XG4gIGNvbnN0IGxvY2tmaWxlcyA9IExPQ0tGSUxFUy5maWx0ZXIoKGxvY2tmaWxlKSA9PiBleGlzdHNTeW5jKGpvaW4ocm9vdCwgbG9ja2ZpbGUuZmlsZU5hbWUpKSk7XG4gIGNvbnN0IGNsYWltYW50cyA9IG5ldyBTZXQobG9ja2ZpbGVzLm1hcCgobG9ja2ZpbGUpID0+IGxvY2tmaWxlLnBhY2thZ2VNYW5hZ2VyKSk7XG5cbiAgaWYgKGRlY2xhcmVkUGFja2FnZU1hbmFnZXIgIT09IG51bGwpIHtcbiAgICBjbGFpbWFudHMuYWRkKGRlY2xhcmVkUGFja2FnZU1hbmFnZXIpO1xuICB9XG5cbiAgY29uc3QgcGFja2FnZU1hbmFnZXIgPSByZXNvbHZlUGFja2FnZU1hbmFnZXIoe1xuICAgIGNsYWltYW50cyxcbiAgICBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyXG4gIH0pO1xuXG4gIGlmIChjbGFpbWFudHMuc2l6ZSA+IDEpIHtcbiAgICB3YXJuQWJvdXRTZXZlcmFsQ2xhaW1hbnRzKHtcbiAgICAgIGRlY2xhcmVkUGFja2FnZU1hbmFnZXIsXG4gICAgICBsb2NrZmlsZXMsXG4gICAgICBwYWNrYWdlTWFuYWdlcixcbiAgICAgIHJvb3RcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBwYWNrYWdlTWFuYWdlcjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGNvbW1hbmQgcGFydHMgdGhhdCBydW4gYSBwYWNrYWdlIHNjcmlwdCB0aHJvdWdoIHRoZSBtYW5hZ2VyIHRoYXQgb3ducyB0aGUgdHJlZS5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgdG8gcmVzb2x2ZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGNvbW1hbmQgcGFydHMsIGUuZy4gYFsnYnVuJywgJ3J1biddYC4gVGhlIHNjcmlwdCBuYW1lIGlzIGFwcGVuZGVkIGJ5IHRoZSBjYWxsZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlTWFuYWdlclJ1bkNvbW1hbmQoY3dkPzogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gW2dldFBhY2thZ2VNYW5hZ2VyKGN3ZCksICdydW4nXTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGNvbW1hbmQgcGFydHMgdGhhdCBydW4gYSBsb2NhbGx5LWluc3RhbGxlZCB0b29sLCB3aXRoIHRoZSB0b29sIGl0c2VsZiBhbHJlYWR5IGluY2x1ZGVkLlxuICpcbiAqIFByZWZlcnMgdGhlIHNoaW0gaW4gdGhlIG5lYXJlc3QgYG5vZGVfbW9kdWxlcy8uYmluYCwgd2Fsa2luZyB1cCB0aHJvdWdoIGFuY2VzdG9yIGZvbGRlcnMgc28gYSBob2lzdGVkXG4gKiB3b3Jrc3BhY2UgaW5zdGFsbCBpcyBzdGlsbCBmb3VuZC4gRmFsbHMgYmFjayB0byB0aGUgb3duaW5nIG1hbmFnZXIncyBleGVjIGZvcm0gd2hlbiBubyBzaGltIHJlc29sdmVzIFx1MjAxNFxuICogd2hpY2ggaXMgYm90aCB0aGUgcHJldmlvdXMgYmVoYXZpb3IgYW5kIHRoZSBvbmx5IHRoaW5nIHRoYXQgd29ya3MgdW5kZXIgeWFybidzIFBsdWcnbidQbGF5LCB3aGVyZVxuICogYG5vZGVfbW9kdWxlcy8uYmluYCBkb2VzIG5vdCBleGlzdCBhdCBhbGwuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmVzb2x1dGlvbi5cbiAqIEByZXR1cm5zIFRoZSBjb21tYW5kIHBhcnRzLCBlLmcuIGBbJy9wcm9qZWN0L25vZGVfbW9kdWxlcy8uYmluL3RzYyddYCBvciBgWydidW4nLCAneCcsICd0c2MnXWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVG9vbENvbW1hbmQocGFyYW1zOiBSZXNvbHZlVG9vbENvbW1hbmRQYXJhbXMpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgY3dkLCB0b29sIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHNoaW1QYXRoID0gZmluZEJpblNoaW0oeyBjd2QsIHRvb2wgfSk7XG5cbiAgcmV0dXJuIHNoaW1QYXRoID09PSBudWxsID8gWy4uLmdldFBhY2thZ2VNYW5hZ2VyRXhlY0NvbW1hbmQoY3dkKSwgdG9vbF0gOiBbc2hpbVBhdGhdO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgdGhlIGxlYWRpbmcgYDxuYW1lPkBgIHRva2VuIG9mIGEgYHBhY2thZ2UuanNvbmAgYHBhY2thZ2VNYW5hZ2VyYCB2YWx1ZS5cbiAqXG4gKiBUaGUgYEBgIGlzIHJlcXVpcmVkLCBiZWNhdXNlIGNvcmVwYWNrJ3MgZm9ybWF0IGlzIGA8bmFtZT5APHZlcnNpb24+YCBcdTIwMTQgYSBiYXJlIG5hbWUgaXMgYSBtYWxmb3JtZWRcbiAqIGRlY2xhcmF0aW9uIHJhdGhlciB0aGFuIGEgc2hvcnRoYW5kLCBhbmQgaXMgaWdub3JlZCBpbnN0ZWFkIG9mIGd1ZXNzZWQgYXQuXG4gKi9cbmNvbnN0IERFQ0xBUkFUSU9OX05BTUVfUkVHX0VYUCA9IC9eKD88bmFtZT5bXkBcXHNdKylALztcblxuLyoqXG4gKiBUaGUgbG9ja2ZpbGVzIHRoYXQgaWRlbnRpZnkgYSBwYWNrYWdlIG1hbmFnZXIsIGluIHRoZSBvcmRlciB0aGV5IGRlY2lkZSBhIHRpZSBubyBvdGhlciBzaWduYWwgc2V0dGxlcy5cbiAqXG4gKiBCb3RoIGJ1biBsb2NrZmlsZSBmb3JtYXRzIG1hcCB0byB0aGUgc2FtZSBtYW5hZ2VyLCBzbyBhIHJlcG8gaG9sZGluZyBib3RoIGlzIG9uZSBjbGFpbWFudCwgbm90IHR3by5cbiAqL1xuY29uc3QgTE9DS0ZJTEVTOiBMb2NrZmlsZUNsYWltW10gPSBbXG4gIHsgZmlsZU5hbWU6IFJlcG9QYXRocy5CdW5Mb2NrLCBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXIuQnVuIH0sXG4gIHsgZmlsZU5hbWU6IFJlcG9QYXRocy5CdW5Mb2NrYiwgcGFja2FnZU1hbmFnZXI6IFBhY2thZ2VNYW5hZ2VyLkJ1biB9LFxuICB7IGZpbGVOYW1lOiBSZXBvUGF0aHMuUG5wbUxvY2tZYW1sLCBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXIuUG5wbSB9LFxuICB7IGZpbGVOYW1lOiBSZXBvUGF0aHMuWWFybkxvY2ssIHBhY2thZ2VNYW5hZ2VyOiBQYWNrYWdlTWFuYWdlci5ZYXJuIH0sXG4gIHsgZmlsZU5hbWU6IFJlcG9QYXRocy5QYWNrYWdlTG9ja0pzb24sIHBhY2thZ2VNYW5hZ2VyOiBQYWNrYWdlTWFuYWdlci5OcG0gfVxuXTtcblxuLyoqXG4gKiBNYXRjaGVzIHRoZSBsZWFkaW5nIGA8bmFtZT4vYCB0b2tlbiBvZiBhbiBgbnBtX2NvbmZpZ191c2VyX2FnZW50YCB2YWx1ZS5cbiAqL1xuY29uc3QgVVNFUl9BR0VOVF9OQU1FX1JFR19FWFAgPSAvXig/PG5hbWU+W14vXFxzXSspXFwvLztcblxuLyoqXG4gKiBUaGUgZGlzYWdyZWVtZW50cyBhbHJlYWR5IHJlcG9ydGVkLCBzbyBhIGJ1aWxkIHRoYXQgcmVzb2x2ZXMgdGhlIG1hbmFnZXIgb25jZSBwZXIgc2NyaXB0IGhvcCBhbmQgb25jZVxuICogcGVyIHRvb2wgaW52b2NhdGlvbiBzdGlsbCBzYXlzIGl0IG9ubHkgb25jZS5cbiAqL1xuY29uc3QgcmVwb3J0ZWREaXNhZ3JlZW1lbnRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbmRCaW5TaGltfS5cbiAqL1xuaW50ZXJmYWNlIEZpbmRCaW5TaGltUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHRvIHJlc29sdmUgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wuXG4gICAqL1xuICByZWFkb25seSB0b29sOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBsb2NrZmlsZSBhbmQgdGhlIHBhY2thZ2UgbWFuYWdlciB3aG9zZSBwcmVzZW5jZSBpdCBwcm92ZXMuXG4gKi9cbmludGVyZmFjZSBMb2NrZmlsZUNsYWltIHtcbiAgLyoqXG4gICAqIFRoZSBsb2NrZmlsZSBuYW1lLCBhcyBpdCBhcHBlYXJzIGF0IHRoZSBwcm9qZWN0IHJvb3QuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHRoYXQgd3JpdGVzIHRoaXMgbG9ja2ZpbGUuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXI7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVQYWNrYWdlTWFuYWdlcn0uXG4gKi9cbmludGVyZmFjZSBSZXNvbHZlUGFja2FnZU1hbmFnZXJQYXJhbXMge1xuICAvKipcbiAgICogRXZlcnkgcGFja2FnZSBtYW5hZ2VyIGNsYWltaW5nIHRoZSB0cmVlIFx1MjAxNCB0aGUgbG9ja2ZpbGUgb3duZXJzIGluIHtAbGluayBMT0NLRklMRVN9IG9yZGVyLCBwbHVzIHRoZVxuICAgKiBkZWNsYXJlZCBvbmUuIE9ubHkgY29uc3VsdGVkIHdoZW4gbm90aGluZyBpcyBkZWNsYXJlZCwgaW4gd2hpY2ggY2FzZSBpdCBob2xkcyBleGFjdGx5IHRoZSBsb2NrZmlsZVxuICAgKiBvd25lcnMuXG4gICAqL1xuICByZWFkb25seSBjbGFpbWFudHM6IFJlYWRvbmx5U2V0PFBhY2thZ2VNYW5hZ2VyPjtcblxuICAvKipcbiAgICogVGhlIHBhY2thZ2UgbWFuYWdlciBkZWNsYXJlZCBpbiBgcGFja2FnZS5qc29uYCwgb3IgYG51bGxgIHdoZW4gbm9uZSBpcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlY2xhcmVkUGFja2FnZU1hbmFnZXI6IG51bGwgfCBQYWNrYWdlTWFuYWdlcjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd2FybkFib3V0U2V2ZXJhbENsYWltYW50c30uXG4gKi9cbmludGVyZmFjZSBXYXJuQWJvdXRTZXZlcmFsQ2xhaW1hbnRzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlIG1hbmFnZXIgZGVjbGFyZWQgaW4gYHBhY2thZ2UuanNvbmAsIG9yIGBudWxsYCB3aGVuIG5vbmUgaXMuXG4gICAqL1xuICByZWFkb25seSBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyOiBudWxsIHwgUGFja2FnZU1hbmFnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NrZmlsZXMgYWN0dWFsbHkgZm91bmQgYXQgdGhlIHByb2plY3Qgcm9vdC5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2tmaWxlczogcmVhZG9ubHkgTG9ja2ZpbGVDbGFpbVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHRoYXQgd29uLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI6IFBhY2thZ2VNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvamVjdCByb290IHRoZSBsb2NrZmlsZXMgd2VyZSBmb3VuZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3Q6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgcGFja2FnZSBtYW5hZ2VyIG91dCBvZiB0aGUgYHBhY2thZ2VNYW5hZ2VyYCBmaWVsZCBvZiB0aGUgcHJvamVjdCdzIGBwYWNrYWdlLmpzb25gLCB3aGljaCBpc1xuICogY29yZXBhY2sncyBgPG5hbWU+QDx2ZXJzaW9uPmAgZGVjbGFyYXRpb24uXG4gKlxuICogQHBhcmFtIHJvb3QgLSBUaGUgcHJvamVjdCByb290IHRvIHJlYWQgYHBhY2thZ2UuanNvbmAgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBkZWNsYXJlZCBwYWNrYWdlIG1hbmFnZXIsIG9yIGBudWxsYCB3aGVuIHRoZXJlIGlzIG5vIGBwYWNrYWdlLmpzb25gLCBpdCBjYW5ub3QgYmUgcGFyc2VkLFxuICogdGhlIGZpZWxkIGlzIGFic2VudCBvciBtYWxmb3JtZWQsIG9yIGl0IG5hbWVzIGEgbWFuYWdlciB3ZSBkbyBub3QgaGFuZGxlLlxuICovXG5mdW5jdGlvbiBkZXRlY3RQYWNrYWdlTWFuYWdlckZyb21QYWNrYWdlSnNvbihyb290OiBzdHJpbmcpOiBudWxsIHwgUGFja2FnZU1hbmFnZXIge1xuICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBqb2luKHJvb3QsIFJlcG9QYXRocy5QYWNrYWdlSnNvbik7XG5cbiAgaWYgKCFleGlzdHNTeW5jKHBhY2thZ2VKc29uUGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxldCBwYWNrYWdlSnNvbjogUGFja2FnZUpzb247XG5cbiAgdHJ5IHtcbiAgICBwYWNrYWdlSnNvbiA9IHJlYWRKc29uU3luYzxQYWNrYWdlSnNvbj4ocGFja2FnZUpzb25QYXRoKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBkZWNsYXJhdGlvbiA9IHBhY2thZ2VKc29uLnBhY2thZ2VNYW5hZ2VyO1xuXG4gIGlmICghZGVjbGFyYXRpb24pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG1hdGNoID0gREVDTEFSQVRJT05fTkFNRV9SRUdfRVhQLmV4ZWMoZGVjbGFyYXRpb24pO1xuXG4gIHJldHVybiBtYXRjaCA/IHBhcnNlUGFja2FnZU1hbmFnZXJOYW1lKGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICduYW1lJykpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgcGFja2FnZSBtYW5hZ2VyIG91dCBvZiBgbnBtX2NvbmZpZ191c2VyX2FnZW50YCwgd2hpY2ggZXZlcnkgbWFuYWdlciBzZXRzIGZvciB0aGUgcHJvY2Vzc2VzIGl0XG4gKiBsYXVuY2hlcy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGV0ZWN0ZWQgcGFja2FnZSBtYW5hZ2VyLCBvciBgbnVsbGAgd2hlbiB0aGUgdmFyaWFibGUgaXMgYWJzZW50LCBtYWxmb3JtZWQsIG9yIG5hbWVzIGFcbiAqIHJ1bnRpbWUgd2UgZG8gbm90IGhhbmRsZS5cbiAqL1xuZnVuY3Rpb24gZGV0ZWN0UGFja2FnZU1hbmFnZXJGcm9tVXNlckFnZW50KCk6IG51bGwgfCBQYWNrYWdlTWFuYWdlciB7XG4gIGNvbnN0IHVzZXJBZ2VudCA9IHByb2Nlc3MuZW52WyducG1fY29uZmlnX3VzZXJfYWdlbnQnXTtcblxuICBpZiAoIXVzZXJBZ2VudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbWF0Y2ggPSBVU0VSX0FHRU5UX05BTUVfUkVHX0VYUC5leGVjKHVzZXJBZ2VudCk7XG5cbiAgcmV0dXJuIG1hdGNoID8gcGFyc2VQYWNrYWdlTWFuYWdlck5hbWUoZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ25hbWUnKSkgOiBudWxsO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBgbm9kZV9tb2R1bGVzLy5iaW5gIHNoaW0gZm9yIGEgdG9vbCwgd2Fsa2luZyB1cCBmcm9tIHRoZSBwcm9qZWN0IHJvb3QgdGhyb3VnaCBhbmNlc3RvciBmb2xkZXJzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGxvb2t1cC5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBzaGltLCBvciBgbnVsbGAgd2hlbiBub25lIGV4aXN0cy5cbiAqL1xuZnVuY3Rpb24gZmluZEJpblNoaW0ocGFyYW1zOiBGaW5kQmluU2hpbVBhcmFtcyk6IG51bGwgfCBzdHJpbmcge1xuICBjb25zdCB7IGN3ZCwgdG9vbCB9ID0gcGFyYW1zO1xuICBjb25zdCBjYW5kaWRhdGVzID0gZ2V0U2hpbUNhbmRpZGF0ZXModG9vbCk7XG4gIGxldCBjdXJyZW50Rm9sZGVyID0gZ2V0U3RhcnRGb2xkZXIoY3dkKTtcblxuICB3aGlsZSAoXG4gICAgY3VycmVudEZvbGRlciAhPT0gUmVwb1BhdGhzLkN1cnJlbnRGb2xkZXIgYXMgc3RyaW5nXG4gICAgJiYgY3VycmVudEZvbGRlciAhPT0gUmVwb1BhdGhzLlJvb3RGb2xkZXIgYXMgc3RyaW5nXG4gICkge1xuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgIGNvbnN0IHNoaW1QYXRoID0gam9pbihjdXJyZW50Rm9sZGVyLCBSZXBvUGF0aHMuTm9kZU1vZHVsZXMsIFJlcG9QYXRocy5CaW4sIGNhbmRpZGF0ZSk7XG4gICAgICBpZiAoZXhpc3RzU3luYyhzaGltUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIHNoaW1QYXRoO1xuICAgICAgfVxuICAgIH1cblxuICAgIGN1cnJlbnRGb2xkZXIgPSBkaXJuYW1lKGN1cnJlbnRGb2xkZXIpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBjb21tYW5kIHBhcnRzIHRoYXQgcnVuIGEgb25lLW9mZiB0b29sIHRocm91Z2ggdGhlIG1hbmFnZXIgdGhhdCBvd25zIHRoZSB0cmVlLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB0byByZXNvbHZlIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tbWFuZCBwYXJ0cywgZS5nLiBgWydidW4nLCAneCddYC4gVGhlIHRvb2wgbmFtZSBpcyBhcHBlbmRlZCBieSB0aGUgY2FsbGVyLlxuICovXG5mdW5jdGlvbiBnZXRQYWNrYWdlTWFuYWdlckV4ZWNDb21tYW5kKGN3ZD86IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcGFja2FnZU1hbmFnZXIgPSBnZXRQYWNrYWdlTWFuYWdlcihjd2QpO1xuXG4gIHN3aXRjaCAocGFja2FnZU1hbmFnZXIpIHtcbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLkJ1bjoge1xuICAgICAgcmV0dXJuIFsnYnVuJywgJ3gnXTtcbiAgICB9XG4gICAgY2FzZSBQYWNrYWdlTWFuYWdlci5OcG06IHtcbiAgICAgIHJldHVybiBbJ25weCddO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLlBucG06IHtcbiAgICAgIHJldHVybiBbJ3BucG0nLCAnZXhlYyddO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLllhcm46IHtcbiAgICAgIHJldHVybiBbJ3lhcm4nLCAnZXhlYyddO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gRXhoYXVzdGl2ZSBzd2l0Y2ggZ3VhcmQ7IGRlZmF1bHQgYnJhbmNoIGlzIHVucmVhY2hhYmxlLiAqL1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBhc3NlcnROZXZlcihwYWNrYWdlTWFuYWdlcik7XG4gICAgfVxuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxufVxuXG4vKipcbiAqIExpc3RzIHRoZSBzaGltIGZpbGUgbmFtZXMgdG8gdHJ5IGZvciBhIHRvb2wsIG1vc3Qgc3BlY2lmaWMgZmlyc3QuXG4gKlxuICogT24gV2luZG93cyBvbmx5IHRoZSBleGVjdXRhYmxlIGZvcm1zIGFyZSB2aWFibGU6IG5wbSBhbmQgcG5wbSBhbHNvIHdyaXRlIGEgc2hpbSB3aXRoIG5vIGV4dGVuc2lvbiwgYnV0XG4gKiB0aGF0IG9uZSBpcyBhIGBzaGAgc2NyaXB0IHRoYXQgYGNtZC5leGVgIGNhbm5vdCBydW4sIHNvIGl0IG11c3QgbmV2ZXIgYmUgY2hvc2VuIHRoZXJlLlxuICpcbiAqIEBwYXJhbSB0b29sIC0gVGhlIG5hbWUgb2YgdGhlIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wuXG4gKiBAcmV0dXJucyBUaGUgY2FuZGlkYXRlIGZpbGUgbmFtZXMsIGluIHRoZSBvcmRlciB0aGV5IHNob3VsZCBiZSB0cmllZC5cbiAqL1xuZnVuY3Rpb24gZ2V0U2hpbUNhbmRpZGF0ZXModG9vbDogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuICAgID8gW1xuICAgICAgYCR7dG9vbH0ke1JlcG9QYXRocy5Db21tYW5kRXh0ZW5zaW9ufWAsXG4gICAgICBgJHt0b29sfSR7UmVwb1BhdGhzLkV4ZUV4dGVuc2lvbn1gLFxuICAgICAgYCR7dG9vbH0ke1JlcG9QYXRocy5CYXRFeHRlbnNpb259YFxuICAgIF1cbiAgICA6IFt0b29sXTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgZm9sZGVyIHRvIHN0YXJ0IGEgbG9va3VwIGZyb20gXHUyMDE0IHRoZSBwcm9qZWN0IHJvb3Qgd2hlbiB0aGVyZSBpcyBvbmUsIHRoZSB3b3JraW5nIGZvbGRlclxuICogb3RoZXJ3aXNlLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB0byByZXNvbHZlIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgZm9sZGVyIHRvIHN0YXJ0IGZyb20uXG4gKi9cbmZ1bmN0aW9uIGdldFN0YXJ0Rm9sZGVyKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRSb290Rm9sZGVyKGN3ZCkgPz8gdG9Qb3NpeFBhdGgoY3dkID8/IHByb2Nlc3MuY3dkKCkpO1xufVxuXG4vKipcbiAqIE1hcHMgdGhlIGJhcmUgbmFtZSBhIGxvY2tmaWxlIGRlY2xhcmF0aW9uIG9yIGEgdXNlciBhZ2VudCByZXBvcnRzIG9udG8gdGhlIHBhY2thZ2UgbWFuYWdlciBpdCBuYW1lcy5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSByZXBvcnRlZCBuYW1lLlxuICogQHJldHVybnMgVGhlIG1hdGNoaW5nIHBhY2thZ2UgbWFuYWdlciwgb3IgYG51bGxgIGZvciBhIHJ1bnRpbWUgd2UgZG8gbm90IGhhbmRsZS5cbiAqL1xuZnVuY3Rpb24gcGFyc2VQYWNrYWdlTWFuYWdlck5hbWUobmFtZTogc3RyaW5nKTogbnVsbCB8IFBhY2thZ2VNYW5hZ2VyIHtcbiAgc3dpdGNoIChuYW1lKSB7XG4gICAgY2FzZSBQYWNrYWdlTWFuYWdlci5CdW4gYXMgc3RyaW5nOiB7XG4gICAgICByZXR1cm4gUGFja2FnZU1hbmFnZXIuQnVuO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLk5wbSBhcyBzdHJpbmc6IHtcbiAgICAgIHJldHVybiBQYWNrYWdlTWFuYWdlci5OcG07XG4gICAgfVxuICAgIGNhc2UgUGFja2FnZU1hbmFnZXIuUG5wbSBhcyBzdHJpbmc6IHtcbiAgICAgIHJldHVybiBQYWNrYWdlTWFuYWdlci5QbnBtO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLllhcm4gYXMgc3RyaW5nOiB7XG4gICAgICByZXR1cm4gUGFja2FnZU1hbmFnZXIuWWFybjtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUGlja3MgdGhlIHdpbm5lciBvdXQgb2YgdGhlIGNvbGxlY3RlZCBzaWduYWxzLCBwZXIgdGhlIG9yZGVyIGRvY3VtZW50ZWQgb24ge0BsaW5rIGdldFBhY2thZ2VNYW5hZ2VyfS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXNvbHV0aW9uLlxuICogQHJldHVybnMgVGhlIHBhY2thZ2UgbWFuYWdlciB0aGF0IG93bnMgdGhlIHRyZWUuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVQYWNrYWdlTWFuYWdlcihwYXJhbXM6IFJlc29sdmVQYWNrYWdlTWFuYWdlclBhcmFtcyk6IFBhY2thZ2VNYW5hZ2VyIHtcbiAgY29uc3Qge1xuICAgIGNsYWltYW50cyxcbiAgICBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyXG4gIH0gPSBwYXJhbXM7XG5cbiAgaWYgKGRlY2xhcmVkUGFja2FnZU1hbmFnZXIgIT09IG51bGwpIHtcbiAgICByZXR1cm4gZGVjbGFyZWRQYWNrYWdlTWFuYWdlcjtcbiAgfVxuXG4gIGNvbnN0IGxvY2tmaWxlT3duZXJzID0gWy4uLmNsYWltYW50c107XG4gIGNvbnN0IFtmaXJzdExvY2tmaWxlT3duZXJdID0gbG9ja2ZpbGVPd25lcnM7XG5cbiAgaWYgKGZpcnN0TG9ja2ZpbGVPd25lciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRldGVjdFBhY2thZ2VNYW5hZ2VyRnJvbVVzZXJBZ2VudCgpID8/IFBhY2thZ2VNYW5hZ2VyLk5wbTtcbiAgfVxuXG4gIGlmIChsb2NrZmlsZU93bmVycy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4gZmlyc3RMb2NrZmlsZU93bmVyO1xuICB9XG5cbiAgY29uc3QgbGF1bmNoZWRCeSA9IGRldGVjdFBhY2thZ2VNYW5hZ2VyRnJvbVVzZXJBZ2VudCgpO1xuXG4gIHJldHVybiBsYXVuY2hlZEJ5ICE9PSBudWxsICYmIGNsYWltYW50cy5oYXMobGF1bmNoZWRCeSkgPyBsYXVuY2hlZEJ5IDogZmlyc3RMb2NrZmlsZU93bmVyO1xufVxuXG4vKipcbiAqIFJlcG9ydHMgdGhhdCBzZXZlcmFsIHBhY2thZ2UgbWFuYWdlcnMgY2xhaW0gdGhlIHNhbWUgdHJlZSwgbmFtaW5nIGVhY2ggbG9ja2ZpbGUgZm91bmQsIHdoYXRcbiAqIGBwYWNrYWdlLmpzb25gIGRlY2xhcmVzLCBhbmQgd2hpY2ggbWFuYWdlciB3b24uXG4gKlxuICogYGNvbnNvbGUud2FybmAgcmF0aGVyIHRoYW4gYSBkZWJ1ZyBjaGFubmVsOiB0aGlzIHJ1bnMgaW4gdGhlIGJ1aWxkJ3Mgb3duIHRlcm1pbmFsLCBhbmQgYSBtZXNzYWdlIG5vYm9keVxuICogc2VlcyB1bmxlc3MgdGhleSBhbHJlYWR5IHN1c3BlY3QgdGhlIHByb2JsZW0gbGVhdmVzIHRoZSBmYWlsdXJlIGV4YWN0bHkgYXMgc2lsZW50IGFzIGl0IHdhcy4gRWFjaFxuICogZGlzdGluY3QgbWVzc2FnZSBpcyBwcmludGVkIG9uY2UsIGJlY2F1c2UgdGhlIG1hbmFnZXIgaXMgcmVzb2x2ZWQgb25jZSBwZXIgcGFja2FnZS1zY3JpcHQgaG9wIGFuZCBvbmNlXG4gKiBwZXIgdG9vbCBpbnZvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHJlcG9ydC5cbiAqL1xuZnVuY3Rpb24gd2FybkFib3V0U2V2ZXJhbENsYWltYW50cyhwYXJhbXM6IFdhcm5BYm91dFNldmVyYWxDbGFpbWFudHNQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGRlY2xhcmVkUGFja2FnZU1hbmFnZXIsXG4gICAgbG9ja2ZpbGVzLFxuICAgIHBhY2thZ2VNYW5hZ2VyLFxuICAgIHJvb3RcbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBsb2NrZmlsZU5hbWVzID0gbG9ja2ZpbGVzLm1hcCgobG9ja2ZpbGUpID0+IGxvY2tmaWxlLmZpbGVOYW1lKS5qb2luKCcsICcpO1xuICBjb25zdCBhZHZpY2UgPSBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyID09PSBudWxsXG4gICAgPyAnRGVsZXRlIHRoZSBzdGFsZSBsb2NrZmlsZSwgb3IgZGVjbGFyZSBcInBhY2thZ2VNYW5hZ2VyXCIgaW4gcGFja2FnZS5qc29uLCB0byBzZXR0bGUgaXQuJ1xuICAgIDogJ0RlbGV0ZSB0aGUgc3RhbGUgbG9ja2ZpbGUgdG8gc2V0dGxlIGl0Lic7XG4gIGNvbnN0IG1lc3NhZ2UgPSBbXG4gICAgYG9ic2lkaWFuLWRldi11dGlsczogbW9yZSB0aGFuIG9uZSBwYWNrYWdlIG1hbmFnZXIgY2xhaW1zICR7cm9vdH0uYCxcbiAgICBgTG9ja2ZpbGVzOiAke2xvY2tmaWxlTmFtZXN9LmAsXG4gICAgYHBhY2thZ2UuanNvbiBcInBhY2thZ2VNYW5hZ2VyXCI6ICR7ZGVjbGFyZWRQYWNrYWdlTWFuYWdlciA/PyAnbm90IHNldCd9LmAsXG4gICAgYFVzaW5nICR7cGFja2FnZU1hbmFnZXJ9LmAsXG4gICAgYWR2aWNlXG4gIF0uam9pbignICcpO1xuXG4gIGlmIChyZXBvcnRlZERpc2FncmVlbWVudHMuaGFzKG1lc3NhZ2UpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVwb3J0ZWREaXNhZ3JlZW1lbnRzLmFkZChtZXNzYWdlKTtcbiAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLDhCQUE4QjtBQUN2QyxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLGtCQUFrQjtBQUMzQixPQUFPLGFBQWE7QUFFcEIsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxxQkFBcUI7QUFLdkIsSUFBSyxpQkFBTCxrQkFBS0Esb0JBQUw7QUFJTCxFQUFBQSxnQkFBQSxTQUFNO0FBS04sRUFBQUEsZ0JBQUEsU0FBTTtBQUtOLEVBQUFBLGdCQUFBLFVBQU87QUFLUCxFQUFBQSxnQkFBQSxVQUFPO0FBbkJHLFNBQUFBO0FBQUEsR0FBQTtBQWdFTCxTQUFTLGtCQUFrQixLQUE4QjtBQUM5RCxRQUFNLE9BQU8sZUFBZSxHQUFHO0FBQy9CLFFBQU0seUJBQXlCLG9DQUFvQyxJQUFJO0FBQ3ZFLFFBQU0sWUFBWSxVQUFVLE9BQU8sQ0FBQyxhQUFhLFdBQVcsS0FBSyxNQUFNLFNBQVMsUUFBUSxDQUFDLENBQUM7QUFDMUYsUUFBTSxZQUFZLElBQUksSUFBSSxVQUFVLElBQUksQ0FBQyxhQUFhLFNBQVMsY0FBYyxDQUFDO0FBRTlFLE1BQUksMkJBQTJCLE1BQU07QUFDbkMsY0FBVSxJQUFJLHNCQUFzQjtBQUFBLEVBQ3RDO0FBRUEsUUFBTSxpQkFBaUIsc0JBQXNCO0FBQUEsSUFDM0M7QUFBQSxJQUNBO0FBQUEsRUFDRixDQUFDO0FBRUQsTUFBSSxVQUFVLE9BQU8sR0FBRztBQUN0Qiw4QkFBMEI7QUFBQSxNQUN4QjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFFQSxTQUFPO0FB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
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWNrYWdlLW1hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlc29sdmVzIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wgYmluYXJpZXMgYW5kIHBhY2thZ2Utc2NyaXB0IHJ1bm5lcnMgd2l0aG91dCBhc3N1bWluZyBgbnBtYC5cbiAqXG4gKiBEZWxlZ2F0aW5nIHRvIGBucHhgIHNpbGVudGx5IGFzc3VtZXMgYW4gbnBtLWluc3RhbGxlZCB0cmVlLiBPbiBXaW5kb3dzIHRoYXQgYXNzdW1wdGlvbiBpcyBmYXRhbCB1bmRlclxuICogYGJ1bmA6IGBidW4gaW5zdGFsbGAgd3JpdGVzIGBub2RlX21vZHVsZXMvLmJpbi88dG9vbD4uZXhlYCwgbm90IHRoZSBgPHRvb2w+LmNtZGAgdGhhdCBucG0ncyBgbnB4YCBsb29rc1xuICogZm9yLCBzbyBgbnB4YCBtaXNzZXMgdGhlIGxvY2FsIGluc3RhbGwgZW50aXJlbHkgYW5kIGRvd25sb2FkcyB0aGUgdG9vbCBmcm9tIHRoZSByZWdpc3RyeSBpbnN0ZWFkIOKAlCB3aGljaFxuICogZm9yIGB0c2NgIGlzIHRoZSB3ZWxsLWtub3duIGRlY295IHBhY2thZ2UsIG5vdCBUeXBlU2NyaXB0LiBSZXNvbHZpbmcgdGhlIHNoaW0gZnJvbSBgbm9kZV9tb2R1bGVzLy5iaW5gXG4gKiBvdXJzZWx2ZXMgc2lkZXN0ZXBzIHRoZSB3aG9sZSBzaGltLWZvcm1hdCBxdWVzdGlvbiwgYmVjYXVzZSBldmVyeSBwYWNrYWdlIG1hbmFnZXIgd3JpdGVzIG9uZSB0aGVyZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBhY2thZ2VKc29uIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgZGlybmFtZSxcbiAgam9pbixcbiAgdG9Qb3NpeFBhdGhcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IHJlYWRKc29uU3luYyB9IGZyb20gJy4vanNvbi50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgZ2V0Um9vdEZvbGRlciB9IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogQSBwYWNrYWdlIG1hbmFnZXIgdGhhdCBjYW4gb3duIGEgcHJvamVjdCdzIGRlcGVuZGVuY3kgdHJlZS5cbiAqL1xuZXhwb3J0IGVudW0gUGFja2FnZU1hbmFnZXIge1xuICAvKipcbiAgICogVGhlIGBidW5gIHBhY2thZ2UgbWFuYWdlci5cbiAgICovXG4gIEJ1biA9ICdidW4nLFxuXG4gIC8qKlxuICAgKiBUaGUgYG5wbWAgcGFja2FnZSBtYW5hZ2VyLlxuICAgKi9cbiAgTnBtID0gJ25wbScsXG5cbiAgLyoqXG4gICAqIFRoZSBgcG5wbWAgcGFja2FnZSBtYW5hZ2VyLlxuICAgKi9cbiAgUG5wbSA9ICdwbnBtJyxcblxuICAvKipcbiAgICogVGhlIGB5YXJuYCBwYWNrYWdlIG1hbmFnZXIuXG4gICAqL1xuICBZYXJuID0gJ3lhcm4nXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVUb29sQ29tbWFuZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVRvb2xDb21tYW5kUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHRvIHJlc29sdmUgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wsIGFzIGl0IGFwcGVhcnMgaW4gYG5vZGVfbW9kdWxlcy8uYmluYC5cbiAgICovXG4gIHJlYWRvbmx5IHRvb2w6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIHBhY2thZ2UgbWFuYWdlciBvd25zIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jeSB0cmVlLlxuICpcbiAqIEV2ZXJ5IHNpZ25hbCBpcyBjb2xsZWN0ZWQgYmVmb3JlIGFueSBvZiB0aGVtIGlzIGJlbGlldmVkLCBiZWNhdXNlIGEgcmVwbyBjYXJyeWluZyB0d28gbG9ja2ZpbGVzIHVzZWQgdG9cbiAqIHJlc29sdmUgdG8gd2hpY2hldmVyIHNhdCBlYXJsaWVyIGluIGEgZml4ZWQgbGlzdCDigJQgc2lsZW50bHkgcmVhc3NpZ25pbmcgZXZlcnkgcGFja2FnZSBzY3JpcHQgYW5kIGV2ZXJ5XG4gKiB0b29sIGludm9jYXRpb24gdG8gYSBtYW5hZ2VyIHRoYXQgbmV2ZXIgaW5zdGFsbGVkIHRoZSB0cmVlLlxuICpcbiAqIFRoZSBvcmRlciBpczpcbiAqXG4gKiAxLiBUaGUgYHBhY2thZ2VNYW5hZ2VyYCBmaWVsZCBvZiBgcGFja2FnZS5qc29uYC4gSXQgaXMgYSBkZWxpYmVyYXRlIGRlY2xhcmF0aW9uIGJ5IHRoZSByZXBvJ3MgYXV0aG9yXG4gKiAgICByYXRoZXIgdGhhbiBhbiBhcnRpZmFjdCBsZWZ0IGJlaGluZCBieSB3aGF0ZXZlciByYW4gbGFzdCwgc28gaXQgb3V0cmFua3MgZXZlcnkgbG9ja2ZpbGUg4oCUIGFuZCBpdCBpc1xuICogICAgdGhlIG9ubHkgc2lnbmFsIHRoYXQgaGVscHMgYXQgYWxsIGJlZm9yZSB0aGUgZmlyc3QgaW5zdGFsbCwgd2hlbiBubyBsb2NrZmlsZSBleGlzdHMgeWV0LlxuICogMi4gVGhlIHNvbGUgbG9ja2ZpbGUsIHdoZW4gZXhhY3RseSBvbmUgbWFuYWdlciBjbGFpbXMgdGhlIHRyZWUuXG4gKiAzLiBBbW9uZyBzZXZlcmFsIGxvY2tmaWxlcywgdGhlIG1hbmFnZXIgdGhhdCBsYXVuY2hlZCB1cyAoYG5wbV9jb25maWdfdXNlcl9hZ2VudGApLCB3aGVuIGl0IG93bnMgb25lIG9mXG4gKiAgICB0aGVtIOKAlCBhIGxpdmUgc2lnbmFsIGJlYXRzIGEgZmlsZSB0aGF0IG1heSBoYXZlIGJlZW4gYWJhbmRvbmVkIG1pZC1taWdyYXRpb24uIE90aGVyd2lzZSB0aGVcbiAqICAgIGRvY3VtZW50ZWQgZmFsbGJhY2sgb3JkZXIgaW4ge0BsaW5rIExPQ0tGSUxFU30gZGVjaWRlcy4gTm90ZSB0aGlzIGlzIGRlbGliZXJhdGVseSBOT1QgXCJ0aGUgbW9zdFxuICogICAgcmVjZW50bHkgbW9kaWZpZWQgbG9ja2ZpbGVcIjogYSBzdHJheSBsb2NrZmlsZSBpcyB0eXBpY2FsbHkgdGhlIG5ld2VzdCBmaWxlLCBzbyBtdGltZSBwaWNrcyBwcmVjaXNlbHlcbiAqICAgIHRoZSB3cm9uZyBvbmUuXG4gKiA0LiBgbnBtX2NvbmZpZ191c2VyX2FnZW50YCBvbiBpdHMgb3duLCB3aGVuIHRoZXJlIGlzIG5vIGxvY2tmaWxlLlxuICogNS4ge0BsaW5rIFBhY2thZ2VNYW5hZ2VyLk5wbX0uXG4gKlxuICogV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSBtYW5hZ2VyIGNsYWltcyB0aGUgdHJlZSwgdGhlIGRpc2FncmVlbWVudCBpcyByZXBvcnRlZCBvbmNlIHBlciBwcm9qZWN0IHRocm91Z2hcbiAqIHtAbGluayB3YXJuQWJvdXRTZXZlcmFsQ2xhaW1hbnRzfSDigJQgdGhlIHJlc29sdXRpb24gc3RheXMgZGV0ZXJtaW5pc3RpYywgYnV0IGl0IHN0b3BzIGJlaW5nIHNpbGVudC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgdG8gcmVzb2x2ZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGRldGVjdGVkIHBhY2thZ2UgbWFuYWdlciwgb3Ige0BsaW5rIFBhY2thZ2VNYW5hZ2VyLk5wbX0gd2hlbiBub3RoaW5nIGluZGljYXRlcyBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlTWFuYWdlcihjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlTWFuYWdlciB7XG4gIGNvbnN0IHJvb3QgPSBnZXRTdGFydEZvbGRlcihjd2QpO1xuICBjb25zdCBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyID0gZGV0ZWN0UGFja2FnZU1hbmFnZXJGcm9tUGFja2FnZUpzb24ocm9vdCk7XG4gIGNvbnN0IGxvY2tmaWxlcyA9IExPQ0tGSUxFUy5maWx0ZXIoKGxvY2tmaWxlKSA9PiBleGlzdHNTeW5jKGpvaW4ocm9vdCwgbG9ja2ZpbGUuZmlsZU5hbWUpKSk7XG4gIGNvbnN0IGNsYWltYW50cyA9IG5ldyBTZXQobG9ja2ZpbGVzLm1hcCgobG9ja2ZpbGUpID0+IGxvY2tmaWxlLnBhY2thZ2VNYW5hZ2VyKSk7XG5cbiAgaWYgKGRlY2xhcmVkUGFja2FnZU1hbmFnZXIgIT09IG51bGwpIHtcbiAgICBjbGFpbWFudHMuYWRkKGRlY2xhcmVkUGFja2FnZU1hbmFnZXIpO1xuICB9XG5cbiAgY29uc3QgcGFja2FnZU1hbmFnZXIgPSByZXNvbHZlUGFja2FnZU1hbmFnZXIoe1xuICAgIGNsYWltYW50cyxcbiAgICBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyXG4gIH0pO1xuXG4gIGlmIChjbGFpbWFudHMuc2l6ZSA+IDEpIHtcbiAgICB3YXJuQWJvdXRTZXZlcmFsQ2xhaW1hbnRzKHtcbiAgICAgIGRlY2xhcmVkUGFja2FnZU1hbmFnZXIsXG4gICAgICBsb2NrZmlsZXMsXG4gICAgICBwYWNrYWdlTWFuYWdlcixcbiAgICAgIHJvb3RcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBwYWNrYWdlTWFuYWdlcjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGNvbW1hbmQgcGFydHMgdGhhdCBydW4gYSBwYWNrYWdlIHNjcmlwdCB0aHJvdWdoIHRoZSBtYW5hZ2VyIHRoYXQgb3ducyB0aGUgdHJlZS5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgdG8gcmVzb2x2ZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGNvbW1hbmQgcGFydHMsIGUuZy4gYFsnYnVuJywgJ3J1biddYC4gVGhlIHNjcmlwdCBuYW1lIGlzIGFwcGVuZGVkIGJ5IHRoZSBjYWxsZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlTWFuYWdlclJ1bkNvbW1hbmQoY3dkPzogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gW2dldFBhY2thZ2VNYW5hZ2VyKGN3ZCksICdydW4nXTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGNvbW1hbmQgcGFydHMgdGhhdCBydW4gYSBsb2NhbGx5LWluc3RhbGxlZCB0b29sLCB3aXRoIHRoZSB0b29sIGl0c2VsZiBhbHJlYWR5IGluY2x1ZGVkLlxuICpcbiAqIFByZWZlcnMgdGhlIHNoaW0gaW4gdGhlIG5lYXJlc3QgYG5vZGVfbW9kdWxlcy8uYmluYCwgd2Fsa2luZyB1cCB0aHJvdWdoIGFuY2VzdG9yIGZvbGRlcnMgc28gYSBob2lzdGVkXG4gKiB3b3Jrc3BhY2UgaW5zdGFsbCBpcyBzdGlsbCBmb3VuZC4gRmFsbHMgYmFjayB0byB0aGUgb3duaW5nIG1hbmFnZXIncyBleGVjIGZvcm0gd2hlbiBubyBzaGltIHJlc29sdmVzIOKAlFxuICogd2hpY2ggaXMgYm90aCB0aGUgcHJldmlvdXMgYmVoYXZpb3IgYW5kIHRoZSBvbmx5IHRoaW5nIHRoYXQgd29ya3MgdW5kZXIgeWFybidzIFBsdWcnbidQbGF5LCB3aGVyZVxuICogYG5vZGVfbW9kdWxlcy8uYmluYCBkb2VzIG5vdCBleGlzdCBhdCBhbGwuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmVzb2x1dGlvbi5cbiAqIEByZXR1cm5zIFRoZSBjb21tYW5kIHBhcnRzLCBlLmcuIGBbJy9wcm9qZWN0L25vZGVfbW9kdWxlcy8uYmluL3RzYyddYCBvciBgWydidW4nLCAneCcsICd0c2MnXWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVG9vbENvbW1hbmQocGFyYW1zOiBSZXNvbHZlVG9vbENvbW1hbmRQYXJhbXMpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgY3dkLCB0b29sIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHNoaW1QYXRoID0gZmluZEJpblNoaW0oeyBjd2QsIHRvb2wgfSk7XG5cbiAgcmV0dXJuIHNoaW1QYXRoID09PSBudWxsID8gWy4uLmdldFBhY2thZ2VNYW5hZ2VyRXhlY0NvbW1hbmQoY3dkKSwgdG9vbF0gOiBbc2hpbVBhdGhdO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgdGhlIGxlYWRpbmcgYDxuYW1lPkBgIHRva2VuIG9mIGEgYHBhY2thZ2UuanNvbmAgYHBhY2thZ2VNYW5hZ2VyYCB2YWx1ZS5cbiAqXG4gKiBUaGUgYEBgIGlzIHJlcXVpcmVkLCBiZWNhdXNlIGNvcmVwYWNrJ3MgZm9ybWF0IGlzIGA8bmFtZT5APHZlcnNpb24+YCDigJQgYSBiYXJlIG5hbWUgaXMgYSBtYWxmb3JtZWRcbiAqIGRlY2xhcmF0aW9uIHJhdGhlciB0aGFuIGEgc2hvcnRoYW5kLCBhbmQgaXMgaWdub3JlZCBpbnN0ZWFkIG9mIGd1ZXNzZWQgYXQuXG4gKi9cbmNvbnN0IERFQ0xBUkFUSU9OX05BTUVfUkVHX0VYUCA9IC9eKD88bmFtZT5bXkBcXHNdKylALztcblxuLyoqXG4gKiBUaGUgbG9ja2ZpbGVzIHRoYXQgaWRlbnRpZnkgYSBwYWNrYWdlIG1hbmFnZXIsIGluIHRoZSBvcmRlciB0aGV5IGRlY2lkZSBhIHRpZSBubyBvdGhlciBzaWduYWwgc2V0dGxlcy5cbiAqXG4gKiBCb3RoIGJ1biBsb2NrZmlsZSBmb3JtYXRzIG1hcCB0byB0aGUgc2FtZSBtYW5hZ2VyLCBzbyBhIHJlcG8gaG9sZGluZyBib3RoIGlzIG9uZSBjbGFpbWFudCwgbm90IHR3by5cbiAqL1xuY29uc3QgTE9DS0ZJTEVTOiBMb2NrZmlsZUNsYWltW10gPSBbXG4gIHsgZmlsZU5hbWU6IFJlcG9QYXRocy5CdW5Mb2NrLCBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXIuQnVuIH0sXG4gIHsgZmlsZU5hbWU6IFJlcG9QYXRocy5CdW5Mb2NrYiwgcGFja2FnZU1hbmFnZXI6IFBhY2thZ2VNYW5hZ2VyLkJ1biB9LFxuICB7IGZpbGVOYW1lOiBSZXBvUGF0aHMuUG5wbUxvY2tZYW1sLCBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXIuUG5wbSB9LFxuICB7IGZpbGVOYW1lOiBSZXBvUGF0aHMuWWFybkxvY2ssIHBhY2thZ2VNYW5hZ2VyOiBQYWNrYWdlTWFuYWdlci5ZYXJuIH0sXG4gIHsgZmlsZU5hbWU6IFJlcG9QYXRocy5QYWNrYWdlTG9ja0pzb24sIHBhY2thZ2VNYW5hZ2VyOiBQYWNrYWdlTWFuYWdlci5OcG0gfVxuXTtcblxuLyoqXG4gKiBNYXRjaGVzIHRoZSBsZWFkaW5nIGA8bmFtZT4vYCB0b2tlbiBvZiBhbiBgbnBtX2NvbmZpZ191c2VyX2FnZW50YCB2YWx1ZS5cbiAqL1xuY29uc3QgVVNFUl9BR0VOVF9OQU1FX1JFR19FWFAgPSAvXig/PG5hbWU+W14vXFxzXSspXFwvLztcblxuLyoqXG4gKiBUaGUgZGlzYWdyZWVtZW50cyBhbHJlYWR5IHJlcG9ydGVkLCBzbyBhIGJ1aWxkIHRoYXQgcmVzb2x2ZXMgdGhlIG1hbmFnZXIgb25jZSBwZXIgc2NyaXB0IGhvcCBhbmQgb25jZVxuICogcGVyIHRvb2wgaW52b2NhdGlvbiBzdGlsbCBzYXlzIGl0IG9ubHkgb25jZS5cbiAqL1xuY29uc3QgcmVwb3J0ZWREaXNhZ3JlZW1lbnRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbmRCaW5TaGltfS5cbiAqL1xuaW50ZXJmYWNlIEZpbmRCaW5TaGltUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHRvIHJlc29sdmUgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wuXG4gICAqL1xuICByZWFkb25seSB0b29sOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBsb2NrZmlsZSBhbmQgdGhlIHBhY2thZ2UgbWFuYWdlciB3aG9zZSBwcmVzZW5jZSBpdCBwcm92ZXMuXG4gKi9cbmludGVyZmFjZSBMb2NrZmlsZUNsYWltIHtcbiAgLyoqXG4gICAqIFRoZSBsb2NrZmlsZSBuYW1lLCBhcyBpdCBhcHBlYXJzIGF0IHRoZSBwcm9qZWN0IHJvb3QuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHRoYXQgd3JpdGVzIHRoaXMgbG9ja2ZpbGUuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcjogUGFja2FnZU1hbmFnZXI7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVQYWNrYWdlTWFuYWdlcn0uXG4gKi9cbmludGVyZmFjZSBSZXNvbHZlUGFja2FnZU1hbmFnZXJQYXJhbXMge1xuICAvKipcbiAgICogRXZlcnkgcGFja2FnZSBtYW5hZ2VyIGNsYWltaW5nIHRoZSB0cmVlIOKAlCB0aGUgbG9ja2ZpbGUgb3duZXJzIGluIHtAbGluayBMT0NLRklMRVN9IG9yZGVyLCBwbHVzIHRoZVxuICAgKiBkZWNsYXJlZCBvbmUuIE9ubHkgY29uc3VsdGVkIHdoZW4gbm90aGluZyBpcyBkZWNsYXJlZCwgaW4gd2hpY2ggY2FzZSBpdCBob2xkcyBleGFjdGx5IHRoZSBsb2NrZmlsZVxuICAgKiBvd25lcnMuXG4gICAqL1xuICByZWFkb25seSBjbGFpbWFudHM6IFJlYWRvbmx5U2V0PFBhY2thZ2VNYW5hZ2VyPjtcblxuICAvKipcbiAgICogVGhlIHBhY2thZ2UgbWFuYWdlciBkZWNsYXJlZCBpbiBgcGFja2FnZS5qc29uYCwgb3IgYG51bGxgIHdoZW4gbm9uZSBpcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlY2xhcmVkUGFja2FnZU1hbmFnZXI6IG51bGwgfCBQYWNrYWdlTWFuYWdlcjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd2FybkFib3V0U2V2ZXJhbENsYWltYW50c30uXG4gKi9cbmludGVyZmFjZSBXYXJuQWJvdXRTZXZlcmFsQ2xhaW1hbnRzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlIG1hbmFnZXIgZGVjbGFyZWQgaW4gYHBhY2thZ2UuanNvbmAsIG9yIGBudWxsYCB3aGVuIG5vbmUgaXMuXG4gICAqL1xuICByZWFkb25seSBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyOiBudWxsIHwgUGFja2FnZU1hbmFnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NrZmlsZXMgYWN0dWFsbHkgZm91bmQgYXQgdGhlIHByb2plY3Qgcm9vdC5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2tmaWxlczogcmVhZG9ubHkgTG9ja2ZpbGVDbGFpbVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHRoYXQgd29uLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI6IFBhY2thZ2VNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvamVjdCByb290IHRoZSBsb2NrZmlsZXMgd2VyZSBmb3VuZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3Q6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgcGFja2FnZSBtYW5hZ2VyIG91dCBvZiB0aGUgYHBhY2thZ2VNYW5hZ2VyYCBmaWVsZCBvZiB0aGUgcHJvamVjdCdzIGBwYWNrYWdlLmpzb25gLCB3aGljaCBpc1xuICogY29yZXBhY2sncyBgPG5hbWU+QDx2ZXJzaW9uPmAgZGVjbGFyYXRpb24uXG4gKlxuICogQHBhcmFtIHJvb3QgLSBUaGUgcHJvamVjdCByb290IHRvIHJlYWQgYHBhY2thZ2UuanNvbmAgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBkZWNsYXJlZCBwYWNrYWdlIG1hbmFnZXIsIG9yIGBudWxsYCB3aGVuIHRoZXJlIGlzIG5vIGBwYWNrYWdlLmpzb25gLCBpdCBjYW5ub3QgYmUgcGFyc2VkLFxuICogdGhlIGZpZWxkIGlzIGFic2VudCBvciBtYWxmb3JtZWQsIG9yIGl0IG5hbWVzIGEgbWFuYWdlciB3ZSBkbyBub3QgaGFuZGxlLlxuICovXG5mdW5jdGlvbiBkZXRlY3RQYWNrYWdlTWFuYWdlckZyb21QYWNrYWdlSnNvbihyb290OiBzdHJpbmcpOiBudWxsIHwgUGFja2FnZU1hbmFnZXIge1xuICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBqb2luKHJvb3QsIFJlcG9QYXRocy5QYWNrYWdlSnNvbik7XG5cbiAgaWYgKCFleGlzdHNTeW5jKHBhY2thZ2VKc29uUGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxldCBwYWNrYWdlSnNvbjogUGFja2FnZUpzb247XG5cbiAgdHJ5IHtcbiAgICBwYWNrYWdlSnNvbiA9IHJlYWRKc29uU3luYzxQYWNrYWdlSnNvbj4ocGFja2FnZUpzb25QYXRoKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBkZWNsYXJhdGlvbiA9IHBhY2thZ2VKc29uLnBhY2thZ2VNYW5hZ2VyO1xuXG4gIGlmICghZGVjbGFyYXRpb24pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG1hdGNoID0gREVDTEFSQVRJT05fTkFNRV9SRUdfRVhQLmV4ZWMoZGVjbGFyYXRpb24pO1xuXG4gIHJldHVybiBtYXRjaCA/IHBhcnNlUGFja2FnZU1hbmFnZXJOYW1lKGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICduYW1lJykpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgcGFja2FnZSBtYW5hZ2VyIG91dCBvZiBgbnBtX2NvbmZpZ191c2VyX2FnZW50YCwgd2hpY2ggZXZlcnkgbWFuYWdlciBzZXRzIGZvciB0aGUgcHJvY2Vzc2VzIGl0XG4gKiBsYXVuY2hlcy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGV0ZWN0ZWQgcGFja2FnZSBtYW5hZ2VyLCBvciBgbnVsbGAgd2hlbiB0aGUgdmFyaWFibGUgaXMgYWJzZW50LCBtYWxmb3JtZWQsIG9yIG5hbWVzIGFcbiAqIHJ1bnRpbWUgd2UgZG8gbm90IGhhbmRsZS5cbiAqL1xuZnVuY3Rpb24gZGV0ZWN0UGFja2FnZU1hbmFnZXJGcm9tVXNlckFnZW50KCk6IG51bGwgfCBQYWNrYWdlTWFuYWdlciB7XG4gIGNvbnN0IHVzZXJBZ2VudCA9IHByb2Nlc3MuZW52WyducG1fY29uZmlnX3VzZXJfYWdlbnQnXTtcblxuICBpZiAoIXVzZXJBZ2VudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbWF0Y2ggPSBVU0VSX0FHRU5UX05BTUVfUkVHX0VYUC5leGVjKHVzZXJBZ2VudCk7XG5cbiAgcmV0dXJuIG1hdGNoID8gcGFyc2VQYWNrYWdlTWFuYWdlck5hbWUoZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ25hbWUnKSkgOiBudWxsO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBgbm9kZV9tb2R1bGVzLy5iaW5gIHNoaW0gZm9yIGEgdG9vbCwgd2Fsa2luZyB1cCBmcm9tIHRoZSBwcm9qZWN0IHJvb3QgdGhyb3VnaCBhbmNlc3RvciBmb2xkZXJzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGxvb2t1cC5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBzaGltLCBvciBgbnVsbGAgd2hlbiBub25lIGV4aXN0cy5cbiAqL1xuZnVuY3Rpb24gZmluZEJpblNoaW0ocGFyYW1zOiBGaW5kQmluU2hpbVBhcmFtcyk6IG51bGwgfCBzdHJpbmcge1xuICBjb25zdCB7IGN3ZCwgdG9vbCB9ID0gcGFyYW1zO1xuICBjb25zdCBjYW5kaWRhdGVzID0gZ2V0U2hpbUNhbmRpZGF0ZXModG9vbCk7XG4gIGxldCBjdXJyZW50Rm9sZGVyID0gZ2V0U3RhcnRGb2xkZXIoY3dkKTtcblxuICB3aGlsZSAoXG4gICAgY3VycmVudEZvbGRlciAhPT0gUmVwb1BhdGhzLkN1cnJlbnRGb2xkZXIgYXMgc3RyaW5nXG4gICAgJiYgY3VycmVudEZvbGRlciAhPT0gUmVwb1BhdGhzLlJvb3RGb2xkZXIgYXMgc3RyaW5nXG4gICkge1xuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgIGNvbnN0IHNoaW1QYXRoID0gam9pbihjdXJyZW50Rm9sZGVyLCBSZXBvUGF0aHMuTm9kZU1vZHVsZXMsIFJlcG9QYXRocy5CaW4sIGNhbmRpZGF0ZSk7XG4gICAgICBpZiAoZXhpc3RzU3luYyhzaGltUGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIHNoaW1QYXRoO1xuICAgICAgfVxuICAgIH1cblxuICAgIGN1cnJlbnRGb2xkZXIgPSBkaXJuYW1lKGN1cnJlbnRGb2xkZXIpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBjb21tYW5kIHBhcnRzIHRoYXQgcnVuIGEgb25lLW9mZiB0b29sIHRocm91Z2ggdGhlIG1hbmFnZXIgdGhhdCBvd25zIHRoZSB0cmVlLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB0byByZXNvbHZlIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tbWFuZCBwYXJ0cywgZS5nLiBgWydidW4nLCAneCddYC4gVGhlIHRvb2wgbmFtZSBpcyBhcHBlbmRlZCBieSB0aGUgY2FsbGVyLlxuICovXG5mdW5jdGlvbiBnZXRQYWNrYWdlTWFuYWdlckV4ZWNDb21tYW5kKGN3ZD86IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcGFja2FnZU1hbmFnZXIgPSBnZXRQYWNrYWdlTWFuYWdlcihjd2QpO1xuXG4gIHN3aXRjaCAocGFja2FnZU1hbmFnZXIpIHtcbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLkJ1bjoge1xuICAgICAgcmV0dXJuIFsnYnVuJywgJ3gnXTtcbiAgICB9XG4gICAgY2FzZSBQYWNrYWdlTWFuYWdlci5OcG06IHtcbiAgICAgIHJldHVybiBbJ25weCddO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLlBucG06IHtcbiAgICAgIHJldHVybiBbJ3BucG0nLCAnZXhlYyddO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLllhcm46IHtcbiAgICAgIHJldHVybiBbJ3lhcm4nLCAnZXhlYyddO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gRXhoYXVzdGl2ZSBzd2l0Y2ggZ3VhcmQ7IGRlZmF1bHQgYnJhbmNoIGlzIHVucmVhY2hhYmxlLiAqL1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBhc3NlcnROZXZlcihwYWNrYWdlTWFuYWdlcik7XG4gICAgfVxuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxufVxuXG4vKipcbiAqIExpc3RzIHRoZSBzaGltIGZpbGUgbmFtZXMgdG8gdHJ5IGZvciBhIHRvb2wsIG1vc3Qgc3BlY2lmaWMgZmlyc3QuXG4gKlxuICogT24gV2luZG93cyBvbmx5IHRoZSBleGVjdXRhYmxlIGZvcm1zIGFyZSB2aWFibGU6IG5wbSBhbmQgcG5wbSBhbHNvIHdyaXRlIGEgc2hpbSB3aXRoIG5vIGV4dGVuc2lvbiwgYnV0XG4gKiB0aGF0IG9uZSBpcyBhIGBzaGAgc2NyaXB0IHRoYXQgYGNtZC5leGVgIGNhbm5vdCBydW4sIHNvIGl0IG11c3QgbmV2ZXIgYmUgY2hvc2VuIHRoZXJlLlxuICpcbiAqIEBwYXJhbSB0b29sIC0gVGhlIG5hbWUgb2YgdGhlIGxvY2FsbHktaW5zdGFsbGVkIHRvb2wuXG4gKiBAcmV0dXJucyBUaGUgY2FuZGlkYXRlIGZpbGUgbmFtZXMsIGluIHRoZSBvcmRlciB0aGV5IHNob3VsZCBiZSB0cmllZC5cbiAqL1xuZnVuY3Rpb24gZ2V0U2hpbUNhbmRpZGF0ZXModG9vbDogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuICAgID8gW1xuICAgICAgYCR7dG9vbH0ke1JlcG9QYXRocy5Db21tYW5kRXh0ZW5zaW9ufWAsXG4gICAgICBgJHt0b29sfSR7UmVwb1BhdGhzLkV4ZUV4dGVuc2lvbn1gLFxuICAgICAgYCR7dG9vbH0ke1JlcG9QYXRocy5CYXRFeHRlbnNpb259YFxuICAgIF1cbiAgICA6IFt0b29sXTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgZm9sZGVyIHRvIHN0YXJ0IGEgbG9va3VwIGZyb20g4oCUIHRoZSBwcm9qZWN0IHJvb3Qgd2hlbiB0aGVyZSBpcyBvbmUsIHRoZSB3b3JraW5nIGZvbGRlclxuICogb3RoZXJ3aXNlLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB0byByZXNvbHZlIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgZm9sZGVyIHRvIHN0YXJ0IGZyb20uXG4gKi9cbmZ1bmN0aW9uIGdldFN0YXJ0Rm9sZGVyKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRSb290Rm9sZGVyKGN3ZCkgPz8gdG9Qb3NpeFBhdGgoY3dkID8/IHByb2Nlc3MuY3dkKCkpO1xufVxuXG4vKipcbiAqIE1hcHMgdGhlIGJhcmUgbmFtZSBhIGxvY2tmaWxlIGRlY2xhcmF0aW9uIG9yIGEgdXNlciBhZ2VudCByZXBvcnRzIG9udG8gdGhlIHBhY2thZ2UgbWFuYWdlciBpdCBuYW1lcy5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSByZXBvcnRlZCBuYW1lLlxuICogQHJldHVybnMgVGhlIG1hdGNoaW5nIHBhY2thZ2UgbWFuYWdlciwgb3IgYG51bGxgIGZvciBhIHJ1bnRpbWUgd2UgZG8gbm90IGhhbmRsZS5cbiAqL1xuZnVuY3Rpb24gcGFyc2VQYWNrYWdlTWFuYWdlck5hbWUobmFtZTogc3RyaW5nKTogbnVsbCB8IFBhY2thZ2VNYW5hZ2VyIHtcbiAgc3dpdGNoIChuYW1lKSB7XG4gICAgY2FzZSBQYWNrYWdlTWFuYWdlci5CdW4gYXMgc3RyaW5nOiB7XG4gICAgICByZXR1cm4gUGFja2FnZU1hbmFnZXIuQnVuO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLk5wbSBhcyBzdHJpbmc6IHtcbiAgICAgIHJldHVybiBQYWNrYWdlTWFuYWdlci5OcG07XG4gICAgfVxuICAgIGNhc2UgUGFja2FnZU1hbmFnZXIuUG5wbSBhcyBzdHJpbmc6IHtcbiAgICAgIHJldHVybiBQYWNrYWdlTWFuYWdlci5QbnBtO1xuICAgIH1cbiAgICBjYXNlIFBhY2thZ2VNYW5hZ2VyLllhcm4gYXMgc3RyaW5nOiB7XG4gICAgICByZXR1cm4gUGFja2FnZU1hbmFnZXIuWWFybjtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUGlja3MgdGhlIHdpbm5lciBvdXQgb2YgdGhlIGNvbGxlY3RlZCBzaWduYWxzLCBwZXIgdGhlIG9yZGVyIGRvY3VtZW50ZWQgb24ge0BsaW5rIGdldFBhY2thZ2VNYW5hZ2VyfS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXNvbHV0aW9uLlxuICogQHJldHVybnMgVGhlIHBhY2thZ2UgbWFuYWdlciB0aGF0IG93bnMgdGhlIHRyZWUuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVQYWNrYWdlTWFuYWdlcihwYXJhbXM6IFJlc29sdmVQYWNrYWdlTWFuYWdlclBhcmFtcyk6IFBhY2thZ2VNYW5hZ2VyIHtcbiAgY29uc3Qge1xuICAgIGNsYWltYW50cyxcbiAgICBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyXG4gIH0gPSBwYXJhbXM7XG5cbiAgaWYgKGRlY2xhcmVkUGFja2FnZU1hbmFnZXIgIT09IG51bGwpIHtcbiAgICByZXR1cm4gZGVjbGFyZWRQYWNrYWdlTWFuYWdlcjtcbiAgfVxuXG4gIGNvbnN0IGxvY2tmaWxlT3duZXJzID0gWy4uLmNsYWltYW50c107XG4gIGNvbnN0IFtmaXJzdExvY2tmaWxlT3duZXJdID0gbG9ja2ZpbGVPd25lcnM7XG5cbiAgaWYgKGZpcnN0TG9ja2ZpbGVPd25lciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRldGVjdFBhY2thZ2VNYW5hZ2VyRnJvbVVzZXJBZ2VudCgpID8/IFBhY2thZ2VNYW5hZ2VyLk5wbTtcbiAgfVxuXG4gIGlmIChsb2NrZmlsZU93bmVycy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4gZmlyc3RMb2NrZmlsZU93bmVyO1xuICB9XG5cbiAgY29uc3QgbGF1bmNoZWRCeSA9IGRldGVjdFBhY2thZ2VNYW5hZ2VyRnJvbVVzZXJBZ2VudCgpO1xuXG4gIHJldHVybiBsYXVuY2hlZEJ5ICE9PSBudWxsICYmIGNsYWltYW50cy5oYXMobGF1bmNoZWRCeSkgPyBsYXVuY2hlZEJ5IDogZmlyc3RMb2NrZmlsZU93bmVyO1xufVxuXG4vKipcbiAqIFJlcG9ydHMgdGhhdCBzZXZlcmFsIHBhY2thZ2UgbWFuYWdlcnMgY2xhaW0gdGhlIHNhbWUgdHJlZSwgbmFtaW5nIGVhY2ggbG9ja2ZpbGUgZm91bmQsIHdoYXRcbiAqIGBwYWNrYWdlLmpzb25gIGRlY2xhcmVzLCBhbmQgd2hpY2ggbWFuYWdlciB3b24uXG4gKlxuICogYGNvbnNvbGUud2FybmAgcmF0aGVyIHRoYW4gYSBkZWJ1ZyBjaGFubmVsOiB0aGlzIHJ1bnMgaW4gdGhlIGJ1aWxkJ3Mgb3duIHRlcm1pbmFsLCBhbmQgYSBtZXNzYWdlIG5vYm9keVxuICogc2VlcyB1bmxlc3MgdGhleSBhbHJlYWR5IHN1c3BlY3QgdGhlIHByb2JsZW0gbGVhdmVzIHRoZSBmYWlsdXJlIGV4YWN0bHkgYXMgc2lsZW50IGFzIGl0IHdhcy4gRWFjaFxuICogZGlzdGluY3QgbWVzc2FnZSBpcyBwcmludGVkIG9uY2UsIGJlY2F1c2UgdGhlIG1hbmFnZXIgaXMgcmVzb2x2ZWQgb25jZSBwZXIgcGFja2FnZS1zY3JpcHQgaG9wIGFuZCBvbmNlXG4gKiBwZXIgdG9vbCBpbnZvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHJlcG9ydC5cbiAqL1xuZnVuY3Rpb24gd2FybkFib3V0U2V2ZXJhbENsYWltYW50cyhwYXJhbXM6IFdhcm5BYm91dFNldmVyYWxDbGFpbWFudHNQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGRlY2xhcmVkUGFja2FnZU1hbmFnZXIsXG4gICAgbG9ja2ZpbGVzLFxuICAgIHBhY2thZ2VNYW5hZ2VyLFxuICAgIHJvb3RcbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBsb2NrZmlsZU5hbWVzID0gbG9ja2ZpbGVzLm1hcCgobG9ja2ZpbGUpID0+IGxvY2tmaWxlLmZpbGVOYW1lKS5qb2luKCcsICcpO1xuICBjb25zdCBhZHZpY2UgPSBkZWNsYXJlZFBhY2thZ2VNYW5hZ2VyID09PSBudWxsXG4gICAgPyAnRGVsZXRlIHRoZSBzdGFsZSBsb2NrZmlsZSwgb3IgZGVjbGFyZSBcInBhY2thZ2VNYW5hZ2VyXCIgaW4gcGFja2FnZS5qc29uLCB0byBzZXR0bGUgaXQuJ1xuICAgIDogJ0RlbGV0ZSB0aGUgc3RhbGUgbG9ja2ZpbGUgdG8gc2V0dGxlIGl0Lic7XG4gIGNvbnN0IG1lc3NhZ2UgPSBbXG4gICAgYG9ic2lkaWFuLWRldi11dGlsczogbW9yZSB0aGFuIG9uZSBwYWNrYWdlIG1hbmFnZXIgY2xhaW1zICR7cm9vdH0uYCxcbiAgICBgTG9ja2ZpbGVzOiAke2xvY2tmaWxlTmFtZXN9LmAsXG4gICAgYHBhY2thZ2UuanNvbiBcInBhY2thZ2VNYW5hZ2VyXCI6ICR7ZGVjbGFyZWRQYWNrYWdlTWFuYWdlciA/PyAnbm90IHNldCd9LmAsXG4gICAgYFVzaW5nICR7cGFja2FnZU1hbmFnZXJ9LmAsXG4gICAgYWR2aWNlXG4gIF0uam9pbignICcpO1xuXG4gIGlmIChyZXBvcnRlZERpc2FncmVlbWVudHMuaGFzKG1lc3NhZ2UpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVwb3J0ZWREaXNhZ3JlZW1lbnRzLmFk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
|
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import { errorToString } from "@mnaoumov/typescript-lib/error";
|
|
@@ -140,4 +131,4 @@ export {
|
|
|
140
131
|
closeReleasedIssues,
|
|
141
132
|
getIssueReferences
|
|
142
133
|
};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlbGVhc2VkLWlzc3Vlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENsb3NlcyB0aGUgR2l0SHViIGlzc3VlcyBhIHJlbGVhc2UgY2Fycmllcywgd2l0aCBhIGNvbW1lbnQgbGlua2luZyB0aGUgcmVsZWFzZS5cbiAqXG4gKiBBbiBpc3N1ZSB0aGF0IGEgY29tbWl0IGluIHRoZSByZWxlYXNlIG5hbWVzIHdpdGggYSBjbG9zaW5nIGtleXdvcmQgKGBmaXhlcyAjMTJgLCBgY2xvc2VzICMxMmAsIGByZXNvbHZlcyAjMTJgLFxuICogYW5kIHRoZWlyIG90aGVyIHRlbnNlcykgaXMgY2xvc2VkIGFzIGNvbXBsZXRlZCwgd2l0aCBgRml4ZWQgaW4gPHJlbGVhc2UgVVJMPmAgd2hlbiBpdCBjYXJyaWVzIGEgYGJ1Z2AgbGFiZWwgYW5kXG4gKiBgSW1wbGVtZW50ZWQgaW4gPHJlbGVhc2UgVVJMPmAgb3RoZXJ3aXNlLiBUaGUgVVJMIGlzIHRoZSBgcmVsZWFzZXMvdGFnLzx2ZXJzaW9uPmAgcGFnZSwgd2hpY2ggZXhpc3RzIGJ5IHRoZSB0aW1lXG4gKiB0aGlzIHJ1bnMuXG4gKlxuICogT25seSBhIGNsb3Npbmcga2V5d29yZCBjbG9zZXMgYW55dGhpbmcuIEEgYmFyZSBtZW50aW9uIChgcmUgIzEyYCwgYCgjMTIpYCwgdGhlIGlzc3VlIFVSTCkgaXMgb2Z0ZW4gb25lIHN0ZXAgb2ZcbiAqIHVuZmluaXNoZWQgd29yaywgYW5kIHRoaXMgbW9kdWxlIGNhbm5vdCBrbm93IHdoZXRoZXIgdGhlIHJlc3QgaGFzIGxhbmRlZCwgc28gc3VjaCBhbiBpc3N1ZSBpcyBsaXN0ZWQgYXMgbGVmdCBvcGVuXG4gKiBhbmQgbm90aGluZyBpcyBwb3N0ZWQgdG8gaXQuXG4gKlxuICogR2l0SHViIGl0c2VsZiBjbG9zZXMgYW4gaXNzdWUgbmFtZWQgd2l0aCBhIGNsb3Npbmcga2V5d29yZCBhcyBzb29uIGFzIHRoZSBjb21taXQgcmVhY2hlcyB0aGUgZGVmYXVsdCBicmFuY2ggXHUyMDE0XG4gKiBiZWZvcmUgdGhlIHJlbGVhc2UsIGFuZCB3aXRob3V0IHNheWluZyB3aGljaCByZWxlYXNlIGNhcnJpZXMgdGhlIGNoYW5nZS4gU28gYW4gaXNzdWUgdGhhdCBpcyBhbHJlYWR5IGNsb3NlZCBhc1xuICogY29tcGxldGVkIHN0aWxsIGdldHMgdGhlIHJlbGVhc2UgbGluaywgdW5sZXNzIG9uZSBvZiBpdHMgY29tbWVudHMgYWxyZWFkeSBjYXJyaWVzIHRoaXMgcmVsZWFzZSdzIFVSTCwgd2hpY2ggYWxzb1xuICogbWFrZXMgYSBzZWNvbmQgcnVuIHBvc3Qgbm90aGluZy5cbiAqL1xuXG5pbXBvcnQgeyBlcnJvclRvU3RyaW5nIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Vycm9yJztcbmltcG9ydCB7XG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcblxuaW1wb3J0IHsgZXhlY0Zyb21Sb290IH0gZnJvbSAnLi9yb290LnRzJztcblxuLyoqXG4gKiBQYXJhbXMgZm9yIHtAbGluayBjbG9zZVJlbGVhc2VkSXNzdWVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG9zZVJlbGVhc2VkSXNzdWVzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIGp1c3QgcmVsZWFzZWQuIEl0cyB0YWcgbXVzdCBleGlzdCBsb2NhbGx5IGFuZCBpdHMgR2l0SHViIHJlbGVhc2UgbXVzdCBiZSBwdWJsaXNoZWQuXG4gICAqL1xuICByZWFkb25seSBuZXdWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZ2V0SXNzdWVSZWZlcmVuY2VzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRJc3N1ZVJlZmVyZW5jZXNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGNvbW1pdCBtZXNzYWdlcyB0byByZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWl0TWVzc2FnZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYDxvd25lcj4vPG5hbWU+YCBvZiB0aGUgcmVwb3NpdG9yeSB3aG9zZSBpc3N1ZXMgY291bnQuIEEgcmVmZXJlbmNlIGludG8gYW55IG90aGVyIHJlcG9zaXRvcnkgaXMgaWdub3JlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9TbHVnOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gaXNzdWUgbnVtYmVyIG5hbWVkIGJ5IHRoZSBjb21taXQgbWVzc2FnZXMgb2YgYSByZWxlYXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzc3VlUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYXQgbGVhc3Qgb25lIG1lbnRpb24gdXNlZCBhIGNsb3Npbmcga2V5d29yZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvc2luZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGlzc3VlIG9yIHB1bGwgcmVxdWVzdCBudW1iZXIuXG4gICAqL1xuICByZWFkb25seSBudW1iZXI6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEdpdEh1Yklzc3VlIHtcbiAgcmVhZG9ubHkgbGFiZWxzOiByZWFkb25seSBHaXRIdWJMYWJlbFtdO1xuICByZWFkb25seSBwdWxsX3JlcXVlc3Q/OiB1bmtub3duO1xuICByZWFkb25seSBzdGF0ZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZV9yZWFzb24/OiBudWxsIHwgc3RyaW5nO1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgR2l0SHViTGFiZWwge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2xvc2VzIHRoZSBpc3N1ZXMgdGhlIHJlbGVhc2Ugb2Yge0BsaW5rIENsb3NlUmVsZWFzZWRJc3N1ZXNQYXJhbXMubmV3VmVyc2lvbn0gY2FycmllcywgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlXG4gKiBvdmVydmlldy5cbiAqXG4gKiBBIGZhaWx1cmUgdG8gcmVhZCBvciB1cGRhdGUgb25lIGlzc3VlIGlzIHJlcG9ydGVkIGFuZCB0aGUgcmVzdCBhcmUgc3RpbGwgcHJvY2Vzc2VkLCBiZWNhdXNlIHRoZSByZWxlYXNlIGlzXG4gKiBhbHJlYWR5IHB1Ymxpc2hlZCBieSB0aGUgdGltZSB0aGlzIHJ1bnMgYW5kIG5vdGhpbmcgYWJvdXQgaXQgY2FuIGJlIHVuZG9uZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBDbG9zZVJlbGVhc2VkSXNzdWVzUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG51bWJlcnMgb2YgdGhlIGlzc3VlcyB0aGF0IGNvdWxkIG5vdCBiZSBwcm9jZXNzZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbG9zZVJlbGVhc2VkSXNzdWVzKHBhcmFtczogQ2xvc2VSZWxlYXNlZElzc3Vlc1BhcmFtcyk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgY29uc3QgeyBuZXdWZXJzaW9uIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHJlcG9VcmwgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2doIHJlcG8gdmlldyAtLWpzb24gdXJsIC1xIC51cmwnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IHJlcG9TbHVnID0gdG9SZXBvU2x1ZyhyZXBvVXJsKTtcbiAgaWYgKCFyZXBvU2x1Zykge1xuICAgIGNvbnNvbGUud2FybihgTm90IGNsb3NpbmcgdGhlIHJlbGVhc2VkIGlzc3VlczogJyR7cmVwb1VybH0nIGlzIG5vdCBhIEdpdEh1YiByZXBvc2l0b3J5IFVSTC5gKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwcmV2aW91c1RhZyA9IGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2dpdCcsICdkZXNjcmliZScsICctLXRhZ3MnLCAnLS1hYmJyZXY9MCcsIGAke25ld1ZlcnNpb259XmBdLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgY29tbWl0UmFuZ2UgPSBwcmV2aW91c1RhZyA/IGAke3ByZXZpb3VzVGFnfS4uJHtuZXdWZXJzaW9ufWAgOiBuZXdWZXJzaW9uO1xuICBjb25zdCBjb21taXRNZXNzYWdlc1N0cmluZyA9IGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2dpdCcsICdsb2cnLCBjb21taXRSYW5nZSwgJy0tZm9ybWF0PSVCJywgJy16J10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgY29uc3QgcmVmZXJlbmNlcyA9IGdldElzc3VlUmVmZXJlbmNlcyh7IGNvbW1pdE1lc3NhZ2VzOiBjb21taXRNZXNzYWdlc1N0cmluZy5zcGxpdCgnXFwwJyksIHJlcG9TbHVnIH0pO1xuICBjb25zdCByZWxlYXNlVXJsID0gYCR7cmVwb1VybH0vcmVsZWFzZXMvdGFnLyR7bmV3VmVyc2lvbn1gO1xuICBjb25zdCBmYWlsZWROdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBjb25zdCBsZWZ0T3BlbkxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaXNzdWUgPSBKU09OLnBhcnNlKGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ2FwaScsIGByZXBvcy8ke3JlcG9TbHVnfS9pc3N1ZXMvJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9YF0sIHsgaXNRdWlldDogdHJ1ZSB9KSkgYXMgR2l0SHViSXNzdWU7XG4gICAgICBpZiAoaXNzdWUucHVsbF9yZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbW1lbnQgPSBgJHtpc3N1ZS5sYWJlbHMuc29tZSgobGFiZWwpID0+IC9idWcvaS50ZXN0KGxhYmVsLm5hbWUpKSA/ICdGaXhlZCBpbicgOiAnSW1wbGVtZW50ZWQgaW4nfSAke3JlbGVhc2VVcmx9YDtcbiAgICAgIGNvbnN0IGlzT3BlbiA9IGlzc3VlLnN0YXRlID09PSAnb3Blbic7XG5cbiAgICAgIGlmICghcmVmZXJlbmNlLmlzQ2xvc2luZykge1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgbGVmdE9wZW5MaW5lcy5wdXNoKGAgICMke1N0cmluZyhyZWZlcmVuY2UubnVtYmVyKX0gJHtpc3N1ZS50aXRsZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaCcsICdpc3N1ZScsICdjbG9zZScsIFN0cmluZyhyZWZlcmVuY2UubnVtYmVyKSwgJy1SJywgcmVwb1NsdWcsICctLXJlYXNvbicsICdjb21wbGV0ZWQnLCAnLS1jb21tZW50JywgY29tbWVudF0sIHtcbiAgICAgICAgICBpc1F1aWV0OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLndhcm4oYENsb3NlZCAjJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9ICR7aXNzdWUudGl0bGV9OiAke2NvbW1lbnR9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNzdWUuc3RhdGVfcmVhc29uICE9PSAnY29tcGxldGVkJyB8fCBhd2FpdCBoYXNDb21tZW50Q29udGFpbmluZyhyZXBvU2x1ZywgcmVmZXJlbmNlLm51bWJlciwgcmVsZWFzZVVybCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ2lzc3VlJywgJ2NvbW1lbnQnLCBTdHJpbmcocmVmZXJlbmNlLm51bWJlciksICctUicsIHJlcG9TbHVnLCAnLS1ib2R5JywgY29tbWVudF0sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICAgIGNvbnNvbGUud2FybihgQ29tbWVudGVkIG9uIHRoZSBhbHJlYWR5IGNsb3NlZCAjJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9ICR7aXNzdWUudGl0bGV9OiAke2NvbW1lbnR9YCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGZhaWxlZE51bWJlcnMucHVzaChyZWZlcmVuY2UubnVtYmVyKTtcbiAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IHByb2Nlc3MgaXNzdWUgIyR7U3RyaW5nKHJlZmVyZW5jZS5udW1iZXIpfSBvZiAke3JlcG9TbHVnfTogJHtlcnJvclRvU3RyaW5nKGVycm9yKX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAobGVmdE9wZW5MaW5lcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYExlZnQgb3BlbjogdGhlIHJlbGVhc2UgbmFtZXMgdGhlc2UgaXNzdWVzIHdpdGhvdXQgYSBjbG9zaW5nIGtleXdvcmQsIHNvIHdoZXRoZXIgdGhleSBhcmUgZmluaXNoZWQgaXMgbm90IGtub3duIGhlcmU6XFxuJHtsZWZ0T3BlbkxpbmVzLmpvaW4oJ1xcbicpfWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGZhaWxlZE51bWJlcnM7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIGlzc3VlIG51bWJlcnMgb2Ygb25lIHJlcG9zaXRvcnkgdGhhdCBhIHNldCBvZiBjb21taXQgbWVzc2FnZXMgbmFtZXMsIGFuZCB3aGV0aGVyIGVhY2ggd2FzIG5hbWVkIHdpdGhcbiAqIGEgY2xvc2luZyBrZXl3b3JkLlxuICpcbiAqIFRocmVlIGZvcm1zIGNvdW50OiBhIGJhcmUgYCMxMmAsIGA8b3duZXI+LzxuYW1lPiMxMmAsIGFuZCB0aGUgcmVwb3NpdG9yeSdzIGBpc3N1ZXMvMTJgIG9yIGBwdWxsLzEyYCBVUkwuIEEgYmFyZVxuICogYCMxMmAgZ2x1ZWQgdG8gYSBwcmVjZWRpbmcgdG9rZW4gKGBvdGhlciMxMmAsIGBvdGhlci9yZXBvIzEyYCwgYCYjMTJgKSBkb2VzIG5vdC4gQSBtZW50aW9uIGlzIGNsb3Npbmcgd2hlblxuICogR2l0SHViJ3Mgb3duIGNsb3Npbmcga2V5d29yZCBwcmVjZWRlcyBpdCBkaXJlY3RseTogYGNsb3NlYCwgYGNsb3Nlc2AsIGBjbG9zZWRgLCBgZml4YCwgYGZpeGVzYCwgYGZpeGVkYCxcbiAqIGByZXNvbHZlYCwgYHJlc29sdmVzYCBvciBgcmVzb2x2ZWRgLCBpbiBhbnkgY2FzZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGNvbG9uLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEdldElzc3VlUmVmZXJlbmNlc1BhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgcmVmZXJlbmNlcywgc29ydGVkIGJ5IG51bWJlciwgb25lIHBlciBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJc3N1ZVJlZmVyZW5jZXMocGFyYW1zOiBHZXRJc3N1ZVJlZmVyZW5jZXNQYXJhbXMpOiBJc3N1ZVJlZmVyZW5jZVtdIHtcbiAgY29uc3QgeyBjb21taXRNZXNzYWdlcywgcmVwb1NsdWcgfSA9IHBhcmFtcztcbiAgY29uc3QgZXNjYXBlZFNsdWcgPSBlc2NhcGVSZWdFeHAocmVwb1NsdWcpO1xuICBjb25zdCByZWdFeHAgPSBuZXcgUmVnRXhwKFxuICAgIFN0cmluZy5yYXdgKD88a2V5d29yZD5cXGIoPzpjbG9zZVtzZF0/fGZpeCg/OmVbc2RdKT98cmVzb2x2ZVtzZF0/KTo/XFxzKyk/KD86aHR0cHM/Oi8vZ2l0aHViXFwuY29tLyR7ZXNjYXBlZFNsdWd9Lyg/Omlzc3Vlc3xwdWxsKS8oPzx1cmxOdW1iZXI+XFxkKyl8KD88IVtcXHcuLV0pJHtlc2NhcGVkU2x1Z30jKD88c2x1Z051bWJlcj5cXGQrKVxcYnwoPzwhW1xcdy8mIy4tXSkjKD88YmFyZU51bWJlcj5cXGR7MSw2fSlcXGIpYCxcbiAgICAnZ2knXG4gICk7XG4gIGNvbnN0IGNsb3NpbmdGbGFnQnlOdW1iZXIgPSBuZXcgTWFwPG51bWJlciwgYm9vbGVhbj4oKTtcblxuICBmb3IgKGNvbnN0IGNvbW1pdE1lc3NhZ2Ugb2YgY29tbWl0TWVzc2FnZXMpIHtcbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGNvbW1pdE1lc3NhZ2UubWF0Y2hBbGwocmVnRXhwKSkge1xuICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKFxuICAgICAgICBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICd1cmxOdW1iZXInKSA/PyBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICdzbHVnTnVtYmVyJykgPz8gZ2V0T3B0aW9uYWxOYW1lZEdyb3VwKG1hdGNoLCAnYmFyZU51bWJlcicpXG4gICAgICApO1xuICAgICAgY2xvc2luZ0ZsYWdCeU51bWJlci5zZXQobnVtYmVyLCAoY2xvc2luZ0ZsYWdCeU51bWJlci5nZXQobnVtYmVyKSA/PyBmYWxzZSkgfHwgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwKG1hdGNoLCAna2V5d29yZCcpICE9PSBudWxsKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gWy4uLmNsb3NpbmdGbGFnQnlOdW1iZXJdXG4gICAgLnNvcnQoKFtudW1iZXIxXSwgW251bWJlcjJdKSA9PiBudW1iZXIxIC0gbnVtYmVyMilcbiAgICAubWFwKChbbnVtYmVyLCBpc0Nsb3NpbmddKSA9PiAoeyBpc0Nsb3NpbmcsIG51bWJlciB9KSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0NvbW1lbnRDb250YWluaW5nKHJlcG9TbHVnOiBzdHJpbmcsIGlzc3VlTnVtYmVyOiBudW1iZXIsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBib2RpZXMgPSBhd2FpdCBleGVjRnJvbVJvb3QoWydnaCcsICdhcGknLCAnLS1wYWdpbmF0ZScsIGByZXBvcy8ke3JlcG9TbHVnfS9pc3N1ZXMvJHtTdHJpbmcoaXNzdWVOdW1iZXIpfS9jb21tZW50c2AsICctLWpxJywgJy5bXS5ib2R5J10sIHtcbiAgICBpc1F1aWV0OiB0cnVlXG4gIH0pO1xuICByZXR1cm4gYm9kaWVzLmluY2x1ZGVzKHRleHQpO1xufVxuXG5mdW5jdGlvbiB0b1JlcG9TbHVnKHJlcG9Vcmw6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICBjb25zdCBtYXRjaCA9IC9eaHR0cHM6XFwvXFwvZ2l0aHViXFwuY29tXFwvKD88c2x1Zz5bXi9dK1xcL1teL10rPylcXC8/JC8uZXhlYyhyZXBvVXJsKTtcbiAgcmV0dXJuIG1hdGNoPy5ncm91cHM/Llsnc2x1ZyddID8/IG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxTQUFTLHFCQUFxQjtBQUM5QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLFNBQVMsb0JBQW9CO0FBZ0U3QixlQUFzQixvQkFBb0IsUUFBc0Q7QUFDOUYsUUFBTSxFQUFFLFdBQVcsSUFBSTtBQUN2QixRQUFNLFVBQVUsTUFBTSxhQUFhLG1DQUFtQyxFQUFFLFNBQVMsS0FBSyxDQUFDO0FBQ3ZGLFFBQU0sV0FBVyxXQUFXLE9BQU87QUFDbkMsTUFBSSxDQUFDLFVBQVU7QUFDYixZQUFRLEtBQUsscUNBQXFDLE9BQU8sbUNBQW1DO0FBQzVGLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFFQSxRQUFNLGNBQWMsTUFBTSxhQUFhLENBQUMsT0FBTyxZQUFZLFVBQVUsY0FBYyxHQUFHLFVBQVUsR0FBRyxHQUFHO0FBQUEsSUFDcEcsU0FBUztBQUFBLElBQ1Qsc0JBQXNCO0FBQUEsRUFDeEIsQ0FBQztBQUNELFFBQU0sY0FBYyxjQUFjLEdBQUcsV0FBVyxLQUFLLFVBQVUsS0FBSztBQUNwRSxRQUFNLHVCQUF1QixNQUFNLGFBQWEsQ0FBQyxPQUFPLE9BQU8sYUFBYSxlQUFlLElBQUksR0FBRyxFQUFFLFNBQVMsS0FBSyxDQUFDO0FBQ25ILFFBQU0sYUFBYSxtQkFBbUIsRUFBRSxnQkFBZ0IscUJBQXFCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztBQUNwRyxRQUFNLGFBQWEsR0FB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
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWxlYXNlZC1pc3N1ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENsb3NlcyB0aGUgR2l0SHViIGlzc3VlcyBhIHJlbGVhc2UgY2Fycmllcywgd2l0aCBhIGNvbW1lbnQgbGlua2luZyB0aGUgcmVsZWFzZS5cbiAqXG4gKiBBbiBpc3N1ZSB0aGF0IGEgY29tbWl0IGluIHRoZSByZWxlYXNlIG5hbWVzIHdpdGggYSBjbG9zaW5nIGtleXdvcmQgKGBmaXhlcyAjMTJgLCBgY2xvc2VzICMxMmAsIGByZXNvbHZlcyAjMTJgLFxuICogYW5kIHRoZWlyIG90aGVyIHRlbnNlcykgaXMgY2xvc2VkIGFzIGNvbXBsZXRlZCwgd2l0aCBgRml4ZWQgaW4gPHJlbGVhc2UgVVJMPmAgd2hlbiBpdCBjYXJyaWVzIGEgYGJ1Z2AgbGFiZWwgYW5kXG4gKiBgSW1wbGVtZW50ZWQgaW4gPHJlbGVhc2UgVVJMPmAgb3RoZXJ3aXNlLiBUaGUgVVJMIGlzIHRoZSBgcmVsZWFzZXMvdGFnLzx2ZXJzaW9uPmAgcGFnZSwgd2hpY2ggZXhpc3RzIGJ5IHRoZSB0aW1lXG4gKiB0aGlzIHJ1bnMuXG4gKlxuICogT25seSBhIGNsb3Npbmcga2V5d29yZCBjbG9zZXMgYW55dGhpbmcuIEEgYmFyZSBtZW50aW9uIChgcmUgIzEyYCwgYCgjMTIpYCwgdGhlIGlzc3VlIFVSTCkgaXMgb2Z0ZW4gb25lIHN0ZXAgb2ZcbiAqIHVuZmluaXNoZWQgd29yaywgYW5kIHRoaXMgbW9kdWxlIGNhbm5vdCBrbm93IHdoZXRoZXIgdGhlIHJlc3QgaGFzIGxhbmRlZCwgc28gc3VjaCBhbiBpc3N1ZSBpcyBsaXN0ZWQgYXMgbGVmdCBvcGVuXG4gKiBhbmQgbm90aGluZyBpcyBwb3N0ZWQgdG8gaXQuXG4gKlxuICogR2l0SHViIGl0c2VsZiBjbG9zZXMgYW4gaXNzdWUgbmFtZWQgd2l0aCBhIGNsb3Npbmcga2V5d29yZCBhcyBzb29uIGFzIHRoZSBjb21taXQgcmVhY2hlcyB0aGUgZGVmYXVsdCBicmFuY2gg4oCUXG4gKiBiZWZvcmUgdGhlIHJlbGVhc2UsIGFuZCB3aXRob3V0IHNheWluZyB3aGljaCByZWxlYXNlIGNhcnJpZXMgdGhlIGNoYW5nZS4gU28gYW4gaXNzdWUgdGhhdCBpcyBhbHJlYWR5IGNsb3NlZCBhc1xuICogY29tcGxldGVkIHN0aWxsIGdldHMgdGhlIHJlbGVhc2UgbGluaywgdW5sZXNzIG9uZSBvZiBpdHMgY29tbWVudHMgYWxyZWFkeSBjYXJyaWVzIHRoaXMgcmVsZWFzZSdzIFVSTCwgd2hpY2ggYWxzb1xuICogbWFrZXMgYSBzZWNvbmQgcnVuIHBvc3Qgbm90aGluZy5cbiAqL1xuXG5pbXBvcnQgeyBlcnJvclRvU3RyaW5nIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Vycm9yJztcbmltcG9ydCB7XG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcblxuaW1wb3J0IHsgZXhlY0Zyb21Sb290IH0gZnJvbSAnLi9yb290LnRzJztcblxuLyoqXG4gKiBQYXJhbXMgZm9yIHtAbGluayBjbG9zZVJlbGVhc2VkSXNzdWVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG9zZVJlbGVhc2VkSXNzdWVzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIGp1c3QgcmVsZWFzZWQuIEl0cyB0YWcgbXVzdCBleGlzdCBsb2NhbGx5IGFuZCBpdHMgR2l0SHViIHJlbGVhc2UgbXVzdCBiZSBwdWJsaXNoZWQuXG4gICAqL1xuICByZWFkb25seSBuZXdWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZ2V0SXNzdWVSZWZlcmVuY2VzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRJc3N1ZVJlZmVyZW5jZXNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGNvbW1pdCBtZXNzYWdlcyB0byByZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWl0TWVzc2FnZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYDxvd25lcj4vPG5hbWU+YCBvZiB0aGUgcmVwb3NpdG9yeSB3aG9zZSBpc3N1ZXMgY291bnQuIEEgcmVmZXJlbmNlIGludG8gYW55IG90aGVyIHJlcG9zaXRvcnkgaXMgaWdub3JlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9TbHVnOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gaXNzdWUgbnVtYmVyIG5hbWVkIGJ5IHRoZSBjb21taXQgbWVzc2FnZXMgb2YgYSByZWxlYXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzc3VlUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYXQgbGVhc3Qgb25lIG1lbnRpb24gdXNlZCBhIGNsb3Npbmcga2V5d29yZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvc2luZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGlzc3VlIG9yIHB1bGwgcmVxdWVzdCBudW1iZXIuXG4gICAqL1xuICByZWFkb25seSBudW1iZXI6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEdpdEh1Yklzc3VlIHtcbiAgcmVhZG9ubHkgbGFiZWxzOiByZWFkb25seSBHaXRIdWJMYWJlbFtdO1xuICByZWFkb25seSBwdWxsX3JlcXVlc3Q/OiB1bmtub3duO1xuICByZWFkb25seSBzdGF0ZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZV9yZWFzb24/OiBudWxsIHwgc3RyaW5nO1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgR2l0SHViTGFiZWwge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2xvc2VzIHRoZSBpc3N1ZXMgdGhlIHJlbGVhc2Ugb2Yge0BsaW5rIENsb3NlUmVsZWFzZWRJc3N1ZXNQYXJhbXMubmV3VmVyc2lvbn0gY2FycmllcywgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlXG4gKiBvdmVydmlldy5cbiAqXG4gKiBBIGZhaWx1cmUgdG8gcmVhZCBvciB1cGRhdGUgb25lIGlzc3VlIGlzIHJlcG9ydGVkIGFuZCB0aGUgcmVzdCBhcmUgc3RpbGwgcHJvY2Vzc2VkLCBiZWNhdXNlIHRoZSByZWxlYXNlIGlzXG4gKiBhbHJlYWR5IHB1Ymxpc2hlZCBieSB0aGUgdGltZSB0aGlzIHJ1bnMgYW5kIG5vdGhpbmcgYWJvdXQgaXQgY2FuIGJlIHVuZG9uZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBDbG9zZVJlbGVhc2VkSXNzdWVzUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG51bWJlcnMgb2YgdGhlIGlzc3VlcyB0aGF0IGNvdWxkIG5vdCBiZSBwcm9jZXNzZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbG9zZVJlbGVhc2VkSXNzdWVzKHBhcmFtczogQ2xvc2VSZWxlYXNlZElzc3Vlc1BhcmFtcyk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgY29uc3QgeyBuZXdWZXJzaW9uIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHJlcG9VcmwgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2doIHJlcG8gdmlldyAtLWpzb24gdXJsIC1xIC51cmwnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IHJlcG9TbHVnID0gdG9SZXBvU2x1ZyhyZXBvVXJsKTtcbiAgaWYgKCFyZXBvU2x1Zykge1xuICAgIGNvbnNvbGUud2FybihgTm90IGNsb3NpbmcgdGhlIHJlbGVhc2VkIGlzc3VlczogJyR7cmVwb1VybH0nIGlzIG5vdCBhIEdpdEh1YiByZXBvc2l0b3J5IFVSTC5gKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwcmV2aW91c1RhZyA9IGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2dpdCcsICdkZXNjcmliZScsICctLXRhZ3MnLCAnLS1hYmJyZXY9MCcsIGAke25ld1ZlcnNpb259XmBdLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgY29tbWl0UmFuZ2UgPSBwcmV2aW91c1RhZyA/IGAke3ByZXZpb3VzVGFnfS4uJHtuZXdWZXJzaW9ufWAgOiBuZXdWZXJzaW9uO1xuICBjb25zdCBjb21taXRNZXNzYWdlc1N0cmluZyA9IGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2dpdCcsICdsb2cnLCBjb21taXRSYW5nZSwgJy0tZm9ybWF0PSVCJywgJy16J10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgY29uc3QgcmVmZXJlbmNlcyA9IGdldElzc3VlUmVmZXJlbmNlcyh7IGNvbW1pdE1lc3NhZ2VzOiBjb21taXRNZXNzYWdlc1N0cmluZy5zcGxpdCgnXFwwJyksIHJlcG9TbHVnIH0pO1xuICBjb25zdCByZWxlYXNlVXJsID0gYCR7cmVwb1VybH0vcmVsZWFzZXMvdGFnLyR7bmV3VmVyc2lvbn1gO1xuICBjb25zdCBmYWlsZWROdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBjb25zdCBsZWZ0T3BlbkxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaXNzdWUgPSBKU09OLnBhcnNlKGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ2FwaScsIGByZXBvcy8ke3JlcG9TbHVnfS9pc3N1ZXMvJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9YF0sIHsgaXNRdWlldDogdHJ1ZSB9KSkgYXMgR2l0SHViSXNzdWU7XG4gICAgICBpZiAoaXNzdWUucHVsbF9yZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbW1lbnQgPSBgJHtpc3N1ZS5sYWJlbHMuc29tZSgobGFiZWwpID0+IC9idWcvaS50ZXN0KGxhYmVsLm5hbWUpKSA/ICdGaXhlZCBpbicgOiAnSW1wbGVtZW50ZWQgaW4nfSAke3JlbGVhc2VVcmx9YDtcbiAgICAgIGNvbnN0IGlzT3BlbiA9IGlzc3VlLnN0YXRlID09PSAnb3Blbic7XG5cbiAgICAgIGlmICghcmVmZXJlbmNlLmlzQ2xvc2luZykge1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgbGVmdE9wZW5MaW5lcy5wdXNoKGAgICMke1N0cmluZyhyZWZlcmVuY2UubnVtYmVyKX0gJHtpc3N1ZS50aXRsZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaCcsICdpc3N1ZScsICdjbG9zZScsIFN0cmluZyhyZWZlcmVuY2UubnVtYmVyKSwgJy1SJywgcmVwb1NsdWcsICctLXJlYXNvbicsICdjb21wbGV0ZWQnLCAnLS1jb21tZW50JywgY29tbWVudF0sIHtcbiAgICAgICAgICBpc1F1aWV0OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLndhcm4oYENsb3NlZCAjJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9ICR7aXNzdWUudGl0bGV9OiAke2NvbW1lbnR9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNzdWUuc3RhdGVfcmVhc29uICE9PSAnY29tcGxldGVkJyB8fCBhd2FpdCBoYXNDb21tZW50Q29udGFpbmluZyhyZXBvU2x1ZywgcmVmZXJlbmNlLm51bWJlciwgcmVsZWFzZVVybCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ2lzc3VlJywgJ2NvbW1lbnQnLCBTdHJpbmcocmVmZXJlbmNlLm51bWJlciksICctUicsIHJlcG9TbHVnLCAnLS1ib2R5JywgY29tbWVudF0sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICAgIGNvbnNvbGUud2FybihgQ29tbWVudGVkIG9uIHRoZSBhbHJlYWR5IGNsb3NlZCAjJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9ICR7aXNzdWUudGl0bGV9OiAke2NvbW1lbnR9YCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGZhaWxlZE51bWJlcnMucHVzaChyZWZlcmVuY2UubnVtYmVyKTtcbiAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IHByb2Nlc3MgaXNzdWUgIyR7U3RyaW5nKHJlZmVyZW5jZS5udW1iZXIpfSBvZiAke3JlcG9TbHVnfTogJHtlcnJvclRvU3RyaW5nKGVycm9yKX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAobGVmdE9wZW5MaW5lcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYExlZnQgb3BlbjogdGhlIHJlbGVhc2UgbmFtZXMgdGhlc2UgaXNzdWVzIHdpdGhvdXQgYSBjbG9zaW5nIGtleXdvcmQsIHNvIHdoZXRoZXIgdGhleSBhcmUgZmluaXNoZWQgaXMgbm90IGtub3duIGhlcmU6XFxuJHtsZWZ0T3BlbkxpbmVzLmpvaW4oJ1xcbicpfWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGZhaWxlZE51bWJlcnM7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIGlzc3VlIG51bWJlcnMgb2Ygb25lIHJlcG9zaXRvcnkgdGhhdCBhIHNldCBvZiBjb21taXQgbWVzc2FnZXMgbmFtZXMsIGFuZCB3aGV0aGVyIGVhY2ggd2FzIG5hbWVkIHdpdGhcbiAqIGEgY2xvc2luZyBrZXl3b3JkLlxuICpcbiAqIFRocmVlIGZvcm1zIGNvdW50OiBhIGJhcmUgYCMxMmAsIGA8b3duZXI+LzxuYW1lPiMxMmAsIGFuZCB0aGUgcmVwb3NpdG9yeSdzIGBpc3N1ZXMvMTJgIG9yIGBwdWxsLzEyYCBVUkwuIEEgYmFyZVxuICogYCMxMmAgZ2x1ZWQgdG8gYSBwcmVjZWRpbmcgdG9rZW4gKGBvdGhlciMxMmAsIGBvdGhlci9yZXBvIzEyYCwgYCYjMTJgKSBkb2VzIG5vdC4gQSBtZW50aW9uIGlzIGNsb3Npbmcgd2hlblxuICogR2l0SHViJ3Mgb3duIGNsb3Npbmcga2V5d29yZCBwcmVjZWRlcyBpdCBkaXJlY3RseTogYGNsb3NlYCwgYGNsb3Nlc2AsIGBjbG9zZWRgLCBgZml4YCwgYGZpeGVzYCwgYGZpeGVkYCxcbiAqIGByZXNvbHZlYCwgYHJlc29sdmVzYCBvciBgcmVzb2x2ZWRgLCBpbiBhbnkgY2FzZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGNvbG9uLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEdldElzc3VlUmVmZXJlbmNlc1BhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgcmVmZXJlbmNlcywgc29ydGVkIGJ5IG51bWJlciwgb25lIHBlciBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJc3N1ZVJlZmVyZW5jZXMocGFyYW1zOiBHZXRJc3N1ZVJlZmVyZW5jZXNQYXJhbXMpOiBJc3N1ZVJlZmVyZW5jZVtdIHtcbiAgY29uc3QgeyBjb21taXRNZXNzYWdlcywgcmVwb1NsdWcgfSA9IHBhcmFtcztcbiAgY29uc3QgZXNjYXBlZFNsdWcgPSBlc2NhcGVSZWdFeHAocmVwb1NsdWcpO1xuICBjb25zdCByZWdFeHAgPSBuZXcgUmVnRXhwKFxuICAgIFN0cmluZy5yYXdgKD88a2V5d29yZD5cXGIoPzpjbG9zZVtzZF0/fGZpeCg/OmVbc2RdKT98cmVzb2x2ZVtzZF0/KTo/XFxzKyk/KD86aHR0cHM/Oi8vZ2l0aHViXFwuY29tLyR7ZXNjYXBlZFNsdWd9Lyg/Omlzc3Vlc3xwdWxsKS8oPzx1cmxOdW1iZXI+XFxkKyl8KD88IVtcXHcuLV0pJHtlc2NhcGVkU2x1Z30jKD88c2x1Z051bWJlcj5cXGQrKVxcYnwoPzwhW1xcdy8mIy4tXSkjKD88YmFyZU51bWJlcj5cXGR7MSw2fSlcXGIpYCxcbiAgICAnZ2knXG4gICk7XG4gIGNvbnN0IGNsb3NpbmdGbGFnQnlOdW1iZXIgPSBuZXcgTWFwPG51bWJlciwgYm9vbGVhbj4oKTtcblxuICBmb3IgKGNvbnN0IGNvbW1pdE1lc3NhZ2Ugb2YgY29tbWl0TWVzc2FnZXMpIHtcbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGNvbW1pdE1lc3NhZ2UubWF0Y2hBbGwocmVnRXhwKSkge1xuICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKFxuICAgICAgICBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICd1cmxOdW1iZXInKSA/PyBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICdzbHVnTnVtYmVyJykgPz8gZ2V0T3B0aW9uYWxOYW1lZEdyb3VwKG1hdGNoLCAnYmFyZU51bWJlcicpXG4gICAgICApO1xuICAgICAgY2xvc2luZ0ZsYWdCeU51bWJlci5zZXQobnVtYmVyLCAoY2xvc2luZ0ZsYWdCeU51bWJlci5nZXQobnVtYmVyKSA/PyBmYWxzZSkgfHwgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwKG1hdGNoLCAna2V5d29yZCcpICE9PSBudWxsKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gWy4uLmNsb3NpbmdGbGFnQnlOdW1iZXJdXG4gICAgLnNvcnQoKFtudW1iZXIxXSwgW251bWJlcjJdKSA9PiBudW1iZXIxIC0gbnVtYmVyMilcbiAgICAubWFwKChbbnVtYmVyLCBpc0Nsb3NpbmddKSA9PiAoeyBpc0Nsb3NpbmcsIG51bWJlciB9KSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0NvbW1lbnRDb250YWluaW5nKHJlcG9TbHVnOiBzdHJpbmcsIGlzc3VlTnVtYmVyOiBudW1iZXIsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBib2RpZXMgPSBhd2FpdCBleGVjRnJvbVJvb3QoWydnaCcsICdhcGknLCAnLS1wYWdpbmF0ZScsIGByZXBvcy8ke3JlcG9TbHVnfS9pc3N1ZXMvJHtTdHJpbmcoaXNzdWVOdW1iZXIpfS9jb21tZW50c2AsICctLWpxJywgJy5bXS5ib2R5J10sIHtcbiAgICBpc1F1aWV0OiB0cnVlXG4gIH0pO1xuICByZXR1cm4gYm9kaWVzLmluY2x1ZGVzKHRleHQpO1xufVxuXG5mdW5jdGlvbiB0b1JlcG9TbHVnKHJlcG9Vcmw6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICBjb25zdCBtYXRjaCA9IC9eaHR0cHM6XFwvXFwvZ2l0aHViXFwuY29tXFwvKD88c2x1Zz5bXi9dK1xcL1teL10rPylcXC8/JC8uZXhlYyhyZXBvVXJsKTtcbiAgcmV0dXJuIG1hdGNoPy5ncm91cHM/Llsnc2x1ZyddID8/IG51bGw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLFNBQVMscUJBQXFCO0FBQzlCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxvQkFBb0I7QUFnRTdCLGVBQXNCLG9CQUFvQixRQUFzRDtBQUM5RixRQUFNLEVBQUUsV0FBVyxJQUFJO0FBQ3ZCLFFBQU0sVUFBVSxNQUFNLGFBQWEsbUNBQW1DLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFDdkYsUUFBTSxXQUFXLFdBQVcsT0FBTztBQUNuQyxNQUFJLENBQUMsVUFBVTtBQUNiLFlBQVEsS0FBSyxxQ0FBcUMsT0FBTyxtQ0FBbUM7QUFDNUYsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUVBLFFBQU0sY0FBYyxNQUFNLGFBQWEsQ0FBQyxPQUFPLFlBQVksVUFBVSxjQUFjLEdBQUcsVUFBVSxHQUFHLEdBQUc7QUFBQSxJQUNwRyxTQUFTO0FBQUEsSUFDVCxzQkFBc0I7QUFBQSxFQUN4QixDQUFDO0FBQ0QsUUFBTSxjQUFjLGNBQWMsR0FBRyxXQUFXLEtBQUssVUFBVSxLQUFLO0FBQ3BFLFFBQU0sdUJBQXVCLE1BQU0sYUFBYSxDQUFDLE9BQU8sT0FBTyxhQUFhLGVBQWUsSUFBSSxHQUFHLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFDbkgsUUFBTSxhQUFhLG1CQUFtQixFQUFFLGdCQUFnQixxQkFBcUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO0FBQ3BHLFFBQU0sYUFBYSxHQUFHLE9BQU8saUJBQWlCLFVBQVU7QUFDeEQsUUFB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
|