@mnaoumov/obsidian-lib 0.0.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +7 -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 +1680 -0
  159. package/dist/lib/cjs/__merged.d.cts +205 -0
  160. package/dist/lib/cjs/active-file-provider.cjs +185 -0
  161. package/dist/lib/cjs/active-file-provider.d.cts +36 -0
  162. package/dist/lib/cjs/app.cjs +177 -0
  163. package/dist/lib/cjs/app.d.cts +17 -0
  164. package/dist/lib/cjs/async-with-notice.cjs +259 -0
  165. package/dist/lib/cjs/async-with-notice.d.cts +113 -0
  166. package/dist/lib/cjs/attachment-path.cjs +403 -0
  167. package/dist/lib/cjs/attachment-path.d.cts +341 -0
  168. package/dist/lib/cjs/attachment-unit-folder.cjs +192 -0
  169. package/dist/lib/cjs/attachment-unit-folder.d.cts +103 -0
  170. package/dist/lib/cjs/backlink-index.cjs +273 -0
  171. package/dist/lib/cjs/backlink-index.d.cts +51 -0
  172. package/dist/lib/cjs/backlink.cjs +241 -0
  173. package/dist/lib/cjs/backlink.d.cts +66 -0
  174. package/dist/lib/cjs/bases-view-registrar.cjs +186 -0
  175. package/dist/lib/cjs/bases-view-registrar.d.cts +52 -0
  176. package/dist/lib/cjs/callout.cjs +244 -0
  177. package/dist/lib/cjs/callout.d.cts +76 -0
  178. package/dist/lib/cjs/canvas.cjs +239 -0
  179. package/dist/lib/cjs/canvas.d.cts +28 -0
  180. package/dist/lib/cjs/case-insensitive-file-index.cjs +268 -0
  181. package/dist/lib/cjs/case-insensitive-file-index.d.cts +92 -0
  182. package/dist/lib/cjs/code-block-markdown-information.cjs +155 -0
  183. package/dist/lib/cjs/code-block-markdown-information.d.cts +48 -0
  184. package/dist/lib/cjs/code-block-reg-exp.cjs +169 -0
  185. package/dist/lib/cjs/code-block-reg-exp.d.cts +39 -0
  186. package/dist/lib/cjs/codemirror/index.cjs +177 -0
  187. package/dist/lib/cjs/codemirror/index.d.cts +2 -0
  188. package/dist/lib/cjs/codemirror/state-field-spec.cjs +155 -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 +440 -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 +302 -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 +224 -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 +372 -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 +309 -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 +317 -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 +209 -0
  203. package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +40 -0
  204. package/dist/lib/cjs/command-handlers/index.cjs +204 -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 +233 -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 +198 -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 +211 -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 +193 -0
  213. package/dist/lib/cjs/command-registrar.d.cts +48 -0
  214. package/dist/lib/cjs/community-plugins.cjs +346 -0
  215. package/dist/lib/cjs/community-plugins.d.cts +270 -0
  216. package/dist/lib/cjs/components/abort-signal-component.cjs +196 -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 +238 -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 +200 -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 +172 -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 +210 -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 +528 -0
  227. package/dist/lib/cjs/components/component-ex.d.cts +229 -0
  228. package/dist/lib/cjs/components/console-debug-component.cjs +194 -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 +226 -0
  231. package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +102 -0
  232. package/dist/lib/cjs/components/disposable-component.cjs +178 -0
  233. package/dist/lib/cjs/components/disposable-component.d.cts +24 -0
  234. package/dist/lib/cjs/components/embed-extensions-component.cjs +198 -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 +194 -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 +261 -0
  239. package/dist/lib/cjs/components/index.d.cts +30 -0
  240. package/dist/lib/cjs/components/layout-ready-component.cjs +235 -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 +220 -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 +269 -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 +345 -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 +204 -0
  249. package/dist/lib/cjs/components/plugin-context-component.d.cts +36 -0
  250. package/dist/lib/cjs/components/plugin-gate-component.cjs +572 -0
  251. package/dist/lib/cjs/components/plugin-gate-component.d.cts +332 -0
  252. package/dist/lib/cjs/components/plugin-notice-component.cjs +653 -0
  253. package/dist/lib/cjs/components/plugin-notice-component.d.cts +362 -0
  254. package/dist/lib/cjs/components/plugin-settings-component.cjs +668 -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 +194 -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 +302 -0
  259. package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +162 -0
  260. package/dist/lib/cjs/components/pointer-position-component.cjs +190 -0
  261. package/dist/lib/cjs/components/pointer-position-component.d.cts +29 -0
  262. package/dist/lib/cjs/components/registry-component.cjs +211 -0
  263. package/dist/lib/cjs/components/registry-component.d.cts +37 -0
  264. package/dist/lib/cjs/components/release-notes-component.cjs +249 -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 +1299 -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 +214 -0
  269. package/dist/lib/cjs/components/rmdir-guard-component.d.cts +76 -0
  270. package/dist/lib/cjs/components/settings-migration-component.cjs +246 -0
  271. package/dist/lib/cjs/components/settings-migration-component.d.cts +120 -0
  272. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +272 -0
  273. package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +149 -0
  274. package/dist/lib/cjs/components/templates-language-component.cjs +300 -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 +270 -0
  277. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +22 -0
  278. package/dist/lib/cjs/constructors/index.cjs +177 -0
  279. package/dist/lib/cjs/constructors/index.d.cts +2 -0
  280. package/dist/lib/cjs/css-class.cjs +232 -0
  281. package/dist/lib/cjs/css-class.d.cts +278 -0
  282. package/dist/lib/cjs/data-handler.cjs +194 -0
  283. package/dist/lib/cjs/data-handler.d.cts +49 -0
  284. package/dist/lib/cjs/dataview-link.cjs +184 -0
  285. package/dist/lib/cjs/dataview-link.d.cts +42 -0
  286. package/dist/lib/cjs/dataview.cjs +403 -0
  287. package/dist/lib/cjs/dataview.d.cts +249 -0
  288. package/dist/lib/cjs/debug.cjs +172 -0
  289. package/dist/lib/cjs/debug.d.cts +19 -0
  290. package/dist/lib/cjs/demo-vault-helper-settings.cjs +155 -0
  291. package/dist/lib/cjs/demo-vault-helper-settings.d.cts +29 -0
  292. package/dist/lib/cjs/demo-vault-helper.cjs +256 -0
  293. package/dist/lib/cjs/demo-vault-helper.d.cts +61 -0
  294. package/dist/lib/cjs/demo-vault-naming.cjs +181 -0
  295. package/dist/lib/cjs/demo-vault-naming.d.cts +54 -0
  296. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +372 -0
  297. package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +76 -0
  298. package/dist/lib/cjs/desktop-trusted-input.cjs +325 -0
  299. package/dist/lib/cjs/desktop-trusted-input.d.cts +288 -0
  300. package/dist/lib/cjs/editor-extension-registrar.cjs +186 -0
  301. package/dist/lib/cjs/editor-extension-registrar.d.cts +37 -0
  302. package/dist/lib/cjs/editor-suggest-registrar.cjs +186 -0
  303. package/dist/lib/cjs/editor-suggest-registrar.d.cts +36 -0
  304. package/dist/lib/cjs/editor.cjs +224 -0
  305. package/dist/lib/cjs/editor.d.cts +45 -0
  306. package/dist/lib/cjs/events.cjs +196 -0
  307. package/dist/lib/cjs/events.d.cts +98 -0
  308. package/dist/lib/cjs/extensions-registrar.cjs +186 -0
  309. package/dist/lib/cjs/extensions-registrar.d.cts +51 -0
  310. package/dist/lib/cjs/file-change.cjs +582 -0
  311. package/dist/lib/cjs/file-change.d.cts +156 -0
  312. package/dist/lib/cjs/file-explorer.cjs +181 -0
  313. package/dist/lib/cjs/file-explorer.d.cts +34 -0
  314. package/dist/lib/cjs/file-manager.cjs +275 -0
  315. package/dist/lib/cjs/file-manager.d.cts +123 -0
  316. package/dist/lib/cjs/file-system.cjs +595 -0
  317. package/dist/lib/cjs/file-system.d.cts +554 -0
  318. package/dist/lib/cjs/folder-note.cjs +285 -0
  319. package/dist/lib/cjs/folder-note.d.cts +166 -0
  320. package/dist/lib/cjs/frontmatter-formatting.cjs +472 -0
  321. package/dist/lib/cjs/frontmatter-formatting.d.cts +44 -0
  322. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +183 -0
  323. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +34 -0
  324. package/dist/lib/cjs/frontmatter.cjs +295 -0
  325. package/dist/lib/cjs/frontmatter.d.cts +145 -0
  326. package/dist/lib/cjs/generated-during-build.cjs +170 -0
  327. package/dist/lib/cjs/generated-during-build.d.cts +19 -0
  328. package/dist/lib/cjs/hover-link-source-registrar.cjs +186 -0
  329. package/dist/lib/cjs/hover-link-source-registrar.d.cts +52 -0
  330. package/dist/lib/cjs/html-element.cjs +207 -0
  331. package/dist/lib/cjs/html-element.d.cts +98 -0
  332. package/dist/lib/cjs/i18n/custom-type-options.cjs +156 -0
  333. package/dist/lib/cjs/i18n/custom-type-options.d.cts +38 -0
  334. package/dist/lib/cjs/i18n/default-translations.cjs +156 -0
  335. package/dist/lib/cjs/i18n/default-translations.d.cts +15 -0
  336. package/dist/lib/cjs/i18n/i18n.cjs +216 -0
  337. package/dist/lib/cjs/i18n/i18n.d.cts +38 -0
  338. package/dist/lib/cjs/i18n/index.cjs +186 -0
  339. package/dist/lib/cjs/i18n/index.d.cts +5 -0
  340. package/dist/lib/cjs/i18n/locales/en.cjs +248 -0
  341. package/dist/lib/cjs/i18n/locales/en.d.cts +91 -0
  342. package/dist/lib/cjs/i18n/locales/index.cjs +180 -0
  343. package/dist/lib/cjs/i18n/locales/index.d.cts +3 -0
  344. package/dist/lib/cjs/i18n/locales/translations-map.cjs +174 -0
  345. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +100 -0
  346. package/dist/lib/cjs/index.cjs +459 -0
  347. package/dist/lib/cjs/index.d.cts +96 -0
  348. package/dist/lib/cjs/is-in-obsidian.cjs +178 -0
  349. package/dist/lib/cjs/is-in-obsidian.d.cts +12 -0
  350. package/dist/lib/cjs/library-styles.cjs +197 -0
  351. package/dist/lib/cjs/library-styles.d.cts +56 -0
  352. package/dist/lib/cjs/library.cjs +205 -0
  353. package/dist/lib/cjs/library.d.cts +57 -0
  354. package/dist/lib/cjs/link-name.cjs +169 -0
  355. package/dist/lib/cjs/link-name.d.cts +23 -0
  356. package/dist/lib/cjs/link-update-progress.cjs +155 -0
  357. package/dist/lib/cjs/link-update-progress.d.cts +32 -0
  358. package/dist/lib/cjs/link.cjs +1077 -0
  359. package/dist/lib/cjs/link.d.cts +1369 -0
  360. package/dist/lib/cjs/logger.cjs +236 -0
  361. package/dist/lib/cjs/logger.d.cts +37 -0
  362. package/dist/lib/cjs/loop.cjs +267 -0
  363. package/dist/lib/cjs/loop.d.cts +104 -0
  364. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +190 -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 +468 -0
  367. package/dist/lib/cjs/markdown-code-block-processor.d.cts +137 -0
  368. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +187 -0
  369. package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +59 -0
  370. package/dist/lib/cjs/markdown-view.cjs +175 -0
  371. package/dist/lib/cjs/markdown-view.d.cts +14 -0
  372. package/dist/lib/cjs/markdown.cjs +494 -0
  373. package/dist/lib/cjs/markdown.d.cts +226 -0
  374. package/dist/lib/cjs/menu-event-registrar.cjs +155 -0
  375. package/dist/lib/cjs/menu-event-registrar.d.cts +84 -0
  376. package/dist/lib/cjs/metadata-cache.cjs +568 -0
  377. package/dist/lib/cjs/metadata-cache.d.cts +359 -0
  378. package/dist/lib/cjs/mobile-trusted-input.cjs +209 -0
  379. package/dist/lib/cjs/mobile-trusted-input.d.cts +98 -0
  380. package/dist/lib/cjs/modals/alert.cjs +202 -0
  381. package/dist/lib/cjs/modals/alert.d.cts +35 -0
  382. package/dist/lib/cjs/modals/confirm.cjs +212 -0
  383. package/dist/lib/cjs/modals/confirm.d.cts +39 -0
  384. package/dist/lib/cjs/modals/index.cjs +201 -0
  385. package/dist/lib/cjs/modals/index.d.cts +10 -0
  386. package/dist/lib/cjs/modals/minimizable-modal.cjs +465 -0
  387. package/dist/lib/cjs/modals/minimizable-modal.d.cts +129 -0
  388. package/dist/lib/cjs/modals/modal-command-builder.cjs +482 -0
  389. package/dist/lib/cjs/modals/modal-command-builder.d.cts +285 -0
  390. package/dist/lib/cjs/modals/modal.cjs +200 -0
  391. package/dist/lib/cjs/modals/modal.d.cts +64 -0
  392. package/dist/lib/cjs/modals/prompt.cjs +280 -0
  393. package/dist/lib/cjs/modals/prompt.d.cts +83 -0
  394. package/dist/lib/cjs/modals/select-item.cjs +225 -0
  395. package/dist/lib/cjs/modals/select-item.d.cts +55 -0
  396. package/dist/lib/cjs/modals/select-option.cjs +213 -0
  397. package/dist/lib/cjs/modals/select-option.d.cts +65 -0
  398. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +168 -0
  399. package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +35 -0
  400. package/dist/lib/cjs/note-priority.cjs +258 -0
  401. package/dist/lib/cjs/note-priority.d.cts +154 -0
  402. package/dist/lib/cjs/notebook-navigator.cjs +187 -0
  403. package/dist/lib/cjs/notebook-navigator.d.cts +132 -0
  404. package/dist/lib/cjs/obsidian-dev-utils-state.cjs +199 -0
  405. package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +42 -0
  406. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +189 -0
  407. package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +55 -0
  408. package/dist/lib/cjs/obsidian-settings.cjs +206 -0
  409. package/dist/lib/cjs/obsidian-settings.d.cts +62 -0
  410. package/dist/lib/cjs/parse-link.cjs +562 -0
  411. package/dist/lib/cjs/parse-link.d.cts +288 -0
  412. package/dist/lib/cjs/path-settings.cjs +293 -0
  413. package/dist/lib/cjs/path-settings.d.cts +56 -0
  414. package/dist/lib/cjs/pdf.cjs +197 -0
  415. package/dist/lib/cjs/pdf.d.cts +26 -0
  416. package/dist/lib/cjs/plugin/index.cjs +198 -0
  417. package/dist/lib/cjs/plugin/index.d.cts +9 -0
  418. package/dist/lib/cjs/plugin/plugin-api.cjs +543 -0
  419. package/dist/lib/cjs/plugin/plugin-api.d.cts +413 -0
  420. package/dist/lib/cjs/plugin/plugin-context.cjs +215 -0
  421. package/dist/lib/cjs/plugin/plugin-context.d.cts +27 -0
  422. package/dist/lib/cjs/plugin/plugin-event-source.cjs +250 -0
  423. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +97 -0
  424. package/dist/lib/cjs/plugin/plugin-install-state.cjs +219 -0
  425. package/dist/lib/cjs/plugin/plugin-install-state.d.cts +113 -0
  426. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +175 -0
  427. package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +127 -0
  428. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +635 -0
  429. package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +368 -0
  430. package/dist/lib/cjs/plugin/plugin.cjs +730 -0
  431. package/dist/lib/cjs/plugin/plugin.d.cts +363 -0
  432. package/dist/lib/cjs/plugin/settings-migration-api.cjs +155 -0
  433. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +91 -0
  434. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +187 -0
  435. package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +64 -0
  436. package/dist/lib/cjs/popovers/field-popover.cjs +206 -0
  437. package/dist/lib/cjs/popovers/field-popover.d.cts +75 -0
  438. package/dist/lib/cjs/popovers/index.cjs +183 -0
  439. package/dist/lib/cjs/popovers/index.d.cts +4 -0
  440. package/dist/lib/cjs/popovers/popover-anchor.cjs +206 -0
  441. package/dist/lib/cjs/popovers/popover-anchor.d.cts +67 -0
  442. package/dist/lib/cjs/popovers/popover.cjs +253 -0
  443. package/dist/lib/cjs/popovers/popover.d.cts +78 -0
  444. package/dist/lib/cjs/property-entry.cjs +196 -0
  445. package/dist/lib/cjs/property-entry.d.cts +43 -0
  446. package/dist/lib/cjs/queue.cjs +236 -0
  447. package/dist/lib/cjs/queue.d.cts +93 -0
  448. package/dist/lib/cjs/react/app-context.cjs +175 -0
  449. package/dist/lib/cjs/react/app-context.d.cts +24 -0
  450. package/dist/lib/cjs/react/index.cjs +177 -0
  451. package/dist/lib/cjs/react/index.d.cts +2 -0
  452. package/dist/lib/cjs/reference.cjs +210 -0
  453. package/dist/lib/cjs/reference.d.cts +116 -0
  454. package/dist/lib/cjs/resource-lock.cjs +1120 -0
  455. package/dist/lib/cjs/resource-lock.d.cts +318 -0
  456. package/dist/lib/cjs/resource-url.cjs +180 -0
  457. package/dist/lib/cjs/resource-url.d.cts +31 -0
  458. package/dist/lib/cjs/ribbon-icon-registrar.cjs +187 -0
  459. package/dist/lib/cjs/ribbon-icon-registrar.d.cts +60 -0
  460. package/dist/lib/cjs/setting-components/checkbox-component.cjs +240 -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 +402 -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 +204 -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 +204 -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 +215 -0
  469. package/dist/lib/cjs/setting-components/email-component.d.cts +49 -0
  470. package/dist/lib/cjs/setting-components/file-component.cjs +207 -0
  471. package/dist/lib/cjs/setting-components/file-component.d.cts +43 -0
  472. package/dist/lib/cjs/setting-components/index.cjs +252 -0
  473. package/dist/lib/cjs/setting-components/index.d.cts +27 -0
  474. package/dist/lib/cjs/setting-components/month-component.cjs +212 -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 +277 -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 +201 -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 +209 -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 +296 -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 +225 -0
  485. package/dist/lib/cjs/setting-components/number-component.d.cts +56 -0
  486. package/dist/lib/cjs/setting-components/password-component.cjs +201 -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 +184 -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 +215 -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 +194 -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 +209 -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 +241 -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 +286 -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 +288 -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 +199 -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 +256 -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 +215 -0
  507. package/dist/lib/cjs/setting-components/url-component.d.cts +49 -0
  508. package/dist/lib/cjs/setting-components/validator-component.cjs +254 -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 +155 -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 +212 -0
  513. package/dist/lib/cjs/setting-components/week-component.d.cts +51 -0
  514. package/dist/lib/cjs/setting-ex.cjs +396 -0
  515. package/dist/lib/cjs/setting-ex.d.cts +198 -0
  516. package/dist/lib/cjs/setting-group-ex.cjs +189 -0
  517. package/dist/lib/cjs/setting-group-ex.d.cts +26 -0
  518. package/dist/lib/cjs/status-bar-item-registrar.cjs +186 -0
  519. package/dist/lib/cjs/status-bar-item-registrar.d.cts +36 -0
  520. package/dist/lib/cjs/templater.cjs +303 -0
  521. package/dist/lib/cjs/templater.d.cts +284 -0
  522. package/dist/lib/cjs/transformers/duration-transformer.cjs +206 -0
  523. package/dist/lib/cjs/transformers/duration-transformer.d.cts +39 -0
  524. package/dist/lib/cjs/transformers/index.cjs +177 -0
  525. package/dist/lib/cjs/transformers/index.d.cts +2 -0
  526. package/dist/lib/cjs/trusted-input.cjs +220 -0
  527. package/dist/lib/cjs/trusted-input.d.cts +131 -0
  528. package/dist/lib/cjs/validation.cjs +213 -0
  529. package/dist/lib/cjs/validation.d.cts +87 -0
  530. package/dist/lib/cjs/vault-delete.cjs +246 -0
  531. package/dist/lib/cjs/vault-delete.d.cts +82 -0
  532. package/dist/lib/cjs/vault-transaction.cjs +436 -0
  533. package/dist/lib/cjs/vault-transaction.d.cts +163 -0
  534. package/dist/lib/cjs/vault.cjs +725 -0
  535. package/dist/lib/cjs/vault.d.cts +506 -0
  536. package/dist/lib/cjs/view-registrar.cjs +186 -0
  537. package/dist/lib/cjs/view-registrar.d.cts +52 -0
  538. package/dist/lib/cjs/workspace.cjs +210 -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 +1532 -0
  594. package/dist/lib/esm/active-file-provider.d.mts +36 -0
  595. package/dist/lib/esm/active-file-provider.mjs +72 -0
  596. package/dist/lib/esm/app.d.mts +17 -0
  597. package/dist/lib/esm/app.mjs +64 -0
  598. package/dist/lib/esm/async-with-notice.d.mts +113 -0
  599. package/dist/lib/esm/async-with-notice.mjs +149 -0
  600. package/dist/lib/esm/attachment-path.d.mts +341 -0
  601. package/dist/lib/esm/attachment-path.mjs +302 -0
  602. package/dist/lib/esm/attachment-unit-folder.d.mts +103 -0
  603. package/dist/lib/esm/attachment-unit-folder.mjs +78 -0
  604. package/dist/lib/esm/backlink-index.d.mts +51 -0
  605. package/dist/lib/esm/backlink-index.mjs +160 -0
  606. package/dist/lib/esm/backlink.d.mts +66 -0
  607. package/dist/lib/esm/backlink.mjs +131 -0
  608. package/dist/lib/esm/bases-view-registrar.d.mts +52 -0
  609. package/dist/lib/esm/bases-view-registrar.mjs +73 -0
  610. package/dist/lib/esm/callout.d.mts +76 -0
  611. package/dist/lib/esm/callout.mjs +132 -0
  612. package/dist/lib/esm/canvas.d.mts +28 -0
  613. package/dist/lib/esm/canvas.mjs +129 -0
  614. package/dist/lib/esm/case-insensitive-file-index.d.mts +92 -0
  615. package/dist/lib/esm/case-insensitive-file-index.mjs +152 -0
  616. package/dist/lib/esm/code-block-markdown-information.d.mts +48 -0
  617. package/dist/lib/esm/code-block-markdown-information.mjs +50 -0
  618. package/dist/lib/esm/code-block-reg-exp.d.mts +39 -0
  619. package/dist/lib/esm/code-block-reg-exp.mjs +56 -0
  620. package/dist/lib/esm/codemirror/index.d.mts +2 -0
  621. package/dist/lib/esm/codemirror/index.mjs +54 -0
  622. package/dist/lib/esm/codemirror/state-field-spec.d.mts +72 -0
  623. package/dist/lib/esm/codemirror/state-field-spec.mjs +50 -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 +330 -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 +193 -0
  628. package/dist/lib/esm/command-handlers/command-handler.d.mts +107 -0
  629. package/dist/lib/esm/command-handlers/command-handler.mjs +111 -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 +262 -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 +200 -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 +208 -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 +96 -0
  638. package/dist/lib/esm/command-handlers/index.d.mts +11 -0
  639. package/dist/lib/esm/command-handlers/index.mjs +72 -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 +110 -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 +85 -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 +98 -0
  646. package/dist/lib/esm/command-registrar.d.mts +48 -0
  647. package/dist/lib/esm/command-registrar.mjs +80 -0
  648. package/dist/lib/esm/community-plugins.d.mts +270 -0
  649. package/dist/lib/esm/community-plugins.mjs +222 -0
  650. package/dist/lib/esm/components/abort-signal-component.d.mts +30 -0
  651. package/dist/lib/esm/components/abort-signal-component.mjs +83 -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 +125 -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 +87 -0
  656. package/dist/lib/esm/components/async-events-component.d.mts +15 -0
  657. package/dist/lib/esm/components/async-events-component.mjs +59 -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 +101 -0
  660. package/dist/lib/esm/components/component-ex.d.mts +229 -0
  661. package/dist/lib/esm/components/component-ex.mjs +421 -0
  662. package/dist/lib/esm/components/console-debug-component.d.mts +30 -0
  663. package/dist/lib/esm/components/console-debug-component.mjs +81 -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 +113 -0
  666. package/dist/lib/esm/components/disposable-component.d.mts +24 -0
  667. package/dist/lib/esm/components/disposable-component.mjs +65 -0
  668. package/dist/lib/esm/components/embed-extensions-component.d.mts +38 -0
  669. package/dist/lib/esm/components/embed-extensions-component.mjs +85 -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 +81 -0
  672. package/dist/lib/esm/components/index.d.mts +30 -0
  673. package/dist/lib/esm/components/index.mjs +110 -0
  674. package/dist/lib/esm/components/layout-ready-component.d.mts +48 -0
  675. package/dist/lib/esm/components/layout-ready-component.mjs +121 -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 +107 -0
  678. package/dist/lib/esm/components/monkey-around-component.d.mts +241 -0
  679. package/dist/lib/esm/components/monkey-around-component.mjs +154 -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 +235 -0
  682. package/dist/lib/esm/components/plugin-context-component.d.mts +36 -0
  683. package/dist/lib/esm/components/plugin-context-component.mjs +94 -0
  684. package/dist/lib/esm/components/plugin-gate-component.d.mts +332 -0
  685. package/dist/lib/esm/components/plugin-gate-component.mjs +472 -0
  686. package/dist/lib/esm/components/plugin-notice-component.d.mts +362 -0
  687. package/dist/lib/esm/components/plugin-notice-component.mjs +543 -0
  688. package/dist/lib/esm/components/plugin-settings-component.d.mts +362 -0
  689. package/dist/lib/esm/components/plugin-settings-component.mjs +562 -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 +81 -0
  692. package/dist/lib/esm/components/plugin-suggestion-component.d.mts +162 -0
  693. package/dist/lib/esm/components/plugin-suggestion-component.mjs +192 -0
  694. package/dist/lib/esm/components/pointer-position-component.d.mts +29 -0
  695. package/dist/lib/esm/components/pointer-position-component.mjs +77 -0
  696. package/dist/lib/esm/components/registry-component.d.mts +37 -0
  697. package/dist/lib/esm/components/registry-component.mjs +98 -0
  698. package/dist/lib/esm/components/release-notes-component.d.mts +129 -0
  699. package/dist/lib/esm/components/release-notes-component.mjs +136 -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 +1238 -0
  702. package/dist/lib/esm/components/rmdir-guard-component.d.mts +76 -0
  703. package/dist/lib/esm/components/rmdir-guard-component.mjs +100 -0
  704. package/dist/lib/esm/components/settings-migration-component.d.mts +120 -0
  705. package/dist/lib/esm/components/settings-migration-component.mjs +133 -0
  706. package/dist/lib/esm/components/syntax-highlighting-component.d.mts +149 -0
  707. package/dist/lib/esm/components/syntax-highlighting-component.mjs +159 -0
  708. package/dist/lib/esm/components/templates-language-component.d.mts +124 -0
  709. package/dist/lib/esm/components/templates-language-component.mjs +187 -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 +157 -0
  712. package/dist/lib/esm/constructors/index.d.mts +2 -0
  713. package/dist/lib/esm/constructors/index.mjs +54 -0
  714. package/dist/lib/esm/css-class.d.mts +278 -0
  715. package/dist/lib/esm/css-class.mjs +119 -0
  716. package/dist/lib/esm/data-handler.d.mts +49 -0
  717. package/dist/lib/esm/data-handler.mjs +81 -0
  718. package/dist/lib/esm/dataview-link.d.mts +42 -0
  719. package/dist/lib/esm/dataview-link.mjs +74 -0
  720. package/dist/lib/esm/dataview.d.mts +249 -0
  721. package/dist/lib/esm/dataview.mjs +288 -0
  722. package/dist/lib/esm/debug.d.mts +19 -0
  723. package/dist/lib/esm/debug.mjs +59 -0
  724. package/dist/lib/esm/demo-vault-helper-settings.d.mts +29 -0
  725. package/dist/lib/esm/demo-vault-helper-settings.mjs +50 -0
  726. package/dist/lib/esm/demo-vault-helper.d.mts +61 -0
  727. package/dist/lib/esm/demo-vault-helper.mjs +150 -0
  728. package/dist/lib/esm/demo-vault-naming.d.mts +54 -0
  729. package/dist/lib/esm/demo-vault-naming.mjs +67 -0
  730. package/dist/lib/esm/desktop-demo-vault-opener.d.mts +76 -0
  731. package/dist/lib/esm/desktop-demo-vault-opener.mjs +274 -0
  732. package/dist/lib/esm/desktop-trusted-input.d.mts +288 -0
  733. package/dist/lib/esm/desktop-trusted-input.mjs +206 -0
  734. package/dist/lib/esm/editor-extension-registrar.d.mts +37 -0
  735. package/dist/lib/esm/editor-extension-registrar.mjs +73 -0
  736. package/dist/lib/esm/editor-suggest-registrar.d.mts +36 -0
  737. package/dist/lib/esm/editor-suggest-registrar.mjs +76 -0
  738. package/dist/lib/esm/editor.d.mts +45 -0
  739. package/dist/lib/esm/editor.mjs +115 -0
  740. package/dist/lib/esm/events.d.mts +98 -0
  741. package/dist/lib/esm/events.mjs +81 -0
  742. package/dist/lib/esm/extensions-registrar.d.mts +51 -0
  743. package/dist/lib/esm/extensions-registrar.mjs +73 -0
  744. package/dist/lib/esm/file-change.d.mts +156 -0
  745. package/dist/lib/esm/file-change.mjs +481 -0
  746. package/dist/lib/esm/file-explorer.d.mts +34 -0
  747. package/dist/lib/esm/file-explorer.mjs +68 -0
  748. package/dist/lib/esm/file-manager.d.mts +123 -0
  749. package/dist/lib/esm/file-manager.mjs +169 -0
  750. package/dist/lib/esm/file-system.d.mts +554 -0
  751. package/dist/lib/esm/file-system.mjs +466 -0
  752. package/dist/lib/esm/folder-note.d.mts +166 -0
  753. package/dist/lib/esm/folder-note.mjs +169 -0
  754. package/dist/lib/esm/frontmatter-formatting.d.mts +44 -0
  755. package/dist/lib/esm/frontmatter-formatting.mjs +376 -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 +69 -0
  758. package/dist/lib/esm/frontmatter.d.mts +145 -0
  759. package/dist/lib/esm/frontmatter.mjs +182 -0
  760. package/dist/lib/esm/generated-during-build.d.mts +19 -0
  761. package/dist/lib/esm/generated-during-build.mjs +56 -0
  762. package/dist/lib/esm/hover-link-source-registrar.d.mts +52 -0
  763. package/dist/lib/esm/hover-link-source-registrar.mjs +73 -0
  764. package/dist/lib/esm/html-element.d.mts +98 -0
  765. package/dist/lib/esm/html-element.mjs +94 -0
  766. package/dist/lib/esm/i18n/custom-type-options.d.mts +38 -0
  767. package/dist/lib/esm/i18n/custom-type-options.mjs +51 -0
  768. package/dist/lib/esm/i18n/default-translations.d.mts +15 -0
  769. package/dist/lib/esm/i18n/default-translations.mjs +51 -0
  770. package/dist/lib/esm/i18n/i18n.d.mts +38 -0
  771. package/dist/lib/esm/i18n/i18n.mjs +97 -0
  772. package/dist/lib/esm/i18n/index.d.mts +5 -0
  773. package/dist/lib/esm/i18n/index.mjs +60 -0
  774. package/dist/lib/esm/i18n/locales/en.d.mts +91 -0
  775. package/dist/lib/esm/i18n/locales/en.mjs +135 -0
  776. package/dist/lib/esm/i18n/locales/index.d.mts +3 -0
  777. package/dist/lib/esm/i18n/locales/index.mjs +56 -0
  778. package/dist/lib/esm/i18n/locales/translations-map.d.mts +100 -0
  779. package/dist/lib/esm/i18n/locales/translations-map.mjs +60 -0
  780. package/dist/lib/esm/index.d.mts +96 -0
  781. package/dist/lib/esm/index.mjs +242 -0
  782. package/dist/lib/esm/is-in-obsidian.d.mts +12 -0
  783. package/dist/lib/esm/is-in-obsidian.mjs +67 -0
  784. package/dist/lib/esm/library-styles.d.mts +56 -0
  785. package/dist/lib/esm/library-styles.mjs +80 -0
  786. package/dist/lib/esm/library.d.mts +57 -0
  787. package/dist/lib/esm/library.mjs +91 -0
  788. package/dist/lib/esm/link-name.d.mts +23 -0
  789. package/dist/lib/esm/link-name.mjs +56 -0
  790. package/dist/lib/esm/link-update-progress.d.mts +32 -0
  791. package/dist/lib/esm/link-update-progress.mjs +50 -0
  792. package/dist/lib/esm/link.d.mts +1369 -0
  793. package/dist/lib/esm/link.mjs +996 -0
  794. package/dist/lib/esm/logger.d.mts +37 -0
  795. package/dist/lib/esm/logger.mjs +123 -0
  796. package/dist/lib/esm/loop.d.mts +104 -0
  797. package/dist/lib/esm/loop.mjs +159 -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 +77 -0
  800. package/dist/lib/esm/markdown-code-block-processor.d.mts +137 -0
  801. package/dist/lib/esm/markdown-code-block-processor.mjs +364 -0
  802. package/dist/lib/esm/markdown-post-processor-registrar.d.mts +59 -0
  803. package/dist/lib/esm/markdown-post-processor-registrar.mjs +74 -0
  804. package/dist/lib/esm/markdown-view.d.mts +14 -0
  805. package/dist/lib/esm/markdown-view.mjs +62 -0
  806. package/dist/lib/esm/markdown.d.mts +226 -0
  807. package/dist/lib/esm/markdown.mjs +399 -0
  808. package/dist/lib/esm/menu-event-registrar.d.mts +84 -0
  809. package/dist/lib/esm/menu-event-registrar.mjs +50 -0
  810. package/dist/lib/esm/metadata-cache.d.mts +359 -0
  811. package/dist/lib/esm/metadata-cache.mjs +462 -0
  812. package/dist/lib/esm/mobile-trusted-input.d.mts +98 -0
  813. package/dist/lib/esm/mobile-trusted-input.mjs +90 -0
  814. package/dist/lib/esm/modals/alert.d.mts +35 -0
  815. package/dist/lib/esm/modals/alert.mjs +92 -0
  816. package/dist/lib/esm/modals/confirm.d.mts +39 -0
  817. package/dist/lib/esm/modals/confirm.mjs +102 -0
  818. package/dist/lib/esm/modals/index.d.mts +10 -0
  819. package/dist/lib/esm/modals/index.mjs +70 -0
  820. package/dist/lib/esm/modals/minimizable-modal.d.mts +129 -0
  821. package/dist/lib/esm/modals/minimizable-modal.mjs +356 -0
  822. package/dist/lib/esm/modals/modal-command-builder.d.mts +285 -0
  823. package/dist/lib/esm/modals/modal-command-builder.mjs +371 -0
  824. package/dist/lib/esm/modals/modal.d.mts +64 -0
  825. package/dist/lib/esm/modals/modal.mjs +86 -0
  826. package/dist/lib/esm/modals/prompt.d.mts +83 -0
  827. package/dist/lib/esm/modals/prompt.mjs +176 -0
  828. package/dist/lib/esm/modals/select-item.d.mts +55 -0
  829. package/dist/lib/esm/modals/select-item.mjs +112 -0
  830. package/dist/lib/esm/modals/select-option.d.mts +65 -0
  831. package/dist/lib/esm/modals/select-option.mjs +103 -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 +55 -0
  834. package/dist/lib/esm/note-priority.d.mts +154 -0
  835. package/dist/lib/esm/note-priority.mjs +143 -0
  836. package/dist/lib/esm/notebook-navigator.d.mts +132 -0
  837. package/dist/lib/esm/notebook-navigator.mjs +72 -0
  838. package/dist/lib/esm/obsidian-dev-utils-state.d.mts +42 -0
  839. package/dist/lib/esm/obsidian-dev-utils-state.mjs +84 -0
  840. package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +55 -0
  841. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +76 -0
  842. package/dist/lib/esm/obsidian-settings.d.mts +62 -0
  843. package/dist/lib/esm/obsidian-settings.mjs +89 -0
  844. package/dist/lib/esm/parse-link.d.mts +288 -0
  845. package/dist/lib/esm/parse-link.mjs +436 -0
  846. package/dist/lib/esm/path-settings.d.mts +56 -0
  847. package/dist/lib/esm/path-settings.mjs +184 -0
  848. package/dist/lib/esm/pdf.d.mts +26 -0
  849. package/dist/lib/esm/pdf.mjs +84 -0
  850. package/dist/lib/esm/plugin/index.d.mts +9 -0
  851. package/dist/lib/esm/plugin/index.mjs +68 -0
  852. package/dist/lib/esm/plugin/plugin-api.d.mts +413 -0
  853. package/dist/lib/esm/plugin/plugin-api.mjs +430 -0
  854. package/dist/lib/esm/plugin/plugin-context.d.mts +27 -0
  855. package/dist/lib/esm/plugin/plugin-context.mjs +109 -0
  856. package/dist/lib/esm/plugin/plugin-event-source.d.mts +97 -0
  857. package/dist/lib/esm/plugin/plugin-event-source.mjs +137 -0
  858. package/dist/lib/esm/plugin/plugin-install-state.d.mts +113 -0
  859. package/dist/lib/esm/plugin/plugin-install-state.mjs +109 -0
  860. package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +127 -0
  861. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +60 -0
  862. package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +368 -0
  863. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +535 -0
  864. package/dist/lib/esm/plugin/plugin.d.mts +363 -0
  865. package/dist/lib/esm/plugin/plugin.mjs +619 -0
  866. package/dist/lib/esm/plugin/settings-migration-api.d.mts +91 -0
  867. package/dist/lib/esm/plugin/settings-migration-api.mjs +50 -0
  868. package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +64 -0
  869. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +74 -0
  870. package/dist/lib/esm/popovers/field-popover.d.mts +75 -0
  871. package/dist/lib/esm/popovers/field-popover.mjs +96 -0
  872. package/dist/lib/esm/popovers/index.d.mts +4 -0
  873. package/dist/lib/esm/popovers/index.mjs +58 -0
  874. package/dist/lib/esm/popovers/popover-anchor.d.mts +67 -0
  875. package/dist/lib/esm/popovers/popover-anchor.mjs +90 -0
  876. package/dist/lib/esm/popovers/popover.d.mts +78 -0
  877. package/dist/lib/esm/popovers/popover.mjs +140 -0
  878. package/dist/lib/esm/property-entry.d.mts +43 -0
  879. package/dist/lib/esm/property-entry.mjs +81 -0
  880. package/dist/lib/esm/queue.d.mts +93 -0
  881. package/dist/lib/esm/queue.mjs +130 -0
  882. package/dist/lib/esm/react/app-context.d.mts +24 -0
  883. package/dist/lib/esm/react/app-context.mjs +64 -0
  884. package/dist/lib/esm/react/index.d.mts +2 -0
  885. package/dist/lib/esm/react/index.mjs +54 -0
  886. package/dist/lib/esm/reference.d.mts +116 -0
  887. package/dist/lib/esm/reference.mjs +95 -0
  888. package/dist/lib/esm/resource-lock.d.mts +318 -0
  889. package/dist/lib/esm/resource-lock.mjs +1014 -0
  890. package/dist/lib/esm/resource-url.d.mts +31 -0
  891. package/dist/lib/esm/resource-url.mjs +67 -0
  892. package/dist/lib/esm/ribbon-icon-registrar.d.mts +60 -0
  893. package/dist/lib/esm/ribbon-icon-registrar.mjs +74 -0
  894. package/dist/lib/esm/setting-components/checkbox-component.d.mts +69 -0
  895. package/dist/lib/esm/setting-components/checkbox-component.mjs +127 -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 +295 -0
  898. package/dist/lib/esm/setting-components/date-component.d.mts +38 -0
  899. package/dist/lib/esm/setting-components/date-component.mjs +91 -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 +91 -0
  902. package/dist/lib/esm/setting-components/email-component.d.mts +49 -0
  903. package/dist/lib/esm/setting-components/email-component.mjs +102 -0
  904. package/dist/lib/esm/setting-components/file-component.d.mts +43 -0
  905. package/dist/lib/esm/setting-components/file-component.mjs +94 -0
  906. package/dist/lib/esm/setting-components/index.d.mts +27 -0
  907. package/dist/lib/esm/setting-components/index.mjs +104 -0
  908. package/dist/lib/esm/setting-components/month-component.d.mts +51 -0
  909. package/dist/lib/esm/setting-components/month-component.mjs +99 -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 +167 -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 +88 -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 +96 -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 +186 -0
  918. package/dist/lib/esm/setting-components/number-component.d.mts +56 -0
  919. package/dist/lib/esm/setting-components/number-component.mjs +112 -0
  920. package/dist/lib/esm/setting-components/password-component.d.mts +38 -0
  921. package/dist/lib/esm/setting-components/password-component.mjs +88 -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 +71 -0
  924. package/dist/lib/esm/setting-components/telephone-component.d.mts +51 -0
  925. package/dist/lib/esm/setting-components/telephone-component.mjs +102 -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 +81 -0
  928. package/dist/lib/esm/setting-components/time-component.d.mts +38 -0
  929. package/dist/lib/esm/setting-components/time-component.mjs +96 -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 +128 -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 +176 -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 +175 -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 +86 -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 +146 -0
  940. package/dist/lib/esm/setting-components/url-component.d.mts +49 -0
  941. package/dist/lib/esm/setting-components/url-component.mjs +102 -0
  942. package/dist/lib/esm/setting-components/validator-component.d.mts +23 -0
  943. package/dist/lib/esm/setting-components/validator-component.mjs +150 -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 +50 -0
  946. package/dist/lib/esm/setting-components/week-component.d.mts +51 -0
  947. package/dist/lib/esm/setting-components/week-component.mjs +99 -0
  948. package/dist/lib/esm/setting-ex.d.mts +198 -0
  949. package/dist/lib/esm/setting-ex.mjs +282 -0
  950. package/dist/lib/esm/setting-group-ex.d.mts +26 -0
  951. package/dist/lib/esm/setting-group-ex.mjs +76 -0
  952. package/dist/lib/esm/status-bar-item-registrar.d.mts +36 -0
  953. package/dist/lib/esm/status-bar-item-registrar.mjs +73 -0
  954. package/dist/lib/esm/templater.d.mts +284 -0
  955. package/dist/lib/esm/templater.mjs +181 -0
  956. package/dist/lib/esm/transformers/duration-transformer.d.mts +39 -0
  957. package/dist/lib/esm/transformers/duration-transformer.mjs +93 -0
  958. package/dist/lib/esm/transformers/index.d.mts +2 -0
  959. package/dist/lib/esm/transformers/index.mjs +54 -0
  960. package/dist/lib/esm/trusted-input.d.mts +131 -0
  961. package/dist/lib/esm/trusted-input.mjs +91 -0
  962. package/dist/lib/esm/validation.d.mts +87 -0
  963. package/dist/lib/esm/validation.mjs +95 -0
  964. package/dist/lib/esm/vault-delete.d.mts +82 -0
  965. package/dist/lib/esm/vault-delete.mjs +140 -0
  966. package/dist/lib/esm/vault-transaction.d.mts +163 -0
  967. package/dist/lib/esm/vault-transaction.mjs +333 -0
  968. package/dist/lib/esm/vault.d.mts +506 -0
  969. package/dist/lib/esm/vault.mjs +612 -0
  970. package/dist/lib/esm/view-registrar.d.mts +52 -0
  971. package/dist/lib/esm/view-registrar.mjs +73 -0
  972. package/dist/lib/esm/workspace.d.mts +81 -0
  973. package/dist/lib/esm/workspace.mjs +92 -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 +488 -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,166 @@
1
+ /// <reference path="./library.d.mts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * The folder-note concept: which note, if any, is the one whose properties describe a FOLDER itself.
6
+ *
7
+ * Obsidian has no such concept — it is a convention the community settled on, and the plugin that owns it
8
+ * for most vaults is [`folder-notes`](https://community.obsidian.md/plugins/folder-notes). So the answer to
9
+ * "which note belongs to this folder" is that plugin's to give whenever it is installed, and this module
10
+ * asks it rather than inventing a second answer: {@link FolderNoteLocation.Auto} — the default — reads its
11
+ * live configuration at every use.
12
+ *
13
+ * Reading it live rather than copying its values into a consumer's own settings is deliberate: a copy goes
14
+ * stale the moment that plugin is reconfigured, and it would need a settings migration to seed. Everything
15
+ * else is the caller's explicit choice, and then the other plugin is not consulted at all.
16
+ *
17
+ * Nothing here ever CREATES a note. A folder with no folder note answers `null`, which is what lets a
18
+ * caller layer folder-note behavior onto a click without risking a file appearing on the user's disk.
19
+ */
20
+ import type { App, TFile, TFolder } from 'obsidian';
21
+ /**
22
+ * Where a folder's folder note lives.
23
+ *
24
+ * The three concrete members are the shapes the folder-note ecosystem actually uses:
25
+ * `charlie/charlie.md` and `charlie/index.md` are both {@link FolderNoteLocation.InsideFolder} (they
26
+ * differ only in the NAME, which is why naming is a callback and not a fourth member), while
27
+ * `charlie.md` beside the folder is {@link FolderNoteLocation.ParentFolder} — whose whole point is that
28
+ * `[[alpha/bravo/charlie]]` links to a folder with no special syntax.
29
+ */
30
+ export declare enum FolderNoteLocation {
31
+ /**
32
+ * Take the answer from the installed `folder-notes` plugin, falling back to a note named after its
33
+ * folder, inside it. The default, and resolved LIVE rather than copied.
34
+ */
35
+ Auto = "Auto",
36
+ /**
37
+ * `alpha/bravo/charlie/<name>.md`.
38
+ */
39
+ InsideFolder = "InsideFolder",
40
+ /**
41
+ * The vault has no folder notes at all, so every folder answers `null`. This is also how a caller opts
42
+ * out of folder-note behavior entirely.
43
+ */
44
+ None = "None",
45
+ /**
46
+ * `alpha/bravo/<name>.md`, beside the folder.
47
+ */
48
+ ParentFolder = "ParentFolder"
49
+ }
50
+ /**
51
+ * A folder-note setup with {@link FolderNoteLocation.Auto} already resolved to a concrete answer.
52
+ */
53
+ export interface FolderNoteConfig {
54
+ /**
55
+ * The extensions a folder note may carry, WITHOUT the leading dot, in resolution order — the first one
56
+ * that names an existing file wins.
57
+ */
58
+ readonly extensions: readonly string[];
59
+ /**
60
+ * Whether the folder note is hidden in the file explorer.
61
+ *
62
+ * Read rather than acted upon here: it changes nothing about WHICH file is the folder note, but a caller
63
+ * that reveals the note has to know there is nothing to reveal and fall back to revealing the folder.
64
+ */
65
+ readonly isHidden: boolean;
66
+ /**
67
+ * Where the note sits relative to its folder.
68
+ */
69
+ readonly location: FolderNoteLocation.InsideFolder | FolderNoteLocation.None | FolderNoteLocation.ParentFolder;
70
+ /**
71
+ * Names the folder note of a folder, WITHOUT its extension.
72
+ *
73
+ * @param folder - The folder whose note is being named.
74
+ * @returns The note's name; an empty (or blank) name means the folder has no folder note.
75
+ */
76
+ resolveName: (folder: TFolder) => string;
77
+ }
78
+ /**
79
+ * Parameters for {@link resolveFolderNoteConfig}.
80
+ */
81
+ export interface ResolveFolderNoteConfigParams {
82
+ /**
83
+ * The Obsidian app instance.
84
+ */
85
+ readonly app: App;
86
+ /**
87
+ * The extensions a folder note may carry, with or without the leading dot, in resolution order. Ignored
88
+ * under {@link FolderNoteLocation.Auto}, which takes the installed plugin's answer whole.
89
+ *
90
+ * @default `['md']`
91
+ */
92
+ readonly extensions?: readonly string[];
93
+ /**
94
+ * Whether the folder note is hidden in the file explorer. Ignored under {@link FolderNoteLocation.Auto}.
95
+ *
96
+ * @default `false`
97
+ */
98
+ readonly isHidden?: boolean;
99
+ /**
100
+ * Where the note sits relative to its folder.
101
+ *
102
+ * @default {@link FolderNoteLocation.Auto}
103
+ */
104
+ readonly location?: FolderNoteLocation;
105
+ /**
106
+ * Names the folder note of a folder, WITHOUT its extension. Ignored under
107
+ * {@link FolderNoteLocation.Auto}, which names the note the way the installed plugin does.
108
+ *
109
+ * A callback rather than a name template, because a template needs a token vocabulary and this library
110
+ * has none to impose — a caller that has one (`{{folderName}}`, `{{folderPath}}`, …) renders it here.
111
+ *
112
+ * @param folder - The folder whose note is being named.
113
+ * @returns The note's name.
114
+ * @default `(folder) => folder.name`
115
+ */
116
+ readonly resolveName?: (folder: TFolder) => string;
117
+ }
118
+ /**
119
+ * Parameters for {@link resolveFolderNote}.
120
+ */
121
+ export interface ResolveFolderNoteParams {
122
+ /**
123
+ * The Obsidian app instance.
124
+ */
125
+ readonly app: App;
126
+ /**
127
+ * The already-resolved setup to use.
128
+ *
129
+ * Omitted means {@link FolderNoteLocation.Auto} — the setup is resolved on the spot, which is what makes
130
+ * `resolveFolderNote({ app, folder })` the one-liner every caller wants. Pass one when the same setup is
131
+ * used more than once, or when its {@link FolderNoteConfig.isHidden} is needed alongside the note.
132
+ *
133
+ * @default `resolveFolderNoteConfig({ app })`
134
+ */
135
+ readonly config?: FolderNoteConfig;
136
+ /**
137
+ * The folder whose folder note is wanted. Read AFTER any rename: the note is named from the folder's
138
+ * CURRENT name, and a `folder-notes` install with `syncFolderName` on will have renamed it already.
139
+ */
140
+ readonly folder: TFolder;
141
+ }
142
+ /**
143
+ * The `folder-notes` plugin's id, as its manifest declares it.
144
+ */
145
+ export declare const FOLDER_NOTES_PLUGIN_ID = "folder-notes";
146
+ /**
147
+ * Finds a folder's folder note — the one note whose properties describe the folder itself.
148
+ *
149
+ * **Never creates.** A folder that has no folder note answers `null`, and so does the vault root under
150
+ * {@link FolderNoteLocation.ParentFolder} (nothing can sit beside it).
151
+ *
152
+ * @param params - The folder, and optionally the setup to resolve it with.
153
+ * @returns The folder note, or `null` when there is none.
154
+ */
155
+ export declare function resolveFolderNote(params: ResolveFolderNoteParams): null | TFile;
156
+ /**
157
+ * Resolves {@link FolderNoteLocation.Auto} into a concrete folder-note setup.
158
+ *
159
+ * `folder-notes`' `vaultFolder` storage (every folder note pooled in one central folder) has no
160
+ * counterpart here and falls back rather than guessing: with the notes pooled, the note belonging to a
161
+ * folder is no longer derivable from that folder's path alone.
162
+ *
163
+ * @param params - The setup, and the app to read the installed plugin from.
164
+ * @returns The resolved setup.
165
+ */
166
+ export declare function resolveFolderNoteConfig(params: ResolveFolderNoteConfigParams): FolderNoteConfig;
@@ -0,0 +1,169 @@
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
+
22
+ // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
+ const existingProcess = globalThis.process;
24
+
25
+ if (!existingProcess) {
26
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
+ globalThis.process = browserProcess;
28
+ return;
29
+ }
30
+
31
+ if (existingProcess.versions?.node) {
32
+ return;
33
+ }
34
+
35
+ const existingProcessRecord = existingProcess;
36
+
37
+ for (const [key, value] of Object.entries(browserProcess)) {
38
+ existingProcessRecord[key] ??= value;
39
+ }
40
+
41
+ existingProcessRecord['browser'] = true;
42
+ }
43
+
44
+ (function initEsm() {
45
+ ensureDisposeSymbols();
46
+ ensureBrowserProcess();
47
+ })();
48
+ })();
49
+
50
+ import { join } from "@mnaoumov/typescript-lib/path";
51
+ import { replaceAll } from "@mnaoumov/typescript-lib/string";
52
+ import { normalizePath } from "obsidian";
53
+ import { MARKDOWN_FILE_EXTENSION } from "./file-system.mjs";
54
+ var FolderNoteLocation = /* @__PURE__ */ ((FolderNoteLocation2) => {
55
+ FolderNoteLocation2["Auto"] = "Auto";
56
+ FolderNoteLocation2["InsideFolder"] = "InsideFolder";
57
+ FolderNoteLocation2["None"] = "None";
58
+ FolderNoteLocation2["ParentFolder"] = "ParentFolder";
59
+ return FolderNoteLocation2;
60
+ })(FolderNoteLocation || {});
61
+ const FOLDER_NOTES_PLUGIN_ID = "folder-notes";
62
+ const FOLDER_NOTES_FOLDER_NAME_TOKEN_REG_EXP = /\{\{folder_name\}\}/gi;
63
+ const EXCALIDRAW_FILE_EXTENSION = "excalidraw";
64
+ const FALLBACK_FOLDER_NOTE_CONFIG = {
65
+ extensions: [MARKDOWN_FILE_EXTENSION],
66
+ isHidden: false,
67
+ location: "InsideFolder" /* InsideFolder */,
68
+ resolveName: (folder) => folder.name
69
+ };
70
+ function resolveFolderNote(params) {
71
+ const { app, folder } = params;
72
+ const config = params.config ?? resolveFolderNoteConfig({ app });
73
+ if (config.location === "None" /* None */) {
74
+ return null;
75
+ }
76
+ const parentFolderPath = config.location === "ParentFolder" /* ParentFolder */ ? folder.parent?.path : folder.path;
77
+ if (parentFolderPath === void 0) {
78
+ return null;
79
+ }
80
+ const noteName = config.resolveName(folder).trim();
81
+ if (!noteName) {
82
+ return null;
83
+ }
84
+ for (const extension of config.extensions) {
85
+ const file = app.vault.getFileByPath(normalizePath(join(parentFolderPath, `${noteName}.${extension}`)));
86
+ if (file) {
87
+ return file;
88
+ }
89
+ }
90
+ return null;
91
+ }
92
+ function resolveFolderNoteConfig(params) {
93
+ const {
94
+ app,
95
+ extensions,
96
+ isHidden,
97
+ location,
98
+ resolveName
99
+ } = params;
100
+ return location !== void 0 && location !== "Auto" /* Auto */ ? {
101
+ extensions: normalizeExtensions(extensions ?? [MARKDOWN_FILE_EXTENSION]),
102
+ isHidden: isHidden ?? false,
103
+ location,
104
+ resolveName: resolveName ?? FALLBACK_FOLDER_NOTE_CONFIG.resolveName
105
+ } : readFolderNotesPluginConfig(app) ?? FALLBACK_FOLDER_NOTE_CONFIG;
106
+ }
107
+ function normalizeExtensions(extensions) {
108
+ const normalizedExtensions = extensions.map((extension) => extension.trim().toLowerCase().replace(/^\./, "")).map((extension) => extension === EXCALIDRAW_FILE_EXTENSION ? MARKDOWN_FILE_EXTENSION : extension).filter(Boolean);
109
+ return [...new Set(normalizedExtensions)];
110
+ }
111
+ function readFolderNotesPluginConfig(app) {
112
+ const folderNotesPlugin = app.plugins.getPlugin(FOLDER_NOTES_PLUGIN_ID);
113
+ if (!folderNotesPlugin || !("settings" in folderNotesPlugin)) {
114
+ return null;
115
+ }
116
+ const folderNotesSettings = folderNotesPlugin.settings;
117
+ if (typeof folderNotesSettings !== "object" || folderNotesSettings === null) {
118
+ return null;
119
+ }
120
+ const location = toFolderNoteLocation("storageLocation" in folderNotesSettings ? folderNotesSettings.storageLocation : null);
121
+ if (!location) {
122
+ return null;
123
+ }
124
+ const folderNoteName = "folderNoteName" in folderNotesSettings ? folderNotesSettings.folderNoteName : null;
125
+ if (typeof folderNoteName !== "string" || !folderNoteName) {
126
+ return null;
127
+ }
128
+ const folderNoteType = "folderNoteType" in folderNotesSettings ? folderNotesSettings.folderNoteType : null;
129
+ const supportedFileTypes = "supportedFileTypes" in folderNotesSettings ? folderNotesSettings.supportedFileTypes : null;
130
+ const isHidden = "hideFolderNote" in folderNotesSettings ? folderNotesSettings.hideFolderNote : null;
131
+ return {
132
+ // Its own resolver tries the primary type first and every other supported type after it, which is the
133
+ // order reproduced here. An unusable pair leaves Markdown, the extension it cannot be configured
134
+ // without.
135
+ extensions: normalizeExtensions([
136
+ typeof folderNoteType === "string" ? folderNoteType : MARKDOWN_FILE_EXTENSION,
137
+ ...Array.isArray(supportedFileTypes) ? supportedFileTypes.filter((type) => typeof type === "string") : [],
138
+ MARKDOWN_FILE_EXTENSION
139
+ ]),
140
+ isHidden: isHidden === true,
141
+ location,
142
+ resolveName: (folder) => replaceAll({
143
+ $string: folderNoteName,
144
+ // A function replacer, so a folder name containing `$&` is inserted literally.
145
+ replacer: () => folder.name,
146
+ searchValue: FOLDER_NOTES_FOLDER_NAME_TOKEN_REG_EXP
147
+ })
148
+ };
149
+ }
150
+ function toFolderNoteLocation(storageLocation) {
151
+ switch (storageLocation) {
152
+ case "insideFolder": {
153
+ return "InsideFolder" /* InsideFolder */;
154
+ }
155
+ case "parentFolder": {
156
+ return "ParentFolder" /* ParentFolder */;
157
+ }
158
+ default: {
159
+ return null;
160
+ }
161
+ }
162
+ }
163
+ export {
164
+ FOLDER_NOTES_PLUGIN_ID,
165
+ FolderNoteLocation,
166
+ resolveFolderNote,
167
+ resolveFolderNoteConfig
168
+ };
169
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2ZvbGRlci1ub3RlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGZvbGRlci1ub3RlIGNvbmNlcHQ6IHdoaWNoIG5vdGUsIGlmIGFueSwgaXMgdGhlIG9uZSB3aG9zZSBwcm9wZXJ0aWVzIGRlc2NyaWJlIGEgRk9MREVSIGl0c2VsZi5cbiAqXG4gKiBPYnNpZGlhbiBoYXMgbm8gc3VjaCBjb25jZXB0IFx1MjAxNCBpdCBpcyBhIGNvbnZlbnRpb24gdGhlIGNvbW11bml0eSBzZXR0bGVkIG9uLCBhbmQgdGhlIHBsdWdpbiB0aGF0IG93bnMgaXRcbiAqIGZvciBtb3N0IHZhdWx0cyBpcyBbYGZvbGRlci1ub3Rlc2BdKGh0dHBzOi8vY29tbXVuaXR5Lm9ic2lkaWFuLm1kL3BsdWdpbnMvZm9sZGVyLW5vdGVzKS4gU28gdGhlIGFuc3dlciB0b1xuICogXCJ3aGljaCBub3RlIGJlbG9uZ3MgdG8gdGhpcyBmb2xkZXJcIiBpcyB0aGF0IHBsdWdpbidzIHRvIGdpdmUgd2hlbmV2ZXIgaXQgaXMgaW5zdGFsbGVkLCBhbmQgdGhpcyBtb2R1bGVcbiAqIGFza3MgaXQgcmF0aGVyIHRoYW4gaW52ZW50aW5nIGEgc2Vjb25kIGFuc3dlcjoge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfSBcdTIwMTQgdGhlIGRlZmF1bHQgXHUyMDE0IHJlYWRzIGl0c1xuICogbGl2ZSBjb25maWd1cmF0aW9uIGF0IGV2ZXJ5IHVzZS5cbiAqXG4gKiBSZWFkaW5nIGl0IGxpdmUgcmF0aGVyIHRoYW4gY29weWluZyBpdHMgdmFsdWVzIGludG8gYSBjb25zdW1lcidzIG93biBzZXR0aW5ncyBpcyBkZWxpYmVyYXRlOiBhIGNvcHkgZ29lc1xuICogc3RhbGUgdGhlIG1vbWVudCB0aGF0IHBsdWdpbiBpcyByZWNvbmZpZ3VyZWQsIGFuZCBpdCB3b3VsZCBuZWVkIGEgc2V0dGluZ3MgbWlncmF0aW9uIHRvIHNlZWQuIEV2ZXJ5dGhpbmdcbiAqIGVsc2UgaXMgdGhlIGNhbGxlcidzIGV4cGxpY2l0IGNob2ljZSwgYW5kIHRoZW4gdGhlIG90aGVyIHBsdWdpbiBpcyBub3QgY29uc3VsdGVkIGF0IGFsbC5cbiAqXG4gKiBOb3RoaW5nIGhlcmUgZXZlciBDUkVBVEVTIGEgbm90ZS4gQSBmb2xkZXIgd2l0aCBubyBmb2xkZXIgbm90ZSBhbnN3ZXJzIGBudWxsYCwgd2hpY2ggaXMgd2hhdCBsZXRzIGFcbiAqIGNhbGxlciBsYXllciBmb2xkZXItbm90ZSBiZWhhdmlvciBvbnRvIGEgY2xpY2sgd2l0aG91dCByaXNraW5nIGEgZmlsZSBhcHBlYXJpbmcgb24gdGhlIHVzZXIncyBkaXNrLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBURmlsZSxcbiAgVEZvbGRlclxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5pbXBvcnQgeyBub3JtYWxpemVQYXRoIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG4vKipcbiAqIFdoZXJlIGEgZm9sZGVyJ3MgZm9sZGVyIG5vdGUgbGl2ZXMuXG4gKlxuICogVGhlIHRocmVlIGNvbmNyZXRlIG1lbWJlcnMgYXJlIHRoZSBzaGFwZXMgdGhlIGZvbGRlci1ub3RlIGVjb3N5c3RlbSBhY3R1YWxseSB1c2VzOlxuICogYGNoYXJsaWUvY2hhcmxpZS5tZGAgYW5kIGBjaGFybGllL2luZGV4Lm1kYCBhcmUgYm90aCB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcn0gKHRoZXlcbiAqIGRpZmZlciBvbmx5IGluIHRoZSBOQU1FLCB3aGljaCBpcyB3aHkgbmFtaW5nIGlzIGEgY2FsbGJhY2sgYW5kIG5vdCBhIGZvdXJ0aCBtZW1iZXIpLCB3aGlsZVxuICogYGNoYXJsaWUubWRgIGJlc2lkZSB0aGUgZm9sZGVyIGlzIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uUGFyZW50Rm9sZGVyfSBcdTIwMTQgd2hvc2Ugd2hvbGUgcG9pbnQgaXMgdGhhdFxuICogYFtbYWxwaGEvYnJhdm8vY2hhcmxpZV1dYCBsaW5rcyB0byBhIGZvbGRlciB3aXRoIG5vIHNwZWNpYWwgc3ludGF4LlxuICovXG5leHBvcnQgZW51bSBGb2xkZXJOb3RlTG9jYXRpb24ge1xuICAvKipcbiAgICogVGFrZSB0aGUgYW5zd2VyIGZyb20gdGhlIGluc3RhbGxlZCBgZm9sZGVyLW5vdGVzYCBwbHVnaW4sIGZhbGxpbmcgYmFjayB0byBhIG5vdGUgbmFtZWQgYWZ0ZXIgaXRzXG4gICAqIGZvbGRlciwgaW5zaWRlIGl0LiBUaGUgZGVmYXVsdCwgYW5kIHJlc29sdmVkIExJVkUgcmF0aGVyIHRoYW4gY29waWVkLlxuICAgKi9cbiAgQXV0byA9ICdBdXRvJyxcblxuICAvKipcbiAgICogYGFscGhhL2JyYXZvL2NoYXJsaWUvPG5hbWU+Lm1kYC5cbiAgICovXG4gIEluc2lkZUZvbGRlciA9ICdJbnNpZGVGb2xkZXInLFxuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQgaGFzIG5vIGZvbGRlciBub3RlcyBhdCBhbGwsIHNvIGV2ZXJ5IGZvbGRlciBhbnN3ZXJzIGBudWxsYC4gVGhpcyBpcyBhbHNvIGhvdyBhIGNhbGxlciBvcHRzXG4gICAqIG91dCBvZiBmb2xkZXItbm90ZSBiZWhhdmlvciBlbnRpcmVseS5cbiAgICovXG4gIE5vbmUgPSAnTm9uZScsXG5cbiAgLyoqXG4gICAqIGBhbHBoYS9icmF2by88bmFtZT4ubWRgLCBiZXNpZGUgdGhlIGZvbGRlci5cbiAgICovXG4gIFBhcmVudEZvbGRlciA9ICdQYXJlbnRGb2xkZXInXG59XG5cbi8qKlxuICogQSBmb2xkZXItbm90ZSBzZXR1cCB3aXRoIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30gYWxyZWFkeSByZXNvbHZlZCB0byBhIGNvbmNyZXRlIGFuc3dlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJOb3RlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBleHRlbnNpb25zIGEgZm9sZGVyIG5vdGUgbWF5IGNhcnJ5LCBXSVRIT1VUIHRoZSBsZWFkaW5nIGRvdCwgaW4gcmVzb2x1dGlvbiBvcmRlciBcdTIwMTQgdGhlIGZpcnN0IG9uZVxuICAgKiB0aGF0IG5hbWVzIGFuIGV4aXN0aW5nIGZpbGUgd2lucy5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVuc2lvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb2xkZXIgbm90ZSBpcyBoaWRkZW4gaW4gdGhlIGZpbGUgZXhwbG9yZXIuXG4gICAqXG4gICAqIFJlYWQgcmF0aGVyIHRoYW4gYWN0ZWQgdXBvbiBoZXJlOiBpdCBjaGFuZ2VzIG5vdGhpbmcgYWJvdXQgV0hJQ0ggZmlsZSBpcyB0aGUgZm9sZGVyIG5vdGUsIGJ1dCBhIGNhbGxlclxuICAgKiB0aGF0IHJldmVhbHMgdGhlIG5vdGUgaGFzIHRvIGtub3cgdGhlcmUgaXMgbm90aGluZyB0byByZXZlYWwgYW5kIGZhbGwgYmFjayB0byByZXZlYWxpbmcgdGhlIGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IGlzSGlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgbm90ZSBzaXRzIHJlbGF0aXZlIHRvIGl0cyBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbjogRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlciB8IEZvbGRlck5vdGVMb2NhdGlvbi5Ob25lIHwgRm9sZGVyTm90ZUxvY2F0aW9uLlBhcmVudEZvbGRlcjtcblxuICAvKipcbiAgICogTmFtZXMgdGhlIGZvbGRlciBub3RlIG9mIGEgZm9sZGVyLCBXSVRIT1VUIGl0cyBleHRlbnNpb24uXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHdob3NlIG5vdGUgaXMgYmVpbmcgbmFtZWQuXG4gICAqIEByZXR1cm5zIFRoZSBub3RlJ3MgbmFtZTsgYW4gZW1wdHkgKG9yIGJsYW5rKSBuYW1lIG1lYW5zIHRoZSBmb2xkZXIgaGFzIG5vIGZvbGRlciBub3RlLlxuICAgKi9cbiAgLy8gQSBmdW5jdGlvbiBwcm9wZXJ0eSByYXRoZXIgdGhhbiBhIG1ldGhvZCwgYmVjYXVzZSBpdCBpcyBhIHN0YW5kYWxvbmUgY2FsbGJhY2ssIG5ldmVyIGEgbWV0aG9kIG9mIHRoZVxuICAvLyBjb25maWcgXHUyMDE0IHdoaWNoIGlzIGFsc28gd2hhdCBsZXRzIGl0IGJlIGRlc3RydWN0dXJlZCBhbmQgaGFuZGVkIG9uIHdpdGhvdXQgdHJpcHBpbmcgYHVuYm91bmQtbWV0aG9kYC5cbiAgcmVzb2x2ZU5hbWU6IChmb2xkZXI6IFRGb2xkZXIpID0+IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVzb2x2ZUZvbGRlck5vdGVDb25maWd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVGb2xkZXJOb3RlQ29uZmlnUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGV4dGVuc2lvbnMgYSBmb2xkZXIgbm90ZSBtYXkgY2FycnksIHdpdGggb3Igd2l0aG91dCB0aGUgbGVhZGluZyBkb3QsIGluIHJlc29sdXRpb24gb3JkZXIuIElnbm9yZWRcbiAgICogdW5kZXIge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfSwgd2hpY2ggdGFrZXMgdGhlIGluc3RhbGxlZCBwbHVnaW4ncyBhbnN3ZXIgd2hvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBbJ21kJ11gXG4gICAqL1xuICByZWFkb25seSBleHRlbnNpb25zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZvbGRlciBub3RlIGlzIGhpZGRlbiBpbiB0aGUgZmlsZSBleHBsb3Jlci4gSWdub3JlZCB1bmRlciB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBpc0hpZGRlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBub3RlIHNpdHMgcmVsYXRpdmUgdG8gaXRzIGZvbGRlci5cbiAgICpcbiAgICogQGRlZmF1bHQge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb24/OiBGb2xkZXJOb3RlTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIE5hbWVzIHRoZSBmb2xkZXIgbm90ZSBvZiBhIGZvbGRlciwgV0lUSE9VVCBpdHMgZXh0ZW5zaW9uLiBJZ25vcmVkIHVuZGVyXG4gICAqIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30sIHdoaWNoIG5hbWVzIHRoZSBub3RlIHRoZSB3YXkgdGhlIGluc3RhbGxlZCBwbHVnaW4gZG9lcy5cbiAgICpcbiAgICogQSBjYWxsYmFjayByYXRoZXIgdGhhbiBhIG5hbWUgdGVtcGxhdGUsIGJlY2F1c2UgYSB0ZW1wbGF0ZSBuZWVkcyBhIHRva2VuIHZvY2FidWxhcnkgYW5kIHRoaXMgbGlicmFyeVxuICAgKiBoYXMgbm9uZSB0byBpbXBvc2UgXHUyMDE0IGEgY2FsbGVyIHRoYXQgaGFzIG9uZSAoYHt7Zm9sZGVyTmFtZX19YCwgYHt7Zm9sZGVyUGF0aH19YCwgXHUyMDI2KSByZW5kZXJzIGl0IGhlcmUuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHdob3NlIG5vdGUgaXMgYmVpbmcgbmFtZWQuXG4gICAqIEByZXR1cm5zIFRoZSBub3RlJ3MgbmFtZS5cbiAgICogQGRlZmF1bHQgYChmb2xkZXIpID0+IGZvbGRlci5uYW1lYFxuICAgKi9cbiAgLy8gU2VlIHtAbGluayBGb2xkZXJOb3RlQ29uZmlnLnJlc29sdmVOYW1lfSBmb3Igd2h5IHRoaXMgaXMgYSBmdW5jdGlvbiBwcm9wZXJ0eS5cbiAgcmVhZG9ubHkgcmVzb2x2ZU5hbWU/OiAoZm9sZGVyOiBURm9sZGVyKSA9PiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVGb2xkZXJOb3RlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlRm9sZGVyTm90ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBhbHJlYWR5LXJlc29sdmVkIHNldHVwIHRvIHVzZS5cbiAgICpcbiAgICogT21pdHRlZCBtZWFucyB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IFx1MjAxNCB0aGUgc2V0dXAgaXMgcmVzb2x2ZWQgb24gdGhlIHNwb3QsIHdoaWNoIGlzIHdoYXQgbWFrZXNcbiAgICogYHJlc29sdmVGb2xkZXJOb3RlKHsgYXBwLCBmb2xkZXIgfSlgIHRoZSBvbmUtbGluZXIgZXZlcnkgY2FsbGVyIHdhbnRzLiBQYXNzIG9uZSB3aGVuIHRoZSBzYW1lIHNldHVwIGlzXG4gICAqIHVzZWQgbW9yZSB0aGFuIG9uY2UsIG9yIHdoZW4gaXRzIHtAbGluayBGb2xkZXJOb3RlQ29uZmlnLmlzSGlkZGVufSBpcyBuZWVkZWQgYWxvbmdzaWRlIHRoZSBub3RlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgcmVzb2x2ZUZvbGRlck5vdGVDb25maWcoeyBhcHAgfSlgXG4gICAqL1xuICByZWFkb25seSBjb25maWc/OiBGb2xkZXJOb3RlQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHdob3NlIGZvbGRlciBub3RlIGlzIHdhbnRlZC4gUmVhZCBBRlRFUiBhbnkgcmVuYW1lOiB0aGUgbm90ZSBpcyBuYW1lZCBmcm9tIHRoZSBmb2xkZXInc1xuICAgKiBDVVJSRU5UIG5hbWUsIGFuZCBhIGBmb2xkZXItbm90ZXNgIGluc3RhbGwgd2l0aCBgc3luY0ZvbGRlck5hbWVgIG9uIHdpbGwgaGF2ZSByZW5hbWVkIGl0IGFscmVhZHkuXG4gICAqL1xuICByZWFkb25seSBmb2xkZXI6IFRGb2xkZXI7XG59XG5cbi8qKlxuICogVGhlIGBmb2xkZXItbm90ZXNgIHBsdWdpbidzIGlkLCBhcyBpdHMgbWFuaWZlc3QgZGVjbGFyZXMgaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBGT0xERVJfTk9URVNfUExVR0lOX0lEID0gJ2ZvbGRlci1ub3Rlcyc7XG5cbi8qKlxuICogVGhlIG9uZSB0b2tlbiBgZm9sZGVyLW5vdGVzYCcgb3duIG5hbWUgdGVtcGxhdGUgdW5kZXJzdGFuZHMuIEV2ZXJ5IG90aGVyIGNoYXJhY3RlciBpbiB0aGF0IHRlbXBsYXRlIGlzXG4gKiBhIGxpdGVyYWwsIHNvIHRyYW5zbGF0aW5nIHRoaXMgdG9rZW4gaXMgdGhlIHdob2xlIG9mIHRoZSB0cmFuc2xhdGlvbi5cbiAqL1xuY29uc3QgRk9MREVSX05PVEVTX0ZPTERFUl9OQU1FX1RPS0VOX1JFR19FWFAgPSAvXFx7XFx7Zm9sZGVyX25hbWVcXH1cXH0vZ2k7XG5cbi8qKlxuICogYGZvbGRlci1ub3Rlc2Agb2ZmZXJzIEV4Y2FsaWRyYXcgZm9sZGVyIG5vdGVzLCB3aGljaCBhcmUgTWFya2Rvd24gZmlsZXMgd2l0aCBhbiBFeGNhbGlkcmF3IHBheWxvYWQgXHUyMDE0IGl0c1xuICogb3duIHJlc29sdmVyIG5vcm1hbGl6ZXMgdGhlIHR5cGUgdGhlIHNhbWUgd2F5IGJlZm9yZSBsb29raW5nIHRoZSBmaWxlIHVwLlxuICovXG5jb25zdCBFWENBTElEUkFXX0ZJTEVfRVhURU5TSU9OID0gJ2V4Y2FsaWRyYXcnO1xuXG4vKipcbiAqIFdoYXQge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfSBmYWxscyBiYWNrIHRvOiB0aGUgbGF5b3V0IGV2ZXJ5IGZvbGRlci1ub3RlIHBsdWdpbiBzdXBwb3J0cywgYW5kXG4gKiB0aGUgb25lIGBmb2xkZXItbm90ZXNgIGl0c2VsZiBzaGlwcyBhcyBpdHMgZGVmYXVsdC4gTm90aGluZyBoaWRlcyBhIG5vdGUgd2hlbiBubyBwbHVnaW4gaXMgdGhlcmUgdG8gaGlkZVxuICogaXQsIHNvIHtAbGluayBGb2xkZXJOb3RlQ29uZmlnLmlzSGlkZGVufSBpcyBgZmFsc2VgLlxuICovXG5jb25zdCBGQUxMQkFDS19GT0xERVJfTk9URV9DT05GSUc6IEZvbGRlck5vdGVDb25maWcgPSB7XG4gIGV4dGVuc2lvbnM6IFtNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTl0sXG4gIGlzSGlkZGVuOiBmYWxzZSxcbiAgbG9jYXRpb246IEZvbGRlck5vdGVMb2NhdGlvbi5JbnNpZGVGb2xkZXIsXG4gIHJlc29sdmVOYW1lOiAoZm9sZGVyOiBURm9sZGVyKTogc3RyaW5nID0+IGZvbGRlci5uYW1lXG59O1xuXG4vKipcbiAqIEZpbmRzIGEgZm9sZGVyJ3MgZm9sZGVyIG5vdGUgXHUyMDE0IHRoZSBvbmUgbm90ZSB3aG9zZSBwcm9wZXJ0aWVzIGRlc2NyaWJlIHRoZSBmb2xkZXIgaXRzZWxmLlxuICpcbiAqICoqTmV2ZXIgY3JlYXRlcy4qKiBBIGZvbGRlciB0aGF0IGhhcyBubyBmb2xkZXIgbm90ZSBhbnN3ZXJzIGBudWxsYCwgYW5kIHNvIGRvZXMgdGhlIHZhdWx0IHJvb3QgdW5kZXJcbiAqIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uUGFyZW50Rm9sZGVyfSAobm90aGluZyBjYW4gc2l0IGJlc2lkZSBpdCkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBmb2xkZXIsIGFuZCBvcHRpb25hbGx5IHRoZSBzZXR1cCB0byByZXNvbHZlIGl0IHdpdGguXG4gKiBAcmV0dXJucyBUaGUgZm9sZGVyIG5vdGUsIG9yIGBudWxsYCB3aGVuIHRoZXJlIGlzIG5vbmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRm9sZGVyTm90ZShwYXJhbXM6IFJlc29sdmVGb2xkZXJOb3RlUGFyYW1zKTogbnVsbCB8IFRGaWxlIHtcbiAgY29uc3QgeyBhcHAsIGZvbGRlciB9ID0gcGFyYW1zO1xuICBjb25zdCBjb25maWcgPSBwYXJhbXMuY29uZmlnID8/IHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnKHsgYXBwIH0pO1xuICBpZiAoY29uZmlnLmxvY2F0aW9uID09PSBGb2xkZXJOb3RlTG9jYXRpb24uTm9uZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgcGFyZW50Rm9sZGVyUGF0aCA9IGNvbmZpZy5sb2NhdGlvbiA9PT0gRm9sZGVyTm90ZUxvY2F0aW9uLlBhcmVudEZvbGRlciA/IGZvbGRlci5wYXJlbnQ/LnBhdGggOiBmb2xkZXIucGF0aDtcbiAgaWYgKHBhcmVudEZvbGRlclBhdGggPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm90ZU5hbWUgPSBjb25maWcucmVzb2x2ZU5hbWUoZm9sZGVyKS50cmltKCk7XG4gIGlmICghbm90ZU5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvciAoY29uc3QgZXh0ZW5zaW9uIG9mIGNvbmZpZy5leHRlbnNpb25zKSB7XG4gICAgY29uc3QgZmlsZSA9IGFwcC52YXVsdC5nZXRGaWxlQnlQYXRoKG5vcm1hbGl6ZVBhdGgoam9pbihwYXJlbnRGb2xkZXJQYXRoLCBgJHtub3RlTmFtZX0uJHtleHRlbnNpb259YCkpKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfSBpbnRvIGEgY29uY3JldGUgZm9sZGVyLW5vdGUgc2V0dXAuXG4gKlxuICogYGZvbGRlci1ub3Rlc2AnIGB2YXVsdEZvbGRlcmAgc3RvcmFnZSAoZXZlcnkgZm9sZGVyIG5vdGUgcG9vbGVkIGluIG9uZSBjZW50cmFsIGZvbGRlcikgaGFzIG5vXG4gKiBjb3VudGVycGFydCBoZXJlIGFuZCBmYWxscyBiYWNrIHJhdGhlciB0aGFuIGd1ZXNzaW5nOiB3aXRoIHRoZSBub3RlcyBwb29sZWQsIHRoZSBub3RlIGJlbG9uZ2luZyB0byBhXG4gKiBmb2xkZXIgaXMgbm8gbG9uZ2VyIGRlcml2YWJsZSBmcm9tIHRoYXQgZm9sZGVyJ3MgcGF0aCBhbG9uZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHNldHVwLCBhbmQgdGhlIGFwcCB0byByZWFkIHRoZSBpbnN0YWxsZWQgcGx1Z2luIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgc2V0dXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRm9sZGVyTm90ZUNvbmZpZyhwYXJhbXM6IFJlc29sdmVGb2xkZXJOb3RlQ29uZmlnUGFyYW1zKTogRm9sZGVyTm90ZUNvbmZpZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZXh0ZW5zaW9ucyxcbiAgICBpc0hpZGRlbixcbiAgICBsb2NhdGlvbixcbiAgICByZXNvbHZlTmFtZVxuICB9ID0gcGFyYW1zO1xuXG4gIHJldHVybiBsb2NhdGlvbiAhPT0gdW5kZWZpbmVkICYmIGxvY2F0aW9uICE9PSBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b1xuICAgID8ge1xuICAgICAgZXh0ZW5zaW9uczogbm9ybWFsaXplRXh0ZW5zaW9ucyhleHRlbnNpb25zID8/IFtNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTl0pLFxuICAgICAgaXNIaWRkZW46IGlzSGlkZGVuID8/IGZhbHNlLFxuICAgICAgbG9jYXRpb24sXG4gICAgICByZXNvbHZlTmFtZTogcmVzb2x2ZU5hbWUgPz8gRkFMTEJBQ0tfRk9MREVSX05PVEVfQ09ORklHLnJlc29sdmVOYW1lXG4gICAgfVxuICAgIDogcmVhZEZvbGRlck5vdGVzUGx1Z2luQ29uZmlnKGFwcCkgPz8gRkFMTEJBQ0tfRk9MREVSX05PVEVfQ09ORklHO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgZXh0ZW5zaW9ucyB0aGUgd2F5IGBmb2xkZXItbm90ZXNgIGRvZXMgYmVmb3JlIGl0IGxvb2tzIGEgZmlsZSB1cDogbm8gbGVhZGluZyBkb3QsIGxvd2VyLWNhc2UsXG4gKiBFeGNhbGlkcmF3IHRyZWF0ZWQgYXMgTWFya2Rvd24sIGJsYW5rcyBkcm9wcGVkLCBkdXBsaWNhdGVzIGNvbGxhcHNlZCB3aGlsZSBrZWVwaW5nIHRoZSBmaXJzdCBvY2N1cnJlbmNlJ3NcbiAqIHBvc2l0aW9uLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25zIC0gVGhlIGV4dGVuc2lvbnMgYXMgY29uZmlndXJlZC5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGV4dGVuc2lvbnMsIGluIHJlc29sdXRpb24gb3JkZXIuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUV4dGVuc2lvbnMoZXh0ZW5zaW9uczogcmVhZG9ubHkgc3RyaW5nW10pOiByZWFkb25seSBzdHJpbmdbXSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRFeHRlbnNpb25zID0gZXh0ZW5zaW9uc1xuICAgIC5tYXAoKGV4dGVuc2lvbikgPT4gZXh0ZW5zaW9uLnRyaW0oKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL15cXC4vLCAnJykpXG4gICAgLm1hcCgoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24gPT09IEVYQ0FMSURSQVdfRklMRV9FWFRFTlNJT04gPyBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiA6IGV4dGVuc2lvbilcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICByZXR1cm4gWy4uLm5ldyBTZXQobm9ybWFsaXplZEV4dGVuc2lvbnMpXTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgaW5zdGFsbGVkIGBmb2xkZXItbm90ZXNgIHBsdWdpbidzIG93biBjb25maWd1cmF0aW9uLCBpZiBpdCBpcyBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQgdGhlIHdheVxuICogaXQgZG9jdW1lbnRzLlxuICpcbiAqIEV2ZXJ5IHZhbHVlIGlzIHJlYWQgYXMgYHVua25vd25gIGFuZCBjaGVja2VkLCByYXRoZXIgdGhhbiBhc3NlcnRlZCBpbnRvIGEgc2hhcGU6IHRoaXMgaXMgYW5vdGhlclxuICogcGx1Z2luJ3MgcHJpdmF0ZSBzZXR0aW5ncyBvYmplY3QsIHNvIGEgdmVyc2lvbiB0aGF0IHJlbmFtZXMgb3IgZHJvcHMgYSBrZXkgbXVzdCBkZWdyYWRlIHRvIHRoZSBmYWxsYmFja1xuICogaW5zdGVhZCBvZiB0aHJvd2luZyBpbnNpZGUgYSBjbGljayBoYW5kbGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiwgb3IgYG51bGxgIHdoZW4gdGhlIHBsdWdpbiBpcyBhYnNlbnQsIG5vdCBjb25maWd1cmVkLCBvciBzZXQgdG8gYSBzdG9yYWdlXG4gKiBsb2NhdGlvbiB3aXRoIG5vIGNvdW50ZXJwYXJ0IGhlcmUuXG4gKi9cbmZ1bmN0aW9uIHJlYWRGb2xkZXJOb3Rlc1BsdWdpbkNvbmZpZyhhcHA6IEFwcCk6IEZvbGRlck5vdGVDb25maWcgfCBudWxsIHtcbiAgY29uc3QgZm9sZGVyTm90ZXNQbHVnaW4gPSBhcHAucGx1Z2lucy5nZXRQbHVnaW4oRk9MREVSX05PVEVTX1BMVUdJTl9JRCk7XG4gIC8vIE5hcnJvd2VkIHdpdGggYGluYCByYXRoZXIgdGhhbiBhc3NlcnRlZCBpbnRvIGEgc2hhcGU6IHRoYXQga2VlcHMgZXZlcnkgdmFsdWUgYmVsb3cgdHlwZWQgYHVua25vd25gLFxuICAvLyB3aGljaCBpcyBleGFjdGx5IHdoYXQgYSBmb3JlaWduIHBsdWdpbidzIHByaXZhdGUgc2V0dGluZ3MgYXJlLlxuICBpZiAoIWZvbGRlck5vdGVzUGx1Z2luIHx8ICEoJ3NldHRpbmdzJyBpbiBmb2xkZXJOb3Rlc1BsdWdpbikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlck5vdGVzU2V0dGluZ3M6IHVua25vd24gPSBmb2xkZXJOb3Rlc1BsdWdpbi5zZXR0aW5ncztcbiAgaWYgKHR5cGVvZiBmb2xkZXJOb3Rlc1NldHRpbmdzICE9PSAnb2JqZWN0JyB8fCBmb2xkZXJOb3Rlc1NldHRpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsb2NhdGlvbiA9IHRvRm9sZGVyTm90ZUxvY2F0aW9uKCdzdG9yYWdlTG9jYXRpb24nIGluIGZvbGRlck5vdGVzU2V0dGluZ3MgPyBmb2xkZXJOb3Rlc1NldHRpbmdzLnN0b3JhZ2VMb2NhdGlvbiA6IG51bGwpO1xuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBmb2xkZXJOb3RlTmFtZSA9ICdmb2xkZXJOb3RlTmFtZScgaW4gZm9sZGVyTm90ZXNTZXR0aW5ncyA/IGZvbGRlck5vdGVzU2V0dGluZ3MuZm9sZGVyTm90ZU5hbWUgOiBudWxsO1xuICBpZiAodHlwZW9mIGZvbGRlck5vdGVOYW1lICE9PSAnc3RyaW5nJyB8fCAhZm9sZGVyTm90ZU5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlck5vdGVUeXBlID0gJ2ZvbGRlck5vdGVUeXBlJyBpbiBmb2xkZXJOb3Rlc1NldHRpbmdzID8gZm9sZGVyTm90ZXNTZXR0aW5ncy5mb2xkZXJOb3RlVHlwZSA6IG51bGw7XG4gIGNvbnN0IHN1cHBvcnRlZEZpbGVUeXBlcyA9ICdzdXBwb3J0ZWRGaWxlVHlwZXMnIGluIGZvbGRlck5vdGVzU2V0dGluZ3MgPyBmb2xkZXJOb3Rlc1NldHRpbmdzLnN1cHBvcnRlZEZpbGVUeXBlcyA6IG51bGw7XG4gIGNvbnN0IGlzSGlkZGVuID0gJ2hpZGVGb2xkZXJOb3RlJyBpbiBmb2xkZXJOb3Rlc1NldHRpbmdzID8gZm9sZGVyTm90ZXNTZXR0aW5ncy5oaWRlRm9sZGVyTm90ZSA6IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBJdHMgb3duIHJlc29sdmVyIHRyaWVzIHRoZSBwcmltYXJ5IHR5cGUgZmlyc3QgYW5kIGV2ZXJ5IG90aGVyIHN1cHBvcnRlZCB0eXBlIGFmdGVyIGl0LCB3aGljaCBpcyB0aGVcbiAgICAvLyBvcmRlciByZXByb2R1Y2VkIGhlcmUuIEFuIHVudXNhYmxlIHBhaXIgbGVhdmVzIE1hcmtkb3duLCB0aGUgZXh0ZW5zaW9uIGl0IGNhbm5vdCBiZSBjb25maWd1cmVkXG4gICAgLy8gd2l0aG91dC5cbiAgICBleHRlbnNpb25zOiBub3JtYWxpemVFeHRlbnNpb25zKFtcbiAgICAgIHR5cGVvZiBmb2xkZXJOb3RlVHlwZSA9PT0gJ3N0cmluZycgPyBmb2xkZXJOb3RlVHlwZSA6IE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICAgICAgLi4uKEFycmF5LmlzQXJyYXkoc3VwcG9ydGVkRmlsZVR5cGVzKSA/IHN1cHBvcnRlZEZpbGVUeXBlcy5maWx0ZXIoKHR5cGU6IHVua25vd24pID0+IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykgOiBbXSksXG4gICAgICBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTlxuICAgIF0pLFxuICAgIGlzSGlkZGVuOiBpc0hpZGRlbiA9PT0gdHJ1ZSxcbiAgICBsb2NhdGlvbixcbiAgICByZXNvbHZlTmFtZTogKGZvbGRlcjogVEZvbGRlcik6IHN0cmluZyA9PlxuICAgICAgcmVwbGFjZUFsbCh7XG4gICAgICAgICRzdHJpbmc6IGZvbGRlck5vdGVOYW1lLFxuICAgICAgICAvLyBBIGZ1bmN0aW9uIHJlcGxhY2VyLCBzbyBhIGZvbGRlciBuYW1lIGNvbnRhaW5pbmcgYCQmYCBpcyBpbnNlcnRlZCBsaXRlcmFsbHkuXG4gICAgICAgIHJlcGxhY2VyOiAoKSA9PiBmb2xkZXIubmFtZSxcbiAgICAgICAgc2VhcmNoVmFsdWU6IEZPTERFUl9OT1RFU19GT0xERVJfTkFNRV9UT0tFTl9SRUdfRVhQXG4gICAgICB9KVxuICB9O1xufVxuXG4vKipcbiAqIE1hcHMgYGZvbGRlci1ub3Rlc2AnIGBzdG9yYWdlTG9jYXRpb25gIG9udG8gdGhpcyBsaWJyYXJ5J3Mgb3duIGxvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBzdG9yYWdlTG9jYXRpb24gLSBUaGUgdmFsdWUgcmVhZCBvdXQgb2YgdGhhdCBwbHVnaW4ncyBzZXR0aW5ncy5cbiAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbiwgb3IgYG51bGxgIGZvciBgdmF1bHRGb2xkZXJgIGFuZCBmb3IgYW55dGhpbmcgdGhhdCBpcyBub3Qgb25lIG9mIGl0cyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIHRvRm9sZGVyTm90ZUxvY2F0aW9uKHN0b3JhZ2VMb2NhdGlvbjogdW5rbm93bik6IEZvbGRlck5vdGVDb25maWdbJ2xvY2F0aW9uJ10gfCBudWxsIHtcbiAgc3dpdGNoIChzdG9yYWdlTG9jYXRpb24pIHtcbiAgICBjYXNlICdpbnNpZGVGb2xkZXInOiB7XG4gICAgICByZXR1cm4gRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcjtcbiAgICB9XG4gICAgY2FzZSAncGFyZW50Rm9sZGVyJzoge1xuICAgICAgcmV0dXJuIEZvbGRlck5vdGVMb2NhdGlvbi5QYXJlbnRGb2xkZXI7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxTQUFTLFlBQVk7QUFDckIsU0FBUyxrQkFBa0I7QUFDM0IsU0FBUyxxQkFBcUI7QUFFOUIsU0FBUywrQkFBK0I7QUFXakMsSUFBSyxxQkFBTCxrQkFBS0Esd0JBQUw7QUFLTCxFQUFBQSxvQkFBQSxVQUFPO0FBS1AsRUFBQUEsb0JBQUEsa0JBQWU7QUFNZixFQUFBQSxvQkFBQSxVQUFPO0FBS1AsRUFBQUEsb0JBQUEsa0JBQWU7QUFyQkwsU0FBQUE7QUFBQSxHQUFBO0FBc0lMLE1BQU0seUJBQXlCO0FBTXRDLE1BQU0seUNBQXlDO0FBTS9DLE1BQU0sNEJBQTRCO0FBT2xDLE1BQU0sOEJBQWdEO0FBQUEsRUFDcEQsWUFBWSxDQUFDLHVCQUF1QjtBQUFBLEVBQ3BDLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLGFBQWEsQ0FBQyxXQUE0QixPQUFPO0FBQ25EO0FBV08sU0FBUyxrQkFBa0IsUUFBK0M7QUFDL0UsUUFBTSxFQUFFLEtBQUssT0FBTyxJQUFJO0FBQ3hCLFFBQU0sU0FBUyxPQUFPLFVBQVUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDO0FBQy9ELE1BQUksT0FBTyxhQUFhLG1CQUF5QjtBQUMvQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sbUJBQW1CLE9BQU8sYUFBYSxvQ0FBa0MsT0FBTyxRQUFRLE9BQU8sT0FBTztBQUM1RyxNQUFJLHFCQUFxQixRQUFXO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxXQUFXLE9BQU8sWUFBWSxNQUFNLEVBQUUsS0FBSztBQUNqRCxNQUFJLENBQUMsVUFBVTtBQUNiLFdBQU87QUFBQSxFQUNUO0FBRUEsYUFBVyxhQUFhLE9BQU8sWUFBWTtBQUN6QyxVQUFNLE9BQU8sSUFBSSxNQUFNLGNBQWMsY0FBYyxLQUFLLGtCQUFrQixHQUFHLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBQ3RHLFFBQUksTUFBTTtBQUNSLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVlPLFNBQVMsd0JBQXdCLFFBQXlEO0FBQy9GLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUVKLFNBQU8sYUFBYSxVQUFhLGFBQWEsb0JBQzFDO0FBQUEsSUFDQSxZQUFZLG9CQUFvQixjQUFjLENBQUMsdUJBQXVCLENBQUM7QUFBQSxJQUN2RSxVQUFVLFlBQVk7QUFBQSxJQUN0QjtBQUFBLElBQ0EsYUFBYSxlQUFlLDRCQUE0QjtBQUFBLEVBQzFELElBQ0UsNEJBQTRCLEdBQUcsS0FBSztBQUMxQztBQVVBLFNBQVMsb0JBQW9CLFlBQWtEO0FBQzdFLFFBQU0sdUJBQXVCLFdBQzFCLElBQUksQ0FBQyxjQUFjLFVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLE9BQU8sRUFBRSxDQUFDLEVBQ3BFLElBQUksQ0FBQyxjQUFjLGNBQWMsNEJBQTRCLDBCQUEwQixTQUFTLEVBQ2hHLE9BQU8sT0FBTztBQUNqQixTQUFPLENBQUMsR0FBRyxJQUFJLElBQUksb0JBQW9CLENBQUM7QUFDMUM7QUFjQSxTQUFTLDRCQUE0QixLQUFtQztBQUN0RSxRQUFNLG9CQUFvQixJQUFJLFFBQVEsVUFBVSxzQkFBc0I7QUFHdEUsTUFBSSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsb0JBQW9CO0FBQzVELFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxzQkFBK0Isa0JBQWtCO0FBQ3ZELE1BQUksT0FBTyx3QkFBd0IsWUFBWSx3QkFBd0IsTUFBTTtBQUMzRSxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sV0FBVyxxQkFBcUIscUJBQXFCLHNCQUFzQixvQkFBb0Isa0JBQWtCLElBQUk7QUFDM0gsTUFBSSxDQUFDLFVBQVU7QUFDYixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0saUJBQWlCLG9CQUFvQixzQkFBc0Isb0JBQW9CLGlCQUFpQjtBQUN0RyxNQUFJLE9BQU8sbUJBQW1CLFlBQVksQ0FBQyxnQkFBZ0I7QUFDekQsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGlCQUFpQixvQkFBb0Isc0JBQXNCLG9CQUFvQixpQkFBaUI7QUFDdEcsUUFBTSxxQkFBcUIsd0JBQXdCLHNCQUFzQixvQkFBb0IscUJBQXFCO0FBQ2xILFFBQU0sV0FBVyxvQkFBb0Isc0JBQXNCLG9CQUFvQixpQkFBaUI7QUFFaEcsU0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLElBSUwsWUFBWSxvQkFBb0I7QUFBQSxNQUM5QixPQUFPLG1CQUFtQixXQUFXLGlCQUFpQjtBQUFBLE1BQ3RELEdBQUksTUFBTSxRQUFRLGtCQUFrQixJQUFJLG1CQUFtQixPQUFPLENBQUMsU0FBa0IsT0FBTyxTQUFTLFFBQVEsSUFBSSxDQUFDO0FBQUEsTUFDbEg7QUFBQSxJQUNGLENBQUM7QUFBQSxJQUNELFVBQVUsYUFBYTtBQUFBLElBQ3ZCO0FBQUEsSUFDQSxhQUFhLENBQUMsV0FDWixXQUFXO0FBQUEsTUFDVCxTQUFTO0FBQUE7QUFBQSxNQUVULFVBQVUsTUFBTSxPQUFPO0FBQUEsTUFDdkIsYUFBYTtBQUFBLElBQ2YsQ0FBQztBQUFBLEVBQ0w7QUFDRjtBQVFBLFNBQVMscUJBQXFCLGlCQUErRDtBQUMzRixVQUFRLGlCQUFpQjtBQUFBLElBQ3ZCLEtBQUssZ0JBQWdCO0FBQ25CLGFBQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxLQUFLLGdCQUFnQjtBQUNuQixhQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsU0FBUztBQUNQLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJGb2xkZXJOb3RlTG9jYXRpb24iXQp9Cg==
@@ -0,0 +1,44 @@
1
+ /// <reference path="./library.d.mts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Rewrites a note's YAML front matter by splicing its concrete syntax tree, so every region a change does not reach
6
+ * keeps the exact bytes its author wrote — comments and the whitespace inside them, quoting style, blank lines,
7
+ * indentation width, flow versus block collections, and folded and literal scalars.
8
+ *
9
+ * Obsidian's own `processFrontMatter()` parses the block to a plain object and re-stringifies the whole of it, so a
10
+ * callback that changes one key rewrites every other. Re-emitting the parsed document instead of the raw text does not
11
+ * fix that: five of the losses survive every emit option the `yaml` package offers. Splicing the CST does fix it,
12
+ * because an untouched token is never re-emitted at all — {@link https://github.com/eemeli/yaml | the library} keeps
13
+ * each token's original source text and {@link https://eemeli.org/yaml/#cst-parser | `CST.stringify`} concatenates it.
14
+ *
15
+ * This module is DELIBERATELY not on the default path. It needs the `yaml` package's CST API, which Obsidian does not
16
+ * hand to plugins through its module map — that map is `obsidian`, `@codemirror/*` and `@lezer/*` and nothing else —
17
+ * so the package cannot be marked external and lands in the consuming plugin's `main.js`, about 100 KB of it. A plugin
18
+ * opts in by calling {@link enableFrontmatterFormattingPreservation} once, and only it pays.
19
+ */
20
+ /**
21
+ * Registers this module's engine as the front matter formatting preserver for every write this library performs.
22
+ *
23
+ * Call it once, from a plugin's `onloadImpl()`. It takes effect for `processFrontmatter()`, `applyFileChanges()` and
24
+ * every other path that reaches `setFrontmatter()`, including the ones the calling plugin does not invoke itself.
25
+ *
26
+ * There is one preserver per realm, so two plugins that both call this simply agree.
27
+ */
28
+ export declare function enableFrontmatterFormattingPreservation(): void;
29
+ /**
30
+ * Rewrites the front matter of a note, keeping the original bytes of everything the change does not reach.
31
+ *
32
+ * It is the engine {@link enableFrontmatterFormattingPreservation} registers, and can be called directly as well.
33
+ *
34
+ * `null` means "this one is not mine": the block does not exist, the new front matter is empty (both are the
35
+ * parse-and-stringify path's business, unchanged), or the splice could not be proved faithful. The proof is not
36
+ * hand-waved — the spliced block is re-parsed and compared against the value the parse-and-stringify path would have
37
+ * produced for the same input, and any difference returns `null`. That is what makes this strictly better than that
38
+ * path or identical to it, and never worse.
39
+ *
40
+ * @param content - The note to rewrite the front matter of.
41
+ * @param newFrontmatter - The front matter to write.
42
+ * @returns The new note, or `null` when the caller should parse the block and write the whole of it out again instead.
43
+ */
44
+ export declare function preserveFrontmatterFormatting(content: string, newFrontmatter: object): null | string;