obsidian-dev-utils 48.1.2 → 48.1.3

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 (334) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/lib/cjs/AbortController.cjs +1 -1
  3. package/dist/lib/cjs/Array.cjs +1 -1
  4. package/dist/lib/cjs/Async.cjs +5 -3
  5. package/dist/lib/cjs/Async.d.cts +28 -19
  6. package/dist/lib/cjs/AsyncEvents.cjs +1 -1
  7. package/dist/lib/cjs/Blob.cjs +4 -5
  8. package/dist/lib/cjs/CssClass.cjs +1 -1
  9. package/dist/lib/cjs/Debug.cjs +2 -2
  10. package/dist/lib/cjs/DebugController.cjs +2 -2
  11. package/dist/lib/cjs/Enum.cjs +5 -12
  12. package/dist/lib/cjs/Error.cjs +6 -5
  13. package/dist/lib/cjs/Function.cjs +1 -1
  14. package/dist/lib/cjs/HTMLElement.cjs +1 -1
  15. package/dist/lib/cjs/Library.cjs +2 -2
  16. package/dist/lib/cjs/ObjectUtils.cjs +16 -8
  17. package/dist/lib/cjs/ObjectUtils.d.cts +17 -13
  18. package/dist/lib/cjs/Path.cjs +1 -1
  19. package/dist/lib/cjs/RegExp.cjs +4 -2
  20. package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +1 -1
  21. package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +1 -1
  22. package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +4 -5
  23. package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +5 -3
  24. package/dist/lib/cjs/ScriptUtils/ESLint/index.cjs +1 -1
  25. package/dist/lib/cjs/ScriptUtils/Exec.cjs +2 -2
  26. package/dist/lib/cjs/ScriptUtils/Exec.d.cts +6 -6
  27. package/dist/lib/cjs/ScriptUtils/Fs.cjs +2 -2
  28. package/dist/lib/cjs/ScriptUtils/Fs.d.cts +7 -7
  29. package/dist/lib/cjs/ScriptUtils/JSON.cjs +2 -2
  30. package/dist/lib/cjs/ScriptUtils/JSON.d.cts +1 -1
  31. package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +2 -2
  32. package/dist/lib/cjs/ScriptUtils/Npm.cjs +6 -6
  33. package/dist/lib/cjs/ScriptUtils/Npm.d.cts +2 -2
  34. package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +1 -1
  35. package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +13 -4
  36. package/dist/lib/cjs/ScriptUtils/NpmRun.d.cts +7 -0
  37. package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +1 -1
  38. package/dist/lib/cjs/ScriptUtils/Root.cjs +1 -1
  39. package/dist/lib/cjs/ScriptUtils/build.cjs +1 -1
  40. package/dist/lib/cjs/ScriptUtils/cli.cjs +2 -2
  41. package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +4 -4
  42. package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +12 -12
  43. package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.d.cts +4 -4
  44. package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +2 -2
  45. package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +2 -2
  46. package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +2 -2
  47. package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +2 -2
  48. package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +2 -2
  49. package/dist/lib/cjs/ScriptUtils/esbuild/index.cjs +1 -1
  50. package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +16 -3
  51. package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +2 -2
  52. package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +2 -2
  53. package/dist/lib/cjs/ScriptUtils/format.cjs +5 -8
  54. package/dist/lib/cjs/ScriptUtils/index.cjs +1 -1
  55. package/dist/lib/cjs/ScriptUtils/markdownlint/index.cjs +1 -1
  56. package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint-cli2-config.cjs +2 -2
  57. package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint.cjs +4 -5
  58. package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +1 -1
  59. package/dist/lib/cjs/ScriptUtils/version.cjs +13 -11
  60. package/dist/lib/cjs/String.cjs +2 -2
  61. package/dist/lib/cjs/Transformers/DateTransformer.cjs +1 -1
  62. package/dist/lib/cjs/Transformers/DurationTransformer.cjs +1 -1
  63. package/dist/lib/cjs/Transformers/GroupTransformer.cjs +5 -7
  64. package/dist/lib/cjs/Transformers/MapTransformer.cjs +1 -1
  65. package/dist/lib/cjs/Transformers/SetTransformer.cjs +1 -1
  66. package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +1 -1
  67. package/dist/lib/cjs/Transformers/Transformer.cjs +2 -2
  68. package/dist/lib/cjs/Transformers/Transformer.d.cts +1 -1
  69. package/dist/lib/cjs/Transformers/TwoWayMapTransformer.cjs +1 -1
  70. package/dist/lib/cjs/Transformers/TypedTransformer.cjs +1 -1
  71. package/dist/lib/cjs/Transformers/index.cjs +1 -1
  72. package/dist/lib/cjs/TwoWayMap.cjs +1 -1
  73. package/dist/lib/cjs/Type.cjs +14 -34
  74. package/dist/lib/cjs/Type.d.cts +52 -73
  75. package/dist/lib/cjs/TypeGuards.cjs +156 -0
  76. package/dist/lib/cjs/TypeGuards.d.cts +47 -0
  77. package/dist/lib/cjs/ValueProvider.cjs +1 -1
  78. package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +2 -2
  79. package/dist/lib/cjs/codemirror/index.cjs +1 -1
  80. package/dist/lib/cjs/index.cjs +5 -2
  81. package/dist/lib/cjs/index.d.cts +1 -0
  82. package/dist/lib/cjs/obsidian/App.cjs +2 -2
  83. package/dist/lib/cjs/obsidian/AsyncWithNotice.cjs +2 -2
  84. package/dist/lib/cjs/obsidian/AsyncWithNotice.d.cts +11 -11
  85. package/dist/lib/cjs/obsidian/AttachmentPath.cjs +2 -2
  86. package/dist/lib/cjs/obsidian/AttachmentPath.d.cts +23 -23
  87. package/dist/lib/cjs/obsidian/Backlink.cjs +4 -4
  88. package/dist/lib/cjs/obsidian/Backlink.d.cts +6 -6
  89. package/dist/lib/cjs/obsidian/Callout.cjs +4 -4
  90. package/dist/lib/cjs/obsidian/Callout.d.cts +6 -6
  91. package/dist/lib/cjs/obsidian/CodeBlockMarkdownInformation.cjs +2 -2
  92. package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +2 -2
  93. package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.d.cts +7 -7
  94. package/dist/lib/cjs/obsidian/Commands/CommandBase.cjs +4 -5
  95. package/dist/lib/cjs/obsidian/Commands/CommandBase.d.cts +4 -4
  96. package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +2 -2
  97. package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.d.cts +4 -4
  98. package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +2 -2
  99. package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +2 -2
  100. package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.cjs +2 -2
  101. package/dist/lib/cjs/obsidian/Commands/index.cjs +1 -1
  102. package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.cjs +1 -1
  103. package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.cjs +1 -1
  104. package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.cjs +14 -3
  105. package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.d.cts +5 -0
  106. package/dist/lib/cjs/obsidian/Components/SettingComponents/DateComponent.cjs +1 -1
  107. package/dist/lib/cjs/obsidian/Components/SettingComponents/DateTimeComponent.cjs +1 -1
  108. package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.cjs +1 -1
  109. package/dist/lib/cjs/obsidian/Components/SettingComponents/FileComponent.cjs +1 -1
  110. package/dist/lib/cjs/obsidian/Components/SettingComponents/MonthComponent.cjs +1 -1
  111. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.cjs +14 -3
  112. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.d.cts +5 -0
  113. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleEmailComponent.cjs +1 -1
  114. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleFileComponent.cjs +1 -1
  115. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.cjs +14 -3
  116. package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.d.cts +5 -0
  117. package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.cjs +1 -1
  118. package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.cjs +1 -1
  119. package/dist/lib/cjs/obsidian/Components/SettingComponents/SettingComponentWrapper.cjs +4 -5
  120. package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.cjs +1 -1
  121. package/dist/lib/cjs/obsidian/Components/SettingComponents/TextBasedComponent.cjs +1 -1
  122. package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.cjs +1 -1
  123. package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.cjs +1 -1
  124. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.cjs +14 -3
  125. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.d.cts +5 -0
  126. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.cjs +14 -3
  127. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.d.cts +5 -0
  128. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedRangeTextComponent.cjs +1 -1
  129. package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +1 -1
  130. package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.cjs +1 -1
  131. package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.cjs +1 -1
  132. package/dist/lib/cjs/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking.cjs +2 -2
  133. package/dist/lib/cjs/obsidian/Components/SettingComponents/WeekComponent.cjs +1 -1
  134. package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +1 -1
  135. package/dist/lib/cjs/obsidian/Components/index.cjs +1 -1
  136. package/dist/lib/cjs/obsidian/Dataview.cjs +4 -3
  137. package/dist/lib/cjs/obsidian/Dataview.d.cts +15 -15
  138. package/dist/lib/cjs/obsidian/DataviewLink.cjs +1 -1
  139. package/dist/lib/cjs/obsidian/Editor.cjs +1 -1
  140. package/dist/lib/cjs/obsidian/FileChange.cjs +2 -2
  141. package/dist/lib/cjs/obsidian/FileManager.cjs +1 -1
  142. package/dist/lib/cjs/obsidian/FileSystem.cjs +13 -11
  143. package/dist/lib/cjs/obsidian/Frontmatter.cjs +2 -2
  144. package/dist/lib/cjs/obsidian/Frontmatter.d.cts +1 -1
  145. package/dist/lib/cjs/obsidian/FrontmatterLinkCacheWithOffsets.cjs +1 -1
  146. package/dist/lib/cjs/obsidian/Link.cjs +24 -15
  147. package/dist/lib/cjs/obsidian/Link.d.cts +58 -58
  148. package/dist/lib/cjs/obsidian/Logger.cjs +1 -1
  149. package/dist/lib/cjs/obsidian/Loop.cjs +4 -2
  150. package/dist/lib/cjs/obsidian/Loop.d.cts +11 -11
  151. package/dist/lib/cjs/obsidian/Markdown.cjs +4 -5
  152. package/dist/lib/cjs/obsidian/Markdown.d.cts +6 -6
  153. package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +5 -8
  154. package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.d.cts +12 -12
  155. package/dist/lib/cjs/obsidian/MarkdownView.cjs +1 -1
  156. package/dist/lib/cjs/obsidian/MetadataCache.cjs +4 -6
  157. package/dist/lib/cjs/obsidian/MetadataCache.d.cts +1 -1
  158. package/dist/lib/cjs/obsidian/Modals/Alert.cjs +2 -2
  159. package/dist/lib/cjs/obsidian/Modals/Alert.d.cts +5 -5
  160. package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +2 -2
  161. package/dist/lib/cjs/obsidian/Modals/Confirm.d.cts +6 -6
  162. package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +1 -1
  163. package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +2 -2
  164. package/dist/lib/cjs/obsidian/Modals/Prompt.d.cts +7 -7
  165. package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +2 -2
  166. package/dist/lib/cjs/obsidian/Modals/SelectItem.d.cts +5 -5
  167. package/dist/lib/cjs/obsidian/Modals/index.cjs +1 -1
  168. package/dist/lib/cjs/obsidian/MonkeyAround.cjs +2 -2
  169. package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +1 -1
  170. package/dist/lib/cjs/obsidian/Pdf.cjs +2 -2
  171. package/dist/lib/cjs/obsidian/Pdf.d.cts +8 -8
  172. package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +4 -2
  173. package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.d.cts +4 -0
  174. package/dist/lib/cjs/obsidian/Plugin/PathSettings.cjs +6 -2
  175. package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +1 -1
  176. package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +2 -2
  177. package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +1 -1
  178. package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +1 -1
  179. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +2 -2
  180. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +1 -1
  181. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +2 -2
  182. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +6 -6
  183. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsWrapper.cjs +2 -2
  184. package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +2 -2
  185. package/dist/lib/cjs/obsidian/Plugin/index.cjs +1 -1
  186. package/dist/lib/cjs/obsidian/Queue.cjs +2 -2
  187. package/dist/lib/cjs/obsidian/Queue.d.cts +14 -14
  188. package/dist/lib/cjs/obsidian/React/AppContext.cjs +4 -7
  189. package/dist/lib/cjs/obsidian/React/index.cjs +1 -1
  190. package/dist/lib/cjs/obsidian/Reference.cjs +2 -2
  191. package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +2 -2
  192. package/dist/lib/cjs/obsidian/ResourceUrl.cjs +1 -1
  193. package/dist/lib/cjs/obsidian/SettingEx.cjs +1 -1
  194. package/dist/lib/cjs/obsidian/SettingGroupEx.cjs +1 -1
  195. package/dist/lib/cjs/obsidian/Validation.cjs +1 -1
  196. package/dist/lib/cjs/obsidian/Vault.cjs +2 -2
  197. package/dist/lib/cjs/obsidian/Vault.d.cts +3 -3
  198. package/dist/lib/cjs/obsidian/VaultEx.cjs +2 -2
  199. package/dist/lib/cjs/obsidian/Workspace.cjs +1 -1
  200. package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs +2 -2
  201. package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs +2 -2
  202. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +14 -4
  203. package/dist/lib/cjs/obsidian/i18n/index.cjs +1 -1
  204. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +1 -1
  205. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +1 -1
  206. package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs +1 -1
  207. package/dist/lib/cjs/obsidian/index.cjs +1 -1
  208. package/dist/lib/cjs/url.cjs +1 -1
  209. package/dist/lib/esm/Async.d.mts +28 -19
  210. package/dist/lib/esm/Async.mjs +4 -2
  211. package/dist/lib/esm/Blob.mjs +3 -4
  212. package/dist/lib/esm/Debug.mjs +1 -1
  213. package/dist/lib/esm/Enum.mjs +4 -11
  214. package/dist/lib/esm/Error.mjs +5 -4
  215. package/dist/lib/esm/Library.mjs +1 -1
  216. package/dist/lib/esm/ObjectUtils.d.mts +17 -13
  217. package/dist/lib/esm/ObjectUtils.mjs +18 -11
  218. package/dist/lib/esm/RegExp.mjs +3 -1
  219. package/dist/lib/esm/ScriptUtils/ESLint/ESLint.mjs +3 -4
  220. package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +4 -2
  221. package/dist/lib/esm/ScriptUtils/Exec.d.mts +6 -6
  222. package/dist/lib/esm/ScriptUtils/Exec.mjs +1 -1
  223. package/dist/lib/esm/ScriptUtils/Fs.d.mts +7 -7
  224. package/dist/lib/esm/ScriptUtils/Fs.mjs +1 -1
  225. package/dist/lib/esm/ScriptUtils/JSON.d.mts +1 -1
  226. package/dist/lib/esm/ScriptUtils/JSON.mjs +1 -1
  227. package/dist/lib/esm/ScriptUtils/NodeModules.mjs +1 -1
  228. package/dist/lib/esm/ScriptUtils/Npm.d.mts +2 -2
  229. package/dist/lib/esm/ScriptUtils/Npm.mjs +5 -5
  230. package/dist/lib/esm/ScriptUtils/NpmRun.d.mts +7 -0
  231. package/dist/lib/esm/ScriptUtils/NpmRun.mjs +10 -2
  232. package/dist/lib/esm/ScriptUtils/cli.mjs +1 -1
  233. package/dist/lib/esm/ScriptUtils/esbuild/Dependency.mjs +3 -3
  234. package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.d.mts +4 -4
  235. package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.mjs +11 -11
  236. package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.mjs +1 -1
  237. package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.mjs +1 -1
  238. package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.mjs +1 -1
  239. package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.mjs +1 -1
  240. package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.mjs +1 -1
  241. package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +3 -2
  242. package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.mjs +1 -1
  243. package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.mjs +1 -1
  244. package/dist/lib/esm/ScriptUtils/format.mjs +4 -7
  245. package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint-cli2-config.mjs +1 -1
  246. package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint.mjs +3 -4
  247. package/dist/lib/esm/ScriptUtils/version.mjs +19 -11
  248. package/dist/lib/esm/String.mjs +1 -1
  249. package/dist/lib/esm/Transformers/GroupTransformer.mjs +7 -6
  250. package/dist/lib/esm/Transformers/Transformer.d.mts +1 -1
  251. package/dist/lib/esm/Transformers/Transformer.mjs +1 -1
  252. package/dist/lib/esm/Type.d.mts +52 -73
  253. package/dist/lib/esm/Type.mjs +12 -30
  254. package/dist/lib/esm/TypeGuards.d.mts +47 -0
  255. package/dist/lib/esm/TypeGuards.mjs +47 -0
  256. package/dist/lib/esm/index.d.mts +1 -0
  257. package/dist/lib/esm/index.mjs +3 -1
  258. package/dist/lib/esm/obsidian/App.mjs +1 -1
  259. package/dist/lib/esm/obsidian/AsyncWithNotice.d.mts +11 -11
  260. package/dist/lib/esm/obsidian/AsyncWithNotice.mjs +1 -1
  261. package/dist/lib/esm/obsidian/AttachmentPath.d.mts +23 -23
  262. package/dist/lib/esm/obsidian/AttachmentPath.mjs +1 -1
  263. package/dist/lib/esm/obsidian/Backlink.d.mts +6 -6
  264. package/dist/lib/esm/obsidian/Backlink.mjs +3 -3
  265. package/dist/lib/esm/obsidian/Callout.d.mts +6 -6
  266. package/dist/lib/esm/obsidian/Callout.mjs +3 -3
  267. package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.d.mts +7 -7
  268. package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.mjs +1 -1
  269. package/dist/lib/esm/obsidian/Commands/CommandBase.d.mts +4 -4
  270. package/dist/lib/esm/obsidian/Commands/CommandBase.mjs +3 -4
  271. package/dist/lib/esm/obsidian/Commands/EditorCommandBase.d.mts +4 -4
  272. package/dist/lib/esm/obsidian/Commands/EditorCommandBase.mjs +1 -1
  273. package/dist/lib/esm/obsidian/Commands/FileCommandBase.mjs +1 -1
  274. package/dist/lib/esm/obsidian/Commands/FolderCommandBase.mjs +1 -1
  275. package/dist/lib/esm/obsidian/Commands/NonEditorCommandBase.mjs +1 -1
  276. package/dist/lib/esm/obsidian/Components/SettingComponents/CodeHighlighterComponent.d.mts +5 -0
  277. package/dist/lib/esm/obsidian/Components/SettingComponents/CodeHighlighterComponent.mjs +13 -2
  278. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.d.mts +5 -0
  279. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.mjs +13 -2
  280. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.d.mts +5 -0
  281. package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.mjs +13 -2
  282. package/dist/lib/esm/obsidian/Components/SettingComponents/SettingComponentWrapper.mjs +3 -4
  283. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.d.mts +5 -0
  284. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.mjs +13 -2
  285. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.d.mts +5 -0
  286. package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.mjs +13 -2
  287. package/dist/lib/esm/obsidian/Dataview.d.mts +15 -15
  288. package/dist/lib/esm/obsidian/Dataview.mjs +4 -6
  289. package/dist/lib/esm/obsidian/FileChange.mjs +1 -1
  290. package/dist/lib/esm/obsidian/FileSystem.mjs +12 -10
  291. package/dist/lib/esm/obsidian/Frontmatter.d.mts +1 -1
  292. package/dist/lib/esm/obsidian/Frontmatter.mjs +1 -1
  293. package/dist/lib/esm/obsidian/Link.d.mts +58 -58
  294. package/dist/lib/esm/obsidian/Link.mjs +26 -14
  295. package/dist/lib/esm/obsidian/Loop.d.mts +11 -11
  296. package/dist/lib/esm/obsidian/Loop.mjs +3 -1
  297. package/dist/lib/esm/obsidian/Markdown.d.mts +6 -6
  298. package/dist/lib/esm/obsidian/Markdown.mjs +3 -4
  299. package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.d.mts +12 -12
  300. package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.mjs +4 -7
  301. package/dist/lib/esm/obsidian/MetadataCache.d.mts +1 -1
  302. package/dist/lib/esm/obsidian/MetadataCache.mjs +3 -5
  303. package/dist/lib/esm/obsidian/Modals/Alert.d.mts +5 -5
  304. package/dist/lib/esm/obsidian/Modals/Alert.mjs +1 -1
  305. package/dist/lib/esm/obsidian/Modals/Confirm.d.mts +6 -6
  306. package/dist/lib/esm/obsidian/Modals/Confirm.mjs +1 -1
  307. package/dist/lib/esm/obsidian/Modals/Prompt.d.mts +7 -7
  308. package/dist/lib/esm/obsidian/Modals/Prompt.mjs +1 -1
  309. package/dist/lib/esm/obsidian/Modals/SelectItem.d.mts +5 -5
  310. package/dist/lib/esm/obsidian/Modals/SelectItem.mjs +1 -1
  311. package/dist/lib/esm/obsidian/MonkeyAround.mjs +1 -1
  312. package/dist/lib/esm/obsidian/Pdf.d.mts +8 -8
  313. package/dist/lib/esm/obsidian/Pdf.mjs +1 -1
  314. package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.d.mts +4 -0
  315. package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.mjs +3 -1
  316. package/dist/lib/esm/obsidian/Plugin/PathSettings.mjs +5 -1
  317. package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +1 -1
  318. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +1 -1
  319. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +1 -1
  320. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +6 -6
  321. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +1 -1
  322. package/dist/lib/esm/obsidian/Queue.d.mts +14 -14
  323. package/dist/lib/esm/obsidian/Queue.mjs +1 -1
  324. package/dist/lib/esm/obsidian/React/AppContext.mjs +3 -6
  325. package/dist/lib/esm/obsidian/Reference.mjs +1 -1
  326. package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +1 -1
  327. package/dist/lib/esm/obsidian/Vault.d.mts +3 -3
  328. package/dist/lib/esm/obsidian/Vault.mjs +1 -1
  329. package/dist/lib/esm/obsidian/VaultEx.mjs +1 -1
  330. package/dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.mjs +1 -1
  331. package/dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.mjs +1 -1
  332. package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -3
  333. package/dist/scripts/examples/format.prettier.ts +2 -3
  334. package/package.json +10 -2
@@ -69,27 +69,27 @@ export interface ConvertLinkOptions {
69
69
  /**
70
70
  * An Obsidian app instance.
71
71
  */
72
- app: App;
72
+ readonly app: App;
73
73
  /**
74
74
  * A reference for the link.
75
75
  */
76
- link: Reference;
76
+ readonly link: Reference;
77
77
  /**
78
78
  * A style of the link.
79
79
  */
80
- linkStyle?: LinkStyle;
80
+ readonly linkStyle?: LinkStyle;
81
81
  /**
82
82
  * A source file containing the link.
83
83
  */
84
- newSourcePathOrFile: PathOrFile;
84
+ readonly newSourcePathOrFile: PathOrFile;
85
85
  /**
86
86
  * An old path of the link.
87
87
  */
88
- oldSourcePathOrFile?: PathOrFile;
88
+ readonly oldSourcePathOrFile?: PathOrFile;
89
89
  /**
90
90
  * Whether to update file name alias. Defaults to `true`.
91
91
  */
92
- shouldUpdateFileNameAlias?: boolean;
92
+ readonly shouldUpdateFileNameAlias?: boolean;
93
93
  }
94
94
  /**
95
95
  * Options for {@link generateMarkdownLink}.
@@ -101,11 +101,11 @@ export interface GenerateMarkdownLinkOptions {
101
101
  * @example `[[alias|link]]`
102
102
  * @example `[alias](link.md)`
103
103
  */
104
- alias?: string;
104
+ readonly alias?: string;
105
105
  /**
106
106
  * An Obsidian app instance.
107
107
  */
108
- app: App;
108
+ readonly app: App;
109
109
  /**
110
110
  * Indicates if the link should be embedded. If not provided, it will be inferred based on the file type.
111
111
  *
@@ -113,7 +113,7 @@ export interface GenerateMarkdownLinkOptions {
113
113
  *
114
114
  * If `false`: `[[target]]`.
115
115
  */
116
- isEmbed?: boolean;
116
+ readonly isEmbed?: boolean;
117
117
  /**
118
118
  * Whether to allow an empty alias for embeds. Defaults to `true`.
119
119
  *
@@ -123,13 +123,13 @@ export interface GenerateMarkdownLinkOptions {
123
123
  *
124
124
  * If `false`: `![foo](foo.png)`.
125
125
  */
126
- isEmptyEmbedAliasAllowed?: boolean;
126
+ readonly isEmptyEmbedAliasAllowed?: boolean;
127
127
  /**
128
128
  * Whether to allow non-existing files. Defaults to `false`.
129
129
  *
130
130
  * If `false` and {@link targetPathOrFile} is a non-existing file, an error will be thrown.
131
131
  */
132
- isNonExistingFileAllowed?: boolean;
132
+ readonly isNonExistingFileAllowed?: boolean;
133
133
  /**
134
134
  * Whether to allow a single subpath. Defaults to `true`.
135
135
  *
@@ -139,15 +139,15 @@ export interface GenerateMarkdownLinkOptions {
139
139
  *
140
140
  * If `false`: `[[source#subpath]]`
141
141
  */
142
- isSingleSubpathAllowed?: boolean;
142
+ readonly isSingleSubpathAllowed?: boolean;
143
143
  /**
144
144
  * A style of the link path.
145
145
  */
146
- linkPathStyle?: LinkPathStyle;
146
+ readonly linkPathStyle?: LinkPathStyle;
147
147
  /**
148
148
  * A style of the link.
149
149
  */
150
- linkStyle?: LinkStyle;
150
+ readonly linkStyle?: LinkStyle;
151
151
  /**
152
152
  * An original link text.
153
153
  *
@@ -161,7 +161,7 @@ export interface GenerateMarkdownLinkOptions {
161
161
  *
162
162
  * These inferred values will be overridden by corresponding settings if specified.
163
163
  */
164
- originalLink?: string;
164
+ readonly originalLink?: string;
165
165
  /**
166
166
  * Whether to escape the alias. Defaults to `false`.
167
167
  *
@@ -171,7 +171,7 @@ export interface GenerateMarkdownLinkOptions {
171
171
  *
172
172
  * If `false`: `[**alias**](link.md)`.
173
173
  */
174
- shouldEscapeAlias?: boolean;
174
+ readonly shouldEscapeAlias?: boolean;
175
175
  /**
176
176
  * Whether to include the attachment extension in the embed alias. Defaults to `false`.
177
177
  *
@@ -181,7 +181,7 @@ export interface GenerateMarkdownLinkOptions {
181
181
  *
182
182
  * If `false`: `[foo](foo.png)`.
183
183
  */
184
- shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
184
+ readonly shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
185
185
  /**
186
186
  * Indicates if the link should use angle brackets. Defaults to `false`.
187
187
  *
@@ -191,7 +191,7 @@ export interface GenerateMarkdownLinkOptions {
191
191
  *
192
192
  * If `false`: `[alias](path%20with%20spaces.md)`.
193
193
  */
194
- shouldUseAngleBrackets?: boolean;
194
+ readonly shouldUseAngleBrackets?: boolean;
195
195
  /**
196
196
  * Indicates if the link should use a leading dot. Defaults to `false`.
197
197
  *
@@ -201,7 +201,7 @@ export interface GenerateMarkdownLinkOptions {
201
201
  *
202
202
  * If `false`: `[[relative/path/to/target]]`
203
203
  */
204
- shouldUseLeadingDotForRelativePaths?: boolean;
204
+ readonly shouldUseLeadingDotForRelativePaths?: boolean;
205
205
  /**
206
206
  * Indicates if the link should use a leading slash. Defaults to `false`.
207
207
  *
@@ -211,11 +211,11 @@ export interface GenerateMarkdownLinkOptions {
211
211
  *
212
212
  * If `false`: `[[absolute/path/to/target]]`
213
213
  */
214
- shouldUseLeadingSlashForAbsolutePaths?: boolean;
214
+ readonly shouldUseLeadingSlashForAbsolutePaths?: boolean;
215
215
  /**
216
216
  * A source path of the link.
217
217
  */
218
- sourcePathOrFile: PathOrFile;
218
+ readonly sourcePathOrFile: PathOrFile;
219
219
  /**
220
220
  * A subpath of the link.
221
221
  *
@@ -225,11 +225,11 @@ export interface GenerateMarkdownLinkOptions {
225
225
  * @example `[[link-with-subpath#subpath]]`
226
226
  * @example `[[link-with-subpath#subpath#nested-subpath]]`
227
227
  */
228
- subpath?: string;
228
+ readonly subpath?: string;
229
229
  /**
230
230
  * A target path or file.
231
231
  */
232
- targetPathOrFile: PathOrFile;
232
+ readonly targetPathOrFile: PathOrFile;
233
233
  }
234
234
  /**
235
235
  * Options for {@link generateRawMarkdownLink}.
@@ -238,31 +238,31 @@ export interface GenerateRawMarkdownLinkOptions {
238
238
  /**
239
239
  * An alias of the link. Defaults to `undefined`.
240
240
  */
241
- alias?: string | undefined;
241
+ readonly alias?: string | undefined;
242
242
  /**
243
243
  * Whether the link should be an embed link. Defaults to `false`.
244
244
  */
245
- isEmbed?: boolean;
245
+ readonly isEmbed?: boolean;
246
246
  /**
247
247
  * Whether the link should be a wikilink.
248
248
  */
249
- isWikilink: boolean;
249
+ readonly isWikilink: boolean;
250
250
  /**
251
251
  * Whether to escape the alias. Applicable only if {@link isWikilink} is `false`. Defaults to `false`.
252
252
  */
253
- shouldEscapeAlias?: boolean;
253
+ readonly shouldEscapeAlias?: boolean;
254
254
  /**
255
255
  * Whether to use angle brackets. Applicable only if {@link isWikilink} is `false`. Defaults to `false`.
256
256
  */
257
- shouldUseAngleBrackets?: boolean;
257
+ readonly shouldUseAngleBrackets?: boolean;
258
258
  /**
259
259
  * A title of the link.
260
260
  */
261
- title?: string;
261
+ readonly title?: string;
262
262
  /**
263
263
  * An URL of the link.
264
264
  */
265
- url: string;
265
+ readonly url: string;
266
266
  }
267
267
  /**
268
268
  * A result of parsing a link.
@@ -378,31 +378,31 @@ export interface ShouldResetAliasOptions {
378
378
  /**
379
379
  * An Obsidian app instance.
380
380
  */
381
- app: App;
381
+ readonly app: App;
382
382
  /**
383
383
  * A display text of the link.
384
384
  */
385
- displayText: string | undefined;
385
+ readonly displayText: string | undefined;
386
386
  /**
387
387
  * Indicates if the link is a wikilink.
388
388
  */
389
- isWikilink?: boolean;
389
+ readonly isWikilink?: boolean;
390
390
  /**
391
391
  * A source path of the link.
392
392
  */
393
- newSourcePathOrFile: PathOrFile;
393
+ readonly newSourcePathOrFile: PathOrFile;
394
394
  /**
395
395
  * An old source file containing the link.
396
396
  */
397
- oldSourcePathOrFile?: PathOrFile;
397
+ readonly oldSourcePathOrFile?: PathOrFile;
398
398
  /**
399
399
  * An old target path of the link.
400
400
  */
401
- oldTargetPath: PathOrFile;
401
+ readonly oldTargetPath: PathOrFile;
402
402
  /**
403
403
  * A target path or file.
404
404
  */
405
- targetPathOrFile: PathOrFile;
405
+ readonly targetPathOrFile: PathOrFile;
406
406
  }
407
407
  /**
408
408
  * Splits a link into its link path and subpath.
@@ -424,35 +424,35 @@ export interface UpdateLinkOptions {
424
424
  /**
425
425
  * An Obsidian app instance.
426
426
  */
427
- app: App;
427
+ readonly app: App;
428
428
  /**
429
429
  * A reference for the link.
430
430
  */
431
- link: Reference;
431
+ readonly link: Reference;
432
432
  /**
433
433
  * Whether to force markdown links.
434
434
  */
435
- linkStyle?: LinkStyle;
435
+ readonly linkStyle?: LinkStyle;
436
436
  /**
437
437
  * A source file containing the link.
438
438
  */
439
- newSourcePathOrFile: PathOrFile;
439
+ readonly newSourcePathOrFile: PathOrFile;
440
440
  /**
441
441
  * A file associated with the link.
442
442
  */
443
- newTargetPathOrFile: PathOrFile;
443
+ readonly newTargetPathOrFile: PathOrFile;
444
444
  /**
445
445
  * An old source file containing the link.
446
446
  */
447
- oldSourcePathOrFile?: PathOrFile;
447
+ readonly oldSourcePathOrFile?: PathOrFile;
448
448
  /**
449
449
  * An old path of the file.
450
450
  */
451
- oldTargetPathOrFile?: PathOrFile;
451
+ readonly oldTargetPathOrFile?: PathOrFile;
452
452
  /**
453
453
  * Whether to update file name alias. Defaults to `true`.
454
454
  */
455
- shouldUpdateFileNameAlias?: boolean;
455
+ readonly shouldUpdateFileNameAlias?: boolean;
456
456
  }
457
457
  /**
458
458
  * Options for {@link updateLinksInFile}.
@@ -461,27 +461,27 @@ export interface UpdateLinksInFileOptions extends ProcessOptions {
461
461
  /**
462
462
  * An Obsidian app instance.
463
463
  */
464
- app: App;
464
+ readonly app: App;
465
465
  /**
466
466
  * A style of the link.
467
467
  */
468
- linkStyle?: LinkStyle;
468
+ readonly linkStyle?: LinkStyle;
469
469
  /**
470
470
  * A file to update the links in.
471
471
  */
472
- newSourcePathOrFile: PathOrFile;
472
+ readonly newSourcePathOrFile: PathOrFile;
473
473
  /**
474
474
  * An old path of the file.
475
475
  */
476
- oldSourcePathOrFile?: PathOrFile;
476
+ readonly oldSourcePathOrFile?: PathOrFile;
477
477
  /**
478
478
  * Whether to update only embedded links.
479
479
  */
480
- shouldUpdateEmbedOnlyLinks?: boolean;
480
+ readonly shouldUpdateEmbedOnlyLinks?: boolean;
481
481
  /**
482
482
  * Whether to update file name alias. Defaults to `true`.
483
483
  */
484
- shouldUpdateFileNameAlias?: boolean;
484
+ readonly shouldUpdateFileNameAlias?: boolean;
485
485
  }
486
486
  /**
487
487
  * Options for {@link updateLinksInContent}.
@@ -490,31 +490,31 @@ interface UpdateLinksInContentOptions {
490
490
  /**
491
491
  * An Obsidian app instance.
492
492
  */
493
- app: App;
493
+ readonly app: App;
494
494
  /**
495
495
  * A content to update the links in.
496
496
  */
497
- content: string;
497
+ readonly content: string;
498
498
  /**
499
499
  * A style of the link.
500
500
  */
501
- linkStyle?: LinkStyle;
501
+ readonly linkStyle?: LinkStyle;
502
502
  /**
503
503
  * A new source path or file.
504
504
  */
505
- newSourcePathOrFile: PathOrFile;
505
+ readonly newSourcePathOrFile: PathOrFile;
506
506
  /**
507
507
  * An old source path or file.
508
508
  */
509
- oldSourcePathOrFile?: PathOrFile;
509
+ readonly oldSourcePathOrFile?: PathOrFile;
510
510
  /**
511
511
  * Whether to update only embedded links.
512
512
  */
513
- shouldUpdateEmbedOnlyLinks?: boolean;
513
+ readonly shouldUpdateEmbedOnlyLinks?: boolean;
514
514
  /**
515
515
  * Whether to update file name alias.
516
516
  */
517
- shouldUpdateFileNameAlias?: boolean;
517
+ readonly shouldUpdateFileNameAlias?: boolean;
518
518
  }
519
519
  /**
520
520
  * Converts a link to a new path.
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -134,9 +134,11 @@ var import_PluginContext = require('./Plugin/PluginContext.cjs');
134
134
  async function loop(options) {
135
135
  const DEFAULT_OPTIONS = {
136
136
  abortSignal: (0, import_AbortController.abortSignalNever)(),
137
+ /* v8 ignore start -- buildNoticeMessage is required in LoopOptions and always overridden by the spread. */
137
138
  buildNoticeMessage() {
138
139
  throw new Error("buildNoticeMessage is required");
139
140
  },
141
+ /* v8 ignore stop */
140
142
  items: [],
141
143
  // eslint-disable-next-line no-magic-numbers -- Extracting magic number as a constant would be repetitive, as the value is used only once and its name would be the same as the property.
142
144
  noticeBeforeShownTimeoutInMilliseconds: 500,
@@ -220,4 +222,4 @@ async function loop(options) {
220
222
  0 && (module.exports = {
221
223
  loop
222
224
  });
223
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGxvb3BpbmcgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBhYm9ydFNpZ25hbE5ldmVyIH0gZnJvbSAnLi4vQWJvcnRDb250cm9sbGVyLnRzJztcbmltcG9ydCB7XG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luY1xufSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7XG4gIEFTWU5DX1dSQVBQRVJfRVJST1JfTUVTU0FHRSxcbiAgQ3VzdG9tU3RhY2tUcmFjZUVycm9yLFxuICBlbWl0QXN5bmNFcnJvckV2ZW50LFxuICBnZXRTdGFja1RyYWNlXG59IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi9GdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGxvb3B9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvb3BPcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGFib3J0IHNpZ25hbCB0byBjYW5jZWwgdGhlIGxvb3AuXG4gICAqL1xuICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhIG5vdGljZSBtZXNzYWdlIGZvciBlYWNoIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIC0gVGhlIGN1cnJlbnQgaXRlbS5cbiAgICogQHBhcmFtIGl0ZXJhdGlvblN0ciAtIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIHRvIGRpc3BsYXkgaW4gdGhlIG5vdGljZS5cbiAgICovXG4gIGJ1aWxkTm90aWNlTWVzc2FnZShpdGVtOiBULCBpdGVyYXRpb25TdHI6IHN0cmluZyk6IHN0cmluZztcblxuICAvKipcbiAgICogSXRlbXMgdG8gbG9vcCBvdmVyLlxuICAgKi9cbiAgaXRlbXM6IFRbXTtcblxuICAvKipcbiAgICogQSB0aW1lb3V0IGZvciB0aGUgbm90aWNlIGJlZm9yZSBpdCBpcyBzaG93bi4gRGVmYXVsdCBpcyBgNTAwYC5cbiAgICovXG4gIG5vdGljZUJlZm9yZVNob3duVGltZW91dEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIG1pbmltdW0gdGltZW91dCBmb3IgdGhlIG5vdGljZS4gRGVmYXVsdCBpcyBgMjAwMGAuXG4gICAqL1xuICBub3RpY2VNaW5UaW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgZWFjaCBpdGVtLlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBjdXJyZW50IGl0ZW0uXG4gICAqL1xuICBwcm9jZXNzSXRlbShpdGVtOiBUKTogUHJvbWlzYWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogQSB0aXRsZSBvZiB0aGUgcHJvZ3Jlc3MgYmFyLiBEZWZhdWx0IGlzIGAnJ2AuXG4gICAqL1xuICBwcm9ncmVzc0JhclRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbnRpbnVlIHRoZSBsb29wIG9uIGVycm9yLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZENvbnRpbnVlT25FcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyBhIG5vdGljZS4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRTaG93Tm90aWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgcHJvZ3Jlc3MgYmFyLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFNob3dQcm9ncmVzc0Jhcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgdGhyZXNob2xkIGZvciB0aGUgVUkgdXBkYXRlLiBEZWZhdWx0IGlzIGAxMDBgLlxuICAgKi9cbiAgdWlVcGRhdGVUaHJlc2hvbGRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMb29wcyBvdmVyIGEgbGlzdCBvZiBpdGVtcyBhbmQgcHJvY2Vzc2VzIGVhY2ggaXRlbS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgbG9vcC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvb3A8VD4ob3B0aW9uczogTG9vcE9wdGlvbnM8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxMb29wT3B0aW9uczxUPj4gPSB7XG4gICAgYWJvcnRTaWduYWw6IGFib3J0U2lnbmFsTmV2ZXIoKSxcbiAgICBidWlsZE5vdGljZU1lc3NhZ2UoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2J1aWxkTm90aWNlTWVzc2FnZSBpcyByZXF1aXJlZCcpO1xuICAgIH0sXG4gICAgaXRlbXM6IFtdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIEV4dHJhY3RpbmcgbWFnaWMgbnVtYmVyIGFzIGEgY29uc3RhbnQgd291bGQgYmUgcmVwZXRpdGl2ZSwgYXMgdGhlIHZhbHVlIGlzIHVzZWQgb25seSBvbmNlIGFuZCBpdHMgbmFtZSB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcHJvcGVydHkuXG4gICAgbm90aWNlQmVmb3JlU2hvd25UaW1lb3V0SW5NaWxsaXNlY29uZHM6IDUwMCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVycyAtLSBFeHRyYWN0aW5nIG1hZ2ljIG51bWJlciBhcyBhIGNvbnN0YW50IHdvdWxkIGJlIHJlcGV0aXRpdmUsIGFzIHRoZSB2YWx1ZSBpcyB1c2VkIG9ubHkgb25jZSBhbmQgaXRzIG5hbWUgd291bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHByb3BlcnR5LlxuICAgIG5vdGljZU1pblRpbWVvdXRJbk1pbGxpc2Vjb25kczogMjAwMCxcbiAgICBwcm9jZXNzSXRlbTogbm9vcCxcbiAgICBwcm9ncmVzc0JhclRpdGxlOiAnJyxcbiAgICBzaG91bGRDb250aW51ZU9uRXJyb3I6IHRydWUsXG4gICAgc2hvdWxkU2hvd05vdGljZTogdHJ1ZSxcbiAgICBzaG91bGRTaG93UHJvZ3Jlc3NCYXI6IHRydWUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnMgLS0gRXh0cmFjdGluZyBtYWdpYyBudW1iZXIgYXMgYSBjb25zdGFudCB3b3VsZCBiZSByZXBldGl0aXZlLCBhcyB0aGUgdmFsdWUgaXMgdXNlZCBvbmx5IG9uY2UgYW5kIGl0cyBuYW1lIHdvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwcm9wZXJ0eS5cbiAgICB1aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzOiAxMDBcbiAgfTtcblxuICBjb25zdCBmdWxsT3B0aW9uczogUmVxdWlyZWQ8TG9vcE9wdGlvbnM8VD4+ID0ge1xuICAgIC4uLkRFRkFVTFRfT1BUSU9OUyxcbiAgICAuLi5vcHRpb25zXG4gIH07XG5cbiAgY29uc3Qgc3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG5cbiAgY29uc3QgaXRlbXMgPSBmdWxsT3B0aW9ucy5pdGVtcztcbiAgbGV0IGl0ZXJhdGlvbkNvdW50ID0gMDtcbiAgbGV0IG5vdGljZSA9IG51bGwgYXMgTm90aWNlIHwgbnVsbDtcbiAgbGV0IGlzRG9uZSA9IGZhbHNlO1xuICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiBzaG93Tm90aWNlKCkpO1xuXG4gIGNvbnN0IG5vdGljZU1pblRpbWVvdXRQcm9taXNlID0gc2xlZXAoZnVsbE9wdGlvbnMubm90aWNlTWluVGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgY29uc3QgcHJvZ3Jlc3NCYXJFbCA9IGNyZWF0ZUVsKCdwcm9ncmVzcycpO1xuICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHByb2dyZXNzQmFyRWwsICdsb29wJyk7XG4gIHByb2dyZXNzQmFyRWwubWF4ID0gaXRlbXMubGVuZ3RoO1xuXG4gIGxldCBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICBpZiAoZnVsbE9wdGlvbnMuYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgbm90aWNlPy5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZXJhdGlvbkNvdW50Kys7XG4gICAgY29uc3QgaXRlcmF0aW9uU3RyID0gYCMgJHtTdHJpbmcoaXRlcmF0aW9uQ291bnQpfSAvICR7U3RyaW5nKGl0ZW1zLmxlbmd0aCl9YDtcbiAgICBjb25zdCBtZXNzYWdlID0gZnVsbE9wdGlvbnMuYnVpbGROb3RpY2VNZXNzYWdlKGl0ZW0sIGl0ZXJhdGlvblN0cik7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93UHJvZ3Jlc3NCYXIpIHtcbiAgICAgIG5vdGljZT8uc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG4gICAgZ2V0TGliRGVidWdnZXIoJ0xvb3AnKShtZXNzYWdlKTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAocGVyZm9ybWFuY2Uubm93KCkgLSBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPiBmdWxsT3B0aW9ucy51aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzKSB7XG4gICAgICAgIGF3YWl0IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jKCk7XG4gICAgICAgIGxhc3RVSVVwZGF0ZVRpbWVzdGFtcCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgfVxuICAgICAgYXdhaXQgZnVsbE9wdGlvbnMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByb2Nlc3NpbmcgaXRlbScsIGl0ZW0pO1xuICAgICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRDb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgbm90aWNlPy5oaWRlKCk7XG4gICAgICAgIHRocm93IG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoJ2xvb3AgZmFpbGVkJywgc3RhY2tUcmFjZSwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLCBzdGFja1RyYWNlLCBlcnJvcikpO1xuICAgIH1cbiAgICBwcm9ncmVzc0JhckVsLnZhbHVlKys7XG4gIH1cbiAgaWYgKG5vdGljZSkge1xuICAgIGF3YWl0IG5vdGljZU1pblRpbWVvdXRQcm9taXNlO1xuICB9XG4gIG5vdGljZT8uaGlkZSgpO1xuICBpc0RvbmUgPSB0cnVlO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHNob3dOb3RpY2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93Tm90aWNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHNsZWVwKGZ1bGxPcHRpb25zLm5vdGljZUJlZm9yZVNob3duVGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgICBpZiAoaXNEb25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIG5vdGljZSA9IG5ldyBOb3RpY2UoJycsIDApO1xuICAgIGlmICghZnVsbE9wdGlvbnMuc2hvdWxkU2hvd1Byb2dyZXNzQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnQoKTtcbiAgICBmcmFnbWVudC5jcmVhdGVEaXYoeyB0ZXh0OiBmdWxsT3B0aW9ucy5wcm9ncmVzc0JhclRpdGxlIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHByb2dyZXNzQmFyRWwpO1xuICAgIG5vdGljZS5zZXRNZXNzYWdlKGZyYWdtZW50KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBdUI7QUFFdkIsNkJBQWlDO0FBQ2pDLG1CQUdPO0FBQ1AsbUJBQStCO0FBQy9CLG1CQUtPO0FBQ1Asc0JBQXFCO0FBQ3JCLDJCQUFvQztBQXlFcEMsZUFBc0IsS0FBUSxTQUF3QztBQUNwRSxRQUFNLGtCQUE0QztBQUFBLElBQ2hELGlCQUFhLHlDQUFpQjtBQUFBLElBQzlCLHFCQUFxQjtBQUNuQixZQUFNLElBQUksTUFBTSxnQ0FBZ0M7QUFBQSxJQUNsRDtBQUFBLElBQ0EsT0FBTyxDQUFDO0FBQUE7QUFBQSxJQUVSLHdDQUF3QztBQUFBO0FBQUEsSUFFeEMsZ0NBQWdDO0FBQUEsSUFDaEMsYUFBYTtBQUFBLElBQ2Isa0JBQWtCO0FBQUEsSUFDbEIsdUJBQXVCO0FBQUEsSUFDdkIsa0JBQWtCO0FBQUEsSUFDbEIsdUJBQXVCO0FBQUE7QUFBQSxJQUV2QixpQ0FBaUM7QUFBQSxFQUNuQztBQUVBLFFBQU0sY0FBd0M7QUFBQSxJQUM1QyxHQUFHO0FBQUEsSUFDSCxHQUFHO0FBQUEsRUFDTDtBQUVBLFFBQU0saUJBQWEsNEJBQWMsQ0FBQztBQUVsQyxRQUFNLFFBQVEsWUFBWTtBQUMxQixNQUFJLGlCQUFpQjtBQUNyQixNQUFJLFNBQVM7QUFDYixNQUFJLFNBQVM7QUFDYixzQ0FBa0IsTUFBTSxXQUFXLENBQUM7QUFFcEMsUUFBTSwwQkFBMEIsTUFBTSxZQUFZLDhCQUE4QjtBQUNoRixRQUFNLGdCQUFnQixTQUFTLFVBQVU7QUFDekMsZ0RBQW9CLGVBQWUsTUFBTTtBQUN6QyxnQkFBYyxNQUFNLE1BQU07QUFFMUIsTUFBSSx3QkFBd0IsWUFBWSxJQUFJO0FBRTVDLGFBQVcsUUFBUSxPQUFPO0FBQ3hCLFFBQUksWUFBWSxZQUFZLFNBQVM7QUFDbkMsY0FBUSxLQUFLO0FBQ2I7QUFBQSxJQUNGO0FBQ0E7QUFDQSxVQUFNLGVBQWUsS0FBSyxPQUFPLGNBQWMsQ0FBQyxNQUFNLE9BQU8sTUFBTSxNQUFNLENBQUM7QUFDMUUsVUFBTSxVQUFVLFlBQVksbUJBQW1CLE1BQU0sWUFBWTtBQUNqRSxRQUFJLENBQUMsWUFBWSx1QkFBdUI7QUFDdEMsY0FBUSxXQUFXLE9BQU87QUFBQSxJQUM1QjtBQUNBLHFDQUFlLE1BQU0sRUFBRSxPQUFPO0FBRTlCLFFBQUk7QUFDRixVQUFJLFlBQVksSUFBSSxJQUFJLHdCQUF3QixZQUFZLGlDQUFpQztBQUMzRixrQkFBTSx5Q0FBMkI7QUFDakMsZ0NBQXdCLFlBQVksSUFBSTtBQUFBLE1BQzFDO0FBQ0EsWUFBTSxZQUFZLFlBQVksSUFBSTtBQUFBLElBQ3BDLFNBQVMsT0FBTztBQUNkLGNBQVEsTUFBTSx5QkFBeUIsSUFBSTtBQUMzQyxVQUFJLENBQUMsWUFBWSx1QkFBdUI7QUFDdEMsZ0JBQVEsS0FBSztBQUNiLGNBQU0sSUFBSSxtQ0FBc0IsZUFBZSxZQUFZLEtBQUs7QUFBQSxNQUNsRTtBQUVBLDRDQUFvQixJQUFJLG1DQUFzQiwwQ0FBNkIsWUFBWSxLQUFLLENBQUM7QUFBQSxJQUMvRjtBQUNBLGtCQUFjO0FBQUEsRUFDaEI7QUFDQSxNQUFJLFFBQVE7QUFDVixVQUFNO0FBQUEsRUFDUjtBQUNBLFVBQVEsS0FBSztBQUNiLFdBQVM7QUFFVCxpQkFBZSxhQUE0QjtBQUN6QyxRQUFJLENBQUMsWUFBWSxrQkFBa0I7QUFDakM7QUFBQSxJQUNGO0FBQ0EsVUFBTSxNQUFNLFlBQVksc0NBQXNDO0FBQzlELFFBQUksUUFBUTtBQUNWO0FBQUEsSUFDRjtBQUNBLGFBQVMsSUFBSSx1QkFBTyxJQUFJLENBQUM7QUFDekIsUUFBSSxDQUFDLFlBQVksdUJBQXVCO0FBQ3RDO0FBQUEsSUFDRjtBQUNBLFVBQU0sV0FBVyxlQUFlO0FBQ2hDLGFBQVMsVUFBVSxFQUFFLE1BQU0sWUFBWSxpQkFBaUIsQ0FBQztBQUN6RCxhQUFTLFlBQVksYUFBYTtBQUNsQyxXQUFPLFdBQVcsUUFBUTtBQUFBLEVBQzVCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
225
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGxvb3BpbmcgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBhYm9ydFNpZ25hbE5ldmVyIH0gZnJvbSAnLi4vQWJvcnRDb250cm9sbGVyLnRzJztcbmltcG9ydCB7XG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luY1xufSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7XG4gIEFTWU5DX1dSQVBQRVJfRVJST1JfTUVTU0FHRSxcbiAgQ3VzdG9tU3RhY2tUcmFjZUVycm9yLFxuICBlbWl0QXN5bmNFcnJvckV2ZW50LFxuICBnZXRTdGFja1RyYWNlXG59IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi9GdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGxvb3B9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvb3BPcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGFib3J0IHNpZ25hbCB0byBjYW5jZWwgdGhlIGxvb3AuXG4gICAqL1xuICByZWFkb25seSBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhIG5vdGljZSBtZXNzYWdlIGZvciBlYWNoIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIC0gVGhlIGN1cnJlbnQgaXRlbS5cbiAgICogQHBhcmFtIGl0ZXJhdGlvblN0ciAtIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIHRvIGRpc3BsYXkgaW4gdGhlIG5vdGljZS5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkTm90aWNlTWVzc2FnZTogKGl0ZW06IFQsIGl0ZXJhdGlvblN0cjogc3RyaW5nKSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEl0ZW1zIHRvIGxvb3Agb3Zlci5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZW1zOiBUW107XG5cbiAgLyoqXG4gICAqIEEgdGltZW91dCBmb3IgdGhlIG5vdGljZSBiZWZvcmUgaXQgaXMgc2hvd24uIERlZmF1bHQgaXMgYDUwMGAuXG4gICAqL1xuICByZWFkb25seSBub3RpY2VCZWZvcmVTaG93blRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogQSBtaW5pbXVtIHRpbWVvdXQgZm9yIHRoZSBub3RpY2UuIERlZmF1bHQgaXMgYDIwMDBgLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlTWluVGltZW91dEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQcm9jZXNzIGVhY2ggaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIGl0ZW0gLSBUaGUgY3VycmVudCBpdGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvY2Vzc0l0ZW06IChpdGVtOiBUKSA9PiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBwcm9ncmVzcyBiYXIuIERlZmF1bHQgaXMgYCcnYC5cbiAgICovXG4gIHJlYWRvbmx5IHByb2dyZXNzQmFyVGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29udGludWUgdGhlIGxvb3Agb24gZXJyb3IuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkQ29udGludWVPbkVycm9yPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgbm90aWNlLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dOb3RpY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSBwcm9ncmVzcyBiYXIuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1Byb2dyZXNzQmFyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSB0aHJlc2hvbGQgZm9yIHRoZSBVSSB1cGRhdGUuIERlZmF1bHQgaXMgYDEwMGAuXG4gICAqL1xuICByZWFkb25seSB1aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIExvb3BzIG92ZXIgYSBsaXN0IG9mIGl0ZW1zIGFuZCBwcm9jZXNzZXMgZWFjaCBpdGVtLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBsb29wLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9vcDxUPihvcHRpb25zOiBMb29wT3B0aW9uczxUPik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX09QVElPTlM6IFJlcXVpcmVkPExvb3BPcHRpb25zPFQ+PiA9IHtcbiAgICBhYm9ydFNpZ25hbDogYWJvcnRTaWduYWxOZXZlcigpLFxuICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBidWlsZE5vdGljZU1lc3NhZ2UgaXMgcmVxdWlyZWQgaW4gTG9vcE9wdGlvbnMgYW5kIGFsd2F5cyBvdmVycmlkZGVuIGJ5IHRoZSBzcHJlYWQuICovXG4gICAgYnVpbGROb3RpY2VNZXNzYWdlKCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdidWlsZE5vdGljZU1lc3NhZ2UgaXMgcmVxdWlyZWQnKTtcbiAgICB9LFxuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgaXRlbXM6IFtdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIEV4dHJhY3RpbmcgbWFnaWMgbnVtYmVyIGFzIGEgY29uc3RhbnQgd291bGQgYmUgcmVwZXRpdGl2ZSwgYXMgdGhlIHZhbHVlIGlzIHVzZWQgb25seSBvbmNlIGFuZCBpdHMgbmFtZSB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcHJvcGVydHkuXG4gICAgbm90aWNlQmVmb3JlU2hvd25UaW1lb3V0SW5NaWxsaXNlY29uZHM6IDUwMCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVycyAtLSBFeHRyYWN0aW5nIG1hZ2ljIG51bWJlciBhcyBhIGNvbnN0YW50IHdvdWxkIGJlIHJlcGV0aXRpdmUsIGFzIHRoZSB2YWx1ZSBpcyB1c2VkIG9ubHkgb25jZSBhbmQgaXRzIG5hbWUgd291bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHByb3BlcnR5LlxuICAgIG5vdGljZU1pblRpbWVvdXRJbk1pbGxpc2Vjb25kczogMjAwMCxcbiAgICBwcm9jZXNzSXRlbTogbm9vcCxcbiAgICBwcm9ncmVzc0JhclRpdGxlOiAnJyxcbiAgICBzaG91bGRDb250aW51ZU9uRXJyb3I6IHRydWUsXG4gICAgc2hvdWxkU2hvd05vdGljZTogdHJ1ZSxcbiAgICBzaG91bGRTaG93UHJvZ3Jlc3NCYXI6IHRydWUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnMgLS0gRXh0cmFjdGluZyBtYWdpYyBudW1iZXIgYXMgYSBjb25zdGFudCB3b3VsZCBiZSByZXBldGl0aXZlLCBhcyB0aGUgdmFsdWUgaXMgdXNlZCBvbmx5IG9uY2UgYW5kIGl0cyBuYW1lIHdvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwcm9wZXJ0eS5cbiAgICB1aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzOiAxMDBcbiAgfTtcblxuICBjb25zdCBmdWxsT3B0aW9uczogUmVxdWlyZWQ8TG9vcE9wdGlvbnM8VD4+ID0ge1xuICAgIC4uLkRFRkFVTFRfT1BUSU9OUyxcbiAgICAuLi5vcHRpb25zXG4gIH07XG5cbiAgY29uc3Qgc3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG5cbiAgY29uc3QgaXRlbXMgPSBmdWxsT3B0aW9ucy5pdGVtcztcbiAgbGV0IGl0ZXJhdGlvbkNvdW50ID0gMDtcbiAgbGV0IG5vdGljZSA9IG51bGwgYXMgTm90aWNlIHwgbnVsbDtcbiAgbGV0IGlzRG9uZSA9IGZhbHNlO1xuICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiBzaG93Tm90aWNlKCkpO1xuXG4gIGNvbnN0IG5vdGljZU1pblRpbWVvdXRQcm9taXNlID0gc2xlZXAoZnVsbE9wdGlvbnMubm90aWNlTWluVGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgY29uc3QgcHJvZ3Jlc3NCYXJFbCA9IGNyZWF0ZUVsKCdwcm9ncmVzcycpO1xuICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHByb2dyZXNzQmFyRWwsICdsb29wJyk7XG4gIHByb2dyZXNzQmFyRWwubWF4ID0gaXRlbXMubGVuZ3RoO1xuXG4gIGxldCBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICBpZiAoZnVsbE9wdGlvbnMuYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgbm90aWNlPy5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZXJhdGlvbkNvdW50Kys7XG4gICAgY29uc3QgaXRlcmF0aW9uU3RyID0gYCMgJHtTdHJpbmcoaXRlcmF0aW9uQ291bnQpfSAvICR7U3RyaW5nKGl0ZW1zLmxlbmd0aCl9YDtcbiAgICBjb25zdCBtZXNzYWdlID0gZnVsbE9wdGlvbnMuYnVpbGROb3RpY2VNZXNzYWdlKGl0ZW0sIGl0ZXJhdGlvblN0cik7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93UHJvZ3Jlc3NCYXIpIHtcbiAgICAgIG5vdGljZT8uc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG4gICAgZ2V0TGliRGVidWdnZXIoJ0xvb3AnKShtZXNzYWdlKTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAocGVyZm9ybWFuY2Uubm93KCkgLSBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPiBmdWxsT3B0aW9ucy51aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzKSB7XG4gICAgICAgIGF3YWl0IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jKCk7XG4gICAgICAgIGxhc3RVSVVwZGF0ZVRpbWVzdGFtcCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgfVxuICAgICAgYXdhaXQgZnVsbE9wdGlvbnMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByb2Nlc3NpbmcgaXRlbScsIGl0ZW0pO1xuICAgICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRDb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgbm90aWNlPy5oaWRlKCk7XG4gICAgICAgIHRocm93IG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoJ2xvb3AgZmFpbGVkJywgc3RhY2tUcmFjZSwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLCBzdGFja1RyYWNlLCBlcnJvcikpO1xuICAgIH1cbiAgICBwcm9ncmVzc0JhckVsLnZhbHVlKys7XG4gIH1cbiAgaWYgKG5vdGljZSkge1xuICAgIGF3YWl0IG5vdGljZU1pblRpbWVvdXRQcm9taXNlO1xuICB9XG4gIG5vdGljZT8uaGlkZSgpO1xuICBpc0RvbmUgPSB0cnVlO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHNob3dOb3RpY2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93Tm90aWNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHNsZWVwKGZ1bGxPcHRpb25zLm5vdGljZUJlZm9yZVNob3duVGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgICBpZiAoaXNEb25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIG5vdGljZSA9IG5ldyBOb3RpY2UoJycsIDApO1xuICAgIGlmICghZnVsbE9wdGlvbnMuc2hvdWxkU2hvd1Byb2dyZXNzQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnQoKTtcbiAgICBmcmFnbWVudC5jcmVhdGVEaXYoeyB0ZXh0OiBmdWxsT3B0aW9ucy5wcm9ncmVzc0JhclRpdGxlIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHByb2dyZXNzQmFyRWwpO1xuICAgIG5vdGljZS5zZXRNZXNzYWdlKGZyYWdtZW50KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBdUI7QUFFdkIsNkJBQWlDO0FBQ2pDLG1CQUdPO0FBQ1AsbUJBQStCO0FBQy9CLG1CQUtPO0FBQ1Asc0JBQXFCO0FBQ3JCLDJCQUFvQztBQXlFcEMsZUFBc0IsS0FBUSxTQUF3QztBQUNwRSxRQUFNLGtCQUE0QztBQUFBLElBQ2hELGlCQUFhLHlDQUFpQjtBQUFBO0FBQUEsSUFFOUIscUJBQXFCO0FBQ25CLFlBQU0sSUFBSSxNQUFNLGdDQUFnQztBQUFBLElBQ2xEO0FBQUE7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
@@ -11,7 +11,7 @@ export interface LoopOptions<T> {
11
11
  /**
12
12
  * An optional abort signal to cancel the loop.
13
13
  */
14
- abortSignal?: AbortSignal;
14
+ readonly abortSignal?: AbortSignal;
15
15
  /**
16
16
  * Build a notice message for each item.
17
17
  *
@@ -19,45 +19,45 @@ export interface LoopOptions<T> {
19
19
  * @param iterationStr - A string representing the current iteration.
20
20
  * @returns A string to display in the notice.
21
21
  */
22
- buildNoticeMessage(item: T, iterationStr: string): string;
22
+ readonly buildNoticeMessage: (item: T, iterationStr: string) => string;
23
23
  /**
24
24
  * Items to loop over.
25
25
  */
26
- items: T[];
26
+ readonly items: T[];
27
27
  /**
28
28
  * A timeout for the notice before it is shown. Default is `500`.
29
29
  */
30
- noticeBeforeShownTimeoutInMilliseconds?: number;
30
+ readonly noticeBeforeShownTimeoutInMilliseconds?: number;
31
31
  /**
32
32
  * A minimum timeout for the notice. Default is `2000`.
33
33
  */
34
- noticeMinTimeoutInMilliseconds?: number;
34
+ readonly noticeMinTimeoutInMilliseconds?: number;
35
35
  /**
36
36
  * Process each item.
37
37
  *
38
38
  * @param item - The current item.
39
39
  */
40
- processItem(item: T): Promisable<void>;
40
+ readonly processItem: (item: T) => Promisable<void>;
41
41
  /**
42
42
  * A title of the progress bar. Default is `''`.
43
43
  */
44
- progressBarTitle?: string;
44
+ readonly progressBarTitle?: string;
45
45
  /**
46
46
  * Whether to continue the loop on error. Default is `true`.
47
47
  */
48
- shouldContinueOnError?: boolean;
48
+ readonly shouldContinueOnError?: boolean;
49
49
  /**
50
50
  * Whether to show a notice. Default is `true`.
51
51
  */
52
- shouldShowNotice?: boolean;
52
+ readonly shouldShowNotice?: boolean;
53
53
  /**
54
54
  * Whether to show a progress bar. Default is `true`.
55
55
  */
56
- shouldShowProgressBar?: boolean;
56
+ readonly shouldShowProgressBar?: boolean;
57
57
  /**
58
58
  * A threshold for the UI update. Default is `100`.
59
59
  */
60
- uiUpdateThresholdInMilliseconds?: number;
60
+ readonly uiUpdateThresholdInMilliseconds?: number;
61
61
  }
62
62
  /**
63
63
  * Loops over a list of items and processes each item.
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- const globalThisRecord = globalThis;
7
+ const globalThisRecord = (0, _ObjectUtils.castTo)(globalThis);
8
8
  globalThisRecord['__name'] ??= name;
9
9
  const originalRequire = require;
10
10
  if (originalRequire && !originalRequire.__isPatched) {
@@ -132,6 +132,7 @@ var import_obsidian = require('obsidian');
132
132
  var import_implementations = require('obsidian-typings/implementations');
133
133
  var import_Async = require('../Async.cjs');
134
134
  var import_HTMLElement = require('../HTMLElement.cjs');
135
+ var import_TypeGuards = require('../TypeGuards.cjs');
135
136
  var import_FileSystem = require('./FileSystem.cjs');
136
137
  var import_MonkeyAround = require('./MonkeyAround.cjs');
137
138
  let domEventsHandlersConstructor = null;
@@ -265,9 +266,7 @@ async function getDomEventsHandlersConstructor(app) {
265
266
  await (0, import_Async.requestAnimationFrameAsync)();
266
267
  leaf.detach();
267
268
  });
268
- if (!ctor) {
269
- throw new Error("Failed to get register dom events handlers constructor");
270
- }
269
+ (0, import_TypeGuards.assertNonNullable)(ctor, "Failed to get register dom events handlers constructor");
271
270
  return ctor;
272
271
  } finally {
273
272
  if (shouldDelete) {
@@ -283,4 +282,4 @@ async function getDomEventsHandlersConstructor(app) {
283
282
  renderExternalLink,
284
283
  renderInternalLink
285
284
  });
286
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIE1hcmtkb3duIGNvbnRlbnQgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gIERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IsXG4gIERvbUV2ZW50c0hhbmRsZXJzSW5mbyxcbiAgRW1iZWRDcmVhdG9yXG59IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MnO1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvdmVyUG9wb3ZlcixcbiAgTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIsXG4gIE1hcmtkb3duUmVuZGVyZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgSW50ZXJuYWxQbHVnaW5OYW1lIH0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5cbmltcG9ydCB7IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0WkluZGV4IH0gZnJvbSAnLi4vSFRNTEVsZW1lbnQudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRQYXRoLFxuICBpc0ZvbGRlclxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHsgaW52b2tlV2l0aFBhdGNoQXN5bmMgfSBmcm9tICcuL01vbmtleUFyb3VuZC50cyc7XG5cbmxldCBkb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yOiBEb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yIHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIHRoZSBmdWxsIHJlbmRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdWxsUmVuZGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBDb21wb25lbnQgaW5zdGFuY2UgdG8gdXNlIGZvciB0aGUgcmVuZGVyLlxuICAgKi9cbiAgY29tcG9uZW50PzogQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgSFRNTEVsZW1lbnQgdG8gcmVuZGVyIHRvLlxuICAgKi9cbiAgZWw6IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgTWFya2Rvd24gc3RyaW5nIHRvIHJlbmRlci5cbiAgICovXG4gIG1hcmtkb3duOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVnaXN0ZXIgbGluayBoYW5kbGVycyBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQuXG4gICAqL1xuICBzaG91bGRSZWdpc3RlckxpbmtIYW5kbGVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCB0byByZXNvbHZlIHJlbGF0aXZlIGxpbmtzLlxuICAgKi9cbiAgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxudHlwZSBSZWdpc3RlckRvbUV2ZW50c0ZuID0gdHlwZW9mIE1hcmtkb3duUHJldmlld1JlbmRlcmVyLnJlZ2lzdGVyRG9tRXZlbnRzO1xuXG5jbGFzcyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyBpbXBsZW1lbnRzIERvbUV2ZW50c0hhbmRsZXJzSW5mbyB7XG4gIHB1YmxpYyBnZXQgaG92ZXJQb3BvdmVyKCk6IEhvdmVyUG9wb3ZlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ob3ZlclBvcG92ZXI7XG4gIH1cblxuICBwdWJsaWMgc2V0IGhvdmVyUG9wb3Zlcihob3ZlclBvcG92ZXI6IEhvdmVyUG9wb3ZlciB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3ZlclBvcG92ZXIgPSBob3ZlclBvcG92ZXI7XG4gICAgaWYgKGhvdmVyUG9wb3ZlciAmJiB0aGlzLnpJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBob3ZlclBvcG92ZXIuaG92ZXJFbC5zZXRDc3NTdHlsZXMoe1xuICAgICAgICB6SW5kZXg6IFN0cmluZyh0aGlzLnpJbmRleClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hvdmVyUG9wb3ZlcjogSG92ZXJQb3BvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB6SW5kZXg/OiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBhcHA6IEFwcCwgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZywgZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKGVsLmlzQ29ubmVjdGVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZVpJbmRleChlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLm9uTm9kZUluc2VydGVkKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVaSW5kZXgoZWwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVaSW5kZXgoZWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy56SW5kZXggPSBnZXRaSW5kZXgoZWwpICsgMTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgbWFya2Rvd24gYW5kIGVtYmVkcy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZnVsbCByZW5kZXIuXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZnVsbCByZW5kZXIgaXMgY29tcGxldGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmdWxsUmVuZGVyKG9wdGlvbnM6IEZ1bGxSZW5kZXJPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNvdXJjZVBhdGggPSBvcHRpb25zLnNvdXJjZVBhdGggPz8gJy8nO1xuICBsZXQgc2hvdWxkVW5sb2FkQ29tcG9uZW50ID0gZmFsc2U7XG4gIGxldCBjb21wb25lbnQ6IENvbXBvbmVudDtcbiAgaWYgKG9wdGlvbnMuY29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50ID0gb3B0aW9ucy5jb21wb25lbnQ7XG4gIH0gZWxzZSB7XG4gICAgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudCgpO1xuICAgIGNvbXBvbmVudC5sb2FkKCk7XG4gICAgc2hvdWxkVW5sb2FkQ29tcG9uZW50ID0gdHJ1ZTtcbiAgfVxuICBhd2FpdCBpbnZva2VXaXRoUGF0Y2hBc3luYyhvcHRpb25zLmFwcC5lbWJlZFJlZ2lzdHJ5LmVtYmVkQnlFeHRlbnNpb24sIHtcbiAgICBtZDogKG5leHQ6IEVtYmVkQ3JlYXRvcik6IEVtYmVkQ3JlYXRvciA9PiAoY29udGV4dCwgZmlsZSwgc3VicGF0aCkgPT4ge1xuICAgICAgY29udGV4dC5kaXNwbGF5TW9kZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuIG5leHQoY29udGV4dCwgZmlsZSwgc3VicGF0aCk7XG4gICAgfVxuICB9LCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgTWFya2Rvd25SZW5kZXJlci5yZW5kZXIob3B0aW9ucy5hcHAsIG9wdGlvbnMubWFya2Rvd24sIG9wdGlvbnMuZWwsIHNvdXJjZVBhdGgsIGNvbXBvbmVudCk7XG4gIH0pO1xuXG4gIGlmIChzaG91bGRVbmxvYWRDb21wb25lbnQpIHtcbiAgICBjb21wb25lbnQudW5sb2FkKCk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5zaG91bGRSZWdpc3RlckxpbmtIYW5kbGVycykge1xuICAgIGF3YWl0IHJlZ2lzdGVyTGlua0hhbmRsZXJzKG9wdGlvbnMuYXBwLCBvcHRpb25zLmVsLCBvcHRpb25zLnNvdXJjZVBhdGgpO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgTWFya2Rvd24gdG8gSFRNTC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBtYXJrZG93biAtIFRoZSBNYXJrZG93biBzdHJpbmcgdG8gY29udmVydC5cbiAqIEBwYXJhbSBzb3VyY2VQYXRoIC0gKG9wdGlvbmFsKSBUaGUgc291cmNlIHBhdGggdG8gcmVzb2x2ZSByZWxhdGl2ZSBsaW5rcy5cbiAqIEByZXR1cm5zIFRoZSBIVE1MIHN0cmluZy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1hcmtkb3duVG9IdG1sKGFwcDogQXBwLCBtYXJrZG93bjogc3RyaW5nLCBzb3VyY2VQYXRoPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudCgpO1xuICBjb21wb25lbnQubG9hZCgpO1xuICBjb25zdCByZW5kZXJEaXYgPSBjcmVhdGVEaXYoKTtcbiAgYXdhaXQgTWFya2Rvd25SZW5kZXJlci5yZW5kZXIoYXBwLCBtYXJrZG93biwgcmVuZGVyRGl2LCBzb3VyY2VQYXRoID8/ICcnLCBjb21wb25lbnQpO1xuICBjb25zdCBodG1sID0gcmVuZGVyRGl2LmlubmVySFRNTDtcbiAgY29tcG9uZW50LnVubG9hZCgpO1xuICByZXR1cm4gaHRtbDtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgbGluayBoYW5kbGVycyBmb3IgdGhlIGdpdmVuIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZWwgLSBUaGUgSFRNTEVsZW1lbnQgdG8gcmVnaXN0ZXIgbGluayBoYW5kbGVycyBmb3IuXG4gKiBAcGFyYW0gc291cmNlUGF0aCAtIFRoZSBzb3VyY2UgcGF0aCB0byByZXNvbHZlIHJlbGF0aXZlIGxpbmtzIGZyb20uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWdpc3RlckxpbmtIYW5kbGVycyhhcHA6IEFwcCwgZWw6IEhUTUxFbGVtZW50LCBzb3VyY2VQYXRoPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZXF1aXJlLWF0b21pYy11cGRhdGVzIC0tIE5vIHJhY2UgY29uZGl0aW9uLlxuICBkb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yID8/PSBhd2FpdCBnZXREb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yKGFwcCk7XG4gIE1hcmtkb3duUHJldmlld1JlbmRlcmVyLnJlZ2lzdGVyRG9tRXZlbnRzKFxuICAgIGVsLFxuICAgIG5ldyBkb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yKG5ldyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyhhcHAsIHNvdXJjZVBhdGggPz8gJycsIGVsKSlcbiAgKTtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGFuIGV4dGVybmFsIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gdXJsIC0gVGhlIFVSTCB0byByZW5kZXIgdGhlIGV4dGVybmFsIGxpbmsgZm9yLlxuICogQHBhcmFtIGRpc3BsYXlUZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBmb3IgdGhlIGV4dGVybmFsIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgSFRNTEFuY2hvckVsZW1lbnQgY29udGFpbmluZyB0aGUgcmVuZGVyZWQgZXh0ZXJuYWwgbGluay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckV4dGVybmFsTGluayhhcHA6IEFwcCwgdXJsOiBzdHJpbmcsIGRpc3BsYXlUZXh0Pzogc3RyaW5nKTogUHJvbWlzZTxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICBkaXNwbGF5VGV4dCA/Pz0gdXJsO1xuICBjb25zdCB3cmFwcGVyRWwgPSBjcmVhdGVTcGFuKCk7XG4gIGF3YWl0IGZ1bGxSZW5kZXIoe1xuICAgIGFwcCxcbiAgICBlbDogd3JhcHBlckVsLFxuICAgIG1hcmtkb3duOiBgWyR7ZGlzcGxheVRleHR9XSgke3VybH0pYFxuICB9KTtcbiAgY29uc3QgYUVsID0gd3JhcHBlckVsLmZpbmQoJ2EnKSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgYXdhaXQgcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwLCBhRWwpO1xuICByZXR1cm4gYUVsO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYW4gaW50ZXJuYWwgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JBYnN0cmFjdEZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJlbmRlciB0aGUgaW50ZXJuYWwgbGluayBmb3IuXG4gKiBAcGFyYW0gZGlzcGxheVRleHQgLSBUaGUgdGV4dCB0byBkaXNwbGF5IGZvciB0aGUgaW50ZXJuYWwgbGluay5cbiAqIEByZXR1cm5zIFRoZSBIVE1MQW5jaG9yRWxlbWVudCBjb250YWluaW5nIHRoZSByZW5kZXJlZCBpbnRlcm5hbCBsaW5rLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVySW50ZXJuYWxMaW5rKGFwcDogQXBwLCBwYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgZGlzcGxheVRleHQ/OiBzdHJpbmcpOiBQcm9taXNlPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckFic3RyYWN0RmlsZSk7XG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yQWJzdHJhY3RGaWxlKTtcbiAgZGlzcGxheVRleHQgPz89IHBhdGg7XG4gIGlmIChpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsKCdhJywgeyB0ZXh0OiBkaXNwbGF5VGV4dCB9LCAoYUVsKSA9PiB7XG4gICAgICBhRWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZ0KSA9PiB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBhcHAuaW50ZXJuYWxQbHVnaW5zLmdldEVuYWJsZWRQbHVnaW5CeUlkKEludGVybmFsUGx1Z2luTmFtZS5GaWxlRXhwbG9yZXIpPy5yZXZlYWxJbkZvbGRlcihhYnN0cmFjdEZpbGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCB3cmFwcGVyRWwgPSBjcmVhdGVTcGFuKCk7XG4gIGF3YWl0IGZ1bGxSZW5kZXIoe1xuICAgIGFwcCxcbiAgICBlbDogd3JhcHBlckVsLFxuICAgIG1hcmtkb3duOiBgW1ske3BhdGh9fCR7ZGlzcGxheVRleHR9XV1gXG4gIH0pO1xuICBjb25zdCBhRWwgPSB3cmFwcGVyRWwuZmluZCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xuICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyhhcHAsIGFFbCk7XG4gIHJldHVybiBhRWw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IoYXBwOiBBcHApOiBQcm9taXNlPERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3I+IHtcbiAgbGV0IG1kRmlsZSA9IGFwcC52YXVsdC5nZXRNYXJrZG93bkZpbGVzKClbMF07XG4gIGxldCBzaG91bGREZWxldGUgPSBmYWxzZTtcbiAgaWYgKCFtZEZpbGUpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBObyByYWNlIGNvbmRpdGlvbi5cbiAgICBtZEZpbGUgPSBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKCdfX3RlbXAubWQnLCAnJyk7XG4gICAgc2hvdWxkRGVsZXRlID0gdHJ1ZTtcbiAgfVxuICBsZXQgY3RvcjogRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciB8IG51bGwgPSBudWxsO1xuICB0cnkge1xuICAgIGF3YWl0IGludm9rZVdpdGhQYXRjaEFzeW5jKE1hcmtkb3duUHJldmlld1JlbmRlcmVyLCB7XG4gICAgICByZWdpc3RlckRvbUV2ZW50czogKG5leHQ6IFJlZ2lzdGVyRG9tRXZlbnRzRm4pOiBSZWdpc3RlckRvbUV2ZW50c0ZuID0+IHtcbiAgICAgICAgcmV0dXJuIChlbCwgaGFuZGxlcnMsIGNoaWxkRWxGbikgPT4ge1xuICAgICAgICAgIGN0b3IgPSBoYW5kbGVycy5jb25zdHJ1Y3RvciBhcyBEb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yO1xuICAgICAgICAgIG5leHQoZWwsIGhhbmRsZXJzLCBjaGlsZEVsRm4pO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0sIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGxlYWYgPSBhcHAud29ya3NwYWNlLmdldExlYWYodHJ1ZSk7XG4gICAgICBhd2FpdCBsZWFmLm9wZW5GaWxlKG1kRmlsZSwge1xuICAgICAgICBhY3RpdmU6IHRydWUsXG4gICAgICAgIHN0YXRlOiB7IG1vZGU6ICdwcmV2aWV3JyB9XG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jKCk7XG4gICAgICBsZWFmLmRldGFjaCgpO1xuICAgIH0pO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gLS0gQ2hlY2sgaXMgcmVxdWlyZWQgYXMgVHlwZVNjcmlwdCBjb21waWxlciBjYW5ub3Qga25vdyB0aGF0IGN0b3IgaXMgaW5pdGlhbGl6ZWQuXG4gICAgaWYgKCFjdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBnZXQgcmVnaXN0ZXIgZG9tIGV2ZW50cyBoYW5kbGVycyBjb25zdHJ1Y3RvcicpO1xuICAgIH1cbiAgICByZXR1cm4gY3RvcjtcbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAoc2hvdWxkRGVsZXRlKSB7XG4gICAgICBhd2FpdCBhcHAuZmlsZU1hbmFnZXIudHJhc2hGaWxlKG1kRmlsZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsc0JBS087QUFDUCw2QkFBbUM7QUFJbkMsbUJBQTJDO0FBQzNDLHlCQUEwQjtBQUMxQix3QkFJTztBQUNQLDBCQUFxQztBQUVyQyxJQUFJLCtCQUFvRTtBQXVDeEUsTUFBTSxpQ0FBa0U7QUFBQSxFQWtCL0QsWUFBNEIsS0FBMEIsTUFBYyxJQUFpQjtBQUF6RDtBQUEwQjtBQUMzRCxRQUFJLEdBQUcsYUFBYTtBQUNsQixXQUFLLGFBQWEsRUFBRTtBQUFBLElBQ3RCLE9BQU87QUFDTCxTQUFHLGVBQWUsTUFBTTtBQUN0QixhQUFLLGFBQWEsRUFBRTtBQUFBLE1BQ3RCLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUFBLEVBekJBLElBQVcsZUFBb0M7QUFDN0MsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRUEsSUFBVyxhQUFhLGNBQW1DO0FBQ3pELFNBQUssZ0JBQWdCO0FBQ3JCLFFBQUksZ0JBQWdCLEtBQUssV0FBVyxRQUFXO0FBQzdDLG1CQUFhLFFBQVEsYUFBYTtBQUFBLFFBQ2hDLFFBQVEsT0FBTyxLQUFLLE1BQU07QUFBQSxNQUM1QixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFBQSxFQUVRLGdCQUFxQztBQUFBLEVBRXJDO0FBQUEsRUFZQSxhQUFhLElBQXVCO0FBQzFDLFNBQUssYUFBUyw4QkFBVSxFQUFFLElBQUk7QUFBQSxFQUNoQztBQUNGO0FBUUEsZUFBc0IsV0FBVyxTQUEyQztBQUMx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
285
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIE1hcmtkb3duIGNvbnRlbnQgaW4gT2JzaWRpYW4uXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZXBseSBjb3VwbGVkIHRvIE9ic2lkaWFuIHJ1bnRpbWU7IHJlcXVpcmVzIHJ1bm5pbmcgdmF1bHQgZm9yIG1lYW5pbmdmdWwgdGVzdGluZy4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gIERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IsXG4gIERvbUV2ZW50c0hhbmRsZXJzSW5mbyxcbiAgRW1iZWRDcmVhdG9yXG59IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MnO1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvdmVyUG9wb3ZlcixcbiAgTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIsXG4gIE1hcmtkb3duUmVuZGVyZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgSW50ZXJuYWxQbHVnaW5OYW1lIH0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5cbmltcG9ydCB7IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0WkluZGV4IH0gZnJvbSAnLi4vSFRNTEVsZW1lbnQudHMnO1xuaW1wb3J0IHsgYXNzZXJ0Tm9uTnVsbGFibGUgfSBmcm9tICcuLi9UeXBlR3VhcmRzLnRzJztcbmltcG9ydCB7XG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgZ2V0UGF0aCxcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7IGludm9rZVdpdGhQYXRjaEFzeW5jIH0gZnJvbSAnLi9Nb25rZXlBcm91bmQudHMnO1xuXG5sZXQgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjogRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciB0aGUgZnVsbCByZW5kZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVsbFJlbmRlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29tcG9uZW50IGluc3RhbmNlIHRvIHVzZSBmb3IgdGhlIHJlbmRlci5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBvbmVudD86IENvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIEhUTUxFbGVtZW50IHRvIHJlbmRlciB0by5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIE1hcmtkb3duIHN0cmluZyB0byByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSBtYXJrZG93bjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlZ2lzdGVyIGxpbmsgaGFuZGxlcnMgZm9yIHRoZSByZW5kZXJlZCBlbGVtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUmVnaXN0ZXJMaW5rSGFuZGxlcnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHBhdGggdG8gcmVzb2x2ZSByZWxhdGl2ZSBsaW5rcy5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59XG5cbnR5cGUgUmVnaXN0ZXJEb21FdmVudHNGbiA9IHR5cGVvZiBNYXJrZG93blByZXZpZXdSZW5kZXJlci5yZWdpc3RlckRvbUV2ZW50cztcblxuY2xhc3MgRml4ZWRaSW5kZXhEb21FdmVudHNIYW5kbGVyc0luZm8gaW1wbGVtZW50cyBEb21FdmVudHNIYW5kbGVyc0luZm8ge1xuICBwdWJsaWMgZ2V0IGhvdmVyUG9wb3ZlcigpOiBIb3ZlclBvcG92ZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5faG92ZXJQb3BvdmVyO1xuICB9XG5cbiAgcHVibGljIHNldCBob3ZlclBvcG92ZXIoaG92ZXJQb3BvdmVyOiBIb3ZlclBvcG92ZXIgfCBudWxsKSB7XG4gICAgdGhpcy5faG92ZXJQb3BvdmVyID0gaG92ZXJQb3BvdmVyO1xuICAgIGlmIChob3ZlclBvcG92ZXIgJiYgdGhpcy56SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgaG92ZXJQb3BvdmVyLmhvdmVyRWwuc2V0Q3NzU3R5bGVzKHtcbiAgICAgICAgekluZGV4OiBTdHJpbmcodGhpcy56SW5kZXgpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ob3ZlclBvcG92ZXI6IEhvdmVyUG9wb3ZlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgekluZGV4PzogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgYXBwOiBBcHAsIHB1YmxpYyByZWFkb25seSBwYXRoOiBzdHJpbmcsIGVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmIChlbC5pc0Nvbm5lY3RlZCkge1xuICAgICAgdGhpcy51cGRhdGVaSW5kZXgoZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5vbk5vZGVJbnNlcnRlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlWkluZGV4KGVsKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlWkluZGV4KGVsOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuekluZGV4ID0gZ2V0WkluZGV4KGVsKSArIDE7XG4gIH1cbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIG1hcmtkb3duIGFuZCBlbWJlZHMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIGZ1bGwgcmVuZGVyLlxuICogQHJldHVybnMgVGhlIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bGwgcmVuZGVyIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZnVsbFJlbmRlcihvcHRpb25zOiBGdWxsUmVuZGVyT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzb3VyY2VQYXRoID0gb3B0aW9ucy5zb3VyY2VQYXRoID8/ICcvJztcbiAgbGV0IHNob3VsZFVubG9hZENvbXBvbmVudCA9IGZhbHNlO1xuICBsZXQgY29tcG9uZW50OiBDb21wb25lbnQ7XG4gIGlmIChvcHRpb25zLmNvbXBvbmVudCkge1xuICAgIGNvbXBvbmVudCA9IG9wdGlvbnMuY29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGNvbXBvbmVudCA9IG5ldyBDb21wb25lbnQoKTtcbiAgICBjb21wb25lbnQubG9hZCgpO1xuICAgIHNob3VsZFVubG9hZENvbXBvbmVudCA9IHRydWU7XG4gIH1cbiAgYXdhaXQgaW52b2tlV2l0aFBhdGNoQXN5bmMob3B0aW9ucy5hcHAuZW1iZWRSZWdpc3RyeS5lbWJlZEJ5RXh0ZW5zaW9uLCB7XG4gICAgbWQ6IChuZXh0OiBFbWJlZENyZWF0b3IpOiBFbWJlZENyZWF0b3IgPT4gKGNvbnRleHQsIGZpbGUsIHN1YnBhdGgpID0+IHtcbiAgICAgIGNvbnRleHQuZGlzcGxheU1vZGUgPSBmYWxzZTtcbiAgICAgIHJldHVybiBuZXh0KGNvbnRleHQsIGZpbGUsIHN1YnBhdGgpO1xuICAgIH1cbiAgfSwgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IE1hcmtkb3duUmVuZGVyZXIucmVuZGVyKG9wdGlvbnMuYXBwLCBvcHRpb25zLm1hcmtkb3duLCBvcHRpb25zLmVsLCBzb3VyY2VQYXRoLCBjb21wb25lbnQpO1xuICB9KTtcblxuICBpZiAoc2hvdWxkVW5sb2FkQ29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50LnVubG9hZCgpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMuc2hvdWxkUmVnaXN0ZXJMaW5rSGFuZGxlcnMpIHtcbiAgICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyhvcHRpb25zLmFwcCwgb3B0aW9ucy5lbCwgb3B0aW9ucy5zb3VyY2VQYXRoKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIE1hcmtkb3duIHRvIEhUTUwuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gbWFya2Rvd24gLSBUaGUgTWFya2Rvd24gc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0gc291cmNlUGF0aCAtIChvcHRpb25hbCkgVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gKiBAcmV0dXJucyBUaGUgSFRNTCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYXJrZG93blRvSHRtbChhcHA6IEFwcCwgbWFya2Rvd246IHN0cmluZywgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGNvbXBvbmVudCA9IG5ldyBDb21wb25lbnQoKTtcbiAgY29tcG9uZW50LmxvYWQoKTtcbiAgY29uc3QgcmVuZGVyRGl2ID0gY3JlYXRlRGl2KCk7XG4gIGF3YWl0IE1hcmtkb3duUmVuZGVyZXIucmVuZGVyKGFwcCwgbWFya2Rvd24sIHJlbmRlckRpdiwgc291cmNlUGF0aCA/PyAnJywgY29tcG9uZW50KTtcbiAgY29uc3QgaHRtbCA9IHJlbmRlckRpdi5pbm5lckhUTUw7XG4gIGNvbXBvbmVudC51bmxvYWQoKTtcbiAgcmV0dXJuIGh0bWw7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGxpbmsgaGFuZGxlcnMgZm9yIHRoZSBnaXZlbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHRvIHJlZ2lzdGVyIGxpbmsgaGFuZGxlcnMgZm9yLlxuICogQHBhcmFtIHNvdXJjZVBhdGggLSBUaGUgc291cmNlIHBhdGggdG8gcmVzb2x2ZSByZWxhdGl2ZSBsaW5rcyBmcm9tLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwOiBBcHAsIGVsOiBIVE1MRWxlbWVudCwgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBObyByYWNlIGNvbmRpdGlvbi5cbiAgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciA/Pz0gYXdhaXQgZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihhcHApO1xuICBNYXJrZG93blByZXZpZXdSZW5kZXJlci5yZWdpc3RlckRvbUV2ZW50cyhcbiAgICBlbCxcbiAgICBuZXcgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihuZXcgRml4ZWRaSW5kZXhEb21FdmVudHNIYW5kbGVyc0luZm8oYXBwLCBzb3VyY2VQYXRoID8/ICcnLCBlbCkpXG4gICk7XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBleHRlcm5hbCBsaW5rLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHVybCAtIFRoZSBVUkwgdG8gcmVuZGVyIHRoZSBleHRlcm5hbCBsaW5rIGZvci5cbiAqIEBwYXJhbSBkaXNwbGF5VGV4dCAtIFRoZSB0ZXh0IHRvIGRpc3BsYXkgZm9yIHRoZSBleHRlcm5hbCBsaW5rLlxuICogQHJldHVybnMgVGhlIEhUTUxBbmNob3JFbGVtZW50IGNvbnRhaW5pbmcgdGhlIHJlbmRlcmVkIGV4dGVybmFsIGxpbmsuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXJFeHRlcm5hbExpbmsoYXBwOiBBcHAsIHVybDogc3RyaW5nLCBkaXNwbGF5VGV4dD86IHN0cmluZyk6IFByb21pc2U8SFRNTEFuY2hvckVsZW1lbnQ+IHtcbiAgZGlzcGxheVRleHQgPz89IHVybDtcbiAgY29uc3Qgd3JhcHBlckVsID0gY3JlYXRlU3BhbigpO1xuICBhd2FpdCBmdWxsUmVuZGVyKHtcbiAgICBhcHAsXG4gICAgZWw6IHdyYXBwZXJFbCxcbiAgICBtYXJrZG93bjogYFske2Rpc3BsYXlUZXh0fV0oJHt1cmx9KWBcbiAgfSk7XG4gIGNvbnN0IGFFbCA9IHdyYXBwZXJFbC5maW5kKCdhJykgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gIGF3YWl0IHJlZ2lzdGVyTGlua0hhbmRsZXJzKGFwcCwgYUVsKTtcbiAgcmV0dXJuIGFFbDtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGFuIGludGVybmFsIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yQWJzdHJhY3RGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZW5kZXIgdGhlIGludGVybmFsIGxpbmsgZm9yLlxuICogQHBhcmFtIGRpc3BsYXlUZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBmb3IgdGhlIGludGVybmFsIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgSFRNTEFuY2hvckVsZW1lbnQgY29udGFpbmluZyB0aGUgcmVuZGVyZWQgaW50ZXJuYWwgbGluay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckludGVybmFsTGluayhhcHA6IEFwcCwgcGF0aE9yQWJzdHJhY3RGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIGRpc3BsYXlUZXh0Pzogc3RyaW5nKTogUHJvbWlzZTxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICBjb25zdCBhYnN0cmFjdEZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JBYnN0cmFjdEZpbGUpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckFic3RyYWN0RmlsZSk7XG4gIGRpc3BsYXlUZXh0ID8/PSBwYXRoO1xuICBpZiAoaXNGb2xkZXIoYWJzdHJhY3RGaWxlKSkge1xuICAgIHJldHVybiBjcmVhdGVFbCgnYScsIHsgdGV4dDogZGlzcGxheVRleHQgfSwgKGFFbCkgPT4ge1xuICAgICAgYUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2dCkgPT4ge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYXBwLmludGVybmFsUGx1Z2lucy5nZXRFbmFibGVkUGx1Z2luQnlJZChJbnRlcm5hbFBsdWdpbk5hbWUuRmlsZUV4cGxvcmVyKT8ucmV2ZWFsSW5Gb2xkZXIoYWJzdHJhY3RGaWxlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qgd3JhcHBlckVsID0gY3JlYXRlU3BhbigpO1xuICBhd2FpdCBmdWxsUmVuZGVyKHtcbiAgICBhcHAsXG4gICAgZWw6IHdyYXBwZXJFbCxcbiAgICBtYXJrZG93bjogYFtbJHtwYXRofXwke2Rpc3BsYXlUZXh0fV1dYFxuICB9KTtcbiAgY29uc3QgYUVsID0gd3JhcHBlckVsLmZpbmQoJ2EnKSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgYXdhaXQgcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwLCBhRWwpO1xuICByZXR1cm4gYUVsO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXREb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yKGFwcDogQXBwKTogUHJvbWlzZTxEb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yPiB7XG4gIGxldCBtZEZpbGUgPSBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpWzBdO1xuICBsZXQgc2hvdWxkRGVsZXRlID0gZmFsc2U7XG4gIGlmICghbWRGaWxlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXRvbWljLXVwZGF0ZXMgLS0gTm8gcmFjZSBjb25kaXRpb24uXG4gICAgbWRGaWxlID0gYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZSgnX190ZW1wLm1kJywgJycpO1xuICAgIHNob3VsZERlbGV0ZSA9IHRydWU7XG4gIH1cbiAgbGV0IGN0b3I6IERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfCBudWxsID0gbnVsbDtcbiAgdHJ5IHtcbiAgICBhd2FpdCBpbnZva2VXaXRoUGF0Y2hBc3luYyhNYXJrZG93blByZXZpZXdSZW5kZXJlciwge1xuICAgICAgcmVnaXN0ZXJEb21FdmVudHM6IChuZXh0OiBSZWdpc3RlckRvbUV2ZW50c0ZuKTogUmVnaXN0ZXJEb21FdmVudHNGbiA9PiB7XG4gICAgICAgIHJldHVybiAoZWwsIGhhbmRsZXJzLCBjaGlsZEVsRm4pID0+IHtcbiAgICAgICAgICBjdG9yID0gaGFuZGxlcnMuY29uc3RydWN0b3IgYXMgRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjtcbiAgICAgICAgICBuZXh0KGVsLCBoYW5kbGVycywgY2hpbGRFbEZuKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBsZWFmID0gYXBwLndvcmtzcGFjZS5nZXRMZWFmKHRydWUpO1xuICAgICAgYXdhaXQgbGVhZi5vcGVuRmlsZShtZEZpbGUsIHtcbiAgICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgICBzdGF0ZTogeyBtb2RlOiAncHJldmlldycgfVxuICAgICAgfSk7XG4gICAgICBhd2FpdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYygpO1xuICAgICAgbGVhZi5kZXRhY2goKTtcbiAgICB9KTtcblxuICAgIGFzc2VydE5vbk51bGxhYmxlKGN0b3IsICdGYWlsZWQgdG8gZ2V0IHJlZ2lzdGVyIGRvbSBldmVudHMgaGFuZGxlcnMgY29uc3RydWN0b3InKTtcbiAgICByZXR1cm4gY3RvcjtcbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAoc2hvdWxkRGVsZXRlKSB7XG4gICAgICBhd2FpdCBhcHAuZmlsZU1hbmFnZXIudHJhc2hGaWxlKG1kRmlsZSk7XG4gICAgfVxuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUEsc0JBS087QUFDUCw2QkFBbUM7QUFJbkMsbUJBQTJDO0FBQzNDLHlCQUEwQjtBQUMxQix3QkFBa0M7QUFDbEMsd0JBSU87QUFDUCwwQkFBcUM7QUFFckMsSUFBSSwrQkFBb0U7QUF1Q3hFLE1BQU0saUNBQWtFO0FBQUEsRUFrQi9ELFlBQTRCLEtBQTBCLE1BQWMsSUFBaUI7QUFBekQ7QUFBMEI7QUFDM0QsUUFBSSxHQUFHLGFBQWE7QUFDbEIsV0FBSyxhQUFhLEVBQUU7QUFBQSxJQUN0QixPQUFPO0FBQ0wsU0FBRyxlQUFlLE1BQU07QUFDdEIsYUFBSyxhQUFhLEVBQUU7QUFBQSxNQUN0QixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFBQSxFQXpCQSxJQUFXLGVBQW9DO0FBQzdDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVBLElBQVcsYUFBYSxjQUFtQztBQUN6RCxTQUFLLGdCQUFnQjtBQUNyQixRQUFJLGdCQUFnQixLQUFLLFdBQVcsUUFBVztBQUM3QyxtQkFBYSxRQUFRLGFBQWE7QUFBQSxRQUNoQyxRQUFRLE9BQU8sS0FBSyxNQUFNO0FBQUEsTUFDNUIsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQUEsRUFFUSxnQkFBcUM7QUFBQSxFQUVyQztBQUFBLEVBWUEsYUFBYSxJ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
@@ -13,27 +13,27 @@ export interface FullRenderOptions {
13
13
  /**
14
14
  * The Obsidian app instance.
15
15
  */
16
- app: App;
16
+ readonly app: App;
17
17
  /**
18
18
  * The Component instance to use for the render.
19
19
  */
20
- component?: Component;
20
+ readonly component?: Component;
21
21
  /**
22
22
  * The HTMLElement to render to.
23
23
  */
24
- el: HTMLElement;
24
+ readonly el: HTMLElement;
25
25
  /**
26
26
  * The Markdown string to render.
27
27
  */
28
- markdown: string;
28
+ readonly markdown: string;
29
29
  /**
30
30
  * Whether to register link handlers for the rendered element.
31
31
  */
32
- shouldRegisterLinkHandlers?: boolean;
32
+ readonly shouldRegisterLinkHandlers?: boolean;
33
33
  /**
34
34
  * The source path to resolve relative links.
35
35
  */
36
- sourcePath?: string;
36
+ readonly sourcePath?: string;
37
37
  }
38
38
  /**
39
39
  * Render the markdown and embeds.