@compassdigital/sdk.typescript 3.0.0-beta.5 → 3.0.0-beta.7

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/README.md CHANGED
@@ -2,8 +2,13 @@
2
2
 
3
3
  Compass Digital Labs TypeScript SDK
4
4
 
5
- ## Example Client Usage
5
+ ## Install
6
6
 
7
+ ```
8
+ $ npm install --save @compassdigital/sdk.typescript@latest
9
+ ```
10
+
11
+ ## Example Client Usage
7
12
 
8
13
  ``` typescript
9
14
  import { ServiceClient } from "@compassdigital/sdk.typescript";
@@ -18,13 +23,12 @@ async function main() {
18
23
  ## Example Server Usage
19
24
 
20
25
  ``` typescript
21
- import { PostPaymentTokenRequest, PostPaymentTokenResponse } from "@compassdigital/sdk.typescript/payment";
22
- import { Provider } from "@compassdigital/provider";
23
- import { NextFn } from "@compassdigital/provider/interface"
26
+ import Provider from "@compassdigital/provider";
27
+ import { GetTaskRequest, GetTaskResponse } from "@compassdigital/sdk.typescript/task";
24
28
 
25
29
  const provider = new Provider({ type: "payment" });
26
30
 
27
- provider.on("post_payment_token", function (req: PostPaymentTokenRequest, next: NextFn<PostPaymentTokenResponse>): void {
31
+ provider.on<GetTaskRequest, GetTaskResponse>("get_task", function (req, next): void {
28
32
  // ...
29
33
  })
30
34
  ```
package/gen.ts CHANGED
@@ -233,7 +233,7 @@ class CodeGenerator {
233
233
  }
234
234
  options.setProperty("query", query);
235
235
  }
236
- options.merge(new Schema("RequestOptions"));
236
+ options.merge(new Schema("Options"));
237
237
  method.params.push({
238
238
  name: "options",
239
239
  type: Printer.type(options),
package/lib/base.d.ts CHANGED
@@ -5,10 +5,21 @@ export interface RequestOptions {
5
5
  debug?: boolean;
6
6
  retry?: number;
7
7
  base_url?: string;
8
+ allow_404?: true;
9
+ }
10
+ export interface ServiceClientOptions extends Omit<RequestOptions, "allow_404"> {
11
+ }
12
+ export declare type ResponseType<T, Options extends RequestOptions> = Promise<T | (Options["allow_404"] extends true ? null : never)>;
13
+ export declare class ServiceError extends Error {
14
+ status: number;
15
+ code: number;
16
+ constructor(status: number, // http status
17
+ code: number, // service error code
18
+ message: string);
8
19
  }
9
20
  export declare abstract class BaseServiceClient {
10
21
  private options;
11
- constructor(options?: RequestOptions);
22
+ constructor(options?: ServiceClientOptions);
12
23
  /**
13
24
  * Combine the route and query parameters into a full url.
14
25
  */
package/lib/base.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,iBAAiB;IACrC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,CAAC,EAAE,cAAc;IAIpC;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,MAAM;cAIE,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,GAAG,EACT,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,cAAmB,GAC7C,OAAO,CAAC,GAAG,CAAC;CAmChB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;CAAG;AAElF,oBAAY,YAAY,CAAC,CAAC,EAAE,OAAO,SAAS,cAAc,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AAE9H,qBAAa,YAAa,SAAQ,KAAK;IAE5B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;gBADZ,MAAM,EAAE,MAAM,EAAE,cAAc;IAC9B,IAAI,EAAE,MAAM,EAAI,qBAAqB;IAC5C,OAAO,EAAE,MAAM;CAKlB;AAED,8BAAsB,iBAAiB;IACrC,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,CAAC,EAAE,oBAAoB;IAI1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,MAAM;cAIE,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,GAAG,EACT,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,cAAmB,GAC7C,OAAO,CAAC,GAAG,CAAC;CA8ChB"}
package/lib/base.js CHANGED
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  var __assign = (this && this.__assign) || function () {
3
18
  __assign = Object.assign || function(t) {
4
19
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -50,8 +65,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
65
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
66
  };
52
67
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.BaseServiceClient = void 0;
68
+ exports.BaseServiceClient = exports.ServiceError = void 0;
54
69
  var cross_fetch_1 = __importDefault(require("cross-fetch"));
70
+ var ServiceError = /** @class */ (function (_super) {
71
+ __extends(ServiceError, _super);
72
+ function ServiceError(status, // http status
73
+ code, // service error code
74
+ message // service error message
75
+ ) {
76
+ var _this = _super.call(this, message) || this;
77
+ _this.status = status;
78
+ _this.code = code;
79
+ _this.name = "ServiceError";
80
+ return _this;
81
+ }
82
+ return ServiceError;
83
+ }(Error));
84
+ exports.ServiceError = ServiceError;
55
85
  var BaseServiceClient = /** @class */ (function () {
56
86
  function BaseServiceClient(options) {
57
87
  this.options = options !== null && options !== void 0 ? options : {};
@@ -87,7 +117,7 @@ var BaseServiceClient = /** @class */ (function () {
87
117
  var _a;
88
118
  if (options === void 0) { options = {}; }
89
119
  return __awaiter(this, void 0, void 0, function () {
90
- var url, headers, req, res, text, data;
120
+ var url, headers, req, res, text, err, data_1, data;
91
121
  return __generator(this, function (_b) {
92
122
  switch (_b.label) {
93
123
  case 0:
@@ -111,6 +141,9 @@ var BaseServiceClient = /** @class */ (function () {
111
141
  case 1:
112
142
  res = _b.sent();
113
143
  if (!!res.ok) return [3 /*break*/, 3];
144
+ if (options.allow_404 && res.status === 404) {
145
+ return [2 /*return*/, null];
146
+ }
114
147
  return [4 /*yield*/, res.text()];
115
148
  case 2:
116
149
  text = _b.sent();
@@ -121,7 +154,16 @@ var BaseServiceClient = /** @class */ (function () {
121
154
  options.retry--;
122
155
  return [2 /*return*/, this.request(method, route, body, options)];
123
156
  }
124
- throw new Error(text);
157
+ err = new ServiceError(res.status, res.status, text);
158
+ try {
159
+ data_1 = JSON.parse(text);
160
+ if (data_1.code && (data_1.message || data_1.error)) {
161
+ err.code = data_1.code;
162
+ err.message = data_1.message || data_1.error;
163
+ }
164
+ }
165
+ catch (_) { }
166
+ throw err;
125
167
  case 3: return [4 /*yield*/, res.json()];
126
168
  case 4:
127
169
  data = _b.sent();
package/lib/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4DAAgC;AAWhC;IAGE,2BAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,qCAAS,GAAjB,UAAkB,KAAa,EAAE,EAA2C,EAAE,MAAW;YAAtD,QAAQ,cAAA,EAAE,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA;QACxD,IAAI,GAAG,GAAG,oCAAkC,KAAK,GAAG,KAAO,CAAC;QAC5D,wCAAwC;QACxC,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAClC;YACD,GAAG,GAAG,KAAG,QAAQ,GAAG,KAAO,CAAC;SAC7B;QACD,wBAAwB;QACxB,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAA4B,UAAsB,EAAtB,KAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAAzC,IAAA,WAAa,EAAZ,MAAI,QAAA,EAAE,KAAK,QAAA;YACrB,KAAK,CAAC,IAAI,CAAI,kBAAkB,CAAC,MAAI,CAAC,SAAI,kBAAkB,CAAC,KAAY,CAAG,CAAC,CAAC;SAC/E;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,kCAAM,GAAd,UAAe,GAAa;QAC1B,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;IAC/C,CAAC;IAEe,mCAAO,GAAvB,UACE,MAAc,EACd,KAAa,EACb,IAAS,EACT,OAA8C;;QAA9C,wBAAA,EAAA,YAA8C;;;;;;wBAE9C,OAAO,yBAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;wBACpC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;wBAC1D,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,eAAe,CAAC,GAAG,YAAU,OAAO,CAAC,KAAO,CAAC;yBACtD;wBACK,GAAG,GAAgB;4BACvB,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,OAAO;yBACjB,CAAC;wBACF,IAAI,IAAI,EAAE;4BACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBACjC;wBACD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,GAAG,CAAC,SAAO,MAAM,CAAC,WAAW,EAAE,MAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;yBAChF;wBACW,qBAAM,IAAA,qBAAK,EAAC,GAAG,EAAE,GAAG,CAAC,EAAA;;wBAA3B,GAAG,GAAG,SAAqB;6BAC7B,CAAC,GAAG,CAAC,EAAE,EAAP,wBAAO;wBACI,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;;wBAAvB,IAAI,GAAG,SAAgB;wBAC7B,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,GAAG,CAAC,SAAO,GAAG,CAAC,MAAM,MAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;yBAC9C;wBACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;4BAC/E,OAAO,CAAC,KAAK,EAAE,CAAC;4BAChB,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAC;yBACnD;wBACD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;4BAEX,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;;wBAAvB,IAAI,GAAG,SAAgB;wBAC7B,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,GAAG,CAAC,SAAO,GAAG,CAAC,MAAM,MAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;yBACvE;wBACD,sBAAO,IAAI,EAAC;;;;KACb;IACH,wBAAC;AAAD,CAAC,AA1ED,IA0EC;AA1EqB,8CAAiB"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4DAAgC;AAgBhC;IAAkC,gCAAK;IACrC,sBACS,MAAc,EAAE,cAAc;IAC9B,IAAY,EAAI,qBAAqB;IAC5C,OAAe,CAAC,wBAAwB;;QAH1C,YAKE,kBAAM,OAAO,CAAC,SAEf;QANQ,YAAM,GAAN,MAAM,CAAQ;QACd,UAAI,GAAJ,IAAI,CAAQ;QAInB,KAAI,CAAC,IAAI,GAAG,cAAc,CAAC;;IAC7B,CAAC;IACH,mBAAC;AAAD,CAAC,AATD,CAAkC,KAAK,GAStC;AATY,oCAAY;AAWzB;IAGE,2BAAY,OAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,qCAAS,GAAjB,UAAkB,KAAa,EAAE,EAA2C,EAAE,MAAW;YAAtD,QAAQ,cAAA,EAAE,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA;QACxD,IAAI,GAAG,GAAG,oCAAkC,KAAK,GAAG,KAAO,CAAC;QAC5D,wCAAwC;QACxC,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAClC;YACD,GAAG,GAAG,KAAG,QAAQ,GAAG,KAAO,CAAC;SAC7B;QACD,wBAAwB;QACxB,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAA4B,UAAsB,EAAtB,KAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAAzC,IAAA,WAAa,EAAZ,MAAI,QAAA,EAAE,KAAK,QAAA;YACrB,KAAK,CAAC,IAAI,CAAI,kBAAkB,CAAC,MAAI,CAAC,SAAI,kBAAkB,CAAC,KAAY,CAAG,CAAC,CAAC;SAC/E;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,kCAAM,GAAd,UAAe,GAAa;QAC1B,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;IAC/C,CAAC;IAEe,mCAAO,GAAvB,UACE,MAAc,EACd,KAAa,EACb,IAAS,EACT,OAA8C;;QAA9C,wBAAA,EAAA,YAA8C;;;;;;wBAE9C,OAAO,yBAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;wBACpC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;wBAC1D,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,eAAe,CAAC,GAAG,YAAU,OAAO,CAAC,KAAO,CAAC;yBACtD;wBACK,GAAG,GAAgB;4BACvB,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,OAAO;yBACjB,CAAC;wBACF,IAAI,IAAI,EAAE;4BACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBACjC;wBACD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,GAAG,CAAC,SAAO,MAAM,CAAC,WAAW,EAAE,MAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;yBAChF;wBACW,qBAAM,IAAA,qBAAK,EAAC,GAAG,EAAE,GAAG,CAAC,EAAA;;wBAA3B,GAAG,GAAG,SAAqB;6BAC7B,CAAC,GAAG,CAAC,EAAE,EAAP,wBAAO;wBACT,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC3C,sBAAO,IAAI,EAAC;yBACb;wBACY,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;;wBAAvB,IAAI,GAAG,SAAgB;wBAC7B,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,GAAG,CAAC,SAAO,GAAG,CAAC,MAAM,MAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;yBAC9C;wBACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;4BAC/E,OAAO,CAAC,KAAK,EAAE,CAAC;4BAChB,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAC;yBACnD;wBACK,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC3D,IAAI;4BACI,SAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC9B,IAAI,MAAI,CAAC,IAAI,IAAI,CAAC,MAAI,CAAC,OAAO,IAAI,MAAI,CAAC,KAAK,CAAC,EAAE;gCAC7C,GAAG,CAAC,IAAI,GAAG,MAAI,CAAC,IAAI,CAAC;gCACrB,GAAG,CAAC,OAAO,GAAG,MAAI,CAAC,OAAO,IAAI,MAAI,CAAC,KAAK,CAAC;6BAC1C;yBACF;wBAAC,OAAO,CAAC,EAAE,GAAE;wBACd,MAAM,GAAG,CAAC;4BAEC,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;;wBAAvB,IAAI,GAAG,SAAgB;wBAC7B,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,OAAO,CAAC,GAAG,CAAC,SAAO,GAAG,CAAC,MAAM,MAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;yBACvE;wBACD,sBAAO,IAAI,EAAC;;;;KACb;IACH,wBAAC;AAAD,CAAC,AArFD,IAqFC;AArFqB,8CAAiB"}