@dangao/bun-server 0.1.3 → 0.1.5

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 (85) hide show
  1. package/dist/auth/controller.d.ts +35 -0
  2. package/dist/auth/controller.d.ts.map +1 -0
  3. package/dist/auth/decorators.d.ts +38 -0
  4. package/dist/auth/decorators.d.ts.map +1 -0
  5. package/dist/auth/index.d.ts +6 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/jwt.d.ts +43 -0
  8. package/dist/auth/jwt.d.ts.map +1 -0
  9. package/dist/auth/oauth2.d.ts +45 -0
  10. package/dist/auth/oauth2.d.ts.map +1 -0
  11. package/dist/auth/types.d.ts +238 -0
  12. package/dist/auth/types.d.ts.map +1 -0
  13. package/dist/config/config-module.d.ts +14 -0
  14. package/dist/config/config-module.d.ts.map +1 -0
  15. package/dist/config/index.d.ts +4 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/config/service.d.ts +32 -0
  18. package/dist/config/service.d.ts.map +1 -0
  19. package/dist/config/types.d.ts +22 -0
  20. package/dist/config/types.d.ts.map +1 -0
  21. package/dist/controller/controller.d.ts +5 -0
  22. package/dist/controller/controller.d.ts.map +1 -1
  23. package/dist/core/application.d.ts.map +1 -1
  24. package/dist/core/context.d.ts.map +1 -1
  25. package/dist/di/module-registry.d.ts +14 -2
  26. package/dist/di/module-registry.d.ts.map +1 -1
  27. package/dist/di/module.d.ts +12 -1
  28. package/dist/di/module.d.ts.map +1 -1
  29. package/dist/extensions/index.d.ts +1 -0
  30. package/dist/extensions/index.d.ts.map +1 -1
  31. package/dist/extensions/logger-module.d.ts +30 -0
  32. package/dist/extensions/logger-module.d.ts.map +1 -0
  33. package/dist/health/controller.d.ts +27 -0
  34. package/dist/health/controller.d.ts.map +1 -0
  35. package/dist/health/health-module.d.ts +9 -0
  36. package/dist/health/health-module.d.ts.map +1 -0
  37. package/dist/health/index.d.ts +4 -0
  38. package/dist/health/index.d.ts.map +1 -0
  39. package/dist/health/types.d.ts +22 -0
  40. package/dist/health/types.d.ts.map +1 -0
  41. package/dist/index.d.ts +6 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1388 -13
  44. package/dist/router/registry.d.ts +4 -1
  45. package/dist/router/registry.d.ts.map +1 -1
  46. package/dist/router/route.d.ts +9 -1
  47. package/dist/router/route.d.ts.map +1 -1
  48. package/dist/router/router.d.ts +14 -2
  49. package/dist/router/router.d.ts.map +1 -1
  50. package/dist/security/access-decision-manager.d.ts +14 -0
  51. package/dist/security/access-decision-manager.d.ts.map +1 -0
  52. package/dist/security/authentication-manager.d.ts +22 -0
  53. package/dist/security/authentication-manager.d.ts.map +1 -0
  54. package/dist/security/context.d.ts +51 -0
  55. package/dist/security/context.d.ts.map +1 -0
  56. package/dist/security/filter.d.ts +27 -0
  57. package/dist/security/filter.d.ts.map +1 -0
  58. package/dist/security/index.d.ts +8 -0
  59. package/dist/security/index.d.ts.map +1 -0
  60. package/dist/security/providers/index.d.ts +3 -0
  61. package/dist/security/providers/index.d.ts.map +1 -0
  62. package/dist/security/providers/jwt-provider.d.ts +19 -0
  63. package/dist/security/providers/jwt-provider.d.ts.map +1 -0
  64. package/dist/security/providers/oauth2-provider.d.ts +19 -0
  65. package/dist/security/providers/oauth2-provider.d.ts.map +1 -0
  66. package/dist/security/security-module.d.ts +50 -0
  67. package/dist/security/security-module.d.ts.map +1 -0
  68. package/dist/security/types.d.ts +152 -0
  69. package/dist/security/types.d.ts.map +1 -0
  70. package/dist/swagger/decorators.d.ts +56 -0
  71. package/dist/swagger/decorators.d.ts.map +1 -0
  72. package/dist/swagger/generator.d.ts +17 -0
  73. package/dist/swagger/generator.d.ts.map +1 -0
  74. package/dist/swagger/index.d.ts +7 -0
  75. package/dist/swagger/index.d.ts.map +1 -0
  76. package/dist/swagger/swagger-extension.d.ts +25 -0
  77. package/dist/swagger/swagger-extension.d.ts.map +1 -0
  78. package/dist/swagger/swagger-module.d.ts +37 -0
  79. package/dist/swagger/swagger-module.d.ts.map +1 -0
  80. package/dist/swagger/types.d.ts +176 -0
  81. package/dist/swagger/types.d.ts.map +1 -0
  82. package/dist/swagger/ui.d.ts +13 -0
  83. package/dist/swagger/ui.d.ts.map +1 -0
  84. package/package.json +1 -1
  85. package/readme.md +14 -10
@@ -0,0 +1,30 @@
1
+ import type { LoggerOptions } from '@dangao/logsmith';
2
+ /**
3
+ * Logger 模块配置
4
+ */
5
+ export interface LoggerModuleOptions {
6
+ /**
7
+ * Logger 选项
8
+ */
9
+ logger?: LoggerOptions;
10
+ /**
11
+ * 是否启用请求日志中间件
12
+ */
13
+ enableRequestLogging?: boolean;
14
+ /**
15
+ * 请求日志中间件前缀
16
+ */
17
+ requestLoggingPrefix?: string;
18
+ }
19
+ /**
20
+ * Logger 模块
21
+ * 提供日志功能和请求日志中间件
22
+ */
23
+ export declare class LoggerModule {
24
+ /**
25
+ * 创建 Logger 模块
26
+ * @param options - 模块配置
27
+ */
28
+ static forRoot(options?: LoggerModuleOptions): typeof LoggerModule;
29
+ }
30
+ //# sourceMappingURL=logger-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-module.d.ts","sourceRoot":"","sources":["../../src/extensions/logger-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAQa,YAAY;IACvB;;;OAGG;WACW,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,YAAY;CA2B9E"}
@@ -0,0 +1,27 @@
1
+ import type { HealthIndicator, HealthStatus } from './types';
2
+ import type { HealthModuleOptions } from './types';
3
+ /**
4
+ * 健康检查控制器
5
+ *
6
+ * 提供 `/health` 和 `/ready` 两个端点:
7
+ * - /health:存活检查(liveness)
8
+ * - /ready:就绪检查(readiness)
9
+ */
10
+ export declare class HealthController {
11
+ private readonly indicators;
12
+ private readonly options?;
13
+ constructor(indicators?: HealthIndicator[], options?: HealthModuleOptions | undefined);
14
+ /**
15
+ * 存活检查
16
+ */
17
+ health(): Promise<HealthStatus>;
18
+ /**
19
+ * 就绪检查
20
+ */
21
+ ready(): Promise<HealthStatus>;
22
+ /**
23
+ * 执行所有健康检查指示器
24
+ */
25
+ private checkIndicators;
26
+ }
27
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/health/controller.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnD;;;;;;GAMG;AACH,qBACa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFR,UAAU,GAAE,eAAe,EAAO,EAElC,OAAO,CAAC,EAAE,mBAAmB,YAAA;IAGhD;;OAEG;IAEU,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAI5C;;OAEG;IAEU,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAI3C;;OAEG;YACW,eAAe;CA0B9B"}
@@ -0,0 +1,9 @@
1
+ import type { HealthModuleOptions } from './types';
2
+ export declare class HealthModule {
3
+ /**
4
+ * 创建健康检查模块
5
+ * @param options - 模块配置
6
+ */
7
+ static forRoot(options?: HealthModuleOptions): typeof HealthModule;
8
+ }
9
+ //# sourceMappingURL=health-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-module.d.ts","sourceRoot":"","sources":["../../src/health/health-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGpE,qBAIa,YAAY;IACvB;;;OAGG;WACW,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,YAAY;CAiC9E"}
@@ -0,0 +1,4 @@
1
+ export { HealthModule } from './health-module';
2
+ export { HealthController } from './controller';
3
+ export { HEALTH_INDICATORS_TOKEN, HEALTH_OPTIONS_TOKEN, type HealthIndicator, type HealthIndicatorResult, type HealthStatus, type HealthModuleOptions, } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,22 @@
1
+ export declare const HEALTH_INDICATORS_TOKEN: unique symbol;
2
+ export declare const HEALTH_OPTIONS_TOKEN: unique symbol;
3
+ export type HealthStatusValue = 'up' | 'down';
4
+ export interface HealthIndicatorResult {
5
+ status: HealthStatusValue;
6
+ details?: Record<string, unknown>;
7
+ }
8
+ export interface HealthIndicator {
9
+ name: string;
10
+ check(): Promise<HealthIndicatorResult> | HealthIndicatorResult;
11
+ }
12
+ export interface HealthStatus {
13
+ status: HealthStatusValue;
14
+ details: Record<string, HealthIndicatorResult>;
15
+ }
16
+ export interface HealthModuleOptions {
17
+ /**
18
+ * 健康检查指示器列表
19
+ */
20
+ indicators?: HealthIndicator[];
21
+ }
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/health/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,eAAiD,CAAC;AACtF,eAAO,MAAM,oBAAoB,eAA8C,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC;CACjE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,11 @@ export { createLoggerMiddleware, createRequestLoggingMiddleware, createErrorHand
18
18
  export { Validate, IsString, IsNumber, IsEmail, IsOptional, MinLength, ValidationError, type ValidationIssue, } from './validation';
19
19
  export { HttpException, BadRequestException, UnauthorizedException, ForbiddenException, NotFoundException, InternalServerErrorException, ExceptionFilterRegistry, type ExceptionFilter, } from './error';
20
20
  export { WebSocketGateway, OnOpen, OnMessage, OnClose, WebSocketGatewayRegistry, type WebSocketConnectionData, } from './websocket';
21
- export { LoggerExtension, LogLevel, LOGGER_TOKEN, type Logger, type LoggerOptions, type LogEntry, } from './extensions';
21
+ export { LoggerExtension, LoggerModule, LogLevel, LOGGER_TOKEN, type Logger, type LoggerOptions, type LoggerModuleOptions, type LogEntry, } from './extensions';
22
+ export { SwaggerExtension, SwaggerModule, SwaggerGenerator, createSwaggerUIMiddleware, ApiTags, ApiOperation, ApiParam, ApiBody, ApiResponse, type SwaggerOptions, type SwaggerModuleOptions, type SwaggerDocument, type ApiOperationMetadata, type ApiParamMetadata, type ApiBodyMetadata, type ApiResponseMetadata, } from './swagger';
23
+ export { SecurityModule, SecurityContextHolder, AuthenticationManager, RoleBasedAccessDecisionManager, JwtAuthenticationProvider, OAuth2AuthenticationProvider, createSecurityFilter, type SecurityModuleConfig, type SecurityConfig, type SecurityContext, type Authentication, type AuthenticationProvider, type AuthenticationRequest, type Principal, type Credentials, type AccessDecisionManager, } from './security';
24
+ export { ConfigModule, ConfigService, CONFIG_SERVICE_TOKEN, type ConfigModuleOptions, } from './config';
25
+ export { HealthModule, type HealthIndicator, type HealthIndicatorResult, type HealthStatus, type HealthModuleOptions, HEALTH_INDICATORS_TOKEN, HEALTH_OPTIONS_TOKEN, } from './health';
26
+ export { JWTUtil, OAuth2Service, OAuth2Controller, Auth, getAuthMetadata, requiresAuth, checkRoles, OAUTH2_SERVICE_TOKEN, JWT_UTIL_TOKEN, type JWTConfig, type JWTPayload, type OAuth2Client, type OAuth2AuthorizationRequest, type OAuth2TokenRequest, type OAuth2TokenResponse, type UserInfo, type AuthContext, type AuthConfig, } from './auth';
22
27
  export { PerformanceHarness, StressTester, type BenchmarkResult, type StressResult, } from './testing/harness';
23
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvG,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EACL,MAAM,EACN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACP,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvG,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EACL,MAAM,EACN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACP,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,KAAK,mBAAmB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}