@cloudbase/ai 2.11.0 → 2.12.1
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.
- package/dist/cjs/AI.js +6 -4
- package/dist/cjs/bot/index.d.ts +15 -15
- package/dist/cjs/bot/index.js +56 -22
- package/dist/cjs/models/Ark/index.d.ts +3 -3
- package/dist/cjs/models/Ark/index.js +5 -3
- package/dist/cjs/models/DashScope/index.d.ts +3 -3
- package/dist/cjs/models/DashScope/index.js +5 -3
- package/dist/cjs/models/DeepSeek/index.d.ts +3 -3
- package/dist/cjs/models/DeepSeek/index.js +5 -3
- package/dist/cjs/models/HunYuan/index.d.ts +3 -3
- package/dist/cjs/models/HunYuan/index.js +5 -3
- package/dist/cjs/models/HunYuanBeta/index.d.ts +3 -3
- package/dist/cjs/models/HunYuanBeta/index.js +5 -3
- package/dist/cjs/models/HunYuanOpen/index.d.ts +3 -3
- package/dist/cjs/models/HunYuanOpen/index.js +5 -3
- package/dist/cjs/models/Moonshot/index.d.ts +3 -3
- package/dist/cjs/models/Moonshot/index.js +5 -3
- package/dist/cjs/models/Yi/index.d.ts +3 -3
- package/dist/cjs/models/Yi/index.js +5 -3
- package/dist/cjs/models/ZhiPu/index.d.ts +3 -3
- package/dist/cjs/models/ZhiPu/index.js +5 -3
- package/dist/cjs/models/model.d.ts +3 -3
- package/dist/cjs/models/model.js +5 -5
- package/dist/cjs/type.d.ts +7 -2
- package/dist/cjs/type.js +1 -1
- package/dist/esm/AI.js +6 -4
- package/dist/esm/bot/index.d.ts +15 -15
- package/dist/esm/bot/index.js +56 -22
- package/dist/esm/models/Ark/index.d.ts +3 -3
- package/dist/esm/models/Ark/index.js +5 -3
- package/dist/esm/models/DashScope/index.d.ts +3 -3
- package/dist/esm/models/DashScope/index.js +5 -3
- package/dist/esm/models/DeepSeek/index.d.ts +3 -3
- package/dist/esm/models/DeepSeek/index.js +5 -3
- package/dist/esm/models/HunYuan/index.d.ts +3 -3
- package/dist/esm/models/HunYuan/index.js +5 -3
- package/dist/esm/models/HunYuanBeta/index.d.ts +3 -3
- package/dist/esm/models/HunYuanBeta/index.js +5 -3
- package/dist/esm/models/HunYuanOpen/index.d.ts +3 -3
- package/dist/esm/models/HunYuanOpen/index.js +5 -3
- package/dist/esm/models/Moonshot/index.d.ts +3 -3
- package/dist/esm/models/Moonshot/index.js +5 -3
- package/dist/esm/models/Yi/index.d.ts +3 -3
- package/dist/esm/models/Yi/index.js +5 -3
- package/dist/esm/models/ZhiPu/index.d.ts +3 -3
- package/dist/esm/models/ZhiPu/index.js +5 -3
- package/dist/esm/models/model.d.ts +3 -3
- package/dist/esm/models/model.js +5 -5
- package/dist/esm/type.d.ts +7 -2
- package/dist/esm/type.js +1 -1
- package/package.json +4 -4
- package/src/AI.ts +5 -3
- package/src/bot/index.ts +56 -22
- package/src/models/Ark/index.ts +5 -2
- package/src/models/DashScope/index.ts +5 -2
- package/src/models/DeepSeek/index.ts +5 -2
- package/src/models/HunYuan/index.ts +5 -2
- package/src/models/HunYuanBeta/index.ts +5 -2
- package/src/models/HunYuanOpen/index.ts +5 -2
- package/src/models/Moonshot/index.ts +5 -2
- package/src/models/Yi/index.ts +5 -2
- package/src/models/ZhiPu/index.ts +5 -2
- package/src/models/model.ts +5 -4
- package/src/type.ts +9 -3
package/dist/cjs/models/model.js
CHANGED
|
@@ -96,7 +96,7 @@ var ReactModel = (function () {
|
|
|
96
96
|
function ReactModel(model) {
|
|
97
97
|
this.model = model;
|
|
98
98
|
}
|
|
99
|
-
ReactModel.prototype.generateText = function (_input) {
|
|
99
|
+
ReactModel.prototype.generateText = function (_input, options) {
|
|
100
100
|
var _a, _b;
|
|
101
101
|
return __awaiter(this, void 0, void 0, function () {
|
|
102
102
|
var rawResponses, totalUsage, _c, _d, onStepFinish, _e, maxSteps, input, doGenerate, currentRes, currentStep, toolCall, stepUsage_1, toolCallResult, choice, e_1, lastChoice, lastMessage, text, messages, stepUsage;
|
|
@@ -107,7 +107,7 @@ var ReactModel = (function () {
|
|
|
107
107
|
rawResponses = [];
|
|
108
108
|
totalUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
|
|
109
109
|
_c = processInput(_input), _d = _c[0], onStepFinish = _d.onStepFinish, _e = _d.maxSteps, maxSteps = _e === void 0 ? 10 : _e, input = _c[1];
|
|
110
|
-
doGenerate = function () { return _this.model.doGenerate(input); };
|
|
110
|
+
doGenerate = function () { return _this.model.doGenerate(input, options); };
|
|
111
111
|
return [4, doGenerate()];
|
|
112
112
|
case 1:
|
|
113
113
|
currentRes = _f.sent();
|
|
@@ -182,7 +182,7 @@ var ReactModel = (function () {
|
|
|
182
182
|
});
|
|
183
183
|
});
|
|
184
184
|
};
|
|
185
|
-
ReactModel.prototype.streamText = function (_input) {
|
|
185
|
+
ReactModel.prototype.streamText = function (_input, options) {
|
|
186
186
|
var _a;
|
|
187
187
|
return __awaiter(this, void 0, void 0, function () {
|
|
188
188
|
var totalUsage, _b, _c, onStepFinish, _d, maxSteps, input, doStream, currentRes, currentStep, readResult, readCurrentStream, _e, assistantMessage, stepUsage_2, toolCall, toolCallResult, e_2, _f, s1_1, s2_1, message_1, usage, messages, _g, s1_2, s2_2, messagePromise, usagePromise, message, finishReason, stepUsage, originStream, _h, s1, s2;
|
|
@@ -192,7 +192,7 @@ var ReactModel = (function () {
|
|
|
192
192
|
case 0:
|
|
193
193
|
totalUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
|
|
194
194
|
_b = processInput(_input), _c = _b[0], onStepFinish = _c.onStepFinish, _d = _c.maxSteps, maxSteps = _d === void 0 ? 10 : _d, input = _b[1];
|
|
195
|
-
doStream = function () { return _this.model.doStream(input); };
|
|
195
|
+
doStream = function () { return _this.model.doStream(input, options); };
|
|
196
196
|
return [4, doStream()];
|
|
197
197
|
case 1:
|
|
198
198
|
currentRes = _j.sent();
|
|
@@ -478,4 +478,4 @@ function addToUsage(targetUsage, sourceUsage) {
|
|
|
478
478
|
targetUsage.prompt_tokens += sourceUsage.prompt_tokens;
|
|
479
479
|
targetUsage.total_tokens += sourceUsage.total_tokens;
|
|
480
480
|
}
|
|
481
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBTWlCO0FBdUNqQixTQUFTLFlBQVksQ0FBQyxHQUFvQjs7SUFDaEMsSUFBQSxZQUFZLEdBQW9ELEdBQUcsYUFBdkQsRUFBRSxXQUFXLEdBQXVDLEdBQUcsWUFBMUMsRUFBRSxRQUFRLEdBQTZCLEdBQUcsU0FBaEMsRUFBRSxJQUFJLEdBQXVCLEdBQUcsS0FBMUIsRUFBRSxVQUFVLEdBQVcsR0FBRyxXQUFkLEVBQUssQ0FBQyxVQUFLLEdBQUcsRUFBckUsaUVBQStELENBQUYsQ0FBUTtJQUUzRSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7S0FDdEQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxZQUFZLGNBQUEsRUFBRSxXQUFXLGFBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRTs4QkFFbEMsQ0FBQyxLQUNKLEtBQUssRUFBRSxNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEdBQUcsQ0FBQyxVQUFDLElBQUk7Z0JBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtvQkFDaEIsT0FBTyxJQUFBLCtCQUF1QixFQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQ3BDLFdBQVcsRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFV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Q3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIGNyZWF0ZVByb21pc2UsXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCxcbn0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQge1xuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb1N0cmVhbU91dHB1dCxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBUb29sQ2FsbCxcbiAgQ2hhdE1vZGVsTWVzc2FnZSxcbiAgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtLFxuICBVc2FnZSxcbiAgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBNb2RlbFRvb2wsXG4gIEZ1bmN0aW9uVG9vbCxcbn0gZnJvbSAnLi4vdHlwZSdcblxudHlwZSBSZWFjdE1vZGVsSW5wdXQgPSBSZWFjdFByb3BzICZcbk9taXQ8QmFzZUNoYXRNb2RlbElucHV0LCAndG9vbHMnPiAmIHtcbiAgdG9vbHM/OiBBcnJheTxNb2RlbFRvb2wgfCBGdW5jdGlvblRvb2w+XG4gIHRvcFA/OiBudW1iZXJcbiAgdG9vbENob2ljZT86ICdub25lJyB8ICdhdXRvJyB8ICdjdXN0b20nXG59XG5cbmludGVyZmFjZSBJT25TdGVwRmluaXNoIHtcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gIHRleHQ/OiBzdHJpbmdcbiAgdG9vbENhbGw/OiBUb29sQ2FsbFxuICB0b29sUmVzdWx0PzogdW5rbm93blxuICBmaW5pc2hSZWFzb24/OiBzdHJpbmdcbiAgc3RlcFVzYWdlPzogVXNhZ2VcbiAgdG90YWxVc2FnZT86IFVzYWdlXG59XG5cbmludGVyZmFjZSBSZWFjdFByb3BzIHtcbiAgbWF4U3RlcHM/OiBudW1iZXJcbiAgb25TdGVwRmluaXNoPzogKHByb3A6IElPblN0ZXBGaW5pc2gpID0+IHVua25vd25cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCAvLyBUT0RPOiDlrp7njrAgYWJvcnRTaWduYWxcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KG9iajogUmVhY3RNb2RlbElucHV0KTogW1JlYWN0UHJvcHMsIEJhc2VDaGF0TW9kZWxJbnB1dF0ge1xuICBjb25zdCB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzLCB0b3BQLCB0b29sQ2hvaWNlLCAuLi5iIH0gPSBvYmpcblxuICBpZiAobWF4U3RlcHMgIT0gbnVsbCAmJiBtYXhTdGVwcyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2BtYXhTdGVwc2AgbXVzZSBiZSBncmVhdGVyIHRoYW4gMC4nKVxuICB9XG5cbiAgcmV0dXJuIFtcbiAgICB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzIH0sXG4gICAge1xuICAgICAgLi4uYixcbiAgICAgIHRvb2xzOiBiLnRvb2xzPy5tYXAoKHRvb2wpID0+IHtcbiAgICAgICAgaWYgKCdmbicgaW4gdG9vbCkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCh0b29sKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b29sXG4gICAgICB9KSxcbiAgICAgIHRvcF9wOiB0b3BQICE9IG51bGwgPyB0b3BQIDogYi50b3BfcCxcbiAgICAgIHRvb2xfY2hvaWNlOiB0b29sQ2hvaWNlICE9IG51bGwgPyB0b29sQ2hvaWNlIDogYi50b29sX2Nob2ljZSxcbiAgICB9LFxuICBdXG59XG5cbmV4cG9ydCBjbGFzcyBSZWFjdE1vZGVsIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlbDogU2ltcGxlQ2hhdE1vZGVsKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZW5lcmF0ZVRleHQoX2lucHV0OiBSZWFjdE1vZGVsSW5wdXQpOiBQcm9taXNlPHtcbiAgICB0ZXh0OiBzdHJpbmdcbiAgICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT5cbiAgICB1c2FnZTogVXNhZ2VcbiAgICByYXdSZXNwb25zZXM6IEFycmF5PHVua25vd24+XG4gICAgZXJyb3I/OiBhbnlcbiAgfT4ge1xuICAgIGNvbnN0IHJhd1Jlc3BvbnNlcyA9IFtdXG4gICAgY29uc3QgdG90YWxVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3QgW3sgb25TdGVwRmluaXNoLCBtYXhTdGVwcyA9IDEwIH0sIGlucHV0XSA9IHByb2Nlc3NJbnB1dChfaW5wdXQpXG5cbiAgICBjb25zdCBkb0dlbmVyYXRlID0gKCkgPT4gdGhpcy5tb2RlbC5kb0dlbmVyYXRlKGlucHV0KSAvLyDlkI7nu63ku6PnoIHkvJrnm7TmjqXlr7kgaW5wdXQubWVzc2FnZXMg5Y6f5Zyw5L+u5pS577yM6L+Z6YeM5LiA55u055So5ZCM5LiA5Liq5a+56LGh5bCx6KGMXG4gICAgbGV0IGN1cnJlbnRSZXMgPSBhd2FpdCBkb0dlbmVyYXRlKClcbiAgICBsZXQgY3VycmVudFN0ZXAgPSAxXG4gICAgY3VycmVudFJlcy5yYXdSZXNwb25zZSAmJiByYXdSZXNwb25zZXMucHVzaChjdXJyZW50UmVzLnJhd1Jlc3BvbnNlKVxuXG4gICAgbGV0IHRvb2xDYWxsOiBUb29sQ2FsbCB8IG51bGwgPSBudWxsXG5cbiAgICAvLyBUT0RPOiDkuIDmrKHlr7nor53mnInlpJrkuKogdG9vbCBjYWxsPyDnm67liY3msqHmnInov5nnp43njrDosaHvvIzmmoLml7bkuI3lpITnkIZcbiAgICB3aGlsZSAoY3VycmVudFN0ZXAgPCBtYXhTdGVwcyAmJiAodG9vbENhbGwgPSBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShjdXJyZW50UmVzKSkgIT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RlcFVzYWdlID0gY3JlYXRlU29saWRVc2FnZShjdXJyZW50UmVzLnVzYWdlKVxuICAgICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG5cbiAgICAgIC8vIOW9k+WIpOaWremcgOimgeW3peWFt+iwg+eUqOaXtlxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9vbENhbGxSZXN1bHQgPSBhd2FpdCBjYWxsVG9vbCh0b29sQ2FsbCkgLy8g6LCD55SoXG5cbiAgICAgICAgY29uc3QgY2hvaWNlID0gY3VycmVudFJlcy5jaG9pY2VzWzBdIC8vIGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlIOS/neivgeS6hiBjaG9pY2Ug6IKv5a6a5a2Y5ZyoXG5cbiAgICAgICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIGZpbmlzaFJlYXNvbjogY2hvaWNlLmZpbmlzaF9yZWFzb24sXG4gICAgICAgICAgbWVzc2FnZXM6IGlucHV0Lm1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICAgICAgdGV4dDogY2hvaWNlLm1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgICB0b29sQ2FsbCxcbiAgICAgICAgICB0b29sUmVzdWx0OiB0b29sQ2FsbFJlc3VsdCxcbiAgICAgICAgICBzdGVwVXNhZ2UsXG4gICAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICAgIH0pXG5cbiAgICAgICAgcHVzaE5ld01lc3NhZ2VzKGlucHV0Lm1lc3NhZ2VzLCBjaG9pY2UubWVzc2FnZSBhcyBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsIHRvb2xDYWxsUmVzdWx0KSAvLyDnlKjosIPnlKjnu5Pmnpzkv67mlLnmnIDmlrDnmoTmtojmga9cblxuICAgICAgICBjdXJyZW50UmVzID0gYXdhaXQgZG9HZW5lcmF0ZSgpIC8vIOW+queOr+WvueivnVxuICAgICAgICBjdXJyZW50UmVzLnJhd1Jlc3BvbnNlICYmIHJhd1Jlc3BvbnNlcy5wdXNoKGN1cnJlbnRSZXMucmF3UmVzcG9uc2UpXG4gICAgICAgIGN1cnJlbnRTdGVwICs9IDFcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICBtZXNzYWdlczogaW5wdXQubWVzc2FnZXMsXG4gICAgICAgICAgdXNhZ2U6IHRvdGFsVXNhZ2UsXG4gICAgICAgICAgZXJyb3I6IGUsXG4gICAgICAgICAgcmF3UmVzcG9uc2VzLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdENob2ljZSA9IGN1cnJlbnRSZXM/LmNob2ljZXM/LlswXVxuICAgIGNvbnN0IGxhc3RNZXNzYWdlID0gbGFzdENob2ljZT8ubWVzc2FnZVxuXG4gICAgY29uc3QgdGV4dCA9IGxhc3RNZXNzYWdlPy5jb250ZW50ID8/ICcnXG4gICAgY29uc3QgbWVzc2FnZXMgPSBsYXN0TWVzc2FnZSA/IFsuLi5pbnB1dC5tZXNzYWdlcywgbGFzdE1lc3NhZ2VdIDogaW5wdXQubWVzc2FnZXNcblxuICAgIGNvbnN0IHN0ZXBVc2FnZSA9IGNyZWF0ZVNvbGlkVXNhZ2UoY3VycmVudFJlcy51c2FnZSlcbiAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcblxuICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgIGZpbmlzaFJlYXNvbjogbGFzdENob2ljZS5maW5pc2hfcmVhc29uLFxuICAgICAgbWVzc2FnZXM6IG1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICB0ZXh0LFxuICAgICAgdG9vbENhbGw6IGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKGN1cnJlbnRSZXMpLFxuICAgICAgdG9vbFJlc3VsdDogbnVsbCxcbiAgICAgIHN0ZXBVc2FnZSxcbiAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgdGV4dCxcbiAgICAgIG1lc3NhZ2VzLFxuICAgICAgdXNhZ2U6IHRvdGFsVXNhZ2UsXG4gICAgICByYXdSZXNwb25zZXMsXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0cmVhbVRleHQoX2lucHV0OiBSZWFjdE1vZGVsSW5wdXQpOiBQcm9taXNlPHtcbiAgICBkYXRhU3RyZWFtOiBEb1N0cmVhbU91dHB1dFxuICAgIHRleHRTdHJlYW06IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxzdHJpbmc+XG4gICAgbWVzc2FnZXM6IFByb21pc2U8QXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT4+XG4gICAgdXNhZ2U6IFByb21pc2U8VXNhZ2U+XG4gICAgZXJyb3I/OiBhbnlcbiAgfT4ge1xuICAgIGNvbnN0IHRvdGFsVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IFt7IG9uU3RlcEZpbmlzaCwgbWF4U3RlcHMgPSAxMCB9LCBpbnB1dF0gPSBwcm9jZXNzSW5wdXQoX2lucHV0KVxuICAgIGNvbnN0IGRvU3RyZWFtID0gKCkgPT4gdGhpcy5tb2RlbC5kb1N0cmVhbShpbnB1dCkgLy8g5ZCO57ut5Luj56CB5Lya55u05o6l5a+5IGlucHV0Lm1lc3NhZ2VzIOWOn+WcsOS/ruaUue+8jOi/memHjOS4gOebtOeUqOWQjOS4gOS4quWvueixoeWwseihjFxuICAgIGxldCBjdXJyZW50UmVzID0gYXdhaXQgZG9TdHJlYW0oKVxuICAgIGNvbnN0IGN1cnJlbnRTdGVwID0gMVxuICAgIGxldCByZWFkUmVzdWx0OiB7IG1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZTsgdXNhZ2U6IFVzYWdlIH0gfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3QgcmVhZEN1cnJlbnRTdHJlYW0gPSAoKSA9PiB7XG4gICAgICBjb25zdCBbb2xkU3RyZWFtLCBuZXdTdHJlYW1dID0gY3VycmVudFJlcy50ZWUoKVxuICAgICAgY3VycmVudFJlcyA9IGNyZWF0ZUFzeW5jSXRlcmFibGUob2xkU3RyZWFtKVxuICAgICAgcmV0dXJuIHJlYWRGdW5jdGlvbkNhbGxTdHJlYW0obmV3U3RyZWFtKVxuICAgIH1cblxuICAgIC8vIFRPRE86IOS4gOasoeWvueivneacieWkmuS4qiB0b29sIGNhbGw/IOebruWJjeayoeaciei/meenjeeOsOixoe+8jOaaguaXtuS4jeWkhOeQhlxuICAgIC8vIOi/memHjOWSjCBnZW5lcmF0ZVRleHQg5LiN5aSq5LiA5qC377yM6Zmk5LqG6Kej5p6Q5Ye6IHRvb2xDYWxsIOWklu+8jOi/mOmcgOimgeS7jua1geS4reaehOmAoOWHuuWFtuS7luWujOaVtOeahOS/oeaBr1xuICAgIHdoaWxlIChjdXJyZW50U3RlcCA8IG1heFN0ZXBzICYmIChyZWFkUmVzdWx0ID0gYXdhaXQgcmVhZEN1cnJlbnRTdHJlYW0oKSkgIT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBtZXNzYWdlOiBhc3Npc3RhbnRNZXNzYWdlLCB1c2FnZTogc3RlcFVzYWdlIH0gPSByZWFkUmVzdWx0XG4gICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcblxuICAgICAgLy8g5b2T5Yik5pat6ZyA6KaB5bel5YW36LCD55So5pe2XG4gICAgICBjb25zdCB0b29sQ2FsbCA9IGFzc2lzdGFudE1lc3NhZ2UudG9vbF9jYWxscz8uWzBdIC8vIOi/meS4qiB0b29sQ2FsbCDkuIDlrprlrZjlnKhcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvb2xDYWxsUmVzdWx0ID0gYXdhaXQgY2FsbFRvb2wodG9vbENhbGwpIC8vIOiwg+eUqFxuXG4gICAgICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBmaW5pc2hSZWFzb246ICd0b29sX2NhbGxzJyxcbiAgICAgICAgICBtZXNzYWdlczogaW5wdXQubWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgICB0ZXh0OiBhc3Npc3RhbnRNZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgdG9vbENhbGwsXG4gICAgICAgICAgdG9vbFJlc3VsdDogdG9vbENhbGxSZXN1bHQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuXG4gICAgICAgIHB1c2hOZXdNZXNzYWdlcyhpbnB1dC5tZXNzYWdlcywgYXNzaXN0YW50TWVzc2FnZSwgdG9vbENhbGxSZXN1bHQpIC8vIOeUqOiwg+eUqOe7k+aenOS/ruaUueacgOaWsOeahOa2iOaBr1xuICAgICAgICBjdXJyZW50UmVzID0gYXdhaXQgZG9TdHJlYW0oKSAvLyDlvqrnjq/lr7nor51cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc3QgW3MxLCBzMl0gPSBjdXJyZW50UmVzLnRlZSgpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbWVzc2FnZXM6IFByb21pc2UucmVzb2x2ZShpbnB1dC5tZXNzYWdlcyksXG4gICAgICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICAgICAgdGV4dFN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMi5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgICBjb25zdCBzdHIgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICAgICAgICBpZiAodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycpIGNvbnRyb2xsZXIuZW5xdWV1ZShzdHIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLCksKSxcbiAgICAgICAgICB1c2FnZTogUHJvbWlzZS5yZXNvbHZlKHRvdGFsVXNhZ2UpLFxuICAgICAgICAgIGVycm9yOiBlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pyA5ZCO6L+U5Zue5pe277yM5pyJ5Yeg56eN5oOF5Ya177yaXG4gICAgICogMS4g5rKh6LaFIG1heFN0ZXAg5peg5bel5YW36LCD55SoXG4gICAgICogMi4g6LaF5LqGIG1heFN0ZXAg5pyJ5bel5YW36LCD55SoXG4gICAgICogMy4g6LaF5LqGIG1heFN0ZXAg5peg5bel5YW36LCD55SoXG4gICAgICogbmV2ZXIuIOayoei2hSBtYXhTdGVw77yM5pyJ5bel5YW36LCD55So77yM6L+Z5pe25YCZ5Lya6L+b5Yiw5LiK6Z2i55qEIHdoaWxlIOW+queOryBibG9jayDkuK3lpITnkIZcbiAgICAgKlxuICAgICAqIOWFtuS4rSAxLiAzLiDlj6/ku6XlkIjlubbvvIzmsqHmnInlt6XlhbfosIPnlKjlsLHlupTor6Xnm7TmjqXov5Tlm57vvIzml6DorrogbWF4U3RlcFxuICAgICAqXG4gICAgICog5omA5Lul5ZCI5bm25Li677yaXG4gICAgICogMS4g5peg5bel5YW36LCD55SoXG4gICAgICogMi4g5pyJ5bel5YW36LCD55So77yM5L2G5piv6LaF6L+HIG1heFN0ZXBcbiAgICAgKlxuICAgICAqIOi/meS4pOenjeaDheWGtemDveayoei/m+WIsCB3aGlsZSDlvqrnjq8gYmxvY2sg5Lit5aSE55CGXG4gICAgICog5oiR5Lus6ZyA6KaBIGEuIOWhniBtZXNzYWdlIGIuIOeulyBVc2FnZSBjLiDosIPnlKggb25TdGVwRmluaXNoXG4gICAgICovXG5cbiAgICByZWFkUmVzdWx0ID0gYXdhaXQgcmVhZEN1cnJlbnRTdHJlYW0oKVxuXG4gICAgaWYgKHJlYWRSZXN1bHQpIHtcbiAgICAgIC8vIOaDheWGtSAyIOacieW3peWFt+iwg+eUqO+8jOS9huaYr+i2hei/hyBtYXhTdGVwXG4gICAgICBjb25zdCB7IG1lc3NhZ2UsIHVzYWdlIH0gPSByZWFkUmVzdWx0XG4gICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHVzYWdlKVxuXG4gICAgICBjb25zdCBtZXNzYWdlcyA9IFsuLi5pbnB1dC5tZXNzYWdlcywgbWVzc2FnZV1cblxuICAgICAgb25TdGVwRmluaXNoKHtcbiAgICAgICAgbWVzc2FnZXM6IG1lc3NhZ2VzLnNsaWNlKCksXG4gICAgICAgIGZpbmlzaFJlYXNvbjogJ3Rvb2xfY2FsbCcsXG4gICAgICAgIHN0ZXBVc2FnZTogdXNhZ2UsXG4gICAgICAgIHRleHQ6IG1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgdG9vbENhbGw6IG1lc3NhZ2UudG9vbF9jYWxsc1swXSxcbiAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBbczEsIHMyXSA9IGN1cnJlbnRSZXMudGVlKClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2VzOiBQcm9taXNlLnJlc29sdmUoWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXSksXG4gICAgICAgIGRhdGFTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczEpLFxuICAgICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgY29uc3Qgc3RyID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJykgY29udHJvbGxlci5lbnF1ZXVlKHN0cilcbiAgICAgICAgICB9LFxuICAgICAgICB9KSwpLCksXG4gICAgICAgIHVzYWdlOiBQcm9taXNlLnJlc29sdmUodG90YWxVc2FnZSksXG4gICAgICB9XG4gICAgfVxuICAgIC8vIOaDheWGtSAxIOaXoOW3peWFt+iwg+eUqFxuICAgIGNvbnN0IG1lc3NhZ2VQcm9taXNlID0gY3JlYXRlUHJvbWlzZTxBcnJheTxDaGF0TW9kZWxNZXNzYWdlPj4oKVxuICAgIGNvbnN0IHVzYWdlUHJvbWlzZSA9IGNyZWF0ZVByb21pc2U8VXNhZ2U+KClcblxuICAgIGNvbnN0IG1lc3NhZ2U6IENoYXRNb2RlbE1lc3NhZ2UgPSB7XG4gICAgICByb2xlOiAnYXNzaXN0YW50JyxcbiAgICAgIGNvbnRlbnQ6ICcnLFxuICAgIH1cbiAgICBsZXQgZmluaXNoUmVhc29uID0gJydcbiAgICBjb25zdCBzdGVwVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IG9yaWdpblN0cmVhbSA9IGN1cnJlbnRSZXMucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgLy8g5LiN5pS55Y+YIGNodW5rIOWGheWuue+8jOWPquaYr+aLpuaIquS4i+WGheWuueaLvOacgOWQjueahOe7k+aenFxuICAgICAgICBjb25zdCBjb250ZW50ID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIG1lc3NhZ2UuY29udGVudCArPSBjb250ZW50XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWFzb24gPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5maW5pc2hfcmVhc29uXG4gICAgICAgIGlmIChyZWFzb24pIGZpbmlzaFJlYXNvbiA9IHJlYXNvblxuXG4gICAgICAgIC8vIFRPRE86IOS4jeWQjOWkp+aooeWei+eahCBzdHJlYW0gdXNhZ2Ug5qC85byP5LiN5LiA5qC377yM5ZCO57ut5Y+v6IO96KaB6LCD5pW0LlxuICAgICAgICAvLyBodW55dWFuIOavj+S4qiBjaHVuayDpg73kvJrmnIkgdXNhZ2XvvIzpgJDmraXlop7liqDvvIzku6XmnIDlkI7kuIDkuKrnmoTkuLrlh4Y7XG4gICAgICAgIC8vIHpoaXB1IOacgOWQjiBjaHVuayDkvJrmnIkgdXNhZ2U7XG4gICAgICAgIGlmIChjaHVuaz8udXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zKSBzdGVwVXNhZ2UuY29tcGxldGlvbl90b2tlbnMgPSBjaHVuay51c2FnZS5jb21wbGV0aW9uX3Rva2Vuc1xuICAgICAgICBpZiAoY2h1bms/LnVzYWdlPy5wcm9tcHRfdG9rZW5zKSBzdGVwVXNhZ2UucHJvbXB0X3Rva2VucyA9IGNodW5rLnVzYWdlLnByb21wdF90b2tlbnNcbiAgICAgICAgaWYgKGNodW5rPy51c2FnZT8udG90YWxfdG9rZW5zKSBzdGVwVXNhZ2UudG90YWxfdG9rZW5zID0gY2h1bmsudXNhZ2UudG90YWxfdG9rZW5zXG5cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKVxuICAgICAgfSxcbiAgICAgIGZsdXNoKCkge1xuICAgICAgICBtZXNzYWdlUHJvbWlzZS5yZXMoWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXSlcbiAgICAgICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG4gICAgICAgIHVzYWdlUHJvbWlzZS5yZXMoT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSkpXG4gICAgICAgIG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBtZXNzYWdlczogWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXSxcbiAgICAgICAgICBmaW5pc2hSZWFzb24sXG4gICAgICAgICAgdGV4dDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgICAgIHN0ZXBVc2FnZSxcbiAgICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgfSksKVxuXG4gICAgY29uc3QgW3MxLCBzMl0gPSBvcmlnaW5TdHJlYW0udGVlKClcblxuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlczogbWVzc2FnZVByb21pc2UucHJvbWlzZSxcbiAgICAgIGRhdGFTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczEpLFxuICAgICAgdGV4dFN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMi5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNvbnRlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksKSwpLFxuICAgICAgdXNhZ2U6IHVzYWdlUHJvbWlzZS5wcm9taXNlLFxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShvdXRwdXQ6IERvR2VuZXJhdGVPdXRwdXQpIHtcbiAgY29uc3QgY2hvaWNlID0gb3V0cHV0Py5jaG9pY2VzPy5bMF1cblxuICBpZiAoIWNob2ljZSkgcmV0dXJuIG51bGxcblxuICBjb25zdCB7IGZpbmlzaF9yZWFzb24sIG1lc3NhZ2UgfSA9IGNob2ljZVxuXG4gIGlmIChmaW5pc2hfcmVhc29uICE9PSAndG9vbF9jYWxscycpIHJldHVybiBudWxsXG4gIGlmICghbWVzc2FnZSkgcmV0dXJuIG51bGxcbiAgaWYgKCFpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKSkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gbWVzc2FnZS50b29sX2NhbGxzWzBdXG59XG5cbmZ1bmN0aW9uIHB1c2hOZXdNZXNzYWdlcyhcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+LFxuICBhc3Npc3RhbnRNZXNzYWdlOiBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG4gIHRvb2xDYWxsUmVzdWx0OiB1bmtub3duLFxuKSB7XG4gIG1lc3NhZ2VzLnB1c2goYXNzaXN0YW50TWVzc2FnZSwge1xuICAgIHJvbGU6ICd0b29sJyxcbiAgICB0b29sX2NhbGxfaWQ6IGFzc2lzdGFudE1lc3NhZ2UudG9vbF9jYWxsc1swXS5pZCxcbiAgICBjb250ZW50OiBKU09OLnN0cmluZ2lmeSh0b29sQ2FsbFJlc3VsdCksXG4gIH0pXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRGdW5jdGlvbkNhbGxTdHJlYW0oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuaz4sKTogUHJvbWlzZTx7IG1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZTsgdXNhZ2U6IFVzYWdlIH0gfCBudWxsPiB7XG4gIGNvbnN0IHN0ZXBVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuICBjb25zdCBhU3RyZWFtID0gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW0pXG5cbiAgY29uc3QgcmV0VG9vbENhbGw6IFRvb2xDYWxsID0ge1xuICAgIGlkOiAnJyxcbiAgICBmdW5jdGlvbjoge1xuICAgICAgbmFtZTogJycsXG4gICAgICBhcmd1bWVudHM6ICcnLFxuICAgIH0sXG4gICAgdHlwZTogJycsXG4gIH1cblxuICBjb25zdCByZXRNZXNzYWdlOiBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UgPSB7XG4gICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgY29udGVudDogJycsXG4gICAgdG9vbF9jYWxsczogW3JldFRvb2xDYWxsXSxcbiAgfVxuXG4gIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2YgYVN0cmVhbSkge1xuICAgIGNvbnN0IGNob2ljZSA9IGNodW5rPy5jaG9pY2VzWzBdXG4gICAgaWYgKCFjaG9pY2UpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCB7IGZpbmlzaF9yZWFzb24sIGRlbHRhIH0gPSBjaG9pY2VcblxuICAgIGlmIChmaW5pc2hfcmVhc29uICE9PSAndG9vbF9jYWxscycpIHJldHVybiBudWxsXG4gICAgaWYgKCFkZWx0YSkgY29udGludWVcblxuICAgIGlmIChkZWx0YS5jb250ZW50KSByZXRNZXNzYWdlLmNvbnRlbnQgKz0gZGVsdGEuY29udGVudFxuXG4gICAgaWYgKCEoJ3Rvb2xfY2FsbHMnIGluIGRlbHRhKSkgY29udGludWVcbiAgICBjb25zdCB0b29sQ2FsbCA9IGRlbHRhPy50b29sX2NhbGxzPy5bMF1cbiAgICBpZiAodG9vbENhbGw/LmlkKSByZXRUb29sQ2FsbC5pZCA9IHRvb2xDYWxsLmlkXG4gICAgaWYgKHRvb2xDYWxsPy50eXBlKSByZXRUb29sQ2FsbC50eXBlID0gdG9vbENhbGwudHlwZVxuICAgIGlmICh0b29sQ2FsbD8uZnVuY3Rpb24/Lm5hbWUpIHJldFRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUgPSB0b29sQ2FsbC5mdW5jdGlvbi5uYW1lXG4gICAgaWYgKHRvb2xDYWxsPy5mdW5jdGlvbj8uYXJndW1lbnRzKSByZXRUb29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMgKz0gdG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzXG5cbiAgICAvLyBUT0RPOiDkuI3lkIzlpKfmqKHlnovnmoQgc3RyZWFtIHVzYWdlIOagvOW8j+S4jeS4gOagt++8jOWQjue7reWPr+iDveimgeiwg+aVtC5cbiAgICAvLyBodW55dWFuIOavj+S4qiBjaHVuayDpg73kvJrmnIkgdXNhZ2XvvIzpgJDmraXlop7liqDvvIzku6XmnIDlkI7kuIDkuKrnmoTkuLrlh4Y7XG4gICAgLy8gemhpcHUg5pyA5ZCOIGNodW5rIOS8muaciSB1c2FnZTtcbiAgICBpZiAoY2h1bms/LnVzYWdlPy5jb21wbGV0aW9uX3Rva2Vucykgc3RlcFVzYWdlLmNvbXBsZXRpb25fdG9rZW5zID0gY2h1bmsudXNhZ2UuY29tcGxldGlvbl90b2tlbnNcbiAgICBpZiAoY2h1bms/LnVzYWdlPy5wcm9tcHRfdG9rZW5zKSBzdGVwVXNhZ2UucHJvbXB0X3Rva2VucyA9IGNodW5rLnVzYWdlLnByb21wdF90b2tlbnNcbiAgICBpZiAoY2h1bms/LnVzYWdlPy50b3RhbF90b2tlbnMpIHN0ZXBVc2FnZS50b3RhbF90b2tlbnMgPSBjaHVuay51c2FnZS50b3RhbF90b2tlbnNcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbWVzc2FnZTogcmV0TWVzc2FnZSxcbiAgICB1c2FnZTogc3RlcFVzYWdlLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB0b29sTWFwID0gbmV3IE1hcDxzdHJpbmcsIENhbGxhYmxlRnVuY3Rpb24+KClcblxuZnVuY3Rpb24gY2FsbFRvb2wodG9vbENhbGw6IFRvb2xDYWxsKSB7XG4gIHJldHVybiB0b29sTWFwLmdldCh0b29sQ2FsbC5mdW5jdGlvbi5uYW1lKShKU09OLnBhcnNlKHRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cykpXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNvbGlkVXNhZ2UodXNhZ2U/OiBQYXJ0aWFsPFVzYWdlPik6IFVzYWdlIHtcbiAgcmV0dXJuIHtcbiAgICBjb21wbGV0aW9uX3Rva2VuczogdXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zID8/IDAsXG4gICAgcHJvbXB0X3Rva2VuczogdXNhZ2U/LnByb21wdF90b2tlbnMgPz8gMCxcbiAgICB0b3RhbF90b2tlbnM6IHVzYWdlPy50b3RhbF90b2tlbnMgPz8gMCxcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRUb1VzYWdlKHRhcmdldFVzYWdlOiBVc2FnZSwgc291cmNlVXNhZ2U6IFVzYWdlKSB7XG4gIHRhcmdldFVzYWdlLmNvbXBsZXRpb25fdG9rZW5zICs9IHNvdXJjZVVzYWdlLmNvbXBsZXRpb25fdG9rZW5zXG4gIHRhcmdldFVzYWdlLnByb21wdF90b2tlbnMgKz0gc291cmNlVXNhZ2UucHJvbXB0X3Rva2Vuc1xuICB0YXJnZXRVc2FnZS50b3RhbF90b2tlbnMgKz0gc291cmNlVXNhZ2UudG90YWxfdG9rZW5zXG59XG4iXX0=
|
|
481
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBTWlCO0FBd0NqQixTQUFTLFlBQVksQ0FBQyxHQUFvQjs7SUFDaEMsSUFBQSxZQUFZLEdBQW9ELEdBQUcsYUFBdkQsRUFBRSxXQUFXLEdBQXVDLEdBQUcsWUFBMUMsRUFBRSxRQUFRLEdBQTZCLEdBQUcsU0FBaEMsRUFBRSxJQUFJLEdBQXVCLEdBQUcsS0FBMUIsRUFBRSxVQUFVLEdBQVcsR0FBRyxXQUFkLEVBQUssQ0FBQyxVQUFLLEdBQUcsRUFBckUsaUVBQStELENBQUYsQ0FBUTtJQUUzRSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7S0FDdEQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxZQUFZLGNBQUEsRUFBRSxXQUFXLGFBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRTs4QkFFbEMsQ0FBQyxLQUNKLEtBQUssRUFBRSxNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEdBQUcsQ0FBQyxVQUFDLElBQUk7Z0JBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtvQkFDaEIsT0FBTyxJQUFBLCtCQUF1QixFQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQ3BDLFdBQVcsRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFV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V0FBVyxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFBO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIGNyZWF0ZVByb21pc2UsXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCxcbn0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQge1xuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb1N0cmVhbU91dHB1dCxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBUb29sQ2FsbCxcbiAgQ2hhdE1vZGVsTWVzc2FnZSxcbiAgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtLFxuICBVc2FnZSxcbiAgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBNb2RlbFRvb2wsXG4gIEZ1bmN0aW9uVG9vbCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZSdcblxudHlwZSBSZWFjdE1vZGVsSW5wdXQgPSBSZWFjdFByb3BzICZcbk9taXQ8QmFzZUNoYXRNb2RlbElucHV0LCAndG9vbHMnPiAmIHtcbiAgdG9vbHM/OiBBcnJheTxNb2RlbFRvb2wgfCBGdW5jdGlvblRvb2w+XG4gIHRvcFA/OiBudW1iZXJcbiAgdG9vbENob2ljZT86ICdub25lJyB8ICdhdXRvJyB8ICdjdXN0b20nXG59XG5cbmludGVyZmFjZSBJT25TdGVwRmluaXNoIHtcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gIHRleHQ/OiBzdHJpbmdcbiAgdG9vbENhbGw/OiBUb29sQ2FsbFxuICB0b29sUmVzdWx0PzogdW5rbm93blxuICBmaW5pc2hSZWFzb24/OiBzdHJpbmdcbiAgc3RlcFVzYWdlPzogVXNhZ2VcbiAgdG90YWxVc2FnZT86IFVzYWdlXG59XG5cbmludGVyZmFjZSBSZWFjdFByb3BzIHtcbiAgbWF4U3RlcHM/OiBudW1iZXJcbiAgb25TdGVwRmluaXNoPzogKHByb3A6IElPblN0ZXBGaW5pc2gpID0+IHVua25vd25cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCAvLyBUT0RPOiDlrp7njrAgYWJvcnRTaWduYWxcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KG9iajogUmVhY3RNb2RlbElucHV0KTogW1JlYWN0UHJvcHMsIEJhc2VDaGF0TW9kZWxJbnB1dF0ge1xuICBjb25zdCB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzLCB0b3BQLCB0b29sQ2hvaWNlLCAuLi5iIH0gPSBvYmpcblxuICBpZiAobWF4U3RlcHMgIT0gbnVsbCAmJiBtYXhTdGVwcyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2BtYXhTdGVwc2AgbXVzZSBiZSBncmVhdGVyIHRoYW4gMC4nKVxuICB9XG5cbiAgcmV0dXJuIFtcbiAgICB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzIH0sXG4gICAge1xuICAgICAgLi4uYixcbiAgICAgIHRvb2xzOiBiLnRvb2xzPy5tYXAoKHRvb2wpID0+IHtcbiAgICAgICAgaWYgKCdmbicgaW4gdG9vbCkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCh0b29sKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b29sXG4gICAgICB9KSxcbiAgICAgIHRvcF9wOiB0b3BQICE9IG51bGwgPyB0b3BQIDogYi50b3BfcCxcbiAgICAgIHRvb2xfY2hvaWNlOiB0b29sQ2hvaWNlICE9IG51bGwgPyB0b29sQ2hvaWNlIDogYi50b29sX2Nob2ljZSxcbiAgICB9LFxuICBdXG59XG5cbmV4cG9ydCBjbGFzcyBSZWFjdE1vZGVsIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlbDogU2ltcGxlQ2hhdE1vZGVsKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZW5lcmF0ZVRleHQoX2lucHV0OiBSZWFjdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTx7XG4gICAgdGV4dDogc3RyaW5nXG4gICAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gICAgdXNhZ2U6IFVzYWdlXG4gICAgcmF3UmVzcG9uc2VzOiBBcnJheTx1bmtub3duPlxuICAgIGVycm9yPzogYW55XG4gIH0+IHtcbiAgICBjb25zdCByYXdSZXNwb25zZXMgPSBbXVxuICAgIGNvbnN0IHRvdGFsVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IFt7IG9uU3RlcEZpbmlzaCwgbWF4U3RlcHMgPSAxMCB9LCBpbnB1dF0gPSBwcm9jZXNzSW5wdXQoX2lucHV0KVxuXG4gICAgY29uc3QgZG9HZW5lcmF0ZSA9ICgpID0+IHRoaXMubW9kZWwuZG9HZW5lcmF0ZShpbnB1dCwgb3B0aW9ucykgLy8g5ZCO57ut5Luj56CB5Lya55u05o6l5a+5IGlucHV0Lm1lc3NhZ2VzIOWOn+WcsOS/ruaUue+8jOi/memHjOS4gOebtOeUqOWQjOS4gOS4quWvueixoeWwseihjFxuICAgIGxldCBjdXJyZW50UmVzID0gYXdhaXQgZG9HZW5lcmF0ZSgpXG4gICAgbGV0IGN1cnJlbnRTdGVwID0gMVxuICAgIGN1cnJlbnRSZXMucmF3UmVzcG9uc2UgJiYgcmF3UmVzcG9uc2VzLnB1c2goY3VycmVudFJlcy5yYXdSZXNwb25zZSlcblxuICAgIGxldCB0b29sQ2FsbDogVG9vbENhbGwgfCBudWxsID0gbnVsbFxuXG4gICAgLy8gVE9ETzog5LiA5qyh5a+56K+d5pyJ5aSa5LiqIHRvb2wgY2FsbD8g55uu5YmN5rKh5pyJ6L+Z56eN546w6LGh77yM5pqC5pe25LiN5aSE55CGXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwIDwgbWF4U3RlcHMgJiYgKHRvb2xDYWxsID0gZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUoY3VycmVudFJlcykpICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXBVc2FnZSA9IGNyZWF0ZVNvbGlkVXNhZ2UoY3VycmVudFJlcy51c2FnZSlcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgICAvLyDlvZPliKTmlq3pnIDopoHlt6XlhbfosIPnlKjml7ZcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvb2xDYWxsUmVzdWx0ID0gYXdhaXQgY2FsbFRvb2wodG9vbENhbGwpIC8vIOiwg+eUqFxuXG4gICAgICAgIGNvbnN0IGNob2ljZSA9IGN1cnJlbnRSZXMuY2hvaWNlc1swXSAvLyBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZSDkv53or4HkuoYgY2hvaWNlIOiCr+WumuWtmOWcqFxuXG4gICAgICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBmaW5pc2hSZWFzb246IGNob2ljZS5maW5pc2hfcmVhc29uLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICAgIHRleHQ6IGNob2ljZS5tZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgdG9vbENhbGwsXG4gICAgICAgICAgdG9vbFJlc3VsdDogdG9vbENhbGxSZXN1bHQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuXG4gICAgICAgIHB1c2hOZXdNZXNzYWdlcyhpbnB1dC5tZXNzYWdlcywgY2hvaWNlLm1lc3NhZ2UgYXMgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLCB0b29sQ2FsbFJlc3VsdCkgLy8g55So6LCD55So57uT5p6c5L+u5pS55pyA5paw55qE5raI5oGvXG5cbiAgICAgICAgY3VycmVudFJlcyA9IGF3YWl0IGRvR2VuZXJhdGUoKSAvLyDlvqrnjq/lr7nor51cbiAgICAgICAgY3VycmVudFJlcy5yYXdSZXNwb25zZSAmJiByYXdSZXNwb25zZXMucHVzaChjdXJyZW50UmVzLnJhd1Jlc3BvbnNlKVxuICAgICAgICBjdXJyZW50U3RlcCArPSAxXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgbWVzc2FnZXM6IGlucHV0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHVzYWdlOiB0b3RhbFVzYWdlLFxuICAgICAgICAgIGVycm9yOiBlLFxuICAgICAgICAgIHJhd1Jlc3BvbnNlcyxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxhc3RDaG9pY2UgPSBjdXJyZW50UmVzPy5jaG9pY2VzPy5bMF1cbiAgICBjb25zdCBsYXN0TWVzc2FnZSA9IGxhc3RDaG9pY2U/Lm1lc3NhZ2VcblxuICAgIGNvbnN0IHRleHQgPSBsYXN0TWVzc2FnZT8uY29udGVudCA/PyAnJ1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gbGFzdE1lc3NhZ2UgPyBbLi4uaW5wdXQubWVzc2FnZXMsIGxhc3RNZXNzYWdlXSA6IGlucHV0Lm1lc3NhZ2VzXG5cbiAgICBjb25zdCBzdGVwVXNhZ2UgPSBjcmVhdGVTb2xpZFVzYWdlKGN1cnJlbnRSZXMudXNhZ2UpXG4gICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG5cbiAgICBhd2FpdCBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICBmaW5pc2hSZWFzb246IGxhc3RDaG9pY2UuZmluaXNoX3JlYXNvbixcbiAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlcy5zbGljZSgpLFxuICAgICAgdGV4dCxcbiAgICAgIHRvb2xDYWxsOiBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShjdXJyZW50UmVzKSxcbiAgICAgIHRvb2xSZXN1bHQ6IG51bGwsXG4gICAgICBzdGVwVXNhZ2UsXG4gICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQsXG4gICAgICBtZXNzYWdlcyxcbiAgICAgIHVzYWdlOiB0b3RhbFVzYWdlLFxuICAgICAgcmF3UmVzcG9uc2VzLFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdHJlYW1UZXh0KF9pbnB1dDogUmVhY3RNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8e1xuICAgIGRhdGFTdHJlYW06IERvU3RyZWFtT3V0cHV0XG4gICAgdGV4dFN0cmVhbTogQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPHN0cmluZz5cbiAgICBtZXNzYWdlczogUHJvbWlzZTxBcnJheTxDaGF0TW9kZWxNZXNzYWdlPj5cbiAgICB1c2FnZTogUHJvbWlzZTxVc2FnZT5cbiAgICBlcnJvcj86IGFueVxuICB9PiB7XG4gICAgY29uc3QgdG90YWxVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3QgW3sgb25TdGVwRmluaXNoLCBtYXhTdGVwcyA9IDEwIH0sIGlucHV0XSA9IHByb2Nlc3NJbnB1dChfaW5wdXQpXG4gICAgY29uc3QgZG9TdHJlYW0gPSAoKSA9PiB0aGlzLm1vZGVsLmRvU3RyZWFtKGlucHV0LCBvcHRpb25zKSAvLyDlkI7nu63ku6PnoIHkvJrnm7TmjqXlr7kgaW5wdXQubWVzc2FnZXMg5Y6f5Zyw5L+u5pS577yM6L+Z6YeM5LiA55u055So5ZCM5LiA5Liq5a+56LGh5bCx6KGMXG4gICAgbGV0IGN1cnJlbnRSZXMgPSBhd2FpdCBkb1N0cmVhbSgpXG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSAxXG4gICAgbGV0IHJlYWRSZXN1bHQ6IHsgbWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlOyB1c2FnZTogVXNhZ2UgfSB8IG51bGwgPSBudWxsXG5cbiAgICBjb25zdCByZWFkQ3VycmVudFN0cmVhbSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IFtvbGRTdHJlYW0sIG5ld1N0cmVhbV0gPSBjdXJyZW50UmVzLnRlZSgpXG4gICAgICBjdXJyZW50UmVzID0gY3JlYXRlQXN5bmNJdGVyYWJsZShvbGRTdHJlYW0pXG4gICAgICByZXR1cm4gcmVhZEZ1bmN0aW9uQ2FsbFN0cmVhbShuZXdTdHJlYW0pXG4gICAgfVxuXG4gICAgLy8gVE9ETzog5LiA5qyh5a+56K+d5pyJ5aSa5LiqIHRvb2wgY2FsbD8g55uu5YmN5rKh5pyJ6L+Z56eN546w6LGh77yM5pqC5pe25LiN5aSE55CGXG4gICAgLy8g6L+Z6YeM5ZKMIGdlbmVyYXRlVGV4dCDkuI3lpKrkuIDmoLfvvIzpmaTkuobop6PmnpDlh7ogdG9vbENhbGwg5aSW77yM6L+Y6ZyA6KaB5LuO5rWB5Lit5p6E6YCg5Ye65YW25LuW5a6M5pW055qE5L+h5oGvXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwIDwgbWF4U3RlcHMgJiYgKHJlYWRSZXN1bHQgPSBhd2FpdCByZWFkQ3VycmVudFN0cmVhbSgpKSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB7IG1lc3NhZ2U6IGFzc2lzdGFudE1lc3NhZ2UsIHVzYWdlOiBzdGVwVXNhZ2UgfSA9IHJlYWRSZXN1bHRcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgICAvLyDlvZPliKTmlq3pnIDopoHlt6XlhbfosIPnlKjml7ZcbiAgICAgIGNvbnN0IHRvb2xDYWxsID0gYXNzaXN0YW50TWVzc2FnZS50b29sX2NhbGxzPy5bMF0gLy8g6L+Z5LiqIHRvb2xDYWxsIOS4gOWumuWtmOWcqFxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9vbENhbGxSZXN1bHQgPSBhd2FpdCBjYWxsVG9vbCh0b29sQ2FsbCkgLy8g6LCD55SoXG5cbiAgICAgICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIGZpbmlzaFJlYXNvbjogJ3Rvb2xfY2FsbHMnLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICAgIHRleHQ6IGFzc2lzdGFudE1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgICB0b29sQ2FsbCxcbiAgICAgICAgICB0b29sUmVzdWx0OiB0b29sQ2FsbFJlc3VsdCxcbiAgICAgICAgICBzdGVwVXNhZ2UsXG4gICAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICAgIH0pXG5cbiAgICAgICAgcHVzaE5ld01lc3NhZ2VzKGlucHV0Lm1lc3NhZ2VzLCBhc3Npc3RhbnRNZXNzYWdlLCB0b29sQ2FsbFJlc3VsdCkgLy8g55So6LCD55So57uT5p6c5L+u5pS55pyA5paw55qE5raI5oGvXG4gICAgICAgIGN1cnJlbnRSZXMgPSBhd2FpdCBkb1N0cmVhbSgpIC8vIOW+queOr+WvueivnVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBbczEsIHMyXSA9IGN1cnJlbnRSZXMudGVlKClcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtZXNzYWdlczogUHJvbWlzZS5yZXNvbHZlKGlucHV0Lm1lc3NhZ2VzKSxcbiAgICAgICAgICBkYXRhU3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMxKSxcbiAgICAgICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHN0ciA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJykgY29udHJvbGxlci5lbnF1ZXVlKHN0cilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksKSwpLFxuICAgICAgICAgIHVzYWdlOiBQcm9taXNlLnJlc29sdmUodG90YWxVc2FnZSksXG4gICAgICAgICAgZXJyb3I6IGUsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmnIDlkI7ov5Tlm57ml7bvvIzmnInlh6Dnp43mg4XlhrXvvJpcbiAgICAgKiAxLiDmsqHotoUgbWF4U3RlcCDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiAyLiDotoXkuoYgbWF4U3RlcCDmnInlt6XlhbfosIPnlKhcbiAgICAgKiAzLiDotoXkuoYgbWF4U3RlcCDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiBuZXZlci4g5rKh6LaFIG1heFN0ZXDvvIzmnInlt6XlhbfosIPnlKjvvIzov5nml7blgJnkvJrov5vliLDkuIrpnaLnmoQgd2hpbGUg5b6q546vIGJsb2NrIOS4reWkhOeQhlxuICAgICAqXG4gICAgICog5YW25LitIDEuIDMuIOWPr+S7peWQiOW5tu+8jOayoeacieW3peWFt+iwg+eUqOWwseW6lOivpeebtOaOpei/lOWbnu+8jOaXoOiuuiBtYXhTdGVwXG4gICAgICpcbiAgICAgKiDmiYDku6XlkIjlubbkuLrvvJpcbiAgICAgKiAxLiDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiAyLiDmnInlt6XlhbfosIPnlKjvvIzkvYbmmK/otoXov4cgbWF4U3RlcFxuICAgICAqXG4gICAgICog6L+Z5Lik56eN5oOF5Ya16YO95rKh6L+b5YiwIHdoaWxlIOW+queOryBibG9jayDkuK3lpITnkIZcbiAgICAgKiDmiJHku6zpnIDopoEgYS4g5aGeIG1lc3NhZ2UgYi4g566XIFVzYWdlIGMuIOiwg+eUqCBvblN0ZXBGaW5pc2hcbiAgICAgKi9cblxuICAgIHJlYWRSZXN1bHQgPSBhd2FpdCByZWFkQ3VycmVudFN0cmVhbSgpXG5cbiAgICBpZiAocmVhZFJlc3VsdCkge1xuICAgICAgLy8g5oOF5Ya1IDIg5pyJ5bel5YW36LCD55So77yM5L2G5piv6LaF6L+HIG1heFN0ZXBcbiAgICAgIGNvbnN0IHsgbWVzc2FnZSwgdXNhZ2UgfSA9IHJlYWRSZXN1bHRcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgdXNhZ2UpXG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXVxuXG4gICAgICBvblN0ZXBGaW5pc2goe1xuICAgICAgICBtZXNzYWdlczogbWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgZmluaXNoUmVhc29uOiAndG9vbF9jYWxsJyxcbiAgICAgICAgc3RlcFVzYWdlOiB1c2FnZSxcbiAgICAgICAgdGV4dDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgICB0b29sQ2FsbDogbWVzc2FnZS50b29sX2NhbGxzWzBdLFxuICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IFtzMSwgczJdID0gY3VycmVudFJlcy50ZWUoKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWVzc2FnZXM6IFByb21pc2UucmVzb2x2ZShbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdKSxcbiAgICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICAgIHRleHRTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczIucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnKSBjb250cm9sbGVyLmVucXVldWUoc3RyKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLCksKSxcbiAgICAgICAgdXNhZ2U6IFByb21pc2UucmVzb2x2ZSh0b3RhbFVzYWdlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgLy8g5oOF5Ya1IDEg5peg5bel5YW36LCD55SoXG4gICAgY29uc3QgbWVzc2FnZVByb21pc2UgPSBjcmVhdGVQcm9taXNlPEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+PigpXG4gICAgY29uc3QgdXNhZ2VQcm9taXNlID0gY3JlYXRlUHJvbWlzZTxVc2FnZT4oKVxuXG4gICAgY29uc3QgbWVzc2FnZTogQ2hhdE1vZGVsTWVzc2FnZSA9IHtcbiAgICAgIHJvbGU6ICdhc3Npc3RhbnQnLFxuICAgICAgY29udGVudDogJycsXG4gICAgfVxuICAgIGxldCBmaW5pc2hSZWFzb24gPSAnJ1xuICAgIGNvbnN0IHN0ZXBVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3Qgb3JpZ2luU3RyZWFtID0gY3VycmVudFJlcy5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAvLyDkuI3mlLnlj5ggY2h1bmsg5YaF5a6577yM5Y+q5piv5oum5oiq5LiL5YaF5a655ou85pyA5ZCO55qE57uT5p6cXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbWVzc2FnZS5jb250ZW50ICs9IGNvbnRlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmZpbmlzaF9yZWFzb25cbiAgICAgICAgaWYgKHJlYXNvbikgZmluaXNoUmVhc29uID0gcmVhc29uXG5cbiAgICAgICAgLy8gVE9ETzog5LiN5ZCM5aSn5qih5Z6L55qEIHN0cmVhbSB1c2FnZSDmoLzlvI/kuI3kuIDmoLfvvIzlkI7nu63lj6/og73opoHosIPmlbQuXG4gICAgICAgIC8vIGh1bnl1YW4g5q+P5LiqIGNodW5rIOmDveS8muaciSB1c2FnZe+8jOmAkOatpeWinuWKoO+8jOS7peacgOWQjuS4gOS4queahOS4uuWHhjtcbiAgICAgICAgLy8gemhpcHUg5pyA5ZCOIGNodW5rIOS8muaciSB1c2FnZTtcbiAgICAgICAgaWYgKGNodW5rPy51c2FnZT8uY29tcGxldGlvbl90b2tlbnMpIHN0ZXBVc2FnZS5jb21wbGV0aW9uX3Rva2VucyA9IGNodW5rLnVzYWdlLmNvbXBsZXRpb25fdG9rZW5zXG4gICAgICAgIGlmIChjaHVuaz8udXNhZ2U/LnByb21wdF90b2tlbnMpIHN0ZXBVc2FnZS5wcm9tcHRfdG9rZW5zID0gY2h1bmsudXNhZ2UucHJvbXB0X3Rva2Vuc1xuICAgICAgICBpZiAoY2h1bms/LnVzYWdlPy50b3RhbF90b2tlbnMpIHN0ZXBVc2FnZS50b3RhbF90b2tlbnMgPSBjaHVuay51c2FnZS50b3RhbF90b2tlbnNcblxuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bmspXG4gICAgICB9LFxuICAgICAgZmx1c2goKSB7XG4gICAgICAgIG1lc3NhZ2VQcm9taXNlLnJlcyhbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdKVxuICAgICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcbiAgICAgICAgdXNhZ2VQcm9taXNlLnJlcyhPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSlcbiAgICAgICAgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdLFxuICAgICAgICAgIGZpbmlzaFJlYXNvbixcbiAgICAgICAgICB0ZXh0OiBtZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICBjb25zdCBbczEsIHMyXSA9IG9yaWdpblN0cmVhbS50ZWUoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlUHJvbWlzZS5wcm9taXNlLFxuICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY29udGVudClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSwpLCksXG4gICAgICB1c2FnZTogdXNhZ2VQcm9taXNlLnByb21pc2UsXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKG91dHB1dDogRG9HZW5lcmF0ZU91dHB1dCkge1xuICBjb25zdCBjaG9pY2UgPSBvdXRwdXQ/LmNob2ljZXM/LlswXVxuXG4gIGlmICghY2hvaWNlKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IHsgZmluaXNoX3JlYXNvbiwgbWVzc2FnZSB9ID0gY2hvaWNlXG5cbiAgaWYgKGZpbmlzaF9yZWFzb24gIT09ICd0b29sX2NhbGxzJykgcmV0dXJuIG51bGxcbiAgaWYgKCFtZXNzYWdlKSByZXR1cm4gbnVsbFxuICBpZiAoIWlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiBtZXNzYWdlLnRvb2xfY2FsbHNbMF1cbn1cblxuZnVuY3Rpb24gcHVzaE5ld01lc3NhZ2VzKFxuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT4sXG4gIGFzc2lzdGFudE1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbiAgdG9vbENhbGxSZXN1bHQ6IHVua25vd24sXG4pIHtcbiAgbWVzc2FnZXMucHVzaChhc3Npc3RhbnRNZXNzYWdlLCB7XG4gICAgcm9sZTogJ3Rvb2wnLFxuICAgIHRvb2xfY2FsbF9pZDogYXNzaXN0YW50TWVzc2FnZS50b29sX2NhbGxzWzBdLmlkLFxuICAgIGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KHRvb2xDYWxsUmVzdWx0KSxcbiAgfSlcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZEZ1bmN0aW9uQ2FsbFN0cmVhbShzdHJlYW06IFJlYWRhYmxlU3RyZWFtPEJhc2VEb1N0cmVhbU91dHB1dENodW5rPiwpOiBQcm9taXNlPHsgbWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlOyB1c2FnZTogVXNhZ2UgfSB8IG51bGw+IHtcbiAgY29uc3Qgc3RlcFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG4gIGNvbnN0IGFTdHJlYW0gPSBjcmVhdGVBc3luY0l0ZXJhYmxlKHN0cmVhbSlcblxuICBjb25zdCByZXRUb29sQ2FsbDogVG9vbENhbGwgPSB7XG4gICAgaWQ6ICcnLFxuICAgIGZ1bmN0aW9uOiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIGFyZ3VtZW50czogJycsXG4gICAgfSxcbiAgICB0eXBlOiAnJyxcbiAgfVxuXG4gIGNvbnN0IHJldE1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgICByb2xlOiAnYXNzaXN0YW50JyxcbiAgICBjb250ZW50OiAnJyxcbiAgICB0b29sX2NhbGxzOiBbcmV0VG9vbENhbGxdLFxuICB9XG5cbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBhU3RyZWFtKSB7XG4gICAgY29uc3QgY2hvaWNlID0gY2h1bms/LmNob2ljZXNbMF1cbiAgICBpZiAoIWNob2ljZSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHsgZmluaXNoX3JlYXNvbiwgZGVsdGEgfSA9IGNob2ljZVxuXG4gICAgaWYgKGZpbmlzaF9yZWFzb24gIT09ICd0b29sX2NhbGxzJykgcmV0dXJuIG51bGxcbiAgICBpZiAoIWRlbHRhKSBjb250aW51ZVxuXG4gICAgaWYgKGRlbHRhLmNvbnRlbnQpIHJldE1lc3NhZ2UuY29udGVudCArPSBkZWx0YS5jb250ZW50XG5cbiAgICBpZiAoISgndG9vbF9jYWxscycgaW4gZGVsdGEpKSBjb250aW51ZVxuICAgIGNvbnN0IHRvb2xDYWxsID0gZGVsdGE/LnRvb2xfY2FsbHM/LlswXVxuICAgIGlmICh0b29sQ2FsbD8uaWQpIHJldFRvb2xDYWxsLmlkID0gdG9vbENhbGwuaWRcbiAgICBpZiAodG9vbENhbGw/LnR5cGUpIHJldFRvb2xDYWxsLnR5cGUgPSB0b29sQ2FsbC50eXBlXG4gICAgaWYgKHRvb2xDYWxsPy5mdW5jdGlvbj8ubmFtZSkgcmV0VG9vbENhbGwuZnVuY3Rpb24ubmFtZSA9IHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWVcbiAgICBpZiAodG9vbENhbGw/LmZ1bmN0aW9uPy5hcmd1bWVudHMpIHJldFRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cyArPSB0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHNcblxuICAgIC8vIFRPRE86IOS4jeWQjOWkp+aooeWei+eahCBzdHJlYW0gdXNhZ2Ug5qC85byP5LiN5LiA5qC377yM5ZCO57ut5Y+v6IO96KaB6LCD5pW0LlxuICAgIC8vIGh1bnl1YW4g5q+P5LiqIGNodW5rIOmDveS8muaciSB1c2FnZe+8jOmAkOatpeWinuWKoO+8jOS7peacgOWQjuS4gOS4queahOS4uuWHhjtcbiAgICAvLyB6aGlwdSDmnIDlkI4gY2h1bmsg5Lya5pyJIHVzYWdlO1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zKSBzdGVwVXNhZ2UuY29tcGxldGlvbl90b2tlbnMgPSBjaHVuay51c2FnZS5jb21wbGV0aW9uX3Rva2Vuc1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LnByb21wdF90b2tlbnMpIHN0ZXBVc2FnZS5wcm9tcHRfdG9rZW5zID0gY2h1bmsudXNhZ2UucHJvbXB0X3Rva2Vuc1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LnRvdGFsX3Rva2Vucykgc3RlcFVzYWdlLnRvdGFsX3Rva2VucyA9IGNodW5rLnVzYWdlLnRvdGFsX3Rva2Vuc1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXNzYWdlOiByZXRNZXNzYWdlLFxuICAgIHVzYWdlOiBzdGVwVXNhZ2UsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHRvb2xNYXAgPSBuZXcgTWFwPHN0cmluZywgQ2FsbGFibGVGdW5jdGlvbj4oKVxuXG5mdW5jdGlvbiBjYWxsVG9vbCh0b29sQ2FsbDogVG9vbENhbGwpIHtcbiAgcmV0dXJuIHRvb2xNYXAuZ2V0KHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUpKEpTT04ucGFyc2UodG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzKSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlU29saWRVc2FnZSh1c2FnZT86IFBhcnRpYWw8VXNhZ2U+KTogVXNhZ2Uge1xuICByZXR1cm4ge1xuICAgIGNvbXBsZXRpb25fdG9rZW5zOiB1c2FnZT8uY29tcGxldGlvbl90b2tlbnMgPz8gMCxcbiAgICBwcm9tcHRfdG9rZW5zOiB1c2FnZT8ucHJvbXB0X3Rva2VucyA/PyAwLFxuICAgIHRvdGFsX3Rva2VuczogdXNhZ2U/LnRvdGFsX3Rva2VucyA/PyAwLFxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRvVXNhZ2UodGFyZ2V0VXNhZ2U6IFVzYWdlLCBzb3VyY2VVc2FnZTogVXNhZ2UpIHtcbiAgdGFyZ2V0VXNhZ2UuY29tcGxldGlvbl90b2tlbnMgKz0gc291cmNlVXNhZ2UuY29tcGxldGlvbl90b2tlbnNcbiAgdGFyZ2V0VXNhZ2UucHJvbXB0X3Rva2VucyArPSBzb3VyY2VVc2FnZS5wcm9tcHRfdG9rZW5zXG4gIHRhcmdldFVzYWdlLnRvdGFsX3Rva2VucyArPSBzb3VyY2VVc2FnZS50b3RhbF90b2tlbnNcbn1cbiJdfQ==
|
package/dist/cjs/type.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare abstract class SimpleChatModel {
|
|
2
|
-
abstract doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput>;
|
|
3
|
-
abstract doStream(data: BaseChatModelInput): Promise<DoStreamOutput>;
|
|
2
|
+
abstract doGenerate(data: BaseChatModelInput, options?: ReqOptions): Promise<DoGenerateOutput>;
|
|
3
|
+
abstract doStream(data: BaseChatModelInput, options?: ReqOptions): Promise<DoStreamOutput>;
|
|
4
4
|
}
|
|
5
5
|
type RawResponse = {
|
|
6
6
|
rawResponse?: any;
|
|
@@ -18,6 +18,7 @@ export interface IModelReqInput {
|
|
|
18
18
|
headers?: Record<string, string>;
|
|
19
19
|
data?: Object;
|
|
20
20
|
stream?: boolean;
|
|
21
|
+
timeout?: number;
|
|
21
22
|
}
|
|
22
23
|
export type ModelReq = <T extends IModelReqInput>(props: T) => T['stream'] extends true ? Promise<ReadableStream<Uint8Array>> : Promise<Object>;
|
|
23
24
|
export interface IBotReqInput {
|
|
@@ -26,6 +27,10 @@ export interface IBotReqInput {
|
|
|
26
27
|
headers?: Record<string, string>;
|
|
27
28
|
data?: Object;
|
|
28
29
|
stream?: boolean;
|
|
30
|
+
timeout?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface ReqOptions {
|
|
33
|
+
timeout?: number;
|
|
29
34
|
}
|
|
30
35
|
export type BotReq = <T extends IBotReqInput>(props: T) => T['stream'] extends true ? Promise<ReadableStream<Uint8Array>> : Promise<Object>;
|
|
31
36
|
export type UserMessage = {
|
package/dist/cjs/type.js
CHANGED
|
@@ -7,4 +7,4 @@ var SimpleChatModel = (function () {
|
|
|
7
7
|
return SimpleChatModel;
|
|
8
8
|
}());
|
|
9
9
|
exports.SimpleChatModel = SimpleChatModel;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQztBQUpxQiwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PlxuXG4gIHB1YmxpYyBhYnN0cmFjdCBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD5cbn1cblxudHlwZSBSYXdSZXNwb25zZSA9IHsgcmF3UmVzcG9uc2U/OiBhbnkgfVxuXG5leHBvcnQgdHlwZSBEb0dlbmVyYXRlT3V0cHV0ID0gQmFzZURvR2VuZXJhdGVPdXRwdXQgJiBSYXdSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBEb1N0cmVhbU91dHB1dCA9IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIFJhd1Jlc3BvbnNlPlxuXG5leHBvcnQgdHlwZSBDaGF0TW9kZWxDb25zdHJ1Y3RvciA9IHR5cGVvZiBTaW1wbGVDaGF0TW9kZWxcblxuZXhwb3J0IHR5cGUgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPFQ+ID0gUmVhZGFibGVTdHJlYW08VD4gJiB7XG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl06ICgpID0+IHsgbmV4dCgpOiBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFQ+PiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW4sXG4gIHRpbWVvdXQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgTW9kZWxSZXEgPSA8VCBleHRlbmRzIElNb2RlbFJlcUlucHV0PihcbiAgcHJvcHM6IFQsXG4pID0+IFRbJ3N0cmVhbSddIGV4dGVuZHMgdHJ1ZSA/IFByb21pc2U8UmVhZGFibGVTdHJlYW08VWludDhBcnJheT4+IDogUHJvbWlzZTxPYmplY3Q+XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvdFJlcUlucHV0IHtcbiAgdXJsOiBzdHJpbmdcbiAgbWV0aG9kOiBzdHJpbmdcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgZGF0YT86IE9iamVjdFxuICBzdHJlYW0/OiBib29sZWFuXG4gIHRpbWVvdXQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXFPcHRpb25zIHtcbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBCb3RSZXEgPSA8VCBleHRlbmRzIElCb3RSZXFJbnB1dD4oXG4gIHByb3BzOiBULFxuKSA9PiBUWydzdHJlYW0nXSBleHRlbmRzIHRydWUgPyBQcm9taXNlPFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+PiA6IFByb21pc2U8T2JqZWN0PlxuXG5leHBvcnQgdHlwZSBVc2VyTWVzc2FnZSA9IHtcbiAgcm9sZTogJ3VzZXInXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTeXN0ZW1NZXNzYWdlID0ge1xuICByb2xlOiAnc3lzdGVtJ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQXNzaXN0YW50TWVzc2FnZSA9IFBsYWluQXNzaXN0YW50TWVzc2FnZSB8IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZVxuXG5leHBvcnQgdHlwZSBQbGFpbkFzc2lzdGFudE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdhc3Npc3RhbnQnXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdhc3Npc3RhbnQnXG4gIHRvb2xfY2FsbHM6IEFycmF5PFRvb2xDYWxsPlxuICBjb250ZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRvb2xNZXNzYWdlID0ge1xuICByb2xlOiAndG9vbCdcbiAgdG9vbF9jYWxsX2lkOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNb2RlbE1lc3NhZ2UgPSBVc2VyTWVzc2FnZSB8IFN5c3RlbU1lc3NhZ2UgfCBBc3Npc3RhbnRNZXNzYWdlIHwgVG9vbE1lc3NhZ2VcblxuZXhwb3J0IHR5cGUgRnVuY3Rpb25Ub29sID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBmbjogQ2FsbGFibGVGdW5jdGlvblxuICBwYXJhbWV0ZXJzOiBvYmplY3Rcbn1cblxuLy8gI3JlZ2lvbiDlpKfmqKHlnovmoIflh4bovpPlhaXnsbvlnotcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUNoYXRNb2RlbElucHV0IHtcbiAgbW9kZWw6IHN0cmluZ1xuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT5cbiAgdGVtcGVyYXR1cmU/OiBudW1iZXJcbiAgdG9wX3A/OiBudW1iZXJcbiAgdG9vbHM/OiBBcnJheTxNb2RlbFRvb2w+XG4gIHRvb2xfY2hvaWNlPzogJ25vbmUnIHwgJ2F1dG8nIHwgJ2N1c3RvbSdcbn1cblxuLyoqXG4gKiDnu5kgTExNIOWPkeivt+axguaXtuimgeS8oOeahOW3peWFt1xuICovXG5leHBvcnQgdHlwZSBNb2RlbFRvb2wgPSB7XG4gIHR5cGU6IHN0cmluZ1xuICBmdW5jdGlvbjogTW9kZWxUb29sRnVuY3Rpb25cbn1cblxuLyoqXG4gKiDnu5kgTExNIOWPkeivt+axguaXtuimgeS8oOeahOW3peWFt+WHveaVsFxuICovXG5leHBvcnQgdHlwZSBNb2RlbFRvb2xGdW5jdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqXG4gICAqIOaPj+i/sOWHveaVsOWPguaVsOeahCBKU09OIFNjaGVtYVxuICAgKi9cbiAgcGFyYW1ldGVyczogb2JqZWN0XG59XG4vLyAjZW5kcmVnaW9uXG5cbi8vICNyZWdpb24g5aSn5qih5Z6L5qCH5YeG5ZON5bqU57G75Z6LXG5leHBvcnQgdHlwZSBUb29sQ2FsbCA9IHtcbiAgaWQ6IHN0cmluZ1xuICB0eXBlOiBzdHJpbmdcbiAgZnVuY3Rpb246IHsgbmFtZTogc3RyaW5nOyBhcmd1bWVudHM6IHN0cmluZyB9XG59XG5cbnR5cGUgRmluaXNoUmVhc29uID0gJ3Rvb2xfY2FsbHMnIHwgKHN0cmluZyAmIHt9KVxuXG5leHBvcnQgdHlwZSBVc2FnZSA9IHtcbiAgY29tcGxldGlvbl90b2tlbnM6IG51bWJlclxuICBwcm9tcHRfdG9rZW5zOiBudW1iZXJcbiAgdG90YWxfdG9rZW5zOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRG9HZW5lcmF0ZU91dHB1dCB7XG4gIGNob2ljZXM/OiBBcnJheTx7XG4gICAgZmluaXNoX3JlYXNvbj86IEZpbmlzaFJlYXNvblxuICAgIG1lc3NhZ2U/OiBDaGF0TW9kZWxNZXNzYWdlXG4gIH0+XG4gIHVzYWdlPzogVXNhZ2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayB7XG4gIGNob2ljZXM/OiBBcnJheTx7XG4gICAgZmluaXNoX3JlYXNvbj86IEZpbmlzaFJlYXNvblxuICAgIGRlbHRhPzogQ2hhdE1vZGVsTWVzc2FnZVxuICB9PlxuICB1c2FnZT86IFVzYWdlXG59XG4vLyAjZW5kcmVnaW9uXG4iXX0=
|
package/dist/esm/AI.js
CHANGED
|
@@ -55,7 +55,7 @@ var AI = (function () {
|
|
|
55
55
|
this.req = req;
|
|
56
56
|
this.baseUrl = baseUrl;
|
|
57
57
|
this.modelRequest = function (_a) {
|
|
58
|
-
var url = _a.url, data = _a.data, headers = _a.headers, stream = _a.stream;
|
|
58
|
+
var url = _a.url, data = _a.data, headers = _a.headers, stream = _a.stream, timeout = _a.timeout;
|
|
59
59
|
return __awaiter(_this, void 0, void 0, function () {
|
|
60
60
|
var fetchHeaders, _b, responseData, header;
|
|
61
61
|
return __generator(this, function (_c) {
|
|
@@ -71,6 +71,7 @@ var AI = (function () {
|
|
|
71
71
|
body: JSON.stringify(data),
|
|
72
72
|
url: url,
|
|
73
73
|
stream: stream,
|
|
74
|
+
timeout: timeout,
|
|
74
75
|
})];
|
|
75
76
|
case 1:
|
|
76
77
|
_b = (_c.sent()), responseData = _b.data, header = _b.header;
|
|
@@ -80,7 +81,7 @@ var AI = (function () {
|
|
|
80
81
|
});
|
|
81
82
|
};
|
|
82
83
|
this.botRequest = function (_a) {
|
|
83
|
-
var method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, headers = _a.headers, stream = _a.stream;
|
|
84
|
+
var method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, headers = _a.headers, stream = _a.stream, timeout = _a.timeout;
|
|
84
85
|
return __awaiter(_this, void 0, void 0, function () {
|
|
85
86
|
function objectToParam(obj) {
|
|
86
87
|
return Object.entries(obj)
|
|
@@ -96,7 +97,7 @@ var AI = (function () {
|
|
|
96
97
|
case 0:
|
|
97
98
|
if (!(method === 'get')) return [3, 2];
|
|
98
99
|
_c = handleResponseData;
|
|
99
|
-
return [4, this.req.fetch({ url: "".concat(url, "?").concat(objectToParam(data)), method: method, headers: headers, stream: stream })];
|
|
100
|
+
return [4, this.req.fetch({ url: "".concat(url, "?").concat(objectToParam(data)), method: method, headers: headers, stream: stream, timeout: timeout })];
|
|
100
101
|
case 1: return [2, _c.apply(void 0, [(_e.sent()).data])];
|
|
101
102
|
case 2:
|
|
102
103
|
fetchHeaders = {
|
|
@@ -109,6 +110,7 @@ var AI = (function () {
|
|
|
109
110
|
headers: __assign(__assign({}, fetchHeaders), headers),
|
|
110
111
|
stream: stream,
|
|
111
112
|
method: method,
|
|
113
|
+
timeout: timeout,
|
|
112
114
|
})];
|
|
113
115
|
case 3:
|
|
114
116
|
_d = (_e.sent()), responseData = _d.data, header = _d.header;
|
|
@@ -173,4 +175,4 @@ function handleResponseData(responseData, header) {
|
|
|
173
175
|
});
|
|
174
176
|
});
|
|
175
177
|
}
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUzQyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFxQnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBOEI7Z0JBQTVCLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQTs7Ozs7OzRCQUMxRCxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyx3QkFBTyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsS0FBQTtvQ0FDSCxNQUFNLFFBQUE7aUNBQ1AsQ0FBQyxFQUFBOzs0QkFOSSxLQUFpQyxDQUFDLFNBTXRDLENBQThFLEVBTmxFLFlBQVksVUFBQSxFQUFFLE1BQU0sWUFBQTs0QkFRbEMsV0FBTyxr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QztvQkFDMUQsSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO3dCQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFnQixJQUFJLENBQUMsSUFBSSxpREFBUyxJQUFJLENBQUMsT0FBTyxlQUFLLGFBQWEsZUFBSyxJQUFJLENBQUMsU0FBUyxDQUNqRyxJQUFJLEVBQ0osSUFBSSxFQUNKLENBQUMsQ0FDRixDQUFFLENBQUUsQ0FBQTtxQkFDTjs7d0JBRUgsV0FBTyxZQUFZLEVBQUE7Ozs7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNES1JlcXVlc3RJbnRlcmZhY2UgfSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQm90IH0gZnJvbSAnLi9ib3QnXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSAnLi9tb2RlbHMnXG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL3R5cGUnXG5pbXBvcnQgeyByZWFkYWJsZVN0cmVhbTJKc29uT2JqZWN0IH0gZnJvbSAnLi91dGlscydcblxuY29uc3QgeyBNT0RFTFMgfSA9IG1vZGVsc1xuXG5jbGFzcyBBSSB7XG4gIHB1YmxpYyBhaUJhc2VVcmw6IHN0cmluZ1xuICBwdWJsaWMgYWlCb3RCYXNlVXJsOiBzdHJpbmdcbiAgcHVibGljIGJvdDogQm90XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXE6IFNES1JlcXVlc3RJbnRlcmZhY2UsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFpQmFzZVVybCA9IGAke2Jhc2VVcmx9L2FpYFxuICAgIHRoaXMuYWlCb3RCYXNlVXJsID0gYCR7YmFzZVVybH0vYWlib3RgXG4gICAgdGhpcy5ib3QgPSBuZXcgQm90KHRoaXMuYm90UmVxdWVzdCwgdGhpcy5haUJvdEJhc2VVcmwpXG4gIH1cblxuICBjcmVhdGVNb2RlbDxUIGV4dGVuZHMga2V5b2YgdHlwZW9mIE1PREVMUz4obW9kZWw6IFQpIHtcbiAgICBjb25zdCBTaW1wbGVNb2RlbENvbnN0cnVjdG9yID0gTU9ERUxTW21vZGVsXVxuICAgIGNvbnN0IHNpbXBsZU1vZGVsOiB0eXBlcy5TaW1wbGVDaGF0TW9kZWwgPSBuZXcgU2ltcGxlTW9kZWxDb25zdHJ1Y3Rvcih0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwpXG4gICAgY29uc3QgcmVhY3RNb2RlbCA9IG5ldyBtb2RlbHMuUmVhY3RNb2RlbChzaW1wbGVNb2RlbClcbiAgICByZXR1cm4gcmVhY3RNb2RlbFxuICB9XG5cbiAgcmVnaXN0ZXJNb2RlbChuYW1lOiBzdHJpbmcsIG1vZGVsOiB0eXBlcy5DaGF0TW9kZWxDb25zdHJ1Y3Rvcikge1xuICAgIGlmIChNT0RFTFNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBtb2RlbCAke25hbWV9IGFscmVhZHkgZXhpc3RzIWApXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgTU9ERUxTW25hbWVdID0gbW9kZWxcbiAgfVxuXG4gIG1vZGVsUmVxdWVzdDogdHlwZXMuTW9kZWxSZXEgPSBhc3luYyAoeyB1cmwsIGRhdGEsIGhlYWRlcnMsIHN0cmVhbSB9KSA9PiB7XG4gICAgY29uc3QgZmV0Y2hIZWFkZXJzID0ge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9XG4gICAgLy8g5bimIEFjY2VwdDogdGV4dC9ldmVudC1zdHJlYW0gIOivt+axguWktOaYvuW8j+aMh+WumuaYryBTU0Ug57uV6L+HIDYwcyDnmoTpmZDliLZcbiAgICBzdHJlYW0gJiYgT2JqZWN0LmFzc2lnbihmZXRjaEhlYWRlcnMsIHsgQWNjZXB0OiAndGV4dC9ldmVudC1zdHJlYW0nIH0pXG5cbiAgICBjb25zdCB7IGRhdGE6IHJlc3BvbnNlRGF0YSwgaGVhZGVyIH0gPSAoYXdhaXQgdGhpcy5yZXEuZmV0Y2goe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBoZWFkZXJzOiB7IC4uLmZldGNoSGVhZGVycywgLi4uaGVhZGVycyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG4gICAgICB1cmwsXG4gICAgICBzdHJlYW0sXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuICB9XG5cbiAgYm90UmVxdWVzdDogdHlwZXMuQm90UmVxID0gYXN5bmMgKHsgbWV0aG9kLCB1cmwsIGRhdGEgPSB7fSwgaGVhZGVycywgc3RyZWFtIH0pID0+IHtcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YSgoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3VybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtIH0pKS5kYXRhLClcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICB1cmwsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uZmV0Y2hIZWFkZXJzLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG1ldGhvZCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG5cbiAgICBmdW5jdGlvbiBvYmplY3RUb1BhcmFtKG9iajogT2JqZWN0KSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgICAuam9pbignJicpXG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJGdW5jdGlvblRvb2woZnVuY3Rpb25Ub29sOiB0eXBlcy5GdW5jdGlvblRvb2wpIHtcbiAgICBpZiAobW9kZWxzLnRvb2xNYXAuaGFzKGZ1bmN0aW9uVG9vbC5uYW1lKSkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBmdW5jdGlvbiB0b29sICR7ZnVuY3Rpb25Ub29sLm5hbWV9IGFscmVhZHkgZXhpc3RzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuIWApXG4gICAgfVxuICAgIG1vZGVscy50b29sTWFwLnNldChmdW5jdGlvblRvb2wubmFtZSwgZnVuY3Rpb25Ub29sLmZuKVxuICB9XG59XG5cbmV4cG9ydCB7IEFJIH1cblxuY29uc3QgR09fVE9fQUlfVEVYVCA9ICfor7fmo4Dmn6XosIPnlKjmlrnlvI/vvIzmiJbliY3lvoDkupHlvIDlj5EgQUkrIOmmlumhteafpeeci+aWh+aho++8mmh0dHBzOi8vdGNiLmNsb3VkLnRlbmNlbnQuY29tL2RldiMvYWknXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiwgaGVhZGVyPzogSGVhZGVycykge1xuICBpZiAoJ3RoZW4nIGluIHJlc3BvbnNlRGF0YSkge1xuICAgIC8vIOmdnua1geW8j+ivt+axgu+8jOebtOaOpei/lOWbniBqc29uIOaVsOaNrlxuICAgIGNvbnN0IGpzb24gPSAoYXdhaXQgcmVzcG9uc2VEYXRhKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgIGlmICgnY29kZScgaW4ganNvbiAmJiBqc29uLmNvZGUgIT09ICdOT1JNQUwnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFJKyDor7fmsYLlh7rplJnvvIzplJnor6/noIHvvJoke2pzb24uY29kZX3vvIzplJnor6/kv6Hmga/vvJoke2pzb24ubWVzc2FnZX1cXG4ke0dPX1RPX0FJX1RFWFR9XFxuJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAganNvbixcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgICl9YCwpXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlRGF0YVxuICB9XG4gIC8vIOa1geW8j+ivt+axgu+8jOWmguaenOaOpeWPo+WHuumUme+8jOS8muWPmOaIkOS8oCBqc29uIOagvOW8j+eahOWTjeW6lO+8jOmAmui/hyBoZWFkZXIg5Yik5pat5qC85byPXG4gIGlmIChoZWFkZXI/LmdldD8uKCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2pzb24nKSkge1xuICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZWFkYWJsZVN0cmVhbTJKc29uT2JqZWN0KHJlc3BvbnNlRGF0YSlcbiAgICBpZiAoJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CB77yaJHtqc29uLmNvZGV977yM6ZSZ6K+v5L+h5oGv77yaJHtqc29uLm1lc3NhZ2V9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGpzb24sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDIsXG4gICAgICApfWAsKVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzcG9uc2VEYXRhXG59XG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUzQyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFxQnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBdUM7Z0JBQXJDLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyx3QkFBTyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsS0FBQTtvQ0FDSCxNQUFNLFFBQUE7b0NBQ04sT0FBTyxTQUFBO2lDQUNSLENBQUMsRUFBQTs7NEJBUEksS0FBaUMsQ0FBQyxTQU90QyxDQUE4RSxFQVBsRSxZQUFZLFVB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QUFBLEVBQTNELGNBQTJEO29CQUNoRCxXQUFNLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxFQUFBOztvQkFBcEQsSUFBSSxHQUFHLFNBQTZDO29CQUMxRCxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7d0JBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQWdCLElBQUksQ0FBQyxJQUFJLGlEQUFTLElBQUksQ0FBQyxPQUFPLGVBQUssYUFBYSxlQUFLLElBQUksQ0FBQyxTQUFTLENBQ2pHLElBQUksRUFDSixJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQUUsQ0FBRSxDQUFBO3FCQUNOOzt3QkFFSCxXQUFPLFlBQVksRUFBQTs7OztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU0RLUmVxdWVzdEludGVyZmFjZSB9IGZyb20gJ0BjbG91ZGJhc2UvYWRhcHRlci1pbnRlcmZhY2UnXG5pbXBvcnQgeyBCb3QgfSBmcm9tICcuL2JvdCdcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscydcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4vdHlwZSdcbmltcG9ydCB7IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QgfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCB7IE1PREVMUyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGFpQmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBhaUJvdEJhc2VVcmw6IHN0cmluZ1xuICBwdWJsaWMgYm90OiBCb3RcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIHRoaXMuYWlCYXNlVXJsID0gYCR7YmFzZVVybH0vYWlgXG4gICAgdGhpcy5haUJvdEJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWJvdGBcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsPFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgTU9ERUxTPihtb2RlbDogVCkge1xuICAgIGNvbnN0IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IgPSBNT0RFTFNbbW9kZWxdXG4gICAgY29uc3Qgc2ltcGxlTW9kZWw6IHR5cGVzLlNpbXBsZUNoYXRNb2RlbCA9IG5ldyBTaW1wbGVNb2RlbENvbnN0cnVjdG9yKHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybClcbiAgICBjb25zdCByZWFjdE1vZGVsID0gbmV3IG1vZGVscy5SZWFjdE1vZGVsKHNpbXBsZU1vZGVsKVxuICAgIHJldHVybiByZWFjdE1vZGVsXG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZmV0Y2hIZWFkZXJzLCAuLi5oZWFkZXJzIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIHVybCxcbiAgICAgIHN0cmVhbSxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuICB9XG5cbiAgYm90UmVxdWVzdDogdHlwZXMuQm90UmVxID0gYXN5bmMgKHsgbWV0aG9kLCB1cmwsIGRhdGEgPSB7fSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YSgoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3VybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pKS5kYXRhLClcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICB1cmwsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uZmV0Y2hIZWFkZXJzLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9QYXJhbShvYmo6IE9iamVjdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRnVuY3Rpb25Ub29sKGZ1bmN0aW9uVG9vbDogdHlwZXMuRnVuY3Rpb25Ub29sKSB7XG4gICAgaWYgKG1vZGVscy50b29sTWFwLmhhcyhmdW5jdGlvblRvb2wubmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgZnVuY3Rpb24gdG9vbCAke2Z1bmN0aW9uVG9vbC5uYW1lfSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiFgKVxuICAgIH1cbiAgICBtb2RlbHMudG9vbE1hcC5zZXQoZnVuY3Rpb25Ub29sLm5hbWUsIGZ1bmN0aW9uVG9vbC5mbilcbiAgfVxufVxuXG5leHBvcnQgeyBBSSB9XG5cbmNvbnN0IEdPX1RPX0FJX1RFWFQgPSAn6K+35qOA5p+l6LCD55So5pa55byP77yM5oiW5YmN5b6A5LqR5byA5Y+RIEFJKyDpppbpobXmn6XnnIvmlofmoaPvvJpodHRwczovL3RjYi5jbG91ZC50ZW5jZW50LmNvbS9kZXYjL2FpJ1xuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4sIGhlYWRlcj86IEhlYWRlcnMpIHtcbiAgaWYgKCd0aGVuJyBpbiByZXNwb25zZURhdGEpIHtcbiAgICAvLyDpnZ7mtYHlvI/or7fmsYLvvIznm7TmjqXov5Tlm54ganNvbiDmlbDmja5cbiAgICBjb25zdCBqc29uID0gKGF3YWl0IHJlc3BvbnNlRGF0YSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBpZiAoJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CB77yaJHtqc29uLmNvZGV977yM6ZSZ6K+v5L+h5oGv77yaJHtqc29uLm1lc3NhZ2V9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGpzb24sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDIsXG4gICAgICApfWAsKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICBpZiAoaGVhZGVyPy5nZXQ/LignY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEpXG4gICAgaWYgKCdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlRGF0YVxufVxuIl19
|
package/dist/esm/bot/index.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { type ParsedEvent } from '../eventsource_parser';
|
|
2
|
-
import { BotReq } from '../type';
|
|
2
|
+
import { BotReq, ReqOptions } from '../type';
|
|
3
3
|
import { IBotPreview, IBotSendMessage, IBotUploadFiles, ICreateBot, IDeleteBot, IGenerateBot, IGenerateImage, IGetBot, IGetBotChatRecords, IGetBotFeedback, IGetBotList, IGetBotRecommendQuestions, ISendBotFeedback, IUpdateBot } from './types';
|
|
4
4
|
export declare class Bot {
|
|
5
5
|
baseUrl: string;
|
|
6
6
|
req: BotReq;
|
|
7
7
|
constructor(req: BotReq, baseUrl: string);
|
|
8
|
-
list(props: IGetBotList): Promise<Object>;
|
|
9
|
-
create({ botInfo }: ICreateBot): Promise<Object>;
|
|
10
|
-
get({ botId }: IGetBot): Promise<Object>;
|
|
11
|
-
update({ botId, botInfo }: IUpdateBot): Promise<Object>;
|
|
12
|
-
delete({ botId }: IDeleteBot): Promise<Object>;
|
|
13
|
-
getChatRecords(props: IGetBotChatRecords): Promise<Object>;
|
|
14
|
-
sendFeedback({ userFeedback }: ISendBotFeedback): Promise<Object>;
|
|
15
|
-
getFeedback(props: IGetBotFeedback): Promise<Object>;
|
|
16
|
-
uploadFiles(props: IBotUploadFiles): Promise<Object>;
|
|
17
|
-
getRecommendQuestions(props: IGetBotRecommendQuestions): Promise<StreamResult>;
|
|
18
|
-
generateBot(props: IGenerateBot): Promise<StreamResult>;
|
|
19
|
-
getPreview(props: IBotPreview): Promise<StreamResult>;
|
|
20
|
-
generateImage(props: IGenerateImage): Promise<Object>;
|
|
21
|
-
sendMessage(props: IBotSendMessage): Promise<StreamResult>;
|
|
8
|
+
list(props: IGetBotList, options?: ReqOptions): Promise<Object>;
|
|
9
|
+
create({ botInfo }: ICreateBot, options?: ReqOptions): Promise<Object>;
|
|
10
|
+
get({ botId }: IGetBot, options?: ReqOptions): Promise<Object>;
|
|
11
|
+
update({ botId, botInfo }: IUpdateBot, options?: ReqOptions): Promise<Object>;
|
|
12
|
+
delete({ botId }: IDeleteBot, options?: ReqOptions): Promise<Object>;
|
|
13
|
+
getChatRecords(props: IGetBotChatRecords, options?: ReqOptions): Promise<Object>;
|
|
14
|
+
sendFeedback({ userFeedback }: ISendBotFeedback, options?: ReqOptions): Promise<Object>;
|
|
15
|
+
getFeedback(props: IGetBotFeedback, options?: ReqOptions): Promise<Object>;
|
|
16
|
+
uploadFiles(props: IBotUploadFiles, options?: ReqOptions): Promise<Object>;
|
|
17
|
+
getRecommendQuestions(props: IGetBotRecommendQuestions, options?: ReqOptions): Promise<StreamResult>;
|
|
18
|
+
generateBot(props: IGenerateBot, options?: ReqOptions): Promise<StreamResult>;
|
|
19
|
+
getPreview(props: IBotPreview, options?: ReqOptions): Promise<StreamResult>;
|
|
20
|
+
generateImage(props: IGenerateImage, options?: ReqOptions): Promise<Object>;
|
|
21
|
+
sendMessage(props: IBotSendMessage, options?: ReqOptions): Promise<StreamResult>;
|
|
22
22
|
private join;
|
|
23
23
|
}
|
|
24
24
|
type BotEventStreamData = {
|