@anaralabs/sdk 0.1.0 → 0.3.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.
package/dist/schemas.d.ts CHANGED
@@ -23,11 +23,19 @@ export declare const entityEnvelope: z.ZodObject<{
23
23
  markdown: z.ZodString;
24
24
  }, z.core.$strip>>;
25
25
  }, z.core.$strip>;
26
+ export declare const organizationSummary: z.ZodObject<{
27
+ id: z.ZodString;
28
+ name: z.ZodNullable<z.ZodString>;
29
+ slug: z.ZodNullable<z.ZodString>;
30
+ role: z.ZodString;
31
+ }, z.core.$strip>;
26
32
  export interface MethodSpec {
27
33
  input: z.ZodTypeAny;
28
34
  output: z.ZodTypeAny;
29
35
  write: boolean;
30
36
  summary: string;
37
+ scope?: 'anara:read' | 'anara:write' | 'anara:sandbox';
38
+ extraScopes?: Array<'anara:read' | 'anara:write' | 'anara:sandbox'>;
31
39
  }
32
40
  export declare const ANARA_METHODS: {
33
41
  'entities.query': {
@@ -54,6 +62,10 @@ export declare const ANARA_METHODS: {
54
62
  groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
63
  nameContains: z.ZodOptional<z.ZodString>;
56
64
  limit: z.ZodOptional<z.ZodNumber>;
65
+ scope: z.ZodDefault<z.ZodEnum<{
66
+ accessible: "accessible";
67
+ organization: "organization";
68
+ }>>;
57
69
  }, z.core.$strip>;
58
70
  output: z.ZodArray<z.ZodObject<{
59
71
  id: z.ZodString;
@@ -238,81 +250,6 @@ export declare const ANARA_METHODS: {
238
250
  write: true;
239
251
  summary: string;
240
252
  };
241
- search: {
242
- input: z.ZodObject<{
243
- query: z.ZodString;
244
- documentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
245
- limit: z.ZodOptional<z.ZodNumber>;
246
- }, z.core.$strip>;
247
- output: z.ZodArray<z.ZodObject<{
248
- chunkId: z.ZodString;
249
- documentId: z.ZodString;
250
- documentName: z.ZodOptional<z.ZodString>;
251
- text: z.ZodString;
252
- chunkIndex: z.ZodNumber;
253
- pageNumber: z.ZodOptional<z.ZodNumber>;
254
- displayPageNumber: z.ZodOptional<z.ZodString>;
255
- score: z.ZodOptional<z.ZodNumber>;
256
- anchor: z.ZodOptional<z.ZodUnknown>;
257
- }, z.core.$strip>>;
258
- write: false;
259
- summary: string;
260
- };
261
- research: {
262
- input: z.ZodObject<{
263
- query: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>;
264
- documentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
265
- limit: z.ZodOptional<z.ZodNumber>;
266
- readPages: z.ZodOptional<z.ZodNumber>;
267
- }, z.core.$strip>;
268
- output: z.ZodUnion<[z.ZodObject<{
269
- hits: z.ZodArray<z.ZodObject<{
270
- chunkId: z.ZodString;
271
- documentId: z.ZodString;
272
- documentName: z.ZodOptional<z.ZodString>;
273
- text: z.ZodString;
274
- chunkIndex: z.ZodNumber;
275
- pageNumber: z.ZodOptional<z.ZodNumber>;
276
- displayPageNumber: z.ZodOptional<z.ZodString>;
277
- score: z.ZodOptional<z.ZodNumber>;
278
- anchor: z.ZodOptional<z.ZodUnknown>;
279
- }, z.core.$strip>>;
280
- pages: z.ZodArray<z.ZodObject<{
281
- documentId: z.ZodOptional<z.ZodString>;
282
- documentName: z.ZodOptional<z.ZodString>;
283
- passages: z.ZodArray<z.ZodObject<{
284
- passageId: z.ZodString;
285
- text: z.ZodString;
286
- pageNumber: z.ZodOptional<z.ZodNumber>;
287
- displayPageNumber: z.ZodOptional<z.ZodString>;
288
- }, z.core.$strip>>;
289
- }, z.core.$strip>>;
290
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
291
- hits: z.ZodArray<z.ZodObject<{
292
- chunkId: z.ZodString;
293
- documentId: z.ZodString;
294
- documentName: z.ZodOptional<z.ZodString>;
295
- text: z.ZodString;
296
- chunkIndex: z.ZodNumber;
297
- pageNumber: z.ZodOptional<z.ZodNumber>;
298
- displayPageNumber: z.ZodOptional<z.ZodString>;
299
- score: z.ZodOptional<z.ZodNumber>;
300
- anchor: z.ZodOptional<z.ZodUnknown>;
301
- }, z.core.$strip>>;
302
- pages: z.ZodArray<z.ZodObject<{
303
- documentId: z.ZodOptional<z.ZodString>;
304
- documentName: z.ZodOptional<z.ZodString>;
305
- passages: z.ZodArray<z.ZodObject<{
306
- passageId: z.ZodString;
307
- text: z.ZodString;
308
- pageNumber: z.ZodOptional<z.ZodNumber>;
309
- displayPageNumber: z.ZodOptional<z.ZodString>;
310
- }, z.core.$strip>>;
311
- }, z.core.$strip>>;
312
- }, z.core.$strip>>]>;
313
- write: false;
314
- summary: string;
315
- };
316
253
  'retrieval.vectorSearch': {
317
254
  input: z.ZodObject<{
318
255
  query: z.ZodOptional<z.ZodString>;
@@ -321,7 +258,7 @@ export declare const ANARA_METHODS: {
321
258
  limit: z.ZodOptional<z.ZodNumber>;
322
259
  }, z.core.$strip>;
323
260
  output: z.ZodArray<z.ZodObject<{
324
- chunkId: z.ZodString;
261
+ passageId: z.ZodString;
325
262
  documentId: z.ZodString;
326
263
  documentName: z.ZodOptional<z.ZodString>;
327
264
  text: z.ZodString;
@@ -342,7 +279,7 @@ export declare const ANARA_METHODS: {
342
279
  limit: z.ZodOptional<z.ZodNumber>;
343
280
  }, z.core.$strip>;
344
281
  output: z.ZodArray<z.ZodObject<{
345
- chunkId: z.ZodString;
282
+ passageId: z.ZodString;
346
283
  documentId: z.ZodString;
347
284
  documentName: z.ZodOptional<z.ZodString>;
348
285
  text: z.ZodString;
@@ -359,7 +296,7 @@ export declare const ANARA_METHODS: {
359
296
  input: z.ZodObject<{
360
297
  query: z.ZodString;
361
298
  candidates: z.ZodArray<z.ZodObject<{
362
- chunkId: z.ZodString;
299
+ passageId: z.ZodString;
363
300
  documentId: z.ZodString;
364
301
  documentName: z.ZodOptional<z.ZodString>;
365
302
  text: z.ZodString;
@@ -373,7 +310,7 @@ export declare const ANARA_METHODS: {
373
310
  minRelevanceScore: z.ZodOptional<z.ZodNumber>;
374
311
  }, z.core.$strip>;
375
312
  output: z.ZodArray<z.ZodObject<{
376
- chunkId: z.ZodString;
313
+ passageId: z.ZodString;
377
314
  documentId: z.ZodString;
378
315
  documentName: z.ZodOptional<z.ZodString>;
379
316
  text: z.ZodString;
@@ -466,6 +403,23 @@ export declare const ANARA_METHODS: {
466
403
  write: false;
467
404
  summary: string;
468
405
  };
406
+ reduce: {
407
+ input: z.ZodObject<{
408
+ input: z.ZodUnion<[z.ZodArray<z.ZodUnknown>, z.ZodString]>;
409
+ query: z.ZodString;
410
+ leafBudget: z.ZodOptional<z.ZodNumber>;
411
+ fanout: z.ZodOptional<z.ZodNumber>;
412
+ maxDepth: z.ZodOptional<z.ZodNumber>;
413
+ }, z.core.$strip>;
414
+ output: z.ZodObject<{
415
+ answer: z.ZodString;
416
+ depth: z.ZodNumber;
417
+ leafCalls: z.ZodNumber;
418
+ truncated: z.ZodBoolean;
419
+ }, z.core.$strip>;
420
+ write: false;
421
+ summary: string;
422
+ };
469
423
  'documents.expandContext': {
470
424
  input: z.ZodObject<{
471
425
  documentId: z.ZodString;
@@ -539,10 +493,35 @@ export declare const ANARA_METHODS: {
539
493
  write: false;
540
494
  summary: string;
541
495
  };
496
+ 'documents.import': {
497
+ input: z.ZodObject<{
498
+ url: z.ZodString;
499
+ folderId: z.ZodOptional<z.ZodString>;
500
+ title: z.ZodOptional<z.ZodString>;
501
+ }, z.core.$strip>;
502
+ output: z.ZodObject<{
503
+ documentId: z.ZodString;
504
+ }, z.core.$strip>;
505
+ write: true;
506
+ summary: string;
507
+ };
508
+ 'documents.upload': {
509
+ input: z.ZodObject<{
510
+ filename: z.ZodString;
511
+ contentBase64: z.ZodString;
512
+ folderId: z.ZodOptional<z.ZodString>;
513
+ }, z.core.$strip>;
514
+ output: z.ZodObject<{
515
+ documentId: z.ZodString;
516
+ }, z.core.$strip>;
517
+ write: true;
518
+ summary: string;
519
+ };
542
520
  'spreadsheets.query': {
543
521
  input: z.ZodObject<{
544
522
  documentId: z.ZodString;
545
523
  sheet: z.ZodOptional<z.ZodString>;
524
+ range: z.ZodOptional<z.ZodString>;
546
525
  where: z.ZodOptional<z.ZodArray<z.ZodObject<{
547
526
  column: z.ZodString;
548
527
  op: z.ZodEnum<{
@@ -583,6 +562,31 @@ export declare const ANARA_METHODS: {
583
562
  write: false;
584
563
  summary: string;
585
564
  };
565
+ 'spreadsheets.export': {
566
+ input: z.ZodObject<{
567
+ documentId: z.ZodString;
568
+ sheet: z.ZodOptional<z.ZodString>;
569
+ format: z.ZodEnum<{
570
+ csv: "csv";
571
+ xlsx: "xlsx";
572
+ }>;
573
+ }, z.core.$strip>;
574
+ output: z.ZodUnion<readonly [z.ZodObject<{
575
+ filename: z.ZodString;
576
+ format: z.ZodLiteral<"csv">;
577
+ mimeType: z.ZodString;
578
+ csv: z.ZodString;
579
+ }, z.core.$strip>, z.ZodObject<{
580
+ filename: z.ZodString;
581
+ format: z.ZodLiteral<"xlsx">;
582
+ mimeType: z.ZodString;
583
+ xlsxBase64: z.ZodString;
584
+ }, z.core.$strip>, z.ZodObject<{
585
+ error: z.ZodString;
586
+ }, z.core.$loose>]>;
587
+ write: false;
588
+ summary: string;
589
+ };
586
590
  'spreadsheets.applyEdits': {
587
591
  input: z.ZodObject<{
588
592
  documentId: z.ZodString;
@@ -590,11 +594,13 @@ export declare const ANARA_METHODS: {
590
594
  edits: z.ZodArray<z.ZodObject<{
591
595
  op: z.ZodEnum<{
592
596
  appendRows: "appendRows";
597
+ createSheet: "createSheet";
593
598
  deleteRows: "deleteRows";
594
599
  insertRows: "insertRows";
595
600
  setCells: "setCells";
596
601
  setHeader: "setHeader";
597
602
  }>;
603
+ name: z.ZodOptional<z.ZodString>;
598
604
  cells: z.ZodOptional<z.ZodArray<z.ZodObject<{
599
605
  cell: z.ZodString;
600
606
  value: z.ZodString;
@@ -686,8 +692,204 @@ export declare const ANARA_METHODS: {
686
692
  write: false;
687
693
  summary: string;
688
694
  };
695
+ 'organizations.list': {
696
+ input: z.ZodObject<{}, z.core.$strip>;
697
+ output: z.ZodArray<z.ZodObject<{
698
+ id: z.ZodString;
699
+ name: z.ZodNullable<z.ZodString>;
700
+ slug: z.ZodNullable<z.ZodString>;
701
+ role: z.ZodString;
702
+ }, z.core.$strip>>;
703
+ write: false;
704
+ summary: string;
705
+ };
706
+ 'sandbox.create': {
707
+ input: z.ZodObject<{
708
+ sandboxId: z.ZodString;
709
+ largeDisk: z.ZodOptional<z.ZodBoolean>;
710
+ }, z.core.$strip>;
711
+ output: z.ZodObject<{
712
+ sandboxId: z.ZodString;
713
+ state: z.ZodString;
714
+ resumed: z.ZodBoolean;
715
+ }, z.core.$strip>;
716
+ write: false;
717
+ scope: "anara:sandbox";
718
+ summary: string;
719
+ };
720
+ 'sandbox.runShell': {
721
+ input: z.ZodObject<{
722
+ sandboxId: z.ZodString;
723
+ command: z.ZodString;
724
+ cwd: z.ZodOptional<z.ZodString>;
725
+ timeoutSec: z.ZodOptional<z.ZodNumber>;
726
+ attachFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
727
+ }, z.core.$strip>;
728
+ output: z.ZodObject<{
729
+ stdout: z.ZodString;
730
+ stderr: z.ZodString;
731
+ exitCode: z.ZodNumber;
732
+ durationMs: z.ZodNumber;
733
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
734
+ name: z.ZodString;
735
+ url: z.ZodString;
736
+ mimeType: z.ZodString;
737
+ size: z.ZodNumber;
738
+ }, z.core.$strip>>>;
739
+ }, z.core.$strip>;
740
+ write: false;
741
+ scope: "anara:sandbox";
742
+ summary: string;
743
+ };
744
+ 'sandbox.writeFile': {
745
+ input: z.ZodObject<{
746
+ sandboxId: z.ZodString;
747
+ path: z.ZodString;
748
+ content: z.ZodString;
749
+ mode: z.ZodOptional<z.ZodEnum<{
750
+ append: "append";
751
+ overwrite: "overwrite";
752
+ }>>;
753
+ }, z.core.$strip>;
754
+ output: z.ZodObject<{
755
+ path: z.ZodString;
756
+ sizeBytes: z.ZodNumber;
757
+ mode: z.ZodEnum<{
758
+ append: "append";
759
+ overwrite: "overwrite";
760
+ }>;
761
+ }, z.core.$strip>;
762
+ write: false;
763
+ scope: "anara:sandbox";
764
+ summary: string;
765
+ };
766
+ 'sandbox.editFile': {
767
+ input: z.ZodObject<{
768
+ sandboxId: z.ZodString;
769
+ path: z.ZodString;
770
+ edits: z.ZodArray<z.ZodObject<{
771
+ old: z.ZodString;
772
+ new: z.ZodString;
773
+ }, z.core.$strip>>;
774
+ }, z.core.$strip>;
775
+ output: z.ZodObject<{
776
+ path: z.ZodString;
777
+ edits_applied: z.ZodNumber;
778
+ sizeBytes: z.ZodOptional<z.ZodNumber>;
779
+ error: z.ZodOptional<z.ZodString>;
780
+ hint: z.ZodOptional<z.ZodString>;
781
+ }, z.core.$strip>;
782
+ write: false;
783
+ scope: "anara:sandbox";
784
+ summary: string;
785
+ };
786
+ 'sandbox.readFile': {
787
+ input: z.ZodObject<{
788
+ sandboxId: z.ZodString;
789
+ path: z.ZodString;
790
+ maxBytes: z.ZodOptional<z.ZodNumber>;
791
+ encoding: z.ZodOptional<z.ZodEnum<{
792
+ base64: "base64";
793
+ utf8: "utf8";
794
+ }>>;
795
+ }, z.core.$strip>;
796
+ output: z.ZodObject<{
797
+ path: z.ZodString;
798
+ content: z.ZodString;
799
+ sizeBytes: z.ZodNumber;
800
+ truncated: z.ZodBoolean;
801
+ mimeType: z.ZodString;
802
+ encoding: z.ZodEnum<{
803
+ base64: "base64";
804
+ utf8: "utf8";
805
+ }>;
806
+ error: z.ZodOptional<z.ZodString>;
807
+ }, z.core.$strip>;
808
+ write: false;
809
+ scope: "anara:sandbox";
810
+ summary: string;
811
+ };
812
+ 'sandbox.listDir': {
813
+ input: z.ZodObject<{
814
+ sandboxId: z.ZodString;
815
+ path: z.ZodString;
816
+ maxDepth: z.ZodOptional<z.ZodNumber>;
817
+ }, z.core.$strip>;
818
+ output: z.ZodObject<{
819
+ entries: z.ZodArray<z.ZodObject<{
820
+ type: z.ZodEnum<{
821
+ dir: "dir";
822
+ file: "file";
823
+ other: "other";
824
+ }>;
825
+ sizeBytes: z.ZodNumber;
826
+ path: z.ZodString;
827
+ }, z.core.$strip>>;
828
+ truncated: z.ZodBoolean;
829
+ }, z.core.$strip>;
830
+ write: false;
831
+ scope: "anara:sandbox";
832
+ summary: string;
833
+ };
834
+ 'sandbox.attachFiles': {
835
+ input: z.ZodObject<{
836
+ sandboxId: z.ZodString;
837
+ paths: z.ZodArray<z.ZodString>;
838
+ }, z.core.$strip>;
839
+ output: z.ZodObject<{
840
+ files: z.ZodArray<z.ZodObject<{
841
+ name: z.ZodString;
842
+ url: z.ZodString;
843
+ mimeType: z.ZodString;
844
+ size: z.ZodNumber;
845
+ }, z.core.$strip>>;
846
+ failures: z.ZodOptional<z.ZodArray<z.ZodObject<{
847
+ path: z.ZodString;
848
+ reason: z.ZodString;
849
+ }, z.core.$strip>>>;
850
+ }, z.core.$strip>;
851
+ write: false;
852
+ scope: "anara:sandbox";
853
+ summary: string;
854
+ };
855
+ 'sandbox.fetchDocument': {
856
+ input: z.ZodObject<{
857
+ sandboxId: z.ZodString;
858
+ documentId: z.ZodString;
859
+ pages: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
860
+ }, z.core.$strip>;
861
+ output: z.ZodObject<{
862
+ documentId: z.ZodString;
863
+ documentName: z.ZodOptional<z.ZodString>;
864
+ path: z.ZodOptional<z.ZodString>;
865
+ mimeType: z.ZodOptional<z.ZodString>;
866
+ bytes: z.ZodNumber;
867
+ cached: z.ZodBoolean;
868
+ pagesWritten: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
869
+ totalPages: z.ZodOptional<z.ZodNumber>;
870
+ error: z.ZodOptional<z.ZodString>;
871
+ }, z.core.$strip>;
872
+ write: false;
873
+ scope: "anara:sandbox";
874
+ extraScopes: "anara:read"[];
875
+ summary: string;
876
+ };
877
+ 'sandbox.stop': {
878
+ input: z.ZodObject<{
879
+ sandboxId: z.ZodString;
880
+ }, z.core.$strip>;
881
+ output: z.ZodObject<{
882
+ ok: z.ZodLiteral<true>;
883
+ }, z.core.$strip>;
884
+ write: false;
885
+ scope: "anara:sandbox";
886
+ summary: string;
887
+ };
689
888
  };
690
889
  export type AnaraMethodName = keyof typeof ANARA_METHODS;
691
890
  export declare const WRITE_METHODS: ReadonlySet<string>;
891
+ export declare const SANDBOX_METHODS: ReadonlySet<string>;
892
+ export declare function scopeForMethod(name: AnaraMethodName): string;
893
+ export declare function scopesForMethod(name: AnaraMethodName): string[];
692
894
  export declare function isAnaraMethod(name: string): name is AnaraMethodName;
693
895
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;iBAYzB,CAAC;AAkSH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2LY,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAI7C,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,eAAe,CAEnE"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;iBAYzB,CAAC;AAsaH,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,eAAe,CAAC;IAGvD,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,aAAa,GAAG,eAAe,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgUY,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAI7C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAI/C,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAG5D;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAM/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,eAAe,CAEnE"}