@carthooks/arcubase-cli 0.1.21 → 0.1.23

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 (57) hide show
  1. package/bundle/arcubase-admin.mjs +1430 -83
  2. package/bundle/arcubase.mjs +1430 -83
  3. package/dist/generated/command_registry.generated.d.ts +300 -0
  4. package/dist/generated/command_registry.generated.d.ts.map +1 -1
  5. package/dist/generated/command_registry.generated.js +416 -0
  6. package/dist/generated/help_examples.generated.d.ts +116 -0
  7. package/dist/generated/help_examples.generated.d.ts.map +1 -1
  8. package/dist/generated/help_examples.generated.js +184 -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 +326 -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 +22 -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 +66 -0
  32. package/sdk-dist/docs/runtime-reference/help-examples/admin/widget/update-ingress-options.json +21 -0
  33. package/sdk-dist/docs/runtime-reference/widgets.md +64 -0
  34. package/sdk-dist/generated/command_registry.generated.ts +416 -0
  35. package/sdk-dist/generated/help_examples.generated.ts +184 -0
  36. package/sdk-dist/generated/type_index.generated.ts +42 -1
  37. package/sdk-dist/generated/zod_registry.generated.ts +56 -0
  38. package/sdk-dist/types/app.ts +37 -1
  39. package/sdk-dist/types/common.ts +77 -35
  40. package/sdk-dist/types/index.ts +1 -1
  41. package/sdk-dist/types/public-link.ts +10 -0
  42. package/sdk-dist/types/shared-link.ts +16 -1
  43. package/sdk-dist/types/user-action.ts +1 -43
  44. package/src/generated/command_registry.generated.ts +416 -0
  45. package/src/generated/help_examples.generated.ts +184 -0
  46. package/src/generated/type_index.generated.ts +42 -1
  47. package/src/generated/zod_registry.generated.ts +56 -0
  48. package/src/runtime/dev_sdk_gen.ts +360 -0
  49. package/src/runtime/execute.ts +371 -1
  50. package/src/runtime/zod_registry.ts +58 -0
  51. package/src/tests/command_registry.test.ts +21 -2
  52. package/src/tests/dev_sdk_gen.test.ts +226 -0
  53. package/src/tests/docs_readability.test.ts +15 -0
  54. package/src/tests/execute_validation.test.ts +226 -0
  55. package/src/tests/help.test.ts +86 -0
  56. package/sdk-dist/api/user/copilot.ts +0 -20
  57. 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,57 @@ 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: "app";
705
+ readonly functionName: "getAppDetail";
706
+ readonly commandPath: readonly ["app", "get"];
707
+ readonly method: "GET";
708
+ readonly endpoint: "/api/apps/:id";
709
+ readonly pathParams: readonly [{
710
+ readonly param: "id";
711
+ readonly flag: "app-id";
712
+ }];
713
+ readonly controller: "UserAction.AppDetail";
714
+ readonly requestType: null;
715
+ readonly queryParams: readonly [];
716
+ readonly responseType: "AppDetailRespVO";
717
+ }, {
718
+ readonly scope: "user";
719
+ readonly module: "dashboard";
720
+ readonly functionName: "getDashboard";
721
+ readonly commandPath: readonly ["dashboard", "get"];
722
+ readonly method: "GET";
723
+ readonly endpoint: "/api/dashboard/:app_id/:dashboard_id";
724
+ readonly pathParams: readonly [{
725
+ readonly param: "app_id";
726
+ readonly flag: "app-id";
727
+ }, {
728
+ readonly param: "dashboard_id";
729
+ readonly flag: "dashboard-id";
730
+ }];
731
+ readonly controller: "UserAction.DashboardGet";
732
+ readonly requestType: null;
733
+ readonly queryParams: readonly [];
734
+ readonly responseType: "DashboardGetRespVO";
735
+ }, {
736
+ readonly scope: "user";
737
+ readonly module: "dashboard";
738
+ readonly functionName: "getDashboardWidgets";
739
+ readonly commandPath: readonly ["dashboard", "widgets"];
740
+ readonly method: "GET";
741
+ readonly endpoint: "/api/dashboard/:app_id/:dashboard_id/widgets";
742
+ readonly pathParams: readonly [{
743
+ readonly param: "app_id";
744
+ readonly flag: "app-id";
745
+ }, {
746
+ readonly param: "dashboard_id";
747
+ readonly flag: "dashboard-id";
748
+ }];
749
+ readonly controller: "UserAction.DashboardWidgets";
750
+ readonly requestType: null;
751
+ readonly queryParams: readonly [];
752
+ readonly responseType: "DashboardWidgets[]";
468
753
  }, {
469
754
  readonly scope: "user";
470
755
  readonly module: "table";
@@ -773,6 +1058,21 @@ export declare const userCommands: readonly [{
773
1058
  readonly requestType: "MobileUploadCheckReqVO";
774
1059
  readonly queryParams: readonly [];
775
1060
  readonly responseType: "MobileUploadCheckRespVO";
1061
+ }, {
1062
+ readonly scope: "user";
1063
+ readonly module: "widget";
1064
+ readonly functionName: "fetchWidgetsData";
1065
+ readonly commandPath: readonly ["widget", "data"];
1066
+ readonly method: "POST";
1067
+ readonly endpoint: "/api/apps/:app_id/widgets-data";
1068
+ readonly pathParams: readonly [{
1069
+ readonly param: "app_id";
1070
+ readonly flag: "app-id";
1071
+ }];
1072
+ readonly controller: "UserAction.FetchWidgetsData";
1073
+ readonly requestType: "FetchWidgetsDataReqVO";
1074
+ readonly queryParams: readonly [];
1075
+ readonly responseType: "FetchWidgetsDataRespVO";
776
1076
  }, {
777
1077
  readonly scope: "user";
778
1078
  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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA20Bf,CAAA"}