obsidian-dev-utils 66.0.1 → 67.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/dev/main.js +71 -103
  3. package/dist/lib/cjs/async-events.cjs +10 -20
  4. package/dist/lib/cjs/async-events.d.cts +0 -16
  5. package/dist/lib/cjs/async.cjs +2 -2
  6. package/dist/lib/cjs/library.cjs +1 -1
  7. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +2 -4
  8. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +1 -1
  9. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +2 -3
  10. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +2 -2
  11. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +3 -3
  12. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +2 -1
  13. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +2 -3
  14. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +1 -1
  15. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +1 -6
  16. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +1 -6
  17. package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +1 -2
  18. package/dist/lib/cjs/obsidian/components/async-component.cjs +8 -7
  19. package/dist/lib/cjs/obsidian/components/async-component.d.cts +1 -1
  20. package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +1 -2
  21. package/dist/lib/cjs/obsidian/components/i18n-component.cjs +2 -3
  22. package/dist/lib/cjs/obsidian/components/i18n-component.d.cts +2 -2
  23. package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +8 -2
  24. package/dist/lib/cjs/obsidian/components/layout-ready-component.d.cts +2 -2
  25. package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +1 -2
  26. package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +24 -23
  27. package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +22 -12
  28. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +1 -2
  29. package/dist/lib/cjs/obsidian/modals/alert.cjs +1 -3
  30. package/dist/lib/cjs/obsidian/modals/confirm.cjs +1 -3
  31. package/dist/lib/cjs/obsidian/modals/prompt.cjs +1 -3
  32. package/dist/lib/cjs/obsidian/modals/select-item.cjs +1 -2
  33. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +3 -3
  34. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +2 -2
  35. package/dist/lib/cjs/obsidian/queue.cjs +2 -2
  36. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +1 -1
  37. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +1 -2
  38. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +4 -2
  39. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +4 -3
  40. package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +1 -2
  41. package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +1 -2
  42. package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +1 -3
  43. package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +1 -2
  44. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +4 -2
  45. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +4 -3
  46. package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +1 -2
  47. package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +1 -3
  48. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +4 -2
  49. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +4 -3
  50. package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +1 -2
  51. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +1 -1
  52. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +1 -2
  53. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +2 -2
  54. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +2 -3
  55. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +4 -2
  56. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +4 -3
  57. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +4 -2
  58. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +1 -2
  59. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.cjs +1 -1
  60. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.d.cts +1 -2
  61. package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +1 -2
  62. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +7 -2
  63. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +7 -1
  64. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.d.cts +2 -0
  65. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +5 -1
  66. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +184 -0
  67. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -0
  68. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +242 -0
  69. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +5 -0
  70. package/dist/lib/cjs/transformers/group-transformer.cjs +1 -3
  71. package/dist/lib/esm/async-events.d.mts +0 -16
  72. package/dist/lib/esm/async-events.mjs +10 -20
  73. package/dist/lib/esm/async.mjs +6 -3
  74. package/dist/lib/esm/library.mjs +1 -1
  75. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +1 -1
  76. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +2 -4
  77. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +2 -2
  78. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +3 -4
  79. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +2 -1
  80. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +4 -4
  81. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +1 -1
  82. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +2 -3
  83. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +1 -6
  84. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +1 -6
  85. package/dist/lib/esm/obsidian/components/abort-signal-component.mjs +1 -2
  86. package/dist/lib/esm/obsidian/components/async-component.d.mts +1 -1
  87. package/dist/lib/esm/obsidian/components/async-component.mjs +7 -6
  88. package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +1 -2
  89. package/dist/lib/esm/obsidian/components/i18n-component.d.mts +2 -2
  90. package/dist/lib/esm/obsidian/components/i18n-component.mjs +3 -4
  91. package/dist/lib/esm/obsidian/components/layout-ready-component.d.mts +2 -2
  92. package/dist/lib/esm/obsidian/components/layout-ready-component.mjs +8 -2
  93. package/dist/lib/esm/obsidian/components/plugin-context-component.mjs +1 -2
  94. package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +22 -12
  95. package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +25 -24
  96. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.mjs +1 -2
  97. package/dist/lib/esm/obsidian/modals/alert.mjs +1 -3
  98. package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -3
  99. package/dist/lib/esm/obsidian/modals/prompt.mjs +1 -3
  100. package/dist/lib/esm/obsidian/modals/select-item.mjs +1 -2
  101. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +3 -3
  102. package/dist/lib/esm/obsidian/plugin/plugin.mjs +2 -2
  103. package/dist/lib/esm/obsidian/queue.mjs +6 -3
  104. package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +1 -2
  105. package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +1 -1
  106. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +4 -3
  107. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +4 -2
  108. package/dist/lib/esm/obsidian/setting-components/date-component.mjs +1 -2
  109. package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +1 -2
  110. package/dist/lib/esm/obsidian/setting-components/file-component.mjs +1 -3
  111. package/dist/lib/esm/obsidian/setting-components/month-component.mjs +1 -2
  112. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +4 -3
  113. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +4 -2
  114. package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +1 -2
  115. package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +1 -3
  116. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +4 -3
  117. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +4 -2
  118. package/dist/lib/esm/obsidian/setting-components/time-component.mjs +1 -2
  119. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +1 -2
  120. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +1 -1
  121. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +2 -3
  122. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +2 -2
  123. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +4 -3
  124. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +4 -2
  125. package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +1 -2
  126. package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +4 -2
  127. package/dist/lib/esm/obsidian/setting-components/value-component-with-change-tracking.d.mts +1 -2
  128. package/dist/lib/esm/obsidian/setting-components/week-component.mjs +1 -2
  129. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +7 -2
  130. package/dist/lib/esm/script-utils/linters/eslint-rules/index.d.mts +2 -0
  131. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +5 -1
  132. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +5 -1
  133. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -0
  134. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +75 -0
  135. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +5 -0
  136. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +131 -0
  137. package/dist/lib/esm/transformers/group-transformer.mjs +1 -3
  138. package/package.json +2 -2
  139. package/script-utils/linters/eslint-rules/prefer-noop-async/package.json +6 -0
  140. package/script-utils/linters/eslint-rules/require-component-suffix/package.json +6 -0
@@ -247,7 +247,7 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
247
247
  updateValidatorEl();
248
248
  });
249
249
  }, UPDATE_VALIDATOR_EL_TIMEOUT_IN_MILLISECONDS);
250
- valueComponent.onChange(async (uiValue) => {
250
+ valueComponent.onChange((0, import_async.convertAsyncToSync)(async (uiValue) => {
251
251
  if (shouldSkipOnChange) {
252
252
  shouldSkipOnChange = false;
253
253
  return;
@@ -279,7 +279,7 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
279
279
  await optionsExt.onChanged(newValue, oldValue);
280
280
  }
281
281
  this.saveSettingsDebounced();
282
- });
282
+ }));
283
283
  validatorEl?.addEventListener("focus", () => {
284
284
  updateValidatorElDebounced();
285
285
  });
@@ -409,4 +409,4 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
409
409
  PluginSettingsTabBase,
410
410
  SAVE_TO_FILE_CONTEXT
411
411
  });
412
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtdGFiLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5nIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBJdCBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kIHRvIGJpbmQgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsZSBjaGFuZ2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRGVib3VuY2VyLFxuICBQbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUge1xuICBDb25kaXRpb25hbEtleXMsXG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBkZWJvdW5jZSxcbiAgUGx1Z2luU2V0dGluZ1RhYixcbiAgc2V0VG9vbHRpcFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgQXN5bmNFdmVudFJlZiB9IGZyb20gJy4uLy4uL2FzeW5jLWV2ZW50cy50cyc7XG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNQcm9taXNhYmxlVm9pZEZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHR5cGUgeyBTdHJpbmdLZXlzIH0gZnJvbSAnLi4vLi4vdHlwZS50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSxcbiAgUmVhZG9ubHlQbHVnaW5TZXR0aW5ncyxcbiAgUmVhZG9ubHlQbHVnaW5TZXR0aW5nc1N0YXRlXG59IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi4vc2V0dGluZy1jb21wb25lbnRzL3ZhbHVlLWNvbXBvbmVudC13aXRoLWNoYW5nZS10cmFja2luZy50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcbn0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHtcbiAgbm9vcCxcbiAgbm9vcEFzeW5jXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJy4uLy4uL29iamVjdC11dGlscy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IEFzeW5jRXZlbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IGVuc3VyZVdyYXBwZWQgfSBmcm9tICcuLi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5pbXBvcnQgeyBnZXRUZXh0QmFzZWRDb21wb25lbnRWYWx1ZSB9IGZyb20gJy4uL3NldHRpbmctY29tcG9uZW50cy90ZXh0LWJhc2VkLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9zZXR0aW5nLWNvbXBvbmVudHMvdmFsaWRhdG9yLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogQSBjb250ZXh0IHBhc3NlZCB0byB0aGUge0BsaW5rIFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZS5zYXZlVG9GaWxlfSBtZXRob2QuXG4gKi9cbmV4cG9ydCBjb25zdCBTQVZFX1RPX0ZJTEVfQ09OVEVYVCA9ICdQbHVnaW5TZXR0aW5nc1RhYic7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFBsdWdpblNldHRpbmdzVGFiQmFzZS5iaW5kYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgc2V0dGluZ3MgcHJvcGVydHkgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZE9wdGlvbnM8VD4ge1xuICAvKipcbiAgICogQSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZWQ/KG5ld1ZhbHVlOiBSZWFkb25seURlZXA8VD4sIG9sZFZhbHVlOiBSZWFkb25seURlZXA8VD4pOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlc2V0IHRoZSBzZXR0aW5nIHdoZW4gdGhlIGNvbXBvbmVudCB2YWx1ZSBpcyBlbXB0eS4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqIEFwcGxpY2FibGUgb25seSB0byB0ZXh0LWJhc2VkIGNvbXBvbmVudHMuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXNldFNldHRpbmdXaGVuQ29tcG9uZW50SXNFbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyB0aGUgcGxhY2Vob2xkZXIgZm9yIGRlZmF1bHQgdmFsdWVzLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICogQXBwbGljYWJsZSBvbmx5IHRvIHRleHQtYmFzZWQgY29tcG9uZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dQbGFjZWhvbGRlckZvckRlZmF1bHRWYWx1ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHZhbGlkYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgaW52YWxpZC4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIG9wdGlvbnMgZm9yIGBQbHVnaW5TZXR0aW5nc1RhYkJhc2UuYmluZGAuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBwbHVnaW4gc2V0dGluZ3MgdHlwZS5cbiAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZS5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHlOYW1lIC0gVGhlIHNldHRpbmdzIHByb3BlcnR5IG5hbWUgYmVpbmcgYm91bmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZE9wdGlvbnNFeHRlbmRlZDxcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QsXG4gIFVJVmFsdWUsXG4gIFByb3BlcnR5TmFtZSBleHRlbmRzIFN0cmluZ0tleXM8UGx1Z2luU2V0dGluZ3M+XG4+IGV4dGVuZHMgQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3NbUHJvcGVydHlOYW1lXT4ge1xuICAvKipcbiAgICogQ29udmVydHMgdGhlIFVJIGNvbXBvbmVudCdzIHZhbHVlIGJhY2sgdG8gdGhlIHBsdWdpbiBzZXR0aW5ncyB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyKHVpVmFsdWU6IFVJVmFsdWUpOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdIHwgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXI7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpblNldHRpbmdzVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIFVJIGNvbXBvbmVudC5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcihwbHVnaW5TZXR0aW5nc1ZhbHVlOiBSZWFkb25seURlZXA8UGx1Z2luU2V0dGluZ3NbUHJvcGVydHlOYW1lXT4pOiBVSVZhbHVlO1xufVxuXG4vKipcbiAqIFBhcmFtcyBmb3IgY3JlYXRpbmcgYSB7QGxpbmsgUGx1Z2luU2V0dGluZ3NUYWJCYXNlfS5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHBsdWdpbiBzZXR0aW5ncyB0eXBlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblNldHRpbmdzVGFiQmFzZUNvbnN0cnVjdG9yUGFyYW1zPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PiB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGluc3RhbmNlIChuZWVkZWQgYnkgT2JzaWRpYW4ncyBQbHVnaW5TZXR0aW5nVGFiKS5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGluZ3MgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luU2V0dGluZ3NDb21wb25lbnQ6IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZTxQbHVnaW5TZXR0aW5ncz47XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgcGx1Z2luIHNldHRpbmdzIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBQcm92aWRlcyBhIG1ldGhvZCBmb3IgYmluZGluZyB2YWx1ZSBjb21wb25lbnRzIHRvIHBsdWdpbiBzZXR0aW5ncyBhbmQgaGFuZGxpbmcgY2hhbmdlcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHBsdWdpbiBzZXR0aW5ncyB0eXBlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGx1Z2luU2V0dGluZ3NUYWJCYXNlPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcGx1Z2luIHNldHRpbmdzIHRhYiBpcyBvcGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiIGlzIG9wZW4uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzZXR0aW5ncyBtYW5hZ2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsdWdpblNldHRpbmdzQ29tcG9uZW50OiBQbHVnaW5TZXR0aW5nc0NvbXBvbmVudEJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuXG4gIC8qKlxuICAgKiBBIGRlYm91bmNlIHRpbWVvdXQgZm9yIHNhdmluZyBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlYm91bmNlIHRpbWVvdXQgZm9yIHNhdmluZyBzZXR0aW5ncy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgc2F2ZVNldHRpbmdzRGVib3VuY2VUaW1lb3V0SW5NaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCBERUZBVUxUID0gMl8wMDA7XG4gICAgcmV0dXJuIERFRkFVTFQ7XG4gIH1cblxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBhc3luY0V2ZW50c0NvbXBvbmVudDogQXN5bmNFdmVudHNDb21wb25lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVNldHRpbmdzRGVib3VuY2VkOiBEZWJvdW5jZXI8W10sIHZvaWQ+O1xuXG4gIHByaXZhdGUgZ2V0IHBsdWdpblNldHRpbmdzKCk6IFJlYWRvbmx5UGx1Z2luU2V0dGluZ3M8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5zZXR0aW5nc1N0YXRlLmlucHV0VmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbXMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQbHVnaW5TZXR0aW5nc1RhYkJhc2VDb25zdHJ1Y3RvclBhcmFtczxQbHVnaW5TZXR0aW5ncz4pIHtcbiAgICBzdXBlcihwYXJhbXMucGx1Z2luLmFwcCwgcGFyYW1zLnBsdWdpbik7XG4gICAgdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudCA9IHBhcmFtcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudDtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIENzc0NsYXNzLlBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB0aGlzLnNhdmVTZXR0aW5nc0RlYm91bmNlZCA9IGRlYm91bmNlKFxuICAgICAgY29udmVydEFzeW5jVG9TeW5jKCgpID0+IHRoaXMucGx1Z2luU2V0dGluZ3NDb21wb25lbnQuc2F2ZVRvRmlsZShTQVZFX1RPX0ZJTEVfQ09OVEVYVCkpLFxuICAgICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZVRpbWVvdXRJbk1pbGxpc2Vjb25kc1xuICAgICk7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudCA9IG5ldyBBc3luY0V2ZW50c0NvbXBvbmVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFRWYWx1ZUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGJpbmRpbmcgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBiaW5kPFxuICAgIFVJVmFsdWUsXG4gICAgVFZhbHVlQ29tcG9uZW50XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogQ29uZGl0aW9uYWxLZXlzPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPixcbiAgICBvcHRpb25zPzogQmluZE9wdGlvbnM8VUlWYWx1ZT5cbiAgKTogVFZhbHVlQ29tcG9uZW50O1xuICAvKipcbiAgICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBVSVZhbHVlIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEB0eXBlUGFyYW0gVFZhbHVlQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBQcm9wZXJ0eU5hbWUgLSBUaGUgcHJvcGVydHkgbmFtZSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgYmluZGluZyB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGJpbmQ8XG4gICAgVUlWYWx1ZSxcbiAgICBUVmFsdWVDb21wb25lbnQsXG4gICAgUHJvcGVydHlOYW1lIGV4dGVuZHMgU3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz5cbiAgPihcbiAgICB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50ICYgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmc8VUlWYWx1ZT4sXG4gICAgcHJvcGVydHlOYW1lOiBQcm9wZXJ0eU5hbWUsXG4gICAgb3B0aW9uczogQmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudCxcbiAgICBQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPFBsdWdpblNldHRpbmdzPlxuICA+KFxuICAgIHZhbHVlQ29tcG9uZW50OiBUVmFsdWVDb21wb25lbnQgJiBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPixcbiAgICBwcm9wZXJ0eU5hbWU6IFByb3BlcnR5TmFtZSxcbiAgICBvcHRpb25zPzogQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3NbUHJvcGVydHlOYW1lXT4gLy8gZXNsaW50LWRpc2FibGUtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBCaW5kT3B0aW9ucyBpcyBhIGdlbmVyaWMgdXRpbGl0eSBzaGFyZWQgYWNyb3NzIGJpbmRpbmcgbWV0aG9kcy5cbiAgKTogVFZhbHVlQ29tcG9uZW50IHtcbiAgICB0eXBlIFByb3BlcnR5VHlwZSA9IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5TmFtZV07XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxCaW5kT3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eU5hbWU+PiA9IHtcbiAgICAgIGNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcjogKHZhbHVlOiBVSVZhbHVlKTogUHJvcGVydHlUeXBlID0+IHZhbHVlIGFzIFByb3BlcnR5VHlwZSxcbiAgICAgIG9uQ2hhbmdlZDogbm9vcCxcbiAgICAgIHBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcjogKHZhbHVlOiBSZWFkb25seURlZXA8UHJvcGVydHlUeXBlPik6IFVJVmFsdWUgPT4gdmFsdWUgYXMgVUlWYWx1ZSxcbiAgICAgIHNob3VsZFJlc2V0U2V0dGluZ1doZW5Db21wb25lbnRJc0VtcHR5OiB0cnVlLFxuICAgICAgc2hvdWxkU2hvd1BsYWNlaG9sZGVyRm9yRGVmYXVsdFZhbHVlczogdHJ1ZSxcbiAgICAgIHNob3VsZFNob3dWYWxpZGF0aW9uTWVzc2FnZTogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdCBvcHRpb25zRXh0OiBSZXF1aXJlZDxCaW5kT3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eU5hbWU+PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBjb25zdCB2YWxpZGF0b3JFbCA9IGdldFZhbGlkYXRvckNvbXBvbmVudCh2YWx1ZUNvbXBvbmVudCk/LnZhbGlkYXRvckVsO1xuXG4gICAgY29uc3QgdGV4dEJhc2VkQ29tcG9uZW50ID0gZ2V0VGV4dEJhc2VkQ29tcG9uZW50VmFsdWUodmFsdWVDb21wb25lbnQpO1xuXG4gICAgY29uc3QgcmVhZG9ubHlWYWx1ZSA9IHRoaXMuZ2V0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eShwcm9wZXJ0eU5hbWUpO1xuICAgIGNvbnN0IGRlZmF1bHRzID0gdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5kZWZhdWx0U2V0dGluZ3MgYXMgUGx1Z2luU2V0dGluZ3M7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gZGVmYXVsdHNbcHJvcGVydHlOYW1lXTtcbiAgICBjb25zdCBkZWZhdWx0Q29tcG9uZW50VmFsdWUgPSBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcihkZWZhdWx0VmFsdWUgYXMgUmVhZG9ubHlEZWVwPFByb3BlcnR5VHlwZT4pO1xuICAgIHRleHRCYXNlZENvbXBvbmVudD8uc2V0UGxhY2Vob2xkZXJWYWx1ZShkZWZhdWx0Q29tcG9uZW50VmFsdWUpO1xuXG4gICAgbGV0IHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmc7XG4gICAgbGV0IHRvb2x0aXBFbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdG9vbHRpcENvbnRlbnRFbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAodmFsaWRhdG9yRWwpIHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBlbnN1cmVXcmFwcGVkKHZhbGlkYXRvckVsKTtcbiAgICAgIHRvb2x0aXBFbCA9IHdyYXBwZXIuY3JlYXRlRGl2KCk7XG4gICAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRvb2x0aXBFbCwgW0Nzc0NsYXNzLlRvb2x0aXAsIENzc0NsYXNzLlRvb2x0aXBWYWxpZGF0b3JdKTtcbiAgICAgIHRvb2x0aXBDb250ZW50RWwgPSB0b29sdGlwRWwuY3JlYXRlU3BhbigpO1xuICAgICAgY29uc3QgdG9vbHRpcEFycm93RWwgPSB0b29sdGlwRWwuY3JlYXRlRGl2KCk7XG4gICAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRvb2x0aXBBcnJvd0VsLCBDc3NDbGFzcy5Ub29sdGlwQXJyb3cpO1xuICAgICAgdG9vbHRpcEVsLmhpZGUoKTtcbiAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQodG9vbHRpcEVsKTtcbiAgICB9XG5cbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLm9uKCd2YWxpZGF0aW9uTWVzc2FnZUNoYW5nZWQnLCAoYW5vdGhlclByb3BlcnR5TmFtZSwgYW5vdGhlclZhbGlkYXRpb25NZXNzYWdlKSA9PiB7XG4gICAgICBpZiAocHJvcGVydHlOYW1lICE9PSBhbm90aGVyUHJvcGVydHlOYW1lKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSBhbm90aGVyVmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB1cGRhdGVWYWxpZGF0b3JFbERlYm91bmNlZCgpO1xuICAgIH0pKTtcblxuICAgIGxldCBzaG91bGRFbXB0eU9uQmx1ciA9IGZhbHNlO1xuICAgIGxldCBzaG91bGRSZXZlcnRUb0RlZmF1bHRWYWx1ZU9uQmx1ciA9IGZhbHNlO1xuXG4gICAgaWYgKHRleHRCYXNlZENvbXBvbmVudCAmJiBvcHRpb25zRXh0LnNob3VsZFNob3dQbGFjZWhvbGRlckZvckRlZmF1bHRWYWx1ZXMgJiYgZGVlcEVxdWFsKHJlYWRvbmx5VmFsdWUsIGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHRleHRCYXNlZENvbXBvbmVudC5lbXB0eSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZUNvbXBvbmVudC5zZXRWYWx1ZShvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcihyZWFkb25seVZhbHVlKSk7XG4gICAgfVxuXG4gICAgbGV0IHNob3VsZFNraXBPbkNoYW5nZSA9IGZhbHNlO1xuICAgIGNvbnN0IFVQREFURV9WQUxJREFUT1JfRUxfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSAxMDA7XG4gICAgY29uc3QgdXBkYXRlVmFsaWRhdG9yRWxEZWJvdW5jZWQgPSBkZWJvdW5jZSgoKSA9PiB7XG4gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdXBkYXRlVmFsaWRhdG9yRWwoKTtcbiAgICAgIH0pO1xuICAgIH0sIFVQREFURV9WQUxJREFUT1JfRUxfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMpO1xuXG4gICAgdmFsdWVDb21wb25lbnQub25DaGFuZ2UoYXN5bmMgKHVpVmFsdWUpID0+IHtcbiAgICAgIGlmIChzaG91bGRTa2lwT25DaGFuZ2UpIHtcbiAgICAgICAgc2hvdWxkU2tpcE9uQ2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2hvdWxkRW1wdHlPbkJsdXIgPSBmYWxzZTtcblxuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdldFBsdWdpblNldHRpbmdzUHJvcGVydHkocHJvcGVydHlOYW1lKTtcbiAgICAgIGxldCBuZXdWYWx1ZTogUHJvcGVydHlUeXBlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IHNob3VsZFNldFByb3BlcnR5ID0gdHJ1ZTtcbiAgICAgIHNob3VsZFJldmVydFRvRGVmYXVsdFZhbHVlT25CbHVyID0gISF0ZXh0QmFzZWRDb21wb25lbnQ/LmlzRW1wdHkoKSAmJiBvcHRpb25zRXh0LnNob3VsZFJlc2V0U2V0dGluZ1doZW5Db21wb25lbnRJc0VtcHR5O1xuICAgICAgaWYgKHNob3VsZFJldmVydFRvRGVmYXVsdFZhbHVlT25CbHVyKSB7XG4gICAgICAgIG5ld1ZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBvcHRpb25zRXh0LmNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcih1aVZhbHVlKTtcbiAgICAgICAgaWYgKGlzVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIoY29udmVydGVkVmFsdWUpKSB7XG4gICAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSBjb252ZXJ0ZWRWYWx1ZS52YWxpZGF0aW9uTWVzc2FnZTtcbiAgICAgICAgICBzaG91bGRTZXRQcm9wZXJ0eSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld1ZhbHVlID0gY29udmVydGVkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFNldFByb3BlcnR5KSB7XG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlID0gYXdhaXQgdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5zZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIG5ld1ZhbHVlIGFzIFBsdWdpblNldHRpbmdzW1Byb3BlcnR5TmFtZV0pO1xuICAgICAgICBpZiAodGV4dEJhc2VkQ29tcG9uZW50ICYmIG9wdGlvbnNFeHQuc2hvdWxkU2hvd1BsYWNlaG9sZGVyRm9yRGVmYXVsdFZhbHVlcyAmJiAhdGV4dEJhc2VkQ29tcG9uZW50LmlzRW1wdHkoKSAmJiBkZWVwRXF1YWwobmV3VmFsdWUsIGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgICAgICBzaG91bGRFbXB0eU9uQmx1ciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlVmFsaWRhdG9yRWxEZWJvdW5jZWQoKTtcbiAgICAgIGlmIChzaG91bGRTZXRQcm9wZXJ0eSkge1xuICAgICAgICBhd2FpdCBvcHRpb25zRXh0Lm9uQ2hhbmdlZChuZXdWYWx1ZSBhcyBSZWFkb25seURlZXA8UHJvcGVydHlUeXBlPiwgb2xkVmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZWQoKTtcbiAgICB9KTtcblxuICAgIHZhbGlkYXRvckVsPy5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcbiAgICAgIHVwZGF0ZVZhbGlkYXRvckVsRGVib3VuY2VkKCk7XG4gICAgfSk7XG4gICAgdmFsaWRhdG9yRWw/LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB7XG4gICAgICB1cGRhdGVWYWxpZGF0b3JFbERlYm91bmNlZCgpO1xuICAgIH0pO1xuICAgIHZhbGlkYXRvckVsPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB1cGRhdGVWYWxpZGF0b3JFbERlYm91bmNlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZXMgPSB0aGlzLnBsdWdpblNldHRpbmdzQ29tcG9uZW50LnNldHRpbmdzU3RhdGUudmFsaWRhdGlvbk1lc3NhZ2VzIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSB2YWxpZGF0aW9uTWVzc2FnZXNbcHJvcGVydHlOYW1lXSA/PyAnJztcbiAgICB1cGRhdGVWYWxpZGF0b3JFbERlYm91bmNlZCgpO1xuXG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50O1xuXG4gICAgZnVuY3Rpb24gdXBkYXRlVmFsaWRhdG9yRWwoKTogdm9pZCB7XG4gICAgICBpZiAoIXZhbGlkYXRvckVsPy5pc0FjdGl2ZUVsZW1lbnQoKSkge1xuICAgICAgICBpZiAoc2hvdWxkRW1wdHlPbkJsdXIpIHtcbiAgICAgICAgICBzaG91bGRFbXB0eU9uQmx1ciA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKCF0ZXh0QmFzZWRDb21wb25lbnQ/LmlzRW1wdHkoKSkge1xuICAgICAgICAgICAgc2hvdWxkU2tpcE9uQ2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRleHRCYXNlZENvbXBvbmVudD8uZW1wdHkoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoc2hvdWxkUmV2ZXJ0VG9EZWZhdWx0VmFsdWVPbkJsdXIpIHtcbiAgICAgICAgICBzaG91bGRSZXZlcnRUb0RlZmF1bHRWYWx1ZU9uQmx1ciA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHRleHRCYXNlZENvbXBvbmVudD8uaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICBzaG91bGRTa2lwT25DaGFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgdmFsdWVDb21wb25lbnQuc2V0VmFsdWUoZGVmYXVsdENvbXBvbmVudFZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF2YWxpZGF0b3JFbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFzc2VydE5vbk51bGxhYmxlKHRvb2x0aXBDb250ZW50RWwpO1xuXG4gICAgICBpZiAodmFsaWRhdGlvbk1lc3NhZ2UgPT09ICcnKSB7XG4gICAgICAgIHZhbGlkYXRvckVsLnNldEN1c3RvbVZhbGlkaXR5KCcnKTtcbiAgICAgICAgdmFsaWRhdG9yRWwuY2hlY2tWYWxpZGl0eSgpO1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IHZhbGlkYXRvckVsLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICB2YWxpZGF0b3JFbC5zZXRDdXN0b21WYWxpZGl0eSh2YWxpZGF0aW9uTWVzc2FnZSk7XG4gICAgICBpZiAob3B0aW9uc0V4dC5zaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2UpIHtcbiAgICAgICAgdG9vbHRpcENvbnRlbnRFbC50ZXh0Q29udGVudCA9IHZhbGlkYXRpb25NZXNzYWdlO1xuICAgICAgICB0b29sdGlwRWw/LnRvZ2dsZSghIXZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsaWRhdGlvbk1lc3NhZ2UpIHtcbiAgICAgICAgc2V0VG9vbHRpcCh2YWxpZGF0b3JFbCwgdmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXJFbC5lbXB0eSgpO1xuICAgIHRoaXMuX2lzT3BlbiA9IHRydWU7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5sb2FkKCk7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5yZWdpc3RlckFzeW5jRXZlbnQodGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5vbignbG9hZFNldHRpbmdzJywgdGhpcy5vbkxvYWRTZXR0aW5ncy5iaW5kKHRoaXMpKSk7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5yZWdpc3RlckFzeW5jRXZlbnQodGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5vbignc2F2ZVNldHRpbmdzJywgdGhpcy5vblNhdmVTZXR0aW5ncy5iaW5kKHRoaXMpKSk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZXMgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgaGlkZSgpOiB2b2lkIHtcbiAgICBzdXBlci5oaWRlKCk7XG4gICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZWQuY2FuY2VsKCk7XG4gICAgdGhpcy5faXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC51bmxvYWQoKTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LmxvYWQoKTtcbiAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB0aGlzLmhpZGVBc3luYygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luYyBhY3Rpb25zIHRvIHBlcmZvcm0gd2hlbiB0aGUgc2V0dGluZ3MgdGFiIGlzIGJlaW5nIGhpZGRlbi5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyB0YWIgaXMgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhpZGVBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnBsdWdpblNldHRpbmdzQ29tcG9uZW50LnNhdmVUb0ZpbGUoU0FWRV9UT19GSUxFX0NPTlRFWFQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgcHVibGljIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5hcHAuc2V0dGluZy5vcGVuVGFiKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXJlIGxvYWRlZC5cbiAgICpcbiAgICogQHBhcmFtIF9sb2FkZWRTdGF0ZSAtIFRoZSBsb2FkZWQgc2V0dGluZ3Mgc3RhdGUuXG4gICAqIEBwYXJhbSBfaXNJbml0aWFsTG9hZCAtIFdoZXRoZXIgdGhlIHNldHRpbmdzIGFyZSBiZWluZyBsb2FkZWQgZm9yIHRoZSBmaXJzdCB0aW1lLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSBsb2FkZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgb25Mb2FkU2V0dGluZ3MoX2xvYWRlZFN0YXRlOiBSZWFkb25seVBsdWdpblNldHRpbmdzU3RhdGU8UGx1Z2luU2V0dGluZ3M+LCBfaXNJbml0aWFsTG9hZDogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZGlzcGxheSgpO1xuICAgIGF3YWl0IG5vb3BBc3luYygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldmFsaWRhdGVzIHRoZSBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyBhcmUgcmV2YWxpZGF0ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcmV2YWxpZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZXMgPSBhd2FpdCB0aGlzLnBsdWdpblNldHRpbmdzQ29tcG9uZW50LnJldmFsaWRhdGUoKTtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVZhbGlkYXRpb25zKHZhbGlkYXRpb25NZXNzYWdlcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBsdWdpblNldHRpbmdzUHJvcGVydHk8UHJvcGVydHlOYW1lIGV4dGVuZHMgU3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz4+KFxuICAgIHByb3BlcnR5TmFtZTogUHJvcGVydHlOYW1lXG4gICk6IFJlYWRvbmx5RGVlcDxQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdPiB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLnBsdWdpblNldHRpbmdzIGFzIFBsdWdpblNldHRpbmdzO1xuICAgIHJldHVybiBzZXR0aW5nc1twcm9wZXJ0eU5hbWVdIGFzIFJlYWRvbmx5RGVlcDxQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdPjtcbiAgfVxuXG4gIHByaXZhdGUgb24oXG4gICAgbmFtZTogJ3ZhbGlkYXRpb25NZXNzYWdlQ2hhbmdlZCcsXG4gICAgY2FsbGJhY2s6IChcbiAgICAgIHByb3BlcnR5TmFtZTogc3RyaW5nLFxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZ1xuICAgICkgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgICB0aGlzQXJnPzogdW5rbm93blxuICApOiBBc3luY0V2ZW50UmVmO1xuICBwcml2YXRlIG9uPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogR2VuZXJpY1Byb21pc2FibGVWb2lkRnVuY3Rpb248QXJncz4sXG4gICAgdGhpc0FyZz86IHVua25vd25cbiAgKTogQXN5bmNFdmVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuYXN5bmNFdmVudHNDb21wb25lbnQuYXN5bmNFdmVudHMub24obmFtZSwgY2FsbGJhY2ssIHRoaXNBcmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvblNhdmVTZXR0aW5ncyhcbiAgICBuZXdTdGF0ZTogUmVhZG9ubHlQbHVnaW5TZXR0aW5nc1N0YXRlPFBsdWdpblNldHRpbmdzPixcbiAgICBfb2xkU3RhdGU6IFJlYWRvbmx5UGx1Z2luU2V0dGluZ3NTdGF0ZTxQbHVnaW5TZXR0aW5ncz4sXG4gICAgY29udGV4dDogdW5rbm93blxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY29udGV4dCA9PT0gU0FWRV9UT19GSUxFX0NPTlRFWFQpIHtcbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlVmFsaWRhdGlvbnMobmV3U3RhdGUudmFsaWRhdGlvbk1lc3NhZ2VzIGFzIFJlY29yZDxTdHJpbmdLZXlzPFBsdWdpblNldHRpbmdzPiwgc3RyaW5nPik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVZhbGlkYXRpb25zKHZhbGlkYXRpb25NZXNzYWdlczogUmVjb3JkPFN0cmluZ0tleXM8UGx1Z2luU2V0dGluZ3M+LCBzdHJpbmc+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBbcHJvcGVydHlOYW1lLCB2YWxpZGF0aW9uTWVzc2FnZV0gb2YgT2JqZWN0LmVudHJpZXModmFsaWRhdGlvbk1lc3NhZ2VzKSkge1xuICAgICAgYXdhaXQgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5hc3luY0V2ZW50cy50cmlnZ2VyQXN5bmMoJ3ZhbGlkYXRpb25NZXNzYWdlQ2hhbmdlZCcsIHByb3BlcnR5TmFtZSwgdmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkEsc0JBSU87QUFhUCxtQkFHTztBQUNQLHVCQUF5QjtBQUN6QixzQkFHTztBQUNQLDBCQUEwQjtBQUMxQix5QkFBa0M7QUFDbEMsb0NBQXFDO0FBQ3JDLHVDQUE4QjtBQUM5QixrQ0FBMkM7QUFDM0MsaUNBQXNDO0FBQ3RDLHdCQUEw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
412
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtdGFiLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5nIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBJdCBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kIHRvIGJpbmQgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsZSBjaGFuZ2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRGVib3VuY2VyLFxuICBQbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUge1xuICBDb25kaXRpb25hbEtleXMsXG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBkZWJvdW5jZSxcbiAgUGx1Z2luU2V0dGluZ1RhYixcbiAgc2V0VG9vbHRpcFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgQXN5bmNFdmVudFJlZiB9IGZyb20gJy4uLy4uL2FzeW5jLWV2ZW50cy50cyc7XG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNQcm9taXNhYmxlVm9pZEZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHR5cGUgeyBTdHJpbmdLZXlzIH0gZnJvbSAnLi4vLi4vdHlwZS50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSxcbiAgUmVhZG9ubHlQbHVnaW5TZXR0aW5ncyxcbiAgUmVhZG9ubHlQbHVnaW5TZXR0aW5nc1N0YXRlXG59IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi4vc2V0dGluZy1jb21wb25lbnRzL3ZhbHVlLWNvbXBvbmVudC13aXRoLWNoYW5nZS10cmFja2luZy50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcbn0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHtcbiAgbm9vcCxcbiAgbm9vcEFzeW5jXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJy4uLy4uL29iamVjdC11dGlscy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IEFzeW5jRXZlbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IGVuc3VyZVdyYXBwZWQgfSBmcm9tICcuLi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5pbXBvcnQgeyBnZXRUZXh0QmFzZWRDb21wb25lbnRWYWx1ZSB9IGZyb20gJy4uL3NldHRpbmctY29tcG9uZW50cy90ZXh0LWJhc2VkLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9zZXR0aW5nLWNvbXBvbmVudHMvdmFsaWRhdG9yLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogQSBjb250ZXh0IHBhc3NlZCB0byB0aGUge0BsaW5rIFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZS5zYXZlVG9GaWxlfSBtZXRob2QuXG4gKi9cbmV4cG9ydCBjb25zdCBTQVZFX1RPX0ZJTEVfQ09OVEVYVCA9ICdQbHVnaW5TZXR0aW5nc1RhYic7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFBsdWdpblNldHRpbmdzVGFiQmFzZS5iaW5kYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgc2V0dGluZ3MgcHJvcGVydHkgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZE9wdGlvbnM8VD4ge1xuICAvKipcbiAgICogQSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZWQ/KG5ld1ZhbHVlOiBSZWFkb25seURlZXA8VD4sIG9sZFZhbHVlOiBSZWFkb25seURlZXA8VD4pOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlc2V0IHRoZSBzZXR0aW5nIHdoZW4gdGhlIGNvbXBvbmVudCB2YWx1ZSBpcyBlbXB0eS4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqIEFwcGxpY2FibGUgb25seSB0byB0ZXh0LWJhc2VkIGNvbXBvbmVudHMuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXNldFNldHRpbmdXaGVuQ29tcG9uZW50SXNFbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyB0aGUgcGxhY2Vob2xkZXIgZm9yIGRlZmF1bHQgdmFsdWVzLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICogQXBwbGljYWJsZSBvbmx5IHRvIHRleHQtYmFzZWQgY29tcG9uZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dQbGFjZWhvbGRlckZvckRlZmF1bHRWYWx1ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHZhbGlkYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgaW52YWxpZC4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIG9wdGlvbnMgZm9yIGBQbHVnaW5TZXR0aW5nc1RhYkJhc2UuYmluZGAuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBwbHVnaW4gc2V0dGluZ3MgdHlwZS5cbiAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZS5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHlOYW1lIC0gVGhlIHNldHRpbmdzIHByb3BlcnR5IG5hbWUgYmVpbmcgYm91bmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZE9wdGlvbnNFeHRlbmRlZDxcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QsXG4gIFVJVmFsdWUsXG4gIFByb3BlcnR5TmFtZSBleHRlbmRzIFN0cmluZ0tleXM8UGx1Z2luU2V0dGluZ3M+XG4+IGV4dGVuZHMgQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3NbUHJvcGVydHlOYW1lXT4ge1xuICAvKipcbiAgICogQ29udmVydHMgdGhlIFVJIGNvbXBvbmVudCdzIHZhbHVlIGJhY2sgdG8gdGhlIHBsdWdpbiBzZXR0aW5ncyB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHVpVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyKHVpVmFsdWU6IFVJVmFsdWUpOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdIHwgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXI7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpblNldHRpbmdzVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIFVJIGNvbXBvbmVudC5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcihwbHVnaW5TZXR0aW5nc1ZhbHVlOiBSZWFkb25seURlZXA8UGx1Z2luU2V0dGluZ3NbUHJvcGVydHlOYW1lXT4pOiBVSVZhbHVlO1xufVxuXG4vKipcbiAqIFBhcmFtcyBmb3IgY3JlYXRpbmcgYSB7QGxpbmsgUGx1Z2luU2V0dGluZ3NUYWJCYXNlfS5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHBsdWdpbiBzZXR0aW5ncyB0eXBlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblNldHRpbmdzVGFiQmFzZUNvbnN0cnVjdG9yUGFyYW1zPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PiB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGluc3RhbmNlIChuZWVkZWQgYnkgT2JzaWRpYW4ncyBQbHVnaW5TZXR0aW5nVGFiKS5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGluZ3MgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luU2V0dGluZ3NDb21wb25lbnQ6IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZTxQbHVnaW5TZXR0aW5ncz47XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgcGx1Z2luIHNldHRpbmdzIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBQcm92aWRlcyBhIG1ldGhvZCBmb3IgYmluZGluZyB2YWx1ZSBjb21wb25lbnRzIHRvIHBsdWdpbiBzZXR0aW5ncyBhbmQgaGFuZGxpbmcgY2hhbmdlcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHBsdWdpbiBzZXR0aW5ncyB0eXBlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGx1Z2luU2V0dGluZ3NUYWJCYXNlPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcGx1Z2luIHNldHRpbmdzIHRhYiBpcyBvcGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiIGlzIG9wZW4uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzZXR0aW5ncyBtYW5hZ2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsdWdpblNldHRpbmdzQ29tcG9uZW50OiBQbHVnaW5TZXR0aW5nc0NvbXBvbmVudEJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuXG4gIC8qKlxuICAgKiBBIGRlYm91bmNlIHRpbWVvdXQgZm9yIHNhdmluZyBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlYm91bmNlIHRpbWVvdXQgZm9yIHNhdmluZyBzZXR0aW5ncy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgc2F2ZVNldHRpbmdzRGVib3VuY2VUaW1lb3V0SW5NaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCBERUZBVUxUID0gMl8wMDA7XG4gICAgcmV0dXJuIERFRkFVTFQ7XG4gIH1cblxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBhc3luY0V2ZW50c0NvbXBvbmVudDogQXN5bmNFdmVudHNDb21wb25lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVNldHRpbmdzRGVib3VuY2VkOiBEZWJvdW5jZXI8W10sIHZvaWQ+O1xuXG4gIHByaXZhdGUgZ2V0IHBsdWdpblNldHRpbmdzKCk6IFJlYWRvbmx5UGx1Z2luU2V0dGluZ3M8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5zZXR0aW5nc1N0YXRlLmlucHV0VmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbXMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQbHVnaW5TZXR0aW5nc1RhYkJhc2VDb25zdHJ1Y3RvclBhcmFtczxQbHVnaW5TZXR0aW5ncz4pIHtcbiAgICBzdXBlcihwYXJhbXMucGx1Z2luLmFwcCwgcGFyYW1zLnBsdWdpbik7XG4gICAgdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudCA9IHBhcmFtcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudDtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIENzc0NsYXNzLlBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB0aGlzLnNhdmVTZXR0aW5nc0RlYm91bmNlZCA9IGRlYm91bmNlKFxuICAgICAgY29udmVydEFzeW5jVG9TeW5jKCgpID0+IHRoaXMucGx1Z2luU2V0dGluZ3NDb21wb25lbnQuc2F2ZVRvRmlsZShTQVZFX1RPX0ZJTEVfQ09OVEVYVCkpLFxuICAgICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZVRpbWVvdXRJbk1pbGxpc2Vjb25kc1xuICAgICk7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudCA9IG5ldyBBc3luY0V2ZW50c0NvbXBvbmVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFRWYWx1ZUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGJpbmRpbmcgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBiaW5kPFxuICAgIFVJVmFsdWUsXG4gICAgVFZhbHVlQ29tcG9uZW50XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogQ29uZGl0aW9uYWxLZXlzPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPixcbiAgICBvcHRpb25zPzogQmluZE9wdGlvbnM8VUlWYWx1ZT5cbiAgKTogVFZhbHVlQ29tcG9uZW50O1xuICAvKipcbiAgICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBVSVZhbHVlIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEB0eXBlUGFyYW0gVFZhbHVlQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBQcm9wZXJ0eU5hbWUgLSBUaGUgcHJvcGVydHkgbmFtZSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgYmluZGluZyB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGJpbmQ8XG4gICAgVUlWYWx1ZSxcbiAgICBUVmFsdWVDb21wb25lbnQsXG4gICAgUHJvcGVydHlOYW1lIGV4dGVuZHMgU3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz5cbiAgPihcbiAgICB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50ICYgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmc8VUlWYWx1ZT4sXG4gICAgcHJvcGVydHlOYW1lOiBQcm9wZXJ0eU5hbWUsXG4gICAgb3B0aW9uczogQmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudCxcbiAgICBQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPFBsdWdpblNldHRpbmdzPlxuICA+KFxuICAgIHZhbHVlQ29tcG9uZW50OiBUVmFsdWVDb21wb25lbnQgJiBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPixcbiAgICBwcm9wZXJ0eU5hbWU6IFByb3BlcnR5TmFtZSxcbiAgICBvcHRpb25zPzogQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3NbUHJvcGVydHlOYW1lXT4gLy8gZXNsaW50LWRpc2FibGUtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBCaW5kT3B0aW9ucyBpcyBhIGdlbmVyaWMgdXRpbGl0eSBzaGFyZWQgYWNyb3NzIGJpbmRpbmcgbWV0aG9kcy5cbiAgKTogVFZhbHVlQ29tcG9uZW50IHtcbiAgICB0eXBlIFByb3BlcnR5VHlwZSA9IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5TmFtZV07XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxCaW5kT3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eU5hbWU+PiA9IHtcbiAgICAgIGNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcjogKHZhbHVlOiBVSVZhbHVlKTogUHJvcGVydHlUeXBlID0+IHZhbHVlIGFzIFByb3BlcnR5VHlwZSxcbiAgICAgIG9uQ2hhbmdlZDogbm9vcCxcbiAgICAgIHBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcjogKHZhbHVlOiBSZWFkb25seURlZXA8UHJvcGVydHlUeXBlPik6IFVJVmFsdWUgPT4gdmFsdWUgYXMgVUlWYWx1ZSxcbiAgICAgIHNob3VsZFJlc2V0U2V0dGluZ1doZW5Db21wb25lbnRJc0VtcHR5OiB0cnVlLFxuICAgICAgc2hvdWxkU2hvd1BsYWNlaG9sZGVyRm9yRGVmYXVsdFZhbHVlczogdHJ1ZSxcbiAgICAgIHNob3VsZFNob3dWYWxpZGF0aW9uTWVzc2FnZTogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdCBvcHRpb25zRXh0OiBSZXF1aXJlZDxCaW5kT3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eU5hbWU+PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBjb25zdCB2YWxpZGF0b3JFbCA9IGdldFZhbGlkYXRvckNvbXBvbmVudCh2YWx1ZUNvbXBvbmVudCk/LnZhbGlkYXRvckVsO1xuXG4gICAgY29uc3QgdGV4dEJhc2VkQ29tcG9uZW50ID0gZ2V0VGV4dEJhc2VkQ29tcG9uZW50VmFsdWUodmFsdWVDb21wb25lbnQpO1xuXG4gICAgY29uc3QgcmVhZG9ubHlWYWx1ZSA9IHRoaXMuZ2V0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eShwcm9wZXJ0eU5hbWUpO1xuICAgIGNvbnN0IGRlZmF1bHRzID0gdGhpcy5wbHVnaW5TZXR0aW5nc0NvbXBvbmVudC5kZWZhdWx0U2V0dGluZ3MgYXMgUGx1Z2luU2V0dGluZ3M7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gZGVmYXVsdHNbcHJvcGVydHlOYW1lXTtcbiAgICBjb25zdCBkZWZhdWx0Q29tcG9uZW50VmFsdWUgPSBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcihkZWZhdWx0VmFsdWUgYXMgUmVhZG9ubHlEZWVwPFByb3BlcnR5VHlwZT4pO1xuICAgIHRleHRCYXNlZENvbXBvbmVudD8uc2V0UGxhY2Vob2xkZXJWYWx1ZShkZWZhdWx0Q29tcG9uZW50VmFsdWUpO1xuXG4gICAgbGV0IHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmc7XG4gICAgbGV0IHRvb2x0aXBFbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdG9vbHRpcENvbnRlbnRFbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAodmFsaWRhdG9yRWwpIHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBlbnN1cmVXcmFwcGVkKHZhbGlkYXRvckVsKTtcbiAgICAgIHRvb2x0aXBFbCA9IHdyYXBwZXIuY3JlYXRlRGl2KCk7XG4gICAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRvb2x0aXBFbCwgW0Nzc0NsYXNzLlRvb2x0aXAsIENzc0NsYXNzLlRvb2x0aXBWYWxpZGF0b3JdKTtcbiAgICAgIHRvb2x0aXBDb250ZW50RWwgPSB0b29sdGlwRWwuY3JlYXRlU3BhbigpO1xuICAgICAgY29uc3QgdG9vbHRpcEFycm93RWwgPSB0b29sdGlwRWwuY3JlYXRlRGl2KCk7XG4gICAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRvb2x0aXBBcnJvd0VsLCBDc3NDbGFzcy5Ub29sdGlwQXJyb3cpO1xuICAgICAgdG9vbHRpcEVsLmhpZGUoKTtcbiAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQodG9vbHRpcEVsKTtcbiAgICB9XG5cbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLm9uKCd2YWxpZGF0aW9uTWVzc2FnZUNoYW5nZWQnLCAoYW5vdGhlclByb3BlcnR5TmFtZSwgYW5vdGhlclZhbGlkYXRpb25NZXNzYWdlKSA9PiB7XG4gICAgICBpZiAocHJvcGVydHlOYW1lICE9PSBhbm90aGVyUHJvcGVydHlOYW1lKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSBhbm90aGVyVmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB1cGRhdGVWYWxpZGF0b3JFbERlYm91bmNlZCgpO1xuICAgIH0pKTtcblxuICAgIGxldCBzaG91bGRFbXB0eU9uQmx1ciA9IGZhbHNlO1xuICAgIGxldCBzaG91bGRSZXZlcnRUb0RlZmF1bHRWYWx1ZU9uQmx1ciA9IGZhbHNlO1xuXG4gICAgaWYgKHRleHRCYXNlZENvbXBvbmVudCAmJiBvcHRpb25zRXh0LnNob3VsZFNob3dQbGFjZWhvbGRlckZvckRlZmF1bHRWYWx1ZXMgJiYgZGVlcEVxdWFsKHJlYWRvbmx5VmFsdWUsIGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHRleHRCYXNlZENvbXBvbmVudC5lbXB0eSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZUNvbXBvbmVudC5zZXRWYWx1ZShvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcihyZWFkb25seVZhbHVlKSk7XG4gICAgfVxuXG4gICAgbGV0IHNob3VsZFNraXBPbkNoYW5nZSA9IGZhbHNlO1xuICAgIGNvbnN0IFVQREFURV9WQUxJREFUT1JfRUxfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSAxMDA7XG4gICAgY29uc3QgdXBkYXRlVmFsaWRhdG9yRWxEZWJvdW5jZWQgPSBkZWJvdW5jZSgoKSA9PiB7XG4gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdXBkYXRlVmFsaWRhdG9yRWwoKTtcbiAgICAgIH0pO1xuICAgIH0sIFVQREFURV9WQUxJREFUT1JfRUxfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMpO1xuXG4gICAgdmFsdWVDb21wb25lbnQub25DaGFuZ2UoY29udmVydEFzeW5jVG9TeW5jKGFzeW5jICh1aVZhbHVlKSA9PiB7XG4gICAgICBpZiAoc2hvdWxkU2tpcE9uQ2hhbmdlKSB7XG4gICAgICAgIHNob3VsZFNraXBPbkNoYW5nZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNob3VsZEVtcHR5T25CbHVyID0gZmFsc2U7XG5cbiAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5nZXRQbHVnaW5TZXR0aW5nc1Byb3BlcnR5KHByb3BlcnR5TmFtZSk7XG4gICAgICBsZXQgbmV3VmFsdWU6IFByb3BlcnR5VHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgIGxldCBzaG91bGRTZXRQcm9wZXJ0eSA9IHRydWU7XG4gICAgICBzaG91bGRSZXZlcnRUb0RlZmF1bHRWYWx1ZU9uQmx1ciA9ICEhdGV4dEJhc2VkQ29tcG9uZW50Py5pc0VtcHR5KCkgJiYgb3B0aW9uc0V4dC5zaG91bGRSZXNldFNldHRpbmdXaGVuQ29tcG9uZW50SXNFbXB0eTtcbiAgICAgIGlmIChzaG91bGRSZXZlcnRUb0RlZmF1bHRWYWx1ZU9uQmx1cikge1xuICAgICAgICBuZXdWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZFZhbHVlID0gb3B0aW9uc0V4dC5jb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXIodWlWYWx1ZSk7XG4gICAgICAgIGlmIChpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyKGNvbnZlcnRlZFZhbHVlKSkge1xuICAgICAgICAgIHZhbGlkYXRpb25NZXNzYWdlID0gY29udmVydGVkVmFsdWUudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICAgICAgc2hvdWxkU2V0UHJvcGVydHkgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdWYWx1ZSA9IGNvbnZlcnRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRTZXRQcm9wZXJ0eSkge1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IGF3YWl0IHRoaXMucGx1Z2luU2V0dGluZ3NDb21wb25lbnQuc2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCBuZXdWYWx1ZSBhcyBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdKTtcbiAgICAgICAgaWYgKHRleHRCYXNlZENvbXBvbmVudCAmJiBvcHRpb25zRXh0LnNob3VsZFNob3dQbGFjZWhvbGRlckZvckRlZmF1bHRWYWx1ZXMgJiYgIXRleHRCYXNlZENvbXBvbmVudC5pc0VtcHR5KCkgJiYgZGVlcEVxdWFsKG5ld1ZhbHVlLCBkZWZhdWx0VmFsdWUpKSB7XG4gICAgICAgICAgc2hvdWxkRW1wdHlPbkJsdXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZVZhbGlkYXRvckVsRGVib3VuY2VkKCk7XG4gICAgICBpZiAoc2hvdWxkU2V0UHJvcGVydHkpIHtcbiAgICAgICAgYXdhaXQgb3B0aW9uc0V4dC5vbkNoYW5nZWQobmV3VmFsdWUgYXMgUmVhZG9ubHlEZWVwPFByb3BlcnR5VHlwZT4sIG9sZFZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2F2ZVNldHRpbmdzRGVib3VuY2VkKCk7XG4gICAgfSkpO1xuXG4gICAgdmFsaWRhdG9yRWw/LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgdXBkYXRlVmFsaWRhdG9yRWxEZWJvdW5jZWQoKTtcbiAgICB9KTtcbiAgICB2YWxpZGF0b3JFbD8uYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHtcbiAgICAgIHVwZGF0ZVZhbGlkYXRvckVsRGVib3VuY2VkKCk7XG4gICAgfSk7XG4gICAgdmFsaWRhdG9yRWw/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHVwZGF0ZVZhbGlkYXRvckVsRGVib3VuY2VkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHZhbGlkYXRpb25NZXNzYWdlcyA9IHRoaXMucGx1Z2luU2V0dGluZ3NDb21wb25lbnQuc2V0dGluZ3NTdGF0ZS52YWxpZGF0aW9uTWVzc2FnZXMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IHZhbGlkYXRpb25NZXNzYWdlc1twcm9wZXJ0eU5hbWVdID8/ICcnO1xuICAgIHVwZGF0ZVZhbGlkYXRvckVsRGVib3VuY2VkKCk7XG5cbiAgICByZXR1cm4gdmFsdWVDb21wb25lbnQ7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVWYWxpZGF0b3JFbCgpOiB2b2lkIHtcbiAgICAgIGlmICghdmFsaWRhdG9yRWw/LmlzQWN0aXZlRWxlbWVudCgpKSB7XG4gICAgICAgIGlmIChzaG91bGRFbXB0eU9uQmx1cikge1xuICAgICAgICAgIHNob3VsZEVtcHR5T25CbHVyID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAoIXRleHRCYXNlZENvbXBvbmVudD8uaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICBzaG91bGRTa2lwT25DaGFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgdGV4dEJhc2VkQ29tcG9uZW50Py5lbXB0eSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzaG91bGRSZXZlcnRUb0RlZmF1bHRWYWx1ZU9uQmx1cikge1xuICAgICAgICAgIHNob3VsZFJldmVydFRvRGVmYXVsdFZhbHVlT25CbHVyID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGV4dEJhc2VkQ29tcG9uZW50Py5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgIHNob3VsZFNraXBPbkNoYW5nZSA9IHRydWU7XG4gICAgICAgICAgICB2YWx1ZUNvbXBvbmVudC5zZXRWYWx1ZShkZWZhdWx0Q29tcG9uZW50VmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXZhbGlkYXRvckVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0Tm9uTnVsbGFibGUodG9vbHRpcENvbnRlbnRFbCk7XG5cbiAgICAgIGlmICh2YWxpZGF0aW9uTWVzc2FnZSA9PT0gJycpIHtcbiAgICAgICAgdmFsaWRhdG9yRWwuc2V0Q3VzdG9tVmFsaWRpdHkoJycpO1xuICAgICAgICB2YWxpZGF0b3JFbC5jaGVja1ZhbGlkaXR5KCk7XG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlID0gdmFsaWRhdG9yRWwudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB9XG5cbiAgICAgIHZhbGlkYXRvckVsLnNldEN1c3RvbVZhbGlkaXR5KHZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICAgIGlmIChvcHRpb25zRXh0LnNob3VsZFNob3dWYWxpZGF0aW9uTWVzc2FnZSkge1xuICAgICAgICB0b29sdGlwQ29udGVudEVsLnRleHRDb250ZW50ID0gdmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICAgIHRvb2x0aXBFbD8udG9nZ2xlKCEhdmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIGlmICh2YWxpZGF0aW9uTWVzc2FnZSkge1xuICAgICAgICBzZXRUb29sdGlwKHZhbGlkYXRvckVsLCB2YWxpZGF0aW9uTWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRhaW5lckVsLmVtcHR5KCk7XG4gICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LmxvYWQoKTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLnBsdWdpblNldHRpbmdzQ29tcG9uZW50Lm9uKCdsb2FkU2V0dGluZ3MnLCB0aGlzLm9uTG9hZFNldHRpbmdzLmJpbmQodGhpcykpKTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLnBsdWdpblNldHRpbmdzQ29tcG9uZW50Lm9uKCdzYXZlU2V0dGluZ3MnLCB0aGlzLm9uU2F2ZVNldHRpbmdzLmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBoaWRlKCk6IHZvaWQge1xuICAgIHN1cGVyLmhpZGUoKTtcbiAgICB0aGlzLnNhdmVTZXR0aW5nc0RlYm91bmNlZC5jYW5jZWwoKTtcbiAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnVubG9hZCgpO1xuICAgIHRoaXMuYXN5bmNFdmVudHNDb21wb25lbnQubG9hZCgpO1xuICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHRoaXMuaGlkZUFzeW5jKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzeW5jIGFjdGlvbnMgdG8gcGVyZm9ybSB3aGVuIHRoZSBzZXR0aW5ncyB0YWIgaXMgYmVpbmcgaGlkZGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIHRhYiBpcyBoaWRkZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGlkZUFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucGx1Z2luU2V0dGluZ3NDb21wb25lbnQuc2F2ZVRvRmlsZShTQVZFX1RPX0ZJTEVfQ09OVEVYVCk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmFwcC5zZXR0aW5nLm9wZW5UYWIodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBzZXR0aW5ncyBhcmUgbG9hZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gX2xvYWRlZFN0YXRlIC0gVGhlIGxvYWRlZCBzZXR0aW5ncyBzdGF0ZS5cbiAgICogQHBhcmFtIF9pc0luaXRpYWxMb2FkIC0gV2hldGhlciB0aGUgc2V0dGluZ3MgYXJlIGJlaW5nIGxvYWRlZCBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIGxvYWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBvbkxvYWRTZXR0aW5ncyhfbG9hZGVkU3RhdGU6IFJlYWRvbmx5UGx1Z2luU2V0dGluZ3NTdGF0ZTxQbHVnaW5TZXR0aW5ncz4sIF9pc0luaXRpYWxMb2FkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5kaXNwbGF5KCk7XG4gICAgYXdhaXQgbm9vcEFzeW5jKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV2YWxpZGF0ZXMgdGhlIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSByZXZhbGlkYXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyByZXZhbGlkYXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZhbGlkYXRpb25NZXNzYWdlcyA9IGF3YWl0IHRoaXMucGx1Z2luU2V0dGluZ3NDb21wb25lbnQucmV2YWxpZGF0ZSgpO1xuICAgIGF3YWl0IHRoaXMudXBkYXRlVmFsaWRhdGlvbnModmFsaWRhdGlvbk1lc3NhZ2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eTxQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPFBsdWdpblNldHRpbmdzPj4oXG4gICAgcHJvcGVydHlOYW1lOiBQcm9wZXJ0eU5hbWVcbiAgKTogUmVhZG9ubHlEZWVwPFBsdWdpblNldHRpbmdzW1Byb3BlcnR5TmFtZV0+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMucGx1Z2luU2V0dGluZ3MgYXMgUGx1Z2luU2V0dGluZ3M7XG4gICAgcmV0dXJuIHNldHRpbmdzW3Byb3BlcnR5TmFtZV0gYXMgUmVhZG9ubHlEZWVwPFBsdWdpblNldHRpbmdzW1Byb3BlcnR5TmFtZV0+O1xuICB9XG5cbiAgcHJpdmF0ZSBvbihcbiAgICBuYW1lOiAndmFsaWRhdGlvbk1lc3NhZ2VDaGFuZ2VkJyxcbiAgICBjYWxsYmFjazogKFxuICAgICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nXG4gICAgKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICAgIHRoaXNBcmc/OiB1bmtub3duXG4gICk6IEFzeW5jRXZlbnRSZWY7XG4gIHByaXZhdGUgb248QXJncyBleHRlbmRzIHVua25vd25bXT4oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBHZW5lcmljUHJvbWlzYWJsZVZvaWRGdW5jdGlvbjxBcmdzPixcbiAgICB0aGlzQXJnPzogdW5rbm93blxuICApOiBBc3luY0V2ZW50UmVmIHtcbiAgICByZXR1cm4gdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5hc3luY0V2ZW50cy5vbihuYW1lLCBjYWxsYmFjaywgdGhpc0FyZyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uU2F2ZVNldHRpbmdzKFxuICAgIG5ld1N0YXRlOiBSZWFkb25seVBsdWdpblNldHRpbmdzU3RhdGU8UGx1Z2luU2V0dGluZ3M+LFxuICAgIF9vbGRTdGF0ZTogUmVhZG9ubHlQbHVnaW5TZXR0aW5nc1N0YXRlPFBsdWdpblNldHRpbmdzPixcbiAgICBjb250ZXh0OiB1bmtub3duXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjb250ZXh0ID09PSBTQVZFX1RPX0ZJTEVfQ09OVEVYVCkge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVWYWxpZGF0aW9ucyhuZXdTdGF0ZS52YWxpZGF0aW9uTWVzc2FnZXMgYXMgUmVjb3JkPFN0cmluZ0tleXM8UGx1Z2luU2V0dGluZ3M+LCBzdHJpbmc+KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlVmFsaWRhdGlvbnModmFsaWRhdGlvbk1lc3NhZ2VzOiBSZWNvcmQ8U3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz4sIHN0cmluZz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IFtwcm9wZXJ0eU5hbWUsIHZhbGlkYXRpb25NZXNzYWdlXSBvZiBPYmplY3QuZW50cmllcyh2YWxpZGF0aW9uTWVzc2FnZXMpKSB7XG4gICAgICBhd2FpdCB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LmFzeW5jRXZlbnRzLnRyaWdnZXJBc3luYygndmFsaWRhdGlvbk1lc3NhZ2VDaGFuZ2VkJywgcHJvcGVydHlOYW1lLCB2YWxpZGF0aW9uTWVzc2FnZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWlCQSxzQkFJTztBQWFQLG1CQUdPO0FBQ1AsdUJBQXlCO0FBQ3pCLHNCQUdPO0FBQ1AsMEJBQTBCO0FBQzFCLHlCQUFrQztBQUNsQyxvQ0FBcUM7QUFDckMsdUNBQThCO0FBQzlCLGtDQUEyQztBQUMz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
@@ -210,7 +210,7 @@ class PluginBase extends import_obsidian.Plugin {
210
210
  /**
211
211
  * Loads the plugin and its components.
212
212
  */
213
- // eslint-disable-next-line @typescript-eslint/no-misused-promises, obsidian-dev-utils/require-super-call -- Obsidian's load() handles async returns at runtime. Intentionally replaces Component.load() with children-first async loading.
213
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises -- Obsidian's load() handles async returns at runtime. Intentionally replaces Component.load() with children-first async loading.
214
214
  async load() {
215
215
  await (0, import_async_component.loadChildrenFirstAsync)(this);
216
216
  }
@@ -252,4 +252,4 @@ async function showErrorAndDisablePlugin(plugin, message) {
252
252
  reloadPlugin,
253
253
  showErrorAndDisablePlugin
254
254
  });
255
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHVzaW5nIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBQbHVnaW5CYXNlIHJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyAoY29udGV4dCwgaTE4biwgZXJyb3IgaGFuZGxpbmcsIGFib3J0IHNpZ25hbCwgbGlmZWN5Y2xlIGV2ZW50cywgZGVidWcpLlxuICogU3ViY2xhc3NlcyBhZGQgdGhlaXIgb3duIGNvbXBvbmVudHMgdmlhIHtAbGluayBQbHVnaW5CYXNlLmFkZENoaWxkfSBpbiB0aGVpciBjb25zdHJ1Y3Rvci5cbiAqIEFueSB1bml2ZXJzYWwgY29tcG9uZW50IGNhbiBiZSByZXBsYWNlZCBieSBjYWxsaW5nIHtAbGluayBQbHVnaW5CYXNlLmFkZENoaWxkfSB3aXRoIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBzYW1lIGNsYXNzXG4gKiAoc2luZ2xldG9uIHJlcGxhY2VtZW50IGlzIGF1dG9tYXRpYyBmb3IgY29tcG9uZW50cyB3aG9zZSBjbGFzcyBkZWZpbmVzIGEgc3RhdGljIGBDT01QT05FTlRfS0VZYCkuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENvbnN0cnVjdG9yLFxuICBQbHVnaW5NYW5pZmVzdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgTm90aWNlLFxuICBQbHVnaW4gYXMgT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyBBYm9ydFNpZ25hbENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBsb2FkQ2hpbGRyZW5GaXJzdEFzeW5jIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hc3luYy1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmltcG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgSTE4bkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvaTE4bi1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcblxuaW50ZXJmYWNlIENvbXBvbmVudENsYXNzV2l0aEtleSB7XG4gIENPTVBPTkVOVF9LRVk6IHN5bWJvbDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBPYnNpZGlhbiBwbHVnaW5zIHdpdGggYSBjb21wb25lbnQtYmFzZWQgYXJjaGl0ZWN0dXJlLlxuICpcbiAqIFJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyBhdXRvbWF0aWNhbGx5LiBTdWJjbGFzc2VzIGFkZCBvciByZXBsYWNlIGNvbXBvbmVudHNcbiAqIHZpYSB7QGxpbmsgUGx1Z2luQmFzZS5hZGRDaGlsZH0gaW4gdGhlaXIgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5CYXNlIGV4dGVuZHMgT2JzaWRpYW5QbHVnaW4ge1xuICAvKipcbiAgICogVGhlIGFib3J0IHNpZ25hbCBjb21wb25lbnQuIEFib3J0ZWQgd2hlbiB0aGUgcGx1Z2luIGlzIHVubG9hZGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgYWJvcnQgc2lnbmFsIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgYWJvcnRTaWduYWxDb21wb25lbnQoKTogQWJvcnRTaWduYWxDb21wb25lbnQge1xuICAgIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZSh0aGlzLmdldFJlZ2lzdGVyZWRDb21wb25lbnQoQWJvcnRTaWduYWxDb21wb25lbnQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29uc29sZSBkZWJ1ZyBjb21wb25lbnQuIFByb3ZpZGVzIG5hbWVzcGFjZWQgZGVidWcgbG9nZ2luZy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGNvbnNvbGUgZGVidWcgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBjb25zb2xlRGVidWdDb21wb25lbnQoKTogQ29uc29sZURlYnVnQ29tcG9uZW50IHtcbiAgICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUodGhpcy5nZXRSZWdpc3RlcmVkQ29tcG9uZW50KENvbnNvbGVEZWJ1Z0NvbXBvbmVudCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBub3RpY2UgY29tcG9uZW50LiBEaXNwbGF5cyBub3RpY2VzIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgbm90aWNlIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgbm90aWNlQ29tcG9uZW50KCk6IFBsdWdpbk5vdGljZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHRoaXMuZ2V0UmVnaXN0ZXJlZENvbXBvbmVudChQbHVnaW5Ob3RpY2VDb21wb25lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2luZ2xldG9uQ29tcG9uZW50cyA9IG5ldyBNYXA8c3ltYm9sLCBDb21wb25lbnQ+KCk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgUGx1Z2luQmFzZS5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuXG4gICAgdGhpcy5hZGRDaGlsZChuZXcgUGx1Z2luQ29udGV4dENvbXBvbmVudCh7IGFwcCwgcGx1Z2luSWQ6IG1hbmlmZXN0LmlkIH0pKTtcbiAgICB0aGlzLmFkZENoaWxkKG5ldyBJMThuQ29tcG9uZW50KCkpO1xuICAgIHRoaXMuYWRkQ2hpbGQobmV3IFBsdWdpbk5vdGljZUNvbXBvbmVudChtYW5pZmVzdC5uYW1lKSk7XG4gICAgdGhpcy5hZGRDaGlsZChuZXcgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQodGhpcy5ub3RpY2VDb21wb25lbnQpKTtcbiAgICB0aGlzLmFkZENoaWxkKG5ldyBBYm9ydFNpZ25hbENvbXBvbmVudChtYW5pZmVzdC5pZCkpO1xuICAgIHRoaXMuYWRkQ2hpbGQobmV3IENvbnNvbGVEZWJ1Z0NvbXBvbmVudChtYW5pZmVzdC5pZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21wb25lbnQgdG8gdGhlIHBsdWdpbi5cbiAgICpcbiAgICogSWYgdGhlIGNvbXBvbmVudCdzIGNsYXNzIGRlZmluZXMgYSBzdGF0aWMgYENPTVBPTkVOVF9LRVlgIHN5bWJvbCwgaXQgaXMgdHJlYXRlZCBhcyBhIHNpbmdsZXRvbiBcdTIwMTRcbiAgICogYWRkaW5nIGFub3RoZXIgY29tcG9uZW50IHdpdGggdGhlIHNhbWUga2V5IHJlcGxhY2VzIHRoZSBwcmV2aW91cyBvbmUuXG4gICAqIENvbXBvbmVudHMgd2l0aG91dCBhIGBDT01QT05FTlRfS0VZYCBhcmUgbXVsdGktaW5zdGFuY2UgYW5kIHNpbXBseSBhZGRlZC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIGNvbXBvbmVudCB0eXBlLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEByZXR1cm5zIFRoZSBhZGRlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ2hpbGQ8VCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUKTogVCB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmFkZENoaWxkKGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2luZ2xldG9uS2V5ID0gKGNvbXBvbmVudC5jb25zdHJ1Y3RvciBhcyBQYXJ0aWFsPENvbXBvbmVudENsYXNzV2l0aEtleT4pLkNPTVBPTkVOVF9LRVk7XG5cbiAgICBpZiAoc2luZ2xldG9uS2V5KSB7XG4gICAgICBjb25zdCBvbGRDb21wb25lbnQgPSB0aGlzLnNpbmdsZXRvbkNvbXBvbmVudHMuZ2V0KHNpbmdsZXRvbktleSk7XG4gICAgICBpZiAob2xkQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGQob2xkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2luZ2xldG9uQ29tcG9uZW50cy5zZXQoc2luZ2xldG9uS2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5hZGRDaGlsZChjb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gYW5kIGl0cyBjb21wb25lbnRzLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzLCBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLiBJbnRlbnRpb25hbGx5IHJlcGxhY2VzIENvbXBvbmVudC5sb2FkKCkgd2l0aCBjaGlsZHJlbi1maXJzdCBhc3luYyBsb2FkaW5nLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBsb2FkQ2hpbGRyZW5GaXJzdEFzeW5jKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqXG4gICAqIE92ZXJyaWRlIGluIHN1YmNsYXNzIGlmIG5lZWRlZC4gTWFrZSBzdXJlIHRvIGNhbGwgYGF3YWl0IHN1cGVyLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpYCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlPy4oKTtcbiAgICBhd2FpdCB0aGlzLmdldFJlZ2lzdGVyZWRDb21wb25lbnQoUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlKT8ub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlZ2lzdGVyZWRDb21wb25lbnQ8VENvbXBvbmVudD4oY29tcG9uZW50Q2xhc3NXaXRoS2V5OiBDb21wb25lbnRDbGFzc1dpdGhLZXkgJiBDb25zdHJ1Y3RvcjxUQ29tcG9uZW50Pik6IG51bGwgfCBUQ29tcG9uZW50IHtcbiAgICBjb25zdCBrZXkgPSBjb21wb25lbnRDbGFzc1dpdGhLZXkuQ09NUE9ORU5UX0tFWTtcbiAgICBjb25zdCByZWdpc3RlcmVkQ29tcG9uZW50ID0gdGhpcy5zaW5nbGV0b25Db21wb25lbnRzLmdldChrZXkpO1xuICAgIGlmICghcmVnaXN0ZXJlZENvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCEocmVnaXN0ZXJlZENvbXBvbmVudCBpbnN0YW5jZW9mIGNvbXBvbmVudENsYXNzV2l0aEtleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5jb21wYXRpYmxlICR7U3RyaW5nKGtleSl9IGlzIHJlZ2lzdGVyZWRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVnaXN0ZXJlZENvbXBvbmVudDtcbiAgfVxufVxuXG4vKipcbiAqIFJlbG9hZHMgdGhlIHNwZWNpZmllZCBwbHVnaW4gYnkgZGlzYWJsaW5nIGFuZCB0aGVuIHJlLWVuYWJsaW5nIGl0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlbG9hZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIHJlbG9hZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVsb2FkUGx1Z2luKHBsdWdpbjogT2JzaWRpYW5QbHVnaW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGx1Z2lucyA9IHBsdWdpbi5hcHAucGx1Z2lucztcbiAgY29uc3QgcGx1Z2luSWQgPSBwbHVnaW4ubWFuaWZlc3QuaWQ7XG4gIGF3YWl0IHBsdWdpbnMuZGlzYWJsZVBsdWdpbihwbHVnaW5JZCk7XG4gIGF3YWl0IHBsdWdpbnMuZW5hYmxlUGx1Z2luKHBsdWdpbklkKTtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGFzIGEgbm90aWNlLCBsb2dzIGl0IHRvIHRoZSBjb25zb2xlLCBhbmQgZGlzYWJsZXMgdGhlIHNwZWNpZmllZCBwbHVnaW4uXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gZGlzYWJsZS5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSBhbmQgbG9nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwbHVnaW4gaXMgZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luKHBsdWdpbjogT2JzaWRpYW5QbHVnaW4sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBuZXcgTm90aWNlKG1lc3NhZ2UpO1xuICBwcmludEVycm9yKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gIGF3YWl0IHBsdWdpbi5hcHAucGx1Z2lucy5kaXNhYmxlUGx1Z2luKHBsdWdpbi5tYW5pZmVzdC5pZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBaUJBLHNCQUlPO0FBRVAsbUJBQTJCO0FBQzNCLHlCQUFrQztBQUNsQyxvQ0FBcUM7QUFDckMsNkJBQXVDO0FBQ3ZDLDJDQUEyQztBQUMzQyxxQ0FBc0M7QUFDdEMsNEJBQThCO0FBQzlCLHNDQUF1QztBQUN2QyxxQ0FBc0M7QUFDdEMsdUNBQTRDO0FBWXJDLE1BQWUsbUJBQW1CLGdCQUFBQSxPQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXRELElBQWMsdUJBQTZDO0FBQ3pELGVBQU8sc0NBQWtCLEtBQUssdUJBQXVCLGtEQUFvQixDQUFDO0FBQUEsRUFDNUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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
255
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHVzaW5nIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBQbHVnaW5CYXNlIHJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyAoY29udGV4dCwgaTE4biwgZXJyb3IgaGFuZGxpbmcsIGFib3J0IHNpZ25hbCwgbGlmZWN5Y2xlIGV2ZW50cywgZGVidWcpLlxuICogU3ViY2xhc3NlcyBhZGQgdGhlaXIgb3duIGNvbXBvbmVudHMgdmlhIHtAbGluayBQbHVnaW5CYXNlLmFkZENoaWxkfSBpbiB0aGVpciBjb25zdHJ1Y3Rvci5cbiAqIEFueSB1bml2ZXJzYWwgY29tcG9uZW50IGNhbiBiZSByZXBsYWNlZCBieSBjYWxsaW5nIHtAbGluayBQbHVnaW5CYXNlLmFkZENoaWxkfSB3aXRoIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBzYW1lIGNsYXNzXG4gKiAoc2luZ2xldG9uIHJlcGxhY2VtZW50IGlzIGF1dG9tYXRpYyBmb3IgY29tcG9uZW50cyB3aG9zZSBjbGFzcyBkZWZpbmVzIGEgc3RhdGljIGBDT01QT05FTlRfS0VZYCkuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENvbnN0cnVjdG9yLFxuICBQbHVnaW5NYW5pZmVzdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgTm90aWNlLFxuICBQbHVnaW4gYXMgT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyBBYm9ydFNpZ25hbENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBsb2FkQ2hpbGRyZW5GaXJzdEFzeW5jIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hc3luYy1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmltcG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgSTE4bkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvaTE4bi1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcblxuaW50ZXJmYWNlIENvbXBvbmVudENsYXNzV2l0aEtleSB7XG4gIENPTVBPTkVOVF9LRVk6IHN5bWJvbDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBPYnNpZGlhbiBwbHVnaW5zIHdpdGggYSBjb21wb25lbnQtYmFzZWQgYXJjaGl0ZWN0dXJlLlxuICpcbiAqIFJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyBhdXRvbWF0aWNhbGx5LiBTdWJjbGFzc2VzIGFkZCBvciByZXBsYWNlIGNvbXBvbmVudHNcbiAqIHZpYSB7QGxpbmsgUGx1Z2luQmFzZS5hZGRDaGlsZH0gaW4gdGhlaXIgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5CYXNlIGV4dGVuZHMgT2JzaWRpYW5QbHVnaW4ge1xuICAvKipcbiAgICogVGhlIGFib3J0IHNpZ25hbCBjb21wb25lbnQuIEFib3J0ZWQgd2hlbiB0aGUgcGx1Z2luIGlzIHVubG9hZGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgYWJvcnQgc2lnbmFsIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgYWJvcnRTaWduYWxDb21wb25lbnQoKTogQWJvcnRTaWduYWxDb21wb25lbnQge1xuICAgIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZSh0aGlzLmdldFJlZ2lzdGVyZWRDb21wb25lbnQoQWJvcnRTaWduYWxDb21wb25lbnQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29uc29sZSBkZWJ1ZyBjb21wb25lbnQuIFByb3ZpZGVzIG5hbWVzcGFjZWQgZGVidWcgbG9nZ2luZy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGNvbnNvbGUgZGVidWcgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBjb25zb2xlRGVidWdDb21wb25lbnQoKTogQ29uc29sZURlYnVnQ29tcG9uZW50IHtcbiAgICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUodGhpcy5nZXRSZWdpc3RlcmVkQ29tcG9uZW50KENvbnNvbGVEZWJ1Z0NvbXBvbmVudCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBub3RpY2UgY29tcG9uZW50LiBEaXNwbGF5cyBub3RpY2VzIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgbm90aWNlIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgbm90aWNlQ29tcG9uZW50KCk6IFBsdWdpbk5vdGljZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIGVuc3VyZU5vbk51bGxhYmxlKHRoaXMuZ2V0UmVnaXN0ZXJlZENvbXBvbmVudChQbHVnaW5Ob3RpY2VDb21wb25lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2luZ2xldG9uQ29tcG9uZW50cyA9IG5ldyBNYXA8c3ltYm9sLCBDb21wb25lbnQ+KCk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgUGx1Z2luQmFzZS5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuXG4gICAgdGhpcy5hZGRDaGlsZChuZXcgUGx1Z2luQ29udGV4dENvbXBvbmVudCh7IGFwcCwgcGx1Z2luSWQ6IG1hbmlmZXN0LmlkIH0pKTtcbiAgICB0aGlzLmFkZENoaWxkKG5ldyBJMThuQ29tcG9uZW50KCkpO1xuICAgIHRoaXMuYWRkQ2hpbGQobmV3IFBsdWdpbk5vdGljZUNvbXBvbmVudChtYW5pZmVzdC5uYW1lKSk7XG4gICAgdGhpcy5hZGRDaGlsZChuZXcgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQodGhpcy5ub3RpY2VDb21wb25lbnQpKTtcbiAgICB0aGlzLmFkZENoaWxkKG5ldyBBYm9ydFNpZ25hbENvbXBvbmVudChtYW5pZmVzdC5pZCkpO1xuICAgIHRoaXMuYWRkQ2hpbGQobmV3IENvbnNvbGVEZWJ1Z0NvbXBvbmVudChtYW5pZmVzdC5pZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21wb25lbnQgdG8gdGhlIHBsdWdpbi5cbiAgICpcbiAgICogSWYgdGhlIGNvbXBvbmVudCdzIGNsYXNzIGRlZmluZXMgYSBzdGF0aWMgYENPTVBPTkVOVF9LRVlgIHN5bWJvbCwgaXQgaXMgdHJlYXRlZCBhcyBhIHNpbmdsZXRvbiBcdTIwMTRcbiAgICogYWRkaW5nIGFub3RoZXIgY29tcG9uZW50IHdpdGggdGhlIHNhbWUga2V5IHJlcGxhY2VzIHRoZSBwcmV2aW91cyBvbmUuXG4gICAqIENvbXBvbmVudHMgd2l0aG91dCBhIGBDT01QT05FTlRfS0VZYCBhcmUgbXVsdGktaW5zdGFuY2UgYW5kIHNpbXBseSBhZGRlZC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIGNvbXBvbmVudCB0eXBlLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEByZXR1cm5zIFRoZSBhZGRlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ2hpbGQ8VCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUKTogVCB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmFkZENoaWxkKGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2luZ2xldG9uS2V5ID0gKGNvbXBvbmVudC5jb25zdHJ1Y3RvciBhcyBQYXJ0aWFsPENvbXBvbmVudENsYXNzV2l0aEtleT4pLkNPTVBPTkVOVF9LRVk7XG5cbiAgICBpZiAoc2luZ2xldG9uS2V5KSB7XG4gICAgICBjb25zdCBvbGRDb21wb25lbnQgPSB0aGlzLnNpbmdsZXRvbkNvbXBvbmVudHMuZ2V0KHNpbmdsZXRvbktleSk7XG4gICAgICBpZiAob2xkQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGQob2xkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2luZ2xldG9uQ29tcG9uZW50cy5zZXQoc2luZ2xldG9uS2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5hZGRDaGlsZChjb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gYW5kIGl0cyBjb21wb25lbnRzLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLiBJbnRlbnRpb25hbGx5IHJlcGxhY2VzIENvbXBvbmVudC5sb2FkKCkgd2l0aCBjaGlsZHJlbi1maXJzdCBhc3luYyBsb2FkaW5nLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBsb2FkQ2hpbGRyZW5GaXJzdEFzeW5jKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqXG4gICAqIE92ZXJyaWRlIGluIHN1YmNsYXNzIGlmIG5lZWRlZC4gTWFrZSBzdXJlIHRvIGNhbGwgYGF3YWl0IHN1cGVyLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpYCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlPy4oKTtcbiAgICBhd2FpdCB0aGlzLmdldFJlZ2lzdGVyZWRDb21wb25lbnQoUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlKT8ub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlZ2lzdGVyZWRDb21wb25lbnQ8VENvbXBvbmVudD4oY29tcG9uZW50Q2xhc3NXaXRoS2V5OiBDb21wb25lbnRDbGFzc1dpdGhLZXkgJiBDb25zdHJ1Y3RvcjxUQ29tcG9uZW50Pik6IG51bGwgfCBUQ29tcG9uZW50IHtcbiAgICBjb25zdCBrZXkgPSBjb21wb25lbnRDbGFzc1dpdGhLZXkuQ09NUE9ORU5UX0tFWTtcbiAgICBjb25zdCByZWdpc3RlcmVkQ29tcG9uZW50ID0gdGhpcy5zaW5nbGV0b25Db21wb25lbnRzLmdldChrZXkpO1xuICAgIGlmICghcmVnaXN0ZXJlZENvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCEocmVnaXN0ZXJlZENvbXBvbmVudCBpbnN0YW5jZW9mIGNvbXBvbmVudENsYXNzV2l0aEtleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5jb21wYXRpYmxlICR7U3RyaW5nKGtleSl9IGlzIHJlZ2lzdGVyZWRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVnaXN0ZXJlZENvbXBvbmVudDtcbiAgfVxufVxuXG4vKipcbiAqIFJlbG9hZHMgdGhlIHNwZWNpZmllZCBwbHVnaW4gYnkgZGlzYWJsaW5nIGFuZCB0aGVuIHJlLWVuYWJsaW5nIGl0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlbG9hZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIHJlbG9hZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVsb2FkUGx1Z2luKHBsdWdpbjogT2JzaWRpYW5QbHVnaW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGx1Z2lucyA9IHBsdWdpbi5hcHAucGx1Z2lucztcbiAgY29uc3QgcGx1Z2luSWQgPSBwbHVnaW4ubWFuaWZlc3QuaWQ7XG4gIGF3YWl0IHBsdWdpbnMuZGlzYWJsZVBsdWdpbihwbHVnaW5JZCk7XG4gIGF3YWl0IHBsdWdpbnMuZW5hYmxlUGx1Z2luKHBsdWdpbklkKTtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGFzIGEgbm90aWNlLCBsb2dzIGl0IHRvIHRoZSBjb25zb2xlLCBhbmQgZGlzYWJsZXMgdGhlIHNwZWNpZmllZCBwbHVnaW4uXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gZGlzYWJsZS5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSBhbmQgbG9nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwbHVnaW4gaXMgZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luKHBsdWdpbjogT2JzaWRpYW5QbHVnaW4sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBuZXcgTm90aWNlKG1lc3NhZ2UpO1xuICBwcmludEVycm9yKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gIGF3YWl0IHBsdWdpbi5hcHAucGx1Z2lucy5kaXNhYmxlUGx1Z2luKHBsdWdpbi5tYW5pZmVzdC5pZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBaUJBLHNCQUlPO0FBRVAsbUJBQTJCO0FBQzNCLHlCQUFrQztBQUNsQyxvQ0FBcUM7QUFDckMsNkJBQXVDO0FBQ3ZDLDJDQUEyQztBQUMzQyxxQ0FBc0M7QUFDdEMsNEJBQThCO0FBQzlCLHNDQUF1QztBQUN2QyxxQ0FBc0M7QUFDdEMsdUNBQTRDO0FBWXJDLE1BQWUsbUJBQW1CLGdCQUFBQSxPQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXRELElBQWMsdUJBQTZDO0FBQ3pELGVBQU8sc0NBQWtCLEtBQUssdUJBQXVCLGtEQUFvQixDQUFDO0FBQUEsRUFDNUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFjLHdCQUErQztBQUMzRCxlQUFPLHNDQUFrQixL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
@@ -169,7 +169,7 @@ async function flushQueue(app) {
169
169
  });
170
170
  }
171
171
  function getQueue(app) {
172
- return (0, import_app.getObsidianDevUtilsState)(app, "queue", { items: [], promise: Promise.resolve() });
172
+ return (0, import_app.getObsidianDevUtilsState)(app, "queue", { items: [], promise: (0, import_function.noopAsync)() });
173
173
  }
174
174
  async function processNextQueueItem(app) {
175
175
  const queue = getQueue(app).value;
@@ -202,4 +202,4 @@ async function processNextQueueItem(app) {
202
202
  addToQueueAndWait,
203
203
  flushQueue
204
204
  });
205
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3F1ZXVlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVucXVldWluZyBhbmQgcHJvY2Vzc2luZyBmdW5jdGlvbnMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgdHlwZSB7IFZhbHVlV3JhcHBlciB9IGZyb20gJy4vYXBwLnRzJztcblxuaW1wb3J0IHtcbiAgYWJvcnRTaWduYWxBbnksXG4gIGFib3J0U2lnbmFsTmV2ZXJcbn0gZnJvbSAnLi4vYWJvcnQtY29udHJvbGxlci50cyc7XG5pbXBvcnQge1xuICBhZGRFcnJvckhhbmRsZXIsXG4gIGludm9rZUFzeW5jU2FmZWx5XG59IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldFN0YWNrVHJhY2UgfSBmcm9tICcuLi9lcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi9hcHAudHMnO1xuaW1wb3J0IHsgcnVuV2l0aFRpbWVvdXROb3RpY2UgfSBmcm9tICcuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUge0BsaW5rIGFkZFRvUXVldWVBbmRXYWl0fSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRUb1F1ZXVlQW5kV2FpdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBhYm9ydCBzaWduYWwuXG4gICAqL1xuICByZWFkb25seSBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIGFkZC5cbiAgICovXG4gIG9wZXJhdGlvbkZuKHRoaXM6IHZvaWQsIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2FibGU8dm9pZD47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyBhIHRpbWVvdXQgbm90aWNlLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dUaW1lb3V0Tm90aWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgc3RhY2sgdHJhY2UuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHtAbGluayBhZGRUb1F1ZXVlfSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRUb1F1ZXVlUGFyYW1zIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHJlYWRvbmx5IGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gYWRkLlxuICAgKi9cbiAgb3BlcmF0aW9uRm4odGhpczogdm9pZCwgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogUHJvbWlzYWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgbmFtZSBvZiB0aGUgb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgdGltZW91dCBub3RpY2UuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFF1ZXVlIHtcbiAgaXRlbXM6IFF1ZXVlSXRlbVtdO1xuICBwcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5pbnRlcmZhY2UgUXVldWVJdGVtIHtcbiAgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsO1xuICBvcGVyYXRpb25Gbih0aGlzOiB2b2lkLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNhYmxlPHZvaWQ+O1xuICBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XG4gIHNob3VsZFNob3dUaW1lb3V0Tm90aWNlOiBib29sZWFuO1xuICBzdGFja1RyYWNlOiBzdHJpbmc7XG4gIHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcmV2aW91cyBmdW5jdGlvbiBjb21wbGV0ZXMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb1F1ZXVlKHBhcmFtczogQWRkVG9RdWV1ZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCBzdGFja1RyYWNlID0gcGFyYW1zLnN0YWNrVHJhY2UgPz8gZ2V0U3RhY2tUcmFjZSgxKTtcbiAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gYWRkVG9RdWV1ZUFuZFdhaXQocGFyYW1zKSwgc3RhY2tUcmFjZSk7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIHByZXZpb3VzIGZ1bmN0aW9uIGNvbXBsZXRlcyBhbmQgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIGNvbXBsZXRlcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFRvUXVldWVBbmRXYWl0KHBhcmFtczogQWRkVG9RdWV1ZUFuZFdhaXRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYWJvcnRTaWduYWwgPSBwYXJhbXMuYWJvcnRTaWduYWwgPz8gYWJvcnRTaWduYWxOZXZlcigpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuXG4gIGNvbnN0IERFRkFVTFRfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSA2MDAwMDtcbiAgY29uc3QgdGltZW91dEluTWlsbGlzZWNvbmRzID0gcGFyYW1zLnRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTO1xuICBjb25zdCBzdGFja1RyYWNlID0gcGFyYW1zLnN0YWNrVHJhY2UgPz8gZ2V0U3RhY2tUcmFjZSgxKTtcbiAgY29uc3Qgb3BlcmF0aW9uTmFtZSA9IHBhcmFtcy5vcGVyYXRpb25OYW1lID8/ICcnO1xuICBjb25zdCBxdWV1ZSA9IGdldFF1ZXVlKHBhcmFtcy5hcHApLnZhbHVlO1xuICBxdWV1ZS5pdGVtcy5wdXNoKHtcbiAgICBhYm9ydFNpZ25hbCxcbiAgICBvcGVyYXRpb25GbjogcGFyYW1zLm9wZXJhdGlvbkZuLFxuICAgIG9wZXJhdGlvbk5hbWUsXG4gICAgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U6IHBhcmFtcy5zaG91bGRTaG93VGltZW91dE5vdGljZSA/PyB0cnVlLFxuICAgIHN0YWNrVHJhY2UsXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzXG4gIH0pO1xuICBxdWV1ZS5wcm9taXNlID0gcXVldWUucHJvbWlzZS50aGVuKCgpID0+IHByb2Nlc3NOZXh0UXVldWVJdGVtKHBhcmFtcy5hcHApKTtcbiAgYXdhaXQgcXVldWUucHJvbWlzZTtcbn1cblxuLyoqXG4gKiBGbHVzaGVzIHRoZSBxdWV1ZTtcbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmx1c2hRdWV1ZShhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBhZGRUb1F1ZXVlQW5kV2FpdCh7XG4gICAgYXBwLFxuICAgIG9wZXJhdGlvbkZuOiBub29wLFxuICAgIG9wZXJhdGlvbk5hbWU6IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5xdWV1ZS5mbHVzaFF1ZXVlKVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0UXVldWUoYXBwOiBBcHApOiBWYWx1ZVdyYXBwZXI8UXVldWU+IHtcbiAgcmV0dXJuIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZShhcHAsICdxdWV1ZScsIHsgaXRlbXM6IFtdLCBwcm9taXNlOiBQcm9taXNlLnJlc29sdmUoKSB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc05leHRRdWV1ZUl0ZW0oYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcXVldWUgPSBnZXRRdWV1ZShhcHApLnZhbHVlO1xuICBjb25zdCBpdGVtID0gcXVldWUuaXRlbXNbMF07XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWZlbnNpdmUgY2hlY2s7IHByb2Nlc3NOZXh0UXVldWVJdGVtIGlzIG9ubHkgY2FsbGVkIGFmdGVyIGFuIGl0ZW0gaXMgcHVzaGVkLiAqL1xuICBpZiAoIWl0ZW0pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBhd2FpdCBhZGRFcnJvckhhbmRsZXIoKCkgPT5cbiAgICBydW5XaXRoVGltZW91dE5vdGljZSh7XG4gICAgICBjb250ZXh0OiB7IHF1ZXVlZEZuOiBpdGVtLm9wZXJhdGlvbkZuIH0sXG4gICAgICBhc3luYyBvcGVyYXRpb25GbihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgaW52b2tlQXN5bmNBbmRMb2coXG4gICAgICAgICAgaXRlbS5vcGVyYXRpb25OYW1lIHx8IHByb2Nlc3NOZXh0UXVldWVJdGVtLm5hbWUsXG4gICAgICAgICAgaXRlbS5vcGVyYXRpb25GbixcbiAgICAgICAgICBhYm9ydFNpZ25hbEFueShhYm9ydFNpZ25hbCwgaXRlbS5hYm9ydFNpZ25hbCksXG4gICAgICAgICAgaXRlbS5zdGFja1RyYWNlXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgb3BlcmF0aW9uTmFtZTogaXRlbS5vcGVyYXRpb25OYW1lLFxuICAgICAgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U6IGl0ZW0uc2hvdWxkU2hvd1RpbWVvdXROb3RpY2UsXG4gICAgICBzdGFja1RyYWNlOiBpdGVtLnN0YWNrVHJhY2UsXG4gICAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IGl0ZW0udGltZW91dEluTWlsbGlzZWNvbmRzXG4gICAgfSlcbiAg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
205
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3F1ZXVlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVucXVldWluZyBhbmQgcHJvY2Vzc2luZyBmdW5jdGlvbnMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgdHlwZSB7IFZhbHVlV3JhcHBlciB9IGZyb20gJy4vYXBwLnRzJztcblxuaW1wb3J0IHtcbiAgYWJvcnRTaWduYWxBbnksXG4gIGFib3J0U2lnbmFsTmV2ZXJcbn0gZnJvbSAnLi4vYWJvcnQtY29udHJvbGxlci50cyc7XG5pbXBvcnQge1xuICBhZGRFcnJvckhhbmRsZXIsXG4gIGludm9rZUFzeW5jU2FmZWx5XG59IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldFN0YWNrVHJhY2UgfSBmcm9tICcuLi9lcnJvci50cyc7XG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNcbn0gZnJvbSAnLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi9hcHAudHMnO1xuaW1wb3J0IHsgcnVuV2l0aFRpbWVvdXROb3RpY2UgfSBmcm9tICcuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUge0BsaW5rIGFkZFRvUXVldWVBbmRXYWl0fSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRUb1F1ZXVlQW5kV2FpdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBhYm9ydCBzaWduYWwuXG4gICAqL1xuICByZWFkb25seSBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIGFkZC5cbiAgICovXG4gIG9wZXJhdGlvbkZuKHRoaXM6IHZvaWQsIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2FibGU8dm9pZD47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyBhIHRpbWVvdXQgbm90aWNlLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dUaW1lb3V0Tm90aWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgc3RhY2sgdHJhY2UuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHtAbGluayBhZGRUb1F1ZXVlfSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRUb1F1ZXVlUGFyYW1zIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHJlYWRvbmx5IGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gYWRkLlxuICAgKi9cbiAgb3BlcmF0aW9uRm4odGhpczogdm9pZCwgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogUHJvbWlzYWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgbmFtZSBvZiB0aGUgb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgdGltZW91dCBub3RpY2UuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFF1ZXVlIHtcbiAgaXRlbXM6IFF1ZXVlSXRlbVtdO1xuICBwcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5pbnRlcmZhY2UgUXVldWVJdGVtIHtcbiAgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsO1xuICBvcGVyYXRpb25Gbih0aGlzOiB2b2lkLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNhYmxlPHZvaWQ+O1xuICBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XG4gIHNob3VsZFNob3dUaW1lb3V0Tm90aWNlOiBib29sZWFuO1xuICBzdGFja1RyYWNlOiBzdHJpbmc7XG4gIHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcmV2aW91cyBmdW5jdGlvbiBjb21wbGV0ZXMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb1F1ZXVlKHBhcmFtczogQWRkVG9RdWV1ZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCBzdGFja1RyYWNlID0gcGFyYW1zLnN0YWNrVHJhY2UgPz8gZ2V0U3RhY2tUcmFjZSgxKTtcbiAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gYWRkVG9RdWV1ZUFuZFdhaXQocGFyYW1zKSwgc3RhY2tUcmFjZSk7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIHByZXZpb3VzIGZ1bmN0aW9uIGNvbXBsZXRlcyBhbmQgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIGNvbXBsZXRlcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFRvUXVldWVBbmRXYWl0KHBhcmFtczogQWRkVG9RdWV1ZUFuZFdhaXRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYWJvcnRTaWduYWwgPSBwYXJhbXMuYWJvcnRTaWduYWwgPz8gYWJvcnRTaWduYWxOZXZlcigpO1xuICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuXG4gIGNvbnN0IERFRkFVTFRfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSA2MDAwMDtcbiAgY29uc3QgdGltZW91dEluTWlsbGlzZWNvbmRzID0gcGFyYW1zLnRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTO1xuICBjb25zdCBzdGFja1RyYWNlID0gcGFyYW1zLnN0YWNrVHJhY2UgPz8gZ2V0U3RhY2tUcmFjZSgxKTtcbiAgY29uc3Qgb3BlcmF0aW9uTmFtZSA9IHBhcmFtcy5vcGVyYXRpb25OYW1lID8/ICcnO1xuICBjb25zdCBxdWV1ZSA9IGdldFF1ZXVlKHBhcmFtcy5hcHApLnZhbHVlO1xuICBxdWV1ZS5pdGVtcy5wdXNoKHtcbiAgICBhYm9ydFNpZ25hbCxcbiAgICBvcGVyYXRpb25GbjogcGFyYW1zLm9wZXJhdGlvbkZuLFxuICAgIG9wZXJhdGlvbk5hbWUsXG4gICAgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U6IHBhcmFtcy5zaG91bGRTaG93VGltZW91dE5vdGljZSA/PyB0cnVlLFxuICAgIHN0YWNrVHJhY2UsXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzXG4gIH0pO1xuICBxdWV1ZS5wcm9taXNlID0gcXVldWUucHJvbWlzZS50aGVuKCgpID0+IHByb2Nlc3NOZXh0UXVldWVJdGVtKHBhcmFtcy5hcHApKTtcbiAgYXdhaXQgcXVldWUucHJvbWlzZTtcbn1cblxuLyoqXG4gKiBGbHVzaGVzIHRoZSBxdWV1ZTtcbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmx1c2hRdWV1ZShhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBhZGRUb1F1ZXVlQW5kV2FpdCh7XG4gICAgYXBwLFxuICAgIG9wZXJhdGlvbkZuOiBub29wLFxuICAgIG9wZXJhdGlvbk5hbWU6IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5xdWV1ZS5mbHVzaFF1ZXVlKVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0UXVldWUoYXBwOiBBcHApOiBWYWx1ZVdyYXBwZXI8UXVldWU+IHtcbiAgcmV0dXJuIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZShhcHAsICdxdWV1ZScsIHsgaXRlbXM6IFtdLCBwcm9taXNlOiBub29wQXN5bmMoKSB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc05leHRRdWV1ZUl0ZW0oYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcXVldWUgPSBnZXRRdWV1ZShhcHApLnZhbHVlO1xuICBjb25zdCBpdGVtID0gcXVldWUuaXRlbXNbMF07XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWZlbnNpdmUgY2hlY2s7IHByb2Nlc3NOZXh0UXVldWVJdGVtIGlzIG9ubHkgY2FsbGVkIGFmdGVyIGFuIGl0ZW0gaXMgcHVzaGVkLiAqL1xuICBpZiAoIWl0ZW0pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBhd2FpdCBhZGRFcnJvckhhbmRsZXIoKCkgPT5cbiAgICBydW5XaXRoVGltZW91dE5vdGljZSh7XG4gICAgICBjb250ZXh0OiB7IHF1ZXVlZEZuOiBpdGVtLm9wZXJhdGlvbkZuIH0sXG4gICAgICBhc3luYyBvcGVyYXRpb25GbihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgaW52b2tlQXN5bmNBbmRMb2coXG4gICAgICAgICAgaXRlbS5vcGVyYXRpb25OYW1lIHx8IHByb2Nlc3NOZXh0UXVldWVJdGVtLm5hbWUsXG4gICAgICAgICAgaXRlbS5vcGVyYXRpb25GbixcbiAgICAgICAgICBhYm9ydFNpZ25hbEFueShhYm9ydFNpZ25hbCwgaXRlbS5hYm9ydFNpZ25hbCksXG4gICAgICAgICAgaXRlbS5zdGFja1RyYWNlXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgb3BlcmF0aW9uTmFtZTogaXRlbS5vcGVyYXRpb25OYW1lLFxuICAgICAgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U6IGl0ZW0uc2hvdWxkU2hvd1RpbWVvdXROb3RpY2UsXG4gICAgICBzdGFja1RyYWNlOiBpdGVtLnN0YWNrVHJhY2UsXG4gICAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IGl0ZW0udGltZW91dEluTWlsbGlzZWNvbmRz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
@@ -206,4 +206,4 @@ class CheckboxComponent extends import_obsidian.ValueComponent {
206
206
  0 && (module.exports = {
207
207
  CheckboxComponent
208
208
  });
209
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDaGVja2JveCBjb21wb25lbnQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL2h0bWwtZWxlbWVudC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhIGNoZWNrYm94LlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkQ2hlY2tib3h9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8Ym9vbGVhbj4gaW1wbGVtZW50cyBWYWxpZGF0b3JDb21wb25lbnQsIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPGJvb2xlYW4+IHtcbiAgLyoqXG4gICAqIEFuIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEEgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNoZWNrYm94LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRvckVsKCk6IFZhbGlkYXRvckVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWw7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUNhbGxiYWNrPzogKG5ld1ZhbHVlOiBib29sZWFuKSA9PiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGNoZWNrYm94IGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lckVsIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhjb250YWluZXJFbCwgW0Nzc0NsYXNzLkNoZWNrYm94Q29tcG9uZW50XSk7XG4gICAgdGhpcy5pbnB1dEVsID0gY29udGFpbmVyRWwuY3JlYXRlRWwoJ2lucHV0JywgeyB0eXBlOiAnY2hlY2tib3gnIH0pO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLm9uQ2hhbmdlZC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5jaGVja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGNoYW5nZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2UoY2FsbGJhY2s6IChuZXdWYWx1ZTogYm9vbGVhbikgPT4gUHJvbWlzYWJsZTx2b2lkPik6IHRoaXMge1xuICAgIHRoaXMuY2hhbmdlQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgY2hhbmdlZC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VDYWxsYmFjaz8uKHRoaXMuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMuaW5wdXRFbC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB0aGUgY2hlY2tib3ggdG8uXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLmlucHV0RWwuY2hlY2tlZCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBK0I7QUFVL0IsdUJBQXlCO0FBQ3pCLDRCQUFvQztBQVc3QixNQUFNLDBCQUEwQiwrQkFBaUc7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUl0SDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oQixJQUFXLGNBQWdDO0FBQ3pDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0QsWUFBWSxhQUEwQjtBQUMzQyxVQUFNO0FBQ04sbURBQW9CLGFBQWEsQ0FBQywwQkFBUyxpQkFBaUIsQ0FBQztBQUM3RCxTQUFLLFVBQVUsWUFBWSxTQUFTLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRSxTQUFLLFFBQVEsaUJBQWlCLFVBQVUsS0FBSyxVQUFVLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFDbkU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0IsV0FBb0I7QUFDbEMsV0FBTyxLQUFLLFFBQVE7QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxVQUF5RDtBQUN2RSxTQUFLLGlCQUFpQjtBQUN0QixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sWUFBa0I7QUFDdkIsU0FBSyxpQkFBaUIsS0FBSyxTQUFTLENBQUM7QUFBQSxFQUN2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLFlBQVksVUFBeUI7QUFDbkQsVUFBTSxZQUFZLFFBQVE7QUFDMUIsU0FBSyxRQUFRLFdBQVc7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixTQUFTLE9BQXNCO0FBQzdDLFNBQUssUUFBUSxVQUFVO0FBQ3ZCLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
209
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDaGVja2JveCBjb21wb25lbnQuXG4gKi9cblxuaW1wb3J0IHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL2h0bWwtZWxlbWVudC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhIGNoZWNrYm94LlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkQ2hlY2tib3h9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8Ym9vbGVhbj4gaW1wbGVtZW50cyBWYWxpZGF0b3JDb21wb25lbnQsIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPGJvb2xlYW4+IHtcbiAgLyoqXG4gICAqIEFuIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEEgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNoZWNrYm94LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRvckVsKCk6IFZhbGlkYXRvckVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWw7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUNhbGxiYWNrPzogKG5ld1ZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGNoZWNrYm94IGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lckVsIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhjb250YWluZXJFbCwgW0Nzc0NsYXNzLkNoZWNrYm94Q29tcG9uZW50XSk7XG4gICAgdGhpcy5pbnB1dEVsID0gY29udGFpbmVyRWwuY3JlYXRlRWwoJ2lucHV0JywgeyB0eXBlOiAnY2hlY2tib3gnIH0pO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLm9uQ2hhbmdlZC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5jaGVja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGNoYW5nZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2UoY2FsbGJhY2s6IChuZXdWYWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHRoaXMge1xuICAgIHRoaXMuY2hhbmdlQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgY2hhbmdlZC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VDYWxsYmFjaz8uKHRoaXMuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMuaW5wdXRFbC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB0aGUgY2hlY2tib3ggdG8uXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLmlucHV0RWwuY2hlY2tlZCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxzQkFBK0I7QUFVL0IsdUJBQXlCO0FBQ3pCLDRCQUFvQztBQVc3QixNQUFNLDBCQUEwQiwrQkFBaUc7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUl0SDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oQixJQUFXLGNBQWdDO0FBQ3pDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0QsWUFBWSxhQUEwQjtBQUMzQyxVQUFNO0FBQ04sbURBQW9CLGFBQWEsQ0FBQywwQkFBUyxpQkFBaUIsQ0FBQztBQUM3RCxTQUFLLFVBQVUsWUFBWSxTQUFTLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRSxTQUFLLFFBQVEsaUJBQWlCLFVBQVUsS0FBSyxVQUFVLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFDbkU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0IsV0FBb0I7QUFDbEMsV0FBTyxLQUFLLFFBQVE7QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxVQUE2QztBQUMzRCxTQUFLLGlCQUFpQjtBQUN0QixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sWUFBa0I7QUFDdkIsU0FBSyxpQkFBaUIsS0FBSyxTQUFTLENBQUM7QUFBQSxFQUN2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLFlBQVksVUFBeUI7QUFDbkQsVUFBTSxZQUFZLFFBQVE7QUFDMUIsU0FBSyxRQUFRLFdBQVc7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixTQUFTLE9BQXNCO0FBQzdDLFNBQUssUUFBUSxVQUFVO0FBQ3ZCLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * Checkbox component.
5
5
  */
6
- import type { Promisable } from 'type-fest';
7
6
  import { ValueComponent } from 'obsidian';
8
7
  import type { ValidatorElement } from '../../html-element.cjs';
9
8
  import type { ValidatorComponent } from './validator-component.cjs';
@@ -47,7 +46,7 @@ export declare class CheckboxComponent extends ValueComponent<boolean> implement
47
46
  * @param callback - The callback to be called when the checkbox is changed.
48
47
  * @returns The component.
49
48
  */
50
- onChange(callback: (newValue: boolean) => Promisable<void>): this;
49
+ onChange(callback: (newValue: boolean) => void): this;
51
50
  /**
52
51
  * Called when the checkbox is changed.
53
52
  */
@@ -292,9 +292,11 @@ class CodeHighlighterComponent extends import_obsidian.ValueComponent {
292
292
  return this;
293
293
  }
294
294
  /**
295
+ * Simulate a change event.
296
+ *
295
297
  * @deprecated Use only from tests to simulate a change event.
296
298
  */
297
- simulateChange() {
299
+ simulateChange__() {
298
300
  this.simulateChangeCallback?.();
299
301
  }
300
302
  handleKeyDown(evt) {
@@ -353,4 +355,4 @@ class CodeHighlighterComponent extends import_obsidian.ValueComponent {
353
355
  0 && (module.exports = {
354
356
  CodeHighlighterComponent
355
357
  });
356
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9jb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIG11bHRpcGxlIHRleHQgdmFsdWVzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGxvYWRQcmlzbSB9IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QvaW1wbGVtZW50YXRpb25zJztcbmltcG9ydCB7XG4gIFRleHRBcmVhQ29tcG9uZW50LFxuICBWYWx1ZUNvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL2h0bWwtZWxlbWVudC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QmFzZWRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYmFzZWQtY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcgfSBmcm9tICcuL3ZhbHVlLWNvbXBvbmVudC13aXRoLWNoYW5nZS10cmFja2luZy50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcbn0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgdG9QeCB9IGZyb20gJy4uLy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBjb2RlLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkQ29kZUhpZ2hsaWdodGVyfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudDxzdHJpbmc+XG4gIGltcGxlbWVudHMgVGV4dEJhc2VkQ29tcG9uZW50PHN0cmluZz4sIFZhbGlkYXRvckNvbXBvbmVudCwgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmc8c3RyaW5nPiB7XG4gIC8qKlxuICAgKiBBbiBpbnB1dCBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBpbnB1dCBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWwoKTogSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMudGV4dEFyZWFDb21wb25lbnQuaW5wdXRFbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9yRWwoKTogVmFsaWRhdG9yRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29kZUVsOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBwbGFjZWhvbGRlciA9ICcnO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZUVsOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBzaW11bGF0ZUNoYW5nZUNhbGxiYWNrPzogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSB0YWJTaXplOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEFyZWFDb21wb25lbnQ6IFRleHRBcmVhQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG11bHRpcGxlIHRleHQgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXMoY29udGFpbmVyRWwsIENzc0NsYXNzLkNvZGVIaWdobGlnaHRlckNvbXBvbmVudCk7XG5cbiAgICBjb25zdCB3cmFwcGVyID0gY29udGFpbmVyRWwuY3JlYXRlRGl2KCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh3cmFwcGVyLCBDc3NDbGFzcy5TZXR0aW5nQ29tcG9uZW50V3JhcHBlcik7XG5cbiAgICB0aGlzLnRleHRBcmVhQ29tcG9uZW50ID0gbmV3IFRleHRBcmVhQ29tcG9uZW50KHdyYXBwZXIpO1xuICAgIHRoaXMucHJlRWwgPSB3cmFwcGVyLmNyZWF0ZUVsKCdwcmUnLCB7XG4gICAgICBhdHRyOiB7XG4gICAgICAgIHRhYkluZGV4OiAnLTEnXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jb2RlRWwgPSB0aGlzLnByZUVsLmNyZWF0ZUVsKCdjb2RlJywge1xuICAgICAgYXR0cjoge1xuICAgICAgICB0YWJJbmRleDogJy0xJ1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgY29udmVydEFzeW5jVG9TeW5jKHRoaXMudXBkYXRlSGlnaGxpZ2h0ZWRDb2RlLmJpbmQodGhpcykpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVTY3JvbGwuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleURvd24uYmluZCh0aGlzKSk7XG4gICAgY29uc3QgREVGQVVMVF9UQUJfU0laRSA9IDI7XG4gICAgdGhpcy50YWJTaXplID0gREVGQVVMVF9UQUJfU0laRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbXB0aWVzIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNvbXBvbmVudCBpcyBlbXB0eSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5nZXRWYWx1ZSgpID09PSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY2hhbmdlIGxpc3RlbmVyIHRvIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2UoY2FsbGJhY2s6IChuZXdWYWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPHZvaWQ+KTogdGhpcyB7XG4gICAgY29uc3QgY2hhbmdlSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNhbGxiYWNrKHRoaXMuZ2V0VmFsdWUoKSk7XG4gICAgfTtcbiAgICB0aGlzLnNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2sgPSBjaGFuZ2VIYW5kbGVyO1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQub25DaGFuZ2UoY2hhbmdlSGFuZGxlcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGRpc2FibGVkIC0gVGhlIGRpc2FibGVkIHN0YXRlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXREaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHRoaXMge1xuICAgIHN1cGVyLnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICB0aGlzLnRleHRBcmVhQ29tcG9uZW50LnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYW5ndWFnZSBmb3IgY29kZSBoaWdobGlnaHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBsYW5ndWFnZSAtIFRoZSBsYW5ndWFnZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IExBTkdVQUdFX0NMQVNTX1BSRUZJWCA9ICdsYW5ndWFnZS0nO1xuICAgIGZvciAoY29uc3QgZWwgb2YgW3RoaXMucHJlRWwsIHRoaXMuY29kZUVsXSkge1xuICAgICAgZm9yIChjb25zdCBjbHMgb2YgQXJyYXkuZnJvbShlbC5jbGFzc0xpc3QpKSB7XG4gICAgICAgIGlmIChjbHMuc3RhcnRzV2l0aChMQU5HVUFHRV9DTEFTU19QUkVGSVgpKSB7XG4gICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbC5jbGFzc0xpc3QuYWRkKGAke0xBTkdVQUdFX0NMQVNTX1BSRUZJWH0ke2xhbmd1YWdlfWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkodGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyVmFsdWUgLSBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlclZhbHVlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0YWIgc2l6ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gdGFiU2l6ZSAtIFRoZSB0YWIgc2l6ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0VGFiU2l6ZSh0YWJTaXplOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRhYlNpemUgPSB0YWJTaXplO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQuc2V0VmFsdWUodmFsdWUpO1xuICAgIGludm9rZUFzeW5jU2FmZWx5KHRoaXMudXBkYXRlSGlnaGxpZ2h0ZWRDb2RlLmJpbmQodGhpcykpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBvbmx5IGZyb20gdGVzdHMgdG8gc2ltdWxhdGUgYSBjaGFuZ2UgZXZlbnQuXG4gICAqL1xuICBwdWJsaWMgc2ltdWxhdGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zaW11bGF0ZUNoYW5nZUNhbGxiYWNrPy4oKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZ0LmtleSAhPT0gJ1RhYicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmIChldnQuY3RybEtleSB8fCBldnQubWV0YUtleSkge1xuICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IEFycmF5LmZyb20oYWN0aXZlRG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oXG4gICAgICAgICc6aXMoYSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XSk6bm90KFt0YWJpbmRleD1cIi0xXCJdKTpub3QoOmRpc2FibGVkKTpub3QoW3R5cGU9XCJoaWRkZW5cIl0pJ1xuICAgICAgKSk7XG4gICAgICBjb25zdCBpbmRleCA9IGZvY3VzYWJsZXMuaW5kZXhPZih0aGlzLmlucHV0RWwpO1xuICAgICAgY29uc3QgZGVsdGFJbmRleCA9IGV2dC5zaGlmdEtleSA/IC0xIDogMTtcbiAgICAgIGNvbnN0IG5leHRDb250cm9sID0gZm9jdXNhYmxlc1soaW5kZXggKyBkZWx0YUluZGV4ICsgZm9jdXNhYmxlcy5sZW5ndGgpICUgZm9jdXNhYmxlcy5sZW5ndGhdO1xuICAgICAgbmV4dENvbnRyb2w/LmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0RWwuc2VsZWN0aW9uU3RhcnQ7XG4gICAgY29uc3Qgc2VsZWN0aW9uRW5kID0gdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZDtcbiAgICBjb25zdCBiZWZvcmVTZWxlY3Rpb24gPSBvbGRWYWx1ZS5zbGljZSgwLCBzZWxlY3Rpb25TdGFydCk7XG4gICAgY29uc3QgYWZ0ZXJTZWxlY3Rpb24gPSBvbGRWYWx1ZS5zbGljZShzZWxlY3Rpb25FbmQpO1xuICAgIGNvbnN0IHRhYnMgPSAnICcucmVwZWF0KHRoaXMudGFiU2l6ZSk7XG4gICAgbGV0IG5ld0JlZm9yZVNlbGVjdGlvbiA9IGJlZm9yZVNlbGVjdGlvbjtcblxuICAgIGlmIChldnQuc2hpZnRLZXkpIHtcbiAgICAgIGlmIChiZWZvcmVTZWxlY3Rpb24uZW5kc1dpdGgodGFicykpIHtcbiAgICAgICAgbmV3QmVmb3JlU2VsZWN0aW9uID0gYmVmb3JlU2VsZWN0aW9uLnNsaWNlKDAsIC10aGlzLnRhYlNpemUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCZWZvcmVTZWxlY3Rpb24gPSBiZWZvcmVTZWxlY3Rpb24gKyB0YWJzO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7bmV3QmVmb3JlU2VsZWN0aW9ufSR7YWZ0ZXJTZWxlY3Rpb259YDtcbiAgICB0aGlzLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB0aGlzLmlucHV0RWwuc2VsZWN0aW9uU3RhcnQgPSBuZXdCZWZvcmVTZWxlY3Rpb24ubGVuZ3RoO1xuICAgIHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25FbmQgPSBuZXdCZWZvcmVTZWxlY3Rpb24ubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5wcmVFbC5zY3JvbGxUb3AgPSB0aGlzLmlucHV0RWwuc2Nyb2xsVG9wO1xuICAgIHRoaXMucHJlRWwuc2Nyb2xsTGVmdCA9IHRoaXMuaW5wdXRFbC5zY3JvbGxMZWZ0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVIaWdobGlnaHRlZENvZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb2RlRWwudGV4dENvbnRlbnQgPSB0aGlzLmlucHV0RWwudmFsdWUgfHwgdGhpcy5wbGFjZWhvbGRlcjtcbiAgICBjb25zdCBwcmlzbSA9IGF3YWl0IGxvYWRQcmlzbSgpO1xuICAgIHByaXNtLmhpZ2hsaWdodEVsZW1lbnQodGhpcy5jb2RlRWwpO1xuICAgIHRoaXMucHJlRWwudG9nZ2xlQ2xhc3MoQ3NzQ2xhc3MuSXNQbGFjZWhvbGRlciwgdGhpcy5pc0VtcHR5KCkpO1xuICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgY29uc3QgZ2FwID0gTWF0aC5tYXgoMCwgdGhpcy5pbnB1dEVsLnNjcm9sbEhlaWdodCAtIHRoaXMucHJlRWwuc2Nyb2xsSGVpZ2h0KTtcbiAgICAgIHRoaXMucHJlRWwuc2V0Q3NzUHJvcHMoe1xuICAgICAgICAnLS1ib3R0b20tZ2FwJzogdG9QeChnYXApXG4gICAgICB9KTtcbiAgICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
358
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9jb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIG11bHRpcGxlIHRleHQgdmFsdWVzLlxuICovXG5cbmltcG9ydCB7IGxvYWRQcmlzbSB9IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QvaW1wbGVtZW50YXRpb25zJztcbmltcG9ydCB7XG4gIFRleHRBcmVhQ29tcG9uZW50LFxuICBWYWx1ZUNvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL2h0bWwtZWxlbWVudC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QmFzZWRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYmFzZWQtY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcgfSBmcm9tICcuL3ZhbHVlLWNvbXBvbmVudC13aXRoLWNoYW5nZS10cmFja2luZy50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcbn0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgdG9QeCB9IGZyb20gJy4uLy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBjb2RlLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkQ29kZUhpZ2hsaWdodGVyfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudDxzdHJpbmc+XG4gIGltcGxlbWVudHMgVGV4dEJhc2VkQ29tcG9uZW50PHN0cmluZz4sIFZhbGlkYXRvckNvbXBvbmVudCwgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmc8c3RyaW5nPiB7XG4gIC8qKlxuICAgKiBBbiBpbnB1dCBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBpbnB1dCBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWwoKTogSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMudGV4dEFyZWFDb21wb25lbnQuaW5wdXRFbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9yRWwoKTogVmFsaWRhdG9yRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29kZUVsOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBwbGFjZWhvbGRlciA9ICcnO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZUVsOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBzaW11bGF0ZUNoYW5nZUNhbGxiYWNrPzogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSB0YWJTaXplOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEFyZWFDb21wb25lbnQ6IFRleHRBcmVhQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG11bHRpcGxlIHRleHQgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXMoY29udGFpbmVyRWwsIENzc0NsYXNzLkNvZGVIaWdobGlnaHRlckNvbXBvbmVudCk7XG5cbiAgICBjb25zdCB3cmFwcGVyID0gY29udGFpbmVyRWwuY3JlYXRlRGl2KCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh3cmFwcGVyLCBDc3NDbGFzcy5TZXR0aW5nQ29tcG9uZW50V3JhcHBlcik7XG5cbiAgICB0aGlzLnRleHRBcmVhQ29tcG9uZW50ID0gbmV3IFRleHRBcmVhQ29tcG9uZW50KHdyYXBwZXIpO1xuICAgIHRoaXMucHJlRWwgPSB3cmFwcGVyLmNyZWF0ZUVsKCdwcmUnLCB7XG4gICAgICBhdHRyOiB7XG4gICAgICAgIHRhYkluZGV4OiAnLTEnXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jb2RlRWwgPSB0aGlzLnByZUVsLmNyZWF0ZUVsKCdjb2RlJywge1xuICAgICAgYXR0cjoge1xuICAgICAgICB0YWJJbmRleDogJy0xJ1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgY29udmVydEFzeW5jVG9TeW5jKHRoaXMudXBkYXRlSGlnaGxpZ2h0ZWRDb2RlLmJpbmQodGhpcykpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVTY3JvbGwuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleURvd24uYmluZCh0aGlzKSk7XG4gICAgY29uc3QgREVGQVVMVF9UQUJfU0laRSA9IDI7XG4gICAgdGhpcy50YWJTaXplID0gREVGQVVMVF9UQUJfU0laRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbXB0aWVzIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNvbXBvbmVudCBpcyBlbXB0eSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5nZXRWYWx1ZSgpID09PSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY2hhbmdlIGxpc3RlbmVyIHRvIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2UoY2FsbGJhY2s6IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgY29uc3QgY2hhbmdlSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNhbGxiYWNrKHRoaXMuZ2V0VmFsdWUoKSk7XG4gICAgfTtcbiAgICB0aGlzLnNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2sgPSBjaGFuZ2VIYW5kbGVyO1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQub25DaGFuZ2UoY2hhbmdlSGFuZGxlcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGRpc2FibGVkIC0gVGhlIGRpc2FibGVkIHN0YXRlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXREaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHRoaXMge1xuICAgIHN1cGVyLnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICB0aGlzLnRleHRBcmVhQ29tcG9uZW50LnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYW5ndWFnZSBmb3IgY29kZSBoaWdobGlnaHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBsYW5ndWFnZSAtIFRoZSBsYW5ndWFnZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IExBTkdVQUdFX0NMQVNTX1BSRUZJWCA9ICdsYW5ndWFnZS0nO1xuICAgIGZvciAoY29uc3QgZWwgb2YgW3RoaXMucHJlRWwsIHRoaXMuY29kZUVsXSkge1xuICAgICAgZm9yIChjb25zdCBjbHMgb2YgQXJyYXkuZnJvbShlbC5jbGFzc0xpc3QpKSB7XG4gICAgICAgIGlmIChjbHMuc3RhcnRzV2l0aChMQU5HVUFHRV9DTEFTU19QUkVGSVgpKSB7XG4gICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbC5jbGFzc0xpc3QuYWRkKGAke0xBTkdVQUdFX0NMQVNTX1BSRUZJWH0ke2xhbmd1YWdlfWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkodGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyVmFsdWUgLSBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlclZhbHVlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0YWIgc2l6ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gdGFiU2l6ZSAtIFRoZSB0YWIgc2l6ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0VGFiU2l6ZSh0YWJTaXplOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRhYlNpemUgPSB0YWJTaXplO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQuc2V0VmFsdWUodmFsdWUpO1xuICAgIGludm9rZUFzeW5jU2FmZWx5KHRoaXMudXBkYXRlSGlnaGxpZ2h0ZWRDb2RlLmJpbmQodGhpcykpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpbXVsYXRlIGEgY2hhbmdlIGV2ZW50LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugb25seSBmcm9tIHRlc3RzIHRvIHNpbXVsYXRlIGEgY2hhbmdlIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIHNpbXVsYXRlQ2hhbmdlX18oKTogdm9pZCB7XG4gICAgdGhpcy5zaW11bGF0ZUNoYW5nZUNhbGxiYWNrPy4oKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZ0LmtleSAhPT0gJ1RhYicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmIChldnQuY3RybEtleSB8fCBldnQubWV0YUtleSkge1xuICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IEFycmF5LmZyb20oYWN0aXZlRG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oXG4gICAgICAgICc6aXMoYSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XSk6bm90KFt0YWJpbmRleD1cIi0xXCJdKTpub3QoOmRpc2FibGVkKTpub3QoW3R5cGU9XCJoaWRkZW5cIl0pJ1xuICAgICAgKSk7XG4gICAgICBjb25zdCBpbmRleCA9IGZvY3VzYWJsZXMuaW5kZXhPZih0aGlzLmlucHV0RWwpO1xuICAgICAgY29uc3QgZGVsdGFJbmRleCA9IGV2dC5zaGlmdEtleSA/IC0xIDogMTtcbiAgICAgIGNvbnN0IG5leHRDb250cm9sID0gZm9jdXNhYmxlc1soaW5kZXggKyBkZWx0YUluZGV4ICsgZm9jdXNhYmxlcy5sZW5ndGgpICUgZm9jdXNhYmxlcy5sZW5ndGhdO1xuICAgICAgbmV4dENvbnRyb2w/LmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0RWwuc2VsZWN0aW9uU3RhcnQ7XG4gICAgY29uc3Qgc2VsZWN0aW9uRW5kID0gdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZDtcbiAgICBjb25zdCBiZWZvcmVTZWxlY3Rpb24gPSBvbGRWYWx1ZS5zbGljZSgwLCBzZWxlY3Rpb25TdGFydCk7XG4gICAgY29uc3QgYWZ0ZXJTZWxlY3Rpb24gPSBvbGRWYWx1ZS5zbGljZShzZWxlY3Rpb25FbmQpO1xuICAgIGNvbnN0IHRhYnMgPSAnICcucmVwZWF0KHRoaXMudGFiU2l6ZSk7XG4gICAgbGV0IG5ld0JlZm9yZVNlbGVjdGlvbiA9IGJlZm9yZVNlbGVjdGlvbjtcblxuICAgIGlmIChldnQuc2hpZnRLZXkpIHtcbiAgICAgIGlmIChiZWZvcmVTZWxlY3Rpb24uZW5kc1dpdGgodGFicykpIHtcbiAgICAgICAgbmV3QmVmb3JlU2VsZWN0aW9uID0gYmVmb3JlU2VsZWN0aW9uLnNsaWNlKDAsIC10aGlzLnRhYlNpemUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCZWZvcmVTZWxlY3Rpb24gPSBiZWZvcmVTZWxlY3Rpb24gKyB0YWJzO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7bmV3QmVmb3JlU2VsZWN0aW9ufSR7YWZ0ZXJTZWxlY3Rpb259YDtcbiAgICB0aGlzLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB0aGlzLmlucHV0RWwuc2VsZWN0aW9uU3RhcnQgPSBuZXdCZWZvcmVTZWxlY3Rpb24ubGVuZ3RoO1xuICAgIHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25FbmQgPSBuZXdCZWZvcmVTZWxlY3Rpb24ubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5wcmVFbC5zY3JvbGxUb3AgPSB0aGlzLmlucHV0RWwuc2Nyb2xsVG9wO1xuICAgIHRoaXMucHJlRWwuc2Nyb2xsTGVmdCA9IHRoaXMuaW5wdXRFbC5zY3JvbGxMZWZ0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVIaWdobGlnaHRlZENvZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb2RlRWwudGV4dENvbnRlbnQgPSB0aGlzLmlucHV0RWwudmFsdWUgfHwgdGhpcy5wbGFjZWhvbGRlcjtcbiAgICBjb25zdCBwcmlzbSA9IGF3YWl0IGxvYWRQcmlzbSgpO1xuICAgIHByaXNtLmhpZ2hsaWdodEVsZW1lbnQodGhpcy5jb2RlRWwpO1xuICAgIHRoaXMucHJlRWwudG9nZ2xlQ2xhc3MoQ3NzQ2xhc3MuSXNQbGFjZWhvbGRlciwgdGhpcy5pc0VtcHR5KCkpO1xuICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgY29uc3QgZ2FwID0gTWF0aC5tYXgoMCwgdGhpcy5pbnB1dEVsLnNjcm9sbEhlaWdodCAtIHRoaXMucHJlRWwuc2Nyb2xsSGVpZ2h0KTtcbiAgICAgIHRoaXMucHJlRWwuc2V0Q3NzUHJvcHMoe1xuICAgICAgICAnLS1ib3R0b20tZ2FwJzogdG9QeChnYXApXG4gICAgICB9KTtcbiAgICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * Contains a component that displays and edits multiple text values.
5
5
  */
6
- import type { Promisable } from 'type-fest';
7
6
  import { ValueComponent } from 'obsidian';
8
7
  import type { ValidatorElement } from '../../html-element.cjs';
9
8
  import type { TextBasedComponent } from './text-based-component.cjs';
@@ -65,7 +64,7 @@ export declare class CodeHighlighterComponent extends ValueComponent<string> imp
65
64
  * @param callback - The callback to call when the value changes.
66
65
  * @returns The component.
67
66
  */
68
- onChange(callback: (newValue: string) => Promisable<void>): this;
67
+ onChange(callback: (newValue: string) => void): this;
69
68
  /**
70
69
  * Sets the disabled state of the component.
71
70
  *
@@ -109,9 +108,11 @@ export declare class CodeHighlighterComponent extends ValueComponent<string> imp
109
108
  */
110
109
  setValue(value: string): this;
111
110
  /**
111
+ * Simulate a change event.
112
+ *
112
113
  * @deprecated Use only from tests to simulate a change event.
113
114
  */
114
- simulateChange(): void;
115
+ simulateChange__(): void;
115
116
  private handleKeyDown;
116
117
  private handleScroll;
117
118
  private updateHighlightedCode;
@@ -158,7 +158,6 @@ class DateComponent extends import_typed_range_text_component.TypedRangeTextComp
158
158
  * @param value - The date to convert.
159
159
  * @returns The string.
160
160
  */
161
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally replaces default String() conversion with custom formatting.
162
161
  valueToString(value) {
163
162
  return moment(value).format(DATE_FORMAT);
164
163
  }
@@ -167,4 +166,4 @@ class DateComponent extends import_typed_range_text_component.TypedRangeTextComp
167
166
  0 && (module.exports = {
168
167
  DateComponent
169
168
  });
170
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgZGF0ZS5cbiAqL1xuXG5pbXBvcnQgeyBtb21lbnQgYXMgbW9tZW50XyB9IGZyb20gJ29ic2lkaWFuJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBXZSBuZWVkIHRvIGltcG9ydCBgaW5pdFBsdWdpbkNvbnRleHRgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuaW1wb3J0IHR5cGUgeyBpbml0UGx1Z2luQ29udGV4dCB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBTZXR0aW5nRXhgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi9zZXR0aW5nLWV4LnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wIH0gZnJvbSAnLi4vLi4vb2JqZWN0LXV0aWxzLnRzJztcbmltcG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi90eXBlZC1yYW5nZS10ZXh0LWNvbXBvbmVudC50cyc7XG5cbmNvbnN0IG1vbWVudCA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChtb21lbnRfKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWS1NTS1ERCc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSBkYXRlLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkRGF0ZX0uXG4gKlxuICogSW4gb3JkZXIgdG8gYWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBjb21wb25lbnQsIHVzZSB7QGxpbmsgaW5pdFBsdWdpbkNvbnRleHR9IGluIHlvdXIgcGx1Z2luJ3MgYG9ubG9hZCgpYCBmdW5jdGlvbi5cbiAqXG4gKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvcHkgc3R5bGVzIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3N0eWxlcy5jc3N9LlxuICovXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50PERhdGU+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAnZGF0ZScsIENzc0NsYXNzLkRhdGVDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgZGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIGRhdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogRGF0ZSB7XG4gICAgcmV0dXJuIG1vbWVudChzdHIsIERBVEVfRk9STUFUKS50b0RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIGRhdGUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBkYXRlIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIFRoZSBzdHJpbmcuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3JlcXVpcmUtc3VwZXItY2FsbCAtLSBJbnRlbnRpb25hbGx5IHJlcGxhY2VzIGRlZmF1bHQgU3RyaW5nKCkgY29udmVyc2lvbiB3aXRoIGN1c3RvbSBmb3JtYXR0aW5nLlxuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVUb1N0cmluZyh2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1vbWVudCh2YWx1ZSkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQWtDO0FBT2xDLHVCQUF5QjtBQUN6QiwwQkFBNEM7QUFDNUMsd0NBQXdDO0FBRXhDLE1BQU0sYUFBUyxpREFBNEIsZ0JBQUFBLE1BQU87QUFFbEQsTUFBTSxjQUFjO0FBV2IsTUFBTSxzQkFBc0IsMERBQThCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXhELFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLFFBQVEsMEJBQVMsYUFBYTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZ0JBQWdCLEtBQW1CO0FBQ2pELFdBQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxPQUFPO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2dCLGNBQWMsT0FBcUI7QUFDakQsV0FBTyxPQUFPLEtBQUssRUFBRSxPQUFPLFdBQVc7QUFBQSxFQUN6QztBQUNGOyIsCiAgIm5hbWVzIjogWyJtb21lbnRfIl0KfQo=
169
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgZGF0ZS5cbiAqL1xuXG5pbXBvcnQgeyBtb21lbnQgYXMgbW9tZW50XyB9IGZyb20gJ29ic2lkaWFuJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBXZSBuZWVkIHRvIGltcG9ydCBgaW5pdFBsdWdpbkNvbnRleHRgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuaW1wb3J0IHR5cGUgeyBpbml0UGx1Z2luQ29udGV4dCB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBTZXR0aW5nRXhgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi9zZXR0aW5nLWV4LnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wIH0gZnJvbSAnLi4vLi4vb2JqZWN0LXV0aWxzLnRzJztcbmltcG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi90eXBlZC1yYW5nZS10ZXh0LWNvbXBvbmVudC50cyc7XG5cbmNvbnN0IG1vbWVudCA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChtb21lbnRfKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWS1NTS1ERCc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSBkYXRlLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkRGF0ZX0uXG4gKlxuICogSW4gb3JkZXIgdG8gYWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBjb21wb25lbnQsIHVzZSB7QGxpbmsgaW5pdFBsdWdpbkNvbnRleHR9IGluIHlvdXIgcGx1Z2luJ3MgYG9ubG9hZCgpYCBmdW5jdGlvbi5cbiAqXG4gKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvcHkgc3R5bGVzIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3N0eWxlcy5jc3N9LlxuICovXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50PERhdGU+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAnZGF0ZScsIENzc0NsYXNzLkRhdGVDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgZGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIGRhdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogRGF0ZSB7XG4gICAgcmV0dXJuIG1vbWVudChzdHIsIERBVEVfRk9STUFUKS50b0RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIGRhdGUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBkYXRlIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIFRoZSBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVUb1N0cmluZyh2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1vbWVudCh2YWx1ZSkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQWtDO0FBT2xDLHVCQUF5QjtBQUN6QiwwQkFBNEM7QUFDNUMsd0NBQXdDO0FBRXhDLE1BQU0sYUFBUyxpREFBNEIsZ0JBQUFBLE1BQU87QUFFbEQsTUFBTSxjQUFjO0FBV2IsTUFBTSxzQkFBc0IsMERBQThCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXhELFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLFFBQVEsMEJBQVMsYUFBYTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZ0JBQWdCLEtBQW1CO0FBQ2pELFdBQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxPQUFPO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLE9BQXFCO0FBQ2pELFdBQU8sT0FBTyxLQUFLLEVBQUUsT0FBTyxXQUFXO0FBQUEsRUFDekM7QUFDRjsiLAogICJuYW1lcyI6IFsibW9tZW50XyJdCn0K
@@ -158,7 +158,6 @@ class DateTimeComponent extends import_typed_range_text_component.TypedRangeText
158
158
  * @param value - The date to convert.
159
159
  * @returns The string.
160
160
  */
161
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally replaces default String() conversion with custom formatting.
162
161
  valueToString(value) {
163
162
  return moment(value).format(DATE_TIME_FORMAT);
164
163
  }
@@ -167,4 +166,4 @@ class DateTimeComponent extends import_typed_range_text_component.TypedRangeText
167
166
  0 && (module.exports = {
168
167
  DateTimeComponent
169
168
  });
170
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLXRpbWUtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSBkYXRlIGFuZCB0aW1lLlxuICovXG5cbmltcG9ydCB7IG1vbWVudCBhcyBtb21lbnRfIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICcuLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgVHlwZWRSYW5nZVRleHRDb21wb25lbnQgfSBmcm9tICcuL3R5cGVkLXJhbmdlLXRleHQtY29tcG9uZW50LnRzJztcblxuY29uc3QgbW9tZW50ID0gZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wKG1vbWVudF8pO1xuXG5jb25zdCBEQVRFX1RJTUVfRk9STUFUID0gJ1lZWVktTU0tRERUSEg6bW0nO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgZGF0ZSBhbmQgdGltZS5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZERhdGVUaW1lfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUNvbXBvbmVudCBleHRlbmRzIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50PERhdGU+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhbmQgdGltZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAnZGF0ZXRpbWUtbG9jYWwnLCBDc3NDbGFzcy5EYXRlVGltZUNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoc3RyOiBzdHJpbmcpOiBEYXRlIHtcbiAgICByZXR1cm4gbW9tZW50KHN0ciwgREFURV9USU1FX0ZPUk1BVCkudG9EYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBkYXRlIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZGF0ZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLXN1cGVyLWNhbGwgLS0gSW50ZW50aW9uYWxseSByZXBsYWNlcyBkZWZhdWx0IFN0cmluZygpIGNvbnZlcnNpb24gd2l0aCBjdXN0b20gZm9ybWF0dGluZy5cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBtb21lbnQodmFsdWUpLmZvcm1hdChEQVRFX1RJTUVfRk9STUFUKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQWtDO0FBT2xDLHVCQUF5QjtBQUN6QiwwQkFBNEM7QUFDNUMsd0NBQXdDO0FBRXhDLE1BQU0sYUFBUyxpREFBNEIsZ0JBQUFBLE1BQU87QUFFbEQsTUFBTSxtQkFBbUI7QUFXbEIsTUFBTSwwQkFBMEIsMERBQThCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTVELFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLGtCQUFrQiwwQkFBUyxpQkFBaUI7QUFBQSxFQUNqRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGdCQUFnQixLQUFtQjtBQUNqRCxXQUFPLE9BQU8sS0FBSyxnQkFBZ0IsRUFBRSxPQUFPO0FBQUEsRUFDOUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2dCLGNBQWMsT0FBcUI7QUFDakQsV0FBTyxPQUFPLEtBQUssRUFBRSxPQUFPLGdCQUFnQjtBQUFBLEVBQzlDO0FBQ0Y7IiwKICAibmFtZXMiOiBbIm1vbWVudF8iXQp9Cg==
169
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLXRpbWUtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSBkYXRlIGFuZCB0aW1lLlxuICovXG5cbmltcG9ydCB7IG1vbWVudCBhcyBtb21lbnRfIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICcuLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgVHlwZWRSYW5nZVRleHRDb21wb25lbnQgfSBmcm9tICcuL3R5cGVkLXJhbmdlLXRleHQtY29tcG9uZW50LnRzJztcblxuY29uc3QgbW9tZW50ID0gZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wKG1vbWVudF8pO1xuXG5jb25zdCBEQVRFX1RJTUVfRk9STUFUID0gJ1lZWVktTU0tRERUSEg6bW0nO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgZGF0ZSBhbmQgdGltZS5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZERhdGVUaW1lfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUNvbXBvbmVudCBleHRlbmRzIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50PERhdGU+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhbmQgdGltZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAnZGF0ZXRpbWUtbG9jYWwnLCBDc3NDbGFzcy5EYXRlVGltZUNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoc3RyOiBzdHJpbmcpOiBEYXRlIHtcbiAgICByZXR1cm4gbW9tZW50KHN0ciwgREFURV9USU1FX0ZPUk1BVCkudG9EYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBkYXRlIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZGF0ZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBtb21lbnQodmFsdWUpLmZvcm1hdChEQVRFX1RJTUVfRk9STUFUKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQWtDO0FBT2xDLHVCQUF5QjtBQUN6QiwwQkFBNEM7QUFDNUMsd0NBQXdDO0FBRXhDLE1BQU0sYUFBUyxpREFBNEIsZ0JBQUFBLE1BQU87QUFFbEQsTUFBTSxtQkFBbUI7QUFXbEIsTUFBTSwwQkFBMEIsMERBQThCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTVELFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLGtCQUFrQiwwQkFBUyxpQkFBaUI7QUFBQSxFQUNqRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGdCQUFnQixLQUFtQjtBQUNqRCxXQUFPLE9BQU8sS0FBSyxnQkFBZ0IsRUFBRSxPQUFPO0FBQUEsRUFDOUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLE9BQXFCO0FBQ2pELFdBQU8sT0FBTyxLQUFLLEVBQUUsT0FBTyxnQkFBZ0I7QUFBQSxFQUM5QztBQUNGOyIsCiAgIm5hbWVzIjogWyJtb21lbnRfIl0KfQo=
@@ -144,7 +144,6 @@ class FileComponent extends import_typed_text_component.TypedTextComponent {
144
144
  *
145
145
  * @returns The value of the component.
146
146
  */
147
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally replaces default String() conversion with custom formatting.
148
147
  getValue() {
149
148
  return this.inputEl.files?.[0] ?? null;
150
149
  }
@@ -162,7 +161,6 @@ class FileComponent extends import_typed_text_component.TypedTextComponent {
162
161
  * @param value - The file to convert.
163
162
  * @returns The string.
164
163
  */
165
- // eslint-disable-next-line obsidian-dev-utils/require-super-call -- Intentionally replaces default String() conversion with custom formatting.
166
164
  valueToString(value) {
167
165
  return value?.name ?? "";
168
166
  }
@@ -171,4 +169,4 @@ class FileComponent extends import_typed_text_component.TypedTextComponent {
171
169
  0 && (module.exports = {
172
170
  FileComponent
173
171
  });
174
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9maWxlLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgZmlsZS5cbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBUeXBlZFRleHRDb21wb25lbnQgfSBmcm9tICcuL3R5cGVkLXRleHQtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIGZpbGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRGaWxlfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlQ29tcG9uZW50IGV4dGVuZHMgVHlwZWRUZXh0Q29tcG9uZW50PEZpbGUgfCBudWxsPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZpbGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihjb250YWluZXJFbCwgJ2ZpbGUnLCBDc3NDbGFzcy5GaWxlQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1zdXBlci1jYWxsIC0tIEludGVudGlvbmFsbHkgcmVwbGFjZXMgZGVmYXVsdCBTdHJpbmcoKSBjb252ZXJzaW9uIHdpdGggY3VzdG9tIGZvcm1hdHRpbmcuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBGaWxlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5maWxlcz8uWzBdID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBmaWxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoKTogRmlsZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBmaWxlIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZmlsZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLXN1cGVyLWNhbGwgLS0gSW50ZW50aW9uYWxseSByZXBsYWNlcyBkZWZhdWx0IFN0cmluZygpIGNvbnZlcnNpb24gd2l0aCBjdXN0b20gZm9ybWF0dGluZy5cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IEZpbGUgfCBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWU/Lm5hbWUgPz8gJyc7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHVCQUF5QjtBQUN6QixrQ0FBbUM7QUFXNUIsTUFBTSxzQkFBc0IsK0NBQWdDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTFELFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLFFBQVEsMEJBQVMsYUFBYTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsV0FBd0I7QUFDdEMsV0FBTyxLQUFLLFFBQVEsUUFBUSxDQUFDLEtBQUs7QUFBQSxFQUNwQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9nQixrQkFBK0I7QUFDN0MsV0FBTyxLQUFLLFNBQVM7QUFBQSxFQUN2QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsY0FBYyxPQUE0QjtBQUN4RCxXQUFPLE9BQU8sUUFBUTtBQUFBLEVBQ3hCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
172
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctY29tcG9uZW50cy9maWxlLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgZmlsZS5cbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBpbml0UGx1Z2luQ29udGV4dGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFNldHRpbmdFeGAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL3NldHRpbmctZXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBUeXBlZFRleHRDb21wb25lbnQgfSBmcm9tICcuL3R5cGVkLXRleHQtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIGZpbGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRGaWxlfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlQ29tcG9uZW50IGV4dGVuZHMgVHlwZWRUZXh0Q29tcG9uZW50PEZpbGUgfCBudWxsPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZpbGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihjb250YWluZXJFbCwgJ2ZpbGUnLCBDc3NDbGFzcy5GaWxlQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBGaWxlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5maWxlcz8uWzBdID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBmaWxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoKTogRmlsZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBmaWxlIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZmlsZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IEZpbGUgfCBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWU/Lm5hbWUgPz8gJyc7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHVCQUF5QjtBQUN6QixrQ0FBbUM7QUFXNUIsTUFBTSxzQkFBc0IsK0NBQWdDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTFELFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLFFBQVEsMEJBQVMsYUFBYTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLFdBQXdCO0FBQ3RDLFdBQU8sS0FBSyxRQUFRLFFBQVEsQ0FBQyxLQUFLO0FBQUEsRUFDcEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0Isa0JBQStCO0FBQzdDLFdBQU8sS0FBSyxTQUFTO0FBQUEsRUFDdkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLE9BQTRCO0FBQ3hELFdBQU8sT0FBTyxRQUFRO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K