@carthooks/arcubase-cli 0.1.21 → 0.1.22

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 (56) hide show
  1. package/bundle/arcubase-admin.mjs +1297 -79
  2. package/bundle/arcubase.mjs +1297 -79
  3. package/dist/generated/command_registry.generated.d.ts +285 -0
  4. package/dist/generated/command_registry.generated.d.ts.map +1 -1
  5. package/dist/generated/command_registry.generated.js +395 -0
  6. package/dist/generated/help_examples.generated.d.ts +77 -0
  7. package/dist/generated/help_examples.generated.d.ts.map +1 -1
  8. package/dist/generated/help_examples.generated.js +122 -0
  9. package/dist/generated/type_index.generated.d.ts +40 -1
  10. package/dist/generated/type_index.generated.d.ts.map +1 -1
  11. package/dist/generated/type_index.generated.js +42 -1
  12. package/dist/generated/zod_registry.generated.d.ts +29 -1
  13. package/dist/generated/zod_registry.generated.d.ts.map +1 -1
  14. package/dist/generated/zod_registry.generated.js +37 -0
  15. package/dist/runtime/dev_sdk_gen.d.ts +9 -0
  16. package/dist/runtime/dev_sdk_gen.d.ts.map +1 -0
  17. package/dist/runtime/dev_sdk_gen.js +319 -0
  18. package/dist/runtime/execute.d.ts.map +1 -1
  19. package/dist/runtime/execute.js +280 -1
  20. package/dist/runtime/zod_registry.d.ts.map +1 -1
  21. package/dist/runtime/zod_registry.js +58 -0
  22. package/package.json +1 -1
  23. package/sdk-dist/api/admin/index.ts +1 -0
  24. package/sdk-dist/api/admin/public-link.ts +48 -0
  25. package/sdk-dist/api/shared-link/form.ts +42 -1
  26. package/sdk-dist/api/user/index.ts +0 -1
  27. package/sdk-dist/docs/runtime-reference/dashboard.md +15 -0
  28. package/sdk-dist/docs/runtime-reference/dev-sdk-gen.md +41 -0
  29. package/sdk-dist/docs/runtime-reference/help-examples/admin/dashboard/update-layout.json +16 -0
  30. package/sdk-dist/docs/runtime-reference/help-examples/admin/widget/create.json +33 -0
  31. package/sdk-dist/docs/runtime-reference/help-examples/admin/widget/preview-data.json +42 -0
  32. package/sdk-dist/docs/runtime-reference/widgets.md +40 -0
  33. package/sdk-dist/generated/command_registry.generated.ts +395 -0
  34. package/sdk-dist/generated/help_examples.generated.ts +122 -0
  35. package/sdk-dist/generated/type_index.generated.ts +42 -1
  36. package/sdk-dist/generated/zod_registry.generated.ts +56 -0
  37. package/sdk-dist/types/app.ts +37 -1
  38. package/sdk-dist/types/common.ts +77 -35
  39. package/sdk-dist/types/index.ts +1 -1
  40. package/sdk-dist/types/public-link.ts +10 -0
  41. package/sdk-dist/types/shared-link.ts +16 -1
  42. package/sdk-dist/types/user-action.ts +1 -43
  43. package/src/generated/command_registry.generated.ts +395 -0
  44. package/src/generated/help_examples.generated.ts +122 -0
  45. package/src/generated/type_index.generated.ts +42 -1
  46. package/src/generated/zod_registry.generated.ts +56 -0
  47. package/src/runtime/dev_sdk_gen.ts +360 -0
  48. package/src/runtime/execute.ts +325 -1
  49. package/src/runtime/zod_registry.ts +58 -0
  50. package/src/tests/command_registry.test.ts +20 -2
  51. package/src/tests/dev_sdk_gen.test.ts +226 -0
  52. package/src/tests/docs_readability.test.ts +15 -0
  53. package/src/tests/execute_validation.test.ts +129 -0
  54. package/src/tests/help.test.ts +70 -0
  55. package/sdk-dist/api/user/copilot.ts +0 -20
  56. package/sdk-dist/types/copilot.ts +0 -34
@@ -132,6 +132,108 @@ export declare const adminCommands: readonly [{
132
132
  readonly requestType: null;
133
133
  readonly queryParams: readonly [];
134
134
  readonly responseType: "boolean";
135
+ }, {
136
+ readonly scope: "admin";
137
+ readonly module: "dashboard";
138
+ readonly functionName: "getDashboardList";
139
+ readonly commandPath: readonly ["dashboard", "list"];
140
+ readonly method: "GET";
141
+ readonly endpoint: "/api/apps/:app_id/dashboard";
142
+ readonly pathParams: readonly [{
143
+ readonly param: "app_id";
144
+ readonly flag: "app-id";
145
+ }];
146
+ readonly controller: "Dashboard.GetList";
147
+ readonly requestType: null;
148
+ readonly queryParams: readonly [];
149
+ readonly responseType: "DashboardGetListRespVO";
150
+ }, {
151
+ readonly scope: "admin";
152
+ readonly module: "dashboard";
153
+ readonly functionName: "createDashboard";
154
+ readonly commandPath: readonly ["dashboard", "create"];
155
+ readonly method: "POST";
156
+ readonly endpoint: "/api/apps/:app_id/dashboard";
157
+ readonly pathParams: readonly [{
158
+ readonly param: "app_id";
159
+ readonly flag: "app-id";
160
+ }];
161
+ readonly controller: "Dashboard.Create";
162
+ readonly requestType: "DashboardCreateReqVO";
163
+ readonly queryParams: readonly [];
164
+ readonly responseType: "DashboardCreateRespVO";
165
+ }, {
166
+ readonly scope: "admin";
167
+ readonly module: "dashboard";
168
+ readonly functionName: "getDashboardOptions";
169
+ readonly commandPath: readonly ["dashboard", "get-options"];
170
+ readonly method: "GET";
171
+ readonly endpoint: "/api/apps/:app_id/dashboard/:dashboard_id/options";
172
+ readonly pathParams: readonly [{
173
+ readonly param: "app_id";
174
+ readonly flag: "app-id";
175
+ }, {
176
+ readonly param: "dashboard_id";
177
+ readonly flag: "dashboard-id";
178
+ }];
179
+ readonly controller: "Dashboard.FetchOptions";
180
+ readonly requestType: null;
181
+ readonly queryParams: readonly [];
182
+ readonly responseType: "DashboardFetchOptionsRespVO";
183
+ }, {
184
+ readonly scope: "admin";
185
+ readonly module: "dashboard";
186
+ readonly functionName: "updateDashboardOptions";
187
+ readonly commandPath: readonly ["dashboard", "update-options"];
188
+ readonly method: "PUT";
189
+ readonly endpoint: "/api/apps/:app_id/dashboard/:dashboard_id/options";
190
+ readonly pathParams: readonly [{
191
+ readonly param: "app_id";
192
+ readonly flag: "app-id";
193
+ }, {
194
+ readonly param: "dashboard_id";
195
+ readonly flag: "dashboard-id";
196
+ }];
197
+ readonly controller: "Dashboard.UpdateOptions";
198
+ readonly requestType: "DashboardUpdateOptionsReqVO";
199
+ readonly queryParams: readonly [];
200
+ readonly responseType: "DashboardUpdateOptionsRespVO";
201
+ }, {
202
+ readonly scope: "admin";
203
+ readonly module: "dashboard";
204
+ readonly functionName: "updateDashboardLayout";
205
+ readonly commandPath: readonly ["dashboard", "update-layout"];
206
+ readonly method: "PUT";
207
+ readonly endpoint: "/api/apps/:app_id/dashboard/:dashboard_id/layout";
208
+ readonly pathParams: readonly [{
209
+ readonly param: "app_id";
210
+ readonly flag: "app-id";
211
+ }, {
212
+ readonly param: "dashboard_id";
213
+ readonly flag: "dashboard-id";
214
+ }];
215
+ readonly controller: "Dashboard.UpdateLayout";
216
+ readonly requestType: "DashboardUpdateLayoutReqVO";
217
+ readonly queryParams: readonly [];
218
+ readonly responseType: "DashboardUpdateLayoutRespVO";
219
+ }, {
220
+ readonly scope: "admin";
221
+ readonly module: "dashboard";
222
+ readonly functionName: "updateDashboardTitle";
223
+ readonly commandPath: readonly ["dashboard", "rename"];
224
+ readonly method: "PUT";
225
+ readonly endpoint: "/api/apps/:app_id/dashboard/:dashboard_id/label";
226
+ readonly pathParams: readonly [{
227
+ readonly param: "app_id";
228
+ readonly flag: "app-id";
229
+ }, {
230
+ readonly param: "dashboard_id";
231
+ readonly flag: "dashboard-id";
232
+ }];
233
+ readonly controller: "Dashboard.UpdateTitle";
234
+ readonly requestType: "DashboardUpdateTitleReqVO";
235
+ readonly queryParams: readonly [];
236
+ readonly responseType: "DashboardUpdateTitleRespVO";
135
237
  }, {
136
238
  readonly scope: "admin";
137
239
  readonly module: "table";
@@ -446,6 +548,138 @@ export declare const adminCommands: readonly [{
446
548
  readonly requestType: "EntityWorkflowUpdateReqVO";
447
549
  readonly queryParams: readonly [];
448
550
  readonly responseType: "EntityWorkflowUpdateRespVO";
551
+ }, {
552
+ readonly scope: "admin";
553
+ readonly module: "widget";
554
+ readonly functionName: "widgetsList";
555
+ readonly commandPath: readonly ["widget", "list"];
556
+ readonly method: "GET";
557
+ readonly endpoint: "/api/apps/:app_id/widgets";
558
+ readonly pathParams: readonly [{
559
+ readonly param: "app_id";
560
+ readonly flag: "app-id";
561
+ }];
562
+ readonly controller: "App.WidgetsList";
563
+ readonly requestType: null;
564
+ readonly queryParams: readonly [{
565
+ readonly key: "type";
566
+ readonly flag: "type";
567
+ readonly type: "string";
568
+ readonly hasDefault: true;
569
+ }, {
570
+ readonly key: "dashboard_id";
571
+ readonly flag: "dashboard-id";
572
+ readonly type: "number";
573
+ readonly hasDefault: true;
574
+ }, {
575
+ readonly key: "ingress_id";
576
+ readonly flag: "ingress-id";
577
+ readonly type: "number";
578
+ readonly hasDefault: true;
579
+ }];
580
+ readonly responseType: "AppWidgetsListRespVO";
581
+ }, {
582
+ readonly scope: "admin";
583
+ readonly module: "widget";
584
+ readonly functionName: "getWidgets";
585
+ readonly commandPath: readonly ["widget", "get"];
586
+ readonly method: "GET";
587
+ readonly endpoint: "/api/apps/:app_id/widgets/:widgets_id";
588
+ readonly pathParams: readonly [{
589
+ readonly param: "app_id";
590
+ readonly flag: "app-id";
591
+ }, {
592
+ readonly param: "widgets_id";
593
+ readonly flag: "widget-id";
594
+ }];
595
+ readonly controller: "App.GetWidgets";
596
+ readonly requestType: null;
597
+ readonly queryParams: readonly [];
598
+ readonly responseType: "AppGetWidgetsRespVO";
599
+ }, {
600
+ readonly scope: "admin";
601
+ readonly module: "widget";
602
+ readonly functionName: "newWidgets";
603
+ readonly commandPath: readonly ["widget", "create"];
604
+ readonly method: "POST";
605
+ readonly endpoint: "/api/apps/:app_id/widgets";
606
+ readonly pathParams: readonly [{
607
+ readonly param: "app_id";
608
+ readonly flag: "app-id";
609
+ }];
610
+ readonly controller: "App.NewWidgets";
611
+ readonly requestType: "AppNewWidgetsReqVO";
612
+ readonly queryParams: readonly [];
613
+ readonly responseType: "AppNewWidgetsRespVO";
614
+ }, {
615
+ readonly scope: "admin";
616
+ readonly module: "widget";
617
+ readonly functionName: "updateWidgets";
618
+ readonly commandPath: readonly ["widget", "update"];
619
+ readonly method: "PUT";
620
+ readonly endpoint: "/api/apps/:app_id/widgets/:widgets_id";
621
+ readonly pathParams: readonly [{
622
+ readonly param: "app_id";
623
+ readonly flag: "app-id";
624
+ }, {
625
+ readonly param: "widgets_id";
626
+ readonly flag: "widget-id";
627
+ }];
628
+ readonly controller: "App.UpdateWidgets";
629
+ readonly requestType: "AppUpdateWidgetsReqVO";
630
+ readonly queryParams: readonly [];
631
+ readonly responseType: "AppUpdateWidgetsRespVO";
632
+ }, {
633
+ readonly scope: "admin";
634
+ readonly module: "widget";
635
+ readonly functionName: "updateWidgetsIngressOptions";
636
+ readonly commandPath: readonly ["widget", "update-ingress-options"];
637
+ readonly method: "PUT";
638
+ readonly endpoint: "/api/apps/:app_id/widgets/:widgets_id/ingress-options";
639
+ readonly pathParams: readonly [{
640
+ readonly param: "app_id";
641
+ readonly flag: "app-id";
642
+ }, {
643
+ readonly param: "widgets_id";
644
+ readonly flag: "widget-id";
645
+ }];
646
+ readonly controller: "App.UpdateWidgetsIngressOptions";
647
+ readonly requestType: "AppUpdateWidgetsIngressOptionsReqVO";
648
+ readonly queryParams: readonly [];
649
+ readonly responseType: "AppUpdateWidgetsIngressOptionsRespVO";
650
+ }, {
651
+ readonly scope: "admin";
652
+ readonly module: "widget";
653
+ readonly functionName: "previewWidgetsData";
654
+ readonly commandPath: readonly ["widget", "preview-data"];
655
+ readonly method: "POST";
656
+ readonly endpoint: "/api/apps/:app_id/widgets-preview";
657
+ readonly pathParams: readonly [{
658
+ readonly param: "app_id";
659
+ readonly flag: "app-id";
660
+ }];
661
+ readonly controller: "App.PreviewWidgetsData";
662
+ readonly requestType: "AppPreviewWidgetsDataReqVO";
663
+ readonly queryParams: readonly [];
664
+ readonly responseType: "AppPreviewWidgetsDataRespVO";
665
+ }, {
666
+ readonly scope: "admin";
667
+ readonly module: "widget";
668
+ readonly functionName: "deleteWidgets";
669
+ readonly commandPath: readonly ["widget", "delete"];
670
+ readonly method: "DELETE";
671
+ readonly endpoint: "/api/apps/:app_id/widgets/:widgets_id";
672
+ readonly pathParams: readonly [{
673
+ readonly param: "app_id";
674
+ readonly flag: "app-id";
675
+ }, {
676
+ readonly param: "widgets_id";
677
+ readonly flag: "widget-id";
678
+ }];
679
+ readonly controller: "App.DeleteWidgets";
680
+ readonly requestType: null;
681
+ readonly queryParams: readonly [];
682
+ readonly responseType: "boolean";
449
683
  }];
450
684
  export declare const userCommands: readonly [{
451
685
  readonly scope: "user";
@@ -465,6 +699,42 @@ export declare const userCommands: readonly [{
465
699
  readonly fixedValue: "true";
466
700
  }];
467
701
  readonly responseType: "GlobalActionEntryRespVO";
702
+ }, {
703
+ readonly scope: "user";
704
+ readonly module: "dashboard";
705
+ readonly functionName: "getDashboard";
706
+ readonly commandPath: readonly ["dashboard", "get"];
707
+ readonly method: "GET";
708
+ readonly endpoint: "/api/dashboard/:app_id/:dashboard_id";
709
+ readonly pathParams: readonly [{
710
+ readonly param: "app_id";
711
+ readonly flag: "app-id";
712
+ }, {
713
+ readonly param: "dashboard_id";
714
+ readonly flag: "dashboard-id";
715
+ }];
716
+ readonly controller: "UserAction.DashboardGet";
717
+ readonly requestType: null;
718
+ readonly queryParams: readonly [];
719
+ readonly responseType: "DashboardGetRespVO";
720
+ }, {
721
+ readonly scope: "user";
722
+ readonly module: "dashboard";
723
+ readonly functionName: "getDashboardWidgets";
724
+ readonly commandPath: readonly ["dashboard", "widgets"];
725
+ readonly method: "GET";
726
+ readonly endpoint: "/api/dashboard/:app_id/:dashboard_id/widgets";
727
+ readonly pathParams: readonly [{
728
+ readonly param: "app_id";
729
+ readonly flag: "app-id";
730
+ }, {
731
+ readonly param: "dashboard_id";
732
+ readonly flag: "dashboard-id";
733
+ }];
734
+ readonly controller: "UserAction.DashboardWidgets";
735
+ readonly requestType: null;
736
+ readonly queryParams: readonly [];
737
+ readonly responseType: "DashboardWidgets[]";
468
738
  }, {
469
739
  readonly scope: "user";
470
740
  readonly module: "table";
@@ -773,6 +1043,21 @@ export declare const userCommands: readonly [{
773
1043
  readonly requestType: "MobileUploadCheckReqVO";
774
1044
  readonly queryParams: readonly [];
775
1045
  readonly responseType: "MobileUploadCheckRespVO";
1046
+ }, {
1047
+ readonly scope: "user";
1048
+ readonly module: "widget";
1049
+ readonly functionName: "fetchWidgetsData";
1050
+ readonly commandPath: readonly ["widget", "data"];
1051
+ readonly method: "POST";
1052
+ readonly endpoint: "/api/apps/:app_id/widgets-data";
1053
+ readonly pathParams: readonly [{
1054
+ readonly param: "app_id";
1055
+ readonly flag: "app-id";
1056
+ }];
1057
+ readonly controller: "UserAction.FetchWidgetsData";
1058
+ readonly requestType: "FetchWidgetsDataReqVO";
1059
+ readonly queryParams: readonly [];
1060
+ readonly responseType: "FetchWidgetsDataRespVO";
776
1061
  }, {
777
1062
  readonly scope: "user";
778
1063
  readonly module: "profile";
@@ -1 +1 @@
1
- {"version":3,"file":"command_registry.generated.d.ts","sourceRoot":"","sources":["../../src/generated/command_registry.generated.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7G,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6kBhB,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+uBf,CAAA"}
1
+ {"version":3,"file":"command_registry.generated.d.ts","sourceRoot":"","sources":["../../src/generated/command_registry.generated.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7G,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAi5BhB,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAszBf,CAAA"}