@digipair/skill-temporal 0.19.3 → 0.20.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/package.json
CHANGED
package/schema.json
CHANGED
|
@@ -66,6 +66,34 @@
|
|
|
66
66
|
"x-events": []
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
|
+
"/condition": {
|
|
70
|
+
"post": {
|
|
71
|
+
"tags": ["service"],
|
|
72
|
+
"summary": "Condition d'attente",
|
|
73
|
+
"description": "Condition d'attente dans un workflow",
|
|
74
|
+
"parameters": [
|
|
75
|
+
{
|
|
76
|
+
"name": "condition",
|
|
77
|
+
"summary": "Condition",
|
|
78
|
+
"required": true,
|
|
79
|
+
"description": "Condition d'attente au format Feel",
|
|
80
|
+
"schema": {
|
|
81
|
+
"type": "string"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "timeout",
|
|
86
|
+
"summary": "Timeout",
|
|
87
|
+
"required": false,
|
|
88
|
+
"description": "Timeout de la condition",
|
|
89
|
+
"schema": {
|
|
90
|
+
"type": "number"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"x-events": []
|
|
95
|
+
}
|
|
96
|
+
},
|
|
69
97
|
"/goto": {
|
|
70
98
|
"post": {
|
|
71
99
|
"tags": ["service"],
|
|
@@ -111,6 +139,53 @@
|
|
|
111
139
|
],
|
|
112
140
|
"x-events": []
|
|
113
141
|
}
|
|
142
|
+
},
|
|
143
|
+
"/push": {
|
|
144
|
+
"post": {
|
|
145
|
+
"tags": ["service"],
|
|
146
|
+
"summary": "Envoi de nouvelles données dans un workflow",
|
|
147
|
+
"description": "Envoi de nouvelles données dans le workflow",
|
|
148
|
+
"parameters": [
|
|
149
|
+
{
|
|
150
|
+
"name": "id",
|
|
151
|
+
"summary": "Identifiant du workflow",
|
|
152
|
+
"required": true,
|
|
153
|
+
"description": "Identifiant du workflow",
|
|
154
|
+
"schema": {
|
|
155
|
+
"type": "string"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "data",
|
|
160
|
+
"summary": "Données",
|
|
161
|
+
"required": true,
|
|
162
|
+
"description": "Données",
|
|
163
|
+
"schema": {
|
|
164
|
+
"type": "object"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"x-events": []
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"/terminate": {
|
|
172
|
+
"post": {
|
|
173
|
+
"tags": ["service"],
|
|
174
|
+
"summary": "Arrête un workflow",
|
|
175
|
+
"description": "Arrête un workflow",
|
|
176
|
+
"parameters": [
|
|
177
|
+
{
|
|
178
|
+
"name": "id",
|
|
179
|
+
"summary": "Identifiant du workflow",
|
|
180
|
+
"required": true,
|
|
181
|
+
"description": "Identifiant du workflow",
|
|
182
|
+
"schema": {
|
|
183
|
+
"type": "string"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
"x-events": []
|
|
188
|
+
}
|
|
114
189
|
}
|
|
115
190
|
},
|
|
116
191
|
"components": {
|
|
@@ -123,6 +198,15 @@
|
|
|
123
198
|
"tags": ["service"],
|
|
124
199
|
"metadata": [],
|
|
125
200
|
"parameters": [
|
|
201
|
+
{
|
|
202
|
+
"name": "id",
|
|
203
|
+
"summary": "Identifiant",
|
|
204
|
+
"required": true,
|
|
205
|
+
"description": "Identifiant du workflow",
|
|
206
|
+
"schema": {
|
|
207
|
+
"type": "string"
|
|
208
|
+
}
|
|
209
|
+
},
|
|
126
210
|
{
|
|
127
211
|
"name": "steps",
|
|
128
212
|
"summary": "Exécute les étapes suivantes",
|
|
@@ -2,3 +2,5 @@
|
|
|
2
2
|
import { PinsSettings } from '@digipair/engine';
|
|
3
3
|
export declare const initialize: (adresse: string) => Promise<void>;
|
|
4
4
|
export declare const workflow: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
5
|
+
export declare const push: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
6
|
+
export declare const terminate: (params: any, pinsSettingsList: PinsSettings[], context: any) => Promise<any>;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.workflow = exports.initialize = void 0;
|
|
3
|
+
exports.terminate = exports.push = exports.workflow = exports.initialize = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const client_1 = require("@temporalio/client");
|
|
6
6
|
const worker_1 = require("@temporalio/worker");
|
|
7
|
-
const uuid_1 = require("uuid");
|
|
8
7
|
const workflows_1 = require("./workflows");
|
|
9
8
|
const shared_1 = require("./shared");
|
|
10
9
|
const activities = require("./activities");
|
|
@@ -44,22 +43,45 @@ class TemporalService {
|
|
|
44
43
|
}
|
|
45
44
|
workflow(params, _pinsSettingsList, context) {
|
|
46
45
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
var _a;
|
|
48
|
-
const { steps, options = (_a = context.privates.TEMPORAL_OPTIONS) !== null && _a !== void 0 ? _a : {} } = params;
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
const { id, steps, options = (_a = context.privates.TEMPORAL_OPTIONS) !== null && _a !== void 0 ? _a : {} } = params;
|
|
48
|
+
const prefix = (_c = (_b = context.privates.TEMPORAL_PREFIX) !== null && _b !== void 0 ? _b : process.env['TEMPORAL_PREFIX']) !== null && _c !== void 0 ? _c : `digipair-workflow-${context.request.digipair}-${context.request.reasoning}-`;
|
|
49
49
|
const workflowOptions = Object.assign({
|
|
50
50
|
// RetryPolicy specifies how to automatically handle retries if an Activity fails.
|
|
51
51
|
retry: Object.assign({ initialInterval: '1 second', maximumInterval: '1 minute', backoffCoefficient: 2, maximumAttempts: 500, nonRetryableErrorTypes: [] }, (options.retry || {})), startToCloseTimeout: '1 minute' }, options);
|
|
52
52
|
this.client.start(workflows_1.workflow, {
|
|
53
53
|
args: [{ steps, context, options: workflowOptions }],
|
|
54
54
|
taskQueue: shared_1.taskQueue,
|
|
55
|
-
workflowId:
|
|
55
|
+
workflowId: `${prefix}${id}`,
|
|
56
56
|
});
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
+
push(params, _pinsSettingsList, context) {
|
|
60
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
const { id, data } = params;
|
|
63
|
+
const prefix = (_b = (_a = context.privates.TEMPORAL_PREFIX) !== null && _a !== void 0 ? _a : process.env['TEMPORAL_PREFIX']) !== null && _b !== void 0 ? _b : `digipair-workflow-${context.request.digipair}-${context.request.reasoning}-`;
|
|
64
|
+
const handle = this.client.getHandle(`${prefix}${id}`);
|
|
65
|
+
yield handle.signal(workflows_1.dataSignal, data);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
terminate(params, _pinsSettingsList, context) {
|
|
69
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
var _a, _b;
|
|
71
|
+
const { id } = params;
|
|
72
|
+
const prefix = (_b = (_a = context.privates.TEMPORAL_PREFIX) !== null && _a !== void 0 ? _a : process.env['TEMPORAL_PREFIX']) !== null && _b !== void 0 ? _b : `digipair-workflow-${context.request.digipair}-${context.request.reasoning}-`;
|
|
73
|
+
const handle = this.client.getHandle(`${prefix}${id}`);
|
|
74
|
+
yield handle.terminate();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
59
77
|
}
|
|
60
78
|
let instance;
|
|
61
79
|
const initialize = (adresse) => (instance = new TemporalService()).initialize(adresse);
|
|
62
80
|
exports.initialize = initialize;
|
|
63
81
|
const workflow = (params, pinsSettingsList, context) => instance.workflow(params, pinsSettingsList, context);
|
|
64
82
|
exports.workflow = workflow;
|
|
83
|
+
const push = (params, pinsSettingsList, context) => instance.push(params, pinsSettingsList, context);
|
|
84
|
+
exports.push = push;
|
|
85
|
+
const terminate = (params, pinsSettingsList, context) => instance.terminate(params, pinsSettingsList, context);
|
|
86
|
+
exports.terminate = terminate;
|
|
65
87
|
//# sourceMappingURL=skill-temporal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-temporal.js","sourceRoot":"","sources":["../../../../../libs/skill-temporal/src/lib/skill-temporal.ts"],"names":[],"mappings":";;;;AAGA,+CAAgE;AAChE,+CAA8D;
|
|
1
|
+
{"version":3,"file":"skill-temporal.js","sourceRoot":"","sources":["../../../../../libs/skill-temporal/src/lib/skill-temporal.ts"],"names":[],"mappings":"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"}
|
package/src/lib/workflows.d.ts
CHANGED
package/src/lib/workflows.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.workflow = void 0;
|
|
3
|
+
exports.workflow = exports.dataSignal = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const workflow_1 = require("@temporalio/workflow");
|
|
6
6
|
const common_1 = require("@temporalio/common");
|
|
7
7
|
const engine_1 = require("@digipair/engine");
|
|
8
|
+
const feelin_1 = require("feelin");
|
|
9
|
+
exports.dataSignal = (0, workflow_1.defineSignal)('data');
|
|
8
10
|
function executePins(executePinsList, steps, state, settingsOrigin, context) {
|
|
9
11
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
12
|
var _a, _b, _c;
|
|
@@ -39,7 +41,10 @@ function executePins(executePinsList, steps, state, settingsOrigin, context) {
|
|
|
39
41
|
throw 'DIGIPAIR_CONDITIONS_IF_FALSE';
|
|
40
42
|
}
|
|
41
43
|
if (settings.element === 'sleep') {
|
|
42
|
-
yield (0, workflow_1.sleep)(settings.properties['duration']);
|
|
44
|
+
result = yield (0, workflow_1.sleep)(settings.properties['duration']);
|
|
45
|
+
}
|
|
46
|
+
else if (settings.element === 'condition') {
|
|
47
|
+
result = yield (0, workflow_1.condition)(() => (0, feelin_1.evaluate)(settings.properties.condition, context), settings.properties.timeout);
|
|
43
48
|
}
|
|
44
49
|
else if (settings.element === 'stop') {
|
|
45
50
|
throw 'DIGIPAIR_WORKFLOW_STOP';
|
|
@@ -53,7 +58,7 @@ function executePins(executePinsList, steps, state, settingsOrigin, context) {
|
|
|
53
58
|
settings.properties['name'],
|
|
54
59
|
]);
|
|
55
60
|
}
|
|
56
|
-
state.step = step;
|
|
61
|
+
result = state.step = step;
|
|
57
62
|
}
|
|
58
63
|
else if (settings.element === 'activity') {
|
|
59
64
|
try {
|
|
@@ -77,8 +82,11 @@ function workflow(_a) {
|
|
|
77
82
|
return tslib_1.__awaiter(this, arguments, void 0, function* ({ steps, context, options }) {
|
|
78
83
|
var _b;
|
|
79
84
|
let result;
|
|
80
|
-
context.
|
|
85
|
+
context.workflow = { steps: {}, data: {} };
|
|
81
86
|
const { executePinsList } = (0, workflow_1.proxyActivities)(options);
|
|
87
|
+
(0, workflow_1.setHandler)(exports.dataSignal, (data) => {
|
|
88
|
+
context.workflow.data = Object.assign(Object.assign({}, context.workflow.data), data);
|
|
89
|
+
});
|
|
82
90
|
// vérifie si tous les pinsSettings sont bien de la librairie @digipair/skill-temporal
|
|
83
91
|
const indexSkillNoWorkflow = steps.findIndex(pinsSettings => pinsSettings.library !== '@digipair/skill-temporal');
|
|
84
92
|
if (indexSkillNoWorkflow >= 0) {
|
|
@@ -102,7 +110,7 @@ function workflow(_a) {
|
|
|
102
110
|
throw error;
|
|
103
111
|
}
|
|
104
112
|
if ((_b = pinsSettings.properties) === null || _b === void 0 ? void 0 : _b['name']) {
|
|
105
|
-
context.
|
|
113
|
+
context.workflow.steps[pinsSettings.properties['name']] = result;
|
|
106
114
|
}
|
|
107
115
|
}
|
|
108
116
|
return result;
|
package/src/lib/workflows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../../../libs/skill-temporal/src/lib/workflows.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../../../libs/skill-temporal/src/lib/workflows.ts"],"names":[],"mappings":";;;;AAAA,mDAAmG;AACnG,+CAAwD;AACxD,6CAAqE;AACrE,mCAAkC;AAKrB,QAAA,UAAU,GAAG,IAAA,uBAAY,EAAQ,MAAM,CAAC,CAAC;AAEtD,SAAe,WAAW,CACxB,eAAoB,EACpB,KAAqB,EACrB,KAAuB,EACvB,cAA4B,EAC5B,OAAY;;;QAEZ,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAmB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,IAAI,MAAA,QAAQ,CAAC,UAAU,0CAAE,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,EAAW,CAAC;YAE5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,kBAAkB,mCACnB,cAAc,KACjB,UAAU,kCAAO,cAAc,CAAC,UAAU,KAAE,IAAI,EAAE,SAAS,MAC5D,CAAC;gBACF,MAAM,WAAW,mCACZ,OAAO,KACV,IAAI;oBACJ,KAAK,EACL,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAC1E,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAmB,EAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAEhF,IAAI,OAAO,CAAA,MAAA,YAAY,CAAC,UAAU,0CAAE,EAAE,CAAA,KAAK,WAAW,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACtF,SAAS;gBACX,CAAC;gBAED,IAAI,UAAU,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,WAAW,CAC5B,eAAe,EACf,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,WAAW,CACZ,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,KAAK,8BAA8B,EAAE,CAAC;wBAC7C,SAAS;oBACX,CAAC;oBAED,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,CAAA,MAAA,QAAQ,CAAC,UAAU,0CAAE,EAAE,CAAA,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YAC9E,MAAM,8BAA8B,CAAC;QACvC,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM,IAAA,gBAAK,EAAE,QAAQ,CAAC,UAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5C,MAAM,GAAG,MAAM,IAAA,oBAAS,EACtB,GAAG,EAAE,CAAC,IAAA,iBAAQ,EAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EACtD,QAAQ,CAAC,UAAU,CAAC,OAAO,CAC5B,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,wBAAwB,CAAC;QACjC,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK;iBACf,MAAM,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAG,MAAM,CAAC,CAAA,CAAA,EAAA,CAAC;iBACjD,SAAS,CACR,OAAO,CAAC,EAAE,CAAE,OAAO,CAAC,UAAkB,CAAC,MAAM,CAAC,KAAM,QAAQ,CAAC,UAAkB,CAAC,MAAM,CAAC,CACxF,CAAC;YAEJ,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,2BAAkB,CAAC,+CAA+C,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvF,QAAQ,CAAC,UAAkB,CAAC,MAAM,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,eAAe,CAAC;oBAC7B,gBAAgB,EAAG,QAAQ,CAAC,UAAkB,CAAC,SAAS,CAAC;oBACzD,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,2BAAkB,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC9E,KAAK;oBACL,QAAQ;oBACR,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAED,SAAsB,QAAQ;iEAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAgB;;QACtE,IAAI,MAAW,CAAC;QAEhB,OAAO,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAE3C,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,0BAAe,EAAoB,OAAO,CAAC,CAAC;QACxE,IAAA,qBAAU,EAAC,kBAAU,EAAE,CAAC,IAAS,EAAE,EAAE;YACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,mCAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAK,IAAI,CAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,sFAAsF;QACtF,MAAM,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAC1C,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,KAAK,0BAA0B,CACpE,CAAC;QACF,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,2BAAkB,CAAC,+BAA+B,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxE,KAAK,CAAC,oBAAoB,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,KAAK,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACtE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,KAAK,8BAA8B,EAAE,CAAC;oBAC7C,SAAS;gBACX,CAAC;qBAAM,IAAI,KAAK,KAAK,wBAAwB,EAAE,CAAC;oBAC9C,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,MAAA,YAAY,CAAC,UAAU,0CAAG,MAAM,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AA1CD,4BA0CC"}
|