@mnaoumov/obsidian-dev-toolkit 3.2.0 → 3.2.1

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 (87) hide show
  1. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +1 -75
  2. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +3 -77
  3. package/dist/lib/cjs/bundlers/esbuild-impl/feature-options.cjs +1 -75
  4. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +1 -75
  5. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +1 -75
  6. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +1 -75
  7. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +3 -76
  8. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
  9. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +1 -75
  10. package/dist/lib/cjs/bundlers/esbuild.cjs +1 -75
  11. package/dist/lib/cjs/bundlers/index.cjs +1 -75
  12. package/dist/lib/cjs/bundlers/obsidian-cli-reload.cjs +1 -75
  13. package/dist/lib/cjs/bundlers/obsidian-plugin-build.cjs +1 -75
  14. package/dist/lib/cjs/bundlers/obsidian-plugin-features.cjs +1 -75
  15. package/dist/lib/cjs/bundlers/obsidian-plugin-transforms.cjs +1 -75
  16. package/dist/lib/cjs/bundlers/obsidian-plugin-webpack-loader.cjs +1 -75
  17. package/dist/lib/cjs/bundlers/obsidian-plugins-folder-deployment.cjs +32 -85
  18. package/dist/lib/cjs/bundlers/parcel.cjs +112 -81
  19. package/dist/lib/cjs/bundlers/parcel.d.cts +13 -6
  20. package/dist/lib/cjs/bundlers/rollup-compatible-features.cjs +1 -75
  21. package/dist/lib/cjs/bundlers/rollup-compatible.cjs +1 -75
  22. package/dist/lib/cjs/bundlers/rollup.cjs +1 -75
  23. package/dist/lib/cjs/bundlers/vite.cjs +1 -75
  24. package/dist/lib/cjs/bundlers/webpack.cjs +3 -77
  25. package/dist/lib/cjs/demo-vault-app-json.cjs +1 -75
  26. package/dist/lib/cjs/demo-vault-buttons.cjs +1 -75
  27. package/dist/lib/cjs/demo-vault-cli.cjs +1 -75
  28. package/dist/lib/cjs/demo-vault-coverage.cjs +1 -75
  29. package/dist/lib/cjs/demo-vault.cjs +3 -77
  30. package/dist/lib/cjs/docs-site/index.cjs +1 -75
  31. package/dist/lib/cjs/docs-site/obsidian-external-type-links.cjs +1 -75
  32. package/dist/lib/cjs/formatters/dprint.cjs +1 -75
  33. package/dist/lib/cjs/formatters/index.cjs +1 -75
  34. package/dist/lib/cjs/index.cjs +1 -75
  35. package/dist/lib/cjs/integration-test-setup.cjs +1 -75
  36. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +1 -75
  37. package/dist/lib/cjs/jest-setup.cjs +1 -75
  38. package/dist/lib/cjs/linters/eslint-config.cjs +1 -75
  39. package/dist/lib/cjs/linters/eslint-rules/index.cjs +1 -75
  40. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +1 -75
  41. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +1 -75
  42. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +1 -75
  43. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +1 -75
  44. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +1 -75
  45. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +1 -75
  46. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +2 -77
  47. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +1 -75
  48. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.cjs +1 -75
  49. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +1 -75
  50. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +1 -75
  51. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +1 -75
  52. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +1 -75
  53. package/dist/lib/cjs/linters/eslint.cjs +1 -75
  54. package/dist/lib/cjs/linters/index.cjs +1 -75
  55. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +1 -75
  56. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +1 -75
  57. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +1 -75
  58. package/dist/lib/cjs/linters/markdownlint.cjs +1 -75
  59. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +1 -75
  60. package/dist/lib/cjs/linters/plugin-names.cjs +1 -75
  61. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +1 -75
  62. package/dist/lib/cjs/setup.cjs +1 -75
  63. package/dist/lib/cjs/templates.cjs +3 -77
  64. package/dist/lib/cjs/test-runners/coverage-badge-cli.cjs +1 -75
  65. package/dist/lib/cjs/test-runners/coverage-badge.cjs +1 -75
  66. package/dist/lib/cjs/test-runners/e2e-runner-support.cjs +1 -75
  67. package/dist/lib/cjs/test-runners/index.cjs +1 -75
  68. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +3 -77
  69. package/dist/lib/cjs/test-runners/jest-config.cjs +1 -75
  70. package/dist/lib/cjs/test-runners/obsidian-test-runner.cjs +1 -75
  71. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +4 -75
  72. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +12 -3
  73. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +1 -75
  74. package/dist/lib/cjs/test-runners/vitest-config.cjs +4 -80
  75. package/dist/lib/cjs/test-runners/wdio-obsidian.cjs +1 -75
  76. package/dist/lib/cjs/version.cjs +1 -75
  77. package/dist/lib/cjs/vitest-setup.cjs +1 -75
  78. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  79. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +3 -2
  80. package/dist/lib/esm/bundlers/obsidian-plugins-folder-deployment.mjs +32 -15
  81. package/dist/lib/esm/bundlers/parcel.d.mts +13 -6
  82. package/dist/lib/esm/bundlers/parcel.mjs +110 -5
  83. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +2 -2
  84. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +12 -3
  85. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +3 -1
  86. package/dist/lib/esm/test-runners/vitest-config.mjs +4 -5
  87. package/package.json +2 -1
@@ -29,80 +29,6 @@ function ensureBrowserProcess() {
29
29
 
30
30
  ensureBrowserProcess();
31
31
  })();
32
- (function patchObsidianRequire() {
33
- const originalRequire = require;
34
- if (!originalRequire || originalRequire.__isPatched) {
35
- return;
36
- }
37
-
38
- require = Object.assign(
39
- (id) => requirePatched(id),
40
- originalRequire,
41
- {
42
- __isPatched: true
43
- }
44
- );
45
-
46
- function extractDefault(module) {
47
- return module && module.__esModule && 'default' in module ? module.default : module;
48
- }
49
-
50
- const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
51
- '@codemirror/autocomplete',
52
- '@codemirror/collab',
53
- '@codemirror/commands',
54
- '@codemirror/language',
55
- '@codemirror/lint',
56
- '@codemirror/search',
57
- '@codemirror/state',
58
- '@codemirror/text',
59
- '@codemirror/view',
60
- '@lezer/common',
61
- '@lezer/highlight',
62
- '@lezer/lr',
63
- 'obsidian']
64
- );
65
-
66
- const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
67
- '@codemirror/closebrackets',
68
- '@codemirror/comment',
69
- '@codemirror/fold',
70
- '@codemirror/gutter',
71
- '@codemirror/highlight',
72
- '@codemirror/history',
73
- '@codemirror/matchbrackets',
74
- '@codemirror/panel',
75
- '@codemirror/rangeset',
76
- '@codemirror/rectangular-selection',
77
- '@codemirror/stream-parser',
78
- '@codemirror/tooltip']
79
- );
80
-
81
- function requirePatched(id) {
82
- if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
83
- return originalRequire?.(id);
84
- }
85
-
86
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
87
- if (globalThis.app.isMobile) {
88
- if (id === 'process' || id === 'node:process') {
89
- // eslint-disable-next-line no-console -- Valid usage.
90
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
91
-
92
- return process;
93
- }
94
- } else {
95
- const module = originalRequire?.(id);
96
- if (module) {
97
- return extractDefault(module);
98
- }
99
- }
100
-
101
- // eslint-disable-next-line no-console -- Valid usage.
102
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
103
- return {};
104
- }
105
- })();
106
32
 
107
33
  "use strict";
108
34
  var __defProp = Object.defineProperty;
@@ -179,4 +105,4 @@ ${OBSIDIAN_CLI_SETUP_HINT}`);
179
105
  OBSIDIAN_CLI_COMMAND,
180
106
  reloadPluginWithObsidianCli
181
107
  });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9vYnNpZGlhbi1jbGktcmVsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBSZWxvYWRzIGEgZGVwbG95ZWQgZGV2ZWxvcG1lbnQgYnVpbGQgdGhyb3VnaCB0aGUgT2JzaWRpYW4gQ0xJIChgb2JzaWRpYW5gLCBPYnNpZGlhbiAxLjEyIGFuZCBsYXRlciksIGluIHRoZVxuICogT2JzaWRpYW4gdGhlIGRldmVsb3BlciBhbHJlYWR5IGhhcyBvcGVuLiBJdCBpcyB0aGUgYHJlbG9hZDogJ29ic2lkaWFuLWNsaSdgIGhhbGYgb2ZcbiAqIGBvYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1kZXBsb3ltZW50LnRzYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEV4ZWNSZXN1bHQgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9leGVjJztcblxuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2V4ZWMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZWxvYWRQbHVnaW5XaXRoT2JzaWRpYW5DbGl9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbG9hZFBsdWdpbldpdGhPYnNpZGlhbkNsaVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGlkLCBmcm9tIGl0cyBgbWFuaWZlc3QuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQncyBuYW1lIGFzIE9ic2lkaWFuIGtub3dzIGl0LCB3aGljaCBpcyB0aGUgbmFtZSBvZiB0aGUgdmF1bHQncyBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSB2YXVsdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY29tbWFuZCB0aGUgT2JzaWRpYW4gQ0xJIGlzIHJ1biBhcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0NMSV9DT01NQU5EID0gJ29ic2lkaWFuJztcblxuY29uc3QgT0JTSURJQU5fQ0xJX1NFVFVQX0hJTlQgPSAnVHVybiB0aGUgT2JzaWRpYW4gQ0xJIG9uIGluIE9ic2lkaWFuIChTZXR0aW5ncyDihpIgR2VuZXJhbCDihpIgQ29tbWFuZCBsaW5lIGludGVyZmFjZSksIG1ha2Ugc3VyZSAnXG4gICsgYFxcYCR7T0JTSURJQU5fQ0xJX0NPTU1BTkR9XFxgIGlzIG9uIFBBVEgsIGFuZCBrZWVwIE9ic2lkaWFuIHJ1bm5pbmcuIE9yIGJ1aWxkIHdpdGggXFxgcmVsb2FkOiAnaG90LXJlbG9hZC1wbHVnaW4nXFxgIGluc3RlYWQuYDtcblxuLyoqXG4gKiBSZWxvYWRzIGEgcGx1Z2luIGluIHRoZSBydW5uaW5nIE9ic2lkaWFuIHRocm91Z2ggdGhlIE9ic2lkaWFuIENMSSwgZW5hYmxpbmcgaXQgZmlyc3Qgd2hlbiBPYnNpZGlhbiBkb2VzIG5vdFxuICoga25vdyBpdCB5ZXQuXG4gKlxuICogVGhlIENMSSBleGl0cyB3aXRoIGNvZGUgMCBldmVuIHdoZW4gdGhlIGNvbW1hbmQgZmFpbGVkLCBhbmQgc2F5cyBzbyBpbiBpdHMgb3V0cHV0IChgVmF1bHQgbm90IGZvdW5kLmAsXG4gKiBgRXJyb3I6IC4uLmApLCBzbyB0aGUgb3V0cHV0IGlzIHdoYXQgaXMgY2hlY2tlZC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZWxvYWRQbHVnaW5XaXRoT2JzaWRpYW5DbGlQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBwbHVnaW4gaXMgcmVsb2FkZWQuXG4gKiBAdGhyb3dzIFdoZW4gdGhlIENMSSBjYW5ub3QgYmUgcnVuLCBvciByZXBvcnRzIGEgZmFpbHVyZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbG9hZFBsdWdpbldpdGhPYnNpZGlhbkNsaShwYXJhbXM6IFJlbG9hZFBsdWdpbldpdGhPYnNpZGlhbkNsaVBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBsdWdpbklkLCB2YXVsdE5hbWUgfSA9IHBhcmFtcztcbiAgY29uc3QgcmVsb2FkT3V0cHV0ID0gYXdhaXQgcnVuT2JzaWRpYW5DbGkoW2B2YXVsdD0ke3ZhdWx0TmFtZX1gLCAncGx1Z2luOnJlbG9hZCcsIGBpZD0ke3BsdWdpbklkfWBdKTtcbiAgaWYgKCFpc1BsdWdpbk5vdEZvdW5kT3V0cHV0KHJlbG9hZE91dHB1dCkpIHtcbiAgICBhc3NlcnRPYnNpZGlhbkNsaVN1Y2NlZWRlZChyZWxvYWRPdXRwdXQsIGByZWxvYWQgcGx1Z2luICcke3BsdWdpbklkfScgaW4gdmF1bHQgJyR7dmF1bHROYW1lfSdgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBlbmFibGVPdXRwdXQgPSBhd2FpdCBydW5PYnNpZGlhbkNsaShbYHZhdWx0PSR7dmF1bHROYW1lfWAsICdldmFsJywgYGNvZGU9JHtnZXRFbmFibGVOZXdQbHVnaW5Db2RlKHBsdWdpbklkKX1gXSk7XG4gIGFzc2VydE9ic2lkaWFuQ2xpU3VjY2VlZGVkKGVuYWJsZU91dHB1dCwgYGVuYWJsZSBuZXcgcGx1Z2luICcke3BsdWdpbklkfScgaW4gdmF1bHQgJyR7dmF1bHROYW1lfSdgKTtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0T2JzaWRpYW5DbGlTdWNjZWVkZWQob3V0cHV0OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChvdXRwdXQgPT09ICdWYXVsdCBub3QgZm91bmQuJyB8fCBvdXRwdXQuc3RhcnRzV2l0aCgnRXJyb3I6JykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBPYnNpZGlhbiBDTEkgY291bGQgbm90ICR7YWN0aW9ufTogJHtvdXRwdXR9XFxuJHtPQlNJRElBTl9DTElfU0VUVVBfSElOVH1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRDb21tYW5kRmFpbHVyZShyZXN1bHQ6IEV4ZWNSZXN1bHQpOiBzdHJpbmcge1xuICByZXR1cm4gW3Jlc3VsdC5zdGRlcnIudHJpbSgpLCByZXN1bHQuc3Rkb3V0LnRyaW0oKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpIHx8IGBleGl0IGNvZGUgJHtTdHJpbmcocmVzdWx0LmV4aXRDb2RlKX1gO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgY29kZSB0aGF0IGxvYWRzIHRoZSBwbHVnaW4gbWFuaWZlc3RzIGZyb20gZGlzayBhbmQgZW5hYmxlcyB0aGUgcGx1Z2luLCBmb3IgYSBwbHVnaW4gT2JzaWRpYW4gaGFzIG5vdFxuICogc2VlbiB5ZXQ6IHRoZSBDTEkncyBgcGx1Z2luOnJlbG9hZGAgYW5kIGBwbHVnaW46ZW5hYmxlYCBib3RoIGFuc3dlciBgbm90IGZvdW5kYCB1bnRpbCB0aGUgbWFuaWZlc3RzIGFyZSByZS1yZWFkLFxuICogd2hpY2ggT2JzaWRpYW4gb3RoZXJ3aXNlIGRvZXMgb25seSB3aGVuIGl0cyBDb21tdW5pdHkgcGx1Z2lucyBzZXR0aW5ncyBhcmUgb3BlbmVkLlxuICpcbiAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gaWQuXG4gKiBAcmV0dXJucyBUaGUgY29kZSwgZm9yIHRoZSBDTEkncyBgZXZhbGAsIHdoaWNoIGF3YWl0cyB0aGUgcHJvbWlzZSBpdCBldmFsdWF0ZXMgdG8uXG4gKi9cbmZ1bmN0aW9uIGdldEVuYWJsZU5ld1BsdWdpbkNvZGUocGx1Z2luSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgYXBwLnBsdWdpbnMubG9hZE1hbmlmZXN0cygpLnRoZW4oKCkgPT4gYXBwLnBsdWdpbnMuZW5hYmxlUGx1Z2luQW5kU2F2ZSgke0pTT04uc3RyaW5naWZ5KHBsdWdpbklkKX0pKWA7XG59XG5cbmZ1bmN0aW9uIGlzUGx1Z2luTm90Rm91bmRPdXRwdXQob3V0cHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG91dHB1dC5zdGFydHNXaXRoKCdFcnJvcjogUGx1Z2luICcpICYmIG91dHB1dC5pbmNsdWRlcygnIG5vdCBmb3VuZCcpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBydW5PYnNpZGlhbkNsaShjbGlBcmd1bWVudHM6IHJlYWRvbmx5IHN0cmluZ1tdKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgbGV0IHJlc3VsdDogRXhlY1Jlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBleGVjKFtPQlNJRElBTl9DTElfQ09NTUFORCwgLi4uY2xpQXJndW1lbnRzXSwge1xuICAgICAgaXNRdWlldDogdHJ1ZSxcbiAgICAgIHNob3VsZElnbm9yZUV4aXRDb2RlOiB0cnVlLFxuICAgICAgc2hvdWxkSW5jbHVkZURldGFpbHM6IHRydWVcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBPYnNpZGlhbiBDTEkgKFxcYCR7T0JTSURJQU5fQ0xJX0NPTU1BTkR9XFxgKSBjb3VsZCBub3QgYmUgc3RhcnRlZC5cXG4ke09CU0lESUFOX0NMSV9TRVRVUF9ISU5UfWAsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgaWYgKHJlc3VsdC5leGl0Q29kZSAhPT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIE9ic2lkaWFuIENMSSAoXFxgJHtPQlNJRElBTl9DTElfQ09NTUFORH1cXGApIGZhaWxlZDogJHtmb3JtYXRDb21tYW5kRmFpbHVyZShyZXN1bHQpfVxcbiR7T0JTSURJQU5fQ0xJX1NFVFVQX0hJTlR9YCk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0LnN0ZG91dC50cmltKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQSxrQkFBcUI7QUFvQmQsTUFBTSx1QkFBdUI7QUFFcEMsTUFBTSwwQkFBMEIsNkdBQ3ZCLG9CQUFvQjtBQWE3QixlQUFzQiw0QkFBNEIsUUFBMEQ7QUFDMUcsUUFBTSxFQUFFLFVBQVUsVUFBVSxJQUFJO0FBQ2hDLFFBQU0sZUFBZSxNQUFNLGVBQWUsQ0FBQyxTQUFTLFNBQVMsSUFBSSxpQkFBaUIsTUFBTSxRQUFRLEVBQUUsQ0FBQztBQUNuRyxNQUFJLENBQUMsdUJBQXVCLFlBQVksR0FBRztBQUN6QywrQkFBMkIsY0FBYyxrQkFBa0IsUUFBUSxlQUFlLFNBQVMsR0FBRztBQUM5RjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLGVBQWUsTUFBTSxlQUFlLENBQUMsU0FBUyxTQUFTLElBQUksUUFBUSxRQUFRLHVCQUF1QixRQUFRLENBQUMsRUFBRSxDQUFDO0FBQ3BILDZCQUEyQixjQUFjLHNCQUFzQixRQUFRLGVBQWUsU0FBUyxHQUFHO0FBQ3BHO0FBRUEsU0FBUywyQkFBMkIsUUFBZ0IsUUFBc0I7QUFDeEUsTUFBSSxXQUFXLHNCQUFzQixPQUFPLFdBQVcsUUFBUSxHQUFHO0FBQ2hFLFVBQU0sSUFBSSxNQUFNLDhCQUE4QixNQUFNLEtBQUssTUFBTTtBQUFBLEVBQUssdUJBQXVCLEVBQUU7QUFBQSxFQUMvRjtBQUNGO0FBRUEsU0FBUyxxQkFBcUIsUUFBNEI7QUFDeEQsU0FBTyxDQUFDLE9BQU8sT0FBTyxLQUFLLEdBQUcsT0FBTyxPQUFPLEtBQUssQ0FBQyxFQUFFLE9BQU8sT0FBTyxFQUFFLEtBQUssSUFBSSxLQUFLLGFBQWEsT0FBTyxPQUFPLFFBQVEsQ0FBQztBQUN4SDtBQVVBLFNBQVMsdUJBQXVCLFVBQTBCO0FBQ3hELFNBQU8sMEVBQTBFLEtBQUssVUFBVSxRQUFRLENBQUM7QUFDM0c7QUFFQSxTQUFTLHVCQUF1QixRQUF5QjtBQUN2RCxTQUFPLE9BQU8sV0FBVyxnQkFBZ0IsS0FBSyxPQUFPLFNBQVMsWUFBWTtBQUM1RTtBQUVBLGVBQWUsZUFBZSxjQUFrRDtBQUM5RSxNQUFJO0FBQ0osTUFBSTtBQUNGLGFBQVMsVUFBTSxrQkFBSyxDQUFDLHNCQUFzQixHQUFHLFlBQVksR0FBRztBQUFBLE1BQzNELFNBQVM7QUFBQSxNQUNULHNCQUFzQjtBQUFBLE1BQ3RCLHNCQUFzQjtBQUFBLElBQ3hCLENBQUM7QUFBQSxFQUNILFNBQVMsT0FBTztBQUNkLFVBQU0sSUFBSSxNQUFNLHVCQUF1QixvQkFBb0I7QUFBQSxFQUE4Qix1QkFBdUIsSUFBSSxFQUFFLE9BQU8sTUFBTSxDQUFDO0FBQUEsRUFDdEk7QUFFQSxNQUFJLE9BQU8sYUFBYSxHQUFHO0FBQ3pCLFVBQU0sSUFBSSxNQUFNLHVCQUF1QixvQkFBb0IsZUFBZSxxQkFBcUIsTUFBTSxDQUFDO0FBQUEsRUFBSyx1QkFBdUIsRUFBRTtBQUFBLEVBQ3RJO0FBRUEsU0FBTyxPQUFPLE9BQU8sS0FBSztBQUM1QjsiLCJuYW1lcyI6W119
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9vYnNpZGlhbi1jbGktcmVsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBSZWxvYWRzIGEgZGVwbG95ZWQgZGV2ZWxvcG1lbnQgYnVpbGQgdGhyb3VnaCB0aGUgT2JzaWRpYW4gQ0xJIChgb2JzaWRpYW5gLCBPYnNpZGlhbiAxLjEyIGFuZCBsYXRlciksIGluIHRoZVxuICogT2JzaWRpYW4gdGhlIGRldmVsb3BlciBhbHJlYWR5IGhhcyBvcGVuLiBJdCBpcyB0aGUgYHJlbG9hZDogJ29ic2lkaWFuLWNsaSdgIGhhbGYgb2ZcbiAqIGBvYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1kZXBsb3ltZW50LnRzYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEV4ZWNSZXN1bHQgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9leGVjJztcblxuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2V4ZWMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZWxvYWRQbHVnaW5XaXRoT2JzaWRpYW5DbGl9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbG9hZFBsdWdpbldpdGhPYnNpZGlhbkNsaVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGlkLCBmcm9tIGl0cyBgbWFuaWZlc3QuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQncyBuYW1lIGFzIE9ic2lkaWFuIGtub3dzIGl0LCB3aGljaCBpcyB0aGUgbmFtZSBvZiB0aGUgdmF1bHQncyBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSB2YXVsdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY29tbWFuZCB0aGUgT2JzaWRpYW4gQ0xJIGlzIHJ1biBhcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0NMSV9DT01NQU5EID0gJ29ic2lkaWFuJztcblxuY29uc3QgT0JTSURJQU5fQ0xJX1NFVFVQX0hJTlQgPSAnVHVybiB0aGUgT2JzaWRpYW4gQ0xJIG9uIGluIE9ic2lkaWFuIChTZXR0aW5ncyDihpIgR2VuZXJhbCDihpIgQ29tbWFuZCBsaW5lIGludGVyZmFjZSksIG1ha2Ugc3VyZSAnXG4gICsgYFxcYCR7T0JTSURJQU5fQ0xJX0NPTU1BTkR9XFxgIGlzIG9uIFBBVEgsIGFuZCBrZWVwIE9ic2lkaWFuIHJ1bm5pbmcuIE9yIGJ1aWxkIHdpdGggXFxgcmVsb2FkOiAnaG90LXJlbG9hZC1wbHVnaW4nXFxgIGluc3RlYWQuYDtcblxuLyoqXG4gKiBSZWxvYWRzIGEgcGx1Z2luIGluIHRoZSBydW5uaW5nIE9ic2lkaWFuIHRocm91Z2ggdGhlIE9ic2lkaWFuIENMSSwgZW5hYmxpbmcgaXQgZmlyc3Qgd2hlbiBPYnNpZGlhbiBkb2VzIG5vdFxuICoga25vdyBpdCB5ZXQuXG4gKlxuICogVGhlIENMSSBleGl0cyB3aXRoIGNvZGUgMCBldmVuIHdoZW4gdGhlIGNvbW1hbmQgZmFpbGVkLCBhbmQgc2F5cyBzbyBpbiBpdHMgb3V0cHV0IChgVmF1bHQgbm90IGZvdW5kLmAsXG4gKiBgRXJyb3I6IC4uLmApLCBzbyB0aGUgb3V0cHV0IGlzIHdoYXQgaXMgY2hlY2tlZC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZWxvYWRQbHVnaW5XaXRoT2JzaWRpYW5DbGlQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBwbHVnaW4gaXMgcmVsb2FkZWQuXG4gKiBAdGhyb3dzIFdoZW4gdGhlIENMSSBjYW5ub3QgYmUgcnVuLCBvciByZXBvcnRzIGEgZmFpbHVyZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbG9hZFBsdWdpbldpdGhPYnNpZGlhbkNsaShwYXJhbXM6IFJlbG9hZFBsdWdpbldpdGhPYnNpZGlhbkNsaVBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBsdWdpbklkLCB2YXVsdE5hbWUgfSA9IHBhcmFtcztcbiAgY29uc3QgcmVsb2FkT3V0cHV0ID0gYXdhaXQgcnVuT2JzaWRpYW5DbGkoW2B2YXVsdD0ke3ZhdWx0TmFtZX1gLCAncGx1Z2luOnJlbG9hZCcsIGBpZD0ke3BsdWdpbklkfWBdKTtcbiAgaWYgKCFpc1BsdWdpbk5vdEZvdW5kT3V0cHV0KHJlbG9hZE91dHB1dCkpIHtcbiAgICBhc3NlcnRPYnNpZGlhbkNsaVN1Y2NlZWRlZChyZWxvYWRPdXRwdXQsIGByZWxvYWQgcGx1Z2luICcke3BsdWdpbklkfScgaW4gdmF1bHQgJyR7dmF1bHROYW1lfSdgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBlbmFibGVPdXRwdXQgPSBhd2FpdCBydW5PYnNpZGlhbkNsaShbYHZhdWx0PSR7dmF1bHROYW1lfWAsICdldmFsJywgYGNvZGU9JHtnZXRFbmFibGVOZXdQbHVnaW5Db2RlKHBsdWdpbklkKX1gXSk7XG4gIGFzc2VydE9ic2lkaWFuQ2xpU3VjY2VlZGVkKGVuYWJsZU91dHB1dCwgYGVuYWJsZSBuZXcgcGx1Z2luICcke3BsdWdpbklkfScgaW4gdmF1bHQgJyR7dmF1bHROYW1lfSdgKTtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0T2JzaWRpYW5DbGlTdWNjZWVkZWQob3V0cHV0OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChvdXRwdXQgPT09ICdWYXVsdCBub3QgZm91bmQuJyB8fCBvdXRwdXQuc3RhcnRzV2l0aCgnRXJyb3I6JykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBPYnNpZGlhbiBDTEkgY291bGQgbm90ICR7YWN0aW9ufTogJHtvdXRwdXR9XFxuJHtPQlNJRElBTl9DTElfU0VUVVBfSElOVH1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRDb21tYW5kRmFpbHVyZShyZXN1bHQ6IEV4ZWNSZXN1bHQpOiBzdHJpbmcge1xuICByZXR1cm4gW3Jlc3VsdC5zdGRlcnIudHJpbSgpLCByZXN1bHQuc3Rkb3V0LnRyaW0oKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpIHx8IGBleGl0IGNvZGUgJHtTdHJpbmcocmVzdWx0LmV4aXRDb2RlKX1gO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgY29kZSB0aGF0IGxvYWRzIHRoZSBwbHVnaW4gbWFuaWZlc3RzIGZyb20gZGlzayBhbmQgZW5hYmxlcyB0aGUgcGx1Z2luLCBmb3IgYSBwbHVnaW4gT2JzaWRpYW4gaGFzIG5vdFxuICogc2VlbiB5ZXQ6IHRoZSBDTEkncyBgcGx1Z2luOnJlbG9hZGAgYW5kIGBwbHVnaW46ZW5hYmxlYCBib3RoIGFuc3dlciBgbm90IGZvdW5kYCB1bnRpbCB0aGUgbWFuaWZlc3RzIGFyZSByZS1yZWFkLFxuICogd2hpY2ggT2JzaWRpYW4gb3RoZXJ3aXNlIGRvZXMgb25seSB3aGVuIGl0cyBDb21tdW5pdHkgcGx1Z2lucyBzZXR0aW5ncyBhcmUgb3BlbmVkLlxuICpcbiAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gaWQuXG4gKiBAcmV0dXJucyBUaGUgY29kZSwgZm9yIHRoZSBDTEkncyBgZXZhbGAsIHdoaWNoIGF3YWl0cyB0aGUgcHJvbWlzZSBpdCBldmFsdWF0ZXMgdG8uXG4gKi9cbmZ1bmN0aW9uIGdldEVuYWJsZU5ld1BsdWdpbkNvZGUocGx1Z2luSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgYXBwLnBsdWdpbnMubG9hZE1hbmlmZXN0cygpLnRoZW4oKCkgPT4gYXBwLnBsdWdpbnMuZW5hYmxlUGx1Z2luQW5kU2F2ZSgke0pTT04uc3RyaW5naWZ5KHBsdWdpbklkKX0pKWA7XG59XG5cbmZ1bmN0aW9uIGlzUGx1Z2luTm90Rm91bmRPdXRwdXQob3V0cHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG91dHB1dC5zdGFydHNXaXRoKCdFcnJvcjogUGx1Z2luICcpICYmIG91dHB1dC5pbmNsdWRlcygnIG5vdCBmb3VuZCcpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBydW5PYnNpZGlhbkNsaShjbGlBcmd1bWVudHM6IHJlYWRvbmx5IHN0cmluZ1tdKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgbGV0IHJlc3VsdDogRXhlY1Jlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBleGVjKFtPQlNJRElBTl9DTElfQ09NTUFORCwgLi4uY2xpQXJndW1lbnRzXSwge1xuICAgICAgaXNRdWlldDogdHJ1ZSxcbiAgICAgIHNob3VsZElnbm9yZUV4aXRDb2RlOiB0cnVlLFxuICAgICAgc2hvdWxkSW5jbHVkZURldGFpbHM6IHRydWVcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBPYnNpZGlhbiBDTEkgKFxcYCR7T0JTSURJQU5fQ0xJX0NPTU1BTkR9XFxgKSBjb3VsZCBub3QgYmUgc3RhcnRlZC5cXG4ke09CU0lESUFOX0NMSV9TRVRVUF9ISU5UfWAsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgaWYgKHJlc3VsdC5leGl0Q29kZSAhPT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIE9ic2lkaWFuIENMSSAoXFxgJHtPQlNJRElBTl9DTElfQ09NTUFORH1cXGApIGZhaWxlZDogJHtmb3JtYXRDb21tYW5kRmFpbHVyZShyZXN1bHQpfVxcbiR7T0JTSURJQU5fQ0xJX1NFVFVQX0hJTlR9YCk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0LnN0ZG91dC50cmltKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsa0JBQXFCO0FBb0JkLE1BQU0sdUJBQXVCO0FBRXBDLE1BQU0sMEJBQTBCLDZHQUN2QixvQkFBb0I7QUFhN0IsZUFBc0IsNEJBQTRCLFFBQTBEO0FBQzFHLFFBQU0sRUFBRSxVQUFVLFVBQVUsSUFBSTtBQUNoQyxRQUFNLGVBQWUsTUFBTSxlQUFlLENBQUMsU0FBUyxTQUFTLElBQUksaUJBQWlCLE1BQU0sUUFBUSxFQUFFLENBQUM7QUFDbkcsTUFBSSxDQUFDLHVCQUF1QixZQUFZLEdBQUc7QUFDekMsK0JBQTJCLGNBQWMsa0JBQWtCLFFBQVEsZUFBZSxTQUFTLEdBQUc7QUFDOUY7QUFBQSxFQUNGO0FBRUEsUUFBTSxlQUFlLE1BQU0sZUFBZSxDQUFDLFNBQVMsU0FBUyxJQUFJLFFBQVEsUUFBUSx1QkFBdUIsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUNwSCw2QkFBMkIsY0FBYyxzQkFBc0IsUUFBUSxlQUFlLFNBQVMsR0FBRztBQUNwRztBQUVBLFNBQVMsMkJBQTJCLFFBQWdCLFFBQXNCO0FBQ3hFLE1BQUksV0FBVyxzQkFBc0IsT0FBTyxXQUFXLFFBQVEsR0FBRztBQUNoRSxVQUFNLElBQUksTUFBTSw4QkFBOEIsTUFBTSxLQUFLLE1BQU07QUFBQSxFQUFLLHVCQUF1QixFQUFFO0FBQUEsRUFDL0Y7QUFDRjtBQUVBLFNBQVMscUJBQXFCLFFBQTRCO0FBQ3hELFNBQU8sQ0FBQyxPQUFPLE9BQU8sS0FBSyxHQUFHLE9BQU8sT0FBTyxLQUFLLENBQUMsRUFBRSxPQUFPLE9BQU8sRUFBRSxLQUFLLElBQUksS0FBSyxhQUFhLE9BQU8sT0FBTyxRQUFRLENBQUM7QUFDeEg7QUFVQSxTQUFTLHVCQUF1QixVQUEwQjtBQUN4RCxTQUFPLDBFQUEwRSxLQUFLLFVBQVUsUUFBUSxDQUFDO0FBQzNHO0FBRUEsU0FBUyx1QkFBdUIsUUFBeUI7QUFDdkQsU0FBTyxPQUFPLFdBQVcsZ0JBQWdCLEtBQUssT0FBTyxTQUFTLFlBQVk7QUFDNUU7QUFFQSxlQUFlLGVBQWUsY0FBa0Q7QUFDOUUsTUFBSTtBQUNKLE1BQUk7QUFDRixhQUFTLFVBQU0sa0JBQUssQ0FBQyxzQkFBc0IsR0FBRyxZQUFZLEdBQUc7QUFBQSxNQUMzRCxTQUFTO0FBQUEsTUFDVCxzQkFBc0I7QUFBQSxNQUN0QixzQkFBc0I7QUFBQSxJQUN4QixDQUFDO0FBQUEsRUFDSCxTQUFTLE9BQU87QUFDZCxVQUFNLElBQUksTUFBTSx1QkFBdUIsb0JBQW9CO0FBQUEsRUFBOEIsdUJBQXVCLElBQUksRUFBRSxPQUFPLE1BQU0sQ0FBQztBQUFBLEVBQ3RJO0FBRUEsTUFBSSxPQUFPLGFBQWEsR0FBRztBQUN6QixVQUFNLElBQUksTUFBTSx1QkFBdUIsb0JBQW9CLGVBQWUscUJBQXFCLE1BQU0sQ0FBQztBQUFBLEVBQUssdUJBQXVCLEVBQUU7QUFBQSxFQUN0STtBQUVBLFNBQU8sT0FBTyxPQUFPLEtBQUs7QUFDNUI7IiwibmFtZXMiOltdfQ==
@@ -29,80 +29,6 @@ function ensureBrowserProcess() {
29
29
 
30
30
  ensureBrowserProcess();
31
31
  })();
32
- (function patchObsidianRequire() {
33
- const originalRequire = require;
34
- if (!originalRequire || originalRequire.__isPatched) {
35
- return;
36
- }
37
-
38
- require = Object.assign(
39
- (id) => requirePatched(id),
40
- originalRequire,
41
- {
42
- __isPatched: true
43
- }
44
- );
45
-
46
- function extractDefault(module) {
47
- return module && module.__esModule && 'default' in module ? module.default : module;
48
- }
49
-
50
- const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
51
- '@codemirror/autocomplete',
52
- '@codemirror/collab',
53
- '@codemirror/commands',
54
- '@codemirror/language',
55
- '@codemirror/lint',
56
- '@codemirror/search',
57
- '@codemirror/state',
58
- '@codemirror/text',
59
- '@codemirror/view',
60
- '@lezer/common',
61
- '@lezer/highlight',
62
- '@lezer/lr',
63
- 'obsidian']
64
- );
65
-
66
- const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
67
- '@codemirror/closebrackets',
68
- '@codemirror/comment',
69
- '@codemirror/fold',
70
- '@codemirror/gutter',
71
- '@codemirror/highlight',
72
- '@codemirror/history',
73
- '@codemirror/matchbrackets',
74
- '@codemirror/panel',
75
- '@codemirror/rangeset',
76
- '@codemirror/rectangular-selection',
77
- '@codemirror/stream-parser',
78
- '@codemirror/tooltip']
79
- );
80
-
81
- function requirePatched(id) {
82
- if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
83
- return originalRequire?.(id);
84
- }
85
-
86
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
87
- if (globalThis.app.isMobile) {
88
- if (id === 'process' || id === 'node:process') {
89
- // eslint-disable-next-line no-console -- Valid usage.
90
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
91
-
92
- return process;
93
- }
94
- } else {
95
- const module = originalRequire?.(id);
96
- if (module) {
97
- return extractDefault(module);
98
- }
99
- }
100
-
101
- // eslint-disable-next-line no-console -- Valid usage.
102
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
103
- return {};
104
- }
105
- })();
106
32
 
107
33
  "use strict";
108
34
  var __create = Object.create;
@@ -275,4 +201,4 @@ async function resolveObsidianPluginBuildContext(params) {
275
201
  resolveFromRoot,
276
202
  resolveObsidianPluginBuildContext
277
203
  });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBidW5kbGVyLWluZGVwZW5kZW50IGhhbGYgb2YgYnVpbGRpbmcgYW4gT2JzaWRpYW4gcGx1Z2luOiB3aGljaCBtb2R1bGVzIHN0YXkgZXh0ZXJuYWwsIHdoZXJlIHRoZVxuICogb3V0cHV0IGdvZXMsIHdoYXQgdGhlIG91dHB1dCBmb2xkZXIgaG9sZHMgYmVzaWRlcyB0aGUgYnVuZGxlLCBhbmQgaG93IGEgZGV2ZWxvcG1lbnQgYnVpbGQgcmVhY2hlcyB0aGVcbiAqIHZhdWx0LiBFdmVyeSBidW5kbGVyIGFkYXB0ZXIgaW4gdGhpcyBmb2xkZXIgKGVzYnVpbGQsIHJvbGx1cCwgdml0ZSwgd2VicGFjaywgcGFyY2VsKSBpcyBhIHRoaW4gbGF5ZXIgb3ZlclxuICogaXQsIHNvIGFsbCBvZiB0aGVtIHByb2R1Y2UgdGhlIHNhbWUgYG1haW4uanNgICsgYHN0eWxlcy5jc3NgICsgYG1hbmlmZXN0Lmpzb25gIGxheW91dC5cbiAqL1xuXG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9ucG0nO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L3Jvb3QnO1xuaW1wb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyLFxuICBybSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgYnVpbHRpbk1vZHVsZXMgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgcHJvY2VzcywgeyBsb2FkRW52RmlsZSB9IGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKlxuICBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luXG4gICAqL1xuICBEZXZlbG9wbWVudCxcbiAgLyoqXG4gIFByb2R1Y3Rpb24gbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpblxuICAgKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIFRoZSBtb2R1bGVzIE9ic2lkaWFuIHN1cHBsaWVzIGF0IHJ1bnRpbWUuIEEgcGx1Z2luIG11c3QgbmV2ZXIgYnVuZGxlIGl0cyBvd24gY29weSBvZiB0aGVtOiBhIHNlY29uZCBjb3B5XG4gKiBvZiB0aGUgQVBJIGJyZWFrcyBgaW5zdGFuY2VvZmAgYWdhaW5zdCB0aGUgcnVubmluZyBvbmUsIGFuZCBhIHNlY29uZCBDb2RlTWlycm9yIGJyZWFrcyBldmVyeSBleHRlbnNpb24uXG4gKlxuICogYGVzYnVpbGRgIGFuZCBgZXNsaW50YCBhcmUgaGVyZSBiZWNhdXNlIGEgcGx1Z2luIHRoYXQgaW1wb3J0cyBvbmUgb2YgdGhlIHRvb2xraXQncyBidWlsZC10aW1lIG1vZHVsZXNcbiAqIHdvdWxkIG90aGVyd2lzZSBkcmFnIGVpdGhlciBpbnRvIGBtYWluLmpzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX1BMVUdJTl9SVU5USU1FX01PRFVMRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAnb2JzaWRpYW4nLFxuICAnZWxlY3Ryb24nLFxuICAnQGNvZGVtaXJyb3IvYXV0b2NvbXBsZXRlJyxcbiAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICdAY29kZW1pcnJvci9sYW5ndWFnZScsXG4gICdAY29kZW1pcnJvci9saW50JyxcbiAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICdAY29kZW1pcnJvci9zdGF0ZScsXG4gICdAY29kZW1pcnJvci92aWV3JyxcbiAgJ0BsZXplci9jb21tb24nLFxuICAnQGxlemVyL2hpZ2hsaWdodCcsXG4gICdAbGV6ZXIvbHInLFxuICAnZXNidWlsZCcsXG4gICdlc2xpbnQnXG5dO1xuXG4vKipcbiAqIFRoZSBtb2R1bGUgaWRzIGFuIE9ic2lkaWFuIHBsdWdpbiBidW5kbGUgbGVhdmVzIHRvIGByZXF1aXJlKClgIGF0IHJ1bnRpbWU6IHRoZVxuICoge0BsaW5rIE9CU0lESUFOX1BMVUdJTl9SVU5USU1FX01PRFVMRVN9IGFuZCB0aGUgTm9kZSBidWlsdGlucy4gRXZlcnkgYG5vZGU6YC1wcmVmaXhlZCBpZCBpcyBleHRlcm5hbCB0b28sXG4gKiB3aGljaCBhIGJ1bmRsZXIgdGFrZXMgYXMgYSBwYXR0ZXJuIChlc2J1aWxkJ3MgYG5vZGU6KmApIG9yIHRocm91Z2gge0BsaW5rIGlzT2JzaWRpYW5QbHVnaW5FeHRlcm5hbH0uXG4gKi9cbmV4cG9ydCBjb25zdCBPQlNJRElBTl9QTFVHSU5fRVhURVJOQUxTOiByZWFkb25seSBzdHJpbmdbXSA9IFtcbiAgLi4uT0JTSURJQU5fUExVR0lOX1JVTlRJTUVfTU9EVUxFUyxcbiAgLi4uYnVpbHRpbk1vZHVsZXNcbl07XG5cbmNvbnN0IE5PREVfUFJFRklYID0gJ25vZGU6JztcbmNvbnN0IFNUWUxFU19DU1NfRklMRV9OQU1FOiBzdHJpbmcgPSBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3M7XG5cbmNvbnN0IE9CU0lESUFOX1BMVUdJTl9FWFRFUk5BTFNfU0VUID0gbmV3IFNldChPQlNJRElBTl9QTFVHSU5fRVhURVJOQUxTKTtcblxuLyoqXG4gKiBBIENTUyBmaWxlIGEgYnVuZGxlciBlbWl0dGVkLCBhcyB7QGxpbmsgbWVyZ2VDc3NBc3NldHN9IHNlZXMgaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3NzQXNzZXQge1xuICAvKipcbiAgICogVGhlIGZpbGUgbmFtZSByZWxhdGl2ZSB0byB0aGUgb3V0cHV0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlJ3MgY29udGVudHMuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IHtAbGluayBtZXJnZUNzc0Fzc2V0c30gZGVjaWRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXJnZUNzc0Fzc2V0c1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBuYW1lcyB0byBkcm9wIGZyb20gdGhlIG91dHB1dCwgYmVjYXVzZSB0aGVpciBjb250ZW50cyBtb3ZlZCBpbnRvIGBzdHlsZXMuY3NzYC4gSW5jbHVkZXNcbiAgICogYHN0eWxlcy5jc3NgIGl0c2VsZiB3aGVuIHRoZSBidW5kbGVyIGFscmVhZHkgZW1pdHRlZCBvbmUsIHNvIGl0IGlzIGFsd2F5cyB3cml0dGVuIGFmcmVzaC5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVOYW1lc1RvUmVtb3ZlOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIGBzdHlsZXMuY3NzYCwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGVyZSBpcyBub3RoaW5nIHRvIGRvOiB0aGUgYnVuZGxlIGhhcyBubyBDU1MgYXQgYWxsLFxuICAgKiBvciBpdHMgb25lIENTUyBmaWxlIGFscmVhZHkgaXMgYHN0eWxlcy5jc3NgLlxuICAgKi9cbiAgcmVhZG9ubHkgc3R5bGVzQ3NzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogV2hlcmUgYSBwbHVnaW4gYnVpbGQgd3JpdGVzIGl0cyBvdXRwdXQgYW5kIHdoYXQgaXQgYnVpbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0IHtcbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBmb2xkZXIgdGhlIGJ1aWxkIHdyaXRlcyBgbWFpbi5qc2AsIGBzdHlsZXMuY3NzYCBhbmQgYG1hbmlmZXN0Lmpzb25gIGludG8uXG4gICAqL1xuICByZWFkb25seSBkaXN0Rm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBwbHVnaW4ncyBlbnRyeSBwb2ludCwgYHNyYy9tYWluLnRzYC5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5UG9pbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZW1pdHRlZCBgbWFpbi5qc2AuXG4gICAqL1xuICByZWFkb25seSBtYWluSnNQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBjb25maWd1cmF0aW9uIGZvbGRlciBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGludG8sIG9yIGFuIGVtcHR5IHN0cmluZyB3aGVuIG5vbmVcbiAgICogaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBmb2xkZXIgbmFtZSBpbnNpZGUgYDx2YXVsdD4vLm9ic2lkaWFuL3BsdWdpbnNgLCB3aGljaCBpcyB0aGUgcGFja2FnZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgYSBkZXZlbG9wbWVudCBidWlsZCBpcyByZWxvYWRlZCBpbiBPYnNpZGlhbiBvbmNlIGl0IGlzIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsb2FkOiBPYnNpZGlhblBsdWdpblJlbG9hZDtcbn1cblxuLyoqXG4gKiBXaGVyZSBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGFuZCBob3cgT2JzaWRpYW4gcGlja3MgaXQgdXAuIEV2ZXJ5IGJ1bmRsZXIgYWRhcHRlciB0YWtlcyB0aGVzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLFxuICAgKiByZWFkIGZyb20gdGhlIHByb2Nlc3Mgb3IgZnJvbSBhIGAuZW52YCBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogSG93IGEgZGV2ZWxvcG1lbnQgYnVpbGQgaXMgcmVsb2FkZWQgaW4gT2JzaWRpYW4gb25jZSBpdCBpcyBjb3BpZWQgaW50byB0aGUgdmF1bHQuIERlZmF1bHRzIHRvXG4gICAqIGAnaG90LXJlbG9hZC1wbHVnaW4nYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbG9hZD86IE9ic2lkaWFuUGx1Z2luUmVsb2FkO1xufVxuXG4vKipcbiAqIEhvdyBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIHJlbG9hZGVkIGluIE9ic2lkaWFuIG9uY2UgaXQgaXMgY29waWVkIGludG8gdGhlIHZhdWx0LlxuICpcbiAqIC0gYCdob3QtcmVsb2FkLXBsdWdpbidgOiB0aGUgYnVpbGQgd3JpdGVzIHRoZSBgLmhvdHJlbG9hZGAgbWFya2VyLCBhbmQgYG5wbSBydW4gZGV2YCBvcGVucyB0aGUgdmF1bHQgaW4gYW5cbiAqICAgT2JzaWRpYW4gaW5zdGFuY2UgaXQgb3ducywgd2l0aCB0aGUgSG90UmVsb2FkIHBsdWdpbiBpbnN0YWxsZWQgYW5kIGVuYWJsZWQgdGhlcmUuXG4gKiAtIGAnb2JzaWRpYW4tY2xpJ2A6IGV2ZXJ5IHJlYnVpbGQgcnVucyBgb2JzaWRpYW4gcGx1Z2luOnJlbG9hZGAgYWdhaW5zdCB0aGUgT2JzaWRpYW4geW91IGFscmVhZHkgaGF2ZSBvcGVuLFxuICogICB0aHJvdWdoIHRoZSBPYnNpZGlhbiBDTEkgKFNldHRpbmdzIOKGkiBHZW5lcmFsIOKGkiBDb21tYW5kIGxpbmUgaW50ZXJmYWNlKS4gTm8gSG90UmVsb2FkLCBubyBzZWNvbmQgaW5zdGFuY2UuXG4gKiAtIGBmYWxzZWA6IHRoZSBidWlsZCBpcyBjb3BpZWQgaW50byB0aGUgdmF1bHQgYW5kIG5vdGhpbmcgcmVsb2FkcyBpdC5cbiAqL1xuZXhwb3J0IHR5cGUgT2JzaWRpYW5QbHVnaW5SZWxvYWQgPSAnaG90LXJlbG9hZC1wbHVnaW4nIHwgJ29ic2lkaWFuLWNsaScgfCBmYWxzZTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHRQYXJhbXMgZXh0ZW5kcyBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgZm9sZGVyLiBEZWZhdWx0cyB0byBgZGlzdC9idWlsZGAgZm9yIGEgcHJvZHVjdGlvbiBidWlsZCBhbmQgYGRpc3QvZGV2YCBmb3IgYSBkZXZlbG9wbWVudFxuICAgKiBvbmUuXG4gICAqL1xuICByZWFkb25seSBkaXN0Rm9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcbn1cblxuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiB7XG4gIE9CU0lESUFOX0NPTkZJR19GT0xERVI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBvdXRwdXQgZm9sZGVyIG9mIGEgYnVpbGQgYW5kIGNyZWF0ZXMgaXQgZW1wdHkgYWdhaW4uXG4gKlxuICogQHBhcmFtIGRpc3RGb2xkZXIgLSBUaGUgb3V0cHV0IGZvbGRlci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgZm9sZGVyIGV4aXN0cyBhbmQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbGVhbk9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcihkaXN0Rm9sZGVyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGV4aXN0c1N5bmMoZGlzdEZvbGRlcikpIHtcbiAgICBhd2FpdCBybShkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuICBhd2FpdCBta2RpcihkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBQdXRzIHRoZSBmaWxlcyBhIHBsdWdpbiBmb2xkZXIgbmVlZHMgYmVzaWRlcyB0aGUgYnVuZGxlIGludG8gdGhlIG91dHB1dCBmb2xkZXI6IGBtYW5pZmVzdC5qc29uYCwgYW5kIGZvclxuICogYSBkZXZlbG9wbWVudCBidWlsZCByZWxvYWRlZCBieSB0aGUgSG90UmVsb2FkIHBsdWdpbiB0aGUgZW1wdHkgYC5ob3RyZWxvYWRgIG1hcmtlciBpdCB3YXRjaGVzIGZvci5cbiAqXG4gKiBAcGFyYW0gY29udGV4dCAtIFRoZSBidWlsZCBjb250ZXh0LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBmaWxlcyBhcmUgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbXBsZXRlT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGNvbnRleHQ6IE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IG1rZGlyKGNvbnRleHQuZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGlmICghY29udGV4dC5pc1Byb2R1Y3Rpb25CdWlsZCAmJiBjb250ZXh0LnJlbG9hZCA9PT0gJ2hvdC1yZWxvYWQtcGx1Z2luJykge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGNvbnRleHQuZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbiB9KTtcbiAgaWYgKG1hbmlmZXN0UGF0aCAmJiBleGlzdHNTeW5jKG1hbmlmZXN0UGF0aCkpIHtcbiAgICBhd2FpdCBjcChtYW5pZmVzdFBhdGgsIGpvaW4oY29udGV4dC5kaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24pKTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgYmFubmVyIHBsYWNlZCBhdCB0aGUgdG9wIG9mIGBtYWluLmpzYC5cbiAqXG4gKiBAcGFyYW0gYnVuZGxlck5hbWUgLSBUaGUgYnVuZGxlcidzIG5hbWUsIGFzIHRoZSBiYW5uZXIgc3RhdGVzIGl0LlxuICogQHJldHVybnMgVGhlIGJhbm5lciwgYSBibG9jayBjb21tZW50IGZvbGxvd2VkIGJ5IGEgbmV3bGluZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9ic2lkaWFuUGx1Z2luQmFubmVyKGJ1bmRsZXJOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYC8qXG5USElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSAke2J1bmRsZXJOYW1lLnRvVXBwZXJDYXNlKCl9XG5pZiB5b3Ugd2FudCB0byB2aWV3IHRoZSBzb3VyY2UsIHBsZWFzZSB2aXNpdCB0aGUgZ2l0aHViIHJlcG9zaXRvcnkgb2YgdGhpcyBwbHVnaW5cbiovXG5gO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBkZWZhdWx0IG91dHB1dCBmb2xkZXIgb2YgYSBidWlsZDogYGRpc3QvYnVpbGRgIGZvciBhIHByb2R1Y3Rpb24gYnVpbGQsIGBkaXN0L2RldmAgZm9yIGFcbiAqIGRldmVsb3BtZW50IG9uZS5cbiAqXG4gKiBAcGFyYW0gbW9kZSAtIFRoZSBidWlsZCBtb2RlLlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIG91dHB1dCBmb2xkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIobW9kZTogQnVpbGRNb2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVGcm9tUm9vdChtb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbiA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwbHVnaW4ncyBlbnRyeSBwb2ludCwgYHNyYy9tYWluLnRzYC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZW50cnkgcG9pbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhblBsdWdpbkVudHJ5UG9pbnQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVGcm9tUm9vdChqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpblRzKSk7XG59XG5cbi8qKlxuICogVGVsbHMgd2hldGhlciBhIGZpbGUgbmFtZSBpcyBhIENTUyBmaWxlLlxuICpcbiAqIEBwYXJhbSBmaWxlTmFtZSAtIFRoZSBmaWxlIG5hbWUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgZm9yIGEgYC5jc3NgIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nzc0ZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGJhc2VuYW1lKGZpbGVOYW1lKS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuY3NzJyk7XG59XG5cbi8qKlxuICogVGVsbHMgd2hldGhlciBhIG1vZHVsZSBpZCBpcyBvbmUgYW4gT2JzaWRpYW4gcGx1Z2luIGJ1bmRsZSBtdXN0IGxlYXZlIGV4dGVybmFsOiBvbmUgb2ZcbiAqIHtAbGluayBPQlNJRElBTl9QTFVHSU5fRVhURVJOQUxTfSwgYSBzdWJwYXRoIG9mIG9uZSAoYEBjb2RlbWlycm9yL3ZpZXcvZGlzdC9pbmRleC5qc2AsIGBmcy9wcm9taXNlc2ApLFxuICogb3IgYW55IGBub2RlOmAtcHJlZml4ZWQgaWQuXG4gKlxuICogQHBhcmFtIG1vZHVsZUlkIC0gVGhlIG1vZHVsZSBpZCBhcyB3cml0dGVuIGluIHRoZSBpbXBvcnRpbmcgZmlsZS5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBidW5kbGUgbXVzdCBsZWF2ZSB0aGUgbW9kdWxlIHRvIGByZXF1aXJlKClgIGF0IHJ1bnRpbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09ic2lkaWFuUGx1Z2luRXh0ZXJuYWwobW9kdWxlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAobW9kdWxlSWQuc3RhcnRzV2l0aChOT0RFX1BSRUZJWCkgfHwgT0JTSURJQU5fUExVR0lOX0VYVEVSTkFMU19TRVQuaGFzKG1vZHVsZUlkKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgU0NPUEVEX1BBQ0tBR0VfU0VHTUVOVF9DT1VOVCA9IDI7XG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gbW9kdWxlSWQuc3BsaXQoJy8nKS5zbGljZSgwLCBtb2R1bGVJZC5zdGFydHNXaXRoKCdAJykgPyBTQ09QRURfUEFDS0FHRV9TRUdNRU5UX0NPVU5UIDogMSkuam9pbignLycpO1xuICByZXR1cm4gcGFja2FnZU5hbWUgIT09IG1vZHVsZUlkICYmIE9CU0lESUFOX1BMVUdJTl9FWFRFUk5BTFNfU0VULmhhcyhwYWNrYWdlTmFtZSk7XG59XG5cbi8qKlxuICogRGVjaWRlcyBob3cgdGhlIENTUyBhIGJ1bmRsZXIgZW1pdHRlZCBiZWNvbWVzIHRoZSBvbmUgYHN0eWxlcy5jc3NgIE9ic2lkaWFuIGxvYWRzLlxuICpcbiAqIE9ic2lkaWFuIHJlYWRzIGEgcGx1Z2luJ3Mgc3R5bGVzaGVldCBmcm9tIGBzdHlsZXMuY3NzYCBhbmQgbm90aGluZyBlbHNlLCB3aGlsZSBhIGJ1bmRsZXIgbmFtZXMgdGhlIENTU1xuICogYWZ0ZXIgdGhlIGVudHJ5IChgbWFpbi5jc3NgKSwgYWZ0ZXIgdGhlIHBhY2thZ2UsIG9yIHdpdGggYSBjb250ZW50IGhhc2guIEEgbG9uZSBDU1MgZmlsZSBpcyByZW5hbWVkOyB3aGVuXG4gKiB0aGVyZSBhcmUgc2V2ZXJhbCwgdGhleSBhcmUgY29uY2F0ZW5hdGVkIGluIHRoZSBvcmRlciBnaXZlbi5cbiAqXG4gKiBAcGFyYW0gY3NzQXNzZXRzIC0gVGhlIENTUyBmaWxlcyB0aGUgYnVuZGxlciBlbWl0dGVkLCBpbiBvdXRwdXQgb3JkZXIuXG4gKiBAcmV0dXJucyBXaGF0IHRvIHdyaXRlIGFzIGBzdHlsZXMuY3NzYCBhbmQgd2hpY2ggZW1pdHRlZCBmaWxlcyB0byBkcm9wLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDc3NBc3NldHMoY3NzQXNzZXRzOiByZWFkb25seSBDc3NBc3NldFtdKTogTWVyZ2VDc3NBc3NldHNSZXN1bHQge1xuICBjb25zdCBbZmlyc3RDc3NBc3NldF0gPSBjc3NBc3NldHM7XG4gIGlmIChmaXJzdENzc0Fzc2V0ID09PSB1bmRlZmluZWQgfHwgKGNzc0Fzc2V0cy5sZW5ndGggPT09IDEgJiYgZmlyc3RDc3NBc3NldC5maWxlTmFtZSA9PT0gU1RZTEVTX0NTU19GSUxFX05BTUUpKSB7XG4gICAgcmV0dXJuIHsgZmlsZU5hbWVzVG9SZW1vdmU6IFtdLCBzdHlsZXNDc3M6IHVuZGVmaW5lZCB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaWxlTmFtZXNUb1JlbW92ZTogY3NzQXNzZXRzLm1hcCgoYXNzZXQpID0+IGFzc2V0LmZpbGVOYW1lKSxcbiAgICBzdHlsZXNDc3M6IGNzc0Fzc2V0cy5tYXAoKGFzc2V0KSA9PiBhc3NldC5zb3VyY2UpLmpvaW4oJ1xcbicpXG4gIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBwYXRoIGFnYWluc3QgdGhlIHByb2plY3Qgcm9vdC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoLCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290IG9yIGFic29sdXRlLlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRnJvbVJvb3QocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoIH0pLCBgQ291bGQgbm90IHJlc29sdmUgJyR7cGF0aH0nIGFnYWluc3QgdGhlIHByb2plY3Qgcm9vdGApO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHdoZXJlIGEgcGx1Z2luIGJ1aWxkIHdyaXRlcyBpdHMgb3V0cHV0LCB3aGljaCBlbnRyeSBwb2ludCBpdCBidWlsZHMgYW5kIHdoaWNoIHZhdWx0IGFcbiAqIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGludG8uXG4gKlxuICogTG9hZHMgdGhlIHByb2plY3QncyBgLmVudmAgZmlsZSBmaXJzdCwgc28gYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGNhbiBsaXZlIHRoZXJlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dFBhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHR9LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0KHBhcmFtczogUmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0UGFyYW1zKTogUHJvbWlzZTxPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dD4ge1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6ICcuZW52JyB9KTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBpc1Byb2R1Y3Rpb25CdWlsZCA9IHBhcmFtcy5tb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbjtcbiAgY29uc3QgZGlzdEZvbGRlciA9IHBhcmFtcy5kaXN0Rm9sZGVyID09PSB1bmRlZmluZWQgPyBnZXRPYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIocGFyYW1zLm1vZGUpIDogcmVzb2x2ZUZyb21Sb290KHBhcmFtcy5kaXN0Rm9sZGVyKTtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcblxuICByZXR1cm4ge1xuICAgIGRpc3RGb2xkZXIsXG4gICAgZW50cnlQb2ludDogZ2V0T2JzaWRpYW5QbHVnaW5FbnRyeVBvaW50KCksXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgbWFpbkpzUGF0aDogam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpLFxuICAgIG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBwYXJhbXMub2JzaWRpYW5Db25maWdGb2xkZXIgPz8gb2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52Lk9CU0lESUFOX0NPTkZJR19GT0xERVIgPz8gJycsXG4gICAgcGx1Z2luTmFtZTogcGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJyxcbiAgICByZWxvYWQ6IHBhcmFtcy5yZWxvYWQgPz8gJ2hvdC1yZWxvYWQtcGx1Z2luJ1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxpQkFBZ0M7QUFDaEMsa0JBQW9DO0FBQ3BDLGtCQUdPO0FBQ1AseUJBQWtDO0FBQ2xDLHFCQUEyQjtBQUMzQixzQkFLTztBQUNQLHlCQUErQjtBQUMvQiwwQkFBcUM7QUFFckMsd0NBQXdDO0FBS2pDLElBQUssWUFBTCxrQkFBS0EsZUFBTDtBQUlMLEVBQUFBLHNCQUFBO0FBSUEsRUFBQUEsc0JBQUE7QUFSVSxTQUFBQTtBQUFBLEdBQUE7QUFrQkwsTUFBTSxrQ0FBcUQ7QUFBQSxFQUNoRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQ0Y7QUFPTyxNQUFNLDRCQUErQztBQUFBLEVBQzFELEdBQUc7QUFBQSxFQUNILEdBQUc7QUFDTDtBQUVBLE1BQU0sY0FBYztBQUNwQixNQUFNLHVCQUErQiwwREFBd0I7QUFFN0QsTUFBTSxnQ0FBZ0MsSUFBSSxJQUFJLHlCQUF5QjtBQWlJdkUsZUFBc0IsOEJBQThCLFlBQW1DO0FBQ3JGLFVBQUksMkJBQVcsVUFBVSxHQUFHO0FBQzFCLGNBQU0sb0JBQUcsWUFBWSxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQUEsRUFDMUM7QUFDQSxZQUFNLHVCQUFNLFlBQVksRUFBRSxXQUFXLEtBQUssQ0FBQztBQUM3QztBQVNBLGVBQXNCLGlDQUFpQyxTQUFvRDtBQUN6RyxZQUFNLHVCQUFNLFFBQVEsWUFBWSxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQ25ELE1BQUksQ0FBQyxRQUFRLHFCQUFxQixRQUFRLFdBQVcscUJBQXFCO0FBQ3hFLGNBQU0sK0JBQVUsa0JBQUssUUFBUSxZQUFZLDBEQUF3QixTQUFTLEdBQUcsSUFBSSxPQUFPO0FBQUEsRUFDMUY7QUFFQSxRQUFNLG1CQUFlLGlDQUFvQixFQUFFLE1BQU0sMERBQXdCLGFBQWEsQ0FBQztBQUN2RixNQUFJLG9CQUFnQiwyQkFBVyxZQUFZLEdBQUc7QUFDNUMsY0FBTSxvQkFBRyxrQkFBYyxrQkFBSyxRQUFRLFlBQVksMERBQXdCLFlBQVksQ0FBQztBQUFBLEVBQ3ZGO0FBQ0Y7QUFRTyxTQUFTLHdCQUF3QixhQUE2QjtBQUNuRSxTQUFPO0FBQUEsc0NBQzZCLFlBQVksWUFBWSxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBSS9EO0FBU08sU0FBUyw0QkFBNEIsTUFBeUI7QUFDbkUsU0FBTyxnQkFBZ0IsU0FBUyxxQkFBdUIsMERBQXdCLFlBQVksMERBQXdCLE9BQU87QUFDNUg7QUFPTyxTQUFTLDhCQUFzQztBQUNwRCxTQUFPLG9CQUFnQixrQkFBSywwREFBd0IsS0FBSywwREFBd0IsTUFBTSxDQUFDO0FBQzFGO0FBUU8sU0FBUyxjQUFjLFVBQTJCO0FBQ3ZELGFBQU8sc0JBQVMsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLE1BQU07QUFDekQ7QUFVTyxTQUFTLHlCQUF5QixVQUEyQjtBQUNsRSxNQUFJLFNBQVMsV0FBVyxXQUFXLEtBQUssOEJBQThCLElBQUksUUFBUSxHQUFHO0FBQ25GLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSwrQkFBK0I7QUFDckMsUUFBTSxjQUFjLFNBQVMsTUFBTSxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsV0FBVyxHQUFHLElBQUksK0JBQStCLENBQUMsRUFBRSxLQUFLLEdBQUc7QUFDdEgsU0FBTyxnQkFBZ0IsWUFBWSw4QkFBOEIsSUFBSSxXQUFXO0FBQ2xGO0FBWU8sU0FBUyxlQUFlLFdBQXNEO0FBQ25GLFFBQU0sQ0FBQyxhQUFhLElBQUk7QUFDeEIsTUFBSSxrQkFBa0IsVUFBYyxVQUFVLFdBQVcsS0FBSyxjQUFjLGFBQWEsc0JBQXVCO0FBQzlHLFdBQU8sRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLFdBQVcsT0FBVTtBQUFBLEVBQ3ZEO0FBRUEsU0FBTztBQUFBLElBQ0wsbUJBQW1CLFVBQVUsSUFBSSxDQUFDLFVBQVUsTUFBTSxRQUFRO0FBQUEsSUFDMUQsV0FBVyxVQUFVLElBQUksQ0FBQyxVQUFVLE1BQU0sTUFBTSxFQUFFLEtBQUssSUFBSTtBQUFBLEVBQzdEO0FBQ0Y7QUFRTyxTQUFTLGdCQUFnQixNQUFzQjtBQUNwRCxhQUFPLDBDQUFrQixpQ0FBb0IsRUFBRSxLQUFLLENBQUMsR0FBRyxzQkFBc0IsSUFBSSw0QkFBNEI7QUFDaEg7QUFXQSxlQUFzQixrQ0FBa0MsUUFBc0Y7QUFDNUksUUFBTSxjQUFVLGlDQUFvQixFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3BELE1BQUksZUFBVywyQkFBVyxPQUFPLEdBQUc7QUFDbEMseUNBQVksT0FBTztBQUFBLEVBQ3JCO0FBQ0EsUUFBTSwyQkFBMkIsb0JBQUFDLFFBQVE7QUFFekMsUUFBTSxvQkFBb0IsT0FBTyxTQUFTO0FBQzFDLFFBQU0sYUFBYSxPQUFPLGVBQWUsU0FBWSw0QkFBNEIsT0FBTyxJQUFJLElBQUksZ0JBQWdCLE9BQU8sVUFBVTtBQUNqSSxRQUFNLGNBQWMsVUFBTSw0QkFBZ0I7QUFFMUMsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBLFlBQVksNEJBQTRCO0FBQUEsSUFDeEM7QUFBQSxJQUNBLGdCQUFZLGtCQUFLLFlBQVksMERBQXdCLE1BQU07QUFBQSxJQUMzRCxzQkFBc0IsT0FBTyx3QkFBd0IseUJBQXlCLDBCQUEwQjtBQUFBLElBQ3hHLFlBQVksWUFBWSxRQUFRO0FBQUEsSUFDaEMsUUFBUSxPQUFPLFVBQVU7QUFBQSxFQUMzQjtBQUNGOyIsIm5hbWVzIjpbIkJ1aWxkTW9kZSIsInByb2Nlc3MiXX0=
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBidW5kbGVyLWluZGVwZW5kZW50IGhhbGYgb2YgYnVpbGRpbmcgYW4gT2JzaWRpYW4gcGx1Z2luOiB3aGljaCBtb2R1bGVzIHN0YXkgZXh0ZXJuYWwsIHdoZXJlIHRoZVxuICogb3V0cHV0IGdvZXMsIHdoYXQgdGhlIG91dHB1dCBmb2xkZXIgaG9sZHMgYmVzaWRlcyB0aGUgYnVuZGxlLCBhbmQgaG93IGEgZGV2ZWxvcG1lbnQgYnVpbGQgcmVhY2hlcyB0aGVcbiAqIHZhdWx0LiBFdmVyeSBidW5kbGVyIGFkYXB0ZXIgaW4gdGhpcyBmb2xkZXIgKGVzYnVpbGQsIHJvbGx1cCwgdml0ZSwgd2VicGFjaywgcGFyY2VsKSBpcyBhIHRoaW4gbGF5ZXIgb3ZlclxuICogaXQsIHNvIGFsbCBvZiB0aGVtIHByb2R1Y2UgdGhlIHNhbWUgYG1haW4uanNgICsgYHN0eWxlcy5jc3NgICsgYG1hbmlmZXN0Lmpzb25gIGxheW91dC5cbiAqL1xuXG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9ucG0nO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L3Jvb3QnO1xuaW1wb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyLFxuICBybSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgYnVpbHRpbk1vZHVsZXMgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgcHJvY2VzcywgeyBsb2FkRW52RmlsZSB9IGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKlxuICBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luXG4gICAqL1xuICBEZXZlbG9wbWVudCxcbiAgLyoqXG4gIFByb2R1Y3Rpb24gbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpblxuICAgKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIFRoZSBtb2R1bGVzIE9ic2lkaWFuIHN1cHBsaWVzIGF0IHJ1bnRpbWUuIEEgcGx1Z2luIG11c3QgbmV2ZXIgYnVuZGxlIGl0cyBvd24gY29weSBvZiB0aGVtOiBhIHNlY29uZCBjb3B5XG4gKiBvZiB0aGUgQVBJIGJyZWFrcyBgaW5zdGFuY2VvZmAgYWdhaW5zdCB0aGUgcnVubmluZyBvbmUsIGFuZCBhIHNlY29uZCBDb2RlTWlycm9yIGJyZWFrcyBldmVyeSBleHRlbnNpb24uXG4gKlxuICogYGVzYnVpbGRgIGFuZCBgZXNsaW50YCBhcmUgaGVyZSBiZWNhdXNlIGEgcGx1Z2luIHRoYXQgaW1wb3J0cyBvbmUgb2YgdGhlIHRvb2xraXQncyBidWlsZC10aW1lIG1vZHVsZXNcbiAqIHdvdWxkIG90aGVyd2lzZSBkcmFnIGVpdGhlciBpbnRvIGBtYWluLmpzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX1BMVUdJTl9SVU5USU1FX01PRFVMRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAnb2JzaWRpYW4nLFxuICAnZWxlY3Ryb24nLFxuICAnQGNvZGVtaXJyb3IvYXV0b2NvbXBsZXRlJyxcbiAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICdAY29kZW1pcnJvci9sYW5ndWFnZScsXG4gICdAY29kZW1pcnJvci9saW50JyxcbiAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICdAY29kZW1pcnJvci9zdGF0ZScsXG4gICdAY29kZW1pcnJvci92aWV3JyxcbiAgJ0BsZXplci9jb21tb24nLFxuICAnQGxlemVyL2hpZ2hsaWdodCcsXG4gICdAbGV6ZXIvbHInLFxuICAnZXNidWlsZCcsXG4gICdlc2xpbnQnXG5dO1xuXG4vKipcbiAqIFRoZSBtb2R1bGUgaWRzIGFuIE9ic2lkaWFuIHBsdWdpbiBidW5kbGUgbGVhdmVzIHRvIGByZXF1aXJlKClgIGF0IHJ1bnRpbWU6IHRoZVxuICoge0BsaW5rIE9CU0lESUFOX1BMVUdJTl9SVU5USU1FX01PRFVMRVN9IGFuZCB0aGUgTm9kZSBidWlsdGlucy4gRXZlcnkgYG5vZGU6YC1wcmVmaXhlZCBpZCBpcyBleHRlcm5hbCB0b28sXG4gKiB3aGljaCBhIGJ1bmRsZXIgdGFrZXMgYXMgYSBwYXR0ZXJuIChlc2J1aWxkJ3MgYG5vZGU6KmApIG9yIHRocm91Z2gge0BsaW5rIGlzT2JzaWRpYW5QbHVnaW5FeHRlcm5hbH0uXG4gKi9cbmV4cG9ydCBjb25zdCBPQlNJRElBTl9QTFVHSU5fRVhURVJOQUxTOiByZWFkb25seSBzdHJpbmdbXSA9IFtcbiAgLi4uT0JTSURJQU5fUExVR0lOX1JVTlRJTUVfTU9EVUxFUyxcbiAgLi4uYnVpbHRpbk1vZHVsZXNcbl07XG5cbmNvbnN0IE5PREVfUFJFRklYID0gJ25vZGU6JztcbmNvbnN0IFNUWUxFU19DU1NfRklMRV9OQU1FOiBzdHJpbmcgPSBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3M7XG5cbmNvbnN0IE9CU0lESUFOX1BMVUdJTl9FWFRFUk5BTFNfU0VUID0gbmV3IFNldChPQlNJRElBTl9QTFVHSU5fRVhURVJOQUxTKTtcblxuLyoqXG4gKiBBIENTUyBmaWxlIGEgYnVuZGxlciBlbWl0dGVkLCBhcyB7QGxpbmsgbWVyZ2VDc3NBc3NldHN9IHNlZXMgaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3NzQXNzZXQge1xuICAvKipcbiAgICogVGhlIGZpbGUgbmFtZSByZWxhdGl2ZSB0byB0aGUgb3V0cHV0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlJ3MgY29udGVudHMuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IHtAbGluayBtZXJnZUNzc0Fzc2V0c30gZGVjaWRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXJnZUNzc0Fzc2V0c1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBuYW1lcyB0byBkcm9wIGZyb20gdGhlIG91dHB1dCwgYmVjYXVzZSB0aGVpciBjb250ZW50cyBtb3ZlZCBpbnRvIGBzdHlsZXMuY3NzYC4gSW5jbHVkZXNcbiAgICogYHN0eWxlcy5jc3NgIGl0c2VsZiB3aGVuIHRoZSBidW5kbGVyIGFscmVhZHkgZW1pdHRlZCBvbmUsIHNvIGl0IGlzIGFsd2F5cyB3cml0dGVuIGFmcmVzaC5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVOYW1lc1RvUmVtb3ZlOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIGBzdHlsZXMuY3NzYCwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGVyZSBpcyBub3RoaW5nIHRvIGRvOiB0aGUgYnVuZGxlIGhhcyBubyBDU1MgYXQgYWxsLFxuICAgKiBvciBpdHMgb25lIENTUyBmaWxlIGFscmVhZHkgaXMgYHN0eWxlcy5jc3NgLlxuICAgKi9cbiAgcmVhZG9ubHkgc3R5bGVzQ3NzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogV2hlcmUgYSBwbHVnaW4gYnVpbGQgd3JpdGVzIGl0cyBvdXRwdXQgYW5kIHdoYXQgaXQgYnVpbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0IHtcbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBmb2xkZXIgdGhlIGJ1aWxkIHdyaXRlcyBgbWFpbi5qc2AsIGBzdHlsZXMuY3NzYCBhbmQgYG1hbmlmZXN0Lmpzb25gIGludG8uXG4gICAqL1xuICByZWFkb25seSBkaXN0Rm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBwbHVnaW4ncyBlbnRyeSBwb2ludCwgYHNyYy9tYWluLnRzYC5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5UG9pbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZW1pdHRlZCBgbWFpbi5qc2AuXG4gICAqL1xuICByZWFkb25seSBtYWluSnNQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBjb25maWd1cmF0aW9uIGZvbGRlciBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGludG8sIG9yIGFuIGVtcHR5IHN0cmluZyB3aGVuIG5vbmVcbiAgICogaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBmb2xkZXIgbmFtZSBpbnNpZGUgYDx2YXVsdD4vLm9ic2lkaWFuL3BsdWdpbnNgLCB3aGljaCBpcyB0aGUgcGFja2FnZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgYSBkZXZlbG9wbWVudCBidWlsZCBpcyByZWxvYWRlZCBpbiBPYnNpZGlhbiBvbmNlIGl0IGlzIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsb2FkOiBPYnNpZGlhblBsdWdpblJlbG9hZDtcbn1cblxuLyoqXG4gKiBXaGVyZSBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGFuZCBob3cgT2JzaWRpYW4gcGlja3MgaXQgdXAuIEV2ZXJ5IGJ1bmRsZXIgYWRhcHRlciB0YWtlcyB0aGVzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLFxuICAgKiByZWFkIGZyb20gdGhlIHByb2Nlc3Mgb3IgZnJvbSBhIGAuZW52YCBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogSG93IGEgZGV2ZWxvcG1lbnQgYnVpbGQgaXMgcmVsb2FkZWQgaW4gT2JzaWRpYW4gb25jZSBpdCBpcyBjb3BpZWQgaW50byB0aGUgdmF1bHQuIERlZmF1bHRzIHRvXG4gICAqIGAnaG90LXJlbG9hZC1wbHVnaW4nYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbG9hZD86IE9ic2lkaWFuUGx1Z2luUmVsb2FkO1xufVxuXG4vKipcbiAqIEhvdyBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIHJlbG9hZGVkIGluIE9ic2lkaWFuIG9uY2UgaXQgaXMgY29waWVkIGludG8gdGhlIHZhdWx0LlxuICpcbiAqIC0gYCdob3QtcmVsb2FkLXBsdWdpbidgOiB0aGUgYnVpbGQgd3JpdGVzIHRoZSBgLmhvdHJlbG9hZGAgbWFya2VyLCBhbmQgYG5wbSBydW4gZGV2YCBvcGVucyB0aGUgdmF1bHQgaW4gYW5cbiAqICAgT2JzaWRpYW4gaW5zdGFuY2UgaXQgb3ducywgd2l0aCB0aGUgSG90UmVsb2FkIHBsdWdpbiBpbnN0YWxsZWQgYW5kIGVuYWJsZWQgdGhlcmUuXG4gKiAtIGAnb2JzaWRpYW4tY2xpJ2A6IGV2ZXJ5IHJlYnVpbGQgcnVucyBgb2JzaWRpYW4gcGx1Z2luOnJlbG9hZGAgYWdhaW5zdCB0aGUgT2JzaWRpYW4geW91IGFscmVhZHkgaGF2ZSBvcGVuLFxuICogICB0aHJvdWdoIHRoZSBPYnNpZGlhbiBDTEkgKFNldHRpbmdzIOKGkiBHZW5lcmFsIOKGkiBDb21tYW5kIGxpbmUgaW50ZXJmYWNlKS4gTm8gSG90UmVsb2FkLCBubyBzZWNvbmQgaW5zdGFuY2UuXG4gKiAtIGBmYWxzZWA6IHRoZSBidWlsZCBpcyBjb3BpZWQgaW50byB0aGUgdmF1bHQgYW5kIG5vdGhpbmcgcmVsb2FkcyBpdC5cbiAqL1xuZXhwb3J0IHR5cGUgT2JzaWRpYW5QbHVnaW5SZWxvYWQgPSAnaG90LXJlbG9hZC1wbHVnaW4nIHwgJ29ic2lkaWFuLWNsaScgfCBmYWxzZTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHRQYXJhbXMgZXh0ZW5kcyBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgZm9sZGVyLiBEZWZhdWx0cyB0byBgZGlzdC9idWlsZGAgZm9yIGEgcHJvZHVjdGlvbiBidWlsZCBhbmQgYGRpc3QvZGV2YCBmb3IgYSBkZXZlbG9wbWVudFxuICAgKiBvbmUuXG4gICAqL1xuICByZWFkb25seSBkaXN0Rm9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcbn1cblxuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiB7XG4gIE9CU0lESUFOX0NPTkZJR19GT0xERVI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBvdXRwdXQgZm9sZGVyIG9mIGEgYnVpbGQgYW5kIGNyZWF0ZXMgaXQgZW1wdHkgYWdhaW4uXG4gKlxuICogQHBhcmFtIGRpc3RGb2xkZXIgLSBUaGUgb3V0cHV0IGZvbGRlci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgZm9sZGVyIGV4aXN0cyBhbmQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbGVhbk9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcihkaXN0Rm9sZGVyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGV4aXN0c1N5bmMoZGlzdEZvbGRlcikpIHtcbiAgICBhd2FpdCBybShkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuICBhd2FpdCBta2RpcihkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBQdXRzIHRoZSBmaWxlcyBhIHBsdWdpbiBmb2xkZXIgbmVlZHMgYmVzaWRlcyB0aGUgYnVuZGxlIGludG8gdGhlIG91dHB1dCBmb2xkZXI6IGBtYW5pZmVzdC5qc29uYCwgYW5kIGZvclxuICogYSBkZXZlbG9wbWVudCBidWlsZCByZWxvYWRlZCBieSB0aGUgSG90UmVsb2FkIHBsdWdpbiB0aGUgZW1wdHkgYC5ob3RyZWxvYWRgIG1hcmtlciBpdCB3YXRjaGVzIGZvci5cbiAqXG4gKiBAcGFyYW0gY29udGV4dCAtIFRoZSBidWlsZCBjb250ZXh0LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBmaWxlcyBhcmUgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbXBsZXRlT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGNvbnRleHQ6IE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IG1rZGlyKGNvbnRleHQuZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGlmICghY29udGV4dC5pc1Byb2R1Y3Rpb25CdWlsZCAmJiBjb250ZXh0LnJlbG9hZCA9PT0gJ2hvdC1yZWxvYWQtcGx1Z2luJykge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGNvbnRleHQuZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbiB9KTtcbiAgaWYgKG1hbmlmZXN0UGF0aCAmJiBleGlzdHNTeW5jKG1hbmlmZXN0UGF0aCkpIHtcbiAgICBhd2FpdCBjcChtYW5pZmVzdFBhdGgsIGpvaW4oY29udGV4dC5kaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24pKTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgYmFubmVyIHBsYWNlZCBhdCB0aGUgdG9wIG9mIGBtYWluLmpzYC5cbiAqXG4gKiBAcGFyYW0gYnVuZGxlck5hbWUgLSBUaGUgYnVuZGxlcidzIG5hbWUsIGFzIHRoZSBiYW5uZXIgc3RhdGVzIGl0LlxuICogQHJldHVybnMgVGhlIGJhbm5lciwgYSBibG9jayBjb21tZW50IGZvbGxvd2VkIGJ5IGEgbmV3bGluZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9ic2lkaWFuUGx1Z2luQmFubmVyKGJ1bmRsZXJOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYC8qXG5USElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSAke2J1bmRsZXJOYW1lLnRvVXBwZXJDYXNlKCl9XG5pZiB5b3Ugd2FudCB0byB2aWV3IHRoZSBzb3VyY2UsIHBsZWFzZSB2aXNpdCB0aGUgZ2l0aHViIHJlcG9zaXRvcnkgb2YgdGhpcyBwbHVnaW5cbiovXG5gO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBkZWZhdWx0IG91dHB1dCBmb2xkZXIgb2YgYSBidWlsZDogYGRpc3QvYnVpbGRgIGZvciBhIHByb2R1Y3Rpb24gYnVpbGQsIGBkaXN0L2RldmAgZm9yIGFcbiAqIGRldmVsb3BtZW50IG9uZS5cbiAqXG4gKiBAcGFyYW0gbW9kZSAtIFRoZSBidWlsZCBtb2RlLlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIG91dHB1dCBmb2xkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIobW9kZTogQnVpbGRNb2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVGcm9tUm9vdChtb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbiA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwbHVnaW4ncyBlbnRyeSBwb2ludCwgYHNyYy9tYWluLnRzYC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZW50cnkgcG9pbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhblBsdWdpbkVudHJ5UG9pbnQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVGcm9tUm9vdChqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpblRzKSk7XG59XG5cbi8qKlxuICogVGVsbHMgd2hldGhlciBhIGZpbGUgbmFtZSBpcyBhIENTUyBmaWxlLlxuICpcbiAqIEBwYXJhbSBmaWxlTmFtZSAtIFRoZSBmaWxlIG5hbWUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgZm9yIGEgYC5jc3NgIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nzc0ZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGJhc2VuYW1lKGZpbGVOYW1lKS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuY3NzJyk7XG59XG5cbi8qKlxuICogVGVsbHMgd2hldGhlciBhIG1vZHVsZSBpZCBpcyBvbmUgYW4gT2JzaWRpYW4gcGx1Z2luIGJ1bmRsZSBtdXN0IGxlYXZlIGV4dGVybmFsOiBvbmUgb2ZcbiAqIHtAbGluayBPQlNJRElBTl9QTFVHSU5fRVhURVJOQUxTfSwgYSBzdWJwYXRoIG9mIG9uZSAoYEBjb2RlbWlycm9yL3ZpZXcvZGlzdC9pbmRleC5qc2AsIGBmcy9wcm9taXNlc2ApLFxuICogb3IgYW55IGBub2RlOmAtcHJlZml4ZWQgaWQuXG4gKlxuICogQHBhcmFtIG1vZHVsZUlkIC0gVGhlIG1vZHVsZSBpZCBhcyB3cml0dGVuIGluIHRoZSBpbXBvcnRpbmcgZmlsZS5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBidW5kbGUgbXVzdCBsZWF2ZSB0aGUgbW9kdWxlIHRvIGByZXF1aXJlKClgIGF0IHJ1bnRpbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09ic2lkaWFuUGx1Z2luRXh0ZXJuYWwobW9kdWxlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAobW9kdWxlSWQuc3RhcnRzV2l0aChOT0RFX1BSRUZJWCkgfHwgT0JTSURJQU5fUExVR0lOX0VYVEVSTkFMU19TRVQuaGFzKG1vZHVsZUlkKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgU0NPUEVEX1BBQ0tBR0VfU0VHTUVOVF9DT1VOVCA9IDI7XG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gbW9kdWxlSWQuc3BsaXQoJy8nKS5zbGljZSgwLCBtb2R1bGVJZC5zdGFydHNXaXRoKCdAJykgPyBTQ09QRURfUEFDS0FHRV9TRUdNRU5UX0NPVU5UIDogMSkuam9pbignLycpO1xuICByZXR1cm4gcGFja2FnZU5hbWUgIT09IG1vZHVsZUlkICYmIE9CU0lESUFOX1BMVUdJTl9FWFRFUk5BTFNfU0VULmhhcyhwYWNrYWdlTmFtZSk7XG59XG5cbi8qKlxuICogRGVjaWRlcyBob3cgdGhlIENTUyBhIGJ1bmRsZXIgZW1pdHRlZCBiZWNvbWVzIHRoZSBvbmUgYHN0eWxlcy5jc3NgIE9ic2lkaWFuIGxvYWRzLlxuICpcbiAqIE9ic2lkaWFuIHJlYWRzIGEgcGx1Z2luJ3Mgc3R5bGVzaGVldCBmcm9tIGBzdHlsZXMuY3NzYCBhbmQgbm90aGluZyBlbHNlLCB3aGlsZSBhIGJ1bmRsZXIgbmFtZXMgdGhlIENTU1xuICogYWZ0ZXIgdGhlIGVudHJ5IChgbWFpbi5jc3NgKSwgYWZ0ZXIgdGhlIHBhY2thZ2UsIG9yIHdpdGggYSBjb250ZW50IGhhc2guIEEgbG9uZSBDU1MgZmlsZSBpcyByZW5hbWVkOyB3aGVuXG4gKiB0aGVyZSBhcmUgc2V2ZXJhbCwgdGhleSBhcmUgY29uY2F0ZW5hdGVkIGluIHRoZSBvcmRlciBnaXZlbi5cbiAqXG4gKiBAcGFyYW0gY3NzQXNzZXRzIC0gVGhlIENTUyBmaWxlcyB0aGUgYnVuZGxlciBlbWl0dGVkLCBpbiBvdXRwdXQgb3JkZXIuXG4gKiBAcmV0dXJucyBXaGF0IHRvIHdyaXRlIGFzIGBzdHlsZXMuY3NzYCBhbmQgd2hpY2ggZW1pdHRlZCBmaWxlcyB0byBkcm9wLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDc3NBc3NldHMoY3NzQXNzZXRzOiByZWFkb25seSBDc3NBc3NldFtdKTogTWVyZ2VDc3NBc3NldHNSZXN1bHQge1xuICBjb25zdCBbZmlyc3RDc3NBc3NldF0gPSBjc3NBc3NldHM7XG4gIGlmIChmaXJzdENzc0Fzc2V0ID09PSB1bmRlZmluZWQgfHwgKGNzc0Fzc2V0cy5sZW5ndGggPT09IDEgJiYgZmlyc3RDc3NBc3NldC5maWxlTmFtZSA9PT0gU1RZTEVTX0NTU19GSUxFX05BTUUpKSB7XG4gICAgcmV0dXJuIHsgZmlsZU5hbWVzVG9SZW1vdmU6IFtdLCBzdHlsZXNDc3M6IHVuZGVmaW5lZCB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaWxlTmFtZXNUb1JlbW92ZTogY3NzQXNzZXRzLm1hcCgoYXNzZXQpID0+IGFzc2V0LmZpbGVOYW1lKSxcbiAgICBzdHlsZXNDc3M6IGNzc0Fzc2V0cy5tYXAoKGFzc2V0KSA9PiBhc3NldC5zb3VyY2UpLmpvaW4oJ1xcbicpXG4gIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBwYXRoIGFnYWluc3QgdGhlIHByb2plY3Qgcm9vdC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoLCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290IG9yIGFic29sdXRlLlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRnJvbVJvb3QocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoIH0pLCBgQ291bGQgbm90IHJlc29sdmUgJyR7cGF0aH0nIGFnYWluc3QgdGhlIHByb2plY3Qgcm9vdGApO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHdoZXJlIGEgcGx1Z2luIGJ1aWxkIHdyaXRlcyBpdHMgb3V0cHV0LCB3aGljaCBlbnRyeSBwb2ludCBpdCBidWlsZHMgYW5kIHdoaWNoIHZhdWx0IGFcbiAqIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGludG8uXG4gKlxuICogTG9hZHMgdGhlIHByb2plY3QncyBgLmVudmAgZmlsZSBmaXJzdCwgc28gYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGNhbiBsaXZlIHRoZXJlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dFBhcmFtc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHR9LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0KHBhcmFtczogUmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0UGFyYW1zKTogUHJvbWlzZTxPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dD4ge1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6ICcuZW52JyB9KTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBpc1Byb2R1Y3Rpb25CdWlsZCA9IHBhcmFtcy5tb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbjtcbiAgY29uc3QgZGlzdEZvbGRlciA9IHBhcmFtcy5kaXN0Rm9sZGVyID09PSB1bmRlZmluZWQgPyBnZXRPYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIocGFyYW1zLm1vZGUpIDogcmVzb2x2ZUZyb21Sb290KHBhcmFtcy5kaXN0Rm9sZGVyKTtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcblxuICByZXR1cm4ge1xuICAgIGRpc3RGb2xkZXIsXG4gICAgZW50cnlQb2ludDogZ2V0T2JzaWRpYW5QbHVnaW5FbnRyeVBvaW50KCksXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgbWFpbkpzUGF0aDogam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpLFxuICAgIG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBwYXJhbXMub2JzaWRpYW5Db25maWdGb2xkZXIgPz8gb2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52Lk9CU0lESUFOX0NPTkZJR19GT0xERVIgPz8gJycsXG4gICAgcGx1Z2luTmFtZTogcGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJyxcbiAgICByZWxvYWQ6IHBhcmFtcy5yZWxvYWQgPz8gJ2hvdC1yZWxvYWQtcGx1Z2luJ1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0EsaUJBQWdDO0FBQ2hDLGtCQUFvQztBQUNwQyxrQkFHTztBQUNQLHlCQUFrQztBQUNsQyxxQkFBMkI7QUFDM0Isc0JBS087QUFDUCx5QkFBK0I7QUFDL0IsMEJBQXFDO0FBRXJDLHdDQUF3QztBQUtqQyxJQUFLLFlBQUwsa0JBQUtBLGVBQUw7QUFJTCxFQUFBQSxzQkFBQTtBQUlBLEVBQUFBLHNCQUFBO0FBUlUsU0FBQUE7QUFBQSxHQUFBO0FBa0JMLE1BQU0sa0NBQXFEO0FBQUEsRUFDaEU7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGO0FBT08sTUFBTSw0QkFBK0M7QUFBQSxFQUMxRCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQ0w7QUFFQSxNQUFNLGNBQWM7QUFDcEIsTUFBTSx1QkFBK0IsMERBQXdCO0FBRTdELE1BQU0sZ0NBQWdDLElBQUksSUFBSSx5QkFBeUI7QUFpSXZFLGVBQXNCLDhCQUE4QixZQUFt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
@@ -29,80 +29,6 @@ function ensureBrowserProcess() {
29
29
 
30
30
  ensureBrowserProcess();
31
31
  })();
32
- (function patchObsidianRequire() {
33
- const originalRequire = require;
34
- if (!originalRequire || originalRequire.__isPatched) {
35
- return;
36
- }
37
-
38
- require = Object.assign(
39
- (id) => requirePatched(id),
40
- originalRequire,
41
- {
42
- __isPatched: true
43
- }
44
- );
45
-
46
- function extractDefault(module) {
47
- return module && module.__esModule && 'default' in module ? module.default : module;
48
- }
49
-
50
- const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
51
- '@codemirror/autocomplete',
52
- '@codemirror/collab',
53
- '@codemirror/commands',
54
- '@codemirror/language',
55
- '@codemirror/lint',
56
- '@codemirror/search',
57
- '@codemirror/state',
58
- '@codemirror/text',
59
- '@codemirror/view',
60
- '@lezer/common',
61
- '@lezer/highlight',
62
- '@lezer/lr',
63
- 'obsidian']
64
- );
65
-
66
- const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
67
- '@codemirror/closebrackets',
68
- '@codemirror/comment',
69
- '@codemirror/fold',
70
- '@codemirror/gutter',
71
- '@codemirror/highlight',
72
- '@codemirror/history',
73
- '@codemirror/matchbrackets',
74
- '@codemirror/panel',
75
- '@codemirror/rangeset',
76
- '@codemirror/rectangular-selection',
77
- '@codemirror/stream-parser',
78
- '@codemirror/tooltip']
79
- );
80
-
81
- function requirePatched(id) {
82
- if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
83
- return originalRequire?.(id);
84
- }
85
-
86
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
87
- if (globalThis.app.isMobile) {
88
- if (id === 'process' || id === 'node:process') {
89
- // eslint-disable-next-line no-console -- Valid usage.
90
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
91
-
92
- return process;
93
- }
94
- } else {
95
- const module = originalRequire?.(id);
96
- if (module) {
97
- return extractDefault(module);
98
- }
99
- }
100
-
101
- // eslint-disable-next-line no-console -- Valid usage.
102
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
103
- return {};
104
- }
105
- })();
106
32
 
107
33
  "use strict";
108
34
  var __create = Object.create;
@@ -239,4 +165,4 @@ function createProjectRequire(projectFolder) {
239
165
  requireOptionalPeer,
240
166
  resolveOptionalPeer
241
167
  });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9vYnNpZGlhbi1wbHVnaW4tZmVhdHVyZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBidWlsZCBmZWF0dXJlcyBldmVyeSBidW5kbGVyIGFkYXB0ZXIgb2ZmZXJzIGJlc2lkZSB0aGUgcGxhaW4gcGx1Z2luIGJ1aWxkOiBhIFVJIGZyYW1ld29yaywgdGhlIHN0eWxlc2hlZXRcbiAqIHBpcGVsaW5lIGFuZCBXZWJBc3NlbWJseS4gRXZlcnkgYWRhcHRlciB0YWtlcyB0aGUgc2FtZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30sIHNvIGEgcHJvamVjdCB0aGF0XG4gKiBzd2l0Y2hlcyBidW5kbGVyIGtlZXBzIGl0cyBvcHRpb25zIGFuZCBpdHMgaW5zdGFsbGVkIHBhY2thZ2VzLlxuICpcbiAqIEVhY2ggZmVhdHVyZSdzIHBhY2thZ2VzIGFyZSBvcHRpb25hbCBwZWVyIGRlcGVuZGVuY2llcyBvZiB0aGUgdG9vbGtpdCwgaW1wb3J0ZWQgZnJvbSB0aGUgUFJPSkVDVCdzIG93blxuICogYG5vZGVfbW9kdWxlc2Agb25seSB3aGVuIHRoZSBmZWF0dXJlIGlzIG9uLCB0aHJvdWdoIHtAbGluayBpbXBvcnRPcHRpb25hbFBlZXJ9LlxuICpcbiAqIEVyYXNhYmxlIFR5cGVTY3JpcHQgb25seSAobm8gZW51bXMsIG5vIHBhcmFtZXRlciBwcm9wZXJ0aWVzKTogYG9ic2lkaWFuLXBsdWdpbi10cmFuc2Zvcm1zLnRzYCBpbXBvcnRzIHRoaXMgbW9kdWxlLFxuICogYW5kIGEgd2VicGFjayBsb2FkZXIgb3IgYSBwYXJjZWwgd29ya2VyIGxvYWRzIHRoYXQgb25lIHN0cmFpZ2h0IGZyb20gc291cmNlIHdoZW4gdGhlIHRvb2xraXQgcnVucyBmcm9tIHNvdXJjZS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZXNjYXBlUmVnRXhwIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gJ25vZGU6bW9kdWxlJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuXG4vKipcbiAqIFdoaWNoIHNoYXJlZCB0cmFuc2Zvcm0gYSBtb2R1bGUgZ29lcyB0aHJvdWdoLCBhcyB7QGxpbmsgZ2V0RmVhdHVyZUZpbGVLaW5kfSB0ZWxscyBpdC5cbiAqL1xuZXhwb3J0IHR5cGUgRmVhdHVyZUZpbGVLaW5kID0gJ2pzeCcgfCAnc3R5bGVzaGVldCcgfCAnc3ZlbHRlJyB8ICd3YXNtJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0RnJhbWV3b3JrRGVmaW5lc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RnJhbWV3b3JrRGVmaW5lc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVUkgZnJhbWV3b3JrLCBpZiBhbnkuXG4gICAqL1xuICByZWFkb25seSBmcmFtZXdvcms6IE9ic2lkaWFuUGx1Z2luRnJhbWV3b3JrIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGltcG9ydE9wdGlvbmFsUGVlcn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0T3B0aW9uYWxQZWVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBvcHRpb24gdGhhdCBuZWVkcyB0aGUgcGFja2FnZSwgYXMgdGhlIGVycm9yIG1lc3NhZ2UgbmFtZXMgaXQsIGUuZy4gYGZyYW1ld29yazogJ3NvbGlkJ2AuXG4gICAqL1xuICByZWFkb25seSBmZWF0dXJlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlIHRvIGluc3RhbGwgd2hlbiBpdCBpcyBtaXNzaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB3aG9zZSBgbm9kZV9tb2R1bGVzYCB0aGUgcGFja2FnZSBpcyByZXNvbHZlZCBmcm9tLiBEZWZhdWx0cyB0byB0aGUgcHJvamVjdCByb290LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdEZvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vZHVsZSB0byBpbXBvcnQuIERlZmF1bHRzIHRvIHtAbGluayBwYWNrYWdlTmFtZX0uXG4gICAqL1xuICByZWFkb25seSBzcGVjaWZpZXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIGJ1aWxkIGZlYXR1cmVzIGJlc2lkZSB0aGUgcGxhaW4gcGx1Z2luIGJ1aWxkLiBFdmVyeSBvcHRpb24gaXMgb2ZmIHVubGVzcyBzZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVUkgZnJhbWV3b3JrIHdob3NlIGNvbXBvbmVudHMgdGhlIGJ1aWxkIGNvbXBpbGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJhbWV3b3JrPzogT2JzaWRpYW5QbHVnaW5GcmFtZXdvcms7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXNoZWV0IHBpcGVsaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgc3R5bGVzPzogT2JzaWRpYW5QbHVnaW5TdHlsZXNPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGBpbXBvcnQgYnl0ZXMgZnJvbSAnLi9tb2R1bGUud2FzbSdgIGltcG9ydHMgdGhlIG1vZHVsZSdzIGJ5dGVzIGFzIGEgYFVpbnQ4QXJyYXlgLCBpbmxpbmVkIGludG8gYG1haW4uanNgLlxuICAgKi9cbiAgcmVhZG9ubHkgd2FzbT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBVSSBmcmFtZXdvcmsgdGhlIGJ1bmRsZXIgYWRhcHRlcnMgY29tcGlsZS5cbiAqXG4gKiAtIGByZWFjdGAgYW5kIGBwcmVhY3RgIGNvbXBpbGUgSlNYIHdpdGggdGhlIGF1dG9tYXRpYyBydW50aW1lIGZyb20gYHJlYWN0YCAvIGBwcmVhY3RgLlxuICogLSBgc29saWRgIGNvbXBpbGVzIEpTWCB3aXRoIGBiYWJlbC1wcmVzZXQtc29saWRgLlxuICogLSBgc3ZlbHRlYCBjb21waWxlcyBgLnN2ZWx0ZWAgY29tcG9uZW50cyBhbmQgYC5zdmVsdGUudHNgIC8gYC5zdmVsdGUuanNgIG1vZHVsZXMgd2l0aCB0aGUgcHJvamVjdCdzIGBzdmVsdGVgLlxuICogLSBgdnVlYCBjb21waWxlcyBzaW5nbGUtZmlsZSBjb21wb25lbnRzIHdpdGggYHVucGx1Z2luLXZ1ZWAgKG9uIHBhcmNlbCwgd2l0aCBgQHBhcmNlbC90cmFuc2Zvcm1lci12dWVgKS5cbiAqL1xuZXhwb3J0IHR5cGUgT2JzaWRpYW5QbHVnaW5GcmFtZXdvcmsgPSAncHJlYWN0JyB8ICdyZWFjdCcgfCAnc29saWQnIHwgJ3N2ZWx0ZScgfCAndnVlJztcblxuLyoqXG4gKiBUaGUgc3R5bGVzaGVldCBwaXBlbGluZSBvZiB7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5QbHVnaW5TdHlsZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBgKi5tb2R1bGUuY3NzYCBmaWxlIGlzIGEgQ1NTIG1vZHVsZTogaXRzIGNsYXNzIG5hbWVzIGFyZSBzY29wZWQsIGFuZCBpbXBvcnRpbmcgaXQgZ2l2ZXMgdGhlIHNjb3BlZFxuICAgKiBuYW1lcyBieSB0aGVpciBvcmlnaW5hbCBvbmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzTW9kdWxlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZXZlcnkgc3R5bGVzaGVldCBnb2VzIHRocm91Z2ggdGhlIHByb2plY3QncyBQb3N0Q1NTIGNvbmZpZ3VyYXRpb24gKGBwb3N0Y3NzLmNvbmZpZy4qYCwgYC5wb3N0Y3NzcmMqYCwgb3JcbiAgICogYHBvc3Rjc3NgIGluIGBwYWNrYWdlLmpzb25gKS5cbiAgICovXG4gIHJlYWRvbmx5IHBvc3Rjc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGV2ZXJ5IHN0eWxlc2hlZXQgZ29lcyB0aHJvdWdoIFRhaWx3aW5kIENTUyA0IChgQHRhaWx3aW5kY3NzL3Bvc3Rjc3NgKSwgc28gYEBpbXBvcnQgXCJ0YWlsd2luZGNzc1wiO2BcbiAgICogZXhwYW5kcyB0byB0aGUgdXRpbGl0aWVzIHRoZSBzb3VyY2VzIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IHRhaWx3aW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVxdWlyZU9wdGlvbmFsUGVlcn06IHRoZSBzYW1lIGFzIHtAbGluayBJbXBvcnRPcHRpb25hbFBlZXJQYXJhbXN9LlxuICovXG5leHBvcnQgdHlwZSBSZXF1aXJlT3B0aW9uYWxQZWVyUGFyYW1zID0gSW1wb3J0T3B0aW9uYWxQZWVyUGFyYW1zO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZXNvbHZlT3B0aW9uYWxQZWVyfTogdGhlIHNhbWUgYXMge0BsaW5rIEltcG9ydE9wdGlvbmFsUGVlclBhcmFtc30uXG4gKi9cbmV4cG9ydCB0eXBlIFJlc29sdmVPcHRpb25hbFBlZXJQYXJhbXMgPSBJbXBvcnRPcHRpb25hbFBlZXJQYXJhbXM7XG5cbmNvbnN0IENTU19NT0RVTEVfRklMRV9QQVRURVJOID0gL1xcLm1vZHVsZVxcLig/OmNzc3xwY3NzfHNbYWNdc3MpJC9pdTtcbmNvbnN0IEpTWF9TT1VSQ0VfRklMRV9QQVRURVJOID0gL1xcLltqdF1zeCQvaXU7XG5jb25zdCBTVFlMRVNIRUVUX0ZJTEVfUEFUVEVSTiA9IC9cXC5wP2NzcyQvaXU7XG5jb25zdCBTVkVMVEVfRklMRV9QQVRURVJOID0gL1xcLnN2ZWx0ZSg/OlxcLltjbV0/W2p0XXMpPyQvaXU7XG5jb25zdCBXQVNNX0ZJTEVfUEFUVEVSTiA9IC9cXC53YXNtJC9pdTtcbmNvbnN0IFZJUlRVQUxfTU9EVUxFX1BSRUZJWCA9ICdcXDAnO1xuXG4vKipcbiAqIFRlbGxzIHdoaWNoIHNoYXJlZCB0cmFuc2Zvcm0gYSBtb2R1bGUgb2YgYSByb2xsdXAtZmFtaWx5IGJ1aWxkIGdvZXMgdGhyb3VnaCwgYnkgaXRzIGlkLlxuICpcbiAqIEEgdmlydHVhbCBtb2R1bGUgKGFuIGlkIHN0YXJ0aW5nIHdpdGggYFxcMGApIGdvZXMgdGhyb3VnaCBub25lLiBBIHF1ZXJ5IGlzIHBhcnQgb2YgdGhlIG1hdGNoIGZvciBhIHN0eWxlc2hlZXQsIHNvIGFcbiAqIFZ1ZSBjb21wb25lbnQncyBgP3Z1ZSZ0eXBlPXN0eWxlJmxhbmcuY3NzYCBibG9jayBjb3VudHMgYXMgb25lLCBhbmQgaXMgY3V0IG9mZiBmb3IgdGhlIHJlc3QuXG4gKlxuICogQHBhcmFtIGlkIC0gVGhlIG1vZHVsZSBpZC5cbiAqIEByZXR1cm5zIFRoZSBraW5kIG9mIGZpbGUsIG9yIGB1bmRlZmluZWRgIGZvciBhIG1vZHVsZSBubyBmZWF0dXJlIHRyYW5zZm9ybXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGZWF0dXJlRmlsZUtpbmQoaWQ6IHN0cmluZyk6IEZlYXR1cmVGaWxlS2luZCB8IHVuZGVmaW5lZCB7XG4gIGlmIChpZC5zdGFydHNXaXRoKFZJUlRVQUxfTU9EVUxFX1BSRUZJWCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChTVFlMRVNIRUVUX0ZJTEVfUEFUVEVSTi50ZXN0KGlkKSkge1xuICAgIHJldHVybiAnc3R5bGVzaGVldCc7XG4gIH1cbiAgY29uc3QgW2ZpbGVQYXRoID0gJyddID0gaWQuc3BsaXQoJz8nLCAxKTtcbiAgaWYgKFNWRUxURV9GSUxFX1BBVFRFUk4udGVzdChmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gJ3N2ZWx0ZSc7XG4gIH1cbiAgaWYgKEpTWF9TT1VSQ0VfRklMRV9QQVRURVJOLnRlc3QoZmlsZVBhdGgpKSB7XG4gICAgcmV0dXJuICdqc3gnO1xuICB9XG4gIHJldHVybiBXQVNNX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGVQYXRoKSA/ICd3YXNtJyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGNvbXBpbGUtdGltZSBjb25zdGFudHMgYSBmcmFtZXdvcmsncyBydW50aW1lIHJlYWRzLCB3aGljaCBPYnNpZGlhbidzIHJlbmRlcmVyIGRvZXMgbm90IGRlZmluZS5cbiAqXG4gKiBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIHBpY2tzIGEgcnVudGltZSdzIHByb2R1Y3Rpb24gYnVpbGQgKFJlYWN0LCBQcmVhY3QncyBkZXZ0b29scywgVnVlLCBTb2xpZCksIGFuZCB3aXRob3V0IGl0IGFcbiAqIHByb2R1Y3Rpb24gcGx1Z2luIHdvdWxkIGJ1bmRsZSBhbmQgcnVuIHRoZSBkZXZlbG9wbWVudCBvbmUuIFZ1ZSBhbHNvIHJlYWRzIGl0cyB0aHJlZSBmZWF0dXJlIGZsYWdzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEdldEZyYW1ld29ya0RlZmluZXNQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGNvbnN0YW50cywgYnkgZXhwcmVzc2lvbiwgZWFjaCB2YWx1ZSBhIEphdmFTY3JpcHQgbGl0ZXJhbC4gRW1wdHkgd2hlbiB0aGVyZSBpcyBubyBmcmFtZXdvcmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGcmFtZXdvcmtEZWZpbmVzKHBhcmFtczogR2V0RnJhbWV3b3JrRGVmaW5lc1BhcmFtcyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCB7IGZyYW1ld29yaywgaXNQcm9kdWN0aW9uQnVpbGQgfSA9IHBhcmFtcztcbiAgaWYgKGZyYW1ld29yayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgZGVmaW5lczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAncHJvY2Vzcy5lbnYuTk9ERV9FTlYnOiBKU09OLnN0cmluZ2lmeShpc1Byb2R1Y3Rpb25CdWlsZCA/ICdwcm9kdWN0aW9uJyA6ICdkZXZlbG9wbWVudCcpXG4gIH07XG4gIGlmIChmcmFtZXdvcmsgPT09ICd2dWUnKSB7XG4gICAgZGVmaW5lc1snX19WVUVfT1BUSU9OU19BUElfXyddID0gJ3RydWUnO1xuICAgIGRlZmluZXNbJ19fVlVFX1BST0RfREVWVE9PTFNfXyddID0gJ2ZhbHNlJztcbiAgICBkZWZpbmVzWydfX1ZVRV9QUk9EX0hZRFJBVElPTl9NSVNNQVRDSF9ERVRBSUxTX18nXSA9ICdmYWxzZSc7XG4gIH1cbiAgcmV0dXJuIGRlZmluZXM7XG59XG5cbi8qKlxuICogVGVsbHMgd2hpY2ggcGFja2FnZSBzdXBwbGllcyB0aGUgYXV0b21hdGljIEpTWCBydW50aW1lIG9mIGEgZnJhbWV3b3JrLlxuICpcbiAqIEBwYXJhbSBmcmFtZXdvcmsgLSBUaGUgVUkgZnJhbWV3b3JrLCBpZiBhbnkuXG4gKiBAcmV0dXJucyBgcmVhY3RgIG9yIGBwcmVhY3RgLCBvciBgdW5kZWZpbmVkYCBmb3IgYSBmcmFtZXdvcmsgdGhhdCBkb2VzIG5vdCBjb21waWxlIEpTWCB3aXRoIHRoZSBhdXRvbWF0aWMgcnVudGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEpzeEltcG9ydFNvdXJjZShmcmFtZXdvcms6IE9ic2lkaWFuUGx1Z2luRnJhbWV3b3JrIHwgdW5kZWZpbmVkKTogJ3ByZWFjdCcgfCAncmVhY3QnIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGZyYW1ld29yayA9PT0gJ3ByZWFjdCcgfHwgZnJhbWV3b3JrID09PSAncmVhY3QnID8gZnJhbWV3b3JrIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEltcG9ydHMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGZyb20gdGhlIHByb2plY3QncyBvd24gYG5vZGVfbW9kdWxlc2AuXG4gKlxuICogUmVzb2x2ZWQgZnJvbSB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBmcm9tIHRoZSB0b29sa2l0LCBzbyBhIHBhY2thZ2UgbWFuYWdlciB0aGF0IGRvZXMgbm90IGhvaXN0IHN0aWxsIGZpbmRzIHdoYXRcbiAqIHRoZSBwcm9qZWN0IGluc3RhbGxlZC5cbiAqXG4gKiBAdHlwZVBhcmFtIE1vZHVsZSAtIFRoZSBtb2R1bGUncyB0eXBlLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgSW1wb3J0T3B0aW9uYWxQZWVyUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG1vZHVsZSBuYW1lc3BhY2UuXG4gKiBAdGhyb3dzIElmIHRoZSBwcm9qZWN0IGRvZXMgbm90IGhhdmUgdGhlIHBhY2thZ2UsIG5hbWluZyB0aGUgb3B0aW9uIHRoYXQgbmVlZHMgaXQgYW5kIHRoZSBjb21tYW5kIHRoYXQgaW5zdGFsbHMgaXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbXBvcnRPcHRpb25hbFBlZXI8TW9kdWxlPihwYXJhbXM6IEltcG9ydE9wdGlvbmFsUGVlclBhcmFtcyk6IFByb21pc2U8TW9kdWxlPiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnNhbml0aXplZC9tZXRob2QgLS0gVGhlIHBhdGggaXMgd2hhdCBOb2RlIHJlc29sdmVkIHRoZSBwYWNrYWdlIG5hbWUgdG8sIGZyb20gdGhlIHByb2plY3QncyBvd24gYG5vZGVfbW9kdWxlc2AuXG4gIHJldHVybiBhd2FpdCBpbXBvcnQocGF0aFRvRmlsZVVSTChyZXNvbHZlT3B0aW9uYWxQZWVyKHBhcmFtcykpLmhyZWYpIGFzIE1vZHVsZTtcbn1cblxuLyoqXG4gKiBUZWxscyB3aGV0aGVyIGEgc3R5bGVzaGVldCBpcyBhIENTUyBtb2R1bGUgYnkgaXRzIGZpbGUgbmFtZS5cbiAqXG4gKiBAcGFyYW0gZmlsZVBhdGggLSBUaGUgc3R5bGVzaGVldCdzIHBhdGguXG4gKiBAcmV0dXJucyBgdHJ1ZWAgZm9yIGAqLm1vZHVsZS5jc3NgIChhbmQgYC5tb2R1bGUucGNzc2AsIGAubW9kdWxlLnNjc3NgLCBgLm1vZHVsZS5zYXNzYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nzc01vZHVsZUZpbGUoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQ1NTX01PRFVMRV9GSUxFX1BBVFRFUk4udGVzdChmaWxlUGF0aCk7XG59XG5cbi8qKlxuICogVGVsbHMgd2hldGhlciBhIHN0eWxlc2hlZXQgZ29lcyB0aHJvdWdoIFBvc3RDU1MgYXQgYWxsLlxuICpcbiAqIEBwYXJhbSBzdHlsZXMgLSBUaGUgc3R5bGVzaGVldCBvcHRpb25zLCBpZiBhbnkuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgcHJvamVjdCdzIFBvc3RDU1MgY29uZmlndXJhdGlvbiBvciBUYWlsd2luZCBhcHBsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQb3N0Y3NzTmVlZGVkKHN0eWxlczogT2JzaWRpYW5QbHVnaW5TdHlsZXNPcHRpb25zIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKHN0eWxlcz8ucG9zdGNzcykgfHwgQm9vbGVhbihzdHlsZXM/LnRhaWx3aW5kKTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyBlYWNoIGNvbXBpbGUtdGltZSBjb25zdGFudCBpbiBhIG1vZHVsZSdzIGNvZGUgd2l0aCBpdHMgdmFsdWUsIGFzIGEgYnVuZGxlcidzIGBkZWZpbmVgIGRvZXM6IG9ubHkgd2hlcmVcbiAqIHRoZSB3aG9sZSBleHByZXNzaW9uIHN0YW5kcyBvbiBpdHMgb3duLCBzbyBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIGlzIHJlcGxhY2VkIGFuZCBgYS5wcm9jZXNzLmVudi5OT0RFX0VOVmAgb3JcbiAqIGBwcm9jZXNzLmVudi5OT0RFX0VOVl9YYCBhcmUgbm90LlxuICpcbiAqIEBwYXJhbSBjb2RlIC0gVGhlIG1vZHVsZSdzIGNvZGUuXG4gKiBAcGFyYW0gZGVmaW5lcyAtIFRoZSBjb25zdGFudHMsIGJ5IGV4cHJlc3Npb24sIGVhY2ggdmFsdWUgYSBKYXZhU2NyaXB0IGxpdGVyYWwuXG4gKiBAcmV0dXJucyBUaGUgY29kZSB3aXRoIHRoZSBjb25zdGFudHMgcmVwbGFjZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlRGVmaW5lcyhjb2RlOiBzdHJpbmcsIGRlZmluZXM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdCA9IGNvZGU7XG4gIGZvciAoY29uc3QgW2V4cHJlc3Npb24sIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkZWZpbmVzKSkge1xuICAgIGlmICghcmVzdWx0LmluY2x1ZGVzKGV4cHJlc3Npb24pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UobmV3IFJlZ0V4cChTdHJpbmcucmF3YCg/PCFbXFx3JC5dKSR7ZXNjYXBlUmVnRXhwKGV4cHJlc3Npb24pfSg/IVtcXHckXSlgLCAnZ3UnKSwgKCkgPT4gdmFsdWUpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogTG9hZHMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGZyb20gdGhlIHByb2plY3QncyBvd24gYG5vZGVfbW9kdWxlc2Agc3luY2hyb25vdXNseSwgZm9yIGEgYnVuZGxlciB3aG9zZSBwbHVnaW5zXG4gKiBhcmUgYXBwbGllZCBzeW5jaHJvbm91c2x5ICh3ZWJwYWNrKS4gTG9hZHMgYW4gRVMgbW9kdWxlIHRvbywgdGhyb3VnaCBgcmVxdWlyZWAuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgUmVxdWlyZU9wdGlvbmFsUGVlclBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlLCBmb3IgdGhlIGNhbGxlciB0byB0eXBlLlxuICogQHRocm93cyBJZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBoYXZlIHRoZSBwYWNrYWdlLCBuYW1pbmcgdGhlIG9wdGlvbiB0aGF0IG5lZWRzIGl0IGFuZCB0aGUgY29tbWFuZCB0aGF0IGluc3RhbGxzIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZU9wdGlvbmFsUGVlcihwYXJhbXM6IFJlcXVpcmVPcHRpb25hbFBlZXJQYXJhbXMpOiB1bmtub3duIHtcbiAgcmV0dXJuIGNyZWF0ZVByb2plY3RSZXF1aXJlKHBhcmFtcy5wcm9qZWN0Rm9sZGVyKShyZXNvbHZlT3B0aW9uYWxQZWVyKHBhcmFtcykpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGFuIG9wdGlvbmFsIHBlZXIgZGVwZW5kZW5jeSBmcm9tIHRoZSBwcm9qZWN0J3Mgb3duIGBub2RlX21vZHVsZXNgLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVPcHRpb25hbFBlZXJQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIG1vZHVsZS5cbiAqIEB0aHJvd3MgSWYgdGhlIHByb2plY3QgZG9lcyBub3QgaGF2ZSB0aGUgcGFja2FnZSwgbmFtaW5nIHRoZSBvcHRpb24gdGhhdCBuZWVkcyBpdCBhbmQgdGhlIGNvbW1hbmQgdGhhdCBpbnN0YWxscyBpdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPcHRpb25hbFBlZXIocGFyYW1zOiBSZXNvbHZlT3B0aW9uYWxQZWVyUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBmZWF0dXJlLCBwYWNrYWdlTmFtZSB9ID0gcGFyYW1zO1xuICB0cnkge1xuICAgIHJldHVybiBjcmVhdGVQcm9qZWN0UmVxdWlyZShwYXJhbXMucHJvamVjdEZvbGRlcikucmVzb2x2ZShwYXJhbXMuc3BlY2lmaWVyID8/IHBhY2thZ2VOYW1lKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIFxcYCR7ZmVhdHVyZX1cXGAgYnVpbGQgb3B0aW9uIG5lZWRzIFxcYCR7cGFja2FnZU5hbWV9XFxgLCB3aGljaCB0aGlzIHByb2plY3QgZG9lcyBub3QgaGF2ZS4gSW5zdGFsbCBpdCB3aXRoOiBucG0gaW5zdGFsbCAtLXNhdmUtZGV2ICR7cGFja2FnZU5hbWV9YCxcbiAgICAgIHsgY2F1c2U6IGVycm9yIH1cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVByb2plY3RSZXF1aXJlKHByb2plY3RGb2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IE5vZGVKUy5SZXF1aXJlIHtcbiAgcmV0dXJuIGNyZWF0ZVJlcXVpcmUoam9pbihwcm9qZWN0Rm9sZGVyID8/IGdldFJvb3RGb2xkZXIoKSA/PyBwcm9jZXNzLmN3ZCgpLCAncGFja2FnZS5qc29uJykpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esa0JBQThCO0FBQzlCLGtCQUFxQjtBQUNyQixxQkFBNkI7QUFDN0IseUJBQThCO0FBQzlCLDBCQUFvQjtBQUNwQixzQkFBOEI7QUE4RzlCLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sb0JBQW9CO0FBQzFCLE1BQU0sd0JBQXdCO0FBV3ZCLFNBQVMsbUJBQW1CLElBQXlDO0FBQzFFLE1BQUksR0FBRyxXQUFXLHFCQUFxQixHQUFHO0FB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
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9vYnNpZGlhbi1wbHVnaW4tZmVhdHVyZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBidWlsZCBmZWF0dXJlcyBldmVyeSBidW5kbGVyIGFkYXB0ZXIgb2ZmZXJzIGJlc2lkZSB0aGUgcGxhaW4gcGx1Z2luIGJ1aWxkOiBhIFVJIGZyYW1ld29yaywgdGhlIHN0eWxlc2hlZXRcbiAqIHBpcGVsaW5lIGFuZCBXZWJBc3NlbWJseS4gRXZlcnkgYWRhcHRlciB0YWtlcyB0aGUgc2FtZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30sIHNvIGEgcHJvamVjdCB0aGF0XG4gKiBzd2l0Y2hlcyBidW5kbGVyIGtlZXBzIGl0cyBvcHRpb25zIGFuZCBpdHMgaW5zdGFsbGVkIHBhY2thZ2VzLlxuICpcbiAqIEVhY2ggZmVhdHVyZSdzIHBhY2thZ2VzIGFyZSBvcHRpb25hbCBwZWVyIGRlcGVuZGVuY2llcyBvZiB0aGUgdG9vbGtpdCwgaW1wb3J0ZWQgZnJvbSB0aGUgUFJPSkVDVCdzIG93blxuICogYG5vZGVfbW9kdWxlc2Agb25seSB3aGVuIHRoZSBmZWF0dXJlIGlzIG9uLCB0aHJvdWdoIHtAbGluayBpbXBvcnRPcHRpb25hbFBlZXJ9LlxuICpcbiAqIEVyYXNhYmxlIFR5cGVTY3JpcHQgb25seSAobm8gZW51bXMsIG5vIHBhcmFtZXRlciBwcm9wZXJ0aWVzKTogYG9ic2lkaWFuLXBsdWdpbi10cmFuc2Zvcm1zLnRzYCBpbXBvcnRzIHRoaXMgbW9kdWxlLFxuICogYW5kIGEgd2VicGFjayBsb2FkZXIgb3IgYSBwYXJjZWwgd29ya2VyIGxvYWRzIHRoYXQgb25lIHN0cmFpZ2h0IGZyb20gc291cmNlIHdoZW4gdGhlIHRvb2xraXQgcnVucyBmcm9tIHNvdXJjZS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZXNjYXBlUmVnRXhwIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gJ25vZGU6bW9kdWxlJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuXG4vKipcbiAqIFdoaWNoIHNoYXJlZCB0cmFuc2Zvcm0gYSBtb2R1bGUgZ29lcyB0aHJvdWdoLCBhcyB7QGxpbmsgZ2V0RmVhdHVyZUZpbGVLaW5kfSB0ZWxscyBpdC5cbiAqL1xuZXhwb3J0IHR5cGUgRmVhdHVyZUZpbGVLaW5kID0gJ2pzeCcgfCAnc3R5bGVzaGVldCcgfCAnc3ZlbHRlJyB8ICd3YXNtJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0RnJhbWV3b3JrRGVmaW5lc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RnJhbWV3b3JrRGVmaW5lc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVUkgZnJhbWV3b3JrLCBpZiBhbnkuXG4gICAqL1xuICByZWFkb25seSBmcmFtZXdvcms6IE9ic2lkaWFuUGx1Z2luRnJhbWV3b3JrIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGltcG9ydE9wdGlvbmFsUGVlcn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0T3B0aW9uYWxQZWVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBvcHRpb24gdGhhdCBuZWVkcyB0aGUgcGFja2FnZSwgYXMgdGhlIGVycm9yIG1lc3NhZ2UgbmFtZXMgaXQsIGUuZy4gYGZyYW1ld29yazogJ3NvbGlkJ2AuXG4gICAqL1xuICByZWFkb25seSBmZWF0dXJlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlIHRvIGluc3RhbGwgd2hlbiBpdCBpcyBtaXNzaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB3aG9zZSBgbm9kZV9tb2R1bGVzYCB0aGUgcGFja2FnZSBpcyByZXNvbHZlZCBmcm9tLiBEZWZhdWx0cyB0byB0aGUgcHJvamVjdCByb290LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdEZvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vZHVsZSB0byBpbXBvcnQuIERlZmF1bHRzIHRvIHtAbGluayBwYWNrYWdlTmFtZX0uXG4gICAqL1xuICByZWFkb25seSBzcGVjaWZpZXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIGJ1aWxkIGZlYXR1cmVzIGJlc2lkZSB0aGUgcGxhaW4gcGx1Z2luIGJ1aWxkLiBFdmVyeSBvcHRpb24gaXMgb2ZmIHVubGVzcyBzZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVUkgZnJhbWV3b3JrIHdob3NlIGNvbXBvbmVudHMgdGhlIGJ1aWxkIGNvbXBpbGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJhbWV3b3JrPzogT2JzaWRpYW5QbHVnaW5GcmFtZXdvcms7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXNoZWV0IHBpcGVsaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgc3R5bGVzPzogT2JzaWRpYW5QbHVnaW5TdHlsZXNPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGBpbXBvcnQgYnl0ZXMgZnJvbSAnLi9tb2R1bGUud2FzbSdgIGltcG9ydHMgdGhlIG1vZHVsZSdzIGJ5dGVzIGFzIGEgYFVpbnQ4QXJyYXlgLCBpbmxpbmVkIGludG8gYG1haW4uanNgLlxuICAgKi9cbiAgcmVhZG9ubHkgd2FzbT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBVSSBmcmFtZXdvcmsgdGhlIGJ1bmRsZXIgYWRhcHRlcnMgY29tcGlsZS5cbiAqXG4gKiAtIGByZWFjdGAgYW5kIGBwcmVhY3RgIGNvbXBpbGUgSlNYIHdpdGggdGhlIGF1dG9tYXRpYyBydW50aW1lIGZyb20gYHJlYWN0YCAvIGBwcmVhY3RgLlxuICogLSBgc29saWRgIGNvbXBpbGVzIEpTWCB3aXRoIGBiYWJlbC1wcmVzZXQtc29saWRgLlxuICogLSBgc3ZlbHRlYCBjb21waWxlcyBgLnN2ZWx0ZWAgY29tcG9uZW50cyBhbmQgYC5zdmVsdGUudHNgIC8gYC5zdmVsdGUuanNgIG1vZHVsZXMgd2l0aCB0aGUgcHJvamVjdCdzIGBzdmVsdGVgLlxuICogLSBgdnVlYCBjb21waWxlcyBzaW5nbGUtZmlsZSBjb21wb25lbnRzIHdpdGggYHVucGx1Z2luLXZ1ZWAgKG9uIHBhcmNlbCwgd2l0aCBgQHBhcmNlbC90cmFuc2Zvcm1lci12dWVgKS5cbiAqL1xuZXhwb3J0IHR5cGUgT2JzaWRpYW5QbHVnaW5GcmFtZXdvcmsgPSAncHJlYWN0JyB8ICdyZWFjdCcgfCAnc29saWQnIHwgJ3N2ZWx0ZScgfCAndnVlJztcblxuLyoqXG4gKiBUaGUgc3R5bGVzaGVldCBwaXBlbGluZSBvZiB7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5QbHVnaW5TdHlsZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBgKi5tb2R1bGUuY3NzYCBmaWxlIGlzIGEgQ1NTIG1vZHVsZTogaXRzIGNsYXNzIG5hbWVzIGFyZSBzY29wZWQsIGFuZCBpbXBvcnRpbmcgaXQgZ2l2ZXMgdGhlIHNjb3BlZFxuICAgKiBuYW1lcyBieSB0aGVpciBvcmlnaW5hbCBvbmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzTW9kdWxlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZXZlcnkgc3R5bGVzaGVldCBnb2VzIHRocm91Z2ggdGhlIHByb2plY3QncyBQb3N0Q1NTIGNvbmZpZ3VyYXRpb24gKGBwb3N0Y3NzLmNvbmZpZy4qYCwgYC5wb3N0Y3NzcmMqYCwgb3JcbiAgICogYHBvc3Rjc3NgIGluIGBwYWNrYWdlLmpzb25gKS5cbiAgICovXG4gIHJlYWRvbmx5IHBvc3Rjc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGV2ZXJ5IHN0eWxlc2hlZXQgZ29lcyB0aHJvdWdoIFRhaWx3aW5kIENTUyA0IChgQHRhaWx3aW5kY3NzL3Bvc3Rjc3NgKSwgc28gYEBpbXBvcnQgXCJ0YWlsd2luZGNzc1wiO2BcbiAgICogZXhwYW5kcyB0byB0aGUgdXRpbGl0aWVzIHRoZSBzb3VyY2VzIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IHRhaWx3aW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVxdWlyZU9wdGlvbmFsUGVlcn06IHRoZSBzYW1lIGFzIHtAbGluayBJbXBvcnRPcHRpb25hbFBlZXJQYXJhbXN9LlxuICovXG5leHBvcnQgdHlwZSBSZXF1aXJlT3B0aW9uYWxQZWVyUGFyYW1zID0gSW1wb3J0T3B0aW9uYWxQZWVyUGFyYW1zO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZXNvbHZlT3B0aW9uYWxQZWVyfTogdGhlIHNhbWUgYXMge0BsaW5rIEltcG9ydE9wdGlvbmFsUGVlclBhcmFtc30uXG4gKi9cbmV4cG9ydCB0eXBlIFJlc29sdmVPcHRpb25hbFBlZXJQYXJhbXMgPSBJbXBvcnRPcHRpb25hbFBlZXJQYXJhbXM7XG5cbmNvbnN0IENTU19NT0RVTEVfRklMRV9QQVRURVJOID0gL1xcLm1vZHVsZVxcLig/OmNzc3xwY3NzfHNbYWNdc3MpJC9pdTtcbmNvbnN0IEpTWF9TT1VSQ0VfRklMRV9QQVRURVJOID0gL1xcLltqdF1zeCQvaXU7XG5jb25zdCBTVFlMRVNIRUVUX0ZJTEVfUEFUVEVSTiA9IC9cXC5wP2NzcyQvaXU7XG5jb25zdCBTVkVMVEVfRklMRV9QQVRURVJOID0gL1xcLnN2ZWx0ZSg/OlxcLltjbV0/W2p0XXMpPyQvaXU7XG5jb25zdCBXQVNNX0ZJTEVfUEFUVEVSTiA9IC9cXC53YXNtJC9pdTtcbmNvbnN0IFZJUlRVQUxfTU9EVUxFX1BSRUZJWCA9ICdcXDAnO1xuXG4vKipcbiAqIFRlbGxzIHdoaWNoIHNoYXJlZCB0cmFuc2Zvcm0gYSBtb2R1bGUgb2YgYSByb2xsdXAtZmFtaWx5IGJ1aWxkIGdvZXMgdGhyb3VnaCwgYnkgaXRzIGlkLlxuICpcbiAqIEEgdmlydHVhbCBtb2R1bGUgKGFuIGlkIHN0YXJ0aW5nIHdpdGggYFxcMGApIGdvZXMgdGhyb3VnaCBub25lLiBBIHF1ZXJ5IGlzIHBhcnQgb2YgdGhlIG1hdGNoIGZvciBhIHN0eWxlc2hlZXQsIHNvIGFcbiAqIFZ1ZSBjb21wb25lbnQncyBgP3Z1ZSZ0eXBlPXN0eWxlJmxhbmcuY3NzYCBibG9jayBjb3VudHMgYXMgb25lLCBhbmQgaXMgY3V0IG9mZiBmb3IgdGhlIHJlc3QuXG4gKlxuICogQHBhcmFtIGlkIC0gVGhlIG1vZHVsZSBpZC5cbiAqIEByZXR1cm5zIFRoZSBraW5kIG9mIGZpbGUsIG9yIGB1bmRlZmluZWRgIGZvciBhIG1vZHVsZSBubyBmZWF0dXJlIHRyYW5zZm9ybXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGZWF0dXJlRmlsZUtpbmQoaWQ6IHN0cmluZyk6IEZlYXR1cmVGaWxlS2luZCB8IHVuZGVmaW5lZCB7XG4gIGlmIChpZC5zdGFydHNXaXRoKFZJUlRVQUxfTU9EVUxFX1BSRUZJWCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChTVFlMRVNIRUVUX0ZJTEVfUEFUVEVSTi50ZXN0KGlkKSkge1xuICAgIHJldHVybiAnc3R5bGVzaGVldCc7XG4gIH1cbiAgY29uc3QgW2ZpbGVQYXRoID0gJyddID0gaWQuc3BsaXQoJz8nLCAxKTtcbiAgaWYgKFNWRUxURV9GSUxFX1BBVFRFUk4udGVzdChmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gJ3N2ZWx0ZSc7XG4gIH1cbiAgaWYgKEpTWF9TT1VSQ0VfRklMRV9QQVRURVJOLnRlc3QoZmlsZVBhdGgpKSB7XG4gICAgcmV0dXJuICdqc3gnO1xuICB9XG4gIHJldHVybiBXQVNNX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGVQYXRoKSA/ICd3YXNtJyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGNvbXBpbGUtdGltZSBjb25zdGFudHMgYSBmcmFtZXdvcmsncyBydW50aW1lIHJlYWRzLCB3aGljaCBPYnNpZGlhbidzIHJlbmRlcmVyIGRvZXMgbm90IGRlZmluZS5cbiAqXG4gKiBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIHBpY2tzIGEgcnVudGltZSdzIHByb2R1Y3Rpb24gYnVpbGQgKFJlYWN0LCBQcmVhY3QncyBkZXZ0b29scywgVnVlLCBTb2xpZCksIGFuZCB3aXRob3V0IGl0IGFcbiAqIHByb2R1Y3Rpb24gcGx1Z2luIHdvdWxkIGJ1bmRsZSBhbmQgcnVuIHRoZSBkZXZlbG9wbWVudCBvbmUuIFZ1ZSBhbHNvIHJlYWRzIGl0cyB0aHJlZSBmZWF0dXJlIGZsYWdzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEdldEZyYW1ld29ya0RlZmluZXNQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGNvbnN0YW50cywgYnkgZXhwcmVzc2lvbiwgZWFjaCB2YWx1ZSBhIEphdmFTY3JpcHQgbGl0ZXJhbC4gRW1wdHkgd2hlbiB0aGVyZSBpcyBubyBmcmFtZXdvcmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGcmFtZXdvcmtEZWZpbmVzKHBhcmFtczogR2V0RnJhbWV3b3JrRGVmaW5lc1BhcmFtcyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCB7IGZyYW1ld29yaywgaXNQcm9kdWN0aW9uQnVpbGQgfSA9IHBhcmFtcztcbiAgaWYgKGZyYW1ld29yayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgZGVmaW5lczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAncHJvY2Vzcy5lbnYuTk9ERV9FTlYnOiBKU09OLnN0cmluZ2lmeShpc1Byb2R1Y3Rpb25CdWlsZCA/ICdwcm9kdWN0aW9uJyA6ICdkZXZlbG9wbWVudCcpXG4gIH07XG4gIGlmIChmcmFtZXdvcmsgPT09ICd2dWUnKSB7XG4gICAgZGVmaW5lc1snX19WVUVfT1BUSU9OU19BUElfXyddID0gJ3RydWUnO1xuICAgIGRlZmluZXNbJ19fVlVFX1BST0RfREVWVE9PTFNfXyddID0gJ2ZhbHNlJztcbiAgICBkZWZpbmVzWydfX1ZVRV9QUk9EX0hZRFJBVElPTl9NSVNNQVRDSF9ERVRBSUxTX18nXSA9ICdmYWxzZSc7XG4gIH1cbiAgcmV0dXJuIGRlZmluZXM7XG59XG5cbi8qKlxuICogVGVsbHMgd2hpY2ggcGFja2FnZSBzdXBwbGllcyB0aGUgYXV0b21hdGljIEpTWCBydW50aW1lIG9mIGEgZnJhbWV3b3JrLlxuICpcbiAqIEBwYXJhbSBmcmFtZXdvcmsgLSBUaGUgVUkgZnJhbWV3b3JrLCBpZiBhbnkuXG4gKiBAcmV0dXJucyBgcmVhY3RgIG9yIGBwcmVhY3RgLCBvciBgdW5kZWZpbmVkYCBmb3IgYSBmcmFtZXdvcmsgdGhhdCBkb2VzIG5vdCBjb21waWxlIEpTWCB3aXRoIHRoZSBhdXRvbWF0aWMgcnVudGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEpzeEltcG9ydFNvdXJjZShmcmFtZXdvcms6IE9ic2lkaWFuUGx1Z2luRnJhbWV3b3JrIHwgdW5kZWZpbmVkKTogJ3ByZWFjdCcgfCAncmVhY3QnIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGZyYW1ld29yayA9PT0gJ3ByZWFjdCcgfHwgZnJhbWV3b3JrID09PSAncmVhY3QnID8gZnJhbWV3b3JrIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEltcG9ydHMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGZyb20gdGhlIHByb2plY3QncyBvd24gYG5vZGVfbW9kdWxlc2AuXG4gKlxuICogUmVzb2x2ZWQgZnJvbSB0aGUgcHJvamVjdCByYXRoZXIgdGhhbiBmcm9tIHRoZSB0b29sa2l0LCBzbyBhIHBhY2thZ2UgbWFuYWdlciB0aGF0IGRvZXMgbm90IGhvaXN0IHN0aWxsIGZpbmRzIHdoYXRcbiAqIHRoZSBwcm9qZWN0IGluc3RhbGxlZC5cbiAqXG4gKiBAdHlwZVBhcmFtIE1vZHVsZSAtIFRoZSBtb2R1bGUncyB0eXBlLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgSW1wb3J0T3B0aW9uYWxQZWVyUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG1vZHVsZSBuYW1lc3BhY2UuXG4gKiBAdGhyb3dzIElmIHRoZSBwcm9qZWN0IGRvZXMgbm90IGhhdmUgdGhlIHBhY2thZ2UsIG5hbWluZyB0aGUgb3B0aW9uIHRoYXQgbmVlZHMgaXQgYW5kIHRoZSBjb21tYW5kIHRoYXQgaW5zdGFsbHMgaXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbXBvcnRPcHRpb25hbFBlZXI8TW9kdWxlPihwYXJhbXM6IEltcG9ydE9wdGlvbmFsUGVlclBhcmFtcyk6IFByb21pc2U8TW9kdWxlPiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnNhbml0aXplZC9tZXRob2QgLS0gVGhlIHBhdGggaXMgd2hhdCBOb2RlIHJlc29sdmVkIHRoZSBwYWNrYWdlIG5hbWUgdG8sIGZyb20gdGhlIHByb2plY3QncyBvd24gYG5vZGVfbW9kdWxlc2AuXG4gIHJldHVybiBhd2FpdCBpbXBvcnQocGF0aFRvRmlsZVVSTChyZXNvbHZlT3B0aW9uYWxQZWVyKHBhcmFtcykpLmhyZWYpIGFzIE1vZHVsZTtcbn1cblxuLyoqXG4gKiBUZWxscyB3aGV0aGVyIGEgc3R5bGVzaGVldCBpcyBhIENTUyBtb2R1bGUgYnkgaXRzIGZpbGUgbmFtZS5cbiAqXG4gKiBAcGFyYW0gZmlsZVBhdGggLSBUaGUgc3R5bGVzaGVldCdzIHBhdGguXG4gKiBAcmV0dXJucyBgdHJ1ZWAgZm9yIGAqLm1vZHVsZS5jc3NgIChhbmQgYC5tb2R1bGUucGNzc2AsIGAubW9kdWxlLnNjc3NgLCBgLm1vZHVsZS5zYXNzYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nzc01vZHVsZUZpbGUoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQ1NTX01PRFVMRV9GSUxFX1BBVFRFUk4udGVzdChmaWxlUGF0aCk7XG59XG5cbi8qKlxuICogVGVsbHMgd2hldGhlciBhIHN0eWxlc2hlZXQgZ29lcyB0aHJvdWdoIFBvc3RDU1MgYXQgYWxsLlxuICpcbiAqIEBwYXJhbSBzdHlsZXMgLSBUaGUgc3R5bGVzaGVldCBvcHRpb25zLCBpZiBhbnkuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgcHJvamVjdCdzIFBvc3RDU1MgY29uZmlndXJhdGlvbiBvciBUYWlsd2luZCBhcHBsaWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQb3N0Y3NzTmVlZGVkKHN0eWxlczogT2JzaWRpYW5QbHVnaW5TdHlsZXNPcHRpb25zIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKHN0eWxlcz8ucG9zdGNzcykgfHwgQm9vbGVhbihzdHlsZXM/LnRhaWx3aW5kKTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyBlYWNoIGNvbXBpbGUtdGltZSBjb25zdGFudCBpbiBhIG1vZHVsZSdzIGNvZGUgd2l0aCBpdHMgdmFsdWUsIGFzIGEgYnVuZGxlcidzIGBkZWZpbmVgIGRvZXM6IG9ubHkgd2hlcmVcbiAqIHRoZSB3aG9sZSBleHByZXNzaW9uIHN0YW5kcyBvbiBpdHMgb3duLCBzbyBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIGlzIHJlcGxhY2VkIGFuZCBgYS5wcm9jZXNzLmVudi5OT0RFX0VOVmAgb3JcbiAqIGBwcm9jZXNzLmVudi5OT0RFX0VOVl9YYCBhcmUgbm90LlxuICpcbiAqIEBwYXJhbSBjb2RlIC0gVGhlIG1vZHVsZSdzIGNvZGUuXG4gKiBAcGFyYW0gZGVmaW5lcyAtIFRoZSBjb25zdGFudHMsIGJ5IGV4cHJlc3Npb24sIGVhY2ggdmFsdWUgYSBKYXZhU2NyaXB0IGxpdGVyYWwuXG4gKiBAcmV0dXJucyBUaGUgY29kZSB3aXRoIHRoZSBjb25zdGFudHMgcmVwbGFjZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlRGVmaW5lcyhjb2RlOiBzdHJpbmcsIGRlZmluZXM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdCA9IGNvZGU7XG4gIGZvciAoY29uc3QgW2V4cHJlc3Npb24sIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkZWZpbmVzKSkge1xuICAgIGlmICghcmVzdWx0LmluY2x1ZGVzKGV4cHJlc3Npb24pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UobmV3IFJlZ0V4cChTdHJpbmcucmF3YCg/PCFbXFx3JC5dKSR7ZXNjYXBlUmVnRXhwKGV4cHJlc3Npb24pfSg/IVtcXHckXSlgLCAnZ3UnKSwgKCkgPT4gdmFsdWUpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogTG9hZHMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGZyb20gdGhlIHByb2plY3QncyBvd24gYG5vZGVfbW9kdWxlc2Agc3luY2hyb25vdXNseSwgZm9yIGEgYnVuZGxlciB3aG9zZSBwbHVnaW5zXG4gKiBhcmUgYXBwbGllZCBzeW5jaHJvbm91c2x5ICh3ZWJwYWNrKS4gTG9hZHMgYW4gRVMgbW9kdWxlIHRvbywgdGhyb3VnaCBgcmVxdWlyZWAuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgUmVxdWlyZU9wdGlvbmFsUGVlclBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlLCBmb3IgdGhlIGNhbGxlciB0byB0eXBlLlxuICogQHRocm93cyBJZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBoYXZlIHRoZSBwYWNrYWdlLCBuYW1pbmcgdGhlIG9wdGlvbiB0aGF0IG5lZWRzIGl0IGFuZCB0aGUgY29tbWFuZCB0aGF0IGluc3RhbGxzIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZU9wdGlvbmFsUGVlcihwYXJhbXM6IFJlcXVpcmVPcHRpb25hbFBlZXJQYXJhbXMpOiB1bmtub3duIHtcbiAgcmV0dXJuIGNyZWF0ZVByb2plY3RSZXF1aXJlKHBhcmFtcy5wcm9qZWN0Rm9sZGVyKShyZXNvbHZlT3B0aW9uYWxQZWVyKHBhcmFtcykpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGFuIG9wdGlvbmFsIHBlZXIgZGVwZW5kZW5jeSBmcm9tIHRoZSBwcm9qZWN0J3Mgb3duIGBub2RlX21vZHVsZXNgLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVPcHRpb25hbFBlZXJQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIG1vZHVsZS5cbiAqIEB0aHJvd3MgSWYgdGhlIHByb2plY3QgZG9lcyBub3QgaGF2ZSB0aGUgcGFja2FnZSwgbmFtaW5nIHRoZSBvcHRpb24gdGhhdCBuZWVkcyBpdCBhbmQgdGhlIGNvbW1hbmQgdGhhdCBpbnN0YWxscyBpdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPcHRpb25hbFBlZXIocGFyYW1zOiBSZXNvbHZlT3B0aW9uYWxQZWVyUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBmZWF0dXJlLCBwYWNrYWdlTmFtZSB9ID0gcGFyYW1zO1xuICB0cnkge1xuICAgIHJldHVybiBjcmVhdGVQcm9qZWN0UmVxdWlyZShwYXJhbXMucHJvamVjdEZvbGRlcikucmVzb2x2ZShwYXJhbXMuc3BlY2lmaWVyID8/IHBhY2thZ2VOYW1lKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIFxcYCR7ZmVhdHVyZX1cXGAgYnVpbGQgb3B0aW9uIG5lZWRzIFxcYCR7cGFja2FnZU5hbWV9XFxgLCB3aGljaCB0aGlzIHByb2plY3QgZG9lcyBub3QgaGF2ZS4gSW5zdGFsbCBpdCB3aXRoOiBucG0gaW5zdGFsbCAtLXNhdmUtZGV2ICR7cGFja2FnZU5hbWV9YCxcbiAgICAgIHsgY2F1c2U6IGVycm9yIH1cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVByb2plY3RSZXF1aXJlKHByb2plY3RGb2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IE5vZGVKUy5SZXF1aXJlIHtcbiAgcmV0dXJuIGNyZWF0ZVJlcXVpcmUoam9pbihwcm9qZWN0Rm9sZGVyID8/IGdldFJvb3RGb2xkZXIoKSA/PyBwcm9jZXNzLmN3ZCgpLCAncGFja2FnZS5qc29uJykpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLGtCQUE4QjtBQUM5QixrQkFBcUI7QUFDckIscUJBQTZCO0FBQzdCLHlCQUE4QjtBQUM5QiwwQkFBb0I7QUFDcEIsc0JBQThCO0FBOEc5QixNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLHNCQUFzQjtBQUM1QixNQUFNLG9CQUFvQjtBQUMxQixNQUFNLHdCQUF3QjtBQVd2QixTQUFTLG1CQUFtQixJQUF5QztBQUMxRSxNQUFJLEdBQUcsV0FBVyxxQkFBcUIsR0FBRztBQUN4QyxXQUFPO0FBQUEsRUFDVDtBQUNBLE1BQUksd0JBQXdCLEtBQUssRUFBRSxHQUFHO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBQ0EsUUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdkMsTUFBSSxvQkFBb0IsS0FBSyxRQUFRLEdBQUc7QUFDdEMsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJLHdCQUF3QixLQUFLLFFBQVEsR0FBRztBQUMxQyxXQUFPO0FBQUEsRUFDVDtBQUNBLFNBQU8sa0JBQWtCLEtBQUssUUFBUSxJQUFJLFNBQVM7QUFDckQ7QUFXTyxTQUFTLG9CQUFvQixRQUEyRDtBQUM3RixRQUFNLEVBQUUsV0FBVyxrQkFBa0IsSUFBSTtBQUN6QyxNQUFJLGNBQWMsUUFBVztBQUMzQixXQUFPLENBQUM7QUFBQSxFQUNWO0FBRUEsUUFBTSxVQUFrQztBQUFBLElBQ3RDLHdCQUF3QixLQUFLLFVBQVUsb0JBQW9CLGVBQWUsYUFBYTtBQUFBLEVBQ3pGO0FBQ0EsTUFBSSxjQUFjLE9BQU87QUFDdkIsWUFBUSxxQkFBcUIsSUFBSTtBQUNqQyxZQUFRLHVCQUF1QixJQUFJO0FBQ25DLFlBQVEseUNBQXlDLElBQUk7QUFBQSxFQUN2RDtBQUNBLFNBQU87QUFDVDtBQVFPLFNBQVMsbUJBQW1CLFdBQWdGO0FBQ2pILFNBQU8sY0FBYyxZQUFZLGNBQWMsVUFBVSxZQUFZO0FBQ3ZFO0FBYUEsZUFBc0IsbUJBQTJCLFFBQW1EO0FBRWxHLFNBQU8sTUFBTSxXQUFPLCtCQUFjLG9CQUFvQixNQUFNLENBQUMsRUFBRTtBQUNqRTtBQVFPLFNBQVMsZ0JBQWdCLFVBQTJCO0FBQ3pELFNBQU8sd0JBQXdCLEtBQUssUUFBUTtBQUM5QztBQVFPLFNBQVMsZ0JBQWdCLFFBQTBEO0FBQ3hGLFNBQU8sUUFBUSxRQUFRLE9BQU8sS0FBSyxRQUFRLFFBQVEsUUFBUTtBQUM3RDtBQVdPLFNBQVMsZUFBZSxNQUFjLFNBQW1EO0FBQzlGLE1BQUksU0FBUztBQUNiLGFBQVcsQ0FBQyxZQUFZLEtBQUssS0FBSyxPQUFPLFFBQVEsT0FBTyxHQUFHO0FBQ3pELFFBQUksQ0FBQyxPQUFPLFNBQVMsVUFBVSxHQUFHO0FBQ2hDO0FBQUEsSUFDRjtBQUNBLGFBQVMsT0FBTyxRQUFRLElBQUksT0FBTyxPQUFPLHFCQUFpQiw2QkFBYSxVQUFVLENBQUMsYUFBYSxJQUFJLEdBQUcsTUFBTSxLQUFLO0FBQUEsRUFDcEg7QUFDQSxTQUFPO0FBQ1Q7QUFVTyxTQUFTLG9CQUFvQixRQUE0QztBQUM5RSxTQUFPLHFCQUFxQixPQUFPLGFBQWEsRUFBRSxvQkFBb0IsTUFBTSxDQUFDO0FBQy9FO0FBU08sU0FBUyxvQkFBb0IsUUFBMkM7QUFDN0UsUUFBTSxFQUFFLFNBQVMsWUFBWSxJQUFJO0FBQ2pDLE1BQUk7QUFDRixXQUFPLHFCQUFxQixPQUFPLGFBQWEsRUFBRSxRQUFRLE9BQU8sYUFBYSxXQUFXO0FBQUEsRUFDM0YsU0FBUyxPQUFPO0FBQ2QsVUFBTSxJQUFJO0FBQUEsTUFDUixTQUFTLE9BQU8sMkJBQTJCLFdBQVcsaUZBQWlGLFdBQVc7QUFBQSxNQUNsSixFQUFFLE9BQU8sTUFBTTtBQUFBLElBQ2pCO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyxxQkFBcUIsZUFBbUQ7QUFDL0UsYUFBTyxzQ0FBYyxrQkFBSyxxQkFBaUIsMkJBQWMsS0FBSyxvQkFBQUEsUUFBUSxJQUFJLEdBQUcsY0FBYyxDQUFDO0FBQzlGOyIsIm5hbWVzIjpbInByb2Nlc3MiXX0=