obsidian-dev-utils 92.0.0 → 93.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 (87) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/demo-vault-helper/main.js +30 -44
  3. package/dist/integration-test-plugin/main.js +10029 -9743
  4. package/dist/lib/cjs/__merged.cjs +9 -1
  5. package/dist/lib/cjs/__merged.d.cts +2 -2
  6. package/dist/lib/cjs/generated-during-build.cjs +1 -1
  7. package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +1 -1
  8. package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +5 -0
  9. package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +118 -36
  10. package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +88 -19
  11. package/dist/lib/cjs/obsidian/demo-vault-helper-settings.cjs +120 -0
  12. package/dist/lib/cjs/obsidian/demo-vault-helper-settings.d.cts +29 -0
  13. package/dist/lib/cjs/obsidian/demo-vault-helper.cjs +31 -32
  14. package/dist/lib/cjs/obsidian/demo-vault-helper.d.cts +7 -3
  15. package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +4 -2
  16. package/dist/lib/cjs/obsidian/index.cjs +4 -1
  17. package/dist/lib/cjs/obsidian/index.d.cts +1 -0
  18. package/dist/lib/cjs/obsidian/vault.cjs +1 -1
  19. package/dist/lib/cjs/obsidian/vault.d.cts +3 -0
  20. package/dist/lib/cjs/obsidian/workspace.cjs +28 -3
  21. package/dist/lib/cjs/obsidian/workspace.d.cts +50 -0
  22. package/dist/lib/cjs/script-utils/demo-vault.cjs +8 -3
  23. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +1 -1
  24. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +3 -0
  25. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.cjs +1 -1
  26. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.d.cts +3 -0
  27. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +1 -1
  28. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +3 -0
  29. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +1 -1
  30. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +3 -0
  31. package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.cjs +1 -1
  32. package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +3 -0
  33. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +1 -1
  34. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -0
  35. package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.cjs +1 -1
  36. package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.cts +3 -0
  37. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +1 -1
  38. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +3 -0
  39. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +1 -1
  40. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +3 -0
  41. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.cjs +1 -1
  42. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +3 -0
  43. package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +1 -1
  44. package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +12 -0
  45. package/dist/lib/esm/__merged.d.mts +2 -2
  46. package/dist/lib/esm/__merged.mjs +13 -3
  47. package/dist/lib/esm/generated-during-build.mjs +1 -1
  48. package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +5 -0
  49. package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +1 -1
  50. package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +88 -19
  51. package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +116 -35
  52. package/dist/lib/esm/obsidian/demo-vault-helper-settings.d.mts +29 -0
  53. package/dist/lib/esm/obsidian/demo-vault-helper-settings.mjs +24 -0
  54. package/dist/lib/esm/obsidian/demo-vault-helper.d.mts +7 -3
  55. package/dist/lib/esm/obsidian/demo-vault-helper.mjs +32 -36
  56. package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +4 -2
  57. package/dist/lib/esm/obsidian/index.d.mts +1 -0
  58. package/dist/lib/esm/obsidian/index.mjs +3 -1
  59. package/dist/lib/esm/obsidian/vault.d.mts +3 -0
  60. package/dist/lib/esm/obsidian/vault.mjs +1 -1
  61. package/dist/lib/esm/obsidian/workspace.d.mts +50 -0
  62. package/dist/lib/esm/obsidian/workspace.mjs +24 -2
  63. package/dist/lib/esm/script-utils/demo-vault.mjs +10 -4
  64. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +3 -0
  65. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +1 -1
  66. package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.d.mts +3 -0
  67. package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.mjs +1 -1
  68. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +3 -0
  69. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +1 -1
  70. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +3 -0
  71. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +1 -1
  72. package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +3 -0
  73. package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.mjs +1 -1
  74. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -0
  75. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +1 -1
  76. package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.mts +3 -0
  77. package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.mjs +1 -1
  78. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +3 -0
  79. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +1 -1
  80. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +3 -0
  81. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +1 -1
  82. package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +3 -0
  83. package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.mjs +1 -1
  84. package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +12 -0
  85. package/dist/lib/esm/script-utils/linters/over-exposure.mjs +1 -1
  86. package/obsidian/demo-vault-helper-settings/package.json +6 -0
  87. package/package.json +1 -1
@@ -155,6 +155,8 @@ var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
155
155
  return "";
156
156
  })();
157
157
  const DEMO_VAULT_HELPER_PLUGIN_ID = "demo-vault-helper";
158
+ const DATA_JSON_FILE_NAME = "data.json";
159
+ const DATA_JSON_INDENT = 2;
158
160
  async function archivePluginDemoVault() {
159
161
  const demoVaultPath = (0, import_root.resolvePathFromRootSafe)({ path: import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.DemoVault });
160
162
  if (!(0, import_node_fs.existsSync)(demoVaultPath)) {
@@ -173,7 +175,7 @@ async function archivePluginDemoVault() {
173
175
  await (0, import_promises.mkdir)(pluginFolder, { recursive: true });
174
176
  const distBuildPath = (0, import_root.resolvePathFromRootSafe)({ path: import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.DistBuild });
175
177
  await (0, import_promises.cp)(distBuildPath, pluginFolder, { recursive: true });
176
- await injectDemoVaultHelper();
178
+ await injectDemoVaultHelper(manifest.id);
177
179
  const zipPath = (0, import_root.resolvePathFromRootSafe)({
178
180
  path: (0, import_path.join)(import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.DistBuild, `${manifest.id}-demo-vault-${manifest.version}.zip`)
179
181
  });
@@ -182,7 +184,7 @@ async function archivePluginDemoVault() {
182
184
  await zip.writeZipPromise(zipPath);
183
185
  return zipPath;
184
186
  }
185
- async function injectDemoVaultHelper() {
187
+ async function injectDemoVaultHelper(demoedPluginId) {
186
188
  const packageFolder = (0, import_root.getRootFolder)((0, import_path.getFolderName)(__import_meta_url));
187
189
  if (!packageFolder) {
188
190
  throw new Error("Could not resolve the obsidian-dev-utils package folder to inject the demo-vault-helper plugin.");
@@ -198,9 +200,12 @@ async function injectDemoVaultHelper() {
198
200
  });
199
201
  await (0, import_promises.mkdir)(helperFolder, { recursive: true });
200
202
  await (0, import_promises.cp)(helperSourcePath, helperFolder, { recursive: true });
203
+ const settings = { demoedPluginId };
204
+ await (0, import_promises.writeFile)((0, import_path.join)(helperFolder, DATA_JSON_FILE_NAME), `${JSON.stringify(settings, null, DATA_JSON_INDENT)}
205
+ `, "utf-8");
201
206
  }
202
207
  // Annotate the CommonJS export names for ESM import in node:
203
208
  0 && (module.exports = {
204
209
  archivePluginDemoVault
205
210
  });
206
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9kZW1vLXZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBsb2NhbFJlcXVpcmUgPSByZXF1aXJlO1xuICAgICAgICBjb25zdCB1cmwgPSBsb2NhbFJlcXVpcmUoJ25vZGU6dXJsJyk7XG4gICAgICAgIGlmICh0eXBlb2YgdXJsLnBhdGhUb0ZpbGVVUkwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGFjdGl2ZVdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgICAgfVxuXG4gICAgICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgICAgIHJldHVybiAnJztcbiAgICB9KSgpO1xuLyoqXG4gKiBAZmlsZVxuICpcbiAqIEFyY2hpdmVzIGEgcGx1Z2luJ3MgZGVtbyB2YXVsdCBhcyBhIHJlbGVhc2UgYXJ0aWZhY3QuXG4gKlxuICogQSBwbHVnaW4gY2FuIHNoaXAgYSBjdXJhdGVkIGRlbW8gdmF1bHQgYXQgYGRlbW8tdmF1bHQvYCBpbiBpdHMgcmVwbyByb290LiBBdCByZWxlYXNlIHRpbWUgdGhpc1xuICogbW9kdWxlIGluc3RhbGxzIHRoZSBmcmVzaGx5IGJ1aWx0IHBsdWdpbiBpbnRvIHRoYXQgdmF1bHQncyBgLm9ic2lkaWFuL3BsdWdpbnMvPGlkPi9gIGZvbGRlciBhbmRcbiAqIHppcHMgdGhlIHdob2xlIHZhdWx0IGludG8gYGRpc3QvYnVpbGQvPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj4uemlwYCwgc28gdGhlIGV4aXN0aW5nXG4gKiBHaXRIdWItcmVsZWFzZSBzdGVwICh3aGljaCB1cGxvYWRzIGV2ZXJ5IGZpbGUgaW4gYGRpc3QvYnVpbGQvYCkgYXR0YWNoZXMgaXQgYXV0b21hdGljYWxseS4gVGhlXG4gKiBhcmNoaXZlIG5hbWUgY2FycmllcyB0aGUgcGx1Z2luIGlkIChzbyBzZXZlcmFsIHBsdWdpbnMnIGRlbW8gdmF1bHRzIG5ldmVyIGNvbGxpZGUpIGFuZCB0aGUgdmVyc2lvblxuICogKHNvIGVhY2ggcmVsZWFzZSBzaGlwcyBpdHMgb3duIGRpc3RpbmN0bHkgbmFtZWQgYXJ0aWZhY3QpLlxuICovXG5cbmltcG9ydCBBZG1aaXAgZnJvbSAnYWRtLXppcCc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJlYWRGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4vb2JzaWRpYW4tZGV2LXV0aWxzLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0Um9vdEZvbGRlcixcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9yb290LnRzJztcblxuY29uc3QgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lEID0gJ2RlbW8tdmF1bHQtaGVscGVyJztcblxuLyoqXG4gKiBUaGUgbWluaW1hbCBzaGFwZSBvZiBhIHBsdWdpbiBgbWFuaWZlc3QuanNvbmAgcmVhZCBieSB7QGxpbmsgYXJjaGl2ZVBsdWdpbkRlbW9WYXVsdH0uXG4gKi9cbmludGVyZmFjZSBQbHVnaW5NYW5pZmVzdCB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGlkLCB1c2VkIGFzIHRoZSBmb2xkZXIgbmFtZSB1bmRlciBgZGVtby12YXVsdC8ub2JzaWRpYW4vcGx1Z2lucy9gLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbiB2ZXJzaW9uLCBlbWJlZGRlZCBpbiB0aGUgYXJjaGl2ZSBmaWxlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXJjaGl2ZXMgdGhlIHBsdWdpbidzIGRlbW8gdmF1bHQgKGBkZW1vLXZhdWx0L2AgaW4gdGhlIHJlcG8gcm9vdCkgYXMgYSByZWxlYXNlIGFydGlmYWN0LlxuICpcbiAqIEluc3RhbGxzIHRoZSBmcmVzaGx5IGJ1aWx0IHBsdWdpbiBmcm9tIGBkaXN0L2J1aWxkL2AgaW50byB0aGUgdmF1bHQnc1xuICogYC5vYnNpZGlhbi9wbHVnaW5zLzxpZD4vYCBmb2xkZXIsIHRoZW4gemlwcyB0aGUgd2hvbGUgdmF1bHQgdG9cbiAqIGBkaXN0L2J1aWxkLzxwbHVnaW4taWQ+LWRlbW8tdmF1bHQtPHZlcnNpb24+LnppcGAuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgY3JlYXRlZCB6aXAgYXJjaGl2ZSwgb3JcbiAqIGBudWxsYCBpZiB0aGUgcmVwbyBoYXMgbm8gYGRlbW8tdmF1bHQvYCBmb2xkZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcmNoaXZlUGx1Z2luRGVtb1ZhdWx0KCk6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICBjb25zdCBkZW1vVmF1bHRQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EZW1vVmF1bHQgfSk7XG4gIGlmICghZXhpc3RzU3luYyhkZW1vVmF1bHRQYXRoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24gfSk7XG4gIGNvbnN0IG1hbmlmZXN0ID0gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShtYW5pZmVzdFBhdGgsICd1dGYtOCcpKSBhcyBQbHVnaW5NYW5pZmVzdDtcblxuICBjb25zdCBwbHVnaW5Gb2xkZXIgPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZSh7XG4gICAgcGF0aDogam9pbihcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRlbW9WYXVsdCxcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGx1Z2lucyxcbiAgICAgIG1hbmlmZXN0LmlkXG4gICAgKVxuICB9KTtcbiAgYXdhaXQgbWtkaXIocGx1Z2luRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBkaXN0QnVpbGRQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0QnVpbGQgfSk7XG4gIGF3YWl0IGNwKGRpc3RCdWlsZFBhdGgsIHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgYXdhaXQgaW5qZWN0RGVtb1ZhdWx0SGVscGVyKCk7XG5cbiAgLy8gQXJjaGl2ZSBuYW1lIGlzIGhhbmQtc3luY2VkIHdpdGggdGhlIHJ1bnRpbWUgYG9wZW5EZW1vVmF1bHRgIG9wZW5lciwgd2hpY2ggZG93bmxvYWRzIHRoaXMgZXhhY3QgYXNzZXQgbmFtZS5cbiAgY29uc3QgemlwUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHtcbiAgICBwYXRoOiBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgYCR7bWFuaWZlc3QuaWR9LWRlbW8tdmF1bHQtJHttYW5pZmVzdC52ZXJzaW9ufS56aXBgKVxuICB9KTtcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCgpO1xuICB6aXAuYWRkTG9jYWxGb2xkZXIoZGVtb1ZhdWx0UGF0aCk7XG4gIGF3YWl0IHppcC53cml0ZVppcFByb21pc2UoemlwUGF0aCk7XG4gIHJldHVybiB6aXBQYXRoO1xufVxuXG4vLyBJbmplY3RzIHRoZSBidWlsdCwgYG9ic2lkaWFuLWRldi11dGlsc2Atb3duZWQgYGRlbW8tdmF1bHQtaGVscGVyYCBib290c3RyYXAgcGx1Z2luIChzaGlwcGVkIGluIHRoaXMgcGFja2FnZSkgaW50byB0aGUgZGVtbyB2YXVsdCwgc28gbm8gcGVyLXZhdWx0IGNvcHkgaXMgY29tbWl0dGVkIGFuZCBhbiBgb2JzaWRpYW4tZGV2LXV0aWxzYCBidW1wIHByb3BhZ2F0ZXMgZml4ZXMuXG5hc3luYyBmdW5jdGlvbiBpbmplY3REZW1vVmF1bHRIZWxwZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBhY2thZ2VGb2xkZXIgPSBnZXRSb290Rm9sZGVyKGdldEZvbGRlck5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gIGlmICghcGFja2FnZUZvbGRlcikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHJlc29sdmUgdGhlIG9ic2lkaWFuLWRldi11dGlscyBwYWNrYWdlIGZvbGRlciB0byBpbmplY3QgdGhlIGRlbW8tdmF1bHQtaGVscGVyIHBsdWdpbi4nKTtcbiAgfVxuXG4gIGNvbnN0IGhlbHBlclNvdXJjZVBhdGggPSBqb2luKHBhY2thZ2VGb2xkZXIsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdERlbW9WYXVsdEhlbHBlcik7XG4gIGNvbnN0IGhlbHBlckZvbGRlciA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHtcbiAgICBwYXRoOiBqb2luKFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGVtb1ZhdWx0LFxuICAgICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRG90T2JzaWRpYW4sXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5QbHVnaW5zLFxuICAgICAgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lEXG4gICAgKVxuICB9KTtcbiAgYXdhaXQgbWtkaXIoaGVscGVyRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgY3AoaGVscGVyU291cmNlUGF0aCwgaGVscGVyRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZCQSxxQkFBbUI7QUFDbkIscUJBQTJCO0FBQzNCLHNCQUlPO0FBRVAsd0NBQXdDO0FBQ3hDLGtCQUdPO0FBQ1AsMkNBQTBDO0FBQzFDLGtCQUdPO0FBOUNQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBTTtBQUMxRCxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLFVBQU0sZUFBZTtBQUNyQixVQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLFFBQUksT0FBTyxJQUFJLGtCQUFrQixZQUFZO0FBQzNDLGFBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLElBQ3ZDO0FBQUEsRUFDRjtBQUVBLE1BQUksT0FBTyxXQUFXLGFBQWE7QUFDakMsV0FBTyxhQUFhLFNBQVM7QUFBQSxFQUMvQjtBQUdBLFNBQU87QUFDVCxHQUFHO0FBaUNQLE1BQU0sOEJBQThCO0FBMkJwQyxlQUFzQix5QkFBaUQ7QUFDckUsUUFBTSxvQkFBZ0IscUNBQXdCLEVBQUUsTUFBTSwwREFBd0IsVUFBVSxDQUFDO0FBQ3pGLE1BQUksS0FBQywyQkFBVyxhQUFhLEdBQUc7QUFDOUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLG1CQUFlLHFDQUF3QixFQUFFLE1BQU0sMERBQXdCLGFBQWEsQ0FBQztBQUMzRixRQUFNLFdBQVcsS0FBSyxNQUFNLFVBQU0sMEJBQVMsY0FBYyxPQUFPLENBQUM7QUFFakUsUUFBTSxtQkFBZSxxQ0FBd0I7QUFBQSxJQUMzQyxVQUFNO0FBQUEsTUFDSiwwREFBd0I7QUFBQSxNQUN4QiwwREFBd0I7QUFBQSxNQUN4QiwwREFBd0I7QUFBQSxNQUN4QixTQUFTO0FBQUEsSUFDWDtBQUFBLEVBQ0YsQ0FBQztBQUNELFlBQU0sdUJBQU0sY0FBYyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBRTdDLFFBQU0sb0JBQWdCLHFDQUF3QixFQUFFLE1BQU0sMERBQXdCLFVBQVUsQ0FBQztBQUN6RixZQUFNLG9CQUFHLGVBQWUsY0FBYyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBRXpELFFBQU0sc0JBQXNCO0FBRzVCLFFBQU0sY0FBVSxxQ0FBd0I7QUFBQSxJQUN0QyxVQUFNLGtCQUFLLDBEQUF3QixXQUFXLEdBQUcsU0FBUyxFQUFFLGVBQWUsU0FBUyxPQUFPLE1BQU07QUFBQSxFQUNuRyxDQUFDO0FBQ0QsUUFBTSxNQUFNLElBQUksZUFBQUEsUUFBTztBQUN2QixNQUFJLGVBQWUsYUFBYTtBQUNoQyxRQUFNLElBQUksZ0JBQWdCLE9BQU87QUFDakMsU0FBTztBQUNUO0FBR0EsZUFBZSx3QkFBdUM7QUFDcEQsUUFBTSxvQkFBZ0IsK0JBQWMsMkJBQWMsaUJBQWUsQ0FBQztBQUNsRSxNQUFJLENBQUMsZUFBZTtBQUNsQixVQUFNLElBQUksTUFBTSxpR0FBaUc7QUFBQSxFQUNuSDtBQUVBLFFBQU0sdUJBQW1CLGtCQUFLLGVBQWUsK0RBQTBCLG1CQUFtQjtBQUMxRixRQUFNLG1CQUFlLHFDQUF3QjtBQUFBLElBQzNDLFVBQU07QUFBQSxNQUNKLDBEQUF3QjtBQUFBLE1BQ3hCLDBEQUF3QjtBQUFBLE1BQ3hCLDBEQUF3QjtBQUFBLE1BQ3hCO0FBQUEsSUFDRjtBQUFBLEVBQ0YsQ0FBQztBQUNELFlBQU0sdUJBQU0sY0FBYyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQzdDLFlBQU0sb0JBQUcsa0JBQWtCLGNBQWMsRUFBRSxXQUFXLEtBQUssQ0FBQztBQUM5RDsiLAogICJuYW1lcyI6IFsiQWRtWmlwIl0KfQo=
211
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9kZW1vLXZhdWx0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBsb2NhbFJlcXVpcmUgPSByZXF1aXJlO1xuICAgICAgICBjb25zdCB1cmwgPSBsb2NhbFJlcXVpcmUoJ25vZGU6dXJsJyk7XG4gICAgICAgIGlmICh0eXBlb2YgdXJsLnBhdGhUb0ZpbGVVUkwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGFjdGl2ZVdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgICAgfVxuXG4gICAgICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgICAgIHJldHVybiAnJztcbiAgICB9KSgpO1xuLyoqXG4gKiBAZmlsZVxuICpcbiAqIEFyY2hpdmVzIGEgcGx1Z2luJ3MgZGVtbyB2YXVsdCBhcyBhIHJlbGVhc2UgYXJ0aWZhY3QuXG4gKlxuICogQSBwbHVnaW4gY2FuIHNoaXAgYSBjdXJhdGVkIGRlbW8gdmF1bHQgYXQgYGRlbW8tdmF1bHQvYCBpbiBpdHMgcmVwbyByb290LiBBdCByZWxlYXNlIHRpbWUgdGhpc1xuICogbW9kdWxlIGluc3RhbGxzIHRoZSBmcmVzaGx5IGJ1aWx0IHBsdWdpbiBpbnRvIHRoYXQgdmF1bHQncyBgLm9ic2lkaWFuL3BsdWdpbnMvPGlkPi9gIGZvbGRlciBhbmRcbiAqIHppcHMgdGhlIHdob2xlIHZhdWx0IGludG8gYGRpc3QvYnVpbGQvPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj4uemlwYCwgc28gdGhlIGV4aXN0aW5nXG4gKiBHaXRIdWItcmVsZWFzZSBzdGVwICh3aGljaCB1cGxvYWRzIGV2ZXJ5IGZpbGUgaW4gYGRpc3QvYnVpbGQvYCkgYXR0YWNoZXMgaXQgYXV0b21hdGljYWxseS4gVGhlXG4gKiBhcmNoaXZlIG5hbWUgY2FycmllcyB0aGUgcGx1Z2luIGlkIChzbyBzZXZlcmFsIHBsdWdpbnMnIGRlbW8gdmF1bHRzIG5ldmVyIGNvbGxpZGUpIGFuZCB0aGUgdmVyc2lvblxuICogKHNvIGVhY2ggcmVsZWFzZSBzaGlwcyBpdHMgb3duIGRpc3RpbmN0bHkgbmFtZWQgYXJ0aWZhY3QpLlxuICovXG5cbmltcG9ydCBBZG1aaXAgZnJvbSAnYWRtLXppcCc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB0eXBlIHsgRGVtb1ZhdWx0SGVscGVyU2V0dGluZ3MgfSBmcm9tICcuLi9vYnNpZGlhbi9kZW1vLXZhdWx0LWhlbHBlci1zZXR0aW5ncy50cyc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBnZXRSb290Rm9sZGVyLFxuICByZXNvbHZlUGF0aEZyb21Sb290U2FmZVxufSBmcm9tICcuL3Jvb3QudHMnO1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgREFUQV9KU09OX0ZJTEVfTkFNRSA9ICdkYXRhLmpzb24nO1xuY29uc3QgREFUQV9KU09OX0lOREVOVCA9IDI7XG5cbi8qKlxuICogVGhlIG1pbmltYWwgc2hhcGUgb2YgYSBwbHVnaW4gYG1hbmlmZXN0Lmpzb25gIHJlYWQgYnkge0BsaW5rIGFyY2hpdmVQbHVnaW5EZW1vVmF1bHR9LlxuICovXG5pbnRlcmZhY2UgUGx1Z2luTWFuaWZlc3Qge1xuICAvKipcbiAgICogVGhlIHBsdWdpbiBpZCwgdXNlZCBhcyB0aGUgZm9sZGVyIG5hbWUgdW5kZXIgYGRlbW8tdmF1bHQvLm9ic2lkaWFuL3BsdWdpbnMvYC5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdmVyc2lvbiwgZW1iZWRkZWQgaW4gdGhlIGFyY2hpdmUgZmlsZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFyY2hpdmVzIHRoZSBwbHVnaW4ncyBkZW1vIHZhdWx0IChgZGVtby12YXVsdC9gIGluIHRoZSByZXBvIHJvb3QpIGFzIGEgcmVsZWFzZSBhcnRpZmFjdC5cbiAqXG4gKiBJbnN0YWxscyB0aGUgZnJlc2hseSBidWlsdCBwbHVnaW4gZnJvbSBgZGlzdC9idWlsZC9gIGludG8gdGhlIHZhdWx0J3NcbiAqIGAub2JzaWRpYW4vcGx1Z2lucy88aWQ+L2AgZm9sZGVyLCB0aGVuIHppcHMgdGhlIHdob2xlIHZhdWx0IHRvXG4gKiBgZGlzdC9idWlsZC88cGx1Z2luLWlkPi1kZW1vLXZhdWx0LTx2ZXJzaW9uPi56aXBgLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGNyZWF0ZWQgemlwIGFyY2hpdmUsIG9yXG4gKiBgbnVsbGAgaWYgdGhlIHJlcG8gaGFzIG5vIGBkZW1vLXZhdWx0L2AgZm9sZGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXJjaGl2ZVBsdWdpbkRlbW9WYXVsdCgpOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgY29uc3QgZGVtb1ZhdWx0UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGVtb1ZhdWx0IH0pO1xuICBpZiAoIWV4aXN0c1N5bmMoZGVtb1ZhdWx0UGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uIH0pO1xuICBjb25zdCBtYW5pZmVzdCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUobWFuaWZlc3RQYXRoLCAndXRmLTgnKSkgYXMgUGx1Z2luTWFuaWZlc3Q7XG5cbiAgY29uc3QgcGx1Z2luRm9sZGVyID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoe1xuICAgIHBhdGg6IGpvaW4oXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EZW1vVmF1bHQsXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Eb3RPYnNpZGlhbixcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBsdWdpbnMsXG4gICAgICBtYW5pZmVzdC5pZFxuICAgIClcbiAgfSk7XG4gIGF3YWl0IG1rZGlyKHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEJ1aWxkUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdEJ1aWxkIH0pO1xuICBhd2FpdCBjcChkaXN0QnVpbGRQYXRoLCBwbHVnaW5Gb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGF3YWl0IGluamVjdERlbW9WYXVsdEhlbHBlcihtYW5pZmVzdC5pZCk7XG5cbiAgLy8gQXJjaGl2ZSBuYW1lIGlzIGhhbmQtc3luY2VkIHdpdGggdGhlIHJ1bnRpbWUgYG9wZW5EZW1vVmF1bHRgIG9wZW5lciwgd2hpY2ggZG93bmxvYWRzIHRoaXMgZXhhY3QgYXNzZXQgbmFtZS5cbiAgY29uc3QgemlwUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHtcbiAgICBwYXRoOiBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgYCR7bWFuaWZlc3QuaWR9LWRlbW8tdmF1bHQtJHttYW5pZmVzdC52ZXJzaW9ufS56aXBgKVxuICB9KTtcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCgpO1xuICB6aXAuYWRkTG9jYWxGb2xkZXIoZGVtb1ZhdWx0UGF0aCk7XG4gIGF3YWl0IHppcC53cml0ZVppcFByb21pc2UoemlwUGF0aCk7XG4gIHJldHVybiB6aXBQYXRoO1xufVxuXG4vLyBJbmplY3RzIHRoZSBidWlsdCwgYG9ic2lkaWFuLWRldi11dGlsc2Atb3duZWQgYGRlbW8tdmF1bHQtaGVscGVyYCBib290c3RyYXAgcGx1Z2luIChzaGlwcGVkIGluIHRoaXMgcGFja2FnZSkgaW50byB0aGUgZGVtbyB2YXVsdCwgc28gbm8gcGVyLXZhdWx0IGNvcHkgaXMgY29tbWl0dGVkIGFuZCBhbiBgb2JzaWRpYW4tZGV2LXV0aWxzYCBidW1wIHByb3BhZ2F0ZXMgZml4ZXMuXG4vL1xuLy8gQWxvbmdzaWRlIHRoZSBiaW5hcmllcyBpdCB3cml0ZXMgdGhlIGhlbHBlcidzIG93biBgZGF0YS5qc29uYCBuYW1pbmcgdGhlIGRlbW9uc3RyYXRlZCBwbHVnaW4uIFRoYXQgaXNcbi8vIFRoZSBvbmUgbW9tZW50IHRoZSBpZCBpcyBrbm93biBmb3IgY2VydGFpbiBcdTIwMTQgaXQgY29tZXMgZnJvbSB0aGUgcGx1Z2luJ3Mgb3duIG1hbmlmZXN0IFx1MjAxNCB3aGVyZWFzIHRoZVxuLy8gT3BlbmVkIHZhdWx0IG9ubHkgb2ZmZXJzIHBsdWdpbiBmb2xkZXJzIHRvIGNvdW50LCB3aGljaCB0aGUgYm9vdHN0cmFwIGl0c2VsZiBhZGRzIHRvIChzZWVcbi8vIGBEZW1vVmF1bHRIZWxwZXJTZXR0aW5nc2ApLlxuYXN5bmMgZnVuY3Rpb24gaW5qZWN0RGVtb1ZhdWx0SGVscGVyKGRlbW9lZFBsdWdpbklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUZvbGRlciA9IGdldFJvb3RGb2xkZXIoZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgaWYgKCFwYWNrYWdlRm9sZGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcmVzb2x2ZSB0aGUgb2JzaWRpYW4tZGV2LXV0aWxzIHBhY2thZ2UgZm9sZGVyIHRvIGluamVjdCB0aGUgZGVtby12YXVsdC1oZWxwZXIgcGx1Z2luLicpO1xuICB9XG5cbiAgY29uc3QgaGVscGVyU291cmNlUGF0aCA9IGpvaW4ocGFja2FnZUZvbGRlciwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0RGVtb1ZhdWx0SGVscGVyKTtcbiAgY29uc3QgaGVscGVyRm9sZGVyID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoe1xuICAgIHBhdGg6IGpvaW4oXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EZW1vVmF1bHQsXG4gICAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Eb3RPYnNpZGlhbixcbiAgICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBsdWdpbnMsXG4gICAgICBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSURcbiAgICApXG4gIH0pO1xuICBhd2FpdCBta2RpcihoZWxwZXJGb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBhd2FpdCBjcChoZWxwZXJTb3VyY2VQYXRoLCBoZWxwZXJGb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IHNldHRpbmdzOiBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyA9IHsgZGVtb2VkUGx1Z2luSWQgfTtcbiAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oaGVscGVyRm9sZGVyLCBEQVRBX0pTT05fRklMRV9OQU1FKSwgYCR7SlNPTi5zdHJpbmdpZnkoc2V0dGluZ3MsIG51bGwsIERBVEFfSlNPTl9JTkRFTlQpfVxcbmAsICd1dGYtOCcpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBLHFCQUFtQjtBQUNuQixxQkFBMkI7QUFDM0Isc0JBS087QUFJUCx3Q0FBd0M7QUFDeEMsa0JBR087QUFDUCwyQ0FBMEM7QUFDMUMsa0JBR087QUFqRFAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFNO0FBQzFELE1BQUksT0FBTyxlQUFlLFVBQVU7QUFDbEMsVUFBTSxlQUFlO0FBQ3JCLFVBQU0sTUFBTSxhQUFhLFVBQVU7QUFDbkMsUUFBSSxPQUFPLElBQUksa0JBQWtCLFlBQVk7QUFDM0MsYUFBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsSUFDdkM7QUFBQSxFQUNGO0FBRUEsTUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxXQUFPLGFBQWEsU0FBUztBQUFBLEVBQy9CO0FBR0EsU0FBTztBQUNULEdBQUc7QUFvQ1AsTUFBTSw4QkFBOEI7QUFDcEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxtQkFBbUI7QUEyQnpCLGVBQXNCLHlCQUFpRDtBQUNyRSxRQUFNLG9CQUFnQixxQ0FBd0IsRUFBRSxNQUFNLDBEQUF3QixVQUFVLENBQUM7QUFDekYsTUFBSSxLQUFDLDJCQUFXLGFBQWEsR0FBRztBQUM5QixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sbUJBQWUscUNBQXdCLEVBQUUsTUFBTSwwREFBd0IsYUFBYSxDQUFDO0FBQzNGLFFBQU0sV0FBVyxLQUFLLE1BQU0sVUFBTSwwQkFBUyxjQUFjLE9BQU8sQ0FBQztBQUVqRSxRQUFNLG1CQUFlLHFDQUF3QjtBQUFBLElBQzNDLFVBQU07QUFBQSxNQUNKLDBEQUF3QjtBQUFBLE1BQ3hCLDBEQUF3QjtBQUFBLE1BQ3hCLDBEQUF3QjtBQUFBLE1BQ3hCLFNBQVM7QUFBQSxJQUNYO0FBQUEsRUFDRixDQUFDO0FBQ0QsWUFBTSx1QkFBTSxjQUFjLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFFN0MsUUFBTSxvQkFBZ0IscUNBQXdCLEVBQUUsTUFBTSwwREFBd0IsVUFBVSxDQUFDO0FBQ3pGLFlBQU0sb0JBQUcsZUFBZSxjQUFjLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFFekQsUUFBTSxzQkFBc0IsU0FBUyxFQUFFO0FBR3ZDLFFBQU0sY0FBVSxxQ0FBd0I7QUFBQSxJQUN0QyxVQUFNLGtCQUFLLDBEQUF3QixXQUFXLEdBQUcsU0FBUyxFQUFFLGVBQWUsU0FBUyxPQUFPLE1BQU07QUFBQSxFQUNuRyxDQUFDO0FBQ0QsUUFBTSxNQUFNLElBQUksZUFBQUEsUUFBTztBQUN2QixNQUFJLGVBQWUsYUFBYTtBQUNoQyxRQUFNLElBQUksZ0JBQWdCLE9BQU87QUFDakMsU0FBTztBQUNUO0FBUUEsZUFBZSxzQkFBc0IsZ0JBQXVDO0FBQzFFLFFBQU0sb0JBQWdCLCtCQUFjLDJCQUFjLGlCQUFlLENBQUM7QUFDbEUsTUFBSSxDQUFDLGVBQWU7QUFDbEIsVUFBTSxJQUFJLE1BQU0saUdBQWlHO0FBQUEsRUFDbkg7QUFFQSxRQUFNLHVCQUFtQixrQkFBSyxlQUFlLCtEQUEwQixtQkFBbUI7QUFDMUYsUUFBTSxtQkFBZSxxQ0FBd0I7QUFBQSxJQUMzQyxVQUFNO0FBQUEsTUFDSiwwREFBd0I7QUFBQSxNQUN4QiwwREFBd0I7QUFBQSxNQUN4QiwwREFBd0I7QUFBQSxNQUN4QjtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDRCxZQUFNLHVCQUFNLGNBQWMsRUFBRSxXQUFXLEtBQUssQ0FBQztBQUM3QyxZQUFNLG9CQUFHLGtCQUFrQixjQUFjLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFFNUQsUUFBTSxXQUFvQyxFQUFFLGVBQWU7QUFDM0QsWUFBTSwrQkFBVSxrQkFBSyxjQUFjLG1CQUFtQixHQUFHLEdBQUcsS0FBSyxVQUFVLFVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUFBLEdBQU0sT0FBTztBQUMzSDsiLAogICJuYW1lcyI6IFsiQWRtWmlwIl0KfQo=
@@ -214,4 +214,4 @@ const noAsyncCallbackToUnsafeReturn = {
214
214
  MESSAGE_ID,
215
215
  noAsyncCallbackToUnsafeReturn
216
216
  });
217
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm5cbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYW4gYXN5bmMgZnVuY3Rpb24gaXMgcGFzc2VkIGFzIGEgY2FsbGJhY2sgYXJndW1lbnRcbiAqIHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyIHdob3NlIHJldHVybiB0eXBlIGlzIGBhbnlgIG9yIGB1bmtub3duYC4gQmVjYXVzZVxuICogdGhlc2UgdHlwZXMgc2lsZW50bHkgYWNjZXB0IGBQcm9taXNlPFQ+YCwgdGhlIGNhbGxlciB3b24ndCBhd2FpdCB0aGVcbiAqIHJlc3VsdCwgbGVhZGluZyB0byB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25zIGF0IHJ1bnRpbWUuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG9uQ2xpY2soZm46IChldnQ6IE1vdXNlRXZlbnQpID0+IGFueSlcbiAqIGJ1dHRvbi5vbkNsaWNrKGFzeW5jICgpID0+IHtcbiAqICAgYXdhaXQgc29tZUZuKCk7IC8vIFVuaGFuZGxlZCByZWplY3Rpb24gaWYgc29tZUZuIHRocm93c1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNgIG9ubHkgY2F0Y2hlcyBgPT4gdm9pZGAgY2FsbGJhY2tzLlxuICogVGhpcyBydWxlIGNsb3NlcyB0aGUgZ2FwIGZvciBgPT4gYW55YCBhbmQgYD0+IHVua25vd25gIGNhbGxiYWNrcy5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTaWduYXR1cmUsXG4gIFR5cGUsXG4gIFR5cGVDaGVja2VyLFxuICBUeXBlTm9kZVxufSBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtcbiAgaXNJZGVudGlmaWVyLFxuICBpc1R5cGVBbGlhc0RlY2xhcmF0aW9uLFxuICBpc1R5cGVSZWZlcmVuY2VOb2RlLFxuICBpc1VuaW9uVHlwZU5vZGUsXG4gIFN5bWJvbEZsYWdzLFxuICBUeXBlRmxhZ3Ncbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhc3luYyBmdW5jdGlvbiBpcyBwYXNzZWQgYXMgYSBjYWxsYmFjayB0byBhIHBhcmFtZXRlciB3aG9zZSByZXR1cm4gdHlwZSBpcyBgYW55YC9gdW5rbm93bmAsIHJpc2tpbmcgYW4gdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub0FzeW5jQ2FsbGJhY2tUb1Vuc2FmZVJldHVybic7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIFR5cGVTY3JpcHQgdHlwZSBpcyBhIGZ1bmN0aW9uIHR5cGUgd2l0aCBhbiB1bnNhZmVcbiAqIHJldHVybiB0eXBlIGZvciBhc3luYyBjYWxsYmFja3MuXG4gKlxuICogQHBhcmFtIGNoZWNrZXIgLSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdHlwZSBoYXMgYXQgbGVhc3Qgb25lIGNhbGwgc2lnbmF0dXJlIHdpdGggYW4gdW5zYWZlIHJldHVybi5cbiAqL1xuZnVuY3Rpb24gaGFzVW5zYWZlUmV0dXJuQ2FsbFNpZ25hdHVyZShjaGVja2VyOiBUeXBlQ2hlY2tlciwgdHlwZTogVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZS5nZXRDYWxsU2lnbmF0dXJlcygpLnNvbWUoKHNpZykgPT4gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlciwgc2lnKSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBub2RlIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIGV4cHJlc3Npb24gKGFycm93IG9yIHJlZ3VsYXIpLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gQVNUIG5vZGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYW4gYXN5bmMgYXJyb3cgb3IgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqL1xuZnVuY3Rpb24gaXNBc3luY0Z1bmN0aW9uTm9kZShub2RlOiBUU0VTVHJlZS5Ob2RlKTogbm9kZSBpcyBUU0VTVHJlZS5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB8IFRTRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvbiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIHJldHVybiAobm9kZS50eXBlID09PSAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24nIHx8IG5vZGUudHlwZSA9PT0gJ0Z1bmN0aW9uRXhwcmVzc2lvbicpICYmIG5vZGUuYXN5bmM7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBtYXNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG5jb25zdCBVTlNBRkVfUkVUVVJOX0ZMQUdTID0gVHlwZUZsYWdzLkFueSB8IFR5cGVGbGFncy5Vbmtub3duO1xuXG5jb25zdCBQUk9NSVNFX1RZUEVfTkFNRVMgPSBuZXcgU2V0KFsnUHJvbWlzZScsICdQcm9taXNlTGlrZSddKTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHR5cGUgbm9kZSBjb250YWlucyBhIHJlZmVyZW5jZSB0byBgUHJvbWlzZWAgb3IgYFByb21pc2VMaWtlYCxcbiAqIGVpdGhlciBkaXJlY3RseSBvciB0aHJvdWdoIGEgdHlwZSBhbGlhcy4gVGhpcyBpbmRpY2F0ZXMgdGhlIGNhbGxlciBleHBsaWNpdGx5XG4gKiBhY2NvdW50cyBmb3IgcHJvbWlzZSByZXR1cm5zLlxuICpcbiAqIEBwYXJhbSBjaGVja2VyIC0gVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSB0eXBlIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbm9kZSByZWZlcmVuY2VzIGBQcm9taXNlYCBvciBgUHJvbWlzZUxpa2VgLlxuICovXG5mdW5jdGlvbiBjb250YWluc1Byb21pc2VSZWZlcmVuY2UoY2hlY2tlcjogVHlwZUNoZWNrZXIsIG5vZGU6IFR5cGVOb2RlKTogYm9vbGVhbiB7XG4gIGlmIChpc1VuaW9uVHlwZU5vZGUobm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZS50eXBlcy5zb21lKChtZW1iZXIpID0+IGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBtZW1iZXIpKTtcbiAgfVxuXG4gIGlmIChpc1R5cGVSZWZlcmVuY2VOb2RlKG5vZGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFF1YWxpZmllZCBuYW1lcyAoZS5nLiwgbnMuUHJvbWlzZSkgYW5kIGltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgY29uc3QgbmFtZSA9IGlzSWRlbnRpZmllcihub2RlLnR5cGVOYW1lKSA/IG5vZGUudHlwZU5hbWUudGV4dCA6ICcnO1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgaWYgKFBST01JU0VfVFlQRV9OQU1FUy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgdHlwZSBhbGlhcyAoZm9sbG93aW5nIGltcG9ydHMpIGFuZCBjaGVjayBpdHMgZGVmaW5pdGlvbiBib2R5XG4gICAgbGV0ICRzeW1ib2wgPSBjaGVja2VyLmdldFN5bWJvbEF0TG9jYXRpb24obm9kZS50eXBlTmFtZSk7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIEltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2UgLS0gQml0d2lzZSBmbGFnIGNoZWNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG4gICAgaWYgKCRzeW1ib2wgJiYgJHN5bWJvbC5mbGFncyAmIFN5bWJvbEZsYWdzLkFsaWFzKSB7XG4gICAgICAkc3ltYm9sID0gY2hlY2tlci5nZXRBbGlhc2VkU3ltYm9sKCRzeW1ib2wpO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gJHN5bWJvbD8uZGVjbGFyYXRpb25zPy5bMF07XG4gICAgaWYgKGRlY2xhcmF0aW9uICYmIGlzVHlwZUFsaWFzRGVjbGFyYXRpb24oZGVjbGFyYXRpb24pKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11c2VsZXNzLXJlY3Vyc2lvbiAtLSBUaGlzIGZ1bmN0aW9uIHJlY3Vyc2VzIGluIHR3byBwbGFjZXM6IGhlcmUsIGZvbGxvd2luZyBhIHR5cGUgYWxpYXMsIGFuZCBhYm92ZSwgZmFubmluZyBvdXQgb3ZlciB0aGUgbWVtYmVycyBvZiBhIHVuaW9uLiBPbmx5IHRoaXMgb25lIGlzIGEgdGFpbCBjYWxsLCBzbyB0dXJuaW5nIGl0IGludG8gYSBsb29wIHdvdWxkIGxlYXZlIHRoZSBmdW5jdGlvbiBoYWxmIHJlY3Vyc2l2ZSBhbmQgaGFsZiBpdGVyYXRpdmUgb3ZlciB0aGUgc2FtZSB0cmVlLlxuICAgICAgcmV0dXJuIGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBkZWNsYXJhdGlvbi50eXBlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHNpZ25hdHVyZSBoYXMgYW4gdW5zYWZlIHJldHVybiB0eXBlIChgYW55YCBvciBgdW5rbm93bmApXG4gKiB3aXRob3V0IGV4cGxpY2l0bHkgYWNjb3VudGluZyBmb3IgcHJvbWlzZXMuXG4gKlxuICogRmxhZ3MgYmFyZSBgYW55YCwgYHVua25vd25gLCBhbmQgdW5pb25zIGxpa2UgYGFueSB8IHN0cmluZ2AgdGhhdCByZXNvbHZlIHRvXG4gKiBgYW55YC9gdW5rbm93bmAgd2l0aG91dCBpbmNsdWRpbmcgYFByb21pc2VgL2BQcm9taXNlTGlrZWAuIERvZXMgTk9UIGZsYWcgdHlwZVxuICogYWxpYXNlcyBsaWtlIGBBd2FpdGFibGU8VD5gIG9yIHVuaW9ucyBsaWtlIGBhbnkgfCBQcm9taXNlPGFueT5gIHRoYXQgZXhwbGljaXRseVxuICogaGFuZGxlIHByb21pc2UgcmV0dXJucy5cbiAqXG4gKiBAcGFyYW0gY2hlY2tlciAtIFR5cGVTY3JpcHQgdHlwZSBjaGVja2VyLlxuICogQHBhcmFtIHNpZyAtIFRoZSBjYWxsIHNpZ25hdHVyZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSByZXR1cm4gdHlwZSBpcyB1bnNhZmUgZm9yIGFzeW5jIGNhbGxiYWNrcy5cbiAqL1xuZnVuY3Rpb24gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlcjogVHlwZUNoZWNrZXIsIHNpZzogU2lnbmF0dXJlKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJldHVyblR5cGUgPSBjaGVja2VyLmdldFJldHVyblR5cGVPZlNpZ25hdHVyZShzaWcpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBjaGVjayBpcyBpZGlvbWF0aWMgZm9yIFR5cGVTY3JpcHQgY29tcGlsZXIgQVBJLlxuICBpZiAoIShyZXR1cm5UeXBlLmZsYWdzICYgVU5TQUZFX1JFVFVSTl9GTEFHUykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBDaGVjayB0aGUgc3ludGFjdGljIHJldHVybiB0eXBlIGFubm90YXRpb24uIElmIGl0IGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvXG4gIC8vIFByb21pc2UvUHJvbWlzZUxpa2UgKGRpcmVjdGx5IG9yIHZpYSBhIHR5cGUgYWxpYXMpLCB0aGUgY2FsbGVyIGV4cGxpY2l0bHlcbiAgLy8gSGFuZGxlcyBhc3luYyByZXR1cm5zIGFuZCBzaG91bGQgbm90IGJlIGZsYWdnZWQuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc2lnLmdldERlY2xhcmF0aW9uKCk7XG4gIGNvbnN0IHJldHVyblR5cGVOb2RlID0gZGVjbGFyYXRpb24udHlwZTtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUocmV0dXJuVHlwZU5vZGUsICdTaWduYXR1cmUgZGVjbGFyYXRpb25zIHdpdGggYW55L3Vua25vd24gcmV0dXJuIGFsd2F5cyBoYXZlIGEgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbicpO1xuXG4gIHJldHVybiAhY29udGFpbnNQcm9taXNlUmVmZXJlbmNlKGNoZWNrZXIsIHJldHVyblR5cGVOb2RlKTtcbn1cblxuZXhwb3J0IGNvbnN0IG5vQXN5bmNDYWxsYmFja1RvVW5zYWZlUmV0dXJuOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3Qgc2VydmljZXMgPSBjb250ZXh0LnNvdXJjZUNvZGUucGFyc2VyU2VydmljZXMgYXMgUGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uO1xuICAgIGNvbnN0IGNoZWNrZXIgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhbGxOb2RlID0gbm9kZSBhcyBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbjtcblxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2FsbE5vZGUuYXJndW1lbnRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGFyZ3VtZW50ID0gY2FsbE5vZGUuYXJndW1lbnRzW2luZGV4XTtcbiAgICAgICAgICBpZiAoIWFyZ3VtZW50IHx8ICFpc0FzeW5jRnVuY3Rpb25Ob2RlKGFyZ3VtZW50KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdHNDYWxsZWVOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjYWxsTm9kZS5jYWxsZWUpO1xuICAgICAgICAgIGNvbnN0IGNhbGxlZVR5cGUgPSBjaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzQ2FsbGVlTm9kZSk7XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHNpZyBvZiBjYWxsZWVUeXBlLmdldENhbGxTaWduYXR1cmVzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IHNpZy5nZXRQYXJhbWV0ZXJzKClbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXIpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlclR5cGUgPSBjaGVja2VyLmdldFR5cGVPZlN5bWJvbChwYXJhbWV0ZXIpO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5zYWZlUmV0dXJuQ2FsbFNpZ25hdHVyZShjaGVja2VyLCBwYXJhbWV0ZXJUeXBlKSkge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICAgIG5vZGU6IGFyZ3VtZW50XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdEaXNhbGxvdyBwYXNzaW5nIGFzeW5jIGZ1bmN0aW9ucyBhcyBjYWxsYmFja3MgdG8gcGFyYW1ldGVycyB3aXRoIGBhbnlgIG9yIGB1bmtub3duYCByZXR1cm4gdHlwZSdcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdBc3luYyBmdW5jdGlvbiBwYXNzZWQgYXMgY2FsbGJhY2sgdG8gYSBwYXJhbWV0ZXIgd2l0aCBgYW55YC9gdW5rbm93bmAgcmV0dXJuIHR5cGUuIFRoaXMgbWF5IGNhdXNlIHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbnMuIFdyYXAgdGhlIGNhbGw6IGAoLi4uYXJncykgPT4geyB5b3VyQXN5bmNGbiguLi5hcmdzKTsgfWAuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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
217
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm5cbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYW4gYXN5bmMgZnVuY3Rpb24gaXMgcGFzc2VkIGFzIGEgY2FsbGJhY2sgYXJndW1lbnRcbiAqIHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyIHdob3NlIHJldHVybiB0eXBlIGlzIGBhbnlgIG9yIGB1bmtub3duYC4gQmVjYXVzZVxuICogdGhlc2UgdHlwZXMgc2lsZW50bHkgYWNjZXB0IGBQcm9taXNlPFQ+YCwgdGhlIGNhbGxlciB3b24ndCBhd2FpdCB0aGVcbiAqIHJlc3VsdCwgbGVhZGluZyB0byB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25zIGF0IHJ1bnRpbWUuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG9uQ2xpY2soZm46IChldnQ6IE1vdXNlRXZlbnQpID0+IGFueSlcbiAqIGJ1dHRvbi5vbkNsaWNrKGFzeW5jICgpID0+IHtcbiAqICAgYXdhaXQgc29tZUZuKCk7IC8vIFVuaGFuZGxlZCByZWplY3Rpb24gaWYgc29tZUZuIHRocm93c1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNgIG9ubHkgY2F0Y2hlcyBgPT4gdm9pZGAgY2FsbGJhY2tzLlxuICogVGhpcyBydWxlIGNsb3NlcyB0aGUgZ2FwIGZvciBgPT4gYW55YCBhbmQgYD0+IHVua25vd25gIGNhbGxiYWNrcy5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTaWduYXR1cmUsXG4gIFR5cGUsXG4gIFR5cGVDaGVja2VyLFxuICBUeXBlTm9kZVxufSBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtcbiAgaXNJZGVudGlmaWVyLFxuICBpc1R5cGVBbGlhc0RlY2xhcmF0aW9uLFxuICBpc1R5cGVSZWZlcmVuY2VOb2RlLFxuICBpc1VuaW9uVHlwZU5vZGUsXG4gIFN5bWJvbEZsYWdzLFxuICBUeXBlRmxhZ3Ncbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhc3luYyBmdW5jdGlvbiBpcyBwYXNzZWQgYXMgYSBjYWxsYmFjayB0byBhIHBhcmFtZXRlciB3aG9zZSByZXR1cm4gdHlwZSBpcyBgYW55YC9gdW5rbm93bmAsIHJpc2tpbmcgYW4gdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub0FzeW5jQ2FsbGJhY2tUb1Vuc2FmZVJldHVybic7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIFR5cGVTY3JpcHQgdHlwZSBpcyBhIGZ1bmN0aW9uIHR5cGUgd2l0aCBhbiB1bnNhZmVcbiAqIHJldHVybiB0eXBlIGZvciBhc3luYyBjYWxsYmFja3MuXG4gKlxuICogQHBhcmFtIGNoZWNrZXIgLSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdHlwZSBoYXMgYXQgbGVhc3Qgb25lIGNhbGwgc2lnbmF0dXJlIHdpdGggYW4gdW5zYWZlIHJldHVybi5cbiAqL1xuZnVuY3Rpb24gaGFzVW5zYWZlUmV0dXJuQ2FsbFNpZ25hdHVyZShjaGVja2VyOiBUeXBlQ2hlY2tlciwgdHlwZTogVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZS5nZXRDYWxsU2lnbmF0dXJlcygpLnNvbWUoKHNpZykgPT4gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlciwgc2lnKSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBub2RlIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIGV4cHJlc3Npb24gKGFycm93IG9yIHJlZ3VsYXIpLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gQVNUIG5vZGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYW4gYXN5bmMgYXJyb3cgb3IgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqL1xuZnVuY3Rpb24gaXNBc3luY0Z1bmN0aW9uTm9kZShub2RlOiBUU0VTVHJlZS5Ob2RlKTogbm9kZSBpcyBUU0VTVHJlZS5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB8IFRTRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvbiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIHJldHVybiAobm9kZS50eXBlID09PSAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24nIHx8IG5vZGUudHlwZSA9PT0gJ0Z1bmN0aW9uRXhwcmVzc2lvbicpICYmIG5vZGUuYXN5bmM7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBtYXNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG5jb25zdCBVTlNBRkVfUkVUVVJOX0ZMQUdTID0gVHlwZUZsYWdzLkFueSB8IFR5cGVGbGFncy5Vbmtub3duO1xuXG5jb25zdCBQUk9NSVNFX1RZUEVfTkFNRVMgPSBuZXcgU2V0KFsnUHJvbWlzZScsICdQcm9taXNlTGlrZSddKTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHR5cGUgbm9kZSBjb250YWlucyBhIHJlZmVyZW5jZSB0byBgUHJvbWlzZWAgb3IgYFByb21pc2VMaWtlYCxcbiAqIGVpdGhlciBkaXJlY3RseSBvciB0aHJvdWdoIGEgdHlwZSBhbGlhcy4gVGhpcyBpbmRpY2F0ZXMgdGhlIGNhbGxlciBleHBsaWNpdGx5XG4gKiBhY2NvdW50cyBmb3IgcHJvbWlzZSByZXR1cm5zLlxuICpcbiAqIEBwYXJhbSBjaGVja2VyIC0gVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSB0eXBlIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbm9kZSByZWZlcmVuY2VzIGBQcm9taXNlYCBvciBgUHJvbWlzZUxpa2VgLlxuICovXG5mdW5jdGlvbiBjb250YWluc1Byb21pc2VSZWZlcmVuY2UoY2hlY2tlcjogVHlwZUNoZWNrZXIsIG5vZGU6IFR5cGVOb2RlKTogYm9vbGVhbiB7XG4gIGlmIChpc1VuaW9uVHlwZU5vZGUobm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZS50eXBlcy5zb21lKChtZW1iZXIpID0+IGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBtZW1iZXIpKTtcbiAgfVxuXG4gIGlmIChpc1R5cGVSZWZlcmVuY2VOb2RlKG5vZGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFF1YWxpZmllZCBuYW1lcyAoZS5nLiwgbnMuUHJvbWlzZSkgYW5kIGltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgY29uc3QgbmFtZSA9IGlzSWRlbnRpZmllcihub2RlLnR5cGVOYW1lKSA/IG5vZGUudHlwZU5hbWUudGV4dCA6ICcnO1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgaWYgKFBST01JU0VfVFlQRV9OQU1FUy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgdHlwZSBhbGlhcyAoZm9sbG93aW5nIGltcG9ydHMpIGFuZCBjaGVjayBpdHMgZGVmaW5pdGlvbiBib2R5XG4gICAgbGV0ICRzeW1ib2wgPSBjaGVja2VyLmdldFN5bWJvbEF0TG9jYXRpb24obm9kZS50eXBlTmFtZSk7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIEltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2UgLS0gQml0d2lzZSBmbGFnIGNoZWNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG4gICAgaWYgKCRzeW1ib2wgJiYgJHN5bWJvbC5mbGFncyAmIFN5bWJvbEZsYWdzLkFsaWFzKSB7XG4gICAgICAkc3ltYm9sID0gY2hlY2tlci5nZXRBbGlhc2VkU3ltYm9sKCRzeW1ib2wpO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gJHN5bWJvbD8uZGVjbGFyYXRpb25zPy5bMF07XG4gICAgaWYgKGRlY2xhcmF0aW9uICYmIGlzVHlwZUFsaWFzRGVjbGFyYXRpb24oZGVjbGFyYXRpb24pKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11c2VsZXNzLXJlY3Vyc2lvbiAtLSBUaGlzIGZ1bmN0aW9uIHJlY3Vyc2VzIGluIHR3byBwbGFjZXM6IGhlcmUsIGZvbGxvd2luZyBhIHR5cGUgYWxpYXMsIGFuZCBhYm92ZSwgZmFubmluZyBvdXQgb3ZlciB0aGUgbWVtYmVycyBvZiBhIHVuaW9uLiBPbmx5IHRoaXMgb25lIGlzIGEgdGFpbCBjYWxsLCBzbyB0dXJuaW5nIGl0IGludG8gYSBsb29wIHdvdWxkIGxlYXZlIHRoZSBmdW5jdGlvbiBoYWxmIHJlY3Vyc2l2ZSBhbmQgaGFsZiBpdGVyYXRpdmUgb3ZlciB0aGUgc2FtZSB0cmVlLlxuICAgICAgcmV0dXJuIGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBkZWNsYXJhdGlvbi50eXBlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHNpZ25hdHVyZSBoYXMgYW4gdW5zYWZlIHJldHVybiB0eXBlIChgYW55YCBvciBgdW5rbm93bmApXG4gKiB3aXRob3V0IGV4cGxpY2l0bHkgYWNjb3VudGluZyBmb3IgcHJvbWlzZXMuXG4gKlxuICogRmxhZ3MgYmFyZSBgYW55YCwgYHVua25vd25gLCBhbmQgdW5pb25zIGxpa2UgYGFueSB8IHN0cmluZ2AgdGhhdCByZXNvbHZlIHRvXG4gKiBgYW55YC9gdW5rbm93bmAgd2l0aG91dCBpbmNsdWRpbmcgYFByb21pc2VgL2BQcm9taXNlTGlrZWAuIERvZXMgTk9UIGZsYWcgdHlwZVxuICogYWxpYXNlcyBsaWtlIGBBd2FpdGFibGU8VD5gIG9yIHVuaW9ucyBsaWtlIGBhbnkgfCBQcm9taXNlPGFueT5gIHRoYXQgZXhwbGljaXRseVxuICogaGFuZGxlIHByb21pc2UgcmV0dXJucy5cbiAqXG4gKiBAcGFyYW0gY2hlY2tlciAtIFR5cGVTY3JpcHQgdHlwZSBjaGVja2VyLlxuICogQHBhcmFtIHNpZyAtIFRoZSBjYWxsIHNpZ25hdHVyZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSByZXR1cm4gdHlwZSBpcyB1bnNhZmUgZm9yIGFzeW5jIGNhbGxiYWNrcy5cbiAqL1xuZnVuY3Rpb24gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlcjogVHlwZUNoZWNrZXIsIHNpZzogU2lnbmF0dXJlKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJldHVyblR5cGUgPSBjaGVja2VyLmdldFJldHVyblR5cGVPZlNpZ25hdHVyZShzaWcpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBjaGVjayBpcyBpZGlvbWF0aWMgZm9yIFR5cGVTY3JpcHQgY29tcGlsZXIgQVBJLlxuICBpZiAoIShyZXR1cm5UeXBlLmZsYWdzICYgVU5TQUZFX1JFVFVSTl9GTEFHUykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBDaGVjayB0aGUgc3ludGFjdGljIHJldHVybiB0eXBlIGFubm90YXRpb24uIElmIGl0IGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvXG4gIC8vIFByb21pc2UvUHJvbWlzZUxpa2UgKGRpcmVjdGx5IG9yIHZpYSBhIHR5cGUgYWxpYXMpLCB0aGUgY2FsbGVyIGV4cGxpY2l0bHlcbiAgLy8gSGFuZGxlcyBhc3luYyByZXR1cm5zIGFuZCBzaG91bGQgbm90IGJlIGZsYWdnZWQuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc2lnLmdldERlY2xhcmF0aW9uKCk7XG4gIGNvbnN0IHJldHVyblR5cGVOb2RlID0gZGVjbGFyYXRpb24udHlwZTtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUocmV0dXJuVHlwZU5vZGUsICdTaWduYXR1cmUgZGVjbGFyYXRpb25zIHdpdGggYW55L3Vua25vd24gcmV0dXJuIGFsd2F5cyBoYXZlIGEgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbicpO1xuXG4gIHJldHVybiAhY29udGFpbnNQcm9taXNlUmVmZXJlbmNlKGNoZWNrZXIsIHJldHVyblR5cGVOb2RlKTtcbn1cblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBkaXNhbGxvd2luZyBhc3luYyBmdW5jdGlvbnMgcGFzc2VkIGFzIGNhbGxiYWNrcyB0byBwYXJhbWV0ZXJzIHdpdGggYW4gYGFueWAgb3IgYHVua25vd25gIHJldHVybiB0eXBlLCB3aGVyZSB0aGUgcmV0dXJuZWQgcHJvbWlzZSBpcyBzaWxlbnRseSBkcm9wcGVkLlxuICovXG5leHBvcnQgY29uc3Qgbm9Bc3luY0NhbGxiYWNrVG9VbnNhZmVSZXR1cm46IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBzZXJ2aWNlcyA9IGNvbnRleHQuc291cmNlQ29kZS5wYXJzZXJTZXJ2aWNlcyBhcyBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb247XG4gICAgY29uc3QgY2hlY2tlciA9IHNlcnZpY2VzLnByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2FsbE5vZGUgPSBub2RlIGFzIFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uO1xuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsTm9kZS5hcmd1bWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgYXJndW1lbnQgPSBjYWxsTm9kZS5hcmd1bWVudHNbaW5kZXhdO1xuICAgICAgICAgIGlmICghYXJndW1lbnQgfHwgIWlzQXN5bmNGdW5jdGlvbk5vZGUoYXJndW1lbnQpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB0c0NhbGxlZU5vZGUgPSBzZXJ2aWNlcy5lc1RyZWVOb2RlVG9UU05vZGVNYXAuZ2V0KGNhbGxOb2RlLmNhbGxlZSk7XG4gICAgICAgICAgY29uc3QgY2FsbGVlVHlwZSA9IGNoZWNrZXIuZ2V0VHlwZUF0TG9jYXRpb24odHNDYWxsZWVOb2RlKTtcblxuICAgICAgICAgIGZvciAoY29uc3Qgc2lnIG9mIGNhbGxlZVR5cGUuZ2V0Q2FsbFNpZ25hdHVyZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyID0gc2lnLmdldFBhcmFtZXRlcnMoKVtpbmRleF07XG4gICAgICAgICAgICBpZiAoIXBhcmFtZXRlcikge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyVHlwZSA9IGNoZWNrZXIuZ2V0VHlwZU9mU3ltYm9sKHBhcmFtZXRlcik7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbnNhZmVSZXR1cm5DYWxsU2lnbmF0dXJlKGNoZWNrZXIsIHBhcmFtZXRlclR5cGUpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSUQsXG4gICAgICAgICAgICAgICAgbm9kZTogYXJndW1lbnRcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc2FsbG93IHBhc3NpbmcgYXN5bmMgZnVuY3Rpb25zIGFzIGNhbGxiYWNrcyB0byBwYXJhbWV0ZXJzIHdpdGggYGFueWAgb3IgYHVua25vd25gIHJldHVybiB0eXBlJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ0FzeW5jIGZ1bmN0aW9uIHBhc3NlZCBhcyBjYWxsYmFjayB0byBhIHBhcmFtZXRlciB3aXRoIGBhbnlgL2B1bmtub3duYCByZXR1cm4gdHlwZS4gVGhpcyBtYXkgY2F1c2UgdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9ucy4gV3JhcCB0aGUgY2FsbDogYCguLi5hcmdzKSA9PiB7IHlvdXJBc3luY0ZuKC4uLmFyZ3MpOyB9YC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWlDQSx3QkFPTztBQUVQLHlCQUFrQztBQUszQixNQUFNLGFBQWE7QUFVMUIsU0FBUyw2QkFBNkIsU0FBc0IsTUFBcUI7QUFDL0UsU0FBTyxLQUFLLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxRQUFRLHdCQUF3QixTQUFTLEdBQUcsQ0FBQztBQUNyRjtBQVFBLFNBQVMsb0JBQW9CLE1BQTZGO0FBRXhILFVBQVEsS0FBSyxTQUFTLDZCQUE2QixLQUFLLFNBQVMseUJBQXlCLEtBQUs7QUFDakc7QUFHQSxNQUFNLHNCQUFzQiw0QkFBVSxNQUFNLDRCQUFVO0FBRXRELE1BQU0scUJBQXFCLG9CQUFJLElBQUksQ0FBQyxXQUFXLGFBQWEsQ0FBQztBQVc3RCxTQUFTLHlCQUF5QixTQUFzQixNQUF5QjtBQUMvRSxVQUFJLG1DQUFnQixJQUFJLEdBQUc7QUFDekIsV0FBTyxLQUFLLE1BQU0sS0FBSyxDQUFDLFdBQVcseUJBQXlCLFNBQVMsTUFBTSxDQUFDO0FBQUEsRUFDOUU7QUFFQSxVQUFJLHVDQUFvQixJQUFJLEdBQUc7QUFFN0IsVUFBTSxXQUFPLGdDQUFhLEtBQUssUUFBUSxJQUFJLEtBQUssU0FBUyxPQUFPO0FBRWhFLFFBQUksbUJBQW1CLElBQUksSUFBSSxHQUFHO0FBQ2hDLGFBQU87QUFBQSxJQUNUO0FBR0EsUUFBSSxVQUFVLFFBQVEsb0JBQW9CLEtBQUssUUFBUTtBQUd2RCxRQUFJLFdBQVcsUUFBUSxRQUFRLDhCQUFZLE9BQU87QUFDaEQsZ0JBQVUsUUFBUSxpQkFBaUIsT0FBTztBQUFBLElBQzVDO0FBRUEsVUFBTSxjQUFjLFNBQVMsZUFBZSxDQUFDO0FBQzdDLFFBQUksbUJBQWUsMENBQXVCLFdBQVcsR0FBRztBQUV0RCxhQUFPLHlCQUF5QixTQUFTLFlBQVksSUFBSTtBQUFBLElBQzNEO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQWVBLFNBQVMsd0JBQXdCLFNBQXNCLEtBQXlCO0FBQzlFLFFBQU0sYUFBYSxRQUFRLHlCQUF5QixHQUFHO0FBR3ZELE1BQUksRUFBRSxXQUFXLFFBQVEsc0JBQXNCO0FBQzdDLFdBQU87QUFBQSxFQUNUO0FBS0EsUUFBTSxjQUFjLElBQUksZUFBZTtBQUN2QyxRQUFNLGlCQUFpQixZQUFZO0FBQ25DLDRDQUFrQixnQkFBZ0IscUZBQXFGO0FBRXZILFNBQU8sQ0FBQyx5QkFBeUIsU0FBUyxjQUFjO0FBQzFEO0FBS08sTUFBTSxnQ0FBaUQ7QUFBQSxFQUM1RCxPQUFPLFNBQVM7QUFDZCxVQUFNLFdBQVcsUUFBUSxXQUFXO0FBQ3BDLFVBQU0sVUFBVSxTQUFTLFFBQVEsZUFBZTtBQUVoRCxXQUFPO0FBQUEsTUFDTCxlQUFlLE1BQXVCO0FBQ3BDLGNBQU0sV0FBVztBQUVqQixpQkFBUyxRQUFRLEdBQUcsUUFBUSxTQUFTLFVBQVUsUUFBUSxTQUFTO0FBQzlELGdCQUFNLFdBQVcsU0FBUyxVQUFVLEtBQUs7QUFDekMsY0FBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsUUFBUSxHQUFHO0FBQy9DO0FBQUEsVUFDRjtBQUVBLGdCQUFNLGVBQWUsU0FBUyxzQkFBc0IsSUFBSSxTQUFTLE1BQU07QUFDdkUsZ0JBQU0sYUFBYSxRQUFRLGtCQUFrQixZQUFZO0FBRXpELHFCQUFXLE9BQU8sV0FBVyxrQkFBa0IsR0FBRztBQUNoRCxrQkFBTSxZQUFZLElBQUksY0FBYyxFQUFFLEtBQUs7QUFDM0MsZ0JBQUksQ0FBQyxXQUFXO0FBQ2Q7QUFBQSxZQUNGO0FBRUEsa0JBQU0sZ0JBQWdCLFFBQVEsZ0JBQWdCLFNBQVM7QUFFdkQsZ0JBQUksNkJBQTZCLFNBQVMsYUFBYSxHQUFHO0FBQ3hELHNCQUFRLE9BQU87QUFBQSxnQkFDYixXQUFXO0FBQUEsZ0JBQ1gsTUFBTTtBQUFBLGNBQ1IsQ0FBQztBQUNEO0FBQUEsWUFDRjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -4,4 +4,7 @@ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
4
4
  Message ID reported when an async function is passed as a callback to a parameter whose return type is `any`/`unknown`, risking an unhandled promise rejection.
5
5
  */
6
6
  export declare const MESSAGE_ID = "noAsyncCallbackToUnsafeReturn";
7
+ /**
8
+ * ESLint rule disallowing async functions passed as callbacks to parameters with an `any` or `unknown` return type, where the returned promise is silently dropped.
9
+ */
7
10
  export declare const noAsyncCallbackToUnsafeReturn: Rule.RuleModule;
@@ -313,4 +313,4 @@ function record(node) {
313
313
  MESSAGE_ID,
314
314
  noUnusedParamsMembers
315
315
  });
316
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11bnVzZWQtcGFyYW1zLW1lbWJlcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzXG4gKlxuICogRmxhZ3MgbWVtYmVycyBvZiBhIGAqUGFyYW1zYCAvIGAqT3B0aW9uc2AgcGFyYW1ldGVyLWJhZyBpbnRlcmZhY2UgdGhhdCBhcmVcbiAqIG5ldmVyIGFjY2Vzc2VkIHdpdGhpbiB0aGUgZnVuY3Rpb24vbWV0aG9kL2NvbnN0cnVjdG9yIHRoYXQgcmVjZWl2ZXMgdGhlXG4gKiBpbnRlcmZhY2UgYXMgYSBwYXJhbWV0ZXIuXG4gKlxuICogRGV0ZWN0aW9uIGlzIHBlci1mdW5jdGlvbiwgdXNpbmcgc2NvcGUgYW5hbHlzaXMgdG8gZmluZCB0aGUgcmVhbCByZWZlcmVuY2VzXG4gKiB0byB0aGUgcGFyYW1ldGVyIChub3QgdW5yZWxhdGVkIHNhbWUtbmFtZWQgaWRlbnRpZmllcnMpLiBBIG1lbWJlciBjb3VudHMgYXNcbiAqIHVzZWQgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGJ5IG5hbWUgXHUyMDE0IGBwYXJhbXMubWVtYmVyYCwgYHBhcmFtc1snbWVtYmVyJ11gLCBvclxuICogYGNvbnN0IHsgbWVtYmVyIH0gPSBwYXJhbXNgIChwbHVzIGEgZGVzdHJ1Y3R1cmVkIHNpZ25hdHVyZVxuICogYGZuKHsgbWVtYmVyIH06IEZvb1BhcmFtcylgKS5cbiAqXG4gKiBDcnVjaWFsbHksIGlmIHRoZSBvYmplY3QgZXZlciBFU0NBUEVTIHdob2xlIFx1MjAxNCBzcHJlYWQgKGB7IC4uLnBhcmFtcyB9YCksIHJlc3RcbiAqIChgY29uc3QgeyAuLi5yZXN0IH0gPSBwYXJhbXNgKSwgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IChgZihwYXJhbXMpYCksIHJldHVybmVkLFxuICogb3Igc3RvcmVkIChgdGhpcy5wYXJhbXMgPSBwYXJhbXNgKSBcdTIwMTQgZXZlcnkgbWVtYmVyIGlzIHRyZWF0ZWQgYXMgdXNlZCBhbmRcbiAqIG5vdGhpbmcgaXMgcmVwb3J0ZWQgZm9yIHRoYXQgaW50ZXJmYWNlLiBTdWNoIGFuIGVzY2FwZSBlaXRoZXIgcmVhZHMgZXZlcnlcbiAqIG1lbWJlciAoc3ByZWFkL3Jlc3QpIG9yIGhhbmRzIHRoZSBvYmplY3QgdG8gY29kZSB0aGlzIHJ1bGUgY2Fubm90IHNlZSwgc29cbiAqIG1lbWJlciBkZWFkbmVzcyBjYW5ub3QgYmUgZGVjaWRlZCBsb2NhbGx5LlxuICpcbiAqIEEgbWVtYmVyIGlzIHRoZXJlZm9yZSBmbGFnZ2VkIG9ubHkgd2hlbiBpdCBpcyBuZXZlciByZWZlcmVuY2VkIGJ5IG5hbWUgQU5EXG4gKiB0aGUgb2JqZWN0IG5ldmVyIGVzY2FwZXMgXHUyMDE0IGkuZS4gdGhlIFwiYSBgcGFyYW1zLnhgIHVzYWdlIHdhcyBkZWxldGVkIGJ1dCBgeGBcbiAqIHdhcyBsZWZ0IG9uIHRoZSBpbnRlcmZhY2VcIiBjYXNlLiBBIG1lbWJlciB0aGF0IGlzIGFjdHVhbGx5IHN0aWxsIG5lZWRlZCAocmVhZFxuICogdmlhIGFuIGVzY2FwZSkgaXMgbmV2ZXIgd3JvbmdseSBmbGFnZ2VkOyBhIG1lbWJlciB0aGF0IGlzIGVzY2FwZWQgYnV0IGRlYWRcbiAqIGRvd25zdHJlYW0gaXMgYSB0b2xlcmF0ZWQgZmFsc2UgbmVnYXRpdmUgKGl0cyBkZWFkbmVzcyBpcyBub3QgbG9jYWwpLlxuICpcbiAqIE9ubHkgaW50ZXJmYWNlcyBkZWNsYXJlZCBpbiB0aGUgc2FtZSBmaWxlIGFyZSBjaGVja2VkOyBhbiBpbXBvcnRlZCBwYXJhbWV0ZXJcbiAqIHR5cGUgaXMgc2tpcHBlZC4gT25seSBpZGVudGlmaWVyLW5hbWVkIG1lbWJlcnMgYXJlIHRyYWNrZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBSdWxlLFxuICBTY29wZVxufSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuY29uc3QgUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4gPSAvKD86UGFyYW1zfE9wdGlvbnMpJC87XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgYCpQYXJhbXNgL2AqT3B0aW9uc2AgaW50ZXJmYWNlIG1lbWJlciBpcyBuZXZlciBhY2Nlc3NlZCBieSB0aGUgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAndW51c2VkUGFyYW1zTWVtYmVyJztcblxuaW50ZXJmYWNlIElkZW50aWZpZXJCaW5kaW5nIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiAnaWRlbnRpZmllcic7XG59XG5cbmludGVyZmFjZSBJbnRlcmZhY2VVc2FnZSB7XG4gIHJlYWRvbmx5IHVzZWQ6IFNldDxzdHJpbmc+O1xuICB1c2VzQWxsOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTWF5YmVUeXBlZE5vZGUge1xuICB0eXBlPzogdW5rbm93bjtcbn1cblxudHlwZSBQYXJhbWV0ZXJCaW5kaW5nID0gSWRlbnRpZmllckJpbmRpbmcgfCBQYXR0ZXJuQmluZGluZztcblxuaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICByZWFkb25seSBiaW5kaW5nOiBQYXJhbWV0ZXJCaW5kaW5nO1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGF0dGVybkJpbmRpbmcge1xuICBwYXR0ZXJuOiBSdWxlLk5vZGU7XG4gIHR5cGU6ICdwYXR0ZXJuJztcbn1cblxuZXhwb3J0IGNvbnN0IG5vVW51c2VkUGFyYW1zTWVtYmVyczogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGludGVyZmFjZUtleU5vZGVzID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFJ1bGUuTm9kZT4+KCk7XG4gICAgY29uc3QgdXNhZ2VCeUludGVyZmFjZSA9IG5ldyBNYXA8c3RyaW5nLCBJbnRlcmZhY2VVc2FnZT4oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnOmZ1bmN0aW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcmVjb3JkKG5vZGUpWydwYXJhbXMnXSBhcyBSdWxlLk5vZGVbXSkge1xuICAgICAgICAgIGNvbnN0IGluZm8gPSBnZXRQYXJhbWV0ZXJJbmZvKHBhcmFtZXRlcik7XG4gICAgICAgICAgaWYgKCFpbmZvKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB1c2FnZSA9IGdldE9yQ3JlYXRlVXNhZ2UoaW5mby50eXBlTmFtZSk7XG4gICAgICAgICAgaWYgKGluZm8uYmluZGluZy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhpbmZvLmJpbmRpbmcucGF0dGVybiwgdXNhZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2xsZWN0UmVmZXJlbmNlTWVtYmVycyh7XG4gICAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IGluZm8uYmluZGluZy5uYW1lLFxuICAgICAgICAgICAgICBzY29wZTogY29udGV4dC5zb3VyY2VDb2RlLmdldFNjb3BlKG5vZGUpLFxuICAgICAgICAgICAgICB1c2FnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ1Byb2dyYW06ZXhpdCcoKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgW3R5cGVOYW1lLCBrZXlOb2Rlc10gb2YgaW50ZXJmYWNlS2V5Tm9kZXMpIHtcbiAgICAgICAgICBjb25zdCB1c2FnZSA9IHVzYWdlQnlJbnRlcmZhY2UuZ2V0KHR5cGVOYW1lKTtcbiAgICAgICAgICBpZiAoIXVzYWdlIHx8IHVzYWdlLnVzZXNBbGwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3QgW21lbWJlck5hbWUsIGtleU5vZGVdIG9mIGtleU5vZGVzKSB7XG4gICAgICAgICAgICBpZiAoIXVzYWdlLnVzZWQuaGFzKG1lbWJlck5hbWUpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lOiB0eXBlTmFtZSxcbiAgICAgICAgICAgICAgICAgIG1lbWJlcjogbWVtYmVyTmFtZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICAgIG5vZGU6IGtleU5vZGVcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgVFNJbnRlcmZhY2VEZWNsYXJhdGlvbihub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGdldEludGVyZmFjZU5hbWUobm9kZSk7XG4gICAgICAgIGlmICghUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4udGVzdChuYW1lKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpbnRlcmZhY2VLZXlOb2Rlcy5zZXQobmFtZSwgZ2V0SW50ZXJmYWNlTWVtYmVycyhub2RlKSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldE9yQ3JlYXRlVXNhZ2UodHlwZU5hbWU6IHN0cmluZyk6IEludGVyZmFjZVVzYWdlIHtcbiAgICAgIGxldCB1c2FnZSA9IHVzYWdlQnlJbnRlcmZhY2UuZ2V0KHR5cGVOYW1lKTtcbiAgICAgIGlmICghdXNhZ2UpIHtcbiAgICAgICAgdXNhZ2UgPSB7IHVzZWQ6IG5ldyBTZXQ8c3RyaW5nPigpLCB1c2VzQWxsOiBmYWxzZSB9O1xuICAgICAgICB1c2FnZUJ5SW50ZXJmYWNlLnNldCh0eXBlTmFtZSwgdXNhZ2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVzYWdlO1xuICAgIH1cbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRmxhZyBgKlBhcmFtc2AvYCpPcHRpb25zYCBpbnRlcmZhY2UgbWVtYmVycyBuZXZlciBhY2Nlc3NlZCBieSB0aGUgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyB0aGVtJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ01lbWJlciBcInt7IG1lbWJlciB9fVwiIG9mIFwie3sgaW50ZXJmYWNlTmFtZSB9fVwiIGlzIG5ldmVyIGFjY2Vzc2VkIGJ5IHRoZSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGl0LiBSZW1vdmUgaXQgKHRoZSBjb21waWxlciB3aWxsIGNhdGNoIGl0IGlmIGl0IGlzIHN0aWxsIG5lZWRlZCBlbHNld2hlcmUpLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nXG4gIH1cbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzfS5cbiAqL1xuaW50ZXJmYWNlIENvbGxlY3RSZWZlcmVuY2VNZW1iZXJzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgd2hvc2UgcmVmZXJlbmNlcyBhcmUgaW5zcGVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgaW4gd2hpY2ggdGhlIHBhcmFtZXRlciBpcyBib3VuZC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBTY29wZS5TY29wZTtcblxuICAvKipcbiAgICogVGhlIHVzYWdlIGFjY3VtdWxhdG9yIHRvIHJlY29yZCBhY2Nlc3NlZCBtZW1iZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSB1c2FnZTogSW50ZXJmYWNlVXNhZ2U7XG59XG5cbmZ1bmN0aW9uIGNsYXNzaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZTogb2JqZWN0LCB1c2FnZTogSW50ZXJmYWNlVXNhZ2UpOiB2b2lkIHtcbiAgY29uc3QgcGFyZW50ID0gcmVjb3JkKHJlZmVyZW5jZSlbJ3BhcmVudCddIGFzIFJ1bGUuTm9kZTtcbiAgaWYgKHBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgcmVjb3JkKHBhcmVudClbJ29iamVjdCddID09PSByZWZlcmVuY2UpIHtcbiAgICBjb2xsZWN0TWVtYmVyQWNjZXNzKHBhcmVudCwgdXNhZ2UpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXJlbnQudHlwZSA9PT0gJ1ZhcmlhYmxlRGVjbGFyYXRvcicgJiYgcmVjb3JkKHBhcmVudClbJ2luaXQnXSA9PT0gcmVmZXJlbmNlICYmIChyZWNvcmQocGFyZW50KVsnaWQnXSBhcyBSdWxlLk5vZGUpLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhyZWNvcmQocGFyZW50KVsnaWQnXSBhcyBSdWxlLk5vZGUsIHVzYWdlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBUaGUgb2JqZWN0IGVzY2FwZXMgd2hvbGUgKHBhc3NlZCBhcyBhbiBhcmd1bWVudCwgcmV0dXJuZWQsIHN0b3JlZCwgc3ByZWFkLCAuLi4pOiBldmVyeSBtZW1iZXIgbWF5IGJlIHJlYWQgZWxzZXdoZXJlLlxuICB1c2FnZS51c2VzQWxsID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY29sbGVjdE1lbWJlckFjY2Vzcyhub2RlOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBjb25zdCBpc0NvbXB1dGVkID0gcmVjb3JkKG5vZGUpWydjb21wdXRlZCddID09PSB0cnVlO1xuICBjb25zdCBwcm9wZXJ0eSA9IHJlY29yZChub2RlKVsncHJvcGVydHknXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChwcm9wZXJ0eS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICBpZiAoIWlzQ29tcHV0ZWQpIHtcbiAgICAgIHVzYWdlLnVzZWQuYWRkKHJlY29yZChwcm9wZXJ0eSlbJ25hbWUnXSBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocHJvcGVydHkudHlwZSA9PT0gJ0xpdGVyYWwnKSB7XG4gICAgY29uc3QgdmFsdWUgPSByZWNvcmQocHJvcGVydHkpWyd2YWx1ZSddO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZCh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhwYXR0ZXJuOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHJlY29yZChwYXR0ZXJuKVsncHJvcGVydGllcyddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKHByb3BlcnR5LnR5cGUgIT09ICdQcm9wZXJ0eScpIHtcbiAgICAgIC8vIGBjb25zdCB7IC4uLnJlc3QgfSA9IHBhcmFtc2AgcmVhZHMgZXZlcnkgcmVtYWluaW5nIG1lbWJlci5cbiAgICAgIHVzYWdlLnVzZXNBbGwgPSB0cnVlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChyZWNvcmQocHJvcGVydHkpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHByb3BlcnR5KVsna2V5J10gYXMgUnVsZS5Ob2RlO1xuICAgIGlmIChrZXkudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZChyZWNvcmQoa2V5KVsnbmFtZSddIGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzKHBhcmFtczogQ29sbGVjdFJlZmVyZW5jZU1lbWJlcnNQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBwYXJhbWV0ZXJOYW1lLCBzY29wZSwgdXNhZ2UgfSA9IHBhcmFtcztcbiAgY29uc3QgdmFyaWFibGUgPSBlbnN1cmVOb25OdWxsYWJsZShzY29wZS5zZXQuZ2V0KHBhcmFtZXRlck5hbWUpKTtcbiAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgdmFyaWFibGUucmVmZXJlbmNlcykge1xuICAgIGNsYXNzaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZS5pZGVudGlmaWVyLCB1c2FnZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SW50ZXJmYWNlTWVtYmVycyhub2RlOiBSdWxlLk5vZGUpOiBNYXA8c3RyaW5nLCBSdWxlLk5vZGU+IHtcbiAgY29uc3QgbWVtYmVycyA9IG5ldyBNYXA8c3RyaW5nLCBSdWxlLk5vZGU+KCk7XG4gIGNvbnN0IGludGVyZmFjZUJvZHkgPSByZWNvcmQobm9kZSlbJ2JvZHknXSBhcyBSdWxlLk5vZGU7XG4gIGZvciAoY29uc3Qgc2lnbmF0dXJlIG9mIHJlY29yZChpbnRlcmZhY2VCb2R5KVsnYm9keSddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKG5vZGVUeXBlKHNpZ25hdHVyZSkgIT09ICdUU1Byb3BlcnR5U2lnbmF0dXJlJyAmJiBub2RlVHlwZShzaWduYXR1cmUpICE9PSAnVFNNZXRob2RTaWduYXR1cmUnKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKHJlY29yZChzaWduYXR1cmUpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHNpZ25hdHVyZSlbJ2tleSddIGFzIFJ1bGUuTm9kZTtcbiAgICBpZiAoa2V5LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgbWVtYmVycy5zZXQocmVjb3JkKGtleSlbJ25hbWUnXSBhcyBzdHJpbmcsIGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBtZW1iZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRJbnRlcmZhY2VOYW1lKG5vZGU6IFJ1bGUuTm9kZSk6IHN0cmluZyB7XG4gIGNvbnN0IGlkID0gcmVjb3JkKG5vZGUpWydpZCddIGFzIFJ1bGUuTm9kZTtcbiAgcmV0dXJuIHJlY29yZChpZClbJ25hbWUnXSBhcyBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldFBhcmFtZXRlckluZm8ocGFyYW1ldGVyOiBSdWxlLk5vZGUpOiBQYXJhbWV0ZXJJbmZvIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYWN0dWFsUGFyYW1ldGVyID0gbm9kZVR5cGUocGFyYW1ldGVyKSA9PT0gJ1RTUGFyYW1ldGVyUHJvcGVydHknID8gcmVjb3JkKHBhcmFtZXRlcilbJ3BhcmFtZXRlciddIGFzIFJ1bGUuTm9kZSA6IHBhcmFtZXRlcjtcblxuICBjb25zdCB0eXBlTmFtZSA9IGdldFR5cGVSZWZlcmVuY2VOYW1lKGFjdHVhbFBhcmFtZXRlcik7XG4gIGlmICghdHlwZU5hbWUgfHwgIVBBUkFNU19PUFRJT05TX1NVRkZJWF9QQVRURVJOLnRlc3QodHlwZU5hbWUpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChhY3R1YWxQYXJhbWV0ZXIudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgcmV0dXJuIHsgYmluZGluZzogeyBuYW1lOiByZWNvcmQoYWN0dWFsUGFyYW1ldGVyKVsnbmFtZSddIGFzIHN0cmluZywgdHlwZTogJ2lkZW50aWZpZXInIH0sIHR5cGVOYW1lIH07XG4gIH1cblxuICBpZiAoYWN0dWFsUGFyYW1ldGVyLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgIHJldHVybiB7IGJpbmRpbmc6IHsgcGF0dGVybjogYWN0dWFsUGFyYW1ldGVyLCB0eXBlOiAncGF0dGVybicgfSwgdHlwZU5hbWUgfTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFR5cGVSZWZlcmVuY2VOYW1lKHBhcmFtZXRlcjogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ub3RhdGlvbiA9IHJlY29yZChwYXJhbWV0ZXIpWyd0eXBlQW5ub3RhdGlvbiddO1xuICBpZiAoIWlzTm9kZShhbm5vdGF0aW9uKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB0eXBlTm9kZSA9IHJlY29yZChhbm5vdGF0aW9uKVsndHlwZUFubm90YXRpb24nXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChub2RlVHlwZSh0eXBlTm9kZSkgIT09ICdUU1R5cGVSZWZlcmVuY2UnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHR5cGVOYW1lID0gcmVjb3JkKHR5cGVOb2RlKVsndHlwZU5hbWUnXSBhcyBSdWxlLk5vZGU7XG4gIGlmICh0eXBlTmFtZS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiByZWNvcmQodHlwZU5hbWUpWyduYW1lJ10gYXMgc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc05vZGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSdWxlLk5vZGUge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgKHZhbHVlIGFzIE1heWJlVHlwZWROb2RlKS50eXBlID09PSAnc3RyaW5nJztcbn1cblxuZnVuY3Rpb24gbm9kZVR5cGUobm9kZTogUnVsZS5Ob2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlY29yZChub2RlKVsndHlwZSddIGFzIHN0cmluZztcbn1cblxuZnVuY3Rpb24gcmVjb3JkKG5vZGU6IG9iamVjdCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIG5vZGUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUNBLHlCQUFrQztBQUVsQyxNQUFNLGdDQUFnQztBQUsvQixNQUFNLGFBQWE7QUE0Qm5CLE1BQU0sd0JBQXlDO0FBQUEsRUFDcEQsT0FBTyxTQUFTO0FBQ2QsVUFBTSxvQkFBb0Isb0JBQUksSUFBb0M7QUFDbEUsVUFBTSxtQkFBbUIsb0JBQUksSUFBNEI7QUFFekQsV0FBTztBQUFBLE1BQ0wsWUFBWSxNQUF1QjtBQUNqQyxtQkFBVyxhQUFhLE9BQU8sSUFBSSxFQUFFLFFBQVEsR0FBa0I7QUFDN0QsZ0JBQU0sT0FBTyxpQkFBaUIsU0FBUztBQUN2QyxjQUFJLENBQUMsTUFBTTtBQUNUO0FBQUEsVUFDRjtBQUVBLGdCQUFNLFFBQVEsaUJBQWlCLEtBQUssUUFBUTtBQUM1QyxjQUFJLEtBQUssUUFBUSxTQUFTLFdBQVc7QUFDbkMsa0NBQXNCLEtBQUssUUFBUSxTQUFTLEtBQUs7QUFBQSxVQUNuRCxPQUFPO0FBQ0wsb0NBQXdCO0FBQUEsY0FDdEIsZUFBZSxLQUFLLFFBQVE7QUFBQSxjQUM1QixPQUFPLFFBQVEsV0FBVyxTQUFTLElBQUk7QUFBQSxjQUN2QztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BQ0EsaUJBQXVCO0FBQ3JCLG1CQUFXLENBQUMsVUFBVSxRQUFRLEtBQUssbUJBQW1CO0FBQ3BELGdCQUFNLFFBQVEsaUJBQWlCLElBQUksUUFBUTtBQUMzQyxjQUFJLENBQUMsU0FBUyxNQUFNLFNBQVM7QUFDM0I7QUFBQSxVQUNGO0FBRUEs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
316
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11bnVzZWQtcGFyYW1zLW1lbWJlcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzXG4gKlxuICogRmxhZ3MgbWVtYmVycyBvZiBhIGAqUGFyYW1zYCAvIGAqT3B0aW9uc2AgcGFyYW1ldGVyLWJhZyBpbnRlcmZhY2UgdGhhdCBhcmVcbiAqIG5ldmVyIGFjY2Vzc2VkIHdpdGhpbiB0aGUgZnVuY3Rpb24vbWV0aG9kL2NvbnN0cnVjdG9yIHRoYXQgcmVjZWl2ZXMgdGhlXG4gKiBpbnRlcmZhY2UgYXMgYSBwYXJhbWV0ZXIuXG4gKlxuICogRGV0ZWN0aW9uIGlzIHBlci1mdW5jdGlvbiwgdXNpbmcgc2NvcGUgYW5hbHlzaXMgdG8gZmluZCB0aGUgcmVhbCByZWZlcmVuY2VzXG4gKiB0byB0aGUgcGFyYW1ldGVyIChub3QgdW5yZWxhdGVkIHNhbWUtbmFtZWQgaWRlbnRpZmllcnMpLiBBIG1lbWJlciBjb3VudHMgYXNcbiAqIHVzZWQgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGJ5IG5hbWUgXHUyMDE0IGBwYXJhbXMubWVtYmVyYCwgYHBhcmFtc1snbWVtYmVyJ11gLCBvclxuICogYGNvbnN0IHsgbWVtYmVyIH0gPSBwYXJhbXNgIChwbHVzIGEgZGVzdHJ1Y3R1cmVkIHNpZ25hdHVyZVxuICogYGZuKHsgbWVtYmVyIH06IEZvb1BhcmFtcylgKS5cbiAqXG4gKiBDcnVjaWFsbHksIGlmIHRoZSBvYmplY3QgZXZlciBFU0NBUEVTIHdob2xlIFx1MjAxNCBzcHJlYWQgKGB7IC4uLnBhcmFtcyB9YCksIHJlc3RcbiAqIChgY29uc3QgeyAuLi5yZXN0IH0gPSBwYXJhbXNgKSwgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IChgZihwYXJhbXMpYCksIHJldHVybmVkLFxuICogb3Igc3RvcmVkIChgdGhpcy5wYXJhbXMgPSBwYXJhbXNgKSBcdTIwMTQgZXZlcnkgbWVtYmVyIGlzIHRyZWF0ZWQgYXMgdXNlZCBhbmRcbiAqIG5vdGhpbmcgaXMgcmVwb3J0ZWQgZm9yIHRoYXQgaW50ZXJmYWNlLiBTdWNoIGFuIGVzY2FwZSBlaXRoZXIgcmVhZHMgZXZlcnlcbiAqIG1lbWJlciAoc3ByZWFkL3Jlc3QpIG9yIGhhbmRzIHRoZSBvYmplY3QgdG8gY29kZSB0aGlzIHJ1bGUgY2Fubm90IHNlZSwgc29cbiAqIG1lbWJlciBkZWFkbmVzcyBjYW5ub3QgYmUgZGVjaWRlZCBsb2NhbGx5LlxuICpcbiAqIEEgbWVtYmVyIGlzIHRoZXJlZm9yZSBmbGFnZ2VkIG9ubHkgd2hlbiBpdCBpcyBuZXZlciByZWZlcmVuY2VkIGJ5IG5hbWUgQU5EXG4gKiB0aGUgb2JqZWN0IG5ldmVyIGVzY2FwZXMgXHUyMDE0IGkuZS4gdGhlIFwiYSBgcGFyYW1zLnhgIHVzYWdlIHdhcyBkZWxldGVkIGJ1dCBgeGBcbiAqIHdhcyBsZWZ0IG9uIHRoZSBpbnRlcmZhY2VcIiBjYXNlLiBBIG1lbWJlciB0aGF0IGlzIGFjdHVhbGx5IHN0aWxsIG5lZWRlZCAocmVhZFxuICogdmlhIGFuIGVzY2FwZSkgaXMgbmV2ZXIgd3JvbmdseSBmbGFnZ2VkOyBhIG1lbWJlciB0aGF0IGlzIGVzY2FwZWQgYnV0IGRlYWRcbiAqIGRvd25zdHJlYW0gaXMgYSB0b2xlcmF0ZWQgZmFsc2UgbmVnYXRpdmUgKGl0cyBkZWFkbmVzcyBpcyBub3QgbG9jYWwpLlxuICpcbiAqIE9ubHkgaW50ZXJmYWNlcyBkZWNsYXJlZCBpbiB0aGUgc2FtZSBmaWxlIGFyZSBjaGVja2VkOyBhbiBpbXBvcnRlZCBwYXJhbWV0ZXJcbiAqIHR5cGUgaXMgc2tpcHBlZC4gT25seSBpZGVudGlmaWVyLW5hbWVkIG1lbWJlcnMgYXJlIHRyYWNrZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBSdWxlLFxuICBTY29wZVxufSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuY29uc3QgUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4gPSAvKD86UGFyYW1zfE9wdGlvbnMpJC87XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgYCpQYXJhbXNgL2AqT3B0aW9uc2AgaW50ZXJmYWNlIG1lbWJlciBpcyBuZXZlciBhY2Nlc3NlZCBieSB0aGUgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAndW51c2VkUGFyYW1zTWVtYmVyJztcblxuaW50ZXJmYWNlIElkZW50aWZpZXJCaW5kaW5nIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiAnaWRlbnRpZmllcic7XG59XG5cbmludGVyZmFjZSBJbnRlcmZhY2VVc2FnZSB7XG4gIHJlYWRvbmx5IHVzZWQ6IFNldDxzdHJpbmc+O1xuICB1c2VzQWxsOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTWF5YmVUeXBlZE5vZGUge1xuICB0eXBlPzogdW5rbm93bjtcbn1cblxudHlwZSBQYXJhbWV0ZXJCaW5kaW5nID0gSWRlbnRpZmllckJpbmRpbmcgfCBQYXR0ZXJuQmluZGluZztcblxuaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICByZWFkb25seSBiaW5kaW5nOiBQYXJhbWV0ZXJCaW5kaW5nO1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGF0dGVybkJpbmRpbmcge1xuICBwYXR0ZXJuOiBSdWxlLk5vZGU7XG4gIHR5cGU6ICdwYXR0ZXJuJztcbn1cblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBmbGFnZ2luZyBgKlBhcmFtc2AvYCpPcHRpb25zYCBpbnRlcmZhY2UgbWVtYmVycyB0aGF0IHRoZSBmdW5jdGlvbiByZWNlaXZpbmcgdGhlbSBuZXZlciBhY2Nlc3Nlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vVW51c2VkUGFyYW1zTWVtYmVyczogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGludGVyZmFjZUtleU5vZGVzID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFJ1bGUuTm9kZT4+KCk7XG4gICAgY29uc3QgdXNhZ2VCeUludGVyZmFjZSA9IG5ldyBNYXA8c3RyaW5nLCBJbnRlcmZhY2VVc2FnZT4oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnOmZ1bmN0aW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcmVjb3JkKG5vZGUpWydwYXJhbXMnXSBhcyBSdWxlLk5vZGVbXSkge1xuICAgICAgICAgIGNvbnN0IGluZm8gPSBnZXRQYXJhbWV0ZXJJbmZvKHBhcmFtZXRlcik7XG4gICAgICAgICAgaWYgKCFpbmZvKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB1c2FnZSA9IGdldE9yQ3JlYXRlVXNhZ2UoaW5mby50eXBlTmFtZSk7XG4gICAgICAgICAgaWYgKGluZm8uYmluZGluZy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhpbmZvLmJpbmRpbmcucGF0dGVybiwgdXNhZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2xsZWN0UmVmZXJlbmNlTWVtYmVycyh7XG4gICAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IGluZm8uYmluZGluZy5uYW1lLFxuICAgICAgICAgICAgICBzY29wZTogY29udGV4dC5zb3VyY2VDb2RlLmdldFNjb3BlKG5vZGUpLFxuICAgICAgICAgICAgICB1c2FnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ1Byb2dyYW06ZXhpdCcoKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgW3R5cGVOYW1lLCBrZXlOb2Rlc10gb2YgaW50ZXJmYWNlS2V5Tm9kZXMpIHtcbiAgICAgICAgICBjb25zdCB1c2FnZSA9IHVzYWdlQnlJbnRlcmZhY2UuZ2V0KHR5cGVOYW1lKTtcbiAgICAgICAgICBpZiAoIXVzYWdlIHx8IHVzYWdlLnVzZXNBbGwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3QgW21lbWJlck5hbWUsIGtleU5vZGVdIG9mIGtleU5vZGVzKSB7XG4gICAgICAgICAgICBpZiAoIXVzYWdlLnVzZWQuaGFzKG1lbWJlck5hbWUpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lOiB0eXBlTmFtZSxcbiAgICAgICAgICAgICAgICAgIG1lbWJlcjogbWVtYmVyTmFtZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICAgIG5vZGU6IGtleU5vZGVcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgVFNJbnRlcmZhY2VEZWNsYXJhdGlvbihub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGdldEludGVyZmFjZU5hbWUobm9kZSk7XG4gICAgICAgIGlmICghUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4udGVzdChuYW1lKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpbnRlcmZhY2VLZXlOb2Rlcy5zZXQobmFtZSwgZ2V0SW50ZXJmYWNlTWVtYmVycyhub2RlKSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldE9yQ3JlYXRlVXNhZ2UodHlwZU5hbWU6IHN0cmluZyk6IEludGVyZmFjZVVzYWdlIHtcbiAgICAgIGxldCB1c2FnZSA9IHVzYWdlQnlJbnRlcmZhY2UuZ2V0KHR5cGVOYW1lKTtcbiAgICAgIGlmICghdXNhZ2UpIHtcbiAgICAgICAgdXNhZ2UgPSB7IHVzZWQ6IG5ldyBTZXQ8c3RyaW5nPigpLCB1c2VzQWxsOiBmYWxzZSB9O1xuICAgICAgICB1c2FnZUJ5SW50ZXJmYWNlLnNldCh0eXBlTmFtZSwgdXNhZ2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVzYWdlO1xuICAgIH1cbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRmxhZyBgKlBhcmFtc2AvYCpPcHRpb25zYCBpbnRlcmZhY2UgbWVtYmVycyBuZXZlciBhY2Nlc3NlZCBieSB0aGUgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyB0aGVtJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ01lbWJlciBcInt7IG1lbWJlciB9fVwiIG9mIFwie3sgaW50ZXJmYWNlTmFtZSB9fVwiIGlzIG5ldmVyIGFjY2Vzc2VkIGJ5IHRoZSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGl0LiBSZW1vdmUgaXQgKHRoZSBjb21waWxlciB3aWxsIGNhdGNoIGl0IGlmIGl0IGlzIHN0aWxsIG5lZWRlZCBlbHNld2hlcmUpLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nXG4gIH1cbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzfS5cbiAqL1xuaW50ZXJmYWNlIENvbGxlY3RSZWZlcmVuY2VNZW1iZXJzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgd2hvc2UgcmVmZXJlbmNlcyBhcmUgaW5zcGVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgaW4gd2hpY2ggdGhlIHBhcmFtZXRlciBpcyBib3VuZC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBTY29wZS5TY29wZTtcblxuICAvKipcbiAgICogVGhlIHVzYWdlIGFjY3VtdWxhdG9yIHRvIHJlY29yZCBhY2Nlc3NlZCBtZW1iZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSB1c2FnZTogSW50ZXJmYWNlVXNhZ2U7XG59XG5cbmZ1bmN0aW9uIGNsYXNzaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZTogb2JqZWN0LCB1c2FnZTogSW50ZXJmYWNlVXNhZ2UpOiB2b2lkIHtcbiAgY29uc3QgcGFyZW50ID0gcmVjb3JkKHJlZmVyZW5jZSlbJ3BhcmVudCddIGFzIFJ1bGUuTm9kZTtcbiAgaWYgKHBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgcmVjb3JkKHBhcmVudClbJ29iamVjdCddID09PSByZWZlcmVuY2UpIHtcbiAgICBjb2xsZWN0TWVtYmVyQWNjZXNzKHBhcmVudCwgdXNhZ2UpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXJlbnQudHlwZSA9PT0gJ1ZhcmlhYmxlRGVjbGFyYXRvcicgJiYgcmVjb3JkKHBhcmVudClbJ2luaXQnXSA9PT0gcmVmZXJlbmNlICYmIChyZWNvcmQocGFyZW50KVsnaWQnXSBhcyBSdWxlLk5vZGUpLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhyZWNvcmQocGFyZW50KVsnaWQnXSBhcyBSdWxlLk5vZGUsIHVzYWdlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBUaGUgb2JqZWN0IGVzY2FwZXMgd2hvbGUgKHBhc3NlZCBhcyBhbiBhcmd1bWVudCwgcmV0dXJuZWQsIHN0b3JlZCwgc3ByZWFkLCAuLi4pOiBldmVyeSBtZW1iZXIgbWF5IGJlIHJlYWQgZWxzZXdoZXJlLlxuICB1c2FnZS51c2VzQWxsID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY29sbGVjdE1lbWJlckFjY2Vzcyhub2RlOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBjb25zdCBpc0NvbXB1dGVkID0gcmVjb3JkKG5vZGUpWydjb21wdXRlZCddID09PSB0cnVlO1xuICBjb25zdCBwcm9wZXJ0eSA9IHJlY29yZChub2RlKVsncHJvcGVydHknXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChwcm9wZXJ0eS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICBpZiAoIWlzQ29tcHV0ZWQpIHtcbiAgICAgIHVzYWdlLnVzZWQuYWRkKHJlY29yZChwcm9wZXJ0eSlbJ25hbWUnXSBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocHJvcGVydHkudHlwZSA9PT0gJ0xpdGVyYWwnKSB7XG4gICAgY29uc3QgdmFsdWUgPSByZWNvcmQocHJvcGVydHkpWyd2YWx1ZSddO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZCh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhwYXR0ZXJuOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHJlY29yZChwYXR0ZXJuKVsncHJvcGVydGllcyddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKHByb3BlcnR5LnR5cGUgIT09ICdQcm9wZXJ0eScpIHtcbiAgICAgIC8vIGBjb25zdCB7IC4uLnJlc3QgfSA9IHBhcmFtc2AgcmVhZHMgZXZlcnkgcmVtYWluaW5nIG1lbWJlci5cbiAgICAgIHVzYWdlLnVzZXNBbGwgPSB0cnVlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChyZWNvcmQocHJvcGVydHkpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHByb3BlcnR5KVsna2V5J10gYXMgUnVsZS5Ob2RlO1xuICAgIGlmIChrZXkudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZChyZWNvcmQoa2V5KVsnbmFtZSddIGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzKHBhcmFtczogQ29sbGVjdFJlZmVyZW5jZU1lbWJlcnNQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBwYXJhbWV0ZXJOYW1lLCBzY29wZSwgdXNhZ2UgfSA9IHBhcmFtcztcbiAgY29uc3QgdmFyaWFibGUgPSBlbnN1cmVOb25OdWxsYWJsZShzY29wZS5zZXQuZ2V0KHBhcmFtZXRlck5hbWUpKTtcbiAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgdmFyaWFibGUucmVmZXJlbmNlcykge1xuICAgIGNsYXNzaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZS5pZGVudGlmaWVyLCB1c2FnZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SW50ZXJmYWNlTWVtYmVycyhub2RlOiBSdWxlLk5vZGUpOiBNYXA8c3RyaW5nLCBSdWxlLk5vZGU+IHtcbiAgY29uc3QgbWVtYmVycyA9IG5ldyBNYXA8c3RyaW5nLCBSdWxlLk5vZGU+KCk7XG4gIGNvbnN0IGludGVyZmFjZUJvZHkgPSByZWNvcmQobm9kZSlbJ2JvZHknXSBhcyBSdWxlLk5vZGU7XG4gIGZvciAoY29uc3Qgc2lnbmF0dXJlIG9mIHJlY29yZChpbnRlcmZhY2VCb2R5KVsnYm9keSddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKG5vZGVUeXBlKHNpZ25hdHVyZSkgIT09ICdUU1Byb3BlcnR5U2lnbmF0dXJlJyAmJiBub2RlVHlwZShzaWduYXR1cmUpICE9PSAnVFNNZXRob2RTaWduYXR1cmUnKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKHJlY29yZChzaWduYXR1cmUpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHNpZ25hdHVyZSlbJ2tleSddIGFzIFJ1bGUuTm9kZTtcbiAgICBpZiAoa2V5LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgbWVtYmVycy5zZXQocmVjb3JkKGtleSlbJ25hbWUnXSBhcyBzdHJpbmcsIGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBtZW1iZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRJbnRlcmZhY2VOYW1lKG5vZGU6IFJ1bGUuTm9kZSk6IHN0cmluZyB7XG4gIGNvbnN0IGlkID0gcmVjb3JkKG5vZGUpWydpZCddIGFzIFJ1bGUuTm9kZTtcbiAgcmV0dXJuIHJlY29yZChpZClbJ25hbWUnXSBhcyBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldFBhcmFtZXRlckluZm8ocGFyYW1ldGVyOiBSdWxlLk5vZGUpOiBQYXJhbWV0ZXJJbmZvIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYWN0dWFsUGFyYW1ldGVyID0gbm9kZVR5cGUocGFyYW1ldGVyKSA9PT0gJ1RTUGFyYW1ldGVyUHJvcGVydHknID8gcmVjb3JkKHBhcmFtZXRlcilbJ3BhcmFtZXRlciddIGFzIFJ1bGUuTm9kZSA6IHBhcmFtZXRlcjtcblxuICBjb25zdCB0eXBlTmFtZSA9IGdldFR5cGVSZWZlcmVuY2VOYW1lKGFjdHVhbFBhcmFtZXRlcik7XG4gIGlmICghdHlwZU5hbWUgfHwgIVBBUkFNU19PUFRJT05TX1NVRkZJWF9QQVRURVJOLnRlc3QodHlwZU5hbWUpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChhY3R1YWxQYXJhbWV0ZXIudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgcmV0dXJuIHsgYmluZGluZzogeyBuYW1lOiByZWNvcmQoYWN0dWFsUGFyYW1ldGVyKVsnbmFtZSddIGFzIHN0cmluZywgdHlwZTogJ2lkZW50aWZpZXInIH0sIHR5cGVOYW1lIH07XG4gIH1cblxuICBpZiAoYWN0dWFsUGFyYW1ldGVyLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgIHJldHVybiB7IGJpbmRpbmc6IHsgcGF0dGVybjogYWN0dWFsUGFyYW1ldGVyLCB0eXBlOiAncGF0dGVybicgfSwgdHlwZU5hbWUgfTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFR5cGVSZWZlcmVuY2VOYW1lKHBhcmFtZXRlcjogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ub3RhdGlvbiA9IHJlY29yZChwYXJhbWV0ZXIpWyd0eXBlQW5ub3RhdGlvbiddO1xuICBpZiAoIWlzTm9kZShhbm5vdGF0aW9uKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB0eXBlTm9kZSA9IHJlY29yZChhbm5vdGF0aW9uKVsndHlwZUFubm90YXRpb24nXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChub2RlVHlwZSh0eXBlTm9kZSkgIT09ICdUU1R5cGVSZWZlcmVuY2UnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHR5cGVOYW1lID0gcmVjb3JkKHR5cGVOb2RlKVsndHlwZU5hbWUnXSBhcyBSdWxlLk5vZGU7XG4gIGlmICh0eXBlTmFtZS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiByZWNvcmQodHlwZU5hbWUpWyduYW1lJ10gYXMgc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc05vZGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSdWxlLk5vZGUge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgKHZhbHVlIGFzIE1heWJlVHlwZWROb2RlKS50eXBlID09PSAnc3RyaW5nJztcbn1cblxuZnVuY3Rpb24gbm9kZVR5cGUobm9kZTogUnVsZS5Ob2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlY29yZChub2RlKVsndHlwZSddIGFzIHN0cmluZztcbn1cblxuZnVuY3Rpb24gcmVjb3JkKG5vZGU6IG9iamVjdCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIG5vZGUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUNBLHlCQUFrQztBQUVsQyxNQUFNLGdDQUFnQztBQUsvQixNQUFNLGFBQWE7QUErQm5CLE1BQU0sd0JBQXlDO0FBQUEsRUFDcEQsT0FBTyxTQUFTO0FBQ2QsVUFBTSxvQkFBb0Isb0JBQUksSUFBb0M7QUFDbEUsVUFBTSxtQkFBbUIsb0JBQUksSUFBNEI7QUFFekQsV0FBTztBQUFBLE1BQ0wsWUFBWSxNQUF1QjtBQUNqQyxtQkFBVyxhQUFhLE9BQU8sSUFBSSxFQUFFLFFBQVEsR0FBa0I7QUFDN0QsZ0JBQU0sT0FBTyxpQkFBaUIsU0FBUztBQUN2QyxjQUFJLENBQUMsTUFBTTtBQUNUO0FBQUEsVUFDRjtBQUVBLGdCQUFNLFFBQVEsaUJBQWlCLEtBQUssUUFBUTtBQUM1QyxjQUFJLEtBQUssUUFBUSxTQUFTLFdBQVc7QUFDbkMsa0NBQXNCLEtBQUssUUFBUSxTQUFTLEtBQUs7QUFBQSxVQUNuRCxPQUFPO0FBQ0wsb0NBQXdCO0FBQUEsY0FDdEIsZUFBZSxLQUFLLFFBQVE7QUFBQSxjQUM1QixPQUFPLFFBQVEsV0FBVyxTQUFTLElBQUk7QUFBQSxjQUN2QztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BQ0EsaUJBQXVCO0FB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
@@ -35,4 +35,7 @@ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
35
35
  Message ID reported when a `*Params`/`*Options` interface member is never accessed by the function that receives it.
36
36
  */
37
37
  export declare const MESSAGE_ID = "unusedParamsMember";
38
+ /**
39
+ * ESLint rule flagging `*Params`/`*Options` interface members that the function receiving them never accesses.
40
+ */
38
41
  export declare const noUnusedParamsMembers: Rule.RuleModule;
@@ -177,4 +177,4 @@ const noUsedUnderscoreVariables = {
177
177
  MESSAGE_ID,
178
178
  noUsedUnderscoreVariables
179
179
  });
180
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11c2VkLXVuZGVyc2NvcmUtdmFyaWFibGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXNcbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYSBwYXJhbWV0ZXIgb3IgbG9jYWwgdmFyaWFibGUgd2l0aCBhIGBfYCBwcmVmaXggaXNcbiAqIGFjdHVhbGx5IHJlZmVyZW5jZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkuIFRoZSBgX2AgcHJlZml4IGNvbnZlbnRpb24gc2lnbmFsc1xuICogXCJ0aGlzIGlkZW50aWZpZXIgaXMgaW50ZW50aW9uYWxseSB1bnVzZWRcIiBcdTIwMTQgaWYgaXQgSVMgdXNlZCwgdGhlIHByZWZpeCBpc1xuICogbWlzbGVhZGluZyBhbmQgc2hvdWxkIGJlIHJlbW92ZWQuXG4gKi9cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG5pbnRlcmZhY2UgTm9kZVdpdGhCb2R5IHtcbiAgYm9keT86IFJ1bGUuTm9kZTtcbn1cblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSB2YXJpYWJsZSBjYXJyaWVzIGEgYF9gIHByZWZpeCAoc2lnbmFsbGluZyB1bnVzZWQpIGJ1dCBpcyBhY3R1YWxseSB1c2VkLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub1VzZWRVbmRlcnNjb3JlVmFyaWFibGVzJztcblxuZXhwb3J0IGNvbnN0IG5vVXNlZFVuZGVyc2NvcmVWYXJpYWJsZXM6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJzpmdW5jdGlvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjb3BlID0gY29udGV4dC5zb3VyY2VDb2RlLmdldFNjb3BlKG5vZGUpO1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2Ygc2NvcGUudmFyaWFibGVzKSB7XG4gICAgICAgICAgaWYgKCF2YXJpYWJsZS5uYW1lLnN0YXJ0c1dpdGgoJ18nKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbk5vZGUgPSB2YXJpYWJsZS5kZWZzWzBdO1xuICAgICAgICAgIGFzc2VydE5vbk51bGxhYmxlKGRlZmluaXRpb25Ob2RlLCAnVXNlci1kZWNsYXJlZCBfLXByZWZpeGVkIHZhcmlhYmxlcyBhbHdheXMgaGF2ZSBhdCBsZWFzdCBvbmUgZGVmaW5pdGlvbicpO1xuXG4gICAgICAgICAgLy8gRm9yIHBhcmFtZXRlcnMsIG9ubHkgY291bnQgcmVmZXJlbmNlcyBpbnNpZGUgdGhlIGZ1bmN0aW9uIGJvZHlcbiAgICAgICAgICAvLyAobm90IGluIHR5cGUgYW5ub3RhdGlvbnMgbGlrZSBgYXNzZXJ0cyBfb2JqIGlzIFRgKS5cbiAgICAgICAgICAvLyBGb3IgbG9jYWwgdmFyaWFibGVzLCBhbnkgcmVhZCByZWZlcmVuY2UgY291bnRzLlxuICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uQm9keSA9IChub2RlIGFzIE5vZGVXaXRoQm9keSkuYm9keTtcbiAgICAgICAgICBjb25zdCBib2R5UmFuZ2UgPSBmdW5jdGlvbkJvZHk/LnJhbmdlO1xuICAgICAgICAgIGNvbnN0IGlzUGFyYW1ldGVyID0gZGVmaW5pdGlvbk5vZGUudHlwZSA9PT0gJ1BhcmFtZXRlcic7XG4gICAgICAgICAgY29uc3QgaGFzQm9keVJlZmVyZW5jZXMgPSB2YXJpYWJsZS5yZWZlcmVuY2VzLnNvbWUoKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZWZlcmVuY2UuaXNSZWFkKCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzUGFyYW1ldGVyICYmIGJvZHlSYW5nZSAmJiByZWZlcmVuY2UuaWRlbnRpZmllci5yYW5nZSkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMF0gPj0gYm9keVJhbmdlWzBdXG4gICAgICAgICAgICAgICAgJiYgcmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMV0gPD0gYm9keVJhbmdlWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gTG9jYWwgdmFyaWFibGVzIG9yIGZhbGxiYWNrOiBjb3VudCBhbGwgcmVhZHNcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChoYXNCb2R5UmVmZXJlbmNlcykge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICBkYXRhOiB7IG5hbWU6IHZhcmlhYmxlLm5hbWUgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICBub2RlOiBkZWZpbml0aW9uTm9kZS5uYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdEaXNhbGxvdyBgX2AtcHJlZml4ZWQgcGFyYW1ldGVycyBhbmQgbG9jYWwgdmFyaWFibGVzIHRoYXQgYXJlIGFjdHVhbGx5IHVzZWQnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnXCJ7eyBuYW1lIH19XCIgaGFzIGEgYF9gIHByZWZpeCBidXQgaXMgdXNlZC4gUmVtb3ZlIHRoZSBgX2AgcHJlZml4IHNpbmNlIGl0IGlzIG5vdCB1bnVzZWQuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSx5QkFBa0M7QUFTM0IsTUFBTSxhQUFhO0FBRW5CLE1BQU0sNEJBQTZDO0FBQUEsRUFDeEQsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsWUFBWSxNQUF1QjtBQUNqQyxjQUFNLFFBQVEsUUFBUSxXQUFXLFNBQVMsSUFBSTtBQUU5QyxtQkFBVyxZQUFZLE1BQU0sV0FBVztBQUN0QyxjQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsR0FBRyxHQUFHO0FBQ2xDO0FBQUEsVUFDRjtBQUVBLGdCQUFNLGlCQUFpQixTQUFTLEtBQUssQ0FBQztBQUN0QyxvREFBa0IsZ0JBQWdCLHdFQUF3RTtBQUsxRyxnQkFBTSxlQUFnQixLQUFzQjtBQUM1QyxnQkFBTSxZQUFZLGNBQWM7QUFDaEMsZ0JBQU0sY0FBYyxlQUFlLFNBQVM7QUFDNUMsZ0JBQU0sb0JBQW9CLFNBQVMsV0FBVyxLQUFLLENBQUMsY0FBYztBQUNoRSxnQkFBSSxDQUFDLFVBQVUsT0FBTyxHQUFHO0FBQ3ZCLHFCQUFPO0FBQUEsWUFDVDtBQUNBLGdCQUFJLGVBQWUsYUFBYSxVQUFVLFdBQVcsT0FBTztBQUMxRCxxQkFBTyxVQUFVLFdBQVcsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDLEtBQzlDLFVBQVUsV0FBVyxNQUFNLENBQUMsS0FBSyxVQUFVLENBQUM7QUFBQSxZQUNuRDtBQUVBLG1CQUFPO0FBQUEsVUFDVCxDQUFDO0FBQ0QsY0FBSSxtQkFBbUI7QUFDckIsb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTSxFQUFFLE1BQU0sU0FBUyxLQUFLO0FBQUEsY0FDNUIsV0FBVztBQUFBLGNBQ1gsTUFBTSxlQUFlO0FBQUEsWUFDdkIsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
180
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11c2VkLXVuZGVyc2NvcmUtdmFyaWFibGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXNcbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYSBwYXJhbWV0ZXIgb3IgbG9jYWwgdmFyaWFibGUgd2l0aCBhIGBfYCBwcmVmaXggaXNcbiAqIGFjdHVhbGx5IHJlZmVyZW5jZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkuIFRoZSBgX2AgcHJlZml4IGNvbnZlbnRpb24gc2lnbmFsc1xuICogXCJ0aGlzIGlkZW50aWZpZXIgaXMgaW50ZW50aW9uYWxseSB1bnVzZWRcIiBcdTIwMTQgaWYgaXQgSVMgdXNlZCwgdGhlIHByZWZpeCBpc1xuICogbWlzbGVhZGluZyBhbmQgc2hvdWxkIGJlIHJlbW92ZWQuXG4gKi9cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG5pbnRlcmZhY2UgTm9kZVdpdGhCb2R5IHtcbiAgYm9keT86IFJ1bGUuTm9kZTtcbn1cblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSB2YXJpYWJsZSBjYXJyaWVzIGEgYF9gIHByZWZpeCAoc2lnbmFsbGluZyB1bnVzZWQpIGJ1dCBpcyBhY3R1YWxseSB1c2VkLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub1VzZWRVbmRlcnNjb3JlVmFyaWFibGVzJztcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBkaXNhbGxvd2luZyBgX2AtcHJlZml4ZWQgcGFyYW1ldGVycyBhbmQgbG9jYWwgdmFyaWFibGVzIHRoYXQgYXJlIGFjdHVhbGx5IHVzZWQsIHNpbmNlIHRoZSBwcmVmaXggYWR2ZXJ0aXNlcyB0aGVtIGFzIHVudXNlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vVXNlZFVuZGVyc2NvcmVWYXJpYWJsZXM6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJzpmdW5jdGlvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjb3BlID0gY29udGV4dC5zb3VyY2VDb2RlLmdldFNjb3BlKG5vZGUpO1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2Ygc2NvcGUudmFyaWFibGVzKSB7XG4gICAgICAgICAgaWYgKCF2YXJpYWJsZS5uYW1lLnN0YXJ0c1dpdGgoJ18nKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbk5vZGUgPSB2YXJpYWJsZS5kZWZzWzBdO1xuICAgICAgICAgIGFzc2VydE5vbk51bGxhYmxlKGRlZmluaXRpb25Ob2RlLCAnVXNlci1kZWNsYXJlZCBfLXByZWZpeGVkIHZhcmlhYmxlcyBhbHdheXMgaGF2ZSBhdCBsZWFzdCBvbmUgZGVmaW5pdGlvbicpO1xuXG4gICAgICAgICAgLy8gRm9yIHBhcmFtZXRlcnMsIG9ubHkgY291bnQgcmVmZXJlbmNlcyBpbnNpZGUgdGhlIGZ1bmN0aW9uIGJvZHlcbiAgICAgICAgICAvLyAobm90IGluIHR5cGUgYW5ub3RhdGlvbnMgbGlrZSBgYXNzZXJ0cyBfb2JqIGlzIFRgKS5cbiAgICAgICAgICAvLyBGb3IgbG9jYWwgdmFyaWFibGVzLCBhbnkgcmVhZCByZWZlcmVuY2UgY291bnRzLlxuICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uQm9keSA9IChub2RlIGFzIE5vZGVXaXRoQm9keSkuYm9keTtcbiAgICAgICAgICBjb25zdCBib2R5UmFuZ2UgPSBmdW5jdGlvbkJvZHk/LnJhbmdlO1xuICAgICAgICAgIGNvbnN0IGlzUGFyYW1ldGVyID0gZGVmaW5pdGlvbk5vZGUudHlwZSA9PT0gJ1BhcmFtZXRlcic7XG4gICAgICAgICAgY29uc3QgaGFzQm9keVJlZmVyZW5jZXMgPSB2YXJpYWJsZS5yZWZlcmVuY2VzLnNvbWUoKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZWZlcmVuY2UuaXNSZWFkKCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzUGFyYW1ldGVyICYmIGJvZHlSYW5nZSAmJiByZWZlcmVuY2UuaWRlbnRpZmllci5yYW5nZSkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMF0gPj0gYm9keVJhbmdlWzBdXG4gICAgICAgICAgICAgICAgJiYgcmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMV0gPD0gYm9keVJhbmdlWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gTG9jYWwgdmFyaWFibGVzIG9yIGZhbGxiYWNrOiBjb3VudCBhbGwgcmVhZHNcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChoYXNCb2R5UmVmZXJlbmNlcykge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICBkYXRhOiB7IG5hbWU6IHZhcmlhYmxlLm5hbWUgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICBub2RlOiBkZWZpbml0aW9uTm9kZS5uYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdEaXNhbGxvdyBgX2AtcHJlZml4ZWQgcGFyYW1ldGVycyBhbmQgbG9jYWwgdmFyaWFibGVzIHRoYXQgYXJlIGFjdHVhbGx5IHVzZWQnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnXCJ7eyBuYW1lIH19XCIgaGFzIGEgYF9gIHByZWZpeCBidXQgaXMgdXNlZC4gUmVtb3ZlIHRoZSBgX2AgcHJlZml4IHNpbmNlIGl0IGlzIG5vdCB1bnVzZWQuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSx5QkFBa0M7QUFTM0IsTUFBTSxhQUFhO0FBS25CLE1BQU0sNEJBQTZDO0FBQUEsRUFDeEQsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsWUFBWSxNQUF1QjtBQUNqQyxjQUFNLFFBQVEsUUFBUSxXQUFXLFNBQVMsSUFBSTtBQUU5QyxtQkFBVyxZQUFZLE1BQU0sV0FBVztBQUN0QyxjQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsR0FBRyxHQUFHO0FBQ2xDO0FBQUEsVUFDRjtBQUVBLGdCQUFNLGlCQUFpQixTQUFTLEtBQUssQ0FBQztBQUN0QyxvREFBa0IsZ0JBQWdCLHdFQUF3RTtBQUsxRyxnQkFBTSxlQUFnQixLQUFzQjtBQUM1QyxnQkFBTSxZQUFZLGNBQWM7QUFDaEMsZ0JBQU0sY0FBYyxlQUFlLFNBQVM7QUFDNUMsZ0JBQU0sb0JBQW9CLFNBQVMsV0FBVyxLQUFLLENBQUMsY0FBYztBQUNoRSxnQkFBSSxDQUFDLFVBQVUsT0FBTyxHQUFHO0FBQ3ZCLHFCQUFPO0FBQUEsWUFDVDtBQUNBLGdCQUFJLGVBQWUsYUFBYSxVQUFVLFdBQVcsT0FBTztBQUMxRCxxQkFBTyxVQUFVLFdBQVcsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDLEtBQzlDLFVBQVUsV0FBVyxNQUFNLENBQUMsS0FBSyxVQUFVLENBQUM7QUFBQSxZQUNuRDtBQUVBLG1CQUFPO0FBQUEsVUFDVCxDQUFDO0FBQ0QsY0FBSSxtQkFBbUI7QUFDckIsb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTSxFQUFFLE1BQU0sU0FBUyxLQUFLO0FBQUEsY0FDNUIsV0FBVztBQUFBLGNBQ1gsTUFBTSxlQUFlO0FBQUEsWUFDdkIsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -14,4 +14,7 @@ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
14
14
  Message ID reported when a variable carries a `_` prefix (signalling unused) but is actually used.
15
15
  */
16
16
  export declare const MESSAGE_ID = "noUsedUnderscoreVariables";
17
+ /**
18
+ * ESLint rule disallowing `_`-prefixed parameters and local variables that are actually used, since the prefix advertises them as unused.
19
+ */
17
20
  export declare const noUsedUnderscoreVariables: Rule.RuleModule;
@@ -150,4 +150,4 @@ const obsidianDevUtilsPlugin = {
150
150
  0 && (module.exports = {
151
151
  obsidianDevUtilsPlugin
152
152
  });
153
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9vYnNpZGlhbi1kZXYtdXRpbHMtcGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHBsdWdpbiBmb3IgT2JzaWRpYW4gZGV2ZWxvcG1lbnQgdXRpbGl0aWVzLlxuICovXG5pbXBvcnQgdHlwZSB7IEVTTGludCB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IG5vQXN5bmNDYWxsYmFja1RvVW5zYWZlUmV0dXJuIH0gZnJvbSAnLi9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzJztcbmltcG9ydCB7IG5vVW51c2VkUGFyYW1zTWVtYmVycyB9IGZyb20gJy4vbm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzLnRzJztcbmltcG9ydCB7IG5vVXNlZFVuZGVyc2NvcmVWYXJpYWJsZXMgfSBmcm9tICcuL25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMudHMnO1xuaW1wb3J0IHsgcGFyYW1zT3B0aW9uc05hbWVNYXRjaCB9IGZyb20gJy4vcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaC50cyc7XG5pbXBvcnQgeyBwcmVmZXJOb29wQXN5bmMgfSBmcm9tICcuL3ByZWZlci1ub29wLWFzeW5jLnRzJztcbmltcG9ydCB7IHJlYWRvbmx5UGFyYW1zT3B0aW9uc1Jlc3VsdE1lbWJlcnMgfSBmcm9tICcuL3JlYWRvbmx5LXBhcmFtcy1vcHRpb25zLXJlc3VsdC1tZW1iZXJzLnRzJztcbmltcG9ydCB7IHJlcXVpcmVDb21wb25lbnRTdWZmaXggfSBmcm9tICcuL3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeC50cyc7XG5pbXBvcnQgeyByZXF1aXJlTWV0aG9kVGVtcGxhdGUgfSBmcm9tICcuL3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlLnRzJztcbmltcG9ydCB7IHJlcXVpcmVTdXBlckNhbGwgfSBmcm9tICcuL3JlcXVpcmUtc3VwZXItY2FsbC50cyc7XG5cbmV4cG9ydCBjb25zdCBvYnNpZGlhbkRldlV0aWxzUGx1Z2luOiBFU0xpbnQuUGx1Z2luID0ge1xuICBydWxlczoge1xuICAgICduby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuJzogbm9Bc3luY0NhbGxiYWNrVG9VbnNhZmVSZXR1cm4sXG4gICAgJ25vLXVudXNlZC1wYXJhbXMtbWVtYmVycyc6IG5vVW51c2VkUGFyYW1zTWVtYmVycyxcbiAgICAnbm8tdXNlZC11bmRlcnNjb3JlLXZhcmlhYmxlcyc6IG5vVXNlZFVuZGVyc2NvcmVWYXJpYWJsZXMsXG4gICAgJ3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2gnOiBwYXJhbXNPcHRpb25zTmFtZU1hdGNoLFxuICAgICdwcmVmZXItbm9vcC1hc3luYyc6IHByZWZlck5vb3BBc3luYyxcbiAgICAncmVhZG9ubHktcGFyYW1zLW9wdGlvbnMtcmVzdWx0LW1lbWJlcnMnOiByZWFkb25seVBhcmFtc09wdGlvbnNSZXN1bHRNZW1iZXJzLFxuICAgICdyZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgnOiByZXF1aXJlQ29tcG9uZW50U3VmZml4LFxuICAgICdyZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZSc6IHJlcXVpcmVNZXRob2RUZW1wbGF0ZSxcbiAgICAncmVxdWlyZS1zdXBlci1jYWxsJzogcmVxdWlyZVN1cGVyQ2FsbFxuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxnREFBOEM7QUFDOUMsc0NBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyx1Q0FBdUM7QUFDdkMsK0JBQWdDO0FBQ2hDLG9EQUFtRDtBQUNuRCxzQ0FBdUM7QUFDdkMscUNBQXNDO0FBQ3RDLGdDQUFpQztBQUUxQixNQUFNLHlCQUF3QztBQUFBLEVBQ25ELE9BQU87QUFBQSxJQUNMLHNDQUFzQztBQUFBLElBQ3RDLDRCQUE0QjtBQUFBLElBQzVCLGdDQUFnQztBQUFBLElBQ2hDLDZCQUE2QjtBQUFBLElBQzdCLHFCQUFxQjtBQUFBLElBQ3JCLDBDQUEwQztBQUFBLElBQzFDLDRCQUE0QjtBQUFBLElBQzVCLDJCQUEyQjtBQUFBLElBQzNCLHNCQUFzQjtBQUFBLEVBQ3hCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
153
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9vYnNpZGlhbi1kZXYtdXRpbHMtcGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHBsdWdpbiBmb3IgT2JzaWRpYW4gZGV2ZWxvcG1lbnQgdXRpbGl0aWVzLlxuICovXG5pbXBvcnQgdHlwZSB7IEVTTGludCB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IG5vQXN5bmNDYWxsYmFja1RvVW5zYWZlUmV0dXJuIH0gZnJvbSAnLi9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzJztcbmltcG9ydCB7IG5vVW51c2VkUGFyYW1zTWVtYmVycyB9IGZyb20gJy4vbm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzLnRzJztcbmltcG9ydCB7IG5vVXNlZFVuZGVyc2NvcmVWYXJpYWJsZXMgfSBmcm9tICcuL25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMudHMnO1xuaW1wb3J0IHsgcGFyYW1zT3B0aW9uc05hbWVNYXRjaCB9IGZyb20gJy4vcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaC50cyc7XG5pbXBvcnQgeyBwcmVmZXJOb29wQXN5bmMgfSBmcm9tICcuL3ByZWZlci1ub29wLWFzeW5jLnRzJztcbmltcG9ydCB7IHJlYWRvbmx5UGFyYW1zT3B0aW9uc1Jlc3VsdE1lbWJlcnMgfSBmcm9tICcuL3JlYWRvbmx5LXBhcmFtcy1vcHRpb25zLXJlc3VsdC1tZW1iZXJzLnRzJztcbmltcG9ydCB7IHJlcXVpcmVDb21wb25lbnRTdWZmaXggfSBmcm9tICcuL3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeC50cyc7XG5pbXBvcnQgeyByZXF1aXJlTWV0aG9kVGVtcGxhdGUgfSBmcm9tICcuL3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlLnRzJztcbmltcG9ydCB7IHJlcXVpcmVTdXBlckNhbGwgfSBmcm9tICcuL3JlcXVpcmUtc3VwZXItY2FsbC50cyc7XG5cbi8qKlxuICogRVNMaW50IHBsdWdpbiBidW5kbGluZyBldmVyeSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBjdXN0b20gcnVsZSwgcmVnaXN0ZXJlZCB1bmRlciB0aGUgYG9ic2lkaWFuLWRldi11dGlsc2AgbmFtZXNwYWNlLlxuICovXG5leHBvcnQgY29uc3Qgb2JzaWRpYW5EZXZVdGlsc1BsdWdpbjogRVNMaW50LlBsdWdpbiA9IHtcbiAgcnVsZXM6IHtcbiAgICAnbm8tYXN5bmMtY2FsbGJhY2stdG8tdW5zYWZlLXJldHVybic6IG5vQXN5bmNDYWxsYmFja1RvVW5zYWZlUmV0dXJuLFxuICAgICduby11bnVzZWQtcGFyYW1zLW1lbWJlcnMnOiBub1VudXNlZFBhcmFtc01lbWJlcnMsXG4gICAgJ25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMnOiBub1VzZWRVbmRlcnNjb3JlVmFyaWFibGVzLFxuICAgICdwYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoJzogcGFyYW1zT3B0aW9uc05hbWVNYXRjaCxcbiAgICAncHJlZmVyLW5vb3AtYXN5bmMnOiBwcmVmZXJOb29wQXN5bmMsXG4gICAgJ3JlYWRvbmx5LXBhcmFtcy1vcHRpb25zLXJlc3VsdC1tZW1iZXJzJzogcmVhZG9ubHlQYXJhbXNPcHRpb25zUmVzdWx0TWVtYmVycyxcbiAgICAncmVxdWlyZS1jb21wb25lbnQtc3VmZml4JzogcmVxdWlyZUNvbXBvbmVudFN1ZmZpeCxcbiAgICAncmVxdWlyZS1tZXRob2QtdGVtcGxhdGUnOiByZXF1aXJlTWV0aG9kVGVtcGxhdGUsXG4gICAgJ3JlcXVpcmUtc3VwZXItY2FsbCc6IHJlcXVpcmVTdXBlckNhbGxcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0EsZ0RBQThDO0FBQzlDLHNDQUFzQztBQUN0QywwQ0FBMEM7QUFDMUMsdUNBQXVDO0FBQ3ZDLCtCQUFnQztBQUNoQyxvREFBbUQ7QUFDbkQsc0NBQXVDO0FBQ3ZDLHFDQUFzQztBQUN0QyxnQ0FBaUM7QUFLMUIsTUFBTSx5QkFBd0M7QUFBQSxFQUNuRCxPQUFPO0FBQUEsSUFDTCxzQ0FBc0M7QUFBQSxJQUN0Qyw0QkFBNEI7QUFBQSxJQUM1QixnQ0FBZ0M7QUFBQSxJQUNoQyw2QkFBNkI7QUFBQSxJQUM3QixxQkFBcUI7QUFBQSxJQUNyQiwwQ0FBMEM7QUFBQSxJQUMxQyw0QkFBNEI7QUFBQSxJQUM1QiwyQkFBMkI7QUFBQSxJQUMzQixzQkFBc0I7QUFBQSxFQUN4QjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -5,4 +5,7 @@
5
5
  * ESLint plugin for Obsidian development utilities.
6
6
  */
7
7
  import type { ESLint } from 'eslint' with { 'resolution-mode': 'import' };
8
+ /**
9
+ * ESLint plugin bundling every `obsidian-dev-utils` custom rule, registered under the `obsidian-dev-utils` namespace.
10
+ */
8
11
  export declare const obsidianDevUtilsPlugin: ESLint.Plugin;
@@ -275,4 +275,4 @@ function toPascalCase(name) {
275
275
  MESSAGE_ID,
276
276
  paramsOptionsNameMatch
277
277
  });
278
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IHBhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2hcbiAqXG4gKiBFbnN1cmVzIHRoYXQgcGFyYW1ldGVyLWJhZyB0eXBlIG5hbWVzIG1hdGNoIHRoZSBmdW5jdGlvbiBvciBjb25zdHJ1Y3RvciB0aGV5XG4gKiBiZWxvbmcgdG8sIG9uIHR3byBheGVzIFx1MjAxNCBhIHByZWZpeCBkZXJpdmVkIGZyb20gdGhlIG93bmVyIGFuZCBhIHN1ZmZpeCBkZXJpdmVkXG4gKiBmcm9tIGhvdyB0aGUgYmFnIGlzIHBhc3NlZC5cbiAqXG4gKiBQcmVmaXggKG93bmVyKTpcbiAqIC0gYGZvb0JhcihwYXJhbXM6IEZvb0Jhclx1MjAyNilgIFx1MjAxNCBQYXNjYWxDYXNlIG9mIHRoZSBmdW5jdGlvbiBuYW1lXG4gKiAtIGBjbGFzcyBCYXogeyBjb25zdHJ1Y3RvcihwYXJhbXM6IEJhekNvbnN0cnVjdG9yXHUyMDI2KSB9YCBcdTIwMTQgQ2xhc3NOYW1lICsgYENvbnN0cnVjdG9yYFxuICogLSBgY2xhc3MgQmF6IHsgbWV0aG9kKHBhcmFtczogQmF6TWV0aG9kXHUyMDI2KSB9YCBcdTIwMTQgQ2xhc3NOYW1lICsgUGFzY2FsQ2FzZShtZXRob2ROYW1lKVxuICpcbiAqIFN1ZmZpeCAod2hldGhlciB0aGUgYmFnIGlzIGEgcmVxdWlyZWQgc29sZSBhcmd1bWVudCk6XG4gKiAtIGBQYXJhbXNgIG9ubHkgd2hlbiB0aGUgYmFnIGlzIHRoZSBTT0xFIGFuZCBSRVFVSVJFRCBwYXJhbWV0ZXIgXHUyMDE0XG4gKiAgIGBmb29CYXIocGFyYW1zOiBGb29CYXJQYXJhbXMpYFxuICogLSBgT3B0aW9uc2Agb3RoZXJ3aXNlLiBUaGF0IGlzOiBhbiBPUFRJT05BTCBiYWcgXHUyMDE0IGBmb29CYXIob3B0aW9ucz86IEZvb0Jhck9wdGlvbnMpYFxuICogICBvciBgZm9vQmFyKG9wdGlvbnM6IEZvb0Jhck9wdGlvbnMgPSB7fSlgIFx1MjAxNCBvciBhIGJhZyBTVVBQTEVNRU5UQVJZIHRvIG90aGVyXG4gKiAgIHBhcmFtZXRlcnMgXHUyMDE0IGBmb29CYXIoYmF6OiBzdHJpbmcsIG9wdGlvbnM6IEZvb0Jhck9wdGlvbnMpYC5cbiAqXG4gKiBPbmx5IGNoZWNrcyBwYXJhbWV0ZXJzIHdob3NlIHR5cGUgYW5ub3RhdGlvbiBuYW1lIGVuZHMgd2l0aCBgUGFyYW1zYCBvclxuICogYE9wdGlvbnNgLiBPbmx5IGNoZWNrcyBleHBvcnRlZCBmdW5jdGlvbnMgYW5kIG1lbWJlcnMgb2YgZXhwb3J0ZWQgY2xhc3Nlc1xuICogKHJlZ2FyZGxlc3Mgb2YgYWNjZXNzaWJpbGl0eSBcdTIwMTQgYHB1YmxpY2AsIGBwcm90ZWN0ZWRgLCBhbmQgYHByaXZhdGVgIGFyZSBhbGxcbiAqIGNoZWNrZWQpIHRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyBmcm9tIGludGVybmFsIG9wdGlvbnMtcGFzc3Rocm91Z2ggaGVscGVycy5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIFJ1bGUuTm9kZSBwYXJlbnQvcHJvcGVydHkgdHlwZXMgYXJlIHdpZGVyIHRoYW4gd2hhdCB0aGUgdHlwZSBjaGVja2VyIGluZmVyczsgZGVmZW5zaXZlIGNoZWNrcyBhcmUgYXBwcm9wcmlhdGUgZm9yIEFTVCB0cmF2ZXJzYWwuICovXG5cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmNvbnN0IFBBUkFNU19PUFRJT05TX1NVRkZJWF9QQVRURVJOID0gLyg/OlBhcmFtc3xPcHRpb25zKSQvO1xuY29uc3QgUEFSQU1TX1NVRkZJWCA9ICdQYXJhbXMnO1xuY29uc3QgT1BUSU9OU19TVUZGSVggPSAnT3B0aW9ucyc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgcGFyYW1ldGVyLWJhZyB0eXBlJ3MgbmFtZSBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgbmFtZSAocHJlZml4IGFuZCByZXF1aXJlZC9vcHRpb25hbCBzdWZmaXgpIGZvciBpdHMgZnVuY3Rpb24gb3IgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEID0gJ3BhcmFtc09wdGlvbnNOYW1lTWF0Y2gnO1xuXG5pbnRlcmZhY2UgRnVuY3Rpb25Ob2RlV2l0aFBhcmFtcyB7XG4gIHJlYWRvbmx5IHBhcmFtczogUnVsZS5Ob2RlW107XG59XG5cbmludGVyZmFjZSBNYXliZU9wdGlvbmFsTm9kZSB7XG4gIHJlYWRvbmx5IG9wdGlvbmFsPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFR5cGVBbm5vdGF0aW9uSW5mbyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbm9kZTogUnVsZS5Ob2RlO1xufVxuXG5leHBvcnQgY29uc3QgcGFyYW1zT3B0aW9uc05hbWVNYXRjaDogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICAnOmZ1bmN0aW9uW3BhcmFtcy5sZW5ndGg+MF0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzSW5FeHBvcnRlZFNjb3BlKG5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnVuY3Rpb25Ob2RlID0gbm9kZSBhcyBGdW5jdGlvbk5vZGVXaXRoUGFyYW1zICYgUnVsZS5Ob2RlO1xuICAgICAgICBjb25zdCBleHBlY3RlZFByZWZpeCA9IGdldEV4cGVjdGVkUHJlZml4KG5vZGUpO1xuICAgICAgICBpZiAoIWV4cGVjdGVkUHJlZml4KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNTb2xlUGFyYW1ldGVyID0gZnVuY3Rpb25Ob2RlLnBhcmFtcy5sZW5ndGggPT09IDE7XG5cbiAgICAgICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgZnVuY3Rpb25Ob2RlLnBhcmFtcykge1xuICAgICAgICAgIGNvbnN0IHR5cGVJbmZvID0gZ2V0VHlwZUFubm90YXRpb25JbmZvKHBhcmFtZXRlcik7XG4gICAgICAgICAgaWYgKCF0eXBlSW5mbykge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFQQVJBTVNfT1BUSU9OU19TVUZGSVhfUEFUVEVSTi50ZXN0KHR5cGVJbmZvLm5hbWUpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBIHJlcXVpcmVkIHNvbGUtYXJndW1lbnQgYmFnIFx1MjE5MiBgKlBhcmFtc2AuIEFuIG9wdGlvbmFsIGJhZyAoYD9gIG9yIGEgZGVmYXVsdFxuICAgICAgICAgIC8vIFZhbHVlKSBvciBhIGJhZyBzdXBwbGVtZW50YXJ5IHRvIG90aGVyIHBhcmFtZXRlcnMgXHUyMTkyIGAqT3B0aW9uc2AuXG4gICAgICAgICAgY29uc3QgZXhwZWN0ZWRTdWZmaXggPSBpc1NvbGVQYXJhbWV0ZXIgJiYgIWlzT3B0aW9uYWxQYXJhbWV0ZXIocGFyYW1ldGVyKSA/IFBBUkFNU19TVUZGSVggOiBPUFRJT05TX1NVRkZJWDtcbiAgICAgICAgICBjb25zdCBleHBlY3RlZE5hbWUgPSBgJHtleHBlY3RlZFByZWZpeH0ke2V4cGVjdGVkU3VmZml4fWA7XG5cbiAgICAgICAgICBpZiAodHlwZUluZm8ubmFtZSAhPT0gZXhwZWN0ZWROYW1lKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBhY3R1YWxOYW1lOiB0eXBlSW5mby5uYW1lLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkTmFtZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSUQsXG4gICAgICAgICAgICAgIG5vZGU6IHR5cGVJbmZvLm5vZGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1JlcXVpcmUgYCpQYXJhbXNgL2AqT3B0aW9uc2AgdHlwZSBuYW1lcyB0byBtYXRjaCB0aGUgb3duaW5nIGZ1bmN0aW9uL2NvbnN0cnVjdG9yIChwcmVmaXgpIGFuZCB0aGUgc29sZS12cy1zdXBwbGVtZW50YXJ5IGFyZ3VtZW50IGNvbnZlbnRpb24gKHN1ZmZpeCknXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnVHlwZSBcInt7IGFjdHVhbE5hbWUgfX1cIiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgbmFtZSBcInt7IGV4cGVjdGVkTmFtZSB9fVwiIGZvciB0aGlzIGZ1bmN0aW9uL2NvbnN0cnVjdG9yLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nXG4gIH1cbn07XG5cbmZ1bmN0aW9uIGdldENsYXNzTmFtZShtZXRob2REZWZpbml0aW9uOiBSdWxlLk5vZGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBjbGFzc0JvZHkgPSBtZXRob2REZWZpbml0aW9uLnBhcmVudDtcbiAgY29uc3QgY2xhc3NOb2RlID0gY2xhc3NCb2R5Py5wYXJlbnQ7XG4gIGlmIChcbiAgICAhY2xhc3NOb2RlIHx8ICEoJ2lkJyBpbiBjbGFzc05vZGUpIHx8ICFjbGFzc05vZGUuaWQgfHwgdHlwZW9mIGNsYXNzTm9kZS5pZCAhPT0gJ29iamVjdCcgfHwgISgnbmFtZScgaW4gY2xhc3NOb2RlLmlkKVxuICAgIHx8IHR5cGVvZiBjbGFzc05vZGUuaWQubmFtZSAhPT0gJ3N0cmluZydcbiAgKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4gY2xhc3NOb2RlLmlkLm5hbWU7XG59XG5cbmZ1bmN0aW9uIGdldEV4cGVjdGVkUHJlZml4KG5vZGU6IFJ1bGUuTm9kZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG1ldGhvZFByZWZpeCA9IGdldE1ldGhvZEV4cGVjdGVkUHJlZml4KG5vZGUpO1xuICBpZiAobWV0aG9kUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gbWV0aG9kUHJlZml4O1xuICB9XG5cbiAgcmV0dXJuIGdldEZ1bmN0aW9uRXhwZWN0ZWRQcmVmaXgobm9kZSk7XG59XG5cbmZ1bmN0aW9uIGdldEZ1bmN0aW9uRXhwZWN0ZWRQcmVmaXgobm9kZTogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gTmFtZWQgZnVuY3Rpb24gZGVjbGFyYXRpb246IGZ1bmN0aW9uIGZvb0JhcihwYXJhbXM6IEZvb0JhclBhcmFtcylcbiAgaWYgKCdpZCcgaW4gbm9kZSAmJiBub2RlLmlkICYmIHR5cGVvZiBub2RlLmlkID09PSAnb2JqZWN0JyAmJiAnbmFtZScgaW4gbm9kZS5pZCAmJiB0eXBlb2Ygbm9kZS5pZC5uYW1lID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0b1Bhc2NhbENhc2Uobm9kZS5pZC5uYW1lKTtcbiAgfVxuXG4gIC8vIEFycm93IGZ1bmN0aW9uIGFzc2lnbmVkIHRvIGEgdmFyaWFibGU6IGNvbnN0IGZvb0JhciA9IChwYXJhbXM6IEZvb0JhclBhcmFtcykgPT4gLi4uXG4gIGlmIChcbiAgICBub2RlLnBhcmVudD8udHlwZSA9PT0gJ1ZhcmlhYmxlRGVjbGFyYXRvcicgJiYgJ2lkJyBpbiBub2RlLnBhcmVudCAmJiBub2RlLnBhcmVudC5pZCAmJiB0eXBlb2Ygbm9kZS5wYXJlbnQuaWQgPT09ICdvYmplY3QnICYmICduYW1lJyBpbiBub2RlLnBhcmVudC5pZFxuICAgICYmIHR5cGVvZiBub2RlLnBhcmVudC5pZC5uYW1lID09PSAnc3RyaW5nJ1xuICApIHtcbiAgICByZXR1cm4gdG9QYXNjYWxDYXNlKG5vZGUucGFyZW50LmlkLm5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0TWV0aG9kRXhwZWN0ZWRQcmVmaXgobm9kZTogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbWV0aG9kRGVmaW5pdGlvbiA9IG5vZGUucGFyZW50O1xuICBpZiAobWV0aG9kRGVmaW5pdGlvbj8udHlwZSAhPT0gJ01ldGhvZERlZmluaXRpb24nKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWZlbnNpdmUgZ3VhcmQ6IEVTTGludCBBU1QgTWV0aG9kRGVmaW5pdGlvbiBhbHdheXMgaGFzIGEgbmFtZWQga2V5LiAqL1xuICBpZiAoXG4gICAgISgna2V5JyBpbiBtZXRob2REZWZpbml0aW9uKSB8fCAhbWV0aG9kRGVmaW5pdGlvbi5rZXkgfHwgdHlwZW9mIG1ldGhvZERlZmluaXRpb24ua2V5ICE9PSAnb2JqZWN0JyB8fCAhKCduYW1lJyBpbiBtZXRob2REZWZpbml0aW9uLmtleSkgfHwgdHlwZW9mIG1ldGhvZERlZmluaXRpb24ua2V5Lm5hbWUgIT09ICdzdHJpbmcnXG4gICkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBjb25zdCBtZXRob2ROYW1lID0gbWV0aG9kRGVmaW5pdGlvbi5rZXkubmFtZTtcbiAgY29uc3QgY2xhc3NOYW1lID0gZ2V0Q2xhc3NOYW1lKG1ldGhvZERlZmluaXRpb24pO1xuICBpZiAoIWNsYXNzTmFtZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAobWV0aG9kTmFtZSA9PT0gJ2NvbnN0cnVjdG9yJykge1xuICAgIHJldHVybiBgJHtjbGFzc05hbWV9Q29uc3RydWN0b3JgO1xuICB9XG5cbiAgcmV0dXJuIGNsYXNzTmFtZSArIHRvUGFzY2FsQ2FzZShtZXRob2ROYW1lKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHlwZUFubm90YXRpb25JbmZvKHBhcmFtZXRlcjogUnVsZS5Ob2RlKTogVHlwZUFubm90YXRpb25JbmZvIHwgdW5kZWZpbmVkIHtcbiAgLy8gVW53cmFwIGEgZGVmYXVsdGVkIHBhcmFtZXRlciBzdWNoIGFzIGBvcHRpb25zOiBGb29PcHRpb25zID0ge31gLlxuICAvLyBJdHMgdHlwZSBhbm5vdGF0aW9uIGxpdmVzIG9uIHRoZSBBc3NpZ25tZW50UGF0dGVybidzIGxlZnQtaGFuZCBiaW5kaW5nLlxuICBjb25zdCB0YXJnZXQgPSBwYXJhbWV0ZXIudHlwZSA9PT0gJ0Fzc2lnbm1lbnRQYXR0ZXJuJyA/IHBhcmFtZXRlci5sZWZ0IDogcGFyYW1ldGVyO1xuXG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWZlbnNpdmUgZ3VhcmQ6IFR5cGVTY3JpcHQtcGFyc2VkIHBhcmFtcyBhbHdheXMgaGF2ZSB0eXBlQW5ub3RhdGlvbiB3aGVuIHR5cGVkLiAqL1xuICBpZiAoISgndHlwZUFubm90YXRpb24nIGluIHRhcmdldCkgfHwgIXRhcmdldC50eXBlQW5ub3RhdGlvbikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBjb25zdCBhbm5vdGF0aW9uID0gdGFyZ2V0LnR5cGVBbm5vdGF0aW9uIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCB0eXBlTm9kZSA9IGFubm90YXRpb25bJ3R5cGVBbm5vdGF0aW9uJ107XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWZlbnNpdmUgZ3VhcmQ6IHRoZSBUeXBlU2NyaXB0IHBhcnNlciBhbHdheXMgcHJvZHVjZXMgYW4gQVNUIG5vZGUgZm9yIHR5cGVBbm5vdGF0aW9uLiAqL1xuICBpZiAoIXR5cGVOb2RlIHx8IHR5cGVvZiB0eXBlTm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG5cbiAgY29uc3QgdHlwZU5vZGVPYmplY3QgPSB0eXBlTm9kZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAvLyBEaXJlY3QgcmVmZXJlbmNlOiBGb29CYXJQYXJhbXNcbiAgaWYgKHR5cGVOb2RlT2JqZWN0Wyd0eXBlJ10gPT09ICdUU1R5cGVSZWZlcmVuY2UnICYmIHR5cGVOb2RlT2JqZWN0Wyd0eXBlTmFtZSddICYmIHR5cGVvZiB0eXBlTm9kZU9iamVjdFsndHlwZU5hbWUnXSA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOb2RlT2JqZWN0Wyd0eXBlTmFtZSddIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBEZWZlbnNpdmUgZ3VhcmQ6IFRTVHlwZVJlZmVyZW5jZSB0eXBlTmFtZSBpcyBhbHdheXMgYW4gSWRlbnRpZmllciB3aXRoIGEgc3RyaW5nIG5hbWUuICovXG4gICAgaWYgKHR5cGVOYW1lWyd0eXBlJ10gPT09ICdJZGVudGlmaWVyJyAmJiB0eXBlb2YgdHlwZU5hbWVbJ25hbWUnXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgICByZXR1cm4geyBuYW1lOiB0eXBlTmFtZVsnbmFtZSddLCBub2RlOiB0eXBlTm9kZSBhcyBSdWxlLk5vZGUgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBpc0luRXhwb3J0ZWRTY29wZShub2RlOiBSdWxlLk5vZGUpOiBib29sZWFuIHtcbiAgLy8gQ2xhc3MgbWV0aG9kIG9yIGNvbnN0cnVjdG9yOiBjaGVjayB0aGF0IHRoZSBjbGFzcyBpcyBleHBvcnRlZCwgcmVnYXJkbGVzcyBvZiBhY2Nlc3NpYmlsaXR5XG4gIC8vIChwdWJsaWMvcHJvdGVjdGVkL3ByaXZhdGUgbWVtYmVycyBhcmUgYWxsIGNoZWNrZWQpLlxuICBjb25zdCBtZXRob2REZWZpbml0aW9uID0gbm9kZS5wYXJlbnQ7XG4gIGlmIChtZXRob2REZWZpbml0aW9uPy50eXBlID09PSAnTWV0aG9kRGVmaW5pdGlvbicpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgY2xhc3MgaXRzZWxmIGlzIGV4cG9ydGVkXG4gICAgY29uc3QgY2xhc3NCb2R5ID0gbWV0aG9kRGVmaW5pdGlvbi5wYXJlbnQ7XG4gICAgY29uc3QgY2xhc3NOb2RlID0gY2xhc3NCb2R5Py5wYXJlbnQ7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZmVuc2l2ZSBndWFyZDogRVNMaW50IEFTVCBhbHdheXMgaGFzIHBhcmVudCBjaGFpbiBmb3IgY2xhc3MgbWV0aG9kcy4gKi9cbiAgICBpZiAoIWNsYXNzTm9kZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IGNsYXNzUGFyZW50ID0gY2xhc3NOb2RlLnBhcmVudDtcbiAgICByZXR1cm4gY2xhc3NQYXJlbnQ/LnR5cGUgPT09ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJyB8fCBjbGFzc1BhcmVudD8udHlwZSA9PT0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic7XG4gIH1cblxuICAvLyBUb3AtbGV2ZWwgZnVuY3Rpb246IGNoZWNrIGlmIGV4cG9ydGVkXG4gIGlmIChub2RlLnR5cGUgPT09ICdGdW5jdGlvbkRlY2xhcmF0aW9uJykge1xuICAgIGNvbnN0IHBhcmVudE5vZGUgPSBub2RlLnBhcmVudDtcbiAgICByZXR1cm4gcGFyZW50Tm9kZT8udHlwZSA9PT0gJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nIHx8IHBhcmVudE5vZGU/LnR5cGUgPT09ICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nO1xuICB9XG5cbiAgLy8gQXJyb3cgZnVuY3Rpb24gaW4gdmFyaWFibGU6IGNoZWNrIGlmIHRoZSB2YXJpYWJsZSBkZWNsYXJhdGlvbiBpcyBleHBvcnRlZFxuICBpZiAobm9kZS5wYXJlbnQ/LnR5cGUgPT09ICdWYXJpYWJsZURlY2xhcmF0b3InKSB7XG4gICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvbiA9IG5vZGUucGFyZW50LnBhcmVudDtcbiAgICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbj8ucGFyZW50Py50eXBlID09PSAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNPcHRpb25hbFBhcmFtZXRlcihwYXJhbWV0ZXI6IFJ1bGUuTm9kZSk6IGJvb2xlYW4ge1xuICAvLyBgb3B0aW9uczogRm9vT3B0aW9ucyA9IHt9YCBpcyBhbiBBc3NpZ25tZW50UGF0dGVybjsgYG9wdGlvbnM/OiBGb29PcHRpb25zYCBjYXJyaWVzIGFuXG4gIC8vIGBvcHRpb25hbGAgZmxhZy4gQm90aCBtYWtlIHRoZSBiYWcgb3B0aW9uYWwgXHUyMTkyIGAqT3B0aW9uc2AuXG4gIGlmIChwYXJhbWV0ZXIudHlwZSA9PT0gJ0Fzc2lnbm1lbnRQYXR0ZXJuJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiAocGFyYW1ldGVyIGFzIE1heWJlT3B0aW9uYWxOb2RlKS5vcHRpb25hbCA9PT0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBuYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbmFtZS5zbGljZSgxKTtcbn1cblxuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIFJlLWVuYWJsZSBhZnRlciBBU1QgdHJhdmVyc2FsIGNvZGUsIHdoaWNoIGlzIG5vdyB0aGUgd2hvbGUgZmlsZTogdGhlIHByZWZpeCBoZWxwZXJzIG1vdmVkIHRvIG1vZHVsZSBzY29wZSBhbmQgd2FsayB0aGUgc2FtZSBvcHRpb25hbC1wYXJlbnQgY2hhaW4uICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBK0JBLE1BQU0sZ0NBQWdDO0FBQ3RDLE1BQU0sZ0JBQWdCO0FBQ3RCLE1BQU0saUJBQWlCO0FBS2hCLE1BQU0sYUFBYTtBQWVuQixNQUFNLHlCQUEwQztBQUFBLEVBQ3JELE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLDZCQUE2QixNQUF1QjtBQUNsRCxZQUFJLENBQUMsa0JBQWtCLElBQUksR0FBRztBQUM1QjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLGVBQWU7QUFDckIsY0FBTSxpQkFBaUIsa0JBQWtCLElBQUk7QUFDN0MsWUFBSSxDQUFDLGdCQUFnQjtBQUNuQjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLGtCQUFrQixhQUFhLE9BQU8sV0FBVztBQUV2RCxtQkFBVyxhQUFhLGFBQWEsUUFBUTtBQUMzQyxnQkFBTSxXQUFXLHNCQUFzQixTQUFTO0FBQ2hELGNBQUksQ0FBQyxVQUFVO0FBQ2I7QUFBQSxVQUNGO0FBRUEsY0FBSSxDQUFDLDhCQUE4QixLQUFLLFNBQVMsSUFBSSxHQUFHO0FBQ3REO0FBQUEsVUFDRjtBQUlBLGdCQUFNLGlCQUFpQixtQkFBbUIsQ0FBQyxvQkFBb0IsU0FBUyxJQUFJLGdCQUFnQjtBQUM1RixnQkFBTSxlQUFlLEdBQUcsY0FBYyxHQUFHLGNBQWM7QUFFdkQsY0FBSSxTQUFTLFNBQVMsY0FBYztBQUNsQyxvQkFBUSxPQUFPO0FBQUEsY0FDYixNQUFNO0FBQUEsZ0JBQ0osWUFBWSxTQUFTO0FBQUEsZ0JBQ3JCO0FBQUEsY0FDRjtBQUFBLGNBQ0EsV0FBVztBQUFB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
278
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IHBhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2hcbiAqXG4gKiBFbnN1cmVzIHRoYXQgcGFyYW1ldGVyLWJhZyB0eXBlIG5hbWVzIG1hdGNoIHRoZSBmdW5jdGlvbiBvciBjb25zdHJ1Y3RvciB0aGV5XG4gKiBiZWxvbmcgdG8sIG9uIHR3byBheGVzIFx1MjAxNCBhIHByZWZpeCBkZXJpdmVkIGZyb20gdGhlIG93bmVyIGFuZCBhIHN1ZmZpeCBkZXJpdmVkXG4gKiBmcm9tIGhvdyB0aGUgYmFnIGlzIHBhc3NlZC5cbiAqXG4gKiBQcmVmaXggKG93bmVyKTpcbiAqIC0gYGZvb0JhcihwYXJhbXM6IEZvb0Jhclx1MjAyNilgIFx1MjAxNCBQYXNjYWxDYXNlIG9mIHRoZSBmdW5jdGlvbiBuYW1lXG4gKiAtIGBjbGFzcyBCYXogeyBjb25zdHJ1Y3RvcihwYXJhbXM6IEJhekNvbnN0cnVjdG9yXHUyMDI2KSB9YCBcdTIwMTQgQ2xhc3NOYW1lICsgYENvbnN0cnVjdG9yYFxuICogLSBgY2xhc3MgQmF6IHsgbWV0aG9kKHBhcmFtczogQmF6TWV0aG9kXHUyMDI2KSB9YCBcdTIwMTQgQ2xhc3NOYW1lICsgUGFzY2FsQ2FzZShtZXRob2ROYW1lKVxuICpcbiAqIFN1ZmZpeCAod2hldGhlciB0aGUgYmFnIGlzIGEgcmVxdWlyZWQgc29sZSBhcmd1bWVudCk6XG4gKiAtIGBQYXJhbXNgIG9ubHkgd2hlbiB0aGUgYmFnIGlzIHRoZSBTT0xFIGFuZCBSRVFVSVJFRCBwYXJhbWV0ZXIgXHUyMDE0XG4gKiAgIGBmb29CYXIocGFyYW1zOiBGb29CYXJQYXJhbXMpYFxuICogLSBgT3B0aW9uc2Agb3RoZXJ3aXNlLiBUaGF0IGlzOiBhbiBPUFRJT05BTCBiYWcgXHUyMDE0IGBmb29CYXIob3B0aW9ucz86IEZvb0Jhck9wdGlvbnMpYFxuICogICBvciBgZm9vQmFyKG9wdGlvbnM6IEZvb0Jhck9wdGlvbnMgPSB7fSlgIFx1MjAxNCBvciBhIGJhZyBTVVBQTEVNRU5UQVJZIHRvIG90aGVyXG4gKiAgIHBhcmFtZXRlcnMgXHUyMDE0IGBmb29CYXIoYmF6OiBzdHJpbmcsIG9wdGlvbnM6IEZvb0Jhck9wdGlvbnMpYC5cbiAqXG4gKiBPbmx5IGNoZWNrcyBwYXJhbWV0ZXJzIHdob3NlIHR5cGUgYW5ub3RhdGlvbiBuYW1lIGVuZHMgd2l0aCBgUGFyYW1zYCBvclxuICogYE9wdGlvbnNgLiBPbmx5IGNoZWNrcyBleHBvcnRlZCBmdW5jdGlvbnMgYW5kIG1lbWJlcnMgb2YgZXhwb3J0ZWQgY2xhc3Nlc1xuICogKHJlZ2FyZGxlc3Mgb2YgYWNjZXNzaWJpbGl0eSBcdTIwMTQgYHB1YmxpY2AsIGBwcm90ZWN0ZWRgLCBhbmQgYHByaXZhdGVgIGFyZSBhbGxcbiAqIGNoZWNrZWQpIHRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyBmcm9tIGludGVybmFsIG9wdGlvbnMtcGFzc3Rocm91Z2ggaGVscGVycy5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uIC0tIFJ1bGUuTm9kZSBwYXJlbnQvcHJvcGVydHkgdHlwZXMgYXJlIHdpZGVyIHRoYW4gd2hhdCB0aGUgdHlwZSBjaGVja2VyIGluZmVyczsgZGVmZW5zaXZlIGNoZWNrcyBhcmUgYXBwcm9wcmlhdGUgZm9yIEFTVCB0cmF2ZXJzYWwuICovXG5cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmNvbnN0IFBBUkFNU19PUFRJT05TX1NVRkZJWF9QQVRURVJOID0gLyg/OlBhcmFtc3xPcHRpb25zKSQvO1xuY29uc3QgUEFSQU1TX1NVRkZJWCA9ICdQYXJhbXMnO1xuY29uc3QgT1BUSU9OU19TVUZGSVggPSAnT3B0aW9ucyc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgcGFyYW1ldGVyLWJhZyB0eXBlJ3MgbmFtZSBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgbmFtZSAocHJlZml4IGFuZCByZXF1aXJlZC9vcHRpb25hbCBzdWZmaXgpIGZvciBpdHMgZnVuY3Rpb24gb3IgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEID0gJ3BhcmFtc09wdGlvbnNOYW1lTWF0Y2gnO1xuXG5pbnRlcmZhY2UgRnVuY3Rpb25Ob2RlV2l0aFBhcmFtcyB7XG4gIHJlYWRvbmx5IHBhcmFtczogUnVsZS5Ob2RlW107XG59XG5cbmludGVyZmFjZSBNYXliZU9wdGlvbmFsTm9kZSB7XG4gIHJlYWRvbmx5IG9wdGlvbmFsPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFR5cGVBbm5vdGF0aW9uSW5mbyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbm9kZTogUnVsZS5Ob2RlO1xufVxuXG4vKipcbiAqIEVTTGludCBydWxlIHJlcXVpcmluZyBgKlBhcmFtc2AvYCpPcHRpb25zYCB0eXBlIG5hbWVzIHRvIG1hdGNoIHRoZWlyIG93bmluZyBmdW5jdGlvbiBvciBjb25zdHJ1Y3RvciwgYW5kIHRvIHVzZSB0aGUgc3VmZml4IHRoYXQgbWF0Y2hlcyB0aGUgc29sZS12cy1zdXBwbGVtZW50YXJ5IGFyZ3VtZW50IGNvbnZlbnRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJhbXNPcHRpb25zTmFtZU1hdGNoOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICc6ZnVuY3Rpb25bcGFyYW1zLmxlbmd0aD4wXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNJbkV4cG9ydGVkU2NvcGUobm9kZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmdW5jdGlvbk5vZGUgPSBub2RlIGFzIEZ1bmN0aW9uTm9kZVdpdGhQYXJhbXMgJiBSdWxlLk5vZGU7XG4gICAgICAgIGNvbnN0IGV4cGVjdGVkUHJlZml4ID0gZ2V0RXhwZWN0ZWRQcmVmaXgobm9kZSk7XG4gICAgICAgIGlmICghZXhwZWN0ZWRQcmVmaXgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc1NvbGVQYXJhbWV0ZXIgPSBmdW5jdGlvbk5vZGUucGFyYW1zLmxlbmd0aCA9PT0gMTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBhcmFtZXRlciBvZiBmdW5jdGlvbk5vZGUucGFyYW1zKSB7XG4gICAgICAgICAgY29uc3QgdHlwZUluZm8gPSBnZXRUeXBlQW5ub3RhdGlvbkluZm8ocGFyYW1ldGVyKTtcbiAgICAgICAgICBpZiAoIXR5cGVJbmZvKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIVBBUkFNU19PUFRJT05TX1NVRkZJWF9QQVRURVJOLnRlc3QodHlwZUluZm8ubmFtZSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEEgcmVxdWlyZWQgc29sZS1hcmd1bWVudCBiYWcgXHUyMTkyIGAqUGFyYW1zYC4gQW4gb3B0aW9uYWwgYmFnIChgP2Agb3IgYSBkZWZhdWx0XG4gICAgICAgICAgLy8gVmFsdWUpIG9yIGEgYmFnIHN1cHBsZW1lbnRhcnkgdG8gb3RoZXIgcGFyYW1ldGVycyBcdTIxOTIgYCpPcHRpb25zYC5cbiAgICAgICAgICBjb25zdCBleHBlY3RlZFN1ZmZpeCA9IGlzU29sZVBhcmFtZXRlciAmJiAhaXNPcHRpb25hbFBhcmFtZXRlcihwYXJhbWV0ZXIpID8gUEFSQU1TX1NVRkZJWCA6IE9QVElPTlNfU1VGRklYO1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkTmFtZSA9IGAke2V4cGVjdGVkUHJlZml4fSR7ZXhwZWN0ZWRTdWZmaXh9YDtcblxuICAgICAgICAgIGlmICh0eXBlSW5mby5uYW1lICE9PSBleHBlY3RlZE5hbWUpIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGFjdHVhbE5hbWU6IHR5cGVJbmZvLm5hbWUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWROYW1lXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRCxcbiAgICAgICAgICAgICAgbm9kZTogdHlwZUluZm8ubm9kZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVxdWlyZSBgKlBhcmFtc2AvYCpPcHRpb25zYCB0eXBlIG5hbWVzIHRvIG1hdGNoIHRoZSBvd25pbmcgZnVuY3Rpb24vY29uc3RydWN0b3IgKHByZWZpeCkgYW5kIHRoZSBzb2xlLXZzLXN1cHBsZW1lbnRhcnkgYXJndW1lbnQgY29udmVudGlvbiAoc3VmZml4KSdcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdUeXBlIFwie3sgYWN0dWFsTmFtZSB9fVwiIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBuYW1lIFwie3sgZXhwZWN0ZWROYW1lIH19XCIgZm9yIHRoaXMgZnVuY3Rpb24vY29uc3RydWN0b3IuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcblxuZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKG1ldGhvZERlZmluaXRpb246IFJ1bGUuTm9kZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGNsYXNzQm9keSA9IG1ldGhvZERlZmluaXRpb24ucGFyZW50O1xuICBjb25zdCBjbGFzc05vZGUgPSBjbGFzc0JvZHk/LnBhcmVudDtcbiAgaWYgKFxuICAgICFjbGFzc05vZGUgfHwgISgnaWQnIGluIGNsYXNzTm9kZSkgfHwgIWNsYXNzTm9kZS5pZCB8fCB0eXBlb2YgY2xhc3NOb2RlLmlkICE9PSAnb2JqZWN0JyB8fCAhKCduYW1lJyBpbiBjbGFzc05vZGUuaWQpXG4gICAgfHwgdHlwZW9mIGNsYXNzTm9kZS5pZC5uYW1lICE9PSAnc3RyaW5nJ1xuICApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBjbGFzc05vZGUuaWQubmFtZTtcbn1cblxuZnVuY3Rpb24gZ2V0RXhwZWN0ZWRQcmVmaXgobm9kZTogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbWV0aG9kUHJlZml4ID0gZ2V0TWV0aG9kRXhwZWN0ZWRQcmVmaXgobm9kZSk7XG4gIGlmIChtZXRob2RQcmVmaXggIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBtZXRob2RQcmVmaXg7XG4gIH1cblxuICByZXR1cm4gZ2V0RnVuY3Rpb25FeHBlY3RlZFByZWZpeChub2RlKTtcbn1cblxuZnVuY3Rpb24gZ2V0RnVuY3Rpb25FeHBlY3RlZFByZWZpeChub2RlOiBSdWxlLk5vZGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAvLyBOYW1lZCBmdW5jdGlvbiBkZWNsYXJhdGlvbjogZnVuY3Rpb24gZm9vQmFyKHBhcmFtczogRm9vQmFyUGFyYW1zKVxuICBpZiAoJ2lkJyBpbiBub2RlICYmIG5vZGUuaWQgJiYgdHlwZW9mIG5vZGUuaWQgPT09ICdvYmplY3QnICYmICduYW1lJyBpbiBub2RlLmlkICYmIHR5cGVvZiBub2RlLmlkLm5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHRvUGFzY2FsQ2FzZShub2RlLmlkLm5hbWUpO1xuICB9XG5cbiAgLy8gQXJyb3cgZnVuY3Rpb24gYXNzaWduZWQgdG8gYSB2YXJpYWJsZTogY29uc3QgZm9vQmFyID0gKHBhcmFtczogRm9vQmFyUGFyYW1zKSA9PiAuLi5cbiAgaWYgKFxuICAgIG5vZGUucGFyZW50Py50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdG9yJyAmJiAnaWQnIGluIG5vZGUucGFyZW50ICYmIG5vZGUucGFyZW50LmlkICYmIHR5cGVvZiBub2RlLnBhcmVudC5pZCA9PT0gJ29iamVjdCcgJiYgJ25hbWUnIGluIG5vZGUucGFyZW50LmlkXG4gICAgJiYgdHlwZW9mIG5vZGUucGFyZW50LmlkLm5hbWUgPT09ICdzdHJpbmcnXG4gICkge1xuICAgIHJldHVybiB0b1Bhc2NhbENhc2Uobm9kZS5wYXJlbnQuaWQubmFtZSk7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRob2RFeHBlY3RlZFByZWZpeChub2RlOiBSdWxlLk5vZGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBtZXRob2REZWZpbml0aW9uID0gbm9kZS5wYXJlbnQ7XG4gIGlmIChtZXRob2REZWZpbml0aW9uPy50eXBlICE9PSAnTWV0aG9kRGVmaW5pdGlvbicpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZmVuc2l2ZSBndWFyZDogRVNMaW50IEFTVCBNZXRob2REZWZpbml0aW9uIGFsd2F5cyBoYXMgYSBuYW1lZCBrZXkuICovXG4gIGlmIChcbiAgICAhKCdrZXknIGluIG1ldGhvZERlZmluaXRpb24pIHx8ICFtZXRob2REZWZpbml0aW9uLmtleSB8fCB0eXBlb2YgbWV0aG9kRGVmaW5pdGlvbi5rZXkgIT09ICdvYmplY3QnIHx8ICEoJ25hbWUnIGluIG1ldGhvZERlZmluaXRpb24ua2V5KSB8fCB0eXBlb2YgbWV0aG9kRGVmaW5pdGlvbi5rZXkubmFtZSAhPT0gJ3N0cmluZydcbiAgKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuXG4gIGNvbnN0IG1ldGhvZE5hbWUgPSBtZXRob2REZWZpbml0aW9uLmtleS5uYW1lO1xuICBjb25zdCBjbGFzc05hbWUgPSBnZXRDbGFzc05hbWUobWV0aG9kRGVmaW5pdGlvbik7XG4gIGlmICghY2xhc3NOYW1lKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChtZXRob2ROYW1lID09PSAnY29uc3RydWN0b3InKSB7XG4gICAgcmV0dXJuIGAke2NsYXNzTmFtZX1Db25zdHJ1Y3RvcmA7XG4gIH1cblxuICByZXR1cm4gY2xhc3NOYW1lICsgdG9QYXNjYWxDYXNlKG1ldGhvZE5hbWUpO1xufVxuXG5mdW5jdGlvbiBnZXRUeXBlQW5ub3RhdGlvbkluZm8ocGFyYW1ldGVyOiBSdWxlLk5vZGUpOiBUeXBlQW5ub3RhdGlvbkluZm8gfCB1bmRlZmluZWQge1xuICAvLyBVbndyYXAgYSBkZWZhdWx0ZWQgcGFyYW1ldGVyIHN1Y2ggYXMgYG9wdGlvbnM6IEZvb09wdGlvbnMgPSB7fWAuXG4gIC8vIEl0cyB0eXBlIGFubm90YXRpb24gbGl2ZXMgb24gdGhlIEFzc2lnbm1lbnRQYXR0ZXJuJ3MgbGVmdC1oYW5kIGJpbmRpbmcuXG4gIGNvbnN0IHRhcmdldCA9IHBhcmFtZXRlci50eXBlID09PSAnQXNzaWdubWVudFBhdHRlcm4nID8gcGFyYW1ldGVyLmxlZnQgOiBwYXJhbWV0ZXI7XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZmVuc2l2ZSBndWFyZDogVHlwZVNjcmlwdC1wYXJzZWQgcGFyYW1zIGFsd2F5cyBoYXZlIHR5cGVBbm5vdGF0aW9uIHdoZW4gdHlwZWQuICovXG4gIGlmICghKCd0eXBlQW5ub3RhdGlvbicgaW4gdGFyZ2V0KSB8fCAhdGFyZ2V0LnR5cGVBbm5vdGF0aW9uKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuXG4gIGNvbnN0IGFubm90YXRpb24gPSB0YXJnZXQudHlwZUFubm90YXRpb24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IHR5cGVOb2RlID0gYW5ub3RhdGlvblsndHlwZUFubm90YXRpb24nXTtcbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZmVuc2l2ZSBndWFyZDogdGhlIFR5cGVTY3JpcHQgcGFyc2VyIGFsd2F5cyBwcm9kdWNlcyBhbiBBU1Qgbm9kZSBmb3IgdHlwZUFubm90YXRpb24uICovXG4gIGlmICghdHlwZU5vZGUgfHwgdHlwZW9mIHR5cGVOb2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBjb25zdCB0eXBlTm9kZU9iamVjdCA9IHR5cGVOb2RlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIC8vIERpcmVjdCByZWZlcmVuY2U6IEZvb0JhclBhcmFtc1xuICBpZiAodHlwZU5vZGVPYmplY3RbJ3R5cGUnXSA9PT0gJ1RTVHlwZVJlZmVyZW5jZScgJiYgdHlwZU5vZGVPYmplY3RbJ3R5cGVOYW1lJ10gJiYgdHlwZW9mIHR5cGVOb2RlT2JqZWN0Wyd0eXBlTmFtZSddID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5vZGVPYmplY3RbJ3R5cGVOYW1lJ10gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZmVuc2l2ZSBndWFyZDogVFNUeXBlUmVmZXJlbmNlIHR5cGVOYW1lIGlzIGFsd2F5cyBhbiBJZGVudGlmaWVyIHdpdGggYSBzdHJpbmcgbmFtZS4gKi9cbiAgICBpZiAodHlwZU5hbWVbJ3R5cGUnXSA9PT0gJ0lkZW50aWZpZXInICYmIHR5cGVvZiB0eXBlTmFtZVsnbmFtZSddID09PSAnc3RyaW5nJykge1xuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICAgIHJldHVybiB7IG5hbWU6IHR5cGVOYW1lWyduYW1lJ10sIG5vZGU6IHR5cGVOb2RlIGFzIFJ1bGUuTm9kZSB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGlzSW5FeHBvcnRlZFNjb3BlKG5vZGU6IFJ1bGUuTm9kZSk6IGJvb2xlYW4ge1xuICAvLyBDbGFzcyBtZXRob2Qgb3IgY29uc3RydWN0b3I6IGNoZWNrIHRoYXQgdGhlIGNsYXNzIGlzIGV4cG9ydGVkLCByZWdhcmRsZXNzIG9mIGFjY2Vzc2liaWxpdHlcbiAgLy8gKHB1YmxpYy9wcm90ZWN0ZWQvcHJpdmF0ZSBtZW1iZXJzIGFyZSBhbGwgY2hlY2tlZCkuXG4gIGNvbnN0IG1ldGhvZERlZmluaXRpb24gPSBub2RlLnBhcmVudDtcbiAgaWYgKG1ldGhvZERlZmluaXRpb24/LnR5cGUgPT09ICdNZXRob2REZWZpbml0aW9uJykge1xuICAgIC8vIENoZWNrIGlmIHRoZSBjbGFzcyBpdHNlbGYgaXMgZXhwb3J0ZWRcbiAgICBjb25zdCBjbGFzc0JvZHkgPSBtZXRob2REZWZpbml0aW9uLnBhcmVudDtcbiAgICBjb25zdCBjbGFzc05vZGUgPSBjbGFzc0JvZHk/LnBhcmVudDtcbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gRGVmZW5zaXZlIGd1YXJkOiBFU0xpbnQgQVNUIGFsd2F5cyBoYXMgcGFyZW50IGNoYWluIGZvciBjbGFzcyBtZXRob2RzLiAqL1xuICAgIGlmICghY2xhc3NOb2RlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY29uc3QgY2xhc3NQYXJlbnQgPSBjbGFzc05vZGUucGFyZW50O1xuICAgIHJldHVybiBjbGFzc1BhcmVudD8udHlwZSA9PT0gJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nIHx8IGNsYXNzUGFyZW50Py50eXBlID09PSAnRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJztcbiAgfVxuXG4gIC8vIFRvcC1sZXZlbCBmdW5jdGlvbjogY2hlY2sgaWYgZXhwb3J0ZWRcbiAgaWYgKG5vZGUudHlwZSA9PT0gJ0Z1bmN0aW9uRGVjbGFyYXRpb24nKSB7XG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50O1xuICAgIHJldHVybiBwYXJlbnROb2RlPy50eXBlID09PSAnRXhwb3J0TmFtZWREZWNsYXJhdGlvbicgfHwgcGFyZW50Tm9kZT8udHlwZSA9PT0gJ0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbic7XG4gIH1cblxuICAvLyBBcnJvdyBmdW5jdGlvbiBpbiB2YXJpYWJsZTogY2hlY2sgaWYgdGhlIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGlzIGV4cG9ydGVkXG4gIGlmIChub2RlLnBhcmVudD8udHlwZSA9PT0gJ1ZhcmlhYmxlRGVjbGFyYXRvcicpIHtcbiAgICBjb25zdCB2YXJpYWJsZURlY2xhcmF0aW9uID0gbm9kZS5wYXJlbnQucGFyZW50O1xuICAgIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uPy5wYXJlbnQ/LnR5cGUgPT09ICdFeHBvcnROYW1lZERlY2xhcmF0aW9uJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBpc09wdGlvbmFsUGFyYW1ldGVyKHBhcmFtZXRlcjogUnVsZS5Ob2RlKTogYm9vbGVhbiB7XG4gIC8vIGBvcHRpb25zOiBGb29PcHRpb25zID0ge31gIGlzIGFuIEFzc2lnbm1lbnRQYXR0ZXJuOyBgb3B0aW9ucz86IEZvb09wdGlvbnNgIGNhcnJpZXMgYW5cbiAgLy8gYG9wdGlvbmFsYCBmbGFnLiBCb3RoIG1ha2UgdGhlIGJhZyBvcHRpb25hbCBcdTIxOTIgYCpPcHRpb25zYC5cbiAgaWYgKHBhcmFtZXRlci50eXBlID09PSAnQXNzaWdubWVudFBhdHRlcm4nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIChwYXJhbWV0ZXIgYXMgTWF5YmVPcHRpb25hbE5vZGUpLm9wdGlvbmFsID09PSB0cnVlO1xufVxuXG5mdW5jdGlvbiB0b1Bhc2NhbENhc2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpO1xufVxuXG4vKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gLS0gUmUtZW5hYmxlIGFmdGVyIEFTVCB0cmF2ZXJzYWwgY29kZSwgd2hpY2ggaXMgbm93IHRoZSB3aG9sZSBmaWxlOiB0aGUgcHJlZml4IGhlbHBlcnMgbW92ZWQgdG8gbW9kdWxlIHNjb3BlIGFuZCB3YWxrIHRoZSBzYW1lIG9wdGlvbmFsLXBhcmVudCBjaGFpbi4gKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUErQkEsTUFBTSxnQ0FBZ0M7QUFDdEMsTUFBTSxnQkFBZ0I7QUFDdEIsTUFBTSxpQkFBaUI7QUFLaEIsTUFBTSxhQUFhO0FBa0JuQixNQUFNLHlCQUEwQztBQUFBLEVBQ3JELE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLDZCQUE2QixNQUF1QjtBQUNsRCxZQUFJLENBQUMsa0JBQWtCLElBQUksR0FBRztBQUM1QjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLGVBQWU7QUFDckIsY0FBTSxpQkFBaUIsa0JBQWtCLElBQUk7QUFDN0MsWUFBSSxDQUFDLGdCQUFnQjtBQUNuQjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLGtCQUFrQixhQUFhLE9BQU8sV0FBVztBQUV2RCxtQkFBVyxhQUFhLGFBQWEsUUFBUTtBQUMzQyxnQkFBTSxXQUFXLHNCQUFzQixTQUFTO0FBQ2hELGNBQUksQ0FBQyxVQUFVO0FBQ2I7QUFBQSxVQUNGO0FBRUEsY0FBSSxDQUFDLDhCQUE4QixLQUFLLFNBQVMsSUFBSSxHQUFHO0FBQ3REO0FBQUEsVUFDRjtBQUlBLGdCQUFNLGlC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
@@ -30,4 +30,7 @@ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
30
30
  Message ID reported when a parameter-bag type's name does not match the expected name (prefix and required/optional suffix) for its function or constructor.
31
31
  */
32
32
  export declare const MESSAGE_ID = "paramsOptionsNameMatch";
33
+ /**
34
+ * ESLint rule requiring `*Params`/`*Options` type names to match their owning function or constructor, and to use the suffix that matches the sole-vs-supplementary argument convention.
35
+ */
33
36
  export declare const paramsOptionsNameMatch: Rule.RuleModule;
@@ -177,4 +177,4 @@ function isPromiseResolveWithNoArguments(node) {
177
177
  MESSAGE_ID,
178
178
  preferNoopAsync
179
179
  });
180
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9wcmVmZXItbm9vcC1hc3luYy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiBwcmVmZXItbm9vcC1hc3luY1xuICpcbiAqIFJlcG9ydHMgYGF3YWl0IFByb21pc2UucmVzb2x2ZSgpYCBhbmQgc3VnZ2VzdHMgcmVwbGFjaW5nIGl0IHdpdGhcbiAqIGBhd2FpdCBub29wQXN5bmMoKWAgZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS5cbiAqXG4gKiBgbm9vcEFzeW5jKClgIGZyb20gdGhlIHByb2plY3QncyBgZnVuY3Rpb24udHNgIG1vZHVsZSBpcyB0aGUgY29udmVudGlvbmFsXG4gKiB3YXkgdG8gZXhwcmVzcyBhbiBpbnRlbnRpb25hbCBhc3luYyBuby1vcC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBgUHJvbWlzZS5yZXNvbHZlKClgIGlzIHVzZWQgZm9yIGFuIGFzeW5jIG5vLW9wIGluc3RlYWQgb2YgYG5vb3BBc3luYygpYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncHJlZmVyTm9vcEFzeW5jJztcblxuZXhwb3J0IGNvbnN0IHByZWZlck5vb3BBc3luYzogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICAnQ2FsbEV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWxsTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKCFpc1Byb21pc2VSZXNvbHZlV2l0aE5vQXJndW1lbnRzKGNhbGxOb2RlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBmaXgoZml4ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dChub2RlLCAnbm9vcEFzeW5jKCknKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRCxcbiAgICAgICAgICBub2RlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1ByZWZlciBgbm9vcEFzeW5jKClgIG92ZXIgYFByb21pc2UucmVzb2x2ZSgpYCdcbiAgICB9LFxuICAgIGZpeGFibGU6ICdjb2RlJyxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnVXNlIGBub29wQXN5bmMoKWAgaW5zdGVhZCBvZiBgUHJvbWlzZS5yZXNvbHZlKClgIGZvciBhc3luYyBuby1vcHMuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgZXhwcmVzc2lvbiBpcyBgUHJvbWlzZS5yZXNvbHZlKClgIHdpdGggbm8gYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIGNhbGwgZXhwcmVzc2lvbiBub2RlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBub2RlIGlzIGBQcm9taXNlLnJlc29sdmUoKWAgd2l0aCBubyBhcmd1bWVudHMuXG4gKi9cbmZ1bmN0aW9uIGlzUHJvbWlzZVJlc29sdmVXaXRoTm9Bcmd1bWVudHMobm9kZTogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgaWYgKG5vZGUuYXJndW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjYWxsZWUgPSBub2RlLmNhbGxlZTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICBpZiAoY2FsbGVlLnR5cGUgIT09ICdNZW1iZXJFeHByZXNzaW9uJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChjYWxsZWUub2JqZWN0LnR5cGUgIT09ICdJZGVudGlmaWVyJyB8fCBjYWxsZWUub2JqZWN0Lm5hbWUgIT09ICdQcm9taXNlJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChjYWxsZWUucHJvcGVydHkudHlwZSAhPT0gJ0lkZW50aWZpZXInIHx8IGNhbGxlZS5wcm9wZXJ0eS5uYW1lICE9PSAncmVzb2x2ZScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQk8sTUFBTSxhQUFhO0FBRW5CLE1BQU0sa0JBQW1DO0FBQUEsRUFDOUMsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsaUJBQWlCLE1BQXVCO0FBQ3RDLGNBQU0sV0FBVztBQUVqQixZQUFJLENBQUMsZ0NBQWdDLFFBQVEsR0FBRztBQUM5QztBQUFBLFFBQ0Y7QUFFQSxnQkFBUSxPQUFPO0FBQUEsVUFDYixJQUFJLE9BQU87QUFDVCxtQkFBTyxNQUFNLFlBQVksTUFBTSxhQUFhO0FBQUEsVUFDOUM7QUFBQSxVQUNBLFdBQVc7QUFBQSxVQUNYO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGO0FBUUEsU0FBUyxnQ0FBZ0MsTUFBd0M7QUFDL0UsTUFBSSxLQUFLLFVBQVUsU0FBUyxHQUFHO0FBQzdCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxTQUFTLEtBQUs7QUFHcEIsTUFBSSxPQUFPLFNBQVMsb0JBQW9CO0FBQ3RDLFdBQU87QUFBQSxFQUNUO0FBR0EsTUFBSSxPQUFPLE9BQU8sU0FBUyxnQkFBZ0IsT0FBTyxPQUFPLFNBQVMsV0FBVztBQUMzRSxXQUFPO0FBQUEsRUFDVDtBQUdBLE1BQUksT0FBTyxTQUFTLFNBQVMsZ0JBQWdCLE9BQU8sU0FBUyxTQUFTLFdBQVc7QUFDL0UsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
180
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9wcmVmZXItbm9vcC1hc3luYy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiBwcmVmZXItbm9vcC1hc3luY1xuICpcbiAqIFJlcG9ydHMgYGF3YWl0IFByb21pc2UucmVzb2x2ZSgpYCBhbmQgc3VnZ2VzdHMgcmVwbGFjaW5nIGl0IHdpdGhcbiAqIGBhd2FpdCBub29wQXN5bmMoKWAgZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS5cbiAqXG4gKiBgbm9vcEFzeW5jKClgIGZyb20gdGhlIHByb2plY3QncyBgZnVuY3Rpb24udHNgIG1vZHVsZSBpcyB0aGUgY29udmVudGlvbmFsXG4gKiB3YXkgdG8gZXhwcmVzcyBhbiBpbnRlbnRpb25hbCBhc3luYyBuby1vcC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBgUHJvbWlzZS5yZXNvbHZlKClgIGlzIHVzZWQgZm9yIGFuIGFzeW5jIG5vLW9wIGluc3RlYWQgb2YgYG5vb3BBc3luYygpYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncHJlZmVyTm9vcEFzeW5jJztcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBwcmVmZXJyaW5nIGBub29wQXN5bmMoKWAgb3ZlciBgUHJvbWlzZS5yZXNvbHZlKClgIGZvciBhbiBhc3luYyBuby1vcC5cbiAqL1xuZXhwb3J0IGNvbnN0IHByZWZlck5vb3BBc3luYzogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICAnQ2FsbEV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWxsTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKCFpc1Byb21pc2VSZXNvbHZlV2l0aE5vQXJndW1lbnRzKGNhbGxOb2RlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBmaXgoZml4ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dChub2RlLCAnbm9vcEFzeW5jKCknKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRCxcbiAgICAgICAgICBub2RlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1ByZWZlciBgbm9vcEFzeW5jKClgIG92ZXIgYFByb21pc2UucmVzb2x2ZSgpYCdcbiAgICB9LFxuICAgIGZpeGFibGU6ICdjb2RlJyxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnVXNlIGBub29wQXN5bmMoKWAgaW5zdGVhZCBvZiBgUHJvbWlzZS5yZXNvbHZlKClgIGZvciBhc3luYyBuby1vcHMuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgZXhwcmVzc2lvbiBpcyBgUHJvbWlzZS5yZXNvbHZlKClgIHdpdGggbm8gYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIGNhbGwgZXhwcmVzc2lvbiBub2RlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBub2RlIGlzIGBQcm9taXNlLnJlc29sdmUoKWAgd2l0aCBubyBhcmd1bWVudHMuXG4gKi9cbmZ1bmN0aW9uIGlzUHJvbWlzZVJlc29sdmVXaXRoTm9Bcmd1bWVudHMobm9kZTogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgaWYgKG5vZGUuYXJndW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjYWxsZWUgPSBub2RlLmNhbGxlZTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICBpZiAoY2FsbGVlLnR5cGUgIT09ICdNZW1iZXJFeHByZXNzaW9uJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChjYWxsZWUub2JqZWN0LnR5cGUgIT09ICdJZGVudGlmaWVyJyB8fCBjYWxsZWUub2JqZWN0Lm5hbWUgIT09ICdQcm9taXNlJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChjYWxsZWUucHJvcGVydHkudHlwZSAhPT0gJ0lkZW50aWZpZXInIHx8IGNhbGxlZS5wcm9wZXJ0eS5uYW1lICE9PSAncmVzb2x2ZScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQk8sTUFBTSxhQUFhO0FBS25CLE1BQU0sa0JBQW1DO0FBQUEsRUFDOUMsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsaUJBQWlCLE1BQXVCO0FBQ3RDLGNBQU0sV0FBVztBQUVqQixZQUFJLENBQUMsZ0NBQWdDLFFBQVEsR0FBRztBQUM5QztBQUFBLFFBQ0Y7QUFFQSxnQkFBUSxPQUFPO0FBQUEsVUFDYixJQUFJLE9BQU87QUFDVCxtQkFBTyxNQUFNLFlBQVksTUFBTSxhQUFhO0FBQUEsVUFDOUM7QUFBQSxVQUNBLFdBQVc7QUFBQSxVQUNYO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGO0FBUUEsU0FBUyxnQ0FBZ0MsTUFBd0M7QUFDL0UsTUFBSSxLQUFLLFVBQVUsU0FBUyxHQUFHO0FBQzdCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxTQUFTLEtBQUs7QUFHcEIsTUFBSSxPQUFPLFNBQVMsb0JBQW9CO0FBQ3RDLFdBQU87QUFBQSxFQUNUO0FBR0EsTUFBSSxPQUFPLE9BQU8sU0FBUyxnQkFBZ0IsT0FBTyxPQUFPLFNBQVMsV0FBVztBQUMzRSxXQUFPO0FBQUEsRUFDVDtBQUdBLE1BQUksT0FBTyxTQUFTLFNBQVMsZ0JBQWdCLE9BQU8sU0FBUyxTQUFTLFdBQVc7QUFDL0UsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -4,4 +4,7 @@ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
4
4
  Message ID reported when `Promise.resolve()` is used for an async no-op instead of `noopAsync()`.
5
5
  */
6
6
  export declare const MESSAGE_ID = "preferNoopAsync";
7
+ /**
8
+ * ESLint rule preferring `noopAsync()` over `Promise.resolve()` for an async no-op.
9
+ */
7
10
  export declare const preferNoopAsync: Rule.RuleModule;
@@ -165,4 +165,4 @@ function reportNonReadonly($context, node) {
165
165
  MESSAGE_ID,
166
166
  readonlyParamsOptionsResultMembers
167
167
  });
168
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZWFkb25seS1wYXJhbXMtb3B0aW9ucy1yZXN1bHQtbWVtYmVycy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiByZWFkb25seS1wYXJhbXMtb3B0aW9ucy1yZXN1bHQtbWVtYmVyc1xuICpcbiAqIFJlcG9ydHMgYW4gZXJyb3Igd2hlbiBhbiBpbnRlcmZhY2Ugb3IgdHlwZSBhbGlhcyB3aG9zZSBuYW1lIGVuZHMgd2l0aFxuICogYFBhcmFtc2AsIGBPcHRpb25zYCwgb3IgYFJlc3VsdGAgaGFzIGEgcHJvcGVydHkgc2lnbmF0dXJlIHRoYXQgaXMgbm90XG4gKiBgcmVhZG9ubHlgLiBQYXJhbWV0ZXIvb3B0aW9ucy9yZXN1bHQgYmFncyBzaG91bGQgYmUgaW1tdXRhYmxlIFx1MjAxNCBjYWxsZXJzXG4gKiBzaG91bGQgbmV2ZXIgbXV0YXRlIHRoZSBvYmplY3QgdGhleSByZWNlaXZlZC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgbWVtYmVyIG9mIGEgYCpQYXJhbXNgL2AqT3B0aW9uc2AvYCpSZXN1bHRgIGludGVyZmFjZSBpcyBub3QgZGVjbGFyZWQgYHJlYWRvbmx5YC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncmVhZG9ubHlQYXJhbXNPcHRpb25zUmVzdWx0TWVtYmVycyc7XG5cbmludGVyZmFjZSBQcm9wZXJ0eVNpZ25hdHVyZU5vZGUge1xuICByZWFkb25seSBrZXk6IFJ1bGUuTm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlYWRvbmx5UGFyYW1zT3B0aW9uc1Jlc3VsdE1lbWJlcnM6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb25baWQubmFtZT0vKD86UGFyYW1zfE9wdGlvbnN8UmVzdWx0KSQvXSBUU1Byb3BlcnR5U2lnbmF0dXJlW3JlYWRvbmx5PWZhbHNlXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIHJlcG9ydE5vblJlYWRvbmx5KGNvbnRleHQsIG5vZGUpO1xuICAgICAgfSxcbiAgICAgICdUU1R5cGVBbGlhc0RlY2xhcmF0aW9uW2lkLm5hbWU9Lyg/OlBhcmFtc3xPcHRpb25zfFJlc3VsdCkkL10gVFNQcm9wZXJ0eVNpZ25hdHVyZVtyZWFkb25seT1mYWxzZV0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICByZXBvcnROb25SZWFkb25seShjb250ZXh0LCBub2RlKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGFsbCBwcm9wZXJ0aWVzIGluIGAqUGFyYW1zYCwgYCpPcHRpb25zYCwgYW5kIGAqUmVzdWx0YCBpbnRlcmZhY2VzIHRvIGJlIGByZWFkb25seWAnXG4gICAgfSxcbiAgICBmaXhhYmxlOiAnY29kZScsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ1Byb3BlcnR5IG11c3QgYmUgYHJlYWRvbmx5YC4gUGFyYW1zL09wdGlvbnMvUmVzdWx0IGludGVyZmFjZXMgc2hvdWxkIGJlIGltbXV0YWJsZS4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdzdWdnZXN0aW9uJ1xuICB9XG59O1xuXG5mdW5jdGlvbiByZXBvcnROb25SZWFkb25seSgkY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCwgbm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gIGNvbnN0IHByb3BlcnR5Tm9kZSA9IG5vZGUgYXMgUGFydGlhbDxQcm9wZXJ0eVNpZ25hdHVyZU5vZGU+O1xuICAkY29udGV4dC5yZXBvcnQoe1xuICAgIGZpeChmaXhlcikge1xuICAgICAgcmV0dXJuIGZpeGVyLmluc2VydFRleHRCZWZvcmUoZW5zdXJlTm9uTnVsbGFibGUocHJvcGVydHlOb2RlLmtleSksICdyZWFkb25seSAnKTtcbiAgICB9LFxuICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRCxcbiAgICBub2RlXG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLHlCQUFrQztBQUszQixNQUFNLGFBQWE7QUFNbkIsTUFBTSxxQ0FBc0Q7QUFBQSxFQUNqRSxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxtR0FBbUcsTUFBdUI7QUFDeEgsMEJBQWtCLFNBQVMsSUFBSTtBQUFBLE1BQ2pDO0FBQUEsTUFDQSxtR0FBbUcsTUFBdUI7QUFDeEgsMEJBQWtCLFNBQVMsSUFBSTtBQUFBLE1BQ2pDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLFVBQVUsR0FBRztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7QUFFQSxTQUFTLGtCQUFrQixVQUE0QixNQUF1QjtBQUM1RSxRQUFNLGVBQWU7QUFDckIsV0FBUyxPQUFPO0FBQUEsSUFDZCxJQUFJLE9BQU87QUFDVCxhQUFPLE1BQU0scUJBQWlCLHNDQUFrQixhQUFhLEdBQUcsR0FBRyxXQUFXO0FBQUEsSUFDaEY7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
168
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZWFkb25seS1wYXJhbXMtb3B0aW9ucy1yZXN1bHQtbWVtYmVycy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiByZWFkb25seS1wYXJhbXMtb3B0aW9ucy1yZXN1bHQtbWVtYmVyc1xuICpcbiAqIFJlcG9ydHMgYW4gZXJyb3Igd2hlbiBhbiBpbnRlcmZhY2Ugb3IgdHlwZSBhbGlhcyB3aG9zZSBuYW1lIGVuZHMgd2l0aFxuICogYFBhcmFtc2AsIGBPcHRpb25zYCwgb3IgYFJlc3VsdGAgaGFzIGEgcHJvcGVydHkgc2lnbmF0dXJlIHRoYXQgaXMgbm90XG4gKiBgcmVhZG9ubHlgLiBQYXJhbWV0ZXIvb3B0aW9ucy9yZXN1bHQgYmFncyBzaG91bGQgYmUgaW1tdXRhYmxlIFx1MjAxNCBjYWxsZXJzXG4gKiBzaG91bGQgbmV2ZXIgbXV0YXRlIHRoZSBvYmplY3QgdGhleSByZWNlaXZlZC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgbWVtYmVyIG9mIGEgYCpQYXJhbXNgL2AqT3B0aW9uc2AvYCpSZXN1bHRgIGludGVyZmFjZSBpcyBub3QgZGVjbGFyZWQgYHJlYWRvbmx5YC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncmVhZG9ubHlQYXJhbXNPcHRpb25zUmVzdWx0TWVtYmVycyc7XG5cbmludGVyZmFjZSBQcm9wZXJ0eVNpZ25hdHVyZU5vZGUge1xuICByZWFkb25seSBrZXk6IFJ1bGUuTm9kZTtcbn1cblxuLyoqXG4gKiBFU0xpbnQgcnVsZSByZXF1aXJpbmcgZXZlcnkgcHJvcGVydHkgb2YgYSBgKlBhcmFtc2AsIGAqT3B0aW9uc2AsIG9yIGAqUmVzdWx0YCBpbnRlcmZhY2UgdG8gYmUgYHJlYWRvbmx5YC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlYWRvbmx5UGFyYW1zT3B0aW9uc1Jlc3VsdE1lbWJlcnM6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ1RTSW50ZXJmYWNlRGVjbGFyYXRpb25baWQubmFtZT0vKD86UGFyYW1zfE9wdGlvbnN8UmVzdWx0KSQvXSBUU1Byb3BlcnR5U2lnbmF0dXJlW3JlYWRvbmx5PWZhbHNlXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIHJlcG9ydE5vblJlYWRvbmx5KGNvbnRleHQsIG5vZGUpO1xuICAgICAgfSxcbiAgICAgICdUU1R5cGVBbGlhc0RlY2xhcmF0aW9uW2lkLm5hbWU9Lyg/OlBhcmFtc3xPcHRpb25zfFJlc3VsdCkkL10gVFNQcm9wZXJ0eVNpZ25hdHVyZVtyZWFkb25seT1mYWxzZV0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICByZXBvcnROb25SZWFkb25seShjb250ZXh0LCBub2RlKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGFsbCBwcm9wZXJ0aWVzIGluIGAqUGFyYW1zYCwgYCpPcHRpb25zYCwgYW5kIGAqUmVzdWx0YCBpbnRlcmZhY2VzIHRvIGJlIGByZWFkb25seWAnXG4gICAgfSxcbiAgICBmaXhhYmxlOiAnY29kZScsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ1Byb3BlcnR5IG11c3QgYmUgYHJlYWRvbmx5YC4gUGFyYW1zL09wdGlvbnMvUmVzdWx0IGludGVyZmFjZXMgc2hvdWxkIGJlIGltbXV0YWJsZS4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdzdWdnZXN0aW9uJ1xuICB9XG59O1xuXG5mdW5jdGlvbiByZXBvcnROb25SZWFkb25seSgkY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCwgbm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gIGNvbnN0IHByb3BlcnR5Tm9kZSA9IG5vZGUgYXMgUGFydGlhbDxQcm9wZXJ0eVNpZ25hdHVyZU5vZGU+O1xuICAkY29udGV4dC5yZXBvcnQoe1xuICAgIGZpeChmaXhlcikge1xuICAgICAgcmV0dXJuIGZpeGVyLmluc2VydFRleHRCZWZvcmUoZW5zdXJlTm9uTnVsbGFibGUocHJvcGVydHlOb2RlLmtleSksICdyZWFkb25seSAnKTtcbiAgICB9LFxuICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRCxcbiAgICBub2RlXG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLHlCQUFrQztBQUszQixNQUFNLGFBQWE7QUFTbkIsTUFBTSxxQ0FBc0Q7QUFBQSxFQUNqRSxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxtR0FBbUcsTUFBdUI7QUFDeEgsMEJBQWtCLFNBQVMsSUFBSTtBQUFBLE1BQ2pDO0FBQUEsTUFDQSxtR0FBbUcsTUFBdUI7QUFDeEgsMEJBQWtCLFNBQVMsSUFBSTtBQUFBLE1BQ2pDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLFVBQVUsR0FBRztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7QUFFQSxTQUFTLGtCQUFrQixVQUE0QixNQUF1QjtBQUM1RSxRQUFNLGVBQWU7QUFDckIsV0FBUyxPQUFPO0FBQUEsSUFDZCxJQUFJLE9BQU87QUFDVCxhQUFPLE1BQU0scUJBQWlCLHNDQUFrQixhQUFhLEdBQUcsR0FBRyxXQUFXO0FBQUEsSUFDaEY7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -14,4 +14,7 @@ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
14
14
  Message ID reported when a member of a `*Params`/`*Options`/`*Result` interface is not declared `readonly`.
15
15
  */
16
16
  export declare const MESSAGE_ID = "readonlyParamsOptionsResultMembers";
17
+ /**
18
+ * ESLint rule requiring every property of a `*Params`, `*Options`, or `*Result` interface to be `readonly`.
19
+ */
17
20
  export declare const readonlyParamsOptionsResultMembers: Rule.RuleModule;
@@ -255,4 +255,4 @@ function reportClass(params) {
255
255
  MESSAGE_ID_MISSING_SUFFIX,
256
256
  requireComponentSuffix
257
257
  });
258
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcmVxdWlyZS1jb21wb25lbnQtc3VmZml4XG4gKlxuICogUmVwb3J0cyBhbiBlcnJvciB3aGVuIGEgY2xhc3MgdGhhdCBleHRlbmRzIGBDb21wb25lbnRgIChmcm9tIE9ic2lkaWFuLFxuICogZGlyZWN0bHkgb3IgdHJhbnNpdGl2ZWx5KSBkb2VzIG5vdCBoYXZlIGEgbmFtZSBlbmRpbmcgd2l0aCBgQ29tcG9uZW50YFxuICogKG9yIGBDb21wb25lbnRCYXNlYCBmb3IgYWJzdHJhY3QgYmFzZSBjbGFzc2VzKS5cbiAqXG4gKiBDbGFzc2VzIHdob3NlIGluaGVyaXRhbmNlIGNoYWluIGluY2x1ZGVzIGFueSBvZiB0aGUgT2JzaWRpYW4gZnJhbWV3b3JrXG4gKiBjbGFzc2VzIHRoYXQgZXh0ZW5kIGBDb21wb25lbnRgIChlLmcuIGBQbHVnaW5gLCBgVmlld2AsXG4gKiBgTWFya2Rvd25SZW5kZXJDaGlsZGAsIGBNZW51YCwgYEhvdmVyUG9wb3ZlcmAsIGBRdWVyeUNvbnRyb2xsZXJgKVxuICogYXJlIGV4Y2x1ZGVkIGJlY2F1c2UgdGhleSBmb2xsb3cgT2JzaWRpYW4ncyBvd24gbmFtaW5nIGNvbnZlbnRpb25zLlxuICpcbiAqIFRoZSBydWxlIHVzZXMgdGhlIFR5cGVTY3JpcHQgdHlwZSBjaGVja2VyIHRvIHdhbGsgdGhlIGZ1bGwgaW5oZXJpdGFuY2VcbiAqIGNoYWluLCBzbyBpdCB3b3JrcyByZWdhcmRsZXNzIG9mIGhvdyBtYW55IGludGVybWVkaWF0ZSBjbGFzc2VzIHNpdFxuICogYmV0d2VlbiB0aGUgdXNlcidzIGNsYXNzIGFuZCBgQ29tcG9uZW50YC5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBUeXBlIH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgY2xhc3MgZXh0ZW5kcyBgQ29tcG9uZW50YCBidXQgaXRzIG5hbWUgZG9lcyBub3QgZW5kIHdpdGggYENvbXBvbmVudGAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYID0gJ3JlcXVpcmVDb21wb25lbnRTdWZmaXgnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhYnN0cmFjdCBjbGFzcyBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0UgPSAnYWJzdHJhY3ROZWVkc0NvbXBvbmVudEJhc2UnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIGNsYXNzIG5hbWUgZW5kcyB3aXRoIGBDb21wb25lbnRCYXNlYCBidXQgdGhlIGNsYXNzIGlzIG5vdCBhYnN0cmFjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QgPSAnY29tcG9uZW50QmFzZU5vdEFic3RyYWN0JztcblxuLyoqXG5BbmNlc3RvciBjbGFzcyBuYW1lcyB0aGF0IG9wdCBhIHN1YnRyZWUgb3V0IG9mIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IEVYQ0xVREVEX0FOQ0VTVE9SUyA9IG5ldyBTZXQoWydIb3ZlclBvcG92ZXInLCAnTWFya2Rvd25SZW5kZXJDaGlsZCcsICdNZW51JywgJ1BsdWdpbicsICdRdWVyeUNvbnRyb2xsZXInLCAnVmlldyddKTtcblxuLyoqXG5UaGUgYW5jZXN0b3IgY2xhc3MgbmFtZSB0aGF0IHRyaWdnZXJzIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IFJFUVVJUkVEX0FOQ0VTVE9SID0gJ0NvbXBvbmVudCc7XG5cbmludGVyZmFjZSBUeXBlV2l0aEJhc2VUeXBlcyB7XG4gIGdldEJhc2VUeXBlcz8oKTogVHlwZVtdIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY29uc3QgcmVxdWlyZUNvbXBvbmVudFN1ZmZpeDogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHNlcnZpY2VzID0gY29udGV4dC5zb3VyY2VDb2RlLnBhcnNlclNlcnZpY2VzIGFzIFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbjtcbiAgICBjb25zdCBjaGVja2VyID0gc2VydmljZXMucHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdDbGFzc0RlY2xhcmF0aW9uW2lkXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIHJlcG9ydENsYXNzKHtcbiAgICAgICAgICBjaGVja2VyLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBzZXJ2aWNlc1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAnQ2xhc3NFeHByZXNzaW9uW2lkXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIHJlcG9ydENsYXNzKHtcbiAgICAgICAgICBjaGVja2VyLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBzZXJ2aWNlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGNsYXNzZXMgZXh0ZW5kaW5nIGBDb21wb25lbnRgIHRvIGhhdmUgbmFtZXMgZW5kaW5nIHdpdGggYENvbXBvbmVudGAnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRV06ICdBYnN0cmFjdCBjbGFzcyBge3sgY2xhc3NOYW1lIH19YCBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0JBU0VfTk9UX0FCU1RSQUNUXTogJ0NsYXNzIGB7eyBjbGFzc05hbWUgfX1gIGVuZHMgd2l0aCBgQ29tcG9uZW50QmFzZWAgYnV0IGlzIG5vdCBhYnN0cmFjdC4gT25seSBhYnN0cmFjdCBjbGFzc2VzIG1heSB1c2UgdGhlIGBDb21wb25lbnRCYXNlYCBzdWZmaXguJyxcbiAgICAgIFtNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYXTogJ0NsYXNzIGB7eyBjbGFzc05hbWUgfX1gIGV4dGVuZHMgYENvbXBvbmVudGAgYnV0IGl0cyBuYW1lIGRvZXMgbm90IGVuZCB3aXRoIGBDb21wb25lbnRgLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3Byb2JsZW0nXG4gIH1cbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlcG9ydENsYXNzfS5cbiAqL1xuaW50ZXJmYWNlIFJlcG9ydENsYXNzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrZXI6IFJldHVyblR5cGU8UGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uWydwcm9ncmFtJ11bJ2dldFR5cGVDaGVja2VyJ10+O1xuXG4gIC8qKlxuICAgKiBUaGUgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGFzcyBBU1Qgbm9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vZGU6IFJ1bGUuTm9kZTtcblxuICAvKipcbiAgICogVGhlIHBhcnNlciBzZXJ2aWNlcyB3aXRoIHR5cGUgaW5mb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlczogUGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayB3YWxrQW5jZXN0b3JzfS5cbiAqL1xuaW50ZXJmYWNlIFdhbGtBbmNlc3RvcnNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHNldCB0byBhZGQgZGlzY292ZXJlZCBhbmNlc3RvciBuYW1lcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNvbGxlY3RlZE5hbWVzOiBTZXQ8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdHlwZSB0byBpbnNwZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFR5cGU6IFR5cGU7XG5cbiAgLyoqXG4gICAqIFR5cGVzIGFscmVhZHkgdmlzaXRlZCwgdG8gcHJldmVudCBpbmZpbml0ZSBsb29wcy5cbiAgICovXG4gIHJlYWRvbmx5IHZpc2l0ZWRUeXBlczogU2V0PFR5cGU+O1xufVxuXG4vKipcbiAqIENvbGxlY3RzIHRoZSBuYW1lcyBvZiBhbGwgYW5jZXN0b3IgdHlwZXMgaW4gdGhlIGluaGVyaXRhbmNlIGNoYWluLlxuICpcbiAqIEBwYXJhbSB0eXBlIC0gVGhlIFR5cGVTY3JpcHQgdHlwZSB0byBzdGFydCBmcm9tLlxuICogQHJldHVybnMgQSBzZXQgb2YgYW5jZXN0b3IgY2xhc3MgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGNvbGxlY3RBbmNlc3Rvck5hbWVzKHR5cGU6IFR5cGUpOiBTZXQ8c3RyaW5nPiB7XG4gIGNvbnN0IG5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0PFR5cGU+KCk7XG5cbiAgd2Fsa0FuY2VzdG9ycyh7XG4gICAgY29sbGVjdGVkTmFtZXM6IG5hbWVzLFxuICAgIGN1cnJlbnRUeXBlOiB0eXBlLFxuICAgIHZpc2l0ZWRUeXBlczogdmlzaXRlZFxuICB9KTtcblxuICByZXR1cm4gbmFtZXM7XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBiYXNlIHR5cGVzIG9mIGEgdHlwZSwgY29sbGVjdGluZyB0aGVpciBuYW1lcy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgd2Fsay5cbiAgICovXG4gIGZ1bmN0aW9uIHdhbGtBbmNlc3RvcnMocGFyYW1zOiBXYWxrQW5jZXN0b3JzUGFyYW1zKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb2xsZWN0ZWROYW1lcywgY3VycmVudFR5cGUsIHZpc2l0ZWRUeXBlcyB9ID0gcGFyYW1zO1xuICAgIGlmICh2aXNpdGVkVHlwZXMuaGFzKGN1cnJlbnRUeXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZpc2l0ZWRUeXBlcy5hZGQoY3VycmVudFR5cGUpO1xuXG4gICAgY29uc3QgYmFzZVR5cGVzID0gKGN1cnJlbnRUeXBlIGFzIFR5cGVXaXRoQmFzZVR5cGVzKS5nZXRCYXNlVHlwZXM/LigpO1xuXG4gICAgaWYgKCFiYXNlVHlwZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGJhc2VUeXBlIG9mIGJhc2VUeXBlcykge1xuICAgICAgY29uc3QgJHN5bWJvbCA9IGJhc2VUeXBlLmdldFN5bWJvbCgpO1xuXG4gICAgICBpZiAoJHN5bWJvbCkge1xuICAgICAgICBjb2xsZWN0ZWROYW1lcy5hZGQoJHN5bWJvbC5nZXROYW1lKCkpO1xuICAgICAgfVxuXG4gICAgICB3YWxrQW5jZXN0b3JzKHtcbiAgICAgICAgY29sbGVjdGVkTmFtZXMsXG4gICAgICAgIGN1cnJlbnRUeXBlOiBiYXNlVHlwZSxcbiAgICAgICAgdmlzaXRlZFR5cGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3MgYSBzaW5nbGUgY2xhc3MgZGVjbGFyYXRpb24gb3IgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjaGVjay5cbiAqL1xuZnVuY3Rpb24gcmVwb3J0Q2xhc3MocGFyYW1zOiBSZXBvcnRDbGFzc1BhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGNoZWNrZXIsIGNvbnRleHQsIG5vZGUsIHNlcnZpY2VzIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGNsYXNzTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2xhc3NEZWNsYXJhdGlvbiB8IFRTRVNUcmVlLkNsYXNzRXhwcmVzc2lvbjtcbiAgY29uc3QgY2xhc3NJZCA9IGNsYXNzTm9kZS5pZDtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gRVNMaW50IHNlbGVjdG9yIGBbaWRdYCBndWFyYW50ZWVzIGNsYXNzSWQgaXMgcHJlc2VudC4gKi9cbiAgaWYgKCFjbGFzc0lkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG5cbiAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NJZC5uYW1lO1xuICBjb25zdCB7IGFic3RyYWN0OiBpc0Fic3RyYWN0IH0gPSBjbGFzc05vZGU7XG4gIGNvbnN0IGhhc0NvbXBvbmVudEJhc2VTdWZmaXggPSBjbGFzc05hbWUuZW5kc1dpdGgoJ0NvbXBvbmVudEJhc2UnKTtcbiAgY29uc3QgaGFzQ29tcG9uZW50U3VmZml4ID0gIWhhc0NvbXBvbmVudEJhc2VTdWZmaXggJiYgY2xhc3NOYW1lLmVuZHNXaXRoKCdDb21wb25lbnQnKTtcblxuICAvLyBDb3JyZWN0OiBub24tYWJzdHJhY3QgZW5kaW5nIHdpdGggQ29tcG9uZW50XG4gIGlmIChoYXNDb21wb25lbnRTdWZmaXggJiYgIWlzQWJzdHJhY3QpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBDb3JyZWN0OiBhYnN0cmFjdCBlbmRpbmcgd2l0aCBDb21wb25lbnRCYXNlXG4gIGlmIChoYXNDb21wb25lbnRCYXNlU3VmZml4ICYmIGlzQWJzdHJhY3QpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB0c05vZGUgPSBzZXJ2aWNlcy5lc1RyZWVOb2RlVG9UU05vZGVNYXAuZ2V0KGNsYXNzTm9kZSk7XG4gIGNvbnN0IGNsYXNzVHlwZSA9IGNoZWNrZXIuZ2V0VHlwZUF0TG9jYXRpb24odHNOb2RlKTtcbiAgY29uc3QgYW5jZXN0b3JzID0gY29sbGVjdEFuY2VzdG9yTmFtZXMoY2xhc3NUeXBlKTtcblxuICBpZiAoIWFuY2VzdG9ycy5oYXMoUkVRVUlSRURfQU5DRVNUT1IpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBleGNsdWRlZCBvZiBFWENMVURFRF9BTkNFU1RPUlMpIHtcbiAgICBpZiAoYW5jZXN0b3JzLmhhcyhleGNsdWRlZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzQ29tcG9uZW50QmFzZVN1ZmZpeCAmJiAhaXNBYnN0cmFjdCkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgY2xhc3NOYW1lIH0sXG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QsXG4gICAgICBub2RlXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoaXNBYnN0cmFjdCkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgY2xhc3NOYW1lIH0sXG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRSxcbiAgICAgIG5vZGVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYLFxuICAgICAgbm9kZVxuICAgIH0pO1xuICB9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
258
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcmVxdWlyZS1jb21wb25lbnQtc3VmZml4XG4gKlxuICogUmVwb3J0cyBhbiBlcnJvciB3aGVuIGEgY2xhc3MgdGhhdCBleHRlbmRzIGBDb21wb25lbnRgIChmcm9tIE9ic2lkaWFuLFxuICogZGlyZWN0bHkgb3IgdHJhbnNpdGl2ZWx5KSBkb2VzIG5vdCBoYXZlIGEgbmFtZSBlbmRpbmcgd2l0aCBgQ29tcG9uZW50YFxuICogKG9yIGBDb21wb25lbnRCYXNlYCBmb3IgYWJzdHJhY3QgYmFzZSBjbGFzc2VzKS5cbiAqXG4gKiBDbGFzc2VzIHdob3NlIGluaGVyaXRhbmNlIGNoYWluIGluY2x1ZGVzIGFueSBvZiB0aGUgT2JzaWRpYW4gZnJhbWV3b3JrXG4gKiBjbGFzc2VzIHRoYXQgZXh0ZW5kIGBDb21wb25lbnRgIChlLmcuIGBQbHVnaW5gLCBgVmlld2AsXG4gKiBgTWFya2Rvd25SZW5kZXJDaGlsZGAsIGBNZW51YCwgYEhvdmVyUG9wb3ZlcmAsIGBRdWVyeUNvbnRyb2xsZXJgKVxuICogYXJlIGV4Y2x1ZGVkIGJlY2F1c2UgdGhleSBmb2xsb3cgT2JzaWRpYW4ncyBvd24gbmFtaW5nIGNvbnZlbnRpb25zLlxuICpcbiAqIFRoZSBydWxlIHVzZXMgdGhlIFR5cGVTY3JpcHQgdHlwZSBjaGVja2VyIHRvIHdhbGsgdGhlIGZ1bGwgaW5oZXJpdGFuY2VcbiAqIGNoYWluLCBzbyBpdCB3b3JrcyByZWdhcmRsZXNzIG9mIGhvdyBtYW55IGludGVybWVkaWF0ZSBjbGFzc2VzIHNpdFxuICogYmV0d2VlbiB0aGUgdXNlcidzIGNsYXNzIGFuZCBgQ29tcG9uZW50YC5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBUeXBlIH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgY2xhc3MgZXh0ZW5kcyBgQ29tcG9uZW50YCBidXQgaXRzIG5hbWUgZG9lcyBub3QgZW5kIHdpdGggYENvbXBvbmVudGAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYID0gJ3JlcXVpcmVDb21wb25lbnRTdWZmaXgnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhYnN0cmFjdCBjbGFzcyBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0UgPSAnYWJzdHJhY3ROZWVkc0NvbXBvbmVudEJhc2UnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIGNsYXNzIG5hbWUgZW5kcyB3aXRoIGBDb21wb25lbnRCYXNlYCBidXQgdGhlIGNsYXNzIGlzIG5vdCBhYnN0cmFjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QgPSAnY29tcG9uZW50QmFzZU5vdEFic3RyYWN0JztcblxuLyoqXG5BbmNlc3RvciBjbGFzcyBuYW1lcyB0aGF0IG9wdCBhIHN1YnRyZWUgb3V0IG9mIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IEVYQ0xVREVEX0FOQ0VTVE9SUyA9IG5ldyBTZXQoWydIb3ZlclBvcG92ZXInLCAnTWFya2Rvd25SZW5kZXJDaGlsZCcsICdNZW51JywgJ1BsdWdpbicsICdRdWVyeUNvbnRyb2xsZXInLCAnVmlldyddKTtcblxuLyoqXG5UaGUgYW5jZXN0b3IgY2xhc3MgbmFtZSB0aGF0IHRyaWdnZXJzIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IFJFUVVJUkVEX0FOQ0VTVE9SID0gJ0NvbXBvbmVudCc7XG5cbmludGVyZmFjZSBUeXBlV2l0aEJhc2VUeXBlcyB7XG4gIGdldEJhc2VUeXBlcz8oKTogVHlwZVtdIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEVTTGludCBydWxlIHJlcXVpcmluZyBjbGFzc2VzIHRoYXQgZXh0ZW5kIGBDb21wb25lbnRgIHRvIGJlIG5hbWVkIHdpdGggYSBgQ29tcG9uZW50YCBzdWZmaXgsIGFuZCBhYnN0cmFjdCBvbmVzIHdpdGggYSBgQ29tcG9uZW50QmFzZWAgc3VmZml4LlxuICovXG5leHBvcnQgY29uc3QgcmVxdWlyZUNvbXBvbmVudFN1ZmZpeDogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHNlcnZpY2VzID0gY29udGV4dC5zb3VyY2VDb2RlLnBhcnNlclNlcnZpY2VzIGFzIFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbjtcbiAgICBjb25zdCBjaGVja2VyID0gc2VydmljZXMucHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdDbGFzc0RlY2xhcmF0aW9uW2lkXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIHJlcG9ydENsYXNzKHtcbiAgICAgICAgICBjaGVja2VyLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBzZXJ2aWNlc1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAnQ2xhc3NFeHByZXNzaW9uW2lkXScobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIHJlcG9ydENsYXNzKHtcbiAgICAgICAgICBjaGVja2VyLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBzZXJ2aWNlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGNsYXNzZXMgZXh0ZW5kaW5nIGBDb21wb25lbnRgIHRvIGhhdmUgbmFtZXMgZW5kaW5nIHdpdGggYENvbXBvbmVudGAnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRV06ICdBYnN0cmFjdCBjbGFzcyBge3sgY2xhc3NOYW1lIH19YCBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0JBU0VfTk9UX0FCU1RSQUNUXTogJ0NsYXNzIGB7eyBjbGFzc05hbWUgfX1gIGVuZHMgd2l0aCBgQ29tcG9uZW50QmFzZWAgYnV0IGlzIG5vdCBhYnN0cmFjdC4gT25seSBhYnN0cmFjdCBjbGFzc2VzIG1heSB1c2UgdGhlIGBDb21wb25lbnRCYXNlYCBzdWZmaXguJyxcbiAgICAgIFtNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYXTogJ0NsYXNzIGB7eyBjbGFzc05hbWUgfX1gIGV4dGVuZHMgYENvbXBvbmVudGAgYnV0IGl0cyBuYW1lIGRvZXMgbm90IGVuZCB3aXRoIGBDb21wb25lbnRgLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3Byb2JsZW0nXG4gIH1cbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlcG9ydENsYXNzfS5cbiAqL1xuaW50ZXJmYWNlIFJlcG9ydENsYXNzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrZXI6IFJldHVyblR5cGU8UGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uWydwcm9ncmFtJ11bJ2dldFR5cGVDaGVja2VyJ10+O1xuXG4gIC8qKlxuICAgKiBUaGUgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGFzcyBBU1Qgbm9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vZGU6IFJ1bGUuTm9kZTtcblxuICAvKipcbiAgICogVGhlIHBhcnNlciBzZXJ2aWNlcyB3aXRoIHR5cGUgaW5mb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlczogUGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayB3YWxrQW5jZXN0b3JzfS5cbiAqL1xuaW50ZXJmYWNlIFdhbGtBbmNlc3RvcnNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHNldCB0byBhZGQgZGlzY292ZXJlZCBhbmNlc3RvciBuYW1lcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNvbGxlY3RlZE5hbWVzOiBTZXQ8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdHlwZSB0byBpbnNwZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFR5cGU6IFR5cGU7XG5cbiAgLyoqXG4gICAqIFR5cGVzIGFscmVhZHkgdmlzaXRlZCwgdG8gcHJldmVudCBpbmZpbml0ZSBsb29wcy5cbiAgICovXG4gIHJlYWRvbmx5IHZpc2l0ZWRUeXBlczogU2V0PFR5cGU+O1xufVxuXG4vKipcbiAqIENvbGxlY3RzIHRoZSBuYW1lcyBvZiBhbGwgYW5jZXN0b3IgdHlwZXMgaW4gdGhlIGluaGVyaXRhbmNlIGNoYWluLlxuICpcbiAqIEBwYXJhbSB0eXBlIC0gVGhlIFR5cGVTY3JpcHQgdHlwZSB0byBzdGFydCBmcm9tLlxuICogQHJldHVybnMgQSBzZXQgb2YgYW5jZXN0b3IgY2xhc3MgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGNvbGxlY3RBbmNlc3Rvck5hbWVzKHR5cGU6IFR5cGUpOiBTZXQ8c3RyaW5nPiB7XG4gIGNvbnN0IG5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0PFR5cGU+KCk7XG5cbiAgd2Fsa0FuY2VzdG9ycyh7XG4gICAgY29sbGVjdGVkTmFtZXM6IG5hbWVzLFxuICAgIGN1cnJlbnRUeXBlOiB0eXBlLFxuICAgIHZpc2l0ZWRUeXBlczogdmlzaXRlZFxuICB9KTtcblxuICByZXR1cm4gbmFtZXM7XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBiYXNlIHR5cGVzIG9mIGEgdHlwZSwgY29sbGVjdGluZyB0aGVpciBuYW1lcy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgd2Fsay5cbiAgICovXG4gIGZ1bmN0aW9uIHdhbGtBbmNlc3RvcnMocGFyYW1zOiBXYWxrQW5jZXN0b3JzUGFyYW1zKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb2xsZWN0ZWROYW1lcywgY3VycmVudFR5cGUsIHZpc2l0ZWRUeXBlcyB9ID0gcGFyYW1zO1xuICAgIGlmICh2aXNpdGVkVHlwZXMuaGFzKGN1cnJlbnRUeXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZpc2l0ZWRUeXBlcy5hZGQoY3VycmVudFR5cGUpO1xuXG4gICAgY29uc3QgYmFzZVR5cGVzID0gKGN1cnJlbnRUeXBlIGFzIFR5cGVXaXRoQmFzZVR5cGVzKS5nZXRCYXNlVHlwZXM/LigpO1xuXG4gICAgaWYgKCFiYXNlVHlwZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGJhc2VUeXBlIG9mIGJhc2VUeXBlcykge1xuICAgICAgY29uc3QgJHN5bWJvbCA9IGJhc2VUeXBlLmdldFN5bWJvbCgpO1xuXG4gICAgICBpZiAoJHN5bWJvbCkge1xuICAgICAgICBjb2xsZWN0ZWROYW1lcy5hZGQoJHN5bWJvbC5nZXROYW1lKCkpO1xuICAgICAgfVxuXG4gICAgICB3YWxrQW5jZXN0b3JzKHtcbiAgICAgICAgY29sbGVjdGVkTmFtZXMsXG4gICAgICAgIGN1cnJlbnRUeXBlOiBiYXNlVHlwZSxcbiAgICAgICAgdmlzaXRlZFR5cGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3MgYSBzaW5nbGUgY2xhc3MgZGVjbGFyYXRpb24gb3IgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjaGVjay5cbiAqL1xuZnVuY3Rpb24gcmVwb3J0Q2xhc3MocGFyYW1zOiBSZXBvcnRDbGFzc1BhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGNoZWNrZXIsIGNvbnRleHQsIG5vZGUsIHNlcnZpY2VzIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGNsYXNzTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2xhc3NEZWNsYXJhdGlvbiB8IFRTRVNUcmVlLkNsYXNzRXhwcmVzc2lvbjtcbiAgY29uc3QgY2xhc3NJZCA9IGNsYXNzTm9kZS5pZDtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gRVNMaW50IHNlbGVjdG9yIGBbaWRdYCBndWFyYW50ZWVzIGNsYXNzSWQgaXMgcHJlc2VudC4gKi9cbiAgaWYgKCFjbGFzc0lkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG5cbiAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NJZC5uYW1lO1xuICBjb25zdCB7IGFic3RyYWN0OiBpc0Fic3RyYWN0IH0gPSBjbGFzc05vZGU7XG4gIGNvbnN0IGhhc0NvbXBvbmVudEJhc2VTdWZmaXggPSBjbGFzc05hbWUuZW5kc1dpdGgoJ0NvbXBvbmVudEJhc2UnKTtcbiAgY29uc3QgaGFzQ29tcG9uZW50U3VmZml4ID0gIWhhc0NvbXBvbmVudEJhc2VTdWZmaXggJiYgY2xhc3NOYW1lLmVuZHNXaXRoKCdDb21wb25lbnQnKTtcblxuICAvLyBDb3JyZWN0OiBub24tYWJzdHJhY3QgZW5kaW5nIHdpdGggQ29tcG9uZW50XG4gIGlmIChoYXNDb21wb25lbnRTdWZmaXggJiYgIWlzQWJzdHJhY3QpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBDb3JyZWN0OiBhYnN0cmFjdCBlbmRpbmcgd2l0aCBDb21wb25lbnRCYXNlXG4gIGlmIChoYXNDb21wb25lbnRCYXNlU3VmZml4ICYmIGlzQWJzdHJhY3QpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB0c05vZGUgPSBzZXJ2aWNlcy5lc1RyZWVOb2RlVG9UU05vZGVNYXAuZ2V0KGNsYXNzTm9kZSk7XG4gIGNvbnN0IGNsYXNzVHlwZSA9IGNoZWNrZXIuZ2V0VHlwZUF0TG9jYXRpb24odHNOb2RlKTtcbiAgY29uc3QgYW5jZXN0b3JzID0gY29sbGVjdEFuY2VzdG9yTmFtZXMoY2xhc3NUeXBlKTtcblxuICBpZiAoIWFuY2VzdG9ycy5oYXMoUkVRVUlSRURfQU5DRVNUT1IpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBleGNsdWRlZCBvZiBFWENMVURFRF9BTkNFU1RPUlMpIHtcbiAgICBpZiAoYW5jZXN0b3JzLmhhcyhleGNsdWRlZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzQ29tcG9uZW50QmFzZVN1ZmZpeCAmJiAhaXNBYnN0cmFjdCkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgY2xhc3NOYW1lIH0sXG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QsXG4gICAgICBub2RlXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoaXNBYnN0cmFjdCkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgY2xhc3NOYW1lIH0sXG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRSxcbiAgICAgIG5vZGVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYLFxuICAgICAgbm9kZVxuICAgIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTRCTyxNQUFNLDRCQUE0QjtBQUtsQyxNQUFNLGlDQUFpQztBQUt2QyxNQUFNLCtCQUErQjtBQUs1QyxNQUFNLHFCQUFxQixvQkFBSSxJQUFJLENBQUMsZ0JBQWdCLHVCQUF1QixRQUFRLFVBQVUsbUJBQW1CLE1BQU0sQ0FBQztBQUt2SCxNQUFNLG9CQUFvQjtBQVNuQixNQUFNLHlCQUEwQztBQUFBLEVBQ3JELE9BQU8sU0FBUztBQUNkLFVBQU0sV0FBVyxRQUFRLFdBQVc7QUFDcEMsVUFBTSxVQUFVLFNBQVMsUUFBUSxlQUFlO0FBRWhELFdBQU87QUFBQSxNQUNMLHVCQUF1QixNQUF1QjtBQUM1QyxvQkFBWTtBQUFBLFVBQ1Y7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsTUFDQSxzQkFBc0IsTUFBdUI7QUFDM0Msb0JBQVk7QUFBQSxVQUNWO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQyw4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
@@ -12,4 +12,7 @@ export declare const MESSAGE_ID_ABSTRACT_NEEDS_BASE = "abstractNeedsComponentBas
12
12
  Message ID reported when a class name ends with `ComponentBase` but the class is not abstract.
13
13
  */
14
14
  export declare const MESSAGE_ID_BASE_NOT_ABSTRACT = "componentBaseNotAbstract";
15
+ /**
16
+ * ESLint rule requiring classes that extend `Component` to be named with a `Component` suffix, and abstract ones with a `ComponentBase` suffix.
17
+ */
15
18
  export declare const requireComponentSuffix: Rule.RuleModule;