@unotest/web 0.26.0 → 0.27.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,188 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.27.0] - 2026-08-31
4
+
5
+ ### Minor Changes
6
+
7
+ - `viewer` starts quietly: the Nest boot log (a line per module and
8
+ route) no longer floods the terminal — you get the viewer URL and
9
+ nothing else. Errors and warnings still print; `UNOTEST_DEBUG=1`
10
+ brings the full boot map back.
11
+
12
+ - The LOCAL viewer now shows the same effective schedule set a box
13
+ would run — what you see is what a push ships, 1:1.
14
+
15
+ - Locally the schedule registry reads the merged set through
16
+ `schedules --json` (the same path a box uses): config-declared
17
+ entries are finally visible, marked read-only ("declared in
18
+ `unotest.config` — edit it there"); yaml entries stay editable as
19
+ before. A runner without a schedules command falls back to the
20
+ yaml half.
21
+ - `bundle push` records a fingerprint of the effective set in the
22
+ bundle manifest. The box re-computes the set in its own environment
23
+ and — when a config that reads `process.env` computes something
24
+ different there — warns in its log, and the deployed viewer shows a
25
+ drift line instead of letting "what I see is what I pushed" stand.
26
+ - `bundle push` now refuses to pack a project whose schedules
27
+ registry cannot be read — the same broken yaml used to upload fine
28
+ and un-schedule the suite on the box.
29
+ - `npx @unotest/web schedules` marks entries outside the previewable
30
+ cron subset (`not previewable — an executor may drop it`), and the
31
+ new `--check` flag turns that mark into a non-zero exit for a
32
+ pre-push hook or a CI gate.
33
+
34
+ - Schedules stop lying on a box, and a wrong cron is caught before the
35
+ push.
36
+
37
+ - `npx @unotest/web schedules` now previews every entry's next run —
38
+ `next tomorrow 03:00` — on this machine's clock (an executor ticks
39
+ in its own timezone, and the output says so). Expressions outside
40
+ the schedule-builder subset are shown verbatim, never guessed at.
41
+ - On a box the viewer shows the EFFECTIVE schedule set — the config's
42
+ `schedules` merged with `unotest/schedules.yaml`, read through the
43
+ project's own CLI — as read-only, with a badge: schedules are
44
+ declared in the repo, and the box runs whatever the deployed bundle
45
+ declares. Editing there used to write into a disposable bundle copy
46
+ nothing ever re-read; now the popup points at the repo and the API
47
+ refuses the write (403).
48
+
49
+ - c843d21: Schedules from the viewer — for collections and single tests.
50
+
51
+ Right-click a test or a collection in the viewer → **Schedule…**: a
52
+ human schedule builder (frequency select — every 5/15 min, hourly,
53
+ every 2/4/6/12 h, daily, weekly — plus toggle badges for minutes,
54
+ hours and weekdays; multi-select, so `04` + `16` × `00` + `30` runs
55
+ four times a day). Saved to `unotest/schedules.yaml`, versioned next
56
+ to the tests; a box applies it after commit & sync. The Home screen
57
+ gains a `last run | schedule` toggle: in schedule mode tiles are
58
+ tinted by how often a test runs (grey = not scheduled), with an
59
+ upcoming list and per-tile next-run times in your browser's clock.
60
+
61
+ Under the hood:
62
+
63
+ - `unotest/schedules.yaml` is a new schedule registry; `unotest-web
64
+ schedules [--json]` prints it merged with the config's `schedules`
65
+ (the file wins on a duplicate target), so boxes pick both up
66
+ unchanged.
67
+ - A schedule entry may now target a single test: `scenario:
68
+ <ref>` instead of `collection: <name>`.
69
+ - `unotest-web e2e <name> --scheduled[=index]` runs a test the way its
70
+ entry says (env + prepare, exit 94 when prepare fails) — the
71
+ per-test mirror of `collection --scheduled`.
72
+ - Viewer server: `GET/PUT /api/schedules` (validated by the same
73
+ parser the CLI reads the file with).
74
+
75
+ ### Patch Changes
76
+
77
+ - Updated dependencies [c843d21]
78
+ - @unotest/protocol@0.27.0
79
+ - @unotest/viewer@0.27.0
80
+ - @unotest/core@0.27.0
81
+ - @unotest/dsl@0.27.0
82
+ - @unotest/grounder-client@0.27.0
83
+
84
+ ## [0.26.1] - 2026-08-30
85
+
86
+ ### Patch Changes
87
+
88
+ - A push now says which environments could not run the suite
89
+
90
+ The values a suite's externals need live with the environment on a box —
91
+ no bundle carries them, deliberately — so a suite pushed to a box that
92
+ has none of them was accepted happily and went red an hour later,
93
+ complaining about a missing login. The bundle now carries the NAMES its
94
+ `.env` / `.secrets` (or their `.example` twins) declare — names only,
95
+ never values — and the box answers the push with what it cannot supply,
96
+ per environment, plus the command that sets each one.
97
+
98
+ - One command cuts the whole release
99
+
100
+ `publish:ecosystem` now also commits the docs pin and cuts the box
101
+ release (the `guard-v<version>` tag) when something a box runs changed
102
+ since the last one — `--skip-box` refuses, `--box` forces. Two artifacts
103
+ from one commit used to be two commands, and the second one is the one
104
+ people forget: a fleet on yesterday's daemon while npm has today's.
105
+ What is left for a human is one `git push --follow-tags`.
106
+
107
+ - A collection prepares its own environment: `prepare:` in
108
+ `unotest/e2e/_collections/<name>.yaml`
109
+
110
+ `prepare` used to live only in a `schedules` entry, so it ran on a
111
+ scheduled tick and nowhere else. A suite that needs a seeded database was
112
+ therefore red for every other way of starting it — a CI check of a
113
+ deployment, the Run button in a box's viewer — with a message about a
114
+ missing table rather than about an unprepared environment. It belongs to
115
+ the suite, so it now lives with the suite: the collection's own `prepare:`
116
+ runs however the collection was started, inside the same queue slot, and a
117
+ failure still exits 94 rather than pretending the tests ran. A `schedules`
118
+ entry may still name its own (it wins for that tick), and `--no-prepare`
119
+ skips it for a run against an environment somebody else prepared.
120
+
121
+ - Fix: the mirror shipped the monorepo's `.secrets` verbatim
122
+
123
+ `publish-examples` copied `unotest/.secrets` into the public examples
124
+ repository as `.secrets.example`. That was harmless while the file held
125
+ only the playground's public demo login, and stopped being harmless the
126
+ moment a real credential was added to it. Secret KEYS are now spelled out
127
+ in the generator (values only where they are genuinely public), and a
128
+ guard refuses to publish when the two lists disagree — the same discipline
129
+ `.env` has had.
130
+
131
+ - Fix: `bundle push --run --env <name>` refused to run
132
+
133
+ `--env` was consumed globally, where it selects a local `.env.<name>`
134
+ overlay, and never reached `bundle push` — whose `--env` names an
135
+ environment ON A BOX. The command every CI job and the box manual use
136
+ ("--run needs --env") could not work as documented. `bundle` now keeps its
137
+ own flag; every other command is unchanged.
138
+
139
+ - Fix: a viewer started for an environment listed no runs at all
140
+
141
+ A box starts one viewer per environment and names it through
142
+ `UNOTEST_ENV`; the viewer's launcher ignored that variable and came up on
143
+ the base runs directory, while runs were filed under `.runs.<environment>`.
144
+ Effect on a box: an empty run history right after a suite finished.
145
+
146
+ - 9424f6b: Fix: screenshots stayed blank in the viewer when runs write to a separate
147
+ artifact root
148
+
149
+ A run whose artifacts do not live under the working directory — every run on
150
+ a box, where the sources are a disposable copy of a test bundle — emitted
151
+ `screenshot` events whose path was relativised against the working directory.
152
+ That came out as `../../../…`, which the viewer's asset route refuses to
153
+ serve, so every step preview rendered as a broken image. Artifact paths are
154
+ now relative to the artifact root, which is still the project root on every
155
+ local run.
156
+
157
+ The failure bundle had the mirror-image problem: it was written to
158
+ `.unotest/failures/` under the working directory, so on a box it landed
159
+ inside the bundle copy — outside the tree the viewer serves, and discarded on
160
+ the next bundle push. It now hangs off the artifact root too, which leaves
161
+ local runs byte-for-byte unchanged.
162
+
163
+ The inspector's Semantic DOM, Console, Network and Snapshot panes were dark
164
+ for a third reason, and this one bit local runs as well: they composed the
165
+ run's directory in the browser and left out the date shard runs have been
166
+ filed under since M-10, plus the environment suffix on a box. The viewer's
167
+ asset route now takes `?file=<name-relative-to-the-run-dir>` and resolves the
168
+ directory itself — runs root, target suffix, environment suffix and shard are
169
+ all things only the server knows. `?path=` stays for the whole paths the
170
+ server ships on run events.
171
+
172
+ - d380850: `bundle push` strips the project's own install hooks (`postinstall`,
173
+ `prepare`, …) from the packed `package.json`. A box installs the suite's
174
+ dependencies; the project's hooks are not its business, and they point at
175
+ files a bundle deliberately does not carry (build scripts, Makefiles), so
176
+ `npm ci` on the box died with MODULE_NOT_FOUND. Dependency scripts — native
177
+ module builds — are untouched, and the push reports what it removed on a
178
+ `note:` line.
179
+ - Updated dependencies [9424f6b]
180
+ - @unotest/protocol@0.26.1
181
+ - @unotest/viewer@0.26.1
182
+ - @unotest/core@0.26.1
183
+ - @unotest/dsl@0.26.1
184
+ - @unotest/grounder-client@0.26.1
185
+
3
186
  ## [0.26.0] - 2026-08-30
4
187
 
5
188
  ### Minor Changes
package/README.md CHANGED
@@ -77,7 +77,24 @@ still run in parallel inside it.
77
77
 
78
78
  ### Running on a schedule
79
79
 
80
- Declare what should run on its own next to the tests it runs:
80
+ The easiest way: open the viewer, right-click a test or a collection
81
+ **Schedule…** and pick when it runs. That saves to
82
+ `unotest/schedules.yaml` — a plain file, versioned next to the tests it
83
+ runs, so a box picks it up with your next push:
84
+
85
+ ```yaml
86
+ # unotest/schedules.yaml
87
+ schedules:
88
+ - collection: nightly
89
+ cron: "0 3 * * *"
90
+ - scenario: checkout/happy-path
91
+ cron: "0,30 4,16 * * *"
92
+ env: staging
93
+ ```
94
+
95
+ Hand-written setups can keep declaring `schedules: [...]` in
96
+ `unotest.config` — both sources merge, the yaml wins on a duplicate
97
+ target:
81
98
 
82
99
  ```js
83
100
  // unotest.config.mjs
@@ -89,11 +106,28 @@ export default {
89
106
  };
90
107
  ```
91
108
 
92
- `npx @unotest/web schedules` prints them. Nothing in the CLI ticks: cron
93
- is executed by whatever hosts your runs your CI, or a box so a clone
94
- of your repo never starts running suites in the background. Run one now
95
- with `npx @unotest/web collection nightly --scheduled` (that also runs its
96
- `prepare` command, inside the same run slot).
109
+ `npx @unotest/web schedules` prints the merged list, with a `next …`
110
+ preview per entry (your machine's clock) so a wrong cron is visible
111
+ before you push it. A hand-written expression outside the previewable
112
+ subset is marked `not previewable an executor may drop it`;
113
+ `npx @unotest/web schedules --check` turns that mark into a non-zero
114
+ exit for a pre-push hook or a CI gate. Nothing in the CLI ticks: cron is
115
+ executed by whatever hosts your runs — your CI, or a box — so a clone of
116
+ your repo never starts running suites in the background. Run one now with
117
+ `npx @unotest/web collection nightly --scheduled`, or
118
+ `npx @unotest/web e2e checkout/happy-path --scheduled` for a per-test
119
+ entry (both also run the entry's `prepare` command, inside the same run
120
+ slot).
121
+
122
+ The viewer shows this same merged list everywhere — locally the yaml
123
+ half is editable and config entries are read-only ("declared in
124
+ `unotest.config`"); on a box the whole list is read-only: the box runs
125
+ whatever the deployed bundle declares, so the place to change a schedule
126
+ is your repo — edit, push, done. What you see locally is what a push
127
+ ships, 1:1. `bundle push` also records a fingerprint of this set in the
128
+ bundle, so if your config computes `schedules` from its environment, the
129
+ box notices the difference and says so instead of silently arming
130
+ another set.
97
131
 
98
132
  ### Sending the suite to a box
99
133
 
@@ -111,6 +145,11 @@ send. Uncommitted work is included and marked *wip*, which is what makes
111
145
  this a fast loop rather than a release step. Secrets stay behind:
112
146
  `unotest/.env*` and `.secrets*` never travel, because environment values
113
147
  belong to the environment and are injected over the bundle when it runs.
148
+ Your project's install hooks (`postinstall`, `prepare`, ...) are removed
149
+ from the packed `package.json`: a box installs the suite's dependencies,
150
+ it does not run project hooks — they reference files that do not travel,
151
+ and env setup they usually do is the box's job anyway. Dependency install
152
+ scripts (native modules) run as normal.
114
153
 
115
154
  What would break on the box is refused here instead — a scenario that
116
155
  reads a file outside `unotest/`, a missing lockfile, no `@unotest/web`
@@ -215,15 +215,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
215
215
  /** How long to wait for the URL to come up after spawning. */
216
216
  timeoutMs: z.ZodDefault<z.ZodNumber>;
217
217
  }, "strip", z.ZodTypeAny, {
218
- command: string;
219
218
  url: string;
220
- reuseExistingServer: boolean;
221
219
  timeoutMs: number;
222
- }, {
223
220
  command: string;
221
+ reuseExistingServer: boolean;
222
+ }, {
224
223
  url: string;
225
- reuseExistingServer?: boolean | undefined;
224
+ command: string;
226
225
  timeoutMs?: number | undefined;
226
+ reuseExistingServer?: boolean | undefined;
227
227
  }>;
228
228
  type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
229
229
  declare const UnotestConfigSchema: z.ZodObject<{
@@ -249,15 +249,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
249
249
  /** How long to wait for the URL to come up after spawning. */
250
250
  timeoutMs: z.ZodDefault<z.ZodNumber>;
251
251
  }, "strip", z.ZodTypeAny, {
252
- command: string;
253
252
  url: string;
254
- reuseExistingServer: boolean;
255
253
  timeoutMs: number;
256
- }, {
257
254
  command: string;
255
+ reuseExistingServer: boolean;
256
+ }, {
258
257
  url: string;
259
- reuseExistingServer?: boolean | undefined;
258
+ command: string;
260
259
  timeoutMs?: number | undefined;
260
+ reuseExistingServer?: boolean | undefined;
261
261
  }>>;
262
262
  browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
263
263
  channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
@@ -508,10 +508,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
508
508
  };
509
509
  baseUrl?: string | undefined;
510
510
  webServer?: {
511
- command: string;
512
511
  url: string;
513
- reuseExistingServer: boolean;
514
512
  timeoutMs: number;
513
+ command: string;
514
+ reuseExistingServer: boolean;
515
515
  } | undefined;
516
516
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
517
517
  storageState?: string | undefined;
@@ -564,10 +564,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
564
564
  };
565
565
  baseUrl?: string | undefined;
566
566
  webServer?: {
567
- command: string;
568
567
  url: string;
569
- reuseExistingServer?: boolean | undefined;
568
+ command: string;
570
569
  timeoutMs?: number | undefined;
570
+ reuseExistingServer?: boolean | undefined;
571
571
  } | undefined;
572
572
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
573
573
  storageState?: string | undefined;
@@ -1 +1 @@
1
- var _0x4524d5=_0x5168;(function(_0x3c09e9,_0x418a63){var _0x2ede57={_0x53f834:0x132,_0x1a5b85:0xf6,_0x477609:0xfc,_0x50f25d:0x12a,_0x3578fb:0xf4},_0x4e28b8=_0x5168,_0x3ce8c9=_0x3c09e9();while(!![]){try{var _0x16b59e=parseInt(_0x4e28b8(0x11d))/0x1*(-parseInt(_0x4e28b8(_0x2ede57._0x53f834))/0x2)+-parseInt(_0x4e28b8(_0x2ede57._0x1a5b85))/0x3*(parseInt(_0x4e28b8(0x12e))/0x4)+-parseInt(_0x4e28b8(_0x2ede57._0x477609))/0x5+-parseInt(_0x4e28b8(0x10c))/0x6+-parseInt(_0x4e28b8(_0x2ede57._0x50f25d))/0x7+parseInt(_0x4e28b8(_0x2ede57._0x3578fb))/0x8*(parseInt(_0x4e28b8(0x119))/0x9)+-parseInt(_0x4e28b8(0x133))/0xa*(-parseInt(_0x4e28b8(0x107))/0xb);if(_0x16b59e===_0x418a63)break;else _0x3ce8c9['push'](_0x3ce8c9['shift']());}catch(_0x137c93){_0x3ce8c9['push'](_0x3ce8c9['shift']());}}}(_0xf7a7,0x33208));import{z}from'zod';var BrowserSchema=z[_0x4524d5(0xfa)]([_0x4524d5(0x11e),_0x4524d5(0x103),_0x4524d5(0x11a)]),BrowserChannelSchema=z[_0x4524d5(0x12f)]([z[_0x4524d5(0x113)](_0x4524d5(0x10a)),z[_0x4524d5(0x113)](_0x4524d5(0x116)),z['literal'](_0x4524d5(0x135)),z[_0x4524d5(0xfb)]()])[_0x4524d5(0x120)](),ViewportSchema=z[_0x4524d5(0xf9)]({'width':z['number']()['int']()[_0x4524d5(0x112)](),'height':z[_0x4524d5(0xff)]()[_0x4524d5(0x126)]()[_0x4524d5(0x112)]()}),RetryReasonSchema=z[_0x4524d5(0xfa)]([_0x4524d5(0x127),_0x4524d5(0x114),_0x4524d5(0x117)]),RetryConfigSchema=z[_0x4524d5(0xf9)]({'count':z[_0x4524d5(0xff)]()[_0x4524d5(0x126)]()[_0x4524d5(0x108)](0x0)[_0x4524d5(0x10e)](0xa),'on':z['array'](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x4524d5(0xf9)]({'tier1':z[_0x4524d5(0x113)](!![])['default'](!![]),'tier2':z['boolean'](),'tier3':z[_0x4524d5(0xf9)]({'network':z[_0x4524d5(0x101)](),'video':z[_0x4524d5(0x101)]()}),'retention':z['object']({'runs':z[_0x4524d5(0xff)]()[_0x4524d5(0x126)]()[_0x4524d5(0x112)](),'days':z[_0x4524d5(0xff)]()[_0x4524d5(0x126)]()[_0x4524d5(0x112)]()}),'storageDir':z[_0x4524d5(0x131)]()['min'](0x1)}),DialogPolicySchema=z[_0x4524d5(0xfa)]([_0x4524d5(0xf5),_0x4524d5(0x12b),'manual']),LinterRuleIdSchema=z[_0x4524d5(0xfa)](['lint:deep-css','lint:xpath',_0x4524d5(0x100),_0x4524d5(0x10d),'lint:disambig-by-index',_0x4524d5(0x10b),_0x4524d5(0x11b),_0x4524d5(0x109),'lint:goto-concat','lint:regex-invalid',_0x4524d5(0xf7),_0x4524d5(0x121),_0x4524d5(0x115),_0x4524d5(0x111),_0x4524d5(0x134),_0x4524d5(0x12d),_0x4524d5(0xfd),_0x4524d5(0x129),_0x4524d5(0x125),_0x4524d5(0x106),_0x4524d5(0x10f),'validator:for-shape',_0x4524d5(0x102),'validator:var-shape',_0x4524d5(0x122),_0x4524d5(0x136),_0x4524d5(0xf8),'validator:semantic-loss',_0x4524d5(0x110),_0x4524d5(0x118)]),LinterSeveritySchema=z[_0x4524d5(0xfa)]([_0x4524d5(0x123),_0x4524d5(0x11c),_0x4524d5(0xfe)]),LinterConfigSchema=z['object']({'enabled':z[_0x4524d5(0x101)](),'rules':z[_0x4524d5(0x11f)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x4524d5(0xf9)]({'enabled':z[_0x4524d5(0x101)]()[_0x4524d5(0x124)](!![]),'concurrency':z['number']()[_0x4524d5(0x126)]()[_0x4524d5(0x112)]()[_0x4524d5(0x124)](0x1)}),ScheduleSchema=z['object']({'collection':z[_0x4524d5(0x131)]()[_0x4524d5(0x108)](0x1),'cron':z[_0x4524d5(0x131)]()[_0x4524d5(0x108)](0x1),'env':z[_0x4524d5(0x131)]()['min'](0x1)[_0x4524d5(0x120)](),'prepare':z['string']()['min'](0x1)[_0x4524d5(0x120)]()}),McpConfigSchema=z['object']({'transport':z[_0x4524d5(0x113)]('stdio')}),SandboxConfigSchema=z[_0x4524d5(0xf9)]({'shellCwd':z[_0x4524d5(0x131)]()[_0x4524d5(0x120)](),'shellTimeoutMs':z[_0x4524d5(0xff)]()[_0x4524d5(0x126)]()[_0x4524d5(0x112)]()[_0x4524d5(0x120)](),'exportSecrets':z[_0x4524d5(0x130)](z[_0x4524d5(0x131)]())[_0x4524d5(0x120)](),'database':z[_0x4524d5(0x131)]()[_0x4524d5(0x120)](),'apiBaseUrl':z[_0x4524d5(0x131)]()[_0x4524d5(0x105)]()[_0x4524d5(0x120)](),'uploadDir':z[_0x4524d5(0x131)]()[_0x4524d5(0x120)]()}),WebServerConfigSchema=z['object']({'command':z[_0x4524d5(0x131)]()['min'](0x1),'url':z[_0x4524d5(0x131)]()['url'](),'reuseExistingServer':z[_0x4524d5(0x101)]()[_0x4524d5(0x124)](!![]),'timeoutMs':z[_0x4524d5(0xff)]()['int']()[_0x4524d5(0x112)]()[_0x4524d5(0x124)](0xea60)}),UnotestConfigSchema=z[_0x4524d5(0xf9)]({'baseUrl':z['string']()[_0x4524d5(0x105)]()['optional'](),'webServer':WebServerConfigSchema['optional'](),'browsers':z[_0x4524d5(0x130)](BrowserSchema)[_0x4524d5(0x108)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x4524d5(0x131)]()[_0x4524d5(0x120)](),'testDir':z[_0x4524d5(0x131)]()[_0x4524d5(0x108)](0x1),'helpersDir':z['string']()['min'](0x1),'defaultTimeoutMs':z[_0x4524d5(0xff)]()['int']()[_0x4524d5(0x112)](),'defaultNavigationTimeoutMs':z['number']()[_0x4524d5(0x126)]()[_0x4524d5(0x112)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z[_0x4524d5(0x130)](ScheduleSchema)[_0x4524d5(0x124)]([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x4524d5(0x11e)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':['transient']},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x4524d5(0x104)},'dialogPolicy':'accept','testDir':_0x4524d5(0x128),'helpersDir':_0x4524d5(0x12c),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':'warn','lint:xpath':_0x4524d5(0x11c),'lint:obfuscated-class':_0x4524d5(0x11c),'lint:pause-explicit':_0x4524d5(0x11c),'lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x4524d5(0x11c),'lint:scenario-in-root':_0x4524d5(0xfe),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x4524d5(0x11c),'lint:regex-invalid':_0x4524d5(0xfe),'lint:echo-assert':'warn','lint:lint-ok-missing-reason':'warn','lint:flow-returns-value':_0x4524d5(0x11c),'validator:unknown-function':'error'}},'mcp':{'transport':'stdio'},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};function _0xf7a7(){var _0x46848c=['DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','mte4otC2y0PlwvjU','ywnJzxb0','nJi4mtC5u2TZzfHc','BgLUDdPLy2HVlwfZC2vYDa','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','B2jQzwn0','zw51Bq','BNvSBa','mte4mdy1mePfyLDNyW','DMfSAwrHDg9YoMfYzY1RAw5K','zxjYB3i','BNvTyMvY','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','yM9VBgvHBG','DMfSAwrHDg9YoMLMlxnOyxbL','zMLYzwzVEa','lNvUB3rLC3qVzMfPBhvYzxm','DxjS','DMfSAwrHDg9YoM1LDgeTC2HHCgu','mti4mZKYotLHu25uB1i','BwLU','BgLUDdPTDxn0ywnOzs1PBI1KC2W','y2HYB21L','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','mJqYmZi1nKryAuD4Dq','BgLUDdPWyxvZzs1LEhbSAwnPDa','Bwf4','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','DMfSAwrHDg9YoMXPC3qTyxjN','BgLUDdPMBg93lxjLDhvYBNmTDMfSDwu','Cg9ZAxrPDMu','BgL0zxjHBa','BMv0D29YAW','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','BxnLzgDL','y3jHC2G','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','mJi1Bg9jtgTN','D2vIA2L0','BgLUDdPZy2vUyxjPBY1PBI1YB290','D2fYBG','mtfNA0vIwhC','y2HYB21PDw0','CMvJB3jK','B3b0Aw9UywW','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','B2zM','zgvMyxvSDa','DMfSAwrHDg9YoNn0zxaTC2HHCgu','Aw50','DhjHBNnPzw50','Dw5VDgvZDc9LmMu','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','mJe5nty1nw5Pzu5wrq','zgLZBwLZCW','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','DMfSAwrHDg9YoMfYAxr5','ngrTwMz2vW','Dw5PB24','yxjYyxK','C3rYAw5N','mZaYnZHHvwHbsLy','mtbxBNPtug8','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','y2HYB21LlwjLDge'];_0xf7a7=function(){return _0x46848c;};return _0xf7a7();}function _0x5168(_0x41a6a9,_0x3ac1ba){_0x41a6a9=_0x41a6a9-0xf4;var _0xf7a713=_0xf7a7();var _0x51688f=_0xf7a713[_0x41a6a9];if(_0x5168['MTKvAD']===undefined){var _0x2e1125=function(_0x2a7278){var _0x59ed99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xb9a3f4='',_0x1cbb32='';for(var _0x17da05=0x0,_0x14ced8,_0x1b651c,_0xbfb45f=0x0;_0x1b651c=_0x2a7278['charAt'](_0xbfb45f++);~_0x1b651c&&(_0x14ced8=_0x17da05%0x4?_0x14ced8*0x40+_0x1b651c:_0x1b651c,_0x17da05++%0x4)?_0xb9a3f4+=String['fromCharCode'](0xff&_0x14ced8>>(-0x2*_0x17da05&0x6)):0x0){_0x1b651c=_0x59ed99['indexOf'](_0x1b651c);}for(var _0x5a036c=0x0,_0x40a4a5=_0xb9a3f4['length'];_0x5a036c<_0x40a4a5;_0x5a036c++){_0x1cbb32+='%'+('00'+_0xb9a3f4['charCodeAt'](_0x5a036c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1cbb32);};_0x5168['VfICfF']=_0x2e1125,_0x5168['KKBYRv']={},_0x5168['MTKvAD']=!![];}var _0x284c6e=_0xf7a713[0x0],_0x315e33=_0x41a6a9+_0x284c6e,_0xe386bd=_0x5168['KKBYRv'][_0x315e33];return!_0xe386bd?(_0x51688f=_0x5168['VfICfF'](_0x51688f),_0x5168['KKBYRv'][_0x315e33]=_0x51688f):_0x51688f=_0xe386bd,_0x51688f;}export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
1
+ var _0x5d7336=_0x5259;function _0xb439(){var _0x28f7b1=['BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','BgL0zxjHBa','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','ouzzqvLcwG','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','zxjYB3i','DhjHBNnPzw50','mJu4mZC4nNzsAxrvrW','BgLUDdPZy2vUyxjPBY1PBI1YB290','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','B2zM','BwfUDwfS','Dw5VDgvZDc9LmMu','yM9VBgvHBG','B2jQzwn0','BgLUDdPYzwDLEc1PBNzHBgLK','zw51Bq','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','C3rKAw8','mtKXnZiWueX3surv','BNvSBa','Cg9ZAxrPDMu','DMfSAwrHDg9YoMLMlxnOyxbL','C3rYAw5N','mZLQEurxyuC','odLZvKfetfO','mta4mZqZmtjnAuncz1e','BgLUDdP4Cgf0Aa','yxjYyxK','nJGZnJuXnvnsyKPLrG','BgLUDdPLy2HVlwfZC2vYDa','BgLUDdPKzwvWlwnZCW','zgLZBwLZCW','DMfSAwrHDg9YoMXPC3qTyxjN','CMvJB3jK','mtrtr0nluMu','ywnJzxb0','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','mZu3nNzZuNH4ra','Dw5PB24','mZq1ndH2wwnlr1O','BMv0D29YAW','BgLUDdPWyxvZzs1LEhbSAwnPDa','Bwf4','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','DMfSAwrHDg9YoNzHCI1ZAgfWzq','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','zgvMyxvSDa','BNvTyMvY','y3jHC2G','BxnLzgDL','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','BwLU','Aw50','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','lNvUB3rLC3qVzMfPBhvYzxm','B3b0Aw9UywW','zMLYzwzVEa','DMfSAwrHDg9YoMfYzY1RAw5K','nJK5otjKteDyA0e','y2HYB21LlwjLDge','mtq4otrcAhbPuve','BgLUDdPNB3rVlwnVBMnHDa','BgLUDdPTDxn0ywnOzs1PBI1KC2W','DMfSAwrHDg9YoM1LDgeTC2HHCgu','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','y2HYB21PDw0','DMfSAwrHDg9YoMfYAxr5','DxjS','D2fYBG'];_0xb439=function(){return _0x28f7b1;};return _0xb439();}(function(_0x16be9c,_0x34db06){var _0x50d4a4={_0x4969f5:0xc4,_0x348307:0xd3,_0x1a9309:0xa0,_0x578c7a:0xc8,_0x3d8087:0xae,_0x1b4331:0xbe,_0x3a9e62:0xa2},_0x561cf2=_0x5259,_0x4ada53=_0x16be9c();while(!![]){try{var _0x3f7d24=-parseInt(_0x561cf2(_0x50d4a4._0x4969f5))/0x1*(parseInt(_0x561cf2(_0x50d4a4._0x348307))/0x2)+parseInt(_0x561cf2(0xc3))/0x3*(parseInt(_0x561cf2(_0x50d4a4._0x1a9309))/0x4)+parseInt(_0x561cf2(_0x50d4a4._0x578c7a))/0x5+-parseInt(_0x561cf2(0xb2))/0x6*(parseInt(_0x561cf2(0xce))/0x7)+-parseInt(_0x561cf2(0xc5))/0x8*(-parseInt(_0x561cf2(_0x50d4a4._0x3d8087))/0x9)+parseInt(_0x561cf2(_0x50d4a4._0x1b4331))/0xa+parseInt(_0x561cf2(_0x50d4a4._0x3a9e62))/0xb*(parseInt(_0x561cf2(0xd1))/0xc);if(_0x3f7d24===_0x34db06)break;else _0x4ada53['push'](_0x4ada53['shift']());}catch(_0x16ef8e){_0x4ada53['push'](_0x4ada53['shift']());}}}(_0xb439,0xed91a));import{z}from'zod';function _0x5259(_0x153dfe,_0x595c9d){_0x153dfe=_0x153dfe-0x8f;var _0xb43951=_0xb439();var _0x52591a=_0xb43951[_0x153dfe];if(_0x5259['zYtTyp']===undefined){var _0x388f67=function(_0x91fd2e){var _0xd1cb42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5c83ec='',_0xa06308='';for(var _0x3542e7=0x0,_0x512f99,_0x1a96a7,_0x50ddfb=0x0;_0x1a96a7=_0x91fd2e['charAt'](_0x50ddfb++);~_0x1a96a7&&(_0x512f99=_0x3542e7%0x4?_0x512f99*0x40+_0x1a96a7:_0x1a96a7,_0x3542e7++%0x4)?_0x5c83ec+=String['fromCharCode'](0xff&_0x512f99>>(-0x2*_0x3542e7&0x6)):0x0){_0x1a96a7=_0xd1cb42['indexOf'](_0x1a96a7);}for(var _0x30287e=0x0,_0x3fd15a=_0x5c83ec['length'];_0x30287e<_0x3fd15a;_0x30287e++){_0xa06308+='%'+('00'+_0x5c83ec['charCodeAt'](_0x30287e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa06308);};_0x5259['vawYHx']=_0x388f67,_0x5259['kCRznC']={},_0x5259['zYtTyp']=!![];}var _0x4b65ba=_0xb43951[0x0],_0x322b1e=_0x153dfe+_0x4b65ba,_0x518784=_0x5259['kCRznC'][_0x322b1e];return!_0x518784?(_0x52591a=_0x5259['vawYHx'](_0x52591a),_0x5259['kCRznC'][_0x322b1e]=_0x52591a):_0x52591a=_0x518784,_0x52591a;}var BrowserSchema=z[_0x5d7336(0xbb)]([_0x5d7336(0xa7),_0x5d7336(0x9e),'webkit']),BrowserChannelSchema=z[_0x5d7336(0xd2)]([z['literal']('chrome'),z[_0x5d7336(0xac)](_0x5d7336(0x97)),z['literal'](_0x5d7336(0xa1)),z[_0x5d7336(0xbf)]()])[_0x5d7336(0x9d)](),ViewportSchema=z[_0x5d7336(0xb9)]({'width':z[_0x5d7336(0x95)]()[_0x5d7336(0x9a)]()[_0x5d7336(0xc0)](),'height':z['number']()['int']()[_0x5d7336(0xc0)]()}),RetryReasonSchema=z[_0x5d7336(0xbb)](['transient',_0x5d7336(0xd4),_0x5d7336(0x96)]),RetryConfigSchema=z[_0x5d7336(0xb9)]({'count':z[_0x5d7336(0x95)]()[_0x5d7336(0x9a)]()['min'](0x0)[_0x5d7336(0x90)](0xa),'on':z['array'](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x5d7336(0xb9)]({'tier1':z[_0x5d7336(0xac)](!![])[_0x5d7336(0x94)](!![]),'tier2':z[_0x5d7336(0xb8)](),'tier3':z[_0x5d7336(0xb9)]({'network':z[_0x5d7336(0xb8)](),'video':z[_0x5d7336(0xb8)]()}),'retention':z[_0x5d7336(0xb9)]({'runs':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)](),'days':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)]()}),'storageDir':z['string']()[_0x5d7336(0x99)](0x1)}),DialogPolicySchema=z[_0x5d7336(0xbb)]([_0x5d7336(0xcf),_0x5d7336(0xcb),_0x5d7336(0xb6)]),LinterRuleIdSchema=z['enum']([_0x5d7336(0xca),_0x5d7336(0xc6),_0x5d7336(0xb4),_0x5d7336(0x8f),_0x5d7336(0xa6),'lint:evaluate-discouraged',_0x5d7336(0xb3),_0x5d7336(0xa4),_0x5d7336(0xa3),_0x5d7336(0xba),_0x5d7336(0xc9),_0x5d7336(0xab),_0x5d7336(0xbc),'lint:flow-returns-value','validator:unknown-function',_0x5d7336(0xa8),_0x5d7336(0x9f),_0x5d7336(0xd0),'validator:step-shape',_0x5d7336(0xa5),_0x5d7336(0xad),'validator:for-shape',_0x5d7336(0xc1),_0x5d7336(0x92),_0x5d7336(0x91),_0x5d7336(0x93),_0x5d7336(0xaf),_0x5d7336(0x98),_0x5d7336(0xcc),_0x5d7336(0x9b)]),LinterSeveritySchema=z[_0x5d7336(0xbb)]([_0x5d7336(0xb5),_0x5d7336(0xaa),_0x5d7336(0xb0)]),LinterConfigSchema=z[_0x5d7336(0xb9)]({'enabled':z[_0x5d7336(0xb8)](),'rules':z[_0x5d7336(0xcd)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x5d7336(0xb9)]({'enabled':z[_0x5d7336(0xb8)]()['default'](!![]),'concurrency':z['number']()[_0x5d7336(0x9a)]()['positive']()[_0x5d7336(0x94)](0x1)}),ScheduleSchema=z['object']({'collection':z['string']()[_0x5d7336(0x99)](0x1),'cron':z[_0x5d7336(0xc2)]()[_0x5d7336(0x99)](0x1),'env':z[_0x5d7336(0xc2)]()['min'](0x1)[_0x5d7336(0x9d)](),'prepare':z[_0x5d7336(0xc2)]()[_0x5d7336(0x99)](0x1)['optional']()}),McpConfigSchema=z['object']({'transport':z[_0x5d7336(0xac)](_0x5d7336(0xbd))}),SandboxConfigSchema=z[_0x5d7336(0xb9)]({'shellCwd':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)](),'shellTimeoutMs':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)]()[_0x5d7336(0x9d)](),'exportSecrets':z['array'](z[_0x5d7336(0xc2)]())[_0x5d7336(0x9d)](),'database':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)](),'apiBaseUrl':z['string']()[_0x5d7336(0xa9)]()[_0x5d7336(0x9d)](),'uploadDir':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)]()}),WebServerConfigSchema=z[_0x5d7336(0xb9)]({'command':z[_0x5d7336(0xc2)]()['min'](0x1),'url':z[_0x5d7336(0xc2)]()['url'](),'reuseExistingServer':z[_0x5d7336(0xb8)]()[_0x5d7336(0x94)](!![]),'timeoutMs':z['number']()[_0x5d7336(0x9a)]()['positive']()[_0x5d7336(0x94)](0xea60)}),UnotestConfigSchema=z['object']({'baseUrl':z['string']()['url']()[_0x5d7336(0x9d)](),'webServer':WebServerConfigSchema['optional'](),'browsers':z[_0x5d7336(0xc7)](BrowserSchema)[_0x5d7336(0x99)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x5d7336(0xc2)]()[_0x5d7336(0x9d)](),'testDir':z['string']()[_0x5d7336(0x99)](0x1),'helpersDir':z[_0x5d7336(0xc2)]()['min'](0x1),'defaultTimeoutMs':z[_0x5d7336(0x95)]()['int']()[_0x5d7336(0xc0)](),'defaultNavigationTimeoutMs':z[_0x5d7336(0x95)]()[_0x5d7336(0x9a)]()[_0x5d7336(0xc0)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z[_0x5d7336(0xc7)](ScheduleSchema)['default']([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x5d7336(0xa7)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x5d7336(0xb1)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x5d7336(0x9c)},'dialogPolicy':_0x5d7336(0xcf),'testDir':_0x5d7336(0xb7),'helpersDir':'unotest/e2e/_helpers','defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x5d7336(0xaa),'lint:xpath':'warn','lint:obfuscated-class':'warn','lint:pause-explicit':_0x5d7336(0xaa),'lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x5d7336(0xaa),'lint:scenario-in-root':_0x5d7336(0xb0),'lint:mustache-in-dsl':_0x5d7336(0xb0),'lint:goto-concat':_0x5d7336(0xaa),'lint:regex-invalid':_0x5d7336(0xb0),'lint:echo-assert':_0x5d7336(0xaa),'lint:lint-ok-missing-reason':_0x5d7336(0xaa),'lint:flow-returns-value':_0x5d7336(0xaa),'validator:unknown-function':_0x5d7336(0xb0)}},'mcp':{'transport':_0x5d7336(0xbd)},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
@@ -1 +1 @@
1
- const _0x1e5072=_0xe0c3;function _0x565c(){const _0x5732aa=['rMfRzvDLyKrYAxzLCG','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','lNbHz2uW','Aw5UzxjuzxH0','y2HLy2TLzfn0yxrLqNLezwzHDwX0','nJGWnJy4mvnMBhLXva','zhjPDMvY','AxneAxnHyMXLza','D2fPDezVCK5HDMLNyxrPB24','mteXodu2mtr5yLz0rg0','Ag92zxi','y29VA2LLu3rHDgu','DgL0Bgu','y2XVC2u','D2fPDezVCKXVywrtDgf0zq','Bwv0Ag9K','Bgf1BMnOzwq','Bg9JywXtDg9YywDLu3rHDgu','zMLSDgvY','odaXnZy1mgPSveDmsq','y291BNq','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','Cg9W','Bgf1BMnO','mJiXotqXnxzUqwTrsq','Dw5JAgvJAW','CMvJB3jK','tg9JyxrVCKvYCM9Y','B25bzNrLCKnSAwnR','C2nYB2XSsw50B1zPzxC','BMv0D29YA0vUDhjPzxm','y2XPCgjVyxjKugfZDgu','zxzHBhvHDgu','zgvSzxrL','zhjHz0fUzerYB3a','y2XVC2vgywTLugfNzq','yMvOyxzPB3i','zxjYB3jpBK5LEhrby3rPB24','m2zVswjzyq','C2v0qwn0AxzLugfNzq','y3r4','zNjVBq','zNjHBwvezxb0Aa','Aw5ZCgvJDevSzw1LBNq','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','y3vYCMvUDfvYBa','nZK0mJndzuHpC0W','y29VA2LLCW','A2LUza','zwXLBwvUDeHPBNrcEvjLzG','C2v0q29VA2LL','y2HLy2TLzfn0yxrL','z29gB3j3yxjK','y2fSBhngB3i','C2nVCgu','CMvJB3jKzxi','Bwf5yMvuAhjVDW','ntGXnJe2zK9nwwfZ','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','Aw5WDxrwywX1zuj5rgvMyxvSDa','C3rLChm','yxr0ywnOrxHPC3rPBMC','B3v0zxjive1m','ywn0AxzLswr4','AxnwAxnPyMXLqNLezwzHDwX0','C2f2zvn0B3jHz2vtDgf0zq','B25ozxDqywDL','z2v0q29VA2LL','C3vIC2nYAwjL','y2XPy2S','z29cywnR','D2fPDezVCG','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','z2v0qxr0CMLIDxrL','C2v0tg9JywXtDg9YywDL','CMvSB2fK','y2fSBhm','y29UC29SzuvUDhjPzxm','zg91yMXLq2XPy2S','D2fPDezVCLvYBa','ChvZAa','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','BMv3q29UDgv4Da','zMLSBa','y2HLy2S','Aw5WDxrwywX1zq','BMv3ugfNzuXPC3rLBMvYCW','zNjHBwvtDgfJAW','ywrK','zw50zxjgCMfTzq','zw1PDezHA2vqB3b1Ca','Cg9WDxbpBKnSAwnR','Bg9JywXtDg9YywDL','BMfTzq','z290BW','D2fPDezVCLrLEhq','B3v0zxjiDg1SqNLszwy','y29UDgv4Dhm','Aw5UzxjuzxH0qNLezwzHDwX0','Dgv4DenVBNrLBNq','mJi2otiYmM5bBe5cBW','BgvUz3rO','Aw5PDgLHBfvYBa','rMfRzvbHz2u','Dgv4DenVBNrLBNrcEurLzMf1Bhq','zxzHBhvHDgvpBKXVy2f0B3i','z2v0tg9JywXtDg9YywDL','C3bSAwnL','C2vSzwn0t3b0Aw9U','CMvM','AxnwAxnPyMXL','nfzXALrLwa','CgfNzuXPC3q','C2nYzwvUC2HVDa'];_0x565c=function(){return _0x5732aa;};return _0x565c();}(function(_0x36e8af,_0x346571){const _0x142e7e={_0x3be03a:0x150,_0xffa51e:0x127,_0xe7e94f:0x142,_0x1bf331:0x13d,_0x45a9d5:0x163},_0x5c2691=_0xe0c3,_0x13e008=_0x36e8af();while(!![]){try{const _0x4d5e4f=-parseInt(_0x5c2691(0x158))/0x1+parseInt(_0x5c2691(0x11c))/0x2*(-parseInt(_0x5c2691(_0x142e7e._0x3be03a))/0x3)+parseInt(_0x5c2691(_0x142e7e._0xffa51e))/0x4*(parseInt(_0x5c2691(_0x142e7e._0xe7e94f))/0x5)+parseInt(_0x5c2691(_0x142e7e._0x1bf331))/0x6+-parseInt(_0x5c2691(0x12f))/0x7+-parseInt(_0x5c2691(_0x142e7e._0x45a9d5))/0x8+parseInt(_0x5c2691(0x133))/0x9;if(_0x4d5e4f===_0x346571)break;else _0x13e008['push'](_0x13e008['shift']());}catch(_0x43dc39){_0x13e008['push'](_0x13e008['shift']());}}}(_0x565c,0xba7ed));var __defProp=Object['defineProperty'],__name=(_0x1fa2c0,_0x465806)=>__defProp(_0x1fa2c0,_0x1e5072(0x115),{'value':_0x465806,'configurable':!![]});function subscribe(_0x2b6346,_0x270042){const _0x11fe48={_0x4c94b8:0x14b},_0x14788a=_0x1e5072;return _0x2b6346[_0x14788a(0x110)](_0x270042),()=>{const _0x307c6e=_0x14788a;_0x2b6346[_0x307c6e(_0x11fe48._0x4c94b8)](_0x270042);};}__name(subscribe,_0x1e5072(0xfc));function _0xe0c3(_0x3063fd,_0x3ea5f5){_0x3063fd=_0x3063fd-0xf7;const _0x565ca4=_0x565c();let _0xe0c30f=_0x565ca4[_0x3063fd];if(_0xe0c3['IePtpq']===undefined){var _0xc1b9ec=function(_0x3110f6){const _0x1a6e5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fa2c0='',_0x465806='';for(let _0x2b6346=0x0,_0x270042,_0x4ad0d7,_0x3b6646=0x0;_0x4ad0d7=_0x3110f6['charAt'](_0x3b6646++);~_0x4ad0d7&&(_0x270042=_0x2b6346%0x4?_0x270042*0x40+_0x4ad0d7:_0x4ad0d7,_0x2b6346++%0x4)?_0x1fa2c0+=String['fromCharCode'](0xff&_0x270042>>(-0x2*_0x2b6346&0x6)):0x0){_0x4ad0d7=_0x1a6e5d['indexOf'](_0x4ad0d7);}for(let _0x184bd9=0x0,_0x5e97a8=_0x1fa2c0['length'];_0x184bd9<_0x5e97a8;_0x184bd9++){_0x465806+='%'+('00'+_0x1fa2c0['charCodeAt'](_0x184bd9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x465806);};_0xe0c3['fKQMaX']=_0xc1b9ec,_0xe0c3['nSUQGa']={},_0xe0c3['IePtpq']=!![];}const _0x1ba8ab=_0x565ca4[0x0],_0x16d413=_0x3063fd+_0x1ba8ab,_0x1e3c2e=_0xe0c3['nSUQGa'][_0x16d413];return!_0x1e3c2e?(_0xe0c30f=_0xe0c3['fKQMaX'](_0xe0c30f),_0xe0c3['nSUQGa'][_0x16d413]=_0xe0c30f):_0xe0c30f=_0x1e3c2e,_0xe0c30f;}import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0x1e5072(0x145));}};function createRecorder(){const _0x40f7d8={_0x2421f1:0x108},_0x2d412d=_0x1e5072,_0x4ad0d7=[];let _0x3b6646=0x0;return{'push':__name(_0x184bd9=>_0x4ad0d7[_0x2d412d(0x108)]({..._0x184bd9,'seq':_0x3b6646++}),_0x2d412d(_0x40f7d8._0x2421f1)),'calls':__name(()=>_0x4ad0d7,'calls')};}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0x5e97a8,_0x3f5def,_0x1971bc,_0x9f2552){const _0x1c2afb={_0x2ecb51:0x161,_0x2a39cd:0x14e},_0x1393c5=_0x1e5072;this[_0x1393c5(_0x1c2afb._0x2ecb51)]=_0x5e97a8,this[_0x1393c5(_0x1c2afb._0x2a39cd)]=_0x3f5def,this[_0x1393c5(0x160)]=_0x1971bc,this['currentUrl']=_0x9f2552;}[_0x1e5072(0x161)];[_0x1e5072(0x14e)];[_0x1e5072(0x160)];static{__name(this,_0x1e5072(0x11f));}['currentUrl'];['onAfterClick'];[_0x1e5072(0x144)](_0x4086f7,_0x506a01){const _0x43a2db={_0x109ebd:0x161},_0x17f9dc=_0x1e5072;this[_0x17f9dc(_0x43a2db._0x109ebd)]['push']({'scope':this[_0x17f9dc(0x160)],'method':_0x4086f7,'args':_0x506a01});}[_0x1e5072(0x162)](){const _0x2ccfa4={_0x24f0d0:0x14f,_0x2c80e9:0x14f},_0x5d3c73=_0x1e5072;if(this[_0x5d3c73(0x14e)][_0x5d3c73(_0x2ccfa4._0x24f0d0)]){const _0x19b950=this[_0x5d3c73(0x14e)][_0x5d3c73(_0x2ccfa4._0x2c80e9)];this[_0x5d3c73(0x14e)][_0x5d3c73(_0x2ccfa4._0x24f0d0)]=void 0x0;throw _0x19b950;}}['url'](){const _0x455420={_0x36f76c:0x157},_0x464443=_0x1e5072;return this[_0x464443(_0x455420._0x36f76c)];}async[_0x1e5072(0x136)](){const _0xb829c7=_0x1e5072;return this[_0xb829c7(0x144)](_0xb829c7(0x136),[]),'fake\x20title';}async[_0x1e5072(0xfd)](_0x182c0a,_0x305433){const _0x1bf881={_0x3cfe02:0x144,_0x5e321a:0xfd,_0x18dd48:0x146},_0x3d8875=_0x1e5072;this[_0x3d8875(_0x1bf881._0x3cfe02)](_0x3d8875(_0x1bf881._0x5e321a),[_0x182c0a,_0x305433]),this[_0x3d8875(0x162)](),this[_0x3d8875(_0x1bf881._0x18dd48)]?.();}async[_0x1e5072(0x106)](_0x4b2ce6,_0x56f28f){const _0x5a33de={_0x501a9c:0x106},_0x259571=_0x1e5072;this['record'](_0x259571(_0x5a33de._0x501a9c),[_0x4b2ce6,_0x56f28f]),this[_0x259571(0x162)]();}async[_0x1e5072(0x10b)](_0x2c10be,_0x34b437,_0x5b5abd){const _0x5d871f={_0x540461:0x144,_0x442a9b:0x162},_0x1c0558=_0x1e5072;this[_0x1c0558(_0x5d871f._0x540461)](_0x1c0558(0x10b),[_0x2c10be,_0x34b437,_0x5b5abd]),this[_0x1c0558(_0x5d871f._0x442a9b)]();}async['press'](_0x509f60,_0x23e76d,_0x15c6f8){const _0x4aba8c=_0x1e5072;this[_0x4aba8c(0x144)]('press',[_0x509f60,_0x23e76d,_0x15c6f8]),this[_0x4aba8c(0x162)]();}async['check'](_0x2abf6a,_0x4fd01a){const _0x4b0556=_0x1e5072;this[_0x4b0556(0x144)](_0x4b0556(0x10c),[_0x2abf6a,_0x4fd01a]),this[_0x4b0556(0x162)]();}async[_0x1e5072(0x143)](_0x53f434,_0x6b2231){const _0x2f974e={_0x31c59a:0x144,_0x2217b8:0x143},_0x1b40ae=_0x1e5072;this[_0x1b40ae(_0x2f974e._0x31c59a)](_0x1b40ae(_0x2f974e._0x2217b8),[_0x53f434,_0x6b2231]),this[_0x1b40ae(0x162)]();}async[_0x1e5072(0x124)](_0x3c5ff6,_0x120463,_0x55fc54){const _0x5472b0={_0x4ebc43:0x144,_0x86acbb:0x124},_0x514eb4=_0x1e5072;this[_0x514eb4(_0x5472b0._0x4ebc43)](_0x514eb4(_0x5472b0._0x86acbb),[_0x3c5ff6,_0x120463,_0x55fc54]),this[_0x514eb4(0x162)]();}async[_0x1e5072(0x134)](_0x17603a,_0x323168){const _0x473a8e={_0x240c86:0x162},_0x30c5d1=_0x1e5072;this['record']('hover',[_0x17603a,_0x323168]),this[_0x30c5d1(_0x473a8e._0x240c86)]();}async[_0x1e5072(0x147)](_0x4987cc){const _0x187cc9={_0x404227:0x147},_0x45f58a=_0x1e5072;this[_0x45f58a(0x144)](_0x45f58a(_0x187cc9._0x404227),[_0x4987cc]),this[_0x45f58a(0x162)]();}async[_0x1e5072(0x14c)](_0x3e8cf6,_0x14069a,_0x1fbf1e){const _0xd6eb14={_0x37b640:0x162},_0x14a242=_0x1e5072;this['record']('dragAndDrop',[_0x3e8cf6,_0x14069a,_0x1fbf1e]),this[_0x14a242(_0xd6eb14._0x37b640)]();}async['uploadFile'](_0x46a5ba,_0x2d79d7){const _0x4f24e6={_0x1ca2c3:0x162},_0x493d25=_0x1e5072;this[_0x493d25(0x144)]('uploadFile',[_0x46a5ba,_0x2d79d7]),this[_0x493d25(_0x4f24e6._0x1ca2c3)]();}async[_0x1e5072(0x149)](_0x32a312,_0x4d59a3){const _0x4cd0a1=_0x1e5072;this[_0x4cd0a1(0x144)](_0x4cd0a1(0x149),[_0x32a312,_0x4d59a3]),this['maybeThrow']();}async[_0x1e5072(0x13e)](_0xfd07ea){const _0x252123={_0x20da29:0x14e},_0x1d038a=_0x1e5072;return this[_0x1d038a(0x144)](_0x1d038a(0x13e),[_0xfd07ea]),this[_0x1d038a(_0x252123._0x20da29)]['countByDefault']??0x1;}async[_0x1e5072(0x11b)](_0x2d111f){const _0x208eae={_0x5e8a22:0x144},_0x54610e=_0x1e5072;return this[_0x54610e(_0x208eae._0x5e8a22)](_0x54610e(0x11b),[_0x2d111f]),this[_0x54610e(0x14e)][_0x54610e(0x120)]??'';}async[_0x1e5072(0x12d)](_0x39fe91){const _0x2b32e3=_0x1e5072;return this['record']('innerText',[_0x39fe91]),this[_0x2b32e3(0x14e)][_0x2b32e3(0x11a)]??this['behavior'][_0x2b32e3(0x120)]??'';}async[_0x1e5072(0x10d)](_0x5c881c){const _0x36f84a={_0x1b263a:0x165},_0x195db4=_0x1e5072;return this['record']('inputValue',[_0x5c881c]),this['behavior'][_0x195db4(_0x36f84a._0x1b263a)]??'';}async[_0x1e5072(0x15d)](_0x1bc8ab){const _0x1f6a28={_0x452ca1:0x15d,_0x3c56e9:0x14e,_0x3e5425:0x12e},_0x391e66=_0x1e5072;return this[_0x391e66(0x144)](_0x391e66(_0x1f6a28._0x452ca1),[_0x1bc8ab]),this[_0x391e66(_0x1f6a28._0x3c56e9)][_0x391e66(_0x1f6a28._0x3e5425)]??null;}async[_0x1e5072(0x126)](_0xa8f6ee){const _0x1579aa={_0x57ef2e:0xf8},_0x672491=_0x1e5072;return this[_0x672491(0x144)](_0x672491(0x126),[_0xa8f6ee]),this[_0x672491(0x14e)][_0x672491(_0x1579aa._0x57ef2e)]??!![];}async['isDisabled'](_0x170a38){const _0x5053c7={_0x13c622:0x144,_0x5571f5:0x14e},_0x4ba34f=_0x1e5072;return this[_0x4ba34f(_0x5053c7._0x13c622)](_0x4ba34f(0x131),[_0x170a38]),this[_0x4ba34f(_0x5053c7._0x5571f5)]['isDisabledByDefault']??![];}async[_0x1e5072(0x101)](_0x4b0b44,_0x430d6b){const _0x4f0d4f=_0x1e5072;return this[_0x4f0d4f(0x144)]('getAttribute',[_0x4b0b44,_0x430d6b]),this['behavior']['attributesByDefault']?.[_0x430d6b]??null;}async[_0x1e5072(0xff)](_0xf35f5d,_0x45b4b7){const _0x1f329b={_0x3fa060:0x144},_0x407830=_0x1e5072;this[_0x407830(_0x1f329b._0x3fa060)]('waitFor',[_0xf35f5d,_0x45b4b7]);}async[_0x1e5072(0x107)](_0x45a51c,_0xa9679f){const _0x17a844={_0x5c1389:0x107},_0x34037c=_0x1e5072;this['record'](_0x34037c(_0x17a844._0x5c1389),[_0x45a51c,_0xa9679f]);}async[_0x1e5072(0x117)](_0x5cd169,_0x1701d4){const _0x3bb006={_0x3d5f0f:0x144},_0x23f34d=_0x1e5072;this[_0x23f34d(_0x3bb006._0x3d5f0f)](_0x23f34d(0x117),[_0x5cd169,_0x1701d4]);}async[_0x1e5072(0x132)](_0x591a80){const _0x46ccaf={_0x3486b4:0x144},_0x1d363e=_0x1e5072;this[_0x1d363e(_0x46ccaf._0x3486b4)]('waitForNavigation',[_0x591a80]);}async[_0x1e5072(0x138)](_0x9674fe,_0x1f986b){const _0x561c69=_0x1e5072;this['record'](_0x561c69(0x138),[_0x9674fe,_0x1f986b]);}async[_0x1e5072(0x116)](_0x5d6972,_0x2475b2){const _0x314db9={_0x2e9eb8:0x116},_0x444bad=_0x1e5072;this[_0x444bad(0x144)](_0x444bad(_0x314db9._0x2e9eb8),[_0x5d6972,_0x2475b2]),this['currentUrl']=_0x5d6972;}async[_0x1e5072(0x103)](_0x10df04){const _0x12c96b={_0x58cf94:0x144},_0x324abf=_0x1e5072;this[_0x324abf(_0x12c96b._0x58cf94)](_0x324abf(0x103),[_0x10df04]);}async[_0x1e5072(0xfe)](_0x556df4){const _0x42d0fc={_0x53c20b:0x144},_0xd1a90b=_0x1e5072;this[_0xd1a90b(_0x42d0fc._0x53c20b)]('goBack',[_0x556df4]);}async['goForward'](_0x3853a1){const _0x347cd4=_0x1e5072;this[_0x347cd4(0x144)](_0x347cd4(0x15e),[_0x3853a1]);}async['evaluate'](_0x528294){const _0x3887e8={_0x4ad97a:0x144,_0x453e39:0x14a},_0x390803=_0x1e5072;return this[_0x390803(_0x3887e8._0x4ad97a)](_0x390803(_0x3887e8._0x453e39),[_0x528294]),void 0x0;}async[_0x1e5072(0x121)](_0x543cca,_0x2fb419){return this['record']('evaluateOnLocator',[_0x543cca,_0x2fb419]),void 0x0;}async[_0x1e5072(0x155)](_0x4ced12){const _0x2972ad={_0x58b204:0x166,_0x596d0a:0x15a,_0x4ca743:0x166,_0x4fbca8:0x125,_0x1fcc1c:0x14e,_0x4cc618:0x15b},_0x1a4134=_0x1e5072;this['record'](_0x1a4134(0x155),[_0x4ced12]);if(_0x4ced12['steps'][_0x1a4134(0x11d)]!==0x1||_0x4ced12[_0x1a4134(_0x2972ad._0x58b204)][0x0][_0x1a4134(_0x2972ad._0x596d0a)]!=='ref')return null;const _0x96b266=_0x4ced12[_0x1a4134(_0x2972ad._0x4ca743)][0x0][_0x1a4134(_0x2972ad._0x4fbca8)],_0x36d431=this[_0x1a4134(_0x2972ad._0x1fcc1c)][_0x1a4134(_0x2972ad._0x4cc618)]?.[_0x96b266];return _0x36d431??null;}async[_0x1e5072(0x129)](_0xfdec5f){const _0x5c334e=_0x1e5072;return this[_0x5c334e(0x144)](_0x5c334e(0x129),[_0xfdec5f]),Buffer[_0x5c334e(0x153)]('fake-png');}async[_0x1e5072(0x168)](_0x2ebb08){const _0x260d24={_0x4e86e3:0x144,_0x48348f:0x11d,_0x1278e1:0x15a,_0x3fee85:0x166,_0x5bc2e8:0x14e,_0x5c6343:0x13f},_0x1a7f13=_0x1e5072;this[_0x1a7f13(_0x260d24._0x4e86e3)](_0x1a7f13(0x168),[_0x2ebb08]);if(_0x2ebb08['steps'][_0x1a7f13(_0x260d24._0x48348f)]===0x1&&_0x2ebb08[_0x1a7f13(0x166)][0x0][_0x1a7f13(_0x260d24._0x1278e1)]===_0x1a7f13(0x125)){const _0x581099=_0x2ebb08[_0x1a7f13(_0x260d24._0x3fee85)][0x0][_0x1a7f13(0x125)];return this[_0x1a7f13(_0x260d24._0x5bc2e8)][_0x1a7f13(0x118)]?.[_0x581099]??_0x1a7f13(_0x260d24._0x5c6343)+_0x581099+'\x22></div>';}return'<div></div>';}},FakeContext=class{constructor(_0x1344ec,_0x57ad87,_0x194218){const _0xa2d86f={_0xa9d988:0x14e,_0x4ca0b7:0x160,_0x3d9403:0x12c,_0x36d009:0x113,_0x4f0232:0x13b,_0x13b9f5:0x114},_0x4ad8a2=_0x1e5072;this[_0x4ad8a2(0x161)]=_0x1344ec,this[_0x4ad8a2(_0xa2d86f._0xa9d988)]=_0x57ad87,this[_0x4ad8a2(_0xa2d86f._0x4ca0b7)]=_0x194218;const _0x31d247=new FakePage(_0x1344ec,_0x57ad87,_0x194218+_0x4ad8a2(_0xa2d86f._0x3d9403),_0x57ad87[_0x4ad8a2(0x11e)]??'about:blank');_0x57ad87[_0x4ad8a2(_0xa2d86f._0x36d009)]&&(_0x31d247[_0x4ad8a2(0x146)]=()=>{const _0x493850=_0x4ad8a2;this[_0x493850(0x112)](_0x57ad87[_0x493850(0x113)]);}),this['pageList']=[_0x31d247],this[_0x4ad8a2(_0xa2d86f._0x4f0232)]={..._0x57ad87[_0x4ad8a2(_0xa2d86f._0x13b9f5)]??{}},this['cookieState']={..._0x57ad87[_0x4ad8a2(0x159)]??{}};}[_0x1e5072(0x161)];[_0x1e5072(0x14e)];[_0x1e5072(0x160)];static{__name(this,'FakeContext');}[_0x1e5072(0x128)];[_0x1e5072(0xf7)]=0x0;[_0x1e5072(0x10f)]=[];[_0x1e5072(0x13b)];[_0x1e5072(0x135)];[_0x1e5072(0x10e)]=new Set();['record'](_0x9c8613,_0x4d5ae7){const _0x5132e6={_0x1d0d39:0x161},_0x30ccdd=_0x1e5072;this[_0x30ccdd(_0x5132e6._0x1d0d39)][_0x30ccdd(0x108)]({'scope':this[_0x30ccdd(0x160)],'method':_0x9c8613,'args':_0x4d5ae7});}['pages'](){const _0x51ecb1=_0x1e5072;return this[_0x51ecb1(0x128)];}['activePage'](){const _0x3faca1={_0x5570a7:0x128,_0x52f69d:0x100},_0x47fb1b=_0x1e5072,_0x8f36a=this[_0x47fb1b(_0x3faca1._0x5570a7)][this[_0x47fb1b(0xf7)]];if(!_0x8f36a)throw new DriverError(_0x47fb1b(_0x3faca1._0x52f69d),{'activeIdx':this[_0x47fb1b(0xf7)]});return _0x8f36a;}['consoleEntries'](){const _0x43a8ac={_0x5ec262:0x105},_0x1065e9=_0x1e5072;return this['behavior'][_0x1065e9(_0x43a8ac._0x5ec262)]??[];}[_0x1e5072(0x148)](){const _0x70d3d9={_0x41543f:0x148},_0x187844=_0x1e5072;return this[_0x187844(0x14e)][_0x187844(_0x70d3d9._0x41543f)]??[];}async[_0x1e5072(0x151)](_0x2923a7){const _0x7e78f2={_0x4d9b9c:0x109,_0xb47173:0x128,_0x47eb89:0x11d},_0x3a321b=_0x1e5072;this[_0x3a321b(0x144)](_0x3a321b(0x151),[_0x2923a7]);if(_0x2923a7<0x0||_0x2923a7>=this[_0x3a321b(0x128)]['length'])throw new DriverError(_0x3a321b(_0x7e78f2._0x4d9b9c),{'index':_0x2923a7,'available':this[_0x3a321b(_0x7e78f2._0xb47173)][_0x3a321b(0x11d)]});this[_0x3a321b(0xf7)]=_0x2923a7,this['frameStack'][_0x3a321b(_0x7e78f2._0x47eb89)]=0x0;}[_0x1e5072(0xfa)](_0x4d555b){const _0x15df72=_0x1e5072;return subscribe(this[_0x15df72(0x10e)],_0x4d555b);}[_0x1e5072(0x112)](_0x3e99b1){const _0xe03fb2={_0x2c4423:0x11d,_0x45f689:0x128},_0x75cf88=_0x1e5072,_0x16b0a2=this[_0x75cf88(0x160)]+'.page'+this['pageList'][_0x75cf88(_0xe03fb2._0x2c4423)],_0x286b4b=new FakePage(this['recorder'],this['behavior'],_0x16b0a2,_0x3e99b1);this[_0x75cf88(_0xe03fb2._0x45f689)]['push'](_0x286b4b);const _0x3e3222=this['pageList']['length']-0x1;for(const _0x559a9b of this[_0x75cf88(0x10e)]){try{_0x559a9b({'index':_0x3e3222,'url':_0x3e99b1});}catch{}}return _0x3e3222;}[_0x1e5072(0x14d)](_0x5e595c){const _0x4ab5d7={_0x29a0ee:0x128,_0x54d52e:0x11d,_0x2b3841:0x109,_0x5c9b52:0x123},_0x1e3e09=_0x1e5072;if(_0x5e595c<0x0||_0x5e595c>=this[_0x1e3e09(_0x4ab5d7._0x29a0ee)][_0x1e3e09(_0x4ab5d7._0x54d52e)])throw new DriverError(_0x1e3e09(_0x4ab5d7._0x2b3841),{'index':_0x5e595c,'available':this['pageList']['length']});this['pageList'][_0x1e3e09(_0x4ab5d7._0x5c9b52)](_0x5e595c,0x1);}async[_0x1e5072(0x111)](_0x288afe){const _0x3696c3={_0x934ff3:0x111,_0xc90647:0x10f},_0xd71ab8=_0x1e5072;this['record'](_0xd71ab8(_0x3696c3._0x934ff3),[_0x288afe]);if(!_0x288afe[_0xd71ab8(0x166)]['length'])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x288afe});this[_0xd71ab8(_0x3696c3._0xc90647)][_0xd71ab8(0x108)](_0x288afe);}async['exitFrame'](){const _0xd5b175={_0x56ffea:0x10f,_0x447c5b:0x12b},_0x317ed2=_0x1e5072;this['record']('exitFrame',[]);if(this[_0x317ed2(_0xd5b175._0x56ffea)]['length']===0x0)throw new DriverError(_0x317ed2(_0xd5b175._0x447c5b),{});this[_0x317ed2(0x10f)][_0x317ed2(0x140)]();}async[_0x1e5072(0x102)](_0x255b59,_0xad0efc){const _0x4bca91={_0xffee4f:0x13b},_0x501f09=_0x1e5072;this['record']('setLocalStorage',[_0x255b59,_0xad0efc]),this[_0x501f09(_0x4bca91._0xffee4f)][_0x255b59]=_0xad0efc;}async[_0x1e5072(0x122)](_0x20ae07){const _0x37d297=_0x1e5072;return this[_0x37d297(0x144)](_0x37d297(0x122),[_0x20ae07]),this['localStorageState'][_0x20ae07]??null;}async[_0x1e5072(0x15c)](_0x541c58,_0x1c7b99,_0xb38c38){const _0x34245b={_0x4df1f3:0x144},_0xc6b191=_0x1e5072;this[_0xc6b191(_0x34245b._0x4df1f3)](_0xc6b191(0x15c),[_0x541c58,_0x1c7b99,_0xb38c38]),this[_0xc6b191(0x135)][_0x541c58]=_0x1c7b99;}async[_0x1e5072(0xfb)](_0x344e94){const _0x5aa85e={_0x18eb17:0x144,_0x5c4989:0xfb,_0x59c20f:0x135},_0x66e9e9=_0x1e5072;return this[_0x66e9e9(_0x5aa85e._0x18eb17)](_0x66e9e9(_0x5aa85e._0x5c4989),[_0x344e94]),this[_0x66e9e9(_0x5aa85e._0x59c20f)][_0x344e94]??null;}async[_0x1e5072(0xf9)](_0x461f48){this['record']('saveStorageState',[_0x461f48]);}async['evaluate'](_0x509dba){const _0x2ec829={_0x44e579:0x14a},_0x1c814a=_0x1e5072;return this[_0x1c814a(0x144)](_0x1c814a(_0x2ec829._0x44e579),[_0x509dba]),void 0x0;}async[_0x1e5072(0x137)](){const _0x3961d0=_0x1e5072;this['record'](_0x3961d0(0x137),[]);}[_0x1e5072(0x154)](){const _0x2e5a8b={_0xda8998:0x11d},_0x5761fd=_0x1e5072;return this['frameStack'][_0x5761fd(_0x2e5a8b._0xda8998)];}},FakeWebDriver=class{constructor(_0x2aa6e6={}){this['behavior']=_0x2aa6e6,this['recorder']=createRecorder();}[_0x1e5072(0x14e)];static{__name(this,_0x1e5072(0x12a));}[_0x1e5072(0x13a)]=![];[_0x1e5072(0x161)];[_0x1e5072(0x119)]=[];async[_0x1e5072(0x141)](_0x9bdfd){const _0x2351e8={_0x5126b5:0x161,_0x15606a:0x130,_0x5c26b2:0x141},_0x578c2e=_0x1e5072;this[_0x578c2e(_0x2351e8._0x5126b5)][_0x578c2e(0x108)]({'scope':_0x578c2e(_0x2351e8._0x15606a),'method':_0x578c2e(_0x2351e8._0x5c26b2),'args':[_0x9bdfd]}),this[_0x578c2e(0x13a)]=!![];}async[_0x1e5072(0x10a)](_0x16179d){const _0x4139e3={_0x3ba852:0x161,_0x31c760:0x10a,_0xe4829:0x13a,_0x572e62:0x152,_0x161c2c:0x11d},_0x159719=_0x1e5072;this[_0x159719(_0x4139e3._0x3ba852)][_0x159719(0x108)]({'scope':_0x159719(0x130),'method':_0x159719(_0x4139e3._0x31c760),'args':[_0x16179d]});if(!this[_0x159719(_0x4139e3._0xe4829)])throw new DriverError('newContext\x20called\x20before\x20launch()',{});const _0x47c32b=new FakeContext(this['recorder'],this['behavior'],_0x159719(_0x4139e3._0x572e62)+this[_0x159719(0x119)][_0x159719(_0x4139e3._0x161c2c)]);return this[_0x159719(0x119)][_0x159719(0x108)](_0x47c32b),_0x47c32b;}async[_0x1e5072(0x137)](){const _0x22d9a8={_0x30e15e:0x161,_0x39d9a2:0x130,_0x4ea933:0x137},_0x316cef=_0x1e5072;this[_0x316cef(_0x22d9a8._0x30e15e)][_0x316cef(0x108)]({'scope':_0x316cef(_0x22d9a8._0x39d9a2),'method':_0x316cef(_0x22d9a8._0x4ea933),'args':[]}),this['launched']=![];}['wsEndpoint'](){return void 0x0;}async['connectShared'](){const _0x53961f={_0x1c70fb:0x156},_0x11e201=_0x1e5072;throw new DriverError(_0x11e201(_0x53961f._0x1c70fb),{});}[_0x1e5072(0x167)](){const _0x58786b={_0x2ff4b2:0x164},_0x1217c7=_0x1e5072;throw new DriverError(_0x1217c7(_0x58786b._0x2ff4b2),{});}[_0x1e5072(0x104)](){const _0x53f55d={_0x12fc35:0x104},_0xb2ea5e=_0x1e5072;return this['recorder'][_0xb2ea5e(_0x53f55d._0x12fc35)]();}[_0x1e5072(0x15f)](_0x3e6ca9){const _0x13afda={_0x212a6c:0x161,_0x33f28a:0x13c},_0x5d098c=_0x1e5072;return this[_0x5d098c(_0x13afda._0x212a6c)][_0x5d098c(0x104)]()[_0x5d098c(_0x13afda._0x33f28a)](_0x6b2e06=>_0x6b2e06[_0x5d098c(0x139)]===_0x3e6ca9);}};export{FakeWebDriver};
1
+ function _0x22a6(_0x509c4c,_0x871368){_0x509c4c=_0x509c4c-0xe3;const _0xb1c7a0=_0xb1c7();let _0x22a656=_0xb1c7a0[_0x509c4c];if(_0x22a6['KfTYOD']===undefined){var _0x4bb0c6=function(_0x426874){const _0x5aca96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37be77='',_0x1bd526='';for(let _0x109d07=0x0,_0x2e5c09,_0x13d760,_0x44ab43=0x0;_0x13d760=_0x426874['charAt'](_0x44ab43++);~_0x13d760&&(_0x2e5c09=_0x109d07%0x4?_0x2e5c09*0x40+_0x13d760:_0x13d760,_0x109d07++%0x4)?_0x37be77+=String['fromCharCode'](0xff&_0x2e5c09>>(-0x2*_0x109d07&0x6)):0x0){_0x13d760=_0x5aca96['indexOf'](_0x13d760);}for(let _0x3ec69e=0x0,_0x1ad90e=_0x37be77['length'];_0x3ec69e<_0x1ad90e;_0x3ec69e++){_0x1bd526+='%'+('00'+_0x37be77['charCodeAt'](_0x3ec69e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bd526);};_0x22a6['LWpWII']=_0x4bb0c6,_0x22a6['TbdPNw']={},_0x22a6['KfTYOD']=!![];}const _0x34eae0=_0xb1c7a0[0x0],_0x5ee126=_0x509c4c+_0x34eae0,_0x131500=_0x22a6['TbdPNw'][_0x5ee126];return!_0x131500?(_0x22a656=_0x22a6['LWpWII'](_0x22a656),_0x22a6['TbdPNw'][_0x5ee126]=_0x22a656):_0x22a656=_0x131500,_0x22a656;}const _0xf52122=_0x22a6;(function(_0x17764b,_0x13377c){const _0x370910={_0x2f01ae:0x122,_0x181057:0x116,_0x1f3cfb:0x129,_0xa19085:0x14e,_0x51ca8a:0xfe,_0x5800f5:0x120,_0x390efc:0x11e,_0x542619:0xf8,_0x367f5b:0xec},_0x590bfa=_0x22a6,_0x382183=_0x17764b();while(!![]){try{const _0x120e74=parseInt(_0x590bfa(_0x370910._0x2f01ae))/0x1+-parseInt(_0x590bfa(0x114))/0x2*(parseInt(_0x590bfa(_0x370910._0x181057))/0x3)+-parseInt(_0x590bfa(_0x370910._0x1f3cfb))/0x4*(-parseInt(_0x590bfa(_0x370910._0xa19085))/0x5)+-parseInt(_0x590bfa(0x156))/0x6*(-parseInt(_0x590bfa(_0x370910._0x51ca8a))/0x7)+-parseInt(_0x590bfa(_0x370910._0x5800f5))/0x8*(parseInt(_0x590bfa(0xf0))/0x9)+parseInt(_0x590bfa(_0x370910._0x390efc))/0xa*(-parseInt(_0x590bfa(_0x370910._0x542619))/0xb)+-parseInt(_0x590bfa(_0x370910._0x367f5b))/0xc*(-parseInt(_0x590bfa(0xe7))/0xd);if(_0x120e74===_0x13377c)break;else _0x382183['push'](_0x382183['shift']());}catch(_0x5778cd){_0x382183['push'](_0x382183['shift']());}}}(_0xb1c7,0x69487));var __defProp=Object[_0xf52122(0xeb)],__name=(_0x37be77,_0x1bd526)=>__defProp(_0x37be77,'name',{'value':_0x1bd526,'configurable':!![]});function _0xb1c7(){const _0x545391=['zNjVBq','lNbHz2uW','Aw5PDgLHBfvYBa','pgrPDJ48l2rPDJ4','z2v0qxr0CMLIDxrL','yMvOyxzPB3i','CMvJB3jK','DgL0Bgu','C3vIC2nYAwjL','CMvSB2fK','D2fPDezVCK5HDMLNyxrPB24','tg9JyxrVCKvYCM9Y','C2vSzwn0t3b0Aw9U','B3v0zxjiDg1SqNLszwy','B3v0zxjive1m','Bwv0Ag9K','CMvM','BgvUz3rO','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','AxnwAxnPyMXLqNLezwzHDwX0','Dgv4DenVBNrLBNrcEurLzMf1Bhq','Dgv4DenVBNrLBNq','D2fPDezVCLrLEhq','D2fPDezVCKXVywrtDgf0zq','Ag92zxi','zhjPDMvY','C2v0qwn0AxzLugfNzq','zw50zxjgCMfTzq','Bg9JywXtDg9YywDLu3rHDgu','BMv3q29UDgv4Da','C2v0q29VA2LL','Aw5UzxjuzxH0','C3bSAwnL','y291BNq','otiXnvzXt2joBW','Cg9WDxbpBKnSAwnR','zhjHz0fUzerYB3a','y291BNrcEurLzMf1Bhq','rMfRzvDLyKrYAxzLCG','rMfRzunVBNrLEhq','Aw5WDxrwywX1zq','zMfRzs1WBMC','otyYodjOtfz6zfm','Cg9W','ywrK','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','zwXLBwvUDeHPBNrcEvjLzG','z29cywnR','AxnwAxnPyMXL','ChvZAa','D2fPDezVCLvYBa','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','Bg9JywXtDg9YywDL','mJCZnty2oe1czwjNBq','Bwf5yMvuAhjVDW','C2f2zvn0B3jHz2vtDgf0zq','ywjVDxq6yMXHBMS','zgvMAw5LuhjVCgvYDhK','mJrzsfrbyxe','ywn0AxzLswr4','CgfNzuXPC3q','zNjHBwvtDgfJAW','mtHJveXIsKu','y3vYCMvUDfvYBa','rMfRzvbHz2u','zMLSDgvY','DxjS','BMv0D29YA0vUDhjPzxm','AxneAxnHyMXLzej5rgvMyxvSDa','lNbHz2u','odG2nLDTCuPdyW','y2XVC2u','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zMLSBa','y2XPy2S','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','ndLxtuH6B00','y2XPCgjVyxjKugfZDgu','B25bzNrLCKnSAwnR','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','C2nVCgu','zxzHBhvHDgu','Aw5ZCgvJDevSzw1LBNq','y2fSBhm','zw1PDezHA2vqB3b1Ca','BMv3ugfNzuXPC3rLBMvYCW','CMvJB3jKzxi','Bgf1BMnOzwq','z2v0q29VA2LL','zxjYB3jpBK5LEhrby3rPB24','C3rLChm','A2LUza','y29VA2LLu3rHDgu','zxzHBhvHDgvpBKXVy2f0B3i','ywn0AxzLugfNzq','Aw5WDxrwywX1zuj5rgvMyxvSDa','D3nfBMrWB2LUDa','AxneAxnHyMXLza','ntbxBwvmBvi','C2v0tg9JywXtDg9YywDL','nZy4mZndt1PSDfK','ChjLC3m','C2nYB2XSsw50B1zPzxC','iJ48l2rPDJ4','B25ozxDqywDL','D2fPDezVCG','y29UDgv4Dhm','Dw5JAgvJAW','nde5meLoqLbjCG','z29gB3j3yxjK','mtiWntK0ng5Mve5iBq','Bgf1BMnO','mZu1ntm1AMrhrvnn','Aw5UzxjuzxH0qNLezwzHDwX0','z2v0tg9JywXtDg9YywDL','DxbSB2fKrMLSzq','y2HLy2S','y29UC29SzuvUDhjPzxm','y3jLyxrLuMvJB3jKzxi','mtC4ngzksKvcAa','zMfRzsb0AxrSzq','y2HLy2TLzfn0yxrL'];_0xb1c7=function(){return _0x545391;};return _0xb1c7();}function subscribe(_0x109d07,_0x2e5c09){const _0x3a4800=_0xf52122;return _0x109d07[_0x3a4800(0x158)](_0x2e5c09),()=>{_0x109d07['delete'](_0x2e5c09);};}__name(subscribe,_0xf52122(0x134));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,_0xf52122(0x137));}};function createRecorder(){const _0xd54785={_0x47f991:0xe3},_0x47067e=_0xf52122,_0x13d760=[];let _0x44ab43=0x0;return{'push':__name(_0x3ec69e=>_0x13d760[_0x47067e(0xe3)]({..._0x3ec69e,'seq':_0x44ab43++}),_0x47067e(_0xd54785._0x47f991)),'calls':__name(()=>_0x13d760,'calls')};}__name(createRecorder,_0xf52122(0x128));var FakePage=class{constructor(_0x1ad90e,_0x17e6a9,_0x3ea58b,_0x3d35d6){const _0x2d5db0={_0x4ebc23:0x102,_0x33b231:0xf1},_0x2cbf64=_0xf52122;this[_0x2cbf64(0x108)]=_0x1ad90e,this['behavior']=_0x17e6a9,this[_0x2cbf64(_0x2d5db0._0x4ebc23)]=_0x3ea58b,this[_0x2cbf64(_0x2d5db0._0x33b231)]=_0x3d35d6;}[_0xf52122(0x108)];[_0xf52122(0x131)];[_0xf52122(0x102)];static{__name(this,_0xf52122(0xf2));}[_0xf52122(0xf1)];['onAfterClick'];[_0xf52122(0x132)](_0x454340,_0x130529){const _0x2fbfaf={_0xfdecb:0xe3},_0x489733=_0xf52122;this['recorder'][_0x489733(_0x2fbfaf._0xfdecb)]({'scope':this[_0x489733(0x102)],'method':_0x454340,'args':_0x130529});}[_0xf52122(0xe8)](){const _0x117af7={_0x5c5530:0x131,_0x1621ca:0x131},_0x264b75=_0xf52122;if(this[_0x264b75(_0x117af7._0x5c5530)][_0x264b75(0x10b)]){const _0x1edcde=this[_0x264b75(_0x117af7._0x1621ca)]['errorOnNextAction'];this[_0x264b75(_0x117af7._0x5c5530)][_0x264b75(0x10b)]=void 0x0;throw _0x1edcde;}}[_0xf52122(0xf4)](){return this['currentUrl'];}async['title'](){const _0x4e7a90={_0x5bf5ea:0x132,_0x53a749:0x133},_0x597c46=_0xf52122;return this[_0x597c46(_0x4e7a90._0x5bf5ea)](_0x597c46(_0x4e7a90._0x53a749),[]),_0x597c46(0x12a);}async[_0xf52122(0xfc)](_0x1795e9,_0x721e89){const _0x5bf517={_0x12e2fc:0x100},_0x141519=_0xf52122;this['record']('click',[_0x1795e9,_0x721e89]),this['maybeThrow'](),this[_0x141519(_0x5bf517._0x12e2fc)]?.();}async['doubleClick'](_0x51cc45,_0x26715e){const _0xe5da96={_0x21e9bf:0x132},_0x487974=_0xf52122;this[_0x487974(_0xe5da96._0x21e9bf)]('doubleClick',[_0x51cc45,_0x26715e]),this[_0x487974(0xe8)]();}async[_0xf52122(0xfb)](_0x1ea40e,_0x4603d0,_0x16a878){const _0x3b54d3={_0x2863a6:0xfb,_0x1c9570:0xe8},_0x455cf6=_0xf52122;this['record'](_0x455cf6(_0x3b54d3._0x2863a6),[_0x1ea40e,_0x4603d0,_0x16a878]),this[_0x455cf6(_0x3b54d3._0x1c9570)]();}async[_0xf52122(0x117)](_0x24b560,_0x595202,_0x404439){const _0x1e0961={_0x310226:0x132},_0x2e5fc7=_0xf52122;this[_0x2e5fc7(_0x1e0961._0x310226)](_0x2e5fc7(0x117),[_0x24b560,_0x595202,_0x404439]),this[_0x2e5fc7(0xe8)]();}async[_0xf52122(0x126)](_0x5ebc19,_0x5edac2){const _0x436f75={_0x367419:0x132},_0x271a43=_0xf52122;this[_0x271a43(_0x436f75._0x367419)](_0x271a43(0x126),[_0x5ebc19,_0x5edac2]),this['maybeThrow']();}async['uncheck'](_0x3b9c53,_0x1f3ccf){const _0x4bf177={_0x484dac:0x132,_0x3b025f:0x11d,_0x1919e1:0xe8},_0x47f142=_0xf52122;this[_0x47f142(_0x4bf177._0x484dac)](_0x47f142(_0x4bf177._0x3b025f),[_0x3b9c53,_0x1f3ccf]),this[_0x47f142(_0x4bf177._0x1919e1)]();}async['selectOption'](_0x46300d,_0x3eb043,_0x6d648e){const _0x1d3103={_0x19a7dd:0x138},_0x7ac6b0=_0xf52122;this['record'](_0x7ac6b0(_0x1d3103._0x19a7dd),[_0x46300d,_0x3eb043,_0x6d648e]),this[_0x7ac6b0(0xe8)]();}async[_0xf52122(0x144)](_0x4693d5,_0x4cfb5e){const _0x32f338={_0x580288:0x132},_0x1ba91f=_0xf52122;this[_0x1ba91f(_0x32f338._0x580288)]('hover',[_0x4693d5,_0x4cfb5e]),this[_0x1ba91f(0xe8)]();}async[_0xf52122(0x118)](_0x135d2e){const _0xf8565f={_0x4ad1fc:0x118,_0x4e4241:0xe8},_0x482a9a=_0xf52122;this[_0x482a9a(0x132)](_0x482a9a(_0xf8565f._0x4ad1fc),[_0x135d2e]),this[_0x482a9a(_0xf8565f._0x4e4241)]();}async[_0xf52122(0x150)](_0x427b91,_0x1c8188,_0xcdc4d5){const _0x2f4c6c={_0x3ba3f4:0xe8},_0x54d058=_0xf52122;this['record'](_0x54d058(0x150),[_0x427b91,_0x1c8188,_0xcdc4d5]),this[_0x54d058(_0x2f4c6c._0x3ba3f4)]();}async[_0xf52122(0x125)](_0x43c079,_0x5731d0){const _0x531114={_0x205781:0x132},_0x5cd378=_0xf52122;this[_0x5cd378(_0x531114._0x205781)](_0x5cd378(0x125),[_0x43c079,_0x5731d0]),this[_0x5cd378(0xe8)]();}async[_0xf52122(0xff)](_0x280ddb,_0xd52532){const _0x135610={_0x5178a1:0xff},_0x2e8e1a=_0xf52122;this[_0x2e8e1a(0x132)](_0x2e8e1a(_0x135610._0x5178a1),[_0x280ddb,_0xd52532]),this['maybeThrow']();}async['count'](_0x148217){const _0x153f81=_0xf52122;return this[_0x153f81(0x132)](_0x153f81(0x14d),[_0x148217]),this['behavior'][_0x153f81(0x151)]??0x1;}async['textContent'](_0x21d3e2){const _0x128f79={_0x4f00da:0x132,_0x36b687:0x131,_0x1bc798:0x140},_0x45e892=_0xf52122;return this[_0x45e892(_0x128f79._0x4f00da)](_0x45e892(0x141),[_0x21d3e2]),this[_0x45e892(_0x128f79._0x36b687)][_0x45e892(_0x128f79._0x1bc798)]??'';}async[_0xf52122(0x14b)](_0x515336){const _0x5a9274={_0x43e56c:0x132,_0x5b9e19:0x123,_0x373909:0x140},_0x53dfdf=_0xf52122;return this[_0x53dfdf(_0x5a9274._0x43e56c)](_0x53dfdf(0x14b),[_0x515336]),this['behavior'][_0x53dfdf(_0x5a9274._0x5b9e19)]??this[_0x53dfdf(0x131)][_0x53dfdf(_0x5a9274._0x373909)]??'';}async[_0xf52122(0x154)](_0x3a5a62){const _0x59c87d={_0x4117e7:0x154,_0x56235e:0x131},_0x17375e=_0xf52122;return this[_0x17375e(0x132)](_0x17375e(_0x59c87d._0x4117e7),[_0x3a5a62]),this[_0x17375e(_0x59c87d._0x56235e)][_0x17375e(0x111)]??'';}async[_0xf52122(0x12b)](_0xbdb5da){const _0x128043={_0x30902b:0x132,_0x37eec8:0x12b,_0x1efcd2:0x131},_0xb4a5b=_0xf52122;return this[_0xb4a5b(_0x128043._0x30902b)](_0xb4a5b(_0x128043._0x37eec8),[_0xbdb5da]),this[_0xb4a5b(_0x128043._0x1efcd2)]['checkedStateByDefault']??null;}async['isVisible'](_0x7f8e5d){const _0x5134da={_0x2f02e2:0x131,_0x543218:0x13f},_0x5b4bcf=_0xf52122;return this[_0x5b4bcf(0x132)](_0x5b4bcf(0x15d),[_0x7f8e5d]),this[_0x5b4bcf(_0x5134da._0x2f02e2)][_0x5b4bcf(_0x5134da._0x543218)]??!![];}async[_0xf52122(0x113)](_0x132b6f){const _0x35cd3f={_0x384805:0x113},_0x1a1a5f=_0xf52122;return this['record'](_0x1a1a5f(_0x35cd3f._0x384805),[_0x132b6f]),this[_0x1a1a5f(0x131)][_0x1a1a5f(0xf6)]??![];}async['getAttribute'](_0x3251b6,_0x1ec8b3){const _0x4a829d={_0x58157b:0x131},_0x2e5872=_0xf52122;return this['record'](_0x2e5872(0x130),[_0x3251b6,_0x1ec8b3]),this[_0x2e5872(_0x4a829d._0x58157b)]['attributesByDefault']?.[_0x1ec8b3]??null;}async[_0xf52122(0x11b)](_0xb32204,_0x2302d8){const _0x518906=_0xf52122;this[_0x518906(0x132)]('waitFor',[_0xb32204,_0x2302d8]);}async[_0xf52122(0xe4)](_0x315f16,_0x5a9c80){const _0x25b415=_0xf52122;this[_0x25b415(0x132)](_0x25b415(0xe4),[_0x315f16,_0x5a9c80]);}async[_0xf52122(0x142)](_0x34ca9e,_0x28be32){const _0x46e7b3=_0xf52122;this[_0x46e7b3(0x132)]('waitForText',[_0x34ca9e,_0x28be32]);}async[_0xf52122(0x136)](_0x3e5242){this['record']('waitForNavigation',[_0x3e5242]);}async[_0xf52122(0x143)](_0x44b9b5,_0x508d19){this['record']('waitForLoadState',[_0x44b9b5,_0x508d19]);}async['goto'](_0x1f8730,_0x49d1b4){const _0x27066a=_0xf52122;this[_0x27066a(0x132)]('goto',[_0x1f8730,_0x49d1b4]),this['currentUrl']=_0x1f8730;}async[_0xf52122(0x135)](_0x2fc558){const _0x39e020={_0x5bf0a7:0x132,_0x5c1255:0x135},_0x7e5af5=_0xf52122;this[_0x7e5af5(_0x39e020._0x5bf0a7)](_0x7e5af5(_0x39e020._0x5c1255),[_0x2fc558]);}async['goBack'](_0x54786f){const _0x358690={_0x3b2e41:0x15c},_0x5c4081=_0xf52122;this[_0x5c4081(0x132)](_0x5c4081(_0x358690._0x3b2e41),[_0x54786f]);}async['goForward'](_0x53b1b4){const _0x539f3e={_0x1a762e:0x132},_0x456d43=_0xf52122;this[_0x456d43(_0x539f3e._0x1a762e)](_0x456d43(0x11f),[_0x53b1b4]);}async[_0xf52122(0x103)](_0x162889){const _0x4e6124={_0x25fd9c:0x103},_0x37f9ad=_0xf52122;return this[_0x37f9ad(0x132)](_0x37f9ad(_0x4e6124._0x25fd9c),[_0x162889]),void 0x0;}async[_0xf52122(0x10f)](_0x4ff392,_0x50d55a){const _0x2df159=_0xf52122;return this[_0x2df159(0x132)]('evaluateOnLocator',[_0x4ff392,_0x50d55a]),void 0x0;}async[_0xf52122(0x104)](_0x1ace52){const _0x534ab5={_0x1cbb88:0x10c,_0xc46343:0x10d,_0x3c70d2:0x13c,_0x2fd06a:0x131},_0x5becb6=_0xf52122;this['record']('inspectElement',[_0x1ace52]);if(_0x1ace52[_0x5becb6(_0x534ab5._0x1cbb88)][_0x5becb6(0x13d)]!==0x1||_0x1ace52[_0x5becb6(0x10c)][0x0][_0x5becb6(_0x534ab5._0xc46343)]!==_0x5becb6(_0x534ab5._0x3c70d2))return null;const _0x444139=_0x1ace52['steps'][0x0][_0x5becb6(_0x534ab5._0x3c70d2)],_0x613751=this[_0x5becb6(_0x534ab5._0x2fd06a)][_0x5becb6(0x15b)]?.[_0x444139];return _0x613751??null;}async['screenshot'](_0x27ed08){const _0x7baffa={_0x4b2714:0x132,_0x780b85:0x155},_0xece8c9=_0xf52122;return this[_0xece8c9(_0x7baffa._0x4b2714)]('screenshot',[_0x27ed08]),Buffer[_0xece8c9(0x12c)](_0xece8c9(_0x7baffa._0x780b85));}async[_0xf52122(0x13a)](_0x562fc0){const _0x25c645={_0x1b2f86:0x132,_0x5bae29:0x10d,_0x22ad7a:0x131,_0xdd4ada:0xfa},_0x5efca0=_0xf52122;this[_0x5efca0(_0x25c645._0x1b2f86)](_0x5efca0(0x13a),[_0x562fc0]);if(_0x562fc0['steps'][_0x5efca0(0x13d)]===0x1&&_0x562fc0[_0x5efca0(0x10c)][0x0][_0x5efca0(_0x25c645._0x5bae29)]===_0x5efca0(0x13c)){const _0x459228=_0x562fc0['steps'][0x0][_0x5efca0(0x13c)];return this[_0x5efca0(_0x25c645._0x22ad7a)][_0x5efca0(0x139)]?.[_0x459228]??_0x5efca0(_0x25c645._0xdd4ada)+_0x459228+_0x5efca0(0x119);}return _0x5efca0(0x12f);}},FakeContext=class{constructor(_0x58d276,_0x49dfe0,_0x5cdf45){const _0x52ceb9={_0x36a7bc:0x108,_0x27b1eb:0xea,_0x36143c:0xe6,_0x397273:0x10e},_0x5cbab7={_0x5d9e9f:0x106,_0x4eec8b:0x14f},_0x36fc44=_0xf52122;this[_0x36fc44(_0x52ceb9._0x36a7bc)]=_0x58d276,this[_0x36fc44(0x131)]=_0x49dfe0,this['scope']=_0x5cdf45;const _0x1e44a3=new FakePage(_0x58d276,_0x49dfe0,_0x5cdf45+_0x36fc44(0x12d),_0x49dfe0[_0x36fc44(0x12e)]??_0x36fc44(_0x52ceb9._0x27b1eb));_0x49dfe0[_0x36fc44(0x14f)]&&(_0x1e44a3[_0x36fc44(0x100)]=()=>{const _0x4973ed=_0x36fc44;this[_0x4973ed(_0x5cbab7._0x5d9e9f)](_0x49dfe0[_0x4973ed(_0x5cbab7._0x4eec8b)]);}),this[_0x36fc44(0xee)]=[_0x1e44a3],this['localStorageState']={..._0x49dfe0[_0x36fc44(_0x52ceb9._0x36143c)]??{}},this[_0x36fc44(_0x52ceb9._0x397273)]={..._0x49dfe0['cookies']??{}};}['recorder'];['behavior'];['scope'];static{__name(this,_0xf52122(0x153));}[_0xf52122(0xee)];[_0xf52122(0xed)]=0x0;[_0xf52122(0xef)]=[];[_0xf52122(0x148)];[_0xf52122(0x10e)];[_0xf52122(0x107)]=new Set();[_0xf52122(0x132)](_0x2a1547,_0x95eb02){const _0x374f91={_0x2a9866:0xe3},_0x27daea=_0xf52122;this['recorder'][_0x27daea(_0x374f91._0x2a9866)]({'scope':this[_0x27daea(0x102)],'method':_0x2a1547,'args':_0x95eb02});}['pages'](){const _0x59d2b7={_0x5d39b1:0xee},_0x33ee24=_0xf52122;return this[_0x33ee24(_0x59d2b7._0x5d39b1)];}[_0xf52122(0x110)](){const _0x334d4a={_0x2a2aff:0xee,_0x2951bf:0x15a},_0x5ca936=_0xf52122,_0x55aab5=this[_0x5ca936(_0x334d4a._0x2a2aff)][this[_0x5ca936(0xed)]];if(!_0x55aab5)throw new DriverError(_0x5ca936(_0x334d4a._0x2951bf),{'activeIdx':this['activeIdx']});return _0x55aab5;}[_0xf52122(0x127)](){const _0x3068a7={_0x51ad3a:0x131},_0x1060c8=_0xf52122;return this[_0x1060c8(_0x3068a7._0x51ad3a)][_0x1060c8(0x127)]??[];}[_0xf52122(0xf5)](){const _0x9d734a={_0x16c38e:0x131},_0x335f20=_0xf52122;return this[_0x335f20(_0x9d734a._0x16c38e)][_0x335f20(0xf5)]??[];}async[_0xf52122(0x146)](_0x54b63e){const _0x2de796={_0x5007c8:0x132,_0x38d53d:0x101,_0x3e6f6d:0xef},_0xf04601=_0xf52122;this[_0xf04601(_0x2de796._0x5007c8)](_0xf04601(0x146),[_0x54b63e]);if(_0x54b63e<0x0||_0x54b63e>=this[_0xf04601(0xee)][_0xf04601(0x13d)])throw new DriverError(_0xf04601(_0x2de796._0x38d53d),{'index':_0x54b63e,'available':this[_0xf04601(0xee)][_0xf04601(0x13d)]});this['activeIdx']=_0x54b63e,this[_0xf04601(_0x2de796._0x3e6f6d)]['length']=0x0;}[_0xf52122(0x11a)](_0x1ca191){return subscribe(this['newPageListeners'],_0x1ca191);}[_0xf52122(0x106)](_0x330f09){const _0x5a5e81={_0x35e89d:0x102,_0xc20859:0xf7,_0x26e529:0xee,_0x39f350:0x13d,_0x23107f:0xee,_0xc851d2:0xe3},_0x4da657=_0xf52122,_0x15975c=this[_0x4da657(_0x5a5e81._0x35e89d)]+_0x4da657(_0x5a5e81._0xc20859)+this[_0x4da657(_0x5a5e81._0x26e529)][_0x4da657(_0x5a5e81._0x39f350)],_0x4c01db=new FakePage(this['recorder'],this['behavior'],_0x15975c,_0x330f09);this[_0x4da657(_0x5a5e81._0x23107f)][_0x4da657(_0x5a5e81._0xc851d2)](_0x4c01db);const _0xc913c8=this[_0x4da657(0xee)][_0x4da657(0x13d)]-0x1;for(const _0x19a1ab of this[_0x4da657(0x107)]){try{_0x19a1ab({'index':_0xc913c8,'url':_0x330f09});}catch{}}return _0xc913c8;}['closeFakePage'](_0x199c99){const _0x257d91={_0x3e82cd:0xee,_0x3b53ab:0x101,_0x282021:0x13d},_0x59b117=_0xf52122;if(_0x199c99<0x0||_0x199c99>=this[_0x59b117(_0x257d91._0x3e82cd)][_0x59b117(0x13d)])throw new DriverError(_0x59b117(_0x257d91._0x3b53ab),{'index':_0x199c99,'available':this['pageList'][_0x59b117(_0x257d91._0x282021)]});this[_0x59b117(_0x257d91._0x3e82cd)][_0x59b117(0x14c)](_0x199c99,0x1);}async['enterFrame'](_0x169134){const _0x15ac00={_0x4e5554:0x147,_0x5d822c:0x10c,_0x5200dc:0x13d,_0x1e710f:0xe3},_0x1d21c9=_0xf52122;this[_0x1d21c9(0x132)](_0x1d21c9(_0x15ac00._0x4e5554),[_0x169134]);if(!_0x169134[_0x1d21c9(_0x15ac00._0x5d822c)][_0x1d21c9(_0x15ac00._0x5200dc)])throw new LocatorError(_0x1d21c9(0x159),{'locator':_0x169134});this[_0x1d21c9(0xef)][_0x1d21c9(_0x15ac00._0x1e710f)](_0x169134);}async['exitFrame'](){const _0x91ea4a={_0x1dfa12:0xe5},_0x43aa82=_0xf52122;this[_0x43aa82(0x132)]('exitFrame',[]);if(this[_0x43aa82(0xef)][_0x43aa82(0x13d)]===0x0)throw new DriverError(_0x43aa82(_0x91ea4a._0x1dfa12),{});this[_0x43aa82(0xef)][_0x43aa82(0x157)]();}async[_0xf52122(0x115)](_0x5b5d5d,_0x3d5942){const _0xd79e6a={_0x3b5156:0x148},_0x417a01=_0xf52122;this[_0x417a01(0x132)]('setLocalStorage',[_0x5b5d5d,_0x3d5942]),this[_0x417a01(_0xd79e6a._0x3b5156)][_0x5b5d5d]=_0x3d5942;}async[_0xf52122(0x124)](_0x4e6fe6){const _0x4143c5={_0x19ef03:0x124,_0x16c04c:0x148},_0x3f0c7c=_0xf52122;return this[_0x3f0c7c(0x132)](_0x3f0c7c(_0x4143c5._0x19ef03),[_0x4e6fe6]),this[_0x3f0c7c(_0x4143c5._0x16c04c)][_0x4e6fe6]??null;}async[_0xf52122(0x14a)](_0x21eee5,_0x54bafe,_0x529e51){const _0x351648={_0x327f4f:0x14a},_0x4293aa=_0xf52122;this[_0x4293aa(0x132)](_0x4293aa(_0x351648._0x327f4f),[_0x21eee5,_0x54bafe,_0x529e51]),this['cookieState'][_0x21eee5]=_0x54bafe;}async[_0xf52122(0x10a)](_0x5953dd){const _0x358f4f={_0x5e71d7:0x10a,_0x3948e0:0x10e},_0x417402=_0xf52122;return this['record'](_0x417402(_0x358f4f._0x5e71d7),[_0x5953dd]),this[_0x417402(_0x358f4f._0x3948e0)][_0x5953dd]??null;}async[_0xf52122(0xe9)](_0x3f7d9f){const _0xe9faff={_0x20f2c4:0x132,_0x285313:0xe9},_0xbc597e=_0xf52122;this[_0xbc597e(_0xe9faff._0x20f2c4)](_0xbc597e(_0xe9faff._0x285313),[_0x3f7d9f]);}async[_0xf52122(0x103)](_0x495c73){const _0x3fde4e={_0x27ee4e:0x103},_0x98d67c=_0xf52122;return this[_0x98d67c(0x132)](_0x98d67c(_0x3fde4e._0x27ee4e),[_0x495c73]),void 0x0;}async[_0xf52122(0xf9)](){const _0x442fdb={_0x53c5f5:0x132},_0x1872f6=_0xf52122;this[_0x1872f6(_0x442fdb._0x53c5f5)]('close',[]);}['frameDepth'](){const _0x3a2034=_0xf52122;return this[_0x3a2034(0xef)]['length'];}},FakeWebDriver=class{constructor(_0x2ea376={}){const _0x38fd4c={_0x58ddd8:0x131,_0x544d9f:0x108},_0x5e3922=_0xf52122;this[_0x5e3922(_0x38fd4c._0x58ddd8)]=_0x2ea376,this[_0x5e3922(_0x38fd4c._0x544d9f)]=createRecorder();}['behavior'];static{__name(this,_0xf52122(0x152));}[_0xf52122(0x109)]=![];['recorder'];[_0xf52122(0x11c)]=[];async[_0xf52122(0x121)](_0x46ac49){const _0x165a5a={_0x59d34:0xe3,_0x1c8f81:0x109},_0x2e225a=_0xf52122;this['recorder'][_0x2e225a(_0x165a5a._0x59d34)]({'scope':_0x2e225a(0x145),'method':'launch','args':[_0x46ac49]}),this[_0x2e225a(_0x165a5a._0x1c8f81)]=!![];}async[_0xf52122(0x149)](_0x19bbb3){const _0x253836={_0x38c11b:0x108,_0x26fa7c:0x149,_0x50b030:0x13e,_0x396c34:0x108,_0x36259c:0x131,_0x47d100:0x11c,_0x548d0b:0xe3},_0x300fcb=_0xf52122;this[_0x300fcb(_0x253836._0x38c11b)][_0x300fcb(0xe3)]({'scope':'driver','method':_0x300fcb(_0x253836._0x26fa7c),'args':[_0x19bbb3]});if(!this[_0x300fcb(0x109)])throw new DriverError(_0x300fcb(_0x253836._0x50b030),{});const _0x2fde21=new FakeContext(this[_0x300fcb(_0x253836._0x396c34)],this[_0x300fcb(_0x253836._0x36259c)],'ctx'+this[_0x300fcb(_0x253836._0x47d100)]['length']);return this[_0x300fcb(0x11c)][_0x300fcb(_0x253836._0x548d0b)](_0x2fde21),_0x2fde21;}async[_0xf52122(0xf9)](){const _0x1d6715={_0x2a989e:0xe3},_0x3c8dd1=_0xf52122;this['recorder'][_0x3c8dd1(_0x1d6715._0x2a989e)]({'scope':_0x3c8dd1(0x145),'method':_0x3c8dd1(0xf9),'args':[]}),this[_0x3c8dd1(0x109)]=![];}[_0xf52122(0x112)](){return void 0x0;}async['connectShared'](){throw new DriverError('connectShared\x20not\x20supported\x20by\x20FakeWebDriver',{});}['attachExisting'](){const _0x7b176f=_0xf52122;throw new DriverError(_0x7b176f(0xfd),{});}[_0xf52122(0x105)](){const _0x459f80={_0xbcb172:0x108},_0x394187=_0xf52122;return this[_0x394187(_0x459f80._0xbcb172)][_0x394187(0x105)]();}['callsFor'](_0x5e938c){const _0x1961eb={_0x4c504f:0xf3},_0x58ebae=_0xf52122;return this[_0x58ebae(0x108)][_0x58ebae(0x105)]()[_0x58ebae(_0x1961eb._0x4c504f)](_0x3ee526=>_0x3ee526[_0x58ebae(0x13b)]===_0x5e938c);}};export{FakeWebDriver};