obsidian-dev-utils 2.26.3 → 3.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/CHANGELOG.md +9 -0
- package/dist/lib/@types/compare-versions.d.ts +2 -2
- package/dist/lib/@types.cjs +11 -2
- package/dist/lib/Async.cjs +18 -7
- package/dist/lib/Async.d.ts +2 -2
- package/dist/lib/Blob.cjs +21 -6
- package/dist/lib/DocumentFragment.cjs +11 -2
- package/dist/lib/Error.cjs +20 -6
- package/dist/lib/Error.d.ts +7 -0
- package/dist/lib/Object.cjs +38 -5
- package/dist/lib/Object.d.ts +21 -0
- package/dist/lib/Path.cjs +14 -6
- package/dist/lib/Path.d.ts +1 -1
- package/dist/lib/RegExp.cjs +11 -2
- package/dist/lib/String.cjs +14 -4
- package/dist/lib/String.d.ts +4 -1
- package/dist/lib/ValueProvider.cjs +11 -2
- package/dist/lib/ValueProvider.d.ts +1 -1
- package/dist/lib/_dependencies.cjs +7734 -1266
- package/dist/lib/_dependencies.d.ts +4 -6
- package/dist/lib/index.cjs +14 -23
- package/dist/lib/index.d.ts +13 -19
- package/dist/lib/obsidian/App.cjs +13 -3
- package/dist/lib/obsidian/App.d.ts +1 -1
- package/dist/lib/obsidian/AttachmentPath.cjs +13 -4
- package/dist/lib/obsidian/AttachmentPath.d.ts +2 -2
- package/dist/lib/obsidian/Backlink.cjs +16 -6
- package/dist/lib/obsidian/Backlink.d.ts +7 -7
- package/dist/lib/obsidian/Callout.cjs +14 -4
- package/dist/lib/obsidian/Callout.d.ts +4 -4
- package/dist/lib/obsidian/Dataview.cjs +20 -9
- package/dist/lib/obsidian/Dataview.d.ts +22 -16
- package/dist/lib/obsidian/DataviewLink.cjs +12 -4
- package/dist/lib/obsidian/DataviewLink.d.ts +2 -2
- package/dist/lib/obsidian/FrontMatter.cjs +17 -7
- package/dist/lib/obsidian/FrontMatter.d.ts +31 -7
- package/dist/lib/obsidian/Link.cjs +19 -10
- package/dist/lib/obsidian/Link.d.ts +25 -13
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +14 -4
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
- package/dist/lib/obsidian/MetadataCache.cjs +30 -5
- package/dist/lib/obsidian/MetadataCache.d.ts +11 -5
- package/dist/lib/obsidian/Modal/Alert.cjs +14 -3
- package/dist/lib/obsidian/Modal/Alert.d.ts +1 -1
- package/dist/lib/obsidian/Modal/Prompt.cjs +14 -3
- package/dist/lib/obsidian/Modal/Prompt.d.ts +3 -3
- package/dist/lib/obsidian/Modal/SelectItem.cjs +11 -2
- package/dist/lib/obsidian/Modal/SelectItem.d.ts +4 -4
- package/dist/lib/obsidian/Modal/index.cjs +11 -2
- package/dist/lib/obsidian/Modal/index.d.ts +3 -3
- package/dist/lib/obsidian/ObsidianSettings.cjs +11 -2
- package/dist/lib/obsidian/ObsidianSettings.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +11 -2
- package/dist/lib/obsidian/Plugin/Plugin.cjs +11 -2
- package/dist/lib/obsidian/Plugin/Plugin.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/PluginBase.cjs +37 -23
- package/dist/lib/obsidian/Plugin/PluginBase.d.ts +8 -9
- package/dist/lib/obsidian/Plugin/PluginSettings.cjs +11 -2
- package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +11 -2
- package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.d.ts +2 -2
- package/dist/lib/obsidian/Plugin/UIComponent.cjs +11 -2
- package/dist/lib/obsidian/Plugin/UIComponent.d.ts +2 -2
- package/dist/lib/obsidian/Plugin/index.cjs +11 -2
- package/dist/lib/obsidian/Plugin/index.d.ts +6 -6
- package/dist/lib/obsidian/ResourceUrl.cjs +11 -2
- package/dist/lib/obsidian/ResourceUrl.d.ts +1 -1
- package/dist/lib/obsidian/TAbstractFile.cjs +12 -3
- package/dist/lib/obsidian/TAbstractFile.d.ts +1 -1
- package/dist/lib/obsidian/TFile.cjs +11 -2
- package/dist/lib/obsidian/TFile.d.ts +1 -1
- package/dist/lib/obsidian/TFolder.cjs +11 -2
- package/dist/lib/obsidian/TFolder.d.ts +2 -1
- package/dist/lib/obsidian/Vault.cjs +23 -15
- package/dist/lib/obsidian/Vault.d.ts +21 -7
- package/dist/lib/obsidian/index.cjs +11 -2
- package/dist/lib/obsidian/index.d.ts +18 -18
- package/dist/lib/scripts/CliUtils.cjs +170 -0
- package/dist/lib/{cli.d.ts → scripts/CliUtils.d.ts} +1 -1
- package/dist/lib/scripts/CodeGenerator.cjs +56 -0
- package/dist/lib/{bin → scripts}/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.ts +3 -2
- package/dist/lib/{bin → scripts}/ESLint/@types/eslint-plugin-modules-newlines.d.ts +3 -2
- package/dist/lib/{bin → scripts}/ESLint/@types/eslint-plugin-verify-tsdoc.d.ts +3 -2
- package/dist/lib/scripts/ESLint/ESLint.cjs +92 -0
- package/dist/lib/{bin → scripts}/ESLint/ESLint.d.ts +2 -2
- package/dist/lib/scripts/ESLint/eslint.config.cjs +170 -0
- package/dist/lib/scripts/ESLint/eslint.config.d.ts +16 -0
- package/dist/lib/scripts/ESLint/index.cjs +62 -0
- package/dist/lib/scripts/ESLint/index.d.ts +2 -0
- package/dist/lib/scripts/Fs.cjs +98 -0
- package/dist/lib/{Fs.d.ts → scripts/Fs.d.ts} +3 -3
- package/dist/lib/scripts/JSON.cjs +71 -0
- package/dist/lib/{JSON.d.ts → scripts/JSON.d.ts} +3 -24
- package/dist/lib/scripts/NodeModules.cjs +87 -0
- package/dist/lib/scripts/NodeModules.d.ts +9 -0
- package/dist/lib/scripts/Npm.cjs +97 -0
- package/dist/lib/{Npm.d.ts → scripts/Npm.d.ts} +3 -3
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +76 -0
- package/dist/lib/{bin → scripts}/ObsidianDevUtilsRepoPaths.d.ts +4 -0
- package/dist/lib/scripts/Root.cjs +142 -0
- package/dist/lib/{Root.d.ts → scripts/Root.d.ts} +4 -4
- package/dist/lib/scripts/build.cjs +67 -0
- package/dist/lib/scripts/cli.cjs +80 -0
- package/dist/lib/scripts/esbuild/Dependency.cjs +135 -0
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +167 -0
- package/dist/lib/{bin → scripts}/esbuild/ObsidianPluginBuilder.d.ts +5 -5
- package/dist/lib/scripts/esbuild/copyToObsidianPluginsFolderPlugin.cjs +67 -0
- package/dist/lib/{bin → scripts}/esbuild/copyToObsidianPluginsFolderPlugin.d.ts +1 -1
- package/dist/lib/scripts/esbuild/fixSourceMapsPlugin.cjs +83 -0
- package/dist/lib/{bin → scripts}/esbuild/fixSourceMapsPlugin.d.ts +1 -1
- package/dist/lib/{bin → scripts}/esbuild/index.cjs +11 -2
- package/dist/lib/scripts/esbuild/index.d.ts +7 -0
- package/dist/lib/scripts/esbuild/lintPlugin.cjs +64 -0
- package/dist/lib/{bin → scripts}/esbuild/lintPlugin.d.ts +1 -1
- package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +95 -0
- package/dist/lib/{bin → scripts}/esbuild/preprocessPlugin.d.ts +1 -1
- package/dist/lib/scripts/esbuild/renameToCjsPlugin.cjs +85 -0
- package/dist/lib/{bin → scripts}/esbuild/renameToCjsPlugin.d.ts +1 -1
- package/dist/lib/scripts/index.cjs +98 -0
- package/dist/lib/scripts/index.d.ts +14 -0
- package/dist/lib/scripts/spellcheck.cjs +67 -0
- package/dist/lib/{bin → scripts}/spellcheck.d.ts +1 -1
- package/dist/lib/scripts/version.cjs +349 -0
- package/dist/lib/{bin → scripts}/version.d.ts +7 -8
- package/dist/lib/url.cjs +11 -2
- package/package.json +136 -131
- package/dist/lib/CodeGenerator.cjs +0 -47
- package/dist/lib/Fs.cjs +0 -89
- package/dist/lib/JSON.cjs +0 -85
- package/dist/lib/Npm.cjs +0 -88
- package/dist/lib/Root.cjs +0 -145
- package/dist/lib/bin/ESLint/@types/@stylistic__eslint-plugin.d.ts +0 -10
- package/dist/lib/bin/ESLint/@types/@typescript-eslint__eslint-plugin.d.ts +0 -21
- package/dist/lib/bin/ESLint/@types/@typescript-eslint__parser.d.ts +0 -10
- package/dist/lib/bin/ESLint/@types/eslint-plugin-deprecation.d.ts +0 -11
- package/dist/lib/bin/ESLint/@types/eslint-plugin-import.d.ts +0 -10
- package/dist/lib/bin/ESLint/@types/globals.d.ts +0 -16
- package/dist/lib/bin/ESLint/ESLint.cjs +0 -84
- package/dist/lib/bin/ESLint/eslint.config.cjs +0 -114
- package/dist/lib/bin/ESLint/eslint.config.d.ts +0 -20
- package/dist/lib/bin/ESLint/index.cjs +0 -53
- package/dist/lib/bin/ESLint/index.d.ts +0 -2
- package/dist/lib/bin/ObsidianDevUtilsRepoPaths.cjs +0 -66
- package/dist/lib/bin/build.cjs +0 -58
- package/dist/lib/bin/cli.cjs +0 -81
- package/dist/lib/bin/esbuild/Dependency.cjs +0 -125
- package/dist/lib/bin/esbuild/ObsidianPluginBuilder.cjs +0 -160
- package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.cjs +0 -59
- package/dist/lib/bin/esbuild/fixSourceMapsPlugin.cjs +0 -74
- package/dist/lib/bin/esbuild/index.d.ts +0 -7
- package/dist/lib/bin/esbuild/lintPlugin.cjs +0 -55
- package/dist/lib/bin/esbuild/preprocessPlugin.cjs +0 -89
- package/dist/lib/bin/esbuild/renameToCjsPlugin.cjs +0 -75
- package/dist/lib/bin/index.cjs +0 -68
- package/dist/lib/bin/index.d.ts +0 -7
- package/dist/lib/bin/spellcheck.cjs +0 -58
- package/dist/lib/bin/version.cjs +0 -352
- package/dist/lib/cli.cjs +0 -170
- /package/dist/lib/{CodeGenerator.d.ts → scripts/CodeGenerator.d.ts} +0 -0
- /package/dist/lib/{bin → scripts}/build.d.ts +0 -0
- /package/dist/lib/{bin → scripts}/cli.d.ts +0 -0
- /package/dist/lib/{bin → scripts}/esbuild/Dependency.d.ts +0 -0
@@ -3,8 +3,8 @@
|
|
3
3
|
* This module defines a base class for creating plugin setting tabs in Obsidian.
|
4
4
|
* It provides a utility method to bind value components to plugin settings and handle changes.
|
5
5
|
*/
|
6
|
-
import { PluginSettingTab } from
|
7
|
-
import { PluginBase } from
|
6
|
+
import { PluginSettingTab } from 'obsidian';
|
7
|
+
import { PluginBase } from './PluginBase.ts';
|
8
8
|
/**
|
9
9
|
* Base class for creating plugin settings tabs in Obsidian.
|
10
10
|
* Provides a method for binding value components to plugin settings and handling changes.
|
@@ -27,7 +27,16 @@ __export(UIComponent_exports, {
|
|
27
27
|
});
|
28
28
|
module.exports = __toCommonJS(UIComponent_exports);
|
29
29
|
var import_obsidian = require("obsidian");
|
30
|
-
var __import_meta_url = globalThis["import.meta.url"] ?? (() =>
|
30
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
31
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
32
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
33
|
+
let path = normalizedPath;
|
34
|
+
if (windowsDriveLetterMatch) {
|
35
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
36
|
+
}
|
37
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
38
|
+
return new URL(`file://${encodedPath}`);
|
39
|
+
})();
|
31
40
|
var __process = globalThis["process"] ?? {
|
32
41
|
"cwd": () => "/",
|
33
42
|
"env": {},
|
@@ -81,4 +90,4 @@ function getValidatorElement(uiComponent) {
|
|
81
90
|
0 && (module.exports = {
|
82
91
|
bindUiComponent
|
83
92
|
});
|
84
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9VSUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSBcIi4uLy4uL0B0eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5CYXNlIH0gZnJvbSBcIi4vUGx1Z2luQmFzZS50c1wiO1xuaW1wb3J0IHtcbiAgRHJvcGRvd25Db21wb25lbnQsXG4gIFNsaWRlckNvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRDb21wb25lbnRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbi8qKlxuICogQSBVSSBjb21wb25lbnQgdGhhdCBjYW4gYmUgYm91bmQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVSUNvbXBvbmVudDxVSVZhbHVlPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVUlWYWx1ZSk6IHRoaXM7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFVJVmFsdWUpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIEEgVUkgY29tcG9uZW50IHRoYXQgY2FuIGJlIHZhbGlkYXRlZC5cbiAqL1xuaW50ZXJmYWNlIFZhbGlkYXRvckVsZW1lbnQge1xuICAvKipcbiAgICogU2V0cyBhIGN1c3RvbSBlcnJvciBtZXNzYWdlIG9uIHRoZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgbWVzc2FnZSB0byBzZXQgb24gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBzZXRDdXN0b21WYWxpZGl0eShlcnJvcjogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogUmVwb3J0cyB0aGUgdmFsaWRpdHkgb2YgdGhlIGVsZW1lbnQuXG4gICAqL1xuICByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuaW50ZXJmYWNlIEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB7XG4gIC8vIElmIHRydWUsIHNhdmVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXV0b21hdGljYWxseSBhZnRlciB0aGUgY29tcG9uZW50IHZhbHVlIGNoYW5nZXMuIERlZmF1bHQgaXMgYHRydWVgLlxuICBhdXRvU2F2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0IHRvIGJpbmQgdGhlIGNvbXBvbmVudCB0by4gRGVmYXVsdCBpcyB0aGUgcGx1Z2luJ3MgY3VycmVudCBzZXR0aW5ncy5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzPzogUGx1Z2luU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgVUkgdmFsdWUgYmVmb3JlIHNldHRpbmcgaXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgQW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIGl0IGlzIHZhbGlkLlxuICAgKi9cbiAgdWlWYWx1ZVZhbGlkYXRvcj86ICh1aVZhbHVlOiBVSVZhbHVlVHlwZSkgPT4gc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFeHRlbmRlZCBvcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmludGVyZmFjZSBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFBsdWdpblNldHRpbmdzPiBleHRlbmRzIEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB7XG4gIC8qKlxuICogQ29udmVydHMgdGhlIHNldHRpbmcgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBwcm9wZXJ0eVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICovXG4gIHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXI6IChwcm9wZXJ0eVZhbHVlOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV0pID0+IFVJVmFsdWVUeXBlO1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgVUkgY29tcG9uZW50J3MgdmFsdWUgYmFjayB0byB0aGUgc2V0dGluZyB2YWx1ZS5cbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWVUeXBlKSA9PiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV07XG59XG5cbi8qKlxuICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzIHdpdGggb3B0aW9uYWwgYXV0b21hdGljIHNhdmluZyBhbmQgdmFsdWUgY29udmVyc2lvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCBleHRlbmRzIGBQbHVnaW5CYXNlYC5cbiAqIEB0eXBlUGFyYW0gVFVJQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudCBleHRlbmRpbmcgYFVJQ29tcG9uZW50YC5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gc2V0dGluZyB0aGF0IHRoZSBjb21wb25lbnQgaXMgYm91bmQgdG8uXG4gKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgYmFzZWQgb24gdGhlIFVJIGNvbXBvbmVudCdzIHR5cGUuXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gdWlDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgVUlDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmRVaUNvbXBvbmVudDxcbiAgUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxvYmplY3Q+LFxuICBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDx1bmtub3duPixcbiAgUHJvcGVydHkgZXh0ZW5kcyBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPixcbiAgVUlWYWx1ZVR5cGUgPSBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyLFxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9ucz86IEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlcixcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlcixcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM/OiBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4gfCBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eT5cbik6IFRVSUNvbXBvbmVudCB7XG4gIHR5cGUgUHJvcGVydHlUeXBlID0gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xuICBjb25zdCBERUZBVUxUX09QVElPTlM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PiA9IHtcbiAgICBhdXRvU2F2ZTogdHJ1ZSxcbiAgICBzZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBVSVZhbHVlVHlwZSA9PiB2YWx1ZSBhcyBVSVZhbHVlVHlwZSxcbiAgICB1aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBQcm9wZXJ0eVR5cGUgPT4gdmFsdWUgYXMgUHJvcGVydHlUeXBlXG4gIH07XG5cbiAgY29uc3Qgb3B0aW9uc0V4dCA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMsIERFRkFVTFRfT1BUSU9OUyk7XG4gIGNvbnN0IHBsdWdpbkV4dCA9IHBsdWdpbiBhcyB1bmtub3duIGFzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuICBjb25zdCB1aUNvbXBvbmVudEV4dCA9IHVpQ29tcG9uZW50IGFzIFVJQ29tcG9uZW50PFVJVmFsdWVUeXBlPjtcbiAgY29uc3QgcGx1Z2luU2V0dGluZ3MgPSBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHBsdWdpbkV4dC5zZXR0aW5nc0NvcHk7XG4gIHVpQ29tcG9uZW50RXh0XG4gICAgLnNldFZhbHVlKG9wdGlvbnNFeHQuc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcihwbHVnaW5TZXR0aW5nc1twcm9wZXJ0eV0pKVxuICAgIC5vbkNoYW5nZShhc3luYyAodWlWYWx1ZSkgPT4ge1xuICAgICAgaWYgKG9wdGlvbnNFeHQudWlWYWx1ZVZhbGlkYXRvcikge1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBvcHRpb25zRXh0LnVpVmFsdWVWYWxpZGF0b3IodWlWYWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50KTtcbiAgICAgICAgaWYgKHZhbGlkYXRvckVsZW1lbnQpIHtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyBcIlwiKTtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gb3B0aW9uc0V4dC51aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgaWYgKG9wdGlvbnNFeHQuYXV0b1NhdmUpIHtcbiAgICAgICAgYXdhaXQgcGx1Z2luRXh0LnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIHJldHVybiB1aUNvbXBvbmVudDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tIGEgVUkgY29tcG9uZW50IGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSB1aUNvbXBvbmVudCAtIFRoZSBVSSBjb21wb25lbnQgdG8gZ2V0IHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tLlxuICogQHJldHVybnMgVGhlIHZhbGlkYXRvciBlbGVtZW50IGlmIGl0IGV4aXN0cywgb3IgYG51bGxgIGlmIGl0IGRvZXMgbm90LlxuICovXG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50OiBVSUNvbXBvbmVudDx1bmtub3duPik6IFZhbGlkYXRvckVsZW1lbnQgfCBudWxsIHtcbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgRHJvcGRvd25Db21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2VsZWN0RWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBTbGlkZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2xpZGVyRWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0QXJlYUNvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgVGV4dENvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFLTztBQWJQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNEpPLFNBQVMsZ0JBT2QsUUFDQSxhQUNBLFVBQ0EsU0FDYztBQUVkLFFBQU0sa0JBQXlGO0FBQUEsSUFDN0YsVUFBVTtBQUFBLElBQ1YsMkJBQTJCLENBQUMsVUFBdUI7QUFBQSxJQUNuRCwyQkFBMkIsQ0FBQyxVQUF3QjtBQUFBLEVBQ3REO0FBRUEsUUFBTSxhQUFhLE9BQU8sT0FBTyxDQUFDLEdBQUcsU0FBUyxlQUFlO0FBQzdELFFBQU0sWUFBWTtBQUNsQixRQUFNLGlCQUFpQjtBQUN2QixRQUFNLGlCQUFpQixXQUFXLGtCQUFrQixVQUFVO0FBQzlELGlCQUNHLFNBQVMsV0FBVywwQkFBMEIsZUFBZSxRQUFRLENBQUMsQ0FBQyxFQUN2RSxTQUFTLE9BQU8sWUFBWTtBQUMzQixRQUFJLFdBQVcsa0JBQWtCO0FBQy9CLFlBQU0sZUFBZSxXQUFXLGlCQUFpQixPQUFPO0FBQ3hELFlBQU0sbUJBQW1CLG9CQUFvQixXQUFXO0FBQ3hELFVBQUksa0JBQWtCO0FBQ3BCLHlCQUFpQixrQkFBa0IsZ0JBQWdCLEVBQUU7QUFDckQseUJBQWlCLGVBQWU7QUFBQSxNQUNsQztBQUNBLFVBQUksY0FBYztBQUNoQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsbUJBQWUsUUFBUSxJQUFJLFdBQVcsMEJBQTBCLE9BQU87QUFDdkUsUUFBSSxXQUFXLFVBQVU7QUFDdkIsWUFBTSxVQUFVLGFBQWEsY0FBYztBQUFBLElBQzdDO0FBQUEsRUFDRixDQUFDO0FBQ0gsU0FBTztBQUNUO0FBT0EsU0FBUyxvQkFBb0IsYUFBNEQ7QUFDdkYsTUFBSSx1QkFBdUIsbUNBQW1CO0FBQzVDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsaUNBQWlCO0FBQzFDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsbUNBQW1CO0FBQzVDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsK0JBQWU7QUFDeEMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
93
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9VSUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9Pntjb25zdCBub3JtYWxpemVkUGF0aD1fX2ZpbGVuYW1lLnJlcGxhY2UoL1xcXFwvZyxcIi9cIik7Y29uc3Qgd2luZG93c0RyaXZlTGV0dGVyTWF0Y2g9L14oW2EtekEtWl0pOi8uZXhlYyhub3JtYWxpemVkUGF0aCk7bGV0IHBhdGg9bm9ybWFsaXplZFBhdGg7aWYod2luZG93c0RyaXZlTGV0dGVyTWF0Y2gpe3BhdGg9YC8ke3dpbmRvd3NEcml2ZUxldHRlck1hdGNoWzFdLnRvVXBwZXJDYXNlKCl9OiR7bm9ybWFsaXplZFBhdGguc2xpY2UoMil9YH1jb25zdCBlbmNvZGVkUGF0aD1lbmNvZGVVUklDb21wb25lbnQocGF0aCkucmVwbGFjZSgvJTJGL2csXCIvXCIpLnJlcGxhY2UoLyUzQS9nLFwiOlwiKTtyZXR1cm4gbmV3IFVSTChgZmlsZTovLyR7ZW5jb2RlZFBhdGh9YCl9KSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbmltcG9ydCB7XG4gIERyb3Bkb3duQ29tcG9uZW50LFxuICBTbGlkZXJDb21wb25lbnQsXG4gIFRleHRBcmVhQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBLZXlzTWF0Y2hpbmcgfSBmcm9tICcuLi8uLi9AdHlwZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5CYXNlIH0gZnJvbSAnLi9QbHVnaW5CYXNlLnRzJztcblxuLyoqXG4gKiBBIFVJIGNvbXBvbmVudCB0aGF0IGNhbiBiZSBib3VuZCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVJQ29tcG9uZW50PFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBVSVZhbHVlKTogdGhpcztcblxuICAvKipcbiAgICogU2V0cyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNoYW5nZXMuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKi9cbiAgb25DaGFuZ2UoY2FsbGJhY2s6IChuZXdWYWx1ZTogVUlWYWx1ZSkgPT4gUHJvbWlzZTx2b2lkPik6IHRoaXM7XG59XG5cbi8qKlxuICogQSBVSSBjb21wb25lbnQgdGhhdCBjYW4gYmUgdmFsaWRhdGVkLlxuICovXG5pbnRlcmZhY2UgVmFsaWRhdG9yRWxlbWVudCB7XG4gIC8qKlxuICAgKiBTZXRzIGEgY3VzdG9tIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIHNldCBvbiB0aGUgZWxlbWVudC5cbiAgICovXG4gIHNldEN1c3RvbVZhbGlkaXR5KGVycm9yOiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZXBvcnRzIHRoZSB2YWxpZGl0eSBvZiB0aGUgZWxlbWVudC5cbiAgICovXG4gIHJlcG9ydFZhbGlkaXR5KCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFVJQ29tcG9uZW50T3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGU+IHtcbiAgLy8gSWYgdHJ1ZSwgc2F2ZXMgdGhlIHBsdWdpbiBzZXR0aW5ncyBhdXRvbWF0aWNhbGx5IGFmdGVyIHRoZSBjb21wb25lbnQgdmFsdWUgY2hhbmdlcy4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gIGF1dG9TYXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QgdG8gYmluZCB0aGUgY29tcG9uZW50IHRvLiBEZWZhdWx0IGlzIHRoZSBwbHVnaW4ncyBjdXJyZW50IHNldHRpbmdzLlxuICAgKi9cbiAgcGx1Z2luU2V0dGluZ3M/OiBQbHVnaW5TZXR0aW5ncztcblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBVSSB2YWx1ZSBiZWZvcmUgc2V0dGluZyBpdCBvbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKiBAcGFyYW0gdWlWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBBbiBlcnJvciBtZXNzYWdlIGlmIHRoZSB2YWx1ZSBpcyBpbnZhbGlkLCBvciBgbnVsbGAgaWYgaXQgaXMgdmFsaWQuXG4gICAqL1xuICB1aVZhbHVlVmFsaWRhdG9yPzogKHVpVmFsdWU6IFVJVmFsdWVUeXBlKSA9PiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIG9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuaW50ZXJmYWNlIEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3M+IGV4dGVuZHMgQmluZFVJQ29tcG9uZW50T3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGU+IHtcbiAgLyoqXG4gKiBDb252ZXJ0cyB0aGUgc2V0dGluZyB2YWx1ZSB0byB0aGUgdmFsdWUgdXNlZCBieSB0aGUgVUkgY29tcG9uZW50LlxuICogQHBhcmFtIHByb3BlcnR5VmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBVSSBjb21wb25lbnQuXG4gKi9cbiAgc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcjogKHByb3BlcnR5VmFsdWU6IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XSkgPT4gVUlWYWx1ZVR5cGU7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZSBiYWNrIHRvIHRoZSBzZXR0aW5nIHZhbHVlLlxuICAgKiBAcGFyYW0gdWlWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICB1aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyOiAodWlWYWx1ZTogVUlWYWx1ZVR5cGUpID0+IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcbn1cblxuLyoqXG4gKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3Mgd2l0aCBvcHRpb25hbCBhdXRvbWF0aWMgc2F2aW5nIGFuZCB2YWx1ZSBjb252ZXJzaW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgYFBsdWdpbkJhc2VgLlxuICogQHR5cGVQYXJhbSBUVUlDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50IGV4dGVuZGluZyBgVUlDb21wb25lbnRgLlxuICogQHR5cGVQYXJhbSBQcm9wZXJ0eSAtIFRoZSBrZXkgb2YgdGhlIHBsdWdpbiBzZXR0aW5nIHRoYXQgdGhlIGNvbXBvbmVudCBpcyBib3VuZCB0by5cbiAqIEB0eXBlUGFyYW0gVUlWYWx1ZVR5cGUgLSBUaGUgaW5mZXJyZWQgdHlwZSBiYXNlZCBvbiB0aGUgVUkgY29tcG9uZW50J3MgdHlwZS5cbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgaW5mZXJyZWQgdHlwZSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbi5cbiAqIEBwYXJhbSB1aUNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdGhhdCB3aWxsIGRpc3BsYXkgYW5kIGludGVyYWN0IHdpdGggdGhlIHNldHRpbmcgdmFsdWUuXG4gKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgVUkgY29tcG9uZW50LlxuICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKlxuICogQHJldHVybnMgVGhlIGBVSUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmluZFVpQ29tcG9uZW50PFxuICBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPG9iamVjdD4sXG4gIFRVSUNvbXBvbmVudCBleHRlbmRzIFVJQ29tcG9uZW50PHVua25vd24+LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVyc1xuICBQcm9wZXJ0eSBleHRlbmRzIEtleXNNYXRjaGluZzxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGU+LFxuICBVSVZhbHVlVHlwZSA9IFRVSUNvbXBvbmVudCBleHRlbmRzIFVJQ29tcG9uZW50PGluZmVyIFA+ID8gUCA6IG5ldmVyLFxuICBQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdCA9IFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8aW5mZXIgUD4gPyBQIDogbmV2ZXJcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM/OiBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT5cbik6IFRVSUNvbXBvbmVudDtcblxuLyoqXG4gKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3Mgd2l0aCBvcHRpb25hbCBhdXRvbWF0aWMgc2F2aW5nIGFuZCB2YWx1ZSBjb252ZXJzaW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgYFBsdWdpbkJhc2VgLlxuICogQHR5cGVQYXJhbSBUVUlDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50IGV4dGVuZGluZyBgVUlDb21wb25lbnRgLlxuICogQHR5cGVQYXJhbSBQcm9wZXJ0eSAtIFRoZSBrZXkgb2YgdGhlIHBsdWdpbiBzZXR0aW5nIHRoYXQgdGhlIGNvbXBvbmVudCBpcyBib3VuZCB0by5cbiAqIEB0eXBlUGFyYW0gVUlWYWx1ZVR5cGUgLSBUaGUgaW5mZXJyZWQgdHlwZSBiYXNlZCBvbiB0aGUgVUkgY29tcG9uZW50J3MgdHlwZS5cbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgaW5mZXJyZWQgdHlwZSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbi5cbiAqIEBwYXJhbSB1aUNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdGhhdCB3aWxsIGRpc3BsYXkgYW5kIGludGVyYWN0IHdpdGggdGhlIHNldHRpbmcgdmFsdWUuXG4gKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgVUkgY29tcG9uZW50LlxuICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKlxuICogQHJldHVybnMgVGhlIGBVSUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmluZFVpQ29tcG9uZW50PFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVyc1xuICBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPG9iamVjdD4sXG4gIFRVSUNvbXBvbmVudCBleHRlbmRzIFVJQ29tcG9uZW50PHVua25vd24+LFxuICBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFBsdWdpblNldHRpbmdzLFxuICBVSVZhbHVlVHlwZSA9IFRVSUNvbXBvbmVudCBleHRlbmRzIFVJQ29tcG9uZW50PGluZmVyIFA+ID8gUCA6IG5ldmVyLFxuICBQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdCA9IFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8aW5mZXIgUD4gPyBQIDogbmV2ZXJcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlclxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9ucz86IEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB8IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PlxuKTogVFVJQ29tcG9uZW50IHtcbiAgdHlwZSBQcm9wZXJ0eVR5cGUgPSBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV07XG4gIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogQmluZFVJQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZSwgUHJvcGVydHk+ID0ge1xuICAgIGF1dG9TYXZlOiB0cnVlLFxuICAgIHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZSk6IFVJVmFsdWVUeXBlID0+IHZhbHVlIGFzIFVJVmFsdWVUeXBlLFxuICAgIHVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZSk6IFByb3BlcnR5VHlwZSA9PiB2YWx1ZSBhcyBQcm9wZXJ0eVR5cGVcbiAgfTtcblxuICBjb25zdCBvcHRpb25zRXh0ID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucywgREVGQVVMVF9PUFRJT05TKTtcbiAgY29uc3QgcGx1Z2luRXh0ID0gcGx1Z2luIGFzIHVua25vd24gYXMgUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz47XG4gIGNvbnN0IHVpQ29tcG9uZW50RXh0ID0gdWlDb21wb25lbnQgYXMgVUlDb21wb25lbnQ8VUlWYWx1ZVR5cGU+O1xuICBjb25zdCBwbHVnaW5TZXR0aW5ncyA9IG9wdGlvbnNFeHQucGx1Z2luU2V0dGluZ3MgPz8gcGx1Z2luRXh0LnNldHRpbmdzQ29weTtcbiAgdWlDb21wb25lbnRFeHRcbiAgICAuc2V0VmFsdWUob3B0aW9uc0V4dC5zZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyKHBsdWdpblNldHRpbmdzW3Byb3BlcnR5XSkpXG4gICAgLm9uQ2hhbmdlKGFzeW5jICh1aVZhbHVlKSA9PiB7XG4gICAgICBpZiAob3B0aW9uc0V4dC51aVZhbHVlVmFsaWRhdG9yKSB7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IG9wdGlvbnNFeHQudWlWYWx1ZVZhbGlkYXRvcih1aVZhbHVlKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yRWxlbWVudCA9IGdldFZhbGlkYXRvckVsZW1lbnQodWlDb21wb25lbnQpO1xuICAgICAgICBpZiAodmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgICAgIHZhbGlkYXRvckVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gb3B0aW9uc0V4dC51aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgaWYgKG9wdGlvbnNFeHQuYXV0b1NhdmUpIHtcbiAgICAgICAgYXdhaXQgcGx1Z2luRXh0LnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIHJldHVybiB1aUNvbXBvbmVudDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tIGEgVUkgY29tcG9uZW50IGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSB1aUNvbXBvbmVudCAtIFRoZSBVSSBjb21wb25lbnQgdG8gZ2V0IHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tLlxuICogQHJldHVybnMgVGhlIHZhbGlkYXRvciBlbGVtZW50IGlmIGl0IGV4aXN0cywgb3IgYG51bGxgIGlmIGl0IGRvZXMgbm90LlxuICovXG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50OiBVSUNvbXBvbmVudDx1bmtub3duPik6IFZhbGlkYXRvckVsZW1lbnQgfCBudWxsIHtcbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgRHJvcGRvd25Db21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2VsZWN0RWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBTbGlkZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2xpZGVyRWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0QXJlYUNvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgVGV4dENvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxzQkFLTztBQVhQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLFFBQU0saUJBQWUsV0FBVyxRQUFRLE9BQU0sR0FBRztBQUFFLFFBQU0sMEJBQXdCLGVBQWUsS0FBSyxjQUFjO0FBQUUsTUFBSSxPQUFLO0FBQWUsTUFBRyx5QkFBd0I7QUFBQyxXQUFLLElBQUksd0JBQXdCLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxlQUFlLE1BQU0sQ0FBQyxDQUFDO0FBQUEsRUFBRTtBQUFDLFFBQU0sY0FBWSxtQkFBbUIsSUFBSSxFQUFFLFFBQVEsUUFBTyxHQUFHLEVBQUUsUUFBUSxRQUFPLEdBQUc7QUFBRSxTQUFPLElBQUksSUFBSSxVQUFVLFdBQVcsRUFBRTtBQUFDLEdBQUc7QUFDcGIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQStKTyxTQUFTLGdCQU9kLFFBQ0EsYUFDQSxVQUNBLFNBQ2M7QUFFZCxRQUFNLGtCQUF5RjtBQUFBLElBQzdGLFVBQVU7QUFBQSxJQUNWLDJCQUEyQixDQUFDLFVBQXVCO0FBQUEsSUFDbkQsMkJBQTJCLENBQUMsVUFBd0I7QUFBQSxFQUN0RDtBQUVBLFFBQU0sYUFBYSxPQUFPLE9BQU8sQ0FBQyxHQUFHLFNBQVMsZUFBZTtBQUM3RCxRQUFNLFlBQVk7QUFDbEIsUUFBTSxpQkFBaUI7QUFDdkIsUUFBTSxpQkFBaUIsV0FBVyxrQkFBa0IsVUFBVTtBQUM5RCxpQkFDRyxTQUFTLFdBQVcsMEJBQTBCLGVBQWUsUUFBUSxDQUFDLENBQUMsRUFDdkUsU0FBUyxPQUFPLFlBQVk7QUFDM0IsUUFBSSxXQUFXLGtCQUFrQjtBQUMvQixZQUFNLGVBQWUsV0FBVyxpQkFBaUIsT0FBTztBQUN4RCxZQUFNLG1CQUFtQixvQkFBb0IsV0FBVztBQUN4RCxVQUFJLGtCQUFrQjtBQUNwQix5QkFBaUIsa0JBQWtCLGdCQUFnQixFQUFFO0FBQ3JELHlCQUFpQixlQUFlO0FBQUEsTUFDbEM7QUFDQSxVQUFJLGNBQWM7QUFDaEI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUNBLG1CQUFlLFFBQVEsSUFBSSxXQUFXLDBCQUEwQixPQUFPO0FBQ3ZFLFFBQUksV0FBVyxVQUFVO0FBQ3ZCLFlBQU0sVUFBVSxhQUFhLGNBQWM7QUFBQSxJQUM3QztBQUFBLEVBQ0YsQ0FBQztBQUNILFNBQU87QUFDVDtBQU9BLFNBQVMsb0JBQW9CLGFBQTREO0FBQ3ZGLE1BQUksdUJBQXVCLG1DQUFtQjtBQUM1QyxXQUFPLFlBQVk7QUFBQSxFQUNyQjtBQUVBLE1BQUksdUJBQXVCLGlDQUFpQjtBQUMxQyxXQUFPLFlBQVk7QUFBQSxFQUNyQjtBQUVBLE1BQUksdUJBQXVCLG1DQUFtQjtBQUM1QyxXQUFPLFlBQVk7QUFBQSxFQUNyQjtBQUVBLE1BQUksdUJBQXVCLCtCQUFlO0FBQ3hDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { KeysMatching } from
|
2
|
-
import type { PluginBase } from
|
1
|
+
import type { KeysMatching } from '../../@types.ts';
|
2
|
+
import type { PluginBase } from './PluginBase.ts';
|
3
3
|
/**
|
4
4
|
* A UI component that can be bound to a plugin setting.
|
5
5
|
*/
|
@@ -47,7 +47,16 @@ var PluginBase = __toESM(require("./PluginBase.cjs"), 1);
|
|
47
47
|
var PluginSettings = __toESM(require("./PluginSettings.cjs"), 1);
|
48
48
|
var PluginSettingsTabBase = __toESM(require("./PluginSettingsTabBase.cjs"), 1);
|
49
49
|
var UIComponent = __toESM(require("./UIComponent.cjs"), 1);
|
50
|
-
var __import_meta_url = globalThis["import.meta.url"] ?? (() =>
|
50
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
51
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
52
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
53
|
+
let path = normalizedPath;
|
54
|
+
if (windowsDriveLetterMatch) {
|
55
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
56
|
+
}
|
57
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
58
|
+
return new URL(`file://${encodedPath}`);
|
59
|
+
})();
|
51
60
|
var __process = globalThis["process"] ?? {
|
52
61
|
"cwd": () => "/",
|
53
62
|
"env": {},
|
@@ -62,4 +71,4 @@ var __process = globalThis["process"] ?? {
|
|
62
71
|
PluginSettingsTabBase,
|
63
72
|
UIComponent
|
64
73
|
});
|
65
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/
|
74
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9Pntjb25zdCBub3JtYWxpemVkUGF0aD1fX2ZpbGVuYW1lLnJlcGxhY2UoL1xcXFwvZyxcIi9cIik7Y29uc3Qgd2luZG93c0RyaXZlTGV0dGVyTWF0Y2g9L14oW2EtekEtWl0pOi8uZXhlYyhub3JtYWxpemVkUGF0aCk7bGV0IHBhdGg9bm9ybWFsaXplZFBhdGg7aWYod2luZG93c0RyaXZlTGV0dGVyTWF0Y2gpe3BhdGg9YC8ke3dpbmRvd3NEcml2ZUxldHRlck1hdGNoWzFdLnRvVXBwZXJDYXNlKCl9OiR7bm9ybWFsaXplZFBhdGguc2xpY2UoMil9YH1jb25zdCBlbmNvZGVkUGF0aD1lbmNvZGVVUklDb21wb25lbnQocGF0aCkucmVwbGFjZSgvJTJGL2csXCIvXCIpLnJlcGxhY2UoLyUzQS9nLFwiOlwiKTtyZXR1cm4gbmV3IFVSTChgZmlsZTovLyR7ZW5jb2RlZFBhdGh9YCl9KSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyBmcm9tICcuL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmV4cG9ydCAqIGFzIFBsdWdpbiBmcm9tICcuL1BsdWdpbi50cyc7XG5leHBvcnQgKiBhcyBQbHVnaW5CYXNlIGZyb20gJy4vUGx1Z2luQmFzZS50cyc7XG5leHBvcnQgKiBhcyBQbHVnaW5TZXR0aW5ncyBmcm9tICcuL1BsdWdpblNldHRpbmdzLnRzJztcbmV4cG9ydCAqIGFzIFBsdWdpblNldHRpbmdzVGFiQmFzZSBmcm9tICcuL1BsdWdpblNldHRpbmdzVGFiQmFzZS50cyc7XG5leHBvcnQgKiBhcyBVSUNvbXBvbmVudCBmcm9tICcuL1VJQ29tcG9uZW50LnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsOEJBQXlDO0FBQ3pDLGFBQXdCO0FBQ3hCLGlCQUE0QjtBQUM1QixxQkFBZ0M7QUFDaEMsNEJBQXVDO0FBQ3ZDLGtCQUE2QjtBQWI3QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxRQUFNLGlCQUFlLFdBQVcsUUFBUSxPQUFNLEdBQUc7QUFBRSxRQUFNLDBCQUF3QixlQUFlLEtBQUssY0FBYztBQUFFLE1BQUksT0FBSztBQUFlLE1BQUcseUJBQXdCO0FBQUMsV0FBSyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQUU7QUFBQyxRQUFNLGNBQVksbUJBQW1CLElBQUksRUFBRSxRQUFRLFFBQU8sR0FBRyxFQUFFLFFBQVEsUUFBTyxHQUFHO0FBQUUsU0FBTyxJQUFJLElBQUksVUFBVSxXQUFXLEVBQUU7QUFBQyxHQUFHO0FBQ3BiLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -1,6 +1,6 @@
|
|
1
|
-
export * as ObsidianPluginRepoPaths from
|
2
|
-
export * as Plugin from
|
3
|
-
export * as PluginBase from
|
4
|
-
export * as PluginSettings from
|
5
|
-
export * as PluginSettingsTabBase from
|
6
|
-
export * as UIComponent from
|
1
|
+
export * as ObsidianPluginRepoPaths from './ObsidianPluginRepoPaths.ts';
|
2
|
+
export * as Plugin from './Plugin.ts';
|
3
|
+
export * as PluginBase from './PluginBase.ts';
|
4
|
+
export * as PluginSettings from './PluginSettings.ts';
|
5
|
+
export * as PluginSettingsTabBase from './PluginSettingsTabBase.ts';
|
6
|
+
export * as UIComponent from './UIComponent.ts';
|
@@ -28,7 +28,16 @@ __export(ResourceUrl_exports, {
|
|
28
28
|
module.exports = __toCommonJS(ResourceUrl_exports);
|
29
29
|
var import_obsidian = require("obsidian");
|
30
30
|
var import_Path = require("../Path.cjs");
|
31
|
-
var __import_meta_url = globalThis["import.meta.url"] ?? (() =>
|
31
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
32
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
33
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
34
|
+
let path = normalizedPath;
|
35
|
+
if (windowsDriveLetterMatch) {
|
36
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
37
|
+
}
|
38
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
39
|
+
return new URL(`file://${encodedPath}`);
|
40
|
+
})();
|
32
41
|
var __process = globalThis["process"] ?? {
|
33
42
|
"cwd": () => "/",
|
34
43
|
"env": {},
|
@@ -44,4 +53,4 @@ function relativePathToResourceUrl(app, relativePath, notePath) {
|
|
44
53
|
0 && (module.exports = {
|
45
54
|
relativePathToResourceUrl
|
46
55
|
});
|
47
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1Jlc291cmNlVXJsLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1Jlc291cmNlVXJsLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+e2NvbnN0IG5vcm1hbGl6ZWRQYXRoPV9fZmlsZW5hbWUucmVwbGFjZSgvXFxcXC9nLFwiL1wiKTtjb25zdCB3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaD0vXihbYS16QS1aXSk6Ly5leGVjKG5vcm1hbGl6ZWRQYXRoKTtsZXQgcGF0aD1ub3JtYWxpemVkUGF0aDtpZih3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaCl7cGF0aD1gLyR7d2luZG93c0RyaXZlTGV0dGVyTWF0Y2hbMV0udG9VcHBlckNhc2UoKX06JHtub3JtYWxpemVkUGF0aC5zbGljZSgyKX1gfWNvbnN0IGVuY29kZWRQYXRoPWVuY29kZVVSSUNvbXBvbmVudChwYXRoKS5yZXBsYWNlKC8lMkYvZyxcIi9cIikucmVwbGFjZSgvJTNBL2csXCI6XCIpO3JldHVybiBuZXcgVVJMKGBmaWxlOi8vJHtlbmNvZGVkUGF0aH1gKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gUmVzb3VyY2VVcmxcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggcmVzb3VyY2UgVVJMcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyB0b1Bvc2l4UGF0aCB9IGZyb20gJy4uL1BhdGgudHMnO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgcmVsYXRpdmUgcGF0aCB0byBhIHJlc291cmNlIFVSTC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHJlbGF0aXZlUGF0aCAtIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSByZXNvdXJjZS5cbiAqIEBwYXJhbSBub3RlUGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBub3RlLlxuICogQHJldHVybnMgVGhlIHJlc291cmNlIFVSTC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbGF0aXZlUGF0aFRvUmVzb3VyY2VVcmwoYXBwOiBBcHAsIHJlbGF0aXZlUGF0aDogc3RyaW5nLCBub3RlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgbm90ZUZ1bGxQYXRoID0gdG9Qb3NpeFBhdGgoYXBwLnZhdWx0LmFkYXB0ZXIuZ2V0RnVsbFJlYWxQYXRoKG5vdGVQYXRoKSk7XG4gIGNvbnN0IG5vdGVVcmwgPSBgJHtQbGF0Zm9ybS5yZXNvdXJjZVBhdGhQcmVmaXh9JHtub3RlRnVsbFBhdGh9YDtcbiAgY29uc3QgcmVsYXRpdmVVcmwgPSBuZXcgVVJMKHJlbGF0aXZlUGF0aCwgbm90ZVVybCk7XG4gIHJldHVybiByZWxhdGl2ZVVybC50b1N0cmluZygpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsc0JBQXlCO0FBRXpCLGtCQUE0QjtBQWQ1QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxRQUFNLGlCQUFlLFdBQVcsUUFBUSxPQUFNLEdBQUc7QUFBRSxRQUFNLDBCQUF3QixlQUFlLEtBQUssY0FBYztBQUFFLE1BQUksT0FBSztBQUFlLE1BQUcseUJBQXdCO0FBQUMsV0FBSyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQUU7QUFBQyxRQUFNLGNBQVksbUJBQW1CLElBQUksRUFBRSxRQUFRLFFBQU8sR0FBRyxFQUFFLFFBQVEsUUFBTyxHQUFHO0FBQUUsU0FBTyxJQUFJLElBQUksVUFBVSxXQUFXLEVBQUU7QUFBQyxHQUFHO0FBQ3BiLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFtQk8sU0FBUywwQkFBMEIsS0FBVSxjQUFzQixVQUEwQjtBQUNsRyxRQUFNLG1CQUFlLHlCQUFZLElBQUksTUFBTSxRQUFRLGdCQUFnQixRQUFRLENBQUM7QUFDNUUsUUFBTSxVQUFVLEdBQUcseUJBQVMsa0JBQWtCLEdBQUcsWUFBWTtBQUM3RCxRQUFNLGNBQWMsSUFBSSxJQUFJLGNBQWMsT0FBTztBQUNqRCxTQUFPLFlBQVksU0FBUztBQUM5QjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -38,9 +38,18 @@ __export(TAbstractFile_exports, {
|
|
38
38
|
});
|
39
39
|
module.exports = __toCommonJS(TAbstractFile_exports);
|
40
40
|
var import_obsidian = require("obsidian");
|
41
|
-
var import_String = require("../String.cjs");
|
42
41
|
var import_Path = require("../Path.cjs");
|
43
|
-
var
|
42
|
+
var import_String = require("../String.cjs");
|
43
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
44
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
45
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
46
|
+
let path = normalizedPath;
|
47
|
+
if (windowsDriveLetterMatch) {
|
48
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
49
|
+
}
|
50
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
51
|
+
return new URL(`file://${encodedPath}`);
|
52
|
+
})();
|
44
53
|
var __process = globalThis["process"] ?? {
|
45
54
|
"cwd": () => "/",
|
46
55
|
"env": {},
|
@@ -103,4 +112,4 @@ function getPath(pathOrFile) {
|
|
103
112
|
isNote,
|
104
113
|
trimMarkdownExtension
|
105
114
|
});
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
115
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1RBYnN0cmFjdEZpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT57Y29uc3Qgbm9ybWFsaXplZFBhdGg9X19maWxlbmFtZS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpO2NvbnN0IHdpbmRvd3NEcml2ZUxldHRlck1hdGNoPS9eKFthLXpBLVpdKTovLmV4ZWMobm9ybWFsaXplZFBhdGgpO2xldCBwYXRoPW5vcm1hbGl6ZWRQYXRoO2lmKHdpbmRvd3NEcml2ZUxldHRlck1hdGNoKXtwYXRoPWAvJHt3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaFsxXS50b1VwcGVyQ2FzZSgpfToke25vcm1hbGl6ZWRQYXRoLnNsaWNlKDIpfWB9Y29uc3QgZW5jb2RlZFBhdGg9ZW5jb2RlVVJJQ29tcG9uZW50KHBhdGgpLnJlcGxhY2UoLyUyRi9nLFwiL1wiKS5yZXBsYWNlKC8lM0EvZyxcIjpcIik7cmV0dXJuIG5ldyBVUkwoYGZpbGU6Ly8ke2VuY29kZWRQYXRofWApfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBUQWJzdHJhY3RGaWxlXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIGFic3RyYWN0IGZpbGVzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFRGb2xkZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBleHRuYW1lIH0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyB0cmltRW5kIH0gZnJvbSAnLi4vU3RyaW5nLnRzJztcblxuLyoqXG4gKiBUaGUgZmlsZSBleHRlbnNpb24gZm9yIE1hcmtkb3duIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgTUFSS0RPV05fRklMRV9FWFRFTlNJT04gPSAnbWQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZpbGUgZXh0ZW5zaW9uIGZvciBjYW52YXMgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBDQU5WQVNfRklMRV9FWFRFTlNJT04gPSAnY2FudmFzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGF0aCBvciBhbiBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlLlxuICovXG5leHBvcnQgdHlwZSBQYXRoT3JBYnN0cmFjdEZpbGUgPSBzdHJpbmcgfCBUQWJzdHJhY3RGaWxlO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEFic3RyYWN0RmlsZSBvYmplY3QgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGFic3RyYWN0IGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gcmV0cmlldmUgdGhlIFRBYnN0cmFjdEZpbGUgZm9yLlxuICogQHJldHVybnMgVGhlIFRBYnN0cmFjdEZpbGUgb2JqZWN0LlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgYWJzdHJhY3QgZmlsZSBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBYnN0cmFjdEZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IFRBYnN0cmFjdEZpbGUge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmICghZmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQWJzdHJhY3QgZmlsZSBub3QgZm91bmQ6ICR7cGF0aE9yRmlsZSBhcyBzdHJpbmd9YCk7XG4gIH1cblxuICByZXR1cm4gZmlsZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZSBvciBudWxsIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGFic3RyYWN0IGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZXRyaWV2ZS5cbiAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlIGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlKTogVEFic3RyYWN0RmlsZSB8IG51bGwge1xuICByZXR1cm4gcGF0aE9yRmlsZSBpbnN0YW5jZW9mIFRBYnN0cmFjdEZpbGUgPyBwYXRoT3JGaWxlIDogYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChwYXRoT3JGaWxlKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBub3RlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBub3RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOb3RlKGZpbGU6IFRBYnN0cmFjdEZpbGUgfCBudWxsKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc01hcmtkb3duRmlsZShmaWxlKSB8fCBpc0NhbnZhc0ZpbGUoZmlsZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgTWFya2Rvd24gZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIE1hcmtkb3duIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01hcmtkb3duRmlsZShwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUgfCBudWxsKTogYm9vbGVhbiB7XG4gIHJldHVybiBjaGVja0V4dGVuc2lvbihwYXRoT3JGaWxlLCBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgY2FudmFzIGZpbGUuXG4gKlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBjYW52YXMgZmlsZSBvciBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0ZpbGUocGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlIHwgbnVsbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2hlY2tFeHRlbnNpb24ocGF0aE9yRmlsZSwgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIHBhdGggb3IgZmlsZSBoYXMgdGhlIHNwZWNpZmllZCBleHRlbnNpb24uXG4gKlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIGNoZWNrLlxuICogQHBhcmFtIGV4dGVuc2lvbiAtIFRoZSBleHRlbnNpb24gdG8gY29tcGFyZSBhZ2FpbnN0LlxuICogQHJldHVybnMgUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggb3IgZmlsZSBoYXMgdGhlIHNwZWNpZmllZCBleHRlbnNpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tFeHRlbnNpb24ocGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlIHwgbnVsbCwgZXh0ZW5zaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHBhdGhPckZpbGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGV4dG5hbWUoZ2V0UGF0aChwYXRoT3JGaWxlKSkudG9Mb3dlckNhc2UoKS5zbGljZSgxKSA9PT0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XG59XG5cbi8qKlxuICogVHJpbXMgdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tIHRoZSBmaWxlIHBhdGggaWYgdGhlIGZpbGUgaXMgYSBtYXJrZG93biBmaWxlLlxuICogSWYgdGhlIGZpbGUgaXMgbm90IGEgbWFya2Rvd24gZmlsZSwgdGhlIG9yaWdpbmFsIGZpbGUgcGF0aCBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRyaW0gdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgcGF0aCB3aXRoIHRoZSBtYXJrZG93biBleHRlbnNpb24gdHJpbW1lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW1NYXJrZG93bkV4dGVuc2lvbihmaWxlOiBUQWJzdHJhY3RGaWxlKTogc3RyaW5nIHtcbiAgaWYgKCFpc01hcmtkb3duRmlsZShmaWxlKSkge1xuICAgIHJldHVybiBmaWxlLnBhdGg7XG4gIH1cblxuICByZXR1cm4gdHJpbUVuZChmaWxlLnBhdGgsICcuJyArIE1BUktET1dOX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbGUoZmlsZTogVEFic3RyYWN0RmlsZSB8IG51bGwpOiBmaWxlIGlzIFRGaWxlIHtcbiAgcmV0dXJuIGZpbGUgaW5zdGFuY2VvZiBURmlsZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZmlsZSBpcyBhIGZvbGRlciwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZvbGRlcihmaWxlOiBUQWJzdHJhY3RGaWxlIHwgbnVsbCk6IGZpbGUgaXMgVEZvbGRlciB7XG4gIHJldHVybiBmaWxlIGluc3RhbmNlb2YgVEZvbGRlcjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXRoIG9mIHRoZSBnaXZlbiBgcGF0aE9yRmlsZWAuXG4gKlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICogQHJldHVybnMgVGhlIHBhdGggb2YgdGhlIGBwYXRoT3JGaWxlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGgocGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGhPckZpbGUgaW5zdGFuY2VvZiBUQWJzdHJhY3RGaWxlID8gcGF0aE9yRmlsZS5wYXRoIDogcGF0aE9yRmlsZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFLTztBQUVQLGtCQUF3QjtBQUN4QixvQkFBd0I7QUFuQnhCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLFFBQU0saUJBQWUsV0FBVyxRQUFRLE9BQU0sR0FBRztBQUFFLFFBQU0sMEJBQXdCLGVBQWUsS0FBSyxjQUFjO0FBQUUsTUFBSSxPQUFLO0FBQWUsTUFBRyx5QkFBd0I7QUFBQyxXQUFLLElBQUksd0JBQXdCLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxlQUFlLE1BQU0sQ0FBQyxDQUFDO0FBQUEsRUFBRTtBQUFDLFFBQU0sY0FBWSxtQkFBbUIsSUFBSSxFQUFFLFFBQVEsUUFBTyxHQUFHLEVBQUUsUUFBUSxRQUFPLEdBQUc7QUFBRSxTQUFPLElBQUksSUFBSSxVQUFVLFdBQVcsRUFBRTtBQUFDLEdBQUc7QUFDcGIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW1CTyxNQUFNLDBCQUEwQjtBQUtoQyxNQUFNLHdCQUF3QjtBQWU5QixTQUFTLGdCQUFnQixLQUFVLFlBQStDO0FBQ3ZGLFFBQU0sT0FBTyxzQkFBc0IsS0FBSyxVQUFVO0FBQ2xELE1BQUksQ0FBQyxNQUFNO0FBQ1QsVUFBTSxJQUFJLE1BQU0sNEJBQTRCLFVBQW9CLEVBQUU7QUFBQSxFQUNwRTtBQUVBLFNBQU87QUFDVDtBQVNPLFNBQVMsc0JBQXNCLEtBQVUsWUFBc0Q7QUFDcEcsU0FBTyxzQkFBc0IsZ0NBQWdCLGFBQWEsSUFBSSxNQUFNLHNCQUFzQixVQUFVO0FBQ3RHO0FBT08sU0FBUyxPQUFPLE1BQXFDO0FBQzFELFNBQU8sZUFBZSxJQUFJLEtBQUssYUFBYSxJQUFJO0FBQ2xEO0FBUU8sU0FBUyxlQUFlLFlBQWdEO0FBQzdFLFNBQU8sZUFBZSxZQUFZLHVCQUF1QjtBQUMzRDtBQVFPLFNBQVMsYUFBYSxZQUFnRDtBQUMzRSxTQUFPLGVBQWUsWUFBWSxxQkFBcUI7QUFDekQ7QUFTTyxTQUFTLGVBQWUsWUFBdUMsV0FBNEI7QUFDaEcsTUFBSSxlQUFlLE1BQU07QUFDdkIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxhQUFPLHFCQUFRLFFBQVEsVUFBVSxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsWUFBWTtBQUN2RjtBQVNPLFNBQVMsc0JBQXNCLE1BQTZCO0FBQ2pFLE1BQUksQ0FBQyxlQUFlLElBQUksR0FBRztBQUN6QixXQUFPLEtBQUs7QUFBQSxFQUNkO0FBRUEsYUFBTyx1QkFBUSxLQUFLLE1BQU0sTUFBTSx1QkFBdUI7QUFDekQ7QUFRTyxTQUFTLE9BQU8sTUFBMkM7QUFDaEUsU0FBTyxnQkFBZ0I7QUFDekI7QUFRTyxTQUFTLFNBQVMsTUFBNkM7QUFDcEUsU0FBTyxnQkFBZ0I7QUFDekI7QUFRTyxTQUFTLFFBQVEsWUFBd0M7QUFDOUQsU0FBTyxzQkFBc0IsZ0NBQWdCLFdBQVcsT0FBTztBQUNqRTsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation TAbstractFile
|
3
3
|
* This module provides utility functions for working with abstract files in Obsidian.
|
4
4
|
*/
|
5
|
-
import { App, TAbstractFile, TFile, TFolder } from
|
5
|
+
import { App, TAbstractFile, TFile, TFolder } from 'obsidian';
|
6
6
|
/**
|
7
7
|
* The file extension for Markdown files.
|
8
8
|
*/
|
@@ -28,7 +28,16 @@ __export(TFile_exports, {
|
|
28
28
|
});
|
29
29
|
module.exports = __toCommonJS(TFile_exports);
|
30
30
|
var import_obsidian = require("obsidian");
|
31
|
-
var __import_meta_url = globalThis["import.meta.url"] ?? (() =>
|
31
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
32
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
33
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
34
|
+
let path = normalizedPath;
|
35
|
+
if (windowsDriveLetterMatch) {
|
36
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
37
|
+
}
|
38
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
39
|
+
return new URL(`file://${encodedPath}`);
|
40
|
+
})();
|
32
41
|
var __process = globalThis["process"] ?? {
|
33
42
|
"cwd": () => "/",
|
34
43
|
"env": {},
|
@@ -49,4 +58,4 @@ function getFileOrNull(app, pathOrFile) {
|
|
49
58
|
getFile,
|
50
59
|
getFileOrNull
|
51
60
|
});
|
52
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1RGaWxlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+
|
61
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1RGaWxlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+e2NvbnN0IG5vcm1hbGl6ZWRQYXRoPV9fZmlsZW5hbWUucmVwbGFjZSgvXFxcXC9nLFwiL1wiKTtjb25zdCB3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaD0vXihbYS16QS1aXSk6Ly5leGVjKG5vcm1hbGl6ZWRQYXRoKTtsZXQgcGF0aD1ub3JtYWxpemVkUGF0aDtpZih3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaCl7cGF0aD1gLyR7d2luZG93c0RyaXZlTGV0dGVyTWF0Y2hbMV0udG9VcHBlckNhc2UoKX06JHtub3JtYWxpemVkUGF0aC5zbGljZSgyKX1gfWNvbnN0IGVuY29kZWRQYXRoPWVuY29kZVVSSUNvbXBvbmVudChwYXRoKS5yZXBsYWNlKC8lMkYvZyxcIi9cIikucmVwbGFjZSgvJTNBL2csXCI6XCIpO3JldHVybiBuZXcgVVJMKGBmaWxlOi8vJHtlbmNvZGVkUGF0aH1gKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gVEZpbGVcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggVEZpbGUgaW5zdGFuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXRoIG9yIGEgZmlsZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yRmlsZSA9IHN0cmluZyB8IFRGaWxlO1xuXG4vKipcbiAqIFJldHJpZXZlcyBhIFRGaWxlIG9iamVjdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF0aCBvciBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJldHJpZXZlIHRoZSBURmlsZSBvYmplY3QgZm9yLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBURmlsZSB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmICghZmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSBub3QgZm91bmQ6ICR7cGF0aE9yRmlsZSBhcyBzdHJpbmd9YCk7XG4gIH1cblxuICByZXR1cm4gZmlsZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURmlsZSBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZmlsZS5cbiAqIElmIHRoZSBwcm92aWRlZCBhcmd1bWVudCBpcyBhbHJlYWR5IGEgVEZpbGUgb2JqZWN0LCBpdCBpcyByZXR1cm5lZCBhcyBpcy5cbiAqIE90aGVyd2lzZSwgdGhlIGZ1bmN0aW9uIHVzZXMgdGhlIGFwcCdzIHZhdWx0IHRvIHJldHJpZXZlIHRoZSBURmlsZSBvYmplY3QgYnkgaXRzIHBhdGguXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlT3JOdWxsKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogVEZpbGUgfCBudWxsIHtcbiAgcmV0dXJuIHBhdGhPckZpbGUgaW5zdGFuY2VvZiBURmlsZSA/IHBhdGhPckZpbGUgOiBhcHAudmF1bHQuZ2V0RmlsZUJ5UGF0aChwYXRoT3JGaWxlKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0Esc0JBR087QUFkUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxRQUFNLGlCQUFlLFdBQVcsUUFBUSxPQUFNLEdBQUc7QUFBRSxRQUFNLDBCQUF3QixlQUFlLEtBQUssY0FBYztBQUFFLE1BQUksT0FBSztBQUFlLE1BQUcseUJBQXdCO0FBQUMsV0FBSyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQUU7QUFBQyxRQUFNLGNBQVksbUJBQW1CLElBQUksRUFBRSxRQUFRLFFBQU8sR0FBRyxFQUFFLFFBQVEsUUFBTyxHQUFHO0FBQUUsU0FBTyxJQUFJLElBQUksVUFBVSxXQUFXLEVBQUU7QUFBQyxHQUFHO0FBQ3BiLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF3Qk8sU0FBUyxRQUFRLEtBQVUsWUFBK0I7QUFDL0QsUUFBTSxPQUFPLGNBQWMsS0FBSyxVQUFVO0FBQzFDLE1BQUksQ0FBQyxNQUFNO0FBQ1QsVUFBTSxJQUFJLE1BQU0sbUJBQW1CLFVBQW9CLEVBQUU7QUFBQSxFQUMzRDtBQUVBLFNBQU87QUFDVDtBQVVPLFNBQVMsY0FBYyxLQUFVLFlBQXNDO0FBQzVFLFNBQU8sc0JBQXNCLHdCQUFRLGFBQWEsSUFBSSxNQUFNLGNBQWMsVUFBVTtBQUN0RjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -30,7 +30,16 @@ __export(TFolder_exports, {
|
|
30
30
|
module.exports = __toCommonJS(TFolder_exports);
|
31
31
|
var import_obsidian = require("obsidian");
|
32
32
|
var import_TAbstractFile = require("./TAbstractFile.cjs");
|
33
|
-
var __import_meta_url = globalThis["import.meta.url"] ?? (() =>
|
33
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
34
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
35
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
36
|
+
let path = normalizedPath;
|
37
|
+
if (windowsDriveLetterMatch) {
|
38
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
39
|
+
}
|
40
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
41
|
+
return new URL(`file://${encodedPath}`);
|
42
|
+
})();
|
34
43
|
var __process = globalThis["process"] ?? {
|
35
44
|
"cwd": () => "/",
|
36
45
|
"env": {},
|
@@ -70,4 +79,4 @@ function getMarkdownFiles(app, pathOrFolder, isRecursive) {
|
|
70
79
|
getFolderOrNull,
|
71
80
|
getMarkdownFiles
|
72
81
|
});
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
82
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1RGb2xkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT57Y29uc3Qgbm9ybWFsaXplZFBhdGg9X19maWxlbmFtZS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpO2NvbnN0IHdpbmRvd3NEcml2ZUxldHRlck1hdGNoPS9eKFthLXpBLVpdKTovLmV4ZWMobm9ybWFsaXplZFBhdGgpO2xldCBwYXRoPW5vcm1hbGl6ZWRQYXRoO2lmKHdpbmRvd3NEcml2ZUxldHRlck1hdGNoKXtwYXRoPWAvJHt3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaFsxXS50b1VwcGVyQ2FzZSgpfToke25vcm1hbGl6ZWRQYXRoLnNsaWNlKDIpfWB9Y29uc3QgZW5jb2RlZFBhdGg9ZW5jb2RlVVJJQ29tcG9uZW50KHBhdGgpLnJlcGxhY2UoLyUyRi9nLFwiL1wiKS5yZXBsYWNlKC8lM0EvZyxcIjpcIik7cmV0dXJuIG5ldyBVUkwoYGZpbGU6Ly8ke2VuY29kZWRQYXRofWApfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBURm9sZGVyXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIFRGb2xkZXIgaW5zdGFuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgVEZpbGUsXG4gIFRGb2xkZXIsXG4gIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgaXNNYXJrZG93bkZpbGUgfSBmcm9tICcuL1RBYnN0cmFjdEZpbGUudHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXRoIG9yIGFuIGluc3RhbmNlIG9mIFRGb2xkZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFBhdGhPckZvbGRlciA9IHN0cmluZyB8IFRGb2xkZXI7XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZvbGRlciBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFwcCBhbmQgcGF0aE9yRm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZvbGRlciAtIFRoZSBwYXRoIG9yIGZvbGRlciBpZGVudGlmaWVyLlxuICogQHJldHVybnMgVGhlIHJldHJpZXZlZCBURm9sZGVyIG9iamVjdC5cbiAqIEB0aHJvd3MgSWYgdGhlIGZvbGRlciBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXIoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyKTogVEZvbGRlciB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIHBhdGhPckZvbGRlcik7XG4gIGlmICghZm9sZGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGb2xkZXIgbm90IGZvdW5kOiAke3BhdGhPckZvbGRlciBhcyBzdHJpbmd9YCk7XG4gIH1cblxuICByZXR1cm4gZm9sZGVyO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIFRGb2xkZXIgb2JqZWN0IG9yIG51bGwgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIHRvIHJldHJpZXZlIHRoZSBURm9sZGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgVEZvbGRlciBvYmplY3QgaWYgZm91bmQsIG90aGVyd2lzZSBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9sZGVyT3JOdWxsKGFwcDogQXBwLCBwYXRoT3JGb2xkZXI6IFBhdGhPckZvbGRlciB8IG51bGwpOiBURm9sZGVyIHwgbnVsbCB7XG4gIGlmIChwYXRoT3JGb2xkZXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gcGF0aE9yRm9sZGVyIGluc3RhbmNlb2YgVEZvbGRlciA/IHBhdGhPckZvbGRlciA6IGFwcC52YXVsdC5nZXRGb2xkZXJCeVBhdGgocGF0aE9yRm9sZGVyKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gYXJyYXkgb2YgVEZpbGUgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIG1hcmtkb3duIGZpbGVzIHdpdGhpbiBhIHNwZWNpZmllZCBmb2xkZXIgb3IgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgdG8gcmV0cmlldmUgdGhlIG1hcmtkb3duIGZpbGVzIGZyb20uXG4gKiBAcGFyYW0gaXNSZWN1cnNpdmUgLSBPcHRpb25hbC4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmVjdXJzaXZlbHkgc2VhcmNoIGZvciBtYXJrZG93biBmaWxlcyB3aXRoaW4gc3ViZm9sZGVycy4gRGVmYXVsdCBpcyBmYWxzZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFRGaWxlIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBtYXJrZG93biBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hcmtkb3duRmlsZXMoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyLCBpc1JlY3Vyc2l2ZT86IGJvb2xlYW4pOiBURmlsZVtdIHtcbiAgY29uc3QgZm9sZGVyID0gZ2V0Rm9sZGVyKGFwcCwgcGF0aE9yRm9sZGVyKTtcblxuICBsZXQgbWFya2Rvd25GaWxlczogVEZpbGVbXSA9IFtdO1xuXG4gIGlmICghaXNSZWN1cnNpdmUpIHtcbiAgICBtYXJrZG93bkZpbGVzID0gZm9sZGVyLmNoaWxkcmVuLmZpbHRlcigoZmlsZSkgPT4gaXNNYXJrZG93bkZpbGUoZmlsZSkpIGFzIFRGaWxlW107XG4gIH0gZWxzZSB7XG4gICAgVmF1bHQucmVjdXJzZUNoaWxkcmVuKGZvbGRlciwgKGFic3RyYWN0RmlsZSkgPT4ge1xuICAgICAgaWYgKGlzTWFya2Rvd25GaWxlKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgICAgbWFya2Rvd25GaWxlcy5wdXNoKGFic3RyYWN0RmlsZSBhcyBURmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBtYXJrZG93bkZpbGVzID0gbWFya2Rvd25GaWxlcy5zb3J0KChhLCBiKSA9PiBhLnBhdGgubG9jYWxlQ29tcGFyZShiLnBhdGgpKTtcbiAgcmV0dXJuIG1hcmtkb3duRmlsZXM7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsc0JBSU87QUFFUCwyQkFBK0I7QUFsQi9CLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLFFBQU0saUJBQWUsV0FBVyxRQUFRLE9BQU0sR0FBRztBQUFFLFFBQU0sMEJBQXdCLGVBQWUsS0FBSyxjQUFjO0FBQUUsTUFBSSxPQUFLO0FBQWUsTUFBRyx5QkFBd0I7QUFBQyxXQUFLLElBQUksd0JBQXdCLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxlQUFlLE1BQU0sQ0FBQyxDQUFDO0FBQUEsRUFBRTtBQUFDLFFBQU0sY0FBWSxtQkFBbUIsSUFBSSxFQUFFLFFBQVEsUUFBTyxHQUFHLEVBQUUsUUFBUSxRQUFPLEdBQUc7QUFBRSxTQUFPLElBQUksSUFBSSxVQUFVLFdBQVcsRUFBRTtBQUFDLEdBQUc7QUFDcGIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQTRCTyxTQUFTLFVBQVUsS0FBVSxjQUFxQztBQUN2RSxRQUFNLFNBQVMsZ0JBQWdCLEtBQUssWUFBWTtBQUNoRCxNQUFJLENBQUMsUUFBUTtBQUNYLFVBQU0sSUFBSSxNQUFNLHFCQUFxQixZQUFzQixFQUFFO0FBQUEsRUFDL0Q7QUFFQSxTQUFPO0FBQ1Q7QUFTTyxTQUFTLGdCQUFnQixLQUFVLGNBQW1EO0FBQzNGLE1BQUksaUJBQWlCLE1BQU07QUFDekIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxTQUFPLHdCQUF3QiwwQkFBVSxlQUFlLElBQUksTUFBTSxnQkFBZ0IsWUFBWTtBQUNoRztBQVVPLFNBQVMsaUJBQWlCLEtBQVUsY0FBNEIsYUFBZ0M7QUFDckcsUUFBTSxTQUFTLFVBQVUsS0FBSyxZQUFZO0FBRTFDLE1BQUksZ0JBQXlCLENBQUM7QUFFOUIsTUFBSSxDQUFDLGFBQWE7QUFDaEIsb0JBQWdCLE9BQU8sU0FBUyxPQUFPLENBQUMsYUFBUyxxQ0FBZSxJQUFJLENBQUM7QUFBQSxFQUN2RSxPQUFPO0FBQ0wsMEJBQU0sZ0JBQWdCLFFBQVEsQ0FBQyxpQkFBaUI7QUFDOUMsY0FBSSxxQ0FBZSxZQUFZLEdBQUc7QUFDaEMsc0JBQWMsS0FBSyxZQUFxQjtBQUFBLE1BQzFDO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUVBLGtCQUFnQixjQUFjLEtBQUssQ0FBQyxHQUFHLE1BQU0sRUFBRSxLQUFLLGNBQWMsRUFBRSxJQUFJLENBQUM7QUFDekUsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -2,7 +2,8 @@
|
|
2
2
|
* @packageDocumentation TFolder
|
3
3
|
* This module provides utility functions for working with TFolder instances in Obsidian.
|
4
4
|
*/
|
5
|
-
import {
|
5
|
+
import type { App } from 'obsidian';
|
6
|
+
import { TFile, TFolder } from 'obsidian';
|
6
7
|
/**
|
7
8
|
* Represents a path or an instance of TFolder.
|
8
9
|
*/
|
@@ -35,17 +35,25 @@ __export(Vault_exports, {
|
|
35
35
|
});
|
36
36
|
module.exports = __toCommonJS(Vault_exports);
|
37
37
|
var import_obsidian = require("obsidian");
|
38
|
-
var import_Object = require("../Object.cjs");
|
39
38
|
var import_Async = require("../Async.cjs");
|
40
|
-
var import_MetadataCache = require("./MetadataCache.cjs");
|
41
39
|
var import_Error = require("../Error.cjs");
|
42
|
-
var
|
43
|
-
var
|
40
|
+
var import_Object = require("../Object.cjs");
|
41
|
+
var import_Path = require("../Path.cjs");
|
42
|
+
var import_ValueProvider = require("../ValueProvider.cjs");
|
43
|
+
var import_MetadataCache = require("./MetadataCache.cjs");
|
44
44
|
var import_TAbstractFile = require("./TAbstractFile.cjs");
|
45
|
+
var import_TFile = require("./TFile.cjs");
|
45
46
|
var import_TFolder = require("./TFolder.cjs");
|
46
|
-
var
|
47
|
-
|
48
|
-
|
47
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
48
|
+
const normalizedPath = __filename.replace(/\\/g, "/");
|
49
|
+
const windowsDriveLetterMatch = /^([a-zA-Z]):/.exec(normalizedPath);
|
50
|
+
let path = normalizedPath;
|
51
|
+
if (windowsDriveLetterMatch) {
|
52
|
+
path = `/${windowsDriveLetterMatch[1].toUpperCase()}:${normalizedPath.slice(2)}`;
|
53
|
+
}
|
54
|
+
const encodedPath = encodeURIComponent(path).replace(/%2F/g, "/").replace(/%3A/g, ":");
|
55
|
+
return new URL(`file://${encodedPath}`);
|
56
|
+
})();
|
49
57
|
var __process = globalThis["process"] ?? {
|
50
58
|
"cwd": () => "/",
|
51
59
|
"env": {},
|
@@ -84,7 +92,7 @@ async function applyFileChanges(app, pathOrFile, changesProvider, retryOptions =
|
|
84
92
|
for (const change of changes) {
|
85
93
|
const actualContent = content.slice(change.startIndex, change.endIndex);
|
86
94
|
if (actualContent !== change.oldContent) {
|
87
|
-
console.warn(`Content mismatch at ${change.startIndex}-${change.endIndex} in ${(0, import_TAbstractFile.getPath)(pathOrFile)}:
|
95
|
+
console.warn(`Content mismatch at ${change.startIndex.toString()}-${change.endIndex.toString()} in ${(0, import_TAbstractFile.getPath)(pathOrFile)}:
|
88
96
|
Expected: ${change.oldContent}
|
89
97
|
Actual: ${actualContent}`);
|
90
98
|
return null;
|
@@ -98,12 +106,12 @@ Actual: ${actualContent}`);
|
|
98
106
|
return !(0, import_Object.deepEqual)(change, changes[index - 1]);
|
99
107
|
});
|
100
108
|
for (let i = 1; i < changes.length; i++) {
|
101
|
-
const change = changes[i];
|
102
|
-
const previousChange = changes[i - 1];
|
109
|
+
const change = changes[i] ?? (0, import_Error.throwExpression)(new Error("Change not found"));
|
110
|
+
const previousChange = changes[i - 1] ?? (0, import_Error.throwExpression)(new Error("Previous change not found"));
|
103
111
|
if (previousChange.endIndex > change.startIndex) {
|
104
112
|
console.warn(`Overlapping changes:
|
105
|
-
${(0,
|
106
|
-
${(0,
|
113
|
+
${(0, import_Object.toJson)(previousChange)}
|
114
|
+
${(0, import_Object.toJson)(change)}`);
|
107
115
|
return null;
|
108
116
|
}
|
109
117
|
}
|
@@ -214,7 +222,7 @@ async function createTempFile(app, path) {
|
|
214
222
|
throw e;
|
215
223
|
}
|
216
224
|
}
|
217
|
-
file = app.vault.getFileByPath(path);
|
225
|
+
file = app.vault.getFileByPath(path) ?? (0, import_Error.throwExpression)(new Error("File not found"));
|
218
226
|
return async () => {
|
219
227
|
if (!file.deleted) {
|
220
228
|
await app.vault.delete(file, true);
|
@@ -232,7 +240,7 @@ async function createTempFolder(app, path) {
|
|
232
240
|
await createTempFolder(app, dirPath);
|
233
241
|
const folderCleanup = await createTempFolder(app, (0, import_Path.dirname)(path));
|
234
242
|
await createFolderSafe(app, path);
|
235
|
-
folder = app.vault.getFolderByPath(path);
|
243
|
+
folder = app.vault.getFolderByPath(path) ?? (0, import_Error.throwExpression)(new Error("Folder not found"));
|
236
244
|
return async () => {
|
237
245
|
if (!folder.deleted) {
|
238
246
|
await app.vault.delete(folder, true);
|
@@ -252,4 +260,4 @@ async function createTempFolder(app, path) {
|
|
252
260
|
removeFolderSafe,
|
253
261
|
safeList
|
254
262
|
});
|
255
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1ZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gVmF1bHRcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggdGhlIE9ic2lkaWFuIFZhdWx0LlxuICovXG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgTm90aWNlLFxuICBURmlsZSxcbiAgVEZvbGRlcixcbiAgdHlwZSBMaXN0ZWRGaWxlc1xufSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gXCIuLi9PYmplY3QudHNcIjtcbmltcG9ydCB7XG4gIHJldHJ5V2l0aFRpbWVvdXQsXG4gIHR5cGUgUmV0cnlPcHRpb25zXG59IGZyb20gXCIuLi9Bc3luYy50c1wiO1xuaW1wb3J0IHsgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUgfSBmcm9tIFwiLi9NZXRhZGF0YUNhY2hlLnRzXCI7XG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSBcIi4uL0Vycm9yLnRzXCI7XG5pbXBvcnQgeyB0b0pzb24gfSBmcm9tIFwiLi4vSlNPTi50c1wiO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgdHlwZSBQYXRoT3JGaWxlXG59IGZyb20gXCIuL1RGaWxlLnRzXCI7XG5pbXBvcnQgeyBnZXRQYXRoIH0gZnJvbSBcIi4vVEFic3RyYWN0RmlsZS50c1wiO1xuaW1wb3J0IHtcbiAgZ2V0Rm9sZGVyT3JOdWxsLFxuICB0eXBlIFBhdGhPckZvbGRlclxufSBmcm9tIFwiLi9URm9sZGVyLnRzXCI7XG5pbXBvcnQge1xuICByZXNvbHZlVmFsdWUsXG4gIHR5cGUgVmFsdWVQcm92aWRlclxufSBmcm9tIFwiLi4vVmFsdWVQcm92aWRlci50c1wiO1xuaW1wb3J0IHsgZGlybmFtZSB9IGZyb20gXCIuLi9QYXRoLnRzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZpbGUgY2hhbmdlIGluIHRoZSBWYXVsdC5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsZUNoYW5nZSA9IHtcbiAgc3RhcnRJbmRleDogbnVtYmVyO1xuICBlbmRJbmRleDogbnVtYmVyO1xuICBvbGRDb250ZW50OiBzdHJpbmc7XG4gIG5ld0NvbnRlbnQ6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIE1hcmtkb3duIGZpbGVzIGZyb20gdGhlIGFwcCdzIHZhdWx0IGFuZCBzb3J0cyB0aGVtIGFscGhhYmV0aWNhbGx5IGJ5IHRoZWlyIGZpbGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIE1hcmtkb3duIGZpbGVzIHNvcnRlZCBieSBmaWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXJrZG93bkZpbGVzU29ydGVkKGFwcDogQXBwKTogVEZpbGVbXSB7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLnNvcnQoKGEsIGIpID0+IGEucGF0aC5sb2NhbGVDb21wYXJlKGIucGF0aCkpO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBhIGZpbGUgd2l0aCByZXRyeSBsb2dpYywgdXBkYXRpbmcgaXRzIGNvbnRlbnQgYmFzZWQgb24gYSBwcm92aWRlZCB2YWx1ZSBvciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLCB0eXBpY2FsbHkgdXNlZCBmb3IgYWNjZXNzaW5nIHRoZSB2YXVsdC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBiZSBwcm9jZXNzZWQuIEl0IGNhbiBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhdGggb3IgYSBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBuZXdDb250ZW50UHJvdmlkZXIgLSBBIHZhbHVlIHByb3ZpZGVyIHRoYXQgcmV0dXJucyB0aGUgbmV3IGNvbnRlbnQgYmFzZWQgb24gdGhlIG9sZCBjb250ZW50IG9mIHRoZSBmaWxlLlxuICogSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgb2xkIGNvbnRlbnQgYXMgYW4gYXJndW1lbnQgYW5kIHJldHVybnMgdGhlIG5ldyBjb250ZW50LlxuICogSWYgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIGl0IHNob3VsZCByZXR1cm4gYG51bGxgIGlmIHRoZSBwcm9jZXNzIHNob3VsZCBiZSByZXRyaWVkLlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsLiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBwcm9jZXNzLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgcHJvY2VzcyBpcyBjb21wbGV0ZS5cbiAqXG4gKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHByb2Nlc3MgZmFpbHMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV0cmllcyBvciB0aW1lb3V0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc1dpdGhSZXRyeShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgbmV3Q29udGVudFByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPHN0cmluZyB8IG51bGwsIFtzdHJpbmddPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbGRDb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChmaWxlLnBhdGgpO1xuICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBhd2FpdCByZXNvbHZlVmFsdWUobmV3Q29udGVudFByb3ZpZGVyLCBvbGRDb250ZW50KTtcbiAgICBpZiAobmV3Q29udGVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgYXdhaXQgYXBwLnZhdWx0LnByb2Nlc3MoZmlsZSwgKGNvbnRlbnQpID0+IHtcbiAgICAgIGlmIChjb250ZW50ICE9PSBvbGRDb250ZW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQ29udGVudCBvZiAke2ZpbGUucGF0aH0gaGFzIGNoYW5nZWQgc2luY2UgaXQgd2FzIHJlYWQuIFJldHJ5aW5nLi4uYCk7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXdDb250ZW50O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcbn1cblxuLyoqXG4gKiBBcHBsaWVzIGEgc2VyaWVzIG9mIGZpbGUgY2hhbmdlcyB0byB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgcGF0aCB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2Ugd2hlcmUgdGhlIGZpbGUgY2hhbmdlcyB3aWxsIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gd2hpY2ggdGhlIGNoYW5nZXMgc2hvdWxkIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gY2hhbmdlc1Byb3ZpZGVyIC0gQSBwcm92aWRlciB0aGF0IHJldHVybnMgYW4gYXJyYXkgb2YgZmlsZSBjaGFuZ2VzIHRvIGFwcGx5LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHNldHRpbmdzIHRoYXQgZGV0ZXJtaW5lIGhvdyB0aGUgb3BlcmF0aW9uIHNob3VsZCByZXRyeSBvbiBmYWlsdXJlLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseUZpbGVDaGFuZ2VzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBjaGFuZ2VzUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8RmlsZUNoYW5nZVtdPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBhd2FpdCBwcm9jZXNzV2l0aFJldHJ5KGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGNvbnRlbnQpID0+IHtcbiAgICBsZXQgY2hhbmdlcyA9IGF3YWl0IHJlc29sdmVWYWx1ZShjaGFuZ2VzUHJvdmlkZXIpO1xuXG4gICAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgY2hhbmdlcykge1xuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IGNvbnRlbnQuc2xpY2UoY2hhbmdlLnN0YXJ0SW5kZXgsIGNoYW5nZS5lbmRJbmRleCk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBDb250ZW50IG1pc21hdGNoIGF0ICR7Y2hhbmdlLnN0YXJ0SW5kZXh9LSR7Y2hhbmdlLmVuZEluZGV4fSBpbiAke2dldFBhdGgocGF0aE9yRmlsZSl9OlxcbkV4cGVjdGVkOiAke2NoYW5nZS5vbGRDb250ZW50fVxcbkFjdHVhbDogJHthY3R1YWxDb250ZW50fWApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VzLnNvcnQoKGEsIGIpID0+IGEuc3RhcnRJbmRleCAtIGIuc3RhcnRJbmRleCk7XG5cbiAgICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgICBjaGFuZ2VzID0gY2hhbmdlcy5maWx0ZXIoKGNoYW5nZSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGVlcEVxdWFsKGNoYW5nZSwgY2hhbmdlc1tpbmRleCAtIDFdKTtcbiAgICB9KTtcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgY2hhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hhbmdlID0gY2hhbmdlc1tpXSE7XG4gICAgICBjb25zdCBwcmV2aW91c0NoYW5nZSA9IGNoYW5nZXNbaSAtIDFdITtcbiAgICAgIGlmIChwcmV2aW91c0NoYW5nZS5lbmRJbmRleCA+IGNoYW5nZS5zdGFydEluZGV4KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT3ZlcmxhcHBpbmcgY2hhbmdlczpcXG4ke3RvSnNvbihwcmV2aW91c0NoYW5nZSl9XFxuJHt0b0pzb24oY2hhbmdlKX1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG5ld0NvbnRlbnQgPSBcIlwiO1xuICAgIGxldCBsYXN0SW5kZXggPSAwO1xuXG4gICAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgY2hhbmdlcykge1xuICAgICAgbmV3Q29udGVudCArPSBjb250ZW50LnNsaWNlKGxhc3RJbmRleCwgY2hhbmdlLnN0YXJ0SW5kZXgpO1xuICAgICAgbmV3Q29udGVudCArPSBjaGFuZ2UubmV3Q29udGVudDtcbiAgICAgIGxhc3RJbmRleCA9IGNoYW5nZS5lbmRJbmRleDtcbiAgICB9XG5cbiAgICBuZXdDb250ZW50ICs9IGNvbnRlbnQuc2xpY2UobGFzdEluZGV4KTtcbiAgICByZXR1cm4gbmV3Q29udGVudDtcbiAgfSwgb3ZlcnJpZGRlbk9wdGlvbnMpO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgYSBmb2xkZXIgYW5kIGl0cyBjb250ZW50cyBzYWZlbHkgZnJvbSB0aGUgdmF1bHQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmb2xkZXJQYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZvbGRlciB0byBiZSByZW1vdmVkLlxuICogQHBhcmFtIHJlbW92ZWROb3RlUGF0aCAtIE9wdGlvbmFsLiBUaGUgcGF0aCBvZiB0aGUgbm90ZSB0aGF0IHRyaWdnZXJlZCB0aGUgcmVtb3ZhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVGb2xkZXJTYWZlKGFwcDogQXBwLCBmb2xkZXJQYXRoOiBzdHJpbmcsIHJlbW92ZWROb3RlUGF0aD86IHN0cmluZywgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzPzogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBmb2xkZXIgPSBhcHAudmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKGZvbGRlclBhdGgpO1xuXG4gIGlmICghZm9sZGVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IGNhblJlbW92ZSA9IHRydWU7XG5cbiAgZm9yIChjb25zdCBjaGlsZCBvZiBmb2xkZXIuY2hpbGRyZW4pIHtcbiAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBURmlsZSkge1xuICAgICAgY29uc3QgYmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwLCBjaGlsZCk7XG4gICAgICBpZiAocmVtb3ZlZE5vdGVQYXRoKSB7XG4gICAgICAgIGJhY2tsaW5rcy5yZW1vdmVLZXkocmVtb3ZlZE5vdGVQYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmIChiYWNrbGlua3MuY291bnQoKSAhPT0gMCkge1xuICAgICAgICBpZiAoc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzKSB7XG4gICAgICAgICAgbmV3IE5vdGljZShgQXR0YWNobWVudCAke2NoaWxkLnBhdGh9IGlzIHN0aWxsIHVzZWQgYnkgb3RoZXIgbm90ZXMuIEl0IHdpbGwgbm90IGJlIGRlbGV0ZWQuYCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FuUmVtb3ZlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoY2hpbGQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhjaGlsZC5wYXRoKSkge1xuICAgICAgICAgICAgcHJpbnRFcnJvcihuZXcgRXJyb3IoYEZhaWxlZCB0byBkZWxldGUgJHtjaGlsZC5wYXRofWAsIHsgY2F1c2U6IGUgfSkpO1xuICAgICAgICAgICAgY2FuUmVtb3ZlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIFRGb2xkZXIpIHtcbiAgICAgIGNhblJlbW92ZSAmJj0gYXdhaXQgcmVtb3ZlRm9sZGVyU2FmZShhcHAsIGNoaWxkLnBhdGgsIHJlbW92ZWROb3RlUGF0aCwgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2FuUmVtb3ZlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoZm9sZGVyLCB0cnVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuZXhpc3RzKGZvbGRlci5wYXRoKSkge1xuICAgICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZvbGRlci5wYXRofWAsIHsgY2F1c2U6IGUgfSkpO1xuICAgICAgICBjYW5SZW1vdmUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuUmVtb3ZlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBmb2xkZXIgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZvbGRlciB3YXMgY3JlYXRlZC5cbiAqIEB0aHJvd3MgSWYgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIGNyZWF0aW5nIHRoZSBmb2xkZXIgYW5kIGl0IHN0aWxsIGRvZXNuJ3QgZXhpc3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVGb2xkZXJTYWZlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKGF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhwYXRoKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIocGF0aCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhwYXRoKSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIFNhZmVseSBsaXN0cyB0aGUgZmlsZXMgYW5kIGZvbGRlcnMgYXQgdGhlIHNwZWNpZmllZCBwYXRoIGluIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBsaXN0IGZpbGVzIGFuZCBmb2xkZXJzIGZyb20uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGBMaXN0ZWRGaWxlc2Agb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpc3RlZCBmaWxlcyBhbmQgZm9sZGVycy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhZmVMaXN0KGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPExpc3RlZEZpbGVzPiB7XG4gIGNvbnN0IEVNUFRZID0geyBmaWxlczogW10sIGZvbGRlcnM6IFtdIH07XG4gIGlmICghKGF3YWl0IGFwcC52YXVsdC5leGlzdHMocGF0aCkpKSB7XG4gICAgcmV0dXJuIEVNUFRZO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIubGlzdChwYXRoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMocGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgZW1wdHkgZm9sZGVyIGhpZXJhcmNoeSBzdGFydGluZyBmcm9tIHRoZSBnaXZlbiBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgZm9sZGVyIHRvIHN0YXJ0IHJlbW92aW5nIGVtcHR5IGhpZXJhcmNoeSBmcm9tLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZW1wdHkgaGllcmFyY2h5IGlzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVFbXB0eUZvbGRlckhpZXJhcmNoeShhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBQYXRoT3JGb2xkZXIgfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIpO1xuXG4gIHdoaWxlIChmb2xkZXIpIHtcbiAgICBpZiAoZm9sZGVyLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFyZW50ID0gZm9sZGVyLnBhcmVudDtcbiAgICBhd2FpdCByZW1vdmVGb2xkZXJTYWZlKGFwcCwgZm9sZGVyLnBhdGgpO1xuICAgIGZvbGRlciA9IHBhcmVudDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSBpbiB0aGUgdmF1bHQgd2l0aCBwYXJlbnQgZm9sZGVycyBpZiBuZWVkZWQuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmaWxlIGFuZCBhbGwgaXRzIGNyZWF0ZWQgcGFyZW50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRlbXBGaWxlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPCgpID0+IFByb21pc2U8dm9pZD4+IHtcbiAgbGV0IGZpbGUgPSBhcHAudmF1bHQuZ2V0RmlsZUJ5UGF0aChwYXRoKTtcbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgIH07XG4gIH1cblxuICBjb25zdCBmb2xkZXJDbGVhbnVwID0gYXdhaXQgY3JlYXRlVGVtcEZvbGRlcihhcHAsIGRpcm5hbWUocGF0aCkpO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZShwYXRoLCBcIlwiKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICghYXdhaXQgYXBwLnZhdWx0LmV4aXN0cyhwYXRoKSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBmaWxlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgocGF0aCkhO1xuXG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoZmlsZSwgdHJ1ZSk7XG4gICAgfVxuICAgIGF3YWl0IGZvbGRlckNsZWFudXAoKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdGVtcG9yYXJ5IGZvbGRlciBpbiB0aGUgdmF1bHQgd2l0aCBwYXJlbnQgZm9sZGVycyBpZiBuZWVkZWQuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgdG8gZGVsZXRlIHRoZSB0ZW1wb3JhcnkgZm9sZGVyIGFuZCBhbGwgaXRzIGNyZWF0ZWQgcGFyZW50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRlbXBGb2xkZXIoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8KCkgPT4gUHJvbWlzZTx2b2lkPj4ge1xuICBsZXQgZm9sZGVyID0gYXBwLnZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgaWYgKGZvbGRlcikge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGRpclBhdGggPSBkaXJuYW1lKHBhdGgpO1xuICBhd2FpdCBjcmVhdGVUZW1wRm9sZGVyKGFwcCwgZGlyUGF0aCk7XG5cbiAgY29uc3QgZm9sZGVyQ2xlYW51cCA9IGF3YWl0IGNyZWF0ZVRlbXBGb2xkZXIoYXBwLCBkaXJuYW1lKHBhdGgpKTtcblxuICBhd2FpdCBjcmVhdGVGb2xkZXJTYWZlKGFwcCwgcGF0aCk7XG5cbiAgZm9sZGVyID0gYXBwLnZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKSE7XG5cbiAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICBpZiAoIWZvbGRlci5kZWxldGVkKSB7XG4gICAgICBhd2FpdCBhcHAudmF1bHQuZGVsZXRlKGZvbGRlciwgdHJ1ZSk7XG4gICAg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
|
263
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL1ZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+e2NvbnN0IG5vcm1hbGl6ZWRQYXRoPV9fZmlsZW5hbWUucmVwbGFjZSgvXFxcXC9nLFwiL1wiKTtjb25zdCB3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaD0vXihbYS16QS1aXSk6Ly5leGVjKG5vcm1hbGl6ZWRQYXRoKTtsZXQgcGF0aD1ub3JtYWxpemVkUGF0aDtpZih3aW5kb3dzRHJpdmVMZXR0ZXJNYXRjaCl7cGF0aD1gLyR7d2luZG93c0RyaXZlTGV0dGVyTWF0Y2hbMV0udG9VcHBlckNhc2UoKX06JHtub3JtYWxpemVkUGF0aC5zbGljZSgyKX1gfWNvbnN0IGVuY29kZWRQYXRoPWVuY29kZVVSSUNvbXBvbmVudChwYXRoKS5yZXBsYWNlKC8lMkYvZyxcIi9cIikucmVwbGFjZSgvJTNBL2csXCI6XCIpO3JldHVybiBuZXcgVVJMKGBmaWxlOi8vJHtlbmNvZGVkUGF0aH1gKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gVmF1bHRcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggdGhlIE9ic2lkaWFuIFZhdWx0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgTGlzdGVkRmlsZXMgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQge1xuICBBcHAsXG4gIE5vdGljZSxcbiAgVEZpbGUsXG4gIFRGb2xkZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFJldHJ5T3B0aW9ucyB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB7IHJldHJ5V2l0aFRpbWVvdXQgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQge1xuICBwcmludEVycm9yLFxuICB0aHJvd0V4cHJlc3Npb25cbn0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgZGVlcEVxdWFsLFxuICB0b0pzb25cbn0gZnJvbSAnLi4vT2JqZWN0LnRzJztcbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vTWV0YWRhdGFDYWNoZS50cyc7XG5pbXBvcnQgeyBnZXRQYXRoIH0gZnJvbSAnLi9UQWJzdHJhY3RGaWxlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vVEZpbGUudHMnO1xuaW1wb3J0IHsgZ2V0RmlsZSB9IGZyb20gJy4vVEZpbGUudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGb2xkZXIgfSBmcm9tICcuL1RGb2xkZXIudHMnO1xuaW1wb3J0IHsgZ2V0Rm9sZGVyT3JOdWxsIH0gZnJvbSAnLi9URm9sZGVyLnRzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZmlsZSBjaGFuZ2UgaW4gdGhlIFZhdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDaGFuZ2Uge1xuICAvKipcbiAgICogVGhlIHN0YXJ0IGluZGV4IG9mIHRoZSBjaGFuZ2UgaW4gdGhlIGZpbGUgY29udGVudC5cbiAgICovXG4gIHN0YXJ0SW5kZXg6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGVuZCBpbmRleCBvZiB0aGUgY2hhbmdlIGluIHRoZSBmaWxlIGNvbnRlbnQuXG4gICAqL1xuICBlbmRJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHJlcGxhY2VkLlxuICAgKi9cbiAgb2xkQ29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmV3IGNvbnRlbnQgdG8gcmVwbGFjZSB0aGUgb2xkIGNvbnRlbnQuXG4gICAqL1xuICBuZXdDb250ZW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFuIGFycmF5IG9mIE1hcmtkb3duIGZpbGVzIGZyb20gdGhlIGFwcCdzIHZhdWx0IGFuZCBzb3J0cyB0aGVtIGFscGhhYmV0aWNhbGx5IGJ5IHRoZWlyIGZpbGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIE1hcmtkb3duIGZpbGVzIHNvcnRlZCBieSBmaWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXJrZG93bkZpbGVzU29ydGVkKGFwcDogQXBwKTogVEZpbGVbXSB7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLnNvcnQoKGEsIGIpID0+IGEucGF0aC5sb2NhbGVDb21wYXJlKGIucGF0aCkpO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBhIGZpbGUgd2l0aCByZXRyeSBsb2dpYywgdXBkYXRpbmcgaXRzIGNvbnRlbnQgYmFzZWQgb24gYSBwcm92aWRlZCB2YWx1ZSBvciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLCB0eXBpY2FsbHkgdXNlZCBmb3IgYWNjZXNzaW5nIHRoZSB2YXVsdC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBiZSBwcm9jZXNzZWQuIEl0IGNhbiBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhdGggb3IgYSBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBuZXdDb250ZW50UHJvdmlkZXIgLSBBIHZhbHVlIHByb3ZpZGVyIHRoYXQgcmV0dXJucyB0aGUgbmV3IGNvbnRlbnQgYmFzZWQgb24gdGhlIG9sZCBjb250ZW50IG9mIHRoZSBmaWxlLlxuICogSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgb2xkIGNvbnRlbnQgYXMgYW4gYXJndW1lbnQgYW5kIHJldHVybnMgdGhlIG5ldyBjb250ZW50LlxuICogSWYgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIGl0IHNob3VsZCByZXR1cm4gYG51bGxgIGlmIHRoZSBwcm9jZXNzIHNob3VsZCBiZSByZXRyaWVkLlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsLiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBwcm9jZXNzLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgcHJvY2VzcyBpcyBjb21wbGV0ZS5cbiAqXG4gKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHByb2Nlc3MgZmFpbHMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV0cmllcyBvciB0aW1lb3V0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc1dpdGhSZXRyeShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgbmV3Q29udGVudFByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPHN0cmluZyB8IG51bGwsIFtzdHJpbmddPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbGRDb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChmaWxlLnBhdGgpO1xuICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBhd2FpdCByZXNvbHZlVmFsdWUobmV3Q29udGVudFByb3ZpZGVyLCBvbGRDb250ZW50KTtcbiAgICBpZiAobmV3Q29udGVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgYXdhaXQgYXBwLnZhdWx0LnByb2Nlc3MoZmlsZSwgKGNvbnRlbnQpID0+IHtcbiAgICAgIGlmIChjb250ZW50ICE9PSBvbGRDb250ZW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQ29udGVudCBvZiAke2ZpbGUucGF0aH0gaGFzIGNoYW5nZWQgc2luY2UgaXQgd2FzIHJlYWQuIFJldHJ5aW5nLi4uYCk7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXdDb250ZW50O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcbn1cblxuLyoqXG4gKiBBcHBsaWVzIGEgc2VyaWVzIG9mIGZpbGUgY2hhbmdlcyB0byB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgcGF0aCB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2Ugd2hlcmUgdGhlIGZpbGUgY2hhbmdlcyB3aWxsIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gd2hpY2ggdGhlIGNoYW5nZXMgc2hvdWxkIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gY2hhbmdlc1Byb3ZpZGVyIC0gQSBwcm92aWRlciB0aGF0IHJldHVybnMgYW4gYXJyYXkgb2YgZmlsZSBjaGFuZ2VzIHRvIGFwcGx5LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHNldHRpbmdzIHRoYXQgZGV0ZXJtaW5lIGhvdyB0aGUgb3BlcmF0aW9uIHNob3VsZCByZXRyeSBvbiBmYWlsdXJlLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseUZpbGVDaGFuZ2VzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBjaGFuZ2VzUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8RmlsZUNoYW5nZVtdPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBhd2FpdCBwcm9jZXNzV2l0aFJldHJ5KGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGNvbnRlbnQpID0+IHtcbiAgICBsZXQgY2hhbmdlcyA9IGF3YWl0IHJlc29sdmVWYWx1ZShjaGFuZ2VzUHJvdmlkZXIpO1xuXG4gICAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgY2hhbmdlcykge1xuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IGNvbnRlbnQuc2xpY2UoY2hhbmdlLnN0YXJ0SW5kZXgsIGNoYW5nZS5lbmRJbmRleCk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBDb250ZW50IG1pc21hdGNoIGF0ICR7Y2hhbmdlLnN0YXJ0SW5kZXgudG9TdHJpbmcoKX0tJHtjaGFuZ2UuZW5kSW5kZXgudG9TdHJpbmcoKX0gaW4gJHtnZXRQYXRoKHBhdGhPckZpbGUpfTpcXG5FeHBlY3RlZDogJHtjaGFuZ2Uub2xkQ29udGVudH1cXG5BY3R1YWw6ICR7YWN0dWFsQ29udGVudH1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlcy5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0SW5kZXggLSBiLnN0YXJ0SW5kZXgpO1xuXG4gICAgLy8gQlVHOiBodHRwczovL2ZvcnVtLm9ic2lkaWFuLm1kL3QvYnVnLWR1cGxpY2F0ZWQtbGlua3MtaW4tbWV0YWRhdGFjYWNoZS1pbnNpZGUtZm9vdG5vdGVzLzg1NTUxXG4gICAgY2hhbmdlcyA9IGNoYW5nZXMuZmlsdGVyKChjaGFuZ2UsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gIWRlZXBFcXVhbChjaGFuZ2UsIGNoYW5nZXNbaW5kZXggLSAxXSk7XG4gICAgfSk7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IGNoYW5nZXNbaV0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ2hhbmdlIG5vdCBmb3VuZCcpKTtcbiAgICAgIGNvbnN0IHByZXZpb3VzQ2hhbmdlID0gY2hhbmdlc1tpIC0gMV0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignUHJldmlvdXMgY2hhbmdlIG5vdCBmb3VuZCcpKTtcbiAgICAgIGlmIChwcmV2aW91c0NoYW5nZS5lbmRJbmRleCA+IGNoYW5nZS5zdGFydEluZGV4KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT3ZlcmxhcHBpbmcgY2hhbmdlczpcXG4ke3RvSnNvbihwcmV2aW91c0NoYW5nZSl9XFxuJHt0b0pzb24oY2hhbmdlKX1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG5ld0NvbnRlbnQgPSAnJztcbiAgICBsZXQgbGFzdEluZGV4ID0gMDtcblxuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgsIGNoYW5nZS5zdGFydEluZGV4KTtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY2hhbmdlLm5ld0NvbnRlbnQ7XG4gICAgICBsYXN0SW5kZXggPSBjaGFuZ2UuZW5kSW5kZXg7XG4gICAgfVxuXG4gICAgbmV3Q29udGVudCArPSBjb250ZW50LnNsaWNlKGxhc3RJbmRleCk7XG4gICAgcmV0dXJuIG5ld0NvbnRlbnQ7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGEgZm9sZGVyIGFuZCBpdHMgY29udGVudHMgc2FmZWx5IGZyb20gdGhlIHZhdWx0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gZm9sZGVyUGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gYmUgcmVtb3ZlZC5cbiAqIEBwYXJhbSByZW1vdmVkTm90ZVBhdGggLSBPcHRpb25hbC4gVGhlIHBhdGggb2YgdGhlIG5vdGUgdGhhdCB0cmlnZ2VyZWQgdGhlIHJlbW92YWwuXG4gKiBAcGFyYW0gc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzIC0gT3B0aW9uYWwuIElmIGB0cnVlYCwgYSBub3RpY2Ugd2lsbCBiZSBzaG93biBmb3IgZWFjaCBhdHRhY2htZW50IHRoYXQgaXMgc3RpbGwgdXNlZCBieSBvdGhlciBub3Rlcy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVGb2xkZXJTYWZlKGFwcDogQXBwLCBmb2xkZXJQYXRoOiBzdHJpbmcsIHJlbW92ZWROb3RlUGF0aD86IHN0cmluZywgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzPzogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBmb2xkZXIgPSBhcHAudmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKGZvbGRlclBhdGgpO1xuXG4gIGlmICghZm9sZGVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IGNhblJlbW92ZSA9IHRydWU7XG5cbiAgZm9yIChjb25zdCBjaGlsZCBvZiBmb2xkZXIuY2hpbGRyZW4pIHtcbiAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBURmlsZSkge1xuICAgICAgY29uc3QgYmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwLCBjaGlsZCk7XG4gICAgICBpZiAocmVtb3ZlZE5vdGVQYXRoKSB7XG4gICAgICAgIGJhY2tsaW5rcy5yZW1vdmVLZXkocmVtb3ZlZE5vdGVQYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmIChiYWNrbGlua3MuY291bnQoKSAhPT0gMCkge1xuICAgICAgICBpZiAoc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzKSB7XG4gICAgICAgICAgbmV3IE5vdGljZShgQXR0YWNobWVudCAke2NoaWxkLnBhdGh9IGlzIHN0aWxsIHVzZWQgYnkgb3RoZXIgbm90ZXMuIEl0IHdpbGwgbm90IGJlIGRlbGV0ZWQuYCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FuUmVtb3ZlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoY2hpbGQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhjaGlsZC5wYXRoKSkge1xuICAgICAgICAgICAgcHJpbnRFcnJvcihuZXcgRXJyb3IoYEZhaWxlZCB0byBkZWxldGUgJHtjaGlsZC5wYXRofWAsIHsgY2F1c2U6IGUgfSkpO1xuICAgICAgICAgICAgY2FuUmVtb3ZlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIFRGb2xkZXIpIHtcbiAgICAgIGNhblJlbW92ZSAmJj0gYXdhaXQgcmVtb3ZlRm9sZGVyU2FmZShhcHAsIGNoaWxkLnBhdGgsIHJlbW92ZWROb3RlUGF0aCwgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2FuUmVtb3ZlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoZm9sZGVyLCB0cnVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuZXhpc3RzKGZvbGRlci5wYXRoKSkge1xuICAgICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZvbGRlci5wYXRofWAsIHsgY2F1c2U6IGUgfSkpO1xuICAgICAgICBjYW5SZW1vdmUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuUmVtb3ZlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBmb2xkZXIgc2FmZWx5IGluIHRoZSBzcGVjaWZpZWQgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZvbGRlciB3YXMgY3JlYXRlZC5cbiAqIEB0aHJvd3MgSWYgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIGNyZWF0aW5nIHRoZSBmb2xkZXIgYW5kIGl0IHN0aWxsIGRvZXNuJ3QgZXhpc3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVGb2xkZXJTYWZlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKGF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhwYXRoKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIocGF0aCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhwYXRoKSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIFNhZmVseSBsaXN0cyB0aGUgZmlsZXMgYW5kIGZvbGRlcnMgYXQgdGhlIHNwZWNpZmllZCBwYXRoIGluIHRoZSB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBsaXN0IGZpbGVzIGFuZCBmb2xkZXJzIGZyb20uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGBMaXN0ZWRGaWxlc2Agb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpc3RlZCBmaWxlcyBhbmQgZm9sZGVycy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhZmVMaXN0KGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPExpc3RlZEZpbGVzPiB7XG4gIGNvbnN0IEVNUFRZID0geyBmaWxlczogW10sIGZvbGRlcnM6IFtdIH07XG4gIGlmICghKGF3YWl0IGFwcC52YXVsdC5leGlzdHMocGF0aCkpKSB7XG4gICAgcmV0dXJuIEVNUFRZO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIubGlzdChwYXRoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMocGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgZW1wdHkgZm9sZGVyIGhpZXJhcmNoeSBzdGFydGluZyBmcm9tIHRoZSBnaXZlbiBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgZm9sZGVyIHRvIHN0YXJ0IHJlbW92aW5nIGVtcHR5IGhpZXJhcmNoeSBmcm9tLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZW1wdHkgaGllcmFyY2h5IGlzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVFbXB0eUZvbGRlckhpZXJhcmNoeShhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBQYXRoT3JGb2xkZXIgfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIpO1xuXG4gIHdoaWxlIChmb2xkZXIpIHtcbiAgICBpZiAoZm9sZGVyLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFyZW50ID0gZm9sZGVyLnBhcmVudDtcbiAgICBhd2FpdCByZW1vdmVGb2xkZXJTYWZlKGFwcCwgZm9sZGVyLnBhdGgpO1xuICAgIGZvbGRlciA9IHBhcmVudDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSBpbiB0aGUgdmF1bHQgd2l0aCBwYXJlbnQgZm9sZGVycyBpZiBuZWVkZWQuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB0byBkZWxldGUgdGhlIHRlbXBvcmFyeSBmaWxlIGFuZCBhbGwgaXRzIGNyZWF0ZWQgcGFyZW50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRlbXBGaWxlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPCgpID0+IFByb21pc2U8dm9pZD4+IHtcbiAgbGV0IGZpbGUgPSBhcHAudmF1bHQuZ2V0RmlsZUJ5UGF0aChwYXRoKTtcbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH07XG4gIH1cblxuICBjb25zdCBmb2xkZXJDbGVhbnVwID0gYXdhaXQgY3JlYXRlVGVtcEZvbGRlcihhcHAsIGRpcm5hbWUocGF0aCkpO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZShwYXRoLCAnJyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoIWF3YWl0IGFwcC52YXVsdC5leGlzdHMocGF0aCkpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgZmlsZSA9IGFwcC52YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0ZpbGUgbm90IGZvdW5kJykpO1xuXG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGF3YWl0IGFwcC52YXVsdC5kZWxldGUoZmlsZSwgdHJ1ZSk7XG4gICAgfVxuICAgIGF3YWl0IGZvbGRlckNsZWFudXAoKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdGVtcG9yYXJ5IGZvbGRlciBpbiB0aGUgdmF1bHQgd2l0aCBwYXJlbnQgZm9sZGVycyBpZiBuZWVkZWQuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgdG8gZGVsZXRlIHRoZSB0ZW1wb3JhcnkgZm9sZGVyIGFuZCBhbGwgaXRzIGNyZWF0ZWQgcGFyZW50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVRlbXBGb2xkZXIoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8KCkgPT4gUHJvbWlzZTx2b2lkPj4ge1xuICBsZXQgZm9sZGVyID0gYXBwLnZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgaWYgKGZvbGRlcikge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGRpclBhdGggPSBkaXJuYW1lKHBhdGgpO1xuICBhd2FpdCBjcmVhdGVUZW1wRm9sZGVyKGFwcCwgZGlyUGF0aCk7XG5cbiAgY29uc3QgZm9sZGVyQ2xlYW51cCA9IGF3YWl0IGNyZWF0ZVRlbXBGb2xkZXIoYXBwLCBkaXJuYW1lKHBhdGgpKTtcblxuICBhd2FpdCBjcmVhdGVGb2xkZXJTYWZlKGFwcCwgcGF0aCk7XG5cbiAgZm9sZGVyID0gYXBwLnZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdGb2xkZXIgbm90IGZvdW5kJykpO1xuXG4gIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFmb2xkZXIuZGVsZXRlZCkge1xuICAgICAgYXdhaXQgYXBwLnZhdWx0LmRlbGV0ZShmb2xkZXIsIHRydWUpO1xuICAgIH1cbiAgICBhd2FpdCBmb2xkZXJDbGVhbnVwKCk7XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsc0JBS087QUFHUCxtQkFBaUM7QUFDakMsbUJBR087QUFDUCxvQkFHTztBQUNQLGtCQUF3QjtBQUV4QiwyQkFBNkI7QUFDN0IsMkJBQXdDO0FBQ3hDLDJCQUF3QjtBQUV4QixtQkFBd0I7QUFFeEIscUJBQWdDO0FBckNoQyxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxRQUFNLGlCQUFlLFdBQVcsUUFBUSxPQUFNLEdBQUc7QUFBRSxRQUFNLDBCQUF3QixlQUFlLEtBQUssY0FBYztBQUFFLE1BQUksT0FBSztBQUFlLE1BQUcseUJBQXdCO0FBQUMsV0FBSyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksZUFBZSxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQUU7QUFBQyxRQUFNLGNBQVksbUJBQW1CLElBQUksRUFBRSxRQUFRLFFBQU8sR0FBRyxFQUFFLFFBQVEsUUFBTyxHQUFHO0FBQUUsU0FBTyxJQUFJLElBQUksVUFBVSxXQUFXLEVBQUU7QUFBQyxHQUFHO0FBQ3BiLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZ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
|