obsidian-dev-utils 2.23.2 → 2.24.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 +8 -0
- package/dist/lib/obsidian/Link.cjs +31 -29
- package/dist/lib/obsidian/Link.d.ts +11 -3
- package/dist/lib/obsidian/ObsidianSettings.cjs +47 -0
- package/dist/lib/obsidian/ObsidianSettings.d.ts +17 -0
- package/dist/lib/obsidian/Plugin/UIComponent.cjs +2 -2
- package/dist/lib/obsidian/index.cjs +4 -1
- package/dist/lib/obsidian/index.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -41,12 +41,14 @@ var import_String = require("../String.cjs");
|
|
41
41
|
var import_TFile = require("./TFile.cjs");
|
42
42
|
var import_TAbstractFile = require("./TAbstractFile.cjs");
|
43
43
|
var import_Async = require("../Async.cjs");
|
44
|
+
var import_ObsidianSettings = require("./ObsidianSettings.cjs");
|
44
45
|
var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
|
45
46
|
var __process = globalThis["process"] ?? {
|
46
47
|
"cwd": () => "/",
|
47
48
|
"env": {},
|
48
49
|
"platform": "android"
|
49
50
|
};
|
51
|
+
const SPECIAL_LINK_SYMBOLS_REGEXP = /[\\\x00\x08\x0B\x0C\x0E-\x1F ]/g;
|
50
52
|
function splitSubpath(link) {
|
51
53
|
const SUBPATH_SEPARATOR = "#";
|
52
54
|
const [linkPath = "", subpath] = (0, import_String.normalize)(link).split(SUBPATH_SEPARATOR);
|
@@ -162,38 +164,38 @@ function getAlias(options) {
|
|
162
164
|
return displayText;
|
163
165
|
}
|
164
166
|
function generateMarkdownLink(options) {
|
165
|
-
const {
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
const useMarkdownLinks = app.vault.getConfig("useMarkdownLinks");
|
177
|
-
const newLinkFormat = app.vault.getConfig("newLinkFormat");
|
178
|
-
if (isWikilink !== void 0) {
|
179
|
-
app.vault.setConfig("useMarkdownLinks", !isWikilink);
|
180
|
-
}
|
181
|
-
if (isRelative === true) {
|
182
|
-
app.vault.setConfig("newLinkFormat", "relative");
|
167
|
+
const { app } = options;
|
168
|
+
const file = (0, import_TFile.getFile)(app, options.pathOrFile);
|
169
|
+
const sourcePath = (0, import_TAbstractFile.getPath)(options.sourcePathOrFile);
|
170
|
+
const subpath = options.subpath ?? "";
|
171
|
+
let alias = options.alias ?? "";
|
172
|
+
const isEmbed = options.isEmbed ?? !(0, import_TAbstractFile.isMarkdownFile)(file);
|
173
|
+
const isWikilink = options.isWikilink ?? (0, import_ObsidianSettings.shouldUseWikilinks)(app);
|
174
|
+
const useRelativePath = options.isRelative ?? (0, import_ObsidianSettings.shouldUseRelativeLinks)(app);
|
175
|
+
let linkText = file.path === sourcePath && subpath ? subpath : useRelativePath ? (0, import_Path.relative)((0, import_Path.dirname)(sourcePath), isWikilink ? (0, import_TAbstractFile.trimMarkdownExtension)(file) : file.path) + subpath : app.metadataCache.fileToLinktext(file, sourcePath, isWikilink) + subpath;
|
176
|
+
if (useRelativePath && options.useLeadingDot && !linkText.startsWith(".") && !linkText.startsWith("#")) {
|
177
|
+
linkText = "./" + linkText;
|
183
178
|
}
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
179
|
+
if (!isWikilink) {
|
180
|
+
if (options.useAngleBrackets) {
|
181
|
+
linkText = `<${linkText}>`;
|
182
|
+
} else {
|
183
|
+
linkText = linkText.replace(SPECIAL_LINK_SYMBOLS_REGEXP, function(specialLinkSymbol) {
|
184
|
+
return encodeURIComponent(specialLinkSymbol);
|
185
|
+
});
|
186
|
+
}
|
187
|
+
if (!isEmbed) {
|
188
|
+
return `[${alias || file.basename}](${linkText})`;
|
191
189
|
} else {
|
192
|
-
|
193
|
-
|
190
|
+
return ``;
|
191
|
+
}
|
192
|
+
} else {
|
193
|
+
if (alias && alias.toLowerCase() === linkText.toLowerCase()) {
|
194
|
+
linkText = alias;
|
195
|
+
alias = "";
|
194
196
|
}
|
197
|
+
return (isEmbed ? "!" : "") + (alias ? `[[${linkText}|${alias}]]` : `[[${linkText}]]`);
|
195
198
|
}
|
196
|
-
return link;
|
197
199
|
}
|
198
200
|
async function editLinks(app, pathOrFile, linkConverter, retryOptions = {}) {
|
199
201
|
return await (0, import_Vault.applyFileChanges)(app, pathOrFile, async () => {
|
@@ -227,4 +229,4 @@ async function editLinks(app, pathOrFile, linkConverter, retryOptions = {}) {
|
|
227
229
|
updateLink,
|
228
230
|
updateLinksInFile
|
229
231
|
});
|
230
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBMaW5rXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGhhbmRsaW5nIGFuZCB1cGRhdGluZyBsaW5rcyB3aXRoaW4gT2JzaWRpYW4gdmF1bHRzLiBJdCBpbmNsdWRlc1xuICogZnVuY3Rpb25zIHRvIHNwbGl0IHBhdGhzLCB1cGRhdGUgbGlua3MgaW4gZmlsZXMsIGFuZCBnZW5lcmF0ZSBtYXJrZG93biBsaW5rcyB3aXRoIHZhcmlvdXMgb3B0aW9ucy5cbiAqIFRoZSBmdW5jdGlvbnMgaW50ZWdyYXRlIHdpdGggT2JzaWRpYW4ncyBBUEkgdG8gZW5zdXJlIHRoYXQgbGlua3MgYXJlIG1hbmFnZWQgY29ycmVjdGx5IHdpdGhpbiB0aGUgdmF1bHQuXG4gKiovXG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZVBhdGgsXG4gIHR5cGUgQXBwLFxuICB0eXBlIFJlZmVyZW5jZUNhY2hlLFxuICB0eXBlIFRGaWxlXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgZ2V0QWxsTGlua3MsXG4gIGdldENhY2hlU2FmZVxufSBmcm9tIFwiLi9NZXRhZGF0YUNhY2hlLnRzXCI7XG5pbXBvcnQge1xuICBhcHBseUZpbGVDaGFuZ2VzLFxuICB0eXBlIEZpbGVDaGFuZ2Vcbn0gZnJvbSBcIi4vVmF1bHQudHNcIjtcbmltcG9ydCB7IGNyZWF0ZVRGaWxlSW5zdGFuY2UgfSBmcm9tIFwib2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnNcIjtcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBleHRuYW1lXG59IGZyb20gXCIuLi9QYXRoLnRzXCI7XG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tIFwiLi4vU3RyaW5nLnRzXCI7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICB0eXBlIFBhdGhPckZpbGVcbn0gZnJvbSBcIi4vVEZpbGUudHNcIjtcbmltcG9ydCB7IGdldFBhdGggfSBmcm9tIFwiLi9UQWJzdHJhY3RGaWxlLnRzXCI7XG5pbXBvcnQge1xuICB0eXBlIE1heWJlUHJvbWlzZSxcbiAgdHlwZSBSZXRyeU9wdGlvbnNcbn0gZnJvbSBcIi4uL0FzeW5jLnRzXCI7XG5cbnR5cGUgU3BsaXRTdWJwYXRoUmVzdWx0ID0ge1xuICBsaW5rUGF0aDogc3RyaW5nO1xuICBzdWJwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gVGhlIGxpbmsgdG8gc3BsaXQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTdWJwYXRoKGxpbms6IHN0cmluZyk6IFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIGNvbnN0IFNVQlBBVEhfU0VQQVJBVE9SID0gXCIjXCI7XG4gIGNvbnN0IFtsaW5rUGF0aCA9IFwiXCIsIHN1YnBhdGhdID0gbm9ybWFsaXplKGxpbmspLnNwbGl0KFNVQlBBVEhfU0VQQVJBVE9SKTtcbiAgcmV0dXJuIHtcbiAgICBsaW5rUGF0aCxcbiAgICBzdWJwYXRoOiBzdWJwYXRoID8gU1VCUEFUSF9TRVBBUkFUT1IgKyBzdWJwYXRoIDogdW5kZWZpbmVkXG4gIH07XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgbGlua3MgaW4gYSBmaWxlLlxuICovXG50eXBlIFVwZGF0ZUxpbmtzSW5GaWxlT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBvYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdG8gdXBkYXRlIHRoZSBsaW5rcyBpbi5cbiAgICovXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIG9sZCBhbmQgbmV3IHBhdGhzIGZvciByZW5hbWluZyBsaW5rcy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIGVtYmVkT25seUxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbGlua3MgaW4gYSBmaWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rcy5cbiAqIEByZXR1cm5zIC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgcmVuYW1lTWFwLFxuICAgIGZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBlbWJlZE9ubHlMaW5rc1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdExpbmtzKGFwcCwgcGF0aE9yRmlsZSwgKGxpbmspID0+IHtcbiAgICBjb25zdCBpc0VtYmVkTGluayA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aChcIiFcIik7XG4gICAgaWYgKGVtYmVkT25seUxpbmtzICE9PSB1bmRlZmluZWQgJiYgZW1iZWRPbmx5TGlua3MgIT09IGlzRW1iZWRMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0TGluayhhcHAsIGxpbmssIHBhdGhPckZpbGUsIG9sZFBhdGhPckZpbGUsIHJlbmFtZU1hcCwgZm9yY2VNYXJrZG93bkxpbmtzKTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBsaW5rIHRvIGEgbmV3IHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBmaWxlLlxuICogQHBhcmFtIG9sZFBhdGhPckZpbGUgLSBUaGUgb2xkIHBhdGggb2YgdGhlIGxpbmsuXG4gKiBAcGFyYW0gcmVuYW1lTWFwIC0gQSBtYXAgb2Ygb2xkIHBhdGhzIHRvIG5ldyBwYXRocyBmb3IgcmVuYW1pbmcuXG4gKiBAcGFyYW0gZm9yY2VNYXJrZG93bkxpbmtzIC0gT3B0aW9uYWwgZmxhZyB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgbGluay5cbiAqL1xuZnVuY3Rpb24gY29udmVydExpbmsoYXBwOiBBcHAsIGxpbms6IFJlZmVyZW5jZUNhY2hlLCBzb3VyY2U6IFBhdGhPckZpbGUsIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPiwgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIG9sZFBhdGhPckZpbGUgPz89IGdldFBhdGgoc291cmNlKTtcbiAgcmV0dXJuIHVwZGF0ZUxpbmsoe1xuICAgIGFwcCxcbiAgICBsaW5rLFxuICAgIHBhdGhPckZpbGU6IGV4dHJhY3RMaW5rRmlsZShhcHAsIGxpbmssIG9sZFBhdGhPckZpbGUpLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGxpbmsgLSBUaGUgcmVmZXJlbmNlIGNhY2hlIGZvciB0aGUgbGluay5cbiAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIG9sZCBwYXRoIG9mIHRoZSBmaWxlLlxuICogQHJldHVybnMgVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLCBvciBudWxsIGlmIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RMaW5rRmlsZShhcHA6IEFwcCwgbGluazogUmVmZXJlbmNlQ2FjaGUsIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBURmlsZSB8IG51bGwge1xuICBjb25zdCB7IGxpbmtQYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmtQYXRoLCBnZXRQYXRoKG9sZFBhdGhPckZpbGUpKTtcbn1cblxudHlwZSBVcGRhdGVMaW5rT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcCxcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2VDYWNoZSxcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSB8IG51bGwsXG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcblxuICAvKipcbiAgICogQSBtYXAgb2Ygb2xkIGFuZCBuZXcgZmlsZSBwYXRocy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPixcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAgICovXG4gIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4gfCB1bmRlZmluZWRcbn07XG5cbi8qKlxuICogVXBkYXRlcyBhIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGluayhvcHRpb25zOiBVcGRhdGVMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSA9IG9wdGlvbnM7XG4gIGlmICghcGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGxldCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChzb3VyY2UpO1xuICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aChvbGRQYXRoT3JGaWxlKTtcbiAgY29uc3QgaXNFbWJlZCA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aChcIiFcIik7XG4gIGNvbnN0IGlzV2lraWxpbmsgPVxuICAgIGxpbmsub3JpZ2luYWwuaW5jbHVkZXMoXCJbW1wiKSAmJiBmb3JjZU1hcmtkb3duTGlua3MgIT09IHRydWU7XG4gIGNvbnN0IHsgc3VicGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG5cbiAgY29uc3QgbmV3UGF0aCA9IHJlbmFtZU1hcC5nZXQoZmlsZS5wYXRoKTtcbiAgY29uc3QgYWxpYXMgPSBnZXRBbGlhcyh7XG4gICAgYXBwLFxuICAgIGRpc3BsYXlUZXh0OiBsaW5rLmRpc3BsYXlUZXh0LFxuICAgIGZpbGU6IHBhdGhPckZpbGUsXG4gICAgb3RoZXJQYXRoczogW29sZFBhdGgsIG5ld1BhdGhdLFxuICAgIHNvdXJjZVBhdGhcbiAgfSk7XG5cbiAgaWYgKG5ld1BhdGgpIHtcbiAgICBmaWxlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAudmF1bHQsIG5ld1BhdGgpO1xuICB9XG5cbiAgY29uc3QgbmV3TGluayA9IGdlbmVyYXRlTWFya2Rvd25MaW5rKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZTogZmlsZSxcbiAgICBzb3VyY2VQYXRoT3JGaWxlOiBzb3VyY2VQYXRoLFxuICAgIHN1YnBhdGgsXG4gICAgYWxpYXMsXG4gICAgaXNFbWJlZCxcbiAgICBpc1dpa2lsaW5rXG4gIH0pO1xuICByZXR1cm4gbmV3TGluaztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBnZXR0aW5nIHRoZSBhbGlhcyBvZiBhIGxpbmsuXG4gKi9cbnR5cGUgR2V0QWxpYXNPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSB0ZXh0IG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgZGlzcGxheVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHBhdGggb3IgZmlsZSBvZiB0aGUgbGluay5cbiAgICovXG4gIGZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIE90aGVyIHBhdGhzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay5cbiAgICovXG4gIG90aGVyUGF0aHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW107XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn07XG5cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFsaWFzIGZvciBhIGdpdmVuIGxpbmsuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmV0cmlldmluZyB0aGUgYWxpYXMuXG4gKiBAcmV0dXJucyBUaGUgYWxpYXMgb2YgdGhlIGxpbmssIG9yIHVuZGVmaW5lZCBpZiBzaG91bGQgYmUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsaWFzKG9wdGlvbnM6IEdldEFsaWFzT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQsXG4gICAgZmlsZTogcGF0aE9yRmlsZSxcbiAgICBvdGhlclBhdGhzLFxuICAgIHNvdXJjZVBhdGhcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgaWYgKCFkaXNwbGF5VGV4dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjbGVhbkRpc3BsYXlUZXh0ID0gbm9ybWFsaXplUGF0aChkaXNwbGF5VGV4dC5zcGxpdChcIiA+IFwiKVswXSEpLnJlcGxhY2UoL1xcLlxcLy9nLCBcIlwiKTtcblxuICBmb3IgKGNvbnN0IHBhdGggb2YgW2ZpbGUucGF0aCwgLi4ub3RoZXJQYXRoc10pIHtcbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBleHRlbnNpb24gPSBleHRuYW1lKHBhdGgpO1xuICAgIGNvbnN0IGZpbGVOYW1lV2l0aEV4dGVuc2lvbiA9IGJhc2VuYW1lKHBhdGgpO1xuICAgIGNvbnN0IGZpbGVOYW1lV2l0aG91dEV4dGVuc2lvbiA9IGJhc2VuYW1lKHBhdGgsIGV4dGVuc2lvbik7XG4gICAgaWYgKGNsZWFuRGlzcGxheVRleHQgPT09IHBhdGggfHwgY2xlYW5EaXNwbGF5VGV4dCA9PT0gZmlsZU5hbWVXaXRoRXh0ZW5zaW9uIHx8IGNsZWFuRGlzcGxheVRleHQgPT09IGZpbGVOYW1lV2l0aG91dEV4dGVuc2lvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IG9taXRNZEV4dGVuc2lvbiBvZiBbdHJ1ZSwgZmFsc2VdKSB7XG4gICAgY29uc3QgbGlua1RleHQgPSBhcHAubWV0YWRhdGFDYWNoZS5maWxlVG9MaW5rdGV4dChmaWxlLCBzb3VyY2VQYXRoLCBvbWl0TWRFeHRlbnNpb24pO1xuICAgIGlmIChjbGVhbkRpc3BsYXlUZXh0ID09PSBsaW5rVGV4dCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGlzcGxheVRleHQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ2VuZXJhdGluZyBhIG1hcmtkb3duIGxpbmsuXG4gKi9cbnR5cGUgR2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwLFxuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byBsaW5rIHRvLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzdWJwYXRoPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuXG4gIC8qKlxuICAgKiBUaGUgYWxpYXMgZm9yIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgZW1iZWRkZWQuXG4gICAqL1xuICBpc0VtYmVkPzogYm9vbGVhbiB8IHVuZGVmaW5lZCxcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBhIHdpa2lsaW5rLlxuICAgKi9cbiAgaXNXaWtpbGluaz86IGJvb2xlYW4gfCB1bmRlZmluZWQsXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgcmVsYXRpdmUuXG4gICAqL1xuICBpc1JlbGF0aXZlPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBtYXJrZG93biBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgdGhlIG1hcmtkb3duIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgZ2VuZXJhdGVkIG1hcmtkb3duIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1hcmtkb3duTGluayhvcHRpb25zOiBHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZSxcbiAgICBzdWJwYXRoLFxuICAgIGFsaWFzLFxuICAgIGlzRW1iZWQsXG4gICAgaXNXaWtpbGluayxcbiAgICBpc1JlbGF0aXZlXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCB1c2VNYXJrZG93bkxpbmtzID0gYXBwLnZhdWx0LmdldENvbmZpZyhcInVzZU1hcmtkb3duTGlua3NcIik7XG4gIGNvbnN0IG5ld0xpbmtGb3JtYXQgPSBhcHAudmF1bHQuZ2V0Q29uZmlnKFwibmV3TGlua0Zvcm1hdFwiKTtcbiAgaWYgKGlzV2lraWxpbmsgIT09IHVuZGVmaW5lZCkge1xuICAgIGFwcC52YXVsdC5zZXRDb25maWcoXCJ1c2VNYXJrZG93bkxpbmtzXCIsICFpc1dpa2lsaW5rKTtcbiAgfVxuXG4gIGlmIChpc1JlbGF0aXZlID09PSB0cnVlKSB7XG4gICAgYXBwLnZhdWx0LnNldENvbmZpZyhcIm5ld0xpbmtGb3JtYXRcIiwgXCJyZWxhdGl2ZVwiKTtcbiAgfVxuXG4gIGxldCBsaW5rID0gYXBwLmZpbGVNYW5hZ2VyLmdlbmVyYXRlTWFya2Rvd25MaW5rKGZpbGUsIGdldFBhdGgoc291cmNlUGF0aE9yRmlsZSksIHN1YnBhdGgsIGFsaWFzKTtcblxuICBhcHAudmF1bHQuc2V0Q29uZmlnKFwidXNlTWFya2Rvd25MaW5rc1wiLCB1c2VNYXJrZG93bkxpbmtzKTtcbiAgYXBwLnZhdWx0LnNldENvbmZpZyhcIm5ld0xpbmtGb3JtYXRcIiwgbmV3TGlua0Zvcm1hdCk7XG5cbiAgY29uc3QgaXNMaW5rRW1iZWQgPSBsaW5rLnN0YXJ0c1dpdGgoXCIhXCIpO1xuXG4gIGlmIChpc0VtYmVkICE9PSB1bmRlZmluZWQgJiYgaXNFbWJlZCAhPT0gaXNMaW5rRW1iZWQpIHtcbiAgICBpZiAoaXNFbWJlZCkge1xuICAgICAgbGluayA9IFwiIVwiICsgbGluaztcbiAgICB9IGVsc2Uge1xuICAgICAgbGluayA9IGxpbmsuc2xpY2UoMSk7XG4gICAgICBsaW5rID0gbGluay5yZXBsYWNlKFwiW11cIiwgYFske2FsaWFzIHx8IGZpbGUuYmFzZW5hbWV9XWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsaW5rO1xufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBsaW5rcyBpbiB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgcGF0aCB1c2luZyB0aGUgcHJvdmlkZWQgbGluayBjb252ZXJ0ZXIgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBlZGl0IHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdExpbmtzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgbGlua0NvbnZlcnRlcjogKGxpbms6IFJlZmVyZW5jZUNhY2hlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD4sXG4gIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGF3YWl0IGFwcGx5RmlsZUNoYW5nZXMoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBpZiAoIWNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlczogRmlsZUNoYW5nZVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGxpbmsgb2YgZ2V0QWxsTGlua3MoY2FjaGUpKSB7XG4gICAgICBjb25zdCBuZXdDb250ZW50ID0gYXdhaXQgbGlua0NvbnZlcnRlcihsaW5rKTtcbiAgICAgIGlmIChuZXdDb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNoYW5nZXMucHVzaCh7XG4gICAgICAgIHN0YXJ0SW5kZXg6IGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0LFxuICAgICAgICBlbmRJbmRleDogbGluay5wb3NpdGlvbi5lbmQub2Zmc2V0LFxuICAgICAgICBvbGRDb250ZW50OiBsaW5rLm9yaWdpbmFsLFxuICAgICAgICBuZXdDb250ZW50XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhbmdlcztcbiAgfSwgcmV0cnlPcHRpb25zKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBLHNCQUtPO0FBQ1AsMkJBR087QUFDUCxtQkFHTztBQUNQLDZCQUFvQztBQUNwQyxrQkFHTztBQUNQLG9CQUEwQjtBQUMxQixtQkFHTztBQUNQLDJCQUF3QjtBQUN4Qixt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
|
232
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBMaW5rXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGhhbmRsaW5nIGFuZCB1cGRhdGluZyBsaW5rcyB3aXRoaW4gT2JzaWRpYW4gdmF1bHRzLiBJdCBpbmNsdWRlc1xuICogZnVuY3Rpb25zIHRvIHNwbGl0IHBhdGhzLCB1cGRhdGUgbGlua3MgaW4gZmlsZXMsIGFuZCBnZW5lcmF0ZSBtYXJrZG93biBsaW5rcyB3aXRoIHZhcmlvdXMgb3B0aW9ucy5cbiAqIFRoZSBmdW5jdGlvbnMgaW50ZWdyYXRlIHdpdGggT2JzaWRpYW4ncyBBUEkgdG8gZW5zdXJlIHRoYXQgbGlua3MgYXJlIG1hbmFnZWQgY29ycmVjdGx5IHdpdGhpbiB0aGUgdmF1bHQuXG4gKiovXG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZVBhdGgsXG4gIHR5cGUgQXBwLFxuICB0eXBlIFJlZmVyZW5jZUNhY2hlLFxuICB0eXBlIFRGaWxlXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgZ2V0QWxsTGlua3MsXG4gIGdldENhY2hlU2FmZVxufSBmcm9tIFwiLi9NZXRhZGF0YUNhY2hlLnRzXCI7XG5pbXBvcnQge1xuICBhcHBseUZpbGVDaGFuZ2VzLFxuICB0eXBlIEZpbGVDaGFuZ2Vcbn0gZnJvbSBcIi4vVmF1bHQudHNcIjtcbmltcG9ydCB7IGNyZWF0ZVRGaWxlSW5zdGFuY2UgfSBmcm9tIFwib2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnNcIjtcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICByZWxhdGl2ZVxufSBmcm9tIFwiLi4vUGF0aC50c1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSBcIi4uL1N0cmluZy50c1wiO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgdHlwZSBQYXRoT3JGaWxlXG59IGZyb20gXCIuL1RGaWxlLnRzXCI7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc01hcmtkb3duRmlsZSxcbiAgdHJpbU1hcmtkb3duRXh0ZW5zaW9uXG59IGZyb20gXCIuL1RBYnN0cmFjdEZpbGUudHNcIjtcbmltcG9ydCB7XG4gIHR5cGUgTWF5YmVQcm9taXNlLFxuICB0eXBlIFJldHJ5T3B0aW9uc1xufSBmcm9tIFwiLi4vQXN5bmMudHNcIjtcbmltcG9ydCB7XG4gIHNob3VsZFVzZVJlbGF0aXZlTGlua3MsXG4gIHNob3VsZFVzZVdpa2lsaW5rc1xufSBmcm9tIFwiLi9PYnNpZGlhblNldHRpbmdzLnRzXCI7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIGxpbmsgc3ltYm9scy5cbiAqL1xuY29uc3QgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQID0gL1tcXFxcXFx4MDBcXHgwOFxceDBCXFx4MENcXHgwRS1cXHgxRiBdL2c7XG5cbnR5cGUgU3BsaXRTdWJwYXRoUmVzdWx0ID0ge1xuICBsaW5rUGF0aDogc3RyaW5nO1xuICBzdWJwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gVGhlIGxpbmsgdG8gc3BsaXQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTdWJwYXRoKGxpbms6IHN0cmluZyk6IFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIGNvbnN0IFNVQlBBVEhfU0VQQVJBVE9SID0gXCIjXCI7XG4gIGNvbnN0IFtsaW5rUGF0aCA9IFwiXCIsIHN1YnBhdGhdID0gbm9ybWFsaXplKGxpbmspLnNwbGl0KFNVQlBBVEhfU0VQQVJBVE9SKTtcbiAgcmV0dXJuIHtcbiAgICBsaW5rUGF0aCxcbiAgICBzdWJwYXRoOiBzdWJwYXRoID8gU1VCUEFUSF9TRVBBUkFUT1IgKyBzdWJwYXRoIDogdW5kZWZpbmVkXG4gIH07XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgbGlua3MgaW4gYSBmaWxlLlxuICovXG50eXBlIFVwZGF0ZUxpbmtzSW5GaWxlT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBvYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdG8gdXBkYXRlIHRoZSBsaW5rcyBpbi5cbiAgICovXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIG9sZCBhbmQgbmV3IHBhdGhzIGZvciByZW5hbWluZyBsaW5rcy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIGVtYmVkT25seUxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbGlua3MgaW4gYSBmaWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rcy5cbiAqIEByZXR1cm5zIC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgcmVuYW1lTWFwLFxuICAgIGZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBlbWJlZE9ubHlMaW5rc1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdExpbmtzKGFwcCwgcGF0aE9yRmlsZSwgKGxpbmspID0+IHtcbiAgICBjb25zdCBpc0VtYmVkTGluayA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aChcIiFcIik7XG4gICAgaWYgKGVtYmVkT25seUxpbmtzICE9PSB1bmRlZmluZWQgJiYgZW1iZWRPbmx5TGlua3MgIT09IGlzRW1iZWRMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0TGluayhhcHAsIGxpbmssIHBhdGhPckZpbGUsIG9sZFBhdGhPckZpbGUsIHJlbmFtZU1hcCwgZm9yY2VNYXJrZG93bkxpbmtzKTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBsaW5rIHRvIGEgbmV3IHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBmaWxlLlxuICogQHBhcmFtIG9sZFBhdGhPckZpbGUgLSBUaGUgb2xkIHBhdGggb2YgdGhlIGxpbmsuXG4gKiBAcGFyYW0gcmVuYW1lTWFwIC0gQSBtYXAgb2Ygb2xkIHBhdGhzIHRvIG5ldyBwYXRocyBmb3IgcmVuYW1pbmcuXG4gKiBAcGFyYW0gZm9yY2VNYXJrZG93bkxpbmtzIC0gT3B0aW9uYWwgZmxhZyB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgbGluay5cbiAqL1xuZnVuY3Rpb24gY29udmVydExpbmsoYXBwOiBBcHAsIGxpbms6IFJlZmVyZW5jZUNhY2hlLCBzb3VyY2U6IFBhdGhPckZpbGUsIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPiwgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIG9sZFBhdGhPckZpbGUgPz89IGdldFBhdGgoc291cmNlKTtcbiAgcmV0dXJuIHVwZGF0ZUxpbmsoe1xuICAgIGFwcCxcbiAgICBsaW5rLFxuICAgIHBhdGhPckZpbGU6IGV4dHJhY3RMaW5rRmlsZShhcHAsIGxpbmssIG9sZFBhdGhPckZpbGUpLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGxpbmsgLSBUaGUgcmVmZXJlbmNlIGNhY2hlIGZvciB0aGUgbGluay5cbiAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIG9sZCBwYXRoIG9mIHRoZSBmaWxlLlxuICogQHJldHVybnMgVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLCBvciBudWxsIGlmIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RMaW5rRmlsZShhcHA6IEFwcCwgbGluazogUmVmZXJlbmNlQ2FjaGUsIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBURmlsZSB8IG51bGwge1xuICBjb25zdCB7IGxpbmtQYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmtQYXRoLCBnZXRQYXRoKG9sZFBhdGhPckZpbGUpKTtcbn1cblxudHlwZSBVcGRhdGVMaW5rT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcCxcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2VDYWNoZSxcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSB8IG51bGwsXG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcblxuICAvKipcbiAgICogQSBtYXAgb2Ygb2xkIGFuZCBuZXcgZmlsZSBwYXRocy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPixcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAgICovXG4gIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4gfCB1bmRlZmluZWRcbn07XG5cbi8qKlxuICogVXBkYXRlcyBhIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGluayhvcHRpb25zOiBVcGRhdGVMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSA9IG9wdGlvbnM7XG4gIGlmICghcGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGxldCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChzb3VyY2UpO1xuICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aChvbGRQYXRoT3JGaWxlKTtcbiAgY29uc3QgaXNFbWJlZCA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aChcIiFcIik7XG4gIGNvbnN0IGlzV2lraWxpbmsgPVxuICAgIGxpbmsub3JpZ2luYWwuaW5jbHVkZXMoXCJbW1wiKSAmJiBmb3JjZU1hcmtkb3duTGlua3MgIT09IHRydWU7XG4gIGNvbnN0IHsgc3VicGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG5cbiAgY29uc3QgbmV3UGF0aCA9IHJlbmFtZU1hcC5nZXQoZmlsZS5wYXRoKTtcbiAgY29uc3QgYWxpYXMgPSBnZXRBbGlhcyh7XG4gICAgYXBwLFxuICAgIGRpc3BsYXlUZXh0OiBsaW5rLmRpc3BsYXlUZXh0LFxuICAgIGZpbGU6IHBhdGhPckZpbGUsXG4gICAgb3RoZXJQYXRoczogW29sZFBhdGgsIG5ld1BhdGhdLFxuICAgIHNvdXJjZVBhdGhcbiAgfSk7XG5cbiAgaWYgKG5ld1BhdGgpIHtcbiAgICBmaWxlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAudmF1bHQsIG5ld1BhdGgpO1xuICB9XG5cbiAgY29uc3QgbmV3TGluayA9IGdlbmVyYXRlTWFya2Rvd25MaW5rKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZTogZmlsZSxcbiAgICBzb3VyY2VQYXRoT3JGaWxlOiBzb3VyY2VQYXRoLFxuICAgIHN1YnBhdGgsXG4gICAgYWxpYXMsXG4gICAgaXNFbWJlZCxcbiAgICBpc1dpa2lsaW5rXG4gIH0pO1xuICByZXR1cm4gbmV3TGluaztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBnZXR0aW5nIHRoZSBhbGlhcyBvZiBhIGxpbmsuXG4gKi9cbnR5cGUgR2V0QWxpYXNPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSB0ZXh0IG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgZGlzcGxheVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHBhdGggb3IgZmlsZSBvZiB0aGUgbGluay5cbiAgICovXG4gIGZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIE90aGVyIHBhdGhzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay5cbiAgICovXG4gIG90aGVyUGF0aHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW107XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn07XG5cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFsaWFzIGZvciBhIGdpdmVuIGxpbmsuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmV0cmlldmluZyB0aGUgYWxpYXMuXG4gKiBAcmV0dXJucyBUaGUgYWxpYXMgb2YgdGhlIGxpbmssIG9yIHVuZGVmaW5lZCBpZiBzaG91bGQgYmUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsaWFzKG9wdGlvbnM6IEdldEFsaWFzT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQsXG4gICAgZmlsZTogcGF0aE9yRmlsZSxcbiAgICBvdGhlclBhdGhzLFxuICAgIHNvdXJjZVBhdGhcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgaWYgKCFkaXNwbGF5VGV4dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjbGVhbkRpc3BsYXlUZXh0ID0gbm9ybWFsaXplUGF0aChkaXNwbGF5VGV4dC5zcGxpdChcIiA+IFwiKVswXSEpLnJlcGxhY2UoL1xcLlxcLy9nLCBcIlwiKTtcblxuICBmb3IgKGNvbnN0IHBhdGggb2YgW2ZpbGUucGF0aCwgLi4ub3RoZXJQYXRoc10pIHtcbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBleHRlbnNpb24gPSBleHRuYW1lKHBhdGgpO1xuICAgIGNvbnN0IGZpbGVOYW1lV2l0aEV4dGVuc2lvbiA9IGJhc2VuYW1lKHBhdGgpO1xuICAgIGNvbnN0IGZpbGVOYW1lV2l0aG91dEV4dGVuc2lvbiA9IGJhc2VuYW1lKHBhdGgsIGV4dGVuc2lvbik7XG4gICAgaWYgKGNsZWFuRGlzcGxheVRleHQgPT09IHBhdGggfHwgY2xlYW5EaXNwbGF5VGV4dCA9PT0gZmlsZU5hbWVXaXRoRXh0ZW5zaW9uIHx8IGNsZWFuRGlzcGxheVRleHQgPT09IGZpbGVOYW1lV2l0aG91dEV4dGVuc2lvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IG9taXRNZEV4dGVuc2lvbiBvZiBbdHJ1ZSwgZmFsc2VdKSB7XG4gICAgY29uc3QgbGlua1RleHQgPSBhcHAubWV0YWRhdGFDYWNoZS5maWxlVG9MaW5rdGV4dChmaWxlLCBzb3VyY2VQYXRoLCBvbWl0TWRFeHRlbnNpb24pO1xuICAgIGlmIChjbGVhbkRpc3BsYXlUZXh0ID09PSBsaW5rVGV4dCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGlzcGxheVRleHQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ2VuZXJhdGluZyBhIG1hcmtkb3duIGxpbmsuXG4gKi9cbnR5cGUgR2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byBsaW5rIHRvLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzdWJwYXRoPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxpYXMgZm9yIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgZW1iZWRkZWQuIElmIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgZmlsZSB0eXBlLlxuICAgKi9cbiAgaXNFbWJlZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgYSB3aWtpbGluay4gSWYgbm90IHByb3ZpZGVkLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBPYnNpZGlhbiBzZXR0aW5ncy5cbiAgICovXG4gIGlzV2lraWxpbms/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIHJlbGF0aXZlLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIE9ic2lkaWFuIHNldHRpbmdzLlxuICAgKi9cbiAgaXNSZWxhdGl2ZT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgdXNlIGEgbGVhZGluZyBkb3QuIERlZmF1bHRzIHRvIGBmYWxzZWAuIEhhcyBubyBlZmZlY3QgaWYgYGlzV2lraWxpbmtgIGlzIGB0cnVlYCBvciBgaXNSZWxhdGl2ZWAgaXMgYGZhbHNlYC5cbiAgICovXG4gIHVzZUxlYWRpbmdEb3Q/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIHVzZSBhbmdsZSBicmFja2V0cy4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gSGFzIG5vIGVmZmVjdCBpZiBgaXNXaWtpbGlua2AgaXMgYHRydWVgXG4gICAqL1xuICB1c2VBbmdsZUJyYWNrZXRzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbWFya2Rvd24gbGluayBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBnZW5lcmF0aW5nIHRoZSBtYXJrZG93biBsaW5rLlxuICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCBtYXJrZG93biBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNYXJrZG93bkxpbmsob3B0aW9uczogR2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBhcHAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgb3B0aW9ucy5wYXRoT3JGaWxlKTtcbiAgY29uc3Qgc291cmNlUGF0aCA9IGdldFBhdGgob3B0aW9ucy5zb3VyY2VQYXRoT3JGaWxlKTtcbiAgY29uc3Qgc3VicGF0aCA9IG9wdGlvbnMuc3VicGF0aCA/PyBcIlwiO1xuICBsZXQgYWxpYXMgPSBvcHRpb25zLmFsaWFzID8/IFwiXCI7XG4gIGNvbnN0IGlzRW1iZWQgPSBvcHRpb25zLmlzRW1iZWQgPz8gIWlzTWFya2Rvd25GaWxlKGZpbGUpO1xuICBjb25zdCBpc1dpa2lsaW5rID0gb3B0aW9ucy5pc1dpa2lsaW5rID8/IHNob3VsZFVzZVdpa2lsaW5rcyhhcHApO1xuICBjb25zdCB1c2VSZWxhdGl2ZVBhdGggPSBvcHRpb25zLmlzUmVsYXRpdmUgPz8gc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyhhcHApO1xuXG4gIGxldCBsaW5rVGV4dCA9IGZpbGUucGF0aCA9PT0gc291cmNlUGF0aCAmJiBzdWJwYXRoXG4gICAgPyBzdWJwYXRoXG4gICAgOiB1c2VSZWxhdGl2ZVBhdGhcbiAgICAgID8gcmVsYXRpdmUoZGlybmFtZShzb3VyY2VQYXRoKSwgaXNXaWtpbGluayA/IHRyaW1NYXJrZG93bkV4dGVuc2lvbihmaWxlKSA6IGZpbGUucGF0aCkgKyBzdWJwYXRoXG4gICAgICA6IGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVUb0xpbmt0ZXh0KGZpbGUsIHNvdXJjZVBhdGgsIGlzV2lraWxpbmspICsgc3VicGF0aDtcblxuICBpZiAodXNlUmVsYXRpdmVQYXRoICYmIG9wdGlvbnMudXNlTGVhZGluZ0RvdCAmJiAhbGlua1RleHQuc3RhcnRzV2l0aChcIi5cIikgJiYgIWxpbmtUZXh0LnN0YXJ0c1dpdGgoXCIjXCIpKSB7XG4gICAgbGlua1RleHQgPSBcIi4vXCIgKyBsaW5rVGV4dDtcbiAgfVxuXG4gIGlmICghaXNXaWtpbGluaykge1xuICAgIGlmIChvcHRpb25zLnVzZUFuZ2xlQnJhY2tldHMpIHtcbiAgICAgIGxpbmtUZXh0ID0gYDwke2xpbmtUZXh0fT5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBsaW5rVGV4dCA9IGxpbmtUZXh0LnJlcGxhY2UoU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQLCBmdW5jdGlvbiAoc3BlY2lhbExpbmtTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzcGVjaWFsTGlua1N5bWJvbCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRW1iZWQpIHtcbiAgICAgIHJldHVybiBgWyR7YWxpYXMgfHwgZmlsZS5iYXNlbmFtZX1dKCR7bGlua1RleHR9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgIVske2FsaWFzfV0oJHtsaW5rVGV4dH0pYDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGFsaWFzICYmIGFsaWFzLnRvTG93ZXJDYXNlKCkgPT09IGxpbmtUZXh0LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGxpbmtUZXh0ID0gYWxpYXM7XG4gICAgICBhbGlhcyA9IFwiXCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIChpc0VtYmVkID8gXCIhXCIgOiBcIlwiKSArIChhbGlhcyA/IGBbWyR7bGlua1RleHR9fCR7YWxpYXN9XV1gIDogYFtbJHtsaW5rVGV4dH1dXWApO1xuICB9XG59XG5cbi8qKlxuICogRWRpdHMgdGhlIGxpbmtzIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHVzaW5nIHRoZSBwcm92aWRlZCBsaW5rIGNvbnZlcnRlciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGVkaXQgdGhlIGxpbmtzIGluLlxuICogQHBhcmFtIGxpbmtDb252ZXJ0ZXIgLSBUaGUgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyBlYWNoIGxpbmsuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyBmb3IgcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGxpbmtzIGhhdmUgYmVlbiBlZGl0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0TGlua3MoXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBsaW5rQ29udmVydGVyOiAobGluazogUmVmZXJlbmNlQ2FjaGUpID0+IE1heWJlUHJvbWlzZTxzdHJpbmcgfCB2b2lkPixcbiAgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gYXdhaXQgYXBwbHlGaWxlQ2hhbmdlcyhhcHAsIHBhdGhPckZpbGUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjYWNoZSA9IGF3YWl0IGdldENhY2hlU2FmZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGlmICghY2FjaGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VzOiBGaWxlQ2hhbmdlW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgbGluayBvZiBnZXRBbGxMaW5rcyhjYWNoZSkpIHtcbiAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBhd2FpdCBsaW5rQ29udmVydGVyKGxpbmspO1xuICAgICAgaWYgKG5ld0NvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY2hhbmdlcy5wdXNoKHtcbiAgICAgICAgc3RhcnRJbmRleDogbGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICAgIGVuZEluZGV4OiBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgICAgIG9sZENvbnRlbnQ6IGxpbmsub3JpZ2luYWwsXG4gICAgICAgIG5ld0NvbnRlbnRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9LCByZXRyeU9wdGlvbnMpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsc0JBS087QUFDUCwyQkFHTztBQUNQLG1CQUdPO0FBQ1AsNkJBQW9DO0FBQ3BDLGtCQUtPO0FBQ1Asb0JBQTBCO0FBQzFCLG1CQUdPO0FBQ1AsMkJBSU87QUFDUCxtQkFHTztBQUNQLDhCQUdPO0FBbkRQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBbURBLE1BQU0sOEJBQThCO0FBYTdCLFNBQVMsYUFBYSxNQUFrQztBQUM3RCxRQUFNLG9CQUFvQjtBQUMxQixRQUFNLENBQUMsV0FBVyxJQUFJLE9BQU8sUUFBSSx5QkFBVSxJQUFJLEVBQUUsTUFBTSxpQkFBaUI7QUFDeEUsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBLFNBQVMsVUFBVSxvQkFBb0IsVUFBVTtBQUFBLEVBQ25EO0FBQ0Y7QUEyQ0EsZUFBc0Isa0JBQWtCLFNBQWtEO0FBQ3hGLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEs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
|
@@ -157,17 +157,25 @@ type GenerateMarkdownLinkOptions = {
|
|
157
157
|
*/
|
158
158
|
alias?: string | undefined;
|
159
159
|
/**
|
160
|
-
* Indicates if the link should be embedded.
|
160
|
+
* Indicates if the link should be embedded. If not provided, it will be inferred based on the file type.
|
161
161
|
*/
|
162
162
|
isEmbed?: boolean | undefined;
|
163
163
|
/**
|
164
|
-
* Indicates if the link should be a wikilink.
|
164
|
+
* Indicates if the link should be a wikilink. If not provided, it will be inferred based on the Obsidian settings.
|
165
165
|
*/
|
166
166
|
isWikilink?: boolean | undefined;
|
167
167
|
/**
|
168
|
-
* Indicates if the link should be relative.
|
168
|
+
* Indicates if the link should be relative. If not provided, it will be inferred based on the Obsidian settings.
|
169
169
|
*/
|
170
170
|
isRelative?: boolean | undefined;
|
171
|
+
/**
|
172
|
+
* Indicates if the link should use a leading dot. Defaults to `false`. Has no effect if `isWikilink` is `true` or `isRelative` is `false`.
|
173
|
+
*/
|
174
|
+
useLeadingDot?: boolean | undefined;
|
175
|
+
/**
|
176
|
+
* Indicates if the link should use angle brackets. Defaults to `false`. Has no effect if `isWikilink` is `true`
|
177
|
+
*/
|
178
|
+
useAngleBrackets?: boolean | undefined;
|
171
179
|
};
|
172
180
|
/**
|
173
181
|
* Generates a markdown link based on the provided parameters.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
/*
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
var __defProp = Object.defineProperty;
|
8
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
9
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
10
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
11
|
+
var __export = (target, all) => {
|
12
|
+
for (var name in all)
|
13
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
14
|
+
};
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
17
|
+
for (let key of __getOwnPropNames(from))
|
18
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
19
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
20
|
+
}
|
21
|
+
return to;
|
22
|
+
};
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
24
|
+
var ObsidianSettings_exports = {};
|
25
|
+
__export(ObsidianSettings_exports, {
|
26
|
+
shouldUseRelativeLinks: () => shouldUseRelativeLinks,
|
27
|
+
shouldUseWikilinks: () => shouldUseWikilinks
|
28
|
+
});
|
29
|
+
module.exports = __toCommonJS(ObsidianSettings_exports);
|
30
|
+
var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
|
31
|
+
var __process = globalThis["process"] ?? {
|
32
|
+
"cwd": () => "/",
|
33
|
+
"env": {},
|
34
|
+
"platform": "android"
|
35
|
+
};
|
36
|
+
function shouldUseWikilinks(app) {
|
37
|
+
return !app.vault.getConfig("useMarkdownLinks");
|
38
|
+
}
|
39
|
+
function shouldUseRelativeLinks(app) {
|
40
|
+
return app.vault.getConfig("newLinkFormat") === "relative";
|
41
|
+
}
|
42
|
+
// Annotate the CommonJS export names for ESM import in node:
|
43
|
+
0 && (module.exports = {
|
44
|
+
shouldUseRelativeLinks,
|
45
|
+
shouldUseWikilinks
|
46
|
+
});
|
47
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL09ic2lkaWFuU2V0dGluZ3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBPYnNpZGlhbiBzZXR0aW5ncy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG4vKipcbiAqIFJldHJpZXZlcyB3aGV0aGVyIHRvIHVzZSB3aWtpbGlua3MgYmFzZWQgb24gdGhlIE9ic2lkaWFuIHNldHRpbmdzLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRvIHVzZSB3aWtpbGlua3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRVc2VXaWtpbGlua3MoYXBwOiBBcHApOiBib29sZWFuIHtcbiAgcmV0dXJuICFhcHAudmF1bHQuZ2V0Q29uZmlnKFwidXNlTWFya2Rvd25MaW5rc1wiKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgd2hldGhlciB0byB1c2UgcmVsYXRpdmUgbGlua3MgYmFzZWQgb24gdGhlIE9ic2lkaWFuIHNldHRpbmdzLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRvIHVzZSByZWxhdGl2ZSBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFVzZVJlbGF0aXZlTGlua3MoYXBwOiBBcHApOiBib29sZWFuIHtcbiAgcmV0dXJuIGFwcC52YXVsdC5nZXRDb25maWcoXCJuZXdMaW5rRm9ybWF0XCIpID09PSBcInJlbGF0aXZlXCI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBYU8sU0FBUyxtQkFBbUIsS0FBbUI7QUFDcEQsU0FBTyxDQUFDLElBQUksTUFBTSxVQUFVLGtCQUFrQjtBQUNoRDtBQU9PLFNBQVMsdUJBQXVCLEtBQW1CO0FBQ3hELFNBQU8sSUFBSSxNQUFNLFVBQVUsZUFBZSxNQUFNO0FBQ2xEOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* @packageDocumentation
|
3
|
+
* This module provides utility functions for working with Obsidian settings.
|
4
|
+
*/
|
5
|
+
import type { App } from "obsidian";
|
6
|
+
/**
|
7
|
+
* Retrieves whether to use wikilinks based on the Obsidian settings.
|
8
|
+
* @param app - The Obsidian app instance.
|
9
|
+
* @returns Whether to use wikilinks.
|
10
|
+
*/
|
11
|
+
export declare function shouldUseWikilinks(app: App): boolean;
|
12
|
+
/**
|
13
|
+
* Retrieves whether to use relative links based on the Obsidian settings.
|
14
|
+
* @param app - The Obsidian app instance.
|
15
|
+
* @returns Whether to use relative links.
|
16
|
+
*/
|
17
|
+
export declare function shouldUseRelativeLinks(app: App): boolean;
|
@@ -39,7 +39,7 @@ function bindUiComponent(plugin, uiComponent, property, options) {
|
|
39
39
|
settingToUIValueConverter: (value) => value,
|
40
40
|
uiToSettingValueConverter: (value) => value
|
41
41
|
};
|
42
|
-
const optionsExt = Object.assign(options, DEFAULT_OPTIONS);
|
42
|
+
const optionsExt = Object.assign({}, options, DEFAULT_OPTIONS);
|
43
43
|
const pluginExt = plugin;
|
44
44
|
const uiComponentExt = uiComponent;
|
45
45
|
const pluginSettings = optionsExt.pluginSettings ?? pluginExt.settingsCopy;
|
@@ -81,4 +81,4 @@ function getValidatorElement(uiComponent) {
|
|
81
81
|
0 && (module.exports = {
|
82
82
|
bindUiComponent
|
83
83
|
});
|
84
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9VSUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSBcIi4uLy4uL0B0eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5CYXNlIH0gZnJvbSBcIi4vUGx1Z2luQmFzZS50c1wiO1xuaW1wb3J0IHtcbiAgRHJvcGRvd25Db21wb25lbnQsXG4gIFNsaWRlckNvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRDb21wb25lbnRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbi8qKlxuICogQSBVSSBjb21wb25lbnQgdGhhdCBjYW4gYmUgYm91bmQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVSUNvbXBvbmVudDxVSVZhbHVlPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVUlWYWx1ZSk6IHRoaXM7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFVJVmFsdWUpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIEEgVUkgY29tcG9uZW50IHRoYXQgY2FuIGJlIHZhbGlkYXRlZC5cbiAqL1xuaW50ZXJmYWNlIFZhbGlkYXRvckVsZW1lbnQge1xuICAvKipcbiAgICogU2V0cyBhIGN1c3RvbSBlcnJvciBtZXNzYWdlIG9uIHRoZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgbWVzc2FnZSB0byBzZXQgb24gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBzZXRDdXN0b21WYWxpZGl0eShlcnJvcjogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogUmVwb3J0cyB0aGUgdmFsaWRpdHkgb2YgdGhlIGVsZW1lbnQuXG4gICAqL1xuICByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuaW50ZXJmYWNlIEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB7XG4gIC8vIElmIHRydWUsIHNhdmVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXV0b21hdGljYWxseSBhZnRlciB0aGUgY29tcG9uZW50IHZhbHVlIGNoYW5nZXMuIERlZmF1bHQgaXMgYHRydWVgLlxuICBhdXRvU2F2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0IHRvIGJpbmQgdGhlIGNvbXBvbmVudCB0by4gRGVmYXVsdCBpcyB0aGUgcGx1Z2luJ3MgY3VycmVudCBzZXR0aW5ncy5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzPzogUGx1Z2luU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgVUkgdmFsdWUgYmVmb3JlIHNldHRpbmcgaXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgQW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIGl0IGlzIHZhbGlkLlxuICAgKi9cbiAgdWlWYWx1ZVZhbGlkYXRvcj86ICh1aVZhbHVlOiBVSVZhbHVlVHlwZSkgPT4gc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFeHRlbmRlZCBvcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmludGVyZmFjZSBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFBsdWdpblNldHRpbmdzPiBleHRlbmRzIEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB7XG4gIC8qKlxuICogQ29udmVydHMgdGhlIHNldHRpbmcgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBwcm9wZXJ0eVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICovXG4gIHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXI6IChwcm9wZXJ0eVZhbHVlOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV0pID0+IFVJVmFsdWVUeXBlO1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgVUkgY29tcG9uZW50J3MgdmFsdWUgYmFjayB0byB0aGUgc2V0dGluZyB2YWx1ZS5cbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWVUeXBlKSA9PiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV07XG59XG5cbi8qKlxuICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzIHdpdGggb3B0aW9uYWwgYXV0b21hdGljIHNhdmluZyBhbmQgdmFsdWUgY29udmVyc2lvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCBleHRlbmRzIGBQbHVnaW5CYXNlYC5cbiAqIEB0eXBlUGFyYW0gVFVJQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudCBleHRlbmRpbmcgYFVJQ29tcG9uZW50YC5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gc2V0dGluZyB0aGF0IHRoZSBjb21wb25lbnQgaXMgYm91bmQgdG8uXG4gKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgYmFzZWQgb24gdGhlIFVJIGNvbXBvbmVudCdzIHR5cGUuXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gdWlDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgVUlDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmRVaUNvbXBvbmVudDxcbiAgUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxvYmplY3Q+LFxuICBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDx1bmtub3duPixcbiAgUHJvcGVydHkgZXh0ZW5kcyBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPixcbiAgVUlWYWx1ZVR5cGUgPSBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyLFxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9ucz86IEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlcixcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlcixcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM/OiBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4gfCBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eT5cbik6IFRVSUNvbXBvbmVudCB7XG4gIHR5cGUgUHJvcGVydHlUeXBlID0gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xuICBjb25zdCBERUZBVUxUX09QVElPTlM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PiA9IHtcbiAgICBhdXRvU2F2ZTogdHJ1ZSxcbiAgICBzZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBVSVZhbHVlVHlwZSA9PiB2YWx1ZSBhcyBVSVZhbHVlVHlwZSxcbiAgICB1aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBQcm9wZXJ0eVR5cGUgPT4gdmFsdWUgYXMgUHJvcGVydHlUeXBlXG4gIH07XG5cbiAgY29uc3Qgb3B0aW9uc0V4dCA9IE9iamVjdC5hc3NpZ24ob3B0aW9ucyBhcyBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eT4sIERFRkFVTFRfT1BUSU9OUyk7XG4gIGNvbnN0IHBsdWdpbkV4dCA9IHBsdWdpbiBhcyB1bmtub3duIGFzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuICBjb25zdCB1aUNvbXBvbmVudEV4dCA9IHVpQ29tcG9uZW50IGFzIFVJQ29tcG9uZW50PFVJVmFsdWVUeXBlPjtcbiAgY29uc3QgcGx1Z2luU2V0dGluZ3MgPSBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHBsdWdpbkV4dC5zZXR0aW5nc0NvcHk7XG4gIHVpQ29tcG9uZW50RXh0XG4gICAgLnNldFZhbHVlKG9wdGlvbnNFeHQuc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcihwbHVnaW5TZXR0aW5nc1twcm9wZXJ0eV0pKVxuICAgIC5vbkNoYW5nZShhc3luYyAodWlWYWx1ZSkgPT4ge1xuICAgICAgaWYgKG9wdGlvbnNFeHQudWlWYWx1ZVZhbGlkYXRvcikge1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBvcHRpb25zRXh0LnVpVmFsdWVWYWxpZGF0b3IodWlWYWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50KTtcbiAgICAgICAgaWYgKHZhbGlkYXRvckVsZW1lbnQpIHtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyBcIlwiKTtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gb3B0aW9uc0V4dC51aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgaWYgKG9wdGlvbnNFeHQuYXV0b1NhdmUpIHtcbiAgICAgICAgYXdhaXQgcGx1Z2luRXh0LnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIHJldHVybiB1aUNvbXBvbmVudDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tIGEgVUkgY29tcG9uZW50IGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSB1aUNvbXBvbmVudCAtIFRoZSBVSSBjb21wb25lbnQgdG8gZ2V0IHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tLlxuICogQHJldHVybnMgVGhlIHZhbGlkYXRvciBlbGVtZW50IGlmIGl0IGV4aXN0cywgb3IgYG51bGxgIGlmIGl0IGRvZXMgbm90LlxuICovXG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50OiBVSUNvbXBvbmVudDx1bmtub3duPik6IFZhbGlkYXRvckVsZW1lbnQgfCBudWxsIHtcbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgRHJvcGRvd25Db21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2VsZWN0RWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBTbGlkZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2xpZGVyRWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0QXJlYUNvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgVGV4dENvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFLTztBQWJQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNEpPLFNBQVMsZ0JBT2QsUUFDQSxhQUNBLFVBQ0EsU0FDYztBQUVkLFFBQU0sa0JBQXlGO0FBQUEsSUFDN0YsVUFBVTtBQUFBLElBQ1YsMkJBQTJCLENBQUMsVUFBdUI7QUFBQSxJQUNuRCwyQkFBMkIsQ0FBQyxVQUF3QjtBQUFBLEVBQ3REO0FBRUEsUUFBTSxhQUFhLE9BQU8sT0FBTyxTQUFrRixlQUFlO0FBQ2xJLFFBQU0sWUFBWTtBQUNsQixRQUFNLGlCQUFpQjtBQUN2QixRQUFNLGlCQUFpQixXQUFXLGtCQUFrQixVQUFVO0FBQzlELGlCQUNHLFNBQVMsV0FBVywwQkFBMEIsZUFBZSxRQUFRLENBQUMsQ0FBQyxFQUN2RSxTQUFTLE9BQU8sWUFBWTtBQUMzQixRQUFJLFdBQVcsa0JBQWtCO0FBQy9CLFlBQU0sZUFBZSxXQUFXLGlCQUFpQixPQUFPO0FBQ3hELFlBQU0sbUJBQW1CLG9CQUFvQixXQUFXO0FBQ3hELFVBQUksa0JBQWtCO0FBQ3BCLHlCQUFpQixrQkFBa0IsZ0JBQWdCLEVBQUU7QUFDckQseUJBQWlCLGVBQWU7QUFBQSxNQUNsQztBQUNBLFVBQUksY0FBYztBQUNoQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsbUJBQWUsUUFBUSxJQUFJLFdBQVcsMEJBQTBCLE9BQU87QUFDdkUsUUFBSSxXQUFXLFVBQVU7QUFDdkIsWUFBTSxVQUFVLGFBQWEsY0FBYztBQUFBLElBQzdDO0FBQUEsRUFDRixDQUFDO0FBQ0gsU0FBTztBQUNUO0FBT0EsU0FBUyxvQkFBb0IsYUFBNEQ7QUFDdkYsTUFBSSx1QkFBdUIsbUNBQW1CO0FBQzVDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsaUNBQWlCO0FBQzFDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsbUNBQW1CO0FBQzVDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsK0JBQWU7QUFDeEMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
84
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9VSUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSBcIi4uLy4uL0B0eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5CYXNlIH0gZnJvbSBcIi4vUGx1Z2luQmFzZS50c1wiO1xuaW1wb3J0IHtcbiAgRHJvcGRvd25Db21wb25lbnQsXG4gIFNsaWRlckNvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRDb21wb25lbnRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbi8qKlxuICogQSBVSSBjb21wb25lbnQgdGhhdCBjYW4gYmUgYm91bmQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVSUNvbXBvbmVudDxVSVZhbHVlPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVUlWYWx1ZSk6IHRoaXM7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFVJVmFsdWUpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIEEgVUkgY29tcG9uZW50IHRoYXQgY2FuIGJlIHZhbGlkYXRlZC5cbiAqL1xuaW50ZXJmYWNlIFZhbGlkYXRvckVsZW1lbnQge1xuICAvKipcbiAgICogU2V0cyBhIGN1c3RvbSBlcnJvciBtZXNzYWdlIG9uIHRoZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgbWVzc2FnZSB0byBzZXQgb24gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBzZXRDdXN0b21WYWxpZGl0eShlcnJvcjogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogUmVwb3J0cyB0aGUgdmFsaWRpdHkgb2YgdGhlIGVsZW1lbnQuXG4gICAqL1xuICByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuaW50ZXJmYWNlIEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB7XG4gIC8vIElmIHRydWUsIHNhdmVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXV0b21hdGljYWxseSBhZnRlciB0aGUgY29tcG9uZW50IHZhbHVlIGNoYW5nZXMuIERlZmF1bHQgaXMgYHRydWVgLlxuICBhdXRvU2F2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0IHRvIGJpbmQgdGhlIGNvbXBvbmVudCB0by4gRGVmYXVsdCBpcyB0aGUgcGx1Z2luJ3MgY3VycmVudCBzZXR0aW5ncy5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzPzogUGx1Z2luU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgVUkgdmFsdWUgYmVmb3JlIHNldHRpbmcgaXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgQW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIGl0IGlzIHZhbGlkLlxuICAgKi9cbiAgdWlWYWx1ZVZhbGlkYXRvcj86ICh1aVZhbHVlOiBVSVZhbHVlVHlwZSkgPT4gc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFeHRlbmRlZCBvcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmludGVyZmFjZSBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFBsdWdpblNldHRpbmdzPiBleHRlbmRzIEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPiB7XG4gIC8qKlxuICogQ29udmVydHMgdGhlIHNldHRpbmcgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBwcm9wZXJ0eVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICovXG4gIHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXI6IChwcm9wZXJ0eVZhbHVlOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV0pID0+IFVJVmFsdWVUeXBlO1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgVUkgY29tcG9uZW50J3MgdmFsdWUgYmFjayB0byB0aGUgc2V0dGluZyB2YWx1ZS5cbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWVUeXBlKSA9PiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV07XG59XG5cbi8qKlxuICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzIHdpdGggb3B0aW9uYWwgYXV0b21hdGljIHNhdmluZyBhbmQgdmFsdWUgY29udmVyc2lvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCBleHRlbmRzIGBQbHVnaW5CYXNlYC5cbiAqIEB0eXBlUGFyYW0gVFVJQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudCBleHRlbmRpbmcgYFVJQ29tcG9uZW50YC5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gc2V0dGluZyB0aGF0IHRoZSBjb21wb25lbnQgaXMgYm91bmQgdG8uXG4gKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgYmFzZWQgb24gdGhlIFVJIGNvbXBvbmVudCdzIHR5cGUuXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gdWlDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgVUlDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmRVaUNvbXBvbmVudDxcbiAgUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxvYmplY3Q+LFxuICBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDx1bmtub3duPixcbiAgUHJvcGVydHkgZXh0ZW5kcyBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPixcbiAgVUlWYWx1ZVR5cGUgPSBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyLFxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9ucz86IEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlcixcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlcixcbj4oXG4gIHBsdWdpbjogUGx1Z2luLFxuICB1aUNvbXBvbmVudDogVFVJQ29tcG9uZW50LFxuICBwcm9wZXJ0eTogUHJvcGVydHksXG4gIG9wdGlvbnM/OiBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4gfCBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eT5cbik6IFRVSUNvbXBvbmVudCB7XG4gIHR5cGUgUHJvcGVydHlUeXBlID0gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xuICBjb25zdCBERUZBVUxUX09QVElPTlM6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PiA9IHtcbiAgICBhdXRvU2F2ZTogdHJ1ZSxcbiAgICBzZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBVSVZhbHVlVHlwZSA9PiB2YWx1ZSBhcyBVSVZhbHVlVHlwZSxcbiAgICB1aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBQcm9wZXJ0eVR5cGUgPT4gdmFsdWUgYXMgUHJvcGVydHlUeXBlXG4gIH07XG5cbiAgY29uc3Qgb3B0aW9uc0V4dCA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMsIERFRkFVTFRfT1BUSU9OUyk7XG4gIGNvbnN0IHBsdWdpbkV4dCA9IHBsdWdpbiBhcyB1bmtub3duIGFzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuICBjb25zdCB1aUNvbXBvbmVudEV4dCA9IHVpQ29tcG9uZW50IGFzIFVJQ29tcG9uZW50PFVJVmFsdWVUeXBlPjtcbiAgY29uc3QgcGx1Z2luU2V0dGluZ3MgPSBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHBsdWdpbkV4dC5zZXR0aW5nc0NvcHk7XG4gIHVpQ29tcG9uZW50RXh0XG4gICAgLnNldFZhbHVlKG9wdGlvbnNFeHQuc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcihwbHVnaW5TZXR0aW5nc1twcm9wZXJ0eV0pKVxuICAgIC5vbkNoYW5nZShhc3luYyAodWlWYWx1ZSkgPT4ge1xuICAgICAgaWYgKG9wdGlvbnNFeHQudWlWYWx1ZVZhbGlkYXRvcikge1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBvcHRpb25zRXh0LnVpVmFsdWVWYWxpZGF0b3IodWlWYWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50KTtcbiAgICAgICAgaWYgKHZhbGlkYXRvckVsZW1lbnQpIHtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyBcIlwiKTtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gb3B0aW9uc0V4dC51aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgaWYgKG9wdGlvbnNFeHQuYXV0b1NhdmUpIHtcbiAgICAgICAgYXdhaXQgcGx1Z2luRXh0LnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIHJldHVybiB1aUNvbXBvbmVudDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tIGEgVUkgY29tcG9uZW50IGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSB1aUNvbXBvbmVudCAtIFRoZSBVSSBjb21wb25lbnQgdG8gZ2V0IHRoZSB2YWxpZGF0b3IgZWxlbWVudCBmcm9tLlxuICogQHJldHVybnMgVGhlIHZhbGlkYXRvciBlbGVtZW50IGlmIGl0IGV4aXN0cywgb3IgYG51bGxgIGlmIGl0IGRvZXMgbm90LlxuICovXG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JFbGVtZW50KHVpQ29tcG9uZW50OiBVSUNvbXBvbmVudDx1bmtub3duPik6IFZhbGlkYXRvckVsZW1lbnQgfCBudWxsIHtcbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgRHJvcGRvd25Db21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2VsZWN0RWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBTbGlkZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuc2xpZGVyRWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0QXJlYUNvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgVGV4dENvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFLTztBQWJQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNEpPLFNBQVMsZ0JBT2QsUUFDQSxhQUNBLFVBQ0EsU0FDYztBQUVkLFFBQU0sa0JBQXlGO0FBQUEsSUFDN0YsVUFBVTtBQUFBLElBQ1YsMkJBQTJCLENBQUMsVUFBdUI7QUFBQSxJQUNuRCwyQkFBMkIsQ0FBQyxVQUF3QjtBQUFBLEVBQ3REO0FBRUEsUUFBTSxhQUFhLE9BQU8sT0FBTyxDQUFDLEdBQUcsU0FBUyxlQUFlO0FBQzdELFFBQU0sWUFBWTtBQUNsQixRQUFNLGlCQUFpQjtBQUN2QixRQUFNLGlCQUFpQixXQUFXLGtCQUFrQixVQUFVO0FBQzlELGlCQUNHLFNBQVMsV0FBVywwQkFBMEIsZUFBZSxRQUFRLENBQUMsQ0FBQyxFQUN2RSxTQUFTLE9BQU8sWUFBWTtBQUMzQixRQUFJLFdBQVcsa0JBQWtCO0FBQy9CLFlBQU0sZUFBZSxXQUFXLGlCQUFpQixPQUFPO0FBQ3hELFlBQU0sbUJBQW1CLG9CQUFvQixXQUFXO0FBQ3hELFVBQUksa0JBQWtCO0FBQ3BCLHlCQUFpQixrQkFBa0IsZ0JBQWdCLEVBQUU7QUFDckQseUJBQWlCLGVBQWU7QUFBQSxNQUNsQztBQUNBLFVBQUksY0FBYztBQUNoQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsbUJBQWUsUUFBUSxJQUFJLFdBQVcsMEJBQTBCLE9BQU87QUFDdkUsUUFBSSxXQUFXLFVBQVU7QUFDdkIsWUFBTSxVQUFVLGFBQWEsY0FBYztBQUFBLElBQzdDO0FBQUEsRUFDRixDQUFDO0FBQ0gsU0FBTztBQUNUO0FBT0EsU0FBUyxvQkFBb0IsYUFBNEQ7QUFDdkYsTUFBSSx1QkFBdUIsbUNBQW1CO0FBQzVDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsaUNBQWlCO0FBQzFDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsbUNBQW1CO0FBQzVDLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsTUFBSSx1QkFBdUIsK0JBQWU7QUFDeEMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -44,6 +44,7 @@ __export(obsidian_exports, {
|
|
44
44
|
MarkdownCodeBlockProcessor: () => MarkdownCodeBlockProcessor,
|
45
45
|
MetadataCache: () => MetadataCache,
|
46
46
|
Modal: () => Modal,
|
47
|
+
ObsidianSettings: () => ObsidianSettings,
|
47
48
|
Plugin: () => Plugin,
|
48
49
|
ResourceUrl: () => ResourceUrl,
|
49
50
|
TAbstractFile: () => TAbstractFile,
|
@@ -63,6 +64,7 @@ var Link = __toESM(require("./Link.cjs"), 1);
|
|
63
64
|
var MarkdownCodeBlockProcessor = __toESM(require("./MarkdownCodeBlockProcessor.cjs"), 1);
|
64
65
|
var MetadataCache = __toESM(require("./MetadataCache.cjs"), 1);
|
65
66
|
var Modal = __toESM(require("./Modal/index.cjs"), 1);
|
67
|
+
var ObsidianSettings = __toESM(require("./ObsidianSettings.cjs"), 1);
|
66
68
|
var Plugin = __toESM(require("./Plugin/index.cjs"), 1);
|
67
69
|
var ResourceUrl = __toESM(require("./ResourceUrl.cjs"), 1);
|
68
70
|
var TAbstractFile = __toESM(require("./TAbstractFile.cjs"), 1);
|
@@ -88,6 +90,7 @@ var __process = globalThis["process"] ?? {
|
|
88
90
|
MarkdownCodeBlockProcessor,
|
89
91
|
MetadataCache,
|
90
92
|
Modal,
|
93
|
+
ObsidianSettings,
|
91
94
|
Plugin,
|
92
95
|
ResourceUrl,
|
93
96
|
TAbstractFile,
|
@@ -95,4 +98,4 @@ var __process = globalThis["process"] ?? {
|
|
95
98
|
TFolder,
|
96
99
|
Vault
|
97
100
|
});
|
98
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+
|
101
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIEFwcCBmcm9tIFwiLi9BcHAudHNcIjtcbmV4cG9ydCAqIGFzIEF0dGFjaG1lbnRQYXRoIGZyb20gXCIuL0F0dGFjaG1lbnRQYXRoLnRzXCI7XG5leHBvcnQgKiBhcyBCYWNrbGluayBmcm9tIFwiLi9CYWNrbGluay50c1wiO1xuZXhwb3J0ICogYXMgQ2FsbG91dCBmcm9tIFwiLi9DYWxsb3V0LnRzXCI7XG5leHBvcnQgKiBhcyBEYXRhdmlldyBmcm9tIFwiLi9EYXRhdmlldy50c1wiO1xuZXhwb3J0ICogYXMgRGF0YXZpZXdMaW5rIGZyb20gXCIuL0RhdGF2aWV3TGluay50c1wiO1xuZXhwb3J0ICogYXMgRnJvbnRNYXR0ZXIgZnJvbSBcIi4vRnJvbnRNYXR0ZXIudHNcIjtcbmV4cG9ydCAqIGFzIExpbmsgZnJvbSBcIi4vTGluay50c1wiO1xuZXhwb3J0ICogYXMgTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IgZnJvbSBcIi4vTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IudHNcIjtcbmV4cG9ydCAqIGFzIE1ldGFkYXRhQ2FjaGUgZnJvbSBcIi4vTWV0YWRhdGFDYWNoZS50c1wiO1xuZXhwb3J0ICogYXMgTW9kYWwgZnJvbSBcIi4vTW9kYWwvaW5kZXgudHNcIjtcbmV4cG9ydCAqIGFzIE9ic2lkaWFuU2V0dGluZ3MgZnJvbSBcIi4vT2JzaWRpYW5TZXR0aW5ncy50c1wiO1xuZXhwb3J0ICogYXMgUGx1Z2luIGZyb20gXCIuL1BsdWdpbi9pbmRleC50c1wiO1xuZXhwb3J0ICogYXMgUmVzb3VyY2VVcmwgZnJvbSBcIi4vUmVzb3VyY2VVcmwudHNcIjtcbmV4cG9ydCAqIGFzIFRBYnN0cmFjdEZpbGUgZnJvbSBcIi4vVEFic3RyYWN0RmlsZS50c1wiO1xuZXhwb3J0ICogYXMgVEZpbGUgZnJvbSBcIi4vVEZpbGUudHNcIjtcbmV4cG9ydCAqIGFzIFRGb2xkZXIgZnJvbSBcIi4vVEZvbGRlci50c1wiO1xuZXhwb3J0ICogYXMgVmF1bHQgZnJvbSBcIi4vVmF1bHQudHNcIjtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsVUFBcUI7QUFDckIscUJBQWdDO0FBQ2hDLGVBQTBCO0FBQzFCLGNBQXlCO0FBQ3pCLGVBQTBCO0FBQzFCLG1CQUE4QjtBQUM5QixrQkFBNkI7QUFDN0IsV0FBc0I7QUFDdEIsaUNBQTRDO0FBQzVDLG9CQUErQjtBQUMvQixZQUF1QjtBQUN2Qix1QkFBa0M7QUFDbEMsYUFBd0I7QUFDeEIsa0JBQTZCO0FBQzdCLG9CQUErQjtBQUMvQixZQUF1QjtBQUN2QixjQUF5QjtBQUN6QixZQUF1QjtBQXpCdkIsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -9,6 +9,7 @@ export * as Link from "./Link.ts";
|
|
9
9
|
export * as MarkdownCodeBlockProcessor from "./MarkdownCodeBlockProcessor.ts";
|
10
10
|
export * as MetadataCache from "./MetadataCache.ts";
|
11
11
|
export * as Modal from "./Modal/index.ts";
|
12
|
+
export * as ObsidianSettings from "./ObsidianSettings.ts";
|
12
13
|
export * as Plugin from "./Plugin/index.ts";
|
13
14
|
export * as ResourceUrl from "./ResourceUrl.ts";
|
14
15
|
export * as TAbstractFile from "./TAbstractFile.ts";
|
package/package.json
CHANGED