@campxdev/server-shared 1.0.7 → 1.0.9

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 (66) hide show
  1. package/dist/common/index.d.ts +2 -0
  2. package/dist/common/index.d.ts.map +1 -1
  3. package/dist/common/index.js +2 -0
  4. package/dist/common/index.js.map +1 -1
  5. package/dist/common/interceptors/request.interceptor.d.ts +16 -0
  6. package/dist/common/interceptors/request.interceptor.d.ts.map +1 -0
  7. package/dist/common/interceptors/request.interceptor.js +109 -0
  8. package/dist/common/interceptors/request.interceptor.js.map +1 -0
  9. package/dist/common/store/request-store.d.ts +4 -0
  10. package/dist/common/store/request-store.d.ts.map +1 -1
  11. package/dist/common/store/request-store.js +16 -1
  12. package/dist/common/store/request-store.js.map +1 -1
  13. package/dist/common/store/store-config.d.ts +0 -2
  14. package/dist/common/store/store-config.d.ts.map +1 -1
  15. package/dist/common/store/store-config.js +1 -5
  16. package/dist/common/store/store-config.js.map +1 -1
  17. package/dist/common/store/store.interceptor.d.ts +6 -0
  18. package/dist/common/store/store.interceptor.d.ts.map +1 -0
  19. package/dist/common/store/store.interceptor.js +38 -0
  20. package/dist/common/store/store.interceptor.js.map +1 -0
  21. package/dist/domain/entities/index.d.ts +4 -0
  22. package/dist/domain/entities/index.d.ts.map +1 -0
  23. package/dist/domain/entities/index.js +20 -0
  24. package/dist/domain/entities/index.js.map +1 -0
  25. package/dist/domain/entities/profile-permission.entity.d.ts +12 -0
  26. package/dist/domain/entities/profile-permission.entity.d.ts.map +1 -0
  27. package/dist/domain/entities/profile-permission.entity.js +65 -0
  28. package/dist/domain/entities/profile-permission.entity.js.map +1 -0
  29. package/dist/domain/entities/profile.entity.d.ts +10 -0
  30. package/dist/domain/entities/profile.entity.d.ts.map +1 -0
  31. package/dist/domain/entities/profile.entity.js +55 -0
  32. package/dist/domain/entities/profile.entity.js.map +1 -0
  33. package/dist/domain/entities/user.entity.d.ts +20 -0
  34. package/dist/domain/entities/user.entity.d.ts.map +1 -0
  35. package/dist/domain/entities/user.entity.js +106 -0
  36. package/dist/domain/entities/user.entity.js.map +1 -0
  37. package/dist/domain/index.d.ts +2 -0
  38. package/dist/domain/index.d.ts.map +1 -1
  39. package/dist/domain/index.js +2 -0
  40. package/dist/domain/index.js.map +1 -1
  41. package/dist/domain/shared-domain.module.d.ts +3 -0
  42. package/dist/domain/shared-domain.module.d.ts.map +1 -0
  43. package/dist/domain/shared-domain.module.js +22 -0
  44. package/dist/domain/shared-domain.module.js.map +1 -0
  45. package/dist/permissions/check-permission.guard.d.ts +48 -0
  46. package/dist/permissions/check-permission.guard.d.ts.map +1 -0
  47. package/dist/permissions/check-permission.guard.js +57 -0
  48. package/dist/permissions/check-permission.guard.js.map +1 -0
  49. package/dist/permissions/index.d.ts +1 -0
  50. package/dist/permissions/index.d.ts.map +1 -1
  51. package/dist/permissions/permissions.d.ts +2 -2
  52. package/dist/permissions/permissions.d.ts.map +1 -1
  53. package/dist/permissions/permissions.js +2 -2
  54. package/dist/permissions/permissions.js.map +1 -1
  55. package/dist/shared-module/shared.module.d.ts.map +1 -1
  56. package/dist/shared-module/shared.module.js +5 -8
  57. package/dist/shared-module/shared.module.js.map +1 -1
  58. package/dist/shared-module/shared.service.d.ts +5 -3
  59. package/dist/shared-module/shared.service.d.ts.map +1 -1
  60. package/dist/shared-module/shared.service.js +13 -7
  61. package/dist/shared-module/shared.service.js.map +1 -1
  62. package/dist/utils/utils.d.ts +1 -0
  63. package/dist/utils/utils.d.ts.map +1 -1
  64. package/dist/utils/utils.js +11 -1
  65. package/dist/utils/utils.js.map +1 -1
  66. package/package.json +1 -1
@@ -0,0 +1,106 @@
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.User = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const profile_entity_1 = require("./profile.entity");
15
+ let User = class User {
16
+ id;
17
+ type;
18
+ fullName;
19
+ username;
20
+ email;
21
+ mobile;
22
+ password;
23
+ isActive;
24
+ isSuperuser;
25
+ roleId;
26
+ departmentId;
27
+ pictureId;
28
+ profiles;
29
+ schoolId;
30
+ createdAt;
31
+ updatedAt;
32
+ };
33
+ __decorate([
34
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
35
+ __metadata("design:type", Number)
36
+ ], User.prototype, "id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)(),
39
+ __metadata("design:type", String)
40
+ ], User.prototype, "type", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)(),
43
+ __metadata("design:type", String)
44
+ ], User.prototype, "fullName", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)(),
47
+ __metadata("design:type", String)
48
+ ], User.prototype, "username", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)(),
51
+ __metadata("design:type", String)
52
+ ], User.prototype, "email", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)(),
55
+ __metadata("design:type", String)
56
+ ], User.prototype, "mobile", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)(),
59
+ __metadata("design:type", String)
60
+ ], User.prototype, "password", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ default: true }),
63
+ __metadata("design:type", Boolean)
64
+ ], User.prototype, "isActive", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ default: false }),
67
+ __metadata("design:type", Boolean)
68
+ ], User.prototype, "isSuperuser", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)(),
71
+ __metadata("design:type", Number)
72
+ ], User.prototype, "roleId", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)(),
75
+ __metadata("design:type", Number)
76
+ ], User.prototype, "departmentId", void 0);
77
+ __decorate([
78
+ (0, typeorm_1.Column)(),
79
+ __metadata("design:type", Number)
80
+ ], User.prototype, "pictureId", void 0);
81
+ __decorate([
82
+ (0, typeorm_1.ManyToMany)(() => profile_entity_1.Profile),
83
+ (0, typeorm_1.JoinTable)({
84
+ name: 'user_profiles',
85
+ joinColumn: { name: 'user_id' },
86
+ inverseJoinColumn: { name: 'profile_id' },
87
+ }),
88
+ __metadata("design:type", Array)
89
+ ], User.prototype, "profiles", void 0);
90
+ __decorate([
91
+ (0, typeorm_1.Column)(),
92
+ __metadata("design:type", Number)
93
+ ], User.prototype, "schoolId", void 0);
94
+ __decorate([
95
+ (0, typeorm_1.CreateDateColumn)(),
96
+ __metadata("design:type", String)
97
+ ], User.prototype, "createdAt", void 0);
98
+ __decorate([
99
+ (0, typeorm_1.UpdateDateColumn)(),
100
+ __metadata("design:type", String)
101
+ ], User.prototype, "updatedAt", void 0);
102
+ User = __decorate([
103
+ (0, typeorm_1.Entity)()
104
+ ], User);
105
+ exports.User = User;
106
+ //# sourceMappingURL=user.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/domain/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,qDAA2C;AAGpC,IAAM,IAAI,GAAV,MAAM,IAAI;IAEf,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,QAAQ,CAAS;IAGjB,QAAQ,CAAS;IAGjB,KAAK,CAAS;IAGd,MAAM,CAAS;IAGf,QAAQ,CAAS;IAGjB,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,MAAM,CAAS;IAGf,YAAY,CAAS;IAGrB,SAAS,CAAS;IAQlB,QAAQ,CAAY;IAGpB,QAAQ,CAAS;IAGjB,SAAS,CAAS;IAGlB,SAAS,CAAS;CACnB,CAAA;AApDC;IAAC,IAAA,gCAAsB,GAAE;;gCACd;AAEX;IAAC,IAAA,gBAAM,GAAE;;kCACI;AAEb;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,GAAE;;mCACK;AAEd;IAAC,IAAA,gBAAM,GAAE;;oCACM;AAEf;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACR;AAElB;IAAC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;yCACN;AAErB;IAAC,IAAA,gBAAM,GAAE;;oCACM;AAEf;IAAC,IAAA,gBAAM,GAAE;;0CACY;AAErB;IAAC,IAAA,gBAAM,GAAE;;uCACS;AAElB;IAAC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACzB,IAAA,mBAAS,EAAC;QACT,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,iBAAiB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;KAC1C,CAAC;;sCACkB;AAEpB;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,0BAAgB,GAAE;;uCACD;AAElB;IAAC,IAAA,0BAAgB,GAAE;;uCACD;AApDP,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CAqDhB;AArDY,oBAAI"}
@@ -1,3 +1,5 @@
1
1
  export * from './db-connection.module';
2
+ export * from './entities';
2
3
  export * from './schemas/tenant.schema';
4
+ export * from './shared-domain.module';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./db-connection.module"), exports);
18
+ __exportStar(require("./entities"), exports);
18
19
  __exportStar(require("./schemas/tenant.schema"), exports);
20
+ __exportStar(require("./shared-domain.module"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,6CAA2B;AAC3B,0DAAwC;AACxC,yDAAuC"}
@@ -0,0 +1,3 @@
1
+ export declare class SharedDomainModule {
2
+ }
3
+ //# sourceMappingURL=shared-domain.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-domain.module.d.ts","sourceRoot":"","sources":["../../src/domain/shared-domain.module.ts"],"names":[],"mappings":"AAIA,qBAIa,kBAAkB;CAAG"}
@@ -0,0 +1,22 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SharedDomainModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const mongoose_1 = require("@nestjs/mongoose");
12
+ const tenant_schema_1 = require("./schemas/tenant.schema");
13
+ let SharedDomainModule = class SharedDomainModule {
14
+ };
15
+ SharedDomainModule = __decorate([
16
+ (0, common_1.Module)({
17
+ imports: [mongoose_1.MongooseModule.forFeature([{ name: tenant_schema_1.Tenant.name, schema: tenant_schema_1.TenantSchema }])],
18
+ exports: [mongoose_1.MongooseModule],
19
+ })
20
+ ], SharedDomainModule);
21
+ exports.SharedDomainModule = SharedDomainModule;
22
+ //# sourceMappingURL=shared-domain.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-domain.module.js","sourceRoot":"","sources":["../../src/domain/shared-domain.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,2DAA+D;AAMxD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,kBAAkB;IAJ9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAM,CAAC,IAAI,EAAE,MAAM,EAAE,4BAAY,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC,yBAAc,CAAC;KAC1B,CAAC;GACW,kBAAkB,CAAG;AAArB,gDAAkB"}
@@ -0,0 +1,48 @@
1
+ import { ProfilePermission, User } from '../domain';
2
+ export type PermissionCheckFn = (manager: any, user: User, permission: ProfilePermission, req: any) => Promise<boolean> | boolean;
3
+ export type CheckPermissions = {
4
+ organisation?: PermissionCheckFn;
5
+ users?: PermissionCheckFn;
6
+ admissions?: PermissionCheckFn;
7
+ students?: PermissionCheckFn;
8
+ subjects?: PermissionCheckFn;
9
+ course_registration?: PermissionCheckFn;
10
+ end_semester_examinations?: PermissionCheckFn;
11
+ internal_examinations?: PermissionCheckFn;
12
+ extra_curricular_activities?: PermissionCheckFn;
13
+ bundling?: PermissionCheckFn;
14
+ classroom?: PermissionCheckFn;
15
+ feed?: PermissionCheckFn;
16
+ programs?: PermissionCheckFn;
17
+ degrees?: PermissionCheckFn;
18
+ semesters?: PermissionCheckFn;
19
+ curriculums?: PermissionCheckFn;
20
+ assessment_rules?: PermissionCheckFn;
21
+ examinations?: PermissionCheckFn;
22
+ results_processing?: PermissionCheckFn;
23
+ lead_status?: PermissionCheckFn;
24
+ hosteler?: PermissionCheckFn;
25
+ hosteler_settings?: PermissionCheckFn;
26
+ schools?: PermissionCheckFn;
27
+ subject_types?: PermissionCheckFn;
28
+ assessment_types?: PermissionCheckFn;
29
+ master_subject?: PermissionCheckFn;
30
+ academic_calendar?: PermissionCheckFn;
31
+ designations?: PermissionCheckFn;
32
+ tasks?: PermissionCheckFn;
33
+ fee_counters?: PermissionCheckFn;
34
+ evaluators?: PermissionCheckFn;
35
+ exam_registrations?: PermissionCheckFn;
36
+ hall_tickets?: PermissionCheckFn;
37
+ omrs?: PermissionCheckFn;
38
+ paper_configuration?: PermissionCheckFn;
39
+ internal_marks?: PermissionCheckFn;
40
+ external_marks?: PermissionCheckFn;
41
+ d_forms?: PermissionCheckFn;
42
+ exam_rooms?: PermissionCheckFn;
43
+ exam_timetable?: PermissionCheckFn;
44
+ time_slots?: PermissionCheckFn;
45
+ quotas?: PermissionCheckFn;
46
+ };
47
+ export declare function validateRequestPermission(permissionName: string, fns: CheckPermissions): Promise<boolean>;
48
+ //# sourceMappingURL=check-permission.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-permission.guard.d.ts","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGpD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,iBAAiB,EAC7B,GAAG,EAAE,GAAG,KACL,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEhC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;IAC9C,qBAAqB,CAAC,EAAE,iBAAiB,CAAC;IAC1C,2BAA2B,CAAC,EAAE,iBAAiB,CAAC;IAChD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,OAAO,CAAC,CA8ClB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRequestPermission = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const common_1 = require("../common");
6
+ const domain_1 = require("../domain");
7
+ const permissions_1 = require("./permissions");
8
+ async function validateRequestPermission(permissionName, fns) {
9
+ const reqUser = (0, common_1.getUserData)();
10
+ if (!reqUser || !reqUser.id)
11
+ return false;
12
+ const req = (0, common_1.getRequest)();
13
+ const user = await (0, common_1.getDataSource)().manager.findOne(domain_1.User, {
14
+ where: { id: reqUser.id },
15
+ relations: ['department', 'department.programs', 'profiles'],
16
+ });
17
+ if (permissionName === 'super_user')
18
+ return user.isSuperuser;
19
+ if (user.isSuperuser)
20
+ return true;
21
+ const group = (0, permissions_1.permissionGroupBySlug)()[permissionName];
22
+ if (!group)
23
+ return false;
24
+ const profilePermission = await (0, common_1.getDataSource)()
25
+ .manager.createQueryBuilder(domain_1.ProfilePermission, 'pp')
26
+ .andWhere('pp.permissionSlug = :name', { name: permissionName })
27
+ .andWhere('pp.profileId in (:profileIds)', {
28
+ profileIds: user.profiles.length > 0 ? user.profiles.map((p) => p.id) : [0],
29
+ })
30
+ .getMany()
31
+ .then((res) => {
32
+ if (res.length === 0)
33
+ return null;
34
+ const value = res[0];
35
+ value.hasPermission = res.some((r) => r.hasPermission);
36
+ group.permissions = (0, lodash_1.uniq)(res.map((val) => val.permissions ?? []).flat());
37
+ return value;
38
+ });
39
+ if (!profilePermission)
40
+ return false;
41
+ if (!profilePermission.hasPermission)
42
+ return false;
43
+ if (group.permissions.length === 0)
44
+ return true;
45
+ if (profilePermission.permissions.length === 0)
46
+ return false;
47
+ const pp = fns[permissionName];
48
+ if (pp === null || pp === undefined)
49
+ return true;
50
+ if (typeof pp === 'function')
51
+ return pp((0, common_1.getDataSource)().manager, user, profilePermission, req);
52
+ if (typeof pp === 'boolean')
53
+ return pp;
54
+ return true;
55
+ }
56
+ exports.validateRequestPermission = validateRequestPermission;
57
+ //# sourceMappingURL=check-permission.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-permission.guard.js","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAC9B,sCAAmE;AACnE,sCAAoD;AACpD,+CAAsD;AAsD/C,KAAK,UAAU,yBAAyB,CAC7C,cAAsB,EACtB,GAAqB;IAErB,MAAM,OAAO,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,GAAG,GAAG,IAAA,mBAAU,GAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAa,GAAE,CAAC,OAAO,CAAC,OAAO,CAAC,aAAI,EAAE;QACvD,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;QACzB,SAAS,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,UAAU,CAAC;KAC7D,CAAC,CAAC;IAEH,IAAI,cAAc,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC7D,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,KAAK,GAAG,IAAA,mCAAqB,GAAE,CAAC,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,iBAAiB,GAAG,MAAM,IAAA,sBAAa,GAAE;SAC5C,OAAO,CAAC,kBAAkB,CAAC,0BAAiB,EAAE,IAAI,CAAC;SACnD,QAAQ,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAC/D,QAAQ,CAAC,+BAA+B,EAAE;QACzC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5E,CAAC;SACD,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACvD,KAAK,CAAC,WAAW,GAAG,IAAA,aAAI,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,CAAC,iBAAiB,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAEnD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,iBAAiB,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7D,MAAM,EAAE,GAAG,GAAG,CAAC,cAAwC,CAAC,CAAC;IAEzD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,OAAO,EAAE,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC,IAAA,sBAAa,GAAE,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAC/F,IAAI,OAAO,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,IAAI,CAAC;AACd,CAAC;AAjDD,8DAiDC"}
@@ -1,2 +1,3 @@
1
1
  export * from './permissions';
2
+ export { CheckPermissions, PermissionCheckFn } from './check-permission.guard';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -14,7 +14,7 @@ export interface IPermission {
14
14
  export declare function permissionGroupsArray(): IPermissionGroup[];
15
15
  export declare function permissionsArray(): IPermission[];
16
16
  export declare function permissionGroupBySlug(): import("lodash").Dictionary<IPermission>;
17
- export declare const permission: Readonly<{
17
+ export declare const permission: {
18
18
  organisation: {
19
19
  GROUP: {
20
20
  name: string;
@@ -1886,5 +1886,5 @@ export declare const permission: Readonly<{
1886
1886
  };
1887
1887
  };
1888
1888
  };
1889
- }>;
1889
+ };
1890
1890
  //# sourceMappingURL=permissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/permissions/permissions.ts"],"names":[],"mappings":";AAsBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAiB1D;AAED,wBAAgB,gBAAgB,kBAQ/B;AAED,wBAAgB,qBAAqB,6CAGpC;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAg1DrB,CAAC"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/permissions/permissions.ts"],"names":[],"mappings":";AAsBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAiB1D;AAED,wBAAgB,gBAAgB,kBAQ/B;AAED,wBAAgB,qBAAqB,6CAGpC;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAg1DtB,CAAC"}
@@ -37,7 +37,7 @@ function permissionGroupBySlug() {
37
37
  return (0, lodash_1.keyBy)(groups, (val) => val.slug);
38
38
  }
39
39
  exports.permissionGroupBySlug = permissionGroupBySlug;
40
- exports.permission = Object.freeze({
40
+ exports.permission = {
41
41
  organisation: {
42
42
  GROUP: {
43
43
  name: 'Organisation',
@@ -1909,5 +1909,5 @@ exports.permission = Object.freeze({
1909
1909
  },
1910
1910
  },
1911
1911
  },
1912
- });
1912
+ };
1913
1913
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/permissions/permissions.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AACrD,mCAAuC;AAmCvC,SAAgB,qBAAqB;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,kBAAU,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO;YACL,GAAG,KAAK,CAAC,KAAK;YACd,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACrD,OAAO;oBACL,GAAG,UAAU;oBACb,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBAC3B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;oBAClD,aAAa,EAAE,SAAS;iBACzB,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAjBD,sDAiBC;AAED,SAAgB,gBAAgB;IAC9B,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,MAAM,YAAY,GAAG,IAAA,eAAM,EAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;QAC9C,MAAM,IAAI,4BAAmB,CAAC,6BAA6B,CAAC,CAAC;KAC9D;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AARD,4CAQC;AAED,SAAgB,qBAAqB;IACnC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,OAAO,IAAA,cAAK,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAHD,sDAGC;AAEY,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;SACrB;QACD,WAAW,EAAE;YACX,yBAAyB,EAAE;gBACzB,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;SACd;QACD,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,CAAC;gBAC5D,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,SAAS,EAAE,WAAW;iBACvB;aACF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,CAAC;gBAC5D,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,SAAS,EAAE,WAAW;iBACvB;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,CAAC;gBAC5D,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,SAAS,EAAE,WAAW;iBACvB;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,CAAC;gBAC5D,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,SAAS,EAAE,WAAW;iBACvB;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,CAAC;gBAC5D,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,SAAS,EAAE,WAAW;iBACvB;aACF;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;SACnB;QACD,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,wBAAwB,EAAE;gBACxB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC3C,aAAa,EAAE;oBACb,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,wBAAwB,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gCAAgC,EAAE;gBAChC,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,kCAAkC;gBACxC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,oCAAoC,EAAE;gBACpC,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,sCAAsC;gBAC5C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,WAAW,EAAE;YACX,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC;gBACzE,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,eAAe,EAAE,iBAAiB;oBAClC,eAAe,EAAE,iBAAiB;oBAClC,GAAG,EAAE,KAAK;iBACX;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,WAAW,EAAE;YACX,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;gBACnC,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,GAAG,EAAE,KAAK;iBACX;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;gBACnC,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,GAAG,EAAE,KAAK;iBACX;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;gBACnC,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;gBACnC,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,GAAG,EAAE,KAAK;iBACX;aACF;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;gBACnC,aAAa,EAAE;oBACb,WAAW,EAAE,aAAa;oBAC1B,GAAG,EAAE,KAAK;iBACX;aACF;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE;YACL,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,qBAAqB;SAC5B;QACD,WAAW,EAAE;YACX,wBAAwB,EAAE;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,CAAC;gBACrE,aAAa,EAAE;oBACb,cAAc,EAAE,gBAAgB;oBAChC,kBAAkB,EAAE,oBAAoB;oBACxC,YAAY,EAAE,cAAc;iBAC7B;aACF;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,CAAC;gBACrE,aAAa,EAAE;oBACb,cAAc,EAAE,gBAAgB;oBAChC,kBAAkB,EAAE,oBAAoB;oBACxC,YAAY,EAAE,cAAc;iBAC7B;aACF;YACD,wBAAwB,EAAE;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,CAAC;gBACrE,aAAa,EAAE;oBACb,cAAc,EAAE,gBAAgB;oBAChC,kBAAkB,EAAE,oBAAoB;oBACxC,YAAY,EAAE,cAAc;iBAC7B;aACF;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,CAAC;gBACrE,aAAa,EAAE;oBACb,cAAc,EAAE,gBAAgB;oBAChC,kBAAkB,EAAE,oBAAoB;oBACxC,YAAY,EAAE,cAAc;iBAC7B;aACF;SACF;KACF;IACD,yBAAyB,EAAE;QACzB,KAAK,EAAE;YACL,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,2BAA2B;SAClC;QACD,WAAW,EAAE;YACX,8BAA8B,EAAE;gBAC9B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gCAAgC;gBACtC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,6BAA6B,EAAE;gBAC7B,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,+BAA+B;gBACrC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,8BAA8B,EAAE;gBAC9B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gCAAgC;gBACtC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,gCAAgC,EAAE;gBAChC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,kCAAkC;gBACxC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,yCAAyC,EAAE;gBACzC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,2CAA2C;gBACjD,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,uBAAuB;SAC9B;QACD,WAAW,EAAE;YACX,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,yBAAyB,EAAE;gBACzB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,8BAA8B;gBACpC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,qCAAqC,EAAE;gBACrC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,uCAAuC;gBAC7C,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,wCAAwC,EAAE;gBACxC,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,0CAA0C;gBAChD,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,kCAAkC,EAAE;gBAClC,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,mCAAmC,EAAE;gBACnC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,qCAAqC;gBAC3C,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,yCAAyC,EAAE;gBACzC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,2CAA2C;gBACjD,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,KAAK,EAAE;YACL,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,6BAA6B;SACpC;QACD,WAAW,EAAE;YACX,qCAAqC,EAAE;gBACrC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,uCAAuC;gBAC7C,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,iCAAiC,EAAE;gBACjC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,kCAAkC,EAAE;gBAClC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,WAAW,EAAE;YACX,wBAAwB,EAAE;gBACxB,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChC,aAAa,EAAE;oBACb,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,WAAW;SAClB;QACD,WAAW,EAAE;YACX,cAAc,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC;gBACrE,aAAa,EAAE;oBACb,eAAe,EAAE,iBAAiB;oBAClC,cAAc,EAAE,gBAAgB;oBAChC,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC;gBACrE,aAAa,EAAE;oBACb,eAAe,EAAE,iBAAiB;oBAClC,cAAc,EAAE,gBAAgB;oBAChC,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,2BAA2B,EAAE;gBAC3B,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,6BAA6B;gBACnC,WAAW,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC;gBACnD,aAAa,EAAE;oBACb,eAAe,EAAE,iBAAiB;oBAClC,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC;gBACnD,aAAa,EAAE;oBACb,eAAe,EAAE,iBAAiB;oBAClC,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,KAAK;iBACX;aACF;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC;gBACnD,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,eAAe,EAAE,iBAAiB;oBAClC,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,iCAAiC,EAAE;gBACjC,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC;gBACvC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,eAAe,EAAE,iBAAiB;iBACnC;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;gBACzD,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,eAAe,EAAE,iBAAiB;oBAClC,cAAc,EAAE,gBAAgB;iBACjC;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,WAAW,EAAE;YACX,YAAY,EAAE;gBACZ,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB;QACD,WAAW,EAAE;YACX,WAAW,EAAE;gBACX,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;SAClB;QACD,WAAW,EAAE;YACX,cAAc,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;SACpB;QACD,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,kBAAkB;SACzB;QACD,WAAW,EAAE;YACX,qBAAqB,EAAE;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,oBAAoB,EAAE;gBACpB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;SACrB;QACD,WAAW,EAAE;YACX,yBAAyB,EAAE;gBACzB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kCAAkC,EAAE;gBAClC,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,oBAAoB;SAC3B;QACD,WAAW,EAAE;YACX,uBAAuB,EAAE;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kCAAkC,EAAE;gBAClC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,0CAA0C,EAAE;gBAC1C,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,4CAA4C;gBAClD,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iCAAiC,EAAE;gBACjC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,wCAAwC,EAAE;gBACxC,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,0CAA0C;gBAChD,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,+BAA+B,EAAE;gBAC/B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;SACpB;QACD,WAAW,EAAE;YACX,gBAAgB,EAAE;gBAChB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SACjB;QACD,WAAW,EAAE;YACX,YAAY,EAAE;gBACZ,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,wBAAwB,EAAE;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gBAChC,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,UAAU;iBACrB;aACF;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,mBAAmB;SAC1B;QACD,WAAW,EAAE;YACX,oCAAoC,EAAE;gBACpC,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,sCAAsC;gBAC5C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,oCAAoC,EAAE;gBACpC,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,sCAAsC;gBAC5C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,+BAA+B,EAAE;gBAC/B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gCAAgC,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,kCAAkC;gBACxC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gCAAgC,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,kCAAkC;gBACxC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kCAAkC,EAAE;gBAClC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,6BAA6B,EAAE;gBAC7B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,+BAA+B;gBACrC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,8BAA8B;gBACpC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,6BAA6B,EAAE;gBAC7B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,+BAA+B;gBACrC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,+BAA+B,EAAE;gBAC/B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,8BAA8B;gBACpC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,2BAA2B,EAAE;gBAC3B,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,6BAA6B;gBACnC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,8BAA8B;gBACpC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,8BAA8B,EAAE;gBAC9B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,gCAAgC;gBACtC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gCAAgC,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,kCAAkC;gBACxC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,+BAA+B,EAAE;gBAC/B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,gCAAgC,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,kCAAkC;gBACxC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kCAAkC,EAAE;gBAClC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,qCAAqC,EAAE;gBACrC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,uCAAuC;gBAC7C,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB;QACD,WAAW,EAAE;YACX,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,eAAe;SACtB;QACD,WAAW,EAAE;YACX,kBAAkB,EAAE;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,kBAAkB;SACzB;QACD,WAAW,EAAE;YACX,qBAAqB,EAAE;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,oBAAoB,EAAE;gBACpB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;SACvB;QACD,WAAW,EAAE;YACX,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,mBAAmB;SAC1B;QACD,WAAW,EAAE;YACX,sBAAsB,EAAE;gBACtB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,2BAA2B,EAAE;gBAC3B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,6BAA6B;gBACnC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,8BAA8B;gBACpC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,8BAA8B,EAAE;gBAC9B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,gCAAgC;gBACtC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;SACrB;QACD,WAAW,EAAE;YACX,gBAAgB,EAAE;gBAChB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;SACd;QACD,WAAW,EAAE;YACX,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAC9B,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,QAAQ;iBACjB;aACF;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAC9B,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,QAAQ;iBACjB;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAC9B,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,QAAQ;iBACjB;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAC9B,aAAa,EAAE;oBACb,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,QAAQ;iBACjB;aACF;SACF;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;SACrB;QACD,WAAW,EAAE;YACX,wBAAwB,EAAE;gBACxB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,oBAAoB,EAAE;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;SACnB;QACD,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,oBAAoB;SAC3B;QACD,WAAW,EAAE;YACX,uBAAuB,EAAE;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;SACrB;QACD,WAAW,EAAE;YACX,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD,WAAW,EAAE;YACX,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE;YACL,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,qBAAqB;SAC5B;QACD,WAAW,EAAE;YACX,wBAAwB,EAAE;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,uBAAuB,EAAE;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,wBAAwB,EAAE;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,0BAA0B,EAAE;gBAC1B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;SACvB;QACD,WAAW,EAAE;YACX,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;SACvB;QACD,WAAW,EAAE;YACX,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB;QACD,WAAW,EAAE;YACX,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;SACnB;QACD,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;SACvB;QACD,WAAW,EAAE;YACX,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;SACnB;QACD,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,EAAE;aAClB;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/permissions/permissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.module.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,qBAEa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa;CAoB5D"}
1
+ {"version":3,"file":"shared.module.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,qBAEa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa;CAiB5D"}
@@ -18,20 +18,17 @@ let SharedModule = SharedModule_1 = class SharedModule {
18
18
  common_2.MessagePatterProps.service = config.service;
19
19
  return {
20
20
  module: SharedModule_1,
21
- imports: [
22
- mongoose_1.MongooseModule.forFeature([{ name: domain_1.Tenant.name, schema: domain_1.TenantSchema }]),
23
- domain_1.DBConnectionModule,
24
- ],
21
+ imports: [domain_1.SharedDomainModule, domain_1.DBConnectionModule],
25
22
  providers: [
26
23
  {
27
24
  provide: shared_service_1.SharedService,
28
- useFactory: (dbConnections, connection) => {
29
- return new shared_service_1.SharedService(config.dataBaseConfig, dbConnections, connection);
25
+ useFactory: (dbConnections, tenantModel) => {
26
+ return new shared_service_1.SharedService(config.dataBaseConfig, dbConnections, tenantModel);
30
27
  },
31
- inject: [domain_1.TENANT_DB_CONNECTIONS, (0, mongoose_1.getConnectionToken)()],
28
+ inject: [domain_1.TENANT_DB_CONNECTIONS, (0, mongoose_1.getModelToken)(domain_1.Tenant.name)],
32
29
  },
33
30
  ],
34
- exports: [shared_service_1.SharedService, mongoose_1.MongooseModule],
31
+ exports: [shared_service_1.SharedService],
35
32
  };
36
33
  }
37
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,+CAAsE;AAGtE,sCAA+C;AAC/C,sCAA4F;AAC5F,qDAAkE;AAS3D,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,MAA4B;QACzC,2BAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5C,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE;gBACP,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,eAAM,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAY,EAAE,CAAC,CAAC;gBACxE,2BAAkB;aACnB;YACD,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,8BAAa;oBACtB,UAAU,EAAE,CAAC,aAAsC,EAAE,UAAsB,EAAE,EAAE;wBAC7E,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC7E,CAAC;oBACD,MAAM,EAAE,CAAC,8BAAqB,EAAE,IAAA,6BAAkB,GAAE,CAAC;iBACtD;aACF;YACD,OAAO,EAAE,CAAC,8BAAa,EAAE,yBAAc,CAAC;SACzC,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,YAAY;IAFxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAqBxB;AArBY,oCAAY"}
1
+ {"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,+CAAiD;AAGjD,sCAA+C;AAC/C,sCAAkG;AAClG,qDAAkE;AAS3D,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,MAA4B;QACzC,2BAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5C,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE,CAAC,2BAAkB,EAAE,2BAAkB,CAAC;YACjD,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,8BAAa;oBACtB,UAAU,EAAE,CAAC,aAAsC,EAAE,WAA0B,EAAE,EAAE;wBACjF,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;oBAC9E,CAAC;oBACD,MAAM,EAAE,CAAC,8BAAqB,EAAE,IAAA,wBAAa,EAAC,eAAM,CAAC,IAAI,CAAC,CAAC;iBAC5D;aACF;YACD,OAAO,EAAE,CAAC,8BAAa,CAAC;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAlBY,YAAY;IAFxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAkBxB;AAlBY,oCAAY"}
@@ -1,18 +1,19 @@
1
1
  import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
2
- import { Connection } from 'mongoose';
2
+ import { Model } from 'mongoose';
3
3
  import { DataSource } from 'typeorm';
4
4
  import { IRequest, TenantDetails } from '../common/interfaces/context.interface';
5
5
  import { Tenant } from '../domain';
6
+ import { CheckPermissions } from '../permissions/check-permission.guard';
6
7
  export interface IDataBaseConfig {
7
8
  entities?: any[];
8
9
  migrations?: any[];
10
+ checkPermissions?: CheckPermissions;
9
11
  }
10
12
  export declare class SharedService implements OnModuleDestroy, OnModuleInit {
11
13
  private readonly dataBaseConfig;
12
14
  private readonly dbConnections;
13
- private readonly connection;
14
15
  private readonly tenantModel;
15
- constructor(dataBaseConfig: IDataBaseConfig, dbConnections: Map<string, DataSource>, connection: Connection);
16
+ constructor(dataBaseConfig: IDataBaseConfig, dbConnections: Map<string, DataSource>, tenantModel: Model<Tenant>);
16
17
  onModuleInit(): Promise<void>;
17
18
  onModuleDestroy(): Promise<void>;
18
19
  createTenantDetails(tenant: Tenant): TenantDetails;
@@ -26,5 +27,6 @@ export declare class SharedService implements OnModuleDestroy, OnModuleInit {
26
27
  } | {
27
28
  rootDataSource: DataSource;
28
29
  }>;
30
+ getCheckPermission(): CheckPermissions;
29
31
  }
30
32
  //# sourceMappingURL=shared.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.service.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAS,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACpB;AAED,qBACa,aAAc,YAAW,eAAe,EAAE,YAAY;IAI/D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAGzB,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,UAAU,EAAE,UAAU;IAKnC,YAAY;IAWZ,eAAe;IAWrB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAO5C,yBAAyB,CAAC,EAAE,EAAE,MAAM;IAQpC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IA6CxC,mBAAmB,CAAC,MAAM,EAAE,aAAa;;;IAOzC,aAAa,CAAC,GAAG,EAAE,QAAQ;;;;;CAQlC"}
1
+ {"version":3,"file":"shared.service.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,YAAY,EAEb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,qBACa,aAAc,YAAW,eAAe,EAAE,YAAY;IAE/D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IACJ,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFrC,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACZ,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAGjE,YAAY;IAWZ,eAAe;IAWrB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAO5C,yBAAyB,CAAC,EAAE,EAAE,MAAM;IAQpC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IA6CxC,mBAAmB,CAAC,MAAM,EAAE,aAAa;;;IAOzC,aAAa,CAAC,GAAG,EAAE,QAAQ;;;;;IASjC,kBAAkB;CAGnB"}