@minimaltech/node-infra 0.5.8-16 → 0.5.8-17

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.
Files changed (90) hide show
  1. package/dist/base/applications/base.application.d.ts +9 -5
  2. package/dist/base/applications/base.application.js +17 -13
  3. package/dist/base/applications/base.application.js.map +1 -1
  4. package/dist/base/controllers/common.d.ts +2 -9
  5. package/dist/base/controllers/common.js +1 -27
  6. package/dist/base/controllers/common.js.map +1 -1
  7. package/dist/base/controllers/crud.controller.js +2 -1
  8. package/dist/base/controllers/crud.controller.js.map +1 -1
  9. package/dist/base/controllers/kv.controller.d.ts +1 -1
  10. package/dist/base/controllers/service-crud.controller.js +2 -1
  11. package/dist/base/controllers/service-crud.controller.js.map +1 -1
  12. package/dist/base/index.d.ts +1 -1
  13. package/dist/base/index.js +1 -1
  14. package/dist/base/index.js.map +1 -1
  15. package/dist/base/loopback/@lb/core/index.d.ts +0 -1
  16. package/dist/base/loopback/@lb/core/index.js +0 -1
  17. package/dist/base/loopback/@lb/core/index.js.map +1 -1
  18. package/dist/base/loopback/@lb/repository/index.d.ts +1 -0
  19. package/dist/base/loopback/@lb/repository/index.js +1 -0
  20. package/dist/base/loopback/@lb/repository/index.js.map +1 -1
  21. package/dist/base/{base.model.d.ts → models/base.model.d.ts} +34 -5
  22. package/dist/base/{base.model.js → models/base.model.js} +30 -2
  23. package/dist/base/models/base.model.js.map +1 -0
  24. package/dist/base/models/index.d.ts +1 -0
  25. package/dist/base/models/index.js +18 -0
  26. package/dist/base/models/index.js.map +1 -0
  27. package/dist/base/repositories/base.repository.d.ts +20 -20
  28. package/dist/base/repositories/base.repository.js.map +1 -1
  29. package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +1 -1
  30. package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +1 -1
  31. package/dist/base/repositories/searchable-tz-crud.repository.d.ts +11 -11
  32. package/dist/base/repositories/searchable-tz-crud.repository.js +1 -1
  33. package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -1
  34. package/dist/base/repositories/tz-crud.repository.d.ts +17 -17
  35. package/dist/base/repositories/tz-crud.repository.js.map +1 -1
  36. package/dist/base/services/base-crud.service.d.ts +2 -2
  37. package/dist/base/services/base-crud.service.js +1 -1
  38. package/dist/base/services/base-crud.service.js.map +1 -1
  39. package/dist/common/types.d.ts +23 -16
  40. package/dist/components/authenticate/models/oauth2-client.model.d.ts +1 -1
  41. package/dist/components/authenticate/models/oauth2-client.model.js +2 -2
  42. package/dist/components/authenticate/models/oauth2-client.model.js.map +1 -1
  43. package/dist/components/authenticate/models/oauth2-scope.model.d.ts +1 -1
  44. package/dist/components/authenticate/models/oauth2-scope.model.js +2 -2
  45. package/dist/components/authenticate/models/oauth2-scope.model.js.map +1 -1
  46. package/dist/components/authenticate/models/oauth2-token.model.d.ts +1 -1
  47. package/dist/components/authenticate/models/oauth2-token.model.js +2 -2
  48. package/dist/components/authenticate/models/oauth2-token.model.js.map +1 -1
  49. package/dist/components/authenticate/oauth2-handlers/base.d.ts +1 -1
  50. package/dist/components/authorize/models/defs.js +6 -6
  51. package/dist/components/authorize/models/defs.js.map +1 -1
  52. package/dist/components/authorize/models/view-authorize-policy.model.d.ts +1 -1
  53. package/dist/components/authorize/models/view-authorize-policy.model.js +2 -2
  54. package/dist/components/authorize/models/view-authorize-policy.model.js.map +1 -1
  55. package/dist/components/authorize/repositories/authorize.repository.d.ts +1 -1
  56. package/dist/components/authorize/repositories/authorize.repository.js.map +1 -1
  57. package/dist/components/migration/models/migration.model.d.ts +1 -1
  58. package/dist/components/migration/models/migration.model.js +3 -3
  59. package/dist/components/migration/models/migration.model.js.map +1 -1
  60. package/dist/components/migration/repositories/migration.repository.js +1 -1
  61. package/dist/components/migration/repositories/migration.repository.js.map +1 -1
  62. package/dist/interceptors/content-range.interceptor.d.ts +1 -1
  63. package/dist/mixins/deprecated/user-audit.mixin.d.ts +16 -0
  64. package/dist/mixins/deprecated/user-audit.mixin.js +45 -0
  65. package/dist/mixins/deprecated/user-audit.mixin.js.map +1 -0
  66. package/dist/mixins/duplicatable.mixin.d.ts +1 -1
  67. package/dist/mixins/duplicatable.mixin.js +3 -3
  68. package/dist/mixins/duplicatable.mixin.js.map +1 -1
  69. package/dist/mixins/index.d.ts +3 -2
  70. package/dist/mixins/index.js +3 -3
  71. package/dist/mixins/index.js.map +1 -1
  72. package/dist/mixins/tz.mixin.js +4 -2
  73. package/dist/mixins/tz.mixin.js.map +1 -1
  74. package/dist/mixins/user-audit.mixin.d.ts +9 -5
  75. package/dist/mixins/user-audit.mixin.js +47 -11
  76. package/dist/mixins/user-audit.mixin.js.map +1 -1
  77. package/dist/mixins/vector.mixin.d.ts +22 -0
  78. package/dist/mixins/vector.mixin.js +70 -0
  79. package/dist/mixins/vector.mixin.js.map +1 -0
  80. package/dist/utilities/index.d.ts +1 -0
  81. package/dist/utilities/index.js +1 -0
  82. package/dist/utilities/index.js.map +1 -1
  83. package/dist/utilities/model.utility.d.ts +8 -0
  84. package/dist/utilities/model.utility.js +30 -0
  85. package/dist/utilities/model.utility.js.map +1 -0
  86. package/package.json +4 -44
  87. package/dist/base/base.model.js.map +0 -1
  88. package/dist/mixins/user-audit-v2.mixin.d.ts +0 -20
  89. package/dist/mixins/user-audit-v2.mixin.js +0 -81
  90. package/dist/mixins/user-audit-v2.mixin.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIdType = exports.getIdSchema = void 0;
4
+ const metadata_1 = require("@loopback/metadata");
5
+ const rest_1 = require("@loopback/rest");
6
+ // --------------------------------------------------------------------------------------------------------------
7
+ const getIdSchema = (entity) => {
8
+ var _a;
9
+ const idProp = entity.getIdProperties()[0];
10
+ const modelSchema = (0, rest_1.jsonToSchemaObject)((0, rest_1.getJsonSchema)(entity));
11
+ return (_a = modelSchema.properties) === null || _a === void 0 ? void 0 : _a[idProp];
12
+ };
13
+ exports.getIdSchema = getIdSchema;
14
+ // --------------------------------------------------------------------------------------------------------------
15
+ const getIdType = (entity) => {
16
+ var _a;
17
+ let idType = 'number';
18
+ try {
19
+ const idMetadata = metadata_1.MetadataInspector.getPropertyMetadata('loopback:model-properties', entity, 'id');
20
+ idType = (_a = idMetadata === null || idMetadata === void 0 ? void 0 : idMetadata.type) !== null && _a !== void 0 ? _a : 'number';
21
+ }
22
+ catch (e) {
23
+ console.error("[getIdType] Failed to inspect entity id type! Use 'number' by default | Error: ", e);
24
+ idType = 'number';
25
+ return idType;
26
+ }
27
+ return idType;
28
+ };
29
+ exports.getIdType = getIdType;
30
+ //# sourceMappingURL=model.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.utility.js","sourceRoot":"","sources":["../../src/utilities/model.utility.ts"],"names":[],"mappings":";;;AAAA,iDAAuD;AACvD,yCAAiF;AAIjF,iHAAiH;AAC1G,MAAM,WAAW,GAAG,CACzB,MAA8C,EAChC,EAAE;;IAChB,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAA,yBAAkB,EAAC,IAAA,oBAAa,EAAC,MAAM,CAAC,CAAiB,CAAC;IAC9E,OAAO,MAAA,WAAW,CAAC,UAAU,0CAAG,MAAM,CAAiB,CAAC;AAC1D,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB;AAEF,iHAAiH;AAC1G,MAAM,SAAS,GAAG,CACvB,MAA4C,EACvB,EAAE;;IACvB,IAAI,MAAM,GAAwB,QAAQ,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,4BAAiB,CAAC,mBAAmB,CACtD,2BAA2B,EAC3B,MAAM,EACN,IAAI,CACL,CAAC;QAEF,MAAM,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,mCAAI,QAAQ,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CACX,iFAAiF,EACjF,CAAC,CACF,CAAC;QAEF,MAAM,GAAG,QAAQ,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,SAAS,aAwBpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimaltech/node-infra",
3
- "version": "0.5.8-16",
3
+ "version": "0.5.8-17",
4
4
  "description": "Minimal Technology NodeJS Infrastructure - Loopback 4 Framework",
5
5
  "keywords": [
6
6
  "web",
@@ -41,49 +41,9 @@
41
41
  "default": "./dist/base/loopback/@lb/rest/index.js",
42
42
  "types": "./dist/base/loopback/@lb/rest/index.d.ts"
43
43
  },
44
- "./@loopback/authentication": {
45
- "default": "./dist/base/loopback/authentication/index.js",
46
- "types": "./dist/base/loopback/authentication/index.d.ts"
47
- },
48
- "./@loopback/authorization": {
49
- "default": "./dist/base/loopback/authorization/index.js",
50
- "types": "./dist/base/loopback/authorization/index.d.ts"
51
- },
52
- "./@loopback/boot": {
53
- "default": "./dist/base/loopback/boot/index.js",
54
- "types": "./dist/base/loopback/boot/index.d.ts"
55
- },
56
- "./@loopback/core": {
57
- "default": "./dist/base/loopback/core/index.js",
58
- "types": "./dist/base/loopback/core/index.d.ts"
59
- },
60
- "./@loopback/http-server": {
61
- "default": "./dist/base/loopback/http-server/index.js",
62
- "types": "./dist/base/loopback/http-server/index.d.ts"
63
- },
64
- "./@loopback/metadata": {
65
- "default": "./dist/base/loopback/metadata/index.js",
66
- "types": "./dist/base/loopback/metadata/index.d.ts"
67
- },
68
- "./@loopback/repository": {
69
- "default": "./dist/base/loopback/repository/index.js",
70
- "types": "./dist/base/loopback/repository/index.d.ts"
71
- },
72
- "./@loopback/rest": {
73
- "default": "./dist/base/loopback/rest/index.js",
74
- "types": "./dist/base/loopback/rest/index.d.ts"
75
- },
76
- "./@loopback/security": {
77
- "default": "./dist/base/loopback/security/index.js",
78
- "types": "./dist/base/loopback/security/index.d.ts"
79
- },
80
- "./@loopback/service-proxy": {
81
- "default": "./dist/base/loopback/service-proxy/index.js",
82
- "types": "./dist/base/loopback/service-proxy/index.d.ts"
83
- },
84
- "./@loopback/filter": {
85
- "default": "./dist/base/loopback/filter/index.js",
86
- "types": "./dist/base/loopback/filter/index.d.ts"
44
+ "./@lb/repo": {
45
+ "default": "./dist/base/loopback/@lb/repository/index.js",
46
+ "types": "./dist/base/loopback/@lb/repository/index.d.ts"
87
47
  },
88
48
  "./package.json": "./package.json"
89
49
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../src/base/base.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQkB;AAClB,qDAAwD;AAExD,wEAAwE;AACxE,MAAa,UAAW,SAAQ,mBAAM;CAAG;AAAzC,gCAAyC;AAEzC,wEAAwE;AACxE,MAAa,YAAa,SAAQ,UAAU;CAG3C;AAHD,oCAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;wCAC7C;AAGb,wEAAwE;AACxE,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;8CAC7C;AAGb,wEAAwE;AACxE,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;;8CAC5B;AAGb,wEAAwE;AACxE,MAAa,YAAa,SAAQ,UAAU;CAG3C;AAHD,oCAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6CAChB;AAGf,wEAAwE;AACxE,MAAa,YAAa,SAAQ,IAAA,gBAAO,EAAC,YAAY,CAAC;CAAG;AAA1D,oCAA0D;AAE1D,wEAAwE;AACxE;;;;;;GAMG;AACH,MAAa,qBAAsB,SAAQ,IAAA,uBAAc,EAAC,YAAY,CAAC;CAAG;AAA1E,sDAA0E;AAE1E,wEAAwE;AACxE,MAAa,oBAAqB,SAAQ,IAAA,sBAAa,EAAC,YAAY,CAAC;CAAG;AAAxE,oDAAwE;AAExE,wEAAwE;AACxE,MAAa,sBAAuB,SAAQ,IAAA,wBAAe,EAAC,YAAY,CAAC;CAAG;AAA5E,wDAA4E;AAE5E,wEAAwE;AACxE,MAAa,wBAAyB,SAAQ,IAAA,0BAAiB,EAAC,YAAY,CAAC;CAAG;AAAhF,4DAAgF;AAEhF,wEAAwE;AACxE,MAAa,sBAAuB,SAAQ,IAAA,0BAAiB,EAAC,IAAA,wBAAe,EAAC,YAAY,CAAC,CAAC;CAAG;AAA/F,wDAA+F;AAE/F,wEAAwE;AACxE,MAAa,sBAAuB,SAAQ,IAAA,6BAAoB,EAAC,YAAY,CAAC;CAAG;AAAjF,wDAAiF;AAEjF,wEAAwE;AACxE,MAAa,wBAAyB,SAAQ,IAAA,0BAAiB,EAAC,YAAY,CAAC;CAAG;AAAhF,4DAAgF"}
@@ -1,20 +0,0 @@
1
- import { BaseTzEntity } from '../base';
2
- import { IdType } from '../common/types';
3
- import { MixinTarget } from '@loopback/core';
4
- import { Entity, EntityResolver } from '@loopback/repository';
5
- export declare const UserAuditMixin: <E extends MixinTarget<Entity>, C extends BaseTzEntity = BaseTzEntity, M extends BaseTzEntity = BaseTzEntity>(superClass: E, opts?: {
6
- useRelation: boolean;
7
- creatorResolver: EntityResolver<C>;
8
- creatorKeyTo?: string;
9
- modifierResolver: EntityResolver<M>;
10
- modifierKeyTo?: string;
11
- }) => {
12
- new (...args: any[]): {
13
- createdBy: IdType;
14
- modifiedBy: IdType;
15
- getId: () => any;
16
- getIdObject: () => Object;
17
- toJSON: () => Object;
18
- toObject: (options?: import("@loopback/repository").Options) => Object;
19
- };
20
- } & E;
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UserAuditMixin = void 0;
13
- const utilities_1 = require("../utilities");
14
- const repository_1 = require("@loopback/repository");
15
- const UserAuditMixin = (superClass, opts) => {
16
- const { useRelation = false, creatorResolver, creatorKeyTo, modifierResolver, modifierKeyTo, } = opts !== null && opts !== void 0 ? opts : {};
17
- if (!useRelation) {
18
- let Mixed = class Mixed extends superClass {
19
- };
20
- __decorate([
21
- (0, repository_1.property)({
22
- type: 'number',
23
- postgresql: {
24
- columnName: 'created_by',
25
- dataType: 'integer',
26
- },
27
- // hidden: true,
28
- }),
29
- __metadata("design:type", Object)
30
- ], Mixed.prototype, "createdBy", void 0);
31
- __decorate([
32
- (0, repository_1.property)({
33
- type: 'number',
34
- postgresql: {
35
- columnName: 'modified_by',
36
- dataType: 'integer',
37
- },
38
- // hidden: true,
39
- }),
40
- __metadata("design:type", Object)
41
- ], Mixed.prototype, "modifiedBy", void 0);
42
- Mixed = __decorate([
43
- (0, repository_1.model)()
44
- ], Mixed);
45
- return Mixed;
46
- }
47
- if (useRelation && !creatorResolver) {
48
- throw (0, utilities_1.getError)({ message: '[UserAuditMixin] Invalid creatorResolver' });
49
- }
50
- if (useRelation && !modifierResolver) {
51
- throw (0, utilities_1.getError)({ message: '[UserAuditMixin] Invalid modifierResolver' });
52
- }
53
- let Mixed = class Mixed extends superClass {
54
- };
55
- __decorate([
56
- (0, repository_1.belongsTo)(creatorResolver, { keyFrom: 'createdBy', keyTo: creatorKeyTo, name: 'creator' }, {
57
- type: 'number',
58
- postgresql: {
59
- columnName: 'created_by',
60
- dataType: 'integer',
61
- },
62
- }),
63
- __metadata("design:type", Object)
64
- ], Mixed.prototype, "createdBy", void 0);
65
- __decorate([
66
- (0, repository_1.belongsTo)(creatorResolver, { keyFrom: 'modifiedBy', keyTo: modifierKeyTo, name: 'modifier' }, {
67
- type: 'number',
68
- postgresql: {
69
- columnName: 'modified_by',
70
- dataType: 'integer',
71
- },
72
- }),
73
- __metadata("design:type", Object)
74
- ], Mixed.prototype, "modifiedBy", void 0);
75
- Mixed = __decorate([
76
- (0, repository_1.model)()
77
- ], Mixed);
78
- return Mixed;
79
- };
80
- exports.UserAuditMixin = UserAuditMixin;
81
- //# sourceMappingURL=user-audit-v2.mixin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-audit-v2.mixin.js","sourceRoot":"","sources":["../../src/mixins/user-audit-v2.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,2CAAuC;AAEvC,qDAA0F;AAEnF,MAAM,cAAc,GAAG,CAK5B,UAAa,EACb,IAMC,EACD,EAAE;IACF,MAAM,EACJ,WAAW,GAAG,KAAK,EACnB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,GACd,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IAEf,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjB,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;SAoB7B,CAAA;QAXC;YARC,IAAA,qBAAQ,EAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE,YAAY;oBACxB,QAAQ,EAAE,SAAS;iBACpB;gBACD,gBAAgB;aACjB,CAAC;;gDACgB;QAUlB;YARC,IAAA,qBAAQ,EAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE,aAAa;oBACzB,QAAQ,EAAE,SAAS;iBACpB;gBACD,gBAAgB;aACjB,CAAC;;iDACiB;QAnBf,KAAK;YADV,IAAA,kBAAK,GAAE;WACF,KAAK,CAoBV;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,IAAA,oBAAQ,EAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,MAAM,IAAA,oBAAQ,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;IAC3E,CAAC;IAGD,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;KA0B7B,CAAA;IAdC;QAXC,IAAA,sBAAS,EACR,eAAgB,EAChB,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAC9D;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,SAAS;aACpB;SACF,CACF;;4CACiB;IAalB;QAXC,IAAA,sBAAS,EACR,eAAgB,EAChB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EACjE;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,SAAS;aACpB;SACF,CACF;;6CACkB;IAzBf,KAAK;QADV,IAAA,kBAAK,GAAE;OACF,KAAK,CA0BV;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAvFW,QAAA,cAAc,kBAuFzB"}