obsidian-dev-utils 82.0.0-beta.9 → 83.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/CHANGELOG.md +49 -16
  2. package/dist/dev/main.js +31004 -0
  3. package/dist/dev/manifest.json +9 -0
  4. package/dist/lib/cjs/blob.cjs +3 -3
  5. package/dist/lib/cjs/debug.cjs +4 -11
  6. package/dist/lib/cjs/generated-during-build.cjs +139 -0
  7. package/dist/lib/cjs/generated-during-build.d.cts +19 -0
  8. package/dist/lib/cjs/html-element.cjs +103 -31
  9. package/dist/lib/cjs/html-element.d.cts +8 -8
  10. package/dist/lib/cjs/index.cjs +4 -4
  11. package/dist/lib/cjs/index.d.cts +1 -1
  12. package/dist/lib/cjs/library.cjs +58 -7
  13. package/dist/lib/cjs/library.d.cts +65 -6
  14. package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +5 -1
  15. package/dist/lib/cjs/obsidian/css-class.cjs +180 -0
  16. package/dist/lib/cjs/{css-class.d.cts → obsidian/css-class.d.cts} +9 -1
  17. package/dist/lib/cjs/obsidian/editor-lock.cjs +107 -31
  18. package/dist/lib/cjs/obsidian/editor-lock.d.cts +10 -7
  19. package/dist/lib/cjs/obsidian/{plugin/plugin-id.cjs → html-element.cjs} +11 -19
  20. package/dist/lib/cjs/obsidian/html-element.d.cts +18 -0
  21. package/dist/lib/cjs/obsidian/index.cjs +7 -1
  22. package/dist/lib/cjs/obsidian/index.d.cts +2 -0
  23. package/dist/lib/cjs/obsidian/modals/alert.cjs +2 -2
  24. package/dist/lib/cjs/obsidian/modals/confirm.cjs +2 -2
  25. package/dist/lib/cjs/obsidian/modals/minimizable-modal.cjs +4 -2
  26. package/dist/lib/cjs/obsidian/modals/prompt.cjs +2 -2
  27. package/dist/lib/cjs/obsidian/modals/select-item.cjs +2 -2
  28. package/dist/lib/cjs/obsidian/plugin/index.cjs +1 -4
  29. package/dist/lib/cjs/obsidian/plugin/index.d.cts +0 -1
  30. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +15 -8
  31. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +2 -2
  32. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +2 -2
  33. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +2 -2
  34. package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +2 -2
  35. package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +2 -2
  36. package/dist/lib/cjs/obsidian/setting-components/email-component.cjs +2 -2
  37. package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +2 -2
  38. package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +2 -2
  39. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +2 -2
  40. package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +2 -2
  41. package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +2 -2
  42. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +2 -2
  43. package/dist/lib/cjs/obsidian/setting-components/number-component.cjs +2 -2
  44. package/dist/lib/cjs/obsidian/setting-components/password-component.cjs +2 -2
  45. package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.cjs +2 -2
  46. package/dist/lib/cjs/obsidian/setting-components/telephone-component.cjs +2 -2
  47. package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +2 -2
  48. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +2 -2
  49. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +2 -2
  50. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +2 -2
  51. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +2 -2
  52. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +1 -1
  53. package/dist/lib/cjs/obsidian/setting-components/url-component.cjs +2 -2
  54. package/dist/lib/cjs/obsidian/setting-components/validator-component.cjs +2 -2
  55. package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +2 -2
  56. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +60 -8
  57. package/dist/lib/cjs/script-utils/linters/eslint-agnostic-core-boundary.cjs +145 -0
  58. package/dist/lib/cjs/script-utils/linters/eslint-agnostic-core-boundary.d.cts +32 -0
  59. package/dist/lib/cjs/script-utils/linters/index.cjs +4 -1
  60. package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
  61. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -3
  62. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +4 -4
  63. package/dist/lib/cjs/setup.cjs +3 -1
  64. package/dist/lib/cjs/setup.d.cts +6 -4
  65. package/dist/lib/esm/blob.mjs +3 -3
  66. package/dist/lib/esm/debug.mjs +8 -15
  67. package/dist/lib/esm/generated-during-build.d.mts +19 -0
  68. package/dist/lib/esm/generated-during-build.mjs +30 -0
  69. package/dist/lib/esm/html-element.d.mts +8 -8
  70. package/dist/lib/esm/html-element.mjs +103 -30
  71. package/dist/lib/esm/index.d.mts +1 -1
  72. package/dist/lib/esm/index.mjs +3 -3
  73. package/dist/lib/esm/library.d.mts +65 -6
  74. package/dist/lib/esm/library.mjs +57 -5
  75. package/dist/lib/esm/obsidian/components/plugin-context-component.mjs +5 -1
  76. package/dist/lib/esm/{css-class.d.mts → obsidian/css-class.d.mts} +9 -1
  77. package/dist/lib/esm/obsidian/css-class.mjs +72 -0
  78. package/dist/lib/esm/obsidian/editor-lock.d.mts +10 -7
  79. package/dist/lib/esm/obsidian/editor-lock.mjs +109 -32
  80. package/dist/lib/esm/obsidian/html-element.d.mts +18 -0
  81. package/dist/lib/esm/obsidian/html-element.mjs +33 -0
  82. package/dist/lib/esm/obsidian/index.d.mts +2 -0
  83. package/dist/lib/esm/obsidian/index.mjs +5 -1
  84. package/dist/lib/esm/obsidian/modals/alert.mjs +2 -2
  85. package/dist/lib/esm/obsidian/modals/confirm.mjs +2 -2
  86. package/dist/lib/esm/obsidian/modals/minimizable-modal.mjs +4 -2
  87. package/dist/lib/esm/obsidian/modals/prompt.mjs +2 -2
  88. package/dist/lib/esm/obsidian/modals/select-item.mjs +2 -2
  89. package/dist/lib/esm/obsidian/plugin/index.d.mts +0 -1
  90. package/dist/lib/esm/obsidian/plugin/index.mjs +1 -3
  91. package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +15 -9
  92. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +2 -2
  93. package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +2 -2
  94. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +2 -2
  95. package/dist/lib/esm/obsidian/setting-components/date-component.mjs +2 -2
  96. package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +2 -2
  97. package/dist/lib/esm/obsidian/setting-components/email-component.mjs +2 -2
  98. package/dist/lib/esm/obsidian/setting-components/file-component.mjs +2 -2
  99. package/dist/lib/esm/obsidian/setting-components/month-component.mjs +2 -2
  100. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +2 -2
  101. package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +2 -2
  102. package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +2 -2
  103. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +2 -2
  104. package/dist/lib/esm/obsidian/setting-components/number-component.mjs +2 -2
  105. package/dist/lib/esm/obsidian/setting-components/password-component.mjs +2 -2
  106. package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.mjs +2 -2
  107. package/dist/lib/esm/obsidian/setting-components/telephone-component.mjs +2 -2
  108. package/dist/lib/esm/obsidian/setting-components/time-component.mjs +2 -2
  109. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +2 -2
  110. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +2 -2
  111. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +2 -2
  112. package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +1 -1
  113. package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +2 -2
  114. package/dist/lib/esm/obsidian/setting-components/url-component.mjs +2 -2
  115. package/dist/lib/esm/obsidian/setting-components/validator-component.mjs +2 -2
  116. package/dist/lib/esm/obsidian/setting-components/week-component.mjs +2 -2
  117. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +54 -9
  118. package/dist/lib/esm/script-utils/linters/eslint-agnostic-core-boundary.d.mts +32 -0
  119. package/dist/lib/esm/script-utils/linters/eslint-agnostic-core-boundary.mjs +37 -0
  120. package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
  121. package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
  122. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +4 -4
  123. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +3 -3
  124. package/dist/lib/esm/setup.d.mts +6 -4
  125. package/dist/lib/esm/setup.mjs +3 -1
  126. package/dist/styles.css +12 -2
  127. package/obsidian/css-class/package.json +6 -0
  128. package/obsidian/html-element/package.json +6 -0
  129. package/package.json +9 -9
  130. package/script-utils/linters/eslint-agnostic-core-boundary/package.json +6 -0
  131. package/dist/lib/cjs/css-class.cjs +0 -178
  132. package/dist/lib/cjs/obsidian/plugin/plugin-id.d.cts +0 -22
  133. package/dist/lib/esm/css-class.mjs +0 -70
  134. package/dist/lib/esm/obsidian/plugin/plugin-id.d.mts +0 -22
  135. package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +0 -39
  136. package/obsidian/Plugin/plugin-id/package.json +0 -6
@@ -0,0 +1,145 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initCjs() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ const globalThisRecord = globalThis;
9
+ globalThisRecord['__name'] ??= name;
10
+ const originalRequire = require;
11
+ if (originalRequire && !originalRequire.__isPatched) {
12
+ // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
+ require = Object.assign(
14
+ (id) => requirePatched(id),
15
+ originalRequire,
16
+ {
17
+ __isPatched: true
18
+ }
19
+ );
20
+ }
21
+
22
+ const newFuncs = {
23
+ __extractDefault() {
24
+ return extractDefault;
25
+ },
26
+ process() {
27
+ const browserProcess = {
28
+ browser: true,
29
+ cwd() {
30
+ return '/';
31
+ },
32
+ env: {},
33
+ platform: 'android'
34
+ };
35
+ return browserProcess;
36
+ }
37
+ };
38
+
39
+ for (const key of Object.keys(newFuncs)) {
40
+ globalThisRecord[key] ??= newFuncs[key]?.();
41
+ }
42
+
43
+ function name(obj) {
44
+ return obj;
45
+ }
46
+
47
+ function extractDefault(module) {
48
+ return module && module.__esModule && 'default' in module ? module.default : module;
49
+ }
50
+
51
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
+ 'obsidian',
53
+ '@codemirror/autocomplete',
54
+ '@codemirror/collab',
55
+ '@codemirror/commands',
56
+ '@codemirror/language',
57
+ '@codemirror/lint',
58
+ '@codemirror/search',
59
+ '@codemirror/state',
60
+ '@codemirror/text',
61
+ '@codemirror/view',
62
+ '@lezer/common',
63
+ '@lezer/lr',
64
+ '@lezer/highlight'];
65
+
66
+
67
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
+ '@codemirror/closebrackets',
69
+ '@codemirror/comment',
70
+ '@codemirror/fold',
71
+ '@codemirror/gutter',
72
+ '@codemirror/highlight',
73
+ '@codemirror/history',
74
+ '@codemirror/matchbrackets',
75
+ '@codemirror/panel',
76
+ '@codemirror/rangeset',
77
+ '@codemirror/rectangular-selection',
78
+ '@codemirror/stream-parser',
79
+ '@codemirror/tooltip'];
80
+
81
+
82
+ function requirePatched(id) {
83
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
+ return originalRequire?.(id);
85
+ }
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
+ if (globalThis.app.isMobile) {
89
+ if (id === 'process' || id === 'node:process') {
90
+ // eslint-disable-next-line no-console -- Valid usage.
91
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
+ return globalThis.process;
94
+ }
95
+ } else {
96
+ const module = originalRequire?.(id);
97
+ if (module) {
98
+ return extractDefault(module);
99
+ }
100
+ }
101
+
102
+ // eslint-disable-next-line no-console -- Valid usage.
103
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
+ return {};
105
+ }
106
+ })();
107
+
108
+ "use strict";
109
+ var __defProp = Object.defineProperty;
110
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
+ var __getOwnPropNames = Object.getOwnPropertyNames;
112
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
113
+ var __export = (target, all) => {
114
+ for (var name in all)
115
+ __defProp(target, name, { get: all[name], enumerable: true });
116
+ };
117
+ var __copyProps = (to, from, except, desc) => {
118
+ if (from && typeof from === "object" || typeof from === "function") {
119
+ for (let key of __getOwnPropNames(from))
120
+ if (!__hasOwnProp.call(to, key) && key !== except)
121
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
+ }
123
+ return to;
124
+ };
125
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
+ var eslint_agnostic_core_boundary_exports = {};
127
+ __export(eslint_agnostic_core_boundary_exports, {
128
+ agnosticCoreBoundaryNoRestrictedImportPatterns: () => agnosticCoreBoundaryNoRestrictedImportPatterns
129
+ });
130
+ module.exports = __toCommonJS(eslint_agnostic_core_boundary_exports);
131
+ const agnosticCoreBoundaryNoRestrictedImportPatterns = [
132
+ {
133
+ group: [
134
+ "./obsidian",
135
+ "./obsidian/*",
136
+ "./obsidian/**"
137
+ ],
138
+ message: "Obsidian-runtime-agnostic top-level `src/*.ts` modules must not import the Obsidian layer (`src/obsidian/**`). Move Obsidian-coupled code into `src/obsidian/`, or inject what you need explicitly."
139
+ }
140
+ ];
141
+ // Annotate the CommonJS export names for ESM import in node:
142
+ 0 && (module.exports = {
143
+ agnosticCoreBoundaryNoRestrictedImportPatterns
144
+ });
145
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1hZ25vc3RpYy1jb3JlLWJvdW5kYXJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogYG5vLXJlc3RyaWN0ZWQtaW1wb3J0c2AgcGF0dGVybiBlbnRyaWVzIHRoYXQgZW5mb3JjZSB0aGUgYWdub3N0aWMtY29yZSBib3VuZGFyeTogdGhlXG4gKiBPYnNpZGlhbi1ydW50aW1lLWFnbm9zdGljIHRvcC1sZXZlbCBgc3JjLyoudHNgIG1vZHVsZXMgbXVzdCBub3QgaW1wb3J0IHRoZSBPYnNpZGlhbiBsYXllclxuICogKGBzcmMvb2JzaWRpYW4vKipgKS5cbiAqXG4gKiBFeHBvcnRlZCBhcyBhIHN0YW5kYWxvbmUgY29uc3RhbnQgc28gdGhlIHBhdHRlcm4gY2FuIGJlIHVuaXQtdGVzdGVkIGluZGVwZW5kZW50bHkgb2YgdGhlIGxhcmdlclxuICogZGVjbGFyYXRpdmUgY29uZmlnLCBhbmQgc28gdGhlIG93bmluZyBwcm9qZWN0IGNhbiBhcHBseSBpdCBzY29wZWQgdG8gaXRzIHRvcC1sZXZlbCBzb3VyY2UgZmlsZXMuXG4gKi9cblxuLyoqXG4gKiBBIHNpbmdsZSBgbm8tcmVzdHJpY3RlZC1pbXBvcnRzYCBwYXR0ZXJuIGVudHJ5IHBhaXJpbmcgYSBncm91cCBvZiBiYW5uZWQgaW1wb3J0IHNwZWNpZmllcnMgd2l0aCBhXG4gKiBodW1hbi1yZWFkYWJsZSBtZXNzYWdlIGV4cGxhaW5pbmcgd2h5IHRoZXkgYXJlIGJhbm5lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb1Jlc3RyaWN0ZWRJbXBvcnRQYXR0ZXJuRW50cnkge1xuICAvKipcbiAgICogVGhlIGdsb2IgZ3JvdXAgb2YgaW1wb3J0IHNwZWNpZmllcnMgdG8gYmFuLlxuICAgKi9cbiAgZ3JvdXA6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSBtZXNzYWdlIHNob3duIHdoZW4gYW4gaW1wb3J0IG1hdGNoZXMgdGhlIGdyb3VwLlxuICAgKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIGBuby1yZXN0cmljdGVkLWltcG9ydHNgIHBhdHRlcm4gZW50cmllcyBiYW5uaW5nIHJlbGF0aXZlIGltcG9ydHMgaW50byB0aGUgYG9ic2lkaWFuYCBsYXllci5cbiAqXG4gKiBJbnRlbmRlZCB0byBiZSBhcHBsaWVkICh2aWEgYSBmaWxlLXNjb3BlZCBFU0xpbnQgY29uZmlnKSB0byB0aGUgYWdub3N0aWMgdG9wLWxldmVsIGBzcmMvKi50c2BcbiAqIG1vZHVsZXMsIGV4Y2x1ZGluZyB0aGUgZ2VuZXJhdGVkIGJhcnJlbCBhbmQgdGVzdCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGFnbm9zdGljQ29yZUJvdW5kYXJ5Tm9SZXN0cmljdGVkSW1wb3J0UGF0dGVybnM6IHJlYWRvbmx5IE5vUmVzdHJpY3RlZEltcG9ydFBhdHRlcm5FbnRyeVtdID0gW1xuICB7XG4gICAgZ3JvdXA6IFtcbiAgICAgICcuL29ic2lkaWFuJyxcbiAgICAgICcuL29ic2lkaWFuLyonLFxuICAgICAgJy4vb2JzaWRpYW4vKionXG4gICAgXSxcbiAgICBtZXNzYWdlOiAnT2JzaWRpYW4tcnVudGltZS1hZ25vc3RpYyB0b3AtbGV2ZWwgYHNyYy8qLnRzYCBtb2R1bGVzIG11c3Qgbm90IGltcG9ydCB0aGUgT2JzaWRpYW4gbGF5ZXIgKGBzcmMvb2JzaWRpYW4vKipgKS4gTW92ZSBPYnNpZGlhbi1jb3VwbGVkIGNvZGUgaW50byBgc3JjL29ic2lkaWFuL2AsIG9yIGluamVjdCB3aGF0IHlvdSBuZWVkIGV4cGxpY2l0bHkuJ1xuICB9XG5dO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBaUNPLE1BQU0saURBQTRGO0FBQUEsRUFDdkc7QUFBQSxJQUNFLE9BQU87QUFBQSxNQUNMO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNGO0FBQUEsSUFDQSxTQUFTO0FBQUEsRUFDWDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,32 @@
1
+ /// <reference path="../../library.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * `no-restricted-imports` pattern entries that enforce the agnostic-core boundary: the
6
+ * Obsidian-runtime-agnostic top-level `src/*.ts` modules must not import the Obsidian layer
7
+ * (`src/obsidian/**`).
8
+ *
9
+ * Exported as a standalone constant so the pattern can be unit-tested independently of the larger
10
+ * declarative config, and so the owning project can apply it scoped to its top-level source files.
11
+ */
12
+ /**
13
+ * A single `no-restricted-imports` pattern entry pairing a group of banned import specifiers with a
14
+ * human-readable message explaining why they are banned.
15
+ */
16
+ export interface NoRestrictedImportPatternEntry {
17
+ /**
18
+ * The glob group of import specifiers to ban.
19
+ */
20
+ group: string[];
21
+ /**
22
+ * Human-readable message shown when an import matches the group.
23
+ */
24
+ message: string;
25
+ }
26
+ /**
27
+ * `no-restricted-imports` pattern entries banning relative imports into the `obsidian` layer.
28
+ *
29
+ * Intended to be applied (via a file-scoped ESLint config) to the agnostic top-level `src/*.ts`
30
+ * modules, excluding the generated barrel and test files.
31
+ */
32
+ export declare const agnosticCoreBoundaryNoRestrictedImportPatterns: readonly NoRestrictedImportPatternEntry[];
@@ -137,6 +137,7 @@ var linters_exports = {};
137
137
  __export(linters_exports, {
138
138
  cspell: () => cspell,
139
139
  eslint: () => eslint,
140
+ "eslint-agnostic-core-boundary": () => eslint_agnostic_core_boundary,
140
141
  "eslint-config": () => eslint_config,
141
142
  "eslint-no-restricted-syntax": () => eslint_no_restricted_syntax,
142
143
  "eslint-rules": () => eslint_rules,
@@ -146,6 +147,7 @@ __export(linters_exports, {
146
147
  });
147
148
  module.exports = __toCommonJS(linters_exports);
148
149
  var cspell = __toESM(__extractDefault(require('./cspell.cjs')), 1);
150
+ var eslint_agnostic_core_boundary = __toESM(__extractDefault(require('./eslint-agnostic-core-boundary.cjs')), 1);
149
151
  var eslint_config = __toESM(__extractDefault(require('./eslint-config.cjs')), 1);
150
152
  var eslint_no_restricted_syntax = __toESM(__extractDefault(require('./eslint-no-restricted-syntax.cjs')), 1);
151
153
  var eslint_rules = __toESM(__extractDefault(require('./eslint-rules/index.cjs')), 1);
@@ -157,6 +159,7 @@ var over_exposure = __toESM(__extractDefault(require('./over-exposure.cjs')), 1)
157
159
  0 && (module.exports = {
158
160
  cspell,
159
161
  eslint,
162
+ "eslint-agnostic-core-boundary": null,
160
163
  "eslint-config": null,
161
164
  "eslint-no-restricted-syntax": null,
162
165
  "eslint-rules": null,
@@ -164,4 +167,4 @@ var over_exposure = __toESM(__extractDefault(require('./over-exposure.cjs')), 1)
164
167
  "markdownlint-cli2-config": null,
165
168
  "over-exposure": null
166
169
  });
167
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2NzcGVsbCcgZnJvbSAnLi9jc3BlbGwudHMnO1xuZXhwb3J0ICogYXMgJ2VzbGludC1jb25maWcnIGZyb20gJy4vZXNsaW50LWNvbmZpZy50cyc7XG5leHBvcnQgKiBhcyAnZXNsaW50LW5vLXJlc3RyaWN0ZWQtc3ludGF4JyBmcm9tICcuL2VzbGludC1uby1yZXN0cmljdGVkLXN5bnRheC50cyc7XG5leHBvcnQgKiBhcyAnZXNsaW50LXJ1bGVzJyBmcm9tICcuL2VzbGludC1ydWxlcy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnZXNsaW50JyBmcm9tICcuL2VzbGludC50cyc7XG5leHBvcnQgKiBhcyAnbWFya2Rvd25saW50LWNsaTItY29uZmlnJyBmcm9tICcuL21hcmtkb3dubGludC1jbGkyLWNvbmZpZy50cyc7XG5leHBvcnQgKiBhcyAnbWFya2Rvd25saW50JyBmcm9tICcuL21hcmtkb3dubGludC50cyc7XG5leHBvcnQgKiBhcyAnb3Zlci1leHBvc3VyZScgZnJvbSAnLi9vdmVyLWV4cG9zdXJlLnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEseUJBQUFBO0FBQUEsRUFBQSxxQ0FBQUM7QUFBQSxFQUFBLHNCQUFBQztBQUFBLEVBQUE7QUFBQSxvQ0FBQUM7QUFBQSxFQUFBLHVCQUFBQztBQUFBO0FBQUE7QUFFQSxhQUEwQjtBQUMxQixJQUFBSixnQkFBaUM7QUFDakMsSUFBQUMsOEJBQStDO0FBQy9DLElBQUFDLGVBQWdDO0FBQ2hDLGFBQTBCO0FBQzFCLElBQUFDLDJCQUE0QztBQUM1QyxtQkFBZ0M7QUFDaEMsSUFBQUMsZ0JBQWlDOyIsCiAgIm5hbWVzIjogWyJlc2xpbnQtY29uZmlnIiwgImVzbGludC1uby1yZXN0cmljdGVkLXN5bnRheCIsICJlc2xpbnQtcnVsZXMiLCAibWFya2Rvd25saW50LWNsaTItY29uZmlnIiwgIm92ZXItZXhwb3N1cmUiXQp9Cg==
170
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2NzcGVsbCcgZnJvbSAnLi9jc3BlbGwudHMnO1xuZXhwb3J0ICogYXMgJ2VzbGludC1hZ25vc3RpYy1jb3JlLWJvdW5kYXJ5JyBmcm9tICcuL2VzbGludC1hZ25vc3RpYy1jb3JlLWJvdW5kYXJ5LnRzJztcbmV4cG9ydCAqIGFzICdlc2xpbnQtY29uZmlnJyBmcm9tICcuL2VzbGludC1jb25maWcudHMnO1xuZXhwb3J0ICogYXMgJ2VzbGludC1uby1yZXN0cmljdGVkLXN5bnRheCcgZnJvbSAnLi9lc2xpbnQtbm8tcmVzdHJpY3RlZC1zeW50YXgudHMnO1xuZXhwb3J0ICogYXMgJ2VzbGludC1ydWxlcycgZnJvbSAnLi9lc2xpbnQtcnVsZXMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2VzbGludCcgZnJvbSAnLi9lc2xpbnQudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3dubGludC1jbGkyLWNvbmZpZycgZnJvbSAnLi9tYXJrZG93bmxpbnQtY2xpMi1jb25maWcudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3dubGludCcgZnJvbSAnLi9tYXJrZG93bmxpbnQudHMnO1xuZXhwb3J0ICogYXMgJ292ZXItZXhwb3N1cmUnIGZyb20gJy4vb3Zlci1leHBvc3VyZS50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHlDQUFBQTtBQUFBLEVBQUEsdUJBQUFDO0FBQUEsRUFBQSxxQ0FBQUM7QUFBQSxFQUFBLHNCQUFBQztBQUFBLEVBQUE7QUFBQSxvQ0FBQUM7QUFBQSxFQUFBLHVCQUFBQztBQUFBO0FBQUE7QUFFQSxhQUEwQjtBQUMxQixJQUFBTCxnQ0FBaUQ7QUFDakQsSUFBQUMsZ0JBQWlDO0FBQ2pDLElBQUFDLDhCQUErQztBQUMvQyxJQUFBQyxlQUFnQztBQUNoQyxhQUEwQjtBQUMxQixJQUFBQywyQkFBNEM7QUFDNUMsbUJBQWdDO0FBQ2hDLElBQUFDLGdCQUFpQzsiLAogICJuYW1lcyI6IFsiZXNsaW50LWFnbm9zdGljLWNvcmUtYm91bmRhcnkiLCAiZXNsaW50LWNvbmZpZyIsICJlc2xpbnQtbm8tcmVzdHJpY3RlZC1zeW50YXgiLCAiZXNsaW50LXJ1bGVzIiwgIm1hcmtkb3dubGludC1jbGkyLWNvbmZpZyIsICJvdmVyLWV4cG9zdXJlIl0KfQo=
@@ -1,5 +1,6 @@
1
1
  /// <reference path="../../library.d.cts" />
2
2
  export * as 'cspell' from './cspell.cjs';
3
+ export * as 'eslint-agnostic-core-boundary' from './eslint-agnostic-core-boundary.cjs';
3
4
  export * as 'eslint-config' from './eslint-config.cjs';
4
5
  export * as 'eslint-no-restricted-syntax' from './eslint-no-restricted-syntax.cjs';
5
6
  export * as 'eslint-rules' from './eslint-rules/index.cjs';
@@ -151,14 +151,14 @@ var ObsidianDevUtilsRepoPaths = /* @__PURE__ */ ((ObsidianDevUtilsRepoPaths2) =>
151
151
  ObsidianDevUtilsRepoPaths2["DtsExtension"] = ".d.ts";
152
152
  ObsidianDevUtilsRepoPaths2["EslintConfigMts"] = "eslint.config.mts";
153
153
  ObsidianDevUtilsRepoPaths2["Esm"] = "esm";
154
+ ObsidianDevUtilsRepoPaths2["GeneratedDuringBuildCjs"] = "generated-during-build.cjs";
155
+ ObsidianDevUtilsRepoPaths2["GeneratedDuringBuildMjs"] = "generated-during-build.mjs";
154
156
  ObsidianDevUtilsRepoPaths2["IndexCjs"] = "index.cjs";
155
157
  ObsidianDevUtilsRepoPaths2["IndexDcts"] = "index.d.cts";
156
158
  ObsidianDevUtilsRepoPaths2["IndexDmts"] = "index.d.mts";
157
159
  ObsidianDevUtilsRepoPaths2["IndexMjs"] = "index.mjs";
158
160
  ObsidianDevUtilsRepoPaths2["IndexTs"] = "index.ts";
159
161
  ObsidianDevUtilsRepoPaths2["JsExtension"] = ".js";
160
- ObsidianDevUtilsRepoPaths2["LibraryCjs"] = "library.cjs";
161
- ObsidianDevUtilsRepoPaths2["LibraryMjs"] = "library.mjs";
162
162
  ObsidianDevUtilsRepoPaths2["MarkdownlintCli2ConfigMjs"] = ".markdownlint-cli2.mjs";
163
163
  ObsidianDevUtilsRepoPaths2["MarkdownlintTypesMarkdownlintCli2ConfigSchemaDts"] = "src/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.ts";
164
164
  ObsidianDevUtilsRepoPaths2["MjsExtension"] = ".mjs";
@@ -183,4 +183,4 @@ var ObsidianDevUtilsRepoPaths = /* @__PURE__ */ ((ObsidianDevUtilsRepoPaths2) =>
183
183
  0 && (module.exports = {
184
184
  ObsidianDevUtilsRepoPaths
185
185
  });
186
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZW51bWVyYXRpb24gb2YgY29tbW9uIGZpbGUgcGF0aHMgYW5kIHBhdHRlcm5zIHVzZWQgaW4gdGhlIE9ic2lkaWFuIGRldmVsb3BtZW50IHV0aWxpdGllcyByZXBvc2l0b3J5LlxuICogVGhlc2UgcGF0aHMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGUgYnVpbGQgcHJvY2VzcyBhbmQgb3RoZXIgdXRpbGl0aWVzLCBlbnN1cmluZyBjb25zaXN0ZW5jeSBhbmQgcmVkdWNpbmcgdGhlIGxpa2VsaWhvb2RcbiAqIG9mIGVycm9ycyBkdWUgdG8gaGFyZGNvZGVkIHN0cmluZ3MuXG4gKi9cblxuLyoqXG4gKiBFbnVtZXJhdGlvbiBvZiBjb21tb24gZmlsZSBwYXRocyBhbmQgcGF0dGVybnMgdXNlZCBpbiB0aGUgT2JzaWRpYW4gZGV2ZWxvcG1lbnQgdXRpbGl0aWVzIHJlcG9zaXRvcnkuXG4gKi9cbmV4cG9ydCBlbnVtIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMge1xuICAvKiogQW55IGZpbGUgb3IgZm9sZGVyLiAqL1xuICBBbnkgPSAnKicsXG5cbiAgLyoqIENvbW1vbkpTIGZpbGUuICovXG4gIEFueUNqcyA9ICcqLmNqcycsXG5cbiAgLyoqIENvbW1vbkpTIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZS4gKi9cbiAgQW55RGN0cyA9ICcqLmQuY3RzJyxcblxuICAvKiogRVNNIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZS4gKi9cbiAgQW55RG10cyA9ICcqLmQubXRzJyxcblxuICAvKiogVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlLiAqL1xuICBBbnlEdHMgPSAnKi5kLnRzJyxcblxuICAvKiogRVNNIEphdmFTY3JpcHQgZmlsZS4gKi9cbiAgQW55TWpzID0gJyoubWpzJyxcblxuICAvKiogQW55IHBhdGggcmVjdXJzaXZlbHkuICovXG4gIEFueVBhdGggPSAnKionLFxuXG4gIC8qKiBBbnkgVHlwZVNjcmlwdCBmaWxlLiAqL1xuICBBbnlUcyA9ICcqLnRzJyxcblxuICAvKiogQ29tbW9uSlMgZm9sZGVyLiAqL1xuICBDanMgPSAnY2pzJyxcblxuICAvKiogQ29tbW9uSlMgZmlsZSBleHRlbnNpb24uICovXG4gIENqc0V4dGVuc2lvbiA9ICcuY2pzJyxcblxuICAvKiogQ3VycmVudCBmb2xkZXIuICovXG4gIEN1cnJlbnRGb2xkZXIgPSAnLicsXG5cbiAgLyoqIERhdGF2aWV3IHR5cGVzLiAqL1xuICBEYXRhdmlld1R5cGVzID0gJ3NyYy9vYnNpZGlhbi9AdHlwZXMvZGF0YXZpZXcvKionLFxuXG4gIC8qKiBDb21tb25KUyBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUgZXh0ZW5zaW9uLiAqL1xuICBEY3RzRXh0ZW5zaW9uID0gJy5kLmN0cycsXG5cbiAgLyoqIERpc3RyaWJ1dGlvbiBmb2xkZXIuICovXG4gIERpc3QgPSAnZGlzdCcsXG5cbiAgLyoqIEEgcGF0aCB0byB0aGUgYGxpYmAgZm9sZGVyIHdpdGhpbiB0aGUge0BsaW5rIERpc3R9IGZvbGRlci4gKi9cbiAgRGlzdExpYiA9ICdkaXN0L2xpYicsXG5cbiAgLyoqIEEgcGF0aCB0byB0aGUgYHRlbXBsYXRlc2AgZm9sZGVyIHdpdGhpbiB0aGUge0BsaW5rIERpc3R9IGZvbGRlciwgaG9sZGluZyB0aGUgY29uc3VtZXItZmFjaW5nIHRlbXBsYXRlcy4gKi9cbiAgRGlzdFRlbXBsYXRlcyA9ICdkaXN0L3RlbXBsYXRlcycsXG5cbiAgLyoqIFRyYW5zcGlsZWQgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlIGV4dGVuc2lvbi4gKi9cbiAgRGpzRXh0ZW5zaW9uID0gJy5kLmpzJyxcblxuICAvKiogRVNNIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZSBleHRlbnNpb24uICovXG4gIERtdHNFeHRlbnNpb24gPSAnLmQubXRzJyxcblxuICAvKiogRHByaW50IGNvbmZpZ3VyYXRpb24gZmlsZS4gKi9cbiAgRHByaW50SnNvbiA9ICdkcHJpbnQuanNvbicsXG5cbiAgLyoqIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZSBleHRlbnNpb24uICovXG4gIER0c0V4dGVuc2lvbiA9ICcuZC50cycsXG5cbiAgLyoqIEVTTSBUeXBlU2NyaXB0IEVTTGludCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIEVzbGludENvbmZpZ010cyA9ICdlc2xpbnQuY29uZmlnLm10cycsXG5cbiAgLyoqIEVTTSBKYXZhU2NyaXB0IGZvbGRlci4gKi9cbiAgRXNtID0gJ2VzbScsXG5cbiAgLyoqIENvbW1vbkpTIEphdmFTY3JpcHQgaW5kZXggZmlsZS4gKi9cbiAgSW5kZXhDanMgPSAnaW5kZXguY2pzJyxcblxuICAvKiogQ29tbW9uSlMgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlIGluZGV4IGZpbGUuICovXG4gIEluZGV4RGN0cyA9ICdpbmRleC5kLmN0cycsXG5cbiAgLyoqIEVTTSBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUgaW5kZXggZmlsZS4gKi9cbiAgSW5kZXhEbXRzID0gJ2luZGV4LmQubXRzJyxcblxuICAvKiogRVNNIEphdmFTY3JpcHQgaW5kZXggZmlsZS4gKi9cbiAgSW5kZXhNanMgPSAnaW5kZXgubWpzJyxcblxuICAvKiogVHlwZVNjcmlwdCBpbmRleCBmaWxlLiAqL1xuICBJbmRleFRzID0gJ2luZGV4LnRzJyxcblxuICAvKiogSmF2YVNjcmlwdCBmaWxlIGV4dGVuc2lvbi4gKi9cbiAgSnNFeHRlbnNpb24gPSAnLmpzJyxcblxuICAvKiogTGlicmFyeSBDb21tb25KUyBmaWxlLiAqL1xuICBMaWJyYXJ5Q2pzID0gJ2xpYnJhcnkuY2pzJyxcblxuICAvKiogTGlicmFyeSBFU00gSmF2YVNjcmlwdCBmaWxlLiAqL1xuICBMaWJyYXJ5TWpzID0gJ2xpYnJhcnkubWpzJyxcblxuICAvKiogRVNNIE1hcmtkb3dubGludCBDTEkyIGNvbmZpZ3VyYXRpb24gZmlsZS4gKi9cbiAgTWFya2Rvd25saW50Q2xpMkNvbmZpZ01qcyA9ICcubWFya2Rvd25saW50LWNsaTIubWpzJyxcblxuICAvKiogTWFya2Rvd25saW50IENMSTIgY29uZmlndXJhdGlvbiBzY2hlbWEgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlLiAqL1xuICBNYXJrZG93bmxpbnRUeXBlc01hcmtkb3dubGludENsaTJDb25maWdTY2hlbWFEdHMgPSAnc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL21hcmtkb3dubGludC10eXBlcy9AdHlwZXMvbWFya2Rvd25saW50LWNsaTItY29uZmlnLXNjaGVtYS5kLnRzJyxcblxuICAvKiogRVNNIEphdmFTY3JpcHQgZmlsZSBleHRlbnNpb24uICovXG4gIE1qc0V4dGVuc2lvbiA9ICcubWpzJyxcblxuICAvKiogTm9kZSBtb2R1bGVzIGZvbGRlci4gKi9cbiAgTm9kZU1vZHVsZXMgPSAnbm9kZV9tb2R1bGVzJyxcblxuICAvKiogUGFja2FnZSBKU09OIGZpbGUuICovXG4gIFBhY2thZ2VKc29uID0gJ3BhY2thZ2UuanNvbicsXG5cbiAgLyoqIFJvb3QgZm9sZGVyLiAqL1xuICBSb290Rm9sZGVyID0gJy8nLFxuXG4gIC8qKiBTY3JpcHRzIGZvbGRlci4gKi9cbiAgU2NyaXB0cyA9ICdzY3JpcHRzJyxcblxuICAvKiogU2NyaXB0VXRpbHMgZm9sZGVyLiAqL1xuICBTY3JpcHRVdGlscyA9ICdzY3JpcHQtdXRpbHMnLFxuXG4gIC8qKiBTb3VyY2UgZm9sZGVyLiAqL1xuICBTcmMgPSAnc3JjJyxcblxuICAvKiogU3R5bGVzIGZvbGRlci4gKi9cbiAgU3R5bGVzID0gJ3N0eWxlcycsXG5cbiAgLyoqIFN0eWxlcyBDU1MgZmlsZS4gKi9cbiAgU3R5bGVzQ3NzID0gJ3N0eWxlcy5jc3MnLFxuXG4gIC8qKiBUZW1wbGF0ZXMgZm9sZGVyLiAqL1xuICBUZW1wbGF0ZXMgPSAndGVtcGxhdGVzJyxcblxuICAvKiogVGVzdCBoZWxwZXJzIGZvbGRlci4gKi9cbiAgVGVzdEhlbHBlcnMgPSAndGVzdC1oZWxwZXJzJyxcblxuICAvKiogVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIFRzQ29uZmlnSnNvbiA9ICd0c2NvbmZpZy5qc29uJyxcblxuICAvKiogVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUgdGhhdCB2YWxpZGF0ZXMgdGhlIGdlbmVyYXRlZCBDb21tb25KUyBkZWNsYXJhdGlvbnMuICovXG4gIFRzQ29uZmlnVmFsaWRhdGVEZWNsYXJhdGlvbnNDanNKc29uID0gJ3RzY29uZmlnLnZhbGlkYXRlLWRlY2xhcmF0aW9ucy1janMuanNvbicsXG5cbiAgLyoqIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlIHRoYXQgdmFsaWRhdGVzIHRoZSBnZW5lcmF0ZWQgRVNNIGRlY2xhcmF0aW9ucy4gKi9cbiAgVHNDb25maWdWYWxpZGF0ZURlY2xhcmF0aW9uc0pzb24gPSAndHNjb25maWcudmFsaWRhdGUtZGVjbGFyYXRpb25zLmpzb24nLFxuXG4gIC8qKiBUeXBlU2NyaXB0IGZpbGUgZXh0ZW5zaW9uLiAqL1xuICBUc0V4dGVuc2lvbiA9ICcudHMnLFxuXG4gIC8qKiBUeXBlcyBmb2xkZXIuICovXG4gIFR5cGVzID0gJ0B0eXBlcydcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdPLElBQUssNEJBQUwsa0JBQUtBLCtCQUFMO0FBRUwsRUFBQUEsMkJBQUEsU0FBTTtBQUdOLEVBQUFBLDJCQUFBLFlBQVM7QUFHVCxFQUFBQSwyQkFBQSxhQUFVO0FBR1YsRUFBQUEsMkJBQUEsYUFBVTtBQUdWLEVBQUFBLDJCQUFBLFlBQVM7QUFHVCxFQUFBQSwyQkFBQSxZQUFTO0FBR1QsRUFBQUEsMkJBQUEsYUFBVTtBQUdWLEVBQUFBLDJCQUFBLFdBQVE7QUFHUixFQUFBQSwyQkFBQSxTQUFNO0FBR04sRUFBQUEsMkJBQUEsa0JBQWU7QUFHZixFQUFBQSwyQkFBQSxtQkFBZ0I7QUFHaEIsRUFBQUEsMkJBQUEsbUJBQWdCO0FBR2hCLEVBQUFBLDJCQUFBLG1CQUFnQjtBQUdoQixFQUFBQSwyQkFBQSxVQUFPO0FBR1AsRUFBQUEsMkJBQUEsYUFBVTtBQUdWLEVBQUFBLDJCQUFBLG1CQUFnQjtBQUdoQixFQUFBQSwyQkFBQSxrQkFBZTtBQUdmLEVBQUFBLDJCQUFBLG1CQUFnQjtBQUdoQixFQUFBQSwyQkFBQSxnQkFBYTtBQUdiLEVBQUFBLDJCQUFBLGtCQUFlO0FBR2YsRUFBQUEsMkJBQUEscUJBQWtCO0FBR2xCLEVBQUFBLDJCQUFBLFNBQU07QUFHTixFQUFBQSwyQkFBQSxjQUFXO0FBR1gsRUFBQUEsMkJBQUEsZUFBWTtBQUdaLEVBQUFBLDJCQUFBLGVBQVk7QUFHWixFQUFBQSwyQkFBQSxjQUFXO0FBR1gsRUFBQUEsMkJBQUEsYUFBVTtBQUdWLEVBQUFBLDJCQUFBLGlCQUFjO0FBR2QsRUFBQUEsMkJBQUEsZ0JBQWE7QUFHYixFQUFBQSwyQkFBQSxnQkFBYTtBQUdiLEVBQUFBLDJCQUFBLCtCQUE0QjtBQUc1QixFQUFBQSwyQkFBQSxzREFBbUQ7QUFHbkQsRUFBQUEsMkJBQUEsa0JBQWU7QUFHZixFQUFBQSwyQkFBQSxpQkFBYztBQUdkLEVBQUFBLDJCQUFBLGlCQUFjO0FBR2QsRUFBQUEsMkJBQUEsZ0JBQWE7QUFHYixFQUFBQSwyQkFBQSxhQUFVO0FBR1YsRUFBQUEsMkJBQUEsaUJBQWM7QUFHZCxFQUFBQSwyQkFBQSxTQUFNO0FBR04sRUFBQUEsMkJBQUEsWUFBUztBQUdULEVBQUFBLDJCQUFBLGVBQVk7QUFHWixFQUFBQSwyQkFBQSxlQUFZO0FBR1osRUFBQUEsMkJBQUEsaUJBQWM7QUFHZCxFQUFBQSwyQkFBQSxrQkFBZTtBQUdmLEVBQUFBLDJCQUFBLHlDQUFzQztBQUd0QyxFQUFBQSwyQkFBQSxzQ0FBbUM7QUFHbkMsRUFBQUEsMkJBQUEsaUJBQWM7QUFHZCxFQUFBQSwyQkFBQSxXQUFRO0FBL0lFLFNBQUFBO0FBQUEsR0FBQTsiLAogICJuYW1lcyI6IFsiT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyJdCn0K
186
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZW51bWVyYXRpb24gb2YgY29tbW9uIGZpbGUgcGF0aHMgYW5kIHBhdHRlcm5zIHVzZWQgaW4gdGhlIE9ic2lkaWFuIGRldmVsb3BtZW50IHV0aWxpdGllcyByZXBvc2l0b3J5LlxuICogVGhlc2UgcGF0aHMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGUgYnVpbGQgcHJvY2VzcyBhbmQgb3RoZXIgdXRpbGl0aWVzLCBlbnN1cmluZyBjb25zaXN0ZW5jeSBhbmQgcmVkdWNpbmcgdGhlIGxpa2VsaWhvb2RcbiAqIG9mIGVycm9ycyBkdWUgdG8gaGFyZGNvZGVkIHN0cmluZ3MuXG4gKi9cblxuLyoqXG4gKiBFbnVtZXJhdGlvbiBvZiBjb21tb24gZmlsZSBwYXRocyBhbmQgcGF0dGVybnMgdXNlZCBpbiB0aGUgT2JzaWRpYW4gZGV2ZWxvcG1lbnQgdXRpbGl0aWVzIHJlcG9zaXRvcnkuXG4gKi9cbmV4cG9ydCBlbnVtIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMge1xuICAvKiogQW55IGZpbGUgb3IgZm9sZGVyLiAqL1xuICBBbnkgPSAnKicsXG5cbiAgLyoqIENvbW1vbkpTIGZpbGUuICovXG4gIEFueUNqcyA9ICcqLmNqcycsXG5cbiAgLyoqIENvbW1vbkpTIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZS4gKi9cbiAgQW55RGN0cyA9ICcqLmQuY3RzJyxcblxuICAvKiogRVNNIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZS4gKi9cbiAgQW55RG10cyA9ICcqLmQubXRzJyxcblxuICAvKiogVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlLiAqL1xuICBBbnlEdHMgPSAnKi5kLnRzJyxcblxuICAvKiogRVNNIEphdmFTY3JpcHQgZmlsZS4gKi9cbiAgQW55TWpzID0gJyoubWpzJyxcblxuICAvKiogQW55IHBhdGggcmVjdXJzaXZlbHkuICovXG4gIEFueVBhdGggPSAnKionLFxuXG4gIC8qKiBBbnkgVHlwZVNjcmlwdCBmaWxlLiAqL1xuICBBbnlUcyA9ICcqLnRzJyxcblxuICAvKiogQ29tbW9uSlMgZm9sZGVyLiAqL1xuICBDanMgPSAnY2pzJyxcblxuICAvKiogQ29tbW9uSlMgZmlsZSBleHRlbnNpb24uICovXG4gIENqc0V4dGVuc2lvbiA9ICcuY2pzJyxcblxuICAvKiogQ3VycmVudCBmb2xkZXIuICovXG4gIEN1cnJlbnRGb2xkZXIgPSAnLicsXG5cbiAgLyoqIERhdGF2aWV3IHR5cGVzLiAqL1xuICBEYXRhdmlld1R5cGVzID0gJ3NyYy9vYnNpZGlhbi9AdHlwZXMvZGF0YXZpZXcvKionLFxuXG4gIC8qKiBDb21tb25KUyBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUgZXh0ZW5zaW9uLiAqL1xuICBEY3RzRXh0ZW5zaW9uID0gJy5kLmN0cycsXG5cbiAgLyoqIERpc3RyaWJ1dGlvbiBmb2xkZXIuICovXG4gIERpc3QgPSAnZGlzdCcsXG5cbiAgLyoqIEEgcGF0aCB0byB0aGUgYGxpYmAgZm9sZGVyIHdpdGhpbiB0aGUge0BsaW5rIERpc3R9IGZvbGRlci4gKi9cbiAgRGlzdExpYiA9ICdkaXN0L2xpYicsXG5cbiAgLyoqIEEgcGF0aCB0byB0aGUgYHRlbXBsYXRlc2AgZm9sZGVyIHdpdGhpbiB0aGUge0BsaW5rIERpc3R9IGZvbGRlciwgaG9sZGluZyB0aGUgY29uc3VtZXItZmFjaW5nIHRlbXBsYXRlcy4gKi9cbiAgRGlzdFRlbXBsYXRlcyA9ICdkaXN0L3RlbXBsYXRlcycsXG5cbiAgLyoqIFRyYW5zcGlsZWQgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlIGV4dGVuc2lvbi4gKi9cbiAgRGpzRXh0ZW5zaW9uID0gJy5kLmpzJyxcblxuICAvKiogRVNNIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZSBleHRlbnNpb24uICovXG4gIERtdHNFeHRlbnNpb24gPSAnLmQubXRzJyxcblxuICAvKiogRHByaW50IGNvbmZpZ3VyYXRpb24gZmlsZS4gKi9cbiAgRHByaW50SnNvbiA9ICdkcHJpbnQuanNvbicsXG5cbiAgLyoqIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZSBleHRlbnNpb24uICovXG4gIER0c0V4dGVuc2lvbiA9ICcuZC50cycsXG5cbiAgLyoqIEVTTSBUeXBlU2NyaXB0IEVTTGludCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIEVzbGludENvbmZpZ010cyA9ICdlc2xpbnQuY29uZmlnLm10cycsXG5cbiAgLyoqIEVTTSBKYXZhU2NyaXB0IGZvbGRlci4gKi9cbiAgRXNtID0gJ2VzbScsXG5cbiAgLyoqIEdlbmVyYXRlZC1kdXJpbmctYnVpbGQgQ29tbW9uSlMgZmlsZS4gKi9cbiAgR2VuZXJhdGVkRHVyaW5nQnVpbGRDanMgPSAnZ2VuZXJhdGVkLWR1cmluZy1idWlsZC5janMnLFxuXG4gIC8qKiBHZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkIEVTTSBKYXZhU2NyaXB0IGZpbGUuICovXG4gIEdlbmVyYXRlZER1cmluZ0J1aWxkTWpzID0gJ2dlbmVyYXRlZC1kdXJpbmctYnVpbGQubWpzJyxcblxuICAvKiogQ29tbW9uSlMgSmF2YVNjcmlwdCBpbmRleCBmaWxlLiAqL1xuICBJbmRleENqcyA9ICdpbmRleC5janMnLFxuXG4gIC8qKiBDb21tb25KUyBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUgaW5kZXggZmlsZS4gKi9cbiAgSW5kZXhEY3RzID0gJ2luZGV4LmQuY3RzJyxcblxuICAvKiogRVNNIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZSBpbmRleCBmaWxlLiAqL1xuICBJbmRleERtdHMgPSAnaW5kZXguZC5tdHMnLFxuXG4gIC8qKiBFU00gSmF2YVNjcmlwdCBpbmRleCBmaWxlLiAqL1xuICBJbmRleE1qcyA9ICdpbmRleC5tanMnLFxuXG4gIC8qKiBUeXBlU2NyaXB0IGluZGV4IGZpbGUuICovXG4gIEluZGV4VHMgPSAnaW5kZXgudHMnLFxuXG4gIC8qKiBKYXZhU2NyaXB0IGZpbGUgZXh0ZW5zaW9uLiAqL1xuICBKc0V4dGVuc2lvbiA9ICcuanMnLFxuXG4gIC8qKiBFU00gTWFya2Rvd25saW50IENMSTIgY29uZmlndXJhdGlvbiBmaWxlLiAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnTWpzID0gJy5tYXJrZG93bmxpbnQtY2xpMi5tanMnLFxuXG4gIC8qKiBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIHNjaGVtYSBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUuICovXG4gIE1hcmtkb3dubGludFR5cGVzTWFya2Rvd25saW50Q2xpMkNvbmZpZ1NjaGVtYUR0cyA9ICdzcmMvc2NyaXB0LXV0aWxzL2xpbnRlcnMvbWFya2Rvd25saW50LXR5cGVzL0B0eXBlcy9tYXJrZG93bmxpbnQtY2xpMi1jb25maWctc2NoZW1hLmQudHMnLFxuXG4gIC8qKiBFU00gSmF2YVNjcmlwdCBmaWxlIGV4dGVuc2lvbi4gKi9cbiAgTWpzRXh0ZW5zaW9uID0gJy5tanMnLFxuXG4gIC8qKiBOb2RlIG1vZHVsZXMgZm9sZGVyLiAqL1xuICBOb2RlTW9kdWxlcyA9ICdub2RlX21vZHVsZXMnLFxuXG4gIC8qKiBQYWNrYWdlIEpTT04gZmlsZS4gKi9cbiAgUGFja2FnZUpzb24gPSAncGFja2FnZS5qc29uJyxcblxuICAvKiogUm9vdCBmb2xkZXIuICovXG4gIFJvb3RGb2xkZXIgPSAnLycsXG5cbiAgLyoqIFNjcmlwdHMgZm9sZGVyLiAqL1xuICBTY3JpcHRzID0gJ3NjcmlwdHMnLFxuXG4gIC8qKiBTY3JpcHRVdGlscyBmb2xkZXIuICovXG4gIFNjcmlwdFV0aWxzID0gJ3NjcmlwdC11dGlscycsXG5cbiAgLyoqIFNvdXJjZSBmb2xkZXIuICovXG4gIFNyYyA9ICdzcmMnLFxuXG4gIC8qKiBTdHlsZXMgZm9sZGVyLiAqL1xuICBTdHlsZXMgPSAnc3R5bGVzJyxcblxuICAvKiogU3R5bGVzIENTUyBmaWxlLiAqL1xuICBTdHlsZXNDc3MgPSAnc3R5bGVzLmNzcycsXG5cbiAgLyoqIFRlbXBsYXRlcyBmb2xkZXIuICovXG4gIFRlbXBsYXRlcyA9ICd0ZW1wbGF0ZXMnLFxuXG4gIC8qKiBUZXN0IGhlbHBlcnMgZm9sZGVyLiAqL1xuICBUZXN0SGVscGVycyA9ICd0ZXN0LWhlbHBlcnMnLFxuXG4gIC8qKiBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24gZmlsZS4gKi9cbiAgVHNDb25maWdKc29uID0gJ3RzY29uZmlnLmpzb24nLFxuXG4gIC8qKiBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24gZmlsZSB0aGF0IHZhbGlkYXRlcyB0aGUgZ2VuZXJhdGVkIENvbW1vbkpTIGRlY2xhcmF0aW9ucy4gKi9cbiAgVHNDb25maWdWYWxpZGF0ZURlY2xhcmF0aW9uc0Nqc0pzb24gPSAndHNjb25maWcudmFsaWRhdGUtZGVjbGFyYXRpb25zLWNqcy5qc29uJyxcblxuICAvKiogVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUgdGhhdCB2YWxpZGF0ZXMgdGhlIGdlbmVyYXRlZCBFU00gZGVjbGFyYXRpb25zLiAqL1xuICBUc0NvbmZpZ1ZhbGlkYXRlRGVjbGFyYXRpb25zSnNvbiA9ICd0c2NvbmZpZy52YWxpZGF0ZS1kZWNsYXJhdGlvbnMuanNvbicsXG5cbiAgLyoqIFR5cGVTY3JpcHQgZmlsZSBleHRlbnNpb24uICovXG4gIFRzRXh0ZW5zaW9uID0gJy50cycsXG5cbiAgLyoqIFR5cGVzIGZvbGRlci4gKi9cbiAgVHlwZXMgPSAnQHR5cGVzJ1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV08sSUFBSyw0QkFBTCxrQkFBS0EsK0JBQUw7QUFFTCxFQUFBQSwyQkFBQSxTQUFNO0FBR04sRUFBQUEsMkJBQUEsWUFBUztBQUdULEVBQUFBLDJCQUFBLGFBQVU7QUFHVixFQUFBQSwyQkFBQSxhQUFVO0FBR1YsRUFBQUEsMkJBQUEsWUFBUztBQUdULEVBQUFBLDJCQUFBLFlBQVM7QUFHVCxFQUFBQSwyQkFBQSxhQUFVO0FBR1YsRUFBQUEsMkJBQUEsV0FBUTtBQUdSLEVBQUFBLDJCQUFBLFNBQU07QUFHTixFQUFBQSwyQkFBQSxrQkFBZTtBQUdmLEVBQUFBLDJCQUFBLG1CQUFnQjtBQUdoQixFQUFBQSwyQkFBQSxtQkFBZ0I7QUFHaEIsRUFBQUEsMkJBQUEsbUJBQWdCO0FBR2hCLEVBQUFBLDJCQUFBLFVBQU87QUFHUCxFQUFBQSwyQkFBQSxhQUFVO0FBR1YsRUFBQUEsMkJBQUEsbUJBQWdCO0FBR2hCLEVBQUFBLDJCQUFBLGtCQUFlO0FBR2YsRUFBQUEsMkJBQUEsbUJBQWdCO0FBR2hCLEVBQUFBLDJCQUFBLGdCQUFhO0FBR2IsRUFBQUEsMkJBQUEsa0JBQWU7QUFHZixFQUFBQSwyQkFBQSxxQkFBa0I7QUFHbEIsRUFBQUEsMkJBQUEsU0FBTTtBQUdOLEVBQUFBLDJCQUFBLDZCQUEwQjtBQUcxQixFQUFBQSwyQkFBQSw2QkFBMEI7QUFHMUIsRUFBQUEsMkJBQUEsY0FBVztBQUdYLEVBQUFBLDJCQUFBLGVBQVk7QUFHWixFQUFBQSwyQkFBQSxlQUFZO0FBR1osRUFBQUEsMkJBQUEsY0FBVztBQUdYLEVBQUFBLDJCQUFBLGFBQVU7QUFHVixFQUFBQSwyQkFBQSxpQkFBYztBQUdkLEVBQUFBLDJCQUFBLCtCQUE0QjtBQUc1QixFQUFBQSwyQkFBQSxzREFBbUQ7QUFHbkQsRUFBQUEsMkJBQUEsa0JBQWU7QUFHZixFQUFBQSwyQkFBQSxpQkFBYztBQUdkLEVBQUFBLDJCQUFBLGlCQUFjO0FBR2QsRUFBQUEsMkJBQUEsZ0JBQWE7QUFHYixFQUFBQSwyQkFBQSxhQUFVO0FBR1YsRUFBQUEsMkJBQUEsaUJBQWM7QUFHZCxFQUFBQSwyQkFBQSxTQUFNO0FBR04sRUFBQUEsMkJBQUEsWUFBUztBQUdULEVBQUFBLDJCQUFBLGVBQVk7QUFHWixFQUFBQSwyQkFBQSxlQUFZO0FBR1osRUFBQUEsMkJBQUEsaUJBQWM7QUFHZCxFQUFBQSwyQkFBQSxrQkFBZTtBQUdmLEVBQUFBLDJCQUFBLHlDQUFzQztBQUd0QyxFQUFBQSwyQkFBQSxzQ0FBbUM7QUFHbkMsRUFBQUEsMkJBQUEsaUJBQWM7QUFHZCxFQUFBQSwyQkFBQSxXQUFRO0FBL0lFLFNBQUFBO0FBQUEsR0FBQTsiLAogICJuYW1lcyI6IFsiT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyJdCn0K
@@ -54,6 +54,10 @@ export declare enum ObsidianDevUtilsRepoPaths {
54
54
  EslintConfigMts = "eslint.config.mts",
55
55
  /** ESM JavaScript folder. */
56
56
  Esm = "esm",
57
+ /** Generated-during-build CommonJS file. */
58
+ GeneratedDuringBuildCjs = "generated-during-build.cjs",
59
+ /** Generated-during-build ESM JavaScript file. */
60
+ GeneratedDuringBuildMjs = "generated-during-build.mjs",
57
61
  /** CommonJS JavaScript index file. */
58
62
  IndexCjs = "index.cjs",
59
63
  /** CommonJS TypeScript declaration file index file. */
@@ -66,10 +70,6 @@ export declare enum ObsidianDevUtilsRepoPaths {
66
70
  IndexTs = "index.ts",
67
71
  /** JavaScript file extension. */
68
72
  JsExtension = ".js",
69
- /** Library CommonJS file. */
70
- LibraryCjs = "library.cjs",
71
- /** Library ESM JavaScript file. */
72
- LibraryMjs = "library.mjs",
73
73
  /** ESM Markdownlint CLI2 configuration file. */
74
74
  MarkdownlintCli2ConfigMjs = ".markdownlint-cli2.mjs",
75
75
  /** Markdownlint CLI2 configuration schema TypeScript declaration file. */
@@ -129,6 +129,7 @@ __export(setup_exports, {
129
129
  });
130
130
  module.exports = __toCommonJS(setup_exports);
131
131
  var import_async = require('./async.cjs');
132
+ var import_library = require('./library.cjs');
132
133
  var import_obsidian_dev_utils_state = require('./obsidian-dev-utils-state.cjs');
133
134
  function setup(params) {
134
135
  params.beforeEach(beforeEachHandler);
@@ -136,10 +137,11 @@ function setup(params) {
136
137
  }
137
138
  function beforeEachHandler() {
138
139
  (0, import_obsidian_dev_utils_state.resetObsidianDevUtilsState)();
140
+ import_library.Library.resetToDefault();
139
141
  (0, import_async.enableAsyncOperationTracking)();
140
142
  }
141
143
  // Annotate the CommonJS export names for ESM import in node:
142
144
  0 && (module.exports = {
143
145
  setup
144
146
  });
145
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NldHVwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRnJhbWV3b3JrLWFnbm9zdGljIHRlc3Qtc2V0dXAgZW5kcG9pbnQgZm9yIGBvYnNpZGlhbi1kZXYtdXRpbHNgLlxuICpcbiAqIFdpcmVzIHRoZSBsaWJyYXJ5J3MgcGVyLXRlc3Qgc2V0dXAgaW50byBhIHRlc3QgZnJhbWV3b3JrJ3MgYGJlZm9yZUVhY2hgIC8gYGFmdGVyRWFjaGAgbGlmZWN5Y2xlXG4gKiBob29rcy4gQmVmb3JlIGVhY2ggdGVzdCBpdCByZXNldHMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkRldlV0aWxzYCAoc29cbiAqIGFjY3VtdWxhdGVkIHN0YXRlIHN1Y2ggYXMgZGVidWdnZXJzLCBxdWV1ZXMsIGFuZCByZWdpc3RlcmVkIGhhbmRsZXJzIGRvZXMgbm90IGxlYWsgYmV0d2VlbiB0ZXN0cylcbiAqIGFuZCBlbmFibGVzIGFzeW5jLW9wZXJhdGlvbiB0cmFja2luZzsgYWZ0ZXIgZWFjaCB0ZXN0IGl0IGRpc2FibGVzIHRyYWNraW5nLiBUZXN0cyBjYW4gdGhlcmVmb3JlXG4gKiBgYXdhaXQgd2FpdEZvckFsbEFzeW5jT3BlcmF0aW9ucygpYCBhZ2FpbnN0IGEgY2xlYW4sIGlzb2xhdGVkIHN0YXRlLlxuICpcbiAqIFRoaXMgbW9kdWxlIGhhcyBubyBpbXBvcnQtdGltZSBzaWRlIGVmZmVjdHMgYW5kIG5vIGRlcGVuZGVuY3kgb24gYW55IHNwZWNpZmljIHRlc3QgZnJhbWV3b3JrLiBUaGVcbiAqIHRoaW4gVml0ZXN0L0plc3Qgc2V0dXAgZmlsZXMgKGB2aXRlc3Qtc2V0dXAudHNgIC8gYGplc3Qtc2V0dXAudHNgKSBjYWxsIHtAbGluayBzZXR1cH0gd2l0aCB0aGVcbiAqIGhvb2tzIGltcG9ydGVkIGZyb20gdGhlaXIgcmVzcGVjdGl2ZSBmcmFtZXdvcmtzLlxuICovXG5cbmltcG9ydCB7XG4gIGRpc2FibGVBc3luY09wZXJhdGlvblRyYWNraW5nLFxuICBlbmFibGVBc3luY09wZXJhdGlvblRyYWNraW5nXG59IGZyb20gJy4vYXN5bmMudHMnO1xuaW1wb3J0IHsgcmVzZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWRldi11dGlscy1zdGF0ZS50cyc7XG5cbi8qKlxuICogQSB0ZXN0LWZyYW1ld29yayBsaWZlY3ljbGUgaG9vayByZWdpc3RyYXIsIHN1Y2ggYXMgYGJlZm9yZUVhY2hgIG9yIGBhZnRlckVhY2hgLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBjYWxsYmFjayB0byByZWdpc3RlciB3aXRoIHRoZSBob29rLlxuICovXG5leHBvcnQgdHlwZSBIb29rUmVnaXN0cmFyID0gKGZuOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBzZXR1cH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dXBQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHRlc3QgZnJhbWV3b3JrJ3MgYGFmdGVyRWFjaGAgaG9vayByZWdpc3RyYXIuIFVzZWQgdG8gdGVhciBkb3duIHBlci10ZXN0IHN0YXRlIGFmdGVyIGVhY2ggdGVzdC5cbiAgICovXG4gIHJlYWRvbmx5IGFmdGVyRWFjaDogSG9va1JlZ2lzdHJhcjtcblxuICAvKipcbiAgICogVGhlIHRlc3QgZnJhbWV3b3JrJ3MgYGJlZm9yZUVhY2hgIGhvb2sgcmVnaXN0cmFyLiBVc2VkIHRvIHNldCB1cCBmcmVzaCBwZXItdGVzdCBzdGF0ZSBiZWZvcmUgZWFjaCB0ZXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYmVmb3JlRWFjaDogSG9va1JlZ2lzdHJhcjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYG9ic2lkaWFuLWRldi11dGlsc2AgcGVyLXRlc3Qgc2V0dXAgd2l0aCBhIHRlc3QgZnJhbWV3b3JrJ3MgbGlmZWN5Y2xlIGhvb2tzLlxuICpcbiAqIEJlZm9yZSBlYWNoIHRlc3QgKHZpYSB0aGUgc3VwcGxpZWQgYGJlZm9yZUVhY2hgKSBpdCByZXNldHMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgYW5kIGVuYWJsZXNcbiAqIGFzeW5jLW9wZXJhdGlvbiB0cmFja2luZzsgYWZ0ZXIgZWFjaCB0ZXN0ICh2aWEgdGhlIHN1cHBsaWVkIGBhZnRlckVhY2hgKSBpdCBkaXNhYmxlcyB0cmFja2luZy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGxpZmVjeWNsZSBob29rIHJlZ2lzdHJhcnMgdG8gd2lyZSBzZXR1cCBpbnRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXAocGFyYW1zOiBTZXR1cFBhcmFtcyk6IHZvaWQge1xuICBwYXJhbXMuYmVmb3JlRWFjaChiZWZvcmVFYWNoSGFuZGxlcik7XG4gIHBhcmFtcy5hZnRlckVhY2goZGlzYWJsZUFzeW5jT3BlcmF0aW9uVHJhY2tpbmcpO1xufVxuXG5mdW5jdGlvbiBiZWZvcmVFYWNoSGFuZGxlcigpOiB2b2lkIHtcbiAgcmVzZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUoKTtcbiAgZW5hYmxlQXN5bmNPcGVyYXRpb25UcmFja2luZygpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLG1CQUdPO0FBQ1Asc0NBQTJDO0FBZ0NwQyxTQUFTLE1BQU0sUUFBMkI7QUFDL0MsU0FBTyxXQUFXLGlCQUFpQjtBQUNuQyxTQUFPLFVBQVUsMENBQTZCO0FBQ2hEO0FBRUEsU0FBUyxvQkFBMEI7QUFDakMsa0VBQTJCO0FBQzNCLGlEQUE2QjtBQUMvQjsiLAogICJuYW1lcyI6IFtdCn0K
147
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NldHVwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRnJhbWV3b3JrLWFnbm9zdGljIHRlc3Qtc2V0dXAgZW5kcG9pbnQgZm9yIGBvYnNpZGlhbi1kZXYtdXRpbHNgLlxuICpcbiAqIFdpcmVzIHRoZSBsaWJyYXJ5J3MgcGVyLXRlc3Qgc2V0dXAgaW50byBhIHRlc3QgZnJhbWV3b3JrJ3MgYGJlZm9yZUVhY2hgIC8gYGFmdGVyRWFjaGAgbGlmZWN5Y2xlXG4gKiBob29rcy4gQmVmb3JlIGVhY2ggdGVzdCBpdCByZXNldHMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkRldlV0aWxzYCAoc29cbiAqIGFjY3VtdWxhdGVkIHN0YXRlIHN1Y2ggYXMgZGVidWdnZXJzLCBxdWV1ZXMsIGFuZCByZWdpc3RlcmVkIGhhbmRsZXJzIGRvZXMgbm90IGxlYWsgYmV0d2VlbiB0ZXN0cyksXG4gKiByZXNldHMgdGhlIGluamVjdGVkIHtAbGluayBMaWJyYXJ5fSBzdGF0ZSAoc28gdGhlIG5leHQgdGVzdCBjYW4gcmUtaW5pdGlhbGl6ZSksIGFuZCBlbmFibGVzXG4gKiBhc3luYy1vcGVyYXRpb24gdHJhY2tpbmc7IGFmdGVyIGVhY2ggdGVzdCBpdCBkaXNhYmxlcyB0cmFja2luZy4gVGVzdHMgY2FuIHRoZXJlZm9yZVxuICogYGF3YWl0IHdhaXRGb3JBbGxBc3luY09wZXJhdGlvbnMoKWAgYWdhaW5zdCBhIGNsZWFuLCBpc29sYXRlZCBzdGF0ZS5cbiAqXG4gKiBUaGlzIG1vZHVsZSBoYXMgbm8gaW1wb3J0LXRpbWUgc2lkZSBlZmZlY3RzIGFuZCBubyBkZXBlbmRlbmN5IG9uIGFueSBzcGVjaWZpYyB0ZXN0IGZyYW1ld29yay4gVGhlXG4gKiB0aGluIFZpdGVzdC9KZXN0IHNldHVwIGZpbGVzIChgdml0ZXN0LXNldHVwLnRzYCAvIGBqZXN0LXNldHVwLnRzYCkgY2FsbCB7QGxpbmsgc2V0dXB9IHdpdGggdGhlXG4gKiBob29rcyBpbXBvcnRlZCBmcm9tIHRoZWlyIHJlc3BlY3RpdmUgZnJhbWV3b3Jrcy5cbiAqL1xuXG5pbXBvcnQge1xuICBkaXNhYmxlQXN5bmNPcGVyYXRpb25UcmFja2luZyxcbiAgZW5hYmxlQXN5bmNPcGVyYXRpb25UcmFja2luZ1xufSBmcm9tICcuL2FzeW5jLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgcmVzZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWRldi11dGlscy1zdGF0ZS50cyc7XG5cbi8qKlxuICogQSB0ZXN0LWZyYW1ld29yayBsaWZlY3ljbGUgaG9vayByZWdpc3RyYXIsIHN1Y2ggYXMgYGJlZm9yZUVhY2hgIG9yIGBhZnRlckVhY2hgLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBjYWxsYmFjayB0byByZWdpc3RlciB3aXRoIHRoZSBob29rLlxuICovXG5leHBvcnQgdHlwZSBIb29rUmVnaXN0cmFyID0gKGZuOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBzZXR1cH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dXBQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHRlc3QgZnJhbWV3b3JrJ3MgYGFmdGVyRWFjaGAgaG9vayByZWdpc3RyYXIuIFVzZWQgdG8gdGVhciBkb3duIHBlci10ZXN0IHN0YXRlIGFmdGVyIGVhY2ggdGVzdC5cbiAgICovXG4gIHJlYWRvbmx5IGFmdGVyRWFjaDogSG9va1JlZ2lzdHJhcjtcblxuICAvKipcbiAgICogVGhlIHRlc3QgZnJhbWV3b3JrJ3MgYGJlZm9yZUVhY2hgIGhvb2sgcmVnaXN0cmFyLiBVc2VkIHRvIHNldCB1cCBmcmVzaCBwZXItdGVzdCBzdGF0ZSBiZWZvcmUgZWFjaCB0ZXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYmVmb3JlRWFjaDogSG9va1JlZ2lzdHJhcjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYG9ic2lkaWFuLWRldi11dGlsc2AgcGVyLXRlc3Qgc2V0dXAgd2l0aCBhIHRlc3QgZnJhbWV3b3JrJ3MgbGlmZWN5Y2xlIGhvb2tzLlxuICpcbiAqIEJlZm9yZSBlYWNoIHRlc3QgKHZpYSB0aGUgc3VwcGxpZWQgYGJlZm9yZUVhY2hgKSBpdCByZXNldHMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgYW5kIHRoZSBpbmplY3RlZFxuICoge0BsaW5rIExpYnJhcnl9IHN0YXRlLCBhbmQgZW5hYmxlcyBhc3luYy1vcGVyYXRpb24gdHJhY2tpbmc7IGFmdGVyIGVhY2ggdGVzdCAodmlhIHRoZSBzdXBwbGllZFxuICogYGFmdGVyRWFjaGApIGl0IGRpc2FibGVzIHRyYWNraW5nLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgbGlmZWN5Y2xlIGhvb2sgcmVnaXN0cmFycyB0byB3aXJlIHNldHVwIGludG8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cChwYXJhbXM6IFNldHVwUGFyYW1zKTogdm9pZCB7XG4gIHBhcmFtcy5iZWZvcmVFYWNoKGJlZm9yZUVhY2hIYW5kbGVyKTtcbiAgcGFyYW1zLmFmdGVyRWFjaChkaXNhYmxlQXN5bmNPcGVyYXRpb25UcmFja2luZyk7XG59XG5cbmZ1bmN0aW9uIGJlZm9yZUVhY2hIYW5kbGVyKCk6IHZvaWQge1xuICByZXNldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSgpO1xuICBMaWJyYXJ5LnJlc2V0VG9EZWZhdWx0KCk7XG4gIGVuYWJsZUFzeW5jT3BlcmF0aW9uVHJhY2tpbmcoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWlCQSxtQkFHTztBQUNQLHFCQUF3QjtBQUN4QixzQ0FBMkM7QUFpQ3BDLFNBQVMsTUFBTSxRQUEyQjtBQUMvQyxTQUFPLFdBQVcsaUJBQWlCO0FBQ25DLFNBQU8sVUFBVSwwQ0FBNkI7QUFDaEQ7QUFFQSxTQUFTLG9CQUEwQjtBQUNqQyxrRUFBMkI7QUFDM0IseUJBQVEsZUFBZTtBQUN2QixpREFBNkI7QUFDL0I7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -6,8 +6,9 @@
6
6
  *
7
7
  * Wires the library's per-test setup into a test framework's `beforeEach` / `afterEach` lifecycle
8
8
  * hooks. Before each test it resets the shared-state bag on `globalThis.__obsidianDevUtils` (so
9
- * accumulated state such as debuggers, queues, and registered handlers does not leak between tests)
10
- * and enables async-operation tracking; after each test it disables tracking. Tests can therefore
9
+ * accumulated state such as debuggers, queues, and registered handlers does not leak between tests),
10
+ * resets the injected {@link Library} state (so the next test can re-initialize), and enables
11
+ * async-operation tracking; after each test it disables tracking. Tests can therefore
11
12
  * `await waitForAllAsyncOperations()` against a clean, isolated state.
12
13
  *
13
14
  * This module has no import-time side effects and no dependency on any specific test framework. The
@@ -36,8 +37,9 @@ export interface SetupParams {
36
37
  /**
37
38
  * Registers `obsidian-dev-utils` per-test setup with a test framework's lifecycle hooks.
38
39
  *
39
- * Before each test (via the supplied `beforeEach`) it resets the shared-state bag and enables
40
- * async-operation tracking; after each test (via the supplied `afterEach`) it disables tracking.
40
+ * Before each test (via the supplied `beforeEach`) it resets the shared-state bag and the injected
41
+ * {@link Library} state, and enables async-operation tracking; after each test (via the supplied
42
+ * `afterEach`) it disables tracking.
41
43
  *
42
44
  * @param params - The lifecycle hook registrars to wire setup into.
43
45
  */
@@ -49,7 +49,7 @@ async function blobToJpegArrayBuffer(blob, jpegQuality) {
49
49
  image.addEventListener("load", handleLoad);
50
50
  image.src = dataUrl;
51
51
  function handleLoad() {
52
- const canvas = createEl("canvas");
52
+ const canvas = document.createElement("canvas");
53
53
  const context = canvas.getContext("2d");
54
54
  assertNonNullable(context, "Could not get 2D context.");
55
55
  const imageWidth = image.width;
@@ -75,7 +75,7 @@ function dataUrlToArrayBuffer(dataUrl) {
75
75
  if (!base64) {
76
76
  throw new Error("Invalid data URL");
77
77
  }
78
- const raw = activeWindow.atob(base64);
78
+ const raw = atob(base64);
79
79
  const rawLength = raw.length;
80
80
  const uInt8Array = new Uint8Array(rawLength);
81
81
  for (let i = 0; i < rawLength; i++) {
@@ -93,4 +93,4 @@ export {
93
93
  dataUrlToArrayBuffer,
94
94
  isImageFile
95
95
  };
96
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgQmxvYiBvYmplY3RzLlxuICovXG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi90eXBlLWd1YXJkcy50cyc7XG5cbi8qKlxuICogQ29udmVydHMgYSB7QGxpbmsgQmxvYn0gb2JqZWN0IHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKlxuICogQHBhcmFtIGJsb2IgLSBUaGUgQmxvYiBvYmplY3QgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4ge0BsaW5rIEFycmF5QnVmZmVyfS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0FycmF5QnVmZmVyKGJsb2I6IEJsb2IpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCBoYW5kbGVMb2FkRW5kKTtcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYik7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVMb2FkRW5kKCk6IHZvaWQge1xuICAgICAgcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIEFycmF5QnVmZmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEge0BsaW5rIEJsb2J9IG9iamVjdCB0byBhIGRhdGEgVVJMLlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgZGF0YSBVUkwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9EYXRhVXJsKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkZW5kJywgaGFuZGxlTG9hZEVuZCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVMb2FkRW5kKCk6IHZvaWQge1xuICAgICAgcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHtAbGluayBCbG9ifSBvYmplY3QgdG8gYSBKUEVHIEFycmF5QnVmZmVyIHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaXR5LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0ganBlZ1F1YWxpdHkgLSBUaGUgcXVhbGl0eSBvZiB0aGUgSlBFRyBpbWFnZSAoMCB0byAxKS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4ge0BsaW5rIEFycmF5QnVmZmVyfS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0pwZWdBcnJheUJ1ZmZlcihibG9iOiBCbG9iLCBqcGVnUXVhbGl0eTogbnVtYmVyKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICBjb25zdCBkYXRhVXJsID0gYXdhaXQgYmxvYlRvRGF0YVVybChibG9iKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgaGFuZGxlTG9hZCk7XG4gICAgaW1hZ2Uuc3JjID0gZGF0YVVybDtcblxuICAgIGZ1bmN0aW9uIGhhbmRsZUxvYWQoKTogdm9pZCB7XG4gICAgICBjb25zdCBjYW52YXMgPSBjcmVhdGVFbCgnY2FudmFzJyk7XG4gICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICBhc3NlcnROb25OdWxsYWJsZShjb250ZXh0LCAnQ291bGQgbm90IGdldCAyRCBjb250ZXh0LicpO1xuICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IGltYWdlLndpZHRoO1xuICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBpbWFnZS5oZWlnaHQ7XG5cbiAgICAgIGNhbnZhcy53aWR0aCA9IGltYWdlV2lkdGg7XG4gICAgICBjYW52YXMuaGVpZ2h0ID0gaW1hZ2VIZWlnaHQ7XG5cbiAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gJyNmZmYnO1xuICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCk7XG4gICAgICBjb250ZXh0LnNhdmUoKTtcblxuICAgICAgY29uc3QgSEFMRiA9IDAuNTtcbiAgICAgIGNvbnRleHQudHJhbnNsYXRlKGltYWdlV2lkdGggKiBIQUxGLCBpbWFnZUhlaWdodCAqIEhBTEYpO1xuICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCAtaW1hZ2VXaWR0aCAqIEhBTEYsIC1pbWFnZUhlaWdodCAqIEhBTEYsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KTtcbiAgICAgIGNvbnRleHQucmVzdG9yZSgpO1xuXG4gICAgICBjb25zdCBqcGVnRGF0YVVybCA9IGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL2pwZWcnLCBqcGVnUXVhbGl0eSk7XG4gICAgICBjb25zdCBhcnJheUJ1ZmZlciA9IGRhdGFVcmxUb0FycmF5QnVmZmVyKGpwZWdEYXRhVXJsKTtcbiAgICAgIHJlc29sdmUoYXJyYXlCdWZmZXIpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgdG8gYW4ge0BsaW5rIEFycmF5QnVmZmVyfS5cbiAqXG4gKiBAcGFyYW0gZGF0YVVybCAtIFRoZSBkYXRhIFVSTCB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGRlY29kZWQgQXJyYXlCdWZmZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXRhVXJsVG9BcnJheUJ1ZmZlcihkYXRhVXJsOiBzdHJpbmcpOiBBcnJheUJ1ZmZlciB7XG4gIGNvbnN0IHBhcnRzID0gZGF0YVVybC5zcGxpdCgnO2Jhc2U2NCwnKTtcbiAgY29uc3QgYmFzZTY0ID0gcGFydHNbMV07XG4gIGlmICghYmFzZTY0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEgVVJMJyk7XG4gIH1cblxuICBjb25zdCByYXcgPSBhY3RpdmVXaW5kb3cuYXRvYihiYXNlNjQpO1xuICBjb25zdCByYXdMZW5ndGggPSByYXcubGVuZ3RoO1xuXG4gIGNvbnN0IHVJbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShyYXdMZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3TGVuZ3RoOyBpKyspIHtcbiAgICB1SW50OEFycmF5W2ldID0gcmF3LmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIHVJbnQ4QXJyYXkuYnVmZmVyO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIGZpbGUgaXMgYW4gaW1hZ2UuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZmlsZSBpcyBhbiBpbWFnZSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ltYWdlRmlsZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJyk7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
96
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgQmxvYiBvYmplY3RzLlxuICovXG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi90eXBlLWd1YXJkcy50cyc7XG5cbi8qKlxuICogQ29udmVydHMgYSB7QGxpbmsgQmxvYn0gb2JqZWN0IHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKlxuICogQHBhcmFtIGJsb2IgLSBUaGUgQmxvYiBvYmplY3QgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4ge0BsaW5rIEFycmF5QnVmZmVyfS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0FycmF5QnVmZmVyKGJsb2I6IEJsb2IpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCBoYW5kbGVMb2FkRW5kKTtcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYik7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVMb2FkRW5kKCk6IHZvaWQge1xuICAgICAgcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIEFycmF5QnVmZmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEge0BsaW5rIEJsb2J9IG9iamVjdCB0byBhIGRhdGEgVVJMLlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgZGF0YSBVUkwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9EYXRhVXJsKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkZW5kJywgaGFuZGxlTG9hZEVuZCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVMb2FkRW5kKCk6IHZvaWQge1xuICAgICAgcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHtAbGluayBCbG9ifSBvYmplY3QgdG8gYSBKUEVHIEFycmF5QnVmZmVyIHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaXR5LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0ganBlZ1F1YWxpdHkgLSBUaGUgcXVhbGl0eSBvZiB0aGUgSlBFRyBpbWFnZSAoMCB0byAxKS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4ge0BsaW5rIEFycmF5QnVmZmVyfS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0pwZWdBcnJheUJ1ZmZlcihibG9iOiBCbG9iLCBqcGVnUXVhbGl0eTogbnVtYmVyKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICBjb25zdCBkYXRhVXJsID0gYXdhaXQgYmxvYlRvRGF0YVVybChibG9iKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgaGFuZGxlTG9hZCk7XG4gICAgaW1hZ2Uuc3JjID0gZGF0YVVybDtcblxuICAgIGZ1bmN0aW9uIGhhbmRsZUxvYWQoKTogdm9pZCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItYWN0aXZlLWRvYyAtLSBUaGlzIGlzIGFuIE9ic2lkaWFuLXJ1bnRpbWUtYWdub3N0aWMgbW9kdWxlOyBpdCB1c2VzIHRoZSBzdGFuZGFyZCBET00gYGRvY3VtZW50YCwgbm90IE9ic2lkaWFuJ3MgYGFjdGl2ZURvY3VtZW50YC5cbiAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgYXNzZXJ0Tm9uTnVsbGFibGUoY29udGV4dCwgJ0NvdWxkIG5vdCBnZXQgMkQgY29udGV4dC4nKTtcbiAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgIGNvbnN0IGltYWdlSGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0O1xuXG4gICAgICBjYW52YXMud2lkdGggPSBpbWFnZVdpZHRoO1xuICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlSGVpZ2h0O1xuXG4gICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICcjZmZmJztcbiAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQpO1xuICAgICAgY29udGV4dC5zYXZlKCk7XG5cbiAgICAgIGNvbnN0IEhBTEYgPSAwLjU7XG4gICAgICBjb250ZXh0LnRyYW5zbGF0ZShpbWFnZVdpZHRoICogSEFMRiwgaW1hZ2VIZWlnaHQgKiBIQUxGKTtcbiAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgLWltYWdlV2lkdGggKiBIQUxGLCAtaW1hZ2VIZWlnaHQgKiBIQUxGLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCk7XG4gICAgICBjb250ZXh0LnJlc3RvcmUoKTtcblxuICAgICAgY29uc3QganBlZ0RhdGFVcmwgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywganBlZ1F1YWxpdHkpO1xuICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBkYXRhVXJsVG9BcnJheUJ1ZmZlcihqcGVnRGF0YVVybCk7XG4gICAgICByZXNvbHZlKGFycmF5QnVmZmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIHRvIGFuIHtAbGluayBBcnJheUJ1ZmZlcn0uXG4gKlxuICogQHBhcmFtIGRhdGFVcmwgLSBUaGUgZGF0YSBVUkwgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0YVVybFRvQXJyYXlCdWZmZXIoZGF0YVVybDogc3RyaW5nKTogQXJyYXlCdWZmZXIge1xuICBjb25zdCBwYXJ0cyA9IGRhdGFVcmwuc3BsaXQoJztiYXNlNjQsJyk7XG4gIGNvbnN0IGJhc2U2NCA9IHBhcnRzWzFdO1xuICBpZiAoIWJhc2U2NCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkYXRhIFVSTCcpO1xuICB9XG5cbiAgY29uc3QgcmF3ID0gYXRvYihiYXNlNjQpO1xuICBjb25zdCByYXdMZW5ndGggPSByYXcubGVuZ3RoO1xuXG4gIGNvbnN0IHVJbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShyYXdMZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3TGVuZ3RoOyBpKyspIHtcbiAgICB1SW50OEFycmF5W2ldID0gcmF3LmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIHVJbnQ4QXJyYXkuYnVmZmVyO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIGZpbGUgaXMgYW4gaW1hZ2UuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZmlsZSBpcyBhbiBpbWFnZSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ltYWdlRmlsZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMseUJBQXlCO0FBUWxDLGVBQXNCLGtCQUFrQixNQUFrQztBQUN4RSxTQUFPLE1BQU0sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUNwQyxVQUFNLFNBQVMsSUFBSSxXQUFXO0FBQzlCLFdBQU8saUJBQWlCLFdBQVcsYUFBYTtBQUNoRCxXQUFPLGtCQUFrQixJQUFJO0FBRTdCLGFBQVMsZ0JBQXNCO0FBQzdCLGNBQVEsT0FBTyxNQUFxQjtBQUFBLElBQ3RDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRQSxlQUFzQixjQUFjLE1BQTZCO0FBQy9ELFNBQU8sTUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZO0FBQ3BDLFVBQU0sU0FBUyxJQUFJLFdBQVc7QUFDOUIsV0FBTyxpQkFBaUIsV0FBVyxhQUFhO0FBQ2hELFdBQU8sY0FBYyxJQUFJO0FBRXpCLGFBQVMsZ0JBQXNCO0FBQzdCLGNBQVEsT0FBTyxNQUFnQjtBQUFBLElBQ2pDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFTQSxlQUFzQixzQkFBc0IsTUFBWSxhQUEyQztBQUNqRyxRQUFNLFVBQVUsTUFBTSxjQUFjLElBQUk7QUFDeEMsU0FBTyxJQUFJLFFBQVEsQ0FBQyxZQUFZO0FBQzlCLFVBQU0sUUFBUSxJQUFJLE1BQU07QUFDeEIsVUFBTSxpQkFBaUIsUUFBUSxVQUFVO0FBQ3pDLFVBQU0sTUFBTTtBQUVaLGFBQVMsYUFBbUI7QUFFMUIsWUFBTSxTQUFTLFNBQVMsY0FBYyxRQUFRO0FBQzlDLFlBQU0sVUFBVSxPQUFPLFdBQVcsSUFBSTtBQUN0Qyx3QkFBa0IsU0FBUywyQkFBMkI7QUFDdEQsWUFBTSxhQUFhLE1BQU07QUFDekIsWUFBTSxjQUFjLE1BQU07QUFFMUIsYUFBTyxRQUFRO0FBQ2YsYUFBTyxTQUFTO0FBRWhCLGNBQVEsWUFBWTtBQUNwQixjQUFRLFNBQVMsR0FBRyxHQUFHLFlBQVksV0FBVztBQUM5QyxjQUFRLEtBQUs7QUFFYixZQUFNLE9BQU87QUFDYixjQUFRLFVBQVUsYUFBYSxNQUFNLGNBQWMsSUFBSTtBQUN2RCxjQUFRLFVBQVUsT0FBTyxHQUFHLEdBQUcsWUFBWSxhQUFhLENBQUMsYUFBYSxNQUFNLENBQUMsY0FBYyxNQUFNLFlBQVksV0FBVztBQUN4SCxjQUFRLFFBQVE7QUFFaEIsWUFBTSxjQUFjLE9BQU8sVUFBVSxjQUFjLFdBQVc7QUFDOUQsWUFBTSxjQUFjLHFCQUFxQixXQUFXO0FBQ3BELGNBQVEsV0FBVztBQUFBLElBQ3JCO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRTyxTQUFTLHFCQUFxQixTQUE4QjtBQUNqRSxRQUFNLFFBQVEsUUFBUSxNQUFNLFVBQVU7QUFDdEMsUUFBTSxTQUFTLE1BQU0sQ0FBQztBQUN0QixNQUFJLENBQUMsUUFBUTtBQUNYLFVBQU0sSUFBSSxNQUFNLGtCQUFrQjtBQUFBLEVBQ3BDO0FBRUEsUUFBTSxNQUFNLEtBQUssTUFBTTtBQUN2QixRQUFNLFlBQVksSUFBSTtBQUV0QixRQUFNLGFBQWEsSUFBSSxXQUFXLFNBQVM7QUFFM0MsV0FBUyxJQUFJLEdBQUcsSUFBSSxXQUFXLEtBQUs7QUFDbEMsZUFBVyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUM7QUFBQSxFQUNsQztBQUNBLFNBQU8sV0FBVztBQUNwQjtBQVFPLFNBQVMsWUFBWSxNQUFxQjtBQUMvQyxTQUFPLEtBQUssS0FBSyxXQUFXLFFBQVE7QUFDdEM7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -23,13 +23,11 @@ if you want to view the source, please visit the github repository of this plugi
23
23
 
24
24
  import debug from "debug";
25
25
  import { CustomStackTraceError } from "./error.mjs";
26
- import { LIBRARY_NAME } from "./library.mjs";
27
- import { getObsidianDevUtilsState } from "./obsidian-dev-utils-state.mjs";
28
- import { isInObsidian } from "./obsidian/is-in-obsidian.mjs";
29
26
  import {
30
- getPluginId,
31
- NO_PLUGIN_ID_INITIALIZED
32
- } from "./obsidian/plugin/plugin-id.mjs";
27
+ Library,
28
+ LIBRARY_NAME
29
+ } from "./library.mjs";
30
+ import { getObsidianDevUtilsState } from "./obsidian-dev-utils-state.mjs";
33
31
  import { ensureNonNullable } from "./type-guards.mjs";
34
32
  const NAMESPACE_SEPARATOR = ",";
35
33
  const NEGATED_NAMESPACE_PREFIX = "-";
@@ -63,9 +61,7 @@ function getDebugger(namespace, framesToSkip = 0) {
63
61
  return debuggerEx;
64
62
  }
65
63
  function getLibDebugger(namespace) {
66
- const pluginId = getPluginId();
67
- const prefix = pluginId === NO_PLUGIN_ID_INITIALIZED ? "" : `${pluginId}:`;
68
- return getDebugger(`${prefix}${LIBRARY_NAME}:${namespace}`);
64
+ return getDebugger(`${Library.debugPrefixNamespace}${LIBRARY_NAME}:${namespace}`);
69
65
  }
70
66
  function printWithStackTrace(params) {
71
67
  const {
@@ -74,7 +70,7 @@ function printWithStackTrace(params) {
74
70
  message,
75
71
  stackTrace
76
72
  } = params;
77
- if (!isInObsidian()) {
73
+ if (!Library.shouldPrintStackTrace) {
78
74
  debuggerInstance(message, ...args);
79
75
  return;
80
76
  }
@@ -122,9 +118,6 @@ function getNamespaces() {
122
118
  return toArray(getSharedDebugLibInstance().load() ?? "");
123
119
  }
124
120
  function getSharedDebugLibInstance() {
125
- if (!isInObsidian()) {
126
- return debug;
127
- }
128
121
  return getObsidianDevUtilsState("debug", debug).value;
129
122
  }
130
123
  function logWithCaller(params) {
@@ -137,7 +130,7 @@ function logWithCaller(params) {
137
130
  if (!getSharedDebugLibInstance().enabled(namespace)) {
138
131
  return;
139
132
  }
140
- if (!isInObsidian()) {
133
+ if (!Library.shouldPrintStackTrace) {
141
134
  console.debug(message, ...args);
142
135
  return;
143
136
  }
@@ -167,4 +160,4 @@ export {
167
160
  printWithStackTrace,
168
161
  showInitialDebugMessage
169
162
  };
170
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlYnVnLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7IEN1c3RvbVN0YWNrVHJhY2VFcnJvciB9IGZyb20gJy4vZXJyb3IudHMnO1xuaW1wb3J0IHsgTElCUkFSWV9OQU1FIH0gZnJvbSAnLi9saWJyYXJ5LnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSB9IGZyb20gJy4vb2JzaWRpYW4tZGV2LXV0aWxzLXN0YXRlLnRzJztcbmltcG9ydCB7IGlzSW5PYnNpZGlhbiB9IGZyb20gJy4vb2JzaWRpYW4vaXMtaW4tb2JzaWRpYW4udHMnO1xuaW1wb3J0IHtcbiAgZ2V0UGx1Z2luSWQsXG4gIE5PX1BMVUdJTl9JRF9JTklUSUFMSVpFRFxufSBmcm9tICcuL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4taWQudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuL3R5cGUtZ3VhcmRzLnRzJztcblxuY29uc3QgTkFNRVNQQUNFX1NFUEFSQVRPUiA9ICcsJztcbmNvbnN0IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCA9ICctJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcHJpbnRXaXRoU3RhY2tUcmFjZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgYXJnczogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVidWdnZXIgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBkZWJ1Z2dlckluc3RhbmNlOiBEZWJ1Z2dlcjtcblxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0cmFjZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgbG9nV2l0aENhbGxlcn0uXG4gKi9cbmludGVyZmFjZSBMb2dXaXRoQ2FsbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBhcmd1bWVudHMgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBhcmdzOiB1bmtub3duW107XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJhbWVzVG9Ta2lwOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIGZvciB0aGUgZGVidWdnZXIgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBFbmFibGVzIHRoZSBkZWJ1Z2dlcnMgZm9yIHRoZSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5hYmxlTGlicmFyeURlYnVnZ2VycygpOiB2b2lkIHtcbiAgZW5hYmxlTmFtZXNwYWNlcyhbTElCUkFSWV9OQU1FLCBgJHtMSUJSQVJZX05BTUV9OipgXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnIGNvbnRyb2xsZXIuXG4gKlxuICogQHJldHVybnMgQSBkZWJ1ZyBjb250cm9sbGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVidWdDb250cm9sbGVyKCk6IERlYnVnQ29udHJvbGxlciB7XG4gIHJldHVybiB7XG4gICAgZGlzYWJsZTogZGlzYWJsZU5hbWVzcGFjZXMsXG4gICAgZW5hYmxlOiBlbmFibGVOYW1lc3BhY2VzLFxuICAgIGdldDogZ2V0TmFtZXNwYWNlcyxcbiAgICBzZXQ6IHNldE5hbWVzcGFjZXNcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZGVidWdnZXIgaW5zdGFuY2Ugd2l0aCBhIGxvZyBmdW5jdGlvbiB0aGF0IGluY2x1ZGVzIHRoZSBjYWxsZXIncyBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSBuYW1lc3BhY2UgLSBUaGUgbmFtZXNwYWNlIGZvciB0aGUgZGVidWdnZXIgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZnJhbWVzVG9Ta2lwIC0gVGhlIG51bWJlciBvZiBmcmFtZXMgdG8gc2tpcCBpbiB0aGUgc3RhY2sgdHJhY2UuXG4gKiBAcmV0dXJucyBBIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnZ2VyKG5hbWVzcGFjZTogc3RyaW5nLCBmcmFtZXNUb1NraXAgPSAwKTogRGVidWdnZXIge1xuICBjb25zdCBrZXkgPSBgJHtuYW1lc3BhY2V9OiR7U3RyaW5nKGZyYW1lc1RvU2tpcCl9YDtcbiAgY29uc3QgZGVidWdnZXJzTWFwID0gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKCdkZWJ1Z2dlcnMnLCBuZXcgTWFwPHN0cmluZywgRGVidWdnZXI+KCkpLnZhbHVlO1xuICBsZXQgZGVidWdnZXJFeCA9IGRlYnVnZ2Vyc01hcC5nZXQoa2V5KTtcbiAgaWYgKCFkZWJ1Z2dlckV4KSB7XG4gICAgZGVidWdnZXJFeCA9IGdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKShuYW1lc3BhY2UpO1xuICAgIGRlYnVnZ2VyRXgubG9nID0gKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCA9PiB7XG4gICAgICBsb2dXaXRoQ2FsbGVyKHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgZnJhbWVzVG9Ta2lwLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBuYW1lc3BhY2VcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWJ1Z2dlcnNNYXAuc2V0KGtleSwgZGVidWdnZXJFeCk7XG4gIH1cblxuICByZXR1cm4gZGVidWdnZXJFeDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZGVidWdnZXIgaW5zdGFuY2UgZm9yIHRoZSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBsaWJyYXJ5LlxuICpcbiAqIEBwYXJhbSBuYW1lc3BhY2UgLSBUaGUgbmFtZXNwYWNlIGZvciB0aGUgZGVidWdnZXIgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBBIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgYG9ic2lkaWFuLWRldi11dGlsc2AgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExpYkRlYnVnZ2VyKG5hbWVzcGFjZTogc3RyaW5nKTogRGVidWdnZXIge1xuICBjb25zdCBwbHVnaW5JZCA9IGdldFBsdWdpbklkKCk7XG4gIGNvbnN0IHByZWZpeCA9IHBsdWdpbklkID09PSBOT19QTFVHSU5fSURfSU5JVElBTElaRUQgPyAnJyA6IGAke3BsdWdpbklkfTpgO1xuICByZXR1cm4gZ2V0RGVidWdnZXIoYCR7cHJlZml4fSR7TElCUkFSWV9OQU1FfToke25hbWVzcGFjZX1gKTtcbn1cblxuLyoqXG4gKiBQcmludHMgYSBtZXNzYWdlIHdpdGggYSBzdGFjayB0cmFjZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHByaW50aW5nIHRoZSBtZXNzYWdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRXaXRoU3RhY2tUcmFjZShwYXJhbXM6IFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGFyZ3MsXG4gICAgZGVidWdnZXJJbnN0YW5jZSxcbiAgICBtZXNzYWdlLFxuICAgIHN0YWNrVHJhY2VcbiAgfSA9IHBhcmFtcztcbiAgaWYgKCFpc0luT2JzaWRpYW4oKSkge1xuICAgIGRlYnVnZ2VySW5zdGFuY2UobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi5hcmdzLCAnXFxuXFxuLS0tXFxuQ29udGV4dCBzdGFjayB0cmFjZTpcXG4nLCBtYWtlU3RhY2tUcmFjZUVycm9yKHN0YWNrVHJhY2UpKTtcbn1cblxuLyoqXG4gKiBTaG93cyBhbiBpbml0aWFsIGRlYnVnIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBJRC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dJbml0aWFsRGVidWdNZXNzYWdlKHBsdWdpbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgaXNFbmFibGVkID0gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQocGx1Z2luSWQpO1xuICBjb25zdCBzdGF0ZSA9IGlzRW5hYmxlZCA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCc7XG4gIGNvbnN0IGNoYW5nZUFjdGlvbiA9IGlzRW5hYmxlZCA/ICdkaXNhYmxlJyA6ICdlbmFibGUnO1xuICBjb25zdCBuYW1lc3BhY2VzID0gZ2V0TmFtZXNwYWNlcygpO1xuICBzZXROYW1lc3BhY2VzKHBsdWdpbklkKTtcbiAgZ2V0RGVidWdnZXIocGx1Z2luSWQpKFxuICAgIGBEZWJ1ZyBtZXNzYWdlcyBmb3IgcGx1Z2luICR7cGx1Z2luSWR9IGFyZSAke3N0YXRlfS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvYmxvYi9tYWluL2RvY3MvZGVidWdnaW5nLm1kIGhvdyB0byAke2NoYW5nZUFjdGlvbn0gdGhlbS5gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBpZiAoc2V0LmhhcyhuYW1lc3BhY2UpKSB7XG4gICAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHNldC5hZGQobmVnYXRlZE5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhBcnJheS5mcm9tKHNldCkpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmICghbmFtZXNwYWNlLnN0YXJ0c1dpdGgoTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYKSkge1xuICAgICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICAgIGlmIChzZXQuaGFzKG5lZ2F0ZWROYW1lc3BhY2UpKSB7XG4gICAgICAgIHNldC5kZWxldGUobmVnYXRlZE5hbWVzcGFjZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHNldC5hZGQobmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKEFycmF5LmZyb20oc2V0KSk7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICBpZiAoIWlzSW5PYnNpZGlhbigpKSB7XG4gICAgcmV0dXJuIGRlYnVnO1xuICB9XG4gIHJldHVybiBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUoJ2RlYnVnJywgZGVidWcpLnZhbHVlO1xufVxuXG5mdW5jdGlvbiBsb2dXaXRoQ2FsbGVyKHBhcmFtczogTG9nV2l0aENhbGxlclBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgYXJncyxcbiAgICBmcmFtZXNUb1NraXAsXG4gICAgbWVzc2FnZSxcbiAgICBuYW1lc3BhY2VcbiAgfSA9IHBhcmFtcztcbiAgaWYgKCFnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChuYW1lc3BhY2UpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFpc0luT2JzaWRpYW4oKSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlIC0tIFZhbGlkIHVzYWdlLlxuICAgIGNvbnNvbGUuZGVidWcobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgY2FsbGVyIGxpbmUgaW5kZXggaXMgNCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IEVycm9yXG4gICAqIDE6ICAgICBhdCBsb2dXaXRoQ2FsbGVyICg/Oj86PylcbiAgICogMjogICAgIGF0IGRlYnVnSW5zdGFuY2UubG9nICg/Oj86PylcbiAgICogMzogICAgIGF0IGRlYnVnICg/Oj86PylcbiAgICogNDogICAgIGF0IGZ1bmN0aW9uTmFtZSAocGF0aC90by9jYWxsZXIuanM6Pzo/KVxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0xJTkVfSU5ERVggPSA0O1xuXG4gIGNvbnN0IHN0YWNrTGluZXMgPSBlbnN1cmVOb25OdWxsYWJsZShuZXcgRXJyb3IoKS5zdGFjaykuc3BsaXQoJ1xcbicpO1xuICBzdGFja0xpbmVzLnNwbGljZSgwLCBDQUxMRVJfTElORV9JTkRFWCArIGZyYW1lc1RvU2tpcCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgLS0gVmFsaWQgdXNhZ2UuXG4gIGNvbnNvbGUuZGVidWcobWVzc2FnZSwgLi4uYXJncywgJ1xcblxcbi0tLVxcbkxvZ2dlciBzdGFjayB0cmFjZTpcXG4nLCBtYWtlU3RhY2tUcmFjZUVycm9yKHN0YWNrTGluZXMuam9pbignXFxuJykpKTtcbn1cblxuZnVuY3Rpb24gbWFrZVN0YWNrVHJhY2VFcnJvcihzdGFja1RyYWNlOiBzdHJpbmcpOiBDdXN0b21TdGFja1RyYWNlRXJyb3Ige1xuICByZXR1cm4gbmV3IEN1c3RvbVN0YWNrVHJhY2VFcnJvcih7XG4gICAgY2F1c2U6IHVuZGVmaW5lZCxcbiAgICBtZXNzYWdlOiAnRGVidWcgbW9kZTogaW50ZW50aW9uYWwgcGxhY2Vob2xkZXIgZXJyb3IuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL2Jsb2IvbWFpbi9kb2NzL2RlYnVnZ2luZy5tZC4nLFxuICAgIHN0YWNrVHJhY2VcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbmFtZXNwYWNlcyB0byBlbmFibGUuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZXMgLSBUaGUgbmFtZXNwYWNlcyB0byBlbmFibGUuXG4gKi9cbmZ1bmN0aW9uIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZSh0b0FycmF5KG5hbWVzcGFjZXMpLmpvaW4oTkFNRVNQQUNFX1NFUEFSQVRPUikpO1xufVxuXG5mdW5jdGlvbiB0b0FycmF5KG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICByZXR1cm4gdHlwZW9mIG5hbWVzcGFjZXMgPT09ICdzdHJpbmcnID8gbmFtZXNwYWNlcy5zcGxpdChOQU1FU1BBQ0VfU0VQQVJBVE9SKS5maWx0ZXIoQm9vbGVhbikgOiBuYW1lc3BhY2VzLmZsYXRNYXAodG9BcnJheSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLE9BQU8sV0FBVztBQUlsQixTQUFTLDZCQUE2QjtBQUN0QyxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLGdDQUFnQztBQUN6QyxTQUFTLG9CQUFvQjtBQUM3QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMseUJBQXlCO0FBRWxDLE1BQU0sc0JBQXNCO0FBQzVCLE1BQU0sMkJBQTJCO0FBdUQxQixTQUFTLHlCQUErQjtBQUM3QyxtQkFBaUIsQ0FBQyxjQUFjLEdBQUcsWUFBWSxJQUFJLENBQUM7QUFDdEQ7QUFPTyxTQUFTLHFCQUFzQztBQUNwRCxTQUFPO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUixLQUFLO0FBQUEsSUFDTCxLQUFLO0FBQUEsRUFDUDtBQUNGO0FBU08sU0FBUyxZQUFZLFdBQW1CLGVBQWUsR0FBYTtBQUN6RSxRQUFNLE1BQU0sR0FBRyxTQUFTLElBQUksT0FBTyxZQUFZLENBQUM7QUFDaEQsUUFBTSxlQUFlLHlCQUF5QixhQUFhLG9CQUFJLElBQXNCLENBQUMsRUFBRTtBQUN4RixNQUFJLGFBQWEsYUFBYSxJQUFJLEdBQUc7QUFD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
163
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlYnVnLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7IEN1c3RvbVN0YWNrVHJhY2VFcnJvciB9IGZyb20gJy4vZXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgTGlicmFyeSxcbiAgTElCUkFSWV9OQU1FXG59IGZyb20gJy4vbGlicmFyeS50cyc7XG5pbXBvcnQgeyBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWRldi11dGlscy1zdGF0ZS50cyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4vdHlwZS1ndWFyZHMudHMnO1xuXG5jb25zdCBOQU1FU1BBQ0VfU0VQQVJBVE9SID0gJywnO1xuY29uc3QgTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYID0gJy0nO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwcmludFdpdGhTdGFja1RyYWNlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmludFdpdGhTdGFja1RyYWNlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBhcmd1bWVudHMgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBhcmdzOiB1bmtub3duW107XG5cbiAgLyoqXG4gICAqIFRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnZ2VySW5zdGFuY2U6IERlYnVnZ2VyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YWNrIHRyYWNlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUcmFjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBsb2dXaXRoQ2FsbGVyfS5cbiAqL1xuaW50ZXJmYWNlIExvZ1dpdGhDYWxsZXJQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IGFyZ3M6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBmcmFtZXMgdG8gc2tpcCBpbiB0aGUgc3RhY2sgdHJhY2UuXG4gICAqL1xuICByZWFkb25seSBmcmFtZXNUb1NraXA6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVuYWJsZXMgdGhlIGRlYnVnZ2VycyBmb3IgdGhlIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMSUJSQVJZX05BTUUsIGAke0xJQlJBUllfTkFNRX06KmBdKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZGVidWcgY29udHJvbGxlci5cbiAqXG4gKiBAcmV0dXJucyBBIGRlYnVnIGNvbnRyb2xsZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z0NvbnRyb2xsZXIoKTogRGVidWdDb250cm9sbGVyIHtcbiAgcmV0dXJuIHtcbiAgICBkaXNhYmxlOiBkaXNhYmxlTmFtZXNwYWNlcyxcbiAgICBlbmFibGU6IGVuYWJsZU5hbWVzcGFjZXMsXG4gICAgZ2V0OiBnZXROYW1lc3BhY2VzLFxuICAgIHNldDogc2V0TmFtZXNwYWNlc1xuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZSAtIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmcmFtZXNUb1NraXAgLSBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAqIEByZXR1cm5zIEEgZGVidWdnZXIgaW5zdGFuY2Ugd2l0aCBhIGxvZyBmdW5jdGlvbiB0aGF0IGluY2x1ZGVzIHRoZSBjYWxsZXIncyBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcsIGZyYW1lc1RvU2tpcCA9IDApOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGtleSA9IGAke25hbWVzcGFjZX06JHtTdHJpbmcoZnJhbWVzVG9Ta2lwKX1gO1xuICBjb25zdCBkZWJ1Z2dlcnNNYXAgPSBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUoJ2RlYnVnZ2VycycsIG5ldyBNYXA8c3RyaW5nLCBEZWJ1Z2dlcj4oKSkudmFsdWU7XG4gIGxldCBkZWJ1Z2dlckV4ID0gZGVidWdnZXJzTWFwLmdldChrZXkpO1xuICBpZiAoIWRlYnVnZ2VyRXgpIHtcbiAgICBkZWJ1Z2dlckV4ID0gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpKG5hbWVzcGFjZSk7XG4gICAgZGVidWdnZXJFeC5sb2cgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkID0+IHtcbiAgICAgIGxvZ1dpdGhDYWxsZXIoe1xuICAgICAgICBhcmdzLFxuICAgICAgICBmcmFtZXNUb1NraXAsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIG5hbWVzcGFjZVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGRlYnVnZ2Vyc01hcC5zZXQoa2V5LCBkZWJ1Z2dlckV4KTtcbiAgfVxuXG4gIHJldHVybiBkZWJ1Z2dlckV4O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGxpYnJhcnkuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZSAtIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEgZGVidWdnZXIgaW5zdGFuY2UgZm9yIHRoZSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIHJldHVybiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7TElCUkFSWV9OQU1FfToke25hbWVzcGFjZX1gKTtcbn1cblxuLyoqXG4gKiBQcmludHMgYSBtZXNzYWdlIHdpdGggYSBzdGFjayB0cmFjZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHByaW50aW5nIHRoZSBtZXNzYWdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRXaXRoU3RhY2tUcmFjZShwYXJhbXM6IFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGFyZ3MsXG4gICAgZGVidWdnZXJJbnN0YW5jZSxcbiAgICBtZXNzYWdlLFxuICAgIHN0YWNrVHJhY2VcbiAgfSA9IHBhcmFtcztcbiAgaWYgKCFMaWJyYXJ5LnNob3VsZFByaW50U3RhY2tUcmFjZSkge1xuICAgIGRlYnVnZ2VySW5zdGFuY2UobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi5hcmdzLCAnXFxuXFxuLS0tXFxuQ29udGV4dCBzdGFjayB0cmFjZTpcXG4nLCBtYWtlU3RhY2tUcmFjZUVycm9yKHN0YWNrVHJhY2UpKTtcbn1cblxuLyoqXG4gKiBTaG93cyBhbiBpbml0aWFsIGRlYnVnIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBJRC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dJbml0aWFsRGVidWdNZXNzYWdlKHBsdWdpbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgaXNFbmFibGVkID0gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQocGx1Z2luSWQpO1xuICBjb25zdCBzdGF0ZSA9IGlzRW5hYmxlZCA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCc7XG4gIGNvbnN0IGNoYW5nZUFjdGlvbiA9IGlzRW5hYmxlZCA/ICdkaXNhYmxlJyA6ICdlbmFibGUnO1xuICBjb25zdCBuYW1lc3BhY2VzID0gZ2V0TmFtZXNwYWNlcygpO1xuICBzZXROYW1lc3BhY2VzKHBsdWdpbklkKTtcbiAgZ2V0RGVidWdnZXIocGx1Z2luSWQpKFxuICAgIGBEZWJ1ZyBtZXNzYWdlcyBmb3IgcGx1Z2luICR7cGx1Z2luSWR9IGFyZSAke3N0YXRlfS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvYmxvYi9tYWluL2RvY3MvZGVidWdnaW5nLm1kIGhvdyB0byAke2NoYW5nZUFjdGlvbn0gdGhlbS5gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBpZiAoc2V0LmhhcyhuYW1lc3BhY2UpKSB7XG4gICAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHNldC5hZGQobmVnYXRlZE5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhBcnJheS5mcm9tKHNldCkpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmICghbmFtZXNwYWNlLnN0YXJ0c1dpdGgoTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYKSkge1xuICAgICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICAgIGlmIChzZXQuaGFzKG5lZ2F0ZWROYW1lc3BhY2UpKSB7XG4gICAgICAgIHNldC5kZWxldGUobmVnYXRlZE5hbWVzcGFjZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHNldC5hZGQobmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKEFycmF5LmZyb20oc2V0KSk7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGFyZ3MsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGNhbGxlciBsaW5lIGluZGV4IGlzIDQgYmVjYXVzZSB0aGUgY2FsbCBzdGFjayBpcyBhcyBmb2xsb3dzOlxuICAgKlxuICAgKiAwOiBFcnJvclxuICAgKiAxOiAgICAgYXQgbG9nV2l0aENhbGxlciAoPzo/Oj8pXG4gICAqIDI6ICAgICBhdCBkZWJ1Z0luc3RhbmNlLmxvZyAoPzo/Oj8pXG4gICAqIDM6ICAgICBhdCBkZWJ1ZyAoPzo/Oj8pXG4gICAqIDQ6ICAgICBhdCBmdW5jdGlvbk5hbWUgKHBhdGgvdG8vY2FsbGVyLmpzOj86PylcbiAgICovXG4gIGNvbnN0IENBTExFUl9MSU5FX0lOREVYID0gNDtcblxuICBjb25zdCBzdGFja0xpbmVzID0gZW5zdXJlTm9uTnVsbGFibGUobmV3IEVycm9yKCkuc3RhY2spLnNwbGl0KCdcXG4nKTtcbiAgc3RhY2tMaW5lcy5zcGxpY2UoMCwgQ0FMTEVSX0xJTkVfSU5ERVggKyBmcmFtZXNUb1NraXApO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlIC0tIFZhbGlkIHVzYWdlLlxuICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLmFyZ3MsICdcXG5cXG4tLS1cXG5Mb2dnZXIgc3RhY2sgdHJhY2U6XFxuJywgbWFrZVN0YWNrVHJhY2VFcnJvcihzdGFja0xpbmVzLmpvaW4oJ1xcbicpKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogJ0RlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9ibG9iL21haW4vZG9jcy9kZWJ1Z2dpbmcubWQuJyxcbiAgICBzdGFja1RyYWNlXG4gIH0pO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIG5hbWVzcGFjZXMgdG8gZW5hYmxlLlxuICpcbiAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gVGhlIG5hbWVzcGFjZXMgdG8gZW5hYmxlLlxuICovXG5mdW5jdGlvbiBzZXROYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKS5lbmFibGUodG9BcnJheShuYW1lc3BhY2VzKS5qb2luKE5BTUVTUEFDRV9TRVBBUkFUT1IpKTtcbn1cblxuZnVuY3Rpb24gdG9BcnJheShuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHR5cGVvZiBuYW1lc3BhY2VzID09PSAnc3RyaW5nJyA/IG5hbWVzcGFjZXMuc3BsaXQoTkFNRVNQQUNFX1NFUEFSQVRPUikuZmlsdGVyKEJvb2xlYW4pIDogbmFtZXNwYWNlcy5mbGF0TWFwKHRvQXJyYXkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLFdBQVc7QUFJbEIsU0FBUyw2QkFBNkI7QUFDdEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGdDQUFnQztBQUN6QyxTQUFTLHlCQUF5QjtBQUVsQyxNQUFNLHNCQUFzQjtBQUM1QixNQUFNLDJCQUEyQjtBQXVEMUIsU0FBUyx5QkFBK0I7QUFDN0MsbUJBQWlCLENBQUMsY0FBYyxHQUFHLFlBQVksSUFBSSxDQUFDO0FBQ3REO0FBT08sU0FBUyxxQkFBc0M7QUFDcEQsU0FBTztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsS0FBSztBQUFBLElBQ0wsS0FBSztBQUFBLEVBQ1A7QUFDRjtBQVNPLFNBQVMsWUFBWSxXQUFtQixlQUFlLEdBQWE7QUFDekUsUUFBTSxNQUFNLEdBQUcsU0FBUyxJQUFJLE9BQU8sWUFBWSxDQUFDO0FBQ2hELFFBQU0sZUFBZSx5QkFBeUIsYUFBYSxvQkFBSSxJQUFzQixDQUFDLEVBQUU7QUFDeEYsTUFBSSxhQUFhLGFBQWEsSUFBSSxHQUFHO0FBQ3JDLE1BQUksQ0FBQyxZQUFZO0FBQ2YsaUJBQWEsMEJBQTBCLEVBQUUsU0FBUztBQUNsRCxlQUFXLE1BQU0sQ0FBQyxZQUFvQixTQUEwQjtBQUM5RCxvQkFBYztBQUFBLFFBQ1o7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBRUEsaUJBQWEsSUFBSSxLQUFLLFVBQVU7QUFBQSxFQUNsQztBQUVBLFNBQU87QUFDVDtBQVFPLFNBQVMsZUFBZSxXQUE2QjtBQUMxRCxTQUFPLFlBQVksR0FBRyxRQUFRLG9CQUFvQixHQUFHLFlBQVksSUFBSSxTQUFTLEVBQUU7QUFD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
@@ -0,0 +1,19 @@
1
+ /// <reference path="./library.d.mts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Values substituted into the built library during release.
6
+ *
7
+ * The `$(...)` placeholders below are inert source text; the release step (`scripts/version.ts`)
8
+ * rewrites them in the compiled `generated-during-build.{cjs,mjs}` output with the real library
9
+ * version and bundled styles. They carry no Obsidian import or API, so this module stays
10
+ * Obsidian-runtime-agnostic.
11
+ */
12
+ /**
13
+ * A version of the `obsidian-dev-utils` library.
14
+ */
15
+ export declare const LIBRARY_VERSION = "$(LIBRARY_VERSION)";
16
+ /**
17
+ * A styles of the `obsidian-dev-utils` library.
18
+ */
19
+ export declare const LIBRARY_STYLES = "$(LIBRARY_STYLES)";