obsidian-dev-utils 86.1.3 → 86.2.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 (66) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/dev/main.js +37333 -0
  3. package/dist/dev/manifest.json +9 -0
  4. package/dist/lib/cjs/__merged.cjs +34 -3
  5. package/dist/lib/cjs/__merged.d.cts +5 -4
  6. package/dist/lib/cjs/async-events.cjs +32 -3
  7. package/dist/lib/cjs/async-events.d.cts +63 -0
  8. package/dist/lib/cjs/disposable.cjs +103 -115
  9. package/dist/lib/cjs/disposable.d.cts +81 -57
  10. package/dist/lib/cjs/generated-during-build.cjs +1 -1
  11. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +48 -21
  12. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +11 -8
  13. package/dist/lib/cjs/obsidian/command-handlers/open-demo-vault-command-handler.cjs +1 -1
  14. package/dist/lib/cjs/obsidian/community-plugins.cjs +109 -9
  15. package/dist/lib/cjs/obsidian/community-plugins.d.cts +175 -3
  16. package/dist/lib/cjs/obsidian/components/component-ex.cjs +18 -1
  17. package/dist/lib/cjs/obsidian/components/component-ex.d.cts +12 -0
  18. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +8 -4
  19. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.d.cts +7 -3
  20. package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +5 -4
  21. package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +3 -2
  22. package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +2 -7
  23. package/dist/lib/cjs/obsidian/events.cjs +165 -0
  24. package/dist/lib/cjs/obsidian/events.d.cts +98 -0
  25. package/dist/lib/cjs/obsidian/index.cjs +4 -1
  26. package/dist/lib/cjs/obsidian/index.d.cts +1 -0
  27. package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +1 -1
  28. package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +7 -3
  29. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +31 -33
  30. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.cts +11 -0
  31. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +39 -52
  32. package/dist/lib/cjs/script-utils/linters/eslint-no-restricted-syntax.cjs +1 -5
  33. package/dist/lib/cjs/type.cjs +31 -12
  34. package/dist/lib/cjs/type.d.cts +56 -36
  35. package/dist/lib/esm/__merged.d.mts +5 -4
  36. package/dist/lib/esm/__merged.mjs +39 -5
  37. package/dist/lib/esm/async-events.d.mts +63 -0
  38. package/dist/lib/esm/async-events.mjs +29 -2
  39. package/dist/lib/esm/disposable.d.mts +81 -57
  40. package/dist/lib/esm/disposable.mjs +101 -115
  41. package/dist/lib/esm/generated-during-build.mjs +1 -1
  42. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +11 -8
  43. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +49 -22
  44. package/dist/lib/esm/obsidian/command-handlers/open-demo-vault-command-handler.mjs +1 -1
  45. package/dist/lib/esm/obsidian/community-plugins.d.mts +175 -3
  46. package/dist/lib/esm/obsidian/community-plugins.mjs +100 -8
  47. package/dist/lib/esm/obsidian/components/component-ex.d.mts +12 -0
  48. package/dist/lib/esm/obsidian/components/component-ex.mjs +18 -1
  49. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.d.mts +7 -3
  50. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +8 -4
  51. package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +3 -2
  52. package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +5 -4
  53. package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +5 -7
  54. package/dist/lib/esm/obsidian/events.d.mts +98 -0
  55. package/dist/lib/esm/obsidian/events.mjs +55 -0
  56. package/dist/lib/esm/obsidian/index.d.mts +1 -0
  57. package/dist/lib/esm/obsidian/index.mjs +3 -1
  58. package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +7 -3
  59. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.mts +11 -0
  60. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +29 -32
  61. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +40 -55
  62. package/dist/lib/esm/script-utils/linters/eslint-no-restricted-syntax.mjs +1 -5
  63. package/dist/lib/esm/type.d.mts +56 -36
  64. package/dist/lib/esm/type.mjs +30 -11
  65. package/obsidian/events/package.json +6 -0
  66. package/package.json +18 -15
@@ -22,17 +22,36 @@ if you want to view the source, please visit the github repository of this plugi
22
22
  })();
23
23
 
24
24
  import { castTo } from "./object-utils.mjs";
25
- function typeAsserter() {
26
- return castTo({
27
- assertAllKeys(keys) {
28
- return Object.freeze(keys.slice());
29
- },
30
- assertAllMembers(keys) {
31
- return Object.freeze(keys.slice());
32
- }
33
- });
25
+ class TypeAsserter {
26
+ /**
27
+ * Asserts that all keys of an object type are present in a list of keys.
28
+ *
29
+ * @remarks Only available when `[Type] extends [object]`.
30
+ */
31
+ assertAllKeys;
32
+ /**
33
+ * Asserts that all members of a union type are present in a list of members.
34
+ *
35
+ * @remarks Only available when `[Type] extends [LiteralKey]`.
36
+ */
37
+ assertAllMembers;
38
+ /**
39
+ * Creates a type asserter that captures {@link Type} for compile-time exhaustiveness checks.
40
+ */
41
+ constructor() {
42
+ const assertions = castTo({
43
+ assertAllKeys(keys) {
44
+ return Object.freeze(keys.slice());
45
+ },
46
+ assertAllMembers(keys) {
47
+ return Object.freeze(keys.slice());
48
+ }
49
+ });
50
+ this.assertAllKeys = assertions.assertAllKeys;
51
+ this.assertAllMembers = assertions.assertAllMembers;
52
+ }
34
53
  }
35
54
  export {
36
- typeAsserter
55
+ TypeAsserter
37
56
  };
38
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUeXBlIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBjYXN0VG8gfSBmcm9tICcuL29iamVjdC11dGlscy50cyc7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUga2V5cyBvZiBhbiBvYmplY3QgYXMgc3RyaW5ncyBhbmQgYXNzZXJ0cyB0aGF0IGFsbCBrZXlzIGFyZSBwcmVzZW50IGluIGEgbGlzdCBvZiBrZXlzLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBvYmplY3QuXG4gKiBAdHlwZVBhcmFtIEtleXMgLSBUaGUgbGlzdCBvZiBrZXlzIHRvIGFzc2VydC5cbiAqL1xuZXhwb3J0IHR5cGUgRXhhY3RLZXlzPFR5cGUgZXh0ZW5kcyBvYmplY3QsIEtleXMgZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXT4gPSBFeGFjdE1lbWJlcnM8U3RyaW5nS2V5czxUeXBlPiwgS2V5cz47XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUgbWVtYmVycyBvZiBhIHR5cGUuXG4gKlxuICogQHR5cGVQYXJhbSBUeXBlIC0gVGhlIHR5cGUgdG8gYXNzZXJ0IHRoZSBtZW1iZXJzIG9mLlxuICogQHR5cGVQYXJhbSBLZXlzIC0gVGhlIGxpc3Qgb2YgbWVtYmVycyB0byBhc3NlcnQuXG4gKi9cbmV4cG9ydCB0eXBlIEV4YWN0TWVtYmVyczxcbiAgVHlwZSBleHRlbmRzIExpdGVyYWxLZXksXG4gIEtleXMgZXh0ZW5kcyByZWFkb25seSBMaXRlcmFsS2V5W11cbj4gPSBFeGNsdWRlPEtleXNbbnVtYmVyXSwgVHlwZT4gZXh0ZW5kcyBuZXZlciA/IEV4Y2x1ZGU8VHlwZSwgS2V5c1tudW1iZXJdPiBleHRlbmRzIG5ldmVyID8gRHVwbGljYXRlczxLZXlzPiBleHRlbmRzIFtdID8gS2V5c1xuICAgIDogYEVSUk9SOiBEdXBsaWNhdGUgbWVtYmVyczogJHtUdXBsZVRvQ1NWPER1cGxpY2F0ZXM8S2V5cz4+fWBcbiAgOiBgRVJST1I6IE1pc3NpbmcgbWVtYmVyczogJHtUdXBsZVRvQ1NWPFVuaW9uVG9UdXBsZTxFeGNsdWRlPFR5cGUsIEtleXNbbnVtYmVyXT4+Pn1gXG4gIDogYEVSUk9SOiBJbnZhbGlkIG1lbWJlcnM6ICR7VHVwbGVUb0NTVjxVbmlvblRvVHVwbGU8RXhjbHVkZTxLZXlzW251bWJlcl0sIFR5cGU+Pj59YDtcblxuLyoqXG4gKiBBIHR5cGUgdGhhdCByZXByZXNlbnRzIGEgcmV0dXJuIHZhbHVlIHRoYXQgbWF5IGJlIGB2b2lkYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdGhhdCBtYXkgYmUgcmV0dXJuZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGB2b2lkYCByZXR1cm4gdHlwZS5cbmV4cG9ydCB0eXBlIE1heWJlUmV0dXJuPFQ+ID0gVCB8IHZvaWQ7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUgdmFsdWVzIG9mIGFuIG9iamVjdC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBQcm9wZXJ0eVZhbHVlczxUIGV4dGVuZHMgb2JqZWN0PiA9IFRbU3RyaW5nS2V5czxUPl07XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUga2V5cyBvZiBhbiBvYmplY3QgYXMgc3RyaW5ncy5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBTdHJpbmdLZXlzPFQgZXh0ZW5kcyBvYmplY3Q+ID0gRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+O1xuXG4vKipcbiAqIEEgaGVscGVyIHRoYXQgY2FwdHVyZXMgYSB0eXBlIHBhcmFtZXRlciBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgY29tcGlsZS10aW1lIGV4aGF1c3RpdmVuZXNzIGNoZWNrcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFR5cGUgLSBUaGUgY2FwdHVyZWQgdHlwZS5cbiAqXG4gKiBAcmVtYXJrc1xuICogLSBgYXNzZXJ0QWxsS2V5c2AgaXMgYXZhaWxhYmxlIHdoZW4gYFR5cGVgIGlzIGFuIG9iamVjdCB0eXBlLlxuICogLSBgYXNzZXJ0QWxsTWVtYmVyc2AgaXMgYXZhaWxhYmxlIHdoZW4gYFR5cGVgIGlzIGEgbGl0ZXJhbCBrZXkgdW5pb24gKGBzdHJpbmcgfCBudW1iZXJgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHR5cGUgQSA9IHsgYTogMSwgYjogMiwgYzogMyB9O1xuICogdHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2EnLCAnYicsICdjJ10pOyAvLyBPS1xuICogdHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2MnLCAnYScsICdiJ10pOyAvLyBPSywgb3JkZXIgaXMgaWdub3JlZFxuICogdHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2EnLCAnYicsICdjJywgJ2QnXSk7IC8vIEVycm9yOiBJbnZhbGlkIG1lbWJlcnM6IGRcbiAqIHR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydhJywgJ2InXSk7IC8vIEVycm9yOiBNaXNzaW5nIG1lbWJlcnM6IGNcbiAqXG4gKiB0eXBlIEIgPSAxIHwgMiB8IDMgfCAnYSc7XG4gKiB0eXBlQXNzZXJ0ZXI8Qj4oKS5hc3NlcnRBbGxNZW1iZXJzKFsxLCAyLCAzLCAnYSddKTsgLy8gT0tcbiAqIHR5cGVBc3NlcnRlcjxCPigpLmFzc2VydEFsbE1lbWJlcnMoWzEsIDIsIDMsICdhJywgNF0pOyAvLyBFcnJvcjogSW52YWxpZCBtZW1iZXJzOiA0XG4gKiB0eXBlQXNzZXJ0ZXI8Qj4oKS5hc3NlcnRBbGxNZW1iZXJzKFsxLCAyLCAzXSk7IC8vIEVycm9yOiBNaXNzaW5nIG1lbWJlcnM6IGFcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVBc3NlcnRlcjxUeXBlPiB7XG4gIC8qKlxuICAgKiBBc3NlcnRzIHRoYXQgYWxsIGtleXMgb2YgYW4gb2JqZWN0IHR5cGUgYXJlIHByZXNlbnQgaW4gYSBsaXN0IG9mIGtleXMuXG4gICAqXG4gICAqIEByZW1hcmtzIE9ubHkgYXZhaWxhYmxlIHdoZW4gYFtUeXBlXSBleHRlbmRzIFtvYmplY3RdYC5cbiAgICovXG4gIGFzc2VydEFsbEtleXM6IFtUeXBlXSBleHRlbmRzIFtvYmplY3RdID8gPGNvbnN0IEtleXMgZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXT4oXG4gICAgICBrZXlzOiBFeGFjdE1lbWJlcnM8U3RyaW5nS2V5czxUeXBlPiwgS2V5cz5cbiAgICApID0+IHJlYWRvbmx5IChrZXlvZiBUeXBlKVtdXG4gICAgOiBuZXZlcjtcblxuICAvKipcbiAgICogQXNzZXJ0cyB0aGF0IGFsbCBtZW1iZXJzIG9mIGEgdW5pb24gdHlwZSBhcmUgcHJlc2VudCBpbiBhIGxpc3Qgb2YgbWVtYmVycy5cbiAgICpcbiAgICogQHJlbWFya3MgT25seSBhdmFpbGFibGUgd2hlbiBgW1R5cGVdIGV4dGVuZHMgW0xpdGVyYWxLZXldYC5cbiAgICovXG4gIGFzc2VydEFsbE1lbWJlcnM6IFtUeXBlXSBleHRlbmRzIFtMaXRlcmFsS2V5XSA/IDxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgTGl0ZXJhbEtleVtdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxUeXBlLCBLZXlzPlxuICAgICkgPT4gcmVhZG9ubHkgVHlwZVtdXG4gICAgOiBuZXZlcjtcbn1cblxudHlwZSBEdXBsaWNhdGVzPFxuICBUIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLFxuICBTZWVuIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID0gW10sXG4gIEFkZGVkIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID0gW10sXG4gIE91dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSA9IFtdXG4+ID0gVCBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBGaXJzdCwgLi4uaW5mZXIgUmVzdF0gPyBJbmNsdWRlczxTZWVuLCBGaXJzdD4gZXh0ZW5kcyB0cnVlID8gSW5jbHVkZXM8QWRkZWQsIEZpcnN0PiBleHRlbmRzIHRydWUgPyBEdXBsaWNhdGVzPFJlc3QsIFNlZW4sIEFkZGVkLCBPdXQ+XG4gICAgOiBEdXBsaWNhdGVzPFJlc3QsIFNlZW4sIFsuLi5BZGRlZCwgRmlyc3RdLCBbLi4uT3V0LCBGaXJzdF0+XG4gIDogRHVwbGljYXRlczxSZXN0LCBbLi4uU2VlbiwgRmlyc3RdLCBBZGRlZCwgT3V0PlxuICA6IE91dDtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMsbm8tbWFnaWMtbnVtYmVycyAtLSBXZSBuZWVkIHRvIHVzZSB0aGUgZHVtbXkgcGFyYW1ldGVyIHRvIGdldCB0eXBlIGluZmVyZW5jZS5cbnR5cGUgRXF1YWw8WCwgWT4gPSAoPFQ+KCkgPT4gVCBleHRlbmRzIFggPyAxIDogMikgZXh0ZW5kcyAoPFQ+KCkgPT4gVCBleHRlbmRzIFkgPyAxIDogMikgPyB0cnVlIDogZmFsc2U7XG5cbnR5cGUgSW5jbHVkZXM8VHlwZSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgTWVtYmVyPiA9IFR5cGUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgRmlyc3QsIC4uLmluZmVyIFJlc3RdID8gRXF1YWw8Rmlyc3QsIE1lbWJlcj4gZXh0ZW5kcyB0cnVlID8gdHJ1ZSA6IEluY2x1ZGVzPFJlc3QsIE1lbWJlcj5cbiAgOiBmYWxzZTtcblxudHlwZSBMYXN0SW5VbmlvbjxVbmlvbj4gPSBVbmlvblRvSW50ZXJzZWN0aW9uPFVuaW9uIGV4dGVuZHMgdW5rbm93biA/ICgpID0+IFVuaW9uIDogbmV2ZXI+IGV4dGVuZHMgKCkgPT4gaW5mZXIgTGFzdCA/IExhc3QgOiBuZXZlcjtcblxudHlwZSBMaXRlcmFsS2V5ID0gbnVtYmVyIHwgc3RyaW5nO1xuXG50eXBlIFRvU3RyaW5nPFQ+ID0gVCBleHRlbmRzIG51bWJlciB8IHN0cmluZyA/IGAke1R9YCA6IG5ldmVyO1xuXG50eXBlIFR1cGxlVG9DU1Y8VHVwbGUgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+ID0gVHVwbGUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgRmlyc3QsIC4uLmluZmVyIFJlc3RdID8gRmlyc3QgZXh0ZW5kcyBMaXRlcmFsS2V5ID8gUmVzdCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSA/IFJlc3RbJ2xlbmd0aCddIGV4dGVuZHMgMCA/IFRvU3RyaW5nPEZpcnN0PiA6IGAke1RvU3RyaW5nPEZpcnN0Pn0sJHtUdXBsZVRvQ1NWPFJlc3Q+fWBcbiAgICA6IG5ldmVyXG4gIDogbmV2ZXJcbiAgOiAnJztcblxudHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFVuaW9uPiA9IChVbmlvbiBleHRlbmRzIHVua25vd24gPyAoa2V5OiBVbmlvbikgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChrZXk6IGluZmVyIEludGVyc2VjdGlvbikgPT4gdm9pZCA/IEludGVyc2VjdGlvbiA6IG5ldmVyO1xuXG50eXBlIFVuaW9uVG9UdXBsZTxVbmlvbiwgTGFzdCA9IExhc3RJblVuaW9uPFVuaW9uPj4gPSBbVW5pb25dIGV4dGVuZHMgW25ldmVyXSA/IFtdIDogWy4uLlVuaW9uVG9UdXBsZTxFeGNsdWRlPFVuaW9uLCBMYXN0Pj4sIExhc3RdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB0eXBlIGhlbHBlciB0aGF0IGNhcHR1cmVzIGEgdHlwZSBwYXJhbWV0ZXIgZm9yIGNvbXBpbGUtdGltZSBleGhhdXN0aXZlbmVzcyBjaGVja3MuXG4gKlxuICogQHR5cGVQYXJhbSBUeXBlIC0gVGhlIHR5cGUgdG8gY2FwdHVyZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFR5cGVBc3NlcnRlcn0gd2l0aCBgYXNzZXJ0QWxsS2V5c2AgYW5kIGBhc3NlcnRBbGxNZW1iZXJzYCBtZXRob2RzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogdHlwZSBBID0geyBhOiAxLCBiOiAyLCBjOiAzIH07XG4gKiB0eXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYScsICdiJywgJ2MnXSk7IC8vIE9LXG4gKiB0eXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYycsICdhJywgJ2InXSk7IC8vIE9LLCBvcmRlciBpcyBpZ25vcmVkXG4gKlxuICogdHlwZSBCID0gMSB8IDIgfCAzIHwgJ2EnO1xuICogdHlwZUFzc2VydGVyPEI+KCkuYXNzZXJ0QWxsTWVtYmVycyhbMSwgMiwgMywgJ2EnXSk7IC8vIE9LXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVBc3NlcnRlcjxUeXBlPigpOiBUeXBlQXNzZXJ0ZXI8VHlwZT4ge1xuICByZXR1cm4gY2FzdFRvPFR5cGVBc3NlcnRlcjxUeXBlPj4oe1xuICAgIGFzc2VydEFsbEtleXM8Y29uc3QgS2V5cyBleHRlbmRzIHJlYWRvbmx5IHN0cmluZ1tdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxTdHJpbmdLZXlzPG9iamVjdCAmIFR5cGU+LCBLZXlzPlxuICAgICk6IHJlYWRvbmx5IChrZXlvZiAob2JqZWN0ICYgVHlwZSkpW10ge1xuICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUoa2V5cy5zbGljZSgpIGFzIChrZXlvZiAob2JqZWN0ICYgVHlwZSkpW10pO1xuICAgIH0sXG4gICAgYXNzZXJ0QWxsTWVtYmVyczxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgTGl0ZXJhbEtleVtdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxMaXRlcmFsS2V5ICYgVHlwZSwgS2V5cz5cbiAgICApOiByZWFkb25seSAoTGl0ZXJhbEtleSAmIFR5cGUpW10ge1xuICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUoa2V5cy5zbGljZSgpIGFzIChMaXRlcmFsS2V5ICYgVHlwZSlbXSk7XG4gICAgfVxuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxjQUFjO0FBMEloQixTQUFTLGVBQXlDO0FBQ3ZELFNBQU8sT0FBMkI7QUFBQSxJQUNoQyxjQUNFLE1BQ29DO0FBQ3BDLGFBQU8sT0FBTyxPQUFPLEtBQUssTUFBTSxDQUE4QjtBQUFBLElBQ2hFO0FBQUEsSUFDQSxpQkFDRSxNQUNnQztBQUNoQyxhQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBMEI7QUFBQSxJQUM1RDtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
57
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUeXBlIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNGdW5jdGlvbiB9IGZyb20gJy4vZnVuY3Rpb24udHMnO1xuXG5pbXBvcnQgeyBjYXN0VG8gfSBmcm9tICcuL29iamVjdC11dGlscy50cyc7XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUga2V5cyBvZiBhbiBvYmplY3QgYXMgc3RyaW5ncyBhbmQgYXNzZXJ0cyB0aGF0IGFsbCBrZXlzIGFyZSBwcmVzZW50IGluIGEgbGlzdCBvZiBrZXlzLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBvYmplY3QuXG4gKiBAdHlwZVBhcmFtIEtleXMgLSBUaGUgbGlzdCBvZiBrZXlzIHRvIGFzc2VydC5cbiAqL1xuZXhwb3J0IHR5cGUgRXhhY3RLZXlzPFR5cGUgZXh0ZW5kcyBvYmplY3QsIEtleXMgZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXT4gPSBFeGFjdE1lbWJlcnM8U3RyaW5nS2V5czxUeXBlPiwgS2V5cz47XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUgbWVtYmVycyBvZiBhIHR5cGUuXG4gKlxuICogQHR5cGVQYXJhbSBUeXBlIC0gVGhlIHR5cGUgdG8gYXNzZXJ0IHRoZSBtZW1iZXJzIG9mLlxuICogQHR5cGVQYXJhbSBLZXlzIC0gVGhlIGxpc3Qgb2YgbWVtYmVycyB0byBhc3NlcnQuXG4gKi9cbmV4cG9ydCB0eXBlIEV4YWN0TWVtYmVyczxcbiAgVHlwZSBleHRlbmRzIExpdGVyYWxLZXksXG4gIEtleXMgZXh0ZW5kcyByZWFkb25seSBMaXRlcmFsS2V5W11cbj4gPSBFeGNsdWRlPEtleXNbbnVtYmVyXSwgVHlwZT4gZXh0ZW5kcyBuZXZlciA/IEV4Y2x1ZGU8VHlwZSwgS2V5c1tudW1iZXJdPiBleHRlbmRzIG5ldmVyID8gRHVwbGljYXRlczxLZXlzPiBleHRlbmRzIFtdID8gS2V5c1xuICAgIDogYEVSUk9SOiBEdXBsaWNhdGUgbWVtYmVyczogJHtUdXBsZVRvQ1NWPER1cGxpY2F0ZXM8S2V5cz4+fWBcbiAgOiBgRVJST1I6IE1pc3NpbmcgbWVtYmVyczogJHtUdXBsZVRvQ1NWPFVuaW9uVG9UdXBsZTxFeGNsdWRlPFR5cGUsIEtleXNbbnVtYmVyXT4+Pn1gXG4gIDogYEVSUk9SOiBJbnZhbGlkIG1lbWJlcnM6ICR7VHVwbGVUb0NTVjxVbmlvblRvVHVwbGU8RXhjbHVkZTxLZXlzW251bWJlcl0sIFR5cGU+Pj59YDtcblxuLyoqXG4gKiBEZXJpdmVzIGFuIGV2ZW50IG1hcCAoYHsgZXZlbnROYW1lOiBbY2FsbGJhY2tBcmdzXSB9YCkgZnJvbSBhIHR5cGUgZXhwb3NpbmcgYW4gb3ZlcmxvYWRlZCBgb24obmFtZSwgY2FsbGJhY2spYFxuICogbWV0aG9kIFx1MjAxNCBlLmcuIE9ic2lkaWFuJ3MgYFdvcmtzcGFjZWAgLyBgVmF1bHRgIC8gYE1ldGFkYXRhQ2FjaGVgLiBFYWNoIGBvbmAgb3ZlcmxvYWQgYmVjb21lcyBvbmUgZW50cnkga2V5ZWQgYnlcbiAqIHRoZSBldmVudCBuYW1lLCB3aXRoIHRoZSBjYWxsYmFjaydzIHBhcmFtZXRlcnMgYXMgYSBsYWJlbGVkIHR1cGxlOyB0aGUgd2lkZSBgb24obmFtZTogc3RyaW5nLCBcdTIwMjYpYCBjYXRjaC1hbGxcbiAqIG92ZXJsb2FkIGlzIGRyb3BwZWQuIFRoZSBtYXAgYXV0by10cmFja3MgdXBzdHJlYW0gb3ZlcmxvYWRzIChubyBoYW5kLWF1dGhvcmluZykuIEl0IGNhbm5vdCByZWNvbnN0cnVjdFxuICogZ2VudWluZWx5IGdlbmVyaWMgb3ZlcmxvYWRzLCBidXQgT2JzaWRpYW4ncyBldmVudCBvdmVybG9hZHMgYXJlIGFsbCBjb25jcmV0ZSBzdHJpbmctbGl0ZXJhbCBvbmVzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIEEgdHlwZSBleHBvc2luZyBhbiBgb24obmFtZSwgY2FsbGJhY2ssIFx1MjAyNilgIG1ldGhvZCAoZS5nLiBhbiBPYnNpZGlhbiBgRXZlbnRzYCBzdWJjbGFzcykuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiB0eXBlIFdvcmtzcGFjZUV2ZW50TWFwID0gRXh0cmFjdEV2ZW50TWFwPFdvcmtzcGFjZT47XG4gKiAvLyB7ICdmaWxlLW1lbnUnOiBbbWVudTogTWVudSwgZmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmXTsgXHUyMDI2IH1cbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBFeHRyYWN0RXZlbnRNYXA8VCBleHRlbmRzIEV2ZW50c1dpdGhPbj4gPSBVbmlvblRvSW50ZXJzZWN0aW9uPEVudHJ5T2ZPdmVybG9hZDxPdmVybG9hZFVuaW9uPFRbJ29uJ10+Pj47XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyBhIHJldHVybiB2YWx1ZSB0aGF0IG1heSBiZSBgdm9pZGAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRoYXQgbWF5IGJlIHJldHVybmVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBgdm9pZGAgcmV0dXJuIHR5cGUuXG5leHBvcnQgdHlwZSBNYXliZVJldHVybjxUPiA9IFQgfCB2b2lkO1xuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIHZhbHVlcyBvZiBhbiBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgUHJvcGVydHlWYWx1ZXM8VCBleHRlbmRzIG9iamVjdD4gPSBUW1N0cmluZ0tleXM8VD5dO1xuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIGtleXMgb2YgYW4gb2JqZWN0IGFzIHN0cmluZ3MuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgU3RyaW5nS2V5czxUIGV4dGVuZHMgb2JqZWN0PiA9IEV4dHJhY3Q8a2V5b2YgVCwgc3RyaW5nPjtcblxudHlwZSBEdXBsaWNhdGVzPFxuICBUIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLFxuICBTZWVuIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID0gW10sXG4gIEFkZGVkIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID0gW10sXG4gIE91dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSA9IFtdXG4+ID0gVCBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBGaXJzdCwgLi4uaW5mZXIgUmVzdF0gPyBJbmNsdWRlczxTZWVuLCBGaXJzdD4gZXh0ZW5kcyB0cnVlID8gSW5jbHVkZXM8QWRkZWQsIEZpcnN0PiBleHRlbmRzIHRydWUgPyBEdXBsaWNhdGVzPFJlc3QsIFNlZW4sIEFkZGVkLCBPdXQ+XG4gICAgOiBEdXBsaWNhdGVzPFJlc3QsIFNlZW4sIFsuLi5BZGRlZCwgRmlyc3RdLCBbLi4uT3V0LCBGaXJzdF0+XG4gIDogRHVwbGljYXRlczxSZXN0LCBbLi4uU2VlbiwgRmlyc3RdLCBBZGRlZCwgT3V0PlxuICA6IE91dDtcblxuLy8gTWFwcyBvbmUgYG9uKG5hbWUsIGNhbGxiYWNrLCBcdTIwMjYpYCBvdmVybG9hZCB0byBhIGB7IFtuYW1lXTogW2NhbGxiYWNrQXJnc10gfWAgZW50cnk7IGRyb3BzIHRoZSB3aWRlIGBuYW1lOiBzdHJpbmdgIGNhdGNoLWFsbC5cbnR5cGUgRW50cnlPZk92ZXJsb2FkPFRPdmVybG9hZD4gPSBUT3ZlcmxvYWQgZXh0ZW5kcyAobmFtZTogaW5mZXIgTmFtZSwgY2FsbGJhY2s6ICguLi5hcmdzOiBpbmZlciBBcmdzKSA9PiB1bmtub3duLCAuLi5yZXN0OiBuZXZlcltdKSA9PiB1bmtub3duID8gTmFtZSBleHRlbmRzIHN0cmluZyA/IHN0cmluZyBleHRlbmRzIE5hbWUgPyBuZXZlciA6IFJlY29yZDxOYW1lLCBBcmdzPlxuICA6IG5ldmVyXG4gIDogbmV2ZXI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzLG5vLW1hZ2ljLW51bWJlcnMgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGR1bW15IHBhcmFtZXRlciB0byBnZXQgdHlwZSBpbmZlcmVuY2UuXG50eXBlIEVxdWFsPFgsIFk+ID0gKDxUPigpID0+IFQgZXh0ZW5kcyBYID8gMSA6IDIpIGV4dGVuZHMgKDxUPigpID0+IFQgZXh0ZW5kcyBZID8gMSA6IDIpID8gdHJ1ZSA6IGZhbHNlO1xuXG4vLyBUaGUgbWluaW1hbCBzaGFwZSB7QGxpbmsgRXh0cmFjdEV2ZW50TWFwfSBvcGVyYXRlcyBvbjogYSB0eXBlIGV4cG9zaW5nIGFuIG92ZXJsb2FkZWQgYG9uYCBtZXRob2QuXG5pbnRlcmZhY2UgRXZlbnRzV2l0aE9uIHtcbiAgb246IEdlbmVyaWNGdW5jdGlvbjtcbn1cblxudHlwZSBJbmNsdWRlczxUeXBlIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBNZW1iZXI+ID0gVHlwZSBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBGaXJzdCwgLi4uaW5mZXIgUmVzdF0gPyBFcXVhbDxGaXJzdCwgTWVtYmVyPiBleHRlbmRzIHRydWUgPyB0cnVlIDogSW5jbHVkZXM8UmVzdCwgTWVtYmVyPlxuICA6IGZhbHNlO1xuXG50eXBlIExhc3RJblVuaW9uPFVuaW9uPiA9IFVuaW9uVG9JbnRlcnNlY3Rpb248VW5pb24gZXh0ZW5kcyB1bmtub3duID8gKCkgPT4gVW5pb24gOiBuZXZlcj4gZXh0ZW5kcyAoKSA9PiBpbmZlciBMYXN0ID8gTGFzdCA6IG5ldmVyO1xuXG50eXBlIExpdGVyYWxLZXkgPSBudW1iZXIgfCBzdHJpbmc7XG5cbi8vIFNwbGl0cyBhbiBvdmVybG9hZGVkIGNhbGwgc2lnbmF0dXJlIGludG8gYSB1bmlvbiBvZiBpdHMgaW5kaXZpZHVhbCBjYWxsIHNpZ25hdHVyZXMgKGEgd2VsbC1rbm93biBvdmVybG9hZC10by11bmlvbiB0cmljaykuXG4vKiBlc2xpbnQtZGlzYWJsZSBwZXJmZWN0aW9uaXN0L3NvcnQtaW50ZXJzZWN0aW9uLXR5cGVzLCBwZXJmZWN0aW9uaXN0L3NvcnQtdW5pb24tdHlwZXMsIEBzdHlsaXN0aWMvb3BlcmF0b3ItbGluZWJyZWFrIC0tIFRoZSBPdmVybG9hZFVuaW9uIHJlY3Vyc2lvbiByZWxpZXMgb24gdGhpcyBleGFjdCBvcGVyYW5kIG9yZGVyOyByZW9yZGVyaW5nIGJyZWFrcyB0ZXJtaW5hdGlvbiAoVFMyNTg5KSwgYW5kIHRoZSBsaW5lLWJyZWFrIHNoYXBlIGlzIGxlZnQgdG8gZHByaW50LiAqL1xudHlwZSBPdmVybG9hZFVuaW9uPFRPdmVybG9hZCBleHRlbmRzIEdlbmVyaWNGdW5jdGlvbj4gPSBFeGNsdWRlPFxuICBPdmVybG9hZFVuaW9uUmVjdXJzaXZlPCgoKSA9PiBuZXZlcikgJiBUT3ZlcmxvYWQ+LFxuICBUT3ZlcmxvYWQgZXh0ZW5kcyAoKSA9PiBuZXZlciA/IG5ldmVyIDogKCkgPT4gbmV2ZXJcbj47XG5cbnR5cGUgT3ZlcmxvYWRVbmlvblJlY3Vyc2l2ZTxUT3ZlcmxvYWQsIFRQYXJ0aWFsT3ZlcmxvYWQgPSB1bmtub3duPiA9IFRPdmVybG9hZCBleHRlbmRzICguLi5hcmdzOiBpbmZlciBBcmdzKSA9PiBpbmZlciBSZXR1cm4gPyBUUGFydGlhbE92ZXJsb2FkIGV4dGVuZHMgVE92ZXJsb2FkID8gbmV2ZXJcbiAgOlxuICAgIHwgT3ZlcmxvYWRVbmlvblJlY3Vyc2l2ZTxUUGFydGlhbE92ZXJsb2FkICYgVE92ZXJsb2FkLCBUUGFydGlhbE92ZXJsb2FkICYgKCguLi5hcmdzOiBBcmdzKSA9PiBSZXR1cm4pICYgUGljazxUT3ZlcmxvYWQsIGtleW9mIFRPdmVybG9hZD4+XG4gICAgfCAoKC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybilcbiAgOiBuZXZlcjtcbi8qIGVzbGludC1lbmFibGUgcGVyZmVjdGlvbmlzdC9zb3J0LWludGVyc2VjdGlvbi10eXBlcywgcGVyZmVjdGlvbmlzdC9zb3J0LXVuaW9uLXR5cGVzLCBAc3R5bGlzdGljL29wZXJhdG9yLWxpbmVicmVhayAtLSBUaGUgT3ZlcmxvYWRVbmlvbiByZWN1cnNpb24gcmVsaWVzIG9uIHRoaXMgZXhhY3Qgb3BlcmFuZCBvcmRlcjsgcmVvcmRlcmluZyBicmVha3MgdGVybWluYXRpb24gKFRTMjU4OSksIGFuZCB0aGUgbGluZS1icmVhayBzaGFwZSBpcyBsZWZ0IHRvIGRwcmludC4gKi9cblxudHlwZSBUb1N0cmluZzxUPiA9IFQgZXh0ZW5kcyBudW1iZXIgfCBzdHJpbmcgPyBgJHtUfWAgOiBuZXZlcjtcblxudHlwZSBUdXBsZVRvQ1NWPFR1cGxlIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiA9IFR1cGxlIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIEZpcnN0LCAuLi5pbmZlciBSZXN0XSA/IEZpcnN0IGV4dGVuZHMgTGl0ZXJhbEtleSA/IFJlc3QgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10gPyBSZXN0WydsZW5ndGgnXSBleHRlbmRzIDAgPyBUb1N0cmluZzxGaXJzdD4gOiBgJHtUb1N0cmluZzxGaXJzdD59LCR7VHVwbGVUb0NTVjxSZXN0Pn1gXG4gICAgOiBuZXZlclxuICA6IG5ldmVyXG4gIDogJyc7XG5cbi8qKlxuICogSW50ZXJuYWwgbWV0aG9kIHNoYXBlcyBmb3Ige0BsaW5rIFR5cGVBc3NlcnRlcn06IGEgY29uZGl0aW9uYWwgdHlwZSBkaXNhYmxlcyBlYWNoIG1ldGhvZCB3aGVuIHRoZVxuICogY2FwdHVyZWQgdHlwZSBkb2VzIG5vdCBzdXBwb3J0IGl0LlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSBjYXB0dXJlZCB0eXBlLlxuICovXG5pbnRlcmZhY2UgVHlwZUFzc2VydGlvbnM8VHlwZT4ge1xuICBhc3NlcnRBbGxLZXlzOiBbVHlwZV0gZXh0ZW5kcyBbb2JqZWN0XSA/IDxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgc3RyaW5nW10+KFxuICAgICAga2V5czogRXhhY3RNZW1iZXJzPFN0cmluZ0tleXM8VHlwZT4sIEtleXM+XG4gICAgKSA9PiByZWFkb25seSAoa2V5b2YgVHlwZSlbXVxuICAgIDogbmV2ZXI7XG4gIGFzc2VydEFsbE1lbWJlcnM6IFtUeXBlXSBleHRlbmRzIFtMaXRlcmFsS2V5XSA/IDxjb25zdCBLZXlzIGV4dGVuZHMgcmVhZG9ubHkgTGl0ZXJhbEtleVtdPihcbiAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxUeXBlLCBLZXlzPlxuICAgICkgPT4gcmVhZG9ubHkgVHlwZVtdXG4gICAgOiBuZXZlcjtcbn1cblxudHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFVuaW9uPiA9IChVbmlvbiBleHRlbmRzIHVua25vd24gPyAoa2V5OiBVbmlvbikgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChrZXk6IGluZmVyIEludGVyc2VjdGlvbikgPT4gdm9pZCA/IEludGVyc2VjdGlvbiA6IG5ldmVyO1xuXG50eXBlIFVuaW9uVG9UdXBsZTxVbmlvbiwgTGFzdCA9IExhc3RJblVuaW9uPFVuaW9uPj4gPSBbVW5pb25dIGV4dGVuZHMgW25ldmVyXSA/IFtdIDogWy4uLlVuaW9uVG9UdXBsZTxFeGNsdWRlPFVuaW9uLCBMYXN0Pj4sIExhc3RdO1xuXG4vKipcbiAqIEEgaGVscGVyIHRoYXQgY2FwdHVyZXMgYSB0eXBlIHBhcmFtZXRlciBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgY29tcGlsZS10aW1lIGV4aGF1c3RpdmVuZXNzIGNoZWNrcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFR5cGUgLSBUaGUgY2FwdHVyZWQgdHlwZS5cbiAqXG4gKiBAcmVtYXJrc1xuICogLSBgYXNzZXJ0QWxsS2V5c2AgaXMgYXZhaWxhYmxlIHdoZW4gYFR5cGVgIGlzIGFuIG9iamVjdCB0eXBlLlxuICogLSBgYXNzZXJ0QWxsTWVtYmVyc2AgaXMgYXZhaWxhYmxlIHdoZW4gYFR5cGVgIGlzIGEgbGl0ZXJhbCBrZXkgdW5pb24gKGBzdHJpbmcgfCBudW1iZXJgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHR5cGUgQSA9IHsgYTogMSwgYjogMiwgYzogMyB9O1xuICogbmV3IFR5cGVBc3NlcnRlcjxBPigpLmFzc2VydEFsbEtleXMoWydhJywgJ2InLCAnYyddKTsgLy8gT0tcbiAqIG5ldyBUeXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYycsICdhJywgJ2InXSk7IC8vIE9LLCBvcmRlciBpcyBpZ25vcmVkXG4gKiBuZXcgVHlwZUFzc2VydGVyPEE+KCkuYXNzZXJ0QWxsS2V5cyhbJ2EnLCAnYicsICdjJywgJ2QnXSk7IC8vIEVycm9yOiBJbnZhbGlkIG1lbWJlcnM6IGRcbiAqIG5ldyBUeXBlQXNzZXJ0ZXI8QT4oKS5hc3NlcnRBbGxLZXlzKFsnYScsICdiJ10pOyAvLyBFcnJvcjogTWlzc2luZyBtZW1iZXJzOiBjXG4gKlxuICogdHlwZSBCID0gMSB8IDIgfCAzIHwgJ2EnO1xuICogbmV3IFR5cGVBc3NlcnRlcjxCPigpLmFzc2VydEFsbE1lbWJlcnMoWzEsIDIsIDMsICdhJ10pOyAvLyBPS1xuICogbmV3IFR5cGVBc3NlcnRlcjxCPigpLmFzc2VydEFsbE1lbWJlcnMoWzEsIDIsIDMsICdhJywgNF0pOyAvLyBFcnJvcjogSW52YWxpZCBtZW1iZXJzOiA0XG4gKiBuZXcgVHlwZUFzc2VydGVyPEI+KCkuYXNzZXJ0QWxsTWVtYmVycyhbMSwgMiwgM10pOyAvLyBFcnJvcjogTWlzc2luZyBtZW1iZXJzOiBhXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVBc3NlcnRlcjxUeXBlPiB7XG4gIC8qKlxuICAgKiBBc3NlcnRzIHRoYXQgYWxsIGtleXMgb2YgYW4gb2JqZWN0IHR5cGUgYXJlIHByZXNlbnQgaW4gYSBsaXN0IG9mIGtleXMuXG4gICAqXG4gICAqIEByZW1hcmtzIE9ubHkgYXZhaWxhYmxlIHdoZW4gYFtUeXBlXSBleHRlbmRzIFtvYmplY3RdYC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhc3NlcnRBbGxLZXlzOiBUeXBlQXNzZXJ0aW9uczxUeXBlPlsnYXNzZXJ0QWxsS2V5cyddO1xuXG4gIC8qKlxuICAgKiBBc3NlcnRzIHRoYXQgYWxsIG1lbWJlcnMgb2YgYSB1bmlvbiB0eXBlIGFyZSBwcmVzZW50IGluIGEgbGlzdCBvZiBtZW1iZXJzLlxuICAgKlxuICAgKiBAcmVtYXJrcyBPbmx5IGF2YWlsYWJsZSB3aGVuIGBbVHlwZV0gZXh0ZW5kcyBbTGl0ZXJhbEtleV1gLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzc2VydEFsbE1lbWJlcnM6IFR5cGVBc3NlcnRpb25zPFR5cGU+Wydhc3NlcnRBbGxNZW1iZXJzJ107XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0eXBlIGFzc2VydGVyIHRoYXQgY2FwdHVyZXMge0BsaW5rIFR5cGV9IGZvciBjb21waWxlLXRpbWUgZXhoYXVzdGl2ZW5lc3MgY2hlY2tzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGFzc2VydGlvbnMgPSBjYXN0VG88VHlwZUFzc2VydGlvbnM8VHlwZT4+KHtcbiAgICAgIGFzc2VydEFsbEtleXM8Y29uc3QgS2V5cyBleHRlbmRzIHJlYWRvbmx5IHN0cmluZ1tdPihcbiAgICAgICAga2V5czogRXhhY3RNZW1iZXJzPFN0cmluZ0tleXM8b2JqZWN0ICYgVHlwZT4sIEtleXM+XG4gICAgICApOiByZWFkb25seSAoa2V5b2YgKG9iamVjdCAmIFR5cGUpKVtdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUoa2V5cy5zbGljZSgpIGFzIChrZXlvZiAob2JqZWN0ICYgVHlwZSkpW10pO1xuICAgICAgfSxcbiAgICAgIGFzc2VydEFsbE1lbWJlcnM8Y29uc3QgS2V5cyBleHRlbmRzIHJlYWRvbmx5IExpdGVyYWxLZXlbXT4oXG4gICAgICAgIGtleXM6IEV4YWN0TWVtYmVyczxMaXRlcmFsS2V5ICYgVHlwZSwgS2V5cz5cbiAgICAgICk6IHJlYWRvbmx5IChMaXRlcmFsS2V5ICYgVHlwZSlbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuZnJlZXplKGtleXMuc2xpY2UoKSBhcyAoTGl0ZXJhbEtleSAmIFR5cGUpW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYXNzZXJ0QWxsS2V5cyA9IGFzc2VydGlvbnMuYXNzZXJ0QWxsS2V5cztcbiAgICB0aGlzLmFzc2VydEFsbE1lbWJlcnMgPSBhc3NlcnRpb25zLmFzc2VydEFsbE1lbWJlcnM7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxjQUFjO0FBOEpoQixNQUFNLGFBQW1CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTWQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1QsY0FBYztBQUNuQixVQUFNLGFBQWEsT0FBNkI7QUFBQSxNQUM5QyxjQUNFLE1BQ29DO0FBQ3BDLGVBQU8sT0FBTyxPQUFPLEtBQUssTUFBTSxDQUE4QjtBQUFBLE1BQ2hFO0FBQUEsTUFDQSxpQkFDRSxNQUNnQztBQUNoQyxlQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBMEI7QUFBQSxNQUM1RDtBQUFBLElBQ0YsQ0FBQztBQUNELFNBQUssZ0JBQWdCLFdBQVc7QUFDaEMsU0FBSyxtQkFBbUIsV0FBVztBQUFBLEVBQ3JDO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/lib/cjs/obsidian/events.cjs",
3
+ "module": "../../dist/lib/esm/obsidian/events.mjs",
4
+ "type": "module",
5
+ "types": "../../dist/lib/cjs/obsidian/events.d.cts"
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "86.1.3",
3
+ "version": "86.2.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development.",
5
5
  "keywords": [
6
6
  "obsidian"
@@ -659,7 +659,7 @@
659
659
  "@eslint/config-helpers": "^0.6.0",
660
660
  "@eslint/js": "^10.0.1",
661
661
  "@lezer/common": "1.2.3",
662
- "@obsidian-typings/obsidian-public-latest": "^6.23.0",
662
+ "@obsidian-typings/obsidian-public-latest": "^6.24.0",
663
663
  "@stylistic/eslint-plugin": "^5.10.0",
664
664
  "@tsconfig/strictest": "^2.0.8",
665
665
  "@types/babel__core": "^7.20.5",
@@ -674,14 +674,14 @@
674
674
  "@types/react": "^19.2.17",
675
675
  "@types/semver": "^7.7.1",
676
676
  "@types/shell-quote": "^1.7.5",
677
- "@typescript-eslint/eslint-plugin": "^8.63.0",
678
- "@typescript-eslint/parser": "^8.63.0",
679
- "adm-zip": "^0.5.18",
677
+ "@typescript-eslint/eslint-plugin": "^8.64.0",
678
+ "@typescript-eslint/parser": "^8.64.0",
679
+ "adm-zip": "^0.6.0",
680
680
  "commander": "^15.0.0",
681
681
  "compare-versions": "^6.1.1",
682
682
  "cspell": "^10.0.1",
683
683
  "debug": "^4.4.3",
684
- "dprint": "^0.55.1",
684
+ "dprint": "^0.55.2",
685
685
  "enhanced-resolve": "^5.24.2",
686
686
  "esbuild": "^0.28.1",
687
687
  "esbuild-sass-plugin": "^3.7.0",
@@ -697,16 +697,15 @@
697
697
  "globals": "^17.7.0",
698
698
  "i18next": "^26.3.6",
699
699
  "jiti": "^2.7.0",
700
- "linkinator": "^7.6.1",
701
700
  "localforage": "^1.10.0",
702
701
  "lru-cache": "^11.5.2",
703
- "markdownlint": "^0.41.0",
702
+ "markdownlint": "^0.41.1",
704
703
  "markdownlint-cli2": "^0.23.0",
705
704
  "markdownlint-rule-relative-links": "^5.1.1",
706
705
  "monkey-around": "^3.0.0",
707
706
  "obsidian": "^1.13.1",
708
707
  "path-browserify": "^1.0.1",
709
- "postcss": "^8.5.16",
708
+ "postcss": "^8.5.19",
710
709
  "postcss-modules": "^9.0.1",
711
710
  "preact": "^10.29.7",
712
711
  "react": "^19.2.7",
@@ -716,11 +715,11 @@
716
715
  "sass": "^1.101.0",
717
716
  "semver": "^7.8.5",
718
717
  "shell-quote": "^1.10.0",
719
- "svelte-check": "^4.7.2",
718
+ "svelte-check": "^4.7.3",
720
719
  "svelte-preprocess": "^6.0.5",
721
720
  "type-fest": "^5.8.0",
722
721
  "typescript": "6.0.3",
723
- "typescript-eslint": "^8.63.0"
722
+ "typescript-eslint": "^8.64.0"
724
723
  },
725
724
  "devDependencies": {
726
725
  "@astrojs/check": "^0.9.9",
@@ -732,13 +731,17 @@
732
731
  "@resvg/resvg-js": "^2.6.2",
733
732
  "@total-typescript/ts-reset": "^0.6.1",
734
733
  "@types/adm-zip": "^0.5.8",
735
- "@typescript-eslint/rule-tester": "^8.63.0",
734
+ "@types/js-yaml": "^4.0.9",
735
+ "@typescript-eslint/rule-tester": "^8.64.0",
736
736
  "@vitest/coverage-v8": "^4.1.10",
737
737
  "@vitest/runner": "^4.1.10",
738
- "astro": "^7.0.8",
738
+ "astro": "^7.1.0",
739
+ "astro-eslint-parser": "^3.0.0",
739
740
  "better-typescript-lib": "^2.12.0",
740
741
  "czg": "^1.13.1",
741
742
  "dedent": "^1.7.2",
743
+ "eslint-plugin-astro": "^3.0.1",
744
+ "eslint-plugin-jsx-a11y": "^6.10.2",
742
745
  "eslint-plugin-n": "^18.2.2",
743
746
  "gray-matter": "^4.0.3",
744
747
  "hast-util-from-html": "^2.0.3",
@@ -747,9 +750,9 @@
747
750
  "jsdom": "^29.1.1",
748
751
  "moment": "^2.30.1",
749
752
  "nano-staged": "^1.0.2",
750
- "obsidian-integration-testing": "^8.1.0",
753
+ "obsidian-integration-testing": "^8.2.0",
751
754
  "obsidian-test-mocks": "^3.6.0",
752
- "satori": "^0.26.0",
755
+ "satori": "^0.28.0",
753
756
  "starlight-github-alerts": "^0.4.0",
754
757
  "starlight-package-managers": "^0.12.0",
755
758
  "ts-declaration-location": "^1.0.7",