@lokascript/semantic 1.2.1 → 2.0.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/dist/__test-utils__/index.d.ts +6 -0
- package/dist/__test-utils__/index.d.ts.map +1 -0
- package/dist/__test-utils__/test-helpers.d.ts +7 -0
- package/dist/__test-utils__/test-helpers.d.ts.map +1 -0
- package/dist/__types__/test-helpers.d.ts +67 -0
- package/dist/__types__/test-helpers.d.ts.map +1 -0
- package/dist/analysis/index.d.ts +106 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/ast-builder/command-mappers.d.ts +50 -0
- package/dist/ast-builder/command-mappers.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/index.d.ts +14 -0
- package/dist/ast-builder/expression-parser/index.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/parser.d.ts +50 -0
- package/dist/ast-builder/expression-parser/parser.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/tokenizer.d.ts +44 -0
- package/dist/ast-builder/expression-parser/tokenizer.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/types.d.ts +111 -0
- package/dist/ast-builder/expression-parser/types.d.ts.map +1 -0
- package/dist/ast-builder/index.d.ts +183 -0
- package/dist/ast-builder/index.d.ts.map +1 -0
- package/dist/ast-builder/value-converters.d.ts +51 -0
- package/dist/ast-builder/value-converters.d.ts.map +1 -0
- package/dist/browser-ar.ar.global.js +2 -2
- package/dist/browser-ar.d.ts +47 -0
- package/dist/browser-ar.d.ts.map +1 -0
- package/dist/browser-bn.bn.global.js +2 -0
- package/dist/browser-bn.d.ts +47 -0
- package/dist/browser-bn.d.ts.map +1 -0
- package/dist/browser-core.core.global.js +2 -2
- package/dist/browser-core.d.ts +83 -0
- package/dist/browser-core.d.ts.map +1 -0
- package/dist/browser-de.d.ts +47 -0
- package/dist/browser-de.d.ts.map +1 -0
- package/dist/browser-de.de.global.js +2 -2
- package/dist/browser-east-asian.d.ts +59 -0
- package/dist/browser-east-asian.d.ts.map +1 -0
- package/dist/browser-east-asian.east-asian.global.js +2 -2
- package/dist/browser-en-tr.d.ts +50 -0
- package/dist/browser-en-tr.d.ts.map +1 -0
- package/dist/browser-en-tr.en-tr.global.js +2 -2
- package/dist/browser-en.d.ts +48 -0
- package/dist/browser-en.d.ts.map +1 -0
- package/dist/browser-en.en.global.js +2 -2
- package/dist/browser-es-en.d.ts +62 -0
- package/dist/browser-es-en.d.ts.map +1 -0
- package/dist/browser-es-en.es-en.global.js +2 -2
- package/dist/browser-es.d.ts +51 -0
- package/dist/browser-es.d.ts.map +1 -0
- package/dist/browser-es.es.global.js +2 -2
- package/dist/browser-fr.d.ts +47 -0
- package/dist/browser-fr.d.ts.map +1 -0
- package/dist/browser-fr.fr.global.js +2 -2
- package/dist/browser-hi.d.ts +47 -0
- package/dist/browser-hi.d.ts.map +1 -0
- package/dist/browser-hi.hi.global.js +2 -0
- package/dist/browser-id.d.ts +47 -0
- package/dist/browser-id.d.ts.map +1 -0
- package/dist/browser-id.id.global.js +2 -2
- package/dist/browser-it.d.ts +47 -0
- package/dist/browser-it.d.ts.map +1 -0
- package/dist/browser-it.it.global.js +2 -0
- package/dist/browser-ja.d.ts +47 -0
- package/dist/browser-ja.d.ts.map +1 -0
- package/dist/browser-ja.ja.global.js +2 -2
- package/dist/browser-ko.d.ts +47 -0
- package/dist/browser-ko.d.ts.map +1 -0
- package/dist/browser-ko.ko.global.js +2 -2
- package/dist/browser-lazy.d.ts +52 -0
- package/dist/browser-lazy.d.ts.map +1 -0
- package/dist/browser-lazy.lazy.global.js +2 -2
- package/dist/browser-ms.d.ts +47 -0
- package/dist/browser-ms.d.ts.map +1 -0
- package/dist/browser-ms.ms.global.js +2 -0
- package/dist/browser-pl.d.ts +47 -0
- package/dist/browser-pl.d.ts.map +1 -0
- package/dist/browser-pl.pl.global.js +2 -0
- package/dist/browser-priority.d.ts +83 -0
- package/dist/browser-priority.d.ts.map +1 -0
- package/dist/browser-priority.priority.global.js +2 -2
- package/dist/browser-pt.d.ts +47 -0
- package/dist/browser-pt.d.ts.map +1 -0
- package/dist/browser-pt.pt.global.js +2 -2
- package/dist/browser-qu.d.ts +47 -0
- package/dist/browser-qu.d.ts.map +1 -0
- package/dist/browser-qu.qu.global.js +2 -2
- package/dist/browser-ru.d.ts +47 -0
- package/dist/browser-ru.d.ts.map +1 -0
- package/dist/browser-ru.ru.global.js +2 -0
- package/dist/browser-sw.d.ts +47 -0
- package/dist/browser-sw.d.ts.map +1 -0
- package/dist/browser-sw.sw.global.js +2 -2
- package/dist/browser-th.d.ts +47 -0
- package/dist/browser-th.d.ts.map +1 -0
- package/dist/browser-th.th.global.js +2 -0
- package/dist/browser-tl.d.ts +47 -0
- package/dist/browser-tl.d.ts.map +1 -0
- package/dist/browser-tl.tl.global.js +2 -0
- package/dist/browser-tr.d.ts +47 -0
- package/dist/browser-tr.d.ts.map +1 -0
- package/dist/browser-tr.tr.global.js +2 -2
- package/dist/browser-uk.d.ts +47 -0
- package/dist/browser-uk.d.ts.map +1 -0
- package/dist/browser-uk.uk.global.js +2 -0
- package/dist/browser-vi.d.ts +47 -0
- package/dist/browser-vi.d.ts.map +1 -0
- package/dist/browser-vi.vi.global.js +2 -0
- package/dist/browser-western.d.ts +67 -0
- package/dist/browser-western.d.ts.map +1 -0
- package/dist/browser-western.western.global.js +2 -2
- package/dist/browser-zh.d.ts +47 -0
- package/dist/browser-zh.d.ts.map +1 -0
- package/dist/browser-zh.zh.global.js +2 -2
- package/dist/browser.d.ts +69 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.global.js +2 -2
- package/dist/browser.global.js.map +1 -1
- package/dist/cache/index.d.ts +7 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/semantic-cache.d.ts +138 -0
- package/dist/cache/semantic-cache.d.ts.map +1 -0
- package/dist/core-bridge.d.ts +154 -0
- package/dist/core-bridge.d.ts.map +1 -0
- package/dist/core.d.ts +24 -1235
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +6433 -1731
- package/dist/core.js.map +1 -1
- package/dist/explicit/converter.d.ts +98 -0
- package/dist/explicit/converter.d.ts.map +1 -0
- package/dist/explicit/index.d.ts +10 -0
- package/dist/explicit/index.d.ts.map +1 -0
- package/dist/explicit/parser.d.ts +25 -0
- package/dist/explicit/parser.d.ts.map +1 -0
- package/dist/explicit/renderer.d.ts +82 -0
- package/dist/explicit/renderer.d.ts.map +1 -0
- package/dist/generators/command-schemas.d.ts +358 -0
- package/dist/generators/command-schemas.d.ts.map +1 -0
- package/dist/generators/event-handlers-sov.d.ts +91 -0
- package/dist/generators/event-handlers-sov.d.ts.map +1 -0
- package/dist/generators/event-handlers-vso.d.ts +69 -0
- package/dist/generators/event-handlers-vso.d.ts.map +1 -0
- package/dist/generators/index.d.ts +12 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/language-profiles.d.ts +65 -0
- package/dist/generators/language-profiles.d.ts.map +1 -0
- package/dist/generators/pattern-generator.d.ts +81 -0
- package/dist/generators/pattern-generator.d.ts.map +1 -0
- package/dist/generators/profiles/arabic.d.ts +9 -0
- package/dist/generators/profiles/arabic.d.ts.map +1 -0
- package/dist/generators/profiles/bengali.d.ts +9 -0
- package/dist/generators/profiles/bengali.d.ts.map +1 -0
- package/dist/generators/profiles/chinese.d.ts +9 -0
- package/dist/generators/profiles/chinese.d.ts.map +1 -0
- package/dist/generators/profiles/english.d.ts +8 -0
- package/dist/generators/profiles/english.d.ts.map +1 -0
- package/dist/generators/profiles/french.d.ts +9 -0
- package/dist/generators/profiles/french.d.ts.map +1 -0
- package/dist/generators/profiles/german.d.ts +9 -0
- package/dist/generators/profiles/german.d.ts.map +1 -0
- package/dist/generators/profiles/hebrew.d.ts +10 -0
- package/dist/generators/profiles/hebrew.d.ts.map +1 -0
- package/dist/generators/profiles/hindi.d.ts +9 -0
- package/dist/generators/profiles/hindi.d.ts.map +1 -0
- package/dist/generators/profiles/index.d.ts +36 -0
- package/dist/generators/profiles/index.d.ts.map +1 -0
- package/dist/generators/profiles/indonesian.d.ts +9 -0
- package/dist/generators/profiles/indonesian.d.ts.map +1 -0
- package/dist/generators/profiles/italian.d.ts +10 -0
- package/dist/generators/profiles/italian.d.ts.map +1 -0
- package/dist/generators/profiles/japanese.d.ts +9 -0
- package/dist/generators/profiles/japanese.d.ts.map +1 -0
- package/dist/generators/profiles/korean.d.ts +9 -0
- package/dist/generators/profiles/korean.d.ts.map +1 -0
- package/dist/generators/profiles/marker-templates.d.ts +119 -0
- package/dist/generators/profiles/marker-templates.d.ts.map +1 -0
- package/dist/generators/profiles/ms.d.ts +8 -0
- package/dist/generators/profiles/ms.d.ts.map +1 -0
- package/dist/generators/profiles/polish.d.ts +10 -0
- package/dist/generators/profiles/polish.d.ts.map +1 -0
- package/dist/generators/profiles/portuguese.d.ts +9 -0
- package/dist/generators/profiles/portuguese.d.ts.map +1 -0
- package/dist/generators/profiles/quechua.d.ts +9 -0
- package/dist/generators/profiles/quechua.d.ts.map +1 -0
- package/dist/generators/profiles/russian.d.ts +10 -0
- package/dist/generators/profiles/russian.d.ts.map +1 -0
- package/dist/generators/profiles/spanish.d.ts +9 -0
- package/dist/generators/profiles/spanish.d.ts.map +1 -0
- package/dist/generators/profiles/spanishMexico.d.ts +19 -0
- package/dist/generators/profiles/spanishMexico.d.ts.map +1 -0
- package/dist/generators/profiles/swahili.d.ts +9 -0
- package/dist/generators/profiles/swahili.d.ts.map +1 -0
- package/dist/generators/profiles/thai.d.ts +9 -0
- package/dist/generators/profiles/thai.d.ts.map +1 -0
- package/dist/generators/profiles/tl.d.ts +8 -0
- package/dist/generators/profiles/tl.d.ts.map +1 -0
- package/dist/generators/profiles/turkish.d.ts +9 -0
- package/dist/generators/profiles/turkish.d.ts.map +1 -0
- package/dist/generators/profiles/types.d.ts +170 -0
- package/dist/generators/profiles/types.d.ts.map +1 -0
- package/dist/generators/profiles/ukrainian.d.ts +10 -0
- package/dist/generators/profiles/ukrainian.d.ts.map +1 -0
- package/dist/generators/profiles/vietnamese.d.ts +10 -0
- package/dist/generators/profiles/vietnamese.d.ts.map +1 -0
- package/dist/generators/schema-error-codes.d.ts +60 -0
- package/dist/generators/schema-error-codes.d.ts.map +1 -0
- package/dist/generators/schema-validator.d.ts +77 -0
- package/dist/generators/schema-validator.d.ts.map +1 -0
- package/dist/index.cjs +5451 -2522
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +50 -3436
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5448 -2526
- package/dist/index.js.map +1 -1
- package/dist/interchange/from-semantic.d.ts +23 -0
- package/dist/interchange/from-semantic.d.ts.map +1 -0
- package/dist/interchange/index.d.ts +7 -0
- package/dist/interchange/index.d.ts.map +1 -0
- package/dist/interchange/types.d.ts +132 -0
- package/dist/interchange/types.d.ts.map +1 -0
- package/dist/language-building-schema.d.ts +163 -0
- package/dist/language-building-schema.d.ts.map +1 -0
- package/dist/language-loader.d.ts +126 -0
- package/dist/language-loader.d.ts.map +1 -0
- package/dist/languages/_all.d.ts +66 -0
- package/dist/languages/_all.d.ts.map +1 -0
- package/dist/languages/ar.d.ts +6 -75
- package/dist/languages/ar.d.ts.map +1 -0
- package/dist/languages/ar.js +65 -14
- package/dist/languages/ar.js.map +1 -1
- package/dist/languages/bn.d.ts +10 -0
- package/dist/languages/bn.d.ts.map +1 -0
- package/dist/languages/bn.js +1163 -0
- package/dist/languages/bn.js.map +1 -0
- package/dist/languages/de.d.ts +6 -35
- package/dist/languages/de.d.ts.map +1 -0
- package/dist/languages/de.js +260 -22
- package/dist/languages/de.js.map +1 -1
- package/dist/languages/en.d.ts +13 -40
- package/dist/languages/en.d.ts.map +1 -0
- package/dist/languages/en.js +788 -241
- package/dist/languages/en.js.map +1 -1
- package/dist/languages/es-MX.d.ts +24 -0
- package/dist/languages/es-MX.d.ts.map +1 -0
- package/dist/languages/es-MX.js +1729 -0
- package/dist/languages/es-MX.js.map +1 -0
- package/dist/languages/es.d.ts +6 -49
- package/dist/languages/es.d.ts.map +1 -0
- package/dist/languages/es.js +60 -13
- package/dist/languages/es.js.map +1 -1
- package/dist/languages/fr.d.ts +6 -34
- package/dist/languages/fr.d.ts.map +1 -0
- package/dist/languages/fr.js +309 -22
- package/dist/languages/fr.js.map +1 -1
- package/dist/languages/he.d.ts +9 -0
- package/dist/languages/he.d.ts.map +1 -0
- package/dist/languages/he.js +1378 -0
- package/dist/languages/he.js.map +1 -0
- package/dist/languages/hi.d.ts +18 -0
- package/dist/languages/hi.d.ts.map +1 -0
- package/dist/languages/hi.js +1209 -0
- package/dist/languages/hi.js.map +1 -0
- package/dist/languages/id.d.ts +6 -32
- package/dist/languages/id.d.ts.map +1 -0
- package/dist/languages/id.js +60 -13
- package/dist/languages/id.js.map +1 -1
- package/dist/languages/index.d.ts +18 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/it.d.ts +9 -0
- package/dist/languages/it.d.ts.map +1 -0
- package/dist/languages/it.js +1647 -0
- package/dist/languages/it.js.map +1 -0
- package/dist/languages/ja.d.ts +6 -50
- package/dist/languages/ja.d.ts.map +1 -0
- package/dist/languages/ja.js +60 -13
- package/dist/languages/ja.js.map +1 -1
- package/dist/languages/ko.d.ts +6 -55
- package/dist/languages/ko.d.ts.map +1 -0
- package/dist/languages/ko.js +64 -13
- package/dist/languages/ko.js.map +1 -1
- package/dist/languages/ms.d.ts +10 -0
- package/dist/languages/ms.d.ts.map +1 -0
- package/dist/languages/ms.js +1088 -0
- package/dist/languages/ms.js.map +1 -0
- package/dist/languages/pl.d.ts +12 -0
- package/dist/languages/pl.d.ts.map +1 -0
- package/dist/languages/pl.js +1586 -0
- package/dist/languages/pl.js.map +1 -0
- package/dist/languages/pt.d.ts +6 -34
- package/dist/languages/pt.d.ts.map +1 -0
- package/dist/languages/pt.js +344 -22
- package/dist/languages/pt.js.map +1 -1
- package/dist/languages/qu.d.ts +6 -44
- package/dist/languages/qu.d.ts.map +1 -0
- package/dist/languages/qu.js +105 -28
- package/dist/languages/qu.js.map +1 -1
- package/dist/languages/ru.d.ts +18 -0
- package/dist/languages/ru.d.ts.map +1 -0
- package/dist/languages/ru.js +1705 -0
- package/dist/languages/ru.js.map +1 -0
- package/dist/languages/sw.d.ts +6 -32
- package/dist/languages/sw.d.ts.map +1 -0
- package/dist/languages/sw.js +69 -17
- package/dist/languages/sw.js.map +1 -1
- package/dist/languages/th.d.ts +10 -0
- package/dist/languages/th.d.ts.map +1 -0
- package/dist/languages/th.js +1123 -0
- package/dist/languages/th.js.map +1 -0
- package/dist/languages/tl.d.ts +10 -0
- package/dist/languages/tl.d.ts.map +1 -0
- package/dist/languages/tl.js +1086 -0
- package/dist/languages/tl.js.map +1 -0
- package/dist/languages/tr.d.ts +6 -50
- package/dist/languages/tr.d.ts.map +1 -0
- package/dist/languages/tr.js +67 -16
- package/dist/languages/tr.js.map +1 -1
- package/dist/languages/uk.d.ts +18 -0
- package/dist/languages/uk.d.ts.map +1 -0
- package/dist/languages/uk.js +1691 -0
- package/dist/languages/uk.js.map +1 -0
- package/dist/languages/vi.d.ts +10 -0
- package/dist/languages/vi.d.ts.map +1 -0
- package/dist/languages/vi.js +1266 -0
- package/dist/languages/vi.js.map +1 -0
- package/dist/languages/zh.d.ts +6 -55
- package/dist/languages/zh.d.ts.map +1 -0
- package/dist/languages/zh.js +59 -13
- package/dist/languages/zh.js.map +1 -1
- package/dist/parser/index.d.ts +8 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/pattern-matcher.d.ts +188 -0
- package/dist/parser/pattern-matcher.d.ts.map +1 -0
- package/dist/parser/semantic-parser.d.ts +238 -0
- package/dist/parser/semantic-parser.d.ts.map +1 -0
- package/dist/parser/utils/index.d.ts +9 -0
- package/dist/parser/utils/index.d.ts.map +1 -0
- package/dist/parser/utils/marker-resolution.d.ts +57 -0
- package/dist/parser/utils/marker-resolution.d.ts.map +1 -0
- package/dist/parser/utils/possessive-keywords.d.ts +31 -0
- package/dist/parser/utils/possessive-keywords.d.ts.map +1 -0
- package/dist/parser/utils/role-positioning.d.ts +42 -0
- package/dist/parser/utils/role-positioning.d.ts.map +1 -0
- package/dist/parser/utils/type-validation.d.ts +63 -0
- package/dist/parser/utils/type-validation.d.ts.map +1 -0
- package/dist/patterns/add/ar.d.ts +12 -0
- package/dist/patterns/add/ar.d.ts.map +1 -0
- package/dist/patterns/add/bn.d.ts +8 -0
- package/dist/patterns/add/bn.d.ts.map +1 -0
- package/dist/patterns/add/hi.d.ts +8 -0
- package/dist/patterns/add/hi.d.ts.map +1 -0
- package/dist/patterns/add/index.d.ts +31 -0
- package/dist/patterns/add/index.d.ts.map +1 -0
- package/dist/patterns/add/it.d.ts +11 -0
- package/dist/patterns/add/it.d.ts.map +1 -0
- package/dist/patterns/add/ja.d.ts +12 -0
- package/dist/patterns/add/ja.d.ts.map +1 -0
- package/dist/patterns/add/ko.d.ts +12 -0
- package/dist/patterns/add/ko.d.ts.map +1 -0
- package/dist/patterns/add/pl.d.ts +12 -0
- package/dist/patterns/add/pl.d.ts.map +1 -0
- package/dist/patterns/add/qu.d.ts +9 -0
- package/dist/patterns/add/qu.d.ts.map +1 -0
- package/dist/patterns/add/ru.d.ts +12 -0
- package/dist/patterns/add/ru.d.ts.map +1 -0
- package/dist/patterns/add/th.d.ts +8 -0
- package/dist/patterns/add/th.d.ts.map +1 -0
- package/dist/patterns/add/tr.d.ts +12 -0
- package/dist/patterns/add/tr.d.ts.map +1 -0
- package/dist/patterns/add/uk.d.ts +12 -0
- package/dist/patterns/add/uk.d.ts.map +1 -0
- package/dist/patterns/add/vi.d.ts +11 -0
- package/dist/patterns/add/vi.d.ts.map +1 -0
- package/dist/patterns/add/zh.d.ts +12 -0
- package/dist/patterns/add/zh.d.ts.map +1 -0
- package/dist/patterns/builders.d.ts +52 -0
- package/dist/patterns/builders.d.ts.map +1 -0
- package/dist/patterns/decrement/bn.d.ts +8 -0
- package/dist/patterns/decrement/bn.d.ts.map +1 -0
- package/dist/patterns/decrement/de.d.ts +12 -0
- package/dist/patterns/decrement/de.d.ts.map +1 -0
- package/dist/patterns/decrement/hi.d.ts +8 -0
- package/dist/patterns/decrement/hi.d.ts.map +1 -0
- package/dist/patterns/decrement/index.d.ts +28 -0
- package/dist/patterns/decrement/index.d.ts.map +1 -0
- package/dist/patterns/decrement/it.d.ts +11 -0
- package/dist/patterns/decrement/it.d.ts.map +1 -0
- package/dist/patterns/decrement/pl.d.ts +12 -0
- package/dist/patterns/decrement/pl.d.ts.map +1 -0
- package/dist/patterns/decrement/ru.d.ts +12 -0
- package/dist/patterns/decrement/ru.d.ts.map +1 -0
- package/dist/patterns/decrement/th.d.ts +8 -0
- package/dist/patterns/decrement/th.d.ts.map +1 -0
- package/dist/patterns/decrement/tr.d.ts +12 -0
- package/dist/patterns/decrement/tr.d.ts.map +1 -0
- package/dist/patterns/decrement/uk.d.ts +12 -0
- package/dist/patterns/decrement/uk.d.ts.map +1 -0
- package/dist/patterns/decrement/vi.d.ts +11 -0
- package/dist/patterns/decrement/vi.d.ts.map +1 -0
- package/dist/patterns/decrement/zh.d.ts +12 -0
- package/dist/patterns/decrement/zh.d.ts.map +1 -0
- package/dist/patterns/en.d.ts +13 -0
- package/dist/patterns/en.d.ts.map +1 -0
- package/dist/patterns/event-handler/ar.d.ts +12 -0
- package/dist/patterns/event-handler/ar.d.ts.map +1 -0
- package/dist/patterns/event-handler/bn.d.ts +8 -0
- package/dist/patterns/event-handler/bn.d.ts.map +1 -0
- package/dist/patterns/event-handler/de.d.ts +11 -0
- package/dist/patterns/event-handler/de.d.ts.map +1 -0
- package/dist/patterns/event-handler/en.d.ts +11 -0
- package/dist/patterns/event-handler/en.d.ts.map +1 -0
- package/dist/patterns/event-handler/es.d.ts +11 -0
- package/dist/patterns/event-handler/es.d.ts.map +1 -0
- package/dist/patterns/event-handler/fr.d.ts +11 -0
- package/dist/patterns/event-handler/fr.d.ts.map +1 -0
- package/dist/patterns/event-handler/he.d.ts +12 -0
- package/dist/patterns/event-handler/he.d.ts.map +1 -0
- package/dist/patterns/event-handler/hi.d.ts +9 -0
- package/dist/patterns/event-handler/hi.d.ts.map +1 -0
- package/dist/patterns/event-handler/id.d.ts +11 -0
- package/dist/patterns/event-handler/id.d.ts.map +1 -0
- package/dist/patterns/event-handler/index.d.ts +41 -0
- package/dist/patterns/event-handler/index.d.ts.map +1 -0
- package/dist/patterns/event-handler/it.d.ts +11 -0
- package/dist/patterns/event-handler/it.d.ts.map +1 -0
- package/dist/patterns/event-handler/ja.d.ts +12 -0
- package/dist/patterns/event-handler/ja.d.ts.map +1 -0
- package/dist/patterns/event-handler/ko.d.ts +12 -0
- package/dist/patterns/event-handler/ko.d.ts.map +1 -0
- package/dist/patterns/event-handler/ms.d.ts +14 -0
- package/dist/patterns/event-handler/ms.d.ts.map +1 -0
- package/dist/patterns/event-handler/pl.d.ts +12 -0
- package/dist/patterns/event-handler/pl.d.ts.map +1 -0
- package/dist/patterns/event-handler/pt.d.ts +11 -0
- package/dist/patterns/event-handler/pt.d.ts.map +1 -0
- package/dist/patterns/event-handler/qu.d.ts +11 -0
- package/dist/patterns/event-handler/qu.d.ts.map +1 -0
- package/dist/patterns/event-handler/ru.d.ts +12 -0
- package/dist/patterns/event-handler/ru.d.ts.map +1 -0
- package/dist/patterns/event-handler/shared.d.ts +15 -0
- package/dist/patterns/event-handler/shared.d.ts.map +1 -0
- package/dist/patterns/event-handler/sw.d.ts +11 -0
- package/dist/patterns/event-handler/sw.d.ts.map +1 -0
- package/dist/patterns/event-handler/th.d.ts +8 -0
- package/dist/patterns/event-handler/th.d.ts.map +1 -0
- package/dist/patterns/event-handler/tl.d.ts +9 -0
- package/dist/patterns/event-handler/tl.d.ts.map +1 -0
- package/dist/patterns/event-handler/tr.d.ts +12 -0
- package/dist/patterns/event-handler/tr.d.ts.map +1 -0
- package/dist/patterns/event-handler/uk.d.ts +12 -0
- package/dist/patterns/event-handler/uk.d.ts.map +1 -0
- package/dist/patterns/event-handler/vi.d.ts +11 -0
- package/dist/patterns/event-handler/vi.d.ts.map +1 -0
- package/dist/patterns/event-handler/zh.d.ts +11 -0
- package/dist/patterns/event-handler/zh.d.ts.map +1 -0
- package/dist/patterns/get/ar.d.ts +12 -0
- package/dist/patterns/get/ar.d.ts.map +1 -0
- package/dist/patterns/get/bn.d.ts +8 -0
- package/dist/patterns/get/bn.d.ts.map +1 -0
- package/dist/patterns/get/de.d.ts +12 -0
- package/dist/patterns/get/de.d.ts.map +1 -0
- package/dist/patterns/get/hi.d.ts +8 -0
- package/dist/patterns/get/hi.d.ts.map +1 -0
- package/dist/patterns/get/index.d.ts +29 -0
- package/dist/patterns/get/index.d.ts.map +1 -0
- package/dist/patterns/get/it.d.ts +11 -0
- package/dist/patterns/get/it.d.ts.map +1 -0
- package/dist/patterns/get/ja.d.ts +12 -0
- package/dist/patterns/get/ja.d.ts.map +1 -0
- package/dist/patterns/get/ko.d.ts +12 -0
- package/dist/patterns/get/ko.d.ts.map +1 -0
- package/dist/patterns/get/pl.d.ts +12 -0
- package/dist/patterns/get/pl.d.ts.map +1 -0
- package/dist/patterns/get/ru.d.ts +12 -0
- package/dist/patterns/get/ru.d.ts.map +1 -0
- package/dist/patterns/get/th.d.ts +8 -0
- package/dist/patterns/get/th.d.ts.map +1 -0
- package/dist/patterns/get/uk.d.ts +12 -0
- package/dist/patterns/get/uk.d.ts.map +1 -0
- package/dist/patterns/get/vi.d.ts +11 -0
- package/dist/patterns/get/vi.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/index.d.ts +20 -0
- package/dist/patterns/grammar-transformed/index.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/ja.d.ts +12 -0
- package/dist/patterns/grammar-transformed/ja.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/ko.d.ts +12 -0
- package/dist/patterns/grammar-transformed/ko.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/tr.d.ts +12 -0
- package/dist/patterns/grammar-transformed/tr.d.ts.map +1 -0
- package/dist/patterns/hide/ar.d.ts +12 -0
- package/dist/patterns/hide/ar.d.ts.map +1 -0
- package/dist/patterns/hide/bn.d.ts +8 -0
- package/dist/patterns/hide/bn.d.ts.map +1 -0
- package/dist/patterns/hide/de.d.ts +12 -0
- package/dist/patterns/hide/de.d.ts.map +1 -0
- package/dist/patterns/hide/hi.d.ts +8 -0
- package/dist/patterns/hide/hi.d.ts.map +1 -0
- package/dist/patterns/hide/index.d.ts +31 -0
- package/dist/patterns/hide/index.d.ts.map +1 -0
- package/dist/patterns/hide/it.d.ts +11 -0
- package/dist/patterns/hide/it.d.ts.map +1 -0
- package/dist/patterns/hide/ja.d.ts +12 -0
- package/dist/patterns/hide/ja.d.ts.map +1 -0
- package/dist/patterns/hide/ko.d.ts +12 -0
- package/dist/patterns/hide/ko.d.ts.map +1 -0
- package/dist/patterns/hide/pl.d.ts +12 -0
- package/dist/patterns/hide/pl.d.ts.map +1 -0
- package/dist/patterns/hide/ru.d.ts +12 -0
- package/dist/patterns/hide/ru.d.ts.map +1 -0
- package/dist/patterns/hide/th.d.ts +8 -0
- package/dist/patterns/hide/th.d.ts.map +1 -0
- package/dist/patterns/hide/tr.d.ts +12 -0
- package/dist/patterns/hide/tr.d.ts.map +1 -0
- package/dist/patterns/hide/uk.d.ts +12 -0
- package/dist/patterns/hide/uk.d.ts.map +1 -0
- package/dist/patterns/hide/vi.d.ts +11 -0
- package/dist/patterns/hide/vi.d.ts.map +1 -0
- package/dist/patterns/hide/zh.d.ts +12 -0
- package/dist/patterns/hide/zh.d.ts.map +1 -0
- package/dist/patterns/increment/bn.d.ts +8 -0
- package/dist/patterns/increment/bn.d.ts.map +1 -0
- package/dist/patterns/increment/de.d.ts +12 -0
- package/dist/patterns/increment/de.d.ts.map +1 -0
- package/dist/patterns/increment/hi.d.ts +8 -0
- package/dist/patterns/increment/hi.d.ts.map +1 -0
- package/dist/patterns/increment/index.d.ts +28 -0
- package/dist/patterns/increment/index.d.ts.map +1 -0
- package/dist/patterns/increment/it.d.ts +11 -0
- package/dist/patterns/increment/it.d.ts.map +1 -0
- package/dist/patterns/increment/pl.d.ts +12 -0
- package/dist/patterns/increment/pl.d.ts.map +1 -0
- package/dist/patterns/increment/ru.d.ts +12 -0
- package/dist/patterns/increment/ru.d.ts.map +1 -0
- package/dist/patterns/increment/th.d.ts +8 -0
- package/dist/patterns/increment/th.d.ts.map +1 -0
- package/dist/patterns/increment/tr.d.ts +12 -0
- package/dist/patterns/increment/tr.d.ts.map +1 -0
- package/dist/patterns/increment/uk.d.ts +12 -0
- package/dist/patterns/increment/uk.d.ts.map +1 -0
- package/dist/patterns/increment/vi.d.ts +11 -0
- package/dist/patterns/increment/vi.d.ts.map +1 -0
- package/dist/patterns/increment/zh.d.ts +12 -0
- package/dist/patterns/increment/zh.d.ts.map +1 -0
- package/dist/patterns/index.d.ts +21 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/languages/en/control-flow.d.ts +40 -0
- package/dist/patterns/languages/en/control-flow.d.ts.map +1 -0
- package/dist/patterns/languages/en/fetch.d.ts +22 -0
- package/dist/patterns/languages/en/fetch.d.ts.map +1 -0
- package/dist/patterns/languages/en/index.d.ts +22 -0
- package/dist/patterns/languages/en/index.d.ts.map +1 -0
- package/dist/patterns/languages/en/repeat.d.ts +22 -0
- package/dist/patterns/languages/en/repeat.d.ts.map +1 -0
- package/dist/patterns/languages/en/set.d.ts +23 -0
- package/dist/patterns/languages/en/set.d.ts.map +1 -0
- package/dist/patterns/languages/en/swap.d.ts +19 -0
- package/dist/patterns/languages/en/swap.d.ts.map +1 -0
- package/dist/patterns/languages/en/temporal.d.ts +24 -0
- package/dist/patterns/languages/en/temporal.d.ts.map +1 -0
- package/dist/patterns/put/ar.d.ts +12 -0
- package/dist/patterns/put/ar.d.ts.map +1 -0
- package/dist/patterns/put/bn.d.ts +8 -0
- package/dist/patterns/put/bn.d.ts.map +1 -0
- package/dist/patterns/put/en.d.ts +11 -0
- package/dist/patterns/put/en.d.ts.map +1 -0
- package/dist/patterns/put/es.d.ts +11 -0
- package/dist/patterns/put/es.d.ts.map +1 -0
- package/dist/patterns/put/hi.d.ts +8 -0
- package/dist/patterns/put/hi.d.ts.map +1 -0
- package/dist/patterns/put/id.d.ts +15 -0
- package/dist/patterns/put/id.d.ts.map +1 -0
- package/dist/patterns/put/index.d.ts +33 -0
- package/dist/patterns/put/index.d.ts.map +1 -0
- package/dist/patterns/put/it.d.ts +11 -0
- package/dist/patterns/put/it.d.ts.map +1 -0
- package/dist/patterns/put/ja.d.ts +12 -0
- package/dist/patterns/put/ja.d.ts.map +1 -0
- package/dist/patterns/put/ko.d.ts +12 -0
- package/dist/patterns/put/ko.d.ts.map +1 -0
- package/dist/patterns/put/pl.d.ts +12 -0
- package/dist/patterns/put/pl.d.ts.map +1 -0
- package/dist/patterns/put/ru.d.ts +12 -0
- package/dist/patterns/put/ru.d.ts.map +1 -0
- package/dist/patterns/put/th.d.ts +8 -0
- package/dist/patterns/put/th.d.ts.map +1 -0
- package/dist/patterns/put/tr.d.ts +12 -0
- package/dist/patterns/put/tr.d.ts.map +1 -0
- package/dist/patterns/put/uk.d.ts +12 -0
- package/dist/patterns/put/uk.d.ts.map +1 -0
- package/dist/patterns/put/vi.d.ts +11 -0
- package/dist/patterns/put/vi.d.ts.map +1 -0
- package/dist/patterns/put/zh.d.ts +12 -0
- package/dist/patterns/put/zh.d.ts.map +1 -0
- package/dist/patterns/registry.d.ts +53 -0
- package/dist/patterns/registry.d.ts.map +1 -0
- package/dist/patterns/remove/ar.d.ts +12 -0
- package/dist/patterns/remove/ar.d.ts.map +1 -0
- package/dist/patterns/remove/bn.d.ts +8 -0
- package/dist/patterns/remove/bn.d.ts.map +1 -0
- package/dist/patterns/remove/hi.d.ts +8 -0
- package/dist/patterns/remove/hi.d.ts.map +1 -0
- package/dist/patterns/remove/index.d.ts +31 -0
- package/dist/patterns/remove/index.d.ts.map +1 -0
- package/dist/patterns/remove/it.d.ts +11 -0
- package/dist/patterns/remove/it.d.ts.map +1 -0
- package/dist/patterns/remove/ja.d.ts +12 -0
- package/dist/patterns/remove/ja.d.ts.map +1 -0
- package/dist/patterns/remove/ko.d.ts +12 -0
- package/dist/patterns/remove/ko.d.ts.map +1 -0
- package/dist/patterns/remove/pl.d.ts +12 -0
- package/dist/patterns/remove/pl.d.ts.map +1 -0
- package/dist/patterns/remove/qu.d.ts +9 -0
- package/dist/patterns/remove/qu.d.ts.map +1 -0
- package/dist/patterns/remove/ru.d.ts +12 -0
- package/dist/patterns/remove/ru.d.ts.map +1 -0
- package/dist/patterns/remove/th.d.ts +8 -0
- package/dist/patterns/remove/th.d.ts.map +1 -0
- package/dist/patterns/remove/tr.d.ts +12 -0
- package/dist/patterns/remove/tr.d.ts.map +1 -0
- package/dist/patterns/remove/uk.d.ts +12 -0
- package/dist/patterns/remove/uk.d.ts.map +1 -0
- package/dist/patterns/remove/vi.d.ts +11 -0
- package/dist/patterns/remove/vi.d.ts.map +1 -0
- package/dist/patterns/remove/zh.d.ts +12 -0
- package/dist/patterns/remove/zh.d.ts.map +1 -0
- package/dist/patterns/set/ar.d.ts +12 -0
- package/dist/patterns/set/ar.d.ts.map +1 -0
- package/dist/patterns/set/bn.d.ts +8 -0
- package/dist/patterns/set/bn.d.ts.map +1 -0
- package/dist/patterns/set/de.d.ts +12 -0
- package/dist/patterns/set/de.d.ts.map +1 -0
- package/dist/patterns/set/es.d.ts +12 -0
- package/dist/patterns/set/es.d.ts.map +1 -0
- package/dist/patterns/set/fr.d.ts +12 -0
- package/dist/patterns/set/fr.d.ts.map +1 -0
- package/dist/patterns/set/hi.d.ts +8 -0
- package/dist/patterns/set/hi.d.ts.map +1 -0
- package/dist/patterns/set/id.d.ts +12 -0
- package/dist/patterns/set/id.d.ts.map +1 -0
- package/dist/patterns/set/index.d.ts +35 -0
- package/dist/patterns/set/index.d.ts.map +1 -0
- package/dist/patterns/set/it.d.ts +11 -0
- package/dist/patterns/set/it.d.ts.map +1 -0
- package/dist/patterns/set/ja.d.ts +12 -0
- package/dist/patterns/set/ja.d.ts.map +1 -0
- package/dist/patterns/set/ko.d.ts +12 -0
- package/dist/patterns/set/ko.d.ts.map +1 -0
- package/dist/patterns/set/pl.d.ts +12 -0
- package/dist/patterns/set/pl.d.ts.map +1 -0
- package/dist/patterns/set/pt.d.ts +12 -0
- package/dist/patterns/set/pt.d.ts.map +1 -0
- package/dist/patterns/set/ru.d.ts +12 -0
- package/dist/patterns/set/ru.d.ts.map +1 -0
- package/dist/patterns/set/th.d.ts +8 -0
- package/dist/patterns/set/th.d.ts.map +1 -0
- package/dist/patterns/set/tr.d.ts +12 -0
- package/dist/patterns/set/tr.d.ts.map +1 -0
- package/dist/patterns/set/uk.d.ts +12 -0
- package/dist/patterns/set/uk.d.ts.map +1 -0
- package/dist/patterns/set/vi.d.ts +11 -0
- package/dist/patterns/set/vi.d.ts.map +1 -0
- package/dist/patterns/set/zh.d.ts +12 -0
- package/dist/patterns/set/zh.d.ts.map +1 -0
- package/dist/patterns/show/ar.d.ts +12 -0
- package/dist/patterns/show/ar.d.ts.map +1 -0
- package/dist/patterns/show/bn.d.ts +8 -0
- package/dist/patterns/show/bn.d.ts.map +1 -0
- package/dist/patterns/show/de.d.ts +12 -0
- package/dist/patterns/show/de.d.ts.map +1 -0
- package/dist/patterns/show/fr.d.ts +12 -0
- package/dist/patterns/show/fr.d.ts.map +1 -0
- package/dist/patterns/show/hi.d.ts +8 -0
- package/dist/patterns/show/hi.d.ts.map +1 -0
- package/dist/patterns/show/index.d.ts +32 -0
- package/dist/patterns/show/index.d.ts.map +1 -0
- package/dist/patterns/show/it.d.ts +11 -0
- package/dist/patterns/show/it.d.ts.map +1 -0
- package/dist/patterns/show/ja.d.ts +12 -0
- package/dist/patterns/show/ja.d.ts.map +1 -0
- package/dist/patterns/show/ko.d.ts +12 -0
- package/dist/patterns/show/ko.d.ts.map +1 -0
- package/dist/patterns/show/pl.d.ts +12 -0
- package/dist/patterns/show/pl.d.ts.map +1 -0
- package/dist/patterns/show/ru.d.ts +12 -0
- package/dist/patterns/show/ru.d.ts.map +1 -0
- package/dist/patterns/show/th.d.ts +8 -0
- package/dist/patterns/show/th.d.ts.map +1 -0
- package/dist/patterns/show/tr.d.ts +12 -0
- package/dist/patterns/show/tr.d.ts.map +1 -0
- package/dist/patterns/show/uk.d.ts +12 -0
- package/dist/patterns/show/uk.d.ts.map +1 -0
- package/dist/patterns/show/vi.d.ts +11 -0
- package/dist/patterns/show/vi.d.ts.map +1 -0
- package/dist/patterns/show/zh.d.ts +12 -0
- package/dist/patterns/show/zh.d.ts.map +1 -0
- package/dist/patterns/take/ar.d.ts +12 -0
- package/dist/patterns/take/ar.d.ts.map +1 -0
- package/dist/patterns/take/index.d.ts +18 -0
- package/dist/patterns/take/index.d.ts.map +1 -0
- package/dist/patterns/toggle/ar.d.ts +12 -0
- package/dist/patterns/toggle/ar.d.ts.map +1 -0
- package/dist/patterns/toggle/bn.d.ts +8 -0
- package/dist/patterns/toggle/bn.d.ts.map +1 -0
- package/dist/patterns/toggle/en.d.ts +11 -0
- package/dist/patterns/toggle/en.d.ts.map +1 -0
- package/dist/patterns/toggle/es.d.ts +11 -0
- package/dist/patterns/toggle/es.d.ts.map +1 -0
- package/dist/patterns/toggle/hi.d.ts +9 -0
- package/dist/patterns/toggle/hi.d.ts.map +1 -0
- package/dist/patterns/toggle/index.d.ts +33 -0
- package/dist/patterns/toggle/index.d.ts.map +1 -0
- package/dist/patterns/toggle/it.d.ts +11 -0
- package/dist/patterns/toggle/it.d.ts.map +1 -0
- package/dist/patterns/toggle/ja.d.ts +12 -0
- package/dist/patterns/toggle/ja.d.ts.map +1 -0
- package/dist/patterns/toggle/ko.d.ts +12 -0
- package/dist/patterns/toggle/ko.d.ts.map +1 -0
- package/dist/patterns/toggle/pl.d.ts +12 -0
- package/dist/patterns/toggle/pl.d.ts.map +1 -0
- package/dist/patterns/toggle/qu.d.ts +9 -0
- package/dist/patterns/toggle/qu.d.ts.map +1 -0
- package/dist/patterns/toggle/ru.d.ts +12 -0
- package/dist/patterns/toggle/ru.d.ts.map +1 -0
- package/dist/patterns/toggle/th.d.ts +9 -0
- package/dist/patterns/toggle/th.d.ts.map +1 -0
- package/dist/patterns/toggle/tr.d.ts +12 -0
- package/dist/patterns/toggle/tr.d.ts.map +1 -0
- package/dist/patterns/toggle/uk.d.ts +12 -0
- package/dist/patterns/toggle/uk.d.ts.map +1 -0
- package/dist/patterns/toggle/vi.d.ts +11 -0
- package/dist/patterns/toggle/vi.d.ts.map +1 -0
- package/dist/patterns/toggle/zh.d.ts +11 -0
- package/dist/patterns/toggle/zh.d.ts.map +1 -0
- package/dist/public-api.d.ts +190 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/registry.d.ts +225 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/tokenizers/arabic.d.ts +67 -0
- package/dist/tokenizers/arabic.d.ts.map +1 -0
- package/dist/tokenizers/base-tokenizer.d.ts +240 -0
- package/dist/tokenizers/base-tokenizer.d.ts.map +1 -0
- package/dist/tokenizers/base.d.ts +14 -0
- package/dist/tokenizers/base.d.ts.map +1 -0
- package/dist/tokenizers/bengali.d.ts +22 -0
- package/dist/tokenizers/bengali.d.ts.map +1 -0
- package/dist/tokenizers/char-classifiers.d.ts +56 -0
- package/dist/tokenizers/char-classifiers.d.ts.map +1 -0
- package/dist/tokenizers/chinese.d.ts +47 -0
- package/dist/tokenizers/chinese.d.ts.map +1 -0
- package/dist/tokenizers/english.d.ts +34 -0
- package/dist/tokenizers/english.d.ts.map +1 -0
- package/dist/tokenizers/extractors.d.ts +61 -0
- package/dist/tokenizers/extractors.d.ts.map +1 -0
- package/dist/tokenizers/french.d.ts +26 -0
- package/dist/tokenizers/french.d.ts.map +1 -0
- package/dist/tokenizers/german.d.ts +27 -0
- package/dist/tokenizers/german.d.ts.map +1 -0
- package/dist/tokenizers/he.d.ts +58 -0
- package/dist/tokenizers/he.d.ts.map +1 -0
- package/dist/tokenizers/hindi.d.ts +25 -0
- package/dist/tokenizers/hindi.d.ts.map +1 -0
- package/dist/tokenizers/index.d.ts +64 -0
- package/dist/tokenizers/index.d.ts.map +1 -0
- package/dist/tokenizers/indonesian.d.ts +24 -0
- package/dist/tokenizers/indonesian.d.ts.map +1 -0
- package/dist/tokenizers/italian.d.ts +41 -0
- package/dist/tokenizers/italian.d.ts.map +1 -0
- package/dist/tokenizers/japanese.d.ts +42 -0
- package/dist/tokenizers/japanese.d.ts.map +1 -0
- package/dist/tokenizers/korean.d.ts +47 -0
- package/dist/tokenizers/korean.d.ts.map +1 -0
- package/dist/tokenizers/morphology/arabic-normalizer.d.ts +37 -0
- package/dist/tokenizers/morphology/arabic-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/french-normalizer.d.ts +46 -0
- package/dist/tokenizers/morphology/french-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/german-normalizer.d.ts +55 -0
- package/dist/tokenizers/morphology/german-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/index.d.ts +20 -0
- package/dist/tokenizers/morphology/index.d.ts.map +1 -0
- package/dist/tokenizers/morphology/italian-normalizer.d.ts +52 -0
- package/dist/tokenizers/morphology/italian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/japanese-normalizer.d.ts +43 -0
- package/dist/tokenizers/morphology/japanese-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/korean-normalizer.d.ts +45 -0
- package/dist/tokenizers/morphology/korean-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/polish-normalizer.d.ts +61 -0
- package/dist/tokenizers/morphology/polish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/portuguese-normalizer.d.ts +51 -0
- package/dist/tokenizers/morphology/portuguese-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/russian-normalizer.d.ts +72 -0
- package/dist/tokenizers/morphology/russian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/spanish-normalizer.d.ts +49 -0
- package/dist/tokenizers/morphology/spanish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/turkish-normalizer.d.ts +52 -0
- package/dist/tokenizers/morphology/turkish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/types.d.ts +110 -0
- package/dist/tokenizers/morphology/types.d.ts.map +1 -0
- package/dist/tokenizers/morphology/ukrainian-normalizer.d.ts +76 -0
- package/dist/tokenizers/morphology/ukrainian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/ms.d.ts +22 -0
- package/dist/tokenizers/ms.d.ts.map +1 -0
- package/dist/tokenizers/polish.d.ts +25 -0
- package/dist/tokenizers/polish.d.ts.map +1 -0
- package/dist/tokenizers/portuguese.d.ts +26 -0
- package/dist/tokenizers/portuguese.d.ts.map +1 -0
- package/dist/tokenizers/quechua.d.ts +36 -0
- package/dist/tokenizers/quechua.d.ts.map +1 -0
- package/dist/tokenizers/russian.d.ts +25 -0
- package/dist/tokenizers/russian.d.ts.map +1 -0
- package/dist/tokenizers/spanish.d.ts +41 -0
- package/dist/tokenizers/spanish.d.ts.map +1 -0
- package/dist/tokenizers/swahili.d.ts +24 -0
- package/dist/tokenizers/swahili.d.ts.map +1 -0
- package/dist/tokenizers/thai.d.ts +24 -0
- package/dist/tokenizers/thai.d.ts.map +1 -0
- package/dist/tokenizers/tl.d.ts +22 -0
- package/dist/tokenizers/tl.d.ts.map +1 -0
- package/dist/tokenizers/token-utils.d.ts +97 -0
- package/dist/tokenizers/token-utils.d.ts.map +1 -0
- package/dist/tokenizers/turkish.d.ts +42 -0
- package/dist/tokenizers/turkish.d.ts.map +1 -0
- package/dist/tokenizers/ukrainian.d.ts +25 -0
- package/dist/tokenizers/ukrainian.d.ts.map +1 -0
- package/dist/tokenizers/vietnamese.d.ts +47 -0
- package/dist/tokenizers/vietnamese.d.ts.map +1 -0
- package/dist/types/grammar-types.d.ts +224 -0
- package/dist/types/grammar-types.d.ts.map +1 -0
- package/dist/types/unified-profile.d.ts +167 -0
- package/dist/types/unified-profile.d.ts.map +1 -0
- package/dist/types.d.ts +401 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/confidence-calculator.d.ts +43 -0
- package/dist/utils/confidence-calculator.d.ts.map +1 -0
- package/dist/validators/command-validator.d.ts +83 -0
- package/dist/validators/command-validator.d.ts.map +1 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/package.json +86 -6
- package/src/ast-builder/command-mappers.ts +9 -1
- package/src/ast-builder/expression-parser/parser.ts +13 -2
- package/src/ast-builder/index.ts +20 -6
- package/src/browser-bn.ts +162 -0
- package/src/browser-east-asian.ts +1 -1
- package/src/browser-hi.ts +162 -0
- package/src/browser-it.ts +162 -0
- package/src/browser-ms.ts +162 -0
- package/src/browser-pl.ts +162 -0
- package/src/browser-priority.ts +1 -1
- package/src/browser-ru.ts +162 -0
- package/src/browser-th.ts +162 -0
- package/src/browser-tl.ts +162 -0
- package/src/browser-uk.ts +162 -0
- package/src/browser-vi.ts +162 -0
- package/src/browser-western.ts +1 -1
- package/src/core-bridge.ts +43 -16
- package/src/core.ts +13 -0
- package/src/explicit/parser.ts +4 -2
- package/src/explicit/renderer.ts +1 -1
- package/src/generators/command-schemas.ts +214 -2
- package/src/generators/event-handlers-sov.ts +686 -0
- package/src/generators/event-handlers-vso.ts +489 -0
- package/src/generators/pattern-generator.ts +93 -736
- package/src/generators/profiles/arabic.ts +11 -1
- package/src/generators/profiles/bengali.ts +6 -0
- package/src/generators/profiles/chinese.ts +6 -0
- package/src/generators/profiles/english.ts +6 -0
- package/src/generators/profiles/french.ts +6 -0
- package/src/generators/profiles/german.ts +6 -0
- package/src/generators/profiles/hebrew.ts +6 -0
- package/src/generators/profiles/hindi.ts +6 -0
- package/src/generators/profiles/indonesian.ts +6 -0
- package/src/generators/profiles/italian.ts +6 -0
- package/src/generators/profiles/japanese.ts +6 -0
- package/src/generators/profiles/korean.ts +6 -0
- package/src/generators/profiles/ms.ts +6 -0
- package/src/generators/profiles/polish.ts +6 -0
- package/src/generators/profiles/portuguese.ts +6 -0
- package/src/generators/profiles/quechua.ts +35 -13
- package/src/generators/profiles/russian.ts +6 -0
- package/src/generators/profiles/spanish.ts +6 -0
- package/src/generators/profiles/spanishMexico.ts +6 -0
- package/src/generators/profiles/swahili.ts +14 -3
- package/src/generators/profiles/thai.ts +6 -0
- package/src/generators/profiles/tl.ts +22 -9
- package/src/generators/profiles/turkish.ts +7 -1
- package/src/generators/profiles/ukrainian.ts +6 -0
- package/src/generators/profiles/vietnamese.ts +6 -0
- package/src/generators/schema-validator.ts +8 -3
- package/src/index.ts +54 -0
- package/src/interchange/from-semantic.ts +440 -0
- package/src/interchange/index.ts +26 -0
- package/src/interchange/types.ts +186 -0
- package/src/parser/pattern-matcher.ts +65 -15
- package/src/parser/semantic-parser.ts +850 -8
- package/src/patterns/add/index.ts +1 -9
- package/src/patterns/builders.ts +2 -2
- package/src/patterns/decrement/index.ts +1 -9
- package/src/patterns/event-handler/shared.ts +30 -0
- package/src/patterns/event-handler/tl.ts +39 -19
- package/src/patterns/get/index.ts +1 -9
- package/src/patterns/hide/index.ts +1 -9
- package/src/patterns/increment/index.ts +1 -9
- package/src/patterns/put/index.ts +1 -9
- package/src/patterns/registry.ts +2 -2
- package/src/patterns/remove/index.ts +1 -9
- package/src/patterns/set/index.ts +1 -9
- package/src/patterns/show/index.ts +1 -9
- package/src/patterns/toggle/index.ts +1 -9
- package/src/tokenizers/arabic.ts +14 -1
- package/src/tokenizers/base-tokenizer.ts +644 -0
- package/src/tokenizers/base.ts +39 -1297
- package/src/tokenizers/bengali.ts +37 -10
- package/src/tokenizers/char-classifiers.ts +79 -0
- package/src/tokenizers/chinese.ts +7 -0
- package/src/tokenizers/english.ts +8 -1
- package/src/tokenizers/extractors.ts +452 -0
- package/src/tokenizers/french.ts +16 -1
- package/src/tokenizers/german.ts +16 -1
- package/src/tokenizers/he.ts +14 -1
- package/src/tokenizers/hindi.ts +14 -1
- package/src/tokenizers/indonesian.ts +14 -1
- package/src/tokenizers/italian.ts +14 -1
- package/src/tokenizers/japanese.ts +14 -1
- package/src/tokenizers/korean.ts +19 -1
- package/src/tokenizers/morphology/index.ts +17 -0
- package/src/tokenizers/morphology/polish-normalizer.ts +147 -131
- package/src/tokenizers/morphology/russian-normalizer.ts +397 -0
- package/src/tokenizers/morphology/ukrainian-normalizer.ts +366 -0
- package/src/tokenizers/ms.ts +14 -1
- package/src/tokenizers/polish.ts +16 -1
- package/src/tokenizers/portuguese.ts +16 -1
- package/src/tokenizers/quechua.ts +30 -1
- package/src/tokenizers/russian.ts +16 -1
- package/src/tokenizers/spanish.ts +14 -1
- package/src/tokenizers/swahili.ts +14 -1
- package/src/tokenizers/thai.ts +14 -1
- package/src/tokenizers/tl.ts +14 -1
- package/src/tokenizers/token-utils.ts +205 -0
- package/src/tokenizers/turkish.ts +21 -2
- package/src/tokenizers/ukrainian.ts +16 -1
- package/src/tokenizers/vietnamese.ts +7 -0
- package/src/types.ts +41 -2
- package/src/validators/command-validator.ts +17 -40
- package/dist/index.d.cts +0 -3470
- package/dist/types-BY3Id07j.d.ts +0 -615
- package/src/bridge.ts +0 -275
- package/src/generators/event-handler-generator.ts +0 -115
- package/src/patterns/add/ms.ts +0 -30
- package/src/patterns/add/tl.ts +0 -30
- package/src/patterns/decrement/ms.ts +0 -30
- package/src/patterns/decrement/tl.ts +0 -30
- package/src/patterns/get/ms.ts +0 -30
- package/src/patterns/get/tl.ts +0 -30
- package/src/patterns/hide/ms.ts +0 -30
- package/src/patterns/hide/tl.ts +0 -30
- package/src/patterns/increment/ms.ts +0 -30
- package/src/patterns/increment/tl.ts +0 -30
- package/src/patterns/put/ms.ts +0 -30
- package/src/patterns/put/tl.ts +0 -30
- package/src/patterns/remove/ms.ts +0 -30
- package/src/patterns/remove/tl.ts +0 -30
- package/src/patterns/set/ms.ts +0 -30
- package/src/patterns/set/tl.ts +0 -30
- package/src/patterns/show/ms.ts +0 -30
- package/src/patterns/show/tl.ts +0 -30
- package/src/patterns/toggle/ms.ts +0 -30
- package/src/patterns/toggle/tl.ts +0 -30
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var LokaScriptSemanticPriority=(()=>{var Xe=Object.defineProperty;var jn=Object.getOwnPropertyDescriptor;var Mn=Object.getOwnPropertyNames;var An=Object.prototype.hasOwnProperty;var In=(i,t)=>{for(var e in t)Xe(i,e,{get:t[e],enumerable:!0})},Vn=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Mn(t))!An.call(i,n)&&n!==e&&Xe(i,n,{get:()=>t[n],enumerable:!(r=jn(t,n))||r.enumerable});return i};var On=i=>Vn(Xe({},"__esModule",{value:!0}),i);var wo={};In(wo,{ASTBuilder:()=>Pe,DEFAULT_CONFIDENCE_THRESHOLD:()=>Rt,HIGH_CONFIDENCE_THRESHOLD:()=>En,SemanticAnalyzerImpl:()=>Ee,VERSION:()=>So,arabicProfile:()=>le,arabicTokenizer:()=>qe,buildAST:()=>Ln,canParse:()=>kt,chineseProfile:()=>ae,chineseTokenizer:()=>Oe,createCommandNode:()=>G,createEventHandler:()=>pe,createLiteral:()=>C,createPropertyPath:()=>de,createReference:()=>_,createSelector:()=>F,createSemanticAnalyzer:()=>Pn,englishProfile:()=>B,englishTokenizer:()=>Ne,frenchProfile:()=>ne,frenchTokenizer:()=>Ae,fromExplicit:()=>bt,germanProfile:()=>re,germanTokenizer:()=>Ie,getCommandMapper:()=>Le,getPatternsForLanguage:()=>Nn,getPatternsForLanguageAndCommand:()=>bo,getProfile:()=>Ye,getSupportedLanguages:()=>ko,getTokenizer:()=>Je,indonesianProfile:()=>me,indonesianTokenizer:()=>Be,isExplicitSyntax:()=>ue,isLanguageSupported:()=>It,japaneseProfile:()=>ie,japaneseTokenizer:()=>Ve,koreanProfile:()=>oe,koreanTokenizer:()=>_e,parse:()=>fe,parseAny:()=>wt,parseExplicit:()=>Z,portugueseProfile:()=>te,portugueseTokenizer:()=>Me,registerCommandMapper:()=>Pt,render:()=>be,renderExplicit:()=>we,shouldUseSemanticResult:()=>Rn,spanishProfile:()=>ee,spanishTokenizer:()=>je,toExplicit:()=>xt,tokenize:()=>xo,tryGetProfile:()=>U,turkishProfile:()=>ce,turkishTokenizer:()=>Ue});var W=new Map,H=new Map,Y=new Map;var Nt=null;function jt(i,t){let e={...i};for(let r of Object.keys(t)){let n=t[r],a=i[r];n!==void 0&&(typeof n=="object"&&n!==null&&!Array.isArray(n)&&typeof a=="object"&&a!==null&&!Array.isArray(a)?e[r]=jt(a,n):e[r]=n)}return e}function Wn(i,t){return jt(i,t)}function Ze(i){if(!i.extends)return i;let t=H.get(i.extends);if(!t)return console.warn(`[Registry] Profile '${i.code}' extends '${i.extends}' but base is not registered. Make sure to import the base language before the variant.`),i;let e=Ze(t);return Wn(e,i)}function R(i,t,e){W.set(i,t),H.set(i,e),Y.delete(i)}var Qe=new Map;function Mt(i,t){Qe.set(i,t),Y.delete(i)}function D(i){return i.split("-")[0]}function X(i){return i.includes("-")}function Je(i){let t=W.get(i);if(!t&&X(i)){let e=D(i);t=W.get(e)}if(!t){let e=Array.from(W.keys()).join(", ");throw new Error(`Language '${i}' is not registered. Registered languages: ${e||"none"}. Import the language module first: import '@lokascript/semantic/languages/${i}';`)}return t}function Ye(i){let t=H.get(i);if(!t&&X(i)){let e=D(i);t=H.get(e)}if(!t){let e=Array.from(H.keys()).join(", ");throw new Error(`Language profile '${i}' is not registered. Registered languages: ${e||"none"}. Import the language module first: import '@lokascript/semantic/languages/${i}';`)}return Ze(t)}function At(i){let t=W.get(i);return!t&&X(i)&&(t=W.get(D(i))),t}function U(i){let t=H.get(i);return!t&&X(i)&&(t=H.get(D(i))),t?Ze(t):void 0}function Re(){return Array.from(W.keys())}function It(i){return W.has(i)?!0:X(i)?W.has(D(i)):!1}function Vt(i,t){return Je(t).tokenize(i)}function O(i){let t=Y.get(i);if(!t&&X(i)&&(t=Y.get(D(i))),t)return t;let e=Qe.get(i);if(!e&&X(i)&&(e=Qe.get(D(i))),e)return Y.set(i,e),e;if(!Nt)throw new Error(`No patterns registered for language '${i}'. Either import the language module or set a pattern generator.`);let r=Ye(i),n=Nt(r);return Y.set(i,n),n}function Ot(i,t){return O(i).filter(e=>e.command===t).sort((e,r)=>r.priority-e.priority)}var b=class{constructor(t,e){this.pos=0;this.tokens=t,this.language=e}peek(t=0){let e=this.pos+t;return e<0||e>=this.tokens.length?null:this.tokens[e]}advance(){if(this.isAtEnd())throw new Error("Unexpected end of token stream");return this.tokens[this.pos++]}isAtEnd(){return this.pos>=this.tokens.length}mark(){return{position:this.pos}}reset(t){this.pos=t.position}position(){return this.pos}remaining(){return this.tokens.slice(this.pos)}takeWhile(t){let e=[];for(;!this.isAtEnd()&&t(this.peek());)e.push(this.advance());return e}skipWhile(t){for(;!this.isAtEnd()&&t(this.peek());)this.advance()}};function p(i,t){return{start:i,end:t}}function u(i,t,e,r){if(typeof r=="string")return{value:i,kind:t,position:e,normalized:r};if(r){let{normalized:n,stem:a,stemConfidence:s}=r,o={value:i,kind:t,position:e};return n!==void 0&&(o.normalized=n),a!==void 0&&(o.stem=a,s!==void 0&&(o.stemConfidence=s)),o}return{value:i,kind:t,position:e}}function k(i){return/\s/.test(i)}function L(i){return i==="#"||i==="."||i==="["||i==="@"||i==="*"||i==="<"}function P(i){return i==='"'||i==="'"||i==="`"||i==="\u300C"||i==="\u300D"}function S(i){return/\d/.test(i)}function Wt(i){return/[a-zA-Z]/.test(i)}function x(i){return/[a-zA-Z0-9_-]/.test(i)}function A(i){return t=>{let e=t.charCodeAt(0);return i.some(([r,n])=>e>=r&&e<=n)}}function ye(...i){return t=>i.some(e=>e(t))}function M(i){let t=r=>i.test(r);return{isLetter:t,isIdentifierChar:r=>t(r)||/[0-9_-]/.test(r)}}function _t(i,t){if(t>=i.length)return null;let e=i[t];if(!L(e))return null;let r=t,n="";if(e==="#"||e==="."){for(n+=i[r++];r<i.length&&x(i[r]);)n+=i[r++];if(n.length<=1)return null;if(r<i.length&&i[r]==="."&&e==="#"){let s=r+1;for(;s<i.length&&x(i[s]);)s++;if(s<i.length&&i[s]==="(")return n}}else if(e==="["){let a=1,s=!1,o=null,l=!1;for(n+=i[r++];r<i.length&&a>0;){let c=i[r];n+=c,l?l=!1:c==="\\"?l=!0:s?c===o&&(s=!1,o=null):c==='"'||c==="'"||c==="`"?(s=!0,o=c):c==="["?a++:c==="]"&&a--,r++}if(a!==0)return null}else if(e==="@"){for(n+=i[r++];r<i.length&&x(i[r]);)n+=i[r++];if(n.length<=1)return null}else if(e==="*"){for(n+=i[r++];r<i.length&&x(i[r]);)n+=i[r++];if(n.length<=1)return null}else if(e==="<"){if(n+=i[r++],r>=i.length||!Wt(i[r]))return null;for(;r<i.length&&x(i[r]);)n+=i[r++];for(;r<i.length;){let a=i[r];if(a==="."){if(n+=i[r++],r>=i.length||!x(i[r]))return null;for(;r<i.length&&x(i[r]);)n+=i[r++]}else if(a==="#"){if(n+=i[r++],r>=i.length||!x(i[r]))return null;for(;r<i.length&&x(i[r]);)n+=i[r++]}else if(a==="["){let s=1,o=!1,l=null,c=!1;for(n+=i[r++];r<i.length&&s>0;){let m=i[r];n+=m,c?c=!1:m==="\\"?c=!0:o?m===l&&(o=!1,l=null):m==='"'||m==="'"||m==="`"?(o=!0,l=m):m==="["?s++:m==="]"&&s--,r++}if(s!==0)return null}else break}for(;r<i.length&&k(i[r]);)n+=i[r++];if(r<i.length&&i[r]==="/")for(n+=i[r++];r<i.length&&k(i[r]);)n+=i[r++];if(r>=i.length||i[r]!==">")return null;n+=i[r++]}return n||null}function et(i,t){if(t>=i.length||i[t]!=="'"||t+1>=i.length||i[t+1].toLowerCase()!=="s")return!1;if(t+2>=i.length)return!0;let r=i[t+2];return k(r)||r==="*"||!x(r)}function Kt(i,t){if(t>=i.length)return null;let e=i[t];if(!P(e)||e==="'"&&et(i,t))return null;let n={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[e];if(!n)return null;let a=t+1,s=e,o=!1;for(;a<i.length;){let l=i[a];if(s+=l,o)o=!1;else if(l==="\\")o=!0;else if(l===n)return s;a++}return s}function E(i,t){if(t>=i.length)return!1;let e=i[t],r=i[t+1]||"",n=i[t+2]||"";if(e==="/"&&r!=="/"&&/[a-zA-Z0-9._-]/.test(r)||e==="/"&&r==="/"&&/[a-zA-Z]/.test(n)||e==="."&&(r==="/"||r==="."&&n==="/"))return!0;let a=i.slice(t,t+8).toLowerCase();return!!(a.startsWith("http://")||a.startsWith("https://"))}function qt(i,t){if(!E(i,t))return null;let e=t,r="",n=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;e<i.length;){let a=i[e];if(a==="#"){if(r.length>0&&/[a-zA-Z0-9/.]$/.test(r))for(r+=a,e++;e<i.length&&/[a-zA-Z0-9_-]/.test(i[e]);)r+=i[e++];break}if(n.test(a))r+=a,e++;else break}return r.length<2?null:r}function Ut(i,t){if(t>=i.length)return null;let e=i[t];if(!S(e)&&e!=="-"&&e!=="+")return null;let r=t,n="";if((i[r]==="-"||i[r]==="+")&&(n+=i[r++]),r>=i.length||!S(i[r]))return null;for(;r<i.length&&S(i[r]);)n+=i[r++];if(r<i.length&&i[r]===".")for(n+=i[r++];r<i.length&&S(i[r]);)n+=i[r++];return r<i.length&&(i.slice(r,r+2)==="ms"?n+="ms":(i[r]==="s"||i[r]==="m"||i[r]==="h")&&(n+=i[r])),n}var Ce=class Ce{constructor(){this.profileKeywords=[];this.profileKeywordMap=new Map}initializeKeywordsFromProfile(t,e=[]){let r=new Map;if(t.keywords){for(let[n,a]of Object.entries(t.keywords))if(r.set(a.primary,{native:a.primary,normalized:a.normalized||n}),a.alternatives)for(let s of a.alternatives)r.set(s,{native:s,normalized:a.normalized||n})}if(t.references)for(let[n,a]of Object.entries(t.references))r.set(a,{native:a,normalized:n});if(t.roleMarkers){for(let[n,a]of Object.entries(t.roleMarkers))if(a.primary&&r.set(a.primary,{native:a.primary,normalized:n}),a.alternatives)for(let s of a.alternatives)r.set(s,{native:s,normalized:n})}for(let n of e)r.set(n.native,n);this.profileKeywords=Array.from(r.values()).sort((n,a)=>a.native.length-n.native.length),this.profileKeywordMap=new Map;for(let n of this.profileKeywords){this.profileKeywordMap.set(n.native.toLowerCase(),n);let a=this.removeDiacritics(n.native);a!==n.native&&!this.profileKeywordMap.has(a.toLowerCase())&&this.profileKeywordMap.set(a.toLowerCase(),n)}}removeDiacritics(t){return t.replace(/[\u064B-\u0652\u0670]/g,"")}tryProfileKeyword(t,e){for(let r of this.profileKeywords)if(t.slice(e).startsWith(r.native))return u(r.native,"keyword",p(e,e+r.native.length),r.normalized);return null}isKeywordStart(t,e){let r=t.slice(e);return this.profileKeywords.some(n=>r.startsWith(n.native))}lookupKeyword(t){return this.profileKeywordMap.get(t.toLowerCase())}isKeyword(t){return this.profileKeywordMap.has(t.toLowerCase())}setNormalizer(t){this.normalizer=t}tryNormalize(t){if(!this.normalizer)return null;let e=this.normalizer.normalize(t);return e.stem!==t&&e.confidence>=.7?e:null}tryMorphKeywordMatch(t,e,r){let n=this.tryNormalize(t);if(!n)return null;let a=this.lookupKeyword(n.stem);if(!a)return null;let s={normalized:a.normalized,stem:n.stem,stemConfidence:n.confidence};return u(t,"keyword",p(e,r),s)}trySelector(t,e){let r=_t(t,e);return r?u(r,"selector",p(e,e+r.length)):null}tryEventModifier(t,e){if(t[e]!==".")return null;let r=t.slice(e).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!r)return null;let n=r[0].replace(/(\s|\.)$/,""),a=n.slice(1).split("(")[0],s=r[1];return{...u(n,"event-modifier",p(e,e+n.length)),metadata:{modifierName:a,value:s?a==="queue"?s:parseInt(s,10):void 0}}}tryString(t,e){let r=Kt(t,e);return r?u(r,"literal",p(e,e+r.length)):null}tryNumber(t,e){let r=Ut(t,e);return r?u(r,"literal",p(e,e+r.length)):null}tryMatchTimeUnit(t,e,r,n=!1){let a=e;if(n)for(;a<t.length&&k(t[a]);)a++;let s=t.slice(a);for(let o of r){let l=s.slice(0,o.length);if(o.caseInsensitive?l.toLowerCase()===o.pattern.toLowerCase():l===o.pattern){if(o.notFollowedBy&&(s[o.length]||"")===o.notFollowedBy)continue;if(o.checkBoundary){let m=s[o.length]||"";if(x(m))continue}return{suffix:o.suffix,endPos:a+o.length}}}return null}parseBaseNumber(t,e,r=!0){let n=e,a="";if(r&&(t[n]==="-"||t[n]==="+")&&(a+=t[n++]),n>=t.length||!S(t[n]))return null;for(;n<t.length&&S(t[n]);)a+=t[n++];if(n<t.length&&t[n]===".")for(a+=t[n++];n<t.length&&S(t[n]);)a+=t[n++];return!a||a==="-"||a==="+"?null:{number:a,endPos:n}}tryNumberWithTimeUnits(t,e,r,n={}){let{allowSign:a=!0,skipWhitespace:s=!1}=n,o=this.parseBaseNumber(t,e,a);if(!o)return null;let{number:l,endPos:c}=o,m=[...r,...Ce.STANDARD_TIME_UNITS],v=this.tryMatchTimeUnit(t,c,m,s);return v&&(l+=v.suffix,c=v.endPos),u(l,"literal",p(e,c))}tryUrl(t,e){let r=qt(t,e);return r?u(r,"url",p(e,e+r.length)):null}tryVariableRef(t,e){if(t[e]!==":"||e+1>=t.length||!x(t[e+1]))return null;let r=e+1;for(;r<t.length&&x(t[r]);)r++;let n=t.slice(e,r);return u(n,"identifier",p(e,r))}tryOperator(t,e){let r=t.slice(e,e+2);if(["==","!=","<=",">=","&&","||","->"].includes(r))return u(r,"operator",p(e,e+2));let n=t[e];return["<",">","!","+","-","*","/","="].includes(n)?u(n,"operator",p(e,e+1)):["(",")","{","}",",",";",":"].includes(n)?u(n,"punctuation",p(e,e+1)):null}tryMultiCharParticle(t,e,r){for(let n of r)if(t.slice(e,e+n.length)===n)return u(n,"particle",p(e,e+n.length));return null}};Ce.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:!0},{pattern:"m",suffix:"m",length:1,checkBoundary:!0,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:!0}];var w=Ce;var B={code:"en",name:"English",nativeName:"English",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"base",verb:{position:"start",subjectDrop:!1},references:{me:"me",it:"it",you:"you",result:"result",event:"event",target:"target",body:"body"},possessive:{marker:"'s",markerPosition:"after-object",specialForms:{me:"my",it:"its",you:"your"},keywords:{my:"me",your:"you",its:"it"}},roleMarkers:{destination:{primary:"on",alternatives:["to","from"],position:"before"},source:{primary:"from",position:"before"},patient:{primary:"",position:"before"},style:{primary:"with",alternatives:["by","using"],position:"before"},responseType:{primary:"as",position:"before"},method:{primary:"via",alternatives:["using"],position:"before"}},keywords:{toggle:{primary:"toggle"},add:{primary:"add"},remove:{primary:"remove"},put:{primary:"put"},append:{primary:"append"},prepend:{primary:"prepend"},take:{primary:"take"},make:{primary:"make"},clone:{primary:"clone"},swap:{primary:"swap"},morph:{primary:"morph"},set:{primary:"set"},get:{primary:"get"},increment:{primary:"increment"},decrement:{primary:"decrement"},log:{primary:"log"},show:{primary:"show"},hide:{primary:"hide"},transition:{primary:"transition"},on:{primary:"on"},trigger:{primary:"trigger"},send:{primary:"send"},focus:{primary:"focus"},blur:{primary:"blur"},go:{primary:"go"},wait:{primary:"wait"},fetch:{primary:"fetch"},settle:{primary:"settle"},if:{primary:"if"},when:{primary:"when",normalized:"when"},where:{primary:"where",normalized:"where"},else:{primary:"else"},repeat:{primary:"repeat"},for:{primary:"for"},while:{primary:"while"},continue:{primary:"continue"},halt:{primary:"halt"},throw:{primary:"throw"},call:{primary:"call"},return:{primary:"return"},then:{primary:"then"},and:{primary:"and"},end:{primary:"end"},js:{primary:"js"},async:{primary:"async"},tell:{primary:"tell"},default:{primary:"default"},init:{primary:"init"},behavior:{primary:"behavior"},install:{primary:"install"},measure:{primary:"measure"},into:{primary:"into"},before:{primary:"before"},after:{primary:"after"},until:{primary:"until"},event:{primary:"event"},from:{primary:"from"}}};var _n=[{native:"true",normalized:"true"},{native:"false",normalized:"false"},{native:"null",normalized:"null"},{native:"undefined",normalized:"undefined"},{native:"first",normalized:"first"},{native:"last",normalized:"last"},{native:"next",normalized:"next"},{native:"previous",normalized:"previous"},{native:"closest",normalized:"closest"},{native:"click",normalized:"click"},{native:"dblclick",normalized:"dblclick"},{native:"mousedown",normalized:"mousedown"},{native:"mouseup",normalized:"mouseup"},{native:"mouseover",normalized:"mouseover"},{native:"mouseout",normalized:"mouseout"},{native:"mouseenter",normalized:"mouseenter"},{native:"mouseleave",normalized:"mouseleave"},{native:"mousemove",normalized:"mousemove"},{native:"keydown",normalized:"keydown"},{native:"keyup",normalized:"keyup"},{native:"keypress",normalized:"keypress"},{native:"input",normalized:"input"},{native:"change",normalized:"change"},{native:"submit",normalized:"submit"},{native:"reset",normalized:"reset"},{native:"load",normalized:"load"},{native:"unload",normalized:"unload"},{native:"scroll",normalized:"scroll"},{native:"resize",normalized:"resize"},{native:"dragstart",normalized:"dragstart"},{native:"drag",normalized:"drag"},{native:"dragend",normalized:"dragend"},{native:"dragenter",normalized:"dragenter"},{native:"dragleave",normalized:"dragleave"},{native:"dragover",normalized:"dragover"},{native:"drop",normalized:"drop"},{native:"touchstart",normalized:"touchstart"},{native:"touchmove",normalized:"touchmove"},{native:"touchend",normalized:"touchend"},{native:"touchcancel",normalized:"touchcancel"},{native:"in",normalized:"in"},{native:"to",normalized:"to"},{native:"at",normalized:"at"},{native:"by",normalized:"by"},{native:"with",normalized:"with"},{native:"without",normalized:"without"},{native:"of",normalized:"of"},{native:"as",normalized:"as"},{native:"every",normalized:"every"},{native:"upon",normalized:"upon"},{native:"unless",normalized:"unless"},{native:"forever",normalized:"forever"},{native:"times",normalized:"times"},{native:"and",normalized:"and"},{native:"or",normalized:"or"},{native:"not",normalized:"not"},{native:"is",normalized:"is"},{native:"exists",normalized:"exists"},{native:"empty",normalized:"empty"},{native:"my",normalized:"my"},{native:"your",normalized:"your"},{native:"its",normalized:"its"},{native:"the",normalized:"the"},{native:"a",normalized:"a"},{native:"an",normalized:"an"},{native:"delete",normalized:"delete"},{native:"innerHTML",normalized:"innerHTML"},{native:"outerHTML",normalized:"outerHTML"},{native:"beforebegin",normalized:"beforebegin"},{native:"afterend",normalized:"afterend"},{native:"beforeend",normalized:"beforeend"},{native:"afterbegin",normalized:"afterbegin"},{native:"flip",normalized:"toggle"},{native:"switch",normalized:"toggle"},{native:"increase",normalized:"increment"},{native:"decrease",normalized:"decrement"},{native:"display",normalized:"show"},{native:"reveal",normalized:"show"},{native:"conceal",normalized:"hide"},{native:"colour",normalized:"color"},{native:"grey",normalized:"gray"},{native:"centre",normalized:"center"},{native:"behaviour",normalized:"behavior"},{native:"initialise",normalized:"initialize"},{native:"favourite",normalized:"favorite"}],tt=class extends w{constructor(){super();this.language="en";this.direction="ltr";this.initializeKeywordsFromProfile(B,_n)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(e[n]==="."){let c=r[r.length-1],m=c&&c.position.end<n;if(c&&!m&&(c.kind==="identifier"||c.kind==="keyword"||c.kind==="selector")){r.push(u(".","operator",p(n,n+1))),n++;continue}let g=n+1;for(;g<e.length&&x(e[g]);)g++;if(g<e.length&&e[g]==="("){r.push(u(".","operator",p(n,n+1))),n++;continue}}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){if(e[n]==="'"&&et(e,n)){r.push(u("'s","punctuation",p(n,n+2))),n+=2;continue}let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])||e[n]==="-"&&n+1<e.length&&S(e[n+1])){let o=this.tryNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}if(x(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new b(r,"en")}classifyToken(e){return this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(e)?"operator":e.startsWith("/")||e.startsWith("./")||e.startsWith("http")?"url":"identifier"}extractWord(e,r){let n=r,a="";for(;n<e.length&&x(e[n]);)a+=e[n++];if(!a)return null;if(n<e.length&&e[n]===":"){let c=n;n++;let m="";for(;n<e.length&&x(e[n]);)m+=e[n++];m?a=a+":"+m:n=c}let s=this.classifyToken(a),o=this.lookupKeyword(a),l=o&&o.normalized!==o.native?o.normalized:void 0;if(s==="identifier"){let c=this.tryConvertToClassSelector(e,n,a);if(c)return c.token}return u(a,s,p(r,n),l)}tryConvertToClassSelector(e,r,n){let a=r;for(;a<e.length&&/\s/.test(e[a]);)a++;if(e.slice(a,a+5).toLowerCase()==="class"){let s=a+5;if(s>=e.length||!x(e[s])){let o="."+n;return{token:u(o,"selector",p(r-n.length,r)),endPos:r}}}return null}},Ne=new tt;var Kn={action:"toggle",description:"Toggle a class or attribute on/off",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to toggle",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","INVALID_CSS_PROPERTY"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"toggle command requires an argument"},{condition:"Class names are valid CSS identifiers",errorCode:"NO_VALID_CLASS_NAMES",message:"toggle command: no valid class names found"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to toggle",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",INVALID_CSS_PROPERTY:"Check CSS property name syntax (use kebab-case)"}},qn={action:"add",description:"Add a class or attribute to an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to add",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","PROPERTY_REQUIRES_VALUE"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"add command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to add",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",PROPERTY_REQUIRES_VALUE:"When adding a property (*prop), provide a value argument"}},Un={action:"remove",description:"Remove a class or attribute from an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to remove",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to remove from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"remove command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to remove",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers"}},Bn={action:"put",description:"Put content into a target element or variable",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to put",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:2}],errorCodes:["MISSING_ARGUMENTS","MISSING_CONTENT","MISSING_POSITION","INVALID_POSITION","NO_TARGET","NO_ELEMENTS"],preconditions:[{condition:"Command has content and position arguments",errorCode:"MISSING_ARGUMENTS",message:"put requires arguments"},{condition:"Content to put is specified",errorCode:"MISSING_CONTENT",message:"put requires content"},{condition:"Position keyword is specified (into, before, after, etc.)",errorCode:"MISSING_POSITION",message:"put requires position keyword"}],recoveryHints:{MISSING_ARGUMENTS:"Use syntax: put <content> into/before/after <target>",MISSING_CONTENT:"Add content to put (string, element, or expression)",MISSING_POSITION:"Add position keyword: into, before, after, at start of, at end of",INVALID_POSITION:"Valid positions: into, before, after, at start of, at end of",NO_TARGET:'Ensure target element exists or use "me" reference',NO_ELEMENTS:"Check that the selector matches existing elements"}},$n={action:"set",description:"Set a property or variable to a value",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The property or variable to set",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ja:"\u3092",ko:"\uB97C",tr:"i",ar:""}},{role:"patient",description:"The value to set",required:!0,expectedTypes:["literal","expression","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"auf",id:"ke",ja:"\u306B",ko:"\uC73C\uB85C",tr:"e",ar:"\u0625\u0644\u0649"}}],errorCodes:["MISSING_TARGET","INVALID_TARGET","MISSING_VALUE","INVALID_SYNTAX"],preconditions:[{condition:"Command has a target variable or property",errorCode:"MISSING_TARGET",message:"set command requires a target"},{condition:"Target is a valid variable or property reference",errorCode:"INVALID_TARGET",message:"set command target must be a string or object literal"},{condition:'Value is specified with "to" keyword',errorCode:"MISSING_VALUE",message:'set command requires a value (use "to" keyword)'}],recoveryHints:{MISSING_TARGET:"Add a target: set :variable to value OR set element.property to value",INVALID_TARGET:'Use local variable (:name), element property (el.prop), or "the X of Y" syntax',MISSING_VALUE:'Add "to <value>" to specify what to set',INVALID_SYNTAX:"Use syntax: set <target> to <value>"}},Fn={action:"show",description:"Make an element visible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to show",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},Gn={action:"hide",description:"Make an element invisible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to hide",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},Hn={action:"on",description:"Handle an event",category:"event",primaryRole:"event",hasBody:!0,roles:[{role:"event",description:"The event to handle",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to listen on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Dn={action:"trigger",description:"Trigger/dispatch an event",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to trigger (supports namespaced events like draggable:start)",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Xn={action:"wait",description:"Wait for a duration or event",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"Duration or event to wait for",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},Qn={action:"fetch",description:"Fetch data from a URL",category:"async",primaryRole:"source",roles:[{role:"source",description:"The URL to fetch from",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"method",description:"HTTP method (GET, POST, etc.)",required:!1,expectedTypes:["literal"],svoPosition:3,sovPosition:3},{role:"destination",description:"Where to store the result",required:!1,expectedTypes:["selector","reference"],svoPosition:4,sovPosition:4}]},Zn={action:"increment",description:"Increment a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to increment",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to increment by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2}]},Jn={action:"decrement",description:"Decrement a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to decrement",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to decrement by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2}]},Yn={action:"append",description:"Append content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to append",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1}]},er={action:"prepend",description:"Prepend content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to prepend",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1}]},tr={action:"log",description:"Log a value to the console",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to log",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},nr={action:"get",description:"Get a value from a source",category:"variable",primaryRole:"source",roles:[{role:"source",description:"The source to get from",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",ja:"\u3092",zh:"",ko:"\uB97C",ar:"\u0639\u0644\u0649",tr:"i",id:""}},{role:"destination",description:"Where to store the result (optional)",required:!1,expectedTypes:["reference"],svoPosition:2,sovPosition:1}]},rr={action:"take",description:"Take content from a source element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The class or element to take",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to take from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},ir={action:"make",description:"Create a new element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element type or selector to create",required:!0,expectedTypes:["literal","selector"],svoPosition:1,sovPosition:1}]},ar={action:"halt",description:"Halt/stop execution or event propagation",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"What to halt (event, default, bubbling, etc.)",required:!1,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},or={action:"settle",description:"Wait for animations/transitions to settle",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"The element to settle (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},sr={action:"throw",description:"Throw an error",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The error message or object to throw",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},lr={action:"send",description:"Send an event to an element",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to send",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",ja:"\u306B",ar:"\u0625\u0644\u0649",es:"a",ko:"\uC5D0\uAC8C",zh:"\u5230",tr:"-e",pt:"para",fr:"\xE0",de:"an",id:"ke",qu:"-man",sw:"kwa"}}]},cr={action:"if",description:"Conditional execution",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},mr={action:"unless",description:"Negated conditional execution (executes when condition is false)",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate (body executes when false)",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},dr={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},pr={action:"repeat",description:"Repeat a block of commands",category:"control-flow",primaryRole:"loopType",hasBody:!0,roles:[{role:"loopType",description:"Loop variant: forever, times, for, while, until, until-event",required:!0,expectedTypes:["literal"],svoPosition:0,sovPosition:0},{role:"quantity",description:"Number of times to repeat",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"event",description:"Event to wait for (terminates loop)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"source",description:"Element to listen for event on",required:!1,expectedTypes:["selector","reference"],svoPosition:3,sovPosition:3}],notes:'Can also use "repeat forever", "repeat until condition", or "repeat until event X from Y"'},ur={action:"for",description:"Iterate over a collection",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The iteration variable",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:2,sovPosition:1}]},fr={action:"while",description:"Loop while condition is true",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to check",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},gr={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",roles:[]},yr={action:"go",description:"Navigate to a URL",category:"navigation",primaryRole:"destination",roles:[{role:"destination",description:"The URL to navigate to",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},hr={action:"transition",description:"Transition an element with animation",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The property to transition (opacity, *background-color, etc.)",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2},{role:"goal",description:"The target value to transition to",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:3},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:3,sovPosition:1},{role:"duration",description:"Transition duration (over 500ms, for 2 seconds)",required:!1,expectedTypes:["literal"],svoPosition:4,sovPosition:4},{role:"style",description:"Easing function (ease-in, linear, etc.)",required:!1,expectedTypes:["literal"],svoPosition:5,sovPosition:5}]},vr={action:"clone",description:"Clone an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to clone",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:2},{role:"destination",description:"Where to put the clone",required:!1,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1}]},zr={action:"focus",description:"Focus an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to focus (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Tr={action:"blur",description:"Remove focus from an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to blur (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Sr={action:"call",description:"Call a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The function to call",required:!0,expectedTypes:["expression","reference"],svoPosition:1,sovPosition:1}]},kr={action:"return",description:"Return a value from a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The value to return",required:!1,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1}]},xr={action:"js",description:"Execute raw JavaScript code",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The JavaScript code to execute",required:!1,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},br={action:"async",description:"Execute commands asynchronously",category:"async",primaryRole:"patient",hasBody:!0,roles:[]},wr={action:"tell",description:"Execute commands in context of another element",category:"control-flow",primaryRole:"destination",hasBody:!0,roles:[{role:"destination",description:"The element to tell",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1}]},Lr={action:"default",description:"Set a default value for a variable",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The variable to set default for",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:1},{role:"patient",description:"The default value",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2}]},Pr={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},Er={action:"behavior",description:"Define a reusable behavior",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The behavior name (PascalCase identifier)",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},Rr={action:"install",description:"Install a behavior on an element",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The behavior name to install",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"Element to install on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Cr={action:"measure",description:"Measure element dimensions (x, y, width, height, etc.)",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"Property to measure (x, y, width, height, top, left, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"source",description:"Element to measure (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:2}]},Nr={action:"swap",description:"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",category:"dom-content",primaryRole:"destination",roles:[{role:"method",description:"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)",required:!1,expectedTypes:["literal"],svoPosition:1,sovPosition:3},{role:"destination",description:"The element to swap content in/for",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1},{role:"patient",description:"The content to swap in (optional for delete)",required:!1,expectedTypes:["literal","expression","selector"],svoPosition:3,sovPosition:2}]},jr={action:"morph",description:"Morph an element into another using DOM diffing",category:"dom-content",primaryRole:"destination",roles:[{role:"destination",description:"The element to morph",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1},{role:"patient",description:"The target content/element to morph into",required:!0,expectedTypes:["literal","expression","selector"],svoPosition:2,sovPosition:2}]},Mr={toggle:Kn,add:qn,remove:Un,put:Bn,set:$n,show:Fn,hide:Gn,on:Hn,trigger:Dn,wait:Xn,fetch:Qn,increment:Zn,decrement:Jn,append:Yn,prepend:er,log:tr,get:nr,take:rr,make:ir,halt:ar,settle:or,throw:sr,send:lr,if:cr,unless:mr,else:dr,repeat:pr,for:ur,while:fr,continue:gr,go:yr,transition:hr,clone:vr,focus:zr,blur:Tr,call:Sr,return:kr,js:xr,async:br,tell:wr,default:Lr,init:Pr,behavior:Er,install:Rr,measure:Cr,swap:Nr,morph:jr,compound:{action:"compound",description:"A compound node representing chained statements",primaryRole:"patient",category:"control-flow",hasBody:!0,roles:[]}};function Bt(){return Object.values(Mr).filter(i=>i.roles.length>0)}function nt(i,t){let e=t==="SOV"?"sovPosition":"svoPosition";return[...i].sort((r,n)=>{let a=r[e]??99,s=n[e]??99;return a-s})}function $t(i,t){let e=i.markerOverride?.[t.code],r=t.roleMarkers[i.role];if(e!==void 0)return{primary:e,position:r?.position??"before",isOverride:!0};if(r&&r.primary){let n={primary:r.primary,position:r.position,isOverride:!1};return r.alternatives&&(n.alternatives=r.alternatives),n}return null}var he={basePriority:100,generateSimpleVariants:!0,generateAlternatives:!0};function Ht(i,t,e=he){let r=`${i.action}-${t.code}-generated`,n=e.basePriority??100,a=t.keywords[i.action];if(!a)throw new Error(`No keyword translation for '${i.action}' in ${t.code}`);let s=$r(i,t,a),o=Xt(i,t),l=Dr(i,t,a);return{id:r,language:t.code,command:i.action,priority:n,template:{format:l,tokens:s},extraction:o}}function Ar(i,t,e=he){if(i.roles.filter(o=>!o.required).length===0)return null;let n=i.roles.filter(o=>o.required),a={...i,roles:n};return{...Ht(a,t,e),id:`${i.action}-${t.code}-simple`,priority:(e.basePriority??100)-5,extraction:Xt(i,t)}}function Ir(i,t,e=he){let r=[];if(r.push(Ht(i,t,e)),e.generateSimpleVariants){let n=Ar(i,t,e);n&&r.push(n)}return r}function Dt(i,t=he){let e=[],r=Bt();for(let n of r){if(!i.keywords[n.action])continue;let a=Ir(n,i,t);if(e.push(...a),i.eventHandler?.eventMarker){let s=Vr(n,i,t);e.push(...s)}}return e}function Vr(i,t,e=he){if(!t.eventHandler||!t.eventHandler.eventMarker)return[];let r=[],n=t.eventHandler.eventMarker,a=t.keywords[i.action];if(!a)return[];let o=i.roles.filter(l=>l.required).length===2;if(t.wordOrder==="SOV")if(o)r.push(qr(i,t,a,n,e));else{r.push(Or(i,t,a,n,e));let l=n.primary.split(/\s+/),c=n.alternatives?.some(v=>!v.includes(" ")&&v.length>1);l.length>1&&c&&r.push(Wr(i,t,a,n,e)),r.push(_r(i,t,a,n,e));let m=Kr(i,t,a,e);m&&r.push(m)}else t.wordOrder==="VSO"?o?r.push(Gt(i,t,a,n,e)):(r.push(Ft(i,t,a,n,e)),t.eventHandler?.negationMarker&&r.push(Ur(i,t,a,n,e)),t.tokenization?.prefixes&&r.push(Br(i,t,a,e))):o?r.push(Gt(i,t,a,n,e)):r.push(Ft(i,t,a,n,e));return r}function Or(i,t,e,r,n){let a=[];if(a.push({type:"role",role:"event",optional:!1}),r.position==="after"){let c=r.primary.split(/\s+/);if(c.length>1)for(let m of c)a.push({type:"literal",value:m});else{let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(m)}}let s=t.roleMarkers.destination;s&&a.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary}]}),a.push({type:"role",role:"patient",optional:!1});let o=t.roleMarkers.patient;if(o){let c=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};a.push(c)}let l=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return a.push(l),{id:`${i.action}-event-${t.code}-sov`,language:t.code,command:"on",priority:(n.basePriority??100)+50,template:{format:`{event} ${r.primary} {destination?} {patient} ${o?.primary||""} ${e.primary}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Wr(i,t,e,r,n){let a=[];a.push({type:"role",role:"event",optional:!1});let s=r.alternatives?.filter(m=>!m.includes(" ")&&m.length>1)||[];s.length>0&&a.push({type:"literal",value:s[0],alternatives:s.slice(1)});let o=t.roleMarkers.destination;o&&a.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary}]}),a.push({type:"role",role:"patient",optional:!1});let l=t.roleMarkers.patient;if(l){let m=l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary};a.push(m)}let c=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return a.push(c),{id:`${i.action}-event-${t.code}-sov-compact`,language:t.code,command:"on",priority:(n.basePriority??100)+52,template:{format:`{event}${s[0]||""} {patient} ${e.primary}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function _r(i,t,e,r,n){let a=[];if(a.push({type:"role",role:"event",optional:!1}),r.position==="after"){let o=r.primary.split(/\s+/);if(o.length>1)for(let l of o)a.push({type:"literal",value:l});else{let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(l)}}let s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return a.push(s),{id:`${i.action}-event-${t.code}-sov-simple`,language:t.code,command:"on",priority:(n.basePriority??100)+48,template:{format:`{event} ${r.primary} ${e.primary}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{default:{type:"reference",value:"me"}}}}}function Kr(i,t,e,r){let n=t.eventHandler?.temporalMarkers;if(!n||n.length===0)return null;let a=[];a.push({type:"role",role:"event",optional:!1}),t.possessive?.marker&&a.push({type:"group",optional:!0,tokens:[{type:"literal",value:t.possessive.marker}]}),a.push({type:"literal",value:n[0],alternatives:n.slice(1)}),a.push({type:"role",role:"patient",optional:!1});let s=t.roleMarkers.patient;if(s?.primary){let l=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};a.push(l)}let o=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return a.push(o),{id:`${i.action}-event-${t.code}-sov-temporal`,language:t.code,command:"on",priority:(r.basePriority??100)+49,template:{format:`{event} ${n[0]} {patient} ${e.primary}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"}}}}function Ft(i,t,e,r,n){let a=[];if(r.position==="before"){let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(l)}a.push({type:"role",role:"event",optional:!1});let s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};a.push(s),a.push({type:"role",role:"patient",optional:!1});let o=t.roleMarkers.destination;return o&&a.push({type:"group",optional:!0,tokens:[o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${i.action}-event-${t.code}-vso`,language:t.code,command:"on",priority:(n.basePriority??100)+50,template:{format:`${r.primary} {event} ${e.primary} {patient} ${o?.primary||""} {destination?}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function qr(i,t,e,r,n){let a=[];if(a.push({type:"role",role:"event",optional:!1}),r.position==="after"){let m=r.primary.split(/\s+/);if(m.length>1)for(let v of m)a.push({type:"literal",value:v});else{let v=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(v)}}let o=[...i.roles.filter(m=>m.required)].sort((m,v)=>{let h=m.sovPosition??999,g=v.sovPosition??999;return h-g});for(let m of o){a.push({type:"role",role:m.role,optional:!1});let v,h;if(m.markerOverride&&m.markerOverride[t.code])v=m.markerOverride[t.code];else{let g=t.roleMarkers[m.role];g&&(v=g.primary,h=g.alternatives)}if(v){let g=h?{type:"literal",value:v,alternatives:h}:{type:"literal",value:v};a.push(g)}}let l=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};a.push(l);let c=o.map(m=>`{${m.role}}`).join(" ");return{id:`${i.action}-event-${t.code}-sov-2role`,language:t.code,command:"on",priority:(n.basePriority??100)+55,template:{format:`{event} ${r.primary} ${c} ${e.primary}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function Gt(i,t,e,r,n){let a=[];if(r.position==="before"){let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(m)}a.push({type:"role",role:"event",optional:!1});let s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};a.push(s);let l=[...i.roles.filter(m=>m.required)].sort((m,v)=>{let h=m.svoPosition??999,g=v.svoPosition??999;return h-g});for(let m of l){let v,h;if(m.markerOverride&&m.markerOverride[t.code])v=m.markerOverride[t.code];else{let g=t.roleMarkers[m.role];g&&(v=g.primary,h=g.alternatives)}if(v){let g=h?{type:"literal",value:v,alternatives:h}:{type:"literal",value:v};a.push(g)}a.push({type:"role",role:m.role,optional:!1})}let c=l.map(m=>`{${m.role}}`).join(" ");return{id:`${i.action}-event-${t.code}-vso-2role`,language:t.code,command:"on",priority:(n.basePriority??100)+55,template:{format:`${r.primary} {event} ${e.primary} ${c}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function Ur(i,t,e,r,n){let a=[],s=t.eventHandler?.negationMarker;if(r.position==="before"){let c=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(c)}if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};a.push(c)}a.push({type:"role",role:"event",optional:!1});let o=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};a.push(o),a.push({type:"role",role:"patient",optional:!1});let l=t.roleMarkers.destination;return l&&a.push({type:"group",optional:!0,tokens:[l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${i.action}-event-${t.code}-vso-negated`,language:t.code,command:"on",priority:(n.basePriority??100)+48,template:{format:`${r.primary} ${s?.primary||""} {event} ${e.primary} {patient} ${l?.primary||""} {destination?}`,tokens:a},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Br(i,t,e,r){let n=[];n.push({type:"literal",value:"and",alternatives:["then"]}),n.push({type:"role",role:"event",optional:!1});let a=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};n.push(a),n.push({type:"role",role:"patient",optional:!1});let s=t.roleMarkers.destination;return s&&n.push({type:"group",optional:!0,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${i.action}-event-${t.code}-vso-proclitic`,language:t.code,command:"on",priority:(r.basePriority??100)+45,template:{format:`[proclitic?] {event} ${e.primary} {patient} ${s?.primary||""} {destination?}`,tokens:n},extraction:{action:{value:i.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function $r(i,t,e){let r=[],n=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary},a=Fr(i,t);switch(t.wordOrder){case"SVO":r.push(n),r.push(...a);break;case"SOV":r.push(...a),r.push(n);break;case"VSO":r.push(n),r.push(...a);break;default:r.push(n),r.push(...a)}return r}function Fr(i,t){let e=[],r=nt(i.roles,t.wordOrder);for(let n of r){let a=Gr(n,t);n.required?e.push(...a):e.push({type:"group",optional:!0,tokens:a})}return e}function Gr(i,t){let e=[],r=i.markerOverride?.[t.code],n=t.roleMarkers[i.role],a={type:"role",role:i.role,optional:!i.required,expectedTypes:i.expectedTypes};if(r!==void 0)(n?.position??"before")==="before"?(r&&e.push({type:"literal",value:r}),e.push(a)):(e.push(a),r&&e.push({type:"literal",value:r}));else if(n)if(n.position==="before"){if(n.primary){let s=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};e.push(s)}e.push(a)}else{e.push(a);let s=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};e.push(s)}else e.push(a);return e}function Hr(i,t){let e={};for(let r of i.roles){let n=r.markerOverride?.[t.code],a=t.roleMarkers[r.role];n!==void 0?e[r.role]=n?{marker:n}:{}:a&&a.primary?e[r.role]=a.alternatives?{marker:a.primary,markerAlternatives:a.alternatives}:{marker:a.primary}:e[r.role]={}}return e}function Xt(i,t){let e=Hr(i,t),r={};for(let n of i.roles){let a=e[n.role]||{};!n.required&&n.default?r[n.role]={...a,default:n.default}:r[n.role]=a}return r}function Dr(i,t,e){let r=[],a=nt(i.roles,t.wordOrder).map(s=>{let o=$t(s,t),l="";return o&&o.primary?o.position==="before"?l=`${o.primary} {${s.role}}`:l=`{${s.role}} ${o.primary}`:l=`{${s.role}}`,s.required?l:`[${l}]`});switch(t.wordOrder){case"SVO":case"VSO":r.push(e.primary,...a);break;case"SOV":r.push(...a,e.primary);break;default:r.push(e.primary,...a)}return r.join(" ")}function Qt(){return[{id:"toggle-en-full",language:"en",command:"toggle",priority:100,template:{format:"toggle {patient} on {target}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"},{type:"group",optional:!0,tokens:[{type:"literal",value:"on",alternatives:["from"]},{type:"role",role:"destination"}]}]},extraction:{patient:{position:1},destination:{marker:"on",markerAlternatives:["from"],default:{type:"reference",value:"me"}}}},{id:"toggle-en-simple",language:"en",command:"toggle",priority:90,template:{format:"toggle {patient}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"}]},extraction:{patient:{position:1},destination:{default:{type:"reference",value:"me"}}}}]}function Zt(){return[{id:"put-en-into",language:"en",command:"put",priority:100,template:{format:"put {patient} into {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"into",alternatives:["in","to"]},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"into",markerAlternatives:["in","to"]}}},{id:"put-en-before",language:"en",command:"put",priority:95,template:{format:"put {patient} before {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"before"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"before"},manner:{default:{type:"literal",value:"before"}}}},{id:"put-en-after",language:"en",command:"put",priority:95,template:{format:"put {patient} after {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"after"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"after"},manner:{default:{type:"literal",value:"after"}}}}]}function Jt(){return[{id:"event-en-when-source",language:"en",command:"on",priority:115,template:{format:"when {event} from {source} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-when",language:"en",command:"on",priority:105,template:{format:"when {event} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-source",language:"en",command:"on",priority:110,template:{format:"on {event} from {source} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-standard",language:"en",command:"on",priority:100,template:{format:"on {event} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-upon",language:"en",command:"on",priority:98,template:{format:"upon {event} {body}",tokens:[{type:"literal",value:"upon"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-if",language:"en",command:"on",priority:95,template:{format:"if {event} {body}",tokens:[{type:"literal",value:"if"},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}var Xr={id:"fetch-en-with-response-type",language:"en",command:"fetch",priority:90,template:{format:"fetch {source} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:["literal","expression"]},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:["literal","expression"]}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Qr={id:"fetch-en-simple",language:"en",command:"fetch",priority:80,template:{format:"fetch {source}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source"}]},extraction:{source:{position:1}}},Zr={id:"swap-en-handcrafted",language:"en",command:"swap",priority:110,template:{format:"swap {method} {destination}",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"}]},extraction:{method:{position:1},destination:{position:2}}},Jr={id:"repeat-en-until-event-from",language:"en",command:"repeat",priority:120,template:{format:"repeat until event {event} from {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},Yr={id:"repeat-en-until-event",language:"en",command:"repeat",priority:110,template:{format:"repeat until event {event}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},ei={id:"set-en-possessive",language:"en",command:"set",priority:100,template:{format:"set {destination} to {patient}",tokens:[{type:"literal",value:"set"},{type:"role",role:"destination",expectedTypes:["property-path","selector","reference","expression"]},{type:"literal",value:"to"},{type:"role",role:"patient",expectedTypes:["literal","expression","reference"]}]},extraction:{destination:{position:1},patient:{marker:"to"}}},ti={id:"for-en-basic",language:"en",command:"for",priority:100,template:{format:"for {patient} in {source}",tokens:[{type:"literal",value:"for"},{type:"role",role:"patient",expectedTypes:["expression","reference"]},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:["selector","expression","reference"]}]},extraction:{patient:{position:1},source:{marker:"in"},loopType:{default:{type:"literal",value:"for"}}}},ni={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},ri={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},ii={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},ai={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}};function Yt(){let i=[];i.push(...Qt()),i.push(...Zt()),i.push(...Jt()),i.push(Xr,Qr,Zr,Jr,Yr,ei,ti,ni,ri,ii,ai);let t=Dt(B);return i.push(...t),i}R("en",Ne,B);Mt("en",Yt());function V(i){return{stem:i,confidence:1}}function j(i,t,e){return e?{stem:i,confidence:t,metadata:e}:{stem:i,confidence:t}}function oi(i){return/[áéíóúüñÁÉÍÓÚÜÑ]/.test(i)}function si(i){let t=i.toLowerCase();if(t.endsWith("ar")||t.endsWith("er")||t.endsWith("ir")||t.endsWith("ando")||t.endsWith("iendo")||t.endsWith("ado")||t.endsWith("ido")||t.endsWith("arse")||t.endsWith("erse")||t.endsWith("irse"))return!0;for(let e of i)if(oi(e))return!0;return!1}var en=["se","me","te","nos","os"],li=[{ending:"ando",stem:"ar",confidence:.88,type:"gerund"},{ending:"ado",stem:"ar",confidence:.88,type:"participle"},{ending:"ada",stem:"ar",confidence:.88,type:"participle"},{ending:"ados",stem:"ar",confidence:.88,type:"participle"},{ending:"adas",stem:"ar",confidence:.88,type:"participle"},{ending:"o",stem:"ar",confidence:.75,type:"present"},{ending:"as",stem:"ar",confidence:.82,type:"present"},{ending:"a",stem:"ar",confidence:.75,type:"present"},{ending:"amos",stem:"ar",confidence:.85,type:"present"},{ending:"\xE1is",stem:"ar",confidence:.85,type:"present"},{ending:"ais",stem:"ar",confidence:.82,type:"present"},{ending:"an",stem:"ar",confidence:.8,type:"present"},{ending:"\xE9",stem:"ar",confidence:.85,type:"past"},{ending:"aste",stem:"ar",confidence:.88,type:"past"},{ending:"\xF3",stem:"ar",confidence:.82,type:"past"},{ending:"amos",stem:"ar",confidence:.85,type:"past"},{ending:"asteis",stem:"ar",confidence:.88,type:"past"},{ending:"aron",stem:"ar",confidence:.88,type:"past"},{ending:"aba",stem:"ar",confidence:.88,type:"past"},{ending:"abas",stem:"ar",confidence:.88,type:"past"},{ending:"\xE1bamos",stem:"ar",confidence:.88,type:"past"},{ending:"abamos",stem:"ar",confidence:.85,type:"past"},{ending:"abais",stem:"ar",confidence:.88,type:"past"},{ending:"aban",stem:"ar",confidence:.88,type:"past"},{ending:"e",stem:"ar",confidence:.72,type:"subjunctive"},{ending:"es",stem:"ar",confidence:.78,type:"subjunctive"},{ending:"emos",stem:"ar",confidence:.82,type:"subjunctive"},{ending:"\xE9is",stem:"ar",confidence:.85,type:"subjunctive"},{ending:"eis",stem:"ar",confidence:.82,type:"subjunctive"},{ending:"en",stem:"ar",confidence:.78,type:"subjunctive"},{ending:"a",stem:"ar",confidence:.75,type:"imperative"},{ending:"ad",stem:"ar",confidence:.85,type:"imperative"},{ending:"ar",stem:"ar",confidence:.92,type:"dictionary"}],ci=[{ending:"iendo",stem:"er",confidence:.88,type:"gerund"},{ending:"ido",stem:"er",confidence:.85,type:"participle"},{ending:"ida",stem:"er",confidence:.85,type:"participle"},{ending:"idos",stem:"er",confidence:.85,type:"participle"},{ending:"idas",stem:"er",confidence:.85,type:"participle"},{ending:"o",stem:"er",confidence:.72,type:"present"},{ending:"es",stem:"er",confidence:.78,type:"present"},{ending:"e",stem:"er",confidence:.72,type:"present"},{ending:"emos",stem:"er",confidence:.85,type:"present"},{ending:"\xE9is",stem:"er",confidence:.85,type:"present"},{ending:"eis",stem:"er",confidence:.82,type:"present"},{ending:"en",stem:"er",confidence:.78,type:"present"},{ending:"\xED",stem:"er",confidence:.85,type:"past"},{ending:"iste",stem:"er",confidence:.88,type:"past"},{ending:"i\xF3",stem:"er",confidence:.85,type:"past"},{ending:"io",stem:"er",confidence:.82,type:"past"},{ending:"imos",stem:"er",confidence:.85,type:"past"},{ending:"isteis",stem:"er",confidence:.88,type:"past"},{ending:"ieron",stem:"er",confidence:.88,type:"past"},{ending:"\xEDa",stem:"er",confidence:.88,type:"past"},{ending:"ia",stem:"er",confidence:.85,type:"past"},{ending:"\xEDas",stem:"er",confidence:.88,type:"past"},{ending:"ias",stem:"er",confidence:.85,type:"past"},{ending:"\xEDamos",stem:"er",confidence:.88,type:"past"},{ending:"iamos",stem:"er",confidence:.85,type:"past"},{ending:"\xEDais",stem:"er",confidence:.88,type:"past"},{ending:"iais",stem:"er",confidence:.85,type:"past"},{ending:"\xEDan",stem:"er",confidence:.88,type:"past"},{ending:"ian",stem:"er",confidence:.85,type:"past"},{ending:"er",stem:"er",confidence:.92,type:"dictionary"}],mi=[{ending:"iendo",stem:"ir",confidence:.88,type:"gerund"},{ending:"ido",stem:"ir",confidence:.85,type:"participle"},{ending:"ida",stem:"ir",confidence:.85,type:"participle"},{ending:"idos",stem:"ir",confidence:.85,type:"participle"},{ending:"idas",stem:"ir",confidence:.85,type:"participle"},{ending:"o",stem:"ir",confidence:.72,type:"present"},{ending:"es",stem:"ir",confidence:.78,type:"present"},{ending:"e",stem:"ir",confidence:.72,type:"present"},{ending:"imos",stem:"ir",confidence:.85,type:"present"},{ending:"\xEDs",stem:"ir",confidence:.85,type:"present"},{ending:"is",stem:"ir",confidence:.82,type:"present"},{ending:"en",stem:"ir",confidence:.78,type:"present"},{ending:"\xED",stem:"ir",confidence:.85,type:"past"},{ending:"iste",stem:"ir",confidence:.88,type:"past"},{ending:"i\xF3",stem:"ir",confidence:.85,type:"past"},{ending:"io",stem:"ir",confidence:.82,type:"past"},{ending:"imos",stem:"ir",confidence:.85,type:"past"},{ending:"isteis",stem:"ir",confidence:.88,type:"past"},{ending:"ieron",stem:"ir",confidence:.88,type:"past"},{ending:"\xEDa",stem:"ir",confidence:.88,type:"past"},{ending:"ia",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDas",stem:"ir",confidence:.88,type:"past"},{ending:"ias",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDamos",stem:"ir",confidence:.88,type:"past"},{ending:"iamos",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDais",stem:"ir",confidence:.88,type:"past"},{ending:"iais",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDan",stem:"ir",confidence:.88,type:"past"},{ending:"ian",stem:"ir",confidence:.85,type:"past"},{ending:"ir",stem:"ir",confidence:.92,type:"dictionary"}],di=[...li,...ci,...mi].sort((i,t)=>t.ending.length-i.ending.length),ve=class{constructor(){this.language="es"}isNormalizable(t){return t.length<3?!1:si(t)}normalize(t){let e=t.toLowerCase();if((e.endsWith("ar")||e.endsWith("er")||e.endsWith("ir"))&&!en.some(a=>e.endsWith(a+"ar")||e.endsWith(a+"er")||e.endsWith(a+"ir")))return V(t);let r=this.tryReflexiveNormalization(e);if(r)return r;let n=this.tryConjugationNormalization(e);return n||V(t)}tryReflexiveNormalization(t){for(let e of en)if(t.endsWith(e)){let r=t.slice(0,-e.length);if(r.endsWith("ar")||r.endsWith("er")||r.endsWith("ir"))return j(r,.88,{removedSuffixes:[e],conjugationType:"reflexive"});let n=this.tryConjugationNormalization(r);if(n&&n.stem!==r)return j(n.stem,n.confidence*.95,{removedSuffixes:[e,...n.metadata?.removedSuffixes||[]],conjugationType:"reflexive"})}return null}tryConjugationNormalization(t){for(let e of di)if(t.endsWith(e.ending)){let r=t.slice(0,-e.ending.length);if(r.length<2)continue;let n=r+e.stem;return j(n,e.confidence,{removedSuffixes:[e.ending],conjugationType:e.type})}return null}},ns=new ve;var ee={code:"es",name:"Spanish",nativeName:"Espa\xF1ol",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"infinitive",verb:{position:"start",subjectDrop:!0},references:{me:"yo",it:"ello",you:"t\xFA",result:"resultado",event:"evento",target:"objetivo",body:"cuerpo"},possessive:{marker:"de",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"mi",it:"su",you:"tu"},keywords:{mi:"me",tu:"you",su:"it"}},roleMarkers:{destination:{primary:"en",alternatives:["sobre","a"],position:"before"},source:{primary:"de",alternatives:["desde"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"con",position:"before"}},keywords:{toggle:{primary:"alternar",alternatives:["cambiar","conmutar"],normalized:"toggle"},add:{primary:"agregar",alternatives:["a\xF1adir"],normalized:"add"},remove:{primary:"quitar",alternatives:["eliminar","remover","sacar"],normalized:"remove"},put:{primary:"poner",alternatives:["colocar"],normalized:"put"},append:{primary:"a\xF1adir",normalized:"append"},prepend:{primary:"anteponer",normalized:"prepend"},take:{primary:"tomar",normalized:"take"},make:{primary:"hacer",alternatives:["crear"],normalized:"make"},clone:{primary:"clonar",alternatives:["copiar"],normalized:"clone"},swap:{primary:"intercambiar",alternatives:["cambiar"],normalized:"swap"},morph:{primary:"transformar",alternatives:["convertir"],normalized:"morph"},set:{primary:"establecer",alternatives:["fijar","definir"],normalized:"set"},get:{primary:"obtener",alternatives:["conseguir"],normalized:"get"},increment:{primary:"incrementar",alternatives:["aumentar"],normalized:"increment"},decrement:{primary:"decrementar",alternatives:["disminuir"],normalized:"decrement"},log:{primary:"registrar",alternatives:["imprimir"],normalized:"log"},show:{primary:"mostrar",alternatives:["ense\xF1ar"],normalized:"show"},hide:{primary:"ocultar",alternatives:["esconder"],normalized:"hide"},transition:{primary:"transici\xF3n",alternatives:["animar"],normalized:"transition"},on:{primary:"en",alternatives:["cuando","al"],normalized:"on"},trigger:{primary:"disparar",alternatives:["activar"],normalized:"trigger"},send:{primary:"enviar",normalized:"send"},focus:{primary:"enfocar",normalized:"focus"},blur:{primary:"desenfocar",normalized:"blur"},click:{primary:"clic",alternatives:["hacer clic"],normalized:"click"},hover:{primary:"sobrevolar",alternatives:["pasar por encima"],normalized:"hover"},submit:{primary:"env\xEDo",alternatives:["enviar"],normalized:"submit"},input:{primary:"entrada",alternatives:["introducir"],normalized:"input"},change:{primary:"cambio",alternatives:["cambiar"],normalized:"change"},go:{primary:"ir",alternatives:["navegar"],normalized:"go"},wait:{primary:"esperar",normalized:"wait"},fetch:{primary:"buscar",alternatives:["obtener"],normalized:"fetch"},settle:{primary:"estabilizar",normalized:"settle"},if:{primary:"si",normalized:"if"},when:{primary:"cuando",normalized:"when"},where:{primary:"donde",normalized:"where"},else:{primary:"sino",alternatives:["de lo contrario"],normalized:"else"},repeat:{primary:"repetir",normalized:"repeat"},for:{primary:"para",normalized:"for"},while:{primary:"mientras",normalized:"while"},continue:{primary:"continuar",normalized:"continue"},halt:{primary:"detener",alternatives:["parar"],normalized:"halt"},throw:{primary:"lanzar",alternatives:["arrojar"],normalized:"throw"},call:{primary:"llamar",normalized:"call"},return:{primary:"retornar",alternatives:["devolver"],normalized:"return"},then:{primary:"entonces",alternatives:["luego","despu\xE9s"],normalized:"then"},and:{primary:"y",alternatives:["adem\xE1s","tambi\xE9n"],normalized:"and"},end:{primary:"fin",alternatives:["final","terminar"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"as\xEDncrono",normalized:"async"},tell:{primary:"decir",normalized:"tell"},default:{primary:"predeterminar",alternatives:["por defecto"],normalized:"default"},init:{primary:"iniciar",alternatives:["inicializar"],normalized:"init"},behavior:{primary:"comportamiento",normalized:"behavior"},install:{primary:"instalar",normalized:"install"},measure:{primary:"medir",normalized:"measure"},into:{primary:"en",alternatives:["dentro de"],normalized:"into"},before:{primary:"antes",normalized:"before"},after:{primary:"despu\xE9s",normalized:"after"},until:{primary:"hasta",normalized:"until"},event:{primary:"evento",normalized:"event"},from:{primary:"de",alternatives:["desde"],normalized:"from"}},eventHandler:{keyword:{primary:"al",alternatives:["cuando","en"],normalized:"on"},sourceMarker:{primary:"de",alternatives:["desde"],position:"before"},eventMarker:{primary:"al",alternatives:["cuando"],position:"before"},temporalMarkers:["cuando","al"]}};var{isLetter:tn,isIdentifierChar:pi}=M(/[a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]/),ui=[{pattern:"milisegundos",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"milisegundo",suffix:"ms",length:11,caseInsensitive:!0},{pattern:"segundos",suffix:"s",length:8,caseInsensitive:!0},{pattern:"segundo",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minutos",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minuto",suffix:"m",length:6,caseInsensitive:!0},{pattern:"horas",suffix:"h",length:5,caseInsensitive:!0},{pattern:"hora",suffix:"h",length:4,caseInsensitive:!0}],nn=new Set(["en","a","de","desde","hasta","con","sin","por","para","sobre","entre","antes","despu\xE9s","despues","dentro","fuera","al","del"]),fi=[{native:"verdadero",normalized:"true"},{native:"falso",normalized:"false"},{native:"nulo",normalized:"null"},{native:"indefinido",normalized:"undefined"},{native:"primero",normalized:"first"},{native:"primera",normalized:"first"},{native:"\xFAltimo",normalized:"last"},{native:"ultima",normalized:"last"},{native:"siguiente",normalized:"next"},{native:"anterior",normalized:"previous"},{native:"cercano",normalized:"closest"},{native:"padre",normalized:"parent"},{native:"clic",normalized:"click"},{native:"click",normalized:"click"},{native:"hacer clic",normalized:"click"},{native:"entrada",normalized:"input"},{native:"cambio",normalized:"change"},{native:"env\xEDo",normalized:"submit"},{native:"envio",normalized:"submit"},{native:"tecla abajo",normalized:"keydown"},{native:"tecla arriba",normalized:"keyup"},{native:"rat\xF3n encima",normalized:"mouseover"},{native:"raton encima",normalized:"mouseover"},{native:"rat\xF3n fuera",normalized:"mouseout"},{native:"raton fuera",normalized:"mouseout"},{native:"enfoque",normalized:"focus"},{native:"desenfoque",normalized:"blur"},{native:"carga",normalized:"load"},{native:"desplazamiento",normalized:"scroll"},{native:"yo",normalized:"me"},{native:"m\xED",normalized:"me"},{native:"mi",normalized:"me"},{native:"ello",normalized:"it"},{native:"resultado",normalized:"result"},{native:"objetivo",normalized:"target"},{native:"destino",normalized:"target"},{native:"segundo",normalized:"s"},{native:"segundos",normalized:"s"},{native:"milisegundo",normalized:"ms"},{native:"milisegundos",normalized:"ms"},{native:"minuto",normalized:"m"},{native:"minutos",normalized:"m"},{native:"hora",normalized:"h"},{native:"horas",normalized:"h"},{native:"de lo contrario",normalized:"else"},{native:"hasta que",normalized:"until"},{native:"antes de",normalized:"before"},{native:"despu\xE9s de",normalized:"after"},{native:"despues de",normalized:"after"},{native:"dentro de",normalized:"into"},{native:"fuera de",normalized:"out"},{native:"asincrono",normalized:"async"},{native:"despues",normalized:"after"},{native:"a\xF1adir",normalized:"add"},{native:"toggle",normalized:"toggle"},{native:"borrar",normalized:"remove"},{native:"pon",normalized:"put"},{native:"crear",normalized:"make"},{native:"y",normalized:"and"},{native:"o",normalized:"or"},{native:"no",normalized:"not"},{native:"es",normalized:"is"},{native:"existe",normalized:"exists"},{native:"vac\xEDo",normalized:"empty"},{native:"vacio",normalized:"empty"}],rt=class extends w{constructor(){super();this.language="es";this.direction="ltr";this.initializeKeywordsFromProfile(ee,fi),this.normalizer=new ve}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let l=this.tryEventModifier(e,n);if(l){r.push(l),n=l.position.end;continue}let c=this.trySelector(e,n);if(c){r.push(c),n=c.position.end;continue}}if(P(e[n])){let l=this.tryString(e,n);if(l){r.push(l),n=l.position.end;continue}}if(E(e,n)){let l=this.tryUrl(e,n);if(l){r.push(l),n=l.position.end;continue}}if(S(e[n])||e[n]==="-"&&n+1<e.length&&S(e[n+1])){let l=this.extractSpanishNumber(e,n);if(l){r.push(l),n=l.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}let s=this.tryMultiWordPhrase(e,n);if(s){r.push(s),n=s.position.end;continue}if(tn(e[n])){let l=this.extractSpanishWord(e,n);if(l){r.push(l),n=l.position.end;continue}}let o=this.tryOperator(e,n);if(o){r.push(o),n=o.position.end;continue}n++}return new b(r,"es")}classifyToken(e){let r=e.toLowerCase();return nn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(e)?"operator":"identifier"}tryMultiWordPhrase(e,r){for(let n of this.profileKeywords){if(!n.native.includes(" "))continue;let a=n.native;if(e.slice(r,r+a.length).toLowerCase()===a.toLowerCase()){let o=r+a.length;if(o>=e.length||k(e[o])||!tn(e[o]))return u(e.slice(r,r+a.length),"keyword",p(r,o),n.normalized)}}return null}extractSpanishWord(e,r){let n=r,a="";for(;n<e.length&&pi(e[n]);)a+=e[n++];if(!a)return null;let s=a.toLowerCase();if(nn.has(s))return u(a,"particle",p(r,n));let o=this.lookupKeyword(s);if(o)return u(a,"keyword",p(r,n),o.normalized);let l=this.tryMorphKeywordMatch(s,r,n);return l||u(a,"identifier",p(r,n))}extractSpanishNumber(e,r){return this.tryNumberWithTimeUnits(e,r,ui,{allowSign:!0,skipWhitespace:!0})}},je=new rt;R("es",je,ee);var te={code:"pt",name:"Portuguese",nativeName:"Portugu\xEAs",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"eu",it:"ele",you:"voc\xEA",result:"resultado",event:"evento",target:"alvo",body:"corpo"},possessive:{marker:"de",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"meu",it:"seu",you:"teu"},keywords:{meu:"me",minha:"me",teu:"you",tua:"you",seu:"it",sua:"it"}},roleMarkers:{destination:{primary:"em",alternatives:["para","a"],position:"before"},source:{primary:"de",alternatives:["desde"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"com",position:"before"}},keywords:{toggle:{primary:"alternar",alternatives:["trocar"],normalized:"toggle"},add:{primary:"adicionar",alternatives:["acrescentar"],normalized:"add"},remove:{primary:"remover",alternatives:["eliminar","apagar"],normalized:"remove"},put:{primary:"colocar",alternatives:["p\xF4r","por"],normalized:"put"},append:{primary:"anexar",normalized:"append"},prepend:{primary:"preceder",normalized:"prepend"},take:{primary:"pegar",normalized:"take"},make:{primary:"fazer",alternatives:["criar"],normalized:"make"},clone:{primary:"clonar",alternatives:["copiar"],normalized:"clone"},swap:{primary:"trocar",alternatives:["substituir"],normalized:"swap"},morph:{primary:"transformar",alternatives:["converter"],normalized:"morph"},set:{primary:"definir",alternatives:["configurar"],normalized:"set"},get:{primary:"obter",normalized:"get"},increment:{primary:"incrementar",alternatives:["aumentar"],normalized:"increment"},decrement:{primary:"decrementar",alternatives:["diminuir"],normalized:"decrement"},log:{primary:"registrar",alternatives:["imprimir"],normalized:"log"},show:{primary:"mostrar",alternatives:["exibir"],normalized:"show"},hide:{primary:"ocultar",alternatives:["esconder"],normalized:"hide"},transition:{primary:"transi\xE7\xE3o",alternatives:["animar"],normalized:"transition"},on:{primary:"em",alternatives:["quando","ao"],normalized:"on"},trigger:{primary:"disparar",alternatives:["ativar"],normalized:"trigger"},send:{primary:"enviar",normalized:"send"},focus:{primary:"focar",normalized:"focus"},blur:{primary:"desfocar",normalized:"blur"},go:{primary:"ir",alternatives:["navegar"],normalized:"go"},wait:{primary:"esperar",alternatives:["aguardar"],normalized:"wait"},fetch:{primary:"buscar",normalized:"fetch"},settle:{primary:"estabilizar",normalized:"settle"},if:{primary:"se",normalized:"if"},when:{primary:"quando",normalized:"when"},where:{primary:"onde",normalized:"where"},else:{primary:"sen\xE3o",normalized:"else"},repeat:{primary:"repetir",normalized:"repeat"},for:{primary:"para",normalized:"for"},while:{primary:"enquanto",normalized:"while"},continue:{primary:"continuar",normalized:"continue"},halt:{primary:"parar",normalized:"halt"},throw:{primary:"lan\xE7ar",normalized:"throw"},call:{primary:"chamar",normalized:"call"},return:{primary:"retornar",alternatives:["devolver"],normalized:"return"},then:{primary:"ent\xE3o",alternatives:["depois","logo"],normalized:"then"},and:{primary:"e",alternatives:["tamb\xE9m","al\xE9m disso"],normalized:"and"},end:{primary:"fim",alternatives:["final","t\xE9rmino"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"ass\xEDncrono",normalized:"async"},tell:{primary:"dizer",normalized:"tell"},default:{primary:"padr\xE3o",normalized:"default"},init:{primary:"iniciar",alternatives:["inicializar"],normalized:"init"},behavior:{primary:"comportamento",normalized:"behavior"},install:{primary:"instalar",normalized:"install"},measure:{primary:"medir",normalized:"measure"},into:{primary:"em",alternatives:["dentro de"],normalized:"into"},before:{primary:"antes",normalized:"before"},after:{primary:"depois",normalized:"after"},click:{primary:"clique",alternatives:["clicar"],normalized:"click"},hover:{primary:"sobrevoar",alternatives:["passar"],normalized:"hover"},submit:{primary:"envio",alternatives:["submeter"],normalized:"submit"},input:{primary:"entrada",alternatives:["inser\xE7\xE3o"],normalized:"input"},change:{primary:"altera\xE7\xE3o",alternatives:["mudan\xE7a"],normalized:"change"},until:{primary:"at\xE9",normalized:"until"},event:{primary:"evento",normalized:"event"},from:{primary:"de",alternatives:["desde"],normalized:"from"}},eventHandler:{keyword:{primary:"em",alternatives:["ao","quando"],normalized:"on"},sourceMarker:{primary:"de",alternatives:["desde"],position:"before"},conditionalKeyword:{primary:"quando",alternatives:["se"]},eventMarker:{primary:"ao",alternatives:["no"],position:"before"},temporalMarkers:["quando","ao"]}};var{isLetter:gi,isIdentifierChar:yi}=M(/[a-zA-ZáàâãéêíóôõúüçÁÀÂÃÉÊÍÓÔÕÚÜÇ]/),rn=new Set(["em","a","de","desde","at\xE9","ate","com","sem","por","para","sobre","entre","antes","depois","dentro","fora","ao","do","no","na"]),hi=[{native:"verdadeiro",normalized:"true"},{native:"falso",normalized:"false"},{native:"nulo",normalized:"null"},{native:"indefinido",normalized:"undefined"},{native:"primeiro",normalized:"first"},{native:"primeira",normalized:"first"},{native:"\xFAltimo",normalized:"last"},{native:"ultima",normalized:"last"},{native:"pr\xF3ximo",normalized:"next"},{native:"proximo",normalized:"next"},{native:"anterior",normalized:"previous"},{native:"mais pr\xF3ximo",normalized:"closest"},{native:"mais proximo",normalized:"closest"},{native:"pai",normalized:"parent"},{native:"clique",normalized:"click"},{native:"click",normalized:"click"},{native:"entrada",normalized:"input"},{native:"mudan\xE7a",normalized:"change"},{native:"mudanca",normalized:"change"},{native:"envio",normalized:"submit"},{native:"tecla baixo",normalized:"keydown"},{native:"tecla cima",normalized:"keyup"},{native:"mouse sobre",normalized:"mouseover"},{native:"mouse fora",normalized:"mouseout"},{native:"foco",normalized:"focus"},{native:"desfoque",normalized:"blur"},{native:"carregar",normalized:"load"},{native:"rolagem",normalized:"scroll"},{native:"meu",normalized:"my"},{native:"minha",normalized:"my"},{native:"isso",normalized:"it"},{native:"segundo",normalized:"s"},{native:"segundos",normalized:"s"},{native:"milissegundo",normalized:"ms"},{native:"milissegundos",normalized:"ms"},{native:"minuto",normalized:"m"},{native:"minutos",normalized:"m"},{native:"hora",normalized:"h"},{native:"horas",normalized:"h"},{native:"senao",normalized:"else"},{native:"transicao",normalized:"transition"},{native:"ate",normalized:"until"},{native:"entao",normalized:"then"},{native:"lancar",normalized:"throw"},{native:"assincrono",normalized:"async"},{native:"padrao",normalized:"default"},{native:"at\xE9 que",normalized:"until"},{native:"dentro de",normalized:"into"}],vi=[{pattern:"milissegundos",suffix:"ms",length:13,caseInsensitive:!0},{pattern:"milissegundo",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"segundos",suffix:"s",length:8,caseInsensitive:!0},{pattern:"segundo",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minutos",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minuto",suffix:"m",length:6,caseInsensitive:!0},{pattern:"horas",suffix:"h",length:5,caseInsensitive:!0},{pattern:"hora",suffix:"h",length:4,caseInsensitive:!0}],it=class extends w{constructor(){super();this.language="pt";this.direction="ltr";this.initializeKeywordsFromProfile(te,hi)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])||e[n]==="-"&&n+1<e.length&&S(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}if(gi(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new b(r,"pt")}classifyToken(e){let r=e.toLowerCase();return rn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,a="";for(;n<e.length&&yi(e[n]);)a+=e[n++];if(!a)return null;let s=a.toLowerCase(),o=this.lookupKeyword(s);return o?u(a,"keyword",p(r,n),o.normalized):rn.has(s)?u(a,"particle",p(r,n)):u(a,"identifier",p(r,n))}extractNumber(e,r){return this.tryNumberWithTimeUnits(e,r,vi,{allowSign:!0,skipWhitespace:!0})}},Me=new it;R("pt",Me,te);var ne={code:"fr",name:"French",nativeName:"Fran\xE7ais",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"infinitive",verb:{position:"start",subjectDrop:!1},references:{me:"moi",it:"il",you:"toi",result:"r\xE9sultat",event:"\xE9v\xE9nement",target:"cible",body:"corps"},possessive:{marker:"de",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"ma",it:"sa",you:"ta"},keywords:{mon:"me",ma:"me",mes:"me",ton:"you",ta:"you",tes:"you",son:"it",sa:"it",ses:"it"}},roleMarkers:{destination:{primary:"sur",alternatives:["\xE0","dans"],position:"before"},source:{primary:"de",alternatives:["depuis"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"avec",position:"before"}},keywords:{toggle:{primary:"basculer",alternatives:["permuter","alterner"],normalized:"toggle"},add:{primary:"ajouter",normalized:"add"},remove:{primary:"supprimer",alternatives:["enlever","retirer"],normalized:"remove"},put:{primary:"mettre",alternatives:["placer"],normalized:"put"},append:{primary:"annexer",normalized:"append"},prepend:{primary:"pr\xE9fixer",normalized:"prepend"},take:{primary:"prendre",normalized:"take"},make:{primary:"faire",alternatives:["cr\xE9er"],normalized:"make"},clone:{primary:"cloner",alternatives:["copier"],normalized:"clone"},swap:{primary:"\xE9changer",alternatives:["permuter"],normalized:"swap"},morph:{primary:"transformer",alternatives:["m\xE9tamorphoser"],normalized:"morph"},set:{primary:"d\xE9finir",alternatives:["\xE9tablir"],normalized:"set"},get:{primary:"obtenir",normalized:"get"},increment:{primary:"incr\xE9menter",alternatives:["augmenter"],normalized:"increment"},decrement:{primary:"d\xE9cr\xE9menter",alternatives:["diminuer"],normalized:"decrement"},log:{primary:"enregistrer",alternatives:["afficher"],normalized:"log"},show:{primary:"montrer",alternatives:["afficher"],normalized:"show"},hide:{primary:"cacher",alternatives:["masquer"],normalized:"hide"},transition:{primary:"transition",alternatives:["animer"],normalized:"transition"},on:{primary:"sur",alternatives:["quand","lors"],normalized:"on"},trigger:{primary:"d\xE9clencher",normalized:"trigger"},send:{primary:"envoyer",normalized:"send"},focus:{primary:"focaliser",alternatives:["concentrer"],normalized:"focus"},blur:{primary:"d\xE9focaliser",normalized:"blur"},go:{primary:"aller",alternatives:["naviguer"],normalized:"go"},wait:{primary:"attendre",normalized:"wait"},fetch:{primary:"chercher",alternatives:["r\xE9cup\xE9rer"],normalized:"fetch"},settle:{primary:"stabiliser",normalized:"settle"},if:{primary:"si",normalized:"if"},when:{primary:"quand",normalized:"when"},where:{primary:"o\xF9",normalized:"where"},else:{primary:"sinon",normalized:"else"},repeat:{primary:"r\xE9p\xE9ter",normalized:"repeat"},for:{primary:"pour",normalized:"for"},while:{primary:"pendant",normalized:"while"},continue:{primary:"continuer",normalized:"continue"},halt:{primary:"arr\xEAter",alternatives:["stopper"],normalized:"halt"},throw:{primary:"lancer",normalized:"throw"},call:{primary:"appeler",normalized:"call"},return:{primary:"retourner",alternatives:["renvoyer"],normalized:"return"},then:{primary:"puis",alternatives:["ensuite","alors"],normalized:"then"},and:{primary:"et",alternatives:["aussi","\xE9galement"],normalized:"and"},end:{primary:"fin",alternatives:["terminer","finir"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asynchrone",normalized:"async"},tell:{primary:"dire",normalized:"tell"},default:{primary:"d\xE9faut",normalized:"default"},init:{primary:"initialiser",normalized:"init"},behavior:{primary:"comportement",normalized:"behavior"},install:{primary:"installer",normalized:"install"},measure:{primary:"mesurer",normalized:"measure"},into:{primary:"dans",normalized:"into"},before:{primary:"avant",normalized:"before"},after:{primary:"apr\xE8s",normalized:"after"},click:{primary:"clic",alternatives:["clique"],normalized:"click"},hover:{primary:"survol",alternatives:["survoler"],normalized:"hover"},submit:{primary:"soumission",alternatives:["soumettre"],normalized:"submit"},input:{primary:"saisie",alternatives:["entr\xE9e"],normalized:"input"},change:{primary:"changement",alternatives:["modifier"],normalized:"change"},until:{primary:"jusqu'\xE0",alternatives:["jusque"],normalized:"until"},event:{primary:"\xE9v\xE9nement",normalized:"event"},from:{primary:"de",alternatives:["depuis"],normalized:"from"}},eventHandler:{keyword:{primary:"sur",alternatives:["lors"],normalized:"on"},sourceMarker:{primary:"de",alternatives:["depuis"],position:"before"},conditionalKeyword:{primary:"quand",alternatives:["lorsque"]},eventMarker:{primary:"au",alternatives:["lors du","lors de"],position:"before"},temporalMarkers:["quand","lorsque"]}};var{isLetter:zi,isIdentifierChar:Ti}=M(/[a-zA-ZàâäéèêëîïôùûüçœæÀÂÄÉÈÊËÎÏÔÙÛÜÇŒÆ]/),an=new Set(["\xE0","a","de","du","des","dans","sur","sous","avec","sans","par","pour","entre","avant","apr\xE8s","apres","depuis","vers","chez","contre","au","aux"]),Si=[{native:"vrai",normalized:"true"},{native:"faux",normalized:"false"},{native:"nul",normalized:"null"},{native:"ind\xE9fini",normalized:"undefined"},{native:"indefini",normalized:"undefined"},{native:"premier",normalized:"first"},{native:"premi\xE8re",normalized:"first"},{native:"premiere",normalized:"first"},{native:"dernier",normalized:"last"},{native:"derni\xE8re",normalized:"last"},{native:"derniere",normalized:"last"},{native:"suivant",normalized:"next"},{native:"pr\xE9c\xE9dent",normalized:"previous"},{native:"precedent",normalized:"previous"},{native:"plus proche",normalized:"closest"},{native:"parent",normalized:"parent"},{native:"clic",normalized:"click"},{native:"click",normalized:"click"},{native:"entr\xE9e",normalized:"input"},{native:"entree",normalized:"input"},{native:"changement",normalized:"change"},{native:"soumission",normalized:"submit"},{native:"touche bas",normalized:"keydown"},{native:"touche haut",normalized:"keyup"},{native:"souris dessus",normalized:"mouseover"},{native:"souris dehors",normalized:"mouseout"},{native:"focus",normalized:"focus"},{native:"flou",normalized:"blur"},{native:"chargement",normalized:"load"},{native:"d\xE9filement",normalized:"scroll"},{native:"defilement",normalized:"scroll"},{native:"je",normalized:"me"},{native:"mon",normalized:"my"},{native:"ma",normalized:"my"},{native:"mes",normalized:"my"},{native:"\xE7a",normalized:"it"},{native:"ca",normalized:"it"},{native:"resultat",normalized:"result"},{native:"evenement",normalized:"event"},{native:"seconde",normalized:"s"},{native:"secondes",normalized:"s"},{native:"milliseconde",normalized:"ms"},{native:"millisecondes",normalized:"ms"},{native:"minute",normalized:"m"},{native:"minutes",normalized:"m"},{native:"heure",normalized:"h"},{native:"heures",normalized:"h"},{native:"prefixer",normalized:"prepend"},{native:"creer",normalized:"make"},{native:"definir",normalized:"set"},{native:"etablir",normalized:"set"},{native:"incrementer",normalized:"increment"},{native:"decrementer",normalized:"decrement"},{native:"declencher",normalized:"trigger"},{native:"defocaliser",normalized:"blur"},{native:"recuperer",normalized:"fetch"},{native:"repeter",normalized:"repeat"},{native:"arreter",normalized:"halt"},{native:"defaut",normalized:"default"},{native:"jusqua",normalized:"until"},{native:"apres",normalized:"after"},{native:"journaliser",normalized:"log"},{native:"transmuter",normalized:"morph"},{native:"tant que",normalized:"while"}],ki=[{pattern:"millisecondes",suffix:"ms",length:13,caseInsensitive:!0},{pattern:"milliseconde",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"secondes",suffix:"s",length:8,caseInsensitive:!0},{pattern:"seconde",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minutes",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minute",suffix:"m",length:6,caseInsensitive:!0},{pattern:"heures",suffix:"h",length:6,caseInsensitive:!0},{pattern:"heure",suffix:"h",length:5,caseInsensitive:!0}],at=class extends w{constructor(){super();this.language="fr";this.direction="ltr";this.initializeKeywordsFromProfile(ne,Si)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])||e[n]==="-"&&n+1<e.length&&S(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}if(zi(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new b(r,"fr")}classifyToken(e){let r=e.toLowerCase();return an.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,a="";for(;n<e.length&&Ti(e[n]);)a+=e[n++];if(!a)return null;let s=a.toLowerCase(),o=this.lookupKeyword(s);return o?u(a,"keyword",p(r,n),o.normalized):an.has(s)?u(a,"particle",p(r,n)):u(a,"identifier",p(r,n))}extractNumber(e,r){return this.tryNumberWithTimeUnits(e,r,ki,{allowSign:!0,skipWhitespace:!0})}},Ae=new at;R("fr",Ae,ne);var re={code:"de",name:"German",nativeName:"Deutsch",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"infinitive",verb:{position:"start",subjectDrop:!1},references:{me:"ich",it:"es",you:"du",result:"Ergebnis",event:"Ereignis",target:"Ziel",body:"K\xF6rper"},possessive:{marker:"",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"mein",it:"sein",you:"dein"},keywords:{mein:"me",meine:"me",meinen:"me",dein:"you",deine:"you",deinen:"you",sein:"it",seine:"it",seinen:"it"}},roleMarkers:{destination:{primary:"auf",alternatives:["zu","in"],position:"before"},source:{primary:"von",alternatives:["aus"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"mit",position:"before"}},keywords:{toggle:{primary:"umschalten",alternatives:["wechseln"],normalized:"toggle"},add:{primary:"hinzuf\xFCgen",normalized:"add"},remove:{primary:"entfernen",alternatives:["l\xF6schen"],normalized:"remove"},put:{primary:"setzen",alternatives:["stellen","platzieren"],normalized:"put"},append:{primary:"anh\xE4ngen",normalized:"append"},prepend:{primary:"voranstellen",normalized:"prepend"},take:{primary:"nehmen",normalized:"take"},make:{primary:"machen",alternatives:["erstellen","erzeugen"],normalized:"make"},clone:{primary:"klonen",alternatives:["kopieren"],normalized:"clone"},swap:{primary:"austauschen",alternatives:["tauschen","wechseln"],normalized:"swap"},morph:{primary:"verwandeln",alternatives:["transformieren"],normalized:"morph"},set:{primary:"festlegen",alternatives:["definieren"],normalized:"set"},get:{primary:"holen",alternatives:["bekommen"],normalized:"get"},increment:{primary:"erh\xF6hen",normalized:"increment"},decrement:{primary:"verringern",alternatives:["vermindern"],normalized:"decrement"},log:{primary:"protokollieren",alternatives:["ausgeben"],normalized:"log"},show:{primary:"zeigen",alternatives:["anzeigen"],normalized:"show"},hide:{primary:"verbergen",alternatives:["verstecken"],normalized:"hide"},transition:{primary:"\xFCbergang",alternatives:["animieren"],normalized:"transition"},on:{primary:"bei",alternatives:["wenn","auf"],normalized:"on"},trigger:{primary:"ausl\xF6sen",normalized:"trigger"},send:{primary:"senden",alternatives:["schicken"],normalized:"send"},focus:{primary:"fokussieren",normalized:"focus"},blur:{primary:"defokussieren",alternatives:["entfokussieren"],normalized:"blur"},go:{primary:"gehen",alternatives:["navigieren"],normalized:"go"},wait:{primary:"warten",normalized:"wait"},fetch:{primary:"abrufen",alternatives:["laden"],normalized:"fetch"},settle:{primary:"stabilisieren",normalized:"settle"},if:{primary:"wenn",alternatives:["falls"],normalized:"if"},when:{primary:"wenn",normalized:"when"},where:{primary:"wo",normalized:"where"},else:{primary:"sonst",alternatives:["ansonsten"],normalized:"else"},repeat:{primary:"wiederholen",normalized:"repeat"},for:{primary:"f\xFCr",normalized:"for"},while:{primary:"solange",alternatives:["w\xE4hrend"],normalized:"while"},continue:{primary:"fortfahren",alternatives:["weiter"],normalized:"continue"},halt:{primary:"anhalten",alternatives:["stoppen"],normalized:"halt"},throw:{primary:"werfen",normalized:"throw"},call:{primary:"aufrufen",normalized:"call"},return:{primary:"zur\xFCckgeben",normalized:"return"},then:{primary:"dann",alternatives:["danach","anschlie\xDFend"],normalized:"then"},and:{primary:"und",alternatives:["sowie","auch"],normalized:"and"},end:{primary:"ende",alternatives:["beenden","fertig"],normalized:"end"},js:{primary:"js",alternatives:["javascript"],normalized:"js"},async:{primary:"asynchron",normalized:"async"},tell:{primary:"sagen",normalized:"tell"},default:{primary:"standard",normalized:"default"},init:{primary:"initialisieren",normalized:"init"},behavior:{primary:"verhalten",normalized:"behavior"},install:{primary:"installieren",normalized:"install"},measure:{primary:"messen",normalized:"measure"},into:{primary:"hinein",normalized:"into"},before:{primary:"vor",normalized:"before"},after:{primary:"nach",normalized:"after"},click:{primary:"Klick",alternatives:["Klicken"],normalized:"click"},hover:{primary:"Hover",alternatives:["Schweben"],normalized:"hover"},submit:{primary:"Absenden",alternatives:["Senden"],normalized:"submit"},input:{primary:"Eingabe",normalized:"input"},change:{primary:"\xC4nderung",alternatives:["\xC4ndern"],normalized:"change"},until:{primary:"bis",normalized:"until"},event:{primary:"Ereignis",alternatives:["Event"],normalized:"event"},from:{primary:"von",alternatives:["aus"],normalized:"from"}},eventHandler:{keyword:{primary:"bei",alternatives:["auf"],normalized:"on"},sourceMarker:{primary:"von",alternatives:["aus"],position:"before"},conditionalKeyword:{primary:"wenn",alternatives:["falls"]},eventMarker:{primary:"bei",alternatives:["beim"],position:"before"},temporalMarkers:["wenn","bei"]}};var{isLetter:xi,isIdentifierChar:bi}=M(/[a-zA-ZäöüÄÖÜß]/),on=new Set(["an","auf","aus","bei","durch","f\xFCr","fur","gegen","in","mit","nach","ohne","seit","\xFCber","uber","um","unter","von","vor","zu","zwischen","bis","gegen\xFCber","gegenuber","w\xE4hrend","wahrend","wegen","trotz","statt","innerhalb","au\xDFerhalb","ausserhalb"]),wi=[{native:"wahr",normalized:"true"},{native:"falsch",normalized:"false"},{native:"null",normalized:"null"},{native:"undefiniert",normalized:"undefined"},{native:"erste",normalized:"first"},{native:"erster",normalized:"first"},{native:"erstes",normalized:"first"},{native:"letzte",normalized:"last"},{native:"letzter",normalized:"last"},{native:"letztes",normalized:"last"},{native:"n\xE4chste",normalized:"next"},{native:"nachste",normalized:"next"},{native:"vorherige",normalized:"previous"},{native:"n\xE4chste",normalized:"closest"},{native:"eltern",normalized:"parent"},{native:"klick",normalized:"click"},{native:"click",normalized:"click"},{native:"eingabe",normalized:"input"},{native:"\xE4nderung",normalized:"change"},{native:"anderung",normalized:"change"},{native:"absenden",normalized:"submit"},{native:"taste unten",normalized:"keydown"},{native:"taste oben",normalized:"keyup"},{native:"maus dr\xFCber",normalized:"mouseover"},{native:"maus druber",normalized:"mouseover"},{native:"maus weg",normalized:"mouseout"},{native:"fokus",normalized:"focus"},{native:"unsch\xE4rfe",normalized:"blur"},{native:"unscharfe",normalized:"blur"},{native:"scrollen",normalized:"scroll"},{native:"meine",normalized:"my"},{native:"meinen",normalized:"my"},{native:"ergebnis",normalized:"result"},{native:"ziel",normalized:"target"},{native:"sekunde",normalized:"s"},{native:"sekunden",normalized:"s"},{native:"millisekunde",normalized:"ms"},{native:"millisekunden",normalized:"ms"},{native:"minute",normalized:"m"},{native:"minuten",normalized:"m"},{native:"stunde",normalized:"h"},{native:"stunden",normalized:"h"},{native:"hinzufugen",normalized:"add"},{native:"hinzufgen",normalized:"add"},{native:"loschen",normalized:"remove"},{native:"anhangen",normalized:"append"},{native:"erhohen",normalized:"increment"},{native:"ubergang",normalized:"transition"},{native:"auslosen",normalized:"trigger"},{native:"zuruckgeben",normalized:"return"},{native:"anschliessend",normalized:"then"},{native:"erh\xF6he",normalized:"increment"},{native:"erhohe",normalized:"increment"},{native:"verringere",normalized:"decrement"}],Li=[{pattern:"millisekunden",suffix:"ms",length:13,caseInsensitive:!0},{pattern:"millisekunde",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"sekunden",suffix:"s",length:8,caseInsensitive:!0},{pattern:"sekunde",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minuten",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minute",suffix:"m",length:6,caseInsensitive:!0},{pattern:"stunden",suffix:"h",length:7,caseInsensitive:!0},{pattern:"stunde",suffix:"h",length:6,caseInsensitive:!0}],ot=class extends w{constructor(){super();this.language="de";this.direction="ltr";this.initializeKeywordsFromProfile(re,wi)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])||e[n]==="-"&&n+1<e.length&&S(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}if(xi(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new b(r,"de")}classifyToken(e){let r=e.toLowerCase();return on.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,a="";for(;n<e.length&&bi(e[n]);)a+=e[n++];if(!a)return null;let s=a.toLowerCase(),o=this.lookupKeyword(s);return o?u(a,"keyword",p(r,n),o.normalized):on.has(s)?u(a,"particle",p(r,n)):u(a,"identifier",p(r,n))}extractNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Li,{allowSign:!0,skipWhitespace:!0})}},Ie=new ot;R("de",Ie,re);var Pi=[{pattern:"\u3057\u305F\u3089",confidence:.88,conjugationType:"conditional-tara",minStemLength:2},{pattern:"\u3059\u308B\u3068",confidence:.88,conjugationType:"conditional-to",minStemLength:2},{pattern:"\u3059\u308C\u3070",confidence:.85,conjugationType:"conditional-ba",minStemLength:2},{pattern:"\u305F\u3089",confidence:.85,conjugationType:"conditional-tara",minStemLength:2},{pattern:"\u308C\u3070",confidence:.82,conjugationType:"conditional-ba",minStemLength:2},{pattern:"\u3066\u3044\u307E\u3057\u305F",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\u3066\u3044\u307E\u3059",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304F\u3060\u3055\u3044",confidence:.85,conjugationType:"request",minStemLength:2},{pattern:"\u3067\u304F\u3060\u3055\u3044",confidence:.85,conjugationType:"request",minStemLength:2},{pattern:"\u3066\u3044\u308B",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304A\u304F",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u307F\u308B",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u3042\u308B",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304F\u308C",confidence:.8,conjugationType:"casual-request",minStemLength:2},{pattern:"\u3067\u304F\u308C",confidence:.8,conjugationType:"casual-request",minStemLength:2},{pattern:"\u3061\u3083\u3063\u305F",confidence:.82,conjugationType:"contracted-past",minStemLength:2},{pattern:"\u3058\u3083\u3063\u305F",confidence:.82,conjugationType:"contracted-past",minStemLength:2},{pattern:"\u3061\u3083\u3046",confidence:.82,conjugationType:"contracted",minStemLength:2},{pattern:"\u3058\u3083\u3046",confidence:.82,conjugationType:"contracted",minStemLength:2},{pattern:"\u307E\u3057\u305F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"\u307E\u305B\u3093",confidence:.85,conjugationType:"negative",minStemLength:2},{pattern:"\u307E\u3059",confidence:.85,conjugationType:"polite",minStemLength:2},{pattern:"\u3066",confidence:.85,conjugationType:"te-form",minStemLength:2},{pattern:"\u305F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"\u306A\u3044",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"\u306A\u304B\u3063\u305F",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\u3089\u308C\u308B",confidence:.8,conjugationType:"potential",minStemLength:2},{pattern:"\u308C\u308B",confidence:.78,conjugationType:"potential",minStemLength:2},{pattern:"\u3089\u308C\u305F",confidence:.8,conjugationType:"passive",minStemLength:2},{pattern:"\u3055\u305B\u308B",confidence:.8,conjugationType:"causative",minStemLength:2},{pattern:"\u305B\u308B",confidence:.78,conjugationType:"causative",minStemLength:2},{pattern:"\u3088\u3046",confidence:.8,conjugationType:"volitional",minStemLength:2},{pattern:"\u308B",confidence:.75,conjugationType:"dictionary",minStemLength:3}],Ei=[{pattern:"\u3057\u305F\u3089",confidence:.88,conjugationType:"conditional-tara"},{pattern:"\u3059\u308B\u3068",confidence:.88,conjugationType:"conditional-to"},{pattern:"\u3059\u308C\u3070",confidence:.85,conjugationType:"conditional-ba"},{pattern:"\u3057\u3066\u3044\u307E\u3059",confidence:.85,conjugationType:"progressive"},{pattern:"\u3057\u3066\u3044\u308B",confidence:.85,conjugationType:"progressive"},{pattern:"\u3057\u307E\u3057\u305F",confidence:.85,conjugationType:"past"},{pattern:"\u3057\u307E\u3059",confidence:.85,conjugationType:"polite"},{pattern:"\u3057\u306A\u3044",confidence:.82,conjugationType:"negative"},{pattern:"\u3057\u3066",confidence:.85,conjugationType:"te-form"},{pattern:"\u3057\u305F",confidence:.85,conjugationType:"past"},{pattern:"\u3059\u308B",confidence:.88,conjugationType:"dictionary"}];function sn(i){let t=i.charCodeAt(0);return t>=12352&&t<=12447}function Ri(i){let t=i.charCodeAt(0);return t>=12448&&t<=12543}function Ci(i){let t=i.charCodeAt(0);return t>=19968&&t<=40959||t>=13312&&t<=19903}function Ni(i){for(let t of i)if(sn(t)||Ri(t)||Ci(t))return!0;return!1}var ze=class{constructor(){this.language="ja"}isNormalizable(t){if(!Ni(t)||t.length<2)return!1;let e=t[t.length-1];return sn(e)}normalize(t){let e=this.normalizeCompound(t);if(e)return e;let r=this.trySuruNormalization(t);if(r)return r;for(let n of Pi)if(t.endsWith(n.pattern)){let a=t.slice(0,-n.pattern.length),s=n.minStemLength??2;if(a.length<s)continue;let o={removedSuffixes:[n.pattern]};return n.conjugationType&&(o.conjugationType=n.conjugationType),j(a,n.confidence,o)}return V(t)}trySuruNormalization(t){for(let e of Ei)if(t.endsWith(e.pattern)){let r=t.slice(0,-e.pattern.length);if(r.length<1)continue;return j(r,e.confidence,{removedSuffixes:[e.pattern],conjugationType:e.conjugationType,originalForm:"suru-verb"})}return null}normalizeCompound(t){let e=[{pattern:"\u3066\u3044\u306A\u304B\u3063\u305F",suffixes:["\u3066","\u3044","\u306A\u304B\u3063\u305F"],confidence:.8,minStemLength:2},{pattern:"\u3067\u3044\u306A\u304B\u3063\u305F",suffixes:["\u3067","\u3044","\u306A\u304B\u3063\u305F"],confidence:.8,minStemLength:2},{pattern:"\u3066\u3044\u306A\u3044",suffixes:["\u3066","\u3044","\u306A\u3044"],confidence:.82,minStemLength:2},{pattern:"\u3067\u3044\u306A\u3044",suffixes:["\u3067","\u3044","\u306A\u3044"],confidence:.82,minStemLength:2},{pattern:"\u3066\u3044\u305F",suffixes:["\u3066","\u3044","\u305F"],confidence:.85,minStemLength:2},{pattern:"\u3067\u3044\u305F",suffixes:["\u3067","\u3044","\u305F"],confidence:.85,minStemLength:2}];for(let{pattern:r,suffixes:n,confidence:a,minStemLength:s}of e)if(t.endsWith(r)){let o=t.slice(0,-r.length);if(o.length<s)continue;return j(o,a,{removedSuffixes:n,conjugationType:"compound"})}return null}},Ws=new ze;var ie={code:"ja",name:"Japanese",nativeName:"\u65E5\u672C\u8A9E",direction:"ltr",wordOrder:"SOV",markingStrategy:"particle",usesSpaces:!1,defaultVerbForm:"base",verb:{position:"end",suffixes:["\u308B","\u3066","\u305F","\u307E\u3059","\u306A\u3044"],subjectDrop:!0},references:{me:"\u81EA\u5206",it:"\u305D\u308C",you:"\u3042\u306A\u305F",result:"\u7D50\u679C",event:"\u30A4\u30D9\u30F3\u30C8",target:"\u30BF\u30FC\u30B2\u30C3\u30C8",body:"\u30DC\u30C7\u30A3"},possessive:{marker:"\u306E",markerPosition:"between",keywords:{\u79C1\u306E:"me",\u3042\u306A\u305F\u306E:"you",\u305D\u306E:"it"}},roleMarkers:{patient:{primary:"\u3092",position:"after"},destination:{primary:"\u306B",alternatives:["\u3078","\u3067","\u306E"],position:"after"},source:{primary:"\u304B\u3089",position:"after"},style:{primary:"\u3067",position:"after"},event:{primary:"\u3092",position:"after"}},keywords:{toggle:{primary:"\u5207\u308A\u66FF\u3048",alternatives:["\u5207\u308A\u66FF\u3048\u308B","\u30C8\u30B0\u30EB","\u30C8\u30B0\u30EB\u3059\u308B"],normalized:"toggle"},add:{primary:"\u8FFD\u52A0",alternatives:["\u8FFD\u52A0\u3059\u308B","\u52A0\u3048\u308B"],normalized:"add"},remove:{primary:"\u524A\u9664",alternatives:["\u524A\u9664\u3059\u308B","\u53D6\u308A\u9664\u304F"],normalized:"remove"},put:{primary:"\u7F6E\u304F",alternatives:["\u5165\u308C\u308B","\u30BB\u30C3\u30C8"],normalized:"put"},append:{primary:"\u672B\u5C3E\u8FFD\u52A0",alternatives:["\u672B\u5C3E\u306B\u8FFD\u52A0","\u30A2\u30DA\u30F3\u30C9"],normalized:"append"},prepend:{primary:"\u5148\u982D\u8FFD\u52A0",alternatives:["\u5148\u982D\u306B\u8FFD\u52A0","\u30D7\u30EA\u30DA\u30F3\u30C9"],normalized:"prepend"},take:{primary:"\u53D6\u308B",normalized:"take"},make:{primary:"\u4F5C\u308B",alternatives:["\u4F5C\u6210"],normalized:"make"},clone:{primary:"\u8907\u88FD",alternatives:["\u30AF\u30ED\u30FC\u30F3"],normalized:"clone"},swap:{primary:"\u4EA4\u63DB",alternatives:["\u30B9\u30EF\u30C3\u30D7","\u5165\u308C\u66FF\u3048"],normalized:"swap"},morph:{primary:"\u5909\u5F62",alternatives:["\u30E2\u30FC\u30D5","\u5909\u63DB"],normalized:"morph"},set:{primary:"\u8A2D\u5B9A",alternatives:["\u8A2D\u5B9A\u3059\u308B","\u30BB\u30C3\u30C8"],normalized:"set"},get:{primary:"\u53D6\u5F97",alternatives:["\u53D6\u5F97\u3059\u308B","\u30B2\u30C3\u30C8"],normalized:"get"},increment:{primary:"\u5897\u52A0",alternatives:["\u5897\u3084\u3059","\u30A4\u30F3\u30AF\u30EA\u30E1\u30F3\u30C8"],normalized:"increment"},decrement:{primary:"\u6E1B\u5C11",alternatives:["\u6E1B\u3089\u3059","\u30C7\u30AF\u30EA\u30E1\u30F3\u30C8"],normalized:"decrement"},log:{primary:"\u8A18\u9332",alternatives:["\u30ED\u30B0","\u51FA\u529B"],normalized:"log"},show:{primary:"\u8868\u793A",alternatives:["\u8868\u793A\u3059\u308B","\u898B\u305B\u308B"],normalized:"show"},hide:{primary:"\u96A0\u3059",alternatives:["\u975E\u8868\u793A","\u975E\u8868\u793A\u306B\u3059\u308B"],normalized:"hide"},transition:{primary:"\u9077\u79FB",alternatives:["\u30C8\u30E9\u30F3\u30B8\u30B7\u30E7\u30F3","\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3"],normalized:"transition"},on:{primary:"\u3067",alternatives:["\u6642","\u3068\u304D"],normalized:"on"},trigger:{primary:"\u5F15\u304D\u91D1",alternatives:["\u767A\u706B","\u30C8\u30EA\u30AC\u30FC"],normalized:"trigger"},send:{primary:"\u9001\u308B",alternatives:["\u9001\u4FE1"],normalized:"send"},focus:{primary:"\u30D5\u30A9\u30FC\u30AB\u30B9",alternatives:["\u96C6\u4E2D"],normalized:"focus"},blur:{primary:"\u307C\u304B\u3057",alternatives:["\u30D5\u30A9\u30FC\u30AB\u30B9\u89E3\u9664"],normalized:"blur"},go:{primary:"\u79FB\u52D5",alternatives:["\u884C\u304F","\u30CA\u30D3\u30B2\u30FC\u30C8"],normalized:"go"},wait:{primary:"\u5F85\u3064",alternatives:["\u5F85\u6A5F"],normalized:"wait"},fetch:{primary:"\u53D6\u5F97",alternatives:["\u30D5\u30A7\u30C3\u30C1"],normalized:"fetch"},settle:{primary:"\u5B89\u5B9A",alternatives:["\u843D\u3061\u7740\u304F"],normalized:"settle"},if:{primary:"\u3082\u3057",alternatives:["\u6761\u4EF6"],normalized:"if"},when:{primary:"\u3068\u304D",normalized:"when"},where:{primary:"\u3069\u3053",normalized:"where"},else:{primary:"\u305D\u3046\u3067\u306A\u3051\u308C\u3070",alternatives:["\u305D\u308C\u4EE5\u5916"],normalized:"else"},repeat:{primary:"\u7E70\u308A\u8FD4\u3057",alternatives:["\u7E70\u308A\u8FD4\u3059","\u30EA\u30D4\u30FC\u30C8"],normalized:"repeat"},for:{primary:"\u305F\u3081\u306B",alternatives:["\u5404"],normalized:"for"},while:{primary:"\u306E\u9593",alternatives:["\u9593"],normalized:"while"},continue:{primary:"\u7D9A\u3051\u308B",alternatives:["\u7D99\u7D9A"],normalized:"continue"},halt:{primary:"\u505C\u6B62",alternatives:["\u6B62\u3081\u308B","\u30CF\u30EB\u30C8"],normalized:"halt"},throw:{primary:"\u6295\u3052\u308B",alternatives:["\u30B9\u30ED\u30FC"],normalized:"throw"},call:{primary:"\u547C\u3073\u51FA\u3057",alternatives:["\u30B3\u30FC\u30EB","\u547C\u3076"],normalized:"call"},return:{primary:"\u623B\u308B",alternatives:["\u8FD4\u3059","\u30EA\u30BF\u30FC\u30F3"],normalized:"return"},then:{primary:"\u305D\u308C\u304B\u3089",alternatives:["\u6B21\u306B","\u305D\u3057\u3066"],normalized:"then"},and:{primary:"\u305D\u3057\u3066",alternatives:["\u3068","\u307E\u305F"],normalized:"and"},end:{primary:"\u7D42\u308F\u308A",alternatives:["\u7D42\u4E86","\u304A\u308F\u308A"],normalized:"end"},js:{primary:"JS\u5B9F\u884C",alternatives:["js"],normalized:"js"},async:{primary:"\u975E\u540C\u671F",alternatives:["\u30A2\u30B7\u30F3\u30AF"],normalized:"async"},tell:{primary:"\u4F1D\u3048\u308B",alternatives:["\u30C6\u30EB"],normalized:"tell"},default:{primary:"\u65E2\u5B9A",alternatives:["\u30C7\u30D5\u30A9\u30EB\u30C8"],normalized:"default"},init:{primary:"\u521D\u671F\u5316",alternatives:["\u30A4\u30CB\u30C3\u30C8"],normalized:"init"},behavior:{primary:"\u632F\u308B\u821E\u3044",alternatives:["\u30D3\u30D8\u30A4\u30D3\u30A2"],normalized:"behavior"},install:{primary:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",alternatives:["\u5C0E\u5165"],normalized:"install"},measure:{primary:"\u6E2C\u5B9A",alternatives:["\u8A08\u6E2C","\u30E1\u30B8\u30E3\u30FC"],normalized:"measure"},into:{primary:"\u3078",alternatives:["\u306B"],normalized:"into"},before:{primary:"\u524D\u306B",alternatives:["\u524D"],normalized:"before"},after:{primary:"\u5F8C\u306B",alternatives:["\u5F8C"],normalized:"after"},until:{primary:"\u307E\u3067",alternatives:["\u8FC4"],normalized:"until"},event:{primary:"\u30A4\u30D9\u30F3\u30C8",alternatives:["\u4E8B\u8C61"],normalized:"event"},from:{primary:"\u304B\u3089",normalized:"from"}},tokenization:{particles:["\u3092","\u306B","\u3067","\u304B\u3089","\u306E","\u304C","\u306F","\u3082","\u3078","\u3068"],boundaryStrategy:"particle"},eventHandler:{eventMarker:{primary:"\u3067",position:"after"},temporalMarkers:["\u6642","\u3068\u304D"]}};var ji=A([[12352,12447]]),Mi=A([[12448,12543]]),Ai=A([[19968,40959],[13312,19903]]),ln=ye(ji,Mi,Ai),Ii=new Set(["\u3092","\u306B","\u3067","\u304B\u3089","\u307E\u3067","\u3078","\u3068","\u306E","\u304C","\u306F","\u3082","\u3088\u308A"]),cn=new Set(["\u3092","\u306B","\u3067","\u3078","\u3068","\u306E","\u304C","\u306F","\u3082"]),mn=["\u304B\u3089","\u307E\u3067","\u3088\u308A"],dn=new Map([["\u3092",{role:"patient",confidence:.95,description:"object marker"}],["\u306B",{role:"destination",confidence:.85,description:"destination/time marker"}],["\u3067",{role:"manner",confidence:.88,description:"means/location marker"}],["\u304B\u3089",{role:"source",confidence:.9,description:"from/source marker"}],["\u307E\u3067",{role:"destination",confidence:.75,description:"until/boundary marker"}],["\u3078",{role:"destination",confidence:.9,description:"direction marker"}],["\u3068",{role:"style",confidence:.7,description:"with/and marker"}],["\u306E",{role:"destination",confidence:.75,description:"possessive/destination marker"}],["\u304C",{role:"agent",confidence:.85,description:"subject marker"}],["\u306F",{role:"agent",confidence:.75,description:"topic marker"}],["\u3082",{role:"patient",confidence:.65,description:"also/too marker"}],["\u3088\u308A",{role:"source",confidence:.85,description:"from/than marker"}]]),Vi=[{native:"\u771F",normalized:"true"},{native:"\u507D",normalized:"false"},{native:"\u30CC\u30EB",normalized:"null"},{native:"\u672A\u5B9A\u7FA9",normalized:"undefined"},{native:"\u6700\u521D",normalized:"first"},{native:"\u6700\u5F8C",normalized:"last"},{native:"\u6B21",normalized:"next"},{native:"\u524D",normalized:"previous"},{native:"\u6700\u3082\u8FD1\u3044",normalized:"closest"},{native:"\u89AA",normalized:"parent"},{native:"\u30AF\u30EA\u30C3\u30AF",normalized:"click"},{native:"\u5909\u66F4",normalized:"change"},{native:"\u9001\u4FE1",normalized:"submit"},{native:"\u5165\u529B",normalized:"input"},{native:"\u30ED\u30FC\u30C9",normalized:"load"},{native:"\u30B9\u30AF\u30ED\u30FC\u30EB",normalized:"scroll"},{native:"\u30AD\u30FC\u30C0\u30A6\u30F3",normalized:"keydown"},{native:"\u30AD\u30FC\u30A2\u30C3\u30D7",normalized:"keyup"},{native:"\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC",normalized:"mouseover"},{native:"\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8",normalized:"mouseout"},{native:"\u30D6\u30E9\u30FC",normalized:"blur"},{native:"\u79C1",normalized:"me"},{native:"\u79C1\u306E",normalized:"my"},{native:"\u305D\u306E",normalized:"its"},{native:"\u3057\u305F\u3089",normalized:"on"},{native:"\u3059\u308B\u3068",normalized:"on"},{native:"\u6642\u306B",normalized:"on"},{native:"\u3082\u3057",normalized:"if"},{native:"\u306A\u3089\u3070",normalized:"then"},{native:"\u306A\u3089",normalized:"then"},{native:"\u305D\u308C\u304B\u3089",normalized:"then"},{native:"\u305D\u3057\u3066",normalized:"and"},{native:"\u79D2",normalized:"s"},{native:"\u30DF\u30EA\u79D2",normalized:"ms"},{native:"\u5206",normalized:"m"},{native:"\u6642\u9593",normalized:"h"}],Oi=[{pattern:"\u30DF\u30EA\u79D2",suffix:"ms",length:3},{pattern:"\u6642\u9593",suffix:"h",length:2},{pattern:"\u79D2",suffix:"s",length:1},{pattern:"\u5206",suffix:"m",length:1}],st=class extends w{constructor(){super();this.language="ja";this.direction="ltr";this.initializeKeywordsFromProfile(ie,Vi),this.normalizer=new ze}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])){let o=this.extractJapaneseNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}let s=this.tryMultiCharParticle(e,n,mn);if(s){let o=dn.get(s.value);o?r.push({...s,metadata:{particleRole:o.role,particleConfidence:o.confidence}}):r.push(s),n=s.position.end;continue}if(cn.has(e[n])){let o=this.tryProfileKeyword(e,n);if(o&&o.value.length>1){r.push(o),n=o.position.end;continue}let l=e[n],c=dn.get(l);c?r.push({...u(l,"particle",p(n,n+1)),metadata:{particleRole:c.role,particleConfidence:c.confidence}}):r.push(u(l,"particle",p(n,n+1))),n++;continue}if(ln(e[n])){let o=this.extractJapaneseWord(e,n);if(o){r.push(o),n=o.position.end;continue}}if(x(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new b(r,"ja")}classifyToken(e){return Ii.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||e.startsWith("\u300C")||/^\d/.test(e)?"literal":"identifier"}extractJapaneseWord(e,r){let n=r,a="";for(;n<e.length;){let l=e[n];if(cn.has(l)&&a.length>0)break;let c=!1;for(let m of mn)if(e.slice(n,n+m.length)===m&&a.length>0){c=!0;break}if(c)break;if(ln(l))a+=l,n++;else break}if(!a)return null;let s=this.lookupKeyword(a);if(s)return u(a,"keyword",p(r,n),s.normalized);let o=this.tryMorphKeywordMatch(a,r,n);return o||u(a,"identifier",p(r,n))}extractAsciiWord(e,r){let n=r,a="";for(;n<e.length&&x(e[n]);)a+=e[n++];return a?u(a,"identifier",p(r,n)):null}extractJapaneseNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Oi,{allowSign:!1,skipWhitespace:!1})}},Ve=new st;R("ja",Ve,ie);var ae={code:"zh",name:"Chinese",nativeName:"\u4E2D\u6587",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!1,verb:{position:"second",subjectDrop:!0},references:{me:"\u6211",it:"\u5B83",you:"\u4F60",result:"\u7ED3\u679C",event:"\u4E8B\u4EF6",target:"\u76EE\u6807",body:"\u4E3B\u4F53"},possessive:{marker:"\u7684",markerPosition:"between",keywords:{\u6211\u7684:"me",\u4F60\u7684:"you",\u5B83\u7684:"it",\u4ED6\u7684:"it",\u5979\u7684:"it"}},roleMarkers:{destination:{primary:"\u5728",alternatives:["\u5230","\u4E8E"],position:"before"},source:{primary:"\u4ECE",alternatives:["\u7531"],position:"before"},patient:{primary:"\u628A",position:"before"},style:{primary:"\u7528",alternatives:["\u4EE5"],position:"before"}},keywords:{toggle:{primary:"\u5207\u6362",normalized:"toggle"},add:{primary:"\u6DFB\u52A0",alternatives:["\u52A0"],normalized:"add"},remove:{primary:"\u79FB\u9664",alternatives:["\u5220\u9664","\u53BB\u6389"],normalized:"remove"},put:{primary:"\u653E\u7F6E",alternatives:["\u653E","\u653E\u5165"],normalized:"put"},append:{primary:"\u8FFD\u52A0",alternatives:["\u9644\u52A0"],normalized:"append"},prepend:{primary:"\u524D\u7F6E",alternatives:["\u9884\u7F6E"],normalized:"prepend"},take:{primary:"\u83B7\u53D6",normalized:"take"},make:{primary:"\u5236\u4F5C",normalized:"make"},clone:{primary:"\u590D\u5236",normalized:"clone"},swap:{primary:"\u4EA4\u6362",normalized:"swap"},morph:{primary:"\u53D8\u5F62",alternatives:["\u8F6C\u6362"],normalized:"morph"},set:{primary:"\u8BBE\u7F6E",alternatives:["\u8BBE\u5B9A"],normalized:"set"},get:{primary:"\u83B7\u5F97",alternatives:["\u83B7\u53D6","\u53D6\u5F97"],normalized:"get"},increment:{primary:"\u589E\u52A0",normalized:"increment"},decrement:{primary:"\u51CF\u5C11",normalized:"decrement"},log:{primary:"\u65E5\u5FD7",normalized:"log"},show:{primary:"\u663E\u793A",alternatives:["\u5C55\u793A"],normalized:"show"},hide:{primary:"\u9690\u85CF",normalized:"hide"},transition:{primary:"\u8FC7\u6E21",normalized:"transition"},on:{primary:"\u5F53",alternatives:["\u5728...\u65F6"],normalized:"on"},trigger:{primary:"\u89E6\u53D1",normalized:"trigger"},send:{primary:"\u53D1\u9001",normalized:"send"},focus:{primary:"\u805A\u7126",normalized:"focus"},blur:{primary:"\u5931\u7126",normalized:"blur"},click:{primary:"\u70B9\u51FB",normalized:"click"},hover:{primary:"\u60AC\u505C",alternatives:["\u60AC\u6D6E"],normalized:"hover"},submit:{primary:"\u63D0\u4EA4",normalized:"submit"},input:{primary:"\u8F93\u5165",normalized:"input"},change:{primary:"\u6539\u53D8",alternatives:["\u53D8\u5316"],normalized:"change"},go:{primary:"\u524D\u5F80",normalized:"go"},wait:{primary:"\u7B49\u5F85",normalized:"wait"},fetch:{primary:"\u83B7\u53D6",normalized:"fetch"},settle:{primary:"\u7A33\u5B9A",normalized:"settle"},if:{primary:"\u5982\u679C",normalized:"if"},when:{primary:"\u5F53",normalized:"when"},where:{primary:"\u54EA\u91CC",normalized:"where"},else:{primary:"\u5426\u5219",normalized:"else"},repeat:{primary:"\u91CD\u590D",normalized:"repeat"},for:{primary:"\u4E3A",normalized:"for"},while:{primary:"\u5F53",normalized:"while"},continue:{primary:"\u7EE7\u7EED",normalized:"continue"},halt:{primary:"\u505C\u6B62",normalized:"halt"},throw:{primary:"\u629B\u51FA",normalized:"throw"},call:{primary:"\u8C03\u7528",normalized:"call"},return:{primary:"\u8FD4\u56DE",normalized:"return"},then:{primary:"\u7136\u540E",alternatives:["\u63A5\u7740","\u4E4B\u540E"],normalized:"then"},and:{primary:"\u5E76\u4E14",alternatives:["\u548C","\u800C\u4E14"],normalized:"and"},end:{primary:"\u7ED3\u675F",alternatives:["\u7EC8\u6B62","\u5B8C"],normalized:"end"},js:{primary:"JS\u6267\u884C",alternatives:["js"],normalized:"js"},async:{primary:"\u5F02\u6B65",normalized:"async"},tell:{primary:"\u544A\u8BC9",normalized:"tell"},default:{primary:"\u9ED8\u8BA4",normalized:"default"},init:{primary:"\u521D\u59CB\u5316",normalized:"init"},behavior:{primary:"\u884C\u4E3A",normalized:"behavior"},install:{primary:"\u5B89\u88C5",normalized:"install"},measure:{primary:"\u6D4B\u91CF",normalized:"measure"},into:{primary:"\u8FDB\u5165",normalized:"into"},before:{primary:"\u4E4B\u524D",normalized:"before"},after:{primary:"\u4E4B\u540E",normalized:"after"},until:{primary:"\u76F4\u5230",normalized:"until"},event:{primary:"\u4E8B\u4EF6",normalized:"event"},from:{primary:"\u4ECE",normalized:"from"}},tokenization:{boundaryStrategy:"character"},eventHandler:{keyword:{primary:"\u5F53",alternatives:["\u5728...\u65F6"],normalized:"on"},sourceMarker:{primary:"\u4ECE",position:"before"},eventMarker:{primary:"\u5F53",alternatives:["\u5728"],position:"before"},temporalMarkers:["\u5F53","\u5728...\u65F6"]}};var lt=A([[19968,40959],[13312,19903],[131072,173791],[63744,64255],[194560,195103]]),ct=new Set(["\u628A","\u5728","\u4ECE","\u5230","\u5411","\u7ED9","\u5BF9","\u7528","\u88AB","\u8BA9","\u7684","\u5730","\u5F97","\u4E86","\u7740","\u8FC7","\u5417","\u5462","\u5427"]),Wi=["\u7136\u540E","\u63A5\u7740","\u5E76\u4E14","\u6216\u8005","\u5982\u679C","\u90A3\u4E48","\u5426\u5219"],_i=[{native:"\u771F",normalized:"true"},{native:"\u5047",normalized:"false"},{native:"\u7A7A",normalized:"null"},{native:"\u672A\u5B9A\u4E49",normalized:"undefined"},{native:"\u7B2C\u4E00\u4E2A",normalized:"first"},{native:"\u9996\u4E2A",normalized:"first"},{native:"\u6700\u540E\u4E00\u4E2A",normalized:"last"},{native:"\u672B\u4E2A",normalized:"last"},{native:"\u4E0B\u4E00\u4E2A",normalized:"next"},{native:"\u4E0A\u4E00\u4E2A",normalized:"previous"},{native:"\u6700\u8FD1\u7684",normalized:"closest"},{native:"\u7236\u7EA7",normalized:"parent"},{native:"\u70B9\u51FB",normalized:"click"},{native:"\u53CC\u51FB",normalized:"dblclick"},{native:"\u8F93\u5165",normalized:"input"},{native:"\u53D8\u66F4",normalized:"change"},{native:"\u6539\u53D8",normalized:"change"},{native:"\u63D0\u4EA4",normalized:"submit"},{native:"\u6309\u952E",normalized:"keydown"},{native:"\u91CA\u653E\u952E",normalized:"keyup"},{native:"\u9F20\u6807\u79FB\u5165",normalized:"mouseover"},{native:"\u9F20\u6807\u79FB\u51FA",normalized:"mouseout"},{native:"\u83B7\u5F97\u7126\u70B9",normalized:"focus"},{native:"\u5931\u53BB\u7126\u70B9",normalized:"blur"},{native:"\u52A0\u8F7D",normalized:"load"},{native:"\u6EDA\u52A8",normalized:"scroll"},{native:"\u6211\u7684",normalized:"my"},{native:"\u5B83\u7684",normalized:"its"},{native:"\u79D2",normalized:"s"},{native:"\u6BEB\u79D2",normalized:"ms"},{native:"\u5206\u949F",normalized:"m"},{native:"\u5C0F\u65F6",normalized:"h"},{native:"\u548C",normalized:"and"},{native:"\u6216\u8005",normalized:"or"},{native:"\u6216",normalized:"or"},{native:"\u4E0D",normalized:"not"},{native:"\u975E",normalized:"not"},{native:"\u662F",normalized:"is"},{native:"\u82E5",normalized:"if"},{native:"\u4E0D\u7136",normalized:"else"},{native:"\u5FAA\u73AF",normalized:"repeat"},{native:"\u904D\u5386",normalized:"for"},{native:"\u6BCF\u4E2A",normalized:"for"},{native:"\u4E3A\u6BCF",normalized:"for"},{native:"\u4E2D\u6B62",normalized:"halt"},{native:"\u629B",normalized:"throw"},{native:"\u547C\u53EB",normalized:"call"},{native:"\u56DE",normalized:"return"},{native:"\u811A\u672C",normalized:"js"},{native:"\u901A\u77E5",normalized:"tell"},{native:"\u7F3A\u7701",normalized:"default"},{native:"\u521D\u59CB",normalized:"init"},{native:"\u52A8\u4F5C",normalized:"behavior"},{native:"\u6FC0\u53D1",normalized:"trigger"},{native:"\u5BF9\u7126",normalized:"focus"},{native:"\u6A21\u7CCA",normalized:"blur"},{native:"\u8DF3\u8F6C",normalized:"go"},{native:"\u5BFC\u822A",normalized:"go"},{native:"\u6293\u53D6",normalized:"fetch"},{native:"\u83B7\u53D6\u6570\u636E",normalized:"fetch"},{native:"\u5B89\u5B9A",normalized:"settle"},{native:"\u62FF\u53D6",normalized:"take"},{native:"\u53D6",normalized:"take"},{native:"\u521B\u5EFA",normalized:"make"},{native:"\u514B\u9686",normalized:"clone"},{native:"\u8BB0\u5F55",normalized:"log"},{native:"\u6253\u5370",normalized:"log"},{native:"\u52A8\u753B",normalized:"transition"},{native:"\u5230\u91CC\u9762",normalized:"into"},{native:"\u91CC",normalized:"into"},{native:"\u524D",normalized:"before"},{native:"\u540E",normalized:"after"},{native:"\u90A3\u4E48",normalized:"then"},{native:"\u5B8C",normalized:"end"}],Ki=[{pattern:"\u6BEB\u79D2",suffix:"ms",length:2},{pattern:"\u5206\u949F",suffix:"m",length:2},{pattern:"\u5C0F\u65F6",suffix:"h",length:2},{pattern:"\u79D2",suffix:"s",length:1},{pattern:"\u5206",suffix:"m",length:1}],mt=class extends w{constructor(){super();this.language="zh";this.direction="ltr";this.initializeKeywordsFromProfile(ae,_i)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])||e[n]==="\u201C"||e[n]==="\u201D"||e[n]==="\u2018"||e[n]==="\u2019"){let o=this.tryChineseString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])){let o=this.extractChineseNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}let s=this.tryMultiCharParticle(e,n,Wi);if(s){r.push(s),n=s.position.end;continue}if(lt(e[n])){let o=this.extractChineseWord(e,n);if(o){r.push(o),n=o.position.end;continue}}if(x(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new b(r,"zh")}classifyToken(e){return ct.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||e.startsWith("\u201C")||e.startsWith("\u2018")||/^\d/.test(e)?"literal":"identifier"}extractChineseWord(e,r){for(let s of this.profileKeywords){let o=s.native,l=e.slice(r,r+o.length);if(l===o){let c=!0;for(let m=0;m<o.length;m++)if(!lt(o[m])){c=!1;break}if(c)return u(l,"keyword",p(r,r+o.length),s.normalized)}}let n=r,a="";for(;n<e.length;){let s=e[n];if(ct.has(s)&&a.length>0)break;if(lt(s))a+=s,n++;else break}return a?ct.has(a)?u(a,"particle",p(r,n)):u(a,"identifier",p(r,n)):null}extractAsciiWord(e,r){let n=r,a="";for(;n<e.length&&x(e[n]);)a+=e[n++];return a?u(a,"identifier",p(r,n)):null}tryChineseString(e,r){let n=e[r];if(n==='"'||n==="'"||n==="`")return this.tryString(e,r);if(n==="\u201C"){let a=r+1;for(;a<e.length&&e[a]!=="\u201D";)a++;if(a>=e.length)return null;let s=e.slice(r,a+1);return u(s,"literal",p(r,a+1))}if(n==="\u2018"){let a=r+1;for(;a<e.length&&e[a]!=="\u2019";)a++;if(a>=e.length)return null;let s=e.slice(r,a+1);return u(s,"literal",p(r,a+1))}return null}extractChineseNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Ki,{allowSign:!1,skipWhitespace:!1})}},Oe=new mt;R("zh",Oe,ae);function qi(i){let t=i.charCodeAt(0);return t>=44032&&t<=55203}function Ui(i){for(let t of i)if(qi(t))return!0;return!1}var Bi=[{pattern:"\uD558\uC2DC\uB2C8\uAE4C",confidence:.85,conjugationType:"honorific-causal",minStemLength:1},{pattern:"\uD558\uC2E4\uB54C",confidence:.88,conjugationType:"honorific-temporal",minStemLength:1},{pattern:"\uD558\uC2E4 \uB54C",confidence:.88,conjugationType:"honorific-temporal",minStemLength:1},{pattern:"\uD558\uC2DC\uBA74",confidence:.88,conjugationType:"honorific-conditional",minStemLength:1},{pattern:"\uC73C\uC2DC\uBA74",confidence:.85,conjugationType:"honorific-conditional",minStemLength:2},{pattern:"\uC2DC\uBA74",confidence:.82,conjugationType:"honorific-conditional",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uD558\uACE0 \uB098\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uD558\uACE0\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uACE0\uB098\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uACE0 \uB098\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uACE0\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uAE30\uC804\uC5D0",confidence:.85,conjugationType:"sequential-before",minStemLength:1},{pattern:"\uD558\uAE30 \uC804\uC5D0",confidence:.85,conjugationType:"sequential-before",minStemLength:1},{pattern:"\uAE30\uC804\uC5D0",confidence:.82,conjugationType:"sequential-before",minStemLength:2},{pattern:"\uAE30 \uC804\uC5D0",confidence:.82,conjugationType:"sequential-before",minStemLength:2},{pattern:"\uD558\uC790\uB9C8\uC790",confidence:.88,conjugationType:"immediate",minStemLength:1},{pattern:"\uC790\uB9C8\uC790",confidence:.85,conjugationType:"immediate",minStemLength:2},{pattern:"\uD574\uC57C\uD574\uC694",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uD574\uC57C\uD574",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uD574\uC57C\uD558\uB2E4",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uC5B4\uC57C\uD574\uC694",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC5B4\uC57C\uD574",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC544\uC57C\uD574\uC694",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC544\uC57C\uD574",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uD558\uB2C8\uAE4C",confidence:.85,conjugationType:"causal-nikka",minStemLength:1},{pattern:"\uD560\uB54C",confidence:.88,conjugationType:"temporal-ttae",minStemLength:1},{pattern:"\uD560 \uB54C",confidence:.88,conjugationType:"temporal-ttae",minStemLength:1},{pattern:"\uC744\uB54C",confidence:.85,conjugationType:"temporal-ttae",minStemLength:2},{pattern:"\uC744 \uB54C",confidence:.85,conjugationType:"temporal-ttae",minStemLength:2},{pattern:"\uD558\uBA74",confidence:.88,conjugationType:"conditional-myeon",minStemLength:1},{pattern:"\uC73C\uBA74",confidence:.85,conjugationType:"conditional-myeon",minStemLength:2},{pattern:"\uB2C8\uAE4C",confidence:.82,conjugationType:"causal-nikka",minStemLength:2},{pattern:"\uBA74",confidence:.8,conjugationType:"conditional-myeon",minStemLength:2},{pattern:"\uD558\uC600\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD588\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD569\uB2C8\uB2E4",confidence:.85,conjugationType:"polite",minStemLength:1},{pattern:"\uC2B5\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uB429\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:1},{pattern:"\u3142\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uD558\uC138\uC694",confidence:.85,conjugationType:"honorific",minStemLength:1},{pattern:"\uD558\uC2ED\uC2DC\uC624",confidence:.85,conjugationType:"honorific",minStemLength:1},{pattern:"\uC138\uC694",confidence:.82,conjugationType:"honorific",minStemLength:2},{pattern:"\uC2ED\uC2DC\uC624",confidence:.82,conjugationType:"honorific",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5B4\uC694",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uD558\uACE0\uC788\uC5B4",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uD588\uC5B4\uC694",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD574\uC694",confidence:.85,conjugationType:"polite",minStemLength:1},{pattern:"\uC5B4\uC694",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uC544\uC694",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uD588\uC5B4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD574",confidence:.8,conjugationType:"present",minStemLength:1},{pattern:"\uC5C8\uC5B4",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\uC558\uC5B4",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uB2E4",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uACE0\uC788\uB2E4",confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uACE0\uC788\uC5B4",confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uD558\uB2E4",confidence:.88,conjugationType:"dictionary",minStemLength:1},{pattern:"\uD558\uC9C0\uC54A\uB2E4",confidence:.82,conjugationType:"negative",minStemLength:1},{pattern:"\uC548\uD558\uB2E4",confidence:.82,conjugationType:"negative",minStemLength:1},{pattern:"\uC9C0\uC54A\uB2E4",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"\uD574\uB77C",confidence:.82,conjugationType:"imperative",minStemLength:1},{pattern:"\uD558\uB77C",confidence:.82,conjugationType:"imperative",minStemLength:1},{pattern:"\uB2E4",confidence:.75,conjugationType:"dictionary",minStemLength:2}],$i=[{pattern:"\uD558\uC2DC\uB2C8\uAE4C",confidence:.88,conjugationType:"honorific-causal"},{pattern:"\uD558\uC2E4\uB54C",confidence:.88,conjugationType:"honorific-temporal"},{pattern:"\uD558\uC2E4 \uB54C",confidence:.88,conjugationType:"honorific-temporal"},{pattern:"\uD558\uC2DC\uBA74",confidence:.88,conjugationType:"honorific-conditional"},{pattern:"\uD558\uC168\uC5B4\uC694",confidence:.85,conjugationType:"honorific-past"},{pattern:"\uD558\uC168\uC5B4",confidence:.85,conjugationType:"honorific-past"},{pattern:"\uD558\uC2ED\uB2C8\uB2E4",confidence:.85,conjugationType:"honorific-polite"},{pattern:"\uD558\uACE0\uB098\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uACE0 \uB098\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uACE0\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uAE30\uC804\uC5D0",confidence:.88,conjugationType:"sequential-before"},{pattern:"\uD558\uAE30 \uC804\uC5D0",confidence:.88,conjugationType:"sequential-before"},{pattern:"\uD558\uC790\uB9C8\uC790",confidence:.88,conjugationType:"immediate"},{pattern:"\uD574\uC57C\uD574\uC694",confidence:.88,conjugationType:"obligation"},{pattern:"\uD574\uC57C\uD574",confidence:.88,conjugationType:"obligation"},{pattern:"\uD574\uC57C\uD558\uB2E4",confidence:.88,conjugationType:"obligation"},{pattern:"\uD558\uB2C8\uAE4C",confidence:.88,conjugationType:"causal-nikka"},{pattern:"\uD560\uB54C",confidence:.88,conjugationType:"temporal-ttae"},{pattern:"\uD560 \uB54C",confidence:.88,conjugationType:"temporal-ttae"},{pattern:"\uD558\uBA74",confidence:.88,conjugationType:"conditional-myeon"},{pattern:"\uD558\uC600\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past"},{pattern:"\uD588\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past"},{pattern:"\uD569\uB2C8\uB2E4",confidence:.85,conjugationType:"polite"},{pattern:"\uD558\uC2ED\uC2DC\uC624",confidence:.85,conjugationType:"honorific"},{pattern:"\uD558\uC138\uC694",confidence:.85,conjugationType:"honorific"},{pattern:"\uD588\uC5B4\uC694",confidence:.85,conjugationType:"past"},{pattern:"\uD574\uC694",confidence:.85,conjugationType:"polite"},{pattern:"\uD588\uC5B4",confidence:.85,conjugationType:"past"},{pattern:"\uD574",confidence:.8,conjugationType:"present"},{pattern:"\uD558\uACE0\uC788\uC5B4\uC694",confidence:.82,conjugationType:"progressive"},{pattern:"\uD558\uACE0\uC788\uC5B4",confidence:.82,conjugationType:"progressive"},{pattern:"\uD558\uACE0\uC788\uB2E4",confidence:.82,conjugationType:"progressive"},{pattern:"\uD574\uC11C",confidence:.82,conjugationType:"connective"},{pattern:"\uD558\uACE0",confidence:.8,conjugationType:"connective"},{pattern:"\uD558\uC9C0\uC54A\uC544\uC694",confidence:.82,conjugationType:"negative"},{pattern:"\uD558\uC9C0\uC54A\uB2E4",confidence:.82,conjugationType:"negative"},{pattern:"\uC548\uD574\uC694",confidence:.82,conjugationType:"negative"},{pattern:"\uC548\uD574",confidence:.82,conjugationType:"negative"},{pattern:"\uD574\uB77C",confidence:.82,conjugationType:"imperative"},{pattern:"\uD558\uB77C",confidence:.82,conjugationType:"imperative"},{pattern:"\uD558\uB2E4",confidence:.88,conjugationType:"dictionary"}],Te=class{constructor(){this.language="ko"}isNormalizable(t){return!(!Ui(t)||t.length<2)}normalize(t){let e=this.normalizeCompound(t);if(e)return e;let r=this.tryHadaNormalization(t);if(r)return r;for(let n of Bi)if(t.endsWith(n.pattern)){let a=t.slice(0,-n.pattern.length),s=n.minStemLength??2;if(a.length<s)continue;let o={removedSuffixes:[n.pattern]};return n.conjugationType&&(o.conjugationType=n.conjugationType),j(a,n.confidence,o)}return V(t)}tryHadaNormalization(t){for(let e of $i)if(t.endsWith(e.pattern)){let r=t.slice(0,-e.pattern.length);if(r.length<1)continue;return j(r,e.confidence,{removedSuffixes:[e.pattern],conjugationType:e.conjugationType,originalForm:"hada-verb"})}return null}normalizeCompound(t){let e=[{pattern:"\uD558\uACE0\uB098\uC11C\uC600\uC5B4",suffixes:["\uD558\uACE0\uB098\uC11C","\uC600\uC5B4"],confidence:.78,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C\uC600\uB2E4",suffixes:["\uD558\uACE0\uB098\uC11C","\uC600\uB2E4"],confidence:.78,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C",suffixes:["\uD558\uACE0","\uB098\uC11C"],confidence:.85,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uC5B4",suffixes:["\uD574\uC57C","\uD588\uC5B4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uB2E4",suffixes:["\uD574\uC57C","\uD588\uB2E4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uC2B5\uB2C8\uB2E4",suffixes:["\uD574\uC57C","\uD588\uC2B5\uB2C8\uB2E4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD558\uC2DC\uBA74\uC11C",suffixes:["\uD558\uC2DC","\uBA74\uC11C"],confidence:.82,conjugationType:"connective",minStemLength:2},{pattern:"\uD558\uC2DC\uBA70",suffixes:["\uD558\uC2DC","\uBA70"],confidence:.82,conjugationType:"connective",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5C8\uC5B4",suffixes:["\uD558\uACE0","\uC788\uC5C8\uC5B4"],confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5C8\uB2E4",suffixes:["\uD558\uACE0","\uC788\uC5C8\uB2E4"],confidence:.8,conjugationType:"progressive",minStemLength:2}];for(let{pattern:r,suffixes:n,confidence:a,conjugationType:s,minStemLength:o}of e)if(t.endsWith(r)){let l=t.slice(0,-r.length);if(l.length<o)continue;return j(l,a,{removedSuffixes:n,conjugationType:s})}return null}},il=new Te;var oe={code:"ko",name:"Korean",nativeName:"\uD55C\uAD6D\uC5B4",direction:"ltr",wordOrder:"SOV",markingStrategy:"particle",usesSpaces:!0,verb:{position:"end",suffixes:["\uB2E4","\uC694","\uB2C8\uB2E4","\uC138\uC694"],subjectDrop:!0},references:{me:"\uB098",it:"\uADF8\uAC83",you:"\uB108",result:"\uACB0\uACFC",event:"\uC774\uBCA4\uD2B8",target:"\uB300\uC0C1",body:"\uBCF8\uBB38"},possessive:{marker:"\uC758",markerPosition:"between",specialForms:{me:"\uB0B4",it:"\uADF8\uAC83\uC758",you:"\uB124"},keywords:{\uB0B4:"me",\uB124:"you",\uADF8\uC758:"it"}},roleMarkers:{patient:{primary:"\uC744",alternatives:["\uB97C"],position:"after"},destination:{primary:"\uC5D0",alternatives:["\uC73C\uB85C","\uB85C","\uC5D0\uC11C","\uC758"],position:"after"},source:{primary:"\uC5D0\uC11C",alternatives:["\uBD80\uD130"],position:"after"},style:{primary:"\uB85C",alternatives:["\uC73C\uB85C"],position:"after"},event:{primary:"\uC744",alternatives:["\uB97C"],position:"after"}},keywords:{toggle:{primary:"\uD1A0\uAE00",alternatives:["\uC804\uD658"],normalized:"toggle"},add:{primary:"\uCD94\uAC00",normalized:"add"},remove:{primary:"\uC81C\uAC70",alternatives:["\uC0AD\uC81C"],normalized:"remove"},put:{primary:"\uB123\uB2E4",alternatives:["\uB123\uAE30","\uB193\uAE30"],normalized:"put"},append:{primary:"\uCD94\uAC00",normalized:"append"},take:{primary:"\uAC00\uC838\uC624\uB2E4",normalized:"take"},make:{primary:"\uB9CC\uB4E4\uB2E4",normalized:"make"},clone:{primary:"\uBCF5\uC0AC",normalized:"clone"},swap:{primary:"\uAD50\uD658",alternatives:["\uBC14\uAFB8\uB2E4"],normalized:"swap"},morph:{primary:"\uBCC0\uD615",alternatives:["\uBCC0\uD658"],normalized:"morph"},set:{primary:"\uC124\uC815",normalized:"set"},get:{primary:"\uC5BB\uB2E4",alternatives:["\uAC00\uC838\uC624\uAE30"],normalized:"get"},increment:{primary:"\uC99D\uAC00",normalized:"increment"},decrement:{primary:"\uAC10\uC18C",normalized:"decrement"},log:{primary:"\uB85C\uADF8",normalized:"log"},show:{primary:"\uBCF4\uC774\uB2E4",alternatives:["\uD45C\uC2DC","\uBCF4\uC774\uAE30"],normalized:"show"},hide:{primary:"\uC228\uAE30\uB2E4",alternatives:["\uC228\uAE30\uAE30"],normalized:"hide"},transition:{primary:"\uC804\uD658",normalized:"transition"},on:{primary:"\uC5D0",alternatives:["\uC2DC","\uB54C","\uD560 \uB54C"],normalized:"on"},trigger:{primary:"\uD2B8\uB9AC\uAC70",normalized:"trigger"},send:{primary:"\uBCF4\uB0B4\uB2E4",normalized:"send"},focus:{primary:"\uD3EC\uCEE4\uC2A4",normalized:"focus"},blur:{primary:"\uBE14\uB7EC",normalized:"blur"},click:{primary:"\uD074\uB9AD",normalized:"click"},hover:{primary:"\uD638\uBC84",normalized:"hover"},submit:{primary:"\uC81C\uCD9C",normalized:"submit"},input:{primary:"\uC785\uB825",normalized:"input"},change:{primary:"\uBCC0\uACBD",normalized:"change"},go:{primary:"\uC774\uB3D9",normalized:"go"},wait:{primary:"\uB300\uAE30",normalized:"wait"},fetch:{primary:"\uAC00\uC838\uC624\uAE30",normalized:"fetch"},settle:{primary:"\uC548\uC815",normalized:"settle"},if:{primary:"\uB9CC\uC57D",normalized:"if"},when:{primary:"\uB54C",normalized:"when"},where:{primary:"\uC5B4\uB514",normalized:"where"},else:{primary:"\uC544\uB2C8\uBA74",normalized:"else"},repeat:{primary:"\uBC18\uBCF5",normalized:"repeat"},for:{primary:"\uB3D9\uC548",normalized:"for"},while:{primary:"\uB3D9\uC548",normalized:"while"},continue:{primary:"\uACC4\uC18D",normalized:"continue"},halt:{primary:"\uC815\uC9C0",normalized:"halt"},throw:{primary:"\uB358\uC9C0\uB2E4",normalized:"throw"},call:{primary:"\uD638\uCD9C",normalized:"call"},return:{primary:"\uBC18\uD658",normalized:"return"},then:{primary:"\uADF8\uB2E4\uC74C",alternatives:["\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4"],normalized:"then"},and:{primary:"\uADF8\uB9AC\uACE0",alternatives:["\uB610\uD55C","\uBC0F"],normalized:"and"},end:{primary:"\uB05D",alternatives:["\uC885\uB8CC","\uB9C8\uCE68"],normalized:"end"},js:{primary:"JS\uC2E4\uD589",alternatives:["js"],normalized:"js"},async:{primary:"\uBE44\uB3D9\uAE30",normalized:"async"},tell:{primary:"\uB9D0\uD558\uB2E4",normalized:"tell"},default:{primary:"\uAE30\uBCF8\uAC12",normalized:"default"},init:{primary:"\uCD08\uAE30\uD654",normalized:"init"},behavior:{primary:"\uB3D9\uC791",normalized:"behavior"},install:{primary:"\uC124\uCE58",normalized:"install"},measure:{primary:"\uCE21\uC815",normalized:"measure"},into:{primary:"\uC73C\uB85C",normalized:"into"},before:{primary:"\uC804\uC5D0",normalized:"before"},after:{primary:"\uD6C4\uC5D0",normalized:"after"},until:{primary:"\uAE4C\uC9C0",normalized:"until"},event:{primary:"\uC774\uBCA4\uD2B8",normalized:"event"},from:{primary:"\uC5D0\uC11C",normalized:"from"}},tokenization:{particles:["\uC744","\uB97C","\uC774","\uAC00","\uC740","\uB294","\uC5D0","\uC5D0\uC11C","\uC73C\uB85C","\uB85C","\uC640","\uACFC","\uB3C4"],boundaryStrategy:"space"},eventHandler:{eventMarker:{primary:"\uD560 \uB54C",alternatives:["\uD560\uB54C","\uB54C","\uC5D0"],position:"after"},temporalMarkers:["\uD560 \uB54C","\uD560\uB54C","\uB54C"]}};var Fi=A([[44032,55203]]),Gi=A([[4352,4607],[12592,12687]]),se=ye(Fi,Gi),dt=new Set(["\uC774","\uAC00","\uC744","\uB97C","\uC740","\uB294","\uC5D0","\uC5D0\uC11C","\uB85C","\uC73C\uB85C","\uC640","\uACFC","\uC758","\uB3C4","\uB9CC","\uBD80\uD130","\uAE4C\uC9C0","\uCC98\uB7FC","\uBCF4\uB2E4"]),We=new Set(["\uC774","\uAC00","\uC744","\uB97C","\uC740","\uB294","\uC5D0","\uB85C","\uC640","\uACFC","\uC758","\uB3C4","\uB9CC"]),pn=["\uC5D0\uC11C","\uC73C\uB85C","\uBD80\uD130","\uAE4C\uC9C0","\uCC98\uB7FC","\uBCF4\uB2E4"],Hi=["\uD560\uB54C","\uD558\uBA74","\uD558\uB2C8\uAE4C","\uD560 \uB54C"],un=new Map([["\uC774",{role:"agent",confidence:.85,variant:"consonant",description:"subject marker (after consonant)"}],["\uAC00",{role:"agent",confidence:.85,variant:"vowel",description:"subject marker (after vowel)"}],["\uC744",{role:"patient",confidence:.95,variant:"consonant",description:"object marker (after consonant)"}],["\uB97C",{role:"patient",confidence:.95,variant:"vowel",description:"object marker (after vowel)"}],["\uC740",{role:"agent",confidence:.75,variant:"consonant",description:"topic marker (after consonant)"}],["\uB294",{role:"agent",confidence:.75,variant:"vowel",description:"topic marker (after vowel)"}],["\uC5D0",{role:"destination",confidence:.85,description:"at/to marker"}],["\uC5D0\uC11C",{role:"source",confidence:.8,description:"at/from marker (action location)"}],["\uB85C",{role:"destination",confidence:.85,variant:"vowel",description:"to/by means (after vowel or \u3139)"}],["\uC73C\uB85C",{role:"destination",confidence:.85,variant:"consonant",description:"to/by means (after consonant)"}],["\uC640",{role:"style",confidence:.7,variant:"vowel",description:"and/with (after vowel)"}],["\uACFC",{role:"style",confidence:.7,variant:"consonant",description:"and/with (after consonant)"}],["\uC758",{role:"patient",confidence:.6,description:"possessive marker"}],["\uB3C4",{role:"patient",confidence:.65,description:"also/too marker"}],["\uB9CC",{role:"patient",confidence:.65,description:"only marker"}],["\uBD80\uD130",{role:"source",confidence:.9,description:"from/since marker"}],["\uAE4C\uC9C0",{role:"destination",confidence:.75,description:"until/to marker"}],["\uCC98\uB7FC",{role:"manner",confidence:.8,description:"like/as marker"}],["\uBCF4\uB2E4",{role:"source",confidence:.75,description:"than marker"}]]),Di=[{native:"\uCC38",normalized:"true"},{native:"\uAC70\uC9D3",normalized:"false"},{native:"\uB110",normalized:"null"},{native:"\uBBF8\uC815\uC758",normalized:"undefined"},{native:"\uCCAB\uBC88\uC9F8",normalized:"first"},{native:"\uB9C8\uC9C0\uB9C9",normalized:"last"},{native:"\uB2E4\uC74C",normalized:"next"},{native:"\uC774\uC804",normalized:"previous"},{native:"\uAC00\uC7A5\uAC00\uAE4C\uC6B4",normalized:"closest"},{native:"\uBD80\uBAA8",normalized:"parent"},{native:"\uD074\uB9AD",normalized:"click"},{native:"\uB354\uBE14\uD074\uB9AD",normalized:"dblclick"},{native:"\uBCC0\uACBD",normalized:"change"},{native:"\uC81C\uCD9C",normalized:"submit"},{native:"\uC785\uB825",normalized:"input"},{native:"\uB85C\uB4DC",normalized:"load"},{native:"\uC2A4\uD06C\uB864",normalized:"scroll"},{native:"\uD0A4\uB2E4\uC6B4",normalized:"keydown"},{native:"\uD0A4\uC5C5",normalized:"keyup"},{native:"\uB9C8\uC6B0\uC2A4\uC624\uBC84",normalized:"mouseover"},{native:"\uB9C8\uC6B0\uC2A4\uC544\uC6C3",normalized:"mouseout"},{native:"\uB0B4",normalized:"my"},{native:"\uADF8\uAC83\uC758",normalized:"its"},{native:"\uADF8\uB9AC\uACE0",normalized:"and"},{native:"\uB610\uB294",normalized:"or"},{native:"\uC544\uB2C8",normalized:"not"},{native:"\uC774\uB2E4",normalized:"is"},{native:"\uCD08",normalized:"s"},{native:"\uBC00\uB9AC\uCD08",normalized:"ms"},{native:"\uBD84",normalized:"m"},{native:"\uC2DC\uAC04",normalized:"h"}],Xi=[{pattern:"\uBC00\uB9AC\uCD08",suffix:"ms",length:3},{pattern:"\uC2DC\uAC04",suffix:"h",length:2},{pattern:"\uCD08",suffix:"s",length:1},{pattern:"\uBD84",suffix:"m",length:1}],pt=class extends w{constructor(){super();this.language="ko";this.direction="ltr";this.initializeKeywordsFromProfile(oe,Di),this.normalizer=new Te}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])){let o=this.extractKoreanNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}if(se(e[n])){let o=this.extractKoreanWord(e,n);if(o){let l=this.trySplitTemporalSuffix(o);l?(r.push(l.stemToken),r.push(l.suffixToken)):r.push(o),n=o.position.end;continue}}let s=this.tryMultiCharParticle(e,n,pn);if(s){let o=un.get(s.value);o?r.push({...s,metadata:{particleRole:o.role,particleConfidence:o.confidence,particleVariant:o.variant}}):r.push(s),n=s.position.end;continue}if(We.has(e[n])){let o=e[n],l=un.get(o);l?r.push({...u(o,"particle",p(n,n+1)),metadata:{particleRole:l.role,particleConfidence:l.confidence,particleVariant:l.variant}}):r.push(u(o,"particle",p(n,n+1))),n++;continue}if(x(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new b(r,"ko")}classifyToken(e){return dt.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractKoreanWord(e,r){for(let c=Math.min(6,e.length-r);c>=2;c--){let m=e.slice(r,r+c),v=!0;for(let f=0;f<m.length;f++)if(!se(m[f])){v=!1;break}if(!v)continue;if(dt.has(m)&&r===r){let f=r+c,y=f<e.length?e[f]:"";if(y===""||k(y)||!se(y))return null}let h=this.lookupKeyword(m);if(h)return u(m,"keyword",p(r,r+c),h.normalized);let g=this.tryMorphKeywordMatch(m,r,r+c);if(g)return g}let a=r,s="";for(;a<e.length;){let c=e[a],m=a+1<e.length?e[a+1]:"";if(s.length===0&&We.has(c))return null;if(We.has(c)&&s.length>0&&(m===""||k(m)||!se(m)||We.has(m)))break;let v=!1;for(let h of pn)if(e.slice(a,a+h.length)===h&&s.length>0){let g=a+h.length,f=g<e.length?e[g]:"";if(f===""||k(f)||!se(f)){v=!0;break}}if(v)break;if(se(c))s+=c,a++;else break}if(!s||dt.has(s))return null;let o=this.lookupKeyword(s);if(o)return u(s,"keyword",p(r,a),o.normalized);let l=this.tryMorphKeywordMatch(s,r,a);return l||u(s,"identifier",p(r,a))}extractAsciiWord(e,r){let n=r,a="";for(;n<e.length&&x(e[n]);)a+=e[n++];return a?u(a,"identifier",p(r,n)):null}extractKoreanNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Xi,{allowSign:!1,skipWhitespace:!1})}trySplitTemporalSuffix(e){let r=e.value;for(let n of Hi)if(r.endsWith(n)&&r.length>n.length){let a=r.slice(0,-n.length),s=a.toLowerCase(),o=this.lookupKeyword(s);if(!o)continue;let l=e.position.start+a.length,c=u(a,"keyword",p(e.position.start,l),o.normalized),m=u(n,"keyword",p(l,e.position.end),"when");return{stemToken:c,suffixToken:m}}return null}},_e=new pt;R("ko",_e,oe);function Qi(i){let t=i.charCodeAt(0);return t>=1536&&t<=1791||t>=1872&&t<=1919||t>=2208&&t<=2303||t>=64336&&t<=65023||t>=65136&&t<=65279}function Zi(i){for(let t of i)if(Qi(t))return!0;return!1}function Ji(i){return i.replace(/[\u064B-\u0652\u0670]/g,"")}var Yi=[{pattern:"\u0648\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0641\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0628\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0643\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0644\u0644",confidencePenalty:.12,prefixType:"preposition"}],ea=[{pattern:"\u0627\u0644",confidencePenalty:.08,prefixType:"article",minRemaining:2},{pattern:"\u0648",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0641",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0628",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0644",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0643",confidencePenalty:.1,prefixType:"preposition",minRemaining:3}],ta=[{pattern:"\u064A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u062A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0646",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0623",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0627",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3}],na=[{pattern:"\u0648\u0646",confidencePenalty:.1,type:"masculine-plural"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"masculine-plural-accusative"},{pattern:"\u0627\u062A",confidencePenalty:.1,type:"feminine-plural"},{pattern:"\u0627\u0646",confidencePenalty:.1,type:"dual-nominative"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"dual-accusative"},{pattern:"\u0647\u0627",confidencePenalty:.1,type:"pronoun-her"},{pattern:"\u0647\u0645",confidencePenalty:.1,type:"pronoun-them"},{pattern:"\u0647\u0646",confidencePenalty:.1,type:"pronoun-them-f"},{pattern:"\u0646\u0627",confidencePenalty:.1,type:"pronoun-us"},{pattern:"\u0643\u0645",confidencePenalty:.1,type:"pronoun-you-pl"},{pattern:"\u0643",confidencePenalty:.08,type:"pronoun-you"},{pattern:"\u0647",confidencePenalty:.08,type:"pronoun-him"},{pattern:"\u064A",confidencePenalty:.08,type:"pronoun-me"},{pattern:"\u0629",confidencePenalty:.08,type:"feminine"}],Se=class{constructor(){this.language="ar"}isNormalizable(t){return!(!Zi(t)||t.length<2)}normalize(t){let e=Ji(t),r=1,n=[],a=[];for(let o of Yi)if(e.startsWith(o.pattern)){let l=e.slice(o.pattern.length);if(l.length>=2){e=l,r-=o.confidencePenalty,n.push(o.pattern);break}}if(n.length===0){for(let o of ea)if(e.startsWith(o.pattern)){let l=e.slice(o.pattern.length),c=o.minRemaining??2;if(l.length>=c){e=l,r-=o.confidencePenalty,n.push(o.pattern);break}}}if(!(e.endsWith("\u0627\u062A")||e.endsWith("\u0629")||e.endsWith("\u0648\u0646")||e.endsWith("\u064A\u0646")||e.endsWith("\u0647\u0627")||e.endsWith("\u0647\u0645")||e.endsWith("\u0647\u0646")||e.endsWith("\u0646\u0627")||e.endsWith("\u0643\u0645"))&&(n.length===0||n[0]==="\u0648"||n[0]==="\u0641")){for(let o of ta)if(e.startsWith(o.pattern)){let l=e.slice(o.pattern.length),c=o.minRemaining??3;if(l.length>=c){e=l,r-=o.confidencePenalty,n.push(o.pattern);break}}}for(let o of na)if(e.endsWith(o.pattern)){let l=e.slice(0,-o.pattern.length);l.length>=2&&(e=l,r-=o.confidencePenalty,a.push(o.pattern))}return r=Math.max(.5,r),n.length===0&&a.length===0?V(t):j(e,r,{removedPrefixes:n,removedSuffixes:a})}},yl=new Se;var le={code:"ar",name:"Arabic",nativeName:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",direction:"rtl",wordOrder:"VSO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"\u0623\u0646\u0627",it:"\u0647\u0648",you:"\u0623\u0646\u062A",result:"\u0627\u0644\u0646\u062A\u064A\u062C\u0629",event:"\u0627\u0644\u062D\u062F\u062B",target:"\u0627\u0644\u0647\u062F\u0641",body:"\u0627\u0644\u062C\u0633\u0645"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"\u0644\u064A",it:"\u0644\u0647",you:"\u0644\u0643"},keywords:{\u0644\u064A:"me",\u0644\u0643:"you",\u0644\u0647:"it",\u0644\u0647\u0627:"it"}},roleMarkers:{destination:{primary:"\u0639\u0644\u0649",alternatives:["\u0641\u064A","\u0625\u0644\u0649","\u0628"],position:"before"},source:{primary:"\u0645\u0646",position:"before"},patient:{primary:"",position:"before"},style:{primary:"\u0628\u0640",alternatives:["\u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645"],position:"before"}},keywords:{toggle:{primary:"\u0628\u062F\u0651\u0644",alternatives:["\u0628\u062F\u0644","\u063A\u064A\u0651\u0631","\u063A\u064A\u0631"],normalized:"toggle"},add:{primary:"\u0623\u0636\u0641",alternatives:["\u0627\u0636\u0641","\u0632\u0650\u062F"],normalized:"add"},remove:{primary:"\u0627\u062D\u0630\u0641",alternatives:["\u0623\u0632\u0644","\u0627\u0645\u0633\u062D"],normalized:"remove"},put:{primary:"\u0636\u0639",alternatives:["\u0627\u062C\u0639\u0644"],normalized:"put"},append:{primary:"\u0623\u0644\u062D\u0642",normalized:"append"},prepend:{primary:"\u0633\u0628\u0642",normalized:"prepend"},take:{primary:"\u062E\u0630",normalized:"take"},make:{primary:"\u0627\u0635\u0646\u0639",alternatives:["\u0623\u0646\u0634\u0626"],normalized:"make"},clone:{primary:"\u0627\u0633\u062A\u0646\u0633\u062E",alternatives:["\u0627\u0646\u0633\u062E"],normalized:"clone"},swap:{primary:"\u0627\u0633\u062A\u0628\u062F\u0644",alternatives:["\u062A\u0628\u0627\u062F\u0644"],normalized:"swap"},morph:{primary:"\u062D\u0648\u0651\u0644",alternatives:["\u063A\u064A\u0651\u0631"],normalized:"morph"},set:{primary:"\u0627\u0636\u0628\u0637",alternatives:["\u0639\u064A\u0651\u0646","\u062D\u062F\u062F"],normalized:"set"},get:{primary:"\u0627\u062D\u0635\u0644",normalized:"get"},increment:{primary:"\u0632\u0650\u062F",alternatives:["\u0632\u062F","\u0627\u0631\u0641\u0639"],normalized:"increment"},decrement:{primary:"\u0623\u0646\u0642\u0635",alternatives:["\u0627\u0646\u0642\u0635","\u0642\u0644\u0644"],normalized:"decrement"},log:{primary:"\u0633\u062C\u0644",normalized:"log"},show:{primary:"\u0627\u0638\u0647\u0631",alternatives:["\u0623\u0638\u0647\u0631","\u0627\u0639\u0631\u0636"],normalized:"show"},hide:{primary:"\u0627\u062E\u0641",alternatives:["\u0623\u062E\u0641\u0650","\u0627\u062E\u0641\u064A","\u0623\u062E\u0641"],normalized:"hide"},transition:{primary:"\u0627\u0646\u062A\u0642\u0627\u0644",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"transition"},on:{primary:"\u0639\u0644\u0649",alternatives:["\u0639\u0646\u062F","\u0644\u062F\u0649","\u062D\u064A\u0646"],normalized:"on"},trigger:{primary:"\u062A\u0634\u063A\u064A\u0644",alternatives:["\u0623\u0637\u0644\u0642","\u0641\u0639\u0651\u0644"],normalized:"trigger"},send:{primary:"\u0623\u0631\u0633\u0644",normalized:"send"},focus:{primary:"\u062A\u0631\u0643\u064A\u0632",alternatives:["\u0631\u0643\u0632"],normalized:"focus"},blur:{primary:"\u0636\u0628\u0627\u0628\u064A\u0629",alternatives:["\u0634\u0648\u0634"],normalized:"blur"},go:{primary:"\u0627\u0630\u0647\u0628",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"go"},wait:{primary:"\u0627\u0646\u062A\u0638\u0631",normalized:"wait"},fetch:{primary:"\u0627\u062D\u0636\u0631",alternatives:["\u062C\u0644\u0628"],normalized:"fetch"},settle:{primary:"\u0627\u0633\u062A\u0642\u0631",normalized:"settle"},if:{primary:"\u0625\u0630\u0627",normalized:"if"},when:{primary:"\u0639\u0646\u062F\u0645\u0627",normalized:"when"},where:{primary:"\u0623\u064A\u0646",normalized:"where"},else:{primary:"\u0648\u0625\u0644\u0627",alternatives:["\u062E\u0644\u0627\u0641 \u0630\u0644\u0643"],normalized:"else"},repeat:{primary:"\u0643\u0631\u0631",normalized:"repeat"},for:{primary:"\u0644\u0643\u0644",normalized:"for"},while:{primary:"\u0628\u064A\u0646\u0645\u0627",normalized:"while"},continue:{primary:"\u0648\u0627\u0635\u0644",normalized:"continue"},halt:{primary:"\u0623\u0648\u0642\u0641",alternatives:["\u062A\u0648\u0642\u0641"],normalized:"halt"},throw:{primary:"\u0627\u0631\u0645",alternatives:["\u0627\u0631\u0645\u0650"],normalized:"throw"},call:{primary:"\u0627\u0633\u062A\u062F\u0639",alternatives:["\u0646\u0627\u062F\u0650"],normalized:"call"},return:{primary:"\u0627\u0631\u062C\u0639",alternatives:["\u0639\u064F\u062F"],normalized:"return"},then:{primary:"\u062B\u0645",alternatives:["\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"],normalized:"then"},and:{primary:"\u0648\u0623\u064A\u0636\u0627\u064B",alternatives:["\u0623\u064A\u0636\u0627\u064B"],normalized:"and"},end:{primary:"\u0646\u0647\u0627\u064A\u0629",alternatives:["\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"],normalized:"end"},js:{primary:"\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",alternatives:["js"],normalized:"js"},async:{primary:"\u0645\u062A\u0632\u0627\u0645\u0646",normalized:"async"},tell:{primary:"\u0623\u062E\u0628\u0631",normalized:"tell"},default:{primary:"\u0627\u0641\u062A\u0631\u0627\u0636\u064A",normalized:"default"},init:{primary:"\u062A\u0647\u064A\u0626\u0629",alternatives:["\u0628\u062F\u0621"],normalized:"init"},behavior:{primary:"\u0633\u0644\u0648\u0643",normalized:"behavior"},install:{primary:"\u062A\u062B\u0628\u064A\u062A",alternatives:["\u062B\u0628\u0651\u062A"],normalized:"install"},measure:{primary:"\u0642\u064A\u0627\u0633",alternatives:["\u0642\u0650\u0633"],normalized:"measure"},into:{primary:"\u0641\u064A",alternatives:["\u0625\u0644\u0649"],normalized:"into"},before:{primary:"\u0642\u0628\u0644",normalized:"before"},after:{primary:"\u0628\u0639\u062F",normalized:"after"},until:{primary:"\u062D\u062A\u0649",normalized:"until"},event:{primary:"\u062D\u062F\u062B",normalized:"event"},from:{primary:"\u0645\u0646",normalized:"from"}},tokenization:{prefixes:["\u0627\u0644","\u0648","\u0641","\u0628","\u0643","\u0644"]},eventHandler:{eventMarker:{primary:"\u0639\u0646\u062F",alternatives:["\u0641\u064A","\u0644\u062F\u0649","\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u062D\u064A\u0646\u0645\u0627","\u0644\u0645\u0651\u0627","\u0644\u0645\u0627"],position:"before"},temporalMarkers:["\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u0644\u0645\u0651\u0627"],negationMarker:{primary:"\u0639\u062F\u0645",alternatives:["\u0639\u062F\u0645"],position:"before"}}};var $=A([[1536,1791],[1872,1919],[2208,2303],[64336,65023],[65136,65279]]),ra=new Set(["\u0628\u0640","\u0644\u0640","\u0643\u0640","\u0648\u0640"]),ut=new Map([["\u0648",{normalized:"and",type:"conjunction"}],["\u0641",{normalized:"then",type:"conjunction"}],["\u0628",{normalized:"with",type:"preposition"}],["\u0644",{normalized:"to",type:"preposition"}],["\u0643",{normalized:"like",type:"preposition"}],["\u0648\u0644",{normalized:"and-to",type:"conjunction"}],["\u0648\u0628",{normalized:"and-with",type:"conjunction"}],["\u0648\u0643",{normalized:"and-like",type:"conjunction"}],["\u0641\u0644",{normalized:"then-to",type:"conjunction"}],["\u0641\u0628",{normalized:"then-with",type:"conjunction"}],["\u0641\u0643",{normalized:"then-like",type:"conjunction"}]]),fn=new Map([["\u0639\u0646\u062F\u0645\u0627",{normalized:"on",formality:"formal",confidence:.95,description:"when (formal MSA)"}],["\u062D\u064A\u0646\u0645\u0627",{normalized:"on",formality:"formal",confidence:.93,description:"when/whenever (formal)"}],["\u0639\u0646\u062F",{normalized:"on",formality:"neutral",confidence:.88,description:"at/when (neutral)"}],["\u062D\u064A\u0646",{normalized:"on",formality:"neutral",confidence:.85,description:"when/time (neutral)"}],["\u0644\u0645\u0651\u0627",{normalized:"on",formality:"dialectal",confidence:.7,description:"when (dialectal, with shadda)"}],["\u0644\u0645\u0627",{normalized:"on",formality:"dialectal",confidence:.68,description:"when (dialectal, no diacritic)"}],["\u0644\u062F\u0649",{normalized:"on",formality:"neutral",confidence:.82,description:"at/with (temporal)"}]]),Ke=new Set(["\u0641\u064A","\u0639\u0644\u0649","\u0645\u0646","\u0625\u0644\u0649","\u0627\u0644\u0649","\u0645\u0639","\u0639\u0646","\u0642\u0628\u0644","\u0628\u0639\u062F","\u0628\u064A\u0646"]),ia=[{native:"\u0635\u062D\u064A\u062D",normalized:"true"},{native:"\u062E\u0637\u0623",normalized:"false"},{native:"null",normalized:"null"},{native:"\u0641\u0627\u0631\u063A",normalized:"null"},{native:"\u063A\u064A\u0631 \u0645\u0639\u0631\u0641",normalized:"undefined"},{native:"\u0627\u0644\u0623\u0648\u0644",normalized:"first"},{native:"\u0623\u0648\u0644",normalized:"first"},{native:"\u0627\u0644\u0623\u062E\u064A\u0631",normalized:"last"},{native:"\u0622\u062E\u0631",normalized:"last"},{native:"\u0627\u0644\u062A\u0627\u0644\u064A",normalized:"next"},{native:"\u0627\u0644\u0633\u0627\u0628\u0642",normalized:"previous"},{native:"\u0627\u0644\u0623\u0642\u0631\u0628",normalized:"closest"},{native:"\u0627\u0644\u0623\u0628",normalized:"parent"},{native:"\u0627\u0644\u0646\u0642\u0631",normalized:"click"},{native:"\u0646\u0642\u0631",normalized:"click"},{native:"\u0627\u0644\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0627\u0644\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u0627\u0644\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"focus"},{native:"\u0641\u0642\u062F\u0627\u0646 \u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"blur"},{native:"\u0636\u063A\u0637",normalized:"keydown"},{native:"\u0631\u0641\u0639",normalized:"keyup"},{native:"\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseover"},{native:"\u0645\u063A\u0627\u062F\u0631\u0629 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseout"},{native:"\u062A\u062D\u0645\u064A\u0644",normalized:"load"},{native:"\u062A\u0645\u0631\u064A\u0631",normalized:"scroll"},{native:"\u0647\u064A",normalized:"it"},{native:"\u062B\u0627\u0646\u064A\u0629",normalized:"s"},{native:"\u062B\u0648\u0627\u0646\u064A",normalized:"s"},{native:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",normalized:"ms"},{native:"\u062F\u0642\u064A\u0642\u0629",normalized:"m"},{native:"\u062F\u0642\u0627\u0626\u0642",normalized:"m"},{native:"\u0633\u0627\u0639\u0629",normalized:"h"},{native:"\u0633\u0627\u0639\u0627\u062A",normalized:"h"}],aa=[{pattern:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:9,caseInsensitive:!1},{pattern:"\u0645\u0644\u064A_\u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:8,caseInsensitive:!1},{pattern:"\u062F\u0642\u0627\u0626\u0642",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062F\u0642\u064A\u0642\u0629",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062B\u0648\u0627\u0646\u064A",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u062B\u0627\u0646\u064A\u0629",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0627\u062A",suffix:"h",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0629",suffix:"h",length:4,caseInsensitive:!1}],ft=class extends w{constructor(){super();this.language="ar";this.direction="rtl";this.initializeKeywordsFromProfile(le,ia),this.normalizer=new Se}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])){let o=this.extractArabicNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}let s=this.tryPreposition(e,n);if(s){r.push(s),n=s.position.end;continue}if($(e[n])){let o=this.tryProclitic(e,n);if(o){r.push(o.conjunction),n=o.conjunction.position.end;continue}let l=this.extractArabicWord(e,n);if(l){r.push(l),n=l.position.end;continue}}if(x(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new b(r,"ar")}classifyToken(e){return Ke.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}tryPreposition(e,r){let n=Array.from(Ke).sort((a,s)=>s.length-a.length);for(let a of n)if(e.slice(r,r+a.length)===a){let s=r+a.length;if(s>=e.length||k(e[s])||!$(e[s]))return{...u(a,"particle",p(r,s)),metadata:{prepositionValue:a}}}return null}tryProclitic(e,r){let n=r;for(;n<e.length&&($(e[n])||e[n]==="\u0640");)n++;let a=e.slice(r,n);if(this.lookupKeyword(a)||fn.has(a)||Ke.has(a))return null;if(r+2<=e.length){let h=e.slice(r,r+2),g=ut.get(h);if(g){let f=r+2;if(f<e.length&&$(e[f])){let y=0,T=f;for(;T<e.length&&$(e[T]);)y++,T++;if(y>=2)if(ut.get(e[r])){let q=e.slice(r+1,n);if(!this.lookupKeyword(q)){let ge=g.type==="conjunction"?"conjunction":"particle";return{conjunction:u(h,ge,p(r,f),g.normalized)}}}else{let q=g.type==="conjunction"?"conjunction":"particle";return{conjunction:u(h,q,p(r,f),g.normalized)}}}}}let s=e[r],o=ut.get(s);if(!o)return null;let l=r+1;if(l>=e.length||!$(e[l]))return null;let c=0,m=l;for(;m<e.length&&$(e[m]);)c++,m++;if(c<2)return null;let v=o.type==="conjunction"?"conjunction":"particle";return{conjunction:u(s,v,p(r,l),o.normalized)}}extractArabicWord(e,r){let n=r,a="";for(let c of ra){let m=c.replace("\u0640","");e.slice(n,n+m.length)}for(;n<e.length&&($(e[n])||e[n]==="\u0640");)a+=e[n++];if(!a)return null;let s=fn.get(a);if(s)return{...u(a,"keyword",p(r,n),s.normalized),metadata:{temporalFormality:s.formality,temporalConfidence:s.confidence}};let o=this.lookupKeyword(a);if(o)return u(a,"keyword",p(r,n),o.normalized);if(Ke.has(a))return{...u(a,"particle",p(r,n)),metadata:{prepositionValue:a}};let l=this.tryMorphKeywordMatch(a,r,n);return l||u(a,"identifier",p(r,n))}extractAsciiWord(e,r){let n=r,a="";for(;n<e.length&&x(e[n]);)a+=e[n++];return a?u(a,"identifier",p(r,n)):null}extractArabicNumber(e,r){return this.tryNumberWithTimeUnits(e,r,aa,{allowSign:!1,skipWhitespace:!0})}},qe=new ft;R("ar",qe,le);function oa(i){let t=i.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122?!0:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(i)}function sa(i){for(let t of i)if(oa(t))return!0;return!1}function gt(i){return"a\u0131ouAIOU".includes(i)}function gn(i){return"ei\xF6\xFCE\u0130\xD6\xDC".includes(i)}function yn(i){return gt(i)||gn(i)}function la(i){for(let t=i.length-1;t>=0;t--)if(yn(i[t]))return i[t];return null}function ca(i,t){let e=la(i);if(!e)return!0;let r=t.split("").find(n=>yn(n));return r?gt(e)?gt(r):gn(r):!0}var ma=[{pattern:"iyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"iyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"eceksiniz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"eceksin",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fiz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fim",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131m",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"ecekler",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaklar",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"mi\u015Fsiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fsin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fiz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"din",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"duk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tuk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"dum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"iyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"ecek",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"acak",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"mi\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"di",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"du",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"ti",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tu",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mek",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"mak",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"eyelim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ayal\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"eyim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ay\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"elim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"al\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"melisiniz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"melisin",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyiz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyim",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131m",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"meliler",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131lar",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meli",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"ebiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"ebildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"iniz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n\u0131z",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn\xFCz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"unuz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"in",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"un",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"ildi",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131ld\u0131",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCld\xFC",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"uldu",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ilir",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131l\u0131r",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCl\xFCr",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ulur",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"tirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"turmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"dirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"durmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"miyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"miyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"medi",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"mad\u0131",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"me",confidence:.75,conjugationType:"negative",minStemLength:3},{pattern:"ma",confidence:.75,conjugationType:"negative",minStemLength:3}],ke=class{constructor(){this.language="tr"}isNormalizable(t){return!(!sa(t)||t.length<3)}normalize(t){let e=t.toLowerCase();for(let r of ma)if(e.endsWith(r.pattern)){let n=e.slice(0,-r.pattern.length),a=r.minStemLength??2;if(n.length<a)continue;if(!ca(n,r.pattern)){let o=r.confidence*.9,l={removedSuffixes:[r.pattern]};return r.conjugationType&&(l.conjugationType=r.conjugationType),j(n,o,l)}let s={removedSuffixes:[r.pattern]};return r.conjugationType&&(s.conjugationType=r.conjugationType),j(n,r.confidence,s)}return V(t)}},El=new ke;var ce={code:"tr",name:"Turkish",nativeName:"T\xFCrk\xE7e",direction:"ltr",wordOrder:"SOV",markingStrategy:"case-suffix",usesSpaces:!0,verb:{position:"end",suffixes:["mek","mak","yor","di","mi\u015F"],subjectDrop:!0},references:{me:"ben",it:"o",you:"sen",result:"sonu\xE7",event:"olay",target:"hedef",body:"g\xF6vde"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"benim",it:"onun",you:"senin"},keywords:{benim:"me",senin:"you",onun:"it"}},roleMarkers:{patient:{primary:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC","ni","n\u0131","nu","n\xFC"],position:"after"},destination:{primary:"e",alternatives:["a","ye","ya","ne","na","de","da","te","ta","\u0131n","in","un","\xFCn","n\u0131n","nin","nun","n\xFCn"],position:"after"},source:{primary:"den",alternatives:["dan","ten","tan"],position:"after"},style:{primary:"le",alternatives:["la","yle","yla"],position:"after"},event:{primary:"i",alternatives:["\u0131","u","\xFC"],position:"after"}},keywords:{toggle:{primary:"de\u011Fi\u015Ftir",alternatives:["a\xE7/kapat"],normalized:"toggle"},add:{primary:"ekle",normalized:"add"},remove:{primary:"kald\u0131r",alternatives:["sil"],normalized:"remove"},put:{primary:"koy",normalized:"put"},append:{primary:"ekle",normalized:"append"},take:{primary:"tut",normalized:"take"},make:{primary:"yap",normalized:"make"},clone:{primary:"kopyala",normalized:"clone"},swap:{primary:"takas",normalized:"swap"},morph:{primary:"d\xF6n\xFC\u015Ft\xFCr",alternatives:["\u015Fekil de\u011Fi\u015Ftir"],normalized:"morph"},set:{primary:"ayarla",alternatives:["yap","belirle"],normalized:"set"},get:{primary:"al",normalized:"get"},increment:{primary:"art\u0131r",normalized:"increment"},decrement:{primary:"azalt",normalized:"decrement"},log:{primary:"kaydet",normalized:"log"},show:{primary:"g\xF6ster",normalized:"show"},hide:{primary:"gizle",normalized:"hide"},transition:{primary:"ge\xE7i\u015F",normalized:"transition"},on:{primary:"\xFCzerinde",alternatives:["oldu\u011Funda","zaman"],normalized:"on"},trigger:{primary:"tetikle",normalized:"trigger"},send:{primary:"g\xF6nder",normalized:"send"},focus:{primary:"odak",alternatives:["odaklanma"],normalized:"focus"},blur:{primary:"bulan\u0131k",alternatives:["bulan\u0131kl\u0131k"],normalized:"blur"},click:{primary:"t\u0131klama",alternatives:["t\u0131kla"],normalized:"click"},hover:{primary:"\xFCzerine gelme",alternatives:["\xFCzerinde gezinme"],normalized:"hover"},submit:{primary:"g\xF6nderme",alternatives:["g\xF6nder"],normalized:"submit"},input:{primary:"giri\u015F",alternatives:["girdi"],normalized:"input"},change:{primary:"de\u011Fi\u015Fiklik",alternatives:["de\u011Fi\u015Fim"],normalized:"change"},go:{primary:"git",normalized:"go"},wait:{primary:"bekle",normalized:"wait"},fetch:{primary:"getir",normalized:"fetch"},settle:{primary:"sabitlen",normalized:"settle"},if:{primary:"e\u011Fer",normalized:"if"},when:{primary:"iken",alternatives:["durumunda","oldu\u011Funda"],normalized:"when"},where:{primary:"nerede",normalized:"where"},else:{primary:"yoksa",normalized:"else"},repeat:{primary:"tekrarla",normalized:"repeat"},for:{primary:"i\xE7in",normalized:"for"},while:{primary:"iken",normalized:"while"},continue:{primary:"devam",normalized:"continue"},halt:{primary:"durdur",normalized:"halt"},throw:{primary:"f\u0131rlat",normalized:"throw"},call:{primary:"\xE7a\u011F\u0131r",normalized:"call"},return:{primary:"d\xF6n",normalized:"return"},then:{primary:"sonra",alternatives:["ard\u0131ndan","daha sonra"],normalized:"then"},and:{primary:"ve",alternatives:["ayr\u0131ca","hem de"],normalized:"and"},end:{primary:"son",alternatives:["biti\u015F","bitti"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asenkron",normalized:"async"},tell:{primary:"s\xF6yle",normalized:"tell"},default:{primary:"varsay\u0131lan",normalized:"default"},init:{primary:"ba\u015Flat",normalized:"init"},behavior:{primary:"davran\u0131\u015F",normalized:"behavior"},install:{primary:"y\xFCkle",normalized:"install"},measure:{primary:"\xF6l\xE7",normalized:"measure"},into:{primary:"i\xE7ine",normalized:"into"},before:{primary:"\xF6nce",normalized:"before"},after:{primary:"sonra",normalized:"after"},until:{primary:"kadar",normalized:"until"},event:{primary:"olay",normalized:"event"},from:{primary:"den",alternatives:["dan"],normalized:"from"}},eventHandler:{eventMarker:{primary:"da",alternatives:["de","ta","te"],position:"after"},temporalMarkers:["d\u0131\u011F\u0131nda","di\u011Finde"]}};var{isLetter:yt}=M(/[a-zA-ZçÇğĞıİöÖşŞüÜ]/),hn=new Set(["ile","i\xE7in","kadar","gibi","sonra","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","do\u011Fru","boyunca"]),vn=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),da=[{native:"do\u011Fru",normalized:"true"},{native:"dogru",normalized:"true"},{native:"yanl\u0131\u015F",normalized:"false"},{native:"yanlis",normalized:"false"},{native:"null",normalized:"null"},{native:"bo\u015F",normalized:"null"},{native:"bos",normalized:"null"},{native:"tan\u0131ms\u0131z",normalized:"undefined"},{native:"tanimsiz",normalized:"undefined"},{native:"ilk",normalized:"first"},{native:"son",normalized:"last"},{native:"sonraki",normalized:"next"},{native:"\xF6nceki",normalized:"previous"},{native:"onceki",normalized:"previous"},{native:"en_yak\u0131n",normalized:"closest"},{native:"en_yakin",normalized:"closest"},{native:"ebeveyn",normalized:"parent"},{native:"t\u0131klama",normalized:"click"},{native:"tiklama",normalized:"click"},{native:"t\u0131k",normalized:"click"},{native:"tik",normalized:"click"},{native:"giri\u015F",normalized:"input"},{native:"giris",normalized:"input"},{native:"de\u011Fi\u015Fim",normalized:"change"},{native:"degisim",normalized:"change"},{native:"odak",normalized:"focus"},{native:"bulan\u0131k",normalized:"blur"},{native:"bulanik",normalized:"blur"},{native:"fare \xFCzerinde",normalized:"mouseover"},{native:"fare uzerinde",normalized:"mouseover"},{native:"fare d\u0131\u015F\u0131nda",normalized:"mouseout"},{native:"fare disinda",normalized:"mouseout"},{native:"kayd\u0131r",normalized:"scroll"},{native:"kaydir",normalized:"scroll"},{native:"tu\u015F_bas",normalized:"keydown"},{native:"tus_bas",normalized:"keydown"},{native:"tu\u015F_b\u0131rak",normalized:"keyup"},{native:"tus_birak",normalized:"keyup"},{native:"benim",normalized:"my"},{native:"onun",normalized:"its"},{native:"saniye",normalized:"s"},{native:"milisaniye",normalized:"ms"},{native:"dakika",normalized:"m"},{native:"saat",normalized:"h"},{native:"ve",normalized:"and"},{native:"veya",normalized:"or"},{native:"de\u011Fil",normalized:"not"},{native:"degil",normalized:"not"}],pa=[{pattern:"milisaniye",suffix:"ms",length:10,caseInsensitive:!0},{pattern:"dakika",suffix:"m",length:6,caseInsensitive:!0},{pattern:"saniye",suffix:"s",length:6,caseInsensitive:!0},{pattern:"saat",suffix:"h",length:4,caseInsensitive:!0},{pattern:"dk",suffix:"m",length:2,checkBoundary:!0},{pattern:"sa",suffix:"h",length:2,checkBoundary:!0}],ht=class extends w{constructor(){super();this.language="tr";this.direction="ltr";this.initializeKeywordsFromProfile(ce,da),this.normalizer=new ke}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])){let o=this.extractTurkishNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}let s=this.tryMultiWordPhrase(e,n);if(s){r.push(s),n=s.position.end;continue}if(yt(e[n])){let o=this.extractTurkishWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new b(r,"tr")}classifyToken(e){let r=e.toLowerCase();return hn.has(r)||vn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}tryMultiWordPhrase(e,r){for(let n of this.profileKeywords){if(!n.native.includes(" "))continue;let a=n.native;if(e.slice(r,r+a.length).toLowerCase()===a.toLowerCase()){let o=r+a.length;if(o>=e.length||k(e[o])||!yt(e[o]))return u(e.slice(r,r+a.length),"keyword",p(r,o),n.normalized)}}return null}extractTurkishWord(e,r){let n=r,a="";for(;n<e.length&&(yt(e[n])||e[n]==="_");)a+=e[n++];if(!a)return null;let s=a.toLowerCase();if(vn.has(s))return u(a,"particle",p(r,n));if(hn.has(s))return u(a,"particle",p(r,n));let o=this.lookupKeyword(s);if(o)return u(a,"keyword",p(r,n),o.normalized);let l=this.tryMorphKeywordMatch(s,r,n);return l||u(a,"identifier",p(r,n))}extractTurkishNumber(e,r){return this.tryNumberWithTimeUnits(e,r,pa,{allowSign:!1,skipWhitespace:!0})}},Ue=new ht;R("tr",Ue,ce);var me={code:"id",name:"Indonesian",nativeName:"Bahasa Indonesia",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"saya",it:"itu",you:"anda",result:"hasil",event:"peristiwa",target:"target",body:"tubuh"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"saya",it:"nya",you:"anda"},keywords:{saya:"me",aku:"me",ku:"me",anda:"you",kamu:"you",mu:"you",nya:"it",dia:"it"}},roleMarkers:{destination:{primary:"pada",alternatives:["ke","di"],position:"before"},source:{primary:"dari",position:"before"},patient:{primary:"",position:"before"},style:{primary:"dengan",position:"before"}},keywords:{toggle:{primary:"alihkan",alternatives:["ganti","tukar"],normalized:"toggle"},add:{primary:"tambah",alternatives:["tambahkan"],normalized:"add"},remove:{primary:"hapus",alternatives:["buang","hilangkan"],normalized:"remove"},put:{primary:"taruh",alternatives:["letakkan","masukkan"],normalized:"put"},append:{primary:"sisipkan",normalized:"append"},prepend:{primary:"awali",normalized:"prepend"},take:{primary:"ambil",normalized:"take"},make:{primary:"buat",alternatives:["bikin","ciptakan"],normalized:"make"},clone:{primary:"klon",alternatives:["salin","tiru"],normalized:"clone"},swap:{primary:"tukar",alternatives:["ganti"],normalized:"swap"},morph:{primary:"ubah",alternatives:["transformasi"],normalized:"morph"},set:{primary:"atur",alternatives:["tetapkan"],normalized:"set"},get:{primary:"dapatkan",alternatives:["peroleh"],normalized:"get"},increment:{primary:"tingkatkan",alternatives:["naikkan"],normalized:"increment"},decrement:{primary:"turunkan",alternatives:["kurangi"],normalized:"decrement"},log:{primary:"catat",alternatives:["rekam","cetak"],normalized:"log"},show:{primary:"tampilkan",alternatives:["perlihatkan"],normalized:"show"},hide:{primary:"sembunyikan",alternatives:["tutup"],normalized:"hide"},transition:{primary:"transisi",alternatives:["animasikan"],normalized:"transition"},on:{primary:"pada",alternatives:["saat","ketika"],normalized:"on"},trigger:{primary:"picu",alternatives:["jalankan"],normalized:"trigger"},send:{primary:"kirim",alternatives:["kirimkan"],normalized:"send"},focus:{primary:"fokus",alternatives:["fokuskan"],normalized:"focus"},blur:{primary:"blur",normalized:"blur"},go:{primary:"pergi",alternatives:["pindah","navigasi"],normalized:"go"},wait:{primary:"tunggu",normalized:"wait"},fetch:{primary:"ambil",alternatives:["muat"],normalized:"fetch"},settle:{primary:"stabilkan",normalized:"settle"},if:{primary:"jika",alternatives:["kalau","bila"],normalized:"if"},when:{primary:"ketika",normalized:"when"},where:{primary:"di_mana",normalized:"where"},else:{primary:"selainnya",normalized:"else"},repeat:{primary:"ulangi",normalized:"repeat"},for:{primary:"untuk",normalized:"for"},while:{primary:"selama",normalized:"while"},continue:{primary:"lanjutkan",alternatives:["terus"],normalized:"continue"},halt:{primary:"hentikan",alternatives:["berhenti"],normalized:"halt"},throw:{primary:"lempar",normalized:"throw"},call:{primary:"panggil",normalized:"call"},return:{primary:"kembalikan",alternatives:["kembali"],normalized:"return"},then:{primary:"lalu",alternatives:["kemudian","setelah itu"],normalized:"then"},and:{primary:"dan",alternatives:["juga","serta"],normalized:"and"},end:{primary:"selesai",alternatives:["akhir","tamat"],normalized:"end"},js:{primary:"js",alternatives:["javascript"],normalized:"js"},async:{primary:"asinkron",normalized:"async"},tell:{primary:"katakan",alternatives:["beritahu"],normalized:"tell"},default:{primary:"bawaan",normalized:"default"},init:{primary:"inisialisasi",alternatives:["mulai"],normalized:"init"},behavior:{primary:"perilaku",normalized:"behavior"},install:{primary:"pasang",alternatives:["instal"],normalized:"install"},measure:{primary:"ukur",normalized:"measure"},into:{primary:"ke dalam",normalized:"into"},before:{primary:"sebelum",normalized:"before"},after:{primary:"sesudah",alternatives:["setelah"],normalized:"after"},click:{primary:"klik",alternatives:["tekan"],normalized:"click"},hover:{primary:"hover",alternatives:["arahkan"],normalized:"hover"},submit:{primary:"kirim",alternatives:["submit"],normalized:"submit"},input:{primary:"masuk",alternatives:["input"],normalized:"input"},change:{primary:"ubah",alternatives:["berubah"],normalized:"change"},until:{primary:"sampai",normalized:"until"},event:{primary:"peristiwa",alternatives:["event"],normalized:"event"},from:{primary:"dari",normalized:"from"}},eventHandler:{keyword:{primary:"pada",alternatives:["ketika","saat"],normalized:"on"},sourceMarker:{primary:"dari",position:"before"},conditionalKeyword:{primary:"ketika",alternatives:["saat","waktu"]},eventMarker:{primary:"saat",alternatives:["ketika"],position:"before"},temporalMarkers:["ketika","saat"]}};var{isLetter:ua,isIdentifierChar:fa}=M(/[a-zA-Z]/),zn=new Set(["di","ke","dari","pada","dengan","tanpa","untuk","oleh","antara","sebelum","sesudah","setelah","selama","sampai","hingga","sejak","menuju","tentang","terhadap","melalui","dalam","luar"]),ga=[{native:"benar",normalized:"true"},{native:"salah",normalized:"false"},{native:"null",normalized:"null"},{native:"kosong",normalized:"null"},{native:"tidak terdefinisi",normalized:"undefined"},{native:"pertama",normalized:"first"},{native:"terakhir",normalized:"last"},{native:"selanjutnya",normalized:"next"},{native:"berikutnya",normalized:"next"},{native:"sebelumnya",normalized:"previous"},{native:"terdekat",normalized:"closest"},{native:"induk",normalized:"parent"},{native:"klik",normalized:"click"},{native:"click",normalized:"click"},{native:"masukan",normalized:"input"},{native:"input",normalized:"input"},{native:"perubahan",normalized:"change"},{native:"tombol turun",normalized:"keydown"},{native:"tombol naik",normalized:"keyup"},{native:"mouse masuk",normalized:"mouseover"},{native:"mouse keluar",normalized:"mouseout"},{native:"gulir",normalized:"scroll"},{native:"aku",normalized:"me"},{native:"ini",normalized:"me"},{native:"milikku",normalized:"my"},{native:"dia",normalized:"it"},{native:"kejadian",normalized:"event"},{native:"sasaran",normalized:"target"},{native:"detik",normalized:"s"},{native:"milidetik",normalized:"ms"},{native:"menit",normalized:"m"},{native:"jam",normalized:"h"},{native:"jika tidak",normalized:"else"},{native:"hilangkan fokus",normalized:"blur"},{native:"maka",normalized:"then"}],vt=class extends w{constructor(){super();this.language="id";this.direction="ltr";this.initializeKeywordsFromProfile(me,ga)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(k(e[n])){n++;continue}if(L(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(P(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(E(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(S(e[n])||e[n]==="-"&&n+1<e.length&&S(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let a=this.tryVariableRef(e,n);if(a){r.push(a),n=a.position.end;continue}if(ua(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new b(r,"id")}classifyToken(e){let r=e.toLowerCase();return zn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,a="";for(;n<e.length&&fa(e[n]);)a+=e[n++];if(!a)return null;let s=a.toLowerCase(),o=this.lookupKeyword(s);return o?u(a,"keyword",p(r,n),o.normalized):zn.has(s)?u(a,"particle",p(r,n)):u(a,"identifier",p(r,n))}extractNumber(e,r){let n=r,a="";for((e[n]==="-"||e[n]==="+")&&(a+=e[n++]);n<e.length&&S(e[n]);)a+=e[n++];if(n<e.length&&e[n]===".")for(a+=e[n++];n<e.length&&S(e[n]);)a+=e[n++];let s=n;for(;s<e.length&&k(e[s]);)s++;let o=e.slice(s).toLowerCase();return o.startsWith("milidetik")?(a+="ms",n=s+9):o.startsWith("detik")?(a+="s",n=s+5):o.startsWith("menit")?(a+="m",n=s+5):o.startsWith("jam")&&(a+="h",n=s+3),!a||a==="-"||a==="+"?null:u(a,"literal",p(r,n))}},Be=new vt;R("id",Be,me);function Tn(i){return At(i)}function $e(i,t){return Vt(i,t)}function Fe(){return Re()}function F(i){let t="complex";return i.startsWith("#")&&!i.includes(" ")?t="id":i.startsWith(".")&&!i.includes(" ")?t="class":i.startsWith("[")&&i.endsWith("]")?t="attribute":/^[a-z][a-z0-9]*$/i.test(i)&&(t="element"),{type:"selector",value:i,selectorKind:t}}function C(i,t){let e={type:"literal",value:i};return t!==void 0?{type:"literal",value:i,dataType:t}:e}function _(i){return{type:"reference",value:i}}function de(i,t){return{type:"property-path",object:i,property:t}}function G(i,t,e){let r={kind:"command",action:i,roles:new Map(Object.entries(t))};return e!==void 0?{...r,metadata:e}:r}function pe(i,t,e,r,n){let a=new Map;a.set("event",i);let s={kind:"event-handler",action:"on",roles:a,body:t};return e!==void 0&&(s.eventModifiers=e),r!==void 0&&(s.metadata=r),n!==void 0&&n.length>0&&(s.parameterNames=n),s}function Sn(i,t="then",e){let r={kind:"compound",action:"compound",roles:new Map,statements:i,chainType:t};return e!==void 0&&(r.metadata=e),r}function zt(i,t){return!t||t.length===0||t.includes(i)||t.includes("expression")?!0:i==="property-path"?t.some(e=>["selector","reference","expression"].includes(e)):!1}function kn(i,t){return i.possessive?.keywords?.[t]}var K=class K{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(t,e){let r=t.mark(),n=new Map;if(this.currentProfile=U(e.language),this.stemMatchCount=0,this.totalKeywordMatches=0,!this.matchTokenSequence(t,e.template.tokens,n))return t.reset(r),null;let s=this.calculateConfidence(e,n);return this.applyExtractionRules(e,n),{pattern:e,captured:n,consumedTokens:t.position()-r.position,confidence:s}}matchBest(t,e){let r=[];for(let a of e){let s=t.mark(),o=this.matchPattern(t,a);o&&r.push(o),t.reset(s)}if(r.length===0)return null;r.sort((a,s)=>{let o=s.pattern.priority-a.pattern.priority;return o!==0?o:s.confidence-a.confidence});let n=r[0];return this.matchPattern(t,n.pattern),n}matchTokenSequence(t,e,r){let n=e[0],a=n?.type==="literal"&&(n.value==="and"||n.value==="then"||n.alternatives?.includes("and")||n.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!a)for(;t.peek()?.kind==="conjunction";)t.advance();for(let s of e)if(!this.matchPatternToken(t,s,r)){if(this.isOptional(s))continue;return!1}return!0}matchPatternToken(t,e,r){switch(e.type){case"literal":return this.matchLiteralToken(t,e);case"role":return this.matchRoleToken(t,e,r);case"group":return this.matchGroupToken(t,e,r);default:return!1}}matchLiteralToken(t,e){let r=t.peek();if(!r)return!1;let n=this.getMatchType(r,e.value);if(n!=="none")return this.totalKeywordMatches++,n==="stem"&&this.stemMatchCount++,t.advance(),!0;if(e.alternatives)for(let a of e.alternatives){let s=this.getMatchType(r,a);if(s!=="none")return this.totalKeywordMatches++,s==="stem"&&this.stemMatchCount++,t.advance(),!0}return!1}matchRoleToken(t,e,r){this.skipNoiseWords(t);let n=t.peek();if(!n)return e.optional||!1;let a=this.tryMatchPossessiveExpression(t);if(a)return e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(a.type)&&!e.expectedTypes.includes("expression")?e.optional||!1:(r.set(e.role,a),!0);let s=this.tryMatchMethodCallExpression(t);if(s)return e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(s.type)&&!e.expectedTypes.includes("expression")?e.optional||!1:(r.set(e.role,s),!0);let o=this.tryMatchPossessiveSelectorExpression(t);if(o)return e.expectedTypes&&e.expectedTypes.length>0&&!zt(o.type,e.expectedTypes)?e.optional||!1:(r.set(e.role,o),!0);let l=this.tryMatchPropertyAccessExpression(t);if(l)return e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(l.type)&&!e.expectedTypes.includes("expression")?e.optional||!1:(r.set(e.role,l),!0);let c=this.tryMatchSelectorPropertyExpression(t);if(c)return e.expectedTypes&&e.expectedTypes.length>0&&!zt(c.type,e.expectedTypes)?e.optional||!1:(r.set(e.role,c),!0);let m=this.tokenToSemanticValue(n);return!m||e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(m.type)?e.optional||!1:(r.set(e.role,m),t.advance(),!0)}tryMatchPossessiveExpression(t){let e=t.peek();if(!e||!this.currentProfile)return null;let r=(e.normalized||e.value).toLowerCase(),n=kn(this.currentProfile,r);if(!n)return null;let a=t.mark();t.advance();let s=t.peek();return s&&(s.kind==="identifier"||s.kind==="keyword"&&!this.isStructuralKeyword(s.value)||s.kind==="selector"&&s.value.startsWith("*"))?(t.advance(),de(_(n),s.value)):(t.reset(a),null)}isStructuralKeyword(t){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(t.toLowerCase())}tryMatchMethodCallExpression(t){let e=t.peek();if(!e||e.kind!=="selector")return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="operator"||n.value!==".")return t.reset(r),null;t.advance();let a=t.peek();if(!a||a.kind!=="identifier")return t.reset(r),null;t.advance();let s=t.peek();if(!s||s.kind!=="punctuation"||s.value!=="(")return t.reset(r),null;t.advance();let o=[];for(;!t.isAtEnd()&&o.length<K.MAX_METHOD_ARGS;){let c=t.peek();if(!c)break;if(c.kind==="punctuation"&&c.value===")"){t.advance();break}if(c.kind==="punctuation"&&c.value===","){t.advance();continue}o.push(c.value),t.advance()}return{type:"expression",raw:`${e.value}.${a.value}(${o.join(", ")})`}}tryMatchPropertyAccessExpression(t){let e=t.peek();if(!e||e.kind!=="identifier"&&e.kind!=="keyword")return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="operator"||n.value!==".")return t.reset(r),null;t.advance();let a=t.peek();if(!a||a.kind!=="identifier")return t.reset(r),null;t.advance();let s=`${e.value}.${a.value}`,o=1;for(;!t.isAtEnd()&&o<K.MAX_PROPERTY_DEPTH;){let c=t.peek();if(!c||c.kind!=="operator"||c.value!==".")break;t.advance();let m=t.peek();if(!m||m.kind!=="identifier")break;t.advance(),s+=`.${m.value}`,o++}let l=t.peek();if(l&&l.kind==="punctuation"&&l.value==="("){t.advance();let c=[],m=0;for(;!t.isAtEnd()&&c.length<K.MAX_METHOD_ARGS;){let h=t.peek();if(!h)break;if(h.kind==="punctuation"&&h.value===")"){if(m===0){t.advance();break}m--}if(h.kind==="punctuation"&&h.value==="("&&m++,h.kind==="punctuation"&&h.value===","){t.advance();continue}c.push(h.value),t.advance()}return{type:"expression",raw:`${s}(${c.join(", ")})`}}return{type:"expression",raw:s}}tryMatchPossessiveSelectorExpression(t){let e=t.peek();if(!e||e.kind!=="selector")return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="punctuation"||n.value!=="'s")return t.reset(r),null;t.advance();let a=t.peek();return!a||a.kind!=="selector"&&a.kind!=="identifier"?(t.reset(r),null):(t.advance(),de(F(e.value),a.value))}tryMatchSelectorPropertyExpression(t){let e=t.peek();if(!e||e.kind!=="selector"||!e.value.startsWith("#"))return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="selector"||!n.value.startsWith("."))return t.reset(r),null;let a=t.peek(1);a&&a.kind,t.advance();let s=n.value.slice(1);return de(F(e.value),s)}matchGroupToken(t,e,r){let n=t.mark(),a=new Set(r.keys());if(!this.matchTokenSequence(t,e.tokens,r)){t.reset(n);for(let o of r.keys())a.has(o)||r.delete(o);return e.optional||!1}return!0}getMatchType(t,e){return t.value===e?"exact":t.normalized===e?"normalized":t.stem===e&&t.stemConfidence!==void 0&&t.stemConfidence>=.7?"stem":t.kind==="keyword"&&t.value.toLowerCase()===e.toLowerCase()?"case-insensitive":"none"}tokenToSemanticValue(t){switch(t.kind){case"selector":return F(t.value);case"literal":return this.parseLiteralValue(t.value);case"keyword":let e=(t.normalized||t.value).toLowerCase();return["me","you","it","result","event","target","body"].includes(e)?_(e):C(t.normalized||t.value);case"identifier":if(t.value.startsWith(":"))return _(t.value);let r=t.value.toLowerCase();return["me","you","it","result","event","target","body"].includes(r)?_(r):{type:"expression",raw:t.value};case"url":return C(t.value,"string");default:return null}}parseLiteralValue(t){if(t.startsWith('"')||t.startsWith("'")||t.startsWith("`")||t.startsWith("\u300C")){let n=t.slice(1,-1);return C(n,"string")}if(t==="true")return C(!0,"boolean");if(t==="false")return C(!1,"boolean");let e=t.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(e){let n=parseFloat(e[1]);return e[2]?C(t,"duration"):C(n,"number")}let r=parseFloat(t);return isNaN(r)?C(t,"string"):C(r,"number")}applyExtractionRules(t,e){for(let[r,n]of Object.entries(t.extraction))!e.has(r)&&n.default&&e.set(r,n.default)}isOptional(t){return t.optional===!0}calculateConfidence(t,e){let r=0,n=0,a=c=>t.extraction?.[c]?.default!==void 0;for(let c of t.template.tokens)if(c.type==="role")n+=1,e.has(c.role)&&(r+=1);else if(c.type==="group"){for(let m of c.tokens)if(m.type==="role"){let v=a(m.role),h=.8;n+=h,e.has(m.role)?r+=h:v&&(r+=h*.6)}}let s=n>0?r/n:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let c=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-c)}let o=this.calculateVSOConfidenceBoost(t);s=Math.min(1,s+o);let l=this.arabicPrepositionDisambiguation(t,e);return s=Math.max(0,Math.min(1,s+l)),s}calculateVSOConfidenceBoost(t){if(t.language!=="ar")return 0;let e=t.template.tokens[0];if(!e||e.type!=="literal")return 0;let r=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]);if(r.has(e.value))return .15;if(e.alternatives){for(let n of e.alternatives)if(r.has(n))return .15}return 0}arabicPrepositionDisambiguation(t,e){if(t.language!=="ar")return 0;let r=0,n={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]};for(let[a,s]of e.entries()){let o=n[a];if(!o||o.length===0)continue;let l=s.metadata;if(l&&typeof l.prepositionValue=="string"){let c=l.prepositionValue;o.includes(c)?r+=.1:r-=.1}}return Math.max(-.1,Math.min(.1,r))}skipNoiseWords(t){let e=t.peek();if(!e)return;let r=e.value.toLowerCase();if(K.ENGLISH_NOISE_WORDS.has(r)){let n=t.mark();t.advance();let a=t.peek();if(a&&a.kind==="selector")return;t.reset(n)}r==="class"&&t.advance()}extractEventModifiers(t){let e={},r=!1;for(;!t.isAtEnd();){let n=t.peek();if(!n||n.kind!=="event-modifier")break;let a=n.metadata;if(!a)break;switch(r=!0,a.modifierName){case"once":e.once=!0;break;case"debounce":typeof a.value=="number"&&(e.debounce=a.value);break;case"throttle":typeof a.value=="number"&&(e.throttle=a.value);break;case"queue":(a.value==="first"||a.value==="last"||a.value==="all"||a.value==="none")&&(e.queue=a.value);break}t.advance()}return r?e:void 0}};K.MAX_PROPERTY_DEPTH=10,K.MAX_METHOD_ARGS=20,K.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var xe=K,Q=new xe;var Ge=class{render(t,e){if(t.kind==="compound")return this.renderCompound(t,e);let r=Ot(e,t.action);if(r.length===0)return this.renderExplicit(t);let n=this.findBestPattern(t,r);return n?this.renderWithPattern(t,n):this.renderExplicit(t)}renderCompound(t,e){let r=t.statements.map(a=>this.render(a,e)),n=this.getChainWord(t.chainType,e);return r.join(` ${n} `)}getChainWord(t,e){let r=U(e);return r?.keywords?r.keywords[t]?.primary??t:t}renderExplicit(t){if(t.kind==="compound"){let r=t;return r.statements.map(a=>this.renderExplicit(a)).join(` ${r.chainType} `)}let e=[t.action];for(let[r,n]of t.roles)e.push(`${r}:${this.valueToString(n)}`);if(t.kind==="event-handler"){let r=t;if(r.body&&r.body.length>0){let n=r.body.map(a=>this.renderExplicit(a));e.push(`body:${n.join(" ")}`)}}return`[${e.join(" ")}]`}supportedLanguages(){return Fe()}findBestPattern(t,e){let r=e.map(n=>{let a=n.priority;for(let s of n.template.tokens)s.type==="role"&&(t.roles.has(s.role)?a+=10:s.optional||(a-=50));return n.language==="en"&&((n.id.includes("standard")||n.id.includes("en-source"))&&(a+=20),(n.id.includes("-when")||n.id.includes("-if")||n.id.includes("-upon"))&&(a-=15)),{pattern:n,score:a}});return r.sort((n,a)=>a.score-n.score),r.length>0?r[0].pattern:null}renderWithPattern(t,e){let r=[],n=e.language;for(let a of e.template.tokens){let s=this.renderPatternToken(a,t,n);s!==null&&r.push(s)}if(t.kind==="event-handler"){let a=t;if(a.body&&a.body.length>0){let s=a.body.map(o=>this.render(o,n));r.push(s.join(" "))}}return r.join(" ")}renderPatternToken(t,e,r){switch(t.type){case"literal":return t.value;case"role":{let n=e.roles.get(t.role);return n?this.valueToNaturalString(n,r):(t.optional,null)}case"group":{if(!t.tokens.filter(s=>s.type==="role"&&!s.optional).every(s=>e.roles.has(s.role))&&t.optional)return null;if(t.optional&&t.tokens.find(o=>o.type==="role"&&o.role==="destination")){let o=e.roles.get("destination");if(o?.type==="reference"&&o.value==="me")return null}let a=[];for(let s of t.tokens){let o=this.renderPatternToken(s,e,r);o!==null&&a.push(o)}return a.length>0?a.join(" "):null}default:return null}}valueToString(t){switch(t.type){case"literal":return typeof t.value=="string"?t.dataType==="string"||/\s/.test(t.value)?`"${t.value}"`:t.value:String(t.value);case"selector":return t.value;case"reference":return t.value;case"property-path":return`${this.valueToString(t.object)}'s ${t.property}`;case"expression":return t.raw}}valueToNaturalString(t,e="en"){switch(t.type){case"literal":return typeof t.value=="string"&&t.dataType==="string"?`"${t.value}"`:String(t.value);case"selector":return t.value;case"reference":return this.renderReference(t,e);case"property-path":return this.renderPropertyPath(t,e);case"expression":return t.raw}}renderReference(t,e){let r=U(e);return r?.references?r.references[t.value]??t.value:t.value}renderPropertyPath(t,e){let r=U(e),n=t.property,a=t.object.type==="reference"?t.object.value:null;if(r?.possessive?.specialForms&&a){let o=r.possessive.specialForms[a];if(o){let{markerPosition:l,usePossessiveAdjectives:c}=r.possessive;return c&&l==="after-object"?`${n} ${o}`:`${o} ${n}`}}let s=this.valueToNaturalString(t.object,e);if(r?.possessive){let{marker:o,markerPosition:l,usePossessiveAdjectives:c}=r.possessive;if(c&&a&&l==="after-object")return`${n} ${s}`;if(o)switch(l){case"between":return r.usesSpaces?`${s}${o} ${n}`:`${s}${o}${n}`;case"after-object":return`${s}${o} ${n}`;case"before-property":return`${s} ${o} ${n}`}}return e==="en"||!r?.possessive?s==="me"?`my ${n}`:s==="it"?`its ${n}`:`${s}'s ${n}`:`${s} ${n}`}},Tt=new Ge;function be(i,t){return Tt.render(i,t)}function we(i){return Tt.renderExplicit(i)}function Z(i){let t=i.trim();if(!t.startsWith("[")||!t.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let e=t.slice(1,-1).trim();if(!e)throw new Error("Empty explicit statement");let r=ya(e);if(r.length===0)throw new Error("No command specified in explicit statement");let n=r[0].toLowerCase(),a=new Map;for(let o=1;o<r.length;o++){let l=r[o],c=l.indexOf(":");if(c===-1)throw new Error(`Invalid role format: "${l}". Expected role:value`);let m=l.slice(0,c),v=l.slice(c+1);if(m==="body"&&v.startsWith("[")){let g=va(l,c+1),f=l.slice(c+1,g+1);a.set(m,{type:"expression",raw:f});continue}let h=ha(v);a.set(m,h)}if(n==="on"){let o=a.get("event");if(!o)throw new Error("Event handler requires event role: [on event:click ...]");let l=a.get("body"),c=[];return l&&l.type==="expression"&&c.push(Z(l.raw)),a.delete("body"),pe(o,c,void 0,{sourceLanguage:"explicit"})}let s={};for(let[o,l]of a)s[o]=l;return G(n,s,{sourceLanguage:"explicit"})}function ya(i){let t=[],e="",r=!1,n="",a=0;for(let s=0;s<i.length;s++){let o=i[s];if(r){e+=o,o===n&&i[s-1]!=="\\"&&(r=!1);continue}if(o==='"'||o==="'"){r=!0,n=o,e+=o;continue}if(o==="["){a++,e+=o;continue}if(o==="]"){a--,e+=o;continue}if(o===" "&&a===0){e&&(t.push(e),e="");continue}e+=o}return e&&t.push(e),t}function ha(i){if(i.startsWith("#")||i.startsWith(".")||i.startsWith("[")||i.startsWith("@")||i.startsWith("*"))return F(i);if(i.startsWith('"')||i.startsWith("'")){let e=i.slice(1,-1);return C(e,"string")}if(i==="true")return C(!0,"boolean");if(i==="false")return C(!1,"boolean");if(["me","you","it","result","event","target","body"].includes(i.toLowerCase()))return _(i.toLowerCase());let t=i.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let e=parseFloat(t[1]);return t[2]?C(i,"duration"):C(e,"number")}return C(i,"string")}function va(i,t){let e=0;for(let r=t;r<i.length;r++)if(i[r]==="[")e++;else if(i[r]==="]"&&(e--,e===0))return r;return i.length-1}function ue(i){let t=i.trim();return t.startsWith("[")&&t.endsWith("]")}var He=class{parse(t,e){let r=$e(t,e),n=O(e);if(n.length===0)throw new Error(`No patterns available for language: ${e}`);let a=[...n].sort((m,v)=>v.priority-m.priority),s=a.filter(m=>m.command==="on"),o=Q.matchBest(r,s);if(o)return this.buildEventHandler(o,r,e);let l=a.filter(m=>m.command!=="on"),c=Q.matchBest(r,l);if(c)return this.buildCommand(c,e);throw new Error(`Could not parse input in ${e}: ${t}`)}canParse(t,e){try{return this.parse(t,e),!0}catch{return!1}}supportedLanguages(){return Fe()}buildCommand(t,e){if(!t)throw new Error("No match to build command from");let r={};for(let[n,a]of t.captured)r[n]=a;return G(t.pattern.command,r,{sourceLanguage:e,patternId:t.pattern.id,confidence:t.confidence})}buildEventHandler(t,e,r){if(!t)throw new Error("No match to build event handler from");let n=t.captured.get("event");if(!n)throw new Error("Event handler pattern matched but no event captured");let a=Q.extractEventModifiers(e),s,o=t.captured.get("action");if(o&&o.type==="literal"){let l=o.value,c={};for(let[h,g]of t.captured)h!=="event"&&h!=="action"&&h!=="continues"&&(c[h]=g);let m=G(l,c,{sourceLanguage:r,patternId:t.pattern.id,confidence:t.confidence}),v=t.captured.get("continues");if(v&&v.type==="literal"&&v.value==="then"){let h=O(r).filter(y=>y.command!=="on").sort((y,T)=>T.priority-y.priority),g=O(r).filter(y=>y.id.startsWith("grammar-")&&y.id.includes("-continuation")).sort((y,T)=>T.priority-y.priority),f=this.parseBodyWithGrammarPatterns(e,h,g,r);f.length>0?s=[m,...f]:s=[m]}else s=[m]}else{let l=O(r).filter(c=>c.command!=="on").sort((c,m)=>m.priority-c.priority);s=this.parseBodyWithClauses(e,l,r)}return pe(n,s,a,{sourceLanguage:r,patternId:t.pattern.id,confidence:t.confidence})}parseBodyWithClauses(t,e,r){let n=[],a=[];for(;!t.isAtEnd();){let s=t.peek();if(!s)break;let o=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,r),l=s.kind==="keyword"&&this.isEndKeyword(s.value,r);if(o){if(a.length>0){let c=this.parseClause(a,e,r);n.push(...c),a.length=0}t.advance();continue}if(l){if(a.length>0){let c=this.parseClause(a,e,r);n.push(...c)}t.advance();break}a.push(s),t.advance()}if(a.length>0){let s=this.parseClause(a,e,r);n.push(...s)}return n.length>1?[Sn(n,"then",{sourceLanguage:r})]:n}parseClause(t,e,r){if(t.length===0)return[];let n=new b(t,r),a=[];for(;!n.isAtEnd();){let s=Q.matchBest(n,e);s?a.push(this.buildCommand(s,r)):n.advance()}return a}parseBodyWithGrammarPatterns(t,e,r,n){let a=[];for(;!t.isAtEnd();){let s=t.peek();if(s&&this.isThenKeyword(s.value,n)){t.advance();continue}if(s&&this.isEndKeyword(s.value,n)){t.advance();break}let o=!1;if(r.length>0){let l=Q.matchBest(t,r);if(l){let c=l.pattern.command,m={};for(let[g,f]of l.captured)g!=="event"&&g!=="action"&&g!=="continues"&&(m[g]=f);let v=G(c,m,{sourceLanguage:n,patternId:l.pattern.id});a.push(v),o=!0;let h=l.captured.get("continues");if(h&&h.type==="literal"&&h.value==="then")continue}}if(!o){let l=Q.matchBest(t,e);l&&(a.push(this.buildCommand(l,n)),o=!0)}o||t.advance()}return a}isThenKeyword(t,e){let r={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B","\u305D\u3057\u3066"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u4E4B\u540E"]),tr:new Set(["sonra","ard\u0131ndan","daha sonra"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),qu:new Set(["chaymantataq","hinaspa","chaymanta"]),sw:new Set(["kisha","halafu","baadaye"])};return(r[e]||r.en).has(t.toLowerCase())}isEndKeyword(t,e){let r={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u7D42\u4E86","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uC885\uB8CC","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","beenden","fertig"]),id:new Set(["selesai","akhir","tamat"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])};return(r[e]||r.en).has(t.toLowerCase())}},St=new He;function fe(i,t){return St.parse(i,t)}function kt(i,t){return St.canParse(i,t)}function xt(i,t){if(ue(i))return i;let e=fe(i,t);return we(e)}function bt(i,t){let e=Z(i);return be(e,t)}function wt(i,t){return ue(i)?Z(i):fe(i,t)}var za=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),Ta=new Set(["and","or","not","no"]),Sa=new Set(["true","false","null","undefined"]),ka=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function xn(i){let t=[],e=0,r=1,n=1;function a(){if(t.length===0)return!0;let f=t[t.length-1];return["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(f.type)}function s(f=0){return i[e+f]??""}function o(){let f=i[e];return e++,f===`
|
|
2
|
-
`?(r++,n=1):n++,f}function l(){for(;e<i.length&&/\s/.test(i[e]);)o()}function c(f){let y="";for(;e<i.length&&f(i[e]);)y+=o();return y}function m(f){let y=f;for(o();e<i.length&&i[e]!==f;)i[e]==="\\"&&e+1<i.length&&(y+=o()),y+=o();return e<i.length&&(y+=o()),y}function v(){let f="`";for(o();e<i.length&&i[e]!=="`";)i[e]==="\\"&&e+1<i.length&&(f+=o()),f+=o();return e<i.length&&(f+=o()),f}function h(){let f="<";for(o();e<i.length&&(f+=o(),!f.endsWith("/>")););return f}function g(f,y,T){return{type:f,value:y,start:T,end:e,line:r,column:n-y.length}}for(;e<i.length&&(l(),!(e>=i.length));){let f=e,y=s();if(y==="'"&&s(1)==="s"&&!/\w/.test(s(2))){o(),o(),t.push(g("POSSESSIVE","'s",f));continue}if(y==='"'||y==="'"){let T=m(y);t.push(g("STRING",T,f));continue}if(y==="`"){let T=v();t.push(g("TEMPLATE_LITERAL",T,f));continue}if(y==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let T=h();t.push(g("QUERY_SELECTOR",T,f));continue}if(y==="#"&&a()){o();let T=c(N=>/[\w-]/.test(N));t.push(g("ID_SELECTOR","#"+T,f));continue}if(y==="."&&/[a-zA-Z_-]/.test(s(1))&&a()){o();let T=c(N=>/[\w-]/.test(N));t.push(g("CLASS_SELECTOR","."+T,f));continue}if(y==="["&&a()){let T=s(1);if(T==="@"||/[a-zA-Z]/.test(T)){let N="";for(N+=o();e<i.length&&i[e]!=="]";)i[e]==='"'||i[e]==="'"?N+=m(i[e]):N+=o();e<i.length&&(N+=o()),t.push(g("ATTRIBUTE_SELECTOR",N,f));continue}}if(y==="["){o(),t.push(g("LBRACKET","[",f));continue}if(y==="]"){o(),t.push(g("RBRACKET","]",f));continue}if(/\d/.test(y)){let T=c(ge=>/[\d.]/.test(ge)),N=e,q=c(ge=>/[a-zA-Z]/.test(ge));ka.has(q)?t.push(g("TIME_EXPRESSION",T+q,f)):(e=N,t.push(g("NUMBER",T,f)));continue}if(y==="("){o(),t.push(g("LPAREN","(",f));continue}if(y===")"){o(),t.push(g("RPAREN",")",f));continue}if(y==="{"){o(),t.push(g("LBRACE","{",f));continue}if(y==="}"){o(),t.push(g("RBRACE","}",f));continue}if(y===","){o(),t.push(g("COMMA",",",f));continue}if(y===":"){o(),t.push(g("COLON",":",f));continue}if(y==="."){o(),t.push(g("DOT",".",f));continue}if(y==="+"||y==="-"||y==="*"||y==="/"||y==="%"){o(),t.push(g("OPERATOR",y,f));continue}if(y==="="||y==="!"||y==="<"||y===">"){let T=o();s()==="="&&(T+=o()),t.push(g("COMPARISON",T,f));continue}if(/[a-zA-Z_$]/.test(y)){let T=c(q=>/[\w$]/.test(q)),N=T.toLowerCase();za.has(N)?t.push(g("CONTEXT_VAR",T,f)):Ta.has(N)?t.push(g("LOGICAL",T,f)):Sa.has(N)?t.push(g("BOOLEAN",T,f)):t.push(g("IDENTIFIER",T,f));continue}o()}return t.push(g("EOF","",e)),t}var De=class{constructor(){this.tokens=[];this.current=0}parse(t){try{return this.tokens=xn(t),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(t){return this.peek().type===t}checkValue(t){return this.peek().value.toLowerCase()===t.toLowerCase()}match(...t){for(let e of t)if(this.check(e))return this.advance(),!0;return!1}parseExpression(){return this.parseOr()}parseOr(){let t=this.parseAnd();for(;this.checkValue("or");){let e=this.advance().value,r=this.parseAnd();t=this.createBinaryExpression(e,t,r)}return t}parseAnd(){let t=this.parseEquality();for(;this.checkValue("and");){let e=this.advance().value,r=this.parseEquality();t=this.createBinaryExpression(e,t,r)}return t}parseEquality(){let t=this.parseComparison();for(;this.match("COMPARISON")||this.checkValue("is")||this.checkValue("matches")||this.checkValue("contains")||this.checkValue("in");){let e=this.previous().value,r=this.parseComparison();t=this.createBinaryExpression(e,t,r)}return t}parseComparison(){let t=this.parseAddition();for(;this.check("COMPARISON");){let e=this.advance().value,r=this.parseAddition();t=this.createBinaryExpression(e,t,r)}return t}parseAddition(){let t=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let e=this.advance().value,r=this.parseMultiplication();t=this.createBinaryExpression(e,t,r)}return t}parseMultiplication(){let t=this.parseUnary();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%";){let e=this.advance().value,r=this.parseUnary();t=this.createBinaryExpression(e,t,r)}return t}parseUnary(){if(this.checkValue("not")||this.checkValue("no")||this.peek().value==="-"){let t=this.advance().value,e=this.parseUnary();return this.createUnaryExpression(t,e)}return this.parsePostfix()}parsePostfix(){let t=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let e=this.advance().value;t=this.createPropertyAccess(t,e)}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let e=this.advance().value;t=this.createPossessiveExpression(t,e)}else break;else if(this.match("LPAREN")){let e=this.parseArguments();t=this.createCallExpression(t,e)}else if(this.match("LBRACKET")){let e=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");t=this.createPropertyAccess(t,e)}else break;return t}parsePrimary(){let t=this.peek();if(this.match("NUMBER"))return this.createLiteral(parseFloat(t.value),"number",t);if(this.match("STRING")){let e=t.value.slice(1,-1);return this.createLiteral(e,"string",t)}if(this.match("BOOLEAN")){let e=t.value==="true"?!0:t.value==="false"?!1:t.value==="null"?null:void 0;return this.createLiteral(e,t.value,t)}if(this.match("TEMPLATE_LITERAL"))return{type:"templateLiteral",value:t.value,start:t.start,end:t.end,line:t.line,column:t.column};if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(t);if(this.match("ID_SELECTOR"))return this.createSelector(t.value,"id",t);if(this.match("CLASS_SELECTOR"))return this.createSelector(t.value,"class",t);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(t.value,"attribute",t);if(this.match("QUERY_SELECTOR")){let e=t.value.slice(1,-2);return this.createSelector(e,"query",t)}if(this.match("CONTEXT_VAR"))return this.createContextReference(t.value,t);if(this.match("IDENTIFIER"))return this.createIdentifier(t.value,t);if(this.match("LPAREN")){let e=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return e}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${t.value}`)}parseArguments(){let t=[];if(!this.check("RPAREN"))do t.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return t}parseArrayLiteral(){let t=[],e=this.previous().start;if(!this.check("RBRACKET"))do t.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return{type:"arrayLiteral",elements:t,start:e,end:this.previous().end}}parseObjectLiteral(){let t=[],e=this.previous().start;if(!this.check("RBRACE"))do{let r;if(this.check("STRING"))r=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER"))r=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let n=this.parseExpression();t.push({key:r,value:n})}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return{type:"objectLiteral",properties:t.map(r=>({type:"objectProperty",key:r.key,value:r.value})),start:e,end:this.previous().end}}parseTimeExpression(t){let e=t.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!e)throw new Error(`Invalid time expression: ${t.value}`);let r=parseFloat(e[1]),n=e[2].toLowerCase();return{type:"timeExpression",value:r,unit:n,raw:t.value,start:t.start,end:t.end,line:t.line,column:t.column}}createLiteral(t,e,r){return{type:"literal",value:t,dataType:e,raw:r.value,start:r.start,end:r.end,line:r.line,column:r.column}}createSelector(t,e,r){return{type:"selector",value:t,selector:t,selectorType:e,start:r.start,end:r.end,line:r.line,column:r.column}}createContextReference(t,e){return{type:"contextReference",contextType:t,name:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createIdentifier(t,e){return{type:"identifier",name:t,start:e.start,end:e.end,line:e.line,column:e.column}}createPropertyAccess(t,e){return{type:"propertyAccess",object:t,property:typeof e=="string"?e:e.name??"",start:t.start,end:this.previous().end}}createPossessiveExpression(t,e){return{type:"possessiveExpression",object:t,property:e,start:t.start,end:this.previous().end}}createBinaryExpression(t,e,r){return{type:"binaryExpression",operator:t,left:e,right:r,start:e.start,end:r.end}}createUnaryExpression(t,e){return{type:"unaryExpression",operator:t,operand:e,prefix:!0,start:this.previous().start,end:e.end}}createCallExpression(t,e){return{type:"callExpression",callee:t,arguments:e,start:t.start,end:this.previous().end}}};function Lt(i){return new De().parse(i)}function I(i,t){switch(i.type){case"literal":return xa(i);case"selector":return ba(i,t);case"reference":return wa(i);case"property-path":return La(i,t);case"expression":return Pa(i);default:let e=i;throw new Error(`Unknown semantic value type: ${e.type}`)}}function xa(i){let t={type:"literal",value:i.value};return i.dataType?{...t,dataType:i.dataType}:t}function ba(i,t){return t&&i.value.startsWith("*")&&/^[a-zA-Z-]/.test(i.value.slice(1))&&t.push(`Converted '${i.value}' to a CSS selector, but it looks like a CSS property name. CSS properties in commands like 'transition' should be literal strings, not selectors. Consider using expectedTypes: ['literal'] instead of ['literal', 'selector'] in the command schema.`),{type:"selector",value:i.value,selector:i.value,selectorType:i.selectorKind}}function wa(i){return{type:"contextReference",contextType:i.value,name:i.value}}function La(i,t){return{type:"propertyAccess",object:I(i.object,t),property:i.property}}function Pa(i){let t=Lt(i.raw);return!t.success||!t.node?{type:"identifier",name:i.raw}:t.node}function bn(i,t){return i.roles.get(t)}function d(i,t,e){let r=bn(i,t);return r?I(r,e):void 0}function z(i,t=[],e,r={}){let n={type:"command",name:i,args:t};return e&&Object.keys(e).length>0&&(n.modifiers=e),r.isBlocking&&(n.isBlocking=r.isBlocking),r.implicitTarget&&(n.implicitTarget=r.implicitTarget),n}var Ea={action:"toggle",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=d(i,"duration"),a=e?[e]:[],s={};return r&&(s.on=r),n&&(s.for=n),z("toggle",a,s)}},Ra={action:"add",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=e?[e]:[],a={};return r&&(a.to=r),z("add",n,a)}},Ca={action:"remove",toAST(i,t){let e=d(i,"patient"),r=d(i,"source"),n=e?[e]:[],a={};return r&&(a.from=r),z("remove",n,a)}},Na={action:"set",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=[],a={};return e&&n.push(e),r&&(a.to=r),z("set",n,a)}},ja={action:"show",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=d(i,"duration"),a=[],s={},o=e??r;return o&&a.push(o),n&&(s.with=n),z("show",a,s)}},Ma={action:"hide",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=d(i,"duration"),a=[],s={},o=e??r;return o&&a.push(o),n&&(s.with=n),z("hide",a,s)}},Aa={action:"increment",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=d(i,"quantity"),a=[],s={},o=e??r;return o&&a.push(o),n&&(s.by=n),z("increment",a,s)}},Ia={action:"decrement",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=d(i,"quantity"),a=[],s={},o=e??r;return o&&a.push(o),n&&(s.by=n),z("decrement",a,s)}},Va={action:"wait",toAST(i,t){let e=d(i,"duration");return z("wait",e?[e]:[],void 0,{isBlocking:!0})}},Oa={action:"log",toAST(i,t){let e=d(i,"patient"),r=[];return e&&r.push(e),z("log",r)}},Wa={action:"put",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=bn(i,"method"),a=e?[e]:[],s={};if(r){let o=n?.type==="literal"?String(n.value):"into";s[o]=r}return z("put",a,s)}},_a={action:"fetch",toAST(i,t){let e=d(i,"source"),r=d(i,"method"),n=d(i,"responseType"),a=d(i,"patient"),s=e?[e]:[],o={};return r&&(o.with=r),n&&(o.as=n),a&&(o.body=a),z("fetch",s,o,{isBlocking:!0})}},Ka={action:"append",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=e?[e]:[],a={};return r&&(a.to=r),z("append",n,a)}},qa={action:"prepend",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=e?[e]:[],a={};return r&&(a.to=r),z("prepend",n,a)}},Ua={action:"trigger",toAST(i,t){let e=d(i,"event"),r=d(i,"destination"),n=e?[e]:[],a={};return r&&(a.on=r),z("trigger",n,a)}},Ba={action:"send",toAST(i,t){let e=d(i,"event"),r=d(i,"destination"),n=d(i,"patient"),a=e?[e]:[],s={};return r&&(s.to=r),n&&(s.detail=n),z("send",a,s)}},$a={action:"go",toAST(i,t){let e=d(i,"source"),r=d(i,"destination"),n=[],a={};return e&&n.push(e),r&&(a.to=r),z("go",n,a)}},Fa={action:"transition",toAST(i,t){let e=d(i,"patient"),r=d(i,"goal"),n=d(i,"duration"),a=d(i,"destination"),s=e?[e]:[],o={};return r&&(o.to=r),n&&(o.over=n),a&&(o.on=a),z("transition",s,o)}},Ga={action:"focus",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=[],a={},s=e??r;return s&&n.push(s),z("focus",n,a)}},Ha={action:"blur",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=[],a=e??r;return a&&n.push(a),z("blur",n)}},Da={action:"get",toAST(i,t){let e=d(i,"source"),r=d(i,"patient"),n=[],a=e??r;return a&&n.push(a),z("get",n)}},Xa={action:"take",toAST(i,t){let e=d(i,"patient"),r=d(i,"source"),n=e?[e]:[],a={};return r&&(a.from=r),z("take",n,a)}},Qa={action:"call",toAST(i,t){let e=d(i,"patient");return z("call",e?[e]:[])}},Za={action:"return",toAST(i,t){let e=d(i,"patient");return z("return",e?[e]:[])}},Ja={action:"halt",toAST(i,t){return z("halt",[])}},Ya={action:"throw",toAST(i,t){let e=d(i,"patient");return z("throw",e?[e]:[])}},eo={action:"settle",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=[],a=e??r;return a&&n.push(a),z("settle",n,void 0,{isBlocking:!0})}},to={action:"swap",toAST(i,t){let e=d(i,"patient"),r=d(i,"source"),n=d(i,"destination"),a=d(i,"style"),s=[],o={};return e&&s.push(e),r&&s.push(r),n&&(o.on=n),a&&(o.with=a),z("swap",s,o)}},no={action:"morph",toAST(i,t){let e=d(i,"source"),r=d(i,"destination"),n=d(i,"patient"),a=[],s={},o=e??n;return o&&a.push(o),r&&(s.on=r),z("morph",a,s)}},ro={action:"clone",toAST(i,t){let e=d(i,"source"),r=d(i,"destination"),n=d(i,"patient"),a=[],s={},o=e??n;return o&&a.push(o),r&&(s.into=r),z("clone",a,s)}},io={action:"make",toAST(i,t){let e=d(i,"patient");return z("make",e?[e]:[])}},ao={action:"measure",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=d(i,"source"),a=[],s={};e&&a.push(e);let o=r??n;return o&&(s.of=o),z("measure",a,s)}},oo={action:"tell",toAST(i,t){let e=d(i,"destination"),r=d(i,"patient"),n=[],a=e??r;return a&&n.push(a),z("tell",n)}},so={action:"js",toAST(i,t){let e=d(i,"patient");return z("js",e?[e]:[])}},lo={action:"async",toAST(i,t){return z("async",[])}},co={action:"if",toAST(i,t){let e=d(i,"condition");return z("if",e?[e]:[])}},mo={action:"unless",toAST(i,t){let e=d(i,"condition");return z("unless",e?[e]:[])}},po={action:"repeat",toAST(i,t){let e=d(i,"quantity"),r=d(i,"patient"),n=[],a=e??r;return a&&n.push(a),z("repeat",n)}},uo={action:"for",toAST(i,t){let e=d(i,"patient"),r=d(i,"source"),n=e?[e]:[],a={};return r&&(a.in=r),z("for",n,a)}},fo={action:"while",toAST(i,t){let e=d(i,"condition");return z("while",e?[e]:[])}},go={action:"continue",toAST(i,t){return z("continue",[])}},yo={action:"default",toAST(i,t){let e=d(i,"patient"),r=d(i,"source"),n=e?[e]:[],a={};return r&&(a.to=r),z("default",n,a)}},ho={action:"init",toAST(i,t){return z("init",[])}},vo={action:"behavior",toAST(i,t){let e=d(i,"patient");return z("behavior",e?[e]:[])}},zo={action:"install",toAST(i,t){let e=d(i,"patient"),r=d(i,"destination"),n=e?[e]:[],a={};return r&&(a.on=r),z("install",n,a)}},To={action:"on",toAST(i,t){let e=d(i,"event"),r=d(i,"source"),n=e?[e]:[],a={};return r&&(a.from=r),z("on",n,a)}},wn=new Map([["toggle",Ea],["add",Ra],["remove",Ca],["set",Na],["show",ja],["hide",Ma],["increment",Aa],["decrement",Ia],["wait",Va],["log",Oa],["put",Wa],["fetch",_a],["append",Ka],["prepend",qa],["get",Da],["take",Xa],["trigger",Ua],["send",Ba],["on",To],["go",$a],["transition",Fa],["focus",Ga],["blur",Ha],["call",Qa],["return",Za],["halt",Ja],["throw",Ya],["settle",eo],["swap",to],["morph",no],["clone",ro],["measure",ao],["make",io],["tell",oo],["default",yo],["js",so],["async",lo],["if",co],["unless",mo],["repeat",po],["for",uo],["while",fo],["continue",go],["init",ho],["behavior",vo],["install",zo]]);function Le(i){return wn.get(i)}function Pt(i){wn.set(i.action,i)}var Pe=class{constructor(t={}){this.warnings=[]}build(t){switch(t.kind){case"command":return this.buildCommand(t);case"event-handler":return this.buildEventHandler(t);case"conditional":return this.buildConditional(t);case"compound":return this.buildCompound(t);case"loop":return this.buildLoop(t);default:throw new Error(`Unknown semantic node kind: ${t.kind}`)}}buildCommand(t){let e=Le(t.action);if(e){let r=e.toAST(t,this);if("ast"in r&&"warnings"in r){let n=r;return this.warnings.push(...n.warnings),n.ast}else return r}return this.buildGenericCommand(t)}buildGenericCommand(t){let e=[],r={},n=["patient","source","quantity"],a=["destination","duration","method","style"];for(let o of n){let l=t.roles.get(o);l&&e.push(I(l))}for(let o of a){let l=t.roles.get(o);if(l){let c=this.roleToModifierKey(o);r[c]=I(l)}}let s={type:"command",name:t.action,args:e};return Object.keys(r).length>0?{...s,modifiers:r}:s}roleToModifierKey(t){return{destination:"on",duration:"for",source:"from",condition:"if",method:"via",style:"with"}[t]??t}buildEventHandler(t){let e=t.roles.get("event"),r,n;if(e?.type==="literal"){let T=String(e.value);T.includes("|")||T.includes(" or ")?(n=T.split(/\s+or\s+|\|/).map(N=>N.trim()),r=n[0]):r=T}else e?.type==="reference"?r=e.value:r="click";let a=t.body.map(T=>this.build(T)),s=t.roles.get("source"),o,l;s?.type==="selector"?(o=s.value,l=s.value):s?.type==="reference"?l=s.value:s?.type==="literal"&&(l=String(s.value));let c=t.roles.get("condition"),m=c?I(c):void 0,v=t.roles.get("destination"),h=v?I(v):void 0,g=t.eventModifiers,f=o;if(g?.from){let T=g.from;T.type==="selector"&&!o&&(f=T.value)}let y=t.parameterNames?[...t.parameterNames]:void 0;return{type:"eventHandler",event:r,commands:a,...n&&n.length>1?{events:n}:{},...f?{selector:f}:{},...l?{target:l}:{},...m?{condition:m}:{},...h?{watchTarget:h}:{},...y&&y.length>0?{args:y,params:y}:{}}}buildConditional(t){let e=t.roles.get("condition");if(!e)throw new Error("Conditional node missing condition");let r=I(e),n=t.thenBranch.map(o=>this.build(o)),a=t.elseBranch?.map(o=>this.build(o)),s=[r,{type:"block",commands:n}];return a&&a.length>0&&s.push({type:"block",commands:a}),{type:"command",name:"if",args:s}}buildCompound(t){let e=t.statements.map(n=>this.build(n));return e.length===1?e[0]:e.length===0?{type:"block",commands:[]}:{type:"CommandSequence",commands:e}}buildLoop(t){let e=t.body.map(n=>this.build(n)),r=[{type:"identifier",name:t.loopVariant}];switch(t.loopVariant){case"times":{let n=t.roles.get("quantity");n&&r.push(I(n));break}case"for":{t.loopVariable&&r.push({type:"string",value:t.loopVariable});let n=t.roles.get("source");n&&r.push(I(n));break}case"while":case"until":{let n=t.roles.get("condition");n&&r.push(I(n));break}case"forever":break}return r.push({type:"block",commands:e}),{type:"command",name:"repeat",args:r}}buildBlock(t){return{type:"block",commands:t.map(r=>this.build(r))}}};function Ln(i){let t=new Pe;return{ast:t.build(i),warnings:t.warnings}}var J=class{constructor(t={}){this.cache=new Map,this.config={maxSize:t.maxSize??1e3,ttlMs:t.ttlMs??0,enabled:t.enabled??!0},this.stats={hits:0,misses:0,evictions:0,expirations:0}}makeKey(t,e){return`${e}:${t}`}isExpired(t){return this.config.ttlMs===0?!1:Date.now()-t.createdAt>this.config.ttlMs}evictLRU(){let t=this.cache.keys().next().value;t!==void 0&&(this.cache.delete(t),this.stats.evictions++)}get(t,e){if(!this.config.enabled){this.stats.misses++;return}let r=this.makeKey(t,e),n=this.cache.get(r);if(!n){this.stats.misses++;return}if(this.isExpired(n)){this.cache.delete(r),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(r),n.lastAccessed=Date.now(),this.cache.set(r,n),this.stats.hits++,n.result}set(t,e,r){if(!this.config.enabled||r.confidence===0)return;let n=this.makeKey(t,e),a=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(n,{result:r,createdAt:a,lastAccessed:a})}has(t,e){if(!this.config.enabled)return!1;let r=this.makeKey(t,e),n=this.cache.get(r);return n?this.isExpired(n)?(this.cache.delete(r),this.stats.expirations++,!1):!0:!1}delete(t,e){let r=this.makeKey(t,e);return this.cache.delete(r)}clear(){this.cache.clear()}resetStats(){this.stats={hits:0,misses:0,evictions:0,expirations:0}}getStats(){let t=this.stats.hits+this.stats.misses;return{hits:this.stats.hits,misses:this.stats.misses,size:this.cache.size,maxSize:this.config.maxSize,hitRate:t>0?this.stats.hits/t:0,evictions:this.stats.evictions,expirations:this.stats.expirations,enabled:this.config.enabled}}configure(t){if(t.maxSize!==void 0)for(this.config.maxSize=t.maxSize;this.cache.size>this.config.maxSize;)this.evictLRU();t.ttlMs!==void 0&&(this.config.ttlMs=t.ttlMs),t.enabled!==void 0&&(this.config.enabled=t.enabled)}enable(){this.config.enabled=!0}disable(){this.config.enabled=!1}getConfig(){return{...this.config}}},Et=new J;var Ee=class{constructor(t={}){this.patternMatcher=new xe,this.languages=new Set(Re()),t.cache===!1?this.cache=new J({enabled:!1}):this.cache=t.cache?new J(t.cache):Et}analyze(t,e){if(!this.supportsLanguage(e))return{confidence:0,errors:[`Language '${e}' is not supported for semantic parsing`]};let r=this.cache.get(t,e);if(r)return r;let n=this.analyzeUncached(t,e);return this.cache.set(t,e,n),n}analyzeUncached(t,e){try{let r=Tn(e);if(!r)return{confidence:0,errors:[`No tokenizer available for language '${e}'`]};let n=r.tokenize(t),a=O(e);if(a.length===0)return{confidence:0,errors:[`No patterns available for language '${e}'`]};let s=this.patternMatcher.matchBest(n,a);if(!s)return{confidence:0,errors:["No pattern matched the input"]};let o=this.buildSemanticNode(s);return{confidence:s.confidence,command:{name:s.pattern.command,roles:s.captured},node:o,tokensConsumed:s.consumedTokens}}catch(r){return{confidence:0,errors:[r instanceof Error?r.message:String(r)]}}}supportsLanguage(t){return this.languages.has(t)}supportedLanguages(){return Array.from(this.languages)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}configureCache(t){this.cache.configure(t)}buildSemanticNode(t){return{kind:"command",action:t.pattern.command,roles:t.captured,metadata:{patternId:t.pattern.id}}}};function Pn(i){return new Ee(i)}var Rt=.5,En=.8;function Rn(i,t=Rt){return i.confidence>=t&&i.command!==void 0}var So="1.0.0-priority",Ct=["en","es","pt","fr","de","ja","zh","ko","ar","tr","id"];function ko(){return[...Ct]}function Cn(i){if(!Ct.includes(i))throw new Error(`Language not supported in this bundle: ${i}. Supported: ${Ct.join(", ")}`)}function xo(i,t){return Cn(t),[...$e(i,t).tokens]}function Nn(i){return Cn(i),O(i)}function bo(i,t){return Nn(i).filter(e=>e.command===t).sort((e,r)=>r.priority-e.priority)}return On(wo);})();
|
|
1
|
+
"use strict";var LokaScriptSemanticPriority=(()=>{var ht=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var pr=Object.getOwnPropertyNames;var ur=Object.prototype.hasOwnProperty;var fr=(a,t)=>{for(var e in t)ht(a,e,{get:t[e],enumerable:!0})},gr=(a,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of pr(t))!ur.call(a,n)&&n!==e&&ht(a,n,{get:()=>t[n],enumerable:!(r=dr(t,n))||r.enumerable});return a};var yr=a=>gr(ht({},"__esModule",{value:!0}),a);var Ts={};fr(Ts,{ASTBuilder:()=>_e,DEFAULT_CONFIDENCE_THRESHOLD:()=>Jt,HIGH_CONFIDENCE_THRESHOLD:()=>or,SemanticAnalyzerImpl:()=>Ke,VERSION:()=>hs,arabicProfile:()=>ve,arabicTokenizer:()=>st,buildAST:()=>ir,canParse:()=>Dt,chineseProfile:()=>ge,chineseTokenizer:()=>rt,createCommandNode:()=>D,createEventHandler:()=>re,createLiteral:()=>P,createPropertyPath:()=>Se,createReference:()=>K,createSelector:()=>U,createSemanticAnalyzer:()=>ar,englishProfile:()=>Z,englishTokenizer:()=>Ze,frenchProfile:()=>pe,frenchTokenizer:()=>et,fromExplicit:()=>Ht,germanProfile:()=>ue,germanTokenizer:()=>tt,getCommandMapper:()=>We,getPatternsForLanguage:()=>cr,getPatternsForLanguageAndCommand:()=>zs,getProfile:()=>Tt,getSupportedLanguages:()=>vs,getTokenizer:()=>zt,indonesianProfile:()=>ze,indonesianTokenizer:()=>ct,isExplicitSyntax:()=>xe,isLanguageSupported:()=>ln,japaneseProfile:()=>fe,japaneseTokenizer:()=>nt,koreanProfile:()=>ye,koreanTokenizer:()=>at,parse:()=>J,parseAny:()=>Xt,parseExplicit:()=>ae,portugueseProfile:()=>de,portugueseTokenizer:()=>Je,registerCommandMapper:()=>Zt,render:()=>Oe,renderExplicit:()=>Ve,shouldUseSemanticResult:()=>sr,spanishProfile:()=>me,spanishTokenizer:()=>Ye,toExplicit:()=>Gt,tokenize:()=>ks,tryGetProfile:()=>$,turkishProfile:()=>ke,turkishTokenizer:()=>lt});var F=new Map,ee=new Map,le=new Map;var rn=null;function an(a,t){let e={...a};for(let r of Object.keys(t)){let n=t[r],i=a[r];n!==void 0&&(typeof n=="object"&&n!==null&&!Array.isArray(n)&&typeof i=="object"&&i!==null&&!Array.isArray(i)?e[r]=an(i,n):e[r]=n)}return e}function hr(a,t){return an(a,t)}function kt(a){if(!a.extends)return a;let t=ee.get(a.extends);if(!t)return console.warn(`[Registry] Profile '${a.code}' extends '${a.extends}' but base is not registered. Make sure to import the base language before the variant.`),a;let e=kt(t);return hr(e,a)}function j(a,t,e){F.set(a,t),ee.set(a,e),le.delete(a)}var vt=new Map;function on(a,t){vt.set(a,t),le.delete(a)}function te(a){return a.split("-")[0]}function ne(a){return a.includes("-")}function zt(a){let t=F.get(a);if(!t&&ne(a)){let e=te(a);t=F.get(e)}if(!t){let e=Array.from(F.keys()).join(", ");throw new Error(`Language '${a}' is not registered. Registered languages: ${e||"none"}. Import the language module first: import '@lokascript/semantic/languages/${a}';`)}return t}function Tt(a){let t=ee.get(a);if(!t&&ne(a)){let e=te(a);t=ee.get(e)}if(!t){let e=Array.from(ee.keys()).join(", ");throw new Error(`Language profile '${a}' is not registered. Registered languages: ${e||"none"}. Import the language module first: import '@lokascript/semantic/languages/${a}';`)}return kt(t)}function sn(a){let t=F.get(a);return!t&&ne(a)&&(t=F.get(te(a))),t}function $(a){let t=ee.get(a);return!t&&ne(a)&&(t=ee.get(te(a))),t?kt(t):void 0}function $e(){return Array.from(F.keys())}function ln(a){return F.has(a)?!0:ne(a)?F.has(te(a)):!1}function cn(a,t){return zt(t).tokenize(a)}function B(a){let t=le.get(a);if(!t&&ne(a)&&(t=le.get(te(a))),t)return t;let e=vt.get(a);if(!e&&ne(a)&&(e=vt.get(te(a))),e)return le.set(a,e),e;if(!rn)throw new Error(`No patterns registered for language '${a}'. Either import the language module or set a pattern generator.`);let r=Tt(a),n=rn(r);return le.set(a,n),n}function mn(a,t){return B(a).filter(e=>e.command===t).sort((e,r)=>r.priority-e.priority)}var w=class{constructor(t,e){this.pos=0;this.tokens=t,this.language=e}peek(t=0){let e=this.pos+t;return e<0||e>=this.tokens.length?null:this.tokens[e]}advance(){if(this.isAtEnd())throw new Error("Unexpected end of token stream");return this.tokens[this.pos++]}isAtEnd(){return this.pos>=this.tokens.length}mark(){return{position:this.pos}}reset(t){this.pos=t.position}position(){return this.pos}remaining(){return this.tokens.slice(this.pos)}takeWhile(t){let e=[];for(;!this.isAtEnd()&&t(this.peek());)e.push(this.advance());return e}skipWhile(t){for(;!this.isAtEnd()&&t(this.peek());)this.advance()}};function h(a,t){return{start:a,end:t}}function v(a,t,e,r){if(typeof r=="string")return{value:a,kind:t,position:e,normalized:r};if(r){let{normalized:n,stem:i,stemConfidence:s}=r;return{value:a,kind:t,position:e,...n!==void 0&&{normalized:n},...i!==void 0&&{stem:i},...s!==void 0&&{stemConfidence:s}}}return{value:a,kind:t,position:e}}function S(a){return/\s/.test(a)}function E(a){return a==="#"||a==="."||a==="["||a==="@"||a==="*"||a==="<"}function R(a){return a==='"'||a==="'"||a==="`"||a==="\u300C"||a==="\u300D"}function T(a){return/\d/.test(a)}function Be(a){return/[a-zA-Z]/.test(a)}function b(a){return/[a-zA-Z0-9_-]/.test(a)}function _(a){return t=>{let e=t.charCodeAt(0);return a.some(([r,n])=>e>=r&&e<=n)}}function ce(...a){return t=>a.some(e=>e(t))}function W(a){let t=r=>a.test(r);return{isLetter:t,isIdentifierChar:r=>t(r)||/[0-9_-]/.test(r)}}function Fe(a,t){if(t>=a.length)return null;let e=a[t];if(!E(e))return null;let r=t,n="";if(e==="#"||e==="."){for(n+=a[r++];r<a.length&&b(a[r]);)n+=a[r++];if(n.length<=1)return null;if(r<a.length&&a[r]==="."&&e==="#"){let s=r+1;for(;s<a.length&&b(a[s]);)s++;if(s<a.length&&a[s]==="(")return n}}else if(e==="["){let i=1,s=!1,o=null,l=!1;for(n+=a[r++];r<a.length&&i>0;){let c=a[r];n+=c,l?l=!1:c==="\\"?l=!0:s?c===o&&(s=!1,o=null):c==='"'||c==="'"||c==="`"?(s=!0,o=c):c==="["?i++:c==="]"&&i--,r++}if(i!==0)return null}else if(e==="@"){for(n+=a[r++];r<a.length&&b(a[r]);)n+=a[r++];if(n.length<=1)return null}else if(e==="*"){for(n+=a[r++];r<a.length&&b(a[r]);)n+=a[r++];if(n.length<=1)return null}else if(e==="<"){if(n+=a[r++],r>=a.length||!Be(a[r]))return null;for(;r<a.length&&b(a[r]);)n+=a[r++];for(;r<a.length;){let i=a[r];if(i==="."){if(n+=a[r++],r>=a.length||!b(a[r]))return null;for(;r<a.length&&b(a[r]);)n+=a[r++]}else if(i==="#"){if(n+=a[r++],r>=a.length||!b(a[r]))return null;for(;r<a.length&&b(a[r]);)n+=a[r++]}else if(i==="["){let s=1,o=!1,l=null,c=!1;for(n+=a[r++];r<a.length&&s>0;){let m=a[r];n+=m,c?c=!1:m==="\\"?c=!0:o?m===l&&(o=!1,l=null):m==='"'||m==="'"||m==="`"?(o=!0,l=m):m==="["?s++:m==="]"&&s--,r++}if(s!==0)return null}else break}for(;r<a.length&&S(a[r]);)n+=a[r++];if(r<a.length&&a[r]==="/")for(n+=a[r++];r<a.length&&S(a[r]);)n+=a[r++];if(r>=a.length||a[r]!==">")return null;n+=a[r++]}return n||null}function De(a,t){if(t>=a.length||a[t]!=="'"||t+1>=a.length||a[t+1].toLowerCase()!=="s")return!1;if(t+2>=a.length)return!0;let r=a[t+2];return S(r)||r==="*"||!b(r)}function Ge(a,t){if(t>=a.length)return null;let e=a[t];if(!R(e)||e==="'"&&De(a,t))return null;let n={'"':'"',"'":"'","`":"`","\u300C":"\u300D"}[e];if(!n)return null;let i=t+1,s=e,o=!1;for(;i<a.length;){let l=a[i];if(s+=l,o)o=!1;else if(l==="\\")o=!0;else if(l===n)return s;i++}return s}function N(a,t){if(t>=a.length)return!1;let e=a[t],r=a[t+1]||"",n=a[t+2]||"";if(e==="/"&&r!=="/"&&/[a-zA-Z0-9._-]/.test(r)||e==="/"&&r==="/"&&/[a-zA-Z]/.test(n)||e==="."&&(r==="/"||r==="."&&n==="/"))return!0;let i=a.slice(t,t+8).toLowerCase();return!!(i.startsWith("http://")||i.startsWith("https://"))}function He(a,t){if(!N(a,t))return null;let e=t,r="",n=/[a-zA-Z0-9/:._\-?&=%@+~!$'()*,;[\]]/;for(;e<a.length;){let i=a[e];if(i==="#"){if(r.length>0&&/[a-zA-Z0-9/.]$/.test(r))for(r+=i,e++;e<a.length&&/[a-zA-Z0-9_-]/.test(a[e]);)r+=a[e++];break}if(n.test(i))r+=i,e++;else break}return r.length<2?null:r}function Xe(a,t){if(t>=a.length)return null;let e=a[t];if(!T(e)&&e!=="-"&&e!=="+")return null;let r=t,n="";if((a[r]==="-"||a[r]==="+")&&(n+=a[r++]),r>=a.length||!T(a[r]))return null;for(;r<a.length&&T(a[r]);)n+=a[r++];if(r<a.length&&a[r]===".")for(n+=a[r++];r<a.length&&T(a[r]);)n+=a[r++];return r<a.length&&(a.slice(r,r+2)==="ms"?n+="ms":(a[r]==="s"||a[r]==="m"||a[r]==="h")&&(n+=a[r])),n}var Qe=class Qe{constructor(){this.profileKeywords=[];this.profileKeywordMap=new Map}tryPropertyAccess(t,e,r){if(t[e]!==".")return!1;let n=r[r.length-1],i=n&&n.position.end<e;if(n&&!i&&(n.kind==="identifier"||n.kind==="keyword"||n.kind==="selector"))return r.push(v(".","operator",h(e,e+1))),!0;let l=e+1;for(;l<t.length&&b(t[l]);)l++;return l<t.length&&t[l]==="("?(r.push(v(".","operator",h(e,e+1))),!0):!1}initializeKeywordsFromProfile(t,e=[]){let r=new Map;if(t.keywords){for(let[n,i]of Object.entries(t.keywords))if(r.set(i.primary,{native:i.primary,normalized:i.normalized||n}),i.alternatives)for(let s of i.alternatives)r.set(s,{native:s,normalized:i.normalized||n})}if(t.references){for(let[n,i]of Object.entries(t.references))r.set(i,{native:i,normalized:n});for(let n of Object.keys(t.references))r.has(n)||r.set(n,{native:n,normalized:n})}if(t.roleMarkers){for(let[n,i]of Object.entries(t.roleMarkers))if(i.primary&&r.set(i.primary,{native:i.primary,normalized:n}),i.alternatives)for(let s of i.alternatives)r.set(s,{native:s,normalized:n})}for(let n of e)r.set(n.native,n);this.profileKeywords=Array.from(r.values()).sort((n,i)=>i.native.length-n.native.length),this.profileKeywordMap=new Map;for(let n of this.profileKeywords){this.profileKeywordMap.set(n.native.toLowerCase(),n);let i=this.removeDiacritics(n.native);i!==n.native&&!this.profileKeywordMap.has(i.toLowerCase())&&this.profileKeywordMap.set(i.toLowerCase(),n)}}removeDiacritics(t){return t.replace(/[\u064B-\u0652\u0670]/g,"")}tryProfileKeyword(t,e){for(let r of this.profileKeywords)if(t.slice(e).startsWith(r.native))return v(r.native,"keyword",h(e,e+r.native.length),r.normalized);return null}isKeywordStart(t,e){let r=t.slice(e);return this.profileKeywords.some(n=>r.startsWith(n.native))}lookupKeyword(t){return this.profileKeywordMap.get(t.toLowerCase())}isKeyword(t){return this.profileKeywordMap.has(t.toLowerCase())}setNormalizer(t){this.normalizer=t}tryNormalize(t){if(!this.normalizer)return null;let e=this.normalizer.normalize(t);return e.stem!==t&&e.confidence>=.7?e:null}tryMorphKeywordMatch(t,e,r){let n=this.tryNormalize(t);if(!n)return null;let i=this.lookupKeyword(n.stem);if(!i)return null;let s={normalized:i.normalized,stem:n.stem,stemConfidence:n.confidence};return v(t,"keyword",h(e,r),s)}trySelector(t,e){let r=Fe(t,e);return r?v(r,"selector",h(e,e+r.length)):null}tryEventModifier(t,e){if(t[e]!==".")return null;let r=t.slice(e).match(/^\.(?:once|debounce|throttle|queue)(?:\(([^)]+)\))?(?:\s|$|\.)/);if(!r)return null;let n=r[0].replace(/(\s|\.)$/,""),i=n.slice(1).split("(")[0],s=r[1];return{...v(n,"event-modifier",h(e,e+n.length)),metadata:{modifierName:i,value:s?i==="queue"?s:parseInt(s,10):void 0}}}tryString(t,e){let r=Ge(t,e);return r?v(r,"literal",h(e,e+r.length)):null}tryNumber(t,e){let r=Xe(t,e);return r?v(r,"literal",h(e,e+r.length)):null}tryMatchTimeUnit(t,e,r,n=!1){let i=e;if(n)for(;i<t.length&&S(t[i]);)i++;let s=t.slice(i);for(let o of r){let l=s.slice(0,o.length);if(o.caseInsensitive?l.toLowerCase()===o.pattern.toLowerCase():l===o.pattern){if(o.notFollowedBy&&(s[o.length]||"")===o.notFollowedBy)continue;if(o.checkBoundary){let m=s[o.length]||"";if(b(m))continue}return{suffix:o.suffix,endPos:i+o.length}}}return null}parseBaseNumber(t,e,r=!0){let n=e,i="";if(r&&(t[n]==="-"||t[n]==="+")&&(i+=t[n++]),n>=t.length||!T(t[n]))return null;for(;n<t.length&&T(t[n]);)i+=t[n++];if(n<t.length&&t[n]===".")for(i+=t[n++];n<t.length&&T(t[n]);)i+=t[n++];return!i||i==="-"||i==="+"?null:{number:i,endPos:n}}tryNumberWithTimeUnits(t,e,r,n={}){let{allowSign:i=!0,skipWhitespace:s=!1}=n,o=this.parseBaseNumber(t,e,i);if(!o)return null;let{number:l,endPos:c}=o,m=[...r,...Qe.STANDARD_TIME_UNITS],u=this.tryMatchTimeUnit(t,c,m,s);return u&&(l+=u.suffix,c=u.endPos),v(l,"literal",h(e,c))}tryUrl(t,e){let r=He(t,e);return r?v(r,"url",h(e,e+r.length)):null}tryVariableRef(t,e){if(t[e]!==":"||e+1>=t.length||!b(t[e+1]))return null;let r=e+1;for(;r<t.length&&b(t[r]);)r++;let n=t.slice(e,r);return v(n,"identifier",h(e,r))}tryOperator(t,e){let r=t.slice(e,e+2);if(["==","!=","<=",">=","&&","||","->"].includes(r))return v(r,"operator",h(e,e+2));let n=t[e];return["<",">","!","+","-","*","/","="].includes(n)?v(n,"operator",h(e,e+1)):["(",")","{","}",",",";",":"].includes(n)?v(n,"punctuation",h(e,e+1)):null}tryMultiCharParticle(t,e,r){for(let n of r)if(t.slice(e,e+n.length)===n)return v(n,"particle",h(e,e+n.length));return null}};Qe.STANDARD_TIME_UNITS=[{pattern:"ms",suffix:"ms",length:2},{pattern:"s",suffix:"s",length:1,checkBoundary:!0},{pattern:"m",suffix:"m",length:1,checkBoundary:!0,notFollowedBy:"s"},{pattern:"h",suffix:"h",length:1,checkBoundary:!0}];var C=Qe;var Z={code:"en",name:"English",nativeName:"English",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"base",verb:{position:"start",subjectDrop:!1},references:{me:"me",it:"it",you:"you",result:"result",event:"event",target:"target",body:"body"},possessive:{marker:"'s",markerPosition:"after-object",specialForms:{me:"my",it:"its",you:"your"},keywords:{my:"me",your:"you",its:"it"}},roleMarkers:{destination:{primary:"on",alternatives:["to","from"],position:"before"},source:{primary:"from",position:"before"},patient:{primary:"",position:"before"},style:{primary:"with",alternatives:["by","using"],position:"before"},responseType:{primary:"as",position:"before"},method:{primary:"via",alternatives:["using"],position:"before"}},keywords:{toggle:{primary:"toggle"},add:{primary:"add"},remove:{primary:"remove"},put:{primary:"put"},append:{primary:"append"},prepend:{primary:"prepend"},take:{primary:"take"},make:{primary:"make"},clone:{primary:"clone"},swap:{primary:"swap"},morph:{primary:"morph"},set:{primary:"set"},get:{primary:"get"},increment:{primary:"increment"},decrement:{primary:"decrement"},log:{primary:"log"},show:{primary:"show"},hide:{primary:"hide"},transition:{primary:"transition"},on:{primary:"on"},trigger:{primary:"trigger"},send:{primary:"send"},focus:{primary:"focus"},blur:{primary:"blur"},go:{primary:"go"},wait:{primary:"wait"},fetch:{primary:"fetch"},settle:{primary:"settle"},if:{primary:"if"},when:{primary:"when",normalized:"when"},where:{primary:"where",normalized:"where"},else:{primary:"else"},repeat:{primary:"repeat"},for:{primary:"for"},while:{primary:"while"},continue:{primary:"continue"},halt:{primary:"halt"},throw:{primary:"throw"},call:{primary:"call"},return:{primary:"return"},then:{primary:"then"},and:{primary:"and"},end:{primary:"end"},js:{primary:"js"},async:{primary:"async"},tell:{primary:"tell"},default:{primary:"default"},init:{primary:"init"},behavior:{primary:"behavior"},install:{primary:"install"},measure:{primary:"measure"},beep:{primary:"beep"},break:{primary:"break"},copy:{primary:"copy"},exit:{primary:"exit"},pick:{primary:"pick"},render:{primary:"render"},into:{primary:"into"},before:{primary:"before"},after:{primary:"after"},until:{primary:"until"},event:{primary:"event"},from:{primary:"from"}}};var vr=[{native:"true",normalized:"true"},{native:"false",normalized:"false"},{native:"null",normalized:"null"},{native:"undefined",normalized:"undefined"},{native:"first",normalized:"first"},{native:"last",normalized:"last"},{native:"next",normalized:"next"},{native:"previous",normalized:"previous"},{native:"closest",normalized:"closest"},{native:"click",normalized:"click"},{native:"dblclick",normalized:"dblclick"},{native:"mousedown",normalized:"mousedown"},{native:"mouseup",normalized:"mouseup"},{native:"mouseover",normalized:"mouseover"},{native:"mouseout",normalized:"mouseout"},{native:"mouseenter",normalized:"mouseenter"},{native:"mouseleave",normalized:"mouseleave"},{native:"mousemove",normalized:"mousemove"},{native:"keydown",normalized:"keydown"},{native:"keyup",normalized:"keyup"},{native:"keypress",normalized:"keypress"},{native:"input",normalized:"input"},{native:"change",normalized:"change"},{native:"submit",normalized:"submit"},{native:"reset",normalized:"reset"},{native:"load",normalized:"load"},{native:"unload",normalized:"unload"},{native:"scroll",normalized:"scroll"},{native:"resize",normalized:"resize"},{native:"dragstart",normalized:"dragstart"},{native:"drag",normalized:"drag"},{native:"dragend",normalized:"dragend"},{native:"dragenter",normalized:"dragenter"},{native:"dragleave",normalized:"dragleave"},{native:"dragover",normalized:"dragover"},{native:"drop",normalized:"drop"},{native:"touchstart",normalized:"touchstart"},{native:"touchmove",normalized:"touchmove"},{native:"touchend",normalized:"touchend"},{native:"touchcancel",normalized:"touchcancel"},{native:"in",normalized:"in"},{native:"to",normalized:"to"},{native:"at",normalized:"at"},{native:"by",normalized:"by"},{native:"with",normalized:"with"},{native:"without",normalized:"without"},{native:"of",normalized:"of"},{native:"as",normalized:"as"},{native:"every",normalized:"every"},{native:"upon",normalized:"upon"},{native:"unless",normalized:"unless"},{native:"forever",normalized:"forever"},{native:"times",normalized:"times"},{native:"and",normalized:"and"},{native:"or",normalized:"or"},{native:"not",normalized:"not"},{native:"is",normalized:"is"},{native:"exists",normalized:"exists"},{native:"empty",normalized:"empty"},{native:"my",normalized:"my"},{native:"your",normalized:"your"},{native:"its",normalized:"its"},{native:"the",normalized:"the"},{native:"a",normalized:"a"},{native:"an",normalized:"an"},{native:"delete",normalized:"delete"},{native:"innerHTML",normalized:"innerHTML"},{native:"outerHTML",normalized:"outerHTML"},{native:"beforebegin",normalized:"beforebegin"},{native:"afterend",normalized:"afterend"},{native:"beforeend",normalized:"beforeend"},{native:"afterbegin",normalized:"afterbegin"},{native:"flip",normalized:"toggle"},{native:"switch",normalized:"toggle"},{native:"increase",normalized:"increment"},{native:"decrease",normalized:"decrement"},{native:"display",normalized:"show"},{native:"reveal",normalized:"show"},{native:"conceal",normalized:"hide"},{native:"colour",normalized:"color"},{native:"grey",normalized:"gray"},{native:"centre",normalized:"center"},{native:"behaviour",normalized:"behavior"},{native:"initialise",normalized:"initialize"},{native:"favourite",normalized:"favorite"}],St=class extends C{constructor(){super();this.language="en";this.direction="ltr";this.initializeKeywordsFromProfile(Z,vr)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(e[n]==="."){let c=r[r.length-1],m=c&&c.position.end<n;if(c&&!m&&(c.kind==="identifier"||c.kind==="keyword"||c.kind==="selector")){r.push(v(".","operator",h(n,n+1))),n++;continue}let p=n+1;for(;p<e.length&&b(e[p]);)p++;if(p<e.length&&e[p]==="("){r.push(v(".","operator",h(n,n+1))),n++;continue}}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){if(e[n]==="'"&&De(e,n)){r.push(v("'s","punctuation",h(n,n+2))),n+=2;continue}let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])||e[n]==="-"&&n+1<e.length&&T(e[n+1])){let o=this.tryNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}if(b(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new w(r,"en")}classifyToken(e){return this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(e)?"operator":e.startsWith("/")||e.startsWith("./")||e.startsWith("http")?"url":"identifier"}extractWord(e,r){let n=r,i="";for(;n<e.length&&b(e[n]);)i+=e[n++];if(!i)return null;if(n<e.length&&e[n]===":"){let c=n;n++;let m="";for(;n<e.length&&b(e[n]);)m+=e[n++];m?i=i+":"+m:n=c}let s=this.classifyToken(i),o=this.lookupKeyword(i),l=o&&o.normalized!==o.native?o.normalized:void 0;if(s==="identifier"){let c=this.tryConvertToClassSelector(e,n,i);if(c)return c.token}return v(i,s,h(r,n),l)}tryConvertToClassSelector(e,r,n){let i=r;for(;i<e.length&&/\s/.test(e[i]);)i++;if(e.slice(i,i+5).toLowerCase()==="class"){let s=i+5;if(s>=e.length||!b(e[s])){let o="."+n;return{token:v(o,"selector",h(r-n.length,r)),endPos:r}}}return null}},Ze=new St;var kr={action:"toggle",description:"Toggle a class or attribute on/off",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to toggle",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","INVALID_CSS_PROPERTY"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"toggle command requires an argument"},{condition:"Class names are valid CSS identifiers",errorCode:"NO_VALID_CLASS_NAMES",message:"toggle command: no valid class names found"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to toggle",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",INVALID_CSS_PROPERTY:"Check CSS property name syntax (use kebab-case)"}},zr={action:"add",description:"Add a class or attribute to an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to add",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","PROPERTY_REQUIRES_VALUE"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"add command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to add",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",PROPERTY_REQUIRES_VALUE:"When adding a property (*prop), provide a value argument"}},Tr={action:"remove",description:"Remove a class or attribute from an element",category:"dom-class",primaryRole:"patient",roles:[{role:"patient",description:"The class or attribute to remove",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to remove from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"remove command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to remove",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers"}},Sr={action:"put",description:"Put content into a target element or variable",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to put",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"into"}}],errorCodes:["MISSING_ARGUMENTS","MISSING_CONTENT","MISSING_POSITION","INVALID_POSITION","NO_TARGET","NO_ELEMENTS"],preconditions:[{condition:"Command has content and position arguments",errorCode:"MISSING_ARGUMENTS",message:"put requires arguments"},{condition:"Content to put is specified",errorCode:"MISSING_CONTENT",message:"put requires content"},{condition:"Position keyword is specified (into, before, after, etc.)",errorCode:"MISSING_POSITION",message:"put requires position keyword"}],recoveryHints:{MISSING_ARGUMENTS:"Use syntax: put <content> into/before/after <target>",MISSING_CONTENT:"Add content to put (string, element, or expression)",MISSING_POSITION:"Add position keyword: into, before, after, at start of, at end of",INVALID_POSITION:"Valid positions: into, before, after, at start of, at end of",NO_TARGET:'Ensure target element exists or use "me" reference',NO_ELEMENTS:"Check that the selector matches existing elements"}},xr={action:"set",description:"Set a property or variable to a value",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The property or variable to set",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ja:"\u3092",ko:"\uB97C",tr:"i",ar:"",sw:"",tl:"",bn:"\u0995\u09C7",qu:"ta"}},{role:"patient",description:"The value to set",required:!0,expectedTypes:["literal","expression","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"auf",id:"ke",ja:"\u306B",ko:"\uC73C\uB85C",tr:"e",ar:"\u0625\u0644\u0649",sw:"kwenye",tl:"sa",bn:"\u09A4\u09C7",qu:"man"}}],errorCodes:["MISSING_TARGET","INVALID_TARGET","MISSING_VALUE","INVALID_SYNTAX"],preconditions:[{condition:"Command has a target variable or property",errorCode:"MISSING_TARGET",message:"set command requires a target"},{condition:"Target is a valid variable or property reference",errorCode:"INVALID_TARGET",message:"set command target must be a string or object literal"},{condition:'Value is specified with "to" keyword',errorCode:"MISSING_VALUE",message:'set command requires a value (use "to" keyword)'}],recoveryHints:{MISSING_TARGET:"Add a target: set :variable to value OR set element.property to value",INVALID_TARGET:'Use local variable (:name), element property (el.prop), or "the X of Y" syntax',MISSING_VALUE:'Add "to <value>" to specify what to set',INVALID_SYNTAX:"Use syntax: set <target> to <value>"}},br={action:"show",description:"Make an element visible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to show",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},wr={action:"hide",description:"Make an element invisible",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The element to hide",required:!0,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"Animation style (fade, slide, etc.)",required:!1,expectedTypes:["literal"],svoPosition:2,sovPosition:2}]},Lr={action:"on",description:"Handle an event",category:"event",primaryRole:"event",hasBody:!0,roles:[{role:"event",description:"The event to handle",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to listen on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Pr={action:"trigger",description:"Trigger/dispatch an event",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to trigger (supports namespaced events like draggable:start)",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Er={action:"wait",description:"Wait for a duration or event",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"Duration or event to wait for",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},Rr={action:"fetch",description:"Fetch data from a URL",category:"async",primaryRole:"source",roles:[{role:"source",description:"The URL to fetch from",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,renderOverride:{en:""}},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"method",description:"HTTP method (GET, POST, etc.)",required:!1,expectedTypes:["literal"],svoPosition:3,sovPosition:3},{role:"destination",description:"Where to store the result",required:!1,expectedTypes:["selector","reference"],svoPosition:4,sovPosition:4}]},Cr={action:"increment",description:"Increment a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to increment",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to increment by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by"}}]},Nr={action:"decrement",description:"Decrement a numeric value",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to decrement",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to decrement by (defaults to 1)",required:!1,expectedTypes:["literal"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by"}}]},jr={action:"append",description:"Append content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to append",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},Mr={action:"prepend",description:"Prepend content to an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to prepend",required:!0,expectedTypes:["literal","selector","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},Ar={action:"log",description:"Log a value to the console",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The value to log",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},Ir={action:"get",description:"Get a value from a source",category:"variable",primaryRole:"source",roles:[{role:"source",description:"The source to get from",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",ja:"\u3092",zh:"",ko:"\uB97C",ar:"\u0639\u0644\u0649",tr:"i",id:"",sw:"",tl:"",bn:"\u0995\u09C7",qu:"ta"}},{role:"destination",description:"Where to store the result (optional)",required:!1,expectedTypes:["reference"],svoPosition:2,sovPosition:1}]},Or={action:"take",description:"Take content from a source element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The class or element to take",required:!0,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to take from (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},Vr={action:"make",description:"Create a new element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element type or selector to create",required:!0,expectedTypes:["literal","selector"],svoPosition:1,sovPosition:1}]},Wr={action:"halt",description:"Halt/stop execution or event propagation",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"What to halt (event, default, bubbling, etc.)",required:!1,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},_r={action:"settle",description:"Wait for animations/transitions to settle",category:"async",primaryRole:"patient",roles:[{role:"patient",description:"The element to settle (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Kr={action:"throw",description:"Throw an error",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The error message or object to throw",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1}]},qr={action:"send",description:"Send an event to an element",category:"event",primaryRole:"event",roles:[{role:"event",description:"The event to send",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",ja:"\u306B",ar:"\u0625\u0644\u0649",es:"a",ko:"\uC5D0\uAC8C",zh:"\u5230",tr:"-e",pt:"para",fr:"\xE0",de:"an",id:"ke",qu:"-man",sw:"kwa"}}]},Ur={action:"if",description:"Conditional execution",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},$r={action:"unless",description:"Negated conditional execution (executes when condition is false)",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to evaluate (body executes when false)",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},Br={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},Fr={action:"repeat",description:"Repeat a block of commands",category:"control-flow",primaryRole:"loopType",hasBody:!0,roles:[{role:"loopType",description:"Loop variant: forever, times, for, while, until, until-event",required:!0,expectedTypes:["literal"],svoPosition:0,sovPosition:0},{role:"quantity",description:"Number of times to repeat",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"event",description:"Event to wait for (terminates loop)",required:!1,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2},{role:"source",description:"Element to listen for event on",required:!1,expectedTypes:["selector","reference"],svoPosition:3,sovPosition:3}],notes:'Can also use "repeat forever", "repeat until condition", or "repeat until event X from Y"'},Dr={action:"for",description:"Iterate over a collection",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The iteration variable",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:2,sovPosition:1,markerOverride:{en:"in"}}]},Gr={action:"while",description:"Loop while condition is true",category:"control-flow",primaryRole:"condition",hasBody:!0,roles:[{role:"condition",description:"The condition to check",required:!0,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},Hr={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",roles:[]},Xr={action:"go",description:"Navigate to a URL",category:"navigation",primaryRole:"destination",roles:[{role:"destination",description:"The URL to navigate to",required:!0,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"to"},renderOverride:{en:""}}]},Qr={action:"transition",description:"Transition an element with animation",category:"dom-visibility",primaryRole:"patient",roles:[{role:"patient",description:"The property to transition (opacity, *background-color, etc.)",required:!0,expectedTypes:["literal"],svoPosition:1,sovPosition:2,markerOverride:{en:"",ar:"",tl:"",sw:""}},{role:"goal",description:"The target value to transition to",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:3,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwenye",bn:"\u09A4\u09C7",qu:"man",es:"a",pt:"para",fr:"\xE0",de:"auf",ja:"\u306B",ko:"\uC73C\uB85C",tr:"e",id:"ke"}},{role:"destination",description:"The target element (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:3,sovPosition:1},{role:"duration",description:"Transition duration (over 500ms, for 2 seconds)",required:!1,expectedTypes:["literal"],svoPosition:4,sovPosition:4,markerOverride:{en:"over"}},{role:"style",description:"Easing function (ease-in, linear, etc.)",required:!1,expectedTypes:["literal"],svoPosition:5,sovPosition:5}]},Zr={action:"clone",description:"Clone an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to clone",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:2},{role:"destination",description:"Where to put the clone",required:!1,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"into"}}]},Yr={action:"focus",description:"Focus an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to focus (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Jr={action:"blur",description:"Remove focus from an element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to blur (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},ei={action:"call",description:"Call a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The function to call",required:!0,expectedTypes:["expression","reference"],svoPosition:1,sovPosition:1}]},ti={action:"return",description:"Return a value from a function",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The value to return",required:!1,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1}]},ni={action:"js",description:"Execute raw JavaScript code",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The JavaScript code to execute",required:!1,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},ri={action:"async",description:"Execute commands asynchronously",category:"async",primaryRole:"patient",hasBody:!0,roles:[]},ii={action:"tell",description:"Execute commands in context of another element",category:"control-flow",primaryRole:"destination",hasBody:!0,roles:[{role:"destination",description:"The element to tell",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1,markerOverride:{en:""}}]},ai={action:"default",description:"Set a default value for a variable",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The variable to set default for",required:!0,expectedTypes:["reference"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ar:"",tl:"",sw:"",bn:"\u0995\u09C7",qu:"ta"}},{role:"patient",description:"The default value",required:!0,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwenye",bn:"\u09A4\u09C7",qu:"man"}}]},oi={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[]},si={action:"behavior",description:"Define a reusable behavior",category:"control-flow",primaryRole:"patient",hasBody:!0,roles:[{role:"patient",description:"The behavior name (PascalCase identifier)",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},li={action:"install",description:"Install a behavior on an element",category:"control-flow",primaryRole:"patient",roles:[{role:"patient",description:"The behavior name to install",required:!0,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"Element to install on (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},ci={action:"measure",description:"Measure element dimensions (x, y, width, height, etc.)",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"Property to measure (x, y, width, height, top, left, etc.)",required:!1,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"source",description:"Element to measure (defaults to me)",required:!1,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:2,markerOverride:{en:"of"}}]},mi={action:"swap",description:"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",category:"dom-content",primaryRole:"destination",roles:[{role:"method",description:"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)",required:!1,expectedTypes:["literal"],svoPosition:1,sovPosition:3,markerOverride:{en:""}},{role:"destination",description:"The element to swap content in/for",required:!0,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"of"}},{role:"patient",description:"The content to swap in (optional for delete)",required:!1,expectedTypes:["literal","expression","selector"],svoPosition:3,sovPosition:2,markerOverride:{en:"with"}}]},di={action:"morph",description:"Morph an element into another using DOM diffing",category:"dom-content",primaryRole:"destination",roles:[{role:"destination",description:"The element to morph",required:!0,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:1,markerOverride:{en:""}},{role:"patient",description:"The target content/element to morph into",required:!0,expectedTypes:["literal","expression","selector"],svoPosition:2,sovPosition:2,markerOverride:{en:"to"}}]},pi={action:"beep",description:"Debug output for expressions with type information",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The expression(s) to debug",required:!1,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},ui={action:"break",description:"Exit from the current loop",category:"control-flow",primaryRole:"patient",roles:[]},fi={action:"copy",description:"Copy text or element content to the clipboard",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The text or element to copy",required:!0,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},gi={action:"exit",description:"Exit from the current event handler",category:"control-flow",primaryRole:"patient",roles:[]},yi={action:"pick",description:"Select a random element from a collection",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The items to pick from",required:!0,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1},{role:"source",description:'The array to pick from (with "from" keyword)',required:!1,expectedTypes:["reference","expression"],svoPosition:2,sovPosition:2}]},hi={action:"render",description:"Render a template with optional variables",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The template to render",required:!0,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2},{role:"style",description:"Variables to pass to the template (with keyword)",required:!1,expectedTypes:["expression","reference"],svoPosition:2,sovPosition:1}]},vi={toggle:kr,add:zr,remove:Tr,put:Sr,set:xr,show:br,hide:wr,on:Lr,trigger:Pr,wait:Er,fetch:Rr,increment:Cr,decrement:Nr,append:jr,prepend:Mr,log:Ar,get:Ir,take:Or,make:Vr,halt:Wr,settle:_r,throw:Kr,send:qr,if:Ur,unless:$r,else:Br,repeat:Fr,for:Dr,while:Gr,continue:Hr,go:Xr,transition:Qr,clone:Zr,focus:Yr,blur:Jr,call:ei,return:ti,js:ni,async:ri,tell:ii,default:ai,init:oi,behavior:si,install:li,measure:ci,swap:mi,morph:di,beep:pi,break:ui,copy:fi,exit:gi,pick:yi,render:hi,compound:{action:"compound",description:"A compound node representing chained statements",primaryRole:"patient",category:"control-flow",hasBody:!0,roles:[]}};function dn(){return Object.values(vi).filter(a=>a.roles.length>0)}function xt(a,t){let e=t==="SOV"?"sovPosition":"svoPosition";return[...a].sort((r,n)=>{let i=r[e]??99,s=n[e]??99;return i-s})}function pn(a,t){let e=a.markerOverride?.[t.code],r=t.roleMarkers[a.role];if(e!==void 0)return{primary:e,position:r?.position??"before",isOverride:!0};if(r&&r.primary){let n={primary:r.primary,position:r.position,isOverride:!1};return r.alternatives&&(n.alternatives=r.alternatives),n}return null}function un(a,t,e,r,n){let i=[];if(i.push({type:"role",role:"event",optional:!1}),r.position==="after"){let c=r.primary.split(/\s+/);if(c.length>1)for(let m of c)i.push({type:"literal",value:m});else{let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(m)}}let s=t.roleMarkers.destination;s&&i.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary}]}),i.push({type:"role",role:"patient",optional:!1});let o=t.roleMarkers.patient;if(o){let c=o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary};i.push(c)}let l=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return i.push(l),{id:`${a.action}-event-${t.code}-sov`,language:t.code,command:"on",priority:(n.basePriority??100)+50,template:{format:`{event} ${r.primary} {destination?} {patient} ${o?.primary||""} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function fn(a,t,e,r,n){let i=[];i.push({type:"role",role:"patient",optional:!1});let s=t.roleMarkers.patient;if(s){let l=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(l)}if(i.push({type:"role",role:"event",optional:!1}),r.position==="after"){let l=r.primary.split(/\s+/);if(l.length>1)for(let c of l)i.push({type:"literal",value:c});else{let c=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(c)}}let o=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return i.push(o),{id:`${a.action}-event-${t.code}-sov-patient-first`,language:t.code,command:"on",priority:(n.basePriority??100)+45,template:{format:`{patient} ${s?.primary||""} {event} ${r.primary} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function gn(a,t,e,r,n){let i=[];i.push({type:"role",role:"patient",optional:!1});let s=t.roleMarkers.patient;if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(c)}let o=t.roleMarkers.destination;if(o&&(i.push({type:"role",role:"destination",optional:!1}),i.push(o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary})),i.push({type:"role",role:"event",optional:!1}),r.position==="after"){let c=r.primary.split(/\s+/);if(c.length>1)for(let m of c)i.push({type:"literal",value:m});else{let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(m)}}let l=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return i.push(l),{id:`${a.action}-event-${t.code}-sov-patient-first-dest`,language:t.code,command:"on",priority:(n.basePriority??100)+40,template:{format:`{patient} ${s?.primary||""} {destination} ${o?.primary||""} {event} ${r.primary} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function yn(a,t,e,r,n){let i=[];i.push({type:"role",role:"event",optional:!1});let s=r.alternatives?.filter(m=>!m.includes(" ")&&m.length>1)||[];s.length>0&&i.push({type:"literal",value:s[0],alternatives:s.slice(1)});let o=t.roleMarkers.destination;o&&i.push({type:"group",optional:!0,tokens:[{type:"role",role:"destination",optional:!0},o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary}]}),i.push({type:"role",role:"patient",optional:!1});let l=t.roleMarkers.patient;if(l){let m=l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary};i.push(m)}let c=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return i.push(c),{id:`${a.action}-event-${t.code}-sov-compact`,language:t.code,command:"on",priority:(n.basePriority??100)+52,template:{format:`{event}${s[0]||""} {patient} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function hn(a,t,e,r,n){let i=[];if(i.push({type:"role",role:"event",optional:!1}),r.position==="after"){let o=r.primary.split(/\s+/);if(o.length>1)for(let l of o)i.push({type:"literal",value:l});else{let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(l)}}let s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return i.push(s),{id:`${a.action}-event-${t.code}-sov-simple`,language:t.code,command:"on",priority:(n.basePriority??100)+48,template:{format:`{event} ${r.primary} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{default:{type:"reference",value:"me"}}}}}function vn(a,t,e,r){let n=t.eventHandler?.temporalMarkers;if(!n||n.length===0)return null;let i=[];i.push({type:"role",role:"event",optional:!1}),t.possessive?.marker&&i.push({type:"group",optional:!0,tokens:[{type:"literal",value:t.possessive.marker}]}),i.push({type:"literal",value:n[0],alternatives:n.slice(1)}),i.push({type:"role",role:"patient",optional:!1});let s=t.roleMarkers.patient;if(s?.primary){let l=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(l)}let o=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};return i.push(o),{id:`${a.action}-event-${t.code}-sov-temporal`,language:t.code,command:"on",priority:(r.basePriority??100)+49,template:{format:`{event} ${n[0]} {patient} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"}}}}function kn(a,t,e,r,n){let i=[];if(i.push({type:"role",role:"event",optional:!1}),r.position==="after"){let m=r.primary.split(/\s+/);if(m.length>1)for(let u of m)i.push({type:"literal",value:u});else{let u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(u)}}let o=[...a.roles.filter(m=>m.required)].sort((m,u)=>{let y=m.sovPosition??999,p=u.sovPosition??999;return y-p});for(let m of o){i.push({type:"role",role:m.role,optional:!1});let u,y;if(m.markerOverride&&m.markerOverride[t.code]!==void 0)u=m.markerOverride[t.code];else{let p=t.roleMarkers[m.role];p&&(u=p.primary,y=p.alternatives)}if(u){let p=y?{type:"literal",value:u,alternatives:y}:{type:"literal",value:u};i.push(p)}}let l=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(l);let c=o.map(m=>`{${m.role}}`).join(" ");return{id:`${a.action}-event-${t.code}-sov-2role`,language:t.code,command:"on",priority:(n.basePriority??100)+55,template:{format:`{event} ${r.primary} ${c} ${e.primary}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},...Object.fromEntries(o.map(m=>[m.role,{fromRole:m.role}]))}}}function zn(a,t,e,r,n){let i=[],o=[...a.roles.filter(d=>d.required)].sort((d,f)=>{let k=d.sovPosition??999,x=f.sovPosition??999;return k-x}),l=o[0];i.push({type:"role",role:l.role,optional:!1});let c;if(l.markerOverride&&l.markerOverride[t.code]!==void 0)c=l.markerOverride[t.code];else{let d=t.roleMarkers[l.role];d&&(c=d.primary)}if(c&&i.push({type:"literal",value:c}),i.push({type:"role",role:"event",optional:!1}),r.position==="after"){let d=r.primary.split(/\s+/);if(d.length>1)for(let f of d)i.push({type:"literal",value:f});else{let f=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(f)}}let m=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(m);let u=o[1];i.push({type:"role",role:u.role,optional:!1});let y,p;if(u.markerOverride&&u.markerOverride[t.code]!==void 0)y=u.markerOverride[t.code];else{let d=t.roleMarkers[u.role];d&&(y=d.primary,p=d.alternatives)}if(y){let d=p?{type:"literal",value:y,alternatives:p}:{type:"literal",value:y};i.push(d)}return{id:`${a.action}-event-${t.code}-sov-2role-dest-first`,language:t.code,command:"on",priority:(n.basePriority??100)+48,template:{format:`{${l.role}} {event} ${r.primary} ${e.primary} {${u.role}}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},[l.role]:{fromRole:l.role},[u.role]:{fromRole:u.role}}}}function bt(a,t,e,r,n){let i=[];if(r.position==="before"){let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(l)}i.push({type:"role",role:"event",optional:!1});let s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(s),i.push({type:"role",role:"patient",optional:!1});let o=t.roleMarkers.destination;return o&&i.push({type:"group",optional:!0,tokens:[o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${a.action}-event-${t.code}-vso`,language:t.code,command:"on",priority:(n.basePriority??100)+50,template:{format:`${r.primary} {event} ${e.primary} {patient} ${o?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Tn(a,t,e,r,n){let i=[],s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(s),i.push({type:"role",role:"patient",optional:!1});let o=t.roleMarkers.destination;if(o&&i.push({type:"group",optional:!0,tokens:[o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary},{type:"role",role:"destination",optional:!0}]}),r.position==="before"){let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(l)}return i.push({type:"role",role:"event",optional:!1}),{id:`${a.action}-event-${t.code}-vso-verb-first`,language:t.code,command:"on",priority:(n.basePriority??100)+45,template:{format:`${e.primary} {patient} ${o?.primary||""} {destination?} ${r.primary} {event}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function Sn(a,t,e,r,n){let i=[],s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(s);let l=[...a.roles.filter(m=>m.required)].sort((m,u)=>{let y=m.svoPosition??999,p=u.svoPosition??999;return y-p});for(let m of l){let u,y;if(m.markerOverride&&m.markerOverride[t.code]!==void 0)u=m.markerOverride[t.code];else{let p=t.roleMarkers[m.role];p&&(u=p.primary,y=p.alternatives)}if(u){let p=y?{type:"literal",value:u,alternatives:y}:{type:"literal",value:u};i.push(p)}i.push({type:"role",role:m.role,optional:!1})}if(r.position==="before"){let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(m)}i.push({type:"role",role:"event",optional:!1});let c=l.map(m=>`{${m.role}}`).join(" ");return{id:`${a.action}-event-${t.code}-vso-verb-first-2role`,language:t.code,command:"on",priority:(n.basePriority??100)+48,template:{format:`${e.primary} ${c} ${r.primary} {event}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},...Object.fromEntries(l.map(m=>[m.role,{fromRole:m.role}]))}}}function wt(a,t,e,r,n){let i=[];if(r.position==="before"){let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(m)}i.push({type:"role",role:"event",optional:!1});let s=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(s);let l=[...a.roles.filter(m=>m.required)].sort((m,u)=>{let y=m.svoPosition??999,p=u.svoPosition??999;return y-p});for(let m of l){let u,y;if(m.markerOverride&&m.markerOverride[t.code]!==void 0)u=m.markerOverride[t.code];else{let p=t.roleMarkers[m.role];p&&(u=p.primary,y=p.alternatives)}if(u){let p=y?{type:"literal",value:u,alternatives:y}:{type:"literal",value:u};i.push(p)}i.push({type:"role",role:m.role,optional:!1})}let c=l.map(m=>`{${m.role}}`).join(" ");return{id:`${a.action}-event-${t.code}-vso-2role`,language:t.code,command:"on",priority:(n.basePriority??100)+55,template:{format:`${r.primary} {event} ${e.primary} ${c}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},...Object.fromEntries(l.map(m=>[m.role,{fromRole:m.role}]))}}}function xn(a,t,e,r,n){let i=[],s=t.eventHandler?.negationMarker;if(r.position==="before"){let c=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(c)}if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};i.push(c)}i.push({type:"role",role:"event",optional:!1});let o=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};i.push(o),i.push({type:"role",role:"patient",optional:!1});let l=t.roleMarkers.destination;return l&&i.push({type:"group",optional:!0,tokens:[l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${a.action}-event-${t.code}-vso-negated`,language:t.code,command:"on",priority:(n.basePriority??100)+48,template:{format:`${r.primary} ${s?.primary||""} {event} ${e.primary} {patient} ${l?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}function bn(a,t,e,r){let n=[];n.push({type:"literal",value:"and",alternatives:["then"]}),n.push({type:"role",role:"event",optional:!1});let i=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary};n.push(i),n.push({type:"role",role:"patient",optional:!1});let s=t.roleMarkers.destination;return s&&n.push({type:"group",optional:!0,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:!0}]}),{id:`${a.action}-event-${t.code}-vso-proclitic`,language:t.code,command:"on",priority:(r.basePriority??100)+45,template:{format:`[proclitic?] {event} ${e.primary} {patient} ${s?.primary||""} {destination?}`,tokens:n},extraction:{action:{value:a.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination",default:{type:"reference",value:"me"}}}}}var we={basePriority:100,generateSimpleVariants:!0,generateAlternatives:!0};function wn(a,t,e=we){let r=`${a.action}-${t.code}-generated`,n=e.basePriority??100,i=t.keywords[a.action];if(!i)throw new Error(`No keyword translation for '${a.action}' in ${t.code}`);let s=Si(a,t,i),o=Pn(a,t),l=Li(a,t,i);return{id:r,language:t.code,command:a.action,priority:n,template:{format:l,tokens:s},extraction:o}}function ki(a,t,e=we){if(a.roles.filter(o=>!o.required).length===0)return null;let n=a.roles.filter(o=>o.required),i={...a,roles:n};return{...wn(i,t,e),id:`${a.action}-${t.code}-simple`,priority:(e.basePriority??100)-5,extraction:Pn(a,t)}}function zi(a,t,e=we){let r=[];if(r.push(wn(a,t,e)),e.generateSimpleVariants){let n=ki(a,t,e);n&&r.push(n)}return r}function Ln(a,t=we){let e=[],r=dn();for(let n of r){if(!a.keywords[n.action])continue;let i=zi(n,a,t);if(e.push(...i),a.eventHandler?.eventMarker){let s=Ti(n,a,t);e.push(...s)}}return e}function Ti(a,t,e=we){if(!t.eventHandler||!t.eventHandler.eventMarker)return[];let r=[],n=t.eventHandler.eventMarker,i=t.keywords[a.action];if(!i)return[];let o=a.roles.filter(l=>l.required).length===2;if(t.wordOrder==="SOV")if(o)r.push(kn(a,t,i,n,e)),r.push(zn(a,t,i,n,e));else{r.push(un(a,t,i,n,e)),r.push(fn(a,t,i,n,e));let l=t.roleMarkers.destination;l&&l.primary!==n.primary&&r.push(gn(a,t,i,n,e));let c=n.primary.split(/\s+/),m=n.alternatives?.some(y=>!y.includes(" ")&&y.length>1);c.length>1&&m&&r.push(yn(a,t,i,n,e)),r.push(hn(a,t,i,n,e));let u=vn(a,t,i,e);u&&r.push(u)}else t.wordOrder==="VSO"?o?(r.push(wt(a,t,i,n,e)),r.push(Sn(a,t,i,n,e))):(r.push(bt(a,t,i,n,e)),r.push(Tn(a,t,i,n,e)),t.eventHandler?.negationMarker&&r.push(xn(a,t,i,n,e)),t.tokenization?.prefixes&&r.push(bn(a,t,i,e))):o?r.push(wt(a,t,i,n,e)):r.push(bt(a,t,i,n,e));return r}function Si(a,t,e){let r=[],n=e.alternatives?{type:"literal",value:e.primary,alternatives:e.alternatives}:{type:"literal",value:e.primary},i=xi(a,t);switch(t.wordOrder){case"SVO":r.push(n),r.push(...i);break;case"SOV":r.push(...i),r.push(n);break;case"VSO":r.push(n),r.push(...i);break;default:r.push(n),r.push(...i)}return r}function xi(a,t){let e=[],r=xt(a.roles,t.wordOrder);for(let n of r){let i=bi(n,t);n.required?e.push(...i):e.push({type:"group",optional:!0,tokens:i})}return e}function bi(a,t){let e=[],r=a.markerOverride?.[t.code],n=t.roleMarkers[a.role],i={type:"role",role:a.role,optional:!a.required,expectedTypes:a.expectedTypes};if(r!==void 0)(n?.position??"before")==="before"?(r&&e.push({type:"literal",value:r}),e.push(i)):(e.push(i),r&&e.push({type:"literal",value:r}));else if(n)if(n.position==="before"){if(n.primary){let s=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};e.push(s)}e.push(i)}else{e.push(i);let s=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};e.push(s)}else e.push(i);return e}function wi(a,t){let e={};for(let r of a.roles){let n=r.markerOverride?.[t.code],i=t.roleMarkers[r.role];n!==void 0?e[r.role]=n?{marker:n}:{}:i&&i.primary?e[r.role]=i.alternatives?{marker:i.primary,markerAlternatives:i.alternatives}:{marker:i.primary}:e[r.role]={}}return e}function Pn(a,t){let e=wi(a,t),r={};for(let n of a.roles){let i=e[n.role]||{};!n.required&&n.default?r[n.role]={...i,default:n.default}:r[n.role]=i}return r}function Li(a,t,e){let r=[],i=xt(a.roles,t.wordOrder).map(s=>{let o=pn(s,t),l="";return o&&o.primary?o.position==="before"?l=`${o.primary} {${s.role}}`:l=`{${s.role}} ${o.primary}`:l=`{${s.role}}`,s.required?l:`[${l}]`});switch(t.wordOrder){case"SVO":case"VSO":r.push(e.primary,...i);break;case"SOV":r.push(...i,e.primary);break;default:r.push(e.primary,...i)}return r.join(" ")}function En(){return[{id:"toggle-en-full",language:"en",command:"toggle",priority:100,template:{format:"toggle {patient} on {target}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"},{type:"group",optional:!0,tokens:[{type:"literal",value:"on",alternatives:["from"]},{type:"role",role:"destination"}]}]},extraction:{patient:{position:1},destination:{marker:"on",markerAlternatives:["from"],default:{type:"reference",value:"me"}}}},{id:"toggle-en-simple",language:"en",command:"toggle",priority:90,template:{format:"toggle {patient}",tokens:[{type:"literal",value:"toggle"},{type:"role",role:"patient"}]},extraction:{patient:{position:1},destination:{default:{type:"reference",value:"me"}}}}]}function Rn(){return[{id:"put-en-into",language:"en",command:"put",priority:100,template:{format:"put {patient} into {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"into",alternatives:["in","to"]},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"into",markerAlternatives:["in","to"]}}},{id:"put-en-before",language:"en",command:"put",priority:95,template:{format:"put {patient} before {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"before"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"before"},manner:{default:{type:"literal",value:"before"}}}},{id:"put-en-after",language:"en",command:"put",priority:95,template:{format:"put {patient} after {destination}",tokens:[{type:"literal",value:"put"},{type:"role",role:"patient"},{type:"literal",value:"after"},{type:"role",role:"destination"}]},extraction:{patient:{position:1},destination:{marker:"after"},manner:{default:{type:"literal",value:"after"}}}}]}function Cn(){return[{id:"event-en-when-source",language:"en",command:"on",priority:115,template:{format:"when {event} from {source} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-when",language:"en",command:"on",priority:105,template:{format:"when {event} {body}",tokens:[{type:"literal",value:"when"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-source",language:"en",command:"on",priority:110,template:{format:"on {event} from {source} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"},{type:"literal",value:"from"},{type:"role",role:"source"}]},extraction:{event:{position:1},source:{marker:"from"}}},{id:"event-en-standard",language:"en",command:"on",priority:100,template:{format:"on {event} {body}",tokens:[{type:"literal",value:"on"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-upon",language:"en",command:"on",priority:98,template:{format:"upon {event} {body}",tokens:[{type:"literal",value:"upon"},{type:"role",role:"event"}]},extraction:{event:{position:1}}},{id:"event-en-if",language:"en",command:"on",priority:95,template:{format:"if {event} {body}",tokens:[{type:"literal",value:"if"},{type:"role",role:"event"}]},extraction:{event:{position:1}}}]}var Pi={id:"fetch-en-with-response-type",language:"en",command:"fetch",priority:90,template:{format:"fetch {source} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:["literal","expression"]},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:["literal","expression"]}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Ei={id:"fetch-en-simple",language:"en",command:"fetch",priority:80,template:{format:"fetch {source}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source"}]},extraction:{source:{position:1}}},Ri={id:"swap-en-handcrafted",language:"en",command:"swap",priority:110,template:{format:"swap {method} {destination}",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"}]},extraction:{method:{position:1},destination:{position:2}}},Ci={id:"repeat-en-until-event-from",language:"en",command:"repeat",priority:120,template:{format:"repeat until event {event} from {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},Ni={id:"repeat-en-until-event",language:"en",command:"repeat",priority:110,template:{format:"repeat until event {event}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},ji={id:"set-en-possessive",language:"en",command:"set",priority:100,template:{format:"set {destination} to {patient}",tokens:[{type:"literal",value:"set"},{type:"role",role:"destination",expectedTypes:["property-path","selector","reference","expression"]},{type:"literal",value:"to"},{type:"role",role:"patient",expectedTypes:["literal","expression","reference"]}]},extraction:{destination:{position:1},patient:{marker:"to"}}},Mi={id:"for-en-basic",language:"en",command:"for",priority:100,template:{format:"for {patient} in {source}",tokens:[{type:"literal",value:"for"},{type:"role",role:"patient",expectedTypes:["expression","reference"]},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:["selector","expression","reference"]}]},extraction:{patient:{position:1},source:{marker:"in"},loopType:{default:{type:"literal",value:"for"}}}},Ai={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},Ii={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},Oi={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},Vi={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}};function Nn(){let a=[];a.push(...En()),a.push(...Rn()),a.push(...Cn()),a.push(Pi,Ei,Ri,Ci,Ni,ji,Mi,Ai,Ii,Oi,Vi);let t=Ln(Z);return a.push(...t),a}j("en",Ze,Z);on("en",Nn());function A(a){return{stem:a,confidence:1}}function L(a,t,e){return e?{stem:a,confidence:t,metadata:e}:{stem:a,confidence:t}}function Wi(a){return/[áéíóúüñÁÉÍÓÚÜÑ]/.test(a)}function _i(a){let t=a.toLowerCase();if(t.endsWith("ar")||t.endsWith("er")||t.endsWith("ir")||t.endsWith("ando")||t.endsWith("iendo")||t.endsWith("ado")||t.endsWith("ido")||t.endsWith("arse")||t.endsWith("erse")||t.endsWith("irse"))return!0;for(let e of a)if(Wi(e))return!0;return!1}var jn=["se","me","te","nos","os"],Ki=[{ending:"ando",stem:"ar",confidence:.88,type:"gerund"},{ending:"ado",stem:"ar",confidence:.88,type:"participle"},{ending:"ada",stem:"ar",confidence:.88,type:"participle"},{ending:"ados",stem:"ar",confidence:.88,type:"participle"},{ending:"adas",stem:"ar",confidence:.88,type:"participle"},{ending:"o",stem:"ar",confidence:.75,type:"present"},{ending:"as",stem:"ar",confidence:.82,type:"present"},{ending:"a",stem:"ar",confidence:.75,type:"present"},{ending:"amos",stem:"ar",confidence:.85,type:"present"},{ending:"\xE1is",stem:"ar",confidence:.85,type:"present"},{ending:"ais",stem:"ar",confidence:.82,type:"present"},{ending:"an",stem:"ar",confidence:.8,type:"present"},{ending:"\xE9",stem:"ar",confidence:.85,type:"past"},{ending:"aste",stem:"ar",confidence:.88,type:"past"},{ending:"\xF3",stem:"ar",confidence:.82,type:"past"},{ending:"amos",stem:"ar",confidence:.85,type:"past"},{ending:"asteis",stem:"ar",confidence:.88,type:"past"},{ending:"aron",stem:"ar",confidence:.88,type:"past"},{ending:"aba",stem:"ar",confidence:.88,type:"past"},{ending:"abas",stem:"ar",confidence:.88,type:"past"},{ending:"\xE1bamos",stem:"ar",confidence:.88,type:"past"},{ending:"abamos",stem:"ar",confidence:.85,type:"past"},{ending:"abais",stem:"ar",confidence:.88,type:"past"},{ending:"aban",stem:"ar",confidence:.88,type:"past"},{ending:"e",stem:"ar",confidence:.72,type:"subjunctive"},{ending:"es",stem:"ar",confidence:.78,type:"subjunctive"},{ending:"emos",stem:"ar",confidence:.82,type:"subjunctive"},{ending:"\xE9is",stem:"ar",confidence:.85,type:"subjunctive"},{ending:"eis",stem:"ar",confidence:.82,type:"subjunctive"},{ending:"en",stem:"ar",confidence:.78,type:"subjunctive"},{ending:"a",stem:"ar",confidence:.75,type:"imperative"},{ending:"ad",stem:"ar",confidence:.85,type:"imperative"},{ending:"ar",stem:"ar",confidence:.92,type:"dictionary"}],qi=[{ending:"iendo",stem:"er",confidence:.88,type:"gerund"},{ending:"ido",stem:"er",confidence:.85,type:"participle"},{ending:"ida",stem:"er",confidence:.85,type:"participle"},{ending:"idos",stem:"er",confidence:.85,type:"participle"},{ending:"idas",stem:"er",confidence:.85,type:"participle"},{ending:"o",stem:"er",confidence:.72,type:"present"},{ending:"es",stem:"er",confidence:.78,type:"present"},{ending:"e",stem:"er",confidence:.72,type:"present"},{ending:"emos",stem:"er",confidence:.85,type:"present"},{ending:"\xE9is",stem:"er",confidence:.85,type:"present"},{ending:"eis",stem:"er",confidence:.82,type:"present"},{ending:"en",stem:"er",confidence:.78,type:"present"},{ending:"\xED",stem:"er",confidence:.85,type:"past"},{ending:"iste",stem:"er",confidence:.88,type:"past"},{ending:"i\xF3",stem:"er",confidence:.85,type:"past"},{ending:"io",stem:"er",confidence:.82,type:"past"},{ending:"imos",stem:"er",confidence:.85,type:"past"},{ending:"isteis",stem:"er",confidence:.88,type:"past"},{ending:"ieron",stem:"er",confidence:.88,type:"past"},{ending:"\xEDa",stem:"er",confidence:.88,type:"past"},{ending:"ia",stem:"er",confidence:.85,type:"past"},{ending:"\xEDas",stem:"er",confidence:.88,type:"past"},{ending:"ias",stem:"er",confidence:.85,type:"past"},{ending:"\xEDamos",stem:"er",confidence:.88,type:"past"},{ending:"iamos",stem:"er",confidence:.85,type:"past"},{ending:"\xEDais",stem:"er",confidence:.88,type:"past"},{ending:"iais",stem:"er",confidence:.85,type:"past"},{ending:"\xEDan",stem:"er",confidence:.88,type:"past"},{ending:"ian",stem:"er",confidence:.85,type:"past"},{ending:"er",stem:"er",confidence:.92,type:"dictionary"}],Ui=[{ending:"iendo",stem:"ir",confidence:.88,type:"gerund"},{ending:"ido",stem:"ir",confidence:.85,type:"participle"},{ending:"ida",stem:"ir",confidence:.85,type:"participle"},{ending:"idos",stem:"ir",confidence:.85,type:"participle"},{ending:"idas",stem:"ir",confidence:.85,type:"participle"},{ending:"o",stem:"ir",confidence:.72,type:"present"},{ending:"es",stem:"ir",confidence:.78,type:"present"},{ending:"e",stem:"ir",confidence:.72,type:"present"},{ending:"imos",stem:"ir",confidence:.85,type:"present"},{ending:"\xEDs",stem:"ir",confidence:.85,type:"present"},{ending:"is",stem:"ir",confidence:.82,type:"present"},{ending:"en",stem:"ir",confidence:.78,type:"present"},{ending:"\xED",stem:"ir",confidence:.85,type:"past"},{ending:"iste",stem:"ir",confidence:.88,type:"past"},{ending:"i\xF3",stem:"ir",confidence:.85,type:"past"},{ending:"io",stem:"ir",confidence:.82,type:"past"},{ending:"imos",stem:"ir",confidence:.85,type:"past"},{ending:"isteis",stem:"ir",confidence:.88,type:"past"},{ending:"ieron",stem:"ir",confidence:.88,type:"past"},{ending:"\xEDa",stem:"ir",confidence:.88,type:"past"},{ending:"ia",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDas",stem:"ir",confidence:.88,type:"past"},{ending:"ias",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDamos",stem:"ir",confidence:.88,type:"past"},{ending:"iamos",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDais",stem:"ir",confidence:.88,type:"past"},{ending:"iais",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDan",stem:"ir",confidence:.88,type:"past"},{ending:"ian",stem:"ir",confidence:.85,type:"past"},{ending:"ir",stem:"ir",confidence:.92,type:"dictionary"}],$i=[...Ki,...qi,...Ui].sort((a,t)=>t.ending.length-a.ending.length),Le=class{constructor(){this.language="es"}isNormalizable(t){return t.length<3?!1:_i(t)}normalize(t){let e=t.toLowerCase();if((e.endsWith("ar")||e.endsWith("er")||e.endsWith("ir"))&&!jn.some(i=>e.endsWith(i+"ar")||e.endsWith(i+"er")||e.endsWith(i+"ir")))return A(t);let r=this.tryReflexiveNormalization(e);if(r)return r;let n=this.tryConjugationNormalization(e);return n||A(t)}tryReflexiveNormalization(t){for(let e of jn)if(t.endsWith(e)){let r=t.slice(0,-e.length);if(r.endsWith("ar")||r.endsWith("er")||r.endsWith("ir"))return L(r,.88,{removedSuffixes:[e],conjugationType:"reflexive"});let n=this.tryConjugationNormalization(r);if(n&&n.stem!==r)return L(n.stem,n.confidence*.95,{removedSuffixes:[e,...n.metadata?.removedSuffixes||[]],conjugationType:"reflexive"})}return null}tryConjugationNormalization(t){for(let e of $i)if(t.endsWith(e.ending)){let r=t.slice(0,-e.ending.length);if(r.length<2)continue;let n=r+e.stem;return L(n,e.confidence,{removedSuffixes:[e.ending],conjugationType:e.type})}return null}},ul=new Le;var me={code:"es",name:"Spanish",nativeName:"Espa\xF1ol",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"infinitive",verb:{position:"start",subjectDrop:!0},references:{me:"yo",it:"ello",you:"t\xFA",result:"resultado",event:"evento",target:"objetivo",body:"cuerpo"},possessive:{marker:"de",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"mi",it:"su",you:"tu"},keywords:{mi:"me",tu:"you",su:"it"}},roleMarkers:{destination:{primary:"en",alternatives:["sobre","a"],position:"before"},source:{primary:"de",alternatives:["desde"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"con",position:"before"}},keywords:{toggle:{primary:"alternar",alternatives:["cambiar","conmutar"],normalized:"toggle"},add:{primary:"agregar",alternatives:["a\xF1adir"],normalized:"add"},remove:{primary:"quitar",alternatives:["eliminar","remover","sacar"],normalized:"remove"},put:{primary:"poner",alternatives:["colocar"],normalized:"put"},append:{primary:"a\xF1adir",normalized:"append"},prepend:{primary:"anteponer",normalized:"prepend"},take:{primary:"tomar",normalized:"take"},make:{primary:"hacer",alternatives:["crear"],normalized:"make"},clone:{primary:"clonar",alternatives:["copiar"],normalized:"clone"},swap:{primary:"intercambiar",alternatives:["cambiar"],normalized:"swap"},morph:{primary:"transformar",alternatives:["convertir"],normalized:"morph"},set:{primary:"establecer",alternatives:["fijar","definir"],normalized:"set"},get:{primary:"obtener",alternatives:["conseguir"],normalized:"get"},increment:{primary:"incrementar",alternatives:["aumentar"],normalized:"increment"},decrement:{primary:"decrementar",alternatives:["disminuir"],normalized:"decrement"},log:{primary:"registrar",alternatives:["imprimir"],normalized:"log"},show:{primary:"mostrar",alternatives:["ense\xF1ar"],normalized:"show"},hide:{primary:"ocultar",alternatives:["esconder"],normalized:"hide"},transition:{primary:"transici\xF3n",alternatives:["animar"],normalized:"transition"},on:{primary:"en",alternatives:["cuando","al"],normalized:"on"},trigger:{primary:"disparar",alternatives:["activar"],normalized:"trigger"},send:{primary:"enviar",normalized:"send"},focus:{primary:"enfocar",normalized:"focus"},blur:{primary:"desenfocar",normalized:"blur"},click:{primary:"clic",alternatives:["hacer clic"],normalized:"click"},hover:{primary:"sobrevolar",alternatives:["pasar por encima"],normalized:"hover"},submit:{primary:"env\xEDo",alternatives:["enviar"],normalized:"submit"},input:{primary:"entrada",alternatives:["introducir"],normalized:"input"},change:{primary:"cambio",alternatives:["cambiar"],normalized:"change"},go:{primary:"ir",alternatives:["navegar"],normalized:"go"},wait:{primary:"esperar",normalized:"wait"},fetch:{primary:"buscar",alternatives:["obtener"],normalized:"fetch"},settle:{primary:"estabilizar",normalized:"settle"},if:{primary:"si",normalized:"if"},when:{primary:"cuando",normalized:"when"},where:{primary:"donde",normalized:"where"},else:{primary:"sino",alternatives:["de lo contrario"],normalized:"else"},repeat:{primary:"repetir",normalized:"repeat"},for:{primary:"para",normalized:"for"},while:{primary:"mientras",normalized:"while"},continue:{primary:"continuar",normalized:"continue"},halt:{primary:"detener",alternatives:["parar"],normalized:"halt"},throw:{primary:"lanzar",alternatives:["arrojar"],normalized:"throw"},call:{primary:"llamar",normalized:"call"},return:{primary:"retornar",alternatives:["devolver"],normalized:"return"},then:{primary:"entonces",alternatives:["luego","despu\xE9s"],normalized:"then"},and:{primary:"y",alternatives:["adem\xE1s","tambi\xE9n"],normalized:"and"},end:{primary:"fin",alternatives:["final","terminar"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"as\xEDncrono",normalized:"async"},tell:{primary:"decir",normalized:"tell"},default:{primary:"predeterminar",alternatives:["por defecto"],normalized:"default"},init:{primary:"iniciar",alternatives:["inicializar"],normalized:"init"},behavior:{primary:"comportamiento",normalized:"behavior"},install:{primary:"instalar",normalized:"install"},measure:{primary:"medir",normalized:"measure"},beep:{primary:"pitido",normalized:"beep"},break:{primary:"romper",normalized:"break"},copy:{primary:"copiar",normalized:"copy"},exit:{primary:"salir",normalized:"exit"},pick:{primary:"escoger",normalized:"pick"},render:{primary:"renderizar",normalized:"render"},into:{primary:"en",alternatives:["dentro de"],normalized:"into"},before:{primary:"antes",normalized:"before"},after:{primary:"despu\xE9s",normalized:"after"},until:{primary:"hasta",normalized:"until"},event:{primary:"evento",normalized:"event"},from:{primary:"de",alternatives:["desde"],normalized:"from"}},eventHandler:{keyword:{primary:"al",alternatives:["cuando","en"],normalized:"on"},sourceMarker:{primary:"de",alternatives:["desde"],position:"before"},eventMarker:{primary:"al",alternatives:["cuando"],position:"before"},temporalMarkers:["cuando","al"]}};var{isLetter:Mn,isIdentifierChar:Bi}=W(/[a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]/),Fi=[{pattern:"milisegundos",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"milisegundo",suffix:"ms",length:11,caseInsensitive:!0},{pattern:"segundos",suffix:"s",length:8,caseInsensitive:!0},{pattern:"segundo",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minutos",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minuto",suffix:"m",length:6,caseInsensitive:!0},{pattern:"horas",suffix:"h",length:5,caseInsensitive:!0},{pattern:"hora",suffix:"h",length:4,caseInsensitive:!0}],An=new Set(["en","a","de","desde","hasta","con","sin","por","para","sobre","entre","antes","despu\xE9s","despues","dentro","fuera","al","del"]),Di=[{native:"verdadero",normalized:"true"},{native:"falso",normalized:"false"},{native:"nulo",normalized:"null"},{native:"indefinido",normalized:"undefined"},{native:"primero",normalized:"first"},{native:"primera",normalized:"first"},{native:"\xFAltimo",normalized:"last"},{native:"ultima",normalized:"last"},{native:"siguiente",normalized:"next"},{native:"anterior",normalized:"previous"},{native:"cercano",normalized:"closest"},{native:"padre",normalized:"parent"},{native:"clic",normalized:"click"},{native:"click",normalized:"click"},{native:"hacer clic",normalized:"click"},{native:"entrada",normalized:"input"},{native:"cambio",normalized:"change"},{native:"env\xEDo",normalized:"submit"},{native:"envio",normalized:"submit"},{native:"tecla abajo",normalized:"keydown"},{native:"tecla arriba",normalized:"keyup"},{native:"rat\xF3n encima",normalized:"mouseover"},{native:"raton encima",normalized:"mouseover"},{native:"rat\xF3n fuera",normalized:"mouseout"},{native:"raton fuera",normalized:"mouseout"},{native:"enfoque",normalized:"focus"},{native:"desenfoque",normalized:"blur"},{native:"carga",normalized:"load"},{native:"desplazamiento",normalized:"scroll"},{native:"yo",normalized:"me"},{native:"m\xED",normalized:"me"},{native:"mi",normalized:"me"},{native:"ello",normalized:"it"},{native:"resultado",normalized:"result"},{native:"objetivo",normalized:"target"},{native:"destino",normalized:"target"},{native:"segundo",normalized:"s"},{native:"segundos",normalized:"s"},{native:"milisegundo",normalized:"ms"},{native:"milisegundos",normalized:"ms"},{native:"minuto",normalized:"m"},{native:"minutos",normalized:"m"},{native:"hora",normalized:"h"},{native:"horas",normalized:"h"},{native:"de lo contrario",normalized:"else"},{native:"hasta que",normalized:"until"},{native:"antes de",normalized:"before"},{native:"despu\xE9s de",normalized:"after"},{native:"despues de",normalized:"after"},{native:"dentro de",normalized:"into"},{native:"fuera de",normalized:"out"},{native:"asincrono",normalized:"async"},{native:"despues",normalized:"after"},{native:"a\xF1adir",normalized:"add"},{native:"toggle",normalized:"toggle"},{native:"borrar",normalized:"remove"},{native:"pon",normalized:"put"},{native:"crear",normalized:"make"},{native:"y",normalized:"and"},{native:"o",normalized:"or"},{native:"no",normalized:"not"},{native:"es",normalized:"is"},{native:"existe",normalized:"exists"},{native:"vac\xEDo",normalized:"empty"},{native:"vacio",normalized:"empty"}],Lt=class extends C{constructor(){super();this.language="es";this.direction="ltr";this.initializeKeywordsFromProfile(me,Di),this.normalizer=new Le}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let l=this.tryEventModifier(e,n);if(l){r.push(l),n=l.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let c=this.trySelector(e,n);if(c){r.push(c),n=c.position.end;continue}}if(R(e[n])){let l=this.tryString(e,n);if(l){r.push(l),n=l.position.end;continue}}if(N(e,n)){let l=this.tryUrl(e,n);if(l){r.push(l),n=l.position.end;continue}}if(T(e[n])||e[n]==="-"&&n+1<e.length&&T(e[n+1])){let l=this.extractSpanishNumber(e,n);if(l){r.push(l),n=l.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}let s=this.tryMultiWordPhrase(e,n);if(s){r.push(s),n=s.position.end;continue}if(Mn(e[n])){let l=this.extractSpanishWord(e,n);if(l){r.push(l),n=l.position.end;continue}}let o=this.tryOperator(e,n);if(o){r.push(o),n=o.position.end;continue}n++}return new w(r,"es")}classifyToken(e){let r=e.toLowerCase();return An.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":["==","!=","<=",">=","<",">","&&","||","!"].includes(e)?"operator":"identifier"}tryMultiWordPhrase(e,r){for(let n of this.profileKeywords){if(!n.native.includes(" "))continue;let i=n.native;if(e.slice(r,r+i.length).toLowerCase()===i.toLowerCase()){let o=r+i.length;if(o>=e.length||S(e[o])||!Mn(e[o]))return v(e.slice(r,r+i.length),"keyword",h(r,o),n.normalized)}}return null}extractSpanishWord(e,r){let n=r,i="";for(;n<e.length&&Bi(e[n]);)i+=e[n++];if(!i)return null;let s=i.toLowerCase();if(An.has(s))return v(i,"particle",h(r,n));let o=this.lookupKeyword(s);if(o)return v(i,"keyword",h(r,n),o.normalized);let l=this.tryMorphKeywordMatch(s,r,n);return l||v(i,"identifier",h(r,n))}extractSpanishNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Fi,{allowSign:!0,skipWhitespace:!0})}},Ye=new Lt;j("es",Ye,me);var de={code:"pt",name:"Portuguese",nativeName:"Portugu\xEAs",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"eu",it:"ele",you:"voc\xEA",result:"resultado",event:"evento",target:"alvo",body:"corpo"},possessive:{marker:"de",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"meu",it:"seu",you:"teu"},keywords:{meu:"me",minha:"me",teu:"you",tua:"you",seu:"it",sua:"it"}},roleMarkers:{destination:{primary:"em",alternatives:["para","a"],position:"before"},source:{primary:"de",alternatives:["desde"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"com",position:"before"}},keywords:{toggle:{primary:"alternar",alternatives:["trocar"],normalized:"toggle"},add:{primary:"adicionar",alternatives:["acrescentar"],normalized:"add"},remove:{primary:"remover",alternatives:["eliminar","apagar"],normalized:"remove"},put:{primary:"colocar",alternatives:["p\xF4r","por"],normalized:"put"},append:{primary:"anexar",normalized:"append"},prepend:{primary:"preceder",normalized:"prepend"},take:{primary:"pegar",normalized:"take"},make:{primary:"fazer",alternatives:["criar"],normalized:"make"},clone:{primary:"clonar",alternatives:["copiar"],normalized:"clone"},swap:{primary:"trocar",alternatives:["substituir"],normalized:"swap"},morph:{primary:"transformar",alternatives:["converter"],normalized:"morph"},set:{primary:"definir",alternatives:["configurar"],normalized:"set"},get:{primary:"obter",normalized:"get"},increment:{primary:"incrementar",alternatives:["aumentar"],normalized:"increment"},decrement:{primary:"decrementar",alternatives:["diminuir"],normalized:"decrement"},log:{primary:"registrar",alternatives:["imprimir"],normalized:"log"},show:{primary:"mostrar",alternatives:["exibir"],normalized:"show"},hide:{primary:"ocultar",alternatives:["esconder"],normalized:"hide"},transition:{primary:"transi\xE7\xE3o",alternatives:["animar"],normalized:"transition"},on:{primary:"em",alternatives:["quando","ao"],normalized:"on"},trigger:{primary:"disparar",alternatives:["ativar"],normalized:"trigger"},send:{primary:"enviar",normalized:"send"},focus:{primary:"focar",normalized:"focus"},blur:{primary:"desfocar",normalized:"blur"},go:{primary:"ir",alternatives:["navegar"],normalized:"go"},wait:{primary:"esperar",alternatives:["aguardar"],normalized:"wait"},fetch:{primary:"buscar",normalized:"fetch"},settle:{primary:"estabilizar",normalized:"settle"},if:{primary:"se",normalized:"if"},when:{primary:"quando",normalized:"when"},where:{primary:"onde",normalized:"where"},else:{primary:"sen\xE3o",normalized:"else"},repeat:{primary:"repetir",normalized:"repeat"},for:{primary:"para",normalized:"for"},while:{primary:"enquanto",normalized:"while"},continue:{primary:"continuar",normalized:"continue"},halt:{primary:"parar",normalized:"halt"},throw:{primary:"lan\xE7ar",normalized:"throw"},call:{primary:"chamar",normalized:"call"},return:{primary:"retornar",alternatives:["devolver"],normalized:"return"},then:{primary:"ent\xE3o",alternatives:["depois","logo"],normalized:"then"},and:{primary:"e",alternatives:["tamb\xE9m","al\xE9m disso"],normalized:"and"},end:{primary:"fim",alternatives:["final","t\xE9rmino"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"ass\xEDncrono",normalized:"async"},tell:{primary:"dizer",normalized:"tell"},default:{primary:"padr\xE3o",normalized:"default"},init:{primary:"iniciar",alternatives:["inicializar"],normalized:"init"},behavior:{primary:"comportamento",normalized:"behavior"},install:{primary:"instalar",normalized:"install"},measure:{primary:"medir",normalized:"measure"},beep:{primary:"apitar",normalized:"beep"},break:{primary:"parar",normalized:"break"},copy:{primary:"copiar",normalized:"copy"},exit:{primary:"sair",normalized:"exit"},pick:{primary:"escolher",normalized:"pick"},render:{primary:"renderizar",normalized:"render"},into:{primary:"em",alternatives:["dentro de"],normalized:"into"},before:{primary:"antes",normalized:"before"},after:{primary:"depois",normalized:"after"},click:{primary:"clique",alternatives:["clicar"],normalized:"click"},hover:{primary:"sobrevoar",alternatives:["passar"],normalized:"hover"},submit:{primary:"envio",alternatives:["submeter"],normalized:"submit"},input:{primary:"entrada",alternatives:["inser\xE7\xE3o"],normalized:"input"},change:{primary:"altera\xE7\xE3o",alternatives:["mudan\xE7a"],normalized:"change"},until:{primary:"at\xE9",normalized:"until"},event:{primary:"evento",normalized:"event"},from:{primary:"de",alternatives:["desde"],normalized:"from"}},eventHandler:{keyword:{primary:"em",alternatives:["ao","quando"],normalized:"on"},sourceMarker:{primary:"de",alternatives:["desde"],position:"before"},conditionalKeyword:{primary:"quando",alternatives:["se"]},eventMarker:{primary:"ao",alternatives:["no"],position:"before"},temporalMarkers:["quando","ao"]}};function Gi(a){return/[áàâãéêíóôõúüçÁÀÂÃÉÊÍÓÔÕÚÜÇ]/.test(a)}function Hi(a){let t=a.toLowerCase();if(t.endsWith("ar")||t.endsWith("er")||t.endsWith("ir")||t.endsWith("ando")||t.endsWith("endo")||t.endsWith("indo")||t.endsWith("ado")||t.endsWith("ido")||t.endsWith("ar-se")||t.endsWith("er-se")||t.endsWith("ir-se"))return!0;for(let e of a)if(Gi(e))return!0;return!1}var In=["-se","-me","-te","-nos","-vos"],Xi=[{ending:"ando",stem:"ar",confidence:.88,type:"gerund"},{ending:"ado",stem:"ar",confidence:.88,type:"participle"},{ending:"ada",stem:"ar",confidence:.88,type:"participle"},{ending:"ados",stem:"ar",confidence:.88,type:"participle"},{ending:"adas",stem:"ar",confidence:.88,type:"participle"},{ending:"o",stem:"ar",confidence:.75,type:"present"},{ending:"as",stem:"ar",confidence:.82,type:"present"},{ending:"a",stem:"ar",confidence:.75,type:"present"},{ending:"amos",stem:"ar",confidence:.85,type:"present"},{ending:"ais",stem:"ar",confidence:.85,type:"present"},{ending:"am",stem:"ar",confidence:.8,type:"present"},{ending:"ei",stem:"ar",confidence:.88,type:"past"},{ending:"aste",stem:"ar",confidence:.88,type:"past"},{ending:"ou",stem:"ar",confidence:.88,type:"past"},{ending:"\xE1mos",stem:"ar",confidence:.88,type:"past"},{ending:"amos",stem:"ar",confidence:.85,type:"past"},{ending:"astes",stem:"ar",confidence:.88,type:"past"},{ending:"aram",stem:"ar",confidence:.88,type:"past"},{ending:"ava",stem:"ar",confidence:.88,type:"past"},{ending:"avas",stem:"ar",confidence:.88,type:"past"},{ending:"\xE1vamos",stem:"ar",confidence:.88,type:"past"},{ending:"avamos",stem:"ar",confidence:.85,type:"past"},{ending:"\xE1veis",stem:"ar",confidence:.88,type:"past"},{ending:"aveis",stem:"ar",confidence:.85,type:"past"},{ending:"avam",stem:"ar",confidence:.88,type:"past"},{ending:"e",stem:"ar",confidence:.72,type:"subjunctive"},{ending:"es",stem:"ar",confidence:.78,type:"subjunctive"},{ending:"emos",stem:"ar",confidence:.82,type:"subjunctive"},{ending:"eis",stem:"ar",confidence:.82,type:"subjunctive"},{ending:"em",stem:"ar",confidence:.78,type:"subjunctive"},{ending:"a",stem:"ar",confidence:.75,type:"imperative"},{ending:"ai",stem:"ar",confidence:.85,type:"imperative"},{ending:"ar",stem:"ar",confidence:.92,type:"dictionary"}],Qi=[{ending:"endo",stem:"er",confidence:.88,type:"gerund"},{ending:"ido",stem:"er",confidence:.85,type:"participle"},{ending:"ida",stem:"er",confidence:.85,type:"participle"},{ending:"idos",stem:"er",confidence:.85,type:"participle"},{ending:"idas",stem:"er",confidence:.85,type:"participle"},{ending:"o",stem:"er",confidence:.72,type:"present"},{ending:"es",stem:"er",confidence:.78,type:"present"},{ending:"e",stem:"er",confidence:.72,type:"present"},{ending:"emos",stem:"er",confidence:.85,type:"present"},{ending:"eis",stem:"er",confidence:.82,type:"present"},{ending:"em",stem:"er",confidence:.78,type:"present"},{ending:"i",stem:"er",confidence:.85,type:"past"},{ending:"este",stem:"er",confidence:.88,type:"past"},{ending:"eu",stem:"er",confidence:.88,type:"past"},{ending:"emos",stem:"er",confidence:.85,type:"past"},{ending:"estes",stem:"er",confidence:.88,type:"past"},{ending:"eram",stem:"er",confidence:.88,type:"past"},{ending:"ia",stem:"er",confidence:.85,type:"past"},{ending:"ias",stem:"er",confidence:.85,type:"past"},{ending:"\xEDamos",stem:"er",confidence:.88,type:"past"},{ending:"iamos",stem:"er",confidence:.85,type:"past"},{ending:"\xEDeis",stem:"er",confidence:.88,type:"past"},{ending:"ieis",stem:"er",confidence:.85,type:"past"},{ending:"iam",stem:"er",confidence:.85,type:"past"},{ending:"er",stem:"er",confidence:.92,type:"dictionary"}],Zi=[{ending:"indo",stem:"ir",confidence:.88,type:"gerund"},{ending:"ido",stem:"ir",confidence:.85,type:"participle"},{ending:"ida",stem:"ir",confidence:.85,type:"participle"},{ending:"idos",stem:"ir",confidence:.85,type:"participle"},{ending:"idas",stem:"ir",confidence:.85,type:"participle"},{ending:"o",stem:"ir",confidence:.72,type:"present"},{ending:"es",stem:"ir",confidence:.78,type:"present"},{ending:"e",stem:"ir",confidence:.72,type:"present"},{ending:"imos",stem:"ir",confidence:.85,type:"present"},{ending:"is",stem:"ir",confidence:.82,type:"present"},{ending:"em",stem:"ir",confidence:.78,type:"present"},{ending:"i",stem:"ir",confidence:.85,type:"past"},{ending:"iste",stem:"ir",confidence:.88,type:"past"},{ending:"iu",stem:"ir",confidence:.88,type:"past"},{ending:"imos",stem:"ir",confidence:.85,type:"past"},{ending:"istes",stem:"ir",confidence:.88,type:"past"},{ending:"iram",stem:"ir",confidence:.88,type:"past"},{ending:"ia",stem:"ir",confidence:.85,type:"past"},{ending:"ias",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDamos",stem:"ir",confidence:.88,type:"past"},{ending:"iamos",stem:"ir",confidence:.85,type:"past"},{ending:"\xEDeis",stem:"ir",confidence:.88,type:"past"},{ending:"ieis",stem:"ir",confidence:.85,type:"past"},{ending:"iam",stem:"ir",confidence:.85,type:"past"},{ending:"ir",stem:"ir",confidence:.92,type:"dictionary"}],Yi=[...Xi,...Qi,...Zi].sort((a,t)=>t.ending.length-a.ending.length),Pe=class{constructor(){this.language="pt"}isNormalizable(t){return t.length<3?!1:Hi(t)}normalize(t){let e=t.toLowerCase();if((e.endsWith("ar")||e.endsWith("er")||e.endsWith("ir"))&&!In.some(i=>e.endsWith(i)))return A(t);let r=this.tryReflexiveNormalization(e);if(r)return r;let n=this.tryConjugationNormalization(e);return n||A(t)}tryReflexiveNormalization(t){for(let e of In)if(t.endsWith(e)){let r=t.slice(0,-e.length);if(r.endsWith("ar")||r.endsWith("er")||r.endsWith("ir"))return L(r,.88,{removedSuffixes:[e],conjugationType:"reflexive"});let n=this.tryConjugationNormalization(r);if(n&&n.stem!==r)return L(n.stem,n.confidence*.95,{removedSuffixes:[e,...n.metadata?.removedSuffixes||[]],conjugationType:"reflexive"})}return null}tryConjugationNormalization(t){for(let e of Yi)if(t.endsWith(e.ending)){let r=t.slice(0,-e.ending.length);if(r.length<2)continue;let n=r+e.stem;return L(n,e.confidence,{removedSuffixes:[e.ending],conjugationType:e.type})}return null}},Ll=new Pe;var{isLetter:Ji,isIdentifierChar:ea}=W(/[a-zA-ZáàâãéêíóôõúüçÁÀÂÃÉÊÍÓÔÕÚÜÇ]/),On=new Set(["em","a","de","desde","at\xE9","ate","com","sem","por","para","sobre","entre","antes","depois","dentro","fora","ao","do","no","na"]),ta=[{native:"verdadeiro",normalized:"true"},{native:"falso",normalized:"false"},{native:"nulo",normalized:"null"},{native:"indefinido",normalized:"undefined"},{native:"primeiro",normalized:"first"},{native:"primeira",normalized:"first"},{native:"\xFAltimo",normalized:"last"},{native:"ultima",normalized:"last"},{native:"pr\xF3ximo",normalized:"next"},{native:"proximo",normalized:"next"},{native:"anterior",normalized:"previous"},{native:"mais pr\xF3ximo",normalized:"closest"},{native:"mais proximo",normalized:"closest"},{native:"pai",normalized:"parent"},{native:"clique",normalized:"click"},{native:"click",normalized:"click"},{native:"entrada",normalized:"input"},{native:"mudan\xE7a",normalized:"change"},{native:"mudanca",normalized:"change"},{native:"envio",normalized:"submit"},{native:"tecla baixo",normalized:"keydown"},{native:"tecla cima",normalized:"keyup"},{native:"mouse sobre",normalized:"mouseover"},{native:"mouse fora",normalized:"mouseout"},{native:"foco",normalized:"focus"},{native:"desfoque",normalized:"blur"},{native:"carregar",normalized:"load"},{native:"rolagem",normalized:"scroll"},{native:"meu",normalized:"my"},{native:"minha",normalized:"my"},{native:"isso",normalized:"it"},{native:"segundo",normalized:"s"},{native:"segundos",normalized:"s"},{native:"milissegundo",normalized:"ms"},{native:"milissegundos",normalized:"ms"},{native:"minuto",normalized:"m"},{native:"minutos",normalized:"m"},{native:"hora",normalized:"h"},{native:"horas",normalized:"h"},{native:"senao",normalized:"else"},{native:"transicao",normalized:"transition"},{native:"ate",normalized:"until"},{native:"entao",normalized:"then"},{native:"lancar",normalized:"throw"},{native:"assincrono",normalized:"async"},{native:"padrao",normalized:"default"},{native:"at\xE9 que",normalized:"until"},{native:"dentro de",normalized:"into"}],na=[{pattern:"milissegundos",suffix:"ms",length:13,caseInsensitive:!0},{pattern:"milissegundo",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"segundos",suffix:"s",length:8,caseInsensitive:!0},{pattern:"segundo",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minutos",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minuto",suffix:"m",length:6,caseInsensitive:!0},{pattern:"horas",suffix:"h",length:5,caseInsensitive:!0},{pattern:"hora",suffix:"h",length:4,caseInsensitive:!0}],Pt=class extends C{constructor(){super();this.language="pt";this.direction="ltr";this.initializeKeywordsFromProfile(de,ta),this.normalizer=new Pe}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])||e[n]==="-"&&n+1<e.length&&T(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}if(Ji(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new w(r,"pt")}classifyToken(e){let r=e.toLowerCase();return On.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,i="";for(;n<e.length&&ea(e[n]);)i+=e[n++];if(!i)return null;let s=i.toLowerCase(),o=this.lookupKeyword(s);return o?v(i,"keyword",h(r,n),o.normalized):On.has(s)?v(i,"particle",h(r,n)):v(i,"identifier",h(r,n))}extractNumber(e,r){return this.tryNumberWithTimeUnits(e,r,na,{allowSign:!0,skipWhitespace:!0})}},Je=new Pt;j("pt",Je,de);var pe={code:"fr",name:"French",nativeName:"Fran\xE7ais",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"infinitive",verb:{position:"start",subjectDrop:!1},references:{me:"moi",it:"il",you:"toi",result:"r\xE9sultat",event:"\xE9v\xE9nement",target:"cible",body:"corps"},possessive:{marker:"de",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"ma",it:"sa",you:"ta"},keywords:{mon:"me",ma:"me",mes:"me",ton:"you",ta:"you",tes:"you",son:"it",sa:"it",ses:"it"}},roleMarkers:{destination:{primary:"sur",alternatives:["\xE0","dans"],position:"before"},source:{primary:"de",alternatives:["depuis"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"avec",position:"before"}},keywords:{toggle:{primary:"basculer",alternatives:["permuter","alterner"],normalized:"toggle"},add:{primary:"ajouter",normalized:"add"},remove:{primary:"supprimer",alternatives:["enlever","retirer"],normalized:"remove"},put:{primary:"mettre",alternatives:["placer"],normalized:"put"},append:{primary:"annexer",normalized:"append"},prepend:{primary:"pr\xE9fixer",normalized:"prepend"},take:{primary:"prendre",normalized:"take"},make:{primary:"faire",alternatives:["cr\xE9er"],normalized:"make"},clone:{primary:"cloner",alternatives:["copier"],normalized:"clone"},swap:{primary:"\xE9changer",alternatives:["permuter"],normalized:"swap"},morph:{primary:"transformer",alternatives:["m\xE9tamorphoser"],normalized:"morph"},set:{primary:"d\xE9finir",alternatives:["\xE9tablir"],normalized:"set"},get:{primary:"obtenir",normalized:"get"},increment:{primary:"incr\xE9menter",alternatives:["augmenter"],normalized:"increment"},decrement:{primary:"d\xE9cr\xE9menter",alternatives:["diminuer"],normalized:"decrement"},log:{primary:"enregistrer",alternatives:["afficher"],normalized:"log"},show:{primary:"montrer",alternatives:["afficher"],normalized:"show"},hide:{primary:"cacher",alternatives:["masquer"],normalized:"hide"},transition:{primary:"transition",alternatives:["animer"],normalized:"transition"},on:{primary:"sur",alternatives:["quand","lors"],normalized:"on"},trigger:{primary:"d\xE9clencher",normalized:"trigger"},send:{primary:"envoyer",normalized:"send"},focus:{primary:"focaliser",alternatives:["concentrer"],normalized:"focus"},blur:{primary:"d\xE9focaliser",normalized:"blur"},go:{primary:"aller",alternatives:["naviguer"],normalized:"go"},wait:{primary:"attendre",normalized:"wait"},fetch:{primary:"chercher",alternatives:["r\xE9cup\xE9rer"],normalized:"fetch"},settle:{primary:"stabiliser",normalized:"settle"},if:{primary:"si",normalized:"if"},when:{primary:"quand",normalized:"when"},where:{primary:"o\xF9",normalized:"where"},else:{primary:"sinon",normalized:"else"},repeat:{primary:"r\xE9p\xE9ter",normalized:"repeat"},for:{primary:"pour",normalized:"for"},while:{primary:"pendant",normalized:"while"},continue:{primary:"continuer",normalized:"continue"},halt:{primary:"arr\xEAter",alternatives:["stopper"],normalized:"halt"},throw:{primary:"lancer",normalized:"throw"},call:{primary:"appeler",normalized:"call"},return:{primary:"retourner",alternatives:["renvoyer"],normalized:"return"},then:{primary:"puis",alternatives:["ensuite","alors"],normalized:"then"},and:{primary:"et",alternatives:["aussi","\xE9galement"],normalized:"and"},end:{primary:"fin",alternatives:["terminer","finir"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asynchrone",normalized:"async"},tell:{primary:"dire",normalized:"tell"},default:{primary:"d\xE9faut",normalized:"default"},init:{primary:"initialiser",normalized:"init"},behavior:{primary:"comportement",normalized:"behavior"},install:{primary:"installer",normalized:"install"},measure:{primary:"mesurer",normalized:"measure"},beep:{primary:"bip",normalized:"beep"},break:{primary:"arr\xEAter",normalized:"break"},copy:{primary:"copier",normalized:"copy"},exit:{primary:"sortir",normalized:"exit"},pick:{primary:"choisir",normalized:"pick"},render:{primary:"rendu",normalized:"render"},into:{primary:"dans",normalized:"into"},before:{primary:"avant",normalized:"before"},after:{primary:"apr\xE8s",normalized:"after"},click:{primary:"clic",alternatives:["clique"],normalized:"click"},hover:{primary:"survol",alternatives:["survoler"],normalized:"hover"},submit:{primary:"soumission",alternatives:["soumettre"],normalized:"submit"},input:{primary:"saisie",alternatives:["entr\xE9e"],normalized:"input"},change:{primary:"changement",alternatives:["modifier"],normalized:"change"},until:{primary:"jusqu'\xE0",alternatives:["jusque"],normalized:"until"},event:{primary:"\xE9v\xE9nement",normalized:"event"},from:{primary:"de",alternatives:["depuis"],normalized:"from"}},eventHandler:{keyword:{primary:"sur",alternatives:["lors"],normalized:"on"},sourceMarker:{primary:"de",alternatives:["depuis"],position:"before"},conditionalKeyword:{primary:"quand",alternatives:["lorsque"]},eventMarker:{primary:"au",alternatives:["lors du","lors de"],position:"before"},temporalMarkers:["quand","lorsque"]}};function ra(a){let t=a.toLowerCase();return!!(t.endsWith("er")||t.endsWith("ir")||t.endsWith("re")||t.endsWith("ant")||t.endsWith("\xE9")||t.endsWith("i")||t.endsWith("u")||/[àâäéèêëïîôùûüÿçœæ]/i.test(a))}var ia=["toi","vous","nous"],aa=[{ending:"ant",stem:"er",confidence:.88,type:"gerund"},{ending:"\xE9",stem:"er",confidence:.88,type:"participle"},{ending:"\xE9e",stem:"er",confidence:.88,type:"participle"},{ending:"\xE9s",stem:"er",confidence:.88,type:"participle"},{ending:"\xE9es",stem:"er",confidence:.88,type:"participle"},{ending:"e",stem:"er",confidence:.75,type:"present"},{ending:"es",stem:"er",confidence:.78,type:"present"},{ending:"ons",stem:"er",confidence:.85,type:"present"},{ending:"ez",stem:"er",confidence:.85,type:"present"},{ending:"ent",stem:"er",confidence:.82,type:"present"},{ending:"ais",stem:"er",confidence:.82,type:"past"},{ending:"ait",stem:"er",confidence:.82,type:"past"},{ending:"ions",stem:"er",confidence:.85,type:"past"},{ending:"iez",stem:"er",confidence:.85,type:"past"},{ending:"aient",stem:"er",confidence:.85,type:"past"},{ending:"ai",stem:"er",confidence:.8,type:"past"},{ending:"as",stem:"er",confidence:.78,type:"past"},{ending:"a",stem:"er",confidence:.75,type:"past"},{ending:"\xE2mes",stem:"er",confidence:.88,type:"past"},{ending:"\xE2tes",stem:"er",confidence:.88,type:"past"},{ending:"\xE8rent",stem:"er",confidence:.88,type:"past"},{ending:"erai",stem:"er",confidence:.85,type:"future"},{ending:"eras",stem:"er",confidence:.85,type:"future"},{ending:"era",stem:"er",confidence:.82,type:"future"},{ending:"erons",stem:"er",confidence:.88,type:"future"},{ending:"erez",stem:"er",confidence:.88,type:"future"},{ending:"eront",stem:"er",confidence:.88,type:"future"},{ending:"erais",stem:"er",confidence:.85,type:"conditional"},{ending:"erait",stem:"er",confidence:.85,type:"conditional"},{ending:"erions",stem:"er",confidence:.88,type:"conditional"},{ending:"eriez",stem:"er",confidence:.88,type:"conditional"},{ending:"eraient",stem:"er",confidence:.88,type:"conditional"},{ending:"ions",stem:"er",confidence:.8,type:"subjunctive"},{ending:"iez",stem:"er",confidence:.8,type:"subjunctive"},{ending:"ons",stem:"er",confidence:.82,type:"imperative"},{ending:"ez",stem:"er",confidence:.82,type:"imperative"},{ending:"er",stem:"er",confidence:.92,type:"dictionary"}],oa=[{ending:"issant",stem:"ir",confidence:.88,type:"gerund"},{ending:"i",stem:"ir",confidence:.8,type:"participle"},{ending:"ie",stem:"ir",confidence:.82,type:"participle"},{ending:"is",stem:"ir",confidence:.78,type:"participle"},{ending:"ies",stem:"ir",confidence:.82,type:"participle"},{ending:"is",stem:"ir",confidence:.78,type:"present"},{ending:"it",stem:"ir",confidence:.78,type:"present"},{ending:"issons",stem:"ir",confidence:.88,type:"present"},{ending:"issez",stem:"ir",confidence:.88,type:"present"},{ending:"issent",stem:"ir",confidence:.88,type:"present"},{ending:"issais",stem:"ir",confidence:.85,type:"past"},{ending:"issait",stem:"ir",confidence:.85,type:"past"},{ending:"issions",stem:"ir",confidence:.88,type:"past"},{ending:"issiez",stem:"ir",confidence:.88,type:"past"},{ending:"issaient",stem:"ir",confidence:.88,type:"past"},{ending:"irai",stem:"ir",confidence:.85,type:"future"},{ending:"iras",stem:"ir",confidence:.85,type:"future"},{ending:"ira",stem:"ir",confidence:.82,type:"future"},{ending:"irons",stem:"ir",confidence:.88,type:"future"},{ending:"irez",stem:"ir",confidence:.88,type:"future"},{ending:"iront",stem:"ir",confidence:.88,type:"future"},{ending:"ir",stem:"ir",confidence:.9,type:"dictionary"}],sa=[{ending:"ant",stem:"re",confidence:.82,type:"gerund"},{ending:"u",stem:"re",confidence:.8,type:"participle"},{ending:"ue",stem:"re",confidence:.82,type:"participle"},{ending:"us",stem:"re",confidence:.82,type:"participle"},{ending:"ues",stem:"re",confidence:.82,type:"participle"},{ending:"s",stem:"re",confidence:.72,type:"present"},{ending:"d",stem:"re",confidence:.75,type:"present"},{ending:"ons",stem:"re",confidence:.82,type:"present"},{ending:"ez",stem:"re",confidence:.82,type:"present"},{ending:"ent",stem:"re",confidence:.8,type:"present"},{ending:"re",stem:"re",confidence:.9,type:"dictionary"}],la=[...aa,...oa,...sa].sort((a,t)=>t.ending.length-a.ending.length),Ee=class{constructor(){this.language="fr"}isNormalizable(t){return t.length<3?!1:ra(t)}normalize(t){let e=t.toLowerCase();if((e.endsWith("er")||e.endsWith("ir")||e.endsWith("re"))&&e.length>=4)return A(t);let r=this.tryReflexiveNormalization(e);if(r)return r;let n=this.tryConjugationNormalization(e);return n||A(t)}tryReflexiveNormalization(t){for(let e of ia){let r="-"+e;if(t.endsWith(r)){let n=t.slice(0,-r.length),i=this.tryConjugationNormalization(n);if(i&&i.stem!==n)return L(i.stem,i.confidence*.95,{removedSuffixes:[r,...i.metadata?.removedSuffixes||[]],conjugationType:"reflexive"})}}return null}tryConjugationNormalization(t){for(let e of la)if(t.endsWith(e.ending)){let r=t.slice(0,-e.ending.length);if(r.length<2)continue;let n=r+e.stem;return L(n,e.confidence,{removedSuffixes:[e.ending],conjugationType:e.type})}return null}},Wl=new Ee;var{isLetter:ca,isIdentifierChar:ma}=W(/[a-zA-ZàâäéèêëîïôùûüçœæÀÂÄÉÈÊËÎÏÔÙÛÜÇŒÆ]/),Vn=new Set(["\xE0","a","de","du","des","dans","sur","sous","avec","sans","par","pour","entre","avant","apr\xE8s","apres","depuis","vers","chez","contre","au","aux"]),da=[{native:"vrai",normalized:"true"},{native:"faux",normalized:"false"},{native:"nul",normalized:"null"},{native:"ind\xE9fini",normalized:"undefined"},{native:"indefini",normalized:"undefined"},{native:"premier",normalized:"first"},{native:"premi\xE8re",normalized:"first"},{native:"premiere",normalized:"first"},{native:"dernier",normalized:"last"},{native:"derni\xE8re",normalized:"last"},{native:"derniere",normalized:"last"},{native:"suivant",normalized:"next"},{native:"pr\xE9c\xE9dent",normalized:"previous"},{native:"precedent",normalized:"previous"},{native:"plus proche",normalized:"closest"},{native:"parent",normalized:"parent"},{native:"clic",normalized:"click"},{native:"click",normalized:"click"},{native:"entr\xE9e",normalized:"input"},{native:"entree",normalized:"input"},{native:"changement",normalized:"change"},{native:"soumission",normalized:"submit"},{native:"touche bas",normalized:"keydown"},{native:"touche haut",normalized:"keyup"},{native:"souris dessus",normalized:"mouseover"},{native:"souris dehors",normalized:"mouseout"},{native:"focus",normalized:"focus"},{native:"flou",normalized:"blur"},{native:"chargement",normalized:"load"},{native:"d\xE9filement",normalized:"scroll"},{native:"defilement",normalized:"scroll"},{native:"je",normalized:"me"},{native:"mon",normalized:"my"},{native:"ma",normalized:"my"},{native:"mes",normalized:"my"},{native:"\xE7a",normalized:"it"},{native:"ca",normalized:"it"},{native:"resultat",normalized:"result"},{native:"evenement",normalized:"event"},{native:"seconde",normalized:"s"},{native:"secondes",normalized:"s"},{native:"milliseconde",normalized:"ms"},{native:"millisecondes",normalized:"ms"},{native:"minute",normalized:"m"},{native:"minutes",normalized:"m"},{native:"heure",normalized:"h"},{native:"heures",normalized:"h"},{native:"prefixer",normalized:"prepend"},{native:"creer",normalized:"make"},{native:"definir",normalized:"set"},{native:"etablir",normalized:"set"},{native:"incrementer",normalized:"increment"},{native:"decrementer",normalized:"decrement"},{native:"declencher",normalized:"trigger"},{native:"defocaliser",normalized:"blur"},{native:"recuperer",normalized:"fetch"},{native:"repeter",normalized:"repeat"},{native:"arreter",normalized:"halt"},{native:"defaut",normalized:"default"},{native:"jusqua",normalized:"until"},{native:"apres",normalized:"after"},{native:"journaliser",normalized:"log"},{native:"transmuter",normalized:"morph"},{native:"tant que",normalized:"while"}],pa=[{pattern:"millisecondes",suffix:"ms",length:13,caseInsensitive:!0},{pattern:"milliseconde",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"secondes",suffix:"s",length:8,caseInsensitive:!0},{pattern:"seconde",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minutes",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minute",suffix:"m",length:6,caseInsensitive:!0},{pattern:"heures",suffix:"h",length:6,caseInsensitive:!0},{pattern:"heure",suffix:"h",length:5,caseInsensitive:!0}],Et=class extends C{constructor(){super();this.language="fr";this.direction="ltr";this.initializeKeywordsFromProfile(pe,da),this.normalizer=new Ee}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])||e[n]==="-"&&n+1<e.length&&T(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}if(ca(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new w(r,"fr")}classifyToken(e){let r=e.toLowerCase();return Vn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,i="";for(;n<e.length&&ma(e[n]);)i+=e[n++];if(!i)return null;let s=i.toLowerCase(),o=this.lookupKeyword(s);return o?v(i,"keyword",h(r,n),o.normalized):Vn.has(s)?v(i,"particle",h(r,n)):v(i,"identifier",h(r,n))}extractNumber(e,r){return this.tryNumberWithTimeUnits(e,r,pa,{allowSign:!0,skipWhitespace:!0})}},et=new Et;j("fr",et,pe);var ue={code:"de",name:"German",nativeName:"Deutsch",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,defaultVerbForm:"infinitive",verb:{position:"start",subjectDrop:!1},references:{me:"ich",it:"es",you:"du",result:"Ergebnis",event:"Ereignis",target:"Ziel",body:"K\xF6rper"},possessive:{marker:"",markerPosition:"before-property",usePossessiveAdjectives:!0,specialForms:{me:"mein",it:"sein",you:"dein"},keywords:{mein:"me",meine:"me",meinen:"me",dein:"you",deine:"you",deinen:"you",sein:"it",seine:"it",seinen:"it"}},roleMarkers:{destination:{primary:"auf",alternatives:["zu","in"],position:"before"},source:{primary:"von",alternatives:["aus"],position:"before"},patient:{primary:"",position:"before"},style:{primary:"mit",position:"before"}},keywords:{toggle:{primary:"umschalten",alternatives:["wechseln"],normalized:"toggle"},add:{primary:"hinzuf\xFCgen",normalized:"add"},remove:{primary:"entfernen",alternatives:["l\xF6schen"],normalized:"remove"},put:{primary:"setzen",alternatives:["stellen","platzieren"],normalized:"put"},append:{primary:"anh\xE4ngen",normalized:"append"},prepend:{primary:"voranstellen",normalized:"prepend"},take:{primary:"nehmen",normalized:"take"},make:{primary:"machen",alternatives:["erstellen","erzeugen"],normalized:"make"},clone:{primary:"klonen",alternatives:["kopieren"],normalized:"clone"},swap:{primary:"austauschen",alternatives:["tauschen","wechseln"],normalized:"swap"},morph:{primary:"verwandeln",alternatives:["transformieren"],normalized:"morph"},set:{primary:"festlegen",alternatives:["definieren"],normalized:"set"},get:{primary:"holen",alternatives:["bekommen"],normalized:"get"},increment:{primary:"erh\xF6hen",normalized:"increment"},decrement:{primary:"verringern",alternatives:["vermindern"],normalized:"decrement"},log:{primary:"protokollieren",alternatives:["ausgeben"],normalized:"log"},show:{primary:"zeigen",alternatives:["anzeigen"],normalized:"show"},hide:{primary:"verbergen",alternatives:["verstecken"],normalized:"hide"},transition:{primary:"\xFCbergang",alternatives:["animieren"],normalized:"transition"},on:{primary:"bei",alternatives:["wenn","auf"],normalized:"on"},trigger:{primary:"ausl\xF6sen",normalized:"trigger"},send:{primary:"senden",alternatives:["schicken"],normalized:"send"},focus:{primary:"fokussieren",normalized:"focus"},blur:{primary:"defokussieren",alternatives:["entfokussieren"],normalized:"blur"},go:{primary:"gehen",alternatives:["navigieren"],normalized:"go"},wait:{primary:"warten",normalized:"wait"},fetch:{primary:"abrufen",alternatives:["laden"],normalized:"fetch"},settle:{primary:"stabilisieren",normalized:"settle"},if:{primary:"wenn",alternatives:["falls"],normalized:"if"},when:{primary:"wenn",normalized:"when"},where:{primary:"wo",normalized:"where"},else:{primary:"sonst",alternatives:["ansonsten"],normalized:"else"},repeat:{primary:"wiederholen",normalized:"repeat"},for:{primary:"f\xFCr",normalized:"for"},while:{primary:"solange",alternatives:["w\xE4hrend"],normalized:"while"},continue:{primary:"fortfahren",alternatives:["weiter"],normalized:"continue"},halt:{primary:"anhalten",alternatives:["stoppen"],normalized:"halt"},throw:{primary:"werfen",normalized:"throw"},call:{primary:"aufrufen",normalized:"call"},return:{primary:"zur\xFCckgeben",normalized:"return"},then:{primary:"dann",alternatives:["danach","anschlie\xDFend"],normalized:"then"},and:{primary:"und",alternatives:["sowie","auch"],normalized:"and"},end:{primary:"ende",alternatives:["beenden","fertig"],normalized:"end"},js:{primary:"js",alternatives:["javascript"],normalized:"js"},async:{primary:"asynchron",normalized:"async"},tell:{primary:"sagen",normalized:"tell"},default:{primary:"standard",normalized:"default"},init:{primary:"initialisieren",normalized:"init"},behavior:{primary:"verhalten",normalized:"behavior"},install:{primary:"installieren",normalized:"install"},measure:{primary:"messen",normalized:"measure"},beep:{primary:"piepton",normalized:"beep"},break:{primary:"unterbrechen",normalized:"break"},copy:{primary:"kopieren",normalized:"copy"},exit:{primary:"beenden",normalized:"exit"},pick:{primary:"ausw\xE4hlen",normalized:"pick"},render:{primary:"rendern",normalized:"render"},into:{primary:"hinein",normalized:"into"},before:{primary:"vor",normalized:"before"},after:{primary:"nach",normalized:"after"},click:{primary:"Klick",alternatives:["Klicken"],normalized:"click"},hover:{primary:"Hover",alternatives:["Schweben"],normalized:"hover"},submit:{primary:"Absenden",alternatives:["Senden"],normalized:"submit"},input:{primary:"Eingabe",normalized:"input"},change:{primary:"\xC4nderung",alternatives:["\xC4ndern"],normalized:"change"},until:{primary:"bis",normalized:"until"},event:{primary:"Ereignis",alternatives:["Event"],normalized:"event"},from:{primary:"von",alternatives:["aus"],normalized:"from"}},eventHandler:{keyword:{primary:"bei",alternatives:["auf"],normalized:"on"},sourceMarker:{primary:"von",alternatives:["aus"],position:"before"},conditionalKeyword:{primary:"wenn",alternatives:["falls"]},eventMarker:{primary:"bei",alternatives:["beim"],position:"before"},temporalMarkers:["wenn","bei"]}};var ua=["an","auf","aus","ein","mit","vor","zu","ab","bei","nach","weg","um","her","hin"];function fa(a){let t=a.toLowerCase();return!!(t.endsWith("en")||t.endsWith("eln")||t.endsWith("ern")||t.startsWith("ge")&&t.endsWith("t")||t.startsWith("ge")&&t.endsWith("en")||/[äöüß]/i.test(a))}var ga=[{ending:"end",stem:"en",confidence:.88,type:"gerund"},{ending:"e",stem:"en",confidence:.75,type:"present"},{ending:"st",stem:"en",confidence:.8,type:"present"},{ending:"t",stem:"en",confidence:.78,type:"present"},{ending:"en",stem:"en",confidence:.85,type:"dictionary"},{ending:"test",stem:"en",confidence:.85,type:"past"},{ending:"ten",stem:"en",confidence:.82,type:"past"},{ending:"tet",stem:"en",confidence:.85,type:"past"},{ending:"te",stem:"en",confidence:.82,type:"past"},{ending:"test",stem:"en",confidence:.8,type:"subjunctive"},{ending:"ten",stem:"en",confidence:.78,type:"subjunctive"},{ending:"tet",stem:"en",confidence:.8,type:"subjunctive"},{ending:"te",stem:"en",confidence:.78,type:"subjunctive"},{ending:"e",stem:"en",confidence:.72,type:"imperative"},{ending:"t",stem:"en",confidence:.72,type:"imperative"},{ending:"en",stem:"en",confidence:.75,type:"imperative"}],ya=[{ending:"le",stem:"eln",confidence:.82,type:"present"},{ending:"elst",stem:"eln",confidence:.85,type:"present"},{ending:"elt",stem:"eln",confidence:.85,type:"present"},{ending:"eln",stem:"eln",confidence:.88,type:"dictionary"},{ending:"re",stem:"ern",confidence:.82,type:"present"},{ending:"erst",stem:"ern",confidence:.85,type:"present"},{ending:"ert",stem:"ern",confidence:.85,type:"present"},{ending:"ern",stem:"ern",confidence:.88,type:"dictionary"}],ha=[...ga,...ya].sort((a,t)=>t.ending.length-a.ending.length),Re=class{constructor(){this.language="de"}isNormalizable(t){return t.length<3?!1:fa(t)}normalize(t){let e=t.toLowerCase();if(e.endsWith("en")&&e.length>=4)return A(t);if((e.endsWith("eln")||e.endsWith("ern"))&&e.length>=5)return A(t);let r=this.tryParticipleNormalization(e);if(r)return r;let n=this.tryConjugationNormalization(e);return n||A(t)}tryParticipleNormalization(t){for(let e of ua)if(t.startsWith(e+"ge")){let r=t.slice(e.length),n=this.trySimpleParticipleNormalization(r);if(n){let i={removedPrefixes:["ge"],conjugationType:"participle"};return n.metadata?.removedSuffixes&&(i.removedSuffixes=n.metadata.removedSuffixes),L(e+n.stem,n.confidence*.95,i)}}return this.trySimpleParticipleNormalization(t)}trySimpleParticipleNormalization(t){if(!t.startsWith("ge"))return null;let e=t.slice(2);if(e.endsWith("t")&&e.length>=3){let r=e.slice(0,-1);return L(r+"en",.85,{removedPrefixes:["ge"],removedSuffixes:["t"],conjugationType:"participle"})}return e.endsWith("en")&&e.length>=4?L(e,.82,{removedPrefixes:["ge"],conjugationType:"participle"}):null}tryConjugationNormalization(t){for(let e of ha)if(t.endsWith(e.ending)){let r=t.slice(0,-e.ending.length);if(r.length<2)continue;let n=r+e.stem;return L(n,e.confidence,{removedSuffixes:[e.ending],conjugationType:e.type})}return null}},Ql=new Re;var{isLetter:va,isIdentifierChar:ka}=W(/[a-zA-ZäöüÄÖÜß]/),Wn=new Set(["an","auf","aus","bei","durch","f\xFCr","fur","gegen","in","mit","nach","ohne","seit","\xFCber","uber","um","unter","von","vor","zu","zwischen","bis","gegen\xFCber","gegenuber","w\xE4hrend","wahrend","wegen","trotz","statt","innerhalb","au\xDFerhalb","ausserhalb"]),za=[{native:"wahr",normalized:"true"},{native:"falsch",normalized:"false"},{native:"null",normalized:"null"},{native:"undefiniert",normalized:"undefined"},{native:"erste",normalized:"first"},{native:"erster",normalized:"first"},{native:"erstes",normalized:"first"},{native:"letzte",normalized:"last"},{native:"letzter",normalized:"last"},{native:"letztes",normalized:"last"},{native:"n\xE4chste",normalized:"next"},{native:"nachste",normalized:"next"},{native:"vorherige",normalized:"previous"},{native:"n\xE4chste",normalized:"closest"},{native:"eltern",normalized:"parent"},{native:"klick",normalized:"click"},{native:"click",normalized:"click"},{native:"eingabe",normalized:"input"},{native:"\xE4nderung",normalized:"change"},{native:"anderung",normalized:"change"},{native:"absenden",normalized:"submit"},{native:"taste unten",normalized:"keydown"},{native:"taste oben",normalized:"keyup"},{native:"maus dr\xFCber",normalized:"mouseover"},{native:"maus druber",normalized:"mouseover"},{native:"maus weg",normalized:"mouseout"},{native:"fokus",normalized:"focus"},{native:"unsch\xE4rfe",normalized:"blur"},{native:"unscharfe",normalized:"blur"},{native:"scrollen",normalized:"scroll"},{native:"meine",normalized:"my"},{native:"meinen",normalized:"my"},{native:"ergebnis",normalized:"result"},{native:"ziel",normalized:"target"},{native:"sekunde",normalized:"s"},{native:"sekunden",normalized:"s"},{native:"millisekunde",normalized:"ms"},{native:"millisekunden",normalized:"ms"},{native:"minute",normalized:"m"},{native:"minuten",normalized:"m"},{native:"stunde",normalized:"h"},{native:"stunden",normalized:"h"},{native:"hinzufugen",normalized:"add"},{native:"hinzufgen",normalized:"add"},{native:"loschen",normalized:"remove"},{native:"anhangen",normalized:"append"},{native:"erhohen",normalized:"increment"},{native:"ubergang",normalized:"transition"},{native:"auslosen",normalized:"trigger"},{native:"zuruckgeben",normalized:"return"},{native:"anschliessend",normalized:"then"},{native:"erh\xF6he",normalized:"increment"},{native:"erhohe",normalized:"increment"},{native:"verringere",normalized:"decrement"}],Ta=[{pattern:"millisekunden",suffix:"ms",length:13,caseInsensitive:!0},{pattern:"millisekunde",suffix:"ms",length:12,caseInsensitive:!0},{pattern:"sekunden",suffix:"s",length:8,caseInsensitive:!0},{pattern:"sekunde",suffix:"s",length:7,caseInsensitive:!0},{pattern:"minuten",suffix:"m",length:7,caseInsensitive:!0},{pattern:"minute",suffix:"m",length:6,caseInsensitive:!0},{pattern:"stunden",suffix:"h",length:7,caseInsensitive:!0},{pattern:"stunde",suffix:"h",length:6,caseInsensitive:!0}],Rt=class extends C{constructor(){super();this.language="de";this.direction="ltr";this.initializeKeywordsFromProfile(ue,za),this.normalizer=new Re}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])||e[n]==="-"&&n+1<e.length&&T(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}if(va(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new w(r,"de")}classifyToken(e){let r=e.toLowerCase();return Wn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,i="";for(;n<e.length&&ka(e[n]);)i+=e[n++];if(!i)return null;let s=i.toLowerCase(),o=this.lookupKeyword(s);return o?v(i,"keyword",h(r,n),o.normalized):Wn.has(s)?v(i,"particle",h(r,n)):v(i,"identifier",h(r,n))}extractNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Ta,{allowSign:!0,skipWhitespace:!0})}},tt=new Rt;j("de",tt,ue);var Sa=[{pattern:"\u3057\u305F\u3089",confidence:.88,conjugationType:"conditional-tara",minStemLength:2},{pattern:"\u3059\u308B\u3068",confidence:.88,conjugationType:"conditional-to",minStemLength:2},{pattern:"\u3059\u308C\u3070",confidence:.85,conjugationType:"conditional-ba",minStemLength:2},{pattern:"\u305F\u3089",confidence:.85,conjugationType:"conditional-tara",minStemLength:2},{pattern:"\u308C\u3070",confidence:.82,conjugationType:"conditional-ba",minStemLength:2},{pattern:"\u3066\u3044\u307E\u3057\u305F",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\u3066\u3044\u307E\u3059",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304F\u3060\u3055\u3044",confidence:.85,conjugationType:"request",minStemLength:2},{pattern:"\u3067\u304F\u3060\u3055\u3044",confidence:.85,conjugationType:"request",minStemLength:2},{pattern:"\u3066\u3044\u308B",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304A\u304F",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u307F\u308B",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u3042\u308B",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u3066\u304F\u308C",confidence:.8,conjugationType:"casual-request",minStemLength:2},{pattern:"\u3067\u304F\u308C",confidence:.8,conjugationType:"casual-request",minStemLength:2},{pattern:"\u3061\u3083\u3063\u305F",confidence:.82,conjugationType:"contracted-past",minStemLength:2},{pattern:"\u3058\u3083\u3063\u305F",confidence:.82,conjugationType:"contracted-past",minStemLength:2},{pattern:"\u3061\u3083\u3046",confidence:.82,conjugationType:"contracted",minStemLength:2},{pattern:"\u3058\u3083\u3046",confidence:.82,conjugationType:"contracted",minStemLength:2},{pattern:"\u307E\u3057\u305F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"\u307E\u305B\u3093",confidence:.85,conjugationType:"negative",minStemLength:2},{pattern:"\u307E\u3059",confidence:.85,conjugationType:"polite",minStemLength:2},{pattern:"\u3066",confidence:.85,conjugationType:"te-form",minStemLength:2},{pattern:"\u305F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"\u306A\u3044",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"\u306A\u304B\u3063\u305F",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\u3089\u308C\u308B",confidence:.8,conjugationType:"potential",minStemLength:2},{pattern:"\u308C\u308B",confidence:.78,conjugationType:"potential",minStemLength:2},{pattern:"\u3089\u308C\u305F",confidence:.8,conjugationType:"passive",minStemLength:2},{pattern:"\u3055\u305B\u308B",confidence:.8,conjugationType:"causative",minStemLength:2},{pattern:"\u305B\u308B",confidence:.78,conjugationType:"causative",minStemLength:2},{pattern:"\u3088\u3046",confidence:.8,conjugationType:"volitional",minStemLength:2},{pattern:"\u308B",confidence:.75,conjugationType:"dictionary",minStemLength:3}],xa=[{pattern:"\u3057\u305F\u3089",confidence:.88,conjugationType:"conditional-tara"},{pattern:"\u3059\u308B\u3068",confidence:.88,conjugationType:"conditional-to"},{pattern:"\u3059\u308C\u3070",confidence:.85,conjugationType:"conditional-ba"},{pattern:"\u3057\u3066\u3044\u307E\u3059",confidence:.85,conjugationType:"progressive"},{pattern:"\u3057\u3066\u3044\u308B",confidence:.85,conjugationType:"progressive"},{pattern:"\u3057\u307E\u3057\u305F",confidence:.85,conjugationType:"past"},{pattern:"\u3057\u307E\u3059",confidence:.85,conjugationType:"polite"},{pattern:"\u3057\u306A\u3044",confidence:.82,conjugationType:"negative"},{pattern:"\u3057\u3066",confidence:.85,conjugationType:"te-form"},{pattern:"\u3057\u305F",confidence:.85,conjugationType:"past"},{pattern:"\u3059\u308B",confidence:.88,conjugationType:"dictionary"}];function _n(a){let t=a.charCodeAt(0);return t>=12352&&t<=12447}function ba(a){let t=a.charCodeAt(0);return t>=12448&&t<=12543}function wa(a){let t=a.charCodeAt(0);return t>=19968&&t<=40959||t>=13312&&t<=19903}function La(a){for(let t of a)if(_n(t)||ba(t)||wa(t))return!0;return!1}var Ce=class{constructor(){this.language="ja"}isNormalizable(t){if(!La(t)||t.length<2)return!1;let e=t[t.length-1];return _n(e)}normalize(t){let e=this.normalizeCompound(t);if(e)return e;let r=this.trySuruNormalization(t);if(r)return r;for(let n of Sa)if(t.endsWith(n.pattern)){let i=t.slice(0,-n.pattern.length),s=n.minStemLength??2;if(i.length<s)continue;let o={removedSuffixes:[n.pattern]};return n.conjugationType&&(o.conjugationType=n.conjugationType),L(i,n.confidence,o)}return A(t)}trySuruNormalization(t){for(let e of xa)if(t.endsWith(e.pattern)){let r=t.slice(0,-e.pattern.length);if(r.length<1)continue;return L(r,e.confidence,{removedSuffixes:[e.pattern],conjugationType:e.conjugationType,originalForm:"suru-verb"})}return null}normalizeCompound(t){let e=[{pattern:"\u3066\u3044\u306A\u304B\u3063\u305F",suffixes:["\u3066","\u3044","\u306A\u304B\u3063\u305F"],confidence:.8,minStemLength:2},{pattern:"\u3067\u3044\u306A\u304B\u3063\u305F",suffixes:["\u3067","\u3044","\u306A\u304B\u3063\u305F"],confidence:.8,minStemLength:2},{pattern:"\u3066\u3044\u306A\u3044",suffixes:["\u3066","\u3044","\u306A\u3044"],confidence:.82,minStemLength:2},{pattern:"\u3067\u3044\u306A\u3044",suffixes:["\u3067","\u3044","\u306A\u3044"],confidence:.82,minStemLength:2},{pattern:"\u3066\u3044\u305F",suffixes:["\u3066","\u3044","\u305F"],confidence:.85,minStemLength:2},{pattern:"\u3067\u3044\u305F",suffixes:["\u3067","\u3044","\u305F"],confidence:.85,minStemLength:2}];for(let{pattern:r,suffixes:n,confidence:i,minStemLength:s}of e)if(t.endsWith(r)){let o=t.slice(0,-r.length);if(o.length<s)continue;return L(o,i,{removedSuffixes:n,conjugationType:"compound"})}return null}},sc=new Ce;var fe={code:"ja",name:"Japanese",nativeName:"\u65E5\u672C\u8A9E",direction:"ltr",wordOrder:"SOV",markingStrategy:"particle",usesSpaces:!1,defaultVerbForm:"base",verb:{position:"end",suffixes:["\u308B","\u3066","\u305F","\u307E\u3059","\u306A\u3044"],subjectDrop:!0},references:{me:"\u81EA\u5206",it:"\u305D\u308C",you:"\u3042\u306A\u305F",result:"\u7D50\u679C",event:"\u30A4\u30D9\u30F3\u30C8",target:"\u30BF\u30FC\u30B2\u30C3\u30C8",body:"\u30DC\u30C7\u30A3"},possessive:{marker:"\u306E",markerPosition:"between",keywords:{\u79C1\u306E:"me",\u3042\u306A\u305F\u306E:"you",\u305D\u306E:"it"}},roleMarkers:{patient:{primary:"\u3092",position:"after"},destination:{primary:"\u306B",alternatives:["\u3078","\u3067","\u306E"],position:"after"},source:{primary:"\u304B\u3089",position:"after"},style:{primary:"\u3067",position:"after"},event:{primary:"\u3092",position:"after"}},keywords:{toggle:{primary:"\u5207\u308A\u66FF\u3048",alternatives:["\u5207\u308A\u66FF\u3048\u308B","\u30C8\u30B0\u30EB","\u30C8\u30B0\u30EB\u3059\u308B"],normalized:"toggle"},add:{primary:"\u8FFD\u52A0",alternatives:["\u8FFD\u52A0\u3059\u308B","\u52A0\u3048\u308B"],normalized:"add"},remove:{primary:"\u524A\u9664",alternatives:["\u524A\u9664\u3059\u308B","\u53D6\u308A\u9664\u304F"],normalized:"remove"},put:{primary:"\u7F6E\u304F",alternatives:["\u5165\u308C\u308B","\u30BB\u30C3\u30C8"],normalized:"put"},append:{primary:"\u672B\u5C3E\u8FFD\u52A0",alternatives:["\u672B\u5C3E\u306B\u8FFD\u52A0","\u30A2\u30DA\u30F3\u30C9"],normalized:"append"},prepend:{primary:"\u5148\u982D\u8FFD\u52A0",alternatives:["\u5148\u982D\u306B\u8FFD\u52A0","\u30D7\u30EA\u30DA\u30F3\u30C9"],normalized:"prepend"},take:{primary:"\u53D6\u308B",normalized:"take"},make:{primary:"\u4F5C\u308B",alternatives:["\u4F5C\u6210"],normalized:"make"},clone:{primary:"\u8907\u88FD",alternatives:["\u30AF\u30ED\u30FC\u30F3"],normalized:"clone"},swap:{primary:"\u4EA4\u63DB",alternatives:["\u30B9\u30EF\u30C3\u30D7","\u5165\u308C\u66FF\u3048"],normalized:"swap"},morph:{primary:"\u5909\u5F62",alternatives:["\u30E2\u30FC\u30D5","\u5909\u63DB"],normalized:"morph"},set:{primary:"\u8A2D\u5B9A",alternatives:["\u8A2D\u5B9A\u3059\u308B","\u30BB\u30C3\u30C8"],normalized:"set"},get:{primary:"\u53D6\u5F97",alternatives:["\u53D6\u5F97\u3059\u308B","\u30B2\u30C3\u30C8"],normalized:"get"},increment:{primary:"\u5897\u52A0",alternatives:["\u5897\u3084\u3059","\u30A4\u30F3\u30AF\u30EA\u30E1\u30F3\u30C8"],normalized:"increment"},decrement:{primary:"\u6E1B\u5C11",alternatives:["\u6E1B\u3089\u3059","\u30C7\u30AF\u30EA\u30E1\u30F3\u30C8"],normalized:"decrement"},log:{primary:"\u8A18\u9332",alternatives:["\u30ED\u30B0","\u51FA\u529B"],normalized:"log"},show:{primary:"\u8868\u793A",alternatives:["\u8868\u793A\u3059\u308B","\u898B\u305B\u308B"],normalized:"show"},hide:{primary:"\u96A0\u3059",alternatives:["\u975E\u8868\u793A","\u975E\u8868\u793A\u306B\u3059\u308B"],normalized:"hide"},transition:{primary:"\u9077\u79FB",alternatives:["\u30C8\u30E9\u30F3\u30B8\u30B7\u30E7\u30F3","\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3"],normalized:"transition"},on:{primary:"\u3067",alternatives:["\u6642","\u3068\u304D"],normalized:"on"},trigger:{primary:"\u5F15\u304D\u91D1",alternatives:["\u767A\u706B","\u30C8\u30EA\u30AC\u30FC"],normalized:"trigger"},send:{primary:"\u9001\u308B",alternatives:["\u9001\u4FE1"],normalized:"send"},focus:{primary:"\u30D5\u30A9\u30FC\u30AB\u30B9",alternatives:["\u96C6\u4E2D"],normalized:"focus"},blur:{primary:"\u307C\u304B\u3057",alternatives:["\u30D5\u30A9\u30FC\u30AB\u30B9\u89E3\u9664"],normalized:"blur"},go:{primary:"\u79FB\u52D5",alternatives:["\u884C\u304F","\u30CA\u30D3\u30B2\u30FC\u30C8"],normalized:"go"},wait:{primary:"\u5F85\u3064",alternatives:["\u5F85\u6A5F"],normalized:"wait"},fetch:{primary:"\u53D6\u5F97",alternatives:["\u30D5\u30A7\u30C3\u30C1"],normalized:"fetch"},settle:{primary:"\u5B89\u5B9A",alternatives:["\u843D\u3061\u7740\u304F"],normalized:"settle"},if:{primary:"\u3082\u3057",alternatives:["\u6761\u4EF6"],normalized:"if"},when:{primary:"\u3068\u304D",normalized:"when"},where:{primary:"\u3069\u3053",normalized:"where"},else:{primary:"\u305D\u3046\u3067\u306A\u3051\u308C\u3070",alternatives:["\u305D\u308C\u4EE5\u5916"],normalized:"else"},repeat:{primary:"\u7E70\u308A\u8FD4\u3057",alternatives:["\u7E70\u308A\u8FD4\u3059","\u30EA\u30D4\u30FC\u30C8"],normalized:"repeat"},for:{primary:"\u305F\u3081\u306B",alternatives:["\u5404"],normalized:"for"},while:{primary:"\u306E\u9593",alternatives:["\u9593"],normalized:"while"},continue:{primary:"\u7D9A\u3051\u308B",alternatives:["\u7D99\u7D9A"],normalized:"continue"},halt:{primary:"\u505C\u6B62",alternatives:["\u6B62\u3081\u308B","\u30CF\u30EB\u30C8"],normalized:"halt"},throw:{primary:"\u6295\u3052\u308B",alternatives:["\u30B9\u30ED\u30FC"],normalized:"throw"},call:{primary:"\u547C\u3073\u51FA\u3057",alternatives:["\u30B3\u30FC\u30EB","\u547C\u3076"],normalized:"call"},return:{primary:"\u623B\u308B",alternatives:["\u8FD4\u3059","\u30EA\u30BF\u30FC\u30F3"],normalized:"return"},then:{primary:"\u305D\u308C\u304B\u3089",alternatives:["\u6B21\u306B","\u305D\u3057\u3066"],normalized:"then"},and:{primary:"\u305D\u3057\u3066",alternatives:["\u3068","\u307E\u305F"],normalized:"and"},end:{primary:"\u7D42\u308F\u308A",alternatives:["\u7D42\u4E86","\u304A\u308F\u308A"],normalized:"end"},js:{primary:"JS\u5B9F\u884C",alternatives:["js"],normalized:"js"},async:{primary:"\u975E\u540C\u671F",alternatives:["\u30A2\u30B7\u30F3\u30AF"],normalized:"async"},tell:{primary:"\u4F1D\u3048\u308B",alternatives:["\u30C6\u30EB"],normalized:"tell"},default:{primary:"\u65E2\u5B9A",alternatives:["\u30C7\u30D5\u30A9\u30EB\u30C8"],normalized:"default"},init:{primary:"\u521D\u671F\u5316",alternatives:["\u30A4\u30CB\u30C3\u30C8"],normalized:"init"},behavior:{primary:"\u632F\u308B\u821E\u3044",alternatives:["\u30D3\u30D8\u30A4\u30D3\u30A2"],normalized:"behavior"},install:{primary:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",alternatives:["\u5C0E\u5165"],normalized:"install"},measure:{primary:"\u6E2C\u5B9A",alternatives:["\u8A08\u6E2C","\u30E1\u30B8\u30E3\u30FC"],normalized:"measure"},beep:{primary:"\u30D3\u30FC\u30D7",normalized:"beep"},break:{primary:"\u4E2D\u65AD",normalized:"break"},copy:{primary:"\u30B3\u30D4\u30FC",normalized:"copy"},exit:{primary:"\u7D42\u4E86",normalized:"exit"},pick:{primary:"\u9078\u629E",normalized:"pick"},render:{primary:"\u63CF\u753B",normalized:"render"},into:{primary:"\u3078",alternatives:["\u306B"],normalized:"into"},before:{primary:"\u524D\u306B",alternatives:["\u524D"],normalized:"before"},after:{primary:"\u5F8C\u306B",alternatives:["\u5F8C"],normalized:"after"},until:{primary:"\u307E\u3067",alternatives:["\u8FC4"],normalized:"until"},event:{primary:"\u30A4\u30D9\u30F3\u30C8",alternatives:["\u4E8B\u8C61"],normalized:"event"},from:{primary:"\u304B\u3089",normalized:"from"}},tokenization:{particles:["\u3092","\u306B","\u3067","\u304B\u3089","\u306E","\u304C","\u306F","\u3082","\u3078","\u3068"],boundaryStrategy:"particle"},eventHandler:{eventMarker:{primary:"\u3067",position:"after"},temporalMarkers:["\u6642","\u3068\u304D"]}};var Pa=_([[12352,12447]]),Ea=_([[12448,12543]]),Ra=_([[19968,40959],[13312,19903]]),Kn=ce(Pa,Ea,Ra),Ca=new Set(["\u3092","\u306B","\u3067","\u304B\u3089","\u307E\u3067","\u3078","\u3068","\u306E","\u304C","\u306F","\u3082","\u3088\u308A"]),qn=new Set(["\u3092","\u306B","\u3067","\u3078","\u3068","\u306E","\u304C","\u306F","\u3082"]),Un=["\u304B\u3089","\u307E\u3067","\u3088\u308A"],$n=new Map([["\u3092",{role:"patient",confidence:.95,description:"object marker"}],["\u306B",{role:"destination",confidence:.85,description:"destination/time marker"}],["\u3067",{role:"manner",confidence:.88,description:"means/location marker"}],["\u304B\u3089",{role:"source",confidence:.9,description:"from/source marker"}],["\u307E\u3067",{role:"destination",confidence:.75,description:"until/boundary marker"}],["\u3078",{role:"destination",confidence:.9,description:"direction marker"}],["\u3068",{role:"style",confidence:.7,description:"with/and marker"}],["\u306E",{role:"destination",confidence:.75,description:"possessive/destination marker"}],["\u304C",{role:"agent",confidence:.85,description:"subject marker"}],["\u306F",{role:"agent",confidence:.75,description:"topic marker"}],["\u3082",{role:"patient",confidence:.65,description:"also/too marker"}],["\u3088\u308A",{role:"source",confidence:.85,description:"from/than marker"}]]),Na=[{native:"\u771F",normalized:"true"},{native:"\u507D",normalized:"false"},{native:"\u30CC\u30EB",normalized:"null"},{native:"\u672A\u5B9A\u7FA9",normalized:"undefined"},{native:"\u6700\u521D",normalized:"first"},{native:"\u6700\u5F8C",normalized:"last"},{native:"\u6B21",normalized:"next"},{native:"\u524D",normalized:"previous"},{native:"\u6700\u3082\u8FD1\u3044",normalized:"closest"},{native:"\u89AA",normalized:"parent"},{native:"\u30AF\u30EA\u30C3\u30AF",normalized:"click"},{native:"\u5909\u66F4",normalized:"change"},{native:"\u9001\u4FE1",normalized:"submit"},{native:"\u5165\u529B",normalized:"input"},{native:"\u30ED\u30FC\u30C9",normalized:"load"},{native:"\u30B9\u30AF\u30ED\u30FC\u30EB",normalized:"scroll"},{native:"\u30AD\u30FC\u30C0\u30A6\u30F3",normalized:"keydown"},{native:"\u30AD\u30FC\u30A2\u30C3\u30D7",normalized:"keyup"},{native:"\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC",normalized:"mouseover"},{native:"\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8",normalized:"mouseout"},{native:"\u30D6\u30E9\u30FC",normalized:"blur"},{native:"\u79C1",normalized:"me"},{native:"\u79C1\u306E",normalized:"my"},{native:"\u305D\u306E",normalized:"its"},{native:"\u3057\u305F\u3089",normalized:"on"},{native:"\u3059\u308B\u3068",normalized:"on"},{native:"\u6642\u306B",normalized:"on"},{native:"\u3082\u3057",normalized:"if"},{native:"\u306A\u3089\u3070",normalized:"then"},{native:"\u306A\u3089",normalized:"then"},{native:"\u305D\u308C\u304B\u3089",normalized:"then"},{native:"\u305D\u3057\u3066",normalized:"and"},{native:"\u79D2",normalized:"s"},{native:"\u30DF\u30EA\u79D2",normalized:"ms"},{native:"\u5206",normalized:"m"},{native:"\u6642\u9593",normalized:"h"}],ja=[{pattern:"\u30DF\u30EA\u79D2",suffix:"ms",length:3},{pattern:"\u6642\u9593",suffix:"h",length:2},{pattern:"\u79D2",suffix:"s",length:1},{pattern:"\u5206",suffix:"m",length:1}],Ct=class extends C{constructor(){super();this.language="ja";this.direction="ltr";this.initializeKeywordsFromProfile(fe,Na),this.normalizer=new Ce}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])){let o=this.extractJapaneseNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}let s=this.tryMultiCharParticle(e,n,Un);if(s){let o=$n.get(s.value);o?r.push({...s,metadata:{particleRole:o.role,particleConfidence:o.confidence}}):r.push(s),n=s.position.end;continue}if(qn.has(e[n])){let o=this.tryProfileKeyword(e,n);if(o&&o.value.length>1){r.push(o),n=o.position.end;continue}let l=e[n],c=$n.get(l);c?r.push({...v(l,"particle",h(n,n+1)),metadata:{particleRole:c.role,particleConfidence:c.confidence}}):r.push(v(l,"particle",h(n,n+1))),n++;continue}if(Kn(e[n])){let o=this.extractJapaneseWord(e,n);if(o){r.push(o),n=o.position.end;continue}}if(b(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new w(r,"ja")}classifyToken(e){return Ca.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||e.startsWith("\u300C")||/^\d/.test(e)?"literal":"identifier"}extractJapaneseWord(e,r){let n=r,i="";for(;n<e.length;){let l=e[n];if(qn.has(l)&&i.length>0)break;let c=!1;for(let m of Un)if(e.slice(n,n+m.length)===m&&i.length>0){c=!0;break}if(c)break;if(Kn(l))i+=l,n++;else break}if(!i)return null;let s=this.lookupKeyword(i);if(s)return v(i,"keyword",h(r,n),s.normalized);let o=this.tryMorphKeywordMatch(i,r,n);return o||v(i,"identifier",h(r,n))}extractAsciiWord(e,r){let n=r,i="";for(;n<e.length&&b(e[n]);)i+=e[n++];return i?v(i,"identifier",h(r,n)):null}extractJapaneseNumber(e,r){return this.tryNumberWithTimeUnits(e,r,ja,{allowSign:!1,skipWhitespace:!1})}},nt=new Ct;j("ja",nt,fe);var ge={code:"zh",name:"Chinese",nativeName:"\u4E2D\u6587",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!1,verb:{position:"second",subjectDrop:!0},references:{me:"\u6211",it:"\u5B83",you:"\u4F60",result:"\u7ED3\u679C",event:"\u4E8B\u4EF6",target:"\u76EE\u6807",body:"\u4E3B\u4F53"},possessive:{marker:"\u7684",markerPosition:"between",keywords:{\u6211\u7684:"me",\u4F60\u7684:"you",\u5B83\u7684:"it",\u4ED6\u7684:"it",\u5979\u7684:"it"}},roleMarkers:{destination:{primary:"\u5728",alternatives:["\u5230","\u4E8E"],position:"before"},source:{primary:"\u4ECE",alternatives:["\u7531"],position:"before"},patient:{primary:"\u628A",position:"before"},style:{primary:"\u7528",alternatives:["\u4EE5"],position:"before"}},keywords:{toggle:{primary:"\u5207\u6362",normalized:"toggle"},add:{primary:"\u6DFB\u52A0",alternatives:["\u52A0"],normalized:"add"},remove:{primary:"\u79FB\u9664",alternatives:["\u5220\u9664","\u53BB\u6389"],normalized:"remove"},put:{primary:"\u653E\u7F6E",alternatives:["\u653E","\u653E\u5165"],normalized:"put"},append:{primary:"\u8FFD\u52A0",alternatives:["\u9644\u52A0"],normalized:"append"},prepend:{primary:"\u524D\u7F6E",alternatives:["\u9884\u7F6E"],normalized:"prepend"},take:{primary:"\u83B7\u53D6",normalized:"take"},make:{primary:"\u5236\u4F5C",normalized:"make"},clone:{primary:"\u590D\u5236",normalized:"clone"},swap:{primary:"\u4EA4\u6362",normalized:"swap"},morph:{primary:"\u53D8\u5F62",alternatives:["\u8F6C\u6362"],normalized:"morph"},set:{primary:"\u8BBE\u7F6E",alternatives:["\u8BBE\u5B9A"],normalized:"set"},get:{primary:"\u83B7\u5F97",alternatives:["\u83B7\u53D6","\u53D6\u5F97"],normalized:"get"},increment:{primary:"\u589E\u52A0",normalized:"increment"},decrement:{primary:"\u51CF\u5C11",normalized:"decrement"},log:{primary:"\u65E5\u5FD7",normalized:"log"},show:{primary:"\u663E\u793A",alternatives:["\u5C55\u793A"],normalized:"show"},hide:{primary:"\u9690\u85CF",normalized:"hide"},transition:{primary:"\u8FC7\u6E21",normalized:"transition"},on:{primary:"\u5F53",alternatives:["\u5728...\u65F6"],normalized:"on"},trigger:{primary:"\u89E6\u53D1",normalized:"trigger"},send:{primary:"\u53D1\u9001",normalized:"send"},focus:{primary:"\u805A\u7126",normalized:"focus"},blur:{primary:"\u5931\u7126",normalized:"blur"},click:{primary:"\u70B9\u51FB",normalized:"click"},hover:{primary:"\u60AC\u505C",alternatives:["\u60AC\u6D6E"],normalized:"hover"},submit:{primary:"\u63D0\u4EA4",normalized:"submit"},input:{primary:"\u8F93\u5165",normalized:"input"},change:{primary:"\u6539\u53D8",alternatives:["\u53D8\u5316"],normalized:"change"},go:{primary:"\u524D\u5F80",normalized:"go"},wait:{primary:"\u7B49\u5F85",normalized:"wait"},fetch:{primary:"\u83B7\u53D6",normalized:"fetch"},settle:{primary:"\u7A33\u5B9A",normalized:"settle"},if:{primary:"\u5982\u679C",normalized:"if"},when:{primary:"\u5F53",normalized:"when"},where:{primary:"\u54EA\u91CC",normalized:"where"},else:{primary:"\u5426\u5219",normalized:"else"},repeat:{primary:"\u91CD\u590D",normalized:"repeat"},for:{primary:"\u4E3A",normalized:"for"},while:{primary:"\u5F53",normalized:"while"},continue:{primary:"\u7EE7\u7EED",normalized:"continue"},halt:{primary:"\u505C\u6B62",normalized:"halt"},throw:{primary:"\u629B\u51FA",normalized:"throw"},call:{primary:"\u8C03\u7528",normalized:"call"},return:{primary:"\u8FD4\u56DE",normalized:"return"},then:{primary:"\u7136\u540E",alternatives:["\u63A5\u7740","\u4E4B\u540E"],normalized:"then"},and:{primary:"\u5E76\u4E14",alternatives:["\u548C","\u800C\u4E14"],normalized:"and"},end:{primary:"\u7ED3\u675F",alternatives:["\u7EC8\u6B62","\u5B8C"],normalized:"end"},js:{primary:"JS\u6267\u884C",alternatives:["js"],normalized:"js"},async:{primary:"\u5F02\u6B65",normalized:"async"},tell:{primary:"\u544A\u8BC9",normalized:"tell"},default:{primary:"\u9ED8\u8BA4",normalized:"default"},init:{primary:"\u521D\u59CB\u5316",normalized:"init"},behavior:{primary:"\u884C\u4E3A",normalized:"behavior"},install:{primary:"\u5B89\u88C5",normalized:"install"},measure:{primary:"\u6D4B\u91CF",normalized:"measure"},beep:{primary:"\u8702\u9E23",normalized:"beep"},break:{primary:"\u4E2D\u65AD",normalized:"break"},copy:{primary:"\u590D\u5236",normalized:"copy"},exit:{primary:"\u9000\u51FA",normalized:"exit"},pick:{primary:"\u9009\u53D6",normalized:"pick"},render:{primary:"\u6E32\u67D3",normalized:"render"},into:{primary:"\u8FDB\u5165",normalized:"into"},before:{primary:"\u4E4B\u524D",normalized:"before"},after:{primary:"\u4E4B\u540E",normalized:"after"},until:{primary:"\u76F4\u5230",normalized:"until"},event:{primary:"\u4E8B\u4EF6",normalized:"event"},from:{primary:"\u4ECE",normalized:"from"}},tokenization:{boundaryStrategy:"character"},eventHandler:{keyword:{primary:"\u5F53",alternatives:["\u5728...\u65F6"],normalized:"on"},sourceMarker:{primary:"\u4ECE",position:"before"},eventMarker:{primary:"\u5F53",alternatives:["\u5728"],position:"before"},temporalMarkers:["\u5F53","\u5728...\u65F6"]}};var Nt=_([[19968,40959],[13312,19903],[131072,173791],[63744,64255],[194560,195103]]),jt=new Set(["\u628A","\u5728","\u4ECE","\u5230","\u5411","\u7ED9","\u5BF9","\u7528","\u88AB","\u8BA9","\u7684","\u5730","\u5F97","\u4E86","\u7740","\u8FC7","\u5417","\u5462","\u5427"]),Ma=["\u7136\u540E","\u63A5\u7740","\u5E76\u4E14","\u6216\u8005","\u5982\u679C","\u90A3\u4E48","\u5426\u5219"],Aa=[{native:"\u771F",normalized:"true"},{native:"\u5047",normalized:"false"},{native:"\u7A7A",normalized:"null"},{native:"\u672A\u5B9A\u4E49",normalized:"undefined"},{native:"\u7B2C\u4E00\u4E2A",normalized:"first"},{native:"\u9996\u4E2A",normalized:"first"},{native:"\u6700\u540E\u4E00\u4E2A",normalized:"last"},{native:"\u672B\u4E2A",normalized:"last"},{native:"\u4E0B\u4E00\u4E2A",normalized:"next"},{native:"\u4E0A\u4E00\u4E2A",normalized:"previous"},{native:"\u6700\u8FD1\u7684",normalized:"closest"},{native:"\u7236\u7EA7",normalized:"parent"},{native:"\u70B9\u51FB",normalized:"click"},{native:"\u53CC\u51FB",normalized:"dblclick"},{native:"\u8F93\u5165",normalized:"input"},{native:"\u53D8\u66F4",normalized:"change"},{native:"\u6539\u53D8",normalized:"change"},{native:"\u63D0\u4EA4",normalized:"submit"},{native:"\u6309\u952E",normalized:"keydown"},{native:"\u91CA\u653E\u952E",normalized:"keyup"},{native:"\u9F20\u6807\u79FB\u5165",normalized:"mouseover"},{native:"\u9F20\u6807\u79FB\u51FA",normalized:"mouseout"},{native:"\u83B7\u5F97\u7126\u70B9",normalized:"focus"},{native:"\u5931\u53BB\u7126\u70B9",normalized:"blur"},{native:"\u52A0\u8F7D",normalized:"load"},{native:"\u6EDA\u52A8",normalized:"scroll"},{native:"\u6211\u7684",normalized:"my"},{native:"\u5B83\u7684",normalized:"its"},{native:"\u79D2",normalized:"s"},{native:"\u6BEB\u79D2",normalized:"ms"},{native:"\u5206\u949F",normalized:"m"},{native:"\u5C0F\u65F6",normalized:"h"},{native:"\u548C",normalized:"and"},{native:"\u6216\u8005",normalized:"or"},{native:"\u6216",normalized:"or"},{native:"\u4E0D",normalized:"not"},{native:"\u975E",normalized:"not"},{native:"\u662F",normalized:"is"},{native:"\u82E5",normalized:"if"},{native:"\u4E0D\u7136",normalized:"else"},{native:"\u5FAA\u73AF",normalized:"repeat"},{native:"\u904D\u5386",normalized:"for"},{native:"\u6BCF\u4E2A",normalized:"for"},{native:"\u4E3A\u6BCF",normalized:"for"},{native:"\u4E2D\u6B62",normalized:"halt"},{native:"\u629B",normalized:"throw"},{native:"\u547C\u53EB",normalized:"call"},{native:"\u56DE",normalized:"return"},{native:"\u811A\u672C",normalized:"js"},{native:"\u901A\u77E5",normalized:"tell"},{native:"\u7F3A\u7701",normalized:"default"},{native:"\u521D\u59CB",normalized:"init"},{native:"\u52A8\u4F5C",normalized:"behavior"},{native:"\u6FC0\u53D1",normalized:"trigger"},{native:"\u5BF9\u7126",normalized:"focus"},{native:"\u6A21\u7CCA",normalized:"blur"},{native:"\u8DF3\u8F6C",normalized:"go"},{native:"\u5BFC\u822A",normalized:"go"},{native:"\u6293\u53D6",normalized:"fetch"},{native:"\u83B7\u53D6\u6570\u636E",normalized:"fetch"},{native:"\u5B89\u5B9A",normalized:"settle"},{native:"\u62FF\u53D6",normalized:"take"},{native:"\u53D6",normalized:"take"},{native:"\u521B\u5EFA",normalized:"make"},{native:"\u514B\u9686",normalized:"clone"},{native:"\u8BB0\u5F55",normalized:"log"},{native:"\u6253\u5370",normalized:"log"},{native:"\u52A8\u753B",normalized:"transition"},{native:"\u5230\u91CC\u9762",normalized:"into"},{native:"\u91CC",normalized:"into"},{native:"\u524D",normalized:"before"},{native:"\u540E",normalized:"after"},{native:"\u90A3\u4E48",normalized:"then"},{native:"\u5B8C",normalized:"end"}],Ia=[{pattern:"\u6BEB\u79D2",suffix:"ms",length:2},{pattern:"\u5206\u949F",suffix:"m",length:2},{pattern:"\u5C0F\u65F6",suffix:"h",length:2},{pattern:"\u79D2",suffix:"s",length:1},{pattern:"\u5206",suffix:"m",length:1}],Mt=class extends C{constructor(){super();this.language="zh";this.direction="ltr";this.initializeKeywordsFromProfile(ge,Aa)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])||e[n]==="\u201C"||e[n]==="\u201D"||e[n]==="\u2018"||e[n]==="\u2019"){let o=this.tryChineseString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])){let o=this.extractChineseNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}let s=this.tryMultiCharParticle(e,n,Ma);if(s){r.push(s),n=s.position.end;continue}if(Nt(e[n])){let o=this.extractChineseWord(e,n);if(o){r.push(o),n=o.position.end;continue}}if(b(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new w(r,"zh")}classifyToken(e){return jt.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||e.startsWith("\u201C")||e.startsWith("\u2018")||/^\d/.test(e)?"literal":"identifier"}extractChineseWord(e,r){for(let s of this.profileKeywords){let o=s.native,l=e.slice(r,r+o.length);if(l===o){let c=!0;for(let m=0;m<o.length;m++)if(!Nt(o[m])){c=!1;break}if(c)return v(l,"keyword",h(r,r+o.length),s.normalized)}}let n=r,i="";for(;n<e.length;){let s=e[n];if(jt.has(s)&&i.length>0)break;if(Nt(s))i+=s,n++;else break}return i?jt.has(i)?v(i,"particle",h(r,n)):v(i,"identifier",h(r,n)):null}extractAsciiWord(e,r){let n=r,i="";for(;n<e.length&&b(e[n]);)i+=e[n++];return i?v(i,"identifier",h(r,n)):null}tryChineseString(e,r){let n=e[r];if(n==='"'||n==="'"||n==="`")return this.tryString(e,r);if(n==="\u201C"){let i=r+1;for(;i<e.length&&e[i]!=="\u201D";)i++;if(i>=e.length)return null;let s=e.slice(r,i+1);return v(s,"literal",h(r,i+1))}if(n==="\u2018"){let i=r+1;for(;i<e.length&&e[i]!=="\u2019";)i++;if(i>=e.length)return null;let s=e.slice(r,i+1);return v(s,"literal",h(r,i+1))}return null}extractChineseNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Ia,{allowSign:!1,skipWhitespace:!1})}},rt=new Mt;j("zh",rt,ge);function Oa(a){let t=a.charCodeAt(0);return t>=44032&&t<=55203}function Va(a){for(let t of a)if(Oa(t))return!0;return!1}var Wa=[{pattern:"\uD558\uC2DC\uB2C8\uAE4C",confidence:.85,conjugationType:"honorific-causal",minStemLength:1},{pattern:"\uD558\uC2E4\uB54C",confidence:.88,conjugationType:"honorific-temporal",minStemLength:1},{pattern:"\uD558\uC2E4 \uB54C",confidence:.88,conjugationType:"honorific-temporal",minStemLength:1},{pattern:"\uD558\uC2DC\uBA74",confidence:.88,conjugationType:"honorific-conditional",minStemLength:1},{pattern:"\uC73C\uC2DC\uBA74",confidence:.85,conjugationType:"honorific-conditional",minStemLength:2},{pattern:"\uC2DC\uBA74",confidence:.82,conjugationType:"honorific-conditional",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uD558\uACE0 \uB098\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uD558\uACE0\uC11C",confidence:.85,conjugationType:"sequential-after",minStemLength:1},{pattern:"\uACE0\uB098\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uACE0 \uB098\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uACE0\uC11C",confidence:.82,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uAE30\uC804\uC5D0",confidence:.85,conjugationType:"sequential-before",minStemLength:1},{pattern:"\uD558\uAE30 \uC804\uC5D0",confidence:.85,conjugationType:"sequential-before",minStemLength:1},{pattern:"\uAE30\uC804\uC5D0",confidence:.82,conjugationType:"sequential-before",minStemLength:2},{pattern:"\uAE30 \uC804\uC5D0",confidence:.82,conjugationType:"sequential-before",minStemLength:2},{pattern:"\uD558\uC790\uB9C8\uC790",confidence:.88,conjugationType:"immediate",minStemLength:1},{pattern:"\uC790\uB9C8\uC790",confidence:.85,conjugationType:"immediate",minStemLength:2},{pattern:"\uD574\uC57C\uD574\uC694",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uD574\uC57C\uD574",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uD574\uC57C\uD558\uB2E4",confidence:.85,conjugationType:"obligation",minStemLength:1},{pattern:"\uC5B4\uC57C\uD574\uC694",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC5B4\uC57C\uD574",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC544\uC57C\uD574\uC694",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uC544\uC57C\uD574",confidence:.82,conjugationType:"obligation",minStemLength:2},{pattern:"\uD558\uB2C8\uAE4C",confidence:.85,conjugationType:"causal-nikka",minStemLength:1},{pattern:"\uD560\uB54C",confidence:.88,conjugationType:"temporal-ttae",minStemLength:1},{pattern:"\uD560 \uB54C",confidence:.88,conjugationType:"temporal-ttae",minStemLength:1},{pattern:"\uC744\uB54C",confidence:.85,conjugationType:"temporal-ttae",minStemLength:2},{pattern:"\uC744 \uB54C",confidence:.85,conjugationType:"temporal-ttae",minStemLength:2},{pattern:"\uD558\uBA74",confidence:.88,conjugationType:"conditional-myeon",minStemLength:1},{pattern:"\uC73C\uBA74",confidence:.85,conjugationType:"conditional-myeon",minStemLength:2},{pattern:"\uB2C8\uAE4C",confidence:.82,conjugationType:"causal-nikka",minStemLength:2},{pattern:"\uBA74",confidence:.8,conjugationType:"conditional-myeon",minStemLength:2},{pattern:"\uD558\uC600\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD588\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD569\uB2C8\uB2E4",confidence:.85,conjugationType:"polite",minStemLength:1},{pattern:"\uC2B5\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uB429\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:1},{pattern:"\u3142\uB2C8\uB2E4",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uD558\uC138\uC694",confidence:.85,conjugationType:"honorific",minStemLength:1},{pattern:"\uD558\uC2ED\uC2DC\uC624",confidence:.85,conjugationType:"honorific",minStemLength:1},{pattern:"\uC138\uC694",confidence:.82,conjugationType:"honorific",minStemLength:2},{pattern:"\uC2ED\uC2DC\uC624",confidence:.82,conjugationType:"honorific",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5B4\uC694",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uD558\uACE0\uC788\uC5B4",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uD588\uC5B4\uC694",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD574\uC694",confidence:.85,conjugationType:"polite",minStemLength:1},{pattern:"\uC5B4\uC694",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uC544\uC694",confidence:.82,conjugationType:"polite",minStemLength:2},{pattern:"\uD588\uC5B4",confidence:.85,conjugationType:"past",minStemLength:1},{pattern:"\uD574",confidence:.8,conjugationType:"present",minStemLength:1},{pattern:"\uC5C8\uC5B4",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\uC558\uC5B4",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uB2E4",confidence:.82,conjugationType:"progressive",minStemLength:1},{pattern:"\uACE0\uC788\uB2E4",confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uACE0\uC788\uC5B4",confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uD558\uB2E4",confidence:.88,conjugationType:"dictionary",minStemLength:1},{pattern:"\uD558\uC9C0\uC54A\uB2E4",confidence:.82,conjugationType:"negative",minStemLength:1},{pattern:"\uC548\uD558\uB2E4",confidence:.82,conjugationType:"negative",minStemLength:1},{pattern:"\uC9C0\uC54A\uB2E4",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"\uD574\uB77C",confidence:.82,conjugationType:"imperative",minStemLength:1},{pattern:"\uD558\uB77C",confidence:.82,conjugationType:"imperative",minStemLength:1},{pattern:"\uB2E4",confidence:.75,conjugationType:"dictionary",minStemLength:2}],_a=[{pattern:"\uD558\uC2DC\uB2C8\uAE4C",confidence:.88,conjugationType:"honorific-causal"},{pattern:"\uD558\uC2E4\uB54C",confidence:.88,conjugationType:"honorific-temporal"},{pattern:"\uD558\uC2E4 \uB54C",confidence:.88,conjugationType:"honorific-temporal"},{pattern:"\uD558\uC2DC\uBA74",confidence:.88,conjugationType:"honorific-conditional"},{pattern:"\uD558\uC168\uC5B4\uC694",confidence:.85,conjugationType:"honorific-past"},{pattern:"\uD558\uC168\uC5B4",confidence:.85,conjugationType:"honorific-past"},{pattern:"\uD558\uC2ED\uB2C8\uB2E4",confidence:.85,conjugationType:"honorific-polite"},{pattern:"\uD558\uACE0\uB098\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uACE0 \uB098\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uACE0\uC11C",confidence:.88,conjugationType:"sequential-after"},{pattern:"\uD558\uAE30\uC804\uC5D0",confidence:.88,conjugationType:"sequential-before"},{pattern:"\uD558\uAE30 \uC804\uC5D0",confidence:.88,conjugationType:"sequential-before"},{pattern:"\uD558\uC790\uB9C8\uC790",confidence:.88,conjugationType:"immediate"},{pattern:"\uD574\uC57C\uD574\uC694",confidence:.88,conjugationType:"obligation"},{pattern:"\uD574\uC57C\uD574",confidence:.88,conjugationType:"obligation"},{pattern:"\uD574\uC57C\uD558\uB2E4",confidence:.88,conjugationType:"obligation"},{pattern:"\uD558\uB2C8\uAE4C",confidence:.88,conjugationType:"causal-nikka"},{pattern:"\uD560\uB54C",confidence:.88,conjugationType:"temporal-ttae"},{pattern:"\uD560 \uB54C",confidence:.88,conjugationType:"temporal-ttae"},{pattern:"\uD558\uBA74",confidence:.88,conjugationType:"conditional-myeon"},{pattern:"\uD558\uC600\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past"},{pattern:"\uD588\uC2B5\uB2C8\uB2E4",confidence:.85,conjugationType:"past"},{pattern:"\uD569\uB2C8\uB2E4",confidence:.85,conjugationType:"polite"},{pattern:"\uD558\uC2ED\uC2DC\uC624",confidence:.85,conjugationType:"honorific"},{pattern:"\uD558\uC138\uC694",confidence:.85,conjugationType:"honorific"},{pattern:"\uD588\uC5B4\uC694",confidence:.85,conjugationType:"past"},{pattern:"\uD574\uC694",confidence:.85,conjugationType:"polite"},{pattern:"\uD588\uC5B4",confidence:.85,conjugationType:"past"},{pattern:"\uD574",confidence:.8,conjugationType:"present"},{pattern:"\uD558\uACE0\uC788\uC5B4\uC694",confidence:.82,conjugationType:"progressive"},{pattern:"\uD558\uACE0\uC788\uC5B4",confidence:.82,conjugationType:"progressive"},{pattern:"\uD558\uACE0\uC788\uB2E4",confidence:.82,conjugationType:"progressive"},{pattern:"\uD574\uC11C",confidence:.82,conjugationType:"connective"},{pattern:"\uD558\uACE0",confidence:.8,conjugationType:"connective"},{pattern:"\uD558\uC9C0\uC54A\uC544\uC694",confidence:.82,conjugationType:"negative"},{pattern:"\uD558\uC9C0\uC54A\uB2E4",confidence:.82,conjugationType:"negative"},{pattern:"\uC548\uD574\uC694",confidence:.82,conjugationType:"negative"},{pattern:"\uC548\uD574",confidence:.82,conjugationType:"negative"},{pattern:"\uD574\uB77C",confidence:.82,conjugationType:"imperative"},{pattern:"\uD558\uB77C",confidence:.82,conjugationType:"imperative"},{pattern:"\uD558\uB2E4",confidence:.88,conjugationType:"dictionary"}],Ne=class{constructor(){this.language="ko"}isNormalizable(t){return!(!Va(t)||t.length<2)}normalize(t){let e=this.normalizeCompound(t);if(e)return e;let r=this.tryHadaNormalization(t);if(r)return r;for(let n of Wa)if(t.endsWith(n.pattern)){let i=t.slice(0,-n.pattern.length),s=n.minStemLength??2;if(i.length<s)continue;let o={removedSuffixes:[n.pattern]};return n.conjugationType&&(o.conjugationType=n.conjugationType),L(i,n.confidence,o)}return A(t)}tryHadaNormalization(t){for(let e of _a)if(t.endsWith(e.pattern)){let r=t.slice(0,-e.pattern.length);if(r.length<1)continue;return L(r,e.confidence,{removedSuffixes:[e.pattern],conjugationType:e.conjugationType,originalForm:"hada-verb"})}return null}normalizeCompound(t){let e=[{pattern:"\uD558\uACE0\uB098\uC11C\uC600\uC5B4",suffixes:["\uD558\uACE0\uB098\uC11C","\uC600\uC5B4"],confidence:.78,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C\uC600\uB2E4",suffixes:["\uD558\uACE0\uB098\uC11C","\uC600\uB2E4"],confidence:.78,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD558\uACE0\uB098\uC11C",suffixes:["\uD558\uACE0","\uB098\uC11C"],confidence:.85,conjugationType:"sequential-after",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uC5B4",suffixes:["\uD574\uC57C","\uD588\uC5B4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uB2E4",suffixes:["\uD574\uC57C","\uD588\uB2E4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD574\uC57C\uD588\uC2B5\uB2C8\uB2E4",suffixes:["\uD574\uC57C","\uD588\uC2B5\uB2C8\uB2E4"],confidence:.8,conjugationType:"obligation",minStemLength:2},{pattern:"\uD558\uC2DC\uBA74\uC11C",suffixes:["\uD558\uC2DC","\uBA74\uC11C"],confidence:.82,conjugationType:"connective",minStemLength:2},{pattern:"\uD558\uC2DC\uBA70",suffixes:["\uD558\uC2DC","\uBA70"],confidence:.82,conjugationType:"connective",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5C8\uC5B4",suffixes:["\uD558\uACE0","\uC788\uC5C8\uC5B4"],confidence:.8,conjugationType:"progressive",minStemLength:2},{pattern:"\uD558\uACE0\uC788\uC5C8\uB2E4",suffixes:["\uD558\uACE0","\uC788\uC5C8\uB2E4"],confidence:.8,conjugationType:"progressive",minStemLength:2}];for(let{pattern:r,suffixes:n,confidence:i,conjugationType:s,minStemLength:o}of e)if(t.endsWith(r)){let l=t.slice(0,-r.length);if(l.length<o)continue;return L(l,i,{removedSuffixes:n,conjugationType:s})}return null}},Pc=new Ne;var ye={code:"ko",name:"Korean",nativeName:"\uD55C\uAD6D\uC5B4",direction:"ltr",wordOrder:"SOV",markingStrategy:"particle",usesSpaces:!0,verb:{position:"end",suffixes:["\uB2E4","\uC694","\uB2C8\uB2E4","\uC138\uC694"],subjectDrop:!0},references:{me:"\uB098",it:"\uADF8\uAC83",you:"\uB108",result:"\uACB0\uACFC",event:"\uC774\uBCA4\uD2B8",target:"\uB300\uC0C1",body:"\uBCF8\uBB38"},possessive:{marker:"\uC758",markerPosition:"between",specialForms:{me:"\uB0B4",it:"\uADF8\uAC83\uC758",you:"\uB124"},keywords:{\uB0B4:"me",\uB124:"you",\uADF8\uC758:"it"}},roleMarkers:{patient:{primary:"\uC744",alternatives:["\uB97C"],position:"after"},destination:{primary:"\uC5D0",alternatives:["\uC73C\uB85C","\uB85C","\uC5D0\uC11C","\uC758"],position:"after"},source:{primary:"\uC5D0\uC11C",alternatives:["\uBD80\uD130"],position:"after"},style:{primary:"\uB85C",alternatives:["\uC73C\uB85C"],position:"after"},event:{primary:"\uC744",alternatives:["\uB97C"],position:"after"}},keywords:{toggle:{primary:"\uD1A0\uAE00",alternatives:["\uC804\uD658"],normalized:"toggle"},add:{primary:"\uCD94\uAC00",normalized:"add"},remove:{primary:"\uC81C\uAC70",alternatives:["\uC0AD\uC81C"],normalized:"remove"},put:{primary:"\uB123\uB2E4",alternatives:["\uB123\uAE30","\uB193\uAE30"],normalized:"put"},append:{primary:"\uCD94\uAC00",normalized:"append"},take:{primary:"\uAC00\uC838\uC624\uB2E4",normalized:"take"},make:{primary:"\uB9CC\uB4E4\uB2E4",normalized:"make"},clone:{primary:"\uBCF5\uC0AC",normalized:"clone"},swap:{primary:"\uAD50\uD658",alternatives:["\uBC14\uAFB8\uB2E4"],normalized:"swap"},morph:{primary:"\uBCC0\uD615",alternatives:["\uBCC0\uD658"],normalized:"morph"},set:{primary:"\uC124\uC815",normalized:"set"},get:{primary:"\uC5BB\uB2E4",alternatives:["\uAC00\uC838\uC624\uAE30"],normalized:"get"},increment:{primary:"\uC99D\uAC00",normalized:"increment"},decrement:{primary:"\uAC10\uC18C",normalized:"decrement"},log:{primary:"\uB85C\uADF8",normalized:"log"},show:{primary:"\uBCF4\uC774\uB2E4",alternatives:["\uD45C\uC2DC","\uBCF4\uC774\uAE30"],normalized:"show"},hide:{primary:"\uC228\uAE30\uB2E4",alternatives:["\uC228\uAE30\uAE30"],normalized:"hide"},transition:{primary:"\uC804\uD658",normalized:"transition"},on:{primary:"\uC5D0",alternatives:["\uC2DC","\uB54C","\uD560 \uB54C"],normalized:"on"},trigger:{primary:"\uD2B8\uB9AC\uAC70",normalized:"trigger"},send:{primary:"\uBCF4\uB0B4\uB2E4",normalized:"send"},focus:{primary:"\uD3EC\uCEE4\uC2A4",normalized:"focus"},blur:{primary:"\uBE14\uB7EC",normalized:"blur"},click:{primary:"\uD074\uB9AD",normalized:"click"},hover:{primary:"\uD638\uBC84",normalized:"hover"},submit:{primary:"\uC81C\uCD9C",normalized:"submit"},input:{primary:"\uC785\uB825",normalized:"input"},change:{primary:"\uBCC0\uACBD",normalized:"change"},go:{primary:"\uC774\uB3D9",normalized:"go"},wait:{primary:"\uB300\uAE30",normalized:"wait"},fetch:{primary:"\uAC00\uC838\uC624\uAE30",normalized:"fetch"},settle:{primary:"\uC548\uC815",normalized:"settle"},if:{primary:"\uB9CC\uC57D",normalized:"if"},when:{primary:"\uB54C",normalized:"when"},where:{primary:"\uC5B4\uB514",normalized:"where"},else:{primary:"\uC544\uB2C8\uBA74",normalized:"else"},repeat:{primary:"\uBC18\uBCF5",normalized:"repeat"},for:{primary:"\uB3D9\uC548",normalized:"for"},while:{primary:"\uB3D9\uC548",normalized:"while"},continue:{primary:"\uACC4\uC18D",normalized:"continue"},halt:{primary:"\uC815\uC9C0",normalized:"halt"},throw:{primary:"\uB358\uC9C0\uB2E4",normalized:"throw"},call:{primary:"\uD638\uCD9C",normalized:"call"},return:{primary:"\uBC18\uD658",normalized:"return"},then:{primary:"\uADF8\uB2E4\uC74C",alternatives:["\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4"],normalized:"then"},and:{primary:"\uADF8\uB9AC\uACE0",alternatives:["\uB610\uD55C","\uBC0F"],normalized:"and"},end:{primary:"\uB05D",alternatives:["\uC885\uB8CC","\uB9C8\uCE68"],normalized:"end"},js:{primary:"JS\uC2E4\uD589",alternatives:["js"],normalized:"js"},async:{primary:"\uBE44\uB3D9\uAE30",normalized:"async"},tell:{primary:"\uB9D0\uD558\uB2E4",normalized:"tell"},default:{primary:"\uAE30\uBCF8\uAC12",normalized:"default"},init:{primary:"\uCD08\uAE30\uD654",normalized:"init"},behavior:{primary:"\uB3D9\uC791",normalized:"behavior"},install:{primary:"\uC124\uCE58",normalized:"install"},measure:{primary:"\uCE21\uC815",normalized:"measure"},beep:{primary:"\uBE44\uD504",normalized:"beep"},break:{primary:"\uC911\uB2E8",normalized:"break"},copy:{primary:"\uBCF5\uC0AC",normalized:"copy"},exit:{primary:"\uC885\uB8CC",normalized:"exit"},pick:{primary:"\uC120\uD0DD",normalized:"pick"},render:{primary:"\uB80C\uB354\uB9C1",normalized:"render"},into:{primary:"\uC73C\uB85C",normalized:"into"},before:{primary:"\uC804\uC5D0",normalized:"before"},after:{primary:"\uD6C4\uC5D0",normalized:"after"},until:{primary:"\uAE4C\uC9C0",normalized:"until"},event:{primary:"\uC774\uBCA4\uD2B8",normalized:"event"},from:{primary:"\uC5D0\uC11C",normalized:"from"}},tokenization:{particles:["\uC744","\uB97C","\uC774","\uAC00","\uC740","\uB294","\uC5D0","\uC5D0\uC11C","\uC73C\uB85C","\uB85C","\uC640","\uACFC","\uB3C4"],boundaryStrategy:"space"},eventHandler:{eventMarker:{primary:"\uD560 \uB54C",alternatives:["\uD560\uB54C","\uB54C","\uC5D0"],position:"after"},temporalMarkers:["\uD560 \uB54C","\uD560\uB54C","\uB54C"]}};var Ka=_([[44032,55203]]),qa=_([[4352,4607],[12592,12687]]),he=ce(Ka,qa),At=new Set(["\uC774","\uAC00","\uC744","\uB97C","\uC740","\uB294","\uC5D0","\uC5D0\uC11C","\uB85C","\uC73C\uB85C","\uC640","\uACFC","\uC758","\uB3C4","\uB9CC","\uBD80\uD130","\uAE4C\uC9C0","\uCC98\uB7FC","\uBCF4\uB2E4"]),it=new Set(["\uC774","\uAC00","\uC744","\uB97C","\uC740","\uB294","\uC5D0","\uB85C","\uC640","\uACFC","\uC758","\uB3C4","\uB9CC"]),Bn=["\uC5D0\uC11C","\uC73C\uB85C","\uBD80\uD130","\uAE4C\uC9C0","\uCC98\uB7FC","\uBCF4\uB2E4"],Ua=["\uD560\uB54C","\uD558\uBA74","\uD558\uB2C8\uAE4C","\uD560 \uB54C"],Fn=new Map([["\uC774",{role:"agent",confidence:.85,variant:"consonant",description:"subject marker (after consonant)"}],["\uAC00",{role:"agent",confidence:.85,variant:"vowel",description:"subject marker (after vowel)"}],["\uC744",{role:"patient",confidence:.95,variant:"consonant",description:"object marker (after consonant)"}],["\uB97C",{role:"patient",confidence:.95,variant:"vowel",description:"object marker (after vowel)"}],["\uC740",{role:"agent",confidence:.75,variant:"consonant",description:"topic marker (after consonant)"}],["\uB294",{role:"agent",confidence:.75,variant:"vowel",description:"topic marker (after vowel)"}],["\uC5D0",{role:"destination",confidence:.85,description:"at/to marker"}],["\uC5D0\uC11C",{role:"source",confidence:.8,description:"at/from marker (action location)"}],["\uB85C",{role:"destination",confidence:.85,variant:"vowel",description:"to/by means (after vowel or \u3139)"}],["\uC73C\uB85C",{role:"destination",confidence:.85,variant:"consonant",description:"to/by means (after consonant)"}],["\uC640",{role:"style",confidence:.7,variant:"vowel",description:"and/with (after vowel)"}],["\uACFC",{role:"style",confidence:.7,variant:"consonant",description:"and/with (after consonant)"}],["\uC758",{role:"patient",confidence:.6,description:"possessive marker"}],["\uB3C4",{role:"patient",confidence:.65,description:"also/too marker"}],["\uB9CC",{role:"patient",confidence:.65,description:"only marker"}],["\uBD80\uD130",{role:"source",confidence:.9,description:"from/since marker"}],["\uAE4C\uC9C0",{role:"destination",confidence:.75,description:"until/to marker"}],["\uCC98\uB7FC",{role:"manner",confidence:.8,description:"like/as marker"}],["\uBCF4\uB2E4",{role:"source",confidence:.75,description:"than marker"}]]),$a=[{native:"\uCC38",normalized:"true"},{native:"\uAC70\uC9D3",normalized:"false"},{native:"\uB110",normalized:"null"},{native:"\uBBF8\uC815\uC758",normalized:"undefined"},{native:"\uCCAB\uBC88\uC9F8",normalized:"first"},{native:"\uB9C8\uC9C0\uB9C9",normalized:"last"},{native:"\uB2E4\uC74C",normalized:"next"},{native:"\uC774\uC804",normalized:"previous"},{native:"\uAC00\uC7A5\uAC00\uAE4C\uC6B4",normalized:"closest"},{native:"\uBD80\uBAA8",normalized:"parent"},{native:"\uD074\uB9AD",normalized:"click"},{native:"\uB354\uBE14\uD074\uB9AD",normalized:"dblclick"},{native:"\uBCC0\uACBD",normalized:"change"},{native:"\uC81C\uCD9C",normalized:"submit"},{native:"\uC785\uB825",normalized:"input"},{native:"\uB85C\uB4DC",normalized:"load"},{native:"\uC2A4\uD06C\uB864",normalized:"scroll"},{native:"\uD0A4\uB2E4\uC6B4",normalized:"keydown"},{native:"\uD0A4\uC5C5",normalized:"keyup"},{native:"\uB9C8\uC6B0\uC2A4\uC624\uBC84",normalized:"mouseover"},{native:"\uB9C8\uC6B0\uC2A4\uC544\uC6C3",normalized:"mouseout"},{native:"\uB0B4",normalized:"my"},{native:"\uADF8\uAC83\uC758",normalized:"its"},{native:"\uADF8\uB2E4\uC74C",normalized:"then"},{native:"\uADF8\uB7F0\uD6C4",normalized:"then"},{native:"\uADF8\uB7EC\uBA74",normalized:"then"},{native:"\uADF8\uB9AC\uACE0",normalized:"and"},{native:"\uB610\uB294",normalized:"or"},{native:"\uC544\uB2C8",normalized:"not"},{native:"\uC774\uB2E4",normalized:"is"},{native:"\uCD08",normalized:"s"},{native:"\uBC00\uB9AC\uCD08",normalized:"ms"},{native:"\uBD84",normalized:"m"},{native:"\uC2DC\uAC04",normalized:"h"}],Ba=[{pattern:"\uBC00\uB9AC\uCD08",suffix:"ms",length:3},{pattern:"\uC2DC\uAC04",suffix:"h",length:2},{pattern:"\uCD08",suffix:"s",length:1},{pattern:"\uBD84",suffix:"m",length:1}],It=class extends C{constructor(){super();this.language="ko";this.direction="ltr";this.initializeKeywordsFromProfile(ye,$a),this.normalizer=new Ne}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])){let o=this.extractKoreanNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}if(he(e[n])){let o=this.extractKoreanWord(e,n);if(o){let l=this.trySplitTemporalSuffix(o);l?(r.push(l.stemToken),r.push(l.suffixToken)):r.push(o),n=o.position.end;continue}}let s=this.tryMultiCharParticle(e,n,Bn);if(s){let o=Fn.get(s.value);o?r.push({...s,metadata:{particleRole:o.role,particleConfidence:o.confidence,particleVariant:o.variant}}):r.push(s),n=s.position.end;continue}if(it.has(e[n])){let o=e[n],l=Fn.get(o);l?r.push({...v(o,"particle",h(n,n+1)),metadata:{particleRole:l.role,particleConfidence:l.confidence,particleVariant:l.variant}}):r.push(v(o,"particle",h(n,n+1))),n++;continue}if(b(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new w(r,"ko")}classifyToken(e){return At.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractKoreanWord(e,r){for(let c=Math.min(6,e.length-r);c>=2;c--){let m=e.slice(r,r+c),u=!0;for(let d=0;d<m.length;d++)if(!he(m[d])){u=!1;break}if(!u)continue;if(At.has(m)&&r===r){let d=r+c,f=d<e.length?e[d]:"";if(f===""||S(f)||!he(f))return null}let y=this.lookupKeyword(m);if(y)return v(m,"keyword",h(r,r+c),y.normalized);let p=this.tryMorphKeywordMatch(m,r,r+c);if(p)return p}let i=r,s="";for(;i<e.length;){let c=e[i],m=i+1<e.length?e[i+1]:"";if(s.length===0&&it.has(c))return null;if(it.has(c)&&s.length>0&&(m===""||S(m)||!he(m)||it.has(m)))break;let u=!1;for(let y of Bn)if(e.slice(i,i+y.length)===y&&s.length>0){let p=i+y.length,d=p<e.length?e[p]:"";if(d===""||S(d)||!he(d)){u=!0;break}}if(u)break;if(he(c))s+=c,i++;else break}if(!s||At.has(s))return null;let o=this.lookupKeyword(s);if(o)return v(s,"keyword",h(r,i),o.normalized);let l=this.tryMorphKeywordMatch(s,r,i);return l||v(s,"identifier",h(r,i))}extractAsciiWord(e,r){let n=r,i="";for(;n<e.length&&b(e[n]);)i+=e[n++];return i?v(i,"identifier",h(r,n)):null}extractKoreanNumber(e,r){return this.tryNumberWithTimeUnits(e,r,Ba,{allowSign:!1,skipWhitespace:!1})}trySplitTemporalSuffix(e){let r=e.value;for(let n of Ua)if(r.endsWith(n)&&r.length>n.length){let i=r.slice(0,-n.length),s=i.toLowerCase(),o=this.lookupKeyword(s);if(!o)continue;let l=e.position.start+i.length,c=v(i,"keyword",h(e.position.start,l),o.normalized),m=v(n,"keyword",h(l,e.position.end),"when");return{stemToken:c,suffixToken:m}}return null}},at=new It;j("ko",at,ye);function Fa(a){let t=a.charCodeAt(0);return t>=1536&&t<=1791||t>=1872&&t<=1919||t>=2208&&t<=2303||t>=64336&&t<=65023||t>=65136&&t<=65279}function Da(a){for(let t of a)if(Fa(t))return!0;return!1}function Ga(a){return a.replace(/[\u064B-\u0652\u0670]/g,"")}var Ha=[{pattern:"\u0648\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0641\u0627\u0644",confidencePenalty:.15,prefixType:"conjunction"},{pattern:"\u0628\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0643\u0627\u0644",confidencePenalty:.15,prefixType:"preposition"},{pattern:"\u0644\u0644",confidencePenalty:.12,prefixType:"preposition"}],Xa=[{pattern:"\u0627\u0644",confidencePenalty:.08,prefixType:"article",minRemaining:2},{pattern:"\u0648",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0641",confidencePenalty:.08,prefixType:"conjunction",minRemaining:3},{pattern:"\u0628",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0644",confidencePenalty:.1,prefixType:"preposition",minRemaining:3},{pattern:"\u0643",confidencePenalty:.1,prefixType:"preposition",minRemaining:3}],Qa=[{pattern:"\u064A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u062A",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0646",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0623",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3},{pattern:"\u0627",confidencePenalty:.12,prefixType:"verb-marker",minRemaining:3}],Za=[{pattern:"\u0648\u0646",confidencePenalty:.1,type:"masculine-plural"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"masculine-plural-accusative"},{pattern:"\u0627\u062A",confidencePenalty:.1,type:"feminine-plural"},{pattern:"\u0627\u0646",confidencePenalty:.1,type:"dual-nominative"},{pattern:"\u064A\u0646",confidencePenalty:.1,type:"dual-accusative"},{pattern:"\u0647\u0627",confidencePenalty:.1,type:"pronoun-her"},{pattern:"\u0647\u0645",confidencePenalty:.1,type:"pronoun-them"},{pattern:"\u0647\u0646",confidencePenalty:.1,type:"pronoun-them-f"},{pattern:"\u0646\u0627",confidencePenalty:.1,type:"pronoun-us"},{pattern:"\u0643\u0645",confidencePenalty:.1,type:"pronoun-you-pl"},{pattern:"\u0643",confidencePenalty:.08,type:"pronoun-you"},{pattern:"\u0647",confidencePenalty:.08,type:"pronoun-him"},{pattern:"\u064A",confidencePenalty:.08,type:"pronoun-me"},{pattern:"\u0629",confidencePenalty:.08,type:"feminine"}],je=class{constructor(){this.language="ar"}isNormalizable(t){return!(!Da(t)||t.length<2)}normalize(t){let e=Ga(t),r=1,n=[],i=[];for(let o of Ha)if(e.startsWith(o.pattern)){let l=e.slice(o.pattern.length);if(l.length>=2){e=l,r-=o.confidencePenalty,n.push(o.pattern);break}}if(n.length===0){for(let o of Xa)if(e.startsWith(o.pattern)){let l=e.slice(o.pattern.length),c=o.minRemaining??2;if(l.length>=c){e=l,r-=o.confidencePenalty,n.push(o.pattern);break}}}if(!(e.endsWith("\u0627\u062A")||e.endsWith("\u0629")||e.endsWith("\u0648\u0646")||e.endsWith("\u064A\u0646")||e.endsWith("\u0647\u0627")||e.endsWith("\u0647\u0645")||e.endsWith("\u0647\u0646")||e.endsWith("\u0646\u0627")||e.endsWith("\u0643\u0645"))&&(n.length===0||n[0]==="\u0648"||n[0]==="\u0641")){for(let o of Qa)if(e.startsWith(o.pattern)){let l=e.slice(o.pattern.length),c=o.minRemaining??3;if(l.length>=c){e=l,r-=o.confidencePenalty,n.push(o.pattern);break}}}for(let o of Za)if(e.endsWith(o.pattern)){let l=e.slice(0,-o.pattern.length);l.length>=2&&(e=l,r-=o.confidencePenalty,i.push(o.pattern))}return r=Math.max(.5,r),n.length===0&&i.length===0?A(t):L(e,r,{removedPrefixes:n,removedSuffixes:i})}},_c=new je;var ve={code:"ar",name:"Arabic",nativeName:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",direction:"rtl",wordOrder:"VSO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"\u0623\u0646\u0627",it:"\u0647\u0648",you:"\u0623\u0646\u062A",result:"\u0627\u0644\u0646\u062A\u064A\u062C\u0629",event:"\u0627\u0644\u062D\u062F\u062B",target:"\u0627\u0644\u0647\u062F\u0641",body:"\u0627\u0644\u062C\u0633\u0645"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"\u0644\u064A",it:"\u0644\u0647",you:"\u0644\u0643"},keywords:{\u0644\u064A:"me",\u0644\u0643:"you",\u0644\u0647:"it",\u0644\u0647\u0627:"it"}},roleMarkers:{destination:{primary:"\u0639\u0644\u0649",alternatives:["\u0641\u064A","\u0625\u0644\u0649","\u0628","\u0642\u0628\u0644","\u0628\u0639\u062F"],position:"before"},source:{primary:"\u0645\u0646",position:"before"},patient:{primary:"",position:"before"},style:{primary:"\u0628\u0640",alternatives:["\u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645"],position:"before"}},keywords:{toggle:{primary:"\u0628\u062F\u0651\u0644",alternatives:["\u0628\u062F\u0644","\u063A\u064A\u0651\u0631","\u063A\u064A\u0631"],normalized:"toggle"},add:{primary:"\u0623\u0636\u0641",alternatives:["\u0627\u0636\u0641","\u0632\u0650\u062F"],normalized:"add"},remove:{primary:"\u0627\u062D\u0630\u0641",alternatives:["\u0623\u0632\u0644","\u0627\u0645\u0633\u062D"],normalized:"remove"},put:{primary:"\u0636\u0639",alternatives:["\u0627\u062C\u0639\u0644"],normalized:"put"},append:{primary:"\u0623\u0644\u062D\u0642",normalized:"append"},prepend:{primary:"\u0633\u0628\u0642",normalized:"prepend"},take:{primary:"\u062E\u0630",normalized:"take"},make:{primary:"\u0627\u0635\u0646\u0639",alternatives:["\u0623\u0646\u0634\u0626"],normalized:"make"},clone:{primary:"\u0627\u0633\u062A\u0646\u0633\u062E",alternatives:["\u0627\u0646\u0633\u062E"],normalized:"clone"},swap:{primary:"\u0627\u0633\u062A\u0628\u062F\u0644",alternatives:["\u062A\u0628\u0627\u062F\u0644"],normalized:"swap"},morph:{primary:"\u062D\u0648\u0651\u0644",alternatives:["\u063A\u064A\u0651\u0631"],normalized:"morph"},set:{primary:"\u0627\u0636\u0628\u0637",alternatives:["\u0639\u064A\u0651\u0646","\u062D\u062F\u062F"],normalized:"set"},get:{primary:"\u0627\u062D\u0635\u0644",normalized:"get"},increment:{primary:"\u0632\u0650\u062F",alternatives:["\u0632\u062F","\u0627\u0631\u0641\u0639"],normalized:"increment"},decrement:{primary:"\u0623\u0646\u0642\u0635",alternatives:["\u0627\u0646\u0642\u0635","\u0642\u0644\u0644"],normalized:"decrement"},log:{primary:"\u0633\u062C\u0644",normalized:"log"},show:{primary:"\u0627\u0638\u0647\u0631",alternatives:["\u0623\u0638\u0647\u0631","\u0627\u0639\u0631\u0636"],normalized:"show"},hide:{primary:"\u0627\u062E\u0641",alternatives:["\u0623\u062E\u0641\u0650","\u0627\u062E\u0641\u064A","\u0623\u062E\u0641"],normalized:"hide"},transition:{primary:"\u0627\u0646\u062A\u0642\u0627\u0644",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"transition"},on:{primary:"\u0639\u0644\u0649",alternatives:["\u0639\u0646\u062F","\u0644\u062F\u0649","\u062D\u064A\u0646"],normalized:"on"},trigger:{primary:"\u062A\u0634\u063A\u064A\u0644",alternatives:["\u0623\u0637\u0644\u0642","\u0641\u0639\u0651\u0644"],normalized:"trigger"},send:{primary:"\u0623\u0631\u0633\u0644",normalized:"send"},focus:{primary:"\u062A\u0631\u0643\u064A\u0632",alternatives:["\u0631\u0643\u0632"],normalized:"focus"},blur:{primary:"\u0636\u0628\u0627\u0628\u064A\u0629",alternatives:["\u0634\u0648\u0634"],normalized:"blur"},go:{primary:"\u0627\u0630\u0647\u0628",alternatives:["\u0627\u0646\u062A\u0642\u0644"],normalized:"go"},wait:{primary:"\u0627\u0646\u062A\u0638\u0631",normalized:"wait"},fetch:{primary:"\u0627\u062D\u0636\u0631",alternatives:["\u062C\u0644\u0628"],normalized:"fetch"},settle:{primary:"\u0627\u0633\u062A\u0642\u0631",normalized:"settle"},if:{primary:"\u0625\u0630\u0627",normalized:"if"},when:{primary:"\u0639\u0646\u062F\u0645\u0627",normalized:"when"},where:{primary:"\u0623\u064A\u0646",normalized:"where"},else:{primary:"\u0648\u0625\u0644\u0627",alternatives:["\u062E\u0644\u0627\u0641 \u0630\u0644\u0643"],normalized:"else"},repeat:{primary:"\u0643\u0631\u0631",normalized:"repeat"},for:{primary:"\u0644\u0643\u0644",normalized:"for"},while:{primary:"\u0628\u064A\u0646\u0645\u0627",normalized:"while"},continue:{primary:"\u0648\u0627\u0635\u0644",normalized:"continue"},halt:{primary:"\u0623\u0648\u0642\u0641",alternatives:["\u062A\u0648\u0642\u0641"],normalized:"halt"},throw:{primary:"\u0627\u0631\u0645",alternatives:["\u0627\u0631\u0645\u0650"],normalized:"throw"},call:{primary:"\u0627\u0633\u062A\u062F\u0639",alternatives:["\u0646\u0627\u062F\u0650"],normalized:"call"},return:{primary:"\u0627\u0631\u062C\u0639",alternatives:["\u0639\u064F\u062F"],normalized:"return"},then:{primary:"\u062B\u0645",alternatives:["\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"],normalized:"then"},and:{primary:"\u0648\u0623\u064A\u0636\u0627\u064B",alternatives:["\u0623\u064A\u0636\u0627\u064B"],normalized:"and"},end:{primary:"\u0646\u0647\u0627\u064A\u0629",alternatives:["\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"],normalized:"end"},js:{primary:"\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",alternatives:["js"],normalized:"js"},async:{primary:"\u0645\u062A\u0632\u0627\u0645\u0646",normalized:"async"},tell:{primary:"\u0623\u062E\u0628\u0631",normalized:"tell"},default:{primary:"\u0627\u0641\u062A\u0631\u0627\u0636\u064A",normalized:"default"},init:{primary:"\u062A\u0647\u064A\u0626\u0629",alternatives:["\u0628\u062F\u0621"],normalized:"init"},behavior:{primary:"\u0633\u0644\u0648\u0643",normalized:"behavior"},install:{primary:"\u062A\u062B\u0628\u064A\u062A",alternatives:["\u062B\u0628\u0651\u062A"],normalized:"install"},measure:{primary:"\u0642\u064A\u0627\u0633",alternatives:["\u0642\u0650\u0633"],normalized:"measure"},beep:{primary:"\u0635\u0641\u0651\u0631",normalized:"beep"},break:{primary:"\u062A\u0648\u0642\u0641",normalized:"break"},copy:{primary:"\u0627\u0646\u0633\u062E",normalized:"copy"},exit:{primary:"\u0627\u062E\u0631\u062C",normalized:"exit"},pick:{primary:"\u0627\u062E\u062A\u0631",normalized:"pick"},render:{primary:"\u0627\u0631\u0633\u0645",normalized:"render"},into:{primary:"\u0641\u064A",alternatives:["\u0625\u0644\u0649"],normalized:"into"},before:{primary:"\u0642\u0628\u0644",normalized:"before"},after:{primary:"\u0628\u0639\u062F",normalized:"after"},until:{primary:"\u062D\u062A\u0649",normalized:"until"},event:{primary:"\u062D\u062F\u062B",normalized:"event"},from:{primary:"\u0645\u0646",normalized:"from"}},tokenization:{prefixes:["\u0627\u0644","\u0648","\u0641","\u0628","\u0643","\u0644"]},eventHandler:{eventMarker:{primary:"\u0639\u0646\u062F",alternatives:["\u0641\u064A","\u0644\u062F\u0649","\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u062D\u064A\u0646\u0645\u0627","\u0644\u0645\u0651\u0627","\u0644\u0645\u0627"],position:"before"},temporalMarkers:["\u0639\u0646\u062F\u0645\u0627","\u062D\u064A\u0646","\u0644\u0645\u0651\u0627"],negationMarker:{primary:"\u0639\u062F\u0645",alternatives:["\u0639\u062F\u0645"],position:"before"}}};var Y=_([[1536,1791],[1872,1919],[2208,2303],[64336,65023],[65136,65279]]),Ya=new Set(["\u0628\u0640","\u0644\u0640","\u0643\u0640","\u0648\u0640"]),Ot=new Map([["\u0648",{normalized:"and",type:"conjunction"}],["\u0641",{normalized:"then",type:"conjunction"}],["\u0628",{normalized:"with",type:"preposition"}],["\u0644",{normalized:"to",type:"preposition"}],["\u0643",{normalized:"like",type:"preposition"}],["\u0648\u0644",{normalized:"and-to",type:"conjunction"}],["\u0648\u0628",{normalized:"and-with",type:"conjunction"}],["\u0648\u0643",{normalized:"and-like",type:"conjunction"}],["\u0641\u0644",{normalized:"then-to",type:"conjunction"}],["\u0641\u0628",{normalized:"then-with",type:"conjunction"}],["\u0641\u0643",{normalized:"then-like",type:"conjunction"}]]),Dn=new Map([["\u0639\u0646\u062F\u0645\u0627",{normalized:"on",formality:"formal",confidence:.95,description:"when (formal MSA)"}],["\u062D\u064A\u0646\u0645\u0627",{normalized:"on",formality:"formal",confidence:.93,description:"when/whenever (formal)"}],["\u0639\u0646\u062F",{normalized:"on",formality:"neutral",confidence:.88,description:"at/when (neutral)"}],["\u062D\u064A\u0646",{normalized:"on",formality:"neutral",confidence:.85,description:"when/time (neutral)"}],["\u0644\u0645\u0651\u0627",{normalized:"on",formality:"dialectal",confidence:.7,description:"when (dialectal, with shadda)"}],["\u0644\u0645\u0627",{normalized:"on",formality:"dialectal",confidence:.68,description:"when (dialectal, no diacritic)"}],["\u0644\u062F\u0649",{normalized:"on",formality:"neutral",confidence:.82,description:"at/with (temporal)"}]]),ot=new Set(["\u0641\u064A","\u0639\u0644\u0649","\u0645\u0646","\u0625\u0644\u0649","\u0627\u0644\u0649","\u0645\u0639","\u0639\u0646","\u0642\u0628\u0644","\u0628\u0639\u062F","\u0628\u064A\u0646"]),Ja=[{native:"\u0635\u062D\u064A\u062D",normalized:"true"},{native:"\u062E\u0637\u0623",normalized:"false"},{native:"null",normalized:"null"},{native:"\u0641\u0627\u0631\u063A",normalized:"null"},{native:"\u063A\u064A\u0631 \u0645\u0639\u0631\u0641",normalized:"undefined"},{native:"\u0627\u0644\u0623\u0648\u0644",normalized:"first"},{native:"\u0623\u0648\u0644",normalized:"first"},{native:"\u0627\u0644\u0623\u062E\u064A\u0631",normalized:"last"},{native:"\u0622\u062E\u0631",normalized:"last"},{native:"\u0627\u0644\u062A\u0627\u0644\u064A",normalized:"next"},{native:"\u0627\u0644\u0633\u0627\u0628\u0642",normalized:"previous"},{native:"\u0627\u0644\u0623\u0642\u0631\u0628",normalized:"closest"},{native:"\u0627\u0644\u0623\u0628",normalized:"parent"},{native:"\u0627\u0644\u0646\u0642\u0631",normalized:"click"},{native:"\u0646\u0642\u0631",normalized:"click"},{native:"\u0627\u0644\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0625\u062F\u062E\u0627\u0644",normalized:"input"},{native:"\u0627\u0644\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u062A\u063A\u064A\u064A\u0631",normalized:"change"},{native:"\u0627\u0644\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0625\u0631\u0633\u0627\u0644",normalized:"submit"},{native:"\u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"focus"},{native:"\u0641\u0642\u062F\u0627\u0646 \u0627\u0644\u062A\u0631\u0643\u064A\u0632",normalized:"blur"},{native:"\u0636\u063A\u0637",normalized:"keydown"},{native:"\u0631\u0641\u0639",normalized:"keyup"},{native:"\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseover"},{native:"\u0645\u063A\u0627\u062F\u0631\u0629 \u0627\u0644\u0641\u0623\u0631\u0629",normalized:"mouseout"},{native:"\u062A\u062D\u0645\u064A\u0644",normalized:"load"},{native:"\u062A\u0645\u0631\u064A\u0631",normalized:"scroll"},{native:"\u0647\u064A",normalized:"it"},{native:"\u062B\u0627\u0646\u064A\u0629",normalized:"s"},{native:"\u062B\u0648\u0627\u0646\u064A",normalized:"s"},{native:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",normalized:"ms"},{native:"\u062F\u0642\u064A\u0642\u0629",normalized:"m"},{native:"\u062F\u0642\u0627\u0626\u0642",normalized:"m"},{native:"\u0633\u0627\u0639\u0629",normalized:"h"},{native:"\u0633\u0627\u0639\u0627\u062A",normalized:"h"}],eo=[{pattern:"\u0645\u0644\u064A \u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:9,caseInsensitive:!1},{pattern:"\u0645\u0644\u064A_\u062B\u0627\u0646\u064A\u0629",suffix:"ms",length:8,caseInsensitive:!1},{pattern:"\u062F\u0642\u0627\u0626\u0642",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062F\u0642\u064A\u0642\u0629",suffix:"m",length:5,caseInsensitive:!1},{pattern:"\u062B\u0648\u0627\u0646\u064A",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u062B\u0627\u0646\u064A\u0629",suffix:"s",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0627\u062A",suffix:"h",length:5,caseInsensitive:!1},{pattern:"\u0633\u0627\u0639\u0629",suffix:"h",length:4,caseInsensitive:!1}],Vt=class extends C{constructor(){super();this.language="ar";this.direction="rtl";this.initializeKeywordsFromProfile(ve,Ja),this.normalizer=new je}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])){let o=this.extractArabicNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}let s=this.tryPreposition(e,n);if(s){r.push(s),n=s.position.end;continue}if(Y(e[n])){let o=this.tryProclitic(e,n);if(o){r.push(o.conjunction),n=o.conjunction.position.end;continue}let l=this.extractArabicWord(e,n);if(l){r.push(l),n=l.position.end;continue}}if(b(e[n])){let o=this.extractAsciiWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new w(r,"ar")}classifyToken(e){return ot.has(e)?"particle":this.isKeyword(e)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}tryPreposition(e,r){let n=Array.from(ot).sort((i,s)=>s.length-i.length);for(let i of n)if(e.slice(r,r+i.length)===i){let s=r+i.length;if(s>=e.length||S(e[s])||!Y(e[s]))return{...v(i,"particle",h(r,s)),metadata:{prepositionValue:i}}}return null}tryProclitic(e,r){let n=r;for(;n<e.length&&(Y(e[n])||e[n]==="\u0640");)n++;let i=e.slice(r,n);if(this.lookupKeyword(i)||Dn.has(i)||ot.has(i))return null;if(r+2<=e.length){let y=e.slice(r,r+2),p=Ot.get(y);if(p){let d=r+2;if(d<e.length&&Y(e[d])){let f=0,k=d;for(;k<e.length&&Y(e[k]);)f++,k++;if(f>=2)if(Ot.get(e[r])){let I=e.slice(r+1,n);if(!this.lookupKeyword(I)){let H=p.type==="conjunction"?"conjunction":"particle";return{conjunction:v(y,H,h(r,d),p.normalized)}}}else{let I=p.type==="conjunction"?"conjunction":"particle";return{conjunction:v(y,I,h(r,d),p.normalized)}}}}}let s=e[r],o=Ot.get(s);if(!o)return null;let l=r+1;if(l>=e.length||!Y(e[l]))return null;let c=0,m=l;for(;m<e.length&&Y(e[m]);)c++,m++;if(c<2)return null;let u=o.type==="conjunction"?"conjunction":"particle";return{conjunction:v(s,u,h(r,l),o.normalized)}}extractArabicWord(e,r){let n=r,i="";for(let c of Ya){let m=c.replace("\u0640","");e.slice(n,n+m.length)}for(;n<e.length&&(Y(e[n])||e[n]==="\u0640");)i+=e[n++];if(!i)return null;let s=Dn.get(i);if(s)return{...v(i,"keyword",h(r,n),s.normalized),metadata:{temporalFormality:s.formality,temporalConfidence:s.confidence}};let o=this.lookupKeyword(i);if(o)return v(i,"keyword",h(r,n),o.normalized);if(ot.has(i))return{...v(i,"particle",h(r,n)),metadata:{prepositionValue:i}};let l=this.tryMorphKeywordMatch(i,r,n);return l||v(i,"identifier",h(r,n))}extractAsciiWord(e,r){let n=r,i="";for(;n<e.length&&b(e[n]);)i+=e[n++];return i?v(i,"identifier",h(r,n)):null}extractArabicNumber(e,r){return this.tryNumberWithTimeUnits(e,r,eo,{allowSign:!1,skipWhitespace:!0})}},st=new Vt;j("ar",st,ve);function to(a){let t=a.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122?!0:"\xE7\xC7\u011F\u011E\u0131\u0130\xF6\xD6\u015F\u015E\xFC\xDC".includes(a)}function no(a){for(let t of a)if(to(t))return!0;return!1}function Wt(a){return"a\u0131ouAIOU".includes(a)}function Gn(a){return"ei\xF6\xFCE\u0130\xD6\xDC".includes(a)}function Hn(a){return Wt(a)||Gn(a)}function ro(a){for(let t=a.length-1;t>=0;t--)if(Hn(a[t]))return a[t];return null}function io(a,t){let e=ro(a);if(!e)return!0;let r=t.split("").find(n=>Hn(n));return r?Wt(e)?Wt(r):Gn(r):!0}var ao=[{pattern:"iyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsunuz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorsun",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyoruz",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"iyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyorum",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"iyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"uyorlar",confidence:.82,conjugationType:"progressive",minStemLength:2},{pattern:"eceksiniz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"eceksin",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaks\u0131n",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fiz",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131z",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"ece\u011Fim",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"aca\u011F\u0131m",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"ecekler",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"acaklar",confidence:.82,conjugationType:"future",minStemLength:2},{pattern:"mi\u015Fsiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fsin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Fs\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fs\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fsun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fiz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Fum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mi\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015Fler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"mu\u015Flar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiniz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n\u0131z",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn\xFCz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tunuz",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"diler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tiler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131lar",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCler",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tular",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"din",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tin",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131n",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCn",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tun",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"d\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"duk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tik",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\u0131k",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"t\xFCk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"tuk",confidence:.82,conjugationType:"past",minStemLength:2},{pattern:"dim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"dum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tim",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131m",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFCm",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tum",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"iyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\u0131yor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"\xFCyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"uyor",confidence:.85,conjugationType:"progressive",minStemLength:2},{pattern:"ecek",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"acak",confidence:.85,conjugationType:"future",minStemLength:2},{pattern:"mi\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\u0131\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"m\xFC\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mu\u015F",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"di",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"d\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"du",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"ti",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\u0131",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"t\xFC",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"tu",confidence:.85,conjugationType:"past",minStemLength:2},{pattern:"mek",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"mak",confidence:.88,conjugationType:"dictionary",minStemLength:2},{pattern:"eyelim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ayal\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"eyim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"ay\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"elim",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"al\u0131m",confidence:.82,conjugationType:"optative",minStemLength:2},{pattern:"melisiniz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"melisin",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131s\u0131n",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyiz",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131z",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meliyim",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131y\u0131m",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"meliler",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131lar",confidence:.82,conjugationType:"necessitative",minStemLength:2},{pattern:"meli",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"mal\u0131",confidence:.85,conjugationType:"necessitative",minStemLength:2},{pattern:"ebiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abiliyor",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilir",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"ebildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"abildi",confidence:.82,conjugationType:"potential",minStemLength:2},{pattern:"ebilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"abilmek",confidence:.85,conjugationType:"potential",minStemLength:2},{pattern:"iniz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n\u0131z",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn\xFCz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"unuz",confidence:.82,conjugationType:"imperative",minStemLength:2},{pattern:"in",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\u0131n",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"\xFCn",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"un",confidence:.8,conjugationType:"imperative",minStemLength:2},{pattern:"ildi",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131ld\u0131",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCld\xFC",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"uldu",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ilir",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\u0131l\u0131r",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"\xFCl\xFCr",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"ulur",confidence:.82,conjugationType:"passive",minStemLength:2},{pattern:"tirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"t\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"turmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"dirmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\u0131rmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"d\xFCrmek",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"durmak",confidence:.82,conjugationType:"causative",minStemLength:2},{pattern:"miyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsunuz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyorsun",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"muyoruz",confidence:.8,conjugationType:"negative",minStemLength:2},{pattern:"miyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyorum",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"miyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\u0131yor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"m\xFCyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"muyor",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"medi",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"mad\u0131",confidence:.82,conjugationType:"negative",minStemLength:2},{pattern:"me",confidence:.75,conjugationType:"negative",minStemLength:3},{pattern:"ma",confidence:.75,conjugationType:"negative",minStemLength:3}],Me=class{constructor(){this.language="tr"}isNormalizable(t){return!(!no(t)||t.length<3)}normalize(t){let e=t.toLowerCase();for(let r of ao)if(e.endsWith(r.pattern)){let n=e.slice(0,-r.pattern.length),i=r.minStemLength??2;if(n.length<i)continue;if(!io(n,r.pattern)){let o=r.confidence*.9,l={removedSuffixes:[r.pattern]};return r.conjugationType&&(l.conjugationType=r.conjugationType),L(n,o,l)}let s={removedSuffixes:[r.pattern]};return r.conjugationType&&(s.conjugationType=r.conjugationType),L(n,r.confidence,s)}return A(t)}},Zc=new Me;var ke={code:"tr",name:"Turkish",nativeName:"T\xFCrk\xE7e",direction:"ltr",wordOrder:"SOV",markingStrategy:"case-suffix",usesSpaces:!0,verb:{position:"end",suffixes:["mek","mak","yor","di","mi\u015F"],subjectDrop:!0},references:{me:"ben",it:"o",you:"sen",result:"sonu\xE7",event:"olay",target:"hedef",body:"g\xF6vde"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"benim",it:"onun",you:"senin"},keywords:{benim:"me",senin:"you",onun:"it"}},roleMarkers:{patient:{primary:"i",alternatives:["\u0131","u","\xFC","yi","y\u0131","yu","y\xFC","ni","n\u0131","nu","n\xFC"],position:"after"},destination:{primary:"e",alternatives:["a","ye","ya","ne","na","de","da","te","ta","\u0131n","in","un","\xFCn","n\u0131n","nin","nun","n\xFCn"],position:"after"},source:{primary:"den",alternatives:["dan","ten","tan"],position:"after"},style:{primary:"le",alternatives:["la","yle","yla"],position:"after"},event:{primary:"i",alternatives:["\u0131","u","\xFC"],position:"after"}},keywords:{toggle:{primary:"de\u011Fi\u015Ftir",alternatives:["a\xE7/kapat"],normalized:"toggle"},add:{primary:"ekle",normalized:"add"},remove:{primary:"kald\u0131r",alternatives:["sil"],normalized:"remove"},put:{primary:"koy",normalized:"put"},append:{primary:"ekle",normalized:"append"},take:{primary:"tut",normalized:"take"},make:{primary:"yap",normalized:"make"},clone:{primary:"kopyala",normalized:"clone"},swap:{primary:"takas",normalized:"swap"},morph:{primary:"d\xF6n\xFC\u015Ft\xFCr",alternatives:["\u015Fekil de\u011Fi\u015Ftir"],normalized:"morph"},set:{primary:"ayarla",alternatives:["yap","belirle"],normalized:"set"},get:{primary:"al",normalized:"get"},increment:{primary:"art\u0131r",normalized:"increment"},decrement:{primary:"azalt",normalized:"decrement"},log:{primary:"kaydet",normalized:"log"},show:{primary:"g\xF6ster",normalized:"show"},hide:{primary:"gizle",normalized:"hide"},transition:{primary:"ge\xE7i\u015F",normalized:"transition"},on:{primary:"\xFCzerinde",alternatives:["oldu\u011Funda","zaman"],normalized:"on"},trigger:{primary:"tetikle",normalized:"trigger"},send:{primary:"g\xF6nder",normalized:"send"},focus:{primary:"odak",alternatives:["odaklanma"],normalized:"focus"},blur:{primary:"bulan\u0131k",alternatives:["bulan\u0131kl\u0131k"],normalized:"blur"},click:{primary:"t\u0131klama",alternatives:["t\u0131kla"],normalized:"click"},hover:{primary:"\xFCzerine gelme",alternatives:["\xFCzerinde gezinme"],normalized:"hover"},submit:{primary:"g\xF6nderme",alternatives:["g\xF6nder"],normalized:"submit"},input:{primary:"giri\u015F",alternatives:["girdi"],normalized:"input"},change:{primary:"de\u011Fi\u015Fiklik",alternatives:["de\u011Fi\u015Fim"],normalized:"change"},go:{primary:"git",normalized:"go"},wait:{primary:"bekle",normalized:"wait"},fetch:{primary:"getir",normalized:"fetch"},settle:{primary:"sabitlen",normalized:"settle"},if:{primary:"e\u011Fer",normalized:"if"},when:{primary:"iken",alternatives:["durumunda","oldu\u011Funda"],normalized:"when"},where:{primary:"nerede",normalized:"where"},else:{primary:"yoksa",normalized:"else"},repeat:{primary:"tekrarla",normalized:"repeat"},for:{primary:"i\xE7in",normalized:"for"},while:{primary:"iken",normalized:"while"},continue:{primary:"devam",normalized:"continue"},halt:{primary:"durdur",normalized:"halt"},throw:{primary:"f\u0131rlat",normalized:"throw"},call:{primary:"\xE7a\u011F\u0131r",normalized:"call"},return:{primary:"d\xF6n",normalized:"return"},then:{primary:"sonra",alternatives:["ard\u0131ndan","daha sonra"],normalized:"then"},and:{primary:"ve",alternatives:["ayr\u0131ca","hem de"],normalized:"and"},end:{primary:"son",alternatives:["biti\u015F","bitti"],normalized:"end"},js:{primary:"js",normalized:"js"},async:{primary:"asenkron",normalized:"async"},tell:{primary:"s\xF6yle",normalized:"tell"},default:{primary:"varsay\u0131lan",normalized:"default"},init:{primary:"ba\u015Flat",normalized:"init"},behavior:{primary:"davran\u0131\u015F",normalized:"behavior"},install:{primary:"y\xFCkle",alternatives:["kur","y\xFCklemek"],normalized:"install"},measure:{primary:"\xF6l\xE7",normalized:"measure"},beep:{primary:"bip",normalized:"beep"},break:{primary:"dur",normalized:"break"},copy:{primary:"kopyala",normalized:"copy"},exit:{primary:"\xE7\u0131k",normalized:"exit"},pick:{primary:"se\xE7",normalized:"pick"},render:{primary:"render",normalized:"render"},into:{primary:"i\xE7ine",normalized:"into"},before:{primary:"\xF6nce",normalized:"before"},after:{primary:"sonra",normalized:"after"},until:{primary:"kadar",normalized:"until"},event:{primary:"olay",normalized:"event"},from:{primary:"den",alternatives:["dan"],normalized:"from"}},eventHandler:{eventMarker:{primary:"da",alternatives:["de","ta","te"],position:"after"},temporalMarkers:["d\u0131\u011F\u0131nda","di\u011Finde"]}};var{isLetter:_t}=W(/[a-zA-ZçÇğĞıİöÖşŞüÜ]/),Xn=new Set(["ile","i\xE7in","kadar","gibi","\xF6nce","\xFCzerinde","alt\u0131nda","i\xE7inde","d\u0131\u015F\u0131nda","aras\u0131nda","kar\u015F\u0131","g\xF6re","ra\u011Fmen","do\u011Fru","boyunca"]),Qn=new Set(["de","da","te","ta","den","dan","ten","tan","e","a","ye","ya","i","\u0131","u","\xFC","in","\u0131n","un","\xFCn","le","la","yle","yla"]),oo=[{native:"do\u011Fru",normalized:"true"},{native:"dogru",normalized:"true"},{native:"yanl\u0131\u015F",normalized:"false"},{native:"yanlis",normalized:"false"},{native:"null",normalized:"null"},{native:"bo\u015F",normalized:"null"},{native:"bos",normalized:"null"},{native:"tan\u0131ms\u0131z",normalized:"undefined"},{native:"tanimsiz",normalized:"undefined"},{native:"ilk",normalized:"first"},{native:"son",normalized:"last"},{native:"sonraki",normalized:"next"},{native:"\xF6nceki",normalized:"previous"},{native:"onceki",normalized:"previous"},{native:"en_yak\u0131n",normalized:"closest"},{native:"en_yakin",normalized:"closest"},{native:"ebeveyn",normalized:"parent"},{native:"t\u0131klama",normalized:"click"},{native:"tiklama",normalized:"click"},{native:"t\u0131k",normalized:"click"},{native:"tik",normalized:"click"},{native:"giri\u015F",normalized:"input"},{native:"giris",normalized:"input"},{native:"de\u011Fi\u015Fim",normalized:"change"},{native:"degisim",normalized:"change"},{native:"odak",normalized:"focus"},{native:"bulan\u0131k",normalized:"blur"},{native:"bulanik",normalized:"blur"},{native:"fare \xFCzerinde",normalized:"mouseover"},{native:"fare uzerinde",normalized:"mouseover"},{native:"fare d\u0131\u015F\u0131nda",normalized:"mouseout"},{native:"fare disinda",normalized:"mouseout"},{native:"kayd\u0131r",normalized:"scroll"},{native:"kaydir",normalized:"scroll"},{native:"tu\u015F_bas",normalized:"keydown"},{native:"tus_bas",normalized:"keydown"},{native:"tu\u015F_b\u0131rak",normalized:"keyup"},{native:"tus_birak",normalized:"keyup"},{native:"benim",normalized:"my"},{native:"onun",normalized:"its"},{native:"saniye",normalized:"s"},{native:"milisaniye",normalized:"ms"},{native:"dakika",normalized:"m"},{native:"saat",normalized:"h"},{native:"sonra",normalized:"then"},{native:"ard\u0131ndan",normalized:"then"},{native:"ardindan",normalized:"then"},{native:"daha sonra",normalized:"then"},{native:"ve",normalized:"and"},{native:"veya",normalized:"or"},{native:"de\u011Fil",normalized:"not"},{native:"degil",normalized:"not"}],so=[{pattern:"milisaniye",suffix:"ms",length:10,caseInsensitive:!0},{pattern:"dakika",suffix:"m",length:6,caseInsensitive:!0},{pattern:"saniye",suffix:"s",length:6,caseInsensitive:!0},{pattern:"saat",suffix:"h",length:4,caseInsensitive:!0},{pattern:"dk",suffix:"m",length:2,checkBoundary:!0},{pattern:"sa",suffix:"h",length:2,checkBoundary:!0}],Kt=class extends C{constructor(){super();this.language="tr";this.direction="ltr";this.initializeKeywordsFromProfile(ke,oo),this.normalizer=new Me}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])){let o=this.extractTurkishNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}let s=this.tryMultiWordPhrase(e,n);if(s){r.push(s),n=s.position.end;continue}if(_t(e[n])){let o=this.extractTurkishWord(e,n);if(o){r.push(o),n=o.position.end;continue}}n++}return new w(r,"tr")}classifyToken(e){let r=e.toLowerCase();return Xn.has(r)||Qn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}tryMultiWordPhrase(e,r){for(let n of this.profileKeywords){if(!n.native.includes(" "))continue;let i=n.native;if(e.slice(r,r+i.length).toLowerCase()===i.toLowerCase()){let o=r+i.length;if(o>=e.length||S(e[o])||!_t(e[o]))return v(e.slice(r,r+i.length),"keyword",h(r,o),n.normalized)}}return null}extractTurkishWord(e,r){let n=r,i="";for(;n<e.length&&(_t(e[n])||e[n]==="_");)i+=e[n++];if(!i)return null;let s=i.toLowerCase();if(Qn.has(s))return v(i,"particle",h(r,n));if(Xn.has(s))return v(i,"particle",h(r,n));let o=this.lookupKeyword(s);if(o)return v(i,"keyword",h(r,n),o.normalized);let l=this.tryMorphKeywordMatch(s,r,n);return l||v(i,"identifier",h(r,n))}extractTurkishNumber(e,r){return this.tryNumberWithTimeUnits(e,r,so,{allowSign:!1,skipWhitespace:!0})}},lt=new Kt;j("tr",lt,ke);var ze={code:"id",name:"Indonesian",nativeName:"Bahasa Indonesia",direction:"ltr",wordOrder:"SVO",markingStrategy:"preposition",usesSpaces:!0,verb:{position:"start",subjectDrop:!0},references:{me:"saya",it:"itu",you:"anda",result:"hasil",event:"peristiwa",target:"target",body:"tubuh"},possessive:{marker:"",markerPosition:"after-object",usePossessiveAdjectives:!0,specialForms:{me:"saya",it:"nya",you:"anda"},keywords:{saya:"me",aku:"me",ku:"me",anda:"you",kamu:"you",mu:"you",nya:"it",dia:"it"}},roleMarkers:{destination:{primary:"pada",alternatives:["ke","di"],position:"before"},source:{primary:"dari",position:"before"},patient:{primary:"",position:"before"},style:{primary:"dengan",position:"before"}},keywords:{toggle:{primary:"alihkan",alternatives:["ganti","tukar"],normalized:"toggle"},add:{primary:"tambah",alternatives:["tambahkan"],normalized:"add"},remove:{primary:"hapus",alternatives:["buang","hilangkan"],normalized:"remove"},put:{primary:"taruh",alternatives:["letakkan","masukkan"],normalized:"put"},append:{primary:"sisipkan",normalized:"append"},prepend:{primary:"awali",normalized:"prepend"},take:{primary:"ambil",normalized:"take"},make:{primary:"buat",alternatives:["bikin","ciptakan"],normalized:"make"},clone:{primary:"klon",alternatives:["salin","tiru"],normalized:"clone"},swap:{primary:"tukar",alternatives:["ganti"],normalized:"swap"},morph:{primary:"ubah",alternatives:["transformasi"],normalized:"morph"},set:{primary:"atur",alternatives:["tetapkan"],normalized:"set"},get:{primary:"dapatkan",alternatives:["peroleh"],normalized:"get"},increment:{primary:"tingkatkan",alternatives:["naikkan"],normalized:"increment"},decrement:{primary:"turunkan",alternatives:["kurangi"],normalized:"decrement"},log:{primary:"catat",alternatives:["rekam","cetak"],normalized:"log"},show:{primary:"tampilkan",alternatives:["perlihatkan"],normalized:"show"},hide:{primary:"sembunyikan",alternatives:["tutup"],normalized:"hide"},transition:{primary:"transisi",alternatives:["animasikan"],normalized:"transition"},on:{primary:"pada",alternatives:["saat","ketika"],normalized:"on"},trigger:{primary:"picu",alternatives:["jalankan"],normalized:"trigger"},send:{primary:"kirim",alternatives:["kirimkan"],normalized:"send"},focus:{primary:"fokus",alternatives:["fokuskan"],normalized:"focus"},blur:{primary:"blur",normalized:"blur"},go:{primary:"pergi",alternatives:["pindah","navigasi"],normalized:"go"},wait:{primary:"tunggu",normalized:"wait"},fetch:{primary:"ambil",alternatives:["muat"],normalized:"fetch"},settle:{primary:"stabilkan",normalized:"settle"},if:{primary:"jika",alternatives:["kalau","bila"],normalized:"if"},when:{primary:"ketika",normalized:"when"},where:{primary:"di_mana",normalized:"where"},else:{primary:"selainnya",normalized:"else"},repeat:{primary:"ulangi",normalized:"repeat"},for:{primary:"untuk",normalized:"for"},while:{primary:"selama",normalized:"while"},continue:{primary:"lanjutkan",alternatives:["terus"],normalized:"continue"},halt:{primary:"hentikan",alternatives:["berhenti"],normalized:"halt"},throw:{primary:"lempar",normalized:"throw"},call:{primary:"panggil",normalized:"call"},return:{primary:"kembalikan",alternatives:["kembali"],normalized:"return"},then:{primary:"lalu",alternatives:["kemudian","setelah itu"],normalized:"then"},and:{primary:"dan",alternatives:["juga","serta"],normalized:"and"},end:{primary:"selesai",alternatives:["akhir","tamat"],normalized:"end"},js:{primary:"js",alternatives:["javascript"],normalized:"js"},async:{primary:"asinkron",normalized:"async"},tell:{primary:"katakan",alternatives:["beritahu"],normalized:"tell"},default:{primary:"bawaan",normalized:"default"},init:{primary:"inisialisasi",alternatives:["mulai"],normalized:"init"},behavior:{primary:"perilaku",normalized:"behavior"},install:{primary:"pasang",alternatives:["instal"],normalized:"install"},measure:{primary:"ukur",normalized:"measure"},beep:{primary:"bunyi",normalized:"beep"},break:{primary:"hentikan",normalized:"break"},copy:{primary:"salin",normalized:"copy"},exit:{primary:"keluar",normalized:"exit"},pick:{primary:"pilih",normalized:"pick"},render:{primary:"tampilkan",normalized:"render"},into:{primary:"ke dalam",normalized:"into"},before:{primary:"sebelum",normalized:"before"},after:{primary:"sesudah",alternatives:["setelah"],normalized:"after"},click:{primary:"klik",alternatives:["tekan"],normalized:"click"},hover:{primary:"hover",alternatives:["arahkan"],normalized:"hover"},submit:{primary:"kirim",alternatives:["submit"],normalized:"submit"},input:{primary:"masuk",alternatives:["input"],normalized:"input"},change:{primary:"ubah",alternatives:["berubah"],normalized:"change"},until:{primary:"sampai",normalized:"until"},event:{primary:"peristiwa",alternatives:["event"],normalized:"event"},from:{primary:"dari",normalized:"from"}},eventHandler:{keyword:{primary:"pada",alternatives:["ketika","saat"],normalized:"on"},sourceMarker:{primary:"dari",position:"before"},conditionalKeyword:{primary:"ketika",alternatives:["saat","waktu"]},eventMarker:{primary:"saat",alternatives:["ketika"],position:"before"},temporalMarkers:["ketika","saat"]}};var{isLetter:lo,isIdentifierChar:co}=W(/[a-zA-Z]/),Zn=new Set(["di","ke","dari","pada","dengan","tanpa","untuk","oleh","antara","sebelum","sesudah","setelah","selama","sampai","hingga","sejak","menuju","tentang","terhadap","melalui","dalam","luar"]),mo=[{native:"benar",normalized:"true"},{native:"salah",normalized:"false"},{native:"null",normalized:"null"},{native:"kosong",normalized:"null"},{native:"tidak terdefinisi",normalized:"undefined"},{native:"pertama",normalized:"first"},{native:"terakhir",normalized:"last"},{native:"selanjutnya",normalized:"next"},{native:"berikutnya",normalized:"next"},{native:"sebelumnya",normalized:"previous"},{native:"terdekat",normalized:"closest"},{native:"induk",normalized:"parent"},{native:"klik",normalized:"click"},{native:"click",normalized:"click"},{native:"masukan",normalized:"input"},{native:"input",normalized:"input"},{native:"perubahan",normalized:"change"},{native:"tombol turun",normalized:"keydown"},{native:"tombol naik",normalized:"keyup"},{native:"mouse masuk",normalized:"mouseover"},{native:"mouse keluar",normalized:"mouseout"},{native:"gulir",normalized:"scroll"},{native:"aku",normalized:"me"},{native:"ini",normalized:"me"},{native:"milikku",normalized:"my"},{native:"dia",normalized:"it"},{native:"kejadian",normalized:"event"},{native:"sasaran",normalized:"target"},{native:"detik",normalized:"s"},{native:"milidetik",normalized:"ms"},{native:"menit",normalized:"m"},{native:"jam",normalized:"h"},{native:"jika tidak",normalized:"else"},{native:"hilangkan fokus",normalized:"blur"},{native:"maka",normalized:"then"}],qt=class extends C{constructor(){super();this.language="id";this.direction="ltr";this.initializeKeywordsFromProfile(ze,mo)}tokenize(e){let r=[],n=0;for(;n<e.length;){if(S(e[n])){n++;continue}if(E(e[n])){let o=this.tryEventModifier(e,n);if(o){r.push(o),n=o.position.end;continue}if(this.tryPropertyAccess(e,n,r)){n++;continue}let l=this.trySelector(e,n);if(l){r.push(l),n=l.position.end;continue}}if(R(e[n])){let o=this.tryString(e,n);if(o){r.push(o),n=o.position.end;continue}}if(N(e,n)){let o=this.tryUrl(e,n);if(o){r.push(o),n=o.position.end;continue}}if(T(e[n])||e[n]==="-"&&n+1<e.length&&T(e[n+1])){let o=this.extractNumber(e,n);if(o){r.push(o),n=o.position.end;continue}}let i=this.tryVariableRef(e,n);if(i){r.push(i),n=i.position.end;continue}if(lo(e[n])){let o=this.extractWord(e,n);if(o){r.push(o),n=o.position.end;continue}}let s=this.tryOperator(e,n);if(s){r.push(s),n=s.position.end;continue}n++}return new w(r,"id")}classifyToken(e){let r=e.toLowerCase();return Zn.has(r)?"particle":this.isKeyword(r)?"keyword":e.startsWith("#")||e.startsWith(".")||e.startsWith("[")||e.startsWith("*")||e.startsWith("<")?"selector":e.startsWith('"')||e.startsWith("'")||/^\d/.test(e)?"literal":"identifier"}extractWord(e,r){let n=r,i="";for(;n<e.length&&co(e[n]);)i+=e[n++];if(!i)return null;let s=i.toLowerCase(),o=this.lookupKeyword(s);return o?v(i,"keyword",h(r,n),o.normalized):Zn.has(s)?v(i,"particle",h(r,n)):v(i,"identifier",h(r,n))}extractNumber(e,r){let n=r,i="";for((e[n]==="-"||e[n]==="+")&&(i+=e[n++]);n<e.length&&T(e[n]);)i+=e[n++];if(n<e.length&&e[n]===".")for(i+=e[n++];n<e.length&&T(e[n]);)i+=e[n++];let s=n;for(;s<e.length&&S(e[s]);)s++;let o=e.slice(s).toLowerCase();return o.startsWith("milidetik")?(i+="ms",n=s+9):o.startsWith("detik")?(i+="s",n=s+5):o.startsWith("menit")?(i+="m",n=s+5):o.startsWith("jam")&&(i+="h",n=s+3),!i||i==="-"||i==="+"?null:v(i,"literal",h(r,n))}},ct=new qt;j("id",ct,ze);function Yn(a){return sn(a)}function Te(a,t){return cn(a,t)}function mt(){return $e()}function U(a){let t="complex";return a.startsWith("#")&&!a.includes(" ")?t="id":a.startsWith(".")&&!a.includes(" ")?t="class":a.startsWith("[")&&a.endsWith("]")?t="attribute":/^[a-z][a-z0-9]*$/i.test(a)&&(t="element"),{type:"selector",value:a,selectorKind:t}}function P(a,t){let e={type:"literal",value:a};return t!==void 0?{type:"literal",value:a,dataType:t}:e}var po=new Set(["me","you","it","result","event","target","body"]);function Ae(a){return po.has(a)}function K(a){return{type:"reference",value:a}}function Se(a,t){return{type:"property-path",object:a,property:t}}function D(a,t,e){let r={kind:"command",action:a,roles:new Map(Object.entries(t))};return e!==void 0?{...r,metadata:e}:r}function re(a,t,e,r,n,i){let s=new Map;s.set("event",a);let o={kind:"event-handler",action:"on",roles:s,body:t};return e!==void 0&&(o.eventModifiers=e),r!==void 0&&(o.metadata=r),n!==void 0&&n.length>0&&(o.parameterNames=n),i!==void 0&&i.length>0&&(o.additionalEvents=i),o}function Ut(a,t="then",e){let r={kind:"compound",action:"compound",roles:new Map,statements:a,chainType:t};return e!==void 0&&(r.metadata=e),r}function $t(a,t){return!t||t.length===0||t.includes(a)||t.includes("expression")?!0:a==="property-path"?t.some(e=>["selector","reference","expression"].includes(e)):!1}function Jn(a,t){return a.possessive?.keywords?.[t]}var G=class G{constructor(){this.stemMatchCount=0;this.totalKeywordMatches=0}matchPattern(t,e){let r=t.mark(),n=new Map;if(this.currentProfile=$(e.language),this.stemMatchCount=0,this.totalKeywordMatches=0,!this.matchTokenSequence(t,e.template.tokens,n))return t.reset(r),null;let s=this.calculateConfidence(e,n);return this.applyExtractionRules(e,n),{pattern:e,captured:n,consumedTokens:t.position()-r.position,confidence:s}}matchBest(t,e){let r=[];for(let i of e){let s=t.mark(),o=this.matchPattern(t,i);o&&r.push(o),t.reset(s)}if(r.length===0)return null;r.sort((i,s)=>{let o=s.pattern.priority-i.pattern.priority;return o!==0?o:s.confidence-i.confidence});let n=r[0];return this.matchPattern(t,n.pattern),n}matchTokenSequence(t,e,r){let n=e[0],i=n?.type==="literal"&&(n.value==="and"||n.value==="then"||n.alternatives?.includes("and")||n.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;t.peek()?.kind==="conjunction";)t.advance();for(let s of e)if(!this.matchPatternToken(t,s,r)){if(this.isOptional(s))continue;return!1}return!0}matchPatternToken(t,e,r){switch(e.type){case"literal":return this.matchLiteralToken(t,e);case"role":return this.matchRoleToken(t,e,r);case"group":return this.matchGroupToken(t,e,r);default:return!1}}matchLiteralToken(t,e){let r=t.peek();if(!r)return!1;let n=this.getMatchType(r,e.value);if(n!=="none")return this.totalKeywordMatches++,n==="stem"&&this.stemMatchCount++,t.advance(),!0;if(e.alternatives)for(let i of e.alternatives){let s=this.getMatchType(r,i);if(s!=="none")return this.totalKeywordMatches++,s==="stem"&&this.stemMatchCount++,t.advance(),!0}return!1}matchRoleToken(t,e,r){this.skipNoiseWords(t);let n=t.peek();if(!n)return e.optional||!1;let i=this.tryMatchPossessiveExpression(t);if(i)return e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(i.type)&&!e.expectedTypes.includes("expression")?e.optional||!1:(r.set(e.role,i),!0);let s=this.tryMatchMethodCallExpression(t);if(s)return e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(s.type)&&!e.expectedTypes.includes("expression")?e.optional||!1:(r.set(e.role,s),!0);let o=this.tryMatchPossessiveSelectorExpression(t);if(o)return e.expectedTypes&&e.expectedTypes.length>0&&!$t(o.type,e.expectedTypes)?e.optional||!1:(r.set(e.role,o),!0);let l=this.tryMatchPropertyAccessExpression(t);if(l)return e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(l.type)&&!e.expectedTypes.includes("expression")?e.optional||!1:(r.set(e.role,l),!0);let c=this.tryMatchSelectorPropertyExpression(t);if(c)return e.expectedTypes&&e.expectedTypes.length>0&&!$t(c.type,e.expectedTypes)?e.optional||!1:(r.set(e.role,c),!0);let m=this.tokenToSemanticValue(n);return!m||e.expectedTypes&&e.expectedTypes.length>0&&!e.expectedTypes.includes(m.type)?e.optional||!1:(r.set(e.role,m),t.advance(),!0)}tryMatchPossessiveExpression(t){let e=t.peek();if(!e||!this.currentProfile)return null;let r=(e.normalized||e.value).toLowerCase(),n=Jn(this.currentProfile,r);if(!n)return null;let i=t.mark();t.advance();let s=t.peek();if(!s)return t.reset(i),null;if(s.kind==="identifier"||s.kind==="keyword"&&!this.isStructuralKeyword(s.value)||s.kind==="selector"&&s.value.startsWith("*")||s.kind==="selector"&&s.value.startsWith("@")||s.kind==="selector"&&s.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(s.value)){t.advance();let o=s.value;s.kind==="selector"&&o.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(o)&&(o=o.substring(1));let l=o;for(;t.peek()?.kind==="selector"&&t.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(t.peek().value);)l+=t.peek().value,t.advance();let c=t.peek();return c?.kind==="literal"&&c.value.startsWith("(")&&(l+=c.value,t.advance()),Se(K(n),l)}return t.reset(i),null}isStructuralKeyword(t){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(t.toLowerCase())}tryMatchMethodCallExpression(t){let e=t.peek();if(!e||e.kind!=="selector")return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="operator"||n.value!==".")return t.reset(r),null;t.advance();let i=t.peek();if(!i||i.kind!=="identifier")return t.reset(r),null;t.advance();let s=t.peek();if(!s||s.kind!=="punctuation"||s.value!=="(")return t.reset(r),null;t.advance();let o=[];for(;!t.isAtEnd()&&o.length<G.MAX_METHOD_ARGS;){let c=t.peek();if(!c)break;if(c.kind==="punctuation"&&c.value===")"){t.advance();break}if(c.kind==="punctuation"&&c.value===","){t.advance();continue}o.push(c.value),t.advance()}return{type:"expression",raw:`${e.value}.${i.value}(${o.join(", ")})`}}tryMatchPropertyAccessExpression(t){let e=t.peek();if(!e||e.kind!=="identifier"&&e.kind!=="keyword")return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="operator"||n.value!==".")return t.reset(r),null;t.advance();let i=t.peek();if(!i||i.kind!=="identifier")return t.reset(r),null;t.advance();let s=`${e.value}.${i.value}`,o=1;for(;!t.isAtEnd()&&o<G.MAX_PROPERTY_DEPTH;){let c=t.peek();if(!c||c.kind!=="operator"||c.value!==".")break;t.advance();let m=t.peek();if(!m||m.kind!=="identifier")break;t.advance(),s+=`.${m.value}`,o++}let l=t.peek();if(l&&l.kind==="punctuation"&&l.value==="("){t.advance();let c=[],m=0;for(;!t.isAtEnd()&&c.length<G.MAX_METHOD_ARGS;){let y=t.peek();if(!y)break;if(y.kind==="punctuation"&&y.value===")"){if(m===0){t.advance();break}m--}if(y.kind==="punctuation"&&y.value==="("&&m++,y.kind==="punctuation"&&y.value===","){t.advance();continue}c.push(y.value),t.advance()}return{type:"expression",raw:`${s}(${c.join(", ")})`}}return{type:"expression",raw:s}}tryMatchPossessiveSelectorExpression(t){let e=t.peek();if(!e||e.kind!=="selector")return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="punctuation"||n.value!=="'s")return t.reset(r),null;t.advance();let i=t.peek();return!i||i.kind!=="selector"&&i.kind!=="identifier"?(t.reset(r),null):(t.advance(),Se(U(e.value),i.value))}tryMatchSelectorPropertyExpression(t){let e=t.peek();if(!e||e.kind!=="selector"||!e.value.startsWith("#"))return null;let r=t.mark();t.advance();let n=t.peek();if(!n||n.kind!=="selector"||!n.value.startsWith("."))return t.reset(r),null;let i=t.peek(1);i&&i.kind,t.advance();let s=n.value.slice(1);return Se(U(e.value),s)}matchGroupToken(t,e,r){let n=t.mark(),i=new Set(r.keys());if(!this.matchTokenSequence(t,e.tokens,r)){t.reset(n);for(let o of r.keys())i.has(o)||r.delete(o);return e.optional||!1}return!0}getMatchType(t,e){return t.value===e?"exact":t.normalized===e?"normalized":t.stem===e&&t.stemConfidence!==void 0&&t.stemConfidence>=.7?"stem":t.kind==="keyword"&&t.value.toLowerCase()===e.toLowerCase()?"case-insensitive":"none"}tokenToSemanticValue(t){switch(t.kind){case"selector":return U(t.value);case"literal":return this.parseLiteralValue(t.value);case"keyword":let e=(t.normalized||t.value).toLowerCase();return Ae(e)?K(e):P(t.normalized||t.value);case"identifier":if(t.value.startsWith(":"))return K(t.value);let r=t.value.toLowerCase();return Ae(r)?K(r):{type:"expression",raw:t.value};case"url":return P(t.value,"string");default:return null}}parseLiteralValue(t){if(t.startsWith('"')||t.startsWith("'")||t.startsWith("`")||t.startsWith("\u300C")){let n=t.slice(1,-1);return P(n,"string")}if(t==="true")return P(!0,"boolean");if(t==="false")return P(!1,"boolean");let e=t.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(e){let n=parseFloat(e[1]);return e[2]?P(t,"duration"):P(n,"number")}let r=parseFloat(t);return isNaN(r)?P(t,"string"):P(r,"number")}applyExtractionRules(t,e){for(let[r,n]of Object.entries(t.extraction))e.has(r)||(n.value!==void 0?e.set(r,{type:"literal",value:n.value}):n.default&&e.set(r,n.default))}isOptional(t){return t.type!=="literal"&&t.optional===!0}calculateConfidence(t,e){let r=0,n=0,i=c=>t.extraction?.[c]?.default!==void 0;for(let c of t.template.tokens)if(c.type==="role")n+=1,e.has(c.role)&&(r+=1);else if(c.type==="group"){for(let m of c.tokens)if(m.type==="role"){let u=i(m.role),y=.8;n+=y,e.has(m.role)?r+=y:u&&(r+=y*.6)}}let s=n>0?r/n:1;if(this.stemMatchCount>0&&this.totalKeywordMatches>0){let c=this.stemMatchCount/this.totalKeywordMatches*.15;s=Math.max(.5,s-c)}let o=this.calculateVSOConfidenceBoost(t);s=Math.min(1,s+o);let l=this.arabicPrepositionDisambiguation(t,e);return s=Math.max(0,Math.min(1,s+l)),s}calculateVSOConfidenceBoost(t){if(t.language!=="ar")return 0;let e=t.template.tokens[0];if(!e||e.type!=="literal")return 0;let r=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]);if(r.has(e.value))return .15;if(e.alternatives){for(let n of e.alternatives)if(r.has(n))return .15}return 0}arabicPrepositionDisambiguation(t,e){if(t.language!=="ar")return 0;let r=0,n={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]};for(let[i,s]of e.entries()){let o=n[i];if(!o||o.length===0)continue;let l="metadata"in s?s.metadata:void 0;if(l&&typeof l.prepositionValue=="string"){let c=l.prepositionValue;o.includes(c)?r+=.1:r-=.1}}return Math.max(-.1,Math.min(.1,r))}skipNoiseWords(t){let e=t.peek();if(!e)return;let r=e.value.toLowerCase();if(G.ENGLISH_NOISE_WORDS.has(r)){let n=t.mark();t.advance();let i=t.peek();if(i&&i.kind==="selector")return;t.reset(n)}r==="class"&&t.advance()}extractEventModifiers(t){let e={},r=!1;for(;!t.isAtEnd();){let n=t.peek();if(!n||n.kind!=="event-modifier")break;let i=n.metadata;if(!i)break;switch(r=!0,i.modifierName){case"once":e.once=!0;break;case"debounce":typeof i.value=="number"&&(e.debounce=i.value);break;case"throttle":typeof i.value=="number"&&(e.throttle=i.value);break;case"queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(e.queue=i.value);break}t.advance()}return r?e:void 0}};G.MAX_PROPERTY_DEPTH=10,G.MAX_METHOD_ARGS=20,G.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var Ie=G,ie=new Ie;var er={ko:{\uD074\uB9AD:"click",\uC785\uB825:"input",\uBCC0\uACBD:"change",\uC81C\uCD9C:"submit",\uD0A4\uB2E4\uC6B4:"keydown",\uD0A4\uC5C5:"keyup",\uB9C8\uC6B0\uC2A4\uC624\uBC84:"mouseover",\uB9C8\uC6B0\uC2A4\uC544\uC6C3:"mouseout",\uB9C8\uC6B0\uC2A4\uB2E4\uC6B4:"mousedown",\uB9C8\uC6B0\uC2A4\uC5C5:"mouseup",\uD3EC\uCEE4\uC2A4:"focus",\uBE14\uB7EC:"blur",\uB85C\uB4DC:"load",\uB9AC\uC0AC\uC774\uC988:"resize",\uC2A4\uD06C\uB864:"scroll"},ja:{\u30AF\u30EA\u30C3\u30AF:"click",\u5165\u529B:"input",\u5909\u66F4:"change",\u9001\u4FE1:"submit",\u30AD\u30FC\u30C0\u30A6\u30F3:"keydown",\u30AD\u30FC\u30A2\u30C3\u30D7:"keyup",\u30AD\u30FC\u30D7\u30EC\u30B9:"keypress",\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC:"mouseover",\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8:"mouseout",\u30DE\u30A6\u30B9\u62BC\u4E0B:"mousedown",\u30DE\u30A6\u30B9\u89E3\u653E:"mouseup",\u30D5\u30A9\u30FC\u30AB\u30B9:"focus",\u30D6\u30E9\u30FC:"blur",\u30ED\u30FC\u30C9:"load",\u8AAD\u307F\u8FBC\u307F:"load",\u30B5\u30A4\u30BA\u5909\u66F4:"resize",\u30B9\u30AF\u30ED\u30FC\u30EB:"scroll"},ar:{\u0627\u0644\u0646\u0642\u0631:"click",\u0646\u0642\u0631:"click",\u0627\u0644\u0625\u062F\u062E\u0627\u0644:"input",\u0625\u062F\u062E\u0627\u0644:"input",\u0627\u0644\u062A\u063A\u064A\u064A\u0631:"change",\u062A\u063A\u064A\u064A\u0631:"change",\u0627\u0644\u0625\u0631\u0633\u0627\u0644:"submit",\u0625\u0631\u0633\u0627\u0644:"submit","\u0636\u063A\u0637 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keydown","\u0631\u0641\u0639 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keyup","\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0645\u0627\u0648\u0633":"mouseover",\u0627\u0644\u062A\u0631\u0643\u064A\u0632:"focus",\u062A\u062D\u0645\u064A\u0644:"load",\u062A\u0645\u0631\u064A\u0631:"scroll"},es:{clic:"click",click:"click",entrada:"input",cambio:"change",env\u00EDo:"submit",enviar:"submit","tecla abajo":"keydown","tecla arriba":"keyup","rat\xF3n encima":"mouseover","rat\xF3n fuera":"mouseout",enfoque:"focus",desenfoque:"blur",carga:"load",desplazamiento:"scroll"},tr:{t\u0131klama:"click",t\u0131kla:"click",t\u0131k:"click",giri\u015F:"input",girdi:"input",de\u011Fi\u015Fiklik:"change",de\u011Fi\u015Fim:"change",g\u00F6nderme:"submit",g\u00F6nder:"submit",tu\u015Fbasma:"keydown",tu\u015Fb\u0131rakma:"keyup",fare_bas:"mousedown",fare_b\u0131rak:"mouseup",farei\u00E7inde:"mouseover",fared\u0131\u015F\u0131nda:"mouseout",odaklanma:"focus",odak:"focus",bulan\u0131kl\u0131k:"blur",y\u00FCkleme:"load",y\u00FCkle:"load",boyut_de\u011Fi\u015Ftir:"resize",kayd\u0131rma:"scroll"},pt:{clique:"click",clicar:"click",click:"click",entrada:"input",inserir:"input",mudan\u00E7a:"change",mudanca:"change",alterar:"change",envio:"submit",enviar:"submit","tecla baixo":"keydown","tecla cima":"keyup","pressionar tecla":"keydown","soltar tecla":"keyup","mouse sobre":"mouseover","mouse fora":"mouseout",foco:"focus",focar:"focus",desfoque:"blur",desfocar:"blur",carregar:"load",carregamento:"load",rolagem:"scroll",rolar:"scroll"},zh:{\u70B9\u51FB:"click",\u5355\u51FB:"click",\u53CC\u51FB:"dblclick",\u8F93\u5165:"input",\u6539\u53D8:"change",\u53D8\u5316:"change",\u53D8\u66F4:"change",\u63D0\u4EA4:"submit",\u53D1\u9001:"submit",\u6309\u952E:"keydown",\u952E\u5165:"keydown",\u677E\u952E:"keyup",\u9F20\u6807\u8FDB\u5165:"mouseover",\u9F20\u6807\u79FB\u5165:"mouseover",\u9F20\u6807\u79BB\u5F00:"mouseout",\u9F20\u6807\u79FB\u51FA:"mouseout",\u7126\u70B9:"focus",\u805A\u7126:"focus",\u5931\u7126:"blur",\u6A21\u7CCA:"blur",\u52A0\u8F7D:"load",\u8F7D\u5165:"load",\u6EDA\u52A8:"scroll"},fr:{clic:"click",cliquer:"click",click:"click",saisie:"input",entr\u00E9e:"input",changement:"change",changer:"change",soumettre:"submit",soumission:"submit",envoi:"submit","touche bas":"keydown","touche haut":"keyup","souris dessus":"mouseover","souris dehors":"mouseout",focus:"focus",focaliser:"focus",d\u00E9focus:"blur",d\u00E9focaliser:"blur",chargement:"load",charger:"load",d\u00E9filement:"scroll",d\u00E9filer:"scroll"},de:{klick:"click",klicken:"click",click:"click",eingabe:"input",eingeben:"input",\u00E4nderung:"change",\u00E4ndern:"change",absenden:"submit",einreichen:"submit","taste runter":"keydown","taste hoch":"keyup","maus \xFCber":"mouseover","maus raus":"mouseout",fokus:"focus",fokussieren:"focus",defokussieren:"blur",unsch\u00E4rfe:"blur",laden:"load",ladung:"load",scrollen:"scroll",bl\u00E4ttern:"scroll"},id:{klik:"click",click:"click",masukan:"input",input:"input",ubah:"change",perubahan:"change",kirim:"submit","tekan tombol":"keydown","lepas tombol":"keyup","mouse masuk":"mouseover","mouse keluar":"mouseout",fokus:"focus",blur:"blur",muat:"load",memuat:"load",gulir:"scroll",menggulir:"scroll"},bn:{\u0995\u09CD\u09B2\u09BF\u0995:"click",\u0987\u09A8\u09AA\u09C1\u099F:"input",\u099C\u09AE\u09BE:"submit",\u09B2\u09CB\u09A1:"load",\u09B8\u09CD\u0995\u09CD\u09B0\u09CB\u09B2:"scroll",\u09B0\u09BF\u09B8\u09BE\u0987\u099C:"resize",\u099D\u09BE\u09AA\u09B8\u09BE:"blur",\u09AB\u09CB\u0995\u09BE\u09B8:"focus",\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09A8:"change"},qu:{click:"click","\xF1it'iy":"click",\u00F1itiy:"click",yaykuchiy:"input",yaykuy:"input",tikray:"change","t'ikray":"change",apachiy:"submit",kachay:"submit","llave uray":"keydown","llave hawa":"keyup","q'away":"focus",qhaway:"focus",paqariy:"blur","mana q'away":"blur",cargay:"load",apakuy:"load",apamuy:"load",kunray:"scroll",muyuy:"scroll",hatun_kay:"resize"},sw:{bofya:"click",click:"click",kubofya:"click",ingiza:"input",kubadilisha:"change",mabadiliko:"change",tuma:"submit",kutuma:"submit","bonyeza chini":"keydown","bonyeza juu":"keyup","panya juu":"mouseover","panya nje":"mouseout",lenga:"focus",kulenga:"focus",blur:"blur",pakia:"load",kupakia:"load",sogeza:"scroll",kusogeza:"scroll"}};var dt=class{render(t,e){if(t.kind==="compound")return this.renderCompound(t,e);let r=mn(e,t.action);if(r.length===0)return this.renderExplicit(t);let n=this.findBestPattern(t,r);return n?this.renderWithPattern(t,n):this.renderExplicit(t)}renderCompound(t,e){let r=t.statements.map(i=>this.render(i,e)),n=this.getChainWord(t.chainType,e);return r.join(` ${n} `)}getChainWord(t,e){let r=$(e);return r?.keywords?r.keywords[t]?.primary??t:t}renderExplicit(t){if(t.kind==="compound"){let r=t;return r.statements.map(i=>this.renderExplicit(i)).join(` ${r.chainType} `)}let e=[t.action];for(let[r,n]of t.roles)e.push(`${r}:${this.valueToString(n)}`);if(t.kind==="event-handler"){let r=t;if(r.body&&r.body.length>0){let n=r.body.map(i=>this.renderExplicit(i));e.push(`body:${n.join(" ")}`)}}return`[${e.join(" ")}]`}supportedLanguages(){return mt()}findBestPattern(t,e){let r=e.map(n=>{let i=n.priority;for(let s of n.template.tokens)s.type==="role"&&(t.roles.has(s.role)?i+=10:s.optional||(i-=50));return n.language==="en"&&((n.id.includes("standard")||n.id.includes("en-source"))&&(i+=20),(n.id.includes("-when")||n.id.includes("-if")||n.id.includes("-upon"))&&(i-=15)),{pattern:n,score:i}});return r.sort((n,i)=>i.score-n.score),r.length>0?r[0].pattern:null}renderWithPattern(t,e){let r=[],n=e.language;for(let i of e.template.tokens){let s=this.renderPatternToken(i,t,n);s!==null&&r.push(s)}if(t.kind==="event-handler"){let i=t;if(i.body&&i.body.length>0){let s=i.body.map(o=>this.render(o,n));r.push(s.join(" "))}}return r.join(" ")}renderPatternToken(t,e,r){switch(t.type){case"literal":return t.value;case"role":{let n=e.roles.get(t.role);return n?this.valueToNaturalString(n,r):(t.optional,null)}case"group":{if(!t.tokens.filter(s=>s.type==="role"&&!s.optional).every(s=>e.roles.has(s.role))&&t.optional)return null;if(t.optional&&t.tokens.find(o=>o.type==="role"&&o.role==="destination")){let o=e.roles.get("destination");if(o?.type==="reference"&&o.value==="me")return null}let i=[];for(let s of t.tokens){let o=this.renderPatternToken(s,e,r);o!==null&&i.push(o)}return i.length>0?i.join(" "):null}default:return null}}valueToString(t){switch(t.type){case"literal":return typeof t.value=="string"?t.dataType==="string"||/\s/.test(t.value)?`"${t.value}"`:t.value:String(t.value);case"selector":return t.value;case"reference":return t.value;case"property-path":return`${this.valueToString(t.object)}'s ${t.property}`;case"expression":return t.raw}}valueToNaturalString(t,e="en"){switch(t.type){case"literal":return typeof t.value=="string"&&t.dataType==="string"?`"${t.value}"`:String(t.value);case"selector":return t.value;case"reference":return this.renderReference(t,e);case"property-path":return this.renderPropertyPath(t,e);case"expression":return t.raw}}renderReference(t,e){let r=$(e);return r?.references?r.references[t.value]??t.value:t.value}renderPropertyPath(t,e){let r=$(e),n=t.property,i=t.object.type==="reference"?t.object.value:null;if(r?.possessive?.specialForms&&i){let o=r.possessive.specialForms[i];if(o){let{markerPosition:l,usePossessiveAdjectives:c}=r.possessive;return c&&l==="after-object"?`${n} ${o}`:`${o} ${n}`}}let s=this.valueToNaturalString(t.object,e);if(r?.possessive){let{marker:o,markerPosition:l,usePossessiveAdjectives:c}=r.possessive;if(c&&i&&l==="after-object")return`${n} ${s}`;if(o)switch(l){case"between":return r.usesSpaces?`${s}${o} ${n}`:`${s}${o}${n}`;case"after-object":return`${s}${o} ${n}`;case"before-property":return`${s} ${o} ${n}`}}return e==="en"||!r?.possessive?s==="me"?`my ${n}`:s==="it"?`its ${n}`:`${s}'s ${n}`:`${s} ${n}`}},Bt=new dt;function Oe(a,t){return Bt.render(a,t)}function Ve(a){return Bt.renderExplicit(a)}function ae(a){let t=a.trim();if(!t.startsWith("[")||!t.endsWith("]"))throw new Error("Explicit syntax must be wrapped in brackets: [command role:value ...]");let e=t.slice(1,-1).trim();if(!e)throw new Error("Empty explicit statement");let r=uo(e);if(r.length===0)throw new Error("No command specified in explicit statement");let n=r[0].toLowerCase(),i=new Map;for(let o=1;o<r.length;o++){let l=r[o],c=l.indexOf(":");if(c===-1)throw new Error(`Invalid role format: "${l}". Expected role:value`);let m=l.slice(0,c),u=l.slice(c+1);if(m==="body"&&u.startsWith("[")){let p=go(l,c+1),d=l.slice(c+1,p+1);i.set(m,{type:"expression",raw:d});continue}let y=fo(u);i.set(m,y)}if(n==="on"){let o=i.get("event");if(!o)throw new Error("Event handler requires event role: [on event:click ...]");let l=i.get("body"),c=[];return l&&l.type==="expression"&&c.push(ae(l.raw)),i.delete("body"),re(o,c,void 0,{sourceLanguage:"explicit"})}let s={};for(let[o,l]of i)s[o]=l;return D(n,s,{sourceLanguage:"explicit"})}function uo(a){let t=[],e="",r=!1,n="",i=0;for(let s=0;s<a.length;s++){let o=a[s];if(r){e+=o,o===n&&a[s-1]!=="\\"&&(r=!1);continue}if(o==='"'||o==="'"){r=!0,n=o,e+=o;continue}if(o==="["){i++,e+=o;continue}if(o==="]"){i--,e+=o;continue}if(o===" "&&i===0){e&&(t.push(e),e="");continue}e+=o}return e&&t.push(e),t}function fo(a){if(a.startsWith("#")||a.startsWith(".")||a.startsWith("[")||a.startsWith("@")||a.startsWith("*"))return U(a);if(a.startsWith('"')||a.startsWith("'")){let r=a.slice(1,-1);return P(r,"string")}if(a==="true")return P(!0,"boolean");if(a==="false")return P(!1,"boolean");let t=a.toLowerCase();if(Ae(t))return K(t);let e=a.match(/^(-?\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(e){let r=parseFloat(e[1]);return e[2]?P(a,"duration"):P(r,"number")}return P(a,"string")}function go(a,t){let e=0;for(let r=t;r<a.length;r++)if(a[r]==="[")e++;else if(a[r]==="]"&&(e--,e===0))return r;return a.length-1}function xe(a){let t=a.trim();return t.startsWith("[")&&t.endsWith("]")}var O=class O{parse(t,e){let{modifiers:r,remainingInput:n}=this.extractStandaloneModifiers(t,e),i=n||t,s=Te(i,e),o=B(e);if(o.length===0)throw new Error(`No patterns available for language: ${e}`);let l=[...o].sort((f,k)=>k.priority-f.priority),c=l.filter(f=>f.command==="on"),m=ie.matchBest(s,c);if(m){let f=this.buildEventHandler(m,s,e);return r?this.applyModifiers(f,r):f}let u=l.filter(f=>f.command!=="on"),y=ie.matchBest(s,u);if(y)return this.buildCommand(y,e);let p=this.trySOVEventExtraction(i,e,l);if(p)return r?this.applyModifiers(p,r):p;let d=this.tryCompoundCommandParsing(s,u,e);if(d)return d;throw new Error(`Could not parse input in ${e}: ${i}`)}canParse(t,e){try{return this.parse(t,e),!0}catch{return!1}}supportedLanguages(){return mt()}buildCommand(t,e){if(!t)throw new Error("No match to build command from");let r={};for(let[n,i]of t.captured)r[n]=i;return D(t.pattern.command,r,{sourceLanguage:e,patternId:t.pattern.id,confidence:t.confidence})}buildEventHandler(t,e,r){if(!t)throw new Error("No match to build event handler from");let n=t.captured.get("event");if(!n)throw new Error("Event handler pattern matched but no event captured");let i=ie.extractEventModifiers(e),s=this.extractOrConjunctionEvents(e,r),o=n;s.length>0&&n.type==="literal"&&(o={type:"literal",value:[String(n.value),...s.map(u=>String("value"in u?u.value:""))].join(" or ")});let l,c=t.captured.get("action");if(c&&c.type==="literal"){let m=c.value,u={};for(let[d,f]of t.captured)d!=="event"&&d!=="action"&&d!=="continues"&&(u[d]=f);let y=D(m,u,{sourceLanguage:r,patternId:t.pattern.id,confidence:t.confidence}),p=t.captured.get("continues");if(p&&p.type==="literal"&&p.value==="then"){let d=B(r).filter(x=>x.command!=="on").sort((x,I)=>I.priority-x.priority),f=B(r).filter(x=>x.id.startsWith("grammar-")&&x.id.includes("-continuation")).sort((x,I)=>I.priority-x.priority),k=this.parseBodyWithGrammarPatterns(e,d,f,r);k.length>0?l=[y,...k]:l=[y]}else l=[y]}else{let m=B(r).filter(u=>u.command!=="on").sort((u,y)=>y.priority-u.priority);l=this.parseBodyWithClauses(e,m,r)}return re(o,l,i,{sourceLanguage:r,patternId:t.pattern.id,confidence:t.confidence})}parseBodyWithClauses(t,e,r){let n=[],i=[];for(;!t.isAtEnd();){let s=t.peek();if(!s)break;let o=s.kind==="conjunction"||s.kind==="keyword"&&this.isThenKeyword(s.value,r),l=s.kind==="keyword"&&this.isEndKeyword(s.value,r);if(o){if(i.length>0){let c=this.parseClause(i,e,r);n.push(...c),i.length=0}t.advance();continue}if(l){if(i.length>0){let c=this.parseClause(i,e,r);n.push(...c)}t.advance();break}i.push(s),t.advance()}if(i.length>0){let s=this.parseClause(i,e,r);n.push(...s)}return n.length>1?[Ut(n,"then",{sourceLanguage:r})]:n}parseClause(t,e,r){if(t.length===0)return[];let n=new w(t,r),i=[];for(;!n.isAtEnd();){let s=ie.matchBest(n,e);s?i.push(this.buildCommand(s,r)):n.advance()}if(i.length===0){let s=this.parseSOVClauseByVerbAnchoring(t,r);if(s.length>0)return s}return i}static buildVerbLookup(t){let e=new Map;for(let[r,n]of Object.entries(t.keywords))if(!["on","if","else","when","where","while","for","end","then","and"].includes(r)&&(e.set(n.primary.toLowerCase(),r),n.alternatives))for(let i of n.alternatives)e.set(i.toLowerCase(),r);return e}static buildMarkerToRoleLookup(t){let e=new Map;for(let[r,n]of Object.entries(t.roleMarkers))if(n&&(e.set(n.primary,r),n.alternatives))for(let i of n.alternatives)e.has(i)||e.set(i,r);return e}parseSOVClauseByVerbAnchoring(t,e){let r=$(e);if(!r||r.wordOrder!=="SOV")return[];let n=O.buildVerbLookup(r),i=O.buildMarkerToRoleLookup(r),s=[],o=0;for(;o<t.length;){let l=-1,c="";for(let d=o;d<t.length;d++){let f=t[d],k=n.get(f.value.toLowerCase()),x=f.normalized?n.get(f.normalized.toLowerCase()):void 0,I=k||x;if(I){l=d,c=I;break}}if(l===-1)break;let m=t.slice(o,l),u=t.length;for(let d=l+1;d<t.length;d++){let f=t[d];if(f.kind==="conjunction"||this.isThenKeyword(f.value,e)){u=d;break}if(d>l+1&&(n.get(f.value.toLowerCase())||(f.normalized?n.get(f.normalized.toLowerCase()):void 0))){u=d;break}}let y=t.slice(l+1,u),p=this.extractRolesFromMarkedTokens(m,y,i,c,e);if(s.push(D(c,p,{sourceLanguage:e,confidence:.7})),o=u,o<t.length){let d=t[o];(d.kind==="conjunction"||this.isThenKeyword(d.value,e))&&o++}}return s}extractRolesFromMarkedTokens(t,e,r,n,i){let s={},o=l=>{let c=[];for(let m of l){let u=r.get(m.value);if(u&&m.kind==="particle"&&c.length>0){let y=this.tokensToSemanticValue(c);if(y){let p=this.mapRoleForCommand(u,n,s);p&&(s[p]=y)}c=[]}else c.push(m)}if(c.length>0){let m=this.tokensToSemanticValue(c);m&&(s.patient?s.destination||(s.destination=m):s.patient=m)}};return o(t),o(e),s}mapRoleForCommand(t,e,r){return r[t]?t==="patient"&&!r.destination?"destination":t==="destination"&&!r.patient?"patient":t==="source"&&!r.source?"source":null:t}tokensToSemanticValue(t){if(t.length===0)return null;let e=t.filter(i=>i.kind!=="whitespace");if(e.length===0)return null;if(e.length===1)return this.tokenToSemanticValue(e[0]);let r=e.map(i=>i.value).join(""),n=e[0];return n.kind==="selector"||n.value.startsWith("#")||n.value.startsWith(".")||n.value.startsWith("@")||n.value.startsWith("*")?U(r):n.kind==="literal"||n.value.startsWith('"')||n.value.startsWith("'")?P(r):n.kind==="reference"?K(r):P(r)}tokenToSemanticValue(t){let e=t.value;if(t.kind==="selector"||e.startsWith("#")||e.startsWith(".")||e.startsWith("@")||e.startsWith("*"))return U(e);if(e.startsWith('"')||e.startsWith("'"))return P(e);if(/^-?\d+(\.\d+)?$/.test(e))return P(parseFloat(e));if(e==="true"||e==="\u771F"||e==="\uCC38"||e==="do\u011Fru")return P(!0);if(e==="false"||e==="\u507D"||e==="\uAC70\uC9D3"||e==="yanl\u0131\u015F")return P(!1);let r=t.normalized?.toLowerCase();return r==="me"||r==="it"||r==="you"||r==="result"||r==="body"?K(r):t.kind==="reference"?K(t.normalized||"me"):P(e)}parseBodyWithGrammarPatterns(t,e,r,n){let i=[];for(;!t.isAtEnd();){let s=t.peek();if(s&&this.isThenKeyword(s.value,n)){t.advance();continue}if(s&&this.isEndKeyword(s.value,n)){t.advance();break}let o=!1;if(r.length>0){let l=ie.matchBest(t,r);if(l){let c=l.pattern.command,m={};for(let[p,d]of l.captured)p!=="event"&&p!=="action"&&p!=="continues"&&(m[p]=d);let u=D(c,m,{sourceLanguage:n,patternId:l.pattern.id});i.push(u),o=!0;let y=l.captured.get("continues");if(y&&y.type==="literal"&&y.value==="then")continue}}if(!o){let l=ie.matchBest(t,e);l&&(i.push(this.buildCommand(l,n)),o=!0)}o||t.advance()}return i}tryCompoundCommandParsing(t,e,r){let n=t.tokens;if(!n.some(l=>l.kind==="conjunction"||l.kind==="keyword"&&this.isThenKeyword(l.value,r)))return null;let s=new w(n,r),o=this.parseBodyWithClauses(s,e,r);return o.length===0?null:o.length===1?o[0]:Ut(o,"then",{sourceLanguage:r,confidence:.65})}trySOVEventExtraction(t,e,r){let n=O.SOV_EVENT_MARKERS[e];if(!n)return null;let s=Te(t,e).tokens,o=er[e],l=new Set;if(o)for(let M of Object.keys(o))l.add(M.toLowerCase());let c=O.SOV_SOURCE_MARKERS[e],m=-1,u="",y="",p=1;for(let M=0;M<s.length;M++){let V=s[M],X=V.value.toLowerCase(),Q=X,se="",ft=X.indexOf("[");ft>0&&(Q=X.slice(0,ft),se=V.value.slice(ft));let gt=V.normalized?.toLowerCase(),tn=gt&&O.KNOWN_EVENTS.has(gt),nn=l.has(X)||l.has(Q),mr=O.KNOWN_EVENTS.has(Q);if(tn||nn||mr){let be;if(tn?be=gt:nn?be=o?.[X]??o?.[Q]??Q:be=Q,n.size>0){let qe=1,yt=s[M+1];yt&&yt.kind==="selector"&&yt.value.startsWith("[")&&(qe=2);let Ue=s[M+qe];if(Ue&&(Ue.kind==="particle"||Ue.kind==="keyword")&&n.has(Ue.value)){m=M,u=be,y=se||(qe===2?s[M+1].value:""),p=qe+1;break}}else{m=M,u=be,y=se,p=1;break}}}if(m===-1)return null;let d=new Set;for(let M=m;M<m+p;M++)d.add(M);if(c){let M=m+p;if(M<s.length){let V=s[M];(V.kind==="particle"||V.kind==="keyword")&&c.markers.has(V.value)&&d.add(M)}for(let V=0;V<m;V++){let X=s[V],Q=X.value.toLowerCase(),se=X.normalized?.toLowerCase();if(c.windowTokens.has(Q)||se&&c.windowTokens.has(se)){d.add(V);break}}}let f=s.filter((M,V)=>!d.has(V));if(f.length===0)return null;let k=r.filter(M=>M.command!=="on"),x=new w(f,e),I=this.parseBodyWithClauses(x,k,e);if(I.length===0)return null;let H={sourceLanguage:e,confidence:.75};return y&&(H.keyFilter=y),re({type:"literal",value:u},I,void 0,H)}isThenKeyword(t,e){let r={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B","\u305D\u3057\u3066"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB9AC\uACE0","\uADF8\uB7F0\uD6C4","\uADF8\uB7EC\uBA74"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u4E4B\u540E"]),tr:new Set(["sonra","ard\u0131ndan","daha sonra"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),tl:new Set(["pagkatapos","tapos"]),bn:new Set(["\u09A4\u09BE\u09B0\u09AA\u09B0","\u09AA\u09B0\u09C7"]),qu:new Set(["chaymantataq","hinaspa","chaymanta","chayqa"]),sw:new Set(["kisha","halafu","baadaye"])};return(r[e]||r.en).has(t.toLowerCase())}isEndKeyword(t,e){let r={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u7D42\u4E86","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0622\u062E\u0631"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uC885\uB8CC","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","beenden","fertig"]),id:new Set(["selesai","akhir","tamat"]),tl:new Set(["wakas","tapos"]),bn:new Set(["\u09B8\u09AE\u09BE\u09AA\u09CD\u09A4"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])};return(r[e]||r.en).has(t.toLowerCase())}extractStandaloneModifiers(t,e){let n=Te(t,e).tokens;if(n.length===0)return{modifiers:null,remainingInput:null};let s=n[0].value.toLowerCase(),o=O.STANDALONE_MODIFIERS[s];if(!o)return{modifiers:null,remainingInput:null};let l={},c=1;if(o==="once")l.once=!0;else{let p=1;if(p<n.length){let d=n[p];(d.kind==="keyword"||d.kind==="particle")&&(p++,c++)}if(p<n.length){let d=n[p];if(d.kind==="literal"){let f=d.value.match(/^(\d+)(ms|s|m)?$/);if(f){let k=parseInt(f[1],10),x=f[2]||"ms";x==="s"?k*=1e3:x==="m"&&(k*=6e4),l[o]=k,c=p+1}}}l[o]||(l[o]=o==="debounce"?300:100)}let m=n.slice(c);if(m.length===0)return{modifiers:null,remainingInput:null};let u=m[0].position.start,y=t.slice(u);return{modifiers:l,remainingInput:y}}applyModifiers(t,e){return{...t,eventModifiers:{...t.eventModifiers,...e}}}extractOrConjunctionEvents(t,e){let r=[];for(;;){let n=t.mark(),i=t.peek();if(!i)break;let s=(i.normalized||i.value).toLowerCase();if(!O.OR_KEYWORDS.has(s)){t.reset(n);break}t.advance();let o=t.peek();if(!o){t.reset(n);break}let l=(o.normalized||o.value).toLowerCase();t.advance(),r.push({type:"literal",value:l})}return r}};O.KNOWN_EVENTS=new Set(["click","dblclick","input","change","submit","keydown","keyup","keypress","mouseover","mouseout","mousedown","mouseup","focus","blur","load","scroll","resize","contextmenu"]),O.SOV_EVENT_MARKERS={ja:new Set(["\u3067"]),ko:new Set,tr:new Set(["de","da","te","ta"]),bn:new Set(["\u098F"]),qu:new Set(["pi"])},O.SOV_SOURCE_MARKERS={ja:{markers:new Set(["\u304B\u3089"]),windowTokens:new Set(["\u30A6\u30A3\u30F3\u30C9\u30A6","\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8","window","document"])},ko:{markers:new Set(["\uC5D0\uC11C"]),windowTokens:new Set(["\uCC3D","\uC708\uB3C4\uC6B0","\uBB38\uC11C","window","document"])},tr:{markers:new Set(["den","dan","ten","tan"]),windowTokens:new Set(["pencere","belge","window","document"])},bn:{markers:new Set(["\u09A5\u09C7\u0995\u09C7","\u09AE\u09A7\u09CD\u09AF\u09C7"]),windowTokens:new Set(["\u0989\u0987\u09A8\u09CD\u09A1\u09CB","\u09A1\u0995\u09C1\u09AE\u09C7\u09A8\u09CD\u099F","window","document"])},qu:{markers:new Set(["manta"]),windowTokens:new Set(["k_iri","ventana","window","document"])}},O.STANDALONE_MODIFIERS={once:"once",debounced:"debounce",debounce:"debounce",throttled:"throttle",throttle:"throttle"},O.OR_KEYWORDS=new Set(["or","\u0623\u0648","o","ou","oder","atau","atau","\u6216","\u307E\u305F\u306F","\uB610\uB294","veya","\u0985\u09A5\u09AC\u09BE","utaq","au","\u0430\u0431\u043E","\u0438\u043B\u0438","ho\u1EB7c","lub","\u05D0\u05D5","\u0E2B\u0E23\u0E37\u0E2D","o"]);var pt=O,Ft=new pt;function J(a,t){return Ft.parse(a,t)}function Dt(a,t){return Ft.canParse(a,t)}function Gt(a,t){if(xe(a))return a;let e=J(a,t);return Ve(e)}function Ht(a,t){let e=ae(a);return Oe(e,t)}function Xt(a,t){return xe(a)?ae(a):J(a,t)}var yo=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),ho=new Set(["and","or","not","no"]),vo=new Set(["true","false","null","undefined"]),ko=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function tr(a){let t=[],e=0,r=1,n=1;function i(){if(t.length===0)return!0;let d=t[t.length-1];return["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(d.type)}function s(d=0){return a[e+d]??""}function o(){let d=a[e];return e++,d===`
|
|
2
|
+
`?(r++,n=1):n++,d}function l(){for(;e<a.length&&/\s/.test(a[e]);)o()}function c(d){let f="";for(;e<a.length&&d(a[e]);)f+=o();return f}function m(d){let f=d;for(o();e<a.length&&a[e]!==d;)a[e]==="\\"&&e+1<a.length&&(f+=o()),f+=o();return e<a.length&&(f+=o()),f}function u(){let d="`";for(o();e<a.length&&a[e]!=="`";)a[e]==="\\"&&e+1<a.length&&(d+=o()),d+=o();return e<a.length&&(d+=o()),d}function y(){let d="<";for(o();e<a.length&&(d+=o(),!d.endsWith("/>")););return d}function p(d,f,k){return{type:d,value:f,start:k,end:e,line:r,column:n-f.length}}for(;e<a.length&&(l(),!(e>=a.length));){let d=e,f=s();if(f==="'"&&s(1)==="s"&&!/\w/.test(s(2))){o(),o(),t.push(p("POSSESSIVE","'s",d));continue}if(f==='"'||f==="'"){let k=m(f);t.push(p("STRING",k,d));continue}if(f==="`"){let k=u();t.push(p("TEMPLATE_LITERAL",k,d));continue}if(f==="<"&&/[a-zA-Z.#\[]/.test(s(1))){let k=y();t.push(p("QUERY_SELECTOR",k,d));continue}if(f==="#"&&i()){o();let k=c(x=>/[\w-]/.test(x));t.push(p("ID_SELECTOR","#"+k,d));continue}if(f==="."&&/[a-zA-Z_-]/.test(s(1))&&i()){o();let k=c(x=>/[\w-]/.test(x));t.push(p("CLASS_SELECTOR","."+k,d));continue}if(f==="["&&i()){let k=s(1);if(k==="@"||/[a-zA-Z]/.test(k)){let x="";for(x+=o();e<a.length&&a[e]!=="]";)a[e]==='"'||a[e]==="'"?x+=m(a[e]):x+=o();e<a.length&&(x+=o()),t.push(p("ATTRIBUTE_SELECTOR",x,d));continue}}if(f==="["){o(),t.push(p("LBRACKET","[",d));continue}if(f==="]"){o(),t.push(p("RBRACKET","]",d));continue}if(/\d/.test(f)){let k=c(H=>/[\d.]/.test(H)),x=e,I=c(H=>/[a-zA-Z]/.test(H));ko.has(I)?t.push(p("TIME_EXPRESSION",k+I,d)):(e=x,t.push(p("NUMBER",k,d)));continue}if(f==="("){o(),t.push(p("LPAREN","(",d));continue}if(f===")"){o(),t.push(p("RPAREN",")",d));continue}if(f==="{"){o(),t.push(p("LBRACE","{",d));continue}if(f==="}"){o(),t.push(p("RBRACE","}",d));continue}if(f===","){o(),t.push(p("COMMA",",",d));continue}if(f===":"){o(),t.push(p("COLON",":",d));continue}if(f==="."){o(),t.push(p("DOT",".",d));continue}if(f==="+"||f==="-"||f==="*"||f==="/"||f==="%"){o(),t.push(p("OPERATOR",f,d));continue}if(f==="="||f==="!"||f==="<"||f===">"){let k=o();s()==="="&&(k+=o()),t.push(p("COMPARISON",k,d));continue}if(/[a-zA-Z_$]/.test(f)){let k=c(I=>/[\w$]/.test(I)),x=k.toLowerCase();yo.has(x)?t.push(p("CONTEXT_VAR",k,d)):ho.has(x)?t.push(p("LOGICAL",k,d)):vo.has(x)?t.push(p("BOOLEAN",k,d)):t.push(p("IDENTIFIER",k,d));continue}o()}return t.push(p("EOF","",e)),t}var ut=class{constructor(){this.tokens=[];this.current=0}parse(t){try{return this.tokens=tr(t),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(t){return this.peek().type===t}checkValue(t){return this.peek().value.toLowerCase()===t.toLowerCase()}match(...t){for(let e of t)if(this.check(e))return this.advance(),!0;return!1}parseExpression(){return this.parseOr()}parseOr(){let t=this.parseAnd();for(;this.checkValue("or");){let e=this.advance().value,r=this.parseAnd();t=this.createBinaryExpression(e,t,r)}return t}parseAnd(){let t=this.parseEquality();for(;this.checkValue("and");){let e=this.advance().value,r=this.parseEquality();t=this.createBinaryExpression(e,t,r)}return t}parseEquality(){let t=this.parseComparison();for(;this.match("COMPARISON")||this.checkValue("is")||this.checkValue("matches")||this.checkValue("contains")||this.checkValue("in");){let e=this.previous().value,r=this.parseComparison();t=this.createBinaryExpression(e,t,r)}return t}parseComparison(){let t=this.parseAddition();for(;this.check("COMPARISON");){let e=this.advance().value,r=this.parseAddition();t=this.createBinaryExpression(e,t,r)}return t}parseAddition(){let t=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let e=this.advance().value,r=this.parseMultiplication();t=this.createBinaryExpression(e,t,r)}return t}parseMultiplication(){let t=this.parseUnary();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%";){let e=this.advance().value,r=this.parseUnary();t=this.createBinaryExpression(e,t,r)}return t}parseUnary(){if(this.checkValue("not")||this.checkValue("no")||this.peek().value==="-"){let t=this.advance().value,e=this.parseUnary();return this.createUnaryExpression(t,e)}return this.parsePostfix()}parsePostfix(){let t=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let e=this.advance().value;t=this.createPropertyAccess(t,e)}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let e=this.advance().value;t=this.createPossessiveExpression(t,e)}else break;else if(this.match("LPAREN")){let e=this.parseArguments();t=this.createCallExpression(t,e)}else if(this.match("LBRACKET")){let e=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");t=this.createPropertyAccess(t,e)}else break;return t}parsePrimary(){let t=this.peek();if(this.match("NUMBER"))return this.createLiteral(parseFloat(t.value),"number",t);if(this.match("STRING")){let e=t.value.slice(1,-1);return this.createLiteral(e,"string",t)}if(this.match("BOOLEAN")){let e=t.value==="true"?!0:t.value==="false"?!1:t.value==="null"?null:void 0,r={true:"boolean",false:"boolean",null:"null",undefined:"undefined"};return this.createLiteral(e,r[t.value]??"string",t)}if(this.match("TEMPLATE_LITERAL"))return{type:"templateLiteral",value:t.value,start:t.start,end:t.end,line:t.line,column:t.column};if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(t);if(this.match("ID_SELECTOR"))return this.createSelector(t.value,"id",t);if(this.match("CLASS_SELECTOR"))return this.createSelector(t.value,"class",t);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(t.value,"attribute",t);if(this.match("QUERY_SELECTOR")){let e=t.value.slice(1,-2);return this.createSelector(e,"query",t)}if(this.match("CONTEXT_VAR"))return this.createContextReference(t.value,t);if(this.match("IDENTIFIER"))return this.createIdentifier(t.value,t);if(this.match("LPAREN")){let e=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return e}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${t.value}`)}parseArguments(){let t=[];if(!this.check("RPAREN"))do t.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return t}parseArrayLiteral(){let t=[],e=this.previous().start;if(!this.check("RBRACKET"))do t.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return{type:"arrayLiteral",elements:t,start:e,end:this.previous().end}}parseObjectLiteral(){let t=[],e=this.previous().start;if(!this.check("RBRACE"))do{let r;if(this.check("STRING"))r=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER"))r=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let n=this.parseExpression();t.push({key:r,value:n})}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return{type:"objectLiteral",properties:t.map(r=>({type:"objectProperty",key:r.key,value:r.value})),start:e,end:this.previous().end}}parseTimeExpression(t){let e=t.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!e)throw new Error(`Invalid time expression: ${t.value}`);let r=parseFloat(e[1]),n=e[2].toLowerCase();return{type:"timeExpression",value:r,unit:n,raw:t.value,start:t.start,end:t.end,line:t.line,column:t.column}}createLiteral(t,e,r){return{type:"literal",value:t,dataType:e,raw:r.value,start:r.start,end:r.end,line:r.line,column:r.column}}createSelector(t,e,r){return{type:"selector",value:t,selector:t,selectorType:e,start:r.start,end:r.end,line:r.line,column:r.column}}createContextReference(t,e){return{type:"contextReference",contextType:t,name:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createIdentifier(t,e){return{type:"identifier",name:t,start:e.start,end:e.end,line:e.line,column:e.column}}createPropertyAccess(t,e){return{type:"propertyAccess",object:t,property:typeof e=="string"?e:e.type==="identifier"?e.name:"",start:t.start,end:this.previous().end}}createPossessiveExpression(t,e){return{type:"possessiveExpression",object:t,property:e,start:t.start,end:this.previous().end}}createBinaryExpression(t,e,r){return{type:"binaryExpression",operator:t,left:e,right:r,start:e.start,end:r.end}}createUnaryExpression(t,e){return{type:"unaryExpression",operator:t,operand:e,prefix:!0,start:this.previous().start,end:e.end}}createCallExpression(t,e){return{type:"callExpression",callee:t,arguments:e,start:t.start,end:this.previous().end}}};function Qt(a){return new ut().parse(a)}function q(a,t){switch(a.type){case"literal":return zo(a);case"selector":return To(a,t);case"reference":return So(a);case"property-path":return xo(a,t);case"expression":return bo(a);default:let e=a;throw new Error(`Unknown semantic value type: ${e.type}`)}}function zo(a){let t={type:"literal",value:a.value};return a.dataType?{...t,dataType:a.dataType}:t}function To(a,t){return t&&a.value.startsWith("*")&&/^[a-zA-Z-]/.test(a.value.slice(1))&&t.push(`Converted '${a.value}' to a CSS selector, but it looks like a CSS property name. CSS properties in commands like 'transition' should be literal strings, not selectors. Consider using expectedTypes: ['literal'] instead of ['literal', 'selector'] in the command schema.`),{type:"selector",value:a.value,selector:a.value,selectorType:a.selectorKind}}function So(a){return{type:"contextReference",contextType:a.value,name:a.value}}function xo(a,t){return{type:"propertyAccess",object:q(a.object,t),property:a.property}}function bo(a){let t=Qt(a.raw);return!t.success||!t.node?{type:"identifier",name:a.raw}:t.node}function nr(a,t){return a.roles.get(t)}function g(a,t,e){let r=nr(a,t);return r?q(r,e):void 0}function z(a,t=[],e,r={}){let n={type:"command",name:a,args:t};return e&&Object.keys(e).length>0&&(n.modifiers=e),r.isBlocking&&(n.isBlocking=r.isBlocking),r.implicitTarget&&(n.implicitTarget=r.implicitTarget),r.semanticRoles&&Object.keys(r.semanticRoles).length>0&&(n.semanticRoles=r.semanticRoles),n}var wo={action:"toggle",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=g(a,"duration"),i=e?[e]:[],s={};return r&&(s.on=r),n&&(s.for=n),z("toggle",i,s)}},Lo={action:"add",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=e?[e]:[],i={};return r&&(i.to=r),z("add",n,i)}},Po={action:"remove",toAST(a,t){let e=g(a,"patient"),r=g(a,"source"),n=e?[e]:[],i={};return r&&(i.from=r),z("remove",n,i)}},Eo={action:"set",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=[],i={};return e&&n.push(e),r&&(i.to=r),z("set",n,i)}},Ro={action:"show",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=g(a,"duration"),i=[],s={},o=e??r;return o&&i.push(o),n&&(s.with=n),z("show",i,s)}},Co={action:"hide",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=g(a,"duration"),i=[],s={},o=e??r;return o&&i.push(o),n&&(s.with=n),z("hide",i,s)}},No={action:"increment",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=g(a,"quantity"),i=[],s={},o=e??r;return o&&i.push(o),n&&(s.by=n),z("increment",i,s)}},jo={action:"decrement",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=g(a,"quantity"),i=[],s={},o=e??r;return o&&i.push(o),n&&(s.by=n),z("decrement",i,s)}},Mo={action:"wait",toAST(a,t){let e=g(a,"duration");return z("wait",e?[e]:[],void 0,{isBlocking:!0})}},Ao={action:"log",toAST(a,t){let e=g(a,"patient"),r=[];return e&&r.push(e),z("log",r)}},Io={action:"put",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=nr(a,"method"),i=e?[e]:[],s={};if(r){let o=n?.type==="literal"?String(n.value):"into";s[o]=r}return z("put",i,s)}},Oo={action:"fetch",toAST(a,t){let e=g(a,"source"),r=g(a,"method"),n=g(a,"responseType"),i=g(a,"patient"),s=e?[e]:[],o={};return r&&(o.with=r),n&&(o.as=n),i&&(o.body=i),z("fetch",s,o,{isBlocking:!0})}},Vo={action:"append",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=e?[e]:[],i={};return r&&(i.to=r),z("append",n,i)}},Wo={action:"prepend",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=e?[e]:[],i={};return r&&(i.to=r),z("prepend",n,i)}},_o={action:"trigger",toAST(a,t){let e=g(a,"event"),r=g(a,"destination"),n=e?[e]:[],i={};return r&&(i.on=r),z("trigger",n,i)}},Ko={action:"send",toAST(a,t){let e=g(a,"event"),r=g(a,"destination"),n=g(a,"patient"),i=e?[e]:[],s={};return r&&(s.to=r),n&&(s.detail=n),z("send",i,s)}},qo={action:"go",toAST(a,t){let e=g(a,"source"),r=g(a,"destination"),n=[],i={};return e&&n.push(e),r&&(i.to=r),z("go",n,i)}},Uo={action:"transition",toAST(a,t){let e=g(a,"patient"),r=g(a,"goal"),n=g(a,"duration"),i=g(a,"destination"),s=e?[e]:[],o={};return r&&(o.to=r),n&&(o.over=n),i&&(o.on=i),z("transition",s,o)}},$o={action:"focus",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=[],i={},s=e??r;return s&&n.push(s),z("focus",n,i)}},Bo={action:"blur",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=[],i=e??r;return i&&n.push(i),z("blur",n)}},Fo={action:"get",toAST(a,t){let e=g(a,"source"),r=g(a,"patient"),n=[],i=e??r;return i&&n.push(i),z("get",n)}},Do={action:"take",toAST(a,t){let e=g(a,"patient"),r=g(a,"source"),n=e?[e]:[],i={};return r&&(i.from=r),z("take",n,i)}},Go={action:"call",toAST(a,t){let e=g(a,"patient");return z("call",e?[e]:[])}},Ho={action:"return",toAST(a,t){let e=g(a,"patient");return z("return",e?[e]:[])}},Xo={action:"halt",toAST(a,t){return z("halt",[])}},Qo={action:"throw",toAST(a,t){let e=g(a,"patient");return z("throw",e?[e]:[])}},Zo={action:"settle",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=[],i=e??r;return i&&n.push(i),z("settle",n,void 0,{isBlocking:!0})}},Yo={action:"swap",toAST(a,t){let e=g(a,"patient"),r=g(a,"source"),n=g(a,"destination"),i=g(a,"style"),s=[],o={};return e&&s.push(e),r&&s.push(r),n&&(o.on=n),i&&(o.with=i),z("swap",s,o)}},Jo={action:"morph",toAST(a,t){let e=g(a,"source"),r=g(a,"destination"),n=g(a,"patient"),i=[],s={},o=e??n;return o&&i.push(o),r&&(s.on=r),z("morph",i,s)}},es={action:"clone",toAST(a,t){let e=g(a,"source"),r=g(a,"destination"),n=g(a,"patient"),i=[],s={},o=e??n;return o&&i.push(o),r&&(s.into=r),z("clone",i,s)}},ts={action:"make",toAST(a,t){let e=g(a,"patient");return z("make",e?[e]:[])}},ns={action:"measure",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=g(a,"source"),i=[],s={};e&&i.push(e);let o=r??n;return o&&(s.of=o),z("measure",i,s)}},rs={action:"tell",toAST(a,t){let e=g(a,"destination"),r=g(a,"patient"),n=[],i=e??r;return i&&n.push(i),z("tell",n)}},is={action:"js",toAST(a,t){let e=g(a,"patient");return z("js",e?[e]:[])}},as={action:"async",toAST(a,t){return z("async",[])}},os={action:"if",toAST(a,t){let e=g(a,"condition");return z("if",e?[e]:[])}},ss={action:"unless",toAST(a,t){let e=g(a,"condition");return z("unless",e?[e]:[])}},ls={action:"repeat",toAST(a,t){let e=g(a,"quantity"),r=g(a,"patient"),n=[],i=e??r;return i&&n.push(i),z("repeat",n)}},cs={action:"for",toAST(a,t){let e=g(a,"patient"),r=g(a,"source"),n=e?[e]:[],i={};return r&&(i.in=r),z("for",n,i)}},ms={action:"while",toAST(a,t){let e=g(a,"condition");return z("while",e?[e]:[])}},ds={action:"continue",toAST(a,t){return z("continue",[])}},ps={action:"default",toAST(a,t){let e=g(a,"patient"),r=g(a,"source"),n=e?[e]:[],i={};return r&&(i.to=r),z("default",n,i)}},us={action:"init",toAST(a,t){return z("init",[])}},fs={action:"behavior",toAST(a,t){let e=g(a,"patient");return z("behavior",e?[e]:[])}},gs={action:"install",toAST(a,t){let e=g(a,"patient"),r=g(a,"destination"),n=e?[e]:[],i={};return r&&(i.on=r),z("install",n,i)}},ys={action:"on",toAST(a,t){let e=g(a,"event"),r=g(a,"source"),n=e?[e]:[],i={};return r&&(i.from=r),z("on",n,i)}},rr=new Map([["toggle",wo],["add",Lo],["remove",Po],["set",Eo],["show",Ro],["hide",Co],["increment",No],["decrement",jo],["wait",Mo],["log",Ao],["put",Io],["fetch",Oo],["append",Vo],["prepend",Wo],["get",Fo],["take",Do],["trigger",_o],["send",Ko],["on",ys],["go",qo],["transition",Uo],["focus",$o],["blur",Bo],["call",Go],["return",Ho],["halt",Xo],["throw",Qo],["settle",Zo],["swap",Yo],["morph",Jo],["clone",es],["measure",ns],["make",ts],["tell",rs],["default",ps],["js",is],["async",as],["if",os],["unless",ss],["repeat",ls],["for",cs],["while",ms],["continue",ds],["init",us],["behavior",fs],["install",gs]]);function We(a){return rr.get(a)}function Zt(a){rr.set(a.action,a)}var _e=class{constructor(t={}){this.warnings=[]}build(t){switch(t.kind){case"command":return this.buildCommand(t);case"event-handler":return this.buildEventHandler(t);case"conditional":return this.buildConditional(t);case"compound":return this.buildCompound(t);case"loop":return this.buildLoop(t);default:throw new Error(`Unknown semantic node kind: ${t.kind}`)}}buildCommand(t){let e=We(t.action),r;if(e){let n=e.toAST(t,this);if("ast"in n&&"warnings"in n){let i=n;this.warnings.push(...i.warnings),r=i.ast}else r=n}else r=this.buildGenericCommand(t);if(t.roles&&t.roles.size>0){let n={};for(let[i,s]of t.roles)n[i]=q(s);Object.keys(n).length>0&&(r.semanticRoles=n)}return r}buildGenericCommand(t){let e=[],r={},n=["patient","source","quantity"],i=["destination","duration","method","style"];for(let o of n){let l=t.roles.get(o);l&&e.push(q(l))}for(let o of i){let l=t.roles.get(o);if(l){let c=this.roleToModifierKey(o);r[c]=q(l)}}let s={type:"command",name:t.action,args:e};return Object.keys(r).length>0?{...s,modifiers:r}:s}roleToModifierKey(t){return{destination:"on",duration:"for",source:"from",condition:"if",method:"via",style:"with"}[t]??t}buildEventHandler(t){let e=t.roles.get("event"),r,n;if(e?.type==="literal"){let k=String(e.value);k.includes("|")||k.includes(" or ")?(n=k.split(/\s+or\s+|\|/).map(x=>x.trim()),r=n[0]):r=k}else e?.type==="reference"?r=e.value:r="click";let i=t.body.map(k=>this.build(k)),s=t.roles.get("source"),o,l;s?.type==="selector"?(o=s.value,l=s.value):s?.type==="reference"?l=s.value:s?.type==="literal"&&(l=String(s.value));let c=t.roles.get("condition"),m=c?q(c):void 0,u=t.roles.get("destination"),y=u?q(u):void 0,p=t.eventModifiers,d=o;if(p?.from){let k=p.from;k.type==="selector"&&!o&&(d=k.value)}let f=t.parameterNames?[...t.parameterNames]:void 0;return{type:"eventHandler",event:r,commands:i,...n&&n.length>1?{events:n}:{},...d?{selector:d}:{},...l?{target:l}:{},...m?{condition:m}:{},...y?{watchTarget:y}:{},...f&&f.length>0?{args:f,params:f}:{}}}buildConditional(t){let e=t.roles.get("condition");if(!e)throw new Error("Conditional node missing condition");let r=q(e),n=t.thenBranch.map(o=>this.build(o)),i=t.elseBranch?.map(o=>this.build(o)),s=[r,{type:"block",commands:n}];return i&&i.length>0&&s.push({type:"block",commands:i}),{type:"command",name:"if",args:s}}buildCompound(t){let e=t.statements.map(n=>this.build(n));return e.length===1?e[0]:e.length===0?{type:"block",commands:[]}:{type:"CommandSequence",commands:e}}buildLoop(t){let e=t.body.map(n=>this.build(n)),r=[{type:"identifier",name:t.loopVariant}];switch(t.loopVariant){case"times":{let n=t.roles.get("quantity");n&&r.push(q(n));break}case"for":{t.loopVariable&&r.push({type:"string",value:t.loopVariable});let n=t.roles.get("source");n&&r.push(q(n));break}case"while":case"until":{let n=t.roles.get("condition");n&&r.push(q(n));break}case"forever":break}return r.push({type:"block",commands:e}),{type:"command",name:"repeat",args:r}}buildBlock(t){return{type:"block",commands:t.map(r=>this.build(r))}}};function ir(a){let t=new _e;return{ast:t.build(a),warnings:t.warnings}}var oe=class{constructor(t={}){this.cache=new Map,this.config={maxSize:t.maxSize??1e3,ttlMs:t.ttlMs??0,enabled:t.enabled??!0},this.stats={hits:0,misses:0,evictions:0,expirations:0}}makeKey(t,e){return`${e}:${t}`}isExpired(t){return this.config.ttlMs===0?!1:Date.now()-t.createdAt>this.config.ttlMs}evictLRU(){let t=this.cache.keys().next().value;t!==void 0&&(this.cache.delete(t),this.stats.evictions++)}get(t,e){if(!this.config.enabled){this.stats.misses++;return}let r=this.makeKey(t,e),n=this.cache.get(r);if(!n){this.stats.misses++;return}if(this.isExpired(n)){this.cache.delete(r),this.stats.expirations++,this.stats.misses++;return}return this.cache.delete(r),n.lastAccessed=Date.now(),this.cache.set(r,n),this.stats.hits++,n.result}set(t,e,r){if(!this.config.enabled||r.confidence===0)return;let n=this.makeKey(t,e),i=Date.now();for(;this.cache.size>=this.config.maxSize;)this.evictLRU();this.cache.set(n,{result:r,createdAt:i,lastAccessed:i})}has(t,e){if(!this.config.enabled)return!1;let r=this.makeKey(t,e),n=this.cache.get(r);return n?this.isExpired(n)?(this.cache.delete(r),this.stats.expirations++,!1):!0:!1}delete(t,e){let r=this.makeKey(t,e);return this.cache.delete(r)}clear(){this.cache.clear()}resetStats(){this.stats={hits:0,misses:0,evictions:0,expirations:0}}getStats(){let t=this.stats.hits+this.stats.misses;return{hits:this.stats.hits,misses:this.stats.misses,size:this.cache.size,maxSize:this.config.maxSize,hitRate:t>0?this.stats.hits/t:0,evictions:this.stats.evictions,expirations:this.stats.expirations,enabled:this.config.enabled}}configure(t){if(t.maxSize!==void 0)for(this.config.maxSize=t.maxSize;this.cache.size>this.config.maxSize;)this.evictLRU();t.ttlMs!==void 0&&(this.config.ttlMs=t.ttlMs),t.enabled!==void 0&&(this.config.enabled=t.enabled)}enable(){this.config.enabled=!0}disable(){this.config.enabled=!1}getConfig(){return{...this.config}}},Yt=new oe;var Ke=class{constructor(t={}){this.patternMatcher=new Ie,this.languages=new Set($e()),t.cache===!1?this.cache=new oe({enabled:!1}):this.cache=t.cache?new oe(t.cache):Yt}analyze(t,e){if(!this.supportsLanguage(e))return{confidence:0,errors:[`Language '${e}' is not supported for semantic parsing`]};let r=this.cache.get(t,e);if(r)return r;let n=this.analyzeUncached(t,e);return this.cache.set(t,e,n),n}analyzeUncached(t,e){try{try{let o=J(t,e),l={confidence:o.metadata?.confidence??.8,node:o};return o.kind==="command"?{...l,command:{name:o.action,roles:o.roles}}:l}catch{}let r=Yn(e);if(!r)return{confidence:0,errors:[`No tokenizer available for language '${e}'`]};let n=r.tokenize(t),i=B(e);if(i.length===0)return{confidence:0,errors:[`No patterns available for language '${e}'`]};let s=this.patternMatcher.matchBest(n,i);if(s){let o=this.buildSemanticNode(s);return{confidence:s.confidence,command:{name:s.pattern.command,roles:s.captured},node:o,tokensConsumed:s.consumedTokens}}return{confidence:0,errors:["No pattern matched the input"]}}catch(r){return{confidence:0,errors:[r instanceof Error?r.message:String(r)]}}}supportsLanguage(t){return this.languages.has(t)}supportedLanguages(){return Array.from(this.languages)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}configureCache(t){this.cache.configure(t)}buildSemanticNode(t){return{kind:"command",action:t.pattern.command,roles:t.captured,metadata:{patternId:t.pattern.id}}}};function ar(a){return new Ke(a)}var Jt=.5,or=.8;function sr(a,t=Jt){return a.confidence>=t&&a.command!==void 0}var hs="1.0.0-priority",en=["en","es","pt","fr","de","ja","zh","ko","ar","tr","id"];function vs(){return[...en]}function lr(a){if(!en.includes(a))throw new Error(`Language not supported in this bundle: ${a}. Supported: ${en.join(", ")}`)}function ks(a,t){return lr(t),[...Te(a,t).tokens]}function cr(a){return lr(a),B(a)}function zs(a,t){return cr(a).filter(e=>e.command===t).sort((e,r)=>r.priority-e.priority)}return yr(Ts);})();
|