@kawaijs/renderer-dom 0.1.12 → 0.1.14

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 (44) hide show
  1. package/dist/components/choice-menu.d.ts.map +1 -1
  2. package/dist/components/choice-menu.js +2 -3
  3. package/dist/components/choice-menu.js.map +1 -1
  4. package/dist/components/hotspot-layer.d.ts.map +1 -1
  5. package/dist/components/hotspot-layer.js +1 -0
  6. package/dist/components/hotspot-layer.js.map +1 -1
  7. package/dist/components/main-menu.d.ts.map +1 -1
  8. package/dist/components/main-menu.js +1 -0
  9. package/dist/components/main-menu.js.map +1 -1
  10. package/dist/components/quick-menu.js +1 -1
  11. package/dist/components/stage-layer.d.ts +4 -0
  12. package/dist/components/stage-layer.d.ts.map +1 -1
  13. package/dist/components/stage-layer.js +150 -25
  14. package/dist/components/stage-layer.js.map +1 -1
  15. package/dist/components/vfx-layer.d.ts +5 -1
  16. package/dist/components/vfx-layer.d.ts.map +1 -1
  17. package/dist/components/vfx-layer.js +75 -28
  18. package/dist/components/vfx-layer.js.map +1 -1
  19. package/dist/gamepad.d.ts +15 -0
  20. package/dist/gamepad.d.ts.map +1 -0
  21. package/dist/gamepad.js +77 -0
  22. package/dist/gamepad.js.map +1 -0
  23. package/dist/icons.js +28 -28
  24. package/dist/icons.js.map +1 -1
  25. package/dist/layout/viewport-adapter.d.ts.map +1 -1
  26. package/dist/layout/viewport-adapter.js +36 -6
  27. package/dist/layout/viewport-adapter.js.map +1 -1
  28. package/dist/modals/settings-modal.d.ts +7 -0
  29. package/dist/modals/settings-modal.d.ts.map +1 -1
  30. package/dist/modals/settings-modal.js +55 -2
  31. package/dist/modals/settings-modal.js.map +1 -1
  32. package/dist/renderer.d.ts +7 -0
  33. package/dist/renderer.d.ts.map +1 -1
  34. package/dist/renderer.js +150 -2
  35. package/dist/renderer.js.map +1 -1
  36. package/dist/touch.d.ts.map +1 -1
  37. package/dist/touch.js +9 -3
  38. package/dist/touch.js.map +1 -1
  39. package/dist/types.d.ts +3 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js +37 -12
  42. package/dist/types.js.map +1 -1
  43. package/package.json +4 -4
  44. package/src/theme.css +331 -12
@@ -8,6 +8,9 @@ export function showSettingsModal(rootEl, options) {
8
8
  let currentDelay = options.autoDelayMs;
9
9
  let currentMusic = options.musicVolume ?? 0.8;
10
10
  let currentSound = options.soundVolume ?? 1.0;
11
+ let currentDyslexia = options.dyslexiaFont ?? false;
12
+ let currentHighContrast = options.highContrast ?? false;
13
+ let currentLang = options.currentLang ?? 'en';
11
14
  const overlay = document.createElement('div');
12
15
  overlay.className = 'kawa-modal-overlay';
13
16
  const card = document.createElement('div');
@@ -19,7 +22,7 @@ export function showSettingsModal(rootEl, options) {
19
22
  header.className = 'kawa-modal-header';
20
23
  const title = document.createElement('div');
21
24
  title.className = 'kawa-modal-title';
22
- title.innerHTML = `${SVG_ICONS.settings} <span>Preferences</span>`;
25
+ title.innerHTML = `${SVG_ICONS.settings} <span>Preferences & Accessibility</span>`;
23
26
  const releaseFocus = trapFocus(card);
24
27
  const close = () => {
25
28
  releaseFocus();
@@ -43,7 +46,10 @@ export function showSettingsModal(rootEl, options) {
43
46
  typewriterSpeed: currentSpeed,
44
47
  autoDelayMs: currentDelay,
45
48
  musicVolume: currentMusic,
46
- soundVolume: currentSound
49
+ soundVolume: currentSound,
50
+ dyslexiaFont: currentDyslexia,
51
+ highContrast: currentHighContrast,
52
+ lang: currentLang
47
53
  });
48
54
  };
49
55
  // 1. Text Speed
@@ -116,10 +122,57 @@ export function showSettingsModal(rootEl, options) {
116
122
  sfxValEl.textContent = `${sfxInput.value}%`;
117
123
  notifyChange();
118
124
  });
125
+ // 4. Accessibility Options
126
+ const a11ySection = document.createElement('div');
127
+ a11ySection.className = 'kawa-setting-section';
128
+ a11ySection.innerHTML = `
129
+ <div class="kawa-setting-section-title">♿ Accessibility</div>
130
+ <label class="kawa-toggle-label">
131
+ <input type="checkbox" id="kawa-dyslexia-toggle" ${currentDyslexia ? 'checked' : ''}>
132
+ <span>Dyslexia-Friendly Font (High Readability)</span>
133
+ </label>
134
+ <label class="kawa-toggle-label">
135
+ <input type="checkbox" id="kawa-contrast-toggle" ${currentHighContrast ? 'checked' : ''}>
136
+ <span>High Contrast Mode (Sharp Text & Borders)</span>
137
+ </label>
138
+ `;
139
+ const dyslexiaInput = a11ySection.querySelector('#kawa-dyslexia-toggle');
140
+ dyslexiaInput.addEventListener('change', () => {
141
+ currentDyslexia = dyslexiaInput.checked;
142
+ notifyChange();
143
+ });
144
+ const contrastInput = a11ySection.querySelector('#kawa-contrast-toggle');
145
+ contrastInput.addEventListener('change', () => {
146
+ currentHighContrast = contrastInput.checked;
147
+ notifyChange();
148
+ });
149
+ // 5. Language Selector (if available)
150
+ if (options.availableLangs && options.availableLangs.length > 1) {
151
+ const langRow = document.createElement('div');
152
+ langRow.className = 'kawa-setting-row';
153
+ const langOptionsHtml = options.availableLangs
154
+ .map((l) => `<option value="${l}" ${l === currentLang ? 'selected' : ''}>${l.toUpperCase()}</option>`)
155
+ .join('');
156
+ langRow.innerHTML = `
157
+ <div class="kawa-setting-header">
158
+ <span>🌐 Language / Lingua</span>
159
+ </div>
160
+ <select class="kawa-select" id="kawa-lang-select">
161
+ ${langOptionsHtml}
162
+ </select>
163
+ `;
164
+ const langSelect = langRow.querySelector('#kawa-lang-select');
165
+ langSelect.addEventListener('change', () => {
166
+ currentLang = langSelect.value;
167
+ notifyChange();
168
+ });
169
+ body.appendChild(langRow);
170
+ }
119
171
  body.appendChild(speedRow);
120
172
  body.appendChild(autoRow);
121
173
  body.appendChild(musicRow);
122
174
  body.appendChild(sfxRow);
175
+ body.appendChild(a11ySection);
123
176
  card.appendChild(header);
124
177
  card.appendChild(body);
125
178
  overlay.appendChild(card);
@@ -1 +1 @@
1
- {"version":3,"file":"settings-modal.js","sourceRoot":"","sources":["../../src/modals/settings-modal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-modal.js","sourceRoot":"","sources":["../../src/modals/settings-modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAsBnD,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,OAA6B;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,gDAAgD,CAAC,CAAC;IACxF,IAAI,QAAQ;QAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAEhC,IAAI,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAC3C,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IACvC,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;IAC9C,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;IAC9C,IAAI,eAAe,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACpD,IAAI,mBAAmB,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACxD,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAE9C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,oBAAoB,CAAC;IAEzC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACnC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC;IAEvC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACrC,KAAK,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,QAAQ,2CAA2C,CAAC;IAEnF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,KAAK,qBAAqB,CAAC;IAC7D,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACtD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACvC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,KAAK,EAAE,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;IAEnC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,OAAO,CAAC,gBAAgB,CAAC;YACvB,eAAe,EAAE,YAAY;YAC7B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,YAAY;YACzB,YAAY,EAAE,eAAe;YAC7B,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACxC,QAAQ,CAAC,SAAS,GAAG;;;6DAGsC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI;;sGAEX,YAAY;GAC/G,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAqB,CAAC;IACpF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAgB,CAAC;IAC5E,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACxC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,UAAU,CAAC,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC;QAC9E,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,SAAS,GAAG;;;4DAGsC,OAAO;;2GAEwC,YAAY;GACpH,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAC;IACjF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;IACzE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACvC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/D,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;IACpD,QAAQ,CAAC,SAAS,GAAG;;cAET,SAAS,CAAC,QAAQ;6DAC6B,YAAY;;uGAE8B,YAAY;GAChH,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAqB,CAAC;IACpF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAgB,CAAC;IAC5E,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACxC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC9C,UAAU,CAAC,WAAW,GAAG,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC;QAChD,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,GAAG;;cAEP,SAAS,CAAC,QAAQ;2DAC2B,UAAU;;qGAEgC,UAAU;GAC5G,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAqB,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACtC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5C,QAAQ,CAAC,WAAW,GAAG,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC;QAC5C,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,WAAW,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC/C,WAAW,CAAC,SAAS,GAAG;;;yDAG+B,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;;yDAIhC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;GAG1F,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAqB,CAAC;IAC7F,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC5C,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC;QACxC,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAqB,CAAC;IAC7F,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC5C,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC;QAC5C,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC;QACvC,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc;aAC3C,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,CACjG;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,CAAC,SAAS,GAAG;;;;;UAKd,eAAe;;KAEpB,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAsB,CAAC;QACnF,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACzC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
@@ -25,6 +25,7 @@ export * from './components/vfx-layer.js';
25
25
  export * from './share-meta.js';
26
26
  export * from './embed.js';
27
27
  export * from './touch.js';
28
+ export * from './gamepad.js';
28
29
  export declare function extractGalleryItems(story?: StoryPackage): GalleryItem[];
29
30
  export declare class DOMRenderer {
30
31
  private readonly vm;
@@ -48,6 +49,8 @@ export declare class DOMRenderer {
48
49
  private appliedStyleTargets;
49
50
  private isAutoMode;
50
51
  private isSkipMode;
52
+ private dyslexiaFont;
53
+ private highContrast;
51
54
  private autoTimer;
52
55
  private skipInterval;
53
56
  private pauseTimer;
@@ -60,6 +63,7 @@ export declare class DOMRenderer {
60
63
  private unsubscribeError?;
61
64
  private boundKeyHandler?;
62
65
  private touchControls?;
66
+ private gamepadControls?;
63
67
  constructor(vm: StoryVM, options: DOMRendererOptions);
64
68
  destroy(): void;
65
69
  showErrorToast(message: string): void;
@@ -70,6 +74,8 @@ export declare class DOMRenderer {
70
74
  toggleSkipMode(force?: boolean): void;
71
75
  showMainMenu(): void;
72
76
  hideMainMenu(): void;
77
+ /** Keep title-screen a11y tree clean: gameplay controls must not stay focusable under the menu. */
78
+ private setGameplayUiInert;
73
79
  isMainMenuActive(): boolean;
74
80
  startNewGame(): void;
75
81
  continueLatestGame(): Promise<boolean>;
@@ -82,6 +88,7 @@ export declare class DOMRenderer {
82
88
  private scheduleAutoAdvance;
83
89
  private buildDOM;
84
90
  private bindEvents;
91
+ private navigateFocus;
85
92
  private handleUserAdvance;
86
93
  private syncUrlLabel;
87
94
  private syncShareMeta;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
package/dist/renderer.js CHANGED
@@ -17,6 +17,7 @@ import { escapeHtml } from './utils/rich-text.js';
17
17
  import { ViewportAdapter } from './layout/viewport-adapter.js';
18
18
  import { applyDocumentShareMeta, buildSceneShareMeta, resolveShareAssetUrl } from './share-meta.js';
19
19
  import { bindSwipeControls } from './touch.js';
20
+ import { bindGamepadControls } from './gamepad.js';
20
21
  export * from './icons.js';
21
22
  export * from './types.js';
22
23
  export * from './asset-fallbacks.js';
@@ -40,6 +41,7 @@ export * from './components/vfx-layer.js';
40
41
  export * from './share-meta.js';
41
42
  export * from './embed.js';
42
43
  export * from './touch.js';
44
+ export * from './gamepad.js';
43
45
  export function extractGalleryItems(story) {
44
46
  if (!story || !story.labels)
45
47
  return [];
@@ -85,6 +87,8 @@ export class DOMRenderer {
85
87
  appliedStyleTargets = new Set();
86
88
  isAutoMode = false;
87
89
  isSkipMode = false;
90
+ dyslexiaFont = false;
91
+ highContrast = false;
88
92
  autoTimer = null;
89
93
  skipInterval = null;
90
94
  pauseTimer = null;
@@ -97,6 +101,7 @@ export class DOMRenderer {
97
101
  unsubscribeError;
98
102
  boundKeyHandler;
99
103
  touchControls;
104
+ gamepadControls;
100
105
  constructor(vm, options) {
101
106
  this.vm = vm;
102
107
  this.container = options.container;
@@ -131,6 +136,10 @@ export class DOMRenderer {
131
136
  this.typewriterSpeed = parsed.typewriterSpeed;
132
137
  if (typeof parsed.autoDelayMs === 'number')
133
138
  this.autoDelayMs = parsed.autoDelayMs;
139
+ if (typeof parsed.dyslexiaFont === 'boolean')
140
+ this.dyslexiaFont = parsed.dyslexiaFont;
141
+ if (typeof parsed.highContrast === 'boolean')
142
+ this.highContrast = parsed.highContrast;
134
143
  if (typeof parsed.musicVolume === 'number') {
135
144
  this.musicVolume = parsed.musicVolume;
136
145
  this.audioManager?.setMusicVolume(this.musicVolume);
@@ -144,6 +153,10 @@ export class DOMRenderer {
144
153
  catch { }
145
154
  }
146
155
  this.buildDOM();
156
+ if (this.dyslexiaFont)
157
+ this.rootEl.classList.add('kawa-dyslexia-font');
158
+ if (this.highContrast)
159
+ this.rootEl.classList.add('kawa-high-contrast');
147
160
  this.bindEvents();
148
161
  this.unsubscribeVMState = this.vm.onStateChange((state) => {
149
162
  this.render(state);
@@ -257,6 +270,10 @@ export class DOMRenderer {
257
270
  this.touchControls.destroy();
258
271
  this.touchControls = undefined;
259
272
  }
273
+ if (this.gamepadControls) {
274
+ this.gamepadControls.destroy();
275
+ this.gamepadControls = undefined;
276
+ }
260
277
  this.container.innerHTML = '';
261
278
  }
262
279
  showErrorToast(message) {
@@ -356,9 +373,21 @@ export class DOMRenderer {
356
373
  if (this.isSkipMode)
357
374
  this.toggleSkipMode(false);
358
375
  this.mainMenu.show();
376
+ this.setGameplayUiInert(true);
359
377
  }
360
378
  hideMainMenu() {
361
379
  this.mainMenu.hide();
380
+ this.setGameplayUiInert(false);
381
+ }
382
+ /** Keep title-screen a11y tree clean: gameplay controls must not stay focusable under the menu. */
383
+ setGameplayUiInert(inert) {
384
+ const ui = this.stageLayer.stageEl.querySelector('.kawa-ui-layer');
385
+ if (!ui)
386
+ return;
387
+ if (inert)
388
+ ui.setAttribute('inert', '');
389
+ else
390
+ ui.removeAttribute('inert');
362
391
  }
363
392
  isMainMenuActive() {
364
393
  return this.mainMenu.isActive();
@@ -391,11 +420,16 @@ export class DOMRenderer {
391
420
  });
392
421
  }
393
422
  showSettingsModal() {
423
+ const availableLangs = Object.keys(this.vm.getStory().i18n ?? {});
394
424
  showSettingsModal(this.rootEl, {
395
425
  typewriterSpeed: this.typewriterSpeed,
396
426
  autoDelayMs: this.autoDelayMs,
397
427
  musicVolume: this.musicVolume,
398
428
  soundVolume: this.soundVolume,
429
+ dyslexiaFont: this.dyslexiaFont,
430
+ highContrast: this.highContrast,
431
+ currentLang: this.vm.getState().lang ?? 'en',
432
+ availableLangs,
399
433
  onSettingsChange: (s) => {
400
434
  this.typewriterSpeed = s.typewriterSpeed;
401
435
  this.autoDelayMs = s.autoDelayMs;
@@ -407,6 +441,17 @@ export class DOMRenderer {
407
441
  this.soundVolume = s.soundVolume;
408
442
  this.audioManager?.setSoundVolume(this.soundVolume);
409
443
  }
444
+ if (s.dyslexiaFont !== undefined) {
445
+ this.dyslexiaFont = s.dyslexiaFont;
446
+ this.rootEl.classList.toggle('kawa-dyslexia-font', this.dyslexiaFont);
447
+ }
448
+ if (s.highContrast !== undefined) {
449
+ this.highContrast = s.highContrast;
450
+ this.rootEl.classList.toggle('kawa-high-contrast', this.highContrast);
451
+ }
452
+ if (s.lang !== undefined && s.lang !== this.vm.getState().lang) {
453
+ this.vm.setLang(s.lang);
454
+ }
410
455
  this.dialogueBox.setTypewriterSpeed(this.typewriterSpeed);
411
456
  this.saveSettings();
412
457
  }
@@ -667,6 +712,103 @@ export class DOMRenderer {
667
712
  }
668
713
  });
669
714
  }
715
+ // Gamepad / Controller navigation & buttons
716
+ if (this.options.features?.gamepad !== false) {
717
+ this.gamepadControls = bindGamepadControls({
718
+ onAdvance: () => {
719
+ if (this.isMainMenuActive())
720
+ return;
721
+ if (this.isAutoMode)
722
+ this.toggleAutoMode(false);
723
+ if (this.isSkipMode)
724
+ this.toggleSkipMode(false);
725
+ this.handleUserAdvance();
726
+ },
727
+ onRollback: () => {
728
+ const confirm = this.rootEl.querySelector('.kawa-confirm-overlay');
729
+ if (confirm) {
730
+ confirm.remove();
731
+ return;
732
+ }
733
+ const modal = this.rootEl.querySelector('.kawa-modal-overlay');
734
+ if (modal) {
735
+ modal.remove();
736
+ return;
737
+ }
738
+ if (this.isMainMenuActive())
739
+ return;
740
+ if (this.isAutoMode)
741
+ this.toggleAutoMode(false);
742
+ if (this.isSkipMode)
743
+ this.toggleSkipMode(false);
744
+ if (this.vm.canRollback())
745
+ this.vm.rollback();
746
+ },
747
+ onToggleAuto: () => {
748
+ if (this.isMainMenuActive())
749
+ return;
750
+ this.toggleAutoMode();
751
+ },
752
+ onToggleSkip: () => {
753
+ if (this.isMainMenuActive())
754
+ return;
755
+ this.toggleSkipMode();
756
+ },
757
+ onToggleMenu: () => {
758
+ if (this.isMainMenuActive()) {
759
+ this.hideMainMenu();
760
+ }
761
+ else {
762
+ this.showMainMenu();
763
+ }
764
+ },
765
+ onNavigateDown: () => {
766
+ this.navigateFocus(1);
767
+ },
768
+ onNavigateUp: () => {
769
+ this.navigateFocus(-1);
770
+ },
771
+ onConfirm: () => {
772
+ if (document.activeElement && typeof document.activeElement.click === 'function') {
773
+ const el = document.activeElement;
774
+ if (el.tagName === 'BUTTON' ||
775
+ el.tagName === 'A' ||
776
+ el.getAttribute('role') === 'button' ||
777
+ el.classList.contains('kawa-choice-button') ||
778
+ el.classList.contains('kawa-menu-btn')) {
779
+ el.click();
780
+ return;
781
+ }
782
+ }
783
+ if (this.isMainMenuActive())
784
+ return;
785
+ if (this.isAutoMode)
786
+ this.toggleAutoMode(false);
787
+ if (this.isSkipMode)
788
+ this.toggleSkipMode(false);
789
+ this.handleUserAdvance();
790
+ }
791
+ });
792
+ }
793
+ }
794
+ navigateFocus(direction) {
795
+ const focusableSelectors = 'button:not([disabled]), [tabindex]:not([tabindex="-1"]), a[href], input:not([disabled])';
796
+ const modal = this.rootEl.querySelector('.kawa-modal-overlay, .kawa-confirm-overlay');
797
+ const scope = modal || (this.isMainMenuActive() ? this.rootEl.querySelector('.kawa-main-menu') : this.rootEl);
798
+ if (!scope)
799
+ return;
800
+ const focusables = Array.from(scope.querySelectorAll(focusableSelectors)).filter((el) => el.offsetParent !== null || el.offsetWidth > 0 || el.offsetHeight > 0 || getComputedStyle(el).display !== 'none');
801
+ if (focusables.length === 0)
802
+ return;
803
+ const currentIndex = focusables.indexOf(document.activeElement);
804
+ let nextIndex = 0;
805
+ if (currentIndex === -1) {
806
+ nextIndex = direction === 1 ? 0 : focusables.length - 1;
807
+ }
808
+ else {
809
+ nextIndex = (currentIndex + direction + focusables.length) % focusables.length;
810
+ }
811
+ focusables[nextIndex]?.focus();
670
812
  }
671
813
  handleUserAdvance() {
672
814
  if (this.isMainMenuActive())
@@ -782,11 +924,15 @@ export class DOMRenderer {
782
924
  // 5b. CG / stage hotspots
783
925
  this.hotspotLayer.render(state.hotspots);
784
926
  // 6. Dialogue Box (respect `window hide` / `window show`)
785
- if (state.windowVisible === false) {
927
+ // Hide dialogue while a menu is open — avoids overlap on small/embed stages.
928
+ if (state.windowVisible === false || (state.choices && state.choices.length > 0)) {
786
929
  this.dialogueBox.render(null);
930
+ this.stageLayer.setSpeakingCharacter(null);
787
931
  }
788
932
  else {
933
+ this.stageLayer.setSpeakingCharacter(state.dialogue?.speaker ?? null);
789
934
  this.dialogueBox.render(state.dialogue, () => {
935
+ this.stageLayer.setSpeakingCharacter(null);
790
936
  if (this.isAutoMode &&
791
937
  !state.isFinished &&
792
938
  (!state.choices || state.choices.length === 0) &&
@@ -869,7 +1015,9 @@ export class DOMRenderer {
869
1015
  typewriterSpeed: this.typewriterSpeed,
870
1016
  autoDelayMs: this.autoDelayMs,
871
1017
  musicVolume: this.musicVolume,
872
- soundVolume: this.soundVolume
1018
+ soundVolume: this.soundVolume,
1019
+ dyslexiaFont: this.dyslexiaFont,
1020
+ highContrast: this.highContrast
873
1021
  }));
874
1022
  }
875
1023
  catch { }
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAQL,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAA2B,MAAM,YAAY,CAAC;AAExE,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBACzE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACpG,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC9F,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;wBACf,EAAE;wBACF,KAAK;wBACL,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,WAAW;IACL,EAAE,CAAU;IACZ,SAAS,CAAc;IACvB,OAAO,CAAqB;IACrC,eAAe,CAAS;IACxB,WAAW,CAAS;IACpB,WAAW,CAAS;IACpB,WAAW,CAAS;IACX,aAAa,CAA4C;IACzD,eAAe,CAAmB;IAClC,YAAY,CAAoB;IAEzC,MAAM,CAAkB;IACxB,UAAU,CAAuB;IACjC,WAAW,CAAmB;IAC9B,UAAU,CAAkB;IAC5B,YAAY,CAAyB;IACrC,SAAS,CAAsB;IAC/B,QAAQ,CAAqB;IAC7B,eAAe,CAAmB;IAClC,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,UAAU,GAAG,KAAK,CAAC;IACnB,UAAU,GAAG,KAAK,CAAC;IACnB,SAAS,GAAkB,IAAI,CAAC;IAChC,YAAY,GAAkB,IAAI,CAAC;IACnC,UAAU,GAAkB,IAAI,CAAC;IACjC,eAAe,GAAkB,IAAI,CAAC;IACtC,gBAAgB,GAAG,CAAC,CAAC;IACrB,SAAS,GAAG,KAAK,CAAC;IAElB,kBAAkB,CAAc;IAChC,iBAAiB,CAAc;IAC/B,gBAAgB,CAAc;IAC9B,gBAAgB,CAAc;IAC9B,eAAe,CAA8B;IAC7C,aAAa,CAAsB;IAE3C,YAAY,EAAW,EAAE,OAA2B;QAClD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;QAEnE,IAAI,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,aAAa,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClH,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,aAAa,GAAG;oBACd,GAAG,aAAa;oBAChB,YAAY,EAAE,SAAS;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QAErC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,IAAI,GAAG,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,IAAI,GAAG,CAAC;QAEhE,iCAAiC;QACjC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACvD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;wBAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;oBAC9F,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;wBAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;oBAClF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;wBAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;wBACtC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;wBAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;wBACtC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;YACnD,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,KAAiB,EAAE,EAAE;YACjE,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACrD,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,yFAAyF;QACzF,IAAI,IAAI,CAAC,eAAe,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAC1D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAChC,CAAC;IAEM,cAAc,CAAC,OAAe;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,QAAQ;YAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;QACrC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,KAAK,CAAC,SAAS,GAAG;;2CAEqB,UAAU,CAAC,OAAO,CAAC;wFAC0B,SAAS,CAAC,KAAK;KAClG,CAAC;QAEF,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7E,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,KAAK,CAAC,aAAa;gBAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1C,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,OAAsC,OAAO;QAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAEM,cAAc,CAAC,KAAe;QACnC,IAAI,CAAC,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACjE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,KAAe;QACnC,IAAI,CAAC,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACjE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,mFAAmF;QACnF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,6DAA6D;gBAC7D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;oBAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;wBAC3B,OAAO;oBACT,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACjC,IACE,KAAK,CAAC,UAAU;wBAChB,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC3C,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC7C,KAAK,CAAC,YAAY,EAClB,CAAC;wBACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;wBAC3B,OAAO;oBACT,CAAC;oBACD,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBACxC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;oBACtC,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,0FAA0F;QAC1F,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE1C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QAClD,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB;QACtB,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;gBACzC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;gBACjC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB;QACrB,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,cAAc;QACnB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAEM,gBAAgB;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,IAAI,EAAE,CAAC;QAC9D,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,IAAI,OAAO,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC;QAC5D,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,IAAI,OAAO,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,IACE,KAAK,CAAC,UAAU;YAChB,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3C,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7C,KAAK,CAAC,YAAY,EAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IACE,CAAC,GAAG,CAAC,UAAU;oBACf,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;oBAC1C,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;oBAC5C,CAAC,GAAG,CAAC,YAAY,EACjB,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB;YACzD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;aACF,CAAC;YACJ,CAAC,CAAC,IAAI,mBAAmB,CAAC;gBACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;aACF,CAAC,CAAC;QAEP,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE;YACnD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB;YAC3D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;YACjE,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC;YACtC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;YAClC,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC;YACD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACjD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACjD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;SAC3C,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3C,CAAC;QAED,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1C,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CACnC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,eAAe,EACpB;YACE,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;YACzC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;oBACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;oBACzC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBAChC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;wBACjC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBAChC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;wBACjC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;aACF,CAAC;SACH,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CACxC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,oEAAoE;QACpE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAAE,OAAO;YACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,IACE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACnC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACnE,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YACrE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;oBAAE,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7C,IACE,QAAQ,CAAC,aAAa;oBACtB,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ;wBAC1C,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO;wBAC1C,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,UAAU,CAAC,EAChD,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC/B,oFAAoF;gBACpF,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC1C,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC1C,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,KAAK,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC9D,WAAW,EAAE,GAAG,EAAE;oBAChB,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAAE,OAAO;oBACpC,IAAI,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;gBACD,YAAY,EAAE,GAAG,EAAE;oBACjB,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAAE,OAAO;oBACpC,IAAI,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;wBAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAChD,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;QACpC,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY;YAAE,OAAO;QAE5C,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,IAAI,GAAG,CAAC;YACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,KAAiB;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YAClG,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAE7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK;gBAAE,OAAO;YACjD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAiB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAgC,CAAC;QAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO;QAEjD,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5E,sBAAsB,CACpB;YACE,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACjE,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,KAAiB;QAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,cAAc,MAAM,GAAG,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,KAAiB;QAC9B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhC,2FAA2F;QAC3F,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAClF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,GAAG,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBAClD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnF,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1D,6BAA6B;QAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE5C,yBAAyB;QACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,0BAA0B;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzC,0DAA0D;QAC1D,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC3C,IACE,IAAI,CAAC,UAAU;oBACf,CAAC,KAAK,CAAC,UAAU;oBACjB,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;oBAC9C,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;oBAChD,CAAC,KAAK,CAAC,YAAY,EACnB,CAAC;oBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzC,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBAC9D,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACtD,CAAC,CAAC,EAAE,CAAC;gBACT,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC1B,MAAM;oBACN,YAAY,EAAE,OAAO;oBACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7D,CAAC;QAED,+BAA+B;QAC/B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC5E,IAAI,QAAQ;gBAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,gFAAgF;QAChF,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAC1C,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAExD,UAAU,CAAC,SAAS,GAAG;;;KAGtB,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC3B,UAAU,CAAC,SAAS,GAAG,iCAAiC,CAAC;QACzD,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QACpC,UAAU,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,MAAM,aAAa,CAAC;QACxD,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACzC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QACxB,OAAO,CAAC,SAAS,GAAG,iCAAiC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QACjC,OAAO,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,IAAI,YAAY,CAAC;QAClD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAEO,YAAY;QAClB,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,YAAY,CAAC,OAAO,CAClB,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC;oBACb,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../src/touch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,GAAG,kBAAkB,CA+C9F"}
1
+ {"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../src/touch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,GAAG,kBAAkB,CAoD9F"}
package/dist/touch.js CHANGED
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Minimal touch / swipe helpers for mobile VN play.
3
3
  */
4
- const SWIPE_MIN_DIST_PX = 48;
5
- const SWIPE_MAX_OFF_AXIS_PX = 80;
6
- const SWIPE_MAX_DURATION_MS = 600;
4
+ const SWIPE_MIN_DIST_PX = 56;
5
+ const SWIPE_MAX_OFF_AXIS_PX = 72;
6
+ const SWIPE_MAX_DURATION_MS = 550;
7
+ const IGNORE_SELECTOR = 'button, a, input, textarea, select, .kawa-choice-container, .kawa-quick-menu, .kawa-modal-overlay, .kawa-hotspot-layer, .kawa-product-bar';
7
8
  /**
8
9
  * Bind horizontal swipe gestures on an element.
9
10
  * Left = advance, Right = rollback (Ren'Py-ish phone UX).
@@ -16,6 +17,11 @@ export function bindSwipeControls(el, handlers) {
16
17
  const onStart = (e) => {
17
18
  if (e.touches.length !== 1)
18
19
  return;
20
+ const target = e.target;
21
+ if (target?.closest?.(IGNORE_SELECTOR)) {
22
+ tracking = false;
23
+ return;
24
+ }
19
25
  const t = e.touches[0];
20
26
  startX = t.clientX;
21
27
  startY = t.clientY;
package/dist/touch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"touch.js","sourceRoot":"","sources":["../src/touch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAe,EAAE,QAAuB;IACxE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,OAAO,GAAG,CAAC,CAAa,EAAQ,EAAE;QACtC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QACnB,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QACnB,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,CAAa,EAAQ,EAAE;QACpC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO;QAEf,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QAC/B,IAAI,EAAE,GAAG,qBAAqB;YAAE,OAAO;QACvC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB;YAAE,OAAO;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB;YAAE,OAAO;QAE7C,IAAI,EAAE,GAAG,CAAC;YAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;;YAChC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC,CAAC;IAEF,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,OAAO;YACL,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC9C,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1C,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"touch.js","sourceRoot":"","sources":["../src/touch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,eAAe,GACnB,2IAA2I,CAAC;AAE9I;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAe,EAAE,QAAuB;IACxE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,OAAO,GAAG,CAAC,CAAa,EAAQ,EAAE;QACtC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B,CAAC;QAC9C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QACnB,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QACnB,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,CAAa,EAAQ,EAAE;QACpC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO;QAEf,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QAC/B,IAAI,EAAE,GAAG,qBAAqB;YAAE,OAAO;QACvC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB;YAAE,OAAO;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB;YAAE,OAAO;QAE7C,IAAI,EAAE,GAAG,CAAC;YAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;;YAChC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC,CAAC;IAEF,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,OAAO;YACL,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC9C,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1C,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;AACJ,CAAC"}