@mnaoumov/obsidian-dev-toolkit 3.1.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 (97) 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/jest-setup.d.cts +2 -1
  39. package/dist/lib/cjs/linters/eslint-config.cjs +1 -75
  40. package/dist/lib/cjs/linters/eslint-rules/index.cjs +1 -75
  41. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +1 -75
  42. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +1 -75
  43. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +1 -75
  44. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +1 -75
  45. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +1 -75
  46. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +1 -75
  47. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +2 -77
  48. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +1 -75
  49. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.cjs +1 -75
  50. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +1 -75
  51. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +1 -75
  52. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +1 -75
  53. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +1 -75
  54. package/dist/lib/cjs/linters/eslint.cjs +1 -75
  55. package/dist/lib/cjs/linters/index.cjs +1 -75
  56. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +1 -75
  57. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +1 -75
  58. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +1 -75
  59. package/dist/lib/cjs/linters/markdownlint.cjs +1 -75
  60. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +1 -75
  61. package/dist/lib/cjs/linters/plugin-names.cjs +1 -75
  62. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +1 -75
  63. package/dist/lib/cjs/setup.cjs +1 -75
  64. package/dist/lib/cjs/templates.cjs +3 -77
  65. package/dist/lib/cjs/test-runners/coverage-badge-cli.cjs +1 -75
  66. package/dist/lib/cjs/test-runners/coverage-badge.cjs +1 -75
  67. package/dist/lib/cjs/test-runners/e2e-runner-support.cjs +1 -75
  68. package/dist/lib/cjs/test-runners/index.cjs +4 -75
  69. package/dist/lib/cjs/test-runners/index.d.cts +1 -0
  70. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +3 -77
  71. package/dist/lib/cjs/test-runners/jest-config.cjs +92 -0
  72. package/dist/lib/cjs/test-runners/jest-config.d.cts +50 -0
  73. package/dist/lib/cjs/test-runners/obsidian-test-runner.cjs +1 -75
  74. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +4 -75
  75. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +12 -3
  76. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +1 -75
  77. package/dist/lib/cjs/test-runners/vitest-config.cjs +4 -80
  78. package/dist/lib/cjs/test-runners/wdio-obsidian.cjs +1 -75
  79. package/dist/lib/cjs/version.cjs +1 -75
  80. package/dist/lib/cjs/vitest-setup.cjs +1 -75
  81. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  82. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +3 -2
  83. package/dist/lib/esm/bundlers/obsidian-plugins-folder-deployment.mjs +32 -15
  84. package/dist/lib/esm/bundlers/parcel.d.mts +13 -6
  85. package/dist/lib/esm/bundlers/parcel.mjs +110 -5
  86. package/dist/lib/esm/jest-setup.d.mts +2 -1
  87. package/dist/lib/esm/jest-setup.mjs +1 -1
  88. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +2 -2
  89. package/dist/lib/esm/test-runners/index.d.mts +1 -0
  90. package/dist/lib/esm/test-runners/index.mjs +3 -1
  91. package/dist/lib/esm/test-runners/jest-config.d.mts +50 -0
  92. package/dist/lib/esm/test-runners/jest-config.mjs +68 -0
  93. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +12 -3
  94. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +3 -1
  95. package/dist/lib/esm/test-runners/vitest-config.mjs +4 -5
  96. package/package.json +19 -2
  97. package/test-runners/jest-config/package.json +6 -0
@@ -2,80 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
- (function patchObsidianRequire() {
6
- const originalRequire = require;
7
- if (!originalRequire || originalRequire.__isPatched) {
8
- return;
9
- }
10
-
11
- require = Object.assign(
12
- (id) => requirePatched(id),
13
- originalRequire,
14
- {
15
- __isPatched: true
16
- }
17
- );
18
-
19
- function extractDefault(module) {
20
- return module && module.__esModule && 'default' in module ? module.default : module;
21
- }
22
-
23
- const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
24
- '@codemirror/autocomplete',
25
- '@codemirror/collab',
26
- '@codemirror/commands',
27
- '@codemirror/language',
28
- '@codemirror/lint',
29
- '@codemirror/search',
30
- '@codemirror/state',
31
- '@codemirror/text',
32
- '@codemirror/view',
33
- '@lezer/common',
34
- '@lezer/highlight',
35
- '@lezer/lr',
36
- 'obsidian']
37
- );
38
-
39
- const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
40
- '@codemirror/closebrackets',
41
- '@codemirror/comment',
42
- '@codemirror/fold',
43
- '@codemirror/gutter',
44
- '@codemirror/highlight',
45
- '@codemirror/history',
46
- '@codemirror/matchbrackets',
47
- '@codemirror/panel',
48
- '@codemirror/rangeset',
49
- '@codemirror/rectangular-selection',
50
- '@codemirror/stream-parser',
51
- '@codemirror/tooltip']
52
- );
53
-
54
- function requirePatched(id) {
55
- if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
56
- return originalRequire?.(id);
57
- }
58
-
59
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
60
- if (globalThis.app.isMobile) {
61
- if (id === 'process' || id === 'node:process') {
62
- // eslint-disable-next-line no-console -- Valid usage.
63
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
64
-
65
- return process;
66
- }
67
- } else {
68
- const module = originalRequire?.(id);
69
- if (module) {
70
- return extractDefault(module);
71
- }
72
- }
73
-
74
- // eslint-disable-next-line no-console -- Valid usage.
75
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
76
- return {};
77
- }
78
- })();
79
5
 
80
6
  "use strict";
81
7
  var __defProp = Object.defineProperty;
@@ -135,4 +61,4 @@ function isMatchingExternal(external, source, importer, isResolved) {
135
61
  combineExternal,
136
62
  renameCssAssets
137
63
  });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9yb2xsdXAtY29tcGF0aWJsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIHBpZWNlcyB0aGUgcm9sbHVwIGFuZCB2aXRlIGFkYXB0ZXJzIHNoYXJlLiBWaXRlIDggYnVpbGRzIHdpdGggcm9sbGRvd24sIHdob3NlIHBsdWdpbiBBUEkgaXNcbiAqIHJvbGx1cCdzIGJ1dCB3aG9zZSB0eXBlcyBhcmUgaXRzIG93biwgc28gdGhlc2UgYXJlIHR5cGVkIGJ5IHRoZSBzaGFwZSBib3RoIGFjY2VwdCByYXRoZXIgdGhhbiBieSBlaXRoZXJcbiAqIHBhY2thZ2UncyBkZWNsYXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBpc0Nzc0ZpbGVOYW1lLFxuICBpc09ic2lkaWFuUGx1Z2luRXh0ZXJuYWwsXG4gIG1lcmdlQ3NzQXNzZXRzXG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWJ1aWxkLnRzJztcblxuLyoqXG4gKiBUaGUgcGFydCBvZiBhIHJvbGx1cCBvciByb2xsZG93biBwbHVnaW4gY29udGV4dCB7QGxpbmsgcmVuYW1lQ3NzQXNzZXRzfSB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0RW1pdHRlciB7XG4gIC8qKlxuICAgKiBFbWl0cyBhbiBhc3NldCBpbnRvIHRoZSBidW5kbGUuXG4gICAqXG4gICAqIEBwYXJhbSBlbWl0dGVkRmlsZSAtIFRoZSBhc3NldCB0byBlbWl0LlxuICAgKiBAcmV0dXJucyBUaGUgcmVmZXJlbmNlIGlkIG9mIHRoZSBlbWl0dGVkIGZpbGUuXG4gICAqL1xuICBlbWl0RmlsZTogKGVtaXR0ZWRGaWxlOiBFbWl0dGVkQ3NzQXNzZXQpID0+IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBlbWl0dGVkIGZpbGUgb2YgYSByb2xsdXAgb3Igcm9sbGRvd24gYnVuZGxlLCBhcyB7QGxpbmsgcmVuYW1lQ3NzQXNzZXRzfSByZWFkcyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdW5kbGVPdXRwdXRMaWtlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgcmVsYXRpdmUgdG8gdGhlIG91dHB1dCBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBhc3NldCdzIGNvbnRlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlPzogc3RyaW5nIHwgVWludDhBcnJheTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmlsZSBpcyBhbiBhc3NldCBvciBhIGNodW5rLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogJ2Fzc2V0JyB8ICdjaHVuayc7XG59XG5cbi8qKlxuICogVGhlIGZ1bmN0aW9uIHtAbGluayBjb21iaW5lRXh0ZXJuYWx9IHJldHVybnMsIHdoaWNoIGV2ZXJ5IGJ1bmRsZXIgb2YgdGhlIHJvbGx1cCBmYW1pbHkgYWNjZXB0cy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tYmluZWRFeHRlcm5hbEZ1bmN0aW9uID0gKHNvdXJjZTogc3RyaW5nLCBpbXBvcnRlcjogc3RyaW5nIHwgdW5kZWZpbmVkLCBpc1Jlc29sdmVkOiBib29sZWFuKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIFRoZSBgc3R5bGVzLmNzc2AgYXNzZXQge0BsaW5rIHJlbmFtZUNzc0Fzc2V0c30gZW1pdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1pdHRlZENzc0Fzc2V0IHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgcmVsYXRpdmUgdG8gdGhlIG91dHB1dCBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSdzIGNvbnRlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIGVtaXR0ZWQgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6ICdhc3NldCc7XG59XG5cbi8qKlxuICogVGhlIGZ1bmN0aW9uIGZvcm0gb2Yge0BsaW5rIEV4dGVybmFsTGlrZX0uIEl0cyByZXN1bHQgaXMgcmVhZCBmb3IgdHJ1dGhpbmVzcywgYXMgcm9sbHVwIGFuZCByb2xsZG93biByZWFkIGl0LlxuICovXG5leHBvcnQgdHlwZSBFeHRlcm5hbEZ1bmN0aW9uID0gKHNvdXJjZTogc3RyaW5nLCBpbXBvcnRlcjogc3RyaW5nIHwgdW5kZWZpbmVkLCBpc1Jlc29sdmVkOiBib29sZWFuKSA9PiB1bmtub3duO1xuXG4vKipcbiAqIFRoZSBgZXh0ZXJuYWxgIG9wdGlvbiBvZiByb2xsdXAgYW5kIG9mIHJvbGxkb3duLCBpbiB0aGUgc2hhcGUgYm90aCBhY2NlcHQuXG4gKi9cbmV4cG9ydCB0eXBlIEV4dGVybmFsTGlrZSA9IEV4dGVybmFsRnVuY3Rpb24gfCBFeHRlcm5hbFBhdHRlcm4gfCByZWFkb25seSBFeHRlcm5hbFBhdHRlcm5bXTtcblxuLyoqXG4gKiBPbmUgZW50cnkgb2YgdGhlIGFycmF5IGZvcm0gb2Yge0BsaW5rIEV4dGVybmFsTGlrZX0uXG4gKi9cbmV4cG9ydCB0eXBlIEV4dGVybmFsUGF0dGVybiA9IFJlZ0V4cCB8IHN0cmluZztcblxuLyoqXG4gKiBQdXRzIE9ic2lkaWFuJ3MgbW9kdWxlcyBhbmQgdGhlIE5vZGUgYnVpbHRpbnMgYmVzaWRlIHdoYXRldmVyIHRoZSBjb25zdW1lcidzIG93biBgZXh0ZXJuYWxgIG9wdGlvbiBuYW1lcy5cbiAqXG4gKiBAcGFyYW0gZXh0ZXJuYWwgLSBUaGUgY29uc3VtZXIncyBgZXh0ZXJuYWxgIG9wdGlvbi5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gZm9ybSBvZiBgZXh0ZXJuYWxgIHRoYXQga2VlcHMgYm90aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVFeHRlcm5hbChleHRlcm5hbDogRXh0ZXJuYWxMaWtlIHwgdW5kZWZpbmVkKTogQ29tYmluZWRFeHRlcm5hbEZ1bmN0aW9uIHtcbiAgcmV0dXJuIChzb3VyY2UsIGltcG9ydGVyLCBpc1Jlc29sdmVkKTogYm9vbGVhbiA9PiBpc09ic2lkaWFuUGx1Z2luRXh0ZXJuYWwoc291cmNlKSB8fCBpc01hdGNoaW5nRXh0ZXJuYWwoZXh0ZXJuYWwsIHNvdXJjZSwgaW1wb3J0ZXIsIGlzUmVzb2x2ZWQpO1xufVxuXG4vKipcbiAqIE1vdmVzIGV2ZXJ5IENTUyBhc3NldCBvZiBhIGJ1bmRsZSBpbnRvIG9uZSBgc3R5bGVzLmNzc2AsIHRoZSBvbmx5IHN0eWxlc2hlZXQgT2JzaWRpYW4gbG9hZHMuXG4gKlxuICogQHBhcmFtIGFzc2V0RW1pdHRlciAtIFRoZSBwbHVnaW4gY29udGV4dCB0byBlbWl0IGBzdHlsZXMuY3NzYCB0aHJvdWdoLlxuICogQHBhcmFtIGJ1bmRsZSAtIFRoZSBidW5kbGUgYWJvdXQgdG8gYmUgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUNzc0Fzc2V0cyhhc3NldEVtaXR0ZXI6IEFzc2V0RW1pdHRlciwgYnVuZGxlOiBSZWNvcmQ8c3RyaW5nLCBCdW5kbGVPdXRwdXRMaWtlPik6IHZvaWQge1xuICBjb25zdCBjc3NBc3NldHMgPSBPYmplY3QudmFsdWVzKGJ1bmRsZSlcbiAgICAuZmlsdGVyKChvdXRwdXQpID0+IG91dHB1dC50eXBlID09PSAnYXNzZXQnICYmIGlzQ3NzRmlsZU5hbWUob3V0cHV0LmZpbGVOYW1lKSlcbiAgICAubWFwKChhc3NldCkgPT4gKHtcbiAgICAgIGZpbGVOYW1lOiBhc3NldC5maWxlTmFtZSxcbiAgICAgIHNvdXJjZTogdHlwZW9mIGFzc2V0LnNvdXJjZSA9PT0gJ3N0cmluZycgPyBhc3NldC5zb3VyY2UgOiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYXNzZXQuc291cmNlKVxuICAgIH0pKTtcbiAgY29uc3QgeyBmaWxlTmFtZXNUb1JlbW92ZSwgc3R5bGVzQ3NzIH0gPSBtZXJnZUNzc0Fzc2V0cyhjc3NBc3NldHMpO1xuICBpZiAoc3R5bGVzQ3NzID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBmaWxlTmFtZXNUb1JlbW92ZSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gUmVtb3ZpbmcgYW4gZW50cnkgZnJvbSB0aGUgYnVuZGxlIGlzIGhvdyBhIHJvbGx1cCBwbHVnaW4gZHJvcHMgYW4gb3V0cHV0LlxuICAgIGRlbGV0ZSBidW5kbGVbZmlsZU5hbWVdO1xuICB9XG4gIGFzc2V0RW1pdHRlci5lbWl0RmlsZSh7IGZpbGVOYW1lOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MsIHNvdXJjZTogc3R5bGVzQ3NzLCB0eXBlOiAnYXNzZXQnIH0pO1xufVxuXG5mdW5jdGlvbiBpc01hdGNoaW5nRXh0ZXJuYWwoZXh0ZXJuYWw6IEV4dGVybmFsTGlrZSB8IHVuZGVmaW5lZCwgc291cmNlOiBzdHJpbmcsIGltcG9ydGVyOiBzdHJpbmcgfCB1bmRlZmluZWQsIGlzUmVzb2x2ZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgaWYgKGV4dGVybmFsID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBleHRlcm5hbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBCb29sZWFuKGV4dGVybmFsKHNvdXJjZSwgaW1wb3J0ZXIsIGlzUmVzb2x2ZWQpKTtcbiAgfVxuICBjb25zdCBwYXR0ZXJuczogcmVhZG9ubHkgRXh0ZXJuYWxQYXR0ZXJuW10gPSB0eXBlb2YgZXh0ZXJuYWwgPT09ICdzdHJpbmcnIHx8IGV4dGVybmFsIGluc3RhbmNlb2YgUmVnRXhwID8gW2V4dGVybmFsXSA6IGV4dGVybmFsO1xuICByZXR1cm4gcGF0dGVybnMuc29tZSgocGF0dGVybikgPT4gdHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnID8gcGF0dGVybiA9PT0gc291cmNlIDogcGF0dGVybi50ZXN0KHNvdXJjZSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsd0NBQXdDO0FBQ3hDLG1DQUlPO0FBaUZBLFNBQVMsZ0JBQWdCLFVBQThEO0FBQzVGLFNBQU8sQ0FBQyxRQUFRLFVBQVUsbUJBQXdCLHVEQUF5QixNQUFNLEtBQUssbUJBQW1CLFVBQVUsUUFBUSxVQUFVLFVBQVU7QUFDako7QUFRTyxTQUFTLGdCQUFnQixjQUE0QixRQUFnRDtBQUMxRyxRQUFNLFlBQVksT0FBTyxPQUFPLE1BQU0sRUFDbkMsT0FBTyxDQUFDLFdBQVcsT0FBTyxTQUFTLGVBQVcsNENBQWMsT0FBTyxRQUFRLENBQUMsRUFDNUUsSUFBSSxDQUFDLFdBQVc7QUFBQSxJQUNmLFVBQVUsTUFBTTtBQUFBLElBQ2hCLFFBQVEsT0FBTyxNQUFNLFdBQVcsV0FBVyxNQUFNLFNBQVMsSUFBSSxZQUFZLEVBQUUsT0FBTyxNQUFNLE1BQU07QUFBQSxFQUNqRyxFQUFFO0FBQ0osUUFBTSxFQUFFLG1CQUFtQixVQUFVLFFBQUksNkNBQWUsU0FBUztBQUNqRSxNQUFJLGNBQWMsUUFBVztBQUMzQjtBQUFBLEVBQ0Y7QUFDQSxhQUFXLFlBQVksbUJBQW1CO0FBRXhDLFdBQU8sT0FBTyxRQUFRO0FBQUEsRUFDeEI7QUFDQSxlQUFhLFNBQVMsRUFBRSxVQUFVLDBEQUF3QixXQUFXLFFBQVEsV0FBVyxNQUFNLFFBQVEsQ0FBQztBQUN6RztBQUVBLFNBQVMsbUJBQW1CLFVBQW9DLFFBQWdCLFVBQThCLFlBQThCO0FBQzFJLE1BQUksYUFBYSxRQUFXO0FBQzFCLFdBQU87QUFBQSxFQUNUO0FBQ0EsTUFBSSxPQUFPLGFBQWEsWUFBWTtBQUNsQyxXQUFPLFFBQVEsU0FBUyxRQUFRLFVBQVUsVUFBVSxDQUFDO0FBQUEsRUFDdkQ7QUFDQSxRQUFNLFdBQXVDLE9BQU8sYUFBYSxZQUFZLG9CQUFvQixTQUFTLENBQUMsUUFBUSxJQUFJO0FBQ3ZILFNBQU8sU0FBUyxLQUFLLENBQUMsWUFBWSxPQUFPLFlBQVksV0FBVyxZQUFZLFNBQVMsUUFBUSxLQUFLLE1BQU0sQ0FBQztBQUMzRzsiLCJuYW1lcyI6W119
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL3JvbGx1cC1jb21wYXRpYmxlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIHBpZWNlcyB0aGUgcm9sbHVwIGFuZCB2aXRlIGFkYXB0ZXJzIHNoYXJlLiBWaXRlIDggYnVpbGRzIHdpdGggcm9sbGRvd24sIHdob3NlIHBsdWdpbiBBUEkgaXNcbiAqIHJvbGx1cCdzIGJ1dCB3aG9zZSB0eXBlcyBhcmUgaXRzIG93biwgc28gdGhlc2UgYXJlIHR5cGVkIGJ5IHRoZSBzaGFwZSBib3RoIGFjY2VwdCByYXRoZXIgdGhhbiBieSBlaXRoZXJcbiAqIHBhY2thZ2UncyBkZWNsYXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBpc0Nzc0ZpbGVOYW1lLFxuICBpc09ic2lkaWFuUGx1Z2luRXh0ZXJuYWwsXG4gIG1lcmdlQ3NzQXNzZXRzXG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWJ1aWxkLnRzJztcblxuLyoqXG4gKiBUaGUgcGFydCBvZiBhIHJvbGx1cCBvciByb2xsZG93biBwbHVnaW4gY29udGV4dCB7QGxpbmsgcmVuYW1lQ3NzQXNzZXRzfSB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0RW1pdHRlciB7XG4gIC8qKlxuICAgKiBFbWl0cyBhbiBhc3NldCBpbnRvIHRoZSBidW5kbGUuXG4gICAqXG4gICAqIEBwYXJhbSBlbWl0dGVkRmlsZSAtIFRoZSBhc3NldCB0byBlbWl0LlxuICAgKiBAcmV0dXJucyBUaGUgcmVmZXJlbmNlIGlkIG9mIHRoZSBlbWl0dGVkIGZpbGUuXG4gICAqL1xuICBlbWl0RmlsZTogKGVtaXR0ZWRGaWxlOiBFbWl0dGVkQ3NzQXNzZXQpID0+IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBlbWl0dGVkIGZpbGUgb2YgYSByb2xsdXAgb3Igcm9sbGRvd24gYnVuZGxlLCBhcyB7QGxpbmsgcmVuYW1lQ3NzQXNzZXRzfSByZWFkcyBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdW5kbGVPdXRwdXRMaWtlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgcmVsYXRpdmUgdG8gdGhlIG91dHB1dCBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBhc3NldCdzIGNvbnRlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlPzogc3RyaW5nIHwgVWludDhBcnJheTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmlsZSBpcyBhbiBhc3NldCBvciBhIGNodW5rLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogJ2Fzc2V0JyB8ICdjaHVuayc7XG59XG5cbi8qKlxuICogVGhlIGZ1bmN0aW9uIHtAbGluayBjb21iaW5lRXh0ZXJuYWx9IHJldHVybnMsIHdoaWNoIGV2ZXJ5IGJ1bmRsZXIgb2YgdGhlIHJvbGx1cCBmYW1pbHkgYWNjZXB0cy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tYmluZWRFeHRlcm5hbEZ1bmN0aW9uID0gKHNvdXJjZTogc3RyaW5nLCBpbXBvcnRlcjogc3RyaW5nIHwgdW5kZWZpbmVkLCBpc1Jlc29sdmVkOiBib29sZWFuKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIFRoZSBgc3R5bGVzLmNzc2AgYXNzZXQge0BsaW5rIHJlbmFtZUNzc0Fzc2V0c30gZW1pdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1pdHRlZENzc0Fzc2V0IHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgcmVsYXRpdmUgdG8gdGhlIG91dHB1dCBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSdzIGNvbnRlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIGVtaXR0ZWQgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6ICdhc3NldCc7XG59XG5cbi8qKlxuICogVGhlIGZ1bmN0aW9uIGZvcm0gb2Yge0BsaW5rIEV4dGVybmFsTGlrZX0uIEl0cyByZXN1bHQgaXMgcmVhZCBmb3IgdHJ1dGhpbmVzcywgYXMgcm9sbHVwIGFuZCByb2xsZG93biByZWFkIGl0LlxuICovXG5leHBvcnQgdHlwZSBFeHRlcm5hbEZ1bmN0aW9uID0gKHNvdXJjZTogc3RyaW5nLCBpbXBvcnRlcjogc3RyaW5nIHwgdW5kZWZpbmVkLCBpc1Jlc29sdmVkOiBib29sZWFuKSA9PiB1bmtub3duO1xuXG4vKipcbiAqIFRoZSBgZXh0ZXJuYWxgIG9wdGlvbiBvZiByb2xsdXAgYW5kIG9mIHJvbGxkb3duLCBpbiB0aGUgc2hhcGUgYm90aCBhY2NlcHQuXG4gKi9cbmV4cG9ydCB0eXBlIEV4dGVybmFsTGlrZSA9IEV4dGVybmFsRnVuY3Rpb24gfCBFeHRlcm5hbFBhdHRlcm4gfCByZWFkb25seSBFeHRlcm5hbFBhdHRlcm5bXTtcblxuLyoqXG4gKiBPbmUgZW50cnkgb2YgdGhlIGFycmF5IGZvcm0gb2Yge0BsaW5rIEV4dGVybmFsTGlrZX0uXG4gKi9cbmV4cG9ydCB0eXBlIEV4dGVybmFsUGF0dGVybiA9IFJlZ0V4cCB8IHN0cmluZztcblxuLyoqXG4gKiBQdXRzIE9ic2lkaWFuJ3MgbW9kdWxlcyBhbmQgdGhlIE5vZGUgYnVpbHRpbnMgYmVzaWRlIHdoYXRldmVyIHRoZSBjb25zdW1lcidzIG93biBgZXh0ZXJuYWxgIG9wdGlvbiBuYW1lcy5cbiAqXG4gKiBAcGFyYW0gZXh0ZXJuYWwgLSBUaGUgY29uc3VtZXIncyBgZXh0ZXJuYWxgIG9wdGlvbi5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gZm9ybSBvZiBgZXh0ZXJuYWxgIHRoYXQga2VlcHMgYm90aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVFeHRlcm5hbChleHRlcm5hbDogRXh0ZXJuYWxMaWtlIHwgdW5kZWZpbmVkKTogQ29tYmluZWRFeHRlcm5hbEZ1bmN0aW9uIHtcbiAgcmV0dXJuIChzb3VyY2UsIGltcG9ydGVyLCBpc1Jlc29sdmVkKTogYm9vbGVhbiA9PiBpc09ic2lkaWFuUGx1Z2luRXh0ZXJuYWwoc291cmNlKSB8fCBpc01hdGNoaW5nRXh0ZXJuYWwoZXh0ZXJuYWwsIHNvdXJjZSwgaW1wb3J0ZXIsIGlzUmVzb2x2ZWQpO1xufVxuXG4vKipcbiAqIE1vdmVzIGV2ZXJ5IENTUyBhc3NldCBvZiBhIGJ1bmRsZSBpbnRvIG9uZSBgc3R5bGVzLmNzc2AsIHRoZSBvbmx5IHN0eWxlc2hlZXQgT2JzaWRpYW4gbG9hZHMuXG4gKlxuICogQHBhcmFtIGFzc2V0RW1pdHRlciAtIFRoZSBwbHVnaW4gY29udGV4dCB0byBlbWl0IGBzdHlsZXMuY3NzYCB0aHJvdWdoLlxuICogQHBhcmFtIGJ1bmRsZSAtIFRoZSBidW5kbGUgYWJvdXQgdG8gYmUgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUNzc0Fzc2V0cyhhc3NldEVtaXR0ZXI6IEFzc2V0RW1pdHRlciwgYnVuZGxlOiBSZWNvcmQ8c3RyaW5nLCBCdW5kbGVPdXRwdXRMaWtlPik6IHZvaWQge1xuICBjb25zdCBjc3NBc3NldHMgPSBPYmplY3QudmFsdWVzKGJ1bmRsZSlcbiAgICAuZmlsdGVyKChvdXRwdXQpID0+IG91dHB1dC50eXBlID09PSAnYXNzZXQnICYmIGlzQ3NzRmlsZU5hbWUob3V0cHV0LmZpbGVOYW1lKSlcbiAgICAubWFwKChhc3NldCkgPT4gKHtcbiAgICAgIGZpbGVOYW1lOiBhc3NldC5maWxlTmFtZSxcbiAgICAgIHNvdXJjZTogdHlwZW9mIGFzc2V0LnNvdXJjZSA9PT0gJ3N0cmluZycgPyBhc3NldC5zb3VyY2UgOiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYXNzZXQuc291cmNlKVxuICAgIH0pKTtcbiAgY29uc3QgeyBmaWxlTmFtZXNUb1JlbW92ZSwgc3R5bGVzQ3NzIH0gPSBtZXJnZUNzc0Fzc2V0cyhjc3NBc3NldHMpO1xuICBpZiAoc3R5bGVzQ3NzID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBmaWxlTmFtZXNUb1JlbW92ZSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gUmVtb3ZpbmcgYW4gZW50cnkgZnJvbSB0aGUgYnVuZGxlIGlzIGhvdyBhIHJvbGx1cCBwbHVnaW4gZHJvcHMgYW4gb3V0cHV0LlxuICAgIGRlbGV0ZSBidW5kbGVbZmlsZU5hbWVdO1xuICB9XG4gIGFzc2V0RW1pdHRlci5lbWl0RmlsZSh7IGZpbGVOYW1lOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MsIHNvdXJjZTogc3R5bGVzQ3NzLCB0eXBlOiAnYXNzZXQnIH0pO1xufVxuXG5mdW5jdGlvbiBpc01hdGNoaW5nRXh0ZXJuYWwoZXh0ZXJuYWw6IEV4dGVybmFsTGlrZSB8IHVuZGVmaW5lZCwgc291cmNlOiBzdHJpbmcsIGltcG9ydGVyOiBzdHJpbmcgfCB1bmRlZmluZWQsIGlzUmVzb2x2ZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgaWYgKGV4dGVybmFsID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBleHRlcm5hbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBCb29sZWFuKGV4dGVybmFsKHNvdXJjZSwgaW1wb3J0ZXIsIGlzUmVzb2x2ZWQpKTtcbiAgfVxuICBjb25zdCBwYXR0ZXJuczogcmVhZG9ubHkgRXh0ZXJuYWxQYXR0ZXJuW10gPSB0eXBlb2YgZXh0ZXJuYWwgPT09ICdzdHJpbmcnIHx8IGV4dGVybmFsIGluc3RhbmNlb2YgUmVnRXhwID8gW2V4dGVybmFsXSA6IGV4dGVybmFsO1xuICByZXR1cm4gcGF0dGVybnMuc29tZSgocGF0dGVybikgPT4gdHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnID8gcGF0dGVybiA9PT0gc291cmNlIDogcGF0dGVybi50ZXN0KHNvdXJjZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSx3Q0FBd0M7QUFDeEMsbUNBSU87QUFpRkEsU0FBUyxnQkFBZ0IsVUFBOEQ7QUFDNUYsU0FBTyxDQUFDLFFBQVEsVUFBVSxtQkFBd0IsdURBQXlCLE1BQU0sS0FBSyxtQkFBbUIsVUFBVSxRQUFRLFVBQVUsVUFBVTtBQUNqSjtBQVFPLFNBQVMsZ0JBQWdCLGNBQTRCLFFBQWdEO0FBQzFHLFFBQU0sWUFBWSxPQUFPLE9BQU8sTUFBTSxFQUNuQyxPQUFPLENBQUMsV0FBVyxPQUFPLFNBQVMsZUFBVyw0Q0FBYyxPQUFPLFFBQVEsQ0FBQyxFQUM1RSxJQUFJLENBQUMsV0FBVztBQUFBLElBQ2YsVUFBVSxNQUFNO0FBQUEsSUFDaEIsUUFBUSxPQUFPLE1BQU0sV0FBVyxXQUFXLE1BQU0sU0FBUyxJQUFJLFlBQVksRUFBRSxPQUFPLE1BQU0sTUFBTTtBQUFBLEVBQ2pHLEVBQUU7QUFDSixRQUFNLEVBQUUsbUJBQW1CLFVBQVUsUUFBSSw2Q0FBZSxTQUFTO0FBQ2pFLE1BQUksY0FBYyxRQUFXO0FBQzNCO0FBQUEsRUFDRjtBQUNBLGFBQVcsWUFBWSxtQkFBbUI7QUFFeEMsV0FBTyxPQUFPLFFBQVE7QUFBQSxFQUN4QjtBQUNBLGVBQWEsU0FBUyxFQUFFLFVBQVUsMERBQXdCLFdBQVcsUUFBUSxXQUFXLE1BQU0sUUFBUSxDQUFDO0FBQ3pHO0FBRUEsU0FBUyxtQkFBbUIsVUFBb0MsUUFBZ0IsVUFBOEIsWUFBOEI7QUFDMUksTUFBSSxhQUFhLFFBQVc7QUFDMUIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJLE9BQU8sYUFBYSxZQUFZO0FBQ2xDLFdBQU8sUUFBUSxTQUFTLFFBQVEsVUFBVSxVQUFVLENBQUM7QUFBQSxFQUN2RDtBQUNBLFFBQU0sV0FBdUMsT0FBTyxhQUFhLFlBQVksb0JBQW9CLFNBQVMsQ0FBQyxRQUFRLElBQUk7QUFDdkgsU0FBTyxTQUFTLEtBQUssQ0FBQyxZQUFZLE9BQU8sWUFBWSxXQUFXLFlBQVksU0FBUyxRQUFRLEtBQUssTUFBTSxDQUFDO0FBQzNHOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -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;
@@ -215,4 +141,4 @@ function getOutputFolder(outputOptions) {
215
141
  applyRollupOutputDefaults,
216
142
  obsidianPluginRollup
217
143
  });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9yb2xsdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEJ1aWxkcyBhbiBPYnNpZGlhbiBwbHVnaW4gd2l0aCByb2xsdXA6IGEgcm9sbHVwIHBsdWdpbiB0aGF0IGdpdmVzIGEgYnVpbGQgdGhlIHNhbWUgYG1haW4uanNgICtcbiAqIGBzdHlsZXMuY3NzYCArIGBtYW5pZmVzdC5qc29uYCBsYXlvdXQgdGhlIGVzYnVpbGQgYnVpbGRlciBwcm9kdWNlcywgZGVwbG95cyBhIHdhdGNoIGJ1aWxkIGludG8gdGhlIHZhdWx0LFxuICogYW5kIGZpbGxzIGluIG9ubHkgdGhlIG9wdGlvbnMgdGhlIGNvbnN1bWVyJ3Mgb3duIGByb2xsdXAuY29uZmlnYCBsZWF2ZXMgdW5zZXQuXG4gKlxuICogYHJvbGx1cGAgaXMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGFuZCB0aGlzIG1vZHVsZSBvbmx5IGltcG9ydHMgaXRzIHR5cGVzLCBzbyBhIHBsdWdpbiBidWlsdCB3aXRoXG4gKiBlc2J1aWxkIGluc3RhbGxzIG5vdGhpbmcgZXh0cmEuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBJbnB1dE9wdGlvbnMsXG4gIElucHV0UGx1Z2luT3B0aW9uLFxuICBOb3JtYWxpemVkT3V0cHV0T3B0aW9ucyxcbiAgT3V0cHV0T3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ3JvbGx1cCc7XG5cbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQsXG4gIE9ic2lkaWFuUGx1Z2luRGVwbG95bWVudE9wdGlvbnNcbn0gZnJvbSAnLi9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zIH0gZnJvbSAnLi9vYnNpZGlhbi1wbHVnaW4tZmVhdHVyZXMudHMnO1xuXG5pbXBvcnQge1xuICBCdWlsZE1vZGUsXG4gIGNsZWFuT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyLFxuICBjb21wbGV0ZU9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcixcbiAgZ2V0T2JzaWRpYW5QbHVnaW5CYW5uZXIsXG4gIHJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dFxufSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1idWlsZC50cyc7XG5pbXBvcnQgeyBnZXRKc3hJbXBvcnRTb3VyY2UgfSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1mZWF0dXJlcy50cyc7XG5pbXBvcnQgeyBkZXBsb3lUb09ic2lkaWFuUGx1Z2luc0ZvbGRlciB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2lucy1mb2xkZXItZGVwbG95bWVudC50cyc7XG5pbXBvcnQge1xuICBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbixcbiAgY3JlYXRlVW5wbHVnaW5WdWVQbHVnaW5cbn0gZnJvbSAnLi9yb2xsdXAtY29tcGF0aWJsZS1mZWF0dXJlcy50cyc7XG5pbXBvcnQge1xuICBjb21iaW5lRXh0ZXJuYWwsXG4gIHJlbmFtZUNzc0Fzc2V0c1xufSBmcm9tICcuL3JvbGx1cC1jb21wYXRpYmxlLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYXBwbHlSb2xsdXBJbnB1dERlZmF1bHRzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBseVJvbGx1cElucHV0RGVmYXVsdHNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGJ1aWxkIGNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBidWlsZENvbnRleHQ6IE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgZmVhdHVyZXMuXG4gICAqL1xuICByZWFkb25seSBmZWF0dXJlcz86IE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdW1lcidzIGlucHV0IG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dE9wdGlvbnM6IElucHV0T3B0aW9ucztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0c30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0c1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29udGV4dDogT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdW1lcidzIG91dHB1dCBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0T3B0aW9uczogT3V0cHV0T3B0aW9ucztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgb2JzaWRpYW5QbHVnaW5Sb2xsdXB9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luUm9sbHVwT3B0aW9ucyBleHRlbmRzIE9ic2lkaWFuUGx1Z2luRGVwbG95bWVudE9wdGlvbnMsIE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGJ1aWxkIG1vZGUuIERlZmF1bHRzIHRvIHtAbGluayBCdWlsZE1vZGUuRGV2ZWxvcG1lbnR9IGluIHdhdGNoIG1vZGUgKGByb2xsdXAgLS13YXRjaGApIGFuZFxuICAgKiB7QGxpbmsgQnVpbGRNb2RlLlByb2R1Y3Rpb259IG90aGVyd2lzZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU/OiBCdWlsZE1vZGU7XG59XG5cbi8qKlxuICogVGhlIHN0YXRlIG9uZSB7QGxpbmsgb2JzaWRpYW5QbHVnaW5Sb2xsdXB9IGluc3RhbmNlIGtlZXBzIGFjcm9zcyB0aGUgaG9va3Mgb2YgYSBidWlsZCwgYW5kIGFjcm9zcyB0aGVcbiAqIHJlYnVpbGRzIG9mIGEgd2F0Y2guXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpblJvbGx1cFN0YXRlIHtcbiAgYnVpbGRDb250ZXh0OiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgaXNEaXN0Rm9sZGVyQ2xlYW5lZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGaWxscyBpbiB0aGUgcm9sbHVwIGlucHV0IG9wdGlvbnMgdGhlIGNvbnN1bWVyIGxlZnQgdW5zZXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQXBwbHlSb2xsdXBJbnB1dERlZmF1bHRzUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBpbnB1dCBvcHRpb25zIHdpdGggdGhlIHBsdWdpbidzIGRlZmF1bHRzIGFwcGxpZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVJvbGx1cElucHV0RGVmYXVsdHMocGFyYW1zOiBBcHBseVJvbGx1cElucHV0RGVmYXVsdHNQYXJhbXMpOiBJbnB1dE9wdGlvbnMge1xuICBjb25zdCB7IGJ1aWxkQ29udGV4dCwgaW5wdXRPcHRpb25zIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGpzeEltcG9ydFNvdXJjZSA9IGdldEpzeEltcG9ydFNvdXJjZShwYXJhbXMuZmVhdHVyZXM/LmZyYW1ld29yayk7XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXRPcHRpb25zLFxuICAgIGV4dGVybmFsOiBjb21iaW5lRXh0ZXJuYWwoaW5wdXRPcHRpb25zLmV4dGVybmFsKSxcbiAgICBpbnB1dDogaW5wdXRPcHRpb25zLmlucHV0ID8/IGJ1aWxkQ29udGV4dC5lbnRyeVBvaW50LFxuICAgIC4uLihqc3hJbXBvcnRTb3VyY2UgIT09IHVuZGVmaW5lZCAmJiBpbnB1dE9wdGlvbnMuanN4ID09PSB1bmRlZmluZWQgJiYgeyBqc3g6IHsganN4SW1wb3J0U291cmNlLCBtb2RlOiAnYXV0b21hdGljJyB9IH0pXG4gIH07XG59XG5cbi8qKlxuICogRmlsbHMgaW4gdGhlIHJvbGx1cCBvdXRwdXQgb3B0aW9ucyB0aGUgY29uc3VtZXIgbGVmdCB1bnNldC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBBcHBseVJvbGx1cE91dHB1dERlZmF1bHRzUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBvdXRwdXQgb3B0aW9ucyB3aXRoIHRoZSBwbHVnaW4ncyBkZWZhdWx0cyBhcHBsaWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0cyhwYXJhbXM6IEFwcGx5Um9sbHVwT3V0cHV0RGVmYXVsdHNQYXJhbXMpOiBPdXRwdXRPcHRpb25zIHtcbiAgY29uc3QgeyBidWlsZENvbnRleHQsIG91dHB1dE9wdGlvbnMgfSA9IHBhcmFtcztcbiAgY29uc3QgaGFzT3V0cHV0TG9jYXRpb24gPSBvdXRwdXRPcHRpb25zLmZpbGUgIT09IHVuZGVmaW5lZCB8fCBvdXRwdXRPcHRpb25zLmRpciAhPT0gdW5kZWZpbmVkO1xuICByZXR1cm4ge1xuICAgIC4uLm91dHB1dE9wdGlvbnMsXG4gICAgYmFubmVyOiBvdXRwdXRPcHRpb25zLmJhbm5lciA/PyBnZXRPYnNpZGlhblBsdWdpbkJhbm5lcigncm9sbHVwJyksXG4gICAgZm9ybWF0OiBvdXRwdXRPcHRpb25zLmZvcm1hdCA/PyAnY2pzJyxcbiAgICAuLi4oIWhhc091dHB1dExvY2F0aW9uICYmIHsgZmlsZTogYnVpbGRDb250ZXh0Lm1haW5Kc1BhdGggfSksXG4gICAgLy8gQW4gT2JzaWRpYW4gcGx1Z2luIGlzIG9uZSBmaWxlOiB0aGUgbWFuaWZlc3QgbmFtZXMgYG1haW4uanNgIGFuZCBub3RoaW5nIGxvYWRzIGEgc2Vjb25kIGNodW5rLlxuICAgIGlubGluZUR5bmFtaWNJbXBvcnRzOiBvdXRwdXRPcHRpb25zLmlubGluZUR5bmFtaWNJbXBvcnRzID8/IHRydWUsXG4gICAgc291cmNlbWFwOiBvdXRwdXRPcHRpb25zLnNvdXJjZW1hcCA/PyAoIWJ1aWxkQ29udGV4dC5pc1Byb2R1Y3Rpb25CdWlsZCAmJiAnaW5saW5lJylcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcm9sbHVwIHBsdWdpbiB0aGF0IGJ1aWxkcyBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKlxuICogV2hhdCBpdCBkb2VzLCBlYWNoIG9ubHkgd2hlbiB0aGUgY29uc3VtZXIncyBjb25maWcgaGFzIG5vdCBzYWlkIG90aGVyd2lzZTpcbiAqXG4gKiAtIGBpbnB1dGAgaXMgYHNyYy9tYWluLnRzYC5cbiAqIC0gVGhlIG91dHB1dCBpcyBvbmUgQ29tbW9uSlMgYG1haW4uanNgIGluIGBkaXN0L2J1aWxkYCAoYGRpc3QvZGV2YCBpbiB3YXRjaCBtb2RlKSwgd2l0aCBkeW5hbWljIGltcG9ydHNcbiAqICAgaW5saW5lZCwgdGhlIGdlbmVyYXRlZC1maWxlIGJhbm5lciwgYW5kIGFuIGlubGluZSBzb3VyY2UgbWFwIGluIGRldmVsb3BtZW50LlxuICpcbiAqIEFuZCBhbHdheXM6IE9ic2lkaWFuJ3Mgb3duIG1vZHVsZXMgKGBvYnNpZGlhbmAsIGBlbGVjdHJvbmAsIENvZGVNaXJyb3IsIExlemVyKSBhbmQgdGhlIE5vZGUgYnVpbHRpbnMgYXJlXG4gKiBleHRlcm5hbCBiZXNpZGUgdGhlIGNvbnN1bWVyJ3Mgb3duIGBleHRlcm5hbGAsIHRoZSBvdXRwdXQgZm9sZGVyIGlzIGVtcHRpZWQgYmVmb3JlIHRoZSBmaXJzdCB3cml0ZSxcbiAqIGV2ZXJ5IGVtaXR0ZWQgQ1NTIGZpbGUgZW5kcyB1cCBpbiBgc3R5bGVzLmNzc2AsIGBtYW5pZmVzdC5qc29uYCAoYW5kIGluIGRldmVsb3BtZW50IGAuaG90cmVsb2FkYCkgaXNcbiAqIGNvcGllZCBiZXNpZGUgaXQsIGFuZCBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGludG8gdGhlIHZhdWx0IG5hbWVkIGJ5IGBPQlNJRElBTl9DT05GSUdfRk9MREVSYC5cbiAqXG4gKiBUeXBlU2NyaXB0LCBkZXBlbmRlbmN5IHJlc29sdXRpb24gYW5kIG1pbmlmaWNhdGlvbiBzdGF5IHRoZSBjb25zdW1lcidzIGNob2ljZSBvZiByb2xsdXAgcGx1Z2lucywgYXMgdGhleSB3b3VsZCBiZVxuICogd2l0aG91dCB0aGlzIG9uZS4gVGhlIGJ1aWxkIGZlYXR1cmVzICh7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30pIGFyZSB0aGUgcGx1Z2luJ3M6XG4gKlxuICogLSBgZnJhbWV3b3JrOiAncmVhY3QnIHwgJ3ByZWFjdCdgIHNldHMgcm9sbHVwJ3MgYGpzeGAgb3B0aW9uIHRvIHRoZSBhdXRvbWF0aWMgcnVudGltZSAodW5sZXNzIHNldCksIGFuZCB0aGVcbiAqICAgVHlwZVNjcmlwdCBwbHVnaW4gcmVhZHMgdGhlIHNhbWUgZnJvbSB0aGUgdG9vbGtpdCdzIHRzY29uZmlnIHByZXNldC5cbiAqIC0gYGZyYW1ld29yazogJ3NvbGlkJyB8ICdzdmVsdGUnYCBjb21waWxlcyB0aGUgY29tcG9uZW50cyB3aXRoIHRoZSB0b29sa2l0J3Mgc2hhcmVkIHRyYW5zZm9ybXMsIGFuZCBgJ3Z1ZSdgIGFkZHNcbiAqICAgYHVucGx1Z2luLXZ1ZWAuXG4gKiAtIEFueSBmcmFtZXdvcmsgcmVwbGFjZXMgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCAoYW5kIFZ1ZSdzIGZlYXR1cmUgZmxhZ3MpIGluIHRoZSBidW5kbGVkIGNvZGUuXG4gKiAtIGBzdHlsZXNgIGNvbXBpbGVzIGV2ZXJ5IHN0eWxlc2hlZXQgaXRzZWxmIChQb3N0Q1NTLCBUYWlsd2luZCwgQ1NTIG1vZHVsZXMpLCBzbyByb2xsdXAgbmVlZHMgbm8gQ1NTIHBsdWdpbjsgbGVhdmVcbiAqICAgaXQgb3V0LiBgc3R5bGVzOiB7fWAgY29tcGlsZXMgcGxhaW4gQ1NTLlxuICogLSBgd2FzbWAgaW1wb3J0cyBhIGAud2FzbWAgbW9kdWxlIGFzIGl0cyBieXRlcy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5Sb2xsdXBPcHRpb25zfS5cbiAqIEByZXR1cm5zIFRoZSByb2xsdXAgcGx1Z2lucywgd2hpY2ggcm9sbHVwIHRha2VzIGFzIG9uZSBlbnRyeSBvZiBpdHMgYHBsdWdpbnNgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzaWRpYW5QbHVnaW5Sb2xsdXAob3B0aW9uczogT2JzaWRpYW5QbHVnaW5Sb2xsdXBPcHRpb25zID0ge30pOiBJbnB1dFBsdWdpbk9wdGlvbltdIHtcbiAgY29uc3Qgc3RhdGU6IE9ic2lkaWFuUGx1Z2luUm9sbHVwU3RhdGUgPSB7XG4gICAgYnVpbGRDb250ZXh0OiB1bmRlZmluZWQsXG4gICAgaXNEaXN0Rm9sZGVyQ2xlYW5lZDogZmFsc2VcbiAgfTtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gUm9sbHVwIGhvb2tzOyBleGVyY2lzZWQgYnkgdGhlIGJ1bmRsZXIgaW50ZWdyYXRpb24gdGVzdCBhZ2FpbnN0IGEgcmVhbCByb2xsdXAgYnVpbGQuICovXG4gIGZ1bmN0aW9uIGdldEJ1aWxkQ29udGV4dCgpOiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB7XG4gICAgaWYgKCFzdGF0ZS5idWlsZENvbnRleHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG9ic2lkaWFuLXBsdWdpbiByb2xsdXAgcGx1Z2luIGhhcyBub3QgcmVzb2x2ZWQgaXRzIGJ1aWxkIGNvbnRleHQ6IGl0cyBgb3B0aW9uc2AgaG9vayBkaWQgbm90IHJ1bi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlLmJ1aWxkQ29udGV4dDtcbiAgfVxuXG4gIGNvbnN0IGZlYXR1cmVQbHVnaW4gPSBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbih7XG4gICAgZmVhdHVyZXM6IG9wdGlvbnMsXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQ6ICgpID0+IGdldEJ1aWxkQ29udGV4dCgpLmlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIHNob3VsZENvbXBpbGVTdHlsZXNoZWV0czogdHJ1ZSxcbiAgICBzaG91bGRSZXBsYWNlRGVmaW5lczogdHJ1ZVxuICB9KTtcblxuICBjb25zdCBwbHVnaW46IFBsdWdpbiA9IHtcbiAgICBnZW5lcmF0ZUJ1bmRsZToge1xuICAgICAgaGFuZGxlcihfb3V0cHV0T3B0aW9ucywgYnVuZGxlKTogdm9pZCB7XG4gICAgICAgIHJlbmFtZUNzc0Fzc2V0cyh0aGlzLCBidW5kbGUpO1xuICAgICAgfSxcbiAgICAgIG9yZGVyOiAncG9zdCdcbiAgICB9LFxuICAgIG5hbWU6ICdvYnNpZGlhbi1wbHVnaW4nLFxuICAgIGFzeW5jIG9wdGlvbnMoaW5wdXRPcHRpb25zKTogUHJvbWlzZTxJbnB1dE9wdGlvbnM+IHtcbiAgICAgIGNvbnN0IG1vZGUgPSBvcHRpb25zLm1vZGUgPz8gKHRoaXMubWV0YS53YXRjaE1vZGUgPyBCdWlsZE1vZGUuRGV2ZWxvcG1lbnQgOiBCdWlsZE1vZGUuUHJvZHVjdGlvbik7XG4gICAgICBzdGF0ZS5idWlsZENvbnRleHQgPSBhd2FpdCByZXNvbHZlT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQoeyAuLi5vcHRpb25zLCBtb2RlIH0pO1xuICAgICAgcmV0dXJuIGFwcGx5Um9sbHVwSW5wdXREZWZhdWx0cyh7IGJ1aWxkQ29udGV4dDogc3RhdGUuYnVpbGRDb250ZXh0LCBmZWF0dXJlczogb3B0aW9ucywgaW5wdXRPcHRpb25zIH0pO1xuICAgIH0sXG4gICAgb3V0cHV0T3B0aW9ucyhvdXRwdXRPcHRpb25zKTogT3V0cHV0T3B0aW9ucyB7XG4gICAgICByZXR1cm4gYXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0cyh7IGJ1aWxkQ29udGV4dDogZ2V0QnVpbGRDb250ZXh0KCksIG91dHB1dE9wdGlvbnMgfSk7XG4gICAgfSxcbiAgICBhc3luYyByZW5kZXJTdGFydChvdXRwdXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBpZiAoc3RhdGUuaXNEaXN0Rm9sZGVyQ2xlYW5lZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzdGF0ZS5pc0Rpc3RGb2xkZXJDbGVhbmVkID0gdHJ1ZTtcbiAgICAgIGF3YWl0IGNsZWFuT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGdldE91dHB1dEZvbGRlcihvdXRwdXRPcHRpb25zKSk7XG4gICAgfSxcbiAgICBhc3luYyB3cml0ZUJ1bmRsZShvdXRwdXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBjb25zdCBidWlsZENvbnRleHQgPSB7IC4uLmdldEJ1aWxkQ29udGV4dCgpLCBkaXN0Rm9sZGVyOiBnZXRPdXRwdXRGb2xkZXIob3V0cHV0T3B0aW9ucykgfTtcbiAgICAgIGF3YWl0IGNvbXBsZXRlT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGJ1aWxkQ29udGV4dCk7XG4gICAgICBhd2FpdCBkZXBsb3lUb09ic2lkaWFuUGx1Z2luc0ZvbGRlcihidWlsZENvbnRleHQpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIFtwbHVnaW4sIGZlYXR1cmVQbHVnaW4gYXMgUGx1Z2luLCBjcmVhdGVVbnBsdWdpblZ1ZVBsdWdpbih7IGJ1bmRsZXI6ICdyb2xsdXAnLCBmZWF0dXJlczogb3B0aW9ucyB9KSBhcyBQcm9taXNlPG51bGwgfCBQbHVnaW4+XTtcbiAgLyogdjggaWdub3JlIHN0b3AgKi9cbn1cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIFBhcnQgb2YgdGhlIHJvbGx1cCBob29rcyBhYm92ZS4gKi9cbmZ1bmN0aW9uIGdldE91dHB1dEZvbGRlcihvdXRwdXRPcHRpb25zOiBOb3JtYWxpemVkT3V0cHV0T3B0aW9ucyk6IHN0cmluZyB7XG4gIHJldHVybiBvdXRwdXRPcHRpb25zLmRpciA/PyBkaXJuYW1lKG91dHB1dE9wdGlvbnMuZmlsZSA/PyAnJyk7XG59XG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFB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
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy9yb2xsdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEJ1aWxkcyBhbiBPYnNpZGlhbiBwbHVnaW4gd2l0aCByb2xsdXA6IGEgcm9sbHVwIHBsdWdpbiB0aGF0IGdpdmVzIGEgYnVpbGQgdGhlIHNhbWUgYG1haW4uanNgICtcbiAqIGBzdHlsZXMuY3NzYCArIGBtYW5pZmVzdC5qc29uYCBsYXlvdXQgdGhlIGVzYnVpbGQgYnVpbGRlciBwcm9kdWNlcywgZGVwbG95cyBhIHdhdGNoIGJ1aWxkIGludG8gdGhlIHZhdWx0LFxuICogYW5kIGZpbGxzIGluIG9ubHkgdGhlIG9wdGlvbnMgdGhlIGNvbnN1bWVyJ3Mgb3duIGByb2xsdXAuY29uZmlnYCBsZWF2ZXMgdW5zZXQuXG4gKlxuICogYHJvbGx1cGAgaXMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGFuZCB0aGlzIG1vZHVsZSBvbmx5IGltcG9ydHMgaXRzIHR5cGVzLCBzbyBhIHBsdWdpbiBidWlsdCB3aXRoXG4gKiBlc2J1aWxkIGluc3RhbGxzIG5vdGhpbmcgZXh0cmEuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBJbnB1dE9wdGlvbnMsXG4gIElucHV0UGx1Z2luT3B0aW9uLFxuICBOb3JtYWxpemVkT3V0cHV0T3B0aW9ucyxcbiAgT3V0cHV0T3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ3JvbGx1cCc7XG5cbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQsXG4gIE9ic2lkaWFuUGx1Z2luRGVwbG95bWVudE9wdGlvbnNcbn0gZnJvbSAnLi9vYnNpZGlhbi1wbHVnaW4tYnVpbGQudHMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zIH0gZnJvbSAnLi9vYnNpZGlhbi1wbHVnaW4tZmVhdHVyZXMudHMnO1xuXG5pbXBvcnQge1xuICBCdWlsZE1vZGUsXG4gIGNsZWFuT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyLFxuICBjb21wbGV0ZU9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcixcbiAgZ2V0T2JzaWRpYW5QbHVnaW5CYW5uZXIsXG4gIHJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dFxufSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1idWlsZC50cyc7XG5pbXBvcnQgeyBnZXRKc3hJbXBvcnRTb3VyY2UgfSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1mZWF0dXJlcy50cyc7XG5pbXBvcnQgeyBkZXBsb3lUb09ic2lkaWFuUGx1Z2luc0ZvbGRlciB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2lucy1mb2xkZXItZGVwbG95bWVudC50cyc7XG5pbXBvcnQge1xuICBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbixcbiAgY3JlYXRlVW5wbHVnaW5WdWVQbHVnaW5cbn0gZnJvbSAnLi9yb2xsdXAtY29tcGF0aWJsZS1mZWF0dXJlcy50cyc7XG5pbXBvcnQge1xuICBjb21iaW5lRXh0ZXJuYWwsXG4gIHJlbmFtZUNzc0Fzc2V0c1xufSBmcm9tICcuL3JvbGx1cC1jb21wYXRpYmxlLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYXBwbHlSb2xsdXBJbnB1dERlZmF1bHRzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBseVJvbGx1cElucHV0RGVmYXVsdHNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGJ1aWxkIGNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBidWlsZENvbnRleHQ6IE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgZmVhdHVyZXMuXG4gICAqL1xuICByZWFkb25seSBmZWF0dXJlcz86IE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdW1lcidzIGlucHV0IG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dE9wdGlvbnM6IElucHV0T3B0aW9ucztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0c30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0c1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29udGV4dDogT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdW1lcidzIG91dHB1dCBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0T3B0aW9uczogT3V0cHV0T3B0aW9ucztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgb2JzaWRpYW5QbHVnaW5Sb2xsdXB9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luUm9sbHVwT3B0aW9ucyBleHRlbmRzIE9ic2lkaWFuUGx1Z2luRGVwbG95bWVudE9wdGlvbnMsIE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGJ1aWxkIG1vZGUuIERlZmF1bHRzIHRvIHtAbGluayBCdWlsZE1vZGUuRGV2ZWxvcG1lbnR9IGluIHdhdGNoIG1vZGUgKGByb2xsdXAgLS13YXRjaGApIGFuZFxuICAgKiB7QGxpbmsgQnVpbGRNb2RlLlByb2R1Y3Rpb259IG90aGVyd2lzZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU/OiBCdWlsZE1vZGU7XG59XG5cbi8qKlxuICogVGhlIHN0YXRlIG9uZSB7QGxpbmsgb2JzaWRpYW5QbHVnaW5Sb2xsdXB9IGluc3RhbmNlIGtlZXBzIGFjcm9zcyB0aGUgaG9va3Mgb2YgYSBidWlsZCwgYW5kIGFjcm9zcyB0aGVcbiAqIHJlYnVpbGRzIG9mIGEgd2F0Y2guXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpblJvbGx1cFN0YXRlIHtcbiAgYnVpbGRDb250ZXh0OiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgaXNEaXN0Rm9sZGVyQ2xlYW5lZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGaWxscyBpbiB0aGUgcm9sbHVwIGlucHV0IG9wdGlvbnMgdGhlIGNvbnN1bWVyIGxlZnQgdW5zZXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQXBwbHlSb2xsdXBJbnB1dERlZmF1bHRzUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBpbnB1dCBvcHRpb25zIHdpdGggdGhlIHBsdWdpbidzIGRlZmF1bHRzIGFwcGxpZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVJvbGx1cElucHV0RGVmYXVsdHMocGFyYW1zOiBBcHBseVJvbGx1cElucHV0RGVmYXVsdHNQYXJhbXMpOiBJbnB1dE9wdGlvbnMge1xuICBjb25zdCB7IGJ1aWxkQ29udGV4dCwgaW5wdXRPcHRpb25zIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGpzeEltcG9ydFNvdXJjZSA9IGdldEpzeEltcG9ydFNvdXJjZShwYXJhbXMuZmVhdHVyZXM/LmZyYW1ld29yayk7XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXRPcHRpb25zLFxuICAgIGV4dGVybmFsOiBjb21iaW5lRXh0ZXJuYWwoaW5wdXRPcHRpb25zLmV4dGVybmFsKSxcbiAgICBpbnB1dDogaW5wdXRPcHRpb25zLmlucHV0ID8/IGJ1aWxkQ29udGV4dC5lbnRyeVBvaW50LFxuICAgIC4uLihqc3hJbXBvcnRTb3VyY2UgIT09IHVuZGVmaW5lZCAmJiBpbnB1dE9wdGlvbnMuanN4ID09PSB1bmRlZmluZWQgJiYgeyBqc3g6IHsganN4SW1wb3J0U291cmNlLCBtb2RlOiAnYXV0b21hdGljJyB9IH0pXG4gIH07XG59XG5cbi8qKlxuICogRmlsbHMgaW4gdGhlIHJvbGx1cCBvdXRwdXQgb3B0aW9ucyB0aGUgY29uc3VtZXIgbGVmdCB1bnNldC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBBcHBseVJvbGx1cE91dHB1dERlZmF1bHRzUGFyYW1zfS5cbiAqIEByZXR1cm5zIFRoZSBvdXRwdXQgb3B0aW9ucyB3aXRoIHRoZSBwbHVnaW4ncyBkZWZhdWx0cyBhcHBsaWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0cyhwYXJhbXM6IEFwcGx5Um9sbHVwT3V0cHV0RGVmYXVsdHNQYXJhbXMpOiBPdXRwdXRPcHRpb25zIHtcbiAgY29uc3QgeyBidWlsZENvbnRleHQsIG91dHB1dE9wdGlvbnMgfSA9IHBhcmFtcztcbiAgY29uc3QgaGFzT3V0cHV0TG9jYXRpb24gPSBvdXRwdXRPcHRpb25zLmZpbGUgIT09IHVuZGVmaW5lZCB8fCBvdXRwdXRPcHRpb25zLmRpciAhPT0gdW5kZWZpbmVkO1xuICByZXR1cm4ge1xuICAgIC4uLm91dHB1dE9wdGlvbnMsXG4gICAgYmFubmVyOiBvdXRwdXRPcHRpb25zLmJhbm5lciA/PyBnZXRPYnNpZGlhblBsdWdpbkJhbm5lcigncm9sbHVwJyksXG4gICAgZm9ybWF0OiBvdXRwdXRPcHRpb25zLmZvcm1hdCA/PyAnY2pzJyxcbiAgICAuLi4oIWhhc091dHB1dExvY2F0aW9uICYmIHsgZmlsZTogYnVpbGRDb250ZXh0Lm1haW5Kc1BhdGggfSksXG4gICAgLy8gQW4gT2JzaWRpYW4gcGx1Z2luIGlzIG9uZSBmaWxlOiB0aGUgbWFuaWZlc3QgbmFtZXMgYG1haW4uanNgIGFuZCBub3RoaW5nIGxvYWRzIGEgc2Vjb25kIGNodW5rLlxuICAgIGlubGluZUR5bmFtaWNJbXBvcnRzOiBvdXRwdXRPcHRpb25zLmlubGluZUR5bmFtaWNJbXBvcnRzID8/IHRydWUsXG4gICAgc291cmNlbWFwOiBvdXRwdXRPcHRpb25zLnNvdXJjZW1hcCA/PyAoIWJ1aWxkQ29udGV4dC5pc1Byb2R1Y3Rpb25CdWlsZCAmJiAnaW5saW5lJylcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcm9sbHVwIHBsdWdpbiB0aGF0IGJ1aWxkcyBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKlxuICogV2hhdCBpdCBkb2VzLCBlYWNoIG9ubHkgd2hlbiB0aGUgY29uc3VtZXIncyBjb25maWcgaGFzIG5vdCBzYWlkIG90aGVyd2lzZTpcbiAqXG4gKiAtIGBpbnB1dGAgaXMgYHNyYy9tYWluLnRzYC5cbiAqIC0gVGhlIG91dHB1dCBpcyBvbmUgQ29tbW9uSlMgYG1haW4uanNgIGluIGBkaXN0L2J1aWxkYCAoYGRpc3QvZGV2YCBpbiB3YXRjaCBtb2RlKSwgd2l0aCBkeW5hbWljIGltcG9ydHNcbiAqICAgaW5saW5lZCwgdGhlIGdlbmVyYXRlZC1maWxlIGJhbm5lciwgYW5kIGFuIGlubGluZSBzb3VyY2UgbWFwIGluIGRldmVsb3BtZW50LlxuICpcbiAqIEFuZCBhbHdheXM6IE9ic2lkaWFuJ3Mgb3duIG1vZHVsZXMgKGBvYnNpZGlhbmAsIGBlbGVjdHJvbmAsIENvZGVNaXJyb3IsIExlemVyKSBhbmQgdGhlIE5vZGUgYnVpbHRpbnMgYXJlXG4gKiBleHRlcm5hbCBiZXNpZGUgdGhlIGNvbnN1bWVyJ3Mgb3duIGBleHRlcm5hbGAsIHRoZSBvdXRwdXQgZm9sZGVyIGlzIGVtcHRpZWQgYmVmb3JlIHRoZSBmaXJzdCB3cml0ZSxcbiAqIGV2ZXJ5IGVtaXR0ZWQgQ1NTIGZpbGUgZW5kcyB1cCBpbiBgc3R5bGVzLmNzc2AsIGBtYW5pZmVzdC5qc29uYCAoYW5kIGluIGRldmVsb3BtZW50IGAuaG90cmVsb2FkYCkgaXNcbiAqIGNvcGllZCBiZXNpZGUgaXQsIGFuZCBhIGRldmVsb3BtZW50IGJ1aWxkIGlzIGRlcGxveWVkIGludG8gdGhlIHZhdWx0IG5hbWVkIGJ5IGBPQlNJRElBTl9DT05GSUdfRk9MREVSYC5cbiAqXG4gKiBUeXBlU2NyaXB0LCBkZXBlbmRlbmN5IHJlc29sdXRpb24gYW5kIG1pbmlmaWNhdGlvbiBzdGF5IHRoZSBjb25zdW1lcidzIGNob2ljZSBvZiByb2xsdXAgcGx1Z2lucywgYXMgdGhleSB3b3VsZCBiZVxuICogd2l0aG91dCB0aGlzIG9uZS4gVGhlIGJ1aWxkIGZlYXR1cmVzICh7QGxpbmsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9uc30pIGFyZSB0aGUgcGx1Z2luJ3M6XG4gKlxuICogLSBgZnJhbWV3b3JrOiAncmVhY3QnIHwgJ3ByZWFjdCdgIHNldHMgcm9sbHVwJ3MgYGpzeGAgb3B0aW9uIHRvIHRoZSBhdXRvbWF0aWMgcnVudGltZSAodW5sZXNzIHNldCksIGFuZCB0aGVcbiAqICAgVHlwZVNjcmlwdCBwbHVnaW4gcmVhZHMgdGhlIHNhbWUgZnJvbSB0aGUgdG9vbGtpdCdzIHRzY29uZmlnIHByZXNldC5cbiAqIC0gYGZyYW1ld29yazogJ3NvbGlkJyB8ICdzdmVsdGUnYCBjb21waWxlcyB0aGUgY29tcG9uZW50cyB3aXRoIHRoZSB0b29sa2l0J3Mgc2hhcmVkIHRyYW5zZm9ybXMsIGFuZCBgJ3Z1ZSdgIGFkZHNcbiAqICAgYHVucGx1Z2luLXZ1ZWAuXG4gKiAtIEFueSBmcmFtZXdvcmsgcmVwbGFjZXMgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCAoYW5kIFZ1ZSdzIGZlYXR1cmUgZmxhZ3MpIGluIHRoZSBidW5kbGVkIGNvZGUuXG4gKiAtIGBzdHlsZXNgIGNvbXBpbGVzIGV2ZXJ5IHN0eWxlc2hlZXQgaXRzZWxmIChQb3N0Q1NTLCBUYWlsd2luZCwgQ1NTIG1vZHVsZXMpLCBzbyByb2xsdXAgbmVlZHMgbm8gQ1NTIHBsdWdpbjsgbGVhdmVcbiAqICAgaXQgb3V0LiBgc3R5bGVzOiB7fWAgY29tcGlsZXMgcGxhaW4gQ1NTLlxuICogLSBgd2FzbWAgaW1wb3J0cyBhIGAud2FzbWAgbW9kdWxlIGFzIGl0cyBieXRlcy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5Sb2xsdXBPcHRpb25zfS5cbiAqIEByZXR1cm5zIFRoZSByb2xsdXAgcGx1Z2lucywgd2hpY2ggcm9sbHVwIHRha2VzIGFzIG9uZSBlbnRyeSBvZiBpdHMgYHBsdWdpbnNgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzaWRpYW5QbHVnaW5Sb2xsdXAob3B0aW9uczogT2JzaWRpYW5QbHVnaW5Sb2xsdXBPcHRpb25zID0ge30pOiBJbnB1dFBsdWdpbk9wdGlvbltdIHtcbiAgY29uc3Qgc3RhdGU6IE9ic2lkaWFuUGx1Z2luUm9sbHVwU3RhdGUgPSB7XG4gICAgYnVpbGRDb250ZXh0OiB1bmRlZmluZWQsXG4gICAgaXNEaXN0Rm9sZGVyQ2xlYW5lZDogZmFsc2VcbiAgfTtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gUm9sbHVwIGhvb2tzOyBleGVyY2lzZWQgYnkgdGhlIGJ1bmRsZXIgaW50ZWdyYXRpb24gdGVzdCBhZ2FpbnN0IGEgcmVhbCByb2xsdXAgYnVpbGQuICovXG4gIGZ1bmN0aW9uIGdldEJ1aWxkQ29udGV4dCgpOiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB7XG4gICAgaWYgKCFzdGF0ZS5idWlsZENvbnRleHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG9ic2lkaWFuLXBsdWdpbiByb2xsdXAgcGx1Z2luIGhhcyBub3QgcmVzb2x2ZWQgaXRzIGJ1aWxkIGNvbnRleHQ6IGl0cyBgb3B0aW9uc2AgaG9vayBkaWQgbm90IHJ1bi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlLmJ1aWxkQ29udGV4dDtcbiAgfVxuXG4gIGNvbnN0IGZlYXR1cmVQbHVnaW4gPSBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbih7XG4gICAgZmVhdHVyZXM6IG9wdGlvbnMsXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQ6ICgpID0+IGdldEJ1aWxkQ29udGV4dCgpLmlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIHNob3VsZENvbXBpbGVTdHlsZXNoZWV0czogdHJ1ZSxcbiAgICBzaG91bGRSZXBsYWNlRGVmaW5lczogdHJ1ZVxuICB9KTtcblxuICBjb25zdCBwbHVnaW46IFBsdWdpbiA9IHtcbiAgICBnZW5lcmF0ZUJ1bmRsZToge1xuICAgICAgaGFuZGxlcihfb3V0cHV0T3B0aW9ucywgYnVuZGxlKTogdm9pZCB7XG4gICAgICAgIHJlbmFtZUNzc0Fzc2V0cyh0aGlzLCBidW5kbGUpO1xuICAgICAgfSxcbiAgICAgIG9yZGVyOiAncG9zdCdcbiAgICB9LFxuICAgIG5hbWU6ICdvYnNpZGlhbi1wbHVnaW4nLFxuICAgIGFzeW5jIG9wdGlvbnMoaW5wdXRPcHRpb25zKTogUHJvbWlzZTxJbnB1dE9wdGlvbnM+IHtcbiAgICAgIGNvbnN0IG1vZGUgPSBvcHRpb25zLm1vZGUgPz8gKHRoaXMubWV0YS53YXRjaE1vZGUgPyBCdWlsZE1vZGUuRGV2ZWxvcG1lbnQgOiBCdWlsZE1vZGUuUHJvZHVjdGlvbik7XG4gICAgICBzdGF0ZS5idWlsZENvbnRleHQgPSBhd2FpdCByZXNvbHZlT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQoeyAuLi5vcHRpb25zLCBtb2RlIH0pO1xuICAgICAgcmV0dXJuIGFwcGx5Um9sbHVwSW5wdXREZWZhdWx0cyh7IGJ1aWxkQ29udGV4dDogc3RhdGUuYnVpbGRDb250ZXh0LCBmZWF0dXJlczogb3B0aW9ucywgaW5wdXRPcHRpb25zIH0pO1xuICAgIH0sXG4gICAgb3V0cHV0T3B0aW9ucyhvdXRwdXRPcHRpb25zKTogT3V0cHV0T3B0aW9ucyB7XG4gICAgICByZXR1cm4gYXBwbHlSb2xsdXBPdXRwdXREZWZhdWx0cyh7IGJ1aWxkQ29udGV4dDogZ2V0QnVpbGRDb250ZXh0KCksIG91dHB1dE9wdGlvbnMgfSk7XG4gICAgfSxcbiAgICBhc3luYyByZW5kZXJTdGFydChvdXRwdXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBpZiAoc3RhdGUuaXNEaXN0Rm9sZGVyQ2xlYW5lZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzdGF0ZS5pc0Rpc3RGb2xkZXJDbGVhbmVkID0gdHJ1ZTtcbiAgICAgIGF3YWl0IGNsZWFuT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGdldE91dHB1dEZvbGRlcihvdXRwdXRPcHRpb25zKSk7XG4gICAgfSxcbiAgICBhc3luYyB3cml0ZUJ1bmRsZShvdXRwdXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBjb25zdCBidWlsZENvbnRleHQgPSB7IC4uLmdldEJ1aWxkQ29udGV4dCgpLCBkaXN0Rm9sZGVyOiBnZXRPdXRwdXRGb2xkZXIob3V0cHV0T3B0aW9ucykgfTtcbiAgICAgIGF3YWl0IGNvbXBsZXRlT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyKGJ1aWxkQ29udGV4dCk7XG4gICAgICBhd2FpdCBkZXBsb3lUb09ic2lkaWFuUGx1Z2luc0ZvbGRlcihidWlsZENvbnRleHQpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIFtwbHVnaW4sIGZlYXR1cmVQbHVnaW4gYXMgUGx1Z2luLCBjcmVhdGVVbnBsdWdpblZ1ZVBsdWdpbih7IGJ1bmRsZXI6ICdyb2xsdXAnLCBmZWF0dXJlczogb3B0aW9ucyB9KSBhcyBQcm9taXNlPG51bGwgfCBQbHVnaW4+XTtcbiAgLyogdjggaWdub3JlIHN0b3AgKi9cbn1cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIFBhcnQgb2YgdGhlIHJvbGx1cCBob29rcyBhYm92ZS4gKi9cbmZ1bmN0aW9uIGdldE91dHB1dEZvbGRlcihvdXRwdXRPcHRpb25zOiBOb3JtYWxpemVkT3V0cHV0T3B0aW9ucyk6IHN0cmluZyB7XG4gIHJldHVybiBvdXRwdXRPcHRpb25zLmRpciA/PyBkaXJuYW1lKG91dHB1dE9wdGlvbnMuZmlsZSA/PyAnJyk7XG59XG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUJBLGtCQUF3QjtBQVF4QixtQ0FNTztBQUNQLHNDQUFtQztBQUNuQyxnREFBOEM7QUFDOUMsd0NBR087QUFDUCwrQkFHTztBQStEQSxTQUFTLHlCQUF5QixRQUFzRDtBQUM3RixRQUFNLEVBQUUsY0FBYyxhQUFhLElBQUk7QUFDdkMsUUFBTSxzQkFBa0Isb0RBQW1CLE9BQU8sVUFBVSxTQUFTO0FBQ3JFLFNBQU87QUFBQSxJQUNMLEdBQUc7QUFBQSxJQUNILGNBQVUsMENBQWdCLGFBQWEsUUFBUTtBQUFBLElBQy9DLE9BQU8sYUFBYSxTQUFTLGFBQWE7QUFBQSxJQUMxQyxHQUFJLG9CQUFvQixVQUFhLGFBQWEsUUFBUSxVQUFhLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixNQUFNLFlBQVksRUFBRTtBQUFBLEVBQ3ZIO0FBQ0Y7QUFRTyxTQUFTLDBCQUEwQixRQUF3RDtBQUNoRyxRQUFNLEVBQUUsY0FBYyxjQUFjLElBQUk7QUFDeEMsUUFBTSxvQkFBb0IsY0FBYyxTQUFTLFVBQWEsY0FBYyxRQUFRO0FBQ3BGLFNBQU87QUFBQSxJQUNMLEdBQUc7QUFBQSxJQUNILFFBQVEsY0FBYyxjQUFVLHNEQUF3QixRQUFRO0FBQUEsSUFDaEUsUUFBUSxjQUFjLFVBQVU7QUFBQSxJQUNoQyxHQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxhQUFhLFdBQVc7QUFBQTtBQUFBLElBRTFELHNCQUFzQixjQUFjLHdCQUF3QjtBQUFBLElBQzVELFdBQVcsY0FBYyxjQUFjLENBQUMsYUFBYSxxQkFBcUI7QUFBQSxFQUM1RTtBQUNGO0FBK0JPLFNBQVMscUJBQXFCLFVBQXVDLENBQUMsR0FBd0I7QUFDbkcsUUFBTSxRQUFtQztBQUFBLElBQ3ZDLGNBQWM7QUFBQSxJQUNkLHFCQUFxQjtBQUFBLEVBQ3ZCO0FBR0EsV0FBUyxrQkFBOEM7QUFDckQsUUFBSSxDQUFDLE1BQU0sY0FBYztBQUN2QixZQUFNLElBQUksTUFBTSx1R0FBdUc7QUFBQSxJQUN6SDtBQUNBLFdBQU8sTUFBTTtBQUFBLEVBQ2Y7QUFFQSxRQUFNLG9CQUFnQix1RUFBb0M7QUFBQSxJQUN4RCxVQUFVO0FBQUEsSUFDVixtQkFBbUIsTUFBTSxnQkFBZ0IsRUFBRTtBQUFBLElBQzNDLDBCQUEwQjtBQUFBLElBQzFCLHNCQUFzQjtBQUFBLEVBQ3hCLENBQUM7QUFFRCxRQUFNLFNBQWlCO0FBQUEsSUFDckIsZ0JBQWdCO0FBQUEsTUFDZCxRQUFRLGdCQUFnQixRQUFjO0FBQ3BDLHNEQUFnQixNQUFNLE1BQU07QUFBQSxNQUM5QjtBQUFBLE1BQ0EsT0FBTztBQUFBLElBQ1Q7QUFBQSxJQUNBLE1BQU07QUFBQSxJQUNOLE1BQU0sUUFBUSxjQUFxQztBQUNqRCxZQUFNLE9BQU8sUUFBUSxTQUFTLEtBQUssS0FBSyxZQUFZLHVDQUFVLGNBQWMsdUNBQVU7QUFDdEYsWUFBTSxlQUFlLFVBQU0sZ0VBQWtDLEVBQUUsR0FBRyxTQUFTLEtBQUssQ0FBQztBQUNqRixhQUFPLHlCQUF5QixFQUFFLGNBQWMsTUFBTSxjQUFjLFVBQVUsU0FBUyxhQUFhLENBQUM7QUFBQSxJQUN2RztBQUFBLElBQ0EsY0FBYyxlQUE4QjtBQUMxQyxhQUFPLDBCQUEwQixFQUFFLGNBQWMsZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO0FBQUEsSUFDckY7QUFBQSxJQUNBLE1BQU0sWUFBWSxlQUE4QjtBQUM5QyxVQUFJLE1BQU0scUJBQXFCO0FBQzdCO0FBQUEsTUFDRjtBQUNBLFlBQU0sc0JBQXNCO0FBQzVCLGdCQUFNLDREQUE4QixnQkFBZ0IsYUFBYSxDQUFDO0FBQUEsSUFDcEU7QUFBQSxJQUNBLE1BQU0sWUFBWSxlQUE4QjtBQUM5QyxZQUFNLGVBQWUsRUFBRSxHQUFHLGdCQUFnQixHQUFHLFlBQVksZ0JBQWdCLGFBQWEsRUFBRTtBQUN4RixnQkFBTSwrREFBaUMsWUFBWTtBQUNuRCxnQkFBTSx5RUFBOEIsWUFBWTtBQUFBLElBQ2xEO0FBQUEsRUFDRjtBQUNBLFNBQU8sQ0FBQyxRQUFRLG1CQUF5QiwyREFBd0IsRUFBRSxTQUFTLFVBQVUsVUFBVSxRQUFRLENBQUMsQ0FBMkI7QUFFdEk7QUFHQSxTQUFTLGdCQUFnQixlQUFnRDtBQUN2RSxTQUFPLGNBQWMsV0FBTyxxQkFBUSxjQUFjLFFBQVEsRUFBRTtBQUM5RDsiLCJuYW1lcyI6W119
@@ -2,80 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
- (function patchObsidianRequire() {
6
- const originalRequire = require;
7
- if (!originalRequire || originalRequire.__isPatched) {
8
- return;
9
- }
10
-
11
- require = Object.assign(
12
- (id) => requirePatched(id),
13
- originalRequire,
14
- {
15
- __isPatched: true
16
- }
17
- );
18
-
19
- function extractDefault(module) {
20
- return module && module.__esModule && 'default' in module ? module.default : module;
21
- }
22
-
23
- const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
24
- '@codemirror/autocomplete',
25
- '@codemirror/collab',
26
- '@codemirror/commands',
27
- '@codemirror/language',
28
- '@codemirror/lint',
29
- '@codemirror/search',
30
- '@codemirror/state',
31
- '@codemirror/text',
32
- '@codemirror/view',
33
- '@lezer/common',
34
- '@lezer/highlight',
35
- '@lezer/lr',
36
- 'obsidian']
37
- );
38
-
39
- const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
40
- '@codemirror/closebrackets',
41
- '@codemirror/comment',
42
- '@codemirror/fold',
43
- '@codemirror/gutter',
44
- '@codemirror/highlight',
45
- '@codemirror/history',
46
- '@codemirror/matchbrackets',
47
- '@codemirror/panel',
48
- '@codemirror/rangeset',
49
- '@codemirror/rectangular-selection',
50
- '@codemirror/stream-parser',
51
- '@codemirror/tooltip']
52
- );
53
-
54
- function requirePatched(id) {
55
- if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
56
- return originalRequire?.(id);
57
- }
58
-
59
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
60
- if (globalThis.app.isMobile) {
61
- if (id === 'process' || id === 'node:process') {
62
- // eslint-disable-next-line no-console -- Valid usage.
63
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
64
-
65
- return process;
66
- }
67
- } else {
68
- const module = originalRequire?.(id);
69
- if (module) {
70
- return extractDefault(module);
71
- }
72
- }
73
-
74
- // eslint-disable-next-line no-console -- Valid usage.
75
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
76
- return {};
77
- }
78
- })();
79
5
 
80
6
  "use strict";
81
7
  var __defProp = Object.defineProperty;
@@ -226,4 +152,4 @@ function obsidianPluginVite(options = {}) {
226
152
  getViteFeatureConfig,
227
153
  obsidianPluginVite
228
154
  });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idW5kbGVycy92aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCdWlsZHMgYW4gT2JzaWRpYW4gcGx1Z2luIHdpdGggdml0ZTogYSB2aXRlIHBsdWdpbiB0aGF0IHR1cm5zIGB2aXRlIGJ1aWxkYCBpbnRvIGEgbGlicmFyeSBidWlsZCBvZlxuICogYHNyYy9tYWluLnRzYCB3aXRoIHRoZSBzYW1lIGBtYWluLmpzYCArIGBzdHlsZXMuY3NzYCArIGBtYW5pZmVzdC5qc29uYCBsYXlvdXQgdGhlIGVzYnVpbGQgYnVpbGRlclxuICogcHJvZHVjZXMsIGRlcGxveXMgYSBgdml0ZSBidWlsZCAtLXdhdGNoYCBidWlsZCBpbnRvIHRoZSB2YXVsdCwgYW5kIGZpbGxzIGluIG9ubHkgdGhlIG9wdGlvbnMgdGhlXG4gKiBjb25zdW1lcidzIG93biBgdml0ZS5jb25maWdgIGxlYXZlcyB1bnNldC5cbiAqXG4gKiBgdml0ZWAgaXMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGFuZCB0aGlzIG1vZHVsZSBvbmx5IGltcG9ydHMgaXRzIHR5cGVzLCBzbyBhIHBsdWdpbiBidWlsdCB3aXRoXG4gKiBlc2J1aWxkIGluc3RhbGxzIG5vdGhpbmcgZXh0cmEuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBDb25maWdFbnYsXG4gIFBsdWdpbixcbiAgUGx1Z2luT3B0aW9uLFxuICBVc2VyQ29uZmlnXG59IGZyb20gJ3ZpdGUnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0LFxuICBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zXG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWJ1aWxkLnRzJztcbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9ucyB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWZlYXR1cmVzLnRzJztcbmltcG9ydCB0eXBlIHsgUG9zdGNzc0NvbmZpZyB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLXRyYW5zZm9ybXMudHMnO1xuaW1wb3J0IHR5cGUge1xuICBBc3NldEVtaXR0ZXIsXG4gIEJ1bmRsZU91dHB1dExpa2Vcbn0gZnJvbSAnLi9yb2xsdXAtY29tcGF0aWJsZS50cyc7XG5cbmltcG9ydCB7XG4gIEJ1aWxkTW9kZSxcbiAgY2xlYW5PYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIsXG4gIGNvbXBsZXRlT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyLFxuICBnZXRPYnNpZGlhblBsdWdpbkJhbm5lcixcbiAgcmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0XG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWJ1aWxkLnRzJztcbmltcG9ydCB7XG4gIGdldEZyYW1ld29ya0RlZmluZXMsXG4gIGdldEpzeEltcG9ydFNvdXJjZSxcbiAgaXNQb3N0Y3NzTmVlZGVkXG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWZlYXR1cmVzLnRzJztcbmltcG9ydCB7IGxvYWRQb3N0Y3NzQ29uZmlnIH0gZnJvbSAnLi9vYnNpZGlhbi1wbHVnaW4tdHJhbnNmb3Jtcy50cyc7XG5pbXBvcnQgeyBkZXBsb3lUb09ic2lkaWFuUGx1Z2luc0ZvbGRlciB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2lucy1mb2xkZXItZGVwbG95bWVudC50cyc7XG5pbXBvcnQge1xuICBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbixcbiAgY3JlYXRlVW5wbHVnaW5WdWVQbHVnaW5cbn0gZnJvbSAnLi9yb2xsdXAtY29tcGF0aWJsZS1mZWF0dXJlcy50cyc7XG5pbXBvcnQge1xuICBjb21iaW5lRXh0ZXJuYWwsXG4gIHJlbmFtZUNzc0Fzc2V0c1xufSBmcm9tICcuL3JvbGx1cC1jb21wYXRpYmxlLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0Vml0ZUZlYXR1cmVDb25maWd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFZpdGVGZWF0dXJlQ29uZmlnUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBidWlsZCBmZWF0dXJlcy5cbiAgICovXG4gIHJlYWRvbmx5IGZlYXR1cmVzOiBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBQb3N0Q1NTIHBsdWdpbnMgb2YgdGhlIGBzdHlsZXNgIG9wdGlvbiwgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBuZWVkcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdGNzc0NvbmZpZzogUG9zdGNzc0NvbmZpZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnN1bWVyJ3Mgdml0ZSBjb25maWcuXG4gICAqL1xuICByZWFkb25seSB1c2VyQ29uZmlnOiBVc2VyQ29uZmlnO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBvYnNpZGlhblBsdWdpblZpdGV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luVml0ZU9wdGlvbnMgZXh0ZW5kcyBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zLCBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBidWlsZCBtb2RlLiBEZWZhdWx0cyB0byB7QGxpbmsgQnVpbGRNb2RlLkRldmVsb3BtZW50fSBmb3IgYHZpdGUgYnVpbGQgLS13YXRjaGAgKG9yXG4gICAqIGAtLW1vZGUgZGV2ZWxvcG1lbnRgKSBhbmQge0BsaW5rIEJ1aWxkTW9kZS5Qcm9kdWN0aW9ufSBvdGhlcndpc2UuXG4gICAqL1xuICByZWFkb25seSBtb2RlPzogQnVpbGRNb2RlO1xufVxuXG4vKipcbiAqIFRoZSBzdGF0ZSBvbmUge0BsaW5rIG9ic2lkaWFuUGx1Z2luVml0ZX0gaW5zdGFuY2Uga2VlcHMgYWNyb3NzIHRoZSBob29rcyBvZiBhIGJ1aWxkLCBhbmQgYWNyb3NzIHRoZVxuICogcmVidWlsZHMgb2YgYSB3YXRjaC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luVml0ZVN0YXRlIHtcbiAgYnVpbGRDb250ZXh0OiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgaXNEaXN0Rm9sZGVyQ2xlYW5lZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWNpZGVzIHRoZSBidWlsZCBtb2RlIG9mIGEgdml0ZSBidWlsZCBmcm9tIHRoZSBjb25zdW1lcidzIGNvbmZpZzogZGV2ZWxvcG1lbnQgZm9yIGEgd2F0Y2ggYnVpbGQgb3IgZm9yXG4gKiBgLS1tb2RlIGRldmVsb3BtZW50YCwgcHJvZHVjdGlvbiBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIHVzZXJDb25maWcgLSBUaGUgY29uc3VtZXIncyB2aXRlIGNvbmZpZy5cbiAqIEBwYXJhbSBlbnYgLSBUaGUgdml0ZSBjb25maWcgZW52aXJvbm1lbnQuXG4gKiBAcmV0dXJucyBUaGUgYnVpbGQgbW9kZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpdGVCdWlsZE1vZGUodXNlckNvbmZpZzogVXNlckNvbmZpZywgZW52OiBQaWNrPENvbmZpZ0VudiwgJ21vZGUnPik6IEJ1aWxkTW9kZSB7XG4gIHJldHVybiB1c2VyQ29uZmlnLmJ1aWxkPy53YXRjaCB8fCBlbnYubW9kZSA9PT0gJ2RldmVsb3BtZW50JyA/IEJ1aWxkTW9kZS5EZXZlbG9wbWVudCA6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgcGFydCBvZiB0aGUgdml0ZSBjb25maWcgdGhlIHBsdWdpbiBjb250cmlidXRlczogb25seSB0aGUgb3B0aW9ucyB0aGUgY29uc3VtZXIgbGVmdCB1bnNldC5cbiAqXG4gKiBAcGFyYW0gdXNlckNvbmZpZyAtIFRoZSBjb25zdW1lcidzIHZpdGUgY29uZmlnLlxuICogQHBhcmFtIGJ1aWxkQ29udGV4dCAtIFRoZSBidWlsZCBjb250ZXh0LlxuICogQHJldHVybnMgVGhlIGNvbmZpZyB2aXRlIG1lcmdlcyBpbnRvIHRoZSBjb25zdW1lcidzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Vml0ZUNvbmZpZ0RlZmF1bHRzKHVzZXJDb25maWc6IFVzZXJDb25maWcsIGJ1aWxkQ29udGV4dDogT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQpOiBVc2VyQ29uZmlnIHtcbiAgY29uc3QgYnVpbGQgPSB1c2VyQ29uZmlnLmJ1aWxkID8/IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWQgLS0gQSBjb25zdW1lcidzIGNvbmZpZyBtYXkgc3RpbGwgdXNlIHRoZSBkZXByZWNhdGVkIGFsaWFzLCBhbmQgdml0ZSBzdGlsbCBob25vcnMgaXQuXG4gIGNvbnN0IHJvbGxkb3duT3B0aW9ucyA9IGJ1aWxkLnJvbGxkb3duT3B0aW9ucyA/PyBidWlsZC5yb2xsdXBPcHRpb25zID8/IHt9O1xuICBjb25zdCBvdXRwdXQgPSBBcnJheS5pc0FycmF5KHJvbGxkb3duT3B0aW9ucy5vdXRwdXQpID8gdW5kZWZpbmVkIDogcm9sbGRvd25PcHRpb25zLm91dHB1dCA/PyB7fTtcblxuICByZXR1cm4ge1xuICAgIGJ1aWxkOiB7XG4gICAgICAvLyBBbiBPYnNpZGlhbiByZWxlYXNlIHNoaXBzIGBtYWluLmpzYCBhbmQgYHN0eWxlcy5jc3NgIGFuZCBub3RoaW5nIGVsc2UsIHNvIGFueSBhc3NldCBlbWl0dGVkIGJlc2lkZVxuICAgICAgLy8gdGhlIGJ1bmRsZSBpcyBhIGZpbGUgdGhlIGluc3RhbGxlZCBwbHVnaW4gbG9va3MgZm9yIGFuZCBkb2VzIG5vdCBmaW5kLlxuICAgICAgYXNzZXRzSW5saW5lTGltaXQ6IGJ1aWxkLmFzc2V0c0lubGluZUxpbWl0ID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbmFtZS1yZXBsYWNlbWVudHMgLS0gYGVtcHR5T3V0RGlyYCBpcyB0aGUgbmFtZSB2aXRlJ3MgY29uZmlnIHJlYWRzLlxuICAgICAgZW1wdHlPdXREaXI6IGZhbHNlLFxuICAgICAgbGliOiBidWlsZC5saWIgPz8ge1xuICAgICAgICBjc3NGaWxlTmFtZTogJ3N0eWxlcycsXG4gICAgICAgIGVudHJ5OiBidWlsZENvbnRleHQuZW50cnlQb2ludCxcbiAgICAgICAgZmlsZU5hbWU6ICgpOiBzdHJpbmcgPT4gJ21haW4uanMnLFxuICAgICAgICBmb3JtYXRzOiBbJ2NqcyddXG4gICAgICB9LFxuICAgICAgbWluaWZ5OiBidWlsZC5taW5pZnkgPz8gYnVpbGRDb250ZXh0LmlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbmFtZS1yZXBsYWNlbWVudHMgLS0gYG91dERpcmAgaXMgdGhlIG5hbWUgdml0ZSdzIGNvbmZpZyByZWFkcy5cbiAgICAgIG91dERpcjogYnVpbGRDb250ZXh0LmRpc3RGb2xkZXIsXG4gICAgICByb2xsZG93bk9wdGlvbnM6IHtcbiAgICAgICAgZXh0ZXJuYWw6IGNvbWJpbmVFeHRlcm5hbChyb2xsZG93bk9wdGlvbnMuZXh0ZXJuYWwpLFxuICAgICAgICAuLi4ob3V0cHV0ICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgLy8gYHBvc3RCYW5uZXJgIHJhdGhlciB0aGFuIGBiYW5uZXJgOiBpdCBpcyBhZGRlZCBhZnRlciBtaW5pZmljYXRpb24sIHdoaWNoIHN0cmlwcyBhbiBvcmRpbmFyeSBjb21tZW50LlxuICAgICAgICAgICAgLi4uKG91dHB1dC5iYW5uZXIgPT09IHVuZGVmaW5lZCAmJiBvdXRwdXQucG9zdEJhbm5lciA9PT0gdW5kZWZpbmVkICYmIHsgcG9zdEJhbm5lcjogZ2V0T2JzaWRpYW5QbHVnaW5CYW5uZXIoJ3ZpdGUnKSB9KSxcbiAgICAgICAgICAgIC8vIEFuIE9ic2lkaWFuIHBsdWdpbiBpcyBvbmUgZmlsZTogdGhlIG1hbmlmZXN0IG5hbWVzIGBtYWluLmpzYCBhbmQgbm90aGluZyBsb2FkcyBhIHNlY29uZCBjaHVuay5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCAtLSBBIGNvbnN1bWVyJ3MgY29uZmlnIG1heSBzdGlsbCBzZXQgdGhlIGRlcHJlY2F0ZWQgb3B0aW9uLCB3aGljaCB0aGVuIHdpbnMuXG4gICAgICAgICAgICAuLi4ob3V0cHV0LmNvZGVTcGxpdHRpbmcgPT09IHVuZGVmaW5lZCAmJiBvdXRwdXQuaW5saW5lRHluYW1pY0ltcG9ydHMgPT09IHVuZGVmaW5lZCAmJiB7IGNvZGVTcGxpdHRpbmc6IGZhbHNlIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHNvdXJjZW1hcDogYnVpbGQuc291cmNlbWFwID8/ICghYnVpbGRDb250ZXh0LmlzUHJvZHVjdGlvbkJ1aWxkICYmICdpbmxpbmUnKVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIHBhcnQgb2YgdGhlIHZpdGUgY29uZmlnIHRoZSBidWlsZCBmZWF0dXJlcyBjb250cmlidXRlLCBlYWNoIG9ubHkgd2hlcmUgdGhlIGNvbnN1bWVyJ3MgY29uZmlnIGxlZnQgaXRcbiAqIHVuc2V0OiB0aGUgZnJhbWV3b3JrJ3MgY29tcGlsZS10aW1lIGNvbnN0YW50cyAoYGRlZmluZWApLCB0aGUgYXV0b21hdGljIEpTWCBydW50aW1lIGZvciBSZWFjdCBhbmQgUHJlYWN0XG4gKiAoYG94Yy5qc3hgKSwgYW5kIHRoZSBQb3N0Q1NTIHBsdWdpbnMgb2YgdGhlIGBzdHlsZXNgIG9wdGlvbiAoYGNzcy5wb3N0Y3NzYCkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0Vml0ZUZlYXR1cmVDb25maWdQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGNvbmZpZyB2aXRlIG1lcmdlcyBpbnRvIHRoZSBjb25zdW1lcidzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Vml0ZUZlYXR1cmVDb25maWcocGFyYW1zOiBHZXRWaXRlRmVhdHVyZUNvbmZpZ1BhcmFtcyk6IFVzZXJDb25maWcge1xuICBjb25zdCB7IGZlYXR1cmVzLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcG9zdGNzc0NvbmZpZywgdXNlckNvbmZpZyB9ID0gcGFyYW1zO1xuICBjb25zdCBjb25maWc6IFVzZXJDb25maWcgPSB7fTtcblxuICBjb25zdCB1c2VyRGVmaW5lID0gdXNlckNvbmZpZy5kZWZpbmUgPz8ge307XG4gIGNvbnN0IGRlZmluZSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhnZXRGcmFtZXdvcmtEZWZpbmVzKHsgZnJhbWV3b3JrOiBmZWF0dXJlcy5mcmFtZXdvcmssIGlzUHJvZHVjdGlvbkJ1aWxkIH0pKS5maWx0ZXIoKFtleHByZXNzaW9uXSkgPT4gIU9iamVjdC5oYXNPd24odXNlckRlZmluZSwgZXhwcmVzc2lvbikpXG4gICk7XG4gIGlmIChPYmplY3Qua2V5cyhkZWZpbmUpLmxlbmd0aCA+IDApIHtcbiAgICBjb25maWcuZGVmaW5lID0gZGVmaW5lO1xuICB9XG5cbiAgY29uc3QganN4SW1wb3J0U291cmNlID0gZ2V0SnN4SW1wb3J0U291cmNlKGZlYXR1cmVzLmZyYW1ld29yayk7XG4gIGlmIChqc3hJbXBvcnRTb3VyY2UgIT09IHVuZGVmaW5lZCAmJiB1c2VyQ29uZmlnLm94YyAhPT0gZmFsc2UgJiYgdXNlckNvbmZpZy5veGM/LmpzeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uZmlnLm94YyA9IHsganN4OiB7IGRldmVsb3BtZW50OiAhaXNQcm9kdWN0aW9uQnVpbGQsIGltcG9ydFNvdXJjZToganN4SW1wb3J0U291cmNlLCBydW50aW1lOiAnYXV0b21hdGljJyB9IH07XG4gIH1cblxuICBpZiAocG9zdGNzc0NvbmZpZyAmJiBwb3N0Y3NzQ29uZmlnLnBsdWdpbnMubGVuZ3RoID4gMCAmJiB1c2VyQ29uZmlnLmNzcz8ucG9zdGNzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uZmlnLmNzcyA9IHsgcG9zdGNzczogeyBwbHVnaW5zOiBbLi4ucG9zdGNzc0NvbmZpZy5wbHVnaW5zXSB9IH07XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdml0ZSBwbHVnaW4gdGhhdCBidWlsZHMgYW4gT2JzaWRpYW4gcGx1Z2luLlxuICpcbiAqIFdoYXQgaXQgZG9lcywgZWFjaCBvbmx5IHdoZW4gdGhlIGNvbnN1bWVyJ3MgY29uZmlnIGhhcyBub3Qgc2FpZCBvdGhlcndpc2U6XG4gKlxuICogLSBgYnVpbGQubGliYCBidWlsZHMgYHNyYy9tYWluLnRzYCBhcyBvbmUgQ29tbW9uSlMgYG1haW4uanNgLCB3aXRoIGl0cyBDU1MgaW4gYHN0eWxlcy5jc3NgLlxuICogLSBgYnVpbGQub3V0RGlyYCBpcyBgZGlzdC9idWlsZGAgKGBkaXN0L2RldmAgaW4gZGV2ZWxvcG1lbnQpLlxuICogLSBgYnVpbGQubWluaWZ5YCBpcyBvbiBpbiBwcm9kdWN0aW9uIG9ubHksIGFuZCBgYnVpbGQuc291cmNlbWFwYCBpcyBpbmxpbmUgaW4gZGV2ZWxvcG1lbnQgb25seS5cbiAqIC0gRXZlcnkgYXNzZXQgaXMgaW5saW5lZCwgYmVjYXVzZSBhbiBPYnNpZGlhbiByZWxlYXNlIHNoaXBzIGBtYWluLmpzYCBhbmQgYHN0eWxlcy5jc3NgIGFuZCBub3RoaW5nIGVsc2UuXG4gKiAtIER5bmFtaWMgaW1wb3J0cyBhcmUgaW5saW5lZCBpbnRvIGBtYWluLmpzYCwgYW5kIHRoZSBnZW5lcmF0ZWQtZmlsZSBiYW5uZXIgaGVhZHMgaXQuXG4gKlxuICogQW5kIGFsd2F5czogT2JzaWRpYW4ncyBvd24gbW9kdWxlcyAoYG9ic2lkaWFuYCwgYGVsZWN0cm9uYCwgQ29kZU1pcnJvciwgTGV6ZXIpIGFuZCB0aGUgTm9kZSBidWlsdGlucyBhcmVcbiAqIGV4dGVybmFsIGJlc2lkZSB0aGUgY29uc3VtZXIncyBvd24gYGV4dGVybmFsYCwgdGhlIG91dHB1dCBmb2xkZXIgaXMgZW1wdGllZCBvbmNlIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGVcbiAqIChgYnVpbGQuZW1wdHlPdXREaXJgIGlzIHR1cm5lZCBvZmYsIHNpbmNlIHRoaXMgcGx1Z2luIGRvZXMgaXQpLCBldmVyeSBlbWl0dGVkIENTUyBmaWxlIGVuZHMgdXAgaW5cbiAqIGBzdHlsZXMuY3NzYCwgYG1hbmlmZXN0Lmpzb25gIChhbmQgaW4gZGV2ZWxvcG1lbnQgYC5ob3RyZWxvYWRgKSBpcyBjb3BpZWQgYmVzaWRlIGl0LCBhbmQgYSBkZXZlbG9wbWVudFxuICogYnVpbGQgaXMgZGVwbG95ZWQgaW50byB0aGUgdmF1bHQgbmFtZWQgYnkgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgLlxuICpcbiAqIFRoZSBidWlsZCBmZWF0dXJlcyAoe0BsaW5rIE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnN9KTpcbiAqXG4gKiAtIGBmcmFtZXdvcms6ICdyZWFjdCcgfCAncHJlYWN0J2Agc2V0cyBgb3hjLmpzeGAgdG8gdGhlIGF1dG9tYXRpYyBydW50aW1lICh1bmxlc3Mgc2V0KS5cbiAqIC0gYGZyYW1ld29yazogJ3NvbGlkJyB8ICdzdmVsdGUnYCBjb21waWxlcyB0aGUgY29tcG9uZW50cyB3aXRoIHRoZSB0b29sa2l0J3Mgc2hhcmVkIHRyYW5zZm9ybXMsIGFuZCBgJ3Z1ZSdgIGFkZHNcbiAqICAgYHVucGx1Z2luLXZ1ZWAuXG4gKiAtIEFueSBmcmFtZXdvcmsgZGVmaW5lcyBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIChhbmQgVnVlJ3MgZmVhdHVyZSBmbGFncyksIHdoaWNoIGEgbGlicmFyeSBidWlsZCBsZWF2ZXMgYWxvbmUuXG4gKiAtIGBzdHlsZXMucG9zdGNzc2AgYW5kIGBzdHlsZXMudGFpbHdpbmRgIHNldCBgY3NzLnBvc3Rjc3NgICh1bmxlc3Mgc2V0KTsgdml0ZSBzY29wZXMgYCoubW9kdWxlLmNzc2AgaXRzZWxmLCBzb1xuICogICBgc3R5bGVzLmNzc01vZHVsZXNgIGNoYW5nZXMgbm90aGluZyBoZXJlLlxuICogLSBgd2FzbWAgaW1wb3J0cyBhIGAud2FzbWAgbW9kdWxlIGFzIGl0cyBieXRlcy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5WaXRlT3B0aW9uc30uXG4gKiBAcmV0dXJucyBUaGUgdml0ZSBwbHVnaW5zLCB3aGljaCB2aXRlIHRha2VzIGFzIG9uZSBlbnRyeSBvZiBpdHMgYHBsdWdpbnNgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzaWRpYW5QbHVnaW5WaXRlKG9wdGlvbnM6IE9ic2lkaWFuUGx1Z2luVml0ZU9wdGlvbnMgPSB7fSk6IFBsdWdpbk9wdGlvbltdIHtcbiAgY29uc3Qgc3RhdGU6IE9ic2lkaWFuUGx1Z2luVml0ZVN0YXRlID0ge1xuICAgIGJ1aWxkQ29udGV4dDogdW5kZWZpbmVkLFxuICAgIGlzRGlzdEZvbGRlckNsZWFuZWQ6IGZhbHNlXG4gIH07XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFZpdGUgaG9va3M7IGV4ZXJjaXNlZCBieSB0aGUgYnVuZGxlciBpbnRlZ3JhdGlvbiB0ZXN0IGFnYWluc3QgYSByZWFsIHZpdGUgYnVpbGQuICovXG4gIGZ1bmN0aW9uIGdldEJ1aWxkQ29udGV4dCgpOiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB7XG4gICAgaWYgKCFzdGF0ZS5idWlsZENvbnRleHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG9ic2lkaWFuLXBsdWdpbiB2aXRlIHBsdWdpbiBoYXMgbm90IHJlc29sdmVkIGl0cyBidWlsZCBjb250ZXh0OiBpdHMgYGNvbmZpZ2AgaG9vayBkaWQgbm90IHJ1bi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlLmJ1aWxkQ29udGV4dDtcbiAgfVxuXG4gIGNvbnN0IGZlYXR1cmVQbHVnaW4gPSBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbih7XG4gICAgZmVhdHVyZXM6IG9wdGlvbnMsXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQ6ICgpID0+IGdldEJ1aWxkQ29udGV4dCgpLmlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIHNob3VsZENvbXBpbGVTdHlsZXNoZWV0czogZmFsc2UsXG4gICAgc2hvdWxkUmVwbGFjZURlZmluZXM6IGZhbHNlXG4gIH0pO1xuXG4gIGNvbnN0IHBsdWdpbiA9IHtcbiAgICBhcHBseTogJ2J1aWxkJyxcbiAgICBhc3luYyBjb25maWcodXNlckNvbmZpZzogVXNlckNvbmZpZywgZW52OiBDb25maWdFbnYpOiBQcm9taXNlPFVzZXJDb25maWc+IHtcbiAgICAgIHN0YXRlLmJ1aWxkQ29udGV4dCA9IGF3YWl0IHJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCh7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC4uLih1c2VyQ29uZmlnLmJ1aWxkPy5vdXREaXIgIT09IHVuZGVmaW5lZCAmJiB7IGRpc3RGb2xkZXI6IHVzZXJDb25maWcuYnVpbGQub3V0RGlyIH0pLFxuICAgICAgICBtb2RlOiBvcHRpb25zLm1vZGUgPz8gZ2V0Vml0ZUJ1aWxkTW9kZSh1c2VyQ29uZmlnLCBlbnYpXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHsgaXNQcm9kdWN0aW9uQnVpbGQgfSA9IHN0YXRlLmJ1aWxkQ29udGV4dDtcbiAgICAgIGNvbnN0IHBvc3Rjc3NDb25maWcgPSBpc1Bvc3Rjc3NOZWVkZWQob3B0aW9ucy5zdHlsZXMpXG4gICAgICAgID8gYXdhaXQgbG9hZFBvc3Rjc3NDb25maWcoeyBpc1Byb2R1Y3Rpb25CdWlsZCwgc3R5bGVzOiBvcHRpb25zLnN0eWxlcyA/PyB7fSB9KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGZlYXR1cmVDb25maWcgPSBnZXRWaXRlRmVhdHVyZUNvbmZpZyh7IGZlYXR1cmVzOiBvcHRpb25zLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcG9zdGNzc0NvbmZpZywgdXNlckNvbmZpZyB9KTtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGdldFZpdGVDb25maWdEZWZhdWx0cyh1c2VyQ29uZmlnLCBzdGF0ZS5idWlsZENvbnRleHQpO1xuICAgICAgcmV0dXJuIHsgLi4uZmVhdHVyZUNvbmZpZywgLi4uY29uZmlnIH07XG4gICAgfSxcbiAgICBnZW5lcmF0ZUJ1bmRsZToge1xuICAgICAgaGFuZGxlcih0aGlzOiBBc3NldEVtaXR0ZXIsIF9vdXRwdXRPcHRpb25zOiB1bmtub3duLCBidW5kbGU6IFJlY29yZDxzdHJpbmcsIEJ1bmRsZU91dHB1dExpa2U+KTogdm9pZCB7XG4gICAgICAgIHJlbmFtZUNzc0Fzc2V0cyh0aGlzLCBidW5kbGUpO1xuICAgICAgfSxcbiAgICAgIG9yZGVyOiAncG9zdCdcbiAgICB9LFxuICAgIG5hbWU6ICdvYnNpZGlhbi1wbHVnaW4nLFxuICAgIGFzeW5jIHJlbmRlclN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKHN0YXRlLmlzRGlzdEZvbGRlckNsZWFuZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3RhdGUuaXNEaXN0Rm9sZGVyQ2xlYW5lZCA9IHRydWU7XG4gICAgICBhd2FpdCBjbGVhbk9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcihnZXRCdWlsZENvbnRleHQoKS5kaXN0Rm9sZGVyKTtcbiAgICB9LFxuICAgIGFzeW5jIHdyaXRlQnVuZGxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgYXdhaXQgY29tcGxldGVPYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIoZ2V0QnVpbGRDb250ZXh0KCkpO1xuICAgICAgYXdhaXQgZGVwbG95VG9PYnNpZGlhblBsdWdpbnNGb2xkZXIoZ2V0QnVpbGRDb250ZXh0KCkpO1xuICAgIH1cbiAgfSBhcyBQbHVnaW47XG4gIHJldHVybiBbcGx1Z2luLCB7IC4uLmZlYXR1cmVQbHVnaW4sIGFwcGx5OiAnYnVpbGQnIH0gYXMgUGx1Z2luLCBjcmVhdGVVbnBsdWdpblZ1ZVBsdWdpbih7IGJ1bmRsZXI6ICd2aXRlJywgZmVhdHVyZXM6IG9wdGlvbnMgfSkgYXMgUHJvbWlzZTxudWxsIHwgUGx1Z2luPl07XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBOEJBLG1DQU1PO0FBQ1Asc0NBSU87QUFDUCx3Q0FBa0M7QUFDbEMsZ0RBQThDO0FBQzlDLHdDQUdPO0FBQ1AsK0JBR087QUF1REEsU0FBUyxpQkFBaUIsWUFBd0IsS0FBeUM7QUFDaEcsU0FBTyxXQUFXLE9BQU8sU0FBUyxJQUFJLFNBQVMsZ0JBQWdCLHVDQUFVLGNBQWMsdUNBQVU7QUFDbkc7QUFTTyxTQUFTLHNCQUFzQixZQUF3QixjQUFzRDtBQUNsSCxRQUFNLFFBQVEsV0FBVyxTQUFTLENBQUM7QUFFbkMsUUFBTSxrQkFBa0IsTUFBTSxtQkFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxRQUFNLFNBQVMsTUFBTSxRQUFRLGdCQUFnQixNQUFNLElBQUksU0FBWSxnQkFBZ0IsVUFBVSxDQUFDO0FBRTlGLFNBQU87QUFBQSxJQUNMLE9BQU87QUFBQTtBQUFBO0FBQUEsTUFHTCxtQkFBbUIsTUFBTSxxQkFBcUIsT0FBTztBQUFBO0FBQUEsTUFFckQsYUFBYTtBQUFBLE1BQ2IsS0FBSyxNQUFNLE9BQU87QUFBQSxRQUNoQixhQUFhO0FBQUEsUUFDYixPQUFPLGFBQWE7QUFBQSxRQUNwQixVQUFVLE1BQWM7QUFBQSxRQUN4QixTQUFTLENBQUMsS0FBSztBQUFBLE1BQ2pCO0FBQUEsTUFDQSxRQUFRLE1BQU0sVUFBVSxhQUFhO0FBQUE7QUFBQSxNQUVyQyxRQUFRLGFBQWE7QUFBQSxNQUNyQixpQkFBaUI7QUFBQSxRQUNmLGNBQVUsMENBQWdCLGdCQUFnQixRQUFRO0FBQUEsUUFDbEQsR0FBSSxXQUFXLFVBQWE7QUFBQSxVQUMxQixRQUFRO0FBQUE7QUFBQSxZQUVOLEdBQUksT0FBTyxXQUFXLFVBQWEsT0FBTyxlQUFlLFVBQWEsRUFBRSxnQkFBWSxzREFBd0IsTUFBTSxFQUFFO0FBQUE7QUFBQTtBQUFBLFlBR3BILEdBQUksT0FBTyxrQkFBa0IsVUFBYSxPQUFPLHlCQUF5QixVQUFhLEVBQUUsZUFBZSxNQUFNO0FBQUEsVUFDaEg7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BQ0EsV0FBVyxNQUFNLGNBQWMsQ0FBQyxhQUFhLHFCQUFxQjtBQUFBLElBQ3BFO0FBQUEsRUFDRjtBQUNGO0FBVU8sU0FBUyxxQkFBcUIsUUFBZ0Q7QUFDbkYsUUFBTSxFQUFFLFVBQVUsbUJBQW1CLGVBQWUsV0FBVyxJQUFJO0FBQ25FLFFBQU0sU0FBcUIsQ0FBQztBQUU1QixRQUFNLGFBQWEsV0FBVyxVQUFVLENBQUM7QUFDekMsUUFBTSxTQUFTLE9BQU87QUFBQSxJQUNwQixPQUFPLFlBQVEscURBQW9CLEVBQUUsV0FBVyxTQUFTLFdBQVcsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsTUFBTSxDQUFDLE9BQU8sT0FBTyxZQUFZLFVBQVUsQ0FBQztBQUFBLEVBQzNKO0FBQ0EsTUFBSSxPQUFPLEtBQUssTUFBTSxFQUFFLFNBQVMsR0FBRztBQUNsQyxXQUFPLFNBQVM7QUFBQSxFQUNsQjtBQUVBLFFBQU0sc0JBQWtCLG9EQUFtQixTQUFTLFNBQVM7QUFDN0QsTUFBSSxvQkFBb0IsVUFBYSxXQUFXLFFBQVEsU0FBUyxXQUFXLEtBQUssUUFBUSxRQUFXO0FBQ2xHLFdBQU8sTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsbUJBQW1CLGNBQWMsaUJBQWlCLFNBQVMsWUFBWSxFQUFFO0FBQUEsRUFDL0c7QUFFQSxNQUFJLGlCQUFpQixjQUFjLFFBQVEsU0FBUyxLQUFLLFdBQVcsS0FBSyxZQUFZLFFBQVc7QUFDOUYsV0FBTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLGNBQWMsT0FBTyxFQUFFLEVBQUU7QUFBQSxFQUNsRTtBQUNBLFNBQU87QUFDVDtBQWdDTyxTQUFTLG1CQUFtQixVQUFxQyxDQUFDLEdBQW1CO0FBQzFGLFFBQU0sUUFBaUM7QUFBQSxJQUNyQyxjQUFjO0FBQUEsSUFDZCxxQkFBcUI7QUFBQSxFQUN2QjtBQUdBLFdBQVMsa0JBQThDO0FBQ3JELFFBQUksQ0FBQyxNQUFNLGNBQWM7QUFDdkIsWUFBTSxJQUFJLE1BQU0sb0dBQW9HO0FBQUEsSUFDdEg7QUFDQSxXQUFPLE1BQU07QUFBQSxFQUNmO0FBRUEsUUFBTSxvQkFBZ0IsdUVBQW9DO0FBQUEsSUFDeEQsVUFBVTtBQUFBLElBQ1YsbUJBQW1CLE1BQU0sZ0JBQWdCLEVBQUU7QUFBQSxJQUMzQywwQkFBMEI7QUFBQSxJQUMxQixzQkFBc0I7QUFBQSxFQUN4QixDQUFDO0FBRUQsUUFBTSxTQUFTO0FBQUEsSUFDYixPQUFPO0FBQUEsSUFDUCxNQUFNLE9BQU8sWUFBd0IsS0FBcUM7QUFDeEUsWUFBTSxlQUFlLFVBQU0sZ0VBQWtDO0FBQUEsUUFDM0QsR0FBRztBQUFBLFFBQ0gsR0FBSSxXQUFXLE9BQU8sV0FBVyxVQUFhLEVBQUUsWUFBWSxXQUFXLE1BQU0sT0FBTztBQUFBLFFBQ3BGLE1BQU0sUUFBUSxRQUFRLGlCQUFpQixZQUFZLEdBQUc7QUFBQSxNQUN4RCxDQUFDO0FBQ0QsWUFBTSxFQUFFLGtCQUFrQixJQUFJLE1BQU07QUFDcEMsWUFBTSxvQkFBZ0IsaURBQWdCLFFBQVEsTUFBTSxJQUNoRCxVQUFNLHFEQUFrQixFQUFFLG1CQUFtQixRQUFRLFFBQVEsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUMzRTtBQUNKLFlBQU0sZ0JBQWdCLHFCQUFxQixFQUFFLFVBQVUsU0FBUyxtQkFBbUIsZUFBZSxXQUFXLENBQUM7QUFDOUcsWUFBTSxTQUFTLHNCQUFzQixZQUFZLE1BQU0sWUFBWTtBQUNuRSxhQUFPLEVBQUUsR0FBRyxlQUFlLEdBQUcsT0FBTztBQUFBLElBQ3ZDO0FBQUEsSUFDQSxnQkFBZ0I7QUFBQSxNQUNkLFFBQTRCLGdCQUF5QixRQUFnRDtBQUNuRyxzREFBZ0IsTUFBTSxNQUFNO0FBQUEsTUFDOUI7QUFBQSxNQUNBLE9BQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxNQUFNO0FBQUEsSUFDTixNQUFNLGNBQTZCO0FBQ2pDLFVBQUksTUFBTSxxQkFBcUI7QUFDN0I7QUFBQSxNQUNGO0FBQ0EsWUFBTSxzQkFBc0I7QUFDNUIsZ0JBQU0sNERBQThCLGdCQUFnQixFQUFFLFVBQVU7QUFBQSxJQUNsRTtBQUFBLElBQ0EsTUFBTSxjQUE2QjtBQUNqQyxnQkFBTSwrREFBaUMsZ0JBQWdCLENBQUM7QUFDeEQsZ0JBQU0seUVBQThCLGdCQUFnQixDQUFDO0FBQUEsSUFDdkQ7QUFBQSxFQUNGO0FBQ0EsU0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLGVBQWUsT0FBTyxRQUFRLE9BQWEsMkRBQXdCLEVBQUUsU0FBUyxRQUFRLFVBQVUsUUFBUSxDQUFDLENBQTJCO0FBRTNKOyIsIm5hbWVzIjpbXX0=
155
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL3ZpdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCdWlsZHMgYW4gT2JzaWRpYW4gcGx1Z2luIHdpdGggdml0ZTogYSB2aXRlIHBsdWdpbiB0aGF0IHR1cm5zIGB2aXRlIGJ1aWxkYCBpbnRvIGEgbGlicmFyeSBidWlsZCBvZlxuICogYHNyYy9tYWluLnRzYCB3aXRoIHRoZSBzYW1lIGBtYWluLmpzYCArIGBzdHlsZXMuY3NzYCArIGBtYW5pZmVzdC5qc29uYCBsYXlvdXQgdGhlIGVzYnVpbGQgYnVpbGRlclxuICogcHJvZHVjZXMsIGRlcGxveXMgYSBgdml0ZSBidWlsZCAtLXdhdGNoYCBidWlsZCBpbnRvIHRoZSB2YXVsdCwgYW5kIGZpbGxzIGluIG9ubHkgdGhlIG9wdGlvbnMgdGhlXG4gKiBjb25zdW1lcidzIG93biBgdml0ZS5jb25maWdgIGxlYXZlcyB1bnNldC5cbiAqXG4gKiBgdml0ZWAgaXMgYW4gb3B0aW9uYWwgcGVlciBkZXBlbmRlbmN5IGFuZCB0aGlzIG1vZHVsZSBvbmx5IGltcG9ydHMgaXRzIHR5cGVzLCBzbyBhIHBsdWdpbiBidWlsdCB3aXRoXG4gKiBlc2J1aWxkIGluc3RhbGxzIG5vdGhpbmcgZXh0cmEuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBDb25maWdFbnYsXG4gIFBsdWdpbixcbiAgUGx1Z2luT3B0aW9uLFxuICBVc2VyQ29uZmlnXG59IGZyb20gJ3ZpdGUnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0LFxuICBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zXG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWJ1aWxkLnRzJztcbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5QbHVnaW5GZWF0dXJlT3B0aW9ucyB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWZlYXR1cmVzLnRzJztcbmltcG9ydCB0eXBlIHsgUG9zdGNzc0NvbmZpZyB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLXRyYW5zZm9ybXMudHMnO1xuaW1wb3J0IHR5cGUge1xuICBBc3NldEVtaXR0ZXIsXG4gIEJ1bmRsZU91dHB1dExpa2Vcbn0gZnJvbSAnLi9yb2xsdXAtY29tcGF0aWJsZS50cyc7XG5cbmltcG9ydCB7XG4gIEJ1aWxkTW9kZSxcbiAgY2xlYW5PYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIsXG4gIGNvbXBsZXRlT2JzaWRpYW5QbHVnaW5EaXN0Rm9sZGVyLFxuICBnZXRPYnNpZGlhblBsdWdpbkJhbm5lcixcbiAgcmVzb2x2ZU9ic2lkaWFuUGx1Z2luQnVpbGRDb250ZXh0XG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWJ1aWxkLnRzJztcbmltcG9ydCB7XG4gIGdldEZyYW1ld29ya0RlZmluZXMsXG4gIGdldEpzeEltcG9ydFNvdXJjZSxcbiAgaXNQb3N0Y3NzTmVlZGVkXG59IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLWZlYXR1cmVzLnRzJztcbmltcG9ydCB7IGxvYWRQb3N0Y3NzQ29uZmlnIH0gZnJvbSAnLi9vYnNpZGlhbi1wbHVnaW4tdHJhbnNmb3Jtcy50cyc7XG5pbXBvcnQgeyBkZXBsb3lUb09ic2lkaWFuUGx1Z2luc0ZvbGRlciB9IGZyb20gJy4vb2JzaWRpYW4tcGx1Z2lucy1mb2xkZXItZGVwbG95bWVudC50cyc7XG5pbXBvcnQge1xuICBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbixcbiAgY3JlYXRlVW5wbHVnaW5WdWVQbHVnaW5cbn0gZnJvbSAnLi9yb2xsdXAtY29tcGF0aWJsZS1mZWF0dXJlcy50cyc7XG5pbXBvcnQge1xuICBjb21iaW5lRXh0ZXJuYWwsXG4gIHJlbmFtZUNzc0Fzc2V0c1xufSBmcm9tICcuL3JvbGx1cC1jb21wYXRpYmxlLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0Vml0ZUZlYXR1cmVDb25maWd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFZpdGVGZWF0dXJlQ29uZmlnUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBidWlsZCBmZWF0dXJlcy5cbiAgICovXG4gIHJlYWRvbmx5IGZlYXR1cmVzOiBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBQb3N0Q1NTIHBsdWdpbnMgb2YgdGhlIGBzdHlsZXNgIG9wdGlvbiwgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBuZWVkcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdGNzc0NvbmZpZzogUG9zdGNzc0NvbmZpZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnN1bWVyJ3Mgdml0ZSBjb25maWcuXG4gICAqL1xuICByZWFkb25seSB1c2VyQ29uZmlnOiBVc2VyQ29uZmlnO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBvYnNpZGlhblBsdWdpblZpdGV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luVml0ZU9wdGlvbnMgZXh0ZW5kcyBPYnNpZGlhblBsdWdpbkRlcGxveW1lbnRPcHRpb25zLCBPYnNpZGlhblBsdWdpbkZlYXR1cmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBidWlsZCBtb2RlLiBEZWZhdWx0cyB0byB7QGxpbmsgQnVpbGRNb2RlLkRldmVsb3BtZW50fSBmb3IgYHZpdGUgYnVpbGQgLS13YXRjaGAgKG9yXG4gICAqIGAtLW1vZGUgZGV2ZWxvcG1lbnRgKSBhbmQge0BsaW5rIEJ1aWxkTW9kZS5Qcm9kdWN0aW9ufSBvdGhlcndpc2UuXG4gICAqL1xuICByZWFkb25seSBtb2RlPzogQnVpbGRNb2RlO1xufVxuXG4vKipcbiAqIFRoZSBzdGF0ZSBvbmUge0BsaW5rIG9ic2lkaWFuUGx1Z2luVml0ZX0gaW5zdGFuY2Uga2VlcHMgYWNyb3NzIHRoZSBob29rcyBvZiBhIGJ1aWxkLCBhbmQgYWNyb3NzIHRoZVxuICogcmVidWlsZHMgb2YgYSB3YXRjaC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luVml0ZVN0YXRlIHtcbiAgYnVpbGRDb250ZXh0OiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgaXNEaXN0Rm9sZGVyQ2xlYW5lZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWNpZGVzIHRoZSBidWlsZCBtb2RlIG9mIGEgdml0ZSBidWlsZCBmcm9tIHRoZSBjb25zdW1lcidzIGNvbmZpZzogZGV2ZWxvcG1lbnQgZm9yIGEgd2F0Y2ggYnVpbGQgb3IgZm9yXG4gKiBgLS1tb2RlIGRldmVsb3BtZW50YCwgcHJvZHVjdGlvbiBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIHVzZXJDb25maWcgLSBUaGUgY29uc3VtZXIncyB2aXRlIGNvbmZpZy5cbiAqIEBwYXJhbSBlbnYgLSBUaGUgdml0ZSBjb25maWcgZW52aXJvbm1lbnQuXG4gKiBAcmV0dXJucyBUaGUgYnVpbGQgbW9kZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpdGVCdWlsZE1vZGUodXNlckNvbmZpZzogVXNlckNvbmZpZywgZW52OiBQaWNrPENvbmZpZ0VudiwgJ21vZGUnPik6IEJ1aWxkTW9kZSB7XG4gIHJldHVybiB1c2VyQ29uZmlnLmJ1aWxkPy53YXRjaCB8fCBlbnYubW9kZSA9PT0gJ2RldmVsb3BtZW50JyA/IEJ1aWxkTW9kZS5EZXZlbG9wbWVudCA6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgcGFydCBvZiB0aGUgdml0ZSBjb25maWcgdGhlIHBsdWdpbiBjb250cmlidXRlczogb25seSB0aGUgb3B0aW9ucyB0aGUgY29uc3VtZXIgbGVmdCB1bnNldC5cbiAqXG4gKiBAcGFyYW0gdXNlckNvbmZpZyAtIFRoZSBjb25zdW1lcidzIHZpdGUgY29uZmlnLlxuICogQHBhcmFtIGJ1aWxkQ29udGV4dCAtIFRoZSBidWlsZCBjb250ZXh0LlxuICogQHJldHVybnMgVGhlIGNvbmZpZyB2aXRlIG1lcmdlcyBpbnRvIHRoZSBjb25zdW1lcidzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Vml0ZUNvbmZpZ0RlZmF1bHRzKHVzZXJDb25maWc6IFVzZXJDb25maWcsIGJ1aWxkQ29udGV4dDogT2JzaWRpYW5QbHVnaW5CdWlsZENvbnRleHQpOiBVc2VyQ29uZmlnIHtcbiAgY29uc3QgYnVpbGQgPSB1c2VyQ29uZmlnLmJ1aWxkID8/IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWQgLS0gQSBjb25zdW1lcidzIGNvbmZpZyBtYXkgc3RpbGwgdXNlIHRoZSBkZXByZWNhdGVkIGFsaWFzLCBhbmQgdml0ZSBzdGlsbCBob25vcnMgaXQuXG4gIGNvbnN0IHJvbGxkb3duT3B0aW9ucyA9IGJ1aWxkLnJvbGxkb3duT3B0aW9ucyA/PyBidWlsZC5yb2xsdXBPcHRpb25zID8/IHt9O1xuICBjb25zdCBvdXRwdXQgPSBBcnJheS5pc0FycmF5KHJvbGxkb3duT3B0aW9ucy5vdXRwdXQpID8gdW5kZWZpbmVkIDogcm9sbGRvd25PcHRpb25zLm91dHB1dCA/PyB7fTtcblxuICByZXR1cm4ge1xuICAgIGJ1aWxkOiB7XG4gICAgICAvLyBBbiBPYnNpZGlhbiByZWxlYXNlIHNoaXBzIGBtYWluLmpzYCBhbmQgYHN0eWxlcy5jc3NgIGFuZCBub3RoaW5nIGVsc2UsIHNvIGFueSBhc3NldCBlbWl0dGVkIGJlc2lkZVxuICAgICAgLy8gdGhlIGJ1bmRsZSBpcyBhIGZpbGUgdGhlIGluc3RhbGxlZCBwbHVnaW4gbG9va3MgZm9yIGFuZCBkb2VzIG5vdCBmaW5kLlxuICAgICAgYXNzZXRzSW5saW5lTGltaXQ6IGJ1aWxkLmFzc2V0c0lubGluZUxpbWl0ID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbmFtZS1yZXBsYWNlbWVudHMgLS0gYGVtcHR5T3V0RGlyYCBpcyB0aGUgbmFtZSB2aXRlJ3MgY29uZmlnIHJlYWRzLlxuICAgICAgZW1wdHlPdXREaXI6IGZhbHNlLFxuICAgICAgbGliOiBidWlsZC5saWIgPz8ge1xuICAgICAgICBjc3NGaWxlTmFtZTogJ3N0eWxlcycsXG4gICAgICAgIGVudHJ5OiBidWlsZENvbnRleHQuZW50cnlQb2ludCxcbiAgICAgICAgZmlsZU5hbWU6ICgpOiBzdHJpbmcgPT4gJ21haW4uanMnLFxuICAgICAgICBmb3JtYXRzOiBbJ2NqcyddXG4gICAgICB9LFxuICAgICAgbWluaWZ5OiBidWlsZC5taW5pZnkgPz8gYnVpbGRDb250ZXh0LmlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbmFtZS1yZXBsYWNlbWVudHMgLS0gYG91dERpcmAgaXMgdGhlIG5hbWUgdml0ZSdzIGNvbmZpZyByZWFkcy5cbiAgICAgIG91dERpcjogYnVpbGRDb250ZXh0LmRpc3RGb2xkZXIsXG4gICAgICByb2xsZG93bk9wdGlvbnM6IHtcbiAgICAgICAgZXh0ZXJuYWw6IGNvbWJpbmVFeHRlcm5hbChyb2xsZG93bk9wdGlvbnMuZXh0ZXJuYWwpLFxuICAgICAgICAuLi4ob3V0cHV0ICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgLy8gYHBvc3RCYW5uZXJgIHJhdGhlciB0aGFuIGBiYW5uZXJgOiBpdCBpcyBhZGRlZCBhZnRlciBtaW5pZmljYXRpb24sIHdoaWNoIHN0cmlwcyBhbiBvcmRpbmFyeSBjb21tZW50LlxuICAgICAgICAgICAgLi4uKG91dHB1dC5iYW5uZXIgPT09IHVuZGVmaW5lZCAmJiBvdXRwdXQucG9zdEJhbm5lciA9PT0gdW5kZWZpbmVkICYmIHsgcG9zdEJhbm5lcjogZ2V0T2JzaWRpYW5QbHVnaW5CYW5uZXIoJ3ZpdGUnKSB9KSxcbiAgICAgICAgICAgIC8vIEFuIE9ic2lkaWFuIHBsdWdpbiBpcyBvbmUgZmlsZTogdGhlIG1hbmlmZXN0IG5hbWVzIGBtYWluLmpzYCBhbmQgbm90aGluZyBsb2FkcyBhIHNlY29uZCBjaHVuay5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCAtLSBBIGNvbnN1bWVyJ3MgY29uZmlnIG1heSBzdGlsbCBzZXQgdGhlIGRlcHJlY2F0ZWQgb3B0aW9uLCB3aGljaCB0aGVuIHdpbnMuXG4gICAgICAgICAgICAuLi4ob3V0cHV0LmNvZGVTcGxpdHRpbmcgPT09IHVuZGVmaW5lZCAmJiBvdXRwdXQuaW5saW5lRHluYW1pY0ltcG9ydHMgPT09IHVuZGVmaW5lZCAmJiB7IGNvZGVTcGxpdHRpbmc6IGZhbHNlIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHNvdXJjZW1hcDogYnVpbGQuc291cmNlbWFwID8/ICghYnVpbGRDb250ZXh0LmlzUHJvZHVjdGlvbkJ1aWxkICYmICdpbmxpbmUnKVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIHBhcnQgb2YgdGhlIHZpdGUgY29uZmlnIHRoZSBidWlsZCBmZWF0dXJlcyBjb250cmlidXRlLCBlYWNoIG9ubHkgd2hlcmUgdGhlIGNvbnN1bWVyJ3MgY29uZmlnIGxlZnQgaXRcbiAqIHVuc2V0OiB0aGUgZnJhbWV3b3JrJ3MgY29tcGlsZS10aW1lIGNvbnN0YW50cyAoYGRlZmluZWApLCB0aGUgYXV0b21hdGljIEpTWCBydW50aW1lIGZvciBSZWFjdCBhbmQgUHJlYWN0XG4gKiAoYG94Yy5qc3hgKSwgYW5kIHRoZSBQb3N0Q1NTIHBsdWdpbnMgb2YgdGhlIGBzdHlsZXNgIG9wdGlvbiAoYGNzcy5wb3N0Y3NzYCkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0Vml0ZUZlYXR1cmVDb25maWdQYXJhbXN9LlxuICogQHJldHVybnMgVGhlIGNvbmZpZyB2aXRlIG1lcmdlcyBpbnRvIHRoZSBjb25zdW1lcidzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Vml0ZUZlYXR1cmVDb25maWcocGFyYW1zOiBHZXRWaXRlRmVhdHVyZUNvbmZpZ1BhcmFtcyk6IFVzZXJDb25maWcge1xuICBjb25zdCB7IGZlYXR1cmVzLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcG9zdGNzc0NvbmZpZywgdXNlckNvbmZpZyB9ID0gcGFyYW1zO1xuICBjb25zdCBjb25maWc6IFVzZXJDb25maWcgPSB7fTtcblxuICBjb25zdCB1c2VyRGVmaW5lID0gdXNlckNvbmZpZy5kZWZpbmUgPz8ge307XG4gIGNvbnN0IGRlZmluZSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhnZXRGcmFtZXdvcmtEZWZpbmVzKHsgZnJhbWV3b3JrOiBmZWF0dXJlcy5mcmFtZXdvcmssIGlzUHJvZHVjdGlvbkJ1aWxkIH0pKS5maWx0ZXIoKFtleHByZXNzaW9uXSkgPT4gIU9iamVjdC5oYXNPd24odXNlckRlZmluZSwgZXhwcmVzc2lvbikpXG4gICk7XG4gIGlmIChPYmplY3Qua2V5cyhkZWZpbmUpLmxlbmd0aCA+IDApIHtcbiAgICBjb25maWcuZGVmaW5lID0gZGVmaW5lO1xuICB9XG5cbiAgY29uc3QganN4SW1wb3J0U291cmNlID0gZ2V0SnN4SW1wb3J0U291cmNlKGZlYXR1cmVzLmZyYW1ld29yayk7XG4gIGlmIChqc3hJbXBvcnRTb3VyY2UgIT09IHVuZGVmaW5lZCAmJiB1c2VyQ29uZmlnLm94YyAhPT0gZmFsc2UgJiYgdXNlckNvbmZpZy5veGM/LmpzeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uZmlnLm94YyA9IHsganN4OiB7IGRldmVsb3BtZW50OiAhaXNQcm9kdWN0aW9uQnVpbGQsIGltcG9ydFNvdXJjZToganN4SW1wb3J0U291cmNlLCBydW50aW1lOiAnYXV0b21hdGljJyB9IH07XG4gIH1cblxuICBpZiAocG9zdGNzc0NvbmZpZyAmJiBwb3N0Y3NzQ29uZmlnLnBsdWdpbnMubGVuZ3RoID4gMCAmJiB1c2VyQ29uZmlnLmNzcz8ucG9zdGNzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uZmlnLmNzcyA9IHsgcG9zdGNzczogeyBwbHVnaW5zOiBbLi4ucG9zdGNzc0NvbmZpZy5wbHVnaW5zXSB9IH07XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdml0ZSBwbHVnaW4gdGhhdCBidWlsZHMgYW4gT2JzaWRpYW4gcGx1Z2luLlxuICpcbiAqIFdoYXQgaXQgZG9lcywgZWFjaCBvbmx5IHdoZW4gdGhlIGNvbnN1bWVyJ3MgY29uZmlnIGhhcyBub3Qgc2FpZCBvdGhlcndpc2U6XG4gKlxuICogLSBgYnVpbGQubGliYCBidWlsZHMgYHNyYy9tYWluLnRzYCBhcyBvbmUgQ29tbW9uSlMgYG1haW4uanNgLCB3aXRoIGl0cyBDU1MgaW4gYHN0eWxlcy5jc3NgLlxuICogLSBgYnVpbGQub3V0RGlyYCBpcyBgZGlzdC9idWlsZGAgKGBkaXN0L2RldmAgaW4gZGV2ZWxvcG1lbnQpLlxuICogLSBgYnVpbGQubWluaWZ5YCBpcyBvbiBpbiBwcm9kdWN0aW9uIG9ubHksIGFuZCBgYnVpbGQuc291cmNlbWFwYCBpcyBpbmxpbmUgaW4gZGV2ZWxvcG1lbnQgb25seS5cbiAqIC0gRXZlcnkgYXNzZXQgaXMgaW5saW5lZCwgYmVjYXVzZSBhbiBPYnNpZGlhbiByZWxlYXNlIHNoaXBzIGBtYWluLmpzYCBhbmQgYHN0eWxlcy5jc3NgIGFuZCBub3RoaW5nIGVsc2UuXG4gKiAtIER5bmFtaWMgaW1wb3J0cyBhcmUgaW5saW5lZCBpbnRvIGBtYWluLmpzYCwgYW5kIHRoZSBnZW5lcmF0ZWQtZmlsZSBiYW5uZXIgaGVhZHMgaXQuXG4gKlxuICogQW5kIGFsd2F5czogT2JzaWRpYW4ncyBvd24gbW9kdWxlcyAoYG9ic2lkaWFuYCwgYGVsZWN0cm9uYCwgQ29kZU1pcnJvciwgTGV6ZXIpIGFuZCB0aGUgTm9kZSBidWlsdGlucyBhcmVcbiAqIGV4dGVybmFsIGJlc2lkZSB0aGUgY29uc3VtZXIncyBvd24gYGV4dGVybmFsYCwgdGhlIG91dHB1dCBmb2xkZXIgaXMgZW1wdGllZCBvbmNlIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGVcbiAqIChgYnVpbGQuZW1wdHlPdXREaXJgIGlzIHR1cm5lZCBvZmYsIHNpbmNlIHRoaXMgcGx1Z2luIGRvZXMgaXQpLCBldmVyeSBlbWl0dGVkIENTUyBmaWxlIGVuZHMgdXAgaW5cbiAqIGBzdHlsZXMuY3NzYCwgYG1hbmlmZXN0Lmpzb25gIChhbmQgaW4gZGV2ZWxvcG1lbnQgYC5ob3RyZWxvYWRgKSBpcyBjb3BpZWQgYmVzaWRlIGl0LCBhbmQgYSBkZXZlbG9wbWVudFxuICogYnVpbGQgaXMgZGVwbG95ZWQgaW50byB0aGUgdmF1bHQgbmFtZWQgYnkgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgLlxuICpcbiAqIFRoZSBidWlsZCBmZWF0dXJlcyAoe0BsaW5rIE9ic2lkaWFuUGx1Z2luRmVhdHVyZU9wdGlvbnN9KTpcbiAqXG4gKiAtIGBmcmFtZXdvcms6ICdyZWFjdCcgfCAncHJlYWN0J2Agc2V0cyBgb3hjLmpzeGAgdG8gdGhlIGF1dG9tYXRpYyBydW50aW1lICh1bmxlc3Mgc2V0KS5cbiAqIC0gYGZyYW1ld29yazogJ3NvbGlkJyB8ICdzdmVsdGUnYCBjb21waWxlcyB0aGUgY29tcG9uZW50cyB3aXRoIHRoZSB0b29sa2l0J3Mgc2hhcmVkIHRyYW5zZm9ybXMsIGFuZCBgJ3Z1ZSdgIGFkZHNcbiAqICAgYHVucGx1Z2luLXZ1ZWAuXG4gKiAtIEFueSBmcmFtZXdvcmsgZGVmaW5lcyBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIChhbmQgVnVlJ3MgZmVhdHVyZSBmbGFncyksIHdoaWNoIGEgbGlicmFyeSBidWlsZCBsZWF2ZXMgYWxvbmUuXG4gKiAtIGBzdHlsZXMucG9zdGNzc2AgYW5kIGBzdHlsZXMudGFpbHdpbmRgIHNldCBgY3NzLnBvc3Rjc3NgICh1bmxlc3Mgc2V0KTsgdml0ZSBzY29wZXMgYCoubW9kdWxlLmNzc2AgaXRzZWxmLCBzb1xuICogICBgc3R5bGVzLmNzc01vZHVsZXNgIGNoYW5nZXMgbm90aGluZyBoZXJlLlxuICogLSBgd2FzbWAgaW1wb3J0cyBhIGAud2FzbWAgbW9kdWxlIGFzIGl0cyBieXRlcy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSB7QGxpbmsgT2JzaWRpYW5QbHVnaW5WaXRlT3B0aW9uc30uXG4gKiBAcmV0dXJucyBUaGUgdml0ZSBwbHVnaW5zLCB3aGljaCB2aXRlIHRha2VzIGFzIG9uZSBlbnRyeSBvZiBpdHMgYHBsdWdpbnNgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzaWRpYW5QbHVnaW5WaXRlKG9wdGlvbnM6IE9ic2lkaWFuUGx1Z2luVml0ZU9wdGlvbnMgPSB7fSk6IFBsdWdpbk9wdGlvbltdIHtcbiAgY29uc3Qgc3RhdGU6IE9ic2lkaWFuUGx1Z2luVml0ZVN0YXRlID0ge1xuICAgIGJ1aWxkQ29udGV4dDogdW5kZWZpbmVkLFxuICAgIGlzRGlzdEZvbGRlckNsZWFuZWQ6IGZhbHNlXG4gIH07XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFZpdGUgaG9va3M7IGV4ZXJjaXNlZCBieSB0aGUgYnVuZGxlciBpbnRlZ3JhdGlvbiB0ZXN0IGFnYWluc3QgYSByZWFsIHZpdGUgYnVpbGQuICovXG4gIGZ1bmN0aW9uIGdldEJ1aWxkQ29udGV4dCgpOiBPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCB7XG4gICAgaWYgKCFzdGF0ZS5idWlsZENvbnRleHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG9ic2lkaWFuLXBsdWdpbiB2aXRlIHBsdWdpbiBoYXMgbm90IHJlc29sdmVkIGl0cyBidWlsZCBjb250ZXh0OiBpdHMgYGNvbmZpZ2AgaG9vayBkaWQgbm90IHJ1bi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlLmJ1aWxkQ29udGV4dDtcbiAgfVxuXG4gIGNvbnN0IGZlYXR1cmVQbHVnaW4gPSBjcmVhdGVSb2xsdXBDb21wYXRpYmxlRmVhdHVyZVBsdWdpbih7XG4gICAgZmVhdHVyZXM6IG9wdGlvbnMsXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQ6ICgpID0+IGdldEJ1aWxkQ29udGV4dCgpLmlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIHNob3VsZENvbXBpbGVTdHlsZXNoZWV0czogZmFsc2UsXG4gICAgc2hvdWxkUmVwbGFjZURlZmluZXM6IGZhbHNlXG4gIH0pO1xuXG4gIGNvbnN0IHBsdWdpbiA9IHtcbiAgICBhcHBseTogJ2J1aWxkJyxcbiAgICBhc3luYyBjb25maWcodXNlckNvbmZpZzogVXNlckNvbmZpZywgZW52OiBDb25maWdFbnYpOiBQcm9taXNlPFVzZXJDb25maWc+IHtcbiAgICAgIHN0YXRlLmJ1aWxkQ29udGV4dCA9IGF3YWl0IHJlc29sdmVPYnNpZGlhblBsdWdpbkJ1aWxkQ29udGV4dCh7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC4uLih1c2VyQ29uZmlnLmJ1aWxkPy5vdXREaXIgIT09IHVuZGVmaW5lZCAmJiB7IGRpc3RGb2xkZXI6IHVzZXJDb25maWcuYnVpbGQub3V0RGlyIH0pLFxuICAgICAgICBtb2RlOiBvcHRpb25zLm1vZGUgPz8gZ2V0Vml0ZUJ1aWxkTW9kZSh1c2VyQ29uZmlnLCBlbnYpXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHsgaXNQcm9kdWN0aW9uQnVpbGQgfSA9IHN0YXRlLmJ1aWxkQ29udGV4dDtcbiAgICAgIGNvbnN0IHBvc3Rjc3NDb25maWcgPSBpc1Bvc3Rjc3NOZWVkZWQob3B0aW9ucy5zdHlsZXMpXG4gICAgICAgID8gYXdhaXQgbG9hZFBvc3Rjc3NDb25maWcoeyBpc1Byb2R1Y3Rpb25CdWlsZCwgc3R5bGVzOiBvcHRpb25zLnN0eWxlcyA/PyB7fSB9KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGZlYXR1cmVDb25maWcgPSBnZXRWaXRlRmVhdHVyZUNvbmZpZyh7IGZlYXR1cmVzOiBvcHRpb25zLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcG9zdGNzc0NvbmZpZywgdXNlckNvbmZpZyB9KTtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGdldFZpdGVDb25maWdEZWZhdWx0cyh1c2VyQ29uZmlnLCBzdGF0ZS5idWlsZENvbnRleHQpO1xuICAgICAgcmV0dXJuIHsgLi4uZmVhdHVyZUNvbmZpZywgLi4uY29uZmlnIH07XG4gICAgfSxcbiAgICBnZW5lcmF0ZUJ1bmRsZToge1xuICAgICAgaGFuZGxlcih0aGlzOiBBc3NldEVtaXR0ZXIsIF9vdXRwdXRPcHRpb25zOiB1bmtub3duLCBidW5kbGU6IFJlY29yZDxzdHJpbmcsIEJ1bmRsZU91dHB1dExpa2U+KTogdm9pZCB7XG4gICAgICAgIHJlbmFtZUNzc0Fzc2V0cyh0aGlzLCBidW5kbGUpO1xuICAgICAgfSxcbiAgICAgIG9yZGVyOiAncG9zdCdcbiAgICB9LFxuICAgIG5hbWU6ICdvYnNpZGlhbi1wbHVnaW4nLFxuICAgIGFzeW5jIHJlbmRlclN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKHN0YXRlLmlzRGlzdEZvbGRlckNsZWFuZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3RhdGUuaXNEaXN0Rm9sZGVyQ2xlYW5lZCA9IHRydWU7XG4gICAgICBhd2FpdCBjbGVhbk9ic2lkaWFuUGx1Z2luRGlzdEZvbGRlcihnZXRCdWlsZENvbnRleHQoKS5kaXN0Rm9sZGVyKTtcbiAgICB9LFxuICAgIGFzeW5jIHdyaXRlQnVuZGxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgYXdhaXQgY29tcGxldGVPYnNpZGlhblBsdWdpbkRpc3RGb2xkZXIoZ2V0QnVpbGRDb250ZXh0KCkpO1xuICAgICAgYXdhaXQgZGVwbG95VG9PYnNpZGlhblBsdWdpbnNGb2xkZXIoZ2V0QnVpbGRDb250ZXh0KCkpO1xuICAgIH1cbiAgfSBhcyBQbHVnaW47XG4gIHJldHVybiBbcGx1Z2luLCB7IC4uLmZlYXR1cmVQbHVnaW4sIGFwcGx5OiAnYnVpbGQnIH0gYXMgUGx1Z2luLCBjcmVhdGVVbnBsdWdpblZ1ZVBsdWdpbih7IGJ1bmRsZXI6ICd2aXRlJywgZmVhdHVyZXM6IG9wdGlvbnMgfSkgYXMgUHJvbWlzZTxudWxsIHwgUGx1Z2luPl07XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4QkEsbUNBTU87QUFDUCxzQ0FJTztBQUNQLHdDQUFrQztBQUNsQyxnREFBOEM7QUFDOUMsd0NBR087QUFDUCwrQkFHTztBQXVEQSxTQUFTLGlCQUFpQixZQUF3QixLQUF5QztBQUNoRyxTQUFPLFdBQVcsT0FBTyxTQUFTLElBQUksU0FBUyxnQkFBZ0IsdUNBQVUsY0FBYyx1Q0FBVTtBQUNuRztBQVNPLFNBQVMsc0JBQXNCLFlBQXdCLGNBQXNEO0FBQ2xILFFBQU0sUUFBUSxXQUFXLFNBQVMsQ0FBQztBQUVuQyxRQUFNLGtCQUFrQixNQUFNLG1CQUFtQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLFFBQU0sU0FBUyxNQUFNLFFBQVEsZ0JBQWdCLE1BQU0sSUFBSSxTQUFZLGdCQUFnQixVQUFVLENBQUM7QUFFOUYsU0FBTztBQUFBLElBQ0wsT0FBTztBQUFBO0FBQUE7QUFBQSxNQUdMLG1CQUFtQixNQUFNLHFCQUFxQixPQUFPO0FBQUE7QUFBQSxNQUVyRCxhQUFhO0FBQUEsTUFDYixLQUFLLE1BQU0sT0FBTztBQUFBLFFBQ2hCLGFBQWE7QUFBQSxRQUNiLE9BQU8sYUFBYTtBQUFBLFFBQ3BCLFVBQVUsTUFBYztBQUFBLFFBQ3hCLFNBQVMsQ0FBQyxLQUFLO0FBQUEsTUFDakI7QUFBQSxNQUNBLFFBQVEsTUFBTSxVQUFVLGFBQWE7QUFBQTtBQUFBLE1BRXJDLFFBQVEsYUFBYTtBQUFBLE1BQ3JCLGlCQUFpQjtBQUFBLFFBQ2YsY0FBVSwwQ0FBZ0IsZ0JBQWdCLFFBQVE7QUFBQSxR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