zephyr-edge-contract 0.0.10 → 0.0.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zephyr-edge-contract",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "license": "Apache-2.0",
5
5
  "scripts": {
6
6
  "build": "nx build zephyr-edge-contract"
package/src/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export { ZeWebpackPluginOptions } from './lib/plugin-options/ze-webpack-plugin-o
11
11
  export { ZephyrPluginOptions } from './lib/plugin-options/zephyr-plugin-options';
12
12
  export { ZEPHYR_API_ENDPOINT, v2_api_paths, } from './lib/api-contract-negotiation/get-api-contract';
13
13
  export { ze_log, ze_error, is_debug_enabled } from './lib/utils/debug';
14
+ export { safe_json_parse } from './lib/utils/safe-json-parse';
14
15
  export { request } from './lib/utils/ze-http-request';
15
16
  export { LocalPackageJson } from './lib/ze-api/local-package-json';
16
17
  export { ConvertedGraph } from './lib/ze-api/converted-graph';
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.request = exports.is_debug_enabled = exports.ze_error = exports.ze_log = exports.v2_api_paths = exports.ZEPHYR_API_ENDPOINT = exports.saveAppConfig = exports.remoteAppConfig = exports.getAppConfig = exports.cleanTokens = exports.removeToken = exports.getToken = exports.saveToken = exports.createSnapshotId = exports.createFullAppName = void 0;
3
+ exports.request = exports.safe_json_parse = exports.is_debug_enabled = exports.ze_error = exports.ze_log = exports.v2_api_paths = exports.ZEPHYR_API_ENDPOINT = exports.saveAppConfig = exports.remoteAppConfig = exports.getAppConfig = exports.cleanTokens = exports.removeToken = exports.getToken = exports.saveToken = exports.createSnapshotId = exports.createFullAppName = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var create_full_app_name_1 = require("./lib/utils/create-full-app-name");
6
6
  Object.defineProperty(exports, "createFullAppName", { enumerable: true, get: function () { return create_full_app_name_1.createFullAppName; } });
@@ -23,6 +23,8 @@ var debug_1 = require("./lib/utils/debug");
23
23
  Object.defineProperty(exports, "ze_log", { enumerable: true, get: function () { return debug_1.ze_log; } });
24
24
  Object.defineProperty(exports, "ze_error", { enumerable: true, get: function () { return debug_1.ze_error; } });
25
25
  Object.defineProperty(exports, "is_debug_enabled", { enumerable: true, get: function () { return debug_1.is_debug_enabled; } });
26
+ var safe_json_parse_1 = require("./lib/utils/safe-json-parse");
27
+ Object.defineProperty(exports, "safe_json_parse", { enumerable: true, get: function () { return safe_json_parse_1.safe_json_parse; } });
26
28
  var ze_http_request_1 = require("./lib/utils/ze-http-request");
27
29
  Object.defineProperty(exports, "request", { enumerable: true, get: function () { return ze_http_request_1.request; } });
28
30
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/zephyr-edge-contract/src/index.ts"],"names":[],"mappings":";;;;AAAA,yEAAqE;AAA5D,yHAAA,iBAAiB,OAAA;AAC1B,qEAAkE;AAAzD,sHAAA,gBAAgB,OAAA;AAOzB,qEAA2C;AAE3C,kDAKkC;AAJhC,kGAAA,SAAS,OAAA;AACT,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AAGb,0FAKsD;AAHpD,yHAAA,YAAY,OAAA;AACZ,4HAAA,eAAe,OAAA;AACf,0HAAA,aAAa,OAAA;AAMf,oFAGyD;AAFvD,uHAAA,mBAAmB,OAAA;AACnB,gHAAA,YAAY,OAAA;AAGd,2CAAuE;AAA9D,+FAAA,MAAM,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC3C,+DAAsD;AAA7C,0GAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/zephyr-edge-contract/src/index.ts"],"names":[],"mappings":";;;;AAAA,yEAAqE;AAA5D,yHAAA,iBAAiB,OAAA;AAC1B,qEAAkE;AAAzD,sHAAA,gBAAgB,OAAA;AAOzB,qEAA2C;AAE3C,kDAKkC;AAJhC,kGAAA,SAAS,OAAA;AACT,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AAGb,0FAKsD;AAHpD,yHAAA,YAAY,OAAA;AACZ,4HAAA,eAAe,OAAA;AACf,0HAAA,aAAa,OAAA;AAMf,oFAGyD;AAFvD,uHAAA,mBAAmB,OAAA;AACnB,gHAAA,YAAY,OAAA;AAGd,2CAAuE;AAA9D,+FAAA,MAAM,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC3C,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AACxB,+DAAsD;AAA7C,0GAAA,OAAO,OAAA"}
@@ -1,5 +1,6 @@
1
- export declare const ZEPHYR_API_ENDPOINT: string;
1
+ export declare const ZEPHYR_API_ENDPOINT: () => string;
2
2
  export declare const v2_api_paths: {
3
+ application_logs: string;
3
4
  dashboard_path: string;
4
5
  resolve_dependency_path: string;
5
6
  authorize_link: string;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.v2_api_paths = exports.ZEPHYR_API_ENDPOINT = void 0;
5
- exports.ZEPHYR_API_ENDPOINT = (_a = process.env['ZE_API']) !== null && _a !== void 0 ? _a : 'https://api.zephyr-cloud.io';
4
+ const ZEPHYR_API_ENDPOINT = () => { var _a; return (_a = process.env['ZE_API']) !== null && _a !== void 0 ? _a : 'https://api.zephyr-cloud.io'; };
5
+ exports.ZEPHYR_API_ENDPOINT = ZEPHYR_API_ENDPOINT;
6
6
  exports.v2_api_paths = {
7
+ application_logs: '/v2/application/logs',
7
8
  dashboard_path: '/v2/builder-packages-api/upload-from-dashboard-plugin',
8
9
  resolve_dependency_path: '/v2/builder-public-api/resolve',
9
10
  authorize_link: '/v2/authorize-link',
@@ -1 +1 @@
1
- {"version":3,"file":"get-api-contract.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/api-contract-negotiation/get-api-contract.ts"],"names":[],"mappings":";;;;AAAa,QAAA,mBAAmB,GAC9B,MAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,6BAA6B,CAAC;AAE5C,QAAA,YAAY,GAAG;IAC1B,cAAc,EAAE,uDAAuD;IACvE,uBAAuB,EAAE,gCAAgC;IACzD,cAAc,EAAE,oBAAoB;IACpC,yBAAyB,EAAE,6CAA6C;CACzE,CAAC"}
1
+ {"version":3,"file":"get-api-contract.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/api-contract-negotiation/get-api-contract.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,GAAG,EAAE,WACtC,OAAA,MAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,6BAA6B,CAAA,EAAA,CAAC;AAD5C,QAAA,mBAAmB,uBACyB;AAE5C,QAAA,YAAY,GAAG;IAC1B,gBAAgB,EAAE,sBAAsB;IACxC,cAAc,EAAE,uDAAuD;IACvE,uBAAuB,EAAE,gCAAgC;IACzD,cAAc,EAAE,oBAAoB;IACpC,yBAAyB,EAAE,6CAA6C;CACzE,CAAC"}
@@ -8,6 +8,6 @@ export interface ZeApplicationConfig {
8
8
  EDGE_URL: string;
9
9
  jwt: string;
10
10
  }
11
- export declare function saveAppConfig(json: ZeApplicationConfig): Promise<void>;
12
- export declare function getAppConfig(): Promise<ZeApplicationConfig | undefined>;
13
- export declare function remoteAppConfig(): Promise<void>;
11
+ export declare function saveAppConfig(application_uid: string, json: ZeApplicationConfig): Promise<void>;
12
+ export declare function getAppConfig(application_uid: string): Promise<ZeApplicationConfig | undefined>;
13
+ export declare function remoteAppConfig(application_uid: string): Promise<void>;
@@ -9,24 +9,27 @@ const storage_keys_1 = require("./storage-keys");
9
9
  const storage = (0, node_persist_1.init)({
10
10
  dir: (0, node_path_1.join)((0, node_os_1.homedir)(), storage_keys_1.ZE_PATH),
11
11
  });
12
- function saveAppConfig(json) {
12
+ function get_key(application_uid) {
13
+ return ["ze-application-configuration" /* StorageKeys.ze_app_config_token */, application_uid].join('.');
14
+ }
15
+ function saveAppConfig(application_uid, json) {
13
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
17
  yield storage;
15
- void (yield (0, node_persist_1.setItem)("ze-application-configuration" /* StorageKeys.ze_app_config_token */, json));
18
+ void (yield (0, node_persist_1.setItem)(get_key(application_uid), json));
16
19
  });
17
20
  }
18
21
  exports.saveAppConfig = saveAppConfig;
19
- function getAppConfig() {
22
+ function getAppConfig(application_uid) {
20
23
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
24
  yield storage;
22
- return (0, node_persist_1.getItem)("ze-application-configuration" /* StorageKeys.ze_app_config_token */);
25
+ return (0, node_persist_1.getItem)(get_key(application_uid));
23
26
  });
24
27
  }
25
28
  exports.getAppConfig = getAppConfig;
26
- function remoteAppConfig() {
29
+ function remoteAppConfig(application_uid) {
27
30
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
31
  yield storage;
29
- yield (0, node_persist_1.removeItem)("ze-application-configuration" /* StorageKeys.ze_app_config_token */);
32
+ yield (0, node_persist_1.removeItem)(get_key(application_uid));
30
33
  });
31
34
  }
32
35
  exports.remoteAppConfig = remoteAppConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"application-configuration.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/node-persist/application-configuration.ts"],"names":[],"mappings":";;;;AAAA,+CAAkE;AAClE,qCAAkC;AAClC,yCAAiC;AACjC,iDAAsD;AAatD,MAAM,OAAO,GAAG,IAAA,mBAAI,EAAC;IACnB,GAAG,EAAE,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,sBAAO,CAAC;CAC9B,CAAC,CAAC;AAEH,SAAsB,aAAa,CAAC,IAAyB;;QAC3D,MAAM,OAAO,CAAC;QACd,KAAK,CAAC,MAAM,IAAA,sBAAO,wEAAkC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;CAAA;AAHD,sCAGC;AAED,SAAsB,YAAY;;QAChC,MAAM,OAAO,CAAC;QACd,OAAO,IAAA,sBAAO,uEAAiC,CAAC;IAClD,CAAC;CAAA;AAHD,oCAGC;AAED,SAAsB,eAAe;;QACnC,MAAM,OAAO,CAAC;QACd,MAAM,IAAA,yBAAU,uEAAiC,CAAC;IACpD,CAAC;CAAA;AAHD,0CAGC"}
1
+ {"version":3,"file":"application-configuration.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/node-persist/application-configuration.ts"],"names":[],"mappings":";;;;AAAA,+CAAkE;AAClE,qCAAkC;AAClC,yCAAiC;AACjC,iDAAsD;AAatD,MAAM,OAAO,GAAG,IAAA,mBAAI,EAAC;IACnB,GAAG,EAAE,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,sBAAO,CAAC;CAC9B,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,eAAuB;IACtC,OAAO,uEAAkC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAsB,aAAa,CACjC,eAAuB,EACvB,IAAyB;;QAEzB,MAAM,OAAO,CAAC;QACd,KAAK,CAAC,MAAM,IAAA,sBAAO,EAAC,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CAAA;AAND,sCAMC;AAED,SAAsB,YAAY,CAChC,eAAuB;;QAEvB,MAAM,OAAO,CAAC;QACd,OAAO,IAAA,sBAAO,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3C,CAAC;CAAA;AALD,oCAKC;AAED,SAAsB,eAAe,CAAC,eAAuB;;QAC3D,MAAM,OAAO,CAAC;QACd,MAAM,IAAA,yBAAU,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,CAAC;CAAA;AAHD,0CAGC"}
@@ -0,0 +1 @@
1
+ export declare function safe_json_parse<T = Record<string, unknown>>(str: string): T | undefined;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.safe_json_parse = void 0;
4
+ function safe_json_parse(str) {
5
+ try {
6
+ return JSON.parse(str);
7
+ }
8
+ catch (_a) {
9
+ return;
10
+ }
11
+ }
12
+ exports.safe_json_parse = safe_json_parse;
13
+ //# sourceMappingURL=safe-json-parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-json-parse.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/utils/safe-json-parse.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAC7B,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AARD,0CAQC"}
@@ -6,6 +6,7 @@ const http = tslib_1.__importStar(require("node:http"));
6
6
  const https = tslib_1.__importStar(require("node:https"));
7
7
  const debug_1 = require("./debug");
8
8
  const token_1 = require("../node-persist/token");
9
+ const safe_json_parse_1 = require("./safe-json-parse");
9
10
  function request(url, options, data) {
10
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
12
  const _https = url.protocol !== 'https:' ? http : https;
@@ -21,21 +22,22 @@ function request(url, options, data) {
21
22
  const response = [];
22
23
  res.on('data', (d) => response.push(d));
23
24
  res.on('end', () => {
24
- var _a;
25
+ var _a, _b, _c;
25
26
  const _response = (_a = Buffer.concat(response)) === null || _a === void 0 ? void 0 : _a.toString();
26
27
  if (_response === 'Not Implemented')
27
- return reject(`Response for ${url} is ${_response}`);
28
- (0, debug_1.ze_log)(`Response from ${url}`, _response);
29
- try {
30
- resolve(JSON.parse(_response));
31
- }
32
- catch (_b) {
33
- resolve(_response);
28
+ return reject(`[zephyr]: Response for ${url} is ${_response}`);
29
+ const parsed_response = (0, safe_json_parse_1.safe_json_parse)(_response);
30
+ if ((typeof res.statusCode === 'number' && res.statusCode > 299) ||
31
+ (typeof (parsed_response === null || parsed_response === void 0 ? void 0 : parsed_response.status) === 'number' &&
32
+ (parsed_response === null || parsed_response === void 0 ? void 0 : parsed_response.status) > 299)) {
33
+ return reject(`[zephyr]: Error from ${url}: \n ${(_b = parsed_response === null || parsed_response === void 0 ? void 0 : parsed_response.message) !== null && _b !== void 0 ? _b : _response}`);
34
34
  }
35
+ (0, debug_1.ze_log)(`[zephyr]: Response from ${url}`, _response);
36
+ resolve((_c = parsed_response) !== null && _c !== void 0 ? _c : _response);
35
37
  });
36
38
  }));
37
39
  req.on('error', (e) => {
38
- (0, debug_1.ze_error)(`Failed to request ${url.toString()}`, e);
40
+ (0, debug_1.ze_error)(`[zephyr]: Failed to request ${url.toString()}`, e);
39
41
  reject(e);
40
42
  });
41
43
  if (data) {
@@ -1 +1 @@
1
- {"version":3,"file":"ze-http-request.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/utils/ze-http-request.ts"],"names":[],"mappings":";;;;AAAA,wDAAkC;AAClC,0DAAoC;AAEpC,mCAA2C;AAC3C,iDAAoD;AAEpD,SAAsB,OAAO,CAC3B,GAAQ,EACR,OAA2B,EAC3B,IAAc;;QAEd,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,cAAM,EAAC,cAAc,GAAG,EAAE,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CACxB,GAAG,EACH,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EACb,CAAO,GAAyB,EAAE,EAAE;gBAClC,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACrD,MAAM,IAAA,mBAAW,GAAE,CAAC;oBACpB,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,iDAAiD,CAClD,CAAC;oBACF,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;oBACnB,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;;oBACjB,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAAE,QAAQ,EAAE,CAAC;oBACtD,IAAI,SAAS,KAAK,iBAAiB;wBACjC,OAAO,MAAM,CAAC,gBAAgB,GAAG,OAAO,SAAS,EAAE,CAAC,CAAC;oBACvD,IAAA,cAAM,EAAC,iBAAiB,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;oBAC1C,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBACjC,CAAC;oBAAC,WAAM,CAAC;wBACP,OAAO,CAAC,SAAS,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAA,CACF,CAAC;YAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE;gBAC7B,IAAA,gBAAQ,EAAC,qBAAqB,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAjDD,0BAiDC"}
1
+ {"version":3,"file":"ze-http-request.js","sourceRoot":"","sources":["../../../../../../libs/zephyr-edge-contract/src/lib/utils/ze-http-request.ts"],"names":[],"mappings":";;;;AACA,wDAAkC;AAClC,0DAAoC;AACpC,mCAA2C;AAC3C,iDAAoD;AACpD,uDAAoD;AAEpD,SAAsB,OAAO,CAC3B,GAAQ,EACR,OAA2B,EAC3B,IAAc;;QAEd,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,cAAM,EAAC,cAAc,GAAG,EAAE,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CACxB,GAAG,EACH,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EACb,CAAO,GAAyB,EAAE,EAAE;gBAClC,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACrD,MAAM,IAAA,mBAAW,GAAE,CAAC;oBACpB,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,iDAAiD,CAClD,CAAC;oBACF,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;oBACnB,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;;oBACjB,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAAE,QAAQ,EAAE,CAAC;oBACtD,IAAI,SAAS,KAAK,iBAAiB;wBACjC,OAAO,MAAM,CAAC,0BAA0B,GAAG,OAAO,SAAS,EAAE,CAAC,CAAC;oBAEjE,MAAM,eAAe,GAAG,IAAA,iCAAe,EAGpC,SAAS,CAAC,CAAC;oBACd,IACE,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC5D,CAAC,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAA,KAAK,QAAQ;4BAC1C,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,IAAG,GAAG,CAAC,EAChC,CAAC;wBACD,OAAO,MAAM,CACX,wBAAwB,GAAG,QAAQ,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,mCAAI,SAAS,EAAE,CAC3E,CAAC;oBACJ,CAAC;oBACD,IAAA,cAAM,EAAC,2BAA2B,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;oBACpD,OAAO,CAAC,MAAC,eAAqB,mCAAK,SAAoB,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC,CAAA,CACF,CAAC;YAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE;gBAC7B,IAAA,gBAAQ,EAAC,+BAA+B,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7D,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AA3DD,0BA2DC"}