@unotest/web 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -466,6 +466,24 @@ built-in DSL functions.
466
466
  (`camelCase`); `test_*` is reserved for entry functions; `flow_*` for
467
467
  composite multi-step helpers.
468
468
 
469
+ **A helper that READS is not a flow.** `flow_*` is executable on its own —
470
+ the runner accepts it as an entry and `explore_run_flow` replays it — so
471
+ that prefix is for journeys worth replaying. Anything that reads state and
472
+ hands back a value is a plain `snake_case` helper:
473
+
474
+ ```js
475
+ // unotest/e2e/_helpers/viewer.js
476
+ function overview_header_width() {
477
+ return evaluate('(() => document.querySelector("header").getBoundingClientRect().width)()');
478
+ }
479
+ ```
480
+
481
+ `return` is legal in either helper kind, and NOT in a `test_*` entry —
482
+ there it would mean the scenario silently ended halfway. A `flow_*` that
483
+ returns a value gets a `lint:flow-returns-value` warning: fine when the flow
484
+ acts and yields its result (`email = flow_signup()`), a rename hint when it
485
+ only reads.
486
+
469
487
  **Saved test structure.** Every step in a `test_*` entry must sit inside a
470
488
  `step("description", () => { … })` block (linter enforces). The title is the
471
489
  plain-English intent of the group; when a step later breaks you read it
@@ -597,6 +597,24 @@ built-in DSL functions.
597
597
  (`camelCase`); `test_*` is reserved for entry functions; `flow_*` for
598
598
  composite multi-step helpers.
599
599
 
600
+ **A helper that READS is not a flow.** `flow_*` is executable on its own —
601
+ the runner accepts it as an entry and `explore_run_flow` replays it — so
602
+ that prefix is for journeys worth replaying. Anything that reads state and
603
+ hands back a value is a plain `snake_case` helper:
604
+
605
+ ```js
606
+ // unotest/e2e/_helpers/viewer.js
607
+ function overview_header_width() {
608
+ return evaluate('(() => document.querySelector("header").getBoundingClientRect().width)()');
609
+ }
610
+ ```
611
+
612
+ `return` is legal in either helper kind, and NOT in a `test_*` entry —
613
+ there it would mean the scenario silently ended halfway. A `flow_*` that
614
+ returns a value gets a `lint:flow-returns-value` warning: fine when the flow
615
+ acts and yields its result (`email = flow_signup()`), a rename hint when it
616
+ only reads.
617
+
600
618
  **Saved test structure.** Every step in a `test_*` entry must sit inside a
601
619
  `step("description", () => { … })` block (linter enforces). The title is the
602
620
  plain-English intent of the group; when a step later breaks you read it
package/CHANGELOG.md CHANGED
@@ -1,5 +1,67 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.20.0] - 2026-08-24
4
+
5
+ ### Minor Changes
6
+
7
+ - c6efd92: Value helpers: `return` is no longer tied to the `flow_` prefix
8
+
9
+ A helper that reads state and returns a value had to be named `flow_*` —
10
+ the only place the validator accepted `return`. But `flow_*` is an
11
+ executable entry: the runner accepts it as a scenario and flow discovery
12
+ offers it to the agent to replay while recording, so a width getter showed
13
+ up in the list of reusable flows.
14
+
15
+ The boundary now keys off `test_*` instead. `return` is legal in any
16
+ helper — `flow_*` composites and plain `snake_case` value helpers alike —
17
+ and still rejected in a `test_*` entry, where it would mean the scenario
18
+ silently ended halfway.
19
+
20
+ ```js
21
+ // unotest/e2e/_helpers/viewer.js
22
+ function overview_header_width() {
23
+ return evaluate(
24
+ '(() => document.querySelector("header").getBoundingClientRect().width)()'
25
+ );
26
+ }
27
+ ```
28
+
29
+ New linter rule `lint:flow-returns-value` (warning) flags a `flow_*` that
30
+ returns a value: legitimate when the flow acts and yields its result
31
+ (`email = flow_signup()`), a rename hint when it only reads. Override it
32
+ under `linter.rules` like any other rule.
33
+
34
+ No migration needed — existing `flow_*` helpers that return keep working.
35
+
36
+ ### Patch Changes
37
+
38
+ - aab65a5: A failure in the first test of a file is no longer lost, and the dashboard no longer waits for F5.
39
+
40
+ **One run, one `run:finished`.** The event was written by the executor's
41
+ per-entry tap, so a file with four `test_*()` functions left four terminal
42
+ events in `steps.jsonl`. Every consumer reads the last one — so `collection`
43
+ reported a scenario green whenever the final function passed and the first
44
+ one failed. The runner now writes the event once, folding the outcomes of
45
+ every entry: `failed` > `interrupted` > `aborted` > `completed`. A run that
46
+ never got started (no entry function, browser failed to launch) writes a
47
+ terminal event too — its artifact used to read as "the process died".
48
+
49
+ **The viewer asks for the index again.** The first `load()` could land while
50
+ the server was still rebuilding the run index: the answer was "no runs", and
51
+ nobody asked again — WS only reports a run starting and finishing. On a
52
+ project with history the whole overview showed "never run" until a page
53
+ reload. `indexReady: false` now schedules a retry with a 0.5s → 30s backoff,
54
+ until the first ready answer.
55
+
56
+ - Updated dependencies [7957469]
57
+ - Updated dependencies [aab65a5]
58
+ - Updated dependencies [c6efd92]
59
+ - @unotest/protocol@0.20.0
60
+ - @unotest/viewer@0.20.0
61
+ - @unotest/dsl@0.20.0
62
+ - @unotest/core@0.20.0
63
+ - @unotest/grounder-client@0.20.0
64
+
3
65
  ## [0.19.0] - 2026-08-23
4
66
 
5
67
  ### Patch Changes
@@ -90,19 +90,19 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
90
90
  type FailureBundleConfig = z.infer<typeof FailureBundleConfigSchema>;
91
91
  declare const DialogPolicySchema: z.ZodEnum<["accept", "dismiss", "manual"]>;
92
92
  type DialogPolicy = z.infer<typeof DialogPolicySchema>;
93
- declare const LinterRuleIdSchema: z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>;
93
+ declare const LinterRuleIdSchema: z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>;
94
94
  type LinterRuleId = z.infer<typeof LinterRuleIdSchema>;
95
95
  declare const LinterSeveritySchema: z.ZodEnum<["off", "warn", "error"]>;
96
96
  type LinterSeverity = z.infer<typeof LinterSeveritySchema>;
97
97
  declare const LinterConfigSchema: z.ZodObject<{
98
98
  enabled: z.ZodBoolean;
99
- rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
99
+ rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
100
100
  }, "strip", z.ZodTypeAny, {
101
101
  enabled: boolean;
102
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
102
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
103
103
  }, {
104
104
  enabled: boolean;
105
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
105
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
106
106
  }>;
107
107
  type LinterConfig = z.infer<typeof LinterConfigSchema>;
108
108
  declare const McpConfigSchema: z.ZodObject<{
@@ -172,15 +172,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
172
172
  /** How long to wait for the URL to come up after spawning. */
173
173
  timeoutMs: z.ZodDefault<z.ZodNumber>;
174
174
  }, "strip", z.ZodTypeAny, {
175
- command: string;
176
175
  url: string;
177
- reuseExistingServer: boolean;
178
176
  timeoutMs: number;
179
- }, {
180
177
  command: string;
178
+ reuseExistingServer: boolean;
179
+ }, {
181
180
  url: string;
182
- reuseExistingServer?: boolean | undefined;
181
+ command: string;
183
182
  timeoutMs?: number | undefined;
183
+ reuseExistingServer?: boolean | undefined;
184
184
  }>;
185
185
  type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
186
186
  declare const UnotestConfigSchema: z.ZodObject<{
@@ -206,15 +206,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
206
206
  /** How long to wait for the URL to come up after spawning. */
207
207
  timeoutMs: z.ZodDefault<z.ZodNumber>;
208
208
  }, "strip", z.ZodTypeAny, {
209
- command: string;
210
209
  url: string;
211
- reuseExistingServer: boolean;
212
210
  timeoutMs: number;
213
- }, {
214
211
  command: string;
212
+ reuseExistingServer: boolean;
213
+ }, {
215
214
  url: string;
216
- reuseExistingServer?: boolean | undefined;
215
+ command: string;
217
216
  timeoutMs?: number | undefined;
217
+ reuseExistingServer?: boolean | undefined;
218
218
  }>>;
219
219
  browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
220
220
  channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
@@ -312,13 +312,13 @@ declare const UnotestConfigSchema: z.ZodObject<{
312
312
  defaultNavigationTimeoutMs: z.ZodNumber;
313
313
  linter: z.ZodObject<{
314
314
  enabled: z.ZodBoolean;
315
- rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
315
+ rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
316
316
  }, "strip", z.ZodTypeAny, {
317
317
  enabled: boolean;
318
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
318
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
319
319
  }, {
320
320
  enabled: boolean;
321
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
321
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
322
322
  }>;
323
323
  mcp: z.ZodObject<{
324
324
  transport: z.ZodLiteral<"stdio">;
@@ -398,7 +398,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
398
398
  defaultNavigationTimeoutMs: number;
399
399
  linter: {
400
400
  enabled: boolean;
401
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
401
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
402
402
  };
403
403
  mcp: {
404
404
  transport: "stdio";
@@ -413,10 +413,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
413
413
  };
414
414
  baseUrl?: string | undefined;
415
415
  webServer?: {
416
- command: string;
417
416
  url: string;
418
- reuseExistingServer: boolean;
419
417
  timeoutMs: number;
418
+ command: string;
419
+ reuseExistingServer: boolean;
420
420
  } | undefined;
421
421
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
422
422
  storageState?: string | undefined;
@@ -450,7 +450,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
450
450
  defaultNavigationTimeoutMs: number;
451
451
  linter: {
452
452
  enabled: boolean;
453
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
453
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
454
454
  };
455
455
  mcp: {
456
456
  transport: "stdio";
@@ -465,10 +465,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
465
465
  };
466
466
  baseUrl?: string | undefined;
467
467
  webServer?: {
468
- command: string;
469
468
  url: string;
470
- reuseExistingServer?: boolean | undefined;
469
+ command: string;
471
470
  timeoutMs?: number | undefined;
471
+ reuseExistingServer?: boolean | undefined;
472
472
  } | undefined;
473
473
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
474
474
  storageState?: string | undefined;
@@ -1 +1 @@
1
- function _0x24cf(_0x477f62,_0x1eaa9a){_0x477f62=_0x477f62-0x111;var _0x17e137=_0x17e1();var _0x24cf04=_0x17e137[_0x477f62];if(_0x24cf['HAEBEm']===undefined){var _0x5a4b8d=function(_0x5e2fc4){var _0xeac736='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x433503='',_0x52efdf='';for(var _0x116ffc=0x0,_0x1fe7a7,_0x427744,_0x5d0aae=0x0;_0x427744=_0x5e2fc4['charAt'](_0x5d0aae++);~_0x427744&&(_0x1fe7a7=_0x116ffc%0x4?_0x1fe7a7*0x40+_0x427744:_0x427744,_0x116ffc++%0x4)?_0x433503+=String['fromCharCode'](0xff&_0x1fe7a7>>(-0x2*_0x116ffc&0x6)):0x0){_0x427744=_0xeac736['indexOf'](_0x427744);}for(var _0x4094ba=0x0,_0x4b21e0=_0x433503['length'];_0x4094ba<_0x4b21e0;_0x4094ba++){_0x52efdf+='%'+('00'+_0x433503['charCodeAt'](_0x4094ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52efdf);};_0x24cf['JmhbWk']=_0x5a4b8d,_0x24cf['aMnMKM']={},_0x24cf['HAEBEm']=!![];}var _0x42f2eb=_0x17e137[0x0],_0x29b9df=_0x477f62+_0x42f2eb,_0x26e0dd=_0x24cf['aMnMKM'][_0x29b9df];return!_0x26e0dd?(_0x24cf04=_0x24cf['JmhbWk'](_0x24cf04),_0x24cf['aMnMKM'][_0x29b9df]=_0x24cf04):_0x24cf04=_0x26e0dd,_0x24cf04;}var _0x240191=_0x24cf;(function(_0x3296fc,_0x5e66e2){var _0x22d313={_0x14e0e7:0x132,_0x106738:0x13e,_0x72158f:0x119,_0x2a6e5b:0x11c},_0x5d43c5=_0x24cf,_0x353ea6=_0x3296fc();while(!![]){try{var _0x4be76a=-parseInt(_0x5d43c5(0x11f))/0x1*(-parseInt(_0x5d43c5(_0x22d313._0x14e0e7))/0x2)+-parseInt(_0x5d43c5(_0x22d313._0x106738))/0x3+-parseInt(_0x5d43c5(_0x22d313._0x72158f))/0x4+parseInt(_0x5d43c5(0x150))/0x5+parseInt(_0x5d43c5(0x126))/0x6*(parseInt(_0x5d43c5(0x134))/0x7)+parseInt(_0x5d43c5(0x14b))/0x8+-parseInt(_0x5d43c5(_0x22d313._0x2a6e5b))/0x9;if(_0x4be76a===_0x5e66e2)break;else _0x353ea6['push'](_0x353ea6['shift']());}catch(_0x2a14e1){_0x353ea6['push'](_0x353ea6['shift']());}}}(_0x17e1,0xb340b));import{z}from'zod';var BrowserSchema=z[_0x240191(0x141)]([_0x240191(0x12a),_0x240191(0x138),_0x240191(0x13a)]),BrowserChannelSchema=z[_0x240191(0x143)]([z[_0x240191(0x147)](_0x240191(0x123)),z[_0x240191(0x147)](_0x240191(0x120)),z[_0x240191(0x147)](_0x240191(0x14a)),z[_0x240191(0x14d)]()])['optional'](),ViewportSchema=z[_0x240191(0x131)]({'width':z['number']()['int']()[_0x240191(0x148)](),'height':z[_0x240191(0x142)]()[_0x240191(0x135)]()[_0x240191(0x148)]()}),RetryReasonSchema=z[_0x240191(0x141)]([_0x240191(0x121),_0x240191(0x12c),_0x240191(0x125)]),RetryConfigSchema=z[_0x240191(0x131)]({'count':z[_0x240191(0x142)]()[_0x240191(0x135)]()[_0x240191(0x13b)](0x0)[_0x240191(0x139)](0xa),'on':z[_0x240191(0x145)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x240191(0x131)]({'tier1':z[_0x240191(0x147)](!![])[_0x240191(0x144)](!![]),'tier2':z[_0x240191(0x111)](),'tier3':z[_0x240191(0x131)]({'network':z['boolean'](),'video':z[_0x240191(0x111)]()}),'retention':z[_0x240191(0x131)]({'runs':z[_0x240191(0x142)]()[_0x240191(0x135)]()[_0x240191(0x148)](),'days':z[_0x240191(0x142)]()[_0x240191(0x135)]()['positive']()}),'storageDir':z['string']()[_0x240191(0x13b)](0x1)}),DialogPolicySchema=z['enum']([_0x240191(0x122),_0x240191(0x113),_0x240191(0x128)]),LinterRuleIdSchema=z['enum'](['lint:deep-css',_0x240191(0x13c),'lint:obfuscated-class',_0x240191(0x140),_0x240191(0x124),_0x240191(0x12d),'lint:scenario-in-root',_0x240191(0x127),_0x240191(0x136),_0x240191(0x14f),_0x240191(0x12f),'lint:api-call-file-body',_0x240191(0x13f),_0x240191(0x11a),_0x240191(0x11d),_0x240191(0x14c),_0x240191(0x130),_0x240191(0x129),'validator:meta-shape',_0x240191(0x137),_0x240191(0x116),'validator:if-shape',_0x240191(0x11b),'validator:unsupported-statement',_0x240191(0x112),'validator:string-concat','validator:semantic-loss',_0x240191(0x133),'validator:wrapped-format']),LinterSeveritySchema=z[_0x240191(0x141)](['off',_0x240191(0x114),'error']),LinterConfigSchema=z[_0x240191(0x131)]({'enabled':z['boolean'](),'rules':z[_0x240191(0x14e)](LinterRuleIdSchema,LinterSeveritySchema)}),McpConfigSchema=z['object']({'transport':z[_0x240191(0x147)]('stdio')}),SandboxConfigSchema=z[_0x240191(0x131)]({'shellCwd':z[_0x240191(0x12e)]()[_0x240191(0x11e)](),'shellTimeoutMs':z[_0x240191(0x142)]()[_0x240191(0x135)]()[_0x240191(0x148)]()[_0x240191(0x11e)](),'exportSecrets':z[_0x240191(0x145)](z[_0x240191(0x12e)]())[_0x240191(0x11e)](),'database':z[_0x240191(0x12e)]()[_0x240191(0x11e)](),'apiBaseUrl':z[_0x240191(0x12e)]()[_0x240191(0x13d)]()['optional'](),'uploadDir':z[_0x240191(0x12e)]()[_0x240191(0x11e)]()}),WebServerConfigSchema=z[_0x240191(0x131)]({'command':z['string']()['min'](0x1),'url':z[_0x240191(0x12e)]()[_0x240191(0x13d)](),'reuseExistingServer':z['boolean']()['default'](!![]),'timeoutMs':z[_0x240191(0x142)]()[_0x240191(0x135)]()[_0x240191(0x148)]()[_0x240191(0x144)](0xea60)}),UnotestConfigSchema=z['object']({'baseUrl':z[_0x240191(0x12e)]()[_0x240191(0x13d)]()[_0x240191(0x11e)](),'webServer':WebServerConfigSchema[_0x240191(0x11e)](),'browsers':z['array'](BrowserSchema)['min'](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x240191(0x12e)]()['optional'](),'testDir':z[_0x240191(0x12e)]()[_0x240191(0x13b)](0x1),'helpersDir':z[_0x240191(0x12e)]()['min'](0x1),'defaultTimeoutMs':z[_0x240191(0x142)]()[_0x240191(0x135)]()['positive'](),'defaultNavigationTimeoutMs':z[_0x240191(0x142)]()[_0x240191(0x135)]()[_0x240191(0x148)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':['chromium'],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x240191(0x121)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x240191(0x12b)},'dialogPolicy':_0x240191(0x122),'testDir':_0x240191(0x118),'helpersDir':_0x240191(0x117),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x240191(0x114),'lint:xpath':'warn','lint:obfuscated-class':_0x240191(0x114),'lint:pause-explicit':_0x240191(0x114),'lint:disambig-by-index':_0x240191(0x115),'lint:evaluate-discouraged':_0x240191(0x114),'lint:scenario-in-root':_0x240191(0x146),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x240191(0x114),'lint:regex-invalid':_0x240191(0x146),'lint:echo-assert':_0x240191(0x114),'lint:lint-ok-missing-reason':'warn','validator:unknown-function':'error'}},'mcp':{'transport':_0x240191(0x149)},'sandbox':{}};function _0x17e1(){var _0x184576=['DxjS','mJC5nta1nwDkEM55ra','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','BgLUDdPWyxvZzs1LEhbSAwnPDa','zw51Bq','BNvTyMvY','Dw5PB24','zgvMyxvSDa','yxjYyxK','zxjYB3i','BgL0zxjHBa','Cg9ZAxrPDMu','C3rKAw8','y2HYB21LlwjLDge','nde2mJeWnfHxzMPeDq','DMfSAwrHDg9YoMfYzY1RAw5K','BNvSBa','CMvJB3jK','BgLUDdPYzwDLEc1PBNzHBgLK','mJG5mtu3nwfJEfjrsW','yM9VBgvHBG','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','zgLZBwLZCW','D2fYBG','B2zM','DMfSAwrHDg9YoMzVCI1ZAgfWzq','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','Dw5VDgvZDc9LmMu','mtK0ndq0mgDnDxzIrG','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','DMfSAwrHDg9YoNzHCI1ZAgfWzq','mti4nJa3nZvsrxLlDg8','DMfSAwrHDg9YoMfYAxr5','B3b0Aw9UywW','mZnOzwnpzve','BxnLzgDL','DhjHBNnPzw50','ywnJzxb0','y2HYB21L','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','y3jHC2G','odm4mdG2mgjove1dua','BgLUDdPTDxn0ywnOzs1PBI1KC2W','BwfUDwfS','DMfSAwrHDg9YoNn0zxaTC2HHCgu','y2HYB21PDw0','lNvUB3rLC3qVzMfPBhvYzxm','BMv0D29YAW','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','C3rYAw5N','BgLUDdPLy2HVlwfZC2vYDa','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','B2jQzwn0','nJu3otrpwerQsvu','DMfSAwrHDg9YoMXPC3qTyxjN','n2XHrLfSta','Aw50','BgLUDdPNB3rVlwnVBMnHDa','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','zMLYzwzVEa','Bwf4','D2vIA2L0','BwLU','BgLUDdP4Cgf0Aa'];_0x17e1=function(){return _0x184576;};return _0x17e1();}export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
1
+ var _0x46bc37=_0x1520;function _0x1520(_0x1e138b,_0x3fe2dc){_0x1e138b=_0x1e138b-0x1d5;var _0x2628d7=_0x2628();var _0x1520b5=_0x2628d7[_0x1e138b];if(_0x1520['HWTvfP']===undefined){var _0x58a648=function(_0x14bac4){var _0x4f6b4b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2f3e12='',_0x2c56a1='';for(var _0xa1357a=0x0,_0x97dbb1,_0x2e2067,_0x2f0c8d=0x0;_0x2e2067=_0x14bac4['charAt'](_0x2f0c8d++);~_0x2e2067&&(_0x97dbb1=_0xa1357a%0x4?_0x97dbb1*0x40+_0x2e2067:_0x2e2067,_0xa1357a++%0x4)?_0x2f3e12+=String['fromCharCode'](0xff&_0x97dbb1>>(-0x2*_0xa1357a&0x6)):0x0){_0x2e2067=_0x4f6b4b['indexOf'](_0x2e2067);}for(var _0x2894f9=0x0,_0x4eab9f=_0x2f3e12['length'];_0x2894f9<_0x4eab9f;_0x2894f9++){_0x2c56a1+='%'+('00'+_0x2f3e12['charCodeAt'](_0x2894f9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c56a1);};_0x1520['MHSHDg']=_0x58a648,_0x1520['pzNqwX']={},_0x1520['HWTvfP']=!![];}var _0x572f3d=_0x2628d7[0x0],_0x2fd094=_0x1e138b+_0x572f3d,_0x43b0bf=_0x1520['pzNqwX'][_0x2fd094];return!_0x43b0bf?(_0x1520b5=_0x1520['MHSHDg'](_0x1520b5),_0x1520['pzNqwX'][_0x2fd094]=_0x1520b5):_0x1520b5=_0x43b0bf,_0x1520b5;}(function(_0x46b2eb,_0x144cdf){var _0x5bc503={_0x22e52f:0x20f,_0x5521db:0x1f1,_0x470521:0x1da,_0x489891:0x1d7,_0x4523c5:0x1d6},_0x1ba952=_0x1520,_0x3b6d95=_0x46b2eb();while(!![]){try{var _0xa1ae14=parseInt(_0x1ba952(0x1f8))/0x1*(-parseInt(_0x1ba952(_0x5bc503._0x22e52f))/0x2)+-parseInt(_0x1ba952(0x20c))/0x3+parseInt(_0x1ba952(0x213))/0x4*(-parseInt(_0x1ba952(_0x5bc503._0x5521db))/0x5)+-parseInt(_0x1ba952(0x1f5))/0x6*(parseInt(_0x1ba952(_0x5bc503._0x470521))/0x7)+parseInt(_0x1ba952(0x214))/0x8*(-parseInt(_0x1ba952(0x20a))/0x9)+-parseInt(_0x1ba952(_0x5bc503._0x489891))/0xa*(parseInt(_0x1ba952(0x1d8))/0xb)+-parseInt(_0x1ba952(_0x5bc503._0x4523c5))/0xc*(-parseInt(_0x1ba952(0x1ec))/0xd);if(_0xa1ae14===_0x144cdf)break;else _0x3b6d95['push'](_0x3b6d95['shift']());}catch(_0x4bc25b){_0x3b6d95['push'](_0x3b6d95['shift']());}}}(_0x2628,0x853fe));import{z}from'zod';var BrowserSchema=z[_0x46bc37(0x208)]([_0x46bc37(0x1e5),_0x46bc37(0x1ef),_0x46bc37(0x1f9)]),BrowserChannelSchema=z[_0x46bc37(0x215)]([z[_0x46bc37(0x1ed)]('chrome'),z[_0x46bc37(0x1ed)](_0x46bc37(0x20d)),z[_0x46bc37(0x1ed)](_0x46bc37(0x1fb)),z[_0x46bc37(0x1dc)]()])['optional'](),ViewportSchema=z[_0x46bc37(0x1de)]({'width':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()[_0x46bc37(0x200)](),'height':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()[_0x46bc37(0x200)]()}),RetryReasonSchema=z[_0x46bc37(0x208)](['transient',_0x46bc37(0x1e0),_0x46bc37(0x1e6)]),RetryConfigSchema=z[_0x46bc37(0x1de)]({'count':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()['min'](0x0)[_0x46bc37(0x1fd)](0xa),'on':z[_0x46bc37(0x1eb)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x46bc37(0x1de)]({'tier1':z[_0x46bc37(0x1ed)](!![])['default'](!![]),'tier2':z[_0x46bc37(0x207)](),'tier3':z['object']({'network':z['boolean'](),'video':z[_0x46bc37(0x207)]()}),'retention':z[_0x46bc37(0x1de)]({'runs':z['number']()['int']()['positive'](),'days':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()['positive']()}),'storageDir':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x210)](0x1)}),DialogPolicySchema=z['enum']([_0x46bc37(0x1fc),_0x46bc37(0x206),_0x46bc37(0x1ea)]),LinterRuleIdSchema=z[_0x46bc37(0x208)](['lint:deep-css',_0x46bc37(0x1f3),_0x46bc37(0x1e2),_0x46bc37(0x1ff),_0x46bc37(0x1f6),_0x46bc37(0x1f0),_0x46bc37(0x1e4),_0x46bc37(0x1e8),_0x46bc37(0x1e1),_0x46bc37(0x20b),_0x46bc37(0x20e),_0x46bc37(0x1fe),_0x46bc37(0x205),'lint:flow-returns-value',_0x46bc37(0x203),'validator:arity','validator:arg-kind',_0x46bc37(0x201),'validator:step-shape',_0x46bc37(0x202),'validator:function-shape',_0x46bc37(0x1f7),_0x46bc37(0x1f2),_0x46bc37(0x218),_0x46bc37(0x1dd),_0x46bc37(0x1f4),_0x46bc37(0x1df),'validator:semantic-loss','validator:list-arg','validator:wrapped-format']),LinterSeveritySchema=z['enum']([_0x46bc37(0x1d9),'warn',_0x46bc37(0x1db)]),LinterConfigSchema=z[_0x46bc37(0x1de)]({'enabled':z[_0x46bc37(0x207)](),'rules':z[_0x46bc37(0x216)](LinterRuleIdSchema,LinterSeveritySchema)}),McpConfigSchema=z[_0x46bc37(0x1de)]({'transport':z[_0x46bc37(0x1ed)](_0x46bc37(0x1fa))}),SandboxConfigSchema=z['object']({'shellCwd':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x1e3)](),'shellTimeoutMs':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()[_0x46bc37(0x200)]()[_0x46bc37(0x1e3)](),'exportSecrets':z['array'](z[_0x46bc37(0x1e9)]())[_0x46bc37(0x1e3)](),'database':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x1e3)](),'apiBaseUrl':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x1d5)]()[_0x46bc37(0x1e3)](),'uploadDir':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x1e3)]()}),WebServerConfigSchema=z['object']({'command':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x210)](0x1),'url':z['string']()[_0x46bc37(0x1d5)](),'reuseExistingServer':z[_0x46bc37(0x207)]()['default'](!![]),'timeoutMs':z['number']()['int']()[_0x46bc37(0x200)]()[_0x46bc37(0x217)](0xea60)}),UnotestConfigSchema=z['object']({'baseUrl':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x1d5)]()[_0x46bc37(0x1e3)](),'webServer':WebServerConfigSchema[_0x46bc37(0x1e3)](),'browsers':z[_0x46bc37(0x1eb)](BrowserSchema)['min'](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x46bc37(0x1e9)]()['optional'](),'testDir':z['string']()['min'](0x1),'helpersDir':z[_0x46bc37(0x1e9)]()[_0x46bc37(0x210)](0x1),'defaultTimeoutMs':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()[_0x46bc37(0x200)](),'defaultNavigationTimeoutMs':z[_0x46bc37(0x212)]()[_0x46bc37(0x1ee)]()[_0x46bc37(0x200)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x46bc37(0x1e5)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x46bc37(0x209)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':'.unotest/failures'},'dialogPolicy':_0x46bc37(0x1fc),'testDir':_0x46bc37(0x1e7),'helpersDir':_0x46bc37(0x211),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x46bc37(0x204),'lint:xpath':_0x46bc37(0x204),'lint:obfuscated-class':_0x46bc37(0x204),'lint:pause-explicit':'warn','lint:disambig-by-index':_0x46bc37(0x1d9),'lint:evaluate-discouraged':'warn','lint:scenario-in-root':_0x46bc37(0x1db),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x46bc37(0x204),'lint:regex-invalid':'error','lint:echo-assert':_0x46bc37(0x204),'lint:lint-ok-missing-reason':_0x46bc37(0x204),'lint:flow-returns-value':'warn','validator:unknown-function':_0x46bc37(0x1db)}},'mcp':{'transport':'stdio'},'sandbox':{}};function _0x2628(){var _0x759f83=['mJGWndK2ngz1EMn0sa','ntbouhrnsMi','mZu3otqWD3joCuTw','B2zM','mJuWmZeZrKreqxnX','zxjYB3i','BNvSBa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','B2jQzwn0','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','BMv0D29YAW','BgLUDdPNB3rVlwnVBMnHDa','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','B3b0Aw9UywW','BgLUDdPZy2vUyxjPBY1PBI1YB290','y2HYB21PDw0','y3jHC2G','Dw5VDgvZDc9LmMu','BgLUDdPTDxn0ywnOzs1PBI1KC2W','C3rYAw5N','BwfUDwfS','yxjYyxK','mtqZyMzivLLd','BgL0zxjHBa','Aw50','zMLYzwzVEa','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','mJv1B1nuBuy','DMfSAwrHDg9YoMLMlxnOyxbL','BgLUDdP4Cgf0Aa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','nMLiu3rqAW','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','DMfSAwrHDg9YoMzVCI1ZAgfWzq','m1DKzgHpAW','D2vIA2L0','C3rKAw8','y2HYB21LlwjLDge','ywnJzxb0','Bwf4','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','BgLUDdPWyxvZzs1LEhbSAwnPDa','Cg9ZAxrPDMu','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','DMfSAwrHDg9YoM1LDgeTC2HHCgu','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','D2fYBG','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','zgLZBwLZCW','yM9VBgvHBG','zw51Bq','DhjHBNnPzw50','nZjwAwrPAKe','BgLUDdPYzwDLEc1PBNzHBgLK','mJu4mZm3nunJz0vsvG','BxnLzgDL','BgLUDdPLy2HVlwfZC2vYDa','nteXmZjLrNjevMG','BwLU','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','BNvTyMvY','nJK5nJa0t3b3tKPv','mtq2ndbMz1bhwLC','Dw5PB24','CMvJB3jK','zgvMyxvSDa','DMfSAwrHDg9YoNzHCI1ZAgfWzq','DxjS'];_0x2628=function(){return _0x759f83;};return _0x2628();}export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
@@ -1 +1 @@
1
- const _0x7a0933=_0x440a;(function(_0x594c07,_0x1c8224){const _0x52b488={_0x3ea6a2:0x163,_0x1dcb73:0x193,_0x4e5348:0x16c,_0x1261de:0x167,_0x2b3c1f:0x182},_0x4564bb=_0x440a,_0x4a5a8b=_0x594c07();while(!![]){try{const _0x11df7e=-parseInt(_0x4564bb(0x197))/0x1+parseInt(_0x4564bb(_0x52b488._0x3ea6a2))/0x2+parseInt(_0x4564bb(_0x52b488._0x1dcb73))/0x3*(-parseInt(_0x4564bb(0x1a3))/0x4)+parseInt(_0x4564bb(_0x52b488._0x4e5348))/0x5+parseInt(_0x4564bb(0x194))/0x6*(-parseInt(_0x4564bb(0x19b))/0x7)+-parseInt(_0x4564bb(_0x52b488._0x1261de))/0x8*(-parseInt(_0x4564bb(_0x52b488._0x2b3c1f))/0x9)+-parseInt(_0x4564bb(0x17c))/0xa;if(_0x11df7e===_0x1c8224)break;else _0x4a5a8b['push'](_0x4a5a8b['shift']());}catch(_0x527752){_0x4a5a8b['push'](_0x4a5a8b['shift']());}}}(_0x4bf1,0xeb972));var __defProp=Object[_0x7a0933(0x1a9)],__name=(_0x962db1,_0x11af7e)=>__defProp(_0x962db1,'name',{'value':_0x11af7e,'configurable':!![]});function subscribe(_0x1fdba8,_0x4e4bb3){const _0x850cc1=_0x7a0933;return _0x1fdba8[_0x850cc1(0x18d)](_0x4e4bb3),()=>{const _0x35272c=_0x850cc1;_0x1fdba8[_0x35272c(0x1d2)](_0x4e4bb3);};}__name(subscribe,_0x7a0933(0x1b6));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x7a0933(0x176));}},LocatorError=class extends UnotestError{static{__name(this,_0x7a0933(0x1cb));}};function _0x4bf1(){const _0x3947bb=['D3nfBMrWB2LUDa','rhjPDMvYrxjYB3i','Bwf5yMvuAhjVDW','Dw5JAgvJAW','C2f2zvn0B3jHz2vtDgf0zq','zxzHBhvHDgu','Bg9JywXtDg9YywDL','otG4mJmWwwrvzxz5','y29UDgv4Dhm','Dgv4DenVBNrLBNrcEurLzMf1Bhq','zxHPDezYyw1L','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Aw5ZCgvJDevSzw1LBNq','mJGXmtG0m2riz2vhuq','zw50zxjgCMfTzq','y29VA2LLu3rHDgu','Bgf1BMnO','yxr0CMLIDxrLC0j5rgvMyxvSDa','y29UBMvJDfnOyxjLza','DgL0Bgu','B3v0zxjiDg1SqNLszwy','zNjVBq','zMLSDgvY','BMv3ugfNzuXPC3rLBMvYCW','ywrK','C2v0q29VA2LL','y291BNrcEurLzMf1Bhq','ChvZAa','z2v0qxr0CMLIDxrL','ywn0AxzLugfNzq','ouTpAK9IzW','mJC4nJK4mMjWzLjYyG','z29gB3j3yxjK','D2fPDezVCG','nZGZotCWrgjZrwPe','y291BNq','y3r4','Cg9W','n21Pq2v6vW','B3v0zxjive1m','z2v0q29VA2LL','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y29VA2LLCW','zg91yMXLq2XPy2S','C2nYzwvUC2HVDa','mta4oty3mM9MzxjOzq','CMvSB2fK','B25bzNrLCKnSAwnR','Cg9WDxbpBKnSAwnR','y3vYCMvUDfvYBa','AxneAxnHyMXLzej5rgvMyxvSDa','zgvMAw5LuhjVCgvYDhK','rMfRzunVBNrLEhq','C3rLChm','CgfNzuXPC3q','zxjYB3jpBK5LEhrby3rPB24','y2XVC2vgywTLugfNzq','Ag92zxi','Bg9JywXtDg9YywDLu3rHDgu','zhjHz0fUzerYB3a','CMvJB3jK','zw1PDezHA2vqB3b1Ca','z2v0tg9JywXtDg9YywDL','ChjLC3m','C3vIC2nYAwjL','zxzHBhvHDgvpBKXVy2f0B3i','Bwv0Ag9K','DxjS','CMvJB3jKzxi','D2fPDezVCKXVywrtDgf0zq','y2HLy2TLzfn0yxrL','zNjHBwvtDgfJAW','Aw5PDgLHBfvYBa','C2vSzwn0t3b0Aw9U','rMfRzvbHz2u','y2XPy2S','pgrPDJ48l2rPDJ4','AxneAxnHyMXLza','zhjPDMvY','D2fPDezVCLrLEhq','C2v0qwn0AxzLugfNzq','BMv0D29YA0vUDhjPzxm','y2fSBhm','lNbHz2u','AxnwAxnPyMXL','tg9JyxrVCKvYCM9Y','y2fSBhngB3i','yMvOyxzPB3i','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','zMfRzsb0AxrSzq','ywn0AxzLswr4','CMvM','zgvSzxrL','y2XPCgjVyxjKugfZDgu','z29cywnR','B25ozxDqywDL','mZu2nJm3oeLhsxj3AW','C2nVCgu','zMLSBa','zwXLBwvUDeHPBNrcEvjLzG','mJrqzMHszKG','Bgf1BMnOzwq','Dgv4DenVBNrLBNq','y2HLy2S','D2fPDezVCLvYBa','mJa0nti2mgTys3HszG','DxbSB2fKrMLSzq','z290BW','BgvUz3rO','zNjHBwvezxb0Aa','BMv3q29UDgv4Da','D2fPDezVCK5HDMLNyxrPB24','y2XVC2u','ywjVDxq6yMXHBMS'];_0x4bf1=function(){return _0x3947bb;};return _0x4bf1();}function createRecorder(){const _0x1c88da={_0x449ac8:0x190},_0xc90fa6=_0x7a0933,_0x3f38c0=[];let _0x1d5681=0x0;return{'push':__name(_0x18c799=>_0x3f38c0[_0xc90fa6(0x190)]({..._0x18c799,'seq':_0x1d5681++}),_0xc90fa6(_0x1c88da._0x449ac8)),'calls':__name(()=>_0x3f38c0,'calls')};}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0x271a05,_0x55b5ae,_0x2a4655,_0x5d137e){const _0x442618={_0x67e071:0x1ba,_0x4b2ba8:0x164},_0x296ced=_0x7a0933;this[_0x296ced(_0x442618._0x67e071)]=_0x271a05,this['behavior']=_0x55b5ae,this[_0x296ced(_0x442618._0x4b2ba8)]=_0x2a4655,this['currentUrl']=_0x5d137e;}['recorder'];[_0x7a0933(0x1cd)];[_0x7a0933(0x164)];static{__name(this,_0x7a0933(0x1c0));}[_0x7a0933(0x1a7)];['onAfterClick'];[_0x7a0933(0x1b2)](_0x493b31,_0x113485){const _0x5909fc={_0x52584f:0x1ba},_0x3ed655=_0x7a0933;this[_0x3ed655(_0x5909fc._0x52584f)][_0x3ed655(0x190)]({'scope':this[_0x3ed655(0x164)],'method':_0x493b31,'args':_0x113485});}[_0x7a0933(0x177)](){const _0x4b9e8a={_0x159bfe:0x1cd,_0x74933f:0x1ad},_0x3dfbf9=_0x7a0933;if(this[_0x3dfbf9(0x1cd)][_0x3dfbf9(0x1ad)]){const _0x5781b8=this[_0x3dfbf9(_0x4b9e8a._0x159bfe)][_0x3dfbf9(_0x4b9e8a._0x74933f)];this['behavior'][_0x3dfbf9(_0x4b9e8a._0x74933f)]=void 0x0;throw _0x5781b8;}}[_0x7a0933(0x1b9)](){return this['currentUrl'];}async['title'](){const _0x3a0925={_0x2ac7d4:0x188},_0x208020=_0x7a0933;return this[_0x208020(0x1b2)](_0x208020(_0x3a0925._0x2ac7d4),[]),_0x208020(0x1cf);}async['click'](_0x26bc52,_0x4ae588){const _0xc5b7ac={_0x23b2f8:0x177,_0x257fbe:0x1a5},_0x99e210=_0x7a0933;this[_0x99e210(0x1b2)](_0x99e210(0x1c1),[_0x26bc52,_0x4ae588]),this[_0x99e210(_0xc5b7ac._0x23b2f8)](),this[_0x99e210(_0xc5b7ac._0x257fbe)]?.();}async[_0x7a0933(0x1a1)](_0x3dd882,_0x15f14b){const _0x564770={_0x8a510f:0x1b2},_0x55edbd=_0x7a0933;this[_0x55edbd(_0x564770._0x8a510f)](_0x55edbd(0x1a1),[_0x3dd882,_0x15f14b]),this['maybeThrow']();}async[_0x7a0933(0x165)](_0x179ee6,_0x5cfbff,_0x560c3b){const _0x5ac622={_0x6dc1a1:0x165,_0x457e32:0x177},_0x1280a9=_0x7a0933;this[_0x1280a9(0x1b2)](_0x1280a9(_0x5ac622._0x6dc1a1),[_0x179ee6,_0x5cfbff,_0x560c3b]),this[_0x1280a9(_0x5ac622._0x457e32)]();}async[_0x7a0933(0x1b5)](_0x4877e9,_0x127683,_0x4dd527){const _0x23c16b={_0xdb0795:0x1b2},_0x2405b0=_0x7a0933;this[_0x2405b0(_0x23c16b._0xdb0795)](_0x2405b0(0x1b5),[_0x4877e9,_0x127683,_0x4dd527]),this[_0x2405b0(0x177)]();}async['check'](_0x3891f3,_0x53a48c){const _0x58f08b={_0x57cc8e:0x1b2,_0x194047:0x16a,_0x2d99ac:0x177},_0x4e93ac=_0x7a0933;this[_0x4e93ac(_0x58f08b._0x57cc8e)](_0x4e93ac(_0x58f08b._0x194047),[_0x3891f3,_0x53a48c]),this[_0x4e93ac(_0x58f08b._0x2d99ac)]();}async[_0x7a0933(0x178)](_0x1a5810,_0x2b7b63){const _0x1e7600=_0x7a0933;this[_0x1e7600(0x1b2)](_0x1e7600(0x178),[_0x1a5810,_0x2b7b63]),this['maybeThrow']();}async[_0x7a0933(0x1bf)](_0x4f40a8,_0x756413,_0x3c0741){const _0x5c1f6c=_0x7a0933;this[_0x5c1f6c(0x1b2)](_0x5c1f6c(0x1bf),[_0x4f40a8,_0x756413,_0x3c0741]),this['maybeThrow']();}async[_0x7a0933(0x1af)](_0x550380,_0x2722b5){const _0x4b0423=_0x7a0933;this['record'](_0x4b0423(0x1af),[_0x550380,_0x2722b5]),this[_0x4b0423(0x177)]();}async['scrollIntoView'](_0x2d0134){const _0x4ece83={_0x3e0374:0x177},_0x35f012=_0x7a0933;this['record']('scrollIntoView',[_0x2d0134]),this[_0x35f012(_0x4ece83._0x3e0374)]();}async[_0x7a0933(0x1b1)](_0x470e81,_0x56fcd1,_0xc38555){const _0x5cb475={_0x4132c2:0x1b1,_0x46daea:0x177},_0x52412a=_0x7a0933;this[_0x52412a(0x1b2)](_0x52412a(_0x5cb475._0x4132c2),[_0x470e81,_0x56fcd1,_0xc38555]),this[_0x52412a(_0x5cb475._0x46daea)]();}async['uploadFile'](_0x170742,_0xcec988){const _0x1b141b=_0x7a0933;this[_0x1b141b(0x1b2)](_0x1b141b(0x16d),[_0x170742,_0xcec988]),this['maybeThrow']();}async['clipboardPaste'](_0x4b49f,_0x5b3a59){const _0x41ab91={_0xcdca68:0x1b2,_0x4951d8:0x1d3},_0x3d513b=_0x7a0933;this[_0x3d513b(_0x41ab91._0xcdca68)](_0x3d513b(_0x41ab91._0x4951d8),[_0x4b49f,_0x5b3a59]),this[_0x3d513b(0x177)]();}async[_0x7a0933(0x198)](_0x3bf283){const _0x1d9a45={_0x176877:0x1b2,_0x446624:0x1cd,_0x196121:0x18f},_0x4ce7a1=_0x7a0933;return this[_0x4ce7a1(_0x1d9a45._0x176877)](_0x4ce7a1(0x198),[_0x3bf283]),this[_0x4ce7a1(_0x1d9a45._0x446624)][_0x4ce7a1(_0x1d9a45._0x196121)]??0x1;}async['textContent'](_0x154c6f){const _0x44ab38={_0x6969a3:0x17e},_0x424992=_0x7a0933;return this[_0x424992(0x1b2)](_0x424992(0x169),[_0x154c6f]),this[_0x424992(0x1cd)][_0x424992(_0x44ab38._0x6969a3)]??'';}async['inputValue'](_0x74db80){const _0x3bdbc8={_0x58ba72:0x1b2,_0x57ae52:0x1cd},_0x44349a=_0x7a0933;return this[_0x44349a(_0x3bdbc8._0x58ba72)]('inputValue',[_0x74db80]),this[_0x44349a(_0x3bdbc8._0x57ae52)]['inputValueByDefault']??'';}async[_0x7a0933(0x1bc)](_0x50f143){const _0xca0b4d={_0x13cb10:0x1bc},_0x37a7bf=_0x7a0933;return this['record'](_0x37a7bf(_0xca0b4d._0x13cb10),[_0x50f143]),this['behavior']['checkedStateByDefault']??null;}async['isVisible'](_0x2c8d21){const _0x14c874={_0xa91be9:0x1cd},_0x5f34ed=_0x7a0933;return this[_0x5f34ed(0x1b2)](_0x5f34ed(0x1ca),[_0x2c8d21]),this[_0x5f34ed(_0x14c874._0xa91be9)]['isVisibleByDefault']??!![];}async[_0x7a0933(0x1c3)](_0xcffa63){const _0x415e96={_0x3fe1f2:0x1b2,_0x356042:0x1c3},_0x53e0ca=_0x7a0933;return this[_0x53e0ca(_0x415e96._0x3fe1f2)](_0x53e0ca(_0x415e96._0x356042),[_0xcffa63]),this['behavior'][_0x53e0ca(0x1a8)]??![];}async[_0x7a0933(0x191)](_0x231d3b,_0xd35877){const _0x1eeb80={_0x571f35:0x1b2},_0x529667=_0x7a0933;return this[_0x529667(_0x1eeb80._0x571f35)]('getAttribute',[_0x231d3b,_0xd35877]),this[_0x529667(0x1cd)][_0x529667(0x186)]?.[_0xd35877]??null;}async[_0x7a0933(0x196)](_0x56f7a7,_0x169030){const _0x143b4b={_0x2ae24c:0x196},_0x4d671c=_0x7a0933;this[_0x4d671c(0x1b2)](_0x4d671c(_0x143b4b._0x2ae24c),[_0x56f7a7,_0x169030]);}async[_0x7a0933(0x16b)](_0x2d9b30,_0x8d2b58){const _0x4a2288=_0x7a0933;this[_0x4a2288(0x1b2)]('waitForUrl',[_0x2d9b30,_0x8d2b58]);}async[_0x7a0933(0x1c5)](_0x41f15d,_0x28587f){const _0x2bbcec={_0x3ba2b4:0x1b2},_0x10cc7e=_0x7a0933;this[_0x10cc7e(_0x2bbcec._0x3ba2b4)](_0x10cc7e(0x1c5),[_0x41f15d,_0x28587f]);}async[_0x7a0933(0x172)](_0x1ee508){const _0x3ab1d3=_0x7a0933;this[_0x3ab1d3(0x1b2)](_0x3ab1d3(0x172),[_0x1ee508]);}async[_0x7a0933(0x1bb)](_0x17b686,_0x1c391d){const _0x120294=_0x7a0933;this[_0x120294(0x1b2)](_0x120294(0x1bb),[_0x17b686,_0x1c391d]);}async[_0x7a0933(0x16e)](_0x293c96,_0x3a514a){const _0x516777=_0x7a0933;this[_0x516777(0x1b2)](_0x516777(0x16e),[_0x293c96,_0x3a514a]),this[_0x516777(0x1a7)]=_0x293c96;}async[_0x7a0933(0x1a4)](_0x49b328){const _0x438121={_0x520267:0x1b2,_0xf69845:0x1a4},_0x17b795=_0x7a0933;this[_0x17b795(_0x438121._0x520267)](_0x17b795(_0x438121._0xf69845),[_0x49b328]);}async[_0x7a0933(0x1d4)](_0x531e61){const _0x29f6aa={_0x54b173:0x1b2},_0x458dd1=_0x7a0933;this[_0x458dd1(_0x29f6aa._0x54b173)]('goBack',[_0x531e61]);}async[_0x7a0933(0x195)](_0x243554){const _0xb271c8={_0x46081a:0x195},_0x85dca4=_0x7a0933;this['record'](_0x85dca4(_0xb271c8._0x46081a),[_0x243554]);}async[_0x7a0933(0x17a)](_0x3cb83f){const _0x4fced9={_0x383351:0x1b2},_0x3841e3=_0x7a0933;return this[_0x3841e3(_0x4fced9._0x383351)](_0x3841e3(0x17a),[_0x3cb83f]),void 0x0;}async[_0x7a0933(0x1b7)](_0x29434f,_0x36dc8a){const _0x362446={_0x38345e:0x1b7},_0x9f203b=_0x7a0933;return this['record'](_0x9f203b(_0x362446._0x38345e),[_0x29434f,_0x36dc8a]),void 0x0;}async[_0x7a0933(0x181)](_0x1ca755){const _0x5b4e3b={_0x4fa835:0x1ab,_0x2f6bce:0x1cd,_0x379264:0x166},_0x27f2d6=_0x7a0933;this['record']('inspectElement',[_0x1ca755]);if(_0x1ca755[_0x27f2d6(0x1ab)][_0x27f2d6(0x16f)]!==0x1||_0x1ca755[_0x27f2d6(_0x5b4e3b._0x4fa835)][0x0]['kind']!=='ref')return null;const _0x476568=_0x1ca755[_0x27f2d6(0x1ab)][0x0][_0x27f2d6(0x1d1)],_0x24c87e=this[_0x27f2d6(_0x5b4e3b._0x2f6bce)][_0x27f2d6(_0x5b4e3b._0x379264)]?.[_0x476568];return _0x24c87e??null;}async[_0x7a0933(0x1a2)](_0x3accde){const _0xb33f3a=_0x7a0933;return this['record'](_0xb33f3a(0x1a2),[_0x3accde]),Buffer[_0xb33f3a(0x18a)]('fake-png');}async[_0x7a0933(0x19c)](_0x1f2123){const _0x284d50={_0x16fc33:0x16f},_0x287100=_0x7a0933;this['record']('outerHTML',[_0x1f2123]);if(_0x1f2123[_0x287100(0x1ab)][_0x287100(_0x284d50._0x16fc33)]===0x1&&_0x1f2123[_0x287100(0x1ab)][0x0]['kind']==='ref'){const _0x47ce78=_0x1f2123[_0x287100(0x1ab)][0x0][_0x287100(0x1d1)];return this[_0x287100(0x1cd)][_0x287100(0x189)]?.[_0x47ce78]??'<div\x20data-unotest-ref=\x22'+_0x47ce78+'\x22></div>';}return _0x287100(0x1c2);}},FakeContext=class{constructor(_0x354287,_0x254b97,_0x5c92e7){const _0x5ac958={_0xbbe951:0x1ba,_0x2cf86a:0x1cd,_0x34bba2:0x1be,_0x34e54b:0x174,_0xfd12d6:0x1ac,_0x24c1c8:0x17b,_0x191c5b:0x184,_0x367fc1:0x1a0},_0x3fb672=_0x7a0933;this[_0x3fb672(_0x5ac958._0xbbe951)]=_0x354287,this[_0x3fb672(_0x5ac958._0x2cf86a)]=_0x254b97,this['scope']=_0x5c92e7;const _0x2f8316=new FakePage(_0x354287,_0x254b97,_0x5c92e7+'.page0',_0x254b97[_0x3fb672(_0x5ac958._0x34bba2)]??_0x3fb672(_0x5ac958._0x34e54b));_0x254b97['popupOnClick']&&(_0x2f8316[_0x3fb672(0x1a5)]=()=>{const _0xfb624f=_0x3fb672;this[_0xfb624f(0x1b3)](_0x254b97[_0xfb624f(0x1a6)]);}),this[_0x3fb672(_0x5ac958._0xfd12d6)]=[_0x2f8316],this[_0x3fb672(0x1b0)]={..._0x254b97[_0x3fb672(_0x5ac958._0x24c1c8)]??{}},this[_0x3fb672(_0x5ac958._0x191c5b)]={..._0x254b97[_0x3fb672(_0x5ac958._0x367fc1)]??{}};}[_0x7a0933(0x1ba)];[_0x7a0933(0x1cd)];[_0x7a0933(0x164)];static{__name(this,_0x7a0933(0x1aa));}[_0x7a0933(0x1ac)];[_0x7a0933(0x1d0)]=0x0;[_0x7a0933(0x1bd)]=[];[_0x7a0933(0x1b0)];['cookieState'];[_0x7a0933(0x18c)]=new Set();['record'](_0x453aa1,_0x3a7e7a){const _0x271b86={_0xabe298:0x1ba},_0xd41675=_0x7a0933;this[_0xd41675(_0x271b86._0xabe298)][_0xd41675(0x190)]({'scope':this[_0xd41675(0x164)],'method':_0x453aa1,'args':_0x3a7e7a});}['pages'](){return this['pageList'];}[_0x7a0933(0x192)](){const _0x3802f3={_0xd4865b:0x1ac,_0x27caf8:0x1d0},_0x4c451e=_0x7a0933,_0x1df0e5=this[_0x4c451e(_0x3802f3._0xd4865b)][this[_0x4c451e(_0x3802f3._0x27caf8)]];if(!_0x1df0e5)throw new DriverError('no\x20active\x20page\x20in\x20context',{'activeIdx':this[_0x4c451e(0x1d0)]});return _0x1df0e5;}['consoleEntries'](){const _0x475f36=_0x7a0933;return this[_0x475f36(0x1cd)]['consoleEntries']??[];}['networkEntries'](){const _0x5a6850=_0x7a0933;return this[_0x5a6850(0x1cd)][_0x5a6850(0x1c7)]??[];}async[_0x7a0933(0x1c6)](_0x3a8b67){const _0x5334ae={_0x4d6569:0x1b2,_0x4e7341:0x1ac,_0x3fd106:0x16f,_0x369501:0x1ac,_0x54ceda:0x1d0},_0x18551f=_0x7a0933;this[_0x18551f(_0x5334ae._0x4d6569)](_0x18551f(0x1c6),[_0x3a8b67]);if(_0x3a8b67<0x0||_0x3a8b67>=this[_0x18551f(_0x5334ae._0x4e7341)][_0x18551f(_0x5334ae._0x3fd106)])throw new DriverError(_0x18551f(0x1ce),{'index':_0x3a8b67,'available':this[_0x18551f(_0x5334ae._0x369501)][_0x18551f(0x16f)]});this[_0x18551f(_0x5334ae._0x54ceda)]=_0x3a8b67,this[_0x18551f(0x1bd)][_0x18551f(_0x5334ae._0x3fd106)]=0x0;}[_0x7a0933(0x162)](_0x171e68){return subscribe(this['newPageListeners'],_0x171e68);}['emitFakePopup'](_0x4bf6cc){const _0x6c3f8e={_0x15731a:0x164,_0x388e38:0x1c9,_0x1c70de:0x1ac,_0x2e10d3:0x16f,_0x205df3:0x1cd,_0x4005bd:0x1ac},_0x52fa17=_0x7a0933,_0x510aef=this[_0x52fa17(_0x6c3f8e._0x15731a)]+_0x52fa17(_0x6c3f8e._0x388e38)+this[_0x52fa17(_0x6c3f8e._0x1c70de)][_0x52fa17(_0x6c3f8e._0x2e10d3)],_0x393c45=new FakePage(this[_0x52fa17(0x1ba)],this[_0x52fa17(_0x6c3f8e._0x205df3)],_0x510aef,_0x4bf6cc);this[_0x52fa17(_0x6c3f8e._0x4005bd)]['push'](_0x393c45);const _0x322772=this[_0x52fa17(0x1ac)][_0x52fa17(0x16f)]-0x1;for(const _0x40dcfd of this['newPageListeners']){try{_0x40dcfd({'index':_0x322772,'url':_0x4bf6cc});}catch{}}return _0x322772;}[_0x7a0933(0x1ae)](_0x45b008){const _0x16497c={_0x3ce9ed:0x1ce,_0x1c40c8:0x1ac},_0x28fe73=_0x7a0933;if(_0x45b008<0x0||_0x45b008>=this[_0x28fe73(0x1ac)][_0x28fe73(0x16f)])throw new DriverError(_0x28fe73(_0x16497c._0x3ce9ed),{'index':_0x45b008,'available':this['pageList']['length']});this[_0x28fe73(_0x16497c._0x1c40c8)]['splice'](_0x45b008,0x1);}async['enterFrame'](_0x5d502b){const _0x58bebe={_0x422cfb:0x183,_0x1d0b20:0x1ab},_0x386295=_0x7a0933;this['record'](_0x386295(_0x58bebe._0x422cfb),[_0x5d502b]);if(!_0x5d502b[_0x386295(_0x58bebe._0x1d0b20)][_0x386295(0x16f)])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x5d502b});this['frameStack'][_0x386295(0x190)](_0x5d502b);}async[_0x7a0933(0x17f)](){const _0x17adcf={_0x279f3c:0x19e,_0x50d61c:0x19a},_0x396d73=_0x7a0933;this['record'](_0x396d73(0x17f),[]);if(this['frameStack'][_0x396d73(0x16f)]===0x0)throw new DriverError(_0x396d73(_0x17adcf._0x279f3c),{});this['frameStack'][_0x396d73(_0x17adcf._0x50d61c)]();}async['setLocalStorage'](_0x1b3779,_0x548f9f){const _0x40d4da={_0x537f8a:0x1b0},_0x1d43fe=_0x7a0933;this[_0x1d43fe(0x1b2)]('setLocalStorage',[_0x1b3779,_0x548f9f]),this[_0x1d43fe(_0x40d4da._0x537f8a)][_0x1b3779]=_0x548f9f;}async[_0x7a0933(0x1b4)](_0x2ef722){const _0x51b5ee={_0x102714:0x1b2},_0x116487=_0x7a0933;return this[_0x116487(_0x51b5ee._0x102714)](_0x116487(0x1b4),[_0x2ef722]),this[_0x116487(0x1b0)][_0x2ef722]??null;}async[_0x7a0933(0x18e)](_0x25ca6c,_0x35b34c,_0x166917){const _0x3c1a38=_0x7a0933;this['record'](_0x3c1a38(0x18e),[_0x25ca6c,_0x35b34c,_0x166917]),this['cookieState'][_0x25ca6c]=_0x35b34c;}async['getCookie'](_0xb43db0){const _0x153fec={_0x295f13:0x19d},_0x5ef9a2=_0x7a0933;return this['record'](_0x5ef9a2(_0x153fec._0x295f13),[_0xb43db0]),this[_0x5ef9a2(0x184)][_0xb43db0]??null;}async[_0x7a0933(0x179)](_0x45c65a){const _0x22baf6={_0x465ed0:0x1b2},_0x5e6f14=_0x7a0933;this[_0x5e6f14(_0x22baf6._0x465ed0)]('saveStorageState',[_0x45c65a]);}async[_0x7a0933(0x17a)](_0x3de16d){const _0x116eb9={_0x927707:0x1b2,_0x242573:0x17a},_0xc477b8=_0x7a0933;return this[_0xc477b8(_0x116eb9._0x927707)](_0xc477b8(_0x116eb9._0x242573),[_0x3de16d]),void 0x0;}async[_0x7a0933(0x173)](){const _0x35f539={_0x306227:0x1b2},_0x4d1c00=_0x7a0933;this[_0x4d1c00(_0x35f539._0x306227)]('close',[]);}[_0x7a0933(0x170)](){const _0x6f991e=_0x7a0933;return this[_0x6f991e(0x1bd)]['length'];}},FakeWebDriver=class{constructor(_0x3870f5={}){const _0x4471d1={_0x1a300b:0x1ba},_0x46b688=_0x7a0933;this['behavior']=_0x3870f5,this[_0x46b688(_0x4471d1._0x1a300b)]=createRecorder();}[_0x7a0933(0x1cd)];static{__name(this,'FakeWebDriver');}['launched']=![];[_0x7a0933(0x1ba)];['contexts']=[];async[_0x7a0933(0x185)](_0x4f2bc3){const _0x139b27={_0x2e79eb:0x185},_0x5cd387=_0x7a0933;this[_0x5cd387(0x1ba)][_0x5cd387(0x190)]({'scope':'driver','method':_0x5cd387(_0x139b27._0x2e79eb),'args':[_0x4f2bc3]}),this['launched']=!![];}async['newContext'](_0x19019b){const _0x344590={_0x3383d7:0x171,_0x279bb6:0x168,_0x17280b:0x199,_0x375354:0x17d,_0x303eb5:0x16f},_0x213045=_0x7a0933;this['recorder'][_0x213045(0x190)]({'scope':'driver','method':_0x213045(_0x344590._0x3383d7),'args':[_0x19019b]});if(!this[_0x213045(_0x344590._0x279bb6)])throw new DriverError('newContext\x20called\x20before\x20launch()',{});const _0x2bc605=new FakeContext(this[_0x213045(0x1ba)],this['behavior'],_0x213045(_0x344590._0x17280b)+this[_0x213045(_0x344590._0x375354)][_0x213045(_0x344590._0x303eb5)]);return this['contexts']['push'](_0x2bc605),_0x2bc605;}async['close'](){const _0x3bcf3c={_0x4b19b2:0x1c4,_0xcae4bf:0x168},_0x455290=_0x7a0933;this['recorder'][_0x455290(0x190)]({'scope':_0x455290(_0x3bcf3c._0x4b19b2),'method':'close','args':[]}),this[_0x455290(_0x3bcf3c._0xcae4bf)]=![];}[_0x7a0933(0x175)](){return void 0x0;}async[_0x7a0933(0x187)](){const _0x875285={_0x2fd09e:0x19f},_0x4b8d67=_0x7a0933;throw new DriverError(_0x4b8d67(_0x875285._0x2fd09e),{});}['attachExisting'](){const _0x3d4562={_0x5d3810:0x180},_0x3aae8f=_0x7a0933;throw new DriverError(_0x3aae8f(_0x3d4562._0x5d3810),{});}[_0x7a0933(0x1c8)](){const _0x1c226d={_0x107032:0x1ba,_0x50ce66:0x1c8},_0x1a2021=_0x7a0933;return this[_0x1a2021(_0x1c226d._0x107032)][_0x1a2021(_0x1c226d._0x50ce66)]();}[_0x7a0933(0x1cc)](_0x390ab7){const _0x334ff1={_0x3b5eab:0x1ba,_0x4f6d27:0x1c8},_0x35a2c1=_0x7a0933;return this[_0x35a2c1(_0x334ff1._0x3b5eab)][_0x35a2c1(_0x334ff1._0x4f6d27)]()[_0x35a2c1(0x18b)](_0x5d820f=>_0x5d820f[_0x35a2c1(0x1b8)]===_0x390ab7);}};function _0x440a(_0x5e85e3,_0x389b6c){_0x5e85e3=_0x5e85e3-0x162;const _0x4bf198=_0x4bf1();let _0x440a29=_0x4bf198[_0x5e85e3];if(_0x440a['WIgSSK']===undefined){var _0x518c42=function(_0x53c32b){const _0x3c6ec4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x962db1='',_0x11af7e='';for(let _0x1fdba8=0x0,_0x4e4bb3,_0x3f38c0,_0x1d5681=0x0;_0x3f38c0=_0x53c32b['charAt'](_0x1d5681++);~_0x3f38c0&&(_0x4e4bb3=_0x1fdba8%0x4?_0x4e4bb3*0x40+_0x3f38c0:_0x3f38c0,_0x1fdba8++%0x4)?_0x962db1+=String['fromCharCode'](0xff&_0x4e4bb3>>(-0x2*_0x1fdba8&0x6)):0x0){_0x3f38c0=_0x3c6ec4['indexOf'](_0x3f38c0);}for(let _0x18c799=0x0,_0x271a05=_0x962db1['length'];_0x18c799<_0x271a05;_0x18c799++){_0x11af7e+='%'+('00'+_0x962db1['charCodeAt'](_0x18c799)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11af7e);};_0x440a['LoceJl']=_0x518c42,_0x440a['FWtZcV']={},_0x440a['WIgSSK']=!![];}const _0x25a815=_0x4bf198[0x0],_0x1b5f11=_0x5e85e3+_0x25a815,_0x51ff8b=_0x440a['FWtZcV'][_0x1b5f11];return!_0x51ff8b?(_0x440a29=_0x440a['LoceJl'](_0x440a29),_0x440a['FWtZcV'][_0x1b5f11]=_0x440a29):_0x440a29=_0x51ff8b,_0x440a29;}export{FakeWebDriver};
1
+ const _0x52c021=_0x3364;(function(_0x1367ee,_0x5054ed){const _0x3a5583={_0xaa0af0:0x199,_0x29fa33:0x174,_0x539e87:0x15f,_0x24d00a:0x184,_0x23f773:0x156},_0x4bbc8b=_0x3364,_0x40ce43=_0x1367ee();while(!![]){try{const _0xbb7339=parseInt(_0x4bbc8b(0x188))/0x1*(-parseInt(_0x4bbc8b(_0x3a5583._0xaa0af0))/0x2)+parseInt(_0x4bbc8b(_0x3a5583._0x29fa33))/0x3+parseInt(_0x4bbc8b(_0x3a5583._0x539e87))/0x4+-parseInt(_0x4bbc8b(0x1bf))/0x5*(parseInt(_0x4bbc8b(0x189))/0x6)+parseInt(_0x4bbc8b(_0x3a5583._0x24d00a))/0x7+parseInt(_0x4bbc8b(_0x3a5583._0x23f773))/0x8+parseInt(_0x4bbc8b(0x15d))/0x9*(parseInt(_0x4bbc8b(0x1a8))/0xa);if(_0xbb7339===_0x5054ed)break;else _0x40ce43['push'](_0x40ce43['shift']());}catch(_0x25ded0){_0x40ce43['push'](_0x40ce43['shift']());}}}(_0x1da8,0x59672));function _0x1da8(){const _0x1e989b=['zgvMAw5LuhjVCgvYDhK','CMvJB3jK','Bg9JywXtDg9YywDL','rMfRzunVBNrLEhq','y3vYCMvUDfvYBa','y291BNrcEurLzMf1Bhq','D2fPDezVCK5HDMLNyxrPB24','Bg9JywXtDg9YywDLu3rHDgu','mtK5oti0mfPTDNvKAa','CMvM','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','z2v0q29VA2LL','C2nVCgu','BMv0D29YA0vUDhjPzxm','Dgv4DenVBNrLBNrcEurLzMf1Bhq','nta0ovHLuwXiqG','zNjHBwvezxb0Aa','mti1oda0ne9zyLHvuq','Bgf1BMnO','ywn0AxzLswr4','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','BMv3ugfNzuXPC3rLBMvYCW','y29VA2LLu3rHDgu','ywrK','y291BNq','A2LUza','z29cywnR','Aw5WDxrwywX1zuj5rgvMyxvSDa','y3jLyxrLuMvJB3jKzxi','y3r4','AxneAxnHyMXLzej5rgvMyxvSDa','AxneAxnHyMXLza','yxr0ywnOrxHPC3rPBMC','C2nYzwvUC2HVDa','y29UBMvJDfnOyxjLza','zMfRzsb0AxrSzq','y2XVC2u','BMv3q29UDgv4Da','mtG3mdi5DK9trM1m','Cg9W','y2HLy2TLzfn0yxrL','C2nYB2XSsw50B1zPzxC','zxjYB3jpBK5LEhrby3rPB24','yMvOyxzPB3i','zxzHBhvHDgu','zw50zxjgCMfTzq','C2vSzwn0t3b0Aw9U','zg91yMXLq2XPy2S','y29UC29SzuvUDhjPzxm','ywjVDxq6yMXHBMS','C3rLChm','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','yxr0CMLIDxrLC0j5rgvMyxvSDa','DxbSB2fKrMLSzq','mJiZnZK0mNfvEgjnva','z29gB3j3yxjK','y2XVC2vgywTLugfNzq','DxjS','mtq2nev0C1v5Ba','mZy1mdq4neTSu0rxAW','zMLSDgvY','Bgf1BMnOzwq','C2v0tg9JywXtDg9YywDL','y29VA2LLCW','Ag92zxi','zgvSzxrL','C3bSAwnL','CMvSB2fK','rMfRzvbHz2u','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','zMfRzs1WBMC','Cg9WDxbpBKnSAwnR','zxHPDezYyw1L','Bwf5yMvuAhjVDW','ChvZAa','mJK4D1r1v1HM','zhjHz0fUzerYB3a','D2fPDezVCG','D2fPDezVCLrLEhq','tg9JyxrVCKvYCM9Y','zhjPDMvY','rMfRzvDLyKrYAxzLCG','y29UDgv4Dhm','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','B25ozxDqywDL','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zw1PDezHA2vqB3b1Ca','Bwv0Ag9K','CgfNzxm','C2v0q29VA2LL','ndm5mhnHAvDUvG','C2f2zvn0B3jHz2vtDgf0zq','BMfTzq','y2fSBhm','Aw5WDxrwywX1zq','DgL0Bgu','z2v0qxr0CMLIDxrL','B3v0zxjive1m','lNbHz2uW','y2fSBhngB3i','C2v0qwn0AxzLugfNzq','z2v0tg9JywXtDg9YywDL','z290BW','CMvJB3jKzxi','BgvUz3rO','Aw5ZCgvJDevSzw1LBNq','AxnwAxnPyMXLqNLezwzHDwX0','Dgv4DenVBNrLBNq','y2XPCgjVyxjKugfZDgu','pgrPDJ48l2rPDJ4','zMLSBa','D2fPDezVCKXVywrtDgf0zq','y2XPy2S','nwfRwvLRuq','zNjHBwvtDgfJAW','B25bzNrLCKnSAwnR','Dw5JAgvJAW','Aw5PDgLHBfvYBa','CgfNzuXPC3q'];_0x1da8=function(){return _0x1e989b;};return _0x1da8();}var __defProp=Object[_0x52c021(0x1c5)],__name=(_0x31dc01,_0x380419)=>__defProp(_0x31dc01,_0x52c021(0x1aa),{'value':_0x380419,'configurable':!![]});function _0x3364(_0x24858a,_0x13a66c){_0x24858a=_0x24858a-0x155;const _0x1da80b=_0x1da8();let _0x33642=_0x1da80b[_0x24858a];if(_0x3364['YkVUqF']===undefined){var _0x469b2e=function(_0x3434d4){const _0x57d7b9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31dc01='',_0x380419='';for(let _0x4010ce=0x0,_0xcf4d41,_0x1b0f9b,_0x302514=0x0;_0x1b0f9b=_0x3434d4['charAt'](_0x302514++);~_0x1b0f9b&&(_0xcf4d41=_0x4010ce%0x4?_0xcf4d41*0x40+_0x1b0f9b:_0x1b0f9b,_0x4010ce++%0x4)?_0x31dc01+=String['fromCharCode'](0xff&_0xcf4d41>>(-0x2*_0x4010ce&0x6)):0x0){_0x1b0f9b=_0x57d7b9['indexOf'](_0x1b0f9b);}for(let _0x285d05=0x0,_0x69bbd2=_0x31dc01['length'];_0x285d05<_0x69bbd2;_0x285d05++){_0x380419+='%'+('00'+_0x31dc01['charCodeAt'](_0x285d05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380419);};_0x3364['FnzSyH']=_0x469b2e,_0x3364['rpMRdm']={},_0x3364['YkVUqF']=!![];}const _0x29c228=_0x1da80b[0x0],_0x3afdfe=_0x24858a+_0x29c228,_0x2097c3=_0x3364['rpMRdm'][_0x3afdfe];return!_0x2097c3?(_0x33642=_0x3364['FnzSyH'](_0x33642),_0x3364['rpMRdm'][_0x3afdfe]=_0x33642):_0x33642=_0x2097c3,_0x33642;}function subscribe(_0x4010ce,_0xcf4d41){const _0x395a87=_0x52c021;return _0x4010ce[_0x395a87(0x165)](_0xcf4d41),()=>{const _0x3d4521=_0x395a87;_0x4010ce[_0x3d4521(0x18f)](_0xcf4d41);};}__name(subscribe,'subscribe');import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0x52c021(0x19d));}};function createRecorder(){const _0x443078={_0x8c8f81:0x198},_0x139502=_0x52c021,_0x1b0f9b=[];let _0x302514=0x0;return{'push':__name(_0x285d05=>_0x1b0f9b[_0x139502(0x198)]({..._0x285d05,'seq':_0x302514++}),_0x139502(_0x443078._0x8c8f81)),'calls':__name(()=>_0x1b0f9b,'calls')};}__name(createRecorder,_0x52c021(0x16a));var FakePage=class{constructor(_0x69bbd2,_0x40c350,_0x1b65dc,_0x3e83ef){const _0x57b17c={_0x121d79:0x1b5,_0x4590c7:0x179},_0x379df5=_0x52c021;this[_0x379df5(_0x57b17c._0x121d79)]=_0x69bbd2,this[_0x379df5(_0x57b17c._0x4590c7)]=_0x40c350,this['scope']=_0x1b65dc,this['currentUrl']=_0x3e83ef;}[_0x52c021(0x1b5)];[_0x52c021(0x179)];[_0x52c021(0x15a)];static{__name(this,_0x52c021(0x192));}['currentUrl'];[_0x52c021(0x1c1)];[_0x52c021(0x1c6)](_0x57f1a8,_0x14b55b){const _0x486fa0={_0x8255a0:0x198},_0x43f1b4=_0x52c021;this[_0x43f1b4(0x1b5)][_0x43f1b4(_0x486fa0._0x8255a0)]({'scope':this[_0x43f1b4(0x15a)],'method':_0x57f1a8,'args':_0x14b55b});}[_0x52c021(0x197)](){const _0x575c3d={_0x3a7194:0x179,_0x2042df:0x178},_0x188377=_0x52c021;if(this[_0x188377(_0x575c3d._0x3a7194)][_0x188377(_0x575c3d._0x2042df)]){const _0x52d9da=this[_0x188377(0x179)][_0x188377(0x178)];this[_0x188377(_0x575c3d._0x3a7194)][_0x188377(0x178)]=void 0x0;throw _0x52d9da;}}[_0x52c021(0x187)](){const _0x11b607=_0x52c021;return this[_0x11b607(0x1c9)];}async[_0x52c021(0x1ad)](){const _0x4316f1={_0x156766:0x1ad,_0x57fb45:0x171},_0xc24147=_0x52c021;return this['record'](_0xc24147(_0x4316f1._0x156766),[]),_0xc24147(_0x4316f1._0x57fb45);}async[_0x52c021(0x1be)](_0x502256,_0x51d4c8){const _0x187438={_0x97da5a:0x1c1},_0x2b84c3=_0x52c021;this['record']('click',[_0x502256,_0x51d4c8]),this[_0x2b84c3(0x197)](),this[_0x2b84c3(_0x187438._0x97da5a)]?.();}async[_0x52c021(0x17d)](_0x313c74,_0x355fee){const _0x485b73={_0x449fe3:0x17d},_0x240f82=_0x52c021;this[_0x240f82(0x1c6)](_0x240f82(_0x485b73._0x449fe3),[_0x313c74,_0x355fee]),this[_0x240f82(0x197)]();}async[_0x52c021(0x1bc)](_0x4fd6df,_0x14d774,_0x2c1674){const _0xe4c1e5={_0x19f77d:0x197},_0x414d01=_0x52c021;this[_0x414d01(0x1c6)](_0x414d01(0x1bc),[_0x4fd6df,_0x14d774,_0x2c1674]),this[_0x414d01(_0xe4c1e5._0x19f77d)]();}async['press'](_0x2b354b,_0xbcdf16,_0x3a488b){const _0xa1b45d=_0x52c021;this[_0xa1b45d(0x1c6)]('press',[_0x2b354b,_0xbcdf16,_0x3a488b]),this[_0xa1b45d(0x197)]();}async['check'](_0x277aee,_0x50095f){const _0xa63ca1={_0x59d3f7:0x197},_0x2de57e=_0x52c021;this['record']('check',[_0x277aee,_0x50095f]),this[_0x2de57e(_0xa63ca1._0x59d3f7)]();}async[_0x52c021(0x1c2)](_0x35c463,_0x3c1016){const _0x1154de={_0x4fb2ef:0x1c2},_0x216c7d=_0x52c021;this[_0x216c7d(0x1c6)](_0x216c7d(_0x1154de._0x4fb2ef),[_0x35c463,_0x3c1016]),this[_0x216c7d(0x197)]();}async[_0x52c021(0x17c)](_0x56c750,_0x381f67,_0x4189b1){const _0x332f95={_0x404c35:0x1c6,_0x1188f0:0x17c},_0x6ee13b=_0x52c021;this[_0x6ee13b(_0x332f95._0x404c35)](_0x6ee13b(_0x332f95._0x1188f0),[_0x56c750,_0x381f67,_0x4189b1]),this[_0x6ee13b(0x197)]();}async['hover'](_0x63d655,_0x3fdda4){const _0x77494c={_0x3b6272:0x18e},_0x1355af=_0x52c021;this[_0x1355af(0x1c6)](_0x1355af(_0x77494c._0x3b6272),[_0x63d655,_0x3fdda4]),this[_0x1355af(0x197)]();}async[_0x52c021(0x177)](_0x4a2b17){const _0x351722={_0x502d39:0x1c6,_0x3e45aa:0x197},_0x2e66ba=_0x52c021;this[_0x2e66ba(_0x351722._0x502d39)]('scrollIntoView',[_0x4a2b17]),this[_0x2e66ba(_0x351722._0x3e45aa)]();}async[_0x52c021(0x19a)](_0x463eed,_0x284abf,_0x38137b){const _0x42af95={_0x4ee080:0x1c6},_0x3b72a6=_0x52c021;this[_0x3b72a6(_0x42af95._0x4ee080)](_0x3b72a6(0x19a),[_0x463eed,_0x284abf,_0x38137b]),this['maybeThrow']();}async[_0x52c021(0x183)](_0x497c84,_0x741198){this['record']('uploadFile',[_0x497c84,_0x741198]),this['maybeThrow']();}async[_0x52c021(0x1ba)](_0x40fa4c,_0x153315){const _0xff496e={_0x52bb37:0x1ba},_0xd918ee=_0x52c021;this['record'](_0xd918ee(_0xff496e._0x52bb37),[_0x40fa4c,_0x153315]),this[_0xd918ee(0x197)]();}async['count'](_0x254eb4){const _0x47a614={_0x2b0dcb:0x1c6,_0x165ba6:0x166,_0x411c98:0x179},_0x15a189=_0x52c021;return this[_0x15a189(_0x47a614._0x2b0dcb)](_0x15a189(_0x47a614._0x165ba6),[_0x254eb4]),this[_0x15a189(_0x47a614._0x411c98)][_0x15a189(0x1ca)]??0x1;}async[_0x52c021(0x1b9)](_0x4714b4){const _0x37a4b5={_0x257a8a:0x1c6,_0x1b2640:0x1b9,_0xfe59d6:0x15c},_0x585d20=_0x52c021;return this[_0x585d20(_0x37a4b5._0x257a8a)](_0x585d20(_0x37a4b5._0x1b2640),[_0x4714b4]),this['behavior'][_0x585d20(_0x37a4b5._0xfe59d6)]??'';}async[_0x52c021(0x1ac)](_0x2316b7){const _0x4eb901={_0x3ceb18:0x1ac,_0x120916:0x179},_0x51e356=_0x52c021;return this['record'](_0x51e356(_0x4eb901._0x3ceb18),[_0x2316b7]),this[_0x51e356(_0x4eb901._0x120916)][_0x51e356(0x169)]??'';}async[_0x52c021(0x176)](_0x251a27){const _0x200d48={_0x465238:0x1c6},_0x45f560=_0x52c021;return this[_0x45f560(_0x200d48._0x465238)]('checkedState',[_0x251a27]),this['behavior']['checkedStateByDefault']??null;}async['isVisible'](_0x9f3e3a){const _0x1540f0={_0x342141:0x1c6},_0x52fac5=_0x52c021;return this[_0x52fac5(_0x1540f0._0x342141)]('isVisible',[_0x9f3e3a]),this[_0x52fac5(0x179)][_0x52fac5(0x1b8)]??!![];}async[_0x52c021(0x16d)](_0x2edc96){const _0x2f88a0={_0x22f033:0x1c6},_0x2ce636=_0x52c021;return this[_0x2ce636(_0x2f88a0._0x22f033)](_0x2ce636(0x16d),[_0x2edc96]),this[_0x2ce636(0x179)][_0x2ce636(0x16c)]??![];}async[_0x52c021(0x1ae)](_0x2731a0,_0x1e8eb1){const _0x1faca7={_0x1458b1:0x182},_0x199a47=_0x52c021;return this[_0x199a47(0x1c6)](_0x199a47(0x1ae),[_0x2731a0,_0x1e8eb1]),this[_0x199a47(0x179)][_0x199a47(_0x1faca7._0x1458b1)]?.[_0x1e8eb1]??null;}async[_0x52c021(0x19b)](_0x143139,_0x5a12ad){const _0x555e22={_0x45864e:0x19b},_0x4d04e8=_0x52c021;this[_0x4d04e8(0x1c6)](_0x4d04e8(_0x555e22._0x45864e),[_0x143139,_0x5a12ad]);}async['waitForUrl'](_0x221325,_0x2bf5eb){const _0x401605={_0x120256:0x1c6},_0x2a78b0=_0x52c021;this[_0x2a78b0(_0x401605._0x120256)]('waitForUrl',[_0x221325,_0x2bf5eb]);}async[_0x52c021(0x19c)](_0x4d13f7,_0xce3480){const _0x39578c=_0x52c021;this[_0x39578c(0x1c6)]('waitForText',[_0x4d13f7,_0xce3480]);}async[_0x52c021(0x1cb)](_0x2c5a02){const _0x31b94b={_0x4130ca:0x1c6},_0x4ea98a=_0x52c021;this[_0x4ea98a(_0x31b94b._0x4130ca)](_0x4ea98a(0x1cb),[_0x2c5a02]);}async[_0x52c021(0x1bd)](_0x526445,_0x39ed86){const _0x420363={_0x258e71:0x1c6,_0x50a4d4:0x1bd},_0xc3e9aa=_0x52c021;this[_0xc3e9aa(_0x420363._0x258e71)](_0xc3e9aa(_0x420363._0x50a4d4),[_0x526445,_0x39ed86]);}async[_0x52c021(0x1b4)](_0x5e8962,_0x32a1ab){const _0x207a51={_0x32d2b8:0x1b4},_0x318403=_0x52c021;this['record'](_0x318403(_0x207a51._0x32d2b8),[_0x5e8962,_0x32a1ab]),this[_0x318403(0x1c9)]=_0x5e8962;}async['reload'](_0x383f5b){const _0x2319fe={_0x41d05f:0x1c6},_0x62b933=_0x52c021;this[_0x62b933(_0x2319fe._0x41d05f)](_0x62b933(0x191),[_0x383f5b]);}async[_0x52c021(0x168)](_0x391806){const _0x165186=_0x52c021;this[_0x165186(0x1c6)](_0x165186(0x168),[_0x391806]);}async[_0x52c021(0x185)](_0x326321){const _0x1d04a7={_0x3d90c3:0x1c6},_0x4734a1=_0x52c021;this[_0x4734a1(_0x1d04a7._0x3d90c3)](_0x4734a1(0x185),[_0x326321]);}async[_0x52c021(0x17a)](_0x1f9fc3){const _0x4786a4={_0x2f5bb4:0x17a},_0x14a54f=_0x52c021;return this[_0x14a54f(0x1c6)](_0x14a54f(_0x4786a4._0x2f5bb4),[_0x1f9fc3]),void 0x0;}async['evaluateOnLocator'](_0x407b4b,_0x22a352){return this['record']('evaluateOnLocator',[_0x407b4b,_0x22a352]),void 0x0;}async['inspectElement'](_0x11a950){const _0x2ca4a2={_0x5d423e:0x1c6,_0x1d7b56:0x1b7,_0x5ee336:0x180,_0x1a4fd9:0x167,_0x51418b:0x157,_0x17178e:0x179},_0x307c4a=_0x52c021;this[_0x307c4a(_0x2ca4a2._0x5d423e)](_0x307c4a(_0x2ca4a2._0x1d7b56),[_0x11a950]);if(_0x11a950[_0x307c4a(_0x2ca4a2._0x5ee336)]['length']!==0x1||_0x11a950[_0x307c4a(0x180)][0x0][_0x307c4a(_0x2ca4a2._0x1a4fd9)]!==_0x307c4a(_0x2ca4a2._0x51418b))return null;const _0x3c6bd8=_0x11a950['steps'][0x0][_0x307c4a(0x157)],_0x31a3b2=this[_0x307c4a(_0x2ca4a2._0x17178e)]['elementHintByRef']?.[_0x3c6bd8];return _0x31a3b2??null;}async[_0x52c021(0x16f)](_0x44f43c){const _0x4df695={_0x44dbc1:0x194},_0x5b0323=_0x52c021;return this['record'](_0x5b0323(0x16f),[_0x44f43c]),Buffer['from'](_0x5b0323(_0x4df695._0x44dbc1));}async['outerHTML'](_0x58c977){const _0x27865a={_0x13996d:0x180,_0x19563a:0x157,_0x2ba1b8:0x180,_0x19850c:0x1a3},_0x1c2ec2=_0x52c021;this['record'](_0x1c2ec2(0x1af),[_0x58c977]);if(_0x58c977[_0x1c2ec2(0x180)]['length']===0x1&&_0x58c977[_0x1c2ec2(_0x27865a._0x13996d)][0x0][_0x1c2ec2(0x167)]===_0x1c2ec2(_0x27865a._0x19563a)){const _0x265d10=_0x58c977[_0x1c2ec2(_0x27865a._0x2ba1b8)][0x0][_0x1c2ec2(0x157)];return this['behavior']['outerHtmlByRef']?.[_0x265d10]??_0x1c2ec2(_0x27865a._0x19850c)+_0x265d10+'\x22></div>';}return _0x1c2ec2(0x1bb);}},FakeContext=class{constructor(_0x39a27c,_0x976d90,_0x26d345){const _0x406c64={_0x35f2bc:0x17f,_0x22afed:0x1c1,_0x52f461:0x155,_0x2649db:0x18d},_0x5cc3e6={_0x192dfd:0x195},_0xa081d4=_0x52c021;this['recorder']=_0x39a27c,this[_0xa081d4(0x179)]=_0x976d90,this[_0xa081d4(0x15a)]=_0x26d345;const _0x1cb77c=new FakePage(_0x39a27c,_0x976d90,_0x26d345+_0xa081d4(0x1b0),_0x976d90[_0xa081d4(0x1c3)]??_0xa081d4(_0x406c64._0x35f2bc));_0x976d90[_0xa081d4(0x195)]&&(_0x1cb77c[_0xa081d4(_0x406c64._0x22afed)]=()=>{const _0x372903=_0xa081d4;this[_0x372903(0x1a4)](_0x976d90[_0x372903(_0x5cc3e6._0x192dfd)]);}),this['pageList']=[_0x1cb77c],this[_0xa081d4(_0x406c64._0x52f461)]={..._0x976d90[_0xa081d4(0x1c7)]??{}},this[_0xa081d4(0x164)]={..._0x976d90[_0xa081d4(_0x406c64._0x2649db)]??{}};}['recorder'];[_0x52c021(0x179)];[_0x52c021(0x15a)];static{__name(this,_0x52c021(0x1c8));}[_0x52c021(0x1c4)];[_0x52c021(0x161)]=0x0;['frameStack']=[];[_0x52c021(0x155)];[_0x52c021(0x164)];['newPageListeners']=new Set();[_0x52c021(0x1c6)](_0xf53240,_0x354f44){const _0x437022=_0x52c021;this[_0x437022(0x1b5)][_0x437022(0x198)]({'scope':this[_0x437022(0x15a)],'method':_0xf53240,'args':_0x354f44});}[_0x52c021(0x1a6)](){const _0x24522c=_0x52c021;return this[_0x24522c(0x1c4)];}['activePage'](){const _0x311ac1={_0x1d10c5:0x181},_0x2c4344=_0x52c021,_0x13edc1=this['pageList'][this[_0x2c4344(0x161)]];if(!_0x13edc1)throw new DriverError(_0x2c4344(_0x311ac1._0x1d10c5),{'activeIdx':this['activeIdx']});return _0x13edc1;}[_0x52c021(0x17e)](){const _0x4fc670={_0x582a7b:0x179,_0x3cc64a:0x17e},_0x353cb1=_0x52c021;return this[_0x353cb1(_0x4fc670._0x582a7b)][_0x353cb1(_0x4fc670._0x3cc64a)]??[];}[_0x52c021(0x15b)](){const _0x225d6e={_0x1d42ee:0x179},_0x336cd6=_0x52c021;return this[_0x336cd6(_0x225d6e._0x1d42ee)][_0x336cd6(0x15b)]??[];}async[_0x52c021(0x1b2)](_0x405bc8){const _0x2956d7={_0x2bf2b7:0x1b2,_0x20afd6:0x1b6,_0x591248:0x1c4},_0x575698=_0x52c021;this['record'](_0x575698(_0x2956d7._0x2bf2b7),[_0x405bc8]);if(_0x405bc8<0x0||_0x405bc8>=this['pageList'][_0x575698(_0x2956d7._0x20afd6)])throw new DriverError('page\x20index\x20out\x20of\x20range',{'index':_0x405bc8,'available':this[_0x575698(_0x2956d7._0x591248)][_0x575698(0x1b6)]});this['activeIdx']=_0x405bc8,this['frameStack'][_0x575698(0x1b6)]=0x0;}[_0x52c021(0x1a2)](_0x382afa){const _0x2d5ef4=_0x52c021;return subscribe(this[_0x2d5ef4(0x163)],_0x382afa);}[_0x52c021(0x1a4)](_0x52f939){const _0x1df817={_0x3ac624:0x15a,_0x15285f:0x198,_0x5292e2:0x163},_0x135542=_0x52c021,_0xa7ea2a=this[_0x135542(_0x1df817._0x3ac624)]+'.page'+this['pageList'][_0x135542(0x1b6)],_0x701ef2=new FakePage(this[_0x135542(0x1b5)],this['behavior'],_0xa7ea2a,_0x52f939);this['pageList'][_0x135542(_0x1df817._0x15285f)](_0x701ef2);const _0x2fce5b=this[_0x135542(0x1c4)][_0x135542(0x1b6)]-0x1;for(const _0x108722 of this[_0x135542(_0x1df817._0x5292e2)]){try{_0x108722({'index':_0x2fce5b,'url':_0x52f939});}catch{}}return _0x2fce5b;}[_0x52c021(0x186)](_0x387d60){const _0x497fae={_0x13ffbf:0x1b6},_0x1b3d30=_0x52c021;if(_0x387d60<0x0||_0x387d60>=this[_0x1b3d30(0x1c4)][_0x1b3d30(_0x497fae._0x13ffbf)])throw new DriverError(_0x1b3d30(0x1a1),{'index':_0x387d60,'available':this[_0x1b3d30(0x1c4)][_0x1b3d30(0x1b6)]});this[_0x1b3d30(0x1c4)][_0x1b3d30(0x190)](_0x387d60,0x1);}async[_0x52c021(0x17b)](_0x52a341){const _0x123fa4={_0x5d2416:0x17b,_0x3d6718:0x1b6,_0x1689b2:0x193,_0x591f35:0x198},_0x2711e7=_0x52c021;this['record'](_0x2711e7(_0x123fa4._0x5d2416),[_0x52a341]);if(!_0x52a341['steps'][_0x2711e7(_0x123fa4._0x3d6718)])throw new LocatorError(_0x2711e7(_0x123fa4._0x1689b2),{'locator':_0x52a341});this[_0x2711e7(0x1c0)][_0x2711e7(_0x123fa4._0x591f35)](_0x52a341);}async[_0x52c021(0x196)](){const _0x43c25d={_0x1f8889:0x1c0},_0x2d90dd=_0x52c021;this['record'](_0x2d90dd(0x196),[]);if(this[_0x2d90dd(_0x43c25d._0x1f8889)][_0x2d90dd(0x1b6)]===0x0)throw new DriverError('exitFrame\x20called\x20with\x20no\x20frame\x20on\x20the\x20stack',{});this[_0x2d90dd(_0x43c25d._0x1f8889)][_0x2d90dd(0x175)]();}async[_0x52c021(0x18c)](_0xfd358c,_0x543ed2){const _0x5f00b4=_0x52c021;this[_0x5f00b4(0x1c6)]('setLocalStorage',[_0xfd358c,_0x543ed2]),this[_0x5f00b4(0x155)][_0xfd358c]=_0x543ed2;}async[_0x52c021(0x1b3)](_0x26a536){const _0x5a16e3={_0x7d4cb9:0x155},_0x4b089f=_0x52c021;return this[_0x4b089f(0x1c6)]('getLocalStorage',[_0x26a536]),this[_0x4b089f(_0x5a16e3._0x7d4cb9)][_0x26a536]??null;}async['setCookie'](_0x29774e,_0x5accd9,_0x526e76){const _0x2bb793={_0x5d8e77:0x1a7,_0x5df0fa:0x164},_0x3b4540=_0x52c021;this[_0x3b4540(0x1c6)](_0x3b4540(_0x2bb793._0x5d8e77),[_0x29774e,_0x5accd9,_0x526e76]),this[_0x3b4540(_0x2bb793._0x5df0fa)][_0x29774e]=_0x5accd9;}async[_0x52c021(0x159)](_0x9b1aab){const _0x155b3c={_0x36b49e:0x159,_0x46af90:0x164},_0x4cb4cc=_0x52c021;return this[_0x4cb4cc(0x1c6)](_0x4cb4cc(_0x155b3c._0x36b49e),[_0x9b1aab]),this[_0x4cb4cc(_0x155b3c._0x46af90)][_0x9b1aab]??null;}async[_0x52c021(0x1a9)](_0x569eaa){const _0x421143={_0x1c88a9:0x1a9},_0x43b315=_0x52c021;this['record'](_0x43b315(_0x421143._0x1c88a9),[_0x569eaa]);}async[_0x52c021(0x17a)](_0x3330a9){const _0x4d5c6a=_0x52c021;return this[_0x4d5c6a(0x1c6)](_0x4d5c6a(0x17a),[_0x3330a9]),void 0x0;}async[_0x52c021(0x172)](){const _0x5cd845={_0x310f1f:0x1c6,_0x1e68ec:0x172},_0x13ef6d=_0x52c021;this[_0x13ef6d(_0x5cd845._0x310f1f)](_0x13ef6d(_0x5cd845._0x1e68ec),[]);}[_0x52c021(0x15e)](){const _0x4d4c4a={_0x42a2a5:0x1c0},_0x1377a5=_0x52c021;return this[_0x1377a5(_0x4d4c4a._0x42a2a5)]['length'];}},FakeWebDriver=class{constructor(_0x35c6f4={}){const _0x56689f={_0x46c9e6:0x1b5},_0x2be6d7=_0x52c021;this[_0x2be6d7(0x179)]=_0x35c6f4,this[_0x2be6d7(_0x56689f._0x46c9e6)]=createRecorder();}[_0x52c021(0x179)];static{__name(this,_0x52c021(0x19f));}['launched']=![];[_0x52c021(0x1b5)];['contexts']=[];async[_0x52c021(0x160)](_0x4bd1f7){const _0x3fd216={_0x1fb655:0x1b5,_0x42e4c9:0x198,_0x53e94f:0x19e,_0x19fc11:0x160,_0x212be7:0x18b},_0x5c1158=_0x52c021;this[_0x5c1158(_0x3fd216._0x1fb655)][_0x5c1158(_0x3fd216._0x42e4c9)]({'scope':_0x5c1158(_0x3fd216._0x53e94f),'method':_0x5c1158(_0x3fd216._0x19fc11),'args':[_0x4bd1f7]}),this[_0x5c1158(_0x3fd216._0x212be7)]=!![];}async[_0x52c021(0x173)](_0x47107a){const _0x21aaa6={_0x4e39a1:0x1b5,_0x47fc93:0x158,_0x377405:0x1b5,_0x9bc756:0x179,_0x439028:0x1a0,_0x13950a:0x1b6},_0x765e6=_0x52c021;this[_0x765e6(_0x21aaa6._0x4e39a1)][_0x765e6(0x198)]({'scope':'driver','method':_0x765e6(0x173),'args':[_0x47107a]});if(!this[_0x765e6(0x18b)])throw new DriverError(_0x765e6(_0x21aaa6._0x47fc93),{});const _0x285555=new FakeContext(this[_0x765e6(_0x21aaa6._0x377405)],this[_0x765e6(_0x21aaa6._0x9bc756)],_0x765e6(0x16b)+this[_0x765e6(_0x21aaa6._0x439028)][_0x765e6(_0x21aaa6._0x13950a)]);return this['contexts'][_0x765e6(0x198)](_0x285555),_0x285555;}async[_0x52c021(0x172)](){const _0x4f05b3={_0x53f398:0x19e,_0x30812e:0x18b},_0x8cb9eb=_0x52c021;this['recorder'][_0x8cb9eb(0x198)]({'scope':_0x8cb9eb(_0x4f05b3._0x53f398),'method':'close','args':[]}),this[_0x8cb9eb(_0x4f05b3._0x30812e)]=![];}['wsEndpoint'](){return void 0x0;}async[_0x52c021(0x170)](){throw new DriverError('connectShared\x20not\x20supported\x20by\x20FakeWebDriver',{});}[_0x52c021(0x16e)](){const _0x461262={_0x4ac6b7:0x162},_0x51ba82=_0x52c021;throw new DriverError(_0x51ba82(_0x461262._0x4ac6b7),{});}[_0x52c021(0x1ab)](){const _0x2d395d={_0x24c166:0x1b5,_0x42e9a5:0x1ab},_0x5f05d0=_0x52c021;return this[_0x5f05d0(_0x2d395d._0x24c166)][_0x5f05d0(_0x2d395d._0x42e9a5)]();}[_0x52c021(0x1b1)](_0x54c081){const _0x3162c6={_0x57c81f:0x18a},_0x3340f2=_0x52c021;return this[_0x3340f2(0x1b5)]['calls']()[_0x3340f2(_0x3162c6._0x57c81f)](_0x3164e1=>_0x3164e1[_0x3340f2(0x1a5)]===_0x54c081);}};export{FakeWebDriver};