@fivenet-app/gen 2025.9.1 → 2026.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.
Files changed (131) hide show
  1. package/README.md +1 -1
  2. package/clients.ts +36 -0
  3. package/codegen/perms/perms.ts +94 -15
  4. package/codegen/sanitizer/sanitizer.ts +34 -1
  5. package/package.json +2 -2
  6. package/perms.ts +137 -6
  7. package/resources/accounts/accounts.ts +98 -31
  8. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +20 -20
  9. package/resources/audit/audit.ts +156 -38
  10. package/resources/calendar/{access.ts → access/access.ts} +30 -30
  11. package/resources/calendar/calendar.ts +17 -477
  12. package/resources/calendar/entries/entries.ts +474 -0
  13. package/resources/centrum/{access.ts → access/access.ts} +22 -22
  14. package/resources/centrum/{dispatchers.ts → dispatchers/dispatchers.ts} +14 -14
  15. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +151 -185
  16. package/resources/centrum/joblist.ts +136 -0
  17. package/resources/centrum/{settings.ts → settings/settings.ts} +69 -69
  18. package/resources/centrum/{units_access.ts → units/access/access.ts} +30 -30
  19. package/resources/centrum/{units.ts → units/units.ts} +131 -51
  20. package/resources/clientconfig/clientconfig.ts +159 -34
  21. package/resources/collab/collab.ts +4 -16
  22. package/resources/common/content/content.ts +108 -85
  23. package/resources/common/content/diff_activity.ts +267 -0
  24. package/resources/common/i18n.ts +2 -2
  25. package/resources/{common/cron → cron}/cron.ts +41 -41
  26. package/resources/documents/{access.ts → access/access.ts} +30 -30
  27. package/resources/documents/{activity.ts → activity/activity.ts} +171 -123
  28. package/resources/documents/approval/approval.ts +945 -0
  29. package/resources/documents/{category.ts → category/category.ts} +7 -7
  30. package/resources/documents/{comment.ts → comment/comment.ts} +10 -10
  31. package/resources/documents/data/data.ts +303 -0
  32. package/resources/documents/documents.ts +282 -667
  33. package/resources/{common/uuid.ts → documents/forms/forms.ts} +20 -20
  34. package/resources/documents/{pins.ts → pins/pins.ts} +5 -5
  35. package/resources/documents/references/references.ts +187 -0
  36. package/resources/documents/relations/relations.ts +184 -0
  37. package/resources/documents/{requests.ts → requests/requests.ts} +18 -18
  38. package/resources/documents/stamps/stamp.ts +355 -0
  39. package/resources/documents/{templates.ts → templates/templates.ts} +426 -84
  40. package/resources/documents/{workflow.ts → workflow/workflow.ts} +264 -26
  41. package/resources/file/filestore.ts +1 -1
  42. package/resources/{common/grpcws → grpcws}/grpcws.ts +52 -52
  43. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +54 -54
  44. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +17 -28
  45. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +70 -45
  46. package/resources/jobs/{labels.ts → labels/labels.ts} +18 -18
  47. package/resources/jobs/{job_props.ts → props/props.ts} +26 -38
  48. package/resources/jobs/{job_settings.ts → settings/settings.ts} +53 -53
  49. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +17 -17
  50. package/resources/livemap/{heatmap.ts → heatmap/heatmap.ts} +4 -4
  51. package/resources/livemap/{marker_marker.ts → markers/marker_marker.ts} +35 -35
  52. package/resources/livemap/{user_marker.ts → markers/user_marker.ts} +115 -36
  53. package/resources/mailer/{access.ts → access/access.ts} +67 -67
  54. package/resources/mailer/{email.ts → emails/email.ts} +19 -19
  55. package/resources/mailer/{events.ts → events/events.ts} +24 -24
  56. package/resources/mailer/{message.ts → messages/message.ts} +29 -29
  57. package/resources/mailer/{settings.ts → settings/settings.ts} +14 -13
  58. package/resources/mailer/{template.ts → templates/template.ts} +15 -15
  59. package/resources/mailer/{thread.ts → threads/thread.ts} +29 -29
  60. package/resources/notifications/{client_view.ts → clientview/clientview.ts} +22 -22
  61. package/resources/notifications/{events.ts → events/events.ts} +20 -20
  62. package/resources/notifications/notifications.ts +4 -4
  63. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +42 -42
  64. package/resources/permissions/{events.ts → events/events.ts} +7 -7
  65. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +30 -19
  66. package/resources/qualifications/{access.ts → access/access.ts} +19 -19
  67. package/resources/qualifications/{exam.ts → exam/exam.ts} +269 -141
  68. package/resources/qualifications/qualifications.ts +51 -179
  69. package/resources/settings/banner.ts +3 -3
  70. package/resources/settings/config.ts +514 -14
  71. package/resources/{documents/state.ts → settings/data.ts} +41 -20
  72. package/resources/settings/perms.ts +14 -14
  73. package/resources/stats/stats.ts +379 -0
  74. package/resources/sync/{activity.ts → activity/activity.ts} +104 -25
  75. package/resources/sync/{data.ts → data/data.ts} +404 -58
  76. package/resources/sync/data/v2/data.ts +220 -0
  77. package/resources/userinfo/{user_info.ts → userinfo.ts} +71 -93
  78. package/resources/users/{activity.ts → activity/activity.ts} +121 -100
  79. package/resources/users/{labels.ts → labels/labels.ts} +12 -12
  80. package/resources/users/{licenses.ts → licenses/licenses.ts} +10 -10
  81. package/resources/users/{props.ts → props/props.ts} +91 -69
  82. package/resources/users/short/user.ts +184 -0
  83. package/resources/users/{users.ts → user.ts} +266 -195
  84. package/resources/vehicles/{activity.ts → activity/activity.ts} +20 -20
  85. package/resources/vehicles/{props.ts → props/props.ts} +28 -6
  86. package/resources/vehicles/vehicles.ts +20 -8
  87. package/resources/wiki/{access.ts → access/access.ts} +30 -30
  88. package/resources/wiki/{activity.ts → activity/activity.ts} +104 -70
  89. package/resources/wiki/page.ts +39 -15
  90. package/services/auth/auth.client.ts +23 -10
  91. package/services/auth/auth.ts +445 -262
  92. package/services/calendar/calendar.ts +56 -34
  93. package/services/centrum/centrum.ts +127 -127
  94. package/services/citizens/citizens.ts +51 -27
  95. package/services/completor/completor.ts +35 -15
  96. package/services/documents/approval.client.ts +188 -0
  97. package/services/documents/approval.ts +1776 -0
  98. package/services/documents/documents.ts +163 -185
  99. package/services/documents/forms.client.ts +51 -0
  100. package/services/documents/forms.ts +232 -0
  101. package/services/documents/stamps.client.ts +77 -0
  102. package/services/documents/stamps.ts +481 -0
  103. package/services/documents/stats.client.ts +38 -0
  104. package/services/documents/stats.ts +245 -0
  105. package/services/jobs/conduct.client.ts +30 -3
  106. package/services/jobs/conduct.ts +159 -33
  107. package/services/jobs/jobs.ts +43 -43
  108. package/services/jobs/stats.client.ts +38 -0
  109. package/services/jobs/stats.ts +207 -0
  110. package/services/jobs/timeclock.ts +39 -39
  111. package/services/livemap/livemap.ts +18 -18
  112. package/services/mailer/mailer.ts +78 -78
  113. package/services/notifications/notifications.ts +35 -35
  114. package/services/qualifications/qualifications.ts +80 -45
  115. package/services/settings/accounts.client.ts +23 -10
  116. package/services/settings/accounts.ts +191 -30
  117. package/services/settings/cron.ts +4 -4
  118. package/services/settings/laws.ts +1 -1
  119. package/services/settings/settings.ts +73 -52
  120. package/services/settings/system.client.ts +13 -0
  121. package/services/settings/system.ts +115 -15
  122. package/services/stats/stats.client.ts +7 -7
  123. package/services/stats/stats.ts +24 -24
  124. package/services/sync/sync.ts +124 -77
  125. package/services/sync/v2/sync.client.ts +331 -0
  126. package/services/sync/v2/sync.ts +1766 -0
  127. package/services/vehicles/vehicles.ts +8 -8
  128. package/services/wiki/wiki.ts +8 -8
  129. package/svcs.ts +95 -3
  130. package/resources/centrum/attributes.ts +0 -183
  131. package/resources/documents/signoff.ts +0 -55
@@ -13,6 +13,7 @@ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
14
  import { BannerMessage } from "./banner";
15
15
  import { Duration } from "../../google/protobuf/duration";
16
+ import { Data } from "./data";
16
17
  /**
17
18
  * @generated from protobuf message resources.settings.AppConfig
18
19
  */
@@ -57,6 +58,22 @@ export interface AppConfig {
57
58
  * @generated from protobuf field: resources.settings.Display display = 10
58
59
  */
59
60
  display?: Display;
61
+ /**
62
+ * @generated from protobuf field: resources.settings.QuickButtons quick_buttons = 11
63
+ */
64
+ quickButtons?: QuickButtons;
65
+ /**
66
+ * @generated from protobuf field: resources.settings.Data data = 12
67
+ */
68
+ data?: Data;
69
+ /**
70
+ * @generated from protobuf field: resources.settings.Livemap livemap = 13
71
+ */
72
+ livemap?: Livemap;
73
+ /**
74
+ * @generated from protobuf field: resources.settings.Game game = 14
75
+ */
76
+ game?: Game;
60
77
  }
61
78
  /**
62
79
  * @generated from protobuf message resources.settings.Auth
@@ -242,6 +259,104 @@ export interface Display {
242
259
  */
243
260
  currencyName: string;
244
261
  }
262
+ /**
263
+ * @generated from protobuf message resources.settings.QuickButtons
264
+ */
265
+ export interface QuickButtons {
266
+ /**
267
+ * @generated from protobuf field: resources.settings.PenaltyCalculator penalty_calculator = 1
268
+ */
269
+ penaltyCalculator?: PenaltyCalculator;
270
+ }
271
+ /**
272
+ * @generated from protobuf message resources.settings.PenaltyCalculator
273
+ */
274
+ export interface PenaltyCalculator {
275
+ /**
276
+ * @generated from protobuf field: optional uint32 max_count = 1
277
+ */
278
+ maxCount?: number;
279
+ /**
280
+ * @generated from protobuf field: optional resources.settings.PenaltyCalculatorDetentionTimeUnit detention_time_unit = 2
281
+ */
282
+ detentionTimeUnit?: PenaltyCalculatorDetentionTimeUnit;
283
+ /**
284
+ * @generated from protobuf field: optional resources.settings.PenaltyCalculatorWarn warn_settings = 3
285
+ */
286
+ warnSettings?: PenaltyCalculatorWarn;
287
+ /**
288
+ * @generated from protobuf field: optional uint32 max_leeway = 4
289
+ */
290
+ maxLeeway?: number;
291
+ }
292
+ /**
293
+ * @generated from protobuf message resources.settings.PenaltyCalculatorDetentionTimeUnit
294
+ */
295
+ export interface PenaltyCalculatorDetentionTimeUnit {
296
+ /**
297
+ * @generated from protobuf field: optional string singular = 1
298
+ */
299
+ singular?: string;
300
+ /**
301
+ * @generated from protobuf field: optional string plural = 2
302
+ */
303
+ plural?: string;
304
+ }
305
+ /**
306
+ * @generated from protobuf message resources.settings.PenaltyCalculatorWarn
307
+ */
308
+ export interface PenaltyCalculatorWarn {
309
+ /**
310
+ * @generated from protobuf field: bool enabled = 1
311
+ */
312
+ enabled: boolean;
313
+ /**
314
+ * @generated from protobuf field: optional uint32 fine = 2
315
+ */
316
+ fine?: number;
317
+ /**
318
+ * @generated from protobuf field: optional uint32 detention_time = 3
319
+ */
320
+ detentionTime?: number;
321
+ /**
322
+ * @generated from protobuf field: optional uint32 stvo_points = 4
323
+ */
324
+ stvoPoints?: number;
325
+ /**
326
+ * @generated from protobuf field: optional string warn_message = 5
327
+ */
328
+ warnMessage?: string;
329
+ }
330
+ /**
331
+ * @generated from protobuf message resources.settings.Livemap
332
+ */
333
+ export interface Livemap {
334
+ /**
335
+ * @generated from protobuf field: bool enable_cayo_perico = 1
336
+ */
337
+ enableCayoPerico: boolean;
338
+ }
339
+ /**
340
+ * @generated from protobuf message resources.settings.Game
341
+ */
342
+ export interface Game {
343
+ /**
344
+ * @generated from protobuf field: bool max_wanted_duration_user_enabled = 4
345
+ */
346
+ maxWantedDurationUserEnabled: boolean;
347
+ /**
348
+ * @generated from protobuf field: optional google.protobuf.Duration max_wanted_duration_user = 5
349
+ */
350
+ maxWantedDurationUser?: Duration;
351
+ /**
352
+ * @generated from protobuf field: bool max_wanted_duration_vehicle_enabled = 6
353
+ */
354
+ maxWantedDurationVehicleEnabled: boolean;
355
+ /**
356
+ * @generated from protobuf field: optional google.protobuf.Duration max_wanted_duration_vehicle = 7
357
+ */
358
+ maxWantedDurationVehicle?: Duration;
359
+ }
245
360
  /**
246
361
  * @generated from protobuf enum resources.settings.DiscordBotPresenceType
247
362
  */
@@ -280,7 +395,11 @@ class AppConfig$Type extends MessageType<AppConfig> {
280
395
  { no: 6, name: "user_tracker", kind: "message", T: () => UserTracker },
281
396
  { no: 7, name: "discord", kind: "message", T: () => Discord },
282
397
  { no: 9, name: "system", kind: "message", T: () => System },
283
- { no: 10, name: "display", kind: "message", T: () => Display }
398
+ { no: 10, name: "display", kind: "message", T: () => Display },
399
+ { no: 11, name: "quick_buttons", kind: "message", T: () => QuickButtons },
400
+ { no: 12, name: "data", kind: "message", T: () => Data },
401
+ { no: 13, name: "livemap", kind: "message", T: () => Livemap },
402
+ { no: 14, name: "game", kind: "message", T: () => Game }
284
403
  ], { "codegen.dbscanner.dbscanner": { enabled: true, partial: true } });
285
404
  }
286
405
  create(value?: PartialMessage<AppConfig>): AppConfig {
@@ -325,6 +444,18 @@ class AppConfig$Type extends MessageType<AppConfig> {
325
444
  case /* resources.settings.Display display */ 10:
326
445
  message.display = Display.internalBinaryRead(reader, reader.uint32(), options, message.display);
327
446
  break;
447
+ case /* resources.settings.QuickButtons quick_buttons */ 11:
448
+ message.quickButtons = QuickButtons.internalBinaryRead(reader, reader.uint32(), options, message.quickButtons);
449
+ break;
450
+ case /* resources.settings.Data data */ 12:
451
+ message.data = Data.internalBinaryRead(reader, reader.uint32(), options, message.data);
452
+ break;
453
+ case /* resources.settings.Livemap livemap */ 13:
454
+ message.livemap = Livemap.internalBinaryRead(reader, reader.uint32(), options, message.livemap);
455
+ break;
456
+ case /* resources.settings.Game game */ 14:
457
+ message.game = Game.internalBinaryRead(reader, reader.uint32(), options, message.game);
458
+ break;
328
459
  default:
329
460
  let u = options.readUnknownField;
330
461
  if (u === "throw")
@@ -367,6 +498,18 @@ class AppConfig$Type extends MessageType<AppConfig> {
367
498
  /* resources.settings.Display display = 10; */
368
499
  if (message.display)
369
500
  Display.internalBinaryWrite(message.display, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
501
+ /* resources.settings.QuickButtons quick_buttons = 11; */
502
+ if (message.quickButtons)
503
+ QuickButtons.internalBinaryWrite(message.quickButtons, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
504
+ /* resources.settings.Data data = 12; */
505
+ if (message.data)
506
+ Data.internalBinaryWrite(message.data, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
507
+ /* resources.settings.Livemap livemap = 13; */
508
+ if (message.livemap)
509
+ Livemap.internalBinaryWrite(message.livemap, writer.tag(13, WireType.LengthDelimited).fork(), options).join();
510
+ /* resources.settings.Game game = 14; */
511
+ if (message.game)
512
+ Game.internalBinaryWrite(message.game, writer.tag(14, WireType.LengthDelimited).fork(), options).join();
370
513
  let u = options.writeUnknownFields;
371
514
  if (u !== false)
372
515
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -483,8 +626,8 @@ export const Perms = new Perms$Type();
483
626
  class Perm$Type extends MessageType<Perm> {
484
627
  constructor() {
485
628
  super("resources.settings.Perm", [
486
- { no: 1, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
487
- { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
629
+ { no: 1, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
630
+ { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
488
631
  ]);
489
632
  }
490
633
  create(value?: PartialMessage<Perm>): Perm {
@@ -592,8 +735,8 @@ export const Website = new Website$Type();
592
735
  class Links$Type extends MessageType<Links> {
593
736
  constructor() {
594
737
  super("resources.settings.Links", [
595
- { no: 1, name: "privacy_policy", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
596
- { no: 2, name: "imprint", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
738
+ { no: 1, name: "privacy_policy", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
739
+ { no: 2, name: "imprint", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
597
740
  ]);
598
741
  }
599
742
  create(value?: PartialMessage<Links>): Links {
@@ -646,8 +789,8 @@ class JobInfo$Type extends MessageType<JobInfo> {
646
789
  constructor() {
647
790
  super("resources.settings.JobInfo", [
648
791
  { no: 1, name: "unemployed_job", kind: "message", T: () => UnemployedJob, options: { "buf.validate.field": { required: true } } },
649
- { no: 2, name: "public_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
650
- { no: 3, name: "hidden_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
792
+ { no: 2, name: "public_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
793
+ { no: 3, name: "hidden_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
651
794
  ]);
652
795
  }
653
796
  create(value?: PartialMessage<JobInfo>): JobInfo {
@@ -817,10 +960,10 @@ class Discord$Type extends MessageType<Discord> {
817
960
  super("resources.settings.Discord", [
818
961
  { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
819
962
  { no: 2, name: "sync_interval", kind: "message", T: () => Duration, options: { "buf.validate.field": { required: true, duration: { lt: { seconds: "180000000" }, gte: { seconds: "60" } } } } },
820
- { no: 3, name: "invite_url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
821
- { no: 4, name: "ignored_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
963
+ { no: 3, name: "invite_url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
964
+ { no: 4, name: "ignored_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
822
965
  { no: 5, name: "bot_presence", kind: "message", T: () => DiscordBotPresence },
823
- { no: 6, name: "bot_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
966
+ { no: 6, name: "bot_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
824
967
  { no: 7, name: "bot_permissions", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
825
968
  ]);
826
969
  }
@@ -907,8 +1050,8 @@ class DiscordBotPresence$Type extends MessageType<DiscordBotPresence> {
907
1050
  constructor() {
908
1051
  super("resources.settings.DiscordBotPresence", [
909
1052
  { no: 1, name: "type", kind: "enum", T: () => ["resources.settings.DiscordBotPresenceType", DiscordBotPresenceType, "DISCORD_BOT_PRESENCE_TYPE_"] },
910
- { no: 2, name: "status", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
911
- { no: 3, name: "url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
1053
+ { no: 2, name: "status", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
1054
+ { no: 3, name: "url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
912
1055
  ]);
913
1056
  }
914
1057
  create(value?: PartialMessage<DiscordBotPresence>): DiscordBotPresence {
@@ -1021,8 +1164,8 @@ export const System = new System$Type();
1021
1164
  class Display$Type extends MessageType<Display> {
1022
1165
  constructor() {
1023
1166
  super("resources.settings.Display", [
1024
- { no: 1, name: "intl_locale", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
1025
- { no: 2, name: "currency_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { len: "3" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
1167
+ { no: 1, name: "intl_locale", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true }, "tagger.tags": "json:\"intlLocale\"" } },
1168
+ { no: 2, name: "currency_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { len: "3" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true }, "tagger.tags": "json:\"currencyName\"" } }
1026
1169
  ]);
1027
1170
  }
1028
1171
  create(value?: PartialMessage<Display>): Display {
@@ -1071,3 +1214,360 @@ class Display$Type extends MessageType<Display> {
1071
1214
  * @generated MessageType for protobuf message resources.settings.Display
1072
1215
  */
1073
1216
  export const Display = new Display$Type();
1217
+ // @generated message type with reflection information, may provide speed optimized methods
1218
+ class QuickButtons$Type extends MessageType<QuickButtons> {
1219
+ constructor() {
1220
+ super("resources.settings.QuickButtons", [
1221
+ { no: 1, name: "penalty_calculator", kind: "message", T: () => PenaltyCalculator, options: { "tagger.tags": "json:\"penaltyCalculator\"" } }
1222
+ ]);
1223
+ }
1224
+ create(value?: PartialMessage<QuickButtons>): QuickButtons {
1225
+ const message = globalThis.Object.create((this.messagePrototype!));
1226
+ if (value !== undefined)
1227
+ reflectionMergePartial<QuickButtons>(this, message, value);
1228
+ return message;
1229
+ }
1230
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QuickButtons): QuickButtons {
1231
+ let message = target ?? this.create(), end = reader.pos + length;
1232
+ while (reader.pos < end) {
1233
+ let [fieldNo, wireType] = reader.tag();
1234
+ switch (fieldNo) {
1235
+ case /* resources.settings.PenaltyCalculator penalty_calculator */ 1:
1236
+ message.penaltyCalculator = PenaltyCalculator.internalBinaryRead(reader, reader.uint32(), options, message.penaltyCalculator);
1237
+ break;
1238
+ default:
1239
+ let u = options.readUnknownField;
1240
+ if (u === "throw")
1241
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1242
+ let d = reader.skip(wireType);
1243
+ if (u !== false)
1244
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1245
+ }
1246
+ }
1247
+ return message;
1248
+ }
1249
+ internalBinaryWrite(message: QuickButtons, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1250
+ /* resources.settings.PenaltyCalculator penalty_calculator = 1; */
1251
+ if (message.penaltyCalculator)
1252
+ PenaltyCalculator.internalBinaryWrite(message.penaltyCalculator, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1253
+ let u = options.writeUnknownFields;
1254
+ if (u !== false)
1255
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1256
+ return writer;
1257
+ }
1258
+ }
1259
+ /**
1260
+ * @generated MessageType for protobuf message resources.settings.QuickButtons
1261
+ */
1262
+ export const QuickButtons = new QuickButtons$Type();
1263
+ // @generated message type with reflection information, may provide speed optimized methods
1264
+ class PenaltyCalculator$Type extends MessageType<PenaltyCalculator> {
1265
+ constructor() {
1266
+ super("resources.settings.PenaltyCalculator", [
1267
+ { no: 1, name: "max_count", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "tagger.tags": "json:\"maxCount\"" } },
1268
+ { no: 2, name: "detention_time_unit", kind: "message", T: () => PenaltyCalculatorDetentionTimeUnit, options: { "tagger.tags": "json:\"detentionTimeUnit\"" } },
1269
+ { no: 3, name: "warn_settings", kind: "message", T: () => PenaltyCalculatorWarn, options: { "tagger.tags": "json:\"warnSettings\"" } },
1270
+ { no: 4, name: "max_leeway", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "buf.validate.field": { uint32: { lte: 99 } }, "tagger.tags": "json:\"maxLeeway\"" } }
1271
+ ]);
1272
+ }
1273
+ create(value?: PartialMessage<PenaltyCalculator>): PenaltyCalculator {
1274
+ const message = globalThis.Object.create((this.messagePrototype!));
1275
+ if (value !== undefined)
1276
+ reflectionMergePartial<PenaltyCalculator>(this, message, value);
1277
+ return message;
1278
+ }
1279
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PenaltyCalculator): PenaltyCalculator {
1280
+ let message = target ?? this.create(), end = reader.pos + length;
1281
+ while (reader.pos < end) {
1282
+ let [fieldNo, wireType] = reader.tag();
1283
+ switch (fieldNo) {
1284
+ case /* optional uint32 max_count */ 1:
1285
+ message.maxCount = reader.uint32();
1286
+ break;
1287
+ case /* optional resources.settings.PenaltyCalculatorDetentionTimeUnit detention_time_unit */ 2:
1288
+ message.detentionTimeUnit = PenaltyCalculatorDetentionTimeUnit.internalBinaryRead(reader, reader.uint32(), options, message.detentionTimeUnit);
1289
+ break;
1290
+ case /* optional resources.settings.PenaltyCalculatorWarn warn_settings */ 3:
1291
+ message.warnSettings = PenaltyCalculatorWarn.internalBinaryRead(reader, reader.uint32(), options, message.warnSettings);
1292
+ break;
1293
+ case /* optional uint32 max_leeway */ 4:
1294
+ message.maxLeeway = reader.uint32();
1295
+ break;
1296
+ default:
1297
+ let u = options.readUnknownField;
1298
+ if (u === "throw")
1299
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1300
+ let d = reader.skip(wireType);
1301
+ if (u !== false)
1302
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1303
+ }
1304
+ }
1305
+ return message;
1306
+ }
1307
+ internalBinaryWrite(message: PenaltyCalculator, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1308
+ /* optional uint32 max_count = 1; */
1309
+ if (message.maxCount !== undefined)
1310
+ writer.tag(1, WireType.Varint).uint32(message.maxCount);
1311
+ /* optional resources.settings.PenaltyCalculatorDetentionTimeUnit detention_time_unit = 2; */
1312
+ if (message.detentionTimeUnit)
1313
+ PenaltyCalculatorDetentionTimeUnit.internalBinaryWrite(message.detentionTimeUnit, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1314
+ /* optional resources.settings.PenaltyCalculatorWarn warn_settings = 3; */
1315
+ if (message.warnSettings)
1316
+ PenaltyCalculatorWarn.internalBinaryWrite(message.warnSettings, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1317
+ /* optional uint32 max_leeway = 4; */
1318
+ if (message.maxLeeway !== undefined)
1319
+ writer.tag(4, WireType.Varint).uint32(message.maxLeeway);
1320
+ let u = options.writeUnknownFields;
1321
+ if (u !== false)
1322
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1323
+ return writer;
1324
+ }
1325
+ }
1326
+ /**
1327
+ * @generated MessageType for protobuf message resources.settings.PenaltyCalculator
1328
+ */
1329
+ export const PenaltyCalculator = new PenaltyCalculator$Type();
1330
+ // @generated message type with reflection information, may provide speed optimized methods
1331
+ class PenaltyCalculatorDetentionTimeUnit$Type extends MessageType<PenaltyCalculatorDetentionTimeUnit> {
1332
+ constructor() {
1333
+ super("resources.settings.PenaltyCalculatorDetentionTimeUnit", [
1334
+ { no: 1, name: "singular", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
1335
+ { no: 2, name: "plural", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
1336
+ ]);
1337
+ }
1338
+ create(value?: PartialMessage<PenaltyCalculatorDetentionTimeUnit>): PenaltyCalculatorDetentionTimeUnit {
1339
+ const message = globalThis.Object.create((this.messagePrototype!));
1340
+ if (value !== undefined)
1341
+ reflectionMergePartial<PenaltyCalculatorDetentionTimeUnit>(this, message, value);
1342
+ return message;
1343
+ }
1344
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PenaltyCalculatorDetentionTimeUnit): PenaltyCalculatorDetentionTimeUnit {
1345
+ let message = target ?? this.create(), end = reader.pos + length;
1346
+ while (reader.pos < end) {
1347
+ let [fieldNo, wireType] = reader.tag();
1348
+ switch (fieldNo) {
1349
+ case /* optional string singular */ 1:
1350
+ message.singular = reader.string();
1351
+ break;
1352
+ case /* optional string plural */ 2:
1353
+ message.plural = reader.string();
1354
+ break;
1355
+ default:
1356
+ let u = options.readUnknownField;
1357
+ if (u === "throw")
1358
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1359
+ let d = reader.skip(wireType);
1360
+ if (u !== false)
1361
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1362
+ }
1363
+ }
1364
+ return message;
1365
+ }
1366
+ internalBinaryWrite(message: PenaltyCalculatorDetentionTimeUnit, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1367
+ /* optional string singular = 1; */
1368
+ if (message.singular !== undefined)
1369
+ writer.tag(1, WireType.LengthDelimited).string(message.singular);
1370
+ /* optional string plural = 2; */
1371
+ if (message.plural !== undefined)
1372
+ writer.tag(2, WireType.LengthDelimited).string(message.plural);
1373
+ let u = options.writeUnknownFields;
1374
+ if (u !== false)
1375
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1376
+ return writer;
1377
+ }
1378
+ }
1379
+ /**
1380
+ * @generated MessageType for protobuf message resources.settings.PenaltyCalculatorDetentionTimeUnit
1381
+ */
1382
+ export const PenaltyCalculatorDetentionTimeUnit = new PenaltyCalculatorDetentionTimeUnit$Type();
1383
+ // @generated message type with reflection information, may provide speed optimized methods
1384
+ class PenaltyCalculatorWarn$Type extends MessageType<PenaltyCalculatorWarn> {
1385
+ constructor() {
1386
+ super("resources.settings.PenaltyCalculatorWarn", [
1387
+ { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1388
+ { no: 2, name: "fine", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
1389
+ { no: 3, name: "detention_time", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "tagger.tags": "json:\"detentionTime\"" } },
1390
+ { no: 4, name: "stvo_points", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "tagger.tags": "json:\"stvoPoints\"" } },
1391
+ { no: 5, name: "warn_message", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true }, "tagger.tags": "json:\"warnMessage\"" } }
1392
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
1393
+ }
1394
+ create(value?: PartialMessage<PenaltyCalculatorWarn>): PenaltyCalculatorWarn {
1395
+ const message = globalThis.Object.create((this.messagePrototype!));
1396
+ message.enabled = false;
1397
+ if (value !== undefined)
1398
+ reflectionMergePartial<PenaltyCalculatorWarn>(this, message, value);
1399
+ return message;
1400
+ }
1401
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PenaltyCalculatorWarn): PenaltyCalculatorWarn {
1402
+ let message = target ?? this.create(), end = reader.pos + length;
1403
+ while (reader.pos < end) {
1404
+ let [fieldNo, wireType] = reader.tag();
1405
+ switch (fieldNo) {
1406
+ case /* bool enabled */ 1:
1407
+ message.enabled = reader.bool();
1408
+ break;
1409
+ case /* optional uint32 fine */ 2:
1410
+ message.fine = reader.uint32();
1411
+ break;
1412
+ case /* optional uint32 detention_time */ 3:
1413
+ message.detentionTime = reader.uint32();
1414
+ break;
1415
+ case /* optional uint32 stvo_points */ 4:
1416
+ message.stvoPoints = reader.uint32();
1417
+ break;
1418
+ case /* optional string warn_message */ 5:
1419
+ message.warnMessage = reader.string();
1420
+ break;
1421
+ default:
1422
+ let u = options.readUnknownField;
1423
+ if (u === "throw")
1424
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1425
+ let d = reader.skip(wireType);
1426
+ if (u !== false)
1427
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1428
+ }
1429
+ }
1430
+ return message;
1431
+ }
1432
+ internalBinaryWrite(message: PenaltyCalculatorWarn, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1433
+ /* bool enabled = 1; */
1434
+ if (message.enabled !== false)
1435
+ writer.tag(1, WireType.Varint).bool(message.enabled);
1436
+ /* optional uint32 fine = 2; */
1437
+ if (message.fine !== undefined)
1438
+ writer.tag(2, WireType.Varint).uint32(message.fine);
1439
+ /* optional uint32 detention_time = 3; */
1440
+ if (message.detentionTime !== undefined)
1441
+ writer.tag(3, WireType.Varint).uint32(message.detentionTime);
1442
+ /* optional uint32 stvo_points = 4; */
1443
+ if (message.stvoPoints !== undefined)
1444
+ writer.tag(4, WireType.Varint).uint32(message.stvoPoints);
1445
+ /* optional string warn_message = 5; */
1446
+ if (message.warnMessage !== undefined)
1447
+ writer.tag(5, WireType.LengthDelimited).string(message.warnMessage);
1448
+ let u = options.writeUnknownFields;
1449
+ if (u !== false)
1450
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1451
+ return writer;
1452
+ }
1453
+ }
1454
+ /**
1455
+ * @generated MessageType for protobuf message resources.settings.PenaltyCalculatorWarn
1456
+ */
1457
+ export const PenaltyCalculatorWarn = new PenaltyCalculatorWarn$Type();
1458
+ // @generated message type with reflection information, may provide speed optimized methods
1459
+ class Livemap$Type extends MessageType<Livemap> {
1460
+ constructor() {
1461
+ super("resources.settings.Livemap", [
1462
+ { no: 1, name: "enable_cayo_perico", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1463
+ ]);
1464
+ }
1465
+ create(value?: PartialMessage<Livemap>): Livemap {
1466
+ const message = globalThis.Object.create((this.messagePrototype!));
1467
+ message.enableCayoPerico = false;
1468
+ if (value !== undefined)
1469
+ reflectionMergePartial<Livemap>(this, message, value);
1470
+ return message;
1471
+ }
1472
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Livemap): Livemap {
1473
+ let message = target ?? this.create(), end = reader.pos + length;
1474
+ while (reader.pos < end) {
1475
+ let [fieldNo, wireType] = reader.tag();
1476
+ switch (fieldNo) {
1477
+ case /* bool enable_cayo_perico */ 1:
1478
+ message.enableCayoPerico = reader.bool();
1479
+ break;
1480
+ default:
1481
+ let u = options.readUnknownField;
1482
+ if (u === "throw")
1483
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1484
+ let d = reader.skip(wireType);
1485
+ if (u !== false)
1486
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1487
+ }
1488
+ }
1489
+ return message;
1490
+ }
1491
+ internalBinaryWrite(message: Livemap, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1492
+ /* bool enable_cayo_perico = 1; */
1493
+ if (message.enableCayoPerico !== false)
1494
+ writer.tag(1, WireType.Varint).bool(message.enableCayoPerico);
1495
+ let u = options.writeUnknownFields;
1496
+ if (u !== false)
1497
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1498
+ return writer;
1499
+ }
1500
+ }
1501
+ /**
1502
+ * @generated MessageType for protobuf message resources.settings.Livemap
1503
+ */
1504
+ export const Livemap = new Livemap$Type();
1505
+ // @generated message type with reflection information, may provide speed optimized methods
1506
+ class Game$Type extends MessageType<Game> {
1507
+ constructor() {
1508
+ super("resources.settings.Game", [
1509
+ { no: 4, name: "max_wanted_duration_user_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1510
+ { no: 5, name: "max_wanted_duration_user", kind: "message", T: () => Duration },
1511
+ { no: 6, name: "max_wanted_duration_vehicle_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1512
+ { no: 7, name: "max_wanted_duration_vehicle", kind: "message", T: () => Duration }
1513
+ ]);
1514
+ }
1515
+ create(value?: PartialMessage<Game>): Game {
1516
+ const message = globalThis.Object.create((this.messagePrototype!));
1517
+ message.maxWantedDurationUserEnabled = false;
1518
+ message.maxWantedDurationVehicleEnabled = false;
1519
+ if (value !== undefined)
1520
+ reflectionMergePartial<Game>(this, message, value);
1521
+ return message;
1522
+ }
1523
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Game): Game {
1524
+ let message = target ?? this.create(), end = reader.pos + length;
1525
+ while (reader.pos < end) {
1526
+ let [fieldNo, wireType] = reader.tag();
1527
+ switch (fieldNo) {
1528
+ case /* bool max_wanted_duration_user_enabled */ 4:
1529
+ message.maxWantedDurationUserEnabled = reader.bool();
1530
+ break;
1531
+ case /* optional google.protobuf.Duration max_wanted_duration_user */ 5:
1532
+ message.maxWantedDurationUser = Duration.internalBinaryRead(reader, reader.uint32(), options, message.maxWantedDurationUser);
1533
+ break;
1534
+ case /* bool max_wanted_duration_vehicle_enabled */ 6:
1535
+ message.maxWantedDurationVehicleEnabled = reader.bool();
1536
+ break;
1537
+ case /* optional google.protobuf.Duration max_wanted_duration_vehicle */ 7:
1538
+ message.maxWantedDurationVehicle = Duration.internalBinaryRead(reader, reader.uint32(), options, message.maxWantedDurationVehicle);
1539
+ break;
1540
+ default:
1541
+ let u = options.readUnknownField;
1542
+ if (u === "throw")
1543
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1544
+ let d = reader.skip(wireType);
1545
+ if (u !== false)
1546
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1547
+ }
1548
+ }
1549
+ return message;
1550
+ }
1551
+ internalBinaryWrite(message: Game, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1552
+ /* bool max_wanted_duration_user_enabled = 4; */
1553
+ if (message.maxWantedDurationUserEnabled !== false)
1554
+ writer.tag(4, WireType.Varint).bool(message.maxWantedDurationUserEnabled);
1555
+ /* optional google.protobuf.Duration max_wanted_duration_user = 5; */
1556
+ if (message.maxWantedDurationUser)
1557
+ Duration.internalBinaryWrite(message.maxWantedDurationUser, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1558
+ /* bool max_wanted_duration_vehicle_enabled = 6; */
1559
+ if (message.maxWantedDurationVehicleEnabled !== false)
1560
+ writer.tag(6, WireType.Varint).bool(message.maxWantedDurationVehicleEnabled);
1561
+ /* optional google.protobuf.Duration max_wanted_duration_vehicle = 7; */
1562
+ if (message.maxWantedDurationVehicle)
1563
+ Duration.internalBinaryWrite(message.maxWantedDurationVehicle, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
1564
+ let u = options.writeUnknownFields;
1565
+ if (u !== false)
1566
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1567
+ return writer;
1568
+ }
1569
+ }
1570
+ /**
1571
+ * @generated MessageType for protobuf message resources.settings.Game
1572
+ */
1573
+ export const Game = new Game$Type();