From 806b4d817dd5e1d155f622973f3421c52ef1e21f Mon Sep 17 00:00:00 2001 From: Felix Date: Sat, 15 Aug 2026 18:10:41 +0800 Subject: [PATCH 1/6] Add one-time ASCII script trim updater --- .github/scripts/one-time-ascii-script-trim.py | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/scripts/one-time-ascii-script-trim.py diff --git a/.github/scripts/one-time-ascii-script-trim.py b/.github/scripts/one-time-ascii-script-trim.py new file mode 100644 index 0000000..10529f7 --- /dev/null +++ b/.github/scripts/one-time-ascii-script-trim.py @@ -0,0 +1,63 @@ +from pathlib import Path + + +def replace_once(path: str, old: str, new: str) -> None: + target = Path(path) + text = target.read_text() + count = text.count(old) + if count != 1: + raise RuntimeError(f"{path}: expected one replacement, found {count}") + target.write_text(text.replace(old, new, 1)) + + +replace_once( + "src/checks.ts", + ' const normalized = command.trim().replaceAll(/[ \\t]+/g, " ");\n', + ' const normalized = command.replace(/^[ \\t]+|[ \\t]+$/g, "").replaceAll(/[ \\t]+/g, " ");\n', +) + +replace_once( + "src/js-runners.ts", + ' const tokens = command.trim().replaceAll(/[ \\t]+/g, " ").split(" ").filter(Boolean);\n', + ' const tokens = command.replace(/^[ \\t]+|[ \\t]+$/g, "").replaceAll(/[ \\t]+/g, " ").split(" ").filter(Boolean);\n', +) + +replace_once( + "tests/js-runners.test.ts", + ' "package.json": JSON.stringify({ scripts: { test: "NODE_ENV=test CI=1 jest --ci" } }),\n', + ' "package.json": JSON.stringify({ scripts: { test: " \\tNODE_ENV=test CI=1 jest --ci\\t " } }),\n', +) + +replace_once( + "tests/js-runners.test.ts", + ' { label: "non-ASCII whitespace", script: "jest\\u00a0--ci" },\n', + ' { label: "non-ASCII whitespace", script: "jest\\u00a0--ci" },\n { label: "leading non-ASCII whitespace", script: "\\u00a0jest --ci" },\n { label: "trailing non-ASCII whitespace", script: "jest --ci\\u00a0" },\n', +) + +marker = 'test("Node targeted discovery rejects command-chain prefixes", async (context) => {\n' +node_test = '''test("Node targeted discovery trims only ASCII space and tab around scripts", async (context) => { + const root = await initializeRepository({ + "package.json": JSON.stringify({ scripts: { + test: " \\tnode --test\\t ", + "test:unit": "\\u00a0node --test", + "test:ci": "node --test\\u00a0", + } }), + "test/value.test.js": "import test from 'node:test'; test('value', () => {});\\n", + }); + context.after(() => rm(root, { recursive: true, force: true })); + + const { checks } = await discoverChecks(root); + assert.equal(checks.find((check) => check.id === "js:test:test")?.targetRunner, "node-test"); + assert.equal(checks.find((check) => check.id === "js:test:test:unit")?.targetRunner, undefined); + assert.equal(checks.find((check) => check.id === "js:test:test:ci")?.targetRunner, undefined); + assert.deepEqual((await targetedTestChecks(root, checks, ["test/value.test.js"])).checks.map((check) => check.id), ["js:test:test:targeted"]); +}); + +''' +replace_once("tests/checks.test.ts", marker, node_test + marker) + +replace_once( + "CHANGELOG.md", + "### Fixed\n\n", + "### Fixed\n\n- Restricted recognized Node/Jest/Vitest package-script trimming to ASCII spaces and tabs. JavaScript `String.trim()` also removes non-ASCII whitespace such as NBSP, which shells do not treat as ordinary script separators; leading or trailing Unicode whitespace can therefore no longer be erased into a different executable command and accidentally qualify for exact targeted evidence.\n", +) From 47b679c8700c9088171bc09b2879246b862a5f82 Mon Sep 17 00:00:00 2001 From: Felix Date: Sat, 15 Aug 2026 18:10:51 +0800 Subject: [PATCH 2/6] Add one-time ASCII script trim workflow --- .../workflows/one-time-ascii-script-trim.yml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/one-time-ascii-script-trim.yml diff --git a/.github/workflows/one-time-ascii-script-trim.yml b/.github/workflows/one-time-ascii-script-trim.yml new file mode 100644 index 0000000..73dafdc --- /dev/null +++ b/.github/workflows/one-time-ascii-script-trim.yml @@ -0,0 +1,32 @@ +name: One-time ASCII script trim updater + +on: + push: + branches: [fix/ascii-only-script-trim] + +permissions: + contents: write + +jobs: + update: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7 + with: + node-version: 24 + cache: npm + - run: npm ci + - run: python3 .github/scripts/one-time-ascii-script-trim.py + - run: npm test + - run: npm run clean && npm run build + - name: Commit source, tests, changelog, and generated dist + shell: bash + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + git add CHANGELOG.md src/checks.ts src/js-runners.ts tests/checks.test.ts tests/js-runners.test.ts dist + git diff --cached --check + git commit -m "Restrict script trimming to ASCII whitespace" + git push From e86dec73895232ae48bf56b472042c2f0873ecec Mon Sep 17 00:00:00 2001 From: Felix Date: Sat, 15 Aug 2026 18:11:32 +0800 Subject: [PATCH 3/6] Fix one-time changelog patch target --- .github/scripts/one-time-ascii-script-trim.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/scripts/one-time-ascii-script-trim.py b/.github/scripts/one-time-ascii-script-trim.py index 10529f7..cb30871 100644 --- a/.github/scripts/one-time-ascii-script-trim.py +++ b/.github/scripts/one-time-ascii-script-trim.py @@ -58,6 +58,6 @@ def replace_once(path: str, old: str, new: str) -> None: replace_once( "CHANGELOG.md", - "### Fixed\n\n", - "### Fixed\n\n- Restricted recognized Node/Jest/Vitest package-script trimming to ASCII spaces and tabs. JavaScript `String.trim()` also removes non-ASCII whitespace such as NBSP, which shells do not treat as ordinary script separators; leading or trailing Unicode whitespace can therefore no longer be erased into a different executable command and accidentally qualify for exact targeted evidence.\n", + "## [Unreleased]\n\n### Fixed\n\n", + "## [Unreleased]\n\n### Fixed\n\n- Restricted recognized Node/Jest/Vitest package-script trimming to ASCII spaces and tabs. JavaScript `String.trim()` also removes non-ASCII whitespace such as NBSP, which shells do not treat as ordinary script separators; leading or trailing Unicode whitespace can therefore no longer be erased into a different executable command and accidentally qualify for exact targeted evidence.\n", ) From f3e7a0a77f8e8fbff393ce584b43463ea8be715e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 15 Aug 2026 10:12:08 +0000 Subject: [PATCH 4/6] Restrict script trimming to ASCII whitespace --- CHANGELOG.md | 1 + dist/checks.js | 2 +- dist/checks.js.map | 2 +- dist/js-runners.js | 2 +- dist/js-runners.js.map | 2 +- src/checks.ts | 2 +- src/js-runners.ts | 2 +- tests/checks.test.ts | 18 ++++++++++++++++++ tests/js-runners.test.ts | 4 +++- 9 files changed, 28 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e28ae53..c47d3e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes are documented here. This project follows Semantic Versionin ### Fixed +- Restricted recognized Node/Jest/Vitest package-script trimming to ASCII spaces and tabs. JavaScript `String.trim()` also removes non-ASCII whitespace such as NBSP, which shells do not treat as ordinary script separators; leading or trailing Unicode whitespace can therefore no longer be erased into a different executable command and accidentally qualify for exact targeted evidence. - Stopped `.pyi` stub files with test-like names from inventing executable pytest or `unittest` checks. Stubs remain available to static Python analysis and relationship discovery, but framework discovery now requires an executable `.py` test file; this prevents `--run-checks` from launching a Python test runner merely because a repository contains test-shaped type stubs. - Updated current stable Action guidance and the published-Action CI smoke from v0.5.2 to the already-released v0.5.3 snapshot, including the immutable full-SHA pin, so documentation and release verification no longer lag the latest public release. diff --git a/dist/checks.js b/dist/checks.js index 0a1e784..36f23d8 100644 --- a/dist/checks.js +++ b/dist/checks.js @@ -242,7 +242,7 @@ function targetingForScript(kind, command) { return null; if (/[\r\n]/.test(command)) return null; - const normalized = command.trim().replaceAll(/[ \t]+/g, " "); + const normalized = command.replace(/^[ \t]+|[ \t]+$/g, "").replaceAll(/[ \t]+/g, " "); const invocation = normalized.match(/^(?:node|node\.exe) --test(?: (.+))?$/); if (!invocation) return null; diff --git a/dist/checks.js.map b/dist/checks.js.map index 686c65b..6981809 100644 --- a/dist/checks.js.map +++ b/dist/checks.js.map @@ -1 +1 @@ -{"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAc/G,SAAS,gBAAgB,CAAC,OAAiB;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,2LAA2L,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,ynCAAynC,CAAC;IACr2C,OAAO,wBAAwB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CjC,CAAC;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CnC,CAAC;AAEF,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC;IACtE,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1C,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM;QACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAmB,EAAE,IAAa;IAC5D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChG,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACjD,MAAM,UAAU,GAAmF;QACjG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QACzE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QAC1E,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;QACzE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;QAC1E,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;QAC5D,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE;QACxE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;QACjD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;KACzD,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa;YAAE,SAAS;QACxD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;IAC/J,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,OAAe;IACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9F,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3G,OAAO,IAAI,MAAM,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1L,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAK,GAAG,KAAK;IAC1D,MAAM,KAAK,GAAmE;QAC5E,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QAClC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;QAC1D,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;KACzD,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAA4B,IAAI,CAAC;IAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YAAC,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAC/F,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,SAAS,IAAI,KAAK;gBAAE,MAAM;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtJ,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/J,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,IAAI,yEAAyE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtJ,IAAI,SAAS,KAAK,QAAQ;oBAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC/E,QAAQ,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAqB;IACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9G,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9G,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC5G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,IAAc,EAAE,WAA4B,OAAO,CAAC,QAAQ;IACpH,IAAI,QAAQ,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,kDAAkD,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IACvF,IAAI,8CAA8C,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC;IACxF,IAAI,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B,EAAE,OAAe;IACxE,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACvD,IAAI,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,oDAAoD,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChJ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;;YAC1C,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,cAAc,GAAG,EAAE,YAAY,EAAE,WAAoB,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACpI,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACxD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,8BAA8B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1K,OAAO,EAAE,GAAG,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;IACrJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;YAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE;oBACxB,KAAK,EAAE,GAAG,IAAI,KAAK,IAAI,EAAE;oBACzB,IAAI;oBACJ,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAC1D,sBAAsB,EAAE,IAAI;oBAC5B,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;iBACzC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;QAC1K,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvJ,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,yCAAyC,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IACjS,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,MAAM,mBAAmB,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,mBAAmB,KAAK,IAAI,CAAC;IACpD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,IAAI,cAAc,IAAI,WAAW,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,mBAAmB,EAAE,QAAQ,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,yBAAyB,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9T,CAAC;SAAM,IAAI,WAAW,EAAE,SAAS,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,6BAA6B,WAAW,CAAC,SAAS,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IACjU,CAAC;IACD,IAAI,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IACnN,CAAC;IACD,IAAI,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7M,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC,CAAC;IACnH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,OAAe;IACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC;SACjD,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;SAC1B,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC;SAC1B,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO,IAAI,MAAM,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA2B,EAAE,SAAiB;IACvE,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC/E,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;QAC1B,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,iEAAiE,EAAE,UAAU,EAAE,uFAAuF,EAAE,CAAC;QACzR,CAAC;QACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,cAAc,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9H,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,8DAA8D,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,+GAA+G,EAAE,CAAC;IACnU,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,+CAA+C,OAAO,GAAG,EAAE,UAAU,EAAE,+FAA+F,EAAE,CAAC;QAC1R,CAAC;QACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7H,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,wBAAwB,UAAU,sDAAsD,OAAO,GAAG,EAAE,UAAU,EAAE,+GAA+G,EAAE,CAAC;IAC7U,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,8DAA8D,EAAE,UAAU,EAAE,uGAAuG,EAAE,CAAC;IACxS,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA2B,EAAE,SAAiB;IACzE,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACzE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,wCAAwC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,oHAAoH,EAAE,CAAC;IACza,CAAC;IACD,IAAI,UAAU,CAAC,YAAY,KAAK,UAAU,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,EAAE,CAAC;QAC9G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,4DAA4D,EAAE,UAAU,EAAE,uFAAuF,EAAE,CAAC;IACtR,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY,EAAE,WAA8B,EAAE,aAAuB,EAAE,KAAK,GAAG,GAAG;IACzH,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,YAAY;YAAE,SAAS;QACvC,MAAM,mBAAmB,GAA8B,EAAE,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5I,IAAI,aAAa,IAAI,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;gBAAE,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvI,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,KAAK,MAAM,aAAa,IAAI,mBAAmB;YAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3J,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK;YAAE,SAAS,GAAG,IAAI,CAAC;QAChD,IAAI,OAAe,CAAC;QACpB,IAAI,IAAc,CAAC;QACnB,IAAI,UAAU,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC5C,OAAO,GAAG,MAAM,CAAC;YACjB,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,mBAAmB,gBAAgB,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,CAAC;QACxI,CAAC;aAAM,IAAI,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,WAAW;YAC/B,KAAK,EAAE,YAAY,UAAU,CAAC,YAAY,KAAK,WAAW,CAAC,MAAM,yBAAyB,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC/H,IAAI,EAAE,MAAM;YACZ,OAAO;YACP,IAAI;YACJ,MAAM,EAAE,6CAA6C,UAAU,CAAC,MAAM,EAAE;YACxE,sBAAsB,EAAE,IAAI;YAC5B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,GAAG,CAAC,UAAU,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACvG,GAAG,CAAC,UAAU,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC;YAC9F,GAAG,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC;YACjG,WAAW;YACX,oBAAoB,EAAE,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,cAAyC,EAAE,MAAc;IAC5E,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACxK,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,MAAwC;IAClF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,KAAsB,EAAE,GAAuB,EAAE,SAAS,GAAG,KAAK;IACtH,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACxD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI,SAAS;QAAE,OAAO,WAAW,CAAC,cAAc,EAAE,gEAAgE,CAAC,CAAC;IACpH,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC;IAC7M,IAAI,OAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAoB,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC,cAAc,EAAE,wDAAwD,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;WACpB,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,YAAY;WACrC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC;WACnD,OAAO,CAAC,oBAAoB,GAAG,CAAC;WAChC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,cAAc,EAAE,oFAAoF,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/H,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4C,CAAC;IACpE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxL,OAAO,WAAW,CAAC,cAAc,EAAE,+FAA+F,CAAC,CAAC;QACtI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC,cAAc,EAAE,gFAAgF,CAAC,CAAC;IACzJ,MAAM,kBAAkB,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtF,MAAM,oCAAoC,GAAG,OAAO,CAAC,oBAAoB,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;IACjH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAE,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,oCAAoC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ;gBAC7B,CAAC,CAAC,uFAAuF;gBACzF,CAAC,CAAC,wGAAwG,CAAC;YAC7G,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,cAAuB,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACxI,CAAC;QACD,MAAM,OAAO,GAAqC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9J,MAAM,MAAM,GAAG,OAAO,KAAK,YAAY;YACrC,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,uBAAuB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,OAAO,gBAAgB,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC;QACtK,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3I,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,IAAY;IACxD,MAAM,UAAU,GAAoD;QAClE,EAAE,OAAO,EAAE,6EAA6E,EAAE,WAAW,EAAE,wBAAwB,EAAE;QACjI,EAAE,OAAO,EAAE,sEAAsE,EAAE,WAAW,EAAE,YAAY,EAAE;QAC9G,EAAE,OAAO,EAAE,mCAAmC,EAAE,WAAW,EAAE,YAAY,EAAE;QAC3E,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,YAAY,EAAE;QACxE,EAAE,OAAO,EAAE,kDAAkD,EAAE,WAAW,EAAE,cAAc,EAAE;QAC5F,EAAE,OAAO,EAAE,wCAAwC,EAAE,WAAW,EAAE,eAAe,EAAE;QACnF,EAAE,OAAO,EAAE,sIAAsI,EAAE,WAAW,EAAE,cAAc,EAAE;QAChL,EAAE,OAAO,EAAE,iEAAiE,EAAE,WAAW,EAAE,YAAY,EAAE;KAC1G,CAAC;IACF,IAAI,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,MAAM,SAAS,IAAI,UAAU;QAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACtG,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC;IAC3E,IAAI,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;QACrD,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChD,SAAS;QACT,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;QAC/B,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC;KAChC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACnF,KAAK,MAAM,SAAS,IAAI,YAAY;QAAE,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,WAA8B,EAAE,OAA2E;IACvJ,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;IACjJ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC3I,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM;QACvC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,QAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/G,CAAC,CAAC,WAAW,CAAC;IAChB,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE;YACzD,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,EAAE,2BAA2B,EAAE;YAClC,OAAO,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACtD,mBAAmB,EAAE,MAAM;SAC5B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACxG,IAAI,MAA6B,CAAC;QAClC,IAAI,WAAmB,CAAC;QACxB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,GAAG,WAAW,CAAC;YACrB,WAAW,GAAG,qBAAqB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,uBAAuB,CAAC;QAClG,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,OAAO,CAAC;YACjB,WAAW,GAAG,8BAA8B,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,QAAQ,CAAC;YAClB,WAAW,GAAG,kCAAkC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,QAAQ,CAAC;YAClB,WAAW,GAAG,gCAAgC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC3E,CAAC;QACD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACjH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAmD,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;gBACjH,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO,MAAM,CAAC;YAChB,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7E,WAAW,IAAI,yBAAyB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,YAAY,CAAC,eAAe,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC;QAChM,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;IACrO,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,WAA8B;IAC1D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,2EAA2E,EAAE,CAAC,CAAC,CAAC;AACpO,CAAC"} \ No newline at end of file +{"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/js-runners.js b/dist/js-runners.js index cdb6452..88688ab 100644 --- a/dist/js-runners.js +++ b/dist/js-runners.js @@ -23,7 +23,7 @@ function safeEnvironmentAssignment(token) { function recognizedRunnerScript(command) { if (/[\r\n]/.test(command)) return null; - const tokens = command.trim().replaceAll(/[ \t]+/g, " ").split(" ").filter(Boolean); + const tokens = command.replace(/^[ \t]+|[ \t]+$/g, "").replaceAll(/[ \t]+/g, " ").split(" ").filter(Boolean); if (tokens.length === 0) return null; let index = 0; diff --git a/dist/js-runners.js.map b/dist/js-runners.js.map index eab3e39..ea648ec 100644 --- a/dist/js-runners.js.map +++ b/dist/js-runners.js.map @@ -1 +1 @@ -{"version":3,"file":"js-runners.js","sourceRoot":"","sources":["../src/js-runners.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"js-runners.js","sourceRoot":"","sources":["../src/js-runners.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/checks.ts b/src/checks.ts index 479b977..672fc92 100644 --- a/src/checks.ts +++ b/src/checks.ts @@ -241,7 +241,7 @@ function classifyScript(name: string): CheckDefinition["kind"] | null { function targetingForScript(kind: CheckDefinition["kind"], command: string): Pick | null { if (kind !== "test") return null; if (/[\r\n]/.test(command)) return null; - const normalized = command.trim().replaceAll(/[ \t]+/g, " "); + const normalized = command.replace(/^[ \t]+|[ \t]+$/g, "").replaceAll(/[ \t]+/g, " "); const invocation = normalized.match(/^(?:node|node\.exe) --test(?: (.+))?$/); if (!invocation) return null; const runnerArgs: string[] = []; diff --git a/src/js-runners.ts b/src/js-runners.ts index cfcb823..d2952d4 100644 --- a/src/js-runners.ts +++ b/src/js-runners.ts @@ -35,7 +35,7 @@ function safeEnvironmentAssignment(token: string): [name: string, value: string] function recognizedRunnerScript(command: string): RecognizedRunnerScript | null { if (/[\r\n]/.test(command)) return null; - const tokens = command.trim().replaceAll(/[ \t]+/g, " ").split(" ").filter(Boolean); + const tokens = command.replace(/^[ \t]+|[ \t]+$/g, "").replaceAll(/[ \t]+/g, " ").split(" ").filter(Boolean); if (tokens.length === 0) return null; let index = 0; diff --git a/tests/checks.test.ts b/tests/checks.test.ts index 59787ec..5dade48 100644 --- a/tests/checks.test.ts +++ b/tests/checks.test.ts @@ -129,6 +129,24 @@ test("targeted execution rejects symbolic-link test paths", { skip: process.plat assert.deepEqual(targeted.checks, []); }); +test("Node targeted discovery trims only ASCII space and tab around scripts", async (context) => { + const root = await initializeRepository({ + "package.json": JSON.stringify({ scripts: { + test: " \tnode --test\t ", + "test:unit": "\u00a0node --test", + "test:ci": "node --test\u00a0", + } }), + "test/value.test.js": "import test from 'node:test'; test('value', () => {});\n", + }); + context.after(() => rm(root, { recursive: true, force: true })); + + const { checks } = await discoverChecks(root); + assert.equal(checks.find((check) => check.id === "js:test:test")?.targetRunner, "node-test"); + assert.equal(checks.find((check) => check.id === "js:test:test:unit")?.targetRunner, undefined); + assert.equal(checks.find((check) => check.id === "js:test:test:ci")?.targetRunner, undefined); + assert.deepEqual((await targetedTestChecks(root, checks, ["test/value.test.js"])).checks.map((check) => check.id), ["js:test:test:targeted"]); +}); + test("Node targeted discovery rejects command-chain prefixes", async (context) => { const root = await initializeRepository({ "package.json": JSON.stringify({ scripts: { diff --git a/tests/js-runners.test.ts b/tests/js-runners.test.ts index e7347a4..eabd776 100644 --- a/tests/js-runners.test.ts +++ b/tests/js-runners.test.ts @@ -91,7 +91,7 @@ test("literal environment prefixes are preserved for targeted Jest execution", a if (process.env.NODE_ENV !== "test" || process.env.CI !== "1") process.exit(7); ` + JEST_BIN; const root = await initializeRepository({ - "package.json": JSON.stringify({ scripts: { test: "NODE_ENV=test CI=1 jest --ci" } }), + "package.json": JSON.stringify({ scripts: { test: " \tNODE_ENV=test CI=1 jest --ci\t " } }), "test/env.test.js": "export const env = true;\n", "node_modules/jest/package.json": JSON.stringify({ bin: { jest: "./bin/jest.cjs" } }), "node_modules/jest/bin/jest.cjs": envAwareJest, @@ -212,6 +212,8 @@ test("unsafe Jest and Vitest script shapes are individually exercised and stay o { label: "too many environment assignments", script: "A=1 B=2 C=3 D=4 E=5 jest" }, { label: "duplicate environment assignment", script: "CI=1 CI=true jest" }, { label: "non-ASCII whitespace", script: "jest\u00a0--ci" }, + { label: "leading non-ASCII whitespace", script: "\u00a0jest --ci" }, + { label: "trailing non-ASCII whitespace", script: "jest --ci\u00a0" }, ]; for (const { label, script } of cases) { From 31be66f3bdd03eec7627b451809a5bf3fc6ef835 Mon Sep 17 00:00:00 2001 From: Felix Date: Sat, 15 Aug 2026 18:12:26 +0800 Subject: [PATCH 5/6] Remove one-time ASCII script trim workflow --- .../workflows/one-time-ascii-script-trim.yml | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 .github/workflows/one-time-ascii-script-trim.yml diff --git a/.github/workflows/one-time-ascii-script-trim.yml b/.github/workflows/one-time-ascii-script-trim.yml deleted file mode 100644 index 73dafdc..0000000 --- a/.github/workflows/one-time-ascii-script-trim.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: One-time ASCII script trim updater - -on: - push: - branches: [fix/ascii-only-script-trim] - -permissions: - contents: write - -jobs: - update: - if: github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v7 - - uses: actions/setup-node@v7 - with: - node-version: 24 - cache: npm - - run: npm ci - - run: python3 .github/scripts/one-time-ascii-script-trim.py - - run: npm test - - run: npm run clean && npm run build - - name: Commit source, tests, changelog, and generated dist - shell: bash - run: | - git config user.name github-actions[bot] - git config user.email 41898282+github-actions[bot]@users.noreply.github.com - git add CHANGELOG.md src/checks.ts src/js-runners.ts tests/checks.test.ts tests/js-runners.test.ts dist - git diff --cached --check - git commit -m "Restrict script trimming to ASCII whitespace" - git push From 2a78dfc48970da6126f4dd3f49112eb6ebe90b13 Mon Sep 17 00:00:00 2001 From: Felix Date: Sat, 15 Aug 2026 18:12:31 +0800 Subject: [PATCH 6/6] Remove one-time ASCII script trim updater --- .github/scripts/one-time-ascii-script-trim.py | 63 ------------------- 1 file changed, 63 deletions(-) delete mode 100644 .github/scripts/one-time-ascii-script-trim.py diff --git a/.github/scripts/one-time-ascii-script-trim.py b/.github/scripts/one-time-ascii-script-trim.py deleted file mode 100644 index cb30871..0000000 --- a/.github/scripts/one-time-ascii-script-trim.py +++ /dev/null @@ -1,63 +0,0 @@ -from pathlib import Path - - -def replace_once(path: str, old: str, new: str) -> None: - target = Path(path) - text = target.read_text() - count = text.count(old) - if count != 1: - raise RuntimeError(f"{path}: expected one replacement, found {count}") - target.write_text(text.replace(old, new, 1)) - - -replace_once( - "src/checks.ts", - ' const normalized = command.trim().replaceAll(/[ \\t]+/g, " ");\n', - ' const normalized = command.replace(/^[ \\t]+|[ \\t]+$/g, "").replaceAll(/[ \\t]+/g, " ");\n', -) - -replace_once( - "src/js-runners.ts", - ' const tokens = command.trim().replaceAll(/[ \\t]+/g, " ").split(" ").filter(Boolean);\n', - ' const tokens = command.replace(/^[ \\t]+|[ \\t]+$/g, "").replaceAll(/[ \\t]+/g, " ").split(" ").filter(Boolean);\n', -) - -replace_once( - "tests/js-runners.test.ts", - ' "package.json": JSON.stringify({ scripts: { test: "NODE_ENV=test CI=1 jest --ci" } }),\n', - ' "package.json": JSON.stringify({ scripts: { test: " \\tNODE_ENV=test CI=1 jest --ci\\t " } }),\n', -) - -replace_once( - "tests/js-runners.test.ts", - ' { label: "non-ASCII whitespace", script: "jest\\u00a0--ci" },\n', - ' { label: "non-ASCII whitespace", script: "jest\\u00a0--ci" },\n { label: "leading non-ASCII whitespace", script: "\\u00a0jest --ci" },\n { label: "trailing non-ASCII whitespace", script: "jest --ci\\u00a0" },\n', -) - -marker = 'test("Node targeted discovery rejects command-chain prefixes", async (context) => {\n' -node_test = '''test("Node targeted discovery trims only ASCII space and tab around scripts", async (context) => { - const root = await initializeRepository({ - "package.json": JSON.stringify({ scripts: { - test: " \\tnode --test\\t ", - "test:unit": "\\u00a0node --test", - "test:ci": "node --test\\u00a0", - } }), - "test/value.test.js": "import test from 'node:test'; test('value', () => {});\\n", - }); - context.after(() => rm(root, { recursive: true, force: true })); - - const { checks } = await discoverChecks(root); - assert.equal(checks.find((check) => check.id === "js:test:test")?.targetRunner, "node-test"); - assert.equal(checks.find((check) => check.id === "js:test:test:unit")?.targetRunner, undefined); - assert.equal(checks.find((check) => check.id === "js:test:test:ci")?.targetRunner, undefined); - assert.deepEqual((await targetedTestChecks(root, checks, ["test/value.test.js"])).checks.map((check) => check.id), ["js:test:test:targeted"]); -}); - -''' -replace_once("tests/checks.test.ts", marker, node_test + marker) - -replace_once( - "CHANGELOG.md", - "## [Unreleased]\n\n### Fixed\n\n", - "## [Unreleased]\n\n### Fixed\n\n- Restricted recognized Node/Jest/Vitest package-script trimming to ASCII spaces and tabs. JavaScript `String.trim()` also removes non-ASCII whitespace such as NBSP, which shells do not treat as ordinary script separators; leading or trailing Unicode whitespace can therefore no longer be erased into a different executable command and accidentally qualify for exact targeted evidence.\n", -)