cloakbrowser 0.3.27 → 0.3.29

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 (50) hide show
  1. package/README.md +8 -1
  2. package/dist/args.d.ts +0 -3
  3. package/dist/args.d.ts.map +1 -1
  4. package/dist/args.js +7 -0
  5. package/dist/args.js.map +1 -1
  6. package/dist/geoip.d.ts.map +1 -1
  7. package/dist/geoip.js +51 -10
  8. package/dist/geoip.js.map +1 -1
  9. package/dist/human/actionability.d.ts +45 -0
  10. package/dist/human/actionability.d.ts.map +1 -0
  11. package/dist/human/actionability.js +274 -0
  12. package/dist/human/actionability.js.map +1 -0
  13. package/dist/human/config.d.ts +5 -0
  14. package/dist/human/config.d.ts.map +1 -1
  15. package/dist/human/config.js.map +1 -1
  16. package/dist/human/elementhandle.d.ts.map +1 -1
  17. package/dist/human/elementhandle.js +66 -16
  18. package/dist/human/elementhandle.js.map +1 -1
  19. package/dist/human/index.d.ts.map +1 -1
  20. package/dist/human/index.js +234 -47
  21. package/dist/human/index.js.map +1 -1
  22. package/dist/human/mouse.d.ts +1 -0
  23. package/dist/human/mouse.d.ts.map +1 -1
  24. package/dist/human/mouse.js +8 -4
  25. package/dist/human/mouse.js.map +1 -1
  26. package/dist/human/scroll.d.ts +4 -0
  27. package/dist/human/scroll.d.ts.map +1 -1
  28. package/dist/human/scroll.js +5 -3
  29. package/dist/human/scroll.js.map +1 -1
  30. package/dist/human-puppeteer/index.d.ts.map +1 -1
  31. package/dist/human-puppeteer/index.js +10 -10
  32. package/dist/human-puppeteer/index.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/playwright.d.ts +12 -1
  38. package/dist/playwright.d.ts.map +1 -1
  39. package/dist/playwright.js +35 -21
  40. package/dist/playwright.js.map +1 -1
  41. package/dist/proxy.d.ts.map +1 -1
  42. package/dist/proxy.js +11 -1
  43. package/dist/proxy.js.map +1 -1
  44. package/dist/puppeteer.d.ts +23 -2
  45. package/dist/puppeteer.d.ts.map +1 -1
  46. package/dist/puppeteer.js +93 -58
  47. package/dist/puppeteer.js.map +1 -1
  48. package/dist/types.d.ts +2 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +3 -3
@@ -26,6 +26,7 @@ import { humanMove, humanClick, clickTarget, humanIdle } from './mouse.js';
26
26
  import { humanType } from './keyboard.js';
27
27
  import { scrollToElement } from './scroll.js';
28
28
  import { patchPageElementHandles, patchFrameElementHandles } from './elementhandle.js';
29
+ import { ensureActionable, ensureStable, checkPointerEvents, CHECKS_CLICK, CHECKS_HOVER, CHECKS_INPUT, CHECKS_FOCUS, CHECKS_CHECK, } from './actionability.js';
29
30
  export { resolveConfig, mergeConfig } from './config.js';
30
31
  export { humanMove, humanClick, clickTarget, humanIdle } from './mouse.js';
31
32
  export { humanType } from './keyboard.js';
@@ -267,15 +268,31 @@ function patchPage(page, cfg, cursor) {
267
268
  // --- click ---
268
269
  const humanClickFn = async (selector, options) => {
269
270
  await ensureCursorInit();
270
- const callCfg = mergeConfig(cfg, options?.human_config);
271
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
272
+ const timeout = options?.timeout ?? 30000;
273
+ const force = options?.force ?? false;
274
+ const skipChecks = options?._skipChecks ?? false;
275
+ const deadline = Date.now() + timeout;
276
+ const remainingMs = () => Math.max(0, deadline - Date.now());
277
+ if (!force && !skipChecks) {
278
+ await ensureActionable(page, selector, CHECKS_CLICK, remainingMs(), force);
279
+ }
271
280
  if (callCfg.idle_between_actions) {
272
- await humanIdle(raw, rand(callCfg.idle_between_duration[0], callCfg.idle_between_duration[1]), cursor.x, cursor.y, callCfg);
281
+ await humanIdle(raw, cursor.x, cursor.y, callCfg);
273
282
  }
274
- const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, options?.timeout);
283
+ const { box, cursorX, cursorY, didScroll } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, remainingMs());
275
284
  cursor.x = cursorX;
276
285
  cursor.y = cursorY;
277
286
  const isInput = await isInputElement(stealth, page, selector);
278
- const target = clickTarget(box, isInput, callCfg);
287
+ let finalBox = box;
288
+ if (!force && didScroll) {
289
+ await ensureStable(page, selector, remainingMs());
290
+ finalBox = await page.locator(selector).first().boundingBox({ timeout: Math.max(1, remainingMs()) }) ?? box;
291
+ }
292
+ const target = clickTarget(finalBox, isInput, callCfg);
293
+ if (!force) {
294
+ await checkPointerEvents(page, selector, target.x, target.y, stealth, remainingMs());
295
+ }
279
296
  await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
280
297
  cursor.x = target.x;
281
298
  cursor.y = target.y;
@@ -284,15 +301,29 @@ function patchPage(page, cfg, cursor) {
284
301
  // --- dblclick ---
285
302
  const humanDblclickFn = async (selector, options) => {
286
303
  await ensureCursorInit();
287
- const callCfg = mergeConfig(cfg, options?.human_config);
304
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
305
+ const timeout = options?.timeout ?? 30000;
306
+ const force = options?.force ?? false;
307
+ const deadline = Date.now() + timeout;
308
+ const remainingMs = () => Math.max(0, deadline - Date.now());
309
+ if (!force)
310
+ await ensureActionable(page, selector, CHECKS_CLICK, remainingMs(), force);
288
311
  if (callCfg.idle_between_actions) {
289
- await humanIdle(raw, rand(callCfg.idle_between_duration[0], callCfg.idle_between_duration[1]), cursor.x, cursor.y, callCfg);
312
+ await humanIdle(raw, cursor.x, cursor.y, callCfg);
290
313
  }
291
- const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, options?.timeout);
314
+ const { box, cursorX, cursorY, didScroll } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, remainingMs());
292
315
  cursor.x = cursorX;
293
316
  cursor.y = cursorY;
294
317
  const isInput = await isInputElement(stealth, page, selector);
295
- const target = clickTarget(box, isInput, callCfg);
318
+ let finalBox = box;
319
+ if (!force && didScroll) {
320
+ await ensureStable(page, selector, remainingMs());
321
+ finalBox = await page.locator(selector).first().boundingBox({ timeout: Math.max(1, remainingMs()) }) ?? box;
322
+ }
323
+ const target = clickTarget(finalBox, isInput, callCfg);
324
+ if (!force) {
325
+ await checkPointerEvents(page, selector, target.x, target.y, stealth, remainingMs());
326
+ }
296
327
  await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
297
328
  cursor.x = target.x;
298
329
  cursor.y = target.y;
@@ -303,32 +334,59 @@ function patchPage(page, cfg, cursor) {
303
334
  // --- hover ---
304
335
  const humanHoverFn = async (selector, options) => {
305
336
  await ensureCursorInit();
306
- const callCfg = mergeConfig(cfg, options?.human_config);
337
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
338
+ const timeout = options?.timeout ?? 30000;
339
+ const force = options?.force ?? false;
340
+ const skipChecks = options?._skipChecks ?? false;
341
+ const deadline = Date.now() + timeout;
342
+ const remainingMs = () => Math.max(0, deadline - Date.now());
343
+ if (!force && !skipChecks)
344
+ await ensureActionable(page, selector, CHECKS_HOVER, remainingMs(), force);
307
345
  if (callCfg.idle_between_actions) {
308
- await humanIdle(raw, rand(callCfg.idle_between_duration[0], callCfg.idle_between_duration[1]), cursor.x, cursor.y, callCfg);
346
+ await humanIdle(raw, cursor.x, cursor.y, callCfg);
309
347
  }
310
- const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, options?.timeout);
348
+ const { box, cursorX, cursorY, didScroll } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, remainingMs());
311
349
  cursor.x = cursorX;
312
350
  cursor.y = cursorY;
313
- const target = clickTarget(box, false, callCfg);
351
+ let finalBox = box;
352
+ if (!force && didScroll) {
353
+ await ensureStable(page, selector, remainingMs());
354
+ finalBox = await page.locator(selector).first().boundingBox({ timeout: Math.max(1, remainingMs()) }) ?? box;
355
+ }
356
+ const target = clickTarget(finalBox, false, callCfg);
357
+ if (!force) {
358
+ await checkPointerEvents(page, selector, target.x, target.y, stealth, remainingMs());
359
+ }
314
360
  await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
315
361
  cursor.x = target.x;
316
362
  cursor.y = target.y;
317
363
  };
318
364
  // --- type ---
319
365
  const humanTypeFn = async (selector, text, options) => {
320
- const callCfg = mergeConfig(cfg, options?.human_config);
366
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
367
+ const timeout = options?.timeout ?? 30000;
368
+ const force = options?.force ?? false;
369
+ const deadline = Date.now() + timeout;
370
+ const remainingMs = () => Math.max(0, deadline - Date.now());
371
+ if (!force)
372
+ await ensureActionable(page, selector, CHECKS_INPUT, remainingMs(), force);
321
373
  await sleep(randRange(callCfg.field_switch_delay));
322
- await humanClickFn(selector, options);
374
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
323
375
  await sleep(rand(100, 250));
324
376
  const cdp = await ensureCdp();
325
377
  await humanType(page, rawKb, text, callCfg, cdp);
326
378
  };
327
379
  // --- fill (clears existing content first) ---
328
380
  const humanFillFn = async (selector, value, options) => {
329
- const callCfg = mergeConfig(cfg, options?.human_config);
381
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
382
+ const timeout = options?.timeout ?? 30000;
383
+ const force = options?.force ?? false;
384
+ const deadline = Date.now() + timeout;
385
+ const remainingMs = () => Math.max(0, deadline - Date.now());
386
+ if (!force)
387
+ await ensureActionable(page, selector, CHECKS_INPUT, remainingMs(), force);
330
388
  await sleep(randRange(callCfg.field_switch_delay));
331
- await humanClickFn(selector, options);
389
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
332
390
  await sleep(rand(100, 250));
333
391
  await originals.keyboardPress(SELECT_ALL);
334
392
  await sleep(rand(30, 80));
@@ -339,8 +397,14 @@ function patchPage(page, cfg, cursor) {
339
397
  };
340
398
  // --- clear ---
341
399
  const humanClearFn = async (selector, options) => {
400
+ const timeout = options?.timeout ?? 30000;
401
+ const force = options?.force ?? false;
402
+ const deadline = Date.now() + timeout;
403
+ const remainingMs = () => Math.max(0, deadline - Date.now());
404
+ if (!force)
405
+ await ensureActionable(page, selector, CHECKS_FOCUS, remainingMs(), force);
342
406
  if (!await isSelectorFocused(stealth, page, selector)) {
343
- await humanClickFn(selector);
407
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
344
408
  }
345
409
  await sleep(rand(50, 150));
346
410
  await originals.keyboardPress(SELECT_ALL);
@@ -349,43 +413,75 @@ function patchPage(page, cfg, cursor) {
349
413
  };
350
414
  // --- check ---
351
415
  const humanCheckFn = async (selector, options) => {
352
- if (cfg.idle_between_actions) {
353
- await humanIdle(raw, rand(cfg.idle_between_duration[0], cfg.idle_between_duration[1]), cursor.x, cursor.y, cfg);
416
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
417
+ const timeout = options?.timeout ?? 30000;
418
+ const force = options?.force ?? false;
419
+ const deadline = Date.now() + timeout;
420
+ const remainingMs = () => Math.max(0, deadline - Date.now());
421
+ if (!force)
422
+ await ensureActionable(page, selector, CHECKS_CHECK, remainingMs(), force);
423
+ if (callCfg.idle_between_actions) {
424
+ await humanIdle(raw, cursor.x, cursor.y, callCfg);
354
425
  }
355
426
  const checked = await originals.isChecked(selector).catch(() => false);
356
427
  if (!checked) {
357
- await humanClickFn(selector);
428
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
358
429
  }
359
430
  };
360
431
  // --- uncheck ---
361
432
  const humanUncheckFn = async (selector, options) => {
362
- if (cfg.idle_between_actions) {
363
- await humanIdle(raw, rand(cfg.idle_between_duration[0], cfg.idle_between_duration[1]), cursor.x, cursor.y, cfg);
433
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
434
+ const timeout = options?.timeout ?? 30000;
435
+ const force = options?.force ?? false;
436
+ const deadline = Date.now() + timeout;
437
+ const remainingMs = () => Math.max(0, deadline - Date.now());
438
+ if (!force)
439
+ await ensureActionable(page, selector, CHECKS_CHECK, remainingMs(), force);
440
+ if (callCfg.idle_between_actions) {
441
+ await humanIdle(raw, cursor.x, cursor.y, callCfg);
364
442
  }
365
443
  const checked = await originals.isChecked(selector).catch(() => true);
366
444
  if (checked) {
367
- await humanClickFn(selector);
445
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
368
446
  }
369
447
  };
370
448
  // --- selectOption ---
371
449
  const humanSelectOptionFn = async (selector, values, options) => {
372
- await humanHoverFn(selector);
450
+ const timeout = options?.timeout ?? 30000;
451
+ const force = options?.force ?? false;
452
+ const deadline = Date.now() + timeout;
453
+ const remainingMs = () => Math.max(0, deadline - Date.now());
454
+ if (!force)
455
+ await ensureActionable(page, selector, CHECKS_FOCUS, remainingMs(), force);
456
+ await humanHoverFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
373
457
  await sleep(rand(100, 300));
374
458
  return originals.selectOption(selector, values, options);
375
459
  };
376
460
  // --- press (checks focus first — avoids redundant mouse moves) ---
377
461
  const humanPressFn = async (selector, key, options) => {
462
+ const timeout = options?.timeout ?? 30000;
463
+ const force = options?.force ?? false;
464
+ const deadline = Date.now() + timeout;
465
+ const remainingMs = () => Math.max(0, deadline - Date.now());
466
+ if (!force)
467
+ await ensureActionable(page, selector, CHECKS_FOCUS, remainingMs(), force);
378
468
  if (!await isSelectorFocused(stealth, page, selector)) {
379
- await humanClickFn(selector);
469
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
380
470
  }
381
471
  await sleep(rand(50, 150));
382
472
  await originals.keyboardPress(key);
383
473
  };
384
474
  // --- pressSequentially ---
385
475
  const humanPressSequentiallyFn = async (selector, text, options) => {
386
- const callCfg = mergeConfig(cfg, options?.human_config);
476
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
477
+ const timeout = options?.timeout ?? 30000;
478
+ const force = options?.force ?? false;
479
+ const deadline = Date.now() + timeout;
480
+ const remainingMs = () => Math.max(0, deadline - Date.now());
481
+ if (!force)
482
+ await ensureActionable(page, selector, CHECKS_FOCUS, remainingMs(), force);
387
483
  if (!await isSelectorFocused(stealth, page, selector)) {
388
- await humanClickFn(selector, options);
484
+ await humanClickFn(selector, { _skipChecks: true, timeout: remainingMs(), force, human_config: options?.human_config });
389
485
  }
390
486
  await sleep(rand(100, 250));
391
487
  const cdp = await ensureCdp();
@@ -461,56 +557,147 @@ function patchPage(page, cfg, cursor) {
461
557
  */
462
558
  function patchFrames(page, cfg, cursor, raw, rawKb, originals, stealth) {
463
559
  for (const frame of iterFrames(page)) {
464
- patchSingleFrame(frame, page, cfg, originals, stealth);
560
+ patchSingleFrame(frame, page, cfg, cursor, raw, rawKb, originals, stealth);
465
561
  // Patch frame-level ElementHandle selectors ($, $$, waitForSelector)
466
562
  patchFrameElementHandles(frame, page, cfg, cursor, raw, rawKb, originals, stealth);
467
563
  }
468
564
  }
469
- function patchSingleFrame(frame, page, cfg, originals, stealth) {
565
+ function firstFrameLocator(frame, selector) {
566
+ const locator = frame.locator(selector);
567
+ return typeof locator.first === 'function' ? locator.first() : locator;
568
+ }
569
+ async function isFrameInputElement(frame, selector) {
570
+ return firstFrameLocator(frame, selector).evaluate((el) => {
571
+ const tag = el.tagName.toLowerCase();
572
+ return tag === 'input' || tag === 'textarea'
573
+ || el.getAttribute('contenteditable') === 'true';
574
+ }).catch(() => false);
575
+ }
576
+ async function isFrameSelectorFocused(frame, selector) {
577
+ return firstFrameLocator(frame, selector).evaluate((el) => el === document.activeElement)
578
+ .catch(() => false);
579
+ }
580
+ function patchSingleFrame(frame, page, cfg, cursor, raw, rawKb, originals, stealth) {
470
581
  if (frame._humanPatched)
471
582
  return;
472
583
  frame._humanPatched = true;
473
584
  // Save originals for methods that need fallback
585
+ const origFrameClick = frame.click.bind(frame);
586
+ const origFrameDblclick = frame.dblclick.bind(frame);
587
+ const origFrameHover = frame.hover.bind(frame);
588
+ const origFrameType = frame.type.bind(frame);
589
+ const origFrameFill = frame.fill.bind(frame);
590
+ const origFrameCheck = frame.check.bind(frame);
591
+ const origFrameUncheck = frame.uncheck.bind(frame);
474
592
  const origFrameSelectOption = frame.selectOption.bind(frame);
593
+ const origFramePress = frame.press.bind(frame);
594
+ const origFramePressSequentially = frame.pressSequentially?.bind(frame);
595
+ const origFrameTap = frame.tap?.bind(frame);
475
596
  const origFrameDragAndDrop = frame.dragAndDrop.bind(frame);
476
- frame.click = async (selector, options) => {
477
- await page.click(selector, options);
597
+ const moveToFrameSelector = async (selector, options, inputBias = false) => {
598
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
599
+ if (callCfg.idle_between_actions) {
600
+ await humanIdle(raw, cursor.x, cursor.y, callCfg);
601
+ }
602
+ const locator = firstFrameLocator(frame, selector);
603
+ if (typeof locator.scrollIntoViewIfNeeded === 'function') {
604
+ await locator.scrollIntoViewIfNeeded({ timeout: options?.timeout }).catch(() => undefined);
605
+ }
606
+ const box = await locator.boundingBox({ timeout: options?.timeout ?? 30000 }).catch(() => null);
607
+ if (!box)
608
+ return null;
609
+ const isInput = inputBias || await isFrameInputElement(frame, selector);
610
+ const target = clickTarget(box, isInput, callCfg);
611
+ await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
612
+ cursor.x = target.x;
613
+ cursor.y = target.y;
614
+ return { callCfg, isInput };
478
615
  };
479
- frame.dblclick = async (selector, options) => {
480
- await page.dblclick(selector, options);
616
+ const frameClick = async (selector, options) => {
617
+ const moved = await moveToFrameSelector(selector, options);
618
+ if (!moved)
619
+ return origFrameClick(selector, options);
620
+ await humanClick(raw, moved.isInput, moved.callCfg);
621
+ };
622
+ const getFrameCdp = async () => stealth.getCdpSession().catch(() => null);
623
+ const frameHover = async (selector, options) => {
624
+ const moved = await moveToFrameSelector(selector, options, false);
625
+ if (!moved)
626
+ return origFrameHover(selector, options);
481
627
  };
482
- frame.hover = async (selector, options) => {
483
- await page.hover(selector, options);
628
+ frame.click = frameClick;
629
+ frame.dblclick = async (selector, options) => {
630
+ const moved = await moveToFrameSelector(selector, options);
631
+ if (!moved)
632
+ return origFrameDblclick(selector, options);
633
+ await raw.down({ clickCount: 2 });
634
+ await sleep(rand(30, 60));
635
+ await raw.up({ clickCount: 2 });
484
636
  };
637
+ frame.hover = frameHover;
485
638
  frame.type = async (selector, text, options) => {
486
- await page.type(selector, text, options);
639
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
640
+ await sleep(randRange(callCfg.field_switch_delay));
641
+ await frameClick(selector, options);
642
+ await sleep(rand(100, 250));
643
+ const cdp = await getFrameCdp();
644
+ await humanType(page, rawKb, text, callCfg, cdp).catch(() => origFrameType(selector, text, options));
487
645
  };
488
646
  frame.fill = async (selector, value, options) => {
489
- await page.fill(selector, value, options);
647
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
648
+ await sleep(randRange(callCfg.field_switch_delay));
649
+ await frameClick(selector, options);
650
+ await sleep(rand(100, 250));
651
+ await originals.keyboardPress(SELECT_ALL);
652
+ await sleep(rand(30, 80));
653
+ await originals.keyboardPress('Backspace');
654
+ await sleep(rand(50, 150));
655
+ const cdp = await getFrameCdp();
656
+ await humanType(page, rawKb, value, callCfg, cdp).catch(() => origFrameFill(selector, value, options));
490
657
  };
491
658
  frame.check = async (selector, options) => {
492
- await page.check(selector, options);
659
+ const locator = firstFrameLocator(frame, selector);
660
+ if (typeof locator.isChecked !== 'function')
661
+ return origFrameCheck(selector, options);
662
+ const checked = await locator.isChecked();
663
+ if (!checked)
664
+ await frameClick(selector, options).catch(() => origFrameCheck(selector, options));
493
665
  };
494
666
  frame.uncheck = async (selector, options) => {
495
- await page.uncheck(selector, options);
667
+ const locator = firstFrameLocator(frame, selector);
668
+ if (typeof locator.isChecked !== 'function')
669
+ return origFrameUncheck(selector, options);
670
+ const checked = await locator.isChecked();
671
+ if (checked)
672
+ await frameClick(selector, options).catch(() => origFrameUncheck(selector, options));
496
673
  };
497
674
  frame.selectOption = async (selector, values, options) => {
498
- await page.hover(selector);
675
+ await frameHover(selector, options);
499
676
  await sleep(rand(100, 300));
500
677
  return origFrameSelectOption(selector, values, options);
501
678
  };
502
679
  frame.press = async (selector, key, options) => {
503
- await page.press(selector, key, options);
680
+ if (!await isFrameSelectorFocused(frame, selector)) {
681
+ await frameClick(selector, options);
682
+ }
683
+ await sleep(rand(50, 150));
684
+ await originals.keyboardPress(key);
504
685
  };
505
686
  frame.pressSequentially = async (selector, text, options) => {
506
- await page.pressSequentially(selector, text, options);
687
+ const callCfg = mergeConfig(cfg, options?.human_config ?? options);
688
+ if (!await isFrameSelectorFocused(frame, selector)) {
689
+ await frameClick(selector, options);
690
+ }
691
+ await sleep(rand(100, 250));
692
+ const cdp = await getFrameCdp();
693
+ await humanType(page, rawKb, text, callCfg, cdp).catch(() => origFramePressSequentially?.(selector, text, options));
507
694
  };
508
695
  frame.tap = async (selector, options) => {
509
- await page.tap(selector, options);
696
+ await frameClick(selector, options).catch(() => origFrameTap?.(selector, options));
510
697
  };
511
698
  frame.clear = async (selector, options) => {
512
- if (!await isSelectorFocused(stealth, page, selector)) {
513
- await page.click(selector);
699
+ if (!await isFrameSelectorFocused(frame, selector)) {
700
+ await frameClick(selector, options);
514
701
  }
515
702
  await sleep(rand(50, 150));
516
703
  await originals.keyboardPress(SELECT_ALL);
@@ -518,8 +705,8 @@ function patchSingleFrame(frame, page, cfg, originals, stealth) {
518
705
  await originals.keyboardPress('Backspace');
519
706
  };
520
707
  frame.dragAndDrop = async (source, target, options) => {
521
- const srcBox = await frame.locator(source).boundingBox().catch(() => null);
522
- const tgtBox = await frame.locator(target).boundingBox().catch(() => null);
708
+ const srcBox = await firstFrameLocator(frame, source).boundingBox({ timeout: options?.timeout ?? 30000 }).catch(() => null);
709
+ const tgtBox = await firstFrameLocator(frame, target).boundingBox({ timeout: options?.timeout ?? 30000 }).catch(() => null);
523
710
  if (srcBox && tgtBox) {
524
711
  const sx = srcBox.x + srcBox.width / 2;
525
712
  const sy = srcBox.y + srcBox.height / 2;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/human/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAA8B,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAyB,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAA4B,MAAM,oBAAoB,CAAC;AAEjH,OAAO,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,mFAAmF;AACnF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;AAG1E,+EAA+E;AAC/E,8CAA8C;AAC9C,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,WAAW;IACP,GAAG,GAAsB,IAAI,CAAC;IAC9B,SAAS,GAAkB,IAAI,CAAC;IAChC,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACxD,OAAO;YACP,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAChD,UAAU;oBACV,SAAS,EAAE,IAAI,CAAC,SAAU;oBAC1B,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,+CAA+C;oBAC/C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;wBAClB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBACzB,SAAS;oBACX,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,OAAO,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,UAAU;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAGD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,WAAW;IACf,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,CAAC,CAAC;IACN,WAAW,GAAG,KAAK,CAAC;CACrB;AAGD,+EAA+E;AAC/E,8DAA8D;AAC9D,+EAA+E;AAE/E;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,OAA2B,EAC3B,IAAU,EACV,QAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;;8CAEE,OAAO;;;;;;OAM9C,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,MAAM,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,UAAU;eACvC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,MAAM,CAAC;IACrD,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAA2B,EAC3B,IAAU,EACV,QAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;;8CAEE,OAAO;;;OAG9C,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,MAAM,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK,QAAQ,CAAC,aAAa,CAAC;IACvC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAGD,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,SAAS,CAAC,IAAU,EAAE,GAAgB,EAAE,MAAmB;IAClE,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7C,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACvC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpD,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KACjE,CAAC;IAED,IAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,IAAY,CAAC,SAAS,GAAG,GAAG,CAAC;IAE9B,iCAAiC;IACjC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAY,CAAC,QAAQ,GAAG,OAAO,CAAC;IAEjC,mFAAmF;IACnF,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,IAAgC,EAAE;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAa;QACpB,IAAI,EAAE,SAAS,CAAC,SAAS;QACzB,IAAI,EAAE,SAAS,CAAC,SAAS;QACzB,EAAE,EAAE,SAAS,CAAC,OAAO;QACrB,KAAK,EAAE,SAAS,CAAC,UAAU;KAC5B,CAAC;IAEF,MAAM,KAAK,GAAgB;QACzB,IAAI,EAAE,SAAS,CAAC,YAAY;QAC5B,EAAE,EAAE,SAAS,CAAC,UAAU;QACxB,IAAI,EAAE,SAAS,CAAC,YAAY;QAC5B,UAAU,EAAE,SAAS,CAAC,kBAAkB;KACzC,CAAC;IAEF,KAAK,UAAU,gBAAgB;QAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,OAAa,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC7D,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9H,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5H,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACpB,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,eAAe,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAChE,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9H,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5H,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACpB,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC7D,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9H,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5H,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,eAAe;IACf,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,OAAa,EAAE,EAAE;QAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnD,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,+CAA+C;IAC/C,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,OAAa,EAAE,EAAE;QAC3E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnD,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC7D,IAAI,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC7D,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAC7B,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,kBAAkB;IAClB,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC/D,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAC7B,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,uBAAuB;IACvB,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAW,EAAE,OAAa,EAAE,EAAE;QACjF,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,oEAAoE;IACpE,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAa,EAAE,EAAE;QAC1E,IAAI,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,4BAA4B;IAC5B,MAAM,wBAAwB,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,OAAa,EAAE,EAAE;QACvF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,cAAc;IACd,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC3D,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,4BAA4B;IAC3B,IAAY,CAAC,IAAI,GAAG,SAAS,CAAC;IAC9B,IAAY,CAAC,KAAK,GAAG,YAAY,CAAC;IAClC,IAAY,CAAC,QAAQ,GAAG,eAAe,CAAC;IACxC,IAAY,CAAC,KAAK,GAAG,YAAY,CAAC;IAClC,IAAY,CAAC,IAAI,GAAG,WAAW,CAAC;IAChC,IAAY,CAAC,IAAI,GAAG,WAAW,CAAC;IAChC,IAAY,CAAC,KAAK,GAAG,YAAY,CAAC;IAClC,IAAY,CAAC,OAAO,GAAG,cAAc,CAAC;IACtC,IAAY,CAAC,YAAY,GAAG,mBAAmB,CAAC;IAChD,IAAY,CAAC,KAAK,GAAG,YAAY,CAAC;IAClC,IAAY,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAC1D,IAAY,CAAC,GAAG,GAAG,UAAU,CAAC;IAC9B,IAAY,CAAC,KAAK,GAAG,YAAY,CAAC;IAEnC,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAS,EAAE,CAAS,EAAE,OAAa,EAAE,EAAE;QAC9D,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,EAAE,CAAS,EAAE,CAAS,EAAE,OAAa,EAAE,EAAE;QAC/D,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,EAAE,IAAY,EAAE,OAAa,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,mCAAmC;IAClC,IAAY,CAAC,YAAY,GAAG,MAAM,CAAC;IACnC,IAAY,CAAC,SAAS,GAAG,GAAG,CAAC;IAC7B,IAAY,CAAC,WAAW,GAAG,KAAK,CAAC;IACjC,IAAY,CAAC,eAAe,GAAG,SAAS,CAAC;IACzC,IAAY,CAAC,aAAa,GAAG,YAAY,CAAC;IAC1C,IAAY,CAAC,aAAa,GAAG,YAAY,CAAC;IAC1C,IAAY,CAAC,aAAa,GAAG,YAAY,CAAC;IAC1C,IAAY,CAAC,aAAa,GAAG,YAAY,CAAC;IAC1C,IAAY,CAAC,yBAAyB,GAAG,wBAAwB,CAAC;IAClE,IAAY,CAAC,WAAW,GAAG,UAAU,CAAC;IACtC,IAAY,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAEnD,sEAAsE;IACtE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAChD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEnB,qDAAqD;IACrD,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE/D,gFAAgF;IAChF,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAGD,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,WAAW,CAClB,IAAU,EACV,GAAgB,EAChB,MAAmB,EACnB,GAAa,EACb,KAAkB,EAClB,SAAc,EACd,OAAoB;IAEpB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,qEAAqE;QACrE,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAY,EACZ,IAAU,EACV,GAAgB,EAChB,SAAc,EACd,OAAoB;IAEpB,IAAK,KAAa,CAAC,aAAa;QAAE,OAAO;IACxC,KAAa,CAAC,aAAa,GAAG,IAAI,CAAC;IAEpC,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1D,KAAa,CAAC,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC/D,MAAO,IAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC;IAED,KAAa,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAClE,MAAO,IAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC;IAED,KAAa,CAAC,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC/D,MAAO,IAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC;IAED,KAAa,CAAC,IAAI,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,OAAa,EAAE,EAAE;QAC5E,MAAO,IAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC;IAED,KAAa,CAAC,IAAI,GAAG,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,OAAa,EAAE,EAAE;QAC7E,MAAO,IAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC;IAED,KAAa,CAAC,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC/D,MAAO,IAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC;IAED,KAAa,CAAC,OAAO,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QACjE,MAAO,IAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC;IAED,KAAa,CAAC,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAW,EAAE,OAAa,EAAE,EAAE;QACnF,MAAO,IAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;IAED,KAAa,CAAC,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAa,EAAE,EAAE;QAC5E,MAAO,IAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC;IAED,KAAa,CAAC,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,OAAa,EAAE,EAAE;QACzF,MAAO,IAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC,CAAC;IAED,KAAa,CAAC,GAAG,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC7D,MAAO,IAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC;IAED,KAAa,CAAC,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAa,EAAE,EAAE;QAC/D,IAAI,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAO,IAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC,CAAC;IAED,KAAa,CAAC,WAAW,GAAG,KAAK,EAAE,MAAc,EAAE,MAAc,EAAE,OAAa,EAAE,EAAE;QACnF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAGD,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAU;IAC7B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAGD,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,SAAS,YAAY,CAAC,OAAuB,EAAE,GAAgB;IAC7D,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE;QAChC,IAAI,CAAE,IAAY,CAAC,SAAS,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,OAAe,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QACjC,IAAI,CAAE,IAAY,CAAC,SAAS,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAGD,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,GAAgB;IAC7D,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,OAAe,CAAC,UAAU,GAAG,KAAK,EAAE,OAAa,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9C,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,OAAe,CAAC,OAAO,GAAG,KAAK,EAAE,OAAa,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAE,IAAY,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAE,GAAW,CAAC,aAAa,EAAE,CAAC;gBAChC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,GAAW,CAAC,aAAa,GAAG,IAAI,CAAC;YACpC,CAAC;YACD,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/human/index.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export declare function clickTarget(box: {
26
26
  height: number;
27
27
  }, isInput: boolean, cfg: HumanConfig): Point;
28
28
  export declare function humanClick(raw: RawMouse, isInput: boolean, cfg: HumanConfig): Promise<void>;
29
+ export declare function humanIdle(raw: RawMouse, cx: number, cy: number, cfg: HumanConfig): Promise<void>;
29
30
  export declare function humanIdle(raw: RawMouse, seconds: number, cx: number, cy: number, cfg: HumanConfig): Promise<void>;
30
31
  export {};
31
32
  //# sourceMappingURL=mouse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../src/human/mouse.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAwC,MAAM,aAAa,CAAC;AAMhF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAgBD,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAgCD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAMD,wBAAgB,WAAW,CACzB,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5D,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,WAAW,GACf,KAAK,CAeP;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../src/human/mouse.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAwC,MAAM,aAAa,CAAC;AAMhF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAgBD,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAgCD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAMD,wBAAgB,WAAW,CACzB,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5D,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,WAAW,GACf,KAAK,CAeP;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD,wBAAgB,SAAS,CACvB,GAAG,EAAE,QAAQ,EACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;AACjB,wBAAgB,SAAS,CACvB,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -104,10 +104,14 @@ export async function humanClick(raw, isInput, cfg) {
104
104
  await sleep(holdTime);
105
105
  await raw.up();
106
106
  }
107
- // ---------------------------------------------------------------------------
108
- // Human idle / drift
109
- // ---------------------------------------------------------------------------
110
- export async function humanIdle(raw, seconds, cx, cy, cfg) {
107
+ export async function humanIdle(raw, secondsOrCx, cxOrCy, cyOrCfg, maybeCfg) {
108
+ const hasExplicitSeconds = maybeCfg !== undefined;
109
+ const seconds = hasExplicitSeconds
110
+ ? secondsOrCx
111
+ : rand(cyOrCfg.idle_between_duration[0], cyOrCfg.idle_between_duration[1]);
112
+ const cx = hasExplicitSeconds ? cxOrCy : secondsOrCx;
113
+ const cy = hasExplicitSeconds ? cyOrCfg : cxOrCy;
114
+ const cfg = hasExplicitSeconds ? maybeCfg : cyOrCfg;
111
115
  const endTime = Date.now() + seconds * 1000;
112
116
  let x = cx;
113
117
  let y = cy;
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/human/mouse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/human/mouse.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAoBhF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAWD,SAAS,MAAM,CAAC,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,CAAS;IACnE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,OAAO;QACL,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY,EAAE,GAAU;IACnD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACrC,OAAO;QACL,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE;QAC5E,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE;KAC7E,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAa,EACb,MAAc,EACd,MAAc,EACd,IAAY,EACZ,IAAY,EACZ,GAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,GAAG,CAAC,eAAe,EACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAC1E,CAAC;IAEF,MAAM,KAAK,GAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEnD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACtE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAExD,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,YAAY,EAAE,CAAC;QACf,IAAI,YAAY,IAAI,SAAS,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YAC3C,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9C,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,UAAU,WAAW,CACzB,GAA4D,EAC5D,OAAgB,EAChB,GAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACxC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;SAC1C,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QACxC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAa,EACb,OAAgB,EAChB,GAAgB;IAEhB,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtB,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACjC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtB,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC;AACjB,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAa,EACb,WAAmB,EACnB,MAAc,EACd,OAA6B,EAC7B,QAAsB;IAEtB,MAAM,kBAAkB,GAAG,QAAQ,KAAK,SAAS,CAAC;IAClD,MAAM,OAAO,GAAG,kBAAkB;QAChC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,IAAI,CAAE,OAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAG,OAAuB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IACrD,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,CAAE,OAAuB,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC;QACzD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC;QACzD,CAAC,IAAI,EAAE,CAAC;QACR,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}