@unotest/web 0.18.0 → 0.19.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,82 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.19.0] - 2026-08-23
4
+
5
+ ### Patch Changes
6
+
7
+ - The CLI passes termination on to the process it runs. `unotest-web` is a
8
+ dispatcher that spawns the real entry (`viewer`, a scenario run, the MCP
9
+ server) and waits; killing the dispatcher used to leave that process alive,
10
+ reparented to init and still holding its port. Ctrl-C hid it — a terminal
11
+ signals the whole foreground group — so it only bit tooling that kills the
12
+ process it started: each such call leaked one server. SIGTERM / SIGINT /
13
+ SIGHUP now reach the child, and the exit code still comes from it.
14
+
15
+ ### Minor Changes
16
+
17
+ - dfb3991: Per-collection parallelism via a `workers:` field in the collection YAML.
18
+
19
+ - `workers: N` (integer ≥ 1) in `unotest/e2e/_collections/*.yaml` sets how
20
+ many scenarios of that collection run concurrently; omitted = serial.
21
+ - Precedence: CLI `--workers=N` flag > manifest `workers:` > 1.
22
+ - Viewer: the collection header shows an editable `workers` value; the
23
+ setting is stored in the YAML, so CLI and CI runs pick it up too.
24
+ - `CollectionMeta` (protocol) gains a `workers: number | null` field.
25
+
26
+ - Run history scales: runs are filed under daily shards and the viewer stops
27
+ polling history it is not showing.
28
+
29
+ - New on-disk layout `unotest/.runs/<YYYY>/<MM>/<DD>/<runId>/` (UTC date the
30
+ run started). The shard is a pure function of the `runId`, which already
31
+ carries the timestamp — a direct link to a run keeps working even with the
32
+ index deleted. Existing flat `.runs/<runId>/` history is migrated
33
+ automatically (see the `runs migrate` entry).
34
+ - The viewer's watcher polls only LIVE runs; finished history never touches
35
+ it. Discovery watches the current day's directory with native `fs.watch`
36
+ and re-attaches at UTC midnight.
37
+ - A JSONL index per day and per scenario backs the history list. It is fully
38
+ rebuildable — rebuilt on start, non-blocking — so a corrupted or missing
39
+ index degrades the listing, never the runs themselves.
40
+ - `@unotest/protocol`: new `run-shard` and `run-index` modules (shard path
41
+ derivation, index record shapes) exported from the root entry.
42
+
43
+ - Step screenshots are stored once and shared, and old runs expire on their
44
+ own — a long history stops growing without bound.
45
+
46
+ - Identical frames are content-addressed in `unotest/.runs/_blobs/` and
47
+ hardlinked into each run. `du` and ordinary copies see whole files;
48
+ `cp -a` / `rsync -H` preserve the sharing. On one dogfood suite: 45
49
+ frames, 2.04 MB by apparent size, 0.96 MB on disk.
50
+ - Reference counting is the filesystem's (`st_nlink`), so nothing to keep in
51
+ sync. Blob generations keep the dedup honest past ext4's 65 000-link
52
+ ceiling, and a fresh blob is untouchable for an hour so the window between
53
+ writing it and linking it is never mistaken for garbage.
54
+ - Retention: `UNOTEST_RUNS_RETENTION_DAYS` (whole days, default 180) sweeps
55
+ runs older than the window at the end of a collection run. It never
56
+ changes the exit code — a failed sweep is reported, not fatal.
57
+ - `@unotest/protocol`: new `run-blobs` module exported from the root entry.
58
+
59
+ - Upgrading moves existing run history to the new layout by itself, and
60
+ Playwright moves to 1.62.
61
+
62
+ - The flat `.runs/<runId>/` history is migrated on the first run of the new
63
+ version. Default is to remove old runs (nobody asked to keep them);
64
+ `UNOTEST_RUNS_LEGACY=keep` re-files them into date shards instead. The
65
+ completion marker is written last, so an interrupted or failed move is
66
+ retried on the next start rather than silently marked done.
67
+ - New command `unotest-web runs migrate [--dry-run]` — the same migration,
68
+ runnable FIRST, with a report-only mode. A migration nobody can look at
69
+ before it happens is one that runs unannounced on someone else's machine.
70
+ - `playwright` moves to `^1.62.0` in `@unotest/web` and `@unotest/viewer`.
71
+ Run `npx playwright install` once after upgrading if your browser cache
72
+ predates it.
73
+ - Frame capture is now format-parameterised internally, still PNG. WebP was
74
+ measured and rejected: Chromium's lossless `type: "webp"` is pixel-exact
75
+ but 1.5× LARGER than PNG on real frames (3.17 MB vs 2.04 MB on one suite).
76
+ - Fix: the viewer served step screenshots as 403 after the layout change —
77
+ its asset allow-list still expected the flat layout. The route now has
78
+ tests.
79
+
3
80
  ## [0.18.0] - 2026-08-23
4
81
 
5
82
  ### Minor Changes
@@ -158,6 +158,24 @@ if (existsSync(distPath)) {
158
158
  }
159
159
 
160
160
  const child = spawn(cmd, cmdArgs, { stdio: "inherit" });
161
+
162
+ // Pass termination on to the child. This dispatcher is a thin wrapper: kill
163
+ // IT and the real process — the viewer server, a running scenario — has to
164
+ // go too, or it is orphaned to init and keeps its port for the rest of the
165
+ // day. Ctrl-C in a terminal hid the bug (the signal goes to the whole
166
+ // foreground group, so both died); every programmatic
167
+ // `child.kill("SIGTERM")` leaked one viewer per call, which is how a
168
+ // machine ended up with thirty of them and every release run failed its own
169
+ // viewer precondition.
170
+ //
171
+ // The child's own `exit` handler below still decides this process's exit
172
+ // code — we only forward and wait.
173
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
174
+ process.on(sig, () => {
175
+ if (child.exitCode === null && child.signalCode === null) child.kill(sig);
176
+ });
177
+ }
178
+
161
179
  // Surface spawn failures explicitly — empty stderr on a silent exit makes
162
180
  // debugging miserable for consumers. Reviewers hit this in a prior round.
163
181
  child.on("error", (err) => {
@@ -1 +1 @@
1
- function _0x439a(_0x5d0797,_0xebc588){_0x5d0797=_0x5d0797-0x1ef;var _0x20af53=_0x20af();var _0x439a5c=_0x20af53[_0x5d0797];if(_0x439a['bPfXEB']===undefined){var _0x20b772=function(_0x4caff7){var _0xb5e016='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x58df6d='',_0x271f3c='';for(var _0x5605f4=0x0,_0xff243,_0x12b7a5,_0x12b7f2=0x0;_0x12b7a5=_0x4caff7['charAt'](_0x12b7f2++);~_0x12b7a5&&(_0xff243=_0x5605f4%0x4?_0xff243*0x40+_0x12b7a5:_0x12b7a5,_0x5605f4++%0x4)?_0x58df6d+=String['fromCharCode'](0xff&_0xff243>>(-0x2*_0x5605f4&0x6)):0x0){_0x12b7a5=_0xb5e016['indexOf'](_0x12b7a5);}for(var _0x4a2f79=0x0,_0x2b1f10=_0x58df6d['length'];_0x4a2f79<_0x2b1f10;_0x4a2f79++){_0x271f3c+='%'+('00'+_0x58df6d['charCodeAt'](_0x4a2f79)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x271f3c);};_0x439a['YNwgsS']=_0x20b772,_0x439a['rYluct']={},_0x439a['bPfXEB']=!![];}var _0x23a33f=_0x20af53[0x0],_0xdde0b2=_0x5d0797+_0x23a33f,_0x53eee6=_0x439a['rYluct'][_0xdde0b2];return!_0x53eee6?(_0x439a5c=_0x439a['YNwgsS'](_0x439a5c),_0x439a['rYluct'][_0xdde0b2]=_0x439a5c):_0x439a5c=_0x53eee6,_0x439a5c;}var _0x4ba6ed=_0x439a;function _0x20af(){var _0x50cda3=['zgvMyxvSDa','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','Cg9ZAxrPDMu','B2zM','BgLUDdPKzwvWlwnZCW','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','mJG1mtHnr2D2Bhe','ndu2mZa2ogXrq05Hsa','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','BxnLzgDL','y2HYB21PDw0','BwLU','zw51Bq','BgLUDdPZy2vUyxjPBY1PBI1YB290','BwfUDwfS','Bwf4','C3rYAw5N','BgLUDdPNB3rVlwnVBMnHDa','lNvUB3rLC3qVzMfPBhvYzxm','mZm3mZeZqKvjthPQ','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','DxjS','DMfSAwrHDg9YoNn0zxaTC2HHCgu','B2jQzwn0','DMfSAwrHDg9YoM1LDgeTC2HHCgu','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','DMfSAwrHDg9YoMLMlxnOyxbL','zMLYzwzVEa','yM9VBgvHBG','y2HYB21L','DMfSAwrHDg9YoMXPC3qTyxjN','BMv0D29YAW','DMfSAwrHDg9YoNzHCI1ZAgfWzq','BgL0zxjHBa','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','y3jHC2G','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','zgLZBwLZCW','BgLUDdPLy2HVlwfZC2vYDa','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','BNvTyMvY','DMfSAwrHDg9YoMfYzY1RAw5K','DhjHBNnPzw50','D2vIA2L0','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','BgLUDdPYzwDLEc1PBNzHBgLK','B3b0Aw9UywW','BgLUDdPWyxvZzs1LEhbSAwnPDa','mJi3ndu4mdHXqKL1thC','C3rKAw8','nZmWmZqXnwPdqvzvCq','BNvSBa','BgLUDdPTDxn0ywnOzs1PBI1KC2W','BgLUDdP4Cgf0Aa','CMvJB3jK','yxjYyxK','mZaXodK0mhvXsxHtBG','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','Aw50','D2fYBG','zxjYB3i','ntuXntyXngfiChbvCW','DMfSAwrHDg9YoMzVCI1ZAgfWzq','mtiWmgLKz0rVsq','ywnJzxb0'];_0x20af=function(){return _0x50cda3;};return _0x20af();}(function(_0x51f801,_0xa7d92b){var _0x31bb77={_0x58b0b4:0x1f9,_0x148ffb:0x1fe,_0x277a77:0x200,_0x3b8be4:0x208,_0x1a67da:0x1f3},_0x3b0f32=_0x439a,_0x4f00d2=_0x51f801();while(!![]){try{var _0x571e89=-parseInt(_0x3b0f32(0x215))/0x1+parseInt(_0x3b0f32(_0x31bb77._0x58b0b4))/0x2+-parseInt(_0x3b0f32(_0x31bb77._0x148ffb))/0x3+-parseInt(_0x3b0f32(0x209))/0x4+parseInt(_0x3b0f32(_0x31bb77._0x277a77))/0x5*(-parseInt(_0x3b0f32(_0x31bb77._0x3b8be4))/0x6)+parseInt(_0x3b0f32(_0x31bb77._0x1a67da))/0x7+parseInt(_0x3b0f32(0x1f1))/0x8;if(_0x571e89===_0xa7d92b)break;else _0x4f00d2['push'](_0x4f00d2['shift']());}catch(_0x3292c9){_0x4f00d2['push'](_0x4f00d2['shift']());}}}(_0x20af,0xe52cf));import{z}from'zod';var BrowserSchema=z[_0x4ba6ed(0x20e)]([_0x4ba6ed(0x20c),_0x4ba6ed(0x21e),_0x4ba6ed(0x22e)]),BrowserChannelSchema=z['union']([z[_0x4ba6ed(0x224)](_0x4ba6ed(0x220)),z[_0x4ba6ed(0x224)](_0x4ba6ed(0x20b)),z['literal']('chrome-beta'),z[_0x4ba6ed(0x1f4)]()])[_0x4ba6ed(0x1ef)](),ViewportSchema=z[_0x4ba6ed(0x21a)]({'width':z['number']()[_0x4ba6ed(0x1fb)]()[_0x4ba6ed(0x204)](),'height':z['number']()[_0x4ba6ed(0x1fb)]()['positive']()}),RetryReasonSchema=z['enum']([_0x4ba6ed(0x22d),_0x4ba6ed(0x222),_0x4ba6ed(0x226)]),RetryConfigSchema=z['object']({'count':z['number']()[_0x4ba6ed(0x1fb)]()['min'](0x0)[_0x4ba6ed(0x211)](0xa),'on':z[_0x4ba6ed(0x1f8)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x4ba6ed(0x21a)]({'tier1':z['literal'](!![])[_0x4ba6ed(0x202)](!![]),'tier2':z[_0x4ba6ed(0x21f)](),'tier3':z[_0x4ba6ed(0x21a)]({'network':z['boolean'](),'video':z['boolean']()}),'retention':z[_0x4ba6ed(0x21a)]({'runs':z[_0x4ba6ed(0x22b)]()[_0x4ba6ed(0x1fb)]()[_0x4ba6ed(0x204)](),'days':z[_0x4ba6ed(0x22b)]()[_0x4ba6ed(0x1fb)]()[_0x4ba6ed(0x204)]()}),'storageDir':z[_0x4ba6ed(0x212)]()[_0x4ba6ed(0x20d)](0x1)}),DialogPolicySchema=z['enum']([_0x4ba6ed(0x201),_0x4ba6ed(0x228),_0x4ba6ed(0x210)]),LinterRuleIdSchema=z[_0x4ba6ed(0x20e)]([_0x4ba6ed(0x206),_0x4ba6ed(0x1f6),'lint:obfuscated-class',_0x4ba6ed(0x1f0),_0x4ba6ed(0x203),_0x4ba6ed(0x20a),_0x4ba6ed(0x20f),_0x4ba6ed(0x1f5),_0x4ba6ed(0x213),_0x4ba6ed(0x230),_0x4ba6ed(0x229),_0x4ba6ed(0x217),_0x4ba6ed(0x216),'validator:unknown-function','validator:arity',_0x4ba6ed(0x22c),'validator:step-coverage',_0x4ba6ed(0x219),_0x4ba6ed(0x21b),_0x4ba6ed(0x22f),_0x4ba6ed(0x1ff),_0x4ba6ed(0x21d),_0x4ba6ed(0x223),_0x4ba6ed(0x1fa),_0x4ba6ed(0x21c),_0x4ba6ed(0x225),_0x4ba6ed(0x22a),_0x4ba6ed(0x221),_0x4ba6ed(0x227)]),LinterSeveritySchema=z[_0x4ba6ed(0x20e)](['off',_0x4ba6ed(0x1fc),_0x4ba6ed(0x1fd)]),LinterConfigSchema=z[_0x4ba6ed(0x21a)]({'enabled':z[_0x4ba6ed(0x21f)](),'rules':z[_0x4ba6ed(0x1f7)](LinterRuleIdSchema,LinterSeveritySchema)}),McpConfigSchema=z[_0x4ba6ed(0x21a)]({'transport':z['literal'](_0x4ba6ed(0x1f2))}),SandboxConfigSchema=z['object']({'shellCwd':z[_0x4ba6ed(0x212)]()['optional'](),'shellTimeoutMs':z[_0x4ba6ed(0x22b)]()['int']()[_0x4ba6ed(0x204)]()['optional'](),'exportSecrets':z[_0x4ba6ed(0x1f8)](z[_0x4ba6ed(0x212)]())[_0x4ba6ed(0x1ef)](),'database':z[_0x4ba6ed(0x212)]()['optional'](),'apiBaseUrl':z[_0x4ba6ed(0x212)]()[_0x4ba6ed(0x218)]()[_0x4ba6ed(0x1ef)](),'uploadDir':z[_0x4ba6ed(0x212)]()[_0x4ba6ed(0x1ef)]()}),WebServerConfigSchema=z[_0x4ba6ed(0x21a)]({'command':z[_0x4ba6ed(0x212)]()[_0x4ba6ed(0x20d)](0x1),'url':z[_0x4ba6ed(0x212)]()['url'](),'reuseExistingServer':z[_0x4ba6ed(0x21f)]()[_0x4ba6ed(0x202)](!![]),'timeoutMs':z[_0x4ba6ed(0x22b)]()[_0x4ba6ed(0x1fb)]()[_0x4ba6ed(0x204)]()['default'](0xea60)}),UnotestConfigSchema=z[_0x4ba6ed(0x21a)]({'baseUrl':z[_0x4ba6ed(0x212)]()[_0x4ba6ed(0x218)]()['optional'](),'webServer':WebServerConfigSchema[_0x4ba6ed(0x1ef)](),'browsers':z[_0x4ba6ed(0x1f8)](BrowserSchema)[_0x4ba6ed(0x20d)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x4ba6ed(0x212)]()['optional'](),'testDir':z[_0x4ba6ed(0x212)]()[_0x4ba6ed(0x20d)](0x1),'helpersDir':z['string']()[_0x4ba6ed(0x20d)](0x1),'defaultTimeoutMs':z[_0x4ba6ed(0x22b)]()[_0x4ba6ed(0x1fb)]()['positive'](),'defaultNavigationTimeoutMs':z[_0x4ba6ed(0x22b)]()[_0x4ba6ed(0x1fb)]()[_0x4ba6ed(0x204)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x4ba6ed(0x20c)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':['transient']},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x4ba6ed(0x214)},'dialogPolicy':_0x4ba6ed(0x201),'testDir':'unotest/e2e','helpersDir':_0x4ba6ed(0x207),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x4ba6ed(0x1fc),'lint:xpath':_0x4ba6ed(0x1fc),'lint:obfuscated-class':_0x4ba6ed(0x1fc),'lint:pause-explicit':_0x4ba6ed(0x1fc),'lint:disambig-by-index':_0x4ba6ed(0x205),'lint:evaluate-discouraged':_0x4ba6ed(0x1fc),'lint:scenario-in-root':_0x4ba6ed(0x1fd),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x4ba6ed(0x1fc),'lint:regex-invalid':_0x4ba6ed(0x1fd),'lint:echo-assert':_0x4ba6ed(0x1fc),'lint:lint-ok-missing-reason':'warn','validator:unknown-function':'error'}},'mcp':{'transport':_0x4ba6ed(0x1f2)},'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
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,5 +1,5 @@
1
- import { E as ElementHint, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext } from '../interfaces-elRn0llQ.js';
2
- export { A as ActionTimeout, a as CheckOptions, b as ClickOptions, c as CookieOptions, d as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, e as NavigationOptions, P as PressOptions, R as ReloadOptions, S as ScreenshotOptions, f as SelectOptions, V as Viewport, g as WaitOptions, h as WaitState } from '../interfaces-elRn0llQ.js';
1
+ import { E as ElementHint, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext } from '../interfaces-B-FxA_qn.js';
2
+ export { A as ActionTimeout, a as CheckOptions, b as ClickOptions, c as CookieOptions, d as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, e as NavigationOptions, P as PressOptions, R as ReloadOptions, S as ScreenshotOptions, f as SelectOptions, V as Viewport, g as WaitOptions, h as WaitState } from '../interfaces-B-FxA_qn.js';
3
3
  import '@unotest/protocol';
4
4
  import '../config/schema.js';
5
5
  import 'zod';
@@ -1 +1 @@
1
- const _0x5ef1c7=_0x1ac4;(function(_0x1f6861,_0xad6a1f){const _0x2ba2c2={_0x492d7c:0x118,_0x553607:0x126,_0x18137f:0x14c,_0x5a0f45:0xe9,_0x35fee2:0x143},_0x50a7d7=_0x1ac4,_0x2510a7=_0x1f6861();while(!![]){try{const _0x36e2e7=-parseInt(_0x50a7d7(_0x2ba2c2._0x492d7c))/0x1*(-parseInt(_0x50a7d7(0xff))/0x2)+-parseInt(_0x50a7d7(_0x2ba2c2._0x553607))/0x3+-parseInt(_0x50a7d7(_0x2ba2c2._0x18137f))/0x4*(-parseInt(_0x50a7d7(0x12b))/0x5)+-parseInt(_0x50a7d7(_0x2ba2c2._0x5a0f45))/0x6+parseInt(_0x50a7d7(_0x2ba2c2._0x35fee2))/0x7+parseInt(_0x50a7d7(0x108))/0x8+parseInt(_0x50a7d7(0x120))/0x9;if(_0x36e2e7===_0xad6a1f)break;else _0x2510a7['push'](_0x2510a7['shift']());}catch(_0x13ec8f){_0x2510a7['push'](_0x2510a7['shift']());}}}(_0x36db,0x9c9fc));var __defProp=Object['defineProperty'],__name=(_0x2d1598,_0x5836a5)=>__defProp(_0x2d1598,_0x5ef1c7(0xe4),{'value':_0x5836a5,'configurable':!![]});function subscribe(_0x4264db,_0x315307){const _0x4ce769={_0x216136:0x12e},_0x309d2f=_0x5ef1c7;return _0x4264db[_0x309d2f(0x117)](_0x315307),()=>{const _0x3cafe2=_0x309d2f;_0x4264db[_0x3cafe2(_0x4ce769._0x216136)](_0x315307);};}__name(subscribe,'subscribe');import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,'DriverError');}},LocatorError=class extends UnotestError{static{__name(this,'LocatorError');}};function _0x1ac4(_0x1d7119,_0x52c572){_0x1d7119=_0x1d7119-0xdd;const _0x36dbdf=_0x36db();let _0x1ac44c=_0x36dbdf[_0x1d7119];if(_0x1ac4['PyNIkS']===undefined){var _0x4168aa=function(_0x41d436){const _0x496872='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d1598='',_0x5836a5='';for(let _0x4264db=0x0,_0x315307,_0x1e7c1a,_0x4e2e01=0x0;_0x1e7c1a=_0x41d436['charAt'](_0x4e2e01++);~_0x1e7c1a&&(_0x315307=_0x4264db%0x4?_0x315307*0x40+_0x1e7c1a:_0x1e7c1a,_0x4264db++%0x4)?_0x2d1598+=String['fromCharCode'](0xff&_0x315307>>(-0x2*_0x4264db&0x6)):0x0){_0x1e7c1a=_0x496872['indexOf'](_0x1e7c1a);}for(let _0x29d321=0x0,_0x43bba1=_0x2d1598['length'];_0x29d321<_0x43bba1;_0x29d321++){_0x5836a5+='%'+('00'+_0x2d1598['charCodeAt'](_0x29d321)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5836a5);};_0x1ac4['hTBAeO']=_0x4168aa,_0x1ac4['MggviT']={},_0x1ac4['PyNIkS']=!![];}const _0x318aac=_0x36dbdf[0x0],_0x13316a=_0x1d7119+_0x318aac,_0x3b8c52=_0x1ac4['MggviT'][_0x13316a];return!_0x3b8c52?(_0x1ac44c=_0x1ac4['hTBAeO'](_0x1ac44c),_0x1ac4['MggviT'][_0x13316a]=_0x1ac44c):_0x1ac44c=_0x3b8c52,_0x1ac44c;}function createRecorder(){const _0x3eb109=_0x5ef1c7,_0x1e7c1a=[];let _0x4e2e01=0x0;return{'push':__name(_0x29d321=>_0x1e7c1a['push']({..._0x29d321,'seq':_0x4e2e01++}),_0x3eb109(0x14b)),'calls':__name(()=>_0x1e7c1a,'calls')};}__name(createRecorder,_0x5ef1c7(0x124));function _0x36db(){const _0x135e97=['pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','ntiXnJuYoef2wLbdEG','rMfRzunVBNrLEhq','zxHPDezYyw1L','AxneAxnHyMXLzej5rgvMyxvSDa','Aw5PDgLHBfvYBa','yMvOyxzPB3i','ywn0AxzLugfNzq','Cg9W','D2fPDezVCG','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','Bwf5yMvuAhjVDW','BgvUz3rO','BMv0D29YA0vUDhjPzxm','lNbHz2uW','zg91yMXLq2XPy2S','ywrK','ndmXotq4sgzRy3Dg','y29UBMvJDfnOyxjLza','C2nVCgu','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','y291BNq','DxbSB2fKrMLSzq','C2nYzwvUC2HVDa','Bgf1BMnO','mtaYmZC1mhHQzhDjrG','y2XVC2u','Cg9WDxbpBKnSAwnR','zNjHBwvtDgfJAW','y3jLyxrLuMvJB3jKzxi','Ag92zxi','mZGYode0nfvSr1jMDW','yxr0ywnOrxHPC3rPBMC','z2v0tg9JywXtDg9YywDL','zMfRzs1WBMC','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','nwfftu5dDW','zxzHBhvHDgvpBKXVy2f0B3i','DgL0Bgu','zgvSzxrL','Dgv4DenVBNrLBNq','Dw5JAgvJAW','zMfRzsb0AxrSzq','Aw5ZCgvJDevSzw1LBNq','yxr0CMLIDxrLC0j5rgvMyxvSDa','B25ozxDqywDL','iJ48l2rPDJ4','y29VA2LLCW','D2fPDezVCLrLEhq','y2HLy2S','y2XVC2vgywTLugfNzq','zhjHz0fUzerYB3a','y29VA2LLu3rHDgu','CMvJB3jKzxi','zMLSDgvY','BMv3q29UDgv4Da','zw1PDezHA2vqB3b1Ca','y29UC29SzuvUDhjPzxm','Aw5WDxrwywX1zuj5rgvMyxvSDa','Bgf1BMnOzwq','odq5odu5nvLsu05TEG','zNjVBq','ChjLC3m','zMLSBa','z29gB3j3yxjK','C2v0tg9JywXtDg9YywDL','y2HLy2TLzfn0yxrL','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','ChvZAa','mJKWntiYohPjyuHhDG','C2v0q29VA2LL','C2v0qwn0AxzLugfNzq','C3bSAwnL','BMv3ugfNzuXPC3rLBMvYCW','zwXLBwvUDeHPBNrcEvjLzG','CMvM','z2v0qxr0CMLIDxrL','B3v0zxjive1m','CMvJB3jK','BMfTzq','B25bzNrLCKnSAwnR','AxneAxnHyMXLza','D2fPDezVCLvYBa','zxjYB3jpBK5LEhrby3rPB24','nZmYmZq1nNzTDxbfyq','D2fPDezVCKXVywrtDgf0zq','B3v0zxjiDg1SqNLszwy','Bg9JywXtDg9YywDL','zhjPDMvY','Aw5WDxrwywX1zq','C2nYB2XSsw50B1zPzxC','CMvSB2fK','zxzHBhvHDgu','y29UDgv4Dhm','y2fSBhngB3i','y291BNrcEurLzMf1Bhq','z29cywnR','y3vYCMvUDfvYBa','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','C3rLChm','y2XPCgjVyxjKugfZDgu','Bg9JywXtDg9YywDLu3rHDgu','AxnwAxnPyMXL','zw50zxjgCMfTzq','A2LUza','Dgv4DenVBNrLBNrcEurLzMf1Bhq','mMDnuxrYtq','D2fPDezVCK5HDMLNyxrPB24','C2f2zvn0B3jHz2vtDgf0zq','CgfNzuXPC3q','y2XPy2S','y2fSBhm','ywn0AxzLswr4'];_0x36db=function(){return _0x135e97;};return _0x36db();}var FakePage=class{constructor(_0x43bba1,_0x594be1,_0xe33cc6,_0x2c237a){const _0x33a24e={_0x526321:0x13c,_0x2d6c79:0xf6},_0x323948=_0x5ef1c7;this[_0x323948(_0x33a24e._0x526321)]=_0x43bba1,this[_0x323948(0x10d)]=_0x594be1,this[_0x323948(0x11a)]=_0xe33cc6,this[_0x323948(_0x33a24e._0x2d6c79)]=_0x2c237a;}[_0x5ef1c7(0x13c)];['behavior'];[_0x5ef1c7(0x11a)];static{__name(this,'FakePage');}[_0x5ef1c7(0xf6)];['onAfterClick'];[_0x5ef1c7(0xe3)](_0x46729c,_0x1a9069){const _0x55f825={_0x91d446:0x13c},_0x4477de=_0x5ef1c7;this[_0x4477de(_0x55f825._0x91d446)]['push']({'scope':this[_0x4477de(0x11a)],'method':_0x46729c,'args':_0x1a9069});}['maybeThrow'](){const _0x1c3b08={_0x25302c:0xe8,_0x251154:0xe8},_0x436676=_0x5ef1c7;if(this['behavior'][_0x436676(_0x1c3b08._0x25302c)]){const _0xee8aec=this['behavior'][_0x436676(_0x1c3b08._0x251154)];this[_0x436676(0x10d)]['errorOnNextAction']=void 0x0;throw _0xee8aec;}}['url'](){const _0x485a1f=_0x5ef1c7;return this[_0x485a1f(0xf6)];}async[_0x5ef1c7(0x12d)](){const _0x46f617={_0x15d862:0xe3,_0x55afb6:0x12d,_0x4af636:0x131},_0x34713f=_0x5ef1c7;return this[_0x34713f(_0x46f617._0x15d862)](_0x34713f(_0x46f617._0x55afb6),[]),_0x34713f(_0x46f617._0x4af636);}async[_0x5ef1c7(0x103)](_0x1f2c00,_0x37a49f){const _0x40b7a6={_0x3d1535:0xe5},_0x54129e=_0x5ef1c7;this['record']('click',[_0x1f2c00,_0x37a49f]),this['maybeThrow'](),this[_0x54129e(_0x40b7a6._0x3d1535)]?.();}async[_0x5ef1c7(0x116)](_0x26a52b,_0x226ff1){const _0x4f3892={_0xf2609:0xe3,_0x59cde5:0x116,_0x30c667:0x112},_0x4f9ee9=_0x5ef1c7;this[_0x4f9ee9(_0x4f3892._0xf2609)](_0x4f9ee9(_0x4f3892._0x59cde5),[_0x26a52b,_0x226ff1]),this[_0x4f9ee9(_0x4f3892._0x30c667)]();}async[_0x5ef1c7(0x146)](_0x3e8889,_0x52dc52,_0xcc1de4){const _0x5b4548=_0x5ef1c7;this[_0x5b4548(0xe3)](_0x5b4548(0x146),[_0x3e8889,_0x52dc52,_0xcc1de4]),this['maybeThrow']();}async[_0x5ef1c7(0x145)](_0x1befc7,_0x20a8e3,_0x4d0c9c){const _0x1ad9f9={_0x2c08dd:0xe3},_0x5049c6=_0x5ef1c7;this[_0x5049c6(_0x1ad9f9._0x2c08dd)]('press',[_0x1befc7,_0x20a8e3,_0x4d0c9c]),this[_0x5049c6(0x112)]();}async['check'](_0x310605,_0x519315){const _0x3147da={_0x4b4aa9:0xe3,_0x783ea:0x112},_0x2e3f39=_0x5ef1c7;this[_0x2e3f39(_0x3147da._0x4b4aa9)](_0x2e3f39(0x138),[_0x310605,_0x519315]),this[_0x2e3f39(_0x3147da._0x783ea)]();}async[_0x5ef1c7(0x130)](_0x3ccfc6,_0x101805){const _0x3f1a55={_0x1c87ac:0x130,_0xfb21c9:0x112},_0x245ac0=_0x5ef1c7;this['record'](_0x245ac0(_0x3f1a55._0x1c87ac),[_0x3ccfc6,_0x101805]),this[_0x245ac0(_0x3f1a55._0xfb21c9)]();}async['selectOption'](_0x3d7214,_0x16125b,_0x3f3f5f){const _0x5925cd={_0x17d73c:0xe3},_0x465797=_0x5ef1c7;this[_0x465797(_0x5925cd._0x17d73c)]('selectOption',[_0x3d7214,_0x16125b,_0x3f3f5f]),this[_0x465797(0x112)]();}async['hover'](_0x21e559,_0x345e31){const _0x160ab0={_0x522168:0x112},_0x216bec=_0x5ef1c7;this[_0x216bec(0xe3)](_0x216bec(0x125),[_0x21e559,_0x345e31]),this[_0x216bec(_0x160ab0._0x522168)]();}async[_0x5ef1c7(0xef)](_0x3bf220){const _0x51c3ff=_0x5ef1c7;this[_0x51c3ff(0xe3)](_0x51c3ff(0xef),[_0x3bf220]),this[_0x51c3ff(0x112)]();}async['dragAndDrop'](_0x11bb4b,_0x21469d,_0x41999d){const _0x2befbd=_0x5ef1c7;this[_0x2befbd(0xe3)](_0x2befbd(0x13a),[_0x11bb4b,_0x21469d,_0x41999d]),this['maybeThrow']();}async[_0x5ef1c7(0x11d)](_0x5c2a93,_0x2d42aa){const _0x247504={_0x11cc8e:0x11d},_0x13eec6=_0x5ef1c7;this[_0x13eec6(0xe3)](_0x13eec6(_0x247504._0x11cc8e),[_0x5c2a93,_0x2d42aa]),this[_0x13eec6(0x112)]();}async[_0x5ef1c7(0xf9)](_0x50714d,_0x5d8db9){const _0xc83465={_0x4f3db9:0xe3,_0x7a1009:0xf9,_0x5206b9:0x112},_0x3d9f4f=_0x5ef1c7;this[_0x3d9f4f(_0xc83465._0x4f3db9)](_0x3d9f4f(_0xc83465._0x7a1009),[_0x50714d,_0x5d8db9]),this[_0x3d9f4f(_0xc83465._0x5206b9)]();}async[_0x5ef1c7(0x11c)](_0x20aeae){const _0x1e037b={_0x3bf0cc:0x10d},_0x1cba4f=_0x5ef1c7;return this[_0x1cba4f(0xe3)]('count',[_0x20aeae]),this[_0x1cba4f(_0x1e037b._0x3bf0cc)][_0x1cba4f(0xf4)]??0x1;}async[_0x5ef1c7(0x12f)](_0x487b93){const _0x406a5f={_0xd0a36d:0xe3,_0x55395f:0x12f,_0x135f22:0x10d,_0x3a532b:0xfe},_0x311b0e=_0x5ef1c7;return this[_0x311b0e(_0x406a5f._0xd0a36d)](_0x311b0e(_0x406a5f._0x55395f),[_0x487b93]),this[_0x311b0e(_0x406a5f._0x135f22)][_0x311b0e(_0x406a5f._0x3a532b)]??'';}async['inputValue'](_0xb7c8e2){const _0x5a5e64={_0x485e06:0x141},_0x56ddcf=_0x5ef1c7;return this['record'](_0x56ddcf(0xee),[_0xb7c8e2]),this[_0x56ddcf(0x10d)][_0x56ddcf(_0x5a5e64._0x485e06)]??'';}async['checkedState'](_0x1cf53b){const _0x5bb36e={_0x44348d:0xe3,_0x2d2450:0x10d},_0x16eba3=_0x5ef1c7;return this[_0x16eba3(_0x5bb36e._0x44348d)](_0x16eba3(0x149),[_0x1cf53b]),this[_0x16eba3(_0x5bb36e._0x2d2450)]['checkedStateByDefault']??null;}async[_0x5ef1c7(0xfb)](_0x94843c){const _0x483388={_0x21f7db:0xfb},_0xbf9dbb=_0x5ef1c7;return this['record'](_0xbf9dbb(_0x483388._0x21f7db),[_0x94843c]),this[_0xbf9dbb(0x10d)]['isVisibleByDefault']??!![];}async[_0x5ef1c7(0xe6)](_0x186573){const _0x2ddea0={_0x27149f:0xe3,_0x2830a5:0xe6,_0x52fc5f:0x10d},_0x37bc01=_0x5ef1c7;return this[_0x37bc01(_0x2ddea0._0x27149f)](_0x37bc01(_0x2ddea0._0x2830a5),[_0x186573]),this[_0x37bc01(_0x2ddea0._0x52fc5f)][_0x37bc01(0x10b)]??![];}async[_0x5ef1c7(0xe1)](_0x42779d,_0x5781f9){const _0x197834={_0x3d60af:0xe1,_0x106a8a:0x10d},_0x23ab12=_0x5ef1c7;return this[_0x23ab12(0xe3)](_0x23ab12(_0x197834._0x3d60af),[_0x42779d,_0x5781f9]),this[_0x23ab12(_0x197834._0x106a8a)][_0x23ab12(0x133)]?.[_0x5781f9]??null;}async[_0x5ef1c7(0x110)](_0x32dd18,_0x1bba1e){const _0x2b9900={_0x2ce504:0xe3},_0x22752e=_0x5ef1c7;this[_0x22752e(_0x2b9900._0x2ce504)](_0x22752e(0x110),[_0x32dd18,_0x1bba1e]);}async[_0x5ef1c7(0xe7)](_0x41d282,_0x590dc9){const _0x496235={_0x3a3dd0:0xe3},_0x1e1825=_0x5ef1c7;this[_0x1e1825(_0x496235._0x3a3dd0)]('waitForUrl',[_0x41d282,_0x590dc9]);}async[_0x5ef1c7(0x137)](_0x4da993,_0x2678e2){const _0xb09860=_0x5ef1c7;this[_0xb09860(0xe3)](_0xb09860(0x137),[_0x4da993,_0x2678e2]);}async[_0x5ef1c7(0x100)](_0x49d674){const _0x5827f3={_0x962182:0xe3},_0x32e1d9=_0x5ef1c7;this[_0x32e1d9(_0x5827f3._0x962182)]('waitForNavigation',[_0x49d674]);}async[_0x5ef1c7(0xea)](_0x36598d,_0x298812){this['record']('waitForLoadState',[_0x36598d,_0x298812]);}async['goto'](_0x3cbe60,_0x576c11){const _0x48ade7={_0x18eded:0xe3,_0x418dd6:0xf6},_0xc3a05b=_0x5ef1c7;this[_0xc3a05b(_0x48ade7._0x18eded)]('goto',[_0x3cbe60,_0x576c11]),this[_0xc3a05b(_0x48ade7._0x418dd6)]=_0x3cbe60;}async[_0x5ef1c7(0xf0)](_0x2fff9c){this['record']('reload',[_0x2fff9c]);}async[_0x5ef1c7(0xf5)](_0x23855c){const _0x1a06c3={_0x5cb215:0xf5},_0x3289c1=_0x5ef1c7;this[_0x3289c1(0xe3)](_0x3289c1(_0x1a06c3._0x5cb215),[_0x23855c]);}async[_0x5ef1c7(0x147)](_0x430d84){const _0x5123d7={_0x575493:0xe3},_0x2f5b70=_0x5ef1c7;this[_0x2f5b70(_0x5123d7._0x575493)](_0x2f5b70(0x147),[_0x430d84]);}async[_0x5ef1c7(0xf1)](_0x406d15){const _0xc58b4={_0x4e2e72:0xe3},_0x242c7c=_0x5ef1c7;return this[_0x242c7c(_0xc58b4._0x4e2e72)](_0x242c7c(0xf1),[_0x406d15]),void 0x0;}async[_0x5ef1c7(0x12c)](_0x5c9064,_0x2368dd){const _0x2bf7f8={_0x2d7dac:0x12c},_0x14f01f=_0x5ef1c7;return this[_0x14f01f(0xe3)](_0x14f01f(_0x2bf7f8._0x2d7dac),[_0x5c9064,_0x2368dd]),void 0x0;}async[_0x5ef1c7(0x132)](_0x2a8087){const _0x330cde={_0x381869:0xf8,_0x41358a:0xe0},_0x1c6f58=_0x5ef1c7;this['record'](_0x1c6f58(0x132),[_0x2a8087]);if(_0x2a8087['steps']['length']!==0x1||_0x2a8087[_0x1c6f58(0xf8)][0x0][_0x1c6f58(0xfd)]!==_0x1c6f58(0xe0))return null;const _0x4dad57=_0x2a8087[_0x1c6f58(_0x330cde._0x381869)][0x0][_0x1c6f58(_0x330cde._0x41358a)],_0x57371a=this[_0x1c6f58(0x10d)][_0x1c6f58(0xdf)]?.[_0x4dad57];return _0x57371a??null;}async[_0x5ef1c7(0x11e)](_0x368b26){const _0x4e4ba3={_0x5793a8:0x129},_0x3e6665=_0x5ef1c7;return this[_0x3e6665(0xe3)]('screenshot',[_0x368b26]),Buffer[_0x3e6665(0x144)](_0x3e6665(_0x4e4ba3._0x5793a8));}async['outerHTML'](_0x75ead){const _0x282862={_0x3b1f60:0xe2,_0x313da7:0xe0,_0x490b4c:0x10d,_0x54e874:0x106},_0x3ecc13=_0x5ef1c7;this['record'](_0x3ecc13(_0x282862._0x3b1f60),[_0x75ead]);if(_0x75ead['steps']['length']===0x1&&_0x75ead[_0x3ecc13(0xf8)][0x0]['kind']===_0x3ecc13(_0x282862._0x313da7)){const _0x1a3f2f=_0x75ead['steps'][0x0]['ref'];return this[_0x3ecc13(_0x282862._0x490b4c)][_0x3ecc13(0xeb)]?.[_0x1a3f2f]??_0x3ecc13(_0x282862._0x54e874)+_0x1a3f2f+_0x3ecc13(0x135);}return'<div></div>';}},FakeContext=class{constructor(_0x519843,_0x5f5ded,_0x32f37a){const _0x585be4={_0x1a8cdc:0x13c,_0xb35ed8:0x11a,_0x44b365:0x10c,_0x5d95d8:0xe5,_0x220a57:0x102,_0x2c0078:0xec,_0x20ebb6:0x136},_0x5bb59f=_0x5ef1c7;this[_0x5bb59f(_0x585be4._0x1a8cdc)]=_0x519843,this['behavior']=_0x5f5ded,this[_0x5bb59f(_0x585be4._0xb35ed8)]=_0x32f37a;const _0x4efe5a=new FakePage(_0x519843,_0x5f5ded,_0x32f37a+_0x5bb59f(0x115),_0x5f5ded[_0x5bb59f(_0x585be4._0x44b365)]??'about:blank');_0x5f5ded[_0x5bb59f(0x122)]&&(_0x4efe5a[_0x5bb59f(_0x585be4._0x5d95d8)]=()=>{const _0x11ebd2=_0x5bb59f;this[_0x11ebd2(0x13f)](_0x5f5ded['popupOnClick']);}),this[_0x5bb59f(_0x585be4._0x220a57)]=[_0x4efe5a],this['localStorageState']={..._0x5f5ded[_0x5bb59f(_0x585be4._0x2c0078)]??{}},this[_0x5bb59f(0x13b)]={..._0x5f5ded[_0x5bb59f(_0x585be4._0x20ebb6)]??{}};}[_0x5ef1c7(0x13c)];[_0x5ef1c7(0x10d)];[_0x5ef1c7(0x11a)];static{__name(this,_0x5ef1c7(0x109));}[_0x5ef1c7(0x102)];['activeIdx']=0x0;[_0x5ef1c7(0x123)]=[];[_0x5ef1c7(0xfa)];['cookieState'];['newPageListeners']=new Set();[_0x5ef1c7(0xe3)](_0x3a9149,_0x4d2dcd){const _0x3f2886={_0x1b4e86:0x13c},_0x45b326=_0x5ef1c7;this[_0x45b326(_0x3f2886._0x1b4e86)][_0x45b326(0x14b)]({'scope':this[_0x45b326(0x11a)],'method':_0x3a9149,'args':_0x4d2dcd});}['pages'](){return this['pageList'];}[_0x5ef1c7(0x10e)](){const _0x1638a5={_0x2b07ac:0x105,_0x4518de:0x12a},_0xb67fdc=_0x5ef1c7,_0x35d194=this['pageList'][this[_0xb67fdc(_0x1638a5._0x2b07ac)]];if(!_0x35d194)throw new DriverError(_0xb67fdc(_0x1638a5._0x4518de),{'activeIdx':this['activeIdx']});return _0x35d194;}[_0x5ef1c7(0x140)](){const _0x2feb37=_0x5ef1c7;return this[_0x2feb37(0x10d)][_0x2feb37(0x140)]??[];}['networkEntries'](){const _0x44675e={_0x36dfdb:0x10d},_0x5ef5cc=_0x5ef1c7;return this[_0x5ef5cc(_0x44675e._0x36dfdb)][_0x5ef5cc(0x114)]??[];}async[_0x5ef1c7(0x14e)](_0x1d32c7){const _0x2036fb={_0x2c5a7e:0xe3,_0x47fff7:0x107,_0xd059ed:0x105},_0xe72eea=_0x5ef1c7;this[_0xe72eea(_0x2036fb._0x2c5a7e)]('setActivePage',[_0x1d32c7]);if(_0x1d32c7<0x0||_0x1d32c7>=this['pageList'][_0xe72eea(0x113)])throw new DriverError(_0xe72eea(_0x2036fb._0x47fff7),{'index':_0x1d32c7,'available':this[_0xe72eea(0x102)][_0xe72eea(0x113)]});this[_0xe72eea(_0x2036fb._0xd059ed)]=_0x1d32c7,this[_0xe72eea(0x123)][_0xe72eea(0x113)]=0x0;}[_0x5ef1c7(0x134)](_0xce436c){return subscribe(this['newPageListeners'],_0xce436c);}['emitFakePopup'](_0x477c08){const _0x2c5e51={_0x4998a4:0x113},_0x38dd8a=_0x5ef1c7,_0x4892be=this[_0x38dd8a(0x11a)]+'.page'+this[_0x38dd8a(0x102)][_0x38dd8a(_0x2c5e51._0x4998a4)],_0x491edb=new FakePage(this[_0x38dd8a(0x13c)],this[_0x38dd8a(0x10d)],_0x4892be,_0x477c08);this['pageList']['push'](_0x491edb);const _0x3dfd6f=this['pageList']['length']-0x1;for(const _0x3cb892 of this[_0x38dd8a(0xde)]){try{_0x3cb892({'index':_0x3dfd6f,'url':_0x477c08});}catch{}}return _0x3dfd6f;}[_0x5ef1c7(0x139)](_0x9900f9){const _0x163128={_0xec899f:0x102,_0x41e713:0xdd},_0x4351c8=_0x5ef1c7;if(_0x9900f9<0x0||_0x9900f9>=this[_0x4351c8(_0x163128._0xec899f)]['length'])throw new DriverError(_0x4351c8(0x107),{'index':_0x9900f9,'available':this[_0x4351c8(_0x163128._0xec899f)]['length']});this['pageList'][_0x4351c8(_0x163128._0x41e713)](_0x9900f9,0x1);}async[_0x5ef1c7(0xfc)](_0x4aedf6){const _0x37e56d={_0x142166:0xf8,_0x57fcdd:0x123},_0x3cfdad=_0x5ef1c7;this[_0x3cfdad(0xe3)](_0x3cfdad(0xfc),[_0x4aedf6]);if(!_0x4aedf6[_0x3cfdad(_0x37e56d._0x142166)]['length'])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x4aedf6});this[_0x3cfdad(_0x37e56d._0x57fcdd)][_0x3cfdad(0x14b)](_0x4aedf6);}async[_0x5ef1c7(0x10a)](){const _0x5cd0ff={_0x5ad418:0xe3},_0x5da9db=_0x5ef1c7;this[_0x5da9db(_0x5cd0ff._0x5ad418)](_0x5da9db(0x10a),[]);if(this['frameStack'][_0x5da9db(0x113)]===0x0)throw new DriverError(_0x5da9db(0x11b),{});this['frameStack'][_0x5da9db(0x10f)]();}async[_0x5ef1c7(0x148)](_0x33eab4,_0x123c79){const _0x4198db={_0x609fe:0xfa},_0x2474cb=_0x5ef1c7;this[_0x2474cb(0xe3)]('setLocalStorage',[_0x33eab4,_0x123c79]),this[_0x2474cb(_0x4198db._0x609fe)][_0x33eab4]=_0x123c79;}async[_0x5ef1c7(0x128)](_0x5703a2){const _0xe1827b=_0x5ef1c7;return this['record'](_0xe1827b(0x128),[_0x5703a2]),this[_0xe1827b(0xfa)][_0x5703a2]??null;}async['setCookie'](_0x5b0a8b,_0x44fbe1,_0x54bf6a){const _0xb818a7=_0x5ef1c7;this['record'](_0xb818a7(0x14d),[_0x5b0a8b,_0x44fbe1,_0x54bf6a]),this[_0xb818a7(0x13b)][_0x5b0a8b]=_0x44fbe1;}async['getCookie'](_0x581a5f){const _0x4a72a7={_0x1b33cf:0xe3,_0x42828:0x13b},_0x457c71=_0x5ef1c7;return this[_0x457c71(_0x4a72a7._0x1b33cf)]('getCookie',[_0x581a5f]),this[_0x457c71(_0x4a72a7._0x42828)][_0x581a5f]??null;}async[_0x5ef1c7(0x101)](_0x4401cd){const _0x40ea34={_0x2b0bd2:0x101},_0x2cdc26=_0x5ef1c7;this['record'](_0x2cdc26(_0x40ea34._0x2b0bd2),[_0x4401cd]);}async[_0x5ef1c7(0xf1)](_0x204ce2){const _0x330b93=_0x5ef1c7;return this[_0x330b93(0xe3)]('evaluate',[_0x204ce2]),void 0x0;}async[_0x5ef1c7(0x121)](){const _0x416fcc={_0x38b05d:0xe3},_0xca9078=_0x5ef1c7;this[_0xca9078(_0x416fcc._0x38b05d)]('close',[]);}['frameDepth'](){const _0x61906a={_0x508c8c:0x123,_0x31c039:0x113},_0x240b08=_0x5ef1c7;return this[_0x240b08(_0x61906a._0x508c8c)][_0x240b08(_0x61906a._0x31c039)];}},FakeWebDriver=class{constructor(_0x2dcc75={}){const _0x470e60={_0x55f651:0x13c},_0x1f8aa3=_0x5ef1c7;this[_0x1f8aa3(0x10d)]=_0x2dcc75,this[_0x1f8aa3(_0x470e60._0x55f651)]=createRecorder();}[_0x5ef1c7(0x10d)];static{__name(this,'FakeWebDriver');}[_0x5ef1c7(0x142)]=![];['recorder'];['contexts']=[];async[_0x5ef1c7(0x11f)](_0x8010d9){const _0x76d9ad={_0x2aa92c:0x13c,_0x5e17ae:0xed,_0x3bfa32:0x11f,_0x8a3919:0x142},_0x59493a=_0x5ef1c7;this[_0x59493a(_0x76d9ad._0x2aa92c)]['push']({'scope':_0x59493a(_0x76d9ad._0x5e17ae),'method':_0x59493a(_0x76d9ad._0x3bfa32),'args':[_0x8010d9]}),this[_0x59493a(_0x76d9ad._0x8a3919)]=!![];}async['newContext'](_0x2f35dc){const _0x4d9074={_0x2aec05:0x14b,_0x2c7fee:0xed,_0xef406e:0x142,_0x491486:0x10d,_0x587707:0xf2,_0x12b2a5:0x14b},_0x4ab4f9=_0x5ef1c7;this[_0x4ab4f9(0x13c)][_0x4ab4f9(_0x4d9074._0x2aec05)]({'scope':_0x4ab4f9(_0x4d9074._0x2c7fee),'method':_0x4ab4f9(0x13e),'args':[_0x2f35dc]});if(!this[_0x4ab4f9(_0x4d9074._0xef406e)])throw new DriverError(_0x4ab4f9(0x111),{});const _0x47821c=new FakeContext(this['recorder'],this[_0x4ab4f9(_0x4d9074._0x491486)],'ctx'+this['contexts']['length']);return this[_0x4ab4f9(_0x4d9074._0x587707)][_0x4ab4f9(_0x4d9074._0x12b2a5)](_0x47821c),_0x47821c;}async['close'](){const _0x19d031={_0x209b2a:0x13c},_0x29b058=_0x5ef1c7;this[_0x29b058(_0x19d031._0x209b2a)][_0x29b058(0x14b)]({'scope':_0x29b058(0xed),'method':'close','args':[]}),this[_0x29b058(0x142)]=![];}['wsEndpoint'](){return void 0x0;}async[_0x5ef1c7(0x119)](){const _0x19c785={_0x15736e:0xf7},_0x3db724=_0x5ef1c7;throw new DriverError(_0x3db724(_0x19c785._0x15736e),{});}[_0x5ef1c7(0x127)](){const _0x53b4b7=_0x5ef1c7;throw new DriverError(_0x53b4b7(0x14a),{});}['calls'](){const _0x25ac56={_0x58efd0:0x13c},_0x2e1948=_0x5ef1c7;return this[_0x2e1948(_0x25ac56._0x58efd0)]['calls']();}[_0x5ef1c7(0xf3)](_0x5b3444){const _0x5cc665={_0x4ca5aa:0x13c,_0x2c4c4b:0x13d},_0x83bd23=_0x5ef1c7;return this[_0x83bd23(_0x5cc665._0x4ca5aa)][_0x83bd23(0x104)]()[_0x83bd23(_0x5cc665._0x2c4c4b)](_0x14dbff=>_0x14dbff['method']===_0x5b3444);}};export{FakeWebDriver};
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,5 +1,5 @@
1
- import { i as LocatorValue, W as WebDriver, D as DriverContext, d as DriverPage } from '../interfaces-elRn0llQ.js';
2
- export { j as LocatorStep, k as appendStep, l as describeLocator, m as isLocatorValue, r as rootedAt } from '../interfaces-elRn0llQ.js';
1
+ import { i as LocatorValue, W as WebDriver, D as DriverContext, d as DriverPage } from '../interfaces-B-FxA_qn.js';
2
+ export { j as LocatorStep, k as appendStep, l as describeLocator, m as isLocatorValue, r as rootedAt } from '../interfaces-B-FxA_qn.js';
3
3
  import { Matcher, RegexLiteral } from '@unotest/protocol';
4
4
  import { ExecutionWalker, ExecutionEvent, RunResult, RunOptions } from '@unotest/dsl/executor';
5
5
  export { ExecutionError, ExecutionEvent, RunOptions, RunResult } from '@unotest/dsl/executor';
@@ -88,10 +88,14 @@ interface Logger {
88
88
  child(prefix: string): Logger;
89
89
  }
90
90
 
91
+ type FrameFormat = "png" | "webp";
92
+
91
93
  interface ScreenshotSink {
92
- /** Persist one PNG capture. Returns the project-relative path the
93
- * artifact landed at. */
94
- save(name: string, png: Buffer): Promise<string>;
94
+ /** Persist one capture. `format` names the bytes so the sink can file
95
+ * them under the right extension instead of assuming — a `.png` that
96
+ * holds webp is the kind of thing nobody notices until a tool tries
97
+ * to read it. Returns the project-relative path it landed at. */
98
+ save(name: string, bytes: Buffer, format: FrameFormat): Promise<string>;
95
99
  }
96
100
 
97
101
  type DslPrimitive = string | number | boolean | null;