@adminiumjs/i18n 0.3.0-rc.1 → 0.3.0-rc.3

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 (183) hide show
  1. package/dist/a11y-keys.d.ts +1 -1
  2. package/dist/a11y-keys.d.ts.map +1 -1
  3. package/dist/a11y-keys.js +122 -24
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/resources/ar-eg/apiDocs.d.ts +101 -0
  6. package/dist/resources/ar-eg/apiDocs.d.ts.map +1 -0
  7. package/dist/resources/ar-eg/apiDocs.js +101 -0
  8. package/dist/resources/ar-eg/apiDocs.js.map +1 -0
  9. package/dist/resources/ar-eg/common.d.ts +35 -55
  10. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  11. package/dist/resources/ar-eg/common.js +42 -62
  12. package/dist/resources/ar-eg/common.js.map +1 -1
  13. package/dist/resources/ar-eg/studio.d.ts +369 -5
  14. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/studio.js +379 -15
  16. package/dist/resources/ar-eg/studio.js.map +1 -1
  17. package/dist/resources/ar-eg/ui.d.ts +14 -0
  18. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  19. package/dist/resources/ar-eg/ui.js +15 -1
  20. package/dist/resources/ar-eg/ui.js.map +1 -1
  21. package/dist/resources/cs-cz/apiDocs.d.ts +101 -0
  22. package/dist/resources/cs-cz/apiDocs.d.ts.map +1 -0
  23. package/dist/resources/cs-cz/apiDocs.js +101 -0
  24. package/dist/resources/cs-cz/apiDocs.js.map +1 -0
  25. package/dist/resources/cs-cz/common.d.ts +35 -55
  26. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  27. package/dist/resources/cs-cz/common.js +42 -62
  28. package/dist/resources/cs-cz/common.js.map +1 -1
  29. package/dist/resources/cs-cz/studio.d.ts +369 -5
  30. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  31. package/dist/resources/cs-cz/studio.js +379 -15
  32. package/dist/resources/cs-cz/studio.js.map +1 -1
  33. package/dist/resources/cs-cz/ui.d.ts +14 -0
  34. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  35. package/dist/resources/cs-cz/ui.js +15 -1
  36. package/dist/resources/cs-cz/ui.js.map +1 -1
  37. package/dist/resources/da-dk/apiDocs.d.ts +101 -0
  38. package/dist/resources/da-dk/apiDocs.d.ts.map +1 -0
  39. package/dist/resources/da-dk/apiDocs.js +101 -0
  40. package/dist/resources/da-dk/apiDocs.js.map +1 -0
  41. package/dist/resources/da-dk/common.d.ts +35 -55
  42. package/dist/resources/da-dk/common.d.ts.map +1 -1
  43. package/dist/resources/da-dk/common.js +42 -62
  44. package/dist/resources/da-dk/common.js.map +1 -1
  45. package/dist/resources/da-dk/studio.d.ts +369 -5
  46. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  47. package/dist/resources/da-dk/studio.js +379 -15
  48. package/dist/resources/da-dk/studio.js.map +1 -1
  49. package/dist/resources/da-dk/ui.d.ts +14 -0
  50. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  51. package/dist/resources/da-dk/ui.js +15 -1
  52. package/dist/resources/da-dk/ui.js.map +1 -1
  53. package/dist/resources/de-de/apiDocs.d.ts +101 -0
  54. package/dist/resources/de-de/apiDocs.d.ts.map +1 -0
  55. package/dist/resources/de-de/apiDocs.js +101 -0
  56. package/dist/resources/de-de/apiDocs.js.map +1 -0
  57. package/dist/resources/de-de/common.d.ts +35 -55
  58. package/dist/resources/de-de/common.d.ts.map +1 -1
  59. package/dist/resources/de-de/common.js +42 -62
  60. package/dist/resources/de-de/common.js.map +1 -1
  61. package/dist/resources/de-de/studio.d.ts +369 -5
  62. package/dist/resources/de-de/studio.d.ts.map +1 -1
  63. package/dist/resources/de-de/studio.js +379 -15
  64. package/dist/resources/de-de/studio.js.map +1 -1
  65. package/dist/resources/de-de/ui.d.ts +14 -0
  66. package/dist/resources/de-de/ui.d.ts.map +1 -1
  67. package/dist/resources/de-de/ui.js +15 -1
  68. package/dist/resources/de-de/ui.js.map +1 -1
  69. package/dist/resources/en-us/apiDocs.d.ts +101 -0
  70. package/dist/resources/en-us/apiDocs.d.ts.map +1 -0
  71. package/dist/resources/en-us/apiDocs.js +101 -0
  72. package/dist/resources/en-us/apiDocs.js.map +1 -0
  73. package/dist/resources/en-us/common.d.ts +35 -55
  74. package/dist/resources/en-us/common.d.ts.map +1 -1
  75. package/dist/resources/en-us/common.js +42 -62
  76. package/dist/resources/en-us/common.js.map +1 -1
  77. package/dist/resources/en-us/studio.d.ts +369 -5
  78. package/dist/resources/en-us/studio.d.ts.map +1 -1
  79. package/dist/resources/en-us/studio.js +379 -15
  80. package/dist/resources/en-us/studio.js.map +1 -1
  81. package/dist/resources/en-us/ui.d.ts +14 -0
  82. package/dist/resources/en-us/ui.d.ts.map +1 -1
  83. package/dist/resources/en-us/ui.js +15 -1
  84. package/dist/resources/en-us/ui.js.map +1 -1
  85. package/dist/resources/fr-fr/apiDocs.d.ts +101 -0
  86. package/dist/resources/fr-fr/apiDocs.d.ts.map +1 -0
  87. package/dist/resources/fr-fr/apiDocs.js +101 -0
  88. package/dist/resources/fr-fr/apiDocs.js.map +1 -0
  89. package/dist/resources/fr-fr/common.d.ts +35 -55
  90. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  91. package/dist/resources/fr-fr/common.js +42 -62
  92. package/dist/resources/fr-fr/common.js.map +1 -1
  93. package/dist/resources/fr-fr/studio.d.ts +369 -5
  94. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  95. package/dist/resources/fr-fr/studio.js +379 -15
  96. package/dist/resources/fr-fr/studio.js.map +1 -1
  97. package/dist/resources/fr-fr/ui.d.ts +14 -0
  98. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  99. package/dist/resources/fr-fr/ui.js +15 -1
  100. package/dist/resources/fr-fr/ui.js.map +1 -1
  101. package/dist/resources/index.d.ts.map +1 -1
  102. package/dist/resources/index.js +2 -0
  103. package/dist/resources/index.js.map +1 -1
  104. package/dist/resources/lazy.d.ts.map +1 -1
  105. package/dist/resources/lazy.js +8 -0
  106. package/dist/resources/lazy.js.map +1 -1
  107. package/dist/resources/namespaces.d.ts +5 -4
  108. package/dist/resources/namespaces.d.ts.map +1 -1
  109. package/dist/resources/namespaces.js +11 -2
  110. package/dist/resources/namespaces.js.map +1 -1
  111. package/dist/resources/zh-cn/apiDocs.d.ts +101 -0
  112. package/dist/resources/zh-cn/apiDocs.d.ts.map +1 -0
  113. package/dist/resources/zh-cn/apiDocs.js +101 -0
  114. package/dist/resources/zh-cn/apiDocs.js.map +1 -0
  115. package/dist/resources/zh-cn/common.d.ts +35 -55
  116. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  117. package/dist/resources/zh-cn/common.js +42 -62
  118. package/dist/resources/zh-cn/common.js.map +1 -1
  119. package/dist/resources/zh-cn/studio.d.ts +369 -5
  120. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  121. package/dist/resources/zh-cn/studio.js +379 -15
  122. package/dist/resources/zh-cn/studio.js.map +1 -1
  123. package/dist/resources/zh-cn/ui.d.ts +14 -0
  124. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  125. package/dist/resources/zh-cn/ui.js +15 -1
  126. package/dist/resources/zh-cn/ui.js.map +1 -1
  127. package/dist/resources/zh-tw/apiDocs.d.ts +101 -0
  128. package/dist/resources/zh-tw/apiDocs.d.ts.map +1 -0
  129. package/dist/resources/zh-tw/apiDocs.js +101 -0
  130. package/dist/resources/zh-tw/apiDocs.js.map +1 -0
  131. package/dist/resources/zh-tw/common.d.ts +35 -55
  132. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  133. package/dist/resources/zh-tw/common.js +42 -62
  134. package/dist/resources/zh-tw/common.js.map +1 -1
  135. package/dist/resources/zh-tw/studio.d.ts +369 -5
  136. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  137. package/dist/resources/zh-tw/studio.js +379 -15
  138. package/dist/resources/zh-tw/studio.js.map +1 -1
  139. package/dist/resources/zh-tw/ui.d.ts +14 -0
  140. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  141. package/dist/resources/zh-tw/ui.js +15 -1
  142. package/dist/resources/zh-tw/ui.js.map +1 -1
  143. package/dist/review-status.js +7 -7
  144. package/locales/ar-EG/.meta.json +1395 -155
  145. package/locales/ar-EG/apiDocs.json +90 -0
  146. package/locales/ar-EG/common.json +42 -62
  147. package/locales/ar-EG/studio.json +379 -15
  148. package/locales/ar-EG/ui.json +15 -1
  149. package/locales/cs-CZ/.meta.json +1395 -155
  150. package/locales/cs-CZ/apiDocs.json +90 -0
  151. package/locales/cs-CZ/common.json +42 -62
  152. package/locales/cs-CZ/studio.json +379 -15
  153. package/locales/cs-CZ/ui.json +15 -1
  154. package/locales/da-DK/.meta.json +1396 -156
  155. package/locales/da-DK/apiDocs.json +90 -0
  156. package/locales/da-DK/common.json +42 -62
  157. package/locales/da-DK/studio.json +379 -15
  158. package/locales/da-DK/ui.json +15 -1
  159. package/locales/de-DE/.meta.json +1395 -155
  160. package/locales/de-DE/apiDocs.json +90 -0
  161. package/locales/de-DE/common.json +42 -62
  162. package/locales/de-DE/studio.json +379 -15
  163. package/locales/de-DE/ui.json +15 -1
  164. package/locales/en-US/apiDocs.json +90 -0
  165. package/locales/en-US/common.json +42 -62
  166. package/locales/en-US/studio.json +379 -15
  167. package/locales/en-US/ui.json +15 -1
  168. package/locales/fr-FR/.meta.json +1394 -154
  169. package/locales/fr-FR/apiDocs.json +90 -0
  170. package/locales/fr-FR/common.json +42 -62
  171. package/locales/fr-FR/studio.json +379 -15
  172. package/locales/fr-FR/ui.json +15 -1
  173. package/locales/zh-CN/.meta.json +1397 -157
  174. package/locales/zh-CN/apiDocs.json +90 -0
  175. package/locales/zh-CN/common.json +42 -62
  176. package/locales/zh-CN/studio.json +379 -15
  177. package/locales/zh-CN/ui.json +15 -1
  178. package/locales/zh-TW/.meta.json +1395 -155
  179. package/locales/zh-TW/apiDocs.json +90 -0
  180. package/locales/zh-TW/common.json +42 -62
  181. package/locales/zh-TW/studio.json +379 -15
  182. package/locales/zh-TW/ui.json +15 -1
  183. package/package.json +1 -1
@@ -408,6 +408,14 @@ declare const _default: {
408
408
  readonly updated: "When a row changes";
409
409
  };
410
410
  readonly unbound: "Still to fill: {slots}";
411
+ readonly deleteConfirm: {
412
+ readonly title: "Delete this mapping?";
413
+ readonly body: "The rule that fires it goes too, and documents already drawn from it lose their link back. This cannot be undone.";
414
+ readonly prompt: "Type {name} to confirm";
415
+ readonly confirm: "Delete mapping";
416
+ };
417
+ readonly deleteFailed: "The mapping was not deleted";
418
+ readonly loadFailed: "The mappings could not be loaded";
411
419
  };
412
420
  readonly enrich: {
413
421
  readonly byo: {
@@ -463,6 +471,8 @@ declare const _default: {
463
471
  };
464
472
  readonly fileBody: "Schema-file sources have no snapshot to enrich yet. Connect a live database to use AI enrichment, or continue — the heuristic baseline still generates a complete app.";
465
473
  readonly fileTitle: "AI enrichment needs a live database";
474
+ readonly noTablesBody: "This database has no tables yet, so there is nothing for AI to label or group. Continue — once tables exist, you can run AI enrichment any time from Settings → AI.";
475
+ readonly noTablesTitle: "No tables to enrich";
466
476
  readonly generatePrompt: "Generate prompt";
467
477
  readonly intentLabel: "How would you like to enrich?";
468
478
  readonly localeLocked: "(required)";
@@ -528,6 +538,9 @@ declare const _default: {
528
538
  readonly successBody: "{pages} pages across {groups} navigation groups — generated from your schema, editable in Studio.";
529
539
  readonly successTitle: "Your dashboard is ready";
530
540
  readonly title: "Generate your app";
541
+ readonly blankBody: "Nothing was generated, exactly as you asked. Build your first page from this connection whenever you are ready.";
542
+ readonly blankTitle: "Your connection is ready";
543
+ readonly createPage: "Create a page";
531
544
  };
532
545
  readonly hostedApps: {
533
546
  readonly browse: {
@@ -611,6 +624,7 @@ declare const _default: {
611
624
  readonly ddl: "DDL preview";
612
625
  readonly ddlNote: "Illustrative. The server emits the exact statement for your engine, including foreign keys.";
613
626
  readonly summary: "{created} created · {reused} reused";
627
+ readonly pageWarnings: "Some of this app’s pages will arrive without a table";
614
628
  };
615
629
  readonly done: {
616
630
  readonly title: "Installed";
@@ -659,6 +673,8 @@ declare const _default: {
659
673
  readonly missing: "Missing";
660
674
  readonly missingBody: "Its files are not on this server, so it is not served. Install the same version again, or uninstall it.";
661
675
  readonly update: "Update";
676
+ readonly discardFailed: "The upload was not discarded";
677
+ readonly uninstallFailed: "The app was not uninstalled";
662
678
  };
663
679
  readonly instances: {
664
680
  readonly add: "Add an instance";
@@ -715,6 +731,16 @@ declare const _default: {
715
731
  readonly title: "This deployment cannot browse online";
716
732
  readonly body: "The setting is saved, but network features are off for this server and that wins. Installed apps keep working, and you can still upload one yourself.";
717
733
  };
734
+ readonly columns: {
735
+ readonly title: "Update {app} to v{version}";
736
+ readonly subtitle: "This version needs columns that tables in your database do not have yet.";
737
+ readonly body: "Adminium can add them for you. You will see the exact statement before anything runs, nothing is removed, and the app is updated only once the columns exist.";
738
+ readonly alsoCreates: "The update also creates these tables:";
739
+ readonly noDdl: "Adminium cannot add these columns here";
740
+ readonly failed: "The columns could not be added";
741
+ readonly valuesFailed: "The columns were added, but their allowed values could not be recorded";
742
+ readonly confirm: "Add the columns and update";
743
+ };
718
744
  };
719
745
  readonly hub: {
720
746
  readonly action: {
@@ -753,6 +779,11 @@ declare const _default: {
753
779
  readonly prompt: "Type {name} to confirm";
754
780
  readonly success: "Connection “{name}” deleted";
755
781
  readonly title: "Delete connection";
782
+ readonly forbidden: "Your role does not include managing connections, so this one was not deleted.";
783
+ readonly liveKeys: {
784
+ readonly body: "Pages built on these keys would stop working. Revoke them on the Public API page first, then delete the connection.";
785
+ readonly title: "Publishable keys still use this connection";
786
+ };
756
787
  };
757
788
  readonly empty: {
758
789
  readonly body: "Connect a database and Adminium generates your admin panel from its schema.";
@@ -843,6 +874,10 @@ declare const _default: {
843
874
  };
844
875
  readonly title: "What do you need?";
845
876
  readonly trust: "We read your schema only — never your row data during setup.";
877
+ readonly blank: {
878
+ readonly description: "Generate nothing. Connect a database and build the pages you want, one at a time.";
879
+ readonly title: "Blank canvas";
880
+ };
846
881
  };
847
882
  readonly llmRuns: {
848
883
  readonly review: {
@@ -1163,6 +1198,7 @@ declare const _default: {
1163
1198
  readonly confirm: "Delete page";
1164
1199
  readonly prompt: "Type {slug} to confirm";
1165
1200
  readonly title: "Delete this page?";
1201
+ readonly failed: "The page was not deleted";
1166
1202
  };
1167
1203
  readonly derived: {
1168
1204
  readonly add: "Add column";
@@ -1246,8 +1282,10 @@ declare const _default: {
1246
1282
  readonly slugTaken: "Another page already uses this address.";
1247
1283
  readonly slugWarning: "Changing the address breaks existing links and bookmarks to this page.";
1248
1284
  readonly table: "Table";
1249
- readonly tableCreateHint: "The table this page reads. You can bind it later.";
1285
+ readonly tableChoose: "Choose a table…";
1286
+ readonly tableCreateHint: "The table this page reads.";
1250
1287
  readonly tableNeedsConnection: "Pick a data source first.";
1288
+ readonly tableNoConnection: "Connect a database first — this page is built from one of its tables.";
1251
1289
  readonly tableNone: "Not bound";
1252
1290
  readonly template: "Template";
1253
1291
  readonly templateHint: "Decides what the page can hold. You can change it later.";
@@ -1271,6 +1309,69 @@ declare const _default: {
1271
1309
  readonly title: "Filters";
1272
1310
  readonly up: "Move {column} up";
1273
1311
  };
1312
+ readonly fit: {
1313
+ readonly alternatives: {
1314
+ readonly title: "Use a table that already fits";
1315
+ readonly help: "Nothing is written to your database — this only points the page at a table that already has what it needs.";
1316
+ readonly use: "Use this table";
1317
+ };
1318
+ readonly checkFailed: "Adminium could not check this table";
1319
+ readonly checkFailedBody: "You can still create the page. If the table cannot back it, creating it will say so.";
1320
+ readonly columns: {
1321
+ readonly title: "Add what is missing to this table";
1322
+ readonly help: "Adminium adds these columns to your table. You will see the exact statement before anything runs, and nothing is removed.";
1323
+ readonly review: "Review the change";
1324
+ readonly confirm: "Run it";
1325
+ readonly failed: "That did not work";
1326
+ readonly partial: "One thing this page needs cannot be added for you, so it will still be incomplete afterwards.";
1327
+ readonly cannot: "Adminium cannot add this one for you";
1328
+ readonly cannotBody: "This page needs a link to another table, which has to be set up in Studio → Schema.";
1329
+ readonly halfDone: "The columns were added, but Adminium could not record what they mean";
1330
+ readonly halfDoneBody: "Nothing needs running again — the columns exist. Set their meaning in Studio → Schema, or ask an administrator to.";
1331
+ };
1332
+ readonly needs: "To build this page, the table needs:";
1333
+ readonly noDdl: "Adminium cannot change this table for you";
1334
+ readonly role: {
1335
+ readonly eventDate: "a date on each row";
1336
+ readonly title: "a text column to show as each row’s title";
1337
+ readonly status: "a status column whose values read as workflow states";
1338
+ readonly personFk: "a link to a table of people";
1339
+ readonly shiftType: "a column saying which kind of shift each row is";
1340
+ };
1341
+ readonly slotOnly: "Nothing on this table can fill its “{slot}” area.";
1342
+ readonly tag: {
1343
+ readonly title: "Use a column you already have";
1344
+ readonly help: "This only records what the column means. Your database is not changed, and you can undo it in Studio → Schema.";
1345
+ readonly action: "Use this column";
1346
+ readonly failed: "That column could not be marked";
1347
+ };
1348
+ readonly title: "This table cannot back this page yet";
1349
+ readonly table: {
1350
+ readonly title: "Start a new table for this page";
1351
+ readonly help: "Adminium creates a table with everything this page needs. You will see the exact statement before anything runs, and your other tables are not touched.";
1352
+ readonly open: "Or start a new table for this page";
1353
+ readonly name: "Table name";
1354
+ readonly nameTaken: "A table with this name already exists.";
1355
+ readonly nameInvalid: "Use lowercase letters, numbers and underscores, starting with a letter.";
1356
+ readonly people: "Assign each row to someone from";
1357
+ readonly peopleNew: "A new table of people";
1358
+ readonly peopleCreated: "Also creates “{table}”, a small table of the people rows are assigned to.";
1359
+ readonly noCompose: "A table under this name would not work for this page. Try another name.";
1360
+ readonly confirm: "Create the table";
1361
+ readonly noDdl: "Adminium cannot create a table here";
1362
+ readonly halfDone: "The table was created, but Adminium could not record what its columns mean";
1363
+ readonly halfDoneBody: "Nothing needs running again — the table exists. Set its columns’ meaning in Studio → Schema, or ask an administrator to.";
1364
+ readonly notReread: "The table was created, but Adminium could not read it back yet";
1365
+ readonly notRereadBody: "Nothing needs running again. Refresh the schema from Studio → Data connections, then choose the new table here.";
1366
+ };
1367
+ readonly related: {
1368
+ readonly title: "Use the dates of a linked table";
1369
+ readonly help: "Nothing is written to your database. The page is built on a table linked to this one, and each entry shows a name from this table.";
1370
+ readonly reason: "Dates from “{date}”, each titled with “{title}” through “{via}”";
1371
+ readonly chosen: "Built on {table}, each entry titled with “{title}” from {from}";
1372
+ readonly undo: "Go back to {table}";
1373
+ };
1374
+ };
1274
1375
  readonly form: {
1275
1376
  readonly addLines: "{label} as lines";
1276
1377
  readonly dialog: {
@@ -1475,6 +1576,7 @@ declare const _default: {
1475
1576
  readonly page: "Page (1080px)";
1476
1577
  readonly wide: "Wide (1800px)";
1477
1578
  };
1579
+ readonly toggleFailed: "The page was not changed";
1478
1580
  };
1479
1581
  readonly project: {
1480
1582
  readonly actions: {
@@ -1588,7 +1690,6 @@ declare const _default: {
1588
1690
  readonly connectionLabel: "Connection ID";
1589
1691
  readonly create: "Create scope";
1590
1692
  readonly delete: "Delete";
1591
- readonly deleteBody: "Any page using a key bound to this scope stops loading data. Keys are not deleted — revoke them first if that is what you meant.";
1592
1693
  readonly deleteConfirm: "Delete scope";
1593
1694
  readonly deletePrompt: "Type the scope name to confirm";
1594
1695
  readonly deleteTitle: "Delete this scope";
@@ -1602,6 +1703,11 @@ declare const _default: {
1602
1703
  readonly nameLabel: "Name";
1603
1704
  readonly subtitle: "A scope is the whole of what a key may reach — the tables, the exact columns, and a filter the caller can narrow but never remove.";
1604
1705
  readonly title: "Scopes";
1706
+ readonly deleteBodyKeys: "A scope with live keys cannot be deleted. Revoke its keys first. Keys that are already revoked or expired are deleted with the scope.";
1707
+ readonly liveKeys: {
1708
+ readonly body: "Pages built on these keys would stop working. Revoke them in the keys list first, then delete the scope.";
1709
+ readonly title: "Publishable keys still use this scope";
1710
+ };
1605
1711
  };
1606
1712
  readonly status: {
1607
1713
  readonly heading: "Status";
@@ -1916,6 +2022,22 @@ declare const _default: {
1916
2022
  readonly cta: "Open AI settings";
1917
2023
  readonly heading: "AI enrichment";
1918
2024
  };
2025
+ readonly apiCard: {
2026
+ readonly api: {
2027
+ readonly helper: "Serve the endpoints your keys are scoped to. Off, every key stops working at once; nothing is deleted.";
2028
+ readonly label: "Public API";
2029
+ };
2030
+ readonly docs: {
2031
+ readonly helper: "A public page at /api-docs listing the endpoints your live keys can call — staff-level ones included — with their paths, methods and column names, to anyone who can reach this server. It shows no data and no keys.";
2032
+ readonly label: "API documentation page";
2033
+ };
2034
+ readonly failed: "The switch did not change. Try again.";
2035
+ readonly heading: "Public API";
2036
+ readonly notRegistered: {
2037
+ readonly body: "Set ADMINIUM_PUBLIC_API_ORIGINS and restart. Until then these switches change nothing.";
2038
+ readonly title: "Not enabled on this server";
2039
+ };
2040
+ };
1919
2041
  readonly danger: {
1920
2042
  readonly deleteCta: "Delete connection";
1921
2043
  readonly deleteDesc: "Deletes the connection and its generated pages. Your database is not touched. Cannot be undone.";
@@ -2020,9 +2142,9 @@ declare const _default: {
2020
2142
  readonly heading: "Project";
2021
2143
  };
2022
2144
  readonly publicApiCard: {
2023
- readonly body: "Let your own customer- or staff-facing pages read this database, through a scope you define.";
2024
- readonly cta: "Open public API";
2025
- readonly heading: "Public API";
2145
+ readonly body: "Create endpoints and the keys that may call them.";
2146
+ readonly cta: "Open API keys";
2147
+ readonly heading: "API keys";
2026
2148
  };
2027
2149
  readonly review: {
2028
2150
  readonly cancel: "Cancel";
@@ -2265,7 +2387,10 @@ declare const _default: {
2265
2387
  readonly usedBytes: "{size} used";
2266
2388
  };
2267
2389
  readonly tables: {
2390
+ readonly emptyBody: "This database has no tables yet. You can still continue — once you create tables, use Re-introspect on this connection to bring them in.";
2391
+ readonly emptyFileBody: "This schema file defines no tables. Go back and upload a different file, or continue anyway.";
2268
2392
  readonly emptyFilter: "No tables match your filter.";
2393
+ readonly emptyTitle: "No tables found";
2269
2394
  readonly highVolume: "high volume";
2270
2395
  readonly highVolumeNote: "Tables over 100,000 rows start unchecked — ops tables rarely belong in a dashboard.";
2271
2396
  readonly importNoCounts: "Schema files carry no row counts — the column shows — until a live database is connected.";
@@ -2339,6 +2464,7 @@ declare const _default: {
2339
2464
  readonly source: "Source";
2340
2465
  readonly tables: "Tables";
2341
2466
  readonly test: "Analyze";
2467
+ readonly finish: "Finish";
2342
2468
  };
2343
2469
  readonly title: "New connection";
2344
2470
  };
@@ -2391,6 +2517,244 @@ declare const _default: {
2391
2517
  readonly values: "Values";
2392
2518
  readonly view: "View";
2393
2519
  };
2520
+ readonly apiKeys: {
2521
+ readonly banner: {
2522
+ readonly bodyOnce: "Copy it now — you won't be able to see it again. Scoped to {summary}.";
2523
+ readonly bodyRevealable: "Copy it now — you can reveal it again from the list below. Scoped to {summary}.";
2524
+ readonly copied: "Copied";
2525
+ readonly copy: "Copy";
2526
+ readonly titleNamed: "{name} created";
2527
+ };
2528
+ readonly builder: {
2529
+ readonly auth: {
2530
+ readonly anon: "Anon";
2531
+ readonly authenticated: "Authenticated";
2532
+ readonly label: "Auth requirement";
2533
+ readonly service: "Service role";
2534
+ };
2535
+ readonly cancel: "Cancel";
2536
+ readonly columns: {
2537
+ readonly all: "All";
2538
+ readonly label: "Exposed columns";
2539
+ readonly none: "None";
2540
+ };
2541
+ readonly create: "Create endpoint";
2542
+ readonly delete: "Delete endpoint";
2543
+ readonly deleteRefused: "{count, plural, one {# key still uses} other {# keys still use}} this endpoint: {names}.";
2544
+ readonly filters: {
2545
+ readonly add: "Add";
2546
+ readonly empty: "No filters — every row of the source is reachable.";
2547
+ readonly label: "Default filters";
2548
+ readonly remove: "Remove filter";
2549
+ readonly value: "value";
2550
+ };
2551
+ readonly footer: {
2552
+ readonly applyFirst: "Apply or revert the edited definition first.";
2553
+ };
2554
+ readonly methodUnsupported: "This source cannot support {method}: it has no primary key.";
2555
+ readonly methods: "Methods";
2556
+ readonly op: {
2557
+ readonly between: "between";
2558
+ readonly eq: "equals";
2559
+ readonly gt: "greater than";
2560
+ readonly gte: "at least";
2561
+ readonly ilike: "contains (any case)";
2562
+ readonly in: "in list";
2563
+ readonly is_null: "is empty";
2564
+ readonly like: "contains";
2565
+ readonly lt: "less than";
2566
+ readonly lte: "at most";
2567
+ readonly neq: "not equals";
2568
+ readonly not_null: "is not empty";
2569
+ };
2570
+ readonly paging: {
2571
+ readonly asc: "Asc";
2572
+ readonly defaultLimit: "Default limit";
2573
+ readonly desc: "Desc";
2574
+ readonly label: "Pagination & sorting";
2575
+ readonly maxLimit: "Max limit";
2576
+ readonly orderBy: "Order by";
2577
+ };
2578
+ readonly pane: {
2579
+ readonly apply: "Apply to form";
2580
+ readonly dirty: "edited — not applied";
2581
+ readonly format: "Format";
2582
+ readonly label: "Route definition, JSON";
2583
+ readonly more: "{first} (+{n} more)";
2584
+ readonly revert: "Revert";
2585
+ readonly synced: "synced with form";
2586
+ readonly title: "Route definition";
2587
+ };
2588
+ readonly rate: {
2589
+ readonly hour: "hour";
2590
+ readonly label: "Rate limit & response";
2591
+ readonly minute: "minute";
2592
+ readonly per: "Per";
2593
+ readonly requests: "Requests";
2594
+ readonly second: "second";
2595
+ };
2596
+ readonly refused: {
2597
+ readonly keys: "Saving this would break {count, plural, one {# key} other {# keys}}: {names}.";
2598
+ };
2599
+ readonly route: "Route";
2600
+ readonly routePlaceholder: "customers";
2601
+ readonly routeRename: "Callers must switch to the new path.";
2602
+ readonly save: "Save changes";
2603
+ readonly shape: {
2604
+ readonly array: "Bare array";
2605
+ readonly label: "Response shape";
2606
+ readonly single: "Single object";
2607
+ readonly wrapped: "Wrapped in '{' data '}'";
2608
+ };
2609
+ readonly source: "Source table or view";
2610
+ readonly subtitle: "Configure it visually — Adminium writes the route definition for you";
2611
+ readonly titleEdit: "Edit endpoint";
2612
+ readonly titleNew: "New endpoint";
2613
+ };
2614
+ readonly connection: {
2615
+ readonly label: "Connection";
2616
+ };
2617
+ readonly create: "Create key";
2618
+ readonly endpoints: {
2619
+ readonly col: {
2620
+ readonly auth: "Auth";
2621
+ readonly methods: "Methods";
2622
+ readonly rate: "Rate limit";
2623
+ readonly route: "Route";
2624
+ };
2625
+ readonly custom: "CUSTOM";
2626
+ readonly edit: "Edit endpoint";
2627
+ readonly explore: "Explore API";
2628
+ readonly new: "New endpoint";
2629
+ readonly subtitle: "Generated from your schema. Keys are scoped to these.";
2630
+ readonly title: "Endpoints";
2631
+ readonly unavailable: "UNAVAILABLE";
2632
+ };
2633
+ readonly keys: {
2634
+ readonly col: {
2635
+ readonly access: "Access";
2636
+ readonly actions: "Actions";
2637
+ readonly key: "Key";
2638
+ readonly lastUsed: "Last used";
2639
+ readonly name: "Name";
2640
+ };
2641
+ readonly count: "{n, plural, one {# key} other {# keys}}";
2642
+ readonly empty: "No active keys. Create one to get started.";
2643
+ readonly hide: "Hide key";
2644
+ readonly kind: {
2645
+ readonly browser: "BROWSER";
2646
+ readonly server: "SERVER";
2647
+ };
2648
+ readonly never: "Never";
2649
+ readonly reveal: "Reveal key";
2650
+ readonly revoke: "Revoke";
2651
+ readonly revokeConfirm: {
2652
+ readonly body: "Anything using this key stops working at once. This cannot be undone.";
2653
+ readonly confirm: "Revoke key";
2654
+ readonly prompt: "Type “{name}” to confirm";
2655
+ readonly title: "Revoke {name}?";
2656
+ };
2657
+ readonly revokeFailed: "That key could not be revoked. It is still active.";
2658
+ readonly title: "Active keys";
2659
+ readonly untitled: "Untitled key";
2660
+ };
2661
+ readonly method: {
2662
+ readonly BATCH: {
2663
+ readonly desc: "Bulk insert or upsert, up to 500 rows";
2664
+ readonly title: "Batch";
2665
+ };
2666
+ readonly DELETE: {
2667
+ readonly desc: "Remove a row by primary key";
2668
+ readonly title: "Delete";
2669
+ };
2670
+ readonly GET: {
2671
+ readonly desc: "List rows and fetch a single record";
2672
+ readonly title: "Read";
2673
+ };
2674
+ readonly PATCH: {
2675
+ readonly desc: "Partial update of a row by primary key";
2676
+ readonly title: "Update";
2677
+ };
2678
+ readonly POST: {
2679
+ readonly desc: "Insert a new row";
2680
+ readonly title: "Create";
2681
+ };
2682
+ readonly PUT: {
2683
+ readonly desc: "Replace a full row by primary key";
2684
+ readonly title: "Replace";
2685
+ };
2686
+ };
2687
+ readonly note: {
2688
+ readonly notRegistered: "The public API is not enabled on this server. Set ADMINIUM_PUBLIC_API_ORIGINS and restart — keys made here will work from then on.";
2689
+ readonly off: "The public API is switched off, so no key works right now.";
2690
+ readonly offLink: "Open Workspace settings";
2691
+ };
2692
+ readonly quick: {
2693
+ readonly body: "Authenticate requests with your key in the Authorization header.";
2694
+ readonly title: "Quick start";
2695
+ };
2696
+ readonly sheet: {
2697
+ readonly allMethods: "Select all methods";
2698
+ readonly app: {
2699
+ readonly label: "App";
2700
+ readonly none: "None";
2701
+ };
2702
+ readonly cancel: "Cancel";
2703
+ readonly clear: "Clear";
2704
+ readonly close: "Close";
2705
+ readonly count: "{permissions, plural, one {permission} other {permissions}} on {endpoints, plural, one {# endpoint} other {# endpoints}}";
2706
+ readonly deselectAll: "Deselect all";
2707
+ readonly edit: "Edit endpoint";
2708
+ readonly expires: {
2709
+ readonly d30: "30 days";
2710
+ readonly d90: "90 days";
2711
+ readonly label: "Expires";
2712
+ readonly never: "Never";
2713
+ };
2714
+ readonly filter: "Filter endpoints";
2715
+ readonly focusMeta: "{source} · {rows} rows · limit {limit}, order {order}";
2716
+ readonly focusMetaNoRows: "{source} · limit {limit}, order {order}";
2717
+ readonly footer: {
2718
+ readonly empty: "Select at least one method to create a key.";
2719
+ readonly more: "+{n} more";
2720
+ readonly refused: "This key cannot be created yet: {issue}";
2721
+ readonly summary: "This key will be able to call {paths}";
2722
+ };
2723
+ readonly kind: {
2724
+ readonly browser: "Browser";
2725
+ readonly label: "Used from";
2726
+ readonly server: "Server";
2727
+ };
2728
+ readonly layout: {
2729
+ readonly label: "Layout";
2730
+ readonly list: "List";
2731
+ readonly panes: "Panes";
2732
+ };
2733
+ readonly name: {
2734
+ readonly label: "Key name";
2735
+ readonly placeholder: "e.g. Orders sync worker";
2736
+ };
2737
+ readonly newEndpoint: "New endpoint";
2738
+ readonly readOnly: "Read-only preset";
2739
+ readonly rowMeta: "{source} · {rows} rows";
2740
+ readonly rowMetaNoRows: "{source}";
2741
+ readonly selectAll: "Select all";
2742
+ readonly selectAllShort: "Select all";
2743
+ readonly submit: "Create key";
2744
+ readonly subtitle: "Pick the endpoints and methods this key may call";
2745
+ readonly title: "Create API key";
2746
+ readonly toggleAll: "Toggle all methods";
2747
+ readonly unsupported: "{count, plural, one {{methods} is not exposed on this route. Edit the endpoint to enable it.} other {{methods} are not exposed on this route. Edit the endpoint to enable them.}}";
2748
+ };
2749
+ readonly stats: {
2750
+ readonly endpoints: "Endpoints";
2751
+ readonly keys: "Active keys";
2752
+ readonly requests: "Requests · 24h";
2753
+ };
2754
+ readonly subtitle: "Manage programmatic access to your workspace";
2755
+ readonly summary: "{endpoints, plural, one {# endpoint} other {# endpoints}} · {methods, plural, one {# method} other {# methods}}";
2756
+ readonly title: "API keys & tokens";
2757
+ };
2394
2758
  };
2395
2759
  export default _default;
2396
2760
  //# sourceMappingURL=studio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/resources/en-us/studio.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBAg1EW"}
1
+ {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/resources/en-us/studio.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBA4rFW"}