@mnaoumov/obsidian-lib 5.0.0 → 5.1.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 (39) hide show
  1. package/dist/lib/cjs/__merged.cjs +11 -1
  2. package/dist/lib/cjs/__merged.d.cts +3 -3
  3. package/dist/lib/cjs/components/plugin-context-component.cjs +3 -1
  4. package/dist/lib/cjs/components/plugin-context-component.d.cts +2 -1
  5. package/dist/lib/cjs/components/plugin-gate-component.cjs +3 -3
  6. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +2 -2
  7. package/dist/lib/cjs/css-class.cjs +3 -2
  8. package/dist/lib/cjs/css-class.d.cts +12 -6
  9. package/dist/lib/cjs/debug.cjs +22 -2
  10. package/dist/lib/cjs/debug.d.cts +10 -3
  11. package/dist/lib/cjs/generated-during-build.cjs +1 -1
  12. package/dist/lib/cjs/library-styles.cjs +2 -2
  13. package/dist/lib/cjs/library.cjs +5 -2
  14. package/dist/lib/cjs/library.d.cts +12 -5
  15. package/dist/lib/cjs/obsidian-dev-utils-state.cjs +21 -1
  16. package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +8 -3
  17. package/dist/lib/cjs/plugin/plugin-context.cjs +5 -2
  18. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +44 -4
  19. package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +66 -15
  20. package/dist/lib/esm/__merged.d.mts +3 -3
  21. package/dist/lib/esm/__merged.mjs +11 -1
  22. package/dist/lib/esm/components/plugin-context-component.d.mts +2 -1
  23. package/dist/lib/esm/components/plugin-context-component.mjs +3 -1
  24. package/dist/lib/esm/components/plugin-gate-component.mjs +3 -3
  25. package/dist/lib/esm/components/plugin-suggestion-component.mjs +2 -2
  26. package/dist/lib/esm/css-class.d.mts +12 -6
  27. package/dist/lib/esm/css-class.mjs +3 -2
  28. package/dist/lib/esm/debug.d.mts +10 -3
  29. package/dist/lib/esm/debug.mjs +26 -3
  30. package/dist/lib/esm/generated-during-build.mjs +1 -1
  31. package/dist/lib/esm/library-styles.mjs +3 -3
  32. package/dist/lib/esm/library.d.mts +12 -5
  33. package/dist/lib/esm/library.mjs +4 -2
  34. package/dist/lib/esm/obsidian-dev-utils-state.d.mts +8 -3
  35. package/dist/lib/esm/obsidian-dev-utils-state.mjs +20 -1
  36. package/dist/lib/esm/plugin/plugin-context.mjs +6 -3
  37. package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +66 -15
  38. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +41 -4
  39. package/package.json +1 -2
@@ -91,7 +91,7 @@ __export(generated_during_build_exports, {
91
91
  LIBRARY_VERSION: () => LIBRARY_VERSION
92
92
  });
93
93
  module.exports = __toCommonJS(generated_during_build_exports);
94
- const LIBRARY_VERSION = "5.0.0";
94
+ const LIBRARY_VERSION = "5.1.0";
95
95
  const LIBRARY_STYLES = ".obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component pre, .obsidian-dev-utils.code-highlighter-component code {\n font-family: var(--font-monospace);\n line-height: var(--line-height-normal);\n margin: 0;\n}\n.obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component code {\n font-size: var(--code-size);\n}\n.obsidian-dev-utils.code-highlighter-component textarea {\n background: transparent;\n color: transparent;\n z-index: 2;\n width: 20em;\n height: 10em;\n}\n.obsidian-dev-utils.code-highlighter-component pre {\n position: absolute;\n pointer-events: none;\n border: var(--input-border-width) solid transparent;\n overflow: auto;\n inset: 0;\n padding: var(--size-4-1) var(--size-4-2);\n z-index: 1;\n}\n.obsidian-dev-utils.code-highlighter-component pre::after {\n content: \"\";\n display: block;\n height: var(--bottom-gap, 0);\n}\n.obsidian-dev-utils.code-highlighter-component pre.is-placeholder {\n opacity: 0.6;\n}\n.obsidian-dev-utils.code-highlighter-component code {\n display: block;\n padding: 0;\n}\n\n.obsidian-dev-utils-lock-indicator {\n display: inline-flex;\n align-items: center;\n color: var(--text-muted);\n}\n.obsidian-dev-utils-lock-indicator .svg-icon {\n width: var(--icon-s);\n height: var(--icon-s);\n}\n\n@keyframes obsidian-dev-utils-lock-indicator-flash {\n 40% {\n color: var(--text-error);\n transform: scale(1.4);\n }\n}\n.obsidian-dev-utils-lock-indicator-flash {\n animation: obsidian-dev-utils-lock-indicator-flash 0.35s ease-in-out;\n}\n\n.obsidian-dev-utils input[type=url] {\n height: var(--input-height);\n}\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=tel],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=url],\n.obsidian-dev-utils input[type=week] {\n -webkit-app-region: no-drag;\n background: var(--background-modifier-form-field);\n border: var(--input-border-width) solid var(--background-modifier-border);\n color: var(--text-normal);\n font-family: inherit;\n padding: var(--size-4-1) var(--size-4-2);\n font-size: var(--font-ui-small);\n border-radius: var(--input-radius);\n outline: none;\n}\n@media (hover: hover) {\n .obsidian-dev-utils input[type=month]:hover,\n .obsidian-dev-utils input[type=tel]:hover,\n .obsidian-dev-utils input[type=time]:hover,\n .obsidian-dev-utils input[type=url]:hover,\n .obsidian-dev-utils input[type=week]:hover {\n border-color: var(--background-modifier-border-hover);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n }\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus {\n border-color: var(--background-modifier-border-focus);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus, .obsidian-dev-utils input[type=month]:focus-visible,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=tel]:focus-visible,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=time]:focus-visible,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=url]:focus-visible,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus,\n.obsidian-dev-utils input[type=week]:focus-visible {\n box-shadow: 0 0 0 2px var(--background-modifier-border-focus);\n}\n.obsidian-dev-utils input[type=month]::placeholder,\n.obsidian-dev-utils input[type=tel]::placeholder,\n.obsidian-dev-utils input[type=time]::placeholder,\n.obsidian-dev-utils input[type=url]::placeholder,\n.obsidian-dev-utils input[type=week]::placeholder {\n color: var(--text-faint);\n}\n.mod-rtl input[type=month],\n.mod-rtl input[type=time],\n.mod-rtl input[type=week],\n.is-rtl input[type=month],\n.is-rtl input[type=time],\n.is-rtl input[type=week],\n.rtl input[type=month],\n.rtl input[type=time],\n.rtl input[type=week] {\n direction: rtl;\n}\n.mod-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.rtl input[type=month]::-webkit-calendar-picker-indicator,\n.rtl input[type=time]::-webkit-calendar-picker-indicator,\n.rtl input[type=week]::-webkit-calendar-picker-indicator {\n right: var(--size-4-1);\n left: auto;\n}\n\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=week] {\n font-variant-numeric: tabular-nums;\n position: relative;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-text {\n color: var(--text-faint);\n padding-inline-end: 0;\n}\n.obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n position: absolute;\n left: var(--size-4-1);\n right: auto;\n opacity: 0.5;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:focus {\n background-color: var(--text-selection);\n color: var(--text-normal);\n cursor: text;\n}\n.mod-rtl .obsidian-dev-utils input[type=month], .is-rtl .obsidian-dev-utils input[type=month], .rtl .obsidian-dev-utils input[type=month],\n.mod-rtl .obsidian-dev-utils input[type=time],\n.is-rtl .obsidian-dev-utils input[type=time],\n.rtl .obsidian-dev-utils input[type=time],\n.mod-rtl .obsidian-dev-utils input[type=week],\n.is-rtl .obsidian-dev-utils input[type=week],\n.rtl .obsidian-dev-utils input[type=week] {\n direction: rtl;\n}\n.mod-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .is-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n left: auto;\n right: var(--size-4-1);\n}\n\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=month],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=time],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=week] {\n padding-inline-start: var(--size-4-6);\n}\n\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator {\n margin-inline-start: 0;\n}\n\nprogress.obsidian-dev-utils.loop {\n min-width: 200px;\n}\n\n@keyframes obsidian-dev-utils-minimized-modal-bar-pulse {\n 0%, 100% {\n box-shadow: var(--shadow-s);\n }\n 50% {\n box-shadow: 0 0 0 2px var(--interactive-accent);\n }\n}\n@keyframes obsidian-dev-utils-minimized-modal-bar-attention {\n 0% {\n box-shadow: 0 0 0 0 var(--interactive-accent);\n }\n 40% {\n box-shadow: 0 0 0 4px var(--interactive-accent);\n }\n 100% {\n box-shadow: var(--shadow-s);\n }\n}\n.obsidian-dev-utils.minimizable-modal .minimize-button {\n position: absolute;\n top: var(--size-4-2);\n right: calc(var(--size-4-2) + var(--size-4-9));\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--size-2-2);\n border: none;\n border-radius: var(--radius-s);\n background: transparent;\n color: var(--icon-color);\n cursor: pointer;\n box-shadow: none;\n}\n.obsidian-dev-utils.minimizable-modal .minimize-button:hover {\n background: var(--background-modifier-hover);\n color: var(--icon-color-hover);\n}\n.obsidian-dev-utils.minimized-modal-bar {\n position: fixed;\n right: var(--size-4-4);\n bottom: calc(var(--size-4-4) + var(--size-4-8));\n z-index: var(--layer-modal);\n display: flex;\n align-items: center;\n gap: var(--size-4-2);\n padding: var(--size-4-2) var(--size-4-3);\n border: 1px solid var(--background-modifier-border);\n border-radius: var(--radius-m);\n background: var(--background-secondary);\n box-shadow: var(--shadow-s);\n cursor: pointer;\n animation: obsidian-dev-utils-minimized-modal-bar-pulse 2s ease-in-out infinite;\n}\n.obsidian-dev-utils.minimized-modal-bar:hover {\n background-image: linear-gradient(var(--background-modifier-hover), var(--background-modifier-hover));\n}\n.obsidian-dev-utils.minimized-modal-bar.minimized-modal-bar-attention {\n animation: obsidian-dev-utils-minimized-modal-bar-attention 0.35s ease-out;\n}\n.obsidian-dev-utils.minimized-modal-bar .minimized-modal-bar-title {\n font-weight: var(--font-medium);\n}\n.obsidian-dev-utils.minimized-modal-bar .restore-button,\n.obsidian-dev-utils.minimized-modal-bar .cancel-button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--size-2-2);\n border: none;\n border-radius: var(--radius-s);\n background: transparent;\n color: var(--icon-color);\n cursor: pointer;\n box-shadow: none;\n}\n.obsidian-dev-utils.minimized-modal-bar .restore-button:hover,\n.obsidian-dev-utils.minimized-modal-bar .cancel-button:hover {\n background: var(--background-modifier-hover);\n color: var(--icon-color-hover);\n}\n\n.obsidian-dev-utils.modal-commands {\n display: flex;\n flex-wrap: wrap;\n gap: var(--size-2-2);\n padding: var(--size-4-2) var(--size-4-3);\n border-top: 1px solid var(--background-modifier-border);\n}\n.obsidian-dev-utils.modal-command-control {\n margin-inline-start: var(--size-2-2);\n vertical-align: middle;\n}\n.obsidian-dev-utils.modal-command {\n display: inline-flex;\n align-items: baseline;\n gap: var(--size-2-2);\n min-height: var(--size-4-8);\n padding: var(--size-2-1) var(--size-4-2);\n border: 1px solid var(--background-modifier-border);\n border-radius: var(--radius-s);\n background-color: var(--background-secondary);\n color: var(--text-muted);\n font-size: var(--font-ui-smaller);\n white-space: nowrap;\n cursor: pointer;\n}\n.obsidian-dev-utils.modal-command:hover:not(:disabled) {\n background-color: var(--background-modifier-hover);\n color: var(--text-normal);\n}\n.obsidian-dev-utils.modal-command.is-active {\n border-color: var(--interactive-accent);\n background-color: var(--interactive-accent);\n color: var(--text-on-accent);\n}\n.obsidian-dev-utils.modal-command:disabled {\n opacity: 0.5;\n cursor: default;\n}\n.obsidian-dev-utils.modal-command-hotkey {\n color: var(--text-faint);\n font-size: var(--font-smallest);\n}\n.modal-command.is-active .obsidian-dev-utils.modal-command-hotkey {\n opacity: 0.7;\n color: var(--text-on-accent);\n}\n\n.obsidian-dev-utils.modal-container .ok-button {\n margin-right: 10px;\n margin-top: 20px;\n}\n\n.obsidian-dev-utils.multiple-dropdown-component select,\n.obsidian-dev-utils.multiple-dropdown-component select:focus,\n.obsidian-dev-utils.multiple-dropdown-component .dropdown {\n height: auto;\n padding-top: 3px;\n}\n.obsidian-dev-utils.multiple-dropdown-component select option:checked,\n.obsidian-dev-utils.multiple-dropdown-component select:focus option:checked,\n.obsidian-dev-utils.multiple-dropdown-component .dropdown option:checked {\n background-color: var(--interactive-accent);\n color: var(--text-on-accent);\n}\n\n.obsidian-dev-utils.plugin-notice-name {\n color: var(--text-accent);\n display: inline-block;\n font-weight: var(--font-bold);\n margin-bottom: var(--size-4-2);\n}\n.obsidian-dev-utils.plugin-notice-name code {\n color: inherit;\n}\n.obsidian-dev-utils.plugin-notice-content {\n padding-right: var(--size-4-5);\n position: relative;\n}\n.obsidian-dev-utils.plugin-notice-content .obsidian-dev-utils.cancel-button {\n display: block;\n margin-top: var(--size-4-2);\n width: fit-content;\n}\n.obsidian-dev-utils.plugin-notice-content .obsidian-dev-utils.plugin-notice-close-button {\n position: absolute;\n right: var(--size-4-3);\n top: var(--size-4-3);\n}\n.obsidian-dev-utils.plugin-notice-requires-explicit-close.notice {\n padding: 0;\n}\n.obsidian-dev-utils.plugin-notice-requires-explicit-close.notice .obsidian-dev-utils.plugin-notice-content {\n padding: var(--size-4-3) var(--size-4-4);\n}\n\n.obsidian-dev-utils.plugin-settings-tab a:focus {\n outline: 2px solid var(--link-color);\n}\n\n.obsidian-dev-utils.plugin-suggestion-banner {\n background-color: var(--background-secondary);\n border-left: var(--size-2-1) solid var(--text-accent);\n border-radius: var(--radius-s);\n display: flex;\n flex-direction: column;\n gap: var(--size-4-2);\n margin-bottom: var(--size-4-4);\n padding: var(--size-4-3) var(--size-4-4);\n}\n.obsidian-dev-utils.plugin-suggestion-banner button {\n width: fit-content;\n}\n\n.obsidian-dev-utils.popover {\n max-width: min(420px, 90vw);\n min-width: 320px;\n padding: var(--size-4-2) var(--size-4-3);\n position: absolute;\n z-index: var(--layer-menu);\n}\n.obsidian-dev-utils.popover .setting-item {\n align-items: center;\n border-top: none;\n gap: var(--size-4-2);\n padding: var(--size-2-1) 0;\n}\n.obsidian-dev-utils.popover .setting-item-info {\n margin-right: 0;\n}\n.obsidian-dev-utils.popover .setting-item-control {\n flex-grow: 1;\n justify-content: flex-end;\n}\n.obsidian-dev-utils.popover input[type=text] {\n width: 100%;\n}\n\n.obsidian-dev-utils.prompt-modal .text-box {\n width: 100%;\n}\n\n.obsidian-dev-utils button:not(.clickable-icon) {\n color: var(--text-color);\n}\n\n.obsidian-dev-utils.tri-state-checkbox-component input[type=checkbox]:indeterminate {\n appearance: checkbox;\n}\n\n.obsidian-dev-utils :invalid:not(.untouched) {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils input.metadata-input-text:active:invalid:not(.untouched), .obsidian-dev-utils input.metadata-input-text:focus-visible:invalid:not(.untouched), .obsidian-dev-utils input.metadata-input-text:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=date]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=date]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=date]:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=datetime-local]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=datetime-local]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=datetime-local]:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=email]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=email]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=email]:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=number]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=number]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=number]:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=password]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=password]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=password]:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=search]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=search]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=search]:focus:invalid:not(.untouched),\n.obsidian-dev-utils input[type=text]:active:invalid:not(.untouched),\n.obsidian-dev-utils input[type=text]:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils input[type=text]:focus:invalid:not(.untouched),\n.obsidian-dev-utils textarea:active:invalid:not(.untouched),\n.obsidian-dev-utils textarea:focus-visible:invalid:not(.untouched),\n.obsidian-dev-utils textarea:focus:invalid:not(.untouched) {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils.setting-component-wrapper {\n position: relative;\n display: inline-flex;\n}\n.obsidian-dev-utils.overlay-validator {\n caret-color: transparent;\n cursor: default;\n position: absolute;\n background-color: transparent;\n border: none;\n outline: none;\n pointer-events: none;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n.obsidian-dev-utils.tooltip.tooltip-validator {\n position: absolute;\n top: calc(100% + 8px);\n width: max-content;\n}\n\n/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/editor-lock.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/loop.scss%22,%22../src/styles/minimizable-modal.scss%22,%22../src/styles/modal-commands.scss%22,%22../src/styles/modal-container.scss%22,%22../src/styles/multiple-dropdown-component.scss%22,%22../src/styles/plugin-notice.scss%22,%22../src/styles/plugin-settings-tab.scss%22,%22../src/styles/plugin-suggestion.scss%22,%22../src/styles/popover.scss%22,%22../src/styles/prompt-modal.scss%22,%22../src/styles/tldraw-button-color-workaround.scss%22,%22../src/styles/tri-state-checkbox-component.scss%22,%22../src/styles/validation.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEI;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;ACvCN;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAMJ;EACE;IACE;IACA;;;AAIJ;EACE;;;ACvBA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;AC/CK;EACP;;;ACJJ;EACE;IAEE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AASN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOA;EACE;;AAOF;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;;ACpGN;EACE;EACA;EACA;EACA;EACA;;AAOF;EACE;EACA;;AAMF;EACE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAKF;EACE;EACA;;AAIJ;EACE;EACA;;AAGA;EACE;EACA;;;ACpEF;EACE;EACA;;;ACCF;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;;ACZN;EACE;EACA;EACA;EACA;;AAGA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAKF;EACE;EACA;EACA;;AAOJ;EACE;;AAEA;EACE;;;ACrCF;EACE;;;ACFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;ACRJ;EAIE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AC9BF;EACE;;;ACUN;EACE;;;ACZE;EACE;;;ACKJ;EAPA;;AAuBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAvBJ;;AA6BA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA%22,%22file%22:%22styles.css%22,%22sourcesContent%22:%5B%22.obsidian-dev-utils%20%7B%5Cn%20%20&.code-highlighter-component%20%7B%5Cn%20%20%20%20textarea,%20pre,%20code%20%7B%5Cn%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20line-height:%20var(--line-height-normal);%5Cn%20%20%20%20%20%20margin:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea,%20code%20%7B%5Cn%20%20%20%20%20%20font-size:%20var(--code-size);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20transparent;%5Cn%20%20%20%20%20%20z-index:%202;%5Cn%20%20%20%20%20%20width:%2020em;%5Cn%20%20%20%20%20%20height:%2010em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20%20%20border:%20var(--input-border-width)%20solid%20transparent;%5Cn%20%20%20%20%20%20overflow:%20auto;%5Cn%20%20%20%20%20%20inset:%200;%5Cn%20%20%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20%20%20z-index:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre::after%20%7B%5Cn%20%20%20%20%20%20content:%20%5C%22%5C%22;%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20height:%20var(--bottom-gap,%200);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre.is-placeholder%20%7B%5Cn%20%20%20%20%20%20opacity:%200.6;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20padding:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22//%20Lock%20indicators%20shown%20in%20the%20tab%20header%20and%20the%20status%20bar%20while%20a%20note%20is%20locked.%20These%20live%20in%5Cn//%20global%20Obsidian%20DOM%20(tab%20header%20/%20status%20bar),%20so%20they%20are%20styled%20with%20a%20global%20class%20rather%20than%5Cn//%20scoped%20under%20%60.obsidian-dev-utils%60.%5Cn.obsidian-dev-utils-lock-indicator%20%7B%5Cn%20%20display:%20inline-flex;%5Cn%20%20align-items:%20center;%5Cn%20%20color:%20var(--text-muted);%5Cn%5Cn%20%20.svg-icon%20%7B%5Cn%20%20%20%20width:%20var(--icon-s);%5Cn%20%20%20%20height:%20var(--icon-s);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn//%20Flashed%20on%20every%20lock%20indicator%20(tab%20header,%20view%20action,%20status%20bar)%20when%20the%20user%20attempts%20to%5Cn//%20type%20in%20a%20locked%20note,%20to%20make%20clear%20the%20note%20is%20read-only.%20Re-added%20per%20rejected%20keystroke.%5Cn@keyframes%20obsidian-dev-utils-lock-indicator-flash%20%7B%5Cn%20%2040%25%20%7B%5Cn%20%20%20%20color:%20var(--text-error);%5Cn%20%20%20%20transform:%20scale(1.4);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.obsidian-dev-utils-lock-indicator-flash%20%7B%5Cn%20%20animation:%20obsidian-dev-utils-lock-indicator-flash%200.35s%20ease-in-out;%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='url'%5D%20%7B%5Cn%20%20%20%20height:%20var(--input-height)%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='tel'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='url'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20-webkit-app-region:%20no-drag;%5Cn%20%20%20%20background:%20var(--background-modifier-form-field);%5Cn%20%20%20%20border:%20var(--input-border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20font-family:%20inherit;%5Cn%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20font-size:%20var(--font-ui-small);%5Cn%20%20%20%20border-radius:%20var(--input-radius);%5Cn%20%20%20%20outline:%20none;%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20@media%20(hover:%20hover)%20%7B%5Cn%20%20%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20border-color:%20var(--background-modifier-border-hover);%5Cn%20%20%20%20%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus,%5Cn%20%20%20%20&:focus-visible%20%7B%5Cn%20%20%20%20%20%20box-shadow:%200%200%200%202px%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20@at-root%20%7B%5Cn%20%20%20%20.mod-rtl,%5Cn%20%20%20%20.is-rtl,%5Cn%20%20%20%20.rtl%20%7B%5Cn%20%20%20%20%20%20&%20%7B%5Cn%20%20%20%20%20%20%20%20input%5Btype='month'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='time'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20font-variant-numeric:%20tabular-nums;%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-text%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%20%20padding-inline-end:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20left:%20var(--size-4-1);%5Cn%20%20%20%20%20%20right:%20auto;%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-month-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-day-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-year-field%20%7B%5Cn%20%20%20%20%20%20&:active,%5Cn%20%20%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--text-selection);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%20%20cursor:%20text;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20.mod-rtl%20&,%5Cn%20%20%20%20%20%20.is-rtl%20&,%5Cn%20%20%20%20%20%20.rtl%20&%20%7B%5Cn%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20body:not(.is-ios):not(.is-android)%20&%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline-start:%20var(--size-4-6);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='time'%5D%20%7B%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20//%20Not%20%60&progress%60:%20that%20APPENDS%20the%20element%20name%20to%20the%20parent%20class,%20producing%20one%20long%20class%20that%20matches%5Cn%20%20//%20nothing.%20The%20element%20type%20has%20to%20lead%20the%20compound%20selector%20instead.%5Cn%20%20@at-root%20progress%23%7B&%7D.loop%20%7B%5Cn%20%20%20%20min-width:%20200px;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22@keyframes%20obsidian-dev-utils-minimized-modal-bar-pulse%20%7B%5Cn%20%200%25,%5Cn%20%20100%25%20%7B%5Cn%20%20%20%20box-shadow:%20var(--shadow-s);%5Cn%20%20%7D%5Cn%5Cn%20%2050%25%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%202px%20var(--interactive-accent);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn@keyframes%20obsidian-dev-utils-minimized-modal-bar-attention%20%7B%5Cn%20%200%25%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%200%20var(--interactive-accent);%5Cn%20%20%7D%5Cn%5Cn%20%2040%25%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%204px%20var(--interactive-accent);%5Cn%20%20%7D%5Cn%5Cn%20%20100%25%20%7B%5Cn%20%20%20%20box-shadow:%20var(--shadow-s);%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20//%20The%20minimize%20button%20lives%20inside%20the%20modal%20container,%20left%20of%20Obsidian's%20close%20button.%5Cn%20%20&.minimizable-modal%20%7B%5Cn%20%20%20%20.minimize-button%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20top:%20var(--size-4-2);%5Cn%20%20%20%20%20%20right:%20calc(var(--size-4-2)%20+%20var(--size-4-9));%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%20%20padding:%20var(--size-2-2);%5Cn%20%20%20%20%20%20border:%20none;%5Cn%20%20%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20var(--icon-color);%5Cn%20%20%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20%20%20box-shadow:%20none;%5Cn%5Cn%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20background:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20%20%20color:%20var(--icon-color-hover);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20//%20The%20minimized%20bar%20is%20appended%20to%20document.body.%20It%20floats%20at%20the%20bottom-right%20while%20minimized,%5Cn%20%20//%20and%20gently%20pulses%20an%20accent%20ring%20so%20the%20user%20does%20not%20forget%20about%20the%20minimized%20operation.%5Cn%20%20//%20It%20floats%20a%20status-bar's%20height%20above%20the%20bottom%20edge%20so%20it%20never%20covers%20the%20bottom-right%5Cn%20%20//%20status-bar%20items%20(e.g.%20the%20editor-lock%20unlock%20indicator,%20which%20lives%20in%20the%20same%20corner).%5Cn%20%20&.minimized-modal-bar%20%7B%5Cn%20%20%20%20position:%20fixed;%5Cn%20%20%20%20right:%20var(--size-4-4);%5Cn%20%20%20%20bottom:%20calc(var(--size-4-4)%20+%20var(--size-4-8));%5Cn%20%20%20%20z-index:%20var(--layer-modal);%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20align-items:%20center;%5Cn%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20padding:%20var(--size-4-2)%20var(--size-4-3);%5Cn%20%20%20%20border:%201px%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20border-radius:%20var(--radius-m);%5Cn%20%20%20%20background:%20var(--background-secondary);%5Cn%20%20%20%20box-shadow:%20var(--shadow-s);%5Cn%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20animation:%20obsidian-dev-utils-minimized-modal-bar-pulse%202s%20ease-in-out%20infinite;%5Cn%5Cn%20%20%20%20//%20Layer%20the%20translucent%20hover%20tint%20over%20the%20opaque%20%60background%60%20(%60--background-secondary%60)%20via%5Cn%20%20%20%20//%20%60background-image%60%20instead%20of%20replacing%20the%20background-color.%20%60--background-modifier-hover%60%20is%5Cn%20%20%20%20//%20translucent,%20so%20setting%20it%20as%20%60background%60%20would%20let%20the%20editor%20content%20behind%20the%20floating%20bar%5Cn%20%20%20%20//%20bleed%20through%20and%20make%20the%20title%20unreadable.%20A%20gradient%20of%20the%20tint%20composited%20over%20the%20opaque%5Cn%20%20%20%20//%20base%20keeps%20the%20bar%20opaque%20while%20preserving%20the%20subtle%20hover%20highlight.%5Cn%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20background-image:%20linear-gradient(var(--background-modifier-hover),%20var(--background-modifier-hover));%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20A%20one-shot,%20more%20pronounced%20flash%20played%20when%20the%20user%20attempts%20a%20blocked%20action%20(a%20keystroke,%5Cn%20%20%20%20//%20right-click,%20or%20opening%20another%20modal)%20while%20this%20modal%20is%20minimized,%20so%20the%20block%20is%20not%5Cn%20%20%20%20//%20silent.%20Its%20higher%20specificity%20overrides%20the%20gentle%20infinite%20idle%20pulse%20while%20it%20plays;%20the%5Cn%20%20%20%20//%20class%20is%20removed%20on%20%60animationend%60,%20restoring%20the%20idle%20pulse.%5Cn%20%20%20%20&.minimized-modal-bar-attention%20%7B%5Cn%20%20%20%20%20%20animation:%20obsidian-dev-utils-minimized-modal-bar-attention%200.35s%20ease-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.minimized-modal-bar-title%20%7B%5Cn%20%20%20%20%20%20font-weight:%20var(--font-medium);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.restore-button,%5Cn%20%20%20%20.cancel-button%20%7B%5Cn%20%20%20%20%20%20display:%20flex;%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20justify-content:%20center;%5Cn%20%20%20%20%20%20padding:%20var(--size-2-2);%5Cn%20%20%20%20%20%20border:%20none;%5Cn%20%20%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20var(--icon-color);%5Cn%20%20%20%20%20%20cursor:%20pointer;%5Cn%20%20%20%20%20%20box-shadow:%20none;%5Cn%5Cn%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20background:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20%20%20color:%20var(--icon-color-hover);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20//%20The%20strip%20of%20commands%20along%20the%20bottom%20of%20a%20modal.%5Cn%20%20//%5Cn%20%20//%20In%20%60Instructions%60%20render%20mode%20it%20also%20carries%20Obsidian's%20own%20%60.prompt-instructions%60%20%E2%80%94%20whose%20rule%20is%5Cn%20%20//%20unscoped,%20so%20it%20applies%20to%20a%20plain%20%60Modal%60%20too%20%E2%80%94%20and%20this%20one%20only%20re-tunes%20that%20rule's%20%60gap%60%20and%5Cn%20%20//%20%60padding%60%20and%20adds%20the%20separator;%20in%20%60Buttons%60%20mode%20it%20is%20the%20whole%20strip.%5Cn%20%20&.modal-commands%20%7B%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-wrap:%20wrap;%5Cn%20%20%20%20gap:%20var(--size-2-2);%5Cn%20%20%20%20padding:%20var(--size-4-2)%20var(--size-4-3);%5Cn%20%20%20%20border-top:%201px%20solid%20var(--background-modifier-border);%5Cn%20%20%7D%5Cn%5Cn%20%20//%20A%20control%20the%20%60Instructions%60%20renderer%20injects%20into%20an%20instruction's%20purpose%20text%20%E2%80%94%20a%20checkbox,%20a%5Cn%20%20//%20dropdown.%20Obsidian%20styles%20the%20instruction%20bar%20itself,%20but%20its%20own%20bar%20never%20contains%20a%20control,%20so%5Cn%20%20//%20nothing%20upstream%20separates%20one%20from%20the%20label%20it%20belongs%20to.%20Sits%20on%20the%20control%20rather%20than%20on%20the%5Cn%20%20//%20strip,%20so%20it%20reaches%20a%20%60SuggestModal%60's%20native%20bar%20as%20well%20as%20a%20self-created%20one.%5Cn%20%20&.modal-command-control%20%7B%5Cn%20%20%20%20margin-inline-start:%20var(--size-2-2);%5Cn%20%20%20%20vertical-align:%20middle;%5Cn%20%20%7D%5Cn%5Cn%20%20//%20One%20command%20button.%20Replaces%20the%20instruction%20bar%20rather%20than%20supplementing%20it:%20the%20bar%20can%20only%20ever%5Cn%20%20//%20say%20which%20key%20to%20press,%20and%20on%20a%20phone%20there%20is%20no%20modifier%20key%20to%20press,%20so%20every%20control%20it%20names%5Cn%20%20//%20is%20unreachable%20there.%5Cn%20%20&.modal-command%20%7B%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%20%20align-items:%20baseline;%5Cn%20%20%20%20gap:%20var(--size-2-2);%5Cn%5Cn%20%20%20%20//%20Comfortably%20tappable%20on%20a%20phone,%20where%20this%20strip%20is%20the%20only%20way%20in.%5Cn%20%20%20%20min-height:%20var(--size-4-8);%5Cn%20%20%20%20padding:%20var(--size-2-1)%20var(--size-4-2);%5Cn%20%20%20%20border:%201px%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20background-color:%20var(--background-secondary);%5Cn%20%20%20%20color:%20var(--text-muted);%5Cn%20%20%20%20font-size:%20var(--font-ui-smaller);%5Cn%20%20%20%20white-space:%20nowrap;%5Cn%20%20%20%20cursor:%20pointer;%5Cn%5Cn%20%20%20%20&:hover:not(:disabled)%20%7B%5Cn%20%20%20%20%20%20background-color:%20var(--background-modifier-hover);%5Cn%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20A%20toggle%20that%20is%20ON.%20An%20action%20never%20carries%20it%20%E2%80%94%20it%20does%20something%20and%20is%20done,%20so%20there%20is%20no%5Cn%20%20%20%20//%20state%20for%20it%20to%20show.%5Cn%20%20%20%20&.is-active%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20background-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20color:%20var(--text-on-accent);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20Disabled%20rather%20than%20removed:%20a%20strip%20that%20lost%20buttons%20as%20modes%20change%20would%20reflow%20under%20the%5Cn%20%20%20%20//%20pointer,%20which%20on%20a%20phone%20means%20a%20mis-tap.%5Cn%20%20%20%20&:disabled%20%7B%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%20%20cursor:%20default;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.modal-command-hotkey%20%7B%5Cn%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20font-size:%20var(--font-smallest);%5Cn%5Cn%20%20%20%20//%20Faint%20against%20the%20surface%20is%20right;%20faint%20against%20the%20accent%20fill%20is%20invisible.%5Cn%20%20%20%20.modal-command.is-active%20&%20%7B%5Cn%20%20%20%20%20%20opacity:%200.7;%5Cn%20%20%20%20%20%20color:%20var(--text-on-accent);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.modal-container%20%7B%5Cn%20%20%20%20.ok-button%20%7B%5Cn%20%20%20%20%20%20margin-right:%2010px;%5Cn%20%20%20%20%20%20margin-top:%2020px;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20//%20Compound,%20not%20nested:%20%60addPluginCssClasses%60%20puts%20%60obsidian-dev-utils%60%20and%20%60multiple-dropdown-component%60%20on%20the%5Cn%20%20//%20SAME%20element%20(the%20setting's%20control%20container),%20so%20a%20descendant%20selector%20matched%20nothing%20and%20every%20multiple%5Cn%20%20//%20dropdown%20rendered%20one%20row%20tall%20%E2%80%94%20Obsidian's%20%60.dropdown%60%20height,%20with%20no%20popup%20behind%20it%20to%20pick%20from.%5Cn%20%20&.multiple-dropdown-component%20%7B%5Cn%20%20%20%20select,%5Cn%20%20%20%20select:focus,%5Cn%20%20%20%20.dropdown%20%7B%5Cn%20%20%20%20%20%20height:%20auto;%5Cn%20%20%20%20%20%20padding-top:%203px;%5Cn%5Cn%20%20%20%20%20%20option:checked%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--interactive-accent);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-on-accent);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-notice-name%20%7B%5Cn%20%20%20%20color:%20var(--text-accent);%5Cn%20%20%20%20display:%20inline-block;%5Cn%20%20%20%20font-weight:%20var(--font-bold);%5Cn%20%20%20%20margin-bottom:%20var(--size-4-2);%5Cn%5Cn%20%20%20%20//%20The%20name%20is%20inline%20code;%20it%20keeps%20the%20code%20background%20and%20font%20but%20takes%20the%20prefix's%20accent%20color.%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20color:%20inherit;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.plugin-notice-content%20%7B%5Cn%20%20%20%20padding-right:%20var(--size-4-5);%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20.obsidian-dev-utils.cancel-button%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20margin-top:%20var(--size-4-2);%5Cn%20%20%20%20%20%20width:%20fit-content;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20//%20The%20close%20button%20reuses%20Obsidian's%20%60modal-header-button%60%20+%20%60clickable-icon%60%20classes%20so%20it%20matches%5Cn%20%20%20%20//%20The%20native%20modal%20close%20button%20(box%20+%20hover);%20only%20its%20corner%20position%20is%20set%20here.%5Cn%20%20%20%20.obsidian-dev-utils.plugin-notice-close-button%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20right:%20var(--size-4-3);%5Cn%20%20%20%20%20%20top:%20var(--size-4-3);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20//%20Move%20the%20notice's%20own%20padding%20onto%20the%20content%20wrapper%20so%20the%20wrapper%20covers%20the%20whole%20clickable%5Cn%20%20//%20Area%20%E2%80%94%20otherwise%20a%20click%20landing%20on%20the%20notice's%20bare%20padding%20(outside%20the%20wrapper)%20would%20bypass%20the%5Cn%20%20//%20Stop-propagation%20guard%20and%20dismiss%20the%20hard-to-close%20notice.%5Cn%20%20&.plugin-notice-requires-explicit-close.notice%20%7B%5Cn%20%20%20%20padding:%200;%5Cn%5Cn%20%20%20%20.obsidian-dev-utils.plugin-notice-content%20%7B%5Cn%20%20%20%20%20%20padding:%20var(--size-4-3)%20var(--size-4-4);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-settings-tab%20%7B%5Cn%20%20%20%20a:focus%20%7B%5Cn%20%20%20%20%20%20outline:%202px%20solid%20var(--link-color);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-suggestion-banner%20%7B%5Cn%20%20%20%20background-color:%20var(--background-secondary);%5Cn%20%20%20%20border-left:%20var(--size-2-1)%20solid%20var(--text-accent);%5Cn%20%20%20%20border-radius:%20var(--radius-s);%5Cn%20%20%20%20display:%20flex;%5Cn%20%20%20%20flex-direction:%20column;%5Cn%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20margin-bottom:%20var(--size-4-4);%5Cn%20%20%20%20padding:%20var(--size-4-3)%20var(--size-4-4);%5Cn%5Cn%20%20%20%20button%20%7B%5Cn%20%20%20%20%20%20width:%20fit-content;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22//%20A%20popover%20is%20anchored%20at%20a%20point%20and%20appended%20to%20the%20document%20body,%20outside%20any%20plugin-scoped%5Cn//%20container,%20so%20it%20is%20positioned%20absolutely%20at%20the%20top%20level.%20It%20borrows%20Obsidian's%20%60.menu%60%20look,%5Cn//%20which%20already%20carries%20the%20popup%20background,%20border%20and%20shadow%20%E2%80%94%20only%20layout%20is%20set%20here.%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20&.popover%20%7B%5Cn%20%20%20%20//%20Deliberately%20not%20%60calc(100vw%20-%2016px)%60:%20the%20SCSS%20compiler%20strips%20the%20%60calc(%60%20wrapper%20inside%5Cn%20%20%20%20//%20%60min()%60,%20which%20yields%20invalid%20CSS.%20A%20viewport%20percentage%20keeps%20a%20narrow%20window's%20popover%20on%5Cn%20%20%20%20//%20screen.%5Cn%20%20%20%20max-width:%20min(420px,%2090vw);%5Cn%20%20%20%20min-width:%20320px;%5Cn%20%20%20%20padding:%20var(--size-4-2)%20var(--size-4-3);%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20z-index:%20var(--layer-menu);%5Cn%5Cn%20%20%20%20//%20Setting%20rows%20are%20built%20for%20a%20full-width%20settings%20tab;%20compact%20them%20for%20a%20popover.%5Cn%20%20%20%20.setting-item%20%7B%5Cn%20%20%20%20%20%20align-items:%20center;%5Cn%20%20%20%20%20%20border-top:%20none;%5Cn%20%20%20%20%20%20gap:%20var(--size-4-2);%5Cn%20%20%20%20%20%20padding:%20var(--size-2-1)%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.setting-item-info%20%7B%5Cn%20%20%20%20%20%20margin-right:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20.setting-item-control%20%7B%5Cn%20%20%20%20%20%20flex-grow:%201;%5Cn%20%20%20%20%20%20justify-content:%20flex-end;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20input%5Btype='text'%5D%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.prompt-modal%20%7B%5Cn%20%20%20%20.text-box%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22//%20The%20tldraw%20Obsidian%20plugin%20(tldraw/obsidian-plugin)%20ships%20an%20unscoped%20global%20rule%5Cn//%20%60button:not(.clickable-icon)%20%7B%20color:%20currentColor%20%7D%60%20that%20overrides%20Obsidian's%20own%5Cn//%20%60button:not(.clickable-icon)%20%7B%20color:%20var(--text-color)%20%7D%60%20app-wide.%20Obsidian%20sets%5Cn//%20%60--text-color%60%20contextually%20per%20button%20variant%20(%60--text-normal%60%20by%20default,%5Cn//%20%60--text-on-accent%60%20for%20%60.mod-cta%60,%20%60--text-error%60%20for%20%60.mod-warning%60),%20so%20tldraw's%5Cn//%20%60currentColor%60%20discards%20that%20and%20breaks%20button%20contrast%20outside%20tldraw%20%E2%80%94%20e.g.%5Cn//%20White-on-white%20action%20buttons%20inside%20a%20Notice.%20Re-assert%20Obsidian's%20own%20value%20inside%20the%5Cn//%20Library's%20own%20UI%20(specificity%200,2,1),%20which%20wins%20over%20tldraw's%20(0,1,1)%20while%20staying%20correct%5Cn//%20For%20every%20button%20variant%20(it%20reuses%20the%20same%20contextual%20%60--text-color%60).%5Cn//%20It%20MUST%20stay%20scoped%20to%20%60.obsidian-dev-utils%60:%20an%20unscoped%20re-assert%20(it%20was%20%60body%20button%E2%80%A6%60,%5Cn//%200,1,2)%20lands%20on%20every%20button%20in%20the%20app%20and%20beats%20any%20other%20plugin's%20own%20button%20color%5Cn//%20Written%20at%200,1,1,%20which%20Obsidian's%20own%20rule%20used%20to%20lose%20to%20(obsidian-custom-attachment-location%2395).%5Cn//%20Defensive%20workaround%20%E2%80%94%20remove%20once%20the%20upstream%20fix%20ships%20(tldraw/obsidian-plugin%23210).%5Cn.obsidian-dev-utils%20button:not(.clickable-icon)%20%7B%5Cn%20%20color:%20var(--text-color);%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.tri-state-checkbox-component%20%7B%5Cn%20%20%20%20input%5Btype='checkbox'%5D:indeterminate%20%7B%5Cn%20%20%20%20%20%20appearance:%20checkbox;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22@mixin%20invalid%20%7B%5Cn%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%7D%5Cn%5Cn//%20An%20input%20the%20user%20has%20not%20interacted%20with%20yet%20carries%20%60.untouched%60%20(set%20by%20%60PromptModal%60),%20so%20a%20modal%20that%5Cn//%20opens%20invalid%20by%20design%20does%20not%20greet%20the%20user%20in%20red.%20Both%20blocks%20below%20must%20be%20gated:%20the%20input%20is%5Cn//%20focused%20on%20open,%20so%20the%20focus%20block%20alone%20would%20keep%20painting%20it.%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20:invalid:not(.untouched)%20%7B%5Cn%20%20%20%20@include%20invalid;%5Cn%20%20%7D%5Cn%5Cn%20%20input.metadata-input-text,%5Cn%20%20input%5Btype='date'%5D,%5Cn%20%20input%5Btype='datetime-local'%5D,%5Cn%20%20input%5Btype='email'%5D,%5Cn%20%20input%5Btype='number'%5D,%5Cn%20%20input%5Btype='password'%5D,%5Cn%20%20input%5Btype='search'%5D,%5Cn%20%20input%5Btype='text'%5D,%5Cn%20%20textarea%20%7B%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus-visible,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20&:invalid:not(.untouched)%20%7B%5Cn%20%20%20%20%20%20%20%20@include%20invalid;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.setting-component-wrapper%20%7B%5Cn%20%20%20%20position:%20relative;%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%7D%5Cn%5Cn%20%20&.overlay-validator%20%7B%5Cn%20%20%20%20caret-color:%20transparent;%5Cn%20%20%20%20cursor:%20default;%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20background-color:%20transparent;%5Cn%20%20%20%20border:%20none;%5Cn%20%20%20%20outline:%20none;%5Cn%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20z-index:%209999;%5Cn%20%20%20%20left:%200;%5Cn%20%20%20%20top:%200;%5Cn%20%20%20%20width:%20100%25;%5Cn%20%20%20%20height:%20100%25;%5Cn%20%20%7D%5Cn%5Cn%20%20&.tooltip.tooltip-validator%20%7B%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20top:%20calc(100%25%20+%208px);%5Cn%20%20%20%20width:%20max-content;%5Cn%20%20%7D%5Cn%7D%5Cn%22%5D%7D */\n";
96
96
  // Annotate the CommonJS export names for ESM import in node:
97
97
  0 && (module.exports = {
@@ -124,7 +124,7 @@ module.exports = __toCommonJS(library_styles_exports);
124
124
  var import_compare_versions = require('compare-versions');
125
125
  var import_library = require('./library.cjs');
126
126
  var import_obsidian_dev_utils_state = require('./obsidian-dev-utils-state.cjs');
127
- const LIBRARY_STYLES_ELEMENT_ID = `${import_library.OBSIDIAN_LIBRARY_NAME}-styles`;
127
+ const LIBRARY_STYLES_ELEMENT_ID = `${import_library.LEGACY_OBSIDIAN_LIBRARY_NAME}-styles`;
128
128
  const LAST_OBSIDIAN_LIB_VERSION_KEY = "lastObsidianLibVersion";
129
129
  const LEGACY_LAST_LIBRARY_VERSION_KEY = "lastLibraryVersion";
130
130
  const LEGACY_LAST_LIBRARY_VERSION_SENTINEL = "999999999.0.0";
@@ -152,4 +152,4 @@ function injectLibraryStyles(params) {
152
152
  LIBRARY_STYLES_ELEMENT_ID,
153
153
  injectLibraryStyles
154
154
  });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJyYXJ5LXN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogSW5qZWN0cyB0aGUgbGlicmFyeSdzIHN0eWxlc2hlZXQgb25jZSBwZXIgcmVuZGVyZXIsIGxldHRpbmcgdGhlIG5ld2VzdCBsb2FkZWQgY29weSB3aW4uXG4gKlxuICogRXZlcnkgcGx1Z2luIGJ1bmRsZXMgaXRzIG93biBjb3B5LCBzbyBzZXZlcmFsIGNvcGllcyBjYW4gc2hhcmUgb25lIHJlbmRlcmVyLCBhbmQgb25seSBvbmUgb2YgdGhlbSBzaG91bGQgb3duIHRoZVxuICogYDxzdHlsZT5gIGVsZW1lbnQuIENvcGllcyBvZiB0aGUgcmV0aXJlZCBgb2JzaWRpYW4tZGV2LXV0aWxzYCBwYWNrYWdlIGRlY2lkZSB0aGF0IGJ5IGNvbXBhcmluZyB0aGVpciBvd24gdmVyc2lvblxuICogYWdhaW5zdCBgX19vYnNpZGlhbkRldlV0aWxzLmxhc3RMaWJyYXJ5VmVyc2lvbmAuIGBvYnNpZGlhbi1saWJgIHJlc3RhcnRlZCBpdHMgdmVyc2lvbiBsaW5lLCBzbyBpdCBjYW5ub3QgdGFrZSBwYXJ0IGluXG4gKiB0aGF0IGNvbXBhcmlzb246IGEgYDEueGAgY29weSB3b3VsZCBsb3NlIHRvIGV2ZXJ5IGAxMDcueGAgY29weSBmb3IgZXZlci4gSXQgdGhlcmVmb3JlIGtlZXBzIGl0cyBvd24gcmVjb3JkIHVuZGVyIGFcbiAqIHNlcGFyYXRlIGtleSwgYW5kIHRyZWF0cyBhbnkgYG9ic2lkaWFuLWRldi11dGlsc2AgY29weSBhcyBvbGRlciB0aGFuIGl0c2VsZi5cbiAqL1xuXG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcblxuaW1wb3J0IHsgT0JTSURJQU5fTElCUkFSWV9OQU1FIH0gZnJvbSAnLi9saWJyYXJ5LnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSB9IGZyb20gJy4vb2JzaWRpYW4tZGV2LXV0aWxzLXN0YXRlLnRzJztcblxuLyoqXG4gKiBUaGUgaWQgb2YgdGhlIGA8c3R5bGU+YCBlbGVtZW50IGhvbGRpbmcgdGhlIGxpYnJhcnkgc3R5bGVzLiBJdCBpcyB0aGUgaWQgYG9ic2lkaWFuLWRldi11dGlsc2AgY29waWVzIHVzZSB0b28sIHNvXG4gKiB3aGljaGV2ZXIgY29weSBpbmplY3RzIGxhc3QgcmVwbGFjZXMgdGhlIGVsZW1lbnQgaW5zdGVhZCBvZiBhZGRpbmcgYSBzZWNvbmQgb25lLlxuICovXG5leHBvcnQgY29uc3QgTElCUkFSWV9TVFlMRVNfRUxFTUVOVF9JRCA9IGAke09CU0lESUFOX0xJQlJBUllfTkFNRX0tc3R5bGVzYDtcblxuLyoqXG4gKiBUaGUgc2hhcmVkLXN0YXRlIGtleSB1bmRlciB3aGljaCBgb2JzaWRpYW4tbGliYCBjb3BpZXMgcmVjb3JkIHRoZSB2ZXJzaW9uIHRoYXQgaW5qZWN0ZWQgdGhlIHN0eWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IExBU1RfT0JTSURJQU5fTElCX1ZFUlNJT05fS0VZID0gJ2xhc3RPYnNpZGlhbkxpYlZlcnNpb24nO1xuXG4vKipcbiAqIFRoZSBzaGFyZWQtc3RhdGUga2V5IHVuZGVyIHdoaWNoIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcGllcyByZWNvcmQgdGhlIHZlcnNpb24gdGhhdCBpbmplY3RlZCB0aGUgc3R5bGVzLlxuICovXG5leHBvcnQgY29uc3QgTEVHQUNZX0xBU1RfTElCUkFSWV9WRVJTSU9OX0tFWSA9ICdsYXN0TGlicmFyeVZlcnNpb24nO1xuXG4vKipcbiAqIFRoZSB2YWx1ZSBgb2JzaWRpYW4tbGliYCB3cml0ZXMgdW5kZXIge0BsaW5rIExFR0FDWV9MQVNUX0xJQlJBUllfVkVSU0lPTl9LRVl9LiBJdCBpcyBhYm92ZSBldmVyeVxuICogYG9ic2lkaWFuLWRldi11dGlsc2AgdmVyc2lvbiwgc28gYW4gYG9ic2lkaWFuLWRldi11dGlsc2AgY29weSBsb2FkaW5nIGxhdGVyIGNvbXBhcmVzIGxvd2VyIGFuZCBsZWF2ZXMgdGhlIHN0eWxlc1xuICogYWxvbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBMRUdBQ1lfTEFTVF9MSUJSQVJZX1ZFUlNJT05fU0VOVElORUwgPSAnOTk5OTk5OTk5LjAuMCc7XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgaW5qZWN0TGlicmFyeVN0eWxlc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5qZWN0TGlicmFyeVN0eWxlc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnQgd2hvc2UgYDxoZWFkPmAgcmVjZWl2ZXMgdGhlIGA8c3R5bGU+YCBlbGVtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jOiBEb2N1bWVudDtcblxuICAvKipcbiAgICogVGhlIENTUyB0byBpbmplY3QuXG4gICAqL1xuICByZWFkb25seSBsaWJyYXJ5U3R5bGVzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoaXMgYG9ic2lkaWFuLWxpYmAgY29weS5cbiAgICovXG4gIHJlYWRvbmx5IGxpYnJhcnlWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW5qZWN0cyB0aGUgbGlicmFyeSBzdHlsZXMsIHVubGVzcyBhbiBgb2JzaWRpYW4tbGliYCBjb3B5IG9mIHRoZSBzYW1lIG9yIGEgbmV3ZXIgdmVyc2lvbiBhbHJlYWR5IGRpZC5cbiAqXG4gKiBBIHN0eWxlIGVsZW1lbnQgbGVmdCBieSBhbiBgb2JzaWRpYW4tZGV2LXV0aWxzYCBjb3B5IGlzIGFsd2F5cyByZXBsYWNlZCwgd2hhdGV2ZXIgaXRzIHZlcnNpb24uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgSW5qZWN0TGlicmFyeVN0eWxlc1BhcmFtc30uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RMaWJyYXJ5U3R5bGVzKHBhcmFtczogSW5qZWN0TGlicmFyeVN0eWxlc1BhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGRvYywgbGlicmFyeVN0eWxlcywgbGlicmFyeVZlcnNpb24gfSA9IHBhcmFtcztcblxuICAvLyBTZXQgYmVmb3JlIHRoZSBlYXJseSByZXR1cm4sIHNvIGFuIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcHkgbG9hZGluZyBhZnRlciBhbnkgYG9ic2lkaWFuLWxpYmAgY29weSBzdGF5cyBvdXQuXG4gIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZShMRUdBQ1lfTEFTVF9MSUJSQVJZX1ZFUlNJT05fS0VZLCAnMC4wLjAnKS52YWx1ZSA9IExFR0FDWV9MQVNUX0xJQlJBUllfVkVSU0lPTl9TRU5USU5FTDtcblxuICBjb25zdCBsYXN0VmVyc2lvbldyYXBwZXIgPSBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGU8bnVsbCB8IHN0cmluZz4oTEFTVF9PQlNJRElBTl9MSUJfVkVSU0lPTl9LRVksIG51bGwpO1xuICBpZiAobGFzdFZlcnNpb25XcmFwcGVyLnZhbHVlICE9PSBudWxsICYmIGNvbXBhcmVWZXJzaW9ucyhsaWJyYXJ5VmVyc2lvbiwgbGFzdFZlcnNpb25XcmFwcGVyLnZhbHVlKSA8PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGFzdFZlcnNpb25XcmFwcGVyLnZhbHVlID0gbGlicmFyeVZlcnNpb247XG5cbiAgZG9jLmhlYWQucXVlcnlTZWxlY3RvcihgIyR7TElCUkFSWV9TVFlMRVNfRUxFTUVOVF9JRH1gKT8ucmVtb3ZlKCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWZvcmJpZGRlbi1lbGVtZW50cyAtLSBXZSBuZWVkIHRvIGNyZWF0ZSBhIHN0eWxlIGVsZW1lbnQgdG8gYXBwbHkgdGhlIGxpYnJhcnkgc3R5bGVzLlxuICBkb2MuaGVhZC5jcmVhdGVFbCgnc3R5bGUnLCB7XG4gICAgYXR0cjoge1xuICAgICAgaWQ6IExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSURcbiAgICB9LFxuICAgIHRleHQ6IGxpYnJhcnlTdHlsZXNcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLDhCQUFnQztBQUVoQyxxQkFBc0M7QUFDdEMsc0NBQXlDO0FBTWxDLE1BQU0sNEJBQTRCLEdBQUcsb0NBQXFCO0FBSzFELE1BQU0sZ0NBQWdDO0FBS3RDLE1BQU0sa0NBQWtDO0FBT3hDLE1BQU0sdUNBQXVDO0FBNkI3QyxTQUFTLG9CQUFvQixRQUF5QztBQUMzRSxRQUFNLEVBQUUsS0FBSyxlQUFlLGVBQWUsSUFBSTtBQUcvQyxnRUFBeUIsaUNBQWlDLE9BQU8sRUFBRSxRQUFRO0FBRTNFLFFBQU0seUJBQXFCLDBEQUF3QywrQkFBK0IsSUFBSTtBQUN0RyxNQUFJLG1CQUFtQixVQUFVLFlBQVEseUNBQWdCLGdCQUFnQixtQkFBbUIsS0FBSyxLQUFLLEdBQUc7QUFDdkc7QUFBQSxFQUNGO0FBRUEscUJBQW1CLFFBQVE7QUFFM0IsTUFBSSxLQUFLLGNBQWMsSUFBSSx5QkFBeUIsRUFBRSxHQUFHLE9BQU87QUFFaEUsTUFBSSxLQUFLLFNBQVMsU0FBUztBQUFBLElBQ3pCLE1BQU07QUFBQSxNQUNKLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDQSxNQUFNO0FBQUEsRUFDUixDQUFDO0FBQ0g7IiwibmFtZXMiOltdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJyYXJ5LXN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogSW5qZWN0cyB0aGUgbGlicmFyeSdzIHN0eWxlc2hlZXQgb25jZSBwZXIgcmVuZGVyZXIsIGxldHRpbmcgdGhlIG5ld2VzdCBsb2FkZWQgY29weSB3aW4uXG4gKlxuICogRXZlcnkgcGx1Z2luIGJ1bmRsZXMgaXRzIG93biBjb3B5LCBzbyBzZXZlcmFsIGNvcGllcyBjYW4gc2hhcmUgb25lIHJlbmRlcmVyLCBhbmQgb25seSBvbmUgb2YgdGhlbSBzaG91bGQgb3duIHRoZVxuICogYDxzdHlsZT5gIGVsZW1lbnQuIENvcGllcyBvZiB0aGUgcmV0aXJlZCBgb2JzaWRpYW4tZGV2LXV0aWxzYCBwYWNrYWdlIGRlY2lkZSB0aGF0IGJ5IGNvbXBhcmluZyB0aGVpciBvd24gdmVyc2lvblxuICogYWdhaW5zdCBgX19vYnNpZGlhbkRldlV0aWxzLmxhc3RMaWJyYXJ5VmVyc2lvbmAuIGBvYnNpZGlhbi1saWJgIHJlc3RhcnRlZCBpdHMgdmVyc2lvbiBsaW5lLCBzbyBpdCBjYW5ub3QgdGFrZSBwYXJ0IGluXG4gKiB0aGF0IGNvbXBhcmlzb246IGEgYDEueGAgY29weSB3b3VsZCBsb3NlIHRvIGV2ZXJ5IGAxMDcueGAgY29weSBmb3IgZXZlci4gSXQgdGhlcmVmb3JlIGtlZXBzIGl0cyBvd24gcmVjb3JkIHVuZGVyIGFcbiAqIHNlcGFyYXRlIGtleSwgYW5kIHRyZWF0cyBhbnkgYG9ic2lkaWFuLWRldi11dGlsc2AgY29weSBhcyBvbGRlciB0aGFuIGl0c2VsZi5cbiAqL1xuXG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcblxuaW1wb3J0IHsgTEVHQUNZX09CU0lESUFOX0xJQlJBUllfTkFNRSB9IGZyb20gJy4vbGlicmFyeS50cyc7XG5pbXBvcnQgeyBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWRldi11dGlscy1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGlkIG9mIHRoZSBgPHN0eWxlPmAgZWxlbWVudCBob2xkaW5nIHRoZSBsaWJyYXJ5IHN0eWxlcy4gSXQgaXMgdGhlIGlkIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcGllcyB1c2UgdG9vLCBzb1xuICogd2hpY2hldmVyIGNvcHkgaW5qZWN0cyBsYXN0IHJlcGxhY2VzIHRoZSBlbGVtZW50IGluc3RlYWQgb2YgYWRkaW5nIGEgc2Vjb25kIG9uZS5cbiAqL1xuZXhwb3J0IGNvbnN0IExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSUQgPSBgJHtMRUdBQ1lfT0JTSURJQU5fTElCUkFSWV9OQU1FfS1zdHlsZXNgO1xuXG4vKipcbiAqIFRoZSBzaGFyZWQtc3RhdGUga2V5IHVuZGVyIHdoaWNoIGBvYnNpZGlhbi1saWJgIGNvcGllcyByZWNvcmQgdGhlIHZlcnNpb24gdGhhdCBpbmplY3RlZCB0aGUgc3R5bGVzLlxuICovXG5leHBvcnQgY29uc3QgTEFTVF9PQlNJRElBTl9MSUJfVkVSU0lPTl9LRVkgPSAnbGFzdE9ic2lkaWFuTGliVmVyc2lvbic7XG5cbi8qKlxuICogVGhlIHNoYXJlZC1zdGF0ZSBrZXkgdW5kZXIgd2hpY2ggYG9ic2lkaWFuLWRldi11dGlsc2AgY29waWVzIHJlY29yZCB0aGUgdmVyc2lvbiB0aGF0IGluamVjdGVkIHRoZSBzdHlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBMRUdBQ1lfTEFTVF9MSUJSQVJZX1ZFUlNJT05fS0VZID0gJ2xhc3RMaWJyYXJ5VmVyc2lvbic7XG5cbi8qKlxuICogVGhlIHZhbHVlIGBvYnNpZGlhbi1saWJgIHdyaXRlcyB1bmRlciB7QGxpbmsgTEVHQUNZX0xBU1RfTElCUkFSWV9WRVJTSU9OX0tFWX0uIEl0IGlzIGFib3ZlIGV2ZXJ5XG4gKiBgb2JzaWRpYW4tZGV2LXV0aWxzYCB2ZXJzaW9uLCBzbyBhbiBgb2JzaWRpYW4tZGV2LXV0aWxzYCBjb3B5IGxvYWRpbmcgbGF0ZXIgY29tcGFyZXMgbG93ZXIgYW5kIGxlYXZlcyB0aGUgc3R5bGVzXG4gKiBhbG9uZS5cbiAqL1xuZXhwb3J0IGNvbnN0IExFR0FDWV9MQVNUX0xJQlJBUllfVkVSU0lPTl9TRU5USU5FTCA9ICc5OTk5OTk5OTkuMC4wJztcblxuLyoqXG4gKiBQYXJhbXMgZm9yIHtAbGluayBpbmplY3RMaWJyYXJ5U3R5bGVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmplY3RMaWJyYXJ5U3R5bGVzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudCB3aG9zZSBgPGhlYWQ+YCByZWNlaXZlcyB0aGUgYDxzdHlsZT5gIGVsZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBkb2M6IERvY3VtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgQ1NTIHRvIGluamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGxpYnJhcnlTdHlsZXM6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhpcyBgb2JzaWRpYW4tbGliYCBjb3B5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGlicmFyeVZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbmplY3RzIHRoZSBsaWJyYXJ5IHN0eWxlcywgdW5sZXNzIGFuIGBvYnNpZGlhbi1saWJgIGNvcHkgb2YgdGhlIHNhbWUgb3IgYSBuZXdlciB2ZXJzaW9uIGFscmVhZHkgZGlkLlxuICpcbiAqIEEgc3R5bGUgZWxlbWVudCBsZWZ0IGJ5IGFuIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcHkgaXMgYWx3YXlzIHJlcGxhY2VkLCB3aGF0ZXZlciBpdHMgdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBJbmplY3RMaWJyYXJ5U3R5bGVzUGFyYW1zfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdExpYnJhcnlTdHlsZXMocGFyYW1zOiBJbmplY3RMaWJyYXJ5U3R5bGVzUGFyYW1zKTogdm9pZCB7XG4gIGNvbnN0IHsgZG9jLCBsaWJyYXJ5U3R5bGVzLCBsaWJyYXJ5VmVyc2lvbiB9ID0gcGFyYW1zO1xuXG4gIC8vIFNldCBiZWZvcmUgdGhlIGVhcmx5IHJldHVybiwgc28gYW4gYG9ic2lkaWFuLWRldi11dGlsc2AgY29weSBsb2FkaW5nIGFmdGVyIGFueSBgb2JzaWRpYW4tbGliYCBjb3B5IHN0YXlzIG91dC5cbiAgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKExFR0FDWV9MQVNUX0xJQlJBUllfVkVSU0lPTl9LRVksICcwLjAuMCcpLnZhbHVlID0gTEVHQUNZX0xBU1RfTElCUkFSWV9WRVJTSU9OX1NFTlRJTkVMO1xuXG4gIGNvbnN0IGxhc3RWZXJzaW9uV3JhcHBlciA9IGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZTxudWxsIHwgc3RyaW5nPihMQVNUX09CU0lESUFOX0xJQl9WRVJTSU9OX0tFWSwgbnVsbCk7XG4gIGlmIChsYXN0VmVyc2lvbldyYXBwZXIudmFsdWUgIT09IG51bGwgJiYgY29tcGFyZVZlcnNpb25zKGxpYnJhcnlWZXJzaW9uLCBsYXN0VmVyc2lvbldyYXBwZXIudmFsdWUpIDw9IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBsYXN0VmVyc2lvbldyYXBwZXIudmFsdWUgPSBsaWJyYXJ5VmVyc2lvbjtcblxuICBkb2MuaGVhZC5xdWVyeVNlbGVjdG9yKGAjJHtMSUJSQVJZX1NUWUxFU19FTEVNRU5UX0lEfWApPy5yZW1vdmUoKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZm9yYmlkZGVuLWVsZW1lbnRzIC0tIFdlIG5lZWQgdG8gY3JlYXRlIGEgc3R5bGUgZWxlbWVudCB0byBhcHBseSB0aGUgbGlicmFyeSBzdHlsZXMuXG4gIGRvYy5oZWFkLmNyZWF0ZUVsKCdzdHlsZScsIHtcbiAgICBhdHRyOiB7XG4gICAgICBpZDogTElCUkFSWV9TVFlMRVNfRUxFTUVOVF9JRFxuICAgIH0sXG4gICAgdGV4dDogbGlicmFyeVN0eWxlc1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsOEJBQWdDO0FBRWhDLHFCQUE2QztBQUM3QyxzQ0FBeUM7QUFNbEMsTUFBTSw0QkFBNEIsR0FBRywyQ0FBNEI7QUFLakUsTUFBTSxnQ0FBZ0M7QUFLdEMsTUFBTSxrQ0FBa0M7QUFPeEMsTUFBTSx1Q0FBdUM7QUE2QjdDLFNBQVMsb0JBQW9CLFFBQXlDO0FBQzNFLFFBQU0sRUFBRSxLQUFLLGVBQWUsZUFBZSxJQUFJO0FBRy9DLGdFQUF5QixpQ0FBaUMsT0FBTyxFQUFFLFFBQVE7QUFFM0UsUUFBTSx5QkFBcUIsMERBQXdDLCtCQUErQixJQUFJO0FBQ3RHLE1BQUksbUJBQW1CLFVBQVUsWUFBUSx5Q0FBZ0IsZ0JBQWdCLG1CQUFtQixLQUFLLEtBQUssR0FBRztBQUN2RztBQUFBLEVBQ0Y7QUFFQSxxQkFBbUIsUUFBUTtBQUUzQixNQUFJLEtBQUssY0FBYyxJQUFJLHlCQUF5QixFQUFFLEdBQUcsT0FBTztBQUVoRSxNQUFJLEtBQUssU0FBUyxTQUFTO0FBQUEsSUFDekIsTUFBTTtBQUFBLE1BQ0osSUFBSTtBQUFBLElBQ047QUFBQSxJQUNBLE1BQU07QUFBQSxFQUNSLENBQUM7QUFDSDsiLCJuYW1lcyI6W119
@@ -87,11 +87,13 @@ var __copyProps = (to, from, except, desc) => {
87
87
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
88
88
  var library_exports = {};
89
89
  __export(library_exports, {
90
+ LEGACY_OBSIDIAN_LIBRARY_NAME: () => LEGACY_OBSIDIAN_LIBRARY_NAME,
90
91
  OBSIDIAN_LIBRARY_NAME: () => OBSIDIAN_LIBRARY_NAME,
91
92
  ObsidianLibrary: () => ObsidianLibrary
92
93
  });
93
94
  module.exports = __toCommonJS(library_exports);
94
- const OBSIDIAN_LIBRARY_NAME = "obsidian-dev-utils";
95
+ const OBSIDIAN_LIBRARY_NAME = "obsidian-lib";
96
+ const LEGACY_OBSIDIAN_LIBRARY_NAME = "obsidian-dev-utils";
95
97
  const DEFAULT_PARAMS = {
96
98
  cssClassScope: ""
97
99
  };
@@ -130,7 +132,8 @@ class ObsidianLibraryContext {
130
132
  const ObsidianLibrary = new ObsidianLibraryContext();
131
133
  // Annotate the CommonJS export names for ESM import in node:
132
134
  0 && (module.exports = {
135
+ LEGACY_OBSIDIAN_LIBRARY_NAME,
133
136
  OBSIDIAN_LIBRARY_NAME,
134
137
  ObsidianLibrary
135
138
  });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJyYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBsaWJyYXJ5LlxuICpcbiAqIFRoZSB1c2VyLXZpc2libGUgbmFtZXMg4oCUIHRoZSBkZWJ1ZyBuYW1lc3BhY2UsIHRoZSBDU1MgY2xhc3MgYW5kIHRoZSBzdHlsZXNoZWV0IGlkIOKAlCBzdGF5IGBvYnNpZGlhbi1kZXYtdXRpbHNgLFxuICogdGhlIG5hbWUgdGhpcyBsaWJyYXJ5IHdhcyBwdWJsaXNoZWQgdW5kZXIgYmVmb3JlIGl0IHNwbGl0IGludG8gcGFja2FnZXMsIHNvIHBsdWdpbnMsIHRoZWlyIHVzZXJzJyBkZWJ1Z1xuICogZmlsdGVycyBhbmQgdGhlaXIgc3R5bGVzaGVldHMga2VlcCBtYXRjaGluZy5cbiAqL1xuXG4vKipcbiAqIFRoZSB1c2VyLXZpc2libGUgbmFtZSBvZiB0aGUgbGlicmFyeTogaXRzIGRlYnVnIG5hbWVzcGFjZSwgQ1NTIGNsYXNzIGFuZCBzdHlsZXNoZWV0IGlkLlxuICovXG5leHBvcnQgY29uc3QgT0JTSURJQU5fTElCUkFSWV9OQU1FID0gJ29ic2lkaWFuLWRldi11dGlscyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIE9ic2lkaWFuTGlicmFyeS5pbml0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhbkxpYnJhcnlJbml0UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwZXItcGx1Z2luIENTUyBjbGFzcyBzY29wZSBhcHBsaWVkIGFsb25nc2lkZSB0aGUgbGlicmFyeSBjbGFzcyBieSBgYWRkUGx1Z2luQ3NzQ2xhc3Nlc2AuXG4gICAqL1xuICByZWFkb25seSBjc3NDbGFzc1Njb3BlOiBzdHJpbmc7XG59XG5cbmNvbnN0IERFRkFVTFRfUEFSQU1TOiBPYnNpZGlhbkxpYnJhcnlJbml0UGFyYW1zID0ge1xuICBjc3NDbGFzc1Njb3BlOiAnJ1xufTtcblxuLyoqXG4gKiBUaGUgT2JzaWRpYW4gaGFsZiBvZiB0aGUgbGlicmFyeSdzIGluaXRpYWxpemF0aW9uIHN0YXRlLiBgaW5pdFBsdWdpbkNvbnRleHRgIGluaXRpYWxpemVzIGl0IGJlc2lkZSB0aGVcbiAqIGdlbmVyaWMgYExpYnJhcnlgIGZyb20gYEBtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9saWJyYXJ5YC5cbiAqL1xuY2xhc3MgT2JzaWRpYW5MaWJyYXJ5Q29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgcGVyLXBsdWdpbiBDU1MgY2xhc3Mgc2NvcGUgYXBwbGllZCBhbG9uZ3NpZGUgdGhlIGxpYnJhcnkgY2xhc3MgYnkgYGFkZFBsdWdpbkNzc0NsYXNzZXNgLlxuICAgKiBFbXB0eSB1bnRpbCB7QGxpbmsgaW5pdH0gaXMgY2FsbGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgQ1NTIGNsYXNzIHNjb3BlLlxuICAgKi9cbiAgcHVibGljIGdldCBjc3NDbGFzc1Njb3BlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmNzc0NsYXNzU2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHBhcmFtczogT2JzaWRpYW5MaWJyYXJ5SW5pdFBhcmFtcyA9IHsgLi4uREVGQVVMVF9QQVJBTVMgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGNvbnRleHQuIE11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZTsgY2FsbGluZyBpdCBhZ2FpbiBiZWZvcmUge0BsaW5rIHJlc2V0VG9EZWZhdWx0fSB0aHJvd3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgY29uZmlndXJhdGlvbiB0byBpbmplY3QuXG4gICAqL1xuICBwdWJsaWMgaW5pdChwYXJhbXM6IE9ic2lkaWFuTGlicmFyeUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7T0JTSURJQU5fTElCUkFSWV9OQU1FfSBpcyBhbHJlYWR5IGluaXRpYWxpemVkLiBDYWxsIE9ic2lkaWFuTGlicmFyeS5yZXNldFRvRGVmYXVsdCgpIGJlZm9yZSBpbml0aWFsaXppbmcgYWdhaW4uYCk7XG4gICAgfVxuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5wYXJhbXMgPSB7IC4uLnBhcmFtcyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgY29udGV4dCBiYWNrIHRvIGl0cyBkZWZhdWx0ICh1bmluaXRpYWxpemVkKSBzdGF0ZSwgYWxsb3dpbmcge0BsaW5rIGluaXR9IHRvIGJlIGNhbGxlZCBhZ2Fpbi5cbiAgICovXG4gIHB1YmxpYyByZXNldFRvRGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBhcmFtcyA9IHsgLi4uREVGQVVMVF9QQVJBTVMgfTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBzaW5nbGUge0BsaW5rIE9ic2lkaWFuTGlicmFyeUNvbnRleHR9IGluc3RhbmNlLlxuICovXG5leHBvcnQgY29uc3QgT2JzaWRpYW5MaWJyYXJ5ID0gbmV3IE9ic2lkaWFuTGlicmFyeUNvbnRleHQoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYU8sTUFBTSx3QkFBd0I7QUFZckMsTUFBTSxpQkFBNEM7QUFBQSxFQUNoRCxlQUFlO0FBQ2pCO0FBTUEsTUFBTSx1QkFBdUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU8zQixJQUFXLGdCQUF3QjtBQUNqQyxXQUFPLEtBQUssT0FBTztBQUFBLEVBQ3JCO0FBQUEsRUFFUSxnQkFBZ0I7QUFBQSxFQUVoQixTQUFvQyxFQUFFLEdBQUcsZUFBZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU96RCxLQUFLLFFBQXlDO0FBQ25ELFFBQUksS0FBSyxlQUFlO0FBQ3RCLFlBQU0sSUFBSSxNQUFNLEdBQUcscUJBQXFCLDJGQUEyRjtBQUFBLElBQ3JJO0FBQ0EsU0FBSyxnQkFBZ0I7QUFDckIsU0FBSyxTQUFTLEVBQUUsR0FBRyxPQUFPO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLGlCQUF1QjtBQUM1QixTQUFLLGdCQUFnQjtBQUNyQixTQUFLLFNBQVMsRUFBRSxHQUFHLGVBQWU7QUFBQSxFQUNwQztBQUNGO0FBS08sTUFBTSxrQkFBa0IsSUFBSSx1QkFBdUI7IiwibmFtZXMiOltdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJyYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBsaWJyYXJ5LlxuICpcbiAqIFRoZSB1c2VyLXZpc2libGUgbmFtZSBpcyBgb2JzaWRpYW4tbGliYDogdGhlIGRlYnVnIG5hbWVzcGFjZSBvZiB0aGlzIGxpYnJhcnkncyBvd24gbW9kdWxlcyBhbmQgaXRzIENTUyBjbGFzcy4gVGhlXG4gKiBsZWdhY3kgbmFtZSwgYG9ic2lkaWFuLWRldi11dGlsc2AsIGlzIHRoZSBvbmUgdGhpcyBsaWJyYXJ5IHdhcyBwdWJsaXNoZWQgdW5kZXIgYmVmb3JlIGl0IHNwbGl0IGludG8gcGFja2FnZXMsIGFuZFxuICogaXQgaXMga2VwdCBiZXNpZGUgdGhlIG5ldyBvbmUgZm9yIGdvb2QsIHNvIHBsdWdpbnMsIHRoZWlyIHVzZXJzJyBkZWJ1ZyBmaWx0ZXJzIGFuZCB0aGVpciBzdHlsZXNoZWV0cyBrZWVwIG1hdGNoaW5nOlxuICogZXZlcnkgZWxlbWVudCBjYXJyaWVzIGJvdGggY2xhc3NlcywgYW5kIGEgZGVidWcgZmlsdGVyIG9uIGVpdGhlciBuYW1lc3BhY2Ugc2hvd3MgdGhlIG1lc3NhZ2VzLiBUaGUgc3R5bGVzaGVldCBpZFxuICogYW5kIHRoZSBuYW1lc3BhY2Ugb2YgdGhlIGdlbmVyaWMgYEBtbmFvdW1vdi90eXBlc2NyaXB0LWxpYmAgbW9kdWxlcyBzdGF5IGxlZ2FjeSBvbmx5LlxuICovXG5cbi8qKlxuICogVGhlIHVzZXItdmlzaWJsZSBuYW1lIG9mIHRoZSBsaWJyYXJ5OiB0aGUgZGVidWcgbmFtZXNwYWNlIG9mIGl0cyBvd24gbW9kdWxlcywgYW5kIGl0cyBDU1MgY2xhc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBPQlNJRElBTl9MSUJSQVJZX05BTUUgPSAnb2JzaWRpYW4tbGliJztcblxuLyoqXG4gKiBUaGUgbGVnYWN5IHVzZXItdmlzaWJsZSBuYW1lIG9mIHRoZSBsaWJyYXJ5LCBrZXB0IGJlc2lkZSB7QGxpbmsgT0JTSURJQU5fTElCUkFSWV9OQU1FfSBmb3IgZ29vZDogYSBkZWJ1ZyBuYW1lc3BhY2VcbiAqIGFuZCBhIENTUyBjbGFzcyB0aGF0IG9sZGVyIGNvcGllcyBhbmQgZXhpc3RpbmcgZmlsdGVycyBhbmQgc3R5bGVzaGVldHMgdXNlLCBhbmQgdGhlIHN0eWxlc2hlZXQgaWQuXG4gKi9cbmV4cG9ydCBjb25zdCBMRUdBQ1lfT0JTSURJQU5fTElCUkFSWV9OQU1FID0gJ29ic2lkaWFuLWRldi11dGlscyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIE9ic2lkaWFuTGlicmFyeS5pbml0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhbkxpYnJhcnlJbml0UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwZXItcGx1Z2luIENTUyBjbGFzcyBzY29wZSBhcHBsaWVkIGFsb25nc2lkZSB0aGUgbGlicmFyeSBjbGFzcyBieSBgYWRkUGx1Z2luQ3NzQ2xhc3Nlc2AuXG4gICAqL1xuICByZWFkb25seSBjc3NDbGFzc1Njb3BlOiBzdHJpbmc7XG59XG5cbmNvbnN0IERFRkFVTFRfUEFSQU1TOiBPYnNpZGlhbkxpYnJhcnlJbml0UGFyYW1zID0ge1xuICBjc3NDbGFzc1Njb3BlOiAnJ1xufTtcblxuLyoqXG4gKiBUaGUgT2JzaWRpYW4gaGFsZiBvZiB0aGUgbGlicmFyeSdzIGluaXRpYWxpemF0aW9uIHN0YXRlLiBgaW5pdFBsdWdpbkNvbnRleHRgIGluaXRpYWxpemVzIGl0IGJlc2lkZSB0aGVcbiAqIGdlbmVyaWMgYExpYnJhcnlgIGZyb20gYEBtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9saWJyYXJ5YC5cbiAqL1xuY2xhc3MgT2JzaWRpYW5MaWJyYXJ5Q29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgcGVyLXBsdWdpbiBDU1MgY2xhc3Mgc2NvcGUgYXBwbGllZCBhbG9uZ3NpZGUgdGhlIGxpYnJhcnkgY2xhc3MgYnkgYGFkZFBsdWdpbkNzc0NsYXNzZXNgLlxuICAgKiBFbXB0eSB1bnRpbCB7QGxpbmsgaW5pdH0gaXMgY2FsbGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgQ1NTIGNsYXNzIHNjb3BlLlxuICAgKi9cbiAgcHVibGljIGdldCBjc3NDbGFzc1Njb3BlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmNzc0NsYXNzU2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHBhcmFtczogT2JzaWRpYW5MaWJyYXJ5SW5pdFBhcmFtcyA9IHsgLi4uREVGQVVMVF9QQVJBTVMgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGNvbnRleHQuIE11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZTsgY2FsbGluZyBpdCBhZ2FpbiBiZWZvcmUge0BsaW5rIHJlc2V0VG9EZWZhdWx0fSB0aHJvd3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgY29uZmlndXJhdGlvbiB0byBpbmplY3QuXG4gICAqL1xuICBwdWJsaWMgaW5pdChwYXJhbXM6IE9ic2lkaWFuTGlicmFyeUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7T0JTSURJQU5fTElCUkFSWV9OQU1FfSBpcyBhbHJlYWR5IGluaXRpYWxpemVkLiBDYWxsIE9ic2lkaWFuTGlicmFyeS5yZXNldFRvRGVmYXVsdCgpIGJlZm9yZSBpbml0aWFsaXppbmcgYWdhaW4uYCk7XG4gICAgfVxuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5wYXJhbXMgPSB7IC4uLnBhcmFtcyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgY29udGV4dCBiYWNrIHRvIGl0cyBkZWZhdWx0ICh1bmluaXRpYWxpemVkKSBzdGF0ZSwgYWxsb3dpbmcge0BsaW5rIGluaXR9IHRvIGJlIGNhbGxlZCBhZ2Fpbi5cbiAgICovXG4gIHB1YmxpYyByZXNldFRvRGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBhcmFtcyA9IHsgLi4uREVGQVVMVF9QQVJBTVMgfTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBzaW5nbGUge0BsaW5rIE9ic2lkaWFuTGlicmFyeUNvbnRleHR9IGluc3RhbmNlLlxuICovXG5leHBvcnQgY29uc3QgT2JzaWRpYW5MaWJyYXJ5ID0gbmV3IE9ic2lkaWFuTGlicmFyeUNvbnRleHQoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlTyxNQUFNLHdCQUF3QjtBQU05QixNQUFNLCtCQUErQjtBQVk1QyxNQUFNLGlCQUE0QztBQUFBLEVBQ2hELGVBQWU7QUFDakI7QUFNQSxNQUFNLHVCQUF1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzNCLElBQVcsZ0JBQXdCO0FBQ2pDLFdBQU8sS0FBSyxPQUFPO0FBQUEsRUFDckI7QUFBQSxFQUVRLGdCQUFnQjtBQUFBLEVBRWhCLFNBQW9DLEVBQUUsR0FBRyxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3pELEtBQUssUUFBeUM7QUFDbkQsUUFBSSxLQUFLLGVBQWU7QUFDdEIsWUFBTSxJQUFJLE1BQU0sR0FBRyxxQkFBcUIsMkZBQTJGO0FBQUEsSUFDckk7QUFDQSxTQUFLLGdCQUFnQjtBQUNyQixTQUFLLFNBQVMsRUFBRSxHQUFHLE9BQU87QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08saUJBQXVCO0FBQzVCLFNBQUssZ0JBQWdCO0FBQ3JCLFNBQUssU0FBUyxFQUFFLEdBQUcsZUFBZTtBQUFBLEVBQ3BDO0FBQ0Y7QUFLTyxNQUFNLGtCQUFrQixJQUFJLHVCQUF1QjsiLCJuYW1lcyI6W119
@@ -8,14 +8,21 @@
8
8
  *
9
9
  * Helpers for working with the `@mnaoumov/obsidian-lib` library.
10
10
  *
11
- * The user-visible names — the debug namespace, the CSS class and the stylesheet id — stay `obsidian-dev-utils`,
12
- * the name this library was published under before it split into packages, so plugins, their users' debug
13
- * filters and their stylesheets keep matching.
11
+ * The user-visible name is `obsidian-lib`: the debug namespace of this library's own modules and its CSS class. The
12
+ * legacy name, `obsidian-dev-utils`, is the one this library was published under before it split into packages, and
13
+ * it is kept beside the new one for good, so plugins, their users' debug filters and their stylesheets keep matching:
14
+ * every element carries both classes, and a debug filter on either namespace shows the messages. The stylesheet id
15
+ * and the namespace of the generic `@mnaoumov/typescript-lib` modules stay legacy only.
14
16
  */
15
17
  /**
16
- * The user-visible name of the library: its debug namespace, CSS class and stylesheet id.
18
+ * The user-visible name of the library: the debug namespace of its own modules, and its CSS class.
17
19
  */
18
- export declare const OBSIDIAN_LIBRARY_NAME = "obsidian-dev-utils";
20
+ export declare const OBSIDIAN_LIBRARY_NAME = "obsidian-lib";
21
+ /**
22
+ * The legacy user-visible name of the library, kept beside {@link OBSIDIAN_LIBRARY_NAME} for good: a debug namespace
23
+ * and a CSS class that older copies and existing filters and stylesheets use, and the stylesheet id.
24
+ */
25
+ export declare const LEGACY_OBSIDIAN_LIBRARY_NAME = "obsidian-dev-utils";
19
26
  /**
20
27
  * Parameters for {@link ObsidianLibrary.init}.
21
28
  */
@@ -114,6 +114,7 @@ var __copyProps = (to, from, except, desc) => {
114
114
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
115
115
  var obsidian_dev_utils_state_exports = {};
116
116
  __export(obsidian_dev_utils_state_exports, {
117
+ OBSIDIAN_LIB_GLOBAL_NAME: () => OBSIDIAN_LIB_GLOBAL_NAME,
117
118
  getObsidianDevUtilsState: () => getObsidianDevUtilsState,
118
119
  resetObsidianDevUtilsState: () => resetObsidianDevUtilsState,
119
120
  shareTypescriptLibStateWithObsidianDevUtilsState: () => shareTypescriptLibStateWithObsidianDevUtilsState
@@ -121,6 +122,7 @@ __export(obsidian_dev_utils_state_exports, {
121
122
  module.exports = __toCommonJS(obsidian_dev_utils_state_exports);
122
123
  var import_typescript_lib_state = require('@mnaoumov/typescript-lib/typescript-lib-state');
123
124
  var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
125
+ const OBSIDIAN_LIB_GLOBAL_NAME = "__obsidianLib";
124
126
  const SHARED_WITH_TYPESCRIPT_LIB_STATE_KEYS = ["debug", "debuggers", "sharedAbortController"];
125
127
  function getObsidianDevUtilsState(key, defaultValue) {
126
128
  return getObsidianDevUtilsBag()[key] ??= import_value_wrapper.ValueWrapper.of(defaultValue);
@@ -146,12 +148,30 @@ function shareTypescriptLibStateWithObsidianDevUtilsState() {
146
148
  function getObsidianDevUtilsBag() {
147
149
  const wrapper = globalThis;
148
150
  wrapper.__obsidianDevUtils ??= {};
151
+ installObsidianLibAlias();
149
152
  return wrapper.__obsidianDevUtils;
150
153
  }
154
+ function installObsidianLibAlias() {
155
+ const realmGlobal = globalThis;
156
+ if (Object.hasOwn(realmGlobal, OBSIDIAN_LIB_GLOBAL_NAME)) {
157
+ return;
158
+ }
159
+ Object.defineProperty(realmGlobal, OBSIDIAN_LIB_GLOBAL_NAME, {
160
+ configurable: true,
161
+ enumerable: false,
162
+ get() {
163
+ return realmGlobal.__obsidianDevUtils;
164
+ },
165
+ set(value) {
166
+ realmGlobal.__obsidianDevUtils = value;
167
+ }
168
+ });
169
+ }
151
170
  // Annotate the CommonJS export names for ESM import in node:
152
171
  0 && (module.exports = {
172
+ OBSIDIAN_LIB_GLOBAL_NAME,
153
173
  getObsidianDevUtilsState,
154
174
  resetObsidianDevUtilsState,
155
175
  shareTypescriptLibStateWithObsidianDevUtilsState
156
176
  });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1kZXYtdXRpbHMtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIExFR0FDWTogcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvbiB0aGUgYF9fb2JzaWRpYW5EZXZVdGlsc2AgZ2xvYmFsLiBUaGUgbmFtZSBpc1xuICogdGhlIHJldGlyZWQgYG9ic2lkaWFuLWRldi11dGlsc2AgcGFja2FnZSdzOyBpdCBzdGF5cyBiZWNhdXNlIHBsdWdpbnMgYnVuZGxpbmcgYW4gb2xkZXIgY29weSByZWFkIGFuZCB3cml0ZSB0aGUgc2FtZVxuICogYmFnLCBzbyBpdCBpcyBhIHdpcmUgZm9ybWF0IHJhdGhlciB0aGFuIGEgbmFtZSB0byBjb3B5LiBOZXcgZ2VuZXJpYyBzdGF0ZSBiZWxvbmdzIGluXG4gKiBgQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGVzY3JpcHQtbGliLXN0YXRlYCAodGhlIGBTeW1ib2wuZm9yKCdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RhdGUnKWAgc2xvdCkuXG4gKlxuICogVGhlIGJhZyBpcyBzdG9yZWQgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkRldlV0aWxzYCwgaS5lLiBvbiB0aGUgZ2xvYmFsIG9iamVjdCBvZiB0aGUgcmVhbG0gaW5cbiAqIHdoaWNoIHRoaXMgbGlicmFyeSBpcyBsb2FkZWQuIEJlY2F1c2UgYSBmdW5jdGlvbidzIGBnbG9iYWxUaGlzYCByZXNvbHZlcyB0byBpdHMgZGVmaW5pbmdcbiAqIHJlYWxtIChub3QgdGhlIGNhbGxlcidzKSwgZXZlcnkgY29uc3VtZXIgdGhhdCBidW5kbGVzIHRoZSBsaWJyYXJ5IGluIHRoZSBtYWluIE9ic2lkaWFuIHJlbmRlcmVyXG4gKiBzaGFyZXMgdGhlIHNhbWUgYmFnLCByZWdhcmRsZXNzIG9mIHdoaWNoIHdpbmRvdyBpcyBjdXJyZW50bHkgYWN0aXZlLiBUaGlzIGludGVudGlvbmFsbHkgcmVwbGFjZXNcbiAqIHRoZSBwcmV2aW91cyBgQXBwYC1zY29wZWQgc3RvcmFnZSwgc28gY2FsbGVycyBubyBsb25nZXIgbmVlZCB0byBwYXNzIGFuIGBBcHBgIGluc3RhbmNlLlxuICpcbiAqIFRoZSBnZW5lcmljLCBub24tT2JzaWRpYW4gc3RhdGUgKHRoZSBkZWJ1Z2dlcnMsIHRoZSBgZGVidWdgIGluc3RhbmNlIGFuZCB0aGUgc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIpIGxpdmVzIGluXG4gKiBgdHlwZXNjcmlwdC1saWItc3RhdGUudHNgIGluc3RlYWQuIHtAbGluayBzaGFyZVR5cGVzY3JpcHRMaWJTdGF0ZVdpdGhPYnNpZGlhbkRldlV0aWxzU3RhdGV9IGxpbmtzIHRoZSB0d28sIHNvXG4gKiBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGNvcHkgb2YgdGhpcyBsaWJyYXJ5LCB3aGljaCBzdGlsbCBrZWVwIHRoYXQgc3RhdGUgaGVyZSwgc2hhcmUgaXQgd2l0aCBuZXdlciBvbmVzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5cbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGUnO1xuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuXG5pbnRlcmZhY2UgT2JzaWRpYW5EZXZVdGlsc1dyYXBwZXIge1xuICBfX29ic2lkaWFuRGV2VXRpbHM6IEdlbmVyaWNPYmplY3Q7XG59XG5cbi8qKlxuICogVGhlIGtleXMgd2hvc2Ugc3RhdGUgbW92ZWQgZnJvbSBgX19vYnNpZGlhbkRldlV0aWxzYCB0byB0aGUgZ2VuZXJpYyBzaGFyZWQgc3RhdGUsIGFuZCB3aGljaCBvbGRlciBjb3BpZXMgb2ZcbiAqIHRoaXMgbGlicmFyeSBzdGlsbCBrZWVwIHVuZGVyIGBfX29ic2lkaWFuRGV2VXRpbHNgLlxuICovXG5jb25zdCBTSEFSRURfV0lUSF9UWVBFU0NSSVBUX0xJQl9TVEFURV9LRVlTID0gWydkZWJ1ZycsICdkZWJ1Z2dlcnMnLCAnc2hhcmVkQWJvcnRDb250cm9sbGVyJ10gYXMgY29uc3Q7XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgYSBzaGFyZWQtc3RhdGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gZm9yIGEgZ2l2ZW4ga2V5IG9uIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5EZXZVdGlsc2AuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNoYXJlZCBzdGF0ZSB2YWx1ZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUgdW5kZXIuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QgeWV0LlxuICogQHJldHVybnMgVGhlIHtAbGluayBWYWx1ZVdyYXBwZXJ9IHRoYXQgc3RvcmVzIHRoZSBzaGFyZWQgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGU8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFZhbHVlV3JhcHBlcjxUPiB7XG4gIHJldHVybiAoZ2V0T2JzaWRpYW5EZXZVdGlsc0JhZygpW2tleV0gPz89IFZhbHVlV3JhcHBlci5vZihkZWZhdWx0VmFsdWUpKSBhcyBWYWx1ZVdyYXBwZXI8VD47XG59XG5cbi8qKlxuICogQ2xlYXJzIHRoZSBzaGFyZWQtc3RhdGUgYmFnIG9uIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5EZXZVdGlsc2AuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgKGRlYnVnZ2VycywgcXVldWVzLFxuICogcmVnaXN0ZXJlZCBoYW5kbGVycywgZXRjLikgZG9lcyBub3QgbGVhayBiZXR3ZWVuIHRlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUoKTogdm9pZCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWdsb2JhbC10aGlzIC0tIFRoZSBzaGFyZWQgc3RhdGUgaW50ZW50aW9uYWxseSBsaXZlcyBvbiB0aGUgcmVhbG0gZ2xvYmFsLlxuICAoZ2xvYmFsVGhpcyBhcyBQYXJ0aWFsPE9ic2lkaWFuRGV2VXRpbHNXcmFwcGVyPikuX19vYnNpZGlhbkRldlV0aWxzID0ge307XG59XG5cbi8qKlxuICogTWFrZXMgdGhlIGdlbmVyaWMgc2hhcmVkIHN0YXRlIGFuZCBgX19vYnNpZGlhbkRldlV0aWxzYCBob2xkIHRoZSBzYW1lIHtAbGluayBWYWx1ZVdyYXBwZXJ9IGZvciBlYWNoIGtleSB0aGF0XG4gKiBtb3ZlZCBiZXR3ZWVuIHRoZW0uXG4gKlxuICogQSB3cmFwcGVyIGFscmVhZHkgdW5kZXIgYF9fb2JzaWRpYW5EZXZVdGlsc2Agd2lucywgYmVjYXVzZSBhbiBvbGRlciBjb3B5IG9mIHRoaXMgbGlicmFyeSBsb2FkZWQgZmlyc3QgYW5kIGl0c1xuICogY2FsbGVycyBhbHJlYWR5IGhvbGQgdGhhdCBpbnN0YW5jZS4gT3RoZXJ3aXNlIHRoZSBnZW5lcmljIHdyYXBwZXIgaXMgcHVibGlzaGVkIHVuZGVyIGBfX29ic2lkaWFuRGV2VXRpbHNgLCBmb3JcbiAqIG9sZGVyIGNvcGllcyBsb2FkZWQgbGF0ZXIgYW5kIGZvciB0aGUgZGV2dG9vbHMgY29uc29sZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYXJlVHlwZXNjcmlwdExpYlN0YXRlV2l0aE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSgpOiB2b2lkIHtcbiAgY29uc3QgYmFnID0gZ2V0T2JzaWRpYW5EZXZVdGlsc0JhZygpO1xuICBjb25zdCB2YWx1ZXMgPSBnZXRUeXBlc2NyaXB0TGliU3RhdGVTbG90KCkudmFsdWVzO1xuICBmb3IgKGNvbnN0IGtleSBvZiBTSEFSRURfV0lUSF9UWVBFU0NSSVBUX0xJQl9TVEFURV9LRVlTKSB7XG4gICAgY29uc3QgbGVnYWN5V3JhcHBlciA9IGJhZ1trZXldIGFzIHVuZGVmaW5lZCB8IFZhbHVlV3JhcHBlcjtcbiAgICBpZiAobGVnYWN5V3JhcHBlcikge1xuICAgICAgdmFsdWVzW2tleV0gPSBsZWdhY3lXcmFwcGVyO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qgd3JhcHBlciA9IHZhbHVlc1trZXldO1xuICAgIGlmICh3cmFwcGVyKSB7XG4gICAgICBiYWdba2V5XSA9IHdyYXBwZXI7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE9ic2lkaWFuRGV2VXRpbHNCYWcoKTogR2VuZXJpY09iamVjdCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWdsb2JhbC10aGlzIC0tIFRoZSBzaGFyZWQgc3RhdGUgaW50ZW50aW9uYWxseSBsaXZlcyBvbiB0aGUgcmVhbG0gZ2xvYmFsLlxuICBjb25zdCB3cmFwcGVyID0gZ2xvYmFsVGhpcyBhcyBQYXJ0aWFsPE9ic2lkaWFuRGV2VXRpbHNXcmFwcGVyPjtcbiAgd3JhcHBlci5fX29ic2lkaWFuRGV2VXRpbHMgPz89IHt9O1xuICByZXR1cm4gd3JhcHBlci5fX29ic2lkaWFuRGV2VXRpbHM7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUJBLGtDQUEwQztBQUMxQywyQkFBNkI7QUFVN0IsTUFBTSx3Q0FBd0MsQ0FBQyxTQUFTLGFBQWEsdUJBQXVCO0FBVXJGLFNBQVMseUJBQTRCLEtBQWEsY0FBa0M7QUFDekYsU0FBUSx1QkFBdUIsRUFBRSxHQUFHLE1BQU0sa0NBQWEsR0FBRyxZQUFZO0FBQ3hFO0FBUU8sU0FBUyw2QkFBbUM7QUFFakQsRUFBQyxXQUFnRCxxQkFBcUIsQ0FBQztBQUN6RTtBQVVPLFNBQVMsbURBQXlEO0FBQ3ZFLFFBQU0sTUFBTSx1QkFBdUI7QUFDbkMsUUFBTSxhQUFTLHVEQUEwQixFQUFFO0FBQzNDLGFBQVcsT0FBTyx1Q0FBdUM7QUFDdkQsVUFBTSxnQkFBZ0IsSUFBSSxHQUFHO0FBQzdCLFFBQUksZUFBZTtBQUNqQixhQUFPLEdBQUcsSUFBSTtBQUNkO0FBQUEsSUFDRjtBQUVBLFVBQU0sVUFBVSxPQUFPLEdBQUc7QUFDMUIsUUFBSSxTQUFTO0FBQ1gsVUFBSSxHQUFHLElBQUk7QUFBQSxJQUNiO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyx5QkFBd0M7QUFFL0MsUUFBTSxVQUFVO0FBQ2hCLFVBQVEsdUJBQXVCLENBQUM7QUFDaEMsU0FBTyxRQUFRO0FBQ2pCOyIsIm5hbWVzIjpbXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1kZXYtdXRpbHMtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIExFR0FDWTogcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvbiB0aGUgYF9fb2JzaWRpYW5EZXZVdGlsc2AgZ2xvYmFsLCBhbHNvIHJlYWNoYWJsZSBhc1xuICogYF9fb2JzaWRpYW5MaWJgLiBUaGUgbGVnYWN5IG5hbWUgaXMgdGhlIHJldGlyZWQgYG9ic2lkaWFuLWRldi11dGlsc2AgcGFja2FnZSdzOyBpdCBzdGF5cywgYW5kIHN0YXlzIHRoZSBhdXRob3JpdHksXG4gKiBiZWNhdXNlIHBsdWdpbnMgYnVuZGxpbmcgYW4gb2xkZXIgY29weSByZWFkIGFuZCB3cml0ZSB0aGUgc2FtZSBiYWcsIHNvIGl0IGlzIGEgd2lyZSBmb3JtYXQgcmF0aGVyIHRoYW4gYSBuYW1lIHRvXG4gKiBjb3B5LiBgX19vYnNpZGlhbkxpYmAgaXMgYW4gYWNjZXNzb3Igb250byBpdCwgbmV2ZXIgYSBzZWNvbmQgb2JqZWN0LiBOZXcgZ2VuZXJpYyBzdGF0ZSBiZWxvbmdzIGluXG4gKiBgQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGVzY3JpcHQtbGliLXN0YXRlYCAodGhlIGBTeW1ib2wuZm9yKCdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RhdGUnKWAgc2xvdCkuXG4gKlxuICogVGhlIGJhZyBpcyBzdG9yZWQgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkRldlV0aWxzYCwgaS5lLiBvbiB0aGUgZ2xvYmFsIG9iamVjdCBvZiB0aGUgcmVhbG0gaW5cbiAqIHdoaWNoIHRoaXMgbGlicmFyeSBpcyBsb2FkZWQuIEJlY2F1c2UgYSBmdW5jdGlvbidzIGBnbG9iYWxUaGlzYCByZXNvbHZlcyB0byBpdHMgZGVmaW5pbmdcbiAqIHJlYWxtIChub3QgdGhlIGNhbGxlcidzKSwgZXZlcnkgY29uc3VtZXIgdGhhdCBidW5kbGVzIHRoZSBsaWJyYXJ5IGluIHRoZSBtYWluIE9ic2lkaWFuIHJlbmRlcmVyXG4gKiBzaGFyZXMgdGhlIHNhbWUgYmFnLCByZWdhcmRsZXNzIG9mIHdoaWNoIHdpbmRvdyBpcyBjdXJyZW50bHkgYWN0aXZlLiBUaGlzIGludGVudGlvbmFsbHkgcmVwbGFjZXNcbiAqIHRoZSBwcmV2aW91cyBgQXBwYC1zY29wZWQgc3RvcmFnZSwgc28gY2FsbGVycyBubyBsb25nZXIgbmVlZCB0byBwYXNzIGFuIGBBcHBgIGluc3RhbmNlLlxuICpcbiAqIFRoZSBnZW5lcmljLCBub24tT2JzaWRpYW4gc3RhdGUgKHRoZSBkZWJ1Z2dlcnMsIHRoZSBgZGVidWdgIGluc3RhbmNlIGFuZCB0aGUgc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIpIGxpdmVzIGluXG4gKiBgdHlwZXNjcmlwdC1saWItc3RhdGUudHNgIGluc3RlYWQuIHtAbGluayBzaGFyZVR5cGVzY3JpcHRMaWJTdGF0ZVdpdGhPYnNpZGlhbkRldlV0aWxzU3RhdGV9IGxpbmtzIHRoZSB0d28sIHNvXG4gKiBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGNvcHkgb2YgdGhpcyBsaWJyYXJ5LCB3aGljaCBzdGlsbCBrZWVwIHRoYXQgc3RhdGUgaGVyZSwgc2hhcmUgaXQgd2l0aCBuZXdlciBvbmVzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5cbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGUnO1xuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuXG5pbnRlcmZhY2UgT2JzaWRpYW5EZXZVdGlsc1dyYXBwZXIge1xuICBfX29ic2lkaWFuRGV2VXRpbHM6IEdlbmVyaWNPYmplY3Q7XG59XG5cbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGdsb2JhbCB0aHJvdWdoIHdoaWNoIHRoZSBzaGFyZWQtc3RhdGUgYmFnIGlzIGFsc28gcmVhY2hhYmxlLCBhbiBhbGlhcyBvZiBgX19vYnNpZGlhbkRldlV0aWxzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0xJQl9HTE9CQUxfTkFNRSA9ICdfX29ic2lkaWFuTGliJztcblxuLyoqXG4gKiBUaGUga2V5cyB3aG9zZSBzdGF0ZSBtb3ZlZCBmcm9tIGBfX29ic2lkaWFuRGV2VXRpbHNgIHRvIHRoZSBnZW5lcmljIHNoYXJlZCBzdGF0ZSwgYW5kIHdoaWNoIG9sZGVyIGNvcGllcyBvZlxuICogdGhpcyBsaWJyYXJ5IHN0aWxsIGtlZXAgdW5kZXIgYF9fb2JzaWRpYW5EZXZVdGlsc2AuXG4gKi9cbmNvbnN0IFNIQVJFRF9XSVRIX1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWVMgPSBbJ2RlYnVnJywgJ2RlYnVnZ2VycycsICdzaGFyZWRBYm9ydENvbnRyb2xsZXInXSBhcyBjb25zdDtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZC1zdGF0ZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBmb3IgYSBnaXZlbiBrZXkgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkRldlV0aWxzYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgc2hhcmVkIHN0YXRlIHZhbHVlLlxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gc3RvcmUgb3IgcmV0cmlldmUgdGhlIHNoYXJlZCBzdGF0ZSB1bmRlci5cbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgLSBUaGUgZGVmYXVsdCB2YWx1ZSB0byB1c2UgaWYgdGhlIHNoYXJlZCBzdGF0ZSBkb2VzIG5vdCBleGlzdCB5ZXQuXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gdGhhdCBzdG9yZXMgdGhlIHNoYXJlZCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZTxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUKTogVmFsdWVXcmFwcGVyPFQ+IHtcbiAgcmV0dXJuIChnZXRPYnNpZGlhbkRldlV0aWxzQmFnKClba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkRldlV0aWxzYC5cbiAqXG4gKiBJbnRlbmRlZCBmb3IgdGVzdCBpc29sYXRpb246IGNhbGwgaXQgYmVmb3JlIGVhY2ggdGVzdCBzbyBhY2N1bXVsYXRlZCBzdGF0ZSAoZGVidWdnZXJzLCBxdWV1ZXMsXG4gKiByZWdpc3RlcmVkIGhhbmRsZXJzLCBldGMuKSBkb2VzIG5vdCBsZWFrIGJldHdlZW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSgpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gVGhlIHNoYXJlZCBzdGF0ZSBpbnRlbnRpb25hbGx5IGxpdmVzIG9uIHRoZSByZWFsbSBnbG9iYWwuXG4gIChnbG9iYWxUaGlzIGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc1dyYXBwZXI+KS5fX29ic2lkaWFuRGV2VXRpbHMgPSB7fTtcbn1cblxuLyoqXG4gKiBNYWtlcyB0aGUgZ2VuZXJpYyBzaGFyZWQgc3RhdGUgYW5kIGBfX29ic2lkaWFuRGV2VXRpbHNgIGhvbGQgdGhlIHNhbWUge0BsaW5rIFZhbHVlV3JhcHBlcn0gZm9yIGVhY2gga2V5IHRoYXRcbiAqIG1vdmVkIGJldHdlZW4gdGhlbS5cbiAqXG4gKiBBIHdyYXBwZXIgYWxyZWFkeSB1bmRlciBgX19vYnNpZGlhbkRldlV0aWxzYCB3aW5zLCBiZWNhdXNlIGFuIG9sZGVyIGNvcHkgb2YgdGhpcyBsaWJyYXJ5IGxvYWRlZCBmaXJzdCBhbmQgaXRzXG4gKiBjYWxsZXJzIGFscmVhZHkgaG9sZCB0aGF0IGluc3RhbmNlLiBPdGhlcndpc2UgdGhlIGdlbmVyaWMgd3JhcHBlciBpcyBwdWJsaXNoZWQgdW5kZXIgYF9fb2JzaWRpYW5EZXZVdGlsc2AsIGZvclxuICogb2xkZXIgY29waWVzIGxvYWRlZCBsYXRlciBhbmQgZm9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hhcmVUeXBlc2NyaXB0TGliU3RhdGVXaXRoT2JzaWRpYW5EZXZVdGlsc1N0YXRlKCk6IHZvaWQge1xuICBjb25zdCBiYWcgPSBnZXRPYnNpZGlhbkRldlV0aWxzQmFnKCk7XG4gIGNvbnN0IHZhbHVlcyA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKS52YWx1ZXM7XG4gIGZvciAoY29uc3Qga2V5IG9mIFNIQVJFRF9XSVRIX1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWVMpIHtcbiAgICBjb25zdCBsZWdhY3lXcmFwcGVyID0gYmFnW2tleV0gYXMgdW5kZWZpbmVkIHwgVmFsdWVXcmFwcGVyO1xuICAgIGlmIChsZWdhY3lXcmFwcGVyKSB7XG4gICAgICB2YWx1ZXNba2V5XSA9IGxlZ2FjeVdyYXBwZXI7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCB3cmFwcGVyID0gdmFsdWVzW2tleV07XG4gICAgaWYgKHdyYXBwZXIpIHtcbiAgICAgIGJhZ1trZXldID0gd3JhcHBlcjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0T2JzaWRpYW5EZXZVdGlsc0JhZygpOiBHZW5lcmljT2JqZWN0IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gVGhlIHNoYXJlZCBzdGF0ZSBpbnRlbnRpb25hbGx5IGxpdmVzIG9uIHRoZSByZWFsbSBnbG9iYWwuXG4gIGNvbnN0IHdyYXBwZXIgPSBnbG9iYWxUaGlzIGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc1dyYXBwZXI+O1xuICB3cmFwcGVyLl9fb2JzaWRpYW5EZXZVdGlscyA/Pz0ge307XG4gIGluc3RhbGxPYnNpZGlhbkxpYkFsaWFzKCk7XG4gIHJldHVybiB3cmFwcGVyLl9fb2JzaWRpYW5EZXZVdGlscztcbn1cblxuLyoqXG4gKiBNYWtlcyBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYCBhbiBhY2Nlc3NvciBvbnRvIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5EZXZVdGlsc2AsIHNvIHRoZSB0d28gbmFtZXMgYXJlIGFsd2F5cyB0aGVcbiAqIHNhbWUgb2JqZWN0LlxuICpcbiAqIFRoZSBsZWdhY3kgbmFtZSBzdGF5cyB0aGUgYXV0aG9yaXR5LCBiZWNhdXNlIGV2ZXJ5IG9sZGVyIGNvcHkgb2YgdGhpcyBsaWJyYXJ5IG9ubHkgZXZlciBzZWVzIGl0LCBhbmQgY29kZSBvdXRzaWRlXG4gKiB0aGUgbGlicmFyeSBhc3NpZ25zIGl0IGRpcmVjdGx5LiBBbiBhY2Nlc3NvciBmb2xsb3dzIHN1Y2ggYW4gYXNzaWdubWVudCwgd2hlcmUgYSBzZWNvbmQgZGF0YSBwcm9wZXJ0eSB3b3VsZCBkcmlmdC5cbiAqIEFub3RoZXIgY29weSBtYXkgYWxyZWFkeSBoYXZlIGluc3RhbGxlZCB0aGUgYWxpYXM7IGFueSBjb3B5J3MgYWNjZXNzb3IgYmVoYXZlcyB0aGUgc2FtZSwgc28gaXQgaXMgbGVmdCBhcyBpdCBpcy5cbiAqL1xuZnVuY3Rpb24gaW5zdGFsbE9ic2lkaWFuTGliQWxpYXMoKTogdm9pZCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWdsb2JhbC10aGlzIC0tIFRoZSBzaGFyZWQgc3RhdGUgaW50ZW50aW9uYWxseSBsaXZlcyBvbiB0aGUgcmVhbG0gZ2xvYmFsLlxuICBjb25zdCByZWFsbUdsb2JhbCA9IGdsb2JhbFRoaXMgYXMgUGFydGlhbDxPYnNpZGlhbkRldlV0aWxzV3JhcHBlcj47XG4gIGlmIChPYmplY3QuaGFzT3duKHJlYWxtR2xvYmFsLCBPQlNJRElBTl9MSUJfR0xPQkFMX05BTUUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlYWxtR2xvYmFsLCBPQlNJRElBTl9MSUJfR0xPQkFMX05BTUUsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgZ2V0KCk6IEdlbmVyaWNPYmplY3QgfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHJlYWxtR2xvYmFsLl9fb2JzaWRpYW5EZXZVdGlscztcbiAgICB9LFxuICAgIHNldCh2YWx1ZTogR2VuZXJpY09iamVjdCk6IHZvaWQge1xuICAgICAgcmVhbG1HbG9iYWwuX19vYnNpZGlhbkRldlV0aWxzID0gdmFsdWU7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCQSxrQ0FBMEM7QUFDMUMsMkJBQTZCO0FBU3RCLE1BQU0sMkJBQTJCO0FBTXhDLE1BQU0sd0NBQXdDLENBQUMsU0FBUyxhQUFhLHVCQUF1QjtBQVVyRixTQUFTLHlCQUE0QixLQUFhLGNBQWtDO0FBQ3pGLFNBQVEsdUJBQXVCLEVBQUUsR0FBRyxNQUFNLGtDQUFhLEdBQUcsWUFBWTtBQUN4RTtBQVFPLFNBQVMsNkJBQW1DO0FBRWpELEVBQUMsV0FBZ0QscUJBQXFCLENBQUM7QUFDekU7QUFVTyxTQUFTLG1EQUF5RDtBQUN2RSxRQUFNLE1BQU0sdUJBQXVCO0FBQ25DLFFBQU0sYUFBUyx1REFBMEIsRUFBRTtBQUMzQyxhQUFXLE9BQU8sdUNBQXVDO0FBQ3ZELFVBQU0sZ0JBQWdCLElBQUksR0FBRztBQUM3QixRQUFJLGVBQWU7QUFDakIsYUFBTyxHQUFHLElBQUk7QUFDZDtBQUFBLElBQ0Y7QUFFQSxVQUFNLFVBQVUsT0FBTyxHQUFHO0FBQzFCLFFBQUksU0FBUztBQUNYLFVBQUksR0FBRyxJQUFJO0FBQUEsSUFDYjtBQUFBLEVBQ0Y7QUFDRjtBQUVBLFNBQVMseUJBQXdDO0FBRS9DLFFBQU0sVUFBVTtBQUNoQixVQUFRLHVCQUF1QixDQUFDO0FBQ2hDLDBCQUF3QjtBQUN4QixTQUFPLFFBQVE7QUFDakI7QUFVQSxTQUFTLDBCQUFnQztBQUV2QyxRQUFNLGNBQWM7QUFDcEIsTUFBSSxPQUFPLE9BQU8sYUFBYSx3QkFBd0IsR0FBRztBQUN4RDtBQUFBLEVBQ0Y7QUFFQSxTQUFPLGVBQWUsYUFBYSwwQkFBMEI7QUFBQSxJQUMzRCxjQUFjO0FBQUEsSUFDZCxZQUFZO0FBQUEsSUFDWixNQUFpQztBQUMvQixhQUFPLFlBQVk7QUFBQSxJQUNyQjtBQUFBLElBQ0EsSUFBSSxPQUE0QjtBQUM5QixrQkFBWSxxQkFBcUI7QUFBQSxJQUNuQztBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsIm5hbWVzIjpbXX0=
@@ -2,9 +2,10 @@
2
2
  /**
3
3
  * @file
4
4
  *
5
- * LEGACY: provides access to the process-wide shared-state bag on the `__obsidianDevUtils` global. The name is
6
- * the retired `obsidian-dev-utils` package's; it stays because plugins bundling an older copy read and write the same
7
- * bag, so it is a wire format rather than a name to copy. New generic state belongs in
5
+ * LEGACY: provides access to the process-wide shared-state bag on the `__obsidianDevUtils` global, also reachable as
6
+ * `__obsidianLib`. The legacy name is the retired `obsidian-dev-utils` package's; it stays, and stays the authority,
7
+ * because plugins bundling an older copy read and write the same bag, so it is a wire format rather than a name to
8
+ * copy. `__obsidianLib` is an accessor onto it, never a second object. New generic state belongs in
8
9
  * `@mnaoumov/typescript-lib/typescript-lib-state` (the `Symbol.for('@mnaoumov/typescript-lib/state')` slot).
9
10
  *
10
11
  * The bag is stored on `globalThis.__obsidianDevUtils`, i.e. on the global object of the realm in
@@ -18,6 +19,10 @@
18
19
  * plugins bundling an older copy of this library, which still keep that state here, share it with newer ones.
19
20
  */
20
21
  import { ValueWrapper } from '@mnaoumov/typescript-lib/value-wrapper';
22
+ /**
23
+ * The name of the global through which the shared-state bag is also reachable, an alias of `__obsidianDevUtils`.
24
+ */
25
+ export declare const OBSIDIAN_LIB_GLOBAL_NAME = "__obsidianLib";
21
26
  /**
22
27
  * Retrieves or creates a shared-state {@link ValueWrapper} for a given key on `globalThis.__obsidianDevUtils`.
23
28
  *
@@ -132,6 +132,7 @@ function addPluginCssClasses(element, cssClasses) {
132
132
  const extraCssClasses = typeof cssClasses === "string" ? [cssClasses] : cssClasses ?? [];
133
133
  element.addClass(
134
134
  import_css_class.CssClass.LibraryName,
135
+ import_css_class.CssClass.LegacyLibraryName,
135
136
  ...import_library2.ObsidianLibrary.cssClassScope ? [import_library2.ObsidianLibrary.cssClassScope] : [],
136
137
  ...extraCssClasses
137
138
  );
@@ -151,7 +152,9 @@ function initPluginContext(pluginId) {
151
152
  import_library2.ObsidianLibrary.init({ cssClassScope: pluginId });
152
153
  import_library.Library.init({
153
154
  debugGuideUrl: DEBUG_GUIDE_URL,
154
- debugNamespace: import_library2.OBSIDIAN_LIBRARY_NAME,
155
+ // TODO: Move to `OBSIDIAN_LIBRARY_NAME` once `@mnaoumov/typescript-lib` honours a legacy namespace alias, so
156
+ // filters written for this one keep showing the generic modules' messages.
157
+ debugNamespace: import_library2.LEGACY_OBSIDIAN_LIBRARY_NAME,
155
158
  debugPrefixNamespace: `${pluginId}:`,
156
159
  shouldPrintStackTrace: true
157
160
  });
@@ -170,4 +173,4 @@ function initPluginContext(pluginId) {
170
173
  initDebugController,
171
174
  initPluginContext
172
175
  });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEluaXRpYWxpemVzIHRoZSBwbHVnaW4gY29udGV4dCBhbmQgc2V0cyB1cCB0aGUgcGx1Z2luIElELlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGVidWdDb250cm9sbGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldFNoYXJlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmltcG9ydCB7XG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvbGlicmFyeSc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi4vZ2VuZXJhdGVkLWR1cmluZy1idWlsZC50cyc7XG5pbXBvcnQgeyBpbmplY3RMaWJyYXJ5U3R5bGVzIH0gZnJvbSAnLi4vbGlicmFyeS1zdHlsZXMudHMnO1xuaW1wb3J0IHtcbiAgT0JTSURJQU5fTElCUkFSWV9OQU1FLFxuICBPYnNpZGlhbkxpYnJhcnlcbn0gZnJvbSAnLi4vbGlicmFyeS50cyc7XG5pbXBvcnQgeyBzaGFyZVR5cGVzY3JpcHRMaWJTdGF0ZVdpdGhPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuLi9vYnNpZGlhbi1kZXYtdXRpbHMtc3RhdGUudHMnO1xuXG5pbnRlcmZhY2UgUGx1Z2luQ29udGV4dFdpbmRvdyB7XG4gIERFQlVHOiBEZWJ1Z0NvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG59XG5cbmNvbnN0IERFQlVHX0dVSURFX1VSTCA9ICdodHRwczovL21uYW91bW92LmRldi9vYnNpZGlhbi1saWIvZ3VpZGVzL2RlYnVnZ2luZy8nO1xuXG4vKipcbiAqIFNldHMgdGhlIENTUyBjbGFzcyBvZiBhbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gc2V0IHRoZSBDU1MgY2xhc3Mgb2YuXG4gKiBAcGFyYW0gY3NzQ2xhc3NlcyAtIFRoZSBDU1MgY2xhc3NlcyB0byBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRQbHVnaW5Dc3NDbGFzc2VzKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjc3NDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgY29uc3QgZXh0cmFDc3NDbGFzc2VzID0gdHlwZW9mIGNzc0NsYXNzZXMgPT09ICdzdHJpbmcnID8gW2Nzc0NsYXNzZXNdIDogY3NzQ2xhc3NlcyA/PyBbXTtcbiAgZWxlbWVudC5hZGRDbGFzcyhcbiAgICBDc3NDbGFzcy5MaWJyYXJ5TmFtZSxcbiAgICAvLyBUaGUgc2NvcGUgaXMgZW1wdHkgdW50aWwgdGhlIHBsdWdpbiBjb250ZXh0IGlzIGluaXRpYWxpemVkOyBza2lwIGl0IHNvIHdlIG5ldmVyIGFkZCBhbiBlbXB0eSBjbGFzcy5cbiAgICAuLi4oT2JzaWRpYW5MaWJyYXJ5LmNzc0NsYXNzU2NvcGUgPyBbT2JzaWRpYW5MaWJyYXJ5LmNzc0NsYXNzU2NvcGVdIDogW10pLFxuICAgIC4uLmV4dHJhQ3NzQ2xhc3Nlc1xuICApO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEBwYXJhbSB3aW4gLSBUaGUgd2luZG93IHRvIGluaXRpYWxpemUgdGhlIGRlYnVnIGNvbnRyb2xsZXIgZm9yLlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdG8gcmVnaXN0ZXIgY2xlYW51cCBvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXREZWJ1Z0NvbnRyb2xsZXIod2luOiBXaW5kb3csIGNvbXBvbmVudDogQ29tcG9uZW50KTogdm9pZCB7XG4gIGNvbnN0IHBsdWdpbkNvbnRleHRXaW5kb3cgPSB3aW4gYXMgUGFydGlhbDxQbHVnaW5Db250ZXh0V2luZG93PjtcbiAgY29uc3Qgb2xkRGVidWcgPSBwbHVnaW5Db250ZXh0V2luZG93LkRFQlVHO1xuICBjb25zdCBuZXdEZWJ1ZyA9IGdldERlYnVnQ29udHJvbGxlcigpO1xuICBwbHVnaW5Db250ZXh0V2luZG93LkRFQlVHID0gbmV3RGVidWc7XG5cbiAgY29tcG9uZW50LnJlZ2lzdGVyKCgpID0+IHtcbiAgICBpZiAocGx1Z2luQ29udGV4dFdpbmRvdy5ERUJVRyA9PT0gbmV3RGVidWcpIHtcbiAgICAgIHBsdWdpbkNvbnRleHRXaW5kb3cuREVCVUcgPSBvbGREZWJ1ZztcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBwbHVnaW4gY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFBsdWdpbkNvbnRleHQocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBPYnNpZGlhbkxpYnJhcnkuaW5pdCh7IGNzc0NsYXNzU2NvcGU6IHBsdWdpbklkIH0pO1xuICBMaWJyYXJ5LmluaXQoe1xuICAgIGRlYnVnR3VpZGVVcmw6IERFQlVHX0dVSURFX1VSTCxcbiAgICBkZWJ1Z05hbWVzcGFjZTogT0JTSURJQU5fTElCUkFSWV9OQU1FLFxuICAgIGRlYnVnUHJlZml4TmFtZXNwYWNlOiBgJHtwbHVnaW5JZH06YCxcbiAgICBzaG91bGRQcmludFN0YWNrVHJhY2U6IHRydWVcbiAgfSk7XG4gIHNob3dJbml0aWFsRGVidWdNZXNzYWdlKHBsdWdpbklkKTtcblxuICAvLyBOb3RoaW5nIGVsc2UgaW4gdGhlIGxpYnJhcnkgcmVhY2hlcyBmb3IgdGhlIHNoYXJlZCBhYm9ydCBjb250cm9sbGVyIC0tIG9ubHkgY29uc3VtZXIgcGx1Z2lucyBkby4gQ3JlYXRlXG4gIC8vIGl0IGhlcmUgc28gdGhlIGRldnRvb2xzIGNvbnNvbGUgcmVjaXBlIGluIHRoZSBkZWJ1Z2dpbmcgZ3VpZGUgYWx3YXlzIHJlc29sdmVzLCBpbnN0ZWFkIG9mIHRocm93aW5nIHVudGlsIHNvbWVcbiAgLy8gcGx1Z2luIGhhcHBlbnMgdG8gc3RhcnQgYW4gYWJvcnRhYmxlIG9wZXJhdGlvbi5cbiAgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgLy8gVGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZSBzaGFyZWQgYWJvcnQgY29udHJvbGxlciBtb3ZlZCBvdXQgb2YgYF9fb2JzaWRpYW5EZXZVdGlsc2AuIExpbmsgdGhlbVxuICAvLyBiYWNrIHVuZGVyIHRoZSBsZWdhY3kgZ2xvYmFsLCBzbyBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGNvcHkgb2YgdGhpcyBsaWJyYXJ5IHNoYXJlIHRoZW0uXG4gIHNoYXJlVHlwZXNjcmlwdExpYlN0YXRlV2l0aE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSgpO1xuXG4gIGluamVjdExpYnJhcnlTdHlsZXMoe1xuICAgIGRvYzogZG9jdW1lbnQsXG4gICAgbGlicmFyeVN0eWxlczogTElCUkFSWV9TVFlMRVMsXG4gICAgbGlicmFyeVZlcnNpb246IExJQlJBUllfVkVSU0lPTlxuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSw4QkFBeUM7QUFDekMsbUJBR087QUFDUCxxQkFBd0I7QUFFeEIsdUJBQXlCO0FBQ3pCLG9DQUdPO0FBQ1AsNEJBQW9DO0FBQ3BDLElBQUFBLGtCQUdPO0FBQ1Asc0NBQWlFO0FBTWpFLE1BQU0sa0JBQWtCO0FBUWpCLFNBQVMsb0JBQW9CLFNBQXNCLFlBQXNDO0FBQzlGLFFBQU0sa0JBQWtCLE9BQU8sZUFBZSxXQUFXLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQztBQUN2RixVQUFRO0FBQUEsSUFDTiwwQkFBUztBQUFBLElBRVQsR0FBSSxnQ0FBZ0IsZ0JBQWdCLENBQUMsZ0NBQWdCLGFBQWEsSUFBSSxDQUFDO0FBQUEsSUFDdkUsR0FBRztBQUFBLEVBQ0w7QUFDRjtBQVFPLFNBQVMsb0JBQW9CLEtBQWEsV0FBNEI7QUFDM0UsUUFBTSxzQkFBc0I7QUFDNUIsUUFBTSxXQUFXLG9CQUFvQjtBQUNyQyxRQUFNLGVBQVcsaUNBQW1CO0FBQ3BDLHNCQUFvQixRQUFRO0FBRTVCLFlBQVUsU0FBUyxNQUFNO0FBQ3ZCLFFBQUksb0JBQW9CLFVBQVUsVUFBVTtBQUMxQywwQkFBb0IsUUFBUTtBQUFBLElBQzlCO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFPTyxTQUFTLGtCQUFrQixVQUF3QjtBQUN4RCxrQ0FBZ0IsS0FBSyxFQUFFLGVBQWUsU0FBUyxDQUFDO0FBQ2hELHlCQUFRLEtBQUs7QUFBQSxJQUNYLGVBQWU7QUFBQSxJQUNmLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQixHQUFHLFFBQVE7QUFBQSxJQUNqQyx1QkFBdUI7QUFBQSxFQUN6QixDQUFDO0FBQ0QsNENBQXdCLFFBQVE7QUFLaEMsd0RBQXlCO0FBSXpCLHdGQUFpRDtBQUVqRCxpREFBb0I7QUFBQSxJQUNsQixLQUFLO0FBQUEsSUFDTCxlQUFlO0FBQUEsSUFDZixnQkFBZ0I7QUFBQSxFQUNsQixDQUFDO0FBQ0g7IiwibmFtZXMiOlsiaW1wb3J0X2xpYnJhcnkiXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEluaXRpYWxpemVzIHRoZSBwbHVnaW4gY29udGV4dCBhbmQgc2V0cyB1cCB0aGUgcGx1Z2luIElELlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGVidWdDb250cm9sbGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldFNoYXJlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmltcG9ydCB7XG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvbGlicmFyeSc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi4vZ2VuZXJhdGVkLWR1cmluZy1idWlsZC50cyc7XG5pbXBvcnQgeyBpbmplY3RMaWJyYXJ5U3R5bGVzIH0gZnJvbSAnLi4vbGlicmFyeS1zdHlsZXMudHMnO1xuaW1wb3J0IHtcbiAgTEVHQUNZX09CU0lESUFOX0xJQlJBUllfTkFNRSxcbiAgT2JzaWRpYW5MaWJyYXJ5XG59IGZyb20gJy4uL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgc2hhcmVUeXBlc2NyaXB0TGliU3RhdGVXaXRoT2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi4vb2JzaWRpYW4tZGV2LXV0aWxzLXN0YXRlLnRzJztcblxuaW50ZXJmYWNlIFBsdWdpbkNvbnRleHRXaW5kb3cge1xuICBERUJVRzogRGVidWdDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xufVxuXG5jb25zdCBERUJVR19HVUlERV9VUkwgPSAnaHR0cHM6Ly9tbmFvdW1vdi5kZXYvb2JzaWRpYW4tbGliL2d1aWRlcy9kZWJ1Z2dpbmcvJztcblxuLyoqXG4gKiBTZXRzIHRoZSBDU1MgY2xhc3Mgb2YgYW4gZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHNldCB0aGUgQ1NTIGNsYXNzIG9mLlxuICogQHBhcmFtIGNzc0NsYXNzZXMgLSBUaGUgQ1NTIGNsYXNzZXMgdG8gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkUGx1Z2luQ3NzQ2xhc3NlcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgY3NzQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IGV4dHJhQ3NzQ2xhc3NlcyA9IHR5cGVvZiBjc3NDbGFzc2VzID09PSAnc3RyaW5nJyA/IFtjc3NDbGFzc2VzXSA6IGNzc0NsYXNzZXMgPz8gW107XG4gIGVsZW1lbnQuYWRkQ2xhc3MoXG4gICAgQ3NzQ2xhc3MuTGlicmFyeU5hbWUsXG4gICAgQ3NzQ2xhc3MuTGVnYWN5TGlicmFyeU5hbWUsXG4gICAgLy8gVGhlIHNjb3BlIGlzIGVtcHR5IHVudGlsIHRoZSBwbHVnaW4gY29udGV4dCBpcyBpbml0aWFsaXplZDsgc2tpcCBpdCBzbyB3ZSBuZXZlciBhZGQgYW4gZW1wdHkgY2xhc3MuXG4gICAgLi4uKE9ic2lkaWFuTGlicmFyeS5jc3NDbGFzc1Njb3BlID8gW09ic2lkaWFuTGlicmFyeS5jc3NDbGFzc1Njb3BlXSA6IFtdKSxcbiAgICAuLi5leHRyYUNzc0NsYXNzZXNcbiAgKTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgZGVidWcgY29udHJvbGxlci5cbiAqXG4gKiBAcGFyYW0gd2luIC0gVGhlIHdpbmRvdyB0byBpbml0aWFsaXplIHRoZSBkZWJ1ZyBjb250cm9sbGVyIGZvci5cbiAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIHJlZ2lzdGVyIGNsZWFudXAgb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0RGVidWdDb250cm9sbGVyKHdpbjogV2luZG93LCBjb21wb25lbnQ6IENvbXBvbmVudCk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5Db250ZXh0V2luZG93ID0gd2luIGFzIFBhcnRpYWw8UGx1Z2luQ29udGV4dFdpbmRvdz47XG4gIGNvbnN0IG9sZERlYnVnID0gcGx1Z2luQ29udGV4dFdpbmRvdy5ERUJVRztcbiAgY29uc3QgbmV3RGVidWcgPSBnZXREZWJ1Z0NvbnRyb2xsZXIoKTtcbiAgcGx1Z2luQ29udGV4dFdpbmRvdy5ERUJVRyA9IG5ld0RlYnVnO1xuXG4gIGNvbXBvbmVudC5yZWdpc3RlcigoKSA9PiB7XG4gICAgaWYgKHBsdWdpbkNvbnRleHRXaW5kb3cuREVCVUcgPT09IG5ld0RlYnVnKSB7XG4gICAgICBwbHVnaW5Db250ZXh0V2luZG93LkRFQlVHID0gb2xkRGVidWc7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgcGx1Z2luIGNvbnRleHQuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBJRC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRQbHVnaW5Db250ZXh0KHBsdWdpbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgT2JzaWRpYW5MaWJyYXJ5LmluaXQoeyBjc3NDbGFzc1Njb3BlOiBwbHVnaW5JZCB9KTtcbiAgTGlicmFyeS5pbml0KHtcbiAgICBkZWJ1Z0d1aWRlVXJsOiBERUJVR19HVUlERV9VUkwsXG4gICAgLy8gVE9ETzogTW92ZSB0byBgT0JTSURJQU5fTElCUkFSWV9OQU1FYCBvbmNlIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWJgIGhvbm91cnMgYSBsZWdhY3kgbmFtZXNwYWNlIGFsaWFzLCBzb1xuICAgIC8vIGZpbHRlcnMgd3JpdHRlbiBmb3IgdGhpcyBvbmUga2VlcCBzaG93aW5nIHRoZSBnZW5lcmljIG1vZHVsZXMnIG1lc3NhZ2VzLlxuICAgIGRlYnVnTmFtZXNwYWNlOiBMRUdBQ1lfT0JTSURJQU5fTElCUkFSWV9OQU1FLFxuICAgIGRlYnVnUHJlZml4TmFtZXNwYWNlOiBgJHtwbHVnaW5JZH06YCxcbiAgICBzaG91bGRQcmludFN0YWNrVHJhY2U6IHRydWVcbiAgfSk7XG4gIHNob3dJbml0aWFsRGVidWdNZXNzYWdlKHBsdWdpbklkKTtcblxuICAvLyBOb3RoaW5nIGVsc2UgaW4gdGhlIGxpYnJhcnkgcmVhY2hlcyBmb3IgdGhlIHNoYXJlZCBhYm9ydCBjb250cm9sbGVyIC0tIG9ubHkgY29uc3VtZXIgcGx1Z2lucyBkby4gQ3JlYXRlXG4gIC8vIGl0IGhlcmUgc28gdGhlIGRldnRvb2xzIGNvbnNvbGUgcmVjaXBlIGluIHRoZSBkZWJ1Z2dpbmcgZ3VpZGUgYWx3YXlzIHJlc29sdmVzLCBpbnN0ZWFkIG9mIHRocm93aW5nIHVudGlsIHNvbWVcbiAgLy8gcGx1Z2luIGhhcHBlbnMgdG8gc3RhcnQgYW4gYWJvcnRhYmxlIG9wZXJhdGlvbi5cbiAgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgLy8gVGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZSBzaGFyZWQgYWJvcnQgY29udHJvbGxlciBtb3ZlZCBvdXQgb2YgYF9fb2JzaWRpYW5EZXZVdGlsc2AuIExpbmsgdGhlbVxuICAvLyBiYWNrIHVuZGVyIHRoZSBsZWdhY3kgZ2xvYmFsLCBzbyBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGNvcHkgb2YgdGhpcyBsaWJyYXJ5IHNoYXJlIHRoZW0uXG4gIHNoYXJlVHlwZXNjcmlwdExpYlN0YXRlV2l0aE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSgpO1xuXG4gIGluamVjdExpYnJhcnlTdHlsZXMoe1xuICAgIGRvYzogZG9jdW1lbnQsXG4gICAgbGlicmFyeVN0eWxlczogTElCUkFSWV9TVFlMRVMsXG4gICAgbGlicmFyeVZlcnNpb246IExJQlJBUllfVkVSU0lPTlxuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSw4QkFBeUM7QUFDekMsbUJBR087QUFDUCxxQkFBd0I7QUFFeEIsdUJBQXlCO0FBQ3pCLG9DQUdPO0FBQ1AsNEJBQW9DO0FBQ3BDLElBQUFBLGtCQUdPO0FBQ1Asc0NBQWlFO0FBTWpFLE1BQU0sa0JBQWtCO0FBUWpCLFNBQVMsb0JBQW9CLFNBQXNCLFlBQXNDO0FBQzlGLFFBQU0sa0JBQWtCLE9BQU8sZUFBZSxXQUFXLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQztBQUN2RixVQUFRO0FBQUEsSUFDTiwwQkFBUztBQUFBLElBQ1QsMEJBQVM7QUFBQSxJQUVULEdBQUksZ0NBQWdCLGdCQUFnQixDQUFDLGdDQUFnQixhQUFhLElBQUksQ0FBQztBQUFBLElBQ3ZFLEdBQUc7QUFBQSxFQUNMO0FBQ0Y7QUFRTyxTQUFTLG9CQUFvQixLQUFhLFdBQTRCO0FBQzNFLFFBQU0sc0JBQXNCO0FBQzVCLFFBQU0sV0FBVyxvQkFBb0I7QUFDckMsUUFBTSxlQUFXLGlDQUFtQjtBQUNwQyxzQkFBb0IsUUFBUTtBQUU1QixZQUFVLFNBQVMsTUFBTTtBQUN2QixRQUFJLG9CQUFvQixVQUFVLFVBQVU7QUFDMUMsMEJBQW9CLFFBQVE7QUFBQSxJQUM5QjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBT08sU0FBUyxrQkFBa0IsVUFBd0I7QUFDeEQsa0NBQWdCLEtBQUssRUFBRSxlQUFlLFNBQVMsQ0FBQztBQUNoRCx5QkFBUSxLQUFLO0FBQUEsSUFDWCxlQUFlO0FBQUE7QUFBQTtBQUFBLElBR2YsZ0JBQWdCO0FBQUEsSUFDaEIsc0JBQXNCLEdBQUcsUUFBUTtBQUFBLElBQ2pDLHVCQUF1QjtBQUFBLEVBQ3pCLENBQUM7QUFDRCw0Q0FBd0IsUUFBUTtBQUtoQyx3REFBeUI7QUFJekIsd0ZBQWlEO0FBRWpELGlEQUFvQjtBQUFBLElBQ2xCLEtBQUs7QUFBQSxJQUNMLGVBQWU7QUFBQSxJQUNmLGdCQUFnQjtBQUFBLEVBQ2xCLENBQUM7QUFDSDsiLCJuYW1lcyI6WyJpbXBvcnRfbGlicmFyeSJdfQ==
@@ -87,20 +87,60 @@ var __copyProps = (to, from, except, desc) => {
87
87
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
88
88
  var plugin_lifecycle_events_exports = {};
89
89
  __export(plugin_lifecycle_events_exports, {
90
+ LEGACY_PLUGIN_LOADED_EVENT_NAME: () => LEGACY_PLUGIN_LOADED_EVENT_NAME,
91
+ LEGACY_PLUGIN_UNLOADED_EVENT_NAME: () => LEGACY_PLUGIN_UNLOADED_EVENT_NAME,
90
92
  PLUGIN_LOADED_EVENT_NAME: () => PLUGIN_LOADED_EVENT_NAME,
91
93
  PLUGIN_UNLOADED_EVENT_NAME: () => PLUGIN_UNLOADED_EVENT_NAME,
94
+ registerPluginLifecycleEventRelay: () => registerPluginLifecycleEventRelay,
92
95
  triggerPluginLifecycleEvent: () => triggerPluginLifecycleEvent
93
96
  });
94
97
  module.exports = __toCommonJS(plugin_lifecycle_events_exports);
95
- const PLUGIN_LOADED_EVENT_NAME = "obsidian-dev-utils:plugin-loaded";
96
- const PLUGIN_UNLOADED_EVENT_NAME = "obsidian-dev-utils:plugin-unloaded";
98
+ var import_obsidian_dev_utils_state = require('../obsidian-dev-utils-state.cjs');
99
+ const PLUGIN_LOADED_EVENT_NAME = "obsidian-lib:plugin-loaded";
100
+ const PLUGIN_UNLOADED_EVENT_NAME = "obsidian-lib:plugin-unloaded";
101
+ const LEGACY_PLUGIN_LOADED_EVENT_NAME = "obsidian-dev-utils:plugin-loaded";
102
+ const LEGACY_PLUGIN_UNLOADED_EVENT_NAME = "obsidian-dev-utils:plugin-unloaded";
103
+ const PLUGIN_LIFECYCLE_EVENT_NAMES = [PLUGIN_LOADED_EVENT_NAME, PLUGIN_UNLOADED_EVENT_NAME];
104
+ const LEGACY_PLUGIN_LIFECYCLE_EVENT_NAMES = {
105
+ [PLUGIN_LOADED_EVENT_NAME]: LEGACY_PLUGIN_LOADED_EVENT_NAME,
106
+ [PLUGIN_UNLOADED_EVENT_NAME]: LEGACY_PLUGIN_UNLOADED_EVENT_NAME
107
+ };
108
+ const ANNOUNCED_PAYLOADS_STATE_KEY = "pluginLifecycleAnnouncedPayloadsV1";
109
+ function registerPluginLifecycleEventRelay(params) {
110
+ const { app, component } = params;
111
+ for (const name of PLUGIN_LIFECYCLE_EVENT_NAMES) {
112
+ component.registerEvent(app.workspace.on(LEGACY_PLUGIN_LIFECYCLE_EVENT_NAMES[name], (payload) => {
113
+ if (typeof payload !== "object" || payload === null) {
114
+ return;
115
+ }
116
+ const announcedPayloads = getAnnouncedPayloads(name);
117
+ if (announcedPayloads.has(payload)) {
118
+ return;
119
+ }
120
+ announcedPayloads.add(payload);
121
+ app.workspace.trigger(name, payload);
122
+ }));
123
+ }
124
+ }
97
125
  function triggerPluginLifecycleEvent(params) {
98
- params.app.workspace.trigger(params.name, params.payload);
126
+ const { app, name, payload } = params;
127
+ getAnnouncedPayloads(name).add(payload);
128
+ app.workspace.trigger(name, payload);
129
+ app.workspace.trigger(LEGACY_PLUGIN_LIFECYCLE_EVENT_NAMES[name], payload);
130
+ }
131
+ function getAnnouncedPayloads(name) {
132
+ return (0, import_obsidian_dev_utils_state.getObsidianDevUtilsState)(ANNOUNCED_PAYLOADS_STATE_KEY, {
133
+ [PLUGIN_LOADED_EVENT_NAME]: /* @__PURE__ */ new WeakSet(),
134
+ [PLUGIN_UNLOADED_EVENT_NAME]: /* @__PURE__ */ new WeakSet()
135
+ }).value[name];
99
136
  }
100
137
  // Annotate the CommonJS export names for ESM import in node:
101
138
  0 && (module.exports = {
139
+ LEGACY_PLUGIN_LOADED_EVENT_NAME,
140
+ LEGACY_PLUGIN_UNLOADED_EVENT_NAME,
102
141
  PLUGIN_LOADED_EVENT_NAME,
103
142
  PLUGIN_UNLOADED_EVENT_NAME,
143
+ registerPluginLifecycleEventRelay,
104
144
  triggerPluginLifecycleEvent
105
145
  });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBsaWZlY3ljbGUgYnJvYWRjYXN0IGV2ZXJ5IHtAbGluayBQbHVnaW5CYXNlfSBtYWtlczogYG9ic2lkaWFuLWRldi11dGlsczpwbHVnaW4tbG9hZGVkYCB3aGVuIGl0IGhhc1xuICogZmluaXNoZWQgbG9hZGluZyBhbmQgYG9ic2lkaWFuLWRldi11dGlsczpwbHVnaW4tdW5sb2FkZWRgIHdoZW4gaXQgZ29lcyBhd2F5LlxuICpcbiAqIE9ic2lkaWFuIGdpdmVzIGEgcGx1Z2luIG5vIHdheSB0byBsZWFybiB0aGF0IEFOT1RIRVIgcGx1Z2luIHdhcyBlbmFibGVkIG9yIGRpc2FibGVkIOKAlCB0aGVyZSBpcyBubyBzdWNoXG4gKiBldmVudCBvbiBgYXBwLnBsdWdpbnNgLCBhbmQgYSBwbHVnaW4ncyBvd24gYEV2ZW50c2Agc291cmNlIGNhbm5vdCBoZWxwIGEgbGlzdGVuZXIgdGhhdCBkb2VzIG5vdCB5ZXQgaG9sZFxuICogdGhlIGluc3RhbmNlLiBTbyB0aGUgYnJvYWRjYXN0IGdvZXMgdGhyb3VnaCBgYXBwLndvcmtzcGFjZWAsIHdoaWNoIGlzIG9uZSBvYmplY3QgZXZlcnkgcGx1Z2luIGluIHRoZVxuICogdmF1bHQgY2FuIHJlYWNoLiBEZWxpYmVyYXRlbHkgTk9UIHRoZSBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuRGV2VXRpbHNgIGJhZyB0aGUgcmVzdCBvZiB0aGUgbGlicmFyeSBzaGFyZXNcbiAqIGl0cyBzdGF0ZSB0aHJvdWdoOiBhIGxpc3RlbmVyIHRoZXJlIG5lZWRzIGl0cyBvd24gY29weSBvZiB0aGlzIGxpYnJhcnksIGFuZCB0aGVzZSBldmVudHMgYXJlIG1lYW50IHRvIGJlXG4gKiBjb25zdW1hYmxlIGJ5IGFueSBwbHVnaW4gYXQgYWxsLlxuICpcbiAqIFRoZSBuYW1lcyBhcmUgcGFzdCB0ZW5zZSBiZWNhdXNlIGEgYnJvYWRjYXN0IHN0YXRlcyBzb21ldGhpbmcgdGhhdCBoYXMgYWxyZWFkeSBoYXBwZW5lZC4gYGxvYWRlZGAgaW5cbiAqIHBhcnRpY3VsYXIgY2FycmllcyBhIGd1YXJhbnRlZTogaXQgaXMgdHJpZ2dlcmVkIG9ubHkgYWZ0ZXIgZXZlcnkgQVBJIHRoZSBwbHVnaW4gZGVjbGFyZXMgaGFzIGJlZW5cbiAqIHB1Ymxpc2hlZCwgc28gYSBsaXN0ZW5lciBtYXkgY2FsbCB0aGVtIGltbWVkaWF0ZWx5LlxuICpcbiAqIEJvdGggdGhlIGV2ZW50IG5hbWVzIGFuZCB7QGxpbmsgUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXlsb2FkfSBhcmUgYSBDUk9TUy1WRVJTSU9OIENPTlRSQUNULiBDb3BpZXMgb2ZcbiAqIHRoaXMgbGlicmFyeSBhdCBkaWZmZXJlbnQgdmVyc2lvbnMgcHVibGlzaCBhbmQgY29uc3VtZSB0aGVtIHNpZGUgYnkgc2lkZSBpbiBvbmUgdmF1bHQsIHNvIG5laXRoZXIgbWF5XG4gKiBjaGFuZ2UgaW5jb21wYXRpYmx5OiBwbGFpbiBkYXRhIG9ubHksIGFuZCBuZXcgcGF5bG9hZCBmaWVsZHMgb25seSBldmVyIGFkZGVkLlxuICpcbiAqIFRoYXQgY29udHJhY3QgaXMgYWxzbyBQVUJMSVNIRUQsIGFzIG9mIHRoZSBgUGx1Z2luIEFQSSBwcm90b2NvbGAgZ3VpZGU6IHRoaXJkLXBhcnR5IHBsdWdpbnMgdGhhdCB3aWxsXG4gKiBuZXZlciBpbnN0YWxsIHRoaXMgbGlicmFyeSBhcmUgdG9sZCB0byBoYXJkY29kZSB0aGVzZSB0d28gc3RyaW5ncyBhbmQgdGhpcyBwYXlsb2FkIHNoYXBlLiBQdWJsaXNoaW5nIGl0XG4gKiBhZGRlZCBubyBuZXcgY29uc3RyYWludCDigJQgdGhlIGNyb3NzLWNvcHkgb25lIGFib3ZlIGFscmVhZHkgZm9yYmFkZSBldmVyeSBjaGFuZ2UgYW4gb3V0c2lkZXIgY291bGRcbiAqIG5vdGljZSDigJQgYnV0IGl0IGRvZXMgbWVhbiBhIHJlbmFtZSBpcyBub3cgZG91Ymx5IHVuYXZhaWxhYmxlLiBUaGUgYG9ic2lkaWFuLWRldi11dGlsczpgIHByZWZpeCBuYW1lcyB0aGVcbiAqIGxpYnJhcnkgcmF0aGVyIHRoYW4gdGhlIHN1YmplY3QsIHdoaWNoIGlzIGEgd2FydCwgYW5kIGEgcGVybWFuZW50IG9uZTogYSBuZXV0cmFsIGFsaWFzIHdvdWxkIG5vdCByZXRpcmVcbiAqIHRoZSBvbGQgbmFtZSAoYWxyZWFkeS1yZWxlYXNlZCBwbHVnaW5zIGVtaXQgb25seSBpdCksIHNvIGl0IHdvdWxkIGxlYXZlIGV2ZXJ5IGNvcnJlY3QgY29uc3VtZXIgbGlzdGVuaW5nXG4gKiBmb3IgYm90aCwgZm9yZXZlci5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiBlaXRoZXIgbGlmZWN5Y2xlIGV2ZW50LlxuICovXG5leHBvcnQgdHlwZSBQbHVnaW5MaWZlY3ljbGVFdmVudE5hbWUgPSB0eXBlb2YgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FIHwgdHlwZW9mIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FO1xuXG4vKipcbiAqIFRoZSBwYXlsb2FkIG9mIHtAbGluayBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUV9IGFuZCB7QGxpbmsgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUV9LlxuICpcbiAqIFBsYWluIGRhdGEgYnkgZGVzaWduIOKAlCBubyBjbGFzcyBpbnN0YW5jZXMgYW5kIG5vIHR5cGVzIG93bmVkIGJ5IHRoaXMgbGlicmFyeSDigJQgYmVjYXVzZSBpdCBjcm9zc2VzXG4gKiBiZXR3ZWVuIGluZGVwZW5kZW50bHkgYnVuZGxlZCBjb3BpZXMgb2YgaXQsIGFuZCBiZXR3ZWVuIHBsdWdpbnMgdGhhdCBkbyBub3QgdXNlIGl0IGF0IGFsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQge1xuICAvKipcbiAgICogVGhlIGNvbnRyYWN0IHZlcnNpb25zIHRoZSBwbHVnaW4gcHVibGlzaGVkLCBlbXB0eSB3aGVuIGl0IHB1Ymxpc2hlcyBubyBBUEkuXG4gICAqXG4gICAqIEFuIGFycmF5IHJhdGhlciB0aGFuIGEgc2luZ2xlIHZlcnNpb24gYmVjYXVzZSBhIHByb3ZpZGVyIG1heSBwdWJsaXNoIHNldmVyYWwgY29udHJhY3QgdmVyc2lvbnMgc2lkZSBieVxuICAgKiBzaWRlLCBzbyBjb25zdW1lcnMgcGlubmVkIHRvIGFuIG9sZGVyIHJhbmdlIGtlZXAgd29ya2luZyBhY3Jvc3MgYSBicmVha2luZyBjaGFuZ2UuXG4gICAqXG4gICAqIFRoZSBBUEkgb2JqZWN0cyB0aGVtc2VsdmVzIGFyZSBkZWxpYmVyYXRlbHkgTk9UIGhlcmUuIEEgaGFuZGxlIGRlbGl2ZXJlZCBieSBhIG9uZS1zaG90IGV2ZW50IGlzIGFcbiAgICogcHJvYmU6IGl0IGFuc3dlcnMgXCJub3dcIiBhbmQgbmV2ZXIgc2F5cyB3aGVuIFwibm93XCIgY2hhbmdlZCwgYW5kIG9uZSB0aGF0IG91dGxpdmVzIHRoZSBwcm92aWRlciBpc1xuICAgKiBleGFjdGx5IHRoZSBzdGFsZSBoYW5kbGUgdGhlIHBsdWdpbi1hcGkgcmVnaXN0cnkncyByZXZvY2FibGUgaGFuZGxlcyBleGlzdCB0byBwcmV2ZW50LiBSZWFjaCB0aGUgQVBJXG4gICAqIHRocm91Z2ggYHdhdGNoUGx1Z2luQXBpYCBpbnN0ZWFkLCB3aG9zZSByZWZlcmVuY2Ugc3RheXMgY29ycmVjdCBhY3Jvc3MgdW5sb2FkIGFuZCByZS1lbmFibGUuXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBpZHMgb2YgdGhlIHBsdWdpbnMgdGhpcyBvbmUgZGVjbGFyZXMgYXMgbWFuZGF0b3J5IGRlcGVuZGVuY2llcywgZW1wdHkgd2hlbiBpdCBkZWNsYXJlcyBub25lLlxuICAgKlxuICAgKiBQcmVzZW50IHNvIHRoZSByZWxhdGlvbnNoaXAgY2FuIGJlIHJlYWQgZnJvbSB0aGUgT1RIRVIgZW5kOiBhIHByb3ZpZGVyIGhhcyBubyB3YXkgdG8gYXNrIHdobyBkZXBlbmRzXG4gICAqIG9uIGl0IOKAlCB0aGUgcmVnaXN0cnkgb25seSBhbnN3ZXJzIGNvbnN1bWVyLXRvLXByb3ZpZGVyIOKAlCBhbmQgXCJ3aGljaCBpbnN0YWxsZWQgcGx1Z2lucyBuZWVkIHRoaXMgb25lXCJcbiAgICogaXMgd2hhdCBsZXRzIGEgcHJvdmlkZXIncyBzZXR0aW5ncyB0YWIgdGVsbCB0aGUgdXNlciB3aHkgaXQgaXMgaW4gdGhlaXIgdmF1bHQgYXQgYWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kZW5jeVBsdWdpbklkczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgbWFuaWZlc3QuaWRgLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIGBtYW5pZmVzdC5uYW1lYCwgZm9yIGRpc3BsYXkuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgbWFuaWZlc3QudmVyc2lvbmAuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5WZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlclBsdWdpbkxpZmVjeWNsZUV2ZW50UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2Ugd2hvc2Ugd29ya3NwYWNlIGNhcnJpZXMgdGhlIGJyb2FkY2FzdC5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gdHJpZ2dlci5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZTtcblxuICAvKipcbiAgICogVGhlIHBheWxvYWQgZGVzY3JpYmluZyB0aGUgcGx1Z2luLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXlsb2FkO1xufVxuXG4vKipcbiAqIFRyaWdnZXJlZCBvbmNlIGEgcGx1Z2luIGhhcyBmaW5pc2hlZCBsb2FkaW5nIEFORCBwdWJsaXNoZWQgZXZlcnkgQVBJIGl0IGRlY2xhcmVzLCBzbyBhIGxpc3RlbmVyIG1heSBjYWxsXG4gKiB0aG9zZSBBUElzIGltbWVkaWF0ZWx5LlxuICpcbiAqIE5hbWVzcGFjZWQgYnkgdGhlIHBhY2thZ2UgbmFtZSByYXRoZXIgdGhhbiBieSBhbiBhYmJyZXZpYXRpb24gb2YgaXQ6IHRoZSBldmVudCBpcyBnbG9iYWwgdG8gdGhlIHZhdWx0XG4gKiBhbmQgYWltZWQgYXQgcGx1Z2luIGF1dGhvcnMgd2hvIGhhdmUgbmV2ZXIgaGVhcmQgb2YgdGhpcyBsaWJyYXJ5LCBzbyB0aGUgcHJlZml4IGhhcyB0byBpZGVudGlmeSBpdHNlbGYuXG4gKi9cbmV4cG9ydCBjb25zdCBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUgPSAnb2JzaWRpYW4tZGV2LXV0aWxzOnBsdWdpbi1sb2FkZWQnO1xuXG4vKipcbiAqIFRyaWdnZXJlZCBhcyBhIHBsdWdpbiB1bmxvYWRzIOKAlCB3aGV0aGVyIHRoZSB1c2VyIGRpc2FibGVkIGl0LCB1bmluc3RhbGxlZCBpdCwgb3IgT2JzaWRpYW4gaXMgc2h1dHRpbmdcbiAqIGRvd24uIEl0cyBBUElzIGFyZSByZXZva2VkIGJ5IHRoZSB0aW1lIGEgbGlzdGVuZXIgcnVucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FID0gJ29ic2lkaWFuLWRldi11dGlsczpwbHVnaW4tdW5sb2FkZWQnO1xuXG5kZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4nIHtcbiAgaW50ZXJmYWNlIFdvcmtzcGFjZSB7XG4gICAgLyoqXG4gICAgICogU3Vic2NyaWJlcyB0byBhIHBsdWdpbiBmaW5pc2hpbmcgaXRzIGxvYWQsIG9yIHRvIG9uZSB1bmxvYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSAtIFNob3VsZCBiZSB7QGxpbmsgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FfSBvciB7QGxpbmsgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUV9LlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayByZWNlaXZpbmcgdGhlIHBsdWdpbidzIHBheWxvYWQuXG4gICAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgY29udGV4dCBwYXNzZWQgYXMgYHRoaXNgIHRvIHRoZSBgY2FsbGJhY2tgIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgLypcbiAgICAgKiBBbiBhdWdtZW50YXRpb24gb2YgYW4gRVhJU1RJTkcgb3ZlcmxvYWQgc2V0IGhhcyB0byBzdGF5IGEgbWV0aG9kIHNpZ25hdHVyZS4gQSBwcm9wZXJ0eSBtZW1iZXIgZG9lcyBub3QgbWVyZ2UgaW50b1xuICAgICAqIGBXb3Jrc3BhY2Uub25gJ3Mgb3ZlcmxvYWRzLCBhbmQgVHlwZVNjcmlwdCBzYXlzIHNvIG5vd2hlcmUgbmVhciBoZXJlOiB0aGUgZGVjbGFyYXRpb24gaXRzZWxmIGNvbXBpbGVzLCBhbmQgZXZlcnlcbiAgICAgKiBjYWxsIHNpdGUgbG9zZXMgdGhlIHNpZ25hdHVyZSBpbnN0ZWFkIOKAlCBgb24oUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FLCAuLi4pYCBmYWlscyB3aXRoIFwidGhlIGxhc3Qgb3ZlcmxvYWQgZ2F2ZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgZXJyb3JcIi4gVGhlIHJ1bGUgcmVwb3J0cyB0aGlzIG9uZSB3aXRob3V0IGEgZml4IGZvciB0aGUgc2FtZSByZWFzb24sIHNvIHRoZSBkaXNhYmxlIGJlbG93IGlzIHRoZSBhbnN3ZXJcbiAgICAgKiByYXRoZXIgdGhhbiBhIGRlZmVycmFsLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZSAtLSBBIHByb3BlcnR5IG1lbWJlciBkb2VzIG5vdCBtZXJnZSBpbnRvIGFuIGV4aXN0aW5nIG92ZXJsb2FkIHNldC4gU2VlIGFib3ZlLlxuICAgIG9uKG5hbWU6IFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZSwgY2FsbGJhY2s6IChwYXlsb2FkOiBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQpID0+IHVua25vd24sIGNvbnRleHQ/OiB1bmtub3duKTogRXZlbnRSZWY7XG4gIH1cbn1cblxuLyoqXG4gKiBUcmlnZ2VycyBvbmUgb2YgdGhlIHR3byBsaWZlY3ljbGUgZXZlbnRzIG9uIHRoZSBhcHAncyB3b3Jrc3BhY2UuXG4gKlxuICogQSB0aGluIHR5cGVkIHdyYXBwZXIgb3ZlciBgV29ya3NwYWNlLnRyaWdnZXJgLCB3aGljaCBhY2NlcHRzIGFueSBldmVudCBuYW1lIGFuZCBhbnkgYXJndW1lbnRzLCBzbyB0aGF0XG4gKiB0aGUgb25lIHBsYWNlIGEgcGF5bG9hZCBpcyBjb25zdHJ1Y3RlZCBpcyBjaGVja2VkIGFnYWluc3Qge0BsaW5rIFBsdWdpbkxpZmVjeWNsZUV2ZW50UGF5bG9hZH0uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgVHJpZ2dlclBsdWdpbkxpZmVjeWNsZUV2ZW50UGFyYW1zfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudChwYXJhbXM6IFRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudFBhcmFtcyk6IHZvaWQge1xuICBwYXJhbXMuYXBwLndvcmtzcGFjZS50cmlnZ2VyKHBhcmFtcy5uYW1lLCBwYXJhbXMucGF5bG9hZCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkdPLE1BQU0sMkJBQTJCO0FBTWpDLE1BQU0sNkJBQTZCO0FBZ0NuQyxTQUFTLDRCQUE0QixRQUFpRDtBQUMzRixTQUFPLElBQUksVUFBVSxRQUFRLE9BQU8sTUFBTSxPQUFPLE9BQU87QUFDMUQ7IiwibmFtZXMiOltdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBsaWZlY3ljbGUgYnJvYWRjYXN0IGV2ZXJ5IHtAbGluayBQbHVnaW5CYXNlfSBtYWtlczogYG9ic2lkaWFuLWxpYjpwbHVnaW4tbG9hZGVkYCB3aGVuIGl0IGhhc1xuICogZmluaXNoZWQgbG9hZGluZyBhbmQgYG9ic2lkaWFuLWxpYjpwbHVnaW4tdW5sb2FkZWRgIHdoZW4gaXQgZ29lcyBhd2F5LiBFYWNoIGlzIGFsc28gdHJpZ2dlcmVkIHVuZGVyIGl0c1xuICogbGVnYWN5IG5hbWUsIGBvYnNpZGlhbi1kZXYtdXRpbHM6cGx1Z2luLWxvYWRlZGAgLyBgb2JzaWRpYW4tZGV2LXV0aWxzOnBsdWdpbi11bmxvYWRlZGAsIGZvciBnb29kLlxuICpcbiAqIE9ic2lkaWFuIGdpdmVzIGEgcGx1Z2luIG5vIHdheSB0byBsZWFybiB0aGF0IEFOT1RIRVIgcGx1Z2luIHdhcyBlbmFibGVkIG9yIGRpc2FibGVkIOKAlCB0aGVyZSBpcyBubyBzdWNoXG4gKiBldmVudCBvbiBgYXBwLnBsdWdpbnNgLCBhbmQgYSBwbHVnaW4ncyBvd24gYEV2ZW50c2Agc291cmNlIGNhbm5vdCBoZWxwIGEgbGlzdGVuZXIgdGhhdCBkb2VzIG5vdCB5ZXQgaG9sZFxuICogdGhlIGluc3RhbmNlLiBTbyB0aGUgYnJvYWRjYXN0IGdvZXMgdGhyb3VnaCBgYXBwLndvcmtzcGFjZWAsIHdoaWNoIGlzIG9uZSBvYmplY3QgZXZlcnkgcGx1Z2luIGluIHRoZVxuICogdmF1bHQgY2FuIHJlYWNoLiBEZWxpYmVyYXRlbHkgTk9UIHRoZSBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuRGV2VXRpbHNgIGJhZyB0aGUgcmVzdCBvZiB0aGUgbGlicmFyeSBzaGFyZXNcbiAqIGl0cyBzdGF0ZSB0aHJvdWdoOiBhIGxpc3RlbmVyIHRoZXJlIG5lZWRzIGl0cyBvd24gY29weSBvZiB0aGlzIGxpYnJhcnksIGFuZCB0aGVzZSBldmVudHMgYXJlIG1lYW50IHRvIGJlXG4gKiBjb25zdW1hYmxlIGJ5IGFueSBwbHVnaW4gYXQgYWxsLlxuICpcbiAqIFRoZSBuYW1lcyBhcmUgcGFzdCB0ZW5zZSBiZWNhdXNlIGEgYnJvYWRjYXN0IHN0YXRlcyBzb21ldGhpbmcgdGhhdCBoYXMgYWxyZWFkeSBoYXBwZW5lZC4gYGxvYWRlZGAgaW5cbiAqIHBhcnRpY3VsYXIgY2FycmllcyBhIGd1YXJhbnRlZTogaXQgaXMgdHJpZ2dlcmVkIG9ubHkgYWZ0ZXIgZXZlcnkgQVBJIHRoZSBwbHVnaW4gZGVjbGFyZXMgaGFzIGJlZW5cbiAqIHB1Ymxpc2hlZCwgc28gYSBsaXN0ZW5lciBtYXkgY2FsbCB0aGVtIGltbWVkaWF0ZWx5LlxuICpcbiAqIEJvdGggdGhlIGV2ZW50IG5hbWVzIGFuZCB7QGxpbmsgUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXlsb2FkfSBhcmUgYSBDUk9TUy1WRVJTSU9OIENPTlRSQUNULiBDb3BpZXMgb2ZcbiAqIHRoaXMgbGlicmFyeSBhdCBkaWZmZXJlbnQgdmVyc2lvbnMgcHVibGlzaCBhbmQgY29uc3VtZSB0aGVtIHNpZGUgYnkgc2lkZSBpbiBvbmUgdmF1bHQsIHNvIG5laXRoZXIgbWF5XG4gKiBjaGFuZ2UgaW5jb21wYXRpYmx5OiBwbGFpbiBkYXRhIG9ubHksIGFuZCBuZXcgcGF5bG9hZCBmaWVsZHMgb25seSBldmVyIGFkZGVkLlxuICpcbiAqIFRoYXQgY29udHJhY3QgaXMgYWxzbyBQVUJMSVNIRUQsIGFzIG9mIHRoZSBgUGx1Z2luIEFQSSBwcm90b2NvbGAgZ3VpZGU6IHRoaXJkLXBhcnR5IHBsdWdpbnMgdGhhdCB3aWxsXG4gKiBuZXZlciBpbnN0YWxsIHRoaXMgbGlicmFyeSBhcmUgdG9sZCB0byBoYXJkY29kZSB0aGVzZSBzdHJpbmdzIGFuZCB0aGlzIHBheWxvYWQgc2hhcGUuIFB1Ymxpc2hpbmcgaXRcbiAqIGFkZGVkIG5vIG5ldyBjb25zdHJhaW50IOKAlCB0aGUgY3Jvc3MtY29weSBvbmUgYWJvdmUgYWxyZWFkeSBmb3JiYWRlIGV2ZXJ5IGNoYW5nZSBhbiBvdXRzaWRlciBjb3VsZFxuICogbm90aWNlLlxuICpcbiAqIFRoZSByZW5hbWUgdG8gYG9ic2lkaWFuLWxpYjpgIGlzIGFkZGl0aXZlIGZvciB0aGF0IHJlYXNvbi4gQWxyZWFkeS1yZWxlYXNlZCBjb3BpZXMgZW1pdCBhbmQgaGVhciBvbmx5IHRoZVxuICogbGVnYWN5IG5hbWVzLCBzbyBhIGN1cnJlbnQgY29weSB0cmlnZ2VycyBib3RoLCBhbmQgcmVsYXlzIGFuIG9sZGVyIGNvcHkncyBsZWdhY3kgZXZlbnQgdG8gdGhlIGN1cnJlbnRcbiAqIG5hbWUgKHtAbGluayByZWdpc3RlclBsdWdpbkxpZmVjeWNsZUV2ZW50UmVsYXl9KS4gQSBsaXN0ZW5lciB0aGVyZWZvcmUgbmVlZHMgZXhhY3RseSBPTkUgb2YgdGhlIHR3byBuYW1lczpcbiAqIHRoZSBsZWdhY3kgb25lIGhlYXJzIGV2ZXJ5IGNvcHkgZXZlciByZWxlYXNlZCwgYW5kIHRoZSBjdXJyZW50IG9uZSBoZWFycyBldmVyeSBjb3B5IHdoZW5ldmVyIGF0IGxlYXN0IG9uZVxuICogY3VycmVudCBjb3B5IGlzIGxvYWRlZCB0byByZWxheS4gTGlzdGVuaW5nIG9uIGJvdGggaGVhcnMgZXZlcnkgY3VycmVudCBjb3B5IHR3aWNlLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUgfSBmcm9tICcuLi9vYnNpZGlhbi1kZXYtdXRpbHMtc3RhdGUudHMnO1xuXG4vKipcbiAqIFRoZSBuYW1lIG9mIGVpdGhlciBsaWZlY3ljbGUgZXZlbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZSA9IHR5cGVvZiBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUgfCB0eXBlb2YgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUU7XG5cbi8qKlxuICogVGhlIHBheWxvYWQgb2Yge0BsaW5rIFBMVUdJTl9MT0FERURfRVZFTlRfTkFNRX0gYW5kIHtAbGluayBQTFVHSU5fVU5MT0FERURfRVZFTlRfTkFNRX0uXG4gKlxuICogUGxhaW4gZGF0YSBieSBkZXNpZ24g4oCUIG5vIGNsYXNzIGluc3RhbmNlcyBhbmQgbm8gdHlwZXMgb3duZWQgYnkgdGhpcyBsaWJyYXJ5IOKAlCBiZWNhdXNlIGl0IGNyb3NzZXNcbiAqIGJldHdlZW4gaW5kZXBlbmRlbnRseSBidW5kbGVkIGNvcGllcyBvZiBpdCwgYW5kIGJldHdlZW4gcGx1Z2lucyB0aGF0IGRvIG5vdCB1c2UgaXQgYXQgYWxsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkxpZmVjeWNsZUV2ZW50UGF5bG9hZCB7XG4gIC8qKlxuICAgKiBUaGUgY29udHJhY3QgdmVyc2lvbnMgdGhlIHBsdWdpbiBwdWJsaXNoZWQsIGVtcHR5IHdoZW4gaXQgcHVibGlzaGVzIG5vIEFQSS5cbiAgICpcbiAgICogQW4gYXJyYXkgcmF0aGVyIHRoYW4gYSBzaW5nbGUgdmVyc2lvbiBiZWNhdXNlIGEgcHJvdmlkZXIgbWF5IHB1Ymxpc2ggc2V2ZXJhbCBjb250cmFjdCB2ZXJzaW9ucyBzaWRlIGJ5XG4gICAqIHNpZGUsIHNvIGNvbnN1bWVycyBwaW5uZWQgdG8gYW4gb2xkZXIgcmFuZ2Uga2VlcCB3b3JraW5nIGFjcm9zcyBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICpcbiAgICogVGhlIEFQSSBvYmplY3RzIHRoZW1zZWx2ZXMgYXJlIGRlbGliZXJhdGVseSBOT1QgaGVyZS4gQSBoYW5kbGUgZGVsaXZlcmVkIGJ5IGEgb25lLXNob3QgZXZlbnQgaXMgYVxuICAgKiBwcm9iZTogaXQgYW5zd2VycyBcIm5vd1wiIGFuZCBuZXZlciBzYXlzIHdoZW4gXCJub3dcIiBjaGFuZ2VkLCBhbmQgb25lIHRoYXQgb3V0bGl2ZXMgdGhlIHByb3ZpZGVyIGlzXG4gICAqIGV4YWN0bHkgdGhlIHN0YWxlIGhhbmRsZSB0aGUgcGx1Z2luLWFwaSByZWdpc3RyeSdzIHJldm9jYWJsZSBoYW5kbGVzIGV4aXN0IHRvIHByZXZlbnQuIFJlYWNoIHRoZSBBUElcbiAgICogdGhyb3VnaCBgd2F0Y2hQbHVnaW5BcGlgIGluc3RlYWQsIHdob3NlIHJlZmVyZW5jZSBzdGF5cyBjb3JyZWN0IGFjcm9zcyB1bmxvYWQgYW5kIHJlLWVuYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwaVZlcnNpb25zOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGlkcyBvZiB0aGUgcGx1Z2lucyB0aGlzIG9uZSBkZWNsYXJlcyBhcyBtYW5kYXRvcnkgZGVwZW5kZW5jaWVzLCBlbXB0eSB3aGVuIGl0IGRlY2xhcmVzIG5vbmUuXG4gICAqXG4gICAqIFByZXNlbnQgc28gdGhlIHJlbGF0aW9uc2hpcCBjYW4gYmUgcmVhZCBmcm9tIHRoZSBPVEhFUiBlbmQ6IGEgcHJvdmlkZXIgaGFzIG5vIHdheSB0byBhc2sgd2hvIGRlcGVuZHNcbiAgICogb24gaXQg4oCUIHRoZSByZWdpc3RyeSBvbmx5IGFuc3dlcnMgY29uc3VtZXItdG8tcHJvdmlkZXIg4oCUIGFuZCBcIndoaWNoIGluc3RhbGxlZCBwbHVnaW5zIG5lZWQgdGhpcyBvbmVcIlxuICAgKiBpcyB3aGF0IGxldHMgYSBwcm92aWRlcidzIHNldHRpbmdzIHRhYiB0ZWxsIHRoZSB1c2VyIHdoeSBpdCBpcyBpbiB0aGVpciB2YXVsdCBhdCBhbGwuXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRlbmN5UGx1Z2luSWRzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIGBtYW5pZmVzdC5pZGAuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luJ3MgYG1hbmlmZXN0Lm5hbWVgLCBmb3IgZGlzcGxheS5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIGBtYW5pZmVzdC52ZXJzaW9uYC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpblZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVnaXN0ZXJQbHVnaW5MaWZlY3ljbGVFdmVudFJlbGF5fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclBsdWdpbkxpZmVjeWNsZUV2ZW50UmVsYXlQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZSB3aG9zZSB3b3Jrc3BhY2UgY2FycmllcyB0aGUgYnJvYWRjYXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnQgdGhhdCBvd25zIHRoZSByZWxheTogaXQgcmVsYXlzIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50OiBDb21wb25lbnQ7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlclBsdWdpbkxpZmVjeWNsZUV2ZW50UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2Ugd2hvc2Ugd29ya3NwYWNlIGNhcnJpZXMgdGhlIGJyb2FkY2FzdC5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gdHJpZ2dlci5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZTtcblxuICAvKipcbiAgICogVGhlIHBheWxvYWQgZGVzY3JpYmluZyB0aGUgcGx1Z2luLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXlsb2FkO1xufVxuXG50eXBlIEFubm91bmNlZFBheWxvYWRzID0gUmVjb3JkPFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZSwgV2Vha1NldDxvYmplY3Q+PjtcblxuLyoqXG4gKiBUcmlnZ2VyZWQgb25jZSBhIHBsdWdpbiBoYXMgZmluaXNoZWQgbG9hZGluZyBBTkQgcHVibGlzaGVkIGV2ZXJ5IEFQSSBpdCBkZWNsYXJlcywgc28gYSBsaXN0ZW5lciBtYXkgY2FsbFxuICogdGhvc2UgQVBJcyBpbW1lZGlhdGVseS5cbiAqXG4gKiBOYW1lc3BhY2VkIGJ5IHRoZSBwYWNrYWdlIG5hbWUgcmF0aGVyIHRoYW4gYnkgYW4gYWJicmV2aWF0aW9uIG9mIGl0OiB0aGUgZXZlbnQgaXMgZ2xvYmFsIHRvIHRoZSB2YXVsdFxuICogYW5kIGFpbWVkIGF0IHBsdWdpbiBhdXRob3JzIHdobyBoYXZlIG5ldmVyIGhlYXJkIG9mIHRoaXMgbGlicmFyeSwgc28gdGhlIHByZWZpeCBoYXMgdG8gaWRlbnRpZnkgaXRzZWxmLlxuICovXG5leHBvcnQgY29uc3QgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FID0gJ29ic2lkaWFuLWxpYjpwbHVnaW4tbG9hZGVkJztcblxuLyoqXG4gKiBUcmlnZ2VyZWQgYXMgYSBwbHVnaW4gdW5sb2FkcyDigJQgd2hldGhlciB0aGUgdXNlciBkaXNhYmxlZCBpdCwgdW5pbnN0YWxsZWQgaXQsIG9yIE9ic2lkaWFuIGlzIHNodXR0aW5nXG4gKiBkb3duLiBJdHMgQVBJcyBhcmUgcmV2b2tlZCBieSB0aGUgdGltZSBhIGxpc3RlbmVyIHJ1bnMuXG4gKi9cbmV4cG9ydCBjb25zdCBQTFVHSU5fVU5MT0FERURfRVZFTlRfTkFNRSA9ICdvYnNpZGlhbi1saWI6cGx1Z2luLXVubG9hZGVkJztcblxuLyoqXG4gKiBUaGUgbGVnYWN5IG5hbWUgb2Yge0BsaW5rIFBMVUdJTl9MT0FERURfRVZFTlRfTkFNRX0sIGZyb20gYmVmb3JlIHRoZSBsaWJyYXJ5IHdhcyByZW5hbWVkLiBJdCBpcyBzdGlsbFxuICogdHJpZ2dlcmVkLCBmb3IgZ29vZCwgYmVjYXVzZSBvbGRlciBjb3BpZXMgbGlzdGVuIG9ubHkgb24gaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBMRUdBQ1lfUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FID0gJ29ic2lkaWFuLWRldi11dGlsczpwbHVnaW4tbG9hZGVkJztcblxuLyoqXG4gKiBUaGUgbGVnYWN5IG5hbWUgb2Yge0BsaW5rIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FfSwgZnJvbSBiZWZvcmUgdGhlIGxpYnJhcnkgd2FzIHJlbmFtZWQuIEl0IGlzIHN0aWxsXG4gKiB0cmlnZ2VyZWQsIGZvciBnb29kLCBiZWNhdXNlIG9sZGVyIGNvcGllcyBsaXN0ZW4gb25seSBvbiBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IExFR0FDWV9QTFVHSU5fVU5MT0FERURfRVZFTlRfTkFNRSA9ICdvYnNpZGlhbi1kZXYtdXRpbHM6cGx1Z2luLXVubG9hZGVkJztcblxuLyoqXG4gKiBUaGUgbGVnYWN5IG5hbWUgb2YgZWl0aGVyIGxpZmVjeWNsZSBldmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgTGVnYWN5UGx1Z2luTGlmZWN5Y2xlRXZlbnROYW1lID0gdHlwZW9mIExFR0FDWV9QTFVHSU5fTE9BREVEX0VWRU5UX05BTUUgfCB0eXBlb2YgTEVHQUNZX1BMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FO1xuXG5jb25zdCBQTFVHSU5fTElGRUNZQ0xFX0VWRU5UX05BTUVTOiByZWFkb25seSBQbHVnaW5MaWZlY3ljbGVFdmVudE5hbWVbXSA9IFtQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUsIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FXTtcblxuY29uc3QgTEVHQUNZX1BMVUdJTl9MSUZFQ1lDTEVfRVZFTlRfTkFNRVM6IFJlYWRvbmx5PFJlY29yZDxQbHVnaW5MaWZlY3ljbGVFdmVudE5hbWUsIExlZ2FjeVBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZT4+ID0ge1xuICBbUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FXTogTEVHQUNZX1BMVUdJTl9MT0FERURfRVZFTlRfTkFNRSxcbiAgW1BMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FXTogTEVHQUNZX1BMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FXG59O1xuXG4vKipcbiAqIFRoZSBzaGFyZWQtc3RhdGUga2V5IG9mIHRoZSBwYXlsb2FkcyBhbHJlYWR5IGFubm91bmNlZCB1bmRlciB0aGUgY3VycmVudCBuYW1lcy4gU2hhcmVkIGJldHdlZW4gY29waWVzIG9mXG4gKiB0aGlzIGxpYnJhcnksIHNvIGl0IGlzIHZlcnNpb25lZDogYSBjaGFuZ2UgdG8gd2hhdCBpdCBob2xkcyB0YWtlcyBhIG5ldyBrZXkuXG4gKi9cbmNvbnN0IEFOTk9VTkNFRF9QQVlMT0FEU19TVEFURV9LRVkgPSAncGx1Z2luTGlmZWN5Y2xlQW5ub3VuY2VkUGF5bG9hZHNWMSc7XG5cbmRlY2xhcmUgbW9kdWxlICdvYnNpZGlhbicge1xuICBpbnRlcmZhY2UgV29ya3NwYWNlIHtcbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmVzIHRvIGEgcGx1Z2luIGZpbmlzaGluZyBpdHMgbG9hZCwgb3IgdG8gb25lIHVubG9hZGluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIC0gU2hvdWxkIGJlIHtAbGluayBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUV9IG9yIHtAbGluayBQTFVHSU5fVU5MT0FERURfRVZFTlRfTkFNRX0sIG9yIG9uZSBvZiB0aGVpclxuICAgICAqICAgbGVnYWN5IG5hbWVzLlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayByZWNlaXZpbmcgdGhlIHBsdWdpbidzIHBheWxvYWQuXG4gICAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgY29udGV4dCBwYXNzZWQgYXMgYHRoaXNgIHRvIHRoZSBgY2FsbGJhY2tgIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgLypcbiAgICAgKiBBbiBhdWdtZW50YXRpb24gb2YgYW4gRVhJU1RJTkcgb3ZlcmxvYWQgc2V0IGhhcyB0byBzdGF5IGEgbWV0aG9kIHNpZ25hdHVyZS4gQSBwcm9wZXJ0eSBtZW1iZXIgZG9lcyBub3QgbWVyZ2UgaW50b1xuICAgICAqIGBXb3Jrc3BhY2Uub25gJ3Mgb3ZlcmxvYWRzLCBhbmQgVHlwZVNjcmlwdCBzYXlzIHNvIG5vd2hlcmUgbmVhciBoZXJlOiB0aGUgZGVjbGFyYXRpb24gaXRzZWxmIGNvbXBpbGVzLCBhbmQgZXZlcnlcbiAgICAgKiBjYWxsIHNpdGUgbG9zZXMgdGhlIHNpZ25hdHVyZSBpbnN0ZWFkIOKAlCBgb24oUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FLCAuLi4pYCBmYWlscyB3aXRoIFwidGhlIGxhc3Qgb3ZlcmxvYWQgZ2F2ZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgZXJyb3JcIi4gVGhlIHJ1bGUgcmVwb3J0cyB0aGlzIG9uZSB3aXRob3V0IGEgZml4IGZvciB0aGUgc2FtZSByZWFzb24sIHNvIHRoZSBkaXNhYmxlIGJlbG93IGlzIHRoZSBhbnN3ZXJcbiAgICAgKiByYXRoZXIgdGhhbiBhIGRlZmVycmFsLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZSAtLSBBIHByb3BlcnR5IG1lbWJlciBkb2VzIG5vdCBtZXJnZSBpbnRvIGFuIGV4aXN0aW5nIG92ZXJsb2FkIHNldC4gU2VlIGFib3ZlLlxuICAgIG9uKFxuICAgICAgbmFtZTogTGVnYWN5UGx1Z2luTGlmZWN5Y2xlRXZlbnROYW1lIHwgUGx1Z2luTGlmZWN5Y2xlRXZlbnROYW1lLFxuICAgICAgY2FsbGJhY2s6IChwYXlsb2FkOiBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQpID0+IHVua25vd24sXG4gICAgICBjb250ZXh0PzogdW5rbm93blxuICAgICk6IEV2ZW50UmVmO1xuICB9XG59XG5cbi8qKlxuICogUmVsYXlzIGFuIG9sZGVyIGNvcHkncyBsaWZlY3ljbGUgZXZlbnRzIHRvIHRoZSBjdXJyZW50IG5hbWVzLCBmb3IgYXMgbG9uZyBhcyBgY29tcG9uZW50YCBpcyBsb2FkZWQuXG4gKlxuICogQW4gb2xkZXIgY29weSBvZiB0aGlzIGxpYnJhcnkgZW1pdHMgb25seSB0aGUgbGVnYWN5IG5hbWVzLCBzbyB3aXRob3V0IGEgcmVsYXkgYSBsaXN0ZW5lciBvblxuICoge0BsaW5rIFBMVUdJTl9MT0FERURfRVZFTlRfTkFNRX0gd291bGQgbmV2ZXIgaGVhciBhYm91dCBpdC4gVGhlIHJlbGF5IGxpc3RlbnMgb24gZWFjaCBsZWdhY3kgbmFtZSBhbmRcbiAqIHJlLXRyaWdnZXJzIHRoZSBjdXJyZW50IG9uZSwgdW5sZXNzIHRoZSBwYXlsb2FkIHdhcyBhbHJlYWR5IGFubm91bmNlZCB1bmRlciBpdC4gQSBjdXJyZW50IGNvcHkgYW5ub3VuY2VzXG4gKiB1bmRlciBib3RoIG5hbWVzIChzZWUge0BsaW5rIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudH0pIGFuZCBtYXJrcyBpdHMgcGF5bG9hZCBmaXJzdCwgc28gaXRzIG93biBsZWdhY3lcbiAqIGVjaG8gaXMgc2tpcHBlZC4gRXZlcnkgcGx1Z2luIGJ1aWx0IG9uIHRoaXMgbGlicmFyeSByZWdpc3RlcnMgYSByZWxheSwgYW5kIHRoZXkgc2hhcmUgb25lIHNldCBvZiBtYXJrcyxcbiAqIHNvIHRoZSBmaXJzdCByZWxheSB0byBzZWUgYW4gb2xkZXIgY29weSdzIGV2ZW50IHJlLXRyaWdnZXJzIGl0IGFuZCB0aGUgcmVzdCBza2lwIGl0LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlZ2lzdGVyUGx1Z2luTGlmZWN5Y2xlRXZlbnRSZWxheVBhcmFtc30uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlclBsdWdpbkxpZmVjeWNsZUV2ZW50UmVsYXkocGFyYW1zOiBSZWdpc3RlclBsdWdpbkxpZmVjeWNsZUV2ZW50UmVsYXlQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBhcHAsIGNvbXBvbmVudCB9ID0gcGFyYW1zO1xuICBmb3IgKGNvbnN0IG5hbWUgb2YgUExVR0lOX0xJRkVDWUNMRV9FVkVOVF9OQU1FUykge1xuICAgIGNvbXBvbmVudC5yZWdpc3RlckV2ZW50KGFwcC53b3Jrc3BhY2Uub24oTEVHQUNZX1BMVUdJTl9MSUZFQ1lDTEVfRVZFTlRfTkFNRVNbbmFtZV0sIChwYXlsb2FkOiB1bmtub3duKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHBheWxvYWQgIT09ICdvYmplY3QnIHx8IHBheWxvYWQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhbm5vdW5jZWRQYXlsb2FkcyA9IGdldEFubm91bmNlZFBheWxvYWRzKG5hbWUpO1xuICAgICAgaWYgKGFubm91bmNlZFBheWxvYWRzLmhhcyhwYXlsb2FkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFubm91bmNlZFBheWxvYWRzLmFkZChwYXlsb2FkKTtcbiAgICAgIGFwcC53b3Jrc3BhY2UudHJpZ2dlcihuYW1lLCBwYXlsb2FkKTtcbiAgICB9KSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUcmlnZ2VycyBvbmUgb2YgdGhlIHR3byBsaWZlY3ljbGUgZXZlbnRzIG9uIHRoZSBhcHAncyB3b3Jrc3BhY2UsIHVuZGVyIGl0cyBjdXJyZW50IG5hbWUgYW5kIHRoZW4gdW5kZXJcbiAqIGl0cyBsZWdhY3kgbmFtZS5cbiAqXG4gKiBCb3RoLCBzbyBhIGxpc3RlbmVyIHdyaXR0ZW4gYWdhaW5zdCBlaXRoZXIgbmFtZSBoZWFycyBldmVyeSBwbHVnaW4gYnVpbHQgb24gdGhpcyBsaWJyYXJ5OiBvbGRlciBjb3BpZXNcbiAqIGxpc3RlbiBvbmx5IG9uIHRoZSBsZWdhY3kgbmFtZS4gVGhlIGN1cnJlbnQgbmFtZSBnb2VzIGZpcnN0IGFuZCB0aGUgcGF5bG9hZCBpcyBtYXJrZWQgYmVmb3JlIGVpdGhlciwgc29cbiAqIHRoZSByZWxheXMgKHNlZSB7QGxpbmsgcmVnaXN0ZXJQbHVnaW5MaWZlY3ljbGVFdmVudFJlbGF5fSkgc2tpcCB0aGUgbGVnYWN5IGVjaG8gaW5zdGVhZCBvZiBhbm5vdW5jaW5nIHRoZVxuICogcGx1Z2luIGEgc2Vjb25kIHRpbWUuXG4gKlxuICogT3RoZXJ3aXNlIGEgdGhpbiB0eXBlZCB3cmFwcGVyIG92ZXIgYFdvcmtzcGFjZS50cmlnZ2VyYCwgd2hpY2ggYWNjZXB0cyBhbnkgZXZlbnQgbmFtZSBhbmQgYW55IGFyZ3VtZW50cyxcbiAqIHNvIHRoYXQgdGhlIG9uZSBwbGFjZSBhIHBheWxvYWQgaXMgY29uc3RydWN0ZWQgaXMgY2hlY2tlZCBhZ2FpbnN0IHtAbGluayBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWR9LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudFBhcmFtc30uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnQocGFyYW1zOiBUcmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBhcHAsIG5hbWUsIHBheWxvYWQgfSA9IHBhcmFtcztcbiAgZ2V0QW5ub3VuY2VkUGF5bG9hZHMobmFtZSkuYWRkKHBheWxvYWQpO1xuICBhcHAud29ya3NwYWNlLnRyaWdnZXIobmFtZSwgcGF5bG9hZCk7XG4gIGFwcC53b3Jrc3BhY2UudHJpZ2dlcihMRUdBQ1lfUExVR0lOX0xJRkVDWUNMRV9FVkVOVF9OQU1FU1tuYW1lXSwgcGF5bG9hZCk7XG59XG5cbmZ1bmN0aW9uIGdldEFubm91bmNlZFBheWxvYWRzKG5hbWU6IFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZSk6IFdlYWtTZXQ8b2JqZWN0PiB7XG4gIHJldHVybiBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGU8QW5ub3VuY2VkUGF5bG9hZHM+KEFOTk9VTkNFRF9QQVlMT0FEU19TVEFURV9LRVksIHtcbiAgICBbUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FXTogbmV3IFdlYWtTZXQoKSxcbiAgICBbUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUVdOiBuZXcgV2Vha1NldCgpXG4gIH0pLnZhbHVlW25hbWVdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQSxzQ0FBeUM7QUFnR2xDLE1BQU0sMkJBQTJCO0FBTWpDLE1BQU0sNkJBQTZCO0FBTW5DLE1BQU0sa0NBQWtDO0FBTXhDLE1BQU0sb0NBQW9DO0FBT2pELE1BQU0sK0JBQW9FLENBQUMsMEJBQTBCLDBCQUEwQjtBQUUvSCxNQUFNLHNDQUFrSDtBQUFBLEVBQ3RILENBQUMsd0JBQXdCLEdBQUc7QUFBQSxFQUM1QixDQUFDLDBCQUEwQixHQUFHO0FBQ2hDO0FBTUEsTUFBTSwrQkFBK0I7QUF5QzlCLFNBQVMsa0NBQWtDLFFBQXVEO0FBQ3ZHLFFBQU0sRUFBRSxLQUFLLFVBQVUsSUFBSTtBQUMzQixhQUFXLFFBQVEsOEJBQThCO0FBQy9DLGNBQVUsY0FBYyxJQUFJLFVBQVUsR0FBRyxvQ0FBb0MsSUFBSSxHQUFHLENBQUMsWUFBcUI7QUFDeEcsVUFBSSxPQUFPLFlBQVksWUFBWSxZQUFZLE1BQU07QUFDbkQ7QUFBQSxNQUNGO0FBRUEsWUFBTSxvQkFBb0IscUJBQXFCLElBQUk7QUFDbkQsVUFBSSxrQkFBa0IsSUFBSSxPQUFPLEdBQUc7QUFDbEM7QUFBQSxNQUNGO0FBRUEsd0JBQWtCLElBQUksT0FBTztBQUM3QixVQUFJLFVBQVUsUUFBUSxNQUFNLE9BQU87QUFBQSxJQUNyQyxDQUFDLENBQUM7QUFBQSxFQUNKO0FBQ0Y7QUFnQk8sU0FBUyw0QkFBNEIsUUFBaUQ7QUFDM0YsUUFBTSxFQUFFLEtBQUssTUFBTSxRQUFRLElBQUk7QUFDL0IsdUJBQXFCLElBQUksRUFBRSxJQUFJLE9BQU87QUFDdEMsTUFBSSxVQUFVLFFBQVEsTUFBTSxPQUFPO0FBQ25DLE1BQUksVUFBVSxRQUFRLG9DQUFvQyxJQUFJLEdBQUcsT0FBTztBQUMxRTtBQUVBLFNBQVMscUJBQXFCLE1BQWlEO0FBQzdFLGFBQU8sMERBQTRDLDhCQUE4QjtBQUFBLElBQy9FLENBQUMsd0JBQXdCLEdBQUcsb0JBQUksUUFBUTtBQUFBLElBQ3hDLENBQUMsMEJBQTBCLEdBQUcsb0JBQUksUUFBUTtBQUFBLEVBQzVDLENBQUMsRUFBRSxNQUFNLElBQUk7QUFDZjsiLCJuYW1lcyI6W119