@eventual/core
Advanced tools
Comparing version 0.9.0 to 0.9.1
@@ -5,5 +5,5 @@ "use strict"; | ||
const condition_call_js_1 = require("./calls/condition-call.js"); | ||
const index_js_1 = require("./index.js"); | ||
const flags_js_1 = require("./runtime/flags.js"); | ||
function condition(...args) { | ||
if (!(0, index_js_1.isOrchestratorWorker)()) { | ||
if (!(0, flags_js_1.isOrchestratorWorker)()) { | ||
throw new Error("condition is only valid in a workflow"); | ||
@@ -15,2 +15,2 @@ } | ||
exports.condition = condition; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpRUFBZ0U7QUFDaEUseUNBQWtEO0FBOENsRCxTQUFnQixTQUFTLENBQ3ZCLEdBQUcsSUFFZ0M7SUFFbkMsSUFBSSxDQUFDLElBQUEsK0JBQW9CLEdBQUUsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDMUQ7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTFFLE9BQU8sSUFBQSx1Q0FBbUIsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBUSxDQUFDO0FBQ3JFLENBQUM7QUFYRCw4QkFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbmRpdGlvbkNhbGwgfSBmcm9tIFwiLi9jYWxscy9jb25kaXRpb24tY2FsbC5qc1wiO1xuaW1wb3J0IHsgaXNPcmNoZXN0cmF0b3JXb3JrZXIgfSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuXG5leHBvcnQgdHlwZSBDb25kaXRpb25QcmVkaWNhdGUgPSAoKSA9PiBib29sZWFuO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbk9wdGlvbnMge1xuICB0aW1lb3V0U2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIGNvbmRpdGlvbiB3aGljaCB3aWxsIHJlc29sdmUgd2hlbiB0aGUgcHJlZGljYXRlIHJlc29sdmVzIHRvIHRydWUuXG4gKlxuICogVGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb24gc2hvdWxkIGJlIGRldGVybWluaXN0aWMgYW5kIGNvbnRhaW4gbm8gYWN0aXZpdHkgY2FsbHMuXG4gKiBTaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYSB3b3JrZmxvdy5cbiAqXG4gKiBgYGB0c1xuICogd29ya2Zsb3coXCJteVdvcmtmbG93XCIsIGFzeW5jICgpID0+IHtcbiAqICAgIGxldCBuID0gMDtcbiAqICAgIG9uU2lnbmFsKFwibXlTaWduYWxcIiwgKCkgPT4geyBuKysgfSk7XG4gKlxuICogICAgYXdhaXQgY29uZGl0aW9uKCgpID0+IG4gPT09IDUpOyAvLyBhZnRlciA1IG15U2lnbmFscywgdGhpcyBwcm9taXNlIHdpbGwgYmUgcmVzb2x2ZWQuXG4gKlxuICogICAgcmV0dXJuIFwiZ290IDUhXCJcbiAqIH0pO1xuICogYGBgXG4gKlxuICogU3VwcG9ydHMgYSB0aW1lb3V0IHRvIGF2b2lkIHJ1bm5pbmcgZm9yZXZlci4gV2hlbiB0aGUgY29uZGl0aW9uIHRpbWVzIG91dCwgaXQgcmV0dXJucyBmYWxzZS5cbiAqXG4gKiBgYGB0c1xuICogd29ya2Zsb3coXCJteVdvcmtmbG93XCIsIGFzeW5jICgpID0+IHtcbiAqICAgIGxldCBuID0gMDtcbiAqICAgIG9uU2lnbmFsKFwibXlTaWduYWxcIiwgKCkgPT4geyBuKysgfSk7XG4gKlxuICogICAgLy8gYWZ0ZXIgNSBteVNpZ25hbHMsIHRoaXMgcHJvbWlzZSB3aWxsIGJlIHJlc29sdmVkLlxuICogICAgaWYoIShhd2FpdCBjb25kaXRpb24oeyB0aW1lb3V0U2Vjb25kczogNSAqIDYwIH0sICgpID0+IG4gPT09IDUpKSkge1xuICogICAgICAgcmV0dXJuIFwiZGlkIG5vdCBnZXQgNSBpbiA1IG1pbnV0ZXMuXCJcbiAqICAgIH1cbiAqXG4gKiAgICByZXR1cm4gXCJnb3QgNSFcIlxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmRpdGlvbihwcmVkaWNhdGU6IENvbmRpdGlvblByZWRpY2F0ZSk6IFByb21pc2U8Ym9vbGVhbj47XG5leHBvcnQgZnVuY3Rpb24gY29uZGl0aW9uKFxuICBvcHRzOiBDb25kaXRpb25PcHRpb25zLFxuICBwcmVkaWNhdGU6IENvbmRpdGlvblByZWRpY2F0ZVxuKTogUHJvbWlzZTxib29sZWFuPjtcbmV4cG9ydCBmdW5jdGlvbiBjb25kaXRpb24oXG4gIC4uLmFyZ3M6XG4gICAgfCBbb3B0czogQ29uZGl0aW9uT3B0aW9ucywgcHJlZGljYXRlOiBDb25kaXRpb25QcmVkaWNhdGVdXG4gICAgfCBbcHJlZGljYXRlOiBDb25kaXRpb25QcmVkaWNhdGVdXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKCFpc09yY2hlc3RyYXRvcldvcmtlcigpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY29uZGl0aW9uIGlzIG9ubHkgdmFsaWQgaW4gYSB3b3JrZmxvd1wiKTtcbiAgfVxuICBjb25zdCBbb3B0cywgcHJlZGljYXRlXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW3VuZGVmaW5lZCwgYXJnc1swXV0gOiBhcmdzO1xuXG4gIHJldHVybiBjcmVhdGVDb25kaXRpb25DYWxsKHByZWRpY2F0ZSwgb3B0cz8udGltZW91dFNlY29uZHMpIGFzIGFueTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpRUFBZ0U7QUFDaEUsaURBQTBEO0FBOEMxRCxTQUFnQixTQUFTLENBQ3ZCLEdBQUcsSUFFZ0M7SUFFbkMsSUFBSSxDQUFDLElBQUEsK0JBQW9CLEdBQUUsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDMUQ7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTFFLE9BQU8sSUFBQSx1Q0FBbUIsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBUSxDQUFDO0FBQ3JFLENBQUM7QUFYRCw4QkFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbmRpdGlvbkNhbGwgfSBmcm9tIFwiLi9jYWxscy9jb25kaXRpb24tY2FsbC5qc1wiO1xuaW1wb3J0IHsgaXNPcmNoZXN0cmF0b3JXb3JrZXIgfSBmcm9tIFwiLi9ydW50aW1lL2ZsYWdzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbmRpdGlvblByZWRpY2F0ZSA9ICgpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uT3B0aW9ucyB7XG4gIHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgY29uZGl0aW9uIHdoaWNoIHdpbGwgcmVzb2x2ZSB3aGVuIHRoZSBwcmVkaWNhdGUgcmVzb2x2ZXMgdG8gdHJ1ZS5cbiAqXG4gKiBUaGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbiBzaG91bGQgYmUgZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbiBubyBhY3Rpdml0eSBjYWxscy5cbiAqIFNob3VsZCBvbmx5IGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBhIHdvcmtmbG93LlxuICpcbiAqIGBgYHRzXG4gKiB3b3JrZmxvdyhcIm15V29ya2Zsb3dcIiwgYXN5bmMgKCkgPT4ge1xuICogICAgbGV0IG4gPSAwO1xuICogICAgb25TaWduYWwoXCJteVNpZ25hbFwiLCAoKSA9PiB7IG4rKyB9KTtcbiAqXG4gKiAgICBhd2FpdCBjb25kaXRpb24oKCkgPT4gbiA9PT0gNSk7IC8vIGFmdGVyIDUgbXlTaWduYWxzLCB0aGlzIHByb21pc2Ugd2lsbCBiZSByZXNvbHZlZC5cbiAqXG4gKiAgICByZXR1cm4gXCJnb3QgNSFcIlxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBTdXBwb3J0cyBhIHRpbWVvdXQgdG8gYXZvaWQgcnVubmluZyBmb3JldmVyLiBXaGVuIHRoZSBjb25kaXRpb24gdGltZXMgb3V0LCBpdCByZXR1cm5zIGZhbHNlLlxuICpcbiAqIGBgYHRzXG4gKiB3b3JrZmxvdyhcIm15V29ya2Zsb3dcIiwgYXN5bmMgKCkgPT4ge1xuICogICAgbGV0IG4gPSAwO1xuICogICAgb25TaWduYWwoXCJteVNpZ25hbFwiLCAoKSA9PiB7IG4rKyB9KTtcbiAqXG4gKiAgICAvLyBhZnRlciA1IG15U2lnbmFscywgdGhpcyBwcm9taXNlIHdpbGwgYmUgcmVzb2x2ZWQuXG4gKiAgICBpZighKGF3YWl0IGNvbmRpdGlvbih7IHRpbWVvdXRTZWNvbmRzOiA1ICogNjAgfSwgKCkgPT4gbiA9PT0gNSkpKSB7XG4gKiAgICAgICByZXR1cm4gXCJkaWQgbm90IGdldCA1IGluIDUgbWludXRlcy5cIlxuICogICAgfVxuICpcbiAqICAgIHJldHVybiBcImdvdCA1IVwiXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZGl0aW9uKHByZWRpY2F0ZTogQ29uZGl0aW9uUHJlZGljYXRlKTogUHJvbWlzZTxib29sZWFuPjtcbmV4cG9ydCBmdW5jdGlvbiBjb25kaXRpb24oXG4gIG9wdHM6IENvbmRpdGlvbk9wdGlvbnMsXG4gIHByZWRpY2F0ZTogQ29uZGl0aW9uUHJlZGljYXRlXG4pOiBQcm9taXNlPGJvb2xlYW4+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmRpdGlvbihcbiAgLi4uYXJnczpcbiAgICB8IFtvcHRzOiBDb25kaXRpb25PcHRpb25zLCBwcmVkaWNhdGU6IENvbmRpdGlvblByZWRpY2F0ZV1cbiAgICB8IFtwcmVkaWNhdGU6IENvbmRpdGlvblByZWRpY2F0ZV1cbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoIWlzT3JjaGVzdHJhdG9yV29ya2VyKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjb25kaXRpb24gaXMgb25seSB2YWxpZCBpbiBhIHdvcmtmbG93XCIpO1xuICB9XG4gIGNvbnN0IFtvcHRzLCBwcmVkaWNhdGVdID0gYXJncy5sZW5ndGggPT09IDEgPyBbdW5kZWZpbmVkLCBhcmdzWzBdXSA6IGFyZ3M7XG5cbiAgcmV0dXJuIGNyZWF0ZUNvbmRpdGlvbkNhbGwocHJlZGljYXRlLCBvcHRzPy50aW1lb3V0U2Vjb25kcykgYXMgYW55O1xufVxuIl19 |
@@ -6,3 +6,3 @@ "use strict"; | ||
const global_js_1 = require("./global.js"); | ||
const index_js_1 = require("./index.js"); | ||
const flags_js_1 = require("./runtime/flags.js"); | ||
/** | ||
@@ -67,7 +67,7 @@ * Declares an event that can be published and subscribed to. | ||
})); | ||
if ((0, index_js_1.isOrchestratorWorker)()) { | ||
if ((0, flags_js_1.isOrchestratorWorker)()) { | ||
return (0, send_events_call_js_1.createPublishEventsCall)(envelopes); | ||
} | ||
else { | ||
return (0, index_js_1.getServiceClient)().publishEvents({ events: envelopes }); | ||
return (0, global_js_1.getServiceClient)().publishEvents({ events: envelopes }); | ||
} | ||
@@ -80,2 +80,2 @@ }, | ||
exports.event = event; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXNFO0FBQ3RFLDJDQUF5RDtBQUN6RCx5Q0FBb0U7QUFnR3BFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBQ0gsU0FBZ0IsS0FBSyxDQUF5QixJQUFZO0lBQ3hELElBQUksSUFBQSxrQkFBTSxHQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLElBQUksa0JBQWtCLENBQUMsQ0FBQztLQUM3RDtJQUNELE1BQU0sS0FBSyxHQUFhO1FBQ3RCLElBQUk7UUFDSixPQUFPLENBQUMsT0FBTztZQUNiLElBQUEsOEJBQWtCLEdBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLGFBQWEsRUFBRTtvQkFDYjt3QkFDRSxJQUFJO3FCQUNMO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxPQUFxQzthQUMvQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsYUFBYSxDQUFDLEdBQUcsTUFBTTtZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJO2dCQUNKLEtBQUs7YUFDTixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksSUFBQSwrQkFBb0IsR0FBRSxFQUFFO2dCQUMxQixPQUFPLElBQUEsNkNBQXVCLEVBQUMsU0FBUyxDQUFRLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxJQUFBLDJCQUFnQixHQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDO0tBQ0YsQ0FBQztJQUNGLElBQUEsa0JBQU0sR0FBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBOUJELHNCQThCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVB1Ymxpc2hFdmVudHNDYWxsIH0gZnJvbSBcIi4vY2FsbHMvc2VuZC1ldmVudHMtY2FsbC5qc1wiO1xuaW1wb3J0IHsgZXZlbnRzLCBldmVudFN1YnNjcmlwdGlvbnMgfSBmcm9tIFwiLi9nbG9iYWwuanNcIjtcbmltcG9ydCB7IGdldFNlcnZpY2VDbGllbnQsIGlzT3JjaGVzdHJhdG9yV29ya2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcblxuLyoqXG4gKiBBbiBFdmVudFBheWxvYWQgaXMgdGhlIGRhdGEgc2VudCBhcyBhbiBldmVudC5cbiAqXG4gKiBJdCBtdXN0IGJlIGFuIG9iamVjdC4gUHJvcGVydGllcyBjYW4gYmUgYW55IHR5cGUgc2VyaWFsaXphYmxlIGFzIEpTT04uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRQYXlsb2FkIHtcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEV2ZW50UGF5bG9hZFR5cGU8RSBleHRlbmRzIEV2ZW50PGFueT4+ID0gRSBleHRlbmRzIEV2ZW50PFxuICBpbmZlciBQYXlsb2FkXG4+XG4gID8gUGF5bG9hZFxuICA6IG5ldmVyO1xuXG4vKipcbiAqIEFuIGVudmVsb3BlIG9iamVjdCBjb250YWluaW5nIHRoZSB7QGxpbmsgZXZlbnR9IHBheWxvYWQgYXNzb2NpYXRlZFxuICogd2l0aCBpdHMgdW5pcXVlIHtAbGluayBuYW1lfS5cbiAqXG4gKiBUaGlzIGVudmVsb3BlIGRlY291cGxlcyB0aGUge0BsaW5rIG5hbWV9IGZybyB0aGUgcGF5bG9hZCBzbyB0aGF0XG4gKiB0aGVyZSBhcmUgbm8gaW1wb3NpdGlvbnMgb24gdGhlIHN0cnVjdHVyZSBvZiBhbiBldmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudEVudmVsb3BlPEUgZXh0ZW5kcyBFdmVudFBheWxvYWQgPSBFdmVudFBheWxvYWQ+IHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBuYW1lIGlkZW50aWZ5aW5nIHRoZSB0eXBlIG9mIHRoZSB7QGxpbmsgZXZlbnR9LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHtAbGluayBFdmVudFBheWxvYWR9LlxuICAgKi9cbiAgZXZlbnQ6IEU7XG59XG5cbi8qKlxuICogQW4ge0BsaW5rIEV2ZW50fSBpcyBhbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBkZWNsYXJhdGlvbiBvZiBhbiBldmVudFxuICogdGhhdCBiZWxvbmdzIHdpdGhpbiB0aGUgc2VydmljZS4gQW4ge0BsaW5rIEV2ZW50fSBoYXMgYSB1bmlxdWUge0BsaW5rIG5hbWV9LFxuICogbWF5IGJlIHtAbGluayBwdWJsaXNoRXZlbnRzfWVkIGFuZCB7QGxpbmsgb25FdmVudH1kIHRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50PEUgZXh0ZW5kcyBFdmVudFBheWxvYWQgPSBFdmVudFBheWxvYWQ+IHtcbiAgLyoqXG4gICAqIFRoZSBFdmVudCdzIGdsb2JhbGx5IHVuaXF1ZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHRoaXMgZXZlbnQuIFRoZSB7QGxpbmsgaGFuZGxlcn0gd2lsbCBiZSBpbnZva2VkIGV2ZXJ5XG4gICAqIHRpbWUgYW4gZXZlbnQgd2l0aCB0aGlzIG5hbWUgaXMgcHVibGlzaGVkIHdpdGhpbiB0aGUgc2VydmljZSBib3VuZGFyeS5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgdGhlIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCB3aWxsIHByb2Nlc3MgdGhlIGV2ZW50LlxuICAgKi9cbiAgb25FdmVudChoYW5kbGVyOiAoZXZlbnQ6IEUpID0+IFByb21pc2U8dm9pZD4pOiB2b2lkO1xuICAvKipcbiAgICogUHVibGlzaCBldmVudHMgb2YgdGhpcyB0eXBlIHdpdGhpbiB0aGUgc2VydmljZSBib3VuZGFyeS5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50cyBhIGxpc3Qgb2YgZXZlbnRzIHRvIHB1Ymxpc2guXG4gICAqL1xuICBwdWJsaXNoRXZlbnRzKC4uLmV2ZW50czogRVtdKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBBIHtAbGluayBTdWJzY3JpcHRpb259IGlzIGFuIG9iamVjdCB0aGF0IGRlc2NyaWJlcyBob3cgdG8gc2VsZWN0IGV2ZW50cyBmcm9tXG4gKiB3aXRoaW4gYSBzZXJ2aWNlIGJvdW5kYXJ5IHRvIHJvdXRlIHRvIGEge0BsaW5rIEV2ZW50SGFuZGxlcn0uXG4gKlxuICogRm9yIG5vdywgd2Ugb25seSBzdXBwb3J0IG1hdGNoaW5nIG9uIGEgc2luZ2xlIG5hbWUsIGJ1dCB0aGlzIG9iamVjdCBjYW4gYmVcbiAqIGV4dGVuZGVkIHdpdGggb3RoZXIgcHJvcGVydGllcyBzdWNoIGFzIHNlbGVjdGlvbiBwcmVkaWNhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBldmVudCB0byBzdWJzY3JpYmUgdG8uXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4ge0BsaW5rIEV2ZW50U3Vic2NyaXB0aW9ufSBpcyBhbiBvYmplY3QgdGhhdCBhc3NvY2lhdGVzIGEge0BsaW5rIGhhbmRsZXJ9XG4gKiBmdW5jdGlvbiB3aXRoIGEgbGlzdCBvZiB7QGxpbmsgc3Vic2NyaXB0aW9uc30uIFRoZSB7QGxpbmsgc3Vic2NyaXB0aW9uc31cbiAqIGRlZmluZSB3aGljaCBldmVudHMgdGhpcyB7QGxpbmsgaGFuZGxlcn0gc2hvdWxkIGJlIGludm9rZWQgZm9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U3Vic2NyaXB0aW9uPEUgZXh0ZW5kcyBFdmVudFBheWxvYWQgPSBFdmVudFBheWxvYWQ+IHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB7QGxpbmsgU3Vic2NyaXB0aW9ufXMgdGhhdCBzaG91bGQgaW52b2tlIHRoaXMge0BsaW5rIGhhbmRsZXJ9LlxuICAgKi9cbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG4gIC8qKlxuICAgKiBUaGUge0BsaW5rIEV2ZW50SGFuZGxlcn0gdG8gaW52b2tlIGZvciBhbnkgZXZlbnQgdGhhdCBtYXRjaGVzIG9uZSBvZlxuICAgKiB0aGUge0BsaW5rIHN1YnNjcmlwdGlvbnN9LlxuICAgKi9cbiAgaGFuZGxlcjogRXZlbnRIYW5kbGVyPEU+O1xufVxuXG4vKipcbiAqIEEgRnVuY3Rpb24gdGhhdCBwcm9jZXNzZXMgYW4ge0BsaW5rIGV2ZW50fSBvZiB0eXBlIHtAbGluayBFfS5cbiAqL1xuZXhwb3J0IHR5cGUgRXZlbnRIYW5kbGVyPEUgZXh0ZW5kcyBFdmVudFBheWxvYWQ+ID0gKGV2ZW50OiBFKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4vKipcbiAqIERlY2xhcmVzIGFuIGV2ZW50IHRoYXQgY2FuIGJlIHB1Ymxpc2hlZCBhbmQgc3Vic2NyaWJlZCB0by5cbiAqXG4gKiBUbyBkZWNsYXJlIGFuIHtAbGluayBFdmVudH0sIGRlZmluZSBhbiBpbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgdHlwZVxuICogb2YgdGhlIHBheWxvYWQgYW5kIHRoZW4gZGVjbGFyZSBhbiBldmVudCBvYmplY3QgZ2l2aW5nIGl0IGEgdW5pcXVlIG5hbWUuXG4gKiBgYGB0c1xuICogaW50ZXJmYWNlIENoZWNrb3V0RXZlbnQge1xuICogICBjdXN0b21lcklkOiBzdHJpbmc7XG4gKiAgIGNhcnRJZDogc3RyaW5nO1xuICogICB0aW1lc3RhbXA6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBjb25zdCBjaGVja291dEV2ZW50ID0gZXZlbnQ8Q2hlY2tvdXRFdmVudD4oXCJDaGVja291dFwiKTtcbiAqIGBgYFxuICpcbiAqIFRvIHB1Ymxpc2ggZXZlbnRzLCBjYWxsIHRoZSBgcHVibGlzaGAgbWV0aG9kOlxuICogYGBgdHNcbiAqIGNvbnN0IGNoZWNrb3V0V29ya2Zsb3cgPSB3b3JrZmxvdyhcImNoZWNrb3V0V29ya2Zsb3dcIiwgYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAqICAgYXdhaXQgY2hlY2tvdXRFdmVudC5wdWJsaXNoRXZlbnRzKHtcbiAqICAgICBjdXN0b21lcklkOiByZXF1ZXN0LmN1c3RvbWVySWQsXG4gKiAgICAgY2FydElkOiByZXF1ZXN0LmNhcnRJZCxcbiAqICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9UaW1lU3RyaW5nKClcbiAqICAgfSk7XG4gKiB9KVxuICogYGBgXG4gKlxuICogVG8gc3Vic2NyaWJlIHRvIGV2ZW50cywgY2FsbCB0aGUgYG9uYCBtZXRob2QuIFRoaXMgd2lsbCByZWdpc3RlciBhXG4gKiBoYW5kbGVyIHRoYXQgd2lsIGxiZSBpbnZva2VkIGZvciBldmVyeSBldmVudCBvZiB0aGlzIHR5cGUgdGhhdCBpcyByZWNlaXZlZC5cbiAqXG4gKiBgYGB0c1xuICogY2hlY2tvdXRFdmVudC5vbkV2ZW50KGFzeW5jIChjaGVja291dCkgPT4ge1xuICogICBjb25zb2xlLmxvZyhjaGVja291dCk7XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBuYW1lIGEgdW5pcXVlIG5hbWUgdGhhdCBpZGVudGlmaWVzIHRoaXMgZXZlbnQgdHlwZSB3aXRoaW4gdGhlIFNlcnZpY2UuXG4gKiBAcmV0dXJucyBhbiB7QGxpbmsgRXZlbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmVudDxFIGV4dGVuZHMgRXZlbnRQYXlsb2FkPihuYW1lOiBzdHJpbmcpOiBFdmVudDxFPiB7XG4gIGlmIChldmVudHMoKS5oYXMobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGV2ZW50IHdpdGggbmFtZSAnJHtuYW1lfScgYWxyZWFkeSBleGlzdHNgKTtcbiAgfVxuICBjb25zdCBldmVudDogRXZlbnQ8RT4gPSB7XG4gICAgbmFtZSxcbiAgICBvbkV2ZW50KGhhbmRsZXIpIHtcbiAgICAgIGV2ZW50U3Vic2NyaXB0aW9ucygpLnB1c2goe1xuICAgICAgICBzdWJzY3JpcHRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBoYW5kbGVyOiBoYW5kbGVyIGFzIEV2ZW50SGFuZGxlcjxFdmVudFBheWxvYWQ+LFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBwdWJsaXNoRXZlbnRzKC4uLmV2ZW50cykge1xuICAgICAgY29uc3QgZW52ZWxvcGVzID0gZXZlbnRzLm1hcCgoZXZlbnQpID0+ICh7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGV2ZW50LFxuICAgICAgfSkpO1xuICAgICAgaWYgKGlzT3JjaGVzdHJhdG9yV29ya2VyKCkpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVB1Ymxpc2hFdmVudHNDYWxsKGVudmVsb3BlcykgYXMgYW55O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGdldFNlcnZpY2VDbGllbnQoKS5wdWJsaXNoRXZlbnRzKHsgZXZlbnRzOiBlbnZlbG9wZXMgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbiAgZXZlbnRzKCkuc2V0KG5hbWUsIGV2ZW50KTtcbiAgcmV0dXJuIGV2ZW50O1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXNFO0FBQ3RFLDJDQUEyRTtBQUMzRSxpREFBMEQ7QUFnRzFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBQ0gsU0FBZ0IsS0FBSyxDQUF5QixJQUFZO0lBQ3hELElBQUksSUFBQSxrQkFBTSxHQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLElBQUksa0JBQWtCLENBQUMsQ0FBQztLQUM3RDtJQUNELE1BQU0sS0FBSyxHQUFhO1FBQ3RCLElBQUk7UUFDSixPQUFPLENBQUMsT0FBTztZQUNiLElBQUEsOEJBQWtCLEdBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLGFBQWEsRUFBRTtvQkFDYjt3QkFDRSxJQUFJO3FCQUNMO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxPQUFxQzthQUMvQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsYUFBYSxDQUFDLEdBQUcsTUFBTTtZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJO2dCQUNKLEtBQUs7YUFDTixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksSUFBQSwrQkFBb0IsR0FBRSxFQUFFO2dCQUMxQixPQUFPLElBQUEsNkNBQXVCLEVBQUMsU0FBUyxDQUFRLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxJQUFBLDRCQUFnQixHQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDO0tBQ0YsQ0FBQztJQUNGLElBQUEsa0JBQU0sR0FBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBOUJELHNCQThCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVB1Ymxpc2hFdmVudHNDYWxsIH0gZnJvbSBcIi4vY2FsbHMvc2VuZC1ldmVudHMtY2FsbC5qc1wiO1xuaW1wb3J0IHsgZXZlbnRzLCBldmVudFN1YnNjcmlwdGlvbnMsIGdldFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi9nbG9iYWwuanNcIjtcbmltcG9ydCB7IGlzT3JjaGVzdHJhdG9yV29ya2VyIH0gZnJvbSBcIi4vcnVudGltZS9mbGFncy5qc1wiO1xuXG4vKipcbiAqIEFuIEV2ZW50UGF5bG9hZCBpcyB0aGUgZGF0YSBzZW50IGFzIGFuIGV2ZW50LlxuICpcbiAqIEl0IG11c3QgYmUgYW4gb2JqZWN0LiBQcm9wZXJ0aWVzIGNhbiBiZSBhbnkgdHlwZSBzZXJpYWxpemFibGUgYXMgSlNPTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudFBheWxvYWQge1xuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRQYXlsb2FkVHlwZTxFIGV4dGVuZHMgRXZlbnQ8YW55Pj4gPSBFIGV4dGVuZHMgRXZlbnQ8XG4gIGluZmVyIFBheWxvYWRcbj5cbiAgPyBQYXlsb2FkXG4gIDogbmV2ZXI7XG5cbi8qKlxuICogQW4gZW52ZWxvcGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHtAbGluayBldmVudH0gcGF5bG9hZCBhc3NvY2lhdGVkXG4gKiB3aXRoIGl0cyB1bmlxdWUge0BsaW5rIG5hbWV9LlxuICpcbiAqIFRoaXMgZW52ZWxvcGUgZGVjb3VwbGVzIHRoZSB7QGxpbmsgbmFtZX0gZnJvIHRoZSBwYXlsb2FkIHNvIHRoYXRcbiAqIHRoZXJlIGFyZSBubyBpbXBvc2l0aW9ucyBvbiB0aGUgc3RydWN0dXJlIG9mIGFuIGV2ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50RW52ZWxvcGU8RSBleHRlbmRzIEV2ZW50UGF5bG9hZCA9IEV2ZW50UGF5bG9hZD4ge1xuICAvKipcbiAgICogVW5pcXVlIG5hbWUgaWRlbnRpZnlpbmcgdGhlIHR5cGUgb2YgdGhlIHtAbGluayBldmVudH0uXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUge0BsaW5rIEV2ZW50UGF5bG9hZH0uXG4gICAqL1xuICBldmVudDogRTtcbn1cblxuLyoqXG4gKiBBbiB7QGxpbmsgRXZlbnR9IGlzIGFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGRlY2xhcmF0aW9uIG9mIGFuIGV2ZW50XG4gKiB0aGF0IGJlbG9uZ3Mgd2l0aGluIHRoZSBzZXJ2aWNlLiBBbiB7QGxpbmsgRXZlbnR9IGhhcyBhIHVuaXF1ZSB7QGxpbmsgbmFtZX0sXG4gKiBtYXkgYmUge0BsaW5rIHB1Ymxpc2hFdmVudHN9ZWQgYW5kIHtAbGluayBvbkV2ZW50fWQgdG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnQ8RSBleHRlbmRzIEV2ZW50UGF5bG9hZCA9IEV2ZW50UGF5bG9hZD4ge1xuICAvKipcbiAgICogVGhlIEV2ZW50J3MgZ2xvYmFsbHkgdW5pcXVlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gdGhpcyBldmVudC4gVGhlIHtAbGluayBoYW5kbGVyfSB3aWxsIGJlIGludm9rZWQgZXZlcnlcbiAgICogdGltZSBhbiBldmVudCB3aXRoIHRoaXMgbmFtZSBpcyBwdWJsaXNoZWQgd2l0aGluIHRoZSBzZXJ2aWNlIGJvdW5kYXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciB0aGUgaGFuZGxlciBmdW5jdGlvbiB0aGF0IHdpbGwgcHJvY2VzcyB0aGUgZXZlbnQuXG4gICAqL1xuICBvbkV2ZW50KGhhbmRsZXI6IChldmVudDogRSkgPT4gUHJvbWlzZTx2b2lkPik6IHZvaWQ7XG4gIC8qKlxuICAgKiBQdWJsaXNoIGV2ZW50cyBvZiB0aGlzIHR5cGUgd2l0aGluIHRoZSBzZXJ2aWNlIGJvdW5kYXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRzIGEgbGlzdCBvZiBldmVudHMgdG8gcHVibGlzaC5cbiAgICovXG4gIHB1Ymxpc2hFdmVudHMoLi4uZXZlbnRzOiBFW10pOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEge0BsaW5rIFN1YnNjcmlwdGlvbn0gaXMgYW4gb2JqZWN0IHRoYXQgZGVzY3JpYmVzIGhvdyB0byBzZWxlY3QgZXZlbnRzIGZyb21cbiAqIHdpdGhpbiBhIHNlcnZpY2UgYm91bmRhcnkgdG8gcm91dGUgdG8gYSB7QGxpbmsgRXZlbnRIYW5kbGVyfS5cbiAqXG4gKiBGb3Igbm93LCB3ZSBvbmx5IHN1cHBvcnQgbWF0Y2hpbmcgb24gYSBzaW5nbGUgbmFtZSwgYnV0IHRoaXMgb2JqZWN0IGNhbiBiZVxuICogZXh0ZW5kZWQgd2l0aCBvdGhlciBwcm9wZXJ0aWVzIHN1Y2ggYXMgc2VsZWN0aW9uIHByZWRpY2F0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGV2ZW50IHRvIHN1YnNjcmliZSB0by5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiB7QGxpbmsgRXZlbnRTdWJzY3JpcHRpb259IGlzIGFuIG9iamVjdCB0aGF0IGFzc29jaWF0ZXMgYSB7QGxpbmsgaGFuZGxlcn1cbiAqIGZ1bmN0aW9uIHdpdGggYSBsaXN0IG9mIHtAbGluayBzdWJzY3JpcHRpb25zfS4gVGhlIHtAbGluayBzdWJzY3JpcHRpb25zfVxuICogZGVmaW5lIHdoaWNoIGV2ZW50cyB0aGlzIHtAbGluayBoYW5kbGVyfSBzaG91bGQgYmUgaW52b2tlZCBmb3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRTdWJzY3JpcHRpb248RSBleHRlbmRzIEV2ZW50UGF5bG9hZCA9IEV2ZW50UGF5bG9hZD4ge1xuICAvKipcbiAgICogQSBsaXN0IG9mIHtAbGluayBTdWJzY3JpcHRpb259cyB0aGF0IHNob3VsZCBpbnZva2UgdGhpcyB7QGxpbmsgaGFuZGxlcn0uXG4gICAqL1xuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXTtcbiAgLyoqXG4gICAqIFRoZSB7QGxpbmsgRXZlbnRIYW5kbGVyfSB0byBpbnZva2UgZm9yIGFueSBldmVudCB0aGF0IG1hdGNoZXMgb25lIG9mXG4gICAqIHRoZSB7QGxpbmsgc3Vic2NyaXB0aW9uc30uXG4gICAqL1xuICBoYW5kbGVyOiBFdmVudEhhbmRsZXI8RT47XG59XG5cbi8qKlxuICogQSBGdW5jdGlvbiB0aGF0IHByb2Nlc3NlcyBhbiB7QGxpbmsgZXZlbnR9IG9mIHR5cGUge0BsaW5rIEV9LlxuICovXG5leHBvcnQgdHlwZSBFdmVudEhhbmRsZXI8RSBleHRlbmRzIEV2ZW50UGF5bG9hZD4gPSAoZXZlbnQ6IEUpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogRGVjbGFyZXMgYW4gZXZlbnQgdGhhdCBjYW4gYmUgcHVibGlzaGVkIGFuZCBzdWJzY3JpYmVkIHRvLlxuICpcbiAqIFRvIGRlY2xhcmUgYW4ge0BsaW5rIEV2ZW50fSwgZGVmaW5lIGFuIGludGVyZmFjZSBkZXNjcmliaW5nIHRoZSB0eXBlXG4gKiBvZiB0aGUgcGF5bG9hZCBhbmQgdGhlbiBkZWNsYXJlIGFuIGV2ZW50IG9iamVjdCBnaXZpbmcgaXQgYSB1bmlxdWUgbmFtZS5cbiAqIGBgYHRzXG4gKiBpbnRlcmZhY2UgQ2hlY2tvdXRFdmVudCB7XG4gKiAgIGN1c3RvbWVySWQ6IHN0cmluZztcbiAqICAgY2FydElkOiBzdHJpbmc7XG4gKiAgIHRpbWVzdGFtcDogc3RyaW5nO1xuICogfVxuICpcbiAqIGNvbnN0IGNoZWNrb3V0RXZlbnQgPSBldmVudDxDaGVja291dEV2ZW50PihcIkNoZWNrb3V0XCIpO1xuICogYGBgXG4gKlxuICogVG8gcHVibGlzaCBldmVudHMsIGNhbGwgdGhlIGBwdWJsaXNoYCBtZXRob2Q6XG4gKiBgYGB0c1xuICogY29uc3QgY2hlY2tvdXRXb3JrZmxvdyA9IHdvcmtmbG93KFwiY2hlY2tvdXRXb3JrZmxvd1wiLCBhc3luYyAocmVxdWVzdCkgPT4ge1xuICogICBhd2FpdCBjaGVja291dEV2ZW50LnB1Ymxpc2hFdmVudHMoe1xuICogICAgIGN1c3RvbWVySWQ6IHJlcXVlc3QuY3VzdG9tZXJJZCxcbiAqICAgICBjYXJ0SWQ6IHJlcXVlc3QuY2FydElkLFxuICogICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b1RpbWVTdHJpbmcoKVxuICogICB9KTtcbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiBUbyBzdWJzY3JpYmUgdG8gZXZlbnRzLCBjYWxsIHRoZSBgb25gIG1ldGhvZC4gVGhpcyB3aWxsIHJlZ2lzdGVyIGFcbiAqIGhhbmRsZXIgdGhhdCB3aWwgbGJlIGludm9rZWQgZm9yIGV2ZXJ5IGV2ZW50IG9mIHRoaXMgdHlwZSB0aGF0IGlzIHJlY2VpdmVkLlxuICpcbiAqIGBgYHRzXG4gKiBjaGVja291dEV2ZW50Lm9uRXZlbnQoYXN5bmMgKGNoZWNrb3V0KSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKGNoZWNrb3V0KTtcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHBhcmFtIG5hbWUgYSB1bmlxdWUgbmFtZSB0aGF0IGlkZW50aWZpZXMgdGhpcyBldmVudCB0eXBlIHdpdGhpbiB0aGUgU2VydmljZS5cbiAqIEByZXR1cm5zIGFuIHtAbGluayBFdmVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50PEUgZXh0ZW5kcyBFdmVudFBheWxvYWQ+KG5hbWU6IHN0cmluZyk6IEV2ZW50PEU+IHtcbiAgaWYgKGV2ZW50cygpLmhhcyhuYW1lKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXZlbnQgd2l0aCBuYW1lICcke25hbWV9JyBhbHJlYWR5IGV4aXN0c2ApO1xuICB9XG4gIGNvbnN0IGV2ZW50OiBFdmVudDxFPiA9IHtcbiAgICBuYW1lLFxuICAgIG9uRXZlbnQoaGFuZGxlcikge1xuICAgICAgZXZlbnRTdWJzY3JpcHRpb25zKCkucHVzaCh7XG4gICAgICAgIHN1YnNjcmlwdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGhhbmRsZXI6IGhhbmRsZXIgYXMgRXZlbnRIYW5kbGVyPEV2ZW50UGF5bG9hZD4sXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHB1Ymxpc2hFdmVudHMoLi4uZXZlbnRzKSB7XG4gICAgICBjb25zdCBlbnZlbG9wZXMgPSBldmVudHMubWFwKChldmVudCkgPT4gKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZXZlbnQsXG4gICAgICB9KSk7XG4gICAgICBpZiAoaXNPcmNoZXN0cmF0b3JXb3JrZXIoKSkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHVibGlzaEV2ZW50c0NhbGwoZW52ZWxvcGVzKSBhcyBhbnk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZ2V0U2VydmljZUNsaWVudCgpLnB1Ymxpc2hFdmVudHMoeyBldmVudHM6IGVudmVsb3BlcyB9KTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuICBldmVudHMoKS5zZXQobmFtZSwgZXZlbnQpO1xuICByZXR1cm4gZXZlbnQ7XG59XG4iXX0= |
@@ -1,3 +0,3 @@ | ||
import { Eventual } from "./eventual.js"; | ||
import { HistoryEvent } from "./workflow-events.js"; | ||
import { Eventual, CommandCall } from "./eventual.js"; | ||
import { HistoryEvent, WorkflowEvent } from "./workflow-events.js"; | ||
import { Result } from "./result.js"; | ||
@@ -18,6 +18,14 @@ import { Command } from "./command.js"; | ||
export type Program<Return = any> = Generator<Eventual, Return, any>; | ||
export interface InterpretProps { | ||
/** | ||
* Callback called when a returned call matches an input event. | ||
* | ||
* This call will be ignored. | ||
*/ | ||
historicalEventMatched?: (event: WorkflowEvent, call: CommandCall) => void; | ||
} | ||
/** | ||
* Interprets a workflow program | ||
*/ | ||
export declare function interpret<Return>(program: Program<Return>, history: HistoryEvent[]): WorkflowResult<Awaited<Return>>; | ||
export declare function interpret<Return>(program: Program<Return>, history: HistoryEvent[], props?: InterpretProps): WorkflowResult<Awaited<Return>>; | ||
//# sourceMappingURL=interpret.d.ts.map |
export * from "./activity-runtime-client.js"; | ||
export * from "./event-client.js"; | ||
export * from "./execution-history-client.js"; | ||
export * from "./logs-client.js"; | ||
export * from "./metrics-client.js"; | ||
export * from "./runtime-service-clients.js"; | ||
export * from "./timer-client.js"; | ||
export * from "./workflow-client.js"; | ||
export * from "./workflow-runtime-client.js"; | ||
export * from "./runtime-service-clients.js"; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -20,7 +20,8 @@ "use strict"; | ||
__exportStar(require("./execution-history-client.js"), exports); | ||
__exportStar(require("./logs-client.js"), exports); | ||
__exportStar(require("./metrics-client.js"), exports); | ||
__exportStar(require("./runtime-service-clients.js"), exports); | ||
__exportStar(require("./timer-client.js"), exports); | ||
__exportStar(require("./workflow-client.js"), exports); | ||
__exportStar(require("./workflow-runtime-client.js"), exports); | ||
__exportStar(require("./runtime-service-clients.js"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBNkM7QUFDN0Msb0RBQWtDO0FBQ2xDLGdFQUE4QztBQUM5QyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBQ2xDLHVEQUFxQztBQUNyQywrREFBNkM7QUFDN0MsK0RBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWN0aXZpdHktcnVudGltZS1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50LWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uLWhpc3RvcnktY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXRyaWNzLWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGltZXItY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3JrZmxvdy1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtmbG93LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ydW50aW1lLXNlcnZpY2UtY2xpZW50cy5qc1wiO1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBNkM7QUFDN0Msb0RBQWtDO0FBQ2xDLGdFQUE4QztBQUM5QyxtREFBaUM7QUFDakMsc0RBQW9DO0FBQ3BDLCtEQUE2QztBQUM3QyxvREFBa0M7QUFDbEMsdURBQXFDO0FBQ3JDLCtEQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ldmVudC1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi1oaXN0b3J5LWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9ncy1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21ldHJpY3MtY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ydW50aW1lLXNlcnZpY2UtY2xpZW50cy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGltZXItY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3JrZmxvdy1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtmbG93LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG4iXX0= |
@@ -7,3 +7,3 @@ import { SendActivitySuccessRequest, EventualServiceClient, ExecutionEventsRequest, ExecutionEventsResponse, ExecutionHistoryResponse, SendActivityFailureRequest, GetExecutionsRequest, GetExecutionsResponse, GetWorkflowResponse, SendActivityHeartbeatRequest, PublishEventsRequest, StartExecutionRequest, SendActivityHeartbeatResponse } from "../../service-client.js"; | ||
import { SendSignalRequest, WorkflowClient } from "./workflow-client.js"; | ||
import { WorkflowRuntimeClient } from "../../index.js"; | ||
import { WorkflowRuntimeClient } from "./workflow-runtime-client.js"; | ||
export interface RuntimeServiceClientProps { | ||
@@ -10,0 +10,0 @@ workflowClient: WorkflowClient; |
@@ -5,3 +5,3 @@ "use strict"; | ||
const execution_js_1 = require("../../execution.js"); | ||
const index_js_1 = require("../../index.js"); | ||
const global_js_1 = require("../../global.js"); | ||
/** | ||
@@ -18,3 +18,3 @@ * An implementation of the {@link EventualServiceClient} using the eventual runtime clients. | ||
return { | ||
workflows: Array.from((0, index_js_1.workflows)().keys()).map((k) => ({ name: k })), | ||
workflows: Array.from((0, global_js_1.workflows)().keys()).map((k) => ({ name: k })), | ||
}; | ||
@@ -58,2 +58,2 @@ } | ||
exports.RuntimeServiceClient = RuntimeServiceClient; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXJ2aWNlLWNsaWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL3J1bnRpbWUtc2VydmljZS1jbGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLHFEQUFnRTtBQUtoRSw2Q0FBa0U7QUFTbEU7Ozs7R0FJRztBQUNILE1BQWEsb0JBQW9CO0lBQy9CLFlBQW9CLEtBQWdDO1FBQWhDLFVBQUssR0FBTCxLQUFLLENBQTJCO0lBQUcsQ0FBQztJQUVqRCxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBQSxvQkFBUyxHQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQ3pCLE9BQWlDO1FBRWpDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FDcEUsT0FBTyxDQUNSLENBQUM7UUFDRixPQUFPLElBQUksOEJBQWUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQ3hCLE9BQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxZQUFZLENBQ2pCLFdBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxtQkFBbUIsQ0FDeEIsT0FBK0I7UUFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sS0FBSyxDQUFDLDJCQUEyQixDQUN0QyxXQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUM5RCxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU87WUFDTCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQTBCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxhQUFhLENBQUMsT0FBNkI7UUFDaEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixPQUFzRDtRQUV0RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxtQkFBbUIsQ0FDeEIsT0FBaUQ7UUFFakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0scUJBQXFCLENBQzFCLE9BQW1EO1FBRW5ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBeEVELG9EQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlbmRBY3Rpdml0eVN1Y2Nlc3NSZXF1ZXN0LFxuICBFdmVudHVhbFNlcnZpY2VDbGllbnQsXG4gIEV4ZWN1dGlvbkV2ZW50c1JlcXVlc3QsXG4gIEV4ZWN1dGlvbkV2ZW50c1Jlc3BvbnNlLFxuICBFeGVjdXRpb25IaXN0b3J5UmVzcG9uc2UsXG4gIFNlbmRBY3Rpdml0eUZhaWx1cmVSZXF1ZXN0LFxuICBHZXRFeGVjdXRpb25zUmVxdWVzdCxcbiAgR2V0RXhlY3V0aW9uc1Jlc3BvbnNlLFxuICBHZXRXb3JrZmxvd1Jlc3BvbnNlLFxuICBTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXF1ZXN0LFxuICBQdWJsaXNoRXZlbnRzUmVxdWVzdCxcbiAgU3RhcnRFeGVjdXRpb25SZXF1ZXN0LFxuICBTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXNwb25zZSxcbn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBFeGVjdXRpb24sIEV4ZWN1dGlvbkhhbmRsZSB9IGZyb20gXCIuLi8uLi9leGVjdXRpb24uanNcIjtcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSBcIi4uLy4uL3dvcmtmbG93LmpzXCI7XG5pbXBvcnQgeyBFdmVudENsaWVudCB9IGZyb20gXCIuL2V2ZW50LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgRXhlY3V0aW9uSGlzdG9yeUNsaWVudCB9IGZyb20gXCIuL2V4ZWN1dGlvbi1oaXN0b3J5LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgU2VuZFNpZ25hbFJlcXVlc3QsIFdvcmtmbG93Q2xpZW50IH0gZnJvbSBcIi4vd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1J1bnRpbWVDbGllbnQsIHdvcmtmbG93cyB9IGZyb20gXCIuLi8uLi9pbmRleC5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVTZXJ2aWNlQ2xpZW50UHJvcHMge1xuICB3b3JrZmxvd0NsaWVudDogV29ya2Zsb3dDbGllbnQ7XG4gIGV4ZWN1dGlvbkhpc3RvcnlDbGllbnQ6IEV4ZWN1dGlvbkhpc3RvcnlDbGllbnQ7XG4gIGV2ZW50Q2xpZW50OiBFdmVudENsaWVudDtcbiAgd29ya2Zsb3dSdW50aW1lQ2xpZW50OiBXb3JrZmxvd1J1bnRpbWVDbGllbnQ7XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIHtAbGluayBFdmVudHVhbFNlcnZpY2VDbGllbnR9IHVzaW5nIHRoZSBldmVudHVhbCBydW50aW1lIGNsaWVudHMuXG4gKlxuICogSW50ZW5kZWQgdG8gYmUgdXNlZCB3aGVuIHRoZXJlIGlzIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGV2ZW50dWFsIHNlcnZpY2UgaW50ZXJuYWxzLlxuICovXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2VDbGllbnQgaW1wbGVtZW50cyBFdmVudHVhbFNlcnZpY2VDbGllbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBSdW50aW1lU2VydmljZUNsaWVudFByb3BzKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd3MoKTogUHJvbWlzZTxHZXRXb3JrZmxvd1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdvcmtmbG93czogQXJyYXkuZnJvbSh3b3JrZmxvd3MoKS5rZXlzKCkpLm1hcCgoaykgPT4gKHsgbmFtZTogayB9KSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdGFydEV4ZWN1dGlvbjxXIGV4dGVuZHMgV29ya2Zsb3cgPSBXb3JrZmxvdz4oXG4gICAgcmVxdWVzdDogU3RhcnRFeGVjdXRpb25SZXF1ZXN0PFc+XG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGFuZGxlPFc+PiB7XG4gICAgY29uc3QgeyBleGVjdXRpb25JZCB9ID0gYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zdGFydEV4ZWN1dGlvbjxXPihcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICAgIHJldHVybiBuZXcgRXhlY3V0aW9uSGFuZGxlKGV4ZWN1dGlvbklkLCB0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRFeGVjdXRpb25zKFxuICAgIHJlcXVlc3Q6IEdldEV4ZWN1dGlvbnNSZXF1ZXN0XG4gICk6IFByb21pc2U8R2V0RXhlY3V0aW9uc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuZ2V0RXhlY3V0aW9ucyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeGVjdXRpb24oXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEV4ZWN1dGlvbjxhbnk+IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuZ2V0RXhlY3V0aW9uKGV4ZWN1dGlvbklkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeGVjdXRpb25IaXN0b3J5KFxuICAgIHJlcXVlc3Q6IEV4ZWN1dGlvbkV2ZW50c1JlcXVlc3RcbiAgKTogUHJvbWlzZTxFeGVjdXRpb25FdmVudHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV4ZWN1dGlvbkhpc3RvcnlDbGllbnQuZ2V0RXZlbnRzKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEV4ZWN1dGlvbldvcmtmbG93SGlzdG9yeShcbiAgICBleGVjdXRpb25JZDogc3RyaW5nXG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGlzdG9yeVJlc3BvbnNlPiB7XG4gICAgY29uc3QgZXZlbnRzID0gYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd1J1bnRpbWVDbGllbnQuZ2V0SGlzdG9yeShcbiAgICAgIGV4ZWN1dGlvbklkXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFNpZ25hbChyZXF1ZXN0OiBTZW5kU2lnbmFsUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LnNlbmRTaWduYWwocmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgcHVibGlzaEV2ZW50cyhyZXF1ZXN0OiBQdWJsaXNoRXZlbnRzUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV2ZW50Q2xpZW50LnB1Ymxpc2hFdmVudHMoLi4ucmVxdWVzdC5ldmVudHMpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBY3Rpdml0eVN1Y2Nlc3MoXG4gICAgcmVxdWVzdDogT21pdDxTZW5kQWN0aXZpdHlTdWNjZXNzUmVxdWVzdDxhbnk+LCBcInR5cGVcIj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5U3VjY2VzcyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQWN0aXZpdHlGYWlsdXJlKFxuICAgIHJlcXVlc3Q6IE9taXQ8U2VuZEFjdGl2aXR5RmFpbHVyZVJlcXVlc3QsIFwidHlwZVwiPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zZW5kQWN0aXZpdHlGYWlsdXJlKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBY3Rpdml0eUhlYXJ0YmVhdChcbiAgICByZXF1ZXN0OiBPbWl0PFNlbmRBY3Rpdml0eUhlYXJ0YmVhdFJlcXVlc3QsIFwidHlwZVwiPlxuICApOiBQcm9taXNlPFNlbmRBY3Rpdml0eUhlYXJ0YmVhdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5SGVhcnRiZWF0KHJlcXVlc3QpO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXJ2aWNlLWNsaWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL3J1bnRpbWUtc2VydmljZS1jbGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLHFEQUFnRTtBQU1oRSwrQ0FBNEM7QUFTNUM7Ozs7R0FJRztBQUNILE1BQWEsb0JBQW9CO0lBQy9CLFlBQW9CLEtBQWdDO1FBQWhDLFVBQUssR0FBTCxLQUFLLENBQTJCO0lBQUcsQ0FBQztJQUVqRCxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBQSxxQkFBUyxHQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQ3pCLE9BQWlDO1FBRWpDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FDcEUsT0FBTyxDQUNSLENBQUM7UUFDRixPQUFPLElBQUksOEJBQWUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQ3hCLE9BQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxZQUFZLENBQ2pCLFdBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxtQkFBbUIsQ0FDeEIsT0FBK0I7UUFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sS0FBSyxDQUFDLDJCQUEyQixDQUN0QyxXQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUM5RCxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU87WUFDTCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQTBCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxhQUFhLENBQUMsT0FBNkI7UUFDaEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixPQUFzRDtRQUV0RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxtQkFBbUIsQ0FDeEIsT0FBaUQ7UUFFakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0scUJBQXFCLENBQzFCLE9BQW1EO1FBRW5ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBeEVELG9EQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlbmRBY3Rpdml0eVN1Y2Nlc3NSZXF1ZXN0LFxuICBFdmVudHVhbFNlcnZpY2VDbGllbnQsXG4gIEV4ZWN1dGlvbkV2ZW50c1JlcXVlc3QsXG4gIEV4ZWN1dGlvbkV2ZW50c1Jlc3BvbnNlLFxuICBFeGVjdXRpb25IaXN0b3J5UmVzcG9uc2UsXG4gIFNlbmRBY3Rpdml0eUZhaWx1cmVSZXF1ZXN0LFxuICBHZXRFeGVjdXRpb25zUmVxdWVzdCxcbiAgR2V0RXhlY3V0aW9uc1Jlc3BvbnNlLFxuICBHZXRXb3JrZmxvd1Jlc3BvbnNlLFxuICBTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXF1ZXN0LFxuICBQdWJsaXNoRXZlbnRzUmVxdWVzdCxcbiAgU3RhcnRFeGVjdXRpb25SZXF1ZXN0LFxuICBTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXNwb25zZSxcbn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBFeGVjdXRpb24sIEV4ZWN1dGlvbkhhbmRsZSB9IGZyb20gXCIuLi8uLi9leGVjdXRpb24uanNcIjtcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSBcIi4uLy4uL3dvcmtmbG93LmpzXCI7XG5pbXBvcnQgeyBFdmVudENsaWVudCB9IGZyb20gXCIuL2V2ZW50LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgRXhlY3V0aW9uSGlzdG9yeUNsaWVudCB9IGZyb20gXCIuL2V4ZWN1dGlvbi1oaXN0b3J5LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgU2VuZFNpZ25hbFJlcXVlc3QsIFdvcmtmbG93Q2xpZW50IH0gZnJvbSBcIi4vd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1J1bnRpbWVDbGllbnQgfSBmcm9tIFwiLi93b3JrZmxvdy1ydW50aW1lLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgd29ya2Zsb3dzIH0gZnJvbSBcIi4uLy4uL2dsb2JhbC5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVTZXJ2aWNlQ2xpZW50UHJvcHMge1xuICB3b3JrZmxvd0NsaWVudDogV29ya2Zsb3dDbGllbnQ7XG4gIGV4ZWN1dGlvbkhpc3RvcnlDbGllbnQ6IEV4ZWN1dGlvbkhpc3RvcnlDbGllbnQ7XG4gIGV2ZW50Q2xpZW50OiBFdmVudENsaWVudDtcbiAgd29ya2Zsb3dSdW50aW1lQ2xpZW50OiBXb3JrZmxvd1J1bnRpbWVDbGllbnQ7XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIHtAbGluayBFdmVudHVhbFNlcnZpY2VDbGllbnR9IHVzaW5nIHRoZSBldmVudHVhbCBydW50aW1lIGNsaWVudHMuXG4gKlxuICogSW50ZW5kZWQgdG8gYmUgdXNlZCB3aGVuIHRoZXJlIGlzIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGV2ZW50dWFsIHNlcnZpY2UgaW50ZXJuYWxzLlxuICovXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2VDbGllbnQgaW1wbGVtZW50cyBFdmVudHVhbFNlcnZpY2VDbGllbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBSdW50aW1lU2VydmljZUNsaWVudFByb3BzKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd3MoKTogUHJvbWlzZTxHZXRXb3JrZmxvd1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdvcmtmbG93czogQXJyYXkuZnJvbSh3b3JrZmxvd3MoKS5rZXlzKCkpLm1hcCgoaykgPT4gKHsgbmFtZTogayB9KSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdGFydEV4ZWN1dGlvbjxXIGV4dGVuZHMgV29ya2Zsb3cgPSBXb3JrZmxvdz4oXG4gICAgcmVxdWVzdDogU3RhcnRFeGVjdXRpb25SZXF1ZXN0PFc+XG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGFuZGxlPFc+PiB7XG4gICAgY29uc3QgeyBleGVjdXRpb25JZCB9ID0gYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zdGFydEV4ZWN1dGlvbjxXPihcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICAgIHJldHVybiBuZXcgRXhlY3V0aW9uSGFuZGxlKGV4ZWN1dGlvbklkLCB0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRFeGVjdXRpb25zKFxuICAgIHJlcXVlc3Q6IEdldEV4ZWN1dGlvbnNSZXF1ZXN0XG4gICk6IFByb21pc2U8R2V0RXhlY3V0aW9uc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuZ2V0RXhlY3V0aW9ucyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeGVjdXRpb24oXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEV4ZWN1dGlvbjxhbnk+IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuZ2V0RXhlY3V0aW9uKGV4ZWN1dGlvbklkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeGVjdXRpb25IaXN0b3J5KFxuICAgIHJlcXVlc3Q6IEV4ZWN1dGlvbkV2ZW50c1JlcXVlc3RcbiAgKTogUHJvbWlzZTxFeGVjdXRpb25FdmVudHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV4ZWN1dGlvbkhpc3RvcnlDbGllbnQuZ2V0RXZlbnRzKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEV4ZWN1dGlvbldvcmtmbG93SGlzdG9yeShcbiAgICBleGVjdXRpb25JZDogc3RyaW5nXG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGlzdG9yeVJlc3BvbnNlPiB7XG4gICAgY29uc3QgZXZlbnRzID0gYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd1J1bnRpbWVDbGllbnQuZ2V0SGlzdG9yeShcbiAgICAgIGV4ZWN1dGlvbklkXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFNpZ25hbChyZXF1ZXN0OiBTZW5kU2lnbmFsUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LnNlbmRTaWduYWwocmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgcHVibGlzaEV2ZW50cyhyZXF1ZXN0OiBQdWJsaXNoRXZlbnRzUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV2ZW50Q2xpZW50LnB1Ymxpc2hFdmVudHMoLi4ucmVxdWVzdC5ldmVudHMpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBY3Rpdml0eVN1Y2Nlc3MoXG4gICAgcmVxdWVzdDogT21pdDxTZW5kQWN0aXZpdHlTdWNjZXNzUmVxdWVzdDxhbnk+LCBcInR5cGVcIj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5U3VjY2VzcyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQWN0aXZpdHlGYWlsdXJlKFxuICAgIHJlcXVlc3Q6IE9taXQ8U2VuZEFjdGl2aXR5RmFpbHVyZVJlcXVlc3QsIFwidHlwZVwiPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zZW5kQWN0aXZpdHlGYWlsdXJlKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBY3Rpdml0eUhlYXJ0YmVhdChcbiAgICByZXF1ZXN0OiBPbWl0PFNlbmRBY3Rpdml0eUhlYXJ0YmVhdFJlcXVlc3QsIFwidHlwZVwiPlxuICApOiBQcm9taXNlPFNlbmRBY3Rpdml0eUhlYXJ0YmVhdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5SGVhcnRiZWF0KHJlcXVlc3QpO1xuICB9XG59XG4iXX0= |
import { Command } from "../command.js"; | ||
import { HistoryStateEvent } from "../workflow-events.js"; | ||
import { Workflow } from "../workflow.js"; | ||
import { EventClient, TimerClient, WorkflowClient, WorkflowRuntimeClient } from "./index.js"; | ||
import { TimerClient } from "./clients/timer-client.js"; | ||
import { WorkflowRuntimeClient } from "./clients/workflow-runtime-client.js"; | ||
import { WorkflowClient } from "./clients/workflow-client.js"; | ||
import { EventClient } from "./clients/event-client.js"; | ||
interface CommandExecutorProps { | ||
@@ -6,0 +9,0 @@ workflowRuntimeClient: WorkflowRuntimeClient; |
@@ -6,6 +6,6 @@ "use strict"; | ||
const workflow_events_js_1 = require("../workflow-events.js"); | ||
const index_js_1 = require("../index.js"); | ||
const util_js_1 = require("../util.js"); | ||
const execution_id_js_1 = require("./execution-id.js"); | ||
const index_js_2 = require("./index.js"); | ||
const timer_client_js_1 = require("./clients/timer-client.js"); | ||
const signals_js_1 = require("../signals.js"); | ||
/** | ||
@@ -56,3 +56,3 @@ * Uses the clients to execute all supported commands and return events. | ||
? await this.props.timerClient.scheduleEvent({ | ||
schedule: index_js_2.Schedule.relative(command.timeoutSeconds, baseTime), | ||
schedule: timer_client_js_1.Schedule.relative(command.timeoutSeconds, baseTime), | ||
event: { | ||
@@ -100,3 +100,3 @@ type: workflow_events_js_1.WorkflowEventType.ActivityTimedOut, | ||
}, | ||
schedule: index_js_2.Schedule.absolute(untilTimeIso), | ||
schedule: timer_client_js_1.Schedule.absolute(untilTimeIso), | ||
executionId, | ||
@@ -118,3 +118,3 @@ }); | ||
}, | ||
schedule: index_js_2.Schedule.relative(command.timeoutSeconds, baseTime), | ||
schedule: timer_client_js_1.Schedule.relative(command.timeoutSeconds, baseTime), | ||
executionId, | ||
@@ -131,3 +131,3 @@ }); | ||
async sendSignal(executionId, command, baseTime) { | ||
const childExecutionId = (0, index_js_1.isChildExecutionTarget)(command.target) | ||
const childExecutionId = (0, signals_js_1.isChildExecutionTarget)(command.target) | ||
? (0, execution_id_js_1.formatExecutionId)(command.target.workflowName, (0, execution_id_js_1.formatChildExecutionName)(executionId, command.target.seq)) | ||
@@ -157,3 +157,3 @@ : command.target.executionId; | ||
executionId, | ||
schedule: index_js_2.Schedule.relative(command.timeoutSeconds, baseTime), | ||
schedule: timer_client_js_1.Schedule.relative(command.timeoutSeconds, baseTime), | ||
}); | ||
@@ -176,2 +176,2 @@ } | ||
exports.CommandExecutor = CommandExecutor; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL2NvbW1hbmQtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBa0J1QjtBQUN2Qiw4REFjK0I7QUFDL0IsMENBQXNFO0FBQ3RFLHdDQUF5QztBQUV6Qyx1REFBZ0Y7QUFFaEYseUNBTW9CO0FBU3BCOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBQzFCLFlBQW9CLEtBQTJCO1FBQTNCLFVBQUssR0FBTCxLQUFLLENBQXNCO0lBQUcsQ0FBQztJQUU1QyxLQUFLLENBQUMsY0FBYyxDQUN6QixRQUFrQixFQUNsQixXQUFtQixFQUNuQixPQUFnQixFQUNoQixRQUFjO1FBRWQsSUFBSSxJQUFBLHNDQUF5QixFQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQ2hDLFFBQVEsRUFDUixXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsQ0FDVCxDQUFDO1NBQ0g7YUFBTSxJQUFJLElBQUEsc0NBQXlCLEVBQUMsT0FBTyxDQUFDLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNuRTthQUFNLElBQUksSUFBQSw4QkFBaUIsRUFBQyxPQUFPLENBQUMsSUFBSSxJQUFBLGdDQUFtQixFQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JFLCtFQUErRTtZQUMvRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBQSxrQ0FBcUIsRUFBQyxPQUFPLENBQUMsRUFBRTtZQUN6QywyRkFBMkY7WUFDM0YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNq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RXhwZWN0U2lnbmFsQ29tbWFuZCxcbiAgaXNQdWJsaXNoRXZlbnRzQ29tbWFuZCxcbiAgaXNTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgaXNTY2hlZHVsZVdvcmtmbG93Q29tbWFuZCxcbiAgaXNTZW5kU2lnbmFsQ29tbWFuZCxcbiAgaXNTbGVlcEZvckNvbW1hbmQsXG4gIGlzU2xlZXBVbnRpbENvbW1hbmQsXG4gIGlzU3RhcnRDb25kaXRpb25Db21tYW5kLFxuICBQdWJsaXNoRXZlbnRzQ29tbWFuZCxcbiAgU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQsXG4gIFNjaGVkdWxlV29ya2Zsb3dDb21tYW5kLFxuICBTZW5kU2lnbmFsQ29tbWFuZCxcbiAgU2xlZXBGb3JDb21tYW5kLFxuICBTbGVlcFVudGlsQ29tbWFuZCxcbiAgU3RhcnRDb25kaXRpb25Db21tYW5kLFxufSBmcm9tIFwiLi4vY29tbWFuZC5qc1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlUaW1lZE91dCxcbiAgV29ya2Zsb3dFdmVudFR5cGUsXG4gIGNyZWF0ZUV2ZW50LFxuICBBY3Rpdml0eVNjaGVkdWxlZCxcbiAgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCxcbiAgU2xlZXBTY2hlZHVsZWQsXG4gIFNsZWVwQ29tcGxldGVkLFxuICBFeHBlY3RTaWduYWxTdGFydGVkLFxuICBFeHBlY3RTaWduYWxUaW1lZE91dCxcbiAgSGlzdG9yeVN0YXRlRXZlbnQsXG4gIENvbmRpdGlvblN0YXJ0ZWQsXG4gIENvbmRpdGlvblRpbWVkT3V0LFxuICBTaWduYWxTZW50LFxufSBmcm9tIFwiLi4vd29ya2Zsb3ctZXZlbnRzLmpzXCI7XG5pbXBvcnQgeyBFdmVudHNQdWJsaXNoZWQsIGlzQ2hpbGRFeGVjdXRpb25UYXJnZXQgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSBcIi4uL3V0aWwuanNcIjtcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSBcIi4uL3dvcmtmbG93LmpzXCI7XG5pbXBvcnQgeyBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUsIGZvcm1hdEV4ZWN1dGlvbklkIH0gZnJvbSBcIi4vZXhlY3V0aW9uLWlkLmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eVdvcmtlclJlcXVlc3QgfSBmcm9tIFwiLi9oYW5kbGVycy9hY3Rpdml0eS13b3JrZXIuanNcIjtcbmltcG9ydCB7XG4gIEV2ZW50Q2xpZW50LFxuICBTY2hlZHVsZSxcbiAgVGltZXJDbGllbnQsXG4gIFdvcmtmbG93Q2xpZW50LFxuICBXb3JrZmxvd1J1bnRpbWVDbGllbnQsXG59IGZyb20gXCIuL2luZGV4LmpzXCI7XG5cbmludGVyZmFjZSBDb21tYW5kRXhlY3V0b3JQcm9wcyB7XG4gIHdvcmtmbG93UnVudGltZUNsaWVudDogV29ya2Zsb3dSdW50aW1lQ2xpZW50O1xuICB0aW1lckNsaWVudDogVGltZXJDbGllbnQ7XG4gIHdvcmtmbG93Q2xpZW50OiBXb3JrZmxvd0NsaWVudDtcbiAgZXZlbnRDbGllbnQ6IEV2ZW50Q2xpZW50O1xufVxuXG4vKipcbiAqIFVzZXMgdGhlIGNsaWVudHMgdG8gZXhlY3V0ZSBhbGwgc3VwcG9ydGVkIGNvbW1hbmRzIGFuZCByZXR1cm4gZXZlbnRzLlxuICovXG5leHBvcnQgY2xhc3MgQ29tbWFuZEV4ZWN1dG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9wczogQ29tbWFuZEV4ZWN1dG9yUHJvcHMpIHt9XG5cbiAgcHVibGljIGFzeW5jIGV4ZWN1dGVDb21tYW5kKFxuICAgIHdvcmtmbG93OiBXb3JrZmxvdyxcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxIaXN0b3J5U3RhdGVFdmVudD4ge1xuICAgIGlmIChpc1NjaGVkdWxlQWN0aXZpdHlDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5zY2hlZHVsZUFjdGl2aXR5KFxuICAgICAgICB3b3JrZmxvdyxcbiAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgIGNvbW1hbmQsXG4gICAgICAgIGJhc2VUaW1lXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNTY2hlZHVsZVdvcmtmbG93Q29tbWFuZChjb21tYW5kKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVDaGlsZFdvcmtmbG93KGV4ZWN1dGlvbklkLCBjb21tYW5kLCBiYXNlVGltZSk7XG4gICAgfSBlbHNlIGlmIChpc1NsZWVwRm9yQ29tbWFuZChjb21tYW5kKSB8fCBpc1NsZWVwVW50aWxDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICAvLyBhbGwgc2xlZXAgdGltZXMgYXJlIGNvbXB1dGVkIHVzaW5nIHRoZSBzdGFydCB0aW1lIG9mIHRoZSBXb3JrZmxvd1Rhc2tTdGFydGVkXG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZVNsZWVwKGV4ZWN1dGlvbklkLCBjb21tYW5kLCBiYXNlVGltZSk7XG4gICAgfSBlbHNlIGlmIChpc0V4cGVjdFNpZ25hbENvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIC8vIHNob3VsZCB0aGUgdGltZW91dCBjb21tYW5kIGJlIGdlbmVyaWMgKGV4OiBTdGFydFRpbWVvdXQpIG9yIHNwZWNpZmljIChleDogRXhwZWN0U2lnbmFsKT9cbiAgICAgIHJldHVybiB0aGlzLmV4ZWN1dGVFeHBlY3RTaWduYWwoZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VuZFNpZ25hbENvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbmRTaWduYWwoZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzU3RhcnRDb25kaXRpb25Db21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGFydENvbmRpdGlvbihleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNQdWJsaXNoRXZlbnRzQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgcmV0dXJuIHRoaXMucHVibGlzaEV2ZW50cyhjb21tYW5kLCBiYXNlVGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhc3NlcnROZXZlcihjb21tYW5kLCBgdW5rbm93biBjb21tYW5kIHR5cGVgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNjaGVkdWxlQWN0aXZpdHkoXG4gICAgd29ya2Zsb3c6IFdvcmtmbG93LFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKSB7XG4gICAgY29uc3QgcmVxdWVzdDogQWN0aXZpdHlXb3JrZXJSZXF1ZXN0ID0ge1xuICAgICAgc2NoZWR1bGVkVGltZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgd29ya2Zsb3dOYW1lOiB3b3JrZmxvdy53b3JrZmxvd05hbWUsXG4gICAgICBleGVjdXRpb25JZCxcbiAgICAgIGNvbW1hbmQsXG4gICAgICByZXRyeTogMCxcbiAgICB9O1xuXG4gICAgY29uc3QgdGltZW91dFN0YXJ0ZXIgPSBjb21tYW5kLnRpbWVvdXRTZWNvbmRzXG4gICAgICA/IGF3YWl0IHRoaXMucHJvcHMudGltZXJDbGllbnQuc2NoZWR1bGVFdmVudDxBY3Rpdml0eVRpbWVkT3V0Pih7XG4gICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJlbGF0aXZlKGNvbW1hbmQudGltZW91dFNlY29uZHMsIGJhc2VUaW1lKSxcbiAgICAgICAgICBldmVudDoge1xuICAgICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlUaW1lZE91dCxcbiAgICAgICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYWN0aXZpdHlTdGFydGVyID1cbiAgICAgIHRoaXMucHJvcHMud29ya2Zsb3dSdW50aW1lQ2xpZW50LnN0YXJ0QWN0aXZpdHkocmVxdWVzdCk7XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChbYWN0aXZpdHlTdGFydGVyLCB0aW1lb3V0U3RhcnRlcl0pO1xuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PEFjdGl2aXR5U2NoZWR1bGVkPihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTY2hlZHVsZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgIH0sXG4gICAgICBiYXNlVGltZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNjaGVkdWxlQ2hpbGRXb3JrZmxvdyhcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IFNjaGVkdWxlV29ya2Zsb3dDb21tYW5kLFxuICAgIGJhc2VUaW1lOiBEYXRlXG4gICk6IFByb21pc2U8Q2hpbGRXb3JrZmxvd1NjaGVkdWxlZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc3RhcnRFeGVjdXRpb24oe1xuICAgICAgd29ya2Zsb3c6IGNvbW1hbmQubmFtZSxcbiAgICAgIGlucHV0OiBjb21tYW5kLmlucHV0LFxuICAgICAgcGFyZW50RXhlY3V0aW9uSWQ6IGV4ZWN1dGlvbklkLFxuICAgICAgZXhlY3V0aW9uTmFtZTogZm9ybWF0Q2hpbGRFeGVjdXRpb25OYW1lKGV4ZWN1dGlvbklkLCBjb21tYW5kLnNlcSksXG4gICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgLi4uY29tbWFuZC5vcHRzLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PENoaWxkV29ya2Zsb3dTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U2NoZWR1bGVkLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgICBuYW1lOiBjb21tYW5kLm5hbWUsXG4gICAgICAgIGlucHV0OiBjb21tYW5kLmlucHV0LFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVTbGVlcChcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuXG4gICAgY29tbWFuZDogU2xlZXBGb3JDb21tYW5kIHwgU2xlZXBVbnRpbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxTbGVlcFNjaGVkdWxlZD4ge1xuICAgIC8vIFRPRE8gdmFsaWRhdGVcbiAgICBjb25zdCB1bnRpbFRpbWUgPSBpc1NsZWVwVW50aWxDb21tYW5kKGNvbW1hbmQpXG4gICAgICA/IG5ldyBEYXRlKGNvbW1hbmQudW50aWxUaW1lKVxuICAgICAgOiBuZXcgRGF0ZShiYXNlVGltZS5nZXRUaW1lKCkgKyBjb21tYW5kLmR1cmF0aW9uU2Vjb25kcyAqIDEwMDApO1xuICAgIGNvbnN0IHVudGlsVGltZUlzbyA9IHVudGlsVGltZS50b0lTT1N0cmluZygpO1xuXG4gICAgYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PFNsZWVwQ29tcGxldGVkPih7XG4gICAgICBldmVudDoge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcENvbXBsZXRlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgIH0sXG4gICAgICBzY2hlZHVsZTogU2NoZWR1bGUuYWJzb2x1dGUodW50aWxUaW1lSXNvKSxcbiAgICAgIGV4ZWN1dGlvbklkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PFNsZWVwU2NoZWR1bGVkPihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2xlZXBTY2hlZHVsZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIHVudGlsVGltZTogdW50aWxUaW1lLnRvSVNPU3RyaW5nKCksXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlRXhwZWN0U2lnbmFsKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG5cbiAgICBjb21tYW5kOiBFeHBlY3RTaWduYWxDb21tYW5kLFxuICAgIGJhc2VUaW1lOiBEYXRlXG4gICk6IFByb21pc2U8RXhwZWN0U2lnbmFsU3RhcnRlZD4ge1xuICAgIGlmIChjb21tYW5kLnRpbWVvdXRTZWNvbmRzKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb3BzLnRpbWVyQ2xpZW50LnNjaGVkdWxlRXZlbnQ8RXhwZWN0U2lnbmFsVGltZWRPdXQ+KHtcbiAgICAgICAgZXZlbnQ6IHtcbiAgICAgICAgICBzaWduYWxJZDogY29tbWFuZC5zaWduYWxJZCxcbiAgICAgICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFRpbWVkT3V0LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmVsYXRpdmUoY29tbWFuZC50aW1lb3V0U2Vjb25kcywgYmFzZVRpbWUpLFxuICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVFdmVudDxFeHBlY3RTaWduYWxTdGFydGVkPihcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsSWQ6IGNvbW1hbmQuc2lnbmFsSWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFN0YXJ0ZWQsXG4gICAgICAgIHRpbWVvdXRTZWNvbmRzOiBjb21tYW5kLnRpbWVvdXRTZWNvbmRzLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VuZFNpZ25hbChcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IFNlbmRTaWduYWxDb21tYW5kLFxuICAgIGJhc2VUaW1lOiBEYXRlXG4gICkge1xuICAgIGNvbnN0IGNoaWxkRXhlY3V0aW9uSWQgPSBpc0NoaWxkRXhlY3V0aW9uVGFyZ2V0KGNvbW1hbmQudGFyZ2V0KVxuICAgICAgPyBmb3JtYXRFeGVjdXRpb25JZChcbiAgICAgICAgICBjb21tYW5kLnRhcmdldC53b3JrZmxvd05hbWUsXG4gICAgICAgICAgZm9ybWF0Q2hpbGRFeGVjdXRpb25OYW1lKGV4ZWN1dGlvbklkLCBjb21tYW5kLnRhcmdldC5zZXEpXG4gICAgICAgIClcbiAgICAgIDogY29tbWFuZC50YXJnZXQuZXhlY3V0aW9uSWQ7XG5cbiAgICBhd2FpdCB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LnNlbmRTaWduYWwoe1xuICAgICAgc2lnbmFsOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgZXhlY3V0aW9uOiBjaGlsZEV4ZWN1dGlvbklkLFxuICAgICAgaWQ6IGAke2V4ZWN1dGlvbklkfS8ke2NvbW1hbmQuc2VxfWAsXG4gICAgICBwYXlsb2FkOiBjb21tYW5kLnBheWxvYWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8U2lnbmFsU2VudD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNpZ25hbFNlbnQsXG4gICAgICAgIGV4ZWN1dGlvbklkOiBjaGlsZEV4ZWN1dGlvbklkLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgICBzaWduYWxJZDogY29tbWFuZC5zaWduYWxJZCxcbiAgICAgICAgcGF5bG9hZDogY29tbWFuZC5wYXlsb2FkLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRDb25kaXRpb24oXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcbiAgICBjb21tYW5kOiBTdGFydENvbmRpdGlvbkNvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKSB7XG4gICAgaWYgKGNvbW1hbmQudGltZW91dFNlY29uZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvcHMudGltZXJDbGllbnQuc2NoZWR1bGVFdmVudDxDb25kaXRpb25UaW1lZE91dD4oe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblRpbWVkT3V0LFxuICAgICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIH0sXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmVsYXRpdmUoY29tbWFuZC50aW1lb3V0U2Vjb25kcywgYmFzZVRpbWUpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PENvbmRpdGlvblN0YXJ0ZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25TdGFydGVkLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxISxcbiAgICAgIH0sXG4gICAgICBiYXNlVGltZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHB1Ymxpc2hFdmVudHMoY29tbWFuZDogUHVibGlzaEV2ZW50c0NvbW1hbmQsIGJhc2VUaW1lOiBEYXRlKSB7XG4gICAgYXdhaXQgdGhpcy5wcm9wcy5ldmVudENsaWVudC5wdWJsaXNoRXZlbnRzKC4uLmNvbW1hbmQuZXZlbnRzKTtcbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8RXZlbnRzUHVibGlzaGVkPihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXZlbnRzUHVibGlzaGVkLFxuICAgICAgICBldmVudHM6IGNvbW1hbmQuZXZlbnRzLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxISxcbiAgICAgIH0sXG4gICAgICBiYXNlVGltZVxuICAgICk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL2NvbW1hbmQtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBa0J1QjtBQUN2Qiw4REFlK0I7QUFDL0Isd0NBQXlDO0FBRXpDLHVEQUFnRjtBQUVoRiwrREFBa0U7QUFJbEUsOENBQXVEO0FBU3ZEOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBQzFCLFlBQW9CLEtBQTJCO1FBQTNCLFVBQUssR0FBTCxLQUFLLENBQXNCO0lBQUcsQ0FBQztJQUU1QyxLQUFLLENBQUMsY0FBYyxDQUN6QixRQUFrQixFQUNsQixXQUFtQixFQUNuQixPQUFnQixFQUNoQixRQUFjO1FBRWQsSUFBSSxJQUFBLHNDQUF5QixFQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQ2hDLFFBQVEsRUFDUixXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsQ0FDVCxDQUFDO1NBQ0g7YUFBTSxJQUFJLElBQUEsc0NBQXlCLEVBQUMsT0FBTyxDQUFDLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNuRTthQUFNLElBQUksSUFBQSw4QkFBaUIsRUFBQyxPQUFPLENBQUMsSUFBSSxJQUFBLGdDQUFtQixFQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JFLCtFQUErRTtZQUMvRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBQSxrQ0FBcUIsRUFBQyxPQUFPLENBQUMsRUFBRTtZQUN6QywyRkFBMkY7WUFDM0YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNq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RXhwZWN0U2lnbmFsQ29tbWFuZCxcbiAgaXNQdWJsaXNoRXZlbnRzQ29tbWFuZCxcbiAgaXNTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgaXNTY2hlZHVsZVdvcmtmbG93Q29tbWFuZCxcbiAgaXNTZW5kU2lnbmFsQ29tbWFuZCxcbiAgaXNTbGVlcEZvckNvbW1hbmQsXG4gIGlzU2xlZXBVbnRpbENvbW1hbmQsXG4gIGlzU3RhcnRDb25kaXRpb25Db21tYW5kLFxuICBQdWJsaXNoRXZlbnRzQ29tbWFuZCxcbiAgU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQsXG4gIFNjaGVkdWxlV29ya2Zsb3dDb21tYW5kLFxuICBTZW5kU2lnbmFsQ29tbWFuZCxcbiAgU2xlZXBGb3JDb21tYW5kLFxuICBTbGVlcFVudGlsQ29tbWFuZCxcbiAgU3RhcnRDb25kaXRpb25Db21tYW5kLFxufSBmcm9tIFwiLi4vY29tbWFuZC5qc1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlUaW1lZE91dCxcbiAgV29ya2Zsb3dFdmVudFR5cGUsXG4gIGNyZWF0ZUV2ZW50LFxuICBBY3Rpdml0eVNjaGVkdWxlZCxcbiAgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCxcbiAgU2xlZXBTY2hlZHVsZWQsXG4gIFNsZWVwQ29tcGxldGVkLFxuICBFeHBlY3RTaWduYWxTdGFydGVkLFxuICBFeHBlY3RTaWduYWxUaW1lZE91dCxcbiAgSGlzdG9yeVN0YXRlRXZlbnQsXG4gIENvbmRpdGlvblN0YXJ0ZWQsXG4gIENvbmRpdGlvblRpbWVkT3V0LFxuICBTaWduYWxTZW50LFxuICBFdmVudHNQdWJsaXNoZWQsXG59IGZyb20gXCIuLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSBcIi4uL3V0aWwuanNcIjtcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSBcIi4uL3dvcmtmbG93LmpzXCI7XG5pbXBvcnQgeyBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUsIGZvcm1hdEV4ZWN1dGlvbklkIH0gZnJvbSBcIi4vZXhlY3V0aW9uLWlkLmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eVdvcmtlclJlcXVlc3QgfSBmcm9tIFwiLi9oYW5kbGVycy9hY3Rpdml0eS13b3JrZXIuanNcIjtcbmltcG9ydCB7IFNjaGVkdWxlLCBUaW1lckNsaWVudCB9IGZyb20gXCIuL2NsaWVudHMvdGltZXItY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1J1bnRpbWVDbGllbnQgfSBmcm9tIFwiLi9jbGllbnRzL3dvcmtmbG93LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd0NsaWVudCB9IGZyb20gXCIuL2NsaWVudHMvd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBFdmVudENsaWVudCB9IGZyb20gXCIuL2NsaWVudHMvZXZlbnQtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBpc0NoaWxkRXhlY3V0aW9uVGFyZ2V0IH0gZnJvbSBcIi4uL3NpZ25hbHMuanNcIjtcblxuaW50ZXJmYWNlIENvbW1hbmRFeGVjdXRvclByb3BzIHtcbiAgd29ya2Zsb3dSdW50aW1lQ2xpZW50OiBXb3JrZmxvd1J1bnRpbWVDbGllbnQ7XG4gIHRpbWVyQ2xpZW50OiBUaW1lckNsaWVudDtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBldmVudENsaWVudDogRXZlbnRDbGllbnQ7XG59XG5cbi8qKlxuICogVXNlcyB0aGUgY2xpZW50cyB0byBleGVjdXRlIGFsbCBzdXBwb3J0ZWQgY29tbWFuZHMgYW5kIHJldHVybiBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kRXhlY3V0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBDb21tYW5kRXhlY3V0b3JQcm9wcykge31cblxuICBwdWJsaWMgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoXG4gICAgd29ya2Zsb3c6IFdvcmtmbG93LFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApOiBQcm9taXNlPEhpc3RvcnlTdGF0ZUV2ZW50PiB7XG4gICAgaWYgKGlzU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNjaGVkdWxlQWN0aXZpdHkoXG4gICAgICAgIHdvcmtmbG93LFxuICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgYmFzZVRpbWVcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc1NjaGVkdWxlV29ya2Zsb3dDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZUNoaWxkV29ya2Zsb3coZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzU2xlZXBGb3JDb21tYW5kKGNvbW1hbmQpIHx8IGlzU2xlZXBVbnRpbENvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIC8vIGFsbCBzbGVlcCB0aW1lcyBhcmUgY29tcHV0ZWQgdXNpbmcgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlIFdvcmtmbG93VGFza1N0YXJ0ZWRcbiAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlU2xlZXAoZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzRXhwZWN0U2lnbmFsQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgLy8gc2hvdWxkIHRoZSB0aW1lb3V0IGNvbW1hbmQgYmUgZ2VuZXJpYyAoZXg6IFN0YXJ0VGltZW91dCkgb3Igc3BlY2lmaWMgKGV4OiBFeHBlY3RTaWduYWwpP1xuICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUV4cGVjdFNpZ25hbChleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNTZW5kU2lnbmFsQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VuZFNpZ25hbChleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNTdGFydENvbmRpdGlvbkNvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXJ0Q29uZGl0aW9uKGV4ZWN1dGlvbklkLCBjb21tYW5kLCBiYXNlVGltZSk7XG4gICAgfSBlbHNlIGlmIChpc1B1Ymxpc2hFdmVudHNDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5wdWJsaXNoRXZlbnRzKGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFzc2VydE5ldmVyKGNvbW1hbmQsIGB1bmtub3duIGNvbW1hbmQgdHlwZWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVBY3Rpdml0eShcbiAgICB3b3JrZmxvdzogV29ya2Zsb3csXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcbiAgICBjb21tYW5kOiBTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApIHtcbiAgICBjb25zdCByZXF1ZXN0OiBBY3Rpdml0eVdvcmtlclJlcXVlc3QgPSB7XG4gICAgICBzY2hlZHVsZWRUaW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93LndvcmtmbG93TmFtZSxcbiAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgY29tbWFuZCxcbiAgICAgIHJldHJ5OiAwLFxuICAgIH07XG5cbiAgICBjb25zdCB0aW1lb3V0U3RhcnRlciA9IGNvbW1hbmQudGltZW91dFNlY29uZHNcbiAgICAgID8gYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PEFjdGl2aXR5VGltZWRPdXQ+KHtcbiAgICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmVsYXRpdmUoY29tbWFuZC50aW1lb3V0U2Vjb25kcywgYmFzZVRpbWUpLFxuICAgICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVRpbWVkT3V0LFxuICAgICAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICB9KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhY3Rpdml0eVN0YXJ0ZXIgPVxuICAgICAgdGhpcy5wcm9wcy53b3JrZmxvd1J1bnRpbWVDbGllbnQuc3RhcnRBY3Rpdml0eShyZXF1ZXN0KTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFthY3Rpdml0eVN0YXJ0ZXIsIHRpbWVvdXRTdGFydGVyXSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8QWN0aXZpdHlTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVNjaGVkdWxlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgbmFtZTogY29tbWFuZC5uYW1lLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVDaGlsZFdvcmtmbG93KFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2NoZWR1bGVXb3JrZmxvd0NvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxDaGlsZFdvcmtmbG93U2NoZWR1bGVkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zdGFydEV4ZWN1dGlvbih7XG4gICAgICB3b3JrZmxvdzogY29tbWFuZC5uYW1lLFxuICAgICAgaW5wdXQ6IGNvbW1hbmQuaW5wdXQsXG4gICAgICBwYXJlbnRFeGVjdXRpb25JZDogZXhlY3V0aW9uSWQsXG4gICAgICBleGVjdXRpb25OYW1lOiBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUoZXhlY3V0aW9uSWQsIGNvbW1hbmQuc2VxKSxcbiAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAuLi5jb21tYW5kLm9wdHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8Q2hpbGRXb3JrZmxvd1NjaGVkdWxlZD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTY2hlZHVsZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgaW5wdXQ6IGNvbW1hbmQuaW5wdXQsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzY2hlZHVsZVNsZWVwKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG5cbiAgICBjb21tYW5kOiBTbGVlcEZvckNvbW1hbmQgfCBTbGVlcFVudGlsQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApOiBQcm9taXNlPFNsZWVwU2NoZWR1bGVkPiB7XG4gICAgLy8gVE9ETyB2YWxpZGF0ZVxuICAgIGNvbnN0IHVudGlsVGltZSA9IGlzU2xlZXBVbnRpbENvbW1hbmQoY29tbWFuZClcbiAgICAgID8gbmV3IERhdGUoY29tbWFuZC51bnRpbFRpbWUpXG4gICAgICA6IG5ldyBEYXRlKGJhc2VUaW1lLmdldFRpbWUoKSArIGNvbW1hbmQuZHVyYXRpb25TZWNvbmRzICogMTAwMCk7XG4gICAgY29uc3QgdW50aWxUaW1lSXNvID0gdW50aWxUaW1lLnRvSVNPU3RyaW5nKCk7XG5cbiAgICBhd2FpdCB0aGlzLnByb3BzLnRpbWVyQ2xpZW50LnNjaGVkdWxlRXZlbnQ8U2xlZXBDb21wbGV0ZWQ+KHtcbiAgICAgIGV2ZW50OiB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgfSxcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5hYnNvbHV0ZSh1bnRpbFRpbWVJc28pLFxuICAgICAgZXhlY3V0aW9uSWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8U2xlZXBTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcFNjaGVkdWxlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgdW50aWxUaW1lOiB1bnRpbFRpbWUudG9JU09TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBiYXNlVGltZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVFeHBlY3RTaWduYWwoXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcblxuICAgIGNvbW1hbmQ6IEV4cGVjdFNpZ25hbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxFeHBlY3RTaWduYWxTdGFydGVkPiB7XG4gICAgaWYgKGNvbW1hbmQudGltZW91dFNlY29uZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvcHMudGltZXJDbGllbnQuc2NoZWR1bGVFdmVudDxFeHBlY3RTaWduYWxUaW1lZE91dD4oe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHNpZ25hbElkOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQsXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShjb21tYW5kLnRpbWVvdXRTZWNvbmRzLCBiYXNlVGltZSksXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PEV4cGVjdFNpZ25hbFN0YXJ0ZWQ+KFxuICAgICAge1xuICAgICAgICBzaWduYWxJZDogY29tbWFuZC5zaWduYWxJZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsU3RhcnRlZCxcbiAgICAgICAgdGltZW91dFNlY29uZHM6IGNvbW1hbmQudGltZW91dFNlY29uZHMsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kU2lnbmFsKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2VuZFNpZ25hbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKSB7XG4gICAgY29uc3QgY2hpbGRFeGVjdXRpb25JZCA9IGlzQ2hpbGRFeGVjdXRpb25UYXJnZXQoY29tbWFuZC50YXJnZXQpXG4gICAgICA/IGZvcm1hdEV4ZWN1dGlvbklkKFxuICAgICAgICAgIGNvbW1hbmQudGFyZ2V0LndvcmtmbG93TmFtZSxcbiAgICAgICAgICBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUoZXhlY3V0aW9uSWQsIGNvbW1hbmQudGFyZ2V0LnNlcSlcbiAgICAgICAgKVxuICAgICAgOiBjb21tYW5kLnRhcmdldC5leGVjdXRpb25JZDtcblxuICAgIGF3YWl0IHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZFNpZ25hbCh7XG4gICAgICBzaWduYWw6IGNvbW1hbmQuc2lnbmFsSWQsXG4gICAgICBleGVjdXRpb246IGNoaWxkRXhlY3V0aW9uSWQsXG4gICAgICBpZDogYCR7ZXhlY3V0aW9uSWR9LyR7Y29tbWFuZC5zZXF9YCxcbiAgICAgIHBheWxvYWQ6IGNvbW1hbmQucGF5bG9hZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBjcmVhdGVFdmVudDxTaWduYWxTZW50PihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsU2VudCxcbiAgICAgICAgZXhlY3V0aW9uSWQ6IGNoaWxkRXhlY3V0aW9uSWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIHNpZ25hbElkOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgICBwYXlsb2FkOiBjb21tYW5kLnBheWxvYWQsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGFydENvbmRpdGlvbihcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IFN0YXJ0Q29uZGl0aW9uQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApIHtcbiAgICBpZiAoY29tbWFuZC50aW1lb3V0U2Vjb25kcykge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PENvbmRpdGlvblRpbWVkT3V0Pih7XG4gICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uVGltZWRPdXQsXG4gICAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgfSxcbiAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShjb21tYW5kLnRpbWVvdXRTZWNvbmRzLCBiYXNlVGltZSksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8Q29uZGl0aW9uU3RhcnRlZD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblN0YXJ0ZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHVibGlzaEV2ZW50cyhjb21tYW5kOiBQdWJsaXNoRXZlbnRzQ29tbWFuZCwgYmFzZVRpbWU6IERhdGUpIHtcbiAgICBhd2FpdCB0aGlzLnByb3BzLmV2ZW50Q2xpZW50LnB1Ymxpc2hFdmVudHMoLi4uY29tbWFuZC5ldmVudHMpO1xuICAgIHJldHVybiBjcmVhdGVFdmVudDxFdmVudHNQdWJsaXNoZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FdmVudHNQdWJsaXNoZWQsXG4gICAgICAgIGV2ZW50czogY29tbWFuZC5ldmVudHMsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxufVxuIl19 |
@@ -5,6 +5,7 @@ import { ScheduleActivityCommand } from "../../command.js"; | ||
import { WorkflowClient } from "../clients/workflow-client.js"; | ||
import { RuntimeServiceClient, TimerClient } from "../index.js"; | ||
import { Logger } from "../logger.js"; | ||
import type { EventClient } from "../index.js"; | ||
import { ActivityProvider } from "../providers/activity-provider.js"; | ||
import { TimerClient } from "../clients/timer-client.js"; | ||
import { RuntimeServiceClient } from "../clients/runtime-service-clients.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
import { EventClient } from "../clients/event-client.js"; | ||
export interface CreateActivityWorkerProps { | ||
@@ -15,6 +16,6 @@ activityRuntimeClient: ActivityRuntimeClient; | ||
metricsClient: MetricsClient; | ||
logger: Logger; | ||
eventClient: EventClient; | ||
activityProvider: ActivityProvider; | ||
serviceClient?: RuntimeServiceClient; | ||
logAgent: LogAgent; | ||
} | ||
@@ -29,3 +30,3 @@ export interface ActivityWorkerRequest { | ||
export interface ActivityWorker { | ||
(request: ActivityWorkerRequest, baseTime: Date, | ||
(request: ActivityWorkerRequest, baseTime?: Date, | ||
/** | ||
@@ -42,3 +43,3 @@ * Allows for a computed end time, for case like the test environment when the end time should be controlled. | ||
*/ | ||
export declare function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, logger, activityProvider, serviceClient, }: CreateActivityWorkerProps): ActivityWorker; | ||
export declare function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, activityProvider, serviceClient, logAgent, }: CreateActivityWorkerProps): ActivityWorker; | ||
//# sourceMappingURL=activity-worker.d.ts.map |
@@ -8,3 +8,2 @@ "use strict"; | ||
const activity_token_js_1 = require("../activity-token.js"); | ||
const index_js_1 = require("../index.js"); | ||
const constants_js_1 = require("../metrics/constants.js"); | ||
@@ -15,2 +14,4 @@ const unit_js_1 = require("../metrics/unit.js"); | ||
const util_js_1 = require("../../util.js"); | ||
const timer_client_js_1 = require("../clients/timer-client.js"); | ||
const log_agent_js_1 = require("../log-agent.js"); | ||
/** | ||
@@ -22,3 +23,3 @@ * Creates a generic function for handling activity worker requests | ||
*/ | ||
function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, logger, activityProvider, serviceClient, }) { | ||
function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, activityProvider, serviceClient, logAgent, }) { | ||
// make the service client available to all activity code | ||
@@ -28,7 +29,3 @@ if (serviceClient) { | ||
} | ||
return metricsClient.metricScope((metrics) => async (request, baseTime, getEndTime = () => new Date()) => { | ||
logger.addPersistentLogAttributes({ | ||
workflowName: request.workflowName, | ||
executionId: request.executionId, | ||
}); | ||
return metricsClient.metricScope((metrics) => async (request, baseTime = new Date(), getEndTime = () => new Date()) => { | ||
const activityHandle = `${request.command.seq} for execution ${request.executionId} on retry ${request.retry}`; | ||
@@ -43,2 +40,8 @@ metrics.resetDimensions(false); | ||
// to the request being seen. | ||
const activityLogContext = { | ||
type: log_agent_js_1.LogContextType.Activity, | ||
activityName: request.command.name, | ||
executionId: request.executionId, | ||
seq: request.command.seq, | ||
}; | ||
const start = baseTime; | ||
@@ -49,3 +52,3 @@ const recordAge = start.getTime() - new Date(request.scheduledTime).getTime(); | ||
metrics.putMetric(constants_js_1.ActivityMetrics.ClaimRejected, 1, unit_js_1.Unit.Count); | ||
logger.info(`Activity ${activityHandle} already claimed.`); | ||
console.info(`Activity ${activityHandle} already claimed.`); | ||
return; | ||
@@ -56,6 +59,6 @@ } | ||
activitySeq: request.command.seq, | ||
type: index_js_1.TimerRequestType.ActivityHeartbeatMonitor, | ||
type: timer_client_js_1.TimerRequestType.ActivityHeartbeatMonitor, | ||
executionId: request.executionId, | ||
heartbeatSeconds: request.command.heartbeatSeconds, | ||
schedule: index_js_1.Schedule.relative(request.command.heartbeatSeconds), | ||
schedule: timer_client_js_1.Schedule.relative(request.command.heartbeatSeconds), | ||
}); | ||
@@ -70,3 +73,3 @@ } | ||
metrics.putMetric(constants_js_1.ActivityMetrics.ClaimRejected, 0, unit_js_1.Unit.Count); | ||
logger.info(`Processing ${activityHandle}.`); | ||
console.info(`Processing ${activityHandle}.`); | ||
const activity = activityProvider.getActivityHandler(request.command.name); | ||
@@ -78,3 +81,5 @@ try { | ||
} | ||
const result = await (0, utils_js_1.timed)(metrics, constants_js_1.ActivityMetrics.OperationDuration, () => activity(...request.command.args)); | ||
const result = await logAgent.logContextScope(activityLogContext, async () => { | ||
return await (0, utils_js_1.timed)(metrics, constants_js_1.ActivityMetrics.OperationDuration, () => activity(...request.command.args)); | ||
}); | ||
if ((0, activity_js_1.isAsyncResult)(result)) { | ||
@@ -88,3 +93,3 @@ metrics.setProperty(constants_js_1.ActivityMetrics.HasResult, 0); | ||
*/ | ||
return; | ||
return (0, utils_js_1.timed)(metrics, constants_js_1.ActivityMetrics.ActivityLogWriteDuration, () => logAgent.flush()); | ||
} | ||
@@ -100,3 +105,3 @@ else if (result) { | ||
} | ||
logger.info(`Activity ${activityHandle} succeeded, reporting back to execution.`); | ||
logAgent.logWithContext(activityLogContext, log_agent_js_1.LogLevel.INFO, `Activity ${activityHandle} succeeded, reporting back to execution.`); | ||
const endTime = getEndTime(start); | ||
@@ -114,3 +119,3 @@ const event = (0, workflow_events_js_1.createEvent)({ | ||
: ["Error", JSON.stringify(err)]; | ||
logger.info(`Activity ${activityHandle} failed, reporting failure back to execution: ${error}: ${message}`); | ||
logAgent.logWithContext(activityLogContext, log_agent_js_1.LogLevel.DEBUG, `Activity ${activityHandle} failed, reporting failure back to execution: ${error}: ${message}`); | ||
const endTime = getEndTime(start); | ||
@@ -135,3 +140,5 @@ const event = (0, workflow_events_js_1.createEvent)({ | ||
async function finishActivity(event, duration) { | ||
const logFlush = (0, utils_js_1.timed)(metrics, constants_js_1.ActivityMetrics.ActivityLogWriteDuration, () => logAgent.flush()); | ||
await (0, utils_js_1.timed)(metrics, constants_js_1.ActivityMetrics.SubmitWorkflowTaskDuration, () => workflowClient.submitWorkflowTask(request.executionId, event)); | ||
await logFlush; | ||
logActivityCompleteMetrics((0, workflow_events_js_1.isWorkflowFailed)(event), duration); | ||
@@ -142,2 +149,2 @@ } | ||
exports.createActivityWorker = createActivityWorker; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvYWN0aXZpdHktd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFrRDtBQUVsRCxpRUFNa0M7QUFDbEMsK0NBSXlCO0FBQ3pCLDREQUEyRDtBQUkzRCwwQ0FLcUI7QUFFckIsMERBQXlFO0FBQ3pFLGdEQUEwQztBQUMxQyxrREFBNEM7QUFHNUMsNkNBQXVEO0FBQ3ZELDJDQUE2QztBQWdDN0M7Ozs7O0dBS0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxFQUNuQyxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLFdBQVcsRUFDWCxhQUFhLEVBQ2IsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixhQUFhLEdBQ2E7SUFDMUIseURBQXlEO0lBQ3pELElBQUksYUFBYSxFQUFFO1FBQ2pCLElBQUEsaUNBQXFCLEVBQUMsYUFBYSxDQUFDLENBQUM7S0FDdEM7SUFFRCxPQUFPLGFBQWEsQ0FBQyxXQUFXLENBQzlCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDVixLQUFLLEVBQ0gsT0FBOEIsRUFDOUIsUUFBYyxFQUNkLFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUM3QixFQUFFO1FBQ0YsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1lBQ2hDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxjQUFjLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLE9BQU8sQ0FBQyxXQUFXLGFBQWEsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9HLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLFlBQVksQ0FBQyw0QkFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNwQixZQUFZLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQ2xDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtTQUNuQyxDQUFDLENBQUM7UUFDSCxxRUFBcUU7UUFDckUsNkJBQTZCO1FBQzdCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FDYixLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlELE9BQU8sQ0FBQyxTQUFTLENBQ2YsOEJBQWUsQ0FBQyxrQkFBa0IsRUFDbEMsU0FBUyxFQUNULGNBQUksQ0FBQyxZQUFZLENBQ2xCLENBQUM7UUFDRixJQUNFLENBQUMsQ0FBQyxNQUFNLElBQUEsZ0JBQUssRUFBQyxPQUFPLEVBQUUsOEJBQWUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ3pELHFCQUFxQixDQUFDLGFBQWEsQ0FDakMsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQ2QsQ0FDRixDQUFDLEVBQ0Y7WUFDQSxPQUFPLENBQUMsU0FBUyxDQUFDLDhCQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLGNBQWMsbUJBQW1CLENBQUMsQ0FBQztZQUMzRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDcEMsTUFBTSxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUMzQixXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHO2dCQUNoQyxJQUFJLEVBQUUsMkJBQWdCLENBQUMsd0JBQXdCO2dCQUMvQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7Z0JBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO2dCQUNsRCxRQUFRLEVBQUUsbUJBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5RCxDQUFDLENBQUM7U0FDSjtRQUNELElBQUEsOEJBQWtCLEVBQUM7WUFDakIsYUFBYSxFQUFFLElBQUEsdUNBQW1CLEVBQ2hDLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUNwQjtZQUNELFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDcEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQ25DLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxTQUFTLENBQUMsOEJBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLGNBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUU3QyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDbEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3JCLENBQUM7UUFDRixJQUFJO1lBQ0YsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixPQUFPLENBQUMsU0FBUyxDQUFDLDhCQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hFLE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQ3BCLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUNsQyxDQUFDO2FBQ0g7WUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsZ0JBQUssRUFDeEIsT0FBTyxFQUNQLDhCQUFlLENBQUMsaUJBQWlCLEVBQ2pDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQ3hDLENBQUM7WUFDRixJQUFJLElBQUEsMkJBQWEsRUFBQyxNQUFNLENBQUMsRUFBRTtnQkFDekIsT0FBTyxDQUFDLFdBQVcsQ0FBQyw4QkFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyw4QkFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFFcEQsb0RBQW9EO2dCQUVwRDs7O21CQUdHO2dCQUNILE9BQU87YUFDUjtpQkFBTSxJQUFJLE1BQU0sRUFBRTtnQkFDakIsT0FBTyxDQUFDLFdBQVcsQ0FBQyw4QkFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyw4QkFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDcEQsT0FBTyxDQUFDLFNBQVMsQ0FDZiw4QkFBZSxDQUFDLFdBQVcsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQzdCLGNBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxXQUFXLENBQUMsOEJBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxXQUFXLENBQUMsOEJBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckQ7WUFFRCxNQUFNLENBQUMsSUFBSSxDQUNULFlBQVksY0FBYywwQ0FBMEMsQ0FDckUsQ0FBQztZQUVGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFBLGdDQUFXLEVBQ3ZCO2dCQUNFLElBQUksRUFBRSxzQ0FBaUIsQ0FBQyxpQkFBaUI7Z0JBQ3pDLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUc7Z0JBQ3hCLE1BQU07YUFDUCxFQUNELE9BQU8sQ0FDUixDQUFDO1lBRUYsTUFBTSxjQUFjLENBQ2xCLEtBQUssRUFDTCxTQUFTLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2xELENBQUM7U0FDSDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFBLHNCQUFZLEVBQUMsR0FBRyxDQUFDO2dCQUN4QyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFbkMsTUFBTSxDQUFDLElBQUksQ0FDVCxZQUFZLGNBQWMsaURBQWlELEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FDL0YsQ0FBQztZQUVGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFBLGdDQUFXLEVBQ3ZCO2dCQUNFLElBQUksRUFBRSxzQ0FBaUIsQ0FBQyxjQUFjO2dCQUN0QyxHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHO2dCQUN4QixLQUFLO2dCQUNMLE9BQU87YUFDUixFQUNELE9BQU8sQ0FDUixDQUFDO1lBRUYsTUFBTSxjQUFjLENBQ2xCLEtBQUssRUFDTCxTQUFTLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2xELENBQUM7U0FDSDtnQkFBUztZQUNSLElBQUEsZ0NBQW9CLEdBQUUsQ0FBQztTQUN4QjtRQUVELFNBQVMsMEJBQTBCLENBQUMsTUFBZSxFQUFFLFFBQWdCO1lBQ25FLE9BQU8sQ0FBQyxTQUFTLENBQ2YsOEJBQWUsQ0FBQyxjQUFjLEVBQzlCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2QsY0FBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1lBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FDZiw4QkFBZSxDQUFDLGlCQUFpQixFQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNkLGNBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztZQUNGLDhGQUE4RjtZQUM5RixPQUFPLENBQUMsU0FBUyxDQUFDLDhCQUFlLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxLQUFLLFVBQVUsY0FBYyxDQUMzQixLQUF5QyxFQUN6QyxRQUFnQjtZQUVoQixNQUFNLElBQUEsZ0JBQUssRUFBQyxPQUFPLEVBQUUsOEJBQWUsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUUsQ0FDcEUsY0FBYyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQzlELENBQUM7WUFFRiwwQkFBMEIsQ0FBQyxJQUFBLHFDQUFnQixFQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDLENBQ0osQ0FBQztBQUNKLENBQUM7QUEvTEQsb0RBK0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBc3luY1Jlc3VsdCB9IGZyb20gXCIuLi8uLi9hY3Rpdml0eS5qc1wiO1xuaW1wb3J0IHsgU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQgfSBmcm9tIFwiLi4vLi4vY29tbWFuZC5qc1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlTdWNjZWVkZWQsXG4gIEFjdGl2aXR5RmFpbGVkLFxuICBjcmVhdGVFdmVudCxcbiAgaXNXb3JrZmxvd0ZhaWxlZCxcbiAgV29ya2Zsb3dFdmVudFR5cGUsXG59IGZyb20gXCIuLi8uLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7XG4gIGNsZWFyQWN0aXZpdHlDb250ZXh0LFxuICByZWdpc3RlclNlcnZpY2VDbGllbnQsXG4gIHNldEFjdGl2aXR5Q29udGV4dCxcbn0gZnJvbSBcIi4uLy4uL2dsb2JhbC5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlQWN0aXZpdHlUb2tlbiB9IGZyb20gXCIuLi9hY3Rpdml0eS10b2tlbi5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlSdW50aW1lQ2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvYWN0aXZpdHktcnVudGltZS1jbGllbnQuanNcIjtcbmltcG9ydCB7IE1ldHJpY3NDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9tZXRyaWNzLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgV29ya2Zsb3dDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy93b3JrZmxvdy1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIFJ1bnRpbWVTZXJ2aWNlQ2xpZW50LFxuICBTY2hlZHVsZSxcbiAgVGltZXJDbGllbnQsXG4gIFRpbWVyUmVxdWVzdFR5cGUsXG59IGZyb20gXCIuLi9pbmRleC5qc1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlNZXRyaWNzLCBNZXRyaWNzQ29tbW9uIH0gZnJvbSBcIi4uL21ldHJpY3MvY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBVbml0IH0gZnJvbSBcIi4uL21ldHJpY3MvdW5pdC5qc1wiO1xuaW1wb3J0IHsgdGltZWQgfSBmcm9tIFwiLi4vbWV0cmljcy91dGlscy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBFdmVudENsaWVudCB9IGZyb20gXCIuLi9pbmRleC5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlQcm92aWRlciB9IGZyb20gXCIuLi9wcm92aWRlcnMvYWN0aXZpdHktcHJvdmlkZXIuanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5Tm90Rm91bmRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci5qc1wiO1xuaW1wb3J0IHsgZXh0ZW5kc0Vycm9yIH0gZnJvbSBcIi4uLy4uL3V0aWwuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBY3Rpdml0eVdvcmtlclByb3BzIHtcbiAgYWN0aXZpdHlSdW50aW1lQ2xpZW50OiBBY3Rpdml0eVJ1bnRpbWVDbGllbnQ7XG4gIHdvcmtmbG93Q2xpZW50OiBXb3JrZmxvd0NsaWVudDtcbiAgdGltZXJDbGllbnQ6IFRpbWVyQ2xpZW50O1xuICBtZXRyaWNzQ2xpZW50OiBNZXRyaWNzQ2xpZW50O1xuICBsb2dnZXI6IExvZ2dlcjtcbiAgZXZlbnRDbGllbnQ6IEV2ZW50Q2xpZW50O1xuICBhY3Rpdml0eVByb3ZpZGVyOiBBY3Rpdml0eVByb3ZpZGVyO1xuICBzZXJ2aWNlQ2xpZW50PzogUnVudGltZVNlcnZpY2VDbGllbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlXb3JrZXJSZXF1ZXN0IHtcbiAgc2NoZWR1bGVkVGltZTogc3RyaW5nO1xuICB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbiAgY29tbWFuZDogU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQ7XG4gIHJldHJ5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlXb3JrZXIge1xuICAoXG4gICAgcmVxdWVzdDogQWN0aXZpdHlXb3JrZXJSZXF1ZXN0LFxuICAgIGJhc2VUaW1lOiBEYXRlLFxuICAgIC8qKlxuICAgICAqIEFsbG93cyBmb3IgYSBjb21wdXRlZCBlbmQgdGltZSwgZm9yIGNhc2UgbGlrZSB0aGUgdGVzdCBlbnZpcm9ubWVudCB3aGVuIHRoZSBlbmQgdGltZSBzaG91bGQgYmUgY29udHJvbGxlZC5cbiAgICAgKi9cbiAgICBnZXRFbmRUaW1lPzogKHN0YXJ0VGltZTogRGF0ZSkgPT4gRGF0ZVxuICApOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBnZW5lcmljIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBhY3Rpdml0eSB3b3JrZXIgcmVxdWVzdHNcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW4gcnVudGltZSBpbXBsZW1lbnRhdGlvbnMuIFRoaXMgaW1wbGVtZW50YXRpb24gaXNcbiAqIGRlY291cGxlZCBmcm9tIGEgcnVudGltZSdzIHNwZWNpZmljcyBieSB0aGUgY2xpZW50cy4gQSBydW50aW1lIG11c3RcbiAqIGluamVjdCBpdHMgb3duIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMgZGVzaWduZWQgZm9yIHRoYXQgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBY3Rpdml0eVdvcmtlcih7XG4gIGFjdGl2aXR5UnVudGltZUNsaWVudCxcbiAgd29ya2Zsb3dDbGllbnQsXG4gIHRpbWVyQ2xpZW50LFxuICBtZXRyaWNzQ2xpZW50LFxuICBsb2dnZXIsXG4gIGFjdGl2aXR5UHJvdmlkZXIsXG4gIHNlcnZpY2VDbGllbnQsXG59OiBDcmVhdGVBY3Rpdml0eVdvcmtlclByb3BzKTogQWN0aXZpdHlXb3JrZXIge1xuICAvLyBtYWtlIHRoZSBzZXJ2aWNlIGNsaWVudCBhdmFpbGFibGUgdG8gYWxsIGFjdGl2aXR5IGNvZGVcbiAgaWYgKHNlcnZpY2VDbGllbnQpIHtcbiAgICByZWdpc3RlclNlcnZpY2VDbGllbnQoc2VydmljZUNsaWVudCk7XG4gIH1cblxuICByZXR1cm4gbWV0cmljc0NsaWVudC5tZXRyaWNTY29wZShcbiAgICAobWV0cmljcykgPT5cbiAgICAgIGFzeW5jIChcbiAgICAgICAgcmVxdWVzdDogQWN0aXZpdHlXb3JrZXJSZXF1ZXN0LFxuICAgICAgICBiYXNlVGltZTogRGF0ZSxcbiAgICAgICAgZ2V0RW5kVGltZSA9ICgpID0+IG5ldyBEYXRlKClcbiAgICAgICkgPT4ge1xuICAgICAgICBsb2dnZXIuYWRkUGVyc2lzdGVudExvZ0F0dHJpYnV0ZXMoe1xuICAgICAgICAgIHdvcmtmbG93TmFtZTogcmVxdWVzdC53b3JrZmxvd05hbWUsXG4gICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBhY3Rpdml0eUhhbmRsZSA9IGAke3JlcXVlc3QuY29tbWFuZC5zZXF9IGZvciBleGVjdXRpb24gJHtyZXF1ZXN0LmV4ZWN1dGlvbklkfSBvbiByZXRyeSAke3JlcXVlc3QucmV0cnl9YDtcbiAgICAgICAgbWV0cmljcy5yZXNldERpbWVuc2lvbnMoZmFsc2UpO1xuICAgICAgICBtZXRyaWNzLnNldE5hbWVzcGFjZShNZXRyaWNzQ29tbW9uLkV2ZW50dWFsTmFtZXNwYWNlKTtcbiAgICAgICAgbWV0cmljcy5wdXREaW1lbnNpb25zKHtcbiAgICAgICAgICBBY3Rpdml0eU5hbWU6IHJlcXVlc3QuY29tbWFuZC5uYW1lLFxuICAgICAgICAgIFdvcmtmbG93TmFtZTogcmVxdWVzdC53b3JrZmxvd05hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGUgdGltZSBmcm9tIHRoZSB3b3JrZmxvdyBlbWl0dGluZyB0aGUgYWN0aXZpdHkgc2NoZWR1bGVkIGNvbW1hbmRcbiAgICAgICAgLy8gdG8gdGhlIHJlcXVlc3QgYmVpbmcgc2Vlbi5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBiYXNlVGltZTtcbiAgICAgICAgY29uc3QgcmVjb3JkQWdlID1cbiAgICAgICAgICBzdGFydC5nZXRUaW1lKCkgLSBuZXcgRGF0ZShyZXF1ZXN0LnNjaGVkdWxlZFRpbWUpLmdldFRpbWUoKTtcbiAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoXG4gICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5UmVxdWVzdEFnZSxcbiAgICAgICAgICByZWNvcmRBZ2UsXG4gICAgICAgICAgVW5pdC5NaWxsaXNlY29uZHNcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICEoYXdhaXQgdGltZWQobWV0cmljcywgQWN0aXZpdHlNZXRyaWNzLkNsYWltRHVyYXRpb24sICgpID0+XG4gICAgICAgICAgICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQuY2xhaW1BY3Rpdml0eShcbiAgICAgICAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICAgICAgcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgICAgcmVxdWVzdC5yZXRyeVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkpXG4gICAgICAgICkge1xuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKEFjdGl2aXR5TWV0cmljcy5DbGFpbVJlamVjdGVkLCAxLCBVbml0LkNvdW50KTtcbiAgICAgICAgICBsb2dnZXIuaW5mbyhgQWN0aXZpdHkgJHthY3Rpdml0eUhhbmRsZX0gYWxyZWFkeSBjbGFpbWVkLmApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxdWVzdC5jb21tYW5kLmhlYXJ0YmVhdFNlY29uZHMpIHtcbiAgICAgICAgICBhd2FpdCB0aW1lckNsaWVudC5zdGFydFRpbWVyKHtcbiAgICAgICAgICAgIGFjdGl2aXR5U2VxOiByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICAgICAgdHlwZTogVGltZXJSZXF1ZXN0VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3IsXG4gICAgICAgICAgICBleGVjdXRpb25JZDogcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICAgIGhlYXJ0YmVhdFNlY29uZHM6IHJlcXVlc3QuY29tbWFuZC5oZWFydGJlYXRTZWNvbmRzLFxuICAgICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJlbGF0aXZlKHJlcXVlc3QuY29tbWFuZC5oZWFydGJlYXRTZWNvbmRzKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3Rpdml0eUNvbnRleHQoe1xuICAgICAgICAgIGFjdGl2aXR5VG9rZW46IGNyZWF0ZUFjdGl2aXR5VG9rZW4oXG4gICAgICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgcmVxdWVzdC5jb21tYW5kLnNlcVxuICAgICAgICAgICksXG4gICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgc2NoZWR1bGVkVGltZTogcmVxdWVzdC5zY2hlZHVsZWRUaW1lLFxuICAgICAgICAgIHdvcmtmbG93TmFtZTogcmVxdWVzdC53b3JrZmxvd05hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhBY3Rpdml0eU1ldHJpY3MuQ2xhaW1SZWplY3RlZCwgMCwgVW5pdC5Db3VudCk7XG5cbiAgICAgICAgbG9nZ2VyLmluZm8oYFByb2Nlc3NpbmcgJHthY3Rpdml0eUhhbmRsZX0uYCk7XG5cbiAgICAgICAgY29uc3QgYWN0aXZpdHkgPSBhY3Rpdml0eVByb3ZpZGVyLmdldEFjdGl2aXR5SGFuZGxlcihcbiAgICAgICAgICByZXF1ZXN0LmNvbW1hbmQubmFtZVxuICAgICAgICApO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICghYWN0aXZpdHkpIHtcbiAgICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKEFjdGl2aXR5TWV0cmljcy5Ob3RGb3VuZEVycm9yLCAxLCBVbml0LkNvdW50KTtcbiAgICAgICAgICAgIHRocm93IG5ldyBBY3Rpdml0eU5vdEZvdW5kRXJyb3IoXG4gICAgICAgICAgICAgIHJlcXVlc3QuY29tbWFuZC5uYW1lLFxuICAgICAgICAgICAgICBhY3Rpdml0eVByb3ZpZGVyLmdldEFjdGl2aXR5SWRzKClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGltZWQoXG4gICAgICAgICAgICBtZXRyaWNzLFxuICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLk9wZXJhdGlvbkR1cmF0aW9uLFxuICAgICAgICAgICAgKCkgPT4gYWN0aXZpdHkoLi4ucmVxdWVzdC5jb21tYW5kLmFyZ3MpXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoaXNBc3luY1Jlc3VsdChyZXN1bHQpKSB7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5IYXNSZXN1bHQsIDApO1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuQXN5bmNSZXN1bHQsIDEpO1xuXG4gICAgICAgICAgICAvLyBUT0RPOiBTZW5kIGhlYXJ0YmVhdCBvbiBzeW5jIGFjdGl2aXR5IGNvbXBsZXRpb24uXG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhlIGFjdGl2aXR5IGhhcyBkZWNsYXJlZCB0aGF0IGl0IGlzIGFzeW5jLCBvdGhlciB0aGFuIGxvZ2dpbmcsIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBkbyBoZXJlLlxuICAgICAgICAgICAgICogVGhlIGFjdGl2aXR5IHNob3VsZCBjYWxsIHtAbGluayBXb3JrZmxvd0NsaWVudC5zZW5kQWN0aXZpdHlTdWNjZXNzfSBvciB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5RmFpbHVyZX0gd2hlbiBpdCBpcyBkb25lLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkhhc1Jlc3VsdCwgMSk7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5Bc3luY1Jlc3VsdCwgMCk7XG4gICAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLlJlc3VsdEJ5dGVzLFxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShyZXN1bHQpLmxlbmd0aCxcbiAgICAgICAgICAgICAgVW5pdC5CeXRlc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuSGFzUmVzdWx0LCAwKTtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkFzeW5jUmVzdWx0LCAwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBBY3Rpdml0eSAke2FjdGl2aXR5SGFuZGxlfSBzdWNjZWVkZWQsIHJlcG9ydGluZyBiYWNrIHRvIGV4ZWN1dGlvbi5gXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGVuZFRpbWUgPSBnZXRFbmRUaW1lKHN0YXJ0KTtcbiAgICAgICAgICBjb25zdCBldmVudCA9IGNyZWF0ZUV2ZW50PEFjdGl2aXR5U3VjY2VlZGVkPihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTdWNjZWVkZWQsXG4gICAgICAgICAgICAgIHNlcTogcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVuZFRpbWVcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgYXdhaXQgZmluaXNoQWN0aXZpdHkoXG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHJlY29yZEFnZSArIChlbmRUaW1lLmdldFRpbWUoKSAtIHN0YXJ0LmdldFRpbWUoKSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBjb25zdCBbZXJyb3IsIG1lc3NhZ2VdID0gZXh0ZW5kc0Vycm9yKGVycilcbiAgICAgICAgICAgID8gW2Vyci5uYW1lLCBlcnIubWVzc2FnZV1cbiAgICAgICAgICAgIDogW1wiRXJyb3JcIiwgSlNPTi5zdHJpbmdpZnkoZXJyKV07XG5cbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBBY3Rpdml0eSAke2FjdGl2aXR5SGFuZGxlfSBmYWlsZWQsIHJlcG9ydGluZyBmYWlsdXJlIGJhY2sgdG8gZXhlY3V0aW9uOiAke2Vycm9yfTogJHttZXNzYWdlfWBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgZW5kVGltZSA9IGdldEVuZFRpbWUoc3RhcnQpO1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gY3JlYXRlRXZlbnQ8QWN0aXZpdHlGYWlsZWQ+KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUZhaWxlZCxcbiAgICAgICAgICAgICAgc2VxOiByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmRUaW1lXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGF3YWl0IGZpbmlzaEFjdGl2aXR5KFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICByZWNvcmRBZ2UgKyAoZW5kVGltZS5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBjbGVhckFjdGl2aXR5Q29udGV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gbG9nQWN0aXZpdHlDb21wbGV0ZU1ldHJpY3MoZmFpbGVkOiBib29sZWFuLCBkdXJhdGlvbjogbnVtYmVyKSB7XG4gICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoXG4gICAgICAgICAgICBBY3Rpdml0eU1ldHJpY3MuQWN0aXZpdHlGYWlsZWQsXG4gICAgICAgICAgICBmYWlsZWQgPyAxIDogMCxcbiAgICAgICAgICAgIFVuaXQuQ291bnRcbiAgICAgICAgICApO1xuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5U3VjY2VlZGVkLFxuICAgICAgICAgICAgZmFpbGVkID8gMCA6IDEsXG4gICAgICAgICAgICBVbml0LkNvdW50XG4gICAgICAgICAgKTtcbiAgICAgICAgICAvLyBUaGUgdG90YWwgdGltZSBmcm9tIHRoZSBhY3Rpdml0eSBiZWluZyBzY2hlZHVsZWQgdW50aWwgaXQncyByZXN1bHQgaXMgc2VuZCB0byB0aGUgd29ya2Zsb3cuXG4gICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoQWN0aXZpdHlNZXRyaWNzLlRvdGFsRHVyYXRpb24sIGR1cmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uIGZpbmlzaEFjdGl2aXR5KFxuICAgICAgICAgIGV2ZW50OiBBY3Rpdml0eVN1Y2NlZWRlZCB8IEFjdGl2aXR5RmFpbGVkLFxuICAgICAgICAgIGR1cmF0aW9uOiBudW1iZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgYXdhaXQgdGltZWQobWV0cmljcywgQWN0aXZpdHlNZXRyaWNzLlN1Ym1pdFdvcmtmbG93VGFza0R1cmF0aW9uLCAoKSA9PlxuICAgICAgICAgICAgd29ya2Zsb3dDbGllbnQuc3VibWl0V29ya2Zsb3dUYXNrKHJlcXVlc3QuZXhlY3V0aW9uSWQsIGV2ZW50KVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBsb2dBY3Rpdml0eUNvbXBsZXRlTWV0cmljcyhpc1dvcmtmbG93RmFpbGVkKGV2ZW50KSwgZHVyYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvYWN0aXZpdHktd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFrRDtBQUVsRCxpRUFNa0M7QUFDbEMsK0NBSXlCO0FBQ3pCLDREQUEyRDtBQUkzRCwwREFBeUU7QUFDekUsZ0RBQTBDO0FBQzFDLGtEQUE0QztBQUU1Qyw2Q0FBdUQ7QUFDdkQsMkNBQTZDO0FBQzdDLGdFQUlvQztBQUVwQyxrREFLeUI7QUFpQ3pCOzs7OztHQUtHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsRUFDbkMscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsUUFBUSxHQUNrQjtJQUMxQix5REFBeUQ7SUFDekQsSUFBSSxhQUFhLEVBQUU7UUFDakIsSUFBQSxpQ0FBcUIsRUFBQyxhQUFhLENBQUMsQ0FBQztLQUN0QztJQUVELE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FDOUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLEtBQUssRUFDSCxPQUE4QixFQUM5QixXQUFpQixJQUFJLElBQUksRUFBRSxFQUMzQixVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFDN0IsRUFBRTtRQUNGLE1BQU0sY0FBYyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixPQUFPLENBQUMsV0FBVyxhQUFhLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvRyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxZQUFZLENBQUMsNEJBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDcEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxPQUFP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LE1BQU0sUUFBUSxDQUFDO1lBRWYsMEJBQTBCLENBQUMsSUFBQSxxQ0FBZ0IsRUFBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQyxDQUNKLENBQUM7QUFDSixDQUFDO0FBck5ELG9EQXFOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXN5bmNSZXN1bHQgfSBmcm9tIFwiLi4vLi4vYWN0aXZpdHkuanNcIjtcbmltcG9ydCB7IFNjaGVkdWxlQWN0aXZpdHlDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2NvbW1hbmQuanNcIjtcbmltcG9ydCB7XG4gIEFjdGl2aXR5U3VjY2VlZGVkLFxuICBBY3Rpdml0eUZhaWxlZCxcbiAgY3JlYXRlRXZlbnQsXG4gIGlzV29ya2Zsb3dGYWlsZWQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi4vLi4vd29ya2Zsb3ctZXZlbnRzLmpzXCI7XG5pbXBvcnQge1xuICBjbGVhckFjdGl2aXR5Q29udGV4dCxcbiAgcmVnaXN0ZXJTZXJ2aWNlQ2xpZW50LFxuICBzZXRBY3Rpdml0eUNvbnRleHQsXG59IGZyb20gXCIuLi8uLi9nbG9iYWwuanNcIjtcbmltcG9ydCB7IGNyZWF0ZUFjdGl2aXR5VG9rZW4gfSBmcm9tIFwiLi4vYWN0aXZpdHktdG9rZW4uanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5UnVudGltZUNsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL2FjdGl2aXR5LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBNZXRyaWNzQ2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvbWV0cmljcy1jbGllbnQuanNcIjtcbmltcG9ydCB7IFdvcmtmbG93Q2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eU1ldHJpY3MsIE1ldHJpY3NDb21tb24gfSBmcm9tIFwiLi4vbWV0cmljcy9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IFVuaXQgfSBmcm9tIFwiLi4vbWV0cmljcy91bml0LmpzXCI7XG5pbXBvcnQgeyB0aW1lZCB9IGZyb20gXCIuLi9tZXRyaWNzL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eVByb3ZpZGVyIH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9hY3Rpdml0eS1wcm92aWRlci5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlOb3RGb3VuZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yLmpzXCI7XG5pbXBvcnQgeyBleHRlbmRzRXJyb3IgfSBmcm9tIFwiLi4vLi4vdXRpbC5qc1wiO1xuaW1wb3J0IHtcbiAgU2NoZWR1bGUsXG4gIFRpbWVyQ2xpZW50LFxuICBUaW1lclJlcXVlc3RUeXBlLFxufSBmcm9tIFwiLi4vY2xpZW50cy90aW1lci1jbGllbnQuanNcIjtcbmltcG9ydCB7IFJ1bnRpbWVTZXJ2aWNlQ2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvcnVudGltZS1zZXJ2aWNlLWNsaWVudHMuanNcIjtcbmltcG9ydCB7XG4gIEFjdGl2aXR5TG9nQ29udGV4dCxcbiAgTG9nQWdlbnQsXG4gIExvZ0NvbnRleHRUeXBlLFxuICBMb2dMZXZlbCxcbn0gZnJvbSBcIi4uL2xvZy1hZ2VudC5qc1wiO1xuaW1wb3J0IHsgRXZlbnRDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9ldmVudC1jbGllbnQuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBY3Rpdml0eVdvcmtlclByb3BzIHtcbiAgYWN0aXZpdHlSdW50aW1lQ2xpZW50OiBBY3Rpdml0eVJ1bnRpbWVDbGllbnQ7XG4gIHdvcmtmbG93Q2xpZW50OiBXb3JrZmxvd0NsaWVudDtcbiAgdGltZXJDbGllbnQ6IFRpbWVyQ2xpZW50O1xuICBtZXRyaWNzQ2xpZW50OiBNZXRyaWNzQ2xpZW50O1xuICBldmVudENsaWVudDogRXZlbnRDbGllbnQ7XG4gIGFjdGl2aXR5UHJvdmlkZXI6IEFjdGl2aXR5UHJvdmlkZXI7XG4gIHNlcnZpY2VDbGllbnQ/OiBSdW50aW1lU2VydmljZUNsaWVudDtcbiAgbG9nQWdlbnQ6IExvZ0FnZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5V29ya2VyUmVxdWVzdCB7XG4gIHNjaGVkdWxlZFRpbWU6IHN0cmluZztcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIGV4ZWN1dGlvbklkOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IFNjaGVkdWxlQWN0aXZpdHlDb21tYW5kO1xuICByZXRyeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5V29ya2VyIHtcbiAgKFxuICAgIHJlcXVlc3Q6IEFjdGl2aXR5V29ya2VyUmVxdWVzdCxcbiAgICBiYXNlVGltZT86IERhdGUsXG4gICAgLyoqXG4gICAgICogQWxsb3dzIGZvciBhIGNvbXB1dGVkIGVuZCB0aW1lLCBmb3IgY2FzZSBsaWtlIHRoZSB0ZXN0IGVudmlyb25tZW50IHdoZW4gdGhlIGVuZCB0aW1lIHNob3VsZCBiZSBjb250cm9sbGVkLlxuICAgICAqL1xuICAgIGdldEVuZFRpbWU/OiAoc3RhcnRUaW1lOiBEYXRlKSA9PiBEYXRlXG4gICk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGdlbmVyaWMgZnVuY3Rpb24gZm9yIGhhbmRsaW5nIGFjdGl2aXR5IHdvcmtlciByZXF1ZXN0c1xuICogdGhhdCBjYW4gYmUgdXNlZCBpbiBydW50aW1lIGltcGxlbWVudGF0aW9ucy4gVGhpcyBpbXBsZW1lbnRhdGlvbiBpc1xuICogZGVjb3VwbGVkIGZyb20gYSBydW50aW1lJ3Mgc3BlY2lmaWNzIGJ5IHRoZSBjbGllbnRzLiBBIHJ1bnRpbWUgbXVzdFxuICogaW5qZWN0IGl0cyBvd24gY2xpZW50IGltcGxlbWVudGF0aW9ucyBkZXNpZ25lZCBmb3IgdGhhdCBwbGF0Zm9ybS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFjdGl2aXR5V29ya2VyKHtcbiAgYWN0aXZpdHlSdW50aW1lQ2xpZW50LFxuICB3b3JrZmxvd0NsaWVudCxcbiAgdGltZXJDbGllbnQsXG4gIG1ldHJpY3NDbGllbnQsXG4gIGFjdGl2aXR5UHJvdmlkZXIsXG4gIHNlcnZpY2VDbGllbnQsXG4gIGxvZ0FnZW50LFxufTogQ3JlYXRlQWN0aXZpdHlXb3JrZXJQcm9wcyk6IEFjdGl2aXR5V29ya2VyIHtcbiAgLy8gbWFrZSB0aGUgc2VydmljZSBjbGllbnQgYXZhaWxhYmxlIHRvIGFsbCBhY3Rpdml0eSBjb2RlXG4gIGlmIChzZXJ2aWNlQ2xpZW50KSB7XG4gICAgcmVnaXN0ZXJTZXJ2aWNlQ2xpZW50KHNlcnZpY2VDbGllbnQpO1xuICB9XG5cbiAgcmV0dXJuIG1ldHJpY3NDbGllbnQubWV0cmljU2NvcGUoXG4gICAgKG1ldHJpY3MpID0+XG4gICAgICBhc3luYyAoXG4gICAgICAgIHJlcXVlc3Q6IEFjdGl2aXR5V29ya2VyUmVxdWVzdCxcbiAgICAgICAgYmFzZVRpbWU6IERhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgICBnZXRFbmRUaW1lID0gKCkgPT4gbmV3IERhdGUoKVxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2aXR5SGFuZGxlID0gYCR7cmVxdWVzdC5jb21tYW5kLnNlcX0gZm9yIGV4ZWN1dGlvbiAke3JlcXVlc3QuZXhlY3V0aW9uSWR9IG9uIHJldHJ5ICR7cmVxdWVzdC5yZXRyeX1gO1xuICAgICAgICBtZXRyaWNzLnJlc2V0RGltZW5zaW9ucyhmYWxzZSk7XG4gICAgICAgIG1ldHJpY3Muc2V0TmFtZXNwYWNlKE1ldHJpY3NDb21tb24uRXZlbnR1YWxOYW1lc3BhY2UpO1xuICAgICAgICBtZXRyaWNzLnB1dERpbWVuc2lvbnMoe1xuICAgICAgICAgIEFjdGl2aXR5TmFtZTogcmVxdWVzdC5jb21tYW5kLm5hbWUsXG4gICAgICAgICAgV29ya2Zsb3dOYW1lOiByZXF1ZXN0LndvcmtmbG93TmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRoZSB0aW1lIGZyb20gdGhlIHdvcmtmbG93IGVtaXR0aW5nIHRoZSBhY3Rpdml0eSBzY2hlZHVsZWQgY29tbWFuZFxuICAgICAgICAvLyB0byB0aGUgcmVxdWVzdCBiZWluZyBzZWVuLlxuICAgICAgICBjb25zdCBhY3Rpdml0eUxvZ0NvbnRleHQ6IEFjdGl2aXR5TG9nQ29udGV4dCA9IHtcbiAgICAgICAgICB0eXBlOiBMb2dDb250ZXh0VHlwZS5BY3Rpdml0eSxcbiAgICAgICAgICBhY3Rpdml0eU5hbWU6IHJlcXVlc3QuY29tbWFuZC5uYW1lLFxuICAgICAgICAgIGV4ZWN1dGlvbklkOiByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgIHNlcTogcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBiYXNlVGltZTtcbiAgICAgICAgY29uc3QgcmVjb3JkQWdlID1cbiAgICAgICAgICBzdGFydC5nZXRUaW1lKCkgLSBuZXcgRGF0ZShyZXF1ZXN0LnNjaGVkdWxlZFRpbWUpLmdldFRpbWUoKTtcbiAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoXG4gICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5UmVxdWVzdEFnZSxcbiAgICAgICAgICByZWNvcmRBZ2UsXG4gICAgICAgICAgVW5pdC5NaWxsaXNlY29uZHNcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICEoYXdhaXQgdGltZWQobWV0cmljcywgQWN0aXZpdHlNZXRyaWNzLkNsYWltRHVyYXRpb24sICgpID0+XG4gICAgICAgICAgICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQuY2xhaW1BY3Rpdml0eShcbiAgICAgICAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICAgICAgcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgICAgcmVxdWVzdC5yZXRyeVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkpXG4gICAgICAgICkge1xuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKEFjdGl2aXR5TWV0cmljcy5DbGFpbVJlamVjdGVkLCAxLCBVbml0LkNvdW50KTtcbiAgICAgICAgICBjb25zb2xlLmluZm8oYEFjdGl2aXR5ICR7YWN0aXZpdHlIYW5kbGV9IGFscmVhZHkgY2xhaW1lZC5gKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3QuY29tbWFuZC5oZWFydGJlYXRTZWNvbmRzKSB7XG4gICAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuc3RhcnRUaW1lcih7XG4gICAgICAgICAgICBhY3Rpdml0eVNlcTogcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgIHR5cGU6IFRpbWVyUmVxdWVzdFR5cGUuQWN0aXZpdHlIZWFydGJlYXRNb25pdG9yLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBoZWFydGJlYXRTZWNvbmRzOiByZXF1ZXN0LmNvbW1hbmQuaGVhcnRiZWF0U2Vjb25kcyxcbiAgICAgICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShyZXF1ZXN0LmNvbW1hbmQuaGVhcnRiZWF0U2Vjb25kcyksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZpdHlDb250ZXh0KHtcbiAgICAgICAgICBhY3Rpdml0eVRva2VuOiBjcmVhdGVBY3Rpdml0eVRva2VuKFxuICAgICAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICAgIHJlcXVlc3QuY29tbWFuZC5zZXFcbiAgICAgICAgICApLFxuICAgICAgICAgIGV4ZWN1dGlvbklkOiByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgIHNjaGVkdWxlZFRpbWU6IHJlcXVlc3Quc2NoZWR1bGVkVGltZSxcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHJlcXVlc3Qud29ya2Zsb3dOYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoQWN0aXZpdHlNZXRyaWNzLkNsYWltUmVqZWN0ZWQsIDAsIFVuaXQuQ291bnQpO1xuXG4gICAgICAgIGNvbnNvbGUuaW5mbyhgUHJvY2Vzc2luZyAke2FjdGl2aXR5SGFuZGxlfS5gKTtcblxuICAgICAgICBjb25zdCBhY3Rpdml0eSA9IGFjdGl2aXR5UHJvdmlkZXIuZ2V0QWN0aXZpdHlIYW5kbGVyKFxuICAgICAgICAgIHJlcXVlc3QuY29tbWFuZC5uYW1lXG4gICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKCFhY3Rpdml0eSkge1xuICAgICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoQWN0aXZpdHlNZXRyaWNzLk5vdEZvdW5kRXJyb3IsIDEsIFVuaXQuQ291bnQpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEFjdGl2aXR5Tm90Rm91bmRFcnJvcihcbiAgICAgICAgICAgICAgcmVxdWVzdC5jb21tYW5kLm5hbWUsXG4gICAgICAgICAgICAgIGFjdGl2aXR5UHJvdmlkZXIuZ2V0QWN0aXZpdHlJZHMoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBsb2dBZ2VudC5sb2dDb250ZXh0U2NvcGUoXG4gICAgICAgICAgICBhY3Rpdml0eUxvZ0NvbnRleHQsXG4gICAgICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aW1lZChcbiAgICAgICAgICAgICAgICBtZXRyaWNzLFxuICAgICAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5PcGVyYXRpb25EdXJhdGlvbixcbiAgICAgICAgICAgICAgICAoKSA9PiBhY3Rpdml0eSguLi5yZXF1ZXN0LmNvbW1hbmQuYXJncylcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGlzQXN5bmNSZXN1bHQocmVzdWx0KSkge1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuSGFzUmVzdWx0LCAwKTtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkFzeW5jUmVzdWx0LCAxKTtcblxuICAgICAgICAgICAgLy8gVE9ETzogU2VuZCBoZWFydGJlYXQgb24gc3luYyBhY3Rpdml0eSBjb21wbGV0aW9uLlxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZSBhY3Rpdml0eSBoYXMgZGVjbGFyZWQgdGhhdCBpdCBpcyBhc3luYywgb3RoZXIgdGhhbiBsb2dnaW5nLCB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gZG8gaGVyZS5cbiAgICAgICAgICAgICAqIFRoZSBhY3Rpdml0eSBzaG91bGQgY2FsbCB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5U3VjY2Vzc30gb3Ige0BsaW5rIFdvcmtmbG93Q2xpZW50LnNlbmRBY3Rpdml0eUZhaWx1cmV9IHdoZW4gaXQgaXMgZG9uZS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgcmV0dXJuIHRpbWVkKFxuICAgICAgICAgICAgICBtZXRyaWNzLFxuICAgICAgICAgICAgICBBY3Rpdml0eU1ldHJpY3MuQWN0aXZpdHlMb2dXcml0ZUR1cmF0aW9uLFxuICAgICAgICAgICAgICAoKSA9PiBsb2dBZ2VudC5mbHVzaCgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5IYXNSZXN1bHQsIDEpO1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuQXN5bmNSZXN1bHQsIDApO1xuICAgICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoXG4gICAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5SZXN1bHRCeXRlcyxcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5sZW5ndGgsXG4gICAgICAgICAgICAgIFVuaXQuQnl0ZXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkhhc1Jlc3VsdCwgMCk7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5Bc3luY1Jlc3VsdCwgMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbG9nQWdlbnQubG9nV2l0aENvbnRleHQoXG4gICAgICAgICAgICBhY3Rpdml0eUxvZ0NvbnRleHQsXG4gICAgICAgICAgICBMb2dMZXZlbC5JTkZPLFxuICAgICAgICAgICAgYEFjdGl2aXR5ICR7YWN0aXZpdHlIYW5kbGV9IHN1Y2NlZWRlZCwgcmVwb3J0aW5nIGJhY2sgdG8gZXhlY3V0aW9uLmBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgZW5kVGltZSA9IGdldEVuZFRpbWUoc3RhcnQpO1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gY3JlYXRlRXZlbnQ8QWN0aXZpdHlTdWNjZWVkZWQ+KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVN1Y2NlZWRlZCxcbiAgICAgICAgICAgICAgc2VxOiByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5kVGltZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBhd2FpdCBmaW5pc2hBY3Rpdml0eShcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgcmVjb3JkQWdlICsgKGVuZFRpbWUuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnN0IFtlcnJvciwgbWVzc2FnZV0gPSBleHRlbmRzRXJyb3IoZXJyKVxuICAgICAgICAgICAgPyBbZXJyLm5hbWUsIGVyci5tZXNzYWdlXVxuICAgICAgICAgICAgOiBbXCJFcnJvclwiLCBKU09OLnN0cmluZ2lmeShlcnIpXTtcblxuICAgICAgICAgIGxvZ0FnZW50LmxvZ1dpdGhDb250ZXh0KFxuICAgICAgICAgICAgYWN0aXZpdHlMb2dDb250ZXh0LFxuICAgICAgICAgICAgTG9nTGV2ZWwuREVCVUcsXG4gICAgICAgICAgICBgQWN0aXZpdHkgJHthY3Rpdml0eUhhbmRsZX0gZmFpbGVkLCByZXBvcnRpbmcgZmFpbHVyZSBiYWNrIHRvIGV4ZWN1dGlvbjogJHtlcnJvcn06ICR7bWVzc2FnZX1gXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGVuZFRpbWUgPSBnZXRFbmRUaW1lKHN0YXJ0KTtcbiAgICAgICAgICBjb25zdCBldmVudCA9IGNyZWF0ZUV2ZW50PEFjdGl2aXR5RmFpbGVkPihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlGYWlsZWQsXG4gICAgICAgICAgICAgIHNlcTogcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5kVGltZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBhd2FpdCBmaW5pc2hBY3Rpdml0eShcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgcmVjb3JkQWdlICsgKGVuZFRpbWUuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgY2xlYXJBY3Rpdml0eUNvbnRleHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGxvZ0FjdGl2aXR5Q29tcGxldGVNZXRyaWNzKGZhaWxlZDogYm9vbGVhbiwgZHVyYXRpb246IG51bWJlcikge1xuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5RmFpbGVkLFxuICAgICAgICAgICAgZmFpbGVkID8gMSA6IDAsXG4gICAgICAgICAgICBVbml0LkNvdW50XG4gICAgICAgICAgKTtcbiAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5BY3Rpdml0eVN1Y2NlZWRlZCxcbiAgICAgICAgICAgIGZhaWxlZCA/IDAgOiAxLFxuICAgICAgICAgICAgVW5pdC5Db3VudFxuICAgICAgICAgICk7XG4gICAgICAgICAgLy8gVGhlIHRvdGFsIHRpbWUgZnJvbSB0aGUgYWN0aXZpdHkgYmVpbmcgc2NoZWR1bGVkIHVudGlsIGl0J3MgcmVzdWx0IGlzIHNlbmQgdG8gdGhlIHdvcmtmbG93LlxuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKEFjdGl2aXR5TWV0cmljcy5Ub3RhbER1cmF0aW9uLCBkdXJhdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBhc3luYyBmdW5jdGlvbiBmaW5pc2hBY3Rpdml0eShcbiAgICAgICAgICBldmVudDogQWN0aXZpdHlTdWNjZWVkZWQgfCBBY3Rpdml0eUZhaWxlZCxcbiAgICAgICAgICBkdXJhdGlvbjogbnVtYmVyXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IGxvZ0ZsdXNoID0gdGltZWQoXG4gICAgICAgICAgICBtZXRyaWNzLFxuICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5TG9nV3JpdGVEdXJhdGlvbixcbiAgICAgICAgICAgICgpID0+IGxvZ0FnZW50LmZsdXNoKClcbiAgICAgICAgICApO1xuICAgICAgICAgIGF3YWl0IHRpbWVkKG1ldHJpY3MsIEFjdGl2aXR5TWV0cmljcy5TdWJtaXRXb3JrZmxvd1Rhc2tEdXJhdGlvbiwgKCkgPT5cbiAgICAgICAgICAgIHdvcmtmbG93Q2xpZW50LnN1Ym1pdFdvcmtmbG93VGFzayhyZXF1ZXN0LmV4ZWN1dGlvbklkLCBldmVudClcbiAgICAgICAgICApO1xuICAgICAgICAgIGF3YWl0IGxvZ0ZsdXNoO1xuXG4gICAgICAgICAgbG9nQWN0aXZpdHlDb21wbGV0ZU1ldHJpY3MoaXNXb3JrZmxvd0ZhaWxlZChldmVudCksIGR1cmF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICApO1xufVxuIl19 |
@@ -1,4 +0,9 @@ | ||
import { EventClient, ExecutionHistoryClient, MetricsClient, TimerClient, WorkflowClient, WorkflowRuntimeClient } from "../clients/index.js"; | ||
import type { Logger } from "../logger.js"; | ||
import { WorkflowTask } from "../../tasks.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
import { ExecutionHistoryClient } from "../clients/execution-history-client.js"; | ||
import { TimerClient } from "../clients/timer-client.js"; | ||
import { WorkflowRuntimeClient } from "../clients/workflow-runtime-client.js"; | ||
import { WorkflowClient } from "../clients/workflow-client.js"; | ||
import { MetricsClient } from "../clients/metrics-client.js"; | ||
import { EventClient } from "../clients/event-client.js"; | ||
/** | ||
@@ -14,3 +19,3 @@ * The Orchestrator's client dependencies. | ||
eventClient: EventClient; | ||
logger: Logger; | ||
logAgent: LogAgent; | ||
} | ||
@@ -32,3 +37,3 @@ export interface OrchestratorResult { | ||
*/ | ||
export declare function createOrchestrator({ executionHistoryClient, timerClient, workflowRuntimeClient, workflowClient, metricsClient, eventClient, logger, }: OrchestratorDependencies): Orchestrator; | ||
export declare function createOrchestrator({ executionHistoryClient, timerClient, workflowRuntimeClient, workflowClient, metricsClient, eventClient, logAgent, }: OrchestratorDependencies): Orchestrator; | ||
//# sourceMappingURL=orchestrator.d.ts.map |
import type { MetricsClient } from "../clients/metrics-client.js"; | ||
import type { ScheduleForwarderRequest, TimerClient } from "../clients/timer-client.js"; | ||
import { Logger } from "../logger.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
/** | ||
@@ -10,3 +10,3 @@ * The Schedule Forwarder's dependencies. | ||
metricsClient: MetricsClient; | ||
logger: Logger; | ||
logAgent: LogAgent; | ||
} | ||
@@ -19,3 +19,3 @@ /** | ||
*/ | ||
export declare function createScheduleForwarder({ timerClient, metricsClient, logger, }: ScheduleForwarderDependencies): (event: ScheduleForwarderRequest) => Promise<void>; | ||
export declare function createScheduleForwarder({ timerClient, metricsClient, logAgent, }: ScheduleForwarderDependencies): (event: ScheduleForwarderRequest) => Promise<void>; | ||
//# sourceMappingURL=schedule-forwarder.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createScheduleForwarder = void 0; | ||
const log_agent_js_1 = require("../log-agent.js"); | ||
const constants_js_1 = require("../metrics/constants.js"); | ||
@@ -11,14 +12,14 @@ /** | ||
*/ | ||
function createScheduleForwarder({ timerClient, metricsClient, logger, }) { | ||
function createScheduleForwarder({ timerClient, metricsClient, logAgent, }) { | ||
return metricsClient.metricScope((metrics) => async (event) => { | ||
metrics.setNamespace(constants_js_1.MetricsCommon.EventualNamespace); | ||
const executionLogger = logger.createChild({ | ||
persistentLogAttributes: { | ||
executionId: event.timerRequest.executionId, | ||
}, | ||
}); | ||
executionLogger.debug("Forwarding request to the timer queue: " + | ||
// log on behalf of the execution. | ||
const executionLogContext = { | ||
type: log_agent_js_1.LogContextType.Execution, | ||
executionId: event.timerRequest.executionId, | ||
}; | ||
logAgent.logWithContext(executionLogContext, log_agent_js_1.LogLevel.DEBUG, "Forwarding request to the timer queue: " + | ||
JSON.stringify(event.timerRequest)); | ||
const schedulerTimeDelay = new Date().getTime() - new Date(event.forwardTime).getTime(); | ||
executionLogger.info(`Timer Time: ${event.untilTime}. Forwarded Time: ${event.forwardTime}. ${schedulerTimeDelay} Millisecond delay from scheduler.`); | ||
logAgent.logWithContext(executionLogContext, log_agent_js_1.LogLevel.DEBUG, `Timer Time: ${event.untilTime}. Forwarded Time: ${event.forwardTime}. ${schedulerTimeDelay} Millisecond delay from scheduler.`); | ||
metrics.setProperty(constants_js_1.SchedulerForwarderMetrics.SchedulerTimeDelay, schedulerTimeDelay); | ||
@@ -28,3 +29,3 @@ const delaySeconds = await timerClient.startShortTimer(event.timerRequest); | ||
if (event.clearSchedule) { | ||
executionLogger.debug("Deleting the schedule: " + event.scheduleName); | ||
logAgent.logWithContext(executionLogContext, log_agent_js_1.LogLevel.DEBUG, "Deleting the schedule: " + event.scheduleName); | ||
await timerClient.clearSchedule(event.scheduleName); | ||
@@ -35,2 +36,2 @@ } | ||
exports.createScheduleForwarder = createScheduleForwarder; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvc2NoZWR1bGUtZm9yd2FyZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDBEQUdpQztBQVdqQzs7Ozs7R0FLRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLEVBQ3RDLFdBQVcsRUFDWCxhQUFhLEVBQ2IsTUFBTSxHQUN3QjtJQUM5QixPQUFPLGFBQWEsQ0FBQyxXQUFXLENBQzlCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBK0IsRUFBRSxFQUFFO1FBQ3JELE9BQU8sQ0FBQyxZQUFZLENBQUMsNEJBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXRELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDekMsdUJBQXVCLEVBQUU7Z0JBQ3ZCLFdBQVcsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDNUM7U0FDRixDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsS0FBSyxDQUNuQix5Q0FBeUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQ3JDLENBQUM7UUFFRixNQUFNLGtCQUFrQixHQUN0QixJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUvRCxlQUFlLENBQUMsSUFBSSxDQUNsQixlQUFlLEtBQUssQ0FBQyxTQUFTLHFCQUFxQixLQUFLLENBQUMsV0FBVyxLQUFLLGtCQUFrQixvQ0FBb0MsQ0FDaEksQ0FBQztRQUVGLE9BQU8sQ0FBQyxXQUFXLENBQ2pCLHdDQUF5QixDQUFDLGtCQUFrQixFQUM1QyxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sV0FBVyxDQUFDLGVBQWUsQ0FDcEQsS0FBSyxDQUFDLFlBQVksQ0FDbkIsQ0FBQztRQUVGLE9BQU8sQ0FBQyxXQUFXLENBQ2pCLHdDQUF5QixDQUFDLHNCQUFzQixFQUNoRCxZQUFZLENBQ2IsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN2QixlQUFlLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RSxNQUFNLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDO0FBL0NELDBEQStDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0cmljc0NsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL21ldHJpY3MtY2xpZW50LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFNjaGVkdWxlRm9yd2FyZGVyUmVxdWVzdCxcbiAgVGltZXJDbGllbnQsXG59IGZyb20gXCIuLi9jbGllbnRzL3RpbWVyLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiO1xuaW1wb3J0IHtcbiAgTWV0cmljc0NvbW1vbixcbiAgU2NoZWR1bGVyRm9yd2FyZGVyTWV0cmljcyxcbn0gZnJvbSBcIi4uL21ldHJpY3MvY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIFNjaGVkdWxlIEZvcndhcmRlcidzIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZUZvcndhcmRlckRlcGVuZGVuY2llcyB7XG4gIHRpbWVyQ2xpZW50OiBUaW1lckNsaWVudDtcbiAgbWV0cmljc0NsaWVudDogTWV0cmljc0NsaWVudDtcbiAgbG9nZ2VyOiBMb2dnZXI7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGdlbmVyaWMgZnVuY3Rpb24gZm9yIGZvcndhcmRpbmcgc2NoZWR1bGVkIGV2ZW50cyB0byBhIHF1ZXVlXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2NoZWR1bGVGb3J3YXJkZXIoe1xuICB0aW1lckNsaWVudCxcbiAgbWV0cmljc0NsaWVudCxcbiAgbG9nZ2VyLFxufTogU2NoZWR1bGVGb3J3YXJkZXJEZXBlbmRlbmNpZXMpIHtcbiAgcmV0dXJuIG1ldHJpY3NDbGllbnQubWV0cmljU2NvcGUoXG4gICAgKG1ldHJpY3MpID0+IGFzeW5jIChldmVudDogU2NoZWR1bGVGb3J3YXJkZXJSZXF1ZXN0KSA9PiB7XG4gICAgICBtZXRyaWNzLnNldE5hbWVzcGFjZShNZXRyaWNzQ29tbW9uLkV2ZW50dWFsTmFtZXNwYWNlKTtcblxuICAgICAgY29uc3QgZXhlY3V0aW9uTG9nZ2VyID0gbG9nZ2VyLmNyZWF0ZUNoaWxkKHtcbiAgICAgICAgcGVyc2lzdGVudExvZ0F0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBleGVjdXRpb25JZDogZXZlbnQudGltZXJSZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGV4ZWN1dGlvbkxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgXCJGb3J3YXJkaW5nIHJlcXVlc3QgdG8gdGhlIHRpbWVyIHF1ZXVlOiBcIiArXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGltZXJSZXF1ZXN0KVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgc2NoZWR1bGVyVGltZURlbGF5ID1cbiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShldmVudC5mb3J3YXJkVGltZSkuZ2V0VGltZSgpO1xuXG4gICAgICBleGVjdXRpb25Mb2dnZXIuaW5mbyhcbiAgICAgICAgYFRpbWVyIFRpbWU6ICR7ZXZlbnQudW50aWxUaW1lfS4gRm9yd2FyZGVkIFRpbWU6ICR7ZXZlbnQuZm9yd2FyZFRpbWV9LiAke3NjaGVkdWxlclRpbWVEZWxheX0gTWlsbGlzZWNvbmQgZGVsYXkgZnJvbSBzY2hlZHVsZXIuYFxuICAgICAgKTtcblxuICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShcbiAgICAgICAgU2NoZWR1bGVyRm9yd2FyZGVyTWV0cmljcy5TY2hlZHVsZXJUaW1lRGVsYXksXG4gICAgICAgIHNjaGVkdWxlclRpbWVEZWxheVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZGVsYXlTZWNvbmRzID0gYXdhaXQgdGltZXJDbGllbnQuc3RhcnRTaG9ydFRpbWVyKFxuICAgICAgICBldmVudC50aW1lclJlcXVlc3RcbiAgICAgICk7XG5cbiAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoXG4gICAgICAgIFNjaGVkdWxlckZvcndhcmRlck1ldHJpY3MuVGltZXJRdWV1ZURlbGF5U2Vjb25kcyxcbiAgICAgICAgZGVsYXlTZWNvbmRzXG4gICAgICApO1xuXG4gICAgICBpZiAoZXZlbnQuY2xlYXJTY2hlZHVsZSkge1xuICAgICAgICBleGVjdXRpb25Mb2dnZXIuZGVidWcoXCJEZWxldGluZyB0aGUgc2NoZWR1bGU6IFwiICsgZXZlbnQuc2NoZWR1bGVOYW1lKTtcbiAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuY2xlYXJTY2hlZHVsZShldmVudC5zY2hlZHVsZU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvc2NoZWR1bGUtZm9yd2FyZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLGtEQUt5QjtBQUN6QiwwREFHaUM7QUFXakM7Ozs7O0dBS0c7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxFQUN0QyxXQUFXLEVBQ1gsYUFBYSxFQUNiLFFBQVEsR0FDc0I7SUFDOUIsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUM5QixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQStCLEVBQUUsRUFBRTtRQUNyRCxPQUFPLENBQUMsWUFBWSxDQUFDLDRCQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0RCxrQ0FBa0M7UUFDbEMsTUFBTSxtQkFBbUIsR0FBd0I7WUFDL0MsSUFBSSxFQUFFLDZCQUFjLENBQUMsU0FBUztZQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXO1NBQzVDLENBQUM7UUFFRixRQUFRLENBQUMsY0FBYyxDQUNyQixtQkFBbUIsRUFDbkIsdUJBQVEsQ0FBQyxLQUFLLEVBQ2QseUNBQXlDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUNyQyxDQUFDO1FBRUYsTUFBTSxrQkFBa0IsR0FDdEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0QsUUFBUSxDQUFDLGNBQWMsQ0FDckIsbUJBQW1CLEVBQ25CLHVCQUFRLENBQUMsS0FBSyxFQUNkLGVBQWUsS0FBSyxDQUFDLFNBQVMscUJBQXFCLEtBQUssQ0FBQyxXQUFXLEtBQUssa0JBQWtCLG9DQUFvQyxDQUNoSSxDQUFDO1FBRUYsT0FBTyxDQUFDLFdBQVcsQ0FDakIsd0NBQXlCLENBQUMsa0JBQWtCLEVBQzVDLGtCQUFrQixDQUNuQixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsTUFBTSxXQUFXLENBQUMsZUFBZSxDQUNwRCxLQUFLLENBQUMsWUFBWSxDQUNuQixDQUFDO1FBRUYsT0FBTyxDQUFDLFdBQVcsQ0FDakIsd0NBQXlCLENBQUMsc0JBQXNCLEVBQ2hELFlBQVksQ0FDYixDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLFFBQVEsQ0FBQyxjQUFjLENBQ3JCLG1CQUFtQixFQUNuQix1QkFBUSxDQUFDLEtBQUssRUFDZCx5QkFBeUIsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUMvQyxDQUFDO1lBQ0YsTUFBTSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQXZERCwwREF1REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldHJpY3NDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9tZXRyaWNzLWNsaWVudC5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlZHVsZUZvcndhcmRlclJlcXVlc3QsXG4gIFRpbWVyQ2xpZW50LFxufSBmcm9tIFwiLi4vY2xpZW50cy90aW1lci1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIEV4ZWN1dGlvbkxvZ0NvbnRleHQsXG4gIExvZ0FnZW50LFxuICBMb2dDb250ZXh0VHlwZSxcbiAgTG9nTGV2ZWwsXG59IGZyb20gXCIuLi9sb2ctYWdlbnQuanNcIjtcbmltcG9ydCB7XG4gIE1ldHJpY3NDb21tb24sXG4gIFNjaGVkdWxlckZvcndhcmRlck1ldHJpY3MsXG59IGZyb20gXCIuLi9tZXRyaWNzL2NvbnN0YW50cy5qc1wiO1xuXG4vKipcbiAqIFRoZSBTY2hlZHVsZSBGb3J3YXJkZXIncyBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGVGb3J3YXJkZXJEZXBlbmRlbmNpZXMge1xuICB0aW1lckNsaWVudDogVGltZXJDbGllbnQ7XG4gIG1ldHJpY3NDbGllbnQ6IE1ldHJpY3NDbGllbnQ7XG4gIGxvZ0FnZW50OiBMb2dBZ2VudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgZm9yd2FyZGluZyBzY2hlZHVsZWQgZXZlbnRzIHRvIGEgcXVldWVcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW4gcnVudGltZSBpbXBsZW1lbnRhdGlvbnMuIFRoaXMgaW1wbGVtZW50YXRpb24gaXNcbiAqIGRlY291cGxlZCBmcm9tIGEgcnVudGltZSdzIHNwZWNpZmljcyBieSB0aGUgY2xpZW50cy4gQSBydW50aW1lIG11c3RcbiAqIGluamVjdCBpdHMgb3duIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMgZGVzaWduZWQgZm9yIHRoYXQgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTY2hlZHVsZUZvcndhcmRlcih7XG4gIHRpbWVyQ2xpZW50LFxuICBtZXRyaWNzQ2xpZW50LFxuICBsb2dBZ2VudCxcbn06IFNjaGVkdWxlRm9yd2FyZGVyRGVwZW5kZW5jaWVzKSB7XG4gIHJldHVybiBtZXRyaWNzQ2xpZW50Lm1ldHJpY1Njb3BlKFxuICAgIChtZXRyaWNzKSA9PiBhc3luYyAoZXZlbnQ6IFNjaGVkdWxlRm9yd2FyZGVyUmVxdWVzdCkgPT4ge1xuICAgICAgbWV0cmljcy5zZXROYW1lc3BhY2UoTWV0cmljc0NvbW1vbi5FdmVudHVhbE5hbWVzcGFjZSk7XG5cbiAgICAgIC8vIGxvZyBvbiBiZWhhbGYgb2YgdGhlIGV4ZWN1dGlvbi5cbiAgICAgIGNvbnN0IGV4ZWN1dGlvbkxvZ0NvbnRleHQ6IEV4ZWN1dGlvbkxvZ0NvbnRleHQgPSB7XG4gICAgICAgIHR5cGU6IExvZ0NvbnRleHRUeXBlLkV4ZWN1dGlvbixcbiAgICAgICAgZXhlY3V0aW9uSWQ6IGV2ZW50LnRpbWVyUmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgIH07XG5cbiAgICAgIGxvZ0FnZW50LmxvZ1dpdGhDb250ZXh0KFxuICAgICAgICBleGVjdXRpb25Mb2dDb250ZXh0LFxuICAgICAgICBMb2dMZXZlbC5ERUJVRyxcbiAgICAgICAgXCJGb3J3YXJkaW5nIHJlcXVlc3QgdG8gdGhlIHRpbWVyIHF1ZXVlOiBcIiArXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGltZXJSZXF1ZXN0KVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgc2NoZWR1bGVyVGltZURlbGF5ID1cbiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShldmVudC5mb3J3YXJkVGltZSkuZ2V0VGltZSgpO1xuXG4gICAgICBsb2dBZ2VudC5sb2dXaXRoQ29udGV4dChcbiAgICAgICAgZXhlY3V0aW9uTG9nQ29udGV4dCxcbiAgICAgICAgTG9nTGV2ZWwuREVCVUcsXG4gICAgICAgIGBUaW1lciBUaW1lOiAke2V2ZW50LnVudGlsVGltZX0uIEZvcndhcmRlZCBUaW1lOiAke2V2ZW50LmZvcndhcmRUaW1lfS4gJHtzY2hlZHVsZXJUaW1lRGVsYXl9IE1pbGxpc2Vjb25kIGRlbGF5IGZyb20gc2NoZWR1bGVyLmBcbiAgICAgICk7XG5cbiAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoXG4gICAgICAgIFNjaGVkdWxlckZvcndhcmRlck1ldHJpY3MuU2NoZWR1bGVyVGltZURlbGF5LFxuICAgICAgICBzY2hlZHVsZXJUaW1lRGVsYXlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGRlbGF5U2Vjb25kcyA9IGF3YWl0IHRpbWVyQ2xpZW50LnN0YXJ0U2hvcnRUaW1lcihcbiAgICAgICAgZXZlbnQudGltZXJSZXF1ZXN0XG4gICAgICApO1xuXG4gICAgICBtZXRyaWNzLnNldFByb3BlcnR5KFxuICAgICAgICBTY2hlZHVsZXJGb3J3YXJkZXJNZXRyaWNzLlRpbWVyUXVldWVEZWxheVNlY29uZHMsXG4gICAgICAgIGRlbGF5U2Vjb25kc1xuICAgICAgKTtcblxuICAgICAgaWYgKGV2ZW50LmNsZWFyU2NoZWR1bGUpIHtcbiAgICAgICAgbG9nQWdlbnQubG9nV2l0aENvbnRleHQoXG4gICAgICAgICAgZXhlY3V0aW9uTG9nQ29udGV4dCxcbiAgICAgICAgICBMb2dMZXZlbC5ERUJVRyxcbiAgICAgICAgICBcIkRlbGV0aW5nIHRoZSBzY2hlZHVsZTogXCIgKyBldmVudC5zY2hlZHVsZU5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuY2xlYXJTY2hlZHVsZShldmVudC5zY2hlZHVsZU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgKTtcbn1cbiJdfQ== |
import { TimerClient, TimerRequest } from "../clients/timer-client.js"; | ||
import type { WorkflowClient } from "../clients/workflow-client.js"; | ||
import { ActivityRuntimeClient, Logger } from "../index.js"; | ||
import { ActivityRuntimeClient } from "../clients/activity-runtime-client.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
interface TimerHandlerProps { | ||
@@ -8,3 +9,3 @@ workflowClient: WorkflowClient; | ||
timerClient: TimerClient; | ||
logger: Logger; | ||
logAgent: LogAgent; | ||
} | ||
@@ -17,4 +18,4 @@ /** | ||
*/ | ||
export declare function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logger, }: TimerHandlerProps): (request: TimerRequest) => Promise<void>; | ||
export declare function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logAgent, }: TimerHandlerProps): (request: TimerRequest) => Promise<void>; | ||
export {}; | ||
//# sourceMappingURL=timer-handler.d.ts.map |
@@ -7,2 +7,3 @@ "use strict"; | ||
const timer_client_js_1 = require("../clients/timer-client.js"); | ||
const log_agent_js_1 = require("../log-agent.js"); | ||
/** | ||
@@ -14,3 +15,3 @@ * Creates a generic function for handling {@link TimerRequest}s | ||
*/ | ||
function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logger, }) { | ||
function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logAgent, }) { | ||
return async (request) => { | ||
@@ -22,3 +23,3 @@ if ((0, timer_client_js_1.isTimerScheduleEventRequest)(request)) { | ||
const activity = await activityRuntimeClient.getActivity(request.executionId, request.activitySeq); | ||
logger.debug(`checking activity for heartbeat timeout: ${JSON.stringify(activity)}`); | ||
logAgent.logWithContext({ type: log_agent_js_1.LogContextType.Execution, executionId: request.executionId }, log_agent_js_1.LogLevel.DEBUG, `checking activity for heartbeat timeout: ${JSON.stringify(activity)}`); | ||
// the activity has not sent a heartbeat or the last time was too long ago. | ||
@@ -54,2 +55,2 @@ // Send the timeout event to the workflow. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ydW50aW1lL2hhbmRsZXJzL3RpbWVyLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUVBSWtDO0FBQ2xDLDJDQUE0QztBQUM1QyxnRUFPb0M7QUFXcEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxFQUNqQyxjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxNQUFNLEdBQ1k7SUFDbEIsT0FBTyxLQUFLLEVBQUUsT0FBcUIsRUFBRSxFQUFFO1FBQ3JDLElBQUksSUFBQSw2Q0FBMkIsRUFBQyxPQUFPLENBQUMsRUFBRTtZQUN4QyxNQUFNLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDckMsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FDZCxDQUFDO1NBQ0g7YUFBTSxJQUFJLElBQUEsbURBQWlDLEVBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckQsTUFBTSxRQUFRLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxXQUFXLENBQ3RELE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxXQUFXLENBQ3BCLENBQUM7WUFFRixNQUFNLENBQUMsS0FBSyxDQUNWLDRDQUE0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ3ZFLENBQUM7WUFFRiwyRUFBMkU7WUFDM0UsMENBQTBDO1lBQzFDLElBQ0UsQ0FBQyxRQUFRLEVBQUUsYUFBYTtnQkFDeEIsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFDeEU7Z0JBQ0EsT0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQ3RDLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLElBQUEsZ0NBQVcsRUFDVDtvQkFDRSxJQUFJLEVBQUUsc0NBQWlCLENBQUMseUJBQXlCO29CQUNqRCxHQUFHLEVBQUUsT0FBTyxDQUFDLFdBQVc7aUJBQ3pCLEVBQ0QsSUFBSSxJQUFJLEVBQUUsQ0FDWCxDQUNGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxxRUFBcUU7Z0JBQ3JFLE1BQU0sV0FBVyxDQUFDLFVBQVUsQ0FBQztvQkFDM0IsSUFBSSxFQUFFLGtDQUFnQixDQUFDLHdCQUF3QjtvQkFDL0MsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO29CQUNoQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7b0JBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7b0JBQzFDLFFBQVEsRUFBRSwwQkFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7aUJBQ3RELENBQUMsQ0FBQzthQUNKO1NBQ0Y7YUFBTTtZQUNMLElBQUEscUJBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFwREQsZ0RBb0RDO0FBRUQsU0FBUyxzQkFBc0IsQ0FDN0IsaUJBQXlCLEVBQ3pCLGdCQUF3QjtJQUV4QixNQUFNLGNBQWMsR0FDbEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRS9ELE9BQU8sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLGNBQWMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCxcbiAgY3JlYXRlRXZlbnQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi4vLi4vd29ya2Zsb3ctZXZlbnRzLmpzXCI7XG5pbXBvcnQgeyBhc3NlcnROZXZlciB9IGZyb20gXCIuLi8uLi91dGlsLmpzXCI7XG5pbXBvcnQge1xuICBpc0FjdGl2aXR5SGVhcnRiZWF0TW9uaXRvclJlcXVlc3QsXG4gIGlzVGltZXJTY2hlZHVsZUV2ZW50UmVxdWVzdCxcbiAgU2NoZWR1bGUsXG4gIFRpbWVyQ2xpZW50LFxuICBUaW1lclJlcXVlc3QsXG4gIFRpbWVyUmVxdWVzdFR5cGUsXG59IGZyb20gXCIuLi9jbGllbnRzL3RpbWVyLWNsaWVudC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd0NsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL3dvcmtmbG93LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlSdW50aW1lQ2xpZW50LCBMb2dnZXIgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcblxuaW50ZXJmYWNlIFRpbWVySGFuZGxlclByb3BzIHtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQ6IEFjdGl2aXR5UnVudGltZUNsaWVudDtcbiAgdGltZXJDbGllbnQ6IFRpbWVyQ2xpZW50O1xuICBsb2dnZXI6IExvZ2dlcjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgaGFuZGxpbmcge0BsaW5rIFRpbWVyUmVxdWVzdH1zXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGltZXJIYW5kbGVyKHtcbiAgd29ya2Zsb3dDbGllbnQsXG4gIGFjdGl2aXR5UnVudGltZUNsaWVudCxcbiAgdGltZXJDbGllbnQsXG4gIGxvZ2dlcixcbn06IFRpbWVySGFuZGxlclByb3BzKSB7XG4gIHJldHVybiBhc3luYyAocmVxdWVzdDogVGltZXJSZXF1ZXN0KSA9PiB7XG4gICAgaWYgKGlzVGltZXJTY2hlZHVsZUV2ZW50UmVxdWVzdChyZXF1ZXN0KSkge1xuICAgICAgYXdhaXQgd29ya2Zsb3dDbGllbnQuc3VibWl0V29ya2Zsb3dUYXNrKFxuICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICByZXF1ZXN0LmV2ZW50XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNBY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3JSZXF1ZXN0KHJlcXVlc3QpKSB7XG4gICAgICBjb25zdCBhY3Rpdml0eSA9IGF3YWl0IGFjdGl2aXR5UnVudGltZUNsaWVudC5nZXRBY3Rpdml0eShcbiAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgcmVxdWVzdC5hY3Rpdml0eVNlcVxuICAgICAgKTtcblxuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgY2hlY2tpbmcgYWN0aXZpdHkgZm9yIGhlYXJ0YmVhdCB0aW1lb3V0OiAke0pTT04uc3RyaW5naWZ5KGFjdGl2aXR5KX1gXG4gICAgICApO1xuXG4gICAgICAvLyB0aGUgYWN0aXZpdHkgaGFzIG5vdCBzZW50IGEgaGVhcnRiZWF0IG9yIHRoZSBsYXN0IHRpbWUgd2FzIHRvbyBsb25nIGFnby5cbiAgICAgIC8vIFNlbmQgdGhlIHRpbWVvdXQgZXZlbnQgdG8gdGhlIHdvcmtmbG93LlxuICAgICAgaWYgKFxuICAgICAgICAhYWN0aXZpdHk/LmhlYXJ0YmVhdFRpbWUgfHxcbiAgICAgICAgaXNIZWFydGJlYXRUaW1lRWxhcHNlZChhY3Rpdml0eS5oZWFydGJlYXRUaW1lLCByZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93Q2xpZW50LnN1Ym1pdFdvcmtmbG93VGFzayhcbiAgICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgIGNyZWF0ZUV2ZW50PEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ+KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0LFxuICAgICAgICAgICAgICBzZXE6IHJlcXVlc3QuYWN0aXZpdHlTZXEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV3IERhdGUoKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGFjdGl2aXR5IGhlYXJ0YmVhdCBoYXMgbm90IHRpbWVkIG91dCwgc3RhcnQgYSBuZXcgbW9uaXRvciBpbnN0YW5jZVxuICAgICAgICBhd2FpdCB0aW1lckNsaWVudC5zdGFydFRpbWVyKHtcbiAgICAgICAgICB0eXBlOiBUaW1lclJlcXVlc3RUeXBlLkFjdGl2aXR5SGVhcnRiZWF0TW9uaXRvcixcbiAgICAgICAgICBhY3Rpdml0eVNlcTogcmVxdWVzdC5hY3Rpdml0eVNlcSxcbiAgICAgICAgICBleGVjdXRpb25JZDogcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICBoZWFydGJlYXRTZWNvbmRzOiByZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMsXG4gICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJlbGF0aXZlKHJlcXVlc3QuaGVhcnRiZWF0U2Vjb25kcyksXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnROZXZlcihyZXF1ZXN0KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzSGVhcnRiZWF0VGltZUVsYXBzZWQoXG4gIGxhc3RIZWFydGJlYXRUaW1lOiBzdHJpbmcsXG4gIGhlYXJ0YmVhdFNlY29uZHM6IG51bWJlclxuKSB7XG4gIGNvbnN0IGR1cmF0aW9uTWlsbGlzID1cbiAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGxhc3RIZWFydGJlYXRUaW1lKS5nZXRUaW1lKCk7XG5cbiAgcmV0dXJuIGhlYXJ0YmVhdFNlY29uZHMgKiAxMDAwIDwgZHVyYXRpb25NaWxsaXM7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ydW50aW1lL2hhbmRsZXJzL3RpbWVyLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUVBSWtDO0FBQ2xDLDJDQUE0QztBQUM1QyxnRUFPb0M7QUFHcEMsa0RBQXFFO0FBU3JFOzs7OztHQUtHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsRUFDakMsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsUUFBUSxHQUNVO0lBQ2xCLE9BQU8sS0FBSyxFQUFFLE9BQXFCLEVBQUUsRUFBRTtRQUNyQyxJQUFJLElBQUEsNkNBQTJCLEVBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQ3JDLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQ2QsQ0FBQztTQUNIO2FBQU0sSUFBSSxJQUFBLG1EQUFpQyxFQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JELE1BQU0sUUFBUSxHQUFHLE1BQU0scUJBQXFCLENBQUMsV0FBVyxDQUN0RCxPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO1lBRUYsUUFBUSxDQUFDLGNBQWMsQ0FDckIsRUFBRSxJQUFJLEVBQUUsNkJBQWMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFDcEUsdUJBQVEsQ0FBQyxLQUFLLEVBQ2QsNENBQTRDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDdkUsQ0FBQztZQUVGLDJFQUEyRTtZQUMzRSwwQ0FBMEM7WUFDMUMsSUFDRSxDQUFDLFFBQVEsRUFBRSxhQUFhO2dCQUN4QixzQkFBc0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN4RTtnQkFDQSxPQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDdEMsT0FBTyxDQUFDLFdBQVcsRUFDbkIsSUFBQSxnQ0FBVyxFQUNUO29CQUNFLElBQUksRUFBRSxzQ0FBaUIsQ0FBQyx5QkFBeUI7b0JBQ2pELEdBQUcsRUFBRSxPQUFPLENBQUMsV0FBVztpQkFDekIsRUFDRCxJQUFJLElBQUksRUFBRSxDQUNYLENBQ0YsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLHFFQUFxRTtnQkFDckUsTUFBTSxXQUFXLENBQUMsVUFBVSxDQUFDO29CQUMzQixJQUFJLEVBQUUsa0NBQWdCLENBQUMsd0JBQXdCO29CQUMvQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7b0JBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztvQkFDaEMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtvQkFDMUMsUUFBUSxFQUFFLDBCQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDdEQsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNO1lBQ0wsSUFBQSxxQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQXRERCxnREFzREM7QUFFRCxTQUFTLHNCQUFzQixDQUM3QixpQkFBeUIsRUFDekIsZ0JBQXdCO0lBRXhCLE1BQU0sY0FBYyxHQUNsQixJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFL0QsT0FBTyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsY0FBYyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0LFxuICBjcmVhdGVFdmVudCxcbiAgV29ya2Zsb3dFdmVudFR5cGUsXG59IGZyb20gXCIuLi8uLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSBcIi4uLy4uL3V0aWwuanNcIjtcbmltcG9ydCB7XG4gIGlzQWN0aXZpdHlIZWFydGJlYXRNb25pdG9yUmVxdWVzdCxcbiAgaXNUaW1lclNjaGVkdWxlRXZlbnRSZXF1ZXN0LFxuICBTY2hlZHVsZSxcbiAgVGltZXJDbGllbnQsXG4gIFRpbWVyUmVxdWVzdCxcbiAgVGltZXJSZXF1ZXN0VHlwZSxcbn0gZnJvbSBcIi4uL2NsaWVudHMvdGltZXItY2xpZW50LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtmbG93Q2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eVJ1bnRpbWVDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9hY3Rpdml0eS1ydW50aW1lLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgTG9nQWdlbnQsIExvZ0NvbnRleHRUeXBlLCBMb2dMZXZlbCB9IGZyb20gXCIuLi9sb2ctYWdlbnQuanNcIjtcblxuaW50ZXJmYWNlIFRpbWVySGFuZGxlclByb3BzIHtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQ6IEFjdGl2aXR5UnVudGltZUNsaWVudDtcbiAgdGltZXJDbGllbnQ6IFRpbWVyQ2xpZW50O1xuICBsb2dBZ2VudDogTG9nQWdlbnQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGdlbmVyaWMgZnVuY3Rpb24gZm9yIGhhbmRsaW5nIHtAbGluayBUaW1lclJlcXVlc3R9c1xuICogdGhhdCBjYW4gYmUgdXNlZCBpbiBydW50aW1lIGltcGxlbWVudGF0aW9ucy4gVGhpcyBpbXBsZW1lbnRhdGlvbiBpc1xuICogZGVjb3VwbGVkIGZyb20gYSBydW50aW1lJ3Mgc3BlY2lmaWNzIGJ5IHRoZSBjbGllbnRzLiBBIHJ1bnRpbWUgbXVzdFxuICogaW5qZWN0IGl0cyBvd24gY2xpZW50IGltcGxlbWVudGF0aW9ucyBkZXNpZ25lZCBmb3IgdGhhdCBwbGF0Zm9ybS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRpbWVySGFuZGxlcih7XG4gIHdvcmtmbG93Q2xpZW50LFxuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQsXG4gIHRpbWVyQ2xpZW50LFxuICBsb2dBZ2VudCxcbn06IFRpbWVySGFuZGxlclByb3BzKSB7XG4gIHJldHVybiBhc3luYyAocmVxdWVzdDogVGltZXJSZXF1ZXN0KSA9PiB7XG4gICAgaWYgKGlzVGltZXJTY2hlZHVsZUV2ZW50UmVxdWVzdChyZXF1ZXN0KSkge1xuICAgICAgYXdhaXQgd29ya2Zsb3dDbGllbnQuc3VibWl0V29ya2Zsb3dUYXNrKFxuICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICByZXF1ZXN0LmV2ZW50XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNBY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3JSZXF1ZXN0KHJlcXVlc3QpKSB7XG4gICAgICBjb25zdCBhY3Rpdml0eSA9IGF3YWl0IGFjdGl2aXR5UnVudGltZUNsaWVudC5nZXRBY3Rpdml0eShcbiAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgcmVxdWVzdC5hY3Rpdml0eVNlcVxuICAgICAgKTtcblxuICAgICAgbG9nQWdlbnQubG9nV2l0aENvbnRleHQoXG4gICAgICAgIHsgdHlwZTogTG9nQ29udGV4dFR5cGUuRXhlY3V0aW9uLCBleGVjdXRpb25JZDogcmVxdWVzdC5leGVjdXRpb25JZCB9LFxuICAgICAgICBMb2dMZXZlbC5ERUJVRyxcbiAgICAgICAgYGNoZWNraW5nIGFjdGl2aXR5IGZvciBoZWFydGJlYXQgdGltZW91dDogJHtKU09OLnN0cmluZ2lmeShhY3Rpdml0eSl9YFxuICAgICAgKTtcblxuICAgICAgLy8gdGhlIGFjdGl2aXR5IGhhcyBub3Qgc2VudCBhIGhlYXJ0YmVhdCBvciB0aGUgbGFzdCB0aW1lIHdhcyB0b28gbG9uZyBhZ28uXG4gICAgICAvLyBTZW5kIHRoZSB0aW1lb3V0IGV2ZW50IHRvIHRoZSB3b3JrZmxvdy5cbiAgICAgIGlmIChcbiAgICAgICAgIWFjdGl2aXR5Py5oZWFydGJlYXRUaW1lIHx8XG4gICAgICAgIGlzSGVhcnRiZWF0VGltZUVsYXBzZWQoYWN0aXZpdHkuaGVhcnRiZWF0VGltZSwgcmVxdWVzdC5oZWFydGJlYXRTZWNvbmRzKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB3b3JrZmxvd0NsaWVudC5zdWJtaXRXb3JrZmxvd1Rhc2soXG4gICAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICBjcmVhdGVFdmVudDxBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0PihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCxcbiAgICAgICAgICAgICAgc2VxOiByZXF1ZXN0LmFjdGl2aXR5U2VxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldyBEYXRlKClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBhY3Rpdml0eSBoZWFydGJlYXQgaGFzIG5vdCB0aW1lZCBvdXQsIHN0YXJ0IGEgbmV3IG1vbml0b3IgaW5zdGFuY2VcbiAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuc3RhcnRUaW1lcih7XG4gICAgICAgICAgdHlwZTogVGltZXJSZXF1ZXN0VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3IsXG4gICAgICAgICAgYWN0aXZpdHlTZXE6IHJlcXVlc3QuYWN0aXZpdHlTZXEsXG4gICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgaGVhcnRiZWF0U2Vjb25kczogcmVxdWVzdC5oZWFydGJlYXRTZWNvbmRzLFxuICAgICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShyZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0TmV2ZXIocmVxdWVzdCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0hlYXJ0YmVhdFRpbWVFbGFwc2VkKFxuICBsYXN0SGVhcnRiZWF0VGltZTogc3RyaW5nLFxuICBoZWFydGJlYXRTZWNvbmRzOiBudW1iZXJcbikge1xuICBjb25zdCBkdXJhdGlvbk1pbGxpcyA9XG4gICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShsYXN0SGVhcnRiZWF0VGltZSkuZ2V0VGltZSgpO1xuXG4gIHJldHVybiBoZWFydGJlYXRTZWNvbmRzICogMTAwMCA8IGR1cmF0aW9uTWlsbGlzO1xufVxuIl19 |
@@ -6,3 +6,2 @@ export * from "./clients/index.js"; | ||
export * from "./handlers/index.js"; | ||
export * from "./logger.js"; | ||
export * from "./command-executor.js"; | ||
@@ -12,2 +11,4 @@ export * from "./metrics/index.js"; | ||
export * from "./providers/index.js"; | ||
export * from "./log-agent.js"; | ||
export * from "./console-hook.js"; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -22,3 +22,2 @@ "use strict"; | ||
__exportStar(require("./handlers/index.js"), exports); | ||
__exportStar(require("./logger.js"), exports); | ||
__exportStar(require("./command-executor.js"), exports); | ||
@@ -28,2 +27,4 @@ __exportStar(require("./metrics/index.js"), exports); | ||
__exportStar(require("./providers/index.js"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLG9EQUFrQztBQUNsQyw2Q0FBMkI7QUFDM0Isc0RBQW9DO0FBQ3BDLHNEQUFvQztBQUNwQyw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLHFEQUFtQztBQUNuQyw2Q0FBMkI7QUFDM0IsdURBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50cy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uLWlkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mbGFncy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWN0aXZpdHktdG9rZW4uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hhbmRsZXJzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmQtZXhlY3V0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21ldHJpY3MvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm92aWRlcnMvaW5kZXguanNcIjtcbiJdfQ== | ||
__exportStar(require("./log-agent.js"), exports); | ||
__exportStar(require("./console-hook.js"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLG9EQUFrQztBQUNsQyw2Q0FBMkI7QUFDM0Isc0RBQW9DO0FBQ3BDLHNEQUFvQztBQUNwQyx3REFBc0M7QUFDdEMscURBQW1DO0FBQ25DLDZDQUEyQjtBQUMzQix1REFBcUM7QUFDckMsaURBQStCO0FBQy9CLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudHMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi1pZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmxhZ3MuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5LXRva2VuLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oYW5kbGVycy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZC1leGVjdXRvci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0cmljcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVycy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nLWFnZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zb2xlLWhvb2suanNcIjtcbiJdfQ== |
@@ -105,2 +105,6 @@ export declare namespace MetricsCommon { | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
const ExecutionLogWriteDuration = "ExecutionLogWriteMillis"; | ||
/** | ||
* 1 when a workflow has a timeout and 0 when it does not. | ||
@@ -164,2 +168,6 @@ */ | ||
const SubmitWorkflowTaskDuration = "SubmitWorkflowTaskDuration"; | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
const ActivityLogWriteDuration = "ActivityLogWriteMillis"; | ||
} | ||
@@ -166,0 +174,0 @@ export declare namespace SchedulerForwarderMetrics { |
@@ -111,2 +111,6 @@ "use strict"; | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
OrchestratorMetrics.ExecutionLogWriteDuration = "ExecutionLogWriteMillis"; | ||
/** | ||
* 1 when a workflow has a timeout and 0 when it does not. | ||
@@ -171,2 +175,6 @@ */ | ||
ActivityMetrics.SubmitWorkflowTaskDuration = "SubmitWorkflowTaskDuration"; | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
ActivityMetrics.ActivityLogWriteDuration = "ActivityLogWriteMillis"; | ||
})(ActivityMetrics = exports.ActivityMetrics || (exports.ActivityMetrics = {})); | ||
@@ -184,2 +192,2 @@ var SchedulerForwarderMetrics; | ||
})(SchedulerForwarderMetrics = exports.SchedulerForwarderMetrics || (exports.SchedulerForwarderMetrics = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvbWV0cmljcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQW9EO0FBQ3BELElBQWlCLGFBQWEsQ0FHN0I7QUFIRCxXQUFpQixhQUFhO0lBQ2YsK0JBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQy9CLG1DQUFxQixHQUFHLGNBQWMsQ0FBQztBQUN0RCxDQUFDLEVBSGdCLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBRzdCO0FBRUQsSUFBaUIsbUJBQW1CLENBMkduQztBQTNHRCxXQUFpQixtQkFBbUI7SUFDbEM7O09BRUc7SUFDVSw4QkFBVSxHQUFHLFlBQVksQ0FBQztJQUN2Qzs7T0FFRztJQUNVLG1DQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDakQ7O09BRUc7SUFDVSwrQkFBVyxHQUFHLGFBQWEsQ0FBQztJQUN6Qzs7T0FFRztJQUNVLDJCQUFPLEdBQUcsU0FBUyxDQUFDO0lBQ3BCLDZCQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzlCOzs7O09BSUc7SUFDVSw4QkFBVSxHQUFHLFlBQVksQ0FBQztJQUN2Qzs7T0FFRztJQUNVLHVDQUFtQixHQUFHLHFCQUFxQixDQUFDO0lBQ3pEOztPQUVHO0lBQ1UsdUNBQW1CLEdBQUcscUJBQXFCLENBQUM7SUFDekQ7O09BRUc7SUFDVSw0Q0FBd0IsR0FBRywwQkFBMEIsQ0FBQztJQUNuRTs7T0FFRztJQUNVLDBDQUFzQixHQUFHLHdCQUF3QixDQUFDO0lBQy9EOztPQUVHO0lBQ1UsMENBQXNCLEdBQUcsd0JBQXdCLENBQUM7SUFDL0Q7O09BRUc7SUFDVSxtQ0FBZSxHQUFHLGlCQUFpQixDQUFDO0lBQ2pEOzs7OztPQUtHO0lBQ1UseUNBQXFCLEdBQUcsdUJBQXVCLENBQUM7SUFDN0Q7O09BRUc7SUFDVSx1Q0FBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN6RDs7T0FFRztJQUNVLHNDQUFrQixHQUFHLG9CQUFvQixDQUFDO0lBQ3ZEOztPQUVHO0lBQ1UscUNBQWlCLEdBQUcsbUJBQW1CLENBQUM7SUFDckQ7O09BRUc7SUFDVSxpREFBNkIsR0FBRywrQkFBK0IsQ0FBQztJQUM3RTs7T0FFRztJQUNVLGlEQUE2QixHQUFHLCtCQUErQixDQUFDO0lBQzdFOztPQUVHO0lBQ1Usc0NBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSxxQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7T0FFRztJQUNVLG1DQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDakQ7O09BRUc7SUFDVSwwQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztJQUMvRDs7T0FFRztJQUNVLHdDQUFvQixHQUFHLHNCQUFzQixDQUFDO0lBQzNEOztPQUVHO0lBQ1UsdUNBQW1CLEdBQUcscUJBQXFCLENBQUM7SUFDekQ7O09BRUc7SUFDVSxrQ0FBYyxHQUFHLGdCQUFnQixDQUFDO0lBQy9DOztPQUVHO0lBQ1UsMENBQXNCLEdBQUcsd0JBQXdCLENBQUM7QUFDakUsQ0FBQyxFQTNHZ0IsbUJBQW1CLEdBQW5CLDJCQUFtQixLQUFuQiwyQkFBbUIsUUEyR25DO0FBRUQsSUFBaUIsZUFBZSxDQWtEL0I7QUFsREQsV0FBaUIsZUFBZTtJQUM5Qjs7T0FFRztJQUNVLGtDQUFrQixHQUFHLG9CQUFvQixDQUFDO0lBQ3ZEOztPQUVHO0lBQ1UsNkJBQWEsR0FBRyxlQUFlLENBQUM7SUFDN0M7O09BRUc7SUFDVSw2QkFBYSxHQUFHLGVBQWUsQ0FBQztJQUM3Qzs7T0FFRztJQUNVLDZCQUFhLEdBQUcsZUFBZSxDQUFDO0lBQzdDOztPQUVHO0lBQ1UsaUNBQWlCLEdBQUcsbUJBQW1CLENBQUM7SUFDckQ7O09BRUc7SUFDVSx5QkFBUyxHQUFHLFdBQVcsQ0FBQztJQUNyQzs7T0FFRztJQUNVLDJCQUFXLEdBQUcsYUFBYSxDQUFDO0lBQ3pDOztPQUVHO0lBQ1UsMkJBQVcsR0FBRyxhQUFhLENBQUM7SUFDekM7O09BRUc7SUFDVSw4QkFBYyxHQUFHLGdCQUFnQixDQUFDO0lBQy9DOztPQUVHO0lBQ1UsaUNBQWlCLEdBQUcsbUJBQW1CLENBQUM7SUFDckQ7OztPQUdHO0lBQ1UsNkJBQWEsR0FBRyxlQUFlLENBQUM7SUFDN0M7O09BRUc7SUFDVSwwQ0FBMEIsR0FBRyw0QkFBNEIsQ0FBQztBQUN6RSxDQUFDLEVBbERnQixlQUFlLEdBQWYsdUJBQWUsS0FBZix1QkFBZSxRQWtEL0I7QUFFRCxJQUFpQix5QkFBeUIsQ0FTekM7QUFURCxXQUFpQix5QkFBeUI7SUFDeEM7O09BRUc7SUFDVSw0Q0FBa0IsR0FBRyxvQkFBb0IsQ0FBQztJQUN2RDs7T0FFRztJQUNVLGdEQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2pFLENBQUMsRUFUZ0IseUJBQXlCLEdBQXpCLGlDQUF5QixLQUF6QixpQ0FBeUIsUUFTekMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG5leHBvcnQgbmFtZXNwYWNlIE1ldHJpY3NDb21tb24ge1xuICBleHBvcnQgY29uc3QgRXZlbnR1YWxOYW1lc3BhY2UgPSBcIkV2ZW50dWFsXCI7XG4gIGV4cG9ydCBjb25zdCBXb3JrZmxvd05hbWVEaW1lbnNpb24gPSBcIldvcmtmbG93TmFtZVwiO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE9yY2hlc3RyYXRvck1ldHJpY3Mge1xuICAvKipcbiAgICogTnVtYmVyIG9mIGV2ZW50cyB3aGljaCB3ZXJlIGRlbGl2ZXJlZCB3aXRoIHRoZSBjdXJyZW50IGJhdGNoIG9mIHtAbGluayBXb3JrZmxvd1Rhc2t9cy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUYXNrRXZlbnRzID0gXCJUYXNrRXZlbnRzXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygd29ya2Zsb3cgdGFza3MgYmVpbmcgYmF0Y2ggZXhlY3V0ZWQgYnkgdGhlIG9yY2hlc3RyYXRvciBmb3IgYW4gZXhlY3V0aW9uIGlkLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFnZ3JlZ2F0ZWRUYXNrcyA9IFwiQWdncmVnYXRlZFRhc2tzXCI7XG4gIC8qKlxuICAgKiBFeGVjdXRpb24gSUQgb2YgdGhlIHtAbGluayBXb3JrZmxvd1Rhc2t9cyBiZWluZyBldmFsdWF0ZWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uSWQgPSBcIkV4ZWN1dGlvbklkXCI7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBvcmNoZXN0cmF0b3IuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVmVyc2lvbiA9IFwiVmVyc2lvblwiO1xuICBleHBvcnQgY29uc3QgVmVyc2lvblYxID0gXCJ2MVwiO1xuICAvKipcbiAgICogVGhlIGdyZWF0ZXN0IGFtb3VudCBvZiB0aW1lIGEge0BsaW5rIFdvcmtmbG93VGFza30gYmVpbmcgcHJvY2Vzc2VkIGhhcyB3YWl0ZWQgaW4gdGhlIFdvcmtmbG93IFF1ZXVlLlxuICAgKlxuICAgKiBVc2VkIHRvIGRldGVybWluZSB3aGVuIHRoZSB3b3JrZmxvdyBxdWV1ZSBpcyBmYWxsaW5nIGJlaGluZCAobWF4VGFza0FnZSBpcyBncm93aW5nKS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBNYXhUYXNrQWdlID0gXCJNYXhUYXNrQWdlXCI7XG4gIC8qKlxuICAgKiBUaGUgdGltZSBpdCB0YWtlcyB0byBsb2FkIGhpc3RvcnkgZGF0YSBmcm9tIFMzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IExvYWRIaXN0b3J5RHVyYXRpb24gPSBcIkxvYWRIaXN0b3J5RHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZXZlbnRzIHByZXNlbnQgaW4gdGhlIGhpc3RvcnkgZmlsZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBMb2FkZWRIaXN0b3J5RXZlbnRzID0gXCJMb2FkZWRIaXN0b3J5RXZlbnRzXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdGFrZXMgdG8gcnVuIHRoZSB3b3JrZmxvdyBjb2RlIHRvIHByb2dyZXNzIHRoZSB7QGxpbmsgRXhlY3V0aW9ufS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBZHZhbmNlRXhlY3V0aW9uRHVyYXRpb24gPSBcIkFkdmFuY2VFeGVjdXRpb25EdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBldmVudHMgc3VibWl0dGVkIHRvIHRoZSB3b3JrZmxvdyBjb2RlIHRvIHJlcGxheSBhbmQgYWR2YW5jZSB0aGUge0BsaW5rIEV4ZWN1dGlvbn0uXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWR2YW5jZUV4ZWN1dGlvbkV2ZW50cyA9IFwiQWR2YW5jZUV4ZWN1dGlvbkV2ZW50c1wiO1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRvIHN0YXJ0IGFsbCBvZiB0aGUgY29tbWFuZHMgcmV0dXJuZWQgYnkgdGhlIHdvcmtmbG93IGNvZGUuXG4gICAqL1xuICBleHBvcnQgY29uc3QgSW52b2tlQ29tbWFuZHNEdXJhdGlvbiA9IFwiSW52b2tlQ29tbWFuZHNEdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb21tYW5kcyByZXR1cm5lZCBieSB0aGUgd29ya2Zsb3cuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQ29tbWFuZHNJbnZva2VkID0gXCJDb21tYW5kc0ludm9rZWRcIjtcbiAgLyoqXG4gICAqIFRyYWNrcyB0aGUgdGltZSBpdCB0YWtlcyBmb3IgYSB3b3JrZmxvdyB0YXNrIHRvIGJlIHNjaGVkdWxlZCB1bnRpbCBuZXcgY29tbWFuZHMgY291bGQgYmUgZW1pdHRlZC5cbiAgICogVGhpcyByZXByZXNlbnQgdGhlIHdvcmtmbG93IG9yY2hlc3RyYXRpb24gdGltZSBvZiBVc2VyIFBlcmNlaXZlZCBMYXRlbmN5XG4gICAqIEF2ZXJhZ2UgZXhwZWN0ZWQgdGltZSBmb3IgYW4gYWN0aXZpdHkgdG8gYmUgaW52b2tlZCB1bnRpbCBpdCBpcyBjb25zaWRlcmVkIGNvbXBsZXRlIGJ5IHRoZSB3b3JrZmxvdyBzaG91bGQgZm9sbG93OlxuICAgKiBBdmdBY3Rpdml0eUR1cmF0aW9uKE4pID0gQXZnKFRpbWVUb0NvbW1hbmRzSW52b2tlZCkgKyBBdmcoQWN0aXZpdHlEdXJhdGlvbihOKSlcbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lVG9Db21tYW5kc0ludm9rZWQgPSBcIlRpbWVUb0NvbW1hbmRzSW52b2tlZFwiO1xuICAvKipcbiAgICogQW1vdW50IG9mIHRpbWUgaXQgdGFrZXMgdG8gd3JpdGUgaGlzdG9yeSBiYWNrIHRvIHMzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFNhdmVIaXN0b3J5RHVyYXRpb24gPSBcIlNhdmVIaXN0b3J5RHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBldmVudHMgd3JpdHRlbiB0byBzMy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTYXZlZEhpc3RvcnlFdmVudHMgPSBcIlNhdmVkSGlzdG9yeUV2ZW50c1wiO1xuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgaGlzdG9yeSBmbGUgd3JpdHRlbiBpbiBieXRlcy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTYXZlZEhpc3RvcnlCeXRlcyA9IFwiU2F2ZWRIaXN0b3J5Qnl0ZXNcIjtcbiAgLyoqXG4gICAqIEFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRvIHVwZGF0ZSB0aGUgd29ya2Zsb3cgZW50cnkgd2l0aCBhIENvbXBsZXRlIG9yIEZhaWxlZCBzdGF0dXMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uU3RhdHVzVXBkYXRlRHVyYXRpb24gPSBcIkV4ZWN1dGlvblN0YXR1c1VwZGF0ZUR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBBbW91bnQgb2YgdGltZSBpdCB0YWtlIHRvIGFkZCBuZXdseSBnZW5lcmF0ZWQgZXZlbnRzIHRvIGR5bmFtby5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBZGROZXdFeGVjdXRpb25FdmVudHNEdXJhdGlvbiA9IFwiQWRkTmV3RXhlY3V0aW9uRXZlbnRzRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBuZXcgZXZlbnRzIGdlbmVyYXRlZCBldmFsdWF0aW5nIHRoZSBjdXJyZW50IFdvcmtmbG93IFRhc2tzIGJhdGNoLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE5ld0V4ZWN1dGlvbkV2ZW50cyA9IFwiTmV3RXhlY3V0aW9uRXZlbnRzXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBleGVjdXRpb24gY29tcGxldGVkIHdpdGhvdXQgZXJyb3IuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uQ29tcGxldGUgPSBcIkV4ZWN1dGlvbkNvbXBsZXRlXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBleGVjdXRpb24gY29tcGxldGVkIHdpdGggYW4gZXJyb3IuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uRmFpbGVkID0gXCJFeGVjdXRpb25GYWlsZWRcIjtcbiAgLyoqXG4gICAqIFRvdGFsIHRpbWUgaXQgdG9vayB0aGUgd29ya2Zsb3cgdG8gY29tcGxldGUuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uVG90YWxEdXJhdGlvbiA9IFwiRXhlY3V0aW9uVG90YWxEdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHdvcmtmbG93IHJlc3VsdCBpbiBieXRlcy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25SZXN1bHRCeXRlcyA9IFwiRXhlY3V0aW9uUmVzdWx0Qnl0ZXNcIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBtaWxsaXNlY29uZHMgYmV0d2VlbiB0aGUgZXhwZWN0ZWQgc2xlZXAgd2FrZXVwIHRpbWUgYW5kIHRoZSBhY3R1YWwgaW5jb21pbmcge0BsaW5rIFNsZWVwQ29tcGxldGVkfSBldmVudC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTbGVlcFZhcmlhbmNlTWlsbGlzID0gXCJTbGVlcFZhcmlhbmNlTWlsbGlzXCI7XG4gIC8qKlxuICAgKiAxIHdoZW4gYSB3b3JrZmxvdyBoYXMgYSB0aW1lb3V0IGFuZCAwIHdoZW4gaXQgZG9lcyBub3QuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVGltZW91dFN0YXJ0ZWQgPSBcIlRpbWVvdXRTdGFydGVkXCI7XG4gIC8qKlxuICAgKiBXaGVuIGEgd29ya2Zsb3cgaGFzIGEgdGltZW91dCwgbWVhc3VyZXMgdGhlIHRpbWUgaXQgdGFrZXMgdG8gc3RhcnQgdGhlIHRpbWVvdXQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVGltZW91dFN0YXJ0ZWREdXJhdGlvbiA9IFwiVGltZW91dFN0YXJ0ZWREdXJhdGlvblwiO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5TWV0cmljcyB7XG4gIC8qKlxuICAgKiBUaGUgYWdlIG9mIHRoZSByZXF1ZXN0LCBvciB0aGUgdGltZSBmcm9tIHdoZW4gaXQgd2FzIHNlbnQgdG8gd2hlbiBpdCB3YXMgc3RhcnRlZCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFjdGl2aXR5UmVxdWVzdEFnZSA9IFwiQWN0aXZpdHlSZXF1ZXN0QWdlXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdG9vayB0byBjbGFpbSAobG9jaykgdGhlIGFjdGl2aXR5IHRvIGVuZm9yY2UgZXhhY3RseSBvbmNlIHByb2Nlc3NpbmcuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQ2xhaW1EdXJhdGlvbiA9IFwiQ2xhaW1EdXJhdGlvblwiO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIGFjdGl2aXR5IGludm9jYXRpb24gd2FzIHJlamVjdGVkIHdoZW4gY2xhaW1pbmcgdGhlIGFjdGl2aXR5LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IENsYWltUmVqZWN0ZWQgPSBcIkNsYWltUmVqZWN0ZWRcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYW4gZXJyb3Igd2FzIHRocm93biB0aGF0IHRoZSBhY3Rpdml0eSBuYW1lIGNvdWxkIG5vdCBiZSBmb3VuZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBOb3RGb3VuZEVycm9yID0gXCJOb3RGb3VuZEVycm9yXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdG9vayB0byBydW4gdGhlIGFjdGl2aXR5J3MgY29kZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBPcGVyYXRpb25EdXJhdGlvbiA9IFwiT3BlcmF0aW9uRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBhY3Rpdml0eSByZXR1cm5lZCBhIHJlc3VsdCBvciBub3Qgb24gY29tcGxldGlvbi5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBIYXNSZXN1bHQgPSBcIkhhc1Jlc3VsdFwiO1xuICAvKipcbiAgICogUmV0dXJuZWQge0BsaW5rIGFzeW5jUmVzdWx0fS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBc3luY1Jlc3VsdCA9IFwiQXN5bmNSZXN1bHRcIjtcbiAgLyoqXG4gICAqIFRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSByZXN1bHQgZ2VuZXJhdGVkIGJ5IHRoZSBhY3Rpdml0eSwgaWYgb25lIHdhcyBnZW5lcmF0ZWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgUmVzdWx0Qnl0ZXMgPSBcIlJlc3VsdEJ5dGVzXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpdml0eSBjb21wbGV0ZWQgd2l0aCBlcnJvcnMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWN0aXZpdHlGYWlsZWQgPSBcIkFjdGl2aXR5RmFpbGVkXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpdml0eSBjb21wbGV0ZWQgd2l0aG91dCBlcnJvci5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBY3Rpdml0eVN1Y2NlZWRlZCA9IFwiQWN0aXZpdHlTdWNjZWVkZWRcIjtcbiAgLyoqXG4gICAqIFRoZSB0b3RhbCBkdXJhdGlvbiBvZiB0aGUgYWN0aXZpdHkgYWZ0ZXIgYmVpbmcgc2NoZWR1bGVkLCBpbmNsdWRpbmcgdGhlIHRpbWVcbiAgICogd2FpdGluZyB0byBiZSBleGVjdXRlZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUb3RhbER1cmF0aW9uID0gXCJUb3RhbER1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBhbW91bnQgb2YgdGltZSBpdCB0b29rIHRvIHN1Ym1pdCBhIHdvcmtmbG93IHRhc2sgdG8gU1FTIHRvIHJlc3VtZSB0aGUgd29ya2Zsb3cuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU3VibWl0V29ya2Zsb3dUYXNrRHVyYXRpb24gPSBcIlN1Ym1pdFdvcmtmbG93VGFza0R1cmF0aW9uXCI7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2NoZWR1bGVyRm9yd2FyZGVyTWV0cmljcyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZSBiZXR3ZWVuIHRoZSBzY2hlZHVsZXIgdHJpZ2dlciB0aW1lIGFuZCB0aGUgU2NoZWR1bGVyIEZvcndhcmRlciBzZWVpbmcgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU2NoZWR1bGVyVGltZURlbGF5ID0gXCJTY2hlZHVsZXJUaW1lRGVsYXlcIjtcbiAgLyoqXG4gICAqIFNlY29uZHMgdGhlIHRpbWVyIHF1ZXVlIGlzIHRvbGQgdG8gd2FpdCB1bnRpbCBoYW5kbGluZyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lclF1ZXVlRGVsYXlTZWNvbmRzID0gXCJUaW1lclF1ZXVlRGVsYXlTZWNvbmRzXCI7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvbWV0cmljcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQW9EO0FBQ3BELElBQWlCLGFBQWEsQ0FHN0I7QUFIRCxXQUFpQixhQUFhO0lBQ2YsK0JBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQy9CLG1DQUFxQixHQUFHLGNBQWMsQ0FBQztBQUN0RCxDQUFDLEVBSGdCLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBRzdCO0FBRUQsSUFBaUIsbUJBQW1CLENBK0duQztBQS9HRCxXQUFpQixtQkFBbUI7SUFDbEM7O09BRUc7SUFDVSw4QkFBVSxHQUFHLFlBQVksQ0FBQztJQUN2Qzs7T0FFRztJQUNVLG1DQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDakQ7O09BRUc7SUFDVSwrQkFBVyxHQUFHLGFBQWEsQ0FBQztJQUN6Qzs7T0FFRztJQUNVLDJCQUFPLEdBQUcsU0FBUyxDQUFDO0lBQ3BCLDZCQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzlCOzs7O09BSUc7SUFDVSw4QkFBVSxHQUFHLFlBQVksQ0FBQztJQUN2Qzs7T0FFRztJQUNVLHVDQUFtQixHQUFHLHFCQUFxQixDQUFDO0lBQ3pEOztPQUVHO0lBQ1UsdUNBQW1CLEdBQUcscUJBQXFCLENBQUM7SUFDekQ7O09BRUc7SUFDVSw0Q0FBd0IsR0FBRywwQkFBMEIsQ0FBQztJQUNuRTs7T0FFRztJQUNVLDBDQUFzQixHQUFHLHdCQUF3QixDQUFDO0lBQy9EOztPQUVHO0lBQ1UsMENBQXNCLEdBQUcsd0JBQXdCLENBQUM7SUFDL0Q7O09BRUc7SUFDVSxtQ0FBZSxHQUFHLGlCQUFpQixDQUFDO0lBQ2pEOzs7OztPQUtHO0lBQ1UseUNBQXFCLEdBQUcsdUJBQXVCLENBQUM7SUFDN0Q7O09BRUc7SUFDVSx1Q0FBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN6RDs7T0FFRztJQUNVLHNDQUFrQixHQUFHLG9CQUFvQixDQUFDO0lBQ3ZEOztPQUVHO0lBQ1UscUNBQWlCLEdBQUcsbUJBQW1CLENBQUM7SUFDckQ7O09BRUc7SUFDVSxpREFBNkIsR0FBRywrQkFBK0IsQ0FBQztJQUM3RTs7T0FFRztJQUNVLGlEQUE2QixHQUFHLCtCQUErQixDQUFDO0lBQzdFOztPQUVHO0lBQ1Usc0NBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSxxQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7T0FFRztJQUNVLG1DQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDakQ7O09BRUc7SUFDVSwwQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztJQUMvRDs7T0FFRztJQUNVLHdDQUFvQixHQUFHLHNCQUFzQixDQUFDO0lBQzNEOztPQUVHO0lBQ1UsdUNBQW1CLEdBQUcscUJBQXFCLENBQUM7SUFDekQ7O09BRUc7SUFDVSw2Q0FBeUIsR0FBRyx5QkFBeUIsQ0FBQztJQUNuRTs7T0FFRztJQUNVLGtDQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFDL0M7O09BRUc7SUFDVSwwQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNqRSxDQUFDLEVBL0dnQixtQkFBbUIsR0FBbkIsMkJBQW1CLEtBQW5CLDJCQUFtQixRQStHbkM7QUFFRCxJQUFpQixlQUFlLENBc0QvQjtBQXRERCxXQUFpQixlQUFlO0lBQzlCOztPQUVHO0lBQ1Usa0NBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSw2QkFBYSxHQUFHLGVBQWUsQ0FBQztJQUM3Qzs7T0FFRztJQUNVLDZCQUFhLEdBQUcsZUFBZSxDQUFDO0lBQzdDOztPQUVHO0lBQ1UsNkJBQWEsR0FBRyxlQUFlLENBQUM7SUFDN0M7O09BRUc7SUFDVSxpQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7T0FFRztJQUNVLHlCQUFTLEdBQUcsV0FBVyxDQUFDO0lBQ3JDOztPQUVHO0lBQ1UsMkJBQVcsR0FBRyxhQUFhLENBQUM7SUFDekM7O09BRUc7SUFDVSwyQkFBVyxHQUFHLGFBQWEsQ0FBQztJQUN6Qzs7T0FFRztJQUNVLDhCQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFDL0M7O09BRUc7SUFDVSxpQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7O09BR0c7SUFDVSw2QkFBYSxHQUFHLGVBQWUsQ0FBQztJQUM3Qzs7T0FFRztJQUNVLDBDQUEwQixHQUFHLDRCQUE0QixDQUFDO0lBQ3ZFOztPQUVHO0lBQ1Usd0NBQXdCLEdBQUcsd0JBQXdCLENBQUM7QUFDbkUsQ0FBQyxFQXREZ0IsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFzRC9CO0FBRUQsSUFBaUIseUJBQXlCLENBU3pDO0FBVEQsV0FBaUIseUJBQXlCO0lBQ3hDOztPQUVHO0lBQ1UsNENBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSxnREFBc0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNqRSxDQUFDLEVBVGdCLHlCQUF5QixHQUF6QixpQ0FBeUIsS0FBekIsaUNBQXlCLFFBU3pDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuZXhwb3J0IG5hbWVzcGFjZSBNZXRyaWNzQ29tbW9uIHtcbiAgZXhwb3J0IGNvbnN0IEV2ZW50dWFsTmFtZXNwYWNlID0gXCJFdmVudHVhbFwiO1xuICBleHBvcnQgY29uc3QgV29ya2Zsb3dOYW1lRGltZW5zaW9uID0gXCJXb3JrZmxvd05hbWVcIjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBPcmNoZXN0cmF0b3JNZXRyaWNzIHtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBldmVudHMgd2hpY2ggd2VyZSBkZWxpdmVyZWQgd2l0aCB0aGUgY3VycmVudCBiYXRjaCBvZiB7QGxpbmsgV29ya2Zsb3dUYXNrfXMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVGFza0V2ZW50cyA9IFwiVGFza0V2ZW50c1wiO1xuICAvKipcbiAgICogTnVtYmVyIG9mIHdvcmtmbG93IHRhc2tzIGJlaW5nIGJhdGNoIGV4ZWN1dGVkIGJ5IHRoZSBvcmNoZXN0cmF0b3IgZm9yIGFuIGV4ZWN1dGlvbiBpZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBZ2dyZWdhdGVkVGFza3MgPSBcIkFnZ3JlZ2F0ZWRUYXNrc1wiO1xuICAvKipcbiAgICogRXhlY3V0aW9uIElEIG9mIHRoZSB7QGxpbmsgV29ya2Zsb3dUYXNrfXMgYmVpbmcgZXZhbHVhdGVkLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvbklkID0gXCJFeGVjdXRpb25JZFwiO1xuICAvKipcbiAgICogVmVyc2lvbiBvZiB0aGUgb3JjaGVzdHJhdG9yLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFZlcnNpb24gPSBcIlZlcnNpb25cIjtcbiAgZXhwb3J0IGNvbnN0IFZlcnNpb25WMSA9IFwidjFcIjtcbiAgLyoqXG4gICAqIFRoZSBncmVhdGVzdCBhbW91bnQgb2YgdGltZSBhIHtAbGluayBXb3JrZmxvd1Rhc2t9IGJlaW5nIHByb2Nlc3NlZCBoYXMgd2FpdGVkIGluIHRoZSBXb3JrZmxvdyBRdWV1ZS5cbiAgICpcbiAgICogVXNlZCB0byBkZXRlcm1pbmUgd2hlbiB0aGUgd29ya2Zsb3cgcXVldWUgaXMgZmFsbGluZyBiZWhpbmQgKG1heFRhc2tBZ2UgaXMgZ3Jvd2luZykuXG4gICAqL1xuICBleHBvcnQgY29uc3QgTWF4VGFza0FnZSA9IFwiTWF4VGFza0FnZVwiO1xuICAvKipcbiAgICogVGhlIHRpbWUgaXQgdGFrZXMgdG8gbG9hZCBoaXN0b3J5IGRhdGEgZnJvbSBTMy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBMb2FkSGlzdG9yeUR1cmF0aW9uID0gXCJMb2FkSGlzdG9yeUR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGV2ZW50cyBwcmVzZW50IGluIHRoZSBoaXN0b3J5IGZpbGUuXG4gICAqL1xuICBleHBvcnQgY29uc3QgTG9hZGVkSGlzdG9yeUV2ZW50cyA9IFwiTG9hZGVkSGlzdG9yeUV2ZW50c1wiO1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRvIHJ1biB0aGUgd29ya2Zsb3cgY29kZSB0byBwcm9ncmVzcyB0aGUge0BsaW5rIEV4ZWN1dGlvbn0uXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWR2YW5jZUV4ZWN1dGlvbkR1cmF0aW9uID0gXCJBZHZhbmNlRXhlY3V0aW9uRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZXZlbnRzIHN1Ym1pdHRlZCB0byB0aGUgd29ya2Zsb3cgY29kZSB0byByZXBsYXkgYW5kIGFkdmFuY2UgdGhlIHtAbGluayBFeGVjdXRpb259LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFkdmFuY2VFeGVjdXRpb25FdmVudHMgPSBcIkFkdmFuY2VFeGVjdXRpb25FdmVudHNcIjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBpdCB0YWtlcyB0byBzdGFydCBhbGwgb2YgdGhlIGNvbW1hbmRzIHJldHVybmVkIGJ5IHRoZSB3b3JrZmxvdyBjb2RlLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEludm9rZUNvbW1hbmRzRHVyYXRpb24gPSBcIkludm9rZUNvbW1hbmRzRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgY29tbWFuZHMgcmV0dXJuZWQgYnkgdGhlIHdvcmtmbG93LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IENvbW1hbmRzSW52b2tlZCA9IFwiQ29tbWFuZHNJbnZva2VkXCI7XG4gIC8qKlxuICAgKiBUcmFja3MgdGhlIHRpbWUgaXQgdGFrZXMgZm9yIGEgd29ya2Zsb3cgdGFzayB0byBiZSBzY2hlZHVsZWQgdW50aWwgbmV3IGNvbW1hbmRzIGNvdWxkIGJlIGVtaXR0ZWQuXG4gICAqIFRoaXMgcmVwcmVzZW50IHRoZSB3b3JrZmxvdyBvcmNoZXN0cmF0aW9uIHRpbWUgb2YgVXNlciBQZXJjZWl2ZWQgTGF0ZW5jeVxuICAgKiBBdmVyYWdlIGV4cGVjdGVkIHRpbWUgZm9yIGFuIGFjdGl2aXR5IHRvIGJlIGludm9rZWQgdW50aWwgaXQgaXMgY29uc2lkZXJlZCBjb21wbGV0ZSBieSB0aGUgd29ya2Zsb3cgc2hvdWxkIGZvbGxvdzpcbiAgICogQXZnQWN0aXZpdHlEdXJhdGlvbihOKSA9IEF2ZyhUaW1lVG9Db21tYW5kc0ludm9rZWQpICsgQXZnKEFjdGl2aXR5RHVyYXRpb24oTikpXG4gICAqL1xuICBleHBvcnQgY29uc3QgVGltZVRvQ29tbWFuZHNJbnZva2VkID0gXCJUaW1lVG9Db21tYW5kc0ludm9rZWRcIjtcbiAgLyoqXG4gICAqIEFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRvIHdyaXRlIGhpc3RvcnkgYmFjayB0byBzMy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTYXZlSGlzdG9yeUR1cmF0aW9uID0gXCJTYXZlSGlzdG9yeUR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZXZlbnRzIHdyaXR0ZW4gdG8gczMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU2F2ZWRIaXN0b3J5RXZlbnRzID0gXCJTYXZlZEhpc3RvcnlFdmVudHNcIjtcbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIGhpc3RvcnkgZmxlIHdyaXR0ZW4gaW4gYnl0ZXMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU2F2ZWRIaXN0b3J5Qnl0ZXMgPSBcIlNhdmVkSGlzdG9yeUJ5dGVzXCI7XG4gIC8qKlxuICAgKiBBbW91bnQgb2YgdGltZSBpdCB0YWtlcyB0byB1cGRhdGUgdGhlIHdvcmtmbG93IGVudHJ5IHdpdGggYSBDb21wbGV0ZSBvciBGYWlsZWQgc3RhdHVzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvblN0YXR1c1VwZGF0ZUR1cmF0aW9uID0gXCJFeGVjdXRpb25TdGF0dXNVcGRhdGVEdXJhdGlvblwiO1xuICAvKipcbiAgICogQW1vdW50IG9mIHRpbWUgaXQgdGFrZSB0byBhZGQgbmV3bHkgZ2VuZXJhdGVkIGV2ZW50cyB0byBkeW5hbW8uXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWRkTmV3RXhlY3V0aW9uRXZlbnRzRHVyYXRpb24gPSBcIkFkZE5ld0V4ZWN1dGlvbkV2ZW50c0R1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbmV3IGV2ZW50cyBnZW5lcmF0ZWQgZXZhbHVhdGluZyB0aGUgY3VycmVudCBXb3JrZmxvdyBUYXNrcyBiYXRjaC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBOZXdFeGVjdXRpb25FdmVudHMgPSBcIk5ld0V4ZWN1dGlvbkV2ZW50c1wiO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZXhlY3V0aW9uIGNvbXBsZXRlZCB3aXRob3V0IGVycm9yLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvbkNvbXBsZXRlID0gXCJFeGVjdXRpb25Db21wbGV0ZVwiO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZXhlY3V0aW9uIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvbkZhaWxlZCA9IFwiRXhlY3V0aW9uRmFpbGVkXCI7XG4gIC8qKlxuICAgKiBUb3RhbCB0aW1lIGl0IHRvb2sgdGhlIHdvcmtmbG93IHRvIGNvbXBsZXRlLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvblRvdGFsRHVyYXRpb24gPSBcIkV4ZWN1dGlvblRvdGFsRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSB3b3JrZmxvdyByZXN1bHQgaW4gYnl0ZXMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uUmVzdWx0Qnl0ZXMgPSBcIkV4ZWN1dGlvblJlc3VsdEJ5dGVzXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGV4cGVjdGVkIHNsZWVwIHdha2V1cCB0aW1lIGFuZCB0aGUgYWN0dWFsIGluY29taW5nIHtAbGluayBTbGVlcENvbXBsZXRlZH0gZXZlbnQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU2xlZXBWYXJpYW5jZU1pbGxpcyA9IFwiU2xlZXBWYXJpYW5jZU1pbGxpc1wiO1xuICAvKipcbiAgICogTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpdCB0YWtlcyB0byBzZW5kIGV4ZWN1dGlvbiBsb2dzIHRvIHdoZXJlIGV2ZXIgdGhleSBhcmUgcGVyc2lzdGVkLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvbkxvZ1dyaXRlRHVyYXRpb24gPSBcIkV4ZWN1dGlvbkxvZ1dyaXRlTWlsbGlzXCI7XG4gIC8qKlxuICAgKiAxIHdoZW4gYSB3b3JrZmxvdyBoYXMgYSB0aW1lb3V0IGFuZCAwIHdoZW4gaXQgZG9lcyBub3QuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVGltZW91dFN0YXJ0ZWQgPSBcIlRpbWVvdXRTdGFydGVkXCI7XG4gIC8qKlxuICAgKiBXaGVuIGEgd29ya2Zsb3cgaGFzIGEgdGltZW91dCwgbWVhc3VyZXMgdGhlIHRpbWUgaXQgdGFrZXMgdG8gc3RhcnQgdGhlIHRpbWVvdXQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVGltZW91dFN0YXJ0ZWREdXJhdGlvbiA9IFwiVGltZW91dFN0YXJ0ZWREdXJhdGlvblwiO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5TWV0cmljcyB7XG4gIC8qKlxuICAgKiBUaGUgYWdlIG9mIHRoZSByZXF1ZXN0LCBvciB0aGUgdGltZSBmcm9tIHdoZW4gaXQgd2FzIHNlbnQgdG8gd2hlbiBpdCB3YXMgc3RhcnRlZCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFjdGl2aXR5UmVxdWVzdEFnZSA9IFwiQWN0aXZpdHlSZXF1ZXN0QWdlXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdG9vayB0byBjbGFpbSAobG9jaykgdGhlIGFjdGl2aXR5IHRvIGVuZm9yY2UgZXhhY3RseSBvbmNlIHByb2Nlc3NpbmcuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQ2xhaW1EdXJhdGlvbiA9IFwiQ2xhaW1EdXJhdGlvblwiO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIGFjdGl2aXR5IGludm9jYXRpb24gd2FzIHJlamVjdGVkIHdoZW4gY2xhaW1pbmcgdGhlIGFjdGl2aXR5LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IENsYWltUmVqZWN0ZWQgPSBcIkNsYWltUmVqZWN0ZWRcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYW4gZXJyb3Igd2FzIHRocm93biB0aGF0IHRoZSBhY3Rpdml0eSBuYW1lIGNvdWxkIG5vdCBiZSBmb3VuZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBOb3RGb3VuZEVycm9yID0gXCJOb3RGb3VuZEVycm9yXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdG9vayB0byBydW4gdGhlIGFjdGl2aXR5J3MgY29kZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBPcGVyYXRpb25EdXJhdGlvbiA9IFwiT3BlcmF0aW9uRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBhY3Rpdml0eSByZXR1cm5lZCBhIHJlc3VsdCBvciBub3Qgb24gY29tcGxldGlvbi5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBIYXNSZXN1bHQgPSBcIkhhc1Jlc3VsdFwiO1xuICAvKipcbiAgICogUmV0dXJuZWQge0BsaW5rIGFzeW5jUmVzdWx0fS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBc3luY1Jlc3VsdCA9IFwiQXN5bmNSZXN1bHRcIjtcbiAgLyoqXG4gICAqIFRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSByZXN1bHQgZ2VuZXJhdGVkIGJ5IHRoZSBhY3Rpdml0eSwgaWYgb25lIHdhcyBnZW5lcmF0ZWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgUmVzdWx0Qnl0ZXMgPSBcIlJlc3VsdEJ5dGVzXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpdml0eSBjb21wbGV0ZWQgd2l0aCBlcnJvcnMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWN0aXZpdHlGYWlsZWQgPSBcIkFjdGl2aXR5RmFpbGVkXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpdml0eSBjb21wbGV0ZWQgd2l0aG91dCBlcnJvci5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBY3Rpdml0eVN1Y2NlZWRlZCA9IFwiQWN0aXZpdHlTdWNjZWVkZWRcIjtcbiAgLyoqXG4gICAqIFRoZSB0b3RhbCBkdXJhdGlvbiBvZiB0aGUgYWN0aXZpdHkgYWZ0ZXIgYmVpbmcgc2NoZWR1bGVkLCBpbmNsdWRpbmcgdGhlIHRpbWVcbiAgICogd2FpdGluZyB0byBiZSBleGVjdXRlZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUb3RhbER1cmF0aW9uID0gXCJUb3RhbER1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBhbW91bnQgb2YgdGltZSBpdCB0b29rIHRvIHN1Ym1pdCBhIHdvcmtmbG93IHRhc2sgdG8gU1FTIHRvIHJlc3VtZSB0aGUgd29ya2Zsb3cuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU3VibWl0V29ya2Zsb3dUYXNrRHVyYXRpb24gPSBcIlN1Ym1pdFdvcmtmbG93VGFza0R1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGl0IHRha2VzIHRvIHNlbmQgZXhlY3V0aW9uIGxvZ3MgdG8gd2hlcmUgZXZlciB0aGV5IGFyZSBwZXJzaXN0ZWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWN0aXZpdHlMb2dXcml0ZUR1cmF0aW9uID0gXCJBY3Rpdml0eUxvZ1dyaXRlTWlsbGlzXCI7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2NoZWR1bGVyRm9yd2FyZGVyTWV0cmljcyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZSBiZXR3ZWVuIHRoZSBzY2hlZHVsZXIgdHJpZ2dlciB0aW1lIGFuZCB0aGUgU2NoZWR1bGVyIEZvcndhcmRlciBzZWVpbmcgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU2NoZWR1bGVyVGltZURlbGF5ID0gXCJTY2hlZHVsZXJUaW1lRGVsYXlcIjtcbiAgLyoqXG4gICAqIFNlY29uZHMgdGhlIHRpbWVyIHF1ZXVlIGlzIHRvbGQgdG8gd2FpdCB1bnRpbCBoYW5kbGluZyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lclF1ZXVlRGVsYXlTZWNvbmRzID0gXCJUaW1lclF1ZXVlRGVsYXlTZWNvbmRzXCI7XG59XG4iXX0= |
@@ -1,2 +0,2 @@ | ||
import { ActivityHandler } from "../../index.js"; | ||
import { ActivityHandler } from "../../activity.js"; | ||
export interface ActivityProvider { | ||
@@ -3,0 +3,0 @@ getActivityHandler(activityId: string): ActivityHandler<any> | undefined; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.GlobalActivityProvider = void 0; | ||
const index_js_1 = require("../../index.js"); | ||
const activity_js_1 = require("../../activity.js"); | ||
const global_js_1 = require("../../global.js"); | ||
class GlobalActivityProvider { | ||
getActivityHandler(activityId) { | ||
return (0, index_js_1.callableActivities)()[activityId]; | ||
return (0, global_js_1.callableActivities)()[activityId]; | ||
} | ||
getActivityIds() { | ||
return (0, index_js_1.getCallableActivityNames)(); | ||
return (0, activity_js_1.getCallableActivityNames)(); | ||
} | ||
} | ||
exports.GlobalActivityProvider = GlobalActivityProvider; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9wcm92aWRlcnMvYWN0aXZpdHktcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSXdCO0FBT3hCLE1BQWEsc0JBQXNCO0lBQzFCLGtCQUFrQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sSUFBQSw2QkFBa0IsR0FBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBQSxtQ0FBd0IsR0FBRSxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQVJELHdEQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aXZpdHlIYW5kbGVyLFxuICBjYWxsYWJsZUFjdGl2aXRpZXMsXG4gIGdldENhbGxhYmxlQWN0aXZpdHlOYW1lcyxcbn0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlQcm92aWRlciB7XG4gIGdldEFjdGl2aXR5SGFuZGxlcihhY3Rpdml0eUlkOiBzdHJpbmcpOiBBY3Rpdml0eUhhbmRsZXI8YW55PiB8IHVuZGVmaW5lZDtcbiAgZ2V0QWN0aXZpdHlJZHMoKTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBHbG9iYWxBY3Rpdml0eVByb3ZpZGVyIGltcGxlbWVudHMgQWN0aXZpdHlQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRBY3Rpdml0eUhhbmRsZXIoYWN0aXZpdHlJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNhbGxhYmxlQWN0aXZpdGllcygpW2FjdGl2aXR5SWRdO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2aXR5SWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZ2V0Q2FsbGFibGVBY3Rpdml0eU5hbWVzKCk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9wcm92aWRlcnMvYWN0aXZpdHktcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQThFO0FBQzlFLCtDQUFxRDtBQU9yRCxNQUFhLHNCQUFzQjtJQUMxQixrQkFBa0IsQ0FBQyxVQUFrQjtRQUMxQyxPQUFPLElBQUEsOEJBQWtCLEdBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUEsc0NBQXdCLEdBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFSRCx3REFRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5SGFuZGxlciwgZ2V0Q2FsbGFibGVBY3Rpdml0eU5hbWVzIH0gZnJvbSBcIi4uLy4uL2FjdGl2aXR5LmpzXCI7XG5pbXBvcnQgeyBjYWxsYWJsZUFjdGl2aXRpZXMgfSBmcm9tIFwiLi4vLi4vZ2xvYmFsLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlQcm92aWRlciB7XG4gIGdldEFjdGl2aXR5SGFuZGxlcihhY3Rpdml0eUlkOiBzdHJpbmcpOiBBY3Rpdml0eUhhbmRsZXI8YW55PiB8IHVuZGVmaW5lZDtcbiAgZ2V0QWN0aXZpdHlJZHMoKTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBHbG9iYWxBY3Rpdml0eVByb3ZpZGVyIGltcGxlbWVudHMgQWN0aXZpdHlQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRBY3Rpdml0eUhhbmRsZXIoYWN0aXZpdHlJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNhbGxhYmxlQWN0aXZpdGllcygpW2FjdGl2aXR5SWRdO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2aXR5SWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZ2V0Q2FsbGFibGVBY3Rpdml0eU5hbWVzKCk7XG4gIH1cbn1cbiJdfQ== |
@@ -6,2 +6,9 @@ export declare function assertNever(never: never, msg?: string): never; | ||
export declare function extendsError(err: unknown): err is Error; | ||
export interface _Iterator<I, T extends I> { | ||
hasNext(): boolean; | ||
next(): T | undefined; | ||
drain(): T[]; | ||
size(): number; | ||
} | ||
export declare function iterator<I, T extends I>(elms: I[], predicate?: (elm: I) => elm is T): _Iterator<I, T>; | ||
//# sourceMappingURL=util.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.extendsError = exports.or = exports.not = exports.assertNonNull = exports.assertNever = void 0; | ||
exports.iterator = exports.extendsError = exports.or = exports.not = exports.assertNonNull = exports.assertNever = void 0; | ||
function assertNever(never, msg) { | ||
@@ -32,2 +32,38 @@ throw new Error(msg ?? `reached unreachable code with value ${never}`); | ||
exports.extendsError = extendsError; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFdBQVcsQ0FBQyxLQUFZLEVBQUUsR0FBWTtJQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSx1Q0FBdUMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRkQsa0NBRUM7QUFFRCxTQUFnQixhQUFhLENBQUksS0FBUyxFQUFFLEdBQVk7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLDRDQUE0QyxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLEtBQU0sQ0FBQztBQUNoQixDQUFDO0FBTEQsc0NBS0M7QUFFRCxTQUFnQixHQUFHLENBQ2pCLENBQW1CO0lBRW5CLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVEsQ0FBQztBQUNwQyxDQUFDO0FBSkQsa0JBSUM7QUFFRCxTQUFnQixFQUFFLENBQ2hCLEdBQUcsVUFBYTtJQUVoQixPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUM7QUFDakUsQ0FBQztBQUpELGdCQUlDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLEdBQVk7SUFDdkMsT0FBTyxDQUNMLENBQUMsQ0FBQyxHQUFHO1FBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixDQUFDLEdBQUcsWUFBWSxLQUFLO1lBQ25CLENBQUMsV0FBVyxJQUFJLEdBQUc7Z0JBQ2pCLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUztnQkFDZixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBVEQsb0NBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYXNzZXJ0TmV2ZXIobmV2ZXI6IG5ldmVyLCBtc2c/OiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihtc2cgPz8gYHJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSB3aXRoIHZhbHVlICR7bmV2ZXJ9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb25OdWxsPFQ+KHZhbHVlPzogVCwgbXNnPzogc3RyaW5nKTogTm9uTnVsbGFibGU8VD4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1zZyA/PyBcImV4cGVjdGVkIHZhbHVlIHRvIGJlIGRlZmluZWQgYW5kIG5vdCBudWxsLlwiKTtcbiAgfVxuICByZXR1cm4gdmFsdWUhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQsIFUgZXh0ZW5kcyBUPihcbiAgZjogKGE6IFQpID0+IGEgaXMgVVxuKTogKGE6IFQpID0+IGEgaXMgRXhjbHVkZTxULCBVPiB7XG4gIHJldHVybiAoKGE6IGFueSkgPT4gIWYoYSkpIGFzIGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9yPEYgZXh0ZW5kcyAoKGE6IGFueSkgPT4gYSBpcyBhbnkpW10+KFxuICAuLi5jb25kaXRpb25zOiBGXG4pOiAoYTogYW55KSA9PiBhIGlzIEZbbnVtYmVyXSBleHRlbmRzIChhOiBhbnkpID0+IGEgaXMgaW5mZXIgVCA/IFQgOiBuZXZlciB7XG4gIHJldHVybiAoKGE6IGFueSkgPT4gY29uZGl0aW9ucy5zb21lKChjb25kKSA9PiBjb25kKGEpKSkgYXMgYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5kc0Vycm9yKGVycjogdW5rbm93bik6IGVyciBpcyBFcnJvciB7XG4gIHJldHVybiAoXG4gICAgISFlcnIgJiZcbiAgICB0eXBlb2YgZXJyID09PSBcIm9iamVjdFwiICYmXG4gICAgKGVyciBpbnN0YW5jZW9mIEVycm9yIHx8XG4gICAgICAoXCJwcm90b3R5cGVcIiBpbiBlcnIgJiZcbiAgICAgICAgISFlcnIucHJvdG90eXBlICYmXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKGVyci5wcm90b3R5cGUsIEVycm9yKSkpXG4gICk7XG59XG4iXX0= | ||
function iterator(elms, predicate) { | ||
let cursor = 0; | ||
return { | ||
hasNext: () => { | ||
seek(); | ||
return cursor < elms.length; | ||
}, | ||
next: () => { | ||
seek(); | ||
return elms[cursor++]; | ||
}, | ||
drain: () => { | ||
const events = predicate | ||
? elms.slice(cursor).filter(predicate) | ||
: elms.slice(cursor); | ||
cursor = elms.length; | ||
return events; | ||
}, | ||
size: () => { | ||
return predicate | ||
? elms.filter(predicate).length - cursor | ||
: elms.length - cursor; | ||
}, | ||
}; | ||
function seek() { | ||
if (predicate) { | ||
while (cursor < elms.length) { | ||
if (predicate(elms[cursor])) { | ||
return; | ||
} | ||
cursor++; | ||
} | ||
} | ||
} | ||
} | ||
exports.iterator = iterator; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFdBQVcsQ0FBQyxLQUFZLEVBQUUsR0FBWTtJQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSx1Q0FBdUMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRkQsa0NBRUM7QUFFRCxTQUFnQixhQUFhLENBQUksS0FBUyxFQUFFLEdBQVk7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLDRDQUE0QyxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLEtBQU0sQ0FBQztBQUNoQixDQUFDO0FBTEQsc0NBS0M7QUFFRCxTQUFnQixHQUFHLENBQ2pCLENBQW1CO0lBRW5CLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVEsQ0FBQztBQUNwQyxDQUFDO0FBSkQsa0JBSUM7QUFFRCxTQUFnQixFQUFFLENBQ2hCLEdBQUcsVUFBYTtJQUVoQixPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUM7QUFDakUsQ0FBQztBQUpELGdCQUlDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLEdBQVk7SUFDdkMsT0FBTyxDQUNMLENBQUMsQ0FBQyxHQUFHO1FBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixDQUFDLEdBQUcsWUFBWSxLQUFLO1lBQ25CLENBQUMsV0FBVyxJQUFJLEdBQUc7Z0JBQ2pCLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUztnQkFDZixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBVEQsb0NBU0M7QUFTRCxTQUFnQixRQUFRLENBQ3RCLElBQVMsRUFDVCxTQUFnQztJQUVoQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixPQUFPO1FBQ0wsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNaLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQU0sRUFBRTtZQUNaLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQU0sQ0FBQztRQUM3QixDQUFDO1FBQ0QsS0FBSyxFQUFFLEdBQVEsRUFBRTtZQUNmLE1BQU0sTUFBTSxHQUFHLFNBQVM7Z0JBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ3RDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBUyxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3JCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBVyxFQUFFO1lBQ2pCLE9BQU8sU0FBUztnQkFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTTtnQkFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzNCLENBQUM7S0FDRixDQUFDO0lBRUYsU0FBUyxJQUFJO1FBQ1gsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUMzQixJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUMsRUFBRTtvQkFDNUIsT0FBTztpQkFDUjtnQkFDRCxNQUFNLEVBQUUsQ0FBQzthQUNWO1NBQ0Y7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQXRDRCw0QkFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYXNzZXJ0TmV2ZXIobmV2ZXI6IG5ldmVyLCBtc2c/OiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihtc2cgPz8gYHJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSB3aXRoIHZhbHVlICR7bmV2ZXJ9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb25OdWxsPFQ+KHZhbHVlPzogVCwgbXNnPzogc3RyaW5nKTogTm9uTnVsbGFibGU8VD4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1zZyA/PyBcImV4cGVjdGVkIHZhbHVlIHRvIGJlIGRlZmluZWQgYW5kIG5vdCBudWxsLlwiKTtcbiAgfVxuICByZXR1cm4gdmFsdWUhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQsIFUgZXh0ZW5kcyBUPihcbiAgZjogKGE6IFQpID0+IGEgaXMgVVxuKTogKGE6IFQpID0+IGEgaXMgRXhjbHVkZTxULCBVPiB7XG4gIHJldHVybiAoKGE6IGFueSkgPT4gIWYoYSkpIGFzIGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9yPEYgZXh0ZW5kcyAoKGE6IGFueSkgPT4gYSBpcyBhbnkpW10+KFxuICAuLi5jb25kaXRpb25zOiBGXG4pOiAoYTogYW55KSA9PiBhIGlzIEZbbnVtYmVyXSBleHRlbmRzIChhOiBhbnkpID0+IGEgaXMgaW5mZXIgVCA/IFQgOiBuZXZlciB7XG4gIHJldHVybiAoKGE6IGFueSkgPT4gY29uZGl0aW9ucy5zb21lKChjb25kKSA9PiBjb25kKGEpKSkgYXMgYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5kc0Vycm9yKGVycjogdW5rbm93bik6IGVyciBpcyBFcnJvciB7XG4gIHJldHVybiAoXG4gICAgISFlcnIgJiZcbiAgICB0eXBlb2YgZXJyID09PSBcIm9iamVjdFwiICYmXG4gICAgKGVyciBpbnN0YW5jZW9mIEVycm9yIHx8XG4gICAgICAoXCJwcm90b3R5cGVcIiBpbiBlcnIgJiZcbiAgICAgICAgISFlcnIucHJvdG90eXBlICYmXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKGVyci5wcm90b3R5cGUsIEVycm9yKSkpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgX0l0ZXJhdG9yPEksIFQgZXh0ZW5kcyBJPiB7XG4gIGhhc05leHQoKTogYm9vbGVhbjtcbiAgbmV4dCgpOiBUIHwgdW5kZWZpbmVkO1xuICBkcmFpbigpOiBUW107XG4gIHNpemUoKTogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXRlcmF0b3I8SSwgVCBleHRlbmRzIEk+KFxuICBlbG1zOiBJW10sXG4gIHByZWRpY2F0ZT86IChlbG06IEkpID0+IGVsbSBpcyBUXG4pOiBfSXRlcmF0b3I8SSwgVD4ge1xuICBsZXQgY3Vyc29yID0gMDtcbiAgcmV0dXJuIHtcbiAgICBoYXNOZXh0OiAoKSA9PiB7XG4gICAgICBzZWVrKCk7XG4gICAgICByZXR1cm4gY3Vyc29yIDwgZWxtcy5sZW5ndGg7XG4gICAgfSxcbiAgICBuZXh0OiAoKTogVCA9PiB7XG4gICAgICBzZWVrKCk7XG4gICAgICByZXR1cm4gZWxtc1tjdXJzb3IrK10gYXMgVDtcbiAgICB9LFxuICAgIGRyYWluOiAoKTogVFtdID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50cyA9IHByZWRpY2F0ZVxuICAgICAgICA/IGVsbXMuc2xpY2UoY3Vyc29yKS5maWx0ZXIocHJlZGljYXRlKVxuICAgICAgICA6IChlbG1zLnNsaWNlKGN1cnNvcikgYXMgVFtdKTtcbiAgICAgIGN1cnNvciA9IGVsbXMubGVuZ3RoO1xuICAgICAgcmV0dXJuIGV2ZW50cztcbiAgICB9LFxuICAgIHNpemU6ICgpOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIHByZWRpY2F0ZVxuICAgICAgICA/IGVsbXMuZmlsdGVyKHByZWRpY2F0ZSkubGVuZ3RoIC0gY3Vyc29yXG4gICAgICAgIDogZWxtcy5sZW5ndGggLSBjdXJzb3I7XG4gICAgfSxcbiAgfTtcblxuICBmdW5jdGlvbiBzZWVrKCkge1xuICAgIGlmIChwcmVkaWNhdGUpIHtcbiAgICAgIHdoaWxlIChjdXJzb3IgPCBlbG1zLmxlbmd0aCkge1xuICAgICAgICBpZiAocHJlZGljYXRlKGVsbXNbY3Vyc29yXSEpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGN1cnNvcisrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 |
@@ -54,3 +54,4 @@ import { ExecutionContext } from "./context.js"; | ||
*/ | ||
export type HistoryStateEvent = HistoryEvent | WorkflowStarted; | ||
export type HistoryStateEvent = HistoryEvent | WorkflowStarted | WorkflowSucceeded | WorkflowFailed; | ||
export declare function isHistoryStateEvent(event: WorkflowEvent): event is HistoryStateEvent; | ||
export interface WorkflowStarted extends BaseEvent { | ||
@@ -144,3 +145,3 @@ type: WorkflowEventType.WorkflowStarted; | ||
export declare function isSleepCompleted(event: WorkflowEvent): event is SleepCompleted; | ||
export declare const isWorkflowCompleted: (a: any) => a is WorkflowSucceeded | WorkflowFailed; | ||
export declare const isWorkflowCompletedEvent: (a: any) => a is WorkflowSucceeded | WorkflowFailed; | ||
export interface ExpectSignalStarted extends HistoryEventBase { | ||
@@ -147,0 +148,0 @@ type: WorkflowEventType.ExpectSignalStarted; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createEvent = exports.filterEvents = exports.getEventId = exports.assertEventType = exports.isFailedEvent = exports.isSucceededEvent = exports.isScheduledEvent = exports.isWorkflowTimedOut = exports.isActivityTimedOut = exports.isConditionTimedOut = exports.isConditionStarted = exports.isEventsPublished = exports.isSignalSent = exports.isSignalReceived = exports.isExpectSignalTimedOut = exports.isExpectSignalStarted = exports.isWorkflowCompleted = exports.isSleepCompleted = exports.isChildWorkflowFailed = exports.isChildWorkflowSucceeded = exports.isChildWorkflowScheduled = exports.isWorkflowFailed = exports.isWorkflowSucceeded = exports.isWorkflowRunCompleted = exports.isSleepScheduled = exports.isActivityHeartbeatTimedOut = exports.isActivityFailed = exports.isActivitySucceeded = exports.isActivityScheduled = exports.isWorkflowRunStarted = exports.isWorkflowStarted = exports.isHistoryEvent = exports.WorkflowEventType = void 0; | ||
exports.createEvent = exports.filterEvents = exports.getEventId = exports.assertEventType = exports.isFailedEvent = exports.isSucceededEvent = exports.isScheduledEvent = exports.isWorkflowTimedOut = exports.isActivityTimedOut = exports.isConditionTimedOut = exports.isConditionStarted = exports.isEventsPublished = exports.isSignalSent = exports.isSignalReceived = exports.isExpectSignalTimedOut = exports.isExpectSignalStarted = exports.isWorkflowCompletedEvent = exports.isSleepCompleted = exports.isChildWorkflowFailed = exports.isChildWorkflowSucceeded = exports.isChildWorkflowScheduled = exports.isWorkflowFailed = exports.isWorkflowSucceeded = exports.isWorkflowRunCompleted = exports.isSleepScheduled = exports.isActivityHeartbeatTimedOut = exports.isActivityFailed = exports.isActivitySucceeded = exports.isActivityScheduled = exports.isWorkflowRunStarted = exports.isWorkflowStarted = exports.isHistoryStateEvent = exports.isHistoryEvent = exports.WorkflowEventType = void 0; | ||
const ulidx_1 = require("ulidx"); | ||
@@ -40,2 +40,9 @@ const util_js_1 = require("./util.js"); | ||
exports.isHistoryEvent = isHistoryEvent; | ||
function isHistoryStateEvent(event) { | ||
return (isHistoryEvent(event) || | ||
isWorkflowStarted(event) || | ||
isWorkflowSucceeded(event) || | ||
isWorkflowFailed(event)); | ||
} | ||
exports.isHistoryStateEvent = isHistoryStateEvent; | ||
function isWorkflowStarted(event) { | ||
@@ -97,3 +104,3 @@ return event.type === WorkflowEventType.WorkflowStarted; | ||
exports.isSleepCompleted = isSleepCompleted; | ||
exports.isWorkflowCompleted = (0, util_js_1.or)(isWorkflowSucceeded, isWorkflowFailed); | ||
exports.isWorkflowCompletedEvent = (0, util_js_1.or)(isWorkflowFailed, isWorkflowSucceeded); | ||
function isExpectSignalStarted(event) { | ||
@@ -187,2 +194,2 @@ return event.type === WorkflowEventType.ExpectSignalStarted; | ||
exports.createEvent = createEvent; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmtmbG93LWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBNkI7QUFHN0IsdUNBQStCO0FBZS9CLElBQVksaUJBd0JYO0FBeEJELFdBQVksaUJBQWlCO0lBQzNCLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLDRFQUF1RCxDQUFBO0lBQ3ZELDREQUF1QyxDQUFBO0lBQ3ZDLDBEQUFxQyxDQUFBO0lBQ3JDLHNFQUFpRCxDQUFBO0lBQ2pELGdFQUEyQyxDQUFBO0lBQzNDLHNFQUFpRCxDQUFBO0lBQ2pELDBEQUFxQyxDQUFBO0lBQ3JDLDREQUF1QyxDQUFBO0lBQ3ZDLHdEQUFtQyxDQUFBO0lBQ25DLGdFQUEyQyxDQUFBO0lBQzNDLGtFQUE2QyxDQUFBO0lBQzdDLHNEQUFpQyxDQUFBO0lBQ2pDLDhDQUF5QixDQUFBO0lBQ3pCLHNEQUFpQyxDQUFBO0lBQ2pDLHNEQUFpQyxDQUFBO0lBQ2pDLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLHdEQUFtQyxDQUFBO0lBQ25DLGtFQUE2QyxDQUFBO0lBQzdDLDhEQUF5QyxDQUFBO0lBQ3pDLDBEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUF4QlcsaUJBQWlCLEdBQWpCLHlCQUFpQixLQUFqQix5QkFBaUIsUUF3QjVCO0FBNkNELFNBQWdCLGNBQWMsQ0FBQyxLQUFvQjtJQUNqRCxPQUFPLENBQ0wsSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLENBQUM7UUFDdkIsSUFBQSxxQkFBYSxFQUFDLEtBQUssQ0FBQztRQUNwQixJQUFBLHdCQUFnQixFQUFDLEtBQUssQ0FBQztRQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDdkIsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7QUFDSixDQUFDO0FBUkQsd0NBUUM7QUFvRkQsU0FBZ0IsaUJBQWlC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LEVBQUUsQ0FBQyxDQUFDO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFkRCxvQ0FjQztBQUlELFNBQWdCLFdBQVcsQ0FDekIsS0FBeUIsRUFDekIsSUFBVSxFQUNWLEtBQWEsSUFBQSxZQUFJLEdBQUU7SUFFbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXJDLGlEQUFpRDtJQUNqRCxJQUNFLGNBQWMsQ0FBQyxLQUFpQyxDQUFDO1FBQ2pELENBQUMsZ0JBQWdCLENBQUMsS0FBaUMsQ0FBQyxFQUNwRDtRQUNBLE9BQU8sRUFBRSxHQUFJLEtBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQztLQUN6QztJQUVELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFPLENBQUM7QUFDMUMsQ0FBQztBQWhCRCxrQ0FnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1bGlkIH0gZnJvbSBcInVsaWR4XCI7XG5pbXBvcnQgeyBFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC5qc1wiO1xuaW1wb3J0IHsgRXZlbnRFbnZlbG9wZSB9IGZyb20gXCIuL2V2ZW50LmpzXCI7XG5pbXBvcnQgeyBvciB9IGZyb20gXCIuL3V0aWwuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZTtcbiAgaWQ6IHN0cmluZztcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29tbW9uIGZpZWxkcyBmb3IgZXZlbnRzIHRoYXQge0BsaW5rIEV2ZW50dWFsfSBhY3RpdmVzIHdpdGggaW4gb3JkZXIgc2VtYW50aWNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhpc3RvcnlFdmVudEJhc2UgZXh0ZW5kcyBPbWl0PEJhc2VFdmVudCwgXCJpZFwiPiB7XG4gIHNlcTogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBXb3JrZmxvd0V2ZW50VHlwZSB7XG4gIEFjdGl2aXR5U3VjY2VlZGVkID0gXCJBY3Rpdml0eVN1Y2NlZWRlZFwiLFxuICBBY3Rpdml0eUZhaWxlZCA9IFwiQWN0aXZpdHlGYWlsZWRcIixcbiAgQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCA9IFwiQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dFwiLFxuICBBY3Rpdml0eVNjaGVkdWxlZCA9IFwiQWN0aXZpdHlTY2hlZHVsZWRcIixcbiAgQWN0aXZpdHlUaW1lZE91dCA9IFwiQWN0aXZpdHlUaW1lZE91dFwiLFxuICBDaGlsZFdvcmtmbG93U3VjY2VlZGVkID0gXCJDaGlsZFdvcmtmbG93U3VjY2VlZGVkXCIsXG4gIENoaWxkV29ya2Zsb3dGYWlsZWQgPSBcIkNoaWxkV29ya2Zsb3dGYWlsZWRcIixcbiAgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCA9IFwiQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZFwiLFxuICBDb25kaXRpb25TdGFydGVkID0gXCJDb25kaXRpb25TdGFydGVkXCIsXG4gIENvbmRpdGlvblRpbWVkT3V0ID0gXCJDb25kaXRpb25UaW1lZE91dFwiLFxuICBFdmVudHNQdWJsaXNoZWQgPSBcIkV2ZW50c1B1Ymxpc2hlZFwiLFxuICBFeHBlY3RTaWduYWxTdGFydGVkID0gXCJFeHBlY3RTaWduYWxTdGFydGVkXCIsXG4gIEV4cGVjdFNpZ25hbFRpbWVkT3V0ID0gXCJFeHBlY3RTaWduYWxUaW1lZE91dFwiLFxuICBTaWduYWxSZWNlaXZlZCA9IFwiU2lnbmFsUmVjZWl2ZWRcIixcbiAgU2lnbmFsU2VudCA9IFwiU2lnbmFsU2VudFwiLFxuICBTbGVlcENvbXBsZXRlZCA9IFwiU2xlZXBDb21wbGV0ZWRcIixcbiAgU2xlZXBTY2hlZHVsZWQgPSBcIlNsZWVwU2NoZWR1bGVkXCIsXG4gIFdvcmtmbG93U3VjY2VlZGVkID0gXCJXb3JrZmxvd1N1Y2NlZWRlZFwiLFxuICBXb3JrZmxvd0ZhaWxlZCA9IFwiV29ya2Zsb3dGYWlsZWRcIixcbiAgV29ya2Zsb3dTdGFydGVkID0gXCJXb3JrZmxvd1N0YXJ0ZWRcIixcbiAgV29ya2Zsb3dSdW5Db21wbGV0ZWQgPSBcIldvcmtmbG93UnVuQ29tcGxldGVkXCIsXG4gIFdvcmtmbG93UnVuU3RhcnRlZCA9IFwiV29ya2Zsb3dSdW5TdGFydGVkXCIsXG4gIFdvcmtmbG93VGltZWRPdXQgPSBcIldvcmtmbG93VGltZWRPdXRcIixcbn1cblxuLyoqXG4gKiBFdmVudHMgZ2VuZXJhdGVkIGJ5IHRoZSBlbmdpbmUgdGhhdCByZXByZXNlbnQgdGhlIGluLW9yZGVyIHN0YXRlIG9mIHRoZSB3b3JrZmxvdy5cbiAqL1xuZXhwb3J0IHR5cGUgV29ya2Zsb3dFdmVudCA9XG4gIHwgSGlzdG9yeUV2ZW50XG4gIHwgV29ya2Zsb3dSdW5Db21wbGV0ZWRcbiAgfCBXb3JrZmxvd1J1blN0YXJ0ZWRcbiAgfCBXb3JrZmxvd1N1Y2NlZWRlZFxuICB8IFdvcmtmbG93RmFpbGVkXG4gIHwgV29ya2Zsb3dTdGFydGVkO1xuXG5leHBvcnQgdHlwZSBTY2hlZHVsZWRFdmVudCA9XG4gIHwgQWN0aXZpdHlTY2hlZHVsZWRcbiAgfCBDaGlsZFdvcmtmbG93U2NoZWR1bGVkXG4gIHwgQ29uZGl0aW9uU3RhcnRlZFxuICB8IEV2ZW50c1B1Ymxpc2hlZFxuICB8IEV4cGVjdFNpZ25hbFN0YXJ0ZWRcbiAgfCBTaWduYWxTZW50XG4gIHwgU2xlZXBTY2hlZHVsZWQ7XG5cbmV4cG9ydCB0eXBlIFN1Y2NlZWRlZEV2ZW50ID1cbiAgfCBBY3Rpdml0eVN1Y2NlZWRlZFxuICB8IENoaWxkV29ya2Zsb3dTdWNjZWVkZWRcbiAgfCBTbGVlcENvbXBsZXRlZDtcblxuZXhwb3J0IHR5cGUgRmFpbGVkRXZlbnQgPVxuICB8IEFjdGl2aXR5RmFpbGVkXG4gIHwgQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dFxuICB8IEFjdGl2aXR5VGltZWRPdXRcbiAgfCBDaGlsZFdvcmtmbG93RmFpbGVkXG4gIHwgQ29uZGl0aW9uVGltZWRPdXRcbiAgfCBFeHBlY3RTaWduYWxUaW1lZE91dDtcblxuLyoqXG4gKiBFdmVudHMgdXNlZCBieSB0aGUgd29ya2Zsb3cgdG8gcmVwbGF5IGFuIGV4ZWN1dGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgSGlzdG9yeUV2ZW50ID1cbiAgfCBTdWNjZWVkZWRFdmVudFxuICB8IEZhaWxlZEV2ZW50XG4gIHwgU2NoZWR1bGVkRXZlbnRcbiAgfCBTaWduYWxSZWNlaXZlZFxuICB8IFdvcmtmbG93VGltZWRPdXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hpc3RvcnlFdmVudChldmVudDogV29ya2Zsb3dFdmVudCk6IGV2ZW50IGlzIEhpc3RvcnlFdmVudCB7XG4gIHJldHVybiAoXG4gICAgaXNTdWNjZWVkZWRFdmVudChldmVudCkgfHxcbiAgICBpc0ZhaWxlZEV2ZW50KGV2ZW50KSB8fFxuICAgIGlzU2NoZWR1bGVkRXZlbnQoZXZlbnQpIHx8XG4gICAgaXNTaWduYWxSZWNlaXZlZChldmVudCkgfHxcbiAgICBpc1dvcmtmbG93VGltZWRPdXQoZXZlbnQpXG4gICk7XG59XG5cbi8qKlxuICogRXZlbnRzIHRoYXQgd2Ugc2F2ZSBpbnRvIGhpc3RvcnkuXG4gKi9cbmV4cG9ydCB0eXBlIEhpc3RvcnlTdGF0ZUV2ZW50ID0gSGlzdG9yeUV2ZW50IHwgV29ya2Zsb3dTdGFydGVkO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93U3RhcnRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3RhcnRlZDtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtmbG93IHRvIGV4ZWN1dGUuXG4gICAqL1xuICB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIElucHV0IHBheWxvYWQgZm9yIHRoZSB3b3JrZmxvdyBmdW5jdGlvbi5cbiAgICovXG4gIGlucHV0PzogYW55O1xuICAvKipcbiAgICogT3B0aW9uYWwgSVNPIHRpbWVzdGFtcCBhZnRlciB3aGljaCB0aGUgd29ya2Zsb3cgc2hvdWxkIHRpbWVvdXQuXG4gICAqL1xuICB0aW1lb3V0VGltZT86IHN0cmluZztcbiAgY29udGV4dDogT21pdDxFeGVjdXRpb25Db250ZXh0LCBcImlkXCIgfCBcInN0YXJ0VGltZVwiPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dSdW5TdGFydGVkIGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5TdGFydGVkO1xuICAvKipcbiAgICogQW4gZXhlY3V0aW9uIElEIG9mIHRoZSBwYXJlbnQgd29ya2Zsb3cgZXhlY3V0aW9uIHRoYXRcbiAgICogc3RhcnRlZCB0aGlzIHdvcmtmbG93IGlmIHRoaXMgaXMgYSBjaGlsZCB3b3JrZmxvdy5cbiAgICovXG4gIHBhcmVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eVNjaGVkdWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVNjaGVkdWxlZDtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5U3VjY2VlZGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U3VjY2VlZGVkO1xuICByZXN1bHQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUZhaWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUZhaWxlZDtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dSdW5Db21wbGV0ZWQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1J1bkNvbXBsZXRlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1N1Y2NlZWRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3VjY2VlZGVkO1xuICBvdXRwdXQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0ZhaWxlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93RmFpbGVkO1xuICBlcnJvcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U2NoZWR1bGVkO1xuICBuYW1lOiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkV29ya2Zsb3dTdWNjZWVkZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZDtcbiAgcmVzdWx0OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRXb3JrZmxvd0ZhaWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93RmFpbGVkO1xuICBlcnJvcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93U3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93U3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1N0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93UnVuU3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93UnVuU3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1J1blN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5U2NoZWR1bGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlTY2hlZHVsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTY2hlZHVsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTdWNjZWVkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5RmFpbGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xlZXBTY2hlZHVsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2xlZXBTY2hlZHVsZWQ7XG4gIHVudGlsVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTbGVlcFNjaGVkdWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFNsZWVwU2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwU2NoZWR1bGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsZWVwQ29tcGxldGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkO1xuICByZXN1bHQ/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93UnVuQ29tcGxldGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dSdW5Db21wbGV0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5Db21wbGV0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dTdWNjZWVkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93RmFpbGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NoaWxkV29ya2Zsb3dTY2hlZHVsZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDaGlsZFdvcmtmbG93U2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTY2hlZHVsZWQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFdvcmtmbG93U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U3VjY2VlZGVkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hpbGRXb3JrZmxvd0ZhaWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENoaWxkV29ya2Zsb3dGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd0ZhaWxlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2xlZXBDb21wbGV0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBTbGVlcENvbXBsZXRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcENvbXBsZXRlZDtcbn1cblxuZXhwb3J0IGNvbnN0IGlzV29ya2Zsb3dDb21wbGV0ZWQgPSBvcihpc1dvcmtmbG93U3VjY2VlZGVkLCBpc1dvcmtmbG93RmFpbGVkKTtcblxuZXhwb3J0IGludGVyZmFjZSBFeHBlY3RTaWduYWxTdGFydGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFN0YXJ0ZWQ7XG4gIHNpZ25hbElkOiBzdHJpbmc7XG4gIHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVjdFNpZ25hbFRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFRpbWVkT3V0O1xuICBzaWduYWxJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbFJlY2VpdmVkPFBheWxvYWQgPSBhbnk+IGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsUmVjZWl2ZWQ7XG4gIHNpZ25hbElkOiBzdHJpbmc7XG4gIHBheWxvYWQ/OiBQYXlsb2FkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHBlY3RTaWduYWxTdGFydGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgRXhwZWN0U2lnbmFsU3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5FeHBlY3RTaWduYWxTdGFydGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHBlY3RTaWduYWxUaW1lZE91dChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEV4cGVjdFNpZ25hbFRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFRpbWVkT3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaWduYWxSZWNlaXZlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFNpZ25hbFJlY2VpdmVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLlNpZ25hbFJlY2VpdmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbFNlbnQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsU2VudDtcbiAgcGF5bG9hZD86IGFueTtcbiAgc2lnbmFsSWQ6IHN0cmluZztcbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2lnbmFsU2VudChldmVudDogV29ya2Zsb3dFdmVudCk6IGV2ZW50IGlzIFNpZ25hbFNlbnQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsU2VudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudHNQdWJsaXNoZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXZlbnRzUHVibGlzaGVkO1xuICBldmVudHM6IEV2ZW50RW52ZWxvcGVbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRzUHVibGlzaGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgRXZlbnRzUHVibGlzaGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkV2ZW50c1B1Ymxpc2hlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25TdGFydGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbmRpdGlvblN0YXJ0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDb25kaXRpb25TdGFydGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uVGltZWRPdXQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uVGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbmRpdGlvblRpbWVkT3V0KFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQ29uZGl0aW9uVGltZWRPdXQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uVGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlUaW1lZE91dCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVRpbWVkT3V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93VGltZWRPdXQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1RpbWVkT3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpdml0eVRpbWVkT3V0KFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlUaW1lZE91dCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVRpbWVkT3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd1RpbWVkT3V0KFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dUaW1lZE91dCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1RpbWVkT3V0O1xufVxuXG5leHBvcnQgY29uc3QgaXNTY2hlZHVsZWRFdmVudCA9IG9yKFxuICBpc0FjdGl2aXR5U2NoZWR1bGVkLFxuICBpc0NoaWxkV29ya2Zsb3dTY2hlZHVsZWQsXG4gIGlzQ29uZGl0aW9uU3RhcnRlZCxcbiAgaXNFdmVudHNQdWJsaXNoZWQsXG4gIGlzRXhwZWN0U2lnbmFsU3RhcnRlZCxcbiAgaXNTaWduYWxTZW50LFxuICBpc1NsZWVwU2NoZWR1bGVkXG4pO1xuXG5leHBvcnQgY29uc3QgaXNTdWNjZWVkZWRFdmVudCA9IG9yKFxuICBpc0FjdGl2aXR5U3VjY2VlZGVkLFxuICBpc0NoaWxkV29ya2Zsb3dTdWNjZWVkZWQsXG4gIGlzU2xlZXBDb21wbGV0ZWRcbik7XG5cbmV4cG9ydCBjb25zdCBpc0ZhaWxlZEV2ZW50ID0gb3IoXG4gIGlzQWN0aXZpdHlGYWlsZWQsXG4gIGlzQWN0aXZpdHlUaW1lZE91dCxcbiAgaXNBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0LFxuICBpc0NoaWxkV29ya2Zsb3dGYWlsZWQsXG4gIGlzQ29uZGl0aW9uVGltZWRPdXQsXG4gIGlzRXhwZWN0U2lnbmFsVGltZWRPdXQsXG4gIGlzV29ya2Zsb3dUaW1lZE91dFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEV2ZW50VHlwZTxUIGV4dGVuZHMgV29ya2Zsb3dFdmVudD4oXG4gIGV2ZW50OiBhbnksXG4gIHR5cGU6IFRbXCJ0eXBlXCJdXG4pOiBhc3NlcnRzIGV2ZW50IGlzIFQge1xuICBpZiAoIWV2ZW50IHx8IGV2ZW50LnR5cGUgIT09IHR5cGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGV2ZW50IG9mIHR5cGUgJHt0eXBlfWApO1xuICB9XG59XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgSUQgb2YgYW4gZXZlbnQuXG4gKlxuICogU29tZSBldmVudHMgaGF2ZSBhIGNvbXB1dGVkIElEIHRvIHNhdmUgc3BhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFdmVudElkKGV2ZW50OiBXb3JrZmxvd0V2ZW50KTogc3RyaW5nIHtcbiAgaWYgKFxuICAgIGlzSGlzdG9yeUV2ZW50KGV2ZW50KSAmJlxuICAgICFpc1NpZ25hbFJlY2VpdmVkKGV2ZW50KSAmJlxuICAgICFpc1dvcmtmbG93VGltZWRPdXQoZXZlbnQpXG4gICkge1xuICAgIHJldHVybiBgJHtldmVudC5zZXF9XyR7ZXZlbnQudHlwZX1gO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBldmVudC5pZDtcbiAgfVxufVxuXG4vKipcbiAqIEZpbHRlcnMgb3V0IGV2ZW50cyB0aGF0IGFyZSBhbHNvIHByZXNlbnQgaW4gb3JpZ2luIGV2ZW50cy5cbiAqXG4gKiBFdmVudHMgYXJlIHRha2VuIG9ubHkgaWYgdGhlaXIgSUQgKHtAbGluayBnZXRFdmVudElkfSkgaXMgdW5pcXVlIGFjcm9zcyBhbGwgb3RoZXIgZXZlbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRXZlbnRzPFQgZXh0ZW5kcyBXb3JrZmxvd0V2ZW50PihcbiAgb3JpZ2luRXZlbnRzOiBUW10sXG4gIGV2ZW50czogVFtdXG4pOiBUW10ge1xuICBjb25zdCBpZHMgPSBuZXcgU2V0KG9yaWdpbkV2ZW50cy5tYXAoZ2V0RXZlbnRJZCkpO1xuXG4gIHJldHVybiBldmVudHMuZmlsdGVyKChldmVudCkgPT4ge1xuICAgIGNvbnN0IGlkID0gZ2V0RXZlbnRJZChldmVudCk7XG4gICAgaWYgKGlkcy5oYXMoaWQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlkcy5hZGQoaWQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn1cblxudHlwZSBVbnJlc29sdmVkRXZlbnQ8VCBleHRlbmRzIFdvcmtmbG93RXZlbnQ+ID0gT21pdDxULCBcImlkXCIgfCBcInRpbWVzdGFtcFwiPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV2ZW50PFQgZXh0ZW5kcyBXb3JrZmxvd0V2ZW50PihcbiAgZXZlbnQ6IFVucmVzb2x2ZWRFdmVudDxUPixcbiAgdGltZTogRGF0ZSxcbiAgaWQ6IHN0cmluZyA9IHVsaWQoKVxuKTogVCB7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IHRpbWUudG9JU09TdHJpbmcoKTtcblxuICAvLyBoaXN0b3J5IGV2ZW50cyBkbyBub3QgaGF2ZSBJRHMsIHVzZSBnZXRFdmVudElkXG4gIGlmIChcbiAgICBpc0hpc3RvcnlFdmVudChldmVudCBhcyB1bmtub3duIGFzIFdvcmtmbG93RXZlbnQpICYmXG4gICAgIWlzU2lnbmFsUmVjZWl2ZWQoZXZlbnQgYXMgdW5rbm93biBhcyBXb3JrZmxvd0V2ZW50KVxuICApIHtcbiAgICByZXR1cm4geyAuLi4oZXZlbnQgYXMgYW55KSwgdGltZXN0YW1wIH07XG4gIH1cblxuICByZXR1cm4geyAuLi5ldmVudCwgaWQsIHRpbWVzdGFtcCB9IGFzIFQ7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmtmbG93LWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBNkI7QUFHN0IsdUNBQStCO0FBZS9CLElBQVksaUJBd0JYO0FBeEJELFdBQVksaUJBQWlCO0lBQzNCLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLDRFQUF1RCxDQUFBO0lBQ3ZELDREQUF1QyxDQUFBO0lBQ3ZDLDBEQUFxQyxDQUFBO0lBQ3JDLHNFQUFpRCxDQUFBO0lBQ2pELGdFQUEyQyxDQUFBO0lBQzNDLHNFQUFpRCxDQUFBO0lBQ2pELDBEQUFxQyxDQUFBO0lBQ3JDLDREQUF1QyxDQUFBO0lBQ3ZDLHdEQUFtQyxDQUFBO0lBQ25DLGdFQUEyQyxDQUFBO0lBQzNDLGtFQUE2QyxDQUFBO0lBQzdDLHNEQUFpQyxDQUFBO0lBQ2pDLDhDQUF5QixDQUFBO0lBQ3pCLHNEQUFpQyxDQUFBO0lBQ2pDLHNEQUFpQyxDQUFBO0lBQ2pDLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLHdEQUFtQyxDQUFBO0lBQ25DLGtFQUE2QyxDQUFBO0lBQzdDLDhEQUF5QyxDQUFBO0lBQ3pDLDBEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUF4QlcsaUJBQWlCLEdBQWpCLHlCQUFpQixLQUFqQix5QkFBaUIsUUF3QjVCO0FBNkNELFNBQWdCLGNBQWMsQ0FBQyxLQUFvQjtJQUNqRCxPQUFPLENBQ0wsSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLENBQUM7UUFDdkIsSUFBQSxxQkFBYSxFQUFDLEtBQUssQ0FBQztRQUNwQixJQUFBLHdCQUFnQixFQUFDLEtBQUssQ0FBQztRQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDdkIsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7QUFDSixDQUFDO0FBUkQsd0NBUUM7QUFXRCxTQUFnQixtQkFBbUIsQ0FDakMsS0FBb0I7SUFFcEIsT0FBTyxDQUNMLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDckIsaUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ3hCLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUMxQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FDeEIsQ0FBQztBQUNKLENBQUM7QUFURCxrREFTQztBQStFRCxTQUFnQixpQkFBaUIsQ0FDL0IsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztBQUMxRCxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FDbEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO0FBQzdELENBQUM7QUFKRCxvREFJQztBQUVELFNBQWdCLG1CQUFtQixDQUNqQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7QUFDNUQsQ0FBQztBQUpELGtEQUlDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQ2pDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztBQUM1RCxDQUFDO0FBSkQsa0RBSUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztBQUN6RCxDQUFDO0FBSkQsNENBSUM7QUFFRCxTQUFnQiwyQkFBMkIsQ0FDekMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDO0FBQ3BFLENBQUM7QUFKRCxrRUFJQztBQU9ELFNBQWdCLGdCQUFnQixDQUM5QixLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsY0FBYyxDQUFDO0FBQ3pELENBQUM7QUFKRCw0Q0FJQztBQU9ELFNBQWdCLHNCQUFzQixDQUNwQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsb0JBQW9CLENBQUM7QUFDL0QsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQ2pDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztBQUM1RCxDQUFDO0FBSkQsa0RBSUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztBQUN6RCxDQUFDO0FBSkQsNENBSUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FDdEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDO0FBQ2pFLENBQUM7QUFKRCw0REFJQztBQUNELFNBQWdCLHdCQUF3QixDQUN0QyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsc0JBQXNCLENBQUM7QUFDakUsQ0FBQztBQUpELDREQUlDO0FBQ0QsU0FBZ0IscUJBQXFCLENBQ25DLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztBQUM5RCxDQUFDO0FBSkQsc0RBSUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztBQUN6RCxDQUFDO0FBSkQsNENBSUM7QUFFWSxRQUFBLHdCQUF3QixHQUFHLElBQUEsWUFBRSxFQUN4QyxnQkFBZ0IsRUFDaEIsbUJBQW1CLENBQ3BCLENBQUM7QUFtQkYsU0FBZ0IscUJBQXFCLENBQ25DLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztBQUM5RCxDQUFDO0FBSkQsc0RBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FDcEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO0FBQy9ELENBQUM7QUFKRCx3REFJQztBQUVELFNBQWdCLGdCQUFnQixDQUM5QixLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsY0FBYyxDQUFDO0FBQ3pELENBQUM7QUFKRCw0Q0FJQztBQVNELFNBQWdCLFlBQVksQ0FBQyxLQUFvQjtJQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDO0FBQ3JELENBQUM7QUFGRCxvQ0FFQztBQU9ELFNBQWdCLGlCQUFpQixDQUMvQixLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsZUFBZSxDQUFDO0FBQzFELENBQUM7QUFKRCw4Q0FJQztBQU1ELFNBQWdCLGtCQUFrQixDQUNoQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7QUFDM0QsQ0FBQztBQUpELGdEQUlDO0FBTUQsU0FBZ0IsbUJBQW1CLENBQ2pDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztBQUM1RCxDQUFDO0FBSkQsa0RBSUM7QUFVRCxTQUFnQixrQkFBa0IsQ0FDaEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0FBQzNELENBQUM7QUFKRCxnREFJQztBQUVELFNBQWdCLGtCQUFrQixDQUNoQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7QUFDM0QsQ0FBQztBQUpELGdEQUlDO0FBRVksUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLFlBQUUsRUFDaEMsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osZ0JBQWdCLENBQ2pCLENBQUM7QUFFVyxRQUFBLGdCQUFnQixHQUFHLElBQUEsWUFBRSxFQUNoQyxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLGdCQUFnQixDQUNqQixDQUFDO0FBRVcsUUFBQSxhQUFhLEdBQUcsSUFBQSxZQUFFLEVBQzdCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLGtCQUFrQixDQUNuQixDQUFDO0FBRUYsU0FBZ0IsZUFBZSxDQUM3QixLQUFVLEVBQ1YsSUFBZTtJQUVmLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFQRCwwQ0FPQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixVQUFVLENBQUMsS0FBb0I7SUFDN0MsSUFDRSxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3JCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQ3hCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQzFCO1FBQ0EsT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ3JDO1NBQU07UUFDTCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7S0FDakI7QUFDSCxDQUFDO0FBVkQsZ0NBVUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWSxDQUMxQixZQUFpQixFQUNqQixNQUFXO0lBRVgsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRWxELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzdCLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBZEQsb0NBY0M7QUFJRCxTQUFnQixXQUFXLENBQ3pCLEtBQXlCLEVBQ3pCLElBQVUsRUFDVixLQUFhLElBQUEsWUFBSSxHQUFFO0lBRW5CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVyQyxpREFBaUQ7SUFDakQsSUFDRSxjQUFjLENBQUMsS0FBaUMsQ0FBQztRQUNqRCxDQUFDLGdCQUFnQixDQUFDLEtBQWlDLENBQUMsRUFDcEQ7UUFDQSxPQUFPLEVBQUUsR0FBSSxLQUFhLEVBQUUsU0FBUyxFQUFFLENBQUM7S0FDekM7SUFFRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBTyxDQUFDO0FBQzFDLENBQUM7QUFoQkQsa0NBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdWxpZCB9IGZyb20gXCJ1bGlkeFwiO1xuaW1wb3J0IHsgRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcbmltcG9ydCB7IEV2ZW50RW52ZWxvcGUgfSBmcm9tIFwiLi9ldmVudC5qc1wiO1xuaW1wb3J0IHsgb3IgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBmaWVsZHMgZm9yIGV2ZW50cyB0aGF0IHtAbGluayBFdmVudHVhbH0gYWN0aXZlcyB3aXRoIGluIG9yZGVyIHNlbWFudGljcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXN0b3J5RXZlbnRCYXNlIGV4dGVuZHMgT21pdDxCYXNlRXZlbnQsIFwiaWRcIj4ge1xuICBzZXE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gV29ya2Zsb3dFdmVudFR5cGUge1xuICBBY3Rpdml0eVN1Y2NlZWRlZCA9IFwiQWN0aXZpdHlTdWNjZWVkZWRcIixcbiAgQWN0aXZpdHlGYWlsZWQgPSBcIkFjdGl2aXR5RmFpbGVkXCIsXG4gIEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQgPSBcIkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXRcIixcbiAgQWN0aXZpdHlTY2hlZHVsZWQgPSBcIkFjdGl2aXR5U2NoZWR1bGVkXCIsXG4gIEFjdGl2aXR5VGltZWRPdXQgPSBcIkFjdGl2aXR5VGltZWRPdXRcIixcbiAgQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCA9IFwiQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZFwiLFxuICBDaGlsZFdvcmtmbG93RmFpbGVkID0gXCJDaGlsZFdvcmtmbG93RmFpbGVkXCIsXG4gIENoaWxkV29ya2Zsb3dTY2hlZHVsZWQgPSBcIkNoaWxkV29ya2Zsb3dTY2hlZHVsZWRcIixcbiAgQ29uZGl0aW9uU3RhcnRlZCA9IFwiQ29uZGl0aW9uU3RhcnRlZFwiLFxuICBDb25kaXRpb25UaW1lZE91dCA9IFwiQ29uZGl0aW9uVGltZWRPdXRcIixcbiAgRXZlbnRzUHVibGlzaGVkID0gXCJFdmVudHNQdWJsaXNoZWRcIixcbiAgRXhwZWN0U2lnbmFsU3RhcnRlZCA9IFwiRXhwZWN0U2lnbmFsU3RhcnRlZFwiLFxuICBFeHBlY3RTaWduYWxUaW1lZE91dCA9IFwiRXhwZWN0U2lnbmFsVGltZWRPdXRcIixcbiAgU2lnbmFsUmVjZWl2ZWQgPSBcIlNpZ25hbFJlY2VpdmVkXCIsXG4gIFNpZ25hbFNlbnQgPSBcIlNpZ25hbFNlbnRcIixcbiAgU2xlZXBDb21wbGV0ZWQgPSBcIlNsZWVwQ29tcGxldGVkXCIsXG4gIFNsZWVwU2NoZWR1bGVkID0gXCJTbGVlcFNjaGVkdWxlZFwiLFxuICBXb3JrZmxvd1N1Y2NlZWRlZCA9IFwiV29ya2Zsb3dTdWNjZWVkZWRcIixcbiAgV29ya2Zsb3dGYWlsZWQgPSBcIldvcmtmbG93RmFpbGVkXCIsXG4gIFdvcmtmbG93U3RhcnRlZCA9IFwiV29ya2Zsb3dTdGFydGVkXCIsXG4gIFdvcmtmbG93UnVuQ29tcGxldGVkID0gXCJXb3JrZmxvd1J1bkNvbXBsZXRlZFwiLFxuICBXb3JrZmxvd1J1blN0YXJ0ZWQgPSBcIldvcmtmbG93UnVuU3RhcnRlZFwiLFxuICBXb3JrZmxvd1RpbWVkT3V0ID0gXCJXb3JrZmxvd1RpbWVkT3V0XCIsXG59XG5cbi8qKlxuICogRXZlbnRzIGdlbmVyYXRlZCBieSB0aGUgZW5naW5lIHRoYXQgcmVwcmVzZW50IHRoZSBpbi1vcmRlciBzdGF0ZSBvZiB0aGUgd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCB0eXBlIFdvcmtmbG93RXZlbnQgPVxuICB8IEhpc3RvcnlFdmVudFxuICB8IFdvcmtmbG93UnVuQ29tcGxldGVkXG4gIHwgV29ya2Zsb3dSdW5TdGFydGVkXG4gIHwgV29ya2Zsb3dTdWNjZWVkZWRcbiAgfCBXb3JrZmxvd0ZhaWxlZFxuICB8IFdvcmtmbG93U3RhcnRlZDtcblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVkRXZlbnQgPVxuICB8IEFjdGl2aXR5U2NoZWR1bGVkXG4gIHwgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZFxuICB8IENvbmRpdGlvblN0YXJ0ZWRcbiAgfCBFdmVudHNQdWJsaXNoZWRcbiAgfCBFeHBlY3RTaWduYWxTdGFydGVkXG4gIHwgU2lnbmFsU2VudFxuICB8IFNsZWVwU2NoZWR1bGVkO1xuXG5leHBvcnQgdHlwZSBTdWNjZWVkZWRFdmVudCA9XG4gIHwgQWN0aXZpdHlTdWNjZWVkZWRcbiAgfCBDaGlsZFdvcmtmbG93U3VjY2VlZGVkXG4gIHwgU2xlZXBDb21wbGV0ZWQ7XG5cbmV4cG9ydCB0eXBlIEZhaWxlZEV2ZW50ID1cbiAgfCBBY3Rpdml0eUZhaWxlZFxuICB8IEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXRcbiAgfCBBY3Rpdml0eVRpbWVkT3V0XG4gIHwgQ2hpbGRXb3JrZmxvd0ZhaWxlZFxuICB8IENvbmRpdGlvblRpbWVkT3V0XG4gIHwgRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG5cbi8qKlxuICogRXZlbnRzIHVzZWQgYnkgdGhlIHdvcmtmbG93IHRvIHJlcGxheSBhbiBleGVjdXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEhpc3RvcnlFdmVudCA9XG4gIHwgU3VjY2VlZGVkRXZlbnRcbiAgfCBGYWlsZWRFdmVudFxuICB8IFNjaGVkdWxlZEV2ZW50XG4gIHwgU2lnbmFsUmVjZWl2ZWRcbiAgfCBXb3JrZmxvd1RpbWVkT3V0O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIaXN0b3J5RXZlbnQoZXZlbnQ6IFdvcmtmbG93RXZlbnQpOiBldmVudCBpcyBIaXN0b3J5RXZlbnQge1xuICByZXR1cm4gKFxuICAgIGlzU3VjY2VlZGVkRXZlbnQoZXZlbnQpIHx8XG4gICAgaXNGYWlsZWRFdmVudChldmVudCkgfHxcbiAgICBpc1NjaGVkdWxlZEV2ZW50KGV2ZW50KSB8fFxuICAgIGlzU2lnbmFsUmVjZWl2ZWQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1RpbWVkT3V0KGV2ZW50KVxuICApO1xufVxuXG4vKipcbiAqIEV2ZW50cyB0aGF0IHdlIHNhdmUgaW50byBoaXN0b3J5LlxuICovXG5leHBvcnQgdHlwZSBIaXN0b3J5U3RhdGVFdmVudCA9XG4gIHwgSGlzdG9yeUV2ZW50XG4gIHwgV29ya2Zsb3dTdGFydGVkXG4gIHwgV29ya2Zsb3dTdWNjZWVkZWRcbiAgfCBXb3JrZmxvd0ZhaWxlZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGlzdG9yeVN0YXRlRXZlbnQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBIaXN0b3J5U3RhdGVFdmVudCB7XG4gIHJldHVybiAoXG4gICAgaXNIaXN0b3J5RXZlbnQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1N0YXJ0ZWQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1N1Y2NlZWRlZChldmVudCkgfHxcbiAgICBpc1dvcmtmbG93RmFpbGVkKGV2ZW50KVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93U3RhcnRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3RhcnRlZDtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtmbG93IHRvIGV4ZWN1dGUuXG4gICAqL1xuICB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIElucHV0IHBheWxvYWQgZm9yIHRoZSB3b3JrZmxvdyBmdW5jdGlvbi5cbiAgICovXG4gIGlucHV0PzogYW55O1xuICAvKipcbiAgICogT3B0aW9uYWwgSVNPIHRpbWVzdGFtcCBhZnRlciB3aGljaCB0aGUgd29ya2Zsb3cgc2hvdWxkIHRpbWVvdXQuXG4gICAqL1xuICB0aW1lb3V0VGltZT86IHN0cmluZztcbiAgY29udGV4dDogT21pdDxFeGVjdXRpb25Db250ZXh0LCBcImlkXCIgfCBcInN0YXJ0VGltZVwiPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dSdW5TdGFydGVkIGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5TdGFydGVkO1xuICAvKipcbiAgICogQW4gZXhlY3V0aW9uIElEIG9mIHRoZSBwYXJlbnQgd29ya2Zsb3cgZXhlY3V0aW9uIHRoYXRcbiAgICogc3RhcnRlZCB0aGlzIHdvcmtmbG93IGlmIHRoaXMgaXMgYSBjaGlsZCB3b3JrZmxvdy5cbiAgICovXG4gIHBhcmVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eVNjaGVkdWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVNjaGVkdWxlZDtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5U3VjY2VlZGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U3VjY2VlZGVkO1xuICByZXN1bHQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUZhaWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUZhaWxlZDtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dSdW5Db21wbGV0ZWQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1J1bkNvbXBsZXRlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1N1Y2NlZWRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3VjY2VlZGVkO1xuICBvdXRwdXQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0ZhaWxlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93RmFpbGVkO1xuICBlcnJvcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U2NoZWR1bGVkO1xuICBuYW1lOiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkV29ya2Zsb3dTdWNjZWVkZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZDtcbiAgcmVzdWx0OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRXb3JrZmxvd0ZhaWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93RmFpbGVkO1xuICBlcnJvcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93U3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93U3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1N0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93UnVuU3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93UnVuU3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1J1blN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5U2NoZWR1bGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlTY2hlZHVsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTY2hlZHVsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTdWNjZWVkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5RmFpbGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xlZXBTY2hlZHVsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2xlZXBTY2hlZHVsZWQ7XG4gIHVudGlsVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTbGVlcFNjaGVkdWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFNsZWVwU2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwU2NoZWR1bGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsZWVwQ29tcGxldGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkO1xuICByZXN1bHQ/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93UnVuQ29tcGxldGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dSdW5Db21wbGV0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5Db21wbGV0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dTdWNjZWVkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93RmFpbGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NoaWxkV29ya2Zsb3dTY2hlZHVsZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDaGlsZFdvcmtmbG93U2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTY2hlZHVsZWQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFdvcmtmbG93U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U3VjY2VlZGVkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hpbGRXb3JrZmxvd0ZhaWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENoaWxkV29ya2Zsb3dGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd0ZhaWxlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2xlZXBDb21wbGV0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBTbGVlcENvbXBsZXRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcENvbXBsZXRlZDtcbn1cblxuZXhwb3J0IGNvbnN0IGlzV29ya2Zsb3dDb21wbGV0ZWRFdmVudCA9IG9yKFxuICBpc1dvcmtmbG93RmFpbGVkLFxuICBpc1dvcmtmbG93U3VjY2VlZGVkXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVjdFNpZ25hbFN0YXJ0ZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsU3RhcnRlZDtcbiAgc2lnbmFsSWQ6IHN0cmluZztcbiAgdGltZW91dFNlY29uZHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwZWN0U2lnbmFsVGltZWRPdXQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG4gIHNpZ25hbElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsUmVjZWl2ZWQ8UGF5bG9hZCA9IGFueT4gZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxSZWNlaXZlZDtcbiAgc2lnbmFsSWQ6IHN0cmluZztcbiAgcGF5bG9hZD86IFBheWxvYWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4cGVjdFNpZ25hbFN0YXJ0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBFeHBlY3RTaWduYWxTdGFydGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4cGVjdFNpZ25hbFRpbWVkT3V0KFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgRXhwZWN0U2lnbmFsVGltZWRPdXQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NpZ25hbFJlY2VpdmVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgU2lnbmFsUmVjZWl2ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsUmVjZWl2ZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsU2VudCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxTZW50O1xuICBwYXlsb2FkPzogYW55O1xuICBzaWduYWxJZDogc3RyaW5nO1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaWduYWxTZW50KGV2ZW50OiBXb3JrZmxvd0V2ZW50KTogZXZlbnQgaXMgU2lnbmFsU2VudCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxTZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50c1B1Ymxpc2hlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FdmVudHNQdWJsaXNoZWQ7XG4gIGV2ZW50czogRXZlbnRFbnZlbG9wZVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudHNQdWJsaXNoZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBFdmVudHNQdWJsaXNoZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuRXZlbnRzUHVibGlzaGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvblN0YXJ0ZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uU3RhcnRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZGl0aW9uU3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENvbmRpdGlvblN0YXJ0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uU3RhcnRlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25UaW1lZE91dCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25UaW1lZE91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZGl0aW9uVGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDb25kaXRpb25UaW1lZE91dCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25UaW1lZE91dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eVRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dUaW1lZE91dCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBBY3Rpdml0eVRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBXb3JrZmxvd1RpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBjb25zdCBpc1NjaGVkdWxlZEV2ZW50ID0gb3IoXG4gIGlzQWN0aXZpdHlTY2hlZHVsZWQsXG4gIGlzQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCxcbiAgaXNDb25kaXRpb25TdGFydGVkLFxuICBpc0V2ZW50c1B1Ymxpc2hlZCxcbiAgaXNFeHBlY3RTaWduYWxTdGFydGVkLFxuICBpc1NpZ25hbFNlbnQsXG4gIGlzU2xlZXBTY2hlZHVsZWRcbik7XG5cbmV4cG9ydCBjb25zdCBpc1N1Y2NlZWRlZEV2ZW50ID0gb3IoXG4gIGlzQWN0aXZpdHlTdWNjZWVkZWQsXG4gIGlzQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCxcbiAgaXNTbGVlcENvbXBsZXRlZFxuKTtcblxuZXhwb3J0IGNvbnN0IGlzRmFpbGVkRXZlbnQgPSBvcihcbiAgaXNBY3Rpdml0eUZhaWxlZCxcbiAgaXNBY3Rpdml0eVRpbWVkT3V0LFxuICBpc0FjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQsXG4gIGlzQ2hpbGRXb3JrZmxvd0ZhaWxlZCxcbiAgaXNDb25kaXRpb25UaW1lZE91dCxcbiAgaXNFeHBlY3RTaWduYWxUaW1lZE91dCxcbiAgaXNXb3JrZmxvd1RpbWVkT3V0XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RXZlbnRUeXBlPFQgZXh0ZW5kcyBXb3JrZmxvd0V2ZW50PihcbiAgZXZlbnQ6IGFueSxcbiAgdHlwZTogVFtcInR5cGVcIl1cbik6IGFzc2VydHMgZXZlbnQgaXMgVCB7XG4gIGlmICghZXZlbnQgfHwgZXZlbnQudHlwZSAhPT0gdHlwZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgZXZlbnQgb2YgdHlwZSAke3R5cGV9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21wdXRlIHRoZSBJRCBvZiBhbiBldmVudC5cbiAqXG4gKiBTb21lIGV2ZW50cyBoYXZlIGEgY29tcHV0ZWQgSUQgdG8gc2F2ZSBzcGFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEV2ZW50SWQoZXZlbnQ6IFdvcmtmbG93RXZlbnQpOiBzdHJpbmcge1xuICBpZiAoXG4gICAgaXNIaXN0b3J5RXZlbnQoZXZlbnQpICYmXG4gICAgIWlzU2lnbmFsUmVjZWl2ZWQoZXZlbnQpICYmXG4gICAgIWlzV29ya2Zsb3dUaW1lZE91dChldmVudClcbiAgKSB7XG4gICAgcmV0dXJuIGAke2V2ZW50LnNlcX1fJHtldmVudC50eXBlfWA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGV2ZW50LmlkO1xuICB9XG59XG5cbi8qKlxuICogRmlsdGVycyBvdXQgZXZlbnRzIHRoYXQgYXJlIGFsc28gcHJlc2VudCBpbiBvcmlnaW4gZXZlbnRzLlxuICpcbiAqIEV2ZW50cyBhcmUgdGFrZW4gb25seSBpZiB0aGVpciBJRCAoe0BsaW5rIGdldEV2ZW50SWR9KSBpcyB1bmlxdWUgYWNyb3NzIGFsbCBvdGhlciBldmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFdmVudHM8VCBleHRlbmRzIFdvcmtmbG93RXZlbnQ+KFxuICBvcmlnaW5FdmVudHM6IFRbXSxcbiAgZXZlbnRzOiBUW11cbik6IFRbXSB7XG4gIGNvbnN0IGlkcyA9IG5ldyBTZXQob3JpZ2luRXZlbnRzLm1hcChnZXRFdmVudElkKSk7XG5cbiAgcmV0dXJuIGV2ZW50cy5maWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgaWQgPSBnZXRFdmVudElkKGV2ZW50KTtcbiAgICBpZiAoaWRzLmhhcyhpZCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWRzLmFkZChpZCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xufVxuXG50eXBlIFVucmVzb2x2ZWRFdmVudDxUIGV4dGVuZHMgV29ya2Zsb3dFdmVudD4gPSBPbWl0PFQsIFwiaWRcIiB8IFwidGltZXN0YW1wXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXZlbnQ8VCBleHRlbmRzIFdvcmtmbG93RXZlbnQ+KFxuICBldmVudDogVW5yZXNvbHZlZEV2ZW50PFQ+LFxuICB0aW1lOiBEYXRlLFxuICBpZDogc3RyaW5nID0gdWxpZCgpXG4pOiBUIHtcbiAgY29uc3QgdGltZXN0YW1wID0gdGltZS50b0lTT1N0cmluZygpO1xuXG4gIC8vIGhpc3RvcnkgZXZlbnRzIGRvIG5vdCBoYXZlIElEcywgdXNlIGdldEV2ZW50SWRcbiAgaWYgKFxuICAgIGlzSGlzdG9yeUV2ZW50KGV2ZW50IGFzIHVua25vd24gYXMgV29ya2Zsb3dFdmVudCkgJiZcbiAgICAhaXNTaWduYWxSZWNlaXZlZChldmVudCBhcyB1bmtub3duIGFzIFdvcmtmbG93RXZlbnQpXG4gICkge1xuICAgIHJldHVybiB7IC4uLihldmVudCBhcyBhbnkpLCB0aW1lc3RhbXAgfTtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmV2ZW50LCBpZCwgdGltZXN0YW1wIH0gYXMgVDtcbn1cbiJdfQ== |
import type { Program } from "./interpret.js"; | ||
import type { Context, WorkflowContext } from "./context.js"; | ||
import type { Context } from "./context.js"; | ||
import { HistoryStateEvent, SleepCompleted } from "./workflow-events.js"; | ||
import { WorkflowResult } from "./interpret.js"; | ||
import { ChildExecution, ExecutionHandle } from "./execution.js"; | ||
@@ -71,10 +70,4 @@ import { StartExecutionRequest } from "./service-client.js"; | ||
export declare function workflow<Input = any, Output = any>(name: string, opts: WorkflowOptions, definition: WorkflowHandler<Input, Output>): Workflow<Input, Output>; | ||
export interface ProgressWorkflowResult extends WorkflowResult { | ||
history: HistoryStateEvent[]; | ||
} | ||
export declare function runWorkflowDefinition(workflow: Workflow, input: any, context: Context): Program<any>; | ||
/** | ||
* Advance a workflow using previous history, new events, and a program. | ||
*/ | ||
export declare function progressWorkflow(program: Workflow, historyEvents: HistoryStateEvent[], taskEvents: HistoryStateEvent[], workflowContext: WorkflowContext, executionId: string, baseTime?: Date): ProgressWorkflowResult; | ||
/** | ||
* Generates synthetic events, for example, {@link SleepCompleted} events when the time has passed, but a real completed event has not come in yet. | ||
@@ -81,0 +74,0 @@ */ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.generateSyntheticEvents = exports.progressWorkflow = exports.workflow = exports.lookupWorkflow = void 0; | ||
exports.generateSyntheticEvents = exports.runWorkflowDefinition = exports.workflow = exports.lookupWorkflow = void 0; | ||
const global_js_1 = require("./global.js"); | ||
const error_js_1 = require("./error.js"); | ||
const workflow_events_js_1 = require("./workflow-events.js"); | ||
const interpret_js_1 = require("./interpret.js"); | ||
const workflow_call_js_1 = require("./calls/workflow-call.js"); | ||
@@ -46,43 +44,6 @@ const flags_js_1 = require("./runtime/flags.js"); | ||
exports.workflow = workflow; | ||
/** | ||
* Advance a workflow using previous history, new events, and a program. | ||
*/ | ||
function progressWorkflow(program, historyEvents, taskEvents, workflowContext, executionId, baseTime = new Date()) { | ||
// historical events and incoming events will be fed into the workflow to resume/progress state | ||
const uniqueTaskEvents = (0, workflow_events_js_1.filterEvents)(historyEvents, taskEvents); | ||
const inputEvents = [...historyEvents, ...uniqueTaskEvents]; | ||
// Generates events that are time sensitive, like sleep completed events. | ||
const syntheticEvents = generateSyntheticEvents(inputEvents, baseTime); | ||
const allEvents = [...inputEvents, ...syntheticEvents]; | ||
const startEvent = inputEvents.find(workflow_events_js_1.isWorkflowStarted); | ||
if (!startEvent) { | ||
throw new error_js_1.DeterminismError(`No ${workflow_events_js_1.WorkflowEventType.WorkflowStarted} found.`); | ||
} | ||
const context = { | ||
workflow: workflowContext, | ||
execution: { | ||
...startEvent.context, | ||
id: executionId, | ||
startTime: startEvent.timestamp, | ||
}, | ||
}; | ||
// execute workflow | ||
const interpretEvents = allEvents.filter(workflow_events_js_1.isHistoryEvent); | ||
console.debug("history events", JSON.stringify(historyEvents)); | ||
console.debug("task events", JSON.stringify(taskEvents)); | ||
console.debug("synthetic events", JSON.stringify(syntheticEvents)); | ||
console.debug("interpret events", JSON.stringify(interpretEvents)); | ||
try { | ||
return { | ||
...(0, interpret_js_1.interpret)(program.definition(startEvent.input, context), interpretEvents), | ||
history: allEvents, | ||
}; | ||
} | ||
catch (err) { | ||
// temporary fix when the interpreter fails, but the activities are not cleared. | ||
(0, global_js_1.clearEventualCollector)(); | ||
throw err; | ||
} | ||
function runWorkflowDefinition(workflow, input, context) { | ||
return workflow.definition(input, context); | ||
} | ||
exports.progressWorkflow = progressWorkflow; | ||
exports.runWorkflowDefinition = runWorkflowDefinition; | ||
/** | ||
@@ -112,2 +73,2 @@ * Generates synthetic events, for example, {@link SleepCompleted} events when the time has passed, but a real completed event has not come in yet. | ||
exports.generateSyntheticEvents = generateSyntheticEvents; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBSXFCO0FBR3JCLHlDQUE4QztBQUM5Qyw2REFVOEI7QUFDOUIsaURBQTJEO0FBQzNELCtEQUE4RDtBQUU5RCxpREFBMEQ7QUFDMUQseUNBQXFDO0FBNEVyQyxTQUFnQixjQUFjLENBQUMsSUFBWTtJQUN6QyxPQUFPLElBQUEscUJBQVMsR0FBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRkQsd0NBRUM7QUErQkQsU0FBZ0IsUUFBUSxDQUN0QixJQUFZLEVBQ1osR0FBRyxJQUU2QztJQUVoRCxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNFLElBQUksSUFBQSxxQkFBUyxHQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksa0JBQWtCLENBQUMsQ0FBQztLQUNoRTtJQUVELE1BQU0sUUFBUSxHQUE0QixDQUFDLENBQUMsS0FBVyxFQUFFLEVBQUU7UUFDekQsSUFBSSxDQUFDLElBQUEsK0JBQW9CLEdBQUUsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUNiLDhGQUE4RixDQUMvRixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUEscUNBQWtCLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQVEsQ0FBQztJQUVWLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBRTdCLFFBQVEsQ0FBQyxjQUFjLEdBQUcsS0FBSyxX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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB3b3JrZmxvd3MsXG4gIGNsZWFyRXZlbnR1YWxDb2xsZWN0b3IsXG4gIGdldFNlcnZpY2VDbGllbnQsXG59IGZyb20gXCIuL2dsb2JhbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9ncmFtIH0gZnJvbSBcIi4vaW50ZXJwcmV0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRleHQsIFdvcmtmbG93Q29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcbmltcG9ydCB7IERldGVybWluaXNtRXJyb3IgfSBmcm9tIFwiLi9lcnJvci5qc1wiO1xuaW1wb3J0IHtcbiAgZmlsdGVyRXZlbnRzLFxuICBIaXN0b3J5U3RhdGVFdmVudCxcbiAgaXNIaXN0b3J5RXZlbnQsXG4gIGlzU2xlZXBDb21wbGV0ZWQsXG4gIGlzU2xlZXBTY2hlZHVsZWQsXG4gIGlzV29ya2Zsb3dTdGFydGVkLFxuICBTbGVlcENvbXBsZXRlZCxcbiAgU2xlZXBTY2hlZHVsZWQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IGludGVycHJldCwgV29ya2Zsb3dSZXN1bHQgfSBmcm9tIFwiLi9pbnRlcnByZXQuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVdvcmtmbG93Q2FsbCB9IGZyb20gXCIuL2NhbGxzL3dvcmtmbG93LWNhbGwuanNcIjtcbmltcG9ydCB7IEF3YWl0ZWRFdmVudHVhbCB9IGZyb20gXCIuL2V2ZW50dWFsLmpzXCI7XG5pbXBvcnQgeyBpc09yY2hlc3RyYXRvcldvcmtlciB9IGZyb20gXCIuL3J1bnRpbWUvZmxhZ3MuanNcIjtcbmltcG9ydCB7IGlzQ2hhaW4gfSBmcm9tIFwiLi9jaGFpbi5qc1wiO1xuaW1wb3J0IHsgQ2hpbGRFeGVjdXRpb24sIEV4ZWN1dGlvbkhhbmRsZSB9IGZyb20gXCIuL2V4ZWN1dGlvbi5qc1wiO1xuaW1wb3J0IHsgU3RhcnRFeGVjdXRpb25SZXF1ZXN0IH0gZnJvbSBcIi4vc2VydmljZS1jbGllbnQuanNcIjtcblxuZXhwb3J0IHR5cGUgV29ya2Zsb3dIYW5kbGVyPElucHV0ID0gYW55LCBPdXRwdXQgPSBhbnk+ID0gKFxuICBpbnB1dDogSW5wdXQsXG4gIGNvbnRleHQ6IENvbnRleHRcbikgPT4gUHJvbWlzZTxPdXRwdXQ+IHwgUHJvZ3JhbTxPdXRwdXQ+O1xuXG4vKipcbiAqIE9wdGlvbnMgd2hpY2ggZGV0ZXJtaW5lIGhvdyBhIHdvcmtmbG93IG9wZXJhdGVzLlxuICpcbiAqIENhbiBiZSBwcm92aWRlZCBhdCB3b3JrZmxvdyBkZWZpbml0aW9uIHRpbWUgYW5kL29yIG92ZXJyaWRkZW4gYnkgdGhlIGNhbGxlciBvZiB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc3RhcnRXb3JrZmxvd30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dPcHRpb25zIHtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBzZWNvbmRzIGJlZm9yZSBleGVjdXRpb24gdGltZXMgb3V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHdvcmtmbG93IHdpbGwgbmV2ZXIgdGltZW91dC5cbiAgICovXG4gIHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBXb3JrZmxvd091dHB1dDxXIGV4dGVuZHMgV29ya2Zsb3c+ID0gVyBleHRlbmRzIFdvcmtmbG93PFxuICBhbnksXG4gIGluZmVyIE91dFxuPlxuICA/IE91dFxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBXb3JrZmxvd0lucHV0PFcgZXh0ZW5kcyBXb3JrZmxvdz4gPSBXIGV4dGVuZHMgV29ya2Zsb3c8XG4gIGluZmVyIEluLFxuICBhbnlcbj5cbiAgPyBJblxuICA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBBIHtAbGluayBXb3JrZmxvd30gaXMgYSBsb25nLXJ1bm5pbmcgcHJvY2VzcyB0aGF0IG9yY2hlc3RyYXRlcyBjYWxsc1xuICogdG8gb3RoZXIgc2VydmljZXMgaW4gYSBkdXJhYmxlIGFuZCBvYnNlcnZhYmxlIHdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdzxpbiBJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PiB7XG4gIC8qKlxuICAgKiBHbG9iYWxseSB1bmlxdWUgSUQgb2YgdGhpcyB7QGxpbmsgV29ya2Zsb3d9LlxuICAgKi9cbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgb3B0aW9ucz86IFdvcmtmbG93T3B0aW9ucztcblxuICAvKipcbiAgICogSW52b2tlcyB0aGUge0BsaW5rIFdvcmtmbG93fSBmcm9tIHdpdGhpbiBhbm90aGVyIHdvcmtmbG93LlxuICAgKlxuICAgKiBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBhbm90aGVyIHdvcmtmbG93IGJlY2F1c2UgaXQncyBub3QgcG9zc2libGVcbiAgICogdG8gd2FpdCBmb3IgY29tcGxldGlvbiBzeW5jaHJvbm91c2x5IC0gaXQgcmVsaWVzIG9uIHRoZSBldmVudC1kcml2ZW4gZW52aXJvbm1lbnRcbiAgICogb2YgYSB3b3JrZmxvdyBleGVjdXRpb24uXG4gICAqXG4gICAqIFRvIHN0YXJ0IGEgd29ya2Zsb3cgZnJvbSBhbm90aGVyIGVudmlyb25tZW50LCB1c2Uge0BsaW5rIHN0YXJ0fS5cbiAgICovXG4gIChpbnB1dDogSW5wdXQpOiBQcm9taXNlPE91dHB1dD4gJiBDaGlsZEV4ZWN1dGlvbjtcblxuICAvKipcbiAgICogU3RhcnRzIGEgd29ya2Zsb3cgZXhlY3V0aW9uXG4gICAqL1xuICBzdGFydEV4ZWN1dGlvbihcbiAgICByZXF1ZXN0OiBPbWl0PFN0YXJ0RXhlY3V0aW9uUmVxdWVzdDxXb3JrZmxvdzxJbnB1dCwgT3V0cHV0Pj4sIFwid29ya2Zsb3dcIj5cbiAgKTogUHJvbWlzZTxFeGVjdXRpb25IYW5kbGU8V29ya2Zsb3c8SW5wdXQsIE91dHB1dD4+PjtcblxuICAvKipcbiAgICogQGludGVybmFsIC0gdGhpcyBpcyB0aGUgaW50ZXJuYWwgRFNMIHJlcHJlc2VudGF0aW9uIHRoYXQgcHJvZHVjZXMgYSB7QGxpbmsgUHJvZ3JhbX0gaW5zdGVhZCBvZiBhIFByb21pc2UuXG4gICAqL1xuICBkZWZpbml0aW9uOiAoXG4gICAgaW5wdXQ6IElucHV0LFxuICAgIGNvbnRleHQ6IENvbnRleHRcbiAgKSA9PiBQcm9ncmFtPEF3YWl0ZWRFdmVudHVhbDxPdXRwdXQ+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cFdvcmtmbG93KG5hbWU6IHN0cmluZyk6IFdvcmtmbG93IHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHdvcmtmbG93cygpLmdldChuYW1lKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuZCByZWdpc3RlcnMgYSBsb25nLXJ1bm5pbmcgd29ya2Zsb3cuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBhY3Rpdml0eSwgd29ya2Zsb3cgfSBmcm9tIFwiQGV2ZW50dWFsL2NvcmVcIjtcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCB3b3JrZmxvdyhcIm15LXdvcmtmbG93XCIsIGFzeW5jICh7IG5hbWUgfTogeyBuYW1lOiBzdHJpbmcgfSkgPT4ge1xuICogICBjb25zdCByZXN1bHQgPSBhd2FpdCBoZWxsbyhuYW1lKTtcbiAqICAgY29uc29sZS5sb2cocmVzdWx0KTtcbiAqICAgcmV0dXJuIGB5b3Ugc2FpZCAke3Jlc3VsdH1gO1xuICogfSk7XG4gKlxuICogY29uc3QgaGVsbG8gPSBhY3Rpdml0eShcImhlbGxvXCIsIGFzeW5jIChuYW1lOiBzdHJpbmcpID0+IHtcbiAqICAgcmV0dXJuIGBoZWxsbyAke25hbWV9YDtcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gbmFtZSBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBmb3IgdGhpcyB3b3JrZmxvdy5cbiAqIEBwYXJhbSBkZWZpbml0aW9uIHRoZSB3b3JrZmxvdyBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVmaW5pdGlvbjogV29ya2Zsb3dIYW5kbGVyPElucHV0LCBPdXRwdXQ+XG4pOiBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PjtcbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvdzxJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PihcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRzOiBXb3JrZmxvd09wdGlvbnMsXG4gIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0PlxuKTogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD47XG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgLi4uYXJnczpcbiAgICB8IFtvcHRzOiBXb3JrZmxvd09wdGlvbnMsIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0Pl1cbiAgICB8IFtkZWZpbml0aW9uOiBXb3JrZmxvd0hhbmRsZXI8SW5wdXQsIE91dHB1dD5dXG4pOiBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PiB7XG4gIGNvbnN0IFtvcHRzLCBkZWZpbml0aW9uXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW3VuZGVmaW5lZCwgYXJnc1swXV0gOiBhcmdzO1xuICBpZiAod29ya2Zsb3dzKCkuaGFzKG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB3b3JrZmxvdyB3aXRoIG5hbWUgJyR7bmFtZX0nIGFscmVhZHkgZXhpc3RzYCk7XG4gIH1cblxuICBjb25zdCB3b3JrZmxvdzogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD4gPSAoKGlucHV0PzogYW55KSA9PiB7XG4gICAgaWYgKCFpc09yY2hlc3RyYXRvcldvcmtlcigpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRGlyZWN0IHdvcmtmbG93IGludm9jYXRpb24gaXMgb25seSB2YWxpZCBpbiBhIHdvcmtmbG93LCB1c2Ugd29ya2Zsb3cuc3RhcnRFeGVjdXRpb24gaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlV29ya2Zsb3dDYWxsKG5hbWUsIGlucHV0LCBvcHRzKTtcbiAgfSkgYXMgYW55O1xuXG4gIHdvcmtmbG93LndvcmtmbG93TmFtZSA9IG5hbWU7XG5cbiAgd29ya2Zsb3cuc3RhcnRFeGVjdXRpb24gPSBhc3luYyBmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICBjb25zdCBzZXJ2aWNlQ2xpZW50ID0gZ2V0U2VydmljZUNsaWVudCgpO1xuICAgIHJldHVybiBhd2FpdCBzZXJ2aWNlQ2xpZW50LnN0YXJ0RXhlY3V0aW9uPFdvcmtmbG93PElucHV0LCBPdXRwdXQ+Pih7XG4gICAgICB3b3JrZmxvdzogbmFtZSxcbiAgICAgIGV4ZWN1dGlvbk5hbWU6IGlucHV0LmV4ZWN1dGlvbk5hbWUsXG4gICAgICBpbnB1dDogaW5wdXQuaW5wdXQsXG4gICAgICB0aW1lb3V0U2Vjb25kczogaW5wdXQudGltZW91dFNlY29uZHMsXG4gICAgICAuLi5vcHRzLFxuICAgIH0pO1xuICB9O1xuXG4gIHdvcmtmbG93LmRlZmluaXRpb24gPSAoXG4gICAgaXNDaGFpbihkZWZpbml0aW9uKVxuICAgICAgPyBkZWZpbml0aW9uXG4gICAgICA6IGZ1bmN0aW9uKiAoaW5wdXQsIGNvbnRleHQpOiBhbnkge1xuICAgICAgICAgIHJldHVybiB5aWVsZCBkZWZpbml0aW9uKGlucHV0LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICApIGFzIFdvcmtmbG93PElucHV0LCBPdXRwdXQ+W1wiZGVmaW5pdGlvblwiXTsgLy8gc2FmZSB0byBjYXN0IGJlY2F1c2Ugd2UgcmVseSBvbiB0cmFuc2Zvcm1lciAoaXQgaXMgYWx3YXlzIHRoZSBnZW5lcmF0b3IgQVBJKVxuICB3b3JrZmxvd3MoKS5zZXQobmFtZSwgd29ya2Zsb3cpO1xuICByZXR1cm4gd29ya2Zsb3c7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZ3Jlc3NXb3JrZmxvd1Jlc3VsdCBleHRlbmRzIFdvcmtmbG93UmVzdWx0IHtcbiAgaGlzdG9yeTogSGlzdG9yeVN0YXRlRXZlbnRbXTtcbn1cblxuLyoqXG4gKiBBZHZhbmNlIGEgd29ya2Zsb3cgdXNpbmcgcHJldmlvdXMgaGlzdG9yeSwgbmV3IGV2ZW50cywgYW5kIGEgcHJvZ3JhbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2dyZXNzV29ya2Zsb3coXG4gIHByb2dyYW06IFdvcmtmbG93LFxuICBoaXN0b3J5RXZlbnRzOiBIaXN0b3J5U3RhdGVFdmVudFtdLFxuICB0YXNrRXZlbnRzOiBIaXN0b3J5U3RhdGVFdmVudFtdLFxuICB3b3JrZmxvd0NvbnRleHQ6IFdvcmtmbG93Q29udGV4dCxcbiAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcbiAgYmFzZVRpbWU6IERhdGUgPSBuZXcgRGF0ZSgpXG4pOiBQcm9ncmVzc1dvcmtmbG93UmVzdWx0IHtcbiAgLy8gaGlzdG9yaWNhbCBldmVudHMgYW5kIGluY29taW5nIGV2ZW50cyB3aWxsIGJlIGZlZCBpbnRvIHRoZSB3b3JrZmxvdyB0byByZXN1bWUvcHJvZ3Jlc3Mgc3RhdGVcbiAgY29uc3QgdW5pcXVlVGFza0V2ZW50cyA9IGZpbHRlckV2ZW50czxIaXN0b3J5U3RhdGVFdmVudD4oXG4gICAgaGlzdG9yeUV2ZW50cyxcbiAgICB0YXNrRXZlbnRzXG4gICk7XG5cbiAgY29uc3QgaW5wdXRFdmVudHMgPSBbLi4uaGlzdG9yeUV2ZW50cywgLi4udW5pcXVlVGFza0V2ZW50c107XG5cbiAgLy8gR2VuZXJhdGVzIGV2ZW50cyB0aGF0IGFyZSB0aW1lIHNlbnNpdGl2ZSwgbGlrZSBzbGVlcCBjb21wbGV0ZWQgZXZlbnRzLlxuICBjb25zdCBzeW50aGV0aWNFdmVudHMgPSBnZW5lcmF0ZVN5bnRoZXRpY0V2ZW50cyhpbnB1dEV2ZW50cywgYmFzZVRpbWUpO1xuXG4gIGNvbnN0IGFsbEV2ZW50cyA9IFsuLi5pbnB1dEV2ZW50cywgLi4uc3ludGhldGljRXZlbnRzXTtcblxuICBjb25zdCBzdGFydEV2ZW50ID0gaW5wdXRFdmVudHMuZmluZChpc1dvcmtmbG93U3RhcnRlZCk7XG5cbiAgaWYgKCFzdGFydEV2ZW50KSB7XG4gICAgdGhyb3cgbmV3IERldGVybWluaXNtRXJyb3IoXG4gICAgICBgTm8gJHtXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1N0YXJ0ZWR9IGZvdW5kLmBcbiAgICApO1xuICB9XG5cbiAgY29uc3QgY29udGV4dDogQ29udGV4dCA9IHtcbiAgICB3b3JrZmxvdzogd29ya2Zsb3dDb250ZXh0LFxuICAgIGV4ZWN1dGlvbjoge1xuICAgICAgLi4uc3RhcnRFdmVudC5jb250ZXh0LFxuICAgICAgaWQ6IGV4ZWN1dGlvbklkLFxuICAgICAgc3RhcnRUaW1lOiBzdGFydEV2ZW50LnRpbWVzdGFtcCxcbiAgICB9LFxuICB9O1xuXG4gIC8vIGV4ZWN1dGUgd29ya2Zsb3dcbiAgY29uc3QgaW50ZXJwcmV0RXZlbnRzID0gYWxsRXZlbnRzLmZpbHRlcihpc0hpc3RvcnlFdmVudCk7XG5cbiAgY29uc29sZS5kZWJ1ZyhcImhpc3RvcnkgZXZlbnRzXCIsIEpTT04uc3RyaW5naWZ5KGhpc3RvcnlFdmVudHMpKTtcbiAgY29uc29sZS5kZWJ1ZyhcInRhc2sgZXZlbnRzXCIsIEpTT04uc3RyaW5naWZ5KHRhc2tFdmVudHMpKTtcbiAgY29uc29sZS5kZWJ1ZyhcInN5bnRoZXRpYyBldmVudHNcIiwgSlNPTi5zdHJpbmdpZnkoc3ludGhldGljRXZlbnRzKSk7XG4gIGNvbnNvbGUuZGVidWcoXCJpbnRlcnByZXQgZXZlbnRzXCIsIEpTT04uc3RyaW5naWZ5KGludGVycHJldEV2ZW50cykpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmludGVycHJldChcbiAgICAgICAgcHJvZ3JhbS5kZWZpbml0aW9uKHN0YXJ0RXZlbnQuaW5wdXQsIGNvbnRleHQpLFxuICAgICAgICBpbnRlcnByZXRFdmVudHNcbiAgICAgICksXG4gICAgICBoaXN0b3J5OiBhbGxFdmVudHMsXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gdGVtcG9yYXJ5IGZpeCB3aGVuIHRoZSBpbnRlcnByZXRlciBmYWlscywgYnV0IHRoZSBhY3Rpdml0aWVzIGFyZSBub3QgY2xlYXJlZC5cbiAgICBjbGVhckV2ZW50dWFsQ29sbGVjdG9yKCk7XG4gICAgdGhyb3cgZXJyO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHN5bnRoZXRpYyBldmVudHMsIGZvciBleGFtcGxlLCB7QGxpbmsgU2xlZXBDb21wbGV0ZWR9IGV2ZW50cyB3aGVuIHRoZSB0aW1lIGhhcyBwYXNzZWQsIGJ1dCBhIHJlYWwgY29tcGxldGVkIGV2ZW50IGhhcyBub3QgY29tZSBpbiB5ZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVN5bnRoZXRpY0V2ZW50cyhcbiAgZXZlbnRzOiBIaXN0b3J5U3RhdGVFdmVudFtdLFxuICBiYXNlVGltZTogRGF0ZVxuKTogU2xlZXBDb21wbGV0ZWRbXSB7XG4gIGNvbnN0IHVucmVzb2x2ZWRTbGVlcDogUmVjb3JkPG51bWJlciwgU2xlZXBTY2hlZHVsZWQ+ID0ge307XG5cbiAgY29uc3Qgc2xlZXBFdmVudHMgPSBldmVudHMuZmlsdGVyKFxuICAgIChldmVudCk6IGV2ZW50IGlzIFNsZWVwU2NoZWR1bGVkIHwgU2xlZXBDb21wbGV0ZWQgPT5cbiAgICAgIGlzU2xlZXBTY2hlZHVsZWQoZXZlbnQpIHx8IGlzU2xlZXBDb21wbGV0ZWQoZXZlbnQpXG4gICk7XG5cbiAgZm9yIChjb25zdCBldmVudCBvZiBzbGVlcEV2ZW50cykge1xuICAgIGlmIChpc1NsZWVwU2NoZWR1bGVkKGV2ZW50KSkge1xuICAgICAgdW5yZXNvbHZlZFNsZWVwW2V2ZW50LnNlcV0gPSBldmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHVucmVzb2x2ZWRTbGVlcFtldmVudC5zZXFdO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN5bnRoZXRpY1NsZWVwQ29tcGxldGU6IFNsZWVwQ29tcGxldGVkW10gPSBPYmplY3QudmFsdWVzKFxuICAgIHVucmVzb2x2ZWRTbGVlcFxuICApXG4gICAgLmZpbHRlcihcbiAgICAgIChldmVudCkgPT4gbmV3IERhdGUoZXZlbnQudW50aWxUaW1lKS5nZXRUaW1lKCkgPD0gYmFzZVRpbWUuZ2V0VGltZSgpXG4gICAgKVxuICAgIC5tYXAoXG4gICAgICAoZSkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcENvbXBsZXRlZCxcbiAgICAgICAgICBzZXE6IGUuc2VxLFxuICAgICAgICAgIHRpbWVzdGFtcDogYmFzZVRpbWUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgfSBzYXRpc2ZpZXMgU2xlZXBDb21wbGV0ZWQpXG4gICAgKTtcblxuICByZXR1cm4gc3ludGhldGljU2xlZXBDb21wbGV0ZTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTBEO0FBRzFELDZEQU84QjtBQUM5QiwrREFBOEQ7QUFFOUQsaURBQTBEO0FBQzFELHlDQUFxQztBQTRFckMsU0FBZ0IsY0FBYyxDQUFDLElBQVk7SUFDekMsT0FBTyxJQUFBLHFCQUFTLEdBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUZELHdDQUVDO0FBK0JELFNBQWdCLFFBQVEsQ0FDdEIsSUFBWSxFQUNaLEdBQUcsSUFFNkM7SUFFaEQsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRSxJQUFJLElBQUEscUJBQVMsR0FBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixJQUFJLGtCQUFrQixDQUFDLENBQUM7S0FDaEU7SUFFRCxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxDQUFDLEtBQVcsRUFBRSxFQUFFO1FBQ3pELElBQUksQ0FBQyxJQUFBLCtCQUFvQixHQUFFLEVBQUU7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYiw4RkFBOEYsQ0FDL0YsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFBLHFDQUFrQixFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFRLENBQUM7SUFFVixRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUU3QixRQUFRLENBQUMsY0FBYyxHQUFHLEtBQUssV0FBVyxLQUFLO1FBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUEsNEJBQWdCLEdBQUUsQ0FBQztRQUN6QyxPQUFPLE1BQU0sYUFBYSxDQUFDLGNBQWMsQ0FBMEI7WUFDakUsUUFBUSxFQUFFLElBQUk7WUFDZCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNwQyxHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixRQUFRLENBQUMsVUFBVSxHQUFHLENBQ3BCLElBQUEsa0JBQU8sRUFBQyxVQUFVLENBQUM7UUFDakIsQ0FBQyxDQUFDLFVBQVU7UUFDWixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU87WUFDdkIsT0FBTyxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUNtQyxDQUFDLENBQUMsK0VBQStFO0lBQzNILElBQUEscUJBQVMsR0FBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEMsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQTNDRCw0QkEyQ0M7QUFFRCxTQUFnQixxQkFBcUIsQ0FDbkMsUUFBa0IsRUFDbEIsS0FBVSxFQUNWLE9BQWdCO0lBRWhCLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQU5ELHNEQU1DO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FDckMsTUFBMkIsRUFDM0IsUUFBYztJQUVkLE1BQU0sZUFBZSxHQUFtQyxFQUFFLENBQUM7SUFFM0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxLQUFLLEVBQTRDLEVBQUUsQ0FDbEQsSUFBQSxxQ0FBZ0IsRUFBQyxLQUFLLENBQUMsSUFBSSxJQUFBLHFDQUFnQixFQUFDLEtBQUssQ0FBQyxDQUNyRCxDQUFDO0lBRUYsS0FBSyxNQUFNLEtBQUssSUFBSSxXQUFXLEVBQUU7UUFDL0IsSUFBSSxJQUFBLHFDQUFnQixFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkM7S0FDRjtJQUVELE1BQU0sc0JBQXNCLEdBQXFCLE1BQU0sQ0FBQyxNQUFNLENBQzVELGVBQWUsQ0FDaEI7U0FDRSxNQUFNLENBQ0wsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQ3JFO1NBQ0EsR0FBRyxDQUNGLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDO1FBQ0MsSUFBSSxFQUFFLHNDQUFpQixDQUFDLGNBQWM7UUFDdEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHO1FBQ1YsU0FBUyxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUU7S0FDVCxDQUFDLENBQzlCLENBQUM7SUFFSixPQUFPLHNCQUFzQixDQUFDO0FBQ2hDLENBQUM7QUFuQ0QsMERBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd29ya2Zsb3dzLCBnZXRTZXJ2aWNlQ2xpZW50IH0gZnJvbSBcIi4vZ2xvYmFsLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2dyYW0gfSBmcm9tIFwiLi9pbnRlcnByZXQuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcbmltcG9ydCB7XG4gIEhpc3RvcnlTdGF0ZUV2ZW50LFxuICBpc1NsZWVwQ29tcGxldGVkLFxuICBpc1NsZWVwU2NoZWR1bGVkLFxuICBTbGVlcENvbXBsZXRlZCxcbiAgU2xlZXBTY2hlZHVsZWQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVdvcmtmbG93Q2FsbCB9IGZyb20gXCIuL2NhbGxzL3dvcmtmbG93LWNhbGwuanNcIjtcbmltcG9ydCB7IEF3YWl0ZWRFdmVudHVhbCB9IGZyb20gXCIuL2V2ZW50dWFsLmpzXCI7XG5pbXBvcnQgeyBpc09yY2hlc3RyYXRvcldvcmtlciB9IGZyb20gXCIuL3J1bnRpbWUvZmxhZ3MuanNcIjtcbmltcG9ydCB7IGlzQ2hhaW4gfSBmcm9tIFwiLi9jaGFpbi5qc1wiO1xuaW1wb3J0IHsgQ2hpbGRFeGVjdXRpb24sIEV4ZWN1dGlvbkhhbmRsZSB9IGZyb20gXCIuL2V4ZWN1dGlvbi5qc1wiO1xuaW1wb3J0IHsgU3RhcnRFeGVjdXRpb25SZXF1ZXN0IH0gZnJvbSBcIi4vc2VydmljZS1jbGllbnQuanNcIjtcblxuZXhwb3J0IHR5cGUgV29ya2Zsb3dIYW5kbGVyPElucHV0ID0gYW55LCBPdXRwdXQgPSBhbnk+ID0gKFxuICBpbnB1dDogSW5wdXQsXG4gIGNvbnRleHQ6IENvbnRleHRcbikgPT4gUHJvbWlzZTxPdXRwdXQ+IHwgUHJvZ3JhbTxPdXRwdXQ+O1xuXG4vKipcbiAqIE9wdGlvbnMgd2hpY2ggZGV0ZXJtaW5lIGhvdyBhIHdvcmtmbG93IG9wZXJhdGVzLlxuICpcbiAqIENhbiBiZSBwcm92aWRlZCBhdCB3b3JrZmxvdyBkZWZpbml0aW9uIHRpbWUgYW5kL29yIG92ZXJyaWRkZW4gYnkgdGhlIGNhbGxlciBvZiB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc3RhcnRXb3JrZmxvd30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dPcHRpb25zIHtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBzZWNvbmRzIGJlZm9yZSBleGVjdXRpb24gdGltZXMgb3V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHdvcmtmbG93IHdpbGwgbmV2ZXIgdGltZW91dC5cbiAgICovXG4gIHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBXb3JrZmxvd091dHB1dDxXIGV4dGVuZHMgV29ya2Zsb3c+ID0gVyBleHRlbmRzIFdvcmtmbG93PFxuICBhbnksXG4gIGluZmVyIE91dFxuPlxuICA/IE91dFxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBXb3JrZmxvd0lucHV0PFcgZXh0ZW5kcyBXb3JrZmxvdz4gPSBXIGV4dGVuZHMgV29ya2Zsb3c8XG4gIGluZmVyIEluLFxuICBhbnlcbj5cbiAgPyBJblxuICA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBBIHtAbGluayBXb3JrZmxvd30gaXMgYSBsb25nLXJ1bm5pbmcgcHJvY2VzcyB0aGF0IG9yY2hlc3RyYXRlcyBjYWxsc1xuICogdG8gb3RoZXIgc2VydmljZXMgaW4gYSBkdXJhYmxlIGFuZCBvYnNlcnZhYmxlIHdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdzxpbiBJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PiB7XG4gIC8qKlxuICAgKiBHbG9iYWxseSB1bmlxdWUgSUQgb2YgdGhpcyB7QGxpbmsgV29ya2Zsb3d9LlxuICAgKi9cbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgb3B0aW9ucz86IFdvcmtmbG93T3B0aW9ucztcblxuICAvKipcbiAgICogSW52b2tlcyB0aGUge0BsaW5rIFdvcmtmbG93fSBmcm9tIHdpdGhpbiBhbm90aGVyIHdvcmtmbG93LlxuICAgKlxuICAgKiBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBhbm90aGVyIHdvcmtmbG93IGJlY2F1c2UgaXQncyBub3QgcG9zc2libGVcbiAgICogdG8gd2FpdCBmb3IgY29tcGxldGlvbiBzeW5jaHJvbm91c2x5IC0gaXQgcmVsaWVzIG9uIHRoZSBldmVudC1kcml2ZW4gZW52aXJvbm1lbnRcbiAgICogb2YgYSB3b3JrZmxvdyBleGVjdXRpb24uXG4gICAqXG4gICAqIFRvIHN0YXJ0IGEgd29ya2Zsb3cgZnJvbSBhbm90aGVyIGVudmlyb25tZW50LCB1c2Uge0BsaW5rIHN0YXJ0fS5cbiAgICovXG4gIChpbnB1dDogSW5wdXQpOiBQcm9taXNlPE91dHB1dD4gJiBDaGlsZEV4ZWN1dGlvbjtcblxuICAvKipcbiAgICogU3RhcnRzIGEgd29ya2Zsb3cgZXhlY3V0aW9uXG4gICAqL1xuICBzdGFydEV4ZWN1dGlvbihcbiAgICByZXF1ZXN0OiBPbWl0PFN0YXJ0RXhlY3V0aW9uUmVxdWVzdDxXb3JrZmxvdzxJbnB1dCwgT3V0cHV0Pj4sIFwid29ya2Zsb3dcIj5cbiAgKTogUHJvbWlzZTxFeGVjdXRpb25IYW5kbGU8V29ya2Zsb3c8SW5wdXQsIE91dHB1dD4+PjtcblxuICAvKipcbiAgICogQGludGVybmFsIC0gdGhpcyBpcyB0aGUgaW50ZXJuYWwgRFNMIHJlcHJlc2VudGF0aW9uIHRoYXQgcHJvZHVjZXMgYSB7QGxpbmsgUHJvZ3JhbX0gaW5zdGVhZCBvZiBhIFByb21pc2UuXG4gICAqL1xuICBkZWZpbml0aW9uOiAoXG4gICAgaW5wdXQ6IElucHV0LFxuICAgIGNvbnRleHQ6IENvbnRleHRcbiAgKSA9PiBQcm9ncmFtPEF3YWl0ZWRFdmVudHVhbDxPdXRwdXQ+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cFdvcmtmbG93KG5hbWU6IHN0cmluZyk6IFdvcmtmbG93IHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHdvcmtmbG93cygpLmdldChuYW1lKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuZCByZWdpc3RlcnMgYSBsb25nLXJ1bm5pbmcgd29ya2Zsb3cuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBhY3Rpdml0eSwgd29ya2Zsb3cgfSBmcm9tIFwiQGV2ZW50dWFsL2NvcmVcIjtcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCB3b3JrZmxvdyhcIm15LXdvcmtmbG93XCIsIGFzeW5jICh7IG5hbWUgfTogeyBuYW1lOiBzdHJpbmcgfSkgPT4ge1xuICogICBjb25zdCByZXN1bHQgPSBhd2FpdCBoZWxsbyhuYW1lKTtcbiAqICAgY29uc29sZS5sb2cocmVzdWx0KTtcbiAqICAgcmV0dXJuIGB5b3Ugc2FpZCAke3Jlc3VsdH1gO1xuICogfSk7XG4gKlxuICogY29uc3QgaGVsbG8gPSBhY3Rpdml0eShcImhlbGxvXCIsIGFzeW5jIChuYW1lOiBzdHJpbmcpID0+IHtcbiAqICAgcmV0dXJuIGBoZWxsbyAke25hbWV9YDtcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gbmFtZSBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBmb3IgdGhpcyB3b3JrZmxvdy5cbiAqIEBwYXJhbSBkZWZpbml0aW9uIHRoZSB3b3JrZmxvdyBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVmaW5pdGlvbjogV29ya2Zsb3dIYW5kbGVyPElucHV0LCBPdXRwdXQ+XG4pOiBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PjtcbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvdzxJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PihcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRzOiBXb3JrZmxvd09wdGlvbnMsXG4gIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0PlxuKTogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD47XG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgLi4uYXJnczpcbiAgICB8IFtvcHRzOiBXb3JrZmxvd09wdGlvbnMsIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0Pl1cbiAgICB8IFtkZWZpbml0aW9uOiBXb3JrZmxvd0hhbmRsZXI8SW5wdXQsIE91dHB1dD5dXG4pOiBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PiB7XG4gIGNvbnN0IFtvcHRzLCBkZWZpbml0aW9uXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW3VuZGVmaW5lZCwgYXJnc1swXV0gOiBhcmdzO1xuICBpZiAod29ya2Zsb3dzKCkuaGFzKG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB3b3JrZmxvdyB3aXRoIG5hbWUgJyR7bmFtZX0nIGFscmVhZHkgZXhpc3RzYCk7XG4gIH1cblxuICBjb25zdCB3b3JrZmxvdzogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD4gPSAoKGlucHV0PzogYW55KSA9PiB7XG4gICAgaWYgKCFpc09yY2hlc3RyYXRvcldvcmtlcigpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRGlyZWN0IHdvcmtmbG93IGludm9jYXRpb24gaXMgb25seSB2YWxpZCBpbiBhIHdvcmtmbG93LCB1c2Ugd29ya2Zsb3cuc3RhcnRFeGVjdXRpb24gaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlV29ya2Zsb3dDYWxsKG5hbWUsIGlucHV0LCBvcHRzKTtcbiAgfSkgYXMgYW55O1xuXG4gIHdvcmtmbG93LndvcmtmbG93TmFtZSA9IG5hbWU7XG5cbiAgd29ya2Zsb3cuc3RhcnRFeGVjdXRpb24gPSBhc3luYyBmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICBjb25zdCBzZXJ2aWNlQ2xpZW50ID0gZ2V0U2VydmljZUNsaWVudCgpO1xuICAgIHJldHVybiBhd2FpdCBzZXJ2aWNlQ2xpZW50LnN0YXJ0RXhlY3V0aW9uPFdvcmtmbG93PElucHV0LCBPdXRwdXQ+Pih7XG4gICAgICB3b3JrZmxvdzogbmFtZSxcbiAgICAgIGV4ZWN1dGlvbk5hbWU6IGlucHV0LmV4ZWN1dGlvbk5hbWUsXG4gICAgICBpbnB1dDogaW5wdXQuaW5wdXQsXG4gICAgICB0aW1lb3V0U2Vjb25kczogaW5wdXQudGltZW91dFNlY29uZHMsXG4gICAgICAuLi5vcHRzLFxuICAgIH0pO1xuICB9O1xuXG4gIHdvcmtmbG93LmRlZmluaXRpb24gPSAoXG4gICAgaXNDaGFpbihkZWZpbml0aW9uKVxuICAgICAgPyBkZWZpbml0aW9uXG4gICAgICA6IGZ1bmN0aW9uKiAoaW5wdXQsIGNvbnRleHQpOiBhbnkge1xuICAgICAgICAgIHJldHVybiB5aWVsZCBkZWZpbml0aW9uKGlucHV0LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICApIGFzIFdvcmtmbG93PElucHV0LCBPdXRwdXQ+W1wiZGVmaW5pdGlvblwiXTsgLy8gc2FmZSB0byBjYXN0IGJlY2F1c2Ugd2UgcmVseSBvbiB0cmFuc2Zvcm1lciAoaXQgaXMgYWx3YXlzIHRoZSBnZW5lcmF0b3IgQVBJKVxuICB3b3JrZmxvd3MoKS5zZXQobmFtZSwgd29ya2Zsb3cpO1xuICByZXR1cm4gd29ya2Zsb3c7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydW5Xb3JrZmxvd0RlZmluaXRpb24oXG4gIHdvcmtmbG93OiBXb3JrZmxvdyxcbiAgaW5wdXQ6IGFueSxcbiAgY29udGV4dDogQ29udGV4dFxuKSB7XG4gIHJldHVybiB3b3JrZmxvdy5kZWZpbml0aW9uKGlucHV0LCBjb250ZXh0KTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgc3ludGhldGljIGV2ZW50cywgZm9yIGV4YW1wbGUsIHtAbGluayBTbGVlcENvbXBsZXRlZH0gZXZlbnRzIHdoZW4gdGhlIHRpbWUgaGFzIHBhc3NlZCwgYnV0IGEgcmVhbCBjb21wbGV0ZWQgZXZlbnQgaGFzIG5vdCBjb21lIGluIHlldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU3ludGhldGljRXZlbnRzKFxuICBldmVudHM6IEhpc3RvcnlTdGF0ZUV2ZW50W10sXG4gIGJhc2VUaW1lOiBEYXRlXG4pOiBTbGVlcENvbXBsZXRlZFtdIHtcbiAgY29uc3QgdW5yZXNvbHZlZFNsZWVwOiBSZWNvcmQ8bnVtYmVyLCBTbGVlcFNjaGVkdWxlZD4gPSB7fTtcblxuICBjb25zdCBzbGVlcEV2ZW50cyA9IGV2ZW50cy5maWx0ZXIoXG4gICAgKGV2ZW50KTogZXZlbnQgaXMgU2xlZXBTY2hlZHVsZWQgfCBTbGVlcENvbXBsZXRlZCA9PlxuICAgICAgaXNTbGVlcFNjaGVkdWxlZChldmVudCkgfHwgaXNTbGVlcENvbXBsZXRlZChldmVudClcbiAgKTtcblxuICBmb3IgKGNvbnN0IGV2ZW50IG9mIHNsZWVwRXZlbnRzKSB7XG4gICAgaWYgKGlzU2xlZXBTY2hlZHVsZWQoZXZlbnQpKSB7XG4gICAgICB1bnJlc29sdmVkU2xlZXBbZXZlbnQuc2VxXSA9IGV2ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdW5yZXNvbHZlZFNsZWVwW2V2ZW50LnNlcV07XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3ludGhldGljU2xlZXBDb21wbGV0ZTogU2xlZXBDb21wbGV0ZWRbXSA9IE9iamVjdC52YWx1ZXMoXG4gICAgdW5yZXNvbHZlZFNsZWVwXG4gIClcbiAgICAuZmlsdGVyKFxuICAgICAgKGV2ZW50KSA9PiBuZXcgRGF0ZShldmVudC51bnRpbFRpbWUpLmdldFRpbWUoKSA8PSBiYXNlVGltZS5nZXRUaW1lKClcbiAgICApXG4gICAgLm1hcChcbiAgICAgIChlKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkLFxuICAgICAgICAgIHNlcTogZS5zZXEsXG4gICAgICAgICAgdGltZXN0YW1wOiBiYXNlVGltZS50b0lTT1N0cmluZygpLFxuICAgICAgICB9IHNhdGlzZmllcyBTbGVlcENvbXBsZXRlZClcbiAgICApO1xuXG4gIHJldHVybiBzeW50aGV0aWNTbGVlcENvbXBsZXRlO1xufVxuIl19 |
import { createConditionCall } from "./calls/condition-call.js"; | ||
import { isOrchestratorWorker } from "./index.js"; | ||
import { isOrchestratorWorker } from "./runtime/flags.js"; | ||
export function condition(...args) { | ||
@@ -10,2 +10,2 @@ if (!isOrchestratorWorker()) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUE4Q2xELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEdBQUcsSUFFZ0M7SUFFbkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUU7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzFEO0lBQ0QsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUUxRSxPQUFPLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFRLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbmRpdGlvbkNhbGwgfSBmcm9tIFwiLi9jYWxscy9jb25kaXRpb24tY2FsbC5qc1wiO1xuaW1wb3J0IHsgaXNPcmNoZXN0cmF0b3JXb3JrZXIgfSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuXG5leHBvcnQgdHlwZSBDb25kaXRpb25QcmVkaWNhdGUgPSAoKSA9PiBib29sZWFuO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbk9wdGlvbnMge1xuICB0aW1lb3V0U2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIGNvbmRpdGlvbiB3aGljaCB3aWxsIHJlc29sdmUgd2hlbiB0aGUgcHJlZGljYXRlIHJlc29sdmVzIHRvIHRydWUuXG4gKlxuICogVGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb24gc2hvdWxkIGJlIGRldGVybWluaXN0aWMgYW5kIGNvbnRhaW4gbm8gYWN0aXZpdHkgY2FsbHMuXG4gKiBTaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYSB3b3JrZmxvdy5cbiAqXG4gKiBgYGB0c1xuICogd29ya2Zsb3coXCJteVdvcmtmbG93XCIsIGFzeW5jICgpID0+IHtcbiAqICAgIGxldCBuID0gMDtcbiAqICAgIG9uU2lnbmFsKFwibXlTaWduYWxcIiwgKCkgPT4geyBuKysgfSk7XG4gKlxuICogICAgYXdhaXQgY29uZGl0aW9uKCgpID0+IG4gPT09IDUpOyAvLyBhZnRlciA1IG15U2lnbmFscywgdGhpcyBwcm9taXNlIHdpbGwgYmUgcmVzb2x2ZWQuXG4gKlxuICogICAgcmV0dXJuIFwiZ290IDUhXCJcbiAqIH0pO1xuICogYGBgXG4gKlxuICogU3VwcG9ydHMgYSB0aW1lb3V0IHRvIGF2b2lkIHJ1bm5pbmcgZm9yZXZlci4gV2hlbiB0aGUgY29uZGl0aW9uIHRpbWVzIG91dCwgaXQgcmV0dXJucyBmYWxzZS5cbiAqXG4gKiBgYGB0c1xuICogd29ya2Zsb3coXCJteVdvcmtmbG93XCIsIGFzeW5jICgpID0+IHtcbiAqICAgIGxldCBuID0gMDtcbiAqICAgIG9uU2lnbmFsKFwibXlTaWduYWxcIiwgKCkgPT4geyBuKysgfSk7XG4gKlxuICogICAgLy8gYWZ0ZXIgNSBteVNpZ25hbHMsIHRoaXMgcHJvbWlzZSB3aWxsIGJlIHJlc29sdmVkLlxuICogICAgaWYoIShhd2FpdCBjb25kaXRpb24oeyB0aW1lb3V0U2Vjb25kczogNSAqIDYwIH0sICgpID0+IG4gPT09IDUpKSkge1xuICogICAgICAgcmV0dXJuIFwiZGlkIG5vdCBnZXQgNSBpbiA1IG1pbnV0ZXMuXCJcbiAqICAgIH1cbiAqXG4gKiAgICByZXR1cm4gXCJnb3QgNSFcIlxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmRpdGlvbihwcmVkaWNhdGU6IENvbmRpdGlvblByZWRpY2F0ZSk6IFByb21pc2U8Ym9vbGVhbj47XG5leHBvcnQgZnVuY3Rpb24gY29uZGl0aW9uKFxuICBvcHRzOiBDb25kaXRpb25PcHRpb25zLFxuICBwcmVkaWNhdGU6IENvbmRpdGlvblByZWRpY2F0ZVxuKTogUHJvbWlzZTxib29sZWFuPjtcbmV4cG9ydCBmdW5jdGlvbiBjb25kaXRpb24oXG4gIC4uLmFyZ3M6XG4gICAgfCBbb3B0czogQ29uZGl0aW9uT3B0aW9ucywgcHJlZGljYXRlOiBDb25kaXRpb25QcmVkaWNhdGVdXG4gICAgfCBbcHJlZGljYXRlOiBDb25kaXRpb25QcmVkaWNhdGVdXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKCFpc09yY2hlc3RyYXRvcldvcmtlcigpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY29uZGl0aW9uIGlzIG9ubHkgdmFsaWQgaW4gYSB3b3JrZmxvd1wiKTtcbiAgfVxuICBjb25zdCBbb3B0cywgcHJlZGljYXRlXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW3VuZGVmaW5lZCwgYXJnc1swXV0gOiBhcmdzO1xuXG4gIHJldHVybiBjcmVhdGVDb25kaXRpb25DYWxsKHByZWRpY2F0ZSwgb3B0cz8udGltZW91dFNlY29uZHMpIGFzIGFueTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQThDMUQsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBRyxJQUVnQztJQUVuQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDMUQ7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTFFLE9BQU8sbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLENBQVEsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29uZGl0aW9uQ2FsbCB9IGZyb20gXCIuL2NhbGxzL2NvbmRpdGlvbi1jYWxsLmpzXCI7XG5pbXBvcnQgeyBpc09yY2hlc3RyYXRvcldvcmtlciB9IGZyb20gXCIuL3J1bnRpbWUvZmxhZ3MuanNcIjtcblxuZXhwb3J0IHR5cGUgQ29uZGl0aW9uUHJlZGljYXRlID0gKCkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25PcHRpb25zIHtcbiAgdGltZW91dFNlY29uZHM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBjb25kaXRpb24gd2hpY2ggd2lsbCByZXNvbHZlIHdoZW4gdGhlIHByZWRpY2F0ZSByZXNvbHZlcyB0byB0cnVlLlxuICpcbiAqIFRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSBkZXRlcm1pbmlzdGljIGFuZCBjb250YWluIG5vIGFjdGl2aXR5IGNhbGxzLlxuICogU2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZyb20gd2l0aGluIGEgd29ya2Zsb3cuXG4gKlxuICogYGBgdHNcbiAqIHdvcmtmbG93KFwibXlXb3JrZmxvd1wiLCBhc3luYyAoKSA9PiB7XG4gKiAgICBsZXQgbiA9IDA7XG4gKiAgICBvblNpZ25hbChcIm15U2lnbmFsXCIsICgpID0+IHsgbisrIH0pO1xuICpcbiAqICAgIGF3YWl0IGNvbmRpdGlvbigoKSA9PiBuID09PSA1KTsgLy8gYWZ0ZXIgNSBteVNpZ25hbHMsIHRoaXMgcHJvbWlzZSB3aWxsIGJlIHJlc29sdmVkLlxuICpcbiAqICAgIHJldHVybiBcImdvdCA1IVwiXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIFN1cHBvcnRzIGEgdGltZW91dCB0byBhdm9pZCBydW5uaW5nIGZvcmV2ZXIuIFdoZW4gdGhlIGNvbmRpdGlvbiB0aW1lcyBvdXQsIGl0IHJldHVybnMgZmFsc2UuXG4gKlxuICogYGBgdHNcbiAqIHdvcmtmbG93KFwibXlXb3JrZmxvd1wiLCBhc3luYyAoKSA9PiB7XG4gKiAgICBsZXQgbiA9IDA7XG4gKiAgICBvblNpZ25hbChcIm15U2lnbmFsXCIsICgpID0+IHsgbisrIH0pO1xuICpcbiAqICAgIC8vIGFmdGVyIDUgbXlTaWduYWxzLCB0aGlzIHByb21pc2Ugd2lsbCBiZSByZXNvbHZlZC5cbiAqICAgIGlmKCEoYXdhaXQgY29uZGl0aW9uKHsgdGltZW91dFNlY29uZHM6IDUgKiA2MCB9LCAoKSA9PiBuID09PSA1KSkpIHtcbiAqICAgICAgIHJldHVybiBcImRpZCBub3QgZ2V0IDUgaW4gNSBtaW51dGVzLlwiXG4gKiAgICB9XG4gKlxuICogICAgcmV0dXJuIFwiZ290IDUhXCJcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25kaXRpb24ocHJlZGljYXRlOiBDb25kaXRpb25QcmVkaWNhdGUpOiBQcm9taXNlPGJvb2xlYW4+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmRpdGlvbihcbiAgb3B0czogQ29uZGl0aW9uT3B0aW9ucyxcbiAgcHJlZGljYXRlOiBDb25kaXRpb25QcmVkaWNhdGVcbik6IFByb21pc2U8Ym9vbGVhbj47XG5leHBvcnQgZnVuY3Rpb24gY29uZGl0aW9uKFxuICAuLi5hcmdzOlxuICAgIHwgW29wdHM6IENvbmRpdGlvbk9wdGlvbnMsIHByZWRpY2F0ZTogQ29uZGl0aW9uUHJlZGljYXRlXVxuICAgIHwgW3ByZWRpY2F0ZTogQ29uZGl0aW9uUHJlZGljYXRlXVxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGlmICghaXNPcmNoZXN0cmF0b3JXb3JrZXIoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImNvbmRpdGlvbiBpcyBvbmx5IHZhbGlkIGluIGEgd29ya2Zsb3dcIik7XG4gIH1cbiAgY29uc3QgW29wdHMsIHByZWRpY2F0ZV0gPSBhcmdzLmxlbmd0aCA9PT0gMSA/IFt1bmRlZmluZWQsIGFyZ3NbMF1dIDogYXJncztcblxuICByZXR1cm4gY3JlYXRlQ29uZGl0aW9uQ2FsbChwcmVkaWNhdGUsIG9wdHM/LnRpbWVvdXRTZWNvbmRzKSBhcyBhbnk7XG59XG4iXX0= |
import { createPublishEventsCall } from "./calls/send-events-call.js"; | ||
import { events, eventSubscriptions } from "./global.js"; | ||
import { getServiceClient, isOrchestratorWorker } from "./index.js"; | ||
import { events, eventSubscriptions, getServiceClient } from "./global.js"; | ||
import { isOrchestratorWorker } from "./runtime/flags.js"; | ||
/** | ||
@@ -74,2 +74,2 @@ * Declares an event that can be published and subscribed to. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFnR3BFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBeUIsSUFBWTtJQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLGtCQUFrQixDQUFDLENBQUM7S0FDN0Q7SUFDRCxNQUFNLEtBQUssR0FBYTtRQUN0QixJQUFJO1FBQ0osT0FBTyxDQUFDLE9BQU87WUFDYixrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDeEIsYUFBYSxFQUFFO29CQUNiO3dCQUNFLElBQUk7cUJBQ0w7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFLE9BQXFDO2FBQy9DLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxhQUFhLENBQUMsR0FBRyxNQUFNO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUk7Z0JBQ0osS0FBSzthQUNOLENBQUMsQ0FBQyxDQUFDO1lBQ0osSUFBSSxvQkFBb0IsRUFBRSxFQUFFO2dCQUMxQixPQUFPLHVCQUF1QixDQUFDLFNBQVMsQ0FBUSxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUM7S0FDRixDQUFDO0lBQ0YsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVQdWJsaXNoRXZlbnRzQ2FsbCB9IGZyb20gXCIuL2NhbGxzL3NlbmQtZXZlbnRzLWNhbGwuanNcIjtcbmltcG9ydCB7IGV2ZW50cywgZXZlbnRTdWJzY3JpcHRpb25zIH0gZnJvbSBcIi4vZ2xvYmFsLmpzXCI7XG5pbXBvcnQgeyBnZXRTZXJ2aWNlQ2xpZW50LCBpc09yY2hlc3RyYXRvcldvcmtlciB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5cbi8qKlxuICogQW4gRXZlbnRQYXlsb2FkIGlzIHRoZSBkYXRhIHNlbnQgYXMgYW4gZXZlbnQuXG4gKlxuICogSXQgbXVzdCBiZSBhbiBvYmplY3QuIFByb3BlcnRpZXMgY2FuIGJlIGFueSB0eXBlIHNlcmlhbGl6YWJsZSBhcyBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UGF5bG9hZCB7XG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBFdmVudFBheWxvYWRUeXBlPEUgZXh0ZW5kcyBFdmVudDxhbnk+PiA9IEUgZXh0ZW5kcyBFdmVudDxcbiAgaW5mZXIgUGF5bG9hZFxuPlxuICA/IFBheWxvYWRcbiAgOiBuZXZlcjtcblxuLyoqXG4gKiBBbiBlbnZlbG9wZSBvYmplY3QgY29udGFpbmluZyB0aGUge0BsaW5rIGV2ZW50fSBwYXlsb2FkIGFzc29jaWF0ZWRcbiAqIHdpdGggaXRzIHVuaXF1ZSB7QGxpbmsgbmFtZX0uXG4gKlxuICogVGhpcyBlbnZlbG9wZSBkZWNvdXBsZXMgdGhlIHtAbGluayBuYW1lfSBmcm8gdGhlIHBheWxvYWQgc28gdGhhdFxuICogdGhlcmUgYXJlIG5vIGltcG9zaXRpb25zIG9uIHRoZSBzdHJ1Y3R1cmUgb2YgYW4gZXZlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRFbnZlbG9wZTxFIGV4dGVuZHMgRXZlbnRQYXlsb2FkID0gRXZlbnRQYXlsb2FkPiB7XG4gIC8qKlxuICAgKiBVbmlxdWUgbmFtZSBpZGVudGlmeWluZyB0aGUgdHlwZSBvZiB0aGUge0BsaW5rIGV2ZW50fS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB7QGxpbmsgRXZlbnRQYXlsb2FkfS5cbiAgICovXG4gIGV2ZW50OiBFO1xufVxuXG4vKipcbiAqIEFuIHtAbGluayBFdmVudH0gaXMgYW4gb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgZGVjbGFyYXRpb24gb2YgYW4gZXZlbnRcbiAqIHRoYXQgYmVsb25ncyB3aXRoaW4gdGhlIHNlcnZpY2UuIEFuIHtAbGluayBFdmVudH0gaGFzIGEgdW5pcXVlIHtAbGluayBuYW1lfSxcbiAqIG1heSBiZSB7QGxpbmsgcHVibGlzaEV2ZW50c31lZCBhbmQge0BsaW5rIG9uRXZlbnR9ZCB0by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudDxFIGV4dGVuZHMgRXZlbnRQYXlsb2FkID0gRXZlbnRQYXlsb2FkPiB7XG4gIC8qKlxuICAgKiBUaGUgRXZlbnQncyBnbG9iYWxseSB1bmlxdWUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byB0aGlzIGV2ZW50LiBUaGUge0BsaW5rIGhhbmRsZXJ9IHdpbGwgYmUgaW52b2tlZCBldmVyeVxuICAgKiB0aW1lIGFuIGV2ZW50IHdpdGggdGhpcyBuYW1lIGlzIHB1Ymxpc2hlZCB3aXRoaW4gdGhlIHNlcnZpY2UgYm91bmRhcnkuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGVyIHRoZSBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgd2lsbCBwcm9jZXNzIHRoZSBldmVudC5cbiAgICovXG4gIG9uRXZlbnQoaGFuZGxlcjogKGV2ZW50OiBFKSA9PiBQcm9taXNlPHZvaWQ+KTogdm9pZDtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggZXZlbnRzIG9mIHRoaXMgdHlwZSB3aXRoaW4gdGhlIHNlcnZpY2UgYm91bmRhcnkuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudHMgYSBsaXN0IG9mIGV2ZW50cyB0byBwdWJsaXNoLlxuICAgKi9cbiAgcHVibGlzaEV2ZW50cyguLi5ldmVudHM6IEVbXSk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQSB7QGxpbmsgU3Vic2NyaXB0aW9ufSBpcyBhbiBvYmplY3QgdGhhdCBkZXNjcmliZXMgaG93IHRvIHNlbGVjdCBldmVudHMgZnJvbVxuICogd2l0aGluIGEgc2VydmljZSBib3VuZGFyeSB0byByb3V0ZSB0byBhIHtAbGluayBFdmVudEhhbmRsZXJ9LlxuICpcbiAqIEZvciBub3csIHdlIG9ubHkgc3VwcG9ydCBtYXRjaGluZyBvbiBhIHNpbmdsZSBuYW1lLCBidXQgdGhpcyBvYmplY3QgY2FuIGJlXG4gKiBleHRlbmRlZCB3aXRoIG90aGVyIHByb3BlcnRpZXMgc3VjaCBhcyBzZWxlY3Rpb24gcHJlZGljYXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpcHRpb24ge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZXZlbnQgdG8gc3Vic2NyaWJlIHRvLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIHtAbGluayBFdmVudFN1YnNjcmlwdGlvbn0gaXMgYW4gb2JqZWN0IHRoYXQgYXNzb2NpYXRlcyBhIHtAbGluayBoYW5kbGVyfVxuICogZnVuY3Rpb24gd2l0aCBhIGxpc3Qgb2Yge0BsaW5rIHN1YnNjcmlwdGlvbnN9LiBUaGUge0BsaW5rIHN1YnNjcmlwdGlvbnN9XG4gKiBkZWZpbmUgd2hpY2ggZXZlbnRzIHRoaXMge0BsaW5rIGhhbmRsZXJ9IHNob3VsZCBiZSBpbnZva2VkIGZvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudFN1YnNjcmlwdGlvbjxFIGV4dGVuZHMgRXZlbnRQYXlsb2FkID0gRXZlbnRQYXlsb2FkPiB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2Yge0BsaW5rIFN1YnNjcmlwdGlvbn1zIHRoYXQgc2hvdWxkIGludm9rZSB0aGlzIHtAbGluayBoYW5kbGVyfS5cbiAgICovXG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuICAvKipcbiAgICogVGhlIHtAbGluayBFdmVudEhhbmRsZXJ9IHRvIGludm9rZSBmb3IgYW55IGV2ZW50IHRoYXQgbWF0Y2hlcyBvbmUgb2ZcbiAgICogdGhlIHtAbGluayBzdWJzY3JpcHRpb25zfS5cbiAgICovXG4gIGhhbmRsZXI6IEV2ZW50SGFuZGxlcjxFPjtcbn1cblxuLyoqXG4gKiBBIEZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGFuIHtAbGluayBldmVudH0gb2YgdHlwZSB7QGxpbmsgRX0uXG4gKi9cbmV4cG9ydCB0eXBlIEV2ZW50SGFuZGxlcjxFIGV4dGVuZHMgRXZlbnRQYXlsb2FkPiA9IChldmVudDogRSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBEZWNsYXJlcyBhbiBldmVudCB0aGF0IGNhbiBiZSBwdWJsaXNoZWQgYW5kIHN1YnNjcmliZWQgdG8uXG4gKlxuICogVG8gZGVjbGFyZSBhbiB7QGxpbmsgRXZlbnR9LCBkZWZpbmUgYW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgdGhlIHR5cGVcbiAqIG9mIHRoZSBwYXlsb2FkIGFuZCB0aGVuIGRlY2xhcmUgYW4gZXZlbnQgb2JqZWN0IGdpdmluZyBpdCBhIHVuaXF1ZSBuYW1lLlxuICogYGBgdHNcbiAqIGludGVyZmFjZSBDaGVja291dEV2ZW50IHtcbiAqICAgY3VzdG9tZXJJZDogc3RyaW5nO1xuICogICBjYXJ0SWQ6IHN0cmluZztcbiAqICAgdGltZXN0YW1wOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogY29uc3QgY2hlY2tvdXRFdmVudCA9IGV2ZW50PENoZWNrb3V0RXZlbnQ+KFwiQ2hlY2tvdXRcIik7XG4gKiBgYGBcbiAqXG4gKiBUbyBwdWJsaXNoIGV2ZW50cywgY2FsbCB0aGUgYHB1Ymxpc2hgIG1ldGhvZDpcbiAqIGBgYHRzXG4gKiBjb25zdCBjaGVja291dFdvcmtmbG93ID0gd29ya2Zsb3coXCJjaGVja291dFdvcmtmbG93XCIsIGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gKiAgIGF3YWl0IGNoZWNrb3V0RXZlbnQucHVibGlzaEV2ZW50cyh7XG4gKiAgICAgY3VzdG9tZXJJZDogcmVxdWVzdC5jdXN0b21lcklkLFxuICogICAgIGNhcnRJZDogcmVxdWVzdC5jYXJ0SWQsXG4gKiAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvVGltZVN0cmluZygpXG4gKiAgIH0pO1xuICogfSlcbiAqIGBgYFxuICpcbiAqIFRvIHN1YnNjcmliZSB0byBldmVudHMsIGNhbGwgdGhlIGBvbmAgbWV0aG9kLiBUaGlzIHdpbGwgcmVnaXN0ZXIgYVxuICogaGFuZGxlciB0aGF0IHdpbCBsYmUgaW52b2tlZCBmb3IgZXZlcnkgZXZlbnQgb2YgdGhpcyB0eXBlIHRoYXQgaXMgcmVjZWl2ZWQuXG4gKlxuICogYGBgdHNcbiAqIGNoZWNrb3V0RXZlbnQub25FdmVudChhc3luYyAoY2hlY2tvdXQpID0+IHtcbiAqICAgY29uc29sZS5sb2coY2hlY2tvdXQpO1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gbmFtZSBhIHVuaXF1ZSBuYW1lIHRoYXQgaWRlbnRpZmllcyB0aGlzIGV2ZW50IHR5cGUgd2l0aGluIHRoZSBTZXJ2aWNlLlxuICogQHJldHVybnMgYW4ge0BsaW5rIEV2ZW50fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZXZlbnQ8RSBleHRlbmRzIEV2ZW50UGF5bG9hZD4obmFtZTogc3RyaW5nKTogRXZlbnQ8RT4ge1xuICBpZiAoZXZlbnRzKCkuaGFzKG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBldmVudCB3aXRoIG5hbWUgJyR7bmFtZX0nIGFscmVhZHkgZXhpc3RzYCk7XG4gIH1cbiAgY29uc3QgZXZlbnQ6IEV2ZW50PEU+ID0ge1xuICAgIG5hbWUsXG4gICAgb25FdmVudChoYW5kbGVyKSB7XG4gICAgICBldmVudFN1YnNjcmlwdGlvbnMoKS5wdXNoKHtcbiAgICAgICAgc3Vic2NyaXB0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaGFuZGxlcjogaGFuZGxlciBhcyBFdmVudEhhbmRsZXI8RXZlbnRQYXlsb2FkPixcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcHVibGlzaEV2ZW50cyguLi5ldmVudHMpIHtcbiAgICAgIGNvbnN0IGVudmVsb3BlcyA9IGV2ZW50cy5tYXAoKGV2ZW50KSA9PiAoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBldmVudCxcbiAgICAgIH0pKTtcbiAgICAgIGlmIChpc09yY2hlc3RyYXRvcldvcmtlcigpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVQdWJsaXNoRXZlbnRzQ2FsbChlbnZlbG9wZXMpIGFzIGFueTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBnZXRTZXJ2aWNlQ2xpZW50KCkucHVibGlzaEV2ZW50cyh7IGV2ZW50czogZW52ZWxvcGVzIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG4gIGV2ZW50cygpLnNldChuYW1lLCBldmVudCk7XG4gIHJldHVybiBldmVudDtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWdHMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUF5QixJQUFZO0lBQ3hELElBQUksTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLElBQUksa0JBQWtCLENBQUMsQ0FBQztLQUM3RDtJQUNELE1BQU0sS0FBSyxHQUFhO1FBQ3RCLElBQUk7UUFDSixPQUFPLENBQUMsT0FBTztZQUNiLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUN4QixhQUFhLEVBQUU7b0JBQ2I7d0JBQ0UsSUFBSTtxQkFDTDtpQkFDRjtnQkFDRCxPQUFPLEVBQUUsT0FBcUM7YUFDL0MsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELGFBQWEsQ0FBQyxHQUFHLE1BQU07WUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdkMsSUFBSTtnQkFDSixLQUFLO2FBQ04sQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLG9CQUFvQixFQUFFLEVBQUU7Z0JBQzFCLE9BQU8sdUJBQXVCLENBQUMsU0FBUyxDQUFRLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO2FBQ2hFO1FBQ0gsQ0FBQztLQUNGLENBQUM7SUFDRixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVB1Ymxpc2hFdmVudHNDYWxsIH0gZnJvbSBcIi4vY2FsbHMvc2VuZC1ldmVudHMtY2FsbC5qc1wiO1xuaW1wb3J0IHsgZXZlbnRzLCBldmVudFN1YnNjcmlwdGlvbnMsIGdldFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi9nbG9iYWwuanNcIjtcbmltcG9ydCB7IGlzT3JjaGVzdHJhdG9yV29ya2VyIH0gZnJvbSBcIi4vcnVudGltZS9mbGFncy5qc1wiO1xuXG4vKipcbiAqIEFuIEV2ZW50UGF5bG9hZCBpcyB0aGUgZGF0YSBzZW50IGFzIGFuIGV2ZW50LlxuICpcbiAqIEl0IG11c3QgYmUgYW4gb2JqZWN0LiBQcm9wZXJ0aWVzIGNhbiBiZSBhbnkgdHlwZSBzZXJpYWxpemFibGUgYXMgSlNPTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudFBheWxvYWQge1xuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRQYXlsb2FkVHlwZTxFIGV4dGVuZHMgRXZlbnQ8YW55Pj4gPSBFIGV4dGVuZHMgRXZlbnQ8XG4gIGluZmVyIFBheWxvYWRcbj5cbiAgPyBQYXlsb2FkXG4gIDogbmV2ZXI7XG5cbi8qKlxuICogQW4gZW52ZWxvcGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHtAbGluayBldmVudH0gcGF5bG9hZCBhc3NvY2lhdGVkXG4gKiB3aXRoIGl0cyB1bmlxdWUge0BsaW5rIG5hbWV9LlxuICpcbiAqIFRoaXMgZW52ZWxvcGUgZGVjb3VwbGVzIHRoZSB7QGxpbmsgbmFtZX0gZnJvIHRoZSBwYXlsb2FkIHNvIHRoYXRcbiAqIHRoZXJlIGFyZSBubyBpbXBvc2l0aW9ucyBvbiB0aGUgc3RydWN0dXJlIG9mIGFuIGV2ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50RW52ZWxvcGU8RSBleHRlbmRzIEV2ZW50UGF5bG9hZCA9IEV2ZW50UGF5bG9hZD4ge1xuICAvKipcbiAgICogVW5pcXVlIG5hbWUgaWRlbnRpZnlpbmcgdGhlIHR5cGUgb2YgdGhlIHtAbGluayBldmVudH0uXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUge0BsaW5rIEV2ZW50UGF5bG9hZH0uXG4gICAqL1xuICBldmVudDogRTtcbn1cblxuLyoqXG4gKiBBbiB7QGxpbmsgRXZlbnR9IGlzIGFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGRlY2xhcmF0aW9uIG9mIGFuIGV2ZW50XG4gKiB0aGF0IGJlbG9uZ3Mgd2l0aGluIHRoZSBzZXJ2aWNlLiBBbiB7QGxpbmsgRXZlbnR9IGhhcyBhIHVuaXF1ZSB7QGxpbmsgbmFtZX0sXG4gKiBtYXkgYmUge0BsaW5rIHB1Ymxpc2hFdmVudHN9ZWQgYW5kIHtAbGluayBvbkV2ZW50fWQgdG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnQ8RSBleHRlbmRzIEV2ZW50UGF5bG9hZCA9IEV2ZW50UGF5bG9hZD4ge1xuICAvKipcbiAgICogVGhlIEV2ZW50J3MgZ2xvYmFsbHkgdW5pcXVlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gdGhpcyBldmVudC4gVGhlIHtAbGluayBoYW5kbGVyfSB3aWxsIGJlIGludm9rZWQgZXZlcnlcbiAgICogdGltZSBhbiBldmVudCB3aXRoIHRoaXMgbmFtZSBpcyBwdWJsaXNoZWQgd2l0aGluIHRoZSBzZXJ2aWNlIGJvdW5kYXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciB0aGUgaGFuZGxlciBmdW5jdGlvbiB0aGF0IHdpbGwgcHJvY2VzcyB0aGUgZXZlbnQuXG4gICAqL1xuICBvbkV2ZW50KGhhbmRsZXI6IChldmVudDogRSkgPT4gUHJvbWlzZTx2b2lkPik6IHZvaWQ7XG4gIC8qKlxuICAgKiBQdWJsaXNoIGV2ZW50cyBvZiB0aGlzIHR5cGUgd2l0aGluIHRoZSBzZXJ2aWNlIGJvdW5kYXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRzIGEgbGlzdCBvZiBldmVudHMgdG8gcHVibGlzaC5cbiAgICovXG4gIHB1Ymxpc2hFdmVudHMoLi4uZXZlbnRzOiBFW10pOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEge0BsaW5rIFN1YnNjcmlwdGlvbn0gaXMgYW4gb2JqZWN0IHRoYXQgZGVzY3JpYmVzIGhvdyB0byBzZWxlY3QgZXZlbnRzIGZyb21cbiAqIHdpdGhpbiBhIHNlcnZpY2UgYm91bmRhcnkgdG8gcm91dGUgdG8gYSB7QGxpbmsgRXZlbnRIYW5kbGVyfS5cbiAqXG4gKiBGb3Igbm93LCB3ZSBvbmx5IHN1cHBvcnQgbWF0Y2hpbmcgb24gYSBzaW5nbGUgbmFtZSwgYnV0IHRoaXMgb2JqZWN0IGNhbiBiZVxuICogZXh0ZW5kZWQgd2l0aCBvdGhlciBwcm9wZXJ0aWVzIHN1Y2ggYXMgc2VsZWN0aW9uIHByZWRpY2F0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGV2ZW50IHRvIHN1YnNjcmliZSB0by5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiB7QGxpbmsgRXZlbnRTdWJzY3JpcHRpb259IGlzIGFuIG9iamVjdCB0aGF0IGFzc29jaWF0ZXMgYSB7QGxpbmsgaGFuZGxlcn1cbiAqIGZ1bmN0aW9uIHdpdGggYSBsaXN0IG9mIHtAbGluayBzdWJzY3JpcHRpb25zfS4gVGhlIHtAbGluayBzdWJzY3JpcHRpb25zfVxuICogZGVmaW5lIHdoaWNoIGV2ZW50cyB0aGlzIHtAbGluayBoYW5kbGVyfSBzaG91bGQgYmUgaW52b2tlZCBmb3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRTdWJzY3JpcHRpb248RSBleHRlbmRzIEV2ZW50UGF5bG9hZCA9IEV2ZW50UGF5bG9hZD4ge1xuICAvKipcbiAgICogQSBsaXN0IG9mIHtAbGluayBTdWJzY3JpcHRpb259cyB0aGF0IHNob3VsZCBpbnZva2UgdGhpcyB7QGxpbmsgaGFuZGxlcn0uXG4gICAqL1xuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXTtcbiAgLyoqXG4gICAqIFRoZSB7QGxpbmsgRXZlbnRIYW5kbGVyfSB0byBpbnZva2UgZm9yIGFueSBldmVudCB0aGF0IG1hdGNoZXMgb25lIG9mXG4gICAqIHRoZSB7QGxpbmsgc3Vic2NyaXB0aW9uc30uXG4gICAqL1xuICBoYW5kbGVyOiBFdmVudEhhbmRsZXI8RT47XG59XG5cbi8qKlxuICogQSBGdW5jdGlvbiB0aGF0IHByb2Nlc3NlcyBhbiB7QGxpbmsgZXZlbnR9IG9mIHR5cGUge0BsaW5rIEV9LlxuICovXG5leHBvcnQgdHlwZSBFdmVudEhhbmRsZXI8RSBleHRlbmRzIEV2ZW50UGF5bG9hZD4gPSAoZXZlbnQ6IEUpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogRGVjbGFyZXMgYW4gZXZlbnQgdGhhdCBjYW4gYmUgcHVibGlzaGVkIGFuZCBzdWJzY3JpYmVkIHRvLlxuICpcbiAqIFRvIGRlY2xhcmUgYW4ge0BsaW5rIEV2ZW50fSwgZGVmaW5lIGFuIGludGVyZmFjZSBkZXNjcmliaW5nIHRoZSB0eXBlXG4gKiBvZiB0aGUgcGF5bG9hZCBhbmQgdGhlbiBkZWNsYXJlIGFuIGV2ZW50IG9iamVjdCBnaXZpbmcgaXQgYSB1bmlxdWUgbmFtZS5cbiAqIGBgYHRzXG4gKiBpbnRlcmZhY2UgQ2hlY2tvdXRFdmVudCB7XG4gKiAgIGN1c3RvbWVySWQ6IHN0cmluZztcbiAqICAgY2FydElkOiBzdHJpbmc7XG4gKiAgIHRpbWVzdGFtcDogc3RyaW5nO1xuICogfVxuICpcbiAqIGNvbnN0IGNoZWNrb3V0RXZlbnQgPSBldmVudDxDaGVja291dEV2ZW50PihcIkNoZWNrb3V0XCIpO1xuICogYGBgXG4gKlxuICogVG8gcHVibGlzaCBldmVudHMsIGNhbGwgdGhlIGBwdWJsaXNoYCBtZXRob2Q6XG4gKiBgYGB0c1xuICogY29uc3QgY2hlY2tvdXRXb3JrZmxvdyA9IHdvcmtmbG93KFwiY2hlY2tvdXRXb3JrZmxvd1wiLCBhc3luYyAocmVxdWVzdCkgPT4ge1xuICogICBhd2FpdCBjaGVja291dEV2ZW50LnB1Ymxpc2hFdmVudHMoe1xuICogICAgIGN1c3RvbWVySWQ6IHJlcXVlc3QuY3VzdG9tZXJJZCxcbiAqICAgICBjYXJ0SWQ6IHJlcXVlc3QuY2FydElkLFxuICogICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b1RpbWVTdHJpbmcoKVxuICogICB9KTtcbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiBUbyBzdWJzY3JpYmUgdG8gZXZlbnRzLCBjYWxsIHRoZSBgb25gIG1ldGhvZC4gVGhpcyB3aWxsIHJlZ2lzdGVyIGFcbiAqIGhhbmRsZXIgdGhhdCB3aWwgbGJlIGludm9rZWQgZm9yIGV2ZXJ5IGV2ZW50IG9mIHRoaXMgdHlwZSB0aGF0IGlzIHJlY2VpdmVkLlxuICpcbiAqIGBgYHRzXG4gKiBjaGVja291dEV2ZW50Lm9uRXZlbnQoYXN5bmMgKGNoZWNrb3V0KSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKGNoZWNrb3V0KTtcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHBhcmFtIG5hbWUgYSB1bmlxdWUgbmFtZSB0aGF0IGlkZW50aWZpZXMgdGhpcyBldmVudCB0eXBlIHdpdGhpbiB0aGUgU2VydmljZS5cbiAqIEByZXR1cm5zIGFuIHtAbGluayBFdmVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50PEUgZXh0ZW5kcyBFdmVudFBheWxvYWQ+KG5hbWU6IHN0cmluZyk6IEV2ZW50PEU+IHtcbiAgaWYgKGV2ZW50cygpLmhhcyhuYW1lKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXZlbnQgd2l0aCBuYW1lICcke25hbWV9JyBhbHJlYWR5IGV4aXN0c2ApO1xuICB9XG4gIGNvbnN0IGV2ZW50OiBFdmVudDxFPiA9IHtcbiAgICBuYW1lLFxuICAgIG9uRXZlbnQoaGFuZGxlcikge1xuICAgICAgZXZlbnRTdWJzY3JpcHRpb25zKCkucHVzaCh7XG4gICAgICAgIHN1YnNjcmlwdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGhhbmRsZXI6IGhhbmRsZXIgYXMgRXZlbnRIYW5kbGVyPEV2ZW50UGF5bG9hZD4sXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHB1Ymxpc2hFdmVudHMoLi4uZXZlbnRzKSB7XG4gICAgICBjb25zdCBlbnZlbG9wZXMgPSBldmVudHMubWFwKChldmVudCkgPT4gKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZXZlbnQsXG4gICAgICB9KSk7XG4gICAgICBpZiAoaXNPcmNoZXN0cmF0b3JXb3JrZXIoKSkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHVibGlzaEV2ZW50c0NhbGwoZW52ZWxvcGVzKSBhcyBhbnk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZ2V0U2VydmljZUNsaWVudCgpLnB1Ymxpc2hFdmVudHMoeyBldmVudHM6IGVudmVsb3BlcyB9KTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuICBldmVudHMoKS5zZXQobmFtZSwgZXZlbnQpO1xuICByZXR1cm4gZXZlbnQ7XG59XG4iXX0= |
@@ -1,3 +0,3 @@ | ||
import { Eventual } from "./eventual.js"; | ||
import { HistoryEvent } from "./workflow-events.js"; | ||
import { Eventual, CommandCall } from "./eventual.js"; | ||
import { HistoryEvent, WorkflowEvent } from "./workflow-events.js"; | ||
import { Result } from "./result.js"; | ||
@@ -18,6 +18,14 @@ import { Command } from "./command.js"; | ||
export type Program<Return = any> = Generator<Eventual, Return, any>; | ||
export interface InterpretProps { | ||
/** | ||
* Callback called when a returned call matches an input event. | ||
* | ||
* This call will be ignored. | ||
*/ | ||
historicalEventMatched?: (event: WorkflowEvent, call: CommandCall) => void; | ||
} | ||
/** | ||
* Interprets a workflow program | ||
*/ | ||
export declare function interpret<Return>(program: Program<Return>, history: HistoryEvent[]): WorkflowResult<Awaited<Return>>; | ||
export declare function interpret<Return>(program: Program<Return>, history: HistoryEvent[], props?: InterpretProps): WorkflowResult<Awaited<Return>>; | ||
//# sourceMappingURL=interpret.d.ts.map |
export * from "./activity-runtime-client.js"; | ||
export * from "./event-client.js"; | ||
export * from "./execution-history-client.js"; | ||
export * from "./logs-client.js"; | ||
export * from "./metrics-client.js"; | ||
export * from "./runtime-service-clients.js"; | ||
export * from "./timer-client.js"; | ||
export * from "./workflow-client.js"; | ||
export * from "./workflow-runtime-client.js"; | ||
export * from "./runtime-service-clients.js"; | ||
//# sourceMappingURL=index.d.ts.map |
export * from "./activity-runtime-client.js"; | ||
export * from "./event-client.js"; | ||
export * from "./execution-history-client.js"; | ||
export * from "./logs-client.js"; | ||
export * from "./metrics-client.js"; | ||
export * from "./runtime-service-clients.js"; | ||
export * from "./timer-client.js"; | ||
export * from "./workflow-client.js"; | ||
export * from "./workflow-runtime-client.js"; | ||
export * from "./runtime-service-clients.js"; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ldmVudC1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi1oaXN0b3J5LWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0cmljcy1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RpbWVyLWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3JrZmxvdy1ydW50aW1lLWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcnVudGltZS1zZXJ2aWNlLWNsaWVudHMuanNcIjtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWN0aXZpdHktcnVudGltZS1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50LWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uLWhpc3RvcnktY2xpZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dzLWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0cmljcy1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3J1bnRpbWUtc2VydmljZS1jbGllbnRzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aW1lci1jbGllbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtmbG93LWNsaWVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya2Zsb3ctcnVudGltZS1jbGllbnQuanNcIjtcbiJdfQ== |
@@ -7,3 +7,3 @@ import { SendActivitySuccessRequest, EventualServiceClient, ExecutionEventsRequest, ExecutionEventsResponse, ExecutionHistoryResponse, SendActivityFailureRequest, GetExecutionsRequest, GetExecutionsResponse, GetWorkflowResponse, SendActivityHeartbeatRequest, PublishEventsRequest, StartExecutionRequest, SendActivityHeartbeatResponse } from "../../service-client.js"; | ||
import { SendSignalRequest, WorkflowClient } from "./workflow-client.js"; | ||
import { WorkflowRuntimeClient } from "../../index.js"; | ||
import { WorkflowRuntimeClient } from "./workflow-runtime-client.js"; | ||
export interface RuntimeServiceClientProps { | ||
@@ -10,0 +10,0 @@ workflowClient: WorkflowClient; |
import { ExecutionHandle } from "../../execution.js"; | ||
import { workflows } from "../../index.js"; | ||
import { workflows } from "../../global.js"; | ||
/** | ||
@@ -52,2 +52,2 @@ * An implementation of the {@link EventualServiceClient} using the eventual runtime clients. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXJ2aWNlLWNsaWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL3J1bnRpbWUtc2VydmljZS1jbGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUtoRSxPQUFPLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU2xFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLEtBQWdDO1FBQWhDLFVBQUssR0FBTCxLQUFLLENBQTJCO0lBQUcsQ0FBQztJQUVqRCxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQ3pCLE9BQWlDO1FBRWpDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FDcEUsT0FBTyxDQUNSLENBQUM7UUFDRixPQUFPLElBQUksZUFBZSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FDeEIsT0FBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLFlBQVksQ0FDakIsV0FBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixPQUErQjtRQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxLQUFLLENBQUMsMkJBQTJCLENBQ3RDLFdBQW1CO1FBRW5CLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQzlELFdBQVcsQ0FDWixDQUFDO1FBQ0YsT0FBTztZQUNMLE1BQU07U0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBMEI7UUFDaEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUE2QjtRQUNoRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLE9BQXNEO1FBRXRELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixPQUFpRDtRQUVqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxxQkFBcUIsQ0FDMUIsT0FBbUQ7UUFFbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZW5kQWN0aXZpdHlTdWNjZXNzUmVxdWVzdCxcbiAgRXZlbnR1YWxTZXJ2aWNlQ2xpZW50LFxuICBFeGVjdXRpb25FdmVudHNSZXF1ZXN0LFxuICBFeGVjdXRpb25FdmVudHNSZXNwb25zZSxcbiAgRXhlY3V0aW9uSGlzdG9yeVJlc3BvbnNlLFxuICBTZW5kQWN0aXZpdHlGYWlsdXJlUmVxdWVzdCxcbiAgR2V0RXhlY3V0aW9uc1JlcXVlc3QsXG4gIEdldEV4ZWN1dGlvbnNSZXNwb25zZSxcbiAgR2V0V29ya2Zsb3dSZXNwb25zZSxcbiAgU2VuZEFjdGl2aXR5SGVhcnRiZWF0UmVxdWVzdCxcbiAgUHVibGlzaEV2ZW50c1JlcXVlc3QsXG4gIFN0YXJ0RXhlY3V0aW9uUmVxdWVzdCxcbiAgU2VuZEFjdGl2aXR5SGVhcnRiZWF0UmVzcG9uc2UsXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgRXhlY3V0aW9uLCBFeGVjdXRpb25IYW5kbGUgfSBmcm9tIFwiLi4vLi4vZXhlY3V0aW9uLmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvdyB9IGZyb20gXCIuLi8uLi93b3JrZmxvdy5qc1wiO1xuaW1wb3J0IHsgRXZlbnRDbGllbnQgfSBmcm9tIFwiLi9ldmVudC1jbGllbnQuanNcIjtcbmltcG9ydCB7IEV4ZWN1dGlvbkhpc3RvcnlDbGllbnQgfSBmcm9tIFwiLi9leGVjdXRpb24taGlzdG9yeS1jbGllbnQuanNcIjtcbmltcG9ydCB7IFNlbmRTaWduYWxSZXF1ZXN0LCBXb3JrZmxvd0NsaWVudCB9IGZyb20gXCIuL3dvcmtmbG93LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgV29ya2Zsb3dSdW50aW1lQ2xpZW50LCB3b3JrZmxvd3MgfSBmcm9tIFwiLi4vLi4vaW5kZXguanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lU2VydmljZUNsaWVudFByb3BzIHtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBleGVjdXRpb25IaXN0b3J5Q2xpZW50OiBFeGVjdXRpb25IaXN0b3J5Q2xpZW50O1xuICBldmVudENsaWVudDogRXZlbnRDbGllbnQ7XG4gIHdvcmtmbG93UnVudGltZUNsaWVudDogV29ya2Zsb3dSdW50aW1lQ2xpZW50O1xufVxuXG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSB7QGxpbmsgRXZlbnR1YWxTZXJ2aWNlQ2xpZW50fSB1c2luZyB0aGUgZXZlbnR1YWwgcnVudGltZSBjbGllbnRzLlxuICpcbiAqIEludGVuZGVkIHRvIGJlIHVzZWQgd2hlbiB0aGVyZSBpcyBkaXJlY3QgYWNjZXNzIHRvIHRoZSBldmVudHVhbCBzZXJ2aWNlIGludGVybmFscy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJ1bnRpbWVTZXJ2aWNlQ2xpZW50IGltcGxlbWVudHMgRXZlbnR1YWxTZXJ2aWNlQ2xpZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9wczogUnVudGltZVNlcnZpY2VDbGllbnRQcm9wcykge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0V29ya2Zsb3dzKCk6IFByb21pc2U8R2V0V29ya2Zsb3dSZXNwb25zZT4ge1xuICAgIHJldHVybiB7XG4gICAgICB3b3JrZmxvd3M6IEFycmF5LmZyb20od29ya2Zsb3dzKCkua2V5cygpKS5tYXAoKGspID0+ICh7IG5hbWU6IGsgfSkpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RhcnRFeGVjdXRpb248VyBleHRlbmRzIFdvcmtmbG93ID0gV29ya2Zsb3c+KFxuICAgIHJlcXVlc3Q6IFN0YXJ0RXhlY3V0aW9uUmVxdWVzdDxXPlxuICApOiBQcm9taXNlPEV4ZWN1dGlvbkhhbmRsZTxXPj4ge1xuICAgIGNvbnN0IHsgZXhlY3V0aW9uSWQgfSA9IGF3YWl0IHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc3RhcnRFeGVjdXRpb248Vz4oXG4gICAgICByZXF1ZXN0XG4gICAgKTtcbiAgICByZXR1cm4gbmV3IEV4ZWN1dGlvbkhhbmRsZShleGVjdXRpb25JZCwgdGhpcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0RXhlY3V0aW9ucyhcbiAgICByZXF1ZXN0OiBHZXRFeGVjdXRpb25zUmVxdWVzdFxuICApOiBQcm9taXNlPEdldEV4ZWN1dGlvbnNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LmdldEV4ZWN1dGlvbnMocmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXhlY3V0aW9uKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxFeGVjdXRpb248YW55PiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LmdldEV4ZWN1dGlvbihleGVjdXRpb25JZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXhlY3V0aW9uSGlzdG9yeShcbiAgICByZXF1ZXN0OiBFeGVjdXRpb25FdmVudHNSZXF1ZXN0XG4gICk6IFByb21pc2U8RXhlY3V0aW9uRXZlbnRzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5leGVjdXRpb25IaXN0b3J5Q2xpZW50LmdldEV2ZW50cyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRFeGVjdXRpb25Xb3JrZmxvd0hpc3RvcnkoXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEV4ZWN1dGlvbkhpc3RvcnlSZXNwb25zZT4ge1xuICAgIGNvbnN0IGV2ZW50cyA9IGF3YWl0IHRoaXMucHJvcHMud29ya2Zsb3dSdW50aW1lQ2xpZW50LmdldEhpc3RvcnkoXG4gICAgICBleGVjdXRpb25JZFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV2ZW50cyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmRTaWduYWwocmVxdWVzdDogU2VuZFNpZ25hbFJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zZW5kU2lnbmFsKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIHB1Ymxpc2hFdmVudHMocmVxdWVzdDogUHVibGlzaEV2ZW50c1JlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5ldmVudENsaWVudC5wdWJsaXNoRXZlbnRzKC4uLnJlcXVlc3QuZXZlbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQWN0aXZpdHlTdWNjZXNzKFxuICAgIHJlcXVlc3Q6IE9taXQ8U2VuZEFjdGl2aXR5U3VjY2Vzc1JlcXVlc3Q8YW55PiwgXCJ0eXBlXCI+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LnNlbmRBY3Rpdml0eVN1Y2Nlc3MocmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEFjdGl2aXR5RmFpbHVyZShcbiAgICByZXF1ZXN0OiBPbWl0PFNlbmRBY3Rpdml0eUZhaWx1cmVSZXF1ZXN0LCBcInR5cGVcIj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5RmFpbHVyZShyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQWN0aXZpdHlIZWFydGJlYXQoXG4gICAgcmVxdWVzdDogT21pdDxTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXF1ZXN0LCBcInR5cGVcIj5cbiAgKTogUHJvbWlzZTxTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LnNlbmRBY3Rpdml0eUhlYXJ0YmVhdChyZXF1ZXN0KTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXJ2aWNlLWNsaWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9jbGllbnRzL3J1bnRpbWUtc2VydmljZS1jbGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1oRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFTNUM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsS0FBZ0M7UUFBaEMsVUFBSyxHQUFMLEtBQUssQ0FBMkI7SUFBRyxDQUFDO0lBRWpELEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FDekIsT0FBaUM7UUFFakMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUNwRSxPQUFPLENBQ1IsQ0FBQztRQUNGLE9BQU8sSUFBSSxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUN4QixPQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sWUFBWSxDQUNqQixXQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLE9BQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLEtBQUssQ0FBQywyQkFBMkIsQ0FDdEMsV0FBbUI7UUFFbkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FDOUQsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPO1lBQ0wsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUEwQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQTZCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxtQkFBbUIsQ0FDeEIsT0FBc0Q7UUFFdEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLE9BQWlEO1FBRWpELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLHFCQUFxQixDQUMxQixPQUFtRDtRQUVuRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlbmRBY3Rpdml0eVN1Y2Nlc3NSZXF1ZXN0LFxuICBFdmVudHVhbFNlcnZpY2VDbGllbnQsXG4gIEV4ZWN1dGlvbkV2ZW50c1JlcXVlc3QsXG4gIEV4ZWN1dGlvbkV2ZW50c1Jlc3BvbnNlLFxuICBFeGVjdXRpb25IaXN0b3J5UmVzcG9uc2UsXG4gIFNlbmRBY3Rpdml0eUZhaWx1cmVSZXF1ZXN0LFxuICBHZXRFeGVjdXRpb25zUmVxdWVzdCxcbiAgR2V0RXhlY3V0aW9uc1Jlc3BvbnNlLFxuICBHZXRXb3JrZmxvd1Jlc3BvbnNlLFxuICBTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXF1ZXN0LFxuICBQdWJsaXNoRXZlbnRzUmVxdWVzdCxcbiAgU3RhcnRFeGVjdXRpb25SZXF1ZXN0LFxuICBTZW5kQWN0aXZpdHlIZWFydGJlYXRSZXNwb25zZSxcbn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBFeGVjdXRpb24sIEV4ZWN1dGlvbkhhbmRsZSB9IGZyb20gXCIuLi8uLi9leGVjdXRpb24uanNcIjtcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSBcIi4uLy4uL3dvcmtmbG93LmpzXCI7XG5pbXBvcnQgeyBFdmVudENsaWVudCB9IGZyb20gXCIuL2V2ZW50LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgRXhlY3V0aW9uSGlzdG9yeUNsaWVudCB9IGZyb20gXCIuL2V4ZWN1dGlvbi1oaXN0b3J5LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgU2VuZFNpZ25hbFJlcXVlc3QsIFdvcmtmbG93Q2xpZW50IH0gZnJvbSBcIi4vd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1J1bnRpbWVDbGllbnQgfSBmcm9tIFwiLi93b3JrZmxvdy1ydW50aW1lLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgd29ya2Zsb3dzIH0gZnJvbSBcIi4uLy4uL2dsb2JhbC5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVTZXJ2aWNlQ2xpZW50UHJvcHMge1xuICB3b3JrZmxvd0NsaWVudDogV29ya2Zsb3dDbGllbnQ7XG4gIGV4ZWN1dGlvbkhpc3RvcnlDbGllbnQ6IEV4ZWN1dGlvbkhpc3RvcnlDbGllbnQ7XG4gIGV2ZW50Q2xpZW50OiBFdmVudENsaWVudDtcbiAgd29ya2Zsb3dSdW50aW1lQ2xpZW50OiBXb3JrZmxvd1J1bnRpbWVDbGllbnQ7XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIHtAbGluayBFdmVudHVhbFNlcnZpY2VDbGllbnR9IHVzaW5nIHRoZSBldmVudHVhbCBydW50aW1lIGNsaWVudHMuXG4gKlxuICogSW50ZW5kZWQgdG8gYmUgdXNlZCB3aGVuIHRoZXJlIGlzIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGV2ZW50dWFsIHNlcnZpY2UgaW50ZXJuYWxzLlxuICovXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2VDbGllbnQgaW1wbGVtZW50cyBFdmVudHVhbFNlcnZpY2VDbGllbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBSdW50aW1lU2VydmljZUNsaWVudFByb3BzKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd3MoKTogUHJvbWlzZTxHZXRXb3JrZmxvd1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdvcmtmbG93czogQXJyYXkuZnJvbSh3b3JrZmxvd3MoKS5rZXlzKCkpLm1hcCgoaykgPT4gKHsgbmFtZTogayB9KSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdGFydEV4ZWN1dGlvbjxXIGV4dGVuZHMgV29ya2Zsb3cgPSBXb3JrZmxvdz4oXG4gICAgcmVxdWVzdDogU3RhcnRFeGVjdXRpb25SZXF1ZXN0PFc+XG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGFuZGxlPFc+PiB7XG4gICAgY29uc3QgeyBleGVjdXRpb25JZCB9ID0gYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zdGFydEV4ZWN1dGlvbjxXPihcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICAgIHJldHVybiBuZXcgRXhlY3V0aW9uSGFuZGxlKGV4ZWN1dGlvbklkLCB0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRFeGVjdXRpb25zKFxuICAgIHJlcXVlc3Q6IEdldEV4ZWN1dGlvbnNSZXF1ZXN0XG4gICk6IFByb21pc2U8R2V0RXhlY3V0aW9uc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuZ2V0RXhlY3V0aW9ucyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeGVjdXRpb24oXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEV4ZWN1dGlvbjxhbnk+IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuZ2V0RXhlY3V0aW9uKGV4ZWN1dGlvbklkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeGVjdXRpb25IaXN0b3J5KFxuICAgIHJlcXVlc3Q6IEV4ZWN1dGlvbkV2ZW50c1JlcXVlc3RcbiAgKTogUHJvbWlzZTxFeGVjdXRpb25FdmVudHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV4ZWN1dGlvbkhpc3RvcnlDbGllbnQuZ2V0RXZlbnRzKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEV4ZWN1dGlvbldvcmtmbG93SGlzdG9yeShcbiAgICBleGVjdXRpb25JZDogc3RyaW5nXG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGlzdG9yeVJlc3BvbnNlPiB7XG4gICAgY29uc3QgZXZlbnRzID0gYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd1J1bnRpbWVDbGllbnQuZ2V0SGlzdG9yeShcbiAgICAgIGV4ZWN1dGlvbklkXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFNpZ25hbChyZXF1ZXN0OiBTZW5kU2lnbmFsUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLndvcmtmbG93Q2xpZW50LnNlbmRTaWduYWwocmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgcHVibGlzaEV2ZW50cyhyZXF1ZXN0OiBQdWJsaXNoRXZlbnRzUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV2ZW50Q2xpZW50LnB1Ymxpc2hFdmVudHMoLi4ucmVxdWVzdC5ldmVudHMpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBY3Rpdml0eVN1Y2Nlc3MoXG4gICAgcmVxdWVzdDogT21pdDxTZW5kQWN0aXZpdHlTdWNjZXNzUmVxdWVzdDxhbnk+LCBcInR5cGVcIj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5U3VjY2VzcyhyZXF1ZXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQWN0aXZpdHlGYWlsdXJlKFxuICAgIHJlcXVlc3Q6IE9taXQ8U2VuZEFjdGl2aXR5RmFpbHVyZVJlcXVlc3QsIFwidHlwZVwiPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zZW5kQWN0aXZpdHlGYWlsdXJlKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBY3Rpdml0eUhlYXJ0YmVhdChcbiAgICByZXF1ZXN0OiBPbWl0PFNlbmRBY3Rpdml0eUhlYXJ0YmVhdFJlcXVlc3QsIFwidHlwZVwiPlxuICApOiBQcm9taXNlPFNlbmRBY3Rpdml0eUhlYXJ0YmVhdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5SGVhcnRiZWF0KHJlcXVlc3QpO1xuICB9XG59XG4iXX0= |
import { Command } from "../command.js"; | ||
import { HistoryStateEvent } from "../workflow-events.js"; | ||
import { Workflow } from "../workflow.js"; | ||
import { EventClient, TimerClient, WorkflowClient, WorkflowRuntimeClient } from "./index.js"; | ||
import { TimerClient } from "./clients/timer-client.js"; | ||
import { WorkflowRuntimeClient } from "./clients/workflow-runtime-client.js"; | ||
import { WorkflowClient } from "./clients/workflow-client.js"; | ||
import { EventClient } from "./clients/event-client.js"; | ||
interface CommandExecutorProps { | ||
@@ -6,0 +9,0 @@ workflowRuntimeClient: WorkflowRuntimeClient; |
import { isExpectSignalCommand, isPublishEventsCommand, isScheduleActivityCommand, isScheduleWorkflowCommand, isSendSignalCommand, isSleepForCommand, isSleepUntilCommand, isStartConditionCommand, } from "../command.js"; | ||
import { WorkflowEventType, createEvent, } from "../workflow-events.js"; | ||
import { isChildExecutionTarget } from "../index.js"; | ||
import { assertNever } from "../util.js"; | ||
import { formatChildExecutionName, formatExecutionId } from "./execution-id.js"; | ||
import { Schedule, } from "./index.js"; | ||
import { Schedule } from "./clients/timer-client.js"; | ||
import { isChildExecutionTarget } from "../signals.js"; | ||
/** | ||
@@ -166,2 +166,2 @@ * Uses the clients to execute all supported commands and return events. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL2NvbW1hbmQtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FReEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixXQUFXLEdBV1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQW1CLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEYsT0FBTyxFQUVMLFFBQVEsR0FJVCxNQUFNLFlBQVksQ0FBQztBQVNwQjs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLEtBQTJCO1FBQTNCLFVBQUssR0FBTCxLQUFLLENBQXNCO0lBQUcsQ0FBQztJQUU1QyxLQUFLLENBQUMsY0FBYyxDQUN6QixRQUFrQixFQUNsQixXQUFtQixFQUNuQixPQUFnQixFQUNoQixRQUFjO1FBRWQsSUFBSSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUNoQyxRQUFRLEVBQ1IsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLENBQ1QsQ0FBQztTQUNIO2FBQU0sSUFBSSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ25F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TUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBSTtTQUNsQixFQUNELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tbWFuZCxcbiAgRXhwZWN0U2lnbmFsQ29tbWFuZCxcbiAgaXNFeHBlY3RTaWduYWxDb21tYW5kLFxuICBpc1B1Ymxpc2hFdmVudHNDb21tYW5kLFxuICBpc1NjaGVkdWxlQWN0aXZpdHlDb21tYW5kLFxuICBpc1NjaGVkdWxlV29ya2Zsb3dDb21tYW5kLFxuICBpc1NlbmRTaWduYWxDb21tYW5kLFxuICBpc1NsZWVwRm9yQ29tbWFuZCxcbiAgaXNTbGVlcFVudGlsQ29tbWFuZCxcbiAgaXNTdGFydENvbmRpdGlvbkNvbW1hbmQsXG4gIFB1Ymxpc2hFdmVudHNDb21tYW5kLFxuICBTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgU2NoZWR1bGVXb3JrZmxvd0NvbW1hbmQsXG4gIFNlbmRTaWduYWxDb21tYW5kLFxuICBTbGVlcEZvckNvbW1hbmQsXG4gIFNsZWVwVW50aWxDb21tYW5kLFxuICBTdGFydENvbmRpdGlvbkNvbW1hbmQsXG59IGZyb20gXCIuLi9jb21tYW5kLmpzXCI7XG5pbXBvcnQge1xuICBBY3Rpdml0eVRpbWVkT3V0LFxuICBXb3JrZmxvd0V2ZW50VHlwZSxcbiAgY3JlYXRlRXZlbnQsXG4gIEFjdGl2aXR5U2NoZWR1bGVkLFxuICBDaGlsZFdvcmtmbG93U2NoZWR1bGVkLFxuICBTbGVlcFNjaGVkdWxlZCxcbiAgU2xlZXBDb21wbGV0ZWQsXG4gIEV4cGVjdFNpZ25hbFN0YXJ0ZWQsXG4gIEV4cGVjdFNpZ25hbFRpbWVkT3V0LFxuICBIaXN0b3J5U3RhdGVFdmVudCxcbiAgQ29uZGl0aW9uU3RhcnRlZCxcbiAgQ29uZGl0aW9uVGltZWRPdXQsXG4gIFNpZ25hbFNlbnQsXG59IGZyb20gXCIuLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IEV2ZW50c1B1Ymxpc2hlZCwgaXNDaGlsZEV4ZWN1dGlvblRhcmdldCB9IGZyb20gXCIuLi9pbmRleC5qc1wiO1xuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIgfSBmcm9tIFwiLi4vdXRpbC5qc1wiO1xuaW1wb3J0IHsgV29ya2Zsb3cgfSBmcm9tIFwiLi4vd29ya2Zsb3cuanNcIjtcbmltcG9ydCB7IGZvcm1hdENoaWxkRXhlY3V0aW9uTmFtZSwgZm9ybWF0RXhlY3V0aW9uSWQgfSBmcm9tIFwiLi9leGVjdXRpb24taWQuanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5V29ya2VyUmVxdWVzdCB9IGZyb20gXCIuL2hhbmRsZXJzL2FjdGl2aXR5LXdvcmtlci5qc1wiO1xuaW1wb3J0IHtcbiAgRXZlbnRDbGllbnQsXG4gIFNjaGVkdWxlLFxuICBUaW1lckNsaWVudCxcbiAgV29ya2Zsb3dDbGllbnQsXG4gIFdvcmtmbG93UnVudGltZUNsaWVudCxcbn0gZnJvbSBcIi4vaW5kZXguanNcIjtcblxuaW50ZXJmYWNlIENvbW1hbmRFeGVjdXRvclByb3BzIHtcbiAgd29ya2Zsb3dSdW50aW1lQ2xpZW50OiBXb3JrZmxvd1J1bnRpbWVDbGllbnQ7XG4gIHRpbWVyQ2xpZW50OiBUaW1lckNsaWVudDtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBldmVudENsaWVudDogRXZlbnRDbGllbnQ7XG59XG5cbi8qKlxuICogVXNlcyB0aGUgY2xpZW50cyB0byBleGVjdXRlIGFsbCBzdXBwb3J0ZWQgY29tbWFuZHMgYW5kIHJldHVybiBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kRXhlY3V0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBDb21tYW5kRXhlY3V0b3JQcm9wcykge31cblxuICBwdWJsaWMgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoXG4gICAgd29ya2Zsb3c6IFdvcmtmbG93LFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApOiBQcm9taXNlPEhpc3RvcnlTdGF0ZUV2ZW50PiB7XG4gICAgaWYgKGlzU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNjaGVkdWxlQWN0aXZpdHkoXG4gICAgICAgIHdvcmtmbG93LFxuICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgYmFzZVRpbWVcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc1NjaGVkdWxlV29ya2Zsb3dDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZUNoaWxkV29ya2Zsb3coZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzU2xlZXBGb3JDb21tYW5kKGNvbW1hbmQpIHx8IGlzU2xlZXBVbnRpbENvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIC8vIGFsbCBzbGVlcCB0aW1lcyBhcmUgY29tcHV0ZWQgdXNpbmcgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlIFdvcmtmbG93VGFza1N0YXJ0ZWRcbiAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlU2xlZXAoZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzRXhwZWN0U2lnbmFsQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgLy8gc2hvdWxkIHRoZSB0aW1lb3V0IGNvbW1hbmQgYmUgZ2VuZXJpYyAoZXg6IFN0YXJ0VGltZW91dCkgb3Igc3BlY2lmaWMgKGV4OiBFeHBlY3RTaWduYWwpP1xuICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUV4cGVjdFNpZ25hbChleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNTZW5kU2lnbmFsQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VuZFNpZ25hbChleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNTdGFydENvbmRpdGlvbkNvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXJ0Q29uZGl0aW9uKGV4ZWN1dGlvbklkLCBjb21tYW5kLCBiYXNlVGltZSk7XG4gICAgfSBlbHNlIGlmIChpc1B1Ymxpc2hFdmVudHNDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5wdWJsaXNoRXZlbnRzKGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFzc2VydE5ldmVyKGNvbW1hbmQsIGB1bmtub3duIGNvbW1hbmQgdHlwZWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVBY3Rpdml0eShcbiAgICB3b3JrZmxvdzogV29ya2Zsb3csXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcbiAgICBjb21tYW5kOiBTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApIHtcbiAgICBjb25zdCByZXF1ZXN0OiBBY3Rpdml0eVdvcmtlclJlcXVlc3QgPSB7XG4gICAgICBzY2hlZHVsZWRUaW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93LndvcmtmbG93TmFtZSxcbiAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgY29tbWFuZCxcbiAgICAgIHJldHJ5OiAwLFxuICAgIH07XG5cbiAgICBjb25zdCB0aW1lb3V0U3RhcnRlciA9IGNvbW1hbmQudGltZW91dFNlY29uZHNcbiAgICAgID8gYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PEFjdGl2aXR5VGltZWRPdXQ+KHtcbiAgICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmVsYXRpdmUoY29tbWFuZC50aW1lb3V0U2Vjb25kcywgYmFzZVRpbWUpLFxuICAgICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVRpbWVkT3V0LFxuICAgICAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICB9KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhY3Rpdml0eVN0YXJ0ZXIgPVxuICAgICAgdGhpcy5wcm9wcy53b3JrZmxvd1J1bnRpbWVDbGllbnQuc3RhcnRBY3Rpdml0eShyZXF1ZXN0KTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFthY3Rpdml0eVN0YXJ0ZXIsIHRpbWVvdXRTdGFydGVyXSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8QWN0aXZpdHlTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVNjaGVkdWxlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgbmFtZTogY29tbWFuZC5uYW1lLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVDaGlsZFdvcmtmbG93KFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2NoZWR1bGVXb3JrZmxvd0NvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxDaGlsZFdvcmtmbG93U2NoZWR1bGVkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zdGFydEV4ZWN1dGlvbih7XG4gICAgICB3b3JrZmxvdzogY29tbWFuZC5uYW1lLFxuICAgICAgaW5wdXQ6IGNvbW1hbmQuaW5wdXQsXG4gICAgICBwYXJlbnRFeGVjdXRpb25JZDogZXhlY3V0aW9uSWQsXG4gICAgICBleGVjdXRpb25OYW1lOiBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUoZXhlY3V0aW9uSWQsIGNvbW1hbmQuc2VxKSxcbiAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAuLi5jb21tYW5kLm9wdHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8Q2hpbGRXb3JrZmxvd1NjaGVkdWxlZD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTY2hlZHVsZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgaW5wdXQ6IGNvbW1hbmQuaW5wdXQsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzY2hlZHVsZVNsZWVwKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG5cbiAgICBjb21tYW5kOiBTbGVlcEZvckNvbW1hbmQgfCBTbGVlcFVudGlsQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApOiBQcm9taXNlPFNsZWVwU2NoZWR1bGVkPiB7XG4gICAgLy8gVE9ETyB2YWxpZGF0ZVxuICAgIGNvbnN0IHVudGlsVGltZSA9IGlzU2xlZXBVbnRpbENvbW1hbmQoY29tbWFuZClcbiAgICAgID8gbmV3IERhdGUoY29tbWFuZC51bnRpbFRpbWUpXG4gICAgICA6IG5ldyBEYXRlKGJhc2VUaW1lLmdldFRpbWUoKSArIGNvbW1hbmQuZHVyYXRpb25TZWNvbmRzICogMTAwMCk7XG4gICAgY29uc3QgdW50aWxUaW1lSXNvID0gdW50aWxUaW1lLnRvSVNPU3RyaW5nKCk7XG5cbiAgICBhd2FpdCB0aGlzLnByb3BzLnRpbWVyQ2xpZW50LnNjaGVkdWxlRXZlbnQ8U2xlZXBDb21wbGV0ZWQ+KHtcbiAgICAgIGV2ZW50OiB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgfSxcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5hYnNvbHV0ZSh1bnRpbFRpbWVJc28pLFxuICAgICAgZXhlY3V0aW9uSWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8U2xlZXBTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcFNjaGVkdWxlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgdW50aWxUaW1lOiB1bnRpbFRpbWUudG9JU09TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBiYXNlVGltZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVFeHBlY3RTaWduYWwoXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcblxuICAgIGNvbW1hbmQ6IEV4cGVjdFNpZ25hbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxFeHBlY3RTaWduYWxTdGFydGVkPiB7XG4gICAgaWYgKGNvbW1hbmQudGltZW91dFNlY29uZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvcHMudGltZXJDbGllbnQuc2NoZWR1bGVFdmVudDxFeHBlY3RTaWduYWxUaW1lZE91dD4oe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHNpZ25hbElkOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQsXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShjb21tYW5kLnRpbWVvdXRTZWNvbmRzLCBiYXNlVGltZSksXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PEV4cGVjdFNpZ25hbFN0YXJ0ZWQ+KFxuICAgICAge1xuICAgICAgICBzaWduYWxJZDogY29tbWFuZC5zaWduYWxJZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsU3RhcnRlZCxcbiAgICAgICAgdGltZW91dFNlY29uZHM6IGNvbW1hbmQudGltZW91dFNlY29uZHMsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kU2lnbmFsKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2VuZFNpZ25hbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKSB7XG4gICAgY29uc3QgY2hpbGRFeGVjdXRpb25JZCA9IGlzQ2hpbGRFeGVjdXRpb25UYXJnZXQoY29tbWFuZC50YXJnZXQpXG4gICAgICA/IGZvcm1hdEV4ZWN1dGlvbklkKFxuICAgICAgICAgIGNvbW1hbmQudGFyZ2V0LndvcmtmbG93TmFtZSxcbiAgICAgICAgICBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUoZXhlY3V0aW9uSWQsIGNvbW1hbmQudGFyZ2V0LnNlcSlcbiAgICAgICAgKVxuICAgICAgOiBjb21tYW5kLnRhcmdldC5leGVjdXRpb25JZDtcblxuICAgIGF3YWl0IHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZFNpZ25hbCh7XG4gICAgICBzaWduYWw6IGNvbW1hbmQuc2lnbmFsSWQsXG4gICAgICBleGVjdXRpb246IGNoaWxkRXhlY3V0aW9uSWQsXG4gICAgICBpZDogYCR7ZXhlY3V0aW9uSWR9LyR7Y29tbWFuZC5zZXF9YCxcbiAgICAgIHBheWxvYWQ6IGNvbW1hbmQucGF5bG9hZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBjcmVhdGVFdmVudDxTaWduYWxTZW50PihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsU2VudCxcbiAgICAgICAgZXhlY3V0aW9uSWQ6IGNoaWxkRXhlY3V0aW9uSWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIHNpZ25hbElkOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgICBwYXlsb2FkOiBjb21tYW5kLnBheWxvYWQsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGFydENvbmRpdGlvbihcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IFN0YXJ0Q29uZGl0aW9uQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApIHtcbiAgICBpZiAoY29tbWFuZC50aW1lb3V0U2Vjb25kcykge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PENvbmRpdGlvblRpbWVkT3V0Pih7XG4gICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uVGltZWRPdXQsXG4gICAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgfSxcbiAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShjb21tYW5kLnRpbWVvdXRTZWNvbmRzLCBiYXNlVGltZSksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8Q29uZGl0aW9uU3RhcnRlZD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblN0YXJ0ZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHVibGlzaEV2ZW50cyhjb21tYW5kOiBQdWJsaXNoRXZlbnRzQ29tbWFuZCwgYmFzZVRpbWU6IERhdGUpIHtcbiAgICBhd2FpdCB0aGlzLnByb3BzLmV2ZW50Q2xpZW50LnB1Ymxpc2hFdmVudHMoLi4uY29tbWFuZC5ldmVudHMpO1xuICAgIHJldHVybiBjcmVhdGVFdmVudDxFdmVudHNQdWJsaXNoZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FdmVudHNQdWJsaXNoZWQsXG4gICAgICAgIGV2ZW50czogY29tbWFuZC5ldmVudHMsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL2NvbW1hbmQtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FReEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixXQUFXLEdBWVosTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixLQUEyQjtRQUEzQixVQUFLLEdBQUwsS0FBSyxDQUFzQjtJQUFHLENBQUM7SUFFNUMsS0FBSyxDQUFDLGNBQWMsQ0FDekIsUUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsT0FBZ0IsRUFDaEIsUUFBYztRQUVkLElBQUkseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FDaEMsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsUUFBUSxDQUNULENBQUM7U0FDSDthQUFNLElBQUkseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNuRTthQUFNLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckUsK0VBQStFO1lBQy9FLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QywyRkFBMkY7WUFDM0YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNqRTthQUFNLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEQ7YUFBTSxJQUFJLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzVEO2FBQU0sSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlDO2FBQU07WUFDTCxPQUFPLFdBQVcsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQzVCLFFBQWtCLEVBQ2xCLFdBQW1CLEVBQ25CLE9BQWdDLEVBQ2hDLFFBQWM7UUFFZCxNQUFNLE9BQU8sR0FBMEI7WUFDckMsYUFBYSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxXQUFXO1lBQ1gsT0FBTztZQUNQLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjO1lBQzNDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBbUI7Z0JBQzNELFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDO2dCQUM3RCxLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLGlCQUFpQixDQUFDLGdCQUFnQjtvQkFDeEMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO2lCQUNqQjtnQkFDRCxXQUFXO2FBQ1osQ0FBQztZQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxNQUFNLGVBQWUsR0FDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFckQsT0FBTyxXQUFXLENBQ2hCO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQjtZQUN6QyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1NBQ25CLEVBQ0QsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSyxDQUFDLHFCQUFxQixDQUNqQyxXQUFtQixFQUNuQixPQUFnQyxFQUNoQyxRQUFjO1FBRWQsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDN0MsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3RCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixpQkFBaUIsRUFBRSxXQUFXO1lBQzlCLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNqRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsR0FBRyxPQUFPLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FDaEI7WUFDRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsc0JBQXNCO1lBQzlDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1NBQ3JCLEVBQ0QsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FDekIsV0FBbUIsRUFFbkIsT0FBNEMsRUFDNUMsUUFBYztRQUVkLGdCQUFnQjtRQUNoQixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDN0IsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3QyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBaUI7WUFDekQsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO2dCQUN0QyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7YUFDakI7WUFDRCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDekMsV0FBVztTQUNaLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUNoQjtZQUNFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO1lBQ3RDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixTQUFTLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRTtTQUNuQyxFQUNELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxtQkFBbUIsQ0FDL0IsV0FBbUIsRUFFbkIsT0FBNEIsRUFDNUIsUUFBYztRQUVkLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMxQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBdUI7Z0JBQy9ELEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7b0JBQzFCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztvQkFDaEIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLG9CQUFvQjtpQkFDN0M7Z0JBQ0QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUM7Z0JBQzdELFdBQVc7YUFDWixDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sV0FBVyxDQUNoQjtZQUNFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLG1CQUFtQjtZQUMzQyxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7U0FDdkMsRUFDRCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVSxDQUN0QixXQUFtQixFQUNuQixPQUEwQixFQUMxQixRQUFjO1FBRWQsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzdELENBQUMsQ0FBQyxpQkFBaUIsQ0FDZixPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksRUFDM0Isd0JBQXdCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQzFEO1lBQ0gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRS9CLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUTtZQUN4QixTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLEVBQUUsRUFBRSxHQUFHLFdBQVcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztTQUN6QixDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FDaEI7WUFDRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsVUFBVTtZQUNsQyxXQUFXLEVBQUUsZ0JBQWdCO1lBQzdCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1NBQ3pCLEVBQ0QsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSyxDQUFDLGNBQWMsQ0FDMUIsV0FBbUIsRUFDbkIsT0FBOEIsRUFDOUIsUUFBYztRQUVkLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMxQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBb0I7Z0JBQzVELEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCO29CQUN6QyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7aUJBQ2pCO2dCQUNELFdBQVc7Z0JBQ1gsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUM7YUFDOUQsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLFdBQVcsQ0FDaEI7WUFDRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCO1lBQ3hDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBSTtTQUNsQixFQUNELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBNkIsRUFBRSxRQUFjO1FBQ3ZFLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlELE9BQU8sV0FBVyxDQUNoQjtZQUNFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxlQUFlO1lBQ3ZDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUk7U0FDbEIsRUFDRCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbW1hbmQsXG4gIEV4cGVjdFNpZ25hbENvbW1hbmQsXG4gIGlzRXhwZWN0U2lnbmFsQ29tbWFuZCxcbiAgaXNQdWJsaXNoRXZlbnRzQ29tbWFuZCxcbiAgaXNTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgaXNTY2hlZHVsZVdvcmtmbG93Q29tbWFuZCxcbiAgaXNTZW5kU2lnbmFsQ29tbWFuZCxcbiAgaXNTbGVlcEZvckNvbW1hbmQsXG4gIGlzU2xlZXBVbnRpbENvbW1hbmQsXG4gIGlzU3RhcnRDb25kaXRpb25Db21tYW5kLFxuICBQdWJsaXNoRXZlbnRzQ29tbWFuZCxcbiAgU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQsXG4gIFNjaGVkdWxlV29ya2Zsb3dDb21tYW5kLFxuICBTZW5kU2lnbmFsQ29tbWFuZCxcbiAgU2xlZXBGb3JDb21tYW5kLFxuICBTbGVlcFVudGlsQ29tbWFuZCxcbiAgU3RhcnRDb25kaXRpb25Db21tYW5kLFxufSBmcm9tIFwiLi4vY29tbWFuZC5qc1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlUaW1lZE91dCxcbiAgV29ya2Zsb3dFdmVudFR5cGUsXG4gIGNyZWF0ZUV2ZW50LFxuICBBY3Rpdml0eVNjaGVkdWxlZCxcbiAgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCxcbiAgU2xlZXBTY2hlZHVsZWQsXG4gIFNsZWVwQ29tcGxldGVkLFxuICBFeHBlY3RTaWduYWxTdGFydGVkLFxuICBFeHBlY3RTaWduYWxUaW1lZE91dCxcbiAgSGlzdG9yeVN0YXRlRXZlbnQsXG4gIENvbmRpdGlvblN0YXJ0ZWQsXG4gIENvbmRpdGlvblRpbWVkT3V0LFxuICBTaWduYWxTZW50LFxuICBFdmVudHNQdWJsaXNoZWQsXG59IGZyb20gXCIuLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSBcIi4uL3V0aWwuanNcIjtcbmltcG9ydCB7IFdvcmtmbG93IH0gZnJvbSBcIi4uL3dvcmtmbG93LmpzXCI7XG5pbXBvcnQgeyBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUsIGZvcm1hdEV4ZWN1dGlvbklkIH0gZnJvbSBcIi4vZXhlY3V0aW9uLWlkLmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eVdvcmtlclJlcXVlc3QgfSBmcm9tIFwiLi9oYW5kbGVycy9hY3Rpdml0eS13b3JrZXIuanNcIjtcbmltcG9ydCB7IFNjaGVkdWxlLCBUaW1lckNsaWVudCB9IGZyb20gXCIuL2NsaWVudHMvdGltZXItY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1J1bnRpbWVDbGllbnQgfSBmcm9tIFwiLi9jbGllbnRzL3dvcmtmbG93LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd0NsaWVudCB9IGZyb20gXCIuL2NsaWVudHMvd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBFdmVudENsaWVudCB9IGZyb20gXCIuL2NsaWVudHMvZXZlbnQtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBpc0NoaWxkRXhlY3V0aW9uVGFyZ2V0IH0gZnJvbSBcIi4uL3NpZ25hbHMuanNcIjtcblxuaW50ZXJmYWNlIENvbW1hbmRFeGVjdXRvclByb3BzIHtcbiAgd29ya2Zsb3dSdW50aW1lQ2xpZW50OiBXb3JrZmxvd1J1bnRpbWVDbGllbnQ7XG4gIHRpbWVyQ2xpZW50OiBUaW1lckNsaWVudDtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBldmVudENsaWVudDogRXZlbnRDbGllbnQ7XG59XG5cbi8qKlxuICogVXNlcyB0aGUgY2xpZW50cyB0byBleGVjdXRlIGFsbCBzdXBwb3J0ZWQgY29tbWFuZHMgYW5kIHJldHVybiBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kRXhlY3V0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBDb21tYW5kRXhlY3V0b3JQcm9wcykge31cblxuICBwdWJsaWMgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoXG4gICAgd29ya2Zsb3c6IFdvcmtmbG93LFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApOiBQcm9taXNlPEhpc3RvcnlTdGF0ZUV2ZW50PiB7XG4gICAgaWYgKGlzU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNjaGVkdWxlQWN0aXZpdHkoXG4gICAgICAgIHdvcmtmbG93LFxuICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgYmFzZVRpbWVcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc1NjaGVkdWxlV29ya2Zsb3dDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZUNoaWxkV29ya2Zsb3coZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzU2xlZXBGb3JDb21tYW5kKGNvbW1hbmQpIHx8IGlzU2xlZXBVbnRpbENvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIC8vIGFsbCBzbGVlcCB0aW1lcyBhcmUgY29tcHV0ZWQgdXNpbmcgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlIFdvcmtmbG93VGFza1N0YXJ0ZWRcbiAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlU2xlZXAoZXhlY3V0aW9uSWQsIGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2UgaWYgKGlzRXhwZWN0U2lnbmFsQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgLy8gc2hvdWxkIHRoZSB0aW1lb3V0IGNvbW1hbmQgYmUgZ2VuZXJpYyAoZXg6IFN0YXJ0VGltZW91dCkgb3Igc3BlY2lmaWMgKGV4OiBFeHBlY3RTaWduYWwpP1xuICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUV4cGVjdFNpZ25hbChleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNTZW5kU2lnbmFsQ29tbWFuZChjb21tYW5kKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VuZFNpZ25hbChleGVjdXRpb25JZCwgY29tbWFuZCwgYmFzZVRpbWUpO1xuICAgIH0gZWxzZSBpZiAoaXNTdGFydENvbmRpdGlvbkNvbW1hbmQoY29tbWFuZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXJ0Q29uZGl0aW9uKGV4ZWN1dGlvbklkLCBjb21tYW5kLCBiYXNlVGltZSk7XG4gICAgfSBlbHNlIGlmIChpc1B1Ymxpc2hFdmVudHNDb21tYW5kKGNvbW1hbmQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5wdWJsaXNoRXZlbnRzKGNvbW1hbmQsIGJhc2VUaW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFzc2VydE5ldmVyKGNvbW1hbmQsIGB1bmtub3duIGNvbW1hbmQgdHlwZWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVBY3Rpdml0eShcbiAgICB3b3JrZmxvdzogV29ya2Zsb3csXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcbiAgICBjb21tYW5kOiBTY2hlZHVsZUFjdGl2aXR5Q29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApIHtcbiAgICBjb25zdCByZXF1ZXN0OiBBY3Rpdml0eVdvcmtlclJlcXVlc3QgPSB7XG4gICAgICBzY2hlZHVsZWRUaW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93LndvcmtmbG93TmFtZSxcbiAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgY29tbWFuZCxcbiAgICAgIHJldHJ5OiAwLFxuICAgIH07XG5cbiAgICBjb25zdCB0aW1lb3V0U3RhcnRlciA9IGNvbW1hbmQudGltZW91dFNlY29uZHNcbiAgICAgID8gYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PEFjdGl2aXR5VGltZWRPdXQ+KHtcbiAgICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmVsYXRpdmUoY29tbWFuZC50aW1lb3V0U2Vjb25kcywgYmFzZVRpbWUpLFxuICAgICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVRpbWVkT3V0LFxuICAgICAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICB9KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhY3Rpdml0eVN0YXJ0ZXIgPVxuICAgICAgdGhpcy5wcm9wcy53b3JrZmxvd1J1bnRpbWVDbGllbnQuc3RhcnRBY3Rpdml0eShyZXF1ZXN0KTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFthY3Rpdml0eVN0YXJ0ZXIsIHRpbWVvdXRTdGFydGVyXSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8QWN0aXZpdHlTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVNjaGVkdWxlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgbmFtZTogY29tbWFuZC5uYW1lLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NoZWR1bGVDaGlsZFdvcmtmbG93KFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2NoZWR1bGVXb3JrZmxvd0NvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxDaGlsZFdvcmtmbG93U2NoZWR1bGVkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9wcy53b3JrZmxvd0NsaWVudC5zdGFydEV4ZWN1dGlvbih7XG4gICAgICB3b3JrZmxvdzogY29tbWFuZC5uYW1lLFxuICAgICAgaW5wdXQ6IGNvbW1hbmQuaW5wdXQsXG4gICAgICBwYXJlbnRFeGVjdXRpb25JZDogZXhlY3V0aW9uSWQsXG4gICAgICBleGVjdXRpb25OYW1lOiBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUoZXhlY3V0aW9uSWQsIGNvbW1hbmQuc2VxKSxcbiAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAuLi5jb21tYW5kLm9wdHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8Q2hpbGRXb3JrZmxvd1NjaGVkdWxlZD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTY2hlZHVsZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgaW5wdXQ6IGNvbW1hbmQuaW5wdXQsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzY2hlZHVsZVNsZWVwKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG5cbiAgICBjb21tYW5kOiBTbGVlcEZvckNvbW1hbmQgfCBTbGVlcFVudGlsQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApOiBQcm9taXNlPFNsZWVwU2NoZWR1bGVkPiB7XG4gICAgLy8gVE9ETyB2YWxpZGF0ZVxuICAgIGNvbnN0IHVudGlsVGltZSA9IGlzU2xlZXBVbnRpbENvbW1hbmQoY29tbWFuZClcbiAgICAgID8gbmV3IERhdGUoY29tbWFuZC51bnRpbFRpbWUpXG4gICAgICA6IG5ldyBEYXRlKGJhc2VUaW1lLmdldFRpbWUoKSArIGNvbW1hbmQuZHVyYXRpb25TZWNvbmRzICogMTAwMCk7XG4gICAgY29uc3QgdW50aWxUaW1lSXNvID0gdW50aWxUaW1lLnRvSVNPU3RyaW5nKCk7XG5cbiAgICBhd2FpdCB0aGlzLnByb3BzLnRpbWVyQ2xpZW50LnNjaGVkdWxlRXZlbnQ8U2xlZXBDb21wbGV0ZWQ+KHtcbiAgICAgIGV2ZW50OiB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkLFxuICAgICAgICBzZXE6IGNvbW1hbmQuc2VxLFxuICAgICAgfSxcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5hYnNvbHV0ZSh1bnRpbFRpbWVJc28pLFxuICAgICAgZXhlY3V0aW9uSWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8U2xlZXBTY2hlZHVsZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcFNjaGVkdWxlZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgdW50aWxUaW1lOiB1bnRpbFRpbWUudG9JU09TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBiYXNlVGltZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVFeHBlY3RTaWduYWwoXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcblxuICAgIGNvbW1hbmQ6IEV4cGVjdFNpZ25hbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKTogUHJvbWlzZTxFeHBlY3RTaWduYWxTdGFydGVkPiB7XG4gICAgaWYgKGNvbW1hbmQudGltZW91dFNlY29uZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvcHMudGltZXJDbGllbnQuc2NoZWR1bGVFdmVudDxFeHBlY3RTaWduYWxUaW1lZE91dD4oe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHNpZ25hbElkOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQsXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShjb21tYW5kLnRpbWVvdXRTZWNvbmRzLCBiYXNlVGltZSksXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZUV2ZW50PEV4cGVjdFNpZ25hbFN0YXJ0ZWQ+KFxuICAgICAge1xuICAgICAgICBzaWduYWxJZDogY29tbWFuZC5zaWduYWxJZCxcbiAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsU3RhcnRlZCxcbiAgICAgICAgdGltZW91dFNlY29uZHM6IGNvbW1hbmQudGltZW91dFNlY29uZHMsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kU2lnbmFsKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogU2VuZFNpZ25hbENvbW1hbmQsXG4gICAgYmFzZVRpbWU6IERhdGVcbiAgKSB7XG4gICAgY29uc3QgY2hpbGRFeGVjdXRpb25JZCA9IGlzQ2hpbGRFeGVjdXRpb25UYXJnZXQoY29tbWFuZC50YXJnZXQpXG4gICAgICA/IGZvcm1hdEV4ZWN1dGlvbklkKFxuICAgICAgICAgIGNvbW1hbmQudGFyZ2V0LndvcmtmbG93TmFtZSxcbiAgICAgICAgICBmb3JtYXRDaGlsZEV4ZWN1dGlvbk5hbWUoZXhlY3V0aW9uSWQsIGNvbW1hbmQudGFyZ2V0LnNlcSlcbiAgICAgICAgKVxuICAgICAgOiBjb21tYW5kLnRhcmdldC5leGVjdXRpb25JZDtcblxuICAgIGF3YWl0IHRoaXMucHJvcHMud29ya2Zsb3dDbGllbnQuc2VuZFNpZ25hbCh7XG4gICAgICBzaWduYWw6IGNvbW1hbmQuc2lnbmFsSWQsXG4gICAgICBleGVjdXRpb246IGNoaWxkRXhlY3V0aW9uSWQsXG4gICAgICBpZDogYCR7ZXhlY3V0aW9uSWR9LyR7Y29tbWFuZC5zZXF9YCxcbiAgICAgIHBheWxvYWQ6IGNvbW1hbmQucGF5bG9hZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBjcmVhdGVFdmVudDxTaWduYWxTZW50PihcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsU2VudCxcbiAgICAgICAgZXhlY3V0aW9uSWQ6IGNoaWxkRXhlY3V0aW9uSWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEsXG4gICAgICAgIHNpZ25hbElkOiBjb21tYW5kLnNpZ25hbElkLFxuICAgICAgICBwYXlsb2FkOiBjb21tYW5kLnBheWxvYWQsXG4gICAgICB9LFxuICAgICAgYmFzZVRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGFydENvbmRpdGlvbihcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IFN0YXJ0Q29uZGl0aW9uQ29tbWFuZCxcbiAgICBiYXNlVGltZTogRGF0ZVxuICApIHtcbiAgICBpZiAoY29tbWFuZC50aW1lb3V0U2Vjb25kcykge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wcy50aW1lckNsaWVudC5zY2hlZHVsZUV2ZW50PENvbmRpdGlvblRpbWVkT3V0Pih7XG4gICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uVGltZWRPdXQsXG4gICAgICAgICAgc2VxOiBjb21tYW5kLnNlcSxcbiAgICAgICAgfSxcbiAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShjb21tYW5kLnRpbWVvdXRTZWNvbmRzLCBiYXNlVGltZSksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlRXZlbnQ8Q29uZGl0aW9uU3RhcnRlZD4oXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblN0YXJ0ZWQsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHVibGlzaEV2ZW50cyhjb21tYW5kOiBQdWJsaXNoRXZlbnRzQ29tbWFuZCwgYmFzZVRpbWU6IERhdGUpIHtcbiAgICBhd2FpdCB0aGlzLnByb3BzLmV2ZW50Q2xpZW50LnB1Ymxpc2hFdmVudHMoLi4uY29tbWFuZC5ldmVudHMpO1xuICAgIHJldHVybiBjcmVhdGVFdmVudDxFdmVudHNQdWJsaXNoZWQ+KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FdmVudHNQdWJsaXNoZWQsXG4gICAgICAgIGV2ZW50czogY29tbWFuZC5ldmVudHMsXG4gICAgICAgIHNlcTogY29tbWFuZC5zZXEhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUaW1lXG4gICAgKTtcbiAgfVxufVxuIl19 |
@@ -5,6 +5,7 @@ import { ScheduleActivityCommand } from "../../command.js"; | ||
import { WorkflowClient } from "../clients/workflow-client.js"; | ||
import { RuntimeServiceClient, TimerClient } from "../index.js"; | ||
import { Logger } from "../logger.js"; | ||
import type { EventClient } from "../index.js"; | ||
import { ActivityProvider } from "../providers/activity-provider.js"; | ||
import { TimerClient } from "../clients/timer-client.js"; | ||
import { RuntimeServiceClient } from "../clients/runtime-service-clients.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
import { EventClient } from "../clients/event-client.js"; | ||
export interface CreateActivityWorkerProps { | ||
@@ -15,6 +16,6 @@ activityRuntimeClient: ActivityRuntimeClient; | ||
metricsClient: MetricsClient; | ||
logger: Logger; | ||
eventClient: EventClient; | ||
activityProvider: ActivityProvider; | ||
serviceClient?: RuntimeServiceClient; | ||
logAgent: LogAgent; | ||
} | ||
@@ -29,3 +30,3 @@ export interface ActivityWorkerRequest { | ||
export interface ActivityWorker { | ||
(request: ActivityWorkerRequest, baseTime: Date, | ||
(request: ActivityWorkerRequest, baseTime?: Date, | ||
/** | ||
@@ -42,3 +43,3 @@ * Allows for a computed end time, for case like the test environment when the end time should be controlled. | ||
*/ | ||
export declare function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, logger, activityProvider, serviceClient, }: CreateActivityWorkerProps): ActivityWorker; | ||
export declare function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, activityProvider, serviceClient, logAgent, }: CreateActivityWorkerProps): ActivityWorker; | ||
//# sourceMappingURL=activity-worker.d.ts.map |
@@ -5,3 +5,2 @@ import { isAsyncResult } from "../../activity.js"; | ||
import { createActivityToken } from "../activity-token.js"; | ||
import { Schedule, TimerRequestType, } from "../index.js"; | ||
import { ActivityMetrics, MetricsCommon } from "../metrics/constants.js"; | ||
@@ -12,2 +11,4 @@ import { Unit } from "../metrics/unit.js"; | ||
import { extendsError } from "../../util.js"; | ||
import { Schedule, TimerRequestType, } from "../clients/timer-client.js"; | ||
import { LogContextType, LogLevel, } from "../log-agent.js"; | ||
/** | ||
@@ -19,3 +20,3 @@ * Creates a generic function for handling activity worker requests | ||
*/ | ||
export function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, logger, activityProvider, serviceClient, }) { | ||
export function createActivityWorker({ activityRuntimeClient, workflowClient, timerClient, metricsClient, activityProvider, serviceClient, logAgent, }) { | ||
// make the service client available to all activity code | ||
@@ -25,7 +26,3 @@ if (serviceClient) { | ||
} | ||
return metricsClient.metricScope((metrics) => async (request, baseTime, getEndTime = () => new Date()) => { | ||
logger.addPersistentLogAttributes({ | ||
workflowName: request.workflowName, | ||
executionId: request.executionId, | ||
}); | ||
return metricsClient.metricScope((metrics) => async (request, baseTime = new Date(), getEndTime = () => new Date()) => { | ||
const activityHandle = `${request.command.seq} for execution ${request.executionId} on retry ${request.retry}`; | ||
@@ -40,2 +37,8 @@ metrics.resetDimensions(false); | ||
// to the request being seen. | ||
const activityLogContext = { | ||
type: LogContextType.Activity, | ||
activityName: request.command.name, | ||
executionId: request.executionId, | ||
seq: request.command.seq, | ||
}; | ||
const start = baseTime; | ||
@@ -46,3 +49,3 @@ const recordAge = start.getTime() - new Date(request.scheduledTime).getTime(); | ||
metrics.putMetric(ActivityMetrics.ClaimRejected, 1, Unit.Count); | ||
logger.info(`Activity ${activityHandle} already claimed.`); | ||
console.info(`Activity ${activityHandle} already claimed.`); | ||
return; | ||
@@ -66,3 +69,3 @@ } | ||
metrics.putMetric(ActivityMetrics.ClaimRejected, 0, Unit.Count); | ||
logger.info(`Processing ${activityHandle}.`); | ||
console.info(`Processing ${activityHandle}.`); | ||
const activity = activityProvider.getActivityHandler(request.command.name); | ||
@@ -74,3 +77,5 @@ try { | ||
} | ||
const result = await timed(metrics, ActivityMetrics.OperationDuration, () => activity(...request.command.args)); | ||
const result = await logAgent.logContextScope(activityLogContext, async () => { | ||
return await timed(metrics, ActivityMetrics.OperationDuration, () => activity(...request.command.args)); | ||
}); | ||
if (isAsyncResult(result)) { | ||
@@ -84,3 +89,3 @@ metrics.setProperty(ActivityMetrics.HasResult, 0); | ||
*/ | ||
return; | ||
return timed(metrics, ActivityMetrics.ActivityLogWriteDuration, () => logAgent.flush()); | ||
} | ||
@@ -96,3 +101,3 @@ else if (result) { | ||
} | ||
logger.info(`Activity ${activityHandle} succeeded, reporting back to execution.`); | ||
logAgent.logWithContext(activityLogContext, LogLevel.INFO, `Activity ${activityHandle} succeeded, reporting back to execution.`); | ||
const endTime = getEndTime(start); | ||
@@ -110,3 +115,3 @@ const event = createEvent({ | ||
: ["Error", JSON.stringify(err)]; | ||
logger.info(`Activity ${activityHandle} failed, reporting failure back to execution: ${error}: ${message}`); | ||
logAgent.logWithContext(activityLogContext, LogLevel.DEBUG, `Activity ${activityHandle} failed, reporting failure back to execution: ${error}: ${message}`); | ||
const endTime = getEndTime(start); | ||
@@ -131,3 +136,5 @@ const event = createEvent({ | ||
async function finishActivity(event, duration) { | ||
const logFlush = timed(metrics, ActivityMetrics.ActivityLogWriteDuration, () => logAgent.flush()); | ||
await timed(metrics, ActivityMetrics.SubmitWorkflowTaskDuration, () => workflowClient.submitWorkflowTask(request.executionId, event)); | ||
await logFlush; | ||
logActivityCompleteMetrics(isWorkflowFailed(event), duration); | ||
@@ -137,2 +144,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvYWN0aXZpdHktd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBR0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixrQkFBa0IsR0FDbkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUkzRCxPQUFPLEVBRUwsUUFBUSxFQUVSLGdCQUFnQixHQUNqQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWdDN0M7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsRUFDbkMscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsYUFBYSxFQUNiLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsYUFBYSxHQUNhO0lBQzFCLHlEQUF5RDtJQUN6RCxJQUFJLGFBQWEsRUFBRTtRQUNqQixxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUN0QztJQUVELE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FDOUIsQ0FBQyxPQUFPLEVBQUUsRUFB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TCxPQUFPO2FBQ1IsRUFDRCxPQUFPLENBQ1IsQ0FBQztZQUVGLE1BQU0sY0FBYyxDQUNsQixLQUFLLEVBQ0wsU0FBUyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNsRCxDQUFDO1NBQ0g7Z0JBQVM7WUFDUixvQkFBb0IsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsU0FBUywwQkFBMEIsQ0FBQyxNQUFlLEVBQUUsUUFBZ0I7WUFDbkUsT0FBTyxDQUFDLFNBQVMsQ0FDZixlQUFlLENBQUMsY0FBYyxFQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNkLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztZQUNGLE9BQU8sQ0FBQyxTQUFTLENBQ2YsZUFBZSxDQUFDLGlCQUFpQixFQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNkLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztZQUNGLDhGQUE4RjtZQUM5RixPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELEtBQUssVUFBVSxjQUFjLENBQzNCLEtBQXlDLEVBQ3pDLFFBQWdCO1lBRWhCLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFLENBQ3BFLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUM5RCxDQUFDO1lBRUYsMEJBQTBCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXN5bmNSZXN1bHQgfSBmcm9tIFwiLi4vLi4vYWN0aXZpdHkuanNcIjtcbmltcG9ydCB7IFNjaGVkdWxlQWN0aXZpdHlDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2NvbW1hbmQuanNcIjtcbmltcG9ydCB7XG4gIEFjdGl2aXR5U3VjY2VlZGVkLFxuICBBY3Rpdml0eUZhaWxlZCxcbiAgY3JlYXRlRXZlbnQsXG4gIGlzV29ya2Zsb3dGYWlsZWQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi4vLi4vd29ya2Zsb3ctZXZlbnRzLmpzXCI7XG5pbXBvcnQge1xuICBjbGVhckFjdGl2aXR5Q29udGV4dCxcbiAgcmVnaXN0ZXJTZXJ2aWNlQ2xpZW50LFxuICBzZXRBY3Rpdml0eUNvbnRleHQsXG59IGZyb20gXCIuLi8uLi9nbG9iYWwuanNcIjtcbmltcG9ydCB7IGNyZWF0ZUFjdGl2aXR5VG9rZW4gfSBmcm9tIFwiLi4vYWN0aXZpdHktdG9rZW4uanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5UnVudGltZUNsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL2FjdGl2aXR5LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBNZXRyaWNzQ2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvbWV0cmljcy1jbGllbnQuanNcIjtcbmltcG9ydCB7IFdvcmtmbG93Q2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvd29ya2Zsb3ctY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICBSdW50aW1lU2VydmljZUNsaWVudCxcbiAgU2NoZWR1bGUsXG4gIFRpbWVyQ2xpZW50LFxuICBUaW1lclJlcXVlc3RUeXBlLFxufSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCIuLi9sb2dnZXIuanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5TWV0cmljcywgTWV0cmljc0NvbW1vbiB9IGZyb20gXCIuLi9tZXRyaWNzL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgVW5pdCB9IGZyb20gXCIuLi9tZXRyaWNzL3VuaXQuanNcIjtcbmltcG9ydCB7IHRpbWVkIH0gZnJvbSBcIi4uL21ldHJpY3MvdXRpbHMuanNcIjtcbmltcG9ydCB0eXBlIHsgRXZlbnRDbGllbnQgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5UHJvdmlkZXIgfSBmcm9tIFwiLi4vcHJvdmlkZXJzL2FjdGl2aXR5LXByb3ZpZGVyLmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eU5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IuanNcIjtcbmltcG9ydCB7IGV4dGVuZHNFcnJvciB9IGZyb20gXCIuLi8uLi91dGlsLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQWN0aXZpdHlXb3JrZXJQcm9wcyB7XG4gIGFjdGl2aXR5UnVudGltZUNsaWVudDogQWN0aXZpdHlSdW50aW1lQ2xpZW50O1xuICB3b3JrZmxvd0NsaWVudDogV29ya2Zsb3dDbGllbnQ7XG4gIHRpbWVyQ2xpZW50OiBUaW1lckNsaWVudDtcbiAgbWV0cmljc0NsaWVudDogTWV0cmljc0NsaWVudDtcbiAgbG9nZ2VyOiBMb2dnZXI7XG4gIGV2ZW50Q2xpZW50OiBFdmVudENsaWVudDtcbiAgYWN0aXZpdHlQcm92aWRlcjogQWN0aXZpdHlQcm92aWRlcjtcbiAgc2VydmljZUNsaWVudD86IFJ1bnRpbWVTZXJ2aWNlQ2xpZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5V29ya2VyUmVxdWVzdCB7XG4gIHNjaGVkdWxlZFRpbWU6IHN0cmluZztcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIGV4ZWN1dGlvbklkOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IFNjaGVkdWxlQWN0aXZpdHlDb21tYW5kO1xuICByZXRyeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5V29ya2VyIHtcbiAgKFxuICAgIHJlcXVlc3Q6IEFjdGl2aXR5V29ya2VyUmVxdWVzdCxcbiAgICBiYXNlVGltZTogRGF0ZSxcbiAgICAvKipcbiAgICAgKiBBbGxvd3MgZm9yIGEgY29tcHV0ZWQgZW5kIHRpbWUsIGZvciBjYXNlIGxpa2UgdGhlIHRlc3QgZW52aXJvbm1lbnQgd2hlbiB0aGUgZW5kIHRpbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQuXG4gICAgICovXG4gICAgZ2V0RW5kVGltZT86IChzdGFydFRpbWU6IERhdGUpID0+IERhdGVcbiAgKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgaGFuZGxpbmcgYWN0aXZpdHkgd29ya2VyIHJlcXVlc3RzXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWN0aXZpdHlXb3JrZXIoe1xuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQsXG4gIHdvcmtmbG93Q2xpZW50LFxuICB0aW1lckNsaWVudCxcbiAgbWV0cmljc0NsaWVudCxcbiAgbG9nZ2VyLFxuICBhY3Rpdml0eVByb3ZpZGVyLFxuICBzZXJ2aWNlQ2xpZW50LFxufTogQ3JlYXRlQWN0aXZpdHlXb3JrZXJQcm9wcyk6IEFjdGl2aXR5V29ya2VyIHtcbiAgLy8gbWFrZSB0aGUgc2VydmljZSBjbGllbnQgYXZhaWxhYmxlIHRvIGFsbCBhY3Rpdml0eSBjb2RlXG4gIGlmIChzZXJ2aWNlQ2xpZW50KSB7XG4gICAgcmVnaXN0ZXJTZXJ2aWNlQ2xpZW50KHNlcnZpY2VDbGllbnQpO1xuICB9XG5cbiAgcmV0dXJuIG1ldHJpY3NDbGllbnQubWV0cmljU2NvcGUoXG4gICAgKG1ldHJpY3MpID0+XG4gICAgICBhc3luYyAoXG4gICAgICAgIHJlcXVlc3Q6IEFjdGl2aXR5V29ya2VyUmVxdWVzdCxcbiAgICAgICAgYmFzZVRpbWU6IERhdGUsXG4gICAgICAgIGdldEVuZFRpbWUgPSAoKSA9PiBuZXcgRGF0ZSgpXG4gICAgICApID0+IHtcbiAgICAgICAgbG9nZ2VyLmFkZFBlcnNpc3RlbnRMb2dBdHRyaWJ1dGVzKHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHJlcXVlc3Qud29ya2Zsb3dOYW1lLFxuICAgICAgICAgIGV4ZWN1dGlvbklkOiByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYWN0aXZpdHlIYW5kbGUgPSBgJHtyZXF1ZXN0LmNvbW1hbmQuc2VxfSBmb3IgZXhlY3V0aW9uICR7cmVxdWVzdC5leGVjdXRpb25JZH0gb24gcmV0cnkgJHtyZXF1ZXN0LnJldHJ5fWA7XG4gICAgICAgIG1ldHJpY3MucmVzZXREaW1lbnNpb25zKGZhbHNlKTtcbiAgICAgICAgbWV0cmljcy5zZXROYW1lc3BhY2UoTWV0cmljc0NvbW1vbi5FdmVudHVhbE5hbWVzcGFjZSk7XG4gICAgICAgIG1ldHJpY3MucHV0RGltZW5zaW9ucyh7XG4gICAgICAgICAgQWN0aXZpdHlOYW1lOiByZXF1ZXN0LmNvbW1hbmQubmFtZSxcbiAgICAgICAgICBXb3JrZmxvd05hbWU6IHJlcXVlc3Qud29ya2Zsb3dOYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhlIHRpbWUgZnJvbSB0aGUgd29ya2Zsb3cgZW1pdHRpbmcgdGhlIGFjdGl2aXR5IHNjaGVkdWxlZCBjb21tYW5kXG4gICAgICAgIC8vIHRvIHRoZSByZXF1ZXN0IGJlaW5nIHNlZW4uXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gYmFzZVRpbWU7XG4gICAgICAgIGNvbnN0IHJlY29yZEFnZSA9XG4gICAgICAgICAgc3RhcnQuZ2V0VGltZSgpIC0gbmV3IERhdGUocmVxdWVzdC5zY2hlZHVsZWRUaW1lKS5nZXRUaW1lKCk7XG4gICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5BY3Rpdml0eVJlcXVlc3RBZ2UsXG4gICAgICAgICAgcmVjb3JkQWdlLFxuICAgICAgICAgIFVuaXQuTWlsbGlzZWNvbmRzXG4gICAgICAgICk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhKGF3YWl0IHRpbWVkKG1ldHJpY3MsIEFjdGl2aXR5TWV0cmljcy5DbGFpbUR1cmF0aW9uLCAoKSA9PlxuICAgICAgICAgICAgYWN0aXZpdHlSdW50aW1lQ2xpZW50LmNsYWltQWN0aXZpdHkoXG4gICAgICAgICAgICAgIHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICAgIHJlcXVlc3QuY29tbWFuZC5zZXEsXG4gICAgICAgICAgICAgIHJlcXVlc3QucmV0cnlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApKVxuICAgICAgICApIHtcbiAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhBY3Rpdml0eU1ldHJpY3MuQ2xhaW1SZWplY3RlZCwgMSwgVW5pdC5Db3VudCk7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oYEFjdGl2aXR5ICR7YWN0aXZpdHlIYW5kbGV9IGFscmVhZHkgY2xhaW1lZC5gKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3QuY29tbWFuZC5oZWFydGJlYXRTZWNvbmRzKSB7XG4gICAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuc3RhcnRUaW1lcih7XG4gICAgICAgICAgICBhY3Rpdml0eVNlcTogcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgIHR5cGU6IFRpbWVyUmVxdWVzdFR5cGUuQWN0aXZpdHlIZWFydGJlYXRNb25pdG9yLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBoZWFydGJlYXRTZWNvbmRzOiByZXF1ZXN0LmNvbW1hbmQuaGVhcnRiZWF0U2Vjb25kcyxcbiAgICAgICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yZWxhdGl2ZShyZXF1ZXN0LmNvbW1hbmQuaGVhcnRiZWF0U2Vjb25kcyksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZpdHlDb250ZXh0KHtcbiAgICAgICAgICBhY3Rpdml0eVRva2VuOiBjcmVhdGVBY3Rpdml0eVRva2VuKFxuICAgICAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICAgIHJlcXVlc3QuY29tbWFuZC5zZXFcbiAgICAgICAgICApLFxuICAgICAgICAgIGV4ZWN1dGlvbklkOiByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgIHNjaGVkdWxlZFRpbWU6IHJlcXVlc3Quc2NoZWR1bGVkVGltZSxcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHJlcXVlc3Qud29ya2Zsb3dOYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoQWN0aXZpdHlNZXRyaWNzLkNsYWltUmVqZWN0ZWQsIDAsIFVuaXQuQ291bnQpO1xuXG4gICAgICAgIGxvZ2dlci5pbmZvKGBQcm9jZXNzaW5nICR7YWN0aXZpdHlIYW5kbGV9LmApO1xuXG4gICAgICAgIGNvbnN0IGFjdGl2aXR5ID0gYWN0aXZpdHlQcm92aWRlci5nZXRBY3Rpdml0eUhhbmRsZXIoXG4gICAgICAgICAgcmVxdWVzdC5jb21tYW5kLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoIWFjdGl2aXR5KSB7XG4gICAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhBY3Rpdml0eU1ldHJpY3MuTm90Rm91bmRFcnJvciwgMSwgVW5pdC5Db3VudCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQWN0aXZpdHlOb3RGb3VuZEVycm9yKFxuICAgICAgICAgICAgICByZXF1ZXN0LmNvbW1hbmQubmFtZSxcbiAgICAgICAgICAgICAgYWN0aXZpdHlQcm92aWRlci5nZXRBY3Rpdml0eUlkcygpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRpbWVkKFxuICAgICAgICAgICAgbWV0cmljcyxcbiAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5PcGVyYXRpb25EdXJhdGlvbixcbiAgICAgICAgICAgICgpID0+IGFjdGl2aXR5KC4uLnJlcXVlc3QuY29tbWFuZC5hcmdzKVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGlzQXN5bmNSZXN1bHQocmVzdWx0KSkge1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuSGFzUmVzdWx0LCAwKTtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkFzeW5jUmVzdWx0LCAxKTtcblxuICAgICAgICAgICAgLy8gVE9ETzogU2VuZCBoZWFydGJlYXQgb24gc3luYyBhY3Rpdml0eSBjb21wbGV0aW9uLlxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZSBhY3Rpdml0eSBoYXMgZGVjbGFyZWQgdGhhdCBpdCBpcyBhc3luYywgb3RoZXIgdGhhbiBsb2dnaW5nLCB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gZG8gaGVyZS5cbiAgICAgICAgICAgICAqIFRoZSBhY3Rpdml0eSBzaG91bGQgY2FsbCB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5U3VjY2Vzc30gb3Ige0BsaW5rIFdvcmtmbG93Q2xpZW50LnNlbmRBY3Rpdml0eUZhaWx1cmV9IHdoZW4gaXQgaXMgZG9uZS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5IYXNSZXN1bHQsIDEpO1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuQXN5bmNSZXN1bHQsIDApO1xuICAgICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoXG4gICAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5SZXN1bHRCeXRlcyxcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5sZW5ndGgsXG4gICAgICAgICAgICAgIFVuaXQuQnl0ZXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkhhc1Jlc3VsdCwgMCk7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5Bc3luY1Jlc3VsdCwgMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgQWN0aXZpdHkgJHthY3Rpdml0eUhhbmRsZX0gc3VjY2VlZGVkLCByZXBvcnRpbmcgYmFjayB0byBleGVjdXRpb24uYFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBlbmRUaW1lID0gZ2V0RW5kVGltZShzdGFydCk7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBjcmVhdGVFdmVudDxBY3Rpdml0eVN1Y2NlZWRlZD4oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U3VjY2VlZGVkLFxuICAgICAgICAgICAgICBzZXE6IHJlcXVlc3QuY29tbWFuZC5zZXEsXG4gICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmRUaW1lXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGF3YWl0IGZpbmlzaEFjdGl2aXR5KFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICByZWNvcmRBZ2UgKyAoZW5kVGltZS5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc3QgW2Vycm9yLCBtZXNzYWdlXSA9IGV4dGVuZHNFcnJvcihlcnIpXG4gICAgICAgICAgICA/IFtlcnIubmFtZSwgZXJyLm1lc3NhZ2VdXG4gICAgICAgICAgICA6IFtcIkVycm9yXCIsIEpTT04uc3RyaW5naWZ5KGVycildO1xuXG4gICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgQWN0aXZpdHkgJHthY3Rpdml0eUhhbmRsZX0gZmFpbGVkLCByZXBvcnRpbmcgZmFpbHVyZSBiYWNrIHRvIGV4ZWN1dGlvbjogJHtlcnJvcn06ICR7bWVzc2FnZX1gXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGVuZFRpbWUgPSBnZXRFbmRUaW1lKHN0YXJ0KTtcbiAgICAgICAgICBjb25zdCBldmVudCA9IGNyZWF0ZUV2ZW50PEFjdGl2aXR5RmFpbGVkPihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlGYWlsZWQsXG4gICAgICAgICAgICAgIHNlcTogcmVxdWVzdC5jb21tYW5kLnNlcSxcbiAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5kVGltZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBhd2FpdCBmaW5pc2hBY3Rpdml0eShcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgcmVjb3JkQWdlICsgKGVuZFRpbWUuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgY2xlYXJBY3Rpdml0eUNvbnRleHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGxvZ0FjdGl2aXR5Q29tcGxldGVNZXRyaWNzKGZhaWxlZDogYm9vbGVhbiwgZHVyYXRpb246IG51bWJlcikge1xuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5RmFpbGVkLFxuICAgICAgICAgICAgZmFpbGVkID8gMSA6IDAsXG4gICAgICAgICAgICBVbml0LkNvdW50XG4gICAgICAgICAgKTtcbiAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5BY3Rpdml0eVN1Y2NlZWRlZCxcbiAgICAgICAgICAgIGZhaWxlZCA/IDAgOiAxLFxuICAgICAgICAgICAgVW5pdC5Db3VudFxuICAgICAgICAgICk7XG4gICAgICAgICAgLy8gVGhlIHRvdGFsIHRpbWUgZnJvbSB0aGUgYWN0aXZpdHkgYmVpbmcgc2NoZWR1bGVkIHVudGlsIGl0J3MgcmVzdWx0IGlzIHNlbmQgdG8gdGhlIHdvcmtmbG93LlxuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKEFjdGl2aXR5TWV0cmljcy5Ub3RhbER1cmF0aW9uLCBkdXJhdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBhc3luYyBmdW5jdGlvbiBmaW5pc2hBY3Rpdml0eShcbiAgICAgICAgICBldmVudDogQWN0aXZpdHlTdWNjZWVkZWQgfCBBY3Rpdml0eUZhaWxlZCxcbiAgICAgICAgICBkdXJhdGlvbjogbnVtYmVyXG4gICAgICAgICkge1xuICAgICAgICAgIGF3YWl0IHRpbWVkKG1ldHJpY3MsIEFjdGl2aXR5TWV0cmljcy5TdWJtaXRXb3JrZmxvd1Rhc2tEdXJhdGlvbiwgKCkgPT5cbiAgICAgICAgICAgIHdvcmtmbG93Q2xpZW50LnN1Ym1pdFdvcmtmbG93VGFzayhyZXF1ZXN0LmV4ZWN1dGlvbklkLCBldmVudClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgbG9nQWN0aXZpdHlDb21wbGV0ZU1ldHJpY3MoaXNXb3JrZmxvd0ZhaWxlZChldmVudCksIGR1cmF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICApO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvYWN0aXZpdHktd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBR0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixrQkFBa0IsR0FDbkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUkzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsUUFBUSxFQUVSLGdCQUFnQixHQUNqQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFHTCxjQUFjLEVBQ2QsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFpQ3pCOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEVBQ25DLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLFFBQVEsR0FDa0I7SUFDMUIseURBQXlEO0lBQ3pELElBQUksYUFBYSxFQUFFO1FBQ2pCLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFD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YSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxLQUFLLFVBQVUsY0FBYyxDQUMzQixLQUF5QyxFQUN6QyxRQUFnQjtZQUVoQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQ3BCLE9BQU8sRUFDUCxlQUFlLENBQUMsd0JBQXdCLEVBQ3hDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FDdkIsQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFLENBQ3BFLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUM5RCxDQUFDO1lBQ0YsTUFBTSxRQUFRLENBQUM7WUFFZiwwQkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQyxDQUNKLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBc3luY1Jlc3VsdCB9IGZyb20gXCIuLi8uLi9hY3Rpdml0eS5qc1wiO1xuaW1wb3J0IHsgU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQgfSBmcm9tIFwiLi4vLi4vY29tbWFuZC5qc1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlTdWNjZWVkZWQsXG4gIEFjdGl2aXR5RmFpbGVkLFxuICBjcmVhdGVFdmVudCxcbiAgaXNXb3JrZmxvd0ZhaWxlZCxcbiAgV29ya2Zsb3dFdmVudFR5cGUsXG59IGZyb20gXCIuLi8uLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7XG4gIGNsZWFyQWN0aXZpdHlDb250ZXh0LFxuICByZWdpc3RlclNlcnZpY2VDbGllbnQsXG4gIHNldEFjdGl2aXR5Q29udGV4dCxcbn0gZnJvbSBcIi4uLy4uL2dsb2JhbC5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlQWN0aXZpdHlUb2tlbiB9IGZyb20gXCIuLi9hY3Rpdml0eS10b2tlbi5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlSdW50aW1lQ2xpZW50IH0gZnJvbSBcIi4uL2NsaWVudHMvYWN0aXZpdHktcnVudGltZS1jbGllbnQuanNcIjtcbmltcG9ydCB7IE1ldHJpY3NDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9tZXRyaWNzLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgV29ya2Zsb3dDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy93b3JrZmxvdy1jbGllbnQuanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5TWV0cmljcywgTWV0cmljc0NvbW1vbiB9IGZyb20gXCIuLi9tZXRyaWNzL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgVW5pdCB9IGZyb20gXCIuLi9tZXRyaWNzL3VuaXQuanNcIjtcbmltcG9ydCB7IHRpbWVkIH0gZnJvbSBcIi4uL21ldHJpY3MvdXRpbHMuanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5UHJvdmlkZXIgfSBmcm9tIFwiLi4vcHJvdmlkZXJzL2FjdGl2aXR5LXByb3ZpZGVyLmpzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eU5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IuanNcIjtcbmltcG9ydCB7IGV4dGVuZHNFcnJvciB9IGZyb20gXCIuLi8uLi91dGlsLmpzXCI7XG5pbXBvcnQge1xuICBTY2hlZHVsZSxcbiAgVGltZXJDbGllbnQsXG4gIFRpbWVyUmVxdWVzdFR5cGUsXG59IGZyb20gXCIuLi9jbGllbnRzL3RpbWVyLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9ydW50aW1lLXNlcnZpY2UtY2xpZW50cy5qc1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlMb2dDb250ZXh0LFxuICBMb2dBZ2VudCxcbiAgTG9nQ29udGV4dFR5cGUsXG4gIExvZ0xldmVsLFxufSBmcm9tIFwiLi4vbG9nLWFnZW50LmpzXCI7XG5pbXBvcnQgeyBFdmVudENsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL2V2ZW50LWNsaWVudC5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFjdGl2aXR5V29ya2VyUHJvcHMge1xuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQ6IEFjdGl2aXR5UnVudGltZUNsaWVudDtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICB0aW1lckNsaWVudDogVGltZXJDbGllbnQ7XG4gIG1ldHJpY3NDbGllbnQ6IE1ldHJpY3NDbGllbnQ7XG4gIGV2ZW50Q2xpZW50OiBFdmVudENsaWVudDtcbiAgYWN0aXZpdHlQcm92aWRlcjogQWN0aXZpdHlQcm92aWRlcjtcbiAgc2VydmljZUNsaWVudD86IFJ1bnRpbWVTZXJ2aWNlQ2xpZW50O1xuICBsb2dBZ2VudDogTG9nQWdlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlXb3JrZXJSZXF1ZXN0IHtcbiAgc2NoZWR1bGVkVGltZTogc3RyaW5nO1xuICB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbiAgY29tbWFuZDogU2NoZWR1bGVBY3Rpdml0eUNvbW1hbmQ7XG4gIHJldHJ5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlXb3JrZXIge1xuICAoXG4gICAgcmVxdWVzdDogQWN0aXZpdHlXb3JrZXJSZXF1ZXN0LFxuICAgIGJhc2VUaW1lPzogRGF0ZSxcbiAgICAvKipcbiAgICAgKiBBbGxvd3MgZm9yIGEgY29tcHV0ZWQgZW5kIHRpbWUsIGZvciBjYXNlIGxpa2UgdGhlIHRlc3QgZW52aXJvbm1lbnQgd2hlbiB0aGUgZW5kIHRpbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQuXG4gICAgICovXG4gICAgZ2V0RW5kVGltZT86IChzdGFydFRpbWU6IERhdGUpID0+IERhdGVcbiAgKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgaGFuZGxpbmcgYWN0aXZpdHkgd29ya2VyIHJlcXVlc3RzXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWN0aXZpdHlXb3JrZXIoe1xuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQsXG4gIHdvcmtmbG93Q2xpZW50LFxuICB0aW1lckNsaWVudCxcbiAgbWV0cmljc0NsaWVudCxcbiAgYWN0aXZpdHlQcm92aWRlcixcbiAgc2VydmljZUNsaWVudCxcbiAgbG9nQWdlbnQsXG59OiBDcmVhdGVBY3Rpdml0eVdvcmtlclByb3BzKTogQWN0aXZpdHlXb3JrZXIge1xuICAvLyBtYWtlIHRoZSBzZXJ2aWNlIGNsaWVudCBhdmFpbGFibGUgdG8gYWxsIGFjdGl2aXR5IGNvZGVcbiAgaWYgKHNlcnZpY2VDbGllbnQpIHtcbiAgICByZWdpc3RlclNlcnZpY2VDbGllbnQoc2VydmljZUNsaWVudCk7XG4gIH1cblxuICByZXR1cm4gbWV0cmljc0NsaWVudC5tZXRyaWNTY29wZShcbiAgICAobWV0cmljcykgPT5cbiAgICAgIGFzeW5jIChcbiAgICAgICAgcmVxdWVzdDogQWN0aXZpdHlXb3JrZXJSZXF1ZXN0LFxuICAgICAgICBiYXNlVGltZTogRGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGdldEVuZFRpbWUgPSAoKSA9PiBuZXcgRGF0ZSgpXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgYWN0aXZpdHlIYW5kbGUgPSBgJHtyZXF1ZXN0LmNvbW1hbmQuc2VxfSBmb3IgZXhlY3V0aW9uICR7cmVxdWVzdC5leGVjdXRpb25JZH0gb24gcmV0cnkgJHtyZXF1ZXN0LnJldHJ5fWA7XG4gICAgICAgIG1ldHJpY3MucmVzZXREaW1lbnNpb25zKGZhbHNlKTtcbiAgICAgICAgbWV0cmljcy5zZXROYW1lc3BhY2UoTWV0cmljc0NvbW1vbi5FdmVudHVhbE5hbWVzcGFjZSk7XG4gICAgICAgIG1ldHJpY3MucHV0RGltZW5zaW9ucyh7XG4gICAgICAgICAgQWN0aXZpdHlOYW1lOiByZXF1ZXN0LmNvbW1hbmQubmFtZSxcbiAgICAgICAgICBXb3JrZmxvd05hbWU6IHJlcXVlc3Qud29ya2Zsb3dOYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhlIHRpbWUgZnJvbSB0aGUgd29ya2Zsb3cgZW1pdHRpbmcgdGhlIGFjdGl2aXR5IHNjaGVkdWxlZCBjb21tYW5kXG4gICAgICAgIC8vIHRvIHRoZSByZXF1ZXN0IGJlaW5nIHNlZW4uXG4gICAgICAgIGNvbnN0IGFjdGl2aXR5TG9nQ29udGV4dDogQWN0aXZpdHlMb2dDb250ZXh0ID0ge1xuICAgICAgICAgIHR5cGU6IExvZ0NvbnRleHRUeXBlLkFjdGl2aXR5LFxuICAgICAgICAgIGFjdGl2aXR5TmFtZTogcmVxdWVzdC5jb21tYW5kLm5hbWUsXG4gICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgc2VxOiByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzdGFydCA9IGJhc2VUaW1lO1xuICAgICAgICBjb25zdCByZWNvcmRBZ2UgPVxuICAgICAgICAgIHN0YXJ0LmdldFRpbWUoKSAtIG5ldyBEYXRlKHJlcXVlc3Quc2NoZWR1bGVkVGltZSkuZ2V0VGltZSgpO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICBBY3Rpdml0eU1ldHJpY3MuQWN0aXZpdHlSZXF1ZXN0QWdlLFxuICAgICAgICAgIHJlY29yZEFnZSxcbiAgICAgICAgICBVbml0Lk1pbGxpc2Vjb25kc1xuICAgICAgICApO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIShhd2FpdCB0aW1lZChtZXRyaWNzLCBBY3Rpdml0eU1ldHJpY3MuQ2xhaW1EdXJhdGlvbiwgKCkgPT5cbiAgICAgICAgICAgIGFjdGl2aXR5UnVudGltZUNsaWVudC5jbGFpbUFjdGl2aXR5KFxuICAgICAgICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgICByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICAgICAgICByZXF1ZXN0LnJldHJ5XG4gICAgICAgICAgICApXG4gICAgICAgICAgKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoQWN0aXZpdHlNZXRyaWNzLkNsYWltUmVqZWN0ZWQsIDEsIFVuaXQuQ291bnQpO1xuICAgICAgICAgIGNvbnNvbGUuaW5mbyhgQWN0aXZpdHkgJHthY3Rpdml0eUhhbmRsZX0gYWxyZWFkeSBjbGFpbWVkLmApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxdWVzdC5jb21tYW5kLmhlYXJ0YmVhdFNlY29uZHMpIHtcbiAgICAgICAgICBhd2FpdCB0aW1lckNsaWVudC5zdGFydFRpbWVyKHtcbiAgICAgICAgICAgIGFjdGl2aXR5U2VxOiByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICAgICAgdHlwZTogVGltZXJSZXF1ZXN0VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3IsXG4gICAgICAgICAgICBleGVjdXRpb25JZDogcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICAgIGhlYXJ0YmVhdFNlY29uZHM6IHJlcXVlc3QuY29tbWFuZC5oZWFydGJlYXRTZWNvbmRzLFxuICAgICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJlbGF0aXZlKHJlcXVlc3QuY29tbWFuZC5oZWFydGJlYXRTZWNvbmRzKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3Rpdml0eUNvbnRleHQoe1xuICAgICAgICAgIGFjdGl2aXR5VG9rZW46IGNyZWF0ZUFjdGl2aXR5VG9rZW4oXG4gICAgICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgcmVxdWVzdC5jb21tYW5kLnNlcVxuICAgICAgICAgICksXG4gICAgICAgICAgZXhlY3V0aW9uSWQ6IHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgICAgc2NoZWR1bGVkVGltZTogcmVxdWVzdC5zY2hlZHVsZWRUaW1lLFxuICAgICAgICAgIHdvcmtmbG93TmFtZTogcmVxdWVzdC53b3JrZmxvd05hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhBY3Rpdml0eU1ldHJpY3MuQ2xhaW1SZWplY3RlZCwgMCwgVW5pdC5Db3VudCk7XG5cbiAgICAgICAgY29uc29sZS5pbmZvKGBQcm9jZXNzaW5nICR7YWN0aXZpdHlIYW5kbGV9LmApO1xuXG4gICAgICAgIGNvbnN0IGFjdGl2aXR5ID0gYWN0aXZpdHlQcm92aWRlci5nZXRBY3Rpdml0eUhhbmRsZXIoXG4gICAgICAgICAgcmVxdWVzdC5jb21tYW5kLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoIWFjdGl2aXR5KSB7XG4gICAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhBY3Rpdml0eU1ldHJpY3MuTm90Rm91bmRFcnJvciwgMSwgVW5pdC5Db3VudCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQWN0aXZpdHlOb3RGb3VuZEVycm9yKFxuICAgICAgICAgICAgICByZXF1ZXN0LmNvbW1hbmQubmFtZSxcbiAgICAgICAgICAgICAgYWN0aXZpdHlQcm92aWRlci5nZXRBY3Rpdml0eUlkcygpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGxvZ0FnZW50LmxvZ0NvbnRleHRTY29wZShcbiAgICAgICAgICAgIGFjdGl2aXR5TG9nQ29udGV4dCxcbiAgICAgICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRpbWVkKFxuICAgICAgICAgICAgICAgIG1ldHJpY3MsXG4gICAgICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLk9wZXJhdGlvbkR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICgpID0+IGFjdGl2aXR5KC4uLnJlcXVlc3QuY29tbWFuZC5hcmdzKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoaXNBc3luY1Jlc3VsdChyZXN1bHQpKSB7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5IYXNSZXN1bHQsIDApO1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuQXN5bmNSZXN1bHQsIDEpO1xuXG4gICAgICAgICAgICAvLyBUT0RPOiBTZW5kIGhlYXJ0YmVhdCBvbiBzeW5jIGFjdGl2aXR5IGNvbXBsZXRpb24uXG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhlIGFjdGl2aXR5IGhhcyBkZWNsYXJlZCB0aGF0IGl0IGlzIGFzeW5jLCBvdGhlciB0aGFuIGxvZ2dpbmcsIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBkbyBoZXJlLlxuICAgICAgICAgICAgICogVGhlIGFjdGl2aXR5IHNob3VsZCBjYWxsIHtAbGluayBXb3JrZmxvd0NsaWVudC5zZW5kQWN0aXZpdHlTdWNjZXNzfSBvciB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc2VuZEFjdGl2aXR5RmFpbHVyZX0gd2hlbiBpdCBpcyBkb25lLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICByZXR1cm4gdGltZWQoXG4gICAgICAgICAgICAgIG1ldHJpY3MsXG4gICAgICAgICAgICAgIEFjdGl2aXR5TWV0cmljcy5BY3Rpdml0eUxvZ1dyaXRlRHVyYXRpb24sXG4gICAgICAgICAgICAgICgpID0+IGxvZ0FnZW50LmZsdXNoKClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkhhc1Jlc3VsdCwgMSk7XG4gICAgICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KEFjdGl2aXR5TWV0cmljcy5Bc3luY1Jlc3VsdCwgMCk7XG4gICAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLlJlc3VsdEJ5dGVzLFxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShyZXN1bHQpLmxlbmd0aCxcbiAgICAgICAgICAgICAgVW5pdC5CeXRlc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShBY3Rpdml0eU1ldHJpY3MuSGFzUmVzdWx0LCAwKTtcbiAgICAgICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoQWN0aXZpdHlNZXRyaWNzLkFzeW5jUmVzdWx0LCAwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsb2dBZ2VudC5sb2dXaXRoQ29udGV4dChcbiAgICAgICAgICAgIGFjdGl2aXR5TG9nQ29udGV4dCxcbiAgICAgICAgICAgIExvZ0xldmVsLklORk8sXG4gICAgICAgICAgICBgQWN0aXZpdHkgJHthY3Rpdml0eUhhbmRsZX0gc3VjY2VlZGVkLCByZXBvcnRpbmcgYmFjayB0byBleGVjdXRpb24uYFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBlbmRUaW1lID0gZ2V0RW5kVGltZShzdGFydCk7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBjcmVhdGVFdmVudDxBY3Rpdml0eVN1Y2NlZWRlZD4oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U3VjY2VlZGVkLFxuICAgICAgICAgICAgICBzZXE6IHJlcXVlc3QuY29tbWFuZC5zZXEsXG4gICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmRUaW1lXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGF3YWl0IGZpbmlzaEFjdGl2aXR5KFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICByZWNvcmRBZ2UgKyAoZW5kVGltZS5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc3QgW2Vycm9yLCBtZXNzYWdlXSA9IGV4dGVuZHNFcnJvcihlcnIpXG4gICAgICAgICAgICA/IFtlcnIubmFtZSwgZXJyLm1lc3NhZ2VdXG4gICAgICAgICAgICA6IFtcIkVycm9yXCIsIEpTT04uc3RyaW5naWZ5KGVycildO1xuXG4gICAgICAgICAgbG9nQWdlbnQubG9nV2l0aENvbnRleHQoXG4gICAgICAgICAgICBhY3Rpdml0eUxvZ0NvbnRleHQsXG4gICAgICAgICAgICBMb2dMZXZlbC5ERUJVRyxcbiAgICAgICAgICAgIGBBY3Rpdml0eSAke2FjdGl2aXR5SGFuZGxlfSBmYWlsZWQsIHJlcG9ydGluZyBmYWlsdXJlIGJhY2sgdG8gZXhlY3V0aW9uOiAke2Vycm9yfTogJHttZXNzYWdlfWBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgZW5kVGltZSA9IGdldEVuZFRpbWUoc3RhcnQpO1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gY3JlYXRlRXZlbnQ8QWN0aXZpdHlGYWlsZWQ+KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUZhaWxlZCxcbiAgICAgICAgICAgICAgc2VxOiByZXF1ZXN0LmNvbW1hbmQuc2VxLFxuICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmRUaW1lXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGF3YWl0IGZpbmlzaEFjdGl2aXR5KFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICByZWNvcmRBZ2UgKyAoZW5kVGltZS5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBjbGVhckFjdGl2aXR5Q29udGV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gbG9nQWN0aXZpdHlDb21wbGV0ZU1ldHJpY3MoZmFpbGVkOiBib29sZWFuLCBkdXJhdGlvbjogbnVtYmVyKSB7XG4gICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoXG4gICAgICAgICAgICBBY3Rpdml0eU1ldHJpY3MuQWN0aXZpdHlGYWlsZWQsXG4gICAgICAgICAgICBmYWlsZWQgPyAxIDogMCxcbiAgICAgICAgICAgIFVuaXQuQ291bnRcbiAgICAgICAgICApO1xuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgICAgQWN0aXZpdHlNZXRyaWNzLkFjdGl2aXR5U3VjY2VlZGVkLFxuICAgICAgICAgICAgZmFpbGVkID8gMCA6IDEsXG4gICAgICAgICAgICBVbml0LkNvdW50XG4gICAgICAgICAgKTtcbiAgICAgICAgICAvLyBUaGUgdG90YWwgdGltZSBmcm9tIHRoZSBhY3Rpdml0eSBiZWluZyBzY2hlZHVsZWQgdW50aWwgaXQncyByZXN1bHQgaXMgc2VuZCB0byB0aGUgd29ya2Zsb3cuXG4gICAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoQWN0aXZpdHlNZXRyaWNzLlRvdGFsRHVyYXRpb24sIGR1cmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uIGZpbmlzaEFjdGl2aXR5KFxuICAgICAgICAgIGV2ZW50OiBBY3Rpdml0eVN1Y2NlZWRlZCB8IEFjdGl2aXR5RmFpbGVkLFxuICAgICAgICAgIGR1cmF0aW9uOiBudW1iZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgbG9nRmx1c2ggPSB0aW1lZChcbiAgICAgICAgICAgIG1ldHJpY3MsXG4gICAgICAgICAgICBBY3Rpdml0eU1ldHJpY3MuQWN0aXZpdHlMb2dXcml0ZUR1cmF0aW9uLFxuICAgICAgICAgICAgKCkgPT4gbG9nQWdlbnQuZmx1c2goKVxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgdGltZWQobWV0cmljcywgQWN0aXZpdHlNZXRyaWNzLlN1Ym1pdFdvcmtmbG93VGFza0R1cmF0aW9uLCAoKSA9PlxuICAgICAgICAgICAgd29ya2Zsb3dDbGllbnQuc3VibWl0V29ya2Zsb3dUYXNrKHJlcXVlc3QuZXhlY3V0aW9uSWQsIGV2ZW50KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgbG9nRmx1c2g7XG5cbiAgICAgICAgICBsb2dBY3Rpdml0eUNvbXBsZXRlTWV0cmljcyhpc1dvcmtmbG93RmFpbGVkKGV2ZW50KSwgZHVyYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICk7XG59XG4iXX0= |
@@ -1,4 +0,9 @@ | ||
import { EventClient, ExecutionHistoryClient, MetricsClient, TimerClient, WorkflowClient, WorkflowRuntimeClient } from "../clients/index.js"; | ||
import type { Logger } from "../logger.js"; | ||
import { WorkflowTask } from "../../tasks.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
import { ExecutionHistoryClient } from "../clients/execution-history-client.js"; | ||
import { TimerClient } from "../clients/timer-client.js"; | ||
import { WorkflowRuntimeClient } from "../clients/workflow-runtime-client.js"; | ||
import { WorkflowClient } from "../clients/workflow-client.js"; | ||
import { MetricsClient } from "../clients/metrics-client.js"; | ||
import { EventClient } from "../clients/event-client.js"; | ||
/** | ||
@@ -14,3 +19,3 @@ * The Orchestrator's client dependencies. | ||
eventClient: EventClient; | ||
logger: Logger; | ||
logAgent: LogAgent; | ||
} | ||
@@ -32,3 +37,3 @@ export interface OrchestratorResult { | ||
*/ | ||
export declare function createOrchestrator({ executionHistoryClient, timerClient, workflowRuntimeClient, workflowClient, metricsClient, eventClient, logger, }: OrchestratorDependencies): Orchestrator; | ||
export declare function createOrchestrator({ executionHistoryClient, timerClient, workflowRuntimeClient, workflowClient, metricsClient, eventClient, logAgent, }: OrchestratorDependencies): Orchestrator; | ||
//# sourceMappingURL=orchestrator.d.ts.map |
import type { MetricsClient } from "../clients/metrics-client.js"; | ||
import type { ScheduleForwarderRequest, TimerClient } from "../clients/timer-client.js"; | ||
import { Logger } from "../logger.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
/** | ||
@@ -10,3 +10,3 @@ * The Schedule Forwarder's dependencies. | ||
metricsClient: MetricsClient; | ||
logger: Logger; | ||
logAgent: LogAgent; | ||
} | ||
@@ -19,3 +19,3 @@ /** | ||
*/ | ||
export declare function createScheduleForwarder({ timerClient, metricsClient, logger, }: ScheduleForwarderDependencies): (event: ScheduleForwarderRequest) => Promise<void>; | ||
export declare function createScheduleForwarder({ timerClient, metricsClient, logAgent, }: ScheduleForwarderDependencies): (event: ScheduleForwarderRequest) => Promise<void>; | ||
//# sourceMappingURL=schedule-forwarder.d.ts.map |
@@ -0,1 +1,2 @@ | ||
import { LogContextType, LogLevel, } from "../log-agent.js"; | ||
import { MetricsCommon, SchedulerForwarderMetrics, } from "../metrics/constants.js"; | ||
@@ -8,14 +9,14 @@ /** | ||
*/ | ||
export function createScheduleForwarder({ timerClient, metricsClient, logger, }) { | ||
export function createScheduleForwarder({ timerClient, metricsClient, logAgent, }) { | ||
return metricsClient.metricScope((metrics) => async (event) => { | ||
metrics.setNamespace(MetricsCommon.EventualNamespace); | ||
const executionLogger = logger.createChild({ | ||
persistentLogAttributes: { | ||
executionId: event.timerRequest.executionId, | ||
}, | ||
}); | ||
executionLogger.debug("Forwarding request to the timer queue: " + | ||
// log on behalf of the execution. | ||
const executionLogContext = { | ||
type: LogContextType.Execution, | ||
executionId: event.timerRequest.executionId, | ||
}; | ||
logAgent.logWithContext(executionLogContext, LogLevel.DEBUG, "Forwarding request to the timer queue: " + | ||
JSON.stringify(event.timerRequest)); | ||
const schedulerTimeDelay = new Date().getTime() - new Date(event.forwardTime).getTime(); | ||
executionLogger.info(`Timer Time: ${event.untilTime}. Forwarded Time: ${event.forwardTime}. ${schedulerTimeDelay} Millisecond delay from scheduler.`); | ||
logAgent.logWithContext(executionLogContext, LogLevel.DEBUG, `Timer Time: ${event.untilTime}. Forwarded Time: ${event.forwardTime}. ${schedulerTimeDelay} Millisecond delay from scheduler.`); | ||
metrics.setProperty(SchedulerForwarderMetrics.SchedulerTimeDelay, schedulerTimeDelay); | ||
@@ -25,3 +26,3 @@ const delaySeconds = await timerClient.startShortTimer(event.timerRequest); | ||
if (event.clearSchedule) { | ||
executionLogger.debug("Deleting the schedule: " + event.scheduleName); | ||
logAgent.logWithContext(executionLogContext, LogLevel.DEBUG, "Deleting the schedule: " + event.scheduleName); | ||
await timerClient.clearSchedule(event.scheduleName); | ||
@@ -31,2 +32,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvc2NoZWR1bGUtZm9yd2FyZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFDTCxhQUFhLEVBQ2IseUJBQXlCLEdBQzFCLE1BQU0seUJBQXlCLENBQUM7QUFXakM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsRUFDdEMsV0FBVyxFQUNYLGFBQWEsRUFDYixNQUFNLEdBQ3dCO0lBQzlCLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FDOUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUErQixFQUFFLEVBQUU7UUFDckQsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3pDLHVCQUF1QixFQUFFO2dCQUN2QixXQUFXLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzVDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsZUFBZSxDQUFDLEtBQUssQ0FDbkIseUNBQXlDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUNyQyxDQUFDO1FBRUYsTUFBTSxrQkFBa0IsR0FDdEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0QsZUFBZSxDQUFDLElBQUksQ0FDbEIsZUFBZSxLQUFLLENBQUMsU0FBUyxxQkFBcUIsS0FBSyxDQUFDLFdBQVcsS0FBSyxrQkFBa0Isb0NBQW9DLENBQ2hJLENBQUM7UUFFRixPQUFPLENBQUMsV0FBVyxDQUNqQix5QkFBeUIsQ0FBQyxrQkFBa0IsRUFDNUMsa0JBQWtCLENBQ25CLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxNQUFNLFdBQVcsQ0FBQyxlQUFlLENBQ3BELEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUM7UUFFRixPQUFPLENBQUMsV0FBVyxDQUNqQix5QkFBeUIsQ0FBQyxzQkFBc0IsRUFDaEQsWUFBWSxDQUNiLENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdkIsZUFBZSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEUsTUFBTSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0cmljc0NsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL21ldHJpY3MtY2xpZW50LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFNjaGVkdWxlRm9yd2FyZGVyUmVxdWVzdCxcbiAgVGltZXJDbGllbnQsXG59IGZyb20gXCIuLi9jbGllbnRzL3RpbWVyLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiO1xuaW1wb3J0IHtcbiAgTWV0cmljc0NvbW1vbixcbiAgU2NoZWR1bGVyRm9yd2FyZGVyTWV0cmljcyxcbn0gZnJvbSBcIi4uL21ldHJpY3MvY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIFNjaGVkdWxlIEZvcndhcmRlcidzIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZUZvcndhcmRlckRlcGVuZGVuY2llcyB7XG4gIHRpbWVyQ2xpZW50OiBUaW1lckNsaWVudDtcbiAgbWV0cmljc0NsaWVudDogTWV0cmljc0NsaWVudDtcbiAgbG9nZ2VyOiBMb2dnZXI7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGdlbmVyaWMgZnVuY3Rpb24gZm9yIGZvcndhcmRpbmcgc2NoZWR1bGVkIGV2ZW50cyB0byBhIHF1ZXVlXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2NoZWR1bGVGb3J3YXJkZXIoe1xuICB0aW1lckNsaWVudCxcbiAgbWV0cmljc0NsaWVudCxcbiAgbG9nZ2VyLFxufTogU2NoZWR1bGVGb3J3YXJkZXJEZXBlbmRlbmNpZXMpIHtcbiAgcmV0dXJuIG1ldHJpY3NDbGllbnQubWV0cmljU2NvcGUoXG4gICAgKG1ldHJpY3MpID0+IGFzeW5jIChldmVudDogU2NoZWR1bGVGb3J3YXJkZXJSZXF1ZXN0KSA9PiB7XG4gICAgICBtZXRyaWNzLnNldE5hbWVzcGFjZShNZXRyaWNzQ29tbW9uLkV2ZW50dWFsTmFtZXNwYWNlKTtcblxuICAgICAgY29uc3QgZXhlY3V0aW9uTG9nZ2VyID0gbG9nZ2VyLmNyZWF0ZUNoaWxkKHtcbiAgICAgICAgcGVyc2lzdGVudExvZ0F0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBleGVjdXRpb25JZDogZXZlbnQudGltZXJSZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGV4ZWN1dGlvbkxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgXCJGb3J3YXJkaW5nIHJlcXVlc3QgdG8gdGhlIHRpbWVyIHF1ZXVlOiBcIiArXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGltZXJSZXF1ZXN0KVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgc2NoZWR1bGVyVGltZURlbGF5ID1cbiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShldmVudC5mb3J3YXJkVGltZSkuZ2V0VGltZSgpO1xuXG4gICAgICBleGVjdXRpb25Mb2dnZXIuaW5mbyhcbiAgICAgICAgYFRpbWVyIFRpbWU6ICR7ZXZlbnQudW50aWxUaW1lfS4gRm9yd2FyZGVkIFRpbWU6ICR7ZXZlbnQuZm9yd2FyZFRpbWV9LiAke3NjaGVkdWxlclRpbWVEZWxheX0gTWlsbGlzZWNvbmQgZGVsYXkgZnJvbSBzY2hlZHVsZXIuYFxuICAgICAgKTtcblxuICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShcbiAgICAgICAgU2NoZWR1bGVyRm9yd2FyZGVyTWV0cmljcy5TY2hlZHVsZXJUaW1lRGVsYXksXG4gICAgICAgIHNjaGVkdWxlclRpbWVEZWxheVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZGVsYXlTZWNvbmRzID0gYXdhaXQgdGltZXJDbGllbnQuc3RhcnRTaG9ydFRpbWVyKFxuICAgICAgICBldmVudC50aW1lclJlcXVlc3RcbiAgICAgICk7XG5cbiAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoXG4gICAgICAgIFNjaGVkdWxlckZvcndhcmRlck1ldHJpY3MuVGltZXJRdWV1ZURlbGF5U2Vjb25kcyxcbiAgICAgICAgZGVsYXlTZWNvbmRzXG4gICAgICApO1xuXG4gICAgICBpZiAoZXZlbnQuY2xlYXJTY2hlZHVsZSkge1xuICAgICAgICBleGVjdXRpb25Mb2dnZXIuZGVidWcoXCJEZWxldGluZyB0aGUgc2NoZWR1bGU6IFwiICsgZXZlbnQuc2NoZWR1bGVOYW1lKTtcbiAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuY2xlYXJTY2hlZHVsZShldmVudC5zY2hlZHVsZU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvaGFuZGxlcnMvc2NoZWR1bGUtZm9yd2FyZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFHTCxjQUFjLEVBQ2QsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLGFBQWEsRUFDYix5QkFBeUIsR0FDMUIsTUFBTSx5QkFBeUIsQ0FBQztBQVdqQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxFQUN0QyxXQUFXLEVBQ1gsYUFBYSxFQUNiLFFBQVEsR0FDc0I7SUFDOUIsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUM5QixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQStCLEVBQUUsRUFBRTtRQUNyRCxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXRELGtDQUFrQztRQUNsQyxNQUFNLG1CQUFtQixHQUF3QjtZQUMvQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVztTQUM1QyxDQUFDO1FBRUYsUUFBUSxDQUFDLGNBQWMsQ0FDckIsbUJBQW1CLEVBQ25CLFFBQVEsQ0FBQyxLQUFLLEVBQ2QseUNBQXlDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUNyQyxDQUFDO1FBRUYsTUFBTSxrQkFBa0IsR0FDdEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0QsUUFBUSxDQUFDLGNBQWMsQ0FDckIsbUJBQW1CLEVBQ25CLFFBQVEsQ0FBQyxLQUFLLEVBQ2QsZUFBZSxLQUFLLENBQUMsU0FBUyxxQkFBcUIsS0FBSyxDQUFDLFdBQVcsS0FBSyxrQkFBa0Isb0NBQW9DLENBQ2hJLENBQUM7UUFFRixPQUFPLENBQUMsV0FBVyxDQUNqQix5QkFBeUIsQ0FBQyxrQkFBa0IsRUFDNUMsa0JBQWtCLENBQ25CLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxNQUFNLFdBQVcsQ0FBQyxlQUFlLENBQ3BELEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUM7UUFFRixPQUFPLENBQUMsV0FBVyxDQUNqQix5QkFBeUIsQ0FBQyxzQkFBc0IsRUFDaEQsWUFBWSxDQUNiLENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdkIsUUFBUSxDQUFDLGNBQWMsQ0FDckIsbUJBQW1CLEVBQ25CLFFBQVEsQ0FBQyxLQUFLLEVBQ2QseUJBQXlCLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FDL0MsQ0FBQztZQUNGLE1BQU0sV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldHJpY3NDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy9tZXRyaWNzLWNsaWVudC5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlZHVsZUZvcndhcmRlclJlcXVlc3QsXG4gIFRpbWVyQ2xpZW50LFxufSBmcm9tIFwiLi4vY2xpZW50cy90aW1lci1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIEV4ZWN1dGlvbkxvZ0NvbnRleHQsXG4gIExvZ0FnZW50LFxuICBMb2dDb250ZXh0VHlwZSxcbiAgTG9nTGV2ZWwsXG59IGZyb20gXCIuLi9sb2ctYWdlbnQuanNcIjtcbmltcG9ydCB7XG4gIE1ldHJpY3NDb21tb24sXG4gIFNjaGVkdWxlckZvcndhcmRlck1ldHJpY3MsXG59IGZyb20gXCIuLi9tZXRyaWNzL2NvbnN0YW50cy5qc1wiO1xuXG4vKipcbiAqIFRoZSBTY2hlZHVsZSBGb3J3YXJkZXIncyBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGVGb3J3YXJkZXJEZXBlbmRlbmNpZXMge1xuICB0aW1lckNsaWVudDogVGltZXJDbGllbnQ7XG4gIG1ldHJpY3NDbGllbnQ6IE1ldHJpY3NDbGllbnQ7XG4gIGxvZ0FnZW50OiBMb2dBZ2VudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgZm9yd2FyZGluZyBzY2hlZHVsZWQgZXZlbnRzIHRvIGEgcXVldWVcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW4gcnVudGltZSBpbXBsZW1lbnRhdGlvbnMuIFRoaXMgaW1wbGVtZW50YXRpb24gaXNcbiAqIGRlY291cGxlZCBmcm9tIGEgcnVudGltZSdzIHNwZWNpZmljcyBieSB0aGUgY2xpZW50cy4gQSBydW50aW1lIG11c3RcbiAqIGluamVjdCBpdHMgb3duIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMgZGVzaWduZWQgZm9yIHRoYXQgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTY2hlZHVsZUZvcndhcmRlcih7XG4gIHRpbWVyQ2xpZW50LFxuICBtZXRyaWNzQ2xpZW50LFxuICBsb2dBZ2VudCxcbn06IFNjaGVkdWxlRm9yd2FyZGVyRGVwZW5kZW5jaWVzKSB7XG4gIHJldHVybiBtZXRyaWNzQ2xpZW50Lm1ldHJpY1Njb3BlKFxuICAgIChtZXRyaWNzKSA9PiBhc3luYyAoZXZlbnQ6IFNjaGVkdWxlRm9yd2FyZGVyUmVxdWVzdCkgPT4ge1xuICAgICAgbWV0cmljcy5zZXROYW1lc3BhY2UoTWV0cmljc0NvbW1vbi5FdmVudHVhbE5hbWVzcGFjZSk7XG5cbiAgICAgIC8vIGxvZyBvbiBiZWhhbGYgb2YgdGhlIGV4ZWN1dGlvbi5cbiAgICAgIGNvbnN0IGV4ZWN1dGlvbkxvZ0NvbnRleHQ6IEV4ZWN1dGlvbkxvZ0NvbnRleHQgPSB7XG4gICAgICAgIHR5cGU6IExvZ0NvbnRleHRUeXBlLkV4ZWN1dGlvbixcbiAgICAgICAgZXhlY3V0aW9uSWQ6IGV2ZW50LnRpbWVyUmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgIH07XG5cbiAgICAgIGxvZ0FnZW50LmxvZ1dpdGhDb250ZXh0KFxuICAgICAgICBleGVjdXRpb25Mb2dDb250ZXh0LFxuICAgICAgICBMb2dMZXZlbC5ERUJVRyxcbiAgICAgICAgXCJGb3J3YXJkaW5nIHJlcXVlc3QgdG8gdGhlIHRpbWVyIHF1ZXVlOiBcIiArXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGltZXJSZXF1ZXN0KVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgc2NoZWR1bGVyVGltZURlbGF5ID1cbiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShldmVudC5mb3J3YXJkVGltZSkuZ2V0VGltZSgpO1xuXG4gICAgICBsb2dBZ2VudC5sb2dXaXRoQ29udGV4dChcbiAgICAgICAgZXhlY3V0aW9uTG9nQ29udGV4dCxcbiAgICAgICAgTG9nTGV2ZWwuREVCVUcsXG4gICAgICAgIGBUaW1lciBUaW1lOiAke2V2ZW50LnVudGlsVGltZX0uIEZvcndhcmRlZCBUaW1lOiAke2V2ZW50LmZvcndhcmRUaW1lfS4gJHtzY2hlZHVsZXJUaW1lRGVsYXl9IE1pbGxpc2Vjb25kIGRlbGF5IGZyb20gc2NoZWR1bGVyLmBcbiAgICAgICk7XG5cbiAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoXG4gICAgICAgIFNjaGVkdWxlckZvcndhcmRlck1ldHJpY3MuU2NoZWR1bGVyVGltZURlbGF5LFxuICAgICAgICBzY2hlZHVsZXJUaW1lRGVsYXlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGRlbGF5U2Vjb25kcyA9IGF3YWl0IHRpbWVyQ2xpZW50LnN0YXJ0U2hvcnRUaW1lcihcbiAgICAgICAgZXZlbnQudGltZXJSZXF1ZXN0XG4gICAgICApO1xuXG4gICAgICBtZXRyaWNzLnNldFByb3BlcnR5KFxuICAgICAgICBTY2hlZHVsZXJGb3J3YXJkZXJNZXRyaWNzLlRpbWVyUXVldWVEZWxheVNlY29uZHMsXG4gICAgICAgIGRlbGF5U2Vjb25kc1xuICAgICAgKTtcblxuICAgICAgaWYgKGV2ZW50LmNsZWFyU2NoZWR1bGUpIHtcbiAgICAgICAgbG9nQWdlbnQubG9nV2l0aENvbnRleHQoXG4gICAgICAgICAgZXhlY3V0aW9uTG9nQ29udGV4dCxcbiAgICAgICAgICBMb2dMZXZlbC5ERUJVRyxcbiAgICAgICAgICBcIkRlbGV0aW5nIHRoZSBzY2hlZHVsZTogXCIgKyBldmVudC5zY2hlZHVsZU5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgdGltZXJDbGllbnQuY2xlYXJTY2hlZHVsZShldmVudC5zY2hlZHVsZU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgKTtcbn1cbiJdfQ== |
import { TimerClient, TimerRequest } from "../clients/timer-client.js"; | ||
import type { WorkflowClient } from "../clients/workflow-client.js"; | ||
import { ActivityRuntimeClient, Logger } from "../index.js"; | ||
import { ActivityRuntimeClient } from "../clients/activity-runtime-client.js"; | ||
import { LogAgent } from "../log-agent.js"; | ||
interface TimerHandlerProps { | ||
@@ -8,3 +9,3 @@ workflowClient: WorkflowClient; | ||
timerClient: TimerClient; | ||
logger: Logger; | ||
logAgent: LogAgent; | ||
} | ||
@@ -17,4 +18,4 @@ /** | ||
*/ | ||
export declare function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logger, }: TimerHandlerProps): (request: TimerRequest) => Promise<void>; | ||
export declare function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logAgent, }: TimerHandlerProps): (request: TimerRequest) => Promise<void>; | ||
export {}; | ||
//# sourceMappingURL=timer-handler.d.ts.map |
import { createEvent, WorkflowEventType, } from "../../workflow-events.js"; | ||
import { assertNever } from "../../util.js"; | ||
import { isActivityHeartbeatMonitorRequest, isTimerScheduleEventRequest, Schedule, TimerRequestType, } from "../clients/timer-client.js"; | ||
import { LogContextType, LogLevel } from "../log-agent.js"; | ||
/** | ||
@@ -10,3 +11,3 @@ * Creates a generic function for handling {@link TimerRequest}s | ||
*/ | ||
export function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logger, }) { | ||
export function createTimerHandler({ workflowClient, activityRuntimeClient, timerClient, logAgent, }) { | ||
return async (request) => { | ||
@@ -18,3 +19,3 @@ if (isTimerScheduleEventRequest(request)) { | ||
const activity = await activityRuntimeClient.getActivity(request.executionId, request.activitySeq); | ||
logger.debug(`checking activity for heartbeat timeout: ${JSON.stringify(activity)}`); | ||
logAgent.logWithContext({ type: LogContextType.Execution, executionId: request.executionId }, LogLevel.DEBUG, `checking activity for heartbeat timeout: ${JSON.stringify(activity)}`); | ||
// the activity has not sent a heartbeat or the last time was too long ago. | ||
@@ -49,2 +50,2 @@ // Send the timeout event to the workflow. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ydW50aW1lL2hhbmRsZXJzL3RpbWVyLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMkJBQTJCLEVBQzNCLFFBQVEsRUFHUixnQkFBZ0IsR0FDakIsTUFBTSw0QkFBNEIsQ0FBQztBQVdwQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxFQUNqQyxjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxNQUFNLEdBQ1k7SUFDbEIsT0FBTyxLQUFLLEVBQUUsT0FBcUIsRUFBRSxFQUFFO1FBQ3JDLElBQUksMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQ3JDLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQ2QsQ0FBQztTQUNIO2FBQU0sSUFBSSxpQ0FBaUMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyRCxNQUFNLFFBQVEsR0FBRyxNQUFNLHFCQUFxQixDQUFDLFdBQVcsQ0FDdEQsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLFdBQVcsQ0FDcEIsQ0FBQztZQUVGLE1BQU0sQ0FBQyxLQUFLLENBQ1YsNENBQTRDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDdkUsQ0FBQztZQUVGLDJFQUEyRTtZQUMzRSwwQ0FBMEM7WUFDMUMsSUFDRSxDQUFDLFFBQVEsRUFBRSxhQUFhO2dCQUN4QixzQkFBc0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN4RTtnQkFDQSxPQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDdEMsT0FBTyxDQUFDLFdBQVcsRUFDbkIsV0FBVyxDQUNUO29CQUNFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyx5QkFBeUI7b0JBQ2pELEdBQUcsRUFBRSxPQUFPLENBQUMsV0FBVztpQkFDekIsRUFDRCxJQUFJLElBQUksRUFBRSxDQUNYLENBQ0YsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLHFFQUFxRTtnQkFDckUsTUFBTSxXQUFXLENBQUMsVUFBVSxDQUFDO29CQUMzQixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsd0JBQXdCO29CQUMvQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7b0JBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztvQkFDaEMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtvQkFDMUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2lCQUN0RCxDQUFDLENBQUM7YUFDSjtTQUNGO2FBQU07WUFDTCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FDN0IsaUJBQXlCLEVBQ3pCLGdCQUF3QjtJQUV4QixNQUFNLGNBQWMsR0FDbEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRS9ELE9BQU8sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLGNBQWMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCxcbiAgY3JlYXRlRXZlbnQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi4vLi4vd29ya2Zsb3ctZXZlbnRzLmpzXCI7XG5pbXBvcnQgeyBhc3NlcnROZXZlciB9IGZyb20gXCIuLi8uLi91dGlsLmpzXCI7XG5pbXBvcnQge1xuICBpc0FjdGl2aXR5SGVhcnRiZWF0TW9uaXRvclJlcXVlc3QsXG4gIGlzVGltZXJTY2hlZHVsZUV2ZW50UmVxdWVzdCxcbiAgU2NoZWR1bGUsXG4gIFRpbWVyQ2xpZW50LFxuICBUaW1lclJlcXVlc3QsXG4gIFRpbWVyUmVxdWVzdFR5cGUsXG59IGZyb20gXCIuLi9jbGllbnRzL3RpbWVyLWNsaWVudC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd0NsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL3dvcmtmbG93LWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgQWN0aXZpdHlSdW50aW1lQ2xpZW50LCBMb2dnZXIgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcblxuaW50ZXJmYWNlIFRpbWVySGFuZGxlclByb3BzIHtcbiAgd29ya2Zsb3dDbGllbnQ6IFdvcmtmbG93Q2xpZW50O1xuICBhY3Rpdml0eVJ1bnRpbWVDbGllbnQ6IEFjdGl2aXR5UnVudGltZUNsaWVudDtcbiAgdGltZXJDbGllbnQ6IFRpbWVyQ2xpZW50O1xuICBsb2dnZXI6IExvZ2dlcjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgaGFuZGxpbmcge0BsaW5rIFRpbWVyUmVxdWVzdH1zXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGltZXJIYW5kbGVyKHtcbiAgd29ya2Zsb3dDbGllbnQsXG4gIGFjdGl2aXR5UnVudGltZUNsaWVudCxcbiAgdGltZXJDbGllbnQsXG4gIGxvZ2dlcixcbn06IFRpbWVySGFuZGxlclByb3BzKSB7XG4gIHJldHVybiBhc3luYyAocmVxdWVzdDogVGltZXJSZXF1ZXN0KSA9PiB7XG4gICAgaWYgKGlzVGltZXJTY2hlZHVsZUV2ZW50UmVxdWVzdChyZXF1ZXN0KSkge1xuICAgICAgYXdhaXQgd29ya2Zsb3dDbGllbnQuc3VibWl0V29ya2Zsb3dUYXNrKFxuICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICByZXF1ZXN0LmV2ZW50XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNBY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3JSZXF1ZXN0KHJlcXVlc3QpKSB7XG4gICAgICBjb25zdCBhY3Rpdml0eSA9IGF3YWl0IGFjdGl2aXR5UnVudGltZUNsaWVudC5nZXRBY3Rpdml0eShcbiAgICAgICAgcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgcmVxdWVzdC5hY3Rpdml0eVNlcVxuICAgICAgKTtcblxuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgY2hlY2tpbmcgYWN0aXZpdHkgZm9yIGhlYXJ0YmVhdCB0aW1lb3V0OiAke0pTT04uc3RyaW5naWZ5KGFjdGl2aXR5KX1gXG4gICAgICApO1xuXG4gICAgICAvLyB0aGUgYWN0aXZpdHkgaGFzIG5vdCBzZW50IGEgaGVhcnRiZWF0IG9yIHRoZSBsYXN0IHRpbWUgd2FzIHRvbyBsb25nIGFnby5cbiAgICAgIC8vIFNlbmQgdGhlIHRpbWVvdXQgZXZlbnQgdG8gdGhlIHdvcmtmbG93LlxuICAgICAgaWYgKFxuICAgICAgICAhYWN0aXZpdHk/LmhlYXJ0YmVhdFRpbWUgfHxcbiAgICAgICAgaXNIZWFydGJlYXRUaW1lRWxhcHNlZChhY3Rpdml0eS5oZWFydGJlYXRUaW1lLCByZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93Q2xpZW50LnN1Ym1pdFdvcmtmbG93VGFzayhcbiAgICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgIGNyZWF0ZUV2ZW50PEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ+KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0LFxuICAgICAgICAgICAgICBzZXE6IHJlcXVlc3QuYWN0aXZpdHlTZXEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV3IERhdGUoKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGFjdGl2aXR5IGhlYXJ0YmVhdCBoYXMgbm90IHRpbWVkIG91dCwgc3RhcnQgYSBuZXcgbW9uaXRvciBpbnN0YW5jZVxuICAgICAgICBhd2FpdCB0aW1lckNsaWVudC5zdGFydFRpbWVyKHtcbiAgICAgICAgICB0eXBlOiBUaW1lclJlcXVlc3RUeXBlLkFjdGl2aXR5SGVhcnRiZWF0TW9uaXRvcixcbiAgICAgICAgICBhY3Rpdml0eVNlcTogcmVxdWVzdC5hY3Rpdml0eVNlcSxcbiAgICAgICAgICBleGVjdXRpb25JZDogcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICBoZWFydGJlYXRTZWNvbmRzOiByZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMsXG4gICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJlbGF0aXZlKHJlcXVlc3QuaGVhcnRiZWF0U2Vjb25kcyksXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnROZXZlcihyZXF1ZXN0KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzSGVhcnRiZWF0VGltZUVsYXBzZWQoXG4gIGxhc3RIZWFydGJlYXRUaW1lOiBzdHJpbmcsXG4gIGhlYXJ0YmVhdFNlY29uZHM6IG51bWJlclxuKSB7XG4gIGNvbnN0IGR1cmF0aW9uTWlsbGlzID1cbiAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGxhc3RIZWFydGJlYXRUaW1lKS5nZXRUaW1lKCk7XG5cbiAgcmV0dXJuIGhlYXJ0YmVhdFNlY29uZHMgKiAxMDAwIDwgZHVyYXRpb25NaWxsaXM7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ydW50aW1lL2hhbmRsZXJzL3RpbWVyLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMkJBQTJCLEVBQzNCLFFBQVEsRUFHUixnQkFBZ0IsR0FDakIsTUFBTSw0QkFBNEIsQ0FBQztBQUdwQyxPQUFPLEVBQVksY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBU3JFOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQ2pDLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsV0FBVyxFQUNYLFFBQVEsR0FDVTtJQUNsQixPQUFPLEtBQUssRUFBRSxPQUFxQixFQUFFLEVBQUU7UUFDckMsSUFBSSwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN4QyxNQUFNLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDckMsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FDZCxDQUFDO1NBQ0g7YUFBTSxJQUFJLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JELE1BQU0sUUFBUSxHQUFHLE1BQU0scUJBQXFCLENBQUMsV0FBVyxDQUN0RCxPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO1lBRUYsUUFBUSxDQUFDLGNBQWMsQ0FDckIsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUNwRSxRQUFRLENBQUMsS0FBSyxFQUNkLDRDQUE0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ3ZFLENBQUM7WUFFRiwyRUFBMkU7WUFDM0UsMENBQTBDO1lBQzFDLElBQ0UsQ0FBQyxRQUFRLEVBQUUsYUFBYTtnQkFDeEIsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFDeEU7Z0JBQ0EsT0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQ3RDLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLFdBQVcsQ0FDVDtvQkFDRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMseUJBQXlCO29CQUNqRCxHQUFHLEVBQUUsT0FBTyxDQUFDLFdBQVc7aUJBQ3pCLEVBQ0QsSUFBSSxJQUFJLEVBQUUsQ0FDWCxDQUNGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxxRUFBcUU7Z0JBQ3JFLE1BQU0sV0FBVyxDQUFDLFVBQVUsQ0FBQztvQkFDM0IsSUFBSSxFQUFFLGdCQUFnQixDQUFDLHdCQUF3QjtvQkFDL0MsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO29CQUNoQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7b0JBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7b0JBQzFDLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDdEQsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNO1lBQ0wsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQzdCLGlCQUF5QixFQUN6QixnQkFBd0I7SUFFeEIsTUFBTSxjQUFjLEdBQ2xCLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUUvRCxPQUFPLGdCQUFnQixHQUFHLElBQUksR0FBRyxjQUFjLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQsXG4gIGNyZWF0ZUV2ZW50LFxuICBXb3JrZmxvd0V2ZW50VHlwZSxcbn0gZnJvbSBcIi4uLy4uL3dvcmtmbG93LWV2ZW50cy5qc1wiO1xuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIgfSBmcm9tIFwiLi4vLi4vdXRpbC5qc1wiO1xuaW1wb3J0IHtcbiAgaXNBY3Rpdml0eUhlYXJ0YmVhdE1vbml0b3JSZXF1ZXN0LFxuICBpc1RpbWVyU2NoZWR1bGVFdmVudFJlcXVlc3QsXG4gIFNjaGVkdWxlLFxuICBUaW1lckNsaWVudCxcbiAgVGltZXJSZXF1ZXN0LFxuICBUaW1lclJlcXVlc3RUeXBlLFxufSBmcm9tIFwiLi4vY2xpZW50cy90aW1lci1jbGllbnQuanNcIjtcbmltcG9ydCB0eXBlIHsgV29ya2Zsb3dDbGllbnQgfSBmcm9tIFwiLi4vY2xpZW50cy93b3JrZmxvdy1jbGllbnQuanNcIjtcbmltcG9ydCB7IEFjdGl2aXR5UnVudGltZUNsaWVudCB9IGZyb20gXCIuLi9jbGllbnRzL2FjdGl2aXR5LXJ1bnRpbWUtY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBMb2dBZ2VudCwgTG9nQ29udGV4dFR5cGUsIExvZ0xldmVsIH0gZnJvbSBcIi4uL2xvZy1hZ2VudC5qc1wiO1xuXG5pbnRlcmZhY2UgVGltZXJIYW5kbGVyUHJvcHMge1xuICB3b3JrZmxvd0NsaWVudDogV29ya2Zsb3dDbGllbnQ7XG4gIGFjdGl2aXR5UnVudGltZUNsaWVudDogQWN0aXZpdHlSdW50aW1lQ2xpZW50O1xuICB0aW1lckNsaWVudDogVGltZXJDbGllbnQ7XG4gIGxvZ0FnZW50OiBMb2dBZ2VudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb3IgaGFuZGxpbmcge0BsaW5rIFRpbWVyUmVxdWVzdH1zXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluIHJ1bnRpbWUgaW1wbGVtZW50YXRpb25zLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzXG4gKiBkZWNvdXBsZWQgZnJvbSBhIHJ1bnRpbWUncyBzcGVjaWZpY3MgYnkgdGhlIGNsaWVudHMuIEEgcnVudGltZSBtdXN0XG4gKiBpbmplY3QgaXRzIG93biBjbGllbnQgaW1wbGVtZW50YXRpb25zIGRlc2lnbmVkIGZvciB0aGF0IHBsYXRmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGltZXJIYW5kbGVyKHtcbiAgd29ya2Zsb3dDbGllbnQsXG4gIGFjdGl2aXR5UnVudGltZUNsaWVudCxcbiAgdGltZXJDbGllbnQsXG4gIGxvZ0FnZW50LFxufTogVGltZXJIYW5kbGVyUHJvcHMpIHtcbiAgcmV0dXJuIGFzeW5jIChyZXF1ZXN0OiBUaW1lclJlcXVlc3QpID0+IHtcbiAgICBpZiAoaXNUaW1lclNjaGVkdWxlRXZlbnRSZXF1ZXN0KHJlcXVlc3QpKSB7XG4gICAgICBhd2FpdCB3b3JrZmxvd0NsaWVudC5zdWJtaXRXb3JrZmxvd1Rhc2soXG4gICAgICAgIHJlcXVlc3QuZXhlY3V0aW9uSWQsXG4gICAgICAgIHJlcXVlc3QuZXZlbnRcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc0FjdGl2aXR5SGVhcnRiZWF0TW9uaXRvclJlcXVlc3QocmVxdWVzdCkpIHtcbiAgICAgIGNvbnN0IGFjdGl2aXR5ID0gYXdhaXQgYWN0aXZpdHlSdW50aW1lQ2xpZW50LmdldEFjdGl2aXR5KFxuICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICByZXF1ZXN0LmFjdGl2aXR5U2VxXG4gICAgICApO1xuXG4gICAgICBsb2dBZ2VudC5sb2dXaXRoQ29udGV4dChcbiAgICAgICAgeyB0eXBlOiBMb2dDb250ZXh0VHlwZS5FeGVjdXRpb24sIGV4ZWN1dGlvbklkOiByZXF1ZXN0LmV4ZWN1dGlvbklkIH0sXG4gICAgICAgIExvZ0xldmVsLkRFQlVHLFxuICAgICAgICBgY2hlY2tpbmcgYWN0aXZpdHkgZm9yIGhlYXJ0YmVhdCB0aW1lb3V0OiAke0pTT04uc3RyaW5naWZ5KGFjdGl2aXR5KX1gXG4gICAgICApO1xuXG4gICAgICAvLyB0aGUgYWN0aXZpdHkgaGFzIG5vdCBzZW50IGEgaGVhcnRiZWF0IG9yIHRoZSBsYXN0IHRpbWUgd2FzIHRvbyBsb25nIGFnby5cbiAgICAgIC8vIFNlbmQgdGhlIHRpbWVvdXQgZXZlbnQgdG8gdGhlIHdvcmtmbG93LlxuICAgICAgaWYgKFxuICAgICAgICAhYWN0aXZpdHk/LmhlYXJ0YmVhdFRpbWUgfHxcbiAgICAgICAgaXNIZWFydGJlYXRUaW1lRWxhcHNlZChhY3Rpdml0eS5oZWFydGJlYXRUaW1lLCByZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93Q2xpZW50LnN1Ym1pdFdvcmtmbG93VGFzayhcbiAgICAgICAgICByZXF1ZXN0LmV4ZWN1dGlvbklkLFxuICAgICAgICAgIGNyZWF0ZUV2ZW50PEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ+KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0LFxuICAgICAgICAgICAgICBzZXE6IHJlcXVlc3QuYWN0aXZpdHlTZXEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV3IERhdGUoKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGFjdGl2aXR5IGhlYXJ0YmVhdCBoYXMgbm90IHRpbWVkIG91dCwgc3RhcnQgYSBuZXcgbW9uaXRvciBpbnN0YW5jZVxuICAgICAgICBhd2FpdCB0aW1lckNsaWVudC5zdGFydFRpbWVyKHtcbiAgICAgICAgICB0eXBlOiBUaW1lclJlcXVlc3RUeXBlLkFjdGl2aXR5SGVhcnRiZWF0TW9uaXRvcixcbiAgICAgICAgICBhY3Rpdml0eVNlcTogcmVxdWVzdC5hY3Rpdml0eVNlcSxcbiAgICAgICAgICBleGVjdXRpb25JZDogcmVxdWVzdC5leGVjdXRpb25JZCxcbiAgICAgICAgICBoZWFydGJlYXRTZWNvbmRzOiByZXF1ZXN0LmhlYXJ0YmVhdFNlY29uZHMsXG4gICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJlbGF0aXZlKHJlcXVlc3QuaGVhcnRiZWF0U2Vjb25kcyksXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnROZXZlcihyZXF1ZXN0KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzSGVhcnRiZWF0VGltZUVsYXBzZWQoXG4gIGxhc3RIZWFydGJlYXRUaW1lOiBzdHJpbmcsXG4gIGhlYXJ0YmVhdFNlY29uZHM6IG51bWJlclxuKSB7XG4gIGNvbnN0IGR1cmF0aW9uTWlsbGlzID1cbiAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGxhc3RIZWFydGJlYXRUaW1lKS5nZXRUaW1lKCk7XG5cbiAgcmV0dXJuIGhlYXJ0YmVhdFNlY29uZHMgKiAxMDAwIDwgZHVyYXRpb25NaWxsaXM7XG59XG4iXX0= |
@@ -6,3 +6,2 @@ export * from "./clients/index.js"; | ||
export * from "./handlers/index.js"; | ||
export * from "./logger.js"; | ||
export * from "./command-executor.js"; | ||
@@ -12,2 +11,4 @@ export * from "./metrics/index.js"; | ||
export * from "./providers/index.js"; | ||
export * from "./log-agent.js"; | ||
export * from "./console-hook.js"; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -6,3 +6,2 @@ export * from "./clients/index.js"; | ||
export * from "./handlers/index.js"; | ||
export * from "./logger.js"; | ||
export * from "./command-executor.js"; | ||
@@ -12,2 +11,4 @@ export * from "./metrics/index.js"; | ||
export * from "./providers/index.js"; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50cy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uLWlkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mbGFncy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWN0aXZpdHktdG9rZW4uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hhbmRsZXJzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmQtZXhlY3V0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21ldHJpY3MvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm92aWRlcnMvaW5kZXguanNcIjtcbiJdfQ== | ||
export * from "./log-agent.js"; | ||
export * from "./console-hook.js"; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudHMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi1pZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmxhZ3MuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5LXRva2VuLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oYW5kbGVycy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZC1leGVjdXRvci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0cmljcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVycy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nLWFnZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zb2xlLWhvb2suanNcIjtcbiJdfQ== |
@@ -105,2 +105,6 @@ export declare namespace MetricsCommon { | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
const ExecutionLogWriteDuration = "ExecutionLogWriteMillis"; | ||
/** | ||
* 1 when a workflow has a timeout and 0 when it does not. | ||
@@ -164,2 +168,6 @@ */ | ||
const SubmitWorkflowTaskDuration = "SubmitWorkflowTaskDuration"; | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
const ActivityLogWriteDuration = "ActivityLogWriteMillis"; | ||
} | ||
@@ -166,0 +174,0 @@ export declare namespace SchedulerForwarderMetrics { |
@@ -108,2 +108,6 @@ /* eslint-disable @typescript-eslint/no-namespace */ | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
OrchestratorMetrics.ExecutionLogWriteDuration = "ExecutionLogWriteMillis"; | ||
/** | ||
* 1 when a workflow has a timeout and 0 when it does not. | ||
@@ -168,2 +172,6 @@ */ | ||
ActivityMetrics.SubmitWorkflowTaskDuration = "SubmitWorkflowTaskDuration"; | ||
/** | ||
* Number of milliseconds it takes to send execution logs to where ever they are persisted. | ||
*/ | ||
ActivityMetrics.ActivityLogWriteDuration = "ActivityLogWriteMillis"; | ||
})(ActivityMetrics || (ActivityMetrics = {})); | ||
@@ -181,2 +189,2 @@ export var SchedulerForwarderMetrics; | ||
})(SchedulerForwarderMetrics || (SchedulerForwarderMetrics = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvbWV0cmljcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE1BQU0sS0FBVyxhQUFhLENBRzdCO0FBSEQsV0FBaUIsYUFBYTtJQUNmLCtCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUMvQixtQ0FBcUIsR0FBRyxjQUFjLENBQUM7QUFDdEQsQ0FBQyxFQUhnQixhQUFhLEtBQWIsYUFBYSxRQUc3QjtBQUVELE1BQU0sS0FBVyxtQkFBbUIsQ0EyR25DO0FBM0dELFdBQWlCLG1CQUFtQjtJQUNsQzs7T0FFRztJQUNVLDhCQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ3ZDOztPQUVHO0lBQ1UsbUNBQWUsR0FBRyxpQkFBaUIsQ0FBQztJQUNqRDs7T0FFRztJQUNVLCtCQUFXLEdBQUcsYUFBYSxDQUFDO0lBQ3pDOztPQUVHO0lBQ1UsMkJBQU8sR0FBRyxTQUFTLENBQUM7SUFDcEIsNkJBQVMsR0FBRyxJQUFJLENBQUM7SUFDOUI7Ozs7T0FJRztJQUNVLDhCQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ3ZDOztPQUVHO0lBQ1UsdUNBQW1CLEdBQUcscUJBQXFCLENBQUM7SUFDekQ7O09BRUc7SUFDVSx1Q0FBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN6RDs7T0FFRztJQUNVLDRDQUF3QixHQUFHLDBCQUEwQixDQUFDO0lBQ25FOztPQUVHO0lBQ1UsMENBQXNCLEdBQUcsd0JBQXdCLENBQUM7SUFDL0Q7O09BRUc7SUFDVSwwQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztJQUMvRDs7T0FFRztJQUNVLG1DQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDakQ7Ozs7O09BS0c7SUFDVSx5Q0FBcUIsR0FBRyx1QkFBdUIsQ0FBQztJQUM3RDs7T0FFRztJQUNVLHVDQUFtQixHQUFHLHFCQUFxQixDQUFDO0lBQ3pEOztPQUVHO0lBQ1Usc0NBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSxxQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7T0FFRztJQUNVLGlEQUE2QixHQUFHLCtCQUErQixDQUFDO0lBQzdFOztPQUVHO0lBQ1UsaURBQTZCLEdBQUcsK0JBQStCLENBQUM7SUFDN0U7O09BRUc7SUFDVSxzQ0FBa0IsR0FBRyxvQkFBb0IsQ0FBQztJQUN2RDs7T0FFRztJQUNVLHFDQUFpQixHQUFHLG1CQUFtQixDQUFDO0lBQ3JEOztPQUVHO0lBQ1UsbUNBQWUsR0FBRyxpQkFBaUIsQ0FBQztJQUNqRDs7T0FFRztJQUNVLDBDQUFzQixHQUFHLHdCQUF3QixDQUFDO0lBQy9EOztPQUVHO0lBQ1Usd0NBQW9CLEdBQUcsc0JBQXNCLENBQUM7SUFDM0Q7O09BRUc7SUFDVSx1Q0FBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN6RDs7T0FFRztJQUNVLGtDQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFDL0M7O09BRUc7SUFDVSwwQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNqRSxDQUFDLEVBM0dnQixtQkFBbUIsS0FBbkIsbUJBQW1CLFFBMkduQztBQUVELE1BQU0sS0FBVyxlQUFlLENBa0QvQjtBQWxERCxXQUFpQixlQUFlO0lBQzlCOztPQUVHO0lBQ1Usa0NBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSw2QkFBYSxHQUFHLGVBQWUsQ0FBQztJQUM3Qzs7T0FFRztJQUNVLDZCQUFhLEdBQUcsZUFBZSxDQUFDO0lBQzdDOztPQUVHO0lBQ1UsNkJBQWEsR0FBRyxlQUFlLENBQUM7SUFDN0M7O09BRUc7SUFDVSxpQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7T0FFRztJQUNVLHlCQUFTLEdBQUcsV0FBVyxDQUFDO0lBQ3JDOztPQUVHO0lBQ1UsMkJBQVcsR0FBRyxhQUFhLENBQUM7SUFDekM7O09BRUc7SUFDVSwyQkFBVyxHQUFHLGFBQWEsQ0FBQztJQUN6Qzs7T0FFRztJQUNVLDhCQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFDL0M7O09BRUc7SUFDVSxpQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7O09BR0c7SUFDVSw2QkFBYSxHQUFHLGVBQWUsQ0FBQztJQUM3Qzs7T0FFRztJQUNVLDBDQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBQ3pFLENBQUMsRUFsRGdCLGVBQWUsS0FBZixlQUFlLFFBa0QvQjtBQUVELE1BQU0sS0FBVyx5QkFBeUIsQ0FTekM7QUFURCxXQUFpQix5QkFBeUI7SUFDeEM7O09BRUc7SUFDVSw0Q0FBa0IsR0FBRyxvQkFBb0IsQ0FBQztJQUN2RDs7T0FFRztJQUNVLGdEQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2pFLENBQUMsRUFUZ0IseUJBQXlCLEtBQXpCLHlCQUF5QixRQVN6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbmV4cG9ydCBuYW1lc3BhY2UgTWV0cmljc0NvbW1vbiB7XG4gIGV4cG9ydCBjb25zdCBFdmVudHVhbE5hbWVzcGFjZSA9IFwiRXZlbnR1YWxcIjtcbiAgZXhwb3J0IGNvbnN0IFdvcmtmbG93TmFtZURpbWVuc2lvbiA9IFwiV29ya2Zsb3dOYW1lXCI7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgT3JjaGVzdHJhdG9yTWV0cmljcyB7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZXZlbnRzIHdoaWNoIHdlcmUgZGVsaXZlcmVkIHdpdGggdGhlIGN1cnJlbnQgYmF0Y2ggb2Yge0BsaW5rIFdvcmtmbG93VGFza31zLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFRhc2tFdmVudHMgPSBcIlRhc2tFdmVudHNcIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiB3b3JrZmxvdyB0YXNrcyBiZWluZyBiYXRjaCBleGVjdXRlZCBieSB0aGUgb3JjaGVzdHJhdG9yIGZvciBhbiBleGVjdXRpb24gaWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWdncmVnYXRlZFRhc2tzID0gXCJBZ2dyZWdhdGVkVGFza3NcIjtcbiAgLyoqXG4gICAqIEV4ZWN1dGlvbiBJRCBvZiB0aGUge0BsaW5rIFdvcmtmbG93VGFza31zIGJlaW5nIGV2YWx1YXRlZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25JZCA9IFwiRXhlY3V0aW9uSWRcIjtcbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIG9yY2hlc3RyYXRvci5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBWZXJzaW9uID0gXCJWZXJzaW9uXCI7XG4gIGV4cG9ydCBjb25zdCBWZXJzaW9uVjEgPSBcInYxXCI7XG4gIC8qKlxuICAgKiBUaGUgZ3JlYXRlc3QgYW1vdW50IG9mIHRpbWUgYSB7QGxpbmsgV29ya2Zsb3dUYXNrfSBiZWluZyBwcm9jZXNzZWQgaGFzIHdhaXRlZCBpbiB0aGUgV29ya2Zsb3cgUXVldWUuXG4gICAqXG4gICAqIFVzZWQgdG8gZGV0ZXJtaW5lIHdoZW4gdGhlIHdvcmtmbG93IHF1ZXVlIGlzIGZhbGxpbmcgYmVoaW5kIChtYXhUYXNrQWdlIGlzIGdyb3dpbmcpLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE1heFRhc2tBZ2UgPSBcIk1heFRhc2tBZ2VcIjtcbiAgLyoqXG4gICAqIFRoZSB0aW1lIGl0IHRha2VzIHRvIGxvYWQgaGlzdG9yeSBkYXRhIGZyb20gUzMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgTG9hZEhpc3RvcnlEdXJhdGlvbiA9IFwiTG9hZEhpc3RvcnlEdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBldmVudHMgcHJlc2VudCBpbiB0aGUgaGlzdG9yeSBmaWxlLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IExvYWRlZEhpc3RvcnlFdmVudHMgPSBcIkxvYWRlZEhpc3RvcnlFdmVudHNcIjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBpdCB0YWtlcyB0byBydW4gdGhlIHdvcmtmbG93IGNvZGUgdG8gcHJvZ3Jlc3MgdGhlIHtAbGluayBFeGVjdXRpb259LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFkdmFuY2VFeGVjdXRpb25EdXJhdGlvbiA9IFwiQWR2YW5jZUV4ZWN1dGlvbkR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGV2ZW50cyBzdWJtaXR0ZWQgdG8gdGhlIHdvcmtmbG93IGNvZGUgdG8gcmVwbGF5IGFuZCBhZHZhbmNlIHRoZSB7QGxpbmsgRXhlY3V0aW9ufS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBZHZhbmNlRXhlY3V0aW9uRXZlbnRzID0gXCJBZHZhbmNlRXhlY3V0aW9uRXZlbnRzXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdGFrZXMgdG8gc3RhcnQgYWxsIG9mIHRoZSBjb21tYW5kcyByZXR1cm5lZCBieSB0aGUgd29ya2Zsb3cgY29kZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBJbnZva2VDb21tYW5kc0R1cmF0aW9uID0gXCJJbnZva2VDb21tYW5kc0R1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGNvbW1hbmRzIHJldHVybmVkIGJ5IHRoZSB3b3JrZmxvdy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBDb21tYW5kc0ludm9rZWQgPSBcIkNvbW1hbmRzSW52b2tlZFwiO1xuICAvKipcbiAgICogVHJhY2tzIHRoZSB0aW1lIGl0IHRha2VzIGZvciBhIHdvcmtmbG93IHRhc2sgdG8gYmUgc2NoZWR1bGVkIHVudGlsIG5ldyBjb21tYW5kcyBjb3VsZCBiZSBlbWl0dGVkLlxuICAgKiBUaGlzIHJlcHJlc2VudCB0aGUgd29ya2Zsb3cgb3JjaGVzdHJhdGlvbiB0aW1lIG9mIFVzZXIgUGVyY2VpdmVkIExhdGVuY3lcbiAgICogQXZlcmFnZSBleHBlY3RlZCB0aW1lIGZvciBhbiBhY3Rpdml0eSB0byBiZSBpbnZva2VkIHVudGlsIGl0IGlzIGNvbnNpZGVyZWQgY29tcGxldGUgYnkgdGhlIHdvcmtmbG93IHNob3VsZCBmb2xsb3c6XG4gICAqIEF2Z0FjdGl2aXR5RHVyYXRpb24oTikgPSBBdmcoVGltZVRvQ29tbWFuZHNJbnZva2VkKSArIEF2ZyhBY3Rpdml0eUR1cmF0aW9uKE4pKVxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFRpbWVUb0NvbW1hbmRzSW52b2tlZCA9IFwiVGltZVRvQ29tbWFuZHNJbnZva2VkXCI7XG4gIC8qKlxuICAgKiBBbW91bnQgb2YgdGltZSBpdCB0YWtlcyB0byB3cml0ZSBoaXN0b3J5IGJhY2sgdG8gczMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgU2F2ZUhpc3RvcnlEdXJhdGlvbiA9IFwiU2F2ZUhpc3RvcnlEdXJhdGlvblwiO1xuICAvKipcbiAgICogTnVtYmVyIG9mIGV2ZW50cyB3cml0dGVuIHRvIHMzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFNhdmVkSGlzdG9yeUV2ZW50cyA9IFwiU2F2ZWRIaXN0b3J5RXZlbnRzXCI7XG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBoaXN0b3J5IGZsZSB3cml0dGVuIGluIGJ5dGVzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFNhdmVkSGlzdG9yeUJ5dGVzID0gXCJTYXZlZEhpc3RvcnlCeXRlc1wiO1xuICAvKipcbiAgICogQW1vdW50IG9mIHRpbWUgaXQgdGFrZXMgdG8gdXBkYXRlIHRoZSB3b3JrZmxvdyBlbnRyeSB3aXRoIGEgQ29tcGxldGUgb3IgRmFpbGVkIHN0YXR1cy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25TdGF0dXNVcGRhdGVEdXJhdGlvbiA9IFwiRXhlY3V0aW9uU3RhdHVzVXBkYXRlRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIEFtb3VudCBvZiB0aW1lIGl0IHRha2UgdG8gYWRkIG5ld2x5IGdlbmVyYXRlZCBldmVudHMgdG8gZHluYW1vLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFkZE5ld0V4ZWN1dGlvbkV2ZW50c0R1cmF0aW9uID0gXCJBZGROZXdFeGVjdXRpb25FdmVudHNEdXJhdGlvblwiO1xuICAvKipcbiAgICogTnVtYmVyIG9mIG5ldyBldmVudHMgZ2VuZXJhdGVkIGV2YWx1YXRpbmcgdGhlIGN1cnJlbnQgV29ya2Zsb3cgVGFza3MgYmF0Y2guXG4gICAqL1xuICBleHBvcnQgY29uc3QgTmV3RXhlY3V0aW9uRXZlbnRzID0gXCJOZXdFeGVjdXRpb25FdmVudHNcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGV4ZWN1dGlvbiBjb21wbGV0ZWQgd2l0aG91dCBlcnJvci5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25Db21wbGV0ZSA9IFwiRXhlY3V0aW9uQ29tcGxldGVcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGV4ZWN1dGlvbiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvci5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25GYWlsZWQgPSBcIkV4ZWN1dGlvbkZhaWxlZFwiO1xuICAvKipcbiAgICogVG90YWwgdGltZSBpdCB0b29rIHRoZSB3b3JrZmxvdyB0byBjb21wbGV0ZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25Ub3RhbER1cmF0aW9uID0gXCJFeGVjdXRpb25Ub3RhbER1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgd29ya2Zsb3cgcmVzdWx0IGluIGJ5dGVzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEV4ZWN1dGlvblJlc3VsdEJ5dGVzID0gXCJFeGVjdXRpb25SZXN1bHRCeXRlc1wiO1xuICAvKipcbiAgICogTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHRoZSBleHBlY3RlZCBzbGVlcCB3YWtldXAgdGltZSBhbmQgdGhlIGFjdHVhbCBpbmNvbWluZyB7QGxpbmsgU2xlZXBDb21wbGV0ZWR9IGV2ZW50LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFNsZWVwVmFyaWFuY2VNaWxsaXMgPSBcIlNsZWVwVmFyaWFuY2VNaWxsaXNcIjtcbiAgLyoqXG4gICAqIDEgd2hlbiBhIHdvcmtmbG93IGhhcyBhIHRpbWVvdXQgYW5kIDAgd2hlbiBpdCBkb2VzIG5vdC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lb3V0U3RhcnRlZCA9IFwiVGltZW91dFN0YXJ0ZWRcIjtcbiAgLyoqXG4gICAqIFdoZW4gYSB3b3JrZmxvdyBoYXMgYSB0aW1lb3V0LCBtZWFzdXJlcyB0aGUgdGltZSBpdCB0YWtlcyB0byBzdGFydCB0aGUgdGltZW91dC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lb3V0U3RhcnRlZER1cmF0aW9uID0gXCJUaW1lb3V0U3RhcnRlZER1cmF0aW9uXCI7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWN0aXZpdHlNZXRyaWNzIHtcbiAgLyoqXG4gICAqIFRoZSBhZ2Ugb2YgdGhlIHJlcXVlc3QsIG9yIHRoZSB0aW1lIGZyb20gd2hlbiBpdCB3YXMgc2VudCB0byB3aGVuIGl0IHdhcyBzdGFydGVkIHByb2Nlc3NpbmcuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWN0aXZpdHlSZXF1ZXN0QWdlID0gXCJBY3Rpdml0eVJlcXVlc3RBZ2VcIjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBpdCB0b29rIHRvIGNsYWltIChsb2NrKSB0aGUgYWN0aXZpdHkgdG8gZW5mb3JjZSBleGFjdGx5IG9uY2UgcHJvY2Vzc2luZy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBDbGFpbUR1cmF0aW9uID0gXCJDbGFpbUR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYWN0aXZpdHkgaW52b2NhdGlvbiB3YXMgcmVqZWN0ZWQgd2hlbiBjbGFpbWluZyB0aGUgYWN0aXZpdHkuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQ2xhaW1SZWplY3RlZCA9IFwiQ2xhaW1SZWplY3RlZFwiO1xuICAvKipcbiAgICogV2hldGhlciBhbiBlcnJvciB3YXMgdGhyb3duIHRoYXQgdGhlIGFjdGl2aXR5IG5hbWUgY291bGQgbm90IGJlIGZvdW5kLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE5vdEZvdW5kRXJyb3IgPSBcIk5vdEZvdW5kRXJyb3JcIjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBpdCB0b29rIHRvIHJ1biB0aGUgYWN0aXZpdHkncyBjb2RlLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE9wZXJhdGlvbkR1cmF0aW9uID0gXCJPcGVyYXRpb25EdXJhdGlvblwiO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIGFjdGl2aXR5IHJldHVybmVkIGEgcmVzdWx0IG9yIG5vdCBvbiBjb21wbGV0aW9uLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEhhc1Jlc3VsdCA9IFwiSGFzUmVzdWx0XCI7XG4gIC8qKlxuICAgKiBSZXR1cm5lZCB7QGxpbmsgYXN5bmNSZXN1bHR9LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFzeW5jUmVzdWx0ID0gXCJBc3luY1Jlc3VsdFwiO1xuICAvKipcbiAgICogVGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIHJlc3VsdCBnZW5lcmF0ZWQgYnkgdGhlIGFjdGl2aXR5LCBpZiBvbmUgd2FzIGdlbmVyYXRlZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBSZXN1bHRCeXRlcyA9IFwiUmVzdWx0Qnl0ZXNcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGl2aXR5IGNvbXBsZXRlZCB3aXRoIGVycm9ycy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBY3Rpdml0eUZhaWxlZCA9IFwiQWN0aXZpdHlGYWlsZWRcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGl2aXR5IGNvbXBsZXRlZCB3aXRob3V0IGVycm9yLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFjdGl2aXR5U3VjY2VlZGVkID0gXCJBY3Rpdml0eVN1Y2NlZWRlZFwiO1xuICAvKipcbiAgICogVGhlIHRvdGFsIGR1cmF0aW9uIG9mIHRoZSBhY3Rpdml0eSBhZnRlciBiZWluZyBzY2hlZHVsZWQsIGluY2x1ZGluZyB0aGUgdGltZVxuICAgKiB3YWl0aW5nIHRvIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFRvdGFsRHVyYXRpb24gPSBcIlRvdGFsRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIGFtb3VudCBvZiB0aW1lIGl0IHRvb2sgdG8gc3VibWl0IGEgd29ya2Zsb3cgdGFzayB0byBTUVMgdG8gcmVzdW1lIHRoZSB3b3JrZmxvdy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTdWJtaXRXb3JrZmxvd1Rhc2tEdXJhdGlvbiA9IFwiU3VibWl0V29ya2Zsb3dUYXNrRHVyYXRpb25cIjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTY2hlZHVsZXJGb3J3YXJkZXJNZXRyaWNzIHtcbiAgLyoqXG4gICAqIFRoZSB0aW1lIGJldHdlZW4gdGhlIHNjaGVkdWxlciB0cmlnZ2VyIHRpbWUgYW5kIHRoZSBTY2hlZHVsZXIgRm9yd2FyZGVyIHNlZWluZyB0aGUgbWVzc2FnZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTY2hlZHVsZXJUaW1lRGVsYXkgPSBcIlNjaGVkdWxlclRpbWVEZWxheVwiO1xuICAvKipcbiAgICogU2Vjb25kcyB0aGUgdGltZXIgcXVldWUgaXMgdG9sZCB0byB3YWl0IHVudGlsIGhhbmRsaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFRpbWVyUXVldWVEZWxheVNlY29uZHMgPSBcIlRpbWVyUXVldWVEZWxheVNlY29uZHNcIjtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3J1bnRpbWUvbWV0cmljcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE1BQU0sS0FBVyxhQUFhLENBRzdCO0FBSEQsV0FBaUIsYUFBYTtJQUNmLCtCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUMvQixtQ0FBcUIsR0FBRyxjQUFjLENBQUM7QUFDdEQsQ0FBQyxFQUhnQixhQUFhLEtBQWIsYUFBYSxRQUc3QjtBQUVELE1BQU0sS0FBVyxtQkFBbUIsQ0ErR25DO0FBL0dELFdBQWlCLG1CQUFtQjtJQUNsQzs7T0FFRztJQUNVLDhCQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ3ZDOztPQUVHO0lBQ1UsbUNBQWUsR0FBRyxpQkFBaUIsQ0FBQztJQUNqRDs7T0FFRztJQUNVLCtCQUFXLEdBQUcsYUFBYSxDQUFDO0lBQ3pDOztPQUVHO0lBQ1UsMkJBQU8sR0FBRyxTQUFTLENBQUM7SUFDcEIsNkJBQVMsR0FBRyxJQUFJLENBQUM7SUFDOUI7Ozs7T0FJRztJQUNVLDhCQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ3ZDOztPQUVHO0lBQ1UsdUNBQW1CLEdBQUcscUJBQXFCLENBQUM7SUFDekQ7O09BRUc7SUFDVSx1Q0FBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN6RDs7T0FFRztJQUNVLDRDQUF3QixHQUFHLDBCQUEwQixDQUFDO0lBQ25FOztPQUVHO0lBQ1UsMENBQXNCLEdBQUcsd0JBQXdCLENBQUM7SUFDL0Q7O09BRUc7SUFDVSwwQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztJQUMvRDs7T0FFRztJQUNVLG1DQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDakQ7Ozs7O09BS0c7SUFDVSx5Q0FBcUIsR0FBRyx1QkFBdUIsQ0FBQztJQUM3RDs7T0FFRztJQUNVLHVDQUFtQixHQUFHLHFCQUFxQixDQUFDO0lBQ3pEOztPQUVHO0lBQ1Usc0NBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSxxQ0FBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNyRDs7T0FFRztJQUNVLGlEQUE2QixHQUFHLCtCQUErQixDQUFDO0lBQzdFOztPQUVHO0lBQ1UsaURBQTZCLEdBQUcsK0JBQStCLENBQUM7SUFDN0U7O09BRUc7SUFDVSxzQ0FBa0IsR0FBRyxvQkFBb0IsQ0FBQztJQUN2RDs7T0FFRztJQUNVLHFDQUFpQixHQUFHLG1CQUFtQixDQUFDO0lBQ3JEOztPQUVHO0lBQ1UsbUNBQWUsR0FBRyxpQkFBaUIsQ0FBQztJQUNqRDs7T0FFRztJQUNVLDBDQUFzQixHQUFHLHdCQUF3QixDQUFDO0lBQy9EOztPQUVHO0lBQ1Usd0NBQW9CLEdBQUcsc0JBQXNCLENBQUM7SUFDM0Q7O09BRUc7SUFDVSx1Q0FBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN6RDs7T0FFRztJQUNVLDZDQUF5QixHQUFHLHlCQUF5QixDQUFDO0lBQ25FOztPQUVHO0lBQ1Usa0NBQWMsR0FBRyxnQkFBZ0IsQ0FBQztJQUMvQzs7T0FFRztJQUNVLDBDQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2pFLENBQUMsRUEvR2dCLG1CQUFtQixLQUFuQixtQkFBbUIsUUErR25DO0FBRUQsTUFBTSxLQUFXLGVBQWUsQ0FzRC9CO0FBdERELFdBQWlCLGVBQWU7SUFDOUI7O09BRUc7SUFDVSxrQ0FBa0IsR0FBRyxvQkFBb0IsQ0FBQztJQUN2RDs7T0FFRztJQUNVLDZCQUFhLEdBQUcsZUFBZSxDQUFDO0lBQzdDOztPQUVHO0lBQ1UsNkJBQWEsR0FBRyxlQUFlLENBQUM7SUFDN0M7O09BRUc7SUFDVSw2QkFBYSxHQUFHLGVBQWUsQ0FBQztJQUM3Qzs7T0FFRztJQUNVLGlDQUFpQixHQUFHLG1CQUFtQixDQUFDO0lBQ3JEOztPQUVHO0lBQ1UseUJBQVMsR0FBRyxXQUFXLENBQUM7SUFDckM7O09BRUc7SUFDVSwyQkFBVyxHQUFHLGFBQWEsQ0FBQztJQUN6Qzs7T0FFRztJQUNVLDJCQUFXLEdBQUcsYUFBYSxDQUFDO0lBQ3pDOztPQUVHO0lBQ1UsOEJBQWMsR0FBRyxnQkFBZ0IsQ0FBQztJQUMvQzs7T0FFRztJQUNVLGlDQUFpQixHQUFHLG1CQUFtQixDQUFDO0lBQ3JEOzs7T0FHRztJQUNVLDZCQUFhLEdBQUcsZUFBZSxDQUFDO0lBQzdDOztPQUVHO0lBQ1UsMENBQTBCLEdBQUcsNEJBQTRCLENBQUM7SUFDdkU7O09BRUc7SUFDVSx3Q0FBd0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNuRSxDQUFDLEVBdERnQixlQUFlLEtBQWYsZUFBZSxRQXNEL0I7QUFFRCxNQUFNLEtBQVcseUJBQXlCLENBU3pDO0FBVEQsV0FBaUIseUJBQXlCO0lBQ3hDOztPQUVHO0lBQ1UsNENBQWtCLEdBQUcsb0JBQW9CLENBQUM7SUFDdkQ7O09BRUc7SUFDVSxnREFBc0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNqRSxDQUFDLEVBVGdCLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFTekMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG5leHBvcnQgbmFtZXNwYWNlIE1ldHJpY3NDb21tb24ge1xuICBleHBvcnQgY29uc3QgRXZlbnR1YWxOYW1lc3BhY2UgPSBcIkV2ZW50dWFsXCI7XG4gIGV4cG9ydCBjb25zdCBXb3JrZmxvd05hbWVEaW1lbnNpb24gPSBcIldvcmtmbG93TmFtZVwiO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE9yY2hlc3RyYXRvck1ldHJpY3Mge1xuICAvKipcbiAgICogTnVtYmVyIG9mIGV2ZW50cyB3aGljaCB3ZXJlIGRlbGl2ZXJlZCB3aXRoIHRoZSBjdXJyZW50IGJhdGNoIG9mIHtAbGluayBXb3JrZmxvd1Rhc2t9cy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUYXNrRXZlbnRzID0gXCJUYXNrRXZlbnRzXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygd29ya2Zsb3cgdGFza3MgYmVpbmcgYmF0Y2ggZXhlY3V0ZWQgYnkgdGhlIG9yY2hlc3RyYXRvciBmb3IgYW4gZXhlY3V0aW9uIGlkLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFnZ3JlZ2F0ZWRUYXNrcyA9IFwiQWdncmVnYXRlZFRhc2tzXCI7XG4gIC8qKlxuICAgKiBFeGVjdXRpb24gSUQgb2YgdGhlIHtAbGluayBXb3JrZmxvd1Rhc2t9cyBiZWluZyBldmFsdWF0ZWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uSWQgPSBcIkV4ZWN1dGlvbklkXCI7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBvcmNoZXN0cmF0b3IuXG4gICAqL1xuICBleHBvcnQgY29uc3QgVmVyc2lvbiA9IFwiVmVyc2lvblwiO1xuICBleHBvcnQgY29uc3QgVmVyc2lvblYxID0gXCJ2MVwiO1xuICAvKipcbiAgICogVGhlIGdyZWF0ZXN0IGFtb3VudCBvZiB0aW1lIGEge0BsaW5rIFdvcmtmbG93VGFza30gYmVpbmcgcHJvY2Vzc2VkIGhhcyB3YWl0ZWQgaW4gdGhlIFdvcmtmbG93IFF1ZXVlLlxuICAgKlxuICAgKiBVc2VkIHRvIGRldGVybWluZSB3aGVuIHRoZSB3b3JrZmxvdyBxdWV1ZSBpcyBmYWxsaW5nIGJlaGluZCAobWF4VGFza0FnZSBpcyBncm93aW5nKS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBNYXhUYXNrQWdlID0gXCJNYXhUYXNrQWdlXCI7XG4gIC8qKlxuICAgKiBUaGUgdGltZSBpdCB0YWtlcyB0byBsb2FkIGhpc3RvcnkgZGF0YSBmcm9tIFMzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IExvYWRIaXN0b3J5RHVyYXRpb24gPSBcIkxvYWRIaXN0b3J5RHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZXZlbnRzIHByZXNlbnQgaW4gdGhlIGhpc3RvcnkgZmlsZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBMb2FkZWRIaXN0b3J5RXZlbnRzID0gXCJMb2FkZWRIaXN0b3J5RXZlbnRzXCI7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgaXQgdGFrZXMgdG8gcnVuIHRoZSB3b3JrZmxvdyBjb2RlIHRvIHByb2dyZXNzIHRoZSB7QGxpbmsgRXhlY3V0aW9ufS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBZHZhbmNlRXhlY3V0aW9uRHVyYXRpb24gPSBcIkFkdmFuY2VFeGVjdXRpb25EdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBldmVudHMgc3VibWl0dGVkIHRvIHRoZSB3b3JrZmxvdyBjb2RlIHRvIHJlcGxheSBhbmQgYWR2YW5jZSB0aGUge0BsaW5rIEV4ZWN1dGlvbn0uXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWR2YW5jZUV4ZWN1dGlvbkV2ZW50cyA9IFwiQWR2YW5jZUV4ZWN1dGlvbkV2ZW50c1wiO1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRvIHN0YXJ0IGFsbCBvZiB0aGUgY29tbWFuZHMgcmV0dXJuZWQgYnkgdGhlIHdvcmtmbG93IGNvZGUuXG4gICAqL1xuICBleHBvcnQgY29uc3QgSW52b2tlQ29tbWFuZHNEdXJhdGlvbiA9IFwiSW52b2tlQ29tbWFuZHNEdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb21tYW5kcyByZXR1cm5lZCBieSB0aGUgd29ya2Zsb3cuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQ29tbWFuZHNJbnZva2VkID0gXCJDb21tYW5kc0ludm9rZWRcIjtcbiAgLyoqXG4gICAqIFRyYWNrcyB0aGUgdGltZSBpdCB0YWtlcyBmb3IgYSB3b3JrZmxvdyB0YXNrIHRvIGJlIHNjaGVkdWxlZCB1bnRpbCBuZXcgY29tbWFuZHMgY291bGQgYmUgZW1pdHRlZC5cbiAgICogVGhpcyByZXByZXNlbnQgdGhlIHdvcmtmbG93IG9yY2hlc3RyYXRpb24gdGltZSBvZiBVc2VyIFBlcmNlaXZlZCBMYXRlbmN5XG4gICAqIEF2ZXJhZ2UgZXhwZWN0ZWQgdGltZSBmb3IgYW4gYWN0aXZpdHkgdG8gYmUgaW52b2tlZCB1bnRpbCBpdCBpcyBjb25zaWRlcmVkIGNvbXBsZXRlIGJ5IHRoZSB3b3JrZmxvdyBzaG91bGQgZm9sbG93OlxuICAgKiBBdmdBY3Rpdml0eUR1cmF0aW9uKE4pID0gQXZnKFRpbWVUb0NvbW1hbmRzSW52b2tlZCkgKyBBdmcoQWN0aXZpdHlEdXJhdGlvbihOKSlcbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lVG9Db21tYW5kc0ludm9rZWQgPSBcIlRpbWVUb0NvbW1hbmRzSW52b2tlZFwiO1xuICAvKipcbiAgICogQW1vdW50IG9mIHRpbWUgaXQgdGFrZXMgdG8gd3JpdGUgaGlzdG9yeSBiYWNrIHRvIHMzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFNhdmVIaXN0b3J5RHVyYXRpb24gPSBcIlNhdmVIaXN0b3J5RHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBldmVudHMgd3JpdHRlbiB0byBzMy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTYXZlZEhpc3RvcnlFdmVudHMgPSBcIlNhdmVkSGlzdG9yeUV2ZW50c1wiO1xuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgaGlzdG9yeSBmbGUgd3JpdHRlbiBpbiBieXRlcy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTYXZlZEhpc3RvcnlCeXRlcyA9IFwiU2F2ZWRIaXN0b3J5Qnl0ZXNcIjtcbiAgLyoqXG4gICAqIEFtb3VudCBvZiB0aW1lIGl0IHRha2VzIHRvIHVwZGF0ZSB0aGUgd29ya2Zsb3cgZW50cnkgd2l0aCBhIENvbXBsZXRlIG9yIEZhaWxlZCBzdGF0dXMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uU3RhdHVzVXBkYXRlRHVyYXRpb24gPSBcIkV4ZWN1dGlvblN0YXR1c1VwZGF0ZUR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBBbW91bnQgb2YgdGltZSBpdCB0YWtlIHRvIGFkZCBuZXdseSBnZW5lcmF0ZWQgZXZlbnRzIHRvIGR5bmFtby5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBZGROZXdFeGVjdXRpb25FdmVudHNEdXJhdGlvbiA9IFwiQWRkTmV3RXhlY3V0aW9uRXZlbnRzRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBuZXcgZXZlbnRzIGdlbmVyYXRlZCBldmFsdWF0aW5nIHRoZSBjdXJyZW50IFdvcmtmbG93IFRhc2tzIGJhdGNoLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE5ld0V4ZWN1dGlvbkV2ZW50cyA9IFwiTmV3RXhlY3V0aW9uRXZlbnRzXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBleGVjdXRpb24gY29tcGxldGVkIHdpdGhvdXQgZXJyb3IuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uQ29tcGxldGUgPSBcIkV4ZWN1dGlvbkNvbXBsZXRlXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBleGVjdXRpb24gY29tcGxldGVkIHdpdGggYW4gZXJyb3IuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uRmFpbGVkID0gXCJFeGVjdXRpb25GYWlsZWRcIjtcbiAgLyoqXG4gICAqIFRvdGFsIHRpbWUgaXQgdG9vayB0aGUgd29ya2Zsb3cgdG8gY29tcGxldGUuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uVG90YWxEdXJhdGlvbiA9IFwiRXhlY3V0aW9uVG90YWxEdXJhdGlvblwiO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHdvcmtmbG93IHJlc3VsdCBpbiBieXRlcy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBFeGVjdXRpb25SZXN1bHRCeXRlcyA9IFwiRXhlY3V0aW9uUmVzdWx0Qnl0ZXNcIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBtaWxsaXNlY29uZHMgYmV0d2VlbiB0aGUgZXhwZWN0ZWQgc2xlZXAgd2FrZXVwIHRpbWUgYW5kIHRoZSBhY3R1YWwgaW5jb21pbmcge0BsaW5rIFNsZWVwQ29tcGxldGVkfSBldmVudC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTbGVlcFZhcmlhbmNlTWlsbGlzID0gXCJTbGVlcFZhcmlhbmNlTWlsbGlzXCI7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGl0IHRha2VzIHRvIHNlbmQgZXhlY3V0aW9uIGxvZ3MgdG8gd2hlcmUgZXZlciB0aGV5IGFyZSBwZXJzaXN0ZWQuXG4gICAqL1xuICBleHBvcnQgY29uc3QgRXhlY3V0aW9uTG9nV3JpdGVEdXJhdGlvbiA9IFwiRXhlY3V0aW9uTG9nV3JpdGVNaWxsaXNcIjtcbiAgLyoqXG4gICAqIDEgd2hlbiBhIHdvcmtmbG93IGhhcyBhIHRpbWVvdXQgYW5kIDAgd2hlbiBpdCBkb2VzIG5vdC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lb3V0U3RhcnRlZCA9IFwiVGltZW91dFN0YXJ0ZWRcIjtcbiAgLyoqXG4gICAqIFdoZW4gYSB3b3JrZmxvdyBoYXMgYSB0aW1lb3V0LCBtZWFzdXJlcyB0aGUgdGltZSBpdCB0YWtlcyB0byBzdGFydCB0aGUgdGltZW91dC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBUaW1lb3V0U3RhcnRlZER1cmF0aW9uID0gXCJUaW1lb3V0U3RhcnRlZER1cmF0aW9uXCI7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWN0aXZpdHlNZXRyaWNzIHtcbiAgLyoqXG4gICAqIFRoZSBhZ2Ugb2YgdGhlIHJlcXVlc3QsIG9yIHRoZSB0aW1lIGZyb20gd2hlbiBpdCB3YXMgc2VudCB0byB3aGVuIGl0IHdhcyBzdGFydGVkIHByb2Nlc3NpbmcuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQWN0aXZpdHlSZXF1ZXN0QWdlID0gXCJBY3Rpdml0eVJlcXVlc3RBZ2VcIjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBpdCB0b29rIHRvIGNsYWltIChsb2NrKSB0aGUgYWN0aXZpdHkgdG8gZW5mb3JjZSBleGFjdGx5IG9uY2UgcHJvY2Vzc2luZy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBDbGFpbUR1cmF0aW9uID0gXCJDbGFpbUR1cmF0aW9uXCI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYWN0aXZpdHkgaW52b2NhdGlvbiB3YXMgcmVqZWN0ZWQgd2hlbiBjbGFpbWluZyB0aGUgYWN0aXZpdHkuXG4gICAqL1xuICBleHBvcnQgY29uc3QgQ2xhaW1SZWplY3RlZCA9IFwiQ2xhaW1SZWplY3RlZFwiO1xuICAvKipcbiAgICogV2hldGhlciBhbiBlcnJvciB3YXMgdGhyb3duIHRoYXQgdGhlIGFjdGl2aXR5IG5hbWUgY291bGQgbm90IGJlIGZvdW5kLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE5vdEZvdW5kRXJyb3IgPSBcIk5vdEZvdW5kRXJyb3JcIjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBpdCB0b29rIHRvIHJ1biB0aGUgYWN0aXZpdHkncyBjb2RlLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IE9wZXJhdGlvbkR1cmF0aW9uID0gXCJPcGVyYXRpb25EdXJhdGlvblwiO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIGFjdGl2aXR5IHJldHVybmVkIGEgcmVzdWx0IG9yIG5vdCBvbiBjb21wbGV0aW9uLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEhhc1Jlc3VsdCA9IFwiSGFzUmVzdWx0XCI7XG4gIC8qKlxuICAgKiBSZXR1cm5lZCB7QGxpbmsgYXN5bmNSZXN1bHR9LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFzeW5jUmVzdWx0ID0gXCJBc3luY1Jlc3VsdFwiO1xuICAvKipcbiAgICogVGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIHJlc3VsdCBnZW5lcmF0ZWQgYnkgdGhlIGFjdGl2aXR5LCBpZiBvbmUgd2FzIGdlbmVyYXRlZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBSZXN1bHRCeXRlcyA9IFwiUmVzdWx0Qnl0ZXNcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGl2aXR5IGNvbXBsZXRlZCB3aXRoIGVycm9ycy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBY3Rpdml0eUZhaWxlZCA9IFwiQWN0aXZpdHlGYWlsZWRcIjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGl2aXR5IGNvbXBsZXRlZCB3aXRob3V0IGVycm9yLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IEFjdGl2aXR5U3VjY2VlZGVkID0gXCJBY3Rpdml0eVN1Y2NlZWRlZFwiO1xuICAvKipcbiAgICogVGhlIHRvdGFsIGR1cmF0aW9uIG9mIHRoZSBhY3Rpdml0eSBhZnRlciBiZWluZyBzY2hlZHVsZWQsIGluY2x1ZGluZyB0aGUgdGltZVxuICAgKiB3YWl0aW5nIHRvIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFRvdGFsRHVyYXRpb24gPSBcIlRvdGFsRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIGFtb3VudCBvZiB0aW1lIGl0IHRvb2sgdG8gc3VibWl0IGEgd29ya2Zsb3cgdGFzayB0byBTUVMgdG8gcmVzdW1lIHRoZSB3b3JrZmxvdy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTdWJtaXRXb3JrZmxvd1Rhc2tEdXJhdGlvbiA9IFwiU3VibWl0V29ya2Zsb3dUYXNrRHVyYXRpb25cIjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBtaWxsaXNlY29uZHMgaXQgdGFrZXMgdG8gc2VuZCBleGVjdXRpb24gbG9ncyB0byB3aGVyZSBldmVyIHRoZXkgYXJlIHBlcnNpc3RlZC5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBBY3Rpdml0eUxvZ1dyaXRlRHVyYXRpb24gPSBcIkFjdGl2aXR5TG9nV3JpdGVNaWxsaXNcIjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTY2hlZHVsZXJGb3J3YXJkZXJNZXRyaWNzIHtcbiAgLyoqXG4gICAqIFRoZSB0aW1lIGJldHdlZW4gdGhlIHNjaGVkdWxlciB0cmlnZ2VyIHRpbWUgYW5kIHRoZSBTY2hlZHVsZXIgRm9yd2FyZGVyIHNlZWluZyB0aGUgbWVzc2FnZS5cbiAgICovXG4gIGV4cG9ydCBjb25zdCBTY2hlZHVsZXJUaW1lRGVsYXkgPSBcIlNjaGVkdWxlclRpbWVEZWxheVwiO1xuICAvKipcbiAgICogU2Vjb25kcyB0aGUgdGltZXIgcXVldWUgaXMgdG9sZCB0byB3YWl0IHVudGlsIGhhbmRsaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IFRpbWVyUXVldWVEZWxheVNlY29uZHMgPSBcIlRpbWVyUXVldWVEZWxheVNlY29uZHNcIjtcbn1cbiJdfQ== |
@@ -1,2 +0,2 @@ | ||
import { ActivityHandler } from "../../index.js"; | ||
import { ActivityHandler } from "../../activity.js"; | ||
export interface ActivityProvider { | ||
@@ -3,0 +3,0 @@ getActivityHandler(activityId: string): ActivityHandler<any> | undefined; |
@@ -1,2 +0,3 @@ | ||
import { callableActivities, getCallableActivityNames, } from "../../index.js"; | ||
import { getCallableActivityNames } from "../../activity.js"; | ||
import { callableActivities } from "../../global.js"; | ||
export class GlobalActivityProvider { | ||
@@ -10,2 +11,2 @@ getActivityHandler(activityId) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9wcm92aWRlcnMvYWN0aXZpdHktcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGtCQUFrQixFQUNsQix3QkFBd0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQU94QixNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLGtCQUFrQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sa0JBQWtCLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aXZpdHlIYW5kbGVyLFxuICBjYWxsYWJsZUFjdGl2aXRpZXMsXG4gIGdldENhbGxhYmxlQWN0aXZpdHlOYW1lcyxcbn0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlQcm92aWRlciB7XG4gIGdldEFjdGl2aXR5SGFuZGxlcihhY3Rpdml0eUlkOiBzdHJpbmcpOiBBY3Rpdml0eUhhbmRsZXI8YW55PiB8IHVuZGVmaW5lZDtcbiAgZ2V0QWN0aXZpdHlJZHMoKTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBHbG9iYWxBY3Rpdml0eVByb3ZpZGVyIGltcGxlbWVudHMgQWN0aXZpdHlQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRBY3Rpdml0eUhhbmRsZXIoYWN0aXZpdHlJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNhbGxhYmxlQWN0aXZpdGllcygpW2FjdGl2aXR5SWRdO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2aXR5SWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZ2V0Q2FsbGFibGVBY3Rpdml0eU5hbWVzKCk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcnVudGltZS9wcm92aWRlcnMvYWN0aXZpdHktcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQix3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBT3JELE1BQU0sT0FBTyxzQkFBc0I7SUFDMUIsa0JBQWtCLENBQUMsVUFBa0I7UUFDMUMsT0FBTyxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eUhhbmRsZXIsIGdldENhbGxhYmxlQWN0aXZpdHlOYW1lcyB9IGZyb20gXCIuLi8uLi9hY3Rpdml0eS5qc1wiO1xuaW1wb3J0IHsgY2FsbGFibGVBY3Rpdml0aWVzIH0gZnJvbSBcIi4uLy4uL2dsb2JhbC5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UHJvdmlkZXIge1xuICBnZXRBY3Rpdml0eUhhbmRsZXIoYWN0aXZpdHlJZDogc3RyaW5nKTogQWN0aXZpdHlIYW5kbGVyPGFueT4gfCB1bmRlZmluZWQ7XG4gIGdldEFjdGl2aXR5SWRzKCk6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgR2xvYmFsQWN0aXZpdHlQcm92aWRlciBpbXBsZW1lbnRzIEFjdGl2aXR5UHJvdmlkZXIge1xuICBwdWJsaWMgZ2V0QWN0aXZpdHlIYW5kbGVyKGFjdGl2aXR5SWQ6IHN0cmluZykge1xuICAgIHJldHVybiBjYWxsYWJsZUFjdGl2aXRpZXMoKVthY3Rpdml0eUlkXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3Rpdml0eUlkcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGdldENhbGxhYmxlQWN0aXZpdHlOYW1lcygpO1xuICB9XG59XG4iXX0= |
@@ -6,2 +6,9 @@ export declare function assertNever(never: never, msg?: string): never; | ||
export declare function extendsError(err: unknown): err is Error; | ||
export interface _Iterator<I, T extends I> { | ||
hasNext(): boolean; | ||
next(): T | undefined; | ||
drain(): T[]; | ||
size(): number; | ||
} | ||
export declare function iterator<I, T extends I>(elms: I[], predicate?: (elm: I) => elm is T): _Iterator<I, T>; | ||
//# sourceMappingURL=util.d.ts.map |
@@ -24,2 +24,37 @@ export function assertNever(never, msg) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBWSxFQUFFLEdBQVk7SUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksdUNBQXVDLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUksS0FBUyxFQUFFLEdBQVk7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLDRDQUE0QyxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLEtBQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FDakIsQ0FBbUI7SUFFbkIsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsRUFBRSxDQUNoQixHQUFHLFVBQWE7SUFFaEIsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVk7SUFDdkMsT0FBTyxDQUNMLENBQUMsQ0FBQyxHQUFHO1FBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixDQUFDLEdBQUcsWUFBWSxLQUFLO1lBQ25CLENBQUMsV0FBVyxJQUFJLEdBQUc7Z0JBQ2pCLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUztnQkFDZixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2hFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5ldmVyKG5ldmVyOiBuZXZlciwgbXNnPzogc3RyaW5nKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IobXNnID8/IGByZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUgd2l0aCB2YWx1ZSAke25ldmVyfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0Tm9uTnVsbDxUPih2YWx1ZT86IFQsIG1zZz86IHN0cmluZyk6IE5vbk51bGxhYmxlPFQ+IHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihtc2cgPz8gXCJleHBlY3RlZCB2YWx1ZSB0byBiZSBkZWZpbmVkIGFuZCBub3QgbnVsbC5cIik7XG4gIH1cbiAgcmV0dXJuIHZhbHVlITtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vdDxULCBVIGV4dGVuZHMgVD4oXG4gIGY6IChhOiBUKSA9PiBhIGlzIFVcbik6IChhOiBUKSA9PiBhIGlzIEV4Y2x1ZGU8VCwgVT4ge1xuICByZXR1cm4gKChhOiBhbnkpID0+ICFmKGEpKSBhcyBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcjxGIGV4dGVuZHMgKChhOiBhbnkpID0+IGEgaXMgYW55KVtdPihcbiAgLi4uY29uZGl0aW9uczogRlxuKTogKGE6IGFueSkgPT4gYSBpcyBGW251bWJlcl0gZXh0ZW5kcyAoYTogYW55KSA9PiBhIGlzIGluZmVyIFQgPyBUIDogbmV2ZXIge1xuICByZXR1cm4gKChhOiBhbnkpID0+IGNvbmRpdGlvbnMuc29tZSgoY29uZCkgPT4gY29uZChhKSkpIGFzIGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZHNFcnJvcihlcnI6IHVua25vd24pOiBlcnIgaXMgRXJyb3Ige1xuICByZXR1cm4gKFxuICAgICEhZXJyICYmXG4gICAgdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJlxuICAgIChlcnIgaW5zdGFuY2VvZiBFcnJvciB8fFxuICAgICAgKFwicHJvdG90eXBlXCIgaW4gZXJyICYmXG4gICAgICAgICEhZXJyLnByb3RvdHlwZSAmJlxuICAgICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChlcnIucHJvdG90eXBlLCBFcnJvcikpKVxuICApO1xufVxuIl19 | ||
export function iterator(elms, predicate) { | ||
let cursor = 0; | ||
return { | ||
hasNext: () => { | ||
seek(); | ||
return cursor < elms.length; | ||
}, | ||
next: () => { | ||
seek(); | ||
return elms[cursor++]; | ||
}, | ||
drain: () => { | ||
const events = predicate | ||
? elms.slice(cursor).filter(predicate) | ||
: elms.slice(cursor); | ||
cursor = elms.length; | ||
return events; | ||
}, | ||
size: () => { | ||
return predicate | ||
? elms.filter(predicate).length - cursor | ||
: elms.length - cursor; | ||
}, | ||
}; | ||
function seek() { | ||
if (predicate) { | ||
while (cursor < elms.length) { | ||
if (predicate(elms[cursor])) { | ||
return; | ||
} | ||
cursor++; | ||
} | ||
} | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBWSxFQUFFLEdBQVk7SUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksdUNBQXVDLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUksS0FBUyxFQUFFLEdBQVk7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLDRDQUE0QyxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLEtBQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FDakIsQ0FBbUI7SUFFbkIsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsRUFBRSxDQUNoQixHQUFHLFVBQWE7SUFFaEIsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVk7SUFDdkMsT0FBTyxDQUNMLENBQUMsQ0FBQyxHQUFHO1FBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixDQUFDLEdBQUcsWUFBWSxLQUFLO1lBQ25CLENBQUMsV0FBVyxJQUFJLEdBQUc7Z0JBQ2pCLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUztnQkFDZixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBU0QsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsSUFBUyxFQUNULFNBQWdDO0lBRWhDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLE9BQU87UUFDTCxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ1osSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBTSxFQUFFO1lBQ1osSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBTSxDQUFDO1FBQzdCLENBQUM7UUFDRCxLQUFLLEVBQUUsR0FBUSxFQUFFO1lBQ2YsTUFBTSxNQUFNLEdBQUcsU0FBUztnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDdEMsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFTLENBQUM7WUFDaEMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDckIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksRUFBRSxHQUFXLEVBQUU7WUFDakIsT0FBTyxTQUFTO2dCQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNO2dCQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDM0IsQ0FBQztLQUNGLENBQUM7SUFFRixTQUFTLElBQUk7UUFDWCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzNCLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQyxFQUFFO29CQUM1QixPQUFPO2lCQUNSO2dCQUNELE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRjtJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5ldmVyKG5ldmVyOiBuZXZlciwgbXNnPzogc3RyaW5nKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IobXNnID8/IGByZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUgd2l0aCB2YWx1ZSAke25ldmVyfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0Tm9uTnVsbDxUPih2YWx1ZT86IFQsIG1zZz86IHN0cmluZyk6IE5vbk51bGxhYmxlPFQ+IHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihtc2cgPz8gXCJleHBlY3RlZCB2YWx1ZSB0byBiZSBkZWZpbmVkIGFuZCBub3QgbnVsbC5cIik7XG4gIH1cbiAgcmV0dXJuIHZhbHVlITtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vdDxULCBVIGV4dGVuZHMgVD4oXG4gIGY6IChhOiBUKSA9PiBhIGlzIFVcbik6IChhOiBUKSA9PiBhIGlzIEV4Y2x1ZGU8VCwgVT4ge1xuICByZXR1cm4gKChhOiBhbnkpID0+ICFmKGEpKSBhcyBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcjxGIGV4dGVuZHMgKChhOiBhbnkpID0+IGEgaXMgYW55KVtdPihcbiAgLi4uY29uZGl0aW9uczogRlxuKTogKGE6IGFueSkgPT4gYSBpcyBGW251bWJlcl0gZXh0ZW5kcyAoYTogYW55KSA9PiBhIGlzIGluZmVyIFQgPyBUIDogbmV2ZXIge1xuICByZXR1cm4gKChhOiBhbnkpID0+IGNvbmRpdGlvbnMuc29tZSgoY29uZCkgPT4gY29uZChhKSkpIGFzIGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZHNFcnJvcihlcnI6IHVua25vd24pOiBlcnIgaXMgRXJyb3Ige1xuICByZXR1cm4gKFxuICAgICEhZXJyICYmXG4gICAgdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJlxuICAgIChlcnIgaW5zdGFuY2VvZiBFcnJvciB8fFxuICAgICAgKFwicHJvdG90eXBlXCIgaW4gZXJyICYmXG4gICAgICAgICEhZXJyLnByb3RvdHlwZSAmJlxuICAgICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChlcnIucHJvdG90eXBlLCBFcnJvcikpKVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIF9JdGVyYXRvcjxJLCBUIGV4dGVuZHMgST4ge1xuICBoYXNOZXh0KCk6IGJvb2xlYW47XG4gIG5leHQoKTogVCB8IHVuZGVmaW5lZDtcbiAgZHJhaW4oKTogVFtdO1xuICBzaXplKCk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGl0ZXJhdG9yPEksIFQgZXh0ZW5kcyBJPihcbiAgZWxtczogSVtdLFxuICBwcmVkaWNhdGU/OiAoZWxtOiBJKSA9PiBlbG0gaXMgVFxuKTogX0l0ZXJhdG9yPEksIFQ+IHtcbiAgbGV0IGN1cnNvciA9IDA7XG4gIHJldHVybiB7XG4gICAgaGFzTmV4dDogKCkgPT4ge1xuICAgICAgc2VlaygpO1xuICAgICAgcmV0dXJuIGN1cnNvciA8IGVsbXMubGVuZ3RoO1xuICAgIH0sXG4gICAgbmV4dDogKCk6IFQgPT4ge1xuICAgICAgc2VlaygpO1xuICAgICAgcmV0dXJuIGVsbXNbY3Vyc29yKytdIGFzIFQ7XG4gICAgfSxcbiAgICBkcmFpbjogKCk6IFRbXSA9PiB7XG4gICAgICBjb25zdCBldmVudHMgPSBwcmVkaWNhdGVcbiAgICAgICAgPyBlbG1zLnNsaWNlKGN1cnNvcikuZmlsdGVyKHByZWRpY2F0ZSlcbiAgICAgICAgOiAoZWxtcy5zbGljZShjdXJzb3IpIGFzIFRbXSk7XG4gICAgICBjdXJzb3IgPSBlbG1zLmxlbmd0aDtcbiAgICAgIHJldHVybiBldmVudHM7XG4gICAgfSxcbiAgICBzaXplOiAoKTogbnVtYmVyID0+IHtcbiAgICAgIHJldHVybiBwcmVkaWNhdGVcbiAgICAgICAgPyBlbG1zLmZpbHRlcihwcmVkaWNhdGUpLmxlbmd0aCAtIGN1cnNvclxuICAgICAgICA6IGVsbXMubGVuZ3RoIC0gY3Vyc29yO1xuICAgIH0sXG4gIH07XG5cbiAgZnVuY3Rpb24gc2VlaygpIHtcbiAgICBpZiAocHJlZGljYXRlKSB7XG4gICAgICB3aGlsZSAoY3Vyc29yIDwgZWxtcy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHByZWRpY2F0ZShlbG1zW2N1cnNvcl0hKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjdXJzb3IrKztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== |
@@ -54,3 +54,4 @@ import { ExecutionContext } from "./context.js"; | ||
*/ | ||
export type HistoryStateEvent = HistoryEvent | WorkflowStarted; | ||
export type HistoryStateEvent = HistoryEvent | WorkflowStarted | WorkflowSucceeded | WorkflowFailed; | ||
export declare function isHistoryStateEvent(event: WorkflowEvent): event is HistoryStateEvent; | ||
export interface WorkflowStarted extends BaseEvent { | ||
@@ -144,3 +145,3 @@ type: WorkflowEventType.WorkflowStarted; | ||
export declare function isSleepCompleted(event: WorkflowEvent): event is SleepCompleted; | ||
export declare const isWorkflowCompleted: (a: any) => a is WorkflowSucceeded | WorkflowFailed; | ||
export declare const isWorkflowCompletedEvent: (a: any) => a is WorkflowSucceeded | WorkflowFailed; | ||
export interface ExpectSignalStarted extends HistoryEventBase { | ||
@@ -147,0 +148,0 @@ type: WorkflowEventType.ExpectSignalStarted; |
@@ -36,2 +36,8 @@ import { ulid } from "ulidx"; | ||
} | ||
export function isHistoryStateEvent(event) { | ||
return (isHistoryEvent(event) || | ||
isWorkflowStarted(event) || | ||
isWorkflowSucceeded(event) || | ||
isWorkflowFailed(event)); | ||
} | ||
export function isWorkflowStarted(event) { | ||
@@ -79,3 +85,3 @@ return event.type === WorkflowEventType.WorkflowStarted; | ||
} | ||
export const isWorkflowCompleted = or(isWorkflowSucceeded, isWorkflowFailed); | ||
export const isWorkflowCompletedEvent = or(isWorkflowFailed, isWorkflowSucceeded); | ||
export function isExpectSignalStarted(event) { | ||
@@ -156,2 +162,2 @@ return event.type === WorkflowEventType.ExpectSignalStarted; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmtmbG93LWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRzdCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFlL0IsTUFBTSxDQUFOLElBQVksaUJBd0JYO0FBeEJELFdBQVksaUJBQWlCO0lBQzNCLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLDRFQUF1RCxDQUFBO0lBQ3ZELDREQUF1QyxDQUFBO0lBQ3ZDLDBEQUFxQyxDQUFBO0lBQ3JDLHNFQUFpRCxDQUFBO0lBQ2pELGdFQUEyQyxDQUFBO0lBQzNDLHNFQUFpRCxDQUFBO0lBQ2pELDBEQUFxQyxDQUFBO0lBQ3JDLDREQUF1QyxDQUFBO0lBQ3ZDLHdEQUFtQyxDQUFBO0lBQ25DLGdFQUEyQyxDQUFBO0lBQzNDLGtFQUE2QyxDQUFBO0lBQzdDLHNEQUFpQyxDQUFBO0lBQ2pDLDhDQUF5QixDQUFBO0lBQ3pCLHNEQUFpQyxDQUFBO0lBQ2pDLHNEQUFpQyxDQUFBO0lBQ2pDLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLHdEQUFtQyxDQUFBO0lBQ25DLGtFQUE2QyxDQUFBO0lBQzdDLDhEQUF5QyxDQUFBO0lBQ3pDLDBEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUF4QlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQXdCNUI7QUE2Q0QsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFvQjtJQUNqRCxPQUFPLENBQ0wsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDcEIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUN2QixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFvRkQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsZUFBZSxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDO0FBQ3BFLENBQUM7QUFPRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7QUFDekQsQ0FBQztBQU9ELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsY0FBYyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQztBQUNqRSxDQUFDO0FBQ0QsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsc0JBQXNCLENBQUM7QUFDakUsQ0FBQztBQUNELE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBbUI3RSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsb0JBQW9CLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztBQUN6RCxDQUFDO0FBU0QsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFvQjtJQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDO0FBQ3JELENBQUM7QUFPRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7QUFDMUQsQ0FBQztBQU1ELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0FBQzNELENBQUM7QUFNRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEtBQW9CO0lBRXBCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztBQUM1RCxDQUFDO0FBVUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxLQUFvQjtJQUVwQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsS0FBb0I7SUFFcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQ2hDLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLGdCQUFnQixDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUNoQyxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLGdCQUFnQixDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FDN0IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsa0JBQWtCLENBQ25CLENBQUM7QUFFRixNQUFNLFVBQVUsZUFBZSxDQUM3QixLQUFVLEVBQ1YsSUFBZTtJQUVmLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFvQjtJQUM3QyxJQUNFLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDMUI7UUFDQSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDckM7U0FBTTtRQUNMLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztLQUNqQjtBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsWUFBaUIsRUFDakIsTUFBVztJQUVYLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUM3QixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUlELE1BQU0sVUFBVSxXQUFXLENBQ3pCLEtBQXlCLEVBQ3pCLElBQVUsRUFDVixLQUFhLElBQUksRUFBRTtJQUVuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFckMsaURBQWlEO0lBQ2pELElBQ0UsY0FBYyxDQUFDLEtBQWlDLENBQUM7UUFDakQsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFpQyxDQUFDLEVBQ3BEO1FBQ0EsT0FBTyxFQUFFLEdBQUksS0FBYSxFQUFFLFNBQVMsRUFBRSxDQUFDO0tBQ3pDO0lBRUQsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQU8sQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdWxpZCB9IGZyb20gXCJ1bGlkeFwiO1xuaW1wb3J0IHsgRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcbmltcG9ydCB7IEV2ZW50RW52ZWxvcGUgfSBmcm9tIFwiLi9ldmVudC5qc1wiO1xuaW1wb3J0IHsgb3IgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBmaWVsZHMgZm9yIGV2ZW50cyB0aGF0IHtAbGluayBFdmVudHVhbH0gYWN0aXZlcyB3aXRoIGluIG9yZGVyIHNlbWFudGljcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXN0b3J5RXZlbnRCYXNlIGV4dGVuZHMgT21pdDxCYXNlRXZlbnQsIFwiaWRcIj4ge1xuICBzZXE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gV29ya2Zsb3dFdmVudFR5cGUge1xuICBBY3Rpdml0eVN1Y2NlZWRlZCA9IFwiQWN0aXZpdHlTdWNjZWVkZWRcIixcbiAgQWN0aXZpdHlGYWlsZWQgPSBcIkFjdGl2aXR5RmFpbGVkXCIsXG4gIEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQgPSBcIkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXRcIixcbiAgQWN0aXZpdHlTY2hlZHVsZWQgPSBcIkFjdGl2aXR5U2NoZWR1bGVkXCIsXG4gIEFjdGl2aXR5VGltZWRPdXQgPSBcIkFjdGl2aXR5VGltZWRPdXRcIixcbiAgQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCA9IFwiQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZFwiLFxuICBDaGlsZFdvcmtmbG93RmFpbGVkID0gXCJDaGlsZFdvcmtmbG93RmFpbGVkXCIsXG4gIENoaWxkV29ya2Zsb3dTY2hlZHVsZWQgPSBcIkNoaWxkV29ya2Zsb3dTY2hlZHVsZWRcIixcbiAgQ29uZGl0aW9uU3RhcnRlZCA9IFwiQ29uZGl0aW9uU3RhcnRlZFwiLFxuICBDb25kaXRpb25UaW1lZE91dCA9IFwiQ29uZGl0aW9uVGltZWRPdXRcIixcbiAgRXZlbnRzUHVibGlzaGVkID0gXCJFdmVudHNQdWJsaXNoZWRcIixcbiAgRXhwZWN0U2lnbmFsU3RhcnRlZCA9IFwiRXhwZWN0U2lnbmFsU3RhcnRlZFwiLFxuICBFeHBlY3RTaWduYWxUaW1lZE91dCA9IFwiRXhwZWN0U2lnbmFsVGltZWRPdXRcIixcbiAgU2lnbmFsUmVjZWl2ZWQgPSBcIlNpZ25hbFJlY2VpdmVkXCIsXG4gIFNpZ25hbFNlbnQgPSBcIlNpZ25hbFNlbnRcIixcbiAgU2xlZXBDb21wbGV0ZWQgPSBcIlNsZWVwQ29tcGxldGVkXCIsXG4gIFNsZWVwU2NoZWR1bGVkID0gXCJTbGVlcFNjaGVkdWxlZFwiLFxuICBXb3JrZmxvd1N1Y2NlZWRlZCA9IFwiV29ya2Zsb3dTdWNjZWVkZWRcIixcbiAgV29ya2Zsb3dGYWlsZWQgPSBcIldvcmtmbG93RmFpbGVkXCIsXG4gIFdvcmtmbG93U3RhcnRlZCA9IFwiV29ya2Zsb3dTdGFydGVkXCIsXG4gIFdvcmtmbG93UnVuQ29tcGxldGVkID0gXCJXb3JrZmxvd1J1bkNvbXBsZXRlZFwiLFxuICBXb3JrZmxvd1J1blN0YXJ0ZWQgPSBcIldvcmtmbG93UnVuU3RhcnRlZFwiLFxuICBXb3JrZmxvd1RpbWVkT3V0ID0gXCJXb3JrZmxvd1RpbWVkT3V0XCIsXG59XG5cbi8qKlxuICogRXZlbnRzIGdlbmVyYXRlZCBieSB0aGUgZW5naW5lIHRoYXQgcmVwcmVzZW50IHRoZSBpbi1vcmRlciBzdGF0ZSBvZiB0aGUgd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCB0eXBlIFdvcmtmbG93RXZlbnQgPVxuICB8IEhpc3RvcnlFdmVudFxuICB8IFdvcmtmbG93UnVuQ29tcGxldGVkXG4gIHwgV29ya2Zsb3dSdW5TdGFydGVkXG4gIHwgV29ya2Zsb3dTdWNjZWVkZWRcbiAgfCBXb3JrZmxvd0ZhaWxlZFxuICB8IFdvcmtmbG93U3RhcnRlZDtcblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVkRXZlbnQgPVxuICB8IEFjdGl2aXR5U2NoZWR1bGVkXG4gIHwgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZFxuICB8IENvbmRpdGlvblN0YXJ0ZWRcbiAgfCBFdmVudHNQdWJsaXNoZWRcbiAgfCBFeHBlY3RTaWduYWxTdGFydGVkXG4gIHwgU2lnbmFsU2VudFxuICB8IFNsZWVwU2NoZWR1bGVkO1xuXG5leHBvcnQgdHlwZSBTdWNjZWVkZWRFdmVudCA9XG4gIHwgQWN0aXZpdHlTdWNjZWVkZWRcbiAgfCBDaGlsZFdvcmtmbG93U3VjY2VlZGVkXG4gIHwgU2xlZXBDb21wbGV0ZWQ7XG5cbmV4cG9ydCB0eXBlIEZhaWxlZEV2ZW50ID1cbiAgfCBBY3Rpdml0eUZhaWxlZFxuICB8IEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXRcbiAgfCBBY3Rpdml0eVRpbWVkT3V0XG4gIHwgQ2hpbGRXb3JrZmxvd0ZhaWxlZFxuICB8IENvbmRpdGlvblRpbWVkT3V0XG4gIHwgRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG5cbi8qKlxuICogRXZlbnRzIHVzZWQgYnkgdGhlIHdvcmtmbG93IHRvIHJlcGxheSBhbiBleGVjdXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEhpc3RvcnlFdmVudCA9XG4gIHwgU3VjY2VlZGVkRXZlbnRcbiAgfCBGYWlsZWRFdmVudFxuICB8IFNjaGVkdWxlZEV2ZW50XG4gIHwgU2lnbmFsUmVjZWl2ZWRcbiAgfCBXb3JrZmxvd1RpbWVkT3V0O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIaXN0b3J5RXZlbnQoZXZlbnQ6IFdvcmtmbG93RXZlbnQpOiBldmVudCBpcyBIaXN0b3J5RXZlbnQge1xuICByZXR1cm4gKFxuICAgIGlzU3VjY2VlZGVkRXZlbnQoZXZlbnQpIHx8XG4gICAgaXNGYWlsZWRFdmVudChldmVudCkgfHxcbiAgICBpc1NjaGVkdWxlZEV2ZW50KGV2ZW50KSB8fFxuICAgIGlzU2lnbmFsUmVjZWl2ZWQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1RpbWVkT3V0KGV2ZW50KVxuICApO1xufVxuXG4vKipcbiAqIEV2ZW50cyB0aGF0IHdlIHNhdmUgaW50byBoaXN0b3J5LlxuICovXG5leHBvcnQgdHlwZSBIaXN0b3J5U3RhdGVFdmVudCA9IEhpc3RvcnlFdmVudCB8IFdvcmtmbG93U3RhcnRlZDtcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1N0YXJ0ZWQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1N0YXJ0ZWQ7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB3b3JrZmxvdyB0byBleGVjdXRlLlxuICAgKi9cbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbnB1dCBwYXlsb2FkIGZvciB0aGUgd29ya2Zsb3cgZnVuY3Rpb24uXG4gICAqL1xuICBpbnB1dD86IGFueTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIElTTyB0aW1lc3RhbXAgYWZ0ZXIgd2hpY2ggdGhlIHdvcmtmbG93IHNob3VsZCB0aW1lb3V0LlxuICAgKi9cbiAgdGltZW91dFRpbWU/OiBzdHJpbmc7XG4gIGNvbnRleHQ6IE9taXQ8RXhlY3V0aW9uQ29udGV4dCwgXCJpZFwiIHwgXCJzdGFydFRpbWVcIj47XG59XG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93UnVuU3RhcnRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93UnVuU3RhcnRlZDtcbiAgLyoqXG4gICAqIEFuIGV4ZWN1dGlvbiBJRCBvZiB0aGUgcGFyZW50IHdvcmtmbG93IGV4ZWN1dGlvbiB0aGF0XG4gICAqIHN0YXJ0ZWQgdGhpcyB3b3JrZmxvdyBpZiB0aGlzIGlzIGEgY2hpbGQgd29ya2Zsb3cuXG4gICAqL1xuICBwYXJlbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlTY2hlZHVsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTY2hlZHVsZWQ7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eVN1Y2NlZWRlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVN1Y2NlZWRlZDtcbiAgcmVzdWx0OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlGYWlsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlGYWlsZWQ7XG4gIGVycm9yOiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93UnVuQ29tcGxldGVkIGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5Db21wbGV0ZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dTdWNjZWVkZWQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1N1Y2NlZWRlZDtcbiAgb3V0cHV0OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dGYWlsZWQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd0ZhaWxlZDtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkV29ya2Zsb3dTY2hlZHVsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZDtcbiAgbmFtZTogc3RyaW5nO1xuICBpbnB1dD86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGlsZFdvcmtmbG93U3VjY2VlZGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTdWNjZWVkZWQ7XG4gIHJlc3VsdDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkV29ya2Zsb3dGYWlsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd0ZhaWxlZDtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd1N0YXJ0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBXb3JrZmxvd1N0YXJ0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dTdGFydGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd1J1blN0YXJ0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBXb3JrZmxvd1J1blN0YXJ0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5TdGFydGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpdml0eVNjaGVkdWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEFjdGl2aXR5U2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U2NoZWR1bGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpdml0eVN1Y2NlZWRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEFjdGl2aXR5U3VjY2VlZGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U3VjY2VlZGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpdml0eUZhaWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEFjdGl2aXR5RmFpbGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5RmFpbGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0KFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsZWVwU2NoZWR1bGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwU2NoZWR1bGVkO1xuICB1bnRpbFRpbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2xlZXBTY2hlZHVsZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBTbGVlcFNjaGVkdWxlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcFNjaGVkdWxlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGVlcENvbXBsZXRlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcENvbXBsZXRlZDtcbiAgcmVzdWx0PzogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd1J1bkNvbXBsZXRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93UnVuQ29tcGxldGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93UnVuQ29tcGxldGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd1N1Y2NlZWRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93U3VjY2VlZGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3VjY2VlZGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd0ZhaWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93RmFpbGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93RmFpbGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFdvcmtmbG93U2NoZWR1bGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U2NoZWR1bGVkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENoaWxkV29ya2Zsb3dTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0NoaWxkV29ya2Zsb3dGYWlsZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDaGlsZFdvcmtmbG93RmFpbGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NsZWVwQ29tcGxldGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgU2xlZXBDb21wbGV0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuU2xlZXBDb21wbGV0ZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBpc1dvcmtmbG93Q29tcGxldGVkID0gb3IoaXNXb3JrZmxvd1N1Y2NlZWRlZCwgaXNXb3JrZmxvd0ZhaWxlZCk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwZWN0U2lnbmFsU3RhcnRlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FeHBlY3RTaWduYWxTdGFydGVkO1xuICBzaWduYWxJZDogc3RyaW5nO1xuICB0aW1lb3V0U2Vjb25kcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBlY3RTaWduYWxUaW1lZE91dCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FeHBlY3RTaWduYWxUaW1lZE91dDtcbiAgc2lnbmFsSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxSZWNlaXZlZDxQYXlsb2FkID0gYW55PiBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNpZ25hbFJlY2VpdmVkO1xuICBzaWduYWxJZDogc3RyaW5nO1xuICBwYXlsb2FkPzogUGF5bG9hZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXhwZWN0U2lnbmFsU3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEV4cGVjdFNpZ25hbFN0YXJ0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsU3RhcnRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXhwZWN0U2lnbmFsVGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBFeHBlY3RTaWduYWxUaW1lZE91dCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5FeHBlY3RTaWduYWxUaW1lZE91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2lnbmFsUmVjZWl2ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBTaWduYWxSZWNlaXZlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxSZWNlaXZlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxTZW50IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNpZ25hbFNlbnQ7XG4gIHBheWxvYWQ/OiBhbnk7XG4gIHNpZ25hbElkOiBzdHJpbmc7XG4gIGV4ZWN1dGlvbklkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NpZ25hbFNlbnQoZXZlbnQ6IFdvcmtmbG93RXZlbnQpOiBldmVudCBpcyBTaWduYWxTZW50IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLlNpZ25hbFNlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRzUHVibGlzaGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkV2ZW50c1B1Ymxpc2hlZDtcbiAgZXZlbnRzOiBFdmVudEVudmVsb3BlW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V2ZW50c1B1Ymxpc2hlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEV2ZW50c1B1Ymxpc2hlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5FdmVudHNQdWJsaXNoZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uU3RhcnRlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25TdGFydGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25kaXRpb25TdGFydGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQ29uZGl0aW9uU3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25TdGFydGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvblRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblRpbWVkT3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25kaXRpb25UaW1lZE91dChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENvbmRpdGlvblRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkNvbmRpdGlvblRpbWVkT3V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5VGltZWRPdXQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlUaW1lZE91dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1RpbWVkT3V0IGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dUaW1lZE91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aXZpdHlUaW1lZE91dChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIEFjdGl2aXR5VGltZWRPdXQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlUaW1lZE91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV29ya2Zsb3dUaW1lZE91dChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93VGltZWRPdXQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dUaW1lZE91dDtcbn1cblxuZXhwb3J0IGNvbnN0IGlzU2NoZWR1bGVkRXZlbnQgPSBvcihcbiAgaXNBY3Rpdml0eVNjaGVkdWxlZCxcbiAgaXNDaGlsZFdvcmtmbG93U2NoZWR1bGVkLFxuICBpc0NvbmRpdGlvblN0YXJ0ZWQsXG4gIGlzRXZlbnRzUHVibGlzaGVkLFxuICBpc0V4cGVjdFNpZ25hbFN0YXJ0ZWQsXG4gIGlzU2lnbmFsU2VudCxcbiAgaXNTbGVlcFNjaGVkdWxlZFxuKTtcblxuZXhwb3J0IGNvbnN0IGlzU3VjY2VlZGVkRXZlbnQgPSBvcihcbiAgaXNBY3Rpdml0eVN1Y2NlZWRlZCxcbiAgaXNDaGlsZFdvcmtmbG93U3VjY2VlZGVkLFxuICBpc1NsZWVwQ29tcGxldGVkXG4pO1xuXG5leHBvcnQgY29uc3QgaXNGYWlsZWRFdmVudCA9IG9yKFxuICBpc0FjdGl2aXR5RmFpbGVkLFxuICBpc0FjdGl2aXR5VGltZWRPdXQsXG4gIGlzQWN0aXZpdHlIZWFydGJlYXRUaW1lZE91dCxcbiAgaXNDaGlsZFdvcmtmbG93RmFpbGVkLFxuICBpc0NvbmRpdGlvblRpbWVkT3V0LFxuICBpc0V4cGVjdFNpZ25hbFRpbWVkT3V0LFxuICBpc1dvcmtmbG93VGltZWRPdXRcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRFdmVudFR5cGU8VCBleHRlbmRzIFdvcmtmbG93RXZlbnQ+KFxuICBldmVudDogYW55LFxuICB0eXBlOiBUW1widHlwZVwiXVxuKTogYXNzZXJ0cyBldmVudCBpcyBUIHtcbiAgaWYgKCFldmVudCB8fCBldmVudC50eXBlICE9PSB0eXBlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBldmVudCBvZiB0eXBlICR7dHlwZX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbXB1dGUgdGhlIElEIG9mIGFuIGV2ZW50LlxuICpcbiAqIFNvbWUgZXZlbnRzIGhhdmUgYSBjb21wdXRlZCBJRCB0byBzYXZlIHNwYWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXZlbnRJZChldmVudDogV29ya2Zsb3dFdmVudCk6IHN0cmluZyB7XG4gIGlmIChcbiAgICBpc0hpc3RvcnlFdmVudChldmVudCkgJiZcbiAgICAhaXNTaWduYWxSZWNlaXZlZChldmVudCkgJiZcbiAgICAhaXNXb3JrZmxvd1RpbWVkT3V0KGV2ZW50KVxuICApIHtcbiAgICByZXR1cm4gYCR7ZXZlbnQuc2VxfV8ke2V2ZW50LnR5cGV9YDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZXZlbnQuaWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBGaWx0ZXJzIG91dCBldmVudHMgdGhhdCBhcmUgYWxzbyBwcmVzZW50IGluIG9yaWdpbiBldmVudHMuXG4gKlxuICogRXZlbnRzIGFyZSB0YWtlbiBvbmx5IGlmIHRoZWlyIElEICh7QGxpbmsgZ2V0RXZlbnRJZH0pIGlzIHVuaXF1ZSBhY3Jvc3MgYWxsIG90aGVyIGV2ZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckV2ZW50czxUIGV4dGVuZHMgV29ya2Zsb3dFdmVudD4oXG4gIG9yaWdpbkV2ZW50czogVFtdLFxuICBldmVudHM6IFRbXVxuKTogVFtdIHtcbiAgY29uc3QgaWRzID0gbmV3IFNldChvcmlnaW5FdmVudHMubWFwKGdldEV2ZW50SWQpKTtcblxuICByZXR1cm4gZXZlbnRzLmZpbHRlcigoZXZlbnQpID0+IHtcbiAgICBjb25zdCBpZCA9IGdldEV2ZW50SWQoZXZlbnQpO1xuICAgIGlmIChpZHMuaGFzKGlkKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZHMuYWRkKGlkKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG59XG5cbnR5cGUgVW5yZXNvbHZlZEV2ZW50PFQgZXh0ZW5kcyBXb3JrZmxvd0V2ZW50PiA9IE9taXQ8VCwgXCJpZFwiIHwgXCJ0aW1lc3RhbXBcIj47XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudDxUIGV4dGVuZHMgV29ya2Zsb3dFdmVudD4oXG4gIGV2ZW50OiBVbnJlc29sdmVkRXZlbnQ8VD4sXG4gIHRpbWU6IERhdGUsXG4gIGlkOiBzdHJpbmcgPSB1bGlkKClcbik6IFQge1xuICBjb25zdCB0aW1lc3RhbXAgPSB0aW1lLnRvSVNPU3RyaW5nKCk7XG5cbiAgLy8gaGlzdG9yeSBldmVudHMgZG8gbm90IGhhdmUgSURzLCB1c2UgZ2V0RXZlbnRJZFxuICBpZiAoXG4gICAgaXNIaXN0b3J5RXZlbnQoZXZlbnQgYXMgdW5rbm93biBhcyBXb3JrZmxvd0V2ZW50KSAmJlxuICAgICFpc1NpZ25hbFJlY2VpdmVkKGV2ZW50IGFzIHVua25vd24gYXMgV29ya2Zsb3dFdmVudClcbiAgKSB7XG4gICAgcmV0dXJuIHsgLi4uKGV2ZW50IGFzIGFueSksIHRpbWVzdGFtcCB9O1xuICB9XG5cbiAgcmV0dXJuIHsgLi4uZXZlbnQsIGlkLCB0aW1lc3RhbXAgfSBhcyBUO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmtmbG93LWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRzdCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFlL0IsTUFBTSxDQUFOLElBQVksaUJBd0JYO0FBeEJELFdBQVksaUJBQWlCO0lBQzNCLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLDRFQUF1RCxDQUFBO0lBQ3ZELDREQUF1QyxDQUFBO0lBQ3ZDLDBEQUFxQyxDQUFBO0lBQ3JDLHNFQUFpRCxDQUFBO0lBQ2pELGdFQUEyQyxDQUFBO0lBQzNDLHNFQUFpRCxDQUFBO0lBQ2pELDBEQUFxQyxDQUFBO0lBQ3JDLDREQUF1QyxDQUFBO0lBQ3ZDLHdEQUFtQyxDQUFBO0lBQ25DLGdFQUEyQyxDQUFBO0lBQzNDLGtFQUE2QyxDQUFBO0lBQzdDLHNEQUFpQyxDQUFBO0lBQ2pDLDhDQUF5QixDQUFBO0lBQ3pCLHNEQUFpQyxDQUFBO0lBQ2pDLHNEQUFpQyxDQUFBO0lBQ2pDLDREQUF1QyxDQUFBO0lBQ3ZDLHNEQUFpQyxDQUFBO0lBQ2pDLHdEQUFtQyxDQUFBO0lBQ25DLGtFQUE2QyxDQUFBO0lBQzdDLDhEQUF5QyxDQUFBO0lBQ3pDLDBEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUF4QlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQXdCNUI7QUE2Q0QsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFvQjtJQUNqRCxPQUFPLENBQ0wsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDcEIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUN2QixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUIsQ0FBQztB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QUFFO1lBQ2YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUlELE1BQU0sVUFBVSxXQUFXLENBQ3pCLEtBQXlCLEVBQ3pCLElBQVUsRUFDVixLQUFhLElBQUksRUFBRTtJQUVuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFckMsaURBQWlEO0lBQ2pELElBQ0UsY0FBYyxDQUFDLEtBQWlDLENBQUM7UUFDakQsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFpQyxDQUFDLEVBQ3BEO1FBQ0EsT0FBTyxFQUFFLEdBQUksS0FBYSxFQUFFLFNBQVMsRUFBRSxDQUFDO0tBQ3pDO0lBRUQsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQU8sQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdWxpZCB9IGZyb20gXCJ1bGlkeFwiO1xuaW1wb3J0IHsgRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcbmltcG9ydCB7IEV2ZW50RW52ZWxvcGUgfSBmcm9tIFwiLi9ldmVudC5qc1wiO1xuaW1wb3J0IHsgb3IgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBmaWVsZHMgZm9yIGV2ZW50cyB0aGF0IHtAbGluayBFdmVudHVhbH0gYWN0aXZlcyB3aXRoIGluIG9yZGVyIHNlbWFudGljcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXN0b3J5RXZlbnRCYXNlIGV4dGVuZHMgT21pdDxCYXNlRXZlbnQsIFwiaWRcIj4ge1xuICBzZXE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gV29ya2Zsb3dFdmVudFR5cGUge1xuICBBY3Rpdml0eVN1Y2NlZWRlZCA9IFwiQWN0aXZpdHlTdWNjZWVkZWRcIixcbiAgQWN0aXZpdHlGYWlsZWQgPSBcIkFjdGl2aXR5RmFpbGVkXCIsXG4gIEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQgPSBcIkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXRcIixcbiAgQWN0aXZpdHlTY2hlZHVsZWQgPSBcIkFjdGl2aXR5U2NoZWR1bGVkXCIsXG4gIEFjdGl2aXR5VGltZWRPdXQgPSBcIkFjdGl2aXR5VGltZWRPdXRcIixcbiAgQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCA9IFwiQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZFwiLFxuICBDaGlsZFdvcmtmbG93RmFpbGVkID0gXCJDaGlsZFdvcmtmbG93RmFpbGVkXCIsXG4gIENoaWxkV29ya2Zsb3dTY2hlZHVsZWQgPSBcIkNoaWxkV29ya2Zsb3dTY2hlZHVsZWRcIixcbiAgQ29uZGl0aW9uU3RhcnRlZCA9IFwiQ29uZGl0aW9uU3RhcnRlZFwiLFxuICBDb25kaXRpb25UaW1lZE91dCA9IFwiQ29uZGl0aW9uVGltZWRPdXRcIixcbiAgRXZlbnRzUHVibGlzaGVkID0gXCJFdmVudHNQdWJsaXNoZWRcIixcbiAgRXhwZWN0U2lnbmFsU3RhcnRlZCA9IFwiRXhwZWN0U2lnbmFsU3RhcnRlZFwiLFxuICBFeHBlY3RTaWduYWxUaW1lZE91dCA9IFwiRXhwZWN0U2lnbmFsVGltZWRPdXRcIixcbiAgU2lnbmFsUmVjZWl2ZWQgPSBcIlNpZ25hbFJlY2VpdmVkXCIsXG4gIFNpZ25hbFNlbnQgPSBcIlNpZ25hbFNlbnRcIixcbiAgU2xlZXBDb21wbGV0ZWQgPSBcIlNsZWVwQ29tcGxldGVkXCIsXG4gIFNsZWVwU2NoZWR1bGVkID0gXCJTbGVlcFNjaGVkdWxlZFwiLFxuICBXb3JrZmxvd1N1Y2NlZWRlZCA9IFwiV29ya2Zsb3dTdWNjZWVkZWRcIixcbiAgV29ya2Zsb3dGYWlsZWQgPSBcIldvcmtmbG93RmFpbGVkXCIsXG4gIFdvcmtmbG93U3RhcnRlZCA9IFwiV29ya2Zsb3dTdGFydGVkXCIsXG4gIFdvcmtmbG93UnVuQ29tcGxldGVkID0gXCJXb3JrZmxvd1J1bkNvbXBsZXRlZFwiLFxuICBXb3JrZmxvd1J1blN0YXJ0ZWQgPSBcIldvcmtmbG93UnVuU3RhcnRlZFwiLFxuICBXb3JrZmxvd1RpbWVkT3V0ID0gXCJXb3JrZmxvd1RpbWVkT3V0XCIsXG59XG5cbi8qKlxuICogRXZlbnRzIGdlbmVyYXRlZCBieSB0aGUgZW5naW5lIHRoYXQgcmVwcmVzZW50IHRoZSBpbi1vcmRlciBzdGF0ZSBvZiB0aGUgd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCB0eXBlIFdvcmtmbG93RXZlbnQgPVxuICB8IEhpc3RvcnlFdmVudFxuICB8IFdvcmtmbG93UnVuQ29tcGxldGVkXG4gIHwgV29ya2Zsb3dSdW5TdGFydGVkXG4gIHwgV29ya2Zsb3dTdWNjZWVkZWRcbiAgfCBXb3JrZmxvd0ZhaWxlZFxuICB8IFdvcmtmbG93U3RhcnRlZDtcblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVkRXZlbnQgPVxuICB8IEFjdGl2aXR5U2NoZWR1bGVkXG4gIHwgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZFxuICB8IENvbmRpdGlvblN0YXJ0ZWRcbiAgfCBFdmVudHNQdWJsaXNoZWRcbiAgfCBFeHBlY3RTaWduYWxTdGFydGVkXG4gIHwgU2lnbmFsU2VudFxuICB8IFNsZWVwU2NoZWR1bGVkO1xuXG5leHBvcnQgdHlwZSBTdWNjZWVkZWRFdmVudCA9XG4gIHwgQWN0aXZpdHlTdWNjZWVkZWRcbiAgfCBDaGlsZFdvcmtmbG93U3VjY2VlZGVkXG4gIHwgU2xlZXBDb21wbGV0ZWQ7XG5cbmV4cG9ydCB0eXBlIEZhaWxlZEV2ZW50ID1cbiAgfCBBY3Rpdml0eUZhaWxlZFxuICB8IEFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXRcbiAgfCBBY3Rpdml0eVRpbWVkT3V0XG4gIHwgQ2hpbGRXb3JrZmxvd0ZhaWxlZFxuICB8IENvbmRpdGlvblRpbWVkT3V0XG4gIHwgRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG5cbi8qKlxuICogRXZlbnRzIHVzZWQgYnkgdGhlIHdvcmtmbG93IHRvIHJlcGxheSBhbiBleGVjdXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEhpc3RvcnlFdmVudCA9XG4gIHwgU3VjY2VlZGVkRXZlbnRcbiAgfCBGYWlsZWRFdmVudFxuICB8IFNjaGVkdWxlZEV2ZW50XG4gIHwgU2lnbmFsUmVjZWl2ZWRcbiAgfCBXb3JrZmxvd1RpbWVkT3V0O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIaXN0b3J5RXZlbnQoZXZlbnQ6IFdvcmtmbG93RXZlbnQpOiBldmVudCBpcyBIaXN0b3J5RXZlbnQge1xuICByZXR1cm4gKFxuICAgIGlzU3VjY2VlZGVkRXZlbnQoZXZlbnQpIHx8XG4gICAgaXNGYWlsZWRFdmVudChldmVudCkgfHxcbiAgICBpc1NjaGVkdWxlZEV2ZW50KGV2ZW50KSB8fFxuICAgIGlzU2lnbmFsUmVjZWl2ZWQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1RpbWVkT3V0KGV2ZW50KVxuICApO1xufVxuXG4vKipcbiAqIEV2ZW50cyB0aGF0IHdlIHNhdmUgaW50byBoaXN0b3J5LlxuICovXG5leHBvcnQgdHlwZSBIaXN0b3J5U3RhdGVFdmVudCA9XG4gIHwgSGlzdG9yeUV2ZW50XG4gIHwgV29ya2Zsb3dTdGFydGVkXG4gIHwgV29ya2Zsb3dTdWNjZWVkZWRcbiAgfCBXb3JrZmxvd0ZhaWxlZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGlzdG9yeVN0YXRlRXZlbnQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBIaXN0b3J5U3RhdGVFdmVudCB7XG4gIHJldHVybiAoXG4gICAgaXNIaXN0b3J5RXZlbnQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1N0YXJ0ZWQoZXZlbnQpIHx8XG4gICAgaXNXb3JrZmxvd1N1Y2NlZWRlZChldmVudCkgfHxcbiAgICBpc1dvcmtmbG93RmFpbGVkKGV2ZW50KVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93U3RhcnRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3RhcnRlZDtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtmbG93IHRvIGV4ZWN1dGUuXG4gICAqL1xuICB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIElucHV0IHBheWxvYWQgZm9yIHRoZSB3b3JrZmxvdyBmdW5jdGlvbi5cbiAgICovXG4gIGlucHV0PzogYW55O1xuICAvKipcbiAgICogT3B0aW9uYWwgSVNPIHRpbWVzdGFtcCBhZnRlciB3aGljaCB0aGUgd29ya2Zsb3cgc2hvdWxkIHRpbWVvdXQuXG4gICAqL1xuICB0aW1lb3V0VGltZT86IHN0cmluZztcbiAgY29udGV4dDogT21pdDxFeGVjdXRpb25Db250ZXh0LCBcImlkXCIgfCBcInN0YXJ0VGltZVwiPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dSdW5TdGFydGVkIGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5TdGFydGVkO1xuICAvKipcbiAgICogQW4gZXhlY3V0aW9uIElEIG9mIHRoZSBwYXJlbnQgd29ya2Zsb3cgZXhlY3V0aW9uIHRoYXRcbiAgICogc3RhcnRlZCB0aGlzIHdvcmtmbG93IGlmIHRoaXMgaXMgYSBjaGlsZCB3b3JrZmxvdy5cbiAgICovXG4gIHBhcmVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eVNjaGVkdWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eVNjaGVkdWxlZDtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5U3VjY2VlZGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5U3VjY2VlZGVkO1xuICByZXN1bHQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUZhaWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5BY3Rpdml0eUZhaWxlZDtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dSdW5Db21wbGV0ZWQgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1J1bkNvbXBsZXRlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1N1Y2NlZWRlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93U3VjY2VlZGVkO1xuICBvdXRwdXQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0ZhaWxlZCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93RmFpbGVkO1xuICBlcnJvcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U2NoZWR1bGVkO1xuICBuYW1lOiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkV29ya2Zsb3dTdWNjZWVkZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZDtcbiAgcmVzdWx0OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRXb3JrZmxvd0ZhaWxlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93RmFpbGVkO1xuICBlcnJvcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93U3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93U3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1N0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93UnVuU3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFdvcmtmbG93UnVuU3RhcnRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Xb3JrZmxvd1J1blN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5U2NoZWR1bGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlTY2hlZHVsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTY2hlZHVsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlTdWNjZWVkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5RmFpbGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQWN0aXZpdHlGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQWN0aXZpdHlGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBBY3Rpdml0eUhlYXJ0YmVhdFRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xlZXBTY2hlZHVsZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2xlZXBTY2hlZHVsZWQ7XG4gIHVudGlsVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTbGVlcFNjaGVkdWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIFNsZWVwU2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwU2NoZWR1bGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsZWVwQ29tcGxldGVkIGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkO1xuICByZXN1bHQ/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93UnVuQ29tcGxldGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dSdW5Db21wbGV0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dSdW5Db21wbGV0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dTdWNjZWVkZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dTdWNjZWVkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93RmFpbGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgV29ya2Zsb3dGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dGYWlsZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NoaWxkV29ya2Zsb3dTY2hlZHVsZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDaGlsZFdvcmtmbG93U2NoZWR1bGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkNoaWxkV29ya2Zsb3dTY2hlZHVsZWQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFdvcmtmbG93U3VjY2VlZGVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5DaGlsZFdvcmtmbG93U3VjY2VlZGVkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hpbGRXb3JrZmxvd0ZhaWxlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENoaWxkV29ya2Zsb3dGYWlsZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ2hpbGRXb3JrZmxvd0ZhaWxlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2xlZXBDb21wbGV0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBTbGVlcENvbXBsZXRlZCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TbGVlcENvbXBsZXRlZDtcbn1cblxuZXhwb3J0IGNvbnN0IGlzV29ya2Zsb3dDb21wbGV0ZWRFdmVudCA9IG9yKFxuICBpc1dvcmtmbG93RmFpbGVkLFxuICBpc1dvcmtmbG93U3VjY2VlZGVkXG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVjdFNpZ25hbFN0YXJ0ZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsU3RhcnRlZDtcbiAgc2lnbmFsSWQ6IHN0cmluZztcbiAgdGltZW91dFNlY29uZHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwZWN0U2lnbmFsVGltZWRPdXQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG4gIHNpZ25hbElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsUmVjZWl2ZWQ8UGF5bG9hZCA9IGFueT4gZXh0ZW5kcyBCYXNlRXZlbnQge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxSZWNlaXZlZDtcbiAgc2lnbmFsSWQ6IHN0cmluZztcbiAgcGF5bG9hZD86IFBheWxvYWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4cGVjdFNpZ25hbFN0YXJ0ZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBFeHBlY3RTaWduYWxTdGFydGVkIHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkV4cGVjdFNpZ25hbFN0YXJ0ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4cGVjdFNpZ25hbFRpbWVkT3V0KFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgRXhwZWN0U2lnbmFsVGltZWRPdXQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuRXhwZWN0U2lnbmFsVGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NpZ25hbFJlY2VpdmVkKFxuICBldmVudDogV29ya2Zsb3dFdmVudFxuKTogZXZlbnQgaXMgU2lnbmFsUmVjZWl2ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuU2lnbmFsUmVjZWl2ZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsU2VudCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxTZW50O1xuICBwYXlsb2FkPzogYW55O1xuICBzaWduYWxJZDogc3RyaW5nO1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaWduYWxTZW50KGV2ZW50OiBXb3JrZmxvd0V2ZW50KTogZXZlbnQgaXMgU2lnbmFsU2VudCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5TaWduYWxTZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50c1B1Ymxpc2hlZCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5FdmVudHNQdWJsaXNoZWQ7XG4gIGV2ZW50czogRXZlbnRFbnZlbG9wZVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudHNQdWJsaXNoZWQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBFdmVudHNQdWJsaXNoZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuRXZlbnRzUHVibGlzaGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvblN0YXJ0ZWQgZXh0ZW5kcyBIaXN0b3J5RXZlbnRCYXNlIHtcbiAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uU3RhcnRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZGl0aW9uU3RhcnRlZChcbiAgZXZlbnQ6IFdvcmtmbG93RXZlbnRcbik6IGV2ZW50IGlzIENvbmRpdGlvblN0YXJ0ZWQge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gV29ya2Zsb3dFdmVudFR5cGUuQ29uZGl0aW9uU3RhcnRlZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25UaW1lZE91dCBleHRlbmRzIEhpc3RvcnlFdmVudEJhc2Uge1xuICB0eXBlOiBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25UaW1lZE91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZGl0aW9uVGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBDb25kaXRpb25UaW1lZE91dCB7XG4gIHJldHVybiBldmVudC50eXBlID09PSBXb3JrZmxvd0V2ZW50VHlwZS5Db25kaXRpb25UaW1lZE91dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eVRpbWVkT3V0IGV4dGVuZHMgSGlzdG9yeUV2ZW50QmFzZSB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dUaW1lZE91dCBleHRlbmRzIEJhc2VFdmVudCB7XG4gIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGl2aXR5VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBBY3Rpdml0eVRpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLkFjdGl2aXR5VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtmbG93VGltZWRPdXQoXG4gIGV2ZW50OiBXb3JrZmxvd0V2ZW50XG4pOiBldmVudCBpcyBXb3JrZmxvd1RpbWVkT3V0IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IFdvcmtmbG93RXZlbnRUeXBlLldvcmtmbG93VGltZWRPdXQ7XG59XG5cbmV4cG9ydCBjb25zdCBpc1NjaGVkdWxlZEV2ZW50ID0gb3IoXG4gIGlzQWN0aXZpdHlTY2hlZHVsZWQsXG4gIGlzQ2hpbGRXb3JrZmxvd1NjaGVkdWxlZCxcbiAgaXNDb25kaXRpb25TdGFydGVkLFxuICBpc0V2ZW50c1B1Ymxpc2hlZCxcbiAgaXNFeHBlY3RTaWduYWxTdGFydGVkLFxuICBpc1NpZ25hbFNlbnQsXG4gIGlzU2xlZXBTY2hlZHVsZWRcbik7XG5cbmV4cG9ydCBjb25zdCBpc1N1Y2NlZWRlZEV2ZW50ID0gb3IoXG4gIGlzQWN0aXZpdHlTdWNjZWVkZWQsXG4gIGlzQ2hpbGRXb3JrZmxvd1N1Y2NlZWRlZCxcbiAgaXNTbGVlcENvbXBsZXRlZFxuKTtcblxuZXhwb3J0IGNvbnN0IGlzRmFpbGVkRXZlbnQgPSBvcihcbiAgaXNBY3Rpdml0eUZhaWxlZCxcbiAgaXNBY3Rpdml0eVRpbWVkT3V0LFxuICBpc0FjdGl2aXR5SGVhcnRiZWF0VGltZWRPdXQsXG4gIGlzQ2hpbGRXb3JrZmxvd0ZhaWxlZCxcbiAgaXNDb25kaXRpb25UaW1lZE91dCxcbiAgaXNFeHBlY3RTaWduYWxUaW1lZE91dCxcbiAgaXNXb3JrZmxvd1RpbWVkT3V0XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RXZlbnRUeXBlPFQgZXh0ZW5kcyBXb3JrZmxvd0V2ZW50PihcbiAgZXZlbnQ6IGFueSxcbiAgdHlwZTogVFtcInR5cGVcIl1cbik6IGFzc2VydHMgZXZlbnQgaXMgVCB7XG4gIGlmICghZXZlbnQgfHwgZXZlbnQudHlwZSAhPT0gdHlwZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgZXZlbnQgb2YgdHlwZSAke3R5cGV9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21wdXRlIHRoZSBJRCBvZiBhbiBldmVudC5cbiAqXG4gKiBTb21lIGV2ZW50cyBoYXZlIGEgY29tcHV0ZWQgSUQgdG8gc2F2ZSBzcGFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEV2ZW50SWQoZXZlbnQ6IFdvcmtmbG93RXZlbnQpOiBzdHJpbmcge1xuICBpZiAoXG4gICAgaXNIaXN0b3J5RXZlbnQoZXZlbnQpICYmXG4gICAgIWlzU2lnbmFsUmVjZWl2ZWQoZXZlbnQpICYmXG4gICAgIWlzV29ya2Zsb3dUaW1lZE91dChldmVudClcbiAgKSB7XG4gICAgcmV0dXJuIGAke2V2ZW50LnNlcX1fJHtldmVudC50eXBlfWA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGV2ZW50LmlkO1xuICB9XG59XG5cbi8qKlxuICogRmlsdGVycyBvdXQgZXZlbnRzIHRoYXQgYXJlIGFsc28gcHJlc2VudCBpbiBvcmlnaW4gZXZlbnRzLlxuICpcbiAqIEV2ZW50cyBhcmUgdGFrZW4gb25seSBpZiB0aGVpciBJRCAoe0BsaW5rIGdldEV2ZW50SWR9KSBpcyB1bmlxdWUgYWNyb3NzIGFsbCBvdGhlciBldmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFdmVudHM8VCBleHRlbmRzIFdvcmtmbG93RXZlbnQ+KFxuICBvcmlnaW5FdmVudHM6IFRbXSxcbiAgZXZlbnRzOiBUW11cbik6IFRbXSB7XG4gIGNvbnN0IGlkcyA9IG5ldyBTZXQob3JpZ2luRXZlbnRzLm1hcChnZXRFdmVudElkKSk7XG5cbiAgcmV0dXJuIGV2ZW50cy5maWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgaWQgPSBnZXRFdmVudElkKGV2ZW50KTtcbiAgICBpZiAoaWRzLmhhcyhpZCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWRzLmFkZChpZCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xufVxuXG50eXBlIFVucmVzb2x2ZWRFdmVudDxUIGV4dGVuZHMgV29ya2Zsb3dFdmVudD4gPSBPbWl0PFQsIFwiaWRcIiB8IFwidGltZXN0YW1wXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXZlbnQ8VCBleHRlbmRzIFdvcmtmbG93RXZlbnQ+KFxuICBldmVudDogVW5yZXNvbHZlZEV2ZW50PFQ+LFxuICB0aW1lOiBEYXRlLFxuICBpZDogc3RyaW5nID0gdWxpZCgpXG4pOiBUIHtcbiAgY29uc3QgdGltZXN0YW1wID0gdGltZS50b0lTT1N0cmluZygpO1xuXG4gIC8vIGhpc3RvcnkgZXZlbnRzIGRvIG5vdCBoYXZlIElEcywgdXNlIGdldEV2ZW50SWRcbiAgaWYgKFxuICAgIGlzSGlzdG9yeUV2ZW50KGV2ZW50IGFzIHVua25vd24gYXMgV29ya2Zsb3dFdmVudCkgJiZcbiAgICAhaXNTaWduYWxSZWNlaXZlZChldmVudCBhcyB1bmtub3duIGFzIFdvcmtmbG93RXZlbnQpXG4gICkge1xuICAgIHJldHVybiB7IC4uLihldmVudCBhcyBhbnkpLCB0aW1lc3RhbXAgfTtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmV2ZW50LCBpZCwgdGltZXN0YW1wIH0gYXMgVDtcbn1cbiJdfQ== |
import type { Program } from "./interpret.js"; | ||
import type { Context, WorkflowContext } from "./context.js"; | ||
import type { Context } from "./context.js"; | ||
import { HistoryStateEvent, SleepCompleted } from "./workflow-events.js"; | ||
import { WorkflowResult } from "./interpret.js"; | ||
import { ChildExecution, ExecutionHandle } from "./execution.js"; | ||
@@ -71,10 +70,4 @@ import { StartExecutionRequest } from "./service-client.js"; | ||
export declare function workflow<Input = any, Output = any>(name: string, opts: WorkflowOptions, definition: WorkflowHandler<Input, Output>): Workflow<Input, Output>; | ||
export interface ProgressWorkflowResult extends WorkflowResult { | ||
history: HistoryStateEvent[]; | ||
} | ||
export declare function runWorkflowDefinition(workflow: Workflow, input: any, context: Context): Program<any>; | ||
/** | ||
* Advance a workflow using previous history, new events, and a program. | ||
*/ | ||
export declare function progressWorkflow(program: Workflow, historyEvents: HistoryStateEvent[], taskEvents: HistoryStateEvent[], workflowContext: WorkflowContext, executionId: string, baseTime?: Date): ProgressWorkflowResult; | ||
/** | ||
* Generates synthetic events, for example, {@link SleepCompleted} events when the time has passed, but a real completed event has not come in yet. | ||
@@ -81,0 +74,0 @@ */ |
@@ -1,5 +0,3 @@ | ||
import { workflows, clearEventualCollector, getServiceClient, } from "./global.js"; | ||
import { DeterminismError } from "./error.js"; | ||
import { filterEvents, isHistoryEvent, isSleepCompleted, isSleepScheduled, isWorkflowStarted, WorkflowEventType, } from "./workflow-events.js"; | ||
import { interpret } from "./interpret.js"; | ||
import { workflows, getServiceClient } from "./global.js"; | ||
import { isSleepCompleted, isSleepScheduled, WorkflowEventType, } from "./workflow-events.js"; | ||
import { createWorkflowCall } from "./calls/workflow-call.js"; | ||
@@ -41,41 +39,4 @@ import { isOrchestratorWorker } from "./runtime/flags.js"; | ||
} | ||
/** | ||
* Advance a workflow using previous history, new events, and a program. | ||
*/ | ||
export function progressWorkflow(program, historyEvents, taskEvents, workflowContext, executionId, baseTime = new Date()) { | ||
// historical events and incoming events will be fed into the workflow to resume/progress state | ||
const uniqueTaskEvents = filterEvents(historyEvents, taskEvents); | ||
const inputEvents = [...historyEvents, ...uniqueTaskEvents]; | ||
// Generates events that are time sensitive, like sleep completed events. | ||
const syntheticEvents = generateSyntheticEvents(inputEvents, baseTime); | ||
const allEvents = [...inputEvents, ...syntheticEvents]; | ||
const startEvent = inputEvents.find(isWorkflowStarted); | ||
if (!startEvent) { | ||
throw new DeterminismError(`No ${WorkflowEventType.WorkflowStarted} found.`); | ||
} | ||
const context = { | ||
workflow: workflowContext, | ||
execution: { | ||
...startEvent.context, | ||
id: executionId, | ||
startTime: startEvent.timestamp, | ||
}, | ||
}; | ||
// execute workflow | ||
const interpretEvents = allEvents.filter(isHistoryEvent); | ||
console.debug("history events", JSON.stringify(historyEvents)); | ||
console.debug("task events", JSON.stringify(taskEvents)); | ||
console.debug("synthetic events", JSON.stringify(syntheticEvents)); | ||
console.debug("interpret events", JSON.stringify(interpretEvents)); | ||
try { | ||
return { | ||
...interpret(program.definition(startEvent.input, context), interpretEvents), | ||
history: allEvents, | ||
}; | ||
} | ||
catch (err) { | ||
// temporary fix when the interpreter fails, but the activities are not cleared. | ||
clearEventualCollector(); | ||
throw err; | ||
} | ||
export function runWorkflowDefinition(workflow, input, context) { | ||
return workflow.definition(input, context); | ||
} | ||
@@ -105,2 +66,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEdBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQ0wsWUFBWSxFQUVaLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUdqQixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUE0RXJDLE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBWTtJQUN6QyxPQUFPLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBK0JELE1BQU0sVUFBVSxRQUFRLENBQ3RCLElBQVksRUFDWixHQUFHLElBRTZDO0lBRWhELE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0UsSUFBSSxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2hFO0lB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Q0FDRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQztRQUNDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO1FBQ3RDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztRQUNWLFNBQVMsRUFBRSxRQUFRLENBQUMsV0FBVyxFQUFFO0tBQ1QsQ0FBQyxDQUM5QixDQUFDO0lBRUosT0FBTyxzQkFBc0IsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgd29ya2Zsb3dzLFxuICBjbGVhckV2ZW50dWFsQ29sbGVjdG9yLFxuICBnZXRTZXJ2aWNlQ2xpZW50LFxufSBmcm9tIFwiLi9nbG9iYWwuanNcIjtcbmltcG9ydCB0eXBlIHsgUHJvZ3JhbSB9IGZyb20gXCIuL2ludGVycHJldC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0LCBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0LmpzXCI7XG5pbXBvcnQgeyBEZXRlcm1pbmlzbUVycm9yIH0gZnJvbSBcIi4vZXJyb3IuanNcIjtcbmltcG9ydCB7XG4gIGZpbHRlckV2ZW50cyxcbiAgSGlzdG9yeVN0YXRlRXZlbnQsXG4gIGlzSGlzdG9yeUV2ZW50LFxuICBpc1NsZWVwQ29tcGxldGVkLFxuICBpc1NsZWVwU2NoZWR1bGVkLFxuICBpc1dvcmtmbG93U3RhcnRlZCxcbiAgU2xlZXBDb21wbGV0ZWQsXG4gIFNsZWVwU2NoZWR1bGVkLFxuICBXb3JrZmxvd0V2ZW50VHlwZSxcbn0gZnJvbSBcIi4vd29ya2Zsb3ctZXZlbnRzLmpzXCI7XG5pbXBvcnQgeyBpbnRlcnByZXQsIFdvcmtmbG93UmVzdWx0IH0gZnJvbSBcIi4vaW50ZXJwcmV0LmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVXb3JrZmxvd0NhbGwgfSBmcm9tIFwiLi9jYWxscy93b3JrZmxvdy1jYWxsLmpzXCI7XG5pbXBvcnQgeyBBd2FpdGVkRXZlbnR1YWwgfSBmcm9tIFwiLi9ldmVudHVhbC5qc1wiO1xuaW1wb3J0IHsgaXNPcmNoZXN0cmF0b3JXb3JrZXIgfSBmcm9tIFwiLi9ydW50aW1lL2ZsYWdzLmpzXCI7XG5pbXBvcnQgeyBpc0NoYWluIH0gZnJvbSBcIi4vY2hhaW4uanNcIjtcbmltcG9ydCB7IENoaWxkRXhlY3V0aW9uLCBFeGVjdXRpb25IYW5kbGUgfSBmcm9tIFwiLi9leGVjdXRpb24uanNcIjtcbmltcG9ydCB7IFN0YXJ0RXhlY3V0aW9uUmVxdWVzdCB9IGZyb20gXCIuL3NlcnZpY2UtY2xpZW50LmpzXCI7XG5cbmV4cG9ydCB0eXBlIFdvcmtmbG93SGFuZGxlcjxJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PiA9IChcbiAgaW5wdXQ6IElucHV0LFxuICBjb250ZXh0OiBDb250ZXh0XG4pID0+IFByb21pc2U8T3V0cHV0PiB8IFByb2dyYW08T3V0cHV0PjtcblxuLyoqXG4gKiBPcHRpb25zIHdoaWNoIGRldGVybWluZSBob3cgYSB3b3JrZmxvdyBvcGVyYXRlcy5cbiAqXG4gKiBDYW4gYmUgcHJvdmlkZWQgYXQgd29ya2Zsb3cgZGVmaW5pdGlvbiB0aW1lIGFuZC9vciBvdmVycmlkZGVuIGJ5IHRoZSBjYWxsZXIgb2Yge0BsaW5rIFdvcmtmbG93Q2xpZW50LnN0YXJ0V29ya2Zsb3d9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgZXhlY3V0aW9uIHRpbWVzIG91dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB3b3JrZmxvdyB3aWxsIG5ldmVyIHRpbWVvdXQuXG4gICAqL1xuICB0aW1lb3V0U2Vjb25kcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgV29ya2Zsb3dPdXRwdXQ8VyBleHRlbmRzIFdvcmtmbG93PiA9IFcgZXh0ZW5kcyBXb3JrZmxvdzxcbiAgYW55LFxuICBpbmZlciBPdXRcbj5cbiAgPyBPdXRcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgV29ya2Zsb3dJbnB1dDxXIGV4dGVuZHMgV29ya2Zsb3c+ID0gVyBleHRlbmRzIFdvcmtmbG93PFxuICBpbmZlciBJbixcbiAgYW55XG4+XG4gID8gSW5cbiAgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQSB7QGxpbmsgV29ya2Zsb3d9IGlzIGEgbG9uZy1ydW5uaW5nIHByb2Nlc3MgdGhhdCBvcmNoZXN0cmF0ZXMgY2FsbHNcbiAqIHRvIG90aGVyIHNlcnZpY2VzIGluIGEgZHVyYWJsZSBhbmQgb2JzZXJ2YWJsZSB3YXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3c8aW4gSW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4ge1xuICAvKipcbiAgICogR2xvYmFsbHkgdW5pcXVlIElEIG9mIHRoaXMge0BsaW5rIFdvcmtmbG93fS5cbiAgICovXG4gIHdvcmtmbG93TmFtZTogc3RyaW5nO1xuXG4gIG9wdGlvbnM/OiBXb3JrZmxvd09wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEludm9rZXMgdGhlIHtAbGluayBXb3JrZmxvd30gZnJvbSB3aXRoaW4gYW5vdGhlciB3b3JrZmxvdy5cbiAgICpcbiAgICogVGhpcyBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW5vdGhlciB3b3JrZmxvdyBiZWNhdXNlIGl0J3Mgbm90IHBvc3NpYmxlXG4gICAqIHRvIHdhaXQgZm9yIGNvbXBsZXRpb24gc3luY2hyb25vdXNseSAtIGl0IHJlbGllcyBvbiB0aGUgZXZlbnQtZHJpdmVuIGVudmlyb25tZW50XG4gICAqIG9mIGEgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICAgKlxuICAgKiBUbyBzdGFydCBhIHdvcmtmbG93IGZyb20gYW5vdGhlciBlbnZpcm9ubWVudCwgdXNlIHtAbGluayBzdGFydH0uXG4gICAqL1xuICAoaW5wdXQ6IElucHV0KTogUHJvbWlzZTxPdXRwdXQ+ICYgQ2hpbGRFeGVjdXRpb247XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBhIHdvcmtmbG93IGV4ZWN1dGlvblxuICAgKi9cbiAgc3RhcnRFeGVjdXRpb24oXG4gICAgcmVxdWVzdDogT21pdDxTdGFydEV4ZWN1dGlvblJlcXVlc3Q8V29ya2Zsb3c8SW5wdXQsIE91dHB1dD4+LCBcIndvcmtmbG93XCI+XG4gICk6IFByb21pc2U8RXhlY3V0aW9uSGFuZGxlPFdvcmtmbG93PElucHV0LCBPdXRwdXQ+Pj47XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCAtIHRoaXMgaXMgdGhlIGludGVybmFsIERTTCByZXByZXNlbnRhdGlvbiB0aGF0IHByb2R1Y2VzIGEge0BsaW5rIFByb2dyYW19IGluc3RlYWQgb2YgYSBQcm9taXNlLlxuICAgKi9cbiAgZGVmaW5pdGlvbjogKFxuICAgIGlucHV0OiBJbnB1dCxcbiAgICBjb250ZXh0OiBDb250ZXh0XG4gICkgPT4gUHJvZ3JhbTxBd2FpdGVkRXZlbnR1YWw8T3V0cHV0Pj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiBXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB3b3JrZmxvd3MoKS5nZXQobmFtZSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcmVnaXN0ZXJzIGEgbG9uZy1ydW5uaW5nIHdvcmtmbG93LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgYWN0aXZpdHksIHdvcmtmbG93IH0gZnJvbSBcIkBldmVudHVhbC9jb3JlXCI7XG4gKlxuICogZXhwb3J0IGRlZmF1bHQgd29ya2Zsb3coXCJteS13b3JrZmxvd1wiLCBhc3luYyAoeyBuYW1lIH06IHsgbmFtZTogc3RyaW5nIH0pID0+IHtcbiAqICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaGVsbG8obmFtZSk7XG4gKiAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XG4gKiAgIHJldHVybiBgeW91IHNhaWQgJHtyZXN1bHR9YDtcbiAqIH0pO1xuICpcbiAqIGNvbnN0IGhlbGxvID0gYWN0aXZpdHkoXCJoZWxsb1wiLCBhc3luYyAobmFtZTogc3RyaW5nKSA9PiB7XG4gKiAgIHJldHVybiBgaGVsbG8gJHtuYW1lfWA7XG4gKiB9KTtcbiAqIGBgYFxuICogQHBhcmFtIG5hbWUgYSBnbG9iYWxseSB1bmlxdWUgSUQgZm9yIHRoaXMgd29ya2Zsb3cuXG4gKiBAcGFyYW0gZGVmaW5pdGlvbiB0aGUgd29ya2Zsb3cgZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93PElucHV0ID0gYW55LCBPdXRwdXQgPSBhbnk+KFxuICBuYW1lOiBzdHJpbmcsXG4gIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0PlxuKTogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD47XG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0czogV29ya2Zsb3dPcHRpb25zLFxuICBkZWZpbml0aW9uOiBXb3JrZmxvd0hhbmRsZXI8SW5wdXQsIE91dHB1dD5cbik6IFdvcmtmbG93PElucHV0LCBPdXRwdXQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93PElucHV0ID0gYW55LCBPdXRwdXQgPSBhbnk+KFxuICBuYW1lOiBzdHJpbmcsXG4gIC4uLmFyZ3M6XG4gICAgfCBbb3B0czogV29ya2Zsb3dPcHRpb25zLCBkZWZpbml0aW9uOiBXb3JrZmxvd0hhbmRsZXI8SW5wdXQsIE91dHB1dD5dXG4gICAgfCBbZGVmaW5pdGlvbjogV29ya2Zsb3dIYW5kbGVyPElucHV0LCBPdXRwdXQ+XVxuKTogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD4ge1xuICBjb25zdCBbb3B0cywgZGVmaW5pdGlvbl0gPSBhcmdzLmxlbmd0aCA9PT0gMSA/IFt1bmRlZmluZWQsIGFyZ3NbMF1dIDogYXJncztcbiAgaWYgKHdvcmtmbG93cygpLmhhcyhuYW1lKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgd29ya2Zsb3cgd2l0aCBuYW1lICcke25hbWV9JyBhbHJlYWR5IGV4aXN0c2ApO1xuICB9XG5cbiAgY29uc3Qgd29ya2Zsb3c6IFdvcmtmbG93PElucHV0LCBPdXRwdXQ+ID0gKChpbnB1dD86IGFueSkgPT4ge1xuICAgIGlmICghaXNPcmNoZXN0cmF0b3JXb3JrZXIoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkRpcmVjdCB3b3JrZmxvdyBpbnZvY2F0aW9uIGlzIG9ubHkgdmFsaWQgaW4gYSB3b3JrZmxvdywgdXNlIHdvcmtmbG93LnN0YXJ0RXhlY3V0aW9uIGluc3RlYWQuXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZVdvcmtmbG93Q2FsbChuYW1lLCBpbnB1dCwgb3B0cyk7XG4gIH0pIGFzIGFueTtcblxuICB3b3JrZmxvdy53b3JrZmxvd05hbWUgPSBuYW1lO1xuXG4gIHdvcmtmbG93LnN0YXJ0RXhlY3V0aW9uID0gYXN5bmMgZnVuY3Rpb24gKGlucHV0KSB7XG4gICAgY29uc3Qgc2VydmljZUNsaWVudCA9IGdldFNlcnZpY2VDbGllbnQoKTtcbiAgICByZXR1cm4gYXdhaXQgc2VydmljZUNsaWVudC5zdGFydEV4ZWN1dGlvbjxXb3JrZmxvdzxJbnB1dCwgT3V0cHV0Pj4oe1xuICAgICAgd29ya2Zsb3c6IG5hbWUsXG4gICAgICBleGVjdXRpb25OYW1lOiBpbnB1dC5leGVjdXRpb25OYW1lLFxuICAgICAgaW5wdXQ6IGlucHV0LmlucHV0LFxuICAgICAgdGltZW91dFNlY29uZHM6IGlucHV0LnRpbWVvdXRTZWNvbmRzLFxuICAgICAgLi4ub3B0cyxcbiAgICB9KTtcbiAgfTtcblxuICB3b3JrZmxvdy5kZWZpbml0aW9uID0gKFxuICAgIGlzQ2hhaW4oZGVmaW5pdGlvbilcbiAgICAgID8gZGVmaW5pdGlvblxuICAgICAgOiBmdW5jdGlvbiogKGlucHV0LCBjb250ZXh0KTogYW55IHtcbiAgICAgICAgICByZXR1cm4geWllbGQgZGVmaW5pdGlvbihpbnB1dCwgY29udGV4dCk7XG4gICAgICAgIH1cbiAgKSBhcyBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PltcImRlZmluaXRpb25cIl07IC8vIHNhZmUgdG8gY2FzdCBiZWNhdXNlIHdlIHJlbHkgb24gdHJhbnNmb3JtZXIgKGl0IGlzIGFsd2F5cyB0aGUgZ2VuZXJhdG9yIEFQSSlcbiAgd29ya2Zsb3dzKCkuc2V0KG5hbWUsIHdvcmtmbG93KTtcbiAgcmV0dXJuIHdvcmtmbG93O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2dyZXNzV29ya2Zsb3dSZXN1bHQgZXh0ZW5kcyBXb3JrZmxvd1Jlc3VsdCB7XG4gIGhpc3Rvcnk6IEhpc3RvcnlTdGF0ZUV2ZW50W107XG59XG5cbi8qKlxuICogQWR2YW5jZSBhIHdvcmtmbG93IHVzaW5nIHByZXZpb3VzIGhpc3RvcnksIG5ldyBldmVudHMsIGFuZCBhIHByb2dyYW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9ncmVzc1dvcmtmbG93KFxuICBwcm9ncmFtOiBXb3JrZmxvdyxcbiAgaGlzdG9yeUV2ZW50czogSGlzdG9yeVN0YXRlRXZlbnRbXSxcbiAgdGFza0V2ZW50czogSGlzdG9yeVN0YXRlRXZlbnRbXSxcbiAgd29ya2Zsb3dDb250ZXh0OiBXb3JrZmxvd0NvbnRleHQsXG4gIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gIGJhc2VUaW1lOiBEYXRlID0gbmV3IERhdGUoKVxuKTogUHJvZ3Jlc3NXb3JrZmxvd1Jlc3VsdCB7XG4gIC8vIGhpc3RvcmljYWwgZXZlbnRzIGFuZCBpbmNvbWluZyBldmVudHMgd2lsbCBiZSBmZWQgaW50byB0aGUgd29ya2Zsb3cgdG8gcmVzdW1lL3Byb2dyZXNzIHN0YXRlXG4gIGNvbnN0IHVuaXF1ZVRhc2tFdmVudHMgPSBmaWx0ZXJFdmVudHM8SGlzdG9yeVN0YXRlRXZlbnQ+KFxuICAgIGhpc3RvcnlFdmVudHMsXG4gICAgdGFza0V2ZW50c1xuICApO1xuXG4gIGNvbnN0IGlucHV0RXZlbnRzID0gWy4uLmhpc3RvcnlFdmVudHMsIC4uLnVuaXF1ZVRhc2tFdmVudHNdO1xuXG4gIC8vIEdlbmVyYXRlcyBldmVudHMgdGhhdCBhcmUgdGltZSBzZW5zaXRpdmUsIGxpa2Ugc2xlZXAgY29tcGxldGVkIGV2ZW50cy5cbiAgY29uc3Qgc3ludGhldGljRXZlbnRzID0gZ2VuZXJhdGVTeW50aGV0aWNFdmVudHMoaW5wdXRFdmVudHMsIGJhc2VUaW1lKTtcblxuICBjb25zdCBhbGxFdmVudHMgPSBbLi4uaW5wdXRFdmVudHMsIC4uLnN5bnRoZXRpY0V2ZW50c107XG5cbiAgY29uc3Qgc3RhcnRFdmVudCA9IGlucHV0RXZlbnRzLmZpbmQoaXNXb3JrZmxvd1N0YXJ0ZWQpO1xuXG4gIGlmICghc3RhcnRFdmVudCkge1xuICAgIHRocm93IG5ldyBEZXRlcm1pbmlzbUVycm9yKFxuICAgICAgYE5vICR7V29ya2Zsb3dFdmVudFR5cGUuV29ya2Zsb3dTdGFydGVkfSBmb3VuZC5gXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRleHQ6IENvbnRleHQgPSB7XG4gICAgd29ya2Zsb3c6IHdvcmtmbG93Q29udGV4dCxcbiAgICBleGVjdXRpb246IHtcbiAgICAgIC4uLnN0YXJ0RXZlbnQuY29udGV4dCxcbiAgICAgIGlkOiBleGVjdXRpb25JZCxcbiAgICAgIHN0YXJ0VGltZTogc3RhcnRFdmVudC50aW1lc3RhbXAsXG4gICAgfSxcbiAgfTtcblxuICAvLyBleGVjdXRlIHdvcmtmbG93XG4gIGNvbnN0IGludGVycHJldEV2ZW50cyA9IGFsbEV2ZW50cy5maWx0ZXIoaXNIaXN0b3J5RXZlbnQpO1xuXG4gIGNvbnNvbGUuZGVidWcoXCJoaXN0b3J5IGV2ZW50c1wiLCBKU09OLnN0cmluZ2lmeShoaXN0b3J5RXZlbnRzKSk7XG4gIGNvbnNvbGUuZGVidWcoXCJ0YXNrIGV2ZW50c1wiLCBKU09OLnN0cmluZ2lmeSh0YXNrRXZlbnRzKSk7XG4gIGNvbnNvbGUuZGVidWcoXCJzeW50aGV0aWMgZXZlbnRzXCIsIEpTT04uc3RyaW5naWZ5KHN5bnRoZXRpY0V2ZW50cykpO1xuICBjb25zb2xlLmRlYnVnKFwiaW50ZXJwcmV0IGV2ZW50c1wiLCBKU09OLnN0cmluZ2lmeShpbnRlcnByZXRFdmVudHMpKTtcblxuICB0cnkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5pbnRlcnByZXQoXG4gICAgICAgIHByb2dyYW0uZGVmaW5pdGlvbihzdGFydEV2ZW50LmlucHV0LCBjb250ZXh0KSxcbiAgICAgICAgaW50ZXJwcmV0RXZlbnRzXG4gICAgICApLFxuICAgICAgaGlzdG9yeTogYWxsRXZlbnRzLFxuICAgIH07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIHRlbXBvcmFyeSBmaXggd2hlbiB0aGUgaW50ZXJwcmV0ZXIgZmFpbHMsIGJ1dCB0aGUgYWN0aXZpdGllcyBhcmUgbm90IGNsZWFyZWQuXG4gICAgY2xlYXJFdmVudHVhbENvbGxlY3RvcigpO1xuICAgIHRocm93IGVycjtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBzeW50aGV0aWMgZXZlbnRzLCBmb3IgZXhhbXBsZSwge0BsaW5rIFNsZWVwQ29tcGxldGVkfSBldmVudHMgd2hlbiB0aGUgdGltZSBoYXMgcGFzc2VkLCBidXQgYSByZWFsIGNvbXBsZXRlZCBldmVudCBoYXMgbm90IGNvbWUgaW4geWV0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTeW50aGV0aWNFdmVudHMoXG4gIGV2ZW50czogSGlzdG9yeVN0YXRlRXZlbnRbXSxcbiAgYmFzZVRpbWU6IERhdGVcbik6IFNsZWVwQ29tcGxldGVkW10ge1xuICBjb25zdCB1bnJlc29sdmVkU2xlZXA6IFJlY29yZDxudW1iZXIsIFNsZWVwU2NoZWR1bGVkPiA9IHt9O1xuXG4gIGNvbnN0IHNsZWVwRXZlbnRzID0gZXZlbnRzLmZpbHRlcihcbiAgICAoZXZlbnQpOiBldmVudCBpcyBTbGVlcFNjaGVkdWxlZCB8IFNsZWVwQ29tcGxldGVkID0+XG4gICAgICBpc1NsZWVwU2NoZWR1bGVkKGV2ZW50KSB8fCBpc1NsZWVwQ29tcGxldGVkKGV2ZW50KVxuICApO1xuXG4gIGZvciAoY29uc3QgZXZlbnQgb2Ygc2xlZXBFdmVudHMpIHtcbiAgICBpZiAoaXNTbGVlcFNjaGVkdWxlZChldmVudCkpIHtcbiAgICAgIHVucmVzb2x2ZWRTbGVlcFtldmVudC5zZXFdID0gZXZlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB1bnJlc29sdmVkU2xlZXBbZXZlbnQuc2VxXTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBzeW50aGV0aWNTbGVlcENvbXBsZXRlOiBTbGVlcENvbXBsZXRlZFtdID0gT2JqZWN0LnZhbHVlcyhcbiAgICB1bnJlc29sdmVkU2xlZXBcbiAgKVxuICAgIC5maWx0ZXIoXG4gICAgICAoZXZlbnQpID0+IG5ldyBEYXRlKGV2ZW50LnVudGlsVGltZSkuZ2V0VGltZSgpIDw9IGJhc2VUaW1lLmdldFRpbWUoKVxuICAgIClcbiAgICAubWFwKFxuICAgICAgKGUpID0+XG4gICAgICAgICh7XG4gICAgICAgICAgdHlwZTogV29ya2Zsb3dFdmVudFR5cGUuU2xlZXBDb21wbGV0ZWQsXG4gICAgICAgICAgc2VxOiBlLnNlcSxcbiAgICAgICAgICB0aW1lc3RhbXA6IGJhc2VUaW1lLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIH0gc2F0aXNmaWVzIFNsZWVwQ29tcGxldGVkKVxuICAgICk7XG5cbiAgcmV0dXJuIHN5bnRoZXRpY1NsZWVwQ29tcGxldGU7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxRCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUdoQixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBNEVyQyxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQVk7SUFDekMsT0FBTyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQStCRCxNQUFNLFVBQVUsUUFBUSxDQUN0QixJQUFZLEVBQ1osR0FBRyxJQUU2QztJQUVoRCxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNFLElBQUksU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksa0JBQWtCLENBQUMsQ0FBQztLQUNoRTtJQUVELE1BQU0sUUFBUSxHQUE0QixDQUFDLENBQUMsS0FBVyxFQUFFLEVBQUU7UUFDekQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUU7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYiw4RkFBOEYsQ0FDL0YsQ0FBQztTQUNIO1FBRUQsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBUSxDQUFDO0lBRVYsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFFN0IsUUFBUSxDQUFDLGNBQWMsR0FBRyxLQUFLLFdBQVcsS0FBSztRQUM3QyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxhQUFhLENBQUMsY0FBYyxDQUEwQjtZQUNqRSxRQUFRLEVBQUUsSUFBSTtZQUNkLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGLFFBQVEsQ0FBQyxVQUFVLEdBQUcsQ0FDcEIsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNqQixDQUFDLENBQUMsVUFBVTtRQUNaLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTztZQUN2QixPQUFPLE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQ21DLENBQUMsQ0FBQywrRUFBK0U7SUFDM0gsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxRQUFrQixFQUNsQixLQUFVLEVBQ1YsT0FBZ0I7SUFFaEIsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLE1BQTJCLEVBQzNCLFFBQWM7SUFFZCxNQUFNLGVBQWUsR0FBbUMsRUFBRSxDQUFDO0lBRTNELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQy9CLENBQUMsS0FBSyxFQUE0QyxFQUFFLENBQ2xELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUNyRCxDQUFDO0lBRUYsS0FBSyxNQUFNLEtBQUssSUFBSSxXQUFXLEVBQUU7UUFDL0IsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNwQzthQUFNO1lBQ0wsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25DO0tBQ0Y7SUFFRCxNQUFNLHNCQUFzQixHQUFxQixNQUFNLENBQUMsTUFBTSxDQUM1RCxlQUFlLENBQ2hCO1NBQ0UsTUFBTSxDQUNMLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUNyRTtTQUNBLEdBQUcsQ0FDRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQztRQUNDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO1FBQ3RDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztRQUNWLFNBQVMsRUFBRSxRQUFRLENBQUMsV0FBVyxFQUFFO0tBQ1QsQ0FBQyxDQUM5QixDQUFDO0lBRUosT0FBTyxzQkFBc0IsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd29ya2Zsb3dzLCBnZXRTZXJ2aWNlQ2xpZW50IH0gZnJvbSBcIi4vZ2xvYmFsLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2dyYW0gfSBmcm9tIFwiLi9pbnRlcnByZXQuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcbmltcG9ydCB7XG4gIEhpc3RvcnlTdGF0ZUV2ZW50LFxuICBpc1NsZWVwQ29tcGxldGVkLFxuICBpc1NsZWVwU2NoZWR1bGVkLFxuICBTbGVlcENvbXBsZXRlZCxcbiAgU2xlZXBTY2hlZHVsZWQsXG4gIFdvcmtmbG93RXZlbnRUeXBlLFxufSBmcm9tIFwiLi93b3JrZmxvdy1ldmVudHMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVdvcmtmbG93Q2FsbCB9IGZyb20gXCIuL2NhbGxzL3dvcmtmbG93LWNhbGwuanNcIjtcbmltcG9ydCB7IEF3YWl0ZWRFdmVudHVhbCB9IGZyb20gXCIuL2V2ZW50dWFsLmpzXCI7XG5pbXBvcnQgeyBpc09yY2hlc3RyYXRvcldvcmtlciB9IGZyb20gXCIuL3J1bnRpbWUvZmxhZ3MuanNcIjtcbmltcG9ydCB7IGlzQ2hhaW4gfSBmcm9tIFwiLi9jaGFpbi5qc1wiO1xuaW1wb3J0IHsgQ2hpbGRFeGVjdXRpb24sIEV4ZWN1dGlvbkhhbmRsZSB9IGZyb20gXCIuL2V4ZWN1dGlvbi5qc1wiO1xuaW1wb3J0IHsgU3RhcnRFeGVjdXRpb25SZXF1ZXN0IH0gZnJvbSBcIi4vc2VydmljZS1jbGllbnQuanNcIjtcblxuZXhwb3J0IHR5cGUgV29ya2Zsb3dIYW5kbGVyPElucHV0ID0gYW55LCBPdXRwdXQgPSBhbnk+ID0gKFxuICBpbnB1dDogSW5wdXQsXG4gIGNvbnRleHQ6IENvbnRleHRcbikgPT4gUHJvbWlzZTxPdXRwdXQ+IHwgUHJvZ3JhbTxPdXRwdXQ+O1xuXG4vKipcbiAqIE9wdGlvbnMgd2hpY2ggZGV0ZXJtaW5lIGhvdyBhIHdvcmtmbG93IG9wZXJhdGVzLlxuICpcbiAqIENhbiBiZSBwcm92aWRlZCBhdCB3b3JrZmxvdyBkZWZpbml0aW9uIHRpbWUgYW5kL29yIG92ZXJyaWRkZW4gYnkgdGhlIGNhbGxlciBvZiB7QGxpbmsgV29ya2Zsb3dDbGllbnQuc3RhcnRXb3JrZmxvd30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dPcHRpb25zIHtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBzZWNvbmRzIGJlZm9yZSBleGVjdXRpb24gdGltZXMgb3V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHdvcmtmbG93IHdpbGwgbmV2ZXIgdGltZW91dC5cbiAgICovXG4gIHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBXb3JrZmxvd091dHB1dDxXIGV4dGVuZHMgV29ya2Zsb3c+ID0gVyBleHRlbmRzIFdvcmtmbG93PFxuICBhbnksXG4gIGluZmVyIE91dFxuPlxuICA/IE91dFxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBXb3JrZmxvd0lucHV0PFcgZXh0ZW5kcyBXb3JrZmxvdz4gPSBXIGV4dGVuZHMgV29ya2Zsb3c8XG4gIGluZmVyIEluLFxuICBhbnlcbj5cbiAgPyBJblxuICA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBBIHtAbGluayBXb3JrZmxvd30gaXMgYSBsb25nLXJ1bm5pbmcgcHJvY2VzcyB0aGF0IG9yY2hlc3RyYXRlcyBjYWxsc1xuICogdG8gb3RoZXIgc2VydmljZXMgaW4gYSBkdXJhYmxlIGFuZCBvYnNlcnZhYmxlIHdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdzxpbiBJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PiB7XG4gIC8qKlxuICAgKiBHbG9iYWxseSB1bmlxdWUgSUQgb2YgdGhpcyB7QGxpbmsgV29ya2Zsb3d9LlxuICAgKi9cbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgb3B0aW9ucz86IFdvcmtmbG93T3B0aW9ucztcblxuICAvKipcbiAgICogSW52b2tlcyB0aGUge0BsaW5rIFdvcmtmbG93fSBmcm9tIHdpdGhpbiBhbm90aGVyIHdvcmtmbG93LlxuICAgKlxuICAgKiBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBhbm90aGVyIHdvcmtmbG93IGJlY2F1c2UgaXQncyBub3QgcG9zc2libGVcbiAgICogdG8gd2FpdCBmb3IgY29tcGxldGlvbiBzeW5jaHJvbm91c2x5IC0gaXQgcmVsaWVzIG9uIHRoZSBldmVudC1kcml2ZW4gZW52aXJvbm1lbnRcbiAgICogb2YgYSB3b3JrZmxvdyBleGVjdXRpb24uXG4gICAqXG4gICAqIFRvIHN0YXJ0IGEgd29ya2Zsb3cgZnJvbSBhbm90aGVyIGVudmlyb25tZW50LCB1c2Uge0BsaW5rIHN0YXJ0fS5cbiAgICovXG4gIChpbnB1dDogSW5wdXQpOiBQcm9taXNlPE91dHB1dD4gJiBDaGlsZEV4ZWN1dGlvbjtcblxuICAvKipcbiAgICogU3RhcnRzIGEgd29ya2Zsb3cgZXhlY3V0aW9uXG4gICAqL1xuICBzdGFydEV4ZWN1dGlvbihcbiAgICByZXF1ZXN0OiBPbWl0PFN0YXJ0RXhlY3V0aW9uUmVxdWVzdDxXb3JrZmxvdzxJbnB1dCwgT3V0cHV0Pj4sIFwid29ya2Zsb3dcIj5cbiAgKTogUHJvbWlzZTxFeGVjdXRpb25IYW5kbGU8V29ya2Zsb3c8SW5wdXQsIE91dHB1dD4+PjtcblxuICAvKipcbiAgICogQGludGVybmFsIC0gdGhpcyBpcyB0aGUgaW50ZXJuYWwgRFNMIHJlcHJlc2VudGF0aW9uIHRoYXQgcHJvZHVjZXMgYSB7QGxpbmsgUHJvZ3JhbX0gaW5zdGVhZCBvZiBhIFByb21pc2UuXG4gICAqL1xuICBkZWZpbml0aW9uOiAoXG4gICAgaW5wdXQ6IElucHV0LFxuICAgIGNvbnRleHQ6IENvbnRleHRcbiAgKSA9PiBQcm9ncmFtPEF3YWl0ZWRFdmVudHVhbDxPdXRwdXQ+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cFdvcmtmbG93KG5hbWU6IHN0cmluZyk6IFdvcmtmbG93IHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHdvcmtmbG93cygpLmdldChuYW1lKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuZCByZWdpc3RlcnMgYSBsb25nLXJ1bm5pbmcgd29ya2Zsb3cuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBhY3Rpdml0eSwgd29ya2Zsb3cgfSBmcm9tIFwiQGV2ZW50dWFsL2NvcmVcIjtcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCB3b3JrZmxvdyhcIm15LXdvcmtmbG93XCIsIGFzeW5jICh7IG5hbWUgfTogeyBuYW1lOiBzdHJpbmcgfSkgPT4ge1xuICogICBjb25zdCByZXN1bHQgPSBhd2FpdCBoZWxsbyhuYW1lKTtcbiAqICAgY29uc29sZS5sb2cocmVzdWx0KTtcbiAqICAgcmV0dXJuIGB5b3Ugc2FpZCAke3Jlc3VsdH1gO1xuICogfSk7XG4gKlxuICogY29uc3QgaGVsbG8gPSBhY3Rpdml0eShcImhlbGxvXCIsIGFzeW5jIChuYW1lOiBzdHJpbmcpID0+IHtcbiAqICAgcmV0dXJuIGBoZWxsbyAke25hbWV9YDtcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gbmFtZSBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBmb3IgdGhpcyB3b3JrZmxvdy5cbiAqIEBwYXJhbSBkZWZpbml0aW9uIHRoZSB3b3JrZmxvdyBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVmaW5pdGlvbjogV29ya2Zsb3dIYW5kbGVyPElucHV0LCBPdXRwdXQ+XG4pOiBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PjtcbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvdzxJbnB1dCA9IGFueSwgT3V0cHV0ID0gYW55PihcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRzOiBXb3JrZmxvd09wdGlvbnMsXG4gIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0PlxuKTogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD47XG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQgPSBhbnksIE91dHB1dCA9IGFueT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgLi4uYXJnczpcbiAgICB8IFtvcHRzOiBXb3JrZmxvd09wdGlvbnMsIGRlZmluaXRpb246IFdvcmtmbG93SGFuZGxlcjxJbnB1dCwgT3V0cHV0Pl1cbiAgICB8IFtkZWZpbml0aW9uOiBXb3JrZmxvd0hhbmRsZXI8SW5wdXQsIE91dHB1dD5dXG4pOiBXb3JrZmxvdzxJbnB1dCwgT3V0cHV0PiB7XG4gIGNvbnN0IFtvcHRzLCBkZWZpbml0aW9uXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW3VuZGVmaW5lZCwgYXJnc1swXV0gOiBhcmdzO1xuICBpZiAod29ya2Zsb3dzKCkuaGFzKG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB3b3JrZmxvdyB3aXRoIG5hbWUgJyR7bmFtZX0nIGFscmVhZHkgZXhpc3RzYCk7XG4gIH1cblxuICBjb25zdCB3b3JrZmxvdzogV29ya2Zsb3c8SW5wdXQsIE91dHB1dD4gPSAoKGlucHV0PzogYW55KSA9PiB7XG4gICAgaWYgKCFpc09yY2hlc3RyYXRvcldvcmtlcigpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRGlyZWN0IHdvcmtmbG93IGludm9jYXRpb24gaXMgb25seSB2YWxpZCBpbiBhIHdvcmtmbG93LCB1c2Ugd29ya2Zsb3cuc3RhcnRFeGVjdXRpb24gaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlV29ya2Zsb3dDYWxsKG5hbWUsIGlucHV0LCBvcHRzKTtcbiAgfSkgYXMgYW55O1xuXG4gIHdvcmtmbG93LndvcmtmbG93TmFtZSA9IG5hbWU7XG5cbiAgd29ya2Zsb3cuc3RhcnRFeGVjdXRpb24gPSBhc3luYyBmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICBjb25zdCBzZXJ2aWNlQ2xpZW50ID0gZ2V0U2VydmljZUNsaWVudCgpO1xuICAgIHJldHVybiBhd2FpdCBzZXJ2aWNlQ2xpZW50LnN0YXJ0RXhlY3V0aW9uPFdvcmtmbG93PElucHV0LCBPdXRwdXQ+Pih7XG4gICAgICB3b3JrZmxvdzogbmFtZSxcbiAgICAgIGV4ZWN1dGlvbk5hbWU6IGlucHV0LmV4ZWN1dGlvbk5hbWUsXG4gICAgICBpbnB1dDogaW5wdXQuaW5wdXQsXG4gICAgICB0aW1lb3V0U2Vjb25kczogaW5wdXQudGltZW91dFNlY29uZHMsXG4gICAgICAuLi5vcHRzLFxuICAgIH0pO1xuICB9O1xuXG4gIHdvcmtmbG93LmRlZmluaXRpb24gPSAoXG4gICAgaXNDaGFpbihkZWZpbml0aW9uKVxuICAgICAgPyBkZWZpbml0aW9uXG4gICAgICA6IGZ1bmN0aW9uKiAoaW5wdXQsIGNvbnRleHQpOiBhbnkge1xuICAgICAgICAgIHJldHVybiB5aWVsZCBkZWZpbml0aW9uKGlucHV0LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICApIGFzIFdvcmtmbG93PElucHV0LCBPdXRwdXQ+W1wiZGVmaW5pdGlvblwiXTsgLy8gc2FmZSB0byBjYXN0IGJlY2F1c2Ugd2UgcmVseSBvbiB0cmFuc2Zvcm1lciAoaXQgaXMgYWx3YXlzIHRoZSBnZW5lcmF0b3IgQVBJKVxuICB3b3JrZmxvd3MoKS5zZXQobmFtZSwgd29ya2Zsb3cpO1xuICByZXR1cm4gd29ya2Zsb3c7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydW5Xb3JrZmxvd0RlZmluaXRpb24oXG4gIHdvcmtmbG93OiBXb3JrZmxvdyxcbiAgaW5wdXQ6IGFueSxcbiAgY29udGV4dDogQ29udGV4dFxuKSB7XG4gIHJldHVybiB3b3JrZmxvdy5kZWZpbml0aW9uKGlucHV0LCBjb250ZXh0KTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgc3ludGhldGljIGV2ZW50cywgZm9yIGV4YW1wbGUsIHtAbGluayBTbGVlcENvbXBsZXRlZH0gZXZlbnRzIHdoZW4gdGhlIHRpbWUgaGFzIHBhc3NlZCwgYnV0IGEgcmVhbCBjb21wbGV0ZWQgZXZlbnQgaGFzIG5vdCBjb21lIGluIHlldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU3ludGhldGljRXZlbnRzKFxuICBldmVudHM6IEhpc3RvcnlTdGF0ZUV2ZW50W10sXG4gIGJhc2VUaW1lOiBEYXRlXG4pOiBTbGVlcENvbXBsZXRlZFtdIHtcbiAgY29uc3QgdW5yZXNvbHZlZFNsZWVwOiBSZWNvcmQ8bnVtYmVyLCBTbGVlcFNjaGVkdWxlZD4gPSB7fTtcblxuICBjb25zdCBzbGVlcEV2ZW50cyA9IGV2ZW50cy5maWx0ZXIoXG4gICAgKGV2ZW50KTogZXZlbnQgaXMgU2xlZXBTY2hlZHVsZWQgfCBTbGVlcENvbXBsZXRlZCA9PlxuICAgICAgaXNTbGVlcFNjaGVkdWxlZChldmVudCkgfHwgaXNTbGVlcENvbXBsZXRlZChldmVudClcbiAgKTtcblxuICBmb3IgKGNvbnN0IGV2ZW50IG9mIHNsZWVwRXZlbnRzKSB7XG4gICAgaWYgKGlzU2xlZXBTY2hlZHVsZWQoZXZlbnQpKSB7XG4gICAgICB1bnJlc29sdmVkU2xlZXBbZXZlbnQuc2VxXSA9IGV2ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdW5yZXNvbHZlZFNsZWVwW2V2ZW50LnNlcV07XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3ludGhldGljU2xlZXBDb21wbGV0ZTogU2xlZXBDb21wbGV0ZWRbXSA9IE9iamVjdC52YWx1ZXMoXG4gICAgdW5yZXNvbHZlZFNsZWVwXG4gIClcbiAgICAuZmlsdGVyKFxuICAgICAgKGV2ZW50KSA9PiBuZXcgRGF0ZShldmVudC51bnRpbFRpbWUpLmdldFRpbWUoKSA8PSBiYXNlVGltZS5nZXRUaW1lKClcbiAgICApXG4gICAgLm1hcChcbiAgICAgIChlKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgIHR5cGU6IFdvcmtmbG93RXZlbnRUeXBlLlNsZWVwQ29tcGxldGVkLFxuICAgICAgICAgIHNlcTogZS5zZXEsXG4gICAgICAgICAgdGltZXN0YW1wOiBiYXNlVGltZS50b0lTT1N0cmluZygpLFxuICAgICAgICB9IHNhdGlzZmllcyBTbGVlcENvbXBsZXRlZClcbiAgICApO1xuXG4gIHJldHVybiBzeW50aGV0aWNTbGVlcENvbXBsZXRlO1xufVxuIl19 |
{ | ||
"name": "@eventual/core", | ||
"version": "0.9.0", | ||
"version": "0.9.1", | ||
"exports": { | ||
@@ -5,0 +5,0 @@ ".": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1596159
431
12683