@rydr/game-sdk 9.11.0 → 10.0.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 (91) hide show
  1. package/README.md +11 -6
  2. package/dist/client/PlatformClient.d.ts +61 -2
  3. package/dist/client/PlatformClient.d.ts.map +1 -1
  4. package/dist/client/PlatformClient.js +103 -1
  5. package/dist/client/PlatformClient.js.map +1 -1
  6. package/dist/host/PlatformHost.d.ts +47 -3
  7. package/dist/host/PlatformHost.d.ts.map +1 -1
  8. package/dist/host/PlatformHost.js +28 -1
  9. package/dist/host/PlatformHost.js.map +1 -1
  10. package/dist/protocol/buttons.d.ts +51 -7
  11. package/dist/protocol/buttons.d.ts.map +1 -1
  12. package/dist/protocol/buttons.js +72 -0
  13. package/dist/protocol/buttons.js.map +1 -1
  14. package/dist/protocol/gameMenu.d.ts +66 -0
  15. package/dist/protocol/gameMenu.d.ts.map +1 -0
  16. package/dist/protocol/gameMenu.js +58 -0
  17. package/dist/protocol/gameMenu.js.map +1 -0
  18. package/dist/protocol/glyphs.d.ts +2 -2
  19. package/dist/protocol/glyphs.d.ts.map +1 -1
  20. package/dist/protocol/glyphs.js +14 -25
  21. package/dist/protocol/glyphs.js.map +1 -1
  22. package/dist/protocol/guards.d.ts.map +1 -1
  23. package/dist/protocol/guards.js +3 -0
  24. package/dist/protocol/guards.js.map +1 -1
  25. package/dist/protocol/index.d.ts +1 -0
  26. package/dist/protocol/index.d.ts.map +1 -1
  27. package/dist/protocol/index.js +1 -0
  28. package/dist/protocol/index.js.map +1 -1
  29. package/dist/protocol/messages.d.ts +59 -5
  30. package/dist/protocol/messages.d.ts.map +1 -1
  31. package/dist/protocol/rideHud.d.ts +33 -0
  32. package/dist/protocol/rideHud.d.ts.map +1 -1
  33. package/dist/protocol/rideHud.js +37 -0
  34. package/dist/protocol/rideHud.js.map +1 -1
  35. package/dist/protocol/version.d.ts +2 -2
  36. package/dist/protocol/version.d.ts.map +1 -1
  37. package/dist/protocol/version.js +33 -2
  38. package/dist/protocol/version.js.map +1 -1
  39. package/dist/ui/README.md +22 -15
  40. package/dist/ui/controller/combo-demo.js +1 -1
  41. package/dist/ui/controller/combo-demo.js.map +1 -1
  42. package/dist/ui/controller/control-spotlight.d.ts +5 -5
  43. package/dist/ui/controller/control-spotlight.js +6 -6
  44. package/dist/ui/controller/control-trainer.d.ts +5 -5
  45. package/dist/ui/controller/control-trainer.d.ts.map +1 -1
  46. package/dist/ui/controller/control-trainer.js +4 -4
  47. package/dist/ui/controller/control-trainer.js.map +1 -1
  48. package/dist/ui/controller/controller-map.js +2 -2
  49. package/dist/ui/controller/controller-map.js.map +1 -1
  50. package/dist/ui/controller/controller-pad.d.ts +8 -9
  51. package/dist/ui/controller/controller-pad.d.ts.map +1 -1
  52. package/dist/ui/controller/controller-pad.js +6 -31
  53. package/dist/ui/controller/controller-pad.js.map +1 -1
  54. package/dist/ui/controller/input-chip.d.ts +5 -3
  55. package/dist/ui/controller/input-chip.d.ts.map +1 -1
  56. package/dist/ui/controller/input-chip.js +51 -15
  57. package/dist/ui/controller/input-chip.js.map +1 -1
  58. package/dist/ui/controller/layouts/dualsense.js +6 -6
  59. package/dist/ui/controller/layouts/dualsense.js.map +1 -1
  60. package/dist/ui/controller/layouts/joycon.js +6 -6
  61. package/dist/ui/controller/layouts/joycon.js.map +1 -1
  62. package/dist/ui/controller/layouts/switch-pro.js +6 -6
  63. package/dist/ui/controller/layouts/switch-pro.js.map +1 -1
  64. package/dist/ui/controller/layouts/xbox.js +6 -6
  65. package/dist/ui/controller/layouts/xbox.js.map +1 -1
  66. package/dist/ui/controller/live-presses.d.ts +7 -10
  67. package/dist/ui/controller/live-presses.d.ts.map +1 -1
  68. package/dist/ui/controller/live-presses.js +4 -13
  69. package/dist/ui/controller/live-presses.js.map +1 -1
  70. package/dist/ui/controller/pad-svg.d.ts +11 -10
  71. package/dist/ui/controller/pad-svg.d.ts.map +1 -1
  72. package/dist/ui/controller/pad-svg.js +19 -11
  73. package/dist/ui/controller/pad-svg.js.map +1 -1
  74. package/dist/ui/controller/parts-map.d.ts +9 -8
  75. package/dist/ui/controller/parts-map.d.ts.map +1 -1
  76. package/dist/ui/controller/parts-map.js +30 -14
  77. package/dist/ui/controller/parts-map.js.map +1 -1
  78. package/dist/ui/controller/styles.js +1 -1
  79. package/dist/ui/controller/tokens.d.ts +14 -9
  80. package/dist/ui/controller/tokens.d.ts.map +1 -1
  81. package/dist/ui/controller/tokens.js +1 -1
  82. package/dist/ui/controller/tokens.js.map +1 -1
  83. package/dist/ui/keycap.d.ts +1 -1
  84. package/dist/ui/option-menu.d.ts +19 -6
  85. package/dist/ui/option-menu.d.ts.map +1 -1
  86. package/dist/ui/option-menu.js +171 -6
  87. package/dist/ui/option-menu.js.map +1 -1
  88. package/dist/ui/showcase/index.d.ts.map +1 -1
  89. package/dist/ui/showcase/index.js +21 -19
  90. package/dist/ui/showcase/index.js.map +1 -1
  91. package/package.json +1 -1
@@ -64,7 +64,8 @@ export interface RoomController {
64
64
  scheduleEvent(name: string, payload?: unknown, at?: number): void;
65
65
  leave(): void;
66
66
  }
67
- import { type RideHudView } from "../protocol/rideHud.js";
67
+ import { type RideHudArea, type RideHudView } from "../protocol/rideHud.js";
68
+ import { type GameMenuSnapshot } from "../protocol/gameMenu.js";
68
69
  /** A point-in-time hardware reading pushed to connected games. Omitted fields are unchanged. */
69
70
  export interface HardwareSample {
70
71
  power?: number;
@@ -162,6 +163,14 @@ export interface PlatformHostOptions {
162
163
  * asked for it.
163
164
  */
164
165
  overlaySupported?: boolean;
166
+ /**
167
+ * A guest document said `hello` (PLAT-1714). Fires for EVERY handshake, and one iframe can make
168
+ * several: a game that moves its iframe to another page of its own (its editor, and back) is a
169
+ * new document each time. Whatever the previous document asked for (a hidden power bar, a
170
+ * `setRideHud` view) died with it, so this is where the host puts its defaults back. It runs
171
+ * BEFORE the welcome goes out, so anything the new document then asks for lands on top.
172
+ */
173
+ onHello?(): void;
165
174
  onReady?(): void;
166
175
  onLoadProgress?(progress: number): void;
167
176
  onExitRequest?(): void;
@@ -187,8 +196,10 @@ export interface PlatformHostOptions {
187
196
  * the host fills every field the game left out, or sent garbage in, with its default. */
188
197
  onRideHudRequest?(view: Required<RideHudView>): void;
189
198
  /** The game reported its activity state — `"playing"` (active gameplay) vs `"menu"` (any
190
- * non-racing screen). The shell uses it to ease trainer resistance when the rider isn't
191
- * racing. Default (never sent) is `"menu"` — the host applies its menu training policy until `"playing"`.
199
+ * non-racing screen). The RYDR shell does NOT ease resistance on it (menu easing was removed,
200
+ * PLAT-1623): in `"menu"` it holds the rider's base ERG target instead of the game's demand, and
201
+ * it splits in-game from in-menu time in the activity recording. Default (never sent) is `"menu"` —
202
+ * the host applies its menu training policy until `"playing"`.
192
203
  * See `PlatformClient.setActivity`. */
193
204
  onActivityChange?(state: "playing" | "menu"): void;
194
205
  /**
@@ -224,6 +235,19 @@ export interface PlatformHostOptions {
224
235
  * overlay, not the game's — contrast with the `OPTIONS` {@link ButtonName}, which IS a normal
225
236
  * button sent via `sendButton` for the game's own menu/options screen. */
226
237
  onToggleMenu?(): void;
238
+ /**
239
+ * The game's rows for YOUR platform menu changed (PLAT-1795): draw them as its section, or remove
240
+ * the section on `null`. Supplying this is what tells the game (`welcome.menuRows`) that its option
241
+ * menu lives in yours, so it stops drawing its own. Already sanitised: text is cut and malformed
242
+ * rows are gone. Report presses with {@link PlatformHost.sendMenuPick}, and the menu's own
243
+ * opening and closing with {@link PlatformHost.sendMenuState}.
244
+ */
245
+ onMenuRows?(menu: GameMenuSnapshot | null): void;
246
+ /**
247
+ * The rider pressed the game's OPTIONS (or the game called its option menu's `open()` / `close()`):
248
+ * open your platform menu landing on the game's rows, or close it (PLAT-1795).
249
+ */
250
+ onMenuRequest?(open: boolean): void;
227
251
  onError?(message: string): void;
228
252
  /** The game requested a leaderboard page; fetch and return it. */
229
253
  onGetLeaderboard?(boardId: string, opts: {
@@ -439,6 +463,26 @@ export interface PlatformHost {
439
463
  setMasterVolume(volume: number): void;
440
464
  /** Push an updated scoped identity (e.g. after a profile edit). */
441
465
  updateIdentity(identity: ScopedIdentity): void;
466
+ /**
467
+ * Tell the game which part of its screen the ride HUD covers (PLAT-1714), in the GUEST's CSS
468
+ * pixels (translate from your viewport into the iframe's before calling). Call it whenever that
469
+ * changes; an identical area is not re-sent. The last one is remembered and carried on the next
470
+ * `welcome`, so a game that loads after the HUD settled still starts with it.
471
+ */
472
+ sendRideHudArea(area: RideHudArea): void;
473
+ /**
474
+ * Your platform menu opened or closed (PLAT-1795). Send it on EVERY open and close, however the
475
+ * menu was summoned: an open is what makes the game publish its rows (if its `canOpen` agrees) and
476
+ * run its `onOpen`, and a close runs its `onClose`. Drop the rows you hold on close; the next open
477
+ * brings fresh ones. Only meaningful with {@link PlatformHostOptions.onMenuRows}.
478
+ */
479
+ sendMenuState(open: boolean): void;
480
+ /**
481
+ * A row of the game's section was pressed (`delta` absent) or a stepper turned (PLAT-1795). Pass
482
+ * the `rev` of the snapshot the rider was looking at. For a press on a row without `keepOpen`,
483
+ * close the menu (and so {@link sendMenuState}) FIRST, so the action runs on a resumed game.
484
+ */
485
+ sendMenuPick(id: string, rev: number, delta?: -1 | 1): void;
442
486
  /** Tear down listeners and stop streaming. */
443
487
  dispose(): void;
444
488
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformHost.d.ts","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlatformHost.d.ts","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { RYDR_PROTOCOL_VERSION } from "../protocol/version.js";
2
2
  import { isGameToPlatformMessage } from "../protocol/guards.js";
3
- import { resolveRideHudView } from "../protocol/rideHud.js";
3
+ import { resolveRideHudArea, resolveRideHudView } from "../protocol/rideHud.js";
4
+ import { resolveGameMenu } from "../protocol/gameMenu.js";
4
5
  /** The shell's hardware, adapted to what the host needs. The shell implements this over its HardwareManager. */
5
6
  /**
6
7
  * Protocol-26 back-compat: the positional face-button name → the letter a PRE-26 guest expects, at
@@ -29,6 +30,10 @@ export function createPlatformHost(options) {
29
30
  // The guest's declared protocol version (from `hello`), used to shield pre-13 guests from
30
31
  // repeat `down`s they don't understand. 0 until the handshake lands.
31
32
  let guestProtocol = 0;
33
+ /** The last HUD area the shell reported, for the next welcome (PLAT-1714), and its dedupe key. */
34
+ // Null until the shell has measured: the welcome then says nothing rather than "nothing drawn".
35
+ let rideHudArea = null;
36
+ let sentRideHudArea = "";
32
37
  let unsubscribeTraining = null;
33
38
  let sentPlan = "";
34
39
  let unsubscribeHardware = null;
@@ -82,6 +87,7 @@ export function createPlatformHost(options) {
82
87
  return;
83
88
  switch (msg.type) {
84
89
  case "rydr/hello": {
90
+ options.onHello?.();
85
91
  guestProtocol = msg.protocolVersion;
86
92
  granted = grantFor(msg.gameId, msg.capabilities);
87
93
  post({
@@ -96,10 +102,12 @@ export function createPlatformHost(options) {
96
102
  dataHost: options.dataHost,
97
103
  powerSmoothing: options.powerSmoothing,
98
104
  overlaySupported: options.overlaySupported === true,
105
+ ...(rideHudArea ? { rideHudArea } : {}),
99
106
  trainingSupported: !!options.training,
100
107
  trainingLibrary: !!options.onListWorkouts && !!options.onStartWorkout,
101
108
  trainingOfferings: !!options.onPlayOffering,
102
109
  trainingControls: !!options.onTrainingControl,
110
+ menuRows: !!options.onMenuRows,
103
111
  // On the welcome itself, so the game's first frame prints the right button letters.
104
112
  glyphSet: hardware.getStatus().glyphSet,
105
113
  });
@@ -295,6 +303,12 @@ export function createPlatformHost(options) {
295
303
  case "rydr/menu.toggle":
296
304
  options.onToggleMenu?.();
297
305
  break;
306
+ case "rydr/menu.rows":
307
+ options.onMenuRows?.(resolveGameMenu(msg.menu));
308
+ break;
309
+ case "rydr/menu.request":
310
+ options.onMenuRequest?.(msg.open === true);
311
+ break;
298
312
  case "rydr/pong":
299
313
  // liveness reply — no-op for now
300
314
  break;
@@ -559,6 +573,8 @@ export function createPlatformHost(options) {
559
573
  return {
560
574
  pause: () => post({ rydr: true, type: "rydr/lifecycle.pause" }),
561
575
  resume: () => post({ rydr: true, type: "rydr/lifecycle.resume" }),
576
+ sendMenuState: (open) => post({ rydr: true, type: "rydr/menu.state", open }),
577
+ sendMenuPick: (id, rev, delta) => post({ rydr: true, type: "rydr/menu.pick", id, rev, ...(delta ? { delta } : {}) }),
562
578
  sendStage: (stage) => post({ rydr: true, type: "rydr/stage.play", stage }),
563
579
  sendOverlayState: (active) => post({ rydr: true, type: "rydr/overlay.state", active }),
564
580
  sendOverlayLayout: (placements) => post({ rydr: true, type: "rydr/overlay.layout", placements }),
@@ -602,6 +618,17 @@ export function createPlatformHost(options) {
602
618
  post({ rydr: true, type: "rydr/audio.setMaster", volume: v });
603
619
  },
604
620
  updateIdentity: (identity) => post({ rydr: true, type: "rydr/identity.update", identity }),
621
+ sendRideHudArea: (area) => {
622
+ const next = resolveRideHudArea(area);
623
+ const key = JSON.stringify(next);
624
+ if (key === sentRideHudArea)
625
+ return;
626
+ sentRideHudArea = key;
627
+ rideHudArea = next;
628
+ // Before the handshake there is nobody to tell: the welcome carries it.
629
+ if (guestProtocol)
630
+ post({ rydr: true, type: "rydr/ui.rideHudArea", area: next });
631
+ },
605
632
  dispose: () => {
606
633
  unsubscribeTraining?.();
607
634
  unsubscribeHardware?.();
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformHost.js","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"AA4EA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAoB,MAAM,wBAAwB,CAAC;AAY9E,gHAAgH;AAChH;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAqC;IAC1D,aAAa,EAAE,GAAG;IAClB,YAAY,EAAE,GAAG;IACjB,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,GAAG;CAClB,CAAC;AAgSF,yGAAyG;AACzG,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAEpH,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAErE,IAAI,OAAO,GAAiB,EAAE,CAAC;IAC/B,0FAA0F;IAC1F,qEAAqE;IACrE,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,mBAAmB,GAAwB,IAAI,CAAC;IACpD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,mBAAmB,GAAwB,IAAI,CAAC;IACpD,+DAA+D;IAC/D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,MAAM,IAAI,GAAG,CAAC,OAA8B,EAAQ,EAAE;QACpD,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAuB,EAAQ,EAAE;QACnD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE;gBACrD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe;gBACxF,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc;gBAChE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACrD,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC9E,8FAA8F;gBAC9F,6FAA6F;gBAC7F,4FAA4F;gBAC5F,kEAAkE;gBAClE,EAAE;gBACF,yFAAyF;gBACzF,2FAA2F;gBAC3F,6CAA6C;gBAC7C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,4FAA4F;gBAC5F,2EAA2E;gBAC3E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD,EAAE,CAAC,CAAC;QACL,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,UAAsB,EAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9E,MAAM,UAAU,GAAG,CAAC,CAAiB,EAAQ,EAAE;QAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrH,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7H,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAQ,EAAE;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa;YAAE,OAAO;QAClD,IAAI,UAAU,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO;QAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;YAAE,OAAO;QAE1C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC;gBACpC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,CAAC;oBACH,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,cAAc;oBACpB,eAAe,EAAE,qBAAqB;oBACtC,mBAAmB,EAAE,OAAO;oBAC5B,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;oBACjC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,KAAK,IAAI;oBACnD,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACrC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc;oBACrE,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc;oBAC3C,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB;oBAC7C,oFAAoF;oBACpF,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ;iBACxC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClH,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9H,CAAC;gBACD,mBAAmB,EAAE,EAAE,CAAC;gBACxB,QAAQ,GAAG,EAAE,CAAC;gBACd,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/D,CAAC;gBACD,mBAAmB,EAAE,EAAE,CAAC;gBACxB,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB;gBACzB,IAAI,aAAa,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;oBAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9G,MAAM;YACR,yFAAyF;YACzF,6FAA6F;YAC7F,iFAAiF;YACjF,KAAK,sBAAsB;gBACzB,IAAI,CAAC,aAAa;oBAAE,MAAM;gBAC1B,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACtE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM;YACR,4FAA4F;YAC5F,+EAA+E;YAC/E,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACrG,KAAK,OAAO,CAAC,OAAO,EAAE;qBACnB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;qBACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;qBAC1G,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;oBACvD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClG,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,KAAK,GAAG,CAAC,MAA0B,EAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3H,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACrE,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC9G,KAAK,OAAO,CAAC,OAAO,EAAE;qBACnB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;qBACrE,IAAI,CAAC,KAAK,CAAC;qBACX,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;oBACvD,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,KAAK,GAAG,CAAC,MAA0B,EAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClI,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACrE,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACvH,KAAK,OAAO,CAAC,OAAO,EAAE;qBACnB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnC,IAAI,CAAC,KAAK,CAAC;qBACX,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;oBACvD,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,KAAK,GAAG,CAAC,MAA6B,EAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChI,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;gBAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACrE,6FAA6F;gBAC7F,yEAAyE;gBACzE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC9F,KAAK,OAAO,CAAC,OAAO,EAAE;qBACnB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBAC/B,IAAI,CAAC,KAAK,CAAC;qBACX,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;oBAC3D,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,YAAY;gBACf,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpB,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,4BAA4B;gBAC/B,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,6BAA6B;gBAChC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,yBAAyB;gBAC5B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,iBAAiB;gBACpB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,sBAAsB;gBACzB,OAAO,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,0BAA0B;gBAC7B,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,oBAAoB;gBACvB,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,uBAAuB;gBAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,sBAAsB;gBACzB,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,oBAAoB;gBACvB,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,qBAAqB;gBACxB,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,oBAAoB;gBACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,aAAa,EAAE,CAAC;oBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1B,MAAM;YACR,KAAK,8BAA8B;gBACjC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;gBACnC,MAAM;YACR,KAAK,sBAAsB;gBACzB,2FAA2F;gBAC3F,IAAI,GAAG,CAAC,SAAS,CAAC;oBAAE,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,+BAA+B;gBAClC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,8BAA8B;gBACjC,yFAAyF;gBACzF,kEAAkE;gBAClE,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;gBACN,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM;YACR,KAAK,WAAW;gBACd,iCAAiC;gBACjC,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,gBAAgB;oBACxB,CAAC,KAAK,IAA8B,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC5D,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;qBAC1D,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;qBACvH,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;oBACzD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,SAAS;oBACjB,CAAC,KAAK,IAAyB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnF,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;qBAC1D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;qBAChH,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;oBAClD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3F,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,IAAkC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtE,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;qBAC5E,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;qBACnG,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;oBAClD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5F,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,aAAa;oBACrB,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBAC1E,KAAK,OAAO,CAAC,OAAO,CAClB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CACxH;qBACE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAChF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;oBACtD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,mBAAmB,CAAC;YACzB,KAAK,oBAAoB,CAAC;YAC1B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAuB,CAAC;gBAC3E,MAAM,EAAE,GAAe;oBACrB,IAAI;oBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,EAAE,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBACpC,IAAI,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBAC3C,CAAC;gBACF,MAAM,OAAO,GACX,OAAO,CAAC,UAAU,IAAI,CAAC,KAAK,IAA6B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBACrG,KAAK,OAAO,CAAC,EAAE,CAAC;qBACb,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC5E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,cAAc,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;gBAChH,KAAK,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;qBAC/F,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAClF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;oBAC1D,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,mBAAmB,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBAClH,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;qBACnG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACrF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;oBAC7D,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;gBAC9G,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;qBACnF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAClF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;oBAC1D,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB;gBACrB,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBACjH,MAAM;YACR,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,YAAY,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gBACzG,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;qBACxC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC1E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;oBACrD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gBACxG,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;qBACpB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC1E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;oBACpD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gBACrG,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;qBACpB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACvE,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,UAAU;oBAClB,CAAC,KAAK,IAAqE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBACxH,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;qBAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACV,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAC7H;qBACA,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzG,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,YAAY,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBACxG,KAAK,OAAO,EAAE;qBACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC7E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;oBACrD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,UAAU,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBACtG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;qBACjB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC5E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,gBAAgB,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBAChH,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC9E,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACjF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;oBACzD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,cAAc,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBAC9G,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;qBACjB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAChF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;oBACvD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBACxG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;qBACjB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBAC1E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;gBACL,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxB,uFAAuF;oBACvF,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1E,MAAM;gBACR,CAAC;gBACD,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAkB;oBAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;oBACpE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;oBAClF,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;oBACxF,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC9E,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC5F,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CAAC;wBACH,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,qBAAqB;wBAC3B,MAAM;wBACN,IAAI,EAAE,CAAC,CAAC,QAAQ;wBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,CAAC,EAAE,CAAC,CAAC,CAAC;qBACP,CAAC;oBACJ,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClH,CAAC;gBACF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpD,IAAI,UAAU;oBAAE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACxD,2FAA2F;;oBACtF,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB;gBACnB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,oBAAoB;gBACvB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,iBAAiB;gBACpB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;QAC/D,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;QACjE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;QAC1E,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC;QACtF,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAChC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;QAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO;YAC5B,oFAAoF;YACpF,iFAAiF;YACjF,IAAI,MAAM,IAAI,aAAa,GAAG,EAAE;gBAAE,OAAO;YACzC,yFAAyF;YACzF,kGAAkG;YAClG,kGAAkG;YAClG,kGAAkG;YAElG,2FAA2F;YAC3F,+FAA+F;YAC/F,8FAA8F;YAC9F,kFAAkF;YAClF,kFAAkF;YAClF,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC1F,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO;YAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,eAAe,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,EAAE;YACjD,IAAI,GAAG,CAAC,SAAS,CAAC;gBAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,iBAAiB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAC7C,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAC5E,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC;QAC1F,OAAO,EAAE,GAAG,EAAE;YACZ,mBAAmB,EAAE,EAAE,CAAC;YACxB,mBAAmB,EAAE,EAAE,CAAC;YACxB,mBAAmB,GAAG,IAAI,CAAC;YAC3B,KAAK,MAAM,UAAU,IAAI,eAAe,CAAC,MAAM,EAAE;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACtE,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PlatformHost.js","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,12 @@
21
21
  * Delete) is the correct desktop UX. *Gameplay never listens to the keyboard directly.*
22
22
  * ──────────────────────────────────────────────────────────────────────────────────────────────
23
23
  *
24
- * - **Directions** — `UP`/`DOWN`/`LEFT`/`RIGHT`: the D-pad / arrow keys, **and** the LEFT stick once it
25
- * deflects past the platform's deadzone. One name per direction whichever produced it — a held
26
- * direction stays held until *every* source lets go — so a game that only needs "move" reads these
27
- * four and works on every device.
24
+ * - **Directions** — `UP`/`DOWN`/`LEFT`/`RIGHT`: the LEFT stick once it deflects past the platform's
25
+ * deadzone, the arrow keys, and the phone's D-pad. One name per direction whichever produced it — a
26
+ * held direction stays held until *every* source lets go — so a game that only needs "move" reads
27
+ * these four and works on every device. **Not a gamepad's physical D-pad** (protocol 44): on RYDR
28
+ * that is the rider's trainer control (UP/DOWN resistance, LEFT/RIGHT the trainer mode), owned by the
29
+ * shell everywhere, and never delivered to a game. Menus therefore navigate with the stick.
28
30
  * - **Right-stick directions** — `RUP`/`RDOWN`/`RLEFT`/`RRIGHT`: the same four edges for the RIGHT stick,
29
31
  * fired once it deflects past the platform's deadzone. Kept separate from the D-pad's so a dual-stick
30
32
  * game can tell *move* (`LEFT`/`RIGHT`…) from *aim* (`RLEFT`/`RRIGHT`…) without touching the analog
@@ -49,6 +51,17 @@
49
51
  * They are plain **clicks** — the hardware has no analog trigger travel, so there is no trigger
50
52
  * {@link AxisName}; `isDown("LT")` / `onButton` is the only way to read them. Not every controller
51
53
  * exposes them, so never gate a required flow behind `LT`/`RT` alone.
54
+ * - **Bumpers** — `LB`/`RB`, the UPPER shoulders (L1/R1). Game input since protocol 44, when the
55
+ * rider's resistance moved to the D-pad; before that the shell kept them. Same rules as the
56
+ * triggers: no built-in meaning, and not every device has them (the phone doesn't).
57
+ * - **Either shoulder** — `LEFTANY`/`RIGHTANY` (protocol 44): `LEFTANY` is "`LB` or `LT`", `RIGHTANY`
58
+ * is "`RB` or `RT`". Bind an action to it when the rider should not have to care which of the two
59
+ * they pull — brake, boost, previous/next tab, which is most of the time. It goes down when the
60
+ * FIRST of the pair goes down and up when the LAST comes up, so holding both is still one press and
61
+ * one release, never two. The SDK client derives it from the two real buttons (the shell never sends
62
+ * it), so it works on every device that has either one, the phone's single trigger and the keyboard's
63
+ * `a`/`e` included. You still receive the underlying `LB`/`LT` edges as well; listen to one or the
64
+ * other, not both. See {@link BUTTON_GROUPS}.
52
65
  * - **Stick presses** — `LSTICK_PRESS`/`RSTICK_PRESS`, emitted when a joystick is clicked straight down.
53
66
  * Like the triggers they carry no built-in meaning (crouch, recentre the camera, sprint) and most
54
67
  * controllers can't produce them at all, so use them only as a shortcut for something already
@@ -60,12 +73,43 @@
60
73
  *
61
74
  * Devices with fewer than four face buttons (e.g. a phone) expose at least the
62
75
  * `DIAMOND_DOWN`/`DIAMOND_RIGHT` confirm/back pair — don't require `DIAMOND_UP`/`DIAMOND_LEFT`,
63
- * `LT`/`RT`, the right-stick `R*` directions, a stick press, or `OPTIONS` for a flow that must work on
64
- * every input.
76
+ * `LT`/`RT`, `LB`/`RB`, the right-stick `R*` directions, a stick press, or `OPTIONS` for a flow that must
77
+ * work on every input (`LEFTANY`/`RIGHTANY` reach more devices than any one shoulder, but still not all).
65
78
  */
66
- export type ButtonName = "UP" | "DOWN" | "LEFT" | "RIGHT" | "RUP" | "RDOWN" | "RLEFT" | "RRIGHT" | "DIAMOND_UP" | "DIAMOND_DOWN" | "DIAMOND_LEFT" | "DIAMOND_RIGHT" | "LT" | "RT" | "LSTICK_PRESS" | "RSTICK_PRESS" | "OPTIONS";
79
+ export type ButtonName = "UP" | "DOWN" | "LEFT" | "RIGHT" | "RUP" | "RDOWN" | "RLEFT" | "RRIGHT" | "DIAMOND_UP" | "DIAMOND_DOWN" | "DIAMOND_LEFT" | "DIAMOND_RIGHT" | "LT" | "RT" | "LB" | "RB" | "LEFTANY" | "RIGHTANY" | "LSTICK_PRESS" | "RSTICK_PRESS" | "OPTIONS";
67
80
  /** Press = "down", release = "up". A held button emits one of each. */
68
81
  export type ButtonEdge = "down" | "up";
82
+ /**
83
+ * The grouped buttons and the real buttons each one stands for (protocol 44): `LEFTANY` is held while
84
+ * `LB` OR `LT` is, `RIGHTANY` while `RB` OR `RT` is. See {@link ButtonName}.
85
+ */
86
+ export declare const BUTTON_GROUPS: Readonly<Record<"LEFTANY" | "RIGHTANY", readonly ButtonName[]>>;
87
+ /** Is `name` one of the grouped buttons (derived, never sent over the wire)? */
88
+ export declare function isGroupButton(name: ButtonName): name is "LEFTANY" | "RIGHTANY";
89
+ /** One edge a {@link createButtonGrouper} wants delivered, in the same shape as the edge that caused it. */
90
+ export interface GroupedEdge {
91
+ name: "LEFTANY" | "RIGHTANY";
92
+ edge: ButtonEdge;
93
+ repeat: boolean;
94
+ }
95
+ /**
96
+ * Turns the edges of the REAL buttons into the edges of their {@link BUTTON_GROUPS}.
97
+ *
98
+ * Feed it every edge AFTER your own duplicate filtering (it trusts that a `down` is a new press or a
99
+ * flagged repeat, and an `up` releases something held). It returns the grouped edges to deliver, which
100
+ * is usually none:
101
+ *
102
+ * - the FIRST member down → the group's `down`; a second member joining adds nothing;
103
+ * - the LAST member up → the group's `up`; one of two letting go adds nothing;
104
+ * - a `repeat` re-emit passes through only from the member that OPENED the group, so holding both
105
+ * bumper and trigger does not auto-repeat twice as fast.
106
+ *
107
+ * One instance per input stream. `reset()` forgets everything (a held-state wipe).
108
+ */
109
+ export declare function createButtonGrouper(): {
110
+ feed(name: ButtonName, edge: ButtonEdge, repeat?: boolean): GroupedEdge[];
111
+ reset(): void;
112
+ };
69
113
  /**
70
114
  * Canonical, source-agnostic controller **AXES** — the analog counterpart to {@link ButtonName}.
71
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,MAAM,UAAU,GAElB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GAGP,KAAK,GACL,OAAO,GACP,OAAO,GACP,QAAQ,GAIR,YAAY,GACZ,cAAc,GACd,cAAc,GACd,eAAe,GAEf,IAAI,GACJ,IAAI,GAEJ,cAAc,GACd,cAAc,GAGd,SAAS,CAAC;AAEd,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,QAAQ,GAEhB,IAAI,GACJ,IAAI,GAEJ,IAAI,GACJ,IAAI,CAAC;AAET;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA4B9D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,MAAM,CAOlF;AAED,uFAAuF;AACvF,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAOtE,CAAC"}
1
+ {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,MAAM,UAAU,GAGlB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GAGP,KAAK,GACL,OAAO,GACP,OAAO,GACP,QAAQ,GAIR,YAAY,GACZ,cAAc,GACd,cAAc,GACd,eAAe,GAEf,IAAI,GACJ,IAAI,GAEJ,IAAI,GACJ,IAAI,GAEJ,SAAS,GACT,UAAU,GAEV,cAAc,GACd,cAAc,GAGd,SAAS,CAAC;AAEd,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC,CAGzF,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,SAAS,GAAG,UAAU,CAE9E;AAED,4GAA4G;AAC5G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;IAC1E,KAAK,IAAI,IAAI,CAAC;CACf,CAuCA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,QAAQ,GAEhB,IAAI,GACJ,IAAI,GAEJ,IAAI,GACJ,IAAI,CAAC;AAET;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA4B9D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,MAAM,CAOlF;AAED,uFAAuF;AACvF,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAOtE,CAAC"}
@@ -1,3 +1,75 @@
1
+ /**
2
+ * The grouped buttons and the real buttons each one stands for (protocol 44): `LEFTANY` is held while
3
+ * `LB` OR `LT` is, `RIGHTANY` while `RB` OR `RT` is. See {@link ButtonName}.
4
+ */
5
+ export const BUTTON_GROUPS = {
6
+ LEFTANY: ["LB", "LT"],
7
+ RIGHTANY: ["RB", "RT"],
8
+ };
9
+ /** Is `name` one of the grouped buttons (derived, never sent over the wire)? */
10
+ export function isGroupButton(name) {
11
+ return name === "LEFTANY" || name === "RIGHTANY";
12
+ }
13
+ /**
14
+ * Turns the edges of the REAL buttons into the edges of their {@link BUTTON_GROUPS}.
15
+ *
16
+ * Feed it every edge AFTER your own duplicate filtering (it trusts that a `down` is a new press or a
17
+ * flagged repeat, and an `up` releases something held). It returns the grouped edges to deliver, which
18
+ * is usually none:
19
+ *
20
+ * - the FIRST member down → the group's `down`; a second member joining adds nothing;
21
+ * - the LAST member up → the group's `up`; one of two letting go adds nothing;
22
+ * - a `repeat` re-emit passes through only from the member that OPENED the group, so holding both
23
+ * bumper and trigger does not auto-repeat twice as fast.
24
+ *
25
+ * One instance per input stream. `reset()` forgets everything (a held-state wipe).
26
+ */
27
+ export function createButtonGrouper() {
28
+ const held = new Map();
29
+ const opener = new Map();
30
+ return {
31
+ feed(name, edge, repeat = false) {
32
+ const out = [];
33
+ for (const group of ["LEFTANY", "RIGHTANY"]) {
34
+ if (!BUTTON_GROUPS[group].includes(name))
35
+ continue;
36
+ let members = held.get(group);
37
+ if (!members)
38
+ held.set(group, (members = new Set()));
39
+ if (edge === "down") {
40
+ if (repeat) {
41
+ if (opener.get(group) === name)
42
+ out.push({ name: group, edge: "down", repeat: true });
43
+ continue;
44
+ }
45
+ const wasEmpty = members.size === 0;
46
+ members.add(name);
47
+ if (wasEmpty) {
48
+ opener.set(group, name);
49
+ out.push({ name: group, edge: "down", repeat: false });
50
+ }
51
+ }
52
+ else {
53
+ if (!members.delete(name))
54
+ continue;
55
+ if (members.size === 0) {
56
+ opener.delete(group);
57
+ out.push({ name: group, edge: "up", repeat: false });
58
+ }
59
+ else if (opener.get(group) === name) {
60
+ // The opener let go while the other is still held: the survivor carries the repeat now.
61
+ opener.set(group, [...members][0]);
62
+ }
63
+ }
64
+ }
65
+ return out;
66
+ },
67
+ reset() {
68
+ held.clear();
69
+ opener.clear();
70
+ },
71
+ };
72
+ }
1
73
  /**
2
74
  * Keyboard → canonical button map for desktop play.
3
75
  *
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"AAyJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,OAAO;IACnB,oEAAoE;IACpE,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,eAAe;IACvB,SAAS,EAAE,eAAe;IAC1B,qFAAqF;IACrF,gCAAgC;IAChC,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,cAAc;IACjB,6DAA6D;IAC7D,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,0FAA0F;IAC1F,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;CACb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,IAA6B;IACxE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAyC;IACzE,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;CACxB,CAAC"}
1
+ {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * A GAME'S ROWS IN THE PLATFORM MENU (PLAT-1795, protocol 44).
3
+ *
4
+ * On RYDR there is one menu, the platform's. A game's own rows (Restart, Back to menu, a difficulty
5
+ * stepper) are drawn INSIDE it, under Resume, rather than in a second overlay of the game's own. The
6
+ * game still describes them with `mountOptionMenu` exactly as before; the SDK turns them into the data
7
+ * below, the shell draws them, and a press comes back as an id the SDK maps to the row's own callback.
8
+ *
9
+ * Nothing here can act on the shell. A row is text and a shape; what it DOES stays in the game, behind
10
+ * the iframe, and only the game's own callback ever runs.
11
+ *
12
+ * You do not build these by hand: `mountOptionMenu` publishes them for you. They are exported for a
13
+ * host (the shell renders them) and for anything that wants to read the wire.
14
+ */
15
+ /** One row of a game's section in the platform menu. */
16
+ export interface GameMenuRow {
17
+ /** Stable within one {@link GameMenuSnapshot}: what a pick names. */
18
+ id: string;
19
+ /** The row's text, verbatim. Kept short by the game. */
20
+ label: string;
21
+ /**
22
+ * `action` is pressed (A, a click); `stepper` is turned with LEFT/RIGHT and shows {@link value}
23
+ * between two arrows.
24
+ */
25
+ kind: "action" | "stepper";
26
+ /** A stepper's current value. */
27
+ value?: string;
28
+ /** Whether a stepper can move down / left (default true). A spent arrow is drawn inert. */
29
+ canStepDown?: boolean;
30
+ /** Whether a stepper can move up / right (default true). */
31
+ canStepUp?: boolean;
32
+ /** Destructive (leaving, wiping a run): drawn in the same red as the platform's Exit. */
33
+ danger?: boolean;
34
+ /** Shown inert and skipped by the focus ring. */
35
+ disabled?: boolean;
36
+ /** Pressing it leaves the menu open (a toggle, a row that swaps the list). Default: the menu closes
37
+ * first, so the action runs on a resumed game. */
38
+ keepOpen?: boolean;
39
+ }
40
+ /** The game's whole section, replaced wholesale on every change. */
41
+ export interface GameMenuSnapshot {
42
+ /** The game's name, printed over its rows. */
43
+ title: string;
44
+ /**
45
+ * Which publish this is. A pick carries the `rev` it was made against and the SDK drops one that
46
+ * names an older list, so a press can never land on a row that has since moved.
47
+ */
48
+ rev: number;
49
+ rows: GameMenuRow[];
50
+ }
51
+ /** A row pressed (`delta` absent) or a stepper turned (`delta` ±1). */
52
+ export interface GameMenuPick {
53
+ id: string;
54
+ rev: number;
55
+ delta?: -1 | 1;
56
+ }
57
+ /** The most rows a host draws, and the longest label or value it prints. A guest past either is cut. */
58
+ export declare const GAME_MENU_MAX_ROWS = 24;
59
+ export declare const GAME_MENU_MAX_TEXT = 80;
60
+ /**
61
+ * Read a snapshot off the wire, keeping only what a host can draw. It came from another origin, so
62
+ * nothing about it is trusted: a malformed snapshot is `null` (no section), a malformed row is
63
+ * dropped, extra fields are discarded, and text is cut to {@link GAME_MENU_MAX_TEXT}.
64
+ */
65
+ export declare function resolveGameMenu(raw: unknown): GameMenuSnapshot | null;
66
+ //# sourceMappingURL=gameMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gameMenu.d.ts","sourceRoot":"","sources":["../../src/protocol/gameMenu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;uDACmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;CAChB;AAED,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAIrC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAwBrE"}