obsidian-integration-testing 9.2.2 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -45
- package/dist/lib/cjs/appium-dependencies.cjs +5 -5
- package/dist/lib/cjs/appium-dependencies.d.cts +4 -2
- package/dist/lib/cjs/appium-session-config.cjs +1 -1
- package/dist/lib/cjs/asar-fallback-detection.cjs +4 -4
- package/dist/lib/cjs/asar-fallback-detection.d.cts +15 -7
- package/dist/lib/cjs/avd-list.cjs +1 -1
- package/dist/lib/cjs/avd-list.d.cts +6 -2
- package/dist/lib/cjs/cli.cjs +4 -4
- package/dist/lib/cjs/compatibility-options.cjs +13 -13
- package/dist/lib/cjs/compatibility-options.d.cts +24 -12
- package/dist/lib/cjs/connect-to-cdp.cjs +4 -4
- package/dist/lib/cjs/connect-to-cdp.d.cts +6 -6
- package/dist/lib/cjs/context-id.cjs +5 -5
- package/dist/lib/cjs/context-id.d.cts +1 -1
- package/dist/lib/cjs/context-provider.cjs +5 -5
- package/dist/lib/cjs/context-provider.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-populate.cjs +5 -5
- package/dist/lib/cjs/demo-vault-populate.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-tree.cjs +4 -4
- package/dist/lib/cjs/demo-vault-tree.d.cts +3 -3
- package/dist/lib/cjs/device-readiness.cjs +3 -3
- package/dist/lib/cjs/device-readiness.d.cts +7 -3
- package/dist/lib/cjs/ecmascript-version.cjs +1 -1
- package/dist/lib/cjs/electron-compatibility.cjs +4 -4
- package/dist/lib/cjs/electron-compatibility.d.cts +33 -17
- package/dist/lib/cjs/emulator-arguments.cjs +36 -0
- package/dist/lib/{esm/emulator-args.d.mts → cjs/emulator-arguments.d.cts} +6 -4
- package/dist/lib/cjs/enable-plugin.cjs +29 -29
- package/dist/lib/cjs/enable-plugin.d.cts +6 -6
- package/dist/lib/cjs/eval-in-obsidian.cjs +9 -9
- package/dist/lib/cjs/eval-in-obsidian.d.cts +23 -23
- package/dist/lib/cjs/exec.cjs +49 -53
- package/dist/lib/cjs/exec.d.cts +9 -9
- package/dist/lib/cjs/function-expression.cjs +8 -8
- package/dist/lib/cjs/function-expression.d.cts +4 -4
- package/dist/lib/cjs/generate-function-call.cjs +6 -6
- package/dist/lib/cjs/generate-function-call.d.cts +15 -9
- package/dist/lib/cjs/global-setup-core.cjs +43 -43
- package/dist/lib/cjs/global-setup-core.d.cts +19 -9
- package/dist/lib/cjs/incompatible-installer-version-error.cjs +10 -4
- package/dist/lib/cjs/incompatible-installer-version-error.d.cts +18 -6
- package/dist/lib/cjs/index.cjs +10 -10
- package/dist/lib/cjs/index.d.cts +8 -8
- package/dist/lib/cjs/installer-asset.cjs +4 -4
- package/dist/lib/cjs/installer-asset.d.cts +21 -7
- package/dist/lib/cjs/installer-compatibility.cjs +4 -4
- package/dist/lib/cjs/installer-compatibility.d.cts +36 -18
- package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +1 -1
- package/dist/lib/cjs/jest/global-setup.cjs +11 -11
- package/dist/lib/cjs/jest/global-setup.d.cts +12 -8
- package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +1 -2
- package/dist/lib/cjs/jest/global-teardown.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown.d.cts +1 -2
- package/dist/lib/cjs/jest/setup.cjs +2 -2
- package/dist/lib/cjs/jest/setup.d.cts +1 -1
- package/dist/lib/cjs/json-with-functions.cjs +7 -7
- package/dist/lib/cjs/leftover-cleanup.cjs +14 -14
- package/dist/lib/cjs/leftover-cleanup.d.cts +42 -20
- package/dist/lib/cjs/library.cjs +2 -2
- package/dist/lib/cjs/namespace-bootstrap.cjs +46 -40
- package/dist/lib/cjs/native-dialog-monitor.cjs +15 -13
- package/dist/lib/cjs/normalize-optional-properties.cjs +3 -3
- package/dist/lib/cjs/normalize-optional-properties.d.cts +2 -2
- package/dist/lib/cjs/obsidian-config.cjs +30 -31
- package/dist/lib/cjs/obsidian-config.d.cts +8 -8
- package/dist/lib/cjs/obsidian-executable.cjs +2 -2
- package/dist/lib/cjs/obsidian-installer.cjs +37 -37
- package/dist/lib/cjs/obsidian-installer.d.cts +7 -3
- package/dist/lib/cjs/obsidian-instance.cjs +3 -3
- package/dist/lib/cjs/obsidian-instance.d.cts +18 -8
- package/dist/lib/cjs/obsidian-metadata.cjs +1 -1
- package/dist/lib/cjs/obsidian-metadata.d.cts +36 -12
- package/dist/lib/cjs/obsidian-namespace.cjs +1 -1
- package/dist/lib/cjs/obsidian-namespace.d.cts +25 -11
- package/dist/lib/cjs/obsidian-version-switch.cjs +9 -9
- package/dist/lib/cjs/obsidian-version-switch.d.cts +14 -10
- package/dist/lib/cjs/obsidian-version.cjs +3 -3
- package/dist/lib/cjs/obsidian-version.d.cts +15 -5
- package/dist/lib/cjs/owned-vault-seed.cjs +1 -1
- package/dist/lib/cjs/owned-vault-seed.d.cts +24 -8
- package/dist/lib/cjs/parent-liveness.cjs +4 -4
- package/dist/lib/cjs/parent-liveness.d.cts +7 -3
- package/dist/lib/cjs/poll-in-obsidian.cjs +5 -5
- package/dist/lib/cjs/poll-in-obsidian.d.cts +12 -12
- package/dist/lib/cjs/poll-until.cjs +1 -1
- package/dist/lib/cjs/poll-until.d.cts +21 -7
- package/dist/lib/cjs/process-exit-message.cjs +1 -1
- package/dist/lib/cjs/process-exit-message.d.cts +21 -7
- package/dist/lib/cjs/renderer-boot-detection.cjs +9 -9
- package/dist/lib/cjs/renderer-boot-detection.d.cts +31 -27
- package/dist/lib/cjs/renderer-failed-to-initialize-error.cjs +1 -1
- package/dist/lib/cjs/renderer-failed-to-initialize-error.d.cts +1 -1
- package/dist/lib/cjs/setup-lock.cjs +26 -26
- package/dist/lib/cjs/setup-lock.d.cts +6 -2
- package/dist/lib/cjs/silent-asar-fallback-error.cjs +7 -3
- package/dist/lib/cjs/silent-asar-fallback-error.d.cts +12 -4
- package/dist/lib/cjs/spawn-options.cjs +1 -1
- package/dist/lib/cjs/spawn-options.d.cts +3 -1
- package/dist/lib/cjs/strict-proxy.cjs +25 -25
- package/dist/lib/cjs/strict-proxy.d.cts +3 -3
- package/dist/lib/cjs/temporary-vault.cjs +166 -0
- package/dist/lib/cjs/{temp-vault.d.cts → temporary-vault.d.cts} +3 -3
- package/dist/lib/cjs/transport-appium.cjs +7 -7
- package/dist/lib/cjs/transport-appium.d.cts +7 -3
- package/dist/lib/cjs/transport-desktop-cdp.cjs +57 -57
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +29 -17
- package/dist/lib/cjs/transport-factory.cjs +62 -63
- package/dist/lib/cjs/type-guards.cjs +3 -3
- package/dist/lib/cjs/type-guards.d.cts +2 -2
- package/dist/lib/cjs/vault-path-match.cjs +9 -9
- package/dist/lib/cjs/vault-path-match.d.cts +11 -11
- package/dist/lib/cjs/version-matrix.cjs +1 -1
- package/dist/lib/cjs/version-matrix.d.cts +51 -17
- package/dist/lib/cjs/visibility.cjs +7 -7
- package/dist/lib/cjs/visibility.d.cts +5 -5
- package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +2 -2
- package/dist/lib/cjs/vitest/global-setup.cjs +9 -9
- package/dist/lib/cjs/vitest/global-setup.d.cts +4 -4
- package/dist/lib/cjs/vitest/setup.cjs +2 -2
- package/dist/lib/cjs/vitest/typings.d.cts +2 -2
- package/dist/lib/esm/appium-dependencies.d.mts +4 -2
- package/dist/lib/esm/appium-dependencies.mjs +4 -4
- package/dist/lib/esm/appium-session-config.mjs +1 -1
- package/dist/lib/esm/asar-fallback-detection.d.mts +15 -7
- package/dist/lib/esm/asar-fallback-detection.mjs +3 -3
- package/dist/lib/esm/avd-list.d.mts +6 -2
- package/dist/lib/esm/avd-list.mjs +1 -1
- package/dist/lib/esm/cli.mjs +4 -4
- package/dist/lib/esm/compatibility-options.d.mts +24 -12
- package/dist/lib/esm/compatibility-options.mjs +10 -10
- package/dist/lib/esm/connect-to-cdp.d.mts +6 -6
- package/dist/lib/esm/connect-to-cdp.mjs +6 -6
- package/dist/lib/esm/context-id.d.mts +1 -1
- package/dist/lib/esm/context-id.mjs +5 -5
- package/dist/lib/esm/context-provider.d.mts +4 -4
- package/dist/lib/esm/context-provider.mjs +5 -5
- package/dist/lib/esm/demo-vault-populate.d.mts +4 -4
- package/dist/lib/esm/demo-vault-populate.mjs +5 -5
- package/dist/lib/esm/demo-vault-tree.d.mts +3 -3
- package/dist/lib/esm/demo-vault-tree.mjs +4 -4
- package/dist/lib/esm/device-readiness.d.mts +7 -3
- package/dist/lib/esm/device-readiness.mjs +3 -3
- package/dist/lib/esm/ecmascript-version.mjs +1 -1
- package/dist/lib/esm/electron-compatibility.d.mts +33 -17
- package/dist/lib/esm/electron-compatibility.mjs +3 -3
- package/dist/lib/{cjs/emulator-args.d.cts → esm/emulator-arguments.d.mts} +6 -4
- package/dist/lib/esm/emulator-arguments.mjs +12 -0
- package/dist/lib/esm/enable-plugin.d.mts +6 -6
- package/dist/lib/esm/enable-plugin.mjs +29 -29
- package/dist/lib/esm/eval-in-obsidian.d.mts +23 -23
- package/dist/lib/esm/eval-in-obsidian.mjs +9 -9
- package/dist/lib/esm/exec.d.mts +9 -9
- package/dist/lib/esm/exec.mjs +49 -53
- package/dist/lib/esm/function-expression.d.mts +4 -4
- package/dist/lib/esm/function-expression.mjs +8 -8
- package/dist/lib/esm/generate-function-call.d.mts +15 -9
- package/dist/lib/esm/generate-function-call.mjs +6 -6
- package/dist/lib/esm/global-setup-core.d.mts +19 -9
- package/dist/lib/esm/global-setup-core.mjs +45 -45
- package/dist/lib/esm/incompatible-installer-version-error.d.mts +18 -6
- package/dist/lib/esm/incompatible-installer-version-error.mjs +10 -4
- package/dist/lib/esm/index.d.mts +8 -8
- package/dist/lib/esm/index.mjs +9 -9
- package/dist/lib/esm/installer-asset.d.mts +21 -7
- package/dist/lib/esm/installer-asset.mjs +4 -4
- package/dist/lib/esm/installer-compatibility.d.mts +36 -18
- package/dist/lib/esm/installer-compatibility.mjs +3 -3
- package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +1 -1
- package/dist/lib/esm/jest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/jest/global-setup.d.mts +12 -8
- package/dist/lib/esm/jest/global-setup.mjs +10 -10
- package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +2 -3
- package/dist/lib/esm/jest/global-teardown.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown.mjs +2 -3
- package/dist/lib/esm/jest/setup.d.mts +1 -1
- package/dist/lib/esm/jest/setup.mjs +2 -2
- package/dist/lib/esm/json-with-functions.mjs +7 -7
- package/dist/lib/esm/leftover-cleanup.d.mts +42 -20
- package/dist/lib/esm/leftover-cleanup.mjs +12 -12
- package/dist/lib/esm/library.mjs +2 -2
- package/dist/lib/esm/namespace-bootstrap.mjs +46 -40
- package/dist/lib/esm/native-dialog-monitor.mjs +15 -13
- package/dist/lib/esm/normalize-optional-properties.d.mts +2 -2
- package/dist/lib/esm/normalize-optional-properties.mjs +3 -3
- package/dist/lib/esm/obsidian-config.d.mts +8 -8
- package/dist/lib/esm/obsidian-config.mjs +27 -28
- package/dist/lib/esm/obsidian-executable.mjs +2 -2
- package/dist/lib/esm/obsidian-installer.d.mts +7 -3
- package/dist/lib/esm/obsidian-installer.mjs +36 -36
- package/dist/lib/esm/obsidian-instance.d.mts +18 -8
- package/dist/lib/esm/obsidian-instance.mjs +3 -3
- package/dist/lib/esm/obsidian-metadata.d.mts +36 -12
- package/dist/lib/esm/obsidian-metadata.mjs +1 -1
- package/dist/lib/esm/obsidian-namespace.d.mts +25 -11
- package/dist/lib/esm/obsidian-version-switch.d.mts +14 -10
- package/dist/lib/esm/obsidian-version-switch.mjs +9 -9
- package/dist/lib/esm/obsidian-version.d.mts +15 -5
- package/dist/lib/esm/obsidian-version.mjs +3 -3
- package/dist/lib/esm/owned-vault-seed.d.mts +24 -8
- package/dist/lib/esm/owned-vault-seed.mjs +1 -1
- package/dist/lib/esm/parent-liveness.d.mts +7 -3
- package/dist/lib/esm/parent-liveness.mjs +3 -3
- package/dist/lib/esm/poll-in-obsidian.d.mts +12 -12
- package/dist/lib/esm/poll-in-obsidian.mjs +5 -5
- package/dist/lib/esm/poll-until.d.mts +21 -7
- package/dist/lib/esm/poll-until.mjs +1 -1
- package/dist/lib/esm/process-exit-message.d.mts +21 -7
- package/dist/lib/esm/process-exit-message.mjs +1 -1
- package/dist/lib/esm/renderer-boot-detection.d.mts +31 -27
- package/dist/lib/esm/renderer-boot-detection.mjs +7 -7
- package/dist/lib/esm/renderer-failed-to-initialize-error.d.mts +1 -1
- package/dist/lib/esm/renderer-failed-to-initialize-error.mjs +1 -1
- package/dist/lib/esm/setup-lock.d.mts +6 -2
- package/dist/lib/esm/setup-lock.mjs +26 -26
- package/dist/lib/esm/silent-asar-fallback-error.d.mts +12 -4
- package/dist/lib/esm/silent-asar-fallback-error.mjs +7 -3
- package/dist/lib/esm/spawn-options.d.mts +3 -1
- package/dist/lib/esm/spawn-options.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +3 -3
- package/dist/lib/esm/strict-proxy.mjs +25 -25
- package/dist/lib/esm/{temp-vault.d.mts → temporary-vault.d.mts} +3 -3
- package/dist/lib/esm/temporary-vault.mjs +157 -0
- package/dist/lib/esm/transport-appium.d.mts +7 -3
- package/dist/lib/esm/transport-appium.mjs +7 -7
- package/dist/lib/esm/transport-desktop-cdp.d.mts +29 -17
- package/dist/lib/esm/transport-desktop-cdp.mjs +67 -67
- package/dist/lib/esm/transport-factory.mjs +71 -72
- package/dist/lib/esm/type-guards.d.mts +2 -2
- package/dist/lib/esm/type-guards.mjs +3 -3
- package/dist/lib/esm/vault-path-match.d.mts +11 -11
- package/dist/lib/esm/vault-path-match.mjs +7 -7
- package/dist/lib/esm/version-matrix.d.mts +51 -17
- package/dist/lib/esm/version-matrix.mjs +1 -1
- package/dist/lib/esm/visibility.d.mts +5 -5
- package/dist/lib/esm/visibility.mjs +5 -5
- package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +2 -2
- package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/vitest/global-setup.d.mts +4 -4
- package/dist/lib/esm/vitest/global-setup.mjs +8 -8
- package/dist/lib/esm/vitest/setup.mjs +2 -2
- package/dist/lib/esm/vitest/typings.d.mts +2 -2
- package/dist/obsidian-integration-testing-10.0.0.tgz +0 -0
- package/package.json +15 -13
- package/dist/lib/cjs/emulator-args.cjs +0 -36
- package/dist/lib/cjs/temp-vault.cjs +0 -166
- package/dist/lib/esm/emulator-args.mjs +0 -12
- package/dist/lib/esm/temp-vault.mjs +0 -157
- package/dist/obsidian-integration-testing-9.2.2.tgz +0 -0
|
@@ -14,11 +14,17 @@
|
|
|
14
14
|
* Parameters for the {@link IncompatibleInstallerVersionError} constructor.
|
|
15
15
|
*/
|
|
16
16
|
export interface IncompatibleInstallerVersionErrorConstructorParams {
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
The resolved Obsidian app (asar) version that was requested.
|
|
19
|
+
*/
|
|
18
20
|
readonly appVersion: string;
|
|
19
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
The resolved installer/Electron shell version that is too old to run it.
|
|
23
|
+
*/
|
|
20
24
|
readonly installerVersion: string;
|
|
21
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
The oldest installer version that can boot {@link appVersion}.
|
|
27
|
+
*/
|
|
22
28
|
readonly minRunnableInstallerVersion: string;
|
|
23
29
|
}
|
|
24
30
|
/**
|
|
@@ -28,11 +34,17 @@ export interface IncompatibleInstallerVersionErrorConstructorParams {
|
|
|
28
34
|
* actionable remedy.
|
|
29
35
|
*/
|
|
30
36
|
export declare class IncompatibleInstallerVersionError extends Error {
|
|
31
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
The resolved Obsidian app (asar) version that was requested.
|
|
39
|
+
*/
|
|
32
40
|
readonly appVersion: string;
|
|
33
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
The resolved installer/Electron shell version that is too old to run it.
|
|
43
|
+
*/
|
|
34
44
|
readonly installerVersion: string;
|
|
35
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
The oldest installer version that can boot {@link appVersion}.
|
|
47
|
+
*/
|
|
36
48
|
readonly minRunnableInstallerVersion: string;
|
|
37
49
|
/**
|
|
38
50
|
* Creates the error from the resolved versions and the run floor.
|
package/dist/lib/cjs/index.cjs
CHANGED
|
@@ -27,11 +27,8 @@ __export(index_exports, {
|
|
|
27
27
|
PUBLIC_LATEST: () => import_obsidian_version.PUBLIC_LATEST,
|
|
28
28
|
RendererFailedToInitializeError: () => import_renderer_failed_to_initialize_error.RendererFailedToInitializeError,
|
|
29
29
|
SilentAsarFallbackError: () => import_silent_asar_fallback_error.SilentAsarFallbackError,
|
|
30
|
-
|
|
30
|
+
TemporaryVault: () => import_temporary_vault.TemporaryVault,
|
|
31
31
|
buildDemoVaultPopulate: () => import_demo_vault_populate.buildDemoVaultPopulate,
|
|
32
|
-
checkAsarFallback: () => import_asar_fallback_detection.checkAsarFallback,
|
|
33
|
-
checkElectronCompatibility: () => import_electron_compatibility.checkElectronCompatibility,
|
|
34
|
-
checkInstallerCompatibility: () => import_installer_compatibility.checkInstallerCompatibility,
|
|
35
32
|
connectToCdp: () => import_connect_to_cdp.connectToCdp,
|
|
36
33
|
createTransportFromOptions: () => import_transport_factory.createTransportFromOptions,
|
|
37
34
|
evalInObsidian: () => import_eval_in_obsidian.evalInObsidian,
|
|
@@ -40,6 +37,9 @@ __export(index_exports, {
|
|
|
40
37
|
readDemoVaultTree: () => import_demo_vault_tree.readDemoVaultTree,
|
|
41
38
|
registerLibResolver: () => import_lib_registry.registerLibResolver,
|
|
42
39
|
registerVault: () => import_vault_registry.registerVault,
|
|
40
|
+
resolveAsarFallback: () => import_asar_fallback_detection.resolveAsarFallback,
|
|
41
|
+
resolveElectronCompatibility: () => import_electron_compatibility.resolveElectronCompatibility,
|
|
42
|
+
resolveInstallerCompatibility: () => import_installer_compatibility.resolveInstallerCompatibility,
|
|
43
43
|
runObsidianVersionMatrix: () => import_run_version_matrix.runObsidianVersionMatrix,
|
|
44
44
|
setTransportOptionsResolver: () => import_context_provider.setTransportOptionsResolver,
|
|
45
45
|
setVaultPathResolver: () => import_context_provider.setVaultPathResolver,
|
|
@@ -63,7 +63,7 @@ var import_poll_in_obsidian = require("./poll-in-obsidian.cjs");
|
|
|
63
63
|
var import_renderer_failed_to_initialize_error = require("./renderer-failed-to-initialize-error.cjs");
|
|
64
64
|
var import_run_version_matrix = require("./run-version-matrix.cjs");
|
|
65
65
|
var import_silent_asar_fallback_error = require("./silent-asar-fallback-error.cjs");
|
|
66
|
-
var
|
|
66
|
+
var import_temporary_vault = require("./temporary-vault.cjs");
|
|
67
67
|
var import_transport_appium = require("./transport-appium.cjs");
|
|
68
68
|
var import_transport_desktop_cdp = require("./transport-desktop-cdp.cjs");
|
|
69
69
|
var import_transport_factory = require("./transport-factory.cjs");
|
|
@@ -80,11 +80,8 @@ var import_version_matrix = require("./version-matrix.cjs");
|
|
|
80
80
|
PUBLIC_LATEST,
|
|
81
81
|
RendererFailedToInitializeError,
|
|
82
82
|
SilentAsarFallbackError,
|
|
83
|
-
|
|
83
|
+
TemporaryVault,
|
|
84
84
|
buildDemoVaultPopulate,
|
|
85
|
-
checkAsarFallback,
|
|
86
|
-
checkElectronCompatibility,
|
|
87
|
-
checkInstallerCompatibility,
|
|
88
85
|
connectToCdp,
|
|
89
86
|
createTransportFromOptions,
|
|
90
87
|
evalInObsidian,
|
|
@@ -93,9 +90,12 @@ var import_version_matrix = require("./version-matrix.cjs");
|
|
|
93
90
|
readDemoVaultTree,
|
|
94
91
|
registerLibResolver,
|
|
95
92
|
registerVault,
|
|
93
|
+
resolveAsarFallback,
|
|
94
|
+
resolveElectronCompatibility,
|
|
95
|
+
resolveInstallerCompatibility,
|
|
96
96
|
runObsidianVersionMatrix,
|
|
97
97
|
setTransportOptionsResolver,
|
|
98
98
|
setVaultPathResolver,
|
|
99
99
|
unregisterVault
|
|
100
100
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdGluZyBtb2R1bGUuXG4gKi9cblxuZXhwb3J0IHR5cGUge1xuICBBc2FyRmFsbGJhY2ssXG4gIEFzYXJGYWxsYmFja1RpZXIsXG4gIFJlc29sdmVBc2FyRmFsbGJhY2tQYXJhbXNcbn0gZnJvbSAnLi9hc2FyLWZhbGxiYWNrLWRldGVjdGlvbi5janMnO1xuZXhwb3J0IHsgcmVzb2x2ZUFzYXJGYWxsYmFjayB9IGZyb20gJy4vYXNhci1mYWxsYmFjay1kZXRlY3Rpb24uY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2RwQ29ubmVjdGlvbixcbiAgQ29ubmVjdFRvQ2RwT3B0aW9uc1xufSBmcm9tICcuL2Nvbm5lY3QtdG8tY2RwLmNqcyc7XG5leHBvcnQgeyBjb25uZWN0VG9DZHAgfSBmcm9tICcuL2Nvbm5lY3QtdG8tY2RwLmNqcyc7XG5leHBvcnQgeyBDb250ZXh0SWQgfSBmcm9tICcuL2NvbnRleHQtaWQuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgVHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmV4cG9ydCB7XG4gIHNldFRyYW5zcG9ydE9wdGlvbnNSZXNvbHZlcixcbiAgc2V0VmF1bHRQYXRoUmVzb2x2ZXJcbn0gZnJvbSAnLi9jb250ZXh0LXByb3ZpZGVyLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJ1aWxkRGVtb1ZhdWx0UG9wdWxhdGVQYXJhbXMsXG4gIEluamVjdFBsdWdpblBhcmFtc1xufSBmcm9tICcuL2RlbW8tdmF1bHQtcG9wdWxhdGUuY2pzJztcbmV4cG9ydCB7IGJ1aWxkRGVtb1ZhdWx0UG9wdWxhdGUgfSBmcm9tICcuL2RlbW8tdmF1bHQtcG9wdWxhdGUuY2pzJztcbmV4cG9ydCB0eXBlIHsgUmVhZERlbW9WYXVsdFRyZWVQYXJhbXMgfSBmcm9tICcuL2RlbW8tdmF1bHQtdHJlZS5janMnO1xuZXhwb3J0IHsgcmVhZERlbW9WYXVsdFRyZWUgfSBmcm9tICcuL2RlbW8tdmF1bHQtdHJlZS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBFbGVjdHJvbkNvbXBhdGliaWxpdHksXG4gIEVsZWN0cm9uQ29tcGF0aWJpbGl0eVRpZXIsXG4gIFJlc29sdmVFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXNcbn0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgeyByZXNvbHZlRWxlY3Ryb25Db21wYXRpYmlsaXR5IH0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEV2YWxJbk9ic2lkaWFuUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIExpYixcbiAgTW92ZU1vdXNlUGFyYW1zLFxuICBQcmVzc0tleVBhcmFtcyxcbiAgVHlwZUludG9FZGl0b3JQYXJhbXMsXG4gIFVuaG92ZXJFbGVtZW50UGFyYW1zLFxuICBXYWl0VW50aWxQYXJhbXNcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHR5cGUgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vaW5jb21wYXRpYmxlLWluc3RhbGxlci12ZXJzaW9uLWVycm9yLmNqcyc7XG5leHBvcnQgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3IgfSBmcm9tICcuL2luY29tcGF0aWJsZS1pbnN0YWxsZXItdmVyc2lvbi1lcnJvci5janMnO1xuZXhwb3J0IHR5cGUge1xuICBJbnN0YWxsZXJDb21wYXRpYmlsaXR5LFxuICBJbnN0YWxsZXJDb21wYXRpYmlsaXR5VGllcixcbiAgUmVzb2x2ZUluc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXNcbn0gZnJvbSAnLi9pbnN0YWxsZXItY29tcGF0aWJpbGl0eS5janMnO1xuZXhwb3J0IHsgcmVzb2x2ZUluc3RhbGxlckNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgdHlwZSB7IExpYlJlc29sdmVyIH0gZnJvbSAnLi9saWItcmVnaXN0cnkuY2pzJztcbmV4cG9ydCB7IHJlZ2lzdGVyTGliUmVzb2x2ZXIgfSBmcm9tICcuL2xpYi1yZWdpc3RyeS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBPYnNpZGlhblJ1bnRpbWVWZXJzaW9ucyxcbiAgT2JzaWRpYW5WZXJzaW9uRG93bmxvYWRzLFxuICBPYnNpZGlhblZlcnNpb25NZXRhZGF0YVxufSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5leHBvcnQgeyBnZXRWZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5leHBvcnQge1xuICBDQVRBTFlTVF9MQVRFU1QsXG4gIFBVQkxJQ19MQVRFU1Rcbn0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5leHBvcnQgdHlwZSB7IFBvbGxJbk9ic2lkaWFuUGFyYW1zIH0gZnJvbSAnLi9wb2xsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgeyBwb2xsSW5PYnNpZGlhbiB9IGZyb20gJy4vcG9sbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHsgUmVuZGVyZXJGYWlsZWRUb0luaXRpYWxpemVFcnJvciB9IGZyb20gJy4vcmVuZGVyZXItZmFpbGVkLXRvLWluaXRpYWxpemUtZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHsgUnVuT2JzaWRpYW5WZXJzaW9uTWF0cml4UGFyYW1zIH0gZnJvbSAnLi9ydW4tdmVyc2lvbi1tYXRyaXguY2pzJztcbmV4cG9ydCB7IHJ1bk9ic2lkaWFuVmVyc2lvbk1hdHJpeCB9IGZyb20gJy4vcnVuLXZlcnNpb24tbWF0cml4LmNqcyc7XG5leHBvcnQgdHlwZSB7IFNpbGVudEFzYXJGYWxsYmFja0Vycm9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL3NpbGVudC1hc2FyLWZhbGxiYWNrLWVycm9yLmNqcyc7XG5leHBvcnQgeyBTaWxlbnRBc2FyRmFsbGJhY2tFcnJvciB9IGZyb20gJy4vc2lsZW50LWFzYXItZmFsbGJhY2stZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgUG9wdWxhdGVGaWxlQ29udGVudCxcbiAgUG9wdWxhdGVGaWxlc1BhcmFtc1xufSBmcm9tICcuL3RlbXBvcmFyeS12YXVsdC5janMnO1xuZXhwb3J0IHsgVGVtcG9yYXJ5VmF1bHQgfSBmcm9tICcuL3RlbXBvcmFyeS12YXVsdC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBBcHBpdW1TZXNzaW9uSW5mbyxcbiAgQXBwaXVtVHJhbnNwb3J0Q29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWFwcGl1bS5janMnO1xuZXhwb3J0IHsgQXBwaXVtVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtYXBwaXVtLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIERlc2t0b3BDZHBUcmFuc3BvcnRDb25maWcsXG4gIE93bmVkSW5zdGFuY2VBc2FyLFxuICBPd25lZEluc3RhbmNlQ29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWRlc2t0b3AtY2RwLmNqcyc7XG5leHBvcnQgeyBEZXNrdG9wQ2RwVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAuY2pzJztcbmV4cG9ydCB7IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLFxuICBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMsXG4gIE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuVHJhbnNwb3J0LFxuICBUcmFuc3BvcnRFdmFsT3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC5janMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJWYXVsdCxcbiAgdW5yZWdpc3RlclZhdWx0XG59IGZyb20gJy4vdmF1bHQtcmVnaXN0cnkuY2pzJztcbmV4cG9ydCB0eXBlIHsgT2JzaWRpYW5WZXJzaW9uTWF0cml4RW50cnkgfSBmcm9tICcuL3ZlcnNpb24tbWF0cml4LmNqcyc7XG5leHBvcnQgeyBERUZBVUxUX09CU0lESUFOX1ZFUlNJT05fU1BFQ1MgfSBmcm9tICcuL3ZlcnNpb24tbWF0cml4LmNqcyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxxQ0FBb0M7QUFLcEMsNEJBQTZCO0FBQzdCLHdCQUEwQjtBQUsxQiw4QkFHTztBQUtQLGlDQUF1QztBQUV2Qyw2QkFBa0M7QUFNbEMsb0NBQTZDO0FBVzdDLDhCQUErQjtBQUUvQixrREFBa0Q7QUFNbEQscUNBQThDO0FBRTlDLDBCQUFvQztBQU1wQywrQkFBbUM7QUFDbkMsOEJBR087QUFFUCw4QkFBK0I7QUFDL0IsaURBQWdEO0FBRWhELGdDQUF5QztBQUV6Qyx3Q0FBd0M7QUFLeEMsNkJBQStCO0FBSy9CLDhCQUFnQztBQU1oQyxtQ0FBb0M7QUFDcEMsK0JBQTJDO0FBVTNDLDRCQUdPO0FBRVAsNEJBQStDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/lib/cjs/index.d.cts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Contains the entry point for the integration testing module.
|
|
5
5
|
*/
|
|
6
|
-
export type { AsarFallback, AsarFallbackTier,
|
|
7
|
-
export {
|
|
6
|
+
export type { AsarFallback, AsarFallbackTier, ResolveAsarFallbackParams } from './asar-fallback-detection.cjs';
|
|
7
|
+
export { resolveAsarFallback } from './asar-fallback-detection.cjs';
|
|
8
8
|
export type { CdpConnection, ConnectToCdpOptions } from './connect-to-cdp.cjs';
|
|
9
9
|
export { connectToCdp } from './connect-to-cdp.cjs';
|
|
10
10
|
export { ContextId } from './context-id.cjs';
|
|
@@ -14,14 +14,14 @@ export type { BuildDemoVaultPopulateParams, InjectPluginParams } from './demo-va
|
|
|
14
14
|
export { buildDemoVaultPopulate } from './demo-vault-populate.cjs';
|
|
15
15
|
export type { ReadDemoVaultTreeParams } from './demo-vault-tree.cjs';
|
|
16
16
|
export { readDemoVaultTree } from './demo-vault-tree.cjs';
|
|
17
|
-
export type {
|
|
18
|
-
export {
|
|
17
|
+
export type { ElectronCompatibility, ElectronCompatibilityTier, ResolveElectronCompatibilityParams } from './electron-compatibility.cjs';
|
|
18
|
+
export { resolveElectronCompatibility } from './electron-compatibility.cjs';
|
|
19
19
|
export type { EvalInObsidianParams, HoverElementParams, Lib, MoveMouseParams, PressKeyParams, TypeIntoEditorParams, UnhoverElementParams, WaitUntilParams } from './eval-in-obsidian.cjs';
|
|
20
20
|
export { evalInObsidian } from './eval-in-obsidian.cjs';
|
|
21
21
|
export type { IncompatibleInstallerVersionErrorConstructorParams } from './incompatible-installer-version-error.cjs';
|
|
22
22
|
export { IncompatibleInstallerVersionError } from './incompatible-installer-version-error.cjs';
|
|
23
|
-
export type {
|
|
24
|
-
export {
|
|
23
|
+
export type { InstallerCompatibility, InstallerCompatibilityTier, ResolveInstallerCompatibilityParams } from './installer-compatibility.cjs';
|
|
24
|
+
export { resolveInstallerCompatibility } from './installer-compatibility.cjs';
|
|
25
25
|
export type { LibResolver } from './lib-registry.cjs';
|
|
26
26
|
export { registerLibResolver } from './lib-registry.cjs';
|
|
27
27
|
export type { ObsidianRuntimeVersions, ObsidianVersionDownloads, ObsidianVersionMetadata } from './obsidian-metadata.cjs';
|
|
@@ -34,8 +34,8 @@ export type { RunObsidianVersionMatrixParams } from './run-version-matrix.cjs';
|
|
|
34
34
|
export { runObsidianVersionMatrix } from './run-version-matrix.cjs';
|
|
35
35
|
export type { SilentAsarFallbackErrorConstructorParams } from './silent-asar-fallback-error.cjs';
|
|
36
36
|
export { SilentAsarFallbackError } from './silent-asar-fallback-error.cjs';
|
|
37
|
-
export type { PopulateFileContent, PopulateFilesParams } from './
|
|
38
|
-
export {
|
|
37
|
+
export type { PopulateFileContent, PopulateFilesParams } from './temporary-vault.cjs';
|
|
38
|
+
export { TemporaryVault } from './temporary-vault.cjs';
|
|
39
39
|
export type { AppiumSessionInfo, AppiumTransportConfig } from './transport-appium.cjs';
|
|
40
40
|
export { AppiumTransport } from './transport-appium.cjs';
|
|
41
41
|
export type { DesktopCdpTransportConfig, OwnedInstanceAsar, OwnedInstanceConfig } from './transport-desktop-cdp.cjs';
|
|
@@ -68,13 +68,13 @@ function selectInstallerDownloadUrl(params) {
|
|
|
68
68
|
return downloads.tar;
|
|
69
69
|
}
|
|
70
70
|
function buildAssetNamePattern(shape, version) {
|
|
71
|
-
const infixGroup = shape.optionalInfixes.length > 0 ? `(?:${shape.optionalInfixes.map(escapeRegExp).join("|")})?` : "";
|
|
71
|
+
const infixGroup = shape.optionalInfixes.length > 0 ? `(?:${shape.optionalInfixes.map((infix) => escapeRegExp(infix)).join("|")})?` : "";
|
|
72
72
|
return new RegExp(
|
|
73
|
-
`^${escapeRegExp(shape.baseName)}[.-]${escapeRegExp(version)}${infixGroup}
|
|
73
|
+
String.raw`^${escapeRegExp(shape.baseName)}[.-]${escapeRegExp(version)}${infixGroup}\.${escapeRegExp(shape.extension)}$`
|
|
74
74
|
);
|
|
75
75
|
}
|
|
76
76
|
function escapeRegExp(value) {
|
|
77
|
-
return value.
|
|
77
|
+
return value.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`);
|
|
78
78
|
}
|
|
79
79
|
function getPlatformAssetShape(platform) {
|
|
80
80
|
if (platform === "win32") {
|
|
@@ -91,4 +91,4 @@ function getPlatformAssetShape(platform) {
|
|
|
91
91
|
selectInstallerAssetName,
|
|
92
92
|
selectInstallerDownloadUrl
|
|
93
93
|
});
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1hc3NldC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgaGVscGVycyBmb3IgcmVzb2x2aW5nIHdoaWNoIEdpdEh1YiByZWxlYXNlIGFzc2V0IGlzIHRoZSBkZXNrdG9wXG4gKiAqKmluc3RhbGxlcioqIGZvciBhIGdpdmVuIE9ic2lkaWFuIHZlcnNpb24gYW5kIHBsYXRmb3JtLlxuICpcbiAqIE9ic2lkaWFuIGNoYW5nZWQgaXRzIGluc3RhbGxlciBhc3NldCBuYW1pbmcgY29udmVudGlvbiBwYXJ0d2F5IHRocm91Z2ggaXRzXG4gKiBoaXN0b3J5LCBzbyBhIHZlcnNpb24gY2Fubm90IGJlIHR1cm5lZCBpbnRvIGFuIGFzc2V0IG5hbWUgYnkgc3RyaW5nXG4gKiB0ZW1wbGF0aW5nIGFsb25lOlxuICpcbiAqIC0gKipEb3QqKiBzZXBhcmF0b3Igb24gb2xkZXIgcmVsZWFzZXM6IGBPYnNpZGlhbi48dmVyPi5leGVgICh2ZXJpZmllZCAwLjE0LjVcbiAqICAgdGhyb3VnaCAxLjUuMTIpLCB3aXRoIGEgYC11bml2ZXJzYWxgIGluZml4IG9uIHRoZSBtYWNPUyBkbWdcbiAqICAgKGBPYnNpZGlhbi08dmVyPi11bml2ZXJzYWwuZG1nYCkuXG4gKiAtICoqSHlwaGVuKiogc2VwYXJhdG9yIG9uIG5ld2VyIHJlbGVhc2VzOiBgT2JzaWRpYW4tPHZlcj4uZXhlYCxcbiAqICAgYE9ic2lkaWFuLTx2ZXI+LmRtZ2AgKHZlcmlmaWVkIDEuNi43IG9ud2FyZDsgdGhlIHRyYW5zaXRpb24gaXMgYXJvdW5kIDEuNi4wKS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24tdGltZSBkb3dubG9hZGVyIChgb2JzaWRpYW4taW5zdGFsbGVyLnRzYCkgcXVlcmllcyB0aGVcbiAqIHJlbGVhc2UncyByZWFsIGFzc2V0IGxpc3QgYW5kIHBpY2tzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IG9uZSB3aXRoXG4gKiB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lfTsgaWYgdGhhdCBuZXR3b3JrIGNhbGwgaXMgdW5hdmFpbGFibGUgaXRcbiAqIGZhbGxzIGJhY2sgdG8gdHJ5aW5nIGV2ZXJ5IHtAbGluayBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXN9IGZvcm0uXG4gKiBCb3RoIGhlbHBlcnMgYXJlIHB1cmUgc28gdGhlIHNlcGFyYXRvci9hcmNoIG1hdHJpeCBzdGF5cyB1bml0LXRlc3RlZCAodGhlXG4gKiBkb3dubG9hZGVyIGl0c2VsZiBuZWVkcyB0aGUgbmV0d29yayBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBPbmx5IHRoZSB4NjQgaW5zdGFsbGVyIGlzIHJlc29sdmVkIFx1MjAxNCB0aGUgZXh0cmFjdGlvbiBwYXRoIGlzIHg2NC1vbmx5IFx1MjAxNCBzbyB0aGVcbiAqIDMyLWJpdCAvIGFybTY0IC8gYWxsLXVzZXJzIHNpYmxpbmcgYXNzZXRzIGFyZSBkZWxpYmVyYXRlbHkgcmVqZWN0ZWQuXG4gKlxuICogV2hlbiB0aGUgdmVyc2lvbiBpcyBwcmVzZW50IGluIHRoZSBiYWtlZCBgbWV0YWRhdGEuanNvbmAgY2F0YWxvZyAoZnJvbVxuICogdXBzdHJlYW0gYG9ic2lkaWFuLXZlcnNpb25zLmpzb25gKSwgaXRzIGV4YWN0IGluc3RhbGxlciBVUkwgaXMgYWxyZWFkeSBrbm93bjtcbiAqIHtAbGluayBzZWxlY3RJbnN0YWxsZXJEb3dubG9hZFVybH0gcGlja3MgdGhlIHBsYXRmb3JtLWNvcnJlY3Qgb25lIGFuZCB0aGVcbiAqIGRvd25sb2FkZXIgdXNlcyBpdCBkaXJlY3RseSwgc2tpcHBpbmcgdGhlIHJlbGVhc2UtQVBJIGxvb2t1cCBhbmQgdGhlXG4gKiBuYW1lLXRlbXBsYXRpbmcgZmFsbGJhY2sgZW50aXJlbHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5cbi8qKlxuICogVGhlIHBsYXRmb3JtLXNwZWNpZmljIHNoYXBlIG9mIGFuIE9ic2lkaWFuIGluc3RhbGxlciBhc3NldCBuYW1lLlxuICovXG5pbnRlcmZhY2UgUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlIHtcbiAgLyoqIExlYWRpbmcgdG9rZW4gb2YgdGhlIGFzc2V0IG5hbWU6IGBPYnNpZGlhbmAgKFdpbmRvd3MvbWFjT1MpIG9yIGBvYnNpZGlhbmAgKExpbnV4KS4gKi9cbiAgcmVhZG9ubHkgYmFzZU5hbWU6IHN0cmluZztcblxuICAvKiogRmlsZSBleHRlbnNpb24gd2l0aG91dCB0aGUgbGVhZGluZyBkb3QsIGUuZy4gYGV4ZWAsIGBkbWdgLCBgdGFyLmd6YC4gKi9cbiAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZml4ZXMgcGVybWl0dGVkIGJldHdlZW4gdGhlIHZlcnNpb24gYW5kIHRoZSBleHRlbnNpb24gZm9yIHRoZSBwcmltYXJ5XG4gICAqIChub24tYXJjaCkgYXNzZXQsIGUuZy4gYC11bml2ZXJzYWxgIG9uIHRoZSBvbGRlciBtYWNPUyBkbWcuIEFuIGVtcHR5IGFycmF5XG4gICAqIG1lYW5zIHRoZSB2ZXJzaW9uIGlzIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IHRoZSBleHRlbnNpb24uXG4gICAqL1xuICByZWFkb25seSBvcHRpb25hbEluZml4ZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG5jb25zdCBXSU5ET1dTX0FTU0VUX1NIQVBFOiBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUgPSB7XG4gIGJhc2VOYW1lOiAnT2JzaWRpYW4nLFxuICBleHRlbnNpb246ICdleGUnLFxuICBvcHRpb25hbEluZml4ZXM6IFtdXG59O1xuXG5jb25zdCBNQUNfQVNTRVRfU0hBUEU6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSA9IHtcbiAgYmFzZU5hbWU6ICdPYnNpZGlhbicsXG4gIGV4dGVuc2lvbjogJ2RtZycsXG4gIG9wdGlvbmFsSW5maXhlczogWyctdW5pdmVyc2FsJ11cbn07XG5cbmNvbnN0IExJTlVYX0FTU0VUX1NIQVBFOiBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUgPSB7XG4gIGJhc2VOYW1lOiAnb2JzaWRpYW4nLFxuICBleHRlbnNpb246ICd0YXIuZ3onLFxuICBvcHRpb25hbEluZml4ZXM6IFtdXG59O1xuXG4vKiogU2VwYXJhdG9yIGZvcm1zIHRyaWVkLCBoeXBoZW4gKG5ld2VyKSBmaXJzdCwgd2hlbiBmYWxsaW5nIGJhY2sgdG8gdGVtcGxhdGVkIG5hbWVzLiAqL1xuY29uc3QgQVNTRVRfTkFNRV9TRVBBUkFUT1JTID0gWyctJywgJy4nXSBhcyBjb25zdDtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXNQYXJhbXMge1xuICAvKiogVGhlIHBsYXRmb3JtIHRvIGJ1aWxkIGNhbmRpZGF0ZSBuYW1lcyBmb3IuICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm07XG5cbiAgLyoqIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJbnN0YWxsZXJBc3NldE5hbWVQYXJhbXMge1xuICAvKiogVGhlIHJlbGVhc2UncyBhc3NldCBuYW1lcyAoZS5nLiBmcm9tIHRoZSBHaXRIdWIgcmVsZWFzZSBBUEkpLiAqL1xuICByZWFkb25seSBhc3NldE5hbWVzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKiogVGhlIHBsYXRmb3JtIHdob3NlIGluc3RhbGxlciBhc3NldCB0byBzZWxlY3QuICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm07XG5cbiAgLyoqIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyRG93bmxvYWRVcmx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEluc3RhbGxlckRvd25sb2FkVXJsUGFyYW1zIHtcbiAgLyoqIFRoZSB2ZXJzaW9uJ3MgYmFrZWQgZG93bmxvYWQgVVJMcywgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBpcyBhYnNlbnQgZnJvbSB0aGUgY2F0YWxvZy4gKi9cbiAgcmVhZG9ubHkgZG93bmxvYWRzOiBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFRoZSBwbGF0Zm9ybSB3aG9zZSBpbnN0YWxsZXIgVVJMIHRvIHNlbGVjdC4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZhbGxiYWNrIGxpc3Qgb2YgaW5zdGFsbGVyIGFzc2V0IG5hbWVzIHRvIHRyeSB3aGVuIHRoZSByZWxlYXNlJ3NcbiAqIHJlYWwgYXNzZXQgbGlzdCBjYW5ub3QgYmUgZmV0Y2hlZCwgY292ZXJpbmcgYm90aCBzZXBhcmF0b3IgZm9ybXMgKGFuZCwgb25cbiAqIG1hY09TLCB0aGUgYC11bml2ZXJzYWxgIGluZml4KS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBsYXRmb3JtIGFuZCB2ZXJzaW9uLlxuICogQHJldHVybnMgQ2FuZGlkYXRlIGFzc2V0IG5hbWVzLCBoeXBoZW4tc2VwYXJhdGVkIGZvcm1zIGZpcnN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzKHBhcmFtczogQnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzUGFyYW1zKTogc3RyaW5nW10ge1xuICBjb25zdCBzaGFwZSA9IGdldFBsYXRmb3JtQXNzZXRTaGFwZShwYXJhbXMucGxhdGZvcm0pO1xuICBjb25zdCBpbmZpeGVzID0gc2hhcGUub3B0aW9uYWxJbmZpeGVzLmxlbmd0aCA+IDAgPyBbJycsIC4uLnNoYXBlLm9wdGlvbmFsSW5maXhlc10gOiBbJyddO1xuICBjb25zdCBjYW5kaWRhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHNlcGFyYXRvciBvZiBBU1NFVF9OQU1FX1NFUEFSQVRPUlMpIHtcbiAgICBmb3IgKGNvbnN0IGluZml4IG9mIGluZml4ZXMpIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaChgJHtzaGFwZS5iYXNlTmFtZX0ke3NlcGFyYXRvcn0ke3BhcmFtcy52ZXJzaW9ufSR7aW5maXh9LiR7c2hhcGUuZXh0ZW5zaW9ufWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY2FuZGlkYXRlcztcbn1cblxuLyoqXG4gKiBTZWxlY3RzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IHg2NCBpbnN0YWxsZXIgYXNzZXQgbmFtZSBmcm9tIGEgcmVsZWFzZSdzIGFzc2V0XG4gKiBsaXN0LCB0b2xlcmF0aW5nIGJvdGggdGhlIGRvdC0gYW5kIGh5cGhlbi1zZXBhcmF0ZWQgbmFtaW5nIGNvbnZlbnRpb25zIGFuZFxuICogcmVqZWN0aW5nIHRoZSAzMi1iaXQgLyBhcm02NCAvIGFsbC11c2VycyBzaWJsaW5nIGFzc2V0cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGFzc2V0IGxpc3QsIHBsYXRmb3JtLCBhbmQgdmVyc2lvbi5cbiAqIEByZXR1cm5zIFRoZSBtYXRjaGluZyBhc3NldCBuYW1lLCBvciBgdW5kZWZpbmVkYCBpZiBub25lIG1hdGNoZXMgKGUuZy4gYVxuICogICBjYXRhbHlzdCByZWxlYXNlIHRoYXQgc2hpcHMgbm8gaW5zdGFsbGVyKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEluc3RhbGxlckFzc2V0TmFtZShwYXJhbXM6IFNlbGVjdEluc3RhbGxlckFzc2V0TmFtZVBhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBhdHRlcm4gPSBidWlsZEFzc2V0TmFtZVBhdHRlcm4oZ2V0UGxhdGZvcm1Bc3NldFNoYXBlKHBhcmFtcy5wbGF0Zm9ybSksIHBhcmFtcy52ZXJzaW9uKTtcbiAgcmV0dXJuIHBhcmFtcy5hc3NldE5hbWVzLmZpbmQoKG5hbWUpID0+IHBhdHRlcm4udGVzdChuYW1lKSk7XG59XG5cbi8qKlxuICogU2VsZWN0cyB0aGUgcGxhdGZvcm0tY29ycmVjdCB4NjQgaW5zdGFsbGVyIGRvd25sb2FkIFVSTCBmcm9tIGEgdmVyc2lvbidzXG4gKiBiYWtlZCBjYXRhbG9nIGVudHJ5LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgYmFrZWQgZG93bmxvYWQgVVJMcyBhbmQgdGhlIHBsYXRmb3JtLlxuICogQHJldHVybnMgVGhlIGluc3RhbGxlciBVUkwgZm9yIHRoZSBwbGF0Zm9ybSwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGUgdmVyc2lvblxuICogICBoYXMgbm8gY2F0YWxvZyBlbnRyeSBvciBzaGlwcyBubyBkZXNrdG9wIGluc3RhbGxlciBmb3IgaXQgKGUuZy4gYSBjYXRhbHlzdFxuICogICBidWlsZCwgb3IgYSBMaW51eCBgLnRhci5nemAgdGhhdCB3YXMgbmV2ZXIgcHVibGlzaGVkKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEluc3RhbGxlckRvd25sb2FkVXJsKHBhcmFtczogU2VsZWN0SW5zdGFsbGVyRG93bmxvYWRVcmxQYXJhbXMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IGRvd25sb2FkcyB9ID0gcGFyYW1zO1xuICBpZiAoIWRvd25sb2Fkcykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAocGFyYW1zLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgcmV0dXJuIGRvd25sb2Fkcy5leGU7XG4gIH1cblxuICBpZiAocGFyYW1zLnBsYXRmb3JtID09PSAnZGFyd2luJykge1xuICAgIHJldHVybiBkb3dubG9hZHMuZG1nO1xuICB9XG5cbiAgcmV0dXJuIGRvd25sb2Fkcy50YXI7XG59XG5cbi8qKlxuICogQnVpbGRzIGFuIGFuY2hvcmVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyB0aGUgcHJpbWFyeSBpbnN0YWxsZXIgYXNzZXRcbiAqIGZvciBhIHBsYXRmb3JtIHNoYXBlIGFuZCB2ZXJzaW9uLCBhY3Jvc3MgYm90aCBzZXBhcmF0b3IgY29udmVudGlvbnMuXG4gKlxuICogQHBhcmFtIHNoYXBlIC0gVGhlIHBsYXRmb3JtIGFzc2V0IHNoYXBlLlxuICogQHBhcmFtIHZlcnNpb24gLSBUaGUgY29uY3JldGUgYHgueS56YCB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIG1hdGNoaW5nIHBhdHRlcm4uXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkQXNzZXROYW1lUGF0dGVybihzaGFwZTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlLCB2ZXJzaW9uOiBzdHJpbmcpOiBSZWdFeHAge1xuICBjb25zdCBpbmZpeEdyb3VwID0gc2hhcGUub3B0aW9uYWxJbmZpeGVzLmxlbmd0aCA+IDBcbiAgICA/IGAoPzoke3NoYXBlLm9wdGlvbmFsSW5maXhlcy5tYXAoZXNjYXBlUmVnRXhwKS5qb2luKCd8Jyl9KT9gXG4gICAgOiAnJztcbiAgcmV0dXJuIG5ldyBSZWdFeHAoXG4gICAgYF4ke2VzY2FwZVJlZ0V4cChzaGFwZS5iYXNlTmFtZSl9Wy4tXSR7ZXNjYXBlUmVnRXhwKHZlcnNpb24pfSR7aW5maXhHcm91cH1cXFxcLiR7ZXNjYXBlUmVnRXhwKHNoYXBlLmV4dGVuc2lvbil9JGBcbiAgKTtcbn1cblxuLyoqXG4gKiBFc2NhcGVzIGEgc3RyaW5nIGZvciBsaXRlcmFsIHVzZSBpbnNpZGUgYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHJhdyBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgZXNjYXBlZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVJlZ0V4cCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGluc3RhbGxlciBhc3NldCBzaGFwZSBmb3IgYSBwbGF0Zm9ybS5cbiAqXG4gKiBAcGFyYW0gcGxhdGZvcm0gLSBUaGUgTm9kZS5qcyBwbGF0Zm9ybSBpZGVudGlmaWVyLlxuICogQHJldHVybnMgVGhlIGFzc2V0IHNoYXBlIChMaW51eCBgLnRhci5nemAgZm9yIGFueSBub24tV2luZG93cy9tYWNPUyBwbGF0Zm9ybSkuXG4gKi9cbmZ1bmN0aW9uIGdldFBsYXRmb3JtQXNzZXRTaGFwZShwbGF0Zm9ybTogTm9kZUpTLlBsYXRmb3JtKTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlIHtcbiAgaWYgKHBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgcmV0dXJuIFdJTkRPV1NfQVNTRVRfU0hBUEU7XG4gIH1cblxuICBpZiAocGxhdGZvcm0gPT09ICdkYXJ3aW4nKSB7XG4gICAgcmV0dXJuIE1BQ19BU1NFVF9TSEFQRTtcbiAgfVxuXG4gIHJldHVybiBMSU5VWF9BU1NFVF9TSEFQRTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcURBLE1BQU0sc0JBQW1EO0FBQUEsRUFDdkQsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsaUJBQWlCLENBQUM7QUFDcEI7QUFFQSxNQUFNLGtCQUErQztBQUFBLEVBQ25ELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDLFlBQVk7QUFDaEM7QUFFQSxNQUFNLG9CQUFpRDtBQUFBLEVBQ3JELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDO0FBQ3BCO0FBR0EsTUFBTSx3QkFBd0IsQ0FBQyxLQUFLLEdBQUc7QUE4Q2hDLFNBQVMsa0NBQWtDLFFBQTJEO0FBQzNHLFFBQU0sUUFBUSxzQkFBc0IsT0FBTyxRQUFRO0FBQ25ELFFBQU0sVUFBVSxNQUFNLGdCQUFnQixTQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxlQUFlLElBQUksQ0FBQyxFQUFFO0FBQ3ZGLFFBQU0sYUFBdUIsQ0FBQztBQUM5QixhQUFXLGFBQWEsdUJBQXVCO0FBQzdDLGVBQVcsU0FBUyxTQUFTO0FBQzNCLGlCQUFXLEtBQUssR0FBRyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sU0FBUyxFQUFFO0FBQUEsSUFDN0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUNUO0FBV08sU0FBUyx5QkFBeUIsUUFBNEQ7QUFDbkcsUUFBTSxVQUFVLHNCQUFzQixzQkFBc0IsT0FBTyxRQUFRLEdBQUcsT0FBTyxPQUFPO0FBQzVGLFNBQU8sT0FBTyxXQUFXLEtBQUssQ0FBQyxTQUFTLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFDNUQ7QUFXTyxTQUFTLDJCQUEyQixRQUE4RDtBQUN2RyxRQUFNLEVBQUUsVUFBVSxJQUFJO0FBQ3RCLE1BQUksQ0FBQyxXQUFXO0FBQ2QsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLE9BQU8sYUFBYSxTQUFTO0FBQy9CLFdBQU8sVUFBVTtBQUFBLEVBQ25CO0FBRUEsTUFBSSxPQUFPLGFBQWEsVUFBVTtBQUNoQyxXQUFPLFVBQVU7QUFBQSxFQUNuQjtBQUVBLFNBQU8sVUFBVTtBQUNuQjtBQVVBLFNBQVMsc0JBQXNCLE9BQW9DLFNBQXlCO0FBQzFGLFFBQU0sYUFBYSxNQUFNLGdCQUFnQixTQUFTLElBQzlDLE1BQU0sTUFBTSxnQkFBZ0IsSUFBSSxZQUFZLEVBQUUsS0FBSyxHQUFHLENBQUMsT0FDdkQ7QUFDSixTQUFPLElBQUk7QUFBQSxJQUNULElBQUksYUFBYSxNQUFNLFFBQVEsQ0FBQyxPQUFPLGFBQWEsT0FBTyxDQUFDLEdBQUcsVUFBVSxNQUFNLGFBQWEsTUFBTSxTQUFTLENBQUM7QUFBQSxFQUM5RztBQUNGO0FBUUEsU0FBUyxhQUFhLE9BQXVCO0FBQzNDLFNBQU8sTUFBTSxRQUFRLHVCQUF1QixNQUFNO0FBQ3BEO0FBUUEsU0FBUyxzQkFBc0IsVUFBd0Q7QUFDckYsTUFBSSxhQUFhLFNBQVM7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGFBQWEsVUFBVTtBQUN6QixXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1hc3NldC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgaGVscGVycyBmb3IgcmVzb2x2aW5nIHdoaWNoIEdpdEh1YiByZWxlYXNlIGFzc2V0IGlzIHRoZSBkZXNrdG9wXG4gKiAqKmluc3RhbGxlcioqIGZvciBhIGdpdmVuIE9ic2lkaWFuIHZlcnNpb24gYW5kIHBsYXRmb3JtLlxuICpcbiAqIE9ic2lkaWFuIGNoYW5nZWQgaXRzIGluc3RhbGxlciBhc3NldCBuYW1pbmcgY29udmVudGlvbiBwYXJ0d2F5IHRocm91Z2ggaXRzXG4gKiBoaXN0b3J5LCBzbyBhIHZlcnNpb24gY2Fubm90IGJlIHR1cm5lZCBpbnRvIGFuIGFzc2V0IG5hbWUgYnkgc3RyaW5nXG4gKiB0ZW1wbGF0aW5nIGFsb25lOlxuICpcbiAqIC0gKipEb3QqKiBzZXBhcmF0b3Igb24gb2xkZXIgcmVsZWFzZXM6IGBPYnNpZGlhbi48dmVyPi5leGVgICh2ZXJpZmllZCAwLjE0LjVcbiAqICAgdGhyb3VnaCAxLjUuMTIpLCB3aXRoIGEgYC11bml2ZXJzYWxgIGluZml4IG9uIHRoZSBtYWNPUyBkbWdcbiAqICAgKGBPYnNpZGlhbi08dmVyPi11bml2ZXJzYWwuZG1nYCkuXG4gKiAtICoqSHlwaGVuKiogc2VwYXJhdG9yIG9uIG5ld2VyIHJlbGVhc2VzOiBgT2JzaWRpYW4tPHZlcj4uZXhlYCxcbiAqICAgYE9ic2lkaWFuLTx2ZXI+LmRtZ2AgKHZlcmlmaWVkIDEuNi43IG9ud2FyZDsgdGhlIHRyYW5zaXRpb24gaXMgYXJvdW5kIDEuNi4wKS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24tdGltZSBkb3dubG9hZGVyIChgb2JzaWRpYW4taW5zdGFsbGVyLnRzYCkgcXVlcmllcyB0aGVcbiAqIHJlbGVhc2UncyByZWFsIGFzc2V0IGxpc3QgYW5kIHBpY2tzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IG9uZSB3aXRoXG4gKiB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lfTsgaWYgdGhhdCBuZXR3b3JrIGNhbGwgaXMgdW5hdmFpbGFibGUgaXRcbiAqIGZhbGxzIGJhY2sgdG8gdHJ5aW5nIGV2ZXJ5IHtAbGluayBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXN9IGZvcm0uXG4gKiBCb3RoIGhlbHBlcnMgYXJlIHB1cmUgc28gdGhlIHNlcGFyYXRvci9hcmNoIG1hdHJpeCBzdGF5cyB1bml0LXRlc3RlZCAodGhlXG4gKiBkb3dubG9hZGVyIGl0c2VsZiBuZWVkcyB0aGUgbmV0d29yayBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBPbmx5IHRoZSB4NjQgaW5zdGFsbGVyIGlzIHJlc29sdmVkIFx1MjAxNCB0aGUgZXh0cmFjdGlvbiBwYXRoIGlzIHg2NC1vbmx5IFx1MjAxNCBzbyB0aGVcbiAqIDMyLWJpdCAvIGFybTY0IC8gYWxsLXVzZXJzIHNpYmxpbmcgYXNzZXRzIGFyZSBkZWxpYmVyYXRlbHkgcmVqZWN0ZWQuXG4gKlxuICogV2hlbiB0aGUgdmVyc2lvbiBpcyBwcmVzZW50IGluIHRoZSBiYWtlZCBgbWV0YWRhdGEuanNvbmAgY2F0YWxvZyAoZnJvbVxuICogdXBzdHJlYW0gYG9ic2lkaWFuLXZlcnNpb25zLmpzb25gKSwgaXRzIGV4YWN0IGluc3RhbGxlciBVUkwgaXMgYWxyZWFkeSBrbm93bjtcbiAqIHtAbGluayBzZWxlY3RJbnN0YWxsZXJEb3dubG9hZFVybH0gcGlja3MgdGhlIHBsYXRmb3JtLWNvcnJlY3Qgb25lIGFuZCB0aGVcbiAqIGRvd25sb2FkZXIgdXNlcyBpdCBkaXJlY3RseSwgc2tpcHBpbmcgdGhlIHJlbGVhc2UtQVBJIGxvb2t1cCBhbmQgdGhlXG4gKiBuYW1lLXRlbXBsYXRpbmcgZmFsbGJhY2sgZW50aXJlbHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5cbi8qKlxuICogVGhlIHBsYXRmb3JtLXNwZWNpZmljIHNoYXBlIG9mIGFuIE9ic2lkaWFuIGluc3RhbGxlciBhc3NldCBuYW1lLlxuICovXG5pbnRlcmZhY2UgUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlIHtcbiAgLyoqXG4gIExlYWRpbmcgdG9rZW4gb2YgdGhlIGFzc2V0IG5hbWU6IGBPYnNpZGlhbmAgKFdpbmRvd3MvbWFjT1MpIG9yIGBvYnNpZGlhbmAgKExpbnV4KS5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gIEZpbGUgZXh0ZW5zaW9uIHdpdGhvdXQgdGhlIGxlYWRpbmcgZG90LCBlLmcuIGBleGVgLCBgZG1nYCwgYHRhci5nemAuXG4gICAqL1xuICByZWFkb25seSBleHRlbnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogSW5maXhlcyBwZXJtaXR0ZWQgYmV0d2VlbiB0aGUgdmVyc2lvbiBhbmQgdGhlIGV4dGVuc2lvbiBmb3IgdGhlIHByaW1hcnlcbiAgICogKG5vbi1hcmNoKSBhc3NldCwgZS5nLiBgLXVuaXZlcnNhbGAgb24gdGhlIG9sZGVyIG1hY09TIGRtZy4gQW4gZW1wdHkgYXJyYXlcbiAgICogbWVhbnMgdGhlIHZlcnNpb24gaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9wdGlvbmFsSW5maXhlczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmNvbnN0IFdJTkRPV1NfQVNTRVRfU0hBUEU6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSA9IHtcbiAgYmFzZU5hbWU6ICdPYnNpZGlhbicsXG4gIGV4dGVuc2lvbjogJ2V4ZScsXG4gIG9wdGlvbmFsSW5maXhlczogW11cbn07XG5cbmNvbnN0IE1BQ19BU1NFVF9TSEFQRTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlID0ge1xuICBiYXNlTmFtZTogJ09ic2lkaWFuJyxcbiAgZXh0ZW5zaW9uOiAnZG1nJyxcbiAgb3B0aW9uYWxJbmZpeGVzOiBbJy11bml2ZXJzYWwnXVxufTtcblxuY29uc3QgTElOVVhfQVNTRVRfU0hBUEU6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSA9IHtcbiAgYmFzZU5hbWU6ICdvYnNpZGlhbicsXG4gIGV4dGVuc2lvbjogJ3Rhci5neicsXG4gIG9wdGlvbmFsSW5maXhlczogW11cbn07XG5cbi8qKlxuU2VwYXJhdG9yIGZvcm1zIHRyaWVkLCBoeXBoZW4gKG5ld2VyKSBmaXJzdCwgd2hlbiBmYWxsaW5nIGJhY2sgdG8gdGVtcGxhdGVkIG5hbWVzLlxuICovXG5jb25zdCBBU1NFVF9OQU1FX1NFUEFSQVRPUlMgPSBbJy0nLCAnLiddIGFzIGNvbnN0O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW5zdGFsbGVyQXNzZXROYW1lQ2FuZGlkYXRlc1BhcmFtcyB7XG4gIC8qKlxuICBUaGUgcGxhdGZvcm0gdG8gYnVpbGQgY2FuZGlkYXRlIG5hbWVzIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm07XG5cbiAgLyoqXG4gIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHNlbGVjdEluc3RhbGxlckFzc2V0TmFtZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lUGFyYW1zIHtcbiAgLyoqXG4gIFRoZSByZWxlYXNlJ3MgYXNzZXQgbmFtZXMgKGUuZy4gZnJvbSB0aGUgR2l0SHViIHJlbGVhc2UgQVBJKS5cbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICBUaGUgcGxhdGZvcm0gd2hvc2UgaW5zdGFsbGVyIGFzc2V0IHRvIHNlbGVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm07XG5cbiAgLyoqXG4gIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHNlbGVjdEluc3RhbGxlckRvd25sb2FkVXJsfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJbnN0YWxsZXJEb3dubG9hZFVybFBhcmFtcyB7XG4gIC8qKlxuICBUaGUgdmVyc2lvbidzIGJha2VkIGRvd25sb2FkIFVSTHMsIG9yIGB1bmRlZmluZWRgIHdoZW4gaXQgaXMgYWJzZW50IGZyb20gdGhlIGNhdGFsb2cuXG4gICAqL1xuICByZWFkb25seSBkb3dubG9hZHM6IE9ic2lkaWFuVmVyc2lvbkRvd25sb2FkcyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgVGhlIHBsYXRmb3JtIHdob3NlIGluc3RhbGxlciBVUkwgdG8gc2VsZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZhbGxiYWNrIGxpc3Qgb2YgaW5zdGFsbGVyIGFzc2V0IG5hbWVzIHRvIHRyeSB3aGVuIHRoZSByZWxlYXNlJ3NcbiAqIHJlYWwgYXNzZXQgbGlzdCBjYW5ub3QgYmUgZmV0Y2hlZCwgY292ZXJpbmcgYm90aCBzZXBhcmF0b3IgZm9ybXMgKGFuZCwgb25cbiAqIG1hY09TLCB0aGUgYC11bml2ZXJzYWxgIGluZml4KS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBsYXRmb3JtIGFuZCB2ZXJzaW9uLlxuICogQHJldHVybnMgQ2FuZGlkYXRlIGFzc2V0IG5hbWVzLCBoeXBoZW4tc2VwYXJhdGVkIGZvcm1zIGZpcnN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzKHBhcmFtczogQnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzUGFyYW1zKTogc3RyaW5nW10ge1xuICBjb25zdCBzaGFwZSA9IGdldFBsYXRmb3JtQXNzZXRTaGFwZShwYXJhbXMucGxhdGZvcm0pO1xuICBjb25zdCBpbmZpeGVzID0gc2hhcGUub3B0aW9uYWxJbmZpeGVzLmxlbmd0aCA+IDAgPyBbJycsIC4uLnNoYXBlLm9wdGlvbmFsSW5maXhlc10gOiBbJyddO1xuICBjb25zdCBjYW5kaWRhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHNlcGFyYXRvciBvZiBBU1NFVF9OQU1FX1NFUEFSQVRPUlMpIHtcbiAgICBmb3IgKGNvbnN0IGluZml4IG9mIGluZml4ZXMpIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaChgJHtzaGFwZS5iYXNlTmFtZX0ke3NlcGFyYXRvcn0ke3BhcmFtcy52ZXJzaW9ufSR7aW5maXh9LiR7c2hhcGUuZXh0ZW5zaW9ufWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY2FuZGlkYXRlcztcbn1cblxuLyoqXG4gKiBTZWxlY3RzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IHg2NCBpbnN0YWxsZXIgYXNzZXQgbmFtZSBmcm9tIGEgcmVsZWFzZSdzIGFzc2V0XG4gKiBsaXN0LCB0b2xlcmF0aW5nIGJvdGggdGhlIGRvdC0gYW5kIGh5cGhlbi1zZXBhcmF0ZWQgbmFtaW5nIGNvbnZlbnRpb25zIGFuZFxuICogcmVqZWN0aW5nIHRoZSAzMi1iaXQgLyBhcm02NCAvIGFsbC11c2VycyBzaWJsaW5nIGFzc2V0cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGFzc2V0IGxpc3QsIHBsYXRmb3JtLCBhbmQgdmVyc2lvbi5cbiAqIEByZXR1cm5zIFRoZSBtYXRjaGluZyBhc3NldCBuYW1lLCBvciBgdW5kZWZpbmVkYCBpZiBub25lIG1hdGNoZXMgKGUuZy4gYVxuICogICBjYXRhbHlzdCByZWxlYXNlIHRoYXQgc2hpcHMgbm8gaW5zdGFsbGVyKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEluc3RhbGxlckFzc2V0TmFtZShwYXJhbXM6IFNlbGVjdEluc3RhbGxlckFzc2V0TmFtZVBhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBhdHRlcm4gPSBidWlsZEFzc2V0TmFtZVBhdHRlcm4oZ2V0UGxhdGZvcm1Bc3NldFNoYXBlKHBhcmFtcy5wbGF0Zm9ybSksIHBhcmFtcy52ZXJzaW9uKTtcbiAgcmV0dXJuIHBhcmFtcy5hc3NldE5hbWVzLmZpbmQoKG5hbWUpID0+IHBhdHRlcm4udGVzdChuYW1lKSk7XG59XG5cbi8qKlxuICogU2VsZWN0cyB0aGUgcGxhdGZvcm0tY29ycmVjdCB4NjQgaW5zdGFsbGVyIGRvd25sb2FkIFVSTCBmcm9tIGEgdmVyc2lvbidzXG4gKiBiYWtlZCBjYXRhbG9nIGVudHJ5LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgYmFrZWQgZG93bmxvYWQgVVJMcyBhbmQgdGhlIHBsYXRmb3JtLlxuICogQHJldHVybnMgVGhlIGluc3RhbGxlciBVUkwgZm9yIHRoZSBwbGF0Zm9ybSwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGUgdmVyc2lvblxuICogICBoYXMgbm8gY2F0YWxvZyBlbnRyeSBvciBzaGlwcyBubyBkZXNrdG9wIGluc3RhbGxlciBmb3IgaXQgKGUuZy4gYSBjYXRhbHlzdFxuICogICBidWlsZCwgb3IgYSBMaW51eCBgLnRhci5nemAgdGhhdCB3YXMgbmV2ZXIgcHVibGlzaGVkKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEluc3RhbGxlckRvd25sb2FkVXJsKHBhcmFtczogU2VsZWN0SW5zdGFsbGVyRG93bmxvYWRVcmxQYXJhbXMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IGRvd25sb2FkcyB9ID0gcGFyYW1zO1xuICBpZiAoIWRvd25sb2Fkcykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAocGFyYW1zLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgcmV0dXJuIGRvd25sb2Fkcy5leGU7XG4gIH1cblxuICBpZiAocGFyYW1zLnBsYXRmb3JtID09PSAnZGFyd2luJykge1xuICAgIHJldHVybiBkb3dubG9hZHMuZG1nO1xuICB9XG5cbiAgcmV0dXJuIGRvd25sb2Fkcy50YXI7XG59XG5cbi8qKlxuICogQnVpbGRzIGFuIGFuY2hvcmVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyB0aGUgcHJpbWFyeSBpbnN0YWxsZXIgYXNzZXRcbiAqIGZvciBhIHBsYXRmb3JtIHNoYXBlIGFuZCB2ZXJzaW9uLCBhY3Jvc3MgYm90aCBzZXBhcmF0b3IgY29udmVudGlvbnMuXG4gKlxuICogQHBhcmFtIHNoYXBlIC0gVGhlIHBsYXRmb3JtIGFzc2V0IHNoYXBlLlxuICogQHBhcmFtIHZlcnNpb24gLSBUaGUgY29uY3JldGUgYHgueS56YCB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIG1hdGNoaW5nIHBhdHRlcm4uXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkQXNzZXROYW1lUGF0dGVybihzaGFwZTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlLCB2ZXJzaW9uOiBzdHJpbmcpOiBSZWdFeHAge1xuICBjb25zdCBpbmZpeEdyb3VwID0gc2hhcGUub3B0aW9uYWxJbmZpeGVzLmxlbmd0aCA+IDBcbiAgICA/IGAoPzoke3NoYXBlLm9wdGlvbmFsSW5maXhlcy5tYXAoKGluZml4KSA9PiBlc2NhcGVSZWdFeHAoaW5maXgpKS5qb2luKCd8Jyl9KT9gXG4gICAgOiAnJztcbiAgcmV0dXJuIG5ldyBSZWdFeHAoXG4gICAgU3RyaW5nLnJhd2BeJHtlc2NhcGVSZWdFeHAoc2hhcGUuYmFzZU5hbWUpfVsuLV0ke2VzY2FwZVJlZ0V4cCh2ZXJzaW9uKX0ke2luZml4R3JvdXB9XFwuJHtlc2NhcGVSZWdFeHAoc2hhcGUuZXh0ZW5zaW9uKX0kYFxuICApO1xufVxuXG4vKipcbiAqIEVzY2FwZXMgYSBzdHJpbmcgZm9yIGxpdGVyYWwgdXNlIGluc2lkZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgcmF3IHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBlc2NhcGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZUFsbCgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csIFN0cmluZy5yYXdgXFwkJmApO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBpbnN0YWxsZXIgYXNzZXQgc2hhcGUgZm9yIGEgcGxhdGZvcm0uXG4gKlxuICogQHBhcmFtIHBsYXRmb3JtIC0gVGhlIE5vZGUuanMgcGxhdGZvcm0gaWRlbnRpZmllci5cbiAqIEByZXR1cm5zIFRoZSBhc3NldCBzaGFwZSAoTGludXggYC50YXIuZ3pgIGZvciBhbnkgbm9uLVdpbmRvd3MvbWFjT1MgcGxhdGZvcm0pLlxuICovXG5mdW5jdGlvbiBnZXRQbGF0Zm9ybUFzc2V0U2hhcGUocGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybSk6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSB7XG4gIGlmIChwbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuICAgIHJldHVybiBXSU5ET1dTX0FTU0VUX1NIQVBFO1xuICB9XG5cbiAgaWYgKHBsYXRmb3JtID09PSAnZGFyd2luJykge1xuICAgIHJldHVybiBNQUNfQVNTRVRfU0hBUEU7XG4gIH1cblxuICByZXR1cm4gTElOVVhfQVNTRVRfU0hBUEU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlEQSxNQUFNLHNCQUFtRDtBQUFBLEVBQ3ZELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDO0FBQ3BCO0FBRUEsTUFBTSxrQkFBK0M7QUFBQSxFQUNuRCxVQUFVO0FBQUEsRUFDVixXQUFXO0FBQUEsRUFDWCxpQkFBaUIsQ0FBQyxZQUFZO0FBQ2hDO0FBRUEsTUFBTSxvQkFBaUQ7QUFBQSxFQUNyRCxVQUFVO0FBQUEsRUFDVixXQUFXO0FBQUEsRUFDWCxpQkFBaUIsQ0FBQztBQUNwQjtBQUtBLE1BQU0sd0JBQXdCLENBQUMsS0FBSyxHQUFHO0FBNERoQyxTQUFTLGtDQUFrQyxRQUEyRDtBQUMzRyxRQUFNLFFBQVEsc0JBQXNCLE9BQU8sUUFBUTtBQUNuRCxRQUFNLFVBQVUsTUFBTSxnQkFBZ0IsU0FBUyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sZUFBZSxJQUFJLENBQUMsRUFBRTtBQUN2RixRQUFNLGFBQXVCLENBQUM7QUFDOUIsYUFBVyxhQUFhLHVCQUF1QjtBQUM3QyxlQUFXLFNBQVMsU0FBUztBQUMzQixpQkFBVyxLQUFLLEdBQUcsTUFBTSxRQUFRLEdBQUcsU0FBUyxHQUFHLE9BQU8sT0FBTyxHQUFHLEtBQUssSUFBSSxNQUFNLFNBQVMsRUFBRTtBQUFBLElBQzdGO0FBQUEsRUFDRjtBQUNBLFNBQU87QUFDVDtBQVdPLFNBQVMseUJBQXlCLFFBQTREO0FBQ25HLFFBQU0sVUFBVSxzQkFBc0Isc0JBQXNCLE9BQU8sUUFBUSxHQUFHLE9BQU8sT0FBTztBQUM1RixTQUFPLE9BQU8sV0FBVyxLQUFLLENBQUMsU0FBUyxRQUFRLEtBQUssSUFBSSxDQUFDO0FBQzVEO0FBV08sU0FBUywyQkFBMkIsUUFBOEQ7QUFDdkcsUUFBTSxFQUFFLFVBQVUsSUFBSTtBQUN0QixNQUFJLENBQUMsV0FBVztBQUNkLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxPQUFPLGFBQWEsU0FBUztBQUMvQixXQUFPLFVBQVU7QUFBQSxFQUNuQjtBQUVBLE1BQUksT0FBTyxhQUFhLFVBQVU7QUFDaEMsV0FBTyxVQUFVO0FBQUEsRUFDbkI7QUFFQSxTQUFPLFVBQVU7QUFDbkI7QUFVQSxTQUFTLHNCQUFzQixPQUFvQyxTQUF5QjtBQUMxRixRQUFNLGFBQWEsTUFBTSxnQkFBZ0IsU0FBUyxJQUM5QyxNQUFNLE1BQU0sZ0JBQWdCLElBQUksQ0FBQyxVQUFVLGFBQWEsS0FBSyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsT0FDekU7QUFDSixTQUFPLElBQUk7QUFBQSxJQUNULE9BQU8sT0FBTyxhQUFhLE1BQU0sUUFBUSxDQUFDLE9BQU8sYUFBYSxPQUFPLENBQUMsR0FBRyxVQUFVLEtBQUssYUFBYSxNQUFNLFNBQVMsQ0FBQztBQUFBLEVBQ3ZIO0FBQ0Y7QUFRQSxTQUFTLGFBQWEsT0FBdUI7QUFDM0MsU0FBTyxNQUFNLFdBQVcsdUJBQXVCLE9BQU8sUUFBUTtBQUNoRTtBQVFBLFNBQVMsc0JBQXNCLFVBQXdEO0FBQ3JGLE1BQUksYUFBYSxTQUFTO0FBQ3hCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxhQUFhLFVBQVU7QUFDekIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -35,29 +35,43 @@ import type { ObsidianVersionDownloads } from './obsidian-metadata.cjs';
|
|
|
35
35
|
* Parameters for {@link buildInstallerAssetNameCandidates}.
|
|
36
36
|
*/
|
|
37
37
|
export interface BuildInstallerAssetNameCandidatesParams {
|
|
38
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
The platform to build candidate names for.
|
|
40
|
+
*/
|
|
39
41
|
readonly platform: NodeJS.Platform;
|
|
40
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
The concrete `x.y.z` version.
|
|
44
|
+
*/
|
|
41
45
|
readonly version: string;
|
|
42
46
|
}
|
|
43
47
|
/**
|
|
44
48
|
* Parameters for {@link selectInstallerAssetName}.
|
|
45
49
|
*/
|
|
46
50
|
export interface SelectInstallerAssetNameParams {
|
|
47
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
The release's asset names (e.g. from the GitHub release API).
|
|
53
|
+
*/
|
|
48
54
|
readonly assetNames: readonly string[];
|
|
49
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
The platform whose installer asset to select.
|
|
57
|
+
*/
|
|
50
58
|
readonly platform: NodeJS.Platform;
|
|
51
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
The concrete `x.y.z` version.
|
|
61
|
+
*/
|
|
52
62
|
readonly version: string;
|
|
53
63
|
}
|
|
54
64
|
/**
|
|
55
65
|
* Parameters for {@link selectInstallerDownloadUrl}.
|
|
56
66
|
*/
|
|
57
67
|
export interface SelectInstallerDownloadUrlParams {
|
|
58
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
The version's baked download URLs, or `undefined` when it is absent from the catalog.
|
|
70
|
+
*/
|
|
59
71
|
readonly downloads: ObsidianVersionDownloads | undefined;
|
|
60
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
The platform whose installer URL to select.
|
|
74
|
+
*/
|
|
61
75
|
readonly platform: NodeJS.Platform;
|
|
62
76
|
}
|
|
63
77
|
/**
|
|
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var installer_compatibility_exports = {};
|
|
20
20
|
__export(installer_compatibility_exports, {
|
|
21
|
-
|
|
21
|
+
resolveInstallerCompatibility: () => resolveInstallerCompatibility
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(installer_compatibility_exports);
|
|
24
24
|
var import_obsidian_version = require("./obsidian-version.cjs");
|
|
25
|
-
function
|
|
25
|
+
function resolveInstallerCompatibility(params) {
|
|
26
26
|
const { appVersion, installerVersion, metadata } = params;
|
|
27
27
|
const minRunnableInstallerVersion = metadata?.minRunnableInstallerVersion;
|
|
28
28
|
const minRecommendedInstallerVersion = metadata?.minRecommendedInstallerVersion;
|
|
@@ -59,6 +59,6 @@ function checkInstallerCompatibility(params) {
|
|
|
59
59
|
}
|
|
60
60
|
// Annotate the CommonJS export names for ESM import in node:
|
|
61
61
|
0 && (module.exports = {
|
|
62
|
-
|
|
62
|
+
resolveInstallerCompatibility
|
|
63
63
|
});
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSB2ZXJkaWN0IG9uIHdoZXRoZXIgYSByZXNvbHZlZCAoT2JzaWRpYW4gYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpciBpc1xuICogY29tcGF0aWJsZSwgY29tcHV0ZWQgb2ZmbGluZSBmcm9tIHRoZSBgbWV0YWRhdGEuanNvbmAgdGhyZXNob2xkcy4gS2VwdCBzZXBhcmF0ZVxuICogZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSBgdHJhbnNwb3J0LWZhY3RvcnlgICh3aGljaCBkcml2ZXMgcmVhbFxuICogZG93bmxvYWRzL2xhdW5jaGVzIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB0aWVyIGxvZ2ljIHN0YXlzXG4gKiB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGByZW5kZXJlci1ib290LWRldGVjdGlvbmAgc3BsaXQuXG4gKlxuICogVHdvIHRocmVzaG9sZHMgZHJpdmUgdGhlIHZlcmRpY3QsIGJvdGggaW5zdGFsbGVyIHZlcnNpb25zIGRpcmVjdGx5IGNvbXBhcmFibGVcbiAqIHRvIHRoZSByZXNvbHZlZCBpbnN0YWxsZXIvc2hlbGwgdmVyc2lvbjpcbiAqXG4gKiAtIGBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb25gIFx1MjAxNCB0aGUgcnVuIGZsb29yLiBCZWxvdyBpdCB0aGUgYXBwIGNhbm5vdCBib290XG4gKiAgIChgJ3VucnVubmFibGUnYCk7IHRoZSBjYWxsZXIgdHVybnMgdGhpcyBpbnRvIGEgcHJvYWN0aXZlXG4gKiAgIGBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JgIGJlZm9yZSBhbnkgZG93bmxvYWQvbGF1bmNoIFx1MjAxNCB1bmxlc3MgdGhlXG4gKiAgIGNhbGxlciBoYXMgZGlzYWJsZWQgdGhlIHByb2FjdGl2ZSB0aHJvdyAoYHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXJgXG4gKiAgIGBmYWxzZWApLCBpbiB3aGljaCBjYXNlIHRoZSBib290IHByb2NlZWRzIGFuZCB0aGUgcmVhY3RpdmUgZGVhZC1ib290IGZhc3QtZmFpbFxuICogICBjYXRjaGVzIGl0LlxuICogLSBgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uYCBcdTIwMTQgdGhlIHJlY29tbWVuZGVkIGZsb29yIChvbGRlciB2ZXJzaW9uc1xuICogICBvbmx5KS4gQXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhpcywgdGhlIGFwcCBydW5zIGJ1dCBpcyBiZWxvd1xuICogICBPYnNpZGlhbidzIHJlY29tbWVuZGF0aW9uIChgJ25hZ2dlZCdgKSwgc3VyZmFjZWQgYXMgYSB3YXJuaW5nLlxuICpcbiAqIFdoZW4gdGhlIGluc3RhbGxlciB2ZXJzaW9uIGlzIHVua25vd24gKGUuZy4gYW4gdW5kZXRlY3RhYmxlIExpbnV4IHNoZWxsKSBvciB0aGVcbiAqIGFwcCB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZSB0YWJsZSwgdGhlIHZlcmRpY3QgaXMgYCd1bmtub3duJ2AgYW5kIG5vdGhpbmcgaXNcbiAqIHRocm93biBvciB3YXJuZWQgXHUyMDE0IHRoZSByZWFjdGl2ZSBkZWFkLWJvb3QgZmFzdC1mYWlsIHJlbWFpbnMgdGhlIHNhZmV0eSBuZXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25NZXRhZGF0YSB9IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcblxuaW1wb3J0IHsgY29tcGFyZVZlcnNpb25zIH0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5cbi8qKlxuICogVGhlIGNvbXBhdGliaWxpdHkgdmVyZGljdCBmb3IgYSByZXNvbHZlZCAoYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpciwgY2FycmllZFxuICogYXMgZGF0YSBvbiB0aGUgdHJhbnNwb3J0IC8gY29ubmVjdGlvbiByZXN1bHQgc28gY29uc3VtZXJzIGNhbiBhc3NlcnQgb24gaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB7XG4gIC8qKlxuICBUaGUgcmVzb2x2ZWQgT2JzaWRpYW4gYXBwIChhc2FyKSB2ZXJzaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICBUaGUgcmVzb2x2ZWQgaW5zdGFsbGVyL0VsZWN0cm9uIHNoZWxsIHZlcnNpb24sIG9yIGBudWxsYCB3aGVuIHVua25vd24uXG4gICAqL1xuICByZWFkb25seSBpbnN0YWxsZXJWZXJzaW9uOiBudWxsIHwgc3RyaW5nO1xuXG4gIC8qKlxuICBBIGh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uLCBwcmVzZW50IGZvciB0aGUgYCduYWdnZWQnYCB0aWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgVGhlIHJlY29tbWVuZGVkIGluc3RhbGxlciBmbG9vciwgd2hlbiB0aGUgdGFibGUgY2FycmllcyBvbmUuXG4gICAqL1xuICByZWFkb25seSBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gIFRoZSBydW4gZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLlxuICAgKi9cbiAgcmVhZG9ubHkgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICBUaGUgcmVzb2x2ZWQgY29tcGF0aWJpbGl0eSB0aWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgdGllcjogSW5zdGFsbGVyQ29tcGF0aWJpbGl0eVRpZXI7XG59XG5cbi8qKlxuICogVGhlIGNvbXBhdGliaWxpdHkgdGllciBvZiBhIHJlc29sdmVkIChhcHAsIGluc3RhbGxlcikgdmVyc2lvbiBwYWlyLlxuICpcbiAqIC0gYCdvaydgIFx1MjAxNCB0aGUgaW5zdGFsbGVyIGlzIGF0IG9yIGFib3ZlIHRoZSByZWNvbW1lbmRlZCBmbG9vciAob3Igbm9cbiAqICAgcmVjb21tZW5kZWQgZmxvb3IgaXMga25vd24pOyBydW5zIHdpdGggZnVsbCBjb21wYXRpYmlsaXR5LlxuICogLSBgJ25hZ2dlZCdgIFx1MjAxNCBhdC9hYm92ZSB0aGUgcnVuIGZsb29yIGJ1dCBiZWxvdyB0aGUgcmVjb21tZW5kZWQgZmxvb3I7IHJ1bnMgYnV0XG4gKiAgIE9ic2lkaWFuIHdvdWxkIHNob3cgaXRzIFwiaW5zdGFsbGVyIHRvbyBvbGRcIiByZWNvbW1lbmRhdGlvbi5cbiAqIC0gYCd1bnJ1bm5hYmxlJ2AgXHUyMDE0IGJlbG93IHRoZSBydW4gZmxvb3I7IHRoZSBhcHAgY2Fubm90IGJvb3Qgb24gdGhpcyBpbnN0YWxsZXIuXG4gKiAtIGAndW5rbm93bidgIFx1MjAxNCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCAoaW5zdGFsbGVyIHZlcnNpb24gdW5rbm93biwgb3IgdGhlIGFwcFxuICogICB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZSB0YWJsZSkuXG4gKi9cbmV4cG9ydCB0eXBlIEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyID0gJ25hZ2dlZCcgfCAnb2snIHwgJ3Vua25vd24nIHwgJ3VucnVubmFibGUnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZXNvbHZlSW5zdGFsbGVyQ29tcGF0aWJpbGl0eX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZUluc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMge1xuICAvKipcbiAgVGhlIHJlc29sdmVkIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGFwcFZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgVGhlIHJlc29sdmVkIGluc3RhbGxlci9FbGVjdHJvbiBzaGVsbCB2ZXJzaW9uLCBvciBgdW5kZWZpbmVkYCB3aGVuIHVua25vd24uXG4gICAqL1xuICByZWFkb25seSBpbnN0YWxsZXJWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gIFRoZSBgbWV0YWRhdGEuanNvbmAgZW50cnkgZm9yIHtAbGluayBhcHBWZXJzaW9ufSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBhYnNlbnQuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogT2JzaWRpYW5WZXJzaW9uTWV0YWRhdGEgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGNvbXBhdGliaWxpdHkgdmVyZGljdCBmb3IgYSByZXNvbHZlZCAoYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpci5cbiAqXG4gKiBPbmx5IGAndW5ydW5uYWJsZSdgIHdhcnJhbnRzIGFuIGVycm9yOyBgJ25hZ2dlZCdgIHdhcnJhbnRzIGEgd2FybmluZzsgYCdvaydgIGFuZFxuICogYCd1bmtub3duJ2AgYXJlIHNpbGVudC4gQ29tcGFyaXNvbnMgYXJlIHB1cmUgYHgueS56YCB2ZXJzaW9uIGNvbXBhcmVzIFx1MjAxNCBubyBJL08uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSByZXNvbHZlZCB2ZXJzaW9ucyBhbmQgdGhlIGFwcCB2ZXJzaW9uJ3MgbWV0YWRhdGEgZW50cnkuXG4gKiBAcmV0dXJucyBUaGUgY29tcGF0aWJpbGl0eSB2ZXJkaWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUluc3RhbGxlckNvbXBhdGliaWxpdHkocGFyYW1zOiBSZXNvbHZlSW5zdGFsbGVyQ29tcGF0aWJpbGl0eVBhcmFtcyk6IEluc3RhbGxlckNvbXBhdGliaWxpdHkge1xuICBjb25zdCB7IGFwcFZlcnNpb24sIGluc3RhbGxlclZlcnNpb24sIG1ldGFkYXRhIH0gPSBwYXJhbXM7XG4gIGNvbnN0IG1pblJ1bm5hYmxlSW5zdGFsbGVyVmVyc2lvbiA9IG1ldGFkYXRhPy5taW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb247XG4gIGNvbnN0IG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiA9IG1ldGFkYXRhPy5taW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb247XG5cbiAgaWYgKGluc3RhbGxlclZlcnNpb24gPT09IHVuZGVmaW5lZCB8fCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGFwcFZlcnNpb24sIGluc3RhbGxlclZlcnNpb246IGluc3RhbGxlclZlcnNpb24gPz8gbnVsbCwgdGllcjogJ3Vua25vd24nIH07XG4gIH1cblxuICBjb25zdCByZWNvbW1lbmRlZEZsb29yID0gbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uICE9PSB1bmRlZmluZWQgJiYgeyBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24gfTtcblxuICBpZiAoY29tcGFyZVZlcnNpb25zKGluc3RhbGxlclZlcnNpb24sIG1pblJ1bm5hYmxlSW5zdGFsbGVyVmVyc2lvbikgPCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwcFZlcnNpb24sXG4gICAgICBpbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgdGllcjogJ3VucnVubmFibGUnLFxuICAgICAgLi4ucmVjb21tZW5kZWRGbG9vclxuICAgIH07XG4gIH1cblxuICBpZiAobWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uICE9PSB1bmRlZmluZWQgJiYgY29tcGFyZVZlcnNpb25zKGluc3RhbGxlclZlcnNpb24sIG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbikgPCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwcFZlcnNpb24sXG4gICAgICBpbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgbWVzc2FnZTogYE9ic2lkaWFuIGluc3RhbGxlciAke2luc3RhbGxlclZlcnNpb259IHJ1bnMgT2JzaWRpYW4gJHthcHBWZXJzaW9ufSBidXQgaXMgb2xkZXIgdGhhbiB0aGUgYFxuICAgICAgICArIGByZWNvbW1lbmRlZCBpbnN0YWxsZXIgJHttaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb259OyB1cGRhdGUgdGhlIGluc3RhbGxlciBmb3IgZnVsbCBjb21wYXRpYmlsaXR5LmAsXG4gICAgICBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24sXG4gICAgICBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24sXG4gICAgICB0aWVyOiAnbmFnZ2VkJ1xuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFwcFZlcnNpb24sXG4gICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24sXG4gICAgdGllcjogJ29rJyxcbiAgICAuLi5yZWNvbW1lbmRlZEZsb29yXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBLDhCQUFnQztBQWdGekIsU0FBUyw4QkFBOEIsUUFBcUU7QUFDakgsUUFBTSxFQUFFLFlBQVksa0JBQWtCLFNBQVMsSUFBSTtBQUNuRCxRQUFNLDhCQUE4QixVQUFVO0FBQzlDLFFBQU0saUNBQWlDLFVBQVU7QUFFakQsTUFBSSxxQkFBcUIsVUFBYSxnQ0FBZ0MsUUFBVztBQUMvRSxXQUFPLEVBQUUsWUFBWSxrQkFBa0Isb0JBQW9CLE1BQU0sTUFBTSxVQUFVO0FBQUEsRUFDbkY7QUFFQSxRQUFNLG1CQUFtQixtQ0FBbUMsVUFBYSxFQUFFLCtCQUErQjtBQUUxRyxVQUFJLHlDQUFnQixrQkFBa0IsMkJBQTJCLElBQUksR0FBRztBQUN0RSxXQUFPO0FBQUEsTUFDTDtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQSxNQUFNO0FBQUEsTUFDTixHQUFHO0FBQUEsSUFDTDtBQUFBLEVBQ0Y7QUFFQSxNQUFJLG1DQUFtQyxjQUFhLHlDQUFnQixrQkFBa0IsOEJBQThCLElBQUksR0FBRztBQUN6SCxXQUFPO0FBQUEsTUFDTDtBQUFBLE1BQ0E7QUFBQSxNQUNBLFNBQVMsc0JBQXNCLGdCQUFnQixrQkFBa0IsVUFBVSxnREFDOUMsOEJBQThCO0FBQUEsTUFDM0Q7QUFBQSxNQUNBO0FBQUEsTUFDQSxNQUFNO0FBQUEsSUFDUjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxNQUFNO0FBQUEsSUFDTixHQUFHO0FBQUEsRUFDTDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -25,33 +25,34 @@
|
|
|
25
25
|
* thrown or warned — the reactive dead-boot fast-fail remains the safety net.
|
|
26
26
|
*/
|
|
27
27
|
import type { ObsidianVersionMetadata } from './obsidian-metadata.cjs';
|
|
28
|
-
/**
|
|
29
|
-
* Parameters for {@link checkInstallerCompatibility}.
|
|
30
|
-
*/
|
|
31
|
-
export interface CheckInstallerCompatibilityParams {
|
|
32
|
-
/** The resolved Obsidian app (asar) version. */
|
|
33
|
-
readonly appVersion: string;
|
|
34
|
-
/** The resolved installer/Electron shell version, or `undefined` when unknown. */
|
|
35
|
-
readonly installerVersion: string | undefined;
|
|
36
|
-
/** The `metadata.json` entry for {@link appVersion}, or `undefined` when absent. */
|
|
37
|
-
readonly metadata: ObsidianVersionMetadata | undefined;
|
|
38
|
-
}
|
|
39
28
|
/**
|
|
40
29
|
* The compatibility verdict for a resolved (app, installer) version pair, carried
|
|
41
30
|
* as data on the transport / connection result so consumers can assert on it.
|
|
42
31
|
*/
|
|
43
32
|
export interface InstallerCompatibility {
|
|
44
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
The resolved Obsidian app (asar) version.
|
|
35
|
+
*/
|
|
45
36
|
readonly appVersion: string;
|
|
46
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
The resolved installer/Electron shell version, or `null` when unknown.
|
|
39
|
+
*/
|
|
47
40
|
readonly installerVersion: null | string;
|
|
48
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
A human-readable explanation, present for the `'nagged'` tier.
|
|
43
|
+
*/
|
|
49
44
|
readonly message?: string;
|
|
50
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
The recommended installer floor, when the table carries one.
|
|
47
|
+
*/
|
|
51
48
|
readonly minRecommendedInstallerVersion?: string;
|
|
52
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
The run floor, when the table carries one.
|
|
51
|
+
*/
|
|
53
52
|
readonly minRunnableInstallerVersion?: string;
|
|
54
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
The resolved compatibility tier.
|
|
55
|
+
*/
|
|
55
56
|
readonly tier: InstallerCompatibilityTier;
|
|
56
57
|
}
|
|
57
58
|
/**
|
|
@@ -66,6 +67,23 @@ export interface InstallerCompatibility {
|
|
|
66
67
|
* version is absent from the table).
|
|
67
68
|
*/
|
|
68
69
|
export type InstallerCompatibilityTier = 'nagged' | 'ok' | 'unknown' | 'unrunnable';
|
|
70
|
+
/**
|
|
71
|
+
* Parameters for {@link resolveInstallerCompatibility}.
|
|
72
|
+
*/
|
|
73
|
+
export interface ResolveInstallerCompatibilityParams {
|
|
74
|
+
/**
|
|
75
|
+
The resolved Obsidian app (asar) version.
|
|
76
|
+
*/
|
|
77
|
+
readonly appVersion: string;
|
|
78
|
+
/**
|
|
79
|
+
The resolved installer/Electron shell version, or `undefined` when unknown.
|
|
80
|
+
*/
|
|
81
|
+
readonly installerVersion: string | undefined;
|
|
82
|
+
/**
|
|
83
|
+
The `metadata.json` entry for {@link appVersion}, or `undefined` when absent.
|
|
84
|
+
*/
|
|
85
|
+
readonly metadata: ObsidianVersionMetadata | undefined;
|
|
86
|
+
}
|
|
69
87
|
/**
|
|
70
88
|
* Computes the compatibility verdict for a resolved (app, installer) version pair.
|
|
71
89
|
*
|
|
@@ -75,4 +93,4 @@ export type InstallerCompatibilityTier = 'nagged' | 'ok' | 'unknown' | 'unrunnab
|
|
|
75
93
|
* @param params - The resolved versions and the app version's metadata entry.
|
|
76
94
|
* @returns The compatibility verdict.
|
|
77
95
|
*/
|
|
78
|
-
export declare function
|
|
96
|
+
export declare function resolveInstallerCompatibility(params: ResolveInstallerCompatibilityParams): InstallerCompatibility;
|
|
@@ -19,7 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var global_setup_no_plugin_exports = {};
|
|
20
20
|
__export(global_setup_no_plugin_exports, {
|
|
21
21
|
default: () => global_setup_no_plugin_default,
|
|
22
|
-
|
|
22
|
+
getTemporaryVault: () => import_global_setup2.getTemporaryVault,
|
|
23
23
|
getTransportOptions: () => import_global_setup2.getTransportOptions,
|
|
24
24
|
setup: () => setup,
|
|
25
25
|
teardown: () => teardown
|
|
@@ -33,9 +33,9 @@ const teardown = noPluginGlobalSetup.teardown;
|
|
|
33
33
|
var global_setup_no_plugin_default = setup;
|
|
34
34
|
// Annotate the CommonJS export names for ESM import in node:
|
|
35
35
|
0 && (module.exports = {
|
|
36
|
-
|
|
36
|
+
getTemporaryVault,
|
|
37
37
|
getTransportOptions,
|
|
38
38
|
setup,
|
|
39
39
|
teardown
|
|
40
40
|
});
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXNldHVwLW5vLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEplc3QgKipwbHVnaW4tbGVzcyoqIGdsb2JhbCBzZXR1cCBlbnRyeSBwb2ludC5cbiAqXG4gKiBUaGUgY291bnRlcnBhcnQgdG8gYC4vZ2xvYmFsLXNldHVwLnRzYCAod2hpY2ggaW5zdGFsbHMgYW5kIGVuYWJsZXMgdGhlIGJ1aWx0XG4gKiBwbHVnaW4pLiBUaGlzIG9uZSBydW5zIHtAbGluayBjcmVhdGVTZXR1cH0gd2l0aCBgaW5zdGFsbFBsdWdpbjogZmFsc2VgLCBzbyBpdFxuICogcmVnaXN0ZXJzIGFuICoqZW1wdHkqKiB0ZW1wIHZhdWx0IGFuZCBwdWJsaXNoZXMgdGhlIG93bmVkLWluc3RhbmNlIGVuZHBvaW50IHRvXG4gKiB3b3JrZXJzIHdpdGhvdXQgY29weWluZyBvciBlbmFibGluZyBhbnkgcGx1Z2luLiBJdHMgZGVmYXVsdCBleHBvcnQgaXMgdGhlIHNldHVwXG4gKiBmdW5jdGlvbiwgYXMgSmVzdCdzIGBnbG9iYWxTZXR1cGAgbG9hZGVyIHJlcXVpcmVzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTZXR1cCB9IGZyb20gJy4vZ2xvYmFsLXNldHVwLmNqcyc7XG5cbmNvbnN0IG5vUGx1Z2luR2xvYmFsU2V0dXAgPSBjcmVhdGVTZXR1cCh7IGluc3RhbGxQbHVnaW46IGZhbHNlIH0pO1xuXG4vKipcbiAqIEplc3QgZ2xvYmFsIHNldHVwIGZ1bmN0aW9uIChwbHVnaW4tbGVzcykuXG4gKlxuICogUmVnaXN0ZXJzIGFuIGVtcHR5IHRlbXAgdmF1bHQgYW5kIHBvcHVsYXRlcyBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYFxuICogZm9yIHRlc3RzLCB3aXRob3V0IGNvcHlpbmcgb3IgZW5hYmxpbmcgYW55IHBsdWdpbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldHVwID0gbm9QbHVnaW5HbG9iYWxTZXR1cC5zZXR1cDtcblxuLyoqXG4gKiBKZXN0IGdsb2JhbCB0ZWFyZG93biBmdW5jdGlvbi5cbiAqXG4gKiBSZW1vdmVzIHRoZSB0ZW1wb3JhcnkgdmF1bHQgY3JlYXRlZCBkdXJpbmcgc2V0dXAuXG4gKi9cbmV4cG9ydCBjb25zdCB0ZWFyZG93biA9IG5vUGx1Z2luR2xvYmFsU2V0dXAudGVhcmRvd247XG5cbmV4cG9ydCB7XG4gIGdldFRlbXBvcmFyeVZhdWx0LFxuICBnZXRUcmFuc3BvcnRPcHRpb25zXG59IGZyb20gJy4vZ2xvYmFsLXNldHVwLmNqcyc7XG5cbi8vIEplc3QncyBgZ2xvYmFsU2V0dXBgIGNvbmZpZyBjYW4gcmVmZXJlbmNlIHRoaXMgbW9kdWxlIGRpcmVjdGx5IGJlY2F1c2UgaXRzIGRlZmF1bHQgZXhwb3J0IGlzIHRoZSBzZXR1cCBmdW5jdGlvbi5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1kZWZhdWx0LWV4cG9ydCAtLSBKZXN0J3MgZ2xvYmFsU2V0dXAgbG9hZGVyIHJlcXVpcmVzIGEgZGVmYXVsdC1leHBvcnQgZnVuY3Rpb24uXG5leHBvcnQgZGVmYXVsdCBzZXR1cDtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLDBCQUE0QjtBQW1CNUIsSUFBQUEsdUJBR087QUFwQlAsTUFBTSwwQkFBc0IsaUNBQVksRUFBRSxlQUFlLE1BQU0sQ0FBQztBQVF6RCxNQUFNLFFBQVEsb0JBQW9CO0FBT2xDLE1BQU0sV0FBVyxvQkFBb0I7QUFTNUMsSUFBTyxpQ0FBUTsiLAogICJuYW1lcyI6IFsiaW1wb3J0X2dsb2JhbF9zZXR1cCJdCn0K
|
|
@@ -22,5 +22,5 @@ export declare const setup: (this: void) => Promise<void>;
|
|
|
22
22
|
* Removes the temporary vault created during setup.
|
|
23
23
|
*/
|
|
24
24
|
export declare const teardown: (this: void) => Promise<void>;
|
|
25
|
-
export {
|
|
25
|
+
export { getTemporaryVault, getTransportOptions } from './global-setup.cjs';
|
|
26
26
|
export default setup;
|
|
@@ -20,7 +20,7 @@ var global_setup_exports = {};
|
|
|
20
20
|
__export(global_setup_exports, {
|
|
21
21
|
createSetup: () => createSetup,
|
|
22
22
|
default: () => global_setup_default,
|
|
23
|
-
|
|
23
|
+
getTemporaryVault: () => getTemporaryVault,
|
|
24
24
|
getTransportOptions: () => getTransportOptions,
|
|
25
25
|
setup: () => setup,
|
|
26
26
|
teardown: () => teardown
|
|
@@ -28,9 +28,9 @@ __export(global_setup_exports, {
|
|
|
28
28
|
module.exports = __toCommonJS(global_setup_exports);
|
|
29
29
|
var import_context_provider = require("../context-provider.cjs");
|
|
30
30
|
var import_global_setup_core = require("../global-setup-core.cjs");
|
|
31
|
-
var
|
|
31
|
+
var import_temporary_vault = require("../temporary-vault.cjs");
|
|
32
32
|
(0, import_context_provider.setTransportOptionsResolver)(() => globalThis.__obsidianIntegrationTesting?.transportOptions);
|
|
33
|
-
(0, import_context_provider.setVaultPathResolver)(() => globalThis.__obsidianIntegrationTesting?.
|
|
33
|
+
(0, import_context_provider.setVaultPathResolver)(() => globalThis.__obsidianIntegrationTesting?.temporaryVaultPath);
|
|
34
34
|
function createSetup(options) {
|
|
35
35
|
let setupResult;
|
|
36
36
|
return { setup: setup2, teardown: teardown2 };
|
|
@@ -44,7 +44,7 @@ function createSetup(options) {
|
|
|
44
44
|
});
|
|
45
45
|
globalThis.__obsidianIntegrationTesting = {
|
|
46
46
|
...globalThis.__obsidianIntegrationTesting,
|
|
47
|
-
|
|
47
|
+
temporaryVaultPath: setupResult.temporaryVault.path,
|
|
48
48
|
transportOptions: setupResult.transportOptions
|
|
49
49
|
};
|
|
50
50
|
}
|
|
@@ -52,14 +52,14 @@ function createSetup(options) {
|
|
|
52
52
|
await (0, import_global_setup_core.coreTeardown)(setupResult);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
function
|
|
56
|
-
const
|
|
57
|
-
if (!
|
|
55
|
+
function getTemporaryVault() {
|
|
56
|
+
const temporaryVaultPath = globalThis.__obsidianIntegrationTesting?.temporaryVaultPath;
|
|
57
|
+
if (!temporaryVaultPath) {
|
|
58
58
|
throw new Error(
|
|
59
|
-
"globalThis.__obsidianIntegrationTesting.
|
|
59
|
+
"globalThis.__obsidianIntegrationTesting.temporaryVaultPath is not set. Did you configure obsidian-integration-testing/jest-global-setup as a Jest globalSetup?"
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
|
-
return new
|
|
62
|
+
return new import_temporary_vault.TemporaryVault(temporaryVaultPath);
|
|
63
63
|
}
|
|
64
64
|
function getTransportOptions() {
|
|
65
65
|
return globalThis.__obsidianIntegrationTesting?.transportOptions;
|
|
@@ -71,9 +71,9 @@ var global_setup_default = setup;
|
|
|
71
71
|
// Annotate the CommonJS export names for ESM import in node:
|
|
72
72
|
0 && (module.exports = {
|
|
73
73
|
createSetup,
|
|
74
|
-
|
|
74
|
+
getTemporaryVault,
|
|
75
75
|
getTransportOptions,
|
|
76
76
|
setup,
|
|
77
77
|
teardown
|
|
78
78
|
});
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXNldHVwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSmVzdCBnbG9iYWwgc2V0dXAgYW5kIHRlYXJkb3duIGFkYXB0ZXIuXG4gKlxuICogRGVsZWdhdGVzIHRvIHRoZSBmcmFtZXdvcmstYWdub3N0aWMgY29yZSBhbmQgYnJpZGdlcyBjb250ZXh0XG4gKiB0byB0ZXN0IHdvcmtlcnMgdmlhIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvcmVTZXR1cFJlc3VsdCB9IGZyb20gJy4uL2dsb2JhbC1zZXR1cC1jb3JlLmNqcyc7XG5pbXBvcnQgdHlwZSB7IFBvcHVsYXRlRmlsZXNQYXJhbXMgfSBmcm9tICcuLi90ZW1wLXZhdWx0LmNqcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4uL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5cbmltcG9ydCB7XG4gIHNldFRyYW5zcG9ydE9wdGlvbnNSZXNvbHZlcixcbiAgc2V0VmF1bHRQYXRoUmVzb2x2ZXJcbn0gZnJvbSAnLi4vY29udGV4dC1wcm92aWRlci5janMnO1xuaW1wb3J0IHtcbiAgY29yZVNldHVwLFxuICBjb3JlVGVhcmRvd25cbn0gZnJvbSAnLi4vZ2xvYmFsLXNldHVwLWNvcmUuY2pzJztcbmltcG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4uL3RlbXAtdmF1bHQuY2pzJztcblxuLyoqXG4gKiBTaGFwZSBvZiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYC5cbiAqXG4gKiBDb25zdW1lcnMgbWF5IHByZS1wb3B1bGF0ZSBgdHJhbnNwb3J0T3B0aW9uc2AgYmVmb3JlIHRoZSBnbG9iYWwgc2V0dXAgcnVuc1xuICogKGUuZy4sIHZpYSBKZXN0IGNvbmZpZyBgZ2xvYmFsc2ApLiBUaGUgc2V0dXAgdGhlbiBhZGRzIGB0ZW1wVmF1bHRQYXRoYC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nR2xvYmFsIHtcbiAgLyoqIFRlbXAgdmF1bHQgcGF0aCwgc2V0IGJ5IHRoZSBnbG9iYWwgc2V0dXAgZm9yIHRlc3Qgd29ya2Vycy4gKi9cbiAgdGVtcFZhdWx0UGF0aD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVHJhbnNwb3J0IG9wdGlvbnMuIFNldCBieSB0aGUgY29uc3VtZXIgYmVmb3JlIHNldHVwLCBvciBieSB0aGUgc2V0dXAgaXRzZWxmLiAqL1xuICB0cmFuc3BvcnRPcHRpb25zPzogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSB2YXJzLW9uLXRvcCAtLSBSZXF1aXJlZCBmb3IgYGRlY2xhcmUgZ2xvYmFsYCBhdWdtZW50YXRpb24uICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgZm9yIGFsbCBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgZ2xvYmFsIHN0YXRlLlxuICAgKiBDb25zdW1lcnMgY29uZmlndXJlIHRyYW5zcG9ydCBvcHRpb25zIGhlcmU7IHRoZSBzZXR1cCBwb3B1bGF0ZXMgdGhlIHJlc3QuXG4gICAqL1xuICB2YXIgX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZzogT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdHbG9iYWwgfCB1bmRlZmluZWQ7XG59XG4vKiBlc2xpbnQtZW5hYmxlIHZhcnMtb24tdG9wIC0tIEVuZCBvZiBgZGVjbGFyZSBnbG9iYWxgIGJsb2NrLiAqL1xuXG5zZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIoKCkgPT4gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cmFuc3BvcnRPcHRpb25zKTtcbnNldFZhdWx0UGF0aFJlc29sdmVyKCgpID0+IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udGVtcFZhdWx0UGF0aCk7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNyZWF0ZVNldHVwfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTZXR1cE9wdGlvbnMge1xuICAvKipcbiAgICogQ29tbXVuaXR5LXBsdWdpbiBpZHMgdG8gZW5hYmxlIGluIHRoZSB2YXVsdCBpbiBhZGRpdGlvbiB0byB0aGUgcGx1Z2luLXVuZGVyLXRlc3QsXG4gICAqIGFmdGVyIGl0IGlzIGVuYWJsZWQgKHNlZSB7QGxpbmsgQ29yZVNldHVwUGFyYW1zLmVuYWJsZUNvbW11bml0eVBsdWdpbnN9KS4gU2VlZCBlYWNoXG4gICAqIHBsdWdpbidzIGJ1aWx0IGZpbGVzIHZpYSB7QGxpbmsgQ3JlYXRlU2V0dXBPcHRpb25zLnBvcHVsYXRlfSAoZS5nLiB3aXRoIGBidWlsZERlbW9WYXVsdFBvcHVsYXRlYClcbiAgICogc28gdGhlIGVuYWJsZSBmaW5kcyB0aGVtIG9uIGRpc2suXG4gICAqL1xuICByZWFkb25seSBlbmFibGVDb21tdW5pdHlQbHVnaW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5zdGFsbCBhbmQgZW5hYmxlIHRoZSBidWlsdCBwbHVnaW4gaW4gdGhlIHRlbXAgdmF1bHQuIERlZmF1bHRzXG4gICAqIHRvIGB0cnVlYC4gU2V0IHRvIGBmYWxzZWAgZm9yIGEgKipub24tcGx1Z2luKiogY29uc3VtZXIgdGhhdCBvbmx5IG5lZWRzIGFcbiAgICogcmVnaXN0ZXJlZCwgZW1wdHkgdmF1bHQgdG8gYGV2YWxJbk9ic2lkaWFuYCBhZ2FpbnN0IFx1MjAxNCB0aGUgb3duZWQgaW5zdGFuY2UgaXNcbiAgICogc3RpbGwgbGF1bmNoZWQgYW5kIGl0cyBlbmRwb2ludCBwdWJsaXNoZWQgdG8gd29ya2Vycywgc28gcmUtZXhwb3J0aW5nXG4gICAqIGBjcmVhdGVTZXR1cCh7IGluc3RhbGxQbHVnaW46IGZhbHNlIH0pYCByZXVzZXMgdGhlIHNhbWUgYXR0YWNoIHdpcmluZyB3aXRoIG5vXG4gICAqIHBsdWdpbiBjb3B5L2VuYWJsZS4gU2VlIHtAbGluayBDb3JlU2V0dXBQYXJhbXMuaW5zdGFsbFBsdWdpbn0uXG4gICAqL1xuICByZWFkb25seSBpbnN0YWxsUGx1Z2luPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlcy9mb2xkZXJzIHRvIHdyaXRlIGludG8gdGhlIHZhdWx0IGJlZm9yZSBPYnNpZGlhbiBvcGVucyBpdCAoc2VlXG4gICAqIHtAbGluayBDb3JlU2V0dXBQYXJhbXMucG9wdWxhdGV9KS4gQSB0aHVuayBzbyBsYXJnZSBmaXh0dXJlcyBhcmUgYnVpbHQgbGF6aWx5LFxuICAgKiBvbmNlLCBpbiB0aGUgc2V0dXAgcHJvY2Vzcy5cbiAgICovXG4gIHBvcHVsYXRlPyh0aGlzOiB2b2lkKTogUG9wdWxhdGVGaWxlc1BhcmFtcztcbn1cblxuLyoqXG4gKiBBIEplc3QgYGdsb2JhbFNldHVwYCAvIGBnbG9iYWxUZWFyZG93bmAgbW9kdWxlJ3MgYHNldHVwYCAvIGB0ZWFyZG93bmAgcGFpci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKZXN0R2xvYmFsU2V0dXAge1xuICBzZXR1cCh0aGlzOiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcbiAgdGVhcmRvd24odGhpczogdm9pZCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIEplc3QgZ2xvYmFsIHNldHVwL3RlYXJkb3duIHBhaXIsIG9wdGlvbmFsbHkgcHJlLXBvcHVsYXRpbmcgdGhlIHZhdWx0XG4gKiBiZWZvcmUgT2JzaWRpYW4gb3BlbnMgaXQgXHUyMDE0IHVzZSB0aGlzIGZvciBhIGRlZGljYXRlZCBsYXJnZS12YXVsdC9wZXJmb3JtYW5jZVxuICogc2V0dXAuIFRoZSBwbGFpbiB7QGxpbmsgc2V0dXB9IC8ge0BsaW5rIHRlYXJkb3dufSBleHBvcnRzIGFyZSB0aGUgbm8tcG9wdWxhdGVcbiAqIGNhc2UgKGBjcmVhdGVTZXR1cCgpYCkuIFBhc3MgYHsgaW5zdGFsbFBsdWdpbjogZmFsc2UgfWAgZm9yIGEgbm9uLXBsdWdpbiBjb25zdW1lclxuICogdGhhdCBvbmx5IG5lZWRzIGEgcmVnaXN0ZXJlZCwgZW1wdHkgdmF1bHQgKHNlZSB7QGxpbmsgQ3JlYXRlU2V0dXBPcHRpb25zLmluc3RhbGxQbHVnaW59KS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFNldHVwIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgYHNldHVwYCBhbmQgYHRlYXJkb3duYCBmdW5jdGlvbnMgdG8gcmUtZXhwb3J0IGZyb20gYSBgZ2xvYmFsU2V0dXBgIG1vZHVsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNldHVwKG9wdGlvbnM/OiBDcmVhdGVTZXR1cE9wdGlvbnMpOiBKZXN0R2xvYmFsU2V0dXAge1xuICBsZXQgc2V0dXBSZXN1bHQ6IENvcmVTZXR1cFJlc3VsdCB8IHVuZGVmaW5lZDtcblxuICByZXR1cm4geyBzZXR1cCwgdGVhcmRvd24gfTtcblxuICBhc3luYyBmdW5jdGlvbiBzZXR1cCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0cmFuc3BvcnRPcHRpb25zID0gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cmFuc3BvcnRPcHRpb25zO1xuXG4gICAgc2V0dXBSZXN1bHQgPSBhd2FpdCBjb3JlU2V0dXAoe1xuICAgICAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luczogb3B0aW9ucz8uZW5hYmxlQ29tbXVuaXR5UGx1Z2lucyxcbiAgICAgIGluc3RhbGxQbHVnaW46IG9wdGlvbnM/Lmluc3RhbGxQbHVnaW4sXG4gICAgICBwb3B1bGF0ZTogb3B0aW9ucz8ucG9wdWxhdGU/LigpLFxuICAgICAgdHJhbnNwb3J0T3B0aW9uc1xuICAgIH0pO1xuXG4gICAgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nID0ge1xuICAgICAgLi4uZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nLFxuICAgICAgdGVtcFZhdWx0UGF0aDogc2V0dXBSZXN1bHQudGVtcFZhdWx0LnBhdGgsXG4gICAgICB0cmFuc3BvcnRPcHRpb25zOiBzZXR1cFJlc3VsdC50cmFuc3BvcnRPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHRlYXJkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGNvcmVUZWFyZG93bihzZXR1cFJlc3VsdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0ZW1wb3JhcnkgdmF1bHQgcHJvdmlkZWQgYnkgdGhlIGdsb2JhbCBzZXR1cC5cbiAqXG4gKiBSZWFkcyB0aGUgdmF1bHQgcGF0aCBmcm9tIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudGVtcFZhdWx0UGF0aGAsXG4gKiB3aGljaCBpcyBzZXQgYnkgdGhlIEplc3QgZ2xvYmFsIHNldHVwLlxuICpcbiAqIEByZXR1cm5zIFRoZSB0ZW1wb3JhcnkgdmF1bHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZW1wVmF1bHQoKTogVGVtcFZhdWx0IHtcbiAgY29uc3QgdGVtcFZhdWx0UGF0aCA9IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udGVtcFZhdWx0UGF0aDtcbiAgaWYgKCF0ZW1wVmF1bHRQYXRoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2dsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy50ZW1wVmF1bHRQYXRoIGlzIG5vdCBzZXQuIERpZCB5b3UgY29uZmlndXJlIG9ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcvamVzdC1nbG9iYWwtc2V0dXAgYXMgYSBKZXN0IGdsb2JhbFNldHVwPydcbiAgICApO1xuICB9XG4gIHJldHVybiBuZXcgVGVtcFZhdWx0KHRlbXBWYXVsdFBhdGgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHRyYW5zcG9ydCBvcHRpb25zIHByb3ZpZGVkIGJ5IHRoZSBnbG9iYWwgc2V0dXAuXG4gKlxuICogQHJldHVybnMgVGhlIHRyYW5zcG9ydCBvcHRpb25zLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYW5zcG9ydE9wdGlvbnMoKTogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udHJhbnNwb3J0T3B0aW9ucztcbn1cblxuY29uc3QgZGVmYXVsdEdsb2JhbFNldHVwID0gY3JlYXRlU2V0dXAoKTtcblxuLyoqXG4gKiBKZXN0IGdsb2JhbCBzZXR1cCBmdW5jdGlvbiAobm8gcHJlLXBvcHVsYXRpb24pLlxuICpcbiAqIENvcGllcyB0aGUgYnVpbHQgcGx1Z2luIGludG8gYSB0ZW1wb3JhcnkgdmF1bHQsIGVuYWJsZXMgaXQgdmlhIGEgcmVuZGVyZXIgZXZhbFxuICogb3ZlciB0aGUgdHJhbnNwb3J0LCBhbmQgcG9wdWxhdGVzIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgIGZvciB0ZXN0cy5cbiAqXG4gKiBUcmFuc3BvcnQgb3B0aW9ucyBhcmUgcmVhZCBmcm9tIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudHJhbnNwb3J0T3B0aW9uc2AuXG4gKiBTZXQgdGhpcyBpbiB5b3VyIEplc3QgY29uZmlnIHZpYSB0aGUgYGdsb2JhbHNgIG9wdGlvbi5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHNldHVwIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldHVwID0gZGVmYXVsdEdsb2JhbFNldHVwLnNldHVwO1xuXG4vKipcbiAqIEplc3QgZ2xvYmFsIHRlYXJkb3duIGZ1bmN0aW9uLlxuICpcbiAqIFJlbW92ZXMgdGhlIHRlbXBvcmFyeSB2YXVsdCBjcmVhdGVkIGR1cmluZyBzZXR1cC5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRlYXJkb3duIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHRlYXJkb3duID0gZGVmYXVsdEdsb2JhbFNldHVwLnRlYXJkb3duO1xuXG4vLyBKZXN0J3MgYGdsb2JhbFNldHVwYCBjb25maWcgY2FuIHJlZmVyZW5jZSB0aGlzIG1vZHVsZSBkaXJlY3RseSBiZWNhdXNlIGl0cyBkZWZhdWx0IGV4cG9ydCBpcyB0aGUgc2V0dXAgZnVuY3Rpb24uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnQgLS0gSmVzdCdzIGdsb2JhbFNldHVwIGxvYWRlciByZXF1aXJlcyBhIGRlZmF1bHQtZXhwb3J0IGZ1bmN0aW9uLlxuZXhwb3J0IGRlZmF1bHQgc2V0dXA7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLDhCQUdPO0FBQ1AsK0JBR087QUFDUCx3QkFBMEI7QUFBQSxJQTBCMUIscURBQTRCLE1BQU0sV0FBVyw4QkFBOEIsZ0JBQWdCO0FBQUEsSUFDM0YsOENBQXFCLE1BQU0sV0FBVyw4QkFBOEIsYUFBYTtBQWtEMUUsU0FBUyxZQUFZLFNBQStDO0FBQ3pFLE1BQUk7QUFFSixTQUFPLEVBQUUsT0FBQUEsUUFBTyxVQUFBQyxVQUFTO0FBRXpCLGlCQUFlRCxTQUF1QjtBQUNwQyxVQUFNLG1CQUFtQixXQUFXLDhCQUE4QjtBQUVsRSxrQkFBYyxVQUFNLG9DQUFVO0FBQUEsTUFDNUIsd0JBQXdCLFNBQVM7QUFBQSxNQUNqQyxlQUFlLFNBQVM7QUFBQSxNQUN4QixVQUFVLFNBQVMsV0FBVztBQUFBLE1BQzlCO0FBQUEsSUFDRixDQUFDO0FBRUQsZUFBVywrQkFBK0I7QUFBQSxNQUN4QyxHQUFHLFdBQVc7QUFBQSxNQUNkLGVBQWUsWUFBWSxVQUFVO0FBQUEsTUFDckMsa0JBQWtCLFlBQVk7QUFBQSxJQUNoQztBQUFBLEVBQ0Y7QUFFQSxpQkFBZUMsWUFBMEI7QUFDdkMsY0FBTSx1Q0FBYSxXQUFXO0FBQUEsRUFDaEM7QUFDRjtBQVVPLFNBQVMsZUFBMEI7QUFDeEMsUUFBTSxnQkFBZ0IsV0FBVyw4QkFBOEI7QUFDL0QsTUFBSSxDQUFDLGVBQWU7QUFDbEIsVUFBTSxJQUFJO0FBQUEsTUFDUjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTyxJQUFJLDRCQUFVLGFBQWE7QUFDcEM7QUFPTyxTQUFTLHNCQUE0RDtBQUMxRSxTQUFPLFdBQVcsOEJBQThCO0FBQ2xEO0FBRUEsTUFBTSxxQkFBcUIsWUFBWTtBQWFoQyxNQUFNLFFBQVEsbUJBQW1CO0FBU2pDLE1BQU0sV0FBVyxtQkFBbUI7QUFJM0MsSUFBTyx1QkFBUTsiLAogICJuYW1lcyI6IFsic2V0dXAiLCAidGVhcmRvd24iXQp9Cg==
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXNldHVwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSmVzdCBnbG9iYWwgc2V0dXAgYW5kIHRlYXJkb3duIGFkYXB0ZXIuXG4gKlxuICogRGVsZWdhdGVzIHRvIHRoZSBmcmFtZXdvcmstYWdub3N0aWMgY29yZSBhbmQgYnJpZGdlcyBjb250ZXh0XG4gKiB0byB0ZXN0IHdvcmtlcnMgdmlhIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvcmVTZXR1cFJlc3VsdCB9IGZyb20gJy4uL2dsb2JhbC1zZXR1cC1jb3JlLmNqcyc7XG5pbXBvcnQgdHlwZSB7IFBvcHVsYXRlRmlsZXNQYXJhbXMgfSBmcm9tICcuLi90ZW1wb3JhcnktdmF1bHQuY2pzJztcbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIH0gZnJvbSAnLi4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcblxuaW1wb3J0IHtcbiAgc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBzZXRWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuLi9jb250ZXh0LXByb3ZpZGVyLmNqcyc7XG5pbXBvcnQge1xuICBjb3JlU2V0dXAsXG4gIGNvcmVUZWFyZG93blxufSBmcm9tICcuLi9nbG9iYWwtc2V0dXAtY29yZS5janMnO1xuaW1wb3J0IHsgVGVtcG9yYXJ5VmF1bHQgfSBmcm9tICcuLi90ZW1wb3JhcnktdmF1bHQuY2pzJztcblxuLyoqXG4gKiBTaGFwZSBvZiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYC5cbiAqXG4gKiBDb25zdW1lcnMgbWF5IHByZS1wb3B1bGF0ZSBgdHJhbnNwb3J0T3B0aW9uc2AgYmVmb3JlIHRoZSBnbG9iYWwgc2V0dXAgcnVuc1xuICogKGUuZy4sIHZpYSBKZXN0IGNvbmZpZyBgZ2xvYmFsc2ApLiBUaGUgc2V0dXAgdGhlbiBhZGRzIGB0ZW1wb3JhcnlWYXVsdFBhdGhgLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdHbG9iYWwge1xuICAvKipcbiAgVGVtcCB2YXVsdCBwYXRoLCBzZXQgYnkgdGhlIGdsb2JhbCBzZXR1cCBmb3IgdGVzdCB3b3JrZXJzLlxuICAgKi9cbiAgdGVtcG9yYXJ5VmF1bHRQYXRoPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICBUcmFuc3BvcnQgb3B0aW9ucy4gU2V0IGJ5IHRoZSBjb25zdW1lciBiZWZvcmUgc2V0dXAsIG9yIGJ5IHRoZSBzZXR1cCBpdHNlbGYuXG4gICAqL1xuICB0cmFuc3BvcnRPcHRpb25zPzogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSB2YXJzLW9uLXRvcCAtLSBSZXF1aXJlZCBmb3IgYGRlY2xhcmUgZ2xvYmFsYCBhdWdtZW50YXRpb24uICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgZm9yIGFsbCBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgZ2xvYmFsIHN0YXRlLlxuICAgKiBDb25zdW1lcnMgY29uZmlndXJlIHRyYW5zcG9ydCBvcHRpb25zIGhlcmU7IHRoZSBzZXR1cCBwb3B1bGF0ZXMgdGhlIHJlc3QuXG4gICAqL1xuICB2YXIgX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZzogT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdHbG9iYWwgfCB1bmRlZmluZWQ7XG59XG4vKiBlc2xpbnQtZW5hYmxlIHZhcnMtb24tdG9wIC0tIEVuZCBvZiBgZGVjbGFyZSBnbG9iYWxgIGJsb2NrLiAqL1xuXG5zZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIoKCkgPT4gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cmFuc3BvcnRPcHRpb25zKTtcbnNldFZhdWx0UGF0aFJlc29sdmVyKCgpID0+IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udGVtcG9yYXJ5VmF1bHRQYXRoKTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY3JlYXRlU2V0dXB9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVNldHVwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDb21tdW5pdHktcGx1Z2luIGlkcyB0byBlbmFibGUgaW4gdGhlIHZhdWx0IGluIGFkZGl0aW9uIHRvIHRoZSBwbHVnaW4tdW5kZXItdGVzdCxcbiAgICogYWZ0ZXIgaXQgaXMgZW5hYmxlZCAoc2VlIHtAbGluayBDb3JlU2V0dXBQYXJhbXMuZW5hYmxlQ29tbXVuaXR5UGx1Z2luc30pLiBTZWVkIGVhY2hcbiAgICogcGx1Z2luJ3MgYnVpbHQgZmlsZXMgdmlhIHtAbGluayBDcmVhdGVTZXR1cE9wdGlvbnMucG9wdWxhdGV9IChlLmcuIHdpdGggYGJ1aWxkRGVtb1ZhdWx0UG9wdWxhdGVgKVxuICAgKiBzbyB0aGUgZW5hYmxlIGZpbmRzIHRoZW0gb24gZGlzay5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUNvbW11bml0eVBsdWdpbnM/OiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbnN0YWxsIGFuZCBlbmFibGUgdGhlIGJ1aWx0IHBsdWdpbiBpbiB0aGUgdGVtcCB2YXVsdC4gRGVmYXVsdHNcbiAgICogdG8gYHRydWVgLiBTZXQgdG8gYGZhbHNlYCBmb3IgYSAqKm5vbi1wbHVnaW4qKiBjb25zdW1lciB0aGF0IG9ubHkgbmVlZHMgYVxuICAgKiByZWdpc3RlcmVkLCBlbXB0eSB2YXVsdCB0byBgZXZhbEluT2JzaWRpYW5gIGFnYWluc3QgXHUyMDE0IHRoZSBvd25lZCBpbnN0YW5jZSBpc1xuICAgKiBzdGlsbCBsYXVuY2hlZCBhbmQgaXRzIGVuZHBvaW50IHB1Ymxpc2hlZCB0byB3b3JrZXJzLCBzbyByZS1leHBvcnRpbmdcbiAgICogYGNyZWF0ZVNldHVwKHsgaW5zdGFsbFBsdWdpbjogZmFsc2UgfSlgIHJldXNlcyB0aGUgc2FtZSBhdHRhY2ggd2lyaW5nIHdpdGggbm9cbiAgICogcGx1Z2luIGNvcHkvZW5hYmxlLiBTZWUge0BsaW5rIENvcmVTZXR1cFBhcmFtcy5pbnN0YWxsUGx1Z2lufS5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbGxQbHVnaW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZpbGVzL2ZvbGRlcnMgdG8gd3JpdGUgaW50byB0aGUgdmF1bHQgYmVmb3JlIE9ic2lkaWFuIG9wZW5zIGl0IChzZWVcbiAgICoge0BsaW5rIENvcmVTZXR1cFBhcmFtcy5wb3B1bGF0ZX0pLiBBIHRodW5rIHNvIGxhcmdlIGZpeHR1cmVzIGFyZSBidWlsdCBsYXppbHksXG4gICAqIG9uY2UsIGluIHRoZSBzZXR1cCBwcm9jZXNzLlxuICAgKi9cbiAgcG9wdWxhdGU/KHRoaXM6IHZvaWQpOiBQb3B1bGF0ZUZpbGVzUGFyYW1zO1xufVxuXG4vKipcbiAqIEEgSmVzdCBgZ2xvYmFsU2V0dXBgIC8gYGdsb2JhbFRlYXJkb3duYCBtb2R1bGUncyBgc2V0dXBgIC8gYHRlYXJkb3duYCBwYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEplc3RHbG9iYWxTZXR1cCB7XG4gIHNldHVwKHRoaXM6IHZvaWQpOiBQcm9taXNlPHZvaWQ+O1xuICB0ZWFyZG93bih0aGlzOiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgSmVzdCBnbG9iYWwgc2V0dXAvdGVhcmRvd24gcGFpciwgb3B0aW9uYWxseSBwcmUtcG9wdWxhdGluZyB0aGUgdmF1bHRcbiAqIGJlZm9yZSBPYnNpZGlhbiBvcGVucyBpdCBcdTIwMTQgdXNlIHRoaXMgZm9yIGEgZGVkaWNhdGVkIGxhcmdlLXZhdWx0L3BlcmZvcm1hbmNlXG4gKiBzZXR1cC4gVGhlIHBsYWluIHtAbGluayBzZXR1cH0gLyB7QGxpbmsgdGVhcmRvd259IGV4cG9ydHMgYXJlIHRoZSBuby1wb3B1bGF0ZVxuICogY2FzZSAoYGNyZWF0ZVNldHVwKClgKS4gUGFzcyBgeyBpbnN0YWxsUGx1Z2luOiBmYWxzZSB9YCBmb3IgYSBub24tcGx1Z2luIGNvbnN1bWVyXG4gKiB0aGF0IG9ubHkgbmVlZHMgYSByZWdpc3RlcmVkLCBlbXB0eSB2YXVsdCAoc2VlIHtAbGluayBDcmVhdGVTZXR1cE9wdGlvbnMuaW5zdGFsbFBsdWdpbn0pLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gU2V0dXAgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBgc2V0dXBgIGFuZCBgdGVhcmRvd25gIGZ1bmN0aW9ucyB0byByZS1leHBvcnQgZnJvbSBhIGBnbG9iYWxTZXR1cGAgbW9kdWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2V0dXAob3B0aW9ucz86IENyZWF0ZVNldHVwT3B0aW9ucyk6IEplc3RHbG9iYWxTZXR1cCB7XG4gIGxldCBzZXR1cFJlc3VsdDogQ29yZVNldHVwUmVzdWx0IHwgdW5kZWZpbmVkO1xuXG4gIHJldHVybiB7IHNldHVwLCB0ZWFyZG93biB9O1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHNldHVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRyYW5zcG9ydE9wdGlvbnMgPSBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc/LnRyYW5zcG9ydE9wdGlvbnM7XG5cbiAgICBzZXR1cFJlc3VsdCA9IGF3YWl0IGNvcmVTZXR1cCh7XG4gICAgICBlbmFibGVDb21tdW5pdHlQbHVnaW5zOiBvcHRpb25zPy5lbmFibGVDb21tdW5pdHlQbHVnaW5zLFxuICAgICAgaW5zdGFsbFBsdWdpbjogb3B0aW9ucz8uaW5zdGFsbFBsdWdpbixcbiAgICAgIHBvcHVsYXRlOiBvcHRpb25zPy5wb3B1bGF0ZT8uKCksXG4gICAgICB0cmFuc3BvcnRPcHRpb25zXG4gICAgfSk7XG5cbiAgICBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcgPSB7XG4gICAgICAuLi5nbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcsXG4gICAgICB0ZW1wb3JhcnlWYXVsdFBhdGg6IHNldHVwUmVzdWx0LnRlbXBvcmFyeVZhdWx0LnBhdGgsXG4gICAgICB0cmFuc3BvcnRPcHRpb25zOiBzZXR1cFJlc3VsdC50cmFuc3BvcnRPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHRlYXJkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGNvcmVUZWFyZG93bihzZXR1cFJlc3VsdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0ZW1wb3JhcnkgdmF1bHQgcHJvdmlkZWQgYnkgdGhlIGdsb2JhbCBzZXR1cC5cbiAqXG4gKiBSZWFkcyB0aGUgdmF1bHQgcGF0aCBmcm9tIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudGVtcG9yYXJ5VmF1bHRQYXRoYCxcbiAqIHdoaWNoIGlzIHNldCBieSB0aGUgSmVzdCBnbG9iYWwgc2V0dXAuXG4gKlxuICogQHJldHVybnMgVGhlIHRlbXBvcmFyeSB2YXVsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBvcmFyeVZhdWx0KCk6IFRlbXBvcmFyeVZhdWx0IHtcbiAgY29uc3QgdGVtcG9yYXJ5VmF1bHRQYXRoID0gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50ZW1wb3JhcnlWYXVsdFBhdGg7XG4gIGlmICghdGVtcG9yYXJ5VmF1bHRQYXRoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2dsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy50ZW1wb3JhcnlWYXVsdFBhdGggaXMgbm90IHNldC4gRGlkIHlvdSBjb25maWd1cmUgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZy9qZXN0LWdsb2JhbC1zZXR1cCBhcyBhIEplc3QgZ2xvYmFsU2V0dXA/J1xuICAgICk7XG4gIH1cbiAgcmV0dXJuIG5ldyBUZW1wb3JhcnlWYXVsdCh0ZW1wb3JhcnlWYXVsdFBhdGgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHRyYW5zcG9ydCBvcHRpb25zIHByb3ZpZGVkIGJ5IHRoZSBnbG9iYWwgc2V0dXAuXG4gKlxuICogQHJldHVybnMgVGhlIHRyYW5zcG9ydCBvcHRpb25zLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYW5zcG9ydE9wdGlvbnMoKTogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udHJhbnNwb3J0T3B0aW9ucztcbn1cblxuY29uc3QgZGVmYXVsdEdsb2JhbFNldHVwID0gY3JlYXRlU2V0dXAoKTtcblxuLyoqXG4gKiBKZXN0IGdsb2JhbCBzZXR1cCBmdW5jdGlvbiAobm8gcHJlLXBvcHVsYXRpb24pLlxuICpcbiAqIENvcGllcyB0aGUgYnVpbHQgcGx1Z2luIGludG8gYSB0ZW1wb3JhcnkgdmF1bHQsIGVuYWJsZXMgaXQgdmlhIGEgcmVuZGVyZXIgZXZhbFxuICogb3ZlciB0aGUgdHJhbnNwb3J0LCBhbmQgcG9wdWxhdGVzIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgIGZvciB0ZXN0cy5cbiAqXG4gKiBUcmFuc3BvcnQgb3B0aW9ucyBhcmUgcmVhZCBmcm9tIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudHJhbnNwb3J0T3B0aW9uc2AuXG4gKiBTZXQgdGhpcyBpbiB5b3VyIEplc3QgY29uZmlnIHZpYSB0aGUgYGdsb2JhbHNgIG9wdGlvbi5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHNldHVwIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldHVwID0gZGVmYXVsdEdsb2JhbFNldHVwLnNldHVwO1xuXG4vKipcbiAqIEplc3QgZ2xvYmFsIHRlYXJkb3duIGZ1bmN0aW9uLlxuICpcbiAqIFJlbW92ZXMgdGhlIHRlbXBvcmFyeSB2YXVsdCBjcmVhdGVkIGR1cmluZyBzZXR1cC5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRlYXJkb3duIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHRlYXJkb3duID0gZGVmYXVsdEdsb2JhbFNldHVwLnRlYXJkb3duO1xuXG4vLyBKZXN0J3MgYGdsb2JhbFNldHVwYCBjb25maWcgY2FuIHJlZmVyZW5jZSB0aGlzIG1vZHVsZSBkaXJlY3RseSBiZWNhdXNlIGl0cyBkZWZhdWx0IGV4cG9ydCBpcyB0aGUgc2V0dXAgZnVuY3Rpb24uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnQgLS0gSmVzdCdzIGdsb2JhbFNldHVwIGxvYWRlciByZXF1aXJlcyBhIGRlZmF1bHQtZXhwb3J0IGZ1bmN0aW9uLlxuZXhwb3J0IGRlZmF1bHQgc2V0dXA7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLDhCQUdPO0FBQ1AsK0JBR087QUFDUCw2QkFBK0I7QUFBQSxJQThCL0IscURBQTRCLE1BQU0sV0FBVyw4QkFBOEIsZ0JBQWdCO0FBQUEsSUFDM0YsOENBQXFCLE1BQU0sV0FBVyw4QkFBOEIsa0JBQWtCO0FBa0QvRSxTQUFTLFlBQVksU0FBK0M7QUFDekUsTUFBSTtBQUVKLFNBQU8sRUFBRSxPQUFBQSxRQUFPLFVBQUFDLFVBQVM7QUFFekIsaUJBQWVELFNBQXVCO0FBQ3BDLFVBQU0sbUJBQW1CLFdBQVcsOEJBQThCO0FBRWxFLGtCQUFjLFVBQU0sb0NBQVU7QUFBQSxNQUM1Qix3QkFBd0IsU0FBUztBQUFBLE1BQ2pDLGVBQWUsU0FBUztBQUFBLE1BQ3hCLFVBQVUsU0FBUyxXQUFXO0FBQUEsTUFDOUI7QUFBQSxJQUNGLENBQUM7QUFFRCxlQUFXLCtCQUErQjtBQUFBLE1BQ3hDLEdBQUcsV0FBVztBQUFBLE1BQ2Qsb0JBQW9CLFlBQVksZUFBZTtBQUFBLE1BQy9DLGtCQUFrQixZQUFZO0FBQUEsSUFDaEM7QUFBQSxFQUNGO0FBRUEsaUJBQWVDLFlBQTBCO0FBQ3ZDLGNBQU0sdUNBQWEsV0FBVztBQUFBLEVBQ2hDO0FBQ0Y7QUFVTyxTQUFTLG9CQUFvQztBQUNsRCxRQUFNLHFCQUFxQixXQUFXLDhCQUE4QjtBQUNwRSxNQUFJLENBQUMsb0JBQW9CO0FBQ3ZCLFVBQU0sSUFBSTtBQUFBLE1BQ1I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNBLFNBQU8sSUFBSSxzQ0FBZSxrQkFBa0I7QUFDOUM7QUFPTyxTQUFTLHNCQUE0RDtBQUMxRSxTQUFPLFdBQVcsOEJBQThCO0FBQ2xEO0FBRUEsTUFBTSxxQkFBcUIsWUFBWTtBQWFoQyxNQUFNLFFBQVEsbUJBQW1CO0FBU2pDLE1BQU0sV0FBVyxtQkFBbUI7QUFJM0MsSUFBTyx1QkFBUTsiLAogICJuYW1lcyI6IFsic2V0dXAiLCAidGVhcmRvd24iXQp9Cg==
|