@ackplus/nest-auth 0.0.23

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 (186) hide show
  1. package/README.md +226 -0
  2. package/package.json +51 -0
  3. package/src/index.d.ts +11 -0
  4. package/src/index.js +15 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/auth.constants.d.ts +17 -0
  7. package/src/lib/auth.constants.js +21 -0
  8. package/src/lib/auth.constants.js.map +1 -0
  9. package/src/lib/controllers/auth.controller.d.ts +26 -0
  10. package/src/lib/controllers/auth.controller.js +214 -0
  11. package/src/lib/controllers/auth.controller.js.map +1 -0
  12. package/src/lib/controllers/mfa.controller.d.ts +23 -0
  13. package/src/lib/controllers/mfa.controller.js +132 -0
  14. package/src/lib/controllers/mfa.controller.js.map +1 -0
  15. package/src/lib/decorators/skip-mfa.decorator.d.ts +2 -0
  16. package/src/lib/decorators/skip-mfa.decorator.js +8 -0
  17. package/src/lib/decorators/skip-mfa.decorator.js.map +1 -0
  18. package/src/lib/dto/index.d.ts +12 -0
  19. package/src/lib/dto/index.js +16 -0
  20. package/src/lib/dto/index.js.map +1 -0
  21. package/src/lib/dto/requests/forgot-password.request.dto.d.ts +5 -0
  22. package/src/lib/dto/requests/forgot-password.request.dto.js +30 -0
  23. package/src/lib/dto/requests/forgot-password.request.dto.js.map +1 -0
  24. package/src/lib/dto/requests/login.request.dto.d.ts +6 -0
  25. package/src/lib/dto/requests/login.request.dto.js +34 -0
  26. package/src/lib/dto/requests/login.request.dto.js.map +1 -0
  27. package/src/lib/dto/requests/refresh-token.request.dto.d.ts +3 -0
  28. package/src/lib/dto/requests/refresh-token.request.dto.js +15 -0
  29. package/src/lib/dto/requests/refresh-token.request.dto.js.map +1 -0
  30. package/src/lib/dto/requests/reset-password.request.dto.d.ts +7 -0
  31. package/src/lib/dto/requests/reset-password.request.dto.js +42 -0
  32. package/src/lib/dto/requests/reset-password.request.dto.js.map +1 -0
  33. package/src/lib/dto/requests/send-mfa-code.request.dto.d.ts +4 -0
  34. package/src/lib/dto/requests/send-mfa-code.request.dto.js +16 -0
  35. package/src/lib/dto/requests/send-mfa-code.request.dto.js.map +1 -0
  36. package/src/lib/dto/requests/signup.request.dto.d.ts +6 -0
  37. package/src/lib/dto/requests/signup.request.dto.js +37 -0
  38. package/src/lib/dto/requests/signup.request.dto.js.map +1 -0
  39. package/src/lib/dto/requests/social-login.request.dto.d.ts +3 -0
  40. package/src/lib/dto/requests/social-login.request.dto.js +16 -0
  41. package/src/lib/dto/requests/social-login.request.dto.js.map +1 -0
  42. package/src/lib/dto/requests/update-user.dto.d.ts +5 -0
  43. package/src/lib/dto/requests/update-user.dto.js +24 -0
  44. package/src/lib/dto/requests/update-user.dto.js.map +1 -0
  45. package/src/lib/dto/requests/verify-2fa.request.dto.d.ts +5 -0
  46. package/src/lib/dto/requests/verify-2fa.request.dto.js +21 -0
  47. package/src/lib/dto/requests/verify-2fa.request.dto.js.map +1 -0
  48. package/src/lib/dto/requests/verify-totp-setup.request.dto.d.ts +4 -0
  49. package/src/lib/dto/requests/verify-totp-setup.request.dto.js +20 -0
  50. package/src/lib/dto/requests/verify-totp-setup.request.dto.js.map +1 -0
  51. package/src/lib/dto/responses/auth.response.dto.d.ts +16 -0
  52. package/src/lib/dto/responses/auth.response.dto.js +55 -0
  53. package/src/lib/dto/responses/auth.response.dto.js.map +1 -0
  54. package/src/lib/dto/responses/device-info.response.dto.d.ts +6 -0
  55. package/src/lib/dto/responses/device-info.response.dto.js +25 -0
  56. package/src/lib/dto/responses/device-info.response.dto.js.map +1 -0
  57. package/src/lib/dto/responses/message.response.dto.d.ts +3 -0
  58. package/src/lib/dto/responses/message.response.dto.js +13 -0
  59. package/src/lib/dto/responses/message.response.dto.js.map +1 -0
  60. package/src/lib/entities/auth-identity.entity.d.ts +11 -0
  61. package/src/lib/entities/auth-identity.entity.js +47 -0
  62. package/src/lib/entities/auth-identity.entity.js.map +1 -0
  63. package/src/lib/entities/index.d.ts +10 -0
  64. package/src/lib/entities/index.js +26 -0
  65. package/src/lib/entities/index.js.map +1 -0
  66. package/src/lib/entities/mfa-secret.entity.d.ts +12 -0
  67. package/src/lib/entities/mfa-secret.entity.js +51 -0
  68. package/src/lib/entities/mfa-secret.entity.js.map +1 -0
  69. package/src/lib/entities/otp.entity.d.ts +16 -0
  70. package/src/lib/entities/otp.entity.js +52 -0
  71. package/src/lib/entities/otp.entity.js.map +1 -0
  72. package/src/lib/entities/permission.entity.d.ts +9 -0
  73. package/src/lib/entities/permission.entity.js +37 -0
  74. package/src/lib/entities/permission.entity.js.map +1 -0
  75. package/src/lib/entities/role-permission.entity.d.ts +8 -0
  76. package/src/lib/entities/role-permission.entity.js +30 -0
  77. package/src/lib/entities/role-permission.entity.js.map +1 -0
  78. package/src/lib/entities/role.entity.d.ts +11 -0
  79. package/src/lib/entities/role.entity.js +42 -0
  80. package/src/lib/entities/role.entity.js.map +1 -0
  81. package/src/lib/entities/session.entity.d.ts +16 -0
  82. package/src/lib/entities/session.entity.js +63 -0
  83. package/src/lib/entities/session.entity.js.map +1 -0
  84. package/src/lib/entities/tenant.entity.d.ts +10 -0
  85. package/src/lib/entities/tenant.entity.js +41 -0
  86. package/src/lib/entities/tenant.entity.js.map +1 -0
  87. package/src/lib/entities/user-role.entity.d.ts +13 -0
  88. package/src/lib/entities/user-role.entity.js +47 -0
  89. package/src/lib/entities/user-role.entity.js.map +1 -0
  90. package/src/lib/entities/user.entity.d.ts +38 -0
  91. package/src/lib/entities/user.entity.js +155 -0
  92. package/src/lib/entities/user.entity.js.map +1 -0
  93. package/src/lib/guards/auth.guard.d.ts +18 -0
  94. package/src/lib/guards/auth.guard.js +106 -0
  95. package/src/lib/guards/auth.guard.js.map +1 -0
  96. package/src/lib/interceptors/token.interceptor.d.ts +10 -0
  97. package/src/lib/interceptors/token.interceptor.js +41 -0
  98. package/src/lib/interceptors/token.interceptor.js.map +1 -0
  99. package/src/lib/interfaces/auth-module-options.interface.d.ts +51 -0
  100. package/src/lib/interfaces/auth-module-options.interface.js +3 -0
  101. package/src/lib/interfaces/auth-module-options.interface.js.map +1 -0
  102. package/src/lib/interfaces/mfa-options.interface.d.ts +25 -0
  103. package/src/lib/interfaces/mfa-options.interface.js +10 -0
  104. package/src/lib/interfaces/mfa-options.interface.js.map +1 -0
  105. package/src/lib/interfaces/session-options.interface.d.ts +12 -0
  106. package/src/lib/interfaces/session-options.interface.js +9 -0
  107. package/src/lib/interfaces/session-options.interface.js.map +1 -0
  108. package/src/lib/interfaces/token-payload.interface.d.ts +39 -0
  109. package/src/lib/interfaces/token-payload.interface.js +3 -0
  110. package/src/lib/interfaces/token-payload.interface.js.map +1 -0
  111. package/src/lib/migrations/1746242659133-migration.d.ts +6 -0
  112. package/src/lib/migrations/1746242659133-migration.js +66 -0
  113. package/src/lib/migrations/1746242659133-migration.js.map +1 -0
  114. package/src/lib/migrations/1746244352713-migration.d.ts +6 -0
  115. package/src/lib/migrations/1746244352713-migration.js +16 -0
  116. package/src/lib/migrations/1746244352713-migration.js.map +1 -0
  117. package/src/lib/nest-auth.module.d.ts +13 -0
  118. package/src/lib/nest-auth.module.js +247 -0
  119. package/src/lib/nest-auth.module.js.map +1 -0
  120. package/src/lib/providers/apple-auth.provider.d.ts +23 -0
  121. package/src/lib/providers/apple-auth.provider.js +61 -0
  122. package/src/lib/providers/apple-auth.provider.js.map +1 -0
  123. package/src/lib/providers/base-auth.provider.d.ts +24 -0
  124. package/src/lib/providers/base-auth.provider.js +54 -0
  125. package/src/lib/providers/base-auth.provider.js.map +1 -0
  126. package/src/lib/providers/email-auth.provider.d.ts +21 -0
  127. package/src/lib/providers/email-auth.provider.js +45 -0
  128. package/src/lib/providers/email-auth.provider.js.map +1 -0
  129. package/src/lib/providers/facebook-auth.provider.d.ts +23 -0
  130. package/src/lib/providers/facebook-auth.provider.js +61 -0
  131. package/src/lib/providers/facebook-auth.provider.js.map +1 -0
  132. package/src/lib/providers/google-auth.provider.d.ts +26 -0
  133. package/src/lib/providers/google-auth.provider.js +63 -0
  134. package/src/lib/providers/google-auth.provider.js.map +1 -0
  135. package/src/lib/providers/index.d.ts +7 -0
  136. package/src/lib/providers/index.js +16 -0
  137. package/src/lib/providers/index.js.map +1 -0
  138. package/src/lib/providers/jwt-auth.provider.d.ts +38 -0
  139. package/src/lib/providers/jwt-auth.provider.js +54 -0
  140. package/src/lib/providers/jwt-auth.provider.js.map +1 -0
  141. package/src/lib/providers/phone-auth.provider.d.ts +22 -0
  142. package/src/lib/providers/phone-auth.provider.js +48 -0
  143. package/src/lib/providers/phone-auth.provider.js.map +1 -0
  144. package/src/lib/request-context/request-context.d.ts +22 -0
  145. package/src/lib/request-context/request-context.js +108 -0
  146. package/src/lib/request-context/request-context.js.map +1 -0
  147. package/src/lib/request-context/request-context.middleware.d.ts +4 -0
  148. package/src/lib/request-context/request-context.middleware.js +16 -0
  149. package/src/lib/request-context/request-context.middleware.js.map +1 -0
  150. package/src/lib/services/auth-migration-service.d.ts +22 -0
  151. package/src/lib/services/auth-migration-service.js +125 -0
  152. package/src/lib/services/auth-migration-service.js.map +1 -0
  153. package/src/lib/services/auth-provider-registry.service.d.ts +25 -0
  154. package/src/lib/services/auth-provider-registry.service.js +72 -0
  155. package/src/lib/services/auth-provider-registry.service.js.map +1 -0
  156. package/src/lib/services/auth.service.d.ts +45 -0
  157. package/src/lib/services/auth.service.js +344 -0
  158. package/src/lib/services/auth.service.js.map +1 -0
  159. package/src/lib/services/cookie.service.d.ts +10 -0
  160. package/src/lib/services/cookie.service.js +43 -0
  161. package/src/lib/services/cookie.service.js.map +1 -0
  162. package/src/lib/services/jwt.service.d.ts +15 -0
  163. package/src/lib/services/jwt.service.js +93 -0
  164. package/src/lib/services/jwt.service.js.map +1 -0
  165. package/src/lib/services/mfa.service.d.ts +40 -0
  166. package/src/lib/services/mfa.service.js +254 -0
  167. package/src/lib/services/mfa.service.js.map +1 -0
  168. package/src/lib/services/session/base-session.service.d.ts +23 -0
  169. package/src/lib/services/session/base-session.service.js +64 -0
  170. package/src/lib/services/session/base-session.service.js.map +1 -0
  171. package/src/lib/services/session/database-session.service.d.ts +19 -0
  172. package/src/lib/services/session/database-session.service.js +55 -0
  173. package/src/lib/services/session/database-session.service.js.map +1 -0
  174. package/src/lib/services/session/redis-session.service.d.ts +22 -0
  175. package/src/lib/services/session/redis-session.service.js +120 -0
  176. package/src/lib/services/session/redis-session.service.js.map +1 -0
  177. package/src/lib/utils/database.utils.d.ts +2 -0
  178. package/src/lib/utils/database.utils.js +8 -0
  179. package/src/lib/utils/database.utils.js.map +1 -0
  180. package/src/lib/utils/otp.d.ts +1 -0
  181. package/src/lib/utils/otp.js +7 -0
  182. package/src/lib/utils/otp.js.map +1 -0
  183. package/src/typeorm.config.d.ts +2 -0
  184. package/src/typeorm.config.js +18 -0
  185. package/src/typeorm.config.js.map +1 -0
  186. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,22 @@
1
+ import { Redis } from 'ioredis';
2
+ import { SessionPayload } from '../../interfaces/token-payload.interface';
3
+ import { AuthModuleOptions } from '../../interfaces/auth-module-options.interface';
4
+ import { BaseSessionService } from './base-session.service';
5
+ export declare class RedisSessionService extends BaseSessionService {
6
+ readonly authModuleOptions: AuthModuleOptions;
7
+ private readonly redis;
8
+ private readonly sessionPrefix;
9
+ private readonly userSessionsPrefix;
10
+ constructor(authModuleOptions: AuthModuleOptions, redis: Redis);
11
+ private getSessionKey;
12
+ private getUserSessionsKey;
13
+ createSession(session: SessionPayload): Promise<SessionPayload>;
14
+ getSession(sessionId: string): Promise<SessionPayload | null>;
15
+ getUserSessions(userId: string): Promise<SessionPayload[]>;
16
+ getCurrentSessions(userId: string): Promise<SessionPayload[]>;
17
+ updateSession(sessionId: string, updates: Partial<SessionPayload>): Promise<SessionPayload>;
18
+ deleteSession(sessionId: string): Promise<void>;
19
+ deleteUserSessions(userId: string): Promise<void>;
20
+ revokeSession(sessionId: string): Promise<void>;
21
+ revokeUserSessions(userId: string): Promise<void>;
22
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisSessionService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const ioredis_1 = require("ioredis");
7
+ const ioredis_2 = require("@nestjs-modules/ioredis");
8
+ const auth_constants_1 = require("../../auth.constants");
9
+ const base_session_service_1 = require("./base-session.service");
10
+ const uuid_1 = require("uuid");
11
+ let RedisSessionService = class RedisSessionService extends base_session_service_1.BaseSessionService {
12
+ constructor(authModuleOptions, redis) {
13
+ super(authModuleOptions);
14
+ this.authModuleOptions = authModuleOptions;
15
+ this.redis = redis;
16
+ this.sessionPrefix = 'session:';
17
+ this.userSessionsPrefix = 'user_sessions:';
18
+ }
19
+ getSessionKey(sessionId) {
20
+ return `${this.sessionPrefix}${sessionId}`;
21
+ }
22
+ getUserSessionsKey(userId) {
23
+ return `${this.userSessionsPrefix}${userId}`;
24
+ }
25
+ async createSession(session) {
26
+ const sessionKey = this.getSessionKey(session.id);
27
+ const userSessionsKey = this.getUserSessionsKey(session.userId);
28
+ await this.redis.hset(sessionKey, {
29
+ id: session.id || (0, uuid_1.v4)(),
30
+ userId: session.userId,
31
+ refreshToken: session.refreshToken,
32
+ userAgent: session.userAgent || '',
33
+ ipAddress: session.ipAddress || '',
34
+ deviceName: session.deviceName || '',
35
+ expiresAt: session.expiresAt.toISOString(),
36
+ lastActive: session.lastActive.toISOString(),
37
+ data: JSON.stringify(session.data),
38
+ });
39
+ await this.redis.sadd(userSessionsKey, session.id);
40
+ const ttl = Math.floor((session.expiresAt.getTime() - Date.now()) / 1000);
41
+ await this.redis.expire(sessionKey, ttl);
42
+ await this.redis.expire(userSessionsKey, ttl);
43
+ return session;
44
+ }
45
+ async getSession(sessionId) {
46
+ const sessionKey = this.getSessionKey(sessionId);
47
+ const sessionData = await this.redis.hgetall(sessionKey);
48
+ if (!sessionData || !sessionData.id) {
49
+ return null;
50
+ }
51
+ return {
52
+ id: sessionData.id,
53
+ userId: sessionData.userId,
54
+ refreshToken: sessionData.refreshToken,
55
+ userAgent: sessionData.userAgent,
56
+ ipAddress: sessionData.ipAddress,
57
+ deviceName: sessionData.deviceName,
58
+ expiresAt: new Date(sessionData.expiresAt),
59
+ lastActive: new Date(sessionData.lastActive),
60
+ data: JSON.parse(sessionData.data || '{}'),
61
+ };
62
+ }
63
+ async getUserSessions(userId) {
64
+ const userSessionsKey = this.getUserSessionsKey(userId);
65
+ const sessionIds = await this.redis.smembers(userSessionsKey);
66
+ const sessions = [];
67
+ for (const sessionId of sessionIds) {
68
+ const session = await this.getSession(sessionId);
69
+ if (session) {
70
+ sessions.push(session);
71
+ }
72
+ }
73
+ return sessions;
74
+ }
75
+ async getCurrentSessions(userId) {
76
+ const sessions = await this.getUserSessions(userId);
77
+ return sessions.filter(session => session.expiresAt > new Date());
78
+ }
79
+ async updateSession(sessionId, updates) {
80
+ const sessionKey = this.getSessionKey(sessionId);
81
+ const session = await this.getSession(sessionId);
82
+ if (!session) {
83
+ return;
84
+ }
85
+ const updatedSession = { ...session, ...updates };
86
+ await this.createSession(updatedSession);
87
+ return this.getSession(sessionId);
88
+ }
89
+ async deleteSession(sessionId) {
90
+ const session = await this.getSession(sessionId);
91
+ if (!session) {
92
+ return;
93
+ }
94
+ const sessionKey = this.getSessionKey(sessionId);
95
+ const userSessionsKey = this.getUserSessionsKey(session.userId);
96
+ await this.redis.del(sessionKey);
97
+ await this.redis.srem(userSessionsKey, sessionId);
98
+ }
99
+ async deleteUserSessions(userId) {
100
+ const userSessionsKey = this.getUserSessionsKey(userId);
101
+ const sessionIds = await this.redis.smembers(userSessionsKey);
102
+ for (const sessionId of sessionIds) {
103
+ await this.deleteSession(sessionId);
104
+ }
105
+ }
106
+ async revokeSession(sessionId) {
107
+ await this.deleteSession(sessionId);
108
+ }
109
+ async revokeUserSessions(userId) {
110
+ await this.deleteUserSessions(userId);
111
+ }
112
+ };
113
+ exports.RedisSessionService = RedisSessionService;
114
+ exports.RedisSessionService = RedisSessionService = tslib_1.__decorate([
115
+ (0, common_1.Injectable)(),
116
+ tslib_1.__param(0, (0, common_1.Inject)(auth_constants_1.AUTH_MODULE_OPTIONS)),
117
+ tslib_1.__param(1, (0, ioredis_2.InjectRedis)()),
118
+ tslib_1.__metadata("design:paramtypes", [Object, ioredis_1.Redis])
119
+ ], RedisSessionService);
120
+ //# sourceMappingURL=redis-session.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-session.service.js","sourceRoot":"","sources":["../../../../../../../packages/nest-auth/src/lib/services/session/redis-session.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { DataSource } from 'typeorm';
2
+ export declare function getJsonColumnType(dataSource: DataSource): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJsonColumnType = getJsonColumnType;
4
+ function getJsonColumnType(dataSource) {
5
+ const driver = dataSource.driver;
6
+ return driver.options.type === 'sqlite' ? 'simple-json' : 'jsonb';
7
+ }
8
+ //# sourceMappingURL=database.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.utils.js","sourceRoot":"","sources":["../../../../../../packages/nest-auth/src/lib/utils/database.utils.ts"],"names":[],"mappings":";;AAEA,8CAGC;AAHD,SAAgB,iBAAiB,CAAC,UAAsB;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function generateOtp(length?: number): string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateOtp = generateOtp;
4
+ function generateOtp(length = 6) {
5
+ return Math.floor(10 ** (length - 1) + Math.random() * (10 ** length - 10 ** (length - 1) - 1)).toString();
6
+ }
7
+ //# sourceMappingURL=otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp.js","sourceRoot":"","sources":["../../../../../../packages/nest-auth/src/lib/utils/otp.ts"],"names":[],"mappings":";;AAAA,kCAEC;AAFD,SAAgB,WAAW,CAAC,SAAiB,CAAC;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/G,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DataSource } from "typeorm";
2
+ export declare const AppDataSource: DataSource;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppDataSource = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const entities_1 = require("./lib/entities");
6
+ const path_1 = require("path");
7
+ exports.AppDataSource = new typeorm_1.DataSource({
8
+ type: "postgres",
9
+ url: process.env.DATABASE_URL,
10
+ synchronize: true,
11
+ logging: true,
12
+ entities: entities_1.AllAuthEntities,
13
+ migrations: [(0, path_1.join)(__dirname, "lib/migrations", "*.ts")],
14
+ migrationsRun: true,
15
+ migrationsTableName: "nest_auth_migrations",
16
+ migrationsTransactionMode: "each",
17
+ });
18
+ //# sourceMappingURL=typeorm.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeorm.config.js","sourceRoot":"","sources":["../../../../packages/nest-auth/src/typeorm.config.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,6CAAiD;AACjD,+BAA4B;AAEf,QAAA,aAAa,GAAG,IAAI,oBAAU,CAAC;IACxC,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;IAC7B,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,0BAAe;IACzB,UAAU,EAAE,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACvD,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,sBAAsB;IAC3C,yBAAyB,EAAE,MAAM;CACpC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":"5.7.3"}