@mnaoumov/obsidian-lib 0.0.0 → 1.0.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 (1044) hide show
  1. package/@types/dataview/api/data-array/package.json +4 -0
  2. package/@types/dataview/api/extensions/package.json +4 -0
  3. package/@types/dataview/api/inline-api/package.json +4 -0
  4. package/@types/dataview/api/plugin-api/package.json +4 -0
  5. package/@types/dataview/api/result/package.json +4 -0
  6. package/@types/dataview/data-import/common/package.json +4 -0
  7. package/@types/dataview/data-import/csv/package.json +4 -0
  8. package/@types/dataview/data-import/inline-field/package.json +4 -0
  9. package/@types/dataview/data-import/markdown-file/package.json +4 -0
  10. package/@types/dataview/data-import/persister/package.json +4 -0
  11. package/@types/dataview/data-import/web-worker/import-entry/package.json +4 -0
  12. package/@types/dataview/data-import/web-worker/import-impl/package.json +4 -0
  13. package/@types/dataview/data-import/web-worker/import-manager/package.json +4 -0
  14. package/@types/dataview/data-index/index/package.json +4 -0
  15. package/@types/dataview/data-index/package.json +4 -0
  16. package/@types/dataview/data-index/resolver/package.json +4 -0
  17. package/@types/dataview/data-index/source/package.json +4 -0
  18. package/@types/dataview/data-model/markdown/package.json +4 -0
  19. package/@types/dataview/data-model/serialized/markdown/package.json +4 -0
  20. package/@types/dataview/data-model/transferable/package.json +4 -0
  21. package/@types/dataview/data-model/value/package.json +4 -0
  22. package/@types/dataview/expression/binaryop/package.json +4 -0
  23. package/@types/dataview/expression/context/package.json +4 -0
  24. package/@types/dataview/expression/field/package.json +4 -0
  25. package/@types/dataview/expression/functions/package.json +4 -0
  26. package/@types/dataview/expression/parse/package.json +4 -0
  27. package/@types/dataview/index/package.json +4 -0
  28. package/@types/dataview/main/package.json +4 -0
  29. package/@types/dataview/package.json +4 -0
  30. package/@types/dataview/query/engine/package.json +4 -0
  31. package/@types/dataview/query/parse/package.json +4 -0
  32. package/@types/dataview/query/query/package.json +4 -0
  33. package/@types/dataview/settings/package.json +4 -0
  34. package/@types/dataview/typings/obsidian-ex/package.json +4 -0
  35. package/@types/dataview/typings/workers/package.json +4 -0
  36. package/@types/dataview/ui/export/markdown/package.json +4 -0
  37. package/@types/dataview/ui/lp-render/package.json +4 -0
  38. package/@types/dataview/ui/markdown/package.json +4 -0
  39. package/@types/dataview/ui/refreshable-view/package.json +4 -0
  40. package/@types/dataview/ui/render/package.json +4 -0
  41. package/@types/dataview/ui/views/calendar-view/package.json +4 -0
  42. package/@types/dataview/ui/views/inline-field-live-preview/package.json +4 -0
  43. package/@types/dataview/ui/views/inline-view/package.json +4 -0
  44. package/@types/dataview/ui/views/js-view/package.json +4 -0
  45. package/@types/dataview/ui/views/list-view/package.json +4 -0
  46. package/@types/dataview/ui/views/table-view/package.json +4 -0
  47. package/@types/dataview/ui/views/task-view/package.json +4 -0
  48. package/@types/dataview/util/hash/package.json +4 -0
  49. package/@types/dataview/util/locale/package.json +4 -0
  50. package/@types/dataview/util/media/package.json +4 -0
  51. package/@types/dataview/util/normalize/package.json +4 -0
  52. package/@types/i18next/package.json +4 -0
  53. package/@types/obsidian-integration-testing/package.json +4 -0
  54. package/@types/original-fs/package.json +4 -0
  55. package/LICENSE +21 -0
  56. package/README.md +15 -1
  57. package/codemirror/index/package.json +6 -0
  58. package/codemirror/package.json +6 -0
  59. package/codemirror/state-field-spec/package.json +6 -0
  60. package/command-handlers/abstract-file-command-handler/package.json +6 -0
  61. package/command-handlers/command-handler/package.json +6 -0
  62. package/command-handlers/command-handler-component/package.json +6 -0
  63. package/command-handlers/editor-command-handler/package.json +6 -0
  64. package/command-handlers/file-command-handler/package.json +6 -0
  65. package/command-handlers/folder-command-handler/package.json +6 -0
  66. package/command-handlers/global-command-handler/package.json +6 -0
  67. package/command-handlers/index/package.json +6 -0
  68. package/command-handlers/open-demo-vault-command-handler/package.json +6 -0
  69. package/command-handlers/open-settings-command-handler/package.json +6 -0
  70. package/command-handlers/package.json +6 -0
  71. package/command-handlers/unlock-active-note-command-handler/package.json +6 -0
  72. package/components/abort-signal-component/package.json +6 -0
  73. package/components/all-windows-event-component/package.json +6 -0
  74. package/components/async-error-handler-component/package.json +6 -0
  75. package/components/async-events-component/package.json +6 -0
  76. package/components/case-insensitive-file-index-component/package.json +6 -0
  77. package/components/component-ex/package.json +6 -0
  78. package/components/console-debug-component/package.json +6 -0
  79. package/components/core-plugin-toggle-component/package.json +6 -0
  80. package/components/disposable-component/package.json +6 -0
  81. package/components/embed-extensions-component/package.json +6 -0
  82. package/components/generate-markdown-link-default-params-component/package.json +6 -0
  83. package/components/index/package.json +6 -0
  84. package/components/layout-ready-component/package.json +6 -0
  85. package/components/menu-event-registrar-component/package.json +6 -0
  86. package/components/monkey-around-component/package.json +6 -0
  87. package/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
  88. package/components/package.json +6 -0
  89. package/components/plugin-context-component/package.json +6 -0
  90. package/components/plugin-gate-component/package.json +6 -0
  91. package/components/plugin-notice-component/package.json +6 -0
  92. package/components/plugin-settings-component/package.json +6 -0
  93. package/components/plugin-settings-tab-component/package.json +6 -0
  94. package/components/plugin-suggestion-component/package.json +6 -0
  95. package/components/pointer-position-component/package.json +6 -0
  96. package/components/registry-component/package.json +6 -0
  97. package/components/release-notes-component/package.json +6 -0
  98. package/components/rename-delete-handler-component/package.json +6 -0
  99. package/components/rmdir-guard-component/package.json +6 -0
  100. package/components/settings-migration-component/package.json +6 -0
  101. package/components/syntax-highlighting-component/package.json +6 -0
  102. package/components/templates-language-component/package.json +6 -0
  103. package/constructors/get-dom-events-handlers-constructor/package.json +6 -0
  104. package/constructors/index/package.json +6 -0
  105. package/constructors/package.json +6 -0
  106. package/dist/lib/cjs/@types/dataview/api/data-array.d.cts +137 -0
  107. package/dist/lib/cjs/@types/dataview/api/extensions.d.cts +16 -0
  108. package/dist/lib/cjs/@types/dataview/api/inline-api.d.cts +187 -0
  109. package/dist/lib/cjs/@types/dataview/api/plugin-api.d.cts +210 -0
  110. package/dist/lib/cjs/@types/dataview/api/result.d.cts +39 -0
  111. package/dist/lib/cjs/@types/dataview/data-import/common.d.cts +4 -0
  112. package/dist/lib/cjs/@types/dataview/data-import/csv.d.cts +4 -0
  113. package/dist/lib/cjs/@types/dataview/data-import/inline-field.d.cts +43 -0
  114. package/dist/lib/cjs/@types/dataview/data-import/markdown-file.d.cts +53 -0
  115. package/dist/lib/cjs/@types/dataview/data-import/persister.d.cts +33 -0
  116. package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-entry.d.cts +2 -0
  117. package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-impl.d.cts +7 -0
  118. package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-manager.d.cts +38 -0
  119. package/dist/lib/cjs/@types/dataview/data-index/index.d.cts +187 -0
  120. package/dist/lib/cjs/@types/dataview/data-index/resolver.d.cts +24 -0
  121. package/dist/lib/cjs/@types/dataview/data-index/source.d.cts +72 -0
  122. package/dist/lib/cjs/@types/dataview/data-model/markdown.d.cts +116 -0
  123. package/dist/lib/cjs/@types/dataview/data-model/serialized/markdown.d.cts +107 -0
  124. package/dist/lib/cjs/@types/dataview/data-model/transferable.d.cts +8 -0
  125. package/dist/lib/cjs/@types/dataview/data-model/value.d.cts +176 -0
  126. package/dist/lib/cjs/@types/dataview/expression/binaryop.d.cts +44 -0
  127. package/dist/lib/cjs/@types/dataview/expression/context.d.cts +50 -0
  128. package/dist/lib/cjs/@types/dataview/expression/field.d.cts +83 -0
  129. package/dist/lib/cjs/@types/dataview/expression/functions.d.cts +150 -0
  130. package/dist/lib/cjs/@types/dataview/expression/parse.d.cts +164 -0
  131. package/dist/lib/cjs/@types/dataview/index.d.cts +56 -0
  132. package/dist/lib/cjs/@types/dataview/main.d.cts +53 -0
  133. package/dist/lib/cjs/@types/dataview/query/engine.d.cts +104 -0
  134. package/dist/lib/cjs/@types/dataview/query/parse.d.cts +45 -0
  135. package/dist/lib/cjs/@types/dataview/query/query.d.cts +96 -0
  136. package/dist/lib/cjs/@types/dataview/settings.d.cts +61 -0
  137. package/dist/lib/cjs/@types/dataview/typings/obsidian-ex.d.cts +29 -0
  138. package/dist/lib/cjs/@types/dataview/typings/workers.d.cts +5 -0
  139. package/dist/lib/cjs/@types/dataview/ui/export/markdown.d.cts +16 -0
  140. package/dist/lib/cjs/@types/dataview/ui/lp-render.d.cts +38 -0
  141. package/dist/lib/cjs/@types/dataview/ui/markdown.d.cts +87 -0
  142. package/dist/lib/cjs/@types/dataview/ui/refreshable-view.d.cts +19 -0
  143. package/dist/lib/cjs/@types/dataview/ui/render.d.cts +34 -0
  144. package/dist/lib/cjs/@types/dataview/ui/views/calendar-view.d.cts +18 -0
  145. package/dist/lib/cjs/@types/dataview/ui/views/inline-field-live-preview.d.cts +43 -0
  146. package/dist/lib/cjs/@types/dataview/ui/views/inline-view.d.cts +29 -0
  147. package/dist/lib/cjs/@types/dataview/ui/views/js-view.d.cts +24 -0
  148. package/dist/lib/cjs/@types/dataview/ui/views/list-view.d.cts +26 -0
  149. package/dist/lib/cjs/@types/dataview/ui/views/table-view.d.cts +29 -0
  150. package/dist/lib/cjs/@types/dataview/ui/views/task-view.d.cts +52 -0
  151. package/dist/lib/cjs/@types/dataview/util/hash.d.cts +2 -0
  152. package/dist/lib/cjs/@types/dataview/util/locale.d.cts +3 -0
  153. package/dist/lib/cjs/@types/dataview/util/media.d.cts +7 -0
  154. package/dist/lib/cjs/@types/dataview/util/normalize.d.cts +45 -0
  155. package/dist/lib/cjs/@types/i18next.d.cts +14 -0
  156. package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +29 -0
  157. package/dist/lib/cjs/@types/original-fs.d.cts +15 -0
  158. package/dist/lib/cjs/__merged.cjs +1656 -0
  159. package/dist/lib/cjs/__merged.d.cts +205 -0
  160. package/dist/lib/cjs/active-file-provider.cjs +161 -0
  161. package/dist/lib/cjs/active-file-provider.d.cts +36 -0
  162. package/dist/lib/cjs/app.cjs +153 -0
  163. package/dist/lib/cjs/app.d.cts +17 -0
  164. package/dist/lib/cjs/async-with-notice.cjs +235 -0
  165. package/dist/lib/cjs/async-with-notice.d.cts +113 -0
  166. package/dist/lib/cjs/attachment-path.cjs +379 -0
  167. package/dist/lib/cjs/attachment-path.d.cts +341 -0
  168. package/dist/lib/cjs/attachment-unit-folder.cjs +168 -0
  169. package/dist/lib/cjs/attachment-unit-folder.d.cts +103 -0
  170. package/dist/lib/cjs/backlink-index.cjs +249 -0
  171. package/dist/lib/cjs/backlink-index.d.cts +51 -0
  172. package/dist/lib/cjs/backlink.cjs +217 -0
  173. package/dist/lib/cjs/backlink.d.cts +66 -0
  174. package/dist/lib/cjs/bases-view-registrar.cjs +162 -0
  175. package/dist/lib/cjs/bases-view-registrar.d.cts +52 -0
  176. package/dist/lib/cjs/callout.cjs +220 -0
  177. package/dist/lib/cjs/callout.d.cts +76 -0
  178. package/dist/lib/cjs/canvas.cjs +215 -0
  179. package/dist/lib/cjs/canvas.d.cts +28 -0
  180. package/dist/lib/cjs/case-insensitive-file-index.cjs +244 -0
  181. package/dist/lib/cjs/case-insensitive-file-index.d.cts +92 -0
  182. package/dist/lib/cjs/code-block-markdown-information.cjs +131 -0
  183. package/dist/lib/cjs/code-block-markdown-information.d.cts +48 -0
  184. package/dist/lib/cjs/code-block-reg-exp.cjs +145 -0
  185. package/dist/lib/cjs/code-block-reg-exp.d.cts +39 -0
  186. package/dist/lib/cjs/codemirror/index.cjs +153 -0
  187. package/dist/lib/cjs/codemirror/index.d.cts +2 -0
  188. package/dist/lib/cjs/codemirror/state-field-spec.cjs +131 -0
  189. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +72 -0
  190. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +416 -0
  191. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +274 -0
  192. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +278 -0
  193. package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +146 -0
  194. package/dist/lib/cjs/command-handlers/command-handler.cjs +200 -0
  195. package/dist/lib/cjs/command-handlers/command-handler.d.cts +107 -0
  196. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +348 -0
  197. package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +208 -0
  198. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +285 -0
  199. package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +143 -0
  200. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +293 -0
  201. package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +149 -0
  202. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +185 -0
  203. package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +40 -0
  204. package/dist/lib/cjs/command-handlers/index.cjs +180 -0
  205. package/dist/lib/cjs/command-handlers/index.d.cts +11 -0
  206. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +209 -0
  207. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +73 -0
  208. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +174 -0
  209. package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +44 -0
  210. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +187 -0
  211. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +54 -0
  212. package/dist/lib/cjs/command-registrar.cjs +169 -0
  213. package/dist/lib/cjs/command-registrar.d.cts +48 -0
  214. package/dist/lib/cjs/community-plugins.cjs +322 -0
  215. package/dist/lib/cjs/community-plugins.d.cts +270 -0
  216. package/dist/lib/cjs/components/abort-signal-component.cjs +172 -0
  217. package/dist/lib/cjs/components/abort-signal-component.d.cts +30 -0
  218. package/dist/lib/cjs/components/all-windows-event-component.cjs +214 -0
  219. package/dist/lib/cjs/components/all-windows-event-component.d.cts +84 -0
  220. package/dist/lib/cjs/components/async-error-handler-component.cjs +176 -0
  221. package/dist/lib/cjs/components/async-error-handler-component.d.cts +30 -0
  222. package/dist/lib/cjs/components/async-events-component.cjs +148 -0
  223. package/dist/lib/cjs/components/async-events-component.d.cts +15 -0
  224. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +186 -0
  225. package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +36 -0
  226. package/dist/lib/cjs/components/component-ex.cjs +504 -0
  227. package/dist/lib/cjs/components/component-ex.d.cts +229 -0
  228. package/dist/lib/cjs/components/console-debug-component.cjs +170 -0
  229. package/dist/lib/cjs/components/console-debug-component.d.cts +30 -0
  230. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +202 -0
  231. package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +102 -0
  232. package/dist/lib/cjs/components/disposable-component.cjs +154 -0
  233. package/dist/lib/cjs/components/disposable-component.d.cts +24 -0
  234. package/dist/lib/cjs/components/embed-extensions-component.cjs +174 -0
  235. package/dist/lib/cjs/components/embed-extensions-component.d.cts +38 -0
  236. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +170 -0
  237. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +42 -0
  238. package/dist/lib/cjs/components/index.cjs +237 -0
  239. package/dist/lib/cjs/components/index.d.cts +30 -0
  240. package/dist/lib/cjs/components/layout-ready-component.cjs +211 -0
  241. package/dist/lib/cjs/components/layout-ready-component.d.cts +48 -0
  242. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +196 -0
  243. package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +52 -0
  244. package/dist/lib/cjs/components/monkey-around-component.cjs +245 -0
  245. package/dist/lib/cjs/components/monkey-around-component.d.cts +241 -0
  246. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +321 -0
  247. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +150 -0
  248. package/dist/lib/cjs/components/plugin-context-component.cjs +180 -0
  249. package/dist/lib/cjs/components/plugin-context-component.d.cts +36 -0
  250. package/dist/lib/cjs/components/plugin-gate-component.cjs +548 -0
  251. package/dist/lib/cjs/components/plugin-gate-component.d.cts +332 -0
  252. package/dist/lib/cjs/components/plugin-notice-component.cjs +629 -0
  253. package/dist/lib/cjs/components/plugin-notice-component.d.cts +362 -0
  254. package/dist/lib/cjs/components/plugin-settings-component.cjs +644 -0
  255. package/dist/lib/cjs/components/plugin-settings-component.d.cts +362 -0
  256. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +170 -0
  257. package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +39 -0
  258. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +278 -0
  259. package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +162 -0
  260. package/dist/lib/cjs/components/pointer-position-component.cjs +166 -0
  261. package/dist/lib/cjs/components/pointer-position-component.d.cts +29 -0
  262. package/dist/lib/cjs/components/registry-component.cjs +187 -0
  263. package/dist/lib/cjs/components/registry-component.d.cts +37 -0
  264. package/dist/lib/cjs/components/release-notes-component.cjs +225 -0
  265. package/dist/lib/cjs/components/release-notes-component.d.cts +129 -0
  266. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +1275 -0
  267. package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +165 -0
  268. package/dist/lib/cjs/components/rmdir-guard-component.cjs +190 -0
  269. package/dist/lib/cjs/components/rmdir-guard-component.d.cts +76 -0
  270. package/dist/lib/cjs/components/settings-migration-component.cjs +222 -0
  271. package/dist/lib/cjs/components/settings-migration-component.d.cts +120 -0
  272. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +248 -0
  273. package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +149 -0
  274. package/dist/lib/cjs/components/templates-language-component.cjs +276 -0
  275. package/dist/lib/cjs/components/templates-language-component.d.cts +124 -0
  276. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +246 -0
  277. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +22 -0
  278. package/dist/lib/cjs/constructors/index.cjs +153 -0
  279. package/dist/lib/cjs/constructors/index.d.cts +2 -0
  280. package/dist/lib/cjs/css-class.cjs +208 -0
  281. package/dist/lib/cjs/css-class.d.cts +278 -0
  282. package/dist/lib/cjs/data-handler.cjs +170 -0
  283. package/dist/lib/cjs/data-handler.d.cts +49 -0
  284. package/dist/lib/cjs/dataview-link.cjs +160 -0
  285. package/dist/lib/cjs/dataview-link.d.cts +42 -0
  286. package/dist/lib/cjs/dataview.cjs +379 -0
  287. package/dist/lib/cjs/dataview.d.cts +249 -0
  288. package/dist/lib/cjs/debug.cjs +148 -0
  289. package/dist/lib/cjs/debug.d.cts +19 -0
  290. package/dist/lib/cjs/demo-vault-helper-settings.cjs +131 -0
  291. package/dist/lib/cjs/demo-vault-helper-settings.d.cts +29 -0
  292. package/dist/lib/cjs/demo-vault-helper.cjs +232 -0
  293. package/dist/lib/cjs/demo-vault-helper.d.cts +61 -0
  294. package/dist/lib/cjs/demo-vault-naming.cjs +157 -0
  295. package/dist/lib/cjs/demo-vault-naming.d.cts +54 -0
  296. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +348 -0
  297. package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +76 -0
  298. package/dist/lib/cjs/desktop-trusted-input.cjs +301 -0
  299. package/dist/lib/cjs/desktop-trusted-input.d.cts +288 -0
  300. package/dist/lib/cjs/editor-extension-registrar.cjs +162 -0
  301. package/dist/lib/cjs/editor-extension-registrar.d.cts +37 -0
  302. package/dist/lib/cjs/editor-suggest-registrar.cjs +162 -0
  303. package/dist/lib/cjs/editor-suggest-registrar.d.cts +36 -0
  304. package/dist/lib/cjs/editor.cjs +200 -0
  305. package/dist/lib/cjs/editor.d.cts +45 -0
  306. package/dist/lib/cjs/events.cjs +172 -0
  307. package/dist/lib/cjs/events.d.cts +98 -0
  308. package/dist/lib/cjs/extensions-registrar.cjs +162 -0
  309. package/dist/lib/cjs/extensions-registrar.d.cts +51 -0
  310. package/dist/lib/cjs/file-change.cjs +558 -0
  311. package/dist/lib/cjs/file-change.d.cts +156 -0
  312. package/dist/lib/cjs/file-explorer.cjs +157 -0
  313. package/dist/lib/cjs/file-explorer.d.cts +34 -0
  314. package/dist/lib/cjs/file-manager.cjs +251 -0
  315. package/dist/lib/cjs/file-manager.d.cts +123 -0
  316. package/dist/lib/cjs/file-system.cjs +571 -0
  317. package/dist/lib/cjs/file-system.d.cts +554 -0
  318. package/dist/lib/cjs/folder-note.cjs +261 -0
  319. package/dist/lib/cjs/folder-note.d.cts +166 -0
  320. package/dist/lib/cjs/frontmatter-formatting.cjs +448 -0
  321. package/dist/lib/cjs/frontmatter-formatting.d.cts +44 -0
  322. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +159 -0
  323. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +34 -0
  324. package/dist/lib/cjs/frontmatter.cjs +271 -0
  325. package/dist/lib/cjs/frontmatter.d.cts +145 -0
  326. package/dist/lib/cjs/generated-during-build.cjs +146 -0
  327. package/dist/lib/cjs/generated-during-build.d.cts +25 -0
  328. package/dist/lib/cjs/hover-link-source-registrar.cjs +162 -0
  329. package/dist/lib/cjs/hover-link-source-registrar.d.cts +52 -0
  330. package/dist/lib/cjs/html-element.cjs +183 -0
  331. package/dist/lib/cjs/html-element.d.cts +98 -0
  332. package/dist/lib/cjs/i18n/custom-type-options.cjs +132 -0
  333. package/dist/lib/cjs/i18n/custom-type-options.d.cts +38 -0
  334. package/dist/lib/cjs/i18n/default-translations.cjs +132 -0
  335. package/dist/lib/cjs/i18n/default-translations.d.cts +15 -0
  336. package/dist/lib/cjs/i18n/i18n.cjs +192 -0
  337. package/dist/lib/cjs/i18n/i18n.d.cts +38 -0
  338. package/dist/lib/cjs/i18n/index.cjs +162 -0
  339. package/dist/lib/cjs/i18n/index.d.cts +5 -0
  340. package/dist/lib/cjs/i18n/locales/en.cjs +224 -0
  341. package/dist/lib/cjs/i18n/locales/en.d.cts +91 -0
  342. package/dist/lib/cjs/i18n/locales/index.cjs +156 -0
  343. package/dist/lib/cjs/i18n/locales/index.d.cts +3 -0
  344. package/dist/lib/cjs/i18n/locales/translations-map.cjs +150 -0
  345. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +100 -0
  346. package/dist/lib/cjs/index.cjs +435 -0
  347. package/dist/lib/cjs/index.d.cts +96 -0
  348. package/dist/lib/cjs/is-in-obsidian.cjs +154 -0
  349. package/dist/lib/cjs/is-in-obsidian.d.cts +12 -0
  350. package/dist/lib/cjs/library-styles.cjs +173 -0
  351. package/dist/lib/cjs/library-styles.d.cts +56 -0
  352. package/dist/lib/cjs/library.cjs +181 -0
  353. package/dist/lib/cjs/library.d.cts +57 -0
  354. package/dist/lib/cjs/link-name.cjs +145 -0
  355. package/dist/lib/cjs/link-name.d.cts +23 -0
  356. package/dist/lib/cjs/link-update-progress.cjs +131 -0
  357. package/dist/lib/cjs/link-update-progress.d.cts +32 -0
  358. package/dist/lib/cjs/link.cjs +1053 -0
  359. package/dist/lib/cjs/link.d.cts +1369 -0
  360. package/dist/lib/cjs/logger.cjs +212 -0
  361. package/dist/lib/cjs/logger.d.cts +37 -0
  362. package/dist/lib/cjs/loop.cjs +243 -0
  363. package/dist/lib/cjs/loop.d.cts +104 -0
  364. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +166 -0
  365. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +62 -0
  366. package/dist/lib/cjs/markdown-code-block-processor.cjs +444 -0
  367. package/dist/lib/cjs/markdown-code-block-processor.d.cts +137 -0
  368. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +163 -0
  369. package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +59 -0
  370. package/dist/lib/cjs/markdown-view.cjs +151 -0
  371. package/dist/lib/cjs/markdown-view.d.cts +14 -0
  372. package/dist/lib/cjs/markdown.cjs +470 -0
  373. package/dist/lib/cjs/markdown.d.cts +226 -0
  374. package/dist/lib/cjs/menu-event-registrar.cjs +131 -0
  375. package/dist/lib/cjs/menu-event-registrar.d.cts +84 -0
  376. package/dist/lib/cjs/metadata-cache.cjs +544 -0
  377. package/dist/lib/cjs/metadata-cache.d.cts +359 -0
  378. package/dist/lib/cjs/mobile-trusted-input.cjs +185 -0
  379. package/dist/lib/cjs/mobile-trusted-input.d.cts +98 -0
  380. package/dist/lib/cjs/modals/alert.cjs +178 -0
  381. package/dist/lib/cjs/modals/alert.d.cts +35 -0
  382. package/dist/lib/cjs/modals/confirm.cjs +188 -0
  383. package/dist/lib/cjs/modals/confirm.d.cts +39 -0
  384. package/dist/lib/cjs/modals/index.cjs +177 -0
  385. package/dist/lib/cjs/modals/index.d.cts +10 -0
  386. package/dist/lib/cjs/modals/minimizable-modal.cjs +441 -0
  387. package/dist/lib/cjs/modals/minimizable-modal.d.cts +129 -0
  388. package/dist/lib/cjs/modals/modal-command-builder.cjs +458 -0
  389. package/dist/lib/cjs/modals/modal-command-builder.d.cts +285 -0
  390. package/dist/lib/cjs/modals/modal.cjs +176 -0
  391. package/dist/lib/cjs/modals/modal.d.cts +64 -0
  392. package/dist/lib/cjs/modals/prompt.cjs +256 -0
  393. package/dist/lib/cjs/modals/prompt.d.cts +83 -0
  394. package/dist/lib/cjs/modals/select-item.cjs +201 -0
  395. package/dist/lib/cjs/modals/select-item.d.cts +55 -0
  396. package/dist/lib/cjs/modals/select-option.cjs +189 -0
  397. package/dist/lib/cjs/modals/select-option.d.cts +65 -0
  398. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +144 -0
  399. package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +35 -0
  400. package/dist/lib/cjs/note-priority.cjs +234 -0
  401. package/dist/lib/cjs/note-priority.d.cts +154 -0
  402. package/dist/lib/cjs/notebook-navigator.cjs +163 -0
  403. package/dist/lib/cjs/notebook-navigator.d.cts +132 -0
  404. package/dist/lib/cjs/obsidian-dev-utils-state.cjs +175 -0
  405. package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +42 -0
  406. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +165 -0
  407. package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +55 -0
  408. package/dist/lib/cjs/obsidian-settings.cjs +182 -0
  409. package/dist/lib/cjs/obsidian-settings.d.cts +62 -0
  410. package/dist/lib/cjs/parse-link.cjs +538 -0
  411. package/dist/lib/cjs/parse-link.d.cts +288 -0
  412. package/dist/lib/cjs/path-settings.cjs +269 -0
  413. package/dist/lib/cjs/path-settings.d.cts +56 -0
  414. package/dist/lib/cjs/pdf.cjs +173 -0
  415. package/dist/lib/cjs/pdf.d.cts +26 -0
  416. package/dist/lib/cjs/plugin/index.cjs +174 -0
  417. package/dist/lib/cjs/plugin/index.d.cts +9 -0
  418. package/dist/lib/cjs/plugin/plugin-api.cjs +519 -0
  419. package/dist/lib/cjs/plugin/plugin-api.d.cts +413 -0
  420. package/dist/lib/cjs/plugin/plugin-context.cjs +191 -0
  421. package/dist/lib/cjs/plugin/plugin-context.d.cts +27 -0
  422. package/dist/lib/cjs/plugin/plugin-event-source.cjs +226 -0
  423. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +97 -0
  424. package/dist/lib/cjs/plugin/plugin-install-state.cjs +195 -0
  425. package/dist/lib/cjs/plugin/plugin-install-state.d.cts +113 -0
  426. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +151 -0
  427. package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +127 -0
  428. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +611 -0
  429. package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +368 -0
  430. package/dist/lib/cjs/plugin/plugin.cjs +706 -0
  431. package/dist/lib/cjs/plugin/plugin.d.cts +363 -0
  432. package/dist/lib/cjs/plugin/settings-migration-api.cjs +131 -0
  433. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +91 -0
  434. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +163 -0
  435. package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +64 -0
  436. package/dist/lib/cjs/popovers/field-popover.cjs +182 -0
  437. package/dist/lib/cjs/popovers/field-popover.d.cts +75 -0
  438. package/dist/lib/cjs/popovers/index.cjs +159 -0
  439. package/dist/lib/cjs/popovers/index.d.cts +4 -0
  440. package/dist/lib/cjs/popovers/popover-anchor.cjs +182 -0
  441. package/dist/lib/cjs/popovers/popover-anchor.d.cts +67 -0
  442. package/dist/lib/cjs/popovers/popover.cjs +229 -0
  443. package/dist/lib/cjs/popovers/popover.d.cts +78 -0
  444. package/dist/lib/cjs/property-entry.cjs +172 -0
  445. package/dist/lib/cjs/property-entry.d.cts +43 -0
  446. package/dist/lib/cjs/queue.cjs +212 -0
  447. package/dist/lib/cjs/queue.d.cts +93 -0
  448. package/dist/lib/cjs/react/app-context.cjs +151 -0
  449. package/dist/lib/cjs/react/app-context.d.cts +24 -0
  450. package/dist/lib/cjs/react/index.cjs +153 -0
  451. package/dist/lib/cjs/react/index.d.cts +2 -0
  452. package/dist/lib/cjs/reference.cjs +186 -0
  453. package/dist/lib/cjs/reference.d.cts +116 -0
  454. package/dist/lib/cjs/resource-lock.cjs +1096 -0
  455. package/dist/lib/cjs/resource-lock.d.cts +318 -0
  456. package/dist/lib/cjs/resource-url.cjs +156 -0
  457. package/dist/lib/cjs/resource-url.d.cts +31 -0
  458. package/dist/lib/cjs/ribbon-icon-registrar.cjs +163 -0
  459. package/dist/lib/cjs/ribbon-icon-registrar.d.cts +60 -0
  460. package/dist/lib/cjs/setting-components/checkbox-component.cjs +216 -0
  461. package/dist/lib/cjs/setting-components/checkbox-component.d.cts +69 -0
  462. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +378 -0
  463. package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +132 -0
  464. package/dist/lib/cjs/setting-components/date-component.cjs +180 -0
  465. package/dist/lib/cjs/setting-components/date-component.d.cts +38 -0
  466. package/dist/lib/cjs/setting-components/date-time-component.cjs +180 -0
  467. package/dist/lib/cjs/setting-components/date-time-component.d.cts +38 -0
  468. package/dist/lib/cjs/setting-components/email-component.cjs +191 -0
  469. package/dist/lib/cjs/setting-components/email-component.d.cts +49 -0
  470. package/dist/lib/cjs/setting-components/file-component.cjs +183 -0
  471. package/dist/lib/cjs/setting-components/file-component.d.cts +43 -0
  472. package/dist/lib/cjs/setting-components/index.cjs +228 -0
  473. package/dist/lib/cjs/setting-components/index.d.cts +27 -0
  474. package/dist/lib/cjs/setting-components/month-component.cjs +188 -0
  475. package/dist/lib/cjs/setting-components/month-component.d.cts +51 -0
  476. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +253 -0
  477. package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +92 -0
  478. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +177 -0
  479. package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +38 -0
  480. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +185 -0
  481. package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +43 -0
  482. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +272 -0
  483. package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +109 -0
  484. package/dist/lib/cjs/setting-components/number-component.cjs +201 -0
  485. package/dist/lib/cjs/setting-components/number-component.d.cts +56 -0
  486. package/dist/lib/cjs/setting-components/password-component.cjs +177 -0
  487. package/dist/lib/cjs/setting-components/password-component.d.cts +38 -0
  488. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +160 -0
  489. package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +13 -0
  490. package/dist/lib/cjs/setting-components/telephone-component.cjs +191 -0
  491. package/dist/lib/cjs/setting-components/telephone-component.d.cts +51 -0
  492. package/dist/lib/cjs/setting-components/text-based-component.cjs +170 -0
  493. package/dist/lib/cjs/setting-components/text-based-component.d.cts +38 -0
  494. package/dist/lib/cjs/setting-components/time-component.cjs +185 -0
  495. package/dist/lib/cjs/setting-components/time-component.d.cts +38 -0
  496. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +217 -0
  497. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +69 -0
  498. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +262 -0
  499. package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +97 -0
  500. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +264 -0
  501. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +99 -0
  502. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +175 -0
  503. package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +35 -0
  504. package/dist/lib/cjs/setting-components/typed-text-component.cjs +232 -0
  505. package/dist/lib/cjs/setting-components/typed-text-component.d.cts +100 -0
  506. package/dist/lib/cjs/setting-components/url-component.cjs +191 -0
  507. package/dist/lib/cjs/setting-components/url-component.d.cts +49 -0
  508. package/dist/lib/cjs/setting-components/validator-component.cjs +230 -0
  509. package/dist/lib/cjs/setting-components/validator-component.d.cts +23 -0
  510. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +131 -0
  511. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +20 -0
  512. package/dist/lib/cjs/setting-components/week-component.cjs +188 -0
  513. package/dist/lib/cjs/setting-components/week-component.d.cts +51 -0
  514. package/dist/lib/cjs/setting-ex.cjs +372 -0
  515. package/dist/lib/cjs/setting-ex.d.cts +198 -0
  516. package/dist/lib/cjs/setting-group-ex.cjs +165 -0
  517. package/dist/lib/cjs/setting-group-ex.d.cts +26 -0
  518. package/dist/lib/cjs/status-bar-item-registrar.cjs +162 -0
  519. package/dist/lib/cjs/status-bar-item-registrar.d.cts +36 -0
  520. package/dist/lib/cjs/templater.cjs +279 -0
  521. package/dist/lib/cjs/templater.d.cts +284 -0
  522. package/dist/lib/cjs/transformers/duration-transformer.cjs +182 -0
  523. package/dist/lib/cjs/transformers/duration-transformer.d.cts +39 -0
  524. package/dist/lib/cjs/transformers/index.cjs +153 -0
  525. package/dist/lib/cjs/transformers/index.d.cts +2 -0
  526. package/dist/lib/cjs/trusted-input.cjs +196 -0
  527. package/dist/lib/cjs/trusted-input.d.cts +131 -0
  528. package/dist/lib/cjs/validation.cjs +189 -0
  529. package/dist/lib/cjs/validation.d.cts +87 -0
  530. package/dist/lib/cjs/vault-delete.cjs +222 -0
  531. package/dist/lib/cjs/vault-delete.d.cts +82 -0
  532. package/dist/lib/cjs/vault-transaction.cjs +412 -0
  533. package/dist/lib/cjs/vault-transaction.d.cts +163 -0
  534. package/dist/lib/cjs/vault.cjs +701 -0
  535. package/dist/lib/cjs/vault.d.cts +506 -0
  536. package/dist/lib/cjs/view-registrar.cjs +162 -0
  537. package/dist/lib/cjs/view-registrar.d.cts +52 -0
  538. package/dist/lib/cjs/workspace.cjs +186 -0
  539. package/dist/lib/cjs/workspace.d.cts +81 -0
  540. package/dist/lib/esm/@types/dataview/api/data-array.d.mts +137 -0
  541. package/dist/lib/esm/@types/dataview/api/extensions.d.mts +16 -0
  542. package/dist/lib/esm/@types/dataview/api/inline-api.d.mts +187 -0
  543. package/dist/lib/esm/@types/dataview/api/plugin-api.d.mts +210 -0
  544. package/dist/lib/esm/@types/dataview/api/result.d.mts +39 -0
  545. package/dist/lib/esm/@types/dataview/data-import/common.d.mts +4 -0
  546. package/dist/lib/esm/@types/dataview/data-import/csv.d.mts +4 -0
  547. package/dist/lib/esm/@types/dataview/data-import/inline-field.d.mts +43 -0
  548. package/dist/lib/esm/@types/dataview/data-import/markdown-file.d.mts +53 -0
  549. package/dist/lib/esm/@types/dataview/data-import/persister.d.mts +33 -0
  550. package/dist/lib/esm/@types/dataview/data-import/web-worker/import-entry.d.mts +2 -0
  551. package/dist/lib/esm/@types/dataview/data-import/web-worker/import-impl.d.mts +7 -0
  552. package/dist/lib/esm/@types/dataview/data-import/web-worker/import-manager.d.mts +38 -0
  553. package/dist/lib/esm/@types/dataview/data-index/index.d.mts +187 -0
  554. package/dist/lib/esm/@types/dataview/data-index/resolver.d.mts +24 -0
  555. package/dist/lib/esm/@types/dataview/data-index/source.d.mts +72 -0
  556. package/dist/lib/esm/@types/dataview/data-model/markdown.d.mts +116 -0
  557. package/dist/lib/esm/@types/dataview/data-model/serialized/markdown.d.mts +107 -0
  558. package/dist/lib/esm/@types/dataview/data-model/transferable.d.mts +8 -0
  559. package/dist/lib/esm/@types/dataview/data-model/value.d.mts +176 -0
  560. package/dist/lib/esm/@types/dataview/expression/binaryop.d.mts +44 -0
  561. package/dist/lib/esm/@types/dataview/expression/context.d.mts +50 -0
  562. package/dist/lib/esm/@types/dataview/expression/field.d.mts +83 -0
  563. package/dist/lib/esm/@types/dataview/expression/functions.d.mts +150 -0
  564. package/dist/lib/esm/@types/dataview/expression/parse.d.mts +164 -0
  565. package/dist/lib/esm/@types/dataview/index.d.mts +56 -0
  566. package/dist/lib/esm/@types/dataview/main.d.mts +53 -0
  567. package/dist/lib/esm/@types/dataview/query/engine.d.mts +104 -0
  568. package/dist/lib/esm/@types/dataview/query/parse.d.mts +45 -0
  569. package/dist/lib/esm/@types/dataview/query/query.d.mts +96 -0
  570. package/dist/lib/esm/@types/dataview/settings.d.mts +61 -0
  571. package/dist/lib/esm/@types/dataview/typings/obsidian-ex.d.mts +29 -0
  572. package/dist/lib/esm/@types/dataview/typings/workers.d.mts +5 -0
  573. package/dist/lib/esm/@types/dataview/ui/export/markdown.d.mts +16 -0
  574. package/dist/lib/esm/@types/dataview/ui/lp-render.d.mts +38 -0
  575. package/dist/lib/esm/@types/dataview/ui/markdown.d.mts +87 -0
  576. package/dist/lib/esm/@types/dataview/ui/refreshable-view.d.mts +19 -0
  577. package/dist/lib/esm/@types/dataview/ui/render.d.mts +34 -0
  578. package/dist/lib/esm/@types/dataview/ui/views/calendar-view.d.mts +18 -0
  579. package/dist/lib/esm/@types/dataview/ui/views/inline-field-live-preview.d.mts +43 -0
  580. package/dist/lib/esm/@types/dataview/ui/views/inline-view.d.mts +29 -0
  581. package/dist/lib/esm/@types/dataview/ui/views/js-view.d.mts +24 -0
  582. package/dist/lib/esm/@types/dataview/ui/views/list-view.d.mts +26 -0
  583. package/dist/lib/esm/@types/dataview/ui/views/table-view.d.mts +29 -0
  584. package/dist/lib/esm/@types/dataview/ui/views/task-view.d.mts +52 -0
  585. package/dist/lib/esm/@types/dataview/util/hash.d.mts +2 -0
  586. package/dist/lib/esm/@types/dataview/util/locale.d.mts +3 -0
  587. package/dist/lib/esm/@types/dataview/util/media.d.mts +7 -0
  588. package/dist/lib/esm/@types/dataview/util/normalize.d.mts +45 -0
  589. package/dist/lib/esm/@types/i18next.d.mts +14 -0
  590. package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +29 -0
  591. package/dist/lib/esm/@types/original-fs.d.mts +15 -0
  592. package/dist/lib/esm/__merged.d.mts +205 -0
  593. package/dist/lib/esm/__merged.mjs +1524 -0
  594. package/dist/lib/esm/active-file-provider.d.mts +36 -0
  595. package/dist/lib/esm/active-file-provider.mjs +64 -0
  596. package/dist/lib/esm/app.d.mts +17 -0
  597. package/dist/lib/esm/app.mjs +56 -0
  598. package/dist/lib/esm/async-with-notice.d.mts +113 -0
  599. package/dist/lib/esm/async-with-notice.mjs +141 -0
  600. package/dist/lib/esm/attachment-path.d.mts +341 -0
  601. package/dist/lib/esm/attachment-path.mjs +294 -0
  602. package/dist/lib/esm/attachment-unit-folder.d.mts +103 -0
  603. package/dist/lib/esm/attachment-unit-folder.mjs +70 -0
  604. package/dist/lib/esm/backlink-index.d.mts +51 -0
  605. package/dist/lib/esm/backlink-index.mjs +152 -0
  606. package/dist/lib/esm/backlink.d.mts +66 -0
  607. package/dist/lib/esm/backlink.mjs +123 -0
  608. package/dist/lib/esm/bases-view-registrar.d.mts +52 -0
  609. package/dist/lib/esm/bases-view-registrar.mjs +65 -0
  610. package/dist/lib/esm/callout.d.mts +76 -0
  611. package/dist/lib/esm/callout.mjs +124 -0
  612. package/dist/lib/esm/canvas.d.mts +28 -0
  613. package/dist/lib/esm/canvas.mjs +121 -0
  614. package/dist/lib/esm/case-insensitive-file-index.d.mts +92 -0
  615. package/dist/lib/esm/case-insensitive-file-index.mjs +144 -0
  616. package/dist/lib/esm/code-block-markdown-information.d.mts +48 -0
  617. package/dist/lib/esm/code-block-markdown-information.mjs +42 -0
  618. package/dist/lib/esm/code-block-reg-exp.d.mts +39 -0
  619. package/dist/lib/esm/code-block-reg-exp.mjs +48 -0
  620. package/dist/lib/esm/codemirror/index.d.mts +2 -0
  621. package/dist/lib/esm/codemirror/index.mjs +46 -0
  622. package/dist/lib/esm/codemirror/state-field-spec.d.mts +72 -0
  623. package/dist/lib/esm/codemirror/state-field-spec.mjs +42 -0
  624. package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +274 -0
  625. package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +322 -0
  626. package/dist/lib/esm/command-handlers/command-handler-component.d.mts +146 -0
  627. package/dist/lib/esm/command-handlers/command-handler-component.mjs +185 -0
  628. package/dist/lib/esm/command-handlers/command-handler.d.mts +107 -0
  629. package/dist/lib/esm/command-handlers/command-handler.mjs +103 -0
  630. package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +208 -0
  631. package/dist/lib/esm/command-handlers/editor-command-handler.mjs +254 -0
  632. package/dist/lib/esm/command-handlers/file-command-handler.d.mts +143 -0
  633. package/dist/lib/esm/command-handlers/file-command-handler.mjs +192 -0
  634. package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +149 -0
  635. package/dist/lib/esm/command-handlers/folder-command-handler.mjs +200 -0
  636. package/dist/lib/esm/command-handlers/global-command-handler.d.mts +40 -0
  637. package/dist/lib/esm/command-handlers/global-command-handler.mjs +88 -0
  638. package/dist/lib/esm/command-handlers/index.d.mts +11 -0
  639. package/dist/lib/esm/command-handlers/index.mjs +64 -0
  640. package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +73 -0
  641. package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +102 -0
  642. package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +44 -0
  643. package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +77 -0
  644. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +54 -0
  645. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +90 -0
  646. package/dist/lib/esm/command-registrar.d.mts +48 -0
  647. package/dist/lib/esm/command-registrar.mjs +72 -0
  648. package/dist/lib/esm/community-plugins.d.mts +270 -0
  649. package/dist/lib/esm/community-plugins.mjs +214 -0
  650. package/dist/lib/esm/components/abort-signal-component.d.mts +30 -0
  651. package/dist/lib/esm/components/abort-signal-component.mjs +75 -0
  652. package/dist/lib/esm/components/all-windows-event-component.d.mts +84 -0
  653. package/dist/lib/esm/components/all-windows-event-component.mjs +117 -0
  654. package/dist/lib/esm/components/async-error-handler-component.d.mts +30 -0
  655. package/dist/lib/esm/components/async-error-handler-component.mjs +79 -0
  656. package/dist/lib/esm/components/async-events-component.d.mts +15 -0
  657. package/dist/lib/esm/components/async-events-component.mjs +51 -0
  658. package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +36 -0
  659. package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +93 -0
  660. package/dist/lib/esm/components/component-ex.d.mts +229 -0
  661. package/dist/lib/esm/components/component-ex.mjs +413 -0
  662. package/dist/lib/esm/components/console-debug-component.d.mts +30 -0
  663. package/dist/lib/esm/components/console-debug-component.mjs +73 -0
  664. package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +102 -0
  665. package/dist/lib/esm/components/core-plugin-toggle-component.mjs +105 -0
  666. package/dist/lib/esm/components/disposable-component.d.mts +24 -0
  667. package/dist/lib/esm/components/disposable-component.mjs +57 -0
  668. package/dist/lib/esm/components/embed-extensions-component.d.mts +38 -0
  669. package/dist/lib/esm/components/embed-extensions-component.mjs +77 -0
  670. package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +42 -0
  671. package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +73 -0
  672. package/dist/lib/esm/components/index.d.mts +30 -0
  673. package/dist/lib/esm/components/index.mjs +102 -0
  674. package/dist/lib/esm/components/layout-ready-component.d.mts +48 -0
  675. package/dist/lib/esm/components/layout-ready-component.mjs +113 -0
  676. package/dist/lib/esm/components/menu-event-registrar-component.d.mts +52 -0
  677. package/dist/lib/esm/components/menu-event-registrar-component.mjs +99 -0
  678. package/dist/lib/esm/components/monkey-around-component.d.mts +241 -0
  679. package/dist/lib/esm/components/monkey-around-component.mjs +146 -0
  680. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +150 -0
  681. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +227 -0
  682. package/dist/lib/esm/components/plugin-context-component.d.mts +36 -0
  683. package/dist/lib/esm/components/plugin-context-component.mjs +86 -0
  684. package/dist/lib/esm/components/plugin-gate-component.d.mts +332 -0
  685. package/dist/lib/esm/components/plugin-gate-component.mjs +464 -0
  686. package/dist/lib/esm/components/plugin-notice-component.d.mts +362 -0
  687. package/dist/lib/esm/components/plugin-notice-component.mjs +535 -0
  688. package/dist/lib/esm/components/plugin-settings-component.d.mts +362 -0
  689. package/dist/lib/esm/components/plugin-settings-component.mjs +554 -0
  690. package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +39 -0
  691. package/dist/lib/esm/components/plugin-settings-tab-component.mjs +73 -0
  692. package/dist/lib/esm/components/plugin-suggestion-component.d.mts +162 -0
  693. package/dist/lib/esm/components/plugin-suggestion-component.mjs +184 -0
  694. package/dist/lib/esm/components/pointer-position-component.d.mts +29 -0
  695. package/dist/lib/esm/components/pointer-position-component.mjs +69 -0
  696. package/dist/lib/esm/components/registry-component.d.mts +37 -0
  697. package/dist/lib/esm/components/registry-component.mjs +90 -0
  698. package/dist/lib/esm/components/release-notes-component.d.mts +129 -0
  699. package/dist/lib/esm/components/release-notes-component.mjs +128 -0
  700. package/dist/lib/esm/components/rename-delete-handler-component.d.mts +165 -0
  701. package/dist/lib/esm/components/rename-delete-handler-component.mjs +1230 -0
  702. package/dist/lib/esm/components/rmdir-guard-component.d.mts +76 -0
  703. package/dist/lib/esm/components/rmdir-guard-component.mjs +92 -0
  704. package/dist/lib/esm/components/settings-migration-component.d.mts +120 -0
  705. package/dist/lib/esm/components/settings-migration-component.mjs +125 -0
  706. package/dist/lib/esm/components/syntax-highlighting-component.d.mts +149 -0
  707. package/dist/lib/esm/components/syntax-highlighting-component.mjs +151 -0
  708. package/dist/lib/esm/components/templates-language-component.d.mts +124 -0
  709. package/dist/lib/esm/components/templates-language-component.mjs +179 -0
  710. package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +22 -0
  711. package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +149 -0
  712. package/dist/lib/esm/constructors/index.d.mts +2 -0
  713. package/dist/lib/esm/constructors/index.mjs +46 -0
  714. package/dist/lib/esm/css-class.d.mts +278 -0
  715. package/dist/lib/esm/css-class.mjs +111 -0
  716. package/dist/lib/esm/data-handler.d.mts +49 -0
  717. package/dist/lib/esm/data-handler.mjs +73 -0
  718. package/dist/lib/esm/dataview-link.d.mts +42 -0
  719. package/dist/lib/esm/dataview-link.mjs +66 -0
  720. package/dist/lib/esm/dataview.d.mts +249 -0
  721. package/dist/lib/esm/dataview.mjs +280 -0
  722. package/dist/lib/esm/debug.d.mts +19 -0
  723. package/dist/lib/esm/debug.mjs +51 -0
  724. package/dist/lib/esm/demo-vault-helper-settings.d.mts +29 -0
  725. package/dist/lib/esm/demo-vault-helper-settings.mjs +42 -0
  726. package/dist/lib/esm/demo-vault-helper.d.mts +61 -0
  727. package/dist/lib/esm/demo-vault-helper.mjs +142 -0
  728. package/dist/lib/esm/demo-vault-naming.d.mts +54 -0
  729. package/dist/lib/esm/demo-vault-naming.mjs +59 -0
  730. package/dist/lib/esm/desktop-demo-vault-opener.d.mts +76 -0
  731. package/dist/lib/esm/desktop-demo-vault-opener.mjs +266 -0
  732. package/dist/lib/esm/desktop-trusted-input.d.mts +288 -0
  733. package/dist/lib/esm/desktop-trusted-input.mjs +198 -0
  734. package/dist/lib/esm/editor-extension-registrar.d.mts +37 -0
  735. package/dist/lib/esm/editor-extension-registrar.mjs +65 -0
  736. package/dist/lib/esm/editor-suggest-registrar.d.mts +36 -0
  737. package/dist/lib/esm/editor-suggest-registrar.mjs +68 -0
  738. package/dist/lib/esm/editor.d.mts +45 -0
  739. package/dist/lib/esm/editor.mjs +107 -0
  740. package/dist/lib/esm/events.d.mts +98 -0
  741. package/dist/lib/esm/events.mjs +73 -0
  742. package/dist/lib/esm/extensions-registrar.d.mts +51 -0
  743. package/dist/lib/esm/extensions-registrar.mjs +65 -0
  744. package/dist/lib/esm/file-change.d.mts +156 -0
  745. package/dist/lib/esm/file-change.mjs +473 -0
  746. package/dist/lib/esm/file-explorer.d.mts +34 -0
  747. package/dist/lib/esm/file-explorer.mjs +60 -0
  748. package/dist/lib/esm/file-manager.d.mts +123 -0
  749. package/dist/lib/esm/file-manager.mjs +161 -0
  750. package/dist/lib/esm/file-system.d.mts +554 -0
  751. package/dist/lib/esm/file-system.mjs +458 -0
  752. package/dist/lib/esm/folder-note.d.mts +166 -0
  753. package/dist/lib/esm/folder-note.mjs +161 -0
  754. package/dist/lib/esm/frontmatter-formatting.d.mts +44 -0
  755. package/dist/lib/esm/frontmatter-formatting.mjs +368 -0
  756. package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +34 -0
  757. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +61 -0
  758. package/dist/lib/esm/frontmatter.d.mts +145 -0
  759. package/dist/lib/esm/frontmatter.mjs +174 -0
  760. package/dist/lib/esm/generated-during-build.d.mts +25 -0
  761. package/dist/lib/esm/generated-during-build.mjs +48 -0
  762. package/dist/lib/esm/hover-link-source-registrar.d.mts +52 -0
  763. package/dist/lib/esm/hover-link-source-registrar.mjs +65 -0
  764. package/dist/lib/esm/html-element.d.mts +98 -0
  765. package/dist/lib/esm/html-element.mjs +86 -0
  766. package/dist/lib/esm/i18n/custom-type-options.d.mts +38 -0
  767. package/dist/lib/esm/i18n/custom-type-options.mjs +43 -0
  768. package/dist/lib/esm/i18n/default-translations.d.mts +15 -0
  769. package/dist/lib/esm/i18n/default-translations.mjs +43 -0
  770. package/dist/lib/esm/i18n/i18n.d.mts +38 -0
  771. package/dist/lib/esm/i18n/i18n.mjs +89 -0
  772. package/dist/lib/esm/i18n/index.d.mts +5 -0
  773. package/dist/lib/esm/i18n/index.mjs +52 -0
  774. package/dist/lib/esm/i18n/locales/en.d.mts +91 -0
  775. package/dist/lib/esm/i18n/locales/en.mjs +127 -0
  776. package/dist/lib/esm/i18n/locales/index.d.mts +3 -0
  777. package/dist/lib/esm/i18n/locales/index.mjs +48 -0
  778. package/dist/lib/esm/i18n/locales/translations-map.d.mts +100 -0
  779. package/dist/lib/esm/i18n/locales/translations-map.mjs +52 -0
  780. package/dist/lib/esm/index.d.mts +96 -0
  781. package/dist/lib/esm/index.mjs +234 -0
  782. package/dist/lib/esm/is-in-obsidian.d.mts +12 -0
  783. package/dist/lib/esm/is-in-obsidian.mjs +59 -0
  784. package/dist/lib/esm/library-styles.d.mts +56 -0
  785. package/dist/lib/esm/library-styles.mjs +72 -0
  786. package/dist/lib/esm/library.d.mts +57 -0
  787. package/dist/lib/esm/library.mjs +83 -0
  788. package/dist/lib/esm/link-name.d.mts +23 -0
  789. package/dist/lib/esm/link-name.mjs +48 -0
  790. package/dist/lib/esm/link-update-progress.d.mts +32 -0
  791. package/dist/lib/esm/link-update-progress.mjs +42 -0
  792. package/dist/lib/esm/link.d.mts +1369 -0
  793. package/dist/lib/esm/link.mjs +988 -0
  794. package/dist/lib/esm/logger.d.mts +37 -0
  795. package/dist/lib/esm/logger.mjs +115 -0
  796. package/dist/lib/esm/loop.d.mts +104 -0
  797. package/dist/lib/esm/loop.mjs +151 -0
  798. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +62 -0
  799. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +69 -0
  800. package/dist/lib/esm/markdown-code-block-processor.d.mts +137 -0
  801. package/dist/lib/esm/markdown-code-block-processor.mjs +356 -0
  802. package/dist/lib/esm/markdown-post-processor-registrar.d.mts +59 -0
  803. package/dist/lib/esm/markdown-post-processor-registrar.mjs +66 -0
  804. package/dist/lib/esm/markdown-view.d.mts +14 -0
  805. package/dist/lib/esm/markdown-view.mjs +54 -0
  806. package/dist/lib/esm/markdown.d.mts +226 -0
  807. package/dist/lib/esm/markdown.mjs +391 -0
  808. package/dist/lib/esm/menu-event-registrar.d.mts +84 -0
  809. package/dist/lib/esm/menu-event-registrar.mjs +42 -0
  810. package/dist/lib/esm/metadata-cache.d.mts +359 -0
  811. package/dist/lib/esm/metadata-cache.mjs +454 -0
  812. package/dist/lib/esm/mobile-trusted-input.d.mts +98 -0
  813. package/dist/lib/esm/mobile-trusted-input.mjs +82 -0
  814. package/dist/lib/esm/modals/alert.d.mts +35 -0
  815. package/dist/lib/esm/modals/alert.mjs +84 -0
  816. package/dist/lib/esm/modals/confirm.d.mts +39 -0
  817. package/dist/lib/esm/modals/confirm.mjs +94 -0
  818. package/dist/lib/esm/modals/index.d.mts +10 -0
  819. package/dist/lib/esm/modals/index.mjs +62 -0
  820. package/dist/lib/esm/modals/minimizable-modal.d.mts +129 -0
  821. package/dist/lib/esm/modals/minimizable-modal.mjs +348 -0
  822. package/dist/lib/esm/modals/modal-command-builder.d.mts +285 -0
  823. package/dist/lib/esm/modals/modal-command-builder.mjs +363 -0
  824. package/dist/lib/esm/modals/modal.d.mts +64 -0
  825. package/dist/lib/esm/modals/modal.mjs +78 -0
  826. package/dist/lib/esm/modals/prompt.d.mts +83 -0
  827. package/dist/lib/esm/modals/prompt.mjs +168 -0
  828. package/dist/lib/esm/modals/select-item.d.mts +55 -0
  829. package/dist/lib/esm/modals/select-item.mjs +104 -0
  830. package/dist/lib/esm/modals/select-option.d.mts +65 -0
  831. package/dist/lib/esm/modals/select-option.mjs +95 -0
  832. package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +35 -0
  833. package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +47 -0
  834. package/dist/lib/esm/note-priority.d.mts +154 -0
  835. package/dist/lib/esm/note-priority.mjs +135 -0
  836. package/dist/lib/esm/notebook-navigator.d.mts +132 -0
  837. package/dist/lib/esm/notebook-navigator.mjs +64 -0
  838. package/dist/lib/esm/obsidian-dev-utils-state.d.mts +42 -0
  839. package/dist/lib/esm/obsidian-dev-utils-state.mjs +76 -0
  840. package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +55 -0
  841. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +68 -0
  842. package/dist/lib/esm/obsidian-settings.d.mts +62 -0
  843. package/dist/lib/esm/obsidian-settings.mjs +81 -0
  844. package/dist/lib/esm/parse-link.d.mts +288 -0
  845. package/dist/lib/esm/parse-link.mjs +428 -0
  846. package/dist/lib/esm/path-settings.d.mts +56 -0
  847. package/dist/lib/esm/path-settings.mjs +176 -0
  848. package/dist/lib/esm/pdf.d.mts +26 -0
  849. package/dist/lib/esm/pdf.mjs +76 -0
  850. package/dist/lib/esm/plugin/index.d.mts +9 -0
  851. package/dist/lib/esm/plugin/index.mjs +60 -0
  852. package/dist/lib/esm/plugin/plugin-api.d.mts +413 -0
  853. package/dist/lib/esm/plugin/plugin-api.mjs +422 -0
  854. package/dist/lib/esm/plugin/plugin-context.d.mts +27 -0
  855. package/dist/lib/esm/plugin/plugin-context.mjs +101 -0
  856. package/dist/lib/esm/plugin/plugin-event-source.d.mts +97 -0
  857. package/dist/lib/esm/plugin/plugin-event-source.mjs +129 -0
  858. package/dist/lib/esm/plugin/plugin-install-state.d.mts +113 -0
  859. package/dist/lib/esm/plugin/plugin-install-state.mjs +101 -0
  860. package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +127 -0
  861. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +52 -0
  862. package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +368 -0
  863. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +527 -0
  864. package/dist/lib/esm/plugin/plugin.d.mts +363 -0
  865. package/dist/lib/esm/plugin/plugin.mjs +611 -0
  866. package/dist/lib/esm/plugin/settings-migration-api.d.mts +91 -0
  867. package/dist/lib/esm/plugin/settings-migration-api.mjs +42 -0
  868. package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +64 -0
  869. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +66 -0
  870. package/dist/lib/esm/popovers/field-popover.d.mts +75 -0
  871. package/dist/lib/esm/popovers/field-popover.mjs +88 -0
  872. package/dist/lib/esm/popovers/index.d.mts +4 -0
  873. package/dist/lib/esm/popovers/index.mjs +50 -0
  874. package/dist/lib/esm/popovers/popover-anchor.d.mts +67 -0
  875. package/dist/lib/esm/popovers/popover-anchor.mjs +82 -0
  876. package/dist/lib/esm/popovers/popover.d.mts +78 -0
  877. package/dist/lib/esm/popovers/popover.mjs +132 -0
  878. package/dist/lib/esm/property-entry.d.mts +43 -0
  879. package/dist/lib/esm/property-entry.mjs +73 -0
  880. package/dist/lib/esm/queue.d.mts +93 -0
  881. package/dist/lib/esm/queue.mjs +122 -0
  882. package/dist/lib/esm/react/app-context.d.mts +24 -0
  883. package/dist/lib/esm/react/app-context.mjs +56 -0
  884. package/dist/lib/esm/react/index.d.mts +2 -0
  885. package/dist/lib/esm/react/index.mjs +46 -0
  886. package/dist/lib/esm/reference.d.mts +116 -0
  887. package/dist/lib/esm/reference.mjs +87 -0
  888. package/dist/lib/esm/resource-lock.d.mts +318 -0
  889. package/dist/lib/esm/resource-lock.mjs +1006 -0
  890. package/dist/lib/esm/resource-url.d.mts +31 -0
  891. package/dist/lib/esm/resource-url.mjs +59 -0
  892. package/dist/lib/esm/ribbon-icon-registrar.d.mts +60 -0
  893. package/dist/lib/esm/ribbon-icon-registrar.mjs +66 -0
  894. package/dist/lib/esm/setting-components/checkbox-component.d.mts +69 -0
  895. package/dist/lib/esm/setting-components/checkbox-component.mjs +119 -0
  896. package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +132 -0
  897. package/dist/lib/esm/setting-components/code-highlighter-component.mjs +287 -0
  898. package/dist/lib/esm/setting-components/date-component.d.mts +38 -0
  899. package/dist/lib/esm/setting-components/date-component.mjs +83 -0
  900. package/dist/lib/esm/setting-components/date-time-component.d.mts +38 -0
  901. package/dist/lib/esm/setting-components/date-time-component.mjs +83 -0
  902. package/dist/lib/esm/setting-components/email-component.d.mts +49 -0
  903. package/dist/lib/esm/setting-components/email-component.mjs +94 -0
  904. package/dist/lib/esm/setting-components/file-component.d.mts +43 -0
  905. package/dist/lib/esm/setting-components/file-component.mjs +86 -0
  906. package/dist/lib/esm/setting-components/index.d.mts +27 -0
  907. package/dist/lib/esm/setting-components/index.mjs +96 -0
  908. package/dist/lib/esm/setting-components/month-component.d.mts +51 -0
  909. package/dist/lib/esm/setting-components/month-component.mjs +91 -0
  910. package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +92 -0
  911. package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +159 -0
  912. package/dist/lib/esm/setting-components/multiple-email-component.d.mts +38 -0
  913. package/dist/lib/esm/setting-components/multiple-email-component.mjs +80 -0
  914. package/dist/lib/esm/setting-components/multiple-file-component.d.mts +43 -0
  915. package/dist/lib/esm/setting-components/multiple-file-component.mjs +88 -0
  916. package/dist/lib/esm/setting-components/multiple-text-component.d.mts +109 -0
  917. package/dist/lib/esm/setting-components/multiple-text-component.mjs +178 -0
  918. package/dist/lib/esm/setting-components/number-component.d.mts +56 -0
  919. package/dist/lib/esm/setting-components/number-component.mjs +104 -0
  920. package/dist/lib/esm/setting-components/password-component.d.mts +38 -0
  921. package/dist/lib/esm/setting-components/password-component.mjs +80 -0
  922. package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +13 -0
  923. package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +63 -0
  924. package/dist/lib/esm/setting-components/telephone-component.d.mts +51 -0
  925. package/dist/lib/esm/setting-components/telephone-component.mjs +94 -0
  926. package/dist/lib/esm/setting-components/text-based-component.d.mts +38 -0
  927. package/dist/lib/esm/setting-components/text-based-component.mjs +73 -0
  928. package/dist/lib/esm/setting-components/time-component.d.mts +38 -0
  929. package/dist/lib/esm/setting-components/time-component.mjs +88 -0
  930. package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +69 -0
  931. package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +120 -0
  932. package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +97 -0
  933. package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +168 -0
  934. package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +99 -0
  935. package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +167 -0
  936. package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +35 -0
  937. package/dist/lib/esm/setting-components/typed-range-text-component.mjs +78 -0
  938. package/dist/lib/esm/setting-components/typed-text-component.d.mts +100 -0
  939. package/dist/lib/esm/setting-components/typed-text-component.mjs +138 -0
  940. package/dist/lib/esm/setting-components/url-component.d.mts +49 -0
  941. package/dist/lib/esm/setting-components/url-component.mjs +94 -0
  942. package/dist/lib/esm/setting-components/validator-component.d.mts +23 -0
  943. package/dist/lib/esm/setting-components/validator-component.mjs +142 -0
  944. package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +20 -0
  945. package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +42 -0
  946. package/dist/lib/esm/setting-components/week-component.d.mts +51 -0
  947. package/dist/lib/esm/setting-components/week-component.mjs +91 -0
  948. package/dist/lib/esm/setting-ex.d.mts +198 -0
  949. package/dist/lib/esm/setting-ex.mjs +274 -0
  950. package/dist/lib/esm/setting-group-ex.d.mts +26 -0
  951. package/dist/lib/esm/setting-group-ex.mjs +68 -0
  952. package/dist/lib/esm/status-bar-item-registrar.d.mts +36 -0
  953. package/dist/lib/esm/status-bar-item-registrar.mjs +65 -0
  954. package/dist/lib/esm/templater.d.mts +284 -0
  955. package/dist/lib/esm/templater.mjs +173 -0
  956. package/dist/lib/esm/transformers/duration-transformer.d.mts +39 -0
  957. package/dist/lib/esm/transformers/duration-transformer.mjs +85 -0
  958. package/dist/lib/esm/transformers/index.d.mts +2 -0
  959. package/dist/lib/esm/transformers/index.mjs +46 -0
  960. package/dist/lib/esm/trusted-input.d.mts +131 -0
  961. package/dist/lib/esm/trusted-input.mjs +83 -0
  962. package/dist/lib/esm/validation.d.mts +87 -0
  963. package/dist/lib/esm/validation.mjs +87 -0
  964. package/dist/lib/esm/vault-delete.d.mts +82 -0
  965. package/dist/lib/esm/vault-delete.mjs +132 -0
  966. package/dist/lib/esm/vault-transaction.d.mts +163 -0
  967. package/dist/lib/esm/vault-transaction.mjs +325 -0
  968. package/dist/lib/esm/vault.d.mts +506 -0
  969. package/dist/lib/esm/vault.mjs +604 -0
  970. package/dist/lib/esm/view-registrar.d.mts +52 -0
  971. package/dist/lib/esm/view-registrar.mjs +65 -0
  972. package/dist/lib/esm/workspace.d.mts +81 -0
  973. package/dist/lib/esm/workspace.mjs +84 -0
  974. package/dist/styles.css +497 -0
  975. package/i18n/custom-type-options/package.json +6 -0
  976. package/i18n/default-translations/package.json +6 -0
  977. package/i18n/i18n/package.json +6 -0
  978. package/i18n/index/package.json +6 -0
  979. package/i18n/locales/en/package.json +6 -0
  980. package/i18n/locales/index/package.json +6 -0
  981. package/i18n/locales/package.json +6 -0
  982. package/i18n/locales/translations-map/package.json +6 -0
  983. package/i18n/package.json +6 -0
  984. package/modals/alert/package.json +6 -0
  985. package/modals/confirm/package.json +6 -0
  986. package/modals/index/package.json +6 -0
  987. package/modals/minimizable-modal/package.json +6 -0
  988. package/modals/modal/package.json +6 -0
  989. package/modals/modal-command-builder/package.json +6 -0
  990. package/modals/package.json +6 -0
  991. package/modals/prompt/package.json +6 -0
  992. package/modals/select-item/package.json +6 -0
  993. package/modals/select-option/package.json +6 -0
  994. package/modals/suggest-modal-command-builder/package.json +6 -0
  995. package/package.json +533 -13
  996. package/plugin/index/package.json +6 -0
  997. package/plugin/package.json +6 -0
  998. package/plugin/plugin/package.json +6 -0
  999. package/plugin/plugin-api/package.json +6 -0
  1000. package/plugin/plugin-context/package.json +6 -0
  1001. package/plugin/plugin-event-source/package.json +6 -0
  1002. package/plugin/plugin-install-state/package.json +6 -0
  1003. package/plugin/plugin-lifecycle-events/package.json +6 -0
  1004. package/plugin/plugin-settings-tab/package.json +6 -0
  1005. package/plugin/settings-migration-api/package.json +6 -0
  1006. package/popovers/field-popover/package.json +6 -0
  1007. package/popovers/index/package.json +6 -0
  1008. package/popovers/package.json +6 -0
  1009. package/popovers/popover/package.json +6 -0
  1010. package/popovers/popover-anchor/package.json +6 -0
  1011. package/react/app-context/package.json +6 -0
  1012. package/react/index/package.json +6 -0
  1013. package/react/package.json +6 -0
  1014. package/setting-components/checkbox-component/package.json +6 -0
  1015. package/setting-components/code-highlighter-component/package.json +6 -0
  1016. package/setting-components/date-component/package.json +6 -0
  1017. package/setting-components/date-time-component/package.json +6 -0
  1018. package/setting-components/email-component/package.json +6 -0
  1019. package/setting-components/file-component/package.json +6 -0
  1020. package/setting-components/index/package.json +6 -0
  1021. package/setting-components/month-component/package.json +6 -0
  1022. package/setting-components/multiple-dropdown-component/package.json +6 -0
  1023. package/setting-components/multiple-email-component/package.json +6 -0
  1024. package/setting-components/multiple-file-component/package.json +6 -0
  1025. package/setting-components/multiple-text-component/package.json +6 -0
  1026. package/setting-components/number-component/package.json +6 -0
  1027. package/setting-components/package.json +6 -0
  1028. package/setting-components/password-component/package.json +6 -0
  1029. package/setting-components/setting-component-wrapper/package.json +6 -0
  1030. package/setting-components/telephone-component/package.json +6 -0
  1031. package/setting-components/text-based-component/package.json +6 -0
  1032. package/setting-components/time-component/package.json +6 -0
  1033. package/setting-components/tri-state-checkbox-component/package.json +6 -0
  1034. package/setting-components/typed-dropdown-component/package.json +6 -0
  1035. package/setting-components/typed-multiple-dropdown-component/package.json +6 -0
  1036. package/setting-components/typed-range-text-component/package.json +6 -0
  1037. package/setting-components/typed-text-component/package.json +6 -0
  1038. package/setting-components/url-component/package.json +6 -0
  1039. package/setting-components/validator-component/package.json +6 -0
  1040. package/setting-components/value-component-with-change-tracking/package.json +6 -0
  1041. package/setting-components/week-component/package.json +6 -0
  1042. package/transformers/duration-transformer/package.json +6 -0
  1043. package/transformers/index/package.json +6 -0
  1044. package/transformers/package.json +6 -0
@@ -0,0 +1,504 @@
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 () {
7
+ function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
+ }
11
+
12
+ function ensureBrowserProcess() {
13
+ const browserProcess = {
14
+ browser: true,
15
+ cwd() {
16
+ return "/";
17
+ },
18
+ env: {},
19
+ platform: "android"
20
+ };
21
+ const existingProcess = globalThis.process;
22
+ if (!existingProcess) {
23
+ globalThis.process = browserProcess;
24
+ return;
25
+ }
26
+ if (existingProcess.versions?.node) {
27
+ return;
28
+ }
29
+ const existingProcessRecord = existingProcess;
30
+ for (const [key, value] of Object.entries(browserProcess)) {
31
+ existingProcessRecord[key] ??= value;
32
+ }
33
+ existingProcessRecord["browser"] = true;
34
+ }
35
+
36
+ function keepName($unknown) {
37
+ return $unknown;
38
+ }
39
+
40
+ (function initCjs() {
41
+ const globalThisRecord = globalThis;
42
+ ensureDisposeSymbols();
43
+ globalThisRecord["__name"] ??= keepName;
44
+ globalThisRecord["__extractDefault"] ??= extractDefault;
45
+ ensureBrowserProcess();
46
+ function extractDefault(module) {
47
+ return module && module.__esModule && "default" in module ? module.default : module;
48
+ }
49
+ })();
50
+ })();
51
+ (function patchObsidianRequire() {
52
+ const originalRequire = require;
53
+ if (!originalRequire || originalRequire.__isPatched) {
54
+ return;
55
+ }
56
+ require = Object.assign(
57
+ (id) => requirePatched(id),
58
+ originalRequire,
59
+ {
60
+ __isPatched: true
61
+ }
62
+ );
63
+ function extractDefault(module) {
64
+ return module && module.__esModule && "default" in module ? module.default : module;
65
+ }
66
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
67
+ "@codemirror/autocomplete",
68
+ "@codemirror/collab",
69
+ "@codemirror/commands",
70
+ "@codemirror/language",
71
+ "@codemirror/lint",
72
+ "@codemirror/search",
73
+ "@codemirror/state",
74
+ "@codemirror/text",
75
+ "@codemirror/view",
76
+ "@lezer/common",
77
+ "@lezer/highlight",
78
+ "@lezer/lr",
79
+ "obsidian"
80
+ ]);
81
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
82
+ "@codemirror/closebrackets",
83
+ "@codemirror/comment",
84
+ "@codemirror/fold",
85
+ "@codemirror/gutter",
86
+ "@codemirror/highlight",
87
+ "@codemirror/history",
88
+ "@codemirror/matchbrackets",
89
+ "@codemirror/panel",
90
+ "@codemirror/rangeset",
91
+ "@codemirror/rectangular-selection",
92
+ "@codemirror/stream-parser",
93
+ "@codemirror/tooltip"
94
+ ]);
95
+ function requirePatched(id) {
96
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
97
+ return originalRequire?.(id);
98
+ }
99
+ if (globalThis.app.isMobile) {
100
+ if (id === "process" || id === "node:process") {
101
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
102
+ return process;
103
+ }
104
+ } else {
105
+ const module = originalRequire?.(id);
106
+ if (module) {
107
+ return extractDefault(module);
108
+ }
109
+ }
110
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
111
+ return {};
112
+ }
113
+ })();
114
+
115
+ "use strict";
116
+ var __defProp = Object.defineProperty;
117
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
118
+ var __getOwnPropNames = Object.getOwnPropertyNames;
119
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
120
+ var __export = (target, all) => {
121
+ for (var name in all)
122
+ __defProp(target, name, { get: all[name], enumerable: true });
123
+ };
124
+ var __copyProps = (to, from, except, desc) => {
125
+ if (from && typeof from === "object" || typeof from === "function") {
126
+ for (let key of __getOwnPropNames(from))
127
+ if (!__hasOwnProp.call(to, key) && key !== except)
128
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
129
+ }
130
+ return to;
131
+ };
132
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
133
+ var component_ex_exports = {};
134
+ __export(component_ex_exports, {
135
+ ComponentEx: () => ComponentEx
136
+ });
137
+ module.exports = __toCommonJS(component_ex_exports);
138
+ var import_aggregate_error = require('@mnaoumov/typescript-lib/aggregate-error');
139
+ var import_array = require('@mnaoumov/typescript-lib/array');
140
+ var import_disposable = require('@mnaoumov/typescript-lib/disposable');
141
+ var import_error = require('@mnaoumov/typescript-lib/error');
142
+ var import_function = require('@mnaoumov/typescript-lib/function');
143
+ var import_obsidian = require('obsidian');
144
+ class ComponentEx extends import_obsidian.Component {
145
+ childrenSet = /* @__PURE__ */ new Set();
146
+ hasBeenLoaded = false;
147
+ loadErrors = [];
148
+ loadPromise = null;
149
+ parentComponent = null;
150
+ /**
151
+ * Adds a child component.
152
+ *
153
+ * Mirrors the native `Component.addChild` contract: if this component is already loaded, the child is loaded
154
+ * immediately, so `child._loaded` is set before this method returns even when this component has async load logic.
155
+ * The child's async tail (if any) is sequenced into the load promise so a later {@link loadWithPromises} call awaits it.
156
+ *
157
+ * Adding a child BEFORE the first load is legitimate: the child is queued and loaded when this component loads.
158
+ * Adding one AFTER this component has been unloaded is not — the child would never be loaded and never unloaded
159
+ * (a leak), so it is refused with a {@link SilentError}. The typical source of such a call is an `async` method
160
+ * that was suspended on an `await` when the component got unloaded and then resumed on the dead component; the
161
+ * {@link SilentError} unwinds it quietly (see {@link isUnloaded}).
162
+ *
163
+ * @typeParam TComponent - The type of component to add.
164
+ * @param component - The component instance to add.
165
+ * @returns The added component.
166
+ * @throws A {@link SilentError} if the component has already been unloaded.
167
+ */
168
+ addChild(component) {
169
+ if (this.isUnloaded()) {
170
+ throw new import_error.SilentError("Component is already unloaded");
171
+ }
172
+ this._children.push(component);
173
+ this.childrenSet.add(component);
174
+ if (component instanceof ComponentEx) {
175
+ component.parentComponent = this;
176
+ }
177
+ if (this._loaded) {
178
+ this.appendEagerLoadStep(this.extractLoadPromisable(component));
179
+ }
180
+ return component;
181
+ }
182
+ /**
183
+ * Checks whether a component is a direct child of this one.
184
+ *
185
+ * Only DIRECT children are reported — this is an ownership question, not a containment one. The caller that
186
+ * needs it is one holding several parents and deciding which of them a component belongs to, and for that a
187
+ * grandchild is the wrong answer: removing it from the parent that merely contains its parent would fail.
188
+ *
189
+ * @param component - The component to look for.
190
+ * @returns Whether the component is a direct child of this one.
191
+ */
192
+ hasChild(component) {
193
+ return this.childrenSet.has(component);
194
+ }
195
+ /**
196
+ * Loads the component.
197
+ *
198
+ * @returns Despite the declared `void` return type, this method returns a {@link Promise} that resolves when the component is loaded or `null` if the component is fully synchronous.
199
+ */
200
+ load() {
201
+ if (this._loaded) {
202
+ return;
203
+ }
204
+ this._loaded = true;
205
+ this.hasBeenLoaded = true;
206
+ this.resetLoadState();
207
+ this.onload();
208
+ const onloadAsyncPromise = this.onloadAsync();
209
+ if (onloadAsyncPromise !== import_function.noopAsyncSingletonPromise) {
210
+ this.appendEagerLoadStep(onloadAsyncPromise);
211
+ }
212
+ for (const child of (0, import_array.snapshot)(this._children)) {
213
+ this.appendSequentialLoadStep(() => this.extractLoadPromisable(child));
214
+ }
215
+ if (this.loadPromise) {
216
+ return this.loadPromise;
217
+ }
218
+ }
219
+ /**
220
+ * Loads the component with promises.
221
+ *
222
+ * Unlike {@link load}, this method never rejects with an individual error: every failure raised by {@link onloadAsync}
223
+ * or a child's load is collected, and once everything settles the returned {@link Promise} rejects with a single
224
+ * {@link AggregateError} holding all of them. Non-`Error` throwables are normalized via {@link ErrorWrapper.create}.
225
+ *
226
+ * The `AggregateError` is built by {@link createAggregateError}, so its own `message` names the failure rather
227
+ * than being empty: a lone failure lends its message to every aggregate above it, which is what lets a caller
228
+ * assert on the sentence that was actually thrown without walking `errors` to find it.
229
+ *
230
+ * @returns A {@link Promise} that resolves when the component and its children finish loading, rejects with an {@link AggregateError} if any load step failed, or `null` if the component and its children don't use `async` logic and none failed synchronously.
231
+ */
232
+ loadWithPromises() {
233
+ this.load();
234
+ const loadPromise = this.loadPromise;
235
+ if (!loadPromise) {
236
+ return this.loadErrors.length > 0 ? Promise.reject((0, import_aggregate_error.createAggregateError)(this.loadErrors)) : null;
237
+ }
238
+ return loadPromise.then(() => {
239
+ if (this.loadErrors.length > 0) {
240
+ throw (0, import_aggregate_error.createAggregateError)(this.loadErrors);
241
+ }
242
+ });
243
+ }
244
+ /**
245
+ * Asynchronously loads the component.
246
+ *
247
+ * Override to add async load logic, which is executed after {@link Component.onload}.
248
+ *
249
+ * @returns A {@link Promise} that resolves when the component is loaded.
250
+ */
251
+ onloadAsync() {
252
+ return import_function.noopAsyncSingletonPromise;
253
+ }
254
+ /**
255
+ * Registers a {@link Disposable} so it is disposed when this component unloads, and returns it unchanged.
256
+ *
257
+ * The recurring "tie a disposable to the component's lifecycle, then keep using it" idiom: the disposable is
258
+ * disposed on {@link Component.unload} (or earlier, if the caller disposes it directly — dispose is expected to
259
+ * be idempotent). Guard with {@link ensureLoaded} at the call site when registering before load would be unsafe.
260
+ *
261
+ * @typeParam TDisposable - The type of the disposable.
262
+ * @param disposable - The disposable to register.
263
+ * @returns The same disposable, for chaining.
264
+ */
265
+ registerDisposable(disposable) {
266
+ this.register(() => {
267
+ (0, import_disposable.dispose)(disposable);
268
+ });
269
+ return disposable;
270
+ }
271
+ /**
272
+ * Removes a child component.
273
+ *
274
+ * @typeParam TComponent - The type of component to remove.
275
+ * @param component - The component instance to remove.
276
+ * @returns The removed component.
277
+ */
278
+ removeChild(component) {
279
+ super.removeChild(component);
280
+ this.childrenSet.delete(component);
281
+ if (component instanceof ComponentEx && component.parentComponent === this) {
282
+ component.parentComponent = null;
283
+ }
284
+ return component;
285
+ }
286
+ /**
287
+ * Disposes of the component.
288
+ */
289
+ [Symbol.dispose]() {
290
+ this.unload();
291
+ }
292
+ /**
293
+ * Ensures the component is loaded, throwing if it is not.
294
+ *
295
+ * Use this to guard public methods that register teardown-bearing resources (via {@link Component.register},
296
+ * {@link Component.registerEvent}, {@link Component.registerDomEvent}, etc.). Registering before load is unsafe:
297
+ * {@link Component.unload} is a no-op while the component is not loaded, so any teardown registered beforehand would
298
+ * never run if the component is unloaded without first being loaded.
299
+ *
300
+ * The two not-loaded cases are deliberately distinguished. A component that was NEVER loaded is a genuine
301
+ * programming error, so it throws a loud {@link Error}. A component that has ALREADY been unloaded is not —
302
+ * it is the expected outcome of work that outlived its component (e.g. an `async` method suspended on an
303
+ * `await` while the component was unloaded, then resumed) — so it throws a {@link SilentError}, which
304
+ * `handleSilentError` suppresses, letting such work unwind quietly instead of reporting an async error.
305
+ *
306
+ * @throws An {@link Error} if the component was never loaded, or a {@link SilentError} if it has already been unloaded.
307
+ */
308
+ ensureLoaded() {
309
+ if (this._loaded) {
310
+ return;
311
+ }
312
+ if (this.isUnloaded()) {
313
+ throw new import_error.SilentError("Component is already unloaded");
314
+ }
315
+ throw new Error("Component is not loaded");
316
+ }
317
+ /**
318
+ * Returns a {@link Promise} that settles once neither this component nor any {@link ComponentEx} ancestor has a load
319
+ * in flight, or `null` when none of them has one right now.
320
+ *
321
+ * {@link getInFlightLoadPromise} covers this component's OWN load only. A sibling this component depends on — most
322
+ * often the owning plugin's settings component, which reads `data.json` asynchronously — is outside it, but it is
323
+ * inside the load of a shared ancestor. Waiting for every ancestor therefore waits for the whole tree the component
324
+ * was loaded as part of: under `PluginBase` the chain ends at the plugin's universal wrapper, whose load covers the
325
+ * dependency gate, the feature surface and `onloadImpl`.
326
+ *
327
+ * The chain is followed through {@link ComponentEx} parents only. A plain {@link Component} anywhere between this
328
+ * component and an ancestor ends it, because a plain component records no parent and exposes no load promise.
329
+ *
330
+ * Never await this from inside a load step of one of those ancestors: the ancestor's load would then be waiting for
331
+ * itself. It is meant for work scheduled OUTSIDE the load, such as a layout-ready handler.
332
+ *
333
+ * @returns The promise, or `null` if nothing in the ancestry is loading.
334
+ */
335
+ getInFlightAncestryLoadPromise() {
336
+ return this.findInFlightAncestryLoadPromise() ? this.waitForAncestryLoad() : null;
337
+ }
338
+ /**
339
+ * Returns the component's in-flight load {@link Promise} (its {@link onloadAsync} plus children), or `null` when
340
+ * nothing is loading — either the component loaded fully synchronously or its async load has already settled.
341
+ *
342
+ * Lets a caller scheduled while the component is still loading await the async load tail before acting, instead of
343
+ * racing it: {@link Component.onload} has run (so `_loaded` is set) but {@link onloadAsync} may not have finished.
344
+ *
345
+ * It covers this component's OWN load only. A caller that also depends on a sibling's state — a layout-ready handler
346
+ * reading settings is the common one — wants {@link getInFlightAncestryLoadPromise}, which `LayoutReadyComponent`
347
+ * uses.
348
+ *
349
+ * @returns The in-flight load promise, or `null` if no load is in flight.
350
+ */
351
+ getInFlightLoadPromise() {
352
+ return this.loadPromise;
353
+ }
354
+ /**
355
+ * Returns whether the most recent load recorded any failure.
356
+ *
357
+ * Reflects the outcome of the last {@link load} / {@link loadWithPromises}: `true` when {@link onloadAsync} or any
358
+ * child's load threw (synchronously or asynchronously). Unlike {@link loadWithPromises}, reading this does NOT
359
+ * re-raise the collected errors — it lets a bystander (e.g. a layout-ready handler awaiting the in-flight load) tell
360
+ * whether the load succeeded without adopting a failure that the load's owner is already responsible for.
361
+ *
362
+ * @returns `true` if the last load recorded at least one error, otherwise `false`.
363
+ */
364
+ hasLoadErrors() {
365
+ return this.loadErrors.length > 0;
366
+ }
367
+ /**
368
+ * Returns whether the component has already been unloaded, as opposed to simply not having been loaded yet.
369
+ *
370
+ * Both states leave `_loaded` false, but they mean opposite things: a component that was never loaded is still
371
+ * ahead of its lifecycle (queueing children before load is legitimate), while an unloaded one is behind it and
372
+ * must not be used any further. The distinction is tracked by a flag set in {@link load}, NOT by an
373
+ * {@link Component.onunload} override, because subclasses override `onunload` and may not call `super`.
374
+ *
375
+ * Use it in a long-running `async` method to abandon work whose component was unloaded mid-flight, when
376
+ * unwinding via the {@link SilentError} thrown by {@link ensureLoaded} / {@link addChild} is not desired.
377
+ *
378
+ * @returns `true` if the component was loaded at some point and is currently unloaded, otherwise `false`.
379
+ */
380
+ isUnloaded() {
381
+ return this.hasBeenLoaded && !this._loaded;
382
+ }
383
+ /**
384
+ * Sequences an already-started load step into the load promise.
385
+ *
386
+ * The step is presumed to have started synchronously (so any `_loaded` flag it sets is already visible); only the
387
+ * awaiting of its async tail is sequenced here.
388
+ *
389
+ * @param loadPromisable - The result of an already-started load step.
390
+ */
391
+ appendEagerLoadStep(loadPromisable) {
392
+ const captured = this.captureSettled(loadPromisable);
393
+ if (!captured) {
394
+ return;
395
+ }
396
+ const previous = this.loadPromise;
397
+ this.setLoadPromise(previous ? previous.then(() => captured) : captured);
398
+ }
399
+ /**
400
+ * Sequences a deferred load step into the load promise, running it only after previously-appended steps settle.
401
+ *
402
+ * @param loadPromisableFunction - A function that starts the load step and returns its result.
403
+ */
404
+ appendSequentialLoadStep(loadPromisableFunction) {
405
+ const previous = this.loadPromise;
406
+ if (previous) {
407
+ this.setLoadPromise(previous.then(() => this.runAndCapture(loadPromisableFunction)));
408
+ return;
409
+ }
410
+ const captured = this.captureSync(loadPromisableFunction);
411
+ if (captured) {
412
+ this.setLoadPromise(captured);
413
+ }
414
+ }
415
+ /**
416
+ * Records a load failure.
417
+ *
418
+ * A failure raised by a child {@link ComponentEx} is itself an {@link AggregateError}; it is recorded as-is so the
419
+ * grouping by child component is preserved (own failures stay flat, child-subtree failures stay nested).
420
+ *
421
+ * @param error - The thrown value to record.
422
+ */
423
+ captureError(error) {
424
+ this.loadErrors.push(import_error.ErrorWrapper.create(error));
425
+ }
426
+ /**
427
+ * Wraps an already-started load result so it never rejects: any failure is recorded into `loadErrors`.
428
+ *
429
+ * @param loadPromisable - The load result to observe.
430
+ * @returns A never-rejecting {@link Promise}, or `null` if the result is fully synchronous.
431
+ */
432
+ captureSettled(loadPromisable) {
433
+ return loadPromisable === null || loadPromisable === void 0 ? null : Promise.resolve(loadPromisable).then(import_function.noop).catch((error) => {
434
+ this.captureError(error);
435
+ });
436
+ }
437
+ /**
438
+ * Runs a load step synchronously, recording a synchronous throw, and wraps any async tail so it never rejects.
439
+ *
440
+ * @param loadPromisableFunction - A function that starts the load step and returns its result.
441
+ * @returns A never-rejecting {@link Promise}, or `null` if the step is fully synchronous.
442
+ */
443
+ captureSync(loadPromisableFunction) {
444
+ let loadPromisable;
445
+ try {
446
+ loadPromisable = loadPromisableFunction();
447
+ } catch (error) {
448
+ this.captureError(error);
449
+ return null;
450
+ }
451
+ return this.captureSettled(loadPromisable);
452
+ }
453
+ extractLoadPromisable(component) {
454
+ if (!this.childrenSet.has(component)) {
455
+ return null;
456
+ }
457
+ return component instanceof ComponentEx ? component.loadWithPromises() : component.load();
458
+ }
459
+ findInFlightAncestryLoadPromise() {
460
+ return this.loadPromise ?? this.parentComponent?.findInFlightAncestryLoadPromise() ?? null;
461
+ }
462
+ resetLoadState() {
463
+ this.loadErrors = [];
464
+ this.loadPromise = null;
465
+ }
466
+ /**
467
+ * Runs a deferred load step, recording a synchronous throw or an async rejection without ever re-throwing.
468
+ *
469
+ * @param loadPromisableFunction - A function that starts the load step and returns its result.
470
+ */
471
+ async runAndCapture(loadPromisableFunction) {
472
+ try {
473
+ await (loadPromisableFunction() ?? void 0);
474
+ } catch (error) {
475
+ this.captureError(error);
476
+ }
477
+ }
478
+ setLoadPromise(loadPromise) {
479
+ const loadPromiseWithReset = loadPromise.then(() => {
480
+ if (this.loadPromise === loadPromiseWithReset) {
481
+ this.loadPromise = null;
482
+ }
483
+ });
484
+ this.loadPromise = loadPromiseWithReset;
485
+ }
486
+ /**
487
+ * Awaits in-flight loads in the ancestry until none is left.
488
+ *
489
+ * Looped rather than awaited once, because an ancestor's load can grow while it is being awaited: a child added
490
+ * to an already-loaded component appends its async tail to that component's load promise.
491
+ */
492
+ async waitForAncestryLoad() {
493
+ let loadPromise = this.findInFlightAncestryLoadPromise();
494
+ while (loadPromise) {
495
+ await loadPromise;
496
+ loadPromise = this.findInFlightAncestryLoadPromise();
497
+ }
498
+ }
499
+ }
500
+ // Annotate the CommonJS export names for ESM import in node:
501
+ 0 && (module.exports = {
502
+ ComponentEx
503
+ });
504
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgY3JlYXRlQWdncmVnYXRlRXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWdncmVnYXRlLWVycm9yJztcbmltcG9ydCB7IHNuYXBzaG90IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5JztcbmltcG9ydCB7IGRpc3Bvc2UgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5pbXBvcnQge1xuICBFcnJvcldyYXBwZXIsXG4gIFNpbGVudEVycm9yXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9lcnJvcic7XG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9mdW5jdGlvbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1jb21wb25lbnQtc3VmZml4IC0tIEV4dGVuZGVkIGJhc2UgY2xhc3MuXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RXggZXh0ZW5kcyBDb21wb25lbnQgaW1wbGVtZW50cyBEaXNwb3NhYmxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGlsZHJlblNldCA9IG5ldyBTZXQ8Q29tcG9uZW50PigpO1xuICBwcml2YXRlIGhhc0JlZW5Mb2FkZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBsb2FkRXJyb3JzOiBFcnJvcltdID0gW107XG4gIHByaXZhdGUgbG9hZFByb21pc2U6IG51bGwgfCBQcm9taXNlPHZvaWQ+ID0gbnVsbDtcbiAgcHJpdmF0ZSBwYXJlbnRDb21wb25lbnQ6IENvbXBvbmVudEV4IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGlsZCBjb21wb25lbnQuXG4gICAqXG4gICAqIE1pcnJvcnMgdGhlIG5hdGl2ZSBgQ29tcG9uZW50LmFkZENoaWxkYCBjb250cmFjdDogaWYgdGhpcyBjb21wb25lbnQgaXMgYWxyZWFkeSBsb2FkZWQsIHRoZSBjaGlsZCBpcyBsb2FkZWRcbiAgICogaW1tZWRpYXRlbHksIHNvIGBjaGlsZC5fbG9hZGVkYCBpcyBzZXQgYmVmb3JlIHRoaXMgbWV0aG9kIHJldHVybnMgZXZlbiB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBhc3luYyBsb2FkIGxvZ2ljLlxuICAgKiBUaGUgY2hpbGQncyBhc3luYyB0YWlsIChpZiBhbnkpIGlzIHNlcXVlbmNlZCBpbnRvIHRoZSBsb2FkIHByb21pc2Ugc28gYSBsYXRlciB7QGxpbmsgbG9hZFdpdGhQcm9taXNlc30gY2FsbCBhd2FpdHMgaXQuXG4gICAqXG4gICAqIEFkZGluZyBhIGNoaWxkIEJFRk9SRSB0aGUgZmlyc3QgbG9hZCBpcyBsZWdpdGltYXRlOiB0aGUgY2hpbGQgaXMgcXVldWVkIGFuZCBsb2FkZWQgd2hlbiB0aGlzIGNvbXBvbmVudCBsb2Fkcy5cbiAgICogQWRkaW5nIG9uZSBBRlRFUiB0aGlzIGNvbXBvbmVudCBoYXMgYmVlbiB1bmxvYWRlZCBpcyBub3QgXHUyMDE0IHRoZSBjaGlsZCB3b3VsZCBuZXZlciBiZSBsb2FkZWQgYW5kIG5ldmVyIHVubG9hZGVkXG4gICAqIChhIGxlYWspLCBzbyBpdCBpcyByZWZ1c2VkIHdpdGggYSB7QGxpbmsgU2lsZW50RXJyb3J9LiBUaGUgdHlwaWNhbCBzb3VyY2Ugb2Ygc3VjaCBhIGNhbGwgaXMgYW4gYGFzeW5jYCBtZXRob2RcbiAgICogdGhhdCB3YXMgc3VzcGVuZGVkIG9uIGFuIGBhd2FpdGAgd2hlbiB0aGUgY29tcG9uZW50IGdvdCB1bmxvYWRlZCBhbmQgdGhlbiByZXN1bWVkIG9uIHRoZSBkZWFkIGNvbXBvbmVudDsgdGhlXG4gICAqIHtAbGluayBTaWxlbnRFcnJvcn0gdW53aW5kcyBpdCBxdWlldGx5IChzZWUge0BsaW5rIGlzVW5sb2FkZWR9KS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgYWRkZWQgY29tcG9uZW50LlxuICAgKiBAdGhyb3dzIEEge0BsaW5rIFNpbGVudEVycm9yfSBpZiB0aGUgY29tcG9uZW50IGhhcyBhbHJlYWR5IGJlZW4gdW5sb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgaWYgKHRoaXMuaXNVbmxvYWRlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgU2lsZW50RXJyb3IoJ0NvbXBvbmVudCBpcyBhbHJlYWR5IHVubG9hZGVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2hpbGRyZW4ucHVzaChjb21wb25lbnQpO1xuICAgIHRoaXMuY2hpbGRyZW5TZXQuYWRkKGNvbXBvbmVudCk7XG4gICAgaWYgKGNvbXBvbmVudCBpbnN0YW5jZW9mIENvbXBvbmVudEV4KSB7XG4gICAgICBjb21wb25lbnQucGFyZW50Q29tcG9uZW50ID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLmFwcGVuZEVhZ2VyTG9hZFN0ZXAodGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY29tcG9uZW50KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciBhIGNvbXBvbmVudCBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGlzIG9uZS5cbiAgICpcbiAgICogT25seSBESVJFQ1QgY2hpbGRyZW4gYXJlIHJlcG9ydGVkIFx1MjAxNCB0aGlzIGlzIGFuIG93bmVyc2hpcCBxdWVzdGlvbiwgbm90IGEgY29udGFpbm1lbnQgb25lLiBUaGUgY2FsbGVyIHRoYXRcbiAgICogbmVlZHMgaXQgaXMgb25lIGhvbGRpbmcgc2V2ZXJhbCBwYXJlbnRzIGFuZCBkZWNpZGluZyB3aGljaCBvZiB0aGVtIGEgY29tcG9uZW50IGJlbG9uZ3MgdG8sIGFuZCBmb3IgdGhhdCBhXG4gICAqIGdyYW5kY2hpbGQgaXMgdGhlIHdyb25nIGFuc3dlcjogcmVtb3ZpbmcgaXQgZnJvbSB0aGUgcGFyZW50IHRoYXQgbWVyZWx5IGNvbnRhaW5zIGl0cyBwYXJlbnQgd291bGQgZmFpbC5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdG8gbG9vayBmb3IuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGlzIG9uZS5cbiAgICovXG4gIHB1YmxpYyBoYXNDaGlsZChjb21wb25lbnQ6IENvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuU2V0Lmhhcyhjb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLmhhc0JlZW5Mb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMucmVzZXRMb2FkU3RhdGUoKTtcblxuICAgIHRoaXMub25sb2FkKCk7XG5cbiAgICBjb25zdCBvbmxvYWRBc3luY1Byb21pc2UgPSB0aGlzLm9ubG9hZEFzeW5jKCk7XG4gICAgaWYgKG9ubG9hZEFzeW5jUHJvbWlzZSAhPT0gbm9vcEFzeW5jU2luZ2xldG9uUHJvbWlzZSkge1xuICAgICAgdGhpcy5hcHBlbmRFYWdlckxvYWRTdGVwKG9ubG9hZEFzeW5jUHJvbWlzZSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBzbmFwc2hvdCh0aGlzLl9jaGlsZHJlbikpIHtcbiAgICAgIHRoaXMuYXBwZW5kU2VxdWVudGlhbExvYWRTdGVwKCgpID0+IHRoaXMuZXh0cmFjdExvYWRQcm9taXNhYmxlKGNoaWxkKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubG9hZFByb21pc2UpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGUsIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tIFdlIG5lZWQgdG8gYnlwYXNzIHR5cGUgc3lzdGVtIHRvIHJldHVybiBgUHJvbWlzZTx2b2lkPmAuXG4gICAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZSBhcyB1bmtub3duIGFzIHZvaWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQgd2l0aCBwcm9taXNlcy5cbiAgICpcbiAgICogVW5saWtlIHtAbGluayBsb2FkfSwgdGhpcyBtZXRob2QgbmV2ZXIgcmVqZWN0cyB3aXRoIGFuIGluZGl2aWR1YWwgZXJyb3I6IGV2ZXJ5IGZhaWx1cmUgcmFpc2VkIGJ5IHtAbGluayBvbmxvYWRBc3luY31cbiAgICogb3IgYSBjaGlsZCdzIGxvYWQgaXMgY29sbGVjdGVkLCBhbmQgb25jZSBldmVyeXRoaW5nIHNldHRsZXMgdGhlIHJldHVybmVkIHtAbGluayBQcm9taXNlfSByZWplY3RzIHdpdGggYSBzaW5nbGVcbiAgICoge0BsaW5rIEFnZ3JlZ2F0ZUVycm9yfSBob2xkaW5nIGFsbCBvZiB0aGVtLiBOb24tYEVycm9yYCB0aHJvd2FibGVzIGFyZSBub3JtYWxpemVkIHZpYSB7QGxpbmsgRXJyb3JXcmFwcGVyLmNyZWF0ZX0uXG4gICAqXG4gICAqIFRoZSBgQWdncmVnYXRlRXJyb3JgIGlzIGJ1aWx0IGJ5IHtAbGluayBjcmVhdGVBZ2dyZWdhdGVFcnJvcn0sIHNvIGl0cyBvd24gYG1lc3NhZ2VgIG5hbWVzIHRoZSBmYWlsdXJlIHJhdGhlclxuICAgKiB0aGFuIGJlaW5nIGVtcHR5OiBhIGxvbmUgZmFpbHVyZSBsZW5kcyBpdHMgbWVzc2FnZSB0byBldmVyeSBhZ2dyZWdhdGUgYWJvdmUgaXQsIHdoaWNoIGlzIHdoYXQgbGV0cyBhIGNhbGxlclxuICAgKiBhc3NlcnQgb24gdGhlIHNlbnRlbmNlIHRoYXQgd2FzIGFjdHVhbGx5IHRocm93biB3aXRob3V0IHdhbGtpbmcgYGVycm9yc2AgdG8gZmluZCBpdC5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBmaW5pc2ggbG9hZGluZywgcmVqZWN0cyB3aXRoIGFuIHtAbGluayBBZ2dyZWdhdGVFcnJvcn0gaWYgYW55IGxvYWQgc3RlcCBmYWlsZWQsIG9yIGBudWxsYCBpZiB0aGUgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gZG9uJ3QgdXNlIGBhc3luY2AgbG9naWMgYW5kIG5vbmUgZmFpbGVkIHN5bmNocm9ub3VzbHkuXG4gICAqL1xuICBwdWJsaWMgbG9hZFdpdGhQcm9taXNlcygpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkKCk7XG5cbiAgICBjb25zdCBsb2FkUHJvbWlzZSA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgaWYgKCFsb2FkUHJvbWlzZSkge1xuICAgICAgcmV0dXJuIHRoaXMubG9hZEVycm9ycy5sZW5ndGggPiAwID8gUHJvbWlzZS5yZWplY3QoY3JlYXRlQWdncmVnYXRlRXJyb3IodGhpcy5sb2FkRXJyb3JzKSkgOiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmxvYWRFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBjcmVhdGVBZ2dyZWdhdGVFcnJvcih0aGlzLmxvYWRFcnJvcnMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzeW5jaHJvbm91c2x5IGxvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIE92ZXJyaWRlIHRvIGFkZCBhc3luYyBsb2FkIGxvZ2ljLCB3aGljaCBpcyBleGVjdXRlZCBhZnRlciB7QGxpbmsgQ29tcG9uZW50Lm9ubG9hZH0uXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAgICovXG4gIHB1YmxpYyBvbmxvYWRBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbm9vcEFzeW5jU2luZ2xldG9uUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSB7QGxpbmsgRGlzcG9zYWJsZX0gc28gaXQgaXMgZGlzcG9zZWQgd2hlbiB0aGlzIGNvbXBvbmVudCB1bmxvYWRzLCBhbmQgcmV0dXJucyBpdCB1bmNoYW5nZWQuXG4gICAqXG4gICAqIFRoZSByZWN1cnJpbmcgXCJ0aWUgYSBkaXNwb3NhYmxlIHRvIHRoZSBjb21wb25lbnQncyBsaWZlY3ljbGUsIHRoZW4ga2VlcCB1c2luZyBpdFwiIGlkaW9tOiB0aGUgZGlzcG9zYWJsZSBpc1xuICAgKiBkaXNwb3NlZCBvbiB7QGxpbmsgQ29tcG9uZW50LnVubG9hZH0gKG9yIGVhcmxpZXIsIGlmIHRoZSBjYWxsZXIgZGlzcG9zZXMgaXQgZGlyZWN0bHkgXHUyMDE0IGRpc3Bvc2UgaXMgZXhwZWN0ZWQgdG9cbiAgICogYmUgaWRlbXBvdGVudCkuIEd1YXJkIHdpdGgge0BsaW5rIGVuc3VyZUxvYWRlZH0gYXQgdGhlIGNhbGwgc2l0ZSB3aGVuIHJlZ2lzdGVyaW5nIGJlZm9yZSBsb2FkIHdvdWxkIGJlIHVuc2FmZS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBURGlzcG9zYWJsZSAtIFRoZSB0eXBlIG9mIHRoZSBkaXNwb3NhYmxlLlxuICAgKiBAcGFyYW0gZGlzcG9zYWJsZSAtIFRoZSBkaXNwb3NhYmxlIHRvIHJlZ2lzdGVyLlxuICAgKiBAcmV0dXJucyBUaGUgc2FtZSBkaXNwb3NhYmxlLCBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJEaXNwb3NhYmxlPFREaXNwb3NhYmxlIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVERpc3Bvc2FibGUpOiBURGlzcG9zYWJsZSB7XG4gICAgdGhpcy5yZWdpc3RlcigoKSA9PiB7XG4gICAgICBkaXNwb3NlKGRpc3Bvc2FibGUpO1xuICAgIH0pO1xuICAgIHJldHVybiBkaXNwb3NhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBjaGlsZCBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byByZW1vdmUuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIHJlbW92ZS5cbiAgICogQHJldHVybnMgVGhlIHJlbW92ZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIHN1cGVyLnJlbW92ZUNoaWxkKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGlsZHJlblNldC5kZWxldGUoY29tcG9uZW50KTtcbiAgICBpZiAoY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXggJiYgY29tcG9uZW50LnBhcmVudENvbXBvbmVudCA9PT0gdGhpcykge1xuICAgICAgY29tcG9uZW50LnBhcmVudENvbXBvbmVudCA9IG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBbU3ltYm9sLmRpc3Bvc2VdKCk6IHZvaWQge1xuICAgIHRoaXMudW5sb2FkKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgY29tcG9uZW50IGlzIGxvYWRlZCwgdGhyb3dpbmcgaWYgaXQgaXMgbm90LlxuICAgKlxuICAgKiBVc2UgdGhpcyB0byBndWFyZCBwdWJsaWMgbWV0aG9kcyB0aGF0IHJlZ2lzdGVyIHRlYXJkb3duLWJlYXJpbmcgcmVzb3VyY2VzICh2aWEge0BsaW5rIENvbXBvbmVudC5yZWdpc3Rlcn0sXG4gICAqIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJFdmVudH0sIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJEb21FdmVudH0sIGV0Yy4pLiBSZWdpc3RlcmluZyBiZWZvcmUgbG9hZCBpcyB1bnNhZmU6XG4gICAqIHtAbGluayBDb21wb25lbnQudW5sb2FkfSBpcyBhIG5vLW9wIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgbm90IGxvYWRlZCwgc28gYW55IHRlYXJkb3duIHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCB3b3VsZFxuICAgKiBuZXZlciBydW4gaWYgdGhlIGNvbXBvbmVudCBpcyB1bmxvYWRlZCB3aXRob3V0IGZpcnN0IGJlaW5nIGxvYWRlZC5cbiAgICpcbiAgICogVGhlIHR3byBub3QtbG9hZGVkIGNhc2VzIGFyZSBkZWxpYmVyYXRlbHkgZGlzdGluZ3Vpc2hlZC4gQSBjb21wb25lbnQgdGhhdCB3YXMgTkVWRVIgbG9hZGVkIGlzIGEgZ2VudWluZVxuICAgKiBwcm9ncmFtbWluZyBlcnJvciwgc28gaXQgdGhyb3dzIGEgbG91ZCB7QGxpbmsgRXJyb3J9LiBBIGNvbXBvbmVudCB0aGF0IGhhcyBBTFJFQURZIGJlZW4gdW5sb2FkZWQgaXMgbm90IFx1MjAxNFxuICAgKiBpdCBpcyB0aGUgZXhwZWN0ZWQgb3V0Y29tZSBvZiB3b3JrIHRoYXQgb3V0bGl2ZWQgaXRzIGNvbXBvbmVudCAoZS5nLiBhbiBgYXN5bmNgIG1ldGhvZCBzdXNwZW5kZWQgb24gYW5cbiAgICogYGF3YWl0YCB3aGlsZSB0aGUgY29tcG9uZW50IHdhcyB1bmxvYWRlZCwgdGhlbiByZXN1bWVkKSBcdTIwMTQgc28gaXQgdGhyb3dzIGEge0BsaW5rIFNpbGVudEVycm9yfSwgd2hpY2hcbiAgICogYGhhbmRsZVNpbGVudEVycm9yYCBzdXBwcmVzc2VzLCBsZXR0aW5nIHN1Y2ggd29yayB1bndpbmQgcXVpZXRseSBpbnN0ZWFkIG9mIHJlcG9ydGluZyBhbiBhc3luYyBlcnJvci5cbiAgICpcbiAgICogQHRocm93cyBBbiB7QGxpbmsgRXJyb3J9IGlmIHRoZSBjb21wb25lbnQgd2FzIG5ldmVyIGxvYWRlZCwgb3IgYSB7QGxpbmsgU2lsZW50RXJyb3J9IGlmIGl0IGhhcyBhbHJlYWR5IGJlZW4gdW5sb2FkZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZW5zdXJlTG9hZGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1VubG9hZGVkKCkpIHtcbiAgICAgIHRocm93IG5ldyBTaWxlbnRFcnJvcignQ29tcG9uZW50IGlzIGFscmVhZHkgdW5sb2FkZWQnKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbXBvbmVudCBpcyBub3QgbG9hZGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHNldHRsZXMgb25jZSBuZWl0aGVyIHRoaXMgY29tcG9uZW50IG5vciBhbnkge0BsaW5rIENvbXBvbmVudEV4fSBhbmNlc3RvciBoYXMgYSBsb2FkXG4gICAqIGluIGZsaWdodCwgb3IgYG51bGxgIHdoZW4gbm9uZSBvZiB0aGVtIGhhcyBvbmUgcmlnaHQgbm93LlxuICAgKlxuICAgKiB7QGxpbmsgZ2V0SW5GbGlnaHRMb2FkUHJvbWlzZX0gY292ZXJzIHRoaXMgY29tcG9uZW50J3MgT1dOIGxvYWQgb25seS4gQSBzaWJsaW5nIHRoaXMgY29tcG9uZW50IGRlcGVuZHMgb24gXHUyMDE0IG1vc3RcbiAgICogb2Z0ZW4gdGhlIG93bmluZyBwbHVnaW4ncyBzZXR0aW5ncyBjb21wb25lbnQsIHdoaWNoIHJlYWRzIGBkYXRhLmpzb25gIGFzeW5jaHJvbm91c2x5IFx1MjAxNCBpcyBvdXRzaWRlIGl0LCBidXQgaXQgaXNcbiAgICogaW5zaWRlIHRoZSBsb2FkIG9mIGEgc2hhcmVkIGFuY2VzdG9yLiBXYWl0aW5nIGZvciBldmVyeSBhbmNlc3RvciB0aGVyZWZvcmUgd2FpdHMgZm9yIHRoZSB3aG9sZSB0cmVlIHRoZSBjb21wb25lbnRcbiAgICogd2FzIGxvYWRlZCBhcyBwYXJ0IG9mOiB1bmRlciBgUGx1Z2luQmFzZWAgdGhlIGNoYWluIGVuZHMgYXQgdGhlIHBsdWdpbidzIHVuaXZlcnNhbCB3cmFwcGVyLCB3aG9zZSBsb2FkIGNvdmVycyB0aGVcbiAgICogZGVwZW5kZW5jeSBnYXRlLCB0aGUgZmVhdHVyZSBzdXJmYWNlIGFuZCBgb25sb2FkSW1wbGAuXG4gICAqXG4gICAqIFRoZSBjaGFpbiBpcyBmb2xsb3dlZCB0aHJvdWdoIHtAbGluayBDb21wb25lbnRFeH0gcGFyZW50cyBvbmx5LiBBIHBsYWluIHtAbGluayBDb21wb25lbnR9IGFueXdoZXJlIGJldHdlZW4gdGhpc1xuICAgKiBjb21wb25lbnQgYW5kIGFuIGFuY2VzdG9yIGVuZHMgaXQsIGJlY2F1c2UgYSBwbGFpbiBjb21wb25lbnQgcmVjb3JkcyBubyBwYXJlbnQgYW5kIGV4cG9zZXMgbm8gbG9hZCBwcm9taXNlLlxuICAgKlxuICAgKiBOZXZlciBhd2FpdCB0aGlzIGZyb20gaW5zaWRlIGEgbG9hZCBzdGVwIG9mIG9uZSBvZiB0aG9zZSBhbmNlc3RvcnM6IHRoZSBhbmNlc3RvcidzIGxvYWQgd291bGQgdGhlbiBiZSB3YWl0aW5nIGZvclxuICAgKiBpdHNlbGYuIEl0IGlzIG1lYW50IGZvciB3b3JrIHNjaGVkdWxlZCBPVVRTSURFIHRoZSBsb2FkLCBzdWNoIGFzIGEgbGF5b3V0LXJlYWR5IGhhbmRsZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBwcm9taXNlLCBvciBgbnVsbGAgaWYgbm90aGluZyBpbiB0aGUgYW5jZXN0cnkgaXMgbG9hZGluZy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2UoKTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmZpbmRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2UoKSA/IHRoaXMud2FpdEZvckFuY2VzdHJ5TG9hZCgpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb21wb25lbnQncyBpbi1mbGlnaHQgbG9hZCB7QGxpbmsgUHJvbWlzZX0gKGl0cyB7QGxpbmsgb25sb2FkQXN5bmN9IHBsdXMgY2hpbGRyZW4pLCBvciBgbnVsbGAgd2hlblxuICAgKiBub3RoaW5nIGlzIGxvYWRpbmcgXHUyMDE0IGVpdGhlciB0aGUgY29tcG9uZW50IGxvYWRlZCBmdWxseSBzeW5jaHJvbm91c2x5IG9yIGl0cyBhc3luYyBsb2FkIGhhcyBhbHJlYWR5IHNldHRsZWQuXG4gICAqXG4gICAqIExldHMgYSBjYWxsZXIgc2NoZWR1bGVkIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgc3RpbGwgbG9hZGluZyBhd2FpdCB0aGUgYXN5bmMgbG9hZCB0YWlsIGJlZm9yZSBhY3RpbmcsIGluc3RlYWQgb2ZcbiAgICogcmFjaW5nIGl0OiB7QGxpbmsgQ29tcG9uZW50Lm9ubG9hZH0gaGFzIHJ1biAoc28gYF9sb2FkZWRgIGlzIHNldCkgYnV0IHtAbGluayBvbmxvYWRBc3luY30gbWF5IG5vdCBoYXZlIGZpbmlzaGVkLlxuICAgKlxuICAgKiBJdCBjb3ZlcnMgdGhpcyBjb21wb25lbnQncyBPV04gbG9hZCBvbmx5LiBBIGNhbGxlciB0aGF0IGFsc28gZGVwZW5kcyBvbiBhIHNpYmxpbmcncyBzdGF0ZSBcdTIwMTQgYSBsYXlvdXQtcmVhZHkgaGFuZGxlclxuICAgKiByZWFkaW5nIHNldHRpbmdzIGlzIHRoZSBjb21tb24gb25lIFx1MjAxNCB3YW50cyB7QGxpbmsgZ2V0SW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlfSwgd2hpY2ggYExheW91dFJlYWR5Q29tcG9uZW50YFxuICAgKiB1c2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgaW4tZmxpZ2h0IGxvYWQgcHJvbWlzZSwgb3IgYG51bGxgIGlmIG5vIGxvYWQgaXMgaW4gZmxpZ2h0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEluRmxpZ2h0TG9hZFByb21pc2UoKTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgbW9zdCByZWNlbnQgbG9hZCByZWNvcmRlZCBhbnkgZmFpbHVyZS5cbiAgICpcbiAgICogUmVmbGVjdHMgdGhlIG91dGNvbWUgb2YgdGhlIGxhc3Qge0BsaW5rIGxvYWR9IC8ge0BsaW5rIGxvYWRXaXRoUHJvbWlzZXN9OiBgdHJ1ZWAgd2hlbiB7QGxpbmsgb25sb2FkQXN5bmN9IG9yIGFueVxuICAgKiBjaGlsZCdzIGxvYWQgdGhyZXcgKHN5bmNocm9ub3VzbHkgb3IgYXN5bmNocm9ub3VzbHkpLiBVbmxpa2Uge0BsaW5rIGxvYWRXaXRoUHJvbWlzZXN9LCByZWFkaW5nIHRoaXMgZG9lcyBOT1RcbiAgICogcmUtcmFpc2UgdGhlIGNvbGxlY3RlZCBlcnJvcnMgXHUyMDE0IGl0IGxldHMgYSBieXN0YW5kZXIgKGUuZy4gYSBsYXlvdXQtcmVhZHkgaGFuZGxlciBhd2FpdGluZyB0aGUgaW4tZmxpZ2h0IGxvYWQpIHRlbGxcbiAgICogd2hldGhlciB0aGUgbG9hZCBzdWNjZWVkZWQgd2l0aG91dCBhZG9wdGluZyBhIGZhaWx1cmUgdGhhdCB0aGUgbG9hZCdzIG93bmVyIGlzIGFscmVhZHkgcmVzcG9uc2libGUgZm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGxhc3QgbG9hZCByZWNvcmRlZCBhdCBsZWFzdCBvbmUgZXJyb3IsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhc0xvYWRFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZEVycm9ycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgY29tcG9uZW50IGhhcyBhbHJlYWR5IGJlZW4gdW5sb2FkZWQsIGFzIG9wcG9zZWQgdG8gc2ltcGx5IG5vdCBoYXZpbmcgYmVlbiBsb2FkZWQgeWV0LlxuICAgKlxuICAgKiBCb3RoIHN0YXRlcyBsZWF2ZSBgX2xvYWRlZGAgZmFsc2UsIGJ1dCB0aGV5IG1lYW4gb3Bwb3NpdGUgdGhpbmdzOiBhIGNvbXBvbmVudCB0aGF0IHdhcyBuZXZlciBsb2FkZWQgaXMgc3RpbGxcbiAgICogYWhlYWQgb2YgaXRzIGxpZmVjeWNsZSAocXVldWVpbmcgY2hpbGRyZW4gYmVmb3JlIGxvYWQgaXMgbGVnaXRpbWF0ZSksIHdoaWxlIGFuIHVubG9hZGVkIG9uZSBpcyBiZWhpbmQgaXQgYW5kXG4gICAqIG11c3Qgbm90IGJlIHVzZWQgYW55IGZ1cnRoZXIuIFRoZSBkaXN0aW5jdGlvbiBpcyB0cmFja2VkIGJ5IGEgZmxhZyBzZXQgaW4ge0BsaW5rIGxvYWR9LCBOT1QgYnkgYW5cbiAgICoge0BsaW5rIENvbXBvbmVudC5vbnVubG9hZH0gb3ZlcnJpZGUsIGJlY2F1c2Ugc3ViY2xhc3NlcyBvdmVycmlkZSBgb251bmxvYWRgIGFuZCBtYXkgbm90IGNhbGwgYHN1cGVyYC5cbiAgICpcbiAgICogVXNlIGl0IGluIGEgbG9uZy1ydW5uaW5nIGBhc3luY2AgbWV0aG9kIHRvIGFiYW5kb24gd29yayB3aG9zZSBjb21wb25lbnQgd2FzIHVubG9hZGVkIG1pZC1mbGlnaHQsIHdoZW5cbiAgICogdW53aW5kaW5nIHZpYSB0aGUge0BsaW5rIFNpbGVudEVycm9yfSB0aHJvd24gYnkge0BsaW5rIGVuc3VyZUxvYWRlZH0gLyB7QGxpbmsgYWRkQ2hpbGR9IGlzIG5vdCBkZXNpcmVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNvbXBvbmVudCB3YXMgbG9hZGVkIGF0IHNvbWUgcG9pbnQgYW5kIGlzIGN1cnJlbnRseSB1bmxvYWRlZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNVbmxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNCZWVuTG9hZGVkICYmICF0aGlzLl9sb2FkZWQ7XG4gIH1cblxuICAvKipcbiAgICogU2VxdWVuY2VzIGFuIGFscmVhZHktc3RhcnRlZCBsb2FkIHN0ZXAgaW50byB0aGUgbG9hZCBwcm9taXNlLlxuICAgKlxuICAgKiBUaGUgc3RlcCBpcyBwcmVzdW1lZCB0byBoYXZlIHN0YXJ0ZWQgc3luY2hyb25vdXNseSAoc28gYW55IGBfbG9hZGVkYCBmbGFnIGl0IHNldHMgaXMgYWxyZWFkeSB2aXNpYmxlKTsgb25seSB0aGVcbiAgICogYXdhaXRpbmcgb2YgaXRzIGFzeW5jIHRhaWwgaXMgc2VxdWVuY2VkIGhlcmUuXG4gICAqXG4gICAqIEBwYXJhbSBsb2FkUHJvbWlzYWJsZSAtIFRoZSByZXN1bHQgb2YgYW4gYWxyZWFkeS1zdGFydGVkIGxvYWQgc3RlcC5cbiAgICovXG4gIHByaXZhdGUgYXBwZW5kRWFnZXJMb2FkU3RlcChsb2FkUHJvbWlzYWJsZTogbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBjb25zdCBjYXB0dXJlZCA9IHRoaXMuY2FwdHVyZVNldHRsZWQobG9hZFByb21pc2FibGUpO1xuICAgIGlmICghY2FwdHVyZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgdGhpcy5zZXRMb2FkUHJvbWlzZShwcmV2aW91cyA/IHByZXZpb3VzLnRoZW4oKCkgPT4gY2FwdHVyZWQpIDogY2FwdHVyZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcXVlbmNlcyBhIGRlZmVycmVkIGxvYWQgc3RlcCBpbnRvIHRoZSBsb2FkIHByb21pc2UsIHJ1bm5pbmcgaXQgb25seSBhZnRlciBwcmV2aW91c2x5LWFwcGVuZGVkIHN0ZXBzIHNldHRsZS5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlRnVuY3Rpb24gLSBBIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBsb2FkIHN0ZXAgYW5kIHJldHVybnMgaXRzIHJlc3VsdC5cbiAgICovXG4gIHByaXZhdGUgYXBwZW5kU2VxdWVudGlhbExvYWRTdGVwKGxvYWRQcm9taXNhYmxlRnVuY3Rpb246ICgpID0+IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLmxvYWRQcm9taXNlO1xuICAgIGlmIChwcmV2aW91cykge1xuICAgICAgdGhpcy5zZXRMb2FkUHJvbWlzZShwcmV2aW91cy50aGVuKCgpID0+IHRoaXMucnVuQW5kQ2FwdHVyZShsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uKSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNhcHR1cmVkID0gdGhpcy5jYXB0dXJlU3luYyhsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uKTtcbiAgICBpZiAoY2FwdHVyZWQpIHtcbiAgICAgIHRoaXMuc2V0TG9hZFByb21pc2UoY2FwdHVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIGEgbG9hZCBmYWlsdXJlLlxuICAgKlxuICAgKiBBIGZhaWx1cmUgcmFpc2VkIGJ5IGEgY2hpbGQge0BsaW5rIENvbXBvbmVudEV4fSBpcyBpdHNlbGYgYW4ge0BsaW5rIEFnZ3JlZ2F0ZUVycm9yfTsgaXQgaXMgcmVjb3JkZWQgYXMtaXMgc28gdGhlXG4gICAqIGdyb3VwaW5nIGJ5IGNoaWxkIGNvbXBvbmVudCBpcyBwcmVzZXJ2ZWQgKG93biBmYWlsdXJlcyBzdGF5IGZsYXQsIGNoaWxkLXN1YnRyZWUgZmFpbHVyZXMgc3RheSBuZXN0ZWQpLlxuICAgKlxuICAgKiBAcGFyYW0gZXJyb3IgLSBUaGUgdGhyb3duIHZhbHVlIHRvIHJlY29yZC5cbiAgICovXG4gIHByaXZhdGUgY2FwdHVyZUVycm9yKGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkRXJyb3JzLnB1c2goRXJyb3JXcmFwcGVyLmNyZWF0ZShlcnJvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBzIGFuIGFscmVhZHktc3RhcnRlZCBsb2FkIHJlc3VsdCBzbyBpdCBuZXZlciByZWplY3RzOiBhbnkgZmFpbHVyZSBpcyByZWNvcmRlZCBpbnRvIGBsb2FkRXJyb3JzYC5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlIC0gVGhlIGxvYWQgcmVzdWx0IHRvIG9ic2VydmUuXG4gICAqIEByZXR1cm5zIEEgbmV2ZXItcmVqZWN0aW5nIHtAbGluayBQcm9taXNlfSwgb3IgYG51bGxgIGlmIHRoZSByZXN1bHQgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwcml2YXRlIGNhcHR1cmVTZXR0bGVkKGxvYWRQcm9taXNhYmxlOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbG9hZFByb21pc2FibGUgPT09IG51bGwgfHwgbG9hZFByb21pc2FibGUgPT09IHVuZGVmaW5lZFxuICAgICAgPyBudWxsXG4gICAgICA6IFByb21pc2UucmVzb2x2ZShsb2FkUHJvbWlzYWJsZSkudGhlbihub29wKS5jYXRjaCgoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgdGhpcy5jYXB0dXJlRXJyb3IoZXJyb3IpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhIGxvYWQgc3RlcCBzeW5jaHJvbm91c2x5LCByZWNvcmRpbmcgYSBzeW5jaHJvbm91cyB0aHJvdywgYW5kIHdyYXBzIGFueSBhc3luYyB0YWlsIHNvIGl0IG5ldmVyIHJlamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uIC0gQSBmdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgbG9hZCBzdGVwIGFuZCByZXR1cm5zIGl0cyByZXN1bHQuXG4gICAqIEByZXR1cm5zIEEgbmV2ZXItcmVqZWN0aW5nIHtAbGluayBQcm9taXNlfSwgb3IgYG51bGxgIGlmIHRoZSBzdGVwIGlzIGZ1bGx5IHN5bmNocm9ub3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBjYXB0dXJlU3luYyhsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uOiAoKSA9PiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgbG9hZFByb21pc2FibGU6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+O1xuICAgIHRyeSB7XG4gICAgICBsb2FkUHJvbWlzYWJsZSA9IGxvYWRQcm9taXNhYmxlRnVuY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5jYXB0dXJlRXJyb3IoZXJyb3IpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FwdHVyZVNldHRsZWQobG9hZFByb21pc2FibGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TG9hZFByb21pc2FibGUoY29tcG9uZW50OiBDb21wb25lbnQpOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNoaWxkcmVuU2V0Lmhhcyhjb21wb25lbnQpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctdm9pZC1leHByZXNzaW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb24gLS0gSXQgY2FuIGJlIGBQcm9taXNlPHZvaWQ+YCBpbiBydW50aW1lLiBXYW50IGV4cGxpY2l0bHkgY2FzdCB0byBzaG93IHdlIGtub3cgaXQgbWF5IGJlIHByb21pc2UsIGRlc3BpdGUgdGhlIGRlY2xhcmVkIHR5cGUgYHZvaWRgLlxuICAgIHJldHVybiBjb21wb25lbnQgaW5zdGFuY2VvZiBDb21wb25lbnRFeCA/IGNvbXBvbmVudC5sb2FkV2l0aFByb21pc2VzKCkgOiBjb21wb25lbnQubG9hZCgpIGFzIFByb21pc2FibGU8dm9pZD47XG4gIH1cblxuICBwcml2YXRlIGZpbmRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2UoKTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlID8/IHRoaXMucGFyZW50Q29tcG9uZW50Py5maW5kSW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlKCkgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRMb2FkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkRXJyb3JzID0gW107XG4gICAgdGhpcy5sb2FkUHJvbWlzZSA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhIGRlZmVycmVkIGxvYWQgc3RlcCwgcmVjb3JkaW5nIGEgc3luY2hyb25vdXMgdGhyb3cgb3IgYW4gYXN5bmMgcmVqZWN0aW9uIHdpdGhvdXQgZXZlciByZS10aHJvd2luZy5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlRnVuY3Rpb24gLSBBIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBsb2FkIHN0ZXAgYW5kIHJldHVybnMgaXRzIHJlc3VsdC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcnVuQW5kQ2FwdHVyZShsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uOiAoKSA9PiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCAobG9hZFByb21pc2FibGVGdW5jdGlvbigpID8/IHVuZGVmaW5lZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuY2FwdHVyZUVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRQcm9taXNlKGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgbG9hZFByb21pc2VXaXRoUmVzZXQ6IFByb21pc2U8dm9pZD4gPSBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmxvYWRQcm9taXNlID09PSBsb2FkUHJvbWlzZVdpdGhSZXNldCkge1xuICAgICAgICB0aGlzLmxvYWRQcm9taXNlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmxvYWRQcm9taXNlID0gbG9hZFByb21pc2VXaXRoUmVzZXQ7XG4gIH1cblxuICAvKipcbiAgICogQXdhaXRzIGluLWZsaWdodCBsb2FkcyBpbiB0aGUgYW5jZXN0cnkgdW50aWwgbm9uZSBpcyBsZWZ0LlxuICAgKlxuICAgKiBMb29wZWQgcmF0aGVyIHRoYW4gYXdhaXRlZCBvbmNlLCBiZWNhdXNlIGFuIGFuY2VzdG9yJ3MgbG9hZCBjYW4gZ3JvdyB3aGlsZSBpdCBpcyBiZWluZyBhd2FpdGVkOiBhIGNoaWxkIGFkZGVkXG4gICAqIHRvIGFuIGFscmVhZHktbG9hZGVkIGNvbXBvbmVudCBhcHBlbmRzIGl0cyBhc3luYyB0YWlsIHRvIHRoYXQgY29tcG9uZW50J3MgbG9hZCBwcm9taXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB3YWl0Rm9yQW5jZXN0cnlMb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBsb2FkUHJvbWlzZSA9IHRoaXMuZmluZEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZSgpO1xuICAgIHdoaWxlIChsb2FkUHJvbWlzZSkge1xuICAgICAgYXdhaXQgbG9hZFByb21pc2U7XG4gICAgICBsb2FkUHJvbWlzZSA9IHRoaXMuZmluZEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZSgpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLDZCQUFxQztBQUNyQyxtQkFBeUI7QUFDekIsd0JBQXdCO0FBQ3hCLG1CQUdPO0FBQ1Asc0JBR087QUFDUCxzQkFBMEI7QUFNbkIsTUFBTSxvQkFBb0IsMEJBQWdDO0FBQUEsRUFDOUMsY0FBYyxvQkFBSSxJQUFlO0FBQUEsRUFDMUMsZ0JBQWdCO0FBQUEsRUFDaEIsYUFBc0IsQ0FBQztBQUFBLEVBQ3ZCLGNBQW9DO0FBQUEsRUFDcEMsa0JBQXNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFvQjlCLFNBQXVDLFdBQW1DO0FBQ3hGLFFBQUksS0FBSyxXQUFXLEdBQUc7QUFDckIsWUFBTSxJQUFJ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