obsidian-dev-utils 16.5.0 → 16.6.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/lib/@types.cjs +2 -6
  3. package/dist/lib/Async.cjs +2 -6
  4. package/dist/lib/Blob.cjs +2 -6
  5. package/dist/lib/CssClass.cjs +2 -6
  6. package/dist/lib/Debug.cjs +2 -6
  7. package/dist/lib/DebugController.cjs +2 -6
  8. package/dist/lib/Error.cjs +2 -6
  9. package/dist/lib/Function.cjs +2 -6
  10. package/dist/lib/HTMLElement.cjs +2 -6
  11. package/dist/lib/Library.cjs +3 -7
  12. package/dist/lib/Object.cjs +2 -6
  13. package/dist/lib/Path.cjs +2 -6
  14. package/dist/lib/RegExp.cjs +2 -6
  15. package/dist/lib/String.cjs +2 -6
  16. package/dist/lib/ValueProvider.cjs +2 -6
  17. package/dist/lib/index.cjs +2 -6
  18. package/dist/lib/obsidian/App.cjs +2 -6
  19. package/dist/lib/obsidian/AttachmentPath.cjs +2 -6
  20. package/dist/lib/obsidian/Backlink.cjs +2 -6
  21. package/dist/lib/obsidian/Callout.cjs +2 -6
  22. package/dist/lib/obsidian/Dataview.cjs +2 -6
  23. package/dist/lib/obsidian/DataviewLink.cjs +2 -6
  24. package/dist/lib/obsidian/FileChange.cjs +2 -6
  25. package/dist/lib/obsidian/FileManager.cjs +2 -6
  26. package/dist/lib/obsidian/FileSystem.cjs +2 -6
  27. package/dist/lib/obsidian/Frontmatter.cjs +2 -6
  28. package/dist/lib/obsidian/Link.cjs +2 -6
  29. package/dist/lib/obsidian/Logger.cjs +2 -6
  30. package/dist/lib/obsidian/Loop.cjs +2 -6
  31. package/dist/lib/obsidian/Markdown.cjs +2 -6
  32. package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +2 -6
  33. package/dist/lib/obsidian/MarkdownView.cjs +2 -6
  34. package/dist/lib/obsidian/MetadataCache.cjs +2 -6
  35. package/dist/lib/obsidian/Modal/Alert.cjs +2 -6
  36. package/dist/lib/obsidian/Modal/Confirm.cjs +2 -6
  37. package/dist/lib/obsidian/Modal/Prompt.cjs +2 -6
  38. package/dist/lib/obsidian/Modal/SelectItem.cjs +2 -6
  39. package/dist/lib/obsidian/Modal/index.cjs +2 -6
  40. package/dist/lib/obsidian/ObsidianSettings.cjs +2 -6
  41. package/dist/lib/obsidian/Pdf.cjs +2 -6
  42. package/dist/lib/obsidian/Plugin/EmptySettings.cjs +2 -6
  43. package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +2 -6
  44. package/dist/lib/obsidian/Plugin/Plugin.cjs +2 -6
  45. package/dist/lib/obsidian/Plugin/PluginBase.cjs +2 -6
  46. package/dist/lib/obsidian/Plugin/PluginContext.cjs +2 -6
  47. package/dist/lib/obsidian/Plugin/PluginId.cjs +2 -6
  48. package/dist/lib/obsidian/Plugin/PluginSettingsBase.cjs +2 -6
  49. package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +2 -6
  50. package/dist/lib/obsidian/Plugin/ValueComponent.cjs +2 -6
  51. package/dist/lib/obsidian/Plugin/index.cjs +2 -6
  52. package/dist/lib/obsidian/Queue.cjs +2 -6
  53. package/dist/lib/obsidian/Reference.cjs +2 -6
  54. package/dist/lib/obsidian/RenameDeleteHandler.cjs +2 -6
  55. package/dist/lib/obsidian/ResourceUrl.cjs +2 -6
  56. package/dist/lib/obsidian/Vault.cjs +2 -6
  57. package/dist/lib/obsidian/VaultEx.cjs +2 -6
  58. package/dist/lib/obsidian/index.cjs +2 -6
  59. package/dist/lib/scripts/CliUtils.cjs +2 -6
  60. package/dist/lib/scripts/CodeGenerator.cjs +2 -6
  61. package/dist/lib/scripts/ESLint/ESLint.cjs +3 -7
  62. package/dist/lib/scripts/ESLint/eslint.config.cjs +2 -6
  63. package/dist/lib/scripts/ESLint/index.cjs +2 -6
  64. package/dist/lib/scripts/Exec.cjs +2 -6
  65. package/dist/lib/scripts/Fs.cjs +2 -6
  66. package/dist/lib/scripts/JSON.cjs +2 -6
  67. package/dist/lib/scripts/NodeModules.cjs +2 -6
  68. package/dist/lib/scripts/Npm.cjs +2 -6
  69. package/dist/lib/scripts/NpmPublish.cjs +2 -6
  70. package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +2 -6
  71. package/dist/lib/scripts/Root.cjs +2 -6
  72. package/dist/lib/scripts/build.cjs +2 -6
  73. package/dist/lib/scripts/cli.cjs +3 -7
  74. package/dist/lib/scripts/esbuild/Dependency.cjs +3 -7
  75. package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +2 -6
  76. package/dist/lib/scripts/esbuild/copyToObsidianPluginsFolderPlugin.cjs +2 -6
  77. package/dist/lib/scripts/esbuild/fixEsmPlugin.cjs +2 -6
  78. package/dist/lib/scripts/esbuild/fixSourceMapsPlugin.cjs +2 -6
  79. package/dist/lib/scripts/esbuild/index.cjs +2 -6
  80. package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +39 -42
  81. package/dist/lib/scripts/esbuild/renameToCjsPlugin.cjs +2 -6
  82. package/dist/lib/scripts/esbuild/watchCssChangesPlugin.cjs +2 -6
  83. package/dist/lib/scripts/format.cjs +3 -7
  84. package/dist/lib/scripts/index.cjs +2 -6
  85. package/dist/lib/scripts/spellcheck.cjs +2 -6
  86. package/dist/lib/scripts/version.cjs +2 -6
  87. package/dist/lib/url.cjs +2 -6
  88. package/package.json +1 -1
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -58,13 +54,7 @@ function preprocessPlugin() {
58
54
  build.initialOptions.banner ??= {};
59
55
  build.initialOptions.banner["js"] ??= "";
60
56
  build.initialOptions.banner["js"] += `
61
- ${__extractDefault.toString()}
62
- `;
63
- build.initialOptions.banner["js"] += `
64
- (${patchRequireEsmDefault.toString()})()
65
- `;
66
- build.initialOptions.banner["js"] += `
67
- (${patchProcess.toString()})()
57
+ (${init.toString()})()
68
58
  `;
69
59
  build.onLoad({ filter: /\.(js|ts|cjs|mjs|cts|mts)$/ }, async (args) => {
70
60
  let contents = await (0, import_NodeModules.readFile)(args.path, "utf-8");
@@ -77,7 +67,7 @@ ${__extractDefault.toString()}
77
67
  if (contents.includes(`var ${variable}`)) {
78
68
  continue;
79
69
  }
80
- contents = `var ${variable} = globalThis['${key}'] ?? ${valueStr};
70
+ contents = `var ${variable} = window['${key}'] ?? ${valueStr};
81
71
  ` + contents;
82
72
  }
83
73
  contents = (0, import_String.replaceAll)(contents, /`\r?\n\/\/# sourceMappingURL/g, "`\n//#${''} sourceMappingURL");
@@ -88,42 +78,49 @@ ${__extractDefault.toString()}
88
78
  });
89
79
  }
90
80
  };
91
- function __extractDefault(module2) {
81
+ }
82
+ function init() {
83
+ const windowRecord = window;
84
+ if (!windowRecord["__name"]) {
85
+ windowRecord["__name"] = name;
86
+ }
87
+ if (!window.process) {
88
+ window.process = {
89
+ browser: true,
90
+ cwd: () => "/",
91
+ env: {},
92
+ platform: "android"
93
+ };
94
+ }
95
+ if (!windowRecord["__requirePatched"]) {
96
+ const originalRequire = window.require;
97
+ window.require = Object.assign(
98
+ (id) => requirePatched(id, originalRequire),
99
+ originalRequire
100
+ );
101
+ windowRecord["__requirePatched"] = true;
102
+ }
103
+ function name(obj) {
104
+ return obj;
105
+ }
106
+ function extractDefault(module2) {
92
107
  return module2 && module2.__esModule && module2.default ? module2.default : module2;
93
108
  }
94
- function patchRequireEsmDefault() {
95
- if (require.__patched) {
96
- return;
109
+ function requirePatched(id, originalRequire) {
110
+ const module2 = originalRequire(id);
111
+ if (module2) {
112
+ return extractDefault(module2);
97
113
  }
98
- const __require = require;
99
- require = Object.assign(requirePatched, __require, { __patched: true });
100
- function requirePatched(id) {
101
- const module2 = __require(id);
102
- if (module2) {
103
- return __extractDefault(module2);
104
- }
105
- if (id === "process" || id === "node:process") {
106
- console.error(`Module not found: ${id}. Fake process object is returned instead.`);
107
- return globalThis.process;
108
- }
109
- console.error(`Module not found: ${id}. Empty object is returned instead.`);
110
- return {};
114
+ if (id === "process" || id === "node:process") {
115
+ console.error(`Module not found: ${id}. Fake process object is returned instead.`);
116
+ return window.process;
111
117
  }
118
+ console.error(`Module not found: ${id}. Empty object is returned instead.`);
119
+ return {};
112
120
  }
113
121
  }
114
- function patchProcess() {
115
- if (globalThis.process) {
116
- return;
117
- }
118
- globalThis.process = {
119
- browser: true,
120
- cwd: () => "/",
121
- env: {},
122
- platform: "android"
123
- };
124
- }
125
122
  // Annotate the CommonJS export names for ESM import in node:
126
123
  0 && (module.exports = {
127
124
  preprocessPlugin
128
125
  });
129
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9wcmVwcm9jZXNzUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBwcmVwcm9jZXNzUGx1Z2luXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBUaGUgcHJlcHJvY2Vzc2luZyBpbmNsdWRlcyByZXBsYWNpbmcgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGFsdGVybmF0aXZlLFxuICogZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbSwgYW5kIGFkZGluZyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgZm9yIGVudmlyb25tZW50c1xuICogd2hlcmUgYHByb2Nlc3NgIGlzIG5vdCBhdmFpbGFibGUgKGxpa2UgbW9iaWxlIG9yIHdlYiBlbnZpcm9ubWVudHMpLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbnR5cGUgUHJvY2Vzc0V4ID0ge1xuICBicm93c2VyOiBib29sZWFuO1xufSAmIFBhcnRpYWw8Tm9kZUpTLlByb2Nlc3M+O1xuXG5pbnRlcmZhY2UgUmVxdWlyZVBhdGNoZWQgZXh0ZW5kcyBOb2RlSlMuUmVxdWlyZSB7XG4gIF9fcGF0Y2hlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gUmVwbGFjZXMgaW5zdGFuY2VzIG9mIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBgX19maWxlbmFtZWAgYWx0ZXJuYXRpdmUuXG4gKiAtIE1vZGlmaWVzIHRoZSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbS5cbiAqIC0gQWRkcyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgdG8gdGhlIGdsb2JhbCBzY29wZSBpZiBgcHJvY2Vzc2AgaXMgcmVmZXJlbmNlZCBidXQgbm90IGRlZmluZWQuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSBwcmVwcm9jZXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcHJvY2Vzc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCByZXBsYWNlbWVudHMgPSB7XG4gICAgW3JlcGxhY2VBbGwoJ2ltcG9ydChkb3QpbWV0YShkb3QpdXJsJywgJyhkb3QpJywgJy4nKV06ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICAgICAgY29uc3QgdXJsID0gcmVxdWlyZSgnbm9kZTp1cmwnKSBhcyB0eXBlb2YgaW1wb3J0KCdub2RlOnVybCcpO1xuICAgICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3ByZXByb2Nlc3MnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5kZWZpbmUgPz89IHt9O1xuXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhyZXBsYWNlbWVudHMpKSB7XG4gICAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZVtrZXldID0gYF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX1gO1xuICAgICAgfVxuXG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXIgPz89IHt9O1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddID8/PSAnJztcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lclsnanMnXSArPSAnXFxuJyArIGAke19fZXh0cmFjdERlZmF1bHQudG9TdHJpbmcoKX1cXG5gO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9ICdcXG4nICsgYCgke3BhdGNoUmVxdWlyZUVzbURlZmF1bHQudG9TdHJpbmcoKX0pKClcXG5gO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9ICdcXG4nICsgYCgke3BhdGNoUHJvY2Vzcy50b1N0cmluZygpfSkoKVxcbmA7XG5cbiAgICAgIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjogL1xcLihqc3x0c3xjanN8bWpzfGN0c3xtdHMpJC8gfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgbGV0IGNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGUoYXJncy5wYXRoLCAndXRmLTgnKTtcblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBsYWNlbWVudHMpKSB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGUgPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICAgICAgaWYgKCFjb250ZW50cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdmFsdWVTdHIgPSB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pKClgIDogdG9Kc29uKHZhbHVlLCB7IGZ1bmN0aW9uSGFuZGxpbmdNb2RlOiBGdW5jdGlvbkhhbmRsaW5nTW9kZS5GdWxsIH0pO1xuICAgICAgICAgIGlmIChjb250ZW50cy5pbmNsdWRlcyhgdmFyICR7dmFyaWFibGV9YCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb250ZW50cyA9IGB2YXIgJHt2YXJpYWJsZX0gPSBnbG9iYWxUaGlzWycke2tleX0nXSA/PyAke3ZhbHVlU3RyfTtcXG5gICsgY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIQUNLOiBUaGUgJHsnJ30gcGFydCBpcyB1c2VkIHRvIGVuc3VyZSBPYnNpZGlhbiBsb2FkcyB0aGUgcGx1Z2luIHByb3Blcmx5LFxuICAgICAgICAvLyBvdGhlcndpc2UsIGl0IHN0b3BzIGxvYWRpbmcgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNvdXJjZU1hcHBpbmdVUkwgY29tbWVudC5cbiAgICAgICAgY29udGVudHMgPSByZXBsYWNlQWxsKGNvbnRlbnRzLCAvYFxccj9cXG5cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkwvZywgJ2BcXG4vLyMke1xcJ1xcJ30gc291cmNlTWFwcGluZ1VSTCcpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudHMsXG4gICAgICAgICAgbG9hZGVyOiAndHMnXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gX19leHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgbW9kdWxlLmRlZmF1bHQgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhdGNoUmVxdWlyZUVzbURlZmF1bHQoKTogdm9pZCB7XG4gICAgaWYgKChyZXF1aXJlIGFzIFBhcnRpYWw8UmVxdWlyZVBhdGNoZWQ+KS5fX3BhdGNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgX19yZXF1aXJlID0gcmVxdWlyZTtcbiAgICByZXF1aXJlID0gT2JqZWN0LmFzc2lnbihyZXF1aXJlUGF0Y2hlZCwgX19yZXF1aXJlLCB7IF9fcGF0Y2hlZDogdHJ1ZSB9KSBhcyBSZXF1aXJlUGF0Y2hlZDtcblxuICAgIGZ1bmN0aW9uIHJlcXVpcmVQYXRjaGVkKGlkOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IF9fcmVxdWlyZShpZCkgYXMgKFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk7XG4gICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBfX2V4dHJhY3REZWZhdWx0KG1vZHVsZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgICAgICByZXR1cm4gZ2xvYmFsVGhpcy5wcm9jZXNzO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRW1wdHkgb2JqZWN0IGlzIHJldHVybmVkIGluc3RlYWQuYCk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHBhdGNoUHJvY2VzcygpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgaWYgKGdsb2JhbFRoaXMucHJvY2Vzcykge1xuICAgIHJldHVybjtcbiAgfVxuICBnbG9iYWxUaGlzLnByb2Nlc3MgPSB7XG4gICAgYnJvd3NlcjogdHJ1ZSxcbiAgICBjd2Q6ICgpID0+ICcvJyxcbiAgICBlbnY6IHt9LFxuICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgfSBhcyBQcm9jZXNzRXggYXMgTm9kZUpTLlByb2Nlc3M7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxvQkFHTztBQUNQLG9CQUdPO0FBQ1AseUJBQXlCO0FBeUJsQixTQUFTLG1C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
126
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9wcmVwcm9jZXNzUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBwcmVwcm9jZXNzUGx1Z2luXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBUaGUgcHJlcHJvY2Vzc2luZyBpbmNsdWRlcyByZXBsYWNpbmcgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGFsdGVybmF0aXZlLFxuICogZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbSwgYW5kIGFkZGluZyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgZm9yIGVudmlyb25tZW50c1xuICogd2hlcmUgYHByb2Nlc3NgIGlzIG5vdCBhdmFpbGFibGUgKGxpa2UgbW9iaWxlIG9yIHdlYiBlbnZpcm9ubWVudHMpLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbnR5cGUgUHJvY2Vzc0V4ID0ge1xuICBicm93c2VyOiBib29sZWFuO1xufSAmIFBhcnRpYWw8Tm9kZUpTLlByb2Nlc3M+O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBwcmVwcm9jZXNzZXMgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdCBmaWxlcy5cbiAqXG4gKiBUaGlzIHBsdWdpbiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHRhc2tzOlxuICogLSBSZXBsYWNlcyBpbnN0YW5jZXMgb2YgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGBfX2ZpbGVuYW1lYCBhbHRlcm5hdGl2ZS5cbiAqIC0gTW9kaWZpZXMgdGhlIGBzb3VyY2VNYXBwaW5nVVJMYCBjb21tZW50IHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggT2JzaWRpYW4ncyBwbHVnaW4gc3lzdGVtLlxuICogLSBBZGRzIGEgYmFzaWMgYHByb2Nlc3NgIG9iamVjdCB0byB0aGUgZ2xvYmFsIHNjb3BlIGlmIGBwcm9jZXNzYCBpcyByZWZlcmVuY2VkIGJ1dCBub3QgZGVmaW5lZC5cbiAqXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IHtcbiAgICBbcmVwbGFjZUFsbCgnaW1wb3J0KGRvdCltZXRhKGRvdCl1cmwnLCAnKGRvdCknLCAnLicpXTogKCk6IHN0cmluZyA9PiB7XG4gICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgICBjb25zdCB1cmwgPSByZXF1aXJlKCdub2RlOnVybCcpIGFzIHR5cGVvZiBpbXBvcnQoJ25vZGU6dXJsJyk7XG4gICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgICAgfVxuXG4gICAgICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAncHJlcHJvY2VzcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZSA/Pz0ge307XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlcGxhY2VtZW50cykpIHtcbiAgICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lW2tleV0gPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICB9XG5cbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lciA/Pz0ge307XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gPz89ICcnO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9IGBcXG4oJHtpbml0LnRvU3RyaW5nKCl9KSgpXFxuYDtcblxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKGpzfHRzfGNqc3xtanN8Y3RzfG10cykkLyB9LCBhc3luYyAoYXJncykgPT4ge1xuICAgICAgICBsZXQgY29udGVudHMgPSBhd2FpdCByZWFkRmlsZShhcmdzLnBhdGgsICd1dGYtOCcpO1xuXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VtZW50cykpIHtcbiAgICAgICAgICBjb25zdCB2YXJpYWJsZSA9IGBfXyR7bWFrZVZhbGlkVmFyaWFibGVOYW1lKGtleSl9YDtcbiAgICAgICAgICBpZiAoIWNvbnRlbnRzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCB2YWx1ZVN0ciA9IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IGAoJHt2YWx1ZS50b1N0cmluZygpfSkoKWAgOiB0b0pzb24odmFsdWUsIHsgZnVuY3Rpb25IYW5kbGluZ01vZGU6IEZ1bmN0aW9uSGFuZGxpbmdNb2RlLkZ1bGwgfSk7XG4gICAgICAgICAgaWYgKGNvbnRlbnRzLmluY2x1ZGVzKGB2YXIgJHt2YXJpYWJsZX1gKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRlbnRzID0gYHZhciAke3ZhcmlhYmxlfSA9IHdpbmRvd1snJHtrZXl9J10gPz8gJHt2YWx1ZVN0cn07XFxuYCArIGNvbnRlbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSEFDSzogVGhlICR7Jyd9IHBhcnQgaXMgdXNlZCB0byBlbnN1cmUgT2JzaWRpYW4gbG9hZHMgdGhlIHBsdWdpbiBwcm9wZXJseSxcbiAgICAgICAgLy8gb3RoZXJ3aXNlLCBpdCBzdG9wcyBsb2FkaW5nIGFmdGVyIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzb3VyY2VNYXBwaW5nVVJMIGNvbW1lbnQuXG4gICAgICAgIGNvbnRlbnRzID0gcmVwbGFjZUFsbChjb250ZW50cywgL2BcXHI/XFxuXFwvXFwvIyBzb3VyY2VNYXBwaW5nVVJML2csICdgXFxuLy8jJHtcXCdcXCd9IHNvdXJjZU1hcHBpbmdVUkwnKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnRzLFxuICAgICAgICAgIGxvYWRlcjogJ3RzJ1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpbml0KCk6IHZvaWQge1xuICBjb25zdCB3aW5kb3dSZWNvcmQgPSB3aW5kb3cgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBpZiAoIXdpbmRvd1JlY29yZFsnX19uYW1lJ10pIHtcbiAgICB3aW5kb3dSZWNvcmRbJ19fbmFtZSddID0gbmFtZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gIGlmICghd2luZG93LnByb2Nlc3MpIHtcbiAgICB3aW5kb3cucHJvY2VzcyA9IHtcbiAgICAgIGJyb3dzZXI6IHRydWUsXG4gICAgICBjd2Q6ICgpID0+ICcvJyxcbiAgICAgIGVudjoge30sXG4gICAgICBwbGF0Zm9ybTogJ2FuZHJvaWQnXG4gICAgfSBhcyBQcm9jZXNzRXggYXMgTm9kZUpTLlByb2Nlc3M7XG4gIH1cblxuICBpZiAoIXdpbmRvd1JlY29yZFsnX19yZXF1aXJlUGF0Y2hlZCddKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxSZXF1aXJlID0gd2luZG93LnJlcXVpcmU7XG4gICAgd2luZG93LnJlcXVpcmUgPSBPYmplY3QuYXNzaWduKFxuICAgICAgKGlkOiBzdHJpbmcpID0+IHJlcXVpcmVQYXRjaGVkKGlkLCBvcmlnaW5hbFJlcXVpcmUpLFxuICAgICAgb3JpZ2luYWxSZXF1aXJlXG4gICAgKSBhcyBOb2RlSlMuUmVxdWlyZTtcbiAgICB3aW5kb3dSZWNvcmRbJ19fcmVxdWlyZVBhdGNoZWQnXSA9IHRydWU7XG4gIH1cblxuICBmdW5jdGlvbiBuYW1lKG9iajogdW5rbm93bik6IHVua25vd24ge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBmdW5jdGlvbiBleHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgbW9kdWxlLmRlZmF1bHQgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlcXVpcmVQYXRjaGVkKGlkOiBzdHJpbmcsIG9yaWdpbmFsUmVxdWlyZTogTm9kZUpTLlJlcXVpcmUpOiB1bmtub3duIHtcbiAgICBjb25zdCBtb2R1bGUgPSBvcmlnaW5hbFJlcXVpcmUoaWQpIGFzIChQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpO1xuICAgIGlmIChtb2R1bGUpIHtcbiAgICAgIHJldHVybiBleHRyYWN0RGVmYXVsdChtb2R1bGUpO1xuICAgIH1cblxuICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTW9kdWxlIG5vdCBmb3VuZDogJHtpZH0uIEZha2UgcHJvY2VzcyBvYmplY3QgaXMgcmV0dXJuZWQgaW5zdGVhZC5gKTtcbiAgICAgIHJldHVybiB3aW5kb3cucHJvY2VzcztcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRW1wdHkgb2JqZWN0IGlzIHJldHVybmVkIGluc3RlYWQuYCk7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBLG9CQUdPO0FBQ1Asb0JBR087QUFDUCx5QkFBeUI7QUFxQmxCLFNBQVMsbUJBQTJCO0FBQ3pDLFFBQU0sZUFBZTtBQUFBLElBQ25CLEtBQUMsMEJBQVcsMkJBQTJCLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBYztBQUNuRSxVQUFJLE9BQU8sZUFBZSxVQUFVO0FBRWxDLGNBQU0sTUFBTSxRQUFRLFVBQVU7QUFDOUIsZUFBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsTUFDdkM7QUFFQSxVQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLGVBQU8sT0FBTyxTQUFTO0FBQUEsTUFDekI7QUFHQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUVqQyxpQkFBVyxPQUFPLE9BQU8sS0FBSyxZQUFZLEdBQUc7QUFDM0MsY0FBTSxlQUFlLE9BQU8sR0FBRyxJQUFJLFNBQUsscUNBQXNCLEdBQUcsQ0FBQztBQUFBLE1BQ3BFO0FBRUEsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUNqQyxZQUFNLGVBQWUsT0FBTyxJQUFJLE1BQU07QUFDdEMsWUFBTSxlQUFlLE9BQU8sSUFBSSxLQUFLO0FBQUEsR0FBTSxLQUFLLFNBQVMsQ0FBQztBQUFBO0FBRTFELFlBQU0sT0FBTyxFQUFFLFFBQVEsNkJBQTZCLEdBQUcsT0FBTyxTQUFTO0FBQ3JFLFlBQUksV0FBVyxVQUFNLDZCQUFTLEtBQUssTUFBTSxPQUFPO0FBRWhELG1CQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssT0FBTyxRQUFRLFlBQVksR0FBRztBQUN2RCxnQkFBTSxXQUFXLFNBQUsscUNBQXNCLEdBQUcsQ0FBQztBQUNoRCxjQUFJLENBQUMsU0FBUyxTQUFTLEdBQUcsR0FBRztBQUMzQjtBQUFBLFVBQ0Y7QUFDQSxnQkFBTSxXQUFXLE9BQU8sVUFBVSxhQUFhLElBQUksTUFBTSxTQUFTLENBQUMsWUFBUSxzQkFBTyxPQUFPLEVBQUUsc0JBQXNCLG1DQUFxQixLQUFLLENBQUM7QUFDNUksY0FBSSxTQUFTLFNBQVMsT0FBTyxRQUFRLEVBQUUsR0FBRztBQUN4QztBQUFBLFVBQ0Y7QUFDQSxxQkFBVyxPQUFPLFFBQVEsY0FBYyxHQUFHLFNBQVMsUUFBUTtBQUFBLElBQVE7QUFBQSxRQUN0RTtBQUlBLHVCQUFXLDBCQUFXLFVBQVUsaUNBQWlDLDhCQUFnQztBQUVqRyxlQUFPO0FBQUEsVUFDTDtBQUFBLFVBQ0EsUUFBUTtBQUFBLFFBQ1Y7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyxPQUFhO0FBQ3BCLFFBQU0sZUFBZTtBQUVyQixNQUFJLENBQUMsYUFBYSxRQUFRLEdBQUc7QUFDM0IsaUJBQWEsUUFBUSxJQUFJO0FBQUEsRUFDM0I7QUFHQSxNQUFJLENBQUMsT0FBTyxTQUFTO0FBQ25CLFdBQU8sVUFBVTtBQUFBLE1BQ2YsU0FBUztBQUFBLE1BQ1QsS0FBSyxNQUFNO0FBQUEsTUFDWCxLQUFLLENBQUM7QUFBQSxNQUNOLFVBQVU7QUFBQSxJQUNaO0FBQUEsRUFDRjtBQUVBLE1BQUksQ0FBQyxhQUFhLGtCQUFrQixHQUFHO0FBQ3JDLFVBQU0sa0JBQWtCLE9BQU87QUFDL0IsV0FBTyxVQUFVLE9BQU87QUFBQSxNQUN0QixDQUFDLE9BQWUsZUFBZSxJQUFJLGVBQWU7QUFBQSxNQUNsRDtBQUFBLElBQ0Y7QUFDQSxpQkFBYSxrQkFBa0IsSUFBSTtBQUFBLEVBQ3JDO0FBRUEsV0FBUyxLQUFLLEtBQXVCO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsV0FBUyxlQUFlQSxTQUFpRDtBQUN2RSxXQUFPQSxXQUFVQSxRQUFPLGNBQWNBLFFBQU8sVUFBVUEsUUFBTyxVQUFVQTtBQUFBLEVBQzFFO0FBRUEsV0FBUyxlQUFlLElBQVksaUJBQTBDO0FBQzVFLFVBQU1BLFVBQVMsZ0JBQWdCLEVBQUU7QUFDakMsUUFBSUEsU0FBUTtBQUNWLGFBQU8sZUFBZUEsT0FBTTtBQUFBLElBQzlCO0FBRUEsUUFBSSxPQUFPLGFBQWEsT0FBTyxnQkFBZ0I7QUFDN0MsY0FBUSxNQUFNLHFCQUFxQixFQUFFLDRDQUE0QztBQUNqRixhQUFPLE9BQU87QUFBQSxJQUNoQjtBQUVBLFlBQVEsTUFBTSxxQkFBcUIsRUFBRSxxQ0FBcUM7QUFDMUUsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUNGOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiXQp9Cg==
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -62,4 +58,4 @@ function renameToCjsPlugin() {
62
58
  0 && (module.exports = {
63
59
  renameToCjsPlugin
64
60
  });
65
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9yZW5hbWVUb0Nqc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gcmVuYW1lVG9DanNQbHVnaW5cbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCByZW5hbWVzIEphdmFTY3JpcHQgZmlsZXMgdG8gQ29tbW9uSlMgKGAuY2pzYCkgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKiBJdCBhbHNvIGFkanVzdHMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIENvbW1vbkpTIGZvcm1hdCwgcGFydGljdWxhcmx5IHdoZW4gZGVhbGluZ1xuICogd2l0aCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgbm90IHRvIGJlIHNraXBwZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlbmFtZXMgSmF2YVNjcmlwdCBmaWxlcyB0byBDb21tb25KUyAoYC5janNgKSBmaWxlc1xuICogYW5kIG1vZGlmaWVzIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBwcm9wZXIgbW9kdWxlIHJlc29sdXRpb24uXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSByZW5hbWluZyBhbmQgbW9kaWZpY2F0aW9uIG9mIG91dHB1dCBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZVRvQ2pzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3JlbmFtZS10by1janMnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiByZXN1bHQub3V0cHV0RmlsZXMgPz8gW10pIHtcbiAgICAgICAgICBpZiAoIWZpbGUucGF0aC5lbmRzV2l0aCgnLmpzJykgfHwgZmlsZS5wYXRoLmVuZHNXaXRoKCcuZC5qcycpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBuZXdQYXRoID0gcmVwbGFjZUFsbChmaWxlLnBhdGgsIC9cXC5qcyQvZywgJy5janMnKTtcblxuICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSguKz8pW1wiJ11cXCkvZywgKF8sIF9pbXBvcnRQYXRoOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBfaW1wb3J0UGF0aCBhcyBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aCgnLmQudHMnKSkge1xuICAgICAgICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNqc0ltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgJy5janMnKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtjanNJbXBvcnRQYXRofScpYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShuZXdQYXRoLCBuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0Esb0JBQTJCO0FBQzNCLHlCQUEwQjtBQVFuQixTQUFTLG9CQUE0QjtBQUMxQyxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLE9BQU8sV0FBVztBQUM1QixtQkFBVyxRQUFRLE9BQU8sZUFBZSxDQUFDLEdBQUc7QUFDM0MsY0FBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEtBQUssS0FBSyxLQUFLLEtBQUssU0FBUyxPQUFPLEdBQUc7QUFDN0Q7QUFBQSxVQUNGO0FBRUEsZ0JBQU0sY0FBVSwwQkFBVyxLQUFLLE1BQU0sVUFBVSxNQUFNO0FBRXRELGdCQUFNLGNBQVUsMEJBQVcsS0FBSyxNQUFNLDZCQUE2QixDQUFDLEdBQUcsZ0JBQWlDO0FBQ3RHLGtCQUFNLGFBQWE7QUFDbkIsZ0JBQUksV0FBVyxTQUFTLE9BQU8sR0FBRztBQUNoQyxxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxvQkFBZ0IsMEJBQVcsWUFBWSxVQUFVLE1BQU07QUFDN0QsbUJBQU8sWUFBWSxhQUFhO0FBQUEsVUFDbEMsQ0FBQztBQUVELG9CQUFNLDhCQUFVLFNBQVMsT0FBTztBQUFBLFFBQ2xDO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
61
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9yZW5hbWVUb0Nqc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gcmVuYW1lVG9DanNQbHVnaW5cbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCByZW5hbWVzIEphdmFTY3JpcHQgZmlsZXMgdG8gQ29tbW9uSlMgKGAuY2pzYCkgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKiBJdCBhbHNvIGFkanVzdHMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIENvbW1vbkpTIGZvcm1hdCwgcGFydGljdWxhcmx5IHdoZW4gZGVhbGluZ1xuICogd2l0aCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgbm90IHRvIGJlIHNraXBwZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlbmFtZXMgSmF2YVNjcmlwdCBmaWxlcyB0byBDb21tb25KUyAoYC5janNgKSBmaWxlc1xuICogYW5kIG1vZGlmaWVzIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBwcm9wZXIgbW9kdWxlIHJlc29sdXRpb24uXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSByZW5hbWluZyBhbmQgbW9kaWZpY2F0aW9uIG9mIG91dHB1dCBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZVRvQ2pzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3JlbmFtZS10by1janMnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiByZXN1bHQub3V0cHV0RmlsZXMgPz8gW10pIHtcbiAgICAgICAgICBpZiAoIWZpbGUucGF0aC5lbmRzV2l0aCgnLmpzJykgfHwgZmlsZS5wYXRoLmVuZHNXaXRoKCcuZC5qcycpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBuZXdQYXRoID0gcmVwbGFjZUFsbChmaWxlLnBhdGgsIC9cXC5qcyQvZywgJy5janMnKTtcblxuICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSguKz8pW1wiJ11cXCkvZywgKF8sIF9pbXBvcnRQYXRoOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBfaW1wb3J0UGF0aCBhcyBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aCgnLmQudHMnKSkge1xuICAgICAgICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNqc0ltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgJy5janMnKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtjanNJbXBvcnRQYXRofScpYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShuZXdQYXRoLCBuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxvQkFBMkI7QUFDM0IseUJBQTBCO0FBUW5CLFNBQVMsb0JBQTRCO0FBQzFDLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE1BQU0sT0FBTyxXQUFXO0FBQzVCLG1CQUFXLFFBQVEsT0FBTyxlQUFlLENBQUMsR0FBRztBQUMzQyxjQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsS0FBSyxLQUFLLEtBQUssS0FBSyxTQUFTLE9BQU8sR0FBRztBQUM3RDtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxjQUFVLDBCQUFXLEtBQUssTUFBTSxVQUFVLE1BQU07QUFFdEQsZ0JBQU0sY0FBVSwwQkFBVyxLQUFLLE1BQU0sNkJBQTZCLENBQUMsR0FBRyxnQkFBaUM7QUFDdEcsa0JBQU0sYUFBYTtBQUNuQixnQkFBSSxXQUFXLFNBQVMsT0FBTyxHQUFHO0FBQ2hDLHFCQUFPO0FBQUEsWUFDVDtBQUVBLGtCQUFNLG9CQUFnQiwwQkFBVyxZQUFZLFVBQVUsTUFBTTtBQUM3RCxtQkFBTyxZQUFZLGFBQWE7QUFBQSxVQUNsQyxDQUFDO0FBRUQsb0JBQU0sOEJBQVUsU0FBUyxPQUFPO0FBQUEsUUFDbEM7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -57,4 +53,4 @@ function watchCssChangesPlugin() {
57
53
  0 && (module.exports = {
58
54
  watchCssChangesPlugin
59
55
  });
60
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC93YXRjaENzc0NoYW5nZXNQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHtcbiAgT25SZXNvbHZlUmVzdWx0LFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290U2FmZSB9IGZyb20gJy4uL1Jvb3QudHMnO1xuXG4vKipcbiAqIEByZXR1cm5zIEEgcGx1Z2luIHRoYXQgd2F0Y2hlcyBmb3IgY2hhbmdlcyB0byBDU1MgZmlsZXMgYW5kIHJlYnVpbGRzIHRoZSBwbHVnaW4gd2hlbiB0aGV5IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQ3NzQ2hhbmdlc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCBzdHlsZXNDc3NQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgY29uc3Qgd2F0Y2hGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGV4aXN0c1N5bmMoc3R5bGVzQ3NzUGF0aCkpIHtcbiAgICB3YXRjaEZpbGVzLnB1c2goc3R5bGVzQ3NzUGF0aCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICd3YXRjaC1jc3MtY2hhbmdlcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uUmVzb2x2ZSh7IGZpbHRlcjogL21haW5cXC50cy8gfSwgKGFyZ3MpOiBPblJlc29sdmVSZXN1bHQgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhdGg6IGFyZ3MucGF0aCxcbiAgICAgICAgICB3YXRjaEZpbGVzXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxxQ0FBd0M7QUFDeEMseUJBQTJCO0FBQzNCLGtCQUF3QztBQUtqQyxTQUFTLHdCQUFnQztBQUM5QyxRQUFNLG9CQUFnQixxQ0FBd0IsdURBQXdCLFNBQVM7QUFDL0UsUUFBTSxhQUF1QixDQUFDO0FBQzlCLFVBQUksK0JBQVcsYUFBYSxHQUFHO0FBQzdCLGVBQVcsS0FBSyxhQUFhO0FBQUEsRUFDL0I7QUFFQSxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxVQUFVLEVBQUUsUUFBUSxXQUFXLEdBQUcsQ0FBQyxTQUEwQjtBQUNqRSxlQUFPO0FBQUEsVUFDTCxNQUFNLEtBQUs7QUFBQSxVQUNYO0FBQUEsUUFDRjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
56
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC93YXRjaENzc0NoYW5nZXNQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHtcbiAgT25SZXNvbHZlUmVzdWx0LFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290U2FmZSB9IGZyb20gJy4uL1Jvb3QudHMnO1xuXG4vKipcbiAqIEByZXR1cm5zIEEgcGx1Z2luIHRoYXQgd2F0Y2hlcyBmb3IgY2hhbmdlcyB0byBDU1MgZmlsZXMgYW5kIHJlYnVpbGRzIHRoZSBwbHVnaW4gd2hlbiB0aGV5IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQ3NzQ2hhbmdlc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCBzdHlsZXNDc3NQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgY29uc3Qgd2F0Y2hGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGV4aXN0c1N5bmMoc3R5bGVzQ3NzUGF0aCkpIHtcbiAgICB3YXRjaEZpbGVzLnB1c2goc3R5bGVzQ3NzUGF0aCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICd3YXRjaC1jc3MtY2hhbmdlcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uUmVzb2x2ZSh7IGZpbHRlcjogL21haW5cXC50cy8gfSwgKGFyZ3MpOiBPblJlc29sdmVSZXN1bHQgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhdGg6IGFyZ3MucGF0aCxcbiAgICAgICAgICB3YXRjaEZpbGVzXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBLHFDQUF3QztBQUN4Qyx5QkFBMkI7QUFDM0Isa0JBQXdDO0FBS2pDLFNBQVMsd0JBQWdDO0FBQzlDLFFBQU0sb0JBQWdCLHFDQUF3Qix1REFBd0IsU0FBUztBQUMvRSxRQUFNLGFBQXVCLENBQUM7QUFDOUIsVUFBSSwrQkFBVyxhQUFhLEdBQUc7QUFDN0IsZUFBVyxLQUFLLGFBQWE7QUFBQSxFQUMvQjtBQUVBLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLFVBQVUsRUFBRSxRQUFRLFdBQVcsR0FBRyxDQUFDLFNBQTBCO0FBQ2pFLGVBQU87QUFBQSxVQUNMLE1BQU0sS0FBSztBQUFBLFVBQ1g7QUFBQSxRQUNGO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -36,7 +32,7 @@ var import_Path = require('../Path.cjs');
36
32
  var import_NodeModules = require('./NodeModules.cjs');
37
33
  var import_ObsidianDevUtilsRepoPaths = require('./ObsidianDevUtilsRepoPaths.cjs');
38
34
  var import_Root = require('./Root.cjs');
39
- var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
35
+ var __import_meta_url = window["import.meta.url"] ?? (() => {
40
36
  if (typeof __filename === "string") {
41
37
  const url = require('node:url');
42
38
  return url.pathToFileURL(__filename).href;
@@ -69,4 +65,4 @@ async function format(rewrite = true) {
69
65
  0 && (module.exports = {
70
66
  format
71
67
  });
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvZm9ybWF0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbi8qKiBAcGFja2FnZURvY3VtZW50YXRpb24gZm9ybWF0XG4gKiBGb3JtYXQgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5cbmltcG9ydCB7XG4gIGdldERpcm5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgZ2V0Um9vdERpcixcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBGb3JtYXQgdGhlIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwYXJhbSByZXdyaXRlIC0gV2hldGhlciB0byByZXdyaXRlIHRoZSBzb3VyY2UgY29kZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNvdXJjZSBjb2RlIGhhcyBiZWVuIGZvcm1hdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZvcm1hdChyZXdyaXRlID0gdHJ1ZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290RGlyID0gZ2V0Um9vdERpcigpO1xuICBpZiAoIXJvb3REaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jvb3QgZGlyZWN0b3J5IG5vdCBmb3VuZCcpO1xuICB9XG4gIGxldCBkcHJpbnRKc29uUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRHByaW50SnNvbik7XG4gIGlmICghZXhpc3RzU3luYyhkcHJpbnRKc29uUGF0aCkpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gZ2V0Um9vdERpcihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgIGlmICghcGFja2FnZURpcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBwYWNrYWdlIGRpcmVjdG9yeS4nKTtcbiAgICB9XG4gICAgZHByaW50SnNvblBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdCwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EcHJpbnRKc29uKSwgcGFja2FnZURpcik7XG4gIH1cblxuICBpZiAoIWV4aXN0c1N5bmMoZHByaW50SnNvblBhdGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkcHJpbnQuanNvbiBub3QgZm91bmQnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbW1hbmQgPSByZXdyaXRlID8gJ2ZtdCcgOiAnY2hlY2snO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWyducHgnLCAnZHByaW50JywgY29tbWFuZCwgJy0tY29uZmlnJywgZHByaW50SnNvblBhdGgsICcqKi8qJ10pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0Esa0JBR087QUFDUCx5QkFBMkI7QUFDM0IsdUNBQTBDO0FBQzFDLGtCQUlPO0FBZlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFVBQU0sTUFBSSxRQUFRLFVBQVU7QUFBRSxXQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxFQUFJO0FBQUMsTUFBRyxPQUFPLFdBQVMsYUFBWTtBQUFDLFdBQU8sT0FBTyxTQUFTO0FBQUEsRUFBSTtBQUFDLFNBQU07QUFBRSxHQUFHO0FBdUIvTyxlQUFzQixPQUFPLFVBQVUsTUFBcUI7QUFDMUQsUUFBTSxjQUFVLHdCQUFXO0FBQzNCLE1BQUksQ0FBQyxTQUFTO0FBQ1osVUFBTSxJQUFJLE1BQU0sMEJBQTBCO0FBQUEsRUFDNUM7QUFDQSxNQUFJLHFCQUFpQixxQ0FBd0IsMkRBQTBCLFVBQVU7QUFDakYsTUFBSSxLQUFDLCtCQUFXLGNBQWMsR0FBRztBQUMvQixVQUFNLGlCQUFhLDRCQUFXLHdCQUFXLGlCQUFlLENBQUM7QUFDekQsUUFBSSxDQUFDLFlBQVk7QUFDZixZQUFNLElBQUksTUFBTSxtQ0FBbUM7QUFBQSxJQUNyRDtBQUNBLHlCQUFpQix5Q0FBd0Isa0JBQUssMkRBQTBCLE1BQU0sMkRBQTBCLFVBQVUsR0FBRyxVQUFVO0FBQUEsRUFDakk7QUFFQSxNQUFJLEtBQUMsK0JBQVcsY0FBYyxHQUFHO0FBQy9CLFVBQU0sSUFBSSxNQUFNLHVCQUF1QjtBQUFBLEVBQ3pDO0FBRUEsUUFBTSxVQUFVLFVBQVUsUUFBUTtBQUNsQyxZQUFNLDBCQUFhLENBQUMsT0FBTyxVQUFVLFNBQVMsWUFBWSxnQkFBZ0IsTUFBTSxDQUFDO0FBQ25GOyIsCiAgIm5hbWVzIjogW10KfQo=
68
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvZm9ybWF0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSB3aW5kb3dbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lPT09XCJzdHJpbmdcIil7Y29uc3QgdXJsPXJlcXVpcmUoXCJub2RlOnVybFwiKTtyZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZn1pZih0eXBlb2Ygd2luZG93IT09XCJ1bmRlZmluZWRcIil7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmfXJldHVyblwiXCJ9KSgpO1xuLyoqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBmb3JtYXRcbiAqIEZvcm1hdCB0aGUgc291cmNlIGNvZGUuXG4gKi9cblxuaW1wb3J0IHtcbiAgZ2V0RGlybmFtZSxcbiAgam9pblxufSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICcuL05vZGVNb2R1bGVzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuL09ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZXhlY0Zyb21Sb290LFxuICBnZXRSb290RGlyLFxuICByZXNvbHZlUGF0aEZyb21Sb290U2FmZVxufSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIEZvcm1hdCB0aGUgc291cmNlIGNvZGUuXG4gKlxuICogQHBhcmFtIHJld3JpdGUgLSBXaGV0aGVyIHRvIHJld3JpdGUgdGhlIHNvdXJjZSBjb2RlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc291cmNlIGNvZGUgaGFzIGJlZW4gZm9ybWF0dGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZm9ybWF0KHJld3JpdGUgPSB0cnVlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJvb3REaXIgPSBnZXRSb290RGlyKCk7XG4gIGlmICghcm9vdERpcikge1xuICAgIHRocm93IG5ldyBFcnJvcignUm9vdCBkaXJlY3Rvcnkgbm90IGZvdW5kJyk7XG4gIH1cbiAgbGV0IGRwcmludEpzb25QYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EcHJpbnRKc29uKTtcbiAgaWYgKCFleGlzdHNTeW5jKGRwcmludEpzb25QYXRoKSkge1xuICAgIGNvbnN0IHBhY2thZ2VEaXIgPSBnZXRSb290RGlyKGdldERpcm5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gICAgaWYgKCFwYWNrYWdlRGlyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHBhY2thZ2UgZGlyZWN0b3J5LicpO1xuICAgIH1cbiAgICBkcHJpbnRKc29uUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRwcmludEpzb24pLCBwYWNrYWdlRGlyKTtcbiAgfVxuXG4gIGlmICghZXhpc3RzU3luYyhkcHJpbnRKc29uUGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RwcmludC5qc29uIG5vdCBmb3VuZCcpO1xuICB9XG5cbiAgY29uc3QgY29tbWFuZCA9IHJld3JpdGUgPyAnZm10JyA6ICdjaGVjayc7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdkcHJpbnQnLCBjb21tYW5kLCAnLS1jb25maWcnLCBkcHJpbnRKc29uUGF0aCwgJyoqLyonXSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBLGtCQUdPO0FBQ1AseUJBQTJCO0FBQzNCLHVDQUEwQztBQUMxQyxrQkFJTztBQWZQLElBQUksb0JBQW9CLE9BQU8saUJBQWlCLE1BQU0sTUFBSTtBQUFDLE1BQUcsT0FBTyxlQUFhLFVBQVM7QUFBQyxVQUFNLE1BQUksUUFBUSxVQUFVO0FBQUUsV0FBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsRUFBSTtBQUFDLE1BQUcsT0FBTyxXQUFTLGFBQVk7QUFBQyxXQUFPLE9BQU8sU0FBUztBQUFBLEVBQUk7QUFBQyxTQUFNO0FBQUUsR0FBRztBQXVCM08sZUFBc0IsT0FBTyxVQUFVLE1BQXFCO0FBQzFELFFBQU0sY0FBVSx3QkFBVztBQUMzQixNQUFJLENBQUMsU0FBUztBQUNaLFVBQU0sSUFBSSxNQUFNLDBCQUEwQjtBQUFBLEVBQzVDO0FBQ0EsTUFBSSxxQkFBaUIscUNBQXdCLDJEQUEwQixVQUFVO0FBQ2pGLE1BQUksS0FBQywrQkFBVyxjQUFjLEdBQUc7QUFDL0IsVUFBTSxpQkFBYSw0QkFBVyx3QkFBVyxpQkFBZSxDQUFDO0FBQ3pELFFBQUksQ0FBQyxZQUFZO0FBQ2YsWUFBTSxJQUFJLE1BQU0sbUNBQW1DO0FBQUEsSUFDckQ7QUFDQSx5QkFBaUIseUNBQXdCLGtCQUFLLDJEQUEwQixNQUFNLDJEQUEwQixVQUFVLEdBQUcsVUFBVTtBQUFBLEVBQ2pJO0FBRUEsTUFBSSxLQUFDLCtCQUFXLGNBQWMsR0FBRztBQUMvQixVQUFNLElBQUksTUFBTSx1QkFBdUI7QUFBQSxFQUN6QztBQUVBLFFBQU0sVUFBVSxVQUFVLFFBQVE7QUFDbEMsWUFBTSwwQkFBYSxDQUFDLE9BQU8sVUFBVSxTQUFTLFlBQVksZ0JBQWdCLE1BQU0sQ0FBQztBQUNuRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __create = Object.create;
@@ -95,4 +91,4 @@ var version = __toESM(__extractDefault(require('./version.cjs')), 1);
95
91
  spellcheck,
96
92
  version
97
93
  });
98
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBidWlsZCBmcm9tICcuL2J1aWxkLnRzJztcbmV4cG9ydCAqIGFzIGNsaSBmcm9tICcuL2NsaS50cyc7XG5leHBvcnQgKiBhcyBDbGlVdGlscyBmcm9tICcuL0NsaVV0aWxzLnRzJztcbmV4cG9ydCAqIGFzIENvZGVHZW5lcmF0b3IgZnJvbSAnLi9Db2RlR2VuZXJhdG9yLnRzJztcbmV4cG9ydCAqIGFzIGVzYnVpbGQgZnJvbSAnLi9lc2J1aWxkL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIEVTTGludCBmcm9tICcuL0VTTGludC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBFeGVjIGZyb20gJy4vRXhlYy50cyc7XG5leHBvcnQgKiBhcyBmb3JtYXQgZnJvbSAnLi9mb3JtYXQudHMnO1xuZXhwb3J0ICogYXMgRnMgZnJvbSAnLi9Gcy50cyc7XG5leHBvcnQgKiBhcyBKU09OIGZyb20gJy4vSlNPTi50cyc7XG5leHBvcnQgKiBhcyBOb2RlTW9kdWxlcyBmcm9tICcuL05vZGVNb2R1bGVzLnRzJztcbmV4cG9ydCAqIGFzIE5wbSBmcm9tICcuL05wbS50cyc7XG5leHBvcnQgKiBhcyBOcG1QdWJsaXNoIGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5leHBvcnQgKiBhcyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIGZyb20gJy4vT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy50cyc7XG5leHBvcnQgKiBhcyBSb290IGZyb20gJy4vUm9vdC50cyc7XG5leHBvcnQgKiBhcyBzcGVsbGNoZWNrIGZyb20gJy4vc3BlbGxjaGVjay50cyc7XG5leHBvcnQgKiBhcyB2ZXJzaW9uIGZyb20gJy4vdmVyc2lvbi50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQSxZQUF1QjtBQUN2QixVQUFxQjtBQUNyQixlQUEwQjtBQUMxQixvQkFBK0I7QUFDL0IsY0FBeUI7QUFDekIsYUFBd0I7QUFDeEIsV0FBc0I7QUFDdEIsYUFBd0I7QUFDeEIsU0FBb0I7QUFDcEIsV0FBc0I7QUFDdEIsa0JBQTZCO0FBQzdCLFVBQXFCO0FBQ3JCLGlCQUE0QjtBQUM1QixnQ0FBMkM7QUFDM0MsV0FBc0I7QUFDdEIsaUJBQTRCO0FBQzVCLGNBQXlCOyIsCiAgIm5hbWVzIjogW10KfQo=
94
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBidWlsZCBmcm9tICcuL2J1aWxkLnRzJztcbmV4cG9ydCAqIGFzIGNsaSBmcm9tICcuL2NsaS50cyc7XG5leHBvcnQgKiBhcyBDbGlVdGlscyBmcm9tICcuL0NsaVV0aWxzLnRzJztcbmV4cG9ydCAqIGFzIENvZGVHZW5lcmF0b3IgZnJvbSAnLi9Db2RlR2VuZXJhdG9yLnRzJztcbmV4cG9ydCAqIGFzIGVzYnVpbGQgZnJvbSAnLi9lc2J1aWxkL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIEVTTGludCBmcm9tICcuL0VTTGludC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBFeGVjIGZyb20gJy4vRXhlYy50cyc7XG5leHBvcnQgKiBhcyBmb3JtYXQgZnJvbSAnLi9mb3JtYXQudHMnO1xuZXhwb3J0ICogYXMgRnMgZnJvbSAnLi9Gcy50cyc7XG5leHBvcnQgKiBhcyBKU09OIGZyb20gJy4vSlNPTi50cyc7XG5leHBvcnQgKiBhcyBOb2RlTW9kdWxlcyBmcm9tICcuL05vZGVNb2R1bGVzLnRzJztcbmV4cG9ydCAqIGFzIE5wbSBmcm9tICcuL05wbS50cyc7XG5leHBvcnQgKiBhcyBOcG1QdWJsaXNoIGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5leHBvcnQgKiBhcyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIGZyb20gJy4vT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy50cyc7XG5leHBvcnQgKiBhcyBSb290IGZyb20gJy4vUm9vdC50cyc7XG5leHBvcnQgKiBhcyBzcGVsbGNoZWNrIGZyb20gJy4vc3BlbGxjaGVjay50cyc7XG5leHBvcnQgKiBhcyB2ZXJzaW9uIGZyb20gJy4vdmVyc2lvbi50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLFlBQXVCO0FBQ3ZCLFVBQXFCO0FBQ3JCLGVBQTBCO0FBQzFCLG9CQUErQjtBQUMvQixjQUF5QjtBQUN6QixhQUF3QjtBQUN4QixXQUFzQjtBQUN0QixhQUF3QjtBQUN4QixTQUFvQjtBQUNwQixXQUFzQjtBQUN0QixrQkFBNkI7QUFDN0IsVUFBcUI7QUFDckIsaUJBQTRCO0FBQzVCLGdDQUEyQztBQUMzQyxXQUFzQjtBQUN0QixpQkFBNEI7QUFDNUIsY0FBeUI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -40,4 +36,4 @@ async function spellcheck() {
40
36
  0 && (module.exports = {
41
37
  spellcheck
42
38
  });
43
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvc3BlbGxjaGVjay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gc3BlbGxjaGVja1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBmdW5jdGlvbiBmb3IgcnVubmluZyBhIHNwZWxsY2hlY2sgb24gdGhlIGNvZGViYXNlIHVzaW5nIHRoZSBgY3NwZWxsYCBsaWJyYXJ5LlxuICogSXQgcmVwb3J0cyBhbnkgc3BlbGxpbmcgaXNzdWVzIGZvdW5kIGluIHRoZSBjb2RlIGFuZCByZXR1cm5zIGEgYFRhc2tSZXN1bHRgIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlbGxjaGVjayB3YXMgc3VjY2Vzc2Z1bC5cbiAqL1xuXG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIFJ1bnMgYSBzcGVsbGNoZWNrIG9uIHRoZSBlbnRpcmUgY29kZWJhc2UgdXNpbmcgYGNzcGVsbGAuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGNoZWNrcyBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMgZm9yIHNwZWxsaW5nIGlzc3Vlcy5cbiAqIElmIGlzc3VlcyBhcmUgZm91bmQsIHRoZXkgYXJlIGxvZ2dlZCB0byB0aGUgY29uc29sZSB3aXRoIHRoZWlyIGZpbGUgcGF0aCwgbGluZSwgYW5kIGNvbHVtbiBudW1iZXIuXG4gKlxuICogQHJldHVybnMgQSBgUHJvbWlzZWAgdGhhdCByZXNvbHZlcyB0byBhIGBUYXNrUmVzdWx0YCwgaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBzcGVsbGNoZWNrLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3BlbGxjaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCducHggY3NwZWxsIC4gLS1uby1wcm9ncmVzcycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsa0JBQTZCO0FBVTdCLGVBQXNCLGFBQTRCO0FBQ2hELFlBQU0sMEJBQWEsNEJBQTRCO0FBQ2pEOyIsCiAgIm5hbWVzIjogW10KfQo=
39
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvc3BlbGxjaGVjay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gc3BlbGxjaGVja1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBmdW5jdGlvbiBmb3IgcnVubmluZyBhIHNwZWxsY2hlY2sgb24gdGhlIGNvZGViYXNlIHVzaW5nIHRoZSBgY3NwZWxsYCBsaWJyYXJ5LlxuICogSXQgcmVwb3J0cyBhbnkgc3BlbGxpbmcgaXNzdWVzIGZvdW5kIGluIHRoZSBjb2RlIGFuZCByZXR1cm5zIGEgYFRhc2tSZXN1bHRgIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlbGxjaGVjayB3YXMgc3VjY2Vzc2Z1bC5cbiAqL1xuXG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIFJ1bnMgYSBzcGVsbGNoZWNrIG9uIHRoZSBlbnRpcmUgY29kZWJhc2UgdXNpbmcgYGNzcGVsbGAuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGNoZWNrcyBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMgZm9yIHNwZWxsaW5nIGlzc3Vlcy5cbiAqIElmIGlzc3VlcyBhcmUgZm91bmQsIHRoZXkgYXJlIGxvZ2dlZCB0byB0aGUgY29uc29sZSB3aXRoIHRoZWlyIGZpbGUgcGF0aCwgbGluZSwgYW5kIGNvbHVtbiBudW1iZXIuXG4gKlxuICogQHJldHVybnMgQSBgUHJvbWlzZWAgdGhhdCByZXNvbHZlcyB0byBhIGBUYXNrUmVzdWx0YCwgaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBzcGVsbGNoZWNrLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3BlbGxjaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCducHggY3NwZWxsIC4gLS1uby1wcm9ncmVzcycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxrQkFBNkI7QUFVN0IsZUFBc0IsYUFBNEI7QUFDaEQsWUFBTSwwQkFBYSw0QkFBNEI7QUFDakQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -359,4 +355,4 @@ async function updateVersionInFilesForPlugin(newVersion) {
359
355
  updateVersionInFiles,
360
356
  validate
361
357
  });
362
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvdmVyc2lvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdmVyc2lvblxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyB2ZXJzaW9uIHVwZGF0ZXMgaW4gYSBwcm9qZWN0LlxuICogSXQgaW5jbHVkZXMgdGFza3Mgc3VjaCBhcyB2YWxpZGF0aW5nIHZlcnNpb24gdXBkYXRlIHR5cGVzLCBjaGVja2luZyB0aGUgc3RhdGVcbiAqIG9mIEdpdCBhbmQgR2l0SHViIENMSSwgdXBkYXRpbmcgdmVyc2lvbiBudW1iZXJzIGluIGZpbGVzLCBhbmQgcGVyZm9ybWluZ1xuICogR2l0IG9wZXJhdGlvbnMgc3VjaCBhcyB0YWdnaW5nIGFuZCBwdXNoaW5nLlxuICpcbiAqIFRoZSBtYWluIGZ1bmN0aW9uLCBgdXBkYXRlVmVyc2lvbmAsIGNvb3JkaW5hdGVzIHRoZXNlIHRhc2tzIHRvIGVuc3VyZSB0aGF0XG4gKiB2ZXJzaW9uIHVwZGF0ZXMgYXJlIGhhbmRsZWQgY29uc2lzdGVudGx5IGFuZCBjb3JyZWN0bHkuIEl0IGFsc28gaW50ZWdyYXRlc1xuICogd2l0aCBPYnNpZGlhbiBwbHVnaW5zLCBpZiBhcHBsaWNhYmxlLCBieSB1cGRhdGluZyByZWxldmFudCBmaWxlcyBhbmQgcmVsZWFzaW5nXG4gKiBuZXcgdmVyc2lvbnMgb24gR2l0SHViLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGFja2FnZUxvY2tKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9Gcy50cyc7XG5pbXBvcnQgeyBlZGl0SnNvbiB9IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQge1xuICBjcCxcbiAgY3JlYXRlSW50ZXJmYWNlLFxuICBleGlzdHNTeW5jLFxuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHtcbiAgZWRpdE5wbVNocmlua1dyYXBKc29uLFxuICBlZGl0UGFja2FnZUpzb24sXG4gIGVkaXRQYWNrYWdlTG9ja0pzb24sXG4gIHJlYWRQYWNrYWdlSnNvblxufSBmcm9tICcuL05wbS50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyBkaWZmZXJlbnQgdHlwZXMgb2YgdmVyc2lvbiB1cGRhdGVzLlxuICovXG5leHBvcnQgZW51bSBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIEJldGEgPSAnYmV0YScsXG4gIEludmFsaWQgPSAnaW52YWxpZCcsXG4gIE1ham9yID0gJ21ham9yJyxcbiAgTWFudWFsID0gJ21hbnVhbCcsXG4gIE1pbm9yID0gJ21pbm9yJyxcbiAgUGF0Y2ggPSAncGF0Y2gnXG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9ybWF0IGZvciBPYnNpZGlhbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIE9ic2lkaWFuIHZlcnNpb24gcmVxdWlyZWQgZm9yIHRoZSBwbHVnaW4uXG4gICAqL1xuICBtaW5BcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uXG4gICAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIHN0cnVjdHVyZSBvZiBPYnNpZGlhbiByZWxlYXNlcyBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUmVsZWFzZXNKc29uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiByZWxlYXNlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBHaXQgdGFnIGZvciB0aGUgbmV3IHZlcnNpb24uXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIHRvIHVzZSBmb3IgdGhlIHRhZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhZyBoYXMgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkR2l0VGFnKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCB0YWcgLWEgJHtuZXdWZXJzaW9ufSAtbSAke25ld1ZlcnNpb259IC0tZm9yY2VgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQWRkcyB1cGRhdGVkIGZpbGVzIHRvIHRoZSBHaXQgc3RhZ2luZyBhcmVhIGFuZCBjb21taXRzIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gbmV3VmVyc2lvbiAtIFRoZSBuZXcgdmVyc2lvbiBudW1iZXIgdXNlZCBhcyB0aGUgY29tbWl0IG1lc3NhZ2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlcyBoYXZlIGJlZW4gYWRkZWQgYW5kIGNvbW1pdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFVwZGF0ZWRGaWxlc1RvR2l0KG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTnBtU2hyaW5rd3JhcEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlZlcnNpb25zSnNvbixcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZFxuICBdLmZpbHRlcigoZmlsZSkgPT4gZXhpc3RzU3luYyhyZXNvbHZlUGF0aEZyb21Sb290U2FmZShmaWxlKSkpO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaXQnLCAnYWRkJywgLi4uZmlsZXNdLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChgZ2l0IGNvbW1pdCAtbSAke25ld1ZlcnNpb259IC0tYWxsb3ctZW1wdHlgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXRIdWIgQ0xJIGlzIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtLlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgR2l0SHViIENMSSBpcyBub3QgaW5zdGFsbGVkLlxuICpcbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEdpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SHViQ2xpSW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggLS12ZXJzaW9uJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2NsaS5naXRodWIuY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIEdpdCBpcyBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgR2l0IGlzIG5vdCBpbnN0YWxsZWQuXG4gKlxuICogQHRocm93cyBFcnJvciBpZiBHaXQgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2l0IC0tdmVyc2lvbicsIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2dpdC1zY20uY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbiwgbWVhbmluZyB0aGVyZSBhcmUgbm8gdW5jb21taXR0ZWQgY2hhbmdlcy5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIEdpdCByZXBvc2l0b3J5IGlzIG5vdCBjbGVhbi5cbiAqXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0dpdFJlcG9DbGVhbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGRvdXQgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS11bnRyYWNrZWQtZmlsZXM9YWxsJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICAgIGlmIChzdGRvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uIFBsZWFzZSBjb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzIGJlZm9yZSByZWxlYXNpbmcgYSBuZXcgdmVyc2lvbi4nKTtcbiAgfVxufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdXBkYXRlZCBtYW5pZmVzdCBmaWxlIHRvIHRoZSBkaXN0cmlidXRpb24gYnVpbGQgZGlyZWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvcHkgb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29weVVwZGF0ZWRNYW5pZmVzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgY3AoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSxcbiAgICByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSksXG4gICAgeyBmb3JjZTogdHJ1ZSB9XG4gICk7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHZlcnNpb24gc3RyaW5nIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZlcnNpb24gYW5kIHRoZSBzcGVjaWZpZWQgdXBkYXRlIHR5cGUuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHR5cGUgb2YgdmVyc2lvbiB1cGRhdGUgKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIG1hbnVhbCkuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHRvIHRoZSBuZXcgdmVyc2lvbiBzdHJpbmcuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBjdXJyZW50IHZlcnNpb24gZm9ybWF0IGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB2ZXJzaW9uVHlwZSA9IGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgaWYgKHZlcnNpb25UeXBlID09PSBWZXJzaW9uVXBkYXRlVHlwZS5NYW51YWwpIHtcbiAgICByZXR1cm4gdmVyc2lvblVwZGF0ZVR5cGU7XG4gIH1cblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBhY2thZ2VKc29uLnZlcnNpb24gPz8gJyc7XG5cbiAgY29uc3QgbWF0Y2ggPSAvXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSgtYmV0YS4oXFxkKykpPy8uZXhlYyhjdXJyZW50VmVyc2lvbik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VycmVudCB2ZXJzaW9uIGZvcm1hdDogJHtjdXJyZW50VmVyc2lvbn1gKTtcbiAgfVxuXG4gIGxldCBtYWpvciA9IE51bWJlcihtYXRjaFsxXSk7XG4gIGxldCBtaW5vciA9IE51bWJlcihtYXRjaFsyXSk7XG4gIGxldCBwYXRjaCA9IE51bWJlcihtYXRjaFszXSk7XG4gIGxldCBiZXRhID0gbWF0Y2hbNV0gPyBOdW1iZXIobWF0Y2hbNV0pIDogMDtcblxuICBzd2l0Y2ggKHZlcnNpb25UeXBlKSB7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhOlxuICAgICAgaWYgKGJldGEgPT09IDApIHtcbiAgICAgICAgcGF0Y2grKztcbiAgICAgIH1cbiAgICAgIGJldGErKztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWFqb3I6XG4gICAgICBtYWpvcisrO1xuICAgICAgbWlub3IgPSAwO1xuICAgICAgcGF0Y2ggPSAwO1xuICAgICAgYmV0YSA9IDA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1pbm9yOlxuICAgICAgbWlub3IrKztcbiAgICAgIHBhdGNoID0gMDtcbiAgICAgIGJldGEgPSAwO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHBhdGNoKys7XG4gICAgICBiZXRhID0gMDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGAke21ham9yLnRvU3RyaW5nKCl9LiR7bWlub3IudG9TdHJpbmcoKX0uJHtwYXRjaC50b1N0cmluZygpfSR7YmV0YSA+IDAgPyBgLWJldGEuJHtiZXRhLnRvU3RyaW5nKCl9YCA6ICcnfWA7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSByZWxlYXNlIG5vdGVzIGZvciBhIHNwZWNpZmljIHZlcnNpb24gZnJvbSB0aGUgY2hhbmdlbG9nLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciBmb3Igd2hpY2ggdG8gZ2V0IHRoZSByZWxlYXNlIG5vdGVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlbGVhc2Ugbm90ZXMgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFJlbGVhc2VOb3RlcyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjaGFuZ2Vsb2dQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQ2hhbmdlbG9nTWQpO1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoY2hhbmdlbG9nUGF0aCwgJ3V0Zi04Jyk7XG4gIGNvbnN0IG5ld1ZlcnNpb25Fc2NhcGVkID0gcmVwbGFjZUFsbChuZXdWZXJzaW9uLCAnLicsICdcXFxcLicpO1xuICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAoYFxcbiMjICR7bmV3VmVyc2lvbkVzY2FwZWR9XFxuXFxuKCgufFxcbikrPylcXG5cXG4jI2ApLmV4ZWMoY29udGVudCk7XG4gIGxldCByZWxlYXNlTm90ZXMgPSBtYXRjaD8uWzFdID8gbWF0Y2hbMV0gKyAnXFxuXFxuJyA6ICcnO1xuXG4gIGNvbnN0IHRhZ3MgPSAoYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgdGFnIC0tc29ydD0tY3JlYXRvcmRhdGUnLCB7IGlzUXVpZXQ6IHRydWUgfSkpLnNwbGl0KC9cXHI/XFxuLyk7XG4gIGNvbnN0IHByZXZpb3VzVmVyc2lvbiA9IHRhZ3NbMV07XG4gIGxldCBjaGFuZ2VzVXJsID0gJyc7XG5cbiAgY29uc3QgcmVwb1VybCA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggcmVwbyB2aWV3IC0tanNvbiB1cmwgLXEgLnVybCcsIHsgaXNRdWlldDogdHJ1ZSB9KTtcblxuICBpZiAocHJldmlvdXNWZXJzaW9uKSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbXBhcmUvJHtwcmV2aW91c1ZlcnNpb259Li4uJHtuZXdWZXJzaW9ufWA7XG4gIH0gZWxzZSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbW1pdHMvJHtuZXdWZXJzaW9ufWA7XG4gIH1cblxuICByZWxlYXNlTm90ZXMgKz0gYCoqRnVsbCBDaGFuZ2Vsb2cqKjogJHtjaGFuZ2VzVXJsfWA7XG4gIHJldHVybiByZWxlYXNlTm90ZXM7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiB2ZXJzaW9uIHVwZGF0ZSBiYXNlZCBvbiB0aGUgaW5wdXQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSBpbnB1dCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlLlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgYFZlcnNpb25VcGRhdGVUeXBlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIGNvbnN0IHZlcnNpb25VcGRhdGVUeXBlRW51bSA9IHZlcnNpb25VcGRhdGVUeXBlIGFzIFZlcnNpb25VcGRhdGVUeXBlO1xuICBzd2l0Y2ggKHZlcnNpb25VcGRhdGVUeXBlRW51bSkge1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuQmV0YTpcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1ham9yOlxuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWlub3I6XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHJldHVybiB2ZXJzaW9uVXBkYXRlVHlwZUVudW07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKC9eXFxkK1xcLlxcZCtcXC5cXGQrKC1bXFx3XFxkLi1dKyk/JC8udGVzdCh2ZXJzaW9uVXBkYXRlVHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLk1hbnVhbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBQdXNoZXMgY29tbWl0cyBhbmQgdGFncyB0byB0aGUgcmVtb3RlIEdpdCByZXBvc2l0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHB1c2ggb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2l0UHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgcHVzaCAtLWZvbGxvdy10YWdzIC0tZm9yY2UnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogUHVibGlzaGVzIGEgR2l0SHViIHJlbGVhc2UgZm9yIHRoZSBuZXcgdmVyc2lvbi5cbiAqXG4gKiBIYW5kbGVzIHRoZSBjcmVhdGlvbiBvZiBhIHJlbGVhc2UgYW5kIHVwbG9hZGluZyBmaWxlcyBmb3IgZWl0aGVyIGFuIE9ic2lkaWFuIHBsdWdpbiBvciBhbm90aGVyIHByb2plY3QuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIGZvciB0aGUgcmVsZWFzZS5cbiAqIEBwYXJhbSBpc09ic2lkaWFuUGx1Z2luIC0gQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHByb2plY3QgaXMgYW4gT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVsZWFzZSBoYXMgYmVlbiBwdWJsaXNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uOiBzdHJpbmcsIGlzT2JzaWRpYW5QbHVnaW46IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGZpbGVQYXRoczogc3RyaW5nW107XG5cbiAgaWYgKGlzT2JzaWRpYW5QbHVnaW4pIHtcbiAgICBjb25zdCBidWlsZERpciA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCk7XG4gICAgY29uc3QgZmlsZU5hbWVzID0gYXdhaXQgcmVhZGRpclBvc2l4KGJ1aWxkRGlyKTtcbiAgICBmaWxlUGF0aHMgPSBmaWxlTmFtZXMubWFwKChmaWxlTmFtZSkgPT4gam9pbihidWlsZERpciwgZmlsZU5hbWUpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXN1bHRKc29uID0gYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3BhY2snLCAnLS1wYWNrLWRlc3RpbmF0aW9uJywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCAnLS1qc29uJ10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdEpzb24pIGFzIFt7IGZpbGVuYW1lOiBzdHJpbmcgfV07XG4gICAgZmlsZVBhdGhzID0gW2pvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCByZXN1bHRbMF0uZmlsZW5hbWUpXTtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ3JlbGVhc2UnLCAnY3JlYXRlJywgbmV3VmVyc2lvbiwgLi4uZmlsZVBhdGhzLCAnLS10aXRsZScsIGB2JHtuZXdWZXJzaW9ufWAsICctLW5vdGVzLWZpbGUnLCAnLSddLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzdGRpbjogYXdhaXQgZ2V0UmVsZWFzZU5vdGVzKG5ld1ZlcnNpb24pXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGNoYW5nZWxvZyBmaWxlIHdpdGggbmV3IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGNvbW1pdCBtZXNzYWdlcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBjdXJyZW50IGNoYW5nZWxvZywgYXBwZW5kcyBuZXcgZW50cmllcyBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uLFxuICogYW5kIHByb21wdHMgdGhlIHVzZXIgdG8gcmV2aWV3IHRoZSBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciB0byBiZSBhZGRlZCB0byB0aGUgY2hhbmdlbG9nLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY2hhbmdlbG9nIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUNoYW5nZWxvZyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2hhbmdlbG9nUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kKTtcbiAgbGV0IHByZXZpb3VzQ2hhbmdlbG9nTGluZXM6IHN0cmluZ1tdO1xuICBpZiAoIWV4aXN0c1N5bmMoY2hhbmdlbG9nUGF0aCkpIHtcbiAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzID0gW107XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGNoYW5nZWxvZ1BhdGgsICd1dGYtOCcpO1xuICAgIHByZXZpb3VzQ2hhbmdlbG9nTGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKS5zbGljZSgyKTtcbiAgICBpZiAocHJldmlvdXNDaGFuZ2Vsb2dMaW5lcy5hdCgtMSkgPT09ICcnKSB7XG4gICAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxhc3RUYWcgPSByZXBsYWNlQWxsKHByZXZpb3VzQ2hhbmdlbG9nTGluZXNbMF0gPz8gJycsICcjIyAnLCAnJyk7XG4gIGNvbnN0IGNvbW1pdFJhbmdlID0gbGFzdFRhZyA/IGAke2xhc3RUYWd9Li5IRUFEYCA6ICdIRUFEJztcbiAgY29uc3QgY29tbWl0TWVzc2FnZXNTdHIgPSBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCBsb2cgJHtjb21taXRSYW5nZX0gLS1mb3JtYXQ9JUIgLS1maXJzdC1wYXJlbnQgLXpgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IGNvbW1pdE1lc3NhZ2VzID0gY29tbWl0TWVzc2FnZXNTdHIuc3BsaXQoJ1xcMCcpLmZpbHRlcihCb29sZWFuKS5tYXAodG9TaW5nbGVMaW5lKTtcblxuICBsZXQgbmV3Q2hhbmdlTG9nID0gYCMgQ0hBTkdFTE9HXFxuXFxuIyMgJHtuZXdWZXJzaW9ufVxcblxcbmA7XG5cbiAgZm9yIChjb25zdCBtZXNzYWdlIG9mIGNvbW1pdE1lc3NhZ2VzKSB7XG4gICAgbmV3Q2hhbmdlTG9nICs9IGAtICR7bWVzc2FnZX1cXG5gO1xuICB9XG5cbiAgaWYgKHByZXZpb3VzQ2hhbmdlbG9nTGluZXMubGVuZ3RoID4gMCkge1xuICAgIG5ld0NoYW5nZUxvZyArPSAnXFxuJztcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgcHJldmlvdXNDaGFuZ2Vsb2dMaW5lcykge1xuICAgICAgbmV3Q2hhbmdlTG9nICs9IGAke2xpbmV9XFxuYDtcbiAgICB9XG4gIH1cblxuICBhd2FpdCB3cml0ZUZpbGUoY2hhbmdlbG9nUGF0aCwgbmV3Q2hhbmdlTG9nLCAndXRmLTgnKTtcblxuICBjb25zdCBjb2RlVmVyc2lvbiA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnY29kZSAtLXZlcnNpb24nLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgX2RlYnVnZ2VyID0gZ2V0TGliRGVidWdnZXIoJ1ZlcnNpb24nKTtcbiAgaWYgKCFjb2RlVmVyc2lvbikge1xuICAgIF9kZWJ1Z2dlcignQ291bGQgbm90IGZpbmQgVmlzdWFsIFN0dWRpbyBDb2RlIGluIHlvdXIgUEFUSC4gVXNpbmcgY29uc29sZSBtb2RlIGluc3RlYWQuJyk7XG4gICAgYXdhaXQgY3JlYXRlSW50ZXJmYWNlKHByb2Nlc3Muc3RkaW4sIHByb2Nlc3Muc3Rkb3V0KS5xdWVzdGlvbihcbiAgICAgIGBQbGVhc2UgdXBkYXRlIHRoZSAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kfSBmaWxlLiBQcmVzcyBFbnRlciB3aGVuIHlvdSBhcmUgZG9uZS4uLmBcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIF9kZWJ1Z2dlcihgUGxlYXNlIHVwZGF0ZSB0aGUgJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZH0gZmlsZS4gQ2xvc2UgVmlzdWFsIFN0dWRpbyBDb2RlIHdoZW4geW91IGFyZSBkb25lLi4uYCk7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnY29kZScsICctdycsIGNoYW5nZWxvZ1BhdGhdLCB7XG4gICAgICBpc1F1aWV0OiB0cnVlLFxuICAgICAgc2hvdWxkSWdub3JlRXhpdENvZGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHZlcnNpb24gb2YgdGhlIHByb2plY3QgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB1cGRhdGUgdHlwZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIGEgc2VyaWVzIG9mIHRhc2tzIHRvIGhhbmRsZSB2ZXJzaW9uIHVwZGF0ZXM6XG4gKiAxLiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUuXG4gKiAyLiBDaGVja3MgaWYgR2l0IGFuZCBHaXRIdWIgQ0xJIGFyZSBpbnN0YWxsZWQuXG4gKiAzLiBWZXJpZmllcyB0aGF0IHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbi5cbiAqIDQuIFJ1bnMgc3BlbGxjaGVjayBhbmQgbGludGluZy5cbiAqIDUuIEJ1aWxkcyB0aGUgcHJvamVjdC5cbiAqIDYuIFVwZGF0ZXMgdmVyc2lvbiBpbiBmaWxlcyBhbmQgY2hhbmdlbG9nLlxuICogNy4gQWRkcyB1cGRhdGVkIGZpbGVzIHRvIEdpdCwgdGFncyB0aGUgY29tbWl0LCBhbmQgcHVzaGVzIHRvIHRoZSByZXBvc2l0b3J5LlxuICogOC4gSWYgYW4gT2JzaWRpYW4gcGx1Z2luLCBjb3BpZXMgdGhlIHVwZGF0ZWQgbWFuaWZlc3QgYW5kIHB1Ymxpc2hlcyBhIEdpdEh1YiByZWxlYXNlLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSB0eXBlIG9mIHZlcnNpb24gdXBkYXRlIHRvIHBlcmZvcm0gKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIHgueS56Wy1iZXRhOnVdKS5cbiAqIEBwYXJhbSBwcmVwYXJlR2l0SHViUmVsZWFzZSAtIEEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gcHJlcGFyZSB0aGUgR2l0SHViIHJlbGVhc2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB2ZXJzaW9uIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGU/OiBzdHJpbmcsIHByZXBhcmVHaXRIdWJSZWxlYXNlPzogKG5ld1ZlcnNpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXZlcnNpb25VcGRhdGVUeXBlKSB7XG4gICAgY29uc3QgbnBtT2xkVmVyc2lvbiA9IHByb2Nlc3MuZW52WyducG1fb2xkX3ZlcnNpb24nXTtcbiAgICBjb25zdCBucG1OZXdWZXJzaW9uID0gcHJvY2Vzcy5lbnZbJ25wbV9uZXdfdmVyc2lvbiddO1xuXG4gICAgaWYgKG5wbU9sZFZlcnNpb24gJiYgbnBtTmV3VmVyc2lvbikge1xuICAgICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobnBtT2xkVmVyc2lvbik7XG4gICAgICBhd2FpdCB1cGRhdGVWZXJzaW9uKG5wbU5ld1ZlcnNpb24sIHByZXBhcmVHaXRIdWJSZWxlYXNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZlcnNpb24gdXBkYXRlIHR5cGUgcHJvdmlkZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGlzT2JzaWRpYW5QbHVnaW4gPSBleGlzdHNTeW5jKHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbikpO1xuXG4gIHZhbGlkYXRlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgY2hlY2tHaXRJbnN0YWxsZWQoKTtcbiAgYXdhaXQgY2hlY2tHaXRSZXBvQ2xlYW4oKTtcbiAgYXdhaXQgY2hlY2tHaXRIdWJDbGlJbnN0YWxsZWQoKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnZm9ybWF0OmNoZWNrJyk7XG4gIGF3YWl0IHJ1bkNvbW1hbmQoJ3NwZWxsY2hlY2snKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnYnVpbGQnKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnbGludCcpO1xuXG4gIGNvbnN0IG5ld1ZlcnNpb24gPSBhd2FpdCBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobmV3VmVyc2lvbik7XG4gIGlmIChpc09ic2lkaWFuUGx1Z2luKSB7XG4gICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXNGb3JQbHVnaW4obmV3VmVyc2lvbik7XG4gIH1cblxuICBpZiAoZ2V0VmVyc2lvblVwZGF0ZVR5cGUodmVyc2lvblVwZGF0ZVR5cGUpICE9PSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhKSB7XG4gICAgYXdhaXQgdXBkYXRlQ2hhbmdlbG9nKG5ld1ZlcnNpb24pO1xuICB9XG5cbiAgYXdhaXQgYWRkVXBkYXRlZEZpbGVzVG9HaXQobmV3VmVyc2lvbik7XG4gIGF3YWl0IGFkZEdpdFRhZyhuZXdWZXJzaW9uKTtcbiAgYXdhaXQgZ2l0UHVzaCgpO1xuICBhd2FpdCBwcmVwYXJlR2l0SHViUmVsZWFzZT8uKG5ld1ZlcnNpb24pO1xuICBhd2FpdCBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uLCBpc09ic2lkaWFuUGx1Z2luKTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB2ZXJzaW9uIGluIHZhcmlvdXMgZmlsZXMsIGluY2x1ZGluZyBgcGFja2FnZS5qc29uYCwgYHBhY2thZ2UtbG9jay5qc29uYCxcbiAqIGFuZCBPYnNpZGlhbiBwbHVnaW4gbWFuaWZlc3RzIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gc3RyaW5nIHRvIHVwZGF0ZSBpbiB0aGUgZmlsZXMuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlZGl0UGFja2FnZUpzb24oKHBhY2thZ2VKc29uKSA9PiB7XG4gICAgcGFja2FnZUpzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gIH0pO1xuXG4gIGF3YWl0IGVkaXRQYWNrYWdlTG9ja0pzb24odXBkYXRlLCB7IHNob3VsZFNraXBJZk1pc3Npbmc6IHRydWUgfSk7XG4gIGF3YWl0IGVkaXROcG1TaHJpbmtXcmFwSnNvbih1cGRhdGUsIHsgc2hvdWxkU2tpcElmTWlzc2luZzogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiB1cGRhdGUocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pOiB2b2lkIHtcbiAgICBwYWNrYWdlTG9ja0pzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gICAgY29uc3QgZGVmYXVsdFBhY2thZ2UgPSBwYWNrYWdlTG9ja0pzb24ucGFja2FnZXM/LlsnJ107XG4gICAgaWYgKGRlZmF1bHRQYWNrYWdlKSB7XG4gICAgICBkZWZhdWx0UGFja2FnZS52ZXJzaW9uID0gbmV3VmVyc2lvbjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gZW5zdXJlIGl0IGlzIGVpdGhlciBhIHJlY29nbml6ZWQgdHlwZVxuICogb3IgYSB2YWxpZCBtYW51YWwgdmVyc2lvbiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gdmFsaWRhdGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZSh2ZXJzaW9uVXBkYXRlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChnZXRWZXJzaW9uVXBkYXRlVHlwZSh2ZXJzaW9uVXBkYXRlVHlwZSkgPT09IFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiB1cGRhdGUgdHlwZS4gUGxlYXNlIHVzZSBcXCdtYWpvclxcJywgXFwnbWlub3JcXCcsIFxcJ3BhdGNoXFwnLCBvciBcXCd4Lnkuelstc3VmZml4XVxcJyBmb3JtYXQuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbiBmcm9tIHRoZSBHaXRIdWIgcmVsZWFzZXMgQVBJLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0TGF0ZXN0T2JzaWRpYW5WZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvb2JzaWRpYW5tZC9vYnNpZGlhbi1yZWxlYXNlcy9yZWxlYXNlcy9sYXRlc3QnKTtcbiAgY29uc3Qgb2JzaWRpYW5SZWxlYXNlc0pzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMgUGFydGlhbDxPYnNpZGlhblJlbGVhc2VzSnNvbj47XG4gIHJldHVybiBvYnNpZGlhblJlbGVhc2VzSnNvbi5uYW1lID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBuYW1lIG9mIHRoZSBsYXRlc3QgT2JzaWRpYW4gcmVsZWFzZScpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuQ29tbWFuZChjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgaXNLbm93bkNvbW1hbmQgPSBPYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5zY3JpcHRzID8/IHt9KS5pbmNsdWRlcyhjb21tYW5kKTtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3J1bicsIC4uLihpc0tub3duQ29tbWFuZCA/IFtdIDogWydvYnNpZGlhbi1kZXYtdXRpbHMnXSksIGNvbW1hbmRdKTtcbn1cblxuZnVuY3Rpb24gdG9TaW5nbGVMaW5lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBzdHIuc3BsaXQoL1xccj9cXG4vKS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiBsaW5lcy5qb2luKCcgJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzRm9yUGx1Z2luKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBsYXRlc3RPYnNpZGlhblZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RPYnNpZGlhblZlcnNpb24oKTtcblxuICBhd2FpdCBlZGl0SnNvbjxNYW5pZmVzdD4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uLCAobWFuaWZlc3QpID0+IHtcbiAgICBtYW5pZmVzdC5taW5BcHBWZXJzaW9uID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICAgIG1hbmlmZXN0LnZlcnNpb24gPSBuZXdWZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBlZGl0SnNvbjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5WZXJzaW9uc0pzb24sICh2ZXJzaW9ucykgPT4ge1xuICAgIHZlcnNpb25zW25ld1ZlcnNpb25dID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBjb3B5VXBkYXRlZE1hbmlmZXN0KCk7XG59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
358
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvdmVyc2lvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdmVyc2lvblxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyB2ZXJzaW9uIHVwZGF0ZXMgaW4gYSBwcm9qZWN0LlxuICogSXQgaW5jbHVkZXMgdGFza3Mgc3VjaCBhcyB2YWxpZGF0aW5nIHZlcnNpb24gdXBkYXRlIHR5cGVzLCBjaGVja2luZyB0aGUgc3RhdGVcbiAqIG9mIEdpdCBhbmQgR2l0SHViIENMSSwgdXBkYXRpbmcgdmVyc2lvbiBudW1iZXJzIGluIGZpbGVzLCBhbmQgcGVyZm9ybWluZ1xuICogR2l0IG9wZXJhdGlvbnMgc3VjaCBhcyB0YWdnaW5nIGFuZCBwdXNoaW5nLlxuICpcbiAqIFRoZSBtYWluIGZ1bmN0aW9uLCBgdXBkYXRlVmVyc2lvbmAsIGNvb3JkaW5hdGVzIHRoZXNlIHRhc2tzIHRvIGVuc3VyZSB0aGF0XG4gKiB2ZXJzaW9uIHVwZGF0ZXMgYXJlIGhhbmRsZWQgY29uc2lzdGVudGx5IGFuZCBjb3JyZWN0bHkuIEl0IGFsc28gaW50ZWdyYXRlc1xuICogd2l0aCBPYnNpZGlhbiBwbHVnaW5zLCBpZiBhcHBsaWNhYmxlLCBieSB1cGRhdGluZyByZWxldmFudCBmaWxlcyBhbmQgcmVsZWFzaW5nXG4gKiBuZXcgdmVyc2lvbnMgb24gR2l0SHViLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGFja2FnZUxvY2tKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9Gcy50cyc7XG5pbXBvcnQgeyBlZGl0SnNvbiB9IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQge1xuICBjcCxcbiAgY3JlYXRlSW50ZXJmYWNlLFxuICBleGlzdHNTeW5jLFxuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHtcbiAgZWRpdE5wbVNocmlua1dyYXBKc29uLFxuICBlZGl0UGFja2FnZUpzb24sXG4gIGVkaXRQYWNrYWdlTG9ja0pzb24sXG4gIHJlYWRQYWNrYWdlSnNvblxufSBmcm9tICcuL05wbS50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyBkaWZmZXJlbnQgdHlwZXMgb2YgdmVyc2lvbiB1cGRhdGVzLlxuICovXG5leHBvcnQgZW51bSBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIEJldGEgPSAnYmV0YScsXG4gIEludmFsaWQgPSAnaW52YWxpZCcsXG4gIE1ham9yID0gJ21ham9yJyxcbiAgTWFudWFsID0gJ21hbnVhbCcsXG4gIE1pbm9yID0gJ21pbm9yJyxcbiAgUGF0Y2ggPSAncGF0Y2gnXG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9ybWF0IGZvciBPYnNpZGlhbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIE9ic2lkaWFuIHZlcnNpb24gcmVxdWlyZWQgZm9yIHRoZSBwbHVnaW4uXG4gICAqL1xuICBtaW5BcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uXG4gICAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIHN0cnVjdHVyZSBvZiBPYnNpZGlhbiByZWxlYXNlcyBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUmVsZWFzZXNKc29uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiByZWxlYXNlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBHaXQgdGFnIGZvciB0aGUgbmV3IHZlcnNpb24uXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIHRvIHVzZSBmb3IgdGhlIHRhZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhZyBoYXMgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkR2l0VGFnKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCB0YWcgLWEgJHtuZXdWZXJzaW9ufSAtbSAke25ld1ZlcnNpb259IC0tZm9yY2VgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQWRkcyB1cGRhdGVkIGZpbGVzIHRvIHRoZSBHaXQgc3RhZ2luZyBhcmVhIGFuZCBjb21taXRzIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gbmV3VmVyc2lvbiAtIFRoZSBuZXcgdmVyc2lvbiBudW1iZXIgdXNlZCBhcyB0aGUgY29tbWl0IG1lc3NhZ2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlcyBoYXZlIGJlZW4gYWRkZWQgYW5kIGNvbW1pdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFVwZGF0ZWRGaWxlc1RvR2l0KG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTnBtU2hyaW5rd3JhcEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlZlcnNpb25zSnNvbixcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZFxuICBdLmZpbHRlcigoZmlsZSkgPT4gZXhpc3RzU3luYyhyZXNvbHZlUGF0aEZyb21Sb290U2FmZShmaWxlKSkpO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaXQnLCAnYWRkJywgLi4uZmlsZXNdLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChgZ2l0IGNvbW1pdCAtbSAke25ld1ZlcnNpb259IC0tYWxsb3ctZW1wdHlgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXRIdWIgQ0xJIGlzIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtLlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgR2l0SHViIENMSSBpcyBub3QgaW5zdGFsbGVkLlxuICpcbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEdpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SHViQ2xpSW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggLS12ZXJzaW9uJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2NsaS5naXRodWIuY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIEdpdCBpcyBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgR2l0IGlzIG5vdCBpbnN0YWxsZWQuXG4gKlxuICogQHRocm93cyBFcnJvciBpZiBHaXQgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2l0IC0tdmVyc2lvbicsIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2dpdC1zY20uY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbiwgbWVhbmluZyB0aGVyZSBhcmUgbm8gdW5jb21taXR0ZWQgY2hhbmdlcy5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIEdpdCByZXBvc2l0b3J5IGlzIG5vdCBjbGVhbi5cbiAqXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0dpdFJlcG9DbGVhbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGRvdXQgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS11bnRyYWNrZWQtZmlsZXM9YWxsJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICAgIGlmIChzdGRvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uIFBsZWFzZSBjb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzIGJlZm9yZSByZWxlYXNpbmcgYSBuZXcgdmVyc2lvbi4nKTtcbiAgfVxufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdXBkYXRlZCBtYW5pZmVzdCBmaWxlIHRvIHRoZSBkaXN0cmlidXRpb24gYnVpbGQgZGlyZWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvcHkgb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29weVVwZGF0ZWRNYW5pZmVzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgY3AoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSxcbiAgICByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSksXG4gICAgeyBmb3JjZTogdHJ1ZSB9XG4gICk7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHZlcnNpb24gc3RyaW5nIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZlcnNpb24gYW5kIHRoZSBzcGVjaWZpZWQgdXBkYXRlIHR5cGUuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHR5cGUgb2YgdmVyc2lvbiB1cGRhdGUgKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIG1hbnVhbCkuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHRvIHRoZSBuZXcgdmVyc2lvbiBzdHJpbmcuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBjdXJyZW50IHZlcnNpb24gZm9ybWF0IGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB2ZXJzaW9uVHlwZSA9IGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgaWYgKHZlcnNpb25UeXBlID09PSBWZXJzaW9uVXBkYXRlVHlwZS5NYW51YWwpIHtcbiAgICByZXR1cm4gdmVyc2lvblVwZGF0ZVR5cGU7XG4gIH1cblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBhY2thZ2VKc29uLnZlcnNpb24gPz8gJyc7XG5cbiAgY29uc3QgbWF0Y2ggPSAvXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSgtYmV0YS4oXFxkKykpPy8uZXhlYyhjdXJyZW50VmVyc2lvbik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VycmVudCB2ZXJzaW9uIGZvcm1hdDogJHtjdXJyZW50VmVyc2lvbn1gKTtcbiAgfVxuXG4gIGxldCBtYWpvciA9IE51bWJlcihtYXRjaFsxXSk7XG4gIGxldCBtaW5vciA9IE51bWJlcihtYXRjaFsyXSk7XG4gIGxldCBwYXRjaCA9IE51bWJlcihtYXRjaFszXSk7XG4gIGxldCBiZXRhID0gbWF0Y2hbNV0gPyBOdW1iZXIobWF0Y2hbNV0pIDogMDtcblxuICBzd2l0Y2ggKHZlcnNpb25UeXBlKSB7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhOlxuICAgICAgaWYgKGJldGEgPT09IDApIHtcbiAgICAgICAgcGF0Y2grKztcbiAgICAgIH1cbiAgICAgIGJldGErKztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWFqb3I6XG4gICAgICBtYWpvcisrO1xuICAgICAgbWlub3IgPSAwO1xuICAgICAgcGF0Y2ggPSAwO1xuICAgICAgYmV0YSA9IDA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1pbm9yOlxuICAgICAgbWlub3IrKztcbiAgICAgIHBhdGNoID0gMDtcbiAgICAgIGJldGEgPSAwO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHBhdGNoKys7XG4gICAgICBiZXRhID0gMDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGAke21ham9yLnRvU3RyaW5nKCl9LiR7bWlub3IudG9TdHJpbmcoKX0uJHtwYXRjaC50b1N0cmluZygpfSR7YmV0YSA+IDAgPyBgLWJldGEuJHtiZXRhLnRvU3RyaW5nKCl9YCA6ICcnfWA7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSByZWxlYXNlIG5vdGVzIGZvciBhIHNwZWNpZmljIHZlcnNpb24gZnJvbSB0aGUgY2hhbmdlbG9nLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciBmb3Igd2hpY2ggdG8gZ2V0IHRoZSByZWxlYXNlIG5vdGVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlbGVhc2Ugbm90ZXMgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFJlbGVhc2VOb3RlcyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjaGFuZ2Vsb2dQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQ2hhbmdlbG9nTWQpO1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoY2hhbmdlbG9nUGF0aCwgJ3V0Zi04Jyk7XG4gIGNvbnN0IG5ld1ZlcnNpb25Fc2NhcGVkID0gcmVwbGFjZUFsbChuZXdWZXJzaW9uLCAnLicsICdcXFxcLicpO1xuICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAoYFxcbiMjICR7bmV3VmVyc2lvbkVzY2FwZWR9XFxuXFxuKCgufFxcbikrPylcXG5cXG4jI2ApLmV4ZWMoY29udGVudCk7XG4gIGxldCByZWxlYXNlTm90ZXMgPSBtYXRjaD8uWzFdID8gbWF0Y2hbMV0gKyAnXFxuXFxuJyA6ICcnO1xuXG4gIGNvbnN0IHRhZ3MgPSAoYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgdGFnIC0tc29ydD0tY3JlYXRvcmRhdGUnLCB7IGlzUXVpZXQ6IHRydWUgfSkpLnNwbGl0KC9cXHI/XFxuLyk7XG4gIGNvbnN0IHByZXZpb3VzVmVyc2lvbiA9IHRhZ3NbMV07XG4gIGxldCBjaGFuZ2VzVXJsID0gJyc7XG5cbiAgY29uc3QgcmVwb1VybCA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggcmVwbyB2aWV3IC0tanNvbiB1cmwgLXEgLnVybCcsIHsgaXNRdWlldDogdHJ1ZSB9KTtcblxuICBpZiAocHJldmlvdXNWZXJzaW9uKSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbXBhcmUvJHtwcmV2aW91c1ZlcnNpb259Li4uJHtuZXdWZXJzaW9ufWA7XG4gIH0gZWxzZSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbW1pdHMvJHtuZXdWZXJzaW9ufWA7XG4gIH1cblxuICByZWxlYXNlTm90ZXMgKz0gYCoqRnVsbCBDaGFuZ2Vsb2cqKjogJHtjaGFuZ2VzVXJsfWA7XG4gIHJldHVybiByZWxlYXNlTm90ZXM7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiB2ZXJzaW9uIHVwZGF0ZSBiYXNlZCBvbiB0aGUgaW5wdXQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSBpbnB1dCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlLlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgYFZlcnNpb25VcGRhdGVUeXBlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIGNvbnN0IHZlcnNpb25VcGRhdGVUeXBlRW51bSA9IHZlcnNpb25VcGRhdGVUeXBlIGFzIFZlcnNpb25VcGRhdGVUeXBlO1xuICBzd2l0Y2ggKHZlcnNpb25VcGRhdGVUeXBlRW51bSkge1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuQmV0YTpcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1ham9yOlxuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWlub3I6XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHJldHVybiB2ZXJzaW9uVXBkYXRlVHlwZUVudW07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKC9eXFxkK1xcLlxcZCtcXC5cXGQrKC1bXFx3XFxkLi1dKyk/JC8udGVzdCh2ZXJzaW9uVXBkYXRlVHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLk1hbnVhbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBQdXNoZXMgY29tbWl0cyBhbmQgdGFncyB0byB0aGUgcmVtb3RlIEdpdCByZXBvc2l0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHB1c2ggb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2l0UHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgcHVzaCAtLWZvbGxvdy10YWdzIC0tZm9yY2UnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogUHVibGlzaGVzIGEgR2l0SHViIHJlbGVhc2UgZm9yIHRoZSBuZXcgdmVyc2lvbi5cbiAqXG4gKiBIYW5kbGVzIHRoZSBjcmVhdGlvbiBvZiBhIHJlbGVhc2UgYW5kIHVwbG9hZGluZyBmaWxlcyBmb3IgZWl0aGVyIGFuIE9ic2lkaWFuIHBsdWdpbiBvciBhbm90aGVyIHByb2plY3QuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIGZvciB0aGUgcmVsZWFzZS5cbiAqIEBwYXJhbSBpc09ic2lkaWFuUGx1Z2luIC0gQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHByb2plY3QgaXMgYW4gT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVsZWFzZSBoYXMgYmVlbiBwdWJsaXNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uOiBzdHJpbmcsIGlzT2JzaWRpYW5QbHVnaW46IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGZpbGVQYXRoczogc3RyaW5nW107XG5cbiAgaWYgKGlzT2JzaWRpYW5QbHVnaW4pIHtcbiAgICBjb25zdCBidWlsZERpciA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCk7XG4gICAgY29uc3QgZmlsZU5hbWVzID0gYXdhaXQgcmVhZGRpclBvc2l4KGJ1aWxkRGlyKTtcbiAgICBmaWxlUGF0aHMgPSBmaWxlTmFtZXMubWFwKChmaWxlTmFtZSkgPT4gam9pbihidWlsZERpciwgZmlsZU5hbWUpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXN1bHRKc29uID0gYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3BhY2snLCAnLS1wYWNrLWRlc3RpbmF0aW9uJywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCAnLS1qc29uJ10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdEpzb24pIGFzIFt7IGZpbGVuYW1lOiBzdHJpbmcgfV07XG4gICAgZmlsZVBhdGhzID0gW2pvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCByZXN1bHRbMF0uZmlsZW5hbWUpXTtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ3JlbGVhc2UnLCAnY3JlYXRlJywgbmV3VmVyc2lvbiwgLi4uZmlsZVBhdGhzLCAnLS10aXRsZScsIGB2JHtuZXdWZXJzaW9ufWAsICctLW5vdGVzLWZpbGUnLCAnLSddLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzdGRpbjogYXdhaXQgZ2V0UmVsZWFzZU5vdGVzKG5ld1ZlcnNpb24pXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGNoYW5nZWxvZyBmaWxlIHdpdGggbmV3IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGNvbW1pdCBtZXNzYWdlcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBjdXJyZW50IGNoYW5nZWxvZywgYXBwZW5kcyBuZXcgZW50cmllcyBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uLFxuICogYW5kIHByb21wdHMgdGhlIHVzZXIgdG8gcmV2aWV3IHRoZSBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciB0byBiZSBhZGRlZCB0byB0aGUgY2hhbmdlbG9nLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY2hhbmdlbG9nIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUNoYW5nZWxvZyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2hhbmdlbG9nUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kKTtcbiAgbGV0IHByZXZpb3VzQ2hhbmdlbG9nTGluZXM6IHN0cmluZ1tdO1xuICBpZiAoIWV4aXN0c1N5bmMoY2hhbmdlbG9nUGF0aCkpIHtcbiAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzID0gW107XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGNoYW5nZWxvZ1BhdGgsICd1dGYtOCcpO1xuICAgIHByZXZpb3VzQ2hhbmdlbG9nTGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKS5zbGljZSgyKTtcbiAgICBpZiAocHJldmlvdXNDaGFuZ2Vsb2dMaW5lcy5hdCgtMSkgPT09ICcnKSB7XG4gICAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxhc3RUYWcgPSByZXBsYWNlQWxsKHByZXZpb3VzQ2hhbmdlbG9nTGluZXNbMF0gPz8gJycsICcjIyAnLCAnJyk7XG4gIGNvbnN0IGNvbW1pdFJhbmdlID0gbGFzdFRhZyA/IGAke2xhc3RUYWd9Li5IRUFEYCA6ICdIRUFEJztcbiAgY29uc3QgY29tbWl0TWVzc2FnZXNTdHIgPSBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCBsb2cgJHtjb21taXRSYW5nZX0gLS1mb3JtYXQ9JUIgLS1maXJzdC1wYXJlbnQgLXpgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IGNvbW1pdE1lc3NhZ2VzID0gY29tbWl0TWVzc2FnZXNTdHIuc3BsaXQoJ1xcMCcpLmZpbHRlcihCb29sZWFuKS5tYXAodG9TaW5nbGVMaW5lKTtcblxuICBsZXQgbmV3Q2hhbmdlTG9nID0gYCMgQ0hBTkdFTE9HXFxuXFxuIyMgJHtuZXdWZXJzaW9ufVxcblxcbmA7XG5cbiAgZm9yIChjb25zdCBtZXNzYWdlIG9mIGNvbW1pdE1lc3NhZ2VzKSB7XG4gICAgbmV3Q2hhbmdlTG9nICs9IGAtICR7bWVzc2FnZX1cXG5gO1xuICB9XG5cbiAgaWYgKHByZXZpb3VzQ2hhbmdlbG9nTGluZXMubGVuZ3RoID4gMCkge1xuICAgIG5ld0NoYW5nZUxvZyArPSAnXFxuJztcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgcHJldmlvdXNDaGFuZ2Vsb2dMaW5lcykge1xuICAgICAgbmV3Q2hhbmdlTG9nICs9IGAke2xpbmV9XFxuYDtcbiAgICB9XG4gIH1cblxuICBhd2FpdCB3cml0ZUZpbGUoY2hhbmdlbG9nUGF0aCwgbmV3Q2hhbmdlTG9nLCAndXRmLTgnKTtcblxuICBjb25zdCBjb2RlVmVyc2lvbiA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnY29kZSAtLXZlcnNpb24nLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgX2RlYnVnZ2VyID0gZ2V0TGliRGVidWdnZXIoJ1ZlcnNpb24nKTtcbiAgaWYgKCFjb2RlVmVyc2lvbikge1xuICAgIF9kZWJ1Z2dlcignQ291bGQgbm90IGZpbmQgVmlzdWFsIFN0dWRpbyBDb2RlIGluIHlvdXIgUEFUSC4gVXNpbmcgY29uc29sZSBtb2RlIGluc3RlYWQuJyk7XG4gICAgYXdhaXQgY3JlYXRlSW50ZXJmYWNlKHByb2Nlc3Muc3RkaW4sIHByb2Nlc3Muc3Rkb3V0KS5xdWVzdGlvbihcbiAgICAgIGBQbGVhc2UgdXBkYXRlIHRoZSAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kfSBmaWxlLiBQcmVzcyBFbnRlciB3aGVuIHlvdSBhcmUgZG9uZS4uLmBcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIF9kZWJ1Z2dlcihgUGxlYXNlIHVwZGF0ZSB0aGUgJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZH0gZmlsZS4gQ2xvc2UgVmlzdWFsIFN0dWRpbyBDb2RlIHdoZW4geW91IGFyZSBkb25lLi4uYCk7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnY29kZScsICctdycsIGNoYW5nZWxvZ1BhdGhdLCB7XG4gICAgICBpc1F1aWV0OiB0cnVlLFxuICAgICAgc2hvdWxkSWdub3JlRXhpdENvZGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHZlcnNpb24gb2YgdGhlIHByb2plY3QgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB1cGRhdGUgdHlwZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIGEgc2VyaWVzIG9mIHRhc2tzIHRvIGhhbmRsZSB2ZXJzaW9uIHVwZGF0ZXM6XG4gKiAxLiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUuXG4gKiAyLiBDaGVja3MgaWYgR2l0IGFuZCBHaXRIdWIgQ0xJIGFyZSBpbnN0YWxsZWQuXG4gKiAzLiBWZXJpZmllcyB0aGF0IHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbi5cbiAqIDQuIFJ1bnMgc3BlbGxjaGVjayBhbmQgbGludGluZy5cbiAqIDUuIEJ1aWxkcyB0aGUgcHJvamVjdC5cbiAqIDYuIFVwZGF0ZXMgdmVyc2lvbiBpbiBmaWxlcyBhbmQgY2hhbmdlbG9nLlxuICogNy4gQWRkcyB1cGRhdGVkIGZpbGVzIHRvIEdpdCwgdGFncyB0aGUgY29tbWl0LCBhbmQgcHVzaGVzIHRvIHRoZSByZXBvc2l0b3J5LlxuICogOC4gSWYgYW4gT2JzaWRpYW4gcGx1Z2luLCBjb3BpZXMgdGhlIHVwZGF0ZWQgbWFuaWZlc3QgYW5kIHB1Ymxpc2hlcyBhIEdpdEh1YiByZWxlYXNlLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSB0eXBlIG9mIHZlcnNpb24gdXBkYXRlIHRvIHBlcmZvcm0gKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIHgueS56Wy1iZXRhOnVdKS5cbiAqIEBwYXJhbSBwcmVwYXJlR2l0SHViUmVsZWFzZSAtIEEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gcHJlcGFyZSB0aGUgR2l0SHViIHJlbGVhc2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB2ZXJzaW9uIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGU/OiBzdHJpbmcsIHByZXBhcmVHaXRIdWJSZWxlYXNlPzogKG5ld1ZlcnNpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXZlcnNpb25VcGRhdGVUeXBlKSB7XG4gICAgY29uc3QgbnBtT2xkVmVyc2lvbiA9IHByb2Nlc3MuZW52WyducG1fb2xkX3ZlcnNpb24nXTtcbiAgICBjb25zdCBucG1OZXdWZXJzaW9uID0gcHJvY2Vzcy5lbnZbJ25wbV9uZXdfdmVyc2lvbiddO1xuXG4gICAgaWYgKG5wbU9sZFZlcnNpb24gJiYgbnBtTmV3VmVyc2lvbikge1xuICAgICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobnBtT2xkVmVyc2lvbik7XG4gICAgICBhd2FpdCB1cGRhdGVWZXJzaW9uKG5wbU5ld1ZlcnNpb24sIHByZXBhcmVHaXRIdWJSZWxlYXNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZlcnNpb24gdXBkYXRlIHR5cGUgcHJvdmlkZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGlzT2JzaWRpYW5QbHVnaW4gPSBleGlzdHNTeW5jKHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbikpO1xuXG4gIHZhbGlkYXRlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgY2hlY2tHaXRJbnN0YWxsZWQoKTtcbiAgYXdhaXQgY2hlY2tHaXRSZXBvQ2xlYW4oKTtcbiAgYXdhaXQgY2hlY2tHaXRIdWJDbGlJbnN0YWxsZWQoKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnZm9ybWF0OmNoZWNrJyk7XG4gIGF3YWl0IHJ1bkNvbW1hbmQoJ3NwZWxsY2hlY2snKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnYnVpbGQnKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnbGludCcpO1xuXG4gIGNvbnN0IG5ld1ZlcnNpb24gPSBhd2FpdCBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobmV3VmVyc2lvbik7XG4gIGlmIChpc09ic2lkaWFuUGx1Z2luKSB7XG4gICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXNGb3JQbHVnaW4obmV3VmVyc2lvbik7XG4gIH1cblxuICBpZiAoZ2V0VmVyc2lvblVwZGF0ZVR5cGUodmVyc2lvblVwZGF0ZVR5cGUpICE9PSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhKSB7XG4gICAgYXdhaXQgdXBkYXRlQ2hhbmdlbG9nKG5ld1ZlcnNpb24pO1xuICB9XG5cbiAgYXdhaXQgYWRkVXBkYXRlZEZpbGVzVG9HaXQobmV3VmVyc2lvbik7XG4gIGF3YWl0IGFkZEdpdFRhZyhuZXdWZXJzaW9uKTtcbiAgYXdhaXQgZ2l0UHVzaCgpO1xuICBhd2FpdCBwcmVwYXJlR2l0SHViUmVsZWFzZT8uKG5ld1ZlcnNpb24pO1xuICBhd2FpdCBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uLCBpc09ic2lkaWFuUGx1Z2luKTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB2ZXJzaW9uIGluIHZhcmlvdXMgZmlsZXMsIGluY2x1ZGluZyBgcGFja2FnZS5qc29uYCwgYHBhY2thZ2UtbG9jay5qc29uYCxcbiAqIGFuZCBPYnNpZGlhbiBwbHVnaW4gbWFuaWZlc3RzIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gc3RyaW5nIHRvIHVwZGF0ZSBpbiB0aGUgZmlsZXMuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlZGl0UGFja2FnZUpzb24oKHBhY2thZ2VKc29uKSA9PiB7XG4gICAgcGFja2FnZUpzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gIH0pO1xuXG4gIGF3YWl0IGVkaXRQYWNrYWdlTG9ja0pzb24odXBkYXRlLCB7IHNob3VsZFNraXBJZk1pc3Npbmc6IHRydWUgfSk7XG4gIGF3YWl0IGVkaXROcG1TaHJpbmtXcmFwSnNvbih1cGRhdGUsIHsgc2hvdWxkU2tpcElmTWlzc2luZzogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiB1cGRhdGUocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pOiB2b2lkIHtcbiAgICBwYWNrYWdlTG9ja0pzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gICAgY29uc3QgZGVmYXVsdFBhY2thZ2UgPSBwYWNrYWdlTG9ja0pzb24ucGFja2FnZXM/LlsnJ107XG4gICAgaWYgKGRlZmF1bHRQYWNrYWdlKSB7XG4gICAgICBkZWZhdWx0UGFja2FnZS52ZXJzaW9uID0gbmV3VmVyc2lvbjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gZW5zdXJlIGl0IGlzIGVpdGhlciBhIHJlY29nbml6ZWQgdHlwZVxuICogb3IgYSB2YWxpZCBtYW51YWwgdmVyc2lvbiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gdmFsaWRhdGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZSh2ZXJzaW9uVXBkYXRlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChnZXRWZXJzaW9uVXBkYXRlVHlwZSh2ZXJzaW9uVXBkYXRlVHlwZSkgPT09IFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiB1cGRhdGUgdHlwZS4gUGxlYXNlIHVzZSBcXCdtYWpvclxcJywgXFwnbWlub3JcXCcsIFxcJ3BhdGNoXFwnLCBvciBcXCd4Lnkuelstc3VmZml4XVxcJyBmb3JtYXQuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbiBmcm9tIHRoZSBHaXRIdWIgcmVsZWFzZXMgQVBJLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0TGF0ZXN0T2JzaWRpYW5WZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvb2JzaWRpYW5tZC9vYnNpZGlhbi1yZWxlYXNlcy9yZWxlYXNlcy9sYXRlc3QnKTtcbiAgY29uc3Qgb2JzaWRpYW5SZWxlYXNlc0pzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMgUGFydGlhbDxPYnNpZGlhblJlbGVhc2VzSnNvbj47XG4gIHJldHVybiBvYnNpZGlhblJlbGVhc2VzSnNvbi5uYW1lID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBuYW1lIG9mIHRoZSBsYXRlc3QgT2JzaWRpYW4gcmVsZWFzZScpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuQ29tbWFuZChjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgaXNLbm93bkNvbW1hbmQgPSBPYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5zY3JpcHRzID8/IHt9KS5pbmNsdWRlcyhjb21tYW5kKTtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3J1bicsIC4uLihpc0tub3duQ29tbWFuZCA/IFtdIDogWydvYnNpZGlhbi1kZXYtdXRpbHMnXSksIGNvbW1hbmRdKTtcbn1cblxuZnVuY3Rpb24gdG9TaW5nbGVMaW5lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBzdHIuc3BsaXQoL1xccj9cXG4vKS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiBsaW5lcy5qb2luKCcgJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzRm9yUGx1Z2luKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBsYXRlc3RPYnNpZGlhblZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RPYnNpZGlhblZlcnNpb24oKTtcblxuICBhd2FpdCBlZGl0SnNvbjxNYW5pZmVzdD4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uLCAobWFuaWZlc3QpID0+IHtcbiAgICBtYW5pZmVzdC5taW5BcHBWZXJzaW9uID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICAgIG1hbmlmZXN0LnZlcnNpb24gPSBuZXdWZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBlZGl0SnNvbjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5WZXJzaW9uc0pzb24sICh2ZXJzaW9ucykgPT4ge1xuICAgIHZlcnNpb25zW25ld1ZlcnNpb25dID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBjb3B5VXBkYXRlZE1hbmlmZXN0KCk7XG59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QSxFQUNoRDtBQUVBLE1BQUkscUJBQXFCLGlCQUFpQixNQUFNLG1CQUF3QjtBQUN0RSxVQUFNLGdCQUFnQixVQUFVO0FBQUEsRUFDbEM7QUFFQSxRQUFNLHFCQUFxQixVQUFVO0FBQ3JDLFFBQU0sVUFBVSxVQUFVO0FBQzFCLFFBQU0sUUFBUTtBQUNkLFFBQU0sdUJBQXVCLFVBQVU7QUFDdkMsUUFBTSxxQkFBcUIsWUFBWSxnQkFBZ0I7QUFDekQ7QUFTQSxlQUFzQixxQkFBcUIsWUFBbUM7QUFDNUUsWUFBTSw0QkFBZ0IsQ0FBQyxnQkFBZ0I7QUFDckMsZ0JBQVksVUFBVTtBQUFBLEVBQ3hCLENBQUM7QUFFRCxZQUFNLGdDQUFvQixRQUFRLEVBQUUscUJBQXFCLEtBQUssQ0FBQztBQUMvRCxZQUFNLGtDQUFzQixRQUFRLEVBQUUscUJBQXFCLEtBQUssQ0FBQztBQUVqRSxXQUFTLE9BQU8saUJBQXdDO0FBQ3RELG9CQUFnQixVQUFVO0FBQzFCLFVBQU0saUJBQWlCLGdCQUFnQixXQUFXLEVBQUU7QUFDcEQsUUFBSSxnQkFBZ0I7QUFDbEIscUJBQWUsVUFBVTtBQUFBLElBQzNCO0FBQUEsRUFDRjtBQUNGO0FBU08sU0FBUyxTQUFTLG1CQUFpQztBQUN4RCxNQUFJLHFCQUFxQixpQkFBaUIsTUFBTSx5QkFBMkI7QUFDekUsVUFBTSxJQUFJLE1BQU0sZ0dBQXdHO0FBQUEsRUFDMUg7QUFDRjtBQU9BLGVBQWUsMkJBQTRDO0FBQ3pELFFBQU0sV0FBVyxNQUFNLE1BQU0sMkVBQTJFO0FBQ3hHLFFBQU0sdUJBQXVCLE1BQU0sU0FBUyxLQUFLO0FBQ2pELFNBQU8scUJBQXFCLFlBQVEsOEJBQWdCLElBQUksTUFBTSx3REFBd0QsQ0FBQztBQUN6SDtBQUVBLGVBQWUsV0FBVyxTQUFnQztBQUN4RCxRQUFNLGNBQWMsVUFBTSw0QkFBZ0I7QUFDMUMsUUFBTSxpQkFBaUIsT0FBTyxLQUFLLFlBQVksV0FBVyxDQUFDLENBQUMsRUFBRSxTQUFTLE9BQU87QUFDOUUsWUFBTSwwQkFBYSxDQUFDLE9BQU8sT0FBTyxHQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBSSxPQUFPLENBQUM7QUFDL0Y7QUFFQSxTQUFTLGFBQWEsS0FBcUI7QUFDekMsUUFBTSxRQUFRLElBQUksTUFBTSxPQUFPLEVBQUUsT0FBTyxPQUFPO0FBQy9DLFNBQU8sTUFBTSxLQUFLLEdBQUc7QUFDdkI7QUFFQSxlQUFlLDhCQUE4QixZQUFtQztBQUM5RSxRQUFNLHdCQUF3QixNQUFNLHlCQUF5QjtBQUU3RCxZQUFNLHNCQUFtQix1REFBd0IsY0FBYyxDQUFDLGFBQWE7QUFDM0UsYUFBUyxnQkFBZ0I7QUFDekIsYUFBUyxVQUFVO0FBQUEsRUFDckIsQ0FBQztBQUVELFlBQU0sc0JBQWlDLHVEQUF3QixjQUFjLENBQUMsYUFBYTtBQUN6RixhQUFTLFVBQVUsSUFBSTtBQUFBLEVBQ3pCLENBQUM7QUFFRCxRQUFNLG9CQUFvQjtBQUM1QjsiLAogICJuYW1lcyI6IFsiVmVyc2lvblVwZGF0ZVR5cGUiXQp9Cg==
package/dist/lib/url.cjs CHANGED
@@ -3,11 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
-
8
- (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
-
10
- (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
6
+ (function init(){const windowRecord=window;if(!windowRecord["__name"]){windowRecord["__name"]=name}if(!window.process){window.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}}if(!windowRecord["__requirePatched"]){const originalRequire=window.require;window.require=Object.assign(id=>requirePatched(id,originalRequire),originalRequire);windowRecord["__requirePatched"]=true}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id,originalRequire){const module=originalRequire(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return window.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
11
7
 
12
8
  "use strict";
13
9
  var __defProp = Object.defineProperty;
@@ -50,4 +46,4 @@ function isUrl(str) {
50
46
  0 && (module.exports = {
51
47
  isUrl
52
48
  });
53
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3VybC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdXJsXG4gKiBDb250YWlucyBhIHV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgVVJMcy5cbiAqL1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhIHZhbGlkIFVSTFxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHZhbGlkYXRlIGFzIGEgVVJMLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBVUkwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVcmwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBpZiAoIXN0ci5pbmNsdWRlcygnOi8vJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHN0ci50cmltKCkgIT09IHN0cikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBuZXcgVVJMKHN0cik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV08sU0FBUyxNQUFNLEtBQXNCO0FBQzFDLE1BQUk7QUFDRixRQUFJLENBQUMsSUFBSSxTQUFTLEtBQUssR0FBRztBQUN4QixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksSUFBSSxLQUFLLE1BQU0sS0FBSztBQUN0QixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksSUFBSSxHQUFHO0FBQ1gsV0FBTztBQUFBLEVBQ1QsUUFBUTtBQUNOLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
49
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3VybC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdXJsXG4gKiBDb250YWlucyBhIHV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgVVJMcy5cbiAqL1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhIHZhbGlkIFVSTFxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHZhbGlkYXRlIGFzIGEgVVJMLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBVUkwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVcmwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBpZiAoIXN0ci5pbmNsdWRlcygnOi8vJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHN0ci50cmltKCkgIT09IHN0cikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBuZXcgVVJMKHN0cik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXTyxTQUFTLE1BQU0sS0FBc0I7QUFDMUMsTUFBSTtBQUNGLFFBQUksQ0FBQyxJQUFJLFNBQVMsS0FBSyxHQUFHO0FBQ3hCLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxJQUFJLEtBQUssTUFBTSxLQUFLO0FBQ3RCLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxJQUFJLEdBQUc7QUFDWCxXQUFPO0FBQUEsRUFDVCxRQUFRO0FBQ04sV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "16.5.0",
3
+ "version": "16.6.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "keywords": [
6
6
  "obsidian"