@mnaoumov/obsidian-lib 10.11.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/components/all-windows-status-bar-item-component/package.json +6 -0
- package/components/shared-component-pool-component/package.json +6 -0
- package/components/worker-component/package.json +6 -0
- package/components/worker-pool-component/package.json +6 -0
- package/components/workspace-layout-state-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +477 -285
- package/dist/lib/cjs/__merged.d.cts +26 -10
- package/dist/lib/cjs/anchored-suggest.cjs +1 -1
- package/dist/lib/cjs/app.cjs +2 -2
- package/dist/lib/cjs/async-with-notice.cjs +4 -4
- package/dist/lib/cjs/attachment-path.cjs +9 -9
- package/dist/lib/cjs/attachment-path.d.cts +3 -3
- package/dist/lib/cjs/attachment-unit-folder.cjs +2 -2
- package/dist/lib/cjs/backlink-index.cjs +5 -5
- package/dist/lib/cjs/backlink.cjs +7 -7
- package/dist/lib/cjs/bases-view-registrar.cjs +1 -1
- package/dist/lib/cjs/broken-link-candidates.cjs +1 -1
- package/dist/lib/cjs/bug-report-diagnostics.cjs +222 -0
- package/dist/lib/cjs/bug-report-diagnostics.d.cts +186 -0
- package/dist/lib/cjs/bug-report.cjs +38 -12
- package/dist/lib/cjs/bug-report.d.cts +65 -0
- package/dist/lib/cjs/bulk-operation-progress.cjs +1 -1
- package/dist/lib/cjs/bulk-operation.cjs +2 -2
- package/dist/lib/cjs/callout.cjs +6 -6
- package/dist/lib/cjs/canvas.cjs +11 -9
- package/dist/lib/cjs/canvas.d.cts +13 -0
- package/dist/lib/cjs/case-insensitive-file-index.cjs +3 -3
- package/dist/lib/cjs/code-block-render-handoff.cjs +5 -5
- package/dist/lib/cjs/codemirror/editor-mode-extension.cjs +4 -4
- package/dist/lib/cjs/codemirror/incremental-parse-state-field.cjs +2 -2
- package/dist/lib/cjs/codemirror/index.cjs +7 -7
- package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +5 -5
- package/dist/lib/cjs/codemirror/markdown-editor-views.cjs +2 -2
- package/dist/lib/cjs/codemirror/settings-facet.cjs +1 -1
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +17 -17
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +13 -13
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -2
- package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +10 -10
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +7 -7
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +3 -3
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +3 -3
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/index.cjs +15 -15
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +95 -4
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.d.cts +34 -2
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/open-discussion-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/open-feature-request-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/open-git-hub-command-handler.cjs +1 -1
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/undo-bulk-operation-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -1
- package/dist/lib/cjs/community-plugins.cjs +3 -3
- package/dist/lib/cjs/components/abort-signal-component.cjs +2 -2
- package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +245 -0
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.d.cts +146 -0
- package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
- package/dist/lib/cjs/components/async-events-component.cjs +1 -1
- package/dist/lib/cjs/components/bulk-operation-commit-component.cjs +12 -12
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +2 -2
- package/dist/lib/cjs/components/component-ex.cjs +21 -11
- package/dist/lib/cjs/components/component-ex.d.cts +11 -0
- package/dist/lib/cjs/components/console-debug-component.cjs +2 -2
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -2
- package/dist/lib/cjs/components/disposable-component.cjs +2 -2
- package/dist/lib/cjs/components/embed-extensions-component.cjs +21 -4
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +8 -0
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +24 -10
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.d.cts +9 -0
- package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +7 -7
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +2 -2
- package/dist/lib/cjs/components/incremental-file-index-component.cjs +4 -4
- package/dist/lib/cjs/components/index.cjs +54 -39
- package/dist/lib/cjs/components/index.d.cts +5 -0
- package/dist/lib/cjs/components/layout-ready-component.cjs +3 -3
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +2 -2
- package/dist/lib/cjs/components/monkey-around-component.cjs +3 -3
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-gate-component.cjs +69 -36
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +36 -13
- package/dist/lib/cjs/components/plugin-notice-component.cjs +39 -33
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +4 -3
- package/dist/lib/cjs/components/plugin-settings-component.cjs +119 -18
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +35 -5
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -2
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +8 -8
- package/dist/lib/cjs/components/pointer-position-component.cjs +2 -2
- package/dist/lib/cjs/components/reconfigurable-editor-extension-component.cjs +3 -3
- package/dist/lib/cjs/components/registry-component.cjs +2 -2
- package/dist/lib/cjs/components/release-notes-component.cjs +6 -6
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +25 -25
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +2 -2
- package/dist/lib/cjs/components/settings-facet-component.cjs +1 -1
- package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
- package/dist/lib/cjs/components/shared-component-pool-component.cjs +368 -0
- package/dist/lib/cjs/components/shared-component-pool-component.d.cts +129 -0
- package/dist/lib/cjs/components/style-sheet-component.cjs +3 -3
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +3 -3
- package/dist/lib/cjs/components/templates-language-component.cjs +1 -1
- package/dist/lib/cjs/components/worker-component.cjs +363 -0
- package/dist/lib/cjs/components/worker-component.d.cts +156 -0
- package/dist/lib/cjs/components/worker-pool-component.cjs +185 -0
- package/dist/lib/cjs/components/worker-pool-component.d.cts +102 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.cjs +495 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.d.cts +239 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
- package/dist/lib/cjs/constructors/index.cjs +1 -1
- package/dist/lib/cjs/css-class.cjs +5 -1
- package/dist/lib/cjs/css-class.d.cts +16 -0
- package/dist/lib/cjs/data-handler.cjs +264 -6
- package/dist/lib/cjs/data-handler.d.cts +219 -2
- package/dist/lib/cjs/data-stores/data-store-locations.cjs +82 -24
- package/dist/lib/cjs/data-stores/data-store-locations.d.cts +15 -0
- package/dist/lib/cjs/data-stores/data-store-replica.cjs +33 -5
- package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
- package/dist/lib/cjs/data-stores/data-store-seeds.d.cts +2 -2
- package/dist/lib/cjs/data-stores/data-store-transport.cjs +81 -8
- package/dist/lib/cjs/data-stores/data-store-transport.d.cts +30 -1
- package/dist/lib/cjs/data-stores/index.cjs +6 -6
- package/dist/lib/cjs/data-stores/local-data-store.cjs +74 -10
- package/dist/lib/cjs/data-stores/local-data-store.d.cts +58 -1
- package/dist/lib/cjs/data-stores/shared-data-store.cjs +76 -19
- package/dist/lib/cjs/data-stores/shared-data-store.d.cts +18 -1
- package/dist/lib/cjs/dataview-link.cjs +2 -2
- package/dist/lib/cjs/dataview.cjs +27 -7
- package/dist/lib/cjs/dataview.d.cts +14 -0
- package/dist/lib/cjs/debug.cjs +3 -3
- package/dist/lib/cjs/demo-vault-helper.cjs +34 -6
- package/dist/lib/cjs/demo-vault-helper.d.cts +6 -2
- package/dist/lib/cjs/desktop-bulk-operation-git.cjs +10 -10
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +13 -13
- package/dist/lib/cjs/desktop-git-runner.cjs +4 -14
- package/dist/lib/cjs/desktop-git-runner.d.cts +8 -2
- package/dist/lib/cjs/desktop-operating-system.cjs +1 -1
- package/dist/lib/cjs/desktop-request-url-stream.cjs +8 -14
- package/dist/lib/cjs/desktop-trusted-input.cjs +2 -2
- package/dist/lib/cjs/disposable.cjs +150 -0
- package/dist/lib/cjs/disposable.d.cts +39 -0
- package/dist/lib/cjs/editor-extension-registrar.cjs +1 -1
- package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -2
- package/dist/lib/cjs/editor-suggest.cjs +1 -1
- package/dist/lib/cjs/editor.cjs +6 -6
- package/dist/lib/cjs/events.cjs +2 -2
- package/dist/lib/cjs/extensions-registrar.cjs +1 -1
- package/dist/lib/cjs/feature-request.cjs +1 -1
- package/dist/lib/cjs/file-change.cjs +10 -10
- package/dist/lib/cjs/file-explorer.cjs +2 -2
- package/dist/lib/cjs/file-manager.cjs +5 -5
- package/dist/lib/cjs/file-system.cjs +10 -10
- package/dist/lib/cjs/folder-note.cjs +4 -4
- package/dist/lib/cjs/frontmatter-formatting.cjs +7 -6
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +1 -1
- package/dist/lib/cjs/frontmatter.cjs +5 -5
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/git-rename-history.cjs +1 -1
- package/dist/lib/cjs/git-rename-history.d.cts +2 -2
- package/dist/lib/cjs/hotkey.cjs +1 -1
- package/dist/lib/cjs/hover-link-source-registrar.cjs +1 -1
- package/dist/lib/cjs/html-element.cjs +2 -2
- package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -1
- package/dist/lib/cjs/i18n/default-translations.cjs +1 -1
- package/dist/lib/cjs/i18n/i18n.cjs +7 -7
- package/dist/lib/cjs/i18n/index.cjs +4 -4
- package/dist/lib/cjs/i18n/locales/en.cjs +27 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +26 -0
- package/dist/lib/cjs/i18n/locales/index.cjs +2 -2
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -1
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +26 -0
- package/dist/lib/cjs/index.cjs +147 -126
- package/dist/lib/cjs/index.d.cts +7 -0
- package/dist/lib/cjs/inline-token-renderer.cjs +2 -2
- package/dist/lib/cjs/is-in-obsidian.cjs +1 -1
- package/dist/lib/cjs/library-styles.cjs +3 -3
- package/dist/lib/cjs/link-and-tag-input-suggest.cjs +2 -2
- package/dist/lib/cjs/link.cjs +76 -56
- package/dist/lib/cjs/link.d.cts +20 -14
- package/dist/lib/cjs/logger.cjs +4 -4
- package/dist/lib/cjs/loop.cjs +10 -16
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +17 -2
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +7 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +13 -13
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -2
- package/dist/lib/cjs/markdown-view.cjs +191 -3
- package/dist/lib/cjs/markdown-view.d.cts +48 -1
- package/dist/lib/cjs/markdown.cjs +12 -12
- package/dist/lib/cjs/metadata-cache.cjs +23 -23
- package/dist/lib/cjs/metadata-cache.d.cts +5 -4
- package/dist/lib/cjs/misplaced-attachment.cjs +297 -0
- package/dist/lib/cjs/misplaced-attachment.d.cts +228 -0
- package/dist/lib/cjs/mobile-app-info.cjs +1 -1
- package/dist/lib/cjs/modals/alert.cjs +4 -4
- package/dist/lib/cjs/modals/code-block-builder.cjs +7 -7
- package/dist/lib/cjs/modals/confirm.cjs +4 -4
- package/dist/lib/cjs/modals/copy-text-manually.cjs +181 -0
- package/dist/lib/cjs/modals/copy-text-manually.d.cts +38 -0
- package/dist/lib/cjs/modals/index.cjs +17 -11
- package/dist/lib/cjs/modals/index.d.cts +2 -0
- package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
- package/dist/lib/cjs/modals/modal-command-builder.cjs +3 -3
- package/dist/lib/cjs/modals/modal.cjs +3 -3
- package/dist/lib/cjs/modals/prompt.cjs +10 -10
- package/dist/lib/cjs/modals/prompt.d.cts +1 -1
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +202 -0
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.d.cts +30 -0
- package/dist/lib/cjs/modals/select-item.cjs +6 -6
- package/dist/lib/cjs/modals/select-option.cjs +3 -3
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -1
- package/dist/lib/cjs/note-priority.cjs +2 -2
- package/dist/lib/cjs/notebook-navigator.cjs +12 -2
- package/dist/lib/cjs/notebook-navigator.d.cts +6 -0
- package/dist/lib/cjs/obsidian-lib-state.cjs +1 -1
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +1 -1
- package/dist/lib/cjs/obsidian-settings.cjs +1 -1
- package/dist/lib/cjs/obsidian-word-characters.cjs +1 -1
- package/dist/lib/cjs/parse-link.cjs +14 -14
- package/dist/lib/cjs/path-compatibility.cjs +368 -0
- package/dist/lib/cjs/path-compatibility.d.cts +263 -0
- package/dist/lib/cjs/path-settings.cjs +3 -3
- package/dist/lib/cjs/pdf.cjs +2 -2
- package/dist/lib/cjs/plugin/index.cjs +18 -12
- package/dist/lib/cjs/plugin/index.d.cts +2 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +21 -12
- package/dist/lib/cjs/plugin/plugin-api.d.cts +5 -1
- package/dist/lib/cjs/plugin/plugin-async-cleanup.cjs +6 -3
- package/dist/lib/cjs/plugin/plugin-async-cleanup.d.cts +5 -0
- package/dist/lib/cjs/plugin/plugin-context.cjs +10 -9
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -1
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +4 -4
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +49 -4
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +30 -0
- package/dist/lib/cjs/plugin/plugin-instance.cjs +450 -0
- package/dist/lib/cjs/plugin/plugin-instance.d.cts +258 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -1
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +6 -4
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +15 -15
- package/dist/lib/cjs/plugin/plugin.cjs +133 -34
- package/dist/lib/cjs/plugin/plugin.d.cts +35 -5
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +1 -1
- package/dist/lib/cjs/plugin/third-party-plugin.cjs +231 -0
- package/dist/lib/cjs/plugin/third-party-plugin.d.cts +244 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -2
- package/dist/lib/cjs/popovers/field-popover.cjs +4 -4
- package/dist/lib/cjs/popovers/index.cjs +3 -3
- package/dist/lib/cjs/popovers/popover-anchor.cjs +1 -1
- package/dist/lib/cjs/popovers/popover.cjs +5 -5
- package/dist/lib/cjs/queue.cjs +8 -8
- package/dist/lib/cjs/react/app-context.cjs +3 -3
- package/dist/lib/cjs/react/index.cjs +1 -1
- package/dist/lib/cjs/reference-definition.cjs +1 -1
- package/dist/lib/cjs/reference.cjs +3 -3
- package/dist/lib/cjs/release-asset.cjs +5 -5
- package/dist/lib/cjs/rendered-markdown.cjs +4 -4
- package/dist/lib/cjs/request-url.cjs +4 -4
- package/dist/lib/cjs/resource-lock.cjs +46 -42
- package/dist/lib/cjs/resource-lock.d.cts +8 -7
- package/dist/lib/cjs/resource-url.cjs +3 -3
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +1 -1
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +7 -7
- package/dist/lib/cjs/setting-components/date-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/date-time-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/email-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/file-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/folder-list-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/hotkey-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/index.cjs +30 -30
- package/dist/lib/cjs/setting-components/list-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/month-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +9 -6
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +4 -1
- package/dist/lib/cjs/setting-components/number-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/password-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +3 -3
- package/dist/lib/cjs/setting-components/tag-list-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/telephone-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/text-based-component.cjs +1 -1
- package/dist/lib/cjs/setting-components/time-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -1
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/url-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/validator-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/week-component.cjs +4 -4
- package/dist/lib/cjs/setting-ex.cjs +26 -26
- package/dist/lib/cjs/setting-group-ex.cjs +2 -2
- package/dist/lib/cjs/settings-recovery.cjs +217 -0
- package/dist/lib/cjs/settings-recovery.d.cts +178 -0
- package/dist/lib/cjs/settings-tabs.cjs +5 -5
- package/dist/lib/cjs/status-bar-item-registrar.cjs +1 -1
- package/dist/lib/cjs/templater.cjs +14 -4
- package/dist/lib/cjs/templater.d.cts +6 -0
- package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -2
- package/dist/lib/cjs/transformers/index.cjs +1 -1
- package/dist/lib/cjs/trusted-input.cjs +1 -1
- package/dist/lib/cjs/validation.cjs +4 -4
- package/dist/lib/cjs/vault-delete.cjs +6 -6
- package/dist/lib/cjs/vault-transaction.cjs +5 -5
- package/dist/lib/cjs/vault.cjs +12 -12
- package/dist/lib/cjs/view-registrar.cjs +1 -1
- package/dist/lib/cjs/virtual-file.cjs +16 -14
- package/dist/lib/cjs/virtual-file.d.cts +2 -1
- package/dist/lib/cjs/wasm.cjs +119 -0
- package/dist/lib/cjs/wasm.d.cts +54 -0
- package/dist/lib/cjs/worker-protocol.cjs +209 -0
- package/dist/lib/cjs/worker-protocol.d.cts +282 -0
- package/dist/lib/cjs/workspace.cjs +1 -1
- package/dist/lib/esm/__merged.d.mts +26 -10
- package/dist/lib/esm/__merged.mjs +215 -5
- package/dist/lib/esm/app.mjs +2 -2
- package/dist/lib/esm/attachment-path.d.mts +3 -3
- package/dist/lib/esm/attachment-path.mjs +2 -2
- package/dist/lib/esm/backlink-index.mjs +2 -2
- package/dist/lib/esm/bug-report-diagnostics.d.mts +186 -0
- package/dist/lib/esm/bug-report-diagnostics.mjs +127 -0
- package/dist/lib/esm/bug-report.d.mts +65 -0
- package/dist/lib/esm/bug-report.mjs +33 -10
- package/dist/lib/esm/canvas.d.mts +13 -0
- package/dist/lib/esm/canvas.mjs +6 -5
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +13 -13
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +14 -14
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +7 -7
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +8 -8
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.d.mts +34 -2
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.mjs +99 -3
- package/dist/lib/esm/components/all-windows-status-bar-item-component.d.mts +146 -0
- package/dist/lib/esm/components/all-windows-status-bar-item-component.mjs +154 -0
- package/dist/lib/esm/components/component-ex.d.mts +11 -0
- package/dist/lib/esm/components/component-ex.mjs +19 -6
- package/dist/lib/esm/components/disposable-component.mjs +1 -1
- package/dist/lib/esm/components/embed-extensions-component.d.mts +8 -0
- package/dist/lib/esm/components/embed-extensions-component.mjs +20 -3
- package/dist/lib/esm/components/embeddable-markdown-editor-component.d.mts +9 -0
- package/dist/lib/esm/components/embeddable-markdown-editor-component.mjs +16 -2
- package/dist/lib/esm/components/index.d.mts +5 -0
- package/dist/lib/esm/components/index.mjs +12 -2
- package/dist/lib/esm/components/plugin-gate-component.d.mts +36 -13
- package/dist/lib/esm/components/plugin-gate-component.mjs +61 -26
- package/dist/lib/esm/components/plugin-notice-component.d.mts +4 -3
- package/dist/lib/esm/components/plugin-notice-component.mjs +30 -21
- package/dist/lib/esm/components/plugin-settings-component.d.mts +35 -5
- package/dist/lib/esm/components/plugin-settings-component.mjs +105 -4
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +2 -2
- package/dist/lib/esm/components/shared-component-pool-component.d.mts +129 -0
- package/dist/lib/esm/components/shared-component-pool-component.mjs +280 -0
- package/dist/lib/esm/components/worker-component.d.mts +156 -0
- package/dist/lib/esm/components/worker-component.mjs +279 -0
- package/dist/lib/esm/components/worker-pool-component.d.mts +102 -0
- package/dist/lib/esm/components/worker-pool-component.mjs +95 -0
- package/dist/lib/esm/components/workspace-layout-state-component.d.mts +239 -0
- package/dist/lib/esm/components/workspace-layout-state-component.mjs +404 -0
- package/dist/lib/esm/css-class.d.mts +16 -0
- package/dist/lib/esm/css-class.mjs +5 -1
- package/dist/lib/esm/data-handler.d.mts +219 -2
- package/dist/lib/esm/data-handler.mjs +262 -5
- package/dist/lib/esm/data-stores/data-store-locations.d.mts +15 -0
- package/dist/lib/esm/data-stores/data-store-locations.mjs +80 -22
- package/dist/lib/esm/data-stores/data-store-replica.mjs +33 -5
- package/dist/lib/esm/data-stores/data-store-seeds.d.mts +2 -2
- package/dist/lib/esm/data-stores/data-store-seeds.mjs +4 -4
- package/dist/lib/esm/data-stores/data-store-transport.d.mts +30 -1
- package/dist/lib/esm/data-stores/data-store-transport.mjs +78 -5
- package/dist/lib/esm/data-stores/local-data-store.d.mts +58 -1
- package/dist/lib/esm/data-stores/local-data-store.mjs +71 -9
- package/dist/lib/esm/data-stores/shared-data-store.d.mts +18 -1
- package/dist/lib/esm/data-stores/shared-data-store.mjs +72 -15
- package/dist/lib/esm/dataview.d.mts +14 -0
- package/dist/lib/esm/dataview.mjs +19 -1
- package/dist/lib/esm/demo-vault-helper.d.mts +6 -2
- package/dist/lib/esm/demo-vault-helper.mjs +29 -1
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +1 -1
- package/dist/lib/esm/desktop-git-runner.d.mts +8 -2
- package/dist/lib/esm/desktop-git-runner.mjs +3 -3
- package/dist/lib/esm/desktop-request-url-stream.mjs +4 -10
- package/dist/lib/esm/disposable.d.mts +39 -0
- package/dist/lib/esm/disposable.mjs +64 -0
- package/dist/lib/esm/file-system.mjs +2 -2
- package/dist/lib/esm/frontmatter-formatting.mjs +2 -1
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/git-rename-history.d.mts +2 -2
- package/dist/lib/esm/git-rename-history.mjs +1 -1
- package/dist/lib/esm/i18n/locales/en.d.mts +26 -0
- package/dist/lib/esm/i18n/locales/en.mjs +27 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +26 -0
- package/dist/lib/esm/index.d.mts +7 -0
- package/dist/lib/esm/index.mjs +15 -1
- package/dist/lib/esm/link.d.mts +20 -14
- package/dist/lib/esm/link.mjs +57 -38
- package/dist/lib/esm/loop.mjs +2 -8
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +7 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +16 -1
- package/dist/lib/esm/markdown-view.d.mts +48 -1
- package/dist/lib/esm/markdown-view.mjs +192 -2
- package/dist/lib/esm/metadata-cache.d.mts +5 -4
- package/dist/lib/esm/metadata-cache.mjs +6 -6
- package/dist/lib/esm/misplaced-attachment.d.mts +228 -0
- package/dist/lib/esm/misplaced-attachment.mjs +212 -0
- package/dist/lib/esm/modals/copy-text-manually.d.mts +38 -0
- package/dist/lib/esm/modals/copy-text-manually.mjs +99 -0
- package/dist/lib/esm/modals/index.d.mts +2 -0
- package/dist/lib/esm/modals/index.mjs +5 -1
- package/dist/lib/esm/modals/prompt.d.mts +1 -1
- package/dist/lib/esm/modals/prompt.mjs +1 -1
- package/dist/lib/esm/modals/review-bug-report-diagnostics.d.mts +30 -0
- package/dist/lib/esm/modals/review-bug-report-diagnostics.mjs +120 -0
- package/dist/lib/esm/notebook-navigator.d.mts +6 -0
- package/dist/lib/esm/notebook-navigator.mjs +11 -2
- package/dist/lib/esm/parse-link.mjs +4 -4
- package/dist/lib/esm/path-compatibility.d.mts +263 -0
- package/dist/lib/esm/path-compatibility.mjs +277 -0
- package/dist/lib/esm/plugin/index.d.mts +2 -0
- package/dist/lib/esm/plugin/index.mjs +6 -2
- package/dist/lib/esm/plugin/plugin-api.d.mts +5 -1
- package/dist/lib/esm/plugin/plugin-api.mjs +13 -4
- package/dist/lib/esm/plugin/plugin-async-cleanup.d.mts +5 -0
- package/dist/lib/esm/plugin/plugin-async-cleanup.mjs +3 -1
- package/dist/lib/esm/plugin/plugin-context.mjs +2 -1
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +4 -4
- package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +30 -0
- package/dist/lib/esm/plugin/plugin-install-state.mjs +44 -1
- package/dist/lib/esm/plugin/plugin-instance.d.mts +258 -0
- package/dist/lib/esm/plugin/plugin-instance.mjs +367 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +6 -4
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -1
- package/dist/lib/esm/plugin/plugin.d.mts +35 -5
- package/dist/lib/esm/plugin/plugin.mjs +118 -9
- package/dist/lib/esm/plugin/third-party-plugin.d.mts +244 -0
- package/dist/lib/esm/plugin/third-party-plugin.mjs +147 -0
- package/dist/lib/esm/release-asset.mjs +1 -1
- package/dist/lib/esm/resource-lock.d.mts +8 -7
- package/dist/lib/esm/resource-lock.mjs +31 -26
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +4 -1
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +6 -3
- package/dist/lib/esm/settings-recovery.d.mts +178 -0
- package/dist/lib/esm/settings-recovery.mjs +125 -0
- package/dist/lib/esm/settings-tabs.mjs +2 -2
- package/dist/lib/esm/templater.d.mts +6 -0
- package/dist/lib/esm/templater.mjs +11 -2
- package/dist/lib/esm/vault.mjs +1 -1
- package/dist/lib/esm/virtual-file.d.mts +2 -1
- package/dist/lib/esm/virtual-file.mjs +7 -5
- package/dist/lib/esm/wasm.d.mts +54 -0
- package/dist/lib/esm/wasm.mjs +30 -0
- package/dist/lib/esm/worker-protocol.d.mts +282 -0
- package/dist/lib/esm/worker-protocol.mjs +113 -0
- package/dist/styles.css +16 -1
- package/modals/copy-text-manually/package.json +6 -0
- package/modals/review-bug-report-diagnostics/package.json +6 -0
- package/package.json +10 -8
- package/plugin/plugin-instance/package.json +6 -0
- package/plugin/third-party-plugin/package.json +6 -0
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
5
32
|
(function patchObsidianRequire() {
|
|
6
33
|
const originalRequire = require;
|
|
7
34
|
if (!originalRequire || originalRequire.__isPatched) {
|
|
@@ -90,13 +117,26 @@ __export(open_bug_report_command_handler_exports, {
|
|
|
90
117
|
OpenBugReportCommandHandler: () => OpenBugReportCommandHandler
|
|
91
118
|
});
|
|
92
119
|
module.exports = __toCommonJS(open_bug_report_command_handler_exports);
|
|
93
|
-
var
|
|
94
|
-
var
|
|
120
|
+
var import_obsidian = require("obsidian");
|
|
121
|
+
var import_bug_report = require("../bug-report.cjs");
|
|
122
|
+
var import_i18n = require("../i18n/i18n.cjs");
|
|
123
|
+
var import_copy_text_manually = require("../modals/copy-text-manually.cjs");
|
|
124
|
+
var import_review_bug_report_diagnostics = require("../modals/review-bug-report-diagnostics.cjs");
|
|
125
|
+
var import_open_git_hub_command_handler = require("./open-git-hub-command-handler.cjs");
|
|
126
|
+
const CLIPBOARD_NOTICE_DURATION_IN_MILLISECONDS = 15e3;
|
|
95
127
|
class OpenBugReportCommandHandler extends import_open_git_hub_command_handler.OpenGitHubCommandHandler {
|
|
96
128
|
/**
|
|
97
129
|
* The Obsidian app instance.
|
|
98
130
|
*/
|
|
99
131
|
app;
|
|
132
|
+
/**
|
|
133
|
+
* Gets the optional diagnostics the report can carry.
|
|
134
|
+
*/
|
|
135
|
+
getDiagnostics;
|
|
136
|
+
/**
|
|
137
|
+
* The most characters the encoded link may have before the report moves to the clipboard.
|
|
138
|
+
*/
|
|
139
|
+
maxUrlLength;
|
|
100
140
|
/**
|
|
101
141
|
* The id of the reporting plugin.
|
|
102
142
|
*/
|
|
@@ -114,10 +154,46 @@ class OpenBugReportCommandHandler extends import_open_git_hub_command_handler.Op
|
|
|
114
154
|
name: "Report a bug"
|
|
115
155
|
});
|
|
116
156
|
this.app = params.app;
|
|
157
|
+
this.getDiagnostics = params.getDiagnostics;
|
|
158
|
+
this.maxUrlLength = params.maxUrlLength;
|
|
117
159
|
this.pluginId = params.pluginId;
|
|
118
160
|
}
|
|
119
161
|
/**
|
|
120
|
-
*
|
|
162
|
+
* Lets the user review the diagnostics, if any, then opens the issue form. When the report is too long
|
|
163
|
+
* for a link, it is copied to the clipboard first, or shown for copying by hand when the clipboard
|
|
164
|
+
* refuses it.
|
|
165
|
+
*/
|
|
166
|
+
async execute() {
|
|
167
|
+
if (!this.canExecute()) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const environment = await (0, import_bug_report.getBugReportEnvironment)({ app: this.app, pluginId: this.pluginId });
|
|
171
|
+
const sections = await this.getDiagnostics?.() ?? [];
|
|
172
|
+
let diagnostics = [];
|
|
173
|
+
if (sections.length > 0) {
|
|
174
|
+
const reviewedSections = await (0, import_review_bug_report_diagnostics.reviewBugReportDiagnostics)({
|
|
175
|
+
alwaysIncludedText: (0, import_bug_report.formatBugReportEnvironment)(environment),
|
|
176
|
+
app: this.app,
|
|
177
|
+
sections
|
|
178
|
+
});
|
|
179
|
+
if (reviewedSections === null) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
diagnostics = reviewedSections;
|
|
183
|
+
}
|
|
184
|
+
const link = (0, import_bug_report.buildBugReportIssueFormLink)({
|
|
185
|
+
diagnostics,
|
|
186
|
+
environment,
|
|
187
|
+
gitHubRepo: this.gitHubRepo,
|
|
188
|
+
...this.maxUrlLength !== void 0 && { maxUrlLength: this.maxUrlLength }
|
|
189
|
+
});
|
|
190
|
+
if (link.clipboardText !== null && !await this.copyReport(link.clipboardText)) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
window.open(link.url, "_blank");
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Builds the prefilled bug-report URL, with the environment only.
|
|
121
197
|
*
|
|
122
198
|
* @returns The link.
|
|
123
199
|
*/
|
|
@@ -128,9 +204,24 @@ class OpenBugReportCommandHandler extends import_open_git_hub_command_handler.Op
|
|
|
128
204
|
pluginId: this.pluginId
|
|
129
205
|
});
|
|
130
206
|
}
|
|
207
|
+
async copyReport(text) {
|
|
208
|
+
try {
|
|
209
|
+
await activeWindow.navigator.clipboard.writeText(text);
|
|
210
|
+
new import_obsidian.Notice((0, import_i18n.t)(($) => $.obsidianLib.bugReport.clipboardCopied), CLIPBOARD_NOTICE_DURATION_IN_MILLISECONDS);
|
|
211
|
+
return true;
|
|
212
|
+
} catch {
|
|
213
|
+
return await (0, import_copy_text_manually.copyTextManually)({
|
|
214
|
+
app: this.app,
|
|
215
|
+
message: (0, import_i18n.t)(($) => $.obsidianLib.bugReport.copyManuallyMessage),
|
|
216
|
+
okButtonText: (0, import_i18n.t)(($) => $.obsidianLib.bugReport.openIssueForm),
|
|
217
|
+
text,
|
|
218
|
+
title: (0, import_i18n.t)(($) => $.obsidianLib.bugReport.copyManuallyTitle)
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
131
222
|
}
|
|
132
223
|
// Annotate the CommonJS export names for ESM import in node:
|
|
133
224
|
0 && (module.exports = {
|
|
134
225
|
OpenBugReportCommandHandler
|
|
135
226
|
});
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kLWhhbmRsZXJzL29wZW4tYnVnLXJlcG9ydC1jb21tYW5kLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhhbmRsZXMgdGhlIFwiUmVwb3J0IGEgYnVnXCIgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgZ2V0QnVnUmVwb3J0SXNzdWVGb3JtVXJsIH0gZnJvbSAnLi4vYnVnLXJlcG9ydC50cyc7XG5pbXBvcnQgeyBPcGVuR2l0SHViQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29wZW4tZ2l0LWh1Yi1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMgZm9yIHtAbGluayBPcGVuQnVnUmVwb3J0Q29tbWFuZEhhbmRsZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5CdWdSZXBvcnRDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIEdpdEh1YiByZXBvc2l0b3J5LCBhcyBgb3duZXIvbmFtZWAuXG4gICAqL1xuICByZWFkb25seSBnaXRIdWJSZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgcmVwb3J0aW5nIHBsdWdpbi5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjb21tYW5kIGhhbmRsZXIgdGhhdCBvcGVucyB0aGUgcGx1Z2luJ3MgYnVnLXJlcG9ydCBpc3N1ZSBmb3JtIG9uIEdpdEh1YiwgcHJlZmlsbGVkIHdpdGggdGhlXG4gKiBlbnZpcm9ubWVudC4gU2VlIHtAbGluayBnZXRCdWdSZXBvcnRJc3N1ZUZvcm1Vcmx9IGZvciB0aGUgZmllbGQgaWRzIHRoZSBmb3JtIG11c3QgdXNlLlxuICovXG5leHBvcnQgY2xhc3MgT3BlbkJ1Z1JlcG9ydENvbW1hbmRIYW5kbGVyIGV4dGVuZHMgT3BlbkdpdEh1YkNvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgcmVwb3J0aW5nIHBsdWdpbi5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gQ29uc3RydWN0b3IgcGFyYW1ldGVycy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IE9wZW5CdWdSZXBvcnRDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgZ2l0SHViUmVwbzogcGFyYW1zLmdpdEh1YlJlcG8sXG4gICAgICBpY29uOiAnYnVnJyxcbiAgICAgIGlkOiAncmVwb3J0LWJ1ZycsXG4gICAgICBuYW1lOiAnUmVwb3J0IGEgYnVnJ1xuICAgIH0pO1xuXG4gICAgdGhpcy5hcHAgPSBwYXJhbXMuYXBwO1xuICAgIHRoaXMucGx1Z2luSWQgPSBwYXJhbXMucGx1Z2luSWQ7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBwcmVmaWxsZWQgYnVnLXJlcG9ydCBVUkwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsaW5rLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGdldFVybCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBnZXRCdWdSZXBvcnRJc3N1ZUZvcm1Vcmwoe1xuICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgIGdpdEh1YlJlcG86IHRoaXMuZ2l0SHViUmVwbyxcbiAgICAgIHBsdWdpbklkOiB0aGlzLnBsdWdpbklkXG4gICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHdCQUF5QztBQUN6QywwQ0FBeUM7QUEwQmxDLE1BQU0sb0NBQW9DLDZEQUF5QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSXJEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9aLFlBQVksUUFBc0Q7QUFDdkUsVUFBTTtBQUFBLE1BQ0osWUFBWSxPQUFPO0FBQUEsTUFDbkIsTUFBTTtBQUFBLE1BQ04sSUFBSTtBQUFBLE1BQ0osTUFBTTtBQUFBLElBQ1IsQ0FBQztBQUVELFNBQUssTUFBTSxPQUFPO0FBQ2xCLFNBQUssV0FBVyxPQUFPO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUF5QixTQUEwQjtBQUNqRCxlQUFPLDRDQUF5QjtBQUFBLE1BQzlCLEtBQUssS0FBSztBQUFBLE1BQ1YsWUFBWSxLQUFLO0FBQUEsTUFDakIsVUFBVSxLQUFLO0FBQUEsSUFDakIsQ0FBQztBQUFBLEVBQ0g7QUFDRjsiLCJuYW1lcyI6W119
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kLWhhbmRsZXJzL29wZW4tYnVnLXJlcG9ydC1jb21tYW5kLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhhbmRsZXMgdGhlIFwiUmVwb3J0IGEgYnVnXCIgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBCdWdSZXBvcnREaWFnbm9zdGljU2VjdGlvbiB9IGZyb20gJy4uL2J1Zy1yZXBvcnQtZGlhZ25vc3RpY3MudHMnO1xuXG5pbXBvcnQge1xuICBidWlsZEJ1Z1JlcG9ydElzc3VlRm9ybUxpbmssXG4gIGZvcm1hdEJ1Z1JlcG9ydEVudmlyb25tZW50LFxuICBnZXRCdWdSZXBvcnRFbnZpcm9ubWVudCxcbiAgZ2V0QnVnUmVwb3J0SXNzdWVGb3JtVXJsXG59IGZyb20gJy4uL2J1Zy1yZXBvcnQudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBjb3B5VGV4dE1hbnVhbGx5IH0gZnJvbSAnLi4vbW9kYWxzL2NvcHktdGV4dC1tYW51YWxseS50cyc7XG5pbXBvcnQgeyByZXZpZXdCdWdSZXBvcnREaWFnbm9zdGljcyB9IGZyb20gJy4uL21vZGFscy9yZXZpZXctYnVnLXJlcG9ydC1kaWFnbm9zdGljcy50cyc7XG5pbXBvcnQgeyBPcGVuR2l0SHViQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL29wZW4tZ2l0LWh1Yi1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMgZm9yIHtAbGluayBPcGVuQnVnUmVwb3J0Q29tbWFuZEhhbmRsZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5CdWdSZXBvcnRDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgb3B0aW9uYWwgZGlhZ25vc3RpY3MgdGhlIHJlcG9ydCBjYW4gY2FycnksIHN1Y2ggYXMgYSBgQnVnUmVwb3J0TG9nQnVmZmVyYCdzIHNlY3Rpb24gb3IgdGhlXG4gICAqIHBsdWdpbidzIG93biByZWRhY3RlZCBzZXR0aW5ncy4gQ2FsbGVkIGVhY2ggdGltZSB0aGUgY29tbWFuZCBydW5zLiBXaGVuIGl0IHJldHVybnMgYW55IHNlY3Rpb24sIHRoZVxuICAgKiB1c2VyIHJldmlld3MgdGhlbSBhbmQgY2hvb3NlcyB3aGljaCB0byBpbmNsdWRlIGJlZm9yZSB0aGUgZm9ybSBvcGVuczsgYSBwb3RlbnRpYWxseSBwcml2YXRlIHNlY3Rpb25cbiAgICogc3RhcnRzIGV4Y2x1ZGVkLiBMZWF2ZSBpdCBvdXQgdG8gb3BlbiB0aGUgZm9ybSB3aXRoIHRoZSBlbnZpcm9ubWVudCBvbmx5LCBhcyBiZWZvcmUuXG4gICAqL1xuICByZWFkb25seSBnZXREaWFnbm9zdGljcz86ICgpID0+IFByb21pc2FibGU8cmVhZG9ubHkgQnVnUmVwb3J0RGlhZ25vc3RpY1NlY3Rpb25bXT47XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBHaXRIdWIgcmVwb3NpdG9yeSwgYXMgYG93bmVyL25hbWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SHViUmVwbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCBjaGFyYWN0ZXJzIHRoZSBlbmNvZGVkIGxpbmsgbWF5IGhhdmUgYmVmb3JlIHRoZSByZXBvcnQgbW92ZXMgdG8gdGhlIGNsaXBib2FyZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYERFRkFVTFRfQlVHX1JFUE9SVF9NQVhfVVJMX0xFTkdUSGBcbiAgICovXG4gIHJlYWRvbmx5IG1heFVybExlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSByZXBvcnRpbmcgcGx1Z2luLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbn1cblxuLy8gTG9uZyBlbm91Z2ggdG8gcmVhZCB0aGUgcGFzdGUgaW5zdHJ1Y3Rpb24gd2hpbGUgdGhlIGJyb3dzZXIgb3BlbnMuXG5jb25zdCBDTElQQk9BUkRfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyA9IDE1XzAwMDtcblxuLyoqXG4gKiBBIGNvbW1hbmQgaGFuZGxlciB0aGF0IG9wZW5zIHRoZSBwbHVnaW4ncyBidWctcmVwb3J0IGlzc3VlIGZvcm0gb24gR2l0SHViLCBwcmVmaWxsZWQgd2l0aCB0aGVcbiAqIGVudmlyb25tZW50IGFuZCBhbnkgZGlhZ25vc3RpY3MgdGhlIHVzZXIgYWdyZWVkIHRvIGluY2x1ZGUuIFNlZSB7QGxpbmsgZ2V0QnVnUmVwb3J0SXNzdWVGb3JtVXJsfSBmb3IgdGhlXG4gKiBmaWVsZCBpZHMgdGhlIGZvcm0gbXVzdCB1c2UsIGFuZCB7QGxpbmsgYnVpbGRCdWdSZXBvcnRJc3N1ZUZvcm1MaW5rfSBmb3Igd2hhdCBoYXBwZW5zIHRvIGEgcmVwb3J0IHRvbyBsb25nXG4gKiBmb3IgYSBsaW5rLlxuICovXG5leHBvcnQgY2xhc3MgT3BlbkJ1Z1JlcG9ydENvbW1hbmRIYW5kbGVyIGV4dGVuZHMgT3BlbkdpdEh1YkNvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG9wdGlvbmFsIGRpYWdub3N0aWNzIHRoZSByZXBvcnQgY2FuIGNhcnJ5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdldERpYWdub3N0aWNzOiAoKCkgPT4gUHJvbWlzYWJsZTxyZWFkb25seSBCdWdSZXBvcnREaWFnbm9zdGljU2VjdGlvbltdPikgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtb3N0IGNoYXJhY3RlcnMgdGhlIGVuY29kZWQgbGluayBtYXkgaGF2ZSBiZWZvcmUgdGhlIHJlcG9ydCBtb3ZlcyB0byB0aGUgY2xpcGJvYXJkLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heFVybExlbmd0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIHJlcG9ydGluZyBwbHVnaW4uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBPcGVuQnVnUmVwb3J0Q29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKHtcbiAgICAgIGdpdEh1YlJlcG86IHBhcmFtcy5naXRIdWJSZXBvLFxuICAgICAgaWNvbjogJ2J1ZycsXG4gICAgICBpZDogJ3JlcG9ydC1idWcnLFxuICAgICAgbmFtZTogJ1JlcG9ydCBhIGJ1ZydcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwID0gcGFyYW1zLmFwcDtcbiAgICB0aGlzLmdldERpYWdub3N0aWNzID0gcGFyYW1zLmdldERpYWdub3N0aWNzO1xuICAgIHRoaXMubWF4VXJsTGVuZ3RoID0gcGFyYW1zLm1heFVybExlbmd0aDtcbiAgICB0aGlzLnBsdWdpbklkID0gcGFyYW1zLnBsdWdpbklkO1xuICB9XG5cbiAgLyoqXG4gICAqIExldHMgdGhlIHVzZXIgcmV2aWV3IHRoZSBkaWFnbm9zdGljcywgaWYgYW55LCB0aGVuIG9wZW5zIHRoZSBpc3N1ZSBmb3JtLiBXaGVuIHRoZSByZXBvcnQgaXMgdG9vIGxvbmdcbiAgICogZm9yIGEgbGluaywgaXQgaXMgY29waWVkIHRvIHRoZSBjbGlwYm9hcmQgZmlyc3QsIG9yIHNob3duIGZvciBjb3B5aW5nIGJ5IGhhbmQgd2hlbiB0aGUgY2xpcGJvYXJkXG4gICAqIHJlZnVzZXMgaXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY2FuRXhlY3V0ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSBhd2FpdCBnZXRCdWdSZXBvcnRFbnZpcm9ubWVudCh7IGFwcDogdGhpcy5hcHAsIHBsdWdpbklkOiB0aGlzLnBsdWdpbklkIH0pO1xuICAgIGNvbnN0IHNlY3Rpb25zID0gYXdhaXQgdGhpcy5nZXREaWFnbm9zdGljcz8uKCkgPz8gW107XG4gICAgbGV0IGRpYWdub3N0aWNzOiByZWFkb25seSBCdWdSZXBvcnREaWFnbm9zdGljU2VjdGlvbltdID0gW107XG4gICAgaWYgKHNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJldmlld2VkU2VjdGlvbnMgPSBhd2FpdCByZXZpZXdCdWdSZXBvcnREaWFnbm9zdGljcyh7XG4gICAgICAgIGFsd2F5c0luY2x1ZGVkVGV4dDogZm9ybWF0QnVnUmVwb3J0RW52aXJvbm1lbnQoZW52aXJvbm1lbnQpLFxuICAgICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgICBzZWN0aW9uc1xuICAgICAgfSk7XG4gICAgICBpZiAocmV2aWV3ZWRTZWN0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBkaWFnbm9zdGljcyA9IHJldmlld2VkU2VjdGlvbnM7XG4gICAgfVxuXG4gICAgY29uc3QgbGluayA9IGJ1aWxkQnVnUmVwb3J0SXNzdWVGb3JtTGluayh7XG4gICAgICBkaWFnbm9zdGljcyxcbiAgICAgIGVudmlyb25tZW50LFxuICAgICAgZ2l0SHViUmVwbzogdGhpcy5naXRIdWJSZXBvLFxuICAgICAgLi4udGhpcy5tYXhVcmxMZW5ndGggIT09IHVuZGVmaW5lZCAmJiB7IG1heFVybExlbmd0aDogdGhpcy5tYXhVcmxMZW5ndGggfVxuICAgIH0pO1xuXG4gICAgaWYgKGxpbmsuY2xpcGJvYXJkVGV4dCAhPT0gbnVsbCAmJiAhYXdhaXQgdGhpcy5jb3B5UmVwb3J0KGxpbmsuY2xpcGJvYXJkVGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3aW5kb3cub3BlbihsaW5rLnVybCwgJ19ibGFuaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgcHJlZmlsbGVkIGJ1Zy1yZXBvcnQgVVJMLCB3aXRoIHRoZSBlbnZpcm9ubWVudCBvbmx5LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgbGluay5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRVcmwoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZ2V0QnVnUmVwb3J0SXNzdWVGb3JtVXJsKHtcbiAgICAgIGFwcDogdGhpcy5hcHAsXG4gICAgICBnaXRIdWJSZXBvOiB0aGlzLmdpdEh1YlJlcG8sXG4gICAgICBwbHVnaW5JZDogdGhpcy5wbHVnaW5JZFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb3B5UmVwb3J0KHRleHQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBUaGUgY2xpcGJvYXJkIG9mIHRoZSBmb2N1c2VkIHdpbmRvdzogYSBwb3BvdXQncyBkb2N1bWVudCBpcyB0aGUgb25lIHRoYXQgaG9sZHMgdGhlIGZvY3VzLlxuICAgICAgYXdhaXQgYWN0aXZlV2luZG93Lm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpO1xuICAgICAgbmV3IE5vdGljZSh0KCgkKSA9PiAkLm9ic2lkaWFuTGliLmJ1Z1JlcG9ydC5jbGlwYm9hcmRDb3BpZWQpLCBDTElQQk9BUkRfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBhd2FpdCBjb3B5VGV4dE1hbnVhbGx5KHtcbiAgICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgICAgbWVzc2FnZTogdCgoJCkgPT4gJC5vYnNpZGlhbkxpYi5idWdSZXBvcnQuY29weU1hbnVhbGx5TWVzc2FnZSksXG4gICAgICAgIG9rQnV0dG9uVGV4dDogdCgoJCkgPT4gJC5vYnNpZGlhbkxpYi5idWdSZXBvcnQub3Blbklzc3VlRm9ybSksXG4gICAgICAgIHRleHQsXG4gICAgICAgIHRpdGxlOiB0KCgkKSA9PiAkLm9ic2lkaWFuTGliLmJ1Z1JlcG9ydC5jb3B5TWFudWFsbHlUaXRsZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0Esc0JBQXVCO0FBSXZCLHdCQUtPO0FBQ1Asa0JBQWtCO0FBQ2xCLGdDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0MsMENBQXlDO0FBc0N6QyxNQUFNLDRDQUE0QztBQVEzQyxNQUFNLG9DQUFvQyw2REFBeUI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUlyRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9aLFlBQVksUUFBc0Q7QUFDdkUsVUFBTTtBQUFBLE1BQ0osWUFBWSxPQUFPO0FBQUEsTUFDbkIsTUFBTTtBQUFBLE1BQ04sSUFBSTtBQUFBLE1BQ0osTUFBTTtBQUFBLElBQ1IsQ0FBQztBQUVELFNBQUssTUFBTSxPQUFPO0FBQ2xCLFNBQUssaUJBQWlCLE9BQU87QUFDN0IsU0FBSyxlQUFlLE9BQU87QUFDM0IsU0FBSyxXQUFXLE9BQU87QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXNCLFVBQXlCO0FBQzdDLFFBQUksQ0FBQyxLQUFLLFdBQVcsR0FBRztBQUN0QjtBQUFBLElBQ0Y7QUFFQSxVQUFNLGNBQWMsVUFBTSwyQ0FBd0IsRUFBRSxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssU0FBUyxDQUFDO0FBQzVGLFVBQU0sV0FBVyxNQUFNLEtBQUssaUJBQWlCLEtBQUssQ0FBQztBQUNuRCxRQUFJLGNBQXFELENBQUM7QUFDMUQsUUFBSSxTQUFTLFNBQVMsR0FBRztBQUN2QixZQUFNLG1CQUFtQixVQUFNLGlFQUEyQjtBQUFBLFFBQ3hELHdCQUFvQiw4Q0FBMkIsV0FBVztBQUFBLFFBQzFELEtBQUssS0FBSztBQUFBLFFBQ1Y7QUFBQSxNQUNGLENBQUM7QUFDRCxVQUFJLHFCQUFxQixNQUFNO0FBQzdCO0FBQUEsTUFDRjtBQUNBLG9CQUFjO0FBQUEsSUFDaEI7QUFFQSxVQUFNLFdBQU8sK0NBQTRCO0FBQUEsTUFDdkM7QUFBQSxNQUNBO0FBQUEsTUFDQSxZQUFZLEtBQUs7QUFBQSxNQUNqQixHQUFHLEtBQUssaUJBQWlCLFVBQWEsRUFBRSxjQUFjLEtBQUssYUFBYTtBQUFBLElBQzFFLENBQUM7QUFFRCxRQUFJLEtBQUssa0JBQWtCLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVyxLQUFLLGFBQWEsR0FBRztBQUM3RTtBQUFBLElBQ0Y7QUFFQSxXQUFPLEtBQUssS0FBSyxLQUFLLFFBQVE7QUFBQSxFQUNoQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLFNBQTBCO0FBQ2pELGVBQU8sNENBQXlCO0FBQUEsTUFDOUIsS0FBSyxLQUFLO0FBQUEsTUFDVixZQUFZLEtBQUs7QUFBQSxNQUNqQixVQUFVLEtBQUs7QUFBQSxJQUNqQixDQUFDO0FBQUEsRUFDSDtBQUFBLEVBRUEsTUFBYyxXQUFXLE1BQWdDO0FBQ3ZELFFBQUk7QUFFRixZQUFNLGFBQWEsVUFBVSxVQUFVLFVBQVUsSUFBSTtBQUNyRCxVQUFJLDJCQUFPLGVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxVQUFVLGVBQWUsR0FBRyx5Q0FBeUM7QUFDdkcsYUFBTztBQUFBLElBQ1QsUUFBUTtBQUNOLGFBQU8sVUFBTSw0Q0FBaUI7QUFBQSxRQUM1QixLQUFLLEtBQUs7QUFBQSxRQUNWLGFBQVMsZUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLFVBQVUsbUJBQW1CO0FBQUEsUUFDN0Qsa0JBQWMsZUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLFVBQVUsYUFBYTtBQUFBLFFBQzVEO0FBQUEsUUFDQSxXQUFPLGVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxVQUFVLGlCQUFpQjtBQUFBLE1BQzNELENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsIm5hbWVzIjpbXX0=
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* Handles the "Report a bug" command.
|
|
6
6
|
*/
|
|
7
7
|
import type { App } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
8
|
+
import type { Promisable } from 'type-fest' with { 'resolution-mode': 'import' };
|
|
9
|
+
import type { BugReportDiagnosticSection } from '../bug-report-diagnostics.cjs';
|
|
8
10
|
import { OpenGitHubCommandHandler } from './open-git-hub-command-handler.cjs';
|
|
9
11
|
/**
|
|
10
12
|
* Constructor parameters for {@link OpenBugReportCommandHandler}.
|
|
@@ -14,10 +16,23 @@ export interface OpenBugReportCommandHandlerConstructorParams {
|
|
|
14
16
|
* The Obsidian app instance.
|
|
15
17
|
*/
|
|
16
18
|
readonly app: App;
|
|
19
|
+
/**
|
|
20
|
+
* Gets the optional diagnostics the report can carry, such as a `BugReportLogBuffer`'s section or the
|
|
21
|
+
* plugin's own redacted settings. Called each time the command runs. When it returns any section, the
|
|
22
|
+
* user reviews them and chooses which to include before the form opens; a potentially private section
|
|
23
|
+
* starts excluded. Leave it out to open the form with the environment only, as before.
|
|
24
|
+
*/
|
|
25
|
+
readonly getDiagnostics?: () => Promisable<readonly BugReportDiagnosticSection[]>;
|
|
17
26
|
/**
|
|
18
27
|
* The plugin's GitHub repository, as `owner/name`.
|
|
19
28
|
*/
|
|
20
29
|
readonly gitHubRepo: string;
|
|
30
|
+
/**
|
|
31
|
+
* The most characters the encoded link may have before the report moves to the clipboard.
|
|
32
|
+
*
|
|
33
|
+
* @default `DEFAULT_BUG_REPORT_MAX_URL_LENGTH`
|
|
34
|
+
*/
|
|
35
|
+
readonly maxUrlLength?: number;
|
|
21
36
|
/**
|
|
22
37
|
* The id of the reporting plugin.
|
|
23
38
|
*/
|
|
@@ -25,13 +40,23 @@ export interface OpenBugReportCommandHandlerConstructorParams {
|
|
|
25
40
|
}
|
|
26
41
|
/**
|
|
27
42
|
* A command handler that opens the plugin's bug-report issue form on GitHub, prefilled with the
|
|
28
|
-
* environment. See {@link getBugReportIssueFormUrl} for the
|
|
43
|
+
* environment and any diagnostics the user agreed to include. See {@link getBugReportIssueFormUrl} for the
|
|
44
|
+
* field ids the form must use, and {@link buildBugReportIssueFormLink} for what happens to a report too long
|
|
45
|
+
* for a link.
|
|
29
46
|
*/
|
|
30
47
|
export declare class OpenBugReportCommandHandler extends OpenGitHubCommandHandler {
|
|
31
48
|
/**
|
|
32
49
|
* The Obsidian app instance.
|
|
33
50
|
*/
|
|
34
51
|
protected readonly app: App;
|
|
52
|
+
/**
|
|
53
|
+
* Gets the optional diagnostics the report can carry.
|
|
54
|
+
*/
|
|
55
|
+
protected readonly getDiagnostics: (() => Promisable<readonly BugReportDiagnosticSection[]>) | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* The most characters the encoded link may have before the report moves to the clipboard.
|
|
58
|
+
*/
|
|
59
|
+
protected readonly maxUrlLength: number | undefined;
|
|
35
60
|
/**
|
|
36
61
|
* The id of the reporting plugin.
|
|
37
62
|
*/
|
|
@@ -43,9 +68,16 @@ export declare class OpenBugReportCommandHandler extends OpenGitHubCommandHandle
|
|
|
43
68
|
*/
|
|
44
69
|
constructor(params: OpenBugReportCommandHandlerConstructorParams);
|
|
45
70
|
/**
|
|
46
|
-
*
|
|
71
|
+
* Lets the user review the diagnostics, if any, then opens the issue form. When the report is too long
|
|
72
|
+
* for a link, it is copied to the clipboard first, or shown for copying by hand when the clipboard
|
|
73
|
+
* refuses it.
|
|
74
|
+
*/
|
|
75
|
+
execute(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Builds the prefilled bug-report URL, with the environment only.
|
|
47
78
|
*
|
|
48
79
|
* @returns The link.
|
|
49
80
|
*/
|
|
50
81
|
protected getUrl(): Promise<string>;
|
|
82
|
+
private copyReport;
|
|
51
83
|
}
|
|
@@ -127,8 +127,8 @@ __export(open_demo_vault_command_handler_exports, {
|
|
|
127
127
|
OpenDemoVaultCommandHandler: () => OpenDemoVaultCommandHandler
|
|
128
128
|
});
|
|
129
129
|
module.exports = __toCommonJS(open_demo_vault_command_handler_exports);
|
|
130
|
-
var import_obsidian = require(
|
|
131
|
-
var import_global_command_handler = require(
|
|
130
|
+
var import_obsidian = require("obsidian");
|
|
131
|
+
var import_global_command_handler = require("./global-command-handler.cjs");
|
|
132
132
|
class OpenDemoVaultCommandHandler extends import_global_command_handler.GlobalCommandHandler {
|
|
133
133
|
/**
|
|
134
134
|
* The Obsidian app instance.
|
|
@@ -90,8 +90,8 @@ __export(open_discussion_command_handler_exports, {
|
|
|
90
90
|
OpenDiscussionCommandHandler: () => OpenDiscussionCommandHandler
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(open_discussion_command_handler_exports);
|
|
93
|
-
var import_git_hub_discussion = require(
|
|
94
|
-
var import_open_git_hub_command_handler = require(
|
|
93
|
+
var import_git_hub_discussion = require("../git-hub-discussion.cjs");
|
|
94
|
+
var import_open_git_hub_command_handler = require("./open-git-hub-command-handler.cjs");
|
|
95
95
|
class OpenDiscussionCommandHandler extends import_open_git_hub_command_handler.OpenGitHubCommandHandler {
|
|
96
96
|
params;
|
|
97
97
|
/**
|
|
@@ -90,8 +90,8 @@ __export(open_feature_request_command_handler_exports, {
|
|
|
90
90
|
OpenFeatureRequestCommandHandler: () => OpenFeatureRequestCommandHandler
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(open_feature_request_command_handler_exports);
|
|
93
|
-
var import_feature_request = require(
|
|
94
|
-
var import_open_git_hub_command_handler = require(
|
|
93
|
+
var import_feature_request = require("../feature-request.cjs");
|
|
94
|
+
var import_open_git_hub_command_handler = require("./open-git-hub-command-handler.cjs");
|
|
95
95
|
class OpenFeatureRequestCommandHandler extends import_open_git_hub_command_handler.OpenGitHubCommandHandler {
|
|
96
96
|
params;
|
|
97
97
|
/**
|
|
@@ -90,7 +90,7 @@ __export(open_git_hub_command_handler_exports, {
|
|
|
90
90
|
OpenGitHubCommandHandler: () => OpenGitHubCommandHandler
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(open_git_hub_command_handler_exports);
|
|
93
|
-
var import_global_command_handler = require(
|
|
93
|
+
var import_global_command_handler = require("./global-command-handler.cjs");
|
|
94
94
|
class OpenGitHubCommandHandler extends import_global_command_handler.GlobalCommandHandler {
|
|
95
95
|
/**
|
|
96
96
|
* The plugin's repository, as `owner/name`.
|
|
@@ -90,8 +90,8 @@ __export(open_settings_command_handler_exports, {
|
|
|
90
90
|
OpenSettingsCommandHandler: () => OpenSettingsCommandHandler
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(open_settings_command_handler_exports);
|
|
93
|
-
var import_settings_modal = require(
|
|
94
|
-
var import_global_command_handler = require(
|
|
93
|
+
var import_settings_modal = require("../settings-modal.cjs");
|
|
94
|
+
var import_global_command_handler = require("./global-command-handler.cjs");
|
|
95
95
|
class OpenSettingsCommandHandler extends import_global_command_handler.GlobalCommandHandler {
|
|
96
96
|
/**
|
|
97
97
|
* The Obsidian app instance.
|
|
@@ -117,8 +117,8 @@ __export(undo_bulk_operation_command_handler_exports, {
|
|
|
117
117
|
UndoBulkOperationCommandHandler: () => UndoBulkOperationCommandHandler
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(undo_bulk_operation_command_handler_exports);
|
|
120
|
-
var import_obsidian = require(
|
|
121
|
-
var import_global_command_handler = require(
|
|
120
|
+
var import_obsidian = require("obsidian");
|
|
121
|
+
var import_global_command_handler = require("./global-command-handler.cjs");
|
|
122
122
|
class UndoBulkOperationCommandHandler extends import_global_command_handler.GlobalCommandHandler {
|
|
123
123
|
/**
|
|
124
124
|
* The component that commits the plugin's bulk operations.
|
|
@@ -90,7 +90,7 @@ __export(unlock_active_note_command_handler_exports, {
|
|
|
90
90
|
UnlockActiveNoteCommandHandler: () => UnlockActiveNoteCommandHandler
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(unlock_active_note_command_handler_exports);
|
|
93
|
-
var import_global_command_handler = require(
|
|
93
|
+
var import_global_command_handler = require("./global-command-handler.cjs");
|
|
94
94
|
class UnlockActiveNoteCommandHandler extends import_global_command_handler.GlobalCommandHandler {
|
|
95
95
|
/**
|
|
96
96
|
* The Obsidian app instance.
|
|
@@ -131,9 +131,9 @@ __export(community_plugins_exports, {
|
|
|
131
131
|
updateCommunityPlugin: () => updateCommunityPlugin
|
|
132
132
|
});
|
|
133
133
|
module.exports = __toCommonJS(community_plugins_exports);
|
|
134
|
-
var import_compare_versions = require(
|
|
135
|
-
var import_obsidian = require(
|
|
136
|
-
var import_obsidian_lib_state = require(
|
|
134
|
+
var import_compare_versions = require("compare-versions");
|
|
135
|
+
var import_obsidian = require("obsidian");
|
|
136
|
+
var import_obsidian_lib_state = require("./obsidian-lib-state.cjs");
|
|
137
137
|
const COMMUNITY_PLUGINS_STATE_KEY = "communityPluginEntriesPromise";
|
|
138
138
|
const COMMUNITY_PLUGINS_URL = "https://raw.githubusercontent.com/obsidianmd/obsidian-releases/HEAD/community-plugins.json";
|
|
139
139
|
const DATA_JSON_INDENT = 2;
|
|
@@ -117,8 +117,8 @@ __export(abort_signal_component_exports, {
|
|
|
117
117
|
AbortSignalComponent: () => AbortSignalComponent
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(abort_signal_component_exports);
|
|
120
|
-
var import_error = require(
|
|
121
|
-
var import_component_ex = require(
|
|
120
|
+
var import_error = require("@mnaoumov/typescript-lib/error");
|
|
121
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
122
122
|
class AbortSignalComponent extends import_component_ex.ComponentEx {
|
|
123
123
|
/**
|
|
124
124
|
* Creates a new abort signal component.
|
|
@@ -119,11 +119,11 @@ __export(all_windows_event_component_exports, {
|
|
|
119
119
|
registerBodyClass: () => registerBodyClass
|
|
120
120
|
});
|
|
121
121
|
module.exports = __toCommonJS(all_windows_event_component_exports);
|
|
122
|
-
var import_type_guards = require(
|
|
123
|
-
var import_obsidian = require(
|
|
124
|
-
var import_workspace = require(
|
|
125
|
-
var import_component_ex = require(
|
|
126
|
-
var import_layout_ready_component = require(
|
|
122
|
+
var import_type_guards = require("@mnaoumov/typescript-lib/type-guards");
|
|
123
|
+
var import_obsidian = require("obsidian");
|
|
124
|
+
var import_workspace = require("../workspace.cjs");
|
|
125
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
126
|
+
var import_layout_ready_component = require("./layout-ready-component.cjs");
|
|
127
127
|
class AllWindowsEventComponent extends import_component_ex.ComponentEx {
|
|
128
128
|
/**
|
|
129
129
|
* Creates a new instance of the `AllWindowsEventComponent` class.
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
32
|
+
(function patchObsidianRequire() {
|
|
33
|
+
const originalRequire = require;
|
|
34
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
require = Object.assign(
|
|
38
|
+
(id) => requirePatched(id),
|
|
39
|
+
originalRequire,
|
|
40
|
+
{
|
|
41
|
+
__isPatched: true
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
function extractDefault($module) {
|
|
45
|
+
return $module && $module.__esModule && "default" in $module ? $module.default : $module;
|
|
46
|
+
}
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
48
|
+
"@codemirror/autocomplete",
|
|
49
|
+
"@codemirror/collab",
|
|
50
|
+
"@codemirror/commands",
|
|
51
|
+
"@codemirror/language",
|
|
52
|
+
"@codemirror/lint",
|
|
53
|
+
"@codemirror/search",
|
|
54
|
+
"@codemirror/state",
|
|
55
|
+
"@codemirror/text",
|
|
56
|
+
"@codemirror/view",
|
|
57
|
+
"@lezer/common",
|
|
58
|
+
"@lezer/highlight",
|
|
59
|
+
"@lezer/lr",
|
|
60
|
+
"obsidian"
|
|
61
|
+
]);
|
|
62
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
63
|
+
"@codemirror/closebrackets",
|
|
64
|
+
"@codemirror/comment",
|
|
65
|
+
"@codemirror/fold",
|
|
66
|
+
"@codemirror/gutter",
|
|
67
|
+
"@codemirror/highlight",
|
|
68
|
+
"@codemirror/history",
|
|
69
|
+
"@codemirror/matchbrackets",
|
|
70
|
+
"@codemirror/panel",
|
|
71
|
+
"@codemirror/rangeset",
|
|
72
|
+
"@codemirror/rectangular-selection",
|
|
73
|
+
"@codemirror/stream-parser",
|
|
74
|
+
"@codemirror/tooltip"
|
|
75
|
+
]);
|
|
76
|
+
function requirePatched(id) {
|
|
77
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
78
|
+
return originalRequire?.(id);
|
|
79
|
+
}
|
|
80
|
+
const app = globalThis.app;
|
|
81
|
+
if (app?.isMobile) {
|
|
82
|
+
if (id === "process" || id === "node:process") {
|
|
83
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
84
|
+
return process;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
const $module = originalRequire?.(id);
|
|
88
|
+
if ($module) {
|
|
89
|
+
return extractDefault($module);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
|
|
97
|
+
"use strict";
|
|
98
|
+
var __defProp = Object.defineProperty;
|
|
99
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
100
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
101
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
102
|
+
var __export = (target, all) => {
|
|
103
|
+
for (var name in all)
|
|
104
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
105
|
+
};
|
|
106
|
+
var __copyProps = (to, from, except, desc) => {
|
|
107
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
108
|
+
for (let key of __getOwnPropNames(from))
|
|
109
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
110
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
111
|
+
}
|
|
112
|
+
return to;
|
|
113
|
+
};
|
|
114
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
115
|
+
var all_windows_status_bar_item_component_exports = {};
|
|
116
|
+
__export(all_windows_status_bar_item_component_exports, {
|
|
117
|
+
AllWindowsStatusBarItemComponent: () => AllWindowsStatusBarItemComponent,
|
|
118
|
+
WINDOW_STATUS_BAR_CSS_CLASS: () => WINDOW_STATUS_BAR_CSS_CLASS,
|
|
119
|
+
getPluginStatusBarItemCssClass: () => getPluginStatusBarItemCssClass,
|
|
120
|
+
registerAllWindowsStatusBarItem: () => registerAllWindowsStatusBarItem
|
|
121
|
+
});
|
|
122
|
+
module.exports = __toCommonJS(all_windows_status_bar_item_component_exports);
|
|
123
|
+
var import_obsidian = require("obsidian");
|
|
124
|
+
var import_all_windows_event_component = require("./all-windows-event-component.cjs");
|
|
125
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
126
|
+
const WINDOW_STATUS_BAR_CSS_CLASS = "obsidian-lib-window-status-bar";
|
|
127
|
+
const APP_CONTAINER_CSS_CLASS = "app-container";
|
|
128
|
+
const STATUS_BAR_CSS_CLASS = "status-bar";
|
|
129
|
+
const STATUS_BAR_ITEM_CSS_CLASS = "status-bar-item";
|
|
130
|
+
class AllWindowsStatusBarItemComponent extends import_component_ex.ComponentEx {
|
|
131
|
+
/**
|
|
132
|
+
* The Obsidian app instance.
|
|
133
|
+
*/
|
|
134
|
+
app;
|
|
135
|
+
/**
|
|
136
|
+
* The CSS classes added to each item.
|
|
137
|
+
*/
|
|
138
|
+
itemClasses;
|
|
139
|
+
/**
|
|
140
|
+
* Renders the item of one window.
|
|
141
|
+
*/
|
|
142
|
+
renderItem;
|
|
143
|
+
/**
|
|
144
|
+
* Whether a status bar is created in a window that has none.
|
|
145
|
+
*/
|
|
146
|
+
shouldCreateMissingStatusBar;
|
|
147
|
+
itemElsByWindow = /* @__PURE__ */ new Map();
|
|
148
|
+
/**
|
|
149
|
+
* Creates a new instance of the `AllWindowsStatusBarItemComponent` class.
|
|
150
|
+
*
|
|
151
|
+
* @param params - The {@link AllWindowsStatusBarItemComponentConstructorParams}.
|
|
152
|
+
*/
|
|
153
|
+
constructor(params) {
|
|
154
|
+
super();
|
|
155
|
+
this.app = params.app;
|
|
156
|
+
this.renderItem = params.render;
|
|
157
|
+
this.shouldCreateMissingStatusBar = params.shouldCreateMissingStatusBar ?? true;
|
|
158
|
+
this.itemClasses = [
|
|
159
|
+
STATUS_BAR_ITEM_CSS_CLASS,
|
|
160
|
+
...params.pluginId === void 0 ? [] : [getPluginStatusBarItemCssClass(params.pluginId)],
|
|
161
|
+
...params.cls ?? []
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Gets the item of a window.
|
|
166
|
+
*
|
|
167
|
+
* @param win - The window.
|
|
168
|
+
* @returns The item, or `null` when the window has none.
|
|
169
|
+
*/
|
|
170
|
+
getItemEl(win) {
|
|
171
|
+
return this.itemElsByWindow.get(win) ?? null;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Gets the items of every window that has one.
|
|
175
|
+
*
|
|
176
|
+
* @returns The items.
|
|
177
|
+
*/
|
|
178
|
+
getItemEls() {
|
|
179
|
+
return [...this.itemElsByWindow.values()];
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Creates the item in every window, now and as popouts open. A no-op on mobile.
|
|
183
|
+
*/
|
|
184
|
+
onload() {
|
|
185
|
+
super.onload();
|
|
186
|
+
if (import_obsidian.Platform.isMobile) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const allWindowsEventComponent = this.addChild(new import_all_windows_event_component.AllWindowsEventComponent(this.app));
|
|
190
|
+
allWindowsEventComponent.registerAllWindowsHandler((win) => this.attach(win));
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Renders the item of every window again.
|
|
194
|
+
*/
|
|
195
|
+
refresh() {
|
|
196
|
+
for (const [win, el] of this.itemElsByWindow) {
|
|
197
|
+
this.renderItem({ el, win });
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
attach(win) {
|
|
201
|
+
const statusBarEl = this.findOrCreateStatusBar(win.document);
|
|
202
|
+
if (!statusBarEl) {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
const el = statusBarEl.createDiv({ cls: [...this.itemClasses] });
|
|
206
|
+
this.itemElsByWindow.set(win, el);
|
|
207
|
+
this.renderItem({ el, win });
|
|
208
|
+
return () => {
|
|
209
|
+
this.itemElsByWindow.delete(win);
|
|
210
|
+
el.remove();
|
|
211
|
+
if (statusBarEl.classList.contains(WINDOW_STATUS_BAR_CSS_CLASS) && !statusBarEl.querySelector(`:scope > .${STATUS_BAR_ITEM_CSS_CLASS}`)) {
|
|
212
|
+
statusBarEl.remove();
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
findOrCreateStatusBar(doc) {
|
|
217
|
+
const appContainerEl = doc.body.querySelector(`:scope > .${APP_CONTAINER_CSS_CLASS}`);
|
|
218
|
+
if (!appContainerEl) {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
const statusBarEl = appContainerEl.querySelector(`:scope > .${STATUS_BAR_CSS_CLASS}`);
|
|
222
|
+
if (statusBarEl) {
|
|
223
|
+
return statusBarEl;
|
|
224
|
+
}
|
|
225
|
+
if (!this.shouldCreateMissingStatusBar) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
return appContainerEl.createDiv({ cls: [STATUS_BAR_CSS_CLASS, WINDOW_STATUS_BAR_CSS_CLASS] });
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
function getPluginStatusBarItemCssClass(pluginId) {
|
|
232
|
+
return `plugin-${pluginId.toLowerCase().replace(/[^_a-zA-Z0-9-]/, "-")}`;
|
|
233
|
+
}
|
|
234
|
+
function registerAllWindowsStatusBarItem(params) {
|
|
235
|
+
const { component, ...constructorParams } = params;
|
|
236
|
+
return component.addChild(new AllWindowsStatusBarItemComponent(constructorParams));
|
|
237
|
+
}
|
|
238
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
239
|
+
0 && (module.exports = {
|
|
240
|
+
AllWindowsStatusBarItemComponent,
|
|
241
|
+
WINDOW_STATUS_BAR_CSS_CLASS,
|
|
242
|
+
getPluginStatusBarItemCssClass,
|
|
243
|
+
registerAllWindowsStatusBarItem
|
|
244
|
+
});
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FsbC13aW5kb3dzLXN0YXR1cy1iYXItaXRlbS1jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFNob3dzIG9uZSBzdGF0dXMtYmFyIGl0ZW0gaW4gdGhlIG1haW4gd2luZG93IGFuZCBpbiBldmVyeSBkZXNrdG9wIHBvcG91dCwgaW5jbHVkaW5nIHBvcG91dHMgb3BlbmVkIGxhdGVyLCBhbmRcbiAqIHJlbW92ZXMgb25seSBpdHMgb3duIGl0ZW1zIHdoZW4gYSB3aW5kb3cgY2xvc2VzIG9yIHRoZSBjb21wb25lbnQgdW5sb2Fkcy5cbiAqXG4gKiBSZWFkIGZyb20gT2JzaWRpYW4gYDEuMTUuMWA6IHRoZSBtYWluIHdpbmRvdyBidWlsZHMgYGJvZHkgPiAuYXBwLWNvbnRhaW5lciA+IC5zdGF0dXMtYmFyYCwgYW5kXG4gKiBgUGx1Z2luLmFkZFN0YXR1c0Jhckl0ZW1gIGlzIGEgYC5zdGF0dXMtYmFyLWl0ZW1gIGNyZWF0ZWQgaW4gaXQuIEEgcG9wb3V0IGJ1aWxkcyBgYm9keSA+IC5hcHAtY29udGFpbmVyYCB3aXRoIHRoZVxuICogd29ya3NwYWNlIG9ubHksIGFuZCAqKm5vIHN0YXR1cyBiYXIqKi4gYGFwcC5jc3NgIHN0eWxlcyBgLnN0YXR1cy1iYXJgIHdpdGhvdXQgc2NvcGluZyBpdCB0byBhIHdpbmRvdywgc28gYVxuICogYC5zdGF0dXMtYmFyYCBjcmVhdGVkIGluc2lkZSBhIHBvcG91dCdzIGAuYXBwLWNvbnRhaW5lcmAgbG9va3MgYW5kIHNpdHMgZXhhY3RseSBsaWtlIHRoZSBtYWluIG9uZS4gQnkgZGVmYXVsdFxuICogdGhpcyBjb21wb25lbnQgY3JlYXRlcyB0aGF0IGJhciBpbiBhIHBvcG91dCB0aGF0IGxhY2tzIG9uZSwgYW5kIG1hcmtzIGl0IHdpdGhcbiAqIHtAbGluayBXSU5ET1dfU1RBVFVTX0JBUl9DU1NfQ0xBU1N9LiBUaGUgbWFya2VyIGlzIGEgd2lyZSBjb25zdGFudCBzaGFyZWQgYnkgZXZlcnkgY29weSBvZiB0aGlzIGxpYnJhcnk6IGFueSBjb3B5XG4gKiByZXVzZXMgYSBtYXJrZWQgYmFyLCBhbmQgd2hpY2hldmVyIGNvcHkgcmVtb3ZlcyB0aGUgbGFzdCBpdGVtIGZyb20gaXQgcmVtb3ZlcyB0aGUgYmFyIHRvby5cbiAqXG4gKiBNb2JpbGUgaGFzIG5vIHBvcG91dHMsIGFuZCBgYXBwLmNzc2AgaGlkZXMgYC5zdGF0dXMtYmFyYCB1bmRlciBgLmlzLW1vYmlsZWAsIHNvIG9uIG1vYmlsZSB0aGUgY29tcG9uZW50IGNyZWF0ZXNcbiAqIG5vdGhpbmcgYW5kIG5ldmVyIGNhbGxzIHRoZSByZW5kZXIgY2FsbGJhY2suXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBBbGxXaW5kb3dzRXZlbnRDb21wb25lbnQgfSBmcm9tICcuL2FsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcblxuLyoqXG4gKiBUaGUgY2xhc3MgdGhhdCBtYXJrcyBhIHN0YXR1cyBiYXIgdGhpcyBsaWJyYXJ5IGNyZWF0ZWQgaW4gYSB3aW5kb3cgdGhhdCBoYWQgbm9uZS5cbiAqIE90aGVyIGNvcGllcyBvZiB0aGUgbGlicmFyeSBtYXRjaCBpdCwgc28gaXRzIHZhbHVlIG11c3QgbmV2ZXIgY2hhbmdlLlxuICovXG5leHBvcnQgY29uc3QgV0lORE9XX1NUQVRVU19CQVJfQ1NTX0NMQVNTID0gJ29ic2lkaWFuLWxpYi13aW5kb3ctc3RhdHVzLWJhcic7XG5cbmNvbnN0IEFQUF9DT05UQUlORVJfQ1NTX0NMQVNTID0gJ2FwcC1jb250YWluZXInO1xuY29uc3QgU1RBVFVTX0JBUl9DU1NfQ0xBU1MgPSAnc3RhdHVzLWJhcic7XG5jb25zdCBTVEFUVVNfQkFSX0lURU1fQ1NTX0NMQVNTID0gJ3N0YXR1cy1iYXItaXRlbSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgdGhlIHtAbGluayBBbGxXaW5kb3dzU3RhdHVzQmFySXRlbUNvbXBvbmVudH0gY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1Db21wb25lbnRDb25zdHJ1Y3RvclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIEV4dHJhIENTUyBjbGFzc2VzIGZvciBlYWNoIGl0ZW0uXG4gICAqL1xuICByZWFkb25seSBjbHM/OiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHBsdWdpbiBpZC4gV2hlbiBnaXZlbiwgZWFjaCBpdGVtIGdldHMgdGhlIGBwbHVnaW4tPGlkPmAgY2xhc3MgdGhhdCBgUGx1Z2luLmFkZFN0YXR1c0Jhckl0ZW1gIGFkZHMsIHNvXG4gICAqIHRoZW1lcyBhbmQgQ1NTIHNuaXBwZXRzIHRoYXQgdGFyZ2V0IHRoZSBwbHVnaW4ncyBzdGF0dXMtYmFyIGl0ZW1zIG1hdGNoIHRoZXNlIHRvby5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBpdGVtIG9mIG9uZSB3aW5kb3cuIENhbGxlZCB3aGVuIHRoZSBpdGVtIGlzIGNyZWF0ZWQgYW5kIGFnYWluIGJ5XG4gICAqIHtAbGluayBBbGxXaW5kb3dzU3RhdHVzQmFySXRlbUNvbXBvbmVudC5yZWZyZXNofSwgc28gaXQgbXVzdCBiZSBzYWZlIHRvIGNhbGwgcmVwZWF0ZWRseSBvbiB0aGUgc2FtZSBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGl0ZW0gYW5kIGl0cyB3aW5kb3cuXG4gICAqL1xuICByZWFkb25seSByZW5kZXI6IChwYXJhbXM6IEFsbFdpbmRvd3NTdGF0dXNCYXJJdGVtUmVuZGVyUGFyYW1zKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIHN0YXR1cyBiYXIgaW4gYSB3aW5kb3cgdGhhdCBoYXMgbm9uZSwgYXMgZXZlcnkgcG9wb3V0IGluIE9ic2lkaWFuIGAxLjE1LjFgIGRvZXMuXG4gICAqIFdoZW4gYGZhbHNlYCwgc3VjaCBhIHdpbmRvdyBnZXRzIG5vIGl0ZW0uIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZENyZWF0ZU1pc3NpbmdTdGF0dXNCYXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIHtAbGluayBBbGxXaW5kb3dzU3RhdHVzQmFySXRlbUNvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zLnJlbmRlcn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1SZW5kZXJQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHN0YXR1cy1iYXIgaXRlbSBvd25lZCBieSB0aGlzIGNvbXBvbmVudCBpbiB7QGxpbmsgd2lufS5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIHdpbmRvdyB0aGUgaXRlbSBpcyBpbi4gVXNlIGl0cyBkb2N1bWVudCBmb3IgYW55dGhpbmcgdGhlIHJlbmRlciBjcmVhdGVzIG91dHNpZGUgdGhlIGl0ZW0uXG4gICAqL1xuICByZWFkb25seSB3aW46IFdpbmRvdztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVnaXN0ZXJBbGxXaW5kb3dzU3RhdHVzQmFySXRlbX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJBbGxXaW5kb3dzU3RhdHVzQmFySXRlbVBhcmFtcyBleHRlbmRzIEFsbFdpbmRvd3NTdGF0dXNCYXJJdGVtQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGNvbXBvbmVudCB0aGF0IG93bnMgdGhlIGl0ZW1zOiB0aGV5IGFyZSByZW1vdmVkIHdoZW4gaXQgdW5sb2Fkcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBvbmVudDogQ29tcG9uZW50O1xufVxuXG4vKipcbiAqIFNob3dzIG9uZSBzdGF0dXMtYmFyIGl0ZW0gaW4gdGhlIG1haW4gd2luZG93IGFuZCBpbiBldmVyeSBkZXNrdG9wIHBvcG91dCB3aGlsZSBsb2FkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxXaW5kb3dzU3RhdHVzQmFySXRlbUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEV4IHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBDU1MgY2xhc3NlcyBhZGRlZCB0byBlYWNoIGl0ZW0uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbUNsYXNzZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBpdGVtIG9mIG9uZSB3aW5kb3cuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVuZGVySXRlbTogKHBhcmFtczogQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1SZW5kZXJQYXJhbXMpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBzdGF0dXMgYmFyIGlzIGNyZWF0ZWQgaW4gYSB3aW5kb3cgdGhhdCBoYXMgbm9uZS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzaG91bGRDcmVhdGVNaXNzaW5nU3RhdHVzQmFyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXRlbUVsc0J5V2luZG93ID0gbmV3IE1hcDxXaW5kb3csIEhUTUxFbGVtZW50PigpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBgQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1Db21wb25lbnRgIGNsYXNzLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBBbGxXaW5kb3dzU3RhdHVzQmFySXRlbUNvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zfS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IEFsbFdpbmRvd3NTdGF0dXNCYXJJdGVtQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYXBwID0gcGFyYW1zLmFwcDtcbiAgICB0aGlzLnJlbmRlckl0ZW0gPSBwYXJhbXMucmVuZGVyO1xuICAgIHRoaXMuc2hvdWxkQ3JlYXRlTWlzc2luZ1N0YXR1c0JhciA9IHBhcmFtcy5zaG91bGRDcmVhdGVNaXNzaW5nU3RhdHVzQmFyID8/IHRydWU7XG4gICAgdGhpcy5pdGVtQ2xhc3NlcyA9IFtcbiAgICAgIFNUQVRVU19CQVJfSVRFTV9DU1NfQ0xBU1MsXG4gICAgICAuLi5wYXJhbXMucGx1Z2luSWQgPT09IHVuZGVmaW5lZCA/IFtdIDogW2dldFBsdWdpblN0YXR1c0Jhckl0ZW1Dc3NDbGFzcyhwYXJhbXMucGx1Z2luSWQpXSxcbiAgICAgIC4uLnBhcmFtcy5jbHMgPz8gW11cbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGl0ZW0gb2YgYSB3aW5kb3cuXG4gICAqXG4gICAqIEBwYXJhbSB3aW4gLSBUaGUgd2luZG93LlxuICAgKiBAcmV0dXJucyBUaGUgaXRlbSwgb3IgYG51bGxgIHdoZW4gdGhlIHdpbmRvdyBoYXMgbm9uZS5cbiAgICovXG4gIHB1YmxpYyBnZXRJdGVtRWwod2luOiBXaW5kb3cpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLml0ZW1FbHNCeVdpbmRvdy5nZXQod2luKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGl0ZW1zIG9mIGV2ZXJ5IHdpbmRvdyB0aGF0IGhhcyBvbmUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBpdGVtcy5cbiAgICovXG4gIHB1YmxpYyBnZXRJdGVtRWxzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5pdGVtRWxzQnlXaW5kb3cudmFsdWVzKCldO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGl0ZW0gaW4gZXZlcnkgd2luZG93LCBub3cgYW5kIGFzIHBvcG91dHMgb3Blbi4gQSBuby1vcCBvbiBtb2JpbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgb25sb2FkKCk6IHZvaWQge1xuICAgIHN1cGVyLm9ubG9hZCgpO1xuXG4gICAgaWYgKFBsYXRmb3JtLmlzTW9iaWxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWxsV2luZG93c0V2ZW50Q29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50KHRoaXMuYXBwKSk7XG4gICAgYWxsV2luZG93c0V2ZW50Q29tcG9uZW50LnJlZ2lzdGVyQWxsV2luZG93c0hhbmRsZXIoKHdpbikgPT4gdGhpcy5hdHRhY2god2luKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgaXRlbSBvZiBldmVyeSB3aW5kb3cgYWdhaW4uXG4gICAqL1xuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IFt3aW4sIGVsXSBvZiB0aGlzLml0ZW1FbHNCeVdpbmRvdykge1xuICAgICAgdGhpcy5yZW5kZXJJdGVtKHsgZWwsIHdpbiB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaCh3aW46IFdpbmRvdyk6ICgoKSA9PiB2b2lkKSB8IG51bGwge1xuICAgIGNvbnN0IHN0YXR1c0JhckVsID0gdGhpcy5maW5kT3JDcmVhdGVTdGF0dXNCYXIod2luLmRvY3VtZW50KTtcbiAgICBpZiAoIXN0YXR1c0JhckVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBlbCA9IHN0YXR1c0JhckVsLmNyZWF0ZURpdih7IGNsczogWy4uLnRoaXMuaXRlbUNsYXNzZXNdIH0pO1xuICAgIHRoaXMuaXRlbUVsc0J5V2luZG93LnNldCh3aW4sIGVsKTtcbiAgICB0aGlzLnJlbmRlckl0ZW0oeyBlbCwgd2luIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuaXRlbUVsc0J5V2luZG93LmRlbGV0ZSh3aW4pO1xuICAgICAgZWwucmVtb3ZlKCk7XG4gICAgICBpZiAoc3RhdHVzQmFyRWwuY2xhc3NMaXN0LmNvbnRhaW5zKFdJTkRPV19TVEFUVVNfQkFSX0NTU19DTEFTUykgJiYgIXN0YXR1c0JhckVsLnF1ZXJ5U2VsZWN0b3IoYDpzY29wZSA+IC4ke1NUQVRVU19CQVJfSVRFTV9DU1NfQ0xBU1N9YCkpIHtcbiAgICAgICAgc3RhdHVzQmFyRWwucmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZE9yQ3JlYXRlU3RhdHVzQmFyKGRvYzogRG9jdW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGNvbnN0IGFwcENvbnRhaW5lckVsID0gZG9jLmJvZHkucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oYDpzY29wZSA+IC4ke0FQUF9DT05UQUlORVJfQ1NTX0NMQVNTfWApO1xuICAgIGlmICghYXBwQ29udGFpbmVyRWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXR1c0JhckVsID0gYXBwQ29udGFpbmVyRWwucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oYDpzY29wZSA+IC4ke1NUQVRVU19CQVJfQ1NTX0NMQVNTfWApO1xuICAgIGlmIChzdGF0dXNCYXJFbCkge1xuICAgICAgcmV0dXJuIHN0YXR1c0JhckVsO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zaG91bGRDcmVhdGVNaXNzaW5nU3RhdHVzQmFyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYXBwQ29udGFpbmVyRWwuY3JlYXRlRGl2KHsgY2xzOiBbU1RBVFVTX0JBUl9DU1NfQ0xBU1MsIFdJTkRPV19TVEFUVVNfQkFSX0NTU19DTEFTU10gfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBjbGFzcyBgUGx1Z2luLmFkZFN0YXR1c0Jhckl0ZW1gIGFkZHMgdG8gYSBwbHVnaW4ncyBzdGF0dXMtYmFyIGl0ZW1zLlxuICogSXQgY29waWVzIE9ic2lkaWFuIGAxLjE1LjFgIGV4YWN0bHksIGluY2x1ZGluZyB0aGF0IG9ubHkgdGhlIGZpcnN0IGRpc2FsbG93ZWQgY2hhcmFjdGVyIGlzIHJlcGxhY2VkLlxuICpcbiAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gaWQuXG4gKiBAcmV0dXJucyBUaGUgQ1NTIGNsYXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGx1Z2luU3RhdHVzQmFySXRlbUNzc0NsYXNzKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYHBsdWdpbi0ke3BsdWdpbklkLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15fYS16QS1aMC05LV0vLCAnLScpfWA7XG59XG5cbi8qKlxuICogU2hvd3Mgb25lIHN0YXR1cy1iYXIgaXRlbSBpbiB0aGUgbWFpbiB3aW5kb3cgYW5kIGluIGV2ZXJ5IGRlc2t0b3AgcG9wb3V0LCBpbmNsdWRpbmcgcG9wb3V0cyBvcGVuZWQgbGF0ZXIsIHVudGlsXG4gKiB0aGUgb3duaW5nIGNvbXBvbmVudCB1bmxvYWRzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlZ2lzdGVyQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1QYXJhbXN9LiBUaGUgb3duZXIgbXVzdCBiZSBsb2FkZWQuXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIEFsbFdpbmRvd3NTdGF0dXNCYXJJdGVtQ29tcG9uZW50fS4gQ2FsbCBpdHMge0BsaW5rIEFsbFdpbmRvd3NTdGF0dXNCYXJJdGVtQ29tcG9uZW50LnJlZnJlc2h9IHRvXG4gKiAgIHJlbmRlciBldmVyeSBpdGVtIGFnYWluLCBvciByZW1vdmUgaXQgZnJvbSB0aGUgb3duZXIgdG8gc3RvcCBlYXJseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQWxsV2luZG93c1N0YXR1c0Jhckl0ZW0ocGFyYW1zOiBSZWdpc3RlckFsbFdpbmRvd3NTdGF0dXNCYXJJdGVtUGFyYW1zKTogQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1Db21wb25lbnQge1xuICBjb25zdCB7IGNvbXBvbmVudCwgLi4uY29uc3RydWN0b3JQYXJhbXMgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGNvbXBvbmVudC5hZGRDaGlsZChuZXcgQWxsV2luZG93c1N0YXR1c0Jhckl0ZW1Db21wb25lbnQoY29uc3RydWN0b3JQYXJhbXMpKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVCQSxzQkFBeUI7QUFFekIseUNBQXlDO0FBQ3pDLDBCQUE0QjtBQU1yQixNQUFNLDhCQUE4QjtBQUUzQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLHVCQUF1QjtBQUM3QixNQUFNLDRCQUE0QjtBQWlFM0IsTUFBTSx5Q0FBeUMsZ0NBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUk3QztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBLEVBRUYsa0JBQWtCLG9CQUFJLElBQXlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3pELFlBQVksUUFBMkQ7QUFDNUUsVUFBTTtBQUNOLFNBQUssTUFBTSxPQUFPO0FBQ2xCLFNBQUssYUFBYSxPQUFPO0FBQ3pCLFNBQUssK0JBQStCLE9BQU8sZ0NBQWdDO0FBQzNFLFNBQUssY0FBYztBQUFBLE1BQ2pCO0FBQUEsTUFDQSxHQUFHLE9BQU8sYUFBYSxTQUFZLENBQUMsSUFBSSxDQUFDLCtCQUErQixPQUFPLFFBQVEsQ0FBQztBQUFBLE1BQ3hGLEdBQUcsT0FBTyxPQUFPLENBQUM7QUFBQSxJQUNwQjtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFVBQVUsS0FBaUM7QUFDaEQsV0FBTyxLQUFLLGdCQUFnQixJQUFJLEdBQUcsS0FBSztBQUFBLEVBQzFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sYUFBNEI7QUFDakMsV0FBTyxDQUFDLEdBQUcsS0FBSyxnQkFBZ0IsT0FBTyxDQUFDO0FBQUEsRUFDMUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixTQUFlO0FBQzdCLFVBQU0sT0FBTztBQUViLFFBQUkseUJBQVMsVUFBVTtBQUNyQjtBQUFBLElBQ0Y7QUFFQSxVQUFNLDJCQUEyQixLQUFLLFNBQVMsSUFBSSw0REFBeUIsS0FBSyxHQUFHLENBQUM7QUFDckYsNkJBQXlCLDBCQUEwQixDQUFDLFFBQVEsS0FBSyxPQUFPLEdBQUcsQ0FBQztBQUFBLEVBQzlFO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxVQUFnQjtBQUNyQixlQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSyxpQkFBaUI7QUFDNUMsV0FBSyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUM7QUFBQSxJQUM3QjtBQUFBLEVBQ0Y7QUFBQSxFQUVRLE9BQU8sS0FBa0M7QUFDL0MsVUFBTSxjQUFjLEtBQUssc0JBQXNCLElBQUksUUFBUTtBQUMzRCxRQUFJLENBQUMsYUFBYTtBQUNoQixhQUFPO0FBQUEsSUFDVDtBQUVBLFVBQU0sS0FBSyxZQUFZLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO0FBQy9ELFNBQUssZ0JBQWdCLElBQUksS0FBSyxFQUFFO0FBQ2hDLFNBQUssV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDO0FBRTNCLFdBQU8sTUFBTTtBQUNYLFdBQUssZ0JBQWdCLE9BQU8sR0FBRztBQUMvQixTQUFHLE9BQU87QUFDVixVQUFJLFlBQVksVUFBVSxTQUFTLDJCQUEyQixLQUFLLENBQUMsWUFBWSxjQUFjLGFBQWEseUJBQXlCLEVBQUUsR0FBRztBQUN2SSxvQkFBWSxPQUFPO0FBQUEsTUFDckI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBRVEsc0JBQXNCLEtBQW1DO0FBQy9ELFVBQU0saUJBQWlCLElBQUksS0FBSyxjQUEyQixhQUFhLHVCQUF1QixFQUFFO0FBQ2pHLFFBQUksQ0FBQyxnQkFBZ0I7QUFDbkIsYUFBTztBQUFBLElBQ1Q7QUFFQSxVQUFNLGNBQWMsZUFBZSxjQUEyQixhQUFhLG9CQUFvQixFQUFFO0FBQ2pHLFFBQUksYUFBYTtBQUNmLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSSxDQUFDLEtBQUssOEJBQThCO0FBQ3RDLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBTyxlQUFlLFVBQVUsRUFBRSxLQUFLLENBQUMsc0JBQXNCLDJCQUEyQixFQUFFLENBQUM7QUFBQSxFQUM5RjtBQUNGO0FBU08sU0FBUywrQkFBK0IsVUFBMEI7QUFDdkUsU0FBTyxVQUFVLFNBQVMsWUFBWSxFQUFFLFFBQVEsa0JBQWtCLEdBQUcsQ0FBQztBQUN4RTtBQVVPLFNBQVMsZ0NBQWdDLFFBQWlGO0FBQy9ILFFBQU0sRUFBRSxXQUFXLEdBQUcsa0JBQWtCLElBQUk7QUFDNUMsU0FBTyxVQUFVLFNBQVMsSUFBSSxpQ0FBaUMsaUJBQWlCLENBQUM7QUFDbkY7IiwibmFtZXMiOltdfQ==
|