@webda/gcp 2.0.0-beta.1 → 2.0.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.
@@ -1,37 +1,26 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Storage = exports.StorageParameters = void 0;
13
- const storage_1 = require("@google-cloud/storage");
14
- const core_1 = require("@webda/core");
15
- const fs_1 = require("fs");
16
- const mime = require("mime-types");
17
- const stream_1 = require("stream");
18
- class StorageParameters extends core_1.BinaryParameters {
2
+ import { Storage as GCS } from "@google-cloud/storage";
3
+ import { BinaryParameters, CloudBinary, getCommonJS } from "@webda/core";
4
+ import { createReadStream } from "fs";
5
+ import * as mime from "mime-types";
6
+ import { Readable, Stream } from "stream";
7
+ const { __dirname } = getCommonJS(import.meta.url);
8
+ export class StorageParameters extends BinaryParameters {
19
9
  constructor(params, service) {
20
10
  super(params, service);
21
11
  this.prefix = "";
22
12
  }
23
13
  }
24
- exports.StorageParameters = StorageParameters;
25
14
  /**
26
15
  * Storage handles the storage of binary on a Google Cloud Storage bucket
27
16
  *
28
17
  * See Binary the general interface
29
18
  * @WebdaModda GoogleCloudStorage
30
19
  */
31
- class Storage extends core_1.CloudBinary {
20
+ export default class Storage extends CloudBinary {
32
21
  get storage() {
33
22
  if (!this._storage) {
34
- this._storage = new storage_1.Storage();
23
+ this._storage = new GCS();
35
24
  }
36
25
  return this._storage;
37
26
  }
@@ -46,11 +35,9 @@ class Storage extends core_1.CloudBinary {
46
35
  /**
47
36
  * @override
48
37
  */
49
- _get(info) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const key = this._getKey(info.hash);
52
- return this.getContent({ key });
53
- });
38
+ async _get(info) {
39
+ const key = this._getKey(info.hash);
40
+ return this.getContent({ key });
54
41
  }
55
42
  /**
56
43
  * @override
@@ -62,10 +49,8 @@ class Storage extends core_1.CloudBinary {
62
49
  * Get object content in Buffer
63
50
  * @param {StorageObject} params
64
51
  */
65
- getContent({ bucket, key }) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- return this.getStorageBucket(bucket).file(key).createReadStream();
68
- });
52
+ async getContent({ bucket, key }) {
53
+ return this.getStorageBucket(bucket).file(key).createReadStream();
69
54
  }
70
55
  /**
71
56
  * Upload a local file to GCS bucket destination
@@ -75,39 +60,37 @@ class Storage extends core_1.CloudBinary {
75
60
  * @param metadatas to put along the object
76
61
  * @param bucket to use
77
62
  */
78
- putObject(key, body, metadata = {}, bucket = this.parameters.bucket
63
+ async putObject(key, body, metadata = {}, bucket = this.parameters.bucket
79
64
  //{ bucket, localPath, content, key }: PutObjectParams
80
65
  ) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const file = this.getStorageBucket(bucket).file(key);
83
- let contentType = "application/octet-stream";
84
- let stream;
85
- if (body instanceof stream_1.Readable) {
86
- stream = body;
87
- }
88
- else if (body instanceof Buffer) {
89
- const bufferStream = new stream_1.Stream.PassThrough();
90
- bufferStream.end(body);
91
- stream = bufferStream;
92
- }
93
- else {
94
- contentType = mime.lookup(body, "application/octet-stream");
95
- stream = (0, fs_1.createReadStream)(body);
96
- }
97
- // NODE16-REFACTOR: const { pipeline } = require('stream/promises');
98
- yield new Promise((resolve, reject) => {
99
- stream
100
- .pipe(file.createWriteStream({
101
- contentType,
102
- }))
103
- .on("error", reject)
104
- .on("finish", resolve);
105
- });
106
- // Save metadata now
107
- if (metadata) {
108
- yield file.setMetadata({ metadata: metadata });
109
- }
66
+ const file = this.getStorageBucket(bucket).file(key);
67
+ let contentType = "application/octet-stream";
68
+ let stream;
69
+ if (body instanceof Readable) {
70
+ stream = body;
71
+ }
72
+ else if (body instanceof Buffer) {
73
+ const bufferStream = new Stream.PassThrough();
74
+ bufferStream.end(body);
75
+ stream = bufferStream;
76
+ }
77
+ else {
78
+ contentType = mime.lookup(body, "application/octet-stream");
79
+ stream = createReadStream(body);
80
+ }
81
+ // NODE16-REFACTOR: const { pipeline } = require('stream/promises');
82
+ await new Promise((resolve, reject) => {
83
+ stream
84
+ .pipe(file.createWriteStream({
85
+ contentType,
86
+ }))
87
+ .on("error", reject)
88
+ .on("finish", resolve);
110
89
  });
90
+ // Save metadata now
91
+ if (metadata) {
92
+ await file.setMetadata({ metadata: metadata });
93
+ }
111
94
  }
112
95
  /**
113
96
  * Return the Google Bucket directly
@@ -121,76 +104,67 @@ class Storage extends core_1.CloudBinary {
121
104
  /**
122
105
  * @inheritdoc
123
106
  */
124
- _cleanUsage(hash, uuid) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- yield this.getStorageBucket().file(this._getKey(hash, uuid)).delete();
127
- });
107
+ async _cleanUsage(hash, uuid) {
108
+ await this.getStorageBucket().file(this._getKey(hash, uuid)).delete();
128
109
  }
129
110
  /**
130
111
  * @inheritdoc
131
112
  */
132
- getUsageCount(hash) {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- const [files] = yield this.getStorageBucket().getFiles({
135
- prefix: this._getKey(hash, ""),
136
- });
137
- return files.filter(n => !n.name.endsWith("/data")).length;
113
+ async getUsageCount(hash) {
114
+ const [files] = await this.getStorageBucket().getFiles({
115
+ prefix: this._getKey(hash, ""),
138
116
  });
117
+ return files.filter(n => !n.name.endsWith("/data")).length;
139
118
  }
140
119
  /**
141
120
  * @inheritdoc
142
121
  */
143
- store(object, property, file) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- this.checkMap(object.getStore().getName(), property);
146
- yield file.getHashes();
147
- const [exists] = yield this.getStorageBucket().file(this._getKey(file.hash)).exists();
148
- // If data already exist no need to upload
149
- if (!exists) {
150
- yield this.putObject(this._getKey(file.hash), yield file.get(), Object.assign(Object.assign({}, file.metadata), { challenge: file.challenge }));
151
- }
152
- yield this.putMarker(file.hash, object.getUuid(), object.getStore().getName());
153
- yield this.uploadSuccess(object, property, file);
154
- });
122
+ async store(object, property, file) {
123
+ this.checkMap(object.getStore().getName(), property);
124
+ await file.getHashes();
125
+ const [exists] = await this.getStorageBucket().file(this._getKey(file.hash)).exists();
126
+ // If data already exist no need to upload
127
+ if (!exists) {
128
+ await this.putObject(this._getKey(file.hash), await file.get(), {
129
+ ...file.metadata,
130
+ challenge: file.challenge,
131
+ });
132
+ }
133
+ await this.putMarker(file.hash, object.getUuid(), object.getStore().getName());
134
+ await this.uploadSuccess(object, property, file);
155
135
  }
156
136
  /**
157
137
  * Delete a file inside an existing bucket
158
138
  * @param {DeleteObjectParams} params
159
139
  */
160
- deleteObject({ bucket, key }) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- yield this.getStorageBucket(bucket).file(key).delete();
163
- this._webda.log("DEBUG", `gs://${bucket}/${key} deleted`);
164
- });
140
+ async deleteObject({ bucket, key }) {
141
+ await this.getStorageBucket(bucket).file(key).delete();
142
+ this._webda.log("DEBUG", `gs://${bucket}/${key} deleted`);
165
143
  }
166
144
  /**
167
145
  * Move a file from one bucket to an other
168
146
  * @param {StorageObject} source
169
147
  * @param {StorageObject} destination
170
148
  */
171
- moveObject(source, destination) {
172
- return __awaiter(this, void 0, void 0, function* () {
173
- const newFile = this.getStorageBucket(destination.bucket).file(destination.key);
174
- this._webda.log("DEBUG", `moveObject gs://${source.bucket}/${source.key} => gs://${destination.bucket}/${destination.key}`);
175
- yield this.getStorageBucket(source.bucket).file(source.key).move(newFile);
176
- });
149
+ async moveObject(source, destination) {
150
+ const newFile = this.getStorageBucket(destination.bucket).file(destination.key);
151
+ this._webda.log("DEBUG", `moveObject gs://${source.bucket}/${source.key} => gs://${destination.bucket}/${destination.key}`);
152
+ await this.getStorageBucket(source.bucket).file(source.key).move(newFile);
177
153
  }
178
154
  /**
179
155
  * Retrieve one signed URL to download the file in parameter
180
156
  * @param {GetSignedUrlParams} params
181
157
  * @returns {string} URL in order to download the file
182
158
  */
183
- getSignedUrl({ bucket, key, action, expires = 3600 }) {
184
- return __awaiter(this, void 0, void 0, function* () {
185
- const options = {
186
- version: "v4",
187
- action,
188
- expires: Date.now() + expires * 1000,
189
- };
190
- const [url] = yield this.getStorageBucket(bucket).file(key).getSignedUrl(options);
191
- this._webda.log("TRACE", `The signed url for ${bucket}/${key} is ${url}.`);
192
- return url;
193
- });
159
+ async getSignedUrl({ bucket, key, action, expires = 3600 }) {
160
+ const options = {
161
+ version: "v4",
162
+ action,
163
+ expires: Date.now() + expires * 1000,
164
+ };
165
+ const [url] = await this.getStorageBucket(bucket).file(key).getSignedUrl(options);
166
+ this._webda.log("TRACE", `The signed url for ${bucket}/${key} is ${url}.`);
167
+ return url;
194
168
  }
195
169
  /**
196
170
  * Retrieve mandatory headers if needed by the cloud provider (ie. Azure)
@@ -205,40 +179,33 @@ class Storage extends core_1.CloudBinary {
205
179
  * @param {StorageModel} store
206
180
  * @returns {string} Public URL in order to download the file
207
181
  */
208
- getPublicUrl({ bucket, key }) {
209
- return __awaiter(this, void 0, void 0, function* () {
210
- return this.getStorageBucket(bucket).file(key).publicUrl();
211
- });
182
+ async getPublicUrl({ bucket, key }) {
183
+ return this.getStorageBucket(bucket).file(key).publicUrl();
212
184
  }
213
185
  /**
214
186
  * Fetch an object's metadata
215
187
  * @param {StorageModel} store
216
188
  * @returns {any} Metadata
217
189
  */
218
- getMeta({ bucket, key }) {
219
- return __awaiter(this, void 0, void 0, function* () {
220
- const [metadata] = yield this.getStorageBucket(bucket).file(key).getMetadata();
221
- return {
222
- size: parseInt(metadata.size),
223
- contentType: metadata.contentType,
224
- };
225
- });
190
+ async getMeta({ bucket, key }) {
191
+ const [metadata] = await this.getStorageBucket(bucket).file(key).getMetadata();
192
+ return {
193
+ size: parseInt(metadata.size),
194
+ contentType: metadata.contentType,
195
+ };
226
196
  }
227
197
  /**
228
198
  * @inheritdoc
229
199
  */
230
- putMarker(hash, uuid, storeName) {
231
- return __awaiter(this, void 0, void 0, function* () {
232
- yield this.getStorageBucket()
233
- .file(this._getKey(hash, uuid))
234
- .save("", {
235
- metadata: {
236
- webdaStore: storeName,
237
- },
238
- });
200
+ async putMarker(hash, uuid, storeName) {
201
+ await this.getStorageBucket()
202
+ .file(this._getKey(hash, uuid))
203
+ .save("", {
204
+ metadata: {
205
+ webdaStore: storeName,
206
+ },
239
207
  });
240
208
  }
241
209
  }
242
- exports.default = Storage;
243
- exports.Storage = Storage;
210
+ export { Storage };
244
211
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/services/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/services/storage.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAA8B,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAyB,gBAAgB,EAAE,WAAW,EAAmC,WAAW,EAAE,MAAM,aAAa,CAAC;AACjI,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AA8BlD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAIrD,YAAY,MAAW,EAAE,OAAgB;QACvC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,OAAyD,SAAQ,WAAc;IAElG,IAAY,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,MAAsB;QACnC,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAe;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,GAAc,EAAE,OAAe,EAAE,QAAiB;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAiB;QAC7C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,GAAW,EACX,IAAgC,EAChC,QAAQ,GAAG,EAAE,EACb,SAAiB,IAAI,CAAC,UAAU,CAAC,MAAM;IACvC,sDAAsD;;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,WAAW,GAAG,0BAA0B,CAAC;QAC7C,IAAI,MAAgB,CAAC;QACrB,IAAI,IAAI,YAAY,QAAQ,EAAE;YAC5B,MAAM,GAAG,IAAI,CAAC;SACf;aAAM,IAAI,IAAI,YAAY,MAAM,EAAE;YACjC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,GAAG,YAAY,CAAC;SACvB;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;YAC5D,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,oEAAoE;QACpE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM;iBACH,IAAI,CACH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,WAAW;aACZ,CAAC,CACH;iBACA,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBACnB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,oBAAoB;QACpB,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;SAChD;IACH,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAiB,IAAI,CAAC,UAAU,CAAC,MAAM;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAY;QAC1C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SAC/B,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,MAAiB,EAAE,QAAgB,EAAE,IAAgB;QAC/D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACtF,0CAA0C;QAC1C,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE;gBAC9D,GAAG,IAAI,CAAC,QAAQ;gBAChB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;SACJ;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAiB;QAC/C,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAqB,EAAE,WAA0B;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,OAAO,EACP,mBAAmB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,YAAY,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,GAAG,EAAE,CAClG,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,EAAsB;QAC5E,MAAM,OAAO,GAAuB;YAClC,OAAO,EAAE,IAAI;YACb,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI;SACrC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,MAAM,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAiB;QAC/C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAiB;QAC1C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/E,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,SAAiB;QAC3D,MAAM,IAAI,CAAC,gBAAgB,EAAE;aAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9B,IAAI,CAAC,EAAE,EAAE;YACR,QAAQ,EAAE;gBACR,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CAAC;IACP,CAAC;CACF;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}