@mnaoumov/obsidian-lib 3.2.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/@types/i18next.d.cts +1 -1
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +3 -3
- package/dist/lib/cjs/@types/original-fs.d.cts +2 -1
- package/dist/lib/cjs/__merged.cjs +31 -24
- package/dist/lib/cjs/__merged.d.cts +3 -3
- package/dist/lib/cjs/active-file-provider.cjs +1 -47
- package/dist/lib/cjs/active-file-provider.d.cts +1 -1
- package/dist/lib/cjs/app.cjs +1 -47
- package/dist/lib/cjs/app.d.cts +1 -1
- package/dist/lib/cjs/async-with-notice.cjs +2 -21
- package/dist/lib/cjs/async-with-notice.d.cts +2 -1
- package/dist/lib/cjs/attachment-path.cjs +7 -26
- package/dist/lib/cjs/attachment-path.d.cts +1 -1
- package/dist/lib/cjs/attachment-unit-folder.cjs +2 -21
- package/dist/lib/cjs/attachment-unit-folder.d.cts +1 -1
- package/dist/lib/cjs/backlink-index.cjs +2 -21
- package/dist/lib/cjs/backlink-index.d.cts +1 -1
- package/dist/lib/cjs/backlink.cjs +2 -21
- package/dist/lib/cjs/backlink.d.cts +1 -1
- package/dist/lib/cjs/bases-view-registrar.cjs +2 -21
- package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
- package/dist/lib/cjs/callout.cjs +2 -21
- package/dist/lib/cjs/callout.d.cts +2 -1
- package/dist/lib/cjs/canvas.cjs +2 -21
- package/dist/lib/cjs/canvas.d.cts +1 -1
- package/dist/lib/cjs/case-insensitive-file-index.cjs +2 -21
- package/dist/lib/cjs/case-insensitive-file-index.d.cts +1 -1
- package/dist/lib/cjs/code-block-markdown-information.cjs +1 -47
- package/dist/lib/cjs/code-block-markdown-information.d.cts +1 -1
- package/dist/lib/cjs/code-block-reg-exp.cjs +1 -47
- package/dist/lib/cjs/code-block-reg-exp.d.cts +1 -1
- package/dist/lib/cjs/codemirror/index.cjs +2 -48
- package/dist/lib/cjs/codemirror/index.d.cts +1 -1
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +1 -47
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -21
- package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -24
- package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -24
- package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +3 -22
- package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/index.cjs +11 -57
- package/dist/lib/cjs/command-handlers/index.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +1 -47
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -47
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-registrar.cjs +1 -47
- package/dist/lib/cjs/command-registrar.d.cts +1 -1
- package/dist/lib/cjs/community-plugins.cjs +2 -21
- package/dist/lib/cjs/community-plugins.d.cts +1 -1
- package/dist/lib/cjs/components/abort-signal-component.cjs +2 -21
- package/dist/lib/cjs/components/abort-signal-component.d.cts +2 -1
- package/dist/lib/cjs/components/all-windows-event-component.cjs +1 -47
- package/dist/lib/cjs/components/all-windows-event-component.d.cts +2 -1
- package/dist/lib/cjs/components/async-error-handler-component.cjs +2 -21
- package/dist/lib/cjs/components/async-error-handler-component.d.cts +1 -1
- package/dist/lib/cjs/components/async-events-component.cjs +2 -21
- package/dist/lib/cjs/components/async-events-component.d.cts +1 -1
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +1 -47
- package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +1 -1
- package/dist/lib/cjs/components/component-ex.cjs +3 -16
- package/dist/lib/cjs/components/component-ex.d.cts +1 -1
- package/dist/lib/cjs/components/console-debug-component.cjs +2 -21
- package/dist/lib/cjs/components/console-debug-component.d.cts +1 -1
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -21
- package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +1 -1
- package/dist/lib/cjs/components/disposable-component.cjs +3 -16
- package/dist/lib/cjs/components/disposable-component.d.cts +1 -1
- package/dist/lib/cjs/components/embed-extensions-component.cjs +1 -47
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +1 -1
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +1 -47
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +1 -1
- package/dist/lib/cjs/components/index.cjs +30 -76
- package/dist/lib/cjs/components/index.d.cts +1 -1
- package/dist/lib/cjs/components/layout-ready-component.cjs +2 -21
- package/dist/lib/cjs/components/layout-ready-component.d.cts +1 -1
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +1 -47
- package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +1 -1
- package/dist/lib/cjs/components/monkey-around-component.cjs +2 -21
- package/dist/lib/cjs/components/monkey-around-component.d.cts +1 -1
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +2 -21
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-context-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-context-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-gate-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +2 -1
- package/dist/lib/cjs/components/plugin-notice-component.cjs +3 -16
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +2 -1
- package/dist/lib/cjs/components/plugin-settings-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +2 -1
- package/dist/lib/cjs/components/pointer-position-component.cjs +1 -47
- package/dist/lib/cjs/components/pointer-position-component.d.cts +1 -1
- package/dist/lib/cjs/components/registry-component.cjs +2 -21
- package/dist/lib/cjs/components/registry-component.d.cts +1 -1
- package/dist/lib/cjs/components/release-notes-component.cjs +2 -21
- package/dist/lib/cjs/components/release-notes-component.d.cts +2 -1
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +3 -16
- package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +1 -1
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +1 -47
- package/dist/lib/cjs/components/rmdir-guard-component.d.cts +1 -1
- package/dist/lib/cjs/components/settings-migration-component.cjs +2 -21
- package/dist/lib/cjs/components/settings-migration-component.d.cts +3 -3
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +2 -21
- package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +1 -1
- package/dist/lib/cjs/components/templates-language-component.cjs +3 -49
- package/dist/lib/cjs/components/templates-language-component.d.cts +1 -1
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +3 -16
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +1 -1
- package/dist/lib/cjs/constructors/index.cjs +2 -48
- package/dist/lib/cjs/constructors/index.d.cts +1 -1
- package/dist/lib/cjs/css-class.cjs +1 -47
- package/dist/lib/cjs/css-class.d.cts +1 -1
- package/dist/lib/cjs/data-handler.cjs +1 -47
- package/dist/lib/cjs/data-handler.d.cts +1 -1
- package/dist/lib/cjs/dataview-link.cjs +2 -21
- package/dist/lib/cjs/dataview-link.d.cts +1 -1
- package/dist/lib/cjs/dataview.cjs +2 -21
- package/dist/lib/cjs/dataview.d.cts +2 -1
- package/dist/lib/cjs/debug.cjs +2 -21
- package/dist/lib/cjs/debug.d.cts +1 -1
- package/dist/lib/cjs/demo-vault-helper-settings.cjs +1 -47
- package/dist/lib/cjs/demo-vault-helper-settings.d.cts +1 -1
- package/dist/lib/cjs/demo-vault-helper.cjs +2 -21
- package/dist/lib/cjs/demo-vault-helper.d.cts +1 -1
- package/dist/lib/cjs/demo-vault-naming.cjs +1 -47
- package/dist/lib/cjs/demo-vault-naming.d.cts +1 -1
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +3 -16
- package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +1 -1
- package/dist/lib/cjs/desktop-trusted-input.cjs +2 -21
- package/dist/lib/cjs/desktop-trusted-input.d.cts +2 -1
- package/dist/lib/cjs/editor-extension-registrar.cjs +2 -21
- package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
- package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -21
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
- package/dist/lib/cjs/editor.cjs +2 -21
- package/dist/lib/cjs/editor.d.cts +1 -1
- package/dist/lib/cjs/events.cjs +2 -21
- package/dist/lib/cjs/events.d.cts +1 -1
- package/dist/lib/cjs/extensions-registrar.cjs +2 -21
- package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
- package/dist/lib/cjs/file-change.cjs +2 -21
- package/dist/lib/cjs/file-change.d.cts +2 -1
- package/dist/lib/cjs/file-explorer.cjs +2 -21
- package/dist/lib/cjs/file-explorer.d.cts +1 -1
- package/dist/lib/cjs/file-manager.cjs +2 -21
- package/dist/lib/cjs/file-manager.d.cts +2 -1
- package/dist/lib/cjs/file-system.cjs +2 -21
- package/dist/lib/cjs/file-system.d.cts +1 -1
- package/dist/lib/cjs/folder-note.cjs +2 -21
- package/dist/lib/cjs/folder-note.d.cts +1 -1
- package/dist/lib/cjs/frontmatter-formatting.cjs +2 -21
- package/dist/lib/cjs/frontmatter-formatting.d.cts +1 -1
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +2 -21
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +1 -1
- package/dist/lib/cjs/frontmatter.cjs +2 -21
- package/dist/lib/cjs/frontmatter.d.cts +1 -1
- package/dist/lib/cjs/generated-during-build.cjs +2 -48
- package/dist/lib/cjs/generated-during-build.d.cts +1 -1
- package/dist/lib/cjs/hover-link-source-registrar.cjs +2 -21
- package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
- package/dist/lib/cjs/html-element.cjs +1 -47
- package/dist/lib/cjs/html-element.d.cts +2 -1
- package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -47
- package/dist/lib/cjs/i18n/custom-type-options.d.cts +1 -1
- package/dist/lib/cjs/i18n/default-translations.cjs +1 -47
- package/dist/lib/cjs/i18n/default-translations.d.cts +1 -1
- package/dist/lib/cjs/i18n/i18n.cjs +3 -22
- package/dist/lib/cjs/i18n/i18n.d.cts +1 -1
- package/dist/lib/cjs/i18n/index.cjs +5 -51
- package/dist/lib/cjs/i18n/index.d.cts +1 -1
- package/dist/lib/cjs/i18n/locales/en.cjs +1 -47
- package/dist/lib/cjs/i18n/locales/en.d.cts +1 -1
- package/dist/lib/cjs/i18n/locales/index.cjs +3 -49
- package/dist/lib/cjs/i18n/locales/index.d.cts +1 -1
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -47
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +1 -1
- package/dist/lib/cjs/index.cjs +96 -142
- package/dist/lib/cjs/index.d.cts +1 -1
- package/dist/lib/cjs/is-in-obsidian.cjs +1 -47
- package/dist/lib/cjs/is-in-obsidian.d.cts +1 -1
- package/dist/lib/cjs/library-references.d.cts +2 -0
- package/dist/lib/cjs/library-styles.cjs +2 -21
- package/dist/lib/cjs/library-styles.d.cts +2 -1
- package/dist/lib/cjs/library.cjs +1 -47
- package/dist/lib/cjs/link-name.cjs +1 -47
- package/dist/lib/cjs/link-name.d.cts +1 -1
- package/dist/lib/cjs/link-update-progress.cjs +1 -47
- package/dist/lib/cjs/link-update-progress.d.cts +1 -1
- package/dist/lib/cjs/link.cjs +3 -16
- package/dist/lib/cjs/link.d.cts +2 -1
- package/dist/lib/cjs/logger.cjs +2 -21
- package/dist/lib/cjs/logger.d.cts +2 -1
- package/dist/lib/cjs/loop.cjs +3 -16
- package/dist/lib/cjs/loop.d.cts +2 -1
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +2 -21
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +2 -1
- package/dist/lib/cjs/markdown-code-block-processor.cjs +2 -21
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +2 -1
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -21
- package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +2 -1
- package/dist/lib/cjs/markdown-view.cjs +1 -47
- package/dist/lib/cjs/markdown-view.d.cts +1 -1
- package/dist/lib/cjs/markdown.cjs +3 -16
- package/dist/lib/cjs/markdown.d.cts +2 -1
- package/dist/lib/cjs/menu-event-registrar.cjs +1 -47
- package/dist/lib/cjs/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/metadata-cache.cjs +6 -19
- package/dist/lib/cjs/metadata-cache.d.cts +1 -1
- package/dist/lib/cjs/mobile-trusted-input.cjs +1 -47
- package/dist/lib/cjs/mobile-trusted-input.d.cts +1 -1
- package/dist/lib/cjs/modals/alert.cjs +2 -21
- package/dist/lib/cjs/modals/alert.d.cts +2 -1
- package/dist/lib/cjs/modals/confirm.cjs +2 -21
- package/dist/lib/cjs/modals/confirm.d.cts +2 -1
- package/dist/lib/cjs/modals/index.cjs +10 -56
- package/dist/lib/cjs/modals/index.d.cts +1 -1
- package/dist/lib/cjs/modals/minimizable-modal.cjs +2 -21
- package/dist/lib/cjs/modals/minimizable-modal.d.cts +1 -1
- package/dist/lib/cjs/modals/modal-command-builder.cjs +2 -21
- package/dist/lib/cjs/modals/modal-command-builder.d.cts +2 -1
- package/dist/lib/cjs/modals/modal.cjs +2 -21
- package/dist/lib/cjs/modals/modal.d.cts +1 -1
- package/dist/lib/cjs/modals/prompt.cjs +2 -21
- package/dist/lib/cjs/modals/prompt.d.cts +2 -1
- package/dist/lib/cjs/modals/select-item.cjs +2 -21
- package/dist/lib/cjs/modals/select-item.d.cts +1 -1
- package/dist/lib/cjs/modals/select-option.cjs +2 -21
- package/dist/lib/cjs/modals/select-option.d.cts +2 -1
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -47
- package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +1 -1
- package/dist/lib/cjs/note-priority.cjs +2 -21
- package/dist/lib/cjs/note-priority.d.cts +1 -1
- package/dist/lib/cjs/notebook-navigator.cjs +1 -47
- package/dist/lib/cjs/notebook-navigator.d.cts +1 -1
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +2 -21
- package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +1 -1
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +2 -21
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian-settings.cjs +2 -21
- package/dist/lib/cjs/obsidian-settings.d.cts +1 -1
- package/dist/lib/cjs/parse-link.cjs +3 -22
- package/dist/lib/cjs/parse-link.d.cts +1 -1
- package/dist/lib/cjs/path-settings.cjs +2 -21
- package/dist/lib/cjs/path-settings.d.cts +1 -1
- package/dist/lib/cjs/pdf.cjs +2 -21
- package/dist/lib/cjs/pdf.d.cts +2 -1
- package/dist/lib/cjs/plugin/index.cjs +10 -56
- package/dist/lib/cjs/plugin/index.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-api-schema.cjs +5 -50
- package/dist/lib/cjs/plugin/plugin-api-schema.d.cts +19 -41
- package/dist/lib/cjs/plugin/plugin-api.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-api.d.cts +35 -50
- package/dist/lib/cjs/plugin/plugin-context.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-context.d.cts +2 -1
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -47
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +1 -47
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -47
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +2 -1
- package/dist/lib/cjs/plugin/plugin.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin.d.cts +1 -1
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +5 -24
- package/dist/lib/cjs/plugin/settings-migration-api.d.cts +3 -3
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -21
- package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
- package/dist/lib/cjs/popovers/field-popover.cjs +2 -21
- package/dist/lib/cjs/popovers/field-popover.d.cts +1 -1
- package/dist/lib/cjs/popovers/index.cjs +4 -50
- package/dist/lib/cjs/popovers/index.d.cts +1 -1
- package/dist/lib/cjs/popovers/popover-anchor.cjs +2 -21
- package/dist/lib/cjs/popovers/popover-anchor.d.cts +2 -1
- package/dist/lib/cjs/popovers/popover.cjs +2 -21
- package/dist/lib/cjs/popovers/popover.d.cts +2 -1
- package/dist/lib/cjs/property-entry.cjs +1 -47
- package/dist/lib/cjs/property-entry.d.cts +1 -1
- package/dist/lib/cjs/queue.cjs +2 -21
- package/dist/lib/cjs/queue.d.cts +2 -1
- package/dist/lib/cjs/react/app-context.cjs +2 -21
- package/dist/lib/cjs/react/app-context.d.cts +1 -1
- package/dist/lib/cjs/react/index.cjs +2 -48
- package/dist/lib/cjs/react/index.d.cts +1 -1
- package/dist/lib/cjs/reference.cjs +2 -21
- package/dist/lib/cjs/reference.d.cts +1 -1
- package/dist/lib/cjs/resource-lock.cjs +2 -21
- package/dist/lib/cjs/resource-lock.d.cts +2 -1
- package/dist/lib/cjs/resource-url.cjs +2 -21
- package/dist/lib/cjs/resource-url.d.cts +1 -1
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +2 -21
- package/dist/lib/cjs/ribbon-icon-registrar.d.cts +2 -1
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/checkbox-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/date-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/date-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/date-time-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/date-time-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/email-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/email-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/file-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/file-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/index.cjs +27 -73
- package/dist/lib/cjs/setting-components/index.d.cts +1 -1
- package/dist/lib/cjs/setting-components/month-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/month-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +3 -1
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/number-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/number-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/password-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/password-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +2 -21
- package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +2 -1
- package/dist/lib/cjs/setting-components/telephone-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/telephone-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/text-based-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/text-based-component.d.cts +1 -1
- package/dist/lib/cjs/setting-components/time-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/time-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +3 -1
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +3 -1
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +1 -1
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/typed-text-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/url-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/url-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/validator-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/validator-component.d.cts +1 -1
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +1 -47
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +1 -1
- package/dist/lib/cjs/setting-components/week-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/week-component.d.cts +2 -1
- package/dist/lib/cjs/setting-ex.cjs +2 -21
- package/dist/lib/cjs/setting-ex.d.cts +2 -1
- package/dist/lib/cjs/setting-group-ex.cjs +2 -21
- package/dist/lib/cjs/setting-group-ex.d.cts +2 -1
- package/dist/lib/cjs/status-bar-item-registrar.cjs +2 -21
- package/dist/lib/cjs/status-bar-item-registrar.d.cts +2 -1
- package/dist/lib/cjs/templater.cjs +1 -47
- package/dist/lib/cjs/templater.d.cts +1 -1
- package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -21
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/index.cjs +2 -48
- package/dist/lib/cjs/transformers/index.d.cts +1 -1
- package/dist/lib/cjs/trusted-input.cjs +2 -21
- package/dist/lib/cjs/trusted-input.d.cts +1 -1
- package/dist/lib/cjs/validation.cjs +2 -21
- package/dist/lib/cjs/validation.d.cts +1 -1
- package/dist/lib/cjs/vault-delete.cjs +2 -21
- package/dist/lib/cjs/vault-delete.d.cts +1 -1
- package/dist/lib/cjs/vault-transaction.cjs +3 -16
- package/dist/lib/cjs/vault-transaction.d.cts +1 -1
- package/dist/lib/cjs/vault.cjs +3 -16
- package/dist/lib/cjs/vault.d.cts +1 -1
- package/dist/lib/cjs/view-registrar.cjs +2 -21
- package/dist/lib/cjs/view-registrar.d.cts +1 -1
- package/dist/lib/cjs/workspace.cjs +2 -21
- package/dist/lib/cjs/workspace.d.cts +2 -1
- package/dist/lib/esm/@types/i18next.d.mts +1 -1
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +3 -3
- package/dist/lib/esm/@types/original-fs.d.mts +2 -1
- package/dist/lib/esm/__merged.d.mts +3 -3
- package/dist/lib/esm/__merged.mjs +33 -16
- package/dist/lib/esm/active-file-provider.d.mts +1 -1
- package/dist/lib/esm/active-file-provider.mjs +1 -37
- package/dist/lib/esm/app.d.mts +1 -1
- package/dist/lib/esm/app.mjs +1 -37
- package/dist/lib/esm/async-with-notice.d.mts +2 -1
- package/dist/lib/esm/async-with-notice.mjs +2 -11
- package/dist/lib/esm/attachment-path.d.mts +1 -1
- package/dist/lib/esm/attachment-path.mjs +6 -15
- package/dist/lib/esm/attachment-unit-folder.d.mts +1 -1
- package/dist/lib/esm/attachment-unit-folder.mjs +2 -11
- package/dist/lib/esm/backlink-index.d.mts +1 -1
- package/dist/lib/esm/backlink-index.mjs +2 -11
- package/dist/lib/esm/backlink.d.mts +1 -1
- package/dist/lib/esm/backlink.mjs +2 -11
- package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
- package/dist/lib/esm/bases-view-registrar.mjs +2 -11
- package/dist/lib/esm/callout.d.mts +2 -1
- package/dist/lib/esm/callout.mjs +2 -11
- package/dist/lib/esm/canvas.d.mts +1 -1
- package/dist/lib/esm/canvas.mjs +2 -11
- package/dist/lib/esm/case-insensitive-file-index.d.mts +1 -1
- package/dist/lib/esm/case-insensitive-file-index.mjs +2 -11
- package/dist/lib/esm/code-block-markdown-information.d.mts +1 -1
- package/dist/lib/esm/code-block-markdown-information.mjs +0 -36
- package/dist/lib/esm/code-block-reg-exp.d.mts +1 -1
- package/dist/lib/esm/code-block-reg-exp.mjs +1 -37
- package/dist/lib/esm/codemirror/index.d.mts +1 -1
- package/dist/lib/esm/codemirror/index.mjs +1 -37
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +1 -1
- package/dist/lib/esm/codemirror/state-field-spec.mjs +0 -36
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/command-handler-component.d.mts +1 -1
- package/dist/lib/esm/command-handlers/command-handler-component.mjs +2 -11
- package/dist/lib/esm/command-handlers/command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/file-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/file-command-handler.mjs +5 -14
- package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/folder-command-handler.mjs +5 -14
- package/dist/lib/esm/command-handlers/global-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/global-command-handler.mjs +3 -12
- package/dist/lib/esm/command-handlers/index.d.mts +1 -1
- package/dist/lib/esm/command-handlers/index.mjs +1 -37
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +1 -37
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +1 -37
- package/dist/lib/esm/command-registrar.d.mts +1 -1
- package/dist/lib/esm/command-registrar.mjs +1 -37
- package/dist/lib/esm/community-plugins.d.mts +1 -1
- package/dist/lib/esm/community-plugins.mjs +2 -11
- package/dist/lib/esm/components/abort-signal-component.d.mts +2 -1
- package/dist/lib/esm/components/abort-signal-component.mjs +2 -11
- package/dist/lib/esm/components/all-windows-event-component.d.mts +2 -1
- package/dist/lib/esm/components/all-windows-event-component.mjs +1 -37
- package/dist/lib/esm/components/async-error-handler-component.d.mts +1 -1
- package/dist/lib/esm/components/async-error-handler-component.mjs +2 -11
- package/dist/lib/esm/components/async-events-component.d.mts +1 -1
- package/dist/lib/esm/components/async-events-component.mjs +2 -11
- package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +1 -1
- package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +1 -37
- package/dist/lib/esm/components/component-ex.d.mts +1 -1
- package/dist/lib/esm/components/component-ex.mjs +3 -6
- package/dist/lib/esm/components/console-debug-component.d.mts +1 -1
- package/dist/lib/esm/components/console-debug-component.mjs +2 -11
- package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +1 -1
- package/dist/lib/esm/components/core-plugin-toggle-component.mjs +2 -11
- package/dist/lib/esm/components/disposable-component.d.mts +1 -1
- package/dist/lib/esm/components/disposable-component.mjs +3 -6
- package/dist/lib/esm/components/embed-extensions-component.d.mts +1 -1
- package/dist/lib/esm/components/embed-extensions-component.mjs +1 -37
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +1 -1
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +1 -37
- package/dist/lib/esm/components/index.d.mts +1 -1
- package/dist/lib/esm/components/index.mjs +1 -37
- package/dist/lib/esm/components/layout-ready-component.d.mts +1 -1
- package/dist/lib/esm/components/layout-ready-component.mjs +2 -11
- package/dist/lib/esm/components/menu-event-registrar-component.d.mts +1 -1
- package/dist/lib/esm/components/menu-event-registrar-component.mjs +1 -37
- package/dist/lib/esm/components/monkey-around-component.d.mts +1 -1
- package/dist/lib/esm/components/monkey-around-component.mjs +2 -11
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +1 -1
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-context-component.d.mts +1 -1
- package/dist/lib/esm/components/plugin-context-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-gate-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-gate-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-notice-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-notice-component.mjs +3 -6
- package/dist/lib/esm/components/plugin-settings-component.d.mts +1 -1
- package/dist/lib/esm/components/plugin-settings-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +1 -1
- package/dist/lib/esm/components/plugin-settings-tab-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-suggestion-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-suggestion-component.mjs +2 -11
- package/dist/lib/esm/components/pointer-position-component.d.mts +1 -1
- package/dist/lib/esm/components/pointer-position-component.mjs +1 -37
- package/dist/lib/esm/components/registry-component.d.mts +1 -1
- package/dist/lib/esm/components/registry-component.mjs +2 -11
- package/dist/lib/esm/components/release-notes-component.d.mts +2 -1
- package/dist/lib/esm/components/release-notes-component.mjs +2 -11
- package/dist/lib/esm/components/rename-delete-handler-component.d.mts +1 -1
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +3 -6
- package/dist/lib/esm/components/rmdir-guard-component.d.mts +1 -1
- package/dist/lib/esm/components/rmdir-guard-component.mjs +1 -37
- package/dist/lib/esm/components/settings-migration-component.d.mts +3 -3
- package/dist/lib/esm/components/settings-migration-component.mjs +2 -11
- package/dist/lib/esm/components/syntax-highlighting-component.d.mts +1 -1
- package/dist/lib/esm/components/syntax-highlighting-component.mjs +2 -11
- package/dist/lib/esm/components/templates-language-component.d.mts +1 -1
- package/dist/lib/esm/components/templates-language-component.mjs +3 -39
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +1 -1
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +3 -6
- package/dist/lib/esm/constructors/index.d.mts +1 -1
- package/dist/lib/esm/constructors/index.mjs +1 -37
- package/dist/lib/esm/css-class.d.mts +1 -1
- package/dist/lib/esm/css-class.mjs +1 -37
- package/dist/lib/esm/data-handler.d.mts +1 -1
- package/dist/lib/esm/data-handler.mjs +1 -37
- package/dist/lib/esm/dataview-link.d.mts +1 -1
- package/dist/lib/esm/dataview-link.mjs +2 -11
- package/dist/lib/esm/dataview.d.mts +2 -1
- package/dist/lib/esm/dataview.mjs +2 -11
- package/dist/lib/esm/debug.d.mts +1 -1
- package/dist/lib/esm/debug.mjs +2 -11
- package/dist/lib/esm/demo-vault-helper-settings.d.mts +1 -1
- package/dist/lib/esm/demo-vault-helper-settings.mjs +0 -36
- package/dist/lib/esm/demo-vault-helper.d.mts +1 -1
- package/dist/lib/esm/demo-vault-helper.mjs +2 -11
- package/dist/lib/esm/demo-vault-naming.d.mts +1 -1
- package/dist/lib/esm/demo-vault-naming.mjs +1 -37
- package/dist/lib/esm/desktop-demo-vault-opener.d.mts +1 -1
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +3 -6
- package/dist/lib/esm/desktop-trusted-input.d.mts +2 -1
- package/dist/lib/esm/desktop-trusted-input.mjs +2 -11
- package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
- package/dist/lib/esm/editor-extension-registrar.mjs +2 -11
- package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
- package/dist/lib/esm/editor-suggest-registrar.mjs +2 -11
- package/dist/lib/esm/editor.d.mts +1 -1
- package/dist/lib/esm/editor.mjs +2 -11
- package/dist/lib/esm/events.d.mts +1 -1
- package/dist/lib/esm/events.mjs +2 -11
- package/dist/lib/esm/extensions-registrar.d.mts +1 -1
- package/dist/lib/esm/extensions-registrar.mjs +2 -11
- package/dist/lib/esm/file-change.d.mts +2 -1
- package/dist/lib/esm/file-change.mjs +2 -11
- package/dist/lib/esm/file-explorer.d.mts +1 -1
- package/dist/lib/esm/file-explorer.mjs +2 -11
- package/dist/lib/esm/file-manager.d.mts +2 -1
- package/dist/lib/esm/file-manager.mjs +2 -11
- package/dist/lib/esm/file-system.d.mts +1 -1
- package/dist/lib/esm/file-system.mjs +2 -11
- package/dist/lib/esm/folder-note.d.mts +1 -1
- package/dist/lib/esm/folder-note.mjs +2 -11
- package/dist/lib/esm/frontmatter-formatting.d.mts +1 -1
- package/dist/lib/esm/frontmatter-formatting.mjs +2 -11
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +1 -1
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +2 -11
- package/dist/lib/esm/frontmatter.d.mts +1 -1
- package/dist/lib/esm/frontmatter.mjs +2 -11
- package/dist/lib/esm/generated-during-build.d.mts +1 -1
- package/dist/lib/esm/generated-during-build.mjs +2 -38
- package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
- package/dist/lib/esm/hover-link-source-registrar.mjs +2 -11
- package/dist/lib/esm/html-element.d.mts +2 -1
- package/dist/lib/esm/html-element.mjs +1 -37
- package/dist/lib/esm/i18n/custom-type-options.d.mts +1 -1
- package/dist/lib/esm/i18n/custom-type-options.mjs +1 -37
- package/dist/lib/esm/i18n/default-translations.d.mts +1 -1
- package/dist/lib/esm/i18n/default-translations.mjs +1 -37
- package/dist/lib/esm/i18n/i18n.d.mts +1 -1
- package/dist/lib/esm/i18n/i18n.mjs +2 -11
- package/dist/lib/esm/i18n/index.d.mts +1 -1
- package/dist/lib/esm/i18n/index.mjs +1 -37
- package/dist/lib/esm/i18n/locales/en.d.mts +1 -1
- package/dist/lib/esm/i18n/locales/en.mjs +1 -37
- package/dist/lib/esm/i18n/locales/index.d.mts +1 -1
- package/dist/lib/esm/i18n/locales/index.mjs +1 -37
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +1 -1
- package/dist/lib/esm/i18n/locales/translations-map.mjs +1 -37
- package/dist/lib/esm/index.d.mts +1 -1
- package/dist/lib/esm/index.mjs +1 -37
- package/dist/lib/esm/is-in-obsidian.d.mts +1 -1
- package/dist/lib/esm/is-in-obsidian.mjs +1 -37
- package/dist/lib/esm/library-references.d.mts +2 -0
- package/dist/lib/esm/library-styles.d.mts +2 -1
- package/dist/lib/esm/library-styles.mjs +2 -11
- package/dist/lib/esm/library.mjs +1 -37
- package/dist/lib/esm/link-name.d.mts +1 -1
- package/dist/lib/esm/link-name.mjs +1 -37
- package/dist/lib/esm/link-update-progress.d.mts +1 -1
- package/dist/lib/esm/link-update-progress.mjs +0 -36
- package/dist/lib/esm/link.d.mts +2 -1
- package/dist/lib/esm/link.mjs +3 -6
- package/dist/lib/esm/logger.d.mts +2 -1
- package/dist/lib/esm/logger.mjs +2 -11
- package/dist/lib/esm/loop.d.mts +2 -1
- package/dist/lib/esm/loop.mjs +3 -6
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +2 -1
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +2 -11
- package/dist/lib/esm/markdown-code-block-processor.d.mts +2 -1
- package/dist/lib/esm/markdown-code-block-processor.mjs +2 -11
- package/dist/lib/esm/markdown-post-processor-registrar.d.mts +2 -1
- package/dist/lib/esm/markdown-post-processor-registrar.mjs +2 -11
- package/dist/lib/esm/markdown-view.d.mts +1 -1
- package/dist/lib/esm/markdown-view.mjs +1 -37
- package/dist/lib/esm/markdown.d.mts +2 -1
- package/dist/lib/esm/markdown.mjs +3 -6
- package/dist/lib/esm/menu-event-registrar.d.mts +1 -1
- package/dist/lib/esm/menu-event-registrar.mjs +0 -36
- package/dist/lib/esm/metadata-cache.d.mts +1 -1
- package/dist/lib/esm/metadata-cache.mjs +7 -10
- package/dist/lib/esm/mobile-trusted-input.d.mts +1 -1
- package/dist/lib/esm/mobile-trusted-input.mjs +1 -37
- package/dist/lib/esm/modals/alert.d.mts +2 -1
- package/dist/lib/esm/modals/alert.mjs +2 -11
- package/dist/lib/esm/modals/confirm.d.mts +2 -1
- package/dist/lib/esm/modals/confirm.mjs +2 -11
- package/dist/lib/esm/modals/index.d.mts +1 -1
- package/dist/lib/esm/modals/index.mjs +1 -37
- package/dist/lib/esm/modals/minimizable-modal.d.mts +1 -1
- package/dist/lib/esm/modals/minimizable-modal.mjs +2 -11
- package/dist/lib/esm/modals/modal-command-builder.d.mts +2 -1
- package/dist/lib/esm/modals/modal-command-builder.mjs +2 -11
- package/dist/lib/esm/modals/modal.d.mts +1 -1
- package/dist/lib/esm/modals/modal.mjs +2 -11
- package/dist/lib/esm/modals/prompt.d.mts +2 -1
- package/dist/lib/esm/modals/prompt.mjs +2 -11
- package/dist/lib/esm/modals/select-item.d.mts +1 -1
- package/dist/lib/esm/modals/select-item.mjs +2 -11
- package/dist/lib/esm/modals/select-option.d.mts +2 -1
- package/dist/lib/esm/modals/select-option.mjs +2 -11
- package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +1 -1
- package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +1 -37
- package/dist/lib/esm/note-priority.d.mts +1 -1
- package/dist/lib/esm/note-priority.mjs +2 -11
- package/dist/lib/esm/notebook-navigator.d.mts +1 -1
- package/dist/lib/esm/notebook-navigator.mjs +1 -37
- package/dist/lib/esm/obsidian-dev-utils-state.d.mts +1 -1
- package/dist/lib/esm/obsidian-dev-utils-state.mjs +2 -11
- package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +2 -11
- package/dist/lib/esm/obsidian-settings.d.mts +1 -1
- package/dist/lib/esm/obsidian-settings.mjs +2 -11
- package/dist/lib/esm/parse-link.d.mts +1 -1
- package/dist/lib/esm/parse-link.mjs +2 -11
- package/dist/lib/esm/path-settings.d.mts +1 -1
- package/dist/lib/esm/path-settings.mjs +2 -11
- package/dist/lib/esm/pdf.d.mts +2 -1
- package/dist/lib/esm/pdf.mjs +2 -11
- package/dist/lib/esm/plugin/index.d.mts +1 -1
- package/dist/lib/esm/plugin/index.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-api-schema.d.mts +19 -41
- package/dist/lib/esm/plugin/plugin-api-schema.mjs +6 -38
- package/dist/lib/esm/plugin/plugin-api.d.mts +35 -50
- package/dist/lib/esm/plugin/plugin-api.mjs +2 -11
- package/dist/lib/esm/plugin/plugin-context.d.mts +2 -1
- package/dist/lib/esm/plugin/plugin-context.mjs +2 -11
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-install-state.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +2 -1
- package/dist/lib/esm/plugin/plugin-settings-tab.mjs +2 -11
- package/dist/lib/esm/plugin/plugin.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin.mjs +2 -11
- package/dist/lib/esm/plugin/settings-migration-api.d.mts +3 -3
- package/dist/lib/esm/plugin/settings-migration-api.mjs +3 -12
- package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
- package/dist/lib/esm/plugin-cli-handler-registrar.mjs +2 -11
- package/dist/lib/esm/popovers/field-popover.d.mts +1 -1
- package/dist/lib/esm/popovers/field-popover.mjs +2 -11
- package/dist/lib/esm/popovers/index.d.mts +1 -1
- package/dist/lib/esm/popovers/index.mjs +1 -37
- package/dist/lib/esm/popovers/popover-anchor.d.mts +2 -1
- package/dist/lib/esm/popovers/popover-anchor.mjs +2 -11
- package/dist/lib/esm/popovers/popover.d.mts +2 -1
- package/dist/lib/esm/popovers/popover.mjs +2 -11
- package/dist/lib/esm/property-entry.d.mts +1 -1
- package/dist/lib/esm/property-entry.mjs +1 -37
- package/dist/lib/esm/queue.d.mts +2 -1
- package/dist/lib/esm/queue.mjs +2 -11
- package/dist/lib/esm/react/app-context.d.mts +1 -1
- package/dist/lib/esm/react/app-context.mjs +2 -11
- package/dist/lib/esm/react/index.d.mts +1 -1
- package/dist/lib/esm/react/index.mjs +1 -37
- package/dist/lib/esm/reference.d.mts +1 -1
- package/dist/lib/esm/reference.mjs +2 -11
- package/dist/lib/esm/resource-lock.d.mts +2 -1
- package/dist/lib/esm/resource-lock.mjs +2 -11
- package/dist/lib/esm/resource-url.d.mts +1 -1
- package/dist/lib/esm/resource-url.mjs +2 -11
- package/dist/lib/esm/ribbon-icon-registrar.d.mts +2 -1
- package/dist/lib/esm/ribbon-icon-registrar.mjs +2 -11
- package/dist/lib/esm/setting-components/checkbox-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/checkbox-component.mjs +2 -11
- package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/code-highlighter-component.mjs +2 -11
- package/dist/lib/esm/setting-components/date-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/date-component.mjs +2 -11
- package/dist/lib/esm/setting-components/date-time-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/date-time-component.mjs +2 -11
- package/dist/lib/esm/setting-components/email-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/email-component.mjs +1 -37
- package/dist/lib/esm/setting-components/file-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/file-component.mjs +1 -37
- package/dist/lib/esm/setting-components/index.d.mts +1 -1
- package/dist/lib/esm/setting-components/index.mjs +1 -37
- package/dist/lib/esm/setting-components/month-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/month-component.mjs +2 -11
- package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +3 -1
- package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +2 -11
- package/dist/lib/esm/setting-components/multiple-email-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/multiple-email-component.mjs +1 -37
- package/dist/lib/esm/setting-components/multiple-file-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/multiple-file-component.mjs +2 -11
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +2 -11
- package/dist/lib/esm/setting-components/number-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/number-component.mjs +1 -37
- package/dist/lib/esm/setting-components/password-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/password-component.mjs +1 -37
- package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +2 -1
- package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +2 -11
- package/dist/lib/esm/setting-components/telephone-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/telephone-component.mjs +1 -37
- package/dist/lib/esm/setting-components/text-based-component.d.mts +1 -1
- package/dist/lib/esm/setting-components/text-based-component.mjs +2 -11
- package/dist/lib/esm/setting-components/time-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/time-component.mjs +2 -11
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +2 -11
- package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +3 -1
- package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +2 -11
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +3 -1
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +2 -11
- package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +1 -1
- package/dist/lib/esm/setting-components/typed-range-text-component.mjs +1 -37
- package/dist/lib/esm/setting-components/typed-text-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/typed-text-component.mjs +2 -11
- package/dist/lib/esm/setting-components/url-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/url-component.mjs +1 -37
- package/dist/lib/esm/setting-components/validator-component.d.mts +1 -1
- package/dist/lib/esm/setting-components/validator-component.mjs +2 -11
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +1 -1
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +0 -36
- package/dist/lib/esm/setting-components/week-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/week-component.mjs +2 -11
- package/dist/lib/esm/setting-ex.d.mts +2 -1
- package/dist/lib/esm/setting-ex.mjs +2 -11
- package/dist/lib/esm/setting-group-ex.d.mts +2 -1
- package/dist/lib/esm/setting-group-ex.mjs +2 -11
- package/dist/lib/esm/status-bar-item-registrar.d.mts +2 -1
- package/dist/lib/esm/status-bar-item-registrar.mjs +2 -11
- package/dist/lib/esm/templater.d.mts +1 -1
- package/dist/lib/esm/templater.mjs +1 -37
- package/dist/lib/esm/transformers/duration-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/duration-transformer.mjs +2 -11
- package/dist/lib/esm/transformers/index.d.mts +1 -1
- package/dist/lib/esm/transformers/index.mjs +1 -37
- package/dist/lib/esm/trusted-input.d.mts +1 -1
- package/dist/lib/esm/trusted-input.mjs +2 -11
- package/dist/lib/esm/validation.d.mts +1 -1
- package/dist/lib/esm/validation.mjs +2 -11
- package/dist/lib/esm/vault-delete.d.mts +1 -1
- package/dist/lib/esm/vault-delete.mjs +2 -11
- package/dist/lib/esm/vault-transaction.d.mts +1 -1
- package/dist/lib/esm/vault-transaction.mjs +3 -6
- package/dist/lib/esm/vault.d.mts +1 -1
- package/dist/lib/esm/vault.mjs +3 -6
- package/dist/lib/esm/view-registrar.d.mts +1 -1
- package/dist/lib/esm/view-registrar.mjs +2 -11
- package/dist/lib/esm/workspace.d.mts +2 -1
- package/dist/lib/esm/workspace.mjs +2 -11
- package/package.json +16 -5
|
@@ -2,52 +2,6 @@
|
|
|
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
|
-
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return "/";
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: "android"
|
|
20
|
-
};
|
|
21
|
-
const existingProcess = globalThis.process;
|
|
22
|
-
if (!existingProcess) {
|
|
23
|
-
globalThis.process = browserProcess;
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (existingProcess.versions?.node) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const existingProcessRecord = existingProcess;
|
|
30
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
31
|
-
existingProcessRecord[key] ??= value;
|
|
32
|
-
}
|
|
33
|
-
existingProcessRecord["browser"] = true;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function keepName($unknown) {
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
50
|
-
})();
|
|
51
5
|
(function patchObsidianRequire() {
|
|
52
6
|
const originalRequire = require;
|
|
53
7
|
if (!originalRequire || originalRequire.__isPatched) {
|
|
@@ -128,4 +82,4 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
128
82
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
129
83
|
var demo_vault_helper_settings_exports = {};
|
|
130
84
|
module.exports = __toCommonJS(demo_vault_helper_settings_exports);
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWhlbHBlci1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGBkZW1vLXZhdWx0LWhlbHBlcmAgcGx1Z2luJ3Mgb3duIHNldHRpbmdzIOKAlCB0aGUgY29udHJhY3QgYmV0d2VlbiB0aGUgZGVtby12YXVsdCBwYWNrYWdpbmcgc3RlcFxuICogYW5kIHRoZSBib290c3RyYXAgdGhhdCBydW5zIGluc2lkZSB0aGUgb3BlbmVkIHZhdWx0LlxuICpcbiAqIFRoZSBoZWxwZXIgaGFzIHRvIG5hbWUgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLCBhbmQgbm90aGluZyBpbnNpZGUgdGhlIHZhdWx0IHJlbGlhYmx5IHNheXNcbiAqIHdoaWNoIG9uZSB0aGF0IGlzOiB0aGUgcGx1Z2luIGZvbGRlcnMgYWxzbyBob2xkIHRoZSBoZWxwZXIgaXRzZWxmLCBgQ29kZVNjcmlwdCBUb29sa2l0YCBvbmNlIHRoZVxuICogYm9vdHN0cmFwIGhhcyBpbnN0YWxsZWQgaXQsIGFuZCBhbnl0aGluZyBhIGRlbW8gbm90ZSdzIHByZXJlcXVpc2l0ZXMgaW5zdGFsbGVkLCBzbyBjb3VudGluZyB0aGVtXG4gKiBndWVzc2VzIChhbmQgZ3Vlc3NlcyBkaWZmZXJlbnRseSBvbiBhIHJlLW9wZW4pLiBUaGUgcGFja2FnaW5nIHN0ZXAsIG9uIHRoZSBvdGhlciBoYW5kLCBLTk9XUyDigJQgaXRcbiAqIHJlYWRzIHRoZSBwbHVnaW4ncyBgbWFuaWZlc3QuanNvbmAgdG8gbmFtZSB0aGUgYXJjaGl2ZSDigJQgc28gaXQgd3JpdGVzIHRoZSBpZCBkb3duIGhlcmUgYW5kIHRoZVxuICogYm9vdHN0cmFwIHNpbXBseSByZWFkcyBpdC5cbiAqXG4gKiBUaGUgbWFya2VyIGFuZCB0aGUgaGVscGVyIGJpbmFyeSBhcmUgd3JpdHRlbiB0b2dldGhlciwgYnkgdGhlIHNhbWUgYG9ic2lkaWFuLWRldi11dGlsc2AgdmVyc2lvbiwgaW50b1xuICogdGhlIHNhbWUgYXJjaGl2ZSwgc28gdGhlIHR3byBjYW4gbmV2ZXIgZGlzYWdyZWUuXG4gKlxuICogS2VwdCBmcmVlIG9mIGBvYnNpZGlhbmAgaW1wb3J0cyBvbiBwdXJwb3NlOiB0aGUgcGFja2FnaW5nIHN0ZXAgKHtAbGluayBhcmNoaXZlUGx1Z2luRGVtb1ZhdWx0fSkgcnVuc1xuICogdW5kZXIgTm9kZSwgd2hlcmUgdGhlIGBvYnNpZGlhbmAgbW9kdWxlIGRvZXMgbm90IGV4aXN0LlxuICovXG5cbi8qKlxuICogVGhlIGBkZW1vLXZhdWx0LWhlbHBlcmAgcGx1Z2luJ3MgYGRhdGEuanNvbmAsIHdyaXR0ZW4gaW50byB0aGUgZGVtbyB2YXVsdCBhdCBwYWNrYWdpbmcgdGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLCB0YWtlbiBmcm9tIHRoYXQgcGx1Z2luJ3MgYG1hbmlmZXN0Lmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7IiwibmFtZXMiOltdfQ==
|
|
@@ -2,13 +2,7 @@
|
|
|
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
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
|
|
|
33
27
|
existingProcessRecord["browser"] = true;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
30
|
+
ensureBrowserProcess();
|
|
50
31
|
})();
|
|
51
32
|
(function patchObsidianRequire() {
|
|
52
33
|
const originalRequire = require;
|
|
@@ -230,4 +211,4 @@ function showSandboxNotice(app, demoedPluginId) {
|
|
|
230
211
|
0 && (module.exports = {
|
|
231
212
|
bootstrapDemoVault
|
|
232
213
|
});
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtaGVscGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgYnkgaW5zdGFsbGluZywgY29uZmlndXJpbmcsIGFuZCBlbmFibGluZyBgQ29kZVNjcmlwdCBUb29sa2l0YC5cbiAqXG4gKiBBIHBsdWdpbidzIGRlbW8gdmF1bHQgc2hvd2Nhc2VzIHRoZSBwbHVnaW4gdGhyb3VnaCBub3RlcyB3aG9zZSBgY29kZS1idXR0b25gcyBydW4gVHlwZVNjcmlwdCB2aWFcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgLiBBIGRlbW8gdmF1bHQgdGhhdCBkb2VzIG5vdCBpdHNlbGYgc2hpcCBgQ29kZVNjcmlwdCBUb29sa2l0YCB0aGVyZWZvcmUgbmVlZHMgaXRcbiAqIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWQgYmVmb3JlIHRob3NlIGJ1dHRvbnMgd29yay4ge0BsaW5rIGJvb3RzdHJhcERlbW9WYXVsdH0gZG9lcyBleGFjdGx5XG4gKiB0aGF0IHdpdGggbm8gY29tbWl0dGVkIGBDb2RlU2NyaXB0IFRvb2xraXRgIGNvbmZpZyBhbmQgbm8gbWFudWFsIHNldHVwLCBzbyBpdCBjYW4gYmUgZHJpdmVuIGZyb20gYSB0aW55XG4gKiBjb21taXR0ZWQgYm9vdHN0cmFwIHBsdWdpbiAoYGRlbW8tdmF1bHQtaGVscGVyYCkgdGhhdCBpcyBpbmplY3RlZCBpbnRvIGV2ZXJ5IGRlbW8gdmF1bHQgYXQgcmVsZWFzZVxuICogdGltZS5cbiAqXG4gKiBUaGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgaXMgcmVhZCBmcm9tIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAsIHdyaXR0ZW4gYnkgdGhlIHBhY2thZ2luZ1xuICogc3RlcCAoe0BsaW5rIERlbW9WYXVsdEhlbHBlclNldHRpbmdzfSk7IGEgdmF1bHQgd2l0aG91dCB0aGF0IG1hcmtlciBpcyByZWZ1c2VkIGFzIG5vdCBhIGRlbW8gdmF1bHQuXG4gKlxuICogSXQgd3JpdGVzIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIGl0LCBzbyB0aGUgcGx1Z2luIGxvYWRzIGFscmVhZHkgY29uZmlndXJlZCBcdTIwMTRcbiAqIG5vIHJlbG9hZC4gYENvZGVTY3JpcHQgVG9vbGtpdGAgdGhlbiBydW5zIHRoZSB2YXVsdCdzIGBzdGFydHVwLnRzYCAodmlhIGl0cyBgc3RhcnR1cFNjcmlwdFBhdGhgXG4gKiBzZXR0aW5nKSwgd2hpY2ggaXMgd2hlcmUgZWFjaCB2YXVsdCBvcGVucyBpdHMgc3RhcnQgbm90ZSBhbmQgZG9lcyBhbnkgcGx1Z2luLXNwZWNpZmljIHNldHVwLlxuICpcbiAqIEl0IGFsc28gY3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciBpZiBpdCBpcyBtaXNzaW5nLCBzbyBldmVyeSBkZW1vIHZhdWx0XG4gKiBoYXMgdGhlIHNhbWUgbGF5b3V0IGV2ZW4gd2hlbiB0aGUgdmF1bHQgc2hpcHMgbm8gaW52b2NhYmxlIHNjcmlwdHMgXHUyMDE0IHRoZSB2YXVsdHMgdGhlbXNlbHZlcyBjb21taXQgbm9cbiAqIGVtcHR5IGZvbGRlciBmb3IgaXQuXG4gKlxuICogSXQgdGhlbiBpbnN0YWxscyB0aGUgYEZvbGRlciBOb3Rlc2AgcGx1Z2luLCBjb25maWd1cmVkIHRvIHRyZWF0IGBSRUFETUUubWRgIGFzIGEgZm9sZGVyJ3Mgb3duIG5vdGUuIEFcbiAqIGRlbW8gdmF1bHQgdGhhdCBoYXMgb3V0Z3Jvd24gYSBmbGF0IG5vdGUgbGlzdCBncm91cHMgaXRzIG5vdGVzIGludG8gZm9sZGVycywgYW5kIGEgZ3JvdXAgZm9sZGVyIG9ubHlcbiAqIHNheXMgd2hhdCBpdCBpcyBmb3IgaWYgaXQgaGFzIGEgbm90ZSBvZiBpdHMgb3duIFx1MjAxNCBgUkVBRE1FLm1kYCwgYmVjYXVzZSB0aGF0IGlzIGFsc28gdGhlIGZpbGUgR2l0SHViXG4gKiByZW5kZXJzIHVuZGVyIHRoZSBmaWxlIGxpc3Qgd2hlbiB0aGUgc2FtZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgc28gb25lIGZpbGUgc2VydmVzIGJvdGhcbiAqIHJlYWRlcnMuXG4gKlxuICogRmluYWxseSBpdCByYWlzZXMgdGhlIHNhbmRib3ggbm90aWNlIGV4cGxhaW5pbmcgdGhhdCB0aGUgb3BlbmVkIHZhdWx0IGlzIGEgdGhyb3dhd2F5IGNvcHksIHNvIGEgdXNlclxuICogd2hvIHdyaXRlcyB0aGVpciBvd24gbm90ZXMgaW4gaXQgaXMgbmV2ZXIgc3VycHJpc2VkIGJ5IHRoZW0gYmVpbmcgYWJzZW50IGZyb20gdGhlIG5leHQgY29weS4gU2V0dGluZ3NcbiAqIGlzIGNsb3NlZCBmaXJzdCwgc28gdGhlIG5vdGljZSBsYW5kcyBpbiB0aGUgdmF1bHQncyBtYWluIHdpbmRvdyByYXRoZXIgdGhhbiBpbiB0aGUgc2V0dGluZ3MgcG9wb3V0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB9IGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuXG5pbXBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdCxcbiAgZGlzYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBib290c3RyYXBEZW1vVmF1bHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcERlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG59XG5cbi8qKlxuICogYENvZGVTY3JpcHQgVG9vbGtpdGAncyBzZXR0aW5ncywgd3JpdHRlbiBpbnRvIGl0cyBgZGF0YS5qc29uYCBiZWZvcmUgaXQgaXMgZW5hYmxlZC5cbiAqL1xuaW50ZXJmYWNlIENvZGVTY3JpcHRUb29sa2l0U2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIFlBTUwgZnJvbnRtYXR0ZXIgbWVyZ2VkIGludG8gZXZlcnkgYGNvZGUtYnV0dG9uYCBibG9jaydzIG93biBjb25maWcsIHVzZWQgaGVyZSB0byB0dXJuIHRoZVxuICAgKiBzb3VyY2Ugdmlld2VyIG9uIGZvciBldmVyeSBidXR0b24gaW4gZXZlcnkgZGVtbyB2YXVsdCB3aXRob3V0IGVkaXRpbmcgYSBzaW5nbGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb2RlQnV0dG9uQ29uZmlnOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgaG9sZGluZyBpbnZvY2FibGUgc2NyaXB0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludm9jYWJsZVNjcmlwdHNGb2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhdWx0LXJlbGF0aXZlIGZvbGRlciB0aGF0IGByZXF1aXJlKCcvXHUyMDI2JylgIHJlc29sdmVzIG1vZHVsZSBwYXRocyBhZ2FpbnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlc1Jvb3Q6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBgQ29kZVNjcmlwdCBUb29sa2l0YCBoYW5kbGVzIGBvYnNpZGlhbjovL2AgcHJvdG9jb2wgVVJMcy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEhhbmRsZVByb3RvY29sVXJsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgb2YgdGhlIHNjcmlwdCBydW4gb24gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0dXBTY3JpcHRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogYEZvbGRlciBOb3Rlc2AnIHNldHRpbmdzLCB3cml0dGVuIGludG8gaXRzIGBkYXRhLmpzb25gIGJlZm9yZSBpdCBpcyBlbmFibGVkLlxuICovXG5pbnRlcmZhY2UgRm9sZGVyTm90ZXNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGxvb2tlZCBmb3IgdW5kZXIsIHdpdGhvdXQgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlck5vdGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBoaWRkZW4gZnJvbSB0aGUgZmlsZSBleHBsb3Jlciwgc28gdGhlIGZvbGRlciBpdHNlbGYgc3RhbmRzIGZvciBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZGVGb2xkZXJOb3RlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGtlcHQsIHJlbGF0aXZlIHRvIHRoZSBmb2xkZXIgaXQgZGVzY3JpYmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUxvY2F0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEID0gJ2ZpeC1yZXF1aXJlLW1vZHVsZXMnO1xuY29uc3QgQ09ERV9TQ1JJUFRfVE9PTEtJVF9NT0RVTEVTX1JPT1QgPSAnX2Fzc2V0cy9Db2RlU2NyaXB0VG9vbGtpdCc7XG5jb25zdCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTOiBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzID0ge1xuICBkZWZhdWx0Q29kZUJ1dHRvbkNvbmZpZzogJy0tLVxcbnNvdXJjZVZpc2liaWxpdHk6IGNvbGxhcHNlZFxcbi0tLScsXG4gIGludm9jYWJsZVNjcmlwdHNGb2xkZXI6ICdJbnZvY2FibGVzJyxcbiAgbW9kdWxlc1Jvb3Q6IENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULFxuICBzaG91bGRIYW5kbGVQcm90b2NvbFVybHM6IHRydWUsXG4gIHN0YXJ0dXBTY3JpcHRQYXRoOiAnc3RhcnR1cC50cydcbn07XG5cbmNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcbi8vIGBSRUFETUVgIHJhdGhlciB0aGFuIGBGb2xkZXIgTm90ZXNgJyBvd24gYHt7Zm9sZGVyX25hbWV9fWAgZGVmYXVsdDogdGhlIHNhbWUgZmlsZSBoYXMgdG8gYmUgdGhlIGZvbGRlcidzXG4vLyBub3RlIGluIE9ic2lkaWFuIEFORCB0aGUgcGFnZSBHaXRIdWIgcmVuZGVycyB3aGVuIHRoZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgYW5kIEdpdEh1YlxuLy8gb25seSBkb2VzIHRoYXQgZm9yIGBSRUFETUUubWRgLiBgaW5zaWRlRm9sZGVyYCBrZWVwcyBpdCB3aXRoIHRoZSBub3RlcyBpdCBkZXNjcmliZXMgcmF0aGVyIHRoYW4gYmVzaWRlXG4vLyB0aGUgZm9sZGVyLCBhbmQgaGlkaW5nIGl0IGxldHMgdGhlIGZvbGRlciBpdHNlbGYgc3RhbmQgZm9yIHRoZSBub3RlIGluc3RlYWQgb2YgbGlzdGluZyBib3RoLlxuY29uc3QgRk9MREVSX05PVEVTX1NFVFRJTkdTOiBGb2xkZXJOb3Rlc1NldHRpbmdzID0ge1xuICBmb2xkZXJOb3RlTmFtZTogJ1JFQURNRScsXG4gIGhpZGVGb2xkZXJOb3RlOiB0cnVlLFxuICBzdG9yYWdlTG9jYXRpb246ICdpbnNpZGVGb2xkZXInXG59O1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgUExVR0lOU19GT0xERVJfTkFNRSA9ICdwbHVnaW5zJztcbmNvbnN0IERBVEFfSlNPTl9GSUxFX05BTUUgPSAnZGF0YS5qc29uJztcbmNvbnN0IElOVkFMSURfREVNT19WQVVMVF9FUlJPUl9NRVNTQUdFID0gJ0ludmFsaWQgZGVtbyB2YXVsdCc7XG5jb25zdCBPUEVOX0RFTU9fVkFVTFRfQ09NTUFORF9OQU1FID0gJ09wZW4gZGVtbyB2YXVsdCc7XG4vLyBgMGAgYXNrcyBPYnNpZGlhbiB0byBrZWVwIHRoZSBub3RpY2UgdXAgdW50aWwgdGhlIHVzZXIgY2xpY2tzIGl0IFx1MjAxNCB0aGUgc2FtZSB0cmVhdG1lbnQgT2JzaWRpYW4gZ2l2ZXNcbi8vIGl0cyBvd24gc2FuZGJveC12YXVsdCBub3RpY2UsIGFuZCB3aGF0IHRoZSBkZW1vLXZhdWx0IG5vdGljZSBpcyBtb2RlbGxlZCBvbi5cbmNvbnN0IFNBTkRCT1hfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyA9IDA7XG5cbi8qKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgc28gaXRzIG5vdGVzJyBgY29kZS1idXR0b25gcyB3b3JrIHdpdGggbm8gbWFudWFsIHNldHVwOiBpbnN0YWxscyBDb2RlU2NyaXB0XG4gKiBUb29sa2l0IGZyb20gdGhlIGNvbW11bml0eSBzdG9yZSAoaWYgaXQgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgd3JpdGVzIGl0cyBzZXR0aW5ncywgdGhlbiBlbmFibGVzXG4gKiBpdCBcdTIwMTQgd3JpdGluZyB0aGUgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIHNvIGEgZnJlc2ggZW5hYmxlIGxvYWRzIGl0IGFscmVhZHkgY29uZmlndXJlZCwgd2l0aCBub1xuICogcmVsb2FkLiBJZiBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBhbHJlYWR5IGVuYWJsZWQgYnV0IHRoZSBzZXR0aW5ncyBqdXN0IGNoYW5nZWQsIGl0IGlzIHJlbG9hZGVkXG4gKiAoZGlzYWJsZWQgdGhlbiBlbmFibGVkKSBzbyBpdCByZS1yZWFkcyBgZGF0YS5qc29uYDsgd2hlbiB0aGUgc2V0dGluZ3Mgd2VyZSBhbHJlYWR5IGluIHBsYWNlLCBub3RoaW5nIGlzXG4gKiByZWxvYWRlZCAoc28gYSByb3V0aW5lIHZhdWx0IHJlLW9wZW4gZG9lcyBub3QgcmUtcnVuIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc3RhcnR1cCkuIGBDb2RlU2NyaXB0IFRvb2xraXRgXG4gKiB0aGVuIHJ1bnMgdGhlIHZhdWx0J3MgYHN0YXJ0dXAudHNgLiBgRm9sZGVyIE5vdGVzYCBpcyBpbnN0YWxsZWQgbmV4dCwgY29uZmlndXJlZCB0byB0cmVhdCBgUkVBRE1FLm1kYCBhc1xuICogYSBmb2xkZXIncyBvd24gbm90ZSwgc28gYSB2YXVsdCB3aG9zZSBub3RlcyBhcmUgZ3JvdXBlZCBpbnRvIGZvbGRlcnMgZGVzY3JpYmVzIGVhY2ggZ3JvdXAgaW4gdGhlIGZpbGVcbiAqIGV4cGxvcmVyLiBGaW5hbGx5IGl0IGNsb3NlcyBTZXR0aW5ncyAoc28gdGhlIG5vdGljZSBjYW5ub3QgYmUgcmFpc2VkIGluc2lkZSB0aGUgc2V0dGluZ3MgcG9wb3V0KSBhbmRcbiAqIHJhaXNlcyB0aGUgc2FuZGJveCBub3RpY2UgZGVzY3JpYmluZyB0aGUgb3BlbmVkIHZhdWx0IGFzIGEgdGhyb3dhd2F5IGNvcHkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBpbnN0YWxsZWQsIGNvbmZpZ3VyZWQsIGFuZCBlbmFibGVkXG4gKiBhbmQgdGhlIHNhbmRib3ggbm90aWNlIGhhcyBiZWVuIHNob3duLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdHN0cmFwRGVtb1ZhdWx0KHBhcmFtczogQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwIH0gPSBwYXJhbXM7XG4gIC8vIFJlc29sdmVkIGZpcnN0LCBzbyBhIHZhdWx0IHRoYXQgaXMgbm90IGEgZGVtbyB2YXVsdCBpcyByZWZ1c2VkIGJlZm9yZSBhbnl0aGluZyBpcyBpbnN0YWxsZWQgaW50byBpdC5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSBhd2FpdCBnZXREZW1vZWRQbHVnaW5JZChhcHApO1xuICBhd2FpdCBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbih7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCxcbiAgICBzZXR0aW5nczogQ09ERV9TQ1JJUFRfVE9PTEtJVF9TRVRUSU5HU1xuICB9KTtcbiAgYXdhaXQgZW5zdXJlSW52b2NhYmxlU2NyaXB0c0ZvbGRlcihhcHApO1xuXG4gIGlmICghYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEKSkge1xuICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbih7IGFwcCwgcGx1Z2luSWQ6IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEIH0pO1xuICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LlN1Y2Nlc3MpIHtcbiAgICAvLyBBbHJlYWR5IGVuYWJsZWQgd2l0aCBzdGFsZSBzZXR0aW5ncyBcdTIwMTQgcmVsb2FkIHNvIGBDb2RlU2NyaXB0IFRvb2xraXRgIHJlLXJlYWRzIHRoZSBmcmVzaGx5IHdyaXR0ZW4gZGF0YS5qc29uLlxuICAgIGF3YWl0IGRpc2FibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgfVxuXG4gIC8vIEFmdGVyIGBDb2RlU2NyaXB0IFRvb2xraXRgLCBzbyB0aGUgdmF1bHQncyBzdGFydHVwIHNjcmlwdCBoYXMgYWxyZWFkeSBvcGVuZWQgdGhlIHN0YXJ0IG5vdGUgYnkgdGhlIHRpbWVcbiAgLy8gdGhlIGZpbGUgZXhwbG9yZXIgZ2FpbnMgaXRzIGZvbGRlci1ub3RlIGJlaGF2aW9yLlxuICBhd2FpdCBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luKHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQ6IEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gICAgc2V0dGluZ3M6IEZPTERFUl9OT1RFU19TRVRUSU5HU1xuICB9KTtcblxuICBzaG93U2FuZGJveE5vdGljZShhcHAsIGRlbW9lZFBsdWdpbklkKTtcbn1cblxuLy8gQnVpbGRzIHRoZSBzYW5kYm94IG5vdGljZSBjb250ZW50OiB3aGF0IHRoaXMgdmF1bHQgaXMsIHdoZXJlIGl0IGxpdmVzLCBob3cgbG9uZyBpdCBsaXZlcywgYW5kIHdoeVxuLy8gcmUtcnVubmluZyB0aGUgY29tbWFuZCBwcm9kdWNlcyBhIHZhdWx0IHdpdGhvdXQgdGhlIG5vdGVzIGp1c3Qgd3JpdHRlbiBoZXJlLlxuLy9cbi8vIEV2ZXJ5IGNsYWltIGhhcyB0byBzdGF5IHRydWUgb2YgdGhlIG9wZW5lciAoYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgKTogaXQgZXh0cmFjdHMgYSBGUkVTSCBjb3B5XG4vLyBpbnRvIGl0cyBvd24gZm9sZGVyIG9uIGV2ZXJ5IG9wZW4sIGFuZCBkZWxldGVzIGV4dHJhY3RlZCBmb2xkZXJzIG9sZGVyIHRoYW4gYSBkYXkgb24gZWFjaCBsYXRlciBvcGVuLlxuLy8gU28gdGhlIHZhdWx0IGlzIGEgdGVtcG9yYXJ5IHNhbmRib3ggXHUyMDE0IGl0IG11c3QgbmV2ZXIgYmUgZGVzY3JpYmVkIGFzIGEgcGxhY2Ugd29yayBjYW4gYmUgbGVmdC5cbmZ1bmN0aW9uIGJ1aWxkU2FuZGJveE5vdGljZUZyYWdtZW50KHBsdWdpbk5hbWU6IHN0cmluZyk6IERvY3VtZW50RnJhZ21lbnQge1xuICByZXR1cm4gY3JlYXRlRnJhZ21lbnQoKGZyYWdtZW50KSA9PiB7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnVGhpcyBpcyBhIGRlbW8gdmF1bHQgZm9yICcpO1xuICAgIGFwcGVuZENvZGVCbG9jayhmcmFnbWVudCwgcGx1Z2luTmFtZSk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnLicpO1xuXG4gICAgZnJhZ21lbnQuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnSXQgaXMgYSB0ZW1wb3Jhcnkgc2FuZGJveCwgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5IGFib3V0IGEgZGF5IGFmdGVyIHlvdSBsYXN0IHVzZSBpdC4nKTtcblxuICAgIGZyYWdtZW50LmNyZWF0ZUVsKCdicicpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ0V4ZWN1dGluZyAnKTtcbiAgICBmcmFnbWVudC5jcmVhdGVFbCgnYicsIHsgdGV4dDogYCR7cGx1Z2luTmFtZX06ICR7T1BFTl9ERU1PX1ZBVUxUX0NPTU1BTkRfTkFNRX1gIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJyBjb21tYW5kIGFnYWluIGNyZWF0ZXMgYSBuZXcgY29weSB3aXRoIHRoZSBsYXRlc3QgcGx1Z2luIHZlcnNpb24sIHNvIHlvdXIgbm90ZXMgd2lsbCBub3QgYXBwZWFyIGluIGl0LicpO1xuICB9KTtcbn1cblxuLy8gQ3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciAodW5kZXIgYG1vZHVsZXNSb290YCkgaWYgaXQgaXMgbWlzc2luZy5cbi8vIEV2ZXJ5IGRlbW8gdmF1bHQgdGhlbiBoYXMgdGhlIHNhbWUgYENvZGVTY3JpcHQgVG9vbGtpdGAgbGF5b3V0IGV2ZW4gd2hlbiBpdCBzaGlwcyBubyBpbnZvY2FibGUgc2NyaXB0cy5cbi8vIFRoZSBjb21taXR0ZWQgdmF1bHQgdGhlcmVmb3JlIGNhcnJpZXMgbm8gb3RoZXJ3aXNlLWVtcHR5IHBsYWNlaG9sZGVyIGZvbGRlci5cbmFzeW5jIGZ1bmN0aW9uIGVuc3VyZUludm9jYWJsZVNjcmlwdHNGb2xkZXIoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW52b2NhYmxlU2NyaXB0c0ZvbGRlclBhdGggPSBqb2luKENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTLmludm9jYWJsZVNjcmlwdHNGb2xkZXIpO1xuICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCkpIHtcbiAgICBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5ta2RpcihpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCk7XG4gIH1cbn1cblxuLy8gUmVhZHMgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzIG91dCBvZiB0aGlzIGhlbHBlcidzIG93biBgZGF0YS5qc29uYCwgd3JpdHRlbiBieSB0aGVcbi8vIHBhY2thZ2luZyBzdGVwIChzZWUgYERlbW9WYXVsdEhlbHBlclNldHRpbmdzYCkuIEEgdmF1bHQgd2l0aG91dCBhIHJlYWRhYmxlIG1hcmtlciB3YXMgbm90IHByb2R1Y2VkIGJ5XG4vLyB0aGF0IHN0ZXAgXHUyMDE0IGhhbmQtYXNzZW1ibGVkLCBvciB1bnBhY2tlZCBmcm9tIHNvbWV0aGluZyB0aGF0IGlzIG5vdCBhIGRlbW8gdmF1bHQgXHUyMDE0IHNvIGl0IGlzIHJlZnVzZWRcbi8vIHJhdGhlciB0aGFuIGJvb3RzdHJhcHBlZCBhZ2FpbnN0IGEgZ3Vlc3MuXG5hc3luYyBmdW5jdGlvbiBnZXREZW1vZWRQbHVnaW5JZChhcHA6IEFwcCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNldHRpbmdzUGF0aCA9IGpvaW4oYXBwLnZhdWx0LmNvbmZpZ0RpciwgUExVR0lOU19GT0xERVJfTkFNRSwgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lELCBEQVRBX0pTT05fRklMRV9OQU1FKTtcbiAgaWYgKCFhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMoc2V0dGluZ3NQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gIH1cblxuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChzZXR0aW5nc1BhdGgpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSAocGFyc2VkIGFzIG51bGwgfCBQYXJ0aWFsPERlbW9WYXVsdEhlbHBlclNldHRpbmdzPik/LmRlbW9lZFBsdWdpbklkO1xuICBpZiAodHlwZW9mIGRlbW9lZFBsdWdpbklkICE9PSAnc3RyaW5nJyB8fCBkZW1vZWRQbHVnaW5JZCA9PT0gRU1QVFkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UpO1xuICB9XG4gIHJldHVybiBkZW1vZWRQbHVnaW5JZDtcbn1cblxuLy8gVGVsbHMgdGhlIHVzZXIgdGhpcyB2YXVsdCBpcyBhIHNhbmRib3gsIHVzaW5nIE9ic2lkaWFuJ3Mgb3duIHNhbmRib3gtdmF1bHQgdHJlYXRtZW50OiBhbiBpbmZpbml0ZVxuLy8gZHVyYXRpb24sIGRpc21pc3NlZCBieSBjbGlja2luZyBpdC4gUmFpc2VkIGxhc3QsIHNvIGl0IGlzIHRoZSBuZXdlc3Qgbm90aWNlIG9uIHNjcmVlbiBvbmNlXG4vLyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIHN0YXJ0dXAgc2NyaXB0IGhhcyBkb25lIGl0cyBvd24gd29yay5cbi8vXG4vLyBBIGBOb3RpY2VgIGlzIGJ1aWx0IGluc2lkZSB3aGF0ZXZlciB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoYXQgbW9tZW50LCBhbmQgU2V0dGluZ3MgaXMgYSBQT1BPVVQgV0lORE9XXG4vLyAodmVyaWZpZWQgb24gMS4xMy42KSB0aGF0IGJlY29tZXMgdGhlIGFjdGl2ZSBvbmUgd2hpbGUgaXQgaXMgb3BlbiBcdTIwMTQgc28gYSBub3RpY2UgcmFpc2VkIHRoZW4gd291bGQgYmVcbi8vIGNyZWF0ZWQgaW4gdGhlIHNldHRpbmdzIHdpbmRvdyBhbmQgdmFuaXNoIHdpdGggaXQuIFNldHRpbmdzIGlzIHRoZXJlZm9yZSBjbG9zZWQgZmlyc3Q6IE9ic2lkaWFuIGhhbmRzXG4vLyB0aGUgbWFpbiB3aW5kb3cgYmFjayBhcyB0aGUgcG9wb3V0IGdvZXMgYXdheSAoc3luY2hyb25vdXNseSwgYmVmb3JlIHRoZSBub3RpY2UgaXMgYnVpbHQpLCBhbmQgYSB1c2VyXG4vLyB3aG8gaGFzIGp1c3Qgb3BlbmVkIGEgZGVtbyB2YXVsdCB3YW50cyB0byBzZWUgdGhlIHZhdWx0IHJhdGhlciB0aGFuIGEgc2V0dGluZ3Mgd2luZG93IGFueXdheS4gQ2xvc2luZ1xuLy8gYW4gYWxyZWFkeS1jbG9zZWQgU2V0dGluZ3MgaXMgYSBuby1vcCwgc28gbm8gb3Blbi1zdGF0ZSBwcm9iZSBpcyBuZWVkZWQuXG5mdW5jdGlvbiBzaG93U2FuZGJveE5vdGljZShhcHA6IEFwcCwgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5OYW1lID0gYXBwLnBsdWdpbnMubWFuaWZlc3RzW2RlbW9lZFBsdWdpbklkXT8ubmFtZSA/PyBkZW1vZWRQbHVnaW5JZDtcbiAgY29uc3QgZnJhZ21lbnQgPSBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lKTtcbiAgYXBwLnNldHRpbmcuY2xvc2UoKTtcbiAgbmV3IE5vdGljZShmcmFnbWVudCwgU0FOREJPWF9OT1RJQ0VfRFVSQVRJT05fSU5fTUlMTElTRUNPTkRTKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0Esa0JBQXFCO0FBQ3JCLG9CQUFzQjtBQUN0QixzQkFBdUI7QUFJdkIsK0JBT087QUFDUCwwQkFBZ0M7QUErRGhDLE1BQU0sZ0NBQWdDO0FBQ3RDLE1BQU0sbUNBQW1DO0FBQ3pDLE1BQU0sK0JBQTBEO0FBQUEsRUFDOUQseUJBQXlCO0FBQUEsRUFDekIsd0JBQXdCO0FBQUEsRUFDeEIsYUFBYTtBQUFBLEVBQ2IsMEJBQTBCO0FBQUEsRUFDMUIsbUJBQW1CO0FBQ3JCO0FBRUEsTUFBTSx5QkFBeUI7QUFLL0IsTUFBTSx3QkFBNkM7QUFBQSxFQUNqRCxnQkFBZ0I7QUFBQSxFQUNoQixnQkFBZ0I7QUFBQSxFQUNoQixpQkFBaUI7QUFDbkI7QUFFQSxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLHNCQUFzQjtBQUM1QixNQUFNLHNCQUFzQjtBQUM1QixNQUFNLG1D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
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgYnkgaW5zdGFsbGluZywgY29uZmlndXJpbmcsIGFuZCBlbmFibGluZyBgQ29kZVNjcmlwdCBUb29sa2l0YC5cbiAqXG4gKiBBIHBsdWdpbidzIGRlbW8gdmF1bHQgc2hvd2Nhc2VzIHRoZSBwbHVnaW4gdGhyb3VnaCBub3RlcyB3aG9zZSBgY29kZS1idXR0b25gcyBydW4gVHlwZVNjcmlwdCB2aWFcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgLiBBIGRlbW8gdmF1bHQgdGhhdCBkb2VzIG5vdCBpdHNlbGYgc2hpcCBgQ29kZVNjcmlwdCBUb29sa2l0YCB0aGVyZWZvcmUgbmVlZHMgaXRcbiAqIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWQgYmVmb3JlIHRob3NlIGJ1dHRvbnMgd29yay4ge0BsaW5rIGJvb3RzdHJhcERlbW9WYXVsdH0gZG9lcyBleGFjdGx5XG4gKiB0aGF0IHdpdGggbm8gY29tbWl0dGVkIGBDb2RlU2NyaXB0IFRvb2xraXRgIGNvbmZpZyBhbmQgbm8gbWFudWFsIHNldHVwLCBzbyBpdCBjYW4gYmUgZHJpdmVuIGZyb20gYSB0aW55XG4gKiBjb21taXR0ZWQgYm9vdHN0cmFwIHBsdWdpbiAoYGRlbW8tdmF1bHQtaGVscGVyYCkgdGhhdCBpcyBpbmplY3RlZCBpbnRvIGV2ZXJ5IGRlbW8gdmF1bHQgYXQgcmVsZWFzZVxuICogdGltZS5cbiAqXG4gKiBUaGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgaXMgcmVhZCBmcm9tIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAsIHdyaXR0ZW4gYnkgdGhlIHBhY2thZ2luZ1xuICogc3RlcCAoe0BsaW5rIERlbW9WYXVsdEhlbHBlclNldHRpbmdzfSk7IGEgdmF1bHQgd2l0aG91dCB0aGF0IG1hcmtlciBpcyByZWZ1c2VkIGFzIG5vdCBhIGRlbW8gdmF1bHQuXG4gKlxuICogSXQgd3JpdGVzIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIGl0LCBzbyB0aGUgcGx1Z2luIGxvYWRzIGFscmVhZHkgY29uZmlndXJlZCDigJRcbiAqIG5vIHJlbG9hZC4gYENvZGVTY3JpcHQgVG9vbGtpdGAgdGhlbiBydW5zIHRoZSB2YXVsdCdzIGBzdGFydHVwLnRzYCAodmlhIGl0cyBgc3RhcnR1cFNjcmlwdFBhdGhgXG4gKiBzZXR0aW5nKSwgd2hpY2ggaXMgd2hlcmUgZWFjaCB2YXVsdCBvcGVucyBpdHMgc3RhcnQgbm90ZSBhbmQgZG9lcyBhbnkgcGx1Z2luLXNwZWNpZmljIHNldHVwLlxuICpcbiAqIEl0IGFsc28gY3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciBpZiBpdCBpcyBtaXNzaW5nLCBzbyBldmVyeSBkZW1vIHZhdWx0XG4gKiBoYXMgdGhlIHNhbWUgbGF5b3V0IGV2ZW4gd2hlbiB0aGUgdmF1bHQgc2hpcHMgbm8gaW52b2NhYmxlIHNjcmlwdHMg4oCUIHRoZSB2YXVsdHMgdGhlbXNlbHZlcyBjb21taXQgbm9cbiAqIGVtcHR5IGZvbGRlciBmb3IgaXQuXG4gKlxuICogSXQgdGhlbiBpbnN0YWxscyB0aGUgYEZvbGRlciBOb3Rlc2AgcGx1Z2luLCBjb25maWd1cmVkIHRvIHRyZWF0IGBSRUFETUUubWRgIGFzIGEgZm9sZGVyJ3Mgb3duIG5vdGUuIEFcbiAqIGRlbW8gdmF1bHQgdGhhdCBoYXMgb3V0Z3Jvd24gYSBmbGF0IG5vdGUgbGlzdCBncm91cHMgaXRzIG5vdGVzIGludG8gZm9sZGVycywgYW5kIGEgZ3JvdXAgZm9sZGVyIG9ubHlcbiAqIHNheXMgd2hhdCBpdCBpcyBmb3IgaWYgaXQgaGFzIGEgbm90ZSBvZiBpdHMgb3duIOKAlCBgUkVBRE1FLm1kYCwgYmVjYXVzZSB0aGF0IGlzIGFsc28gdGhlIGZpbGUgR2l0SHViXG4gKiByZW5kZXJzIHVuZGVyIHRoZSBmaWxlIGxpc3Qgd2hlbiB0aGUgc2FtZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgc28gb25lIGZpbGUgc2VydmVzIGJvdGhcbiAqIHJlYWRlcnMuXG4gKlxuICogRmluYWxseSBpdCByYWlzZXMgdGhlIHNhbmRib3ggbm90aWNlIGV4cGxhaW5pbmcgdGhhdCB0aGUgb3BlbmVkIHZhdWx0IGlzIGEgdGhyb3dhd2F5IGNvcHksIHNvIGEgdXNlclxuICogd2hvIHdyaXRlcyB0aGVpciBvd24gbm90ZXMgaW4gaXQgaXMgbmV2ZXIgc3VycHJpc2VkIGJ5IHRoZW0gYmVpbmcgYWJzZW50IGZyb20gdGhlIG5leHQgY29weS4gU2V0dGluZ3NcbiAqIGlzIGNsb3NlZCBmaXJzdCwgc28gdGhlIG5vdGljZSBsYW5kcyBpbiB0aGUgdmF1bHQncyBtYWluIHdpbmRvdyByYXRoZXIgdGhhbiBpbiB0aGUgc2V0dGluZ3MgcG9wb3V0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB9IGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuXG5pbXBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdCxcbiAgZGlzYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBib290c3RyYXBEZW1vVmF1bHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcERlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG59XG5cbi8qKlxuICogYENvZGVTY3JpcHQgVG9vbGtpdGAncyBzZXR0aW5ncywgd3JpdHRlbiBpbnRvIGl0cyBgZGF0YS5qc29uYCBiZWZvcmUgaXQgaXMgZW5hYmxlZC5cbiAqL1xuaW50ZXJmYWNlIENvZGVTY3JpcHRUb29sa2l0U2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIFlBTUwgZnJvbnRtYXR0ZXIgbWVyZ2VkIGludG8gZXZlcnkgYGNvZGUtYnV0dG9uYCBibG9jaydzIG93biBjb25maWcsIHVzZWQgaGVyZSB0byB0dXJuIHRoZVxuICAgKiBzb3VyY2Ugdmlld2VyIG9uIGZvciBldmVyeSBidXR0b24gaW4gZXZlcnkgZGVtbyB2YXVsdCB3aXRob3V0IGVkaXRpbmcgYSBzaW5nbGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb2RlQnV0dG9uQ29uZmlnOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgaG9sZGluZyBpbnZvY2FibGUgc2NyaXB0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludm9jYWJsZVNjcmlwdHNGb2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhdWx0LXJlbGF0aXZlIGZvbGRlciB0aGF0IGByZXF1aXJlKCcv4oCmJylgIHJlc29sdmVzIG1vZHVsZSBwYXRocyBhZ2FpbnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlc1Jvb3Q6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBgQ29kZVNjcmlwdCBUb29sa2l0YCBoYW5kbGVzIGBvYnNpZGlhbjovL2AgcHJvdG9jb2wgVVJMcy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEhhbmRsZVByb3RvY29sVXJsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgb2YgdGhlIHNjcmlwdCBydW4gb24gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0dXBTY3JpcHRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogYEZvbGRlciBOb3Rlc2AnIHNldHRpbmdzLCB3cml0dGVuIGludG8gaXRzIGBkYXRhLmpzb25gIGJlZm9yZSBpdCBpcyBlbmFibGVkLlxuICovXG5pbnRlcmZhY2UgRm9sZGVyTm90ZXNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGxvb2tlZCBmb3IgdW5kZXIsIHdpdGhvdXQgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlck5vdGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBoaWRkZW4gZnJvbSB0aGUgZmlsZSBleHBsb3Jlciwgc28gdGhlIGZvbGRlciBpdHNlbGYgc3RhbmRzIGZvciBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZGVGb2xkZXJOb3RlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGtlcHQsIHJlbGF0aXZlIHRvIHRoZSBmb2xkZXIgaXQgZGVzY3JpYmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUxvY2F0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEID0gJ2ZpeC1yZXF1aXJlLW1vZHVsZXMnO1xuY29uc3QgQ09ERV9TQ1JJUFRfVE9PTEtJVF9NT0RVTEVTX1JPT1QgPSAnX2Fzc2V0cy9Db2RlU2NyaXB0VG9vbGtpdCc7XG5jb25zdCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTOiBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzID0ge1xuICBkZWZhdWx0Q29kZUJ1dHRvbkNvbmZpZzogJy0tLVxcbnNvdXJjZVZpc2liaWxpdHk6IGNvbGxhcHNlZFxcbi0tLScsXG4gIGludm9jYWJsZVNjcmlwdHNGb2xkZXI6ICdJbnZvY2FibGVzJyxcbiAgbW9kdWxlc1Jvb3Q6IENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULFxuICBzaG91bGRIYW5kbGVQcm90b2NvbFVybHM6IHRydWUsXG4gIHN0YXJ0dXBTY3JpcHRQYXRoOiAnc3RhcnR1cC50cydcbn07XG5cbmNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcbi8vIGBSRUFETUVgIHJhdGhlciB0aGFuIGBGb2xkZXIgTm90ZXNgJyBvd24gYHt7Zm9sZGVyX25hbWV9fWAgZGVmYXVsdDogdGhlIHNhbWUgZmlsZSBoYXMgdG8gYmUgdGhlIGZvbGRlcidzXG4vLyBub3RlIGluIE9ic2lkaWFuIEFORCB0aGUgcGFnZSBHaXRIdWIgcmVuZGVycyB3aGVuIHRoZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgYW5kIEdpdEh1YlxuLy8gb25seSBkb2VzIHRoYXQgZm9yIGBSRUFETUUubWRgLiBgaW5zaWRlRm9sZGVyYCBrZWVwcyBpdCB3aXRoIHRoZSBub3RlcyBpdCBkZXNjcmliZXMgcmF0aGVyIHRoYW4gYmVzaWRlXG4vLyB0aGUgZm9sZGVyLCBhbmQgaGlkaW5nIGl0IGxldHMgdGhlIGZvbGRlciBpdHNlbGYgc3RhbmQgZm9yIHRoZSBub3RlIGluc3RlYWQgb2YgbGlzdGluZyBib3RoLlxuY29uc3QgRk9MREVSX05PVEVTX1NFVFRJTkdTOiBGb2xkZXJOb3Rlc1NldHRpbmdzID0ge1xuICBmb2xkZXJOb3RlTmFtZTogJ1JFQURNRScsXG4gIGhpZGVGb2xkZXJOb3RlOiB0cnVlLFxuICBzdG9yYWdlTG9jYXRpb246ICdpbnNpZGVGb2xkZXInXG59O1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgUExVR0lOU19GT0xERVJfTkFNRSA9ICdwbHVnaW5zJztcbmNvbnN0IERBVEFfSlNPTl9GSUxFX05BTUUgPSAnZGF0YS5qc29uJztcbmNvbnN0IElOVkFMSURfREVNT19WQVVMVF9FUlJPUl9NRVNTQUdFID0gJ0ludmFsaWQgZGVtbyB2YXVsdCc7XG5jb25zdCBPUEVOX0RFTU9fVkFVTFRfQ09NTUFORF9OQU1FID0gJ09wZW4gZGVtbyB2YXVsdCc7XG4vLyBgMGAgYXNrcyBPYnNpZGlhbiB0byBrZWVwIHRoZSBub3RpY2UgdXAgdW50aWwgdGhlIHVzZXIgY2xpY2tzIGl0IOKAlCB0aGUgc2FtZSB0cmVhdG1lbnQgT2JzaWRpYW4gZ2l2ZXNcbi8vIGl0cyBvd24gc2FuZGJveC12YXVsdCBub3RpY2UsIGFuZCB3aGF0IHRoZSBkZW1vLXZhdWx0IG5vdGljZSBpcyBtb2RlbGxlZCBvbi5cbmNvbnN0IFNBTkRCT1hfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyA9IDA7XG5cbi8qKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgc28gaXRzIG5vdGVzJyBgY29kZS1idXR0b25gcyB3b3JrIHdpdGggbm8gbWFudWFsIHNldHVwOiBpbnN0YWxscyBDb2RlU2NyaXB0XG4gKiBUb29sa2l0IGZyb20gdGhlIGNvbW11bml0eSBzdG9yZSAoaWYgaXQgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgd3JpdGVzIGl0cyBzZXR0aW5ncywgdGhlbiBlbmFibGVzXG4gKiBpdCDigJQgd3JpdGluZyB0aGUgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIHNvIGEgZnJlc2ggZW5hYmxlIGxvYWRzIGl0IGFscmVhZHkgY29uZmlndXJlZCwgd2l0aCBub1xuICogcmVsb2FkLiBJZiBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBhbHJlYWR5IGVuYWJsZWQgYnV0IHRoZSBzZXR0aW5ncyBqdXN0IGNoYW5nZWQsIGl0IGlzIHJlbG9hZGVkXG4gKiAoZGlzYWJsZWQgdGhlbiBlbmFibGVkKSBzbyBpdCByZS1yZWFkcyBgZGF0YS5qc29uYDsgd2hlbiB0aGUgc2V0dGluZ3Mgd2VyZSBhbHJlYWR5IGluIHBsYWNlLCBub3RoaW5nIGlzXG4gKiByZWxvYWRlZCAoc28gYSByb3V0aW5lIHZhdWx0IHJlLW9wZW4gZG9lcyBub3QgcmUtcnVuIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc3RhcnR1cCkuIGBDb2RlU2NyaXB0IFRvb2xraXRgXG4gKiB0aGVuIHJ1bnMgdGhlIHZhdWx0J3MgYHN0YXJ0dXAudHNgLiBgRm9sZGVyIE5vdGVzYCBpcyBpbnN0YWxsZWQgbmV4dCwgY29uZmlndXJlZCB0byB0cmVhdCBgUkVBRE1FLm1kYCBhc1xuICogYSBmb2xkZXIncyBvd24gbm90ZSwgc28gYSB2YXVsdCB3aG9zZSBub3RlcyBhcmUgZ3JvdXBlZCBpbnRvIGZvbGRlcnMgZGVzY3JpYmVzIGVhY2ggZ3JvdXAgaW4gdGhlIGZpbGVcbiAqIGV4cGxvcmVyLiBGaW5hbGx5IGl0IGNsb3NlcyBTZXR0aW5ncyAoc28gdGhlIG5vdGljZSBjYW5ub3QgYmUgcmFpc2VkIGluc2lkZSB0aGUgc2V0dGluZ3MgcG9wb3V0KSBhbmRcbiAqIHJhaXNlcyB0aGUgc2FuZGJveCBub3RpY2UgZGVzY3JpYmluZyB0aGUgb3BlbmVkIHZhdWx0IGFzIGEgdGhyb3dhd2F5IGNvcHkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBpbnN0YWxsZWQsIGNvbmZpZ3VyZWQsIGFuZCBlbmFibGVkXG4gKiBhbmQgdGhlIHNhbmRib3ggbm90aWNlIGhhcyBiZWVuIHNob3duLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdHN0cmFwRGVtb1ZhdWx0KHBhcmFtczogQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwIH0gPSBwYXJhbXM7XG4gIC8vIFJlc29sdmVkIGZpcnN0LCBzbyBhIHZhdWx0IHRoYXQgaXMgbm90IGEgZGVtbyB2YXVsdCBpcyByZWZ1c2VkIGJlZm9yZSBhbnl0aGluZyBpcyBpbnN0YWxsZWQgaW50byBpdC5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSBhd2FpdCBnZXREZW1vZWRQbHVnaW5JZChhcHApO1xuICBhd2FpdCBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbih7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCxcbiAgICBzZXR0aW5nczogQ09ERV9TQ1JJUFRfVE9PTEtJVF9TRVRUSU5HU1xuICB9KTtcbiAgYXdhaXQgZW5zdXJlSW52b2NhYmxlU2NyaXB0c0ZvbGRlcihhcHApO1xuXG4gIGlmICghYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEKSkge1xuICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbih7IGFwcCwgcGx1Z2luSWQ6IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEIH0pO1xuICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LlN1Y2Nlc3MpIHtcbiAgICAvLyBBbHJlYWR5IGVuYWJsZWQgd2l0aCBzdGFsZSBzZXR0aW5ncyDigJQgcmVsb2FkIHNvIGBDb2RlU2NyaXB0IFRvb2xraXRgIHJlLXJlYWRzIHRoZSBmcmVzaGx5IHdyaXR0ZW4gZGF0YS5qc29uLlxuICAgIGF3YWl0IGRpc2FibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgfVxuXG4gIC8vIEFmdGVyIGBDb2RlU2NyaXB0IFRvb2xraXRgLCBzbyB0aGUgdmF1bHQncyBzdGFydHVwIHNjcmlwdCBoYXMgYWxyZWFkeSBvcGVuZWQgdGhlIHN0YXJ0IG5vdGUgYnkgdGhlIHRpbWVcbiAgLy8gdGhlIGZpbGUgZXhwbG9yZXIgZ2FpbnMgaXRzIGZvbGRlci1ub3RlIGJlaGF2aW9yLlxuICBhd2FpdCBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luKHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQ6IEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gICAgc2V0dGluZ3M6IEZPTERFUl9OT1RFU19TRVRUSU5HU1xuICB9KTtcblxuICBzaG93U2FuZGJveE5vdGljZShhcHAsIGRlbW9lZFBsdWdpbklkKTtcbn1cblxuLy8gQnVpbGRzIHRoZSBzYW5kYm94IG5vdGljZSBjb250ZW50OiB3aGF0IHRoaXMgdmF1bHQgaXMsIHdoZXJlIGl0IGxpdmVzLCBob3cgbG9uZyBpdCBsaXZlcywgYW5kIHdoeVxuLy8gcmUtcnVubmluZyB0aGUgY29tbWFuZCBwcm9kdWNlcyBhIHZhdWx0IHdpdGhvdXQgdGhlIG5vdGVzIGp1c3Qgd3JpdHRlbiBoZXJlLlxuLy9cbi8vIEV2ZXJ5IGNsYWltIGhhcyB0byBzdGF5IHRydWUgb2YgdGhlIG9wZW5lciAoYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgKTogaXQgZXh0cmFjdHMgYSBGUkVTSCBjb3B5XG4vLyBpbnRvIGl0cyBvd24gZm9sZGVyIG9uIGV2ZXJ5IG9wZW4sIGFuZCBkZWxldGVzIGV4dHJhY3RlZCBmb2xkZXJzIG9sZGVyIHRoYW4gYSBkYXkgb24gZWFjaCBsYXRlciBvcGVuLlxuLy8gU28gdGhlIHZhdWx0IGlzIGEgdGVtcG9yYXJ5IHNhbmRib3gg4oCUIGl0IG11c3QgbmV2ZXIgYmUgZGVzY3JpYmVkIGFzIGEgcGxhY2Ugd29yayBjYW4gYmUgbGVmdC5cbmZ1bmN0aW9uIGJ1aWxkU2FuZGJveE5vdGljZUZyYWdtZW50KHBsdWdpbk5hbWU6IHN0cmluZyk6IERvY3VtZW50RnJhZ21lbnQge1xuICByZXR1cm4gY3JlYXRlRnJhZ21lbnQoKGZyYWdtZW50KSA9PiB7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnVGhpcyBpcyBhIGRlbW8gdmF1bHQgZm9yICcpO1xuICAgIGFwcGVuZENvZGVCbG9jayhmcmFnbWVudCwgcGx1Z2luTmFtZSk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnLicpO1xuXG4gICAgZnJhZ21lbnQuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnSXQgaXMgYSB0ZW1wb3Jhcnkgc2FuZGJveCwgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5IGFib3V0IGEgZGF5IGFmdGVyIHlvdSBsYXN0IHVzZSBpdC4nKTtcblxuICAgIGZyYWdtZW50LmNyZWF0ZUVsKCdicicpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ0V4ZWN1dGluZyAnKTtcbiAgICBmcmFnbWVudC5jcmVhdGVFbCgnYicsIHsgdGV4dDogYCR7cGx1Z2luTmFtZX06ICR7T1BFTl9ERU1PX1ZBVUxUX0NPTU1BTkRfTkFNRX1gIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJyBjb21tYW5kIGFnYWluIGNyZWF0ZXMgYSBuZXcgY29weSB3aXRoIHRoZSBsYXRlc3QgcGx1Z2luIHZlcnNpb24sIHNvIHlvdXIgbm90ZXMgd2lsbCBub3QgYXBwZWFyIGluIGl0LicpO1xuICB9KTtcbn1cblxuLy8gQ3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciAodW5kZXIgYG1vZHVsZXNSb290YCkgaWYgaXQgaXMgbWlzc2luZy5cbi8vIEV2ZXJ5IGRlbW8gdmF1bHQgdGhlbiBoYXMgdGhlIHNhbWUgYENvZGVTY3JpcHQgVG9vbGtpdGAgbGF5b3V0IGV2ZW4gd2hlbiBpdCBzaGlwcyBubyBpbnZvY2FibGUgc2NyaXB0cy5cbi8vIFRoZSBjb21taXR0ZWQgdmF1bHQgdGhlcmVmb3JlIGNhcnJpZXMgbm8gb3RoZXJ3aXNlLWVtcHR5IHBsYWNlaG9sZGVyIGZvbGRlci5cbmFzeW5jIGZ1bmN0aW9uIGVuc3VyZUludm9jYWJsZVNjcmlwdHNGb2xkZXIoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW52b2NhYmxlU2NyaXB0c0ZvbGRlclBhdGggPSBqb2luKENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTLmludm9jYWJsZVNjcmlwdHNGb2xkZXIpO1xuICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCkpIHtcbiAgICBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5ta2RpcihpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCk7XG4gIH1cbn1cblxuLy8gUmVhZHMgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzIG91dCBvZiB0aGlzIGhlbHBlcidzIG93biBgZGF0YS5qc29uYCwgd3JpdHRlbiBieSB0aGVcbi8vIHBhY2thZ2luZyBzdGVwIChzZWUgYERlbW9WYXVsdEhlbHBlclNldHRpbmdzYCkuIEEgdmF1bHQgd2l0aG91dCBhIHJlYWRhYmxlIG1hcmtlciB3YXMgbm90IHByb2R1Y2VkIGJ5XG4vLyB0aGF0IHN0ZXAg4oCUIGhhbmQtYXNzZW1ibGVkLCBvciB1bnBhY2tlZCBmcm9tIHNvbWV0aGluZyB0aGF0IGlzIG5vdCBhIGRlbW8gdmF1bHQg4oCUIHNvIGl0IGlzIHJlZnVzZWRcbi8vIHJhdGhlciB0aGFuIGJvb3RzdHJhcHBlZCBhZ2FpbnN0IGEgZ3Vlc3MuXG5hc3luYyBmdW5jdGlvbiBnZXREZW1vZWRQbHVnaW5JZChhcHA6IEFwcCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNldHRpbmdzUGF0aCA9IGpvaW4oYXBwLnZhdWx0LmNvbmZpZ0RpciwgUExVR0lOU19GT0xERVJfTkFNRSwgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lELCBEQVRBX0pTT05fRklMRV9OQU1FKTtcbiAgaWYgKCFhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMoc2V0dGluZ3NQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gIH1cblxuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChzZXR0aW5nc1BhdGgpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSAocGFyc2VkIGFzIG51bGwgfCBQYXJ0aWFsPERlbW9WYXVsdEhlbHBlclNldHRpbmdzPik/LmRlbW9lZFBsdWdpbklkO1xuICBpZiAodHlwZW9mIGRlbW9lZFBsdWdpbklkICE9PSAnc3RyaW5nJyB8fCBkZW1vZWRQbHVnaW5JZCA9PT0gRU1QVFkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UpO1xuICB9XG4gIHJldHVybiBkZW1vZWRQbHVnaW5JZDtcbn1cblxuLy8gVGVsbHMgdGhlIHVzZXIgdGhpcyB2YXVsdCBpcyBhIHNhbmRib3gsIHVzaW5nIE9ic2lkaWFuJ3Mgb3duIHNhbmRib3gtdmF1bHQgdHJlYXRtZW50OiBhbiBpbmZpbml0ZVxuLy8gZHVyYXRpb24sIGRpc21pc3NlZCBieSBjbGlja2luZyBpdC4gUmFpc2VkIGxhc3QsIHNvIGl0IGlzIHRoZSBuZXdlc3Qgbm90aWNlIG9uIHNjcmVlbiBvbmNlXG4vLyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIHN0YXJ0dXAgc2NyaXB0IGhhcyBkb25lIGl0cyBvd24gd29yay5cbi8vXG4vLyBBIGBOb3RpY2VgIGlzIGJ1aWx0IGluc2lkZSB3aGF0ZXZlciB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoYXQgbW9tZW50LCBhbmQgU2V0dGluZ3MgaXMgYSBQT1BPVVQgV0lORE9XXG4vLyAodmVyaWZpZWQgb24gMS4xMy42KSB0aGF0IGJlY29tZXMgdGhlIGFjdGl2ZSBvbmUgd2hpbGUgaXQgaXMgb3BlbiDigJQgc28gYSBub3RpY2UgcmFpc2VkIHRoZW4gd291bGQgYmVcbi8vIGNyZWF0ZWQgaW4gdGhlIHNldHRpbmdzIHdpbmRvdyBhbmQgdmFuaXNoIHdpdGggaXQuIFNldHRpbmdzIGlzIHRoZXJlZm9yZSBjbG9zZWQgZmlyc3Q6IE9ic2lkaWFuIGhhbmRzXG4vLyB0aGUgbWFpbiB3aW5kb3cgYmFjayBhcyB0aGUgcG9wb3V0IGdvZXMgYXdheSAoc3luY2hyb25vdXNseSwgYmVmb3JlIHRoZSBub3RpY2UgaXMgYnVpbHQpLCBhbmQgYSB1c2VyXG4vLyB3aG8gaGFzIGp1c3Qgb3BlbmVkIGEgZGVtbyB2YXVsdCB3YW50cyB0byBzZWUgdGhlIHZhdWx0IHJhdGhlciB0aGFuIGEgc2V0dGluZ3Mgd2luZG93IGFueXdheS4gQ2xvc2luZ1xuLy8gYW4gYWxyZWFkeS1jbG9zZWQgU2V0dGluZ3MgaXMgYSBuby1vcCwgc28gbm8gb3Blbi1zdGF0ZSBwcm9iZSBpcyBuZWVkZWQuXG5mdW5jdGlvbiBzaG93U2FuZGJveE5vdGljZShhcHA6IEFwcCwgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5OYW1lID0gYXBwLnBsdWdpbnMubWFuaWZlc3RzW2RlbW9lZFBsdWdpbklkXT8ubmFtZSA/PyBkZW1vZWRQbHVnaW5JZDtcbiAgY29uc3QgZnJhZ21lbnQgPSBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lKTtcbiAgYXBwLnNldHRpbmcuY2xvc2UoKTtcbiAgbmV3IE5vdGljZShmcmFnbWVudCwgU0FOREJPWF9OT1RJQ0VfRFVSQVRJT05fSU5fTUlMTElTRUNPTkRTKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0NBLGtCQUFxQjtBQUNyQixvQkFBc0I7QUFDdEIsc0JBQXVCO0FBSXZCLCtCQU9PO0FBQ1AsMEJBQWdDO0FBK0RoQyxNQUFNLGdDQUFnQztBQUN0QyxNQUFNLG1DQUFtQztBQUN6QyxNQUFNLCtCQUEwRDtBQUFBLEVBQzlELHlCQUF5QjtBQUFBLEVBQ3pCLHdCQUF3QjtBQUFBLEVBQ3hCLGFBQWE7QUFBQSxFQUNiLDBCQUEwQjtBQUFBLEVBQzFCLG1CQUFtQjtBQUNyQjtBQUVBLE1BQU0seUJBQXlCO0FBSy9CLE1BQU0sd0JBQTZDO0FBQUEsRUFDakQsZ0JBQWdCO0FBQUEsRUFDaEIsZ0JBQWdCO0FBQUEsRUFDaEIsaUJBQWlCO0FBQ25CO0FBRUEsTUFBTSw4QkFBOEI7QUFDcEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxtQ0FBbUM7QUFDekMsTUFBTSwrQkFBK0I7QUFHckMsTUFBTSwwQ0FBMEM7QUFrQmhELGVBQXNCLG1CQUFtQixRQUFpRDtB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
|
|
@@ -2,52 +2,6 @@
|
|
|
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
|
-
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return "/";
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: "android"
|
|
20
|
-
};
|
|
21
|
-
const existingProcess = globalThis.process;
|
|
22
|
-
if (!existingProcess) {
|
|
23
|
-
globalThis.process = browserProcess;
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (existingProcess.versions?.node) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const existingProcessRecord = existingProcess;
|
|
30
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
31
|
-
existingProcessRecord[key] ??= value;
|
|
32
|
-
}
|
|
33
|
-
existingProcessRecord["browser"] = true;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function keepName($unknown) {
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
50
|
-
})();
|
|
51
5
|
(function patchObsidianRequire() {
|
|
52
6
|
const originalRequire = require;
|
|
53
7
|
if (!originalRequire || originalRequire.__isPatched) {
|
|
@@ -154,4 +108,4 @@ function getDemoVaultBaseName(pluginId) {
|
|
|
154
108
|
getDemoVaultArchiveFileName,
|
|
155
109
|
getDemoVaultFolderName
|
|
156
110
|
});
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LW5hbWluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG5hbWVzIGEgcGx1Z2luJ3MgZGVtby12YXVsdCByZWxlYXNlIGFydGlmYWN0IGNhcnJpZXMg4oCUIHRoZSBvbmUgY29udHJhY3QgYmV0d2VlbiB0aGUgcmVsZWFzZS10aW1lXG4gKiBwYWNrYWdpbmcgc3RlcCBhbmQgdGhlIHJ1bnRpbWUgb3BlbmVyLlxuICpcbiAqIFRoZSB0d28gbGl2ZSBmYXIgYXBhcnQ6IGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2AgcnVucyB1bmRlciBOb2RlIGF0IHJlbGVhc2UgdGltZSBhbmQgV1JJVEVTIHRoZVxuICogYXJjaGl2ZSwgd2hpbGUgYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgIHJ1bnMgaW5zaWRlIE9ic2lkaWFuIGFuZCBET1dOTE9BRFMgaXQgYnkgbmFtZS4gVGhleSB1c2VkXG4gKiB0byBhZ3JlZSBieSBhIGNvbW1lbnQgb24gZWFjaCBzaWRlIHNheWluZyB0aGUgb3RoZXIgbXVzdCBiZSBjaGFuZ2VkIHRvbywgd2hpY2ggaXMgZXhhY3RseSB0aGUgc29ydCBvZlxuICogcGFpcmluZyB0aGF0IHN1cnZpdmVzIHVudGlsIHRoZSBkYXkgaXQgZG9lcyBub3QuIEJvdGggbm93IGRlcml2ZSBldmVyeSBzaGFyZWQgbmFtZSBmcm9tIGhlcmUuXG4gKlxuICogS2VwdCBmcmVlIG9mIGBvYnNpZGlhbmAgYW5kIGBub2RlOmAgaW1wb3J0cyBvbiBwdXJwb3NlOiB0aGUgcGFja2FnaW5nIHN0ZXAgcnVucyB1bmRlciBOb2RlLCB3aGVyZSB0aGVcbiAqIGBvYnNpZGlhbmAgbW9kdWxlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIG9wZW5lciBzaXRzIGluIHRoZSBnZW5lcmF0ZWQgYmFycmVscywgd2hpY2ggbXVzdCBzdGF5IHNhZmUgdG9cbiAqIGV2YWx1YXRlIG9uIG1vYmlsZS5cbiAqL1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXREZW1vVmF1bHRGb2xkZXJOYW1lUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQgdGhlIHZhdWx0IGRlbW9uc3RyYXRlcywgZnJvbSB0aGF0IHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdmVyc2lvbiB0aGUgdmF1bHQgc2hpcHMgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgZmlsZSBuYW1lIG9mIHRoZSBkZW1vLXZhdWx0IGFyY2hpdmUgYXR0YWNoZWQgdG8gYSBwbHVnaW4ncyBHaXRIdWIgcmVsZWFzZS5cbiAqXG4gKiBDYXJyaWVzIHRoZSBwbHVnaW4gaWQgc28gc2V2ZXJhbCBwbHVnaW5zJyBkZW1vIHZhdWx0cyBuZXZlciBjb2xsaWRlLCBhbmQgZGVsaWJlcmF0ZWx5IE5PVCB0aGUgdmVyc2lvbjpcbiAqIGEgcmVsZWFzZSBhc3NldCBpcyBhbHJlYWR5IG5hbWVzcGFjZWQgYnkgaXRzIHJlbGVhc2UgdGFnIChg4oCmL3JlbGVhc2VzL2Rvd25sb2FkLzx2ZXJzaW9uPi/igKZgKSwgc28gdGhlXG4gKiB2ZXJzaW9uIGJvdWdodCBubyBkaXNhbWJpZ3VhdGlvbiB3aGlsZSBtYWtpbmcgdGhlIGFzc2V0IG5hbWUgY2hhbmdlIG9uIGV2ZXJ5IHJlbGVhc2Ug4oCUIHdoaWNoIGlzIHdoYXRcbiAqIGJyb2tlIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5J3MgZmluZGluZyBvdmVycmlkZXMsIHdob3NlIGZpbmdlcnByaW50IGluY2x1ZGVzIHRoZSBuYW1lLiBUaGUgdmVyc2lvblxuICogbGl2ZXMgaW5zaWRlIHRoZSBhcmNoaXZlIGluc3RlYWQsIGFzIHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfSBhbmQgb24gdGhlIFJFQURNRSdzIGhlYWRpbmcuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBpZCB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLlxuICogQHJldHVybnMgVGhlIGFyY2hpdmUgZmlsZSBuYW1lLCBlLmcuIGBteS1wbHVnaW4tZGVtby12YXVsdC56aXBgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7Z2V0RGVtb1ZhdWx0QmFzZU5hbWUocGx1Z2luSWQpfS56aXBgO1xufVxuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBkZW1vIHZhdWx0J3Mgb3duIGZvbGRlciDigJQgdGhlIGFyY2hpdmUncyBzaW5nbGUgdG9wLWxldmVsIGVudHJ5LCBhbmQgdGhlIGZvbGRlciB0aGVcbiAqIG9wZW5lciBleHRyYWN0cyBpdCB0by5cbiAqXG4gKiBPbmUgbmFtZSBzZXJ2ZXMgYm90aCBiZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lIGZvbGRlciBzZWVuIHR3aWNlOiBhIHVzZXIgd2hvIHVuemlwcyB0aGUgYXJjaGl2ZSBieSBoYW5kXG4gKiBnZXRzIGEgc2VsZi1kZXNjcmliaW5nLCB2ZXJzaW9uLWRpc3RpbmN0IGZvbGRlciByYXRoZXIgdGhhbiBhbiBhbm9ueW1vdXMgb25lLCBhbmQgYSB1c2VyIHdobyBydW5zIHRoZVxuICogYE9wZW4gZGVtbyB2YXVsdGAgY29tbWFuZCBzZWVzIHRoYXQgc2FtZSBuYW1lIGluIE9ic2lkaWFuJ3MgdmF1bHQgc3dpdGNoZXIuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgZm9sZGVyIG5hbWUsIGUuZy4gYG15LXBsdWdpbi1kZW1vLXZhdWx0LTEuMi4zYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlbW9WYXVsdEZvbGRlck5hbWUocGFyYW1zOiBHZXREZW1vVmF1bHRGb2xkZXJOYW1lUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3Qge1xuICAgIHBsdWdpbklkLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGAke2dldERlbW9WYXVsdEJhc2VOYW1lKHBsdWdpbklkKX0tJHt2ZXJzaW9ufWA7XG59XG5cbmZ1bmN0aW9uIGdldERlbW9WYXVsdEJhc2VOYW1lKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cGx1Z2luSWR9LWRlbW8tdmF1bHRgO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJDTyxTQUFTLDRCQUE0QixVQUEwQjtBQUNwRSxTQUFPLEdBQUcscUJBQXFCLFFBQVEsQ0FBQztBQUMxQztBQWFPLFNBQVMsdUJBQXVCLFFBQThDO0FBQ25GLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLFNBQU8sR0FBRyxxQkFBcUIsUUFBUSxDQUFDLElBQUksT0FBTztBQUNyRDtBQUVBLFNBQVMscUJBQXFCLFVBQTBCO0FBQ3RELFNBQU8sR0FBRyxRQUFRO0FBQ3BCOyIsIm5hbWVzIjpbXX0=
|
|
@@ -2,7 +2,6 @@
|
|
|
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
|
-
|
|
6
5
|
(function () {
|
|
7
6
|
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
7
|
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
@@ -33,20 +32,8 @@ function ensureBrowserProcess() {
|
|
|
33
32
|
existingProcessRecord["browser"] = true;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
35
|
+
ensureDisposeSymbols();
|
|
36
|
+
ensureBrowserProcess();
|
|
50
37
|
})();
|
|
51
38
|
(function patchObsidianRequire() {
|
|
52
39
|
const originalRequire = require;
|
|
@@ -346,4 +333,4 @@ async function resolveDemoVaultArchive(params) {
|
|
|
346
333
|
0 && (module.exports = {
|
|
347
334
|
openDemoVault
|
|
348
335
|
});
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEb3dubG9hZHMgYW5kIG9wZW5zIGEgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IE9ic2lkaWFuIHdpbmRvdyAoZGVza3RvcCBvbmx5KS5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gYXR0YWNoIGEgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCBhcmNoaXZlIHRvIGVhY2ggR2l0SHViIHJlbGVhc2UgKHNlZVxuICogYGFyY2hpdmVQbHVnaW5EZW1vVmF1bHRgIGluIGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2A7IGV2ZXJ5IG5hbWUgc2hhcmVkIHdpdGggaXQgY29tZXMgZnJvbVxuICogYGRlbW8tdmF1bHQtbmFtaW5nLnRzYCkuIFRoaXMgcmVzb2x2ZXMgdGhlIHBsdWdpbidzIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIGNvbW11bml0eSByZWdpc3RyeSxcbiAqIGRvd25sb2FkcyB0aGUgYXJjaGl2ZSBmb3IgdGhlIGNob3NlbiB2ZXJzaW9uLCBhbmQgb3BlbnMgaXQgYXMgYSB2YXVsdCBpbiBhIG5ldyB3aW5kb3cuIFdoZW4gdGhlXG4gKiBpbnN0YWxsZWQgcGx1Z2luIHZlcnNpb24gaXMgYmVoaW5kIHRoZSBsYXRlc3QgcmVsZWFzZSwgdGhlIHVzZXIgaXMgb2ZmZXJlZCBhIGNob2ljZSBiZXR3ZWVuIHRoZSB0d29cbiAqIHZlcnNpb25zLlxuICpcbiAqIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duIGltbWVkaWF0ZWx5IChkb3dubG9hZCArIGV4dHJhY3Rpb24gY2FuIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWVcbiAqIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgcmlnaHQgYXdheSkuIE9ubHkgdGhlIGRvd25sb2FkZWQgQVJDSElWRSBpcyBjYWNoZWQgKHVuZGVyIHRoZSBPUyB0ZW1wXG4gKiBkaXJlY3RvcnkpOyBldmVyeSBpbnZvY2F0aW9uIGV4dHJhY3RzIGEgRlJFU0ggY29weSBpbnRvIGl0cyBvd24gdGVtcG9yYXJ5IGZvbGRlciBhbmQgb3BlbnMgdGhhdCwgc28gYVxuICogcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW50byBhIG5ldyBvbmUuIFRoZSB2YXVsdCBmb2xkZXIgaXMgdGhlIGFyY2hpdmUncyBvd24gc2luZ2xlXG4gKiB0b3AtbGV2ZWwgZm9sZGVyLCBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gLCB3aGljaCByZWFkcyBuaWNlbHkgaW4gT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlclxuICogYW5kIGlzIHRoZSBzYW1lIG5hbWUgYSBoYW5kLXVuemlwcGVkIGFyY2hpdmUgcHJvZHVjZXMuIE9ycGhhbmVkIGV4dHJhY3RlZCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tXG4gKiBlYXJsaWVyIHNlc3Npb25zIGFyZSBjbGVhbmVkIHVwIChiZXN0LWVmZm9ydCkgb24gZWFjaCBvcGVuLlxuICpcbiAqICoqTm90aGluZyBoZXJlIG1heSB0b3VjaCBhIHBsYXRmb3JtLW9ubHkgQVBJIHdoaWxlIHRoZSBtb2R1bGUgSU5JVElBTElaRVMuKiogVGhlIGBub2RlOmAgaW1wb3J0cyBiZWxvd1xuICogYXJlIHNhZmUgdG8gbWVyZWx5IGV2YWx1YXRlIG9uIG1vYmlsZSBcdTIwMTQgYHJlcXVpcmVgIGhhbmRzIGJhY2sgYHVuZGVmaW5lZGAgdGhlcmUgYW5kIG5vdGhpbmcgcmVhZHMgaXQgYXRcbiAqIGxvYWQgdGltZSBcdTIwMTQgYW5kIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBiYXJyZWxzIHJlLWV4cG9ydCB0aGlzIG1vZHVsZSwgdGhhdCBpcyBhIGxvYWQtYmVhcmluZyBwcm9wZXJ0eSBvZlxuICogdGhlIHdob2xlIGxpYnJhcnkgcmF0aGVyIHRoYW4gYSBkZXRhaWwgb2YgdGhpcyBmaWxlLiBJdCB3YXMgbGVhcm5lZCB0aGUgaGFyZCB3YXk6IHRoaXMgbW9kdWxlIG9uY2VcbiAqIGltcG9ydGVkIGBhZG0temlwYCwgd2hvc2UgemlwLWNyeXB0byBtZXRob2Qgb3BlbnMgd2l0aCBhIHRvcC1sZXZlbFxuICogYGNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpYCwgYW5kIGEgc3RhdGljIGBpbXBvcnQgQWRtWmlwIGZyb20gJ2FkbS16aXAnYCB0aGVyZWZvcmVcbiAqIGtpbGxlZCB0aGUgbGlicmFyeSdzIGxvYWQgb24gQW5kcm9pZCAoc2VlIHRoZSBtb2JpbGUtbG9hZCBjaGVjayBpblxuICogYHNjcmlwdHMvaGVscGVycy9hc3NlcnQtbW9iaWxlLWxvYWRhYmxlLWJ1bmRsZS50c2AsIHdoaWNoIGZhaWxzIHRoZSBidWlsZCBvbiBleGFjdGx5IHRoYXQpLiBFeHRyYWN0aW9uXG4gKiBub3cgZ29lcyB0aHJvdWdoIGBkZXNrdG9wLXppcC1leHRyYWN0b3IudHNgLCB3aGljaCBuZWVkcyBubyBkZXBlbmRlbmN5IGF0IGFsbCBcdTIwMTQgYnV0IGFueSBmdXR1cmVcbiAqIGRlcGVuZGVuY3kgdGhhdCBpbml0aWFsaXplcyBhZ2FpbnN0IGEgcGxhdGZvcm0tb25seSBBUEkgc3RpbGwgaGFzIHRvIGJlIGRlZmVycmVkIGJlaGluZCBhIGNhbGwtdGltZVxuICogYGltcG9ydCgpYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgZXh0cmFjdFppcEFyY2hpdmUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVza3RvcC16aXAtZXh0cmFjdG9yJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ25vZGU6YnVmZmVyJztcbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIG1rZGlyU3luYyxcbiAgbWtkdGVtcFN5bmMsXG4gIHJlYWRkaXJTeW5jLFxuICByZWFkRmlsZVN5bmMsXG4gIHJtU3luYyxcbiAgc3RhdFN5bmMsXG4gIHdyaXRlRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IHJlcXVlc3RVcmwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBQbHVnaW5Ob3RpY2VDb21wb25lbnREZWxheWVkTm90aWNlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7XG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgUGx1Z2luTm90aWNlTW9kZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi9kZW1vLXZhdWx0LW5hbWluZy50cyc7XG5pbXBvcnQge1xuICBhc0NvZGVCbG9jayxcbiAgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2Nrc1xufSBmcm9tICcuL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgb3BlbkRlbW9WYXVsdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkRlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQsIHVzZWQgdG8gbG9jYXRlIHRoZSBHaXRIdWIgcmVwb3NpdG9yeSwgdG8gbmFtZSB0aGUgYXJjaGl2ZSBhc3NldCwgYW5kIHRvIG5hbWUgdGhlXG4gICAqIGNhY2hlZCBhcmNoaXZlIGFuZCB0aGUgZXh0cmFjdGVkIHZhdWx0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gZGlzcGxheSBuYW1lLCB1c2VkIHRvIGxhYmVsIHRoZSBub3RpY2VzIGFuZCB0aGUgdmVyc2lvbi1jaG9pY2UgZGlhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWNlIGNvbXBvbmVudCB1c2VkIHRvIHJlcG9ydCBwcm9ncmVzcyBhbmQgcHJvYmxlbXMgKHBsdWdpbiBub3QgaW4gdGhlIHJlZ2lzdHJ5LCBtaXNzaW5nXG4gICAqIGFyY2hpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uLCBvZmZlcmVkIGFzIG9uZSBvZiB0aGUgdmVyc2lvbiBjaG9pY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXMge1xuICByZWFkb25seSBhcmNoaXZlOiBCdWZmZXI7XG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zIHtcbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgcmVhZG9ubHkgcHJvZ3Jlc3NOb3RpY2U6IFBsdWdpbk5vdGljZUNvbXBvbmVudERlbGF5ZWROb3RpY2U7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG5jb25zdCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIgPSAnb2JzaWRpYW4tZGVtby12YXVsdHMnO1xuY29uc3QgQVJDSElWRVNfU1VCRk9MREVSID0gJ2FyY2hpdmVzJztcbmNvbnN0IEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSID0gJ2V4dHJhY3RlZCc7XG5jb25zdCBIVFRQX1NUQVRVU19PSyA9IDIwMDtcbi8vIE9uZSBkYXkgaW4gbWlsbGlzZWNvbmRzICgyNCAqIDYwICogNjAgKiAxMDAwKS5cbmNvbnN0IE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EUyA9IDg2XzQwMF8wMDA7XG5cbi8qKlxuICogRG93bmxvYWRzIGFuZCBvcGVucyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdCBpbiBhIG5ldyBPYnNpZGlhbiB3aW5kb3cuIERlc2t0b3Agb25seS5cbiAqXG4gKiBJZiB0aGUgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uIGlzIHRoZSBsYXRlc3QgKG9yIG5ld2VyKSwgaXRzIGRlbW8gdmF1bHQgb3BlbnMgZGlyZWN0bHk7IG90aGVyd2lzZVxuICogdGhlIHVzZXIgY2hvb3NlcyBiZXR3ZWVuIHRoZSBsYXRlc3QgYW5kIHRoZSBjdXJyZW50bHktaW5zdGFsbGVkIHZlcnNpb24uIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duXG4gKiBpbW1lZGlhdGVseS4gVGhlIGNob3NlbiB2ZXJzaW9uJ3MgYXJjaGl2ZSBpcyBkb3dubG9hZGVkIG9uY2UgKHRoZW4gcmV1c2VkIGZyb20gdGhlIGFyY2hpdmUgY2FjaGUpLFxuICogYnV0IGEgZnJlc2ggY29weSBpcyBleHRyYWN0ZWQgaW50byBpdHMgb3duIHRlbXBvcmFyeSBmb2xkZXIgb24gZXZlcnkgb3BlbiBcdTIwMTQgdGhlIHZhdWx0IGlzIG5ldmVyIHJldXNlZFxuICogYWNyb3NzIHNlc3Npb25zLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIE9wZW5EZW1vVmF1bHRQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB2YXVsdCBoYXMgYmVlbiBvcGVuZWQsIG9yIG9uY2UgdGhlIG9wZXJhdGlvbiBoYXNcbiAqIGJlZW4gcmVwb3J0ZWQgYXMgbm90IHBvc3NpYmxlIChub3RpY2Ugc2hvd24pIG9yIGNhbmNlbGxlZCBieSB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EZW1vVmF1bHQocGFyYW1zOiBPcGVuRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcGx1Z2luVmVyc2lvblxuICB9ID0gcGFyYW1zO1xuXG4gIC8vIFNob3duIGltbWVkaWF0ZWx5IChgZGVsYXlJbk1pbGxpc2Vjb25kczogMGApOiByZXNvbHZpbmcgdGhlIHJlbGVhc2UsIGRvd25sb2FkaW5nIGFuZCBleHRyYWN0aW5nIGNhblxuICAvLyBlYWNoIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWUgcHJvZ3Jlc3MgdGhlIG1vbWVudCB0aGUgY29tbWFuZCBpcyBpbnZva2VkLlxuICAvL1xuICAvLyBLZXB0IG91dCBvZiB0aGUgc2hhcmVkIHNsb3QgKGBTZXBhcmF0ZWApLCBiZWNhdXNlIHRoaXMgdmVyeSBmdW5jdGlvbiByYWlzZXMgb3JkaW5hcnkgbm90aWNlcyB3aGlsZVxuICAvLyB0aGUgb3BlcmF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcgXHUyMDE0IFwibm90IGluIHRoZSByZWdpc3RyeVwiLCBcIm5vIGRlbW8gdmF1bHQgZm9yIHRoaXMgdmVyc2lvblwiIFx1MjAxNCBhbmQgYVxuICAvLyBzbG90IG5vdGljZSB3b3VsZCBoaWRlIHRoZSBwcm9ncmVzcyBub3RpY2UgcmF0aGVyIHRoYW4gYXBwZWFyIGJlc2lkZSBpdC5cbiAgdXNpbmcgcHJvZ3Jlc3NOb3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZUFmdGVyRGVsYXkoe1xuICAgIGNvbnRlbnQ6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE9wZW5pbmcgZGVtbyB2YXVsdCBmb3IgJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX1cdTIwMjZgKSxcbiAgICBkZWxheUluTWlsbGlzZWNvbmRzOiAwLFxuICAgIG1vZGU6IFBsdWdpbk5vdGljZU1vZGUuU2VwYXJhdGVcbiAgfSk7XG5cbiAgY29uc3QgcmVwbyA9IGF3YWl0IGdldENvbW11bml0eVBsdWdpblJlcG8ocGx1Z2luSWQpO1xuICBpZiAoIXJlcG8pIHtcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBDb3VsZCBub3QgZmluZCBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gaW4gdGhlIGNvbW11bml0eSBwbHVnaW5zIHJlZ2lzdHJ5LmApKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBsdWdpblZlcnNpb247XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RSZWxlYXNlVmVyc2lvbihyZXBvKTtcblxuICBsZXQgdmVyc2lvblRvT3Blbjogc3RyaW5nO1xuICBpZiAoY29tcGFyZVZlcnNpb25zKGN1cnJlbnRWZXJzaW9uLCBsYXRlc3RWZXJzaW9uKSA+PSAwKSB7XG4gICAgdmVyc2lvblRvT3BlbiA9IGN1cnJlbnRWZXJzaW9uO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNob3NlblZlcnNpb24gPSBhd2FpdCBzZWxlY3RPcHRpb248bnVsbCB8IHN0cmluZz4oe1xuICAgICAgYXBwLFxuICAgICAgbWVzc2FnZTogY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2NrcyhgQ3VycmVudCB2ZXJzaW9uIG9mIHBsdWdpbiAke2FzQ29kZUJsb2NrKHBsdWdpbk5hbWUpfSB2JHtjdXJyZW50VmVyc2lvbn0gaXMgbm90IHRoZSBsYXRlc3QgKHYke2xhdGVzdFZlcnNpb259KWApLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaXNDdGE6IHRydWUsXG4gICAgICAgICAgdGV4dDogYE9wZW4gZGVtbyB2YXVsdCBmb3IgbGF0ZXN0IHZlcnNpb24gKHYke2xhdGVzdFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGxhdGVzdFZlcnNpb25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGBPcGVuIGRlbW8gdmF1bHQgZm9yIGN1cnJlbnQgdmVyc2lvbiAodiR7Y3VycmVudFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdGl0bGU6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYXNDb2RlQmxvY2socGx1Z2luTmFtZSkpXG4gICAgfSk7XG4gICAgaWYgKGNob3NlblZlcnNpb24gPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmVyc2lvblRvT3BlbiA9IGNob3NlblZlcnNpb247XG4gIH1cblxuICBjb25zdCBhcmNoaXZlID0gYXdhaXQgcmVzb2x2ZURlbW9WYXVsdEFyY2hpdmUoe1xuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHByb2dyZXNzTm90aWNlLFxuICAgIHJlcG8sXG4gICAgdmVyc2lvbjogdmVyc2lvblRvT3BlblxuICB9KTtcbiAgaWYgKCFhcmNoaXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvZ3Jlc3NOb3RpY2Uuc2V0Q29udGVudChjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBFeHRyYWN0aW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb25Ub09wZW59XHUyMDI2YCkpO1xuICBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTtcbiAgY29uc3QgdmF1bHREaXJlY3RvcnkgPSBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcih7XG4gICAgYXJjaGl2ZSxcbiAgICBwbHVnaW5JZCxcbiAgICB2ZXJzaW9uOiB2ZXJzaW9uVG9PcGVuXG4gIH0pO1xuXG4gIHdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5zZW5kU3luYygndmF1bHQtb3BlbicsIHZhdWx0RGlyZWN0b3J5LCBmYWxzZSk7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBleHRyYWN0ZWQgZGVtby12YXVsdCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tIGVhcmxpZXIgc2Vzc2lvbnMgKGJlc3QtZWZmb3J0KS5cbiAqXG4gKiBFdmVyeSBvcGVuIGV4dHJhY3RzIGEgZnJlc2ggY29weSBpbnRvIGl0cyBvd24gZm9sZGVyIGFuZCBuZXZlciBkZWxldGVzIGl0IGFmdGVyd2FyZHMgKHRoZSB2YXVsdCBzdGF5c1xuICogb3BlbiBpbiBpdHMgd2luZG93KSwgc28gdGhlc2UgYWNjdW11bGF0ZS4gVGhpcyBkcm9wcyBmb2xkZXJzIG9sZGVyIHRoYW5cbiAqIHtAbGluayBPUlBIQU5FRF9FWFRSQUNURURfVkFVTFRfTUFYX0FHRV9JTl9NSUxMSVNFQ09ORFN9LiBBIGZvbGRlciB3aG9zZSB2YXVsdCBpcyBzdGlsbCBvcGVuIGluIGFub3RoZXJcbiAqIHdpbmRvdyBpcyBsb2NrZWQgb24gV2luZG93cyBhbmQgY2Fubm90IGJlIHJlbW92ZWQgXHUyMDE0IHRoZSByZW1vdmFsIGlzIHdyYXBwZWQgc28gc3VjaCBhIGZvbGRlciBpcyBzaW1wbHlcbiAqIHNraXBwZWQgYW5kIHJldHJpZWQgb24gYSBsYXRlciBvcGVuLlxuICovXG5mdW5jdGlvbiBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTogdm9pZCB7XG4gIGNvbnN0IGV4dHJhY3RlZFZhdWx0c1Jvb3QgPSBqb2luKHRtcGRpcigpLCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIsIEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSKTtcbiAgaWYgKCFleGlzdHNTeW5jKGV4dHJhY3RlZFZhdWx0c1Jvb3QpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgZm9yIChjb25zdCBlbnRyeU5hbWUgb2YgcmVhZGRpclN5bmMoZXh0cmFjdGVkVmF1bHRzUm9vdCkpIHtcbiAgICBjb25zdCBlbnRyeVBhdGggPSBqb2luKGV4dHJhY3RlZFZhdWx0c1Jvb3QsIGVudHJ5TmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRzID0gc3RhdFN5bmMoZW50cnlQYXRoKTtcbiAgICAgIGlmIChub3cgLSBzdGF0cy5tdGltZU1zIDwgT1JQSEFORURfRVhUUkFDVEVEX1ZBVUxUX01BWF9BR0VfSU5fTUlMTElTRUNPTkRTKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcm1TeW5jKGVudHJ5UGF0aCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gQmVzdC1lZmZvcnQgY2xlYW51cDogYW4gb3JwaGFuIHdob3NlIHZhdWx0IGlzIHN0aWxsIG9wZW4gKGxvY2tlZCBvbiBXaW5kb3dzKSBjYW5ub3QgYmUgcmVtb3ZlZDsgc2tpcCBpdCBhbmQgcmV0cnkgb24gYSBsYXRlciBvcGVuLlxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgZG93bmxvYWRlZCBkZW1vLXZhdWx0IGFyY2hpdmUgdG8gZGlzay5cbiAqXG4gKiBFeHRyYWN0aW9uIGlzIHdyaXR0ZW4gd2l0aCBFbGVjdHJvbidzIGBvcmlnaW5hbC1mc2AgXHUyMDE0IHRoZSByZWFsIGBmc2Agd2l0aCBhc2FyIGludGVyY2VwdGlvbiBkaXNhYmxlZCBcdTIwMTRcbiAqIHJhdGhlciB0aGFuIHdpdGggYG5vZGU6ZnNgLiBBIGRlbW8gdmF1bHQgbWF5IHNoaXAgYSBmaWxlIHRoYXQgbWVyZWx5IExPT0tTIGxpa2UgYW4gRWxlY3Ryb24gYXJjaGl2ZVxuICogKGUuZy4gYF9hc3NldHMvQ29kZVNjcmlwdFRvb2xraXQvbW9kdWxlLmFzYXJgIGRlbW9uc3RyYXRpbmcgdGhlIEFTQVIgcmVxdWlyZSBmZWF0dXJlKSwgYW5kIEVsZWN0cm9uJ3NcbiAqIGFzYXIgbGF5ZXIgaW50ZXJjZXB0cyBgZnNgIG9wZXJhdGlvbnMgb24gYW55IHBhdGggY29udGFpbmluZyBgLmFzYXJgLCB0cmVhdGluZyBpdCBhcyBhbiBhcmNoaXZlIHJvb3RcbiAqIHJhdGhlciB0aGFuIGEgcGxhaW4gZmlsZS4gVGhhdCBhbHJlYWR5IGNvc3Qgb25lIHByb2R1Y3Rpb24gYnVnIHdoZW4gdGhlIGV4dHJhY3RvciBgY2htb2RgLWVkIHN1Y2ggYVxuICogZmlsZSBhbmQgZ290IGBFTk9FTlRgOyBub3RoaW5nIGBjaG1vZGBzIGFueSBtb3JlLCBidXQgd3JpdGluZyB0aG9zZSBieXRlcyB0aHJvdWdoIHRoZSBjb3B5IHRoYXQgaGFzIG5vXG4gKiBhc2FyIGxheWVyIGNvc3RzIG5vdGhpbmcgYW5kIGtlZXBzIHRoZSB3aG9sZSBjbGFzcyBvZiBmYWlsdXJlIG9mZiB0aGlzIHBhdGguIGBvcmlnaW5hbC1mc2AgaXMgYSBkZXNrdG9wLW9ubHlcbiAqIEVsZWN0cm9uIG1vZHVsZSB3aXRoIG5vIGJ1bmRsZWQgdHlwZXMsIHNvIGl0IGlzIGxvYWRlZCB2aWEgYHdpbmRvdy5yZXF1aXJlYCBhbmQgdHlwZWQgYXMgYG5vZGU6ZnNgJ3NcbiAqIHNoYXBlLlxuICpcbiAqIEBwYXJhbSBhcmNoaXZlIC0gVGhlIHJhdyB6aXAgYXJjaGl2ZSBieXRlcy5cbiAqIEBwYXJhbSB0YXJnZXREaXJlY3RvcnkgLSBUaGUgZGlyZWN0b3J5IHRvIGV4dHJhY3QgaW50by5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlbW9WYXVsdEFyY2hpdmUoYXJjaGl2ZTogQnVmZmVyLCB0YXJnZXREaXJlY3Rvcnk6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBvcmlnaW5hbEZzID0gd2luZG93LnJlcXVpcmUoJ25vZGU6b3JpZ2luYWwtZnMnKSBhcyB0eXBlb2YgaW1wb3J0KCdub2RlOmZzJyk7XG4gIGV4dHJhY3RaaXBBcmNoaXZlKHtcbiAgICBhcmNoaXZlLFxuICAgIGZpbGVTeXN0ZW06IG9yaWdpbmFsRnMsXG4gICAgdGFyZ2V0RGlyZWN0b3J5XG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBhcmNoaXZlIGludG8gYSBmcmVzaCwgdW5pcXVlbHktbmFtZWQgdGVtcG9yYXJ5IGZvbGRlciBhbmQgcmV0dXJucyB0aGUgdmF1bHQgcGF0aC5cbiAqXG4gKiBBIHVuaXF1ZSBwYXJlbnQgZm9sZGVyIChgbWtkdGVtcFN5bmNgKSBndWFyYW50ZWVzIGEgYnJhbmQtbmV3IGV4dHJhY3Rpb24gZXZlcnkgdGltZSBcdTIwMTQgdGhlIGRlbW8gdmF1bHRcbiAqIGlzIG5ldmVyIHJldXNlZCBhY3Jvc3Mgb3BlbnMsIHNvIGEgcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW4uIFRoZSBhcmNoaXZlIGlzIGV4dHJhY3RlZFxuICogaW50byB0aGF0IHBhcmVudCBhbmQgdGhlIHZhdWx0IGlzIHRoZSBzaW5nbGUgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQtPHZlcnNpb24+YCBmb2xkZXIgaXQgY29udGFpbnMsIHNvXG4gKiBPYnNpZGlhbidzIHZhdWx0IHN3aXRjaGVyIHNob3dzIGEgZnJpZW5kbHkgbmFtZSAoaXRzIGJhc2VuYW1lKSByYXRoZXIgdGhhbiB0aGUgcmFuZG9tIHRlbXAgaWQuXG4gKlxuICogVGhhdCBmb2xkZXIgaXMgbm90IHNlYXJjaGVkIGZvcjoge0BsaW5rIGdldERlbW9WYXVsdEZvbGRlck5hbWV9IG5hbWVzIGl0IG9uIGJvdGggc2lkZXMsIHNvIHRoZSBwYXRoIGlzXG4gKiBrbm93biBiZWZvcmUgYSBieXRlIGlzIHdyaXR0ZW4uIFdoaWNoIGtlZXBzIHRoZSBleHRyYWN0b3IgZnJlZSBvZiBhbnkgcmVhZCBcdTIwMTQgZGVsaWJlcmF0ZSwgYmVjYXVzZVxuICogRWxlY3Ryb24ncyBhc2FyIGxheWVyIGludGVyY2VwdHMgYGZzYCByZWFkcyBvbiBhbnkgcGF0aCBjb250YWluaW5nIGAuYXNhcmAsIGFuZCBhIGRlbW8gdmF1bHQgbWF5XG4gKiBsZWdpdGltYXRlbHkgc2hpcCBzdWNoIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBFeHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlclBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZnJlc2hseSBleHRyYWN0ZWQgdmF1bHQgZm9sZGVyLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcihwYXJhbXM6IEV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBhcmNoaXZlLCBwbHVnaW5JZCwgdmVyc2lvbiB9ID0gcGFyYW1zO1xuICBjb25zdCBleHRyYWN0ZWRWYXVsdHNSb290ID0gam9pbih0bXBkaXIoKSwgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSLCBFWFRSQUNURURfVkFVTFRTX1NVQkZPTERFUik7XG4gIG1rZGlyU3luYyhleHRyYWN0ZWRWYXVsdHNSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgdW5pcXVlUGFyZW50RGlyZWN0b3J5ID0gbWtkdGVtcFN5bmMoam9pbihleHRyYWN0ZWRWYXVsdHNSb290LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS1gKSk7XG4gIGV4dHJhY3REZW1vVmF1bHRBcmNoaXZlKGFyY2hpdmUsIHVuaXF1ZVBhcmVudERpcmVjdG9yeSk7XG4gIHJldHVybiBqb2luKFxuICAgIHVuaXF1ZVBhcmVudERpcmVjdG9yeSxcbiAgICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lKHtcbiAgICAgIHBsdWdpbklkLFxuICAgICAgdmVyc2lvblxuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlbW8tdmF1bHQgYXJjaGl2ZSBieXRlcyBmb3IgYSB2ZXJzaW9uLCBkb3dubG9hZGluZyBhbmQgY2FjaGluZyB0aGVtIG9uIGZpcnN0IHVzZS5cbiAqXG4gKiBPbmx5IHRoZSBhcmNoaXZlIGlzIGNhY2hlZCAoa2V5ZWQgYnkgcGx1Z2luIGlkICsgdmVyc2lvbik7IHRoZSBleHRyYWN0ZWQgdmF1bHQgaXMgbm90LiBBIGNhY2hlIGhpdCBpc1xuICogcmV0dXJuZWQgd2l0aG91dCBhbnkgbmV0d29yayByZXF1ZXN0OyBhIG1pc3MgZG93bmxvYWRzIHRoZSByZWxlYXNlIGFzc2V0LCB3cml0ZXMgaXQgdG8gdGhlIGFyY2hpdmVcbiAqIGNhY2hlLCBhbmQgcmV0dXJucyB0aGUgZnJlc2hseSBkb3dubG9hZGVkIGJ5dGVzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgYXJjaGl2ZSBieXRlcywgb3IgYG51bGxgIHdoZW4gbm8gYXJjaGl2ZSBpcyBhdmFpbGFibGUgZm9yXG4gKiB0aGUgdmVyc2lvbiAoYSBub3RpY2UgaGFzIGJlZW4gc2hvd24pLlxuICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZShwYXJhbXM6IFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zKTogUHJvbWlzZTxCdWZmZXIgfCBudWxsPiB7XG4gIGNvbnN0IHtcbiAgICBwbHVnaW5JZCxcbiAgICBwbHVnaW5OYW1lLFxuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICBwcm9ncmVzc05vdGljZSxcbiAgICByZXBvLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBhcmNoaXZlc0RpcmVjdG9yeSA9IGpvaW4odG1wZGlyKCksIERFTU9fVkFVTFRTX0NBQ0hFX0ZPTERFUiwgQVJDSElWRVNfU1VCRk9MREVSKTtcbiAgY29uc3QgYXJjaGl2ZVBhdGggPSBqb2luKGFyY2hpdmVzRGlyZWN0b3J5LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS56aXBgKTtcbiAgaWYgKGV4aXN0c1N5bmMoYXJjaGl2ZVBhdGgpKSB7XG4gICAgcmV0dXJuIHJlYWRGaWxlU3luYyhhcmNoaXZlUGF0aCk7XG4gIH1cblxuICBwcm9ncmVzc05vdGljZS5zZXRDb250ZW50KGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYERvd25sb2FkaW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb259XHUyMDI2YCkpO1xuICBjb25zdCBhc3NldFVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vJHtyZXBvfS9yZWxlYXNlcy9kb3dubG9hZC8ke3ZlcnNpb259LyR7Z2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkKX1gO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoe1xuICAgIHRocm93OiBmYWxzZSxcbiAgICB1cmw6IGFzc2V0VXJsXG4gIH0pO1xuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSBIVFRQX1NUQVRVU19PSykge1xuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE5vIGRlbW8gdmF1bHQgaXMgYXZhaWxhYmxlIGZvciBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gdiR7dmVyc2lvbn0uYCkpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXJjaGl2ZSA9IEJ1ZmZlci5mcm9tKHJlc3BvbnNlLmFycmF5QnVmZmVyKTtcbiAgbWtkaXJTeW5jKGFyY2hpdmVzRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgd3JpdGVGaWxlU3luYyhhcmNoaXZlUGF0aCwgYXJjaGl2ZSk7XG4gIHJldHVybiBhcmNoaXZlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1DQSxtQ0FBa0M7QUFDbEMsa0JBQXFCO0FBQ3JCLDhCQUFnQztBQUNoQyx5QkFBdUI7QUFDdkIscUJBU087QUFDUCxxQkFBdUI7QUFDdkIsc0JBQTJCO0FBTzNCLCtCQUdPO0FBQ1AscUNBQWlDO0FBQ2pDLCtCQUdPO0FBQ1AsMEJBR087QUFDUCwyQkFBNkI7QUFpRDdCLE1BQU0sMkJBQTJCO0FBQ2pDLE1BQU0scUJBQXFCO0FBQzNCLE1BQU0sNkJBQTZCO0FBQ25DLE1BQU0saUJBQWlCO0FBRXZCLE1BQU0sbURBQW1EO0FBZXpELGVBQXNCLGNBQWMsUUFBNEM7QUFlOUU7QUFBQTtBQWRBLFVBQU07QUFBQSxNQUNKO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0YsSUFBSTtBQVFK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
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEb3dubG9hZHMgYW5kIG9wZW5zIGEgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IE9ic2lkaWFuIHdpbmRvdyAoZGVza3RvcCBvbmx5KS5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gYXR0YWNoIGEgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCBhcmNoaXZlIHRvIGVhY2ggR2l0SHViIHJlbGVhc2UgKHNlZVxuICogYGFyY2hpdmVQbHVnaW5EZW1vVmF1bHRgIGluIGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2A7IGV2ZXJ5IG5hbWUgc2hhcmVkIHdpdGggaXQgY29tZXMgZnJvbVxuICogYGRlbW8tdmF1bHQtbmFtaW5nLnRzYCkuIFRoaXMgcmVzb2x2ZXMgdGhlIHBsdWdpbidzIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIGNvbW11bml0eSByZWdpc3RyeSxcbiAqIGRvd25sb2FkcyB0aGUgYXJjaGl2ZSBmb3IgdGhlIGNob3NlbiB2ZXJzaW9uLCBhbmQgb3BlbnMgaXQgYXMgYSB2YXVsdCBpbiBhIG5ldyB3aW5kb3cuIFdoZW4gdGhlXG4gKiBpbnN0YWxsZWQgcGx1Z2luIHZlcnNpb24gaXMgYmVoaW5kIHRoZSBsYXRlc3QgcmVsZWFzZSwgdGhlIHVzZXIgaXMgb2ZmZXJlZCBhIGNob2ljZSBiZXR3ZWVuIHRoZSB0d29cbiAqIHZlcnNpb25zLlxuICpcbiAqIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duIGltbWVkaWF0ZWx5IChkb3dubG9hZCArIGV4dHJhY3Rpb24gY2FuIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWVcbiAqIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgcmlnaHQgYXdheSkuIE9ubHkgdGhlIGRvd25sb2FkZWQgQVJDSElWRSBpcyBjYWNoZWQgKHVuZGVyIHRoZSBPUyB0ZW1wXG4gKiBkaXJlY3RvcnkpOyBldmVyeSBpbnZvY2F0aW9uIGV4dHJhY3RzIGEgRlJFU0ggY29weSBpbnRvIGl0cyBvd24gdGVtcG9yYXJ5IGZvbGRlciBhbmQgb3BlbnMgdGhhdCwgc28gYVxuICogcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW50byBhIG5ldyBvbmUuIFRoZSB2YXVsdCBmb2xkZXIgaXMgdGhlIGFyY2hpdmUncyBvd24gc2luZ2xlXG4gKiB0b3AtbGV2ZWwgZm9sZGVyLCBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gLCB3aGljaCByZWFkcyBuaWNlbHkgaW4gT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlclxuICogYW5kIGlzIHRoZSBzYW1lIG5hbWUgYSBoYW5kLXVuemlwcGVkIGFyY2hpdmUgcHJvZHVjZXMuIE9ycGhhbmVkIGV4dHJhY3RlZCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tXG4gKiBlYXJsaWVyIHNlc3Npb25zIGFyZSBjbGVhbmVkIHVwIChiZXN0LWVmZm9ydCkgb24gZWFjaCBvcGVuLlxuICpcbiAqICoqTm90aGluZyBoZXJlIG1heSB0b3VjaCBhIHBsYXRmb3JtLW9ubHkgQVBJIHdoaWxlIHRoZSBtb2R1bGUgSU5JVElBTElaRVMuKiogVGhlIGBub2RlOmAgaW1wb3J0cyBiZWxvd1xuICogYXJlIHNhZmUgdG8gbWVyZWx5IGV2YWx1YXRlIG9uIG1vYmlsZSDigJQgYHJlcXVpcmVgIGhhbmRzIGJhY2sgYHVuZGVmaW5lZGAgdGhlcmUgYW5kIG5vdGhpbmcgcmVhZHMgaXQgYXRcbiAqIGxvYWQgdGltZSDigJQgYW5kIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBiYXJyZWxzIHJlLWV4cG9ydCB0aGlzIG1vZHVsZSwgdGhhdCBpcyBhIGxvYWQtYmVhcmluZyBwcm9wZXJ0eSBvZlxuICogdGhlIHdob2xlIGxpYnJhcnkgcmF0aGVyIHRoYW4gYSBkZXRhaWwgb2YgdGhpcyBmaWxlLiBJdCB3YXMgbGVhcm5lZCB0aGUgaGFyZCB3YXk6IHRoaXMgbW9kdWxlIG9uY2VcbiAqIGltcG9ydGVkIGBhZG0temlwYCwgd2hvc2UgemlwLWNyeXB0byBtZXRob2Qgb3BlbnMgd2l0aCBhIHRvcC1sZXZlbFxuICogYGNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpYCwgYW5kIGEgc3RhdGljIGBpbXBvcnQgQWRtWmlwIGZyb20gJ2FkbS16aXAnYCB0aGVyZWZvcmVcbiAqIGtpbGxlZCB0aGUgbGlicmFyeSdzIGxvYWQgb24gQW5kcm9pZCAoc2VlIHRoZSBtb2JpbGUtbG9hZCBjaGVjayBpblxuICogYHNjcmlwdHMvaGVscGVycy9hc3NlcnQtbW9iaWxlLWxvYWRhYmxlLWJ1bmRsZS50c2AsIHdoaWNoIGZhaWxzIHRoZSBidWlsZCBvbiBleGFjdGx5IHRoYXQpLiBFeHRyYWN0aW9uXG4gKiBub3cgZ29lcyB0aHJvdWdoIGBkZXNrdG9wLXppcC1leHRyYWN0b3IudHNgLCB3aGljaCBuZWVkcyBubyBkZXBlbmRlbmN5IGF0IGFsbCDigJQgYnV0IGFueSBmdXR1cmVcbiAqIGRlcGVuZGVuY3kgdGhhdCBpbml0aWFsaXplcyBhZ2FpbnN0IGEgcGxhdGZvcm0tb25seSBBUEkgc3RpbGwgaGFzIHRvIGJlIGRlZmVycmVkIGJlaGluZCBhIGNhbGwtdGltZVxuICogYGltcG9ydCgpYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgZXh0cmFjdFppcEFyY2hpdmUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVza3RvcC16aXAtZXh0cmFjdG9yJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ25vZGU6YnVmZmVyJztcbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIG1rZGlyU3luYyxcbiAgbWtkdGVtcFN5bmMsXG4gIHJlYWRkaXJTeW5jLFxuICByZWFkRmlsZVN5bmMsXG4gIHJtU3luYyxcbiAgc3RhdFN5bmMsXG4gIHdyaXRlRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IHJlcXVlc3RVcmwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBQbHVnaW5Ob3RpY2VDb21wb25lbnREZWxheWVkTm90aWNlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7XG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgUGx1Z2luTm90aWNlTW9kZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi9kZW1vLXZhdWx0LW5hbWluZy50cyc7XG5pbXBvcnQge1xuICBhc0NvZGVCbG9jayxcbiAgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2Nrc1xufSBmcm9tICcuL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgb3BlbkRlbW9WYXVsdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkRlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQsIHVzZWQgdG8gbG9jYXRlIHRoZSBHaXRIdWIgcmVwb3NpdG9yeSwgdG8gbmFtZSB0aGUgYXJjaGl2ZSBhc3NldCwgYW5kIHRvIG5hbWUgdGhlXG4gICAqIGNhY2hlZCBhcmNoaXZlIGFuZCB0aGUgZXh0cmFjdGVkIHZhdWx0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gZGlzcGxheSBuYW1lLCB1c2VkIHRvIGxhYmVsIHRoZSBub3RpY2VzIGFuZCB0aGUgdmVyc2lvbi1jaG9pY2UgZGlhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWNlIGNvbXBvbmVudCB1c2VkIHRvIHJlcG9ydCBwcm9ncmVzcyBhbmQgcHJvYmxlbXMgKHBsdWdpbiBub3QgaW4gdGhlIHJlZ2lzdHJ5LCBtaXNzaW5nXG4gICAqIGFyY2hpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uLCBvZmZlcmVkIGFzIG9uZSBvZiB0aGUgdmVyc2lvbiBjaG9pY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXMge1xuICByZWFkb25seSBhcmNoaXZlOiBCdWZmZXI7XG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zIHtcbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgcmVhZG9ubHkgcHJvZ3Jlc3NOb3RpY2U6IFBsdWdpbk5vdGljZUNvbXBvbmVudERlbGF5ZWROb3RpY2U7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG5jb25zdCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIgPSAnb2JzaWRpYW4tZGVtby12YXVsdHMnO1xuY29uc3QgQVJDSElWRVNfU1VCRk9MREVSID0gJ2FyY2hpdmVzJztcbmNvbnN0IEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSID0gJ2V4dHJhY3RlZCc7XG5jb25zdCBIVFRQX1NUQVRVU19PSyA9IDIwMDtcbi8vIE9uZSBkYXkgaW4gbWlsbGlzZWNvbmRzICgyNCAqIDYwICogNjAgKiAxMDAwKS5cbmNvbnN0IE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EUyA9IDg2XzQwMF8wMDA7XG5cbi8qKlxuICogRG93bmxvYWRzIGFuZCBvcGVucyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdCBpbiBhIG5ldyBPYnNpZGlhbiB3aW5kb3cuIERlc2t0b3Agb25seS5cbiAqXG4gKiBJZiB0aGUgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uIGlzIHRoZSBsYXRlc3QgKG9yIG5ld2VyKSwgaXRzIGRlbW8gdmF1bHQgb3BlbnMgZGlyZWN0bHk7IG90aGVyd2lzZVxuICogdGhlIHVzZXIgY2hvb3NlcyBiZXR3ZWVuIHRoZSBsYXRlc3QgYW5kIHRoZSBjdXJyZW50bHktaW5zdGFsbGVkIHZlcnNpb24uIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duXG4gKiBpbW1lZGlhdGVseS4gVGhlIGNob3NlbiB2ZXJzaW9uJ3MgYXJjaGl2ZSBpcyBkb3dubG9hZGVkIG9uY2UgKHRoZW4gcmV1c2VkIGZyb20gdGhlIGFyY2hpdmUgY2FjaGUpLFxuICogYnV0IGEgZnJlc2ggY29weSBpcyBleHRyYWN0ZWQgaW50byBpdHMgb3duIHRlbXBvcmFyeSBmb2xkZXIgb24gZXZlcnkgb3BlbiDigJQgdGhlIHZhdWx0IGlzIG5ldmVyIHJldXNlZFxuICogYWNyb3NzIHNlc3Npb25zLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIE9wZW5EZW1vVmF1bHRQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB2YXVsdCBoYXMgYmVlbiBvcGVuZWQsIG9yIG9uY2UgdGhlIG9wZXJhdGlvbiBoYXNcbiAqIGJlZW4gcmVwb3J0ZWQgYXMgbm90IHBvc3NpYmxlIChub3RpY2Ugc2hvd24pIG9yIGNhbmNlbGxlZCBieSB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EZW1vVmF1bHQocGFyYW1zOiBPcGVuRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcGx1Z2luVmVyc2lvblxuICB9ID0gcGFyYW1zO1xuXG4gIC8vIFNob3duIGltbWVkaWF0ZWx5IChgZGVsYXlJbk1pbGxpc2Vjb25kczogMGApOiByZXNvbHZpbmcgdGhlIHJlbGVhc2UsIGRvd25sb2FkaW5nIGFuZCBleHRyYWN0aW5nIGNhblxuICAvLyBlYWNoIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWUgcHJvZ3Jlc3MgdGhlIG1vbWVudCB0aGUgY29tbWFuZCBpcyBpbnZva2VkLlxuICAvL1xuICAvLyBLZXB0IG91dCBvZiB0aGUgc2hhcmVkIHNsb3QgKGBTZXBhcmF0ZWApLCBiZWNhdXNlIHRoaXMgdmVyeSBmdW5jdGlvbiByYWlzZXMgb3JkaW5hcnkgbm90aWNlcyB3aGlsZVxuICAvLyB0aGUgb3BlcmF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcg4oCUIFwibm90IGluIHRoZSByZWdpc3RyeVwiLCBcIm5vIGRlbW8gdmF1bHQgZm9yIHRoaXMgdmVyc2lvblwiIOKAlCBhbmQgYVxuICAvLyBzbG90IG5vdGljZSB3b3VsZCBoaWRlIHRoZSBwcm9ncmVzcyBub3RpY2UgcmF0aGVyIHRoYW4gYXBwZWFyIGJlc2lkZSBpdC5cbiAgdXNpbmcgcHJvZ3Jlc3NOb3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZUFmdGVyRGVsYXkoe1xuICAgIGNvbnRlbnQ6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE9wZW5pbmcgZGVtbyB2YXVsdCBmb3IgJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX3igKZgKSxcbiAgICBkZWxheUluTWlsbGlzZWNvbmRzOiAwLFxuICAgIG1vZGU6IFBsdWdpbk5vdGljZU1vZGUuU2VwYXJhdGVcbiAgfSk7XG5cbiAgY29uc3QgcmVwbyA9IGF3YWl0IGdldENvbW11bml0eVBsdWdpblJlcG8ocGx1Z2luSWQpO1xuICBpZiAoIXJlcG8pIHtcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBDb3VsZCBub3QgZmluZCBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gaW4gdGhlIGNvbW11bml0eSBwbHVnaW5zIHJlZ2lzdHJ5LmApKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBsdWdpblZlcnNpb247XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RSZWxlYXNlVmVyc2lvbihyZXBvKTtcblxuICBsZXQgdmVyc2lvblRvT3Blbjogc3RyaW5nO1xuICBpZiAoY29tcGFyZVZlcnNpb25zKGN1cnJlbnRWZXJzaW9uLCBsYXRlc3RWZXJzaW9uKSA+PSAwKSB7XG4gICAgdmVyc2lvblRvT3BlbiA9IGN1cnJlbnRWZXJzaW9uO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNob3NlblZlcnNpb24gPSBhd2FpdCBzZWxlY3RPcHRpb248bnVsbCB8IHN0cmluZz4oe1xuICAgICAgYXBwLFxuICAgICAgbWVzc2FnZTogY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2NrcyhgQ3VycmVudCB2ZXJzaW9uIG9mIHBsdWdpbiAke2FzQ29kZUJsb2NrKHBsdWdpbk5hbWUpfSB2JHtjdXJyZW50VmVyc2lvbn0gaXMgbm90IHRoZSBsYXRlc3QgKHYke2xhdGVzdFZlcnNpb259KWApLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaXNDdGE6IHRydWUsXG4gICAgICAgICAgdGV4dDogYE9wZW4gZGVtbyB2YXVsdCBmb3IgbGF0ZXN0IHZlcnNpb24gKHYke2xhdGVzdFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGxhdGVzdFZlcnNpb25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGBPcGVuIGRlbW8gdmF1bHQgZm9yIGN1cnJlbnQgdmVyc2lvbiAodiR7Y3VycmVudFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdGl0bGU6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYXNDb2RlQmxvY2socGx1Z2luTmFtZSkpXG4gICAgfSk7XG4gICAgaWYgKGNob3NlblZlcnNpb24gPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmVyc2lvblRvT3BlbiA9IGNob3NlblZlcnNpb247XG4gIH1cblxuICBjb25zdCBhcmNoaXZlID0gYXdhaXQgcmVzb2x2ZURlbW9WYXVsdEFyY2hpdmUoe1xuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHByb2dyZXNzTm90aWNlLFxuICAgIHJlcG8sXG4gICAgdmVyc2lvbjogdmVyc2lvblRvT3BlblxuICB9KTtcbiAgaWYgKCFhcmNoaXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvZ3Jlc3NOb3RpY2Uuc2V0Q29udGVudChjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBFeHRyYWN0aW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb25Ub09wZW594oCmYCkpO1xuICBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTtcbiAgY29uc3QgdmF1bHREaXJlY3RvcnkgPSBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcih7XG4gICAgYXJjaGl2ZSxcbiAgICBwbHVnaW5JZCxcbiAgICB2ZXJzaW9uOiB2ZXJzaW9uVG9PcGVuXG4gIH0pO1xuXG4gIHdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5zZW5kU3luYygndmF1bHQtb3BlbicsIHZhdWx0RGlyZWN0b3J5LCBmYWxzZSk7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBleHRyYWN0ZWQgZGVtby12YXVsdCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tIGVhcmxpZXIgc2Vzc2lvbnMgKGJlc3QtZWZmb3J0KS5cbiAqXG4gKiBFdmVyeSBvcGVuIGV4dHJhY3RzIGEgZnJlc2ggY29weSBpbnRvIGl0cyBvd24gZm9sZGVyIGFuZCBuZXZlciBkZWxldGVzIGl0IGFmdGVyd2FyZHMgKHRoZSB2YXVsdCBzdGF5c1xuICogb3BlbiBpbiBpdHMgd2luZG93KSwgc28gdGhlc2UgYWNjdW11bGF0ZS4gVGhpcyBkcm9wcyBmb2xkZXJzIG9sZGVyIHRoYW5cbiAqIHtAbGluayBPUlBIQU5FRF9FWFRSQUNURURfVkFVTFRfTUFYX0FHRV9JTl9NSUxMSVNFQ09ORFN9LiBBIGZvbGRlciB3aG9zZSB2YXVsdCBpcyBzdGlsbCBvcGVuIGluIGFub3RoZXJcbiAqIHdpbmRvdyBpcyBsb2NrZWQgb24gV2luZG93cyBhbmQgY2Fubm90IGJlIHJlbW92ZWQg4oCUIHRoZSByZW1vdmFsIGlzIHdyYXBwZWQgc28gc3VjaCBhIGZvbGRlciBpcyBzaW1wbHlcbiAqIHNraXBwZWQgYW5kIHJldHJpZWQgb24gYSBsYXRlciBvcGVuLlxuICovXG5mdW5jdGlvbiBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTogdm9pZCB7XG4gIGNvbnN0IGV4dHJhY3RlZFZhdWx0c1Jvb3QgPSBqb2luKHRtcGRpcigpLCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIsIEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSKTtcbiAgaWYgKCFleGlzdHNTeW5jKGV4dHJhY3RlZFZhdWx0c1Jvb3QpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgZm9yIChjb25zdCBlbnRyeU5hbWUgb2YgcmVhZGRpclN5bmMoZXh0cmFjdGVkVmF1bHRzUm9vdCkpIHtcbiAgICBjb25zdCBlbnRyeVBhdGggPSBqb2luKGV4dHJhY3RlZFZhdWx0c1Jvb3QsIGVudHJ5TmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRzID0gc3RhdFN5bmMoZW50cnlQYXRoKTtcbiAgICAgIGlmIChub3cgLSBzdGF0cy5tdGltZU1zIDwgT1JQSEFORURfRVhUUkFDVEVEX1ZBVUxUX01BWF9BR0VfSU5fTUlMTElTRUNPTkRTKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcm1TeW5jKGVudHJ5UGF0aCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gQmVzdC1lZmZvcnQgY2xlYW51cDogYW4gb3JwaGFuIHdob3NlIHZhdWx0IGlzIHN0aWxsIG9wZW4gKGxvY2tlZCBvbiBXaW5kb3dzKSBjYW5ub3QgYmUgcmVtb3ZlZDsgc2tpcCBpdCBhbmQgcmV0cnkgb24gYSBsYXRlciBvcGVuLlxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgZG93bmxvYWRlZCBkZW1vLXZhdWx0IGFyY2hpdmUgdG8gZGlzay5cbiAqXG4gKiBFeHRyYWN0aW9uIGlzIHdyaXR0ZW4gd2l0aCBFbGVjdHJvbidzIGBvcmlnaW5hbC1mc2Ag4oCUIHRoZSByZWFsIGBmc2Agd2l0aCBhc2FyIGludGVyY2VwdGlvbiBkaXNhYmxlZCDigJRcbiAqIHJhdGhlciB0aGFuIHdpdGggYG5vZGU6ZnNgLiBBIGRlbW8gdmF1bHQgbWF5IHNoaXAgYSBmaWxlIHRoYXQgbWVyZWx5IExPT0tTIGxpa2UgYW4gRWxlY3Ryb24gYXJjaGl2ZVxuICogKGUuZy4gYF9hc3NldHMvQ29kZVNjcmlwdFRvb2xraXQvbW9kdWxlLmFzYXJgIGRlbW9uc3RyYXRpbmcgdGhlIEFTQVIgcmVxdWlyZSBmZWF0dXJlKSwgYW5kIEVsZWN0cm9uJ3NcbiAqIGFzYXIgbGF5ZXIgaW50ZXJjZXB0cyBgZnNgIG9wZXJhdGlvbnMgb24gYW55IHBhdGggY29udGFpbmluZyBgLmFzYXJgLCB0cmVhdGluZyBpdCBhcyBhbiBhcmNoaXZlIHJvb3RcbiAqIHJhdGhlciB0aGFuIGEgcGxhaW4gZmlsZS4gVGhhdCBhbHJlYWR5IGNvc3Qgb25lIHByb2R1Y3Rpb24gYnVnIHdoZW4gdGhlIGV4dHJhY3RvciBgY2htb2RgLWVkIHN1Y2ggYVxuICogZmlsZSBhbmQgZ290IGBFTk9FTlRgOyBub3RoaW5nIGBjaG1vZGBzIGFueSBtb3JlLCBidXQgd3JpdGluZyB0aG9zZSBieXRlcyB0aHJvdWdoIHRoZSBjb3B5IHRoYXQgaGFzIG5vXG4gKiBhc2FyIGxheWVyIGNvc3RzIG5vdGhpbmcgYW5kIGtlZXBzIHRoZSB3aG9sZSBjbGFzcyBvZiBmYWlsdXJlIG9mZiB0aGlzIHBhdGguIGBvcmlnaW5hbC1mc2AgaXMgYSBkZXNrdG9wLW9ubHlcbiAqIEVsZWN0cm9uIG1vZHVsZSB3aXRoIG5vIGJ1bmRsZWQgdHlwZXMsIHNvIGl0IGlzIGxvYWRlZCB2aWEgYHdpbmRvdy5yZXF1aXJlYCBhbmQgdHlwZWQgYXMgYG5vZGU6ZnNgJ3NcbiAqIHNoYXBlLlxuICpcbiAqIEBwYXJhbSBhcmNoaXZlIC0gVGhlIHJhdyB6aXAgYXJjaGl2ZSBieXRlcy5cbiAqIEBwYXJhbSB0YXJnZXREaXJlY3RvcnkgLSBUaGUgZGlyZWN0b3J5IHRvIGV4dHJhY3QgaW50by5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlbW9WYXVsdEFyY2hpdmUoYXJjaGl2ZTogQnVmZmVyLCB0YXJnZXREaXJlY3Rvcnk6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBvcmlnaW5hbEZzID0gd2luZG93LnJlcXVpcmUoJ25vZGU6b3JpZ2luYWwtZnMnKSBhcyB0eXBlb2YgaW1wb3J0KCdub2RlOmZzJyk7XG4gIGV4dHJhY3RaaXBBcmNoaXZlKHtcbiAgICBhcmNoaXZlLFxuICAgIGZpbGVTeXN0ZW06IG9yaWdpbmFsRnMsXG4gICAgdGFyZ2V0RGlyZWN0b3J5XG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBhcmNoaXZlIGludG8gYSBmcmVzaCwgdW5pcXVlbHktbmFtZWQgdGVtcG9yYXJ5IGZvbGRlciBhbmQgcmV0dXJucyB0aGUgdmF1bHQgcGF0aC5cbiAqXG4gKiBBIHVuaXF1ZSBwYXJlbnQgZm9sZGVyIChgbWtkdGVtcFN5bmNgKSBndWFyYW50ZWVzIGEgYnJhbmQtbmV3IGV4dHJhY3Rpb24gZXZlcnkgdGltZSDigJQgdGhlIGRlbW8gdmF1bHRcbiAqIGlzIG5ldmVyIHJldXNlZCBhY3Jvc3Mgb3BlbnMsIHNvIGEgcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW4uIFRoZSBhcmNoaXZlIGlzIGV4dHJhY3RlZFxuICogaW50byB0aGF0IHBhcmVudCBhbmQgdGhlIHZhdWx0IGlzIHRoZSBzaW5nbGUgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQtPHZlcnNpb24+YCBmb2xkZXIgaXQgY29udGFpbnMsIHNvXG4gKiBPYnNpZGlhbidzIHZhdWx0IHN3aXRjaGVyIHNob3dzIGEgZnJpZW5kbHkgbmFtZSAoaXRzIGJhc2VuYW1lKSByYXRoZXIgdGhhbiB0aGUgcmFuZG9tIHRlbXAgaWQuXG4gKlxuICogVGhhdCBmb2xkZXIgaXMgbm90IHNlYXJjaGVkIGZvcjoge0BsaW5rIGdldERlbW9WYXVsdEZvbGRlck5hbWV9IG5hbWVzIGl0IG9uIGJvdGggc2lkZXMsIHNvIHRoZSBwYXRoIGlzXG4gKiBrbm93biBiZWZvcmUgYSBieXRlIGlzIHdyaXR0ZW4uIFdoaWNoIGtlZXBzIHRoZSBleHRyYWN0b3IgZnJlZSBvZiBhbnkgcmVhZCDigJQgZGVsaWJlcmF0ZSwgYmVjYXVzZVxuICogRWxlY3Ryb24ncyBhc2FyIGxheWVyIGludGVyY2VwdHMgYGZzYCByZWFkcyBvbiBhbnkgcGF0aCBjb250YWluaW5nIGAuYXNhcmAsIGFuZCBhIGRlbW8gdmF1bHQgbWF5XG4gKiBsZWdpdGltYXRlbHkgc2hpcCBzdWNoIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBFeHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlclBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZnJlc2hseSBleHRyYWN0ZWQgdmF1bHQgZm9sZGVyLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcihwYXJhbXM6IEV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBhcmNoaXZlLCBwbHVnaW5JZCwgdmVyc2lvbiB9ID0gcGFyYW1zO1xuICBjb25zdCBleHRyYWN0ZWRWYXVsdHNSb290ID0gam9pbih0bXBkaXIoKSwgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSLCBFWFRSQUNURURfVkFVTFRTX1NVQkZPTERFUik7XG4gIG1rZGlyU3luYyhleHRyYWN0ZWRWYXVsdHNSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgdW5pcXVlUGFyZW50RGlyZWN0b3J5ID0gbWtkdGVtcFN5bmMoam9pbihleHRyYWN0ZWRWYXVsdHNSb290LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS1gKSk7XG4gIGV4dHJhY3REZW1vVmF1bHRBcmNoaXZlKGFyY2hpdmUsIHVuaXF1ZVBhcmVudERpcmVjdG9yeSk7XG4gIHJldHVybiBqb2luKFxuICAgIHVuaXF1ZVBhcmVudERpcmVjdG9yeSxcbiAgICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lKHtcbiAgICAgIHBsdWdpbklkLFxuICAgICAgdmVyc2lvblxuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlbW8tdmF1bHQgYXJjaGl2ZSBieXRlcyBmb3IgYSB2ZXJzaW9uLCBkb3dubG9hZGluZyBhbmQgY2FjaGluZyB0aGVtIG9uIGZpcnN0IHVzZS5cbiAqXG4gKiBPbmx5IHRoZSBhcmNoaXZlIGlzIGNhY2hlZCAoa2V5ZWQgYnkgcGx1Z2luIGlkICsgdmVyc2lvbik7IHRoZSBleHRyYWN0ZWQgdmF1bHQgaXMgbm90LiBBIGNhY2hlIGhpdCBpc1xuICogcmV0dXJuZWQgd2l0aG91dCBhbnkgbmV0d29yayByZXF1ZXN0OyBhIG1pc3MgZG93bmxvYWRzIHRoZSByZWxlYXNlIGFzc2V0LCB3cml0ZXMgaXQgdG8gdGhlIGFyY2hpdmVcbiAqIGNhY2hlLCBhbmQgcmV0dXJucyB0aGUgZnJlc2hseSBkb3dubG9hZGVkIGJ5dGVzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgYXJjaGl2ZSBieXRlcywgb3IgYG51bGxgIHdoZW4gbm8gYXJjaGl2ZSBpcyBhdmFpbGFibGUgZm9yXG4gKiB0aGUgdmVyc2lvbiAoYSBub3RpY2UgaGFzIGJlZW4gc2hvd24pLlxuICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZShwYXJhbXM6IFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zKTogUHJvbWlzZTxCdWZmZXIgfCBudWxsPiB7XG4gIGNvbnN0IHtcbiAgICBwbHVnaW5JZCxcbiAgICBwbHVnaW5OYW1lLFxuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICBwcm9ncmVzc05vdGljZSxcbiAgICByZXBvLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBhcmNoaXZlc0RpcmVjdG9yeSA9IGpvaW4odG1wZGlyKCksIERFTU9fVkFVTFRTX0NBQ0hFX0ZPTERFUiwgQVJDSElWRVNfU1VCRk9MREVSKTtcbiAgY29uc3QgYXJjaGl2ZVBhdGggPSBqb2luKGFyY2hpdmVzRGlyZWN0b3J5LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS56aXBgKTtcbiAgaWYgKGV4aXN0c1N5bmMoYXJjaGl2ZVBhdGgpKSB7XG4gICAgcmV0dXJuIHJlYWRGaWxlU3luYyhhcmNoaXZlUGF0aCk7XG4gIH1cblxuICBwcm9ncmVzc05vdGljZS5zZXRDb250ZW50KGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYERvd25sb2FkaW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb2594oCmYCkpO1xuICBjb25zdCBhc3NldFVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vJHtyZXBvfS9yZWxlYXNlcy9kb3dubG9hZC8ke3ZlcnNpb259LyR7Z2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkKX1gO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoe1xuICAgIHRocm93OiBmYWxzZSxcbiAgICB1cmw6IGFzc2V0VXJsXG4gIH0pO1xuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSBIVFRQX1NUQVRVU19PSykge1xuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE5vIGRlbW8gdmF1bHQgaXMgYXZhaWxhYmxlIGZvciBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gdiR7dmVyc2lvbn0uYCkpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXJjaGl2ZSA9IEJ1ZmZlci5mcm9tKHJlc3BvbnNlLmFycmF5QnVmZmVyKTtcbiAgbWtkaXJTeW5jKGFyY2hpdmVzRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgd3JpdGVGaWxlU3luYyhhcmNoaXZlUGF0aCwgYXJjaGl2ZSk7XG4gIHJldHVybiBhcmNoaXZlO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQ0EsbUNBQWtDO0FBQ2xDLGtCQUFxQjtBQUNyQiw4QkFBZ0M7QUFDaEMseUJBQXVCO0FBQ3ZCLHFCQVNPO0FBQ1AscUJBQXVCO0FBQ3ZCLHNCQUEyQjtBQU8zQiwrQkFHTztBQUNQLHFDQUFpQztBQUNqQywrQkFHTztBQUNQLDBCQUdPO0FBQ1AsMkJBQTZCO0FBaUQ3QixNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLHFCQUFxQjtBQUMzQixNQUFNLDZCQUE2QjtBQUNuQyxNQUFNLGlCQUFpQjtBQUV2QixNQUFNLG1EQUFtRDtBQWV6RCxlQUFzQixjQUFjLFFBQTRDO0FBZTlFO0FBQUE7QUFkQSxVQUFNO0FBQUEsTUFDSjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNGLElBQUk7QUFRSixVQUFNLGlCQUFpQixzQ0FBc0IscUJBQXFCO0FBQUEsTUFDaEUsYUFBUyxrREFBNkIsOEJBQTBCLGlDQUFZLFVBQVUsQ0FB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
|