@volare.finance/nestjs.plugins 1.2.0 → 1.2.1
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/aws/index.d.ts +2 -4
- package/dist/aws/index.js +2 -4
- package/dist/aws/index.js.map +1 -1
- package/dist/aws/{aws.config.d.ts → s3/aws-s3.config.d.ts} +4 -5
- package/dist/aws/s3/aws-s3.config.js +7 -0
- package/dist/aws/s3/aws-s3.config.js.map +1 -0
- package/dist/aws/{aws.module.d.ts → s3/aws-s3.module.d.ts} +3 -3
- package/dist/aws/s3/aws-s3.module.js +27 -0
- package/dist/aws/s3/aws-s3.module.js.map +1 -0
- package/dist/aws/s3/aws-s3.service.d.ts +16 -0
- package/dist/aws/s3/aws-s3.service.js +59 -0
- package/dist/aws/s3/aws-s3.service.js.map +1 -0
- package/dist/aws/s3/index.d.ts +7 -0
- package/dist/aws/s3/index.js +11 -0
- package/dist/aws/s3/index.js.map +1 -0
- package/package.json +1 -1
- package/dist/aws/aws.config.js +0 -3
- package/dist/aws/aws.config.js.map +0 -1
- package/dist/aws/aws.module.js +0 -27
- package/dist/aws/aws.module.js.map +0 -1
- package/dist/aws/aws.service.d.ts +0 -12
- package/dist/aws/aws.service.js +0 -59
- package/dist/aws/aws.service.js.map +0 -1
package/dist/aws/index.d.ts
CHANGED
package/dist/aws/index.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* @file index.ts
|
|
4
|
-
* @date
|
|
4
|
+
* @date 2026
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const tslib_1 = require("tslib");
|
|
8
|
-
tslib_1.__exportStar(require("./
|
|
9
|
-
tslib_1.__exportStar(require("./aws.module"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./aws.service"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./s3"), exports);
|
|
11
9
|
//# sourceMappingURL=index.js.map
|
package/dist/aws/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAAqB"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file aws.config.ts
|
|
2
|
+
* @file aws-s3.config.ts
|
|
3
3
|
* @date 2023
|
|
4
4
|
*/
|
|
5
5
|
import { ObjectCannedACL } from '@aws-sdk/client-s3';
|
|
6
|
-
export interface
|
|
7
|
-
|
|
6
|
+
export interface AwsS3Config {
|
|
7
|
+
awsS3: {
|
|
8
8
|
enabled?: boolean;
|
|
9
9
|
region: string;
|
|
10
10
|
accessKeyId: string;
|
|
11
11
|
secretAccessKey: string;
|
|
12
12
|
bucket: string;
|
|
13
|
-
acl
|
|
14
|
-
baseUrl: string;
|
|
13
|
+
acl?: ObjectCannedACL;
|
|
15
14
|
};
|
|
16
15
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-s3.config.js","sourceRoot":"","sources":["../../../src/aws/s3/aws-s3.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file aws.module.ts
|
|
2
|
+
* @file aws-s3.module.ts
|
|
3
3
|
* @date 2023
|
|
4
4
|
*/
|
|
5
5
|
import { DynamicModule } from '@nestjs/common';
|
|
6
|
-
import { ConfigOptions } from '
|
|
7
|
-
export declare class
|
|
6
|
+
import { ConfigOptions } from '../../config';
|
|
7
|
+
export declare class AwsS3Module {
|
|
8
8
|
static forRoot(_options?: ConfigOptions): DynamicModule;
|
|
9
9
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file aws-s3.module.ts
|
|
4
|
+
* @date 2023
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AwsS3Module = void 0;
|
|
8
|
+
const config_1 = require("../../config");
|
|
9
|
+
const aws_s3_service_1 = require("./aws-s3.service");
|
|
10
|
+
class AwsS3Module {
|
|
11
|
+
static forRoot(_options) {
|
|
12
|
+
return {
|
|
13
|
+
module: AwsS3Module,
|
|
14
|
+
exports: [aws_s3_service_1.AwsS3Service],
|
|
15
|
+
providers: [
|
|
16
|
+
{
|
|
17
|
+
provide: 'AwsS3Constant',
|
|
18
|
+
useFactory: (constant) => constant.config(),
|
|
19
|
+
inject: [config_1.ConfigService],
|
|
20
|
+
},
|
|
21
|
+
aws_s3_service_1.AwsS3Service,
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.AwsS3Module = AwsS3Module;
|
|
27
|
+
//# sourceMappingURL=aws-s3.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-s3.module.js","sourceRoot":"","sources":["../../../src/aws/s3/aws-s3.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yCAA4D;AAE5D,qDAAgD;AAEhD,MAAa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,CAAC,6BAAY,CAAC;YACvB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,CAAC,QAAoC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC5E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,6BAAY;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAfD,kCAeC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file aws-s3.service.ts
|
|
3
|
+
* @date 2023
|
|
4
|
+
*/
|
|
5
|
+
import { DeleteObjectCommandOutput, GetObjectCommandOutput, PutObjectCommandOutput } from '@aws-sdk/client-s3';
|
|
6
|
+
import type { StreamingBlobPayloadInputTypes } from '@smithy/types';
|
|
7
|
+
import { AwsS3Config } from './aws-s3.config';
|
|
8
|
+
export declare class AwsS3Service {
|
|
9
|
+
private readonly constant;
|
|
10
|
+
private readonly instance;
|
|
11
|
+
constructor(constant: AwsS3Config);
|
|
12
|
+
checkConstant(): void;
|
|
13
|
+
putObject(file: StreamingBlobPayloadInputTypes, filepath: string, mimeType?: string): Promise<PutObjectCommandOutput>;
|
|
14
|
+
getObject(filepath: string): Promise<GetObjectCommandOutput>;
|
|
15
|
+
deleteObject(filepath: string): Promise<DeleteObjectCommandOutput>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file aws-s3.service.ts
|
|
4
|
+
* @date 2023
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AwsS3Service = void 0;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
let AwsS3Service = class AwsS3Service {
|
|
12
|
+
constructor(constant) {
|
|
13
|
+
this.constant = constant;
|
|
14
|
+
if (constant.awsS3?.enabled) {
|
|
15
|
+
this.instance = new client_s3_1.S3({
|
|
16
|
+
region: constant.awsS3.region,
|
|
17
|
+
credentials: {
|
|
18
|
+
accessKeyId: constant.awsS3.accessKeyId,
|
|
19
|
+
secretAccessKey: constant.awsS3.secretAccessKey,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
checkConstant() {
|
|
25
|
+
if (!this.constant.awsS3?.enabled) {
|
|
26
|
+
throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.NOT_IMPLEMENTED);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async putObject(file, filepath, mimeType) {
|
|
30
|
+
this.checkConstant();
|
|
31
|
+
return this.instance.putObject({
|
|
32
|
+
Key: filepath,
|
|
33
|
+
Body: file,
|
|
34
|
+
ContentType: mimeType,
|
|
35
|
+
Bucket: this.constant.awsS3.bucket,
|
|
36
|
+
ACL: this.constant.awsS3.acl,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async getObject(filepath) {
|
|
40
|
+
this.checkConstant();
|
|
41
|
+
return this.instance.getObject({
|
|
42
|
+
Key: filepath,
|
|
43
|
+
Bucket: this.constant.awsS3.bucket,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async deleteObject(filepath) {
|
|
47
|
+
this.checkConstant();
|
|
48
|
+
return this.instance.deleteObject({
|
|
49
|
+
Key: filepath,
|
|
50
|
+
Bucket: this.constant.awsS3.bucket,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.AwsS3Service = AwsS3Service;
|
|
55
|
+
exports.AwsS3Service = AwsS3Service = tslib_1.__decorate([
|
|
56
|
+
(0, common_1.Injectable)(),
|
|
57
|
+
tslib_1.__param(0, (0, common_1.Inject)('AwsS3Constant'))
|
|
58
|
+
], AwsS3Service);
|
|
59
|
+
//# sourceMappingURL=aws-s3.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-s3.service.js","sourceRoot":"","sources":["../../../src/aws/s3/aws-s3.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,kDAAmH;AACnH,2CAA+E;AAKxE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGvB,YAAsD,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QACzE,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAE,CAAC;gBACrB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAC7B,WAAW,EAAE;oBACX,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;oBACvC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe;iBAChD;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,eAAe,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAoC,EAAE,QAAgB,EAAE,QAAiB;QACvF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YAClC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;SACnC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;SACnC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA/CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIE,mBAAA,IAAA,eAAM,EAAC,eAAe,CAAC,CAAA;GAHzB,YAAY,CA+CxB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file index.ts
|
|
4
|
+
* @date 2023
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
tslib_1.__exportStar(require("./aws-s3.config"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./aws-s3.module"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./aws-s3.service"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aws/s3/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,0DAAgC;AAChC,0DAAgC;AAChC,2DAAiC"}
|
package/package.json
CHANGED
package/dist/aws/aws.config.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aws.config.js","sourceRoot":"","sources":["../../src/aws/aws.config.ts"],"names":[],"mappings":""}
|
package/dist/aws/aws.module.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @file aws.module.ts
|
|
4
|
-
* @date 2023
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AwsModule = void 0;
|
|
8
|
-
const config_1 = require("../config");
|
|
9
|
-
const aws_service_1 = require("./aws.service");
|
|
10
|
-
class AwsModule {
|
|
11
|
-
static forRoot(_options) {
|
|
12
|
-
return {
|
|
13
|
-
module: AwsModule,
|
|
14
|
-
exports: [aws_service_1.AwsService],
|
|
15
|
-
providers: [
|
|
16
|
-
{
|
|
17
|
-
provide: 'AwsConstant',
|
|
18
|
-
useFactory: (constant) => constant.config(),
|
|
19
|
-
inject: [config_1.ConfigService],
|
|
20
|
-
},
|
|
21
|
-
aws_service_1.AwsService,
|
|
22
|
-
],
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.AwsModule = AwsModule;
|
|
27
|
-
//# sourceMappingURL=aws.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aws.module.js","sourceRoot":"","sources":["../../src/aws/aws.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAyD;AAEzD,+CAA2C;AAE3C,MAAa,SAAS;IACpB,MAAM,CAAC,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,wBAAU,CAAC;YACrB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,CAAC,QAAkC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC1E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,wBAAU;aACX;SACF,CAAC;IACJ,CAAC;CACF;AAfD,8BAeC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file aws.service.ts
|
|
3
|
-
* @date 2023
|
|
4
|
-
*/
|
|
5
|
-
import { AwsConfig } from './aws.config';
|
|
6
|
-
export declare class AwsService {
|
|
7
|
-
private readonly constant;
|
|
8
|
-
private readonly instance;
|
|
9
|
-
constructor(constant: AwsConfig);
|
|
10
|
-
putObject(file: any, filename: string, mimetype?: string): Promise<string>;
|
|
11
|
-
getObjectToString(filename: string): Promise<string>;
|
|
12
|
-
}
|
package/dist/aws/aws.service.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @file aws.service.ts
|
|
4
|
-
* @date 2023
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AwsService = void 0;
|
|
8
|
-
const tslib_1 = require("tslib");
|
|
9
|
-
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
let AwsService = class AwsService {
|
|
12
|
-
constructor(constant) {
|
|
13
|
-
this.constant = constant;
|
|
14
|
-
if (constant.aws?.enabled) {
|
|
15
|
-
this.instance = new client_s3_1.S3({
|
|
16
|
-
region: constant.aws.region,
|
|
17
|
-
credentials: {
|
|
18
|
-
accessKeyId: constant.aws.accessKeyId,
|
|
19
|
-
secretAccessKey: constant.aws.secretAccessKey,
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async putObject(file, filename, mimetype) {
|
|
25
|
-
if (!this.constant.aws?.enabled) {
|
|
26
|
-
throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.NOT_IMPLEMENTED);
|
|
27
|
-
}
|
|
28
|
-
const result = await this.instance.putObject({
|
|
29
|
-
Key: filename,
|
|
30
|
-
Body: file,
|
|
31
|
-
ContentType: mimetype,
|
|
32
|
-
Bucket: this.constant.aws.bucket,
|
|
33
|
-
ACL: this.constant.aws.acl,
|
|
34
|
-
});
|
|
35
|
-
if (result.$metadata.httpStatusCode === 200) {
|
|
36
|
-
return this.constant.aws.baseUrl + '/' + filename;
|
|
37
|
-
}
|
|
38
|
-
throw new common_1.HttpException('Put object failed', common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
39
|
-
}
|
|
40
|
-
async getObjectToString(filename) {
|
|
41
|
-
if (!this.constant.aws?.enabled) {
|
|
42
|
-
throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.NOT_IMPLEMENTED);
|
|
43
|
-
}
|
|
44
|
-
const result = await this.instance.getObject({
|
|
45
|
-
Key: filename,
|
|
46
|
-
Bucket: this.constant.aws.bucket,
|
|
47
|
-
});
|
|
48
|
-
if (result.$metadata.httpStatusCode === 200 && result.Body) {
|
|
49
|
-
return result.Body.transformToString('utf-8');
|
|
50
|
-
}
|
|
51
|
-
throw new common_1.HttpException('Get object failed', common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
exports.AwsService = AwsService;
|
|
55
|
-
exports.AwsService = AwsService = tslib_1.__decorate([
|
|
56
|
-
(0, common_1.Injectable)(),
|
|
57
|
-
tslib_1.__param(0, (0, common_1.Inject)('AwsConstant'))
|
|
58
|
-
], AwsService);
|
|
59
|
-
//# sourceMappingURL=aws.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aws.service.js","sourceRoot":"","sources":["../../src/aws/aws.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,kDAAwC;AACxC,2CAA+E;AAIxE,IAAM,UAAU,GAAhB,MAAM,UAAU;IAKrB,YAAoD,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QACrE,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAE,CAAC;gBACrB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM;gBAC3B,WAAW,EAAE;oBACX,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW;oBACrC,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe;iBAC9C;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAS,EAAE,QAAgB,EAAE,QAAiB;QAC5D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,eAAe,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM;YAChC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG;SAC3B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;QACpD,CAAC;QACD,MAAM,IAAI,sBAAa,CAAC,mBAAmB,EAAE,mBAAU,CAAC,qBAAqB,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,eAAe,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM;SACjC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,sBAAa,CAAC,mBAAmB,EAAE,mBAAU,CAAC,qBAAqB,CAAC,CAAC;IACjF,CAAC;CACF,CAAA;AA/CY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAME,mBAAA,IAAA,eAAM,EAAC,aAAa,CAAC,CAAA;GALvB,UAAU,CA+CtB"}
|