velocious 1.0.626 → 1.0.628

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 (81) hide show
  1. package/README.md +15 -3
  2. package/build/background-jobs/job-runner.js +9 -1
  3. package/build/background-jobs/local-dispatcher.js +23 -1
  4. package/build/background-jobs/main.js +6 -4
  5. package/build/background-jobs/perform-job.js +10 -1
  6. package/build/background-jobs/platform-job.js +62 -0
  7. package/build/background-jobs/runtime.js +6 -3
  8. package/build/background-jobs/types.js +8 -0
  9. package/build/background-jobs/worker.js +3 -1
  10. package/build/database/pool/async-tracked-multi-connection.js +46 -9
  11. package/build/database/pool/base.js +3 -0
  12. package/build/database/pool/checkout-timeout-error.js +16 -0
  13. package/build/http-client/websocket-client.js +52 -0
  14. package/build/http-server/client/index.js +6 -0
  15. package/build/http-server/client/websocket-session.js +30 -0
  16. package/build/http-server/index.js +202 -38
  17. package/build/http-server/worker-handler/index.js +15 -1
  18. package/build/http-server/worker-handler/worker-thread.js +8 -0
  19. package/build/src/background-jobs/job-runner.d.ts.map +1 -1
  20. package/build/src/background-jobs/job-runner.js +10 -2
  21. package/build/src/background-jobs/local-dispatcher.d.ts.map +1 -1
  22. package/build/src/background-jobs/local-dispatcher.js +24 -2
  23. package/build/src/background-jobs/main.d.ts.map +1 -1
  24. package/build/src/background-jobs/main.js +7 -5
  25. package/build/src/background-jobs/perform-job.d.ts +5 -1
  26. package/build/src/background-jobs/perform-job.d.ts.map +1 -1
  27. package/build/src/background-jobs/perform-job.js +11 -2
  28. package/build/src/background-jobs/platform-job.d.ts +34 -0
  29. package/build/src/background-jobs/platform-job.d.ts.map +1 -1
  30. package/build/src/background-jobs/platform-job.js +56 -1
  31. package/build/src/background-jobs/runtime.d.ts.map +1 -1
  32. package/build/src/background-jobs/runtime.js +7 -4
  33. package/build/src/background-jobs/types.d.ts +30 -0
  34. package/build/src/background-jobs/types.d.ts.map +1 -1
  35. package/build/src/background-jobs/types.js +9 -1
  36. package/build/src/background-jobs/worker.d.ts.map +1 -1
  37. package/build/src/background-jobs/worker.js +4 -2
  38. package/build/src/database/pool/async-tracked-multi-connection.d.ts +22 -2
  39. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  40. package/build/src/database/pool/async-tracked-multi-connection.js +44 -10
  41. package/build/src/database/pool/base.d.ts +15 -0
  42. package/build/src/database/pool/base.d.ts.map +1 -1
  43. package/build/src/database/pool/base.js +4 -1
  44. package/build/src/database/pool/checkout-timeout-error.d.ts +13 -0
  45. package/build/src/database/pool/checkout-timeout-error.d.ts.map +1 -0
  46. package/build/src/database/pool/checkout-timeout-error.js +15 -0
  47. package/build/src/http-client/websocket-client.d.ts +18 -0
  48. package/build/src/http-client/websocket-client.d.ts.map +1 -1
  49. package/build/src/http-client/websocket-client.js +48 -1
  50. package/build/src/http-server/client/index.d.ts.map +1 -1
  51. package/build/src/http-server/client/index.js +7 -1
  52. package/build/src/http-server/client/websocket-session.d.ts +6 -0
  53. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  54. package/build/src/http-server/client/websocket-session.js +27 -1
  55. package/build/src/http-server/index.d.ts +82 -10
  56. package/build/src/http-server/index.d.ts.map +1 -1
  57. package/build/src/http-server/index.js +186 -33
  58. package/build/src/http-server/worker-handler/index.d.ts +28 -1
  59. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  60. package/build/src/http-server/worker-handler/index.js +23 -2
  61. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  62. package/build/src/http-server/worker-handler/worker-thread.js +7 -1
  63. package/build/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +1 -1
  65. package/src/background-jobs/job-runner.js +9 -1
  66. package/src/background-jobs/local-dispatcher.js +23 -1
  67. package/src/background-jobs/main.js +6 -4
  68. package/src/background-jobs/perform-job.js +10 -1
  69. package/src/background-jobs/platform-job.js +62 -0
  70. package/src/background-jobs/runtime.js +6 -3
  71. package/src/background-jobs/types.js +8 -0
  72. package/src/background-jobs/worker.js +3 -1
  73. package/src/database/pool/async-tracked-multi-connection.js +46 -9
  74. package/src/database/pool/base.js +3 -0
  75. package/src/database/pool/checkout-timeout-error.js +16 -0
  76. package/src/http-client/websocket-client.js +52 -0
  77. package/src/http-server/client/index.js +6 -0
  78. package/src/http-server/client/websocket-session.js +30 -0
  79. package/src/http-server/index.js +202 -38
  80. package/src/http-server/worker-handler/index.js +15 -1
  81. package/src/http-server/worker-handler/worker-thread.js +8 -0
@@ -4,13 +4,17 @@
4
4
  * @param {import("../configuration.js").default} args.configuration - Active configuration.
5
5
  * @param {typeof import("./platform-job.js").default} args.JobClass - Job class.
6
6
  * @param {Array<ReturnType<typeof JSON.parse>>} args.jobArgs - Job arguments.
7
+ * @param {import("./types.js").BackgroundJobOptions} [args.jobOptions] - Resolved runtime options.
7
8
  * @param {string} args.name - Connection-scope label.
9
+ * @param {import("./types.js").BackgroundJobPayload} [args.payload] - Persisted runner payload.
8
10
  * @returns {Promise<void>} - Resolves after performance.
9
11
  */
10
- export default function performBackgroundJob({ configuration, JobClass, jobArgs, name }: {
12
+ export default function performBackgroundJob({ configuration, JobClass, jobArgs, jobOptions, name, payload }: {
11
13
  configuration: import("../configuration.js").default;
12
14
  JobClass: typeof import("./platform-job.js").default;
13
15
  jobArgs: Array<ReturnType<typeof JSON.parse>>;
16
+ jobOptions?: import("./types.js").BackgroundJobOptions;
14
17
  name: string;
18
+ payload?: import("./types.js").BackgroundJobPayload;
15
19
  }): Promise<void>;
16
20
  //# sourceMappingURL=perform-job.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"perform-job.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/perform-job.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAA8B,oBAAoB,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,EANxF;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAqB,IAAI,EAAjB,MAAM,CACd;CAEwF,GAF9E,OAAO,CAAC,IAAI,CAAC,CAazB"}
1
+ {"version":3,"file":"perform-job.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/perform-job.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAA8B,oBAAoB,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAe,EAAE,IAAI,EAAE,OAAO,EAAC,EARlH;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAyD,UAAU,AAAnE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;IAAqB,IAAI,EAAjB,MAAM,CACd;IAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;CAEkH,GAFxG,OAAO,CAAC,IAAI,CAAC,CAoBzB"}
@@ -5,11 +5,20 @@
5
5
  * @param {import("../configuration.js").default} args.configuration - Active configuration.
6
6
  * @param {typeof import("./platform-job.js").default} args.JobClass - Job class.
7
7
  * @param {Array<ReturnType<typeof JSON.parse>>} args.jobArgs - Job arguments.
8
+ * @param {import("./types.js").BackgroundJobOptions} [args.jobOptions] - Resolved runtime options.
8
9
  * @param {string} args.name - Connection-scope label.
10
+ * @param {import("./types.js").BackgroundJobPayload} [args.payload] - Persisted runner payload.
9
11
  * @returns {Promise<void>} - Resolves after performance.
10
12
  */
11
- export default async function performBackgroundJob({ configuration, JobClass, jobArgs, name }) {
13
+ export default async function performBackgroundJob({ configuration, JobClass, jobArgs, jobOptions = {}, name, payload }) {
12
14
  const jobInstance = new JobClass();
15
+ jobInstance._setBackgroundJobContext({
16
+ args: jobArgs,
17
+ jobClass: JobClass,
18
+ jobName: JobClass.jobName(),
19
+ options: jobOptions,
20
+ ...(payload ? { payload } : {})
21
+ });
13
22
  /**
14
23
  * Narrows the generic subclass's runtime method to serialized job arguments.
15
24
  * @type {(...args: Array<ReturnType<typeof JSON.parse>>) => Promise<void>}
@@ -19,4 +28,4 @@ export default async function performBackgroundJob({ configuration, JobClass, jo
19
28
  await perform.apply(jobInstance, jobArgs);
20
29
  });
21
30
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybS1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL3BlcmZvcm0tam9iLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUFDLEVBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDO0lBQ3pGLE1BQU0sV0FBVyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUE7SUFDbEM7OztPQUdHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQTtJQUVuQyxNQUFNLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEcsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMzQyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBQZXJmb3JtcyBhIGpvYiBjbGFzcyBpbnNpZGUgaXRzIGRlY2xhcmVkIGRhdGFiYXNlLWNvbm5lY3Rpb24gc2NvcGUuXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIFBlcmZvcm1hbmNlIG9wdGlvbnMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQWN0aXZlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3BsYXRmb3JtLWpvYi5qc1wiKS5kZWZhdWx0fSBhcmdzLkpvYkNsYXNzIC0gSm9iIGNsYXNzLlxuICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3Muam9iQXJncyAtIEpvYiBhcmd1bWVudHMuXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5uYW1lIC0gQ29ubmVjdGlvbi1zY29wZSBsYWJlbC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIGFmdGVyIHBlcmZvcm1hbmNlLlxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBwZXJmb3JtQmFja2dyb3VuZEpvYih7Y29uZmlndXJhdGlvbiwgSm9iQ2xhc3MsIGpvYkFyZ3MsIG5hbWV9KSB7XG4gIGNvbnN0IGpvYkluc3RhbmNlID0gbmV3IEpvYkNsYXNzKClcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIGdlbmVyaWMgc3ViY2xhc3MncyBydW50aW1lIG1ldGhvZCB0byBzZXJpYWxpemVkIGpvYiBhcmd1bWVudHMuXG4gICAqIEB0eXBlIHsoLi4uYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+KSA9PiBQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgY29uc3QgcGVyZm9ybSA9IGpvYkluc3RhbmNlLnBlcmZvcm1cblxuICBhd2FpdCBjb25maWd1cmF0aW9uLndpdGhDb25uZWN0aW9ucyh7ZGF0YWJhc2VJZGVudGlmaWVyczogSm9iQ2xhc3MuZGF0YWJhc2VJZGVudGlmaWVycywgbmFtZX0sIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBwZXJmb3JtLmFwcGx5KGpvYkluc3RhbmNlLCBqb2JBcmdzKVxuICB9KVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybS1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL3BlcmZvcm0tam9iLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVUsb0JBQW9CLENBQUMsRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7SUFDbkgsTUFBTSxXQUFXLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQTtJQUNsQyxXQUFXLENBQUMsd0JBQXdCLENBQUM7UUFDbkMsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUMzQixPQUFPLEVBQUUsVUFBVTtRQUNuQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDOUIsQ0FBQyxDQUFBO0lBQ0Y7OztPQUdHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQTtJQUVuQyxNQUFNLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEcsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMzQyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBQZXJmb3JtcyBhIGpvYiBjbGFzcyBpbnNpZGUgaXRzIGRlY2xhcmVkIGRhdGFiYXNlLWNvbm5lY3Rpb24gc2NvcGUuXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIFBlcmZvcm1hbmNlIG9wdGlvbnMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQWN0aXZlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3BsYXRmb3JtLWpvYi5qc1wiKS5kZWZhdWx0fSBhcmdzLkpvYkNsYXNzIC0gSm9iIGNsYXNzLlxuICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3Muam9iQXJncyAtIEpvYiBhcmd1bWVudHMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IFthcmdzLmpvYk9wdGlvbnNdIC0gUmVzb2x2ZWQgcnVudGltZSBvcHRpb25zLlxuICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubmFtZSAtIENvbm5lY3Rpb24tc2NvcGUgbGFiZWwuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlBheWxvYWR9IFthcmdzLnBheWxvYWRdIC0gUGVyc2lzdGVkIHJ1bm5lciBwYXlsb2FkLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgcGVyZm9ybWFuY2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHBlcmZvcm1CYWNrZ3JvdW5kSm9iKHtjb25maWd1cmF0aW9uLCBKb2JDbGFzcywgam9iQXJncywgam9iT3B0aW9ucyA9IHt9LCBuYW1lLCBwYXlsb2FkfSkge1xuICBjb25zdCBqb2JJbnN0YW5jZSA9IG5ldyBKb2JDbGFzcygpXG4gIGpvYkluc3RhbmNlLl9zZXRCYWNrZ3JvdW5kSm9iQ29udGV4dCh7XG4gICAgYXJnczogam9iQXJncyxcbiAgICBqb2JDbGFzczogSm9iQ2xhc3MsXG4gICAgam9iTmFtZTogSm9iQ2xhc3Muam9iTmFtZSgpLFxuICAgIG9wdGlvbnM6IGpvYk9wdGlvbnMsXG4gICAgLi4uKHBheWxvYWQgPyB7cGF5bG9hZH0gOiB7fSlcbiAgfSlcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIGdlbmVyaWMgc3ViY2xhc3MncyBydW50aW1lIG1ldGhvZCB0byBzZXJpYWxpemVkIGpvYiBhcmd1bWVudHMuXG4gICAqIEB0eXBlIHsoLi4uYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+KSA9PiBQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgY29uc3QgcGVyZm9ybSA9IGpvYkluc3RhbmNlLnBlcmZvcm1cblxuICBhd2FpdCBjb25maWd1cmF0aW9uLndpdGhDb25uZWN0aW9ucyh7ZGF0YWJhc2VJZGVudGlmaWVyczogSm9iQ2xhc3MuZGF0YWJhc2VJZGVudGlmaWVycywgbmFtZX0sIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBwZXJmb3JtLmFwcGx5KGpvYkluc3RhbmNlLCBqb2JBcmdzKVxuICB9KVxufVxuIl19
@@ -9,6 +9,9 @@
9
9
  * @template {Array<ReturnType<typeof JSON.parse>>} [TArgs=[]]
10
10
  */
11
11
  export default class VelociousJob<TArgs extends Array<ReturnType<typeof JSON.parse>> = []> {
12
+ /** @type {import("./types.js").BackgroundJobContext | undefined} */
13
+ _backgroundJobContext: import("./types.js").BackgroundJobContext | undefined;
14
+ constructor();
12
15
  /**
13
16
  * Database identifiers checked out while this job performs. Set an explicit
14
17
  * list to avoid holding unrelated configured database connections, or `[]`
@@ -55,6 +58,37 @@ export default class VelociousJob<TArgs extends Array<ReturnType<typeof JSON.par
55
58
  * @returns {import("./types.js").BackgroundJobOptions} - Options including the resolved queue.
56
59
  */
57
60
  static _withQueue(options: import("./types.js").BackgroundJobOptions | undefined): import("./types.js").BackgroundJobOptions;
61
+ /**
62
+ * Resolves class-derived enqueue options on a hydrated job instance. Explicit
63
+ * per-enqueue options take precedence over the instance concurrency key.
64
+ * @param {object} args - Job context.
65
+ * @param {Array<ReturnType<typeof JSON.parse>>} args.jobArgs - Job arguments.
66
+ * @param {import("./types.js").BackgroundJobOptions | undefined} args.jobOptions - Job options.
67
+ * @returns {import("./types.js").BackgroundJobOptions} - Resolved job options.
68
+ */
69
+ static _withJobContext({ jobArgs, jobOptions }: {
70
+ jobArgs: Array<ReturnType<typeof JSON.parse>>;
71
+ jobOptions: import("./types.js").BackgroundJobOptions | undefined;
72
+ }): import("./types.js").BackgroundJobOptions;
73
+ /**
74
+ * Sets the complete context available to this hydrated job instance.
75
+ * Framework enqueue/runner boundaries own this method.
76
+ * @param {import("./types.js").BackgroundJobContext} context - Job context.
77
+ * @returns {void}
78
+ */
79
+ _setBackgroundJobContext(context: import("./types.js").BackgroundJobContext): void;
80
+ /**
81
+ * Returns this hydrated job's complete enqueue or runner context.
82
+ * @returns {import("./types.js").BackgroundJobContext} - Job context.
83
+ */
84
+ backgroundJobContext(): import("./types.js").BackgroundJobContext;
85
+ /**
86
+ * Override to derive a durable concurrency key from `backgroundJobContext()`.
87
+ * Pair the derived key with `maxConcurrency` in enqueue options. An explicit
88
+ * per-enqueue `concurrencyKey` takes precedence and skips this method.
89
+ * @returns {string | undefined} - Derived concurrency key, or undefined for none.
90
+ */
91
+ concurrencyKey(): string | undefined;
58
92
  /**
59
93
  * Runs perform later.
60
94
  * @param {...ReturnType<typeof JSON.parse>} args - Job args.
@@ -1 +1 @@
1
- {"version":3,"file":"platform-job.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/platform-job.js"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAFoB,KAAK,SAA5C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAS,EAAG;IAG5D;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,EAFhB,MAAM,EAAE,GAAG,SAAS,CAEQ;IAEtC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAFF,MAAM,GAAG,SAAS,CAEJ;IAExB;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,EAFT,MAAM,GAAG,SAAS,CAEG;IAE/B;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAHT,MAGS,GAFP,KAAK,CAQjB;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,IAFD,MAAM,CAIlB;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAHd,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAG9B,GAFZ,OAAO,YAAY,EAAE,oBAAoB,CAUrD;IAED;;;;OAIG;IACH,OAAa,YAAY,CAAC,GAAG,IAAI,EAHnB,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAGV,GAFpB,OAAO,CAAC,MAAM,CAAC,CAK3B;IAED;;;;;;OAMG;IACH,OAAa,uBAAuB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAJjD;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEiD,GAFvC,OAAO,CAAC,MAAM,CAAC,CAI3B;IAED;;;;;;;OAOG;IACH,OAAa,gBAAgB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAC,EALvD;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEuD,GAF7C,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAIxE;IAED;;;;OAIG;IACH,OAAa,eAAe,CAAC,WAAW,EAH7B,MAG6B,GAF3B,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAIzE;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAHrB,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAGd,GAFnB;QAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAAC,CAgBlH;IAED;;;;OAIG;IACG,OAAO,CAAC,GAAG,KAAK,EAHX,KAGW,GAFT,OAAO,CAAC,IAAI,CAAC,CAIzB;CACF"}
1
+ {"version":3,"file":"platform-job.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/platform-job.js"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ import { cancelScheduledBackgroundJob, enqueueBackgroundJob, replaceScheduledBac
12
12
  * @template {Array<ReturnType<typeof JSON.parse>>} [TArgs=[]]
13
13
  */
14
14
  export default class VelociousJob {
15
+ constructor() {
16
+ /** @type {import("./types.js").BackgroundJobContext | undefined} */
17
+ this._backgroundJobContext = undefined;
18
+ }
15
19
  /**
16
20
  * Database identifiers checked out while this job performs. Set an explicit
17
21
  * list to avoid holding unrelated configured database connections, or `[]`
@@ -71,6 +75,57 @@ export default class VelociousJob {
71
75
  }
72
76
  return merged;
73
77
  }
78
+ /**
79
+ * Resolves class-derived enqueue options on a hydrated job instance. Explicit
80
+ * per-enqueue options take precedence over the instance concurrency key.
81
+ * @param {object} args - Job context.
82
+ * @param {Array<ReturnType<typeof JSON.parse>>} args.jobArgs - Job arguments.
83
+ * @param {import("./types.js").BackgroundJobOptions | undefined} args.jobOptions - Job options.
84
+ * @returns {import("./types.js").BackgroundJobOptions} - Resolved job options.
85
+ */
86
+ static _withJobContext({ jobArgs, jobOptions }) {
87
+ const options = this._withQueue(jobOptions);
88
+ if (options.concurrencyKey !== undefined)
89
+ return options;
90
+ const jobInstance = new this();
91
+ jobInstance._setBackgroundJobContext({
92
+ args: jobArgs,
93
+ jobClass: this,
94
+ jobName: this.jobName(),
95
+ options
96
+ });
97
+ const concurrencyKey = jobInstance.concurrencyKey();
98
+ if (concurrencyKey !== undefined)
99
+ options.concurrencyKey = concurrencyKey;
100
+ return options;
101
+ }
102
+ /**
103
+ * Sets the complete context available to this hydrated job instance.
104
+ * Framework enqueue/runner boundaries own this method.
105
+ * @param {import("./types.js").BackgroundJobContext} context - Job context.
106
+ * @returns {void}
107
+ */
108
+ _setBackgroundJobContext(context) {
109
+ this._backgroundJobContext = context;
110
+ }
111
+ /**
112
+ * Returns this hydrated job's complete enqueue or runner context.
113
+ * @returns {import("./types.js").BackgroundJobContext} - Job context.
114
+ */
115
+ backgroundJobContext() {
116
+ if (!this._backgroundJobContext)
117
+ throw new Error("Background job context is not hydrated");
118
+ return this._backgroundJobContext;
119
+ }
120
+ /**
121
+ * Override to derive a durable concurrency key from `backgroundJobContext()`.
122
+ * Pair the derived key with `maxConcurrency` in enqueue options. An explicit
123
+ * per-enqueue `concurrencyKey` takes precedence and skips this method.
124
+ * @returns {string | undefined} - Derived concurrency key, or undefined for none.
125
+ */
126
+ concurrencyKey() {
127
+ return undefined;
128
+ }
74
129
  /**
75
130
  * Runs perform later.
76
131
  * @param {...ReturnType<typeof JSON.parse>} args - Job args.
@@ -135,4 +190,4 @@ export default class VelociousJob {
135
190
  throw new Error("perform not implemented");
136
191
  }
137
192
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9wbGF0Zm9ybS1qb2IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sNkJBQTZCLE1BQU0sd0JBQXdCLENBQUE7QUFDbEUsT0FBTyxFQUFDLDRCQUE0QixFQUFFLG9CQUFvQixFQUFFLDZCQUE2QixFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRTlHOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUMvQjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFBO0lBRXRDOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFBO0lBRXhCOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFBO0lBRS9COzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFDLE9BQU87UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxTQUFTLENBQUMsdUVBQXVFLENBQUMsQ0FBQTtRQUM5RixDQUFDO1FBRUQsTUFBTSxJQUFJLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU87UUFDdkIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUUxQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUYsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzNCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJO1FBQy9CLE1BQU0sRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELE9BQU8sTUFBTSxvQkFBb0IsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDO1FBQ2xELE9BQU8sTUFBTSxvQkFBb0IsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQztRQUN4RCxPQUFPLE1BQU0sNkJBQTZCLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQy9HLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVztRQUN0QyxPQUFPLE1BQU0sNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSTtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFBO1FBQ3RDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxNQUFNLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLElBQUksT0FBTyxDQUFBO1FBRWpILElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLHNFQUFzRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksRUFBRSxFQUFDLENBQUE7UUFDbkUsQ0FBQztRQUVELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhY2tncm91bmRKb2JSZXNjaGVkdWxlU2lnbmFsIGZyb20gXCIuL3Jlc2NoZWR1bGUtc2lnbmFsLmpzXCJcbmltcG9ydCB7Y2FuY2VsU2NoZWR1bGVkQmFja2dyb3VuZEpvYiwgZW5xdWV1ZUJhY2tncm91bmRKb2IsIHJlcGxhY2VTY2hlZHVsZWRCYWNrZ3JvdW5kSm9ifSBmcm9tIFwiLi9ydW50aW1lLmpzXCJcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBiYWNrZ3JvdW5kIGpvYnMuXG4gKlxuICogYFRBcmdzYCBpcyB0aGUgdHVwbGUgb2YgYXJndW1lbnRzIHRoZSBzdWJjbGFzcydzIGBwZXJmb3JtYCBhY2NlcHRzLCBzbyBhIGpvYiB0aGF0XG4gKiBuZWVkcyBhcmd1bWVudHMgZGVjbGFyZXMgdGhlbSBhcyByZXF1aXJlZCBhbmQgdHlwZWQg4oCUIGZvciBleGFtcGxlXG4gKiBgY2xhc3MgUnVuQnVpbGRKb2IgZXh0ZW5kcyBWZWxvY2lvdXNKb2I8W3N0cmluZ10+YCB3aXRoIGBhc3luYyBwZXJmb3JtKGJ1aWxkSWQpYC5cbiAqIFRoZSBkZWZhdWx0IGVtcHR5IHR1cGxlIGtlZXBzIGFyZ3VtZW50LWxlc3Mgam9icyAoYGV4dGVuZHMgVmVsb2Npb3VzSm9iYCxcbiAqIGBhc3luYyBwZXJmb3JtKClgKSB3b3JraW5nIHVuY2hhbmdlZC5cbiAqIEB0ZW1wbGF0ZSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBbVEFyZ3M9W11dXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0pvYiB7XG4gIC8qKlxuICAgKiBEYXRhYmFzZSBpZGVudGlmaWVycyBjaGVja2VkIG91dCB3aGlsZSB0aGlzIGpvYiBwZXJmb3Jtcy4gU2V0IGFuIGV4cGxpY2l0XG4gICAqIGxpc3QgdG8gYXZvaWQgaG9sZGluZyB1bnJlbGF0ZWQgY29uZmlndXJlZCBkYXRhYmFzZSBjb25uZWN0aW9ucywgb3IgYFtdYFxuICAgKiB3aGVuIHRoZSBqb2IgZXN0YWJsaXNoZXMgYW55IGNvbm5lY3Rpb25zIGl0IG5lZWRzIGl0c2VsZi4gTGVmdCB1bmRlZmluZWQsXG4gICAqIGpvYnMgcmV0YWluIHRoZSBleGlzdGluZyBiZWhhdmlvciBvZiBjaGVja2luZyBvdXQgZXZlcnkgYWN0aXZlIGRhdGFiYXNlLlxuICAgKiBAdHlwZSB7c3RyaW5nW10gfCB1bmRlZmluZWR9XG4gICAqL1xuICBzdGF0aWMgZGF0YWJhc2VJZGVudGlmaWVycyA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBRdWV1ZSB0aGlzIGpvYiBjbGFzcyBydW5zIG9uLiBTdWJjbGFzc2VzIHNldCBlLmcuIGBzdGF0aWMgcXVldWUgPSBcImJ1aWxkc1wiYFxuICAgKiB0byByb3V0ZSBvbnRvIGEgcXVldWUgd2l0aCBpdHMgb3duIGNsdXN0ZXItd2lkZSBjb25jdXJyZW5jeSBjYXAgKGNvbmZpZ3VyZWRcbiAgICogdmlhIGBiYWNrZ3JvdW5kSm9icy5xdWV1ZXNgKS4gVGhlIGB7cXVldWV9YCBlbnF1ZXVlIG9wdGlvbiBvdmVycmlkZXMgaXQuXG4gICAqIExlZnQgdW5kZWZpbmVkLCBqb2JzIHJ1biBvbiB0aGUgYFwiZGVmYXVsdFwiYCBxdWV1ZS5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHN0YXRpYyBxdWV1ZSA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9jZXNzIHRpdGxlIHNob3duIGZvciB0aGUgcnVubmVyIHdoaWxlIHRoaXMgam9iIGV4ZWN1dGVzLlxuICAgKiBWZWxvY2lvdXMgc2V0cyBgcHJvY2Vzcy50aXRsZWAgdG8gdGhpcyBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBqb2Ig4oCUIHNvXG4gICAqIGBwc2AvYHRvcGAvYGh0b3BgIGlkZW50aWZ5IHdoYXQgYSBydW5uZXIgaXMgZG9pbmcg4oCUIGFuZCByZXN0b3JlcyB0aGVcbiAgICogcnVubmVyJ3MgYmFzZSB0aXRsZSB3aGVuIHRoZSBqb2IgZmluaXNoZXMuIExlZnQgdW5kZWZpbmVkLCB0aGUgcnVubmVyIGZhbGxzXG4gICAqIGJhY2sgdG8gYHZlbG9jaW91cyBqb2ItcnVubmVyOiA8Sm9iTmFtZT5gLiBTZXQgZS5nLlxuICAgKiBgc3RhdGljIHByb2Nlc3NUaXRsZSA9IFwidmVsb2Npb3VzIG1lZGlhIHRyYW5zY29kZXJcImAgdG8gZ2l2ZSBhIGpvYiBhXG4gICAqIGN1c3RvbSwgaHVtYW4tcmVhZGFibGUgdGl0bGUuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBzdGF0aWMgcHJvY2Vzc1RpdGxlID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIFN0b3BzIHRoaXMgcGVyZm9ybWFuY2UgYW5kIHJlc2NoZWR1bGVzIHRoZSBzYW1lIGxvZ2ljYWwgam9iIHJvdy4gVGhpcyBpc1xuICAgKiBub3JtYWwgY29udHJvbCBmbG93OiBpdCBkb2VzIG5vdCBjb3VudCBhcyBhIGZhaWx1cmUgb3IgY29uc3VtZSBhIHJldHJ5LlxuICAgKiBAcGFyYW0ge251bWJlcn0gZGVsYXlNcyAtIE5vbi1uZWdhdGl2ZSBzYWZlLWludGVnZXIgZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBAcmV0dXJucyB7bmV2ZXJ9IC0gVGhpcyBtZXRob2QgbmV2ZXIgcmV0dXJucy5cbiAgICovXG4gIHJlc2NoZWR1bGVJbihkZWxheU1zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihkZWxheU1zKSB8fCBkZWxheU1zIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImJhY2tncm91bmQgam9iIHJlc2NoZWR1bGUgZGVsYXlNcyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIHNhZmUgaW50ZWdlclwiKVxuICAgIH1cblxuICAgIHRocm93IG5ldyBCYWNrZ3JvdW5kSm9iUmVzY2hlZHVsZVNpZ25hbChkZWxheU1zKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgam9iIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gSm9iIG5hbWUuXG4gICAqL1xuICBzdGF0aWMgam9iTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lXG4gIH1cblxuICAvKipcbiAgICogRm9sZHMgdGhpcyBqb2IgY2xhc3MncyBzdGF0aWMgYHF1ZXVlYCBpbnRvIHRoZSBlbnF1ZXVlIG9wdGlvbnMgdW5sZXNzIHRoZVxuICAgKiBjYWxsZXIgYWxyZWFkeSBzcGVjaWZpZWQgb25lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnMgfCB1bmRlZmluZWR9IG9wdGlvbnMgLSBKb2Igb3B0aW9ucy5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IC0gT3B0aW9ucyBpbmNsdWRpbmcgdGhlIHJlc29sdmVkIHF1ZXVlLlxuICAgKi9cbiAgc3RhdGljIF93aXRoUXVldWUob3B0aW9ucykge1xuICAgIGNvbnN0IG1lcmdlZCA9IG9wdGlvbnMgPyB7Li4ub3B0aW9uc30gOiB7fVxuXG4gICAgaWYgKG1lcmdlZC5xdWV1ZSA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiB0aGlzLnF1ZXVlID09PSBcInN0cmluZ1wiICYmIHRoaXMucXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgbWVyZ2VkLnF1ZXVlID0gdGhpcy5xdWV1ZVxuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHBlcmZvcm0gbGF0ZXIuXG4gICAqIEBwYXJhbSB7Li4uUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IGFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBKb2IgaWQuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcGVyZm9ybUxhdGVyKC4uLmFyZ3MpIHtcbiAgICBjb25zdCB7am9iQXJncywgam9iT3B0aW9uc30gPSB0aGlzLl9zcGxpdEFyZ3NBbmRPcHRpb25zKGFyZ3MpXG4gICAgcmV0dXJuIGF3YWl0IGVucXVldWVCYWNrZ3JvdW5kSm9iKHtKb2JDbGFzczogdGhpcywgam9iQXJncywgam9iT3B0aW9uc30pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBwZXJmb3JtIGxhdGVyIHdpdGggb3B0aW9ucy5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge0FycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5hcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc30gW2FyZ3Mub3B0aW9uc10gLSBKb2Igb3B0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBKb2IgaWQuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcGVyZm9ybUxhdGVyV2l0aE9wdGlvbnMoe2FyZ3MsIG9wdGlvbnN9KSB7XG4gICAgcmV0dXJuIGF3YWl0IGVucXVldWVCYWNrZ3JvdW5kSm9iKHtKb2JDbGFzczogdGhpcywgam9iQXJnczogYXJncywgam9iT3B0aW9uczogb3B0aW9uc30pXG4gIH1cblxuICAvKipcbiAgICogQXRvbWljYWxseSByZXBsYWNlcyB0aGlzIGpvYiBjbGFzcydzIHF1ZXVlZCBvd25lciBmb3IgYSBzdGFibGUgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnNjaGVkdWxlS2V5IC0gU3RhYmxlIGxvZ2ljYWwgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge0FycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5hcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc30gW2FyZ3Mub3B0aW9uc10gLSBKb2Igb3B0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iUmVwbGFjZW1lbnRSZXN1bHQ+fSAtIFJlcGxhY2VtZW50IHJlc3VsdC5cbiAgICovXG4gIHN0YXRpYyBhc3luYyByZXBsYWNlU2NoZWR1bGVkKHtzY2hlZHVsZUtleSwgYXJncywgb3B0aW9uc30pIHtcbiAgICByZXR1cm4gYXdhaXQgcmVwbGFjZVNjaGVkdWxlZEJhY2tncm91bmRKb2Ioe0pvYkNsYXNzOiB0aGlzLCBzY2hlZHVsZUtleSwgam9iQXJnczogYXJncywgam9iT3B0aW9uczogb3B0aW9uc30pXG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VscyBvciBkZXRhY2hlcyB0aGUgY3VycmVudCBvd25lciBvZiBhIHN0YWJsZSBzY2hlZHVsZSBrZXkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleS5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uUmVzdWx0Pn0gLSBDYW5jZWxsYXRpb24gcmVzdWx0LlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGNhbmNlbFNjaGVkdWxlZChzY2hlZHVsZUtleSkge1xuICAgIHJldHVybiBhd2FpdCBjYW5jZWxTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iKHNjaGVkdWxlS2V5KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc3BsaXQgYXJncyBhbmQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHJldHVybnMge3tqb2JBcmdzOiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIGpvYk9wdGlvbnM6IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9fSAtIFNwbGl0IGFyZ3MgYW5kIG9wdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgX3NwbGl0QXJnc0FuZE9wdGlvbnMoYXJncykge1xuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHtqb2JBcmdzOiBbXSwgam9iT3B0aW9uczoge319XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFyZyA9IGFyZ3NbYXJncy5sZW5ndGggLSAxXVxuICAgIGNvbnN0IGlzT3B0aW9uc0FyZyA9IGxhc3RBcmcgJiYgdHlwZW9mIGxhc3RBcmcgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkobGFzdEFyZykgJiYgXCJqb2JPcHRpb25zXCIgaW4gbGFzdEFyZ1xuXG4gICAgaWYgKGlzT3B0aW9uc0FyZykge1xuICAgICAgY29uc3Qge2pvYk9wdGlvbnN9ID0gLyoqIEB0eXBlIHt7am9iT3B0aW9uczogaW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc319ICovIChsYXN0QXJnKVxuICAgICAgcmV0dXJuIHtqb2JBcmdzOiBhcmdzLnNsaWNlKDAsIC0xKSwgam9iT3B0aW9uczogam9iT3B0aW9ucyB8fCB7fX1cbiAgICB9XG5cbiAgICByZXR1cm4ge2pvYkFyZ3M6IGFyZ3MsIGpvYk9wdGlvbnM6IHt9fVxuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIGluIHN1YmNsYXNzZXMuXG4gICAqIEBwYXJhbSB7VEFyZ3N9IF9hcmdzIC0gSm9iIGFyZ3MgKHRoZSB0dXBsZSB0aGlzIGpvYiBjbGFzcyB3YXMgcGFyYW1ldGVyaXplZCB3aXRoKS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHBlcmZvcm0oLi4uX2FyZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJwZXJmb3JtIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG59XG4iXX0=
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9wbGF0Zm9ybS1qb2IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sNkJBQTZCLE1BQU0sd0JBQXdCLENBQUE7QUFDbEUsT0FBTyxFQUFDLDRCQUE0QixFQUFFLG9CQUFvQixFQUFFLDZCQUE2QixFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRTlHOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUMvQjtRQUNFLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFBO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFBO0lBRXRDOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFBO0lBRXhCOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFBO0lBRS9COzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFDLE9BQU87UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxTQUFTLENBQUMsdUVBQXVFLENBQUMsQ0FBQTtRQUM5RixDQUFDO1FBRUQsTUFBTSxJQUFJLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU87UUFDdkIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFD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QUFJO1FBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLEVBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFDLENBQUE7UUFDdEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLE1BQU0sWUFBWSxHQUFHLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFlBQVksSUFBSSxPQUFPLENBQUE7UUFFakgsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsc0VBQXNFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNyRyxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxFQUFFLEVBQUMsQ0FBQTtRQUNuRSxDQUFDO1FBRUQsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUs7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0lBQzVDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQmFja2dyb3VuZEpvYlJlc2NoZWR1bGVTaWduYWwgZnJvbSBcIi4vcmVzY2hlZHVsZS1zaWduYWwuanNcIlxuaW1wb3J0IHtjYW5jZWxTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iLCBlbnF1ZXVlQmFja2dyb3VuZEpvYiwgcmVwbGFjZVNjaGVkdWxlZEJhY2tncm91bmRKb2J9IGZyb20gXCIuL3J1bnRpbWUuanNcIlxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGJhY2tncm91bmQgam9icy5cbiAqXG4gKiBgVEFyZ3NgIGlzIHRoZSB0dXBsZSBvZiBhcmd1bWVudHMgdGhlIHN1YmNsYXNzJ3MgYHBlcmZvcm1gIGFjY2VwdHMsIHNvIGEgam9iIHRoYXRcbiAqIG5lZWRzIGFyZ3VtZW50cyBkZWNsYXJlcyB0aGVtIGFzIHJlcXVpcmVkIGFuZCB0eXBlZCDigJQgZm9yIGV4YW1wbGVcbiAqIGBjbGFzcyBSdW5CdWlsZEpvYiBleHRlbmRzIFZlbG9jaW91c0pvYjxbc3RyaW5nXT5gIHdpdGggYGFzeW5jIHBlcmZvcm0oYnVpbGRJZClgLlxuICogVGhlIGRlZmF1bHQgZW1wdHkgdHVwbGUga2VlcHMgYXJndW1lbnQtbGVzcyBqb2JzIChgZXh0ZW5kcyBWZWxvY2lvdXNKb2JgLFxuICogYGFzeW5jIHBlcmZvcm0oKWApIHdvcmtpbmcgdW5jaGFuZ2VkLlxuICogQHRlbXBsYXRlIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IFtUQXJncz1bXV1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSm9iIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JDb250ZXh0IHwgdW5kZWZpbmVkfSAqL1xuICAgIHRoaXMuX2JhY2tncm91bmRKb2JDb250ZXh0ID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogRGF0YWJhc2UgaWRlbnRpZmllcnMgY2hlY2tlZCBvdXQgd2hpbGUgdGhpcyBqb2IgcGVyZm9ybXMuIFNldCBhbiBleHBsaWNpdFxuICAgKiBsaXN0IHRvIGF2b2lkIGhvbGRpbmcgdW5yZWxhdGVkIGNvbmZpZ3VyZWQgZGF0YWJhc2UgY29ubmVjdGlvbnMsIG9yIGBbXWBcbiAgICogd2hlbiB0aGUgam9iIGVzdGFibGlzaGVzIGFueSBjb25uZWN0aW9ucyBpdCBuZWVkcyBpdHNlbGYuIExlZnQgdW5kZWZpbmVkLFxuICAgKiBqb2JzIHJldGFpbiB0aGUgZXhpc3RpbmcgYmVoYXZpb3Igb2YgY2hlY2tpbmcgb3V0IGV2ZXJ5IGFjdGl2ZSBkYXRhYmFzZS5cbiAgICogQHR5cGUge3N0cmluZ1tdIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgc3RhdGljIGRhdGFiYXNlSWRlbnRpZmllcnMgPSB1bmRlZmluZWRcblxuICAvKipcbiAgICogUXVldWUgdGhpcyBqb2IgY2xhc3MgcnVucyBvbi4gU3ViY2xhc3NlcyBzZXQgZS5nLiBgc3RhdGljIHF1ZXVlID0gXCJidWlsZHNcImBcbiAgICogdG8gcm91dGUgb250byBhIHF1ZXVlIHdpdGggaXRzIG93biBjbHVzdGVyLXdpZGUgY29uY3VycmVuY3kgY2FwIChjb25maWd1cmVkXG4gICAqIHZpYSBgYmFja2dyb3VuZEpvYnMucXVldWVzYCkuIFRoZSBge3F1ZXVlfWAgZW5xdWV1ZSBvcHRpb24gb3ZlcnJpZGVzIGl0LlxuICAgKiBMZWZ0IHVuZGVmaW5lZCwgam9icyBydW4gb24gdGhlIGBcImRlZmF1bHRcImAgcXVldWUuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBzdGF0aWMgcXVldWUgPSB1bmRlZmluZWRcblxuICAvKipcbiAgICogT3B0aW9uYWwgcHJvY2VzcyB0aXRsZSBzaG93biBmb3IgdGhlIHJ1bm5lciB3aGlsZSB0aGlzIGpvYiBleGVjdXRlcy5cbiAgICogVmVsb2Npb3VzIHNldHMgYHByb2Nlc3MudGl0bGVgIHRvIHRoaXMgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgam9iIOKAlCBzb1xuICAgKiBgcHNgL2B0b3BgL2BodG9wYCBpZGVudGlmeSB3aGF0IGEgcnVubmVyIGlzIGRvaW5nIOKAlCBhbmQgcmVzdG9yZXMgdGhlXG4gICAqIHJ1bm5lcidzIGJhc2UgdGl0bGUgd2hlbiB0aGUgam9iIGZpbmlzaGVzLiBMZWZ0IHVuZGVmaW5lZCwgdGhlIHJ1bm5lciBmYWxsc1xuICAgKiBiYWNrIHRvIGB2ZWxvY2lvdXMgam9iLXJ1bm5lcjogPEpvYk5hbWU+YC4gU2V0IGUuZy5cbiAgICogYHN0YXRpYyBwcm9jZXNzVGl0bGUgPSBcInZlbG9jaW91cyBtZWRpYSB0cmFuc2NvZGVyXCJgIHRvIGdpdmUgYSBqb2IgYVxuICAgKiBjdXN0b20sIGh1bWFuLXJlYWRhYmxlIHRpdGxlLlxuICAgKiBAdHlwZSB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgc3RhdGljIHByb2Nlc3NUaXRsZSA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBTdG9wcyB0aGlzIHBlcmZvcm1hbmNlIGFuZCByZXNjaGVkdWxlcyB0aGUgc2FtZSBsb2dpY2FsIGpvYiByb3cuIFRoaXMgaXNcbiAgICogbm9ybWFsIGNvbnRyb2wgZmxvdzogaXQgZG9lcyBub3QgY291bnQgYXMgYSBmYWlsdXJlIG9yIGNvbnN1bWUgYSByZXRyeS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGRlbGF5TXMgLSBOb24tbmVnYXRpdmUgc2FmZS1pbnRlZ2VyIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogQHJldHVybnMge25ldmVyfSAtIFRoaXMgbWV0aG9kIG5ldmVyIHJldHVybnMuXG4gICAqL1xuICByZXNjaGVkdWxlSW4oZGVsYXlNcykge1xuICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIoZGVsYXlNcykgfHwgZGVsYXlNcyA8IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJiYWNrZ3JvdW5kIGpvYiByZXNjaGVkdWxlIGRlbGF5TXMgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBzYWZlIGludGVnZXJcIilcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQmFja2dyb3VuZEpvYlJlc2NoZWR1bGVTaWduYWwoZGVsYXlNcylcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGpvYiBuYW1lLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIEpvYiBuYW1lLlxuICAgKi9cbiAgc3RhdGljIGpvYk5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEZvbGRzIHRoaXMgam9iIGNsYXNzJ3Mgc3RhdGljIGBxdWV1ZWAgaW50byB0aGUgZW5xdWV1ZSBvcHRpb25zIHVubGVzcyB0aGVcbiAgICogY2FsbGVyIGFscmVhZHkgc3BlY2lmaWVkIG9uZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zIHwgdW5kZWZpbmVkfSBvcHRpb25zIC0gSm9iIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfSAtIE9wdGlvbnMgaW5jbHVkaW5nIHRoZSByZXNvbHZlZCBxdWV1ZS5cbiAgICovXG4gIHN0YXRpYyBfd2l0aFF1ZXVlKG9wdGlvbnMpIHtcbiAgICBjb25zdCBtZXJnZWQgPSBvcHRpb25zID8gey4uLm9wdGlvbnN9IDoge31cblxuICAgIGlmIChtZXJnZWQucXVldWUgPT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdGhpcy5xdWV1ZSA9PT0gXCJzdHJpbmdcIiAmJiB0aGlzLnF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIG1lcmdlZC5xdWV1ZSA9IHRoaXMucXVldWVcbiAgICB9XG5cbiAgICByZXR1cm4gbWVyZ2VkXG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgY2xhc3MtZGVyaXZlZCBlbnF1ZXVlIG9wdGlvbnMgb24gYSBoeWRyYXRlZCBqb2IgaW5zdGFuY2UuIEV4cGxpY2l0XG4gICAqIHBlci1lbnF1ZXVlIG9wdGlvbnMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIGluc3RhbmNlIGNvbmN1cnJlbmN5IGtleS5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBKb2IgY29udGV4dC5cbiAgICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3Muam9iQXJncyAtIEpvYiBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9ucyB8IHVuZGVmaW5lZH0gYXJncy5qb2JPcHRpb25zIC0gSm9iIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfSAtIFJlc29sdmVkIGpvYiBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIF93aXRoSm9iQ29udGV4dCh7am9iQXJncywgam9iT3B0aW9uc30pIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fd2l0aFF1ZXVlKGpvYk9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucy5jb25jdXJyZW5jeUtleSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gb3B0aW9uc1xuXG4gICAgY29uc3Qgam9iSW5zdGFuY2UgPSBuZXcgdGhpcygpXG4gICAgam9iSW5zdGFuY2UuX3NldEJhY2tncm91bmRKb2JDb250ZXh0KHtcbiAgICAgIGFyZ3M6IGpvYkFyZ3MsXG4gICAgICBqb2JDbGFzczogdGhpcyxcbiAgICAgIGpvYk5hbWU6IHRoaXMuam9iTmFtZSgpLFxuICAgICAgb3B0aW9uc1xuICAgIH0pXG4gICAgY29uc3QgY29uY3VycmVuY3lLZXkgPSBqb2JJbnN0YW5jZS5jb25jdXJyZW5jeUtleSgpXG5cbiAgICBpZiAoY29uY3VycmVuY3lLZXkgIT09IHVuZGVmaW5lZCkgb3B0aW9ucy5jb25jdXJyZW5jeUtleSA9IGNvbmN1cnJlbmN5S2V5XG5cbiAgICByZXR1cm4gb3B0aW9uc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbXBsZXRlIGNvbnRleHQgYXZhaWxhYmxlIHRvIHRoaXMgaHlkcmF0ZWQgam9iIGluc3RhbmNlLlxuICAgKiBGcmFtZXdvcmsgZW5xdWV1ZS9ydW5uZXIgYm91bmRhcmllcyBvd24gdGhpcyBtZXRob2QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iQ29udGV4dH0gY29udGV4dCAtIEpvYiBjb250ZXh0LlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIF9zZXRCYWNrZ3JvdW5kSm9iQ29udGV4dChjb250ZXh0KSB7XG4gICAgdGhpcy5fYmFja2dyb3VuZEpvYkNvbnRleHQgPSBjb250ZXh0XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGlzIGh5ZHJhdGVkIGpvYidzIGNvbXBsZXRlIGVucXVldWUgb3IgcnVubmVyIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JDb250ZXh0fSAtIEpvYiBjb250ZXh0LlxuICAgKi9cbiAgYmFja2dyb3VuZEpvYkNvbnRleHQoKSB7XG4gICAgaWYgKCF0aGlzLl9iYWNrZ3JvdW5kSm9iQ29udGV4dCkgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZCBqb2IgY29udGV4dCBpcyBub3QgaHlkcmF0ZWRcIilcblxuICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kSm9iQ29udGV4dFxuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRvIGRlcml2ZSBhIGR1cmFibGUgY29uY3VycmVuY3kga2V5IGZyb20gYGJhY2tncm91bmRKb2JDb250ZXh0KClgLlxuICAgKiBQYWlyIHRoZSBkZXJpdmVkIGtleSB3aXRoIGBtYXhDb25jdXJyZW5jeWAgaW4gZW5xdWV1ZSBvcHRpb25zLiBBbiBleHBsaWNpdFxuICAgKiBwZXItZW5xdWV1ZSBgY29uY3VycmVuY3lLZXlgIHRha2VzIHByZWNlZGVuY2UgYW5kIHNraXBzIHRoaXMgbWV0aG9kLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIERlcml2ZWQgY29uY3VycmVuY3kga2V5LCBvciB1bmRlZmluZWQgZm9yIG5vbmUuXG4gICAqL1xuICBjb25jdXJyZW5jeUtleSgpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUnVucyBwZXJmb3JtIGxhdGVyLlxuICAgKiBAcGFyYW0gey4uLlJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSBhcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gSm9iIGlkLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHBlcmZvcm1MYXRlciguLi5hcmdzKSB7XG4gICAgY29uc3Qge2pvYkFyZ3MsIGpvYk9wdGlvbnN9ID0gdGhpcy5fc3BsaXRBcmdzQW5kT3B0aW9ucyhhcmdzKVxuICAgIHJldHVybiBhd2FpdCBlbnF1ZXVlQmFja2dyb3VuZEpvYih7Sm9iQ2xhc3M6IHRoaXMsIGpvYkFyZ3MsIGpvYk9wdGlvbnN9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcGVyZm9ybSBsYXRlciB3aXRoIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MuYXJncyAtIEpvYiBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IFthcmdzLm9wdGlvbnNdIC0gSm9iIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gSm9iIGlkLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHBlcmZvcm1MYXRlcldpdGhPcHRpb25zKHthcmdzLCBvcHRpb25zfSkge1xuICAgIHJldHVybiBhd2FpdCBlbnF1ZXVlQmFja2dyb3VuZEpvYih7Sm9iQ2xhc3M6IHRoaXMsIGpvYkFyZ3M6IGFyZ3MsIGpvYk9wdGlvbnM6IG9wdGlvbnN9KVxuICB9XG5cbiAgLyoqXG4gICAqIEF0b21pY2FsbHkgcmVwbGFjZXMgdGhpcyBqb2IgY2xhc3MncyBxdWV1ZWQgb3duZXIgZm9yIGEgc3RhYmxlIHNjaGVkdWxlIGtleS5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleS5cbiAgICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MuYXJncyAtIEpvYiBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IFthcmdzLm9wdGlvbnNdIC0gSm9iIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJlcGxhY2VtZW50UmVzdWx0Pn0gLSBSZXBsYWNlbWVudCByZXN1bHQuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcmVwbGFjZVNjaGVkdWxlZCh7c2NoZWR1bGVLZXksIGFyZ3MsIG9wdGlvbnN9KSB7XG4gICAgcmV0dXJuIGF3YWl0IHJlcGxhY2VTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iKHtKb2JDbGFzczogdGhpcywgc2NoZWR1bGVLZXksIGpvYkFyZ3M6IGFyZ3MsIGpvYk9wdGlvbnM6IG9wdGlvbnN9KVxuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbHMgb3IgZGV0YWNoZXMgdGhlIGN1cnJlbnQgb3duZXIgb2YgYSBzdGFibGUgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2NoZWR1bGVLZXkgLSBTdGFibGUgbG9naWNhbCBzY2hlZHVsZSBrZXkuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYkNhbmNlbGxhdGlvblJlc3VsdD59IC0gQ2FuY2VsbGF0aW9uIHJlc3VsdC5cbiAgICovXG4gIHN0YXRpYyBhc3luYyBjYW5jZWxTY2hlZHVsZWQoc2NoZWR1bGVLZXkpIHtcbiAgICByZXR1cm4gYXdhaXQgY2FuY2VsU2NoZWR1bGVkQmFja2dyb3VuZEpvYihzY2hlZHVsZUtleSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNwbGl0IGFyZ3MgYW5kIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEByZXR1cm5zIHt7am9iQXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+LCBqb2JPcHRpb25zOiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfX0gLSBTcGxpdCBhcmdzIGFuZCBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIF9zcGxpdEFyZ3NBbmRPcHRpb25zKGFyZ3MpIHtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7am9iQXJnczogW10sIGpvYk9wdGlvbnM6IHt9fVxuICAgIH1cblxuICAgIGNvbnN0IGxhc3RBcmcgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV1cbiAgICBjb25zdCBpc09wdGlvbnNBcmcgPSBsYXN0QXJnICYmIHR5cGVvZiBsYXN0QXJnID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5KGxhc3RBcmcpICYmIFwiam9iT3B0aW9uc1wiIGluIGxhc3RBcmdcblxuICAgIGlmIChpc09wdGlvbnNBcmcpIHtcbiAgICAgIGNvbnN0IHtqb2JPcHRpb25zfSA9IC8qKiBAdHlwZSB7e2pvYk9wdGlvbnM6IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9fSAqLyAobGFzdEFyZylcbiAgICAgIHJldHVybiB7am9iQXJnczogYXJncy5zbGljZSgwLCAtMSksIGpvYk9wdGlvbnM6IGpvYk9wdGlvbnMgfHwge319XG4gICAgfVxuXG4gICAgcmV0dXJuIHtqb2JBcmdzOiBhcmdzLCBqb2JPcHRpb25zOiB7fX1cbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSBpbiBzdWJjbGFzc2VzLlxuICAgKiBAcGFyYW0ge1RBcmdzfSBfYXJncyAtIEpvYiBhcmdzICh0aGUgdHVwbGUgdGhpcyBqb2IgY2xhc3Mgd2FzIHBhcmFtZXRlcml6ZWQgd2l0aCkuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBwZXJmb3JtKC4uLl9hcmdzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwicGVyZm9ybSBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/runtime.js"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAC,EALvE;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAEuE,GAF7D,OAAO,CAAC,MAAM,CAAC,CAM3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,oCAAoC,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAC,EANtG;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAEsG,GAF5F,OAAO,CAAC,MAAM,CAAC,CAkC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAC,EAN7F;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAqB,WAAW,EAAxB,MAAM,CACd;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAE6F,GAFnF,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAMxE;AAED;;;;;;;;;GASG;AACH,wBAAsB,6CAA6C,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAC,EAP5H;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAqB,WAAW,EAAxB,MAAM,CACd;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAE4H,GAFlH,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAgBxE;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,WAAW,EAHnD,MAGmD,GAFjD,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAMzE;AAED;;;;;;GAMG;AACH,wBAAsB,4CAA4C,CAAC,EAAC,aAAa,EAAE,WAAW,EAAC,EAJ5F;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAqB,WAAW,EAAxB,MAAM,CACd;CAE4F,GAFlF,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAWzE"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/runtime.js"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAC,EALvE;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAEuE,GAF7D,OAAO,CAAC,MAAM,CAAC,CAM3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,oCAAoC,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAC,EANtG;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAEsG,GAF5F,OAAO,CAAC,MAAM,CAAC,CAoC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAC,EAN7F;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAqB,WAAW,EAAxB,MAAM,CACd;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAE6F,GAFnF,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAMxE;AAED;;;;;;;;;GASG;AACH,wBAAsB,6CAA6C,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAC,EAP5H;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAyD,QAAQ,EAAzD,cAAc,mBAAmB,EAAE,OAAO,CAClD;IAAqB,WAAW,EAAxB,MAAM,CACd;IAAmD,OAAO,EAAlD,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;IAAoE,UAAU,EAAtE,OAAO,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAC7D;CAE4H,GAFlH,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAiBxE;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,WAAW,EAHnD,MAGmD,GAFjD,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAMzE;AAED;;;;;;GAMG;AACH,wBAAsB,4CAA4C,CAAC,EAAC,aAAa,EAAE,WAAW,EAAC,EAJ5F;IAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;IAAqB,WAAW,EAAxB,MAAM,CACd;CAE4F,GAFlF,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAWzE"}
@@ -44,8 +44,9 @@ export async function enqueueBackgroundJob({ JobClass, jobArgs, jobOptions }) {
44
44
  * @returns {Promise<string>} - Durable job id or ephemeral inline performance id.
45
45
  */
46
46
  export async function enqueueBackgroundJobForConfiguration({ configuration, JobClass, jobArgs, jobOptions }) {
47
+ const resolvedJobOptions = JobClass._withJobContext({ jobArgs, jobOptions });
47
48
  if (configuration.getBackgroundJobsConfig().mode === "inline") {
48
- validateInlineOptions(jobOptions);
49
+ validateInlineOptions(resolvedJobOptions);
49
50
  configuration.setCurrent();
50
51
  await configuration.initialize({ type: "background-jobs-inline" });
51
52
  try {
@@ -53,6 +54,7 @@ export async function enqueueBackgroundJobForConfiguration({ configuration, JobC
53
54
  configuration,
54
55
  JobClass,
55
56
  jobArgs,
57
+ jobOptions: resolvedJobOptions,
56
58
  name: `Background job inline mode: ${JobClass.jobName()}`
57
59
  });
58
60
  }
@@ -68,7 +70,7 @@ export async function enqueueBackgroundJobForConfiguration({ configuration, JobC
68
70
  return await client.enqueue({
69
71
  jobName: JobClass.jobName(),
70
72
  args: jobArgs,
71
- options: JobClass._withQueue(jobOptions)
73
+ options: resolvedJobOptions
72
74
  });
73
75
  }
74
76
  /**
@@ -99,11 +101,12 @@ export async function replaceScheduledBackgroundJobForConfiguration({ configurat
99
101
  throw new Error("replaceScheduled is not supported in inline mode");
100
102
  }
101
103
  const client = configuration.getEnvironmentHandler().backgroundJobsClient({ configuration });
104
+ const resolvedJobOptions = JobClass._withJobContext({ jobArgs, jobOptions });
102
105
  return await client.replaceScheduled({
103
106
  scheduleKey,
104
107
  jobName: JobClass.jobName(),
105
108
  args: jobArgs,
106
- options: JobClass._withQueue(jobOptions)
109
+ options: resolvedJobOptions
107
110
  });
108
111
  }
109
112
  /**
@@ -129,4 +132,4 @@ export async function cancelScheduledBackgroundJobForConfiguration({ configurati
129
132
  const client = configuration.getEnvironmentHandler().backgroundJobsClient({ configuration });
130
133
  return await client.cancelScheduled({ scheduleKey });
131
134
  }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvcnVudGltZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUE7QUFDaEUsT0FBTyxvQkFBb0IsTUFBTSxrQkFBa0IsQ0FBQTtBQUNuRCxPQUFPLDZCQUE2QixNQUFNLHdCQUF3QixDQUFBO0FBRWxFLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxDQUFBO0FBRWpDOzs7O0dBSUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLE9BQU87SUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUE7SUFFOUMsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtJQUM1RixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsV0FBVztJQUNsQix5QkFBeUIsRUFBRSxDQUFBO0lBQzNCLE9BQU8sVUFBVSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUkseUJBQXlCLEVBQUUsQ0FBQTtBQUM1RCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsb0JBQW9CLENBQUMsRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQztJQUN4RSxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsRUFBRSxDQUFBO0lBRTVDLE9BQU8sTUFBTSxvQ0FBb0MsQ0FBQyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7QUFDbkcsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLEtB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VSw0Q0FBNEMsQ0FBQyxFQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUM7SUFFN0YsSUFBSSxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFDLGFBQWEsRUFBQyxDQUFDLENBQUE7SUFFMUYsT0FBTyxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFBO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHtjdXJyZW50Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4uL2N1cnJlbnQtY29uZmlndXJhdGlvbi5qc1wiXG5pbXBvcnQgcGVyZm9ybUJhY2tncm91bmRKb2IgZnJvbSBcIi4vcGVyZm9ybS1qb2IuanNcIlxuaW1wb3J0IEJhY2tncm91bmRKb2JSZXNjaGVkdWxlU2lnbmFsIGZyb20gXCIuL3Jlc2NoZWR1bGUtc2lnbmFsLmpzXCJcblxubGV0IGlubGluZVBlcmZvcm1hbmNlU2VxdWVuY2UgPSAwXG5cbi8qKlxuICogUmVqZWN0cyBvcHRpb25zIHdob3NlIHNlbWFudGljcyByZXF1aXJlIGR1cmFibGUgcXVldWUgc3RhdGUuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnMgfCB1bmRlZmluZWR9IG9wdGlvbnMgLSBSZXF1ZXN0ZWQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUlubGluZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBvcHRpb25OYW1lcyA9IE9iamVjdC5rZXlzKG9wdGlvbnMgfHwge30pXG5cbiAgaWYgKG9wdGlvbk5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEJhY2tncm91bmQgam9iIG9wdGlvbiAke29wdGlvbk5hbWVzWzBdfSBpcyBub3Qgc3VwcG9ydGVkIGluIGlubGluZSBtb2RlYClcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBlcGhlbWVyYWwgaW5saW5lIHBlcmZvcm1hbmNlIGlkLlxuICogQHJldHVybnMge3N0cmluZ30gLSBQZXJmb3JtYW5jZSBpZC5cbiAqL1xuZnVuY3Rpb24gaW5saW5lSm9iSWQoKSB7XG4gIGlubGluZVBlcmZvcm1hbmNlU2VxdWVuY2UrK1xuICByZXR1cm4gYGlubGluZS0ke0RhdGUubm93KCl9LSR7aW5saW5lUGVyZm9ybWFuY2VTZXF1ZW5jZX1gXG59XG5cbi8qKlxuICogRW5xdWV1ZXMgZHVyYWJseSBpbiBiYWNrZ3JvdW5kIG1vZGUgb3IgcGVyZm9ybXMgaW1tZWRpYXRlbHkgaW4gaW5saW5lIG1vZGUuXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIEVucXVldWUgcmVxdWVzdC5cbiAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vcGxhdGZvcm0tam9iLmpzXCIpLmRlZmF1bHR9IGFyZ3MuSm9iQ2xhc3MgLSBKb2IgY2xhc3MuXG4gKiBAcGFyYW0ge0FycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5qb2JBcmdzIC0gSm9iIGFyZ3VtZW50cy5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9ucyB8IHVuZGVmaW5lZH0gYXJncy5qb2JPcHRpb25zIC0gSm9iIG9wdGlvbnMuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSAtIER1cmFibGUgam9iIGlkIG9yIGVwaGVtZXJhbCBpbmxpbmUgcGVyZm9ybWFuY2UgaWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnF1ZXVlQmFja2dyb3VuZEpvYih7Sm9iQ2xhc3MsIGpvYkFyZ3MsIGpvYk9wdGlvbnN9KSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBjdXJyZW50Q29uZmlndXJhdGlvbigpXG5cbiAgcmV0dXJuIGF3YWl0IGVucXVldWVCYWNrZ3JvdW5kSm9iRm9yQ29uZmlndXJhdGlvbih7Y29uZmlndXJhdGlvbiwgSm9iQ2xhc3MsIGpvYkFyZ3MsIGpvYk9wdGlvbnN9KVxufVxuXG4vKipcbiAqIEVucXVldWVzIHVzaW5nIGFuIGV4cGxpY2l0bHkgcmVzb2x2ZWQgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gRW5xdWV1ZSByZXF1ZXN0LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3BsYXRmb3JtLWpvYi5qc1wiKS5kZWZhdWx0fSBhcmdzLkpvYkNsYXNzIC0gSm9iIGNsYXNzLlxuICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3Muam9iQXJncyAtIEpvYiBhcmd1bWVudHMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnMgfCB1bmRlZmluZWR9IGFyZ3Muam9iT3B0aW9ucyAtIEpvYiBvcHRpb25zLlxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBEdXJhYmxlIGpvYiBpZCBvciBlcGhlbWVyYWwgaW5saW5lIHBlcmZvcm1hbmNlIGlkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5xdWV1ZUJhY2tncm91bmRKb2JGb3JDb25maWd1cmF0aW9uKHtjb25maWd1cmF0aW9uLCBKb2JDbGFzcywgam9iQXJncywgam9iT3B0aW9uc30pIHtcblxuICBpZiAoY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpLm1vZGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICB2YWxpZGF0ZUlubGluZU9wdGlvbnMoam9iT3B0aW9ucylcbiAgICBjb25maWd1cmF0aW9uLnNldEN1cnJlbnQoKVxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJiYWNrZ3JvdW5kLWpvYnMtaW5saW5lXCJ9KVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBlcmZvcm1CYWNrZ3JvdW5kSm9iKHtcbiAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgSm9iQ2xhc3MsXG4gICAgICAgIGpvYkFyZ3MsXG4gICAgICAgIG5hbWU6IGBCYWNrZ3JvdW5kIGpvYiBpbmxpbmUgbW9kZTogJHtKb2JDbGFzcy5qb2JOYW1lKCl9YFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQmFja2dyb3VuZEpvYlJlc2NoZWR1bGVTaWduYWwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmVzY2hlZHVsZUluIGlzIG5vdCBzdXBwb3J0ZWQgaW4gaW5saW5lIG1vZGVcIiwge2NhdXNlOiBlcnJvcn0pXG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuXG4gICAgcmV0dXJuIGlubGluZUpvYklkKClcbiAgfVxuXG4gIGNvbnN0IGNsaWVudCA9IGNvbmZpZ3VyYXRpb24uZ2V0RW52aXJvbm1lbnRIYW5kbGVyKCkuYmFja2dyb3VuZEpvYnNDbGllbnQoe2NvbmZpZ3VyYXRpb259KVxuXG4gIHJldHVybiBhd2FpdCBjbGllbnQuZW5xdWV1ZSh7XG4gICAgam9iTmFtZTogSm9iQ2xhc3Muam9iTmFtZSgpLFxuICAgIGFyZ3M6IGpvYkFyZ3MsXG4gICAgb3B0aW9uczogSm9iQ2xhc3MuX3dpdGhRdWV1ZShqb2JPcHRpb25zKVxuICB9KVxufVxuXG4vKipcbiAqIFJlcGxhY2VzIGEgc3RhYmxlIGR1cmFibGUgc2NoZWR1bGUgaW4gYmFja2dyb3VuZCBtb2RlLlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBSZXBsYWNlbWVudCByZXF1ZXN0LlxuICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9wbGF0Zm9ybS1qb2IuanNcIikuZGVmYXVsdH0gYXJncy5Kb2JDbGFzcyAtIEpvYiBjbGFzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnNjaGVkdWxlS2V5IC0gU3RhYmxlIHNjaGVkdWxlIGtleS5cbiAqIEBwYXJhbSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLmpvYkFyZ3MgLSBKb2IgYXJndW1lbnRzLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zIHwgdW5kZWZpbmVkfSBhcmdzLmpvYk9wdGlvbnMgLSBKb2Igb3B0aW9ucy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJlcGxhY2VtZW50UmVzdWx0Pn0gLSBSZXBsYWNlbWVudCByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlU2NoZWR1bGVkQmFja2dyb3VuZEpvYih7Sm9iQ2xhc3MsIHNjaGVkdWxlS2V5LCBqb2JBcmdzLCBqb2JPcHRpb25zfSkge1xuICBjb25zdCBjb25maWd1cmF0aW9uID0gY3VycmVudENvbmZpZ3VyYXRpb24oKVxuXG4gIHJldHVybiBhd2FpdCByZXBsYWNlU2NoZWR1bGVkQmFja2dyb3VuZEpvYkZvckNvbmZpZ3VyYXRpb24oe2NvbmZpZ3VyYXRpb24sIEpvYkNsYXNzLCBzY2hlZHVsZUtleSwgam9iQXJncywgam9iT3B0aW9uc30pXG59XG5cbi8qKlxuICogUmVwbGFjZXMgYSBzdGFibGUgc2NoZWR1bGUgdXNpbmcgYW4gZXhwbGljaXRseSByZXNvbHZlZCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBSZXBsYWNlbWVudCByZXF1ZXN0LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3BsYXRmb3JtLWpvYi5qc1wiKS5kZWZhdWx0fSBhcmdzLkpvYkNsYXNzIC0gSm9iIGNsYXNzLlxuICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Muc2NoZWR1bGVLZXkgLSBTdGFibGUgc2NoZWR1bGUga2V5LlxuICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3Muam9iQXJncyAtIEpvYiBhcmd1bWVudHMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnMgfCB1bmRlZmluZWR9IGFyZ3Muam9iT3B0aW9ucyAtIEpvYiBvcHRpb25zLlxuICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iUmVwbGFjZW1lbnRSZXN1bHQ+fSAtIFJlcGxhY2VtZW50IHJlc3VsdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcGxhY2VTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iRm9yQ29uZmlndXJhdGlvbih7Y29uZmlndXJhdGlvbiwgSm9iQ2xhc3MsIHNjaGVkdWxlS2V5LCBqb2JBcmdzLCBqb2JPcHRpb25zfSkge1xuXG4gIGlmIChjb25maWd1cmF0aW9uLmdldEJhY2tncm91bmRKb2JzQ29uZmlnKCkubW9kZSA9PT0gXCJpbmxpbmVcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcInJlcGxhY2VTY2hlZHVsZWQgaXMgbm90IHN1cHBvcnRlZCBpbiBpbmxpbmUgbW9kZVwiKVxuICB9XG5cbiAgY29uc3QgY2xpZW50ID0gY29uZmlndXJhdGlvbi5nZXRFbnZpcm9ubWVudEhhbmRsZXIoKS5iYWNrZ3JvdW5kSm9ic0NsaWVudCh7Y29uZmlndXJhdGlvbn0pXG5cbiAgcmV0dXJuIGF3YWl0IGNsaWVudC5yZXBsYWNlU2NoZWR1bGVkKHtcbiAgICBzY2hlZHVsZUtleSxcbiAgICBqb2JOYW1lOiBKb2JDbGFzcy5qb2JOYW1lKCksXG4gICAgYXJnczogam9iQXJncyxcbiAgICBvcHRpb25zOiBKb2JDbGFzcy5fd2l0aFF1ZXVlKGpvYk9wdGlvbnMpXG4gIH0pXG59XG5cbi8qKlxuICogQ2FuY2VscyBhIHN0YWJsZSBkdXJhYmxlIHNjaGVkdWxlIGluIGJhY2tncm91bmQgbW9kZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlZHVsZUtleSAtIFN0YWJsZSBzY2hlZHVsZSBrZXkuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JDYW5jZWxsYXRpb25SZXN1bHQ+fSAtIENhbmNlbGxhdGlvbiByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjYW5jZWxTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iKHNjaGVkdWxlS2V5KSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBjdXJyZW50Q29uZmlndXJhdGlvbigpXG5cbiAgcmV0dXJuIGF3YWl0IGNhbmNlbFNjaGVkdWxlZEJhY2tncm91bmRKb2JGb3JDb25maWd1cmF0aW9uKHtjb25maWd1cmF0aW9uLCBzY2hlZHVsZUtleX0pXG59XG5cbi8qKlxuICogQ2FuY2VscyBhIHN0YWJsZSBzY2hlZHVsZSB1c2luZyBhbiBleHBsaWNpdGx5IHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENhbmNlbGxhdGlvbiByZXF1ZXN0LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYkNhbmNlbGxhdGlvblJlc3VsdD59IC0gQ2FuY2VsbGF0aW9uIHJlc3VsdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbmNlbFNjaGVkdWxlZEJhY2tncm91bmRKb2JGb3JDb25maWd1cmF0aW9uKHtjb25maWd1cmF0aW9uLCBzY2hlZHVsZUtleX0pIHtcblxuICBpZiAoY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpLm1vZGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjYW5jZWxTY2hlZHVsZWQgaXMgbm90IHN1cHBvcnRlZCBpbiBpbmxpbmUgbW9kZVwiKVxuICB9XG5cbiAgY29uc3QgY2xpZW50ID0gY29uZmlndXJhdGlvbi5nZXRFbnZpcm9ubWVudEhhbmRsZXIoKS5iYWNrZ3JvdW5kSm9ic0NsaWVudCh7Y29uZmlndXJhdGlvbn0pXG5cbiAgcmV0dXJuIGF3YWl0IGNsaWVudC5jYW5jZWxTY2hlZHVsZWQoe3NjaGVkdWxlS2V5fSlcbn1cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvcnVudGltZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUE7QUFDaEUsT0FBTyxvQkFBb0IsTUFBTSxrQkFBa0IsQ0FBQTtBQUNuRCxPQUFPLDZCQUE2QixNQUFNLHdCQUF3QixDQUFBO0FBRWxFLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxDQUFBO0FBRWpDOzs7O0dBSUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLE9BQU87SUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUE7SUFFOUMsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtJQUM1RixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsV0FBVztJQUNsQix5QkFBeUIsRUFBRSxDQUFBO0lBQzNCLE9BQU8sVUFBVSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUkseUJBQXlCLEVBQUUsQ0FBQTtBQUM1RCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsb0JBQW9CLENBQUMsRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQztJQUN4RSxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsRUFBRSxDQUFBO0lBRTVDLE9BQU8sTUFBTSxvQ0FBb0MsQ0FBQyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7QUFDbkcsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLEtB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YSxHQUFHLG9CQUFvQixFQUFFLENBQUE7SUFFNUMsT0FBTyxNQUFNLDRDQUE0QyxDQUFDLEVBQUMsYUFBYSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUE7QUFDekYsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsNENBQTRDLENBQUMsRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFDO0lBRTdGLElBQUksYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxDQUFBO0lBRTFGLE9BQU8sTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQTtBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7Y3VycmVudENvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9jdXJyZW50LWNvbmZpZ3VyYXRpb24uanNcIlxuaW1wb3J0IHBlcmZvcm1CYWNrZ3JvdW5kSm9iIGZyb20gXCIuL3BlcmZvcm0tam9iLmpzXCJcbmltcG9ydCBCYWNrZ3JvdW5kSm9iUmVzY2hlZHVsZVNpZ25hbCBmcm9tIFwiLi9yZXNjaGVkdWxlLXNpZ25hbC5qc1wiXG5cbmxldCBpbmxpbmVQZXJmb3JtYW5jZVNlcXVlbmNlID0gMFxuXG4vKipcbiAqIFJlamVjdHMgb3B0aW9ucyB3aG9zZSBzZW1hbnRpY3MgcmVxdWlyZSBkdXJhYmxlIHF1ZXVlIHN0YXRlLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zIHwgdW5kZWZpbmVkfSBvcHRpb25zIC0gUmVxdWVzdGVkIG9wdGlvbnMuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVJbmxpbmVPcHRpb25zKG9wdGlvbnMpIHtcbiAgY29uc3Qgb3B0aW9uTmFtZXMgPSBPYmplY3Qua2V5cyhvcHRpb25zIHx8IHt9KVxuXG4gIGlmIChvcHRpb25OYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBCYWNrZ3JvdW5kIGpvYiBvcHRpb24gJHtvcHRpb25OYW1lc1swXX0gaXMgbm90IHN1cHBvcnRlZCBpbiBpbmxpbmUgbW9kZWApXG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZHMgYW4gZXBoZW1lcmFsIGlubGluZSBwZXJmb3JtYW5jZSBpZC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gUGVyZm9ybWFuY2UgaWQuXG4gKi9cbmZ1bmN0aW9uIGlubGluZUpvYklkKCkge1xuICBpbmxpbmVQZXJmb3JtYW5jZVNlcXVlbmNlKytcbiAgcmV0dXJuIGBpbmxpbmUtJHtEYXRlLm5vdygpfS0ke2lubGluZVBlcmZvcm1hbmNlU2VxdWVuY2V9YFxufVxuXG4vKipcbiAqIEVucXVldWVzIGR1cmFibHkgaW4gYmFja2dyb3VuZCBtb2RlIG9yIHBlcmZvcm1zIGltbWVkaWF0ZWx5IGluIGlubGluZSBtb2RlLlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBFbnF1ZXVlIHJlcXVlc3QuXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3BsYXRmb3JtLWpvYi5qc1wiKS5kZWZhdWx0fSBhcmdzLkpvYkNsYXNzIC0gSm9iIGNsYXNzLlxuICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3Muam9iQXJncyAtIEpvYiBhcmd1bWVudHMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnMgfCB1bmRlZmluZWR9IGFyZ3Muam9iT3B0aW9ucyAtIEpvYiBvcHRpb25zLlxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBEdXJhYmxlIGpvYiBpZCBvciBlcGhlbWVyYWwgaW5saW5lIHBlcmZvcm1hbmNlIGlkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5xdWV1ZUJhY2tncm91bmRKb2Ioe0pvYkNsYXNzLCBqb2JBcmdzLCBqb2JPcHRpb25zfSkge1xuICBjb25zdCBjb25maWd1cmF0aW9uID0gY3VycmVudENvbmZpZ3VyYXRpb24oKVxuXG4gIHJldHVybiBhd2FpdCBlbnF1ZXVlQmFja2dyb3VuZEpvYkZvckNvbmZpZ3VyYXRpb24oe2NvbmZpZ3VyYXRpb24sIEpvYkNsYXNzLCBqb2JBcmdzLCBqb2JPcHRpb25zfSlcbn1cblxuLyoqXG4gKiBFbnF1ZXVlcyB1c2luZyBhbiBleHBsaWNpdGx5IHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIEVucXVldWUgcmVxdWVzdC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9wbGF0Zm9ybS1qb2IuanNcIikuZGVmYXVsdH0gYXJncy5Kb2JDbGFzcyAtIEpvYiBjbGFzcy5cbiAqIEBwYXJhbSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLmpvYkFyZ3MgLSBKb2IgYXJndW1lbnRzLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zIHwgdW5kZWZpbmVkfSBhcmdzLmpvYk9wdGlvbnMgLSBKb2Igb3B0aW9ucy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gRHVyYWJsZSBqb2IgaWQgb3IgZXBoZW1lcmFsIGlubGluZSBwZXJmb3JtYW5jZSBpZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVucXVldWVCYWNrZ3JvdW5kSm9iRm9yQ29uZmlndXJhdGlvbih7Y29uZmlndXJhdGlvbiwgSm9iQ2xhc3MsIGpvYkFyZ3MsIGpvYk9wdGlvbnN9KSB7XG4gIGNvbnN0IHJlc29sdmVkSm9iT3B0aW9ucyA9IEpvYkNsYXNzLl93aXRoSm9iQ29udGV4dCh7am9iQXJncywgam9iT3B0aW9uc30pXG5cbiAgaWYgKGNvbmZpZ3VyYXRpb24uZ2V0QmFja2dyb3VuZEpvYnNDb25maWcoKS5tb2RlID09PSBcImlubGluZVwiKSB7XG4gICAgdmFsaWRhdGVJbmxpbmVPcHRpb25zKHJlc29sdmVkSm9iT3B0aW9ucylcbiAgICBjb25maWd1cmF0aW9uLnNldEN1cnJlbnQoKVxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJiYWNrZ3JvdW5kLWpvYnMtaW5saW5lXCJ9KVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBlcmZvcm1CYWNrZ3JvdW5kSm9iKHtcbiAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgSm9iQ2xhc3MsXG4gICAgICAgIGpvYkFyZ3MsXG4gICAgICAgIGpvYk9wdGlvbnM6IHJlc29sdmVkSm9iT3B0aW9ucyxcbiAgICAgICAgbmFtZTogYEJhY2tncm91bmQgam9iIGlubGluZSBtb2RlOiAke0pvYkNsYXNzLmpvYk5hbWUoKX1gXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBCYWNrZ3JvdW5kSm9iUmVzY2hlZHVsZVNpZ25hbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZXNjaGVkdWxlSW4gaXMgbm90IHN1cHBvcnRlZCBpbiBpbmxpbmUgbW9kZVwiLCB7Y2F1c2U6IGVycm9yfSlcbiAgICAgIH1cblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICByZXR1cm4gaW5saW5lSm9iSWQoKVxuICB9XG5cbiAgY29uc3QgY2xpZW50ID0gY29uZmlndXJhdGlvbi5nZXRFbnZpcm9ubWVudEhhbmRsZXIoKS5iYWNrZ3JvdW5kSm9ic0NsaWVudCh7Y29uZmlndXJhdGlvbn0pXG5cbiAgcmV0dXJuIGF3YWl0IGNsaWVudC5lbnF1ZXVlKHtcbiAgICBqb2JOYW1lOiBKb2JDbGFzcy5qb2JOYW1lKCksXG4gICAgYXJnczogam9iQXJncyxcbiAgICBvcHRpb25zOiByZXNvbHZlZEpvYk9wdGlvbnNcbiAgfSlcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyBhIHN0YWJsZSBkdXJhYmxlIHNjaGVkdWxlIGluIGJhY2tncm91bmQgbW9kZS5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gUmVwbGFjZW1lbnQgcmVxdWVzdC5cbiAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vcGxhdGZvcm0tam9iLmpzXCIpLmRlZmF1bHR9IGFyZ3MuSm9iQ2xhc3MgLSBKb2IgY2xhc3MuXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zY2hlZHVsZUtleSAtIFN0YWJsZSBzY2hlZHVsZSBrZXkuXG4gKiBAcGFyYW0ge0FycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5qb2JBcmdzIC0gSm9iIGFyZ3VtZW50cy5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9ucyB8IHVuZGVmaW5lZH0gYXJncy5qb2JPcHRpb25zIC0gSm9iIG9wdGlvbnMuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSZXBsYWNlbWVudFJlc3VsdD59IC0gUmVwbGFjZW1lbnQgcmVzdWx0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVwbGFjZVNjaGVkdWxlZEJhY2tncm91bmRKb2Ioe0pvYkNsYXNzLCBzY2hlZHVsZUtleSwgam9iQXJncywgam9iT3B0aW9uc30pIHtcbiAgY29uc3QgY29uZmlndXJhdGlvbiA9IGN1cnJlbnRDb25maWd1cmF0aW9uKClcblxuICByZXR1cm4gYXdhaXQgcmVwbGFjZVNjaGVkdWxlZEJhY2tncm91bmRKb2JGb3JDb25maWd1cmF0aW9uKHtjb25maWd1cmF0aW9uLCBKb2JDbGFzcywgc2NoZWR1bGVLZXksIGpvYkFyZ3MsIGpvYk9wdGlvbnN9KVxufVxuXG4vKipcbiAqIFJlcGxhY2VzIGEgc3RhYmxlIHNjaGVkdWxlIHVzaW5nIGFuIGV4cGxpY2l0bHkgcmVzb2x2ZWQgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gUmVwbGFjZW1lbnQgcmVxdWVzdC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9wbGF0Zm9ybS1qb2IuanNcIikuZGVmYXVsdH0gYXJncy5Kb2JDbGFzcyAtIEpvYiBjbGFzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnNjaGVkdWxlS2V5IC0gU3RhYmxlIHNjaGVkdWxlIGtleS5cbiAqIEBwYXJhbSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLmpvYkFyZ3MgLSBKb2IgYXJndW1lbnRzLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zIHwgdW5kZWZpbmVkfSBhcmdzLmpvYk9wdGlvbnMgLSBKb2Igb3B0aW9ucy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJlcGxhY2VtZW50UmVzdWx0Pn0gLSBSZXBsYWNlbWVudCByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlU2NoZWR1bGVkQmFja2dyb3VuZEpvYkZvckNvbmZpZ3VyYXRpb24oe2NvbmZpZ3VyYXRpb24sIEpvYkNsYXNzLCBzY2hlZHVsZUtleSwgam9iQXJncywgam9iT3B0aW9uc30pIHtcblxuICBpZiAoY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpLm1vZGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZXBsYWNlU2NoZWR1bGVkIGlzIG5vdCBzdXBwb3J0ZWQgaW4gaW5saW5lIG1vZGVcIilcbiAgfVxuXG4gIGNvbnN0IGNsaWVudCA9IGNvbmZpZ3VyYXRpb24uZ2V0RW52aXJvbm1lbnRIYW5kbGVyKCkuYmFja2dyb3VuZEpvYnNDbGllbnQoe2NvbmZpZ3VyYXRpb259KVxuICBjb25zdCByZXNvbHZlZEpvYk9wdGlvbnMgPSBKb2JDbGFzcy5fd2l0aEpvYkNvbnRleHQoe2pvYkFyZ3MsIGpvYk9wdGlvbnN9KVxuXG4gIHJldHVybiBhd2FpdCBjbGllbnQucmVwbGFjZVNjaGVkdWxlZCh7XG4gICAgc2NoZWR1bGVLZXksXG4gICAgam9iTmFtZTogSm9iQ2xhc3Muam9iTmFtZSgpLFxuICAgIGFyZ3M6IGpvYkFyZ3MsXG4gICAgb3B0aW9uczogcmVzb2x2ZWRKb2JPcHRpb25zXG4gIH0pXG59XG5cbi8qKlxuICogQ2FuY2VscyBhIHN0YWJsZSBkdXJhYmxlIHNjaGVkdWxlIGluIGJhY2tncm91bmQgbW9kZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlZHVsZUtleSAtIFN0YWJsZSBzY2hlZHVsZSBrZXkuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JDYW5jZWxsYXRpb25SZXN1bHQ+fSAtIENhbmNlbGxhdGlvbiByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjYW5jZWxTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iKHNjaGVkdWxlS2V5KSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBjdXJyZW50Q29uZmlndXJhdGlvbigpXG5cbiAgcmV0dXJuIGF3YWl0IGNhbmNlbFNjaGVkdWxlZEJhY2tncm91bmRKb2JGb3JDb25maWd1cmF0aW9uKHtjb25maWd1cmF0aW9uLCBzY2hlZHVsZUtleX0pXG59XG5cbi8qKlxuICogQ2FuY2VscyBhIHN0YWJsZSBzY2hlZHVsZSB1c2luZyBhbiBleHBsaWNpdGx5IHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENhbmNlbGxhdGlvbiByZXF1ZXN0LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYkNhbmNlbGxhdGlvblJlc3VsdD59IC0gQ2FuY2VsbGF0aW9uIHJlc3VsdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbmNlbFNjaGVkdWxlZEJhY2tncm91bmRKb2JGb3JDb25maWd1cmF0aW9uKHtjb25maWd1cmF0aW9uLCBzY2hlZHVsZUtleX0pIHtcblxuICBpZiAoY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpLm1vZGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjYW5jZWxTY2hlZHVsZWQgaXMgbm90IHN1cHBvcnRlZCBpbiBpbmxpbmUgbW9kZVwiKVxuICB9XG5cbiAgY29uc3QgY2xpZW50ID0gY29uZmlndXJhdGlvbi5nZXRFbnZpcm9ubWVudEhhbmRsZXIoKS5iYWNrZ3JvdW5kSm9ic0NsaWVudCh7Y29uZmlndXJhdGlvbn0pXG5cbiAgcmV0dXJuIGF3YWl0IGNsaWVudC5jYW5jZWxTY2hlZHVsZWQoe3NjaGVkdWxlS2V5fSlcbn1cbiJdfQ==
@@ -192,6 +192,28 @@ export type BackgroundJobPayload = {
192
192
  */
193
193
  options?: BackgroundJobOptions;
194
194
  };
195
+ export type BackgroundJobContext = {
196
+ /**
197
+ * - Concrete job class.
198
+ */
199
+ jobClass: typeof import("./platform-job.js").default;
200
+ /**
201
+ * - Registered job name.
202
+ */
203
+ jobName: string;
204
+ /**
205
+ * - Serialized job arguments.
206
+ */
207
+ args: Array<ReturnType<typeof JSON.parse>>;
208
+ /**
209
+ * - Resolved enqueue/runtime options.
210
+ */
211
+ options: BackgroundJobOptions;
212
+ /**
213
+ * - Complete persisted runner payload when the job is performing.
214
+ */
215
+ payload?: BackgroundJobPayload;
216
+ };
195
217
  export type BackgroundJobRow = {
196
218
  /**
197
219
  * - Job id.
@@ -514,6 +536,14 @@ export type BackgroundJobSocketMessage = BackgroundJobHelloMessage | BackgroundJ
514
536
  * @property {number} [handedOffAtMs] - Time handed to a worker in ms.
515
537
  * @property {BackgroundJobOptions} [options] - Runtime options.
516
538
  */
539
+ /**
540
+ * @typedef {object} BackgroundJobContext
541
+ * @property {typeof import("./platform-job.js").default} jobClass - Concrete job class.
542
+ * @property {string} jobName - Registered job name.
543
+ * @property {Array<ReturnType<typeof JSON.parse>>} args - Serialized job arguments.
544
+ * @property {BackgroundJobOptions} options - Resolved enqueue/runtime options.
545
+ * @property {BackgroundJobPayload} [payload] - Complete persisted runner payload when the job is performing.
546
+ */
517
547
  /**
518
548
  * @typedef {object} BackgroundJobRow
519
549
  * @property {string} id - Job id.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/types.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/types.js"],"names":[],"mappings":"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"}
@@ -70,6 +70,14 @@
70
70
  * @property {number} [handedOffAtMs] - Time handed to a worker in ms.
71
71
  * @property {BackgroundJobOptions} [options] - Runtime options.
72
72
  */
73
+ /**
74
+ * @typedef {object} BackgroundJobContext
75
+ * @property {typeof import("./platform-job.js").default} jobClass - Concrete job class.
76
+ * @property {string} jobName - Registered job name.
77
+ * @property {Array<ReturnType<typeof JSON.parse>>} args - Serialized job arguments.
78
+ * @property {BackgroundJobOptions} options - Resolved enqueue/runtime options.
79
+ * @property {BackgroundJobPayload} [payload] - Complete persisted runner payload when the job is performing.
80
+ */
73
81
  /**
74
82
  * @typedef {object} BackgroundJobRow
75
83
  * @property {string} id - Job id.
@@ -150,4 +158,4 @@
150
158
  * @typedef {BackgroundJobHelloMessage | BackgroundJobReadyMessage | BackgroundJobDrainingMessage | BackgroundJobHeartbeatMessage | BackgroundJobEnqueueMessage | BackgroundJobEnqueuedMessage | BackgroundJobEnqueueErrorMessage | BackgroundJobReplaceScheduledMessage | BackgroundJobScheduleReplacedMessage | BackgroundJobReplaceScheduledErrorMessage | BackgroundJobCancelScheduledMessage | BackgroundJobScheduleCancelledMessage | BackgroundJobCancelScheduledErrorMessage | BackgroundJobJobMessage | BackgroundJobCompleteMessage | BackgroundJobFailedMessage | BackgroundJobRescheduleMessage | BackgroundJobUpdatedMessage | BackgroundJobUpdateErrorMessage} BackgroundJobSocketMessage
151
159
  */
152
160
  export const nothing = {};
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL3R5cGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNIOzs7OztHQUtHO0FBQ0g7Ozs7O0dBS0c7QUFDSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSDs7O0dBR0c7QUFDSDs7Ozs7R0FLRztBQUNIOzs7O0dBSUc7QUFDSDs7Ozs7R0FLRztBQUNIOzs7Ozs7Ozs7OztHQVdHO0FBQ0g7Ozs7Ozs7OztHQVNHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0g7O0dBRUc7QUFDSDs7Ozs7R0FLRztBQUNIOztHQUVHO0FBQ0g7Ozs7R0FJRztBQUNIOzs7Ozs7Ozs7O0dBVUc7QUFDSDs7R0FFRztBQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNIOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEB0eXBlZGVmIHtcImlubGluZVwiIHwgXCJmb3JrZWRcIiB8IFwicG9vbGVkXCIgfCBcInNwYXduZWRcIn0gQmFja2dyb3VuZEpvYkV4ZWN1dGlvbk1vZGVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBMb2NhbEJhY2tncm91bmRKb2JzQ2xvY2tcbiAqIEBwcm9wZXJ0eSB7KCkgPT4gbnVtYmVyfSBub3cgLSBDdXJyZW50IGVwb2NoIG1pbGxpc2Vjb25kcy5cbiAqIEBwcm9wZXJ0eSB7KGNhbGxiYWNrOiAoKSA9PiB2b2lkLCBkZWxheU1zOiBudW1iZXIpID0+IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVtYmVyfSBzZXRUaW1lb3V0IC0gQXJtcyBhIHRpbWVyLlxuICogQHByb3BlcnR5IHsodGltZXJJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudW1iZXIpID0+IHZvaWR9IGNsZWFyVGltZW91dCAtIENsZWFycyBhIHRpbWVyLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFJlc29sdmVkQmFja2dyb3VuZEpvYkNvbmN1cnJlbmN5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29uY3VycmVuY3lLZXkgLSBEdXJhYmxlIGNhcCBpZGVudGl0eS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBtYXhDb25jdXJyZW5jeSAtIFBvc2l0aXZlIGNhcC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcXVldWVEZXJpdmVkIC0gV2hldGhlciBxdWV1ZSBjb25maWd1cmF0aW9uIG93bnMgdGhlIGNhcC5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcmVwYXJlZExvY2FsQmFja2dyb3VuZEpvYlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGFyZ3NEaWdlc3QgLSBGaXhlZC13aWR0aCBkaWdlc3Qgb2YgdGhlIHNlcmlhbGl6ZWQgYXJndW1lbnRzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGFyZ3NKc29uIC0gU2VyaWFsaXplZCBhcmd1bWVudHMuXG4gKiBAcHJvcGVydHkge1Jlc29sdmVkQmFja2dyb3VuZEpvYkNvbmN1cnJlbmN5IHwgbnVsbH0gY29uY3VycmVuY3kgLSBSZXNvbHZlZCBjb25jdXJyZW5jeS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjcmVhdGVkQXRNcyAtIENyZWF0aW9uIHRpbWVzdGFtcC5cbiAqIEBwcm9wZXJ0eSB7XCJpbmxpbmVcIn0gZXhlY3V0aW9uTW9kZSAtIExvY2FsIGluLXByb2Nlc3MgZXhlY3V0aW9uIG1vZGUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gam9iSWQgLSBEdXJhYmxlIGlkLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYk5hbWUgLSBSZWdpc3RlcmVkIG5hbWUuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWF4UmV0cmllcyAtIFJldHJ5IGNhcC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWV1ZSAtIFF1ZXVlIG5hbWUuXG4gKiBAcHJvcGVydHkge251bWJlcn0gc2NoZWR1bGVkQXRNcyAtIEVsaWdpYmlsaXR5IHRpbWVzdGFtcC5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9ic0hlYWx0aFxuICogQHByb3BlcnR5IHtib29sZWFufSByZWFkeSAtIFdoZXRoZXIgdGhlIGFkYXB0ZXIgY2FuIGFjY2VwdCBhbmQgcHJvY2VzcyB3b3JrLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JzUHJvZHVjZXJcbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IHtqb2JOYW1lOiBzdHJpbmcsIGFyZ3M6IEFycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Piwgb3B0aW9ucz86IEJhY2tncm91bmRKb2JPcHRpb25zfSkgPT4gUHJvbWlzZTxzdHJpbmc+fSBlbnF1ZXVlIC0gRW5xdWV1ZXMgYSBqb2IuXG4gKiBAcHJvcGVydHkgeyhhcmdzOiB7c2NoZWR1bGVLZXk6IHN0cmluZywgam9iTmFtZTogc3RyaW5nLCBhcmdzOiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIG9wdGlvbnM/OiBCYWNrZ3JvdW5kSm9iT3B0aW9uc30pID0+IFByb21pc2U8QmFja2dyb3VuZEpvYlJlcGxhY2VtZW50UmVzdWx0Pn0gcmVwbGFjZVNjaGVkdWxlZCAtIFJlcGxhY2VzIGEgc3RhYmxlIHNjaGVkdWxlLlxuICogQHByb3BlcnR5IHsoYXJnczoge3NjaGVkdWxlS2V5OiBzdHJpbmd9KSA9PiBQcm9taXNlPEJhY2tncm91bmRKb2JDYW5jZWxsYXRpb25SZXN1bHQ+fSBjYW5jZWxTY2hlZHVsZWQgLSBDYW5jZWxzIGEgc3RhYmxlIHNjaGVkdWxlLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JIYW5kb2ZmXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaGFuZG9mZklkIC0gVW5pcXVlIGhhbmRvZmYgbGVhc2UgaWQuXG4gKiBAcHJvcGVydHkge251bWJlcn0gaGFuZGVkT2ZmQXRNcyAtIFRpbWUgaGFuZGVkIHRvIGEgd29ya2VyIGluIG1zLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JIYW5kb2ZmUmVxdWVzdFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYklkIC0gSm9iIHRvIGNsYWltLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtoYW5kb2ZmSWRdIC0gRXhhY3QgY2FsbGVyLXNlbGVjdGVkIGxlYXNlIGlkLiBBZGFwdGVycyBtdXN0IHBlcnNpc3QgYW5kIHJldHVybiB0aGlzIGlkIHdoZW4gc3VwcGxpZWQ7IGJ1aWx0LWluIGFkYXB0ZXJzIGdlbmVyYXRlIG9uZSB3aGVuIG9taXR0ZWQgZm9yIGxlZ2FjeSBkaXJlY3QgY2FsbGVycy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbd29ya2VySWRdIC0gV29ya2VyIGNsYWltaW5nIHRoZSBqb2IuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmFja2dyb3VuZEpvYk9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYkV4ZWN1dGlvbk1vZGV9IFtleGVjdXRpb25Nb2RlXSAtIEhvdyB0aGUgam9iIHNob3VsZCBydW4uIE5vZGUgZGVmYXVsdHMgdG8gYFwicG9vbGVkXCJgIChhIHdhcm0sIHJldXNlZCBsb2NhbCBydW5uZXIgcHJvY2VzcykuIEJyb3dzZXIvRXhwbyBsb2NhbCBkaXNwYXRjaCBkZWZhdWx0cyB0byBhbmQgb25seSBhY2NlcHRzIGBcImlubGluZVwiYC4gYFwiZm9ya2VkXCJgIHJ1bnMgYSBOb2RlIGpvYiBpbiBhIGZyZXNoIGBjaGlsZF9wcm9jZXNzLmZvcmsoKWAgY2hpbGQsIGFuZCBgXCJzcGF3bmVkXCJgIGluIGEgZGV0YWNoZWQgQ0xJIHJ1bm5lci5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4UmV0cmllc10gLSBNYXggcmV0cmllcyBmb3IgYSBmYWlsZWQgam9iIGJlZm9yZSBpdCBpcyBtYXJrZWQgZmFpbGVkLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtxdWV1ZV0gLSBRdWV1ZSBuYW1lLiBEZWZhdWx0cyB0byBgXCJkZWZhdWx0XCJgLiBXaGVuIHRoZSBxdWV1ZSBoYXMgYSBjb25maWd1cmVkIGNhcCBpbiBgYmFja2dyb3VuZEpvYnMucXVldWVzYCwgdGhhdCBjYXAgaXMgZW5mb3JjZWQgY2x1c3Rlci13aWRlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb25jdXJyZW5jeUtleV0gLSBPcGFxdWUgbm9uLWVtcHR5IGtleSB1c2VkIHRvIHNoYXJlIGEgY29uY3VycmVuY3kgY2FwLiBPdmVycmlkZXMgYW55IHF1ZXVlLWRlcml2ZWQgY2FwLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFttYXhDb25jdXJyZW5jeV0gLSBQb3NpdGl2ZSBpbnRlZ2VyIGNhcDsgbXVzdCBiZSBwYWlyZWQgd2l0aCBgY29uY3VycmVuY3lLZXlgLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGVkdXBsaWNhdGVXaGlsZVF1ZXVlZF0gLSBXaGVuIHRydWUsIHNraXAgdGhlIGVucXVldWUgaWYgYW4gaWRlbnRpY2FsIHN0aWxsLXF1ZXVlZCBqb2IgKHNhbWUgam9iIG5hbWUsIGFyZ3MgYW5kIHF1ZXVlKSBpcyBzY2hlZHVsZWQgbm8gbGF0ZXIgdGhhbiB0aGlzIGVucXVldWUsIHJldHVybmluZyB0aGUgZWFybGllc3QgbWF0Y2hpbmcgam9iJ3MgaWQuIEEgZnV0dXJlIHJldHJ5IGRvZXMgbm90IHN1cHByZXNzIGVhcmxpZXIgd29yay4gRGVkdXBsaWNhdGlvbiBpcyBpbmRlcGVuZGVudCBvZiBgY29uY3VycmVuY3lLZXlgLCBzbyB0aGUgam9iIGtlZXBzIGl0cyBub3JtYWwgKGUuZy4gcXVldWUtZGVyaXZlZCkgY29uY3VycmVuY3kgY2FwLiBLZWVwcyBhbiBpbnRlcnZhbC1zY2hlZHVsZWQgcmVjdXJyaW5nIGpvYiAoZS5nLiByZXRlbnRpb24gcHJ1bmluZykgZnJvbSBwaWxpbmcgdXAgcmVkdW5kYW50IHF1ZXVlZCByb3dzIHdoZW4gaXQgcnVucyBzbG93ZXIgdGhhbiBpdHMgaW50ZXJ2YWwgb3Igbm8gd29ya2VyIGlzIGZyZWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2lkZW1wb3RlbmN5S2V5XSAtIER1cmFibGUgZW5xdWV1ZSBpZGVudGl0eSBzY29wZWQgdG8gdGhlIHJlc29sdmVkIGpvYiBjbGFzcyBuYW1lIGFuZCBxdWV1ZS4gRXhhY3QgcmVwbGF5IHJldHVybnMgdGhlIG9yaWdpbmFsIGpvYiBpZCBhY3Jvc3MgZXZlcnkgc3RhdGUgYW5kIGFmdGVyIGpvYiBwcnVuaW5nOyByZXVzZSB3aXRoIGRpZmZlcmVudCBjYW5vbmljYWwgYXJndW1lbnRzIG9yIGJlaGF2aW9yLWFmZmVjdGluZyBvcHRpb25zIGZhaWxzLiBPd25lcnNoaXAgaXMgaW5kZXBlbmRlbnQgb2YgYGRlZHVwbGljYXRlV2hpbGVRdWV1ZWRgIGFuZCBpcyByZXRhaW5lZCB1bnRpbCBhbiBleHBsaWNpdCBmdXR1cmUgcmV0ZW50aW9uIHBvbGljeSByZW1vdmVzIGl0LlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtzY2hlZHVsZWRBdE1zXSAtIEVwb2NoIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGUgam9iIGJlY29tZXMgZWxpZ2libGUgZm9yIGRpc3BhdGNoLiBEZWZhdWx0cyB0byBlbnF1ZXVlIHRpbWUuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3RpbWVvdXRNc10gLSBQZXItam9iIHdhbGwtY2xvY2sgdGltZW91dCBmb3IgZm9ya2VkIGFuZCBwb29sZWQgZXhlY3V0aW9uLiBBIHBvc2l0aXZlIGludGVnZXIgdXAgdG8gMiwxNDcsNDgzLDY0NyBvdmVycmlkZXMgdGhlIHdvcmtlci1sZXZlbCBgam9iVGltZW91dE1zYDsgYSBub24tcG9zaXRpdmUgZmluaXRlIHZhbHVlIGRpc2FibGVzIHRoZSB0aW1lb3V0IGZvciB0aGlzIGpvYi5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9iUGF5bG9hZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpZF0gLSBKb2IgaWQuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gam9iTmFtZSAtIEpvYiBjbGFzcyBuYW1lLlxuICogQHByb3BlcnR5IHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IFthcmdzXSAtIFNlcmlhbGl6ZWQgam9iIGFyZ3VtZW50cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaGFuZG9mZklkXSAtIFVuaXF1ZSBoYW5kb2ZmIGxlYXNlIGlkLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt3b3JrZXJJZF0gLSBXb3JrZXIgaWQgaGFuZGxpbmcgdGhlIGpvYi5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbaGFuZGVkT2ZmQXRNc10gLSBUaW1lIGhhbmRlZCB0byBhIHdvcmtlciBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYk9wdGlvbnN9IFtvcHRpb25zXSAtIFJ1bnRpbWUgb3B0aW9ucy5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9iUm93XG4gKiBAcHJvcGVydHkge3N0cmluZ30gaWQgLSBKb2IgaWQuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gam9iTmFtZSAtIEpvYiBjbGFzcyBuYW1lLlxuICogQHByb3BlcnR5IHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MgLSBTZXJpYWxpemVkIGpvYiBhcmd1bWVudHMuXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JFeGVjdXRpb25Nb2RlfSBleGVjdXRpb25Nb2RlIC0gSG93IHRoZSBqb2Igc2hvdWxkIHJ1bi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWV1ZSAtIFF1ZXVlIG5hbWUgKGRlZmF1bHRzIHRvIGBcImRlZmF1bHRcImApLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBudWxsfSBzY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleSByZXRhaW5lZCBmb3IgaGlzdG9yeS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzdGF0dXMgLSBDdXJyZW50IGpvYiBzdGF0dXMuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IGF0dGVtcHRzIC0gRmFpbHVyZSBhdHRlbXB0cyBjb3VudC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gbWF4UmV0cmllcyAtIE1heCByZXRyeSBhdHRlbXB0cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gc2NoZWR1bGVkQXRNcyAtIE5leHQgc2NoZWR1bGVkIHRpbWUgaW4gbXMuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IGNyZWF0ZWRBdE1zIC0gQ3JlYXRpb24gdGltZSBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gaGFuZGVkT2ZmQXRNcyAtIFRpbWUgaGFuZGVkIHRvIHdvcmtlciBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gaGFuZG9mZklkIC0gVW5pcXVlIGxhdGVzdCBoYW5kb2ZmIGxlYXNlIGlkLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBjb21wbGV0ZWRBdE1zIC0gQ29tcGxldGlvbiB0aW1lIGluIG1zLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBmYWlsZWRBdE1zIC0gRmFpbHVyZSB0aW1lIGluIG1zLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBvcnBoYW5lZEF0TXMgLSBPcnBoYW5lZCB0aW1lIGluIG1zLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBudWxsfSB3b3JrZXJJZCAtIFdvcmtlciBpZCBoYW5kbGluZyB0aGUgam9iLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBudWxsfSBsYXN0RXJyb3IgLSBMYXN0IGZhaWx1cmUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gY29uY3VycmVuY3lLZXkgLSBEdXJhYmxlIGNvbmN1cnJlbmN5IGtleS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gbWF4Q29uY3VycmVuY3kgLSBEdXJhYmxlIHBlci1rZXkgY2FwLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSB0aW1lb3V0TXMgLSBQZXItam9iIHdhbGwtY2xvY2sgdGltZW91dCBvdmVycmlkZSwgb3IgbnVsbCB3aGVuIG9taXR0ZWQuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge1wicXVldWVkXCIgfCBcImhhbmRlZF9vZmZcIiB8IG51bGx9IEJhY2tncm91bmRKb2JSZXBsYWNlbWVudFByZXZpb3VzU3RhdHVzXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmFja2dyb3VuZEpvYlJlcGxhY2VtZW50UmVzdWx0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gam9iSWQgLSBOZXdseSBxdWV1ZWQgam9iIGlkLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBudWxsfSBwcmV2aW91c0pvYklkIC0gUHJldmlvdXMgYWN0aXZlIG93bmVyJ3Mgam9iIGlkLlxuICogQHByb3BlcnR5IHtCYWNrZ3JvdW5kSm9iUmVwbGFjZW1lbnRQcmV2aW91c1N0YXR1c30gcHJldmlvdXNTdGF0dXMgLSBQcmV2aW91cyBvd25lcidzIG9ic2VydmVkIHN0YXRlLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtcImNhbmNlbGxlZFwiIHwgXCJoYW5kZWRfb2ZmXCIgfCBcIm5vdF9mb3VuZFwifSBCYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uT3V0Y29tZVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JDYW5jZWxsYXRpb25SZXN1bHRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gam9iSWQgLSBEZXRhY2hlZCBvd25lcidzIGpvYiBpZCwgd2hlbiBvbmUgd2FzIGFjdGl2ZS5cbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYkNhbmNlbGxhdGlvbk91dGNvbWV9IG91dGNvbWUgLSBUcnV0aGZ1bCBiZXN0LWVmZm9ydCBvdXRjb21lLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JGYWlsdXJlRXZlbnRcbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYlJvd30gam9iIC0gVXBkYXRlZCBqb2Igcm93IGFmdGVyIGZhaWx1cmUgaGFuZGxpbmcuXG4gKiBAcHJvcGVydHkge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSBlcnJvciAtIEZhaWx1cmUgZXJyb3IuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IGF0dGVtcHRzIC0gVXBkYXRlZCBmYWlsdXJlIGF0dGVtcHRzIGNvdW50LlxuICogQHByb3BlcnR5IHtib29sZWFufSB0ZXJtaW5hbCAtIFdoZXRoZXIgdGhpcyBmYWlsdXJlIGVuZGVkIHRoZSBqb2IuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHdpbGxSZXRyeSAtIFdoZXRoZXIgdGhlIGpvYiB3YXMgcmV0dXJuZWQgdG8gdGhlIHF1ZXVlLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IGhhbmRvZmZJZCAtIEhhbmRvZmYgbGVhc2UgaWQgZnJvbSB0aGUgd29ya2VyIHJlcG9ydC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBoYW5kZWRPZmZBdE1zIC0gSGFuZG9mZiB0aW1lc3RhbXAgZnJvbSB0aGUgd29ya2VyIHJlcG9ydC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB3b3JrZXJJZCAtIFdvcmtlciBpZCBmcm9tIHRoZSB3b3JrZXIgcmVwb3J0LlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtcIndvcmtlclwiIHwgXCJjbGllbnRcIiB8IFwicmVwb3J0ZXJcIn0gQmFja2dyb3VuZEpvYlNvY2tldFJvbGVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiaGVsbG9cIiwgcm9sZTogQmFja2dyb3VuZEpvYlNvY2tldFJvbGUsIHN1cHBvcnRzSGFuZG9mZklkUmVwb3J0aW5nPzogYm9vbGVhbiwgc3VwcG9ydHNIZWFydGJlYXQ/OiBib29sZWFuLCBzdXBwb3J0c1Bvb2xlZD86IGJvb2xlYW4sIHdvcmtlcklkPzogc3RyaW5nfX0gQmFja2dyb3VuZEpvYkhlbGxvTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcInJlYWR5XCIsIGFjY2VwdHNGb3JrZWQ/OiBib29sZWFuLCBhY2NlcHRzSW5saW5lPzogYm9vbGVhbiwgYWNjZXB0c1Bvb2xlZD86IGJvb2xlYW4sIGFjY2VwdHNTcGF3bmVkPzogYm9vbGVhbiwgYXZhaWxhYmxlUG9vbGVkU2xvdHM/OiBudW1iZXJ9fSBCYWNrZ3JvdW5kSm9iUmVhZHlNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiZHJhaW5pbmdcIn19IEJhY2tncm91bmRKb2JEcmFpbmluZ01lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJoZWFydGJlYXRcIiwgd29ya2VySWQ/OiBzdHJpbmd9fSBCYWNrZ3JvdW5kSm9iSGVhcnRiZWF0TWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImVucXVldWVcIiwgam9iTmFtZTogc3RyaW5nLCBhcmdzPzogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+LCBvcHRpb25zPzogQmFja2dyb3VuZEpvYk9wdGlvbnN9fSBCYWNrZ3JvdW5kSm9iRW5xdWV1ZU1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJlbnF1ZXVlZFwiLCBqb2JJZDogc3RyaW5nfX0gQmFja2dyb3VuZEpvYkVucXVldWVkTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImVucXVldWUtZXJyb3JcIiwgZXJyb3I/OiBzdHJpbmd9fSBCYWNrZ3JvdW5kSm9iRW5xdWV1ZUVycm9yTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcInJlcGxhY2Utc2NoZWR1bGVkXCIsIHNjaGVkdWxlS2V5OiBzdHJpbmcsIGpvYk5hbWU6IHN0cmluZywgYXJncz86IEFycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Piwgb3B0aW9ucz86IEJhY2tncm91bmRKb2JPcHRpb25zfX0gQmFja2dyb3VuZEpvYlJlcGxhY2VTY2hlZHVsZWRNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwic2NoZWR1bGUtcmVwbGFjZWRcIiwgam9iSWQ6IHN0cmluZywgcHJldmlvdXNKb2JJZDogc3RyaW5nIHwgbnVsbCwgcHJldmlvdXNTdGF0dXM6IEJhY2tncm91bmRKb2JSZXBsYWNlbWVudFByZXZpb3VzU3RhdHVzfX0gQmFja2dyb3VuZEpvYlNjaGVkdWxlUmVwbGFjZWRNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwicmVwbGFjZS1zY2hlZHVsZWQtZXJyb3JcIiwgZXJyb3I/OiBzdHJpbmd9fSBCYWNrZ3JvdW5kSm9iUmVwbGFjZVNjaGVkdWxlZEVycm9yTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImNhbmNlbC1zY2hlZHVsZWRcIiwgc2NoZWR1bGVLZXk6IHN0cmluZ319IEJhY2tncm91bmRKb2JDYW5jZWxTY2hlZHVsZWRNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwic2NoZWR1bGUtY2FuY2VsbGVkXCIsIGpvYklkOiBzdHJpbmcgfCBudWxsLCBvdXRjb21lOiBCYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uT3V0Y29tZX19IEJhY2tncm91bmRKb2JTY2hlZHVsZUNhbmNlbGxlZE1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJjYW5jZWwtc2NoZWR1bGVkLWVycm9yXCIsIGVycm9yPzogc3RyaW5nfX0gQmFja2dyb3VuZEpvYkNhbmNlbFNjaGVkdWxlZEVycm9yTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImpvYlwiLCBwYXlsb2FkOiBCYWNrZ3JvdW5kSm9iUGF5bG9hZH19IEJhY2tncm91bmRKb2JKb2JNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiam9iLWNvbXBsZXRlXCIsIGpvYklkOiBzdHJpbmcsIGhhbmRvZmZJZD86IHN0cmluZywgd29ya2VySWQ/OiBzdHJpbmcsIGhhbmRlZE9mZkF0TXM/OiBudW1iZXJ9fSBCYWNrZ3JvdW5kSm9iQ29tcGxldGVNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiam9iLWZhaWxlZFwiLCBqb2JJZDogc3RyaW5nLCBlcnJvcj86IFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+LCBoYW5kb2ZmSWQ/OiBzdHJpbmcsIHdvcmtlcklkPzogc3RyaW5nLCBoYW5kZWRPZmZBdE1zPzogbnVtYmVyfX0gQmFja2dyb3VuZEpvYkZhaWxlZE1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJqb2ItcmVzY2hlZHVsZVwiLCBqb2JJZDogc3RyaW5nLCBkZWxheU1zOiBudW1iZXIsIGhhbmRvZmZJZD86IHN0cmluZywgd29ya2VySWQ/OiBzdHJpbmcsIGhhbmRlZE9mZkF0TXM/OiBudW1iZXJ9fSBCYWNrZ3JvdW5kSm9iUmVzY2hlZHVsZU1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJqb2ItdXBkYXRlZFwiLCBqb2JJZDogc3RyaW5nfX0gQmFja2dyb3VuZEpvYlVwZGF0ZWRNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiam9iLXVwZGF0ZS1lcnJvclwiLCBqb2JJZDogc3RyaW5nLCBlcnJvcj86IHN0cmluZ319IEJhY2tncm91bmRKb2JVcGRhdGVFcnJvck1lc3NhZ2VcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7QmFja2dyb3VuZEpvYkhlbGxvTWVzc2FnZSB8IEJhY2tncm91bmRKb2JSZWFkeU1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iRHJhaW5pbmdNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkhlYXJ0YmVhdE1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iRW5xdWV1ZU1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iRW5xdWV1ZWRNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkVucXVldWVFcnJvck1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iUmVwbGFjZVNjaGVkdWxlZE1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iU2NoZWR1bGVSZXBsYWNlZE1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iUmVwbGFjZVNjaGVkdWxlZEVycm9yTWVzc2FnZSB8IEJhY2tncm91bmRKb2JDYW5jZWxTY2hlZHVsZWRNZXNzYWdlIHwgQmFja2dyb3VuZEpvYlNjaGVkdWxlQ2FuY2VsbGVkTWVzc2FnZSB8IEJhY2tncm91bmRKb2JDYW5jZWxTY2hlZHVsZWRFcnJvck1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iSm9iTWVzc2FnZSB8IEJhY2tncm91bmRKb2JDb21wbGV0ZU1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iRmFpbGVkTWVzc2FnZSB8IEJhY2tncm91bmRKb2JSZXNjaGVkdWxlTWVzc2FnZSB8IEJhY2tncm91bmRKb2JVcGRhdGVkTWVzc2FnZSB8IEJhY2tncm91bmRKb2JVcGRhdGVFcnJvck1lc3NhZ2V9IEJhY2tncm91bmRKb2JTb2NrZXRNZXNzYWdlXG4gKi9cblxuZXhwb3J0IGNvbnN0IG5vdGhpbmcgPSB7fVxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL3R5cGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNIOzs7OztHQUtHO0FBQ0g7Ozs7O0dBS0c7QUFDSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSDs7O0dBR0c7QUFDSDs7Ozs7R0FLRztBQUNIOzs7O0dBSUc7QUFDSDs7Ozs7R0FLRztBQUNIOzs7Ozs7Ozs7OztHQVdHO0FBQ0g7Ozs7Ozs7OztHQVNHO0FBQ0g7Ozs7Ozs7R0FPRztBQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNIOztHQUVHO0FBQ0g7Ozs7O0dBS0c7QUFDSDs7R0FFRztBQUNIOzs7O0dBSUc7QUFDSDs7Ozs7Ozs7OztHQVVHO0FBQ0g7O0dBRUc7QUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSDs7R0FFRztBQUVILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBAdHlwZWRlZiB7XCJpbmxpbmVcIiB8IFwiZm9ya2VkXCIgfCBcInBvb2xlZFwiIHwgXCJzcGF3bmVkXCJ9IEJhY2tncm91bmRKb2JFeGVjdXRpb25Nb2RlXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTG9jYWxCYWNrZ3JvdW5kSm9ic0Nsb2NrXG4gKiBAcHJvcGVydHkgeygpID0+IG51bWJlcn0gbm93IC0gQ3VycmVudCBlcG9jaCBtaWxsaXNlY29uZHMuXG4gKiBAcHJvcGVydHkgeyhjYWxsYmFjazogKCkgPT4gdm9pZCwgZGVsYXlNczogbnVtYmVyKSA9PiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bWJlcn0gc2V0VGltZW91dCAtIEFybXMgYSB0aW1lci5cbiAqIEBwcm9wZXJ0eSB7KHRpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVtYmVyKSA9PiB2b2lkfSBjbGVhclRpbWVvdXQgLSBDbGVhcnMgYSB0aW1lci5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSZXNvbHZlZEJhY2tncm91bmRKb2JDb25jdXJyZW5jeVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbmN1cnJlbmN5S2V5IC0gRHVyYWJsZSBjYXAgaWRlbnRpdHkuXG4gKiBAcHJvcGVydHkge251bWJlcn0gbWF4Q29uY3VycmVuY3kgLSBQb3NpdGl2ZSBjYXAuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHF1ZXVlRGVyaXZlZCAtIFdoZXRoZXIgcXVldWUgY29uZmlndXJhdGlvbiBvd25zIHRoZSBjYXAuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJlcGFyZWRMb2NhbEJhY2tncm91bmRKb2JcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhcmdzRGlnZXN0IC0gRml4ZWQtd2lkdGggZGlnZXN0IG9mIHRoZSBzZXJpYWxpemVkIGFyZ3VtZW50cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhcmdzSnNvbiAtIFNlcmlhbGl6ZWQgYXJndW1lbnRzLlxuICogQHByb3BlcnR5IHtSZXNvbHZlZEJhY2tncm91bmRKb2JDb25jdXJyZW5jeSB8IG51bGx9IGNvbmN1cnJlbmN5IC0gUmVzb2x2ZWQgY29uY3VycmVuY3kuXG4gKiBAcHJvcGVydHkge251bWJlcn0gY3JlYXRlZEF0TXMgLSBDcmVhdGlvbiB0aW1lc3RhbXAuXG4gKiBAcHJvcGVydHkge1wiaW5saW5lXCJ9IGV4ZWN1dGlvbk1vZGUgLSBMb2NhbCBpbi1wcm9jZXNzIGV4ZWN1dGlvbiBtb2RlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYklkIC0gRHVyYWJsZSBpZC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBqb2JOYW1lIC0gUmVnaXN0ZXJlZCBuYW1lLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IG1heFJldHJpZXMgLSBSZXRyeSBjYXAuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVldWUgLSBRdWV1ZSBuYW1lLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHNjaGVkdWxlZEF0TXMgLSBFbGlnaWJpbGl0eSB0aW1lc3RhbXAuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmFja2dyb3VuZEpvYnNIZWFsdGhcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcmVhZHkgLSBXaGV0aGVyIHRoZSBhZGFwdGVyIGNhbiBhY2NlcHQgYW5kIHByb2Nlc3Mgd29yay5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9ic1Byb2R1Y2VyXG4gKiBAcHJvcGVydHkgeyhhcmdzOiB7am9iTmFtZTogc3RyaW5nLCBhcmdzOiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIG9wdGlvbnM/OiBCYWNrZ3JvdW5kSm9iT3B0aW9uc30pID0+IFByb21pc2U8c3RyaW5nPn0gZW5xdWV1ZSAtIEVucXVldWVzIGEgam9iLlxuICogQHByb3BlcnR5IHsoYXJnczoge3NjaGVkdWxlS2V5OiBzdHJpbmcsIGpvYk5hbWU6IHN0cmluZywgYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+LCBvcHRpb25zPzogQmFja2dyb3VuZEpvYk9wdGlvbnN9KSA9PiBQcm9taXNlPEJhY2tncm91bmRKb2JSZXBsYWNlbWVudFJlc3VsdD59IHJlcGxhY2VTY2hlZHVsZWQgLSBSZXBsYWNlcyBhIHN0YWJsZSBzY2hlZHVsZS5cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IHtzY2hlZHVsZUtleTogc3RyaW5nfSkgPT4gUHJvbWlzZTxCYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uUmVzdWx0Pn0gY2FuY2VsU2NoZWR1bGVkIC0gQ2FuY2VscyBhIHN0YWJsZSBzY2hlZHVsZS5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9iSGFuZG9mZlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGhhbmRvZmZJZCAtIFVuaXF1ZSBoYW5kb2ZmIGxlYXNlIGlkLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGhhbmRlZE9mZkF0TXMgLSBUaW1lIGhhbmRlZCB0byBhIHdvcmtlciBpbiBtcy5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9iSGFuZG9mZlJlcXVlc3RcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBqb2JJZCAtIEpvYiB0byBjbGFpbS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaGFuZG9mZklkXSAtIEV4YWN0IGNhbGxlci1zZWxlY3RlZCBsZWFzZSBpZC4gQWRhcHRlcnMgbXVzdCBwZXJzaXN0IGFuZCByZXR1cm4gdGhpcyBpZCB3aGVuIHN1cHBsaWVkOyBidWlsdC1pbiBhZGFwdGVycyBnZW5lcmF0ZSBvbmUgd2hlbiBvbWl0dGVkIGZvciBsZWdhY3kgZGlyZWN0IGNhbGxlcnMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3dvcmtlcklkXSAtIFdvcmtlciBjbGFpbWluZyB0aGUgam9iLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JPcHRpb25zXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JFeGVjdXRpb25Nb2RlfSBbZXhlY3V0aW9uTW9kZV0gLSBIb3cgdGhlIGpvYiBzaG91bGQgcnVuLiBOb2RlIGRlZmF1bHRzIHRvIGBcInBvb2xlZFwiYCAoYSB3YXJtLCByZXVzZWQgbG9jYWwgcnVubmVyIHByb2Nlc3MpLiBCcm93c2VyL0V4cG8gbG9jYWwgZGlzcGF0Y2ggZGVmYXVsdHMgdG8gYW5kIG9ubHkgYWNjZXB0cyBgXCJpbmxpbmVcImAuIGBcImZvcmtlZFwiYCBydW5zIGEgTm9kZSBqb2IgaW4gYSBmcmVzaCBgY2hpbGRfcHJvY2Vzcy5mb3JrKClgIGNoaWxkLCBhbmQgYFwic3Bhd25lZFwiYCBpbiBhIGRldGFjaGVkIENMSSBydW5uZXIuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heFJldHJpZXNdIC0gTWF4IHJldHJpZXMgZm9yIGEgZmFpbGVkIGpvYiBiZWZvcmUgaXQgaXMgbWFya2VkIGZhaWxlZC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcXVldWVdIC0gUXVldWUgbmFtZS4gRGVmYXVsdHMgdG8gYFwiZGVmYXVsdFwiYC4gV2hlbiB0aGUgcXVldWUgaGFzIGEgY29uZmlndXJlZCBjYXAgaW4gYGJhY2tncm91bmRKb2JzLnF1ZXVlc2AsIHRoYXQgY2FwIGlzIGVuZm9yY2VkIGNsdXN0ZXItd2lkZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY29uY3VycmVuY3lLZXldIC0gT3BhcXVlIG5vbi1lbXB0eSBrZXkgdXNlZCB0byBzaGFyZSBhIGNvbmN1cnJlbmN5IGNhcC4gT3ZlcnJpZGVzIGFueSBxdWV1ZS1kZXJpdmVkIGNhcC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4Q29uY3VycmVuY3ldIC0gUG9zaXRpdmUgaW50ZWdlciBjYXA7IG11c3QgYmUgcGFpcmVkIHdpdGggYGNvbmN1cnJlbmN5S2V5YC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2RlZHVwbGljYXRlV2hpbGVRdWV1ZWRdIC0gV2hlbiB0cnVlLCBza2lwIHRoZSBlbnF1ZXVlIGlmIGFuIGlkZW50aWNhbCBzdGlsbC1xdWV1ZWQgam9iIChzYW1lIGpvYiBuYW1lLCBhcmdzIGFuZCBxdWV1ZSkgaXMgc2NoZWR1bGVkIG5vIGxhdGVyIHRoYW4gdGhpcyBlbnF1ZXVlLCByZXR1cm5pbmcgdGhlIGVhcmxpZXN0IG1hdGNoaW5nIGpvYidzIGlkLiBBIGZ1dHVyZSByZXRyeSBkb2VzIG5vdCBzdXBwcmVzcyBlYXJsaWVyIHdvcmsuIERlZHVwbGljYXRpb24gaXMgaW5kZXBlbmRlbnQgb2YgYGNvbmN1cnJlbmN5S2V5YCwgc28gdGhlIGpvYiBrZWVwcyBpdHMgbm9ybWFsIChlLmcuIHF1ZXVlLWRlcml2ZWQpIGNvbmN1cnJlbmN5IGNhcC4gS2VlcHMgYW4gaW50ZXJ2YWwtc2NoZWR1bGVkIHJlY3VycmluZyBqb2IgKGUuZy4gcmV0ZW50aW9uIHBydW5pbmcpIGZyb20gcGlsaW5nIHVwIHJlZHVuZGFudCBxdWV1ZWQgcm93cyB3aGVuIGl0IHJ1bnMgc2xvd2VyIHRoYW4gaXRzIGludGVydmFsIG9yIG5vIHdvcmtlciBpcyBmcmVlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpZGVtcG90ZW5jeUtleV0gLSBEdXJhYmxlIGVucXVldWUgaWRlbnRpdHkgc2NvcGVkIHRvIHRoZSByZXNvbHZlZCBqb2IgY2xhc3MgbmFtZSBhbmQgcXVldWUuIEV4YWN0IHJlcGxheSByZXR1cm5zIHRoZSBvcmlnaW5hbCBqb2IgaWQgYWNyb3NzIGV2ZXJ5IHN0YXRlIGFuZCBhZnRlciBqb2IgcHJ1bmluZzsgcmV1c2Ugd2l0aCBkaWZmZXJlbnQgY2Fub25pY2FsIGFyZ3VtZW50cyBvciBiZWhhdmlvci1hZmZlY3Rpbmcgb3B0aW9ucyBmYWlscy4gT3duZXJzaGlwIGlzIGluZGVwZW5kZW50IG9mIGBkZWR1cGxpY2F0ZVdoaWxlUXVldWVkYCBhbmQgaXMgcmV0YWluZWQgdW50aWwgYW4gZXhwbGljaXQgZnV0dXJlIHJldGVudGlvbiBwb2xpY3kgcmVtb3ZlcyBpdC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbc2NoZWR1bGVkQXRNc10gLSBFcG9jaCB0aW1lc3RhbXAgaW4gbWlsbGlzZWNvbmRzIHdoZW4gdGhlIGpvYiBiZWNvbWVzIGVsaWdpYmxlIGZvciBkaXNwYXRjaC4gRGVmYXVsdHMgdG8gZW5xdWV1ZSB0aW1lLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFt0aW1lb3V0TXNdIC0gUGVyLWpvYiB3YWxsLWNsb2NrIHRpbWVvdXQgZm9yIGZvcmtlZCBhbmQgcG9vbGVkIGV4ZWN1dGlvbi4gQSBwb3NpdGl2ZSBpbnRlZ2VyIHVwIHRvIDIsMTQ3LDQ4Myw2NDcgb3ZlcnJpZGVzIHRoZSB3b3JrZXItbGV2ZWwgYGpvYlRpbWVvdXRNc2A7IGEgbm9uLXBvc2l0aXZlIGZpbml0ZSB2YWx1ZSBkaXNhYmxlcyB0aGUgdGltZW91dCBmb3IgdGhpcyBqb2IuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmFja2dyb3VuZEpvYlBheWxvYWRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaWRdIC0gSm9iIGlkLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYk5hbWUgLSBKb2IgY2xhc3MgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBbYXJnc10gLSBTZXJpYWxpemVkIGpvYiBhcmd1bWVudHMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hhbmRvZmZJZF0gLSBVbmlxdWUgaGFuZG9mZiBsZWFzZSBpZC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbd29ya2VySWRdIC0gV29ya2VyIGlkIGhhbmRsaW5nIHRoZSBqb2IuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW2hhbmRlZE9mZkF0TXNdIC0gVGltZSBoYW5kZWQgdG8gYSB3b3JrZXIgaW4gbXMuXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JPcHRpb25zfSBbb3B0aW9uc10gLSBSdW50aW1lIG9wdGlvbnMuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmFja2dyb3VuZEpvYkNvbnRleHRcbiAqIEBwcm9wZXJ0eSB7dHlwZW9mIGltcG9ydChcIi4vcGxhdGZvcm0tam9iLmpzXCIpLmRlZmF1bHR9IGpvYkNsYXNzIC0gQ29uY3JldGUgam9iIGNsYXNzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYk5hbWUgLSBSZWdpc3RlcmVkIGpvYiBuYW1lLlxuICogQHByb3BlcnR5IHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MgLSBTZXJpYWxpemVkIGpvYiBhcmd1bWVudHMuXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JPcHRpb25zfSBvcHRpb25zIC0gUmVzb2x2ZWQgZW5xdWV1ZS9ydW50aW1lIG9wdGlvbnMuXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JQYXlsb2FkfSBbcGF5bG9hZF0gLSBDb21wbGV0ZSBwZXJzaXN0ZWQgcnVubmVyIHBheWxvYWQgd2hlbiB0aGUgam9iIGlzIHBlcmZvcm1pbmcuXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmFja2dyb3VuZEpvYlJvd1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGlkIC0gSm9iIGlkLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYk5hbWUgLSBKb2IgY2xhc3MgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzIC0gU2VyaWFsaXplZCBqb2IgYXJndW1lbnRzLlxuICogQHByb3BlcnR5IHtCYWNrZ3JvdW5kSm9iRXhlY3V0aW9uTW9kZX0gZXhlY3V0aW9uTW9kZSAtIEhvdyB0aGUgam9iIHNob3VsZCBydW4uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVldWUgLSBRdWV1ZSBuYW1lIChkZWZhdWx0cyB0byBgXCJkZWZhdWx0XCJgKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gc2NoZWR1bGVLZXkgLSBTdGFibGUgbG9naWNhbCBzY2hlZHVsZSBrZXkgcmV0YWluZWQgZm9yIGhpc3RvcnkuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc3RhdHVzIC0gQ3VycmVudCBqb2Igc3RhdHVzLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBhdHRlbXB0cyAtIEZhaWx1cmUgYXR0ZW1wdHMgY291bnQuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IG1heFJldHJpZXMgLSBNYXggcmV0cnkgYXR0ZW1wdHMuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IHNjaGVkdWxlZEF0TXMgLSBOZXh0IHNjaGVkdWxlZCB0aW1lIGluIG1zLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBjcmVhdGVkQXRNcyAtIENyZWF0aW9uIHRpbWUgaW4gbXMuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IGhhbmRlZE9mZkF0TXMgLSBUaW1lIGhhbmRlZCB0byB3b3JrZXIgaW4gbXMuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IG51bGx9IGhhbmRvZmZJZCAtIFVuaXF1ZSBsYXRlc3QgaGFuZG9mZiBsZWFzZSBpZC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gY29tcGxldGVkQXRNcyAtIENvbXBsZXRpb24gdGltZSBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gZmFpbGVkQXRNcyAtIEZhaWx1cmUgdGltZSBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gb3JwaGFuZWRBdE1zIC0gT3JwaGFuZWQgdGltZSBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gd29ya2VySWQgLSBXb3JrZXIgaWQgaGFuZGxpbmcgdGhlIGpvYi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gbGFzdEVycm9yIC0gTGFzdCBmYWlsdXJlIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IG51bGx9IGNvbmN1cnJlbmN5S2V5IC0gRHVyYWJsZSBjb25jdXJyZW5jeSBrZXkuXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IG1heENvbmN1cnJlbmN5IC0gRHVyYWJsZSBwZXIta2V5IGNhcC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgbnVsbH0gdGltZW91dE1zIC0gUGVyLWpvYiB3YWxsLWNsb2NrIHRpbWVvdXQgb3ZlcnJpZGUsIG9yIG51bGwgd2hlbiBvbWl0dGVkLlxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtcInF1ZXVlZFwiIHwgXCJoYW5kZWRfb2ZmXCIgfCBudWxsfSBCYWNrZ3JvdW5kSm9iUmVwbGFjZW1lbnRQcmV2aW91c1N0YXR1c1xuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JSZXBsYWNlbWVudFJlc3VsdFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGpvYklkIC0gTmV3bHkgcXVldWVkIGpvYiBpZC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgbnVsbH0gcHJldmlvdXNKb2JJZCAtIFByZXZpb3VzIGFjdGl2ZSBvd25lcidzIGpvYiBpZC5cbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYlJlcGxhY2VtZW50UHJldmlvdXNTdGF0dXN9IHByZXZpb3VzU3RhdHVzIC0gUHJldmlvdXMgb3duZXIncyBvYnNlcnZlZCBzdGF0ZS5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7XCJjYW5jZWxsZWRcIiB8IFwiaGFuZGVkX29mZlwiIHwgXCJub3RfZm91bmRcIn0gQmFja2dyb3VuZEpvYkNhbmNlbGxhdGlvbk91dGNvbWVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uUmVzdWx0XG4gKiBAcHJvcGVydHkge3N0cmluZyB8IG51bGx9IGpvYklkIC0gRGV0YWNoZWQgb3duZXIncyBqb2IgaWQsIHdoZW4gb25lIHdhcyBhY3RpdmUuXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JDYW5jZWxsYXRpb25PdXRjb21lfSBvdXRjb21lIC0gVHJ1dGhmdWwgYmVzdC1lZmZvcnQgb3V0Y29tZS5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9iRmFpbHVyZUV2ZW50XG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JSb3d9IGpvYiAtIFVwZGF0ZWQgam9iIHJvdyBhZnRlciBmYWlsdXJlIGhhbmRsaW5nLlxuICogQHByb3BlcnR5IHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gZXJyb3IgLSBGYWlsdXJlIGVycm9yLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBhdHRlbXB0cyAtIFVwZGF0ZWQgZmFpbHVyZSBhdHRlbXB0cyBjb3VudC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdGVybWluYWwgLSBXaGV0aGVyIHRoaXMgZmFpbHVyZSBlbmRlZCB0aGUgam9iLlxuICogQHByb3BlcnR5IHtib29sZWFufSB3aWxsUmV0cnkgLSBXaGV0aGVyIHRoZSBqb2Igd2FzIHJldHVybmVkIHRvIHRoZSBxdWV1ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBoYW5kb2ZmSWQgLSBIYW5kb2ZmIGxlYXNlIGlkIGZyb20gdGhlIHdvcmtlciByZXBvcnQuXG4gKiBAcHJvcGVydHkge251bWJlciB8IHVuZGVmaW5lZH0gaGFuZGVkT2ZmQXRNcyAtIEhhbmRvZmYgdGltZXN0YW1wIGZyb20gdGhlIHdvcmtlciByZXBvcnQuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gd29ya2VySWQgLSBXb3JrZXIgaWQgZnJvbSB0aGUgd29ya2VyIHJlcG9ydC5cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7XCJ3b3JrZXJcIiB8IFwiY2xpZW50XCIgfCBcInJlcG9ydGVyXCJ9IEJhY2tncm91bmRKb2JTb2NrZXRSb2xlXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge3t0eXBlOiBcImhlbGxvXCIsIHJvbGU6IEJhY2tncm91bmRKb2JTb2NrZXRSb2xlLCBzdXBwb3J0c0hhbmRvZmZJZFJlcG9ydGluZz86IGJvb2xlYW4sIHN1cHBvcnRzSGVhcnRiZWF0PzogYm9vbGVhbiwgc3VwcG9ydHNQb29sZWQ/OiBib29sZWFuLCB3b3JrZXJJZD86IHN0cmluZ319IEJhY2tncm91bmRKb2JIZWxsb01lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJyZWFkeVwiLCBhY2NlcHRzRm9ya2VkPzogYm9vbGVhbiwgYWNjZXB0c0lubGluZT86IGJvb2xlYW4sIGFjY2VwdHNQb29sZWQ/OiBib29sZWFuLCBhY2NlcHRzU3Bhd25lZD86IGJvb2xlYW4sIGF2YWlsYWJsZVBvb2xlZFNsb3RzPzogbnVtYmVyfX0gQmFja2dyb3VuZEpvYlJlYWR5TWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImRyYWluaW5nXCJ9fSBCYWNrZ3JvdW5kSm9iRHJhaW5pbmdNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiaGVhcnRiZWF0XCIsIHdvcmtlcklkPzogc3RyaW5nfX0gQmFja2dyb3VuZEpvYkhlYXJ0YmVhdE1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJlbnF1ZXVlXCIsIGpvYk5hbWU6IHN0cmluZywgYXJncz86IEFycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Piwgb3B0aW9ucz86IEJhY2tncm91bmRKb2JPcHRpb25zfX0gQmFja2dyb3VuZEpvYkVucXVldWVNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiZW5xdWV1ZWRcIiwgam9iSWQ6IHN0cmluZ319IEJhY2tncm91bmRKb2JFbnF1ZXVlZE1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJlbnF1ZXVlLWVycm9yXCIsIGVycm9yPzogc3RyaW5nfX0gQmFja2dyb3VuZEpvYkVucXVldWVFcnJvck1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJyZXBsYWNlLXNjaGVkdWxlZFwiLCBzY2hlZHVsZUtleTogc3RyaW5nLCBqb2JOYW1lOiBzdHJpbmcsIGFyZ3M/OiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIG9wdGlvbnM/OiBCYWNrZ3JvdW5kSm9iT3B0aW9uc319IEJhY2tncm91bmRKb2JSZXBsYWNlU2NoZWR1bGVkTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcInNjaGVkdWxlLXJlcGxhY2VkXCIsIGpvYklkOiBzdHJpbmcsIHByZXZpb3VzSm9iSWQ6IHN0cmluZyB8IG51bGwsIHByZXZpb3VzU3RhdHVzOiBCYWNrZ3JvdW5kSm9iUmVwbGFjZW1lbnRQcmV2aW91c1N0YXR1c319IEJhY2tncm91bmRKb2JTY2hlZHVsZVJlcGxhY2VkTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcInJlcGxhY2Utc2NoZWR1bGVkLWVycm9yXCIsIGVycm9yPzogc3RyaW5nfX0gQmFja2dyb3VuZEpvYlJlcGxhY2VTY2hlZHVsZWRFcnJvck1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJjYW5jZWwtc2NoZWR1bGVkXCIsIHNjaGVkdWxlS2V5OiBzdHJpbmd9fSBCYWNrZ3JvdW5kSm9iQ2FuY2VsU2NoZWR1bGVkTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcInNjaGVkdWxlLWNhbmNlbGxlZFwiLCBqb2JJZDogc3RyaW5nIHwgbnVsbCwgb3V0Y29tZTogQmFja2dyb3VuZEpvYkNhbmNlbGxhdGlvbk91dGNvbWV9fSBCYWNrZ3JvdW5kSm9iU2NoZWR1bGVDYW5jZWxsZWRNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiY2FuY2VsLXNjaGVkdWxlZC1lcnJvclwiLCBlcnJvcj86IHN0cmluZ319IEJhY2tncm91bmRKb2JDYW5jZWxTY2hlZHVsZWRFcnJvck1lc3NhZ2VcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJqb2JcIiwgcGF5bG9hZDogQmFja2dyb3VuZEpvYlBheWxvYWR9fSBCYWNrZ3JvdW5kSm9iSm9iTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImpvYi1jb21wbGV0ZVwiLCBqb2JJZDogc3RyaW5nLCBoYW5kb2ZmSWQ/OiBzdHJpbmcsIHdvcmtlcklkPzogc3RyaW5nLCBoYW5kZWRPZmZBdE1zPzogbnVtYmVyfX0gQmFja2dyb3VuZEpvYkNvbXBsZXRlTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImpvYi1mYWlsZWRcIiwgam9iSWQ6IHN0cmluZywgZXJyb3I/OiBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPiwgaGFuZG9mZklkPzogc3RyaW5nLCB3b3JrZXJJZD86IHN0cmluZywgaGFuZGVkT2ZmQXRNcz86IG51bWJlcn19IEJhY2tncm91bmRKb2JGYWlsZWRNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiam9iLXJlc2NoZWR1bGVcIiwgam9iSWQ6IHN0cmluZywgZGVsYXlNczogbnVtYmVyLCBoYW5kb2ZmSWQ/OiBzdHJpbmcsIHdvcmtlcklkPzogc3RyaW5nLCBoYW5kZWRPZmZBdE1zPzogbnVtYmVyfX0gQmFja2dyb3VuZEpvYlJlc2NoZWR1bGVNZXNzYWdlXG4gKiBAdHlwZWRlZiB7e3R5cGU6IFwiam9iLXVwZGF0ZWRcIiwgam9iSWQ6IHN0cmluZ319IEJhY2tncm91bmRKb2JVcGRhdGVkTWVzc2FnZVxuICogQHR5cGVkZWYge3t0eXBlOiBcImpvYi11cGRhdGUtZXJyb3JcIiwgam9iSWQ6IHN0cmluZywgZXJyb3I/OiBzdHJpbmd9fSBCYWNrZ3JvdW5kSm9iVXBkYXRlRXJyb3JNZXNzYWdlXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge0JhY2tncm91bmRKb2JIZWxsb01lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iUmVhZHlNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkRyYWluaW5nTWVzc2FnZSB8IEJhY2tncm91bmRKb2JIZWFydGJlYXRNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkVucXVldWVNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkVucXVldWVkTWVzc2FnZSB8IEJhY2tncm91bmRKb2JFbnF1ZXVlRXJyb3JNZXNzYWdlIHwgQmFja2dyb3VuZEpvYlJlcGxhY2VTY2hlZHVsZWRNZXNzYWdlIHwgQmFja2dyb3VuZEpvYlNjaGVkdWxlUmVwbGFjZWRNZXNzYWdlIHwgQmFja2dyb3VuZEpvYlJlcGxhY2VTY2hlZHVsZWRFcnJvck1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iQ2FuY2VsU2NoZWR1bGVkTWVzc2FnZSB8IEJhY2tncm91bmRKb2JTY2hlZHVsZUNhbmNlbGxlZE1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iQ2FuY2VsU2NoZWR1bGVkRXJyb3JNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkpvYk1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iQ29tcGxldGVNZXNzYWdlIHwgQmFja2dyb3VuZEpvYkZhaWxlZE1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iUmVzY2hlZHVsZU1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iVXBkYXRlZE1lc3NhZ2UgfCBCYWNrZ3JvdW5kSm9iVXBkYXRlRXJyb3JNZXNzYWdlfSBCYWNrZ3JvdW5kSm9iU29ja2V0TWVzc2FnZVxuICovXG5cbmV4cG9ydCBjb25zdCBub3RoaW5nID0ge31cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/worker.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/worker.js"],"names":[],"mappings":"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"}