@okrlinkhub/okrhub 0.1.0

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 (148) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +579 -0
  3. package/dist/client/_generated/_ignore.d.ts +1 -0
  4. package/dist/client/_generated/_ignore.d.ts.map +1 -0
  5. package/dist/client/_generated/_ignore.js +3 -0
  6. package/dist/client/_generated/_ignore.js.map +1 -0
  7. package/dist/client/index.d.ts +593 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +704 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/component/_generated/api.d.ts +72 -0
  12. package/dist/component/_generated/api.d.ts.map +1 -0
  13. package/dist/component/_generated/api.js +31 -0
  14. package/dist/component/_generated/api.js.map +1 -0
  15. package/dist/component/_generated/component.d.ts +1986 -0
  16. package/dist/component/_generated/component.d.ts.map +1 -0
  17. package/dist/component/_generated/component.js +11 -0
  18. package/dist/component/_generated/component.js.map +1 -0
  19. package/dist/component/_generated/dataModel.d.ts +46 -0
  20. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  21. package/dist/component/_generated/dataModel.js +11 -0
  22. package/dist/component/_generated/dataModel.js.map +1 -0
  23. package/dist/component/_generated/server.d.ts +121 -0
  24. package/dist/component/_generated/server.d.ts.map +1 -0
  25. package/dist/component/_generated/server.js +78 -0
  26. package/dist/component/_generated/server.js.map +1 -0
  27. package/dist/component/convex.config.d.ts +3 -0
  28. package/dist/component/convex.config.d.ts.map +1 -0
  29. package/dist/component/convex.config.js +3 -0
  30. package/dist/component/convex.config.js.map +1 -0
  31. package/dist/component/entities/batch.d.ts +121 -0
  32. package/dist/component/entities/batch.d.ts.map +1 -0
  33. package/dist/component/entities/batch.js +81 -0
  34. package/dist/component/entities/batch.js.map +1 -0
  35. package/dist/component/entities/index.d.ts +13 -0
  36. package/dist/component/entities/index.d.ts.map +1 -0
  37. package/dist/component/entities/index.js +22 -0
  38. package/dist/component/entities/index.js.map +1 -0
  39. package/dist/component/entities/indicatorForecasts.d.ts +61 -0
  40. package/dist/component/entities/indicatorForecasts.d.ts.map +1 -0
  41. package/dist/component/entities/indicatorForecasts.js +180 -0
  42. package/dist/component/entities/indicatorForecasts.js.map +1 -0
  43. package/dist/component/entities/indicatorValues.d.ts +77 -0
  44. package/dist/component/entities/indicatorValues.d.ts.map +1 -0
  45. package/dist/component/entities/indicatorValues.js +218 -0
  46. package/dist/component/entities/indicatorValues.js.map +1 -0
  47. package/dist/component/entities/indicators.d.ts +90 -0
  48. package/dist/component/entities/indicators.d.ts.map +1 -0
  49. package/dist/component/entities/indicators.js +239 -0
  50. package/dist/component/entities/indicators.js.map +1 -0
  51. package/dist/component/entities/initiatives.d.ts +103 -0
  52. package/dist/component/entities/initiatives.d.ts.map +1 -0
  53. package/dist/component/entities/initiatives.js +275 -0
  54. package/dist/component/entities/initiatives.js.map +1 -0
  55. package/dist/component/entities/keyResults.d.ts +111 -0
  56. package/dist/component/entities/keyResults.d.ts.map +1 -0
  57. package/dist/component/entities/keyResults.js +284 -0
  58. package/dist/component/entities/keyResults.js.map +1 -0
  59. package/dist/component/entities/milestones.d.ts +93 -0
  60. package/dist/component/entities/milestones.d.ts.map +1 -0
  61. package/dist/component/entities/milestones.js +249 -0
  62. package/dist/component/entities/milestones.js.map +1 -0
  63. package/dist/component/entities/objectives.d.ts +99 -0
  64. package/dist/component/entities/objectives.d.ts.map +1 -0
  65. package/dist/component/entities/objectives.js +261 -0
  66. package/dist/component/entities/objectives.js.map +1 -0
  67. package/dist/component/entities/risks.d.ts +126 -0
  68. package/dist/component/entities/risks.d.ts.map +1 -0
  69. package/dist/component/entities/risks.js +315 -0
  70. package/dist/component/entities/risks.js.map +1 -0
  71. package/dist/component/externalId.d.ts +79 -0
  72. package/dist/component/externalId.d.ts.map +1 -0
  73. package/dist/component/externalId.js +124 -0
  74. package/dist/component/externalId.js.map +1 -0
  75. package/dist/component/lib/hmac.d.ts +18 -0
  76. package/dist/component/lib/hmac.d.ts.map +1 -0
  77. package/dist/component/lib/hmac.js +35 -0
  78. package/dist/component/lib/hmac.js.map +1 -0
  79. package/dist/component/lib/index.d.ts +7 -0
  80. package/dist/component/lib/index.d.ts.map +1 -0
  81. package/dist/component/lib/index.js +6 -0
  82. package/dist/component/lib/index.js.map +1 -0
  83. package/dist/component/lib/types.d.ts +30 -0
  84. package/dist/component/lib/types.d.ts.map +1 -0
  85. package/dist/component/lib/types.js +7 -0
  86. package/dist/component/lib/types.js.map +1 -0
  87. package/dist/component/lib/validation.d.ts +15 -0
  88. package/dist/component/lib/validation.d.ts.map +1 -0
  89. package/dist/component/lib/validation.js +29 -0
  90. package/dist/component/lib/validation.js.map +1 -0
  91. package/dist/component/okrhub.d.ts +31 -0
  92. package/dist/component/okrhub.d.ts.map +1 -0
  93. package/dist/component/okrhub.js +45 -0
  94. package/dist/component/okrhub.js.map +1 -0
  95. package/dist/component/schema.d.ts +943 -0
  96. package/dist/component/schema.d.ts.map +1 -0
  97. package/dist/component/schema.js +437 -0
  98. package/dist/component/schema.js.map +1 -0
  99. package/dist/component/sync/http.d.ts +30 -0
  100. package/dist/component/sync/http.d.ts.map +1 -0
  101. package/dist/component/sync/http.js +114 -0
  102. package/dist/component/sync/http.js.map +1 -0
  103. package/dist/component/sync/index.d.ts +7 -0
  104. package/dist/component/sync/index.d.ts.map +1 -0
  105. package/dist/component/sync/index.js +7 -0
  106. package/dist/component/sync/index.js.map +1 -0
  107. package/dist/component/sync/processor.d.ts +20 -0
  108. package/dist/component/sync/processor.d.ts.map +1 -0
  109. package/dist/component/sync/processor.js +67 -0
  110. package/dist/component/sync/processor.js.map +1 -0
  111. package/dist/component/sync/queue.d.ts +40 -0
  112. package/dist/component/sync/queue.d.ts.map +1 -0
  113. package/dist/component/sync/queue.js +176 -0
  114. package/dist/component/sync/queue.js.map +1 -0
  115. package/dist/react/index.d.ts +2 -0
  116. package/dist/react/index.d.ts.map +1 -0
  117. package/dist/react/index.js +6 -0
  118. package/dist/react/index.js.map +1 -0
  119. package/package.json +117 -0
  120. package/src/client/_generated/_ignore.ts +1 -0
  121. package/src/client/index.ts +1004 -0
  122. package/src/component/_generated/api.ts +88 -0
  123. package/src/component/_generated/component.ts +2685 -0
  124. package/src/component/_generated/dataModel.ts +60 -0
  125. package/src/component/_generated/server.ts +156 -0
  126. package/src/component/convex.config.ts +3 -0
  127. package/src/component/entities/batch.ts +90 -0
  128. package/src/component/entities/index.ts +64 -0
  129. package/src/component/entities/indicatorForecasts.ts +205 -0
  130. package/src/component/entities/indicatorValues.ts +254 -0
  131. package/src/component/entities/indicators.ts +290 -0
  132. package/src/component/entities/initiatives.ts +342 -0
  133. package/src/component/entities/keyResults.ts +334 -0
  134. package/src/component/entities/milestones.ts +296 -0
  135. package/src/component/entities/objectives.ts +294 -0
  136. package/src/component/entities/risks.ts +383 -0
  137. package/src/component/externalId.ts +172 -0
  138. package/src/component/lib/hmac.ts +53 -0
  139. package/src/component/lib/index.ts +7 -0
  140. package/src/component/lib/types.ts +31 -0
  141. package/src/component/lib/validation.ts +41 -0
  142. package/src/component/okrhub.ts +110 -0
  143. package/src/component/schema.ts +574 -0
  144. package/src/component/sync/http.ts +138 -0
  145. package/src/component/sync/index.ts +11 -0
  146. package/src/component/sync/processor.ts +77 -0
  147. package/src/component/sync/queue.ts +201 -0
  148. package/src/react/index.ts +7 -0
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared Types for OKRHub Component
3
+ *
4
+ * Response types and shared interfaces used across the component.
5
+ */
6
+ /**
7
+ * Response from LinkHub's single entity ingest endpoint
8
+ */
9
+ export interface IngestResponse {
10
+ success: boolean;
11
+ externalId: string;
12
+ linkHubId?: string;
13
+ action: "create" | "update";
14
+ error?: string;
15
+ }
16
+ /**
17
+ * Response from LinkHub's batch ingest endpoint
18
+ */
19
+ export interface BatchIngestResponse {
20
+ success: boolean;
21
+ results: {
22
+ entityType: string;
23
+ externalId: string;
24
+ linkHubId?: string;
25
+ action: "create" | "update";
26
+ error?: string;
27
+ }[];
28
+ errors: string[];
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/component/lib/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared Types for OKRHub Component
3
+ *
4
+ * Response types and shared interfaces used across the component.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/component/lib/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Validation Utilities for OKRHub Component
3
+ *
4
+ * Provides validation helpers for external IDs and slug generation.
5
+ */
6
+ /**
7
+ * Validates external ID format and throws if invalid
8
+ */
9
+ export declare function assertValidExternalId(externalId: string, fieldName?: string): void;
10
+ /**
11
+ * Generates a slug from text with sourceApp prefix
12
+ * Pattern: {sourceApp}-{baseSlug}-{suffix}
13
+ */
14
+ export declare function generateSlug(sourceApp: string, text: string, maxLength?: number): string;
15
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/component/lib/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,SAAe,GACvB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,GACb,MAAM,CASR"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Validation Utilities for OKRHub Component
3
+ *
4
+ * Provides validation helpers for external IDs and slug generation.
5
+ */
6
+ import { validateExternalId } from "../externalId.js";
7
+ /**
8
+ * Validates external ID format and throws if invalid
9
+ */
10
+ export function assertValidExternalId(externalId, fieldName = "externalId") {
11
+ if (!validateExternalId(externalId)) {
12
+ throw new Error(`Invalid ${fieldName} format: "${externalId}". ` +
13
+ `Expected format: {sourceApp}:{entityType}:{uuid}`);
14
+ }
15
+ }
16
+ /**
17
+ * Generates a slug from text with sourceApp prefix
18
+ * Pattern: {sourceApp}-{baseSlug}-{suffix}
19
+ */
20
+ export function generateSlug(sourceApp, text, maxLength = 50) {
21
+ const baseSlug = text
22
+ .toLowerCase()
23
+ .replace(/[^a-z0-9]+/g, "-")
24
+ .replace(/^-|-$/g, "")
25
+ .substring(0, maxLength - sourceApp.length - 7); // Reserve space for prefix and suffix
26
+ const suffix = Math.random().toString(36).substring(2, 6);
27
+ return `${sourceApp}-${baseSlug}-${suffix}`;
28
+ }
29
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/component/lib/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,SAAS,GAAG,YAAY;IAExB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,aAAa,UAAU,KAAK;YAC9C,kDAAkD,CACrD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAiB,EACjB,IAAY,EACZ,SAAS,GAAG,EAAE;IAEd,MAAM,QAAQ,GAAG,IAAI;SAClB,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;IAEzF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,SAAS,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * OKRHub Component - Main Entry Point
3
+ *
4
+ * This file serves as the main barrel export for backward compatibility.
5
+ * All functionality has been refactored into modular files under:
6
+ * - entities/ - Entity-specific CRUD operations and queries
7
+ * - sync/ - Sync queue management and HTTP actions
8
+ * - lib/ - Shared utilities (HMAC, validation, types)
9
+ *
10
+ * Import patterns:
11
+ * - For specific entities: import { createObjective } from "./entities/objectives.js"
12
+ * - For sync operations: import { processSyncQueue } from "./sync/processor.js"
13
+ * - For utilities: import { createHmacSignature } from "./lib/hmac.js"
14
+ *
15
+ * Or use this file for backward-compatible imports:
16
+ * - import { createObjective, processSyncQueue } from "./okrhub.js"
17
+ */
18
+ export { createObjective, updateObjective, getObjectivesByTeam, getAllObjectives, insertObjective, } from "./entities/objectives.js";
19
+ export { createKeyResult, updateKeyResult, getKeyResultsByObjective, getAllKeyResults, insertKeyResult, } from "./entities/keyResults.js";
20
+ export { createRisk, updateRisk, getRisksByKeyResult, getAllRisks, insertRisk, } from "./entities/risks.js";
21
+ export { createInitiative, updateInitiative, getAllInitiatives, insertInitiative, } from "./entities/initiatives.js";
22
+ export { createIndicator, updateIndicator, getAllIndicators, insertIndicator, } from "./entities/indicators.js";
23
+ export { createIndicatorValue, updateIndicatorValue, getAllIndicatorValues, insertIndicatorValue, } from "./entities/indicatorValues.js";
24
+ export { createIndicatorForecast, updateIndicatorForecast, getAllIndicatorForecasts, } from "./entities/indicatorForecasts.js";
25
+ export { createMilestone, updateMilestone, getAllMilestones, insertMilestone, } from "./entities/milestones.js";
26
+ export { insertBatch } from "./entities/batch.js";
27
+ export { addToSyncQueue, updateSyncQueueItem, getPendingSyncItems, } from "./sync/queue.js";
28
+ export { sendToLinkHub, sendBatchToLinkHub } from "./sync/http.js";
29
+ export { processSyncQueue } from "./sync/processor.js";
30
+ export type { IngestResponse, BatchIngestResponse } from "./lib/types.js";
31
+ //# sourceMappingURL=okrhub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okrhub.d.ts","sourceRoot":"","sources":["../../src/component/okrhub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * OKRHub Component - Main Entry Point
3
+ *
4
+ * This file serves as the main barrel export for backward compatibility.
5
+ * All functionality has been refactored into modular files under:
6
+ * - entities/ - Entity-specific CRUD operations and queries
7
+ * - sync/ - Sync queue management and HTTP actions
8
+ * - lib/ - Shared utilities (HMAC, validation, types)
9
+ *
10
+ * Import patterns:
11
+ * - For specific entities: import { createObjective } from "./entities/objectives.js"
12
+ * - For sync operations: import { processSyncQueue } from "./sync/processor.js"
13
+ * - For utilities: import { createHmacSignature } from "./lib/hmac.js"
14
+ *
15
+ * Or use this file for backward-compatible imports:
16
+ * - import { createObjective, processSyncQueue } from "./okrhub.js"
17
+ */
18
+ // ============================================================================
19
+ // ENTITY EXPORTS
20
+ // ============================================================================
21
+ // Objectives
22
+ export { createObjective, updateObjective, getObjectivesByTeam, getAllObjectives, insertObjective, } from "./entities/objectives.js";
23
+ // Key Results
24
+ export { createKeyResult, updateKeyResult, getKeyResultsByObjective, getAllKeyResults, insertKeyResult, } from "./entities/keyResults.js";
25
+ // Risks
26
+ export { createRisk, updateRisk, getRisksByKeyResult, getAllRisks, insertRisk, } from "./entities/risks.js";
27
+ // Initiatives
28
+ export { createInitiative, updateInitiative, getAllInitiatives, insertInitiative, } from "./entities/initiatives.js";
29
+ // Indicators
30
+ export { createIndicator, updateIndicator, getAllIndicators, insertIndicator, } from "./entities/indicators.js";
31
+ // Indicator Values
32
+ export { createIndicatorValue, updateIndicatorValue, getAllIndicatorValues, insertIndicatorValue, } from "./entities/indicatorValues.js";
33
+ // Indicator Forecasts
34
+ export { createIndicatorForecast, updateIndicatorForecast, getAllIndicatorForecasts, } from "./entities/indicatorForecasts.js";
35
+ // Milestones
36
+ export { createMilestone, updateMilestone, getAllMilestones, insertMilestone, } from "./entities/milestones.js";
37
+ // Batch
38
+ export { insertBatch } from "./entities/batch.js";
39
+ // ============================================================================
40
+ // SYNC EXPORTS
41
+ // ============================================================================
42
+ export { addToSyncQueue, updateSyncQueueItem, getPendingSyncItems, } from "./sync/queue.js";
43
+ export { sendToLinkHub, sendBatchToLinkHub } from "./sync/http.js";
44
+ export { processSyncQueue } from "./sync/processor.js";
45
+ //# sourceMappingURL=okrhub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okrhub.js","sourceRoot":"","sources":["../../src/component/okrhub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,aAAa;AACb,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,cAAc;AACd,OAAO,EACL,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,QAAQ;AACR,OAAO,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,cAAc;AACd,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAEnC,aAAa;AACb,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAEvC,sBAAsB;AACtB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,aAAa;AACb,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}