@wireio/shared 1.0.71 → 1.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AWSFirehoseAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AAOA,OAAO,4BAEN,MAAM,mCAAmC,CAAA;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAmB5C,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,qBAAqB,EAAE,MAAM;IANzD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAO;IAE9B,SAAgB,iBAAiB,EAAE,4BAA4B,CAAA;gBAEnC,qBAAqB,EAAE,MAAM;IAoBzD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmB5B;;;;OAIG;YACW,WAAW;IAgBzB;;;;OAIG;YACW,KAAK;CA0EpB;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"AWSFirehoseAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AAMA,OAAO,4BAEN,MAAM,mCAAmC,CAAA;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAmB5C,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,qBAAqB,EAAE,MAAM;IANzD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAO;IAE9B,SAAgB,iBAAiB,EAAE,4BAA4B,CAAA;gBAEnC,qBAAqB,EAAE,MAAM;IAoBzD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmB5B;;;;OAIG;YACW,WAAW;IAgBzB;;;;OAIG;YACW,KAAK;CA0EpB;AAED,eAAe,mBAAmB,CAAA"}
@@ -174,4 +174,4 @@ class AWSFirehoseAppender {
174
174
  }
175
175
  exports.AWSFirehoseAppender = AWSFirehoseAppender;
176
176
  exports.default = AWSFirehoseAppender;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVdTRmlyZWhvc2VBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9hd3MtZmlyZWhvc2UvQVdTRmlyZWhvc2VBcHBlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSx3R0FFMEM7QUFDMUMsK0RBQTJEO0FBQzNELG1DQUE2QjtBQUM3Qix3REFBb0Q7QUFJcEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7QUFDaEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQTtBQUV6RCxNQUFNLEdBQUcsR0FBRyxJQUFBLHFDQUFpQixHQUFFLENBQUE7QUFDL0IsSUFBSSxjQUFjLEdBQXVELElBQUksQ0FBQTtBQUU3RSxTQUFTLGlCQUFpQjtJQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsY0FBYyxHQUFHLGtEQUFPLDBCQUEwQixJQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5RCxjQUFjLEdBQUcsSUFBSSxDQUFBO1lBQ3JCLE1BQU0sR0FBRyxDQUFBO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUE7QUFDdkIsQ0FBQztBQUVELE1BQWEsbUJBQW1CO0lBU0Y7SUFOcEIsY0FBYyxHQUFHLEtBQUssRUFBYSxDQUFBO0lBQ25DLGFBQWEsQ0FBZ0I7SUFDN0IsZUFBZSxHQUFHLElBQUksQ0FBQTtJQUVkLGlCQUFpQixDQUE4QjtJQUUvRCxZQUE0QixxQkFBNkI7UUFBN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLHlDQUE0QixDQUN2RCxxQkFBcUIsQ0FDdEIsQ0FBQTtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcs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WUFDckMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLHlCQUF5QixFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQ2pELENBQUM7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3RCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1lBRXpCLGtDQUFrQztZQUNsQyxpQkFBaUI7UUFDbkIsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQTtJQUN6QixDQUFDO0NBQ0Y7QUFwSkQsa0RBb0pDO0FBRUQsa0JBQWUsbUJBQW1CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgdHlwZSB7XG4gIEZpcmVob3NlQ2xpZW50LFxuICBQdXRSZWNvcmRCYXRjaElucHV0XG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZmlyZWhvc2VcIlxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tIFwiLi4vLi4vTGV2ZWwuanNcIlxuXG5pbXBvcnQgQVdTRmlyZWhvc2VDcmVkZW50aWFsTWFuYWdlciwge1xuICB0eXBlIEFXU0NyZWRlbnRpYWxzXG59IGZyb20gXCIuL0FXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXIuanNcIlxuaW1wb3J0IHsgZ2V0SW50ZXJuYWxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vSW50ZXJuYWxMb2dnZXIuanNcIlxuaW1wb3J0IHsgcGljayB9IGZyb20gXCJsb2Rhc2hcIlxuaW1wb3J0IHsgRGVmZXJyZWQgfSBmcm9tIFwiLi4vLi4vLi4vaGVscGVycy9pbmRleC5qc1wiXG5pbXBvcnQgeyBMb2dSZWNvcmQgfSBmcm9tIFwiLi4vLi4vTG9nUmVjb3JkLmpzXCJcbmltcG9ydCB7IEFwcGVuZGVyIH0gZnJvbSBcIi4uLy4uL0FwcGVuZGVyLmpzXCJcblxuY29uc3QgTG9nUXVldWVNYXhSZWNvcmRzID0gMTAwMDBcbmNvbnN0IEV4cGlyZWRUb2tlbkV4Y2VwdGlvbkNvZGUgPSBcIkV4cGlyZWRUb2tlbkV4Y2VwdGlvblwiXG5cbmNvbnN0IGxvZyA9IGdldEludGVybmFsTG9nZ2VyKClcbmxldCBmaXJlaG9zZU1vZHVsZTogUHJvbWlzZTx0eXBlb2YgaW1wb3J0KFwiQGF3cy1zZGsvY2xpZW50LWZpcmVob3NlXCIpPiA9IG51bGxcblxuZnVuY3Rpb24gZ2V0RmlyZWhvc2VNb2R1bGUoKSB7XG4gIGlmICghZmlyZWhvc2VNb2R1bGUpIHtcbiAgICBmaXJlaG9zZU1vZHVsZSA9IGltcG9ydChcIkBhd3Mtc2RrL2NsaWVudC1maXJlaG9zZVwiKS5jYXRjaChlcnIgPT4ge1xuICAgICAgZmlyZWhvc2VNb2R1bGUgPSBudWxsXG4gICAgICB0aHJvdyBlcnJcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGZpcmVob3NlTW9kdWxlXG59XG5cbmV4cG9ydCBjbGFzcyBBV1NGaXJlaG9zZUFwcGVuZGVyPFxuICBSZWNvcmQgZXh0ZW5kcyBMb2dSZWNvcmQgPSBMb2dSZWNvcmRcbj4gaW1wbGVtZW50cyBBcHBlbmRlcjxSZWNvcmQ+IHtcbiAgcHJpdmF0ZSBwZW5kaW5nUmVjb3JkcyA9IEFycmF5PExvZ1JlY29yZD4oKVxuICBwcml2YXRlIGZsdXNoRGVmZXJyZWQ6IERlZmVycmVkPHZvaWQ+XG4gIHByaXZhdGUgZmx1c2hJbnRlcnZhbE1zID0gMTAwMFxuXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsTWFuYWdlcjogQVdTRmlyZWhvc2VDcmVkZW50aWFsTWFuYWdlclxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsRW5kcG9pbnRVcmw6IHN0cmluZykge1xuICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIgPSBuZXcgQVdTRmlyZWhvc2VDcmVkZW50aWFsTWFuYWdlcihcbiAgICAgIGNyZWRlbnRpYWxFbmRwb2ludFVybFxuICAgIClcbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLm9uKFwicmVjZWl2ZWRcIiwgKCkgPT4ge1xuICAgICAgbG9nLmluZm8oXCJDcmVkZW50aWFscyByZWNlaXZlZCwgaW5pdGlhbGl6aW5nIGZpcmVob3NlIGNsaWVudFwiKVxuICAgICAgaWYgKCF0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCB8fCAhIXRoaXMuZmx1c2hEZWZlcnJlZCkge1xuICAgICAgICBsb2cuZGVidWcoXG4gICAgICAgICAgXCJOb3RoaW5nIHRvIGZsdXNoIHVwb24gY3JlZGVudGlhbCByZWNlaXB0IE9SIGZsdXNoIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIlxuICAgICAgICApXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKChlOiBFcnJvcikgPT4ge1xuICAgICAgICBsb2cuZXJyb3IoXG4gICAgICAgICAgYEVycm9yIGZsdXNoaW5nIGxvZ3MgYWZ0ZXIgY3JlZGVudGlhbCByZWNlaXB0OiAke2UubWVzc2FnZX1gLFxuICAgICAgICAgIGVcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG4gIGFwcGVuZChyZWNvcmQ6IFJlY29yZCk6IHZvaWQge1xuICAgIGNvbnN0IHBlbmRpbmdDb3VudCA9IHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoICsgMSxcbiAgICAgIHJlbW92ZUNvdW50ID0gTG9nUXVldWVNYXhSZWNvcmRzIC0gcGVuZGluZ0NvdW50XG5cbiAgICBpZiAocmVtb3ZlQ291bnQgPCAwKSB7XG4gICAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCBNYXRoLmFicyhyZW1vdmVDb3VudCkpXG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy5wdXNoKHtcbiAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICAgIC4uLnJlY29yZCxcbiAgICAgIGFwcDogcmVjb3JkLmFwcD8ubGVuZ3RoID4gMCA/IHJlY29yZC5hcHAgOiBcIlVOS05PV05cIixcbiAgICAgIGVudjogcmVjb3JkLmVudj8ubGVuZ3RoID4gMCA/IHJlY29yZC5lbnYgOiBcIlVOS05PV05cIixcbiAgICAgIHVybDogdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwibG9jYWw6Ly9cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgfSlcblxuICAgIHRoaXMuZmx1c2goKVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgRmlyZWhvc2UgY2xpZW50IGZvciBhIGxvYWRlZCBjcmVkZW50aWFsIHNldC5cbiAgICogQHBhcmFtIGNyZWRzIExvYWRlZCBGaXJlaG9zZSBjcmVkZW50aWFscy5cbiAgICogQHJldHVybnMgRmlyZWhvc2UgY2xpZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZXRGaXJlaG9zZShjcmVkczogQVdTQ3JlZGVudGlhbHMpOiBQcm9taXNlPEZpcmVob3NlQ2xpZW50PiB7XG4gICAgY29uc3QgeyByZWdpb24sIHN0cmVhbU5hbWUgfSA9IGNyZWRzXG5cbiAgICBpZiAoIXJlZ2lvbiB8fCAhc3RyZWFtTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVnaW9uIG9yIHN0cmVhbSBuYW1lIG5vdCBhdmFpbGFibGVcIilcbiAgICB9XG5cbiAgICBjb25zdCB7IEZpcmVob3NlQ2xpZW50IH0gPSBhd2FpdCBnZXRGaXJlaG9zZU1vZHVsZSgpXG4gICAgY29uc3QgY2xpZW50ID0gbmV3IEZpcmVob3NlQ2xpZW50KHtcbiAgICAgIHJlZ2lvbjogY3JlZHMucmVnaW9uLFxuICAgICAgY3JlZGVudGlhbHM6IHBpY2soY3JlZHMsIFwiYWNjZXNzS2V5SWRcIiwgXCJzZWNyZXRBY2Nlc3NLZXlcIiwgXCJzZXNzaW9uVG9rZW5cIilcbiAgICB9KVxuXG4gICAgcmV0dXJuIGNsaWVudFxuICB9XG5cbiAgLyoqXG4gICAqIEZsdXNoIHBlbmRpbmcgcmVjb3Jkc1xuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCEhdGhpcy5mbHVzaERlZmVycmVkKSB7XG4gICAgICBsb2cuZGVidWcoXCJGbHVzaCBhbHJlYWR5IGluIHByb2dyZXNzLCBza2lwcGluZ1wiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCkge1xuICAgICAgbG9nLmRlYnVnKFwiTm8gcGVuZGluZyByZWNvcmRzIHRvIGZsdXNoXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY3JlZHMgPSB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLmdldENyZWRlbnRpYWxzKClcbiAgICBpZiAoIWNyZWRzKSB7XG4gICAgICBsb2cud2FybihcIk5vIGNyZWRlbnRpYWxzIGF2YWlsYWJsZSBmb3IgZmx1c2hcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGRlZmVycmVkID0gKHRoaXMuZmx1c2hEZWZlcnJlZCA9IG5ldyBEZWZlcnJlZDx2b2lkPigpKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHN0cmVhbU5hbWUgfSA9IGNyZWRzLFxuICAgICAgICBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEZpcmVob3NlKGNyZWRzKSxcbiAgICAgICAgeyBQdXRSZWNvcmRCYXRjaENvbW1hbmQgfSA9IGF3YWl0IGdldEZpcmVob3NlTW9kdWxlKClcblxuICAgICAgd2hpbGUgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGgubWluKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoLCAxMCksXG4gICAgICAgICAgcmVjb3JkcyA9IHRoaXMucGVuZGluZ1JlY29yZHMuc3BsaWNlKDAsIGNodW5rU2l6ZSksXG4gICAgICAgICAgcmVjb3JkSnNvbnMgPSByZWNvcmRzLm1hcChyZWNvcmQgPT4gSlNPTi5zdHJpbmdpZnkocmVjb3JkKSlcblxuICAgICAgICBpZiAobG9nLmlzRGVidWdFbmFibGVkKCkpIGxvZy5kZWJ1ZyhcIlJlY29yZHNcIiwgcmVjb3JkcylcblxuICAgICAgICBjb25zdCB0ZXh0RW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpLFxuICAgICAgICAgIGJhdGNoOiBQdXRSZWNvcmRCYXRjaElucHV0W1wiUmVjb3Jkc1wiXSA9IHJlY29yZEpzb25zLm1hcChqc29uU3RyID0+ICh7XG4gICAgICAgICAgICBEYXRhOiB0ZXh0RW5jb2Rlci5lbmNvZGUoanNvblN0cilcbiAgICAgICAgICB9KSlcblxuICAgICAgICBsb2cuaW5mbyhgUHVzaGluZyAke3JlY29yZHMubGVuZ3RofSByZWNvcmRzIHRvIGZpcmVob3NlYClcblxuICAgICAgICBjb25zdCBjbWQgPSBuZXcgUHV0UmVjb3JkQmF0Y2hDb21tYW5kKHtcbiAgICAgICAgICBEZWxpdmVyeVN0cmVhbU5hbWU6IHN0cmVhbU5hbWUsXG4gICAgICAgICAgUmVjb3JkczogYmF0Y2hcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgY2xpZW50LnNlbmQoY21kKVxuICAgICAgICBjb25zdCBmYWlsZWQgPSByZXNwLkZhaWxlZFB1dENvdW50IHx8IDBcbiAgICAgICAgaWYgKGZhaWxlZCkge1xuICAgICAgICAgIGNvbnN0IHJyID0gcmVzcC5SZXF1ZXN0UmVzcG9uc2VzIHx8IFtdXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHJyW2ldLkVycm9yQ29kZSkge1xuICAgICAgICAgICAgICBsb2cud2FybihcbiAgICAgICAgICAgICAgICBgUmVjb3JkIGZhaWxlZDogJHtycltpXS5FcnJvckNvZGV9ICR7cnJbaV0uRXJyb3JNZXNzYWdlfWBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAvL3RoaXMucGVuZGluZ1JlY29yZHMudW5zaGlmdChyZWNvcmRzW2ldKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBsb2cuaW5mbyhgUHV0UmVjb3JkQmF0Y2ggZmFpbGVkPSR7ZmFpbGVkfTsgcmVxdWV1ZWQgZmFpbGVkIHJlY29yZHNgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy5pbmZvKGBQdXRSZWNvcmRCYXRjaCBvayBjb3VudD0ke3JlY29yZHMubGVuZ3RofWApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRlZmVycmVkLnJlc29sdmUoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIHB1c2ggbG9nc1wiLCBlcnIpXG4gICAgICBpZiAoZXJyLm5hbWUgPT09IEV4cGlyZWRUb2tlbkV4Y2VwdGlvbkNvZGUpIHtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5mb3JjZVVwZGF0ZUNyZWRlbnRpYWxzKClcbiAgICAgIH1cbiAgICAgIGRlZmVycmVkLnJlamVjdChlcnIpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZmx1c2hEZWZlcnJlZCA9IG51bGxcblxuICAgICAgLy8gaWYgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKVxuICAgICAgLy8gICB0aGlzLmZsdXNoKClcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFXU0ZpcmVob3NlQXBwZW5kZXJcbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVdTRmlyZWhvc2VBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9hd3MtZmlyZWhvc2UvQVdTRmlyZWhvc2VBcHBlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSx3R0FFMEM7QUFDMUMsK0RBQTJEO0FBQzNELG1DQUE2QjtBQUM3Qix3REFBb0Q7QUFJcEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7QUFDaEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQTtBQUV6RCxNQUFNLEdBQUcsR0FBRyxJQUFBLHFDQUFpQixHQUFFLENBQUE7QUFDL0IsSUFBSSxjQUFjLEdBQXVELElBQUksQ0FBQTtBQUU3RSxTQUFTLGlCQUFpQjtJQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsY0FBYyxHQUFHLGtEQUFPLDBCQUEwQixJQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5RCxjQUFjLEdBQUcsSUFBSSxDQUFBO1lBQ3JCLE1BQU0sR0FBRyxDQUFBO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUE7QUFDdkIsQ0FBQztBQUVELE1BQWEsbUJBQW1CO0lBU0Y7SUFOcEIsY0FBYyxHQUFHLEtBQUssRUFBYSxDQUFBO0lBQ25DLGFBQWEsQ0FBZ0I7SUFDN0IsZUFBZSxHQUFHLElBQUksQ0FBQTtJQUVkLGlCQUFpQixDQUE4QjtJQUUvRCxZQUE0QixxQkFBNkI7UUFBN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLHlDQUE0QixDQUN2RCxxQkFBcUIsQ0FDdEIsQ0FBQTtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcs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WUFDckMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLHlCQUF5QixFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQ2pELENBQUM7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3RCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1lBRXpCLGtDQUFrQztZQUNsQyxpQkFBaUI7UUFDbkIsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQTtJQUN6QixDQUFDO0NBQ0Y7QUFwSkQsa0RBb0pDO0FBRUQsa0JBQWUsbUJBQW1CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEZpcmVob3NlQ2xpZW50LFxuICBQdXRSZWNvcmRCYXRjaElucHV0XG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZmlyZWhvc2VcIlxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tIFwiLi4vLi4vTGV2ZWwuanNcIlxuXG5pbXBvcnQgQVdTRmlyZWhvc2VDcmVkZW50aWFsTWFuYWdlciwge1xuICB0eXBlIEFXU0NyZWRlbnRpYWxzXG59IGZyb20gXCIuL0FXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXIuanNcIlxuaW1wb3J0IHsgZ2V0SW50ZXJuYWxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vSW50ZXJuYWxMb2dnZXIuanNcIlxuaW1wb3J0IHsgcGljayB9IGZyb20gXCJsb2Rhc2hcIlxuaW1wb3J0IHsgRGVmZXJyZWQgfSBmcm9tIFwiLi4vLi4vLi4vaGVscGVycy9pbmRleC5qc1wiXG5pbXBvcnQgeyBMb2dSZWNvcmQgfSBmcm9tIFwiLi4vLi4vTG9nUmVjb3JkLmpzXCJcbmltcG9ydCB7IEFwcGVuZGVyIH0gZnJvbSBcIi4uLy4uL0FwcGVuZGVyLmpzXCJcblxuY29uc3QgTG9nUXVldWVNYXhSZWNvcmRzID0gMTAwMDBcbmNvbnN0IEV4cGlyZWRUb2tlbkV4Y2VwdGlvbkNvZGUgPSBcIkV4cGlyZWRUb2tlbkV4Y2VwdGlvblwiXG5cbmNvbnN0IGxvZyA9IGdldEludGVybmFsTG9nZ2VyKClcbmxldCBmaXJlaG9zZU1vZHVsZTogUHJvbWlzZTx0eXBlb2YgaW1wb3J0KFwiQGF3cy1zZGsvY2xpZW50LWZpcmVob3NlXCIpPiA9IG51bGxcblxuZnVuY3Rpb24gZ2V0RmlyZWhvc2VNb2R1bGUoKSB7XG4gIGlmICghZmlyZWhvc2VNb2R1bGUpIHtcbiAgICBmaXJlaG9zZU1vZHVsZSA9IGltcG9ydChcIkBhd3Mtc2RrL2NsaWVudC1maXJlaG9zZVwiKS5jYXRjaChlcnIgPT4ge1xuICAgICAgZmlyZWhvc2VNb2R1bGUgPSBudWxsXG4gICAgICB0aHJvdyBlcnJcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGZpcmVob3NlTW9kdWxlXG59XG5cbmV4cG9ydCBjbGFzcyBBV1NGaXJlaG9zZUFwcGVuZGVyPFxuICBSZWNvcmQgZXh0ZW5kcyBMb2dSZWNvcmQgPSBMb2dSZWNvcmRcbj4gaW1wbGVtZW50cyBBcHBlbmRlcjxSZWNvcmQ+IHtcbiAgcHJpdmF0ZSBwZW5kaW5nUmVjb3JkcyA9IEFycmF5PExvZ1JlY29yZD4oKVxuICBwcml2YXRlIGZsdXNoRGVmZXJyZWQ6IERlZmVycmVkPHZvaWQ+XG4gIHByaXZhdGUgZmx1c2hJbnRlcnZhbE1zID0gMTAwMFxuXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsTWFuYWdlcjogQVdTRmlyZWhvc2VDcmVkZW50aWFsTWFuYWdlclxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsRW5kcG9pbnRVcmw6IHN0cmluZykge1xuICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIgPSBuZXcgQVdTRmlyZWhvc2VDcmVkZW50aWFsTWFuYWdlcihcbiAgICAgIGNyZWRlbnRpYWxFbmRwb2ludFVybFxuICAgIClcbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLm9uKFwicmVjZWl2ZWRcIiwgKCkgPT4ge1xuICAgICAgbG9nLmluZm8oXCJDcmVkZW50aWFscyByZWNlaXZlZCwgaW5pdGlhbGl6aW5nIGZpcmVob3NlIGNsaWVudFwiKVxuICAgICAgaWYgKCF0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCB8fCAhIXRoaXMuZmx1c2hEZWZlcnJlZCkge1xuICAgICAgICBsb2cuZGVidWcoXG4gICAgICAgICAgXCJOb3RoaW5nIHRvIGZsdXNoIHVwb24gY3JlZGVudGlhbCByZWNlaXB0IE9SIGZsdXNoIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIlxuICAgICAgICApXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKChlOiBFcnJvcikgPT4ge1xuICAgICAgICBsb2cuZXJyb3IoXG4gICAgICAgICAgYEVycm9yIGZsdXNoaW5nIGxvZ3MgYWZ0ZXIgY3JlZGVudGlhbCByZWNlaXB0OiAke2UubWVzc2FnZX1gLFxuICAgICAgICAgIGVcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG4gIGFwcGVuZChyZWNvcmQ6IFJlY29yZCk6IHZvaWQge1xuICAgIGNvbnN0IHBlbmRpbmdDb3VudCA9IHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoICsgMSxcbiAgICAgIHJlbW92ZUNvdW50ID0gTG9nUXVldWVNYXhSZWNvcmRzIC0gcGVuZGluZ0NvdW50XG5cbiAgICBpZiAocmVtb3ZlQ291bnQgPCAwKSB7XG4gICAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCBNYXRoLmFicyhyZW1vdmVDb3VudCkpXG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy5wdXNoKHtcbiAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICAgIC4uLnJlY29yZCxcbiAgICAgIGFwcDogcmVjb3JkLmFwcD8ubGVuZ3RoID4gMCA/IHJlY29yZC5hcHAgOiBcIlVOS05PV05cIixcbiAgICAgIGVudjogcmVjb3JkLmVudj8ubGVuZ3RoID4gMCA/IHJlY29yZC5lbnYgOiBcIlVOS05PV05cIixcbiAgICAgIHVybDogdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwibG9jYWw6Ly9cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgfSlcblxuICAgIHRoaXMuZmx1c2goKVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgRmlyZWhvc2UgY2xpZW50IGZvciBhIGxvYWRlZCBjcmVkZW50aWFsIHNldC5cbiAgICogQHBhcmFtIGNyZWRzIExvYWRlZCBGaXJlaG9zZSBjcmVkZW50aWFscy5cbiAgICogQHJldHVybnMgRmlyZWhvc2UgY2xpZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZXRGaXJlaG9zZShjcmVkczogQVdTQ3JlZGVudGlhbHMpOiBQcm9taXNlPEZpcmVob3NlQ2xpZW50PiB7XG4gICAgY29uc3QgeyByZWdpb24sIHN0cmVhbU5hbWUgfSA9IGNyZWRzXG5cbiAgICBpZiAoIXJlZ2lvbiB8fCAhc3RyZWFtTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVnaW9uIG9yIHN0cmVhbSBuYW1lIG5vdCBhdmFpbGFibGVcIilcbiAgICB9XG5cbiAgICBjb25zdCB7IEZpcmVob3NlQ2xpZW50IH0gPSBhd2FpdCBnZXRGaXJlaG9zZU1vZHVsZSgpXG4gICAgY29uc3QgY2xpZW50ID0gbmV3IEZpcmVob3NlQ2xpZW50KHtcbiAgICAgIHJlZ2lvbjogY3JlZHMucmVnaW9uLFxuICAgICAgY3JlZGVudGlhbHM6IHBpY2soY3JlZHMsIFwiYWNjZXNzS2V5SWRcIiwgXCJzZWNyZXRBY2Nlc3NLZXlcIiwgXCJzZXNzaW9uVG9rZW5cIilcbiAgICB9KVxuXG4gICAgcmV0dXJuIGNsaWVudFxuICB9XG5cbiAgLyoqXG4gICAqIEZsdXNoIHBlbmRpbmcgcmVjb3Jkc1xuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCEhdGhpcy5mbHVzaERlZmVycmVkKSB7XG4gICAgICBsb2cuZGVidWcoXCJGbHVzaCBhbHJlYWR5IGluIHByb2dyZXNzLCBza2lwcGluZ1wiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCkge1xuICAgICAgbG9nLmRlYnVnKFwiTm8gcGVuZGluZyByZWNvcmRzIHRvIGZsdXNoXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY3JlZHMgPSB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLmdldENyZWRlbnRpYWxzKClcbiAgICBpZiAoIWNyZWRzKSB7XG4gICAgICBsb2cud2FybihcIk5vIGNyZWRlbnRpYWxzIGF2YWlsYWJsZSBmb3IgZmx1c2hcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGRlZmVycmVkID0gKHRoaXMuZmx1c2hEZWZlcnJlZCA9IG5ldyBEZWZlcnJlZDx2b2lkPigpKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHN0cmVhbU5hbWUgfSA9IGNyZWRzLFxuICAgICAgICBjbGllbnQgPSBhd2FpdCB0aGlzLmdldEZpcmVob3NlKGNyZWRzKSxcbiAgICAgICAgeyBQdXRSZWNvcmRCYXRjaENvbW1hbmQgfSA9IGF3YWl0IGdldEZpcmVob3NlTW9kdWxlKClcblxuICAgICAgd2hpbGUgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGgubWluKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoLCAxMCksXG4gICAgICAgICAgcmVjb3JkcyA9IHRoaXMucGVuZGluZ1JlY29yZHMuc3BsaWNlKDAsIGNodW5rU2l6ZSksXG4gICAgICAgICAgcmVjb3JkSnNvbnMgPSByZWNvcmRzLm1hcChyZWNvcmQgPT4gSlNPTi5zdHJpbmdpZnkocmVjb3JkKSlcblxuICAgICAgICBpZiAobG9nLmlzRGVidWdFbmFibGVkKCkpIGxvZy5kZWJ1ZyhcIlJlY29yZHNcIiwgcmVjb3JkcylcblxuICAgICAgICBjb25zdCB0ZXh0RW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpLFxuICAgICAgICAgIGJhdGNoOiBQdXRSZWNvcmRCYXRjaElucHV0W1wiUmVjb3Jkc1wiXSA9IHJlY29yZEpzb25zLm1hcChqc29uU3RyID0+ICh7XG4gICAgICAgICAgICBEYXRhOiB0ZXh0RW5jb2Rlci5lbmNvZGUoanNvblN0cilcbiAgICAgICAgICB9KSlcblxuICAgICAgICBsb2cuaW5mbyhgUHVzaGluZyAke3JlY29yZHMubGVuZ3RofSByZWNvcmRzIHRvIGZpcmVob3NlYClcblxuICAgICAgICBjb25zdCBjbWQgPSBuZXcgUHV0UmVjb3JkQmF0Y2hDb21tYW5kKHtcbiAgICAgICAgICBEZWxpdmVyeVN0cmVhbU5hbWU6IHN0cmVhbU5hbWUsXG4gICAgICAgICAgUmVjb3JkczogYmF0Y2hcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgY2xpZW50LnNlbmQoY21kKVxuICAgICAgICBjb25zdCBmYWlsZWQgPSByZXNwLkZhaWxlZFB1dENvdW50IHx8IDBcbiAgICAgICAgaWYgKGZhaWxlZCkge1xuICAgICAgICAgIGNvbnN0IHJyID0gcmVzcC5SZXF1ZXN0UmVzcG9uc2VzIHx8IFtdXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHJyW2ldLkVycm9yQ29kZSkge1xuICAgICAgICAgICAgICBsb2cud2FybihcbiAgICAgICAgICAgICAgICBgUmVjb3JkIGZhaWxlZDogJHtycltpXS5FcnJvckNvZGV9ICR7cnJbaV0uRXJyb3JNZXNzYWdlfWBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAvL3RoaXMucGVuZGluZ1JlY29yZHMudW5zaGlmdChyZWNvcmRzW2ldKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBsb2cuaW5mbyhgUHV0UmVjb3JkQmF0Y2ggZmFpbGVkPSR7ZmFpbGVkfTsgcmVxdWV1ZWQgZmFpbGVkIHJlY29yZHNgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy5pbmZvKGBQdXRSZWNvcmRCYXRjaCBvayBjb3VudD0ke3JlY29yZHMubGVuZ3RofWApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRlZmVycmVkLnJlc29sdmUoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIHB1c2ggbG9nc1wiLCBlcnIpXG4gICAgICBpZiAoZXJyLm5hbWUgPT09IEV4cGlyZWRUb2tlbkV4Y2VwdGlvbkNvZGUpIHtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5mb3JjZVVwZGF0ZUNyZWRlbnRpYWxzKClcbiAgICAgIH1cbiAgICAgIGRlZmVycmVkLnJlamVjdChlcnIpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZmx1c2hEZWZlcnJlZCA9IG51bGxcblxuICAgICAgLy8gaWYgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKVxuICAgICAgLy8gICB0aGlzLmZsdXNoKClcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFXU0ZpcmVob3NlQXBwZW5kZXJcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"PushLogRecordsAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/push/PushLogRecordsAppender.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAa5C,UAAU,uCAAuC;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,aAAa,CAAC,uCAAuC,CAAC;aAK7E,WAAW,EAAE,MAAM;IAJ/C,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,oBAAoB,CAAsB;gBAEtB,WAAW,EAAE,MAAM;IAI/C;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAkBpB;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;;GAGG;AACH,qBAAa,sBAAsB,CACjC,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,WAAW,EAAE,MAAM;IAN/C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,UAAU,CAA6C;IAE/D,SAAgB,iBAAiB,EAAE,+BAA+B,CAAA;gBAEtC,WAAW,EAAE,MAAM;IAa/C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,KAAK;IA0DnB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAQpC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"PushLogRecordsAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/push/PushLogRecordsAppender.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAa5C,UAAU,uCAAuC;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,aAAa,CAAC,uCAAuC,CAAC;aAK7E,WAAW,EAAE,MAAM;IAJ/C,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,oBAAoB,CAAsB;gBAEtB,WAAW,EAAE,MAAM;IAI/C;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAkBpB;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;;GAGG;AACH,qBAAa,sBAAsB,CACjC,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,WAAW,EAAE,MAAM;IAN/C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,UAAU,CAA6C;IAE/D,SAAgB,iBAAiB,EAAE,+BAA+B,CAAA;gBAEtC,WAAW,EAAE,MAAM;IAa/C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,KAAK;IA0DnB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAQpC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAED,eAAe,sBAAsB,CAAA"}
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PushLogRecordsAppender = exports.PushLogRecordsCredentialManager = void 0;
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
7
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
9
8
  const index_js_1 = require("../../../helpers/index.js");
10
9
  const InternalLogger_js_1 = require("../../InternalLogger.js");
@@ -296,4 +295,4 @@ class PushLogRecordsAppender {
296
295
  }
297
296
  exports.PushLogRecordsAppender = PushLogRecordsAppender;
298
297
  exports.default = PushLogRecordsAppender;
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVzaExvZ1JlY29yZHNBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9wdXNoL1B1c2hMb2dSZWNvcmRzQXBwZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELGtFQUF5QztBQUN6Qyx3REFBb0Q7QUFHcEQsK0RBQTJEO0FBRTNELG1EQUFtRDtBQUNuRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFBLENBQUMsYUFBYTtBQUN4RCxNQUFNLHdCQUF3QixHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFBLENBQUMsc0NBQXNDO0FBQ3JGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFBO0FBQzlCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQSxDQUFDLGFBQWE7QUFDaEQsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUE7QUFDbkMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFBO0FBRWxDLE1BQU0sR0FBRyxHQUFHLElBQUEscUNBQWlCLEdBQUUsQ0FBQTtBQU8vQjs7O0dBR0c7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLHVCQUFzRDtJQUs3RTtJQUpwQixZQUFZLEdBQXlDLElBQUksQ0FBQTtJQUN6RCxrQkFBa0IsR0FBMEIsSUFBSSxDQUFBO0lBQ2hELG9CQUFvQixHQUFrQixJQUFJLENBQUE7SUFFbEQsWUFBNEIsV0FBbUI7UUFDN0MsS0FBSyxFQUFFLENBQUE7UUFEbUIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFFL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJ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QztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7UUFDeEIsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUVoQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFBO1FBQzVELENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0NBQ0Y7QUFyS0Qsd0RBcUtDO0FBRUQsa0JBQWUsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgRXZlbnRFbWl0dGVyMyBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgeyBEZWZlcnJlZCB9IGZyb20gXCIuLi8uLi8uLi9oZWxwZXJzL2luZGV4LmpzXCJcbmltcG9ydCB7IExvZ1JlY29yZCB9IGZyb20gXCIuLi8uLi9Mb2dSZWNvcmQuanNcIlxuaW1wb3J0IHsgQXBwZW5kZXIgfSBmcm9tIFwiLi4vLi4vQXBwZW5kZXIuanNcIlxuaW1wb3J0IHsgZ2V0SW50ZXJuYWxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vSW50ZXJuYWxMb2dnZXIuanNcIlxuXG4vLyBDb25zdGFudHMgZm9yIHR1bmluZyAoYWRqdXN0YWJsZSBpbiBkZXZlbG9wbWVudClcbmNvbnN0IENPT0tJRV9FWFBJUkFUSU9OX01TID0gNSAqIDYwICogMTAwMCAvLyAzMCBtaW51dGVzXG5jb25zdCBDT09LSUVfUkVGUkVTSF9CVUZGRVJfTVMgPSAyICogNjAgKiAxMDAwIC8vIFJlZnJlc2ggMiBtaW51dGVzIGJlZm9yZSBleHBpcmF0aW9uXG5jb25zdCBGTFVTSF9RVUVVRV9ERVBUSCA9IDEwMDBcbmNvbnN0IEZMVVNIX0lOVEVSVkFMX01TID0gNSAqIDEwMDAgLy8gMTAgc2Vjb25kc1xuY29uc3QgTE9HX1FVRVVFX01BWF9SRUNPUkRTID0gMTAwMDBcbmNvbnN0IENPT0tJRV9OQU1FID0gXCJ3aXJlX2xvZ3NfaWRcIlxuXG5jb25zdCBsb2cgPSBnZXRJbnRlcm5hbExvZ2dlcigpXG5cbmludGVyZmFjZSBQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyRXZlbnRNYXAge1xuICByZWNlaXZlZDogKCkgPT4gdm9pZFxuICBleHBpcmVkOiAoKSA9PiB2b2lkXG59XG5cbi8qKlxuICogTWFuYWdlcyBjcmVkZW50aWFsIGNvb2tpZSBmb3IgUHVzaExvZ1JlY29yZHNBcHBlbmRlci5cbiAqIEludm9rZXMgdGhlIGVuZHBvaW50IHZpYSBQT1NUIHRvIG9idGFpbiBhIHNlc3Npb24gY29va2llLlxuICovXG5leHBvcnQgY2xhc3MgUHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlciBleHRlbmRzIEV2ZW50RW1pdHRlcjM8UHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlckV2ZW50TWFwPiB7XG4gIHByaXZhdGUgcmVmcmVzaFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsXG4gIHByaXZhdGUgY3JlZGVudGlhbERlZmVycmVkOiBEZWZlcnJlZDx2b2lkPiB8IG51bGwgPSBudWxsXG4gIHByaXZhdGUgY29va2llRXhwaXJhdGlvblRpbWU6IG51bWJlciB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVuZHBvaW50VXJsOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdmFsaWQgY3JlZGVudGlhbHMgZXhpc3RcbiAgICovXG4gIGhhc0NyZWRlbnRpYWxzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKERhdGUubm93KCkgPj0gdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSkge1xuICAgICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IG51bGxcbiAgICAgIHRoaXMuZW1pdChcImV4cGlyZWRcIilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKipcbiAgICogR2V0IGNyZWRlbnRpYWxzLCBmZXRjaGluZyB0aGVtIGlmIG5lY2Vzc2FyeVxuICAgKi9cbiAgYXN5bmMgZW5zdXJlQ3JlZGVudGlhbHMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gSWYgd2UgaGF2ZSB2YWxpZCBjcmVkZW50aWFscywgcmV0dXJuIGltbWVkaWF0ZWx5XG4gICAgaWYgKHRoaXMuaGFzQ3JlZGVudGlhbHMoKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyBJZiBhIGZldGNoIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdhaXQgZm9yIGl0XG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbERlZmVycmVkICYmICF0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQucHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5oYXNDcmVkZW50aWFscygpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggbmV3IGNyZWRlbnRpYWxzXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hDcmVkZW50aWFscygpXG4gIH1cblxuICAvKipcbiAgICogRm9yY2UgcmVmcmVzaCBvZiBjcmVkZW50aWFsc1xuICAgKi9cbiAgZm9yY2VSZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZnJlc2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaFRpbWVyKVxuICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IG51bGxcblxuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCAmJiAhdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQuaXNTZXR0bGVkKCkpIHtcbiAgICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoXCJGb3JjZSByZWZyZXNoIHJlcXVlc3RlZFwiKSlcbiAgICB9XG4gICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG5cbiAgICB0aGlzLmZldGNoQ3JlZGVudGlhbHMoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAvLyBJZ25vcmUgZXJyb3JzIGR1cmluZyBmb3JjZSByZWZyZXNoLCB0aGV5J2xsIGJlIGhhbmRsZWQgb24gbmV4dCByZXF1ZXN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBjcmVkZW50aWFscyBmcm9tIHRoZSBlbmRwb2ludFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaENyZWRlbnRpYWxzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRlZmVycmVkID0gKHRoaXMuY3JlZGVudGlhbERlZmVycmVkID0gbmV3IERlZmVycmVkPHZvaWQ+KCkpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmVuZHBvaW50VXJsLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIG1vZGU6IFwiY29yc1wiLFxuICAgICAgICBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICB9LFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7fSlcbiAgICAgIH0pXG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDcmVkZW50aWFsIHJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzICR7cmVzcG9uc2Uuc3RhdHVzfWBcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBDb29raWUgaXMgc2V0IGJ5IFNldC1Db29raWUgaGVhZGVyLCB3ZSBqdXN0IG5lZWQgdG8gdHJhY2sgZXhwaXJhdGlvblxuICAgICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IERhdGUubm93KCkgKyBDT09LSUVfRVhQSVJBVElPTl9NU1xuXG4gICAgICAvLyBTY2hlZHVsZSByZWZyZXNoIGJlZm9yZSBleHBpcmF0aW9uXG4gICAgICB0aGlzLnNjaGVkdWxlUmVmcmVzaCgpXG5cbiAgICAgIGRlZmVycmVkLnJlc29sdmUoKVxuICAgICAgdGhpcy5lbWl0KFwicmVjZWl2ZWRcIilcblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGZldGNoIHB1c2ggbG9nIGNyZWRlbnRpYWxzXCIsIGVycilcbiAgICAgIGRlZmVycmVkLnJlamVjdChlcnIpXG4gICAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCA9IG51bGxcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTY2hlZHVsZSBhIGNyZWRlbnRpYWwgcmVmcmVzaCBiZWZvcmUgZXhwaXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBzY2hlZHVsZVJlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVmcmVzaFRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoVGltZXIpXG4gICAgfVxuXG4gICAgY29uc3QgcmVmcmVzaEluID0gQ09PS0lFX0VYUElSQVRJT05fTVMgLSBDT09LSUVfUkVGUkVTSF9CVUZGRVJfTVNcbiAgICB0aGlzLnJlZnJlc2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG4gICAgICB0aGlzLmZldGNoQ3JlZGVudGlhbHMoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIExvZyBidXQgZG9uJ3QgdGhyb3cgLSB3aWxsIHJldHJ5IG9uIG5leHQgcmVxdWVzdFxuICAgICAgICBsb2cuZGVidWcoXCJTY2hlZHVsZWQgY3JlZGVudGlhbCByZWZyZXNoIGZhaWxlZFwiKVxuICAgICAgfSlcbiAgICB9LCByZWZyZXNoSW4pXG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gdXAgcmVzb3VyY2VzXG4gICAqL1xuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZnJlc2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaFRpbWVyKVxuICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbERlZmVycmVkICYmICF0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQucmVqZWN0KG5ldyBFcnJvcihcIkNyZWRlbnRpYWwgbWFuYWdlciBkZXN0cm95ZWRcIikpXG4gICAgfVxuXG4gICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG4gICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IG51bGxcbiAgfVxufVxuXG4vKipcbiAqIEFwcGVuZGVyIHRoYXQgcHVzaGVzIGxvZyByZWNvcmRzIHRvIGEgcmVtb3RlIGVuZHBvaW50IHZpYSBIVFRQIFBVVC5cbiAqIEJhdGNoZXMgcmVjb3JkcyBhbmQgc2VuZHMgd2hlbiBxdWV1ZSByZWFjaGVzIEZMVVNIX1FVRVVFX0RFUFRIIG9yIEZMVVNIX0lOVEVSVkFMX01TIGhhcyBlbGFwc2VkLlxuICovXG5leHBvcnQgY2xhc3MgUHVzaExvZ1JlY29yZHNBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkID0gTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHByaXZhdGUgcGVuZGluZ1JlY29yZHM6IExvZ1JlY29yZFtdID0gW11cbiAgcHJpdmF0ZSBmbHVzaERlZmVycmVkOiBEZWZlcnJlZDx2b2lkPiB8IG51bGwgPSBudWxsXG4gIHByaXZhdGUgZmx1c2hUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbFxuXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsTWFuYWdlcjogUHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlclxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlbmRwb2ludFVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlciA9IG5ldyBQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyKGVuZHBvaW50VXJsKVxuXG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5vbihcInJlY2VpdmVkXCIsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggfHwgdGhpcy5mbHVzaERlZmVycmVkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gRXJyb3JzIGhhbmRsZWQgaW4gZmx1c2hcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgYSBsb2cgcmVjb3JkIHRvIHRoZSBxdWV1ZVxuICAgKi9cbiAgYXBwZW5kKHJlY29yZDogUmVjb3JkKTogdm9pZCB7XG4gICAgLy8gQWRkIHRoZSByZWNvcmQgd2l0aCBlbnJpY2hlZCBtZXRhZGF0YVxuICAgIHRoaXMucGVuZGluZ1JlY29yZHMucHVzaCh7XG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAuLi5yZWNvcmQsXG4gICAgICBhcHA6IHJlY29yZC5hcHAgJiYgcmVjb3JkLmFwcC5sZW5ndGggPiAwID8gcmVjb3JkLmFwcCA6IFwiVU5LTk9XTlwiLFxuICAgICAgZW52OiByZWNvcmQuZW52ICYmIHJlY29yZC5lbnYubGVuZ3RoID4gMCA/IHJlY29yZC5lbnYgOiBcIlVOS05PV05cIixcbiAgICAgIHVybDogdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwibG9jYWw6Ly9cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgfSlcbiAgICB0aGlzLnRyaW1QZW5kaW5nUmVjb3Jkc1RvUXVldWVDYXAoKVxuXG4gICAgLy8gQ2hlY2sgaWYgd2Ugc2hvdWxkIGZsdXNoIGltbWVkaWF0ZWx5IGR1ZSB0byBxdWV1ZSBkZXB0aFxuICAgIGlmICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCA+PSBGTFVTSF9RVUVVRV9ERVBUSCkge1xuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gRXJyb3JzIGhhbmRsZWQgaW4gZmx1c2hcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjaGVkdWxlIGEgZmx1c2ggaWYgbm90IGFscmVhZHkgc2NoZWR1bGVkXG4gICAgICB0aGlzLnNjaGVkdWxlRmx1c2goKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTY2hlZHVsZSBhIGZsdXNoIGFmdGVyIHRoZSBpbnRlcnZhbFxuICAgKi9cbiAgcHJpdmF0ZSBzY2hlZHVsZUZsdXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsdXNoVGltZXIpIHtcbiAgICAgIHJldHVybiAvLyBBbHJlYWR5IHNjaGVkdWxlZFxuICAgIH1cblxuICAgIHRoaXMuZmx1c2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mbHVzaFRpbWVyID0gbnVsbFxuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gRXJyb3JzIGhhbmRsZWQgaW4gZmx1c2hcbiAgICAgIH0pXG4gICAgfSwgRkxVU0hfSU5URVJWQUxfTVMpXG4gIH1cblxuICAvKipcbiAgICogRmx1c2ggcGVuZGluZyByZWNvcmRzIHRvIHRoZSBlbmRwb2ludFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBmbHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBQcmV2ZW50IGNvbmN1cnJlbnQgZmx1c2hlc1xuICAgIGlmICh0aGlzLmZsdXNoRGVmZXJyZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmZsdXNoRGVmZXJyZWQucHJvbWlzZVxuICAgIH1cblxuICAgIC8vIE5vdGhpbmcgdG8gZmx1c2hcbiAgICBpZiAoIXRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgd2UgaGF2ZSB2YWxpZCBjcmVkZW50aWFsc1xuICAgIGNvbnN0IGhhc0NyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5lbnN1cmVDcmVkZW50aWFscygpXG4gICAgaWYgKCFoYXNDcmVkZW50aWFscykge1xuICAgICAgbG9nLmRlYnVnKFwiRmFpbGVkIHRvIHB1c2ggbG9nIHJlY29yZHNcIiwgXCJObyB2YWxpZCBjcmVkZW50aWFscyBhdmFpbGFibGVcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGRlZmVycmVkID0gKHRoaXMuZmx1c2hEZWZlcnJlZCA9IG5ldyBEZWZlcnJlZDx2b2lkPigpKVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFRha2UgYWxsIHBlbmRpbmcgcmVjb3JkcyBmb3IgdGhpcyBmbHVzaFxuICAgICAgY29uc3QgcmVjb3JkcyA9IHRoaXMucGVuZGluZ1JlY29yZHMuc3BsaWNlKDAsIHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKVxuICAgICAgY29uc3QgcGF5bG9hZCA9IHsgcmVjb3JkczogcmVjb3Jkcy5tYXAocmVjb3JkID0+IEpTT04uc3RyaW5naWZ5KHJlY29yZCkpIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmVuZHBvaW50VXJsLCB7XG4gICAgICAgIG1ldGhvZDogXCJQVVRcIixcbiAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBcImluY2x1ZGVcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIC8vIFJlLXF1ZXVlIHJlY29yZHMgb24gZmFpbHVyZVxuICAgICAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnVuc2hpZnQoLi4ucmVjb3JkcylcbiAgICAgICAgdGhpcy50cmltUGVuZGluZ1JlY29yZHNUb1F1ZXVlQ2FwKClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQdXNoIGZhaWxlZCB3aXRoIHN0YXR1cyAke3Jlc3BvbnNlLnN0YXR1c31gKVxuICAgICAgfVxuXG4gICAgICBkZWZlcnJlZC5yZXNvbHZlKClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIkZhaWxlZCB0byBwdXNoIGxvZyByZWNvcmRzXCIsIGVycilcbiAgICAgIGRlZmVycmVkLnJlamVjdChlcnIpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZmx1c2hEZWZlcnJlZCA9IG51bGxcblxuICAgICAgLy8gSWYgbW9yZSByZWNvcmRzIGFjY3VtdWxhdGVkIGR1cmluZyBmbHVzaCwgc2NoZWR1bGUgYW5vdGhlclxuICAgICAgaWYgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNjaGVkdWxlRmx1c2goKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogRm9yY2UgYW4gaW1tZWRpYXRlIGZsdXNoXG4gICAqL1xuICBhc3luYyBmb3JjZUZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmZsdXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmZsdXNoVGltZXIpXG4gICAgICB0aGlzLmZsdXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmx1c2goKVxuICB9XG5cbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhlIHBlbmRpbmcgcXVldWUgY2FwIGJ5IGRyb3BwaW5nIHRoZSBvbGRlc3QgcmVjb3Jkcy5cbiAgICovXG4gIHByaXZhdGUgdHJpbVBlbmRpbmdSZWNvcmRzVG9RdWV1ZUNhcCgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdmVDb3VudCA9IHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoIC0gTE9HX1FVRVVFX01BWF9SRUNPUkRTXG5cbiAgICBpZiAocmVtb3ZlQ291bnQgPiAwKSB7XG4gICAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCByZW1vdmVDb3VudClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gdXAgcmVzb3VyY2VzXG4gICAqL1xuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsdXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmZsdXNoVGltZXIpXG4gICAgICB0aGlzLmZsdXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5kZXN0cm95KClcblxuICAgIGlmICh0aGlzLmZsdXNoRGVmZXJyZWQgJiYgIXRoaXMuZmx1c2hEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdGhpcy5mbHVzaERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoXCJBcHBlbmRlciBkZXN0cm95ZWRcIikpXG4gICAgfVxuXG4gICAgdGhpcy5mbHVzaERlZmVycmVkID0gbnVsbFxuICAgIHRoaXMucGVuZGluZ1JlY29yZHMgPSBbXVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFB1c2hMb2dSZWNvcmRzQXBwZW5kZXJcbiJdfQ==
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVzaExvZ1JlY29yZHNBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9wdXNoL1B1c2hMb2dSZWNvcmRzQXBwZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0VBQXlDO0FBQ3pDLHdEQUFvRDtBQUdwRCwrREFBMkQ7QUFFM0QsbURBQW1EO0FBQ25ELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUEsQ0FBQyxhQUFhO0FBQ3hELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUEsQ0FBQyxzQ0FBc0M7QUFDckYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUE7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFBLENBQUMsYUFBYTtBQUNoRCxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQTtBQUNuQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUE7QUFFbEMsTUFBTSxHQUFHLEdBQUcsSUFBQSxxQ0FBaUIsR0FBRSxDQUFBO0FBTy9COzs7R0FHRztBQUNILE1BQWEsK0JBQWdDLFNBQVEsdUJBQXNEO0lBSzdFO0lBSnBCLFlBQVksR0FBeUMsSUFBSSxDQUFBO0lBQ3pELGtCQUFrQixHQUEwQixJQUFJLENBQUE7SUFDaEQsb0JBQW9CLEdBQWtCLElBQUksQ0FBQTtJQUVsRCxZQUE0QixXQUFtQjtRQUM3QyxLQUFLLEVBQUUsQ0FBQTtRQURtQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUUvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQy9CLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxvQkFB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SUFDSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRWhDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7UUFDNUQsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFBO0lBQzFCLENBQUM7Q0FDRjtBQXJLRCx3REFxS0M7QUFFRCxrQkFBZSxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudEVtaXR0ZXIzIGZyb20gXCJldmVudGVtaXR0ZXIzXCJcbmltcG9ydCB7IERlZmVycmVkIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnMvaW5kZXguanNcIlxuaW1wb3J0IHsgTG9nUmVjb3JkIH0gZnJvbSBcIi4uLy4uL0xvZ1JlY29yZC5qc1wiXG5pbXBvcnQgeyBBcHBlbmRlciB9IGZyb20gXCIuLi8uLi9BcHBlbmRlci5qc1wiXG5pbXBvcnQgeyBnZXRJbnRlcm5hbExvZ2dlciB9IGZyb20gXCIuLi8uLi9JbnRlcm5hbExvZ2dlci5qc1wiXG5cbi8vIENvbnN0YW50cyBmb3IgdHVuaW5nIChhZGp1c3RhYmxlIGluIGRldmVsb3BtZW50KVxuY29uc3QgQ09PS0lFX0VYUElSQVRJT05fTVMgPSA1ICogNjAgKiAxMDAwIC8vIDMwIG1pbnV0ZXNcbmNvbnN0IENPT0tJRV9SRUZSRVNIX0JVRkZFUl9NUyA9IDIgKiA2MCAqIDEwMDAgLy8gUmVmcmVzaCAyIG1pbnV0ZXMgYmVmb3JlIGV4cGlyYXRpb25cbmNvbnN0IEZMVVNIX1FVRVVFX0RFUFRIID0gMTAwMFxuY29uc3QgRkxVU0hfSU5URVJWQUxfTVMgPSA1ICogMTAwMCAvLyAxMCBzZWNvbmRzXG5jb25zdCBMT0dfUVVFVUVfTUFYX1JFQ09SRFMgPSAxMDAwMFxuY29uc3QgQ09PS0lFX05BTUUgPSBcIndpcmVfbG9nc19pZFwiXG5cbmNvbnN0IGxvZyA9IGdldEludGVybmFsTG9nZ2VyKClcblxuaW50ZXJmYWNlIFB1c2hMb2dSZWNvcmRzQ3JlZGVudGlhbE1hbmFnZXJFdmVudE1hcCB7XG4gIHJlY2VpdmVkOiAoKSA9PiB2b2lkXG4gIGV4cGlyZWQ6ICgpID0+IHZvaWRcbn1cblxuLyoqXG4gKiBNYW5hZ2VzIGNyZWRlbnRpYWwgY29va2llIGZvciBQdXNoTG9nUmVjb3Jkc0FwcGVuZGVyLlxuICogSW52b2tlcyB0aGUgZW5kcG9pbnQgdmlhIFBPU1QgdG8gb2J0YWluIGEgc2Vzc2lvbiBjb29raWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyIGV4dGVuZHMgRXZlbnRFbWl0dGVyMzxQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyRXZlbnRNYXA+IHtcbiAgcHJpdmF0ZSByZWZyZXNoVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGxcbiAgcHJpdmF0ZSBjcmVkZW50aWFsRGVmZXJyZWQ6IERlZmVycmVkPHZvaWQ+IHwgbnVsbCA9IG51bGxcbiAgcHJpdmF0ZSBjb29raWVFeHBpcmF0aW9uVGltZTogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW5kcG9pbnRVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB2YWxpZCBjcmVkZW50aWFscyBleGlzdFxuICAgKi9cbiAgaGFzQ3JlZGVudGlhbHMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvb2tpZUV4cGlyYXRpb25UaW1lKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoRGF0ZS5ub3coKSA+PSB0aGlzLmNvb2tpZUV4cGlyYXRpb25UaW1lKSB7XG4gICAgICB0aGlzLmNvb2tpZUV4cGlyYXRpb25UaW1lID0gbnVsbFxuICAgICAgdGhpcy5lbWl0KFwiZXhwaXJlZFwiKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3JlZGVudGlhbHMsIGZldGNoaW5nIHRoZW0gaWYgbmVjZXNzYXJ5XG4gICAqL1xuICBhc3luYyBlbnN1cmVDcmVkZW50aWFscygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBJZiB3ZSBoYXZlIHZhbGlkIGNyZWRlbnRpYWxzLCByZXR1cm4gaW1tZWRpYXRlbHlcbiAgICBpZiAodGhpcy5oYXNDcmVkZW50aWFscygpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8vIElmIGEgZmV0Y2ggaXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2FpdCBmb3IgaXRcbiAgICBpZiAodGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgJiYgIXRoaXMuY3JlZGVudGlhbERlZmVycmVkLmlzU2V0dGxlZCgpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5wcm9taXNlXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NyZWRlbnRpYWxzKClcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGZXRjaCBuZXcgY3JlZGVudGlhbHNcbiAgICByZXR1cm4gdGhpcy5mZXRjaENyZWRlbnRpYWxzKClcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZSByZWZyZXNoIG9mIGNyZWRlbnRpYWxzXG4gICAqL1xuICBmb3JjZVJlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVmcmVzaFRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoVGltZXIpXG4gICAgICB0aGlzLnJlZnJlc2hUaW1lciA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLmNvb2tpZUV4cGlyYXRpb25UaW1lID0gbnVsbFxuXG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbERlZmVycmVkICYmICF0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQucmVqZWN0KG5ldyBFcnJvcihcIkZvcmNlIHJlZnJlc2ggcmVxdWVzdGVkXCIpKVxuICAgIH1cbiAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCA9IG51bGxcblxuICAgIHRoaXMuZmV0Y2hDcmVkZW50aWFscygpLmNhdGNoKCgpID0+IHtcbiAgICAgIC8vIElnbm9yZSBlcnJvcnMgZHVyaW5nIGZvcmNlIHJlZnJlc2gsIHRoZXknbGwgYmUgaGFuZGxlZCBvbiBuZXh0IHJlcXVlc3RcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGNyZWRlbnRpYWxzIGZyb20gdGhlIGVuZHBvaW50XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGZldGNoQ3JlZGVudGlhbHMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGVmZXJyZWQgPSAodGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBuZXcgRGVmZXJyZWQ8dm9pZD4oKSlcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMuZW5kcG9pbnRVcmwsIHtcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBcImluY2x1ZGVcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHt9KVxuICAgICAgfSlcblxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENyZWRlbnRpYWwgcmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtyZXNwb25zZS5zdGF0dXN9YFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIC8vIENvb2tpZSBpcyBzZXQgYnkgU2V0LUNvb2tpZSBoZWFkZXIsIHdlIGp1c3QgbmVlZCB0byB0cmFjayBleHBpcmF0aW9uXG4gICAgICB0aGlzLmNvb2tpZUV4cGlyYXRpb25UaW1lID0gRGF0ZS5ub3coKSArIENPT0tJRV9FWFBJUkFUSU9OX01TXG5cbiAgICAgIC8vIFNjaGVkdWxlIHJlZnJlc2ggYmVmb3JlIGV4cGlyYXRpb25cbiAgICAgIHRoaXMuc2NoZWR1bGVSZWZyZXNoKClcblxuICAgICAgZGVmZXJyZWQucmVzb2x2ZSgpXG4gICAgICB0aGlzLmVtaXQoXCJyZWNlaXZlZFwiKVxuXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gZmV0Y2ggcHVzaCBsb2cgY3JlZGVudGlhbHNcIiwgZXJyKVxuICAgICAgZGVmZXJyZWQucmVqZWN0KGVycilcbiAgICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkID0gbnVsbFxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlIGEgY3JlZGVudGlhbCByZWZyZXNoIGJlZm9yZSBleHBpcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIHNjaGVkdWxlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlZnJlc2hUaW1lcilcbiAgICB9XG5cbiAgICBjb25zdCByZWZyZXNoSW4gPSBDT09LSUVfRVhQSVJBVElPTl9NUyAtIENPT0tJRV9SRUZSRVNIX0JVRkZFUl9NU1xuICAgIHRoaXMucmVmcmVzaFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCA9IG51bGxcbiAgICAgIHRoaXMuZmV0Y2hDcmVkZW50aWFscygpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gTG9nIGJ1dCBkb24ndCB0aHJvdyAtIHdpbGwgcmV0cnkgb24gbmV4dCByZXF1ZXN0XG4gICAgICAgIGxvZy5kZWJ1ZyhcIlNjaGVkdWxlZCBjcmVkZW50aWFsIHJlZnJlc2ggZmFpbGVkXCIpXG4gICAgICB9KVxuICAgIH0sIHJlZnJlc2hJbilcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiB1cCByZXNvdXJjZXNcbiAgICovXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVmcmVzaFRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoVGltZXIpXG4gICAgICB0aGlzLnJlZnJlc2hUaW1lciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgJiYgIXRoaXMuY3JlZGVudGlhbERlZmVycmVkLmlzU2V0dGxlZCgpKSB7XG4gICAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5yZWplY3QobmV3IEVycm9yKFwiQ3JlZGVudGlhbCBtYW5hZ2VyIGRlc3Ryb3llZFwiKSlcbiAgICB9XG5cbiAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCA9IG51bGxcbiAgICB0aGlzLmNvb2tpZUV4cGlyYXRpb25UaW1lID0gbnVsbFxuICB9XG59XG5cbi8qKlxuICogQXBwZW5kZXIgdGhhdCBwdXNoZXMgbG9nIHJlY29yZHMgdG8gYSByZW1vdGUgZW5kcG9pbnQgdmlhIEhUVFAgUFVULlxuICogQmF0Y2hlcyByZWNvcmRzIGFuZCBzZW5kcyB3aGVuIHF1ZXVlIHJlYWNoZXMgRkxVU0hfUVVFVUVfREVQVEggb3IgRkxVU0hfSU5URVJWQUxfTVMgaGFzIGVsYXBzZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBQdXNoTG9nUmVjb3Jkc0FwcGVuZGVyPFxuICBSZWNvcmQgZXh0ZW5kcyBMb2dSZWNvcmQgPSBMb2dSZWNvcmRcbj4gaW1wbGVtZW50cyBBcHBlbmRlcjxSZWNvcmQ+IHtcbiAgcHJpdmF0ZSBwZW5kaW5nUmVjb3JkczogTG9nUmVjb3JkW10gPSBbXVxuICBwcml2YXRlIGZsdXNoRGVmZXJyZWQ6IERlZmVycmVkPHZvaWQ+IHwgbnVsbCA9IG51bGxcbiAgcHJpdmF0ZSBmbHVzaFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsXG5cbiAgcHVibGljIHJlYWRvbmx5IGNyZWRlbnRpYWxNYW5hZ2VyOiBQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyXG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVuZHBvaW50VXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyID0gbmV3IFB1c2hMb2dSZWNvcmRzQ3JlZGVudGlhbE1hbmFnZXIoZW5kcG9pbnRVcmwpXG5cbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLm9uKFwicmVjZWl2ZWRcIiwgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCB8fCB0aGlzLmZsdXNoRGVmZXJyZWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICB0aGlzLmZsdXNoKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBFcnJvcnMgaGFuZGxlZCBpbiBmbHVzaFxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZCBhIGxvZyByZWNvcmQgdG8gdGhlIHF1ZXVlXG4gICAqL1xuICBhcHBlbmQocmVjb3JkOiBSZWNvcmQpOiB2b2lkIHtcbiAgICAvLyBBZGQgdGhlIHJlY29yZCB3aXRoIGVucmljaGVkIG1ldGFkYXRhXG4gICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy5wdXNoKHtcbiAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICAgIC4uLnJlY29yZCxcbiAgICAgIGFwcDogcmVjb3JkLmFwcCAmJiByZWNvcmQuYXBwLmxlbmd0aCA+IDAgPyByZWNvcmQuYXBwIDogXCJVTktOT1dOXCIsXG4gICAgICBlbnY6IHJlY29yZC5lbnYgJiYgcmVjb3JkLmVudi5sZW5ndGggPiAwID8gcmVjb3JkLmVudiA6IFwiVU5LTk9XTlwiLFxuICAgICAgdXJsOiB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiID8gXCJsb2NhbDovL1wiIDogd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICB9KVxuICAgIHRoaXMudHJpbVBlbmRpbmdSZWNvcmRzVG9RdWV1ZUNhcCgpXG5cbiAgICAvLyBDaGVjayBpZiB3ZSBzaG91bGQgZmx1c2ggaW1tZWRpYXRlbHkgZHVlIHRvIHF1ZXVlIGRlcHRoXG4gICAgaWYgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoID49IEZMVVNIX1FVRVVFX0RFUFRIKSB7XG4gICAgICB0aGlzLmZsdXNoKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBFcnJvcnMgaGFuZGxlZCBpbiBmbHVzaFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2NoZWR1bGUgYSBmbHVzaCBpZiBub3QgYWxyZWFkeSBzY2hlZHVsZWRcbiAgICAgIHRoaXMuc2NoZWR1bGVGbHVzaCgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlIGEgZmx1c2ggYWZ0ZXIgdGhlIGludGVydmFsXG4gICAqL1xuICBwcml2YXRlIHNjaGVkdWxlRmx1c2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx1c2hUaW1lcikge1xuICAgICAgcmV0dXJuIC8vIEFscmVhZHkgc2NoZWR1bGVkXG4gICAgfVxuXG4gICAgdGhpcy5mbHVzaFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZsdXNoVGltZXIgPSBudWxsXG4gICAgICB0aGlzLmZsdXNoKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBFcnJvcnMgaGFuZGxlZCBpbiBmbHVzaFxuICAgICAgfSlcbiAgICB9LCBGTFVTSF9JTlRFUlZBTF9NUylcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBwZW5kaW5nIHJlY29yZHMgdG8gdGhlIGVuZHBvaW50XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFByZXZlbnQgY29uY3VycmVudCBmbHVzaGVzXG4gICAgaWYgKHRoaXMuZmx1c2hEZWZlcnJlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmx1c2hEZWZlcnJlZC5wcm9taXNlXG4gICAgfVxuXG4gICAgLy8gTm90aGluZyB0byBmbHVzaFxuICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIEVuc3VyZSB3ZSBoYXZlIHZhbGlkIGNyZWRlbnRpYWxzXG4gICAgY29uc3QgaGFzQ3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLmVuc3VyZUNyZWRlbnRpYWxzKClcbiAgICBpZiAoIWhhc0NyZWRlbnRpYWxzKSB7XG4gICAgICBsb2cuZGVidWcoXCJGYWlsZWQgdG8gcHVzaCBsb2cgcmVjb3Jkc1wiLCBcIk5vIHZhbGlkIGNyZWRlbnRpYWxzIGF2YWlsYWJsZVwiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZGVmZXJyZWQgPSAodGhpcy5mbHVzaERlZmVycmVkID0gbmV3IERlZmVycmVkPHZvaWQ+KCkpXG5cbiAgICB0cnkge1xuICAgICAgLy8gVGFrZSBhbGwgcGVuZGluZyByZWNvcmRzIGZvciB0aGlzIGZsdXNoXG4gICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5wZW5kaW5nUmVjb3Jkcy5zcGxpY2UoMCwgdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGgpXG4gICAgICBjb25zdCBwYXlsb2FkID0geyByZWNvcmRzOiByZWNvcmRzLm1hcChyZWNvcmQgPT4gSlNPTi5zdHJpbmdpZnkocmVjb3JkKSkgfVxuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMuZW5kcG9pbnRVcmwsIHtcbiAgICAgICAgbWV0aG9kOiBcIlBVVFwiLFxuICAgICAgICBtb2RlOiBcImNvcnNcIixcbiAgICAgICAgY3JlZGVudGlhbHM6IFwiaW5jbHVkZVwiLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZClcbiAgICAgIH0pXG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgLy8gUmUtcXVldWUgcmVjb3JkcyBvbiBmYWlsdXJlXG4gICAgICAgIHRoaXMucGVuZGluZ1JlY29yZHMudW5zaGlmdCguLi5yZWNvcmRzKVxuICAgICAgICB0aGlzLnRyaW1QZW5kaW5nUmVjb3Jkc1RvUXVldWVDYXAoKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFB1c2ggZmFpbGVkIHdpdGggc3RhdHVzICR7cmVzcG9uc2Uuc3RhdHVzfWApXG4gICAgICB9XG5cbiAgICAgIGRlZmVycmVkLnJlc29sdmUoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLmRlYnVnKFwiRmFpbGVkIHRvIHB1c2ggbG9nIHJlY29yZHNcIiwgZXJyKVxuICAgICAgZGVmZXJyZWQucmVqZWN0KGVycilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5mbHVzaERlZmVycmVkID0gbnVsbFxuXG4gICAgICAvLyBJZiBtb3JlIHJlY29yZHMgYWNjdW11bGF0ZWQgZHVyaW5nIGZsdXNoLCBzY2hlZHVsZSBhbm90aGVyXG4gICAgICBpZiAodGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVGbHVzaCgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZSBhbiBpbW1lZGlhdGUgZmx1c2hcbiAgICovXG4gIGFzeW5jIGZvcmNlRmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZmx1c2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmx1c2hUaW1lcilcbiAgICAgIHRoaXMuZmx1c2hUaW1lciA9IG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mbHVzaCgpXG4gIH1cblxuICAvKipcbiAgICogRW5mb3JjZSB0aGUgcGVuZGluZyBxdWV1ZSBjYXAgYnkgZHJvcHBpbmcgdGhlIG9sZGVzdCByZWNvcmRzLlxuICAgKi9cbiAgcHJpdmF0ZSB0cmltUGVuZGluZ1JlY29yZHNUb1F1ZXVlQ2FwKCk6IHZvaWQge1xuICAgIGNvbnN0IHJlbW92ZUNvdW50ID0gdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggLSBMT0dfUVVFVUVfTUFYX1JFQ09SRFNcblxuICAgIGlmIChyZW1vdmVDb3VudCA+IDApIHtcbiAgICAgIHRoaXMucGVuZGluZ1JlY29yZHMuc3BsaWNlKDAsIHJlbW92ZUNvdW50KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiB1cCByZXNvdXJjZXNcbiAgICovXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx1c2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmx1c2hUaW1lcilcbiAgICAgIHRoaXMuZmx1c2hUaW1lciA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyLmRlc3Ryb3koKVxuXG4gICAgaWYgKHRoaXMuZmx1c2hEZWZlcnJlZCAmJiAhdGhpcy5mbHVzaERlZmVycmVkLmlzU2V0dGxlZCgpKSB7XG4gICAgICB0aGlzLmZsdXNoRGVmZXJyZWQucmVqZWN0KG5ldyBFcnJvcihcIkFwcGVuZGVyIGRlc3Ryb3llZFwiKSlcbiAgICB9XG5cbiAgICB0aGlzLmZsdXNoRGVmZXJyZWQgPSBudWxsXG4gICAgdGhpcy5wZW5kaW5nUmVjb3JkcyA9IFtdXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUHVzaExvZ1JlY29yZHNBcHBlbmRlclxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"AWSFirehoseAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AAOA,OAAO,4BAEN,MAAM,mCAAmC,CAAA;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAmB5C,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,qBAAqB,EAAE,MAAM;IANzD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAO;IAE9B,SAAgB,iBAAiB,EAAE,4BAA4B,CAAA;gBAEnC,qBAAqB,EAAE,MAAM;IAoBzD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmB5B;;;;OAIG;YACW,WAAW;IAgBzB;;;;OAIG;YACW,KAAK;CA0EpB;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"AWSFirehoseAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AAMA,OAAO,4BAEN,MAAM,mCAAmC,CAAA;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAmB5C,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,qBAAqB,EAAE,MAAM;IANzD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAO;IAE9B,SAAgB,iBAAiB,EAAE,4BAA4B,CAAA;gBAEnC,qBAAqB,EAAE,MAAM;IAoBzD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmB5B;;;;OAIG;YACW,WAAW;IAgBzB;;;;OAIG;YACW,KAAK;CA0EpB;AAED,eAAe,mBAAmB,CAAA"}
@@ -134,4 +134,4 @@ export class AWSFirehoseAppender {
134
134
  }
135
135
  }
136
136
  export default AWSFirehoseAppender;
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVdTRmlyZWhvc2VBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9hd3MtZmlyZWhvc2UvQVdTRmlyZWhvc2VBcHBlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLDRCQUVOLE1BQU0sbUNBQW1DLENBQUE7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFJcEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7QUFDaEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQTtBQUV6RCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO0FBQy9CLElBQUksY0FBYyxHQUF1RCxJQUFJLENBQUE7QUFFN0UsU0FBUyxpQkFBaUI7SUFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLGNBQWMsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUQsY0FBYyxHQUFHLElBQUksQ0FBQTtZQUNyQixNQUFNLEdBQUcsQ0FBQTtRQUNYLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE9BQU8sY0FBYyxDQUFBO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBU0Y7SUFOcEIsY0FBYyxHQUFHLEtBQUssRUFBYSxDQUFBO0lBQ25DLGFBQWEsQ0FBZ0I7SUFDN0IsZUFBZSxHQUFHLElBQUksQ0FBQTtJQUVkLGlCQUFpQixDQUE4QjtJQUUvRCxZQUE0QixxQkFBNkI7UUFBN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLDRC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QUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLEdBQUcsQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDckMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLHlCQUF5QixFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQ2pELENBQUM7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3RCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1lBRXpCLGtDQUFrQztZQUNsQyxpQkFBaUI7UUFDbkIsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQTtJQUN6QixDQUFDO0NBQ0Y7QUFFRCxlQUFlLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUge1xuICBGaXJlaG9zZUNsaWVudCxcbiAgUHV0UmVjb3JkQmF0Y2hJbnB1dFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWZpcmVob3NlXCJcbmltcG9ydCB7IExldmVsIH0gZnJvbSBcIi4uLy4uL0xldmVsLmpzXCJcblxuaW1wb3J0IEFXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXIsIHtcbiAgdHlwZSBBV1NDcmVkZW50aWFsc1xufSBmcm9tIFwiLi9BV1NGaXJlaG9zZUNyZWRlbnRpYWxNYW5hZ2VyLmpzXCJcbmltcG9ydCB7IGdldEludGVybmFsTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0ludGVybmFsTG9nZ2VyLmpzXCJcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwibG9kYXNoXCJcbmltcG9ydCB7IERlZmVycmVkIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnMvaW5kZXguanNcIlxuaW1wb3J0IHsgTG9nUmVjb3JkIH0gZnJvbSBcIi4uLy4uL0xvZ1JlY29yZC5qc1wiXG5pbXBvcnQgeyBBcHBlbmRlciB9IGZyb20gXCIuLi8uLi9BcHBlbmRlci5qc1wiXG5cbmNvbnN0IExvZ1F1ZXVlTWF4UmVjb3JkcyA9IDEwMDAwXG5jb25zdCBFeHBpcmVkVG9rZW5FeGNlcHRpb25Db2RlID0gXCJFeHBpcmVkVG9rZW5FeGNlcHRpb25cIlxuXG5jb25zdCBsb2cgPSBnZXRJbnRlcm5hbExvZ2dlcigpXG5sZXQgZmlyZWhvc2VNb2R1bGU6IFByb21pc2U8dHlwZW9mIGltcG9ydChcIkBhd3Mtc2RrL2NsaWVudC1maXJlaG9zZVwiKT4gPSBudWxsXG5cbmZ1bmN0aW9uIGdldEZpcmVob3NlTW9kdWxlKCkge1xuICBpZiAoIWZpcmVob3NlTW9kdWxlKSB7XG4gICAgZmlyZWhvc2VNb2R1bGUgPSBpbXBvcnQoXCJAYXdzLXNkay9jbGllbnQtZmlyZWhvc2VcIikuY2F0Y2goZXJyID0+IHtcbiAgICAgIGZpcmVob3NlTW9kdWxlID0gbnVsbFxuICAgICAgdGhyb3cgZXJyXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBmaXJlaG9zZU1vZHVsZVxufVxuXG5leHBvcnQgY2xhc3MgQVdTRmlyZWhvc2VBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkID0gTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHByaXZhdGUgcGVuZGluZ1JlY29yZHMgPSBBcnJheTxMb2dSZWNvcmQ+KClcbiAgcHJpdmF0ZSBmbHVzaERlZmVycmVkOiBEZWZlcnJlZDx2b2lkPlxuICBwcml2YXRlIGZsdXNoSW50ZXJ2YWxNcyA9IDEwMDBcblxuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbE1hbmFnZXI6IEFXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXJcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbEVuZHBvaW50VXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyID0gbmV3IEFXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXIoXG4gICAgICBjcmVkZW50aWFsRW5kcG9pbnRVcmxcbiAgICApXG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5vbihcInJlY2VpdmVkXCIsICgpID0+IHtcbiAgICAgIGxvZy5pbmZvKFwiQ3JlZGVudGlhbHMgcmVjZWl2ZWQsIGluaXRpYWxpemluZyBmaXJlaG9zZSBjbGllbnRcIilcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggfHwgISF0aGlzLmZsdXNoRGVmZXJyZWQpIHtcbiAgICAgICAgbG9nLmRlYnVnKFxuICAgICAgICAgIFwiTm90aGluZyB0byBmbHVzaCB1cG9uIGNyZWRlbnRpYWwgcmVjZWlwdCBPUiBmbHVzaCBhbHJlYWR5IGluIHByb2dyZXNzXCJcbiAgICAgICAgKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuZmx1c2goKS5jYXRjaCgoZTogRXJyb3IpID0+IHtcbiAgICAgICAgbG9nLmVycm9yKFxuICAgICAgICAgIGBFcnJvciBmbHVzaGluZyBsb2dzIGFmdGVyIGNyZWRlbnRpYWwgcmVjZWlwdDogJHtlLm1lc3NhZ2V9YCxcbiAgICAgICAgICBlXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuICBhcHBlbmQocmVjb3JkOiBSZWNvcmQpOiB2b2lkIHtcbiAgICBjb25zdCBwZW5kaW5nQ291bnQgPSB0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCArIDEsXG4gICAgICByZW1vdmVDb3VudCA9IExvZ1F1ZXVlTWF4UmVjb3JkcyAtIHBlbmRpbmdDb3VudFxuXG4gICAgaWYgKHJlbW92ZUNvdW50IDwgMCkge1xuICAgICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy5zcGxpY2UoMCwgTWF0aC5hYnMocmVtb3ZlQ291bnQpKVxuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1JlY29yZHMucHVzaCh7XG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAuLi5yZWNvcmQsXG4gICAgICBhcHA6IHJlY29yZC5hcHA/Lmxlbmd0aCA+IDAgPyByZWNvcmQuYXBwIDogXCJVTktOT1dOXCIsXG4gICAgICBlbnY6IHJlY29yZC5lbnY/Lmxlbmd0aCA+IDAgPyByZWNvcmQuZW52IDogXCJVTktOT1dOXCIsXG4gICAgICB1cmw6IHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIgPyBcImxvY2FsOi8vXCIgOiB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIH0pXG5cbiAgICB0aGlzLmZsdXNoKClcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIEZpcmVob3NlIGNsaWVudCBmb3IgYSBsb2FkZWQgY3JlZGVudGlhbCBzZXQuXG4gICAqIEBwYXJhbSBjcmVkcyBMb2FkZWQgRmlyZWhvc2UgY3JlZGVudGlhbHMuXG4gICAqIEByZXR1cm5zIEZpcmVob3NlIGNsaWVudC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0RmlyZWhvc2UoY3JlZHM6IEFXU0NyZWRlbnRpYWxzKTogUHJvbWlzZTxGaXJlaG9zZUNsaWVudD4ge1xuICAgIGNvbnN0IHsgcmVnaW9uLCBzdHJlYW1OYW1lIH0gPSBjcmVkc1xuXG4gICAgaWYgKCFyZWdpb24gfHwgIXN0cmVhbU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBvciBzdHJlYW0gbmFtZSBub3QgYXZhaWxhYmxlXCIpXG4gICAgfVxuXG4gICAgY29uc3QgeyBGaXJlaG9zZUNsaWVudCB9ID0gYXdhaXQgZ2V0RmlyZWhvc2VNb2R1bGUoKVxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBGaXJlaG9zZUNsaWVudCh7XG4gICAgICByZWdpb246IGNyZWRzLnJlZ2lvbixcbiAgICAgIGNyZWRlbnRpYWxzOiBwaWNrKGNyZWRzLCBcImFjY2Vzc0tleUlkXCIsIFwic2VjcmV0QWNjZXNzS2V5XCIsIFwic2Vzc2lvblRva2VuXCIpXG4gICAgfSlcblxuICAgIHJldHVybiBjbGllbnRcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBwZW5kaW5nIHJlY29yZHNcbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghIXRoaXMuZmx1c2hEZWZlcnJlZCkge1xuICAgICAgbG9nLmRlYnVnKFwiRmx1c2ggYWxyZWFkeSBpbiBwcm9ncmVzcywgc2tpcHBpbmdcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGgpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIk5vIHBlbmRpbmcgcmVjb3JkcyB0byBmbHVzaFwiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGNyZWRzID0gdGhpcy5jcmVkZW50aWFsTWFuYWdlci5nZXRDcmVkZW50aWFscygpXG4gICAgaWYgKCFjcmVkcykge1xuICAgICAgbG9nLndhcm4oXCJObyBjcmVkZW50aWFscyBhdmFpbGFibGUgZm9yIGZsdXNoXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBkZWZlcnJlZCA9ICh0aGlzLmZsdXNoRGVmZXJyZWQgPSBuZXcgRGVmZXJyZWQ8dm9pZD4oKSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBzdHJlYW1OYW1lIH0gPSBjcmVkcyxcbiAgICAgICAgY2xpZW50ID0gYXdhaXQgdGhpcy5nZXRGaXJlaG9zZShjcmVkcyksXG4gICAgICAgIHsgUHV0UmVjb3JkQmF0Y2hDb21tYW5kIH0gPSBhd2FpdCBnZXRGaXJlaG9zZU1vZHVsZSgpXG5cbiAgICAgIHdoaWxlICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLm1pbih0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCwgMTApLFxuICAgICAgICAgIHJlY29yZHMgPSB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCBjaHVua1NpemUpLFxuICAgICAgICAgIHJlY29yZEpzb25zID0gcmVjb3Jkcy5tYXAocmVjb3JkID0+IEpTT04uc3RyaW5naWZ5KHJlY29yZCkpXG5cbiAgICAgICAgaWYgKGxvZy5pc0RlYnVnRW5hYmxlZCgpKSBsb2cuZGVidWcoXCJSZWNvcmRzXCIsIHJlY29yZHMpXG5cbiAgICAgICAgY29uc3QgdGV4dEVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKSxcbiAgICAgICAgICBiYXRjaDogUHV0UmVjb3JkQmF0Y2hJbnB1dFtcIlJlY29yZHNcIl0gPSByZWNvcmRKc29ucy5tYXAoanNvblN0ciA9PiAoe1xuICAgICAgICAgICAgRGF0YTogdGV4dEVuY29kZXIuZW5jb2RlKGpzb25TdHIpXG4gICAgICAgICAgfSkpXG5cbiAgICAgICAgbG9nLmluZm8oYFB1c2hpbmcgJHtyZWNvcmRzLmxlbmd0aH0gcmVjb3JkcyB0byBmaXJlaG9zZWApXG5cbiAgICAgICAgY29uc3QgY21kID0gbmV3IFB1dFJlY29yZEJhdGNoQ29tbWFuZCh7XG4gICAgICAgICAgRGVsaXZlcnlTdHJlYW1OYW1lOiBzdHJlYW1OYW1lLFxuICAgICAgICAgIFJlY29yZHM6IGJhdGNoXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGNsaWVudC5zZW5kKGNtZClcbiAgICAgICAgY29uc3QgZmFpbGVkID0gcmVzcC5GYWlsZWRQdXRDb3VudCB8fCAwXG4gICAgICAgIGlmIChmYWlsZWQpIHtcbiAgICAgICAgICBjb25zdCByciA9IHJlc3AuUmVxdWVzdFJlc3BvbnNlcyB8fCBbXVxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChycltpXS5FcnJvckNvZGUpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXG4gICAgICAgICAgICAgICAgYFJlY29yZCBmYWlsZWQ6ICR7cnJbaV0uRXJyb3JDb2RlfSAke3JyW2ldLkVycm9yTWVzc2FnZX1gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLy90aGlzLnBlbmRpbmdSZWNvcmRzLnVuc2hpZnQocmVjb3Jkc1tpXSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbG9nLmluZm8oYFB1dFJlY29yZEJhdGNoIGZhaWxlZD0ke2ZhaWxlZH07IHJlcXVldWVkIGZhaWxlZCByZWNvcmRzYClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuaW5mbyhgUHV0UmVjb3JkQmF0Y2ggb2sgY291bnQ9JHtyZWNvcmRzLmxlbmd0aH1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkZWZlcnJlZC5yZXNvbHZlKClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBwdXNoIGxvZ3NcIiwgZXJyKVxuICAgICAgaWYgKGVyci5uYW1lID09PSBFeHBpcmVkVG9rZW5FeGNlcHRpb25Db2RlKSB7XG4gICAgICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIuZm9yY2VVcGRhdGVDcmVkZW50aWFscygpXG4gICAgICB9XG4gICAgICBkZWZlcnJlZC5yZWplY3QoZXJyKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmZsdXNoRGVmZXJyZWQgPSBudWxsXG5cbiAgICAgIC8vIGlmICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aClcbiAgICAgIC8vICAgdGhpcy5mbHVzaCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2VcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBV1NGaXJlaG9zZUFwcGVuZGVyXG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVdTRmlyZWhvc2VBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9hd3MtZmlyZWhvc2UvQVdTRmlyZWhvc2VBcHBlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLDRCQUVOLE1BQU0sbUNBQW1DLENBQUE7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFJcEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7QUFDaEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQTtBQUV6RCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO0FBQy9CLElBQUksY0FBYyxHQUF1RCxJQUFJLENBQUE7QUFFN0UsU0FBUyxpQkFBaUI7SUFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLGNBQWMsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUQsY0FBYyxHQUFHLElBQUksQ0FBQTtZQUNyQixNQUFNLEdBQUcsQ0FBQTtRQUNYLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE9BQU8sY0FBYyxDQUFBO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBU0Y7SUFOcEIsY0FBYyxHQUFHLEtBQUssRUFBYSxDQUFBO0lBQ25DLGFBQWEsQ0FBZ0I7SUFDN0IsZUFBZSxHQUFHLElBQUksQ0FBQTtJQUVkLGlCQUFpQixDQUE4QjtJQUUvRCxZQUE0QixxQkFBNkI7UUFBN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLDRC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QUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLEdBQUcsQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDckMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLHlCQUF5QixFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQ2pELENBQUM7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3RCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1lBRXpCLGtDQUFrQztZQUNsQyxpQkFBaUI7UUFDbkIsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQTtJQUN6QixDQUFDO0NBQ0Y7QUFFRCxlQUFlLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBGaXJlaG9zZUNsaWVudCxcbiAgUHV0UmVjb3JkQmF0Y2hJbnB1dFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWZpcmVob3NlXCJcbmltcG9ydCB7IExldmVsIH0gZnJvbSBcIi4uLy4uL0xldmVsLmpzXCJcblxuaW1wb3J0IEFXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXIsIHtcbiAgdHlwZSBBV1NDcmVkZW50aWFsc1xufSBmcm9tIFwiLi9BV1NGaXJlaG9zZUNyZWRlbnRpYWxNYW5hZ2VyLmpzXCJcbmltcG9ydCB7IGdldEludGVybmFsTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0ludGVybmFsTG9nZ2VyLmpzXCJcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwibG9kYXNoXCJcbmltcG9ydCB7IERlZmVycmVkIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnMvaW5kZXguanNcIlxuaW1wb3J0IHsgTG9nUmVjb3JkIH0gZnJvbSBcIi4uLy4uL0xvZ1JlY29yZC5qc1wiXG5pbXBvcnQgeyBBcHBlbmRlciB9IGZyb20gXCIuLi8uLi9BcHBlbmRlci5qc1wiXG5cbmNvbnN0IExvZ1F1ZXVlTWF4UmVjb3JkcyA9IDEwMDAwXG5jb25zdCBFeHBpcmVkVG9rZW5FeGNlcHRpb25Db2RlID0gXCJFeHBpcmVkVG9rZW5FeGNlcHRpb25cIlxuXG5jb25zdCBsb2cgPSBnZXRJbnRlcm5hbExvZ2dlcigpXG5sZXQgZmlyZWhvc2VNb2R1bGU6IFByb21pc2U8dHlwZW9mIGltcG9ydChcIkBhd3Mtc2RrL2NsaWVudC1maXJlaG9zZVwiKT4gPSBudWxsXG5cbmZ1bmN0aW9uIGdldEZpcmVob3NlTW9kdWxlKCkge1xuICBpZiAoIWZpcmVob3NlTW9kdWxlKSB7XG4gICAgZmlyZWhvc2VNb2R1bGUgPSBpbXBvcnQoXCJAYXdzLXNkay9jbGllbnQtZmlyZWhvc2VcIikuY2F0Y2goZXJyID0+IHtcbiAgICAgIGZpcmVob3NlTW9kdWxlID0gbnVsbFxuICAgICAgdGhyb3cgZXJyXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBmaXJlaG9zZU1vZHVsZVxufVxuXG5leHBvcnQgY2xhc3MgQVdTRmlyZWhvc2VBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkID0gTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHByaXZhdGUgcGVuZGluZ1JlY29yZHMgPSBBcnJheTxMb2dSZWNvcmQ+KClcbiAgcHJpdmF0ZSBmbHVzaERlZmVycmVkOiBEZWZlcnJlZDx2b2lkPlxuICBwcml2YXRlIGZsdXNoSW50ZXJ2YWxNcyA9IDEwMDBcblxuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbE1hbmFnZXI6IEFXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXJcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbEVuZHBvaW50VXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNyZWRlbnRpYWxNYW5hZ2VyID0gbmV3IEFXU0ZpcmVob3NlQ3JlZGVudGlhbE1hbmFnZXIoXG4gICAgICBjcmVkZW50aWFsRW5kcG9pbnRVcmxcbiAgICApXG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5vbihcInJlY2VpdmVkXCIsICgpID0+IHtcbiAgICAgIGxvZy5pbmZvKFwiQ3JlZGVudGlhbHMgcmVjZWl2ZWQsIGluaXRpYWxpemluZyBmaXJlaG9zZSBjbGllbnRcIilcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggfHwgISF0aGlzLmZsdXNoRGVmZXJyZWQpIHtcbiAgICAgICAgbG9nLmRlYnVnKFxuICAgICAgICAgIFwiTm90aGluZyB0byBmbHVzaCB1cG9uIGNyZWRlbnRpYWwgcmVjZWlwdCBPUiBmbHVzaCBhbHJlYWR5IGluIHByb2dyZXNzXCJcbiAgICAgICAgKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuZmx1c2goKS5jYXRjaCgoZTogRXJyb3IpID0+IHtcbiAgICAgICAgbG9nLmVycm9yKFxuICAgICAgICAgIGBFcnJvciBmbHVzaGluZyBsb2dzIGFmdGVyIGNyZWRlbnRpYWwgcmVjZWlwdDogJHtlLm1lc3NhZ2V9YCxcbiAgICAgICAgICBlXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuICBhcHBlbmQocmVjb3JkOiBSZWNvcmQpOiB2b2lkIHtcbiAgICBjb25zdCBwZW5kaW5nQ291bnQgPSB0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCArIDEsXG4gICAgICByZW1vdmVDb3VudCA9IExvZ1F1ZXVlTWF4UmVjb3JkcyAtIHBlbmRpbmdDb3VudFxuXG4gICAgaWYgKHJlbW92ZUNvdW50IDwgMCkge1xuICAgICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy5zcGxpY2UoMCwgTWF0aC5hYnMocmVtb3ZlQ291bnQpKVxuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1JlY29yZHMucHVzaCh7XG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAuLi5yZWNvcmQsXG4gICAgICBhcHA6IHJlY29yZC5hcHA/Lmxlbmd0aCA+IDAgPyByZWNvcmQuYXBwIDogXCJVTktOT1dOXCIsXG4gICAgICBlbnY6IHJlY29yZC5lbnY/Lmxlbmd0aCA+IDAgPyByZWNvcmQuZW52IDogXCJVTktOT1dOXCIsXG4gICAgICB1cmw6IHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIgPyBcImxvY2FsOi8vXCIgOiB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIH0pXG5cbiAgICB0aGlzLmZsdXNoKClcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIEZpcmVob3NlIGNsaWVudCBmb3IgYSBsb2FkZWQgY3JlZGVudGlhbCBzZXQuXG4gICAqIEBwYXJhbSBjcmVkcyBMb2FkZWQgRmlyZWhvc2UgY3JlZGVudGlhbHMuXG4gICAqIEByZXR1cm5zIEZpcmVob3NlIGNsaWVudC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0RmlyZWhvc2UoY3JlZHM6IEFXU0NyZWRlbnRpYWxzKTogUHJvbWlzZTxGaXJlaG9zZUNsaWVudD4ge1xuICAgIGNvbnN0IHsgcmVnaW9uLCBzdHJlYW1OYW1lIH0gPSBjcmVkc1xuXG4gICAgaWYgKCFyZWdpb24gfHwgIXN0cmVhbU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBvciBzdHJlYW0gbmFtZSBub3QgYXZhaWxhYmxlXCIpXG4gICAgfVxuXG4gICAgY29uc3QgeyBGaXJlaG9zZUNsaWVudCB9ID0gYXdhaXQgZ2V0RmlyZWhvc2VNb2R1bGUoKVxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBGaXJlaG9zZUNsaWVudCh7XG4gICAgICByZWdpb246IGNyZWRzLnJlZ2lvbixcbiAgICAgIGNyZWRlbnRpYWxzOiBwaWNrKGNyZWRzLCBcImFjY2Vzc0tleUlkXCIsIFwic2VjcmV0QWNjZXNzS2V5XCIsIFwic2Vzc2lvblRva2VuXCIpXG4gICAgfSlcblxuICAgIHJldHVybiBjbGllbnRcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBwZW5kaW5nIHJlY29yZHNcbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghIXRoaXMuZmx1c2hEZWZlcnJlZCkge1xuICAgICAgbG9nLmRlYnVnKFwiRmx1c2ggYWxyZWFkeSBpbiBwcm9ncmVzcywgc2tpcHBpbmdcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGgpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIk5vIHBlbmRpbmcgcmVjb3JkcyB0byBmbHVzaFwiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGNyZWRzID0gdGhpcy5jcmVkZW50aWFsTWFuYWdlci5nZXRDcmVkZW50aWFscygpXG4gICAgaWYgKCFjcmVkcykge1xuICAgICAgbG9nLndhcm4oXCJObyBjcmVkZW50aWFscyBhdmFpbGFibGUgZm9yIGZsdXNoXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBkZWZlcnJlZCA9ICh0aGlzLmZsdXNoRGVmZXJyZWQgPSBuZXcgRGVmZXJyZWQ8dm9pZD4oKSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBzdHJlYW1OYW1lIH0gPSBjcmVkcyxcbiAgICAgICAgY2xpZW50ID0gYXdhaXQgdGhpcy5nZXRGaXJlaG9zZShjcmVkcyksXG4gICAgICAgIHsgUHV0UmVjb3JkQmF0Y2hDb21tYW5kIH0gPSBhd2FpdCBnZXRGaXJlaG9zZU1vZHVsZSgpXG5cbiAgICAgIHdoaWxlICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLm1pbih0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCwgMTApLFxuICAgICAgICAgIHJlY29yZHMgPSB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCBjaHVua1NpemUpLFxuICAgICAgICAgIHJlY29yZEpzb25zID0gcmVjb3Jkcy5tYXAocmVjb3JkID0+IEpTT04uc3RyaW5naWZ5KHJlY29yZCkpXG5cbiAgICAgICAgaWYgKGxvZy5pc0RlYnVnRW5hYmxlZCgpKSBsb2cuZGVidWcoXCJSZWNvcmRzXCIsIHJlY29yZHMpXG5cbiAgICAgICAgY29uc3QgdGV4dEVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKSxcbiAgICAgICAgICBiYXRjaDogUHV0UmVjb3JkQmF0Y2hJbnB1dFtcIlJlY29yZHNcIl0gPSByZWNvcmRKc29ucy5tYXAoanNvblN0ciA9PiAoe1xuICAgICAgICAgICAgRGF0YTogdGV4dEVuY29kZXIuZW5jb2RlKGpzb25TdHIpXG4gICAgICAgICAgfSkpXG5cbiAgICAgICAgbG9nLmluZm8oYFB1c2hpbmcgJHtyZWNvcmRzLmxlbmd0aH0gcmVjb3JkcyB0byBmaXJlaG9zZWApXG5cbiAgICAgICAgY29uc3QgY21kID0gbmV3IFB1dFJlY29yZEJhdGNoQ29tbWFuZCh7XG4gICAgICAgICAgRGVsaXZlcnlTdHJlYW1OYW1lOiBzdHJlYW1OYW1lLFxuICAgICAgICAgIFJlY29yZHM6IGJhdGNoXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGNsaWVudC5zZW5kKGNtZClcbiAgICAgICAgY29uc3QgZmFpbGVkID0gcmVzcC5GYWlsZWRQdXRDb3VudCB8fCAwXG4gICAgICAgIGlmIChmYWlsZWQpIHtcbiAgICAgICAgICBjb25zdCByciA9IHJlc3AuUmVxdWVzdFJlc3BvbnNlcyB8fCBbXVxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChycltpXS5FcnJvckNvZGUpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXG4gICAgICAgICAgICAgICAgYFJlY29yZCBmYWlsZWQ6ICR7cnJbaV0uRXJyb3JDb2RlfSAke3JyW2ldLkVycm9yTWVzc2FnZX1gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLy90aGlzLnBlbmRpbmdSZWNvcmRzLnVuc2hpZnQocmVjb3Jkc1tpXSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbG9nLmluZm8oYFB1dFJlY29yZEJhdGNoIGZhaWxlZD0ke2ZhaWxlZH07IHJlcXVldWVkIGZhaWxlZCByZWNvcmRzYClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuaW5mbyhgUHV0UmVjb3JkQmF0Y2ggb2sgY291bnQ9JHtyZWNvcmRzLmxlbmd0aH1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkZWZlcnJlZC5yZXNvbHZlKClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBwdXNoIGxvZ3NcIiwgZXJyKVxuICAgICAgaWYgKGVyci5uYW1lID09PSBFeHBpcmVkVG9rZW5FeGNlcHRpb25Db2RlKSB7XG4gICAgICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIuZm9yY2VVcGRhdGVDcmVkZW50aWFscygpXG4gICAgICB9XG4gICAgICBkZWZlcnJlZC5yZWplY3QoZXJyKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmZsdXNoRGVmZXJyZWQgPSBudWxsXG5cbiAgICAgIC8vIGlmICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aClcbiAgICAgIC8vICAgdGhpcy5mbHVzaCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2VcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBV1NGaXJlaG9zZUFwcGVuZGVyXG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"PushLogRecordsAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/push/PushLogRecordsAppender.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAa5C,UAAU,uCAAuC;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,aAAa,CAAC,uCAAuC,CAAC;aAK7E,WAAW,EAAE,MAAM;IAJ/C,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,oBAAoB,CAAsB;gBAEtB,WAAW,EAAE,MAAM;IAI/C;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAkBpB;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;;GAGG;AACH,qBAAa,sBAAsB,CACjC,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,WAAW,EAAE,MAAM;IAN/C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,UAAU,CAA6C;IAE/D,SAAgB,iBAAiB,EAAE,+BAA+B,CAAA;gBAEtC,WAAW,EAAE,MAAM;IAa/C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,KAAK;IA0DnB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAQpC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"PushLogRecordsAppender.d.ts","sourceRoot":"","sources":["../../../../../src/logging/appenders/push/PushLogRecordsAppender.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAa5C,UAAU,uCAAuC;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,aAAa,CAAC,uCAAuC,CAAC;aAK7E,WAAW,EAAE,MAAM;IAJ/C,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,oBAAoB,CAAsB;gBAEtB,WAAW,EAAE,MAAM;IAI/C;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAkBpB;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;;GAGG;AACH,qBAAa,sBAAsB,CACjC,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOC,WAAW,EAAE,MAAM;IAN/C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,UAAU,CAA6C;IAE/D,SAAgB,iBAAiB,EAAE,+BAA+B,CAAA;gBAEtC,WAAW,EAAE,MAAM;IAa/C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,KAAK;IA0DnB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAQpC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAED,eAAe,sBAAsB,CAAA"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import EventEmitter3 from "eventemitter3";
3
2
  import { Deferred } from "../../../helpers/index.js";
4
3
  import { getInternalLogger } from "../../InternalLogger.js";
@@ -288,4 +287,4 @@ export class PushLogRecordsAppender {
288
287
  }
289
288
  }
290
289
  export default PushLogRecordsAppender;
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVzaExvZ1JlY29yZHNBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9wdXNoL1B1c2hMb2dSZWNvcmRzQXBwZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sYUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFM0QsbURBQW1EO0FBQ25ELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUEsQ0FBQyxhQUFhO0FBQ3hELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUEsQ0FBQyxzQ0FBc0M7QUFDckYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUE7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFBLENBQUMsYUFBYTtBQUNoRCxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQTtBQUNuQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUE7QUFFbEMsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtBQU8vQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsYUFBc0Q7SUFLN0U7SUFKcEIsWUFBWSxHQUF5QyxJQUFJLENBQUE7SUFDekQsa0JBQWtCLEdBQTBCLElBQUksQ0FBQTtJQUNoRCxvQkFBb0IsR0FBa0IsSUFBSSxDQUFBO0lBRWxELFlBQTRCLFdBQW1CO1FBQzdDLEtBQUssRUFBRSxDQUFBO1FBRG1CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBRS9DLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFF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QUFjLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7UUFDeEIsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUVoQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFBO1FBQzVELENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0NBQ0Y7QUFFRCxlQUFlLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IEV2ZW50RW1pdHRlcjMgZnJvbSBcImV2ZW50ZW1pdHRlcjNcIlxuaW1wb3J0IHsgRGVmZXJyZWQgfSBmcm9tIFwiLi4vLi4vLi4vaGVscGVycy9pbmRleC5qc1wiXG5pbXBvcnQgeyBMb2dSZWNvcmQgfSBmcm9tIFwiLi4vLi4vTG9nUmVjb3JkLmpzXCJcbmltcG9ydCB7IEFwcGVuZGVyIH0gZnJvbSBcIi4uLy4uL0FwcGVuZGVyLmpzXCJcbmltcG9ydCB7IGdldEludGVybmFsTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL0ludGVybmFsTG9nZ2VyLmpzXCJcblxuLy8gQ29uc3RhbnRzIGZvciB0dW5pbmcgKGFkanVzdGFibGUgaW4gZGV2ZWxvcG1lbnQpXG5jb25zdCBDT09LSUVfRVhQSVJBVElPTl9NUyA9IDUgKiA2MCAqIDEwMDAgLy8gMzAgbWludXRlc1xuY29uc3QgQ09PS0lFX1JFRlJFU0hfQlVGRkVSX01TID0gMiAqIDYwICogMTAwMCAvLyBSZWZyZXNoIDIgbWludXRlcyBiZWZvcmUgZXhwaXJhdGlvblxuY29uc3QgRkxVU0hfUVVFVUVfREVQVEggPSAxMDAwXG5jb25zdCBGTFVTSF9JTlRFUlZBTF9NUyA9IDUgKiAxMDAwIC8vIDEwIHNlY29uZHNcbmNvbnN0IExPR19RVUVVRV9NQVhfUkVDT1JEUyA9IDEwMDAwXG5jb25zdCBDT09LSUVfTkFNRSA9IFwid2lyZV9sb2dzX2lkXCJcblxuY29uc3QgbG9nID0gZ2V0SW50ZXJuYWxMb2dnZXIoKVxuXG5pbnRlcmZhY2UgUHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlckV2ZW50TWFwIHtcbiAgcmVjZWl2ZWQ6ICgpID0+IHZvaWRcbiAgZXhwaXJlZDogKCkgPT4gdm9pZFxufVxuXG4vKipcbiAqIE1hbmFnZXMgY3JlZGVudGlhbCBjb29raWUgZm9yIFB1c2hMb2dSZWNvcmRzQXBwZW5kZXIuXG4gKiBJbnZva2VzIHRoZSBlbmRwb2ludCB2aWEgUE9TVCB0byBvYnRhaW4gYSBzZXNzaW9uIGNvb2tpZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFB1c2hMb2dSZWNvcmRzQ3JlZGVudGlhbE1hbmFnZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIzPFB1c2hMb2dSZWNvcmRzQ3JlZGVudGlhbE1hbmFnZXJFdmVudE1hcD4ge1xuICBwcml2YXRlIHJlZnJlc2hUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbFxuICBwcml2YXRlIGNyZWRlbnRpYWxEZWZlcnJlZDogRGVmZXJyZWQ8dm9pZD4gfCBudWxsID0gbnVsbFxuICBwcml2YXRlIGNvb2tpZUV4cGlyYXRpb25UaW1lOiBudW1iZXIgfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlbmRwb2ludFVybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHZhbGlkIGNyZWRlbnRpYWxzIGV4aXN0XG4gICAqL1xuICBoYXNDcmVkZW50aWFscygpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY29va2llRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmIChEYXRlLm5vdygpID49IHRoaXMuY29va2llRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgIHRoaXMuY29va2llRXhwaXJhdGlvblRpbWUgPSBudWxsXG4gICAgICB0aGlzLmVtaXQoXCJleHBpcmVkXCIpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjcmVkZW50aWFscywgZmV0Y2hpbmcgdGhlbSBpZiBuZWNlc3NhcnlcbiAgICovXG4gIGFzeW5jIGVuc3VyZUNyZWRlbnRpYWxzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIElmIHdlIGhhdmUgdmFsaWQgY3JlZGVudGlhbHMsIHJldHVybiBpbW1lZGlhdGVseVxuICAgIGlmICh0aGlzLmhhc0NyZWRlbnRpYWxzKCkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgLy8gSWYgYSBmZXRjaCBpcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3YWl0IGZvciBpdFxuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCAmJiAhdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQuaXNTZXR0bGVkKCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY3JlZGVudGlhbERlZmVycmVkLnByb21pc2VcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ3JlZGVudGlhbHMoKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZldGNoIG5ldyBjcmVkZW50aWFsc1xuICAgIHJldHVybiB0aGlzLmZldGNoQ3JlZGVudGlhbHMoKVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcmNlIHJlZnJlc2ggb2YgY3JlZGVudGlhbHNcbiAgICovXG4gIGZvcmNlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlZnJlc2hUaW1lcilcbiAgICAgIHRoaXMucmVmcmVzaFRpbWVyID0gbnVsbFxuICAgIH1cblxuICAgIHRoaXMuY29va2llRXhwaXJhdGlvblRpbWUgPSBudWxsXG5cbiAgICBpZiAodGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgJiYgIXRoaXMuY3JlZGVudGlhbERlZmVycmVkLmlzU2V0dGxlZCgpKSB7XG4gICAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5yZWplY3QobmV3IEVycm9yKFwiRm9yY2UgcmVmcmVzaCByZXF1ZXN0ZWRcIikpXG4gICAgfVxuICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkID0gbnVsbFxuXG4gICAgdGhpcy5mZXRjaENyZWRlbnRpYWxzKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgLy8gSWdub3JlIGVycm9ycyBkdXJpbmcgZm9yY2UgcmVmcmVzaCwgdGhleSdsbCBiZSBoYW5kbGVkIG9uIG5leHQgcmVxdWVzdFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggY3JlZGVudGlhbHMgZnJvbSB0aGUgZW5kcG9pbnRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZmV0Y2hDcmVkZW50aWFscygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkZWZlcnJlZCA9ICh0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCA9IG5ldyBEZWZlcnJlZDx2b2lkPigpKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godGhpcy5lbmRwb2ludFVybCwge1xuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICBtb2RlOiBcImNvcnNcIixcbiAgICAgICAgY3JlZGVudGlhbHM6IFwiaW5jbHVkZVwiLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe30pXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3JlZGVudGlhbCByZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke3Jlc3BvbnNlLnN0YXR1c31gXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgLy8gQ29va2llIGlzIHNldCBieSBTZXQtQ29va2llIGhlYWRlciwgd2UganVzdCBuZWVkIHRvIHRyYWNrIGV4cGlyYXRpb25cbiAgICAgIHRoaXMuY29va2llRXhwaXJhdGlvblRpbWUgPSBEYXRlLm5vdygpICsgQ09PS0lFX0VYUElSQVRJT05fTVNcblxuICAgICAgLy8gU2NoZWR1bGUgcmVmcmVzaCBiZWZvcmUgZXhwaXJhdGlvblxuICAgICAgdGhpcy5zY2hlZHVsZVJlZnJlc2goKVxuXG4gICAgICBkZWZlcnJlZC5yZXNvbHZlKClcbiAgICAgIHRoaXMuZW1pdChcInJlY2VpdmVkXCIpXG5cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cud2FybihcIkZhaWxlZCB0byBmZXRjaCBwdXNoIGxvZyBjcmVkZW50aWFsc1wiLCBlcnIpXG4gICAgICBkZWZlcnJlZC5yZWplY3QoZXJyKVxuICAgICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2NoZWR1bGUgYSBjcmVkZW50aWFsIHJlZnJlc2ggYmVmb3JlIGV4cGlyYXRpb25cbiAgICovXG4gIHByaXZhdGUgc2NoZWR1bGVSZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZnJlc2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaFRpbWVyKVxuICAgIH1cblxuICAgIGNvbnN0IHJlZnJlc2hJbiA9IENPT0tJRV9FWFBJUkFUSU9OX01TIC0gQ09PS0lFX1JFRlJFU0hfQlVGRkVSX01TXG4gICAgdGhpcy5yZWZyZXNoVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkID0gbnVsbFxuICAgICAgdGhpcy5mZXRjaENyZWRlbnRpYWxzKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBMb2cgYnV0IGRvbid0IHRocm93IC0gd2lsbCByZXRyeSBvbiBuZXh0IHJlcXVlc3RcbiAgICAgICAgbG9nLmRlYnVnKFwiU2NoZWR1bGVkIGNyZWRlbnRpYWwgcmVmcmVzaCBmYWlsZWRcIilcbiAgICAgIH0pXG4gICAgfSwgcmVmcmVzaEluKVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIHVwIHJlc291cmNlc1xuICAgKi9cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlZnJlc2hUaW1lcilcbiAgICAgIHRoaXMucmVmcmVzaFRpbWVyID0gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCAmJiAhdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQuaXNTZXR0bGVkKCkpIHtcbiAgICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoXCJDcmVkZW50aWFsIG1hbmFnZXIgZGVzdHJveWVkXCIpKVxuICAgIH1cblxuICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkID0gbnVsbFxuICAgIHRoaXMuY29va2llRXhwaXJhdGlvblRpbWUgPSBudWxsXG4gIH1cbn1cblxuLyoqXG4gKiBBcHBlbmRlciB0aGF0IHB1c2hlcyBsb2cgcmVjb3JkcyB0byBhIHJlbW90ZSBlbmRwb2ludCB2aWEgSFRUUCBQVVQuXG4gKiBCYXRjaGVzIHJlY29yZHMgYW5kIHNlbmRzIHdoZW4gcXVldWUgcmVhY2hlcyBGTFVTSF9RVUVVRV9ERVBUSCBvciBGTFVTSF9JTlRFUlZBTF9NUyBoYXMgZWxhcHNlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFB1c2hMb2dSZWNvcmRzQXBwZW5kZXI8XG4gIFJlY29yZCBleHRlbmRzIExvZ1JlY29yZCA9IExvZ1JlY29yZFxuPiBpbXBsZW1lbnRzIEFwcGVuZGVyPFJlY29yZD4ge1xuICBwcml2YXRlIHBlbmRpbmdSZWNvcmRzOiBMb2dSZWNvcmRbXSA9IFtdXG4gIHByaXZhdGUgZmx1c2hEZWZlcnJlZDogRGVmZXJyZWQ8dm9pZD4gfCBudWxsID0gbnVsbFxuICBwcml2YXRlIGZsdXNoVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGxcblxuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbE1hbmFnZXI6IFB1c2hMb2dSZWNvcmRzQ3JlZGVudGlhbE1hbmFnZXJcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW5kcG9pbnRVcmw6IHN0cmluZykge1xuICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIgPSBuZXcgUHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlcihlbmRwb2ludFVybClcblxuICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIub24oXCJyZWNlaXZlZFwiLCAoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoIHx8IHRoaXMuZmx1c2hEZWZlcnJlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuZmx1c2goKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIEVycm9ycyBoYW5kbGVkIGluIGZsdXNoXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kIGEgbG9nIHJlY29yZCB0byB0aGUgcXVldWVcbiAgICovXG4gIGFwcGVuZChyZWNvcmQ6IFJlY29yZCk6IHZvaWQge1xuICAgIC8vIEFkZCB0aGUgcmVjb3JkIHdpdGggZW5yaWNoZWQgbWV0YWRhdGFcbiAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnB1c2goe1xuICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgICAgLi4ucmVjb3JkLFxuICAgICAgYXBwOiByZWNvcmQuYXBwICYmIHJlY29yZC5hcHAubGVuZ3RoID4gMCA/IHJlY29yZC5hcHAgOiBcIlVOS05PV05cIixcbiAgICAgIGVudjogcmVjb3JkLmVudiAmJiByZWNvcmQuZW52Lmxlbmd0aCA+IDAgPyByZWNvcmQuZW52IDogXCJVTktOT1dOXCIsXG4gICAgICB1cmw6IHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIgPyBcImxvY2FsOi8vXCIgOiB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIH0pXG4gICAgdGhpcy50cmltUGVuZGluZ1JlY29yZHNUb1F1ZXVlQ2FwKClcblxuICAgIC8vIENoZWNrIGlmIHdlIHNob3VsZCBmbHVzaCBpbW1lZGlhdGVseSBkdWUgdG8gcXVldWUgZGVwdGhcbiAgICBpZiAodGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggPj0gRkxVU0hfUVVFVUVfREVQVEgpIHtcbiAgICAgIHRoaXMuZmx1c2goKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIEVycm9ycyBoYW5kbGVkIGluIGZsdXNoXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTY2hlZHVsZSBhIGZsdXNoIGlmIG5vdCBhbHJlYWR5IHNjaGVkdWxlZFxuICAgICAgdGhpcy5zY2hlZHVsZUZsdXNoKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2NoZWR1bGUgYSBmbHVzaCBhZnRlciB0aGUgaW50ZXJ2YWxcbiAgICovXG4gIHByaXZhdGUgc2NoZWR1bGVGbHVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbHVzaFRpbWVyKSB7XG4gICAgICByZXR1cm4gLy8gQWxyZWFkeSBzY2hlZHVsZWRcbiAgICB9XG5cbiAgICB0aGlzLmZsdXNoVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZmx1c2hUaW1lciA9IG51bGxcbiAgICAgIHRoaXMuZmx1c2goKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIEVycm9ycyBoYW5kbGVkIGluIGZsdXNoXG4gICAgICB9KVxuICAgIH0sIEZMVVNIX0lOVEVSVkFMX01TKVxuICB9XG5cbiAgLyoqXG4gICAqIEZsdXNoIHBlbmRpbmcgcmVjb3JkcyB0byB0aGUgZW5kcG9pbnRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gUHJldmVudCBjb25jdXJyZW50IGZsdXNoZXNcbiAgICBpZiAodGhpcy5mbHVzaERlZmVycmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5mbHVzaERlZmVycmVkLnByb21pc2VcbiAgICB9XG5cbiAgICAvLyBOb3RoaW5nIHRvIGZsdXNoXG4gICAgaWYgKCF0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgdmFsaWQgY3JlZGVudGlhbHNcbiAgICBjb25zdCBoYXNDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuY3JlZGVudGlhbE1hbmFnZXIuZW5zdXJlQ3JlZGVudGlhbHMoKVxuICAgIGlmICghaGFzQ3JlZGVudGlhbHMpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIkZhaWxlZCB0byBwdXNoIGxvZyByZWNvcmRzXCIsIFwiTm8gdmFsaWQgY3JlZGVudGlhbHMgYXZhaWxhYmxlXCIpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBkZWZlcnJlZCA9ICh0aGlzLmZsdXNoRGVmZXJyZWQgPSBuZXcgRGVmZXJyZWQ8dm9pZD4oKSlcblxuICAgIHRyeSB7XG4gICAgICAvLyBUYWtlIGFsbCBwZW5kaW5nIHJlY29yZHMgZm9yIHRoaXMgZmx1c2hcbiAgICAgIGNvbnN0IHJlY29yZHMgPSB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCB0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aClcbiAgICAgIGNvbnN0IHBheWxvYWQgPSB7IHJlY29yZHM6IHJlY29yZHMubWFwKHJlY29yZCA9PiBKU09OLnN0cmluZ2lmeShyZWNvcmQpKSB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godGhpcy5lbmRwb2ludFVybCwge1xuICAgICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICAgIG1vZGU6IFwiY29yc1wiLFxuICAgICAgICBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICB9LFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKVxuICAgICAgfSlcblxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAvLyBSZS1xdWV1ZSByZWNvcmRzIG9uIGZhaWx1cmVcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy51bnNoaWZ0KC4uLnJlY29yZHMpXG4gICAgICAgIHRoaXMudHJpbVBlbmRpbmdSZWNvcmRzVG9RdWV1ZUNhcCgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUHVzaCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtyZXNwb25zZS5zdGF0dXN9YClcbiAgICAgIH1cblxuICAgICAgZGVmZXJyZWQucmVzb2x2ZSgpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cuZGVidWcoXCJGYWlsZWQgdG8gcHVzaCBsb2cgcmVjb3Jkc1wiLCBlcnIpXG4gICAgICBkZWZlcnJlZC5yZWplY3QoZXJyKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmZsdXNoRGVmZXJyZWQgPSBudWxsXG5cbiAgICAgIC8vIElmIG1vcmUgcmVjb3JkcyBhY2N1bXVsYXRlZCBkdXJpbmcgZmx1c2gsIHNjaGVkdWxlIGFub3RoZXJcbiAgICAgIGlmICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZUZsdXNoKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcmNlIGFuIGltbWVkaWF0ZSBmbHVzaFxuICAgKi9cbiAgYXN5bmMgZm9yY2VGbHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5mbHVzaFRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5mbHVzaFRpbWVyKVxuICAgICAgdGhpcy5mbHVzaFRpbWVyID0gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZsdXNoKClcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSBwZW5kaW5nIHF1ZXVlIGNhcCBieSBkcm9wcGluZyB0aGUgb2xkZXN0IHJlY29yZHMuXG4gICAqL1xuICBwcml2YXRlIHRyaW1QZW5kaW5nUmVjb3Jkc1RvUXVldWVDYXAoKTogdm9pZCB7XG4gICAgY29uc3QgcmVtb3ZlQ291bnQgPSB0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCAtIExPR19RVUVVRV9NQVhfUkVDT1JEU1xuXG4gICAgaWYgKHJlbW92ZUNvdW50ID4gMCkge1xuICAgICAgdGhpcy5wZW5kaW5nUmVjb3Jkcy5zcGxpY2UoMCwgcmVtb3ZlQ291bnQpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIHVwIHJlc291cmNlc1xuICAgKi9cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbHVzaFRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5mbHVzaFRpbWVyKVxuICAgICAgdGhpcy5mbHVzaFRpbWVyID0gbnVsbFxuICAgIH1cblxuICAgIHRoaXMuY3JlZGVudGlhbE1hbmFnZXIuZGVzdHJveSgpXG5cbiAgICBpZiAodGhpcy5mbHVzaERlZmVycmVkICYmICF0aGlzLmZsdXNoRGVmZXJyZWQuaXNTZXR0bGVkKCkpIHtcbiAgICAgIHRoaXMuZmx1c2hEZWZlcnJlZC5yZWplY3QobmV3IEVycm9yKFwiQXBwZW5kZXIgZGVzdHJveWVkXCIpKVxuICAgIH1cblxuICAgIHRoaXMuZmx1c2hEZWZlcnJlZCA9IG51bGxcbiAgICB0aGlzLnBlbmRpbmdSZWNvcmRzID0gW11cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQdXNoTG9nUmVjb3Jkc0FwcGVuZGVyXG4iXX0=
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVzaExvZ1JlY29yZHNBcHBlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2FwcGVuZGVycy9wdXNoL1B1c2hMb2dSZWNvcmRzQXBwZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUdwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUUzRCxtREFBbUQ7QUFDbkQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQSxDQUFDLGFBQWE7QUFDeEQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQSxDQUFDLHNDQUFzQztBQUNyRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQTtBQUM5QixNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUEsQ0FBQyxhQUFhO0FBQ2hELE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFBO0FBQ25DLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQTtBQUVsQyxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO0FBTy9COzs7R0FHRztBQUNILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxhQUFzRDtJQUs3RTtJQUpwQixZQUFZLEdBQXlDLElBQUksQ0FBQTtJQUN6RCxrQkFBa0IsR0FBMEIsSUFBSSxDQUFBO0lBQ2hELG9CQUFvQixHQUFrQixJQUFJLENBQUE7SUFFbEQsWUFBNEIsV0FBbUI7UUFDN0MsS0FBSyxFQUFFLENBQUE7UUFEbUIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFFL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMvQixP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LENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRWhDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7UUFDNUQsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFBO0lBQzFCLENBQUM7Q0FDRjtBQUVELGVBQWUsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRFbWl0dGVyMyBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgeyBEZWZlcnJlZCB9IGZyb20gXCIuLi8uLi8uLi9oZWxwZXJzL2luZGV4LmpzXCJcbmltcG9ydCB7IExvZ1JlY29yZCB9IGZyb20gXCIuLi8uLi9Mb2dSZWNvcmQuanNcIlxuaW1wb3J0IHsgQXBwZW5kZXIgfSBmcm9tIFwiLi4vLi4vQXBwZW5kZXIuanNcIlxuaW1wb3J0IHsgZ2V0SW50ZXJuYWxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vSW50ZXJuYWxMb2dnZXIuanNcIlxuXG4vLyBDb25zdGFudHMgZm9yIHR1bmluZyAoYWRqdXN0YWJsZSBpbiBkZXZlbG9wbWVudClcbmNvbnN0IENPT0tJRV9FWFBJUkFUSU9OX01TID0gNSAqIDYwICogMTAwMCAvLyAzMCBtaW51dGVzXG5jb25zdCBDT09LSUVfUkVGUkVTSF9CVUZGRVJfTVMgPSAyICogNjAgKiAxMDAwIC8vIFJlZnJlc2ggMiBtaW51dGVzIGJlZm9yZSBleHBpcmF0aW9uXG5jb25zdCBGTFVTSF9RVUVVRV9ERVBUSCA9IDEwMDBcbmNvbnN0IEZMVVNIX0lOVEVSVkFMX01TID0gNSAqIDEwMDAgLy8gMTAgc2Vjb25kc1xuY29uc3QgTE9HX1FVRVVFX01BWF9SRUNPUkRTID0gMTAwMDBcbmNvbnN0IENPT0tJRV9OQU1FID0gXCJ3aXJlX2xvZ3NfaWRcIlxuXG5jb25zdCBsb2cgPSBnZXRJbnRlcm5hbExvZ2dlcigpXG5cbmludGVyZmFjZSBQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyRXZlbnRNYXAge1xuICByZWNlaXZlZDogKCkgPT4gdm9pZFxuICBleHBpcmVkOiAoKSA9PiB2b2lkXG59XG5cbi8qKlxuICogTWFuYWdlcyBjcmVkZW50aWFsIGNvb2tpZSBmb3IgUHVzaExvZ1JlY29yZHNBcHBlbmRlci5cbiAqIEludm9rZXMgdGhlIGVuZHBvaW50IHZpYSBQT1NUIHRvIG9idGFpbiBhIHNlc3Npb24gY29va2llLlxuICovXG5leHBvcnQgY2xhc3MgUHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlciBleHRlbmRzIEV2ZW50RW1pdHRlcjM8UHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlckV2ZW50TWFwPiB7XG4gIHByaXZhdGUgcmVmcmVzaFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsXG4gIHByaXZhdGUgY3JlZGVudGlhbERlZmVycmVkOiBEZWZlcnJlZDx2b2lkPiB8IG51bGwgPSBudWxsXG4gIHByaXZhdGUgY29va2llRXhwaXJhdGlvblRpbWU6IG51bWJlciB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVuZHBvaW50VXJsOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdmFsaWQgY3JlZGVudGlhbHMgZXhpc3RcbiAgICovXG4gIGhhc0NyZWRlbnRpYWxzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKERhdGUubm93KCkgPj0gdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSkge1xuICAgICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IG51bGxcbiAgICAgIHRoaXMuZW1pdChcImV4cGlyZWRcIilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKipcbiAgICogR2V0IGNyZWRlbnRpYWxzLCBmZXRjaGluZyB0aGVtIGlmIG5lY2Vzc2FyeVxuICAgKi9cbiAgYXN5bmMgZW5zdXJlQ3JlZGVudGlhbHMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gSWYgd2UgaGF2ZSB2YWxpZCBjcmVkZW50aWFscywgcmV0dXJuIGltbWVkaWF0ZWx5XG4gICAgaWYgKHRoaXMuaGFzQ3JlZGVudGlhbHMoKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyBJZiBhIGZldGNoIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdhaXQgZm9yIGl0XG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbERlZmVycmVkICYmICF0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQucHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5oYXNDcmVkZW50aWFscygpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggbmV3IGNyZWRlbnRpYWxzXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hDcmVkZW50aWFscygpXG4gIH1cblxuICAvKipcbiAgICogRm9yY2UgcmVmcmVzaCBvZiBjcmVkZW50aWFsc1xuICAgKi9cbiAgZm9yY2VSZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZnJlc2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaFRpbWVyKVxuICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IG51bGxcblxuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCAmJiAhdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQuaXNTZXR0bGVkKCkpIHtcbiAgICAgIHRoaXMuY3JlZGVudGlhbERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoXCJGb3JjZSByZWZyZXNoIHJlcXVlc3RlZFwiKSlcbiAgICB9XG4gICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG5cbiAgICB0aGlzLmZldGNoQ3JlZGVudGlhbHMoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAvLyBJZ25vcmUgZXJyb3JzIGR1cmluZyBmb3JjZSByZWZyZXNoLCB0aGV5J2xsIGJlIGhhbmRsZWQgb24gbmV4dCByZXF1ZXN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBjcmVkZW50aWFscyBmcm9tIHRoZSBlbmRwb2ludFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaENyZWRlbnRpYWxzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRlZmVycmVkID0gKHRoaXMuY3JlZGVudGlhbERlZmVycmVkID0gbmV3IERlZmVycmVkPHZvaWQ+KCkpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmVuZHBvaW50VXJsLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIG1vZGU6IFwiY29yc1wiLFxuICAgICAgICBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICB9LFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7fSlcbiAgICAgIH0pXG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDcmVkZW50aWFsIHJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzICR7cmVzcG9uc2Uuc3RhdHVzfWBcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBDb29raWUgaXMgc2V0IGJ5IFNldC1Db29raWUgaGVhZGVyLCB3ZSBqdXN0IG5lZWQgdG8gdHJhY2sgZXhwaXJhdGlvblxuICAgICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IERhdGUubm93KCkgKyBDT09LSUVfRVhQSVJBVElPTl9NU1xuXG4gICAgICAvLyBTY2hlZHVsZSByZWZyZXNoIGJlZm9yZSBleHBpcmF0aW9uXG4gICAgICB0aGlzLnNjaGVkdWxlUmVmcmVzaCgpXG5cbiAgICAgIGRlZmVycmVkLnJlc29sdmUoKVxuICAgICAgdGhpcy5lbWl0KFwicmVjZWl2ZWRcIilcblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGZldGNoIHB1c2ggbG9nIGNyZWRlbnRpYWxzXCIsIGVycilcbiAgICAgIGRlZmVycmVkLnJlamVjdChlcnIpXG4gICAgICB0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZCA9IG51bGxcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTY2hlZHVsZSBhIGNyZWRlbnRpYWwgcmVmcmVzaCBiZWZvcmUgZXhwaXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBzY2hlZHVsZVJlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVmcmVzaFRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoVGltZXIpXG4gICAgfVxuXG4gICAgY29uc3QgcmVmcmVzaEluID0gQ09PS0lFX0VYUElSQVRJT05fTVMgLSBDT09LSUVfUkVGUkVTSF9CVUZGRVJfTVNcbiAgICB0aGlzLnJlZnJlc2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG4gICAgICB0aGlzLmZldGNoQ3JlZGVudGlhbHMoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIExvZyBidXQgZG9uJ3QgdGhyb3cgLSB3aWxsIHJldHJ5IG9uIG5leHQgcmVxdWVzdFxuICAgICAgICBsb2cuZGVidWcoXCJTY2hlZHVsZWQgY3JlZGVudGlhbCByZWZyZXNoIGZhaWxlZFwiKVxuICAgICAgfSlcbiAgICB9LCByZWZyZXNoSW4pXG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gdXAgcmVzb3VyY2VzXG4gICAqL1xuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZnJlc2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaFRpbWVyKVxuICAgICAgdGhpcy5yZWZyZXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbERlZmVycmVkICYmICF0aGlzLmNyZWRlbnRpYWxEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQucmVqZWN0KG5ldyBFcnJvcihcIkNyZWRlbnRpYWwgbWFuYWdlciBkZXN0cm95ZWRcIikpXG4gICAgfVxuXG4gICAgdGhpcy5jcmVkZW50aWFsRGVmZXJyZWQgPSBudWxsXG4gICAgdGhpcy5jb29raWVFeHBpcmF0aW9uVGltZSA9IG51bGxcbiAgfVxufVxuXG4vKipcbiAqIEFwcGVuZGVyIHRoYXQgcHVzaGVzIGxvZyByZWNvcmRzIHRvIGEgcmVtb3RlIGVuZHBvaW50IHZpYSBIVFRQIFBVVC5cbiAqIEJhdGNoZXMgcmVjb3JkcyBhbmQgc2VuZHMgd2hlbiBxdWV1ZSByZWFjaGVzIEZMVVNIX1FVRVVFX0RFUFRIIG9yIEZMVVNIX0lOVEVSVkFMX01TIGhhcyBlbGFwc2VkLlxuICovXG5leHBvcnQgY2xhc3MgUHVzaExvZ1JlY29yZHNBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkID0gTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHByaXZhdGUgcGVuZGluZ1JlY29yZHM6IExvZ1JlY29yZFtdID0gW11cbiAgcHJpdmF0ZSBmbHVzaERlZmVycmVkOiBEZWZlcnJlZDx2b2lkPiB8IG51bGwgPSBudWxsXG4gIHByaXZhdGUgZmx1c2hUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbFxuXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsTWFuYWdlcjogUHVzaExvZ1JlY29yZHNDcmVkZW50aWFsTWFuYWdlclxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlbmRwb2ludFVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlciA9IG5ldyBQdXNoTG9nUmVjb3Jkc0NyZWRlbnRpYWxNYW5hZ2VyKGVuZHBvaW50VXJsKVxuXG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5vbihcInJlY2VpdmVkXCIsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nUmVjb3Jkcy5sZW5ndGggfHwgdGhpcy5mbHVzaERlZmVycmVkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gRXJyb3JzIGhhbmRsZWQgaW4gZmx1c2hcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgYSBsb2cgcmVjb3JkIHRvIHRoZSBxdWV1ZVxuICAgKi9cbiAgYXBwZW5kKHJlY29yZDogUmVjb3JkKTogdm9pZCB7XG4gICAgLy8gQWRkIHRoZSByZWNvcmQgd2l0aCBlbnJpY2hlZCBtZXRhZGF0YVxuICAgIHRoaXMucGVuZGluZ1JlY29yZHMucHVzaCh7XG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAuLi5yZWNvcmQsXG4gICAgICBhcHA6IHJlY29yZC5hcHAgJiYgcmVjb3JkLmFwcC5sZW5ndGggPiAwID8gcmVjb3JkLmFwcCA6IFwiVU5LTk9XTlwiLFxuICAgICAgZW52OiByZWNvcmQuZW52ICYmIHJlY29yZC5lbnYubGVuZ3RoID4gMCA/IHJlY29yZC5lbnYgOiBcIlVOS05PV05cIixcbiAgICAgIHVybDogdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwibG9jYWw6Ly9cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgfSlcbiAgICB0aGlzLnRyaW1QZW5kaW5nUmVjb3Jkc1RvUXVldWVDYXAoKVxuXG4gICAgLy8gQ2hlY2sgaWYgd2Ugc2hvdWxkIGZsdXNoIGltbWVkaWF0ZWx5IGR1ZSB0byBxdWV1ZSBkZXB0aFxuICAgIGlmICh0aGlzLnBlbmRpbmdSZWNvcmRzLmxlbmd0aCA+PSBGTFVTSF9RVUVVRV9ERVBUSCkge1xuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gRXJyb3JzIGhhbmRsZWQgaW4gZmx1c2hcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjaGVkdWxlIGEgZmx1c2ggaWYgbm90IGFscmVhZHkgc2NoZWR1bGVkXG4gICAgICB0aGlzLnNjaGVkdWxlRmx1c2goKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTY2hlZHVsZSBhIGZsdXNoIGFmdGVyIHRoZSBpbnRlcnZhbFxuICAgKi9cbiAgcHJpdmF0ZSBzY2hlZHVsZUZsdXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsdXNoVGltZXIpIHtcbiAgICAgIHJldHVybiAvLyBBbHJlYWR5IHNjaGVkdWxlZFxuICAgIH1cblxuICAgIHRoaXMuZmx1c2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mbHVzaFRpbWVyID0gbnVsbFxuICAgICAgdGhpcy5mbHVzaCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gRXJyb3JzIGhhbmRsZWQgaW4gZmx1c2hcbiAgICAgIH0pXG4gICAgfSwgRkxVU0hfSU5URVJWQUxfTVMpXG4gIH1cblxuICAvKipcbiAgICogRmx1c2ggcGVuZGluZyByZWNvcmRzIHRvIHRoZSBlbmRwb2ludFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBmbHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBQcmV2ZW50IGNvbmN1cnJlbnQgZmx1c2hlc1xuICAgIGlmICh0aGlzLmZsdXNoRGVmZXJyZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmZsdXNoRGVmZXJyZWQucHJvbWlzZVxuICAgIH1cblxuICAgIC8vIE5vdGhpbmcgdG8gZmx1c2hcbiAgICBpZiAoIXRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgd2UgaGF2ZSB2YWxpZCBjcmVkZW50aWFsc1xuICAgIGNvbnN0IGhhc0NyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5lbnN1cmVDcmVkZW50aWFscygpXG4gICAgaWYgKCFoYXNDcmVkZW50aWFscykge1xuICAgICAgbG9nLmRlYnVnKFwiRmFpbGVkIHRvIHB1c2ggbG9nIHJlY29yZHNcIiwgXCJObyB2YWxpZCBjcmVkZW50aWFscyBhdmFpbGFibGVcIilcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGRlZmVycmVkID0gKHRoaXMuZmx1c2hEZWZlcnJlZCA9IG5ldyBEZWZlcnJlZDx2b2lkPigpKVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFRha2UgYWxsIHBlbmRpbmcgcmVjb3JkcyBmb3IgdGhpcyBmbHVzaFxuICAgICAgY29uc3QgcmVjb3JkcyA9IHRoaXMucGVuZGluZ1JlY29yZHMuc3BsaWNlKDAsIHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoKVxuICAgICAgY29uc3QgcGF5bG9hZCA9IHsgcmVjb3JkczogcmVjb3Jkcy5tYXAocmVjb3JkID0+IEpTT04uc3RyaW5naWZ5KHJlY29yZCkpIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmVuZHBvaW50VXJsLCB7XG4gICAgICAgIG1ldGhvZDogXCJQVVRcIixcbiAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBcImluY2x1ZGVcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIC8vIFJlLXF1ZXVlIHJlY29yZHMgb24gZmFpbHVyZVxuICAgICAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnVuc2hpZnQoLi4ucmVjb3JkcylcbiAgICAgICAgdGhpcy50cmltUGVuZGluZ1JlY29yZHNUb1F1ZXVlQ2FwKClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQdXNoIGZhaWxlZCB3aXRoIHN0YXR1cyAke3Jlc3BvbnNlLnN0YXR1c31gKVxuICAgICAgfVxuXG4gICAgICBkZWZlcnJlZC5yZXNvbHZlKClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIkZhaWxlZCB0byBwdXNoIGxvZyByZWNvcmRzXCIsIGVycilcbiAgICAgIGRlZmVycmVkLnJlamVjdChlcnIpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZmx1c2hEZWZlcnJlZCA9IG51bGxcblxuICAgICAgLy8gSWYgbW9yZSByZWNvcmRzIGFjY3VtdWxhdGVkIGR1cmluZyBmbHVzaCwgc2NoZWR1bGUgYW5vdGhlclxuICAgICAgaWYgKHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNjaGVkdWxlRmx1c2goKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogRm9yY2UgYW4gaW1tZWRpYXRlIGZsdXNoXG4gICAqL1xuICBhc3luYyBmb3JjZUZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmZsdXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmZsdXNoVGltZXIpXG4gICAgICB0aGlzLmZsdXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmx1c2goKVxuICB9XG5cbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhlIHBlbmRpbmcgcXVldWUgY2FwIGJ5IGRyb3BwaW5nIHRoZSBvbGRlc3QgcmVjb3Jkcy5cbiAgICovXG4gIHByaXZhdGUgdHJpbVBlbmRpbmdSZWNvcmRzVG9RdWV1ZUNhcCgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdmVDb3VudCA9IHRoaXMucGVuZGluZ1JlY29yZHMubGVuZ3RoIC0gTE9HX1FVRVVFX01BWF9SRUNPUkRTXG5cbiAgICBpZiAocmVtb3ZlQ291bnQgPiAwKSB7XG4gICAgICB0aGlzLnBlbmRpbmdSZWNvcmRzLnNwbGljZSgwLCByZW1vdmVDb3VudClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gdXAgcmVzb3VyY2VzXG4gICAqL1xuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsdXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmZsdXNoVGltZXIpXG4gICAgICB0aGlzLmZsdXNoVGltZXIgPSBudWxsXG4gICAgfVxuXG4gICAgdGhpcy5jcmVkZW50aWFsTWFuYWdlci5kZXN0cm95KClcblxuICAgIGlmICh0aGlzLmZsdXNoRGVmZXJyZWQgJiYgIXRoaXMuZmx1c2hEZWZlcnJlZC5pc1NldHRsZWQoKSkge1xuICAgICAgdGhpcy5mbHVzaERlZmVycmVkLnJlamVjdChuZXcgRXJyb3IoXCJBcHBlbmRlciBkZXN0cm95ZWRcIikpXG4gICAgfVxuXG4gICAgdGhpcy5mbHVzaERlZmVycmVkID0gbnVsbFxuICAgIHRoaXMucGVuZGluZ1JlY29yZHMgPSBbXVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFB1c2hMb2dSZWNvcmRzQXBwZW5kZXJcbiJdfQ==