@cloudbase/ai 3.10.0-beta.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/AI.d.ts CHANGED
@@ -20,7 +20,7 @@ declare class AI {
20
20
  defaultModelSubUrl?: string;
21
21
  }): models.ReactModel;
22
22
  registerModel(name: string, model: types.ChatModelConstructor): void;
23
- createImageModel<T extends 'hunyuan-image' | (string & {})>(provider: T): models.DefaultImageModel<T>;
23
+ createImageModel<T extends 'hunyuan-image' | 'cloudbase' | (string & {})>(provider: T): models.DefaultImageModel<T>;
24
24
  modelRequest: types.ModelReq;
25
25
  botRequest: types.BotReq;
26
26
  registerFunctionTool(functionTool: types.FunctionTool): void;
package/dist/cjs/AI.js CHANGED
@@ -176,15 +176,16 @@ var AI = (function () {
176
176
  AI.prototype.handleResponseData = function (responseData, header) {
177
177
  var _a, _b;
178
178
  return __awaiter(this, void 0, void 0, function () {
179
- var GO_TO_AI_TEXT, throwIfError, json, _c, isStream, json, json;
179
+ var t, GO_TO_AI_TEXT, throwIfError, json, _c, isStream, json, json;
180
180
  var _this = this;
181
181
  return __generator(this, function (_d) {
182
182
  switch (_d.label) {
183
183
  case 0:
184
- GO_TO_AI_TEXT = "".concat(this.i18n.t('请检查调用方式,或前往云开发 AI+ 首页查看文档'), "\uFF1Ahttps://tcb.cloud.tencent.com/dev#/ai");
184
+ t = function (key) { var _a, _b, _c; return (_c = (_b = (_a = _this.i18n) === null || _a === void 0 ? void 0 : _a.t) === null || _b === void 0 ? void 0 : _b.call(_a, key)) !== null && _c !== void 0 ? _c : key; };
185
+ GO_TO_AI_TEXT = "".concat(t('请检查调用方式,或前往云开发 AI+ 首页查看文档'), "\uFF1Ahttps://tcb.cloud.tencent.com/dev#/ai");
185
186
  throwIfError = function (json) {
186
187
  if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
187
- throw new Error("".concat(_this.i18n.t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(_this.i18n.t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
188
+ throw new Error("".concat(t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
188
189
  }
189
190
  };
190
191
  if (!(typeof responseData === 'object' && responseData && typeof responseData.getReader !== 'function')) return [3, 4];
@@ -205,7 +206,7 @@ var AI = (function () {
205
206
  if (!isStream) {
206
207
  json = responseData;
207
208
  if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
208
- throw new Error("".concat(this.i18n.t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(this.i18n.t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
209
+ throw new Error("".concat(t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
209
210
  }
210
211
  return [2, responseData];
211
212
  }
@@ -261,4 +262,4 @@ var AI = (function () {
261
262
  return AI;
262
263
  }());
263
264
  exports.AI = AI;
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLDZCQUEyQjtBQUMzQiwrQ0FBa0M7QUFFbEMsaUNBQW1EO0FBRW5ELGtEQUFnRDtBQUV4QyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQWdCRSxZQUNVLEdBQXdCLEVBQ3pCLE9BQWUsRUFDdEIsSUFBOEIsRUFDOUIsVUFBeUI7UUFKM0IsaUJBYUM7UUFaUyxRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBeUZ4QixpQkFBWSxHQUFtQixVQUFPLEVBQXVDO2dCQUFyQyxHQUFHLFNBQUEsRUFBRSxJQUFJLFVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxNQUFNLFlBQUEsRUFBRSxPQUFPLGFBQUE7Ozs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyxpQ0FBSyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLGVBQWUsSUFBRyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLElBQUksT0FBSyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN2RixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQ0FD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QyxpQkFBaUIsQ0FBSSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDckYsQ0FBQztJQXVERCxpQ0FBb0IsR0FBcEIsVUFBcUIsWUFBZ0M7UUFDbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBb0IsWUFBWSxDQUFDLElBQUksNkNBQTBDLENBQUMsQ0FBQTtTQUM5RjtRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFHTyx1QkFBVSxHQUFsQixVQUFtQixHQUFXO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sR0FBRyxDQUFBO1FBQ2pDLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1NBQzlDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBQ0gsU0FBQztBQUFELENBQUMsQUFoTEQsSUFnTEM7QUFFUSxnQkFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGVxZXFlcSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgdHlwZSB7IFNES1JlcXVlc3RJbnRlcmZhY2UgfSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQm90IH0gZnJvbSAnLi9ib3QnXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSAnLi9tb2RlbHMnXG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL3R5cGUnXG5pbXBvcnQgeyByZWFkYWJsZVN0cmVhbTJKc29uT2JqZWN0IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IElDbG91ZGJhc2VDb25maWcgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgbGFuZ0V2ZW50IH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5cbmNvbnN0IHsgTU9ERUxTIH0gPSBtb2RlbHNcblxuY2xhc3MgQUkge1xuICBwdWJsaWMgYm90OiBCb3RcbiAgcHVibGljIGkxOG46IElDbG91ZGJhc2VDb25maWdbJ2kxOG4nXVxuICBkZWZhdWx0SGVhZGVyczogeyBbeDogc3RyaW5nXTogYW55IH1cbiAgcHJpdmF0ZSBfZ2V0QmFzZVVybD86ICgpID0+IHN0cmluZ1xuXG4gIC8qKiDliqjmgIHojrflj5YgYWlCYXNlVXJs77yM5pSv5oyBIHJlZ2lzdGVyRW5kUG9pbnRXaXRoS2V5IOWQjuerr+eCueWPmOabtOeUn+aViCAqL1xuICBnZXQgYWlCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2dldEJhc2VVcmwgPyB0aGlzLl9nZXRCYXNlVXJsKCkgOiB0aGlzLmJhc2VVcmx9L2FpYFxuICB9XG5cbiAgLyoqIOWKqOaAgeiOt+WPliBhaUJvdEJhc2VVcmzvvIzmlK/mjIEgcmVnaXN0ZXJFbmRQb2ludFdpdGhLZXkg5ZCO56uv54K55Y+Y5pu055Sf5pWIICovXG4gIGdldCBhaUJvdEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5fZ2V0QmFzZVVybCA/IHRoaXMuX2dldEJhc2VVcmwoKSA6IHRoaXMuYmFzZVVybH0vYWlib3RgXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSxcbiAgICBwdWJsaWMgYmFzZVVybDogc3RyaW5nLFxuICAgIGkxOG46IElDbG91ZGJhc2VDb25maWdbJ2kxOG4nXSxcbiAgICBnZXRCYXNlVXJsPzogKCkgPT4gc3RyaW5nLFxuICApIHtcbiAgICB0aGlzLl9nZXRCYXNlVXJsID0gZ2V0QmFzZVVybFxuICAgIHRoaXMuYm90ID0gbmV3IEJvdCh0aGlzLmJvdFJlcXVlc3QsIHRoaXMuYWlCb3RCYXNlVXJsKVxuICAgIHRoaXMuaTE4biA9IGkxOG5cblxuICAgIGxhbmdFdmVudC5idXMub24obGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5ULCAocGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLmkxOG4gPSBwYXJhbXMuZGF0YT8uaTE4biB8fCB0aGlzLmkxOG5cbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlUmVzcG9uc2VEYXRhKHJlc3BvbnNlRGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+LCBoZWFkZXI/OiBIZWFkZXJzKSB7XG4gICAgY29uc3QgR09fVE9fQUlfVEVYVCA9IGAke3RoaXMuaTE4bi50KCfor7fmo4Dmn6XosIPnlKjmlrnlvI/vvIzmiJbliY3lvoDkupHlvIDlj5EgQUkrIOmmlumhteafpeeci+aWh+ahoycpfe+8mmh0dHBzOi8vdGNiLmNsb3VkLnRlbmNlbnQuY29tL2RldiMvYWlgXG5cbiAgICBjb25zdCB0aHJvd0lmRXJyb3IgPSAoanNvbjogdW5rbm93bikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIChqc29uIGFzIGFueSkuY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuaTE4bi50KCdBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CBJyl977yaJHsoanNvbiBhcyBhbnkpLmNvZGV977yMJHt0aGlzLmkxOG4udCgn6ZSZ6K+v5L+h5oGvJyl977yaJHtcbiAgICAgICAgICAoanNvbiBhcyBhbnkpLm1lc3NhZ2VcbiAgICAgICAgfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpfWAsKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOmdnua1geW8j+ivt+axgu+8mlxuICAgIC8vIC0g5bCP56iL5bqPL1dlYiDpgILphY3lmajov5Tlm54gUHJvbWlzZe+8iGhhcyAndGhlbifvvIlcbiAgICAvLyAtIE5vZGUg6YCC6YWN5Zmo5bey5bCGIGJvZHkg6Kej5p6Q5Li65pmu6YCa5a+56LGh77yI5pegICd0aGVuJ+OAgeaXoCBnZXRSZWFkZXLvvIlcbiAgICAvLyDkuKTnp43mg4XlhrXpg73mjIkgSlNPTiDmoKHpqozplJnor6/noIHlkI7ljp/moLfov5Tlm55cbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiYgcmVzcG9uc2VEYXRhICYmIHR5cGVvZiAocmVzcG9uc2VEYXRhIGFzIGFueSkuZ2V0UmVhZGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBqc29uID0gJ3RoZW4nIGluIHJlc3BvbnNlRGF0YSA/IGF3YWl0IHJlc3BvbnNlRGF0YSA6IHJlc3BvbnNlRGF0YVxuICAgICAgdGhyb3dJZkVycm9yKGpzb24pXG4gICAgICByZXR1cm4gcmVzcG9uc2VEYXRhXG4gICAgfVxuXG4gICAgLy8g5Yik5patIHJlc3BvbnNlRGF0YSDmmK/lkKbmmK8gUmVhZGFibGVTdHJlYW0g5a6e5L6L77yI5YW85a65IE5vZGUuanMg6YCC6YWN5Zmo6Z2e5rWB5byP5Zy65pmv5bey6Kej5p6Q5Li6IEpTT04g5a+56LGh55qE5oOF5Ya177yJXG4gICAgY29uc3QgaXNTdHJlYW0gPSB0eXBlb2YgKHJlc3BvbnNlRGF0YSBhcyBhbnkpPy5nZXRSZWFkZXIgPT09ICdmdW5jdGlvbidcblxuICAgIGlmICghaXNTdHJlYW0pIHtcbiAgICAgIC8vIHJlc3BvbnNlRGF0YSDlt7Lnu4/mmK/op6PmnpDlkI7nmoQgSlNPTiDlr7nosaHvvIjlpoIgTm9kZS5qcyDpgILphY3lmajpnZ7mtYHlvI/ov5Tlm57vvInvvIznm7TmjqXmo4Dmn6XplJnor6/noIFcbiAgICAgIGNvbnN0IGpzb24gPSByZXNwb25zZURhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuaTE4bi50KCdBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CBJyl977yaJHtqc29uLmNvZGV977yMJHt0aGlzLmkxOG4udCgn6ZSZ6K+v5L+h5oGvJyl977yaJHtcbiAgICAgICAgICBqc29uLm1lc3NhZ2VcbiAgICAgICAgfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpfWAsKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3BvbnNlRGF0YVxuICAgIH1cblxuICAgIC8vIOa1geW8j+ivt+axgu+8jOWmguaenOaOpeWPo+WHuumUme+8jOS8muWPmOaIkOS8oCBqc29uIOagvOW8j+eahOWTjeW6lO+8jOmAmui/hyBoZWFkZXIg5Yik5pat5qC85byPXG4gICAgaWYgKGhlYWRlcj8uZ2V0Py4oJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEgYXMgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pXG4gICAgICB0aHJvd0lmRXJyb3IoanNvbilcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlRGF0YVxuICB9XG5cbiAgY3JlYXRlTW9kZWwoXG4gICAgbW9kZWw6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgZGVmYXVsdE1vZGVsU3ViVXJsPzogc3RyaW5nXG4gICAgfSxcbiAgKSB7XG4gICAgbGV0IHNpbXBsZU1vZGVsOiB0eXBlcy5TaW1wbGVDaGF0TW9kZWxcblxuICAgIGNvbnN0IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IgPSBNT0RFTFNbbW9kZWxdXG4gICAgaWYgKFNpbXBsZU1vZGVsQ29uc3RydWN0b3IpIHtcbiAgICAgIHNpbXBsZU1vZGVsID0gbmV3IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJVcmwgPSB0eXBlb2Ygb3B0aW9ucz8uZGVmYXVsdE1vZGVsU3ViVXJsID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuZGVmYXVsdE1vZGVsU3ViVXJsIDogJy9jaGF0L2NvbXBsZXRpb25zJ1xuXG4gICAgICBzaW1wbGVNb2RlbCA9IG5ldyBtb2RlbHMuRGVmYXVsdFNpbXBsZU1vZGVsKHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybCwgYCR7bW9kZWx9JHtzdWJVcmx9YClcbiAgICB9XG5cbiAgICBjb25zdCByZWFjdE1vZGVsID0gbmV3IG1vZGVscy5SZWFjdE1vZGVsKHNpbXBsZU1vZGVsKVxuICAgIHJldHVybiByZWFjdE1vZGVsXG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgY3JlYXRlSW1hZ2VNb2RlbDxUIGV4dGVuZHMgJ2h1bnl1YW4taW1hZ2UnIHwgKHN0cmluZyAmIHt9KT4ocHJvdmlkZXI6IFQpIHtcbiAgICByZXR1cm4gbmV3IG1vZGVscy5EZWZhdWx0SW1hZ2VNb2RlbDxUPih0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwsIHByb3ZpZGVyKVxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHsgW3RoaXMuaTE4bj8uTEFOR19IRUFERVJfS0VZXTogdGhpcy5pMThuPy5sYW5nLCAuLi5mZXRjaEhlYWRlcnMsIC4uLmhlYWRlcnMgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgdXJsOiB0aGlzLnJlc29sdmVVcmwodXJsKSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG4gIH1cblxuICBib3RSZXF1ZXN0OiB0eXBlcy5Cb3RSZXEgPSBhc3luYyAoeyBtZXRob2QsIHVybCwgZGF0YSA9IHt9LCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVkVXJsID0gdGhpcy5yZXNvbHZlVXJsKHVybClcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVzcG9uc2VEYXRhKChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7IHVybDogYCR7cmVzb2x2ZWRVcmx9PyR7b2JqZWN0VG9QYXJhbShkYXRhKX1gLCBtZXRob2QsIGhlYWRlcnMsIHN0cmVhbSwgdGltZW91dCB9KSkuZGF0YSwpXG4gICAgfVxuXG4gICAgY29uc3QgZmV0Y2hIZWFkZXJzID0ge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9XG4gICAgLy8g5bimIEFjY2VwdDogdGV4dC9ldmVudC1zdHJlYW0gIOivt+axguWktOaYvuW8j+aMh+WumuaYryBTU0Ug57uV6L+HIDYwcyDnmoTpmZDliLZcbiAgICBzdHJlYW0gJiYgT2JqZWN0LmFzc2lnbihmZXRjaEhlYWRlcnMsIHsgQWNjZXB0OiAndGV4dC9ldmVudC1zdHJlYW0nIH0pXG5cbiAgICBjb25zdCB7IGRhdGE6IHJlc3BvbnNlRGF0YSwgaGVhZGVyIH0gPSAoYXdhaXQgdGhpcy5yZXEuZmV0Y2goe1xuICAgICAgdXJsOiByZXNvbHZlZFVybCxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBbdGhpcy5pMThuPy5MQU5HX0hFQURFUl9LRVldOiB0aGlzLmkxOG4/LmxhbmcsXG4gICAgICAgIC4uLmZldGNoSGVhZGVycyxcbiAgICAgICAgLi4uaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICBzdHJlYW0sXG4gICAgICBtZXRob2QsXG4gICAgICB0aW1lb3V0LFxuICAgIH0pKSBhcyB7IGRhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PjsgaGVhZGVyPzogSGVhZGVycyB9XG5cbiAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9QYXJhbShvYmo6IE9iamVjdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRnVuY3Rpb25Ub29sKGZ1bmN0aW9uVG9vbDogdHlwZXMuRnVuY3Rpb25Ub29sKSB7XG4gICAgaWYgKG1vZGVscy50b29sTWFwLmhhcyhmdW5jdGlvblRvb2wubmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgZnVuY3Rpb24gdG9vbCAke2Z1bmN0aW9uVG9vbC5uYW1lfSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiFgKVxuICAgIH1cbiAgICBtb2RlbHMudG9vbE1hcC5zZXQoZnVuY3Rpb25Ub29sLm5hbWUsIGZ1bmN0aW9uVG9vbC5mbilcbiAgfVxuXG4gIC8qKiDliqjmgIHmm7/mjaIgVVJMIOS4reeahCBvcmlnaW4g6YOo5YiG77yM5pSv5oyBIHJlZ2lzdGVyRW5kUG9pbnRXaXRoS2V5IOWQjueUn+aViCAqL1xuICBwcml2YXRlIHJlc29sdmVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fZ2V0QmFzZVVybCkgcmV0dXJuIHVybFxuICAgIGNvbnN0IGN1cnJlbnRCYXNlID0gdGhpcy5fZ2V0QmFzZVVybCgpXG4gICAgaWYgKGN1cnJlbnRCYXNlICE9PSB0aGlzLmJhc2VVcmwgJiYgdXJsLnN0YXJ0c1dpdGgodGhpcy5iYXNlVXJsKSkge1xuICAgICAgcmV0dXJuIHVybC5yZXBsYWNlKHRoaXMuYmFzZVVybCwgY3VycmVudEJhc2UpXG4gICAgfVxuICAgIHJldHVybiB1cmxcbiAgfVxufVxuXG5leHBvcnQgeyBBSSB9XG4iXX0=
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLDZCQUEyQjtBQUMzQiwrQ0FBa0M7QUFFbEMsaUNBQW1EO0FBRW5ELGtEQUFnRDtBQUV4QyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQWdCRSxZQUNVLEdBQXdCLEVBQ3pCLE9BQWUsRUFDdEIsSUFBOEIsRUFDOUIsVUFBeUI7UUFKM0IsaUJBYUM7UUFaUyxRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBMEZ4QixpQkFBWSxHQUFtQixVQUFPLEVBQXVDO2dCQUFyQyxHQUFHLFNBQUEsRUFBRSxJQUFJLFVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxNQUFNLFlBQUEsRUFBRSxPQUFPLGFBQUE7Ozs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyxpQ0FBSyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLGVBQWUsSUFBRyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLElBQUksT0FBSyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN2RixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQ0FD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bkYsT0FBTyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBSSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDckYsQ0FBQztJQXVERCxpQ0FBb0IsR0FBcEIsVUFBcUIsWUFBZ0M7UUFDbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBb0IsWUFBWSxDQUFDLElBQUksNkNBQTBDLENBQUMsQ0FBQTtTQUM5RjtRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFHTyx1QkFBVSxHQUFsQixVQUFtQixHQUFXO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sR0FBRyxDQUFBO1FBQ2pDLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1NBQzlDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBQ0gsU0FBQztBQUFELENBQUMsQUFqTEQsSUFpTEM7QUFFUSxnQkFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGVxZXFlcSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgdHlwZSB7IFNES1JlcXVlc3RJbnRlcmZhY2UgfSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQm90IH0gZnJvbSAnLi9ib3QnXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSAnLi9tb2RlbHMnXG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL3R5cGUnXG5pbXBvcnQgeyByZWFkYWJsZVN0cmVhbTJKc29uT2JqZWN0IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IElDbG91ZGJhc2VDb25maWcgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgbGFuZ0V2ZW50IH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5cbmNvbnN0IHsgTU9ERUxTIH0gPSBtb2RlbHNcblxuY2xhc3MgQUkge1xuICBwdWJsaWMgYm90OiBCb3RcbiAgcHVibGljIGkxOG46IElDbG91ZGJhc2VDb25maWdbJ2kxOG4nXVxuICBkZWZhdWx0SGVhZGVyczogeyBbeDogc3RyaW5nXTogYW55IH1cbiAgcHJpdmF0ZSBfZ2V0QmFzZVVybD86ICgpID0+IHN0cmluZ1xuXG4gIC8qKiDliqjmgIHojrflj5YgYWlCYXNlVXJs77yM5pSv5oyBIHJlZ2lzdGVyRW5kUG9pbnRXaXRoS2V5IOWQjuerr+eCueWPmOabtOeUn+aViCAqL1xuICBnZXQgYWlCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2dldEJhc2VVcmwgPyB0aGlzLl9nZXRCYXNlVXJsKCkgOiB0aGlzLmJhc2VVcmx9L2FpYFxuICB9XG5cbiAgLyoqIOWKqOaAgeiOt+WPliBhaUJvdEJhc2VVcmzvvIzmlK/mjIEgcmVnaXN0ZXJFbmRQb2ludFdpdGhLZXkg5ZCO56uv54K55Y+Y5pu055Sf5pWIICovXG4gIGdldCBhaUJvdEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5fZ2V0QmFzZVVybCA/IHRoaXMuX2dldEJhc2VVcmwoKSA6IHRoaXMuYmFzZVVybH0vYWlib3RgXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSxcbiAgICBwdWJsaWMgYmFzZVVybDogc3RyaW5nLFxuICAgIGkxOG46IElDbG91ZGJhc2VDb25maWdbJ2kxOG4nXSxcbiAgICBnZXRCYXNlVXJsPzogKCkgPT4gc3RyaW5nLFxuICApIHtcbiAgICB0aGlzLl9nZXRCYXNlVXJsID0gZ2V0QmFzZVVybFxuICAgIHRoaXMuYm90ID0gbmV3IEJvdCh0aGlzLmJvdFJlcXVlc3QsIHRoaXMuYWlCb3RCYXNlVXJsKVxuICAgIHRoaXMuaTE4biA9IGkxOG5cblxuICAgIGxhbmdFdmVudC5idXMub24obGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5ULCAocGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLmkxOG4gPSBwYXJhbXMuZGF0YT8uaTE4biB8fCB0aGlzLmkxOG5cbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlUmVzcG9uc2VEYXRhKHJlc3BvbnNlRGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+LCBoZWFkZXI/OiBIZWFkZXJzKSB7XG4gICAgY29uc3QgdCA9IChrZXk6IHN0cmluZykgPT4gdGhpcy5pMThuPy50Py4oa2V5KSA/PyBrZXlcbiAgICBjb25zdCBHT19UT19BSV9URVhUID0gYCR7dCgn6K+35qOA5p+l6LCD55So5pa55byP77yM5oiW5YmN5b6A5LqR5byA5Y+RIEFJKyDpppbpobXmn6XnnIvmlofmoaMnKX3vvJpodHRwczovL3RjYi5jbG91ZC50ZW5jZW50LmNvbS9kZXYjL2FpYFxuXG4gICAgY29uc3QgdGhyb3dJZkVycm9yID0gKGpzb246IHVua25vd24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YganNvbiA9PT0gJ29iamVjdCcgJiYganNvbiAmJiAnY29kZScgaW4ganNvbiAmJiAoanNvbiBhcyBhbnkpLmNvZGUgIT09ICdOT1JNQUwnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0KCdBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CBJyl977yaJHsoanNvbiBhcyBhbnkpLmNvZGV977yMJHt0KCfplJnor6/kv6Hmga8nKX3vvJoke1xuICAgICAgICAgIChqc29uIGFzIGFueSkubWVzc2FnZVxuICAgICAgICB9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgMil9YCwpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g6Z2e5rWB5byP6K+35rGC77yaXG4gICAgLy8gLSDlsI/nqIvluo8vV2ViIOmAgumFjeWZqOi/lOWbniBQcm9taXNl77yIaGFzICd0aGVuJ++8iVxuICAgIC8vIC0gTm9kZSDpgILphY3lmajlt7LlsIYgYm9keSDop6PmnpDkuLrmma7pgJrlr7nosaHvvIjml6AgJ3RoZW4n44CB5pegIGdldFJlYWRlcu+8iVxuICAgIC8vIOS4pOenjeaDheWGtemDveaMiSBKU09OIOagoemqjOmUmeivr+eggeWQjuWOn+agt+i/lOWbnlxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2VEYXRhID09PSAnb2JqZWN0JyAmJiByZXNwb25zZURhdGEgJiYgdHlwZW9mIChyZXNwb25zZURhdGEgYXMgYW55KS5nZXRSZWFkZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IGpzb24gPSAndGhlbicgaW4gcmVzcG9uc2VEYXRhID8gYXdhaXQgcmVzcG9uc2VEYXRhIDogcmVzcG9uc2VEYXRhXG4gICAgICB0aHJvd0lmRXJyb3IoanNvbilcbiAgICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgICB9XG5cbiAgICAvLyDliKTmlq0gcmVzcG9uc2VEYXRhIOaYr+WQpuaYryBSZWFkYWJsZVN0cmVhbSDlrp7kvovvvIjlhbzlrrkgTm9kZS5qcyDpgILphY3lmajpnZ7mtYHlvI/lnLrmma/lt7Lop6PmnpDkuLogSlNPTiDlr7nosaHnmoTmg4XlhrXvvIlcbiAgICBjb25zdCBpc1N0cmVhbSA9IHR5cGVvZiAocmVzcG9uc2VEYXRhIGFzIGFueSk/LmdldFJlYWRlciA9PT0gJ2Z1bmN0aW9uJ1xuXG4gICAgaWYgKCFpc1N0cmVhbSkge1xuICAgICAgLy8gcmVzcG9uc2VEYXRhIOW3sue7j+aYr+ino+aekOWQjueahCBKU09OIOWvueixoe+8iOWmgiBOb2RlLmpzIOmAgumFjeWZqOmdnua1geW8j+i/lOWbnu+8ie+8jOebtOaOpeajgOafpemUmeivr+eggVxuICAgICAgY29uc3QganNvbiA9IHJlc3BvbnNlRGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICBpZiAodHlwZW9mIGpzb24gPT09ICdvYmplY3QnICYmIGpzb24gJiYgJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dCgnQUkrIOivt+axguWHuumUme+8jOmUmeivr+eggScpfe+8miR7anNvbi5jb2Rlfe+8jCR7dCgn6ZSZ6K+v5L+h5oGvJyl977yaJHtcbiAgICAgICAgICBqc29uLm1lc3NhZ2VcbiAgICAgICAgfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpfWAsKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3BvbnNlRGF0YVxuICAgIH1cblxuICAgIC8vIOa1geW8j+ivt+axgu+8jOWmguaenOaOpeWPo+WHuumUme+8jOS8muWPmOaIkOS8oCBqc29uIOagvOW8j+eahOWTjeW6lO+8jOmAmui/hyBoZWFkZXIg5Yik5pat5qC85byPXG4gICAgaWYgKGhlYWRlcj8uZ2V0Py4oJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEgYXMgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pXG4gICAgICB0aHJvd0lmRXJyb3IoanNvbilcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlRGF0YVxuICB9XG5cbiAgY3JlYXRlTW9kZWwoXG4gICAgbW9kZWw6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgZGVmYXVsdE1vZGVsU3ViVXJsPzogc3RyaW5nXG4gICAgfSxcbiAgKSB7XG4gICAgbGV0IHNpbXBsZU1vZGVsOiB0eXBlcy5TaW1wbGVDaGF0TW9kZWxcblxuICAgIGNvbnN0IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IgPSBNT0RFTFNbbW9kZWxdXG4gICAgaWYgKFNpbXBsZU1vZGVsQ29uc3RydWN0b3IpIHtcbiAgICAgIHNpbXBsZU1vZGVsID0gbmV3IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJVcmwgPSB0eXBlb2Ygb3B0aW9ucz8uZGVmYXVsdE1vZGVsU3ViVXJsID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuZGVmYXVsdE1vZGVsU3ViVXJsIDogJy9jaGF0L2NvbXBsZXRpb25zJ1xuXG4gICAgICBzaW1wbGVNb2RlbCA9IG5ldyBtb2RlbHMuRGVmYXVsdFNpbXBsZU1vZGVsKHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybCwgYCR7bW9kZWx9JHtzdWJVcmx9YClcbiAgICB9XG5cbiAgICBjb25zdCByZWFjdE1vZGVsID0gbmV3IG1vZGVscy5SZWFjdE1vZGVsKHNpbXBsZU1vZGVsKVxuICAgIHJldHVybiByZWFjdE1vZGVsXG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgY3JlYXRlSW1hZ2VNb2RlbDxUIGV4dGVuZHMgJ2h1bnl1YW4taW1hZ2UnIHwgJ2Nsb3VkYmFzZScgfCAoc3RyaW5nICYge30pPihwcm92aWRlcjogVCkge1xuICAgIHJldHVybiBuZXcgbW9kZWxzLkRlZmF1bHRJbWFnZU1vZGVsPFQ+KHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybCwgcHJvdmlkZXIpXG4gIH1cblxuICBtb2RlbFJlcXVlc3Q6IHR5cGVzLk1vZGVsUmVxID0gYXN5bmMgKHsgdXJsLCBkYXRhLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgaGVhZGVyczogeyBbdGhpcy5pMThuPy5MQU5HX0hFQURFUl9LRVldOiB0aGlzLmkxOG4/LmxhbmcsIC4uLmZldGNoSGVhZGVycywgLi4uaGVhZGVycyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG4gICAgICB1cmw6IHRoaXMucmVzb2x2ZVVybCh1cmwpLFxuICAgICAgc3RyZWFtLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVzcG9uc2VEYXRhKHJlc3BvbnNlRGF0YSwgaGVhZGVyKSBhcyBhbnlcbiAgfVxuXG4gIGJvdFJlcXVlc3Q6IHR5cGVzLkJvdFJlcSA9IGFzeW5jICh7IG1ldGhvZCwgdXJsLCBkYXRhID0ge30sIGhlYWRlcnMsIHN0cmVhbSwgdGltZW91dCB9KSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRVcmwgPSB0aGlzLnJlc29sdmVVcmwodXJsKVxuICAgIGlmIChtZXRob2QgPT09ICdnZXQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZURhdGEoKGF3YWl0IHRoaXMucmVxLmZldGNoKHsgdXJsOiBgJHtyZXNvbHZlZFVybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pKS5kYXRhLClcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICB1cmw6IHJlc29sdmVkVXJsLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFt0aGlzLmkxOG4/LkxBTkdfSEVBREVSX0tFWV06IHRoaXMuaTE4bj8ubGFuZyxcbiAgICAgICAgLi4uZmV0Y2hIZWFkZXJzLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG5cbiAgICBmdW5jdGlvbiBvYmplY3RUb1BhcmFtKG9iajogT2JqZWN0KSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgICAuam9pbignJicpXG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJGdW5jdGlvblRvb2woZnVuY3Rpb25Ub29sOiB0eXBlcy5GdW5jdGlvblRvb2wpIHtcbiAgICBpZiAobW9kZWxzLnRvb2xNYXAuaGFzKGZ1bmN0aW9uVG9vbC5uYW1lKSkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBmdW5jdGlvbiB0b29sICR7ZnVuY3Rpb25Ub29sLm5hbWV9IGFscmVhZHkgZXhpc3RzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuIWApXG4gICAgfVxuICAgIG1vZGVscy50b29sTWFwLnNldChmdW5jdGlvblRvb2wubmFtZSwgZnVuY3Rpb25Ub29sLmZuKVxuICB9XG5cbiAgLyoqIOWKqOaAgeabv+aNoiBVUkwg5Lit55qEIG9yaWdpbiDpg6jliIbvvIzmlK/mjIEgcmVnaXN0ZXJFbmRQb2ludFdpdGhLZXkg5ZCO55Sf5pWIICovXG4gIHByaXZhdGUgcmVzb2x2ZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9nZXRCYXNlVXJsKSByZXR1cm4gdXJsXG4gICAgY29uc3QgY3VycmVudEJhc2UgPSB0aGlzLl9nZXRCYXNlVXJsKClcbiAgICBpZiAoY3VycmVudEJhc2UgIT09IHRoaXMuYmFzZVVybCAmJiB1cmwuc3RhcnRzV2l0aCh0aGlzLmJhc2VVcmwpKSB7XG4gICAgICByZXR1cm4gdXJsLnJlcGxhY2UodGhpcy5iYXNlVXJsLCBjdXJyZW50QmFzZSlcbiAgICB9XG4gICAgcmV0dXJuIHVybFxuICB9XG59XG5cbmV4cG9ydCB7IEFJIH1cbiJdfQ==
@@ -1,9 +1,10 @@
1
- import type { ModelReq, HunyuanGenerateImageInput, HunyuanGenerateImageOutput, HunyuanARGenerateImageInput, HunyuanARGenerateImageOutput } from '../type';
1
+ import type { ModelReq, HunyuanGenerateImageInput, HunyuanGenerateImageOutput, HunyuanARGenerateImageInput, HunyuanARGenerateImageOutput, CloudbaseGenerateImageInput, CloudbaseGenerateImageOutput } from '../type';
2
2
  interface HunyuanImageGenerateFn {
3
3
  (input: HunyuanARGenerateImageInput): Promise<HunyuanARGenerateImageOutput>;
4
4
  (input: HunyuanGenerateImageInput): Promise<HunyuanGenerateImageOutput>;
5
5
  }
6
- type GenerateImageFn<TProvider> = TProvider extends 'hunyuan-image' ? HunyuanImageGenerateFn : (input: unknown) => Promise<unknown>;
6
+ type CloudbaseImageGenerateFn = (input: CloudbaseGenerateImageInput) => Promise<CloudbaseGenerateImageOutput>;
7
+ type GenerateImageFn<TProvider> = TProvider extends 'hunyuan-image' ? HunyuanImageGenerateFn : TProvider extends 'cloudbase' ? CloudbaseImageGenerateFn : (input: unknown) => Promise<unknown>;
7
8
  export declare class DefaultImageModel<TProvider extends string> {
8
9
  private req;
9
10
  baseUrl: string;
@@ -13,6 +14,9 @@ export declare class DefaultImageModel<TProvider extends string> {
13
14
  generateImage: GenerateImageFn<TProvider>;
14
15
  constructor(req: ModelReq, baseUrl: string, provider: TProvider);
15
16
  private generateImageImpl;
17
+ private validateInput;
18
+ private assertHunyuanInput;
19
+ private resolveSubUrl;
16
20
  private getGenerateUrl;
17
21
  private getGenerateImageSubUrl;
18
22
  }
@@ -48,32 +48,20 @@ var DefaultImageModel = (function () {
48
48
  'hunyuan-image': [
49
49
  [/^hunyuan-image(-v[12](\..*)?)?$/, 'images/generations'],
50
50
  ],
51
+ cloudbase: [
52
+ [/^hy-image-v3\.5-preview$/, 'wand/hunyuan-image/v35-generation'],
53
+ ],
51
54
  };
52
55
  this.generateImage = this.generateImageImpl.bind(this);
53
56
  }
54
57
  DefaultImageModel.prototype.generateImageImpl = function (input) {
55
58
  return __awaiter(this, void 0, void 0, function () {
56
- var typedInput, imageUrls, images, subUrl, newSubUrl, res;
59
+ var subUrl, res;
57
60
  return __generator(this, function (_a) {
58
61
  switch (_a.label) {
59
62
  case 0:
60
- if (typeof input === 'object' && input && 'model' in input && input.model === 'HY-Image-v3.0-I2I-ToB-v1.0.1' && (this.provider === '' || this.provider === 'hunyuan-image')) {
61
- typedInput = input;
62
- imageUrls = typedInput.image_urls;
63
- images = typedInput.images;
64
- if (imageUrls && imageUrls.length > 1) {
65
- throw new errors_1.InvalidParamsError('当模型为 HY-Image-v3.0-I2I-ToB-v1.0.1 时,image_urls 最多只能有 1 个元素', 'image_urls');
66
- }
67
- if (images && images.length > 1) {
68
- throw new errors_1.InvalidParamsError('当模型为 HY-Image-v3.0-I2I-ToB-v1.0.1 时,images 最多只能有 1 个元素', 'images');
69
- }
70
- }
71
- subUrl = this.defaultGenerateImageSubUrl;
72
- if (typeof input === 'object' && input && 'model' in input && typeof input.model === 'string') {
73
- newSubUrl = this.getGenerateImageSubUrl(this.provider, input.model);
74
- if (newSubUrl)
75
- subUrl = newSubUrl;
76
- }
63
+ this.validateInput(input);
64
+ subUrl = this.resolveSubUrl(input);
77
65
  return [4, this.req({
78
66
  url: this.getGenerateUrl(subUrl),
79
67
  data: input,
@@ -86,6 +74,32 @@ var DefaultImageModel = (function () {
86
74
  });
87
75
  });
88
76
  };
77
+ DefaultImageModel.prototype.validateInput = function (input) {
78
+ if (this.provider === '' || this.provider === 'hunyuan-image') {
79
+ this.assertHunyuanInput(input);
80
+ }
81
+ };
82
+ DefaultImageModel.prototype.assertHunyuanInput = function (input) {
83
+ if (!input || input.model !== 'HY-Image-v3.0-I2I-ToB-v1.0.1')
84
+ return;
85
+ var imageUrls = input.image_urls, images = input.images;
86
+ if (imageUrls && imageUrls.length > 1) {
87
+ throw new errors_1.InvalidParamsError('当模型为 HY-Image-v3.0-I2I-ToB-v1.0.1 时,image_urls 最多只能有 1 个元素', 'image_urls');
88
+ }
89
+ if (images && images.length > 1) {
90
+ throw new errors_1.InvalidParamsError('当模型为 HY-Image-v3.0-I2I-ToB-v1.0.1 时,images 最多只能有 1 个元素', 'images');
91
+ }
92
+ };
93
+ DefaultImageModel.prototype.resolveSubUrl = function (input) {
94
+ var model = input && typeof input.model === 'string' ? input.model : undefined;
95
+ var subUrl = model ? this.getGenerateImageSubUrl(this.provider, model) : undefined;
96
+ if (subUrl)
97
+ return subUrl;
98
+ if (this.provider === 'cloudbase') {
99
+ throw new errors_1.InvalidParamsError("cloudbase provider \u4E0D\u652F\u6301\u7684\u6A21\u578B\uFF1A".concat(model !== null && model !== void 0 ? model : '(未指定)'), 'model');
100
+ }
101
+ return this.defaultGenerateImageSubUrl;
102
+ };
89
103
  DefaultImageModel.prototype.getGenerateUrl = function (subUrl) {
90
104
  return "".concat(this.baseUrl, "/").concat(this.provider, "/").concat(subUrl);
91
105
  };
@@ -103,4 +117,4 @@ var DefaultImageModel = (function () {
103
117
  return DefaultImageModel;
104
118
  }());
105
119
  exports.DefaultImageModel = DefaultImageModel;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2ltYWdlLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVBLG9DQUE4QztBQVc5QztJQVlFLDJCQUNVLEdBQWEsRUFDZCxPQUFlLEVBQ2YsUUFBbUI7UUFGbEIsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUNkLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZHJCLCtCQUEwQixHQUFHLHVCQUF1QixDQUFBO1FBRXBELDhCQUF5QixHQUE0QztZQUMxRSxlQUFlLEVBQUU7Z0JBQ2YsQ0FBQyxpQ0FBaUMsRUFBRSxvQkFBb0IsQ0FBQzthQUMxRDtTQUNGLENBQUE7UUFVQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUErQixDQUFBO0lBQ3RGLENBQUM7SUFHYSw2Q0FBaUIsR0FBL0IsVUFBZ0MsS0FBOEQ7Ozs7Ozt3QkFFNUYsSUFDRSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyw4QkFBOEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLEVBQ3ZLOzRCQUNNLFVBQVUsR0FBRyxLQUFLLENBQUE7NEJBQ2xCLFNBQVMsR0FBRyxVQUFVLENBQUMsVUFBa0MsQ0FBQTs0QkFDekQsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUE4QixDQUFBOzRCQUV4RCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQ0FDckMsTUFBTSxJQUFJLDJCQUFrQixDQUMxQiw0REFBNEQsRUFDNUQsWUFBWSxDQUNiLENBQUE7NkJBQ0Y7NEJBQ0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0NBQy9CLE1BQU0sSUFBSSwyQkFBa0IsQ0FDMUIsd0RBQXdELEVBQ3hELFFBQVEsQ0FDVCxDQUFBOzZCQUNGO3lCQUNGO3dCQUVHLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUE7d0JBRTVDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7NEJBQ3ZGLFNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7NEJBQ3pFLElBQUksU0FBUztnQ0FBRSxNQUFNLEdBQUcsU0FBUyxDQUFBO3lCQUNsQzt3QkFFWSxXQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7Z0NBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztnQ0FDaEMsSUFBSSxFQUFFLEtBQUs7Z0NBQ1gsTUFBTSxFQUFFLEtBQUs7NkJBQ2QsQ0FBQyxFQUFBOzt3QkFKSSxHQUFHLEdBQUcsQ0FBQyxTQUlYLENBQThEO3dCQUVoRSxXQUFPLEdBQUcsRUFBQTs7OztLQUNYO0lBRU8sMENBQWMsR0FBdEIsVUFBdUIsTUFBYztRQUNuQyxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsUUFBUSxjQUFJLE1BQU0sQ0FBRSxDQUFBO0lBQ3JELENBQUM7SUFNTyxrREFBc0IsR0FBOUIsVUFBK0IsUUFBZ0IsRUFBRSxLQUFhO1FBQzVELElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0RCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBRTVCLEtBQWdDLFVBQUssRUFBTCxlQUFLLEVBQUwsbUJBQUssRUFBTCxJQUFLLEVBQUU7WUFBNUIsSUFBQSxnQkFBaUIsRUFBaEIsT0FBTyxRQUFBLEVBQUUsTUFBTSxRQUFBO1lBQ3pCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxNQUFNLENBQUE7U0FDdkM7UUFFRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBQ0gsd0JBQUM7QUFBRCxDQUFDLEFBOUVELElBOEVDO0FBOUVZLDhDQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgTW9kZWxSZXEsXG4gIC8vIEltYWdlRWRpdElucHV0LFxuICBIdW55dWFuR2VuZXJhdGVJbWFnZUlucHV0LFxuICBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dCxcbiAgSHVueXVhbkFSR2VuZXJhdGVJbWFnZUlucHV0LFxuICBIdW55dWFuQVJHZW5lcmF0ZUltYWdlT3V0cHV0LFxuICAvLyBIdW55dWFuRWRpdEltYWdlSW5wdXQsXG4gIC8vIEh1bnl1YW5FZGl0SW1hZ2VPdXRwdXQsXG59IGZyb20gJy4uL3R5cGUnXG5pbXBvcnQgeyBJbnZhbGlkUGFyYW1zRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnXG5cbmludGVyZmFjZSBIdW55dWFuSW1hZ2VHZW5lcmF0ZUZuIHtcbiAgKGlucHV0OiBIdW55dWFuQVJHZW5lcmF0ZUltYWdlSW5wdXQpOiBQcm9taXNlPEh1bnl1YW5BUkdlbmVyYXRlSW1hZ2VPdXRwdXQ+XG4gIChpbnB1dDogSHVueXVhbkdlbmVyYXRlSW1hZ2VJbnB1dCk6IFByb21pc2U8SHVueXVhbkdlbmVyYXRlSW1hZ2VPdXRwdXQ+XG59XG5cbnR5cGUgR2VuZXJhdGVJbWFnZUZuPFRQcm92aWRlcj4gPSBUUHJvdmlkZXIgZXh0ZW5kcyAnaHVueXVhbi1pbWFnZSdcbiAgPyBIdW55dWFuSW1hZ2VHZW5lcmF0ZUZuXG4gIDogKGlucHV0OiB1bmtub3duKSA9PiBQcm9taXNlPHVua25vd24+XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0SW1hZ2VNb2RlbDxUUHJvdmlkZXIgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgcHVibGljIGRlZmF1bHRHZW5lcmF0ZUltYWdlU3ViVXJsID0gJ2ltYWdlcy9hci9nZW5lcmF0aW9ucydcblxuICBwdWJsaWMgZ2VuZXJhdGVJbWFnZVN1YlVybENvbmZpZzogUmVjb3JkPHN0cmluZywgQXJyYXk8W1JlZ0V4cCwgc3RyaW5nXT4+ID0ge1xuICAgICdodW55dWFuLWltYWdlJzogW1xuICAgICAgWy9eaHVueXVhbi1pbWFnZSgtdlsxMl0oXFwuLiopPyk/JC8sICdpbWFnZXMvZ2VuZXJhdGlvbnMnXSxcbiAgICBdLFxuICB9XG5cbiAgLyoqIOeUn+aIkOWbvueJhyAqL1xuICBwdWJsaWMgZ2VuZXJhdGVJbWFnZTogR2VuZXJhdGVJbWFnZUZuPFRQcm92aWRlcj5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcTogTW9kZWxSZXEsXG4gICAgcHVibGljIGJhc2VVcmw6IHN0cmluZyxcbiAgICBwdWJsaWMgcHJvdmlkZXI6IFRQcm92aWRlcixcbiAgKSB7XG4gICAgdGhpcy5nZW5lcmF0ZUltYWdlID0gdGhpcy5nZW5lcmF0ZUltYWdlSW1wbC5iaW5kKHRoaXMpIGFzIEdlbmVyYXRlSW1hZ2VGbjxUUHJvdmlkZXI+XG4gIH1cblxuICAvKiogZ2VuZXJhdGVJbWFnZSDnmoTlrp7pmYXlrp7njrAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZUltYWdlSW1wbChpbnB1dDogSHVueXVhbkFSR2VuZXJhdGVJbWFnZUlucHV0IHwgSHVueXVhbkdlbmVyYXRlSW1hZ2VJbnB1dCwpOiBQcm9taXNlPEh1bnl1YW5BUkdlbmVyYXRlSW1hZ2VPdXRwdXQgfCBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dD4ge1xuICAgIC8vIOW9k+aooeWei+S4uiBIWS1JbWFnZS12My4wLUkySS1Ub0ItdjEuMC4xIOS4lCBwcm92aWRlciDkuLrnqbrmiJbkuLogaHVueXVhbi1pbWFnZSDml7bmoKHpqozlj4LmlbBcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgaW5wdXQgPT09ICdvYmplY3QnICYmIGlucHV0ICYmICdtb2RlbCcgaW4gaW5wdXQgJiYgaW5wdXQubW9kZWwgPT09ICdIWS1JbWFnZS12My4wLUkySS1Ub0ItdjEuMC4xJyAmJiAodGhpcy5wcm92aWRlciA9PT0gJycgfHwgdGhpcy5wcm92aWRlciA9PT0gJ2h1bnl1YW4taW1hZ2UnKVxuICAgICkge1xuICAgICAgY29uc3QgdHlwZWRJbnB1dCA9IGlucHV0XG4gICAgICBjb25zdCBpbWFnZVVybHMgPSB0eXBlZElucHV0LmltYWdlX3VybHMgYXMgc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgICAgIGNvbnN0IGltYWdlcyA9IHR5cGVkSW5wdXQuaW1hZ2VzIGFzIHN0cmluZ1tdIHwgdW5kZWZpbmVkXG5cbiAgICAgIGlmIChpbWFnZVVybHMgJiYgaW1hZ2VVcmxzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbXNFcnJvcihcbiAgICAgICAgICAn5b2T5qih5Z6L5Li6IEhZLUltYWdlLXYzLjAtSTJJLVRvQi12MS4wLjEg5pe277yMaW1hZ2VfdXJscyDmnIDlpJrlj6rog73mnIkgMSDkuKrlhYPntKAnLFxuICAgICAgICAgICdpbWFnZV91cmxzJyxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgaWYgKGltYWdlcyAmJiBpbWFnZXMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtc0Vycm9yKFxuICAgICAgICAgICflvZPmqKHlnovkuLogSFktSW1hZ2UtdjMuMC1JMkktVG9CLXYxLjAuMSDml7bvvIxpbWFnZXMg5pyA5aSa5Y+q6IO95pyJIDEg5Liq5YWD57SgJyxcbiAgICAgICAgICAnaW1hZ2VzJyxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBzdWJVcmwgPSB0aGlzLmRlZmF1bHRHZW5lcmF0ZUltYWdlU3ViVXJsXG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJiBpbnB1dCAmJiAnbW9kZWwnIGluIGlucHV0ICYmIHR5cGVvZiBpbnB1dC5tb2RlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld1N1YlVybCA9IHRoaXMuZ2V0R2VuZXJhdGVJbWFnZVN1YlVybCh0aGlzLnByb3ZpZGVyLCBpbnB1dC5tb2RlbClcbiAgICAgIGlmIChuZXdTdWJVcmwpIHN1YlVybCA9IG5ld1N1YlVybFxuICAgIH1cblxuICAgIGNvbnN0IHJlcyA9IChhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMuZ2V0R2VuZXJhdGVVcmwoc3ViVXJsKSxcbiAgICAgIGRhdGE6IGlucHV0LFxuICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICB9KSkgYXMgSHVueXVhbkFSR2VuZXJhdGVJbWFnZU91dHB1dCB8IEh1bnl1YW5HZW5lcmF0ZUltYWdlT3V0cHV0XG5cbiAgICByZXR1cm4gcmVzXG4gIH1cblxuICBwcml2YXRlIGdldEdlbmVyYXRlVXJsKHN1YlVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt0aGlzLnByb3ZpZGVyfS8ke3N1YlVybH1gXG4gIH1cblxuICAvKipcbiAgICog5qC55o2uIHByb3ZpZGVyIOS4jiBtb2RlbCDop6PmnpDnlJ/miJDlm77niYfnmoTlrZDot6/lvoTjgIJcbiAgICog5oyJ6YWN572u6aG65bqP55SoIFJlZ0V4cCDljLnphY3vvIzlkb3kuK3ljbPov5Tlm57lr7nlupQgc3ViVXJs44CCXG4gICAqL1xuICBwcml2YXRlIGdldEdlbmVyYXRlSW1hZ2VTdWJVcmwocHJvdmlkZXI6IHN0cmluZywgbW9kZWw6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcnVsZXMgPSB0aGlzLmdlbmVyYXRlSW1hZ2VTdWJVcmxDb25maWdbcHJvdmlkZXJdXG4gICAgaWYgKCFydWxlcykgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgZm9yIChjb25zdCBbcGF0dGVybiwgc3ViVXJsXSBvZiBydWxlcykge1xuICAgICAgaWYgKHBhdHRlcm4udGVzdChtb2RlbCkpIHJldHVybiBzdWJVcmxcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2ltYWdlLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLG9DQUE4QztBQXlCOUM7SUFnQkUsMkJBQ1UsR0FBYSxFQUNkLE9BQWUsRUFDZixRQUFtQjtRQUZsQixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVc7UUFqQnJCLCtCQUEwQixHQUFHLHVCQUF1QixDQUFBO1FBRXBELDhCQUF5QixHQUE0QztZQUMxRSxlQUFlLEVBQUU7Z0JBQ2YsQ0FBQyxpQ0FBaUMsRUFBRSxvQkFBb0IsQ0FBQzthQUMxRDtZQUNELFNBQVMsRUFBRTtnQkFDVCxDQUFDLDBCQUEwQixFQUFFLG1DQUFtQyxDQUFDO2FBQ2xFO1NBQ0YsQ0FBQTtRQVVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQStCLENBQUE7SUFDdEYsQ0FBQztJQUdhLDZDQUFpQixHQUEvQixVQUFnQyxLQUF5Qjs7Ozs7O3dCQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO3dCQUVuQixNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTt3QkFFM0IsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDO2dDQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7Z0NBQ2hDLElBQUksRUFBRSxLQUFLO2dDQUNYLE1BQU0sRUFBRSxLQUFLOzZCQUNkLENBQUMsRUFBQTs7d0JBSkksR0FBRyxHQUFHLENBQUMsU0FJWCxDQUF3Qjt3QkFFMUIsV0FBTyxHQUFHLEVBQUE7Ozs7S0FDWDtJQUdPLHlDQUFhLEdBQXJCLFVBQXNCLEtBQXlCO1FBQzdDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQy9CO0lBQ0gsQ0FBQztJQUdPLDhDQUFrQixHQUExQixVQUEyQixLQUF5QjtRQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssOEJBQThCO1lBQUUsT0FBTTtRQUU1RCxJQUFZLFNBQVMsR0FBYSxLQUFLLFdBQWxCLEVBQUUsTUFBTSxHQUFLLEtBQUssT0FBVixDQUFVO1FBRS9DLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSwyQkFBa0IsQ0FDMUIsNERBQTRELEVBQzVELFlBQVksQ0FDYixDQUFBO1NBQ0Y7UUFDRCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixNQUFNLElBQUksMkJBQWtCLENBQzFCLHdEQUF3RCxFQUN4RCxRQUFRLENBQ1QsQ0FBQTtTQUNGO0lBQ0gsQ0FBQztJQU9PLHlDQUFhLEdBQXJCLFVBQXNCLEtBQXlCO1FBQzdDLElBQU0sS0FBSyxHQUFHLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDaEYsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBRXBGLElBQUksTUFBTTtZQUFFLE9BQU8sTUFBTSxDQUFBO1FBRXpCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDakMsTUFBTSxJQUFJLDJCQUFrQixDQUMxQix1RUFBNkIsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksT0FBTyxDQUFFLEVBQy9DLE9BQU8sQ0FDUixDQUFBO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQTtJQUN4QyxDQUFDO0lBRU8sMENBQWMsR0FBdEIsVUFBdUIsTUFBYztRQUNuQyxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsUUFBUSxjQUFJLE1BQU0sQ0FBRSxDQUFBO0lBQ3JELENBQUM7SUFNTyxrREFBc0IsR0FBOUIsVUFBK0IsUUFBZ0IsRUFBRSxLQUFhO1FBQzVELElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0RCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBRTVCLEtBQWdDLFVBQUssRUFBTCxlQUFLLEVBQUwsbUJBQUssRUFBTCxJQUFLLEVBQUU7WUFBNUIsSUFBQSxnQkFBaUIsRUFBaEIsT0FBTyxRQUFBLEVBQUUsTUFBTSxRQUFBO1lBQ3pCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxNQUFNLENBQUE7U0FDdkM7UUFFRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBQ0gsd0JBQUM7QUFBRCxDQUFDLEFBekdELElBeUdDO0FBekdZLDhDQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgTW9kZWxSZXEsXG4gIC8vIEltYWdlRWRpdElucHV0LFxuICBIdW55dWFuR2VuZXJhdGVJbWFnZUlucHV0LFxuICBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dCxcbiAgSHVueXVhbkFSR2VuZXJhdGVJbWFnZUlucHV0LFxuICBIdW55dWFuQVJHZW5lcmF0ZUltYWdlT3V0cHV0LFxuICBDbG91ZGJhc2VHZW5lcmF0ZUltYWdlSW5wdXQsXG4gIENsb3VkYmFzZUdlbmVyYXRlSW1hZ2VPdXRwdXQsXG4gIC8vIEh1bnl1YW5FZGl0SW1hZ2VJbnB1dCxcbiAgLy8gSHVueXVhbkVkaXRJbWFnZU91dHB1dCxcbn0gZnJvbSAnLi4vdHlwZSdcbmltcG9ydCB7IEludmFsaWRQYXJhbXNFcnJvciB9IGZyb20gJy4uL2Vycm9ycydcblxuaW50ZXJmYWNlIEh1bnl1YW5JbWFnZUdlbmVyYXRlRm4ge1xuICAoaW5wdXQ6IEh1bnl1YW5BUkdlbmVyYXRlSW1hZ2VJbnB1dCk6IFByb21pc2U8SHVueXVhbkFSR2VuZXJhdGVJbWFnZU91dHB1dD5cbiAgKGlucHV0OiBIdW55dWFuR2VuZXJhdGVJbWFnZUlucHV0KTogUHJvbWlzZTxIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dD5cbn1cblxudHlwZSBDbG91ZGJhc2VJbWFnZUdlbmVyYXRlRm4gPSAoaW5wdXQ6IENsb3VkYmFzZUdlbmVyYXRlSW1hZ2VJbnB1dCkgPT4gUHJvbWlzZTxDbG91ZGJhc2VHZW5lcmF0ZUltYWdlT3V0cHV0PlxuXG50eXBlIEdlbmVyYXRlSW1hZ2VJbnB1dCA9XG4gIHwgSHVueXVhbkFSR2VuZXJhdGVJbWFnZUlucHV0XG4gIHwgSHVueXVhbkdlbmVyYXRlSW1hZ2VJbnB1dFxuICB8IENsb3VkYmFzZUdlbmVyYXRlSW1hZ2VJbnB1dFxuXG50eXBlIEdlbmVyYXRlSW1hZ2VPdXRwdXQgPVxuICB8IEh1bnl1YW5BUkdlbmVyYXRlSW1hZ2VPdXRwdXRcbiAgfCBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dFxuICB8IENsb3VkYmFzZUdlbmVyYXRlSW1hZ2VPdXRwdXRcblxudHlwZSBHZW5lcmF0ZUltYWdlRm48VFByb3ZpZGVyPiA9IFRQcm92aWRlciBleHRlbmRzICdodW55dWFuLWltYWdlJ1xuICA/IEh1bnl1YW5JbWFnZUdlbmVyYXRlRm5cbiAgOiBUUHJvdmlkZXIgZXh0ZW5kcyAnY2xvdWRiYXNlJ1xuICAgID8gQ2xvdWRiYXNlSW1hZ2VHZW5lcmF0ZUZuXG4gICAgOiAoaW5wdXQ6IHVua25vd24pID0+IFByb21pc2U8dW5rbm93bj5cblxuZXhwb3J0IGNsYXNzIERlZmF1bHRJbWFnZU1vZGVsPFRQcm92aWRlciBleHRlbmRzIHN0cmluZz4ge1xuICAvKiog6buY6K6k5a2Q6Lev5b6E77yM5LuF5L2c5Li66ICBIHByb3ZpZGVy77yIJycvaHVueXVhbi1pbWFnZe+8ieeahOWFnOW6le+8jGNsb3VkYmFzZSDnrYnmlrAgcHJvdmlkZXIg5LiN5pSv5oyB5YWc5bqVICovXG4gIHB1YmxpYyBkZWZhdWx0R2VuZXJhdGVJbWFnZVN1YlVybCA9ICdpbWFnZXMvYXIvZ2VuZXJhdGlvbnMnXG5cbiAgcHVibGljIGdlbmVyYXRlSW1hZ2VTdWJVcmxDb25maWc6IFJlY29yZDxzdHJpbmcsIEFycmF5PFtSZWdFeHAsIHN0cmluZ10+PiA9IHtcbiAgICAnaHVueXVhbi1pbWFnZSc6IFtcbiAgICAgIFsvXmh1bnl1YW4taW1hZ2UoLXZbMTJdKFxcLi4qKT8pPyQvLCAnaW1hZ2VzL2dlbmVyYXRpb25zJ10sXG4gICAgXSxcbiAgICBjbG91ZGJhc2U6IFtcbiAgICAgIFsvXmh5LWltYWdlLXYzXFwuNS1wcmV2aWV3JC8sICd3YW5kL2h1bnl1YW4taW1hZ2UvdjM1LWdlbmVyYXRpb24nXSxcbiAgICBdLFxuICB9XG5cbiAgLyoqIOeUn+aIkOWbvueJhyAqL1xuICBwdWJsaWMgZ2VuZXJhdGVJbWFnZTogR2VuZXJhdGVJbWFnZUZuPFRQcm92aWRlcj5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcTogTW9kZWxSZXEsXG4gICAgcHVibGljIGJhc2VVcmw6IHN0cmluZyxcbiAgICBwdWJsaWMgcHJvdmlkZXI6IFRQcm92aWRlcixcbiAgKSB7XG4gICAgdGhpcy5nZW5lcmF0ZUltYWdlID0gdGhpcy5nZW5lcmF0ZUltYWdlSW1wbC5iaW5kKHRoaXMpIGFzIEdlbmVyYXRlSW1hZ2VGbjxUUHJvdmlkZXI+XG4gIH1cblxuICAvKiogZ2VuZXJhdGVJbWFnZSDnmoTlrp7pmYXlrp7njrAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZUltYWdlSW1wbChpbnB1dDogR2VuZXJhdGVJbWFnZUlucHV0KTogUHJvbWlzZTxHZW5lcmF0ZUltYWdlT3V0cHV0PiB7XG4gICAgdGhpcy52YWxpZGF0ZUlucHV0KGlucHV0KVxuXG4gICAgY29uc3Qgc3ViVXJsID0gdGhpcy5yZXNvbHZlU3ViVXJsKGlucHV0KVxuXG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy5nZXRHZW5lcmF0ZVVybChzdWJVcmwpLFxuICAgICAgZGF0YTogaW5wdXQsXG4gICAgICBzdHJlYW06IGZhbHNlLFxuICAgIH0pKSBhcyBHZW5lcmF0ZUltYWdlT3V0cHV0XG5cbiAgICByZXR1cm4gcmVzXG4gIH1cblxuICAvKiog5oyJIHByb3ZpZGVyIOaJp+ihjOWQhOiHqueahOWPguaVsOagoemqjCAqL1xuICBwcml2YXRlIHZhbGlkYXRlSW5wdXQoaW5wdXQ6IEdlbmVyYXRlSW1hZ2VJbnB1dCkge1xuICAgIGlmICh0aGlzLnByb3ZpZGVyID09PSAnJyB8fCB0aGlzLnByb3ZpZGVyID09PSAnaHVueXVhbi1pbWFnZScpIHtcbiAgICAgIHRoaXMuYXNzZXJ0SHVueXVhbklucHV0KGlucHV0KVxuICAgIH1cbiAgfVxuXG4gIC8qKiDlvZPmqKHlnovkuLogSFktSW1hZ2UtdjMuMC1JMkktVG9CLXYxLjAuMSDml7bvvIxpbWFnZV91cmxzIC8gaW1hZ2VzIOacgOWkmuWPquiDveaciSAxIOS4quWFg+e0oCAqL1xuICBwcml2YXRlIGFzc2VydEh1bnl1YW5JbnB1dChpbnB1dDogR2VuZXJhdGVJbWFnZUlucHV0KSB7XG4gICAgaWYgKCFpbnB1dCB8fCBpbnB1dC5tb2RlbCAhPT0gJ0hZLUltYWdlLXYzLjAtSTJJLVRvQi12MS4wLjEnKSByZXR1cm5cblxuICAgIGNvbnN0IHsgaW1hZ2VfdXJsczogaW1hZ2VVcmxzLCBpbWFnZXMgfSA9IGlucHV0XG5cbiAgICBpZiAoaW1hZ2VVcmxzICYmIGltYWdlVXJscy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtc0Vycm9yKFxuICAgICAgICAn5b2T5qih5Z6L5Li6IEhZLUltYWdlLXYzLjAtSTJJLVRvQi12MS4wLjEg5pe277yMaW1hZ2VfdXJscyDmnIDlpJrlj6rog73mnIkgMSDkuKrlhYPntKAnLFxuICAgICAgICAnaW1hZ2VfdXJscycsXG4gICAgICApXG4gICAgfVxuICAgIGlmIChpbWFnZXMgJiYgaW1hZ2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1zRXJyb3IoXG4gICAgICAgICflvZPmqKHlnovkuLogSFktSW1hZ2UtdjMuMC1JMkktVG9CLXYxLjAuMSDml7bvvIxpbWFnZXMg5pyA5aSa5Y+q6IO95pyJIDEg5Liq5YWD57SgJyxcbiAgICAgICAgJ2ltYWdlcycsXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOino+aekOeUn+aIkOWbvueJh+eahOWtkOi3r+W+hOOAglxuICAgKiDogIEgcHJvdmlkZXLvvIgnJy9odW55dWFuLWltYWdl77yJ5pyq5ZG95Lit6Lev55Sx5pe25YWc5bqV5Yiw6buY6K6k5a2Q6Lev5b6E77ybXG4gICAqIGNsb3VkYmFzZSDnrYnmlrAgcHJvdmlkZXIg5LiN5pSv5oyB6buY6K6k5a2Q6Lev5b6E77yM5qih5Z6L5pyq6YWN572u6Lev55Sx5pe255u05o6l5oql6ZSZ44CCXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVTdWJVcmwoaW5wdXQ6IEdlbmVyYXRlSW1hZ2VJbnB1dCk6IHN0cmluZyB7XG4gICAgY29uc3QgbW9kZWwgPSBpbnB1dCAmJiB0eXBlb2YgaW5wdXQubW9kZWwgPT09ICdzdHJpbmcnID8gaW5wdXQubW9kZWwgOiB1bmRlZmluZWRcbiAgICBjb25zdCBzdWJVcmwgPSBtb2RlbCA/IHRoaXMuZ2V0R2VuZXJhdGVJbWFnZVN1YlVybCh0aGlzLnByb3ZpZGVyLCBtb2RlbCkgOiB1bmRlZmluZWRcblxuICAgIGlmIChzdWJVcmwpIHJldHVybiBzdWJVcmxcblxuICAgIGlmICh0aGlzLnByb3ZpZGVyID09PSAnY2xvdWRiYXNlJykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbXNFcnJvcihcbiAgICAgICAgYGNsb3VkYmFzZSBwcm92aWRlciDkuI3mlK/mjIHnmoTmqKHlnovvvJoke21vZGVsID8/ICco5pyq5oyH5a6aKSd9YCxcbiAgICAgICAgJ21vZGVsJyxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0R2VuZXJhdGVJbWFnZVN1YlVybFxuICB9XG5cbiAgcHJpdmF0ZSBnZXRHZW5lcmF0ZVVybChzdWJVcmw6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dGhpcy5wcm92aWRlcn0vJHtzdWJVcmx9YFxuICB9XG5cbiAgLyoqXG4gICAqIOagueaNriBwcm92aWRlciDkuI4gbW9kZWwg6Kej5p6Q55Sf5oiQ5Zu+54mH55qE5a2Q6Lev5b6E44CCXG4gICAqIOaMiemFjee9rumhuuW6j+eUqCBSZWdFeHAg5Yy56YWN77yM5ZG95Lit5Y2z6L+U5Zue5a+55bqUIHN1YlVybOOAglxuICAgKi9cbiAgcHJpdmF0ZSBnZXRHZW5lcmF0ZUltYWdlU3ViVXJsKHByb3ZpZGVyOiBzdHJpbmcsIG1vZGVsOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJ1bGVzID0gdGhpcy5nZW5lcmF0ZUltYWdlU3ViVXJsQ29uZmlnW3Byb3ZpZGVyXVxuICAgIGlmICghcnVsZXMpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGZvciAoY29uc3QgW3BhdHRlcm4sIHN1YlVybF0gb2YgcnVsZXMpIHtcbiAgICAgIGlmIChwYXR0ZXJuLnRlc3QobW9kZWwpKSByZXR1cm4gc3ViVXJsXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG4iXX0=
@@ -157,6 +157,73 @@ export interface HunyuanARGenerateImageOutput {
157
157
  revised_prompt?: string;
158
158
  }>;
159
159
  }
160
+ export interface ChatContentPartText {
161
+ type: 'text';
162
+ text: string;
163
+ }
164
+ export interface ChatContentPartImageUrl {
165
+ type: 'image_url';
166
+ image_url: {
167
+ url: string;
168
+ };
169
+ is_generate?: boolean;
170
+ }
171
+ export type ChatContentPart = ChatContentPartText | ChatContentPartImageUrl;
172
+ export interface ChatMessage {
173
+ role: 'user' | 'assistant' | 'tool';
174
+ content?: ChatContentPart[];
175
+ reasoning?: string;
176
+ tool_calls?: ToolCall[];
177
+ tool_call_id?: string;
178
+ }
179
+ export interface CloudbaseGenerateImageInput {
180
+ model: 'hy-image-v3.5-preview';
181
+ messages: ChatMessage[];
182
+ size?: string;
183
+ seed?: number;
184
+ generate_max_pixels?: number;
185
+ resize_max_pixels?: number;
186
+ session?: string;
187
+ footnote?: string;
188
+ use_search_tool?: {
189
+ value: boolean;
190
+ };
191
+ }
192
+ export interface CloudbaseGenerateImageOutput {
193
+ id: string;
194
+ object: string;
195
+ created: number;
196
+ model: string;
197
+ round: number;
198
+ choices: Array<{
199
+ index: number;
200
+ delta: {
201
+ type?: string;
202
+ image?: {
203
+ url: string;
204
+ width: number;
205
+ height: number;
206
+ source: string;
207
+ tool_call_id: string;
208
+ };
209
+ };
210
+ finish_reason?: string | null;
211
+ }>;
212
+ usage?: {
213
+ total_tokens: number;
214
+ };
215
+ tokenhub_usage?: {
216
+ total_tokens: number;
217
+ };
218
+ request_id?: string;
219
+ assembled_history?: ChatMessage[];
220
+ error?: {
221
+ type: string;
222
+ code: string;
223
+ message: string;
224
+ request_id?: string;
225
+ };
226
+ }
160
227
  export type HunyuanEditImageInput = {
161
228
  model: 'hunyuan-image' | (string & {});
162
229
  prompt: string;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQztBQUpxQiwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PlxuXG4gIHB1YmxpYyBhYnN0cmFjdCBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD5cbn1cblxudHlwZSBSYXdSZXNwb25zZSA9IHsgcmF3UmVzcG9uc2U/OiBhbnkgfVxuXG5leHBvcnQgdHlwZSBEb0dlbmVyYXRlT3V0cHV0ID0gQmFzZURvR2VuZXJhdGVPdXRwdXQgJiBSYXdSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBEb1N0cmVhbU91dHB1dCA9IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIFJhd1Jlc3BvbnNlPlxuXG5leHBvcnQgdHlwZSBDaGF0TW9kZWxDb25zdHJ1Y3RvciA9IHR5cGVvZiBTaW1wbGVDaGF0TW9kZWxcblxuZXhwb3J0IHR5cGUgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPFQ+ID0gUmVhZGFibGVTdHJlYW08VD4gJiB7XG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl06ICgpID0+IHsgbmV4dCgpOiBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFQ+PiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW5cbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBNb2RlbFJlcSA9IDxUIGV4dGVuZHMgSU1vZGVsUmVxSW5wdXQ+KFxuICBwcm9wczogVCxcbikgPT4gVFsnc3RyZWFtJ10gZXh0ZW5kcyB0cnVlID8gUHJvbWlzZTxSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pj4gOiBQcm9taXNlPE9iamVjdD5cblxuZXhwb3J0IGludGVyZmFjZSBJQm90UmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBtZXRob2Q6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW5cbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcU9wdGlvbnMge1xuICB0aW1lb3V0PzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEJvdFJlcSA9IDxUIGV4dGVuZHMgSUJvdFJlcUlucHV0PihcbiAgcHJvcHM6IFQsXG4pID0+IFRbJ3N0cmVhbSddIGV4dGVuZHMgdHJ1ZSA/IFByb21pc2U8UmVhZGFibGVTdHJlYW08VWludDhBcnJheT4+IDogUHJvbWlzZTxPYmplY3Q+XG5cbmV4cG9ydCB0eXBlIFVzZXJNZXNzYWdlID0ge1xuICByb2xlOiAndXNlcidcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFN5c3RlbU1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdzeXN0ZW0nXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBBc3Npc3RhbnRNZXNzYWdlID0gUGxhaW5Bc3Npc3RhbnRNZXNzYWdlIHwgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlXG5cbmV4cG9ydCB0eXBlIFBsYWluQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgdG9vbF9jYWxsczogQXJyYXk8VG9vbENhbGw+XG4gIGNvbnRlbnQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVG9vbE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICd0b29sJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1vZGVsTWVzc2FnZSA9IFVzZXJNZXNzYWdlIHwgU3lzdGVtTWVzc2FnZSB8IEFzc2lzdGFudE1lc3NhZ2UgfCBUb29sTWVzc2FnZVxuXG5leHBvcnQgdHlwZSBGdW5jdGlvblRvb2wgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGZuOiBDYWxsYWJsZUZ1bmN0aW9uXG4gIHBhcmFtZXRlcnM6IG9iamVjdFxufVxuXG4vLyAjcmVnaW9uIOWkp+aooeWei+agh+WHhui+k+WFpeexu+Wei1xuZXhwb3J0IGludGVyZmFjZSBCYXNlQ2hhdE1vZGVsSW5wdXQge1xuICBtb2RlbDogc3RyaW5nXG4gIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPlxuICB0ZW1wZXJhdHVyZT86IG51bWJlclxuICB0b3BfcD86IG51bWJlclxuICB0b29scz86IEFycmF5PE1vZGVsVG9vbD5cbiAgdG9vbF9jaG9pY2U/OiAnbm9uZScgfCAnYXV0bycgfCAnY3VzdG9tJ1xufVxuXG4vKipcbiAqIOe7mSBMTE0g5Y+R6K+35rGC5pe26KaB5Lyg55qE5bel5YW3XG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVG9vbCA9IHtcbiAgdHlwZTogc3RyaW5nXG4gIGZ1bmN0aW9uOiBNb2RlbFRvb2xGdW5jdGlvblxufVxuXG4vKipcbiAqIOe7mSBMTE0g5Y+R6K+35rGC5pe26KaB5Lyg55qE5bel5YW35Ye95pWwXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVG9vbEZ1bmN0aW9uID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKipcbiAgICog5o+P6L+w5Ye95pWw5Y+C5pWw55qEIEpTT04gU2NoZW1hXG4gICAqL1xuICBwYXJhbWV0ZXJzOiBvYmplY3Rcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiDlpKfmqKHlnovmoIflh4blk43lupTnsbvlnotcbmV4cG9ydCB0eXBlIFRvb2xDYWxsID0ge1xuICBpZDogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBmdW5jdGlvbjogeyBuYW1lOiBzdHJpbmc7IGFyZ3VtZW50czogc3RyaW5nIH1cbn1cblxudHlwZSBGaW5pc2hSZWFzb24gPSAndG9vbF9jYWxscycgfCAoc3RyaW5nICYge30pXG5cbmV4cG9ydCB0eXBlIFVzYWdlID0ge1xuICBjb21wbGV0aW9uX3Rva2VuczogbnVtYmVyXG4gIHByb21wdF90b2tlbnM6IG51bWJlclxuICB0b3RhbF90b2tlbnM6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEb0dlbmVyYXRlT3V0cHV0IHtcbiAgY2hvaWNlcz86IEFycmF5PHtcbiAgICBmaW5pc2hfcmVhc29uPzogRmluaXNoUmVhc29uXG4gICAgbWVzc2FnZT86IENoYXRNb2RlbE1lc3NhZ2VcbiAgfT5cbiAgdXNhZ2U/OiBVc2FnZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEb1N0cmVhbU91dHB1dENodW5rIHtcbiAgY2hvaWNlcz86IEFycmF5PHtcbiAgICBmaW5pc2hfcmVhc29uPzogRmluaXNoUmVhc29uXG4gICAgZGVsdGE/OiBDaGF0TW9kZWxNZXNzYWdlXG4gIH0+XG4gIHVzYWdlPzogVXNhZ2Vcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiBJbWFnZSBNb2RlbCBUeXBlc1xuLyoqXG4gKiDlm77niYfnlJ/miJDovpPlhaXlj4LmlbBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZUdlbmVyYXRlSW5wdXQge1xuICBtb2RlbDogc3RyaW5nIC8vIOaooeWei+WQjeensO+8jOS+i+WmgiAnaHVueXVhbi1pbWFnZSfjgIEnZGFsbC1lLTMnXG4gIHByb21wdDogc3RyaW5nIC8vIOeUqOS6juaPj+i/sOimgeeUn+aIkOeahOWbvueJh+WGheWuuVxuICBzaXplPzogc3RyaW5nIC8vIOWwuuWvuFxuICBuPzogbnVtYmVyIC8vIOW8oOaVsFxuICBba2V5OiBzdHJpbmddOiB1bmtub3duIC8vIOWFgeiuuOmineWklueahOWOguWVhueJueWumuWPguaVsFxufVxuXG4vKipcbiAqIOWbvueJh+e8lui+kei+k+WFpeWPguaVsFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRWRpdElucHV0IHtcbiAgbW9kZWw6IHN0cmluZ1xuICBwcm9tcHQ6IHN0cmluZ1xuICBzaXplPzogc3RyaW5nIC8vIOWwuuWvuFxuICBuPzogbnVtYmVyIC8vIOW8oOaVsFxuICBba2V5OiBzdHJpbmddOiB1bmtub3duIC8vIOWFgeiuuOmineWklueahOWOguWVhueJueWumuWPguaVsFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh1bnl1YW5HZW5lcmF0ZUltYWdlSW5wdXQge1xuICBtb2RlbDogJ2h1bnl1YW4taW1hZ2UnXG4gIC8qKiDnlKjmnaXnlJ/miJDlm77lg4/nmoTmlofmnKzmj4/ov7AgKi9cbiAgcHJvbXB0OiBzdHJpbmdcbiAgLyoqXG4gICAqIOaooeWei+eJiOacrO+8jOaUr+aMgSB2MS44LjEg5ZKMIHYxLjnvvIzpu5jorqTniYjmnKwgdjEuOC4xXG4gICAqIC0gdjEuOC4xOiDph4fnlKjkuozpmLbmrrXmqKHlnovmlK/mjIHmlofnlJ/lm77ku7vliqHvvIzpkojlr7nlm77lg4/nu4boioLjgIHnqLPlrprmgKfnrYnopoHmsYLpq5jnmoTku7vliqHovoPkuLrlkIjpgIJcbiAgICogLSB2MS45OiDph4fnlKjmqKHlnovnn6npmLXog73lipvmlK/mjIHmlofnlJ/lm77ku7vliqHvvIzlkI7nq6/nlLHkurrlg4/jgIHmuLjmiI/jgIHpgJrnlKjmqKHlnovvvIzku6Xlj4rlkITnsbvlip/og73mj5Lku7bnu4TmiJDvvIzngbXmtLvpgILphY3lpJrnp43mlofnlJ/lm77ku7vliqFcbiAgICovXG4gIHZlcnNpb24/OiAndjEuOC4xJyB8ICd2MS45JyB8IChzdHJpbmcgJiB7fSlcbiAgLyoqXG4gICAqIOWbvueJh+WwuuWvuO+8jOm7mOiupCBcIjEwMjR4MTAyNFwiXG4gICAqIHYxLjkg5LuF5pSv5oyB5Lul5LiL5Yeg5Liq5bC65a+477yaXG4gICAqIC0gMTAyNHgxMDI0XG4gICAqIC0gMTAyNHg3NjgsIDExNTJ4ODY0XG4gICAqIC0gNzY4eDEwMjQsIDg2NHgxMTUyXG4gICAqIC0gMTI4MHg3NjggKDE2OjkpXG4gICAqIC0gNzY4eDEyODAgKDk6MTYpXG4gICAqIC0gMTI4MHg3MjAgKDE2OjkpXG4gICAqIC0gNzIweDEyODAgKDk6MTYpXG4gICAqXG4gICAqIOaUr+aMgeeUqOaIt+iHquWumuS5ieWwuuWvuO+8jOS9hui+k+WFpeWwuuWvuOWPquaUr+aMgSA3NjgtMTI4MCDkuYvpl7TkuJTkuLogNjQg55qE5YCN5pWw55qE5pWw5a2XXG4gICAqL1xuICBzaXplPzogc3RyaW5nXG4gIC8qKlxuICAgKiDku4UgdjEuOSDmlK/mjIHvvIzotJ/lkJHor41cbiAgICog5aaC5p6c5LiN5Lyg5YiZ5L2/55So5ZCE5Liq5qih5Z6L5YaF6YOo55qE6buY6K6k6LSf5ZCR6K+NXG4gICAqL1xuICBuZWdhdGl2ZV9wcm9tcHQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOS7hSB2MS45IOaUr+aMge+8jOWPr+aMh+WumumjjuagvO+8mlxuICAgKiAtIOWPpOmjjuS6jOasoeWFg+mjjuagvFxuICAgKiAtIOmDveW4guS6jOasoeWFg+mjjuagvFxuICAgKiAtIOaCrOeWkemjjuagvFxuICAgKiAtIOagoeWbremjjuagvFxuICAgKiAtIOmDveW4guW8guiDvemjjuagvFxuICAgKi9cbiAgc3R5bGU/OiAn5Y+k6aOO5LqM5qyh5YWD6aOO5qC8JyB8ICfpg73luILkuozmrKHlhYPpo47moLwnIHwgJ+aCrOeWkemjjuagvCcgfCAn5qCh5Zut6aOO5qC8JyB8ICfpg73luILlvILog73po47moLwnIHwgKHN0cmluZyAmIHt9KVxuICAvKipcbiAgICog5Li6IHRydWUg5pe25a+5IHByb21wdCDov5vooYzmlLnlhpnvvIzlrp7pmYXnlJ/miJDnmoTlm77niYfkvJrkvb/nlKjmlLnlhpnlkI7nmoQgcHJvbXB0IOi/m+ihjOeUn+aIkFxuICAgKiDlpJrmlbDlnLrmma/lj6/mj5DljYfnlJ/miJDnmoTlm77niYfmlYjmnpzvvIzpu5jorqTkuLogdHJ1ZVxuICAgKi9cbiAgcmV2aXNlPzogYm9vbGVhblxuICAvKipcbiAgICog55Sf5oiQ5Zu+54mH5Liq5pWw77yM6buY6K6k5Li6IDFcbiAgICog55uu5YmN5Y+q5pSv5oyB55Sf5oiQ5LiA5byg77yM5Zu65a6a5Li6IDHvvIzkvKDlhbbku5bnmoTlgLzkvJrmiqXplJlcbiAgICovXG4gIG4/OiBudW1iZXJcbiAgLyoqXG4gICAqIOS4muWKoeiHquWumuS5ieawtOWNsOWGheWuuVxuICAgKiDpmZDliLYgMTYg5Liq5a2X56ym6ZW/5bqm77yI5LiN5Yy65YiG5Lit6Iux5paH77yJ77yM55Sf5oiQ5Zyo5Zu+54mH5Y+z5LiL6KeSXG4gICAqL1xuICBmb290bm90ZT86IHN0cmluZ1xuICAvKipcbiAgICog55Sf5oiQ56eN5a2Q77yM5LuF5b2T55Sf5oiQ5Zu+54mH5pWw5Li6IDEg5pe255Sf5pWIXG4gICAqIOiMg+WbtCBbMSwgNDI5NDk2NzI5NV3vvIzkuI3kvKDml7bpu5jorqTpmo/mnLpcbiAgICovXG4gIHNlZWQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuQVJHZW5lcmF0ZUltYWdlSW5wdXQge1xuICAvKiog5qih5Z6L5ZCN56ew77yaaHVueXVhbi1pbWFnZS12My4wLXYxLjAuNO+8iOaOqOiNkO+8ieaIliBodW55dWFuLWltYWdlLXYzLjAtdjEuMC4xICovXG4gIG1vZGVsOlxuICB8ICdIWS1JbWFnZS0zLjAtUGx1cy00MDkwLVRvYi12MS4wJ1xuICB8ICdIWS1JbWFnZS12My4wLUkySS1Ub0ItdjEuMC4xJ1xuICB8ICdodW55dWFuLWltYWdlLXYzLjAtdjEuMC40J1xuICB8ICdodW55dWFuLWltYWdlLXYzLjAtdjEuMC4xJ1xuICB8ICdodW55dWFuLWltYWdlLXYzLjAtdjEuMC41J1xuICAvKiog55Sf5oiQ5Zu+54mH5L2/55So55qE5paH5pys77yM5LiN6LaF6L+HIDgxOTIg5a2X56ymICovXG4gIHByb21wdDogc3RyaW5nXG4gIC8qKlxuICAgKiDlm77niYflsLrlr7jvvIzmoLzlvI8gXCIke+WuvX14JHvpq5h9XCLvvIzpu5jorqQgXCIxMDI0eDEwMjRcIlxuICAgKiBIWS1JbWFnZS0zLjAtUGx1cy00MDkwLVRvYi12MS4wIGh1bnl1YW4taW1hZ2UtdjMuMC12MS4wLjTvvJrlrr3pq5ggWzUxMiwgMjA0OF3vvIzpnaLnp6/kuI3otoXov4cgMTAyNHgxMDI0XG4gICAqIGh1bnl1YW4taW1hZ2UtdjMuMC12MS4wLjHvvJrmlK/mjIHlm7rlrprlsLrlr7jliJfooahcbiAgICovXG4gIHNpemU/OiBzdHJpbmdcbiAgLyoqIOeUn+aIkOenjeWtkO+8jOS7heW9k+eUn+aIkOWbvueJh+aVsOS4uiAxIOaXtueUn+aViO+8jOiMg+WbtCBbMSwgNDI5NDk2NzI5NV0gKi9cbiAgc2VlZD86IG51bWJlclxuICAvKiog5Lia5Yqh6Ieq5a6a5LmJ5rC05Y2w5YaF5a6577yM6ZmQ5Yi2IDE2IOWtl+espu+8jOeUn+aIkOWcqOWbvueJh+WPs+S4i+inkiAqL1xuICBmb290bm90ZT86IHN0cmluZ1xuICAvKiog5piv5ZCm5a+5IHByb21wdCDmlLnlhpnvvIzpu5jorqTlvIDlkK/jgILmlLnlhpnkvJrlop7liqDnuqYgMzBzIOiAl+aXtiAqL1xuICByZXZpc2U/OiB7IHZhbHVlOiBib29sZWFuIH1cbiAgLyoqIOaUueWGmeaYr+WQpuW8gOWQryB0aGlua2luZyDmqKHlvI/vvIzpu5jorqTlvIDlkK/jgILlvIDlkK/lkI7mlYjmnpzmj5DljYfkvYbogJfml7blop7liqDvvIjmnIDlpKcgNjBz77yJICovXG4gIGVuYWJsZV90aGlua2luZz86IHsgdmFsdWU6IGJvb2xlYW4gfVxuICAvKipcbiAgICog5Z6r5Zu+dXJs5YiX6KGo77yM5LiOaW1hZ2XkuozpgInkuIDvvIzkvJjlhYjpgIlpbWFnZe+8jOWkp+Wwj+S4jei2hei/hzEwTULvvIzmlK/mjIEganBnIGpwZWcgcG5nIOagvOW8j++8jOacgOWkmjPlvKDlm77vvIxpbWFnZV91cmxz5ZKMaW1hZ2Vz5b+F5pyJ5LiA5Liq6Z2e56m6XG4gICAqL1xuICBpbWFnZV91cmxzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIOWeq+WbvmJhc2U2NOWIl+ihqO+8jOS4jmltYWdlX3VybOS6jOmAieS4gO+8jOS8mOWFiOmAiWltYWdl77yM5aSn5bCP5LiN6LaF6L+HMTBNQu+8jOaUr+aMgSBqcGcganBlZyBwbmcg5qC85byP77yM5pyA5aSaM+W8oOWbvlxuICAgKi9cbiAgaW1hZ2VzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuQVJHZW5lcmF0ZUltYWdlT3V0cHV0IHtcbiAgLyoqIOatpOasoeivt+axgueahCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB1bml4IOaXtumXtOaIsyAqL1xuICBjcmVhdGVkOiBudW1iZXJcbiAgLyoqIOi/lOWbnueahOWbvueJh+eUn+aIkOWGheWuuSAqL1xuICBkYXRhOiBBcnJheTx7XG4gICAgLyoqIOeUn+aIkOeahOWbvueJhyB1cmzvvIzmnInmlYjmnJ8gMjQg5bCP5pe2ICovXG4gICAgdXJsOiBzdHJpbmdcbiAgICAvKiog5pS55YaZ5ZCO55qEIHByb21wdCAqL1xuICAgIHJldmlzZWRfcHJvbXB0Pzogc3RyaW5nXG4gIH0+XG59XG5cbmV4cG9ydCB0eXBlIEh1bnl1YW5FZGl0SW1hZ2VJbnB1dCA9IHtcbiAgLyoqIOaooeWei+WQjeensO+8jOacrOacn+S4uiBodW55dWFuLWltYWdl77yM5Y2z5Li65ZWG5ZOB5Zu+57yW6L6R5Zy65pmvICovXG4gIG1vZGVsOiAnaHVueXVhbi1pbWFnZScgfCAoc3RyaW5nICYge30pXG4gIC8qKiDnvJbovpHnmoTmlofmnKzmj4/ov7AgKi9cbiAgcHJvbXB0OiBzdHJpbmdcbiAgLyoqIOaooeWei+eJiOacrCAqL1xuICB2ZXJzaW9uPzogc3RyaW5nXG4gIC8qKlxuICAgKiDlm77niYflsLrlr7jvvIzpu5jorqQgXCI4MDB4ODAwXCJcbiAgICog5pSv5oyB55So5oi36Ieq5a6a5LmJ5bC65a+477yM5L2G6L6T5YWl5bC65a+45Y+q5pSv5oyBIDUxMi0xMjgwIOS5i+mXtFxuICAgKiDnm67liY3lj6rmlK/mjIEgMTox44CBMTY6OeOAgTk6MTYg5LiJ5Liq5bC65a+4XG4gICAqL1xuICBzaXplPzogc3RyaW5nXG4gIC8qKlxuICAgKiDnlJ/miJDlm77niYfkuKrmlbDvvIzpu5jorqTkuLogMVxuICAgKiDnm67liY3lj6rmlK/mjIHnlJ/miJDkuIDlvKDvvIzlm7rlrprkuLogMe+8jOS8oOWFtuS7lueahOWAvOS8muaKpemUmVxuICAgKi9cbiAgbj86IG51bWJlclxuICAvKipcbiAgICogYmV0YSDlj4LmlbDvvIzpmo/mnLrnp43lrZBcbiAgICog6IyD5Zu0IFsxLCA0Mjk0OTY3Mjk1Xe+8jOS4jeS8oOaXtum7mOiupOmaj+aculxuICAgKi9cbiAgc2VlZD86IG51bWJlclxuICAvKipcbiAgICog5Lia5Yqh6Ieq5a6a5LmJ6KeS5qCH5YaF5a65XG4gICAqIOmZkOWItiAxNiDkuKrlrZfnrKbplb/luqbvvIjkuI3ljLrliIbkuK3oi7HmlofvvIlcbiAgICovXG4gIGZvb3Rub3RlPzogc3RyaW5nXG4gIC8qKlxuICAgKiDlm74gYmFzZTY0IOe8luegge+8jOWkp+Wwj+S4jei2hei/hyA2TVxuICAgKiDmlK/mjIEganBnL2pwZWcg5qC85byP77yM5ZKMIGltYWdlX3VybCDkuozpgInkuIBcbiAgICog6ZW/55+t6L655q+U5L6L6KaB5rGCIDI6MSDlhoVcbiAgICovXG4gIGltYWdlPzogc3RyaW5nXG4gIC8qKlxuICAgKiDlm77niYcgdXJsXG4gICAqIOmVv+efrei+ueavlOS+i+imgeaxgiAyOjEg5YaF77yM5ZKMIGltYWdlIOS6jOmAieS4gFxuICAgKi9cbiAgaW1hZ2VfdXJsPzogc3RyaW5nXG59ICYgKFxuICB8IHtcbiAgICBtYXNrOiBzdHJpbmdcbiAgICBtYXNrX3VybD86IG5ldmVyXG4gIH1cbiAgfCB7XG4gICAgbWFzaz86IG5ldmVyXG4gICAgbWFza191cmw6IHN0cmluZ1xuICB9XG4pXG5cbi8qKlxuICog5re35YWD5Zu+54mH55Sf5oiQ6L6T5Ye6XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHVueXVhbkdlbmVyYXRlSW1hZ2VPdXRwdXQge1xuICAvKiog5q2k5qyh6K+35rGC55qEIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHVuaXgg5pe26Ze05oizICovXG4gIGNyZWF0ZWQ6IG51bWJlclxuICAvKiog6L+U5Zue55qE5Zu+54mH55Sf5oiQ5YaF5a65ICovXG4gIGRhdGE6IEFycmF5PHtcbiAgICAvKiog55Sf5oiQ55qE5Zu+54mHIHVybO+8jOacieaViOacn+S4uiAyNCDlsI/ml7YgKi9cbiAgICB1cmw6IHN0cmluZ1xuICAgIC8qKiDljp8gcHJvbXB0IOaUueWGmeWQjueahOaWh+acrOOAguiLpSByZXZpc2Ug5Li6IGZhbHNl77yM5YiZ5Li65Y6fIHByb21wdCAqL1xuICAgIHJldmlzZWRfcHJvbXB0Pzogc3RyaW5nXG4gIH0+XG59XG5cbi8qKlxuICog5re35YWD5Zu+54mH57yW6L6R6L6T5Ye6XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHVueXVhbkVkaXRJbWFnZU91dHB1dCB7XG4gIC8qKiDmraTmrKHor7fmsYLnmoQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdW5peCDml7bpl7TmiLMgKi9cbiAgY3JlYXRlZDogbnVtYmVyXG4gIC8qKiDov5Tlm57nmoTlm77niYfnlJ/miJDlhoXlrrkgKi9cbiAgZGF0YTogQXJyYXk8e1xuICAgIC8qKiDnlJ/miJDnmoTlm77niYcgdXJs77yM5pyJ5pWI5pyf5Li6IDI0IOWwj+aXtiAqL1xuICAgIHVybDogc3RyaW5nXG4gIH0+XG59XG5cbi8vICNlbmRyZWdpb25cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQztBQUpxQiwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTaW1wbGVDaGF0TW9kZWwge1xuICBwdWJsaWMgYWJzdHJhY3QgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PlxuXG4gIHB1YmxpYyBhYnN0cmFjdCBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD5cbn1cblxudHlwZSBSYXdSZXNwb25zZSA9IHsgcmF3UmVzcG9uc2U/OiBhbnkgfVxuXG5leHBvcnQgdHlwZSBEb0dlbmVyYXRlT3V0cHV0ID0gQmFzZURvR2VuZXJhdGVPdXRwdXQgJiBSYXdSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBEb1N0cmVhbU91dHB1dCA9IEFzeW5jSXRlcmFibGVSZWFkYWJsZVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIFJhd1Jlc3BvbnNlPlxuXG5leHBvcnQgdHlwZSBDaGF0TW9kZWxDb25zdHJ1Y3RvciA9IHR5cGVvZiBTaW1wbGVDaGF0TW9kZWxcblxuZXhwb3J0IHR5cGUgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPFQ+ID0gUmVhZGFibGVTdHJlYW08VD4gJiB7XG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl06ICgpID0+IHsgbmV4dCgpOiBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFQ+PiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW5cbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBNb2RlbFJlcSA9IDxUIGV4dGVuZHMgSU1vZGVsUmVxSW5wdXQ+KFxuICBwcm9wczogVCxcbikgPT4gVFsnc3RyZWFtJ10gZXh0ZW5kcyB0cnVlID8gUHJvbWlzZTxSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pj4gOiBQcm9taXNlPE9iamVjdD5cblxuZXhwb3J0IGludGVyZmFjZSBJQm90UmVxSW5wdXQge1xuICB1cmw6IHN0cmluZ1xuICBtZXRob2Q6IHN0cmluZ1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICBkYXRhPzogT2JqZWN0XG4gIHN0cmVhbT86IGJvb2xlYW5cbiAgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcU9wdGlvbnMge1xuICB0aW1lb3V0PzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEJvdFJlcSA9IDxUIGV4dGVuZHMgSUJvdFJlcUlucHV0PihcbiAgcHJvcHM6IFQsXG4pID0+IFRbJ3N0cmVhbSddIGV4dGVuZHMgdHJ1ZSA/IFByb21pc2U8UmVhZGFibGVTdHJlYW08VWludDhBcnJheT4+IDogUHJvbWlzZTxPYmplY3Q+XG5cbmV4cG9ydCB0eXBlIFVzZXJNZXNzYWdlID0ge1xuICByb2xlOiAndXNlcidcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFN5c3RlbU1lc3NhZ2UgPSB7XG4gIHJvbGU6ICdzeXN0ZW0nXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBBc3Npc3RhbnRNZXNzYWdlID0gUGxhaW5Bc3Npc3RhbnRNZXNzYWdlIHwgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlXG5cbmV4cG9ydCB0eXBlIFBsYWluQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgY29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgcm9sZTogJ2Fzc2lzdGFudCdcbiAgdG9vbF9jYWxsczogQXJyYXk8VG9vbENhbGw+XG4gIGNvbnRlbnQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVG9vbE1lc3NhZ2UgPSB7XG4gIHJvbGU6ICd0b29sJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1vZGVsTWVzc2FnZSA9IFVzZXJNZXNzYWdlIHwgU3lzdGVtTWVzc2FnZSB8IEFzc2lzdGFudE1lc3NhZ2UgfCBUb29sTWVzc2FnZVxuXG5leHBvcnQgdHlwZSBGdW5jdGlvblRvb2wgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGZuOiBDYWxsYWJsZUZ1bmN0aW9uXG4gIHBhcmFtZXRlcnM6IG9iamVjdFxufVxuXG4vLyAjcmVnaW9uIOWkp+aooeWei+agh+WHhui+k+WFpeexu+Wei1xuZXhwb3J0IGludGVyZmFjZSBCYXNlQ2hhdE1vZGVsSW5wdXQge1xuICBtb2RlbDogc3RyaW5nXG4gIG1lc3NhZ2VzOiBBcnJheTxDaGF0TW9kZWxNZXNzYWdlPlxuICB0ZW1wZXJhdHVyZT86IG51bWJlclxuICB0b3BfcD86IG51bWJlclxuICB0b29scz86IEFycmF5PE1vZGVsVG9vbD5cbiAgdG9vbF9jaG9pY2U/OiAnbm9uZScgfCAnYXV0bycgfCAnY3VzdG9tJ1xufVxuXG4vKipcbiAqIOe7mSBMTE0g5Y+R6K+35rGC5pe26KaB5Lyg55qE5bel5YW3XG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVG9vbCA9IHtcbiAgdHlwZTogc3RyaW5nXG4gIGZ1bmN0aW9uOiBNb2RlbFRvb2xGdW5jdGlvblxufVxuXG4vKipcbiAqIOe7mSBMTE0g5Y+R6K+35rGC5pe26KaB5Lyg55qE5bel5YW35Ye95pWwXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsVG9vbEZ1bmN0aW9uID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKipcbiAgICog5o+P6L+w5Ye95pWw5Y+C5pWw55qEIEpTT04gU2NoZW1hXG4gICAqL1xuICBwYXJhbWV0ZXJzOiBvYmplY3Rcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiDlpKfmqKHlnovmoIflh4blk43lupTnsbvlnotcbmV4cG9ydCB0eXBlIFRvb2xDYWxsID0ge1xuICBpZDogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBmdW5jdGlvbjogeyBuYW1lOiBzdHJpbmc7IGFyZ3VtZW50czogc3RyaW5nIH1cbn1cblxudHlwZSBGaW5pc2hSZWFzb24gPSAndG9vbF9jYWxscycgfCAoc3RyaW5nICYge30pXG5cbmV4cG9ydCB0eXBlIFVzYWdlID0ge1xuICBjb21wbGV0aW9uX3Rva2VuczogbnVtYmVyXG4gIHByb21wdF90b2tlbnM6IG51bWJlclxuICB0b3RhbF90b2tlbnM6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEb0dlbmVyYXRlT3V0cHV0IHtcbiAgY2hvaWNlcz86IEFycmF5PHtcbiAgICBmaW5pc2hfcmVhc29uPzogRmluaXNoUmVhc29uXG4gICAgbWVzc2FnZT86IENoYXRNb2RlbE1lc3NhZ2VcbiAgfT5cbiAgdXNhZ2U/OiBVc2FnZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEb1N0cmVhbU91dHB1dENodW5rIHtcbiAgY2hvaWNlcz86IEFycmF5PHtcbiAgICBmaW5pc2hfcmVhc29uPzogRmluaXNoUmVhc29uXG4gICAgZGVsdGE/OiBDaGF0TW9kZWxNZXNzYWdlXG4gIH0+XG4gIHVzYWdlPzogVXNhZ2Vcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiBJbWFnZSBNb2RlbCBUeXBlc1xuLyoqXG4gKiDlm77niYfnlJ/miJDovpPlhaXlj4LmlbBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZUdlbmVyYXRlSW5wdXQge1xuICBtb2RlbDogc3RyaW5nIC8vIOaooeWei+WQjeensO+8jOS+i+WmgiAnaHVueXVhbi1pbWFnZSfjgIEnZGFsbC1lLTMnXG4gIHByb21wdDogc3RyaW5nIC8vIOeUqOS6juaPj+i/sOimgeeUn+aIkOeahOWbvueJh+WGheWuuVxuICBzaXplPzogc3RyaW5nIC8vIOWwuuWvuFxuICBuPzogbnVtYmVyIC8vIOW8oOaVsFxuICBba2V5OiBzdHJpbmddOiB1bmtub3duIC8vIOWFgeiuuOmineWklueahOWOguWVhueJueWumuWPguaVsFxufVxuXG4vKipcbiAqIOWbvueJh+e8lui+kei+k+WFpeWPguaVsFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRWRpdElucHV0IHtcbiAgbW9kZWw6IHN0cmluZ1xuICBwcm9tcHQ6IHN0cmluZ1xuICBzaXplPzogc3RyaW5nIC8vIOWwuuWvuFxuICBuPzogbnVtYmVyIC8vIOW8oOaVsFxuICBba2V5OiBzdHJpbmddOiB1bmtub3duIC8vIOWFgeiuuOmineWklueahOWOguWVhueJueWumuWPguaVsFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh1bnl1YW5HZW5lcmF0ZUltYWdlSW5wdXQge1xuICBtb2RlbDogJ2h1bnl1YW4taW1hZ2UnXG4gIC8qKiDnlKjmnaXnlJ/miJDlm77lg4/nmoTmlofmnKzmj4/ov7AgKi9cbiAgcHJvbXB0OiBzdHJpbmdcbiAgLyoqXG4gICAqIOaooeWei+eJiOacrO+8jOaUr+aMgSB2MS44LjEg5ZKMIHYxLjnvvIzpu5jorqTniYjmnKwgdjEuOC4xXG4gICAqIC0gdjEuOC4xOiDph4fnlKjkuozpmLbmrrXmqKHlnovmlK/mjIHmlofnlJ/lm77ku7vliqHvvIzpkojlr7nlm77lg4/nu4boioLjgIHnqLPlrprmgKfnrYnopoHmsYLpq5jnmoTku7vliqHovoPkuLrlkIjpgIJcbiAgICogLSB2MS45OiDph4fnlKjmqKHlnovnn6npmLXog73lipvmlK/mjIHmlofnlJ/lm77ku7vliqHvvIzlkI7nq6/nlLHkurrlg4/jgIHmuLjmiI/jgIHpgJrnlKjmqKHlnovvvIzku6Xlj4rlkITnsbvlip/og73mj5Lku7bnu4TmiJDvvIzngbXmtLvpgILphY3lpJrnp43mlofnlJ/lm77ku7vliqFcbiAgICovXG4gIHZlcnNpb24/OiAndjEuOC4xJyB8ICd2MS45JyB8IChzdHJpbmcgJiB7fSlcbiAgLyoqXG4gICAqIOWbvueJh+WwuuWvuO+8jOm7mOiupCBcIjEwMjR4MTAyNFwiXG4gICAqIHYxLjkg5LuF5pSv5oyB5Lul5LiL5Yeg5Liq5bC65a+477yaXG4gICAqIC0gMTAyNHgxMDI0XG4gICAqIC0gMTAyNHg3NjgsIDExNTJ4ODY0XG4gICAqIC0gNzY4eDEwMjQsIDg2NHgxMTUyXG4gICAqIC0gMTI4MHg3NjggKDE2OjkpXG4gICAqIC0gNzY4eDEyODAgKDk6MTYpXG4gICAqIC0gMTI4MHg3MjAgKDE2OjkpXG4gICAqIC0gNzIweDEyODAgKDk6MTYpXG4gICAqXG4gICAqIOaUr+aMgeeUqOaIt+iHquWumuS5ieWwuuWvuO+8jOS9hui+k+WFpeWwuuWvuOWPquaUr+aMgSA3NjgtMTI4MCDkuYvpl7TkuJTkuLogNjQg55qE5YCN5pWw55qE5pWw5a2XXG4gICAqL1xuICBzaXplPzogc3RyaW5nXG4gIC8qKlxuICAgKiDku4UgdjEuOSDmlK/mjIHvvIzotJ/lkJHor41cbiAgICog5aaC5p6c5LiN5Lyg5YiZ5L2/55So5ZCE5Liq5qih5Z6L5YaF6YOo55qE6buY6K6k6LSf5ZCR6K+NXG4gICAqL1xuICBuZWdhdGl2ZV9wcm9tcHQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOS7hSB2MS45IOaUr+aMge+8jOWPr+aMh+WumumjjuagvO+8mlxuICAgKiAtIOWPpOmjjuS6jOasoeWFg+mjjuagvFxuICAgKiAtIOmDveW4guS6jOasoeWFg+mjjuagvFxuICAgKiAtIOaCrOeWkemjjuagvFxuICAgKiAtIOagoeWbremjjuagvFxuICAgKiAtIOmDveW4guW8guiDvemjjuagvFxuICAgKi9cbiAgc3R5bGU/OiAn5Y+k6aOO5LqM5qyh5YWD6aOO5qC8JyB8ICfpg73luILkuozmrKHlhYPpo47moLwnIHwgJ+aCrOeWkemjjuagvCcgfCAn5qCh5Zut6aOO5qC8JyB8ICfpg73luILlvILog73po47moLwnIHwgKHN0cmluZyAmIHt9KVxuICAvKipcbiAgICog5Li6IHRydWUg5pe25a+5IHByb21wdCDov5vooYzmlLnlhpnvvIzlrp7pmYXnlJ/miJDnmoTlm77niYfkvJrkvb/nlKjmlLnlhpnlkI7nmoQgcHJvbXB0IOi/m+ihjOeUn+aIkFxuICAgKiDlpJrmlbDlnLrmma/lj6/mj5DljYfnlJ/miJDnmoTlm77niYfmlYjmnpzvvIzpu5jorqTkuLogdHJ1ZVxuICAgKi9cbiAgcmV2aXNlPzogYm9vbGVhblxuICAvKipcbiAgICog55Sf5oiQ5Zu+54mH5Liq5pWw77yM6buY6K6k5Li6IDFcbiAgICog55uu5YmN5Y+q5pSv5oyB55Sf5oiQ5LiA5byg77yM5Zu65a6a5Li6IDHvvIzkvKDlhbbku5bnmoTlgLzkvJrmiqXplJlcbiAgICovXG4gIG4/OiBudW1iZXJcbiAgLyoqXG4gICAqIOS4muWKoeiHquWumuS5ieawtOWNsOWGheWuuVxuICAgKiDpmZDliLYgMTYg5Liq5a2X56ym6ZW/5bqm77yI5LiN5Yy65YiG5Lit6Iux5paH77yJ77yM55Sf5oiQ5Zyo5Zu+54mH5Y+z5LiL6KeSXG4gICAqL1xuICBmb290bm90ZT86IHN0cmluZ1xuICAvKipcbiAgICog55Sf5oiQ56eN5a2Q77yM5LuF5b2T55Sf5oiQ5Zu+54mH5pWw5Li6IDEg5pe255Sf5pWIXG4gICAqIOiMg+WbtCBbMSwgNDI5NDk2NzI5NV3vvIzkuI3kvKDml7bpu5jorqTpmo/mnLpcbiAgICovXG4gIHNlZWQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuQVJHZW5lcmF0ZUltYWdlSW5wdXQge1xuICAvKiog5qih5Z6L5ZCN56ew77yaaHVueXVhbi1pbWFnZS12My4wLXYxLjAuNO+8iOaOqOiNkO+8ieaIliBodW55dWFuLWltYWdlLXYzLjAtdjEuMC4xICovXG4gIG1vZGVsOlxuICB8ICdIWS1JbWFnZS0zLjAtUGx1cy00MDkwLVRvYi12MS4wJ1xuICB8ICdIWS1JbWFnZS12My4wLUkySS1Ub0ItdjEuMC4xJ1xuICB8ICdodW55dWFuLWltYWdlLXYzLjAtdjEuMC40J1xuICB8ICdodW55dWFuLWltYWdlLXYzLjAtdjEuMC4xJ1xuICB8ICdodW55dWFuLWltYWdlLXYzLjAtdjEuMC41J1xuICAvKiog55Sf5oiQ5Zu+54mH5L2/55So55qE5paH5pys77yM5LiN6LaF6L+HIDgxOTIg5a2X56ymICovXG4gIHByb21wdDogc3RyaW5nXG4gIC8qKlxuICAgKiDlm77niYflsLrlr7jvvIzmoLzlvI8gXCIke+WuvX14JHvpq5h9XCLvvIzpu5jorqQgXCIxMDI0eDEwMjRcIlxuICAgKiBIWS1JbWFnZS0zLjAtUGx1cy00MDkwLVRvYi12MS4wIGh1bnl1YW4taW1hZ2UtdjMuMC12MS4wLjTvvJrlrr3pq5ggWzUxMiwgMjA0OF3vvIzpnaLnp6/kuI3otoXov4cgMTAyNHgxMDI0XG4gICAqIGh1bnl1YW4taW1hZ2UtdjMuMC12MS4wLjHvvJrmlK/mjIHlm7rlrprlsLrlr7jliJfooahcbiAgICovXG4gIHNpemU/OiBzdHJpbmdcbiAgLyoqIOeUn+aIkOenjeWtkO+8jOS7heW9k+eUn+aIkOWbvueJh+aVsOS4uiAxIOaXtueUn+aViO+8jOiMg+WbtCBbMSwgNDI5NDk2NzI5NV0gKi9cbiAgc2VlZD86IG51bWJlclxuICAvKiog5Lia5Yqh6Ieq5a6a5LmJ5rC05Y2w5YaF5a6577yM6ZmQ5Yi2IDE2IOWtl+espu+8jOeUn+aIkOWcqOWbvueJh+WPs+S4i+inkiAqL1xuICBmb290bm90ZT86IHN0cmluZ1xuICAvKiog5piv5ZCm5a+5IHByb21wdCDmlLnlhpnvvIzpu5jorqTlvIDlkK/jgILmlLnlhpnkvJrlop7liqDnuqYgMzBzIOiAl+aXtiAqL1xuICByZXZpc2U/OiB7IHZhbHVlOiBib29sZWFuIH1cbiAgLyoqIOaUueWGmeaYr+WQpuW8gOWQryB0aGlua2luZyDmqKHlvI/vvIzpu5jorqTlvIDlkK/jgILlvIDlkK/lkI7mlYjmnpzmj5DljYfkvYbogJfml7blop7liqDvvIjmnIDlpKcgNjBz77yJICovXG4gIGVuYWJsZV90aGlua2luZz86IHsgdmFsdWU6IGJvb2xlYW4gfVxuICAvKipcbiAgICog5Z6r5Zu+dXJs5YiX6KGo77yM5LiOaW1hZ2XkuozpgInkuIDvvIzkvJjlhYjpgIlpbWFnZe+8jOWkp+Wwj+S4jei2hei/hzEwTULvvIzmlK/mjIEganBnIGpwZWcgcG5nIOagvOW8j++8jOacgOWkmjPlvKDlm77vvIxpbWFnZV91cmxz5ZKMaW1hZ2Vz5b+F5pyJ5LiA5Liq6Z2e56m6XG4gICAqL1xuICBpbWFnZV91cmxzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIOWeq+WbvmJhc2U2NOWIl+ihqO+8jOS4jmltYWdlX3VybOS6jOmAieS4gO+8jOS8mOWFiOmAiWltYWdl77yM5aSn5bCP5LiN6LaF6L+HMTBNQu+8jOaUr+aMgSBqcGcganBlZyBwbmcg5qC85byP77yM5pyA5aSaM+W8oOWbvlxuICAgKi9cbiAgaW1hZ2VzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuQVJHZW5lcmF0ZUltYWdlT3V0cHV0IHtcbiAgLyoqIOatpOasoeivt+axgueahCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB1bml4IOaXtumXtOaIsyAqL1xuICBjcmVhdGVkOiBudW1iZXJcbiAgLyoqIOi/lOWbnueahOWbvueJh+eUn+aIkOWGheWuuSAqL1xuICBkYXRhOiBBcnJheTx7XG4gICAgLyoqIOeUn+aIkOeahOWbvueJhyB1cmzvvIzmnInmlYjmnJ8gMjQg5bCP5pe2ICovXG4gICAgdXJsOiBzdHJpbmdcbiAgICAvKiog5pS55YaZ5ZCO55qEIHByb21wdCAqL1xuICAgIHJldmlzZWRfcHJvbXB0Pzogc3RyaW5nXG4gIH0+XG59XG5cbi8vICNyZWdpb24gSW1hZ2UgQ2hhdCBUeXBlcyAoT3BlbkFJIENoYXQgQ29tcGxldGlvbnMg6aOO5qC8IG1lc3NhZ2VzKVxuLy8g55So5LqOIEh5LUltYWdlLTMuNS1wcmV2aWV3IOetieS7pSBDaGF0L01lc3NhZ2VzIOWNj+iuruaPkOS6pOeahOeUn+WbvuaooeWei+OAglxuLy8g5rOo5oSP77ya6L+Z5pivIE9wZW5BSSBDaGF0IENvbXBsZXRpb25zIOmjjuagvOeahOWNj+iuru+8jOW5tumdniBPcGVuQUkg5a6M5pW05qCH5YeG77yMXG4vLyDlhbbkuK0gcmVhc29uaW5n44CBaXNfZ2VuZXJhdGUg5Li65pyN5Yqh56uv5omp5bGV5a2X5q6144CCXG5cbi8qKiBDaGF0IG1lc3NhZ2VzIOS4reeahOaWh+acrOWGheWuueWdlyAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29udGVudFBhcnRUZXh0IHtcbiAgdHlwZTogJ3RleHQnXG4gIC8qKiDlhbfkvZPmlofmnKzlhoXlrrkgKi9cbiAgdGV4dDogc3RyaW5nXG59XG5cbi8qKiBDaGF0IG1lc3NhZ2VzIOS4reeahOWbvueJh+WGheWuueWdlyAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29udGVudFBhcnRJbWFnZVVybCB7XG4gIHR5cGU6ICdpbWFnZV91cmwnXG4gIC8qKiDmlK/mjIEgaHR0cChzKSDlhaznvZEgVVJMIOaIliBkYXRhOmltYWdlLy4uLjtiYXNlNjQsLi4uICovXG4gIGltYWdlX3VybDoge1xuICAgIHVybDogc3RyaW5nXG4gIH1cbiAgLyoqIOS7hSByb2xlPXRvb2wg5Zue54GM5LiK5LiA6L2u55Sf5Zu+57uT5p6c5pe25Li6IHRydWUgKi9cbiAgaXNfZ2VuZXJhdGU/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIENoYXRDb250ZW50UGFydCA9IENoYXRDb250ZW50UGFydFRleHQgfCBDaGF0Q29udGVudFBhcnRJbWFnZVVybFxuXG4vKiogT3BlbkFJIENoYXQgQ29tcGxldGlvbnMg6aOO5qC855qE5Lya6K+d5raI5oGvICovXG5leHBvcnQgaW50ZXJmYWNlIENoYXRNZXNzYWdlIHtcbiAgLyoqIOinkuiJsuOAgnRvb2wg5LuF5Zyo5oqK5LiK5LiA6L2u55Sf5Zu+57uT5p6c5Zue54GM5L2c5Li65LiL5LiA6L2u5LiK5LiL5paH5pe25Ye6546wICovXG4gIHJvbGU6ICd1c2VyJyB8ICdhc3Npc3RhbnQnIHwgJ3Rvb2wnXG4gIC8qKiDor6Xova7nmoTlhbfkvZPlhoXlrrnvvIxhc3Npc3RhbnQg5LuF6Kem5Y+R5bel5YW36LCD55So44CB5LiN5Y+R5paH5pys5pe25Y+v55yB55WlICovXG4gIGNvbnRlbnQ/OiBDaGF0Q29udGVudFBhcnRbXVxuICAvKiog5LuFIHJvbGU9YXNzaXN0YW50IOWkmui9ruWbnueBjOaXtuS9v+eUqO+8jOmAj+S8oOS4iuS4gOi9ruWTjeW6lOS4reeahOaAnee7tOmTvuWOn+aWhyAqL1xuICByZWFzb25pbmc/OiBzdHJpbmdcbiAgLyoqIOS7hSByb2xlPWFzc2lzdGFudCDlpJrova7lm57ngYzml7bkvb/nlKjvvIzlhYPntKDnu5PmnoTop4EgVG9vbENhbGwgKi9cbiAgdG9vbF9jYWxscz86IFRvb2xDYWxsW11cbiAgLyoqIOS7hSByb2xlPXRvb2wg5aSa6L2u5Zue54GM5pe25L2/55So77yM6aG75LiO5LiK5LiA5p2hIGFzc2lzdGFudC50b29sX2NhbGxzW2ldLmlkIOS4gOiHtCAqL1xuICB0b29sX2NhbGxfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZGJhc2VHZW5lcmF0ZUltYWdlSW5wdXQge1xuICAvKiog5qih5Z6L5ZCN56ew77yaSHktSW1hZ2UtMy41LXByZXZpZXfvvIzljY/orq7lj5blgLzkuLogaHktaW1hZ2UtdjMuNS1wcmV2aWV3ICovXG4gIG1vZGVsOiAnaHktaW1hZ2UtdjMuNS1wcmV2aWV3J1xuICAvKiog5aSa6L2u5Lya6K+d5YaF5a6577yM5pe26Ze05LuO5pen5Yiw5paw5o6S5YiX44CC5pyA5ZCO5LiA5LiqIHJvbGU9dXNlciDnmoTmtojmga/kvZzkuLrmnKzova7nlJ/lm77mjIfku6QgKi9cbiAgbWVzc2FnZXM6IENoYXRNZXNzYWdlW11cbiAgLyoqXG4gICAqIOeUn+aIkOWwuuWvuO+8jOagvOW8jyBcIiR75a69fXgke+mrmH1cIlxuICAgKiDlrr3pq5jlnYfkuLogWzI1NiwgODE5Ml3vvIzpnaLnp6/kuI3otoXov4cgMTY3NzcyMTbvvIjmnIDpq5ggNDA5Nng0MDk277yJXG4gICAqIOS4jeS8oOaIluS8oOepuuS4suaXtueUseaooeWei+WfuuS6jiBwcm9tcHQg6K+t5LmJ5LiOIGdlbmVyYXRlX21heF9waXhlbHMg6Ieq5Li75Yaz5a6aXG4gICAqL1xuICBzaXplPzogc3RyaW5nXG4gIC8qKiDnlJ/miJDnp43lrZDvvIxpbnQ2NCDojIPlm7QgWzAsIDJeNjMtMV3vvJvkuLogMCDmiJbkuI3kvKDml7bmnI3liqHnq6/pmo/mnLrliIbphY0gKi9cbiAgc2VlZD86IG51bWJlclxuICAvKipcbiAgICog55Sf5oiQ5Zu+54mH55qE55uu5qCH6Z2i56ev77yI5YOP57Sg5pWw77yJ77yM5LuF5Zyo5pyq5LygIHNpemUg5pe255Sf5pWIXG4gICAqIOaUr+aMgSAxMDQ4NTc277yIMUvvvInjgIEyMzU5Mjk277yIMS41S++8jOm7mOiupO+8ieOAgTQxOTQzMDTvvIgyS++8iVxuICAgKi9cbiAgZ2VuZXJhdGVfbWF4X3BpeGVscz86IG51bWJlclxuICAvKiog6L6T5YWl5Y+C6ICD5Zu+6Z2i56ev5LiK6ZmQ77yI5YOP57Sg5pWw77yJ77yM6buY6K6kIDEwNDg1NzYgKi9cbiAgcmVzaXplX21heF9waXhlbHM/OiBudW1iZXJcbiAgLyoqIOS8muivnSBJRO+8jOeUqOS6juaOqOeQhuacjeWKoeS4gOiHtOaAp+WTiOW4jOiwg+W6piAqL1xuICBzZXNzaW9uPzogc3RyaW5nXG4gIC8qKiDkuJrliqHoh6rlrprkuYnmsLTljbDlhoXlrrnvvIzmnIDplb8gMTYg5a2X56ym77yM55Sf5oiQ5Zyo5Zu+54mH5Y+z5LiL6KeSICovXG4gIGZvb3Rub3RlPzogc3RyaW5nXG4gIC8qKiDlpJbpg6jmkJzntKLlop7lvLrlvIDlhbPvvIzpu5jorqTlhbPpl60gKi9cbiAgdXNlX3NlYXJjaF90b29sPzogeyB2YWx1ZTogYm9vbGVhbiB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRiYXNlR2VuZXJhdGVJbWFnZU91dHB1dCB7XG4gIC8qKiDmraTmrKHor7fmsYLnmoQgdHJhY2VJRCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiDlm7rlrpogaW1hZ2UuY2hhdC5jb21wbGV0aW9uLmNodW5rICovXG4gIG9iamVjdDogc3RyaW5nXG4gIC8qKiBVbml4IOenkue6p+aXtumXtOaIsyAqL1xuICBjcmVhdGVkOiBudW1iZXJcbiAgLyoqIOWOn+WOguWunumZheacjeWKoei/lOWbnueahOWGhemDqOeJiOacrOagh+ivhu+8jOS4jeW7uuiurueUqOS6juS4muWKoeWIhuaUr+WIpOaWrSAqL1xuICBtb2RlbDogc3RyaW5nXG4gIC8qKiDmnKzluKfmiYDlsZ4gTExNIOi9ruasoe+8jOS7jiAwIOi1t+eulyAqL1xuICByb3VuZDogbnVtYmVyXG4gIGNob2ljZXM6IEFycmF5PHtcbiAgICBpbmRleDogbnVtYmVyXG4gICAgLyoqIOS4u+Wbvui9veS9k++8jOaIkOWKn+aXtuS8mOWFiOivu+WPliBkZWx0YS5pbWFnZS51cmwg5L2c5Li65pyA57uI5Lqk5LuYIFVSTCAqL1xuICAgIGRlbHRhOiB7XG4gICAgICB0eXBlPzogc3RyaW5nXG4gICAgICBpbWFnZT86IHtcbiAgICAgICAgLyoqIOacrOasoeeUn+WbvueahOacgOe7iOS6pOS7mCBVUkzvvIzmnInmlYjmnJ8gMTIg5bCP5pe2ICovXG4gICAgICAgIHVybDogc3RyaW5nXG4gICAgICAgIHdpZHRoOiBudW1iZXJcbiAgICAgICAgaGVpZ2h0OiBudW1iZXJcbiAgICAgICAgc291cmNlOiBzdHJpbmdcbiAgICAgICAgdG9vbF9jYWxsX2lkOiBzdHJpbmdcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIOaIkOWKn+e7iOaAgeS4i+W+gOW+gOS4uiBudWxs77yb5YaF5a655a6J5YWo5oum5oiqL+S4muWKoemUmeivr+aXtuS4uiBlcnJvciDnrYnpnZ7nqbrlgLwgKi9cbiAgICBmaW5pc2hfcmVhc29uPzogc3RyaW5nIHwgbnVsbFxuICB9PlxuICB1c2FnZT86IHsgdG90YWxfdG9rZW5zOiBudW1iZXIgfVxuICB0b2tlbmh1Yl91c2FnZT86IHsgdG90YWxfdG9rZW5zOiBudW1iZXIgfVxuICByZXF1ZXN0X2lkPzogc3RyaW5nXG4gIC8qKiDmnI3liqHnq6/mi7zlpb3nmoTjgIzkuIvkuIDova7lm57ngYzmtojmga/luo/liJfjgI3vvIzlpJrova7nvJbovpHml7bljp/moLfov73liqDliLDkuIvkuIDova4gbWVzc2FnZXMgKi9cbiAgYXNzZW1ibGVkX2hpc3Rvcnk/OiBDaGF0TWVzc2FnZVtdXG4gIC8qKiDku4XlpLHotKXnu4jmgIHluKfmiY3luKYgKi9cbiAgZXJyb3I/OiB7XG4gICAgdHlwZTogc3RyaW5nXG4gICAgY29kZTogc3RyaW5nXG4gICAgbWVzc2FnZTogc3RyaW5nXG4gICAgcmVxdWVzdF9pZD86IHN0cmluZ1xuICB9XG59XG5cbi8vICNlbmRyZWdpb25cblxuZXhwb3J0IHR5cGUgSHVueXVhbkVkaXRJbWFnZUlucHV0ID0ge1xuICAvKiog5qih5Z6L5ZCN56ew77yM5pys5pyf5Li6IGh1bnl1YW4taW1hZ2XvvIzljbPkuLrllYblk4Hlm77nvJbovpHlnLrmma8gKi9cbiAgbW9kZWw6ICdodW55dWFuLWltYWdlJyB8IChzdHJpbmcgJiB7fSlcbiAgLyoqIOe8lui+keeahOaWh+acrOaPj+i/sCAqL1xuICBwcm9tcHQ6IHN0cmluZ1xuICAvKiog5qih5Z6L54mI5pysICovXG4gIHZlcnNpb24/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOWbvueJh+WwuuWvuO+8jOm7mOiupCBcIjgwMHg4MDBcIlxuICAgKiDmlK/mjIHnlKjmiLfoh6rlrprkuYnlsLrlr7jvvIzkvYbovpPlhaXlsLrlr7jlj6rmlK/mjIEgNTEyLTEyODAg5LmL6Ze0XG4gICAqIOebruWJjeWPquaUr+aMgSAxOjHjgIExNjo544CBOToxNiDkuInkuKrlsLrlr7hcbiAgICovXG4gIHNpemU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOeUn+aIkOWbvueJh+S4quaVsO+8jOm7mOiupOS4uiAxXG4gICAqIOebruWJjeWPquaUr+aMgeeUn+aIkOS4gOW8oO+8jOWbuuWumuS4uiAx77yM5Lyg5YW25LuW55qE5YC85Lya5oql6ZSZXG4gICAqL1xuICBuPzogbnVtYmVyXG4gIC8qKlxuICAgKiBiZXRhIOWPguaVsO+8jOmaj+acuuenjeWtkFxuICAgKiDojIPlm7QgWzEsIDQyOTQ5NjcyOTVd77yM5LiN5Lyg5pe26buY6K6k6ZqP5py6XG4gICAqL1xuICBzZWVkPzogbnVtYmVyXG4gIC8qKlxuICAgKiDkuJrliqHoh6rlrprkuYnop5LmoIflhoXlrrlcbiAgICog6ZmQ5Yi2IDE2IOS4quWtl+espumVv+W6pu+8iOS4jeWMuuWIhuS4reiLseaWh++8iVxuICAgKi9cbiAgZm9vdG5vdGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOWbviBiYXNlNjQg57yW56CB77yM5aSn5bCP5LiN6LaF6L+HIDZNXG4gICAqIOaUr+aMgSBqcGcvanBlZyDmoLzlvI/vvIzlkowgaW1hZ2VfdXJsIOS6jOmAieS4gFxuICAgKiDplb/nn63ovrnmr5TkvovopoHmsYIgMjoxIOWGhVxuICAgKi9cbiAgaW1hZ2U/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOWbvueJhyB1cmxcbiAgICog6ZW/55+t6L655q+U5L6L6KaB5rGCIDI6MSDlhoXvvIzlkowgaW1hZ2Ug5LqM6YCJ5LiAXG4gICAqL1xuICBpbWFnZV91cmw/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgIG1hc2s6IHN0cmluZ1xuICAgIG1hc2tfdXJsPzogbmV2ZXJcbiAgfVxuICB8IHtcbiAgICBtYXNrPzogbmV2ZXJcbiAgICBtYXNrX3VybDogc3RyaW5nXG4gIH1cbilcblxuLyoqXG4gKiDmt7flhYPlm77niYfnlJ/miJDovpPlh7pcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuR2VuZXJhdGVJbWFnZU91dHB1dCB7XG4gIC8qKiDmraTmrKHor7fmsYLnmoQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdW5peCDml7bpl7TmiLMgKi9cbiAgY3JlYXRlZDogbnVtYmVyXG4gIC8qKiDov5Tlm57nmoTlm77niYfnlJ/miJDlhoXlrrkgKi9cbiAgZGF0YTogQXJyYXk8e1xuICAgIC8qKiDnlJ/miJDnmoTlm77niYcgdXJs77yM5pyJ5pWI5pyf5Li6IDI0IOWwj+aXtiAqL1xuICAgIHVybDogc3RyaW5nXG4gICAgLyoqIOWOnyBwcm9tcHQg5pS55YaZ5ZCO55qE5paH5pys44CC6IulIHJldmlzZSDkuLogZmFsc2XvvIzliJnkuLrljp8gcHJvbXB0ICovXG4gICAgcmV2aXNlZF9wcm9tcHQ/OiBzdHJpbmdcbiAgfT5cbn1cblxuLyoqXG4gKiDmt7flhYPlm77niYfnvJbovpHovpPlh7pcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdW55dWFuRWRpdEltYWdlT3V0cHV0IHtcbiAgLyoqIOatpOasoeivt+axgueahCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB1bml4IOaXtumXtOaIsyAqL1xuICBjcmVhdGVkOiBudW1iZXJcbiAgLyoqIOi/lOWbnueahOWbvueJh+eUn+aIkOWGheWuuSAqL1xuICBkYXRhOiBBcnJheTx7XG4gICAgLyoqIOeUn+aIkOeahOWbvueJhyB1cmzvvIzmnInmlYjmnJ/kuLogMjQg5bCP5pe2ICovXG4gICAgdXJsOiBzdHJpbmdcbiAgfT5cbn1cblxuLy8gI2VuZHJlZ2lvblxuIl19
package/dist/esm/AI.d.ts CHANGED
@@ -20,7 +20,7 @@ declare class AI {
20
20
  defaultModelSubUrl?: string;
21
21
  }): models.ReactModel;
22
22
  registerModel(name: string, model: types.ChatModelConstructor): void;
23
- createImageModel<T extends 'hunyuan-image' | (string & {})>(provider: T): models.DefaultImageModel<T>;
23
+ createImageModel<T extends 'hunyuan-image' | 'cloudbase' | (string & {})>(provider: T): models.DefaultImageModel<T>;
24
24
  modelRequest: types.ModelReq;
25
25
  botRequest: types.BotReq;
26
26
  registerFunctionTool(functionTool: types.FunctionTool): void;
package/dist/esm/AI.js CHANGED
@@ -150,15 +150,16 @@ var AI = (function () {
150
150
  AI.prototype.handleResponseData = function (responseData, header) {
151
151
  var _a, _b;
152
152
  return __awaiter(this, void 0, void 0, function () {
153
- var GO_TO_AI_TEXT, throwIfError, json, _c, isStream, json, json;
153
+ var t, GO_TO_AI_TEXT, throwIfError, json, _c, isStream, json, json;
154
154
  var _this = this;
155
155
  return __generator(this, function (_d) {
156
156
  switch (_d.label) {
157
157
  case 0:
158
- GO_TO_AI_TEXT = "".concat(this.i18n.t('请检查调用方式,或前往云开发 AI+ 首页查看文档'), "\uFF1Ahttps://tcb.cloud.tencent.com/dev#/ai");
158
+ t = function (key) { var _a, _b, _c; return (_c = (_b = (_a = _this.i18n) === null || _a === void 0 ? void 0 : _a.t) === null || _b === void 0 ? void 0 : _b.call(_a, key)) !== null && _c !== void 0 ? _c : key; };
159
+ GO_TO_AI_TEXT = "".concat(t('请检查调用方式,或前往云开发 AI+ 首页查看文档'), "\uFF1Ahttps://tcb.cloud.tencent.com/dev#/ai");
159
160
  throwIfError = function (json) {
160
161
  if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
161
- throw new Error("".concat(_this.i18n.t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(_this.i18n.t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
162
+ throw new Error("".concat(t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
162
163
  }
163
164
  };
164
165
  if (!(typeof responseData === 'object' && responseData && typeof responseData.getReader !== 'function')) return [3, 4];
@@ -179,7 +180,7 @@ var AI = (function () {
179
180
  if (!isStream) {
180
181
  json = responseData;
181
182
  if (typeof json === 'object' && json && 'code' in json && json.code !== 'NORMAL') {
182
- throw new Error("".concat(this.i18n.t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(this.i18n.t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
183
+ throw new Error("".concat(t('AI+ 请求出错,错误码'), "\uFF1A").concat(json.code, "\uFF0C").concat(t('错误信息'), "\uFF1A").concat(json.message, "\n").concat(GO_TO_AI_TEXT, "\n").concat(JSON.stringify(json, null, 2)));
183
184
  }
184
185
  return [2, responseData];
185
186
  }
@@ -235,4 +236,4 @@ var AI = (function () {
235
236
  return AI;
236
237
  }());
237
238
  export { AI };
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFeEMsSUFBQSxNQUFNLEdBQUssTUFBTSxPQUFYLENBQVc7QUFFekI7SUFnQkUsWUFDVSxHQUF3QixFQUN6QixPQUFlLEVBQ3RCLElBQThCLEVBQzlCLFVBQXlCO1FBSjNCLGlCQWFDO1FBWlMsUUFBRyxHQUFILEdBQUcsQ0FBcUI7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQXlGeEIsaUJBQVksR0FBbUIsVUFBTyxFQUF1QztnQkFBckMsR0FBRyxTQUFBLEVBQUUsSUFBSSxVQUFBLEVBQUUsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBLEVBQUUsT0FBTyxhQUFBOzs7Ozs7Ozs0QkFDbkUsWUFBWSxHQUFHO2dDQUNuQixjQUFjLEVBQUUsa0JBQWtCOzZCQUNuQyxDQUFBOzRCQUVELE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUE7NEJBRTlCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0NBQzNELE1BQU0sRUFBRSxNQUFNO29DQUNkLE9BQU8saUNBQUssTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxlQUFlLElBQUcsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLE9BQUssWUFBWSxHQUFLLE9BQU8sQ0FBRTtvQ0FDdkYsSUFBSSxF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QUFHLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBRUQsNkJBQWdCLEdBQWhCLFVBQTRELFFBQVc7UUFDckUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBSSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDckYsQ0FBQztJQXVERCxpQ0FBb0IsR0FBcEIsVUFBcUIsWUFBZ0M7UUFDbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBb0IsWUFBWSxDQUFDLElBQUksNkNBQTBDLENBQUMsQ0FBQTtTQUM5RjtRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFHTyx1QkFBVSxHQUFsQixVQUFtQixHQUFXO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sR0FBRyxDQUFBO1FBQ2pDLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1NBQzlDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBQ0gsU0FBQztBQUFELENBQUMsQUFoTEQsSUFnTEM7QUFFRCxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBlcWVxZXEgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuaW1wb3J0IHR5cGUgeyBTREtSZXF1ZXN0SW50ZXJmYWNlIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IEJvdCB9IGZyb20gJy4vYm90J1xuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHsgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBJQ2xvdWRiYXNlQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IGxhbmdFdmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuXG5jb25zdCB7IE1PREVMUyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGJvdDogQm90XG4gIHB1YmxpYyBpMThuOiBJQ2xvdWRiYXNlQ29uZmlnWydpMThuJ11cbiAgZGVmYXVsdEhlYWRlcnM6IHsgW3g6IHN0cmluZ106IGFueSB9XG4gIHByaXZhdGUgX2dldEJhc2VVcmw/OiAoKSA9PiBzdHJpbmdcblxuICAvKiog5Yqo5oCB6I635Y+WIGFpQmFzZVVybO+8jOaUr+aMgSByZWdpc3RlckVuZFBvaW50V2l0aEtleSDlkI7nq6/ngrnlj5jmm7TnlJ/mlYggKi9cbiAgZ2V0IGFpQmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9nZXRCYXNlVXJsID8gdGhpcy5fZ2V0QmFzZVVybCgpIDogdGhpcy5iYXNlVXJsfS9haWBcbiAgfVxuXG4gIC8qKiDliqjmgIHojrflj5YgYWlCb3RCYXNlVXJs77yM5pSv5oyBIHJlZ2lzdGVyRW5kUG9pbnRXaXRoS2V5IOWQjuerr+eCueWPmOabtOeUn+aViCAqL1xuICBnZXQgYWlCb3RCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2dldEJhc2VVcmwgPyB0aGlzLl9nZXRCYXNlVXJsKCkgOiB0aGlzLmJhc2VVcmx9L2FpYm90YFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXE6IFNES1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgcHVibGljIGJhc2VVcmw6IHN0cmluZyxcbiAgICBpMThuOiBJQ2xvdWRiYXNlQ29uZmlnWydpMThuJ10sXG4gICAgZ2V0QmFzZVVybD86ICgpID0+IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5fZ2V0QmFzZVVybCA9IGdldEJhc2VVcmxcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgICB0aGlzLmkxOG4gPSBpMThuXG5cbiAgICBsYW5nRXZlbnQuYnVzLm9uKGxhbmdFdmVudC5MQU5HX0NIQU5HRV9FVkVOVCwgKHBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5pMThuID0gcGFyYW1zLmRhdGE/LmkxOG4gfHwgdGhpcy5pMThuXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiwgaGVhZGVyPzogSGVhZGVycykge1xuICAgIGNvbnN0IEdPX1RPX0FJX1RFWFQgPSBgJHt0aGlzLmkxOG4udCgn6K+35qOA5p+l6LCD55So5pa55byP77yM5oiW5YmN5b6A5LqR5byA5Y+RIEFJKyDpppbpobXmn6XnnIvmlofmoaMnKX3vvJpodHRwczovL3RjYi5jbG91ZC50ZW5jZW50LmNvbS9kZXYjL2FpYFxuXG4gICAgY29uc3QgdGhyb3dJZkVycm9yID0gKGpzb246IHVua25vd24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YganNvbiA9PT0gJ29iamVjdCcgJiYganNvbiAmJiAnY29kZScgaW4ganNvbiAmJiAoanNvbiBhcyBhbnkpLmNvZGUgIT09ICdOT1JNQUwnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLmkxOG4udCgnQUkrIOivt+axguWHuumUme+8jOmUmeivr+eggScpfe+8miR7KGpzb24gYXMgYW55KS5jb2Rlfe+8jCR7dGhpcy5pMThuLnQoJ+mUmeivr+S/oeaBrycpfe+8miR7XG4gICAgICAgICAgKGpzb24gYXMgYW55KS5tZXNzYWdlXG4gICAgICAgIH1cXG4ke0dPX1RPX0FJX1RFWFR9XFxuJHtKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKX1gLClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDpnZ7mtYHlvI/or7fmsYLvvJpcbiAgICAvLyAtIOWwj+eoi+W6jy9XZWIg6YCC6YWN5Zmo6L+U5ZueIFByb21pc2XvvIhoYXMgJ3RoZW4n77yJXG4gICAgLy8gLSBOb2RlIOmAgumFjeWZqOW3suWwhiBib2R5IOino+aekOS4uuaZrumAmuWvueixoe+8iOaXoCAndGhlbifjgIHml6AgZ2V0UmVhZGVy77yJXG4gICAgLy8g5Lik56eN5oOF5Ya16YO95oyJIEpTT04g5qCh6aqM6ZSZ6K+v56CB5ZCO5Y6f5qC36L+U5ZueXG4gICAgaWYgKHR5cGVvZiByZXNwb25zZURhdGEgPT09ICdvYmplY3QnICYmIHJlc3BvbnNlRGF0YSAmJiB0eXBlb2YgKHJlc3BvbnNlRGF0YSBhcyBhbnkpLmdldFJlYWRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QganNvbiA9ICd0aGVuJyBpbiByZXNwb25zZURhdGEgPyBhd2FpdCByZXNwb25zZURhdGEgOiByZXNwb25zZURhdGFcbiAgICAgIHRocm93SWZFcnJvcihqc29uKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlRGF0YVxuICAgIH1cblxuICAgIC8vIOWIpOaWrSByZXNwb25zZURhdGEg5piv5ZCm5pivIFJlYWRhYmxlU3RyZWFtIOWunuS+i++8iOWFvOWuuSBOb2RlLmpzIOmAgumFjeWZqOmdnua1geW8j+WcuuaZr+W3suino+aekOS4uiBKU09OIOWvueixoeeahOaDheWGte+8iVxuICAgIGNvbnN0IGlzU3RyZWFtID0gdHlwZW9mIChyZXNwb25zZURhdGEgYXMgYW55KT8uZ2V0UmVhZGVyID09PSAnZnVuY3Rpb24nXG5cbiAgICBpZiAoIWlzU3RyZWFtKSB7XG4gICAgICAvLyByZXNwb25zZURhdGEg5bey57uP5piv6Kej5p6Q5ZCO55qEIEpTT04g5a+56LGh77yI5aaCIE5vZGUuanMg6YCC6YWN5Zmo6Z2e5rWB5byP6L+U5Zue77yJ77yM55u05o6l5qOA5p+l6ZSZ6K+v56CBXG4gICAgICBjb25zdCBqc29uID0gcmVzcG9uc2VEYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIGlmICh0eXBlb2YganNvbiA9PT0gJ29iamVjdCcgJiYganNvbiAmJiAnY29kZScgaW4ganNvbiAmJiBqc29uLmNvZGUgIT09ICdOT1JNQUwnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLmkxOG4udCgnQUkrIOivt+axguWHuumUme+8jOmUmeivr+eggScpfe+8miR7anNvbi5jb2Rlfe+8jCR7dGhpcy5pMThuLnQoJ+mUmeivr+S/oeaBrycpfe+8miR7XG4gICAgICAgICAganNvbi5tZXNzYWdlXG4gICAgICAgIH1cXG4ke0dPX1RPX0FJX1RFWFR9XFxuJHtKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKX1gLClcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgICB9XG5cbiAgICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICAgIGlmIChoZWFkZXI/LmdldD8uKCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2pzb24nKSkge1xuICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QocmVzcG9uc2VEYXRhIGFzIFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KVxuICAgICAgdGhyb3dJZkVycm9yKGpzb24pXG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsKFxuICAgIG1vZGVsOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGRlZmF1bHRNb2RlbFN1YlVybD86IHN0cmluZ1xuICAgIH0sXG4gICkge1xuICAgIGxldCBzaW1wbGVNb2RlbDogdHlwZXMuU2ltcGxlQ2hhdE1vZGVsXG5cbiAgICBjb25zdCBTaW1wbGVNb2RlbENvbnN0cnVjdG9yID0gTU9ERUxTW21vZGVsXVxuICAgIGlmIChTaW1wbGVNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgICBzaW1wbGVNb2RlbCA9IG5ldyBTaW1wbGVNb2RlbENvbnN0cnVjdG9yKHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3ViVXJsID0gdHlwZW9mIG9wdGlvbnM/LmRlZmF1bHRNb2RlbFN1YlVybCA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmRlZmF1bHRNb2RlbFN1YlVybCA6ICcvY2hhdC9jb21wbGV0aW9ucydcblxuICAgICAgc2ltcGxlTW9kZWwgPSBuZXcgbW9kZWxzLkRlZmF1bHRTaW1wbGVNb2RlbCh0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwsIGAke21vZGVsfSR7c3ViVXJsfWApXG4gICAgfVxuXG4gICAgY29uc3QgcmVhY3RNb2RlbCA9IG5ldyBtb2RlbHMuUmVhY3RNb2RlbChzaW1wbGVNb2RlbClcbiAgICByZXR1cm4gcmVhY3RNb2RlbFxuICB9XG5cbiAgcmVnaXN0ZXJNb2RlbChuYW1lOiBzdHJpbmcsIG1vZGVsOiB0eXBlcy5DaGF0TW9kZWxDb25zdHJ1Y3Rvcikge1xuICAgIGlmIChNT0RFTFNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBtb2RlbCAke25hbWV9IGFscmVhZHkgZXhpc3RzIWApXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgTU9ERUxTW25hbWVdID0gbW9kZWxcbiAgfVxuXG4gIGNyZWF0ZUltYWdlTW9kZWw8VCBleHRlbmRzICdodW55dWFuLWltYWdlJyB8IChzdHJpbmcgJiB7fSk+KHByb3ZpZGVyOiBUKSB7XG4gICAgcmV0dXJuIG5ldyBtb2RlbHMuRGVmYXVsdEltYWdlTW9kZWw8VD4odGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsLCBwcm92aWRlcilcbiAgfVxuXG4gIG1vZGVsUmVxdWVzdDogdHlwZXMuTW9kZWxSZXEgPSBhc3luYyAoeyB1cmwsIGRhdGEsIGhlYWRlcnMsIHN0cmVhbSwgdGltZW91dCB9KSA9PiB7XG4gICAgY29uc3QgZmV0Y2hIZWFkZXJzID0ge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9XG4gICAgLy8g5bimIEFjY2VwdDogdGV4dC9ldmVudC1zdHJlYW0gIOivt+axguWktOaYvuW8j+aMh+WumuaYryBTU0Ug57uV6L+HIDYwcyDnmoTpmZDliLZcbiAgICBzdHJlYW0gJiYgT2JqZWN0LmFzc2lnbihmZXRjaEhlYWRlcnMsIHsgQWNjZXB0OiAndGV4dC9ldmVudC1zdHJlYW0nIH0pXG5cbiAgICBjb25zdCB7IGRhdGE6IHJlc3BvbnNlRGF0YSwgaGVhZGVyIH0gPSAoYXdhaXQgdGhpcy5yZXEuZmV0Y2goe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBoZWFkZXJzOiB7IFt0aGlzLmkxOG4/LkxBTkdfSEVBREVSX0tFWV06IHRoaXMuaTE4bj8ubGFuZywgLi4uZmV0Y2hIZWFkZXJzLCAuLi5oZWFkZXJzIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIHVybDogdGhpcy5yZXNvbHZlVXJsKHVybCksXG4gICAgICBzdHJlYW0sXG4gICAgICB0aW1lb3V0LFxuICAgIH0pKSBhcyB7IGRhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PjsgaGVhZGVyPzogSGVhZGVycyB9XG5cbiAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuICB9XG5cbiAgYm90UmVxdWVzdDogdHlwZXMuQm90UmVxID0gYXN5bmMgKHsgbWV0aG9kLCB1cmwsIGRhdGEgPSB7fSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCByZXNvbHZlZFVybCA9IHRoaXMucmVzb2x2ZVVybCh1cmwpXG4gICAgaWYgKG1ldGhvZCA9PT0gJ2dldCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlRGF0YSgoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3Jlc29sdmVkVXJsfT8ke29iamVjdFRvUGFyYW0oZGF0YSl9YCwgbWV0aG9kLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkpLmRhdGEsKVxuICAgIH1cblxuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIHVybDogcmVzb2x2ZWRVcmwsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgW3RoaXMuaTE4bj8uTEFOR19IRUFERVJfS0VZXTogdGhpcy5pMThuPy5sYW5nLFxuICAgICAgICAuLi5mZXRjaEhlYWRlcnMsXG4gICAgICAgIC4uLmhlYWRlcnMsXG4gICAgICB9LFxuICAgICAgc3RyZWFtLFxuICAgICAgbWV0aG9kLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVzcG9uc2VEYXRhKHJlc3BvbnNlRGF0YSwgaGVhZGVyKSBhcyBhbnlcblxuICAgIGZ1bmN0aW9uIG9iamVjdFRvUGFyYW0ob2JqOiBPYmplY3QpIHtcbiAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhvYmopXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApXG4gICAgICAgIC5qb2luKCcmJylcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckZ1bmN0aW9uVG9vbChmdW5jdGlvblRvb2w6IHR5cGVzLkZ1bmN0aW9uVG9vbCkge1xuICAgIGlmIChtb2RlbHMudG9vbE1hcC5oYXMoZnVuY3Rpb25Ub29sLm5hbWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIGZ1bmN0aW9uIHRvb2wgJHtmdW5jdGlvblRvb2wubmFtZX0gYWxyZWFkeSBleGlzdHMgYW5kIHdpbGwgYmUgb3ZlcndyaXR0ZW4hYClcbiAgICB9XG4gICAgbW9kZWxzLnRvb2xNYXAuc2V0KGZ1bmN0aW9uVG9vbC5uYW1lLCBmdW5jdGlvblRvb2wuZm4pXG4gIH1cblxuICAvKiog5Yqo5oCB5pu/5o2iIFVSTCDkuK3nmoQgb3JpZ2luIOmDqOWIhu+8jOaUr+aMgSByZWdpc3RlckVuZFBvaW50V2l0aEtleSDlkI7nlJ/mlYggKi9cbiAgcHJpdmF0ZSByZXNvbHZlVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2dldEJhc2VVcmwpIHJldHVybiB1cmxcbiAgICBjb25zdCBjdXJyZW50QmFzZSA9IHRoaXMuX2dldEJhc2VVcmwoKVxuICAgIGlmIChjdXJyZW50QmFzZSAhPT0gdGhpcy5iYXNlVXJsICYmIHVybC5zdGFydHNXaXRoKHRoaXMuYmFzZVVybCkpIHtcbiAgICAgIHJldHVybiB1cmwucmVwbGFjZSh0aGlzLmJhc2VVcmwsIGN1cnJlbnRCYXNlKVxuICAgIH1cbiAgICByZXR1cm4gdXJsXG4gIH1cbn1cblxuZXhwb3J0IHsgQUkgfVxuIl19
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFeEMsSUFBQSxNQUFNLEdBQUssTUFBTSxPQUFYLENBQVc7QUFFekI7SUFnQkUsWUFDVSxHQUF3QixFQUN6QixPQUFlLEVBQ3RCLElBQThCLEVBQzlCLFVBQXlCO1FBSjNCLGlCQWFDO1FBWlMsUUFBRyxHQUFILEdBQUcsQ0FBcUI7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQTBGeEIsaUJBQVksR0FBbUIsVUFBTyxFQUF1QztnQkFBckMsR0FBRyxTQUFBLEVBQUUsSUFBSSxVQUFBLEVBQUUsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBLEVBQUUsT0FBTyxhQUFBOzs7Ozs7Ozs0QkFDbkUsWUFBWSxHQUFHO2dDQUNuQixjQUFjLEVBQUUsa0JBQWtCOzZCQUNuQyxDQUFBOzRCQUVELE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUE7NEJBRTlCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0NBQzNELE1BQU0sRUFBRSxNQUFNO29DQUNkLE9BQU8saUNBQUssTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxlQUFlLElBQUcsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLE9BQUssWUFBWSxHQUFLLE9BQU8sQ0FBRTtvQ0FDdkYsSUFBSSxF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TUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBRUQsNkJBQWdCLEdBQWhCLFVBQTBFLFFBQVc7UUFDbkYsT0FBTyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBSSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDckYsQ0FBQztJQXVERCxpQ0FBb0IsR0FBcEIsVUFBcUIsWUFBZ0M7UUFDbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBb0IsWUFBWSxDQUFDLElBQUksNkNBQTBDLENBQUMsQ0FBQTtTQUM5RjtRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFHTyx1QkFBVSxHQUFsQixVQUFtQixHQUFXO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sR0FBRyxDQUFBO1FBQ2pDLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1NBQzlDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBQ0gsU0FBQztBQUFELENBQUMsQUFqTEQsSUFpTEM7QUFFRCxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBlcWVxZXEgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuaW1wb3J0IHR5cGUgeyBTREtSZXF1ZXN0SW50ZXJmYWNlIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IEJvdCB9IGZyb20gJy4vYm90J1xuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHsgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBJQ2xvdWRiYXNlQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IGxhbmdFdmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuXG5jb25zdCB7IE1PREVMUyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGJvdDogQm90XG4gIHB1YmxpYyBpMThuOiBJQ2xvdWRiYXNlQ29uZmlnWydpMThuJ11cbiAgZGVmYXVsdEhlYWRlcnM6IHsgW3g6IHN0cmluZ106IGFueSB9XG4gIHByaXZhdGUgX2dldEJhc2VVcmw/OiAoKSA9PiBzdHJpbmdcblxuICAvKiog5Yqo5oCB6I635Y+WIGFpQmFzZVVybO+8jOaUr+aMgSByZWdpc3RlckVuZFBvaW50V2l0aEtleSDlkI7nq6/ngrnlj5jmm7TnlJ/mlYggKi9cbiAgZ2V0IGFpQmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9nZXRCYXNlVXJsID8gdGhpcy5fZ2V0QmFzZVVybCgpIDogdGhpcy5iYXNlVXJsfS9haWBcbiAgfVxuXG4gIC8qKiDliqjmgIHojrflj5YgYWlCb3RCYXNlVXJs77yM5pSv5oyBIHJlZ2lzdGVyRW5kUG9pbnRXaXRoS2V5IOWQjuerr+eCueWPmOabtOeUn+aViCAqL1xuICBnZXQgYWlCb3RCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2dldEJhc2VVcmwgPyB0aGlzLl9nZXRCYXNlVXJsKCkgOiB0aGlzLmJhc2VVcmx9L2FpYm90YFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXE6IFNES1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgcHVibGljIGJhc2VVcmw6IHN0cmluZyxcbiAgICBpMThuOiBJQ2xvdWRiYXNlQ29uZmlnWydpMThuJ10sXG4gICAgZ2V0QmFzZVVybD86ICgpID0+IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5fZ2V0QmFzZVVybCA9IGdldEJhc2VVcmxcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgICB0aGlzLmkxOG4gPSBpMThuXG5cbiAgICBsYW5nRXZlbnQuYnVzLm9uKGxhbmdFdmVudC5MQU5HX0NIQU5HRV9FVkVOVCwgKHBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5pMThuID0gcGFyYW1zLmRhdGE/LmkxOG4gfHwgdGhpcy5pMThuXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiwgaGVhZGVyPzogSGVhZGVycykge1xuICAgIGNvbnN0IHQgPSAoa2V5OiBzdHJpbmcpID0+IHRoaXMuaTE4bj8udD8uKGtleSkgPz8ga2V5XG4gICAgY29uc3QgR09fVE9fQUlfVEVYVCA9IGAke3QoJ+ivt+ajgOafpeiwg+eUqOaWueW8j++8jOaIluWJjeW+gOS6keW8gOWPkSBBSSsg6aaW6aG15p+l55yL5paH5qGjJyl977yaaHR0cHM6Ly90Y2IuY2xvdWQudGVuY2VudC5jb20vZGV2Iy9haWBcblxuICAgIGNvbnN0IHRocm93SWZFcnJvciA9IChqc29uOiB1bmtub3duKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGpzb24gPT09ICdvYmplY3QnICYmIGpzb24gJiYgJ2NvZGUnIGluIGpzb24gJiYgKGpzb24gYXMgYW55KS5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dCgnQUkrIOivt+axguWHuumUme+8jOmUmeivr+eggScpfe+8miR7KGpzb24gYXMgYW55KS5jb2Rlfe+8jCR7dCgn6ZSZ6K+v5L+h5oGvJyl977yaJHtcbiAgICAgICAgICAoanNvbiBhcyBhbnkpLm1lc3NhZ2VcbiAgICAgICAgfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpfWAsKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOmdnua1geW8j+ivt+axgu+8mlxuICAgIC8vIC0g5bCP56iL5bqPL1dlYiDpgILphY3lmajov5Tlm54gUHJvbWlzZe+8iGhhcyAndGhlbifvvIlcbiAgICAvLyAtIE5vZGUg6YCC6YWN5Zmo5bey5bCGIGJvZHkg6Kej5p6Q5Li65pmu6YCa5a+56LGh77yI5pegICd0aGVuJ+OAgeaXoCBnZXRSZWFkZXLvvIlcbiAgICAvLyDkuKTnp43mg4XlhrXpg73mjIkgSlNPTiDmoKHpqozplJnor6/noIHlkI7ljp/moLfov5Tlm55cbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiYgcmVzcG9uc2VEYXRhICYmIHR5cGVvZiAocmVzcG9uc2VEYXRhIGFzIGFueSkuZ2V0UmVhZGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBqc29uID0gJ3RoZW4nIGluIHJlc3BvbnNlRGF0YSA/IGF3YWl0IHJlc3BvbnNlRGF0YSA6IHJlc3BvbnNlRGF0YVxuICAgICAgdGhyb3dJZkVycm9yKGpzb24pXG4gICAgICByZXR1cm4gcmVzcG9uc2VEYXRhXG4gICAgfVxuXG4gICAgLy8g5Yik5patIHJlc3BvbnNlRGF0YSDmmK/lkKbmmK8gUmVhZGFibGVTdHJlYW0g5a6e5L6L77yI5YW85a65IE5vZGUuanMg6YCC6YWN5Zmo6Z2e5rWB5byP5Zy65pmv5bey6Kej5p6Q5Li6IEpTT04g5a+56LGh55qE5oOF5Ya177yJXG4gICAgY29uc3QgaXNTdHJlYW0gPSB0eXBlb2YgKHJlc3BvbnNlRGF0YSBhcyBhbnkpPy5nZXRSZWFkZXIgPT09ICdmdW5jdGlvbidcblxuICAgIGlmICghaXNTdHJlYW0pIHtcbiAgICAgIC8vIHJlc3BvbnNlRGF0YSDlt7Lnu4/mmK/op6PmnpDlkI7nmoQgSlNPTiDlr7nosaHvvIjlpoIgTm9kZS5qcyDpgILphY3lmajpnZ7mtYHlvI/ov5Tlm57vvInvvIznm7TmjqXmo4Dmn6XplJnor6/noIFcbiAgICAgIGNvbnN0IGpzb24gPSByZXNwb25zZURhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3QoJ0FJKyDor7fmsYLlh7rplJnvvIzplJnor6/noIEnKX3vvJoke2pzb24uY29kZX3vvIwke3QoJ+mUmeivr+S/oeaBrycpfe+8miR7XG4gICAgICAgICAganNvbi5tZXNzYWdlXG4gICAgICAgIH1cXG4ke0dPX1RPX0FJX1RFWFR9XFxuJHtKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKX1gLClcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgICB9XG5cbiAgICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICAgIGlmIChoZWFkZXI/LmdldD8uKCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2pzb24nKSkge1xuICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QocmVzcG9uc2VEYXRhIGFzIFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KVxuICAgICAgdGhyb3dJZkVycm9yKGpzb24pXG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsKFxuICAgIG1vZGVsOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGRlZmF1bHRNb2RlbFN1YlVybD86IHN0cmluZ1xuICAgIH0sXG4gICkge1xuICAgIGxldCBzaW1wbGVNb2RlbDogdHlwZXMuU2ltcGxlQ2hhdE1vZGVsXG5cbiAgICBjb25zdCBTaW1wbGVNb2RlbENvbnN0cnVjdG9yID0gTU9ERUxTW21vZGVsXVxuICAgIGlmIChTaW1wbGVNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgICBzaW1wbGVNb2RlbCA9IG5ldyBTaW1wbGVNb2RlbENvbnN0cnVjdG9yKHRoaXMubW9kZWxSZXF1ZXN0LCB0aGlzLmFpQmFzZVVybClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3ViVXJsID0gdHlwZW9mIG9wdGlvbnM/LmRlZmF1bHRNb2RlbFN1YlVybCA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmRlZmF1bHRNb2RlbFN1YlVybCA6ICcvY2hhdC9jb21wbGV0aW9ucydcblxuICAgICAgc2ltcGxlTW9kZWwgPSBuZXcgbW9kZWxzLkRlZmF1bHRTaW1wbGVNb2RlbCh0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwsIGAke21vZGVsfSR7c3ViVXJsfWApXG4gICAgfVxuXG4gICAgY29uc3QgcmVhY3RNb2RlbCA9IG5ldyBtb2RlbHMuUmVhY3RNb2RlbChzaW1wbGVNb2RlbClcbiAgICByZXR1cm4gcmVhY3RNb2RlbFxuICB9XG5cbiAgcmVnaXN0ZXJNb2RlbChuYW1lOiBzdHJpbmcsIG1vZGVsOiB0eXBlcy5DaGF0TW9kZWxDb25zdHJ1Y3Rvcikge1xuICAgIGlmIChNT0RFTFNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBtb2RlbCAke25hbWV9IGFscmVhZHkgZXhpc3RzIWApXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgTU9ERUxTW25hbWVdID0gbW9kZWxcbiAgfVxuXG4gIGNyZWF0ZUltYWdlTW9kZWw8VCBleHRlbmRzICdodW55dWFuLWltYWdlJyB8ICdjbG91ZGJhc2UnIHwgKHN0cmluZyAmIHt9KT4ocHJvdmlkZXI6IFQpIHtcbiAgICByZXR1cm4gbmV3IG1vZGVscy5EZWZhdWx0SW1hZ2VNb2RlbDxUPih0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwsIHByb3ZpZGVyKVxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHsgW3RoaXMuaTE4bj8uTEFOR19IRUFERVJfS0VZXTogdGhpcy5pMThuPy5sYW5nLCAuLi5mZXRjaEhlYWRlcnMsIC4uLmhlYWRlcnMgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgdXJsOiB0aGlzLnJlc29sdmVVcmwodXJsKSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG4gIH1cblxuICBib3RSZXF1ZXN0OiB0eXBlcy5Cb3RSZXEgPSBhc3luYyAoeyBtZXRob2QsIHVybCwgZGF0YSA9IHt9LCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVkVXJsID0gdGhpcy5yZXNvbHZlVXJsKHVybClcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVzcG9uc2VEYXRhKChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7IHVybDogYCR7cmVzb2x2ZWRVcmx9PyR7b2JqZWN0VG9QYXJhbShkYXRhKX1gLCBtZXRob2QsIGhlYWRlcnMsIHN0cmVhbSwgdGltZW91dCB9KSkuZGF0YSwpXG4gICAgfVxuXG4gICAgY29uc3QgZmV0Y2hIZWFkZXJzID0ge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9XG4gICAgLy8g5bimIEFjY2VwdDogdGV4dC9ldmVudC1zdHJlYW0gIOivt+axguWktOaYvuW8j+aMh+WumuaYryBTU0Ug57uV6L+HIDYwcyDnmoTpmZDliLZcbiAgICBzdHJlYW0gJiYgT2JqZWN0LmFzc2lnbihmZXRjaEhlYWRlcnMsIHsgQWNjZXB0OiAndGV4dC9ldmVudC1zdHJlYW0nIH0pXG5cbiAgICBjb25zdCB7IGRhdGE6IHJlc3BvbnNlRGF0YSwgaGVhZGVyIH0gPSAoYXdhaXQgdGhpcy5yZXEuZmV0Y2goe1xuICAgICAgdXJsOiByZXNvbHZlZFVybCxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBbdGhpcy5pMThuPy5MQU5HX0hFQURFUl9LRVldOiB0aGlzLmkxOG4/LmxhbmcsXG4gICAgICAgIC4uLmZldGNoSGVhZGVycyxcbiAgICAgICAgLi4uaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICBzdHJlYW0sXG4gICAgICBtZXRob2QsXG4gICAgICB0aW1lb3V0LFxuICAgIH0pKSBhcyB7IGRhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PjsgaGVhZGVyPzogSGVhZGVycyB9XG5cbiAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9QYXJhbShvYmo6IE9iamVjdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRnVuY3Rpb25Ub29sKGZ1bmN0aW9uVG9vbDogdHlwZXMuRnVuY3Rpb25Ub29sKSB7XG4gICAgaWYgKG1vZGVscy50b29sTWFwLmhhcyhmdW5jdGlvblRvb2wubmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgZnVuY3Rpb24gdG9vbCAke2Z1bmN0aW9uVG9vbC5uYW1lfSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiFgKVxuICAgIH1cbiAgICBtb2RlbHMudG9vbE1hcC5zZXQoZnVuY3Rpb25Ub29sLm5hbWUsIGZ1bmN0aW9uVG9vbC5mbilcbiAgfVxuXG4gIC8qKiDliqjmgIHmm7/mjaIgVVJMIOS4reeahCBvcmlnaW4g6YOo5YiG77yM5pSv5oyBIHJlZ2lzdGVyRW5kUG9pbnRXaXRoS2V5IOWQjueUn+aViCAqL1xuICBwcml2YXRlIHJlc29sdmVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fZ2V0QmFzZVVybCkgcmV0dXJuIHVybFxuICAgIGNvbnN0IGN1cnJlbnRCYXNlID0gdGhpcy5fZ2V0QmFzZVVybCgpXG4gICAgaWYgKGN1cnJlbnRCYXNlICE9PSB0aGlzLmJhc2VVcmwgJiYgdXJsLnN0YXJ0c1dpdGgodGhpcy5iYXNlVXJsKSkge1xuICAgICAgcmV0dXJuIHVybC5yZXBsYWNlKHRoaXMuYmFzZVVybCwgY3VycmVudEJhc2UpXG4gICAgfVxuICAgIHJldHVybiB1cmxcbiAgfVxufVxuXG5leHBvcnQgeyBBSSB9XG4iXX0=
@@ -1,9 +1,10 @@
1
- import type { ModelReq, HunyuanGenerateImageInput, HunyuanGenerateImageOutput, HunyuanARGenerateImageInput, HunyuanARGenerateImageOutput } from '../type';
1
+ import type { ModelReq, HunyuanGenerateImageInput, HunyuanGenerateImageOutput, HunyuanARGenerateImageInput, HunyuanARGenerateImageOutput, CloudbaseGenerateImageInput, CloudbaseGenerateImageOutput } from '../type';
2
2
  interface HunyuanImageGenerateFn {
3
3
  (input: HunyuanARGenerateImageInput): Promise<HunyuanARGenerateImageOutput>;
4
4
  (input: HunyuanGenerateImageInput): Promise<HunyuanGenerateImageOutput>;
5
5
  }
6
- type GenerateImageFn<TProvider> = TProvider extends 'hunyuan-image' ? HunyuanImageGenerateFn : (input: unknown) => Promise<unknown>;
6
+ type CloudbaseImageGenerateFn = (input: CloudbaseGenerateImageInput) => Promise<CloudbaseGenerateImageOutput>;
7
+ type GenerateImageFn<TProvider> = TProvider extends 'hunyuan-image' ? HunyuanImageGenerateFn : TProvider extends 'cloudbase' ? CloudbaseImageGenerateFn : (input: unknown) => Promise<unknown>;
7
8
  export declare class DefaultImageModel<TProvider extends string> {
8
9
  private req;
9
10
  baseUrl: string;
@@ -13,6 +14,9 @@ export declare class DefaultImageModel<TProvider extends string> {
13
14
  generateImage: GenerateImageFn<TProvider>;
14
15
  constructor(req: ModelReq, baseUrl: string, provider: TProvider);
15
16
  private generateImageImpl;
17
+ private validateInput;
18
+ private assertHunyuanInput;
19
+ private resolveSubUrl;
16
20
  private getGenerateUrl;
17
21
  private getGenerateImageSubUrl;
18
22
  }