@sardis/sdk 0.2.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 (146) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/LICENSE +21 -0
  3. package/README.md +439 -0
  4. package/dist/browser/index.js +7049 -0
  5. package/dist/browser/index.js.map +1 -0
  6. package/dist/browser/sardis.umd.js +7071 -0
  7. package/dist/browser/sardis.umd.js.map +1 -0
  8. package/dist/cjs/client.js +644 -0
  9. package/dist/cjs/client.js.map +1 -0
  10. package/dist/cjs/demo.js +699 -0
  11. package/dist/cjs/demo.js.map +1 -0
  12. package/dist/cjs/errors.js +630 -0
  13. package/dist/cjs/errors.js.map +1 -0
  14. package/dist/cjs/index.js +131 -0
  15. package/dist/cjs/index.js.map +1 -0
  16. package/dist/cjs/integrations/index.js +21 -0
  17. package/dist/cjs/integrations/index.js.map +1 -0
  18. package/dist/cjs/integrations/langchain.js +339 -0
  19. package/dist/cjs/integrations/langchain.js.map +1 -0
  20. package/dist/cjs/integrations/openai.js +505 -0
  21. package/dist/cjs/integrations/openai.js.map +1 -0
  22. package/dist/cjs/integrations/vercel-ai.js +198 -0
  23. package/dist/cjs/integrations/vercel-ai.js.map +1 -0
  24. package/dist/cjs/resources/a2a.js +158 -0
  25. package/dist/cjs/resources/a2a.js.map +1 -0
  26. package/dist/cjs/resources/agents.js +142 -0
  27. package/dist/cjs/resources/agents.js.map +1 -0
  28. package/dist/cjs/resources/base.js +124 -0
  29. package/dist/cjs/resources/base.js.map +1 -0
  30. package/dist/cjs/resources/cards.js +43 -0
  31. package/dist/cjs/resources/cards.js.map +1 -0
  32. package/dist/cjs/resources/holds.js +64 -0
  33. package/dist/cjs/resources/holds.js.map +1 -0
  34. package/dist/cjs/resources/index.js +31 -0
  35. package/dist/cjs/resources/index.js.map +1 -0
  36. package/dist/cjs/resources/ledger.js +43 -0
  37. package/dist/cjs/resources/ledger.js.map +1 -0
  38. package/dist/cjs/resources/marketplace.js +88 -0
  39. package/dist/cjs/resources/marketplace.js.map +1 -0
  40. package/dist/cjs/resources/payments.js +33 -0
  41. package/dist/cjs/resources/payments.js.map +1 -0
  42. package/dist/cjs/resources/policies.js +31 -0
  43. package/dist/cjs/resources/policies.js.map +1 -0
  44. package/dist/cjs/resources/transactions.js +37 -0
  45. package/dist/cjs/resources/transactions.js.map +1 -0
  46. package/dist/cjs/resources/ucp.js +133 -0
  47. package/dist/cjs/resources/ucp.js.map +1 -0
  48. package/dist/cjs/resources/wallets.js +109 -0
  49. package/dist/cjs/resources/wallets.js.map +1 -0
  50. package/dist/cjs/resources/webhooks.js +81 -0
  51. package/dist/cjs/resources/webhooks.js.map +1 -0
  52. package/dist/cjs/types.js +11 -0
  53. package/dist/cjs/types.js.map +1 -0
  54. package/dist/client.d.ts +419 -0
  55. package/dist/client.d.ts.map +1 -0
  56. package/dist/client.js +637 -0
  57. package/dist/client.js.map +1 -0
  58. package/dist/demo.d.ts +335 -0
  59. package/dist/demo.d.ts.map +1 -0
  60. package/dist/demo.js +694 -0
  61. package/dist/demo.js.map +1 -0
  62. package/dist/errors.d.ts +522 -0
  63. package/dist/errors.d.ts.map +1 -0
  64. package/dist/errors.js +612 -0
  65. package/dist/errors.js.map +1 -0
  66. package/dist/index.d.ts +83 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +85 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/integrations/index.d.ts +4 -0
  71. package/dist/integrations/index.d.ts.map +1 -0
  72. package/dist/integrations/index.js +5 -0
  73. package/dist/integrations/index.js.map +1 -0
  74. package/dist/integrations/langchain.d.ts +68 -0
  75. package/dist/integrations/langchain.d.ts.map +1 -0
  76. package/dist/integrations/langchain.js +335 -0
  77. package/dist/integrations/langchain.js.map +1 -0
  78. package/dist/integrations/openai.d.ts +97 -0
  79. package/dist/integrations/openai.d.ts.map +1 -0
  80. package/dist/integrations/openai.js +467 -0
  81. package/dist/integrations/openai.js.map +1 -0
  82. package/dist/integrations/vercel-ai.d.ts +180 -0
  83. package/dist/integrations/vercel-ai.d.ts.map +1 -0
  84. package/dist/integrations/vercel-ai.js +194 -0
  85. package/dist/integrations/vercel-ai.js.map +1 -0
  86. package/dist/resources/a2a.d.ts +254 -0
  87. package/dist/resources/a2a.d.ts.map +1 -0
  88. package/dist/resources/a2a.js +154 -0
  89. package/dist/resources/a2a.js.map +1 -0
  90. package/dist/resources/agents.d.ts +111 -0
  91. package/dist/resources/agents.d.ts.map +1 -0
  92. package/dist/resources/agents.js +138 -0
  93. package/dist/resources/agents.js.map +1 -0
  94. package/dist/resources/base.d.ts +115 -0
  95. package/dist/resources/base.d.ts.map +1 -0
  96. package/dist/resources/base.js +120 -0
  97. package/dist/resources/base.js.map +1 -0
  98. package/dist/resources/cards.d.ts +19 -0
  99. package/dist/resources/cards.d.ts.map +1 -0
  100. package/dist/resources/cards.js +39 -0
  101. package/dist/resources/cards.js.map +1 -0
  102. package/dist/resources/holds.d.ts +44 -0
  103. package/dist/resources/holds.d.ts.map +1 -0
  104. package/dist/resources/holds.js +60 -0
  105. package/dist/resources/holds.js.map +1 -0
  106. package/dist/resources/index.d.ts +16 -0
  107. package/dist/resources/index.d.ts.map +1 -0
  108. package/dist/resources/index.js +16 -0
  109. package/dist/resources/index.js.map +1 -0
  110. package/dist/resources/ledger.d.ts +38 -0
  111. package/dist/resources/ledger.d.ts.map +1 -0
  112. package/dist/resources/ledger.js +39 -0
  113. package/dist/resources/ledger.js.map +1 -0
  114. package/dist/resources/marketplace.d.ts +60 -0
  115. package/dist/resources/marketplace.d.ts.map +1 -0
  116. package/dist/resources/marketplace.js +84 -0
  117. package/dist/resources/marketplace.js.map +1 -0
  118. package/dist/resources/payments.d.ts +24 -0
  119. package/dist/resources/payments.d.ts.map +1 -0
  120. package/dist/resources/payments.js +29 -0
  121. package/dist/resources/payments.js.map +1 -0
  122. package/dist/resources/policies.d.ts +23 -0
  123. package/dist/resources/policies.d.ts.map +1 -0
  124. package/dist/resources/policies.js +27 -0
  125. package/dist/resources/policies.js.map +1 -0
  126. package/dist/resources/transactions.d.ts +32 -0
  127. package/dist/resources/transactions.d.ts.map +1 -0
  128. package/dist/resources/transactions.js +33 -0
  129. package/dist/resources/transactions.js.map +1 -0
  130. package/dist/resources/ucp.d.ts +218 -0
  131. package/dist/resources/ucp.d.ts.map +1 -0
  132. package/dist/resources/ucp.js +129 -0
  133. package/dist/resources/ucp.js.map +1 -0
  134. package/dist/resources/wallets.d.ts +71 -0
  135. package/dist/resources/wallets.d.ts.map +1 -0
  136. package/dist/resources/wallets.js +105 -0
  137. package/dist/resources/wallets.js.map +1 -0
  138. package/dist/resources/webhooks.d.ts +57 -0
  139. package/dist/resources/webhooks.d.ts.map +1 -0
  140. package/dist/resources/webhooks.js +77 -0
  141. package/dist/resources/webhooks.js.map +1 -0
  142. package/dist/types.d.ts +1045 -0
  143. package/dist/types.d.ts.map +1 -0
  144. package/dist/types.js +10 -0
  145. package/dist/types.js.map +1 -0
  146. package/package.json +114 -0
package/dist/demo.d.ts ADDED
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Sardis Demo Mode
3
+ *
4
+ * A fully functional simulation of the Sardis API for:
5
+ * - YC demos
6
+ * - Local development
7
+ * - Integration testing
8
+ * - Hackathons
9
+ *
10
+ * No real transactions, no API key needed.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { SardisDemoClient } from '@sardis/sdk/demo'
15
+ *
16
+ * const sardis = new SardisDemoClient()
17
+ *
18
+ * // Create a demo wallet
19
+ * const wallet = await sardis.wallets.create({ chain: 'base' })
20
+ *
21
+ * // Make a demo payment
22
+ * const payment = await sardis.payments.execute({
23
+ * walletId: wallet.id,
24
+ * to: 'demo_merchant_openai',
25
+ * amount: '50.00',
26
+ * token: 'USDC',
27
+ * })
28
+ *
29
+ * console.log(payment.txHash) // 0x1234... (simulated)
30
+ * ```
31
+ */
32
+ interface DemoWallet {
33
+ id: string;
34
+ address: string;
35
+ chain: string;
36
+ balance: string;
37
+ policy: DemoPolicy;
38
+ createdAt: string;
39
+ }
40
+ interface DemoPolicy {
41
+ id: string;
42
+ name: string;
43
+ dailyLimit: number;
44
+ monthlyLimit: number;
45
+ singleTxLimit: number;
46
+ blockedCategories: string[];
47
+ allowedMerchants: string[] | null;
48
+ spent: {
49
+ today: number;
50
+ thisMonth: number;
51
+ };
52
+ }
53
+ interface DemoTransaction {
54
+ id: string;
55
+ walletId: string;
56
+ type: 'payment' | 'hold' | 'capture' | 'refund';
57
+ status: 'pending' | 'confirmed' | 'failed';
58
+ amount: string;
59
+ token: string;
60
+ chain: string;
61
+ from: string;
62
+ to: string;
63
+ merchant?: string;
64
+ category?: string;
65
+ txHash: string;
66
+ blockNumber: number;
67
+ memo?: string;
68
+ createdAt: string;
69
+ confirmedAt?: string;
70
+ }
71
+ interface DemoHold {
72
+ id: string;
73
+ walletId: string;
74
+ amount: string;
75
+ capturedAmount: string;
76
+ merchant: string;
77
+ status: 'active' | 'captured' | 'voided' | 'expired';
78
+ expiresAt: string;
79
+ createdAt: string;
80
+ }
81
+ interface PolicyCheckResult {
82
+ allowed: boolean;
83
+ reason?: string;
84
+ remainingDailyLimit: number;
85
+ remainingMonthlyLimit: number;
86
+ requiresApproval: boolean;
87
+ }
88
+ interface OnRampQuote {
89
+ id: string;
90
+ sourceAmount: string;
91
+ sourceCurrency: string;
92
+ destinationAmount: string;
93
+ destinationCurrency: string;
94
+ exchangeRate: string;
95
+ fee: string;
96
+ totalCost: string;
97
+ expiresAt: string;
98
+ provider: string;
99
+ }
100
+ interface OnRampTransfer {
101
+ id: string;
102
+ quoteId: string;
103
+ walletId: string;
104
+ status: 'pending' | 'processing' | 'completed' | 'failed';
105
+ sourceAmount: string;
106
+ sourceCurrency: string;
107
+ destinationAmount: string;
108
+ destinationCurrency: string;
109
+ destinationAddress: string;
110
+ provider: string;
111
+ paymentMethod: string;
112
+ kycStatus: 'not_required' | 'pending' | 'approved' | 'rejected';
113
+ createdAt: string;
114
+ completedAt?: string;
115
+ txHash?: string;
116
+ }
117
+ interface OffRampQuote {
118
+ id: string;
119
+ sourceAmount: string;
120
+ sourceCurrency: string;
121
+ destinationAmount: string;
122
+ destinationCurrency: string;
123
+ exchangeRate: string;
124
+ fee: string;
125
+ netAmount: string;
126
+ expiresAt: string;
127
+ provider: string;
128
+ }
129
+ interface OffRampTransfer {
130
+ id: string;
131
+ quoteId: string;
132
+ walletId: string;
133
+ status: 'pending' | 'processing' | 'completed' | 'failed';
134
+ sourceAmount: string;
135
+ sourceCurrency: string;
136
+ destinationAmount: string;
137
+ destinationCurrency: string;
138
+ bankAccount?: {
139
+ last4: string;
140
+ bankName: string;
141
+ };
142
+ provider: string;
143
+ createdAt: string;
144
+ completedAt?: string;
145
+ txHash?: string;
146
+ }
147
+ declare class DemoStore {
148
+ wallets: Map<string, DemoWallet>;
149
+ transactions: Map<string, DemoTransaction>;
150
+ holds: Map<string, DemoHold>;
151
+ onRampQuotes: Map<string, OnRampQuote>;
152
+ onRampTransfers: Map<string, OnRampTransfer>;
153
+ offRampQuotes: Map<string, OffRampQuote>;
154
+ offRampTransfers: Map<string, OffRampTransfer>;
155
+ blockNumber: number;
156
+ constructor();
157
+ private seedData;
158
+ generateId(prefix: string): string;
159
+ generateTxHash(): string;
160
+ generateAddress(): string;
161
+ nextBlock(): number;
162
+ }
163
+ export declare class SardisDemoClient {
164
+ private store;
165
+ private simulatedDelay;
166
+ wallets: DemoWalletsResource;
167
+ payments: DemoPaymentsResource;
168
+ holds: DemoHoldsResource;
169
+ policy: DemoPolicyResource;
170
+ ramp: DemoRampResource;
171
+ constructor(options?: {
172
+ simulatedDelay?: number;
173
+ });
174
+ /**
175
+ * Get the default demo wallet ID.
176
+ */
177
+ get defaultWalletId(): string;
178
+ /**
179
+ * Reset all demo data to initial state.
180
+ */
181
+ reset(): void;
182
+ }
183
+ declare class DemoWalletsResource {
184
+ private store;
185
+ private delay;
186
+ constructor(store: DemoStore, delay: number);
187
+ private simulate;
188
+ create(params: {
189
+ chain?: string;
190
+ policyId?: string;
191
+ }): Promise<DemoWallet>;
192
+ get(walletId: string): Promise<DemoWallet>;
193
+ getBalance(walletId: string): Promise<{
194
+ available: string;
195
+ pending: string;
196
+ held: string;
197
+ }>;
198
+ list(): Promise<DemoWallet[]>;
199
+ fund(walletId: string, amount: string): Promise<DemoWallet>;
200
+ }
201
+ declare class DemoPaymentsResource {
202
+ private store;
203
+ private delay;
204
+ constructor(store: DemoStore, delay: number);
205
+ private simulate;
206
+ execute(params: {
207
+ walletId: string;
208
+ to: string;
209
+ amount: string;
210
+ token?: string;
211
+ chain?: string;
212
+ memo?: string;
213
+ merchant?: string;
214
+ category?: string;
215
+ }): Promise<DemoTransaction>;
216
+ get(transactionId: string): Promise<DemoTransaction>;
217
+ list(walletId: string): Promise<DemoTransaction[]>;
218
+ }
219
+ declare class DemoHoldsResource {
220
+ private store;
221
+ private delay;
222
+ constructor(store: DemoStore, delay: number);
223
+ private simulate;
224
+ create(params: {
225
+ walletId: string;
226
+ amount: string;
227
+ merchant: string;
228
+ expiresInHours?: number;
229
+ description?: string;
230
+ }): Promise<DemoHold>;
231
+ capture(holdId: string, amount?: string): Promise<DemoHold>;
232
+ void(holdId: string): Promise<DemoHold>;
233
+ get(holdId: string): Promise<DemoHold>;
234
+ list(walletId: string): Promise<DemoHold[]>;
235
+ }
236
+ declare class DemoPolicyResource {
237
+ private store;
238
+ private delay;
239
+ constructor(store: DemoStore, delay: number);
240
+ private simulate;
241
+ check(params: {
242
+ walletId: string;
243
+ amount: string;
244
+ merchant?: string;
245
+ category?: string;
246
+ }): Promise<PolicyCheckResult>;
247
+ getSpending(walletId: string): Promise<{
248
+ today: number;
249
+ thisWeek: number;
250
+ thisMonth: number;
251
+ byCategory: Record<string, number>;
252
+ byMerchant: Record<string, number>;
253
+ }>;
254
+ }
255
+ declare class DemoRampResource {
256
+ private store;
257
+ private delay;
258
+ constructor(store: DemoStore, delay: number);
259
+ private simulate;
260
+ /**
261
+ * Get supported currencies for on-ramp
262
+ */
263
+ getSupportedCurrencies(): Promise<{
264
+ fiat: string[];
265
+ crypto: string[];
266
+ paymentMethods: string[];
267
+ }>;
268
+ /**
269
+ * Get a quote for fiat -> crypto conversion
270
+ */
271
+ getOnRampQuote(params: {
272
+ sourceAmount: string;
273
+ sourceCurrency: string;
274
+ destinationCurrency?: string;
275
+ paymentMethod?: string;
276
+ }): Promise<OnRampQuote>;
277
+ /**
278
+ * Execute on-ramp: fiat -> crypto to wallet
279
+ */
280
+ executeOnRamp(params: {
281
+ quoteId: string;
282
+ walletId: string;
283
+ paymentMethod: string;
284
+ kycData?: {
285
+ firstName: string;
286
+ lastName: string;
287
+ email: string;
288
+ country: string;
289
+ };
290
+ }): Promise<OnRampTransfer>;
291
+ /**
292
+ * Get on-ramp transfer status
293
+ */
294
+ getOnRampStatus(transferId: string): Promise<OnRampTransfer>;
295
+ /**
296
+ * Get a quote for crypto -> fiat conversion (off-ramp)
297
+ */
298
+ getOffRampQuote(params: {
299
+ sourceAmount: string;
300
+ sourceCurrency?: string;
301
+ destinationCurrency: string;
302
+ }): Promise<OffRampQuote>;
303
+ /**
304
+ * Execute off-ramp: crypto -> fiat to bank account
305
+ */
306
+ executeOffRamp(params: {
307
+ quoteId: string;
308
+ walletId: string;
309
+ bankAccount: {
310
+ accountNumber: string;
311
+ routingNumber?: string;
312
+ iban?: string;
313
+ bankName: string;
314
+ };
315
+ }): Promise<OffRampTransfer>;
316
+ /**
317
+ * Get off-ramp transfer status
318
+ */
319
+ getOffRampStatus(transferId: string): Promise<OffRampTransfer>;
320
+ /**
321
+ * List all ramp transfers for a wallet
322
+ */
323
+ listTransfers(walletId: string): Promise<{
324
+ onRamp: OnRampTransfer[];
325
+ offRamp: OffRampTransfer[];
326
+ }>;
327
+ }
328
+ /**
329
+ * Create a demo client for testing without API.
330
+ */
331
+ export declare function createDemoClient(options?: {
332
+ simulatedDelay?: number;
333
+ }): SardisDemoClient;
334
+ export {};
335
+ //# sourceMappingURL=demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAQH,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACjC,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC/C,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;IAC/D,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAMD,cAAM,SAAS;IACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAY;IAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAY;IACtD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAY;IACxC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAY;IAClD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAY;IACxD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAY;IACpD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAY;IAC1D,WAAW,EAAE,MAAM,CAAU;;IAO7B,OAAO,CAAC,QAAQ;IAsBhB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIlC,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,MAAM;CAGpB;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,KAAK,EAAE,iBAAiB,CAAA;IACxB,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,gBAAgB,CAAA;gBAEV,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IAWjD;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd;AAMD,cAAM,mBAAmB;IAErB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;gBADL,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM;YAGT,QAAQ;IAKhB,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAuB1E,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ1C,UAAU,CACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB1D,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI7B,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAKlE;AAED,cAAM,oBAAoB;IAEtB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;gBADL,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM;YAGT,QAAQ;IAKhB,OAAO,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,eAAe,CAAC;IA8DtB,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQpD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAMzD;AAED,cAAM,iBAAiB;IAEnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;gBADL,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM;YAGT,QAAQ;IAKhB,MAAM,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyCf,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgD3D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAavC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQtC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAMlD;AAED,cAAM,kBAAkB;IAEpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;gBADL,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM;YAGT,QAAQ;IAKhB,KAAK,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2ExB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAC;CA+BH;AAMD,cAAM,gBAAgB;IAElB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;gBADL,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM;YAGT,QAAQ;IAKtB;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC;QACtC,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAC;IAQF;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE;QAC3B,YAAY,EAAE,MAAM,CAAA;QACpB,cAAc,EAAE,MAAM,CAAA;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwCxB;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,aAAa,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE;YACR,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;KACF,GAAG,OAAO,CAAC,cAAc,CAAC;IAkE3B;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQlE;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,YAAY,EAAE,MAAM,CAAA;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,mBAAmB,EAAE,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC,YAAY,CAAC;IAsCzB;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE;YACX,aAAa,EAAE,MAAM,CAAA;YACrB,aAAa,CAAC,EAAE,MAAM,CAAA;YACtB,IAAI,CAAC,EAAE,MAAM,CAAA;YACb,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;KACF,GAAG,OAAO,CAAC,eAAe,CAAC;IA2D5B;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQpE;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,OAAO,EAAE,eAAe,EAAE,CAAA;KAC3B,CAAC;CAUH;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAExF"}