@unotest/dsl 0.29.0 → 0.31.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,34 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.31.0] - 2026-09-04
4
+
5
+ ### Minor Changes
6
+
7
+ - 56784b3: `ExecutionWalker.run` takes a trailing `entryArgs` list and binds it by
8
+ position onto the entry function's parameters (missing ones `null`) in
9
+ the root scope before the body runs — what `explore_run_flow` needs to
10
+ replay a parameterised `flow_*` helper live.
11
+ - 100ab9d: `step[.soft](label, [{tag: <expr>},] () => { … })`. The parser reads
12
+ `.soft` as the one step modifier and an options object after the label;
13
+ the validator (`step-shape`) allows the single option `tag` (any
14
+ expression) and `step.soft` inside `test_*` only. The walker evaluates the
15
+ tag when the block starts, emits a `step-block-start` / `step-block-end`
16
+ envelope around each block (label, tag, soft flag, outcome), and turns a
17
+ failure inside a soft block into a recorded soft failure: the rest of that
18
+ body is skipped, the run continues after the block, and `RunResult` ends
19
+ `failed` with `softFailures` and an aggregate error (`N soft step(s)
20
+ failed: …`, name `SoftStepFailure`). Statement events carry `stepTag`
21
+ next to `stepLabel`. Control-flow signals pass through untouched.
22
+ - ad7c918: The walker yields a `loop-iteration` marker before every pass of a
23
+ `for` / `while` / `do-while` body — the loop statement's position and
24
+ the 0-based pass index — inside the loop header's own step envelope. A
25
+ marker, not a frame: consumers that pair `step-start` / `step-end` are
26
+ unaffected; a reader building an execution tree opens an "iteration N"
27
+ group at the marker and closes it at the next one or at the loop's end.
28
+ An iteration that runs no statement still gets its marker.
29
+
30
+ ## [0.30.0] - 2026-09-03
31
+
3
32
  ## [0.29.0] - 2026-09-02
4
33
 
5
34
  ## [0.28.0] - 2026-09-01
package/EXTENSIONS.md CHANGED
@@ -121,6 +121,55 @@ attributes) return strings — comparing against a number wants `==`.
121
121
 
122
122
  ---
123
123
 
124
+ ## 7. Step blocks — `step[.soft](label, [{tag: expr},] () => { … })`
125
+
126
+ `step` is a keyword token, not a function: the parser owns the shape.
127
+
128
+ ```
129
+ step("Sign in", () => { … });
130
+ step("Question", {tag: q.id}, () => { … });
131
+ step.soft("Question", {tag: q.id}, () => { … });
132
+ ```
133
+
134
+ - `label` is any expression to the parser; the validator (`step-shape`)
135
+ constrains it to a string literal — the intent a human reads.
136
+ - `.soft` is the only modifier (`DOT` + `WORD("soft")` after the `STEP`
137
+ token); any other word is a parse error. A soft step turns a failure
138
+ inside its body into a recorded soft failure: the rest of the body is
139
+ skipped, the run continues after the block, the test is still failed
140
+ at the end with every soft failure listed. `return` / `break` /
141
+ `continue` pass through untouched. Allowed inside `test_*` only
142
+ (`step-shape`) — a helper has no test to report a soft failure on.
143
+ - The options object is recognised by its opening brace after the
144
+ label's comma (the only other legal token there is `(`). It is the
145
+ first statement-level options object in the grammar; `ObjectExpression`
146
+ parses it, the validator allows the single key `tag`, whose value is
147
+ any expression — the case id a data-driven iteration is on.
148
+ - The executor emits a `step-block-start` / `step-block-end` envelope
149
+ per block (label, evaluated tag, soft flag, outcome) around the
150
+ statements' own `step-start` / `step-end` events.
151
+
152
+ Why: a data-driven gate (one `test_*`, a loop over cases) needs a way
153
+ to name the case an iteration is on and to keep going after one case
154
+ fails, the way `expect.soft` does inside a Playwright `test.step`.
155
+
156
+ ## 8. Entry arguments — `walker.run(…, entryArgs)`
157
+
158
+ An executor-level extension, not grammar: `ExecutionWalker.run` takes a
159
+ trailing `entryArgs` list and binds it by position onto the entry
160
+ function's parameters before its body runs — the same rule as a helper
161
+ call (missing arguments are `null`), but in the root scope, since the
162
+ entry body is the root frame.
163
+
164
+ ```
165
+ function flow_guard_login(username, password) { … }
166
+ walker.run(ast, 'flow_guard_login', runtime, opts, helpers, file, fnFile, ['ivan', 's3cret']);
167
+ ```
168
+
169
+ Why: `explore_run_flow` replays a parameterised flow live during a
170
+ recording; without the binding every use of a parameter failed with
171
+ `Variable "username" is not defined`.
172
+
124
173
  ## Deliberately not supported
125
174
 
126
175
  - **`${}` template interpolation** — see extension 2.
@@ -0,0 +1 @@
1
+ const _0x4b5d9d=_0x28c2;(function(_0x5c4bca,_0x35888a){const _0x3095fd={_0x38c23d:0x200,_0x108c68:0x1e5,_0x47eeb8:0x217,_0x320291:0x2d0,_0x56994a:0x303},_0x249e99=_0x28c2,_0x5e6296=_0x5c4bca();while(!![]){try{const _0x196757=-parseInt(_0x249e99(0x331))/0x1*(parseInt(_0x249e99(_0x3095fd._0x38c23d))/0x2)+parseInt(_0x249e99(0x353))/0x3*(-parseInt(_0x249e99(_0x3095fd._0x108c68))/0x4)+parseInt(_0x249e99(0x325))/0x5+parseInt(_0x249e99(0x321))/0x6*(parseInt(_0x249e99(_0x3095fd._0x47eeb8))/0x7)+-parseInt(_0x249e99(0x1ec))/0x8*(-parseInt(_0x249e99(0x1de))/0x9)+-parseInt(_0x249e99(0x1e8))/0xa*(-parseInt(_0x249e99(_0x3095fd._0x320291))/0xb)+parseInt(_0x249e99(0x231))/0xc*(-parseInt(_0x249e99(_0x3095fd._0x56994a))/0xd);if(_0x196757===_0x35888a)break;else _0x5e6296['push'](_0x5e6296['shift']());}catch(_0x188fab){_0x5e6296['push'](_0x5e6296['shift']());}}}(_0x2741,0x8302b));var __defProp=Object['defineProperty'],__name=(_0x39e986,_0xb813b1)=>__defProp(_0x39e986,'name',{'value':_0xb813b1,'configurable':!![]});function escapeDslString(_0x48c3b1){const _0x3bec78={_0x3f934f:0x224},_0x21f32c=_0x28c2;return'\x22'+_0x48c3b1[_0x21f32c(_0x3bec78._0x3f934f)](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22';}__name(escapeDslString,_0x4b5d9d(0x2fe));function locator(_0xab4466,_0x18ab80){const _0x3de8d5={_0x5433da:0x224,_0x49f562:0x2ac},_0xe06412=_0x4b5d9d,_0x5e07f8=_0xab4466[_0xe06412(_0x3de8d5._0x5433da)](/\\/g,'\x5c\x5c')[_0xe06412(0x224)](/'/g,'\x5c\x27');if(_0x18ab80!==void 0x0)return _0xe06412(0x2bc)+_0x5e07f8+'\x27),\x20nth('+_0x18ab80+_0xe06412(_0x3de8d5._0x49f562);return _0xe06412(0x2bc)+_0x5e07f8+'\x27)])';}__name(locator,_0x4b5d9d(0x297));function buildClickDsl(_0x2651a7,_0x1beb54,_0x2e297d=''){const _0x405b03=_0x4b5d9d;return _0x405b03(0x30f)+locator(_0x2651a7,_0x1beb54)+',\x20'+escapeDslString(_0x2e297d)+');';}__name(buildClickDsl,_0x4b5d9d(0x35b));function buildFillDsl(_0x363b71,_0x4deee8,_0x36db41,_0x1ba75c=''){return'fill('+locator(_0x363b71,_0x36db41)+',\x20'+escapeDslString(_0x4deee8)+',\x20'+escapeDslString(_0x1ba75c)+');';}__name(buildFillDsl,'buildFillDsl');function buildTypeTextDsl(_0x175513,_0x1ec52a,_0x2c7bd6=''){const _0x408581={_0x3d810d:0x23a},_0x5b4446=_0x4b5d9d;return _0x5b4446(_0x408581._0x3d810d)+locator(_0x175513)+',\x20'+escapeDslString(_0x1ec52a)+',\x20'+escapeDslString(_0x2c7bd6)+');';}__name(buildTypeTextDsl,'buildTypeTextDsl');function buildOpenDsl(_0x331a29,_0x1d18a9='0',_0x219b71=''){const _0x3205ae={_0x5ab388:0x357},_0x17bd74=_0x4b5d9d;return _0x17bd74(_0x3205ae._0x5ab388)+escapeDslString(_0x331a29)+',\x20'+escapeDslString(_0x1d18a9)+',\x20'+escapeDslString(_0x219b71)+');';}__name(buildOpenDsl,_0x4b5d9d(0x265));var buildNavigateDsl=buildOpenDsl;function buildAssertVisibleDsl(_0x1b8841,_0x583b24=''){const _0x26009e={_0x5aa9ea:0x2ee},_0x4f22a8=_0x4b5d9d;return _0x4f22a8(_0x26009e._0x5aa9ea)+locator(_0x1b8841)+',\x20'+escapeDslString(_0x583b24)+');';}__name(buildAssertVisibleDsl,_0x4b5d9d(0x2d9));function buildAssertUrlContainsDsl(_0x278afe,_0x206659=''){const _0x2507e4={_0x1c4e16:0x296},_0x26893b=_0x4b5d9d;return _0x26893b(_0x2507e4._0x1c4e16)+escapeDslString(_0x278afe)+',\x20'+escapeDslString(_0x206659)+');';}__name(buildAssertUrlContainsDsl,'buildAssertUrlContainsDsl');function buildAssertPageReadyDsl(_0x311150=''){const _0x687b81={_0x2b35f7:0x23f},_0x56d46b=_0x4b5d9d;return _0x56d46b(_0x687b81._0x2b35f7)+escapeDslString(_0x311150)+');';}__name(buildAssertPageReadyDsl,'buildAssertPageReadyDsl');function buildAssertAuthenticatedDsl(_0x3c7da4=''){const _0x448dea=_0x4b5d9d;return _0x448dea(0x34b)+escapeDslString(_0x3c7da4)+');';}__name(buildAssertAuthenticatedDsl,_0x4b5d9d(0x229));function buildAssertTableNotEmptyDsl(_0x20bd43,_0x114856=''){const _0x78cc6c={_0x48a7a9:0x1e4},_0x1292e8=_0x4b5d9d;return _0x1292e8(_0x78cc6c._0x48a7a9)+locator(_0x20bd43)+',\x20'+escapeDslString(_0x114856)+');';}__name(buildAssertTableNotEmptyDsl,_0x4b5d9d(0x32d));function buildAssertListNotEmptyDsl(_0x3b9bd8,_0x18713c=''){return'assertListNotEmpty('+locator(_0x3b9bd8)+',\x20'+escapeDslString(_0x18713c)+');';}__name(buildAssertListNotEmptyDsl,'buildAssertListNotEmptyDsl');function buildAssertNoVisibleErrorDsl(_0x2f015=''){return'assertNoVisibleError('+escapeDslString(_0x2f015)+');';}__name(buildAssertNoVisibleErrorDsl,_0x4b5d9d(0x260));function buildAssertSectionTitleDsl(_0x5987b2,_0x1b79dd=''){const _0x40fabf=_0x4b5d9d;return _0x40fabf(0x2b5)+escapeDslString(_0x5987b2)+',\x20'+escapeDslString(_0x1b79dd)+');';}__name(buildAssertSectionTitleDsl,_0x4b5d9d(0x1fa));function buildAssertToastVisibleDsl(_0x373f48,_0x49747f=''){const _0x29477b={_0xeed7e3:0x2cc},_0x2866a4=_0x4b5d9d;return _0x2866a4(_0x29477b._0xeed7e3)+escapeDslString(_0x373f48)+',\x20'+escapeDslString(_0x49747f)+');';}__name(buildAssertToastVisibleDsl,_0x4b5d9d(0x245));function buildAssertDialogOpenDsl(_0x106e93,_0x35d692=''){const _0x1c991e={_0x5d171e:0x365},_0x41102e=_0x4b5d9d;return _0x41102e(_0x1c991e._0x5d171e)+escapeDslString(_0x106e93)+',\x20'+escapeDslString(_0x35d692)+');';}__name(buildAssertDialogOpenDsl,'buildAssertDialogOpenDsl');function buildAssertRouteIsDsl(_0x5aa454,_0x187604=''){return'assertRouteIs('+escapeDslString(_0x5aa454)+',\x20'+escapeDslString(_0x187604)+');';}__name(buildAssertRouteIsDsl,'buildAssertRouteIsDsl');function buildSelectComboboxValueDsl(_0x38c3b6,_0x35ba8a,_0x3f88cd=''){const _0x4532cb=_0x4b5d9d;return _0x4532cb(0x211)+locator(_0x38c3b6)+',\x20'+escapeDslString(_0x35ba8a)+',\x20'+escapeDslString(_0x3f88cd)+');';}__name(buildSelectComboboxValueDsl,'buildSelectComboboxValueDsl');function buildLoginAsDsl(_0x11441c,_0x2a1d55,_0x392d1d=''){return'loginAs('+escapeDslString(_0x11441c)+',\x20'+escapeDslString(_0x2a1d55)+',\x20'+escapeDslString(_0x392d1d)+');';}__name(buildLoginAsDsl,'buildLoginAsDsl');function buildOpenMenuItemDsl(_0x5bd08f,_0x36cf54=''){return'openMenuItem('+escapeDslString(_0x5bd08f)+',\x20'+escapeDslString(_0x36cf54)+');';}__name(buildOpenMenuItemDsl,_0x4b5d9d(0x360));function buildOpenTabDsl(_0x1c8cd8,_0x368a77=''){const _0x1e6242=_0x4b5d9d;return _0x1e6242(0x21d)+escapeDslString(_0x1c8cd8)+',\x20'+escapeDslString(_0x368a77)+');';}__name(buildOpenTabDsl,'buildOpenTabDsl');function buildCloseDialogDsl(_0x13e504,_0x26a0df=''){return'closeDialog('+escapeDslString(_0x13e504)+',\x20'+escapeDslString(_0x26a0df)+');';}__name(buildCloseDialogDsl,_0x4b5d9d(0x2d8));function buildFillFormDsl(_0x41200c,_0x27cc1e=''){const _0x58c6c={_0x51d1bd:0x224,_0x3f2456:0x2b3,_0x2f5d4f:0x295},_0xaaa45e=_0x4b5d9d,_0x39e693=JSON['stringify'](_0x41200c)[_0xaaa45e(_0x58c6c._0x51d1bd)](/\\/g,'\x5c\x5c')[_0xaaa45e(0x224)](/"/g,'\x5c\x22');return _0xaaa45e(_0x58c6c._0x3f2456)+_0x39e693+_0xaaa45e(_0x58c6c._0x2f5d4f)+escapeDslString(_0x27cc1e)+');';}__name(buildFillFormDsl,'buildFillFormDsl');function buildSaveFormDsl(_0x2db2e6,_0xc1e0f3=''){const _0x17521f={_0x55ac45:0x24c},_0x22aa02=_0x4b5d9d;return _0x22aa02(_0x17521f._0x55ac45)+escapeDslString(_0x2db2e6)+',\x20'+escapeDslString(_0xc1e0f3)+');';}__name(buildSaveFormDsl,_0x4b5d9d(0x22c));function buildWaitForDsl(_0x5329f5,_0x403d65='',_0x2e773d){const _0xd2d3a7=_0x4b5d9d,_0x3466d0=_0x2e773d?',\x20'+_0x2e773d:'';return _0xd2d3a7(0x2d3)+locator(_0x5329f5)+',\x20'+escapeDslString(_0x403d65)+_0x3466d0+');';}__name(buildWaitForDsl,_0x4b5d9d(0x30c));function buildWaitForTextDsl(_0x4f61e7,_0x39effb,_0x42b67a='',_0x4e1b5d){const _0x2d67dd=_0x4b5d9d,_0x4a125d=_0x4e1b5d?',\x20'+_0x4e1b5d:'';return _0x2d67dd(0x279)+locator(_0x4f61e7)+',\x20'+escapeDslString(_0x39effb)+',\x20'+escapeDslString(_0x42b67a)+_0x4a125d+');';}__name(buildWaitForTextDsl,_0x4b5d9d(0x24e));function buildWaitForHiddenDsl(_0x20d3cc,_0x508a21='',_0xa3401e){const _0x476f67={_0x36ad1f:0x2e2},_0x54b24a=_0x4b5d9d,_0x500fe4=_0xa3401e?',\x20'+_0xa3401e:'';return _0x54b24a(_0x476f67._0x36ad1f)+locator(_0x20d3cc)+',\x20'+escapeDslString(_0x508a21)+_0x500fe4+');';}__name(buildWaitForHiddenDsl,'buildWaitForHiddenDsl');function buildWaitForURLDsl(_0x13d145,_0x37ffa8='',_0x4c79e7){const _0x416569={_0x906838:0x261},_0x5671ed=_0x4b5d9d,_0x59183c=_0x4c79e7?',\x20'+_0x4c79e7:'';return _0x5671ed(_0x416569._0x906838)+escapeDslString(_0x13d145)+',\x20'+escapeDslString(_0x37ffa8)+_0x59183c+');';}__name(buildWaitForURLDsl,_0x4b5d9d(0x318));function buildWaitForNavigationDsl(_0x3e1fb5='',_0x33dbee){const _0x19414a=_0x33dbee?',\x20'+_0x33dbee:'';return'waitForNavigation('+escapeDslString(_0x3e1fb5)+_0x19414a+');';}__name(buildWaitForNavigationDsl,'buildWaitForNavigationDsl');function buildAssertInputValueDsl(_0x48f81d,_0x4d7495,_0x3d094a='',_0x5bef05){const _0x515126=_0x4b5d9d,_0x2314aa=_0x5bef05&&_0x5bef05!=='IS'?',\x20'+escapeDslString(_0x5bef05):'';return _0x515126(0x2c6)+locator(_0x48f81d)+',\x20'+escapeDslString(_0x4d7495)+',\x20'+escapeDslString(_0x3d094a)+_0x2314aa+');';}__name(buildAssertInputValueDsl,_0x4b5d9d(0x330));function buildScrollIntoViewDsl(_0x551f2b,_0x597251=''){const _0x39919b={_0x2f259a:0x2f5},_0xec3570=_0x4b5d9d;return _0xec3570(_0x39919b._0x2f259a)+locator(_0x551f2b)+',\x20'+escapeDslString(_0x597251)+');';}__name(buildScrollIntoViewDsl,_0x4b5d9d(0x29e));function buildScrollToBottomDsl(_0x3ff8eb,_0x47bf36=''){const _0x111c4=_0x4b5d9d;return _0x111c4(0x271)+locator(_0x3ff8eb)+',\x20'+escapeDslString(_0x47bf36)+');';}__name(buildScrollToBottomDsl,'buildScrollToBottomDsl');function buildScrollToTopDsl(_0x4a9f38,_0x2aa05a=''){return'scrollToTop('+locator(_0x4a9f38)+',\x20'+escapeDslString(_0x2aa05a)+');';}__name(buildScrollToTopDsl,_0x4b5d9d(0x258));function buildForceClickDsl(_0x2ad491,_0x44c197=''){const _0x21524c=_0x4b5d9d;return _0x21524c(0x2db)+locator(_0x2ad491)+',\x20'+escapeDslString(_0x44c197)+');';}__name(buildForceClickDsl,_0x4b5d9d(0x33a));function buildDragAndDropDsl(_0x50aba0,_0x20a4a6,_0x5048bb=''){const _0x5a6cf6=_0x4b5d9d;return _0x5a6cf6(0x262)+locator(_0x50aba0)+',\x20'+locator(_0x20a4a6)+',\x20'+escapeDslString(_0x5048bb)+');';}__name(buildDragAndDropDsl,'buildDragAndDropDsl');function buildClipboardPasteDsl(_0xed8819,_0x6bb5ed,_0x4e4cb3=''){const _0x2acaa7={_0xa1b049:0x2f2},_0x10086f=_0x4b5d9d;return _0x10086f(_0x2acaa7._0xa1b049)+locator(_0xed8819)+',\x20'+escapeDslString(_0x6bb5ed)+',\x20'+escapeDslString(_0x4e4cb3)+');';}__name(buildClipboardPasteDsl,_0x4b5d9d(0x319));function buildKeypressDsl(_0x110180,_0x1a3d90=_0x4b5d9d(0x1f1),_0x5a88a7=''){const _0x58333e={_0x429ef3:0x1f5},_0x18a52e=_0x4b5d9d;return _0x18a52e(_0x58333e._0x429ef3)+locator(_0x1a3d90)+',\x20'+escapeDslString(_0x110180)+',\x20'+escapeDslString(_0x5a88a7)+');';}__name(buildKeypressDsl,_0x4b5d9d(0x210));function buildSwitchToFrameDsl(_0x3442ca,_0xeb86be=''){const _0x2a8b48={_0x282e45:0x301},_0x2d6816=_0x4b5d9d;return _0x2d6816(_0x2a8b48._0x282e45)+locator(_0x3442ca)+',\x20'+escapeDslString(_0xeb86be)+');';}__name(buildSwitchToFrameDsl,_0x4b5d9d(0x233));function buildSwitchToMainFrameDsl(_0x4de596=''){return'switchToMainFrame('+escapeDslString(_0x4de596)+');';}__name(buildSwitchToMainFrameDsl,_0x4b5d9d(0x355));function buildAssertNotVisibleDsl(_0x59723e,_0x499ce8=''){const _0x32d124={_0x4c85a3:0x2da},_0x42cbbd=_0x4b5d9d;return _0x42cbbd(_0x32d124._0x4c85a3)+locator(_0x59723e)+',\x20'+escapeDslString(_0x499ce8)+');';}__name(buildAssertNotVisibleDsl,_0x4b5d9d(0x342));function _0x28c2(_0x1318ec,_0x2a49d8){_0x1318ec=_0x1318ec-0x1d6;const _0x27412f=_0x2741();let _0x28c25f=_0x27412f[_0x1318ec];if(_0x28c2['yfwMqU']===undefined){var _0x7ef650=function(_0x8a491b){const _0x2dbccd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39e986='',_0xb813b1='';for(let _0x48c3b1=0x0,_0xab4466,_0x18ab80,_0x5e07f8=0x0;_0x18ab80=_0x8a491b['charAt'](_0x5e07f8++);~_0x18ab80&&(_0xab4466=_0x48c3b1%0x4?_0xab4466*0x40+_0x18ab80:_0x18ab80,_0x48c3b1++%0x4)?_0x39e986+=String['fromCharCode'](0xff&_0xab4466>>(-0x2*_0x48c3b1&0x6)):0x0){_0x18ab80=_0x2dbccd['indexOf'](_0x18ab80);}for(let _0x2651a7=0x0,_0x1beb54=_0x39e986['length'];_0x2651a7<_0x1beb54;_0x2651a7++){_0xb813b1+='%'+('00'+_0x39e986['charCodeAt'](_0x2651a7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb813b1);};_0x28c2['JsfGnN']=_0x7ef650,_0x28c2['XAyfRd']={},_0x28c2['yfwMqU']=!![];}const _0x280127=_0x27412f[0x0],_0x3dd81e=_0x1318ec+_0x280127,_0x2e4a20=_0x28c2['XAyfRd'][_0x3dd81e];return!_0x2e4a20?(_0x28c25f=_0x28c2['JsfGnN'](_0x28c25f),_0x28c2['XAyfRd'][_0x3dd81e]=_0x28c25f):_0x28c25f=_0x2e4a20,_0x28c25f;}function buildAssertTextContainsDsl(_0x5b7fda,_0x563a8c,_0x5377ca=''){const _0xc6769c=_0x4b5d9d;return _0xc6769c(0x230)+locator(_0x5b7fda)+',\x20'+escapeDslString(_0x563a8c)+',\x20'+escapeDslString(_0x5377ca)+');';}__name(buildAssertTextContainsDsl,_0x4b5d9d(0x2ab));function buildAssertTextEqualsDsl(_0x21834f,_0x595785,_0x1d3322=''){return'elementAssert(\x22IS\x22,\x20'+locator(_0x21834f)+',\x20'+escapeDslString(_0x595785)+',\x20'+escapeDslString(_0x1d3322)+');';}__name(buildAssertTextEqualsDsl,_0x4b5d9d(0x2b9));function buildAssertUrlEqualsDsl(_0x896ec,_0x5698e3=''){const _0x490054={_0x50acfc:0x2ed},_0x670f0a=_0x4b5d9d;return _0x670f0a(_0x490054._0x50acfc)+escapeDslString(_0x896ec)+',\x20'+escapeDslString(_0x5698e3)+');';}__name(buildAssertUrlEqualsDsl,'buildAssertUrlEqualsDsl');function buildAssertCountEqualsDsl(_0x4c4bd6,_0x5bcdb6,_0x274d27=''){const _0x3e18da=_0x4b5d9d;return _0x3e18da(0x1fd)+locator(_0x4c4bd6)+',\x20'+_0x5bcdb6+',\x20'+escapeDslString(_0x274d27)+');';}__name(buildAssertCountEqualsDsl,_0x4b5d9d(0x238));function buildFlowDsl(_0x43a854,_0x490ff6){const _0x1dfc7c={_0x451dbc:0x224,_0x59efce:0x2de},_0x156edd=_0x4b5d9d,_0x218dd5=_0x43a854[_0x156edd(_0x1dfc7c._0x451dbc)](/-/g,'_');return _0x156edd(0x341)+_0x218dd5+'('+escapeDslString(_0x43a854)+',\x20'+escapeDslString(_0x490ff6)+_0x156edd(_0x1dfc7c._0x59efce);}__name(buildFlowDsl,_0x4b5d9d(0x2ad));var ArrayValue=class _ArrayValue{static{__name(this,'ArrayValue');}[_0x4b5d9d(0x1e7)];constructor(_0x20ef38){const _0x125030={_0x21f52d:0x326},_0x325072=_0x4b5d9d;if(typeof _0x20ef38===_0x325072(0x312))this[_0x325072(0x1e7)]=new Array(_0x20ef38)[_0x325072(_0x125030._0x21f52d)](void 0x0);else Array['isArray'](_0x20ef38)?this['elements']=[..._0x20ef38]:this['elements']=[..._0x20ef38['elements']];}[_0x4b5d9d(0x2fc)](_0x2ee110){const _0x3b333a=_0x4b5d9d;return this[_0x3b333a(0x1e7)][_0x2ee110];}[_0x4b5d9d(0x228)](_0x5c6985,_0x8aa7bb){this['elements'][_0x5c6985]=_0x8aa7bb;}[_0x4b5d9d(0x322)](){const _0x565377={_0x513b58:0x2dc},_0xa0a6cd=_0x4b5d9d;throw new Error(_0xa0a6cd(_0x565377._0x513b58));}['clone'](){const _0x3d394b={_0x56bc15:0x1e7},_0x588e6c=_0x4b5d9d;return new _ArrayValue(this[_0x588e6c(_0x3d394b._0x56bc15)][_0x588e6c(0x216)](_0x3cac47=>_0x3cac47[_0x588e6c(0x2a7)]()));}[_0x4b5d9d(0x2ca)](){const _0x580fb0={_0x2efdbe:0x1e7,_0x533403:0x2a3},_0x304e19=_0x4b5d9d;return'['+this[_0x304e19(_0x580fb0._0x2efdbe)][_0x304e19(0x216)](_0x3df066=>_0x3df066[_0x304e19(0x2ca)]())[_0x304e19(_0x580fb0._0x533403)](',\x20')+']';}[_0x4b5d9d(0x1df)](){return this['asString']();}},NumberValue=class _NumberValue{static{__name(this,_0x4b5d9d(0x33c));}static [_0x4b5d9d(0x1d6)]=new _NumberValue(0x0);[_0x4b5d9d(0x2f4)];constructor(_0x4d7d9a){const _0x16cbce={_0x5e5d60:0x28f,_0x57a952:0x2f4},_0x2161c4=_0x4b5d9d;typeof _0x4d7d9a===_0x2161c4(_0x16cbce._0x5e5d60)?this[_0x2161c4(0x2f4)]=_0x4d7d9a?0x1:0x0:this[_0x2161c4(_0x16cbce._0x57a952)]=_0x4d7d9a;}['clone'](){const _0x5a79ca={_0x39f3df:0x2f4},_0x26547f=_0x4b5d9d;return new _NumberValue(this[_0x26547f(_0x5a79ca._0x39f3df)]);}[_0x4b5d9d(0x322)](){const _0x2a55d5=_0x4b5d9d;return this[_0x2a55d5(0x2f4)];}[_0x4b5d9d(0x2ca)](){const _0x33b731={_0x16703c:0x1df},_0x84e05b=_0x4b5d9d;return this['value'][_0x84e05b(_0x33b731._0x16703c)]();}[_0x4b5d9d(0x1df)](){const _0x36b05e=_0x4b5d9d;return this[_0x36b05e(0x2ca)]();}},Functions=class{static{__name(this,_0x4b5d9d(0x34e));}static [_0x4b5d9d(0x2b1)]=new Map([[_0x4b5d9d(0x304),{'execute'(...args){const _0x38790e={_0x165b41:0x27d,_0x1e073a:0x26a,_0x3a316a:0x322},_0x2315a8=_0x4b5d9d;if(args[_0x2315a8(_0x38790e._0x165b41)]!==0x1)throw new Error(_0x2315a8(_0x38790e._0x1e073a));return new NumberValue(Math[_0x2315a8(0x304)](args[0x0][_0x2315a8(_0x38790e._0x3a316a)]()));}}],[_0x4b5d9d(0x2e7),{'execute'(...args){const _0x1ec4ad=_0x4b5d9d;for(const arg of args){console[_0x1ec4ad(0x215)](arg['asString']());}return NumberValue['ZERO'];}}],[_0x4b5d9d(0x1ef),{'execute'(...args){return NumberValue['ZERO'];}}],[_0x4b5d9d(0x283),{'execute'(...args){return NumberValue['ZERO'];}}],[_0x4b5d9d(0x287),{'execute'(...args){const _0x13f3f6={_0xe30efe:0x1d6},_0x31c6bf=_0x4b5d9d;return NumberValue[_0x31c6bf(_0x13f3f6._0xe30efe)];}}],['open',{'execute'(...args){return NumberValue['ZERO'];}}],[_0x4b5d9d(0x2be),{'execute'(...args){const _0x1dde69={_0x2da199:0x1d6},_0x573227=_0x4b5d9d;return NumberValue[_0x573227(_0x1dde69._0x2da199)];}}]]);static[_0x4b5d9d(0x2d7)](_0x1d4d89){const _0x3b537a=_0x4b5d9d;return this[_0x3b537a(0x2b1)][_0x3b537a(0x32e)](_0x1d4d89);}static[_0x4b5d9d(0x2fc)](_0xad41b0){const _0x49eebd=_0x4b5d9d,_0x49fabd=this[_0x49eebd(0x2b1)][_0x49eebd(0x2fc)](_0xad41b0);if(!_0x49fabd)throw new TypeError(_0x49eebd(0x25f)+_0xad41b0);return _0x49fabd;}static[_0x4b5d9d(0x228)](_0x59b336,_0x902af0){const _0xdeacb7=_0x4b5d9d;this['functions'][_0xdeacb7(0x228)](_0x59b336,_0x902af0);}},ObjectValue=class _ObjectValue{static{__name(this,_0x4b5d9d(0x34a));}[_0x4b5d9d(0x25d)];constructor(_0x2ede2c=new Map()){const _0x477b1c={_0x197099:0x25d},_0x20d1b4=_0x4b5d9d;this[_0x20d1b4(_0x477b1c._0x197099)]=_0x2ede2c;}[_0x4b5d9d(0x2fc)](_0x3c4cdb){const _0x257952={_0x4997b1:0x25d},_0x52fefb=_0x4b5d9d;return this[_0x52fefb(_0x257952._0x4997b1)][_0x52fefb(0x2fc)](_0x3c4cdb);}[_0x4b5d9d(0x228)](_0x5e4d8f,_0x535b12){const _0x4335d9={_0x2ab2b8:0x25d},_0x3f00e0=_0x4b5d9d;this[_0x3f00e0(_0x4335d9._0x2ab2b8)]['set'](_0x5e4d8f,_0x535b12);}['asNumber'](){const _0x301ebb={_0x38dc27:0x25d},_0x3eaa4e=_0x4b5d9d;return this[_0x3eaa4e(_0x301ebb._0x38dc27)][_0x3eaa4e(0x28e)];}[_0x4b5d9d(0x2ca)](){const _0x29fc14={_0x3b6c7b:0x22e,_0x1fc806:0x2a3},_0x1316f2=_0x4b5d9d,_0x463222=Array['from'](this[_0x1316f2(0x25d)][_0x1316f2(_0x29fc14._0x3b6c7b)]())[_0x1316f2(0x216)](([_0x430458,_0x2fbe5c])=>_0x430458+':\x20'+_0x2fbe5c[_0x1316f2(0x2ca)]())[_0x1316f2(_0x29fc14._0x1fc806)](',\x20');return'{'+_0x463222+'}';}[_0x4b5d9d(0x2a7)](){const _0x4b5402={_0x4a59d7:0x1f7},_0x4da060=_0x4b5d9d,_0x375002=new Map();return this[_0x4da060(0x25d)][_0x4da060(_0x4b5402._0x4a59d7)]((_0x483f89,_0x13df11)=>{const _0xee1ec7=_0x4da060;_0x375002[_0xee1ec7(0x228)](_0x13df11,_0x483f89[_0xee1ec7(0x2a7)]());}),new _ObjectValue(_0x375002);}[_0x4b5d9d(0x1ee)](){const _0x1e8fcf=_0x4b5d9d;return this[_0x1e8fcf(0x25d)];}},RegExpValue=class _RegExpValue{static{__name(this,'RegExpValue');}[_0x4b5d9d(0x362)];['flags'];constructor(_0x56c71a,_0x2c033f){const _0x215857={_0x3f5ade:0x362},_0x5d5323=_0x4b5d9d;validateEs5Flags(_0x2c033f),this[_0x5d5323(_0x215857._0x3f5ade)]=_0x56c71a,this[_0x5d5323(0x351)]=_0x2c033f;}['clone'](){const _0x3fd827={_0x51c248:0x351},_0x303e0a=_0x4b5d9d;return new _RegExpValue(this['source'],this[_0x303e0a(_0x3fd827._0x51c248)]);}['asNumber'](){return NaN;}[_0x4b5d9d(0x2ca)](){const _0x2c2d8c=_0x4b5d9d;return'/'+this['source']+'/'+this[_0x2c2d8c(0x351)];}[_0x4b5d9d(0x1df)](){const _0x1830ad={_0x56fb14:0x2ca},_0xf87d4=_0x4b5d9d;return this[_0xf87d4(_0x1830ad._0x56fb14)]();}},ES5_FLAGS=new Set(['g','i','m']),POST_ES5_FLAGS={'s':_0x4b5d9d(0x244),'u':_0x4b5d9d(0x363),'y':_0x4b5d9d(0x21c),'d':_0x4b5d9d(0x2fb),'v':_0x4b5d9d(0x249)};function validateEs5Flags(_0x52459c){const _0x54f92e={_0xda7e7d:0x21b,_0x8df1c3:0x34f,_0x2de22d:0x32e},_0x144b9b=_0x4b5d9d,_0x11df86=new Set();for(const _0x5aed99 of _0x52459c){if(POST_ES5_FLAGS[_0x5aed99])throw new RegExpFlagError(_0x144b9b(_0x54f92e._0xda7e7d)+_0x5aed99+_0x144b9b(0x291)+POST_ES5_FLAGS[_0x5aed99]+_0x144b9b(_0x54f92e._0x8df1c3));if(!ES5_FLAGS['has'](_0x5aed99))throw new RegExpFlagError('unknown\x20regex\x20flag\x20\x27'+_0x5aed99+_0x144b9b(0x208));if(_0x11df86[_0x144b9b(_0x54f92e._0x2de22d)](_0x5aed99))throw new RegExpFlagError('duplicate\x20regex\x20flag\x20\x27'+_0x5aed99+'\x27.');_0x11df86['add'](_0x5aed99);}}__name(validateEs5Flags,_0x4b5d9d(0x29d));var RegExpFlagError=class extends Error{static{__name(this,_0x4b5d9d(0x1f8));}constructor(_0xc28ec7){super(_0xc28ec7),this['name']='RegExpFlagError';}},StringValue=class _StringValue{static{__name(this,'StringValue');}[_0x4b5d9d(0x2f4)];constructor(_0x4bf4f3){const _0x511303={_0x1ce790:0x2f4},_0x329aac=_0x4b5d9d;this[_0x329aac(_0x511303._0x1ce790)]=_0x4bf4f3;}[_0x4b5d9d(0x2a7)](){return new _StringValue(this['value']);}['asNumber'](){const _0x11bd9c=_0x4b5d9d;try{return parseFloat(this[_0x11bd9c(0x2f4)]);}catch(_0xc6fef1){return 0x0;}}[_0x4b5d9d(0x2ca)](){const _0x3565e7={_0x4219e4:0x2f4},_0x58d8db=_0x4b5d9d;return this[_0x58d8db(_0x3565e7._0x4219e4)];}['toString'](){const _0x211c84=_0x4b5d9d;return this[_0x211c84(0x2ca)]();}},UserDefineFunction=class{static{__name(this,_0x4b5d9d(0x2ba));}[_0x4b5d9d(0x1e0)];[_0x4b5d9d(0x1f1)];constructor(_0x446d90,_0x491173){const _0x3fa0af=_0x4b5d9d;this['argNames']=_0x446d90,this[_0x3fa0af(0x1f1)]=_0x491173;}[_0x4b5d9d(0x337)](){const _0x175ee1={_0x2f5032:0x27d},_0x19c798=_0x4b5d9d;return this[_0x19c798(0x1e0)][_0x19c798(_0x175ee1._0x2f5032)];}[_0x4b5d9d(0x21e)](_0x198c95){const _0x274b06=_0x4b5d9d;if(_0x198c95<0x0||_0x198c95>=this[_0x274b06(0x1e0)][_0x274b06(0x27d)])return'';return this['argNames'][_0x198c95];}[_0x4b5d9d(0x354)](..._0x5e9c89){const _0x748b7c={_0x43e041:0x1f1,_0x1678da:0x1d6},_0x20dcb0=_0x4b5d9d;try{return this[_0x20dcb0(_0x748b7c._0x43e041)]['execute'](),NumberValue[_0x20dcb0(_0x748b7c._0x1678da)];}catch(_0xf303d0){if(_0xf303d0 instanceof ReturnStatement)return _0xf303d0[_0x20dcb0(0x293)]();throw _0xf303d0;}}},Variables=class{static{__name(this,'Variables');}static [_0x4b5d9d(0x203)]=[];static [_0x4b5d9d(0x1d8)]=new Map([['PI',new NumberValue(Math['PI'])],['E',new NumberValue(Math['E'])]]);static['push'](){const _0x92e55d={_0x455305:0x348},_0x2b1a88=_0x4b5d9d,_0x2ba2b0=new Map([]);for(const [_0x5f4c1e,_0x40a5bc]of this['variables'][_0x2b1a88(0x22e)]()){_0x2ba2b0[_0x2b1a88(0x228)](_0x5f4c1e,_0x40a5bc);}this['stack'][_0x2b1a88(_0x92e55d._0x455305)](_0x2ba2b0);}static[_0x4b5d9d(0x2e4)](){const _0x5ccc09={_0x2822bf:0x2e4},_0x5d49e0=_0x4b5d9d,_0x1e6457=this[_0x5d49e0(0x203)][_0x5d49e0(_0x5ccc09._0x2822bf)]();if(!_0x1e6457)throw new Error('Variables\x20stack\x20undefined');this[_0x5d49e0(0x1d8)]=_0x1e6457;}static[_0x4b5d9d(0x2d7)](_0x2f1d1f){const _0xb7b69a={_0x34f288:0x32e},_0x41b580=_0x4b5d9d;return this['variables'][_0x41b580(_0xb7b69a._0x34f288)](_0x2f1d1f);}static[_0x4b5d9d(0x2fc)](_0x1523d5){const _0x332e13={_0x40fe4d:0x2fc},_0x2bdf18=_0x4b5d9d;return this[_0x2bdf18(0x1d8)][_0x2bdf18(_0x332e13._0x40fe4d)](_0x1523d5)||NumberValue['ZERO'];}static['set'](_0x4f0734,_0x5ce2a5){const _0x5b27b6={_0x2ada14:0x1d8},_0x4e43cf=_0x4b5d9d;this[_0x4e43cf(_0x5b27b6._0x2ada14)][_0x4e43cf(0x228)](_0x4f0734,_0x5ce2a5);}},ArrayAccessExpression=class{static{__name(this,_0x4b5d9d(0x2a6));}[_0x4b5d9d(0x2e8)];[_0x4b5d9d(0x286)];[_0x4b5d9d(0x2e3)];constructor(_0x59c4c4,_0x146af7,_0x4b6770){const _0x187545=_0x4b5d9d;this[_0x187545(0x2e8)]=_0x59c4c4,this[_0x187545(0x286)]=_0x146af7,this[_0x187545(0x2e3)]=_0x4b6770;}get[_0x4b5d9d(0x2dd)](){const _0x5da18b={_0x239ded:0x2e8},_0x4a2771=_0x4b5d9d;return this[_0x4a2771(_0x5da18b._0x239ded)];}get[_0x4b5d9d(0x268)](){return this['indexes'];}[_0x4b5d9d(0x314)](){const _0x42bd48=_0x4b5d9d,_0x3aeae9=this['lastIndex'](),_0x5456ff=this[_0x42bd48(0x204)]();return _0x5456ff['get'](_0x3aeae9);}['lastIndex'](){const _0x30826b={_0x510158:0x227,_0x26a3f8:0x286,_0x45bb71:0x27d},_0x2e4c3e=_0x4b5d9d;return this[_0x2e4c3e(_0x30826b._0x510158)](this[_0x2e4c3e(_0x30826b._0x26a3f8)][_0x2e4c3e(_0x30826b._0x45bb71)]-0x1);}['index'](_0x29bdc8){const _0xc31075=_0x4b5d9d;return this['indexes'][_0x29bdc8]['eval']()[_0xc31075(0x322)]();}[_0x4b5d9d(0x204)](){const _0xcc5236={_0x52cd18:0x286,_0x5cf62b:0x2fc},_0x20c618=_0x4b5d9d;let _0x3483ab=this[_0x20c618(0x267)](Variables['get'](this['variable']));const _0x1c249e=this[_0x20c618(_0xcc5236._0x52cd18)]['length']-0x1;for(let _0x516ac1=0x0;_0x516ac1<_0x1c249e;_0x516ac1++){_0x3483ab=this[_0x20c618(0x267)](_0x3483ab[_0x20c618(_0xcc5236._0x5cf62b)](this['index'](_0x516ac1)));}return _0x3483ab;}[_0x4b5d9d(0x267)](_0x2a6507){const _0x3144cd={_0xdc4343:0x274},_0x5ae571=_0x4b5d9d;if(_0x2a6507 instanceof ArrayValue)return _0x2a6507;throw new Error(_0x5ae571(_0x3144cd._0xdc4343));}[_0x4b5d9d(0x1df)](){const _0x3100ee={_0x4bc0f1:0x2e8,_0x304094:0x286},_0x3d2536=_0x4b5d9d;return''+(this[_0x3d2536(_0x3100ee._0x4bc0f1)]+this[_0x3d2536(_0x3100ee._0x304094)]);}},ArrayAssignmentStatement=class{static{__name(this,'ArrayAssignmentStatement');}[_0x4b5d9d(0x1da)];[_0x4b5d9d(0x292)];['token'];constructor(_0x1a6cf4,_0x3aaaac,_0x34d709){const _0x2c7115={_0x4852e5:0x1da},_0x46d768=_0x4b5d9d;this[_0x46d768(_0x2c7115._0x4852e5)]=_0x1a6cf4,this[_0x46d768(0x292)]=_0x3aaaac,this[_0x46d768(0x2e3)]=_0x34d709;}[_0x4b5d9d(0x354)](){const _0x43c6e5={_0x3b6fd4:0x204,_0x1309b3:0x228,_0x18aafc:0x21a,_0x40ce67:0x292},_0x50ffc2=_0x4b5d9d;this[_0x50ffc2(0x1da)][_0x50ffc2(_0x43c6e5._0x3b6fd4)]()[_0x50ffc2(_0x43c6e5._0x1309b3)](this['array'][_0x50ffc2(_0x43c6e5._0x18aafc)](),this[_0x50ffc2(_0x43c6e5._0x40ce67)]['eval']());}[_0x4b5d9d(0x1df)](){const _0x1cbc54={_0x56d811:0x2c7},_0x1d3882=_0x4b5d9d;return this[_0x1d3882(0x1da)]+_0x1d3882(_0x1cbc54._0x56d811)+this[_0x1d3882(0x292)];}},ArrayExpression=class{static{__name(this,_0x4b5d9d(0x2ce));}[_0x4b5d9d(0x1e7)];[_0x4b5d9d(0x2e3)];constructor(_0x1be8ef,_0x1db7fd){const _0x3853b5=_0x4b5d9d;this[_0x3853b5(0x1e7)]=_0x1be8ef,this['token']=_0x1db7fd;}[_0x4b5d9d(0x314)](){const _0x1ffd64=this['elements']['map'](_0x5d17cd=>_0x5d17cd['eval']());return new ArrayValue(_0x1ffd64);}['toString'](){const _0x13f7e2={_0x2a129f:0x1df},_0x1f0d50=_0x4b5d9d;return''+this[_0x1f0d50(0x1e7)][_0x1f0d50(_0x13f7e2._0x2a129f)]();}},AssignmentStatement=class{static{__name(this,'AssignmentStatement');}['variable'];[_0x4b5d9d(0x292)];[_0x4b5d9d(0x2e3)];constructor(_0x2f5e28,_0x3770ea,_0x344672){const _0x3ad61d={_0x16a777:0x2e8},_0x27fb9f=_0x4b5d9d;this[_0x27fb9f(_0x3ad61d._0x16a777)]=_0x2f5e28,this[_0x27fb9f(0x292)]=_0x3770ea,this[_0x27fb9f(0x2e3)]=_0x344672;}[_0x4b5d9d(0x354)](){const _0x44fac4={_0x11a876:0x2e8},_0x2941b9=_0x4b5d9d,_0x11a6aa=this[_0x2941b9(0x292)]['eval']();Variables[_0x2941b9(0x228)](this[_0x2941b9(_0x44fac4._0x11a876)],_0x11a6aa);}[_0x4b5d9d(0x1df)](){const _0xd74bc5={_0x19461c:0x292},_0x546656=_0x4b5d9d;return this['variable']+'\x20=\x20'+this[_0x546656(_0xd74bc5._0x19461c)];}},BinaryExpression=class{constructor(_0xe13e03,_0x52d6be,_0x4501cd,_0x1bd6d5){const _0x4fa8d3={_0x3fd8a5:0x328},_0x3fb478=_0x4b5d9d;this[_0x3fb478(0x218)]=_0xe13e03,this['expr1']=_0x52d6be,this[_0x3fb478(_0x4fa8d3._0x3fd8a5)]=_0x4501cd,this[_0x3fb478(0x2e3)]=_0x1bd6d5;}['operation'];[_0x4b5d9d(0x1f4)];[_0x4b5d9d(0x328)];[_0x4b5d9d(0x2e3)];static{__name(this,_0x4b5d9d(0x25e));}[_0x4b5d9d(0x314)](){const _0x4edbe3={_0x6dc0f0:0x314,_0xf224b9:0x314},_0x101fdd=_0x4b5d9d,_0x23410d=this[_0x101fdd(0x1f4)][_0x101fdd(_0x4edbe3._0x6dc0f0)]();if(_0x23410d instanceof StringValue||_0x23410d instanceof ArrayValue){const _0x49b1a0=_0x23410d[_0x101fdd(0x2ca)](),_0x34c5bc=this[_0x101fdd(0x328)][_0x101fdd(_0x4edbe3._0xf224b9)]()[_0x101fdd(0x2ca)]();switch(this[_0x101fdd(0x218)]){case'+':return new StringValue(_0x49b1a0+_0x34c5bc);default:throw new Error(_0x101fdd(0x2d2));}}const _0x12d425=this['expr1'][_0x101fdd(_0x4edbe3._0xf224b9)]()[_0x101fdd(0x322)](),_0x3d577b=this[_0x101fdd(0x328)]['eval']()[_0x101fdd(0x322)]();switch(this['operation']){case'-':return new NumberValue(_0x12d425-_0x3d577b);case'+':return new NumberValue(_0x12d425+_0x3d577b);case'/':return new NumberValue(_0x12d425/_0x3d577b);case'*':default:return new NumberValue(_0x12d425*_0x3d577b);}}[_0x4b5d9d(0x1df)](){const _0x98df40={_0x507f94:0x218},_0x22be92=_0x4b5d9d;return this['expr1']+'\x20'+this[_0x22be92(_0x98df40._0x507f94)]+'\x20'+this[_0x22be92(0x328)];}},BlockStatement=class{static{__name(this,'BlockStatement');}[_0x4b5d9d(0x277)]=[];[_0x4b5d9d(0x2e3)];constructor(_0x5e3561){const _0x429105=_0x4b5d9d;this[_0x429105(0x2e3)]=_0x5e3561;}[_0x4b5d9d(0x31e)](_0x4dd8e4){const _0x4a7a2d=_0x4b5d9d;this[_0x4a7a2d(0x277)]['push'](_0x4dd8e4);}[_0x4b5d9d(0x354)](){const _0x529563=_0x4b5d9d;for(const _0x207204 of this[_0x529563(0x277)]){_0x207204['execute']();}}['toString'](){const _0x185113={_0x5d3074:0x2a3},_0x2bb483=_0x4b5d9d;return''+this[_0x2bb483(0x277)][_0x2bb483(_0x185113._0x5d3074)]('\x0a');}},BreakStatement=class extends Error{static{__name(this,'BreakStatement');}['token'];constructor(_0x1e47b0){const _0x367fe1={_0xc8b64e:0x332},_0x874c76=_0x4b5d9d;super(_0x874c76(_0x367fe1._0xc8b64e)),this[_0x874c76(0x2e3)]=_0x1e47b0;}['execute'](){throw this;}[_0x4b5d9d(0x1df)](){return'break';}},Operator=(_0x526a6c=>{const _0x3d8de2={_0x42c6be:0x2f0,_0x78a5a1:0x2d5,_0x1b873f:0x23b,_0xb1b84f:0x2cb,_0x4deced:0x358,_0x3c9fca:0x23c,_0x145aba:0x1e1},_0x54d67b=_0x4b5d9d;return _0x526a6c[_0x54d67b(0x1f9)]='+',_0x526a6c[_0x54d67b(_0x3d8de2._0x42c6be)]='-',_0x526a6c[_0x54d67b(_0x3d8de2._0x78a5a1)]='*',_0x526a6c[_0x54d67b(0x253)]='/',_0x526a6c['EQ']='==',_0x526a6c[_0x54d67b(_0x3d8de2._0x1b873f)]='!=',_0x526a6c[_0x54d67b(_0x3d8de2._0xb1b84f)]=_0x54d67b(_0x3d8de2._0x4deced),_0x526a6c[_0x54d67b(0x2c3)]=_0x54d67b(_0x3d8de2._0x3c9fca),_0x526a6c['LT']='<',_0x526a6c['LTE']='<=',_0x526a6c['GT']='>',_0x526a6c['GTE']='>=',_0x526a6c[_0x54d67b(_0x3d8de2._0x145aba)]='&&',_0x526a6c['OR']='||',_0x526a6c;})(Operator||{});function getOperatorName(_0x303966){for(const [_0x45e641,_0x354f3a]of Object['entries'](Operator)){if(_0x354f3a===_0x303966)return _0x45e641;}return'EQ';}__name(getOperatorName,_0x4b5d9d(0x27c));var ConditionalExpression=class{constructor(_0x3b7861,_0x1a3a73,_0x36a6f8,_0xd9fd97){const _0x32e656={_0x59a8f3:0x218,_0x3a24b5:0x2e3},_0x33e0e0=_0x4b5d9d;this[_0x33e0e0(_0x32e656._0x59a8f3)]=_0x3b7861,this[_0x33e0e0(0x1f4)]=_0x1a3a73,this['expr2']=_0x36a6f8,this[_0x33e0e0(_0x32e656._0x3a24b5)]=_0xd9fd97;}['operation'];['expr1'];[_0x4b5d9d(0x328)];[_0x4b5d9d(0x2e3)];static{__name(this,'ConditionalExpression');}[_0x4b5d9d(0x314)](){const _0x50ef9a={_0x4a4b8b:0x1f4,_0xd40d9f:0x314,_0x2482a6:0x218,_0x3f850b:0x322,_0x8f9026:0x2ca},_0x4e4da1=_0x4b5d9d,_0x578b97=this[_0x4e4da1(_0x50ef9a._0x4a4b8b)]['eval'](),_0x14ab2f=this[_0x4e4da1(0x328)][_0x4e4da1(_0x50ef9a._0xd40d9f)]();if(this[_0x4e4da1(0x218)]===_0x4e4da1(0x358)||this[_0x4e4da1(_0x50ef9a._0x2482a6)]==='!=='){let _0x3f9c1c;if(_0x578b97 instanceof StringValue&&_0x14ab2f instanceof StringValue)_0x3f9c1c=_0x578b97[_0x4e4da1(0x2ca)]()===_0x14ab2f[_0x4e4da1(0x2ca)]();else _0x578b97 instanceof NumberValue&&_0x14ab2f instanceof NumberValue?_0x3f9c1c=_0x578b97[_0x4e4da1(_0x50ef9a._0x3f850b)]()===_0x14ab2f[_0x4e4da1(_0x50ef9a._0x3f850b)]():_0x3f9c1c=![];return new NumberValue(this['operation']==='==='?_0x3f9c1c:!_0x3f9c1c);}let _0x1775ed,_0x3ae65d;_0x578b97 instanceof StringValue?(_0x1775ed=_0x1775ed=_0x578b97[_0x4e4da1(_0x50ef9a._0x8f9026)]()[_0x4e4da1(0x343)](_0x14ab2f[_0x4e4da1(0x2ca)]()),_0x3ae65d=0x0):(_0x1775ed=this[_0x4e4da1(0x1f4)][_0x4e4da1(_0x50ef9a._0xd40d9f)]()['asNumber'](),_0x3ae65d=this['expr2'][_0x4e4da1(_0x50ef9a._0xd40d9f)]()[_0x4e4da1(_0x50ef9a._0x3f850b)]());let _0x3dfd5e;switch(this['operation']){case'<':_0x3dfd5e=_0x1775ed<_0x3ae65d;break;case'<=':_0x3dfd5e=_0x1775ed<=_0x3ae65d;break;case'>':_0x3dfd5e=_0x1775ed>_0x3ae65d;break;case'>=':_0x3dfd5e=_0x1775ed>=_0x3ae65d;break;case'!=':_0x3dfd5e=_0x1775ed!=_0x3ae65d;break;case'&&':_0x3dfd5e=_0x1775ed!=0x0&&_0x3ae65d!=0x0;break;case'||':_0x3dfd5e=_0x1775ed!=0x0||_0x3ae65d!=0x0;break;case'==':default:_0x3dfd5e=_0x1775ed===_0x3ae65d;}return new NumberValue(_0x3dfd5e);}[_0x4b5d9d(0x1df)](){const _0xd7ab98=_0x4b5d9d;return this[_0xd7ab98(0x1f4)]+'\x20'+this['operation']+'\x20'+this[_0xd7ab98(0x328)];}},ContinueStatement=class extends Error{static{__name(this,_0x4b5d9d(0x2e5));}[_0x4b5d9d(0x2e3)];constructor(_0x25fda2){const _0x2d7a9b={_0x179a5a:0x2e5,_0x4f7ab0:0x2e3},_0x44b484=_0x4b5d9d;super(_0x44b484(_0x2d7a9b._0x179a5a)),this[_0x44b484(_0x2d7a9b._0x4f7ab0)]=_0x25fda2;}[_0x4b5d9d(0x354)](){throw this;}[_0x4b5d9d(0x1df)](){const _0x54ddfc={_0x30eb45:0x270},_0x191fa7=_0x4b5d9d;return _0x191fa7(_0x54ddfc._0x30eb45);}},DoWhileStatement=class{constructor(_0x145283,_0x22b7f2,_0x4303fa){const _0x19a7c1=_0x4b5d9d;this['condition']=_0x145283,this[_0x19a7c1(0x302)]=_0x22b7f2,this['token']=_0x4303fa;}[_0x4b5d9d(0x316)];[_0x4b5d9d(0x302)];['token'];static{__name(this,'DoWhileStatement');}[_0x4b5d9d(0x354)](){const _0x161b71={_0x108eb4:0x302,_0x4235ee:0x354,_0x4de5b1:0x322},_0x177c2b=_0x4b5d9d;do{try{this[_0x177c2b(_0x161b71._0x108eb4)][_0x177c2b(_0x161b71._0x4235ee)]();}catch(_0x32f47b){if(_0x32f47b instanceof BreakStatement)break;else{if(_0x32f47b instanceof ContinueStatement){}else throw _0x32f47b;}}}while(this[_0x177c2b(0x316)][_0x177c2b(0x314)]()[_0x177c2b(_0x161b71._0x4de5b1)]()!=0x0);}['toString'](){const _0x13ca06={_0x333c4c:0x316},_0x23eb8b=_0x4b5d9d;return'do\x20{\x0a'+this[_0x23eb8b(0x302)]+'\x0a}\x0awhile\x20('+this[_0x23eb8b(_0x13ca06._0x333c4c)]+')\x0a';}},ForStatement=class{static{__name(this,'ForStatement');}[_0x4b5d9d(0x289)];[_0x4b5d9d(0x2a0)];['increment'];['block'];['token'];constructor(_0x576bec,_0x45c608,_0x55baa5,_0x5eaca7,_0xed3c6b){const _0x3555b4={_0x2b03a0:0x2a0},_0x17910d=_0x4b5d9d;this[_0x17910d(0x289)]=_0x576bec,this[_0x17910d(_0x3555b4._0x2b03a0)]=_0x45c608,this[_0x17910d(0x1ed)]=_0x55baa5,this[_0x17910d(0x29f)]=_0x5eaca7,this[_0x17910d(0x2e3)]=_0xed3c6b;}[_0x4b5d9d(0x354)](){const _0x1488f9={_0x532dd6:0x322},_0x538e63=_0x4b5d9d;for(this[_0x538e63(0x289)][_0x538e63(0x354)]();this[_0x538e63(0x2a0)]['eval']()[_0x538e63(_0x1488f9._0x532dd6)]()!=0x0;this[_0x538e63(0x1ed)][_0x538e63(0x354)]()){try{this['block']['execute']();}catch(_0x2ae0f6){if(_0x2ae0f6 instanceof BreakStatement)break;else{if(_0x2ae0f6 instanceof ContinueStatement){}else throw _0x2ae0f6;}}}}[_0x4b5d9d(0x1df)](){const _0xa5f8db={_0x40a1ba:0x2a0,_0x2fb3b2:0x315},_0x34d7e6=_0x4b5d9d;return _0x34d7e6(0x219)+this[_0x34d7e6(0x289)]+';\x20'+this[_0x34d7e6(_0xa5f8db._0x40a1ba)]+';\x20'+this['increment']+_0x34d7e6(_0xa5f8db._0x2fb3b2)+this[_0x34d7e6(0x29f)]+'\x0a}';}},FunctionDefineStatement=class{constructor(_0x309a94,_0x17755c,_0x11cc52,_0x3804e3){const _0x459d7f={_0x517522:0x207,_0x1a3df8:0x1e0,_0x458888:0x1f1,_0x263964:0x2e3},_0x55901f=_0x4b5d9d;this[_0x55901f(_0x459d7f._0x517522)]=_0x309a94,this[_0x55901f(_0x459d7f._0x1a3df8)]=_0x17755c,this[_0x55901f(_0x459d7f._0x458888)]=_0x11cc52,this[_0x55901f(_0x459d7f._0x263964)]=_0x3804e3;}[_0x4b5d9d(0x207)];[_0x4b5d9d(0x1e0)];[_0x4b5d9d(0x1f1)];[_0x4b5d9d(0x2e3)];static{__name(this,'FunctionDefineStatement');}[_0x4b5d9d(0x354)](){const _0x48a79e={_0x66010b:0x228,_0x5dab45:0x207,_0xb38e25:0x1e0},_0x4e12bf=_0x4b5d9d;Functions[_0x4e12bf(_0x48a79e._0x66010b)](this[_0x4e12bf(_0x48a79e._0x5dab45)],new UserDefineFunction(this[_0x4e12bf(_0x48a79e._0xb38e25)],this['body']));}[_0x4b5d9d(0x1df)](){const _0x564578={_0x295fa1:0x216,_0x4e004e:0x2a3},_0x14314e=_0x4b5d9d,_0x3b8e80=this[_0x14314e(0x1e0)][_0x14314e(_0x564578._0x295fa1)](_0x5a6deb=>_0x5a6deb['toString']())[_0x14314e(_0x564578._0x4e004e)](',\x20');return'function\x20'+this[_0x14314e(0x207)]+'('+_0x3b8e80+')';}},FunctionStatement=class{static{__name(this,_0x4b5d9d(0x2b8));}[_0x4b5d9d(0x333)];[_0x4b5d9d(0x2e3)];constructor(_0x485dad,_0x3553b2){const _0x13bc86=_0x4b5d9d;this['functionalExpression']=_0x485dad,this[_0x13bc86(0x2e3)]=_0x3553b2;}['execute'](){const _0x2f04b6={_0x289b00:0x314},_0x2a6bd3=_0x4b5d9d;this[_0x2a6bd3(0x333)][_0x2a6bd3(_0x2f04b6._0x289b00)]();}[_0x4b5d9d(0x1df)](){const _0x321774={_0x44821f:0x333,_0x22ceb3:0x1df},_0xef62b3=_0x4b5d9d;return''+this[_0xef62b3(_0x321774._0x44821f)][_0xef62b3(_0x321774._0x22ceb3)]();}},FunctionalExpression=class{static{__name(this,_0x4b5d9d(0x356));}['name'];[_0x4b5d9d(0x242)];[_0x4b5d9d(0x2e3)];constructor(_0x598e55,_0x38673e,_0x57a3f8){const _0x52113d={_0x2a034a:0x2e3},_0x410836=_0x4b5d9d;this['name']=_0x598e55,this['arguments']=_0x38673e,this[_0x410836(_0x52113d._0x2a034a)]=_0x57a3f8;}['addArgument'](_0x475d3d){const _0x32be39={_0x2dbc00:0x242,_0x4f7e59:0x348},_0x2c0364=_0x4b5d9d;return this[_0x2c0364(_0x32be39._0x2dbc00)][_0x2c0364(_0x32be39._0x4f7e59)](_0x475d3d);}['eval'](){const _0x40f06a={_0x2a1136:0x337,_0x3da81d:0x264,_0x487877:0x21e,_0x145f9a:0x2e4},_0x56ae81=_0x4b5d9d,_0x268551=this['arguments']['map'](_0x132974=>_0x132974[_0x56ae81(0x314)]()),_0x173fe5=_0x268551[_0x56ae81(0x27d)],_0x411b6d=Functions[_0x56ae81(0x2fc)](this['name']);if(_0x411b6d instanceof UserDefineFunction){const _0x42782a=_0x411b6d;if(_0x268551[_0x56ae81(0x27d)]!==_0x42782a[_0x56ae81(_0x40f06a._0x2a1136)]())throw new Error('Invalid\x20argument\x20count\x20for\x20function\x20'+this[_0x56ae81(0x207)]+_0x56ae81(_0x40f06a._0x3da81d)+_0x173fe5);Variables['push']();for(let _0x1858b4=0x0;_0x1858b4<_0x173fe5;_0x1858b4++){Variables['set'](_0x42782a[_0x56ae81(_0x40f06a._0x487877)](_0x1858b4),_0x268551[_0x1858b4]);}const _0x3fcc9c=_0x42782a['execute'](..._0x268551);return Variables[_0x56ae81(_0x40f06a._0x145f9a)](),_0x3fcc9c;}return _0x411b6d[_0x56ae81(0x354)](..._0x268551);}['toString'](){const _0xc88895=_0x4b5d9d,_0xfb780a=this[_0xc88895(0x242)][_0xc88895(0x216)](_0xe6daa5=>_0xe6daa5['toString']())[_0xc88895(0x2a3)](',\x20');return this[_0xc88895(0x207)]+'('+_0xfb780a+')';}},IfStatement=class{static{__name(this,_0x4b5d9d(0x239));}['expression'];[_0x4b5d9d(0x339)];[_0x4b5d9d(0x23e)];[_0x4b5d9d(0x2e3)];constructor(_0x35e2d0,_0x4ae6d0,_0x4b835c,_0x2b9f7f){const _0x1aca03={_0x5c42b0:0x292,_0x25a342:0x339,_0x3fc9ac:0x23e},_0x1197ab=_0x4b5d9d;this[_0x1197ab(_0x1aca03._0x5c42b0)]=_0x35e2d0,this[_0x1197ab(_0x1aca03._0x25a342)]=_0x4ae6d0,this[_0x1197ab(_0x1aca03._0x3fc9ac)]=_0x4b835c,this[_0x1197ab(0x2e3)]=_0x2b9f7f;}[_0x4b5d9d(0x354)](){const _0xb6e142={_0x5a79ad:0x322,_0x68b60c:0x339},_0x59851c=_0x4b5d9d,_0xea11f6=this[_0x59851c(0x292)][_0x59851c(0x314)]()[_0x59851c(_0xb6e142._0x5a79ad)]();if(_0xea11f6!=0x0)this[_0x59851c(_0xb6e142._0x68b60c)][_0x59851c(0x354)]();else this[_0x59851c(0x23e)]!=null&&this[_0x59851c(0x23e)]['execute']();}[_0x4b5d9d(0x1df)](){const _0x3af78c={_0x175240:0x292,_0x271edc:0x339,_0x10b65c:0x23e},_0x31bfc3=_0x4b5d9d;let _0x18acde=_0x31bfc3(0x220)+this[_0x31bfc3(_0x3af78c._0x175240)]+'\x20'+this[_0x31bfc3(_0x3af78c._0x271edc)];return this[_0x31bfc3(0x23e)]!=null&&(_0x18acde+=_0x31bfc3(0x1d7)+this[_0x31bfc3(_0x3af78c._0x10b65c)]),_0x18acde[_0x31bfc3(0x1df)]();}},IncrementType=(_0xbfd9f9=>{const _0x56f771={_0x32868c:0x213,_0x456f26:0x338,_0x522806:0x338,_0x3bc92c:0x33d,_0x4edb03:0x31f},_0x4b6fe5=_0x4b5d9d;return _0xbfd9f9[_0xbfd9f9[_0x4b6fe5(_0x56f771._0x32868c)]=0x0]=_0x4b6fe5(_0x56f771._0x32868c),_0xbfd9f9[_0xbfd9f9[_0x4b6fe5(_0x56f771._0x456f26)]=0x1]=_0x4b6fe5(_0x56f771._0x522806),_0xbfd9f9[_0xbfd9f9[_0x4b6fe5(_0x56f771._0x3bc92c)]=0x2]=_0x4b6fe5(0x33d),_0xbfd9f9[_0xbfd9f9[_0x4b6fe5(_0x56f771._0x4edb03)]=0x3]='POSTFIX_DECREMENT',_0xbfd9f9;})(IncrementType||{}),IncrementExpression=class{static{__name(this,_0x4b5d9d(0x22d));}[_0x4b5d9d(0x2e8)];[_0x4b5d9d(0x33b)];[_0x4b5d9d(0x2e3)];constructor(_0x221621,_0x2b73bf,_0x2c199d){const _0x155845={_0x3ac862:0x2e8,_0x42e99e:0x33b,_0x23774d:0x2e3},_0x28bf0a=_0x4b5d9d;this[_0x28bf0a(_0x155845._0x3ac862)]=_0x221621,this[_0x28bf0a(_0x155845._0x42e99e)]=_0x2b73bf,this[_0x28bf0a(_0x155845._0x23774d)]=_0x2c199d;}[_0x4b5d9d(0x314)](){const _0xd34f9={_0x12ccda:0x308,_0x49d739:0x322,_0xce022e:0x228},_0x4e8124=_0x4b5d9d,_0x58775c=this['variable']['getName'](),_0x1f8c13=Variables[_0x4e8124(0x2fc)](_0x58775c);if(!(_0x1f8c13 instanceof NumberValue))throw new Error(_0x4e8124(_0xd34f9._0x12ccda));const _0x5ed52e=_0x1f8c13[_0x4e8124(_0xd34f9._0x49d739)]();let _0x2dd429;switch(this[_0x4e8124(0x33b)]){case 0x0:_0x2dd429=_0x5ed52e+0x1,Variables[_0x4e8124(_0xd34f9._0xce022e)](_0x58775c,new NumberValue(_0x2dd429));return new NumberValue(_0x2dd429);case 0x1:_0x2dd429=_0x5ed52e-0x1,Variables[_0x4e8124(0x228)](_0x58775c,new NumberValue(_0x2dd429));return new NumberValue(_0x2dd429);case 0x2:Variables[_0x4e8124(0x228)](_0x58775c,new NumberValue(_0x5ed52e+0x1));return new NumberValue(_0x5ed52e);case 0x3:Variables['set'](_0x58775c,new NumberValue(_0x5ed52e-0x1));return new NumberValue(_0x5ed52e);}}},IncrementStatement=class{static{__name(this,_0x4b5d9d(0x1dd));}[_0x4b5d9d(0x292)];[_0x4b5d9d(0x2e3)];constructor(_0x307e9f,_0x3ebf99){const _0x5a5650=_0x4b5d9d;this[_0x5a5650(0x292)]=_0x307e9f,this[_0x5a5650(0x2e3)]=_0x3ebf99;}['execute'](){const _0x1a3606={_0xa6f9a1:0x292},_0x11aa6c=_0x4b5d9d;this[_0x11aa6c(_0x1a3606._0xa6f9a1)][_0x11aa6c(0x314)]();}},MemberCallExpression=class{static{__name(this,'MemberCallExpression');}[_0x4b5d9d(0x349)];[_0x4b5d9d(0x207)];[_0x4b5d9d(0x242)];['token'];constructor(_0x3d9871,_0x4d5d7a,_0x564a75,_0x55e4f7){const _0x1e5627={_0x44a46b:0x349,_0x4fafee:0x207,_0x24c6b8:0x242},_0x27498e=_0x4b5d9d;this[_0x27498e(_0x1e5627._0x44a46b)]=_0x3d9871,this[_0x27498e(_0x1e5627._0x4fafee)]=_0x4d5d7a,this[_0x27498e(_0x1e5627._0x24c6b8)]=_0x564a75,this[_0x27498e(0x2e3)]=_0x55e4f7;}[_0x4b5d9d(0x314)](){const _0x5e2050={_0x4ced64:0x246},_0x34cbac=_0x4b5d9d;throw new Error(_0x34cbac(_0x5e2050._0x4ced64));}[_0x4b5d9d(0x1df)](){const _0x5b91e7={_0x27d598:0x242,_0x2411ac:0x349},_0x5a9f47=_0x4b5d9d,_0x16dafc=this[_0x5a9f47(_0x5b91e7._0x27d598)]['map'](_0x28452a=>_0x28452a['toString']())['join'](',\x20');return this[_0x5a9f47(_0x5b91e7._0x2411ac)][_0x5a9f47(0x1df)]()+'.'+this[_0x5a9f47(0x207)]+'('+_0x16dafc+')';}},MetaBlockStatement=class{constructor(_0x540783,_0x50ca55,_0xb4b2a6,_0x797553){const _0x41b196=_0x4b5d9d;this['name']=_0x540783,this[_0x41b196(0x1e0)]=_0x50ca55,this[_0x41b196(0x1f1)]=_0xb4b2a6,this[_0x41b196(0x2e3)]=_0x797553;}[_0x4b5d9d(0x207)];[_0x4b5d9d(0x1e0)];[_0x4b5d9d(0x1f1)];[_0x4b5d9d(0x2e3)];static{__name(this,_0x4b5d9d(0x2d4));}[_0x4b5d9d(0x354)](){}[_0x4b5d9d(0x1df)](){const _0x2db84b={_0x5d4122:0x1e0,_0x153db8:0x216,_0x4e834d:0x232,_0x4bd9b7:0x1f1,_0x50e559:0x207},_0x57266e=_0x4b5d9d,_0x584106=this[_0x57266e(_0x2db84b._0x5d4122)][_0x57266e(_0x2db84b._0x153db8)](_0x569ffe=>_0x569ffe['toString']())['join'](',\x20');return _0x57266e(_0x2db84b._0x4e834d)+this['name']+'('+_0x584106+')\x0a'+this[_0x57266e(_0x2db84b._0x4bd9b7)]+'\x0a//@end-'+this[_0x57266e(_0x2db84b._0x50e559)];}},ObjectExpression=class{static{__name(this,'ObjectExpression');}[_0x4b5d9d(0x25d)];[_0x4b5d9d(0x2e3)];constructor(_0x44f6d7=new Map(),_0x16a049){const _0x466a68=_0x4b5d9d;this[_0x466a68(0x25d)]=_0x44f6d7,this[_0x466a68(0x2e3)]=_0x16a049;}[_0x4b5d9d(0x314)](){const _0x52f599={_0x1bfbad:0x25d},_0xacd1b1={_0x3d3384:0x228,_0x11b49c:0x314},_0x432e85=_0x4b5d9d,_0x48b760=new Map();return this[_0x432e85(_0x52f599._0x1bfbad)][_0x432e85(0x1f7)]((_0x26765a,_0x4b7166)=>{const _0x50771b=_0x432e85;_0x48b760[_0x50771b(_0xacd1b1._0x3d3384)](_0x4b7166,_0x26765a[_0x50771b(_0xacd1b1._0x11b49c)]());}),new ObjectValue(_0x48b760);}['toString'](){const _0x539f4f={_0x2b7011:0x329,_0x55c6ab:0x22e},_0x7cb8c2=_0x4b5d9d,_0x3cc726=Array[_0x7cb8c2(_0x539f4f._0x2b7011)](this['properties'][_0x7cb8c2(_0x539f4f._0x55c6ab)]())['map'](([_0x3d37a7,_0x4db43e])=>_0x3d37a7+':\x20'+_0x4db43e[_0x7cb8c2(0x1df)]())['join'](',\x20');return'{'+_0x3cc726+'}';}},PrintStatement=class{static{__name(this,'PrintStatement');}[_0x4b5d9d(0x292)];[_0x4b5d9d(0x2e3)];constructor(_0x118b2f,_0x21b66a){this['expression']=_0x118b2f,this['token']=_0x21b66a;}[_0x4b5d9d(0x354)](){const _0x3f327b={_0x16b78d:0x2ca,_0x40e952:0x215},_0x297d4b=_0x4b5d9d,_0xb22269=this[_0x297d4b(0x292)][_0x297d4b(0x314)]()[_0x297d4b(_0x3f327b._0x16b78d)]();console[_0x297d4b(_0x3f327b._0x40e952)](''+_0xb22269);}[_0x4b5d9d(0x1df)](){const _0x1be1e1=_0x4b5d9d;return _0x1be1e1(0x2e9)+this['expression'];}},PropertyAccessExpression=class{static{__name(this,'PropertyAccessExpression');}[_0x4b5d9d(0x349)];['name'];[_0x4b5d9d(0x2e3)];constructor(_0x394828,_0x568161,_0x1bd1b9){const _0x4cc30a={_0x2e8530:0x207,_0x4d0250:0x2e3},_0xa3a22c=_0x4b5d9d;this[_0xa3a22c(0x349)]=_0x394828,this[_0xa3a22c(_0x4cc30a._0x2e8530)]=_0x568161,this[_0xa3a22c(_0x4cc30a._0x4d0250)]=_0x1bd1b9;}[_0x4b5d9d(0x314)](){throw new Error('PropertyAccessExpression.eval()\x20is\x20not\x20implemented\x20in\x20the\x20in-process\x20interpreter\x20—\x20use\x20AstExecutor\x20(src/dsl/ast-executor.ts)\x20instead.');}[_0x4b5d9d(0x1df)](){const _0x56e833=_0x4b5d9d;return this[_0x56e833(0x349)][_0x56e833(0x1df)]()+'.'+this[_0x56e833(0x207)];}},RegExpExpression=class{static{__name(this,'RegExpExpression');}['token'];[_0x4b5d9d(0x362)];['flags'];['value'];constructor(_0x1fa5fb,_0x35a674,_0x19b1d2){const _0x4975b6={_0x2b82f5:0x2e3,_0x40637c:0x351},_0x2238e2=_0x4b5d9d;this[_0x2238e2(_0x4975b6._0x2b82f5)]=_0x19b1d2,this[_0x2238e2(0x362)]=_0x1fa5fb,this[_0x2238e2(_0x4975b6._0x40637c)]=_0x35a674,this[_0x2238e2(0x2f4)]=new RegExpValue(_0x1fa5fb,_0x35a674);}['eval'](){return this['value'];}['toString'](){const _0x5bbae2={_0x1ad875:0x2f4},_0x2fd647=_0x4b5d9d;return this[_0x2fd647(_0x5bbae2._0x1ad875)]['asString']();}},ReturnStatement=class extends Error{static{__name(this,_0x4b5d9d(0x35c));}[_0x4b5d9d(0x292)];[_0x4b5d9d(0x306)];['token'];constructor(_0x370ce9,_0x1b8638){const _0xb4994b={_0xc6f2c4:0x2e5,_0x365a70:0x292},_0xa9aebc=_0x4b5d9d;super(_0xa9aebc(_0xb4994b._0xc6f2c4)),this[_0xa9aebc(_0xb4994b._0x365a70)]=_0x370ce9,this[_0xa9aebc(0x2e3)]=_0x1b8638;}[_0x4b5d9d(0x293)](){const _0x37ef34={_0x3f823f:0x27f},_0x58cf84=_0x4b5d9d;if(!this[_0x58cf84(0x306)])throw new Error(_0x58cf84(_0x37ef34._0x3f823f));return this['result'];}[_0x4b5d9d(0x354)](){const _0x268159={_0x1e8d11:0x314},_0x5d05af=_0x4b5d9d;this[_0x5d05af(0x306)]=this['expression'][_0x5d05af(_0x268159._0x1e8d11)]();throw this;}[_0x4b5d9d(0x1df)](){const _0x2bf111={_0x20d371:0x1d9},_0x15d43e=_0x4b5d9d;return _0x15d43e(_0x2bf111._0x20d371);}},TokenType=(_0x16a328=>{const _0x1b2065={_0x287489:0x1f6,_0x2924f6:0x2f1,_0x50c4e7:0x310,_0x1d07a9:0x2c2,_0x40b558:0x214,_0x49de01:0x248,_0x82331a:0x2f6,_0x2f1718:0x30e,_0x55e01f:0x2c5,_0x539d44:0x340,_0x19f441:0x33e,_0x536ac0:0x1f9,_0x18083e:0x2f0,_0x1e77b3:0x1eb,_0x5ba50a:0x1eb,_0x1d9fda:0x323,_0x1d1733:0x252,_0x9f3ac4:0x28c,_0x5ca426:0x35a,_0x334e74:0x240,_0x59f804:0x21f,_0x2e4725:0x25b,_0x220fdb:0x364,_0x4e0fd5:0x26c,_0x9fa06:0x298,_0x555be:0x225},_0x401739=_0x4b5d9d;return _0x16a328[_0x16a328[_0x401739(_0x1b2065._0x287489)]=0x0]=_0x401739(0x1f6),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x2924f6)]=0x1]=_0x401739(_0x1b2065._0x2924f6),_0x16a328[_0x16a328[_0x401739(0x1e3)]=0x2]=_0x401739(0x1e3),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x50c4e7)]=0x3]=_0x401739(_0x1b2065._0x50c4e7),_0x16a328[_0x16a328['VAR']=0x4]='VAR',_0x16a328[_0x16a328[_0x401739(0x2c2)]=0x5]=_0x401739(_0x1b2065._0x1d07a9),_0x16a328[_0x16a328['IF']=0x6]='IF',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x40b558)]=0x7]=_0x401739(_0x1b2065._0x40b558),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x49de01)]=0x8]='WHILE',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x82331a)]=0x9]='FOR',_0x16a328[_0x16a328['DO']=0xa]='DO',_0x16a328[_0x16a328[_0x401739(0x2bf)]=0xb]=_0x401739(0x2bf),_0x16a328[_0x16a328[_0x401739(0x30e)]=0xc]=_0x401739(_0x1b2065._0x2f1718),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x55e01f)]=0xd]=_0x401739(0x2c5),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x539d44)]=0xe]='RETURN',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x19f441)]=0xf]='STEP',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x536ac0)]=0x10]=_0x401739(_0x1b2065._0x536ac0),_0x16a328[_0x16a328[_0x401739(0x24d)]=0x11]='PLUSPLUS',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x18083e)]=0x12]=_0x401739(0x2f0),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x1e77b3)]=0x13]=_0x401739(_0x1b2065._0x5ba50a),_0x16a328[_0x16a328[_0x401739(0x24a)]=0x14]=_0x401739(0x24a),_0x16a328[_0x16a328['SLASH']=0x15]=_0x401739(0x266),_0x16a328[_0x16a328['EQ']=0x16]='EQ',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x1d9fda)]=0x17]=_0x401739(0x323),_0x16a328[_0x16a328[_0x401739(0x234)]=0x18]=_0x401739(0x234),_0x16a328[_0x16a328[_0x401739(0x35d)]=0x19]=_0x401739(0x35d),_0x16a328[_0x16a328[_0x401739(0x2c9)]=0x1a]='EXCLEQ',_0x16a328[_0x16a328[_0x401739(0x252)]=0x1b]=_0x401739(_0x1b2065._0x1d1733),_0x16a328[_0x16a328['LT']=0x1c]='LT',_0x16a328[_0x16a328[_0x401739(0x28c)]=0x1d]=_0x401739(_0x1b2065._0x9f3ac4),_0x16a328[_0x16a328['GT']=0x1e]='GT',_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x5ca426)]=0x1f]='GTEQ',_0x16a328[_0x16a328['BAR']=0x20]=_0x401739(0x28a),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x334e74)]=0x21]='BARBAR',_0x16a328[_0x16a328[_0x401739(0x31a)]=0x22]=_0x401739(0x31a),_0x16a328[_0x16a328['AMPAMP']=0x23]=_0x401739(_0x1b2065._0x59f804),_0x16a328[_0x16a328[_0x401739(0x345)]=0x24]=_0x401739(0x345),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x2e4725)]=0x25]=_0x401739(0x25b),_0x16a328[_0x16a328[_0x401739(0x24f)]=0x26]=_0x401739(0x24f),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x220fdb)]=0x27]='RBRACE',_0x16a328[_0x16a328[_0x401739(0x26c)]=0x28]=_0x401739(_0x1b2065._0x4e0fd5),_0x16a328[_0x16a328[_0x401739(0x2ea)]=0x29]=_0x401739(0x2ea),_0x16a328[_0x16a328['COMMA']=0x2a]=_0x401739(0x2ec),_0x16a328[_0x16a328['COLON']=0x2b]='COLON',_0x16a328[_0x16a328['SEMICOLON']=0x2c]=_0x401739(0x361),_0x16a328[_0x16a328[_0x401739(_0x1b2065._0x9fa06)]=0x2d]='DOT',_0x16a328[_0x16a328['ARROW']=0x2e]='ARROW',_0x16a328[_0x16a328[_0x401739(0x2df)]=0x2f]=_0x401739(0x2df),_0x16a328[_0x16a328[_0x401739(0x299)]=0x30]=_0x401739(0x299),_0x16a328[_0x16a328['EOF']=0x31]=_0x401739(_0x1b2065._0x555be),_0x16a328;})(TokenType||{}),ValueExpression=class{static{__name(this,_0x4b5d9d(0x2aa));}[_0x4b5d9d(0x2f4)];[_0x4b5d9d(0x2e3)];constructor(_0x576fe2,_0x37b928){const _0x441857={_0x3b7977:0x2e3,_0x2316a:0x2f4,_0x3e5610:0x1e9,_0x39802a:0x2f4,_0x4938cf:0x29b},_0x5550ea=_0x4b5d9d;this[_0x5550ea(_0x441857._0x3b7977)]=_0x37b928;if(_0x37b928['getType']()===0x0){this[_0x5550ea(_0x441857._0x2316a)]=new NumberValue(parseFloat(_0x576fe2));return;}if(_0x37b928[_0x5550ea(_0x441857._0x3e5610)]()===0x2){this[_0x5550ea(_0x441857._0x39802a)]=new StringValue(_0x576fe2);return;}throw new Error(_0x5550ea(_0x441857._0x4938cf)+_0x37b928);}[_0x4b5d9d(0x314)](){const _0x1bc36e=_0x4b5d9d;return this[_0x1bc36e(0x2f4)];}['toString'](){const _0x19b44b={_0x14dde4:0x2f4},_0x4db21c=_0x4b5d9d;return''+this[_0x4db21c(_0x19b44b._0x14dde4)][_0x4db21c(0x2ca)]();}},StepStatement=class{static{__name(this,'StepStatement');}['label'];[_0x4b5d9d(0x1f1)];['token'];[_0x4b5d9d(0x32b)];[_0x4b5d9d(0x25a)];constructor(_0x281877,_0x1bf766,_0x6c1b4a,_0x506b82={}){const _0x1781bb={_0x51c599:0x29c,_0x39e78c:0x32b,_0x27690c:0x25a},_0x492a63=_0x4b5d9d;this[_0x492a63(_0x1781bb._0x51c599)]=_0x281877,this['body']=_0x1bf766,this[_0x492a63(0x2e3)]=_0x6c1b4a,this[_0x492a63(0x32b)]=_0x506b82[_0x492a63(_0x1781bb._0x39e78c)]??![],this[_0x492a63(_0x1781bb._0x27690c)]=_0x506b82[_0x492a63(_0x1781bb._0x27690c)]??null;}[_0x4b5d9d(0x288)](){const _0x2256bd={_0x4eaf21:0x25a},_0x2a6d10=_0x4b5d9d;return this['options']instanceof ObjectExpression?this[_0x2a6d10(_0x2256bd._0x4eaf21)]['properties']['get']('tag'):void 0x0;}[_0x4b5d9d(0x354)](){}['labelText'](){const _0x46731f=_0x4b5d9d;return this[_0x46731f(0x29c)]instanceof ValueExpression?this[_0x46731f(0x29c)][_0x46731f(0x2f4)]['asString']():'';}[_0x4b5d9d(0x1df)](){const _0x3ab88f={_0x179a4d:0x32b},_0x554747=_0x4b5d9d,_0x546a8c=this[_0x554747(_0x3ab88f._0x179a4d)]?'step.soft':_0x554747(0x27e),_0x4a98db=this[_0x554747(0x25a)]?this[_0x554747(0x25a)]+',\x20':'';return _0x546a8c+'('+this[_0x554747(0x29c)]+',\x20'+_0x4a98db+'()\x20=>\x20{\x0a'+this['body']+_0x554747(0x32f);}},UnaryExpression=class{static{__name(this,'UnaryExpression');}[_0x4b5d9d(0x313)];['operator'];[_0x4b5d9d(0x2e3)];constructor(_0x3b0be4,_0x3fd910,_0x27a693){const _0x5e7f8f={_0xc462f9:0x2b2,_0x17dcce:0x2e3},_0x360be9=_0x4b5d9d;this[_0x360be9(_0x5e7f8f._0xc462f9)]=_0x3b0be4,this[_0x360be9(0x313)]=_0x3fd910,this[_0x360be9(_0x5e7f8f._0x17dcce)]=_0x27a693;}[_0x4b5d9d(0x314)](){const _0x3e77fe={_0x471085:0x2b2,_0x374f81:0x322,_0x2619b0:0x314,_0x3a362c:0x322},_0xebb412=_0x4b5d9d;switch(this[_0xebb412(_0x3e77fe._0x471085)]){case'-':return new NumberValue(-this['operand'][_0xebb412(0x314)]()[_0xebb412(_0x3e77fe._0x374f81)]());case'+':default:return new NumberValue(this['operand'][_0xebb412(_0x3e77fe._0x2619b0)]()[_0xebb412(_0x3e77fe._0x3a362c)]());}}[_0x4b5d9d(0x1df)](){return''+this['operator']+this['operand'];}},UndefinedValue=class _UndefinedValue{static{__name(this,_0x4b5d9d(0x346));}static [_0x4b5d9d(0x2e6)]=new _UndefinedValue();[_0x4b5d9d(0x2a7)](){return _UndefinedValue['UNDEFINED'];}['asNumber'](){return NaN;}[_0x4b5d9d(0x2ca)](){const _0x3f9811={_0x4493ba:0x290},_0x15b17c=_0x4b5d9d;return _0x15b17c(_0x3f9811._0x4493ba);}[_0x4b5d9d(0x1df)](){const _0x48a9c2=_0x4b5d9d;return this[_0x48a9c2(0x2ca)]();}},VarStatement=class{static{__name(this,_0x4b5d9d(0x1e6));}[_0x4b5d9d(0x335)];[_0x4b5d9d(0x2e3)];constructor(_0x3072da,_0x1a1917){const _0x3f2127={_0xbfe63b:0x335},_0x12d2a7=_0x4b5d9d;this[_0x12d2a7(_0x3f2127._0xbfe63b)]=_0x3072da,this['token']=_0x1a1917;}[_0x4b5d9d(0x354)](){const _0x387236={_0x2b3c07:0x335,_0x42c30f:0x228,_0xb50958:0x207},_0x24d2c3=_0x4b5d9d;for(const _0x26c6eb of this[_0x24d2c3(_0x387236._0x2b3c07)]){if(_0x26c6eb[_0x24d2c3(0x212)]){const _0x1e4d12=_0x26c6eb['init'][_0x24d2c3(0x314)]();Variables[_0x24d2c3(_0x387236._0x42c30f)](_0x26c6eb[_0x24d2c3(_0x387236._0xb50958)],_0x1e4d12);}else Variables[_0x24d2c3(0x228)](_0x26c6eb[_0x24d2c3(0x207)],UndefinedValue['UNDEFINED']);}}['toString'](){const _0x51a730=_0x4b5d9d,_0x1b9bbf=this[_0x51a730(0x335)]['map'](_0x2e72e4=>_0x2e72e4[_0x51a730(0x212)]?_0x2e72e4[_0x51a730(0x207)]+_0x51a730(0x2c7)+_0x2e72e4[_0x51a730(0x212)]:_0x2e72e4[_0x51a730(0x207)])[_0x51a730(0x2a3)](',\x20');return'var\x20'+_0x1b9bbf;}},VariableExpression=class{static{__name(this,'VariableExpression');}[_0x4b5d9d(0x207)];[_0x4b5d9d(0x2e3)];constructor(_0x353a6c,_0x2676a7){this['name']=_0x353a6c,this['token']=_0x2676a7;}[_0x4b5d9d(0x314)](){const _0x2a10b5={_0x38a174:0x207,_0x40862f:0x35e,_0x3c97b5:0x2fc},_0x53e225=_0x4b5d9d;if(!Variables['isExists'](this[_0x53e225(_0x2a10b5._0x38a174)]))throw new Error(_0x53e225(_0x2a10b5._0x40862f)+this['name']+'\x20does\x20not\x20exist!');return Variables[_0x53e225(_0x2a10b5._0x3c97b5)](this[_0x53e225(0x207)]);}[_0x4b5d9d(0x327)](){const _0x449494={_0x3c3229:0x207},_0x4b21af=_0x4b5d9d;return this[_0x4b21af(_0x449494._0x3c3229)];}['toString'](){const _0x4d0cbc=_0x4b5d9d;return''+this[_0x4d0cbc(0x207)];}},WhileStatement=class{constructor(_0x274690,_0x9c0e5b,_0x5b940b){const _0x384e2e={_0x80c8a5:0x316,_0x18aa51:0x302,_0x276749:0x2e3},_0x7b530e=_0x4b5d9d;this[_0x7b530e(_0x384e2e._0x80c8a5)]=_0x274690,this[_0x7b530e(_0x384e2e._0x18aa51)]=_0x9c0e5b,this[_0x7b530e(_0x384e2e._0x276749)]=_0x5b940b;}[_0x4b5d9d(0x316)];[_0x4b5d9d(0x302)];[_0x4b5d9d(0x2e3)];static{__name(this,'WhileStatement');}[_0x4b5d9d(0x354)](){const _0x54c7a8={_0x3331b1:0x316,_0x5c4772:0x314,_0x47a653:0x302},_0x30c069=_0x4b5d9d;while(this[_0x30c069(_0x54c7a8._0x3331b1)][_0x30c069(_0x54c7a8._0x5c4772)]()[_0x30c069(0x322)]()!=0x0){try{this[_0x30c069(_0x54c7a8._0x47a653)][_0x30c069(0x354)]();}catch(_0x17eca2){if(_0x17eca2 instanceof BreakStatement)break;else{if(_0x17eca2 instanceof ContinueStatement){}else throw _0x17eca2;}}}}[_0x4b5d9d(0x1df)](){const _0xa9c6fa={_0x4041dd:0x316,_0x4b4f01:0x315},_0x15c67c=_0x4b5d9d;return'while\x20('+this[_0x15c67c(_0xa9c6fa._0x4041dd)]+_0x15c67c(_0xa9c6fa._0x4b4f01)+this[_0x15c67c(0x302)]+'\x0a}';}},ParseError=class _ParseError extends Error{static{__name(this,'ParseError');}['line'];[_0x4b5d9d(0x2b6)];constructor(_0x652c56,_0x563fbe,_0xb79373){const _0xe17280={_0x3888fb:0x2b6},_0x5ecfe8=_0x4b5d9d;super(_0x652c56),this['name']='ParseError',this[_0x5ecfe8(0x2c0)]=_0x563fbe,this[_0x5ecfe8(_0xe17280._0x3888fb)]=_0xb79373;}static['at'](_0x31ad38,_0x5958cf){return new _ParseError(_0x5958cf,_0x31ad38['getLine'](),_0x31ad38['getColumn']());}},Token=class{static{__name(this,'Token');}[_0x4b5d9d(0x2b0)];['type'];[_0x4b5d9d(0x2b6)];[_0x4b5d9d(0x2c0)];constructor(_0x2e4471,_0x29fcdf,_0x8731f1,_0x10d4b1){const _0x8f4917=_0x4b5d9d;this[_0x8f4917(0x33b)]=_0x2e4471,this['text']=_0x29fcdf,this['column']=_0x8731f1,this['line']=_0x10d4b1;}[_0x4b5d9d(0x256)](){const _0x4e3d83={_0xc2ccc:0x2b0},_0x7ed5b0=_0x4b5d9d;return this[_0x7ed5b0(_0x4e3d83._0xc2ccc)];}[_0x4b5d9d(0x1e9)](){return this['type'];}[_0x4b5d9d(0x280)](){const _0x42b65e={_0x5f37d9:0x2c0},_0x1984f4=_0x4b5d9d;return this[_0x1984f4(_0x42b65e._0x5f37d9)];}[_0x4b5d9d(0x30d)](){const _0x1a2a0a={_0x493cc4:0x2b6},_0x1ca205=_0x4b5d9d;return this[_0x1ca205(_0x1a2a0a._0x493cc4)];}[_0x4b5d9d(0x1df)](){const _0x233240={_0xb42f92:0x294,_0x530bb3:0x257,_0x264c14:0x2c0,_0x132d86:0x32a,_0x4a8c02:0x2b6},_0x528f02=_0x4b5d9d;return'Token(type:\x20'+TokenType[this['type']]+_0x528f02(_0x233240._0xb42f92)+this['text']+_0x528f02(_0x233240._0x530bb3)+this[_0x528f02(_0x233240._0x264c14)]+_0x528f02(_0x233240._0x132d86)+this[_0x528f02(_0x233240._0x4a8c02)]+')';}};function isNumber(_0x25edf9){const _0x27ad4c=_0x4b5d9d,_0x45aa4e=Number(_0x25edf9);return!isNaN(_0x45aa4e)&&_0x25edf9[_0x27ad4c(0x28b)]()===_0x45aa4e['toString']();}__name(isNumber,_0x4b5d9d(0x247));function isWordStart(_0xbba8b){const _0xf2cb7f={_0x2178de:0x2b7},_0x5c70df=_0x4b5d9d;return/^[a-zA-Zа-яА-ЯёЁ_$]$/[_0x5c70df(_0xf2cb7f._0x2178de)](_0xbba8b);}__name(isWordStart,_0x4b5d9d(0x2d1));function isLetterInWord(_0x2fde01){const _0x10e233=_0x4b5d9d;return/^[a-zA-Zа-яА-ЯёЁ0-9_$]$/[_0x10e233(0x2b7)](_0x2fde01);}__name(isLetterInWord,_0x4b5d9d(0x24b));var DIVIDE_AFTER=new Set([0x0,0x1,0x2,0x4,0x25,0x29,0x11,0x13]);function isRegexAllowedAfter(_0x4ada90){const _0x1cbb1a=_0x4b5d9d;return!DIVIDE_AFTER[_0x1cbb1a(0x32e)](_0x4ada90);}__name(isRegexAllowedAfter,'isRegexAllowedAfter');function _0x2741(){const _0x54f830=['nJyZndi1tNPOuKLc','B3bLCMf0Aw9U','zM9YicG','BgfZDeLUzgv4','CMvNzxGGzMXHzYaN','rvm2ihn0AwnREq','B3bLBLrHyIG','z2v0qxjNC05HBwu','qu1qqu1q','AwyG','C3bSAxq','yMXVy2TnzxrHqMXVy2S','AwzfBhnL','CMvWBgfJzq','ru9g','zMLUywXSEq','Aw5KzxG','C2v0','yNvPBgrbC3nLCNrbDxrOzw50AwnHDgvKrhnS','zg9xAgLSzvn0yxrLBwvUDa','Bwf4','yNvPBgrtyxzLrM9YBurZBa','sw5JCMvTzw50rxHWCMvZC2LVBG','zw50CMLLCW','Dg9Rzw5PEMvszwDLEa','zwXLBwvUDefZC2vYDcGIq09ovefjtLmIlca','mZaWqMDztKnL','lY9a','yNvPBgrtD2L0y2HuB0zYyw1LrhnS','rvffuuvr','Bwv0yujSB2nR','yxjYyxLfEhbYzxnZAw9U','BwLU','yNvPBgrbC3nLCNrdB3vUDevXDwfSC0rZBa','swztDgf0zw1LBNq','DhLWzvrLEhqO','tKvr','it09','zwXLBwvUDev4ChjLC3nPB24','zwXZzvn0yxrLBwvUDa','yxnZzxj0ugfNzvjLywr5ka','qKfsqKfs','zM9Yu3rHDgvTzw50','yxjNDw1LBNrZ','Dg9Rzw5PEMvxB3jK','rvmYmde4igrVDefSBa','yNvPBgrbC3nLCNruB2fZDfzPC2LIBgveC2W','twvTyMvYq2fSBev4ChjLC3nPB24UzxzHBcGPigLZig5VDcbPBxbSzw1LBNrLzcbPBIb0AguGAw4TChjVy2vZCYbPBNrLCNbYzxrLCIdIGjqGDxnLiefZDev4zwn1Dg9YicHZCMmVzhnSl2fZDc1LEgvJDxrVCI50CYKGAw5ZDgvHzc4','AxnoDw1Izxi','v0Hjteu','rvmYmdi0ihvUAwnVzgvtzxrZ','u1rbuG','Axnmzxr0zxjjBLDVCMq','C2f2zuzVCM0O','ueXvu1bmvvm','yNvPBgrxywL0rM9Yvgv4DerZBa','tejsqunf','CgfYC2u','Aw5KzxHpzG','rvHdtevrrve','reLwsurf','CgfKu3rHCNq','zNvUy3rPB24','z2v0vgv4Da','iIWGBgLUztOG','yNvPBgrty3jVBgXuB1rVCerZBa','sw52ywXPzcb0B2TLBML6zu9WzxjHDg9YoIb1BMv4CgvJDgvKigvUzcbVzIbPBNb1Da','B3b0Aw9UCW','uLbbuKvo','DMfY','ChjVCgvYDgLLCW','qMLUyxj5rxHWCMvZC2LVBG','vw5RBM93BIbMDw5JDgLVBJOG','yNvPBgrbC3nLCNroB1zPC2LIBgvfCNjVCKrZBa','D2fPDezVCLvstcG','zhjHz0fUzerYB3aO','ywrKAxrPDMu','oIbLEhbLy3rLzca','yNvPBgrpCgvUrhnS','u0Xbu0G','y29UC3vTzufYCMf5','Aw5KzxHfEhbYzxnZAw9UCW','C2XPy2u','t25LigfYz3vTzw50igv4CgvJDgvK','y29UzgL0Aw9UywW','tejsqunlrvq','zNvUy3rPB25ezwzPBMu','ugfYC2vY','t1bfuKfut1jFq0HbuLm','y29UDgLUDwu','C2nYB2XSvg9cB3r0B20O','zxHWB3j0','ihWG','qxjYyxKGzxHWzwn0zwq','Cg9Z','rxHWzwn0zwqGAwrLBNrPzMLLCIbHzNrLCIaNlIC','C3rHDgvTzw50CW','tgv4zxi','D2fPDezVCLrLEhqO','DgHPCW','jYbPCYbHihjLC2vYDMvKiePHDMfty3jPChqGA2v5D29Yzc4GvxnLigeGzgLMzMvYzw50ig5HBwuU','z2v0t3bLCMf0B3joyw1L','BgvUz3rO','C3rLCa','tM90igv4zwn1DguGuMv0DxjUu3rHDgvTzw50','z2v0tgLUzq','Dg9Rzw5PEMvuzxH0','D2HPBgvtDgf0zw1LBNq','C2v0ugfNzq','vw5LEhbLy3rLzcbUB24TyNjLywTPBMCGC3bHy2uGkfuRmdbbmcKG4OcuihjLCgXHy2uGAxqGD2L0AcbHihjLz3vSyxiGC3bHy2u','Dg9Rzw5PEMvnzxrHv29Yza','Aw5KzxHLCW','ywz0zxjcBg9JAW','DgfNrxHWCMvZC2LVBG','Aw5PDgLHBgL6yxrPB24','qKfs','DhjPBq','tfrfuq','Aw5WDxq','C2L6zq','yM9VBgvHBG','Dw5KzwzPBMvK','jYbYzxf1AxjLCYa','zxHWCMvZC2LVBG','z2v0uMvZDwX0','lcb0zxH0oIaI','iIWG','DxjSqxnZzxj0kcjdt05uquLouYiSia','Bg9JyxrVCG','re9u','q0Xpu0vFtuvuqv9cte9dsW','j3zHCICGAw4GzM9YlwXVB3aGAw5PDgLHBgL6yxrPB24GAxmGBM90ihn1ChbVCNrLzcbIEsb0AguGqMXVy2TSEsbJB252zxj0zxiUifvZzsbWBgfPBIbHC3nPz25Tzw50oIaNzM9YicHRid0GmtSGAYa8psbooYbRid0GAYaRidePjY4','vw5YzwnVz25PEMvKihzHBhvLlIa','BgfIzwW','DMfSAwrHDgvfCZvgBgfNCW','yNvPBgrty3jVBgXjBNrVvMLLD0rZBa','yMXVy2S','DgvYBwLUyxrPB24','Dg9Rzw5PEMvoDw1Izxi','vw50zxjTAw5HDgvKihjLz2v4igXPDgvYywWGkgXPBMuGyNjLywSGAw5ZAwrLigjVzhKPlG','AM9PBG','B2jQzwn0rxHWCMvZC2LVBG','Dg9Rzw5PEMvdB21Tzw50','qxjYyxLby2nLC3nfEhbYzxnZAw9U','y2XVBMu','zNvUy3rPB25fEhbYzxnZAw9U','CgvLAW','vMfSDwvfEhbYzxnZAw9U','yNvPBgrbC3nLCNruzxH0q29UDgfPBNneC2W','kv0P','yNvPBgrgBg93rhnS','icaGia','y2fZzq','Dgv4Da','zNvUy3rPB25Z','B3bLCMf0B3i','zMLSBezVCM0OiG','zwXZzq','yxnZzxj0u2vJDgLVBLrPDgXLka','y29SDw1U','DgvZDa','rNvUy3rPB25tDgf0zw1LBNq','yNvPBgrbC3nLCNruzxH0rxf1ywXZrhnS','vxnLCKrLzMLUzuz1BMn0Aw9U','vw5LEhbLy3rLzca','Dg9mB2nHDg9YkfTSB2nHDg9YkcC','BxvSDgLWBgLJyxrL','u3rYAw5N','qLjfquS','BgLUzq','Aw1WB3j0','ufjjtLq','u05fuq','Dg9Rzw5PEMvsyxDuzxH0','rLvoq1rjt04','yxnZzxj0sw5WDxrwywX1zsG','id0G','Dg9Rzw5Z','rvHdtevr','yxntDhjPBMC','u0vr','yxnZzxj0vg9HC3rwAxnPyMXLka','zM9YBwf0ugfYC2vfCNjVCG','qxjYyxLfEhbYzxnZAw9U','C3rYAw5NAwz5','mtiXEKvKEgv2','AxnxB3jKu3rHCNq','vw5YzwnVz25PEMvKig9WzxjHDg9YigzVCIbZDhjPBMCGDMfSDwu','D2fPDezVCIG','twv0yujSB2nRu3rHDgvTzw50','tvvmveLqtfK','y2fSBfDPDgHqB3n0zML4','AxnfEgLZDhm','yNvPBgrdBg9ZzurPywXVz0rZBa','yNvPBgrbC3nLCNrwAxnPyMXLrhnS','zwXLBwvUDfzPC2LIAwXPDhLbC3nLCNqOiK5pvf9wsvnjqKXfiIWG','zM9Yy2vdBgLJAYG','q2fUBM90ignHC3qGyxjYyxKGDg8GBNvTyMvY','DMfYAwfIBgvoyw1L','lcaIiZy2y2nJyYiPoW','tuvuqv9cte9dsW','kY0QlYGPE31Bxt08pIeMFcW6oY4','yxDHAxq','D2fPDezVCKHPzgrLBIG','Dg9Rzw4','Cg9W','q29UDgLUDwvtDgf0zw1LBNq','vu5eruzjtKve','zwnOBW','DMfYAwfIBgu','ChjPBNqG','uKjsqunlrvq','rxHWzwn0zwqGChjVCgvYDhKGA2v5icH3B3jKig9Yihn0CMLUzYK','q09ntue','DxjSqxnZzxj0kcjjuYiSia','zwXLBwvUDfzPC2LIAwXPDhLbC3nLCNqOiLzju0LcteuIlca','sw52ywXPzcb0B2TLBML6zu9WzxjHDg9Yia','tuLovvm','v09sra','y2XPCgjVyxjKugfZDguO','yxnZAwDUBwvUDfn0yxrLBwvUDa','DMfSDwu','C2nYB2XSsw50B1zPzxCO','rK9s','C3rLCfn0yxrLBwvUDa','ywrKvg9Rzw4','Dg9Rzw5PEMvpCgvYyxrVCG','Dhj1zq','rvmYmdiYigHHC0LUzgLJzxm','z2v0','EwLLBgq','zxnJyxbLrhnSu3rYAw5N','y29UC3vTzvDVCMq','y29UC3vTzq','C3DPDgnOvg9gCMfTzsG','C3rHDgvTzw50','ntaWnJnmtK9RD28','y29Z','Bg9VA01HDgnO','CMvZDwX0','twLZC2LUzYbJBg9ZzsbXDw90zsbPBIbZDhjPBMCGBgL0zxjHBa','q2fUBM90igLUy3jLBwvUDc9KzwnYzw1LBNqGBM9Ulw51BwvYAwmGDMfSDwu','vw5RBM93BIbZDgf0zw1LBNq6ihvUzxHWzwn0zwqG','lcbJB2X1Bw4G','Dg9Rzw5PEMvnDwX0AwXPBMvdB21Tzw50','yNvPBgrxywL0rM9YrhnS','z2v0q29SDw1U','q09oveLovuu','y2XPy2SO','uKvhrvG','ChjPBNq','BNvTyMvY','B3bLCMfUza','zxzHBa','kqP7cG','y29UzgL0Aw9U','Dg9Rzw5PEMu','yNvPBgrxywL0rM9YvvjmrhnS','yNvPBgrdBgLWyM9HCMrqyxn0zurZBa','qu1q','vw5LEhbLy3rLzcbJAgfYywn0zxiG','zgvMyxvSDa','C3rHCNrZv2L0Aa','ywrK','ue9tvezjwf9erunsru1ftLq','Bg9NAwnHBefUza','nLfxzu1oEa','yxnoDw1Izxi','rvffuq','DM9Pza','ndC5mtaXnuXts3zztW','zMLSBa','z2v0tMfTzq','zxHWCJi','zNjVBq','lcbJB2X1Bw46ia','C29MDa','ChjPBwfYEq','yNvPBgrbC3nLCNruywjSzu5VDevTChr5rhnS','AgfZ','cN0P','yNvPBgrbC3nLCNrjBNb1DfzHBhvLrhnS','ndq5m2zizMzmAq','qNjLywTtDgf0zw1LBNq','zNvUy3rPB25HBev4ChjLC3nPB24','y29TBwvUDhm','zgvJBgfYyxrVCNm','BMv4Da','z2v0qxjNC0nVDw50','ufjfrKLyx0rfq1jftuvova','AwztDgf0zw1LBNq','yNvPBgrgB3jJzunSAwnRrhnS','DhLWzq','tNvTyMvYvMfSDwu','ue9tvezjwf9jtKnsru1ftLq','u1rfua','zxf1ywXPDhK','uKvuvvjo','zMXVD18','yNvPBgrbC3nLCNroB3rwAxnPyMXLrhnS','Bg9JywXLq29TCgfYzq','Bgv0','tfbbuKvo','vw5KzwzPBMvKvMfSDwu','Bg9NAwnHBe9Y','ChvZAa','CMvJzwL2zxi','t2jQzwn0vMfSDwu','yxnZzxj0qxv0AgvUDgLJyxrLzcG','zM9Y','zgvIDwDNzxi','rNvUy3rPB25Z','oYbUB3qGAw4Grvm1ihn1yNnLDc4Gu2vLigrVy3mVzhnSl3jLz2v4lwXPDgvYywWTzxm1lM1KigzVCIb0AguGC3vWCg9YDgvKigzSywCGC2v0lG','DMfYu3rHDgvTzw50','zMXHz3m','zgvSzxrL','m1vqBKjwDa','zxHLy3v0zq','yNvPBgrtD2L0y2HuB01HAw5gCMfTzurZBa','rNvUy3rPB25HBev4ChjLC3nPB24','B3bLBIG','pt09','vMfYAwfIBguGBMfTzsaN','r1rfuq','yNvPBgrdBgLJA0rZBa','uMv0DxjUu3rHDgvTzw50','rvHdta','q29UC3rHBNqG','BMv3','yNvPBgrpCgvUtwvUDuL0zw1eC2W','u0vnsunpte9o','C291CMnL','rvm2ihvUAwnVzgu','uKjsqunf','yxnZzxj0rgLHBg9Nt3bLBIG','wKvstW','igvSC2uG','DMfYAwfIBgvZ','CMv0DxjU','yxjYyxK','ica+ia','D2L0Aa','sw5JCMvTzw50u3rHDgvTzw50','ouLmsNHqra','Dg9tDhjPBMC','yxjNtMfTzxm','qu5e','Dw5HCNK','vevyva','yxnZzxj0vgfIBgvoB3rfBxb0EsG','mtmWnZi3mKXpzxbuzG','vMfYu3rHDgvTzw50','zwXLBwvUDhm','mJq4mJb4Bxndv0G','z2v0vhLWzq','twLZC2LUzYbJBg9Zzsb0ywCGAw4Gy29TBwvUDa','tuLovvnnsu5vuW','mJiZndq3mMz1ueP3vG','Aw5JCMvTzw50','z2v0uhjVCgvYDgLLCW','AgLNAgXPz2H0qMXVy2S','BNvSBa','yM9KEq','CMvWzwf0','vw5RBM93BIbZDgvWig1VzgLMAwvYici','zxHWCJe','ChjLC3mO','tLvnqKvs','zM9YrwfJAa','uMvNrxHWrMXHz0vYCM9Y','ueXvuW','yNvPBgrbC3nLCNrtzwn0Aw9UvgL0BgveC2W','uhjVCgvYDhKTCMvHzcbLEhbYzxnZAw9UihvZzwqGyxmGysbZDgf0zw1LBNqGkg5VihnPzguGzwzMzwn0ks4GrwL0AgvYigfZC2LNBIbPDcaOyhGGpsbYB3CUzM9VycKGB3iGy2fSBcbHig1LDgHVzcaOyhjVDY5MB28OkwaPlG','CMvNzxHdB250zxH0qwXSB3DLza','zwXLBwvUDenVDw50qxnZzxj0kcjfuvvbtciSia','sw52ywXPzcb0B2TLBJOGDw5LEhbLy3rLzca','Bwf0y2G','mtC4vKXyC1PQ','DgHYB3C','y2HHCKf0','C3rHy2S','z2v0qxjYyxK','CgvLA0DYB3vW','C3rHDgvTzw50t3jcBg9JAW','BMfTzq','jY4Grvm1igfSBg93CYbNlcbPlcbTlG','y2f0y2G','vw50zxjTAw5HDgvKihjLz2v4igXPDgvYywWGkgrHBMDSAw5NigjHy2TZBgfZAcKU','DhLWzw9M','uKvtrvjwrurFv09srfm','lcbLEhbLy3rLzca','dqOa','t1bfuKfut1jt','yNvPBgrlzxLWCMvZC0rZBa','C2vSzwn0q29TyM9IB3HwywX1zsG','Aw5PDa','ufjfrKLyx0Loq1jftuvova','ruXtrq','Bg9N','BwfW'];_0x2741=function(){return _0x54f830;};return _0x2741();}var Lexer=class{static{__name(this,_0x4b5d9d(0x278));}[_0x4b5d9d(0x26f)]=_0x4b5d9d(0x2e0);[_0x4b5d9d(0x20f)]=new Map([['+',0x10],['++',0x11],['-',0x12],['--',0x13],['*',0x14],['/',0x15],['(',0x24],[')',0x25],['{',0x26],['}',0x27],['[',0x28],[']',0x29],['=',0x16],['<',0x1c],['>',0x1e],[',',0x2a],[':',0x2b],[';',0x2c],['.',0x2d],['!',0x19],['&',0x22],['|',0x20],['==',0x17],[_0x4b5d9d(0x358),0x18],['!=',0x1a],[_0x4b5d9d(0x23c),0x1b],['<=',0x1d],['>=',0x1f],['=>',0x2e],['&&',0x23],['||',0x21]]);[_0x4b5d9d(0x28d)];[_0x4b5d9d(0x27d)];[_0x4b5d9d(0x2c8)]=[];[_0x4b5d9d(0x275)]=0x0;[_0x4b5d9d(0x2b6)]=0x1;[_0x4b5d9d(0x2c0)]=0x1;['comments']=[];constructor(_0x22550a){const _0x3b44c1={_0x5397b2:0x27d},_0x13d4fa=_0x4b5d9d;this[_0x13d4fa(0x28d)]=_0x22550a,this[_0x13d4fa(0x27d)]=_0x22550a[_0x13d4fa(_0x3b44c1._0x5397b2)];}[_0x4b5d9d(0x317)](){const _0x191d1c={_0x3f510b:0x2a9,_0x296354:0x281,_0x3cd41a:0x232,_0x3d9d6a:0x22f,_0x19a384:0x251,_0x458f22:0x2c0,_0x206b45:0x2b6,_0x3eb750:0x31b,_0x4820e5:0x2cf,_0x431a25:0x2c8},_0x5e21c6=_0x4b5d9d;while(this['pos']<this[_0x5e21c6(0x27d)]){const _0x4e3d78=this[_0x5e21c6(_0x191d1c._0x3f510b)](0x0);if(isNumber(_0x4e3d78))this[_0x5e21c6(0x2a1)]();else{if(isWordStart(_0x4e3d78))this[_0x5e21c6(0x243)]();else{if(_0x4e3d78==='\x22'||_0x4e3d78==='\x27')this[_0x5e21c6(_0x191d1c._0x296354)](_0x4e3d78);else{if(_0x4e3d78==='`')this[_0x5e21c6(0x2c4)]();else{if(this['peekGroup'](0x3)===_0x5e21c6(_0x191d1c._0x3cd41a))this[_0x5e21c6(0x285)]();else{if(_0x4e3d78==='/'&&this['regexContextAllowed']())this[_0x5e21c6(_0x191d1c._0x3d9d6a)]();else{if(this['OPERATOR_CHARS'][_0x5e21c6(_0x191d1c._0x19a384)](_0x4e3d78)!==-0x1)this[_0x5e21c6(0x2f9)]();else{if(_0x4e3d78==='\x20'||_0x4e3d78==='\x09'||_0x4e3d78==='\x0d'||_0x4e3d78==='\x0a'||_0x4e3d78==='\ufeff')this['next']();else{if(_0x4e3d78==='\u00a0')throw new ParseError(_0x5e21c6(0x284),this[_0x5e21c6(_0x191d1c._0x458f22)],this[_0x5e21c6(_0x191d1c._0x206b45)]);else throw new ParseError(_0x5e21c6(_0x191d1c._0x3eb750)+JSON[_0x5e21c6(_0x191d1c._0x4820e5)](_0x4e3d78),this[_0x5e21c6(_0x191d1c._0x458f22)],this[_0x5e21c6(0x2b6)]);}}}}}}}}}return this[_0x5e21c6(_0x191d1c._0x431a25)];}[_0x4b5d9d(0x1fc)](){const _0x293617={_0x289ac7:0x2a9,_0x5ac300:0x2a9,_0x1cb990:0x27d},_0x6ac06d=_0x4b5d9d;if(this[_0x6ac06d(_0x293617._0x289ac7)](0x1)==='/'||this[_0x6ac06d(_0x293617._0x5ac300)](0x1)==='*')return![];const _0x5d452d=this['tokens'][_0x6ac06d(_0x293617._0x1cb990)]===0x0?null:this['tokens'][this[_0x6ac06d(0x2c8)][_0x6ac06d(0x27d)]-0x1];if(_0x5d452d===null)return!![];return isRegexAllowedAfter(_0x5d452d['getType']());}[_0x4b5d9d(0x22f)](){const _0x24b8c6={_0x198be9:0x2a2,_0x50c37f:0x336,_0x59bbdb:0x20a,_0x3caaec:0x348,_0x1e841b:0x348,_0x1c26dd:0x2a9,_0x54106c:0x2a3},_0x4708f0=_0x4b5d9d,_0x252537=this['column'],_0x1b5235=this['line'];this['next']();const _0x5993fe=[];let _0x29eaae=![],_0x2ca38f=this['peek'](0x0);while(_0x2ca38f!=='\x00'){if(_0x2ca38f==='\x0a'||_0x2ca38f==='\x0d')throw new ParseError(_0x4708f0(_0x24b8c6._0x198be9),_0x1b5235,_0x252537);if(_0x2ca38f==='\x5c'){_0x5993fe['push'](_0x2ca38f),_0x2ca38f=this[_0x4708f0(_0x24b8c6._0x50c37f)]();if(_0x2ca38f==='\x00'||_0x2ca38f==='\x0a'||_0x2ca38f==='\x0d')throw new ParseError(_0x4708f0(_0x24b8c6._0x59bbdb),_0x1b5235,_0x252537);_0x5993fe[_0x4708f0(_0x24b8c6._0x3caaec)](_0x2ca38f),_0x2ca38f=this[_0x4708f0(_0x24b8c6._0x50c37f)]();continue;}if(_0x2ca38f==='['&&!_0x29eaae){_0x29eaae=!![],_0x5993fe[_0x4708f0(_0x24b8c6._0x1e841b)](_0x2ca38f),_0x2ca38f=this[_0x4708f0(0x336)]();continue;}if(_0x2ca38f===']'&&_0x29eaae){_0x29eaae=![],_0x5993fe[_0x4708f0(_0x24b8c6._0x1e841b)](_0x2ca38f),_0x2ca38f=this[_0x4708f0(0x336)]();continue;}if(_0x2ca38f==='/'&&!_0x29eaae)break;_0x5993fe[_0x4708f0(0x348)](_0x2ca38f),_0x2ca38f=this[_0x4708f0(_0x24b8c6._0x50c37f)]();}if(_0x2ca38f!=='/')throw new ParseError('Unterminated\x20regex\x20literal\x20(missing\x20closing\x20/).',_0x1b5235,_0x252537);this[_0x4708f0(0x336)]();const _0x5822cc=[];_0x2ca38f=this[_0x4708f0(_0x24b8c6._0x1c26dd)](0x0);while(_0x2ca38f!=='\x00'&&isLetterInWord(_0x2ca38f)){_0x5822cc[_0x4708f0(0x348)](_0x2ca38f),_0x2ca38f=this[_0x4708f0(_0x24b8c6._0x50c37f)]();}this[_0x4708f0(0x2f8)](0x3,_0x5993fe[_0x4708f0(0x2a3)]('')+'\x00'+_0x5822cc[_0x4708f0(_0x24b8c6._0x54106c)](''),_0x252537,_0x1b5235);}[_0x4b5d9d(0x336)](){const _0x211e4f={_0x2b59e8:0x202,_0x3375a6:0x275,_0x3a9c58:0x275,_0x272372:0x2c0,_0x24ed8a:0x2a9},_0x81e100=_0x4b5d9d,_0x375332=this[_0x81e100(0x28d)][_0x81e100(_0x211e4f._0x2b59e8)](this[_0x81e100(_0x211e4f._0x3375a6)]);return this[_0x81e100(_0x211e4f._0x3a9c58)]++,_0x375332=='\x0a'?(this[_0x81e100(_0x211e4f._0x272372)]++,this['column']=0x1):this[_0x81e100(0x2b6)]++,this[_0x81e100(_0x211e4f._0x24ed8a)](0x0);}['peek'](_0x226f2d){const _0x53bc90={_0x33dd3e:0x275},_0x4f7e35=_0x4b5d9d,_0x2501d5=this[_0x4f7e35(_0x53bc90._0x33dd3e)]+_0x226f2d;if(_0x2501d5>=this[_0x4f7e35(0x27d)])return'\x00';return this['input']['charAt'](_0x2501d5);}[_0x4b5d9d(0x205)](_0x188e83){const _0xb86ec2={_0x2750ad:0x348},_0xa365f5=_0x4b5d9d,_0x1994f6=[];for(let _0x5ed016=0x0;_0x5ed016<_0x188e83;_0x5ed016++){_0x1994f6[_0xa365f5(_0xb86ec2._0x2750ad)](this['peek'](_0x5ed016));}return _0x1994f6[_0xa365f5(0x2a3)]('');}['addToken'](_0x339b26,_0x1fb612,_0x5801f7,_0x3fd7c6){const _0x11d8b2={_0x168115:0x2c8,_0x32229a:0x348},_0x12534e=_0x4b5d9d;this[_0x12534e(_0x11d8b2._0x168115)][_0x12534e(_0x11d8b2._0x32229a)](new Token(_0x339b26,_0x1fb612,_0x5801f7,_0x3fd7c6));}[_0x4b5d9d(0x2a1)](){const _0x449ef0={_0x48fd52:0x348,_0x1a563c:0x336},_0xa92b5c=_0x4b5d9d,_0x3486d0=this[_0xa92b5c(0x2b6)],_0x298a6b=this[_0xa92b5c(0x2c0)],_0x5bd254=[];let _0x5b2c27=this[_0xa92b5c(0x2a9)](0x0);while(_0x5b2c27!=='\x00'){if(_0x5b2c27=='.'){if(_0x5bd254[_0xa92b5c(0x251)]('.')!==-0x1)throw new ParseError('Invalid\x20float\x20number',this[_0xa92b5c(0x2c0)],this[_0xa92b5c(0x2b6)]);}else{if(!isNumber(_0x5b2c27))break;}_0x5bd254[_0xa92b5c(_0x449ef0._0x48fd52)](_0x5b2c27),_0x5b2c27=this[_0xa92b5c(_0x449ef0._0x1a563c)]();}this[_0xa92b5c(0x2f8)](0x0,_0x5bd254[_0xa92b5c(0x2a3)](''),_0x3486d0,_0x298a6b);}['consumeWord'](){const _0x501a02={_0x386d06:0x348},_0x481401=_0x4b5d9d,_0x42848c=[];let _0x46b421=this[_0x481401(0x2a9)](0x0);while(_0x46b421!=='\x00'){if(!isLetterInWord(_0x46b421))break;_0x42848c[_0x481401(_0x501a02._0x386d06)](_0x46b421),_0x46b421=this['next']();}return _0x42848c[_0x481401(0x2a3)]('');}[_0x4b5d9d(0x285)](){const _0xd17880={_0x4e6e62:0x336},_0x47612b=_0x4b5d9d,_0x4d1456=this[_0x47612b(0x2b6)],_0x5d9211=this['line'];this[_0x47612b(_0xd17880._0x4e6e62)](),this[_0x47612b(0x336)](),this[_0x47612b(0x336)]();const _0x49b8e3=this[_0x47612b(0x2ff)]();_0x49b8e3[_0x47612b(0x31d)]('end')?this[_0x47612b(0x2f8)](0x30,_0x49b8e3,_0x4d1456,_0x5d9211):this['addToken'](0x2f,_0x49b8e3,_0x4d1456,_0x5d9211);}['tokenizeWord'](){const _0x107bfe={_0x6afe77:0x2b6,_0x19f7b2:0x2c0,_0x4d2ee2:0x25c,_0xa0b9cc:0x2f8,_0x1cd802:0x27e,_0x4e86f6:0x2f8},_0x4a7e25=_0x4b5d9d,_0x26cd01=this[_0x4a7e25(_0x107bfe._0x6afe77)],_0x4a6ad1=this[_0x4a7e25(_0x107bfe._0x19f7b2)],_0x453e29=this[_0x4a7e25(0x2ff)]();switch(_0x453e29){case _0x4a7e25(_0x107bfe._0x4d2ee2):this[_0x4a7e25(0x2f8)](0x4,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(0x311):this[_0x4a7e25(0x2f8)](0x5,'',_0x26cd01,_0x4a6ad1);break;case'if':this['addToken'](0x6,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(0x2b4):this[_0x4a7e25(_0x107bfe._0xa0b9cc)](0x7,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(0x34c):this[_0x4a7e25(_0x107bfe._0xa0b9cc)](0x9,'',_0x26cd01,_0x4a6ad1);break;case'while':this[_0x4a7e25(_0x107bfe._0xa0b9cc)](0x8,'',_0x26cd01,_0x4a6ad1);break;case'do':this[_0x4a7e25(0x2f8)](0xa,'',_0x26cd01,_0x4a6ad1);break;case'break':this[_0x4a7e25(0x2f8)](0xb,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(0x270):this['addToken'](0xc,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(0x255):this['addToken'](0xd,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(0x1d9):this[_0x4a7e25(0x2f8)](0xe,'',_0x26cd01,_0x4a6ad1);break;case _0x4a7e25(_0x107bfe._0x1cd802):this[_0x4a7e25(_0x107bfe._0x4e86f6)](0xf,'',_0x26cd01,_0x4a6ad1);break;default:this[_0x4a7e25(_0x107bfe._0xa0b9cc)](0x1,_0x453e29,_0x26cd01,_0x4a6ad1);}}[_0x4b5d9d(0x281)](_0x469a24){const _0x374be2={_0x5d6355:0x336,_0x5bc2bf:0x2a9,_0x3898ad:0x348,_0xe1580b:0x307},_0x5539f2=_0x4b5d9d,_0x41c93a=this['column'],_0x4c666b=this[_0x5539f2(0x2c0)];this[_0x5539f2(_0x374be2._0x5d6355)]();const _0x266635=[];let _0x99121=this[_0x5539f2(_0x374be2._0x5bc2bf)](0x0);while(_0x99121!=='\x00'){if(_0x99121=='\x5c'){_0x99121=this[_0x5539f2(0x336)]();switch(_0x99121){case _0x469a24:_0x99121=this[_0x5539f2(0x336)](),_0x266635[_0x5539f2(0x348)](_0x469a24);continue;case'n':_0x99121=this[_0x5539f2(0x336)](),_0x266635[_0x5539f2(0x348)]('\x0a');continue;case't':_0x99121=this['next'](),_0x266635[_0x5539f2(_0x374be2._0x3898ad)]('\x09');continue;case'\x5c':_0x99121=this['next'](),_0x266635[_0x5539f2(0x348)]('\x5c');continue;}_0x266635[_0x5539f2(_0x374be2._0x3898ad)]('\x5c');_0x99121!=='\x00'&&(_0x266635[_0x5539f2(0x348)](_0x99121),_0x99121=this[_0x5539f2(0x336)]());continue;}if(_0x99121==_0x469a24)break;_0x266635[_0x5539f2(_0x374be2._0x3898ad)](_0x99121),_0x99121=this['next']();}if(_0x99121==='\x00')throw new ParseError(_0x5539f2(_0x374be2._0xe1580b),_0x4c666b,_0x41c93a);this['next']();const _0x578178=_0x266635['join']('');this['addToken'](0x2,_0x578178,_0x41c93a,_0x4c666b);}['tokenizeRawText'](){const _0xebe90f={_0x5d8a35:0x2b6,_0x5627bc:0x2a9,_0x5cf7f7:0x348,_0x5a017c:0x336},_0x5b4b53=_0x4b5d9d,_0x50e8a8=this[_0x5b4b53(_0xebe90f._0x5d8a35)],_0x2ae08d=this[_0x5b4b53(0x2c0)];this['next']();const _0x18ee3b=[];let _0x20a23c=this[_0x5b4b53(_0xebe90f._0x5627bc)](0x0);while(_0x20a23c!=='\x00'&&_0x20a23c!=='`'){if(_0x20a23c==='$'&&this['peek'](0x1)==='{')throw new ParseError('Template\x20interpolation\x20`${...}`\x20is\x20not\x20allowed\x20in\x20unotest\x20DSL\x20strings.\x20Use\x20positional\x20args\x20instead:\x20evaluate(\x27return\x20arg.x\x27,\x20{arg:\x20value}).',this[_0x5b4b53(0x2c0)],this[_0x5b4b53(0x2b6)]);_0x18ee3b[_0x5b4b53(_0xebe90f._0x5cf7f7)](_0x20a23c),_0x20a23c=this[_0x5b4b53(_0xebe90f._0x5a017c)]();}if(_0x20a23c==='\x00')throw new ParseError('Missing\x20close\x20backtick\x20in\x20raw\x20string\x20literal',_0x2ae08d,_0x50e8a8);this[_0x5b4b53(0x336)](),this[_0x5b4b53(0x2f8)](0x2,_0x18ee3b[_0x5b4b53(0x2a3)](''),_0x50e8a8,_0x2ae08d);}[_0x4b5d9d(0x2a5)](_0x2486d1,_0x264496){const _0x5b7f48={_0x3f39d3:0x20e,_0x57a076:0x251,_0x1436f2:0x348},_0x171b78=_0x4b5d9d,_0x23d01c=[];let _0xb9736=this['peek'](0x0);while(_0x171b78(_0x5b7f48._0x3f39d3)[_0x171b78(_0x5b7f48._0x57a076)](_0xb9736)==-0x1){_0x23d01c[_0x171b78(_0x5b7f48._0x1436f2)](_0xb9736),_0xb9736=this[_0x171b78(0x336)]();}this[_0x171b78(0x334)]['push']({'line':_0x2486d1,'column':_0x264496,'text':_0x23d01c['join']('')[_0x171b78(0x28b)]()});}[_0x4b5d9d(0x30b)](_0x8ca9be,_0x5485a1){const _0x32f078={_0x2d467c:0x2a9,_0x1f5cbc:0x1ea,_0x3f4813:0x348,_0x111aa8:0x28b},_0x45fc09=_0x4b5d9d,_0x5ef512=[];let _0x5bad7c=this[_0x45fc09(_0x32f078._0x2d467c)](0x0);while(_0x5bad7c!='\x00'){if(_0x5bad7c=='*'&&this['peek'](0x1)=='/')break;_0x5ef512['push'](_0x5bad7c),_0x5bad7c=this[_0x45fc09(0x336)]();}if(_0x5bad7c=='\x00')throw new ParseError(_0x45fc09(_0x32f078._0x1f5cbc),_0x8ca9be,_0x5485a1);this['next'](),this[_0x45fc09(0x336)](),this['comments'][_0x45fc09(_0x32f078._0x3f4813)]({'line':_0x8ca9be,'column':_0x5485a1,'text':_0x5ef512[_0x45fc09(0x2a3)]('')[_0x45fc09(_0x32f078._0x111aa8)]()});}[_0x4b5d9d(0x2f9)](){const _0x14730d={_0x20847d:0x2b6,_0x3bc07e:0x2a9,_0x8f3325:0x2a5,_0x2feb9d:0x336,_0x115d54:0x2b6,_0x5e7a31:0x2a3,_0x284fb8:0x20f,_0x48d1dc:0x2f8,_0x570520:0x348,_0x2fbdc1:0x2a3,_0x4ab533:0x20f,_0x8fbed5:0x2f8,_0x9aef92:0x259},_0x373282=_0x4b5d9d;let _0x3ad2a0=this['peek'](0x0);if(_0x3ad2a0=='/'){const _0x368a2d=this[_0x373282(0x2c0)],_0xa3549f=this[_0x373282(_0x14730d._0x20847d)];if(this[_0x373282(_0x14730d._0x3bc07e)](0x1)=='/'){this['next'](),this[_0x373282(0x336)](),this[_0x373282(_0x14730d._0x8f3325)](_0x368a2d,_0xa3549f);return;}else{if(this[_0x373282(0x2a9)](0x1)=='*'){this[_0x373282(_0x14730d._0x2feb9d)](),this[_0x373282(_0x14730d._0x2feb9d)](),this['tokenizeMultilineComment'](_0x368a2d,_0xa3549f);return;}}}const _0x156ad5=this[_0x373282(_0x14730d._0x115d54)],_0x2fea1c=this[_0x373282(0x2c0)],_0x4aa3e3=[];while(_0x3ad2a0!=='\x00'){const _0x567598=_0x4aa3e3[_0x373282(_0x14730d._0x5e7a31)]('');if(!this['OPERATORS'][_0x373282(0x32e)](_0x567598+_0x3ad2a0)&&_0x567598!=''){const _0x248cdd=this[_0x373282(_0x14730d._0x284fb8)]['get'](_0x567598);if(!_0x248cdd)throw new ParseError(_0x373282(0x2ef)+_0x567598,_0x2fea1c,_0x156ad5);this[_0x373282(_0x14730d._0x48d1dc)](_0x248cdd,'',_0x156ad5,_0x2fea1c);return;}_0x4aa3e3[_0x373282(_0x14730d._0x570520)](_0x3ad2a0),_0x3ad2a0=this[_0x373282(0x336)]();}const _0x1ec2bf=_0x4aa3e3[_0x373282(_0x14730d._0x2fbdc1)]('');if(_0x1ec2bf!==''){const _0x23ea28=this[_0x373282(_0x14730d._0x4ab533)][_0x373282(0x2fc)](_0x1ec2bf);if(_0x23ea28){this[_0x373282(_0x14730d._0x8fbed5)](_0x23ea28,'',_0x156ad5,_0x2fea1c);return;}}throw new ParseError(_0x373282(_0x14730d._0x9aef92),_0x2fea1c,_0x156ad5);}},CONTEXT_LINES=0x2;function formatCodeFrame(_0x5c67ec,_0x4e520f,_0x499b35,_0x293647=CONTEXT_LINES){const _0x3ed2e1={_0x15a65c:0x221,_0x4949fd:0x22b,_0x5d925d:0x237,_0x43f99e:0x27d,_0x3d2713:0x254,_0x5be624:0x2ae,_0x5882c7:0x1db,_0x22be46:0x237,_0x24a9af:0x1f2},_0xeaeb13=_0x4b5d9d,_0x101c55=_0x5c67ec[_0xeaeb13(_0x3ed2e1._0x15a65c)](/\r\n|\n|\r/),_0xca7d6=Math[_0xeaeb13(0x237)](Math[_0xeaeb13(_0x3ed2e1._0x4949fd)](_0x4e520f,0x1),_0x101c55[_0xeaeb13(0x27d)]),_0x53ef78=Math[_0xeaeb13(0x22b)](0x1,_0xca7d6-_0x293647),_0x271d4d=Math[_0xeaeb13(_0x3ed2e1._0x5d925d)](_0x101c55[_0xeaeb13(_0x3ed2e1._0x43f99e)],_0xca7d6+_0x293647),_0x3f85c8=String(_0x271d4d)[_0xeaeb13(0x27d)],_0x2ba04b=[];for(let _0x3fe582=_0x53ef78;_0x3fe582<=_0x271d4d;_0x3fe582++){const _0x164312=_0x101c55[_0x3fe582-0x1]??'',_0x3e50b3=String(_0x3fe582)[_0xeaeb13(_0x3ed2e1._0x3d2713)](_0x3f85c8);if(_0x3fe582!==_0xca7d6){_0x2ba04b['push'](_0xeaeb13(_0x3ed2e1._0x5be624)+_0x3e50b3+_0xeaeb13(0x273)+_0x164312);continue;}_0x2ba04b[_0xeaeb13(0x348)](_0xeaeb13(_0x3ed2e1._0x5882c7)+_0x3e50b3+'\x20|\x20'+_0x164312);const _0x2f9e15=Math[_0xeaeb13(_0x3ed2e1._0x22be46)](Math[_0xeaeb13(0x22b)](_0x499b35,0x1),_0x164312[_0xeaeb13(0x27d)]+0x1)-0x1;_0x2ba04b['push'](_0xeaeb13(0x2ae)+'\x20'[_0xeaeb13(_0x3ed2e1._0x24a9af)](_0x3f85c8)+_0xeaeb13(0x273)+'\x20'[_0xeaeb13(0x1f2)](_0x2f9e15)+'^');}return _0x2ba04b[_0xeaeb13(0x2a3)]('\x0a');}__name(formatCodeFrame,'formatCodeFrame');function formatParseError(_0xf86131,_0x321acc){const _0x5a1374={_0x5cc56f:0x2c0,_0x37e64a:0x30a,_0x537493:0x2b6},_0x2bd7df=_0x4b5d9d;return _0x321acc['message']+'\x20(line\x20'+_0x321acc[_0x2bd7df(_0x5a1374._0x5cc56f)]+_0x2bd7df(_0x5a1374._0x37e64a)+_0x321acc[_0x2bd7df(_0x5a1374._0x537493)]+')\x0a'+formatCodeFrame(_0xf86131,_0x321acc[_0x2bd7df(0x2c0)],_0x321acc[_0x2bd7df(0x2b6)]);}__name(formatParseError,_0x4b5d9d(0x2cd));var Parser=class _Parser{static{__name(this,_0x4b5d9d(0x26e));}[_0x4b5d9d(0x225)]=new Token(0x31,'',-0x1,-0x1);['tokens']=[];[_0x4b5d9d(0x275)]=0x0;[_0x4b5d9d(0x28e)];constructor(_0x574d91){const _0x25d722={_0x5bb54e:0x2c8},_0x17ff47=_0x4b5d9d;this[_0x17ff47(_0x25d722._0x5bb54e)]=_0x574d91,this['size']=_0x574d91[_0x17ff47(0x27d)];}[_0x4b5d9d(0x250)](){const _0xfbaefe={_0x3931ad:0x2fc,_0x18e8b1:0x31e,_0x18b888:0x1ff},_0x5c0738=_0x4b5d9d,_0x1efd9b=this[_0x5c0738(_0xfbaefe._0x3931ad)](0x0),_0x1653cb=new BlockStatement(_0x1efd9b);while(!this[_0x5c0738(0x1ff)](0x31)){_0x1653cb[_0x5c0738(_0xfbaefe._0x18e8b1)](this[_0x5c0738(0x302)]()),this[_0x5c0738(_0xfbaefe._0x18b888)](0x2c);}return _0x1653cb;}[_0x4b5d9d(0x206)](){const _0x34f424={_0x4a7001:0x29f,_0x1360a6:0x302},_0x4bf35f=_0x4b5d9d;if(this['get'](0x0)['getType']()===0x26)return this[_0x4bf35f(_0x34f424._0x4a7001)]();return this[_0x4bf35f(_0x34f424._0x1360a6)]();}[_0x4b5d9d(0x222)](_0x244b59){const _0x2e4100={_0x448749:0x2fc,_0x422348:0x31e},_0xaec740=_0x4b5d9d,_0x1585b1=this[_0xaec740(_0x2e4100._0x448749)](0x0),_0x403bc7=new BlockStatement(_0x1585b1);while(!this[_0xaec740(0x1ff)](0x30)){_0x403bc7[_0xaec740(_0x2e4100._0x422348)](this[_0xaec740(0x302)]()),this['match'](0x2c);}return _0x403bc7;}[_0x4b5d9d(0x235)](){const _0x23c970={_0x381b35:0x300,_0x16f51e:0x348,_0x3b939c:0x256,_0x3f2888:0x1ff,_0x60fde8:0x222},_0x51e5f6=_0x4b5d9d,_0x10a49b=this[_0x51e5f6(0x2fc)](0x0),_0x18574f=this[_0x51e5f6(0x300)](0x2f)[_0x51e5f6(0x256)]();this[_0x51e5f6(_0x23c970._0x381b35)](0x24);const _0x193d96=[];while(!this[_0x51e5f6(0x1ff)](0x25)){_0x193d96[_0x51e5f6(_0x23c970._0x16f51e)](this['consume'](0x2)[_0x51e5f6(_0x23c970._0x3b939c)]()),this[_0x51e5f6(_0x23c970._0x3f2888)](0x2a);}const _0x3cc0f9=this[_0x51e5f6(_0x23c970._0x60fde8)](_0x18574f);return new MetaBlockStatement(_0x18574f,_0x193d96,_0x3cc0f9,_0x10a49b);}[_0x4b5d9d(0x2f7)](_0x24fb87){const _0x1a2c5d={_0x247160:0x300,_0x39355f:0x256,_0x151b07:0x256,_0x47252f:0x300,_0x4bce76:0x29f},_0xdaca36=_0x4b5d9d;let _0x46e6ea=![];if(this[_0xdaca36(0x1ff)](0x2d)){const _0x119a8a=this[_0xdaca36(_0x1a2c5d._0x247160)](0x1);if(_0x119a8a[_0xdaca36(_0x1a2c5d._0x39355f)]()!=='soft')throw ParseError['at'](_0x119a8a,_0xdaca36(0x1f3)+_0x119a8a[_0xdaca36(_0x1a2c5d._0x151b07)]()+'\x22\x20—\x20the\x20only\x20one\x20is\x20step.soft(...).');_0x46e6ea=!![];}this[_0xdaca36(0x300)](0x24);const _0x1d8c08=this[_0xdaca36(0x292)]();this['consume'](0x2a);let _0x293742=null;this[_0xdaca36(0x305)](0x0,0x26)&&(_0x293742=this[_0xdaca36(0x292)](),this[_0xdaca36(_0x1a2c5d._0x47252f)](0x2a));this[_0xdaca36(0x300)](0x24),this[_0xdaca36(_0x1a2c5d._0x247160)](0x25),this[_0xdaca36(0x300)](0x2e);const _0x46d2b9=this[_0xdaca36(_0x1a2c5d._0x4bce76)]();return this['consume'](0x25),new StepStatement(_0x1d8c08,_0x46d2b9,_0x24fb87,{'soft':_0x46e6ea,'options':_0x293742});}[_0x4b5d9d(0x29f)](){const _0x475999={_0x1f043f:0x2fc,_0xfd9031:0x300,_0x3cdeee:0x302},_0x43c4c3=_0x4b5d9d,_0x5dd598=this[_0x43c4c3(_0x475999._0x1f043f)](0x0),_0x33b4e3=new BlockStatement(_0x5dd598);this[_0x43c4c3(_0x475999._0xfd9031)](0x26);while(!this[_0x43c4c3(0x1ff)](0x27)){_0x33b4e3[_0x43c4c3(0x31e)](this[_0x43c4c3(_0x475999._0x3cdeee)]()),this[_0x43c4c3(0x1ff)](0x2c);}return _0x33b4e3;}['statement'](){const _0x16530b={_0x4a72eb:0x350,_0x5b6f49:0x1ff,_0x22bd42:0x292,_0xefeb87:0x223,_0x4d9d4d:0x22a,_0x4ef9e9:0x1ff,_0x58b47a:0x2f7,_0x3dc3a0:0x305,_0x2dbf4b:0x235,_0x339475:0x305,_0x3bc230:0x300,_0x4f07e4:0x256,_0x56d052:0x1fb,_0x44aca0:0x1ff,_0x2e558a:0x305,_0x38db49:0x305},_0x503a41=_0x4b5d9d,_0x3bfee5=this[_0x503a41(0x2fc)](0x0);if(this[_0x503a41(0x1ff)](0x4))return this[_0x503a41(_0x16530b._0x4a72eb)](_0x3bfee5);if(this[_0x503a41(_0x16530b._0x5b6f49)](0x5))return new PrintStatement(this[_0x503a41(_0x16530b._0x22bd42)](),_0x3bfee5);if(this[_0x503a41(0x1ff)](0x6))return this[_0x503a41(_0x16530b._0xefeb87)](_0x3bfee5);if(this[_0x503a41(0x1ff)](0x8))return this['whileStatement'](_0x3bfee5);if(this['match'](0xa))return this[_0x503a41(_0x16530b._0x4d9d4d)](_0x3bfee5);if(this[_0x503a41(0x1ff)](0xb))return new BreakStatement(_0x3bfee5);if(this[_0x503a41(0x1ff)](0xc))return new ContinueStatement(_0x3bfee5);if(this[_0x503a41(_0x16530b._0x4ef9e9)](0xe))return new ReturnStatement(this[_0x503a41(0x292)](),_0x3bfee5);if(this[_0x503a41(0x1ff)](0x9))return this[_0x503a41(0x241)](_0x3bfee5);if(this[_0x503a41(0x1ff)](0xd))return this[_0x503a41(0x26d)](_0x3bfee5);if(this[_0x503a41(0x1ff)](0xf))return this[_0x503a41(_0x16530b._0x58b47a)](_0x3bfee5);if(this[_0x503a41(_0x16530b._0x3dc3a0)](0x0,0x2f))return this[_0x503a41(_0x16530b._0x2dbf4b)]();if(this['lookMatch'](0x0,0x1)&&this['lookMatch'](0x1,0x24)){const _0x58e6d2=this[_0x503a41(0x2d6)](this[_0x503a41(0x2a8)](_0x3bfee5));return new FunctionStatement(_0x58e6d2,_0x3bfee5);}if(this[_0x503a41(_0x16530b._0x339475)](0x0,0x1)&&this['lookMatch'](0x1,0x2d)){const _0x161d84=new VariableExpression(this[_0x503a41(_0x16530b._0x3bc230)](0x1)[_0x503a41(_0x16530b._0x4f07e4)](),_0x3bfee5),_0xe4ef2=this[_0x503a41(0x2d6)](_0x161d84);if(!(_0xe4ef2 instanceof MemberCallExpression))throw ParseError['at'](_0x3bfee5,_0x503a41(_0x16530b._0x56d052));return new FunctionStatement(_0xe4ef2,_0x3bfee5);}if(this[_0x503a41(0x1ff)](0x11)){const _0x3ddb67=new VariableExpression(this[_0x503a41(_0x16530b._0x3bc230)](0x1)[_0x503a41(0x256)](),_0x3bfee5);return new IncrementStatement(new IncrementExpression(_0x3ddb67,0x0,_0x3bfee5),_0x3bfee5);}if(this[_0x503a41(_0x16530b._0x44aca0)](0x13)){const _0x242efe=new VariableExpression(this[_0x503a41(0x300)](0x1)['getText'](),_0x3bfee5);return new IncrementStatement(new IncrementExpression(_0x242efe,0x1,_0x3bfee5),_0x3bfee5);}if(this[_0x503a41(_0x16530b._0x2e558a)](0x0,0x1)&&(this[_0x503a41(_0x16530b._0x38db49)](0x1,0x11)||this[_0x503a41(0x305)](0x1,0x13))){const _0x3f96f4=this['consume'](0x1),_0x13f05e=new VariableExpression(_0x3f96f4[_0x503a41(0x256)](),_0x3f96f4);if(this[_0x503a41(0x1ff)](0x11))return new IncrementStatement(new IncrementExpression(_0x13f05e,0x2,_0x3f96f4),_0x3f96f4);return this[_0x503a41(_0x16530b._0x3bc230)](0x13),new IncrementStatement(new IncrementExpression(_0x13f05e,0x3,_0x3f96f4),_0x3f96f4);}return this['assignmentStatement']();}static ['RESERVED_WORDS']=new Set([_0x4b5d9d(0x2fa),'false',_0x4b5d9d(0x1f0),_0x4b5d9d(0x290),_0x4b5d9d(0x344),'const','class',_0x4b5d9d(0x35f),_0x4b5d9d(0x352),_0x4b5d9d(0x20b),'instanceof','in','of',_0x4b5d9d(0x2c1),_0x4b5d9d(0x272),_0x4b5d9d(0x31c),'extends','super',_0x4b5d9d(0x27a),_0x4b5d9d(0x324),_0x4b5d9d(0x201),'try',_0x4b5d9d(0x209),_0x4b5d9d(0x226),'switch',_0x4b5d9d(0x2af),_0x4b5d9d(0x1dc),_0x4b5d9d(0x34d),_0x4b5d9d(0x2fd),_0x4b5d9d(0x2e1)]);[_0x4b5d9d(0x350)](_0x13fbbf){const _0x45cc40={_0x5510ef:0x359,_0x515f80:0x27b,_0x28772f:0x1ff},_0x4714d0=_0x4b5d9d,_0x12ffa9=[];do{const _0x1f4a4d=this[_0x4714d0(0x300)](0x1),_0x5cedb1=_0x1f4a4d['getText']();if(_Parser[_0x4714d0(0x20c)][_0x4714d0(0x32e)](_0x5cedb1))throw ParseError['at'](_0x1f4a4d,_0x4714d0(_0x45cc40._0x5510ef)+_0x5cedb1+_0x4714d0(_0x45cc40._0x515f80));let _0x6f9c9f=null;this[_0x4714d0(_0x45cc40._0x28772f)](0x16)&&(_0x6f9c9f=this['expression']()),_0x12ffa9[_0x4714d0(0x348)]({'name':_0x5cedb1,'init':_0x6f9c9f});}while(this['match'](0x2a));return new VarStatement(_0x12ffa9,_0x13fbbf);}['assignmentStatement'](){const _0x15dd40={_0x467c0f:0x256,_0x605b26:0x292,_0x529041:0x1e9},_0x2ff1ed=_0x4b5d9d,_0x201fd0=this[_0x2ff1ed(0x2fc)](0x0);if(this[_0x2ff1ed(0x305)](0x0,0x1)&&this[_0x2ff1ed(0x305)](0x1,0x16)){const _0x237866=this[_0x2ff1ed(0x300)](0x1)[_0x2ff1ed(_0x15dd40._0x467c0f)]();return this['consume'](0x16),new AssignmentStatement(_0x237866,this[_0x2ff1ed(_0x15dd40._0x605b26)](),_0x201fd0);}if(this['lookMatch'](0x0,0x1)&&this[_0x2ff1ed(0x305)](0x1,0x28)){const _0xe41d=this['elementExpression'](_0x201fd0);return this[_0x2ff1ed(0x300)](0x16),new ArrayAssignmentStatement(_0xe41d,this[_0x2ff1ed(_0x15dd40._0x605b26)](),_0x201fd0);}throw ParseError['at'](this[_0x2ff1ed(0x2fc)](0x0),_0x2ff1ed(0x309)+TokenType[this[_0x2ff1ed(0x2fc)](0x0)[_0x2ff1ed(_0x15dd40._0x529041)]()]);}[_0x4b5d9d(0x223)](_0x2bcec3){const _0x43ae45={_0x229ac4:0x1ff},_0x2f5c70=_0x4b5d9d,_0x4b2ce9=this[_0x2f5c70(0x292)](),_0x1990ed=this['statementOrBlock']();let _0x1edb14;return this[_0x2f5c70(_0x43ae45._0x229ac4)](0x7)?_0x1edb14=this[_0x2f5c70(0x206)]():_0x1edb14=null,new IfStatement(_0x4b2ce9,_0x1990ed,_0x1edb14,_0x2bcec3);}[_0x4b5d9d(0x22a)](_0xe4a36f){const _0x55c73c={_0x4a715a:0x206},_0x4eda6e=_0x4b5d9d,_0x3ea65c=this[_0x4eda6e(_0x55c73c._0x4a715a)]();this[_0x4eda6e(0x300)](0x8);const _0x2eb0a7=this['expression']();return new DoWhileStatement(_0x2eb0a7,_0x3ea65c,_0xe4a36f);}[_0x4b5d9d(0x282)](_0x2cda2c){const _0x408a35={_0x3c9c74:0x292},_0x2be3b7=_0x4b5d9d,_0x34f90c=this[_0x2be3b7(_0x408a35._0x3c9c74)](),_0x200f23=this[_0x2be3b7(0x206)]();return new WhileStatement(_0x34f90c,_0x200f23,_0x2cda2c);}[_0x4b5d9d(0x241)](_0x488891){const _0x49087d={_0x381142:0x300,_0x2751a8:0x29a,_0x1c08d4:0x2f3},_0x13eee5=_0x4b5d9d;this[_0x13eee5(_0x49087d._0x381142)](0x24);let _0x54b989;if(this['match'](0x4))throw ParseError['at'](this['get'](-0x1),_0x13eee5(_0x49087d._0x2751a8));else _0x54b989=this[_0x13eee5(_0x49087d._0x1c08d4)]();this[_0x13eee5(0x300)](0x2c);const _0x4625b9=this[_0x13eee5(0x292)]();this['consume'](0x2c);const _0x570a59=this[_0x13eee5(0x302)]();this[_0x13eee5(0x300)](0x25);const _0x50f272=this['statementOrBlock']();return new ForStatement(_0x54b989,_0x4625b9,_0x570a59,_0x50f272,_0x488891);}['functionDefine'](_0x402bff){const _0x51760f={_0x1f2a9d:0x300,_0x316fd6:0x256,_0x306ee3:0x300,_0x5b5896:0x256,_0x2389d2:0x206},_0x29d99a=_0x4b5d9d,_0x53c704=this[_0x29d99a(_0x51760f._0x1f2a9d)](0x1)[_0x29d99a(_0x51760f._0x316fd6)]();this['consume'](0x24);const _0x3c5aff=[];while(!this[_0x29d99a(0x1ff)](0x25)){_0x3c5aff[_0x29d99a(0x348)](this[_0x29d99a(_0x51760f._0x306ee3)](0x1)[_0x29d99a(_0x51760f._0x5b5896)]()),this[_0x29d99a(0x1ff)](0x2a);}const _0xa45498=this[_0x29d99a(_0x51760f._0x2389d2)]();return new FunctionDefineStatement(_0x53c704,_0x3c5aff,_0xa45498,_0x402bff);}[_0x4b5d9d(0x2a8)](_0x5a9c1e){const _0x4c2bdc={_0x30f8d3:0x292},_0x25b240=_0x4b5d9d,_0x3020bc=this['consume'](0x1)['getText']();this[_0x25b240(0x300)](0x24);const _0x4159dc=new FunctionalExpression(_0x3020bc,[],_0x5a9c1e);while(!this[_0x25b240(0x1ff)](0x25)){_0x4159dc['addArgument'](this[_0x25b240(_0x4c2bdc._0x30f8d3)]()),this[_0x25b240(0x1ff)](0x2a);}return _0x4159dc;}[_0x4b5d9d(0x23d)](_0x4323c1){const _0x1dc2e6={_0x7a33cc:0x256,_0x3236b5:0x292},_0x10ce64=_0x4b5d9d,_0x22d7e4=this['consume'](0x1)[_0x10ce64(_0x1dc2e6._0x7a33cc)](),_0x5c7b75=[];do{this[_0x10ce64(0x300)](0x28),_0x5c7b75[_0x10ce64(0x348)](this[_0x10ce64(_0x1dc2e6._0x3236b5)]()),this['consume'](0x29);}while(this['lookMatch'](0x0,0x28));return new ArrayAccessExpression(_0x22d7e4,_0x5c7b75,_0x4323c1);}['arrayExpression'](_0x152ba3){const _0x7189c7=_0x4b5d9d;this[_0x7189c7(0x300)](0x28);const _0x5d1665=[];while(!this['match'](0x29)){_0x5d1665[_0x7189c7(0x348)](this['expression']()),this[_0x7189c7(0x1ff)](0x2a);}return new ArrayExpression(_0x5d1665,_0x152ba3);}[_0x4b5d9d(0x2a4)](_0x4e0949){const _0x51ac3c={_0x3a5d2e:0x305,_0x7bf836:0x256,_0x6d904:0x305,_0x11cee4:0x300,_0x535a21:0x256,_0x533b53:0x2fc,_0x20d8aa:0x2eb,_0x3961a2:0x228,_0x1ba866:0x1ff},_0x35adfc=_0x4b5d9d;this[_0x35adfc(0x300)](0x26);const _0x1f64f4=new Map();while(!this[_0x35adfc(0x1ff)](0x27)){let _0x6240c1;if(this[_0x35adfc(_0x51ac3c._0x3a5d2e)](0x0,0x1))_0x6240c1=this[_0x35adfc(0x300)](0x1)[_0x35adfc(_0x51ac3c._0x7bf836)]();else{if(this[_0x35adfc(_0x51ac3c._0x6d904)](0x0,0x2))_0x6240c1=this[_0x35adfc(_0x51ac3c._0x11cee4)](0x2)[_0x35adfc(_0x51ac3c._0x535a21)]();else throw ParseError['at'](this[_0x35adfc(_0x51ac3c._0x533b53)](0x0),_0x35adfc(_0x51ac3c._0x20d8aa));}this[_0x35adfc(_0x51ac3c._0x11cee4)](0x2b);const _0xfe996e=this[_0x35adfc(0x292)]();_0x1f64f4[_0x35adfc(_0x51ac3c._0x3961a2)](_0x6240c1,_0xfe996e),this[_0x35adfc(_0x51ac3c._0x1ba866)](0x2a);}return new ObjectExpression(_0x1f64f4,_0x4e0949);}[_0x4b5d9d(0x292)](){const _0x5098d1={_0x4148ed:0x347},_0x12ace7=_0x4b5d9d;return this[_0x12ace7(_0x5098d1._0x4148ed)]();}[_0x4b5d9d(0x347)](){const _0x4b2184={_0xbd71e2:0x2fc,_0x187588:0x320},_0x3719c0=_0x4b5d9d;let _0x2250f5=this[_0x3719c0(0x320)]();while(this['match'](0x21)){const _0x4d0472=this[_0x3719c0(_0x4b2184._0xbd71e2)](0x0);_0x2250f5=new ConditionalExpression('||',_0x2250f5,this[_0x3719c0(_0x4b2184._0x187588)](),_0x4d0472);}return _0x2250f5;}[_0x4b5d9d(0x320)](){const _0x5181d0={_0x27c680:0x1ff},_0x54e6d4=_0x4b5d9d;let _0x2369fa=this[_0x54e6d4(0x33f)]();while(this[_0x54e6d4(_0x5181d0._0x27c680)](0x23)){const _0x1c98e7=this[_0x54e6d4(0x2fc)](0x0);_0x2369fa=new ConditionalExpression('&&',_0x2369fa,this[_0x54e6d4(0x33f)](),_0x1c98e7);}return _0x2369fa;}['equality'](){const _0x5af420={_0x4a2121:0x2fc,_0x311397:0x1ff,_0x3136fb:0x1ff,_0x3663ee:0x358},_0x17b15e=_0x4b5d9d,_0x4c00e3=this[_0x17b15e(_0x5af420._0x4a2121)](0x0),_0x5281d5=this[_0x17b15e(0x26b)]();if(this[_0x17b15e(_0x5af420._0x311397)](0x17))return new ConditionalExpression('==',_0x5281d5,this[_0x17b15e(0x26b)](),_0x4c00e3);if(this[_0x17b15e(_0x5af420._0x3136fb)](0x18))return new ConditionalExpression(_0x17b15e(_0x5af420._0x3663ee),_0x5281d5,this[_0x17b15e(0x26b)](),_0x4c00e3);if(this[_0x17b15e(_0x5af420._0x311397)](0x1a))return new ConditionalExpression('!=',_0x5281d5,this[_0x17b15e(0x26b)](),_0x4c00e3);if(this['match'](0x1b))return new ConditionalExpression(_0x17b15e(0x23c),_0x5281d5,this[_0x17b15e(0x26b)](),_0x4c00e3);return _0x5281d5;}[_0x4b5d9d(0x26b)](){const _0x4cc5ad={_0x19e24a:0x305,_0x4128af:0x2fc,_0xd20e02:0x263,_0x251928:0x263},_0x3e29ac=_0x4b5d9d;let _0x23257e=this['additive']();while(this['lookMatch'](0x0,0x1c)||this[_0x3e29ac(_0x4cc5ad._0x19e24a)](0x0,0x1d)||this[_0x3e29ac(0x305)](0x0,0x1e)||this[_0x3e29ac(0x305)](0x0,0x1f)){const _0x28385f=this[_0x3e29ac(_0x4cc5ad._0x4128af)](0x0);if(this[_0x3e29ac(0x1ff)](0x1c)){_0x23257e=new ConditionalExpression('<',_0x23257e,this['additive'](),_0x28385f);continue;}if(this['match'](0x1d)){_0x23257e=new ConditionalExpression('<=',_0x23257e,this[_0x3e29ac(_0x4cc5ad._0xd20e02)](),_0x28385f);continue;}if(this[_0x3e29ac(0x1ff)](0x1e)){_0x23257e=new ConditionalExpression('>',_0x23257e,this[_0x3e29ac(_0x4cc5ad._0x251928)](),_0x28385f);continue;}if(this['match'](0x1f)){_0x23257e=new ConditionalExpression('>=',_0x23257e,this[_0x3e29ac(0x263)](),_0x28385f);continue;}}return _0x23257e;}[_0x4b5d9d(0x263)](){const _0x1621b3={_0x206fcf:0x2bd,_0x2c8d2b:0x305,_0x3102df:0x2fc},_0x143907=_0x4b5d9d;let _0x4fd290=this[_0x143907(_0x1621b3._0x206fcf)]();while(this[_0x143907(_0x1621b3._0x2c8d2b)](0x0,0x10)||this[_0x143907(_0x1621b3._0x2c8d2b)](0x0,0x12)){if(this[_0x143907(0x1ff)](0x10)){const _0x4207b8=this[_0x143907(0x2fc)](-0x1);_0x4fd290=new BinaryExpression('+',_0x4fd290,this[_0x143907(0x2bd)](),_0x4207b8);continue;}this[_0x143907(0x300)](0x12);const _0x3fd8f7=this[_0x143907(_0x1621b3._0x3102df)](-0x1);_0x4fd290=new BinaryExpression('-',_0x4fd290,this[_0x143907(0x2bd)](),_0x3fd8f7);}return _0x4fd290;}['multiplicate'](){const _0x3c8fe3={_0x1748e4:0x1e2,_0x58a39d:0x305,_0x2e83a2:0x1ff},_0x27c33e=_0x4b5d9d;let _0x3f6ff7=this[_0x27c33e(_0x3c8fe3._0x1748e4)]();while(this[_0x27c33e(_0x3c8fe3._0x58a39d)](0x0,0x14)||this['lookMatch'](0x0,0x15)){if(this[_0x27c33e(_0x3c8fe3._0x2e83a2)](0x14)){const _0x58e042=this['get'](-0x1);_0x3f6ff7=new BinaryExpression('*',_0x3f6ff7,this[_0x27c33e(_0x3c8fe3._0x1748e4)](),_0x58e042);continue;}this['consume'](0x15);const _0x3184f8=this[_0x27c33e(0x2fc)](-0x1);_0x3f6ff7=new BinaryExpression('/',_0x3f6ff7,this[_0x27c33e(0x1e2)](),_0x3184f8);}return _0x3f6ff7;}[_0x4b5d9d(0x1e2)](){const _0x1a42df={_0x6702f9:0x2fc,_0x45369f:0x1ff,_0x137e0f:0x32c,_0x1aad81:0x300},_0x4c8dbc=_0x4b5d9d,_0x34dca8=this[_0x4c8dbc(_0x1a42df._0x6702f9)](0x0);if(this[_0x4c8dbc(_0x1a42df._0x45369f)](0x12))return new UnaryExpression('-',this[_0x4c8dbc(_0x1a42df._0x137e0f)](),_0x34dca8);if(this[_0x4c8dbc(0x1ff)](0x11)){const _0x476f1c=new VariableExpression(this[_0x4c8dbc(_0x1a42df._0x1aad81)](0x1)['getText'](),_0x34dca8);return new IncrementExpression(_0x476f1c,0x0,_0x34dca8);}if(this['match'](0x13)){const _0x918454=new VariableExpression(this[_0x4c8dbc(0x300)](0x1)[_0x4c8dbc(0x256)](),_0x34dca8);return new IncrementExpression(_0x918454,0x1,_0x34dca8);}return this[_0x4c8dbc(0x32c)]();}['primary'](){const _0x284fa0={_0x490d1f:0x256,_0x25a03c:0x269,_0x3bf777:0x236,_0x3bd374:0x1ff,_0x4f8016:0x1ff},_0xfed4dc=_0x4b5d9d,_0x9735ff=this[_0xfed4dc(0x2fc)](0x0);let _0x2b9e6e;if(this[_0xfed4dc(0x1ff)](0x0))_0x2b9e6e=new ValueExpression(_0x9735ff[_0xfed4dc(0x256)](),_0x9735ff);else{if(this[_0xfed4dc(0x1ff)](0x3)){const _0x515b99=_0x9735ff[_0xfed4dc(_0x284fa0._0x490d1f)](),_0x3c4be5=_0x515b99['indexOf']('\x00'),_0x388f74=_0x3c4be5<0x0?_0x515b99:_0x515b99['slice'](0x0,_0x3c4be5),_0x16d095=_0x3c4be5<0x0?'':_0x515b99[_0xfed4dc(_0x284fa0._0x25a03c)](_0x3c4be5+0x1);_0x2b9e6e=new RegExpExpression(_0x388f74,_0x16d095,_0x9735ff);}else{if(this['lookMatch'](0x0,0x1)&&this[_0xfed4dc(0x305)](0x1,0x24))_0x2b9e6e=this[_0xfed4dc(0x2a8)](_0x9735ff);else{if(this[_0xfed4dc(0x305)](0x0,0x1)&&this['lookMatch'](0x1,0x28))_0x2b9e6e=this[_0xfed4dc(0x23d)](_0x9735ff);else{if(this[_0xfed4dc(0x305)](0x0,0x28))_0x2b9e6e=this[_0xfed4dc(_0x284fa0._0x3bf777)](_0x9735ff);else{if(this['lookMatch'](0x0,0x26))_0x2b9e6e=this['objectExpression'](_0x9735ff);else{if(this['match'](0x1)){const _0x34d1f6=new VariableExpression(_0x9735ff[_0xfed4dc(0x256)](),_0x9735ff);_0x2b9e6e=_0x34d1f6;if(this[_0xfed4dc(0x1ff)](0x11))_0x2b9e6e=new IncrementExpression(_0x34d1f6,0x2,_0x9735ff);else this[_0xfed4dc(0x1ff)](0x13)&&(_0x2b9e6e=new IncrementExpression(_0x34d1f6,0x3,_0x9735ff));}else{if(this[_0xfed4dc(_0x284fa0._0x3bd374)](0x2))_0x2b9e6e=new ValueExpression(_0x9735ff[_0xfed4dc(0x256)](),_0x9735ff);else{if(this[_0xfed4dc(0x1ff)](0x24))_0x2b9e6e=this[_0xfed4dc(0x292)](),this[_0xfed4dc(_0x284fa0._0x4f8016)](0x25);else throw ParseError['at'](_0x9735ff,_0xfed4dc(0x1fe)+TokenType[_0x9735ff[_0xfed4dc(0x1e9)]()]);}}}}}}}}return this[_0xfed4dc(0x2d6)](_0x2b9e6e);}['callWithPostfix'](_0x4eb437){const _0x1be2c9={_0x1a7469:0x1ff,_0x58e6c9:0x276,_0x103c1d:0x300,_0x452683:0x2fc},_0x1a45de=_0x4b5d9d;let _0xcdac17=_0x4eb437;while(this[_0x1a45de(_0x1be2c9._0x1a7469)](0x2d)){const _0x2715e1=this['get'](0x0);if(_0x2715e1[_0x1a45de(0x1e9)]()!==0x1)throw ParseError['at'](_0x2715e1,_0x1a45de(_0x1be2c9._0x58e6c9));const _0x275c7b=this[_0x1a45de(_0x1be2c9._0x103c1d)](0x1)[_0x1a45de(0x256)]();if(this[_0x1a45de(_0x1be2c9._0x1a7469)](0x24)){const _0x2bbf43=[];while(!this[_0x1a45de(_0x1be2c9._0x1a7469)](0x25)){_0x2bbf43['push'](this[_0x1a45de(0x292)]()),this[_0x1a45de(_0x1be2c9._0x1a7469)](0x2a);}_0xcdac17=new MemberCallExpression(_0xcdac17,_0x275c7b,_0x2bbf43,_0x2715e1);}else _0xcdac17=new PropertyAccessExpression(_0xcdac17,_0x275c7b,_0x2715e1);}if(this['lookMatch'](0x0,0x28)&&!(_0xcdac17 instanceof VariableExpression))throw ParseError['at'](this[_0x1a45de(_0x1be2c9._0x452683)](0x0),'Index\x20access\x20on\x20a\x20member\x20expression\x20(e.g.\x20`state.matches[0]`)\x20is\x20not\x20supported\x20—\x20indexing\x20works\x20on\x20a\x20bare\x20variable\x20only.\x20Assign\x20the\x20member\x20to\x20a\x20variable\x20first:\x20`m\x20=\x20state.matches;\x20last\x20=\x20m[m.length\x20-\x201];`');return _0xcdac17;}[_0x4b5d9d(0x300)](_0x190bf3){const _0x4837eb={_0x3639bd:0x20d,_0x2cb403:0x275},_0x2aa713=_0x4b5d9d,_0x149c28=this[_0x2aa713(0x2fc)](0x0);if(_0x190bf3!=_0x149c28['getType']())throw ParseError['at'](_0x149c28,_0x2aa713(0x2bb)+TokenType[_0x149c28['getType']()]+_0x2aa713(_0x4837eb._0x3639bd)+TokenType[_0x190bf3]);return this[_0x2aa713(_0x4837eb._0x2cb403)]++,_0x149c28;}[_0x4b5d9d(0x1ff)](_0x4df5f2){const _0x41fe53={_0x3a0ea3:0x2fc},_0x5c77e8=_0x4b5d9d,_0x5b04ac=this[_0x5c77e8(_0x41fe53._0x3a0ea3)](0x0);if(_0x4df5f2!=_0x5b04ac[_0x5c77e8(0x1e9)]())return![];return this[_0x5c77e8(0x275)]++,!![];}[_0x4b5d9d(0x305)](_0x23bcba,_0x3f035b){return this['get'](_0x23bcba)['getType']()==_0x3f035b;}[_0x4b5d9d(0x2fc)](_0x2d4c64){const _0x10cfaa={_0x41f004:0x275,_0xf40366:0x28e},_0x47c537=_0x4b5d9d,_0x3f19f6=this[_0x47c537(_0x10cfaa._0x41f004)]+_0x2d4c64;if(_0x3f19f6>=this[_0x47c537(_0x10cfaa._0xf40366)])return this[_0x47c537(0x225)];return this['tokens'][_0x3f19f6];}};export{__name,buildClickDsl,buildFillDsl,buildTypeTextDsl,buildOpenDsl,buildNavigateDsl,buildAssertVisibleDsl,buildAssertUrlContainsDsl,buildAssertPageReadyDsl,buildAssertAuthenticatedDsl,buildAssertTableNotEmptyDsl,buildAssertListNotEmptyDsl,buildAssertNoVisibleErrorDsl,buildAssertSectionTitleDsl,buildAssertToastVisibleDsl,buildAssertDialogOpenDsl,buildAssertRouteIsDsl,buildSelectComboboxValueDsl,buildLoginAsDsl,buildOpenMenuItemDsl,buildOpenTabDsl,buildCloseDialogDsl,buildFillFormDsl,buildSaveFormDsl,buildWaitForDsl,buildWaitForTextDsl,buildWaitForHiddenDsl,buildWaitForURLDsl,buildWaitForNavigationDsl,buildAssertInputValueDsl,buildScrollIntoViewDsl,buildScrollToBottomDsl,buildScrollToTopDsl,buildForceClickDsl,buildDragAndDropDsl,buildClipboardPasteDsl,buildKeypressDsl,buildSwitchToFrameDsl,buildSwitchToMainFrameDsl,buildAssertNotVisibleDsl,buildAssertTextContainsDsl,buildAssertTextEqualsDsl,buildAssertUrlEqualsDsl,buildAssertCountEqualsDsl,buildFlowDsl,ArrayValue,NumberValue,Functions,ObjectValue,RegExpValue,RegExpFlagError,StringValue,UserDefineFunction,Variables,ArrayAccessExpression,ArrayAssignmentStatement,ArrayExpression,AssignmentStatement,BinaryExpression,BlockStatement,BreakStatement,Operator,getOperatorName,ConditionalExpression,ContinueStatement,DoWhileStatement,ForStatement,FunctionDefineStatement,FunctionStatement,FunctionalExpression,IfStatement,IncrementType,IncrementExpression,IncrementStatement,MemberCallExpression,MetaBlockStatement,ObjectExpression,PrintStatement,PropertyAccessExpression,RegExpExpression,ReturnStatement,TokenType,ValueExpression,StepStatement,UnaryExpression,VarStatement,VariableExpression,WhileStatement,ParseError,Token,Lexer,formatCodeFrame,formatParseError,Parser};
@@ -28,6 +28,7 @@ type ExecutionEvent = {
28
28
  col: number;
29
29
  callStack?: readonly string[];
30
30
  stepLabel?: string;
31
+ stepTag?: string;
31
32
  } | {
32
33
  kind: 'step-end';
33
34
  node: Statement;
@@ -37,6 +38,7 @@ type ExecutionEvent = {
37
38
  ok: true;
38
39
  callStack?: readonly string[];
39
40
  stepLabel?: string;
41
+ stepTag?: string;
40
42
  } | {
41
43
  kind: 'step-end';
42
44
  node: Statement;
@@ -49,13 +51,55 @@ type ExecutionEvent = {
49
51
  /** Label of the innermost enclosing `step("…")` block, if any — the
50
52
  * human-readable intent failure reporting prints as `in step "…"`. */
51
53
  stepLabel?: string;
54
+ /** The evaluated `{tag}` of that block, if it has one — the case a
55
+ * data-driven step is on (`Question [q17]`). */
56
+ stepTag?: string;
52
57
  } | {
53
58
  kind: 'paused';
54
59
  reason: 'step' | 'failure' | 'breakpoint';
55
60
  file: string;
56
61
  line: number;
57
62
  col: number;
58
- };
63
+ } | {
64
+ kind: 'loop-iteration';
65
+ node: Statement;
66
+ file: string;
67
+ line: number;
68
+ col: number;
69
+ index: number;
70
+ } | ({
71
+ kind: 'step-block-start';
72
+ } & StepBlockInfo) | ({
73
+ kind: 'step-block-end';
74
+ ok: true;
75
+ } & StepBlockInfo) | ({
76
+ kind: 'step-block-end';
77
+ ok: false;
78
+ error: ExecutionError;
79
+ } & StepBlockInfo);
80
+ interface StepBlockInfo {
81
+ node: Statement;
82
+ file: string;
83
+ line: number;
84
+ col: number;
85
+ label: string;
86
+ /** The evaluated `{tag}` expression, as text; absent when the block has none. */
87
+ tag?: string;
88
+ /** `step.soft(...)`: a failed envelope is recorded in `RunResult.softFailures`
89
+ * and the run continues after the block. */
90
+ soft: boolean;
91
+ callStack?: readonly string[];
92
+ }
93
+ /** One `step.soft(...)` block whose body failed. The run went on; the
94
+ * test is still failed at the end, with every soft failure listed. */
95
+ interface SoftFailure {
96
+ label: string;
97
+ tag?: string;
98
+ error: ExecutionError;
99
+ file: string;
100
+ line: number;
101
+ col: number;
102
+ }
59
103
  interface RunOptions {
60
104
  /** "auto" = run until completion / failure. "step" = pause after each statement. */
61
105
  mode: 'auto' | 'step';
@@ -92,6 +136,10 @@ interface RunResult {
92
136
  stepsExecuted: number;
93
137
  durationMs: number;
94
138
  error?: ExecutionError;
139
+ /** Soft-step failures the run recorded and went past. Non-empty only with
140
+ * `outcome: 'failed'` — `error` then carries their aggregate (or the hard
141
+ * failure that ended the run, when there was one after them). */
142
+ softFailures?: SoftFailure[];
95
143
  }
96
144
 
97
145
  /** Per-run variable + call-depth state. The walker calls these around
@@ -139,8 +187,23 @@ declare class ExecutionWalker<R extends IExecutionRuntime = IExecutionRuntime> {
139
187
  * every frame has a `fnFile` entry; the `?? entryFile` is a defensive
140
188
  * fallback, not a normal path. */
141
189
  private fileForStack;
142
- run(program: BlockStatement, testName: string, runtime: R, opts: RunOptions, helpers?: BlockStatement[], entryFile?: string, fnFile?: ReadonlyMap<string, string>): AsyncGenerator<ExecutionEvent, RunResult>;
190
+ run(program: BlockStatement, testName: string, runtime: R, opts: RunOptions, helpers?: BlockStatement[], entryFile?: string, fnFile?: ReadonlyMap<string, string>, entryArgs?: readonly unknown[]): AsyncGenerator<ExecutionEvent, RunResult>;
143
191
  private runBlock;
192
+ /** A `step[.soft]("label", [{tag},] () => { … })` block. Each statement
193
+ * inside gets its own step-start/step-end; the block adds an envelope
194
+ * carrying the label, the evaluated tag and — for a soft step — the
195
+ * outcome the run went past. The label is also pushed so every inlined
196
+ * child's events carry their enclosing step title (failure reporting
197
+ * prints `in step "…"`). finally-pop: the label must not leak past a
198
+ * throw or the next step misattributes.
199
+ *
200
+ * Soft semantics: an error inside the body closes the envelope as
201
+ * `ok: false`, is recorded in `cx.softFailures`, and execution resumes
202
+ * with the statement after the block — the rest of the body is skipped,
203
+ * as after `expect.soft` inside a Playwright `test.step`. Control-flow
204
+ * signals (`return`, `break`, `continue`) are not failures and pass
205
+ * through untouched. */
206
+ private runStepBlock;
144
207
  private runStatement;
145
208
  private execStatement;
146
209
  private evalExpression;
@@ -149,7 +212,15 @@ declare class ExecutionWalker<R extends IExecutionRuntime = IExecutionRuntime> {
149
212
  /** Run one loop-body pass. Returns `true` if a `break` fired (caller stops
150
213
  * the loop), `false` for normal completion or `continue` (both end this
151
214
  * iteration the same way). Each pass counts as a step so an empty-bodied
152
- * infinite loop still trips `maxSteps`; `checkBudgets` enforces wall-clock. */
215
+ * infinite loop still trips `maxSteps`; `checkBudgets` enforces wall-clock.
216
+ *
217
+ * Before the body a `loop-iteration` marker is yielded: the loop
218
+ * statement's position plus the pass index. It is a marker, not a frame
219
+ * — the loop header's own step-start/step-end envelope encloses every
220
+ * pass, and a reader building an execution tree opens an "iteration N"
221
+ * group at the marker and closes it at the next one or at the loop's
222
+ * step-end. Without it iterations had to be guessed from a repeated
223
+ * first statement, which `continue` and an empty body defeat. */
153
224
  private runLoopIteration;
154
225
  /** Host-dispatch tail shared by bare calls and member calls. */
155
226
  private invokeHostFunction;
@@ -190,4 +261,4 @@ declare class UserFunctionResolver {
190
261
  names(): string[];
191
262
  }
192
263
 
193
- export { type AstSourceLocation, BreakSignal, ContinueSignal, type ExecutionError, type ExecutionEvent, ExecutionWalker, type HostFunction, type IExecutionRuntime, type IFunctionDispatcher, IncrementTypeError, PropertyAccessTypeError, ReturnSignal, type RunOptions, type RunResult, UnsupportedAstNodeError, UserFunctionResolver, VariableScope };
264
+ export { type AstSourceLocation, BreakSignal, ContinueSignal, type ExecutionError, type ExecutionEvent, ExecutionWalker, type HostFunction, type IExecutionRuntime, type IFunctionDispatcher, IncrementTypeError, PropertyAccessTypeError, ReturnSignal, type RunOptions, type RunResult, type SoftFailure, type StepBlockInfo, UnsupportedAstNodeError, UserFunctionResolver, VariableScope };