From 9e286943e0d38309e1597a1a7db33f95bd95f930 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sat, 14 Feb 2026 15:42:05 +0100 Subject: [PATCH 01/27] feat: auto capture + replay ESP crashes Signed-off-by: dankeboy36 --- .vscode/launch.json | 10 +- .vscode/tasks.json | 15 +- eslint.config.mjs | 1 + package-lock.json | 1821 ++++++++++++++------------- package.json | 219 +++- src/boardLabExt.ts | 54 + src/capturer.ts | 205 +++ src/capturer/constants.ts | 42 + src/capturer/crashCaptureManager.ts | 1783 ++++++++++++++++++++++++++ src/capturer/fsProviders.ts | 150 +++ src/capturer/markdown.ts | 710 +++++++++++ src/capturer/model.ts | 169 +++ src/capturer/runtimeModel.ts | 310 +++++ src/capturer/treeModel.ts | 84 ++ src/decodeParams.ts | 23 +- src/extension.ts | 73 +- src/findElfPath.ts | 167 +++ src/replay.ts | 746 +++++++++++ src/replayRegistration.ts | 162 +++ src/terminal.ts | 28 +- src/test/fixtures/monitor.txt | 33 + src/test/suite/capturer.test.ts | 743 +++++++++++ src/test/suite/decodeParams.test.ts | 57 +- src/test/suite/findElfPath.test.ts | 154 +++ src/test/suite/fsProviders.test.ts | 98 ++ src/test/suite/index.ts | 11 - src/test/suite/markdown.test.ts | 280 ++++ src/test/suite/runtimeModel.test.ts | 197 +++ src/test/suite/treeModel.test.ts | 84 ++ webpack.config.js | 7 + 30 files changed, 7417 insertions(+), 1019 deletions(-) create mode 100644 src/boardLabExt.ts create mode 100644 src/capturer.ts create mode 100644 src/capturer/constants.ts create mode 100644 src/capturer/crashCaptureManager.ts create mode 100644 src/capturer/fsProviders.ts create mode 100644 src/capturer/markdown.ts create mode 100644 src/capturer/model.ts create mode 100644 src/capturer/runtimeModel.ts create mode 100644 src/capturer/treeModel.ts create mode 100644 src/findElfPath.ts create mode 100644 src/replay.ts create mode 100644 src/replayRegistration.ts create mode 100644 src/test/fixtures/monitor.txt create mode 100644 src/test/suite/capturer.test.ts create mode 100644 src/test/suite/findElfPath.test.ts create mode 100644 src/test/suite/fsProviders.test.ts create mode 100644 src/test/suite/markdown.test.ts create mode 100644 src/test/suite/runtimeModel.test.ts create mode 100644 src/test/suite/treeModel.test.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index f5a66a3..df26216 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,7 +7,15 @@ "request": "launch", "args": ["--extensionDevelopmentPath=${workspaceFolder}"], "outFiles": ["${workspaceFolder}/dist/**/*.js"], - "preLaunchTask": "${defaultBuildTask}" + "sourceMaps": true, + "sourceMapPathOverrides": { + "webpack:/esp-exception-decoder/*": "${workspaceFolder}/*", + "webpack://esp-exception-decoder/*": "${workspaceFolder}/*", + "webpack:///./*": "${workspaceFolder}/*", + "webpack://*/./*": "${workspaceFolder}/*", + "webpack://*/*": "${workspaceFolder}/*" + }, + "preLaunchTask": "build:webpack:debug" }, { "name": "Extension Tests", diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 598f058..dc0889c 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,6 +2,19 @@ "version": "2.0.0", "tasks": [ { + "label": "build:webpack", + "type": "npm", + "script": "build", + "problemMatcher": [] + }, + { + "label": "build:webpack:debug", + "type": "npm", + "script": "build:debug", + "problemMatcher": [] + }, + { + "label": "watch:webpack", "type": "npm", "script": "watch", "problemMatcher": "$ts-webpack-watch", @@ -28,7 +41,7 @@ }, { "label": "tasks: watch-tests", - "dependsOn": ["npm: watch", "npm: watch-tests"], + "dependsOn": ["watch:webpack", "npm: watch-tests"], "problemMatcher": [] }, { diff --git a/eslint.config.mjs b/eslint.config.mjs index 7ee8b21..6ec020e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -21,6 +21,7 @@ export default [ '@stylistic/comma-dangle': 'off', '@stylistic/indent': 'off', '@stylistic/no-tabs': 'off', + '@stylistic/brace-style': 'off', '@stylistic/space-before-function-paren': [ 'error', { diff --git a/package-lock.json b/package-lock.json index 284c751..2c32cd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,12 @@ "version": "1.1.1", "license": "MIT", "dependencies": { + "@vscode/debugadapter": "^1.68.0", "debug": "^4.4.3", - "fqbn": "^1.3.1", - "trbr": "^0.1.24" + "error-replay-debug-adapter": "^0.1.1", + "fqbn": "^1.4.0", + "markdown-escape": "^2.0.0", + "trbr": "^0.3.0" }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.2", @@ -22,7 +25,7 @@ "@semantic-release/github": "^12.0.0", "@semantic-release/release-notes-generator": "^14.1.0", "@types/debug": "^4.1.12", - "@types/glob": "^9.0.0", + "@types/markdown-escape": "^1.1.3", "@types/mocha": "^10.0.10", "@types/node": "20.x", "@types/temp": "^0.9.1", @@ -30,7 +33,8 @@ "@typescript-eslint/eslint-plugin": "^8.44.1", "@typescript-eslint/parser": "^8.44.1", "@vscode/test-electron": "^2.5.2", - "@vscode/vsce": "^3.6.2", + "@vscode/vsce": "^3.7.1", + "boards-list": "^2.0.0", "eslint": "^9.31.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-import": "^2.32.0", @@ -49,7 +53,7 @@ "temp": "^0.9.4", "ts-loader": "^9.5.4", "typescript": "^5.0.4", - "vscode-arduino-api": "^0.2.1", + "vscode-arduino-api": "^0.2.4", "webpack": "^5.81.0", "webpack-cli": "^5.0.2" }, @@ -58,54 +62,51 @@ } }, "node_modules/@actions/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.1.tgz", - "integrity": "sha512-oBfqT3GwkvLlo1fjvhQLQxuwZCGTarTE5OuZ2Wg10hvhBj7LRIlF611WT4aZS6fDhO5ZKlY7lCAZTlpmyaHaeg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.0.tgz", + "integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==", "dev": true, "license": "MIT", "dependencies": { - "@actions/exec": "^2.0.0", - "@actions/http-client": "^3.0.0" + "@actions/exec": "^3.0.0", + "@actions/http-client": "^4.0.0" } }, "node_modules/@actions/exec": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz", - "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz", + "integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==", "dev": true, "license": "MIT", "dependencies": { - "@actions/io": "^2.0.0" + "@actions/io": "^3.0.2" } }, "node_modules/@actions/http-client": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.0.tgz", - "integrity": "sha512-1s3tXAfVMSz9a4ZEBkXXRQD4QhY3+GAsWSbaYpeknPOKEeyRiU3lH+bHiLMZdo2x/fIeQ/hscL1wCkDLVM2DZQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz", + "integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==", "dev": true, "license": "MIT", "dependencies": { "tunnel": "^0.0.6", - "undici": "^5.28.5" + "undici": "^6.23.0" } }, "node_modules/@actions/http-client/node_modules/undici": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", - "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", "dev": true, "license": "MIT", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, "engines": { - "node": ">=14.0" + "node": ">=18.17" } }, "node_modules/@actions/io": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz", - "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz", + "integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==", "dev": true, "license": "MIT" }, @@ -258,22 +259,22 @@ } }, "node_modules/@azure/msal-browser": { - "version": "4.27.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.27.0.tgz", - "integrity": "sha512-bZ8Pta6YAbdd0o0PEaL1/geBsPrLEnyY/RDWqvF1PP9RUH8EMLvUMGoZFYS6jSlUan6KZ9IMTLCnwpWWpQRK/w==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.28.2.tgz", + "integrity": "sha512-6vYUMvs6kJxJgxaCmHn/F8VxjLHNh7i9wzfwPGf8kyBJ8Gg2yvBXx175Uev8LdrD1F5C4o7qHa2CC4IrhGE1XQ==", "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "15.13.3" + "@azure/msal-common": "15.14.2" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "15.13.3", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.13.3.tgz", - "integrity": "sha512-shSDU7Ioecya+Aob5xliW9IGq1Ui8y4EVSdWGyI1Gbm4Vg61WpP95LuzcY214/wEjSn6w4PZYD4/iVldErHayQ==", + "version": "15.14.2", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.14.2.tgz", + "integrity": "sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==", "dev": true, "license": "MIT", "engines": { @@ -281,13 +282,13 @@ } }, "node_modules/@azure/msal-node": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.4.tgz", - "integrity": "sha512-lvuAwsDpPDE/jSuVQOBMpLbXuVuLsPNRwWCyK3/6bPlBk0fGWegqoZ0qjZclMWyQ2JNvIY3vHY7hoFmFmFQcOw==", + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.7.tgz", + "integrity": "sha512-a+Xnrae+uwLnlw68bplS1X4kuJ9F/7K6afuMFyRkNIskhjgDezl5Fhrx+1pmAlDmC0VaaAxjRQMp1OmcqVwkIg==", "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "15.13.3", + "@azure/msal-common": "15.14.2", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -296,13 +297,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -311,9 +312,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -321,21 +322,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -369,14 +370,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -386,13 +387,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -440,29 +441,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -502,27 +503,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -532,33 +533,33 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -566,9 +567,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -601,9 +602,9 @@ } }, "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", "dev": true, "license": "MIT", "optional": true, @@ -613,9 +614,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", "dev": true, "license": "MIT", "optional": true, @@ -847,16 +848,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -920,70 +911,14 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", + "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, "node_modules/@istanbuljs/load-nyc-config": { @@ -1720,9 +1655,9 @@ "license": "ISC" }, "node_modules/@pnpm/npm-conf": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", - "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", "dev": true, "license": "MIT", "dependencies": { @@ -1739,28 +1674,32 @@ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", @@ -1768,6 +1707,7 @@ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -1778,35 +1718,40 @@ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@rtsao/scc": { "version": "1.1.0", @@ -2209,9 +2154,9 @@ } }, "node_modules/@semantic-release/github": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-12.0.2.tgz", - "integrity": "sha512-qyqLS+aSGH1SfXIooBKjs7mvrv0deg8v+jemegfJg1kq6ji+GJV8CO08VJDEsvjp3O8XJmTTIAjjZbMzagzsdw==", + "version": "12.0.6", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-12.0.6.tgz", + "integrity": "sha512-aYYFkwHW3c6YtHwQF0t0+lAjlU+87NFOZuH2CvWFD0Ylivc7MwhZMiHOJ0FMpIgPpCVib/VUAcOwvrW0KnxQtA==", "dev": true, "license": "MIT", "dependencies": { @@ -2310,13 +2255,13 @@ } }, "node_modules/@semantic-release/npm": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-13.1.3.tgz", - "integrity": "sha512-q7zreY8n9V0FIP1Cbu63D+lXtRAVAIWb30MH5U3TdrfXt6r2MIrWCY0whAImN53qNvSGp0Zt07U95K+Qp9GpEg==", + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-13.1.4.tgz", + "integrity": "sha512-z5Fn9ftK1QQgFxMSuOd3DtYbTl4hWI2trCEvZcEJMQJy1/OBR0WHcxqzfVun455FSkHML8KgvPxJEa9MtZIBsg==", "dev": true, "license": "MIT", "dependencies": { - "@actions/core": "^2.0.0", + "@actions/core": "^3.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "env-ci": "^11.2.0", @@ -2395,6 +2340,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@semantic-release/npm/node_modules/hosted-git-info": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", + "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@semantic-release/npm/node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", @@ -2408,6 +2366,80 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@semantic-release/npm/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@semantic-release/npm/node_modules/normalize-package-data": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-8.0.0.tgz", + "integrity": "sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^9.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/read-pkg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-10.1.0.tgz", + "integrity": "sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.4", + "normalize-package-data": "^8.0.0", + "parse-json": "^8.3.0", + "type-fest": "^5.4.4", + "unicorn-magic": "^0.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/type-fest": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.4.tgz", + "integrity": "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/unicorn-magic": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", + "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/release-notes-generator": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.1.0.tgz", @@ -2506,24 +2538,24 @@ } }, "node_modules/@textlint/ast-node-types": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.5.0.tgz", - "integrity": "sha512-K0LEuuTo4rza8yDrlYkRdXLao8Iz/QBMsQdIxRrOOrLYb4HAtZaypZ78c+J6rDA1UlGxadZVLmkkiv4KV5fMKQ==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.5.1.tgz", + "integrity": "sha512-2ABQSaQoM9u9fycXLJKcCv4XQulJWTUSwjo6F0i/ujjqOH8/AZ2A0RDKKbAddqxDhuabVB20lYoEsZZgzehccg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/linter-formatter": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.5.0.tgz", - "integrity": "sha512-DPTm2+VXKID41qKQWagg/4JynM6hEEpvbq0PlGsEoC4Xm7IqXIxFym3mSf5+ued0cuiIV1hR9kgXjqGdP035tw==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.5.1.tgz", + "integrity": "sha512-7wfzpcQtk7TZ3UJO2deTI71mJCm4VvPGUmSwE4iuH6FoaxpdWpwSBiMLcZtjYrt/oIFOtNz0uf5rI+xJiHTFww==", "dev": true, "license": "MIT", "dependencies": { "@azu/format-text": "^1.0.2", "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.5.0", - "@textlint/resolver": "15.5.0", - "@textlint/types": "15.5.0", + "@textlint/module-interop": "15.5.1", + "@textlint/resolver": "15.5.1", + "@textlint/types": "15.5.1", "chalk": "^4.1.2", "debug": "^4.4.3", "js-yaml": "^4.1.1", @@ -2566,27 +2598,27 @@ } }, "node_modules/@textlint/module-interop": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.5.0.tgz", - "integrity": "sha512-rqfouEhBEgZlR9umswWXXRBcmmSM28Trpr9b0duzgehKYVc7wSQCuQMagr6YBJa2NRMfRNinupusbJXMg0ij2A==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.5.1.tgz", + "integrity": "sha512-Y1jcFGCKNSmHxwsLO3mshOfLYX4Wavq2+w5BG6x5lGgZv0XrF1xxURRhbnhns4LzCu0fAcx6W+3V8/1bkyTZCw==", "dev": true, "license": "MIT" }, "node_modules/@textlint/resolver": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.5.0.tgz", - "integrity": "sha512-kK5nFbg5N3kVoZExQI/dnYjCInmTltvXDnuCRrBxHI01i6kO/o8R7Lc2aFkAZ6/NUZuRPalkyDdwZJke4/R2wg==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.5.1.tgz", + "integrity": "sha512-CVHxMIm8iNGccqM12CQ/ycvh+HjJId4RyC6as5ynCcp2E1Uy1TCe0jBWOpmLsbT4Nx15Ke29BmspyByawuIRyA==", "dev": true, "license": "MIT" }, "node_modules/@textlint/types": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.5.0.tgz", - "integrity": "sha512-EjAPbuA+3NyQ9WyFP7iUlddi35F3mGrf4tb4cZM0nWywbtEJ3+XAYqL+5RsF0qFeSguxGir09NdZOWrG9wVOUQ==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.5.1.tgz", + "integrity": "sha512-IY1OVZZk8LOOrbapYCsaeH7XSJT89HVukixDT8CoiWMrKGCTCZ3/Kzoa3DtMMbY8jtY777QmPOVCNnR+8fF6YQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.5.0" + "@textlint/ast-node-types": "15.5.1" } }, "node_modules/@tybys/wasm-util": { @@ -2639,17 +2671,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/glob": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-9.0.0.tgz", - "integrity": "sha512-00UxlRaIUvYm4R4W9WYkN8/J+kV8fmOQ7okeH6YFtGWFMt3odD45tpG5yA5wnL7HE6lLgjaTW5n14ju2hl2NNA==", - "deprecated": "This is a stub types definition. glob provides its own type definitions, so you do not need this installed.", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -2664,6 +2685,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/markdown-escape": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/markdown-escape/-/markdown-escape-1.1.3.tgz", + "integrity": "sha512-JIc1+s3y5ujKnt/+N+wq6s/QdL2qZ11fP79MijrVXsAAnzSxCbT2j/3prHRouJdZ2yFLN3vkP0HytfnoCczjOw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/mdast": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", @@ -2689,9 +2717,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", - "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "version": "20.19.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.33.tgz", + "integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==", "dev": true, "license": "MIT", "dependencies": { @@ -2730,27 +2758,27 @@ "license": "MIT" }, "node_modules/@types/vscode": { - "version": "1.107.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.107.0.tgz", - "integrity": "sha512-XS8YE1jlyTIowP64+HoN30OlC1H9xqSlq1eoLZUgFEC8oUTO6euYZxti1xRiLSfZocs4qytTzR6xCBYtioQTCg==", + "version": "1.109.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.109.0.tgz", + "integrity": "sha512-0Pf95rnwEIwDbmXGC08r0B4TQhAbsHQ5UyTIgVgoieDe4cOnf92usuR5dEczb6bTKEp7ziZH4TV1TRGPPCExtw==", "dev": true, "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.51.0.tgz", - "integrity": "sha512-XtssGWJvypyM2ytBnSnKtHYOGT+4ZwTnBVl36TA4nRO2f4PRNGz5/1OszHzcZCvcBMh+qb7I06uoCmLTRdR9og==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.55.0.tgz", + "integrity": "sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.51.0", - "@typescript-eslint/type-utils": "8.51.0", - "@typescript-eslint/utils": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0", - "ignore": "^7.0.0", + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/type-utils": "8.55.0", + "@typescript-eslint/utils": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.2.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2760,23 +2788,23 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.51.0", + "@typescript-eslint/parser": "^8.55.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.51.0.tgz", - "integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.55.0.tgz", + "integrity": "sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.51.0", - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0", - "debug": "^4.3.4" + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2791,15 +2819,15 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.51.0.tgz", - "integrity": "sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.55.0.tgz", + "integrity": "sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.51.0", - "@typescript-eslint/types": "^8.51.0", - "debug": "^4.3.4" + "@typescript-eslint/tsconfig-utils": "^8.55.0", + "@typescript-eslint/types": "^8.55.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2813,14 +2841,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.51.0.tgz", - "integrity": "sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.55.0.tgz", + "integrity": "sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0" + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2831,9 +2859,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.51.0.tgz", - "integrity": "sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.55.0.tgz", + "integrity": "sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==", "dev": true, "license": "MIT", "engines": { @@ -2848,17 +2876,17 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.51.0.tgz", - "integrity": "sha512-0XVtYzxnobc9K0VU7wRWg1yiUrw4oQzexCG2V2IDxxCxhqBMSMbjB+6o91A+Uc0GWtgjCa3Y8bi7hwI0Tu4n5Q==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.55.0.tgz", + "integrity": "sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0", - "@typescript-eslint/utils": "8.51.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.2.0" + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/utils": "8.55.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2873,9 +2901,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.51.0.tgz", - "integrity": "sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.55.0.tgz", + "integrity": "sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==", "dev": true, "license": "MIT", "engines": { @@ -2887,21 +2915,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.51.0.tgz", - "integrity": "sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.55.0.tgz", + "integrity": "sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.51.0", - "@typescript-eslint/tsconfig-utils": "8.51.0", - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", + "@typescript-eslint/project-service": "8.55.0", + "@typescript-eslint/tsconfig-utils": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.2.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2915,16 +2943,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.51.0.tgz", - "integrity": "sha512-11rZYxSe0zabiKaCP2QAwRf/dnmgFgvTmeDTtZvUvXG3UuAdg/GU02NExmmIXzz3vLGgMdtrIosI84jITQOxUA==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.55.0.tgz", + "integrity": "sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.51.0", - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2939,13 +2967,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.51.0.tgz", - "integrity": "sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.55.0.tgz", + "integrity": "sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/types": "8.55.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -2970,9 +2998,9 @@ } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.2.tgz", - "integrity": "sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.3.tgz", + "integrity": "sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==", "dev": true, "license": "MIT", "dependencies": { @@ -3253,6 +3281,24 @@ "win32" ] }, + "node_modules/@vscode/debugadapter": { + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@vscode/debugadapter/-/debugadapter-1.68.0.tgz", + "integrity": "sha512-D6gk5Fw2y4FV8oYmltoXpj+VAZexxJFopN/mcZ6YcgzQE9dgq2L45Aj3GLxScJOD6GeLILcxJIaA8l3v11esGg==", + "license": "MIT", + "dependencies": { + "@vscode/debugprotocol": "1.68.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@vscode/debugprotocol": { + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@vscode/debugprotocol/-/debugprotocol-1.68.0.tgz", + "integrity": "sha512-2J27dysaXmvnfuhFGhfeuxfHRXunqNPxtBoR3koiTOA9rdxWNDTa1zIFLCFMSHJ9MPTPKFcBeblsyaCJCIlQxg==", + "license": "MIT" + }, "node_modules/@vscode/test-electron": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.5.2.tgz", @@ -3837,9 +3883,9 @@ } }, "node_modules/ansi-escapes": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", - "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", "dev": true, "license": "MIT", "dependencies": { @@ -3914,6 +3960,7 @@ "integrity": "sha512-QP8A+XO27XcT/irz4II9l9ktoQstaEkJa2K0XCNcCXAsYxuqcl8xetqCO1xueEoX32QwZsCSKX5ekdYqDJQ9LA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "nice-grpc-common": "^2.0.2", "protobufjs": "^7.2.3" @@ -4182,9 +4229,9 @@ "optional": true }, "node_modules/baseline-browser-mapping": { - "version": "2.9.11", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", - "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -4251,17 +4298,19 @@ } }, "node_modules/boards-list": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/boards-list/-/boards-list-1.1.0.tgz", - "integrity": "sha512-KZ+/nDH2MdmZ3lMgQqvBtwfHTPKcuF667UCqO31D0Pk7pqt7hhJzrZrbeOBkSwD10WU2kAByP7f8eSPz6VLVgg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/boards-list/-/boards-list-2.0.0.tgz", + "integrity": "sha512-avuOBbVu4ij+xrfaD8rIBYB9cHDPwSOPDqmKCZNK3ejzdRJHGrRKSMqWXsOOSNV9OapBWWNHDZGikdQOtY/Jqg==", "dev": true, "license": "MIT", "dependencies": { - "ardunno-cli": "^0.1.7", "clone": "^2.1.2", "deep-equal": "^2.2.3", - "fqbn": "^1.0.3", "natural-compare": "^1.4.0" + }, + "peerDependencies": { + "ardunno-cli": "^0.1.7", + "fqbn": "^1.4.0" } }, "node_modules/boolbase": { @@ -4499,9 +4548,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001762", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", - "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", + "version": "1.0.30001769", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", + "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", "dev": true, "funding": [ { @@ -4558,9 +4607,9 @@ } }, "node_modules/cheerio": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", - "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz", + "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", "dev": true, "license": "MIT", "dependencies": { @@ -4569,11 +4618,11 @@ "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.1", - "htmlparser2": "^10.0.0", + "htmlparser2": "^10.1.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", - "undici": "^7.12.0", + "undici": "^7.19.0", "whatwg-mimetype": "^4.0.0" }, "engines": { @@ -4749,24 +4798,6 @@ "node": ">=8" } }, - "node_modules/cli-highlight/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/cli-highlight/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -5002,24 +5033,6 @@ "node": ">=8" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -5104,9 +5117,9 @@ } }, "node_modules/comment-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.5.tgz", + "integrity": "sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==", "dev": true, "license": "MIT", "engines": { @@ -5435,9 +5448,9 @@ } }, "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -5515,9 +5528,9 @@ "license": "MIT" }, "node_modules/default-browser": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", - "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", "dev": true, "license": "MIT", "dependencies": { @@ -5845,9 +5858,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.267", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", - "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", "dev": true, "license": "ISC" }, @@ -5891,14 +5904,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -6108,6 +6121,20 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/error-replay-debug-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/error-replay-debug-adapter/-/error-replay-debug-adapter-0.1.1.tgz", + "integrity": "sha512-G+fHIyrZm0tAqv7J79807mDYtBguScuJUlW4sOqQUsByPyXLl2GYYbnrth3rNosGOYkwd4Zfa/Ky018YtDkicg==", + "license": "MIT", + "workspaces": [ + "packages/adapter", + "packages/mock", + "packages/extension" + ], + "engines": { + "vscode": "^1.101.0" + } + }, "node_modules/es-abstract": { "version": "1.24.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", @@ -6679,9 +6706,9 @@ } }, "node_modules/eslint-plugin-n": { - "version": "17.23.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.1.tgz", - "integrity": "sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==", + "version": "17.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.2.tgz", + "integrity": "sha512-RhWBeb7YVPmNa2eggvJooiuehdL76/bbfj/OJewyoGT80qn5PXdz8zMOTO6YHOsI7byPt7+Ighh/i/4a5/v7hw==", "dev": true, "license": "MIT", "dependencies": { @@ -6729,14 +6756,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", - "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", + "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.7" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -7696,9 +7723,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", "dev": true, "license": "MIT", "dependencies": { @@ -7709,9 +7736,9 @@ } }, "node_modules/git-hooks-list": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-4.1.1.tgz", - "integrity": "sha512-cmP497iLq54AZnv4YRAEMnEyQ1eIn4tGKbmswqwmFV4GBnAqE8NLtWxxdXa++AalfgL5EBH4IxTPyquEuGY/jA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-4.2.1.tgz", + "integrity": "sha512-WNvqJjOxxs/8ZP9+DWdwWJ7cDsd60NHf39XnD82pDVrKO5q7xfPqpkK6hwEAmBa/ZSEE4IOoR75EzbbIuwGlMw==", "dev": true, "license": "MIT", "funding": { @@ -7745,6 +7772,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -7785,14 +7813,40 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz", + "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jackspeak": "^4.2.3" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/glob/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz", + "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.2" }, "engines": { "node": "20 || >=22" @@ -8099,9 +8153,9 @@ "license": "MIT" }, "node_modules/htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -8114,14 +8168,14 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" + "domutils": "^3.2.2", + "entities": "^7.0.1" } }, "node_modules/htmlparser2/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -9107,7 +9161,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -9265,13 +9319,13 @@ } }, "node_modules/jackspeak": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", - "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", + "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@isaacs/cliui": "^9.0.0" }, "engines": { "node": "20 || >=22" @@ -9652,16 +9706,16 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "dev": true, "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.22", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.22.tgz", - "integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "dev": true, "license": "MIT" }, @@ -9797,7 +9851,8 @@ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/loose-envify": { "version": "1.4.0", @@ -9882,10 +9937,16 @@ "semver": "bin/semver.js" } }, + "node_modules/markdown-escape": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-escape/-/markdown-escape-2.0.0.tgz", + "integrity": "sha512-Trz4v0+XWlwy68LJIyw3bLbsJiC8XAbRCKF9DbEtZjyndKOGVx6n+wNB0VfoRmY2LKboQLeniap3xrb6LGSJ8A==", + "license": "MIT" + }, "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "dev": true, "license": "MIT", "dependencies": { @@ -10679,10 +10740,49 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/mocha/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mocha/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, "node_modules/mocha/node_modules/glob": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -10740,6 +10840,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/mocha/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -10756,6 +10874,24 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -10874,14 +11010,15 @@ "integrity": "sha512-7RNWbls5kAL1QVUOXvBsv1uO0wPQK3lHv+cY1gwkTzirnG1Nop4cBJZubpgziNbaVc/bl9QJcyvsf/NQxa3rjQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ts-error": "^1.0.6" } }, "node_modules/node-abi": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.85.0.tgz", - "integrity": "sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==", + "version": "3.87.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.87.0.tgz", + "integrity": "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==", "dev": true, "license": "MIT", "optional": true, @@ -10951,47 +11088,44 @@ } }, "node_modules/normalize-package-data": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-8.0.0.tgz", - "integrity": "sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^9.0.0", + "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "license": "ISC", "dependencies": { - "lru-cache": "^11.1.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } + "license": "ISC" }, "node_modules/normalize-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", - "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.1.tgz", + "integrity": "sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==", "dev": true, "license": "MIT", "engines": { @@ -11002,9 +11136,9 @@ } }, "node_modules/npm": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-11.7.0.tgz", - "integrity": "sha512-wiCZpv/41bIobCoJ31NStIWKfAxxYyD1iYnWCtiyns8s5v3+l8y0HCP/sScuH6B5+GhIfda4HQKiqeGZwJWhFw==", + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-11.10.0.tgz", + "integrity": "sha512-i8hE43iSIAMFuYVi8TxsEISdELM4fIza600aLjJ0ankGPLqd0oTPKMJqAcO/QWm307MbSlWGzJcNZ0lGMQgHPA==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -11084,8 +11218,8 @@ ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^9.1.9", - "@npmcli/config": "^10.4.5", + "@npmcli/arborist": "^9.3.0", + "@npmcli/config": "^10.7.0", "@npmcli/fs": "^5.0.0", "@npmcli/map-workspaces": "^5.0.3", "@npmcli/metavuln-calculator": "^9.0.3", @@ -11093,28 +11227,28 @@ "@npmcli/promise-spawn": "^9.0.1", "@npmcli/redact": "^4.0.0", "@npmcli/run-script": "^10.0.3", - "@sigstore/tuf": "^4.0.0", + "@sigstore/tuf": "^4.0.1", "abbrev": "^4.0.0", "archy": "~1.0.0", "cacache": "^20.0.3", "chalk": "^5.6.2", - "ci-info": "^4.3.1", + "ci-info": "^4.4.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^13.0.0", + "glob": "^13.0.2", "graceful-fs": "^4.2.11", "hosted-git-info": "^9.0.2", "ini": "^6.0.0", "init-package-json": "^8.2.4", - "is-cidr": "^6.0.1", + "is-cidr": "^6.0.3", "json-parse-even-better-errors": "^5.0.0", "libnpmaccess": "^10.0.3", - "libnpmdiff": "^8.0.12", - "libnpmexec": "^10.1.11", - "libnpmfund": "^7.0.12", + "libnpmdiff": "^8.1.1", + "libnpmexec": "^10.2.1", + "libnpmfund": "^7.0.15", "libnpmorg": "^8.0.1", - "libnpmpack": "^9.0.12", + "libnpmpack": "^9.1.1", "libnpmpublish": "^11.1.3", "libnpmsearch": "^9.0.1", "libnpmteam": "^8.0.2", @@ -11124,7 +11258,7 @@ "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^12.1.0", + "node-gyp": "^12.2.0", "nopt": "^9.0.0", "npm-audit-report": "^7.0.0", "npm-install-checks": "^8.0.0", @@ -11134,21 +11268,21 @@ "npm-registry-fetch": "^19.1.1", "npm-user-validate": "^4.0.0", "p-map": "^7.0.4", - "pacote": "^21.0.4", + "pacote": "^21.3.1", "parse-conflict-json": "^5.0.1", "proc-log": "^6.1.0", "qrcode-terminal": "^0.12.0", "read": "^5.0.1", - "semver": "^7.7.3", + "semver": "^7.7.4", "spdx-expression-parse": "^4.0.0", - "ssri": "^13.0.0", + "ssri": "^13.0.1", "supports-color": "^10.2.2", - "tar": "^7.5.2", + "tar": "^7.5.7", "text-table": "~0.2.0", "tiny-relative-date": "^2.0.2", "treeverse": "^3.0.0", - "validate-npm-package-name": "^7.0.0", - "which": "^6.0.0" + "validate-npm-package-name": "^7.0.2", + "which": "^6.0.1" }, "bin": { "npm": "bin/npm-cli.js", @@ -11198,7 +11332,7 @@ } }, "node_modules/npm/node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "MIT", @@ -11244,7 +11378,7 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "9.1.9", + "version": "9.3.0", "dev": true, "inBundle": true, "license": "ISC", @@ -11262,7 +11396,7 @@ "@npmcli/run-script": "^10.0.0", "bin-links": "^6.0.0", "cacache": "^20.0.1", - "common-ancestor-path": "^1.0.1", + "common-ancestor-path": "^2.0.0", "hosted-git-info": "^9.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^11.2.1", @@ -11291,7 +11425,7 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "10.4.5", + "version": "10.7.0", "dev": true, "inBundle": true, "license": "ISC", @@ -11486,7 +11620,7 @@ } }, "node_modules/npm/node_modules/@sigstore/core": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -11504,52 +11638,43 @@ } }, "node_modules/npm/node_modules/@sigstore/sign": { - "version": "4.0.1", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.0.0", + "@sigstore/core": "^3.1.0", "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.2", - "proc-log": "^5.0.0", + "make-fetch-happen": "^15.0.3", + "proc-log": "^6.1.0", "promise-retry": "^2.0.1" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/proc-log": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.5.0", - "tuf-js": "^4.0.0" + "tuf-js": "^4.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@sigstore/verify": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.0.0", + "@sigstore/core": "^3.1.0", "@sigstore/protobuf-specs": "^0.5.0" }, "engines": { @@ -11566,33 +11691,18 @@ } }, "node_modules/npm/node_modules/@tufjs/models": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" + "minimatch": "^10.1.1" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/npm/node_modules/abbrev": { "version": "4.0.0", "dev": true, @@ -11632,12 +11742,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/bin-links": { "version": "6.0.0", "dev": true, @@ -11666,15 +11770,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/npm/node_modules/cacache": { "version": "20.0.3", "dev": true, @@ -11719,7 +11814,7 @@ } }, "node_modules/npm/node_modules/ci-info": { - "version": "4.3.1", + "version": "4.4.0", "dev": true, "funding": [ { @@ -11734,7 +11829,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "5.0.1", + "version": "5.0.2", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -11768,10 +11863,13 @@ } }, "node_modules/npm/node_modules/common-ancestor-path": { - "version": "1.0.1", + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", @@ -11803,7 +11901,7 @@ } }, "node_modules/npm/node_modules/diff": { - "version": "8.0.2", + "version": "8.0.3", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -11870,12 +11968,12 @@ } }, "node_modules/npm/node_modules/glob": { - "version": "13.0.0", + "version": "13.0.2", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.1.1", + "minimatch": "^10.1.2", "minipass": "^7.1.2", "path-scurry": "^2.0.0" }, @@ -11998,7 +12096,7 @@ } }, "node_modules/npm/node_modules/ip-address": { - "version": "10.0.1", + "version": "10.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -12019,12 +12117,12 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "6.0.1", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "5.0.1" + "cidr-regex": "^5.0.1" }, "engines": { "node": ">=20" @@ -12040,12 +12138,12 @@ } }, "node_modules/npm/node_modules/isexe": { - "version": "3.1.1", + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/npm/node_modules/json-parse-even-better-errors": { @@ -12101,12 +12199,12 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "8.0.12", + "version": "8.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.1.9", + "@npmcli/arborist": "^9.3.0", "@npmcli/installed-package-contents": "^4.0.0", "binary-extensions": "^3.0.0", "diff": "^8.0.2", @@ -12120,12 +12218,12 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "10.1.11", + "version": "10.2.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.1.9", + "@npmcli/arborist": "^9.3.0", "@npmcli/package-json": "^7.0.0", "@npmcli/run-script": "^10.0.0", "ci-info": "^4.0.0", @@ -12143,12 +12241,12 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "7.0.12", + "version": "7.0.15", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.1.9" + "@npmcli/arborist": "^9.3.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -12168,12 +12266,12 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "9.0.12", + "version": "9.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.1.9", + "@npmcli/arborist": "^9.3.0", "@npmcli/run-script": "^10.0.0", "npm-package-arg": "^13.0.0", "pacote": "^21.0.2" @@ -12243,10 +12341,10 @@ } }, "node_modules/npm/node_modules/lru-cache": { - "version": "11.2.2", + "version": "11.2.6", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" } @@ -12274,12 +12372,12 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "10.1.1", + "version": "10.1.2", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "@isaacs/brace-expansion": "^5.0.1" }, "engines": { "node": "20 || >=22" @@ -12310,13 +12408,13 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", + "minipass-sized": "^2.0.0", "minizlib": "^3.0.1" }, "engines": { @@ -12375,24 +12473,12 @@ } }, "node_modules/npm/node_modules/minipass-sized": { - "version": "1.0.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { "node": ">=8" @@ -12435,7 +12521,7 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "12.1.0", + "version": "12.2.0", "dev": true, "inBundle": true, "license": "MIT", @@ -12447,7 +12533,7 @@ "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", - "tar": "^7.5.2", + "tar": "^7.5.4", "tinyglobby": "^0.2.12", "which": "^6.0.0" }, @@ -12612,7 +12698,7 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "21.0.4", + "version": "21.3.1", "dev": true, "inBundle": true, "license": "ISC", @@ -12657,7 +12743,7 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -12673,7 +12759,7 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "7.1.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "MIT", @@ -12792,7 +12878,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.7.3", + "version": "7.7.4", "dev": true, "inBundle": true, "license": "ISC", @@ -12816,17 +12902,17 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.0.0", + "@sigstore/core": "^3.1.0", "@sigstore/protobuf-specs": "^0.5.0", - "@sigstore/sign": "^4.0.0", - "@sigstore/tuf": "^4.0.0", - "@sigstore/verify": "^3.0.0" + "@sigstore/sign": "^4.1.0", + "@sigstore/tuf": "^4.0.1", + "@sigstore/verify": "^3.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -12913,7 +12999,7 @@ "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { - "version": "13.0.0", + "version": "13.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -12963,7 +13049,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "7.5.2", + "version": "7.5.7", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -13054,14 +13140,14 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "4.0.0", - "debug": "^4.4.1", - "make-fetch-happen": "^15.0.0" + "@tufjs/models": "4.1.0", + "debug": "^4.4.3", + "make-fetch-happen": "^15.0.1" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -13118,7 +13204,7 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "7.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -13136,12 +13222,12 @@ } }, "node_modules/npm/node_modules/which": { - "version": "6.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -13275,7 +13361,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -13759,13 +13845,13 @@ } }, "node_modules/ovsx": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/ovsx/-/ovsx-0.10.7.tgz", - "integrity": "sha512-UjBQlB5xSDD+biAylCZ8Q/k3An9K3y9FYa+hT/HTbJkzOQP+gaNHX20CaOo4lrYT1iJXdiePH9zS2uvCXdDNDA==", + "version": "0.10.9", + "resolved": "https://registry.npmjs.org/ovsx/-/ovsx-0.10.9.tgz", + "integrity": "sha512-gY6912U50YzzNdAEFr9IxAqu59pKySXZzJUxzHRzi3/h/fWFdDDFCCXyjik6VL4TmiVKeor1Yv/cg7I3KfOUuQ==", "dev": true, "license": "EPL-2.0", "dependencies": { - "@vscode/vsce": "^3.2.1", + "@vscode/vsce": "^3.7.1", "commander": "^6.2.1", "follow-redirects": "^1.14.6", "is-ci": "^2.0.0", @@ -13775,7 +13861,7 @@ "yauzl-promise": "^4.0.0" }, "bin": { - "ovsx": "lib/ovsx" + "ovsx": "bin/ovsx" }, "engines": { "node": ">= 20" @@ -14156,9 +14242,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -14183,13 +14269,14 @@ "license": "MIT" }, "node_modules/peowly": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/peowly/-/peowly-1.3.2.tgz", - "integrity": "sha512-BYIrwr8JCXY49jUZscgw311w9oGEKo7ux/s+BxrhKTQbiQ0iYNdZNJ5LgagaeercQdFHwnR7Z5IxxFWVQ+BasQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/peowly/-/peowly-1.3.3.tgz", + "integrity": "sha512-5UmUtvuCv3KzBX2NuQw2uF28o0t8Eq4KkPRZfUCzJs+DiNVKw7OaYn29vNDgrt/Pggs23CPlSTqgzlhHJfpT0A==", "dev": true, "license": "MIT", "engines": { - "node": ">=18.6.0" + "node": ">=18.6.0", + "typescript": ">=5.8" } }, "node_modules/picocolors": { @@ -14436,9 +14523,9 @@ } }, "node_modules/prettier": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", - "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "bin": { @@ -14500,14 +14587,13 @@ } }, "node_modules/prettier-plugin-packagejson": { - "version": "2.5.20", - "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.20.tgz", - "integrity": "sha512-G8cowPh+QmJJECTZlrPDKWkVVcwrFjF2rGcw546w3N8blLoc4szSs8UUPfFVxHUNLUjiru71Ah83g1lZkeK9Bw==", + "version": "2.5.22", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.22.tgz", + "integrity": "sha512-G6WalmoUssKF8ZXkni0+n4324K+gG143KPysSQNW+FrR0XyNb3BdRxchGC/Q1FE/F702p7/6KU7r4mv0WSWbzA==", "dev": true, "license": "MIT", "dependencies": { - "sort-package-json": "3.5.0", - "synckit": "0.11.11" + "sort-package-json": "3.6.0" }, "peerDependencies": { "prettier": ">= 1.16.0" @@ -14580,6 +14666,7 @@ "dev": true, "hasInstallScript": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -14631,9 +14718,9 @@ } }, "node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -14754,42 +14841,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-package-up/node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/read-package-up/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/read-package-up/node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-package-up/node_modules/read-pkg": { + "node_modules/read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", @@ -14809,7 +14874,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-package-up/node_modules/type-fest": { + "node_modules/read-pkg/node_modules/type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", @@ -14822,7 +14887,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-package-up/node_modules/unicorn-magic": { + "node_modules/read-pkg/node_modules/unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", @@ -14835,42 +14900,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-10.0.0.tgz", - "integrity": "sha512-A70UlgfNdKI5NSvTTfHzLQj7NJRpJ4mT5tGafkllJ4wh71oYuGm/pzphHcmW4s35iox56KSK721AihodoXSc/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.4", - "normalize-package-data": "^8.0.0", - "parse-json": "^8.3.0", - "type-fest": "^5.2.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.3.1.tgz", - "integrity": "sha512-VCn+LMHbd4t6sF3wfU/+HKT63C9OoyrSIf4b+vtWHpt2U7/4InZG467YDNMFMR70DdHjAdpPWmw2lzRdg0Xqqg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "dependencies": { - "tagged-tag": "^1.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -14972,13 +15001,13 @@ } }, "node_modules/registry-auth-token": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", - "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", "dev": true, "license": "MIT", "dependencies": { - "@pnpm/npm-conf": "^2.1.0" + "@pnpm/npm-conf": "^3.0.2" }, "engines": { "node": ">=14" @@ -15136,14 +15165,40 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/balanced-match": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz", + "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jackspeak": "^4.2.3" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/rimraf/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.3.tgz", + "integrity": "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.1.1", + "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" }, @@ -15155,13 +15210,13 @@ } }, "node_modules/rimraf/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz", + "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.2" }, "engines": { "node": "20 || >=22" @@ -15290,11 +15345,14 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", - "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", "dev": true, - "license": "BlueOak-1.0.0" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } }, "node_modules/schema-utils": { "version": "4.3.3", @@ -15338,91 +15396,10 @@ "node": ">=20.0.0" } }, - "node_modules/secretlint/node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/secretlint/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/secretlint/node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/secretlint/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/secretlint/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/secretlint/node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release": { - "version": "25.0.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.2.tgz", - "integrity": "sha512-6qGjWccl5yoyugHt3jTgztJ9Y0JVzyH8/Voc/D8PlLat9pwxQYXz7W1Dpnq5h0/G5GCYGUaDSlYcyk3AMh5A6g==", + "version": "25.0.3", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.3.tgz", + "integrity": "sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==", "dev": true, "license": "MIT", "dependencies": { @@ -15452,7 +15429,6 @@ "read-package-up": "^12.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", - "semver-diff": "^5.0.0", "signale": "^1.2.1", "yargs": "^18.0.0" }, @@ -15464,9 +15440,9 @@ } }, "node_modules/semantic-release-vsce": { - "version": "6.0.20", - "resolved": "https://registry.npmjs.org/semantic-release-vsce/-/semantic-release-vsce-6.0.20.tgz", - "integrity": "sha512-F8WNK/l9TmB21qYQYn7hWQ40aae5jyhuck4Q96kxzlpC1AiIb7piM2OH/I9nBP3ByiEcVJ9fK+Z3A1f//3iBQg==", + "version": "6.0.24", + "resolved": "https://registry.npmjs.org/semantic-release-vsce/-/semantic-release-vsce-6.0.24.tgz", + "integrity": "sha512-zKCx4LgOeZV+ff4I2FwDPhsOlSPd6ZKElt+82j2biwjAlDx7zT9QFm5lSHDEl6bb6WYfCxhtEmDfo23u/3JNQA==", "dev": true, "license": "MIT", "dependencies": { @@ -15494,14 +15470,40 @@ "node": ">=18" } }, + "node_modules/semantic-release-vsce/node_modules/balanced-match": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz", + "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jackspeak": "^4.2.3" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/semantic-release-vsce/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/semantic-release-vsce/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.3.tgz", + "integrity": "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.1.1", + "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" }, @@ -15513,13 +15515,13 @@ } }, "node_modules/semantic-release-vsce/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz", + "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.2" }, "engines": { "node": "20 || >=22" @@ -15659,15 +15661,30 @@ } }, "node_modules/semantic-release/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" } }, + "node_modules/semantic-release/node_modules/normalize-package-data": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-8.0.0.tgz", + "integrity": "sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^9.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/semantic-release/node_modules/p-reduce": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", @@ -15699,6 +15716,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/read-pkg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-10.1.0.tgz", + "integrity": "sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.4", + "normalize-package-data": "^8.0.0", + "parse-json": "^8.3.0", + "type-fest": "^5.4.4", + "unicorn-magic": "^0.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -15728,9 +15765,9 @@ } }, "node_modules/semantic-release/node_modules/type-fest": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.3.1.tgz", - "integrity": "sha512-VCn+LMHbd4t6sF3wfU/+HKT63C9OoyrSIf4b+vtWHpt2U7/4InZG467YDNMFMR70DdHjAdpPWmw2lzRdg0Xqqg==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.4.tgz", + "integrity": "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==", "dev": true, "license": "(MIT OR CC0-1.0)", "dependencies": { @@ -15743,6 +15780,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/unicorn-magic": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", + "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/wrap-ansi": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", @@ -15790,9 +15840,9 @@ } }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -15802,23 +15852,6 @@ "node": ">=10" } }, - "node_modules/semver-diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-5.0.0.tgz", - "integrity": "sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==", - "deprecated": "Deprecated as the semver package now supports this built-in.", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", @@ -16231,26 +16264,26 @@ } }, "node_modules/sort-object-keys": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-2.0.1.tgz", - "integrity": "sha512-R89fO+z3x7hiKPXX5P0qim+ge6Y60AjtlW+QQpRozrrNcR1lw9Pkpm5MLB56HoNvdcLHL4wbpq16OcvGpEDJIg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-2.1.0.tgz", + "integrity": "sha512-SOiEnthkJKPv2L6ec6HMwhUcN0/lppkeYuN1x63PbyPRrgSPIuBJCiYxYyvWRTtjMlOi14vQUCGUJqS6PLVm8g==", "dev": true, "license": "MIT" }, "node_modules/sort-package-json": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-3.5.0.tgz", - "integrity": "sha512-moY4UtptUuP5sPuu9H9dp8xHNel7eP5/Kz/7+90jTvC0IOiPH2LigtRM/aSFSxreaWoToHUVUpEV4a2tAs2oKQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-3.6.0.tgz", + "integrity": "sha512-fyJsPLhWvY7u2KsKPZn1PixbXp+1m7V8NWqU8CvgFRbMEX41Ffw1kD8n0CfJiGoaSfoAvbrqRRl/DcHO8omQOQ==", "dev": true, "license": "MIT", "dependencies": { - "detect-indent": "^7.0.1", + "detect-indent": "^7.0.2", "detect-newline": "^4.0.1", - "git-hooks-list": "^4.0.0", + "git-hooks-list": "^4.1.1", "is-plain-obj": "^4.1.0", - "semver": "^7.7.1", - "sort-object-keys": "^2.0.0", - "tinyglobby": "^0.2.12" + "semver": "^7.7.3", + "sort-object-keys": "^2.0.1", + "tinyglobby": "^0.2.15" }, "bin": { "sort-package-json": "cli.js" @@ -16334,7 +16367,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -16836,9 +16869,9 @@ } }, "node_modules/synckit": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", - "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17017,7 +17050,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -17063,9 +17096,9 @@ } }, "node_modules/tempy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", - "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.2.0.tgz", + "integrity": "sha512-d79HhZya5Djd7am0q+W4RTsSU+D/aJzM+4Y4AGJGuGlgM2L6sx5ZvOYTmZjqPhrDrV6xJTtRSm1JCLj6V6LHLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17125,9 +17158,9 @@ } }, "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -17215,7 +17248,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -17413,23 +17446,23 @@ } }, "node_modules/trbr": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/trbr/-/trbr-0.1.24.tgz", - "integrity": "sha512-XRp3dweW4N04TvnQmdiAYIynZA60esM81nTPUp5YLRoYb+jTiFMcqDuuksbxF9w8wuamf3uL2V3Rj7cQ7IEdlw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/trbr/-/trbr-0.3.0.tgz", + "integrity": "sha512-aZA1tilctITMuHPv2eZPAxBqmy0WvUlz0YIhPgq7ZXHeFi+YlXiRac3gmBb+8DQ0UWhlJ17kQLslasdcGjviZw==", "license": "GPL-3.0", "dependencies": { "clipboardy": "^4.0.0", "commander": "^12.1.0", - "debug": "^4.4.0", - "fqbn": "^1.3.0", + "debug": "^4.4.3", + "fqbn": "^1.4.0", "lodash.debounce": "^4.0.8", "tinyrainbow": "^2.0.0" } }, "node_modules/ts-api-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.3.0.tgz", - "integrity": "sha512-6eg3Y9SF7SsAvGzRHQvvc1skDAhwI4YQ32ui1scxD1Ccr0G5qIIbUBT3pFTKX8kmWIQClHobtUdNuaBgwdfdWg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -17480,7 +17513,8 @@ "resolved": "https://registry.npmjs.org/ts-error/-/ts-error-1.0.6.tgz", "integrity": "sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/ts-loader": { "version": "9.5.4", @@ -17718,16 +17752,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.51.0.tgz", - "integrity": "sha512-jh8ZuM5oEh2PSdyQG9YAEM1TCGuWenLSuSUhf/irbVUNW9O5FhbFVONviN2TgMTBnUmyHv7E56rYnfLZK6TkiA==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.55.0.tgz", + "integrity": "sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.51.0", - "@typescript-eslint/parser": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0", - "@typescript-eslint/utils": "8.51.0" + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/utils": "8.55.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -17789,9 +17823,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", - "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==", + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", + "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", "dev": true, "license": "MIT", "engines": { @@ -18003,24 +18037,24 @@ } }, "node_modules/vscode-arduino-api": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vscode-arduino-api/-/vscode-arduino-api-0.2.1.tgz", - "integrity": "sha512-s0IPhIvpuPXM+aW483QmAewB7T70KklBL8OtmQqWDhPnIB+Kx+AqXCHjyM/dXwZonQMoqH3+JX3BpGaWoRT5Cw==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/vscode-arduino-api/-/vscode-arduino-api-0.2.4.tgz", + "integrity": "sha512-1ti0Yu0EcBthM1ZX0gQpXZTPyXFIVvqlr6u7MYn9gvxg4mhAQaB6VDanxO3S25RnBM21ROeNNCSt7Mp2cNl5ww==", "dev": true, "license": "MIT", - "dependencies": { - "@types/vscode": "^1.78.0", - "ardunno-cli": "^0.1.8", - "boards-list": "^1.1.0" - }, "engines": { "vscode": "^1.78.0" + }, + "peerDependencies": { + "@types/vscode": "^1.78.0", + "ardunno-cli": "^0.1.12", + "boards-list": "^2.0.0" } }, "node_modules/watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, "license": "MIT", "dependencies": { @@ -18039,9 +18073,9 @@ "license": "Apache-2.0" }, "node_modules/webpack": { - "version": "5.104.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", - "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", + "version": "5.105.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", + "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", "dev": true, "license": "MIT", "dependencies": { @@ -18055,7 +18089,7 @@ "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.4", + "enhanced-resolve": "^5.19.0", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -18068,7 +18102,7 @@ "schema-utils": "^4.3.3", "tapable": "^2.3.0", "terser-webpack-plugin": "^5.3.16", - "watchpack": "^2.4.4", + "watchpack": "^2.5.1", "webpack-sources": "^3.3.3" }, "bin": { @@ -18304,9 +18338,9 @@ "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -18356,18 +18390,18 @@ "license": "Apache-2.0" }, "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -18415,42 +18449,27 @@ "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/wrappy": { diff --git a/package.json b/package.json index c2a47f7..2815515 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "scripts": { "prebuild": "rimraf dist", "build": "webpack --mode production --devtool hidden-source-map", + "build:debug": "webpack --mode development --devtool source-map", "clean": "rimraf dist out *.vsix", "compile": "webpack && vsce package", "compile-tests": "tsc -p . --outDir out", @@ -44,7 +45,7 @@ "release": "semantic-release", "pretest": "npm run compile-tests && npm run compile", "test": "node ./out/test/runTest.js", - "watch": "webpack --watch", + "watch": "webpack --mode development --devtool source-map --watch", "watch-tests": "tsc -p . -w --outDir out" }, "contributes": { @@ -53,16 +54,219 @@ "command": "espExceptionDecoder.showTerminal", "title": "Show Decoder Terminal", "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerCreate", + "title": "Create Crash Capturer", + "icon": "$(add)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerRemove", + "title": "Delete Crash Capturer", + "icon": "$(close)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerStart", + "title": "Start Capturing", + "icon": "$(record)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerStop", + "title": "Stop Capturing", + "icon": "$(debug-stop)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerRefresh", + "title": "Refresh", + "icon": "$(refresh)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerReplayCrash", + "title": "Replay Crash", + "icon": "$(debug-rerun)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerShowEvent", + "title": "Preview Crash Event", + "icon": "$(open-preview)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerDeleteEvent", + "title": "Delete Crash Event", + "icon": "$(close)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerDeleteAllEvents", + "title": "Delete All Crash Events", + "icon": "$(clear-all)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.dumpCrashCapturerState", + "title": "Dump ESP Crash Capturer State", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerCopyToClipboard", + "title": "Copy to Clipboard", + "category": "ESP Exception Decoder" + } + ], + "debuggers": [ + { + "type": "esp-crash-replay", + "label": "ESP Crash Replay" + } + ], + "menus": { + "view/title": [ + { + "command": "espExceptionDecoder.capturerCreate", + "when": "view == espExceptionDecoder.capturerView", + "group": "navigation@1" + }, + { + "command": "espExceptionDecoder.capturerRefresh", + "when": "view == espExceptionDecoder.capturerView", + "group": "navigation@2" + } + ], + "view/item/context": [ + { + "command": "espExceptionDecoder.capturerStart", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootReady || viewItem == espCapturerRootReadyHasEvents)", + "group": "inline@1" + }, + { + "command": "espExceptionDecoder.capturerStop", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturing || viewItem == espCapturerRootCapturingHasEvents)", + "group": "inline@1" + }, + { + "command": "espExceptionDecoder.capturerRemove", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturing || viewItem == espCapturerRootCapturingHasEvents)", + "group": "inline@2" + }, + { + "command": "espExceptionDecoder.capturerRemove", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootStopped || viewItem == espCapturerRootStoppedHasEvents)", + "group": "inline@2" + }, + { + "command": "espExceptionDecoder.capturerRemove", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootReady || viewItem == espCapturerRootReadyHasEvents)", + "group": "inline@2" + }, + { + "command": "espExceptionDecoder.capturerDeleteAllEvents", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingHasEvents || viewItem == espCapturerRootReadyHasEvents || viewItem == espCapturerRootStoppedHasEvents)", + "group": "inline@2" + }, + { + "command": "espExceptionDecoder.capturerShowEvent", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerEventDetected || viewItem == espCapturerEventDecoding || viewItem == espCapturerEventDecoded || viewItem == espCapturerEventEvaluating || viewItem == espCapturerEventEvaluated)", + "group": "inline@1" + }, + { + "command": "espExceptionDecoder.capturerReplayCrash", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerEventDecoded || viewItem == espCapturerEventEvaluated)", + "group": "inline@2" + }, + { + "command": "espExceptionDecoder.capturerDeleteEvent", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerEventDetected || viewItem == espCapturerEventDecoding || viewItem == espCapturerEventDecoded || viewItem == espCapturerEventEvaluating || viewItem == espCapturerEventEvaluated)", + "group": "inline@3" + } + ], + "commandPalette": [ + { + "command": "espExceptionDecoder.capturerCreate", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerRemove", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerStart", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerStop", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerRefresh", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerReplayCrash", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerDeleteEvent", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerDeleteAllEvents", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerShowEvent", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerCopyToClipboard", + "when": "false" + } + ] + }, + "views": { + "espExceptionDecoderPanel": [ + { + "id": "espExceptionDecoder.capturerView", + "name": "ESP Crash Capturer", + "icon": "$(debug-console)" + } + ] + }, + "viewsContainers": { + "panel": [ + { + "id": "espExceptionDecoderPanel", + "title": "ESP Decoder", + "icon": "$(debug-console)" + } + ] + }, + "viewsWelcome": [ + { + "view": "espExceptionDecoder.capturerView", + "when": "espExceptionDecoder.capturerAvailable", + "contents": "Use Capturer to automatically detect crashes and group repeated crash signatures.\n\nTo get started, select a sketch, choose an ESP32 or ESP8266 board, compile and upload the sketch, then start Capturer instead of a regular serial monitor. [Create your first ESP Crash Capturer](command:espExceptionDecoder.capturerCreate \"Create a new ESP Crash Capturer\"). After that, use the $(add) action in the view title to add more capturers." } ] }, "activationEvents": [ - "onStartupFinished" + "onStartupFinished", + "onFileSystem:espExceptionDecoderReadonlyFs", + "onFileSystem:espExceptionDecoderCrashReport" ], "dependencies": { + "@vscode/debugadapter": "^1.68.0", "debug": "^4.4.3", - "fqbn": "^1.3.1", - "trbr": "^0.1.24" + "error-replay-debug-adapter": "^0.1.1", + "fqbn": "^1.4.0", + "markdown-escape": "^2.0.0", + "trbr": "^0.3.0" }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.2", @@ -73,7 +277,7 @@ "@semantic-release/github": "^12.0.0", "@semantic-release/release-notes-generator": "^14.1.0", "@types/debug": "^4.1.12", - "@types/glob": "^9.0.0", + "@types/markdown-escape": "^1.1.3", "@types/mocha": "^10.0.10", "@types/node": "20.x", "@types/temp": "^0.9.1", @@ -81,7 +285,8 @@ "@typescript-eslint/eslint-plugin": "^8.44.1", "@typescript-eslint/parser": "^8.44.1", "@vscode/test-electron": "^2.5.2", - "@vscode/vsce": "^3.6.2", + "@vscode/vsce": "^3.7.1", + "boards-list": "^2.0.0", "eslint": "^9.31.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-import": "^2.32.0", @@ -100,7 +305,7 @@ "temp": "^0.9.4", "ts-loader": "^9.5.4", "typescript": "^5.0.4", - "vscode-arduino-api": "^0.2.1", + "vscode-arduino-api": "^0.2.4", "webpack": "^5.81.0", "webpack-cli": "^5.0.2" }, diff --git a/src/boardLabExt.ts b/src/boardLabExt.ts new file mode 100644 index 0000000..357cc1e --- /dev/null +++ b/src/boardLabExt.ts @@ -0,0 +1,54 @@ +import type { DetectedPorts } from 'boards-list' +import type { Event } from 'vscode' +import type { Port } from 'vscode-arduino-api' + +export type MonitorRuntimeState = + | 'disconnected' + | 'connected' + | 'running' + | 'suspended' + +export interface MonitorClient { + readonly port: Port + readonly state: MonitorRuntimeState + readonly onDidReceiveData: Event + readonly onDidChangeState: Event + send(message: string | Uint8Array): Promise + dispose(): void +} + +export interface MonitorSuspensionOptions { + retry?: number +} + +export interface MonitorSuspensionResult { + result: Promise +} + +export interface BoardsListWatcher { + readonly detectedPorts: DetectedPorts + readonly onDidChangeDetectedPorts: Event +} + +// https://github.com/dankeboy36/vscode-arduino-api/issues/19 +export interface BoardLabContextExt { + createMonitorClient( + port: Port, + options?: { autoStart?: boolean; baudrate?: string } + ): Promise + withMonitorSuspended( + port: Port, + run: (options?: MonitorSuspensionOptions) => Promise, + options?: MonitorSuspensionOptions + ): Promise + readonly boardsListWatcher?: BoardsListWatcher +} + +export function isBoardLabContextExt(arg: unknown): arg is BoardLabContextExt { + return ( + typeof arg === 'object' && + arg !== null && + typeof (arg).createMonitorClient === 'function' && + typeof (arg).withMonitorSuspended === 'function' + ) +} diff --git a/src/capturer.ts b/src/capturer.ts new file mode 100644 index 0000000..b68f2d4 --- /dev/null +++ b/src/capturer.ts @@ -0,0 +1,205 @@ +import type { CapturerEvent, DecodeResult } from 'trbr' +import type vscode from 'vscode' +import type { ArduinoContext } from 'vscode-arduino-api' + +import type { BoardLabContextExt } from './boardLabExt' +import { capturerConfigStateKey } from './capturer/constants' +import { + CapturerManager as CapturerManagerImpl, + __tests as __testsImpl, + registerCapturer as registerCapturerImpl, +} from './capturer/crashCaptureManager' +import type { + CapturerConfig, + CapturerConfigDraft, + CapturerConfigValidationResult, + CapturerDecodedEventPayload, + CapturerEventSummary, + CapturerNode, + CapturerRemovedCapturerMeta, + CapturerRemovedEventMeta, + CapturerRuntime, + CompileBuildOptionsInfo, +} from './capturer/model' + +export type { + CapturerDecodedEventMeta, + CapturerDecodedEventPayload, + CapturerEventNode, + CapturerFrameNode, + CapturerNode, + CapturerRemovedCapturerMeta, + CapturerRemovedEventMeta, + CapturerRootNode, +} from './capturer/model' + +type EvaluateDecodedEvent = ( + payload: CapturerDecodedEventPayload +) => Promise + +type OnDecodedEvent = ( + payload: CapturerDecodedEventPayload +) => Promise | void + +type OnRemovedDecodedEvent = ( + payload: CapturerRemovedEventMeta +) => Promise | void + +type OnRemovedCapturer = ( + payload: CapturerRemovedCapturerMeta +) => Promise | void + +export interface CapturerManagerApi + extends vscode.Disposable, vscode.TreeDataProvider { + readonly onDidChangeTreeData: vscode.Event + bindTreeView(treeView: vscode.TreeView): void + addUsingBoardLabPickers(): Promise + addConfig(draft: CapturerConfigDraft): Promise + removeConfig( + target?: CapturerNode, + options?: { force?: boolean } + ): Promise + startCapturer(target?: CapturerNode): Promise + stopCapturer(target?: CapturerNode): Promise + refresh(target?: CapturerNode): Promise + compileSketch(target?: CapturerNode): Promise + compileSketchWithDebugSymbols(target?: CapturerNode): Promise + copyToClipboard(arg?: unknown): Promise + replayRecording( + target?: CapturerNode, + recordingUri?: vscode.Uri + ): Promise + replayEvent(target?: CapturerNode): Promise + deleteEvent(target?: CapturerNode): Promise + deleteAllEvents(target?: CapturerNode): Promise + dumpCapturerState(target?: CapturerNode): Promise + showEvent(target?: CapturerNode): Promise + getTreeItem(element: CapturerNode): vscode.TreeItem + getChildren(element?: CapturerNode): CapturerNode[] + getParent(element: CapturerNode): CapturerNode | undefined +} + +type CapturerManagerCtor = new ( + context: vscode.ExtensionContext, + arduinoContext: ArduinoContext & BoardLabContextExt, + crashReportProvider?: unknown, + evaluateDecodedEvent?: EvaluateDecodedEvent, + onDecodedEvent?: OnDecodedEvent, + onRemovedDecodedEvent?: OnRemovedDecodedEvent, + onRemovedCapturer?: OnRemovedCapturer +) => CapturerManagerApi + +type RegisterCapturer = ( + context: vscode.ExtensionContext, + arduinoContext: ArduinoContext, + options?: { + evaluateDecodedEvent?: EvaluateDecodedEvent + onDecodedEvent?: OnDecodedEvent + onRemovedDecodedEvent?: OnRemovedDecodedEvent + onRemovedCapturer?: OnRemovedCapturer + } +) => vscode.Disposable + +interface CapturerTestExports { + capturerConfigStateKey: typeof capturerConfigStateKey + validateCapturerConfig: ( + value: Partial + ) => CapturerConfigValidationResult + buildCapturerId: (config: CapturerConfigDraft) => string + loadPersistedConfigs: (values: unknown[]) => CapturerConfig[] + pathEquals: (left: string, right: string) => boolean + isPortIdentifierLike: (arg: unknown) => boolean + isPortDetected: ( + detectedPorts: unknown, + port: { protocol: string; address: string } | undefined + ) => boolean | undefined + extractDetectedPorts: ( + detectedPorts: unknown + ) => Array<{ protocol: string; address: string }> | undefined + arePortsEqual: ( + left: { protocol: string; address: string }, + right: { protocol: string; address: string } + ) => boolean + pickNonEmptyString: ( + record: Record, + key: string + ) => string | undefined + isRecord: (value: unknown) => value is Record + resolveSketchBoardName: ( + sketch: { board?: { name?: string; fqbn?: string } } | undefined, + engineFqbn: string + ) => string | undefined + toEventSummary: ( + event: CapturerEvent, + runtime?: CapturerRuntime + ) => CapturerEventSummary + upsertEventSummary: ( + cache: Map, + event: CapturerEvent, + runtime?: CapturerRuntime + ) => CapturerEventSummary + splitReplaySegments: (rawText: string) => string[] + loadCompileBuildOptions: ( + buildPath: string + ) => Promise + collectBuildFlagEntries: (record: Record) => string[] + isReadinessEqual: ( + left: CapturerRuntime['readiness'], + right: CapturerRuntime['readiness'] + ) => boolean + isBuildOptionsEqual: ( + left: CompileBuildOptionsInfo | undefined, + right: CompileBuildOptionsInfo | undefined + ) => boolean + isElfIdentityEqual: ( + left: + | { + path: string + size: number + mtimeMs: number + sha256: string + sessionId: string + } + | undefined, + right: + | { + path: string + size: number + mtimeMs: number + sha256: string + sessionId: string + } + | undefined + ) => boolean + areStringArraysEqual: (left: string[], right: string[]) => boolean + chunkEndsWithLineBreak: (chunk: Uint8Array) => boolean + resetTransferMetrics: (runtime: { + processedBytes: number + processedFirstAt?: number + processedLastAt?: number + }) => void + recordTransfer: ( + runtime: { + processedBytes: number + processedFirstAt?: number + processedLastAt?: number + }, + byteLength: number, + atMs: number + ) => void + classifyDecodedSource: ( + filePath: string | undefined, + sketchPath: string | undefined + ) => 'sketch' | 'library' | 'missing' + isPathInside: (parentPath: string, candidatePath: string) => boolean + workspaceRelativeSketchPath: (sketchPath: string) => string | undefined + eventDisplayLabel: (summary: CapturerEventSummary) => string + collectDecodedStackFrames: ( + decoded?: DecodeResult + ) => DecodeResult['stacktraceLines'] +} + +export const CapturerManager = + CapturerManagerImpl as unknown as CapturerManagerCtor +export const registerCapturer = registerCapturerImpl as RegisterCapturer +export const __tests = __testsImpl as CapturerTestExports diff --git a/src/capturer/constants.ts b/src/capturer/constants.ts new file mode 100644 index 0000000..8a2c540 --- /dev/null +++ b/src/capturer/constants.ts @@ -0,0 +1,42 @@ +export const capturerViewId = 'espExceptionDecoder.capturerView' +export const capturerConfigStateKey = 'espExceptionDecoder.capturer.configs.v1' +export const replayFileStateKey = 'espExceptionDecoder.capturer.replayFile.v1' + +export const statusNoElf = 'No ELF' +export const statusReady = 'Ready' +export const statusCapturing = 'Capturing crashes' +export const statusSuspended = 'Suspended' +export const statusNotCompiled = 'Not compiled' +export const statusDisconnected = 'Disconnected' +export const statusInvalidFqbn = 'Invalid FQBN' +export const statusNotEspBoard = 'Not ESP board' +export const statusError = 'Error' +export const statusWarning = 'Warning' +export const statusNoSketch = 'Missing Sketch' + +export const splitMarker = /^---\s*SNAP\s*---$/im +export const idleFlushDelayMs = 1200 + +export const capturerCreateCommandId = 'espExceptionDecoder.capturerCreate' +export const capturerRemoveCommandId = 'espExceptionDecoder.capturerRemove' +export const capturerStartCommandId = 'espExceptionDecoder.capturerStart' +export const capturerStopCommandId = 'espExceptionDecoder.capturerStop' +export const capturerRefreshCommandId = 'espExceptionDecoder.capturerRefresh' +export const capturerReplayCrashCommandId = + 'espExceptionDecoder.capturerReplayCrash' +export const capturerDeleteEventCommandId = + 'espExceptionDecoder.capturerDeleteEvent' +export const capturerDeleteAllEventsCommandId = + 'espExceptionDecoder.capturerDeleteAllEvents' +export const capturerShowEventCommandId = + 'espExceptionDecoder.capturerShowEvent' +export const capturerCompileSketchCommandId = + 'espExceptionDecoder.capturerCompileSketch' +export const capturerCompileSketchDebugCommandId = + 'espExceptionDecoder.capturerCompileSketchDebug' +export const dumpCapturerStateCommandId = + 'espExceptionDecoder.dumpCrashCapturerState' +export const capturerCopyToClipboardCommandId = + 'espExceptionDecoder.capturerCopyToClipboard' + +export const supportedCapturerArchitectures = new Set(['esp32', 'esp8266']) diff --git a/src/capturer/crashCaptureManager.ts b/src/capturer/crashCaptureManager.ts new file mode 100644 index 0000000..deddbe5 --- /dev/null +++ b/src/capturer/crashCaptureManager.ts @@ -0,0 +1,1783 @@ +// @ts-nocheck +import { createHash } from 'node:crypto' +import * as fs from 'node:fs/promises' +import path from 'node:path' + +import { FQBN } from 'fqbn' +import { createCapturer, decode } from 'trbr' +import vscode from 'vscode' + +import { isBoardLabContextExt } from '../boardLabExt' +import { createDecodeParams } from '../decodeParams' +import { findElfPath, resolveBuildPathFromSketchPath } from '../findElfPath' +import { + capturerCompileSketchCommandId, + capturerCompileSketchDebugCommandId, + capturerConfigStateKey, + capturerCopyToClipboardCommandId, + capturerCreateCommandId, + capturerDeleteAllEventsCommandId, + capturerDeleteEventCommandId, + capturerRefreshCommandId, + capturerRemoveCommandId, + capturerReplayCrashCommandId, + capturerShowEventCommandId, + capturerStartCommandId, + capturerStopCommandId, + capturerViewId, + dumpCapturerStateCommandId, + idleFlushDelayMs, + replayFileStateKey, + splitMarker, + supportedCapturerArchitectures, +} from './constants' +import { + CrashReportContentProvider, + ReadonlyFsProvider, + crashReportScheme, + readonlyLibraryScheme, + toReadonlyLibraryUri, +} from './fsProviders' +import { + collectDecodedStackFrames, + countHeavyVars, + eventDisplayLabel, + formatLocalTimestamp, + frameToDescription, + frameToLabel, + toCapturerStateDumpMarkdown, + toEventReportDocumentMarkdown, + toEventTreeItemMarkdown, + toParsedFrameLocation, + toRootTreeItemMarkdown, +} from './markdown' +import { + collectRuntimeProblems, + eventContextValue, + isReadyToRecord, + isRuntimeConnected, + resolveRootDescription, + rootContextValue, + sanitizeFqbn, + toRootLabel, +} from './runtimeModel' +import { CapturerTreeModel } from './treeModel' + +export type { + CapturerDecodedEventMeta, + CapturerDecodedEventPayload, + CapturerEventNode, + CapturerFrameNode, + CapturerNode, + CapturerRemovedCapturerMeta, + CapturerRemovedEventMeta, + CapturerRootNode, +} from './model' +export class CapturerManager { + constructor( + context, + arduinoContext, + crashReportProvider, + evaluateDecodedEvent, + onDecodedEvent, + onRemovedDecodedEvent, + onRemovedCapturer + ) { + this.context = context + this.arduinoContext = arduinoContext + this.evaluateDecodedEvent = evaluateDecodedEvent + this.onDecodedEvent = onDecodedEvent + this.onRemovedDecodedEvent = onRemovedDecodedEvent + this.onRemovedCapturer = onRemovedCapturer + this.onDidChangeTreeDataEmitter = new vscode.EventEmitter() + this.runtimes = new Map() + this.treeModel = new CapturerTreeModel() + this.toDispose = [] + this.configs = [] + this.onDidChangeTreeData = this.onDidChangeTreeDataEmitter.event + this.ownsCrashReportProvider = !crashReportProvider + this.crashReportProvider = + crashReportProvider ?? new CrashReportContentProvider() + const boardsListWatcher = this.arduinoContext.boardsListWatcher + this.configs = loadPersistedConfigs( + this.context.workspaceState.get(capturerConfigStateKey, []) + ) + for (const config of this.configs) { + this.ensureRuntime(config) + this.refreshReadiness(config.id) + } + this.toDispose.push( + this.onDidChangeTreeDataEmitter, + this.arduinoContext.onDidChangeSketch((event) => { + const sketchPath = event.object?.sketchPath + if (!sketchPath) { + return + } + const targets = this.configs.filter((config) => + pathEquals(config.sketchPath, sketchPath) + ) + for (const target of targets) { + this.refreshReadiness(target.id) + } + }), + this.arduinoContext.onDidChangeCurrentSketch((sketch) => { + if (!sketch?.sketchPath) { + return + } + const targets = this.configs.filter((config) => + pathEquals(config.sketchPath, sketch.sketchPath) + ) + for (const target of targets) { + this.refreshReadiness(target.id) + } + }) + ) + if (boardsListWatcher) { + this.toDispose.push( + boardsListWatcher.onDidChangeDetectedPorts(() => { + for (const config of this.configs) { + this.refreshReadiness(config.id) + } + }) + ) + } + } + + dispose() { + for (const runtime of this.runtimes.values()) { + this.disposeRuntime(runtime) + } + this.runtimes.clear() + if (this.ownsCrashReportProvider) { + this.crashReportProvider.dispose() + } + vscode.Disposable.from(...this.toDispose).dispose() + } + + bindTreeView(treeView) { + this.treeView = treeView + } + + async addUsingBoardLabPickers() { + const sketch = await vscode.commands.executeCommand('boardlab.pickSketch') + if (!sketch) return + const board = await vscode.commands.executeCommand('boardlab.pickBoard') + if (!board) return + const port = await vscode.commands.executeCommand('boardlab.pickPort') + if (!port) return + const sketchPath = sketch.uri.fsPath + const draftFromSketch = toDraftFromSketch({ sketchPath, board, port }) + if (draftFromSketch) { + await this.addConfig(draftFromSketch) + } + } + + async addConfig(draft) { + const validated = validateCapturerConfig(draft) + if (!validated.ok) { + vscode.window.showErrorMessage(validated.message) + return undefined + } + const exists = await pathExists(validated.value.sketchPath) + if (!exists) { + vscode.window.showErrorMessage( + `Sketch path does not exist: ${validated.value.sketchPath}` + ) + return undefined + } + const id = buildCapturerId(validated.value) + const config = { id, ...validated.value } + const previousIndex = this.configs.findIndex((entry) => entry.id === id) + if (previousIndex >= 0) { + this.configs[previousIndex] = config + } else { + this.configs = [...this.configs, config] + } + await this.context.workspaceState.update( + capturerConfigStateKey, + this.configs + ) + this.ensureRuntime(config) + await this.refreshReadiness(config.id) + this.refreshTree() + return config + } + + async removeConfig(target, options = { force: false }) { + const configId = await this.resolveConfigId( + target, + 'Select capturer to remove' + ) + if (!configId) return + const configToRemove = this.configs.find((config) => config.id === configId) + if (!configToRemove) return + if (!options.force) { + const answer = await vscode.window.showInformationMessage( + 'Remove Capturer', + { + modal: true, + detail: `Do you want to remove the capturer created for ${path.basename(configToRemove.sketchPath)} on ${configToRemove.port.address} with ${configToRemove.fqbn}?`, + }, + 'Remove' + ) + if (answer !== 'Remove') return + } + const runtime = this.runtimes.get(configId) + if (runtime) { + await this.disposeRuntime(runtime) + this.runtimes.delete(configId) + } + this.treeModel.clearConfig(configId) + this.configs = this.configs.filter((config) => config.id !== configId) + await this.context.workspaceState.update( + capturerConfigStateKey, + this.configs + ) + if (this.onRemovedCapturer) { + try { + await this.onRemovedCapturer({ configId }) + } catch { + // ignore replay/codelens cleanup failures + } + } + this.refreshTree() + } + + async startCapturer(target) { + const configId = await this.resolveConfigId( + target, + 'Select capturer to start' + ) + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + if (runtime.monitor) { + return + } + const problems = (0, collectRuntimeProblems)(runtime) + if (!(0, isReadyToRecord)(runtime, problems)) { + return + } + try { + resetTransferMetrics(runtime) + runtime.monitor = await this.arduinoContext.createMonitorClient( + runtime.config.port, + { autoStart: true } + ) + runtime.monitorState = runtime.monitor.state + runtime.lastError = undefined + runtime.monitorSubscriptions.push( + runtime.monitor.onDidReceiveData((chunk) => { + try { + runtime.capturer.push(chunk) + const now = Date.now() + recordTransfer(runtime, chunk.byteLength, now) + runtime.lastChunkEndedWithLineBreak = chunkEndsWithLineBreak(chunk) + this.scheduleIdleFlush(configId, runtime) + } catch (err) { + runtime.lastError = err instanceof Error ? err.message : String(err) + this.refreshRoot(configId) + } + }), + runtime.monitor.onDidChangeState((state) => { + runtime.monitorState = state + if (state === 'disconnected') { + this.flushRuntime(configId, runtime) + } + this.refreshRoot(configId) + }) + ) + await this.refreshReadiness(configId) + this.refreshRoot(configId) + } catch (err) { + runtime.lastError = err instanceof Error ? err.message : String(err) + this.refreshRoot(configId) + vscode.window.showErrorMessage( + `Failed to start capturer ${runtime.config.port.address}: ${runtime.lastError}` + ) + } + } + + async stopCapturer(target) { + const configId = await this.resolveConfigId( + target, + 'Select capturer to stop' + ) + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + await this.detachMonitor(runtime) + this.refreshRoot(configId) + } + + async refresh(target) { + if (target) { + const configId = await this.resolveConfigId(target, 'Select capturer') + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (runtime) { + try { + runtime.capturer.flush() + } catch (err) { + runtime.lastError = err instanceof Error ? err.message : String(err) + } + } + await this.refreshReadiness(configId) + this.refreshRoot(configId) + return + } + for (const config of this.configs) { + const runtime = this.runtimes.get(config.id) + if (runtime) { + try { + runtime.capturer.flush() + } catch (err) { + runtime.lastError = err instanceof Error ? err.message : String(err) + } + } + await this.refreshReadiness(config.id) + } + this.refreshTree() + } + + async compileSketch(target) { + await this.runCompileForRuntime(target, 'boardlab.compile') + } + + async compileSketchWithDebugSymbols(target) { + await this.runCompileForRuntime(target, 'boardlab.compileWithDebugSymbols') + } + + async runCompileForRuntime(target, command) { + const configId = await this.resolveConfigId( + target, + 'Select capturer to compile sketch' + ) + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + const sketchFolder = this.arduinoContext.openedSketches.find( + ({ sketchPath }) => sketchPath === runtime.config.sketchPath + ) + if (!sketchFolder) { + vscode.window.showInformationMessage( + `Could not find sketch at ${runtime.config.sketchPath}` + ) + return + } + await vscode.commands.executeCommand(command, { + sketchPath: runtime.config.sketchPath, + }) + await this.refreshReadiness(configId) + this.refreshRoot(configId) + } + + async copyToClipboard(arg) { + if (typeof arg !== 'string' || arg.length === 0) { + return + } + await vscode.env.clipboard.writeText(arg) + } + + async replayRecording(target, recordingUri) { + const configId = await this.resolveConfigId( + target, + 'Select capturer for replay' + ) + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + const selectedUri = recordingUri ?? (await this.pickReplayFile())[0] + if (!selectedUri) { + return + } + await this.context.workspaceState.update( + replayFileStateKey, + selectedUri.fsPath + ) + const rawText = await fs.readFile(selectedUri.fsPath, 'utf8') + const encoder = new TextEncoder() + const segments = splitReplaySegments(rawText) + resetTransferMetrics(runtime) + for (const segment of segments) { + const payload = segment.trim().length > 0 ? segment : '' + if (!payload) { + continue + } + const chunk = encoder.encode(`${payload}\n`) + runtime.capturer.push(chunk) + recordTransfer(runtime, chunk.byteLength, Date.now()) + runtime.capturer.flush() + } + this.refreshRoot(configId) + } + + async replayEvent(target) { + if (!target || target.type !== 'event') { + return + } + const runtime = this.runtimes.get(target.configId) + const summary = runtime?.eventsBySignature.get(target.signature) + if (!runtime || !summary) { + return + } + if (!this.evaluateDecodedEvent) { + return + } + if ( + summary.decodeState === 'decoding' || + summary.decodeState === 'evaluating' + ) { + return + } + if (summary.decodeState === 'evaluated' && summary.decodedResult) { + try { + const params = await this.resolveDecodeParams(runtime) + await this.evaluateDecodedEvent({ + meta: toDecodedEventMeta(target.configId, summary), + params, + result: summary.decodedResult, + }) + summary.decodeError = undefined + } catch (err) { + summary.decodeError = err instanceof Error ? err.message : String(err) + } finally { + this.refreshEvent(target.configId, target.signature) + } + return + } + if (summary.decodeState !== 'decoded' || !summary.decodedResult) { + return + } + summary.decodeState = 'evaluating' + this.refreshEvent(target.configId, target.signature) + const evaluateStartAt = Date.now() + try { + const params = await this.resolveDecodeParams(runtime) + await this.evaluateDecodedEvent({ + meta: toDecodedEventMeta(target.configId, summary), + params, + result: summary.decodedResult, + }) + summary.decodeState = 'evaluated' + summary.decodeError = undefined + } catch (err) { + summary.decodeState = 'decoded' + summary.decodeError = err instanceof Error ? err.message : String(err) + } finally { + summary.lastEvaluateDurationMs = Math.max(0, Date.now() - evaluateStartAt) + this.refreshEvent(target.configId, target.signature) + } + } + + async deleteEvent(target) { + if (!target || (target.type !== 'event' && target.type !== 'frame')) { + return + } + const runtime = this.runtimes.get(target.configId) + if (!runtime) { + return + } + const signature = target.signature + if (!runtime.eventsBySignature.has(signature)) { + return + } + this.removeSummaryBySignature(runtime, signature) + this.refreshRoot(target.configId) + } + + async deleteAllEvents(target) { + const configId = await this.resolveConfigId( + target, + 'Select capturer to clear crash events' + ) + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (!runtime || runtime.eventsBySignature.size === 0) { + return + } + for (const signature of [...runtime.eventsBySignature.keys()]) { + this.removeSummaryBySignature(runtime, signature) + } + this.refreshRoot(configId) + } + + async dumpCapturerState(target) { + const runtime = await this.resolveRuntimeForStateDump(target) + if (!runtime) { + return + } + const rawState = runtime.capturer.getRawState() + const distinctEvents = Array.from(runtime.eventsBySignature.values()).sort( + (left, right) => left.firstSeenAt - right.firstSeenAt + ) + await this.showMarkdownReportPreview( + `capturer-state-${path.basename(runtime.config.sketchPath)}`, + (0, toCapturerStateDumpMarkdown)(runtime, rawState, distinctEvents) + ) + } + + async resolveRuntimeForStateDump(target) { + const configIdFromTarget = target?.configId + if (configIdFromTarget) { + return this.runtimes.get(configIdFromTarget) + } + if (this.configs.length === 0) { + vscode.window.showInformationMessage('No ESP Crash Capturer created.') + return undefined + } + if (this.configs.length === 1) { + return this.runtimes.get(this.configs[0].id) + } + const pick = await vscode.window.showQuickPick( + this.configs.map((config) => ({ + label: path.basename(config.sketchPath), + description: `${config.port.address} | ${config.fqbn}`, + detail: config.sketchPath, + configId: config.id, + })), + { + placeHolder: 'Select ESP Crash Capturer state to dump', + } + ) + return pick ? this.runtimes.get(pick.configId) : undefined + } + + async showEvent(target) { + if (!target || target.type !== 'event') { + return + } + const runtime = this.runtimes.get(target.configId) + const summary = runtime?.eventsBySignature.get(target.signature) + if (!runtime || !summary) { + return + } + await this.showMarkdownReportPreview( + `crash-event-${path.basename(runtime.config.sketchPath)}`, + (0, toEventReportDocumentMarkdown)(runtime, summary) + ) + } + + async showMarkdownReportPreview(name, content) { + const reportUri = this.crashReportProvider.createReportUri(name, content) + await vscode.commands.executeCommand('markdown.showPreview', reportUri) + } + + getTreeItem(element) { + if (element.type === 'root') { + const runtime = this.runtimes.get(element.configId) + if (!runtime) { + return new vscode.TreeItem(element.configId) + } + const item = new vscode.TreeItem( + (0, toRootLabel)(runtime), + vscode.TreeItemCollapsibleState.Collapsed + ) + item.id = runtime.config.id + item.description = (0, resolveRootDescription)(runtime) + item.tooltip = (0, toRootTreeItemMarkdown)(runtime) + item.contextValue = (0, rootContextValue)(runtime) + item.iconPath = toRuntimeIcon(runtime) + return item + } + if (element.type === 'frame') { + const runtime = this.runtimes.get(element.configId) + const summary = runtime?.eventsBySignature.get(element.signature) + const frame = summary + ? (0, collectDecodedStackFrames)(summary.decodedResult)[ + element.frameIndex + ] + : undefined + const frameLocation = (0, toParsedFrameLocation)(frame) + const sourceKind = classifyDecodedSource( + frameLocation?.file, + runtime?.config.sketchPath + ) + const sourceAvailability = runtime + ? this.resolveSourceAvailability( + element.configId, + runtime, + frameLocation?.file, + sourceKind + ) + : undefined + const frameUri = + frameLocation && runtime + ? toFrameUri(frameLocation.file, runtime.config.sketchPath) + : undefined + const item = new vscode.TreeItem( + (0, frameToLabel)(frame), + vscode.TreeItemCollapsibleState.None + ) + item.id = `frame:${element.configId}:${element.signature}:${element.frameIndex}` + if (frameUri && frameLocation) { + item.resourceUri = frameUri + item.description = true + item.iconPath = vscode.ThemeIcon.File + const shouldAttachOpenCommand = !( + sourceKind === 'library' && sourceAvailability === 'missing' + ) + if (shouldAttachOpenCommand) { + const line = Math.max(0, frameLocation.line - 1) + item.command = { + command: 'vscode.open', + title: 'Open Frame', + arguments: [ + frameUri, + { + preview: true, + preserveFocus: true, + selection: new vscode.Range(line, 0, line, 0), + }, + ], + } + } + } else { + item.description = (0, frameToDescription)(frame) + } + item.contextValue = 'espCapturerFrame' + return item + } + const runtime = this.runtimes.get(element.configId) + const summary = runtime?.eventsBySignature.get(element.signature) + const label = summary + ? (0, eventDisplayLabel)(summary) + : (element.signature.slice.trim() ?? 'Unknown event') + const decodedFrames = summary + ? (0, collectDecodedStackFrames)(summary.decodedResult) + : [] + const collapsibleState = + decodedFrames.length === 0 + ? vscode.TreeItemCollapsibleState.None + : summary?.decodeState === 'decoded' || + summary?.decodeState === 'evaluated' + ? vscode.TreeItemCollapsibleState.Expanded + : vscode.TreeItemCollapsibleState.Collapsed + const item = new vscode.TreeItem(label, collapsibleState) + item.id = `event:${element.configId}:${element.signature}` + item.description = summary ? toEventDescription(summary) : undefined + item.tooltip = + summary && runtime + ? (0, toEventTreeItemMarkdown)(runtime, summary) + : undefined + item.contextValue = (0, eventContextValue)(summary) + item.iconPath = + summary?.decodeState === 'decoding' || + summary?.decodeState === 'evaluating' + ? new vscode.ThemeIcon('sync~spin') + : new vscode.ThemeIcon('bug') + return item + } + + getChildren(element) { + if (!element) { + return this.treeModel.getRootNodes(this.configs) + } + if (element.type === 'frame') { + return [] + } + if (element.type === 'event') { + const runtime = this.runtimes.get(element.configId) + const summary = runtime?.eventsBySignature.get(element.signature) + const frames = (0, collectDecodedStackFrames)(summary?.decodedResult) + return this.treeModel.getFrameNodes( + element.configId, + element.signature, + frames.length + ) + } + const runtime = this.runtimes.get(element.configId) + return this.treeModel.getEventNodes(element.configId, runtime) + } + + getParent(element) { + if (element.type === 'root') { + return undefined + } + if (element.type === 'event') { + return this.treeModel.getRootNode(element.configId) + } + return this.treeModel.getEventNode(element.configId, element.signature) + } + + refreshTree() { + this.onDidChangeTreeDataEmitter.fire(undefined) + } + + refreshRoot(configId) { + this.onDidChangeTreeDataEmitter.fire(this.treeModel.getRootNode(configId)) + } + + refreshEvent(configId, signature) { + this.onDidChangeTreeDataEmitter.fire( + this.treeModel.getEventNode(configId, signature) + ) + } + + ensureRuntime(config) { + const existing = this.runtimes.get(config.id) + if (existing) { + return existing + } + const capturerOptions = {} + const capturer = (0, createCapturer)(capturerOptions) + const runtime = { + config, + capturer, + eventsBySignature: new Map(), + eventsById: new Map(), + unsubscribeDetected: capturer.on('eventDetected', (event) => + this.handleCapturerEvent(config.id, event) + ), + unsubscribeUpdated: capturer.on('eventUpdated', (event) => + this.handleCapturerEvent(config.id, event) + ), + monitorSubscriptions: [], + sourceAvailabilityByPath: new Map(), + lastChunkEndedWithLineBreak: true, + processedBytes: 0, + readiness: { sketchExists: false, hasCompileSummary: false }, + } + this.runtimes.set(config.id, runtime) + return runtime + } + + handleCapturerEvent(configId, event) { + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + const hadSummary = runtime.eventsBySignature.has(event.signature) + const summary = upsertEventSummary( + runtime.eventsBySignature, + event, + runtime + ) + runtime.eventsById.set(summary.eventId, summary) + this.startAutoDecode(configId, runtime, summary) + if (!hadSummary) { + this.refreshRoot(configId) + this.revealEventNode({ + type: 'event', + configId, + signature: summary.signature, + }) + } + } + + async revealEventNode(node) { + if (!this.treeView) { + return + } + const rootNode = this.treeModel.getRootNode(node.configId) + const eventNode = this.getChildren(rootNode).find( + (child) => child.type === 'event' && child.signature === node.signature + ) + if (!eventNode) { + return + } + try { + await this.treeView.reveal(rootNode, { + focus: false, + select: false, + expand: true, + }) + await this.treeView.reveal(eventNode, { + focus: false, + select: false, + expand: true, + }) + } catch { + // ignore reveal failures when the view is not visible or the node is stale + } + } + + removeSummaryBySignature(runtime, signature) { + const removedSummary = runtime.eventsBySignature.get(signature) + this.treeModel.removeEventNode(runtime.config.id, signature) + runtime.eventsBySignature.delete(signature) + for (const [eventId, summary] of runtime.eventsById) { + if (summary.signature === signature) { + runtime.eventsById.delete(eventId) + } + } + if (removedSummary && this.onRemovedDecodedEvent) { + Promise.resolve( + this.onRemovedDecodedEvent({ + key: `${runtime.config.id}:${signature}`, + configId: runtime.config.id, + signature, + eventId: removedSummary.eventId, + }) + ).catch(() => { + // ignore replay/codelens cleanup failures + }) + } + } + + resolveSourceAvailability(configId, runtime, filePath, sourceKind) { + if (!filePath || sourceKind !== 'library') { + return undefined + } + const cached = runtime.sourceAvailabilityByPath.get(filePath) + if (cached) { + return cached + } + runtime.sourceAvailabilityByPath.set(filePath, 'checking') + this.probeSourceAvailability(configId, runtime, filePath) + return 'checking' + } + + async probeSourceAvailability(configId, runtime, filePath) { + let next = 'present' + try { + await fs.access(filePath) + } catch { + next = 'missing' + } + runtime.sourceAvailabilityByPath.set(filePath, next) + this.refreshRoot(configId) + } + + async refreshReadiness(configId) { + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + const sketchExists = await pathExists(runtime.config.sketchPath) + const sketchRuntimeInfo = sketchExists + ? await findSketchRuntimeInfo(runtime.config, this.arduinoContext) + : undefined + const nextReadiness = { + sketchExists, + hasCompileSummary: sketchRuntimeInfo?.hasCompileSummary ?? false, + elfPath: sketchRuntimeInfo?.elfPath, + buildPath: sketchRuntimeInfo?.buildPath, + buildOptions: sketchRuntimeInfo?.buildOptions, + boardName: sketchRuntimeInfo?.boardName, + selectedBoardName: sketchRuntimeInfo?.selectedBoardName, + selectedBoardFqbn: sketchRuntimeInfo?.selectedBoardFqbn, + selectedPort: sketchRuntimeInfo?.selectedPort, + configuredPortDetected: isPortDetected( + this.arduinoContext.boardsListWatcher?.detectedPorts, + runtime.config.port + ), + workspaceRelativeSketchPath: workspaceRelativeSketchPath( + runtime.config.sketchPath + ), + } + const prevReadiness = runtime.readiness + const prevElfIdentity = runtime.elfIdentity + const nextElfIdentity = nextReadiness.elfPath + ? await resolveElfIdentity(nextReadiness.elfPath, prevElfIdentity) + : undefined + runtime.readiness = nextReadiness + runtime.elfIdentity = nextElfIdentity + if ( + !isReadinessEqual(prevReadiness, nextReadiness) || + !isElfIdentityEqual(prevElfIdentity, nextElfIdentity) + ) { + runtime.decodeParams = undefined + this.refreshRoot(configId) + } + } + + async detachMonitor(runtime) { + this.flushRuntime(runtime.config.id, runtime) + for (const disposable of runtime.monitorSubscriptions) { + disposable.dispose() + } + runtime.monitorSubscriptions.length = 0 + this.clearIdleFlushTimer(runtime) + const monitor = runtime.monitor + runtime.monitor = undefined + runtime.monitorState = undefined + if (monitor) { + await this.invokeMonitorMethod(monitor, 'stop') + await this.invokeMonitorMethod(monitor, 'close') + try { + monitor.dispose() + } catch { + // ignore monitor disposal failures during teardown + } + } + } + + async disposeRuntime(runtime) { + await this.detachMonitor(runtime) + runtime.unsubscribeDetected() + runtime.unsubscribeUpdated() + runtime.decodeParams = undefined + runtime.sourceAvailabilityByPath.clear() + runtime.eventsById.clear() + runtime.eventsBySignature.clear() + this.treeModel.clearConfig(runtime.config.id) + } + + async invokeMonitorMethod(monitor, methodName) { + const method = monitor[methodName] + if (typeof method !== 'function') { + return + } + try { + await method.call(monitor) + } catch { + // ignore monitor method failures during teardown + } + } + + async resolveConfigId(target, placeholder) { + if (target?.type === 'root') { + return target.configId + } + if (target?.type === 'event' || target?.type === 'frame') { + return target.configId + } + if (this.configs.length === 1) { + return this.configs[0].id + } + const quickPickItem = await vscode.window.showQuickPick( + this.configs.map((config) => ({ + label: `${config.port.address} | ${config.fqbn}`, + detail: config.sketchPath, + configId: config.id, + })), + { placeHolder: placeholder } + ) + return quickPickItem?.configId + } + + async pickReplayFile() { + const defaultPath = this.context.workspaceState.get(replayFileStateKey) + const defaultUri = defaultPath + ? vscode.Uri.file(path.dirname(defaultPath)) + : vscode.workspace.workspaceFolders?.[0]?.uri + const selected = await vscode.window.showOpenDialog({ + canSelectMany: false, + openLabel: 'Replay recording', + defaultUri, + filters: { + 'Text and logs': ['txt', 'log'], + All: ['*'], + }, + }) + return selected ?? [] + } + + flushRuntime(configId, runtime) { + try { + runtime.capturer.flush() + } catch (err) { + runtime.lastError = err instanceof Error ? err.message : String(err) + this.refreshRoot(configId) + } + } + + scheduleIdleFlush(configId, runtime) { + this.clearIdleFlushTimer(runtime) + runtime.idleFlushTimer = setTimeout(() => { + runtime.idleFlushTimer = undefined + if (!runtime.lastChunkEndedWithLineBreak) { + return + } + this.flushRuntime(configId, runtime) + }, idleFlushDelayMs) + } + + clearIdleFlushTimer(runtime) { + if (runtime.idleFlushTimer) { + clearTimeout(runtime.idleFlushTimer) + runtime.idleFlushTimer = undefined + } + } + + startAutoDecode(configId, runtime, summary) { + if ( + summary.decodeState === 'decoding' || + summary.decodeState === 'decoded' || + summary.decodeState === 'evaluating' || + summary.decodeState === 'evaluated' + ) { + return + } + if (summary.decodeTask) { + return + } + summary.decodeState = 'decoding' + this.refreshEvent(configId, summary.signature) + summary.decodeTask = (async () => { + try { + const { params, result } = await this.decodeEventSummary( + runtime, + summary, + { + includeFrameVars: true, + trackDurationAs: 'decode', + } + ) + summary.lastDecodeHeavyVarsCount = (0, countHeavyVars)(result) + summary.decodedResult = result + summary.decodeState = 'decoded' + summary.decodeError = undefined + if (this.onDecodedEvent) { + try { + await this.onDecodedEvent({ + meta: toDecodedEventMeta(configId, summary), + params, + result, + }) + } catch { + // ignore replay/codelens publication failures + } + } + this.refreshEvent(configId, summary.signature) + await this.revealEventNode({ + type: 'event', + configId, + signature: summary.signature, + }) + } catch (err) { + summary.decodeError = err instanceof Error ? err.message : String(err) + } finally { + if ( + summary.decodeState !== 'decoded' && + summary.decodeState !== 'evaluated' + ) { + summary.decodeState = 'detected' + } + summary.decodeTask = undefined + this.refreshEvent(configId, summary.signature) + } + })() + } + + async decodeEventSummary(runtime, summary, options) { + const decodeStartAt = Date.now() + try { + const params = await this.resolveDecodeParams(runtime) + const decoded = await (0, decode)(params, summary.rawText, { + includeFrameVars: options.includeFrameVars, + }) + if (Array.isArray(decoded)) { + throw new Error(`Decode returned ${decoded.length} results`) + } + return { params, result: decoded } + } finally { + if ((options.trackDurationAs ?? 'decode') === 'decode') { + summary.lastDecodeDurationMs = Math.max(0, Date.now() - decodeStartAt) + } + } + } + + async resolveDecodeParams(runtime) { + if (runtime.decodeParams) { + return runtime.decodeParams + } + const sketch = this.arduinoContext.openedSketches.find( + (candidate) => + typeof candidate.sketchPath === 'string' && + pathEquals(candidate.sketchPath, runtime.config.sketchPath) + ) + if (!sketch) { + throw new Error( + `Could not find opened sketch for ${runtime.config.sketchPath}` + ) + } + const configuredSketch = withConfiguredFqbn(sketch, runtime.config.fqbn) + const compileSummary = + configuredSketch.compileSummary ?? + (runtime.readiness.buildPath + ? { + buildPath: runtime.readiness.buildPath, + } + : undefined) + const params = await (0, createDecodeParams)({ + compileSummary, + board: configuredSketch.board, + sketchPath: runtime.config.sketchPath, + }) + runtime.decodeParams = params + return params + } +} +export function registerCapturer(context, arduinoContext, options = {}) { + const toDispose = [] + if (!(0, isBoardLabContextExt)(arduinoContext)) { + vscode.window.showInformationMessage( + 'The current BoardLab context does expose the experimental monitor feature. Update BoardLab to the latest version and reload Visual Studio Code.' + ) + return new vscode.Disposable(() => { + // noop + }) + } + vscode.commands.executeCommand( + 'setContext', + 'espExceptionDecoder.capturerAvailable', + true + ) + const crashReportProvider = new CrashReportContentProvider() + const manager = new CapturerManager( + context, + arduinoContext, + crashReportProvider, + options.evaluateDecodedEvent, + options.onDecodedEvent, + options.onRemovedDecodedEvent, + options.onRemovedCapturer + ) + const readonlyLibraryProvider = new ReadonlyFsProvider() + const treeView = vscode.window.createTreeView(capturerViewId, { + treeDataProvider: manager, + }) + manager.bindTreeView(treeView) + toDispose.push( + manager, + treeView, + readonlyLibraryProvider, + crashReportProvider, + vscode.workspace.registerFileSystemProvider( + readonlyLibraryScheme, + readonlyLibraryProvider, + { isReadonly: true } + ), + vscode.workspace.registerTextDocumentContentProvider( + crashReportScheme, + crashReportProvider + ), + vscode.commands.registerCommand(capturerCreateCommandId, () => + manager.addUsingBoardLabPickers() + ), + vscode.commands.registerCommand(capturerRemoveCommandId, (target) => + manager.removeConfig(target) + ), + vscode.commands.registerCommand(capturerStartCommandId, (target) => + manager.startCapturer(target) + ), + vscode.commands.registerCommand(capturerStopCommandId, (target) => + manager.stopCapturer(target) + ), + vscode.commands.registerCommand(capturerRefreshCommandId, (target) => + manager.refresh(target) + ), + vscode.commands.registerCommand(capturerCompileSketchCommandId, (target) => + manager.compileSketch(target) + ), + vscode.commands.registerCommand( + capturerCompileSketchDebugCommandId, + (target) => manager.compileSketchWithDebugSymbols(target) + ), + vscode.commands.registerCommand(capturerCopyToClipboardCommandId, (arg) => + manager.copyToClipboard(arg) + ), + vscode.commands.registerCommand(dumpCapturerStateCommandId, (target) => + manager.dumpCapturerState(target) + ), + vscode.commands.registerCommand(capturerReplayCrashCommandId, (target) => + manager.replayEvent(target) + ), + vscode.commands.registerCommand(capturerDeleteEventCommandId, (target) => + manager.deleteEvent(target) + ), + vscode.commands.registerCommand( + capturerDeleteAllEventsCommandId, + (target) => manager.deleteAllEvents(target) + ), + vscode.commands.registerCommand(capturerShowEventCommandId, (target) => + manager.showEvent(target) + ) + ) + return vscode.Disposable.from(...toDispose) +} +function toRuntimeIcon(runtime) { + const problems = (0, collectRuntimeProblems)(runtime) + if (problems.some((problem) => problem.severity === 'error')) { + return new vscode.ThemeIcon('error') + } + if (problems.some((problem) => problem.severity === 'warning')) { + return new vscode.ThemeIcon('warning') + } + if (runtime.monitorState === 'running') { + return new vscode.ThemeIcon('pulse') + } + if ( + runtime.monitorState === 'suspended' && + (0, isRuntimeConnected)(runtime) + ) { + return new vscode.ThemeIcon('sync~spin') + } + if ((0, isReadyToRecord)(runtime, problems)) { + return new vscode.ThemeIcon('pass') + } + return new vscode.ThemeIcon('error') +} +function toEventDescription(summary) { + const createdLabel = `Created ${(0, formatLocalTimestamp)(summary.createdAt)}` + if (!summary.captureSessionLabel) { + return createdLabel + } + return `${createdLabel} | ${summary.captureSessionLabel}` +} +function toDraftFromSketch(sketch) { + if (!sketch?.sketchPath) { + return undefined + } + const fqbn = sketch.board?.fqbn + const port = sketch.port + if (!fqbn || !isPortIdentifierLike(port)) { + return undefined + } + return { + sketchPath: sketch.sketchPath, + fqbn, + port: { + protocol: port.protocol, + address: port.address, + }, + } +} +function isPortIdentifierLike(arg) { + return ( + typeof arg === 'object' && + arg !== null && + typeof arg.protocol === 'string' && + typeof arg.address === 'string' + ) +} +function buildCapturerId(config) { + return `${config.port.protocol}://${config.port.address}|${config.fqbn}|${path.normalize(config.sketchPath)}` +} +function validateCapturerConfig(value) { + if (!isPortIdentifierLike(value.port)) { + return { + ok: false, + message: 'Capturer port is missing or invalid', + } + } + if (typeof value.fqbn !== 'string' || value.fqbn.trim().length === 0) { + return { + ok: false, + message: 'Capturer FQBN is required', + } + } + if ( + typeof value.sketchPath !== 'string' || + value.sketchPath.trim().length === 0 + ) { + return { + ok: false, + message: 'Capturer sketch path is required', + } + } + try { + const fqbn = new FQBN(value.fqbn).sanitize() + if (!supportedCapturerArchitectures.has(fqbn.arch)) { + return { + ok: false, + message: `Unsupported board architecture: '${fqbn.arch}'. Supported architectures: esp32, esp8266`, + } + } + return { + ok: true, + value: { + port: { + protocol: value.port.protocol.trim(), + address: value.port.address.trim(), + }, + fqbn: fqbn.toString(), + sketchPath: path.resolve(value.sketchPath), + }, + } + } catch (err) { + return { + ok: false, + message: `Invalid FQBN: ${err instanceof Error ? err.message : String(err)}`, + } + } +} +function pathEquals(left, right) { + return path.normalize(left) === path.normalize(right) +} +async function pathExists(targetPath) { + try { + await fs.access(targetPath) + return true + } catch { + return false + } +} +async function resolveElfIdentity(elfPath, previous) { + let stats + try { + stats = await fs.stat(elfPath) + } catch { + return undefined + } + if (!stats.isFile()) { + return undefined + } + const size = stats.size + const mtimeMs = Math.floor(stats.mtimeMs) + if ( + previous && + previous.path === elfPath && + previous.size === size && + previous.mtimeMs === mtimeMs + ) { + return previous + } + let sha256 + try { + const content = await fs.readFile(elfPath) + sha256 = (0, createHash)('sha256').update(content).digest('hex') + } catch { + return undefined + } + const sha256Short = sha256.slice + return { + path: elfPath, + size, + mtimeMs, + sha256, + sha256Short, + sessionId: `${sha256Short}-${mtimeMs}`, + } +} +function isPortDetected(detectedPorts, port) { + if (!port) { + return undefined + } + const detected = extractDetectedPorts(detectedPorts) + if (!detected) { + return undefined + } + return detected.some((candidate) => arePortsEqual(candidate, port)) +} +function extractDetectedPorts(detectedPorts) { + if (!detectedPorts || typeof detectedPorts !== 'object') { + return undefined + } + const entries = Array.isArray(detectedPorts) + ? detectedPorts + : Object.values(detectedPorts) + const ports = [] + for (const entry of entries) { + if (isPortIdentifierLike(entry)) { + ports.push({ protocol: entry.protocol, address: entry.address }) + continue + } + const nested = entry?.port + if (isPortIdentifierLike(nested)) { + ports.push({ protocol: nested.protocol, address: nested.address }) + } + } + return ports +} +function arePortsEqual(left, right) { + return left.protocol === right.protocol && left.address === right.address +} +async function loadCompileBuildOptions(buildPath) { + const optionsPath = path.join(buildPath, 'build.options.json') + let rawJson + try { + rawJson = await fs.readFile(optionsPath, 'utf8') + } catch { + return undefined + } + let parsed + try { + parsed = JSON.parse(rawJson) + } catch { + return { + buildPath, + optionsPath, + flags: [], + parseError: 'Invalid JSON', + } + } + if (!isRecord(parsed)) { + return { + buildPath, + optionsPath, + flags: [], + parseError: 'Unexpected JSON shape', + } + } + return { + buildPath, + optionsPath, + fqbn: pickNonEmptyString(parsed, 'fqbn'), + sketchLocation: pickNonEmptyString(parsed, 'sketchLocation'), + optimizationFlags: pickNonEmptyString( + parsed, + 'compiler.optimization_flags' + ), + customBuildProperties: pickNonEmptyString(parsed, 'customBuildProperties'), + flags: collectBuildFlagEntries(parsed), + } +} +function pickNonEmptyString(record, key) { + const value = record[key] + if (typeof value !== 'string') { + return undefined + } + const trimmed = value.trim() + return trimmed.length > 0 ? trimmed : undefined +} +function collectBuildFlagEntries(record) { + return Object.entries(record) + .flatMap(([key, value]) => { + if (typeof value !== 'string') { + return [] + } + const trimmed = value.trim() + if (trimmed.length === 0 || !key.toLowerCase().includes('flags')) { + return [] + } + return [`${key}=${trimmed}`] + }) + .sort((left, right) => left.localeCompare(right)) +} +function isRecord(value) { + return typeof value === 'object' && value !== null +} +async function findSketchRuntimeInfo(config, arduinoContext) { + const sketchName = path.basename(config.sketchPath) + const matchingSketch = arduinoContext.openedSketches.find((sketch) => + pathEquals(sketch.sketchPath, config.sketchPath) + ) + const compileSummaryBuildPath = + typeof matchingSketch?.compileSummary?.buildPath === 'string' + ? matchingSketch.compileSummary.buildPath + : undefined + const compileSummaryElfPath = compileSummaryBuildPath + ? await (0, findElfPath)(sketchName, compileSummaryBuildPath) + : undefined + const fallbackBuild = !compileSummaryBuildPath + ? await (0, resolveBuildPathFromSketchPath)(config.sketchPath, sketchName, { + sketchRealPath: await resolveRealPath(config.sketchPath), + }) + : undefined + const buildPath = compileSummaryBuildPath ?? fallbackBuild?.buildPath + const elfPath = compileSummaryElfPath ?? fallbackBuild?.elfPath + const buildOptions = buildPath + ? await loadCompileBuildOptions(buildPath) + : undefined + const hasCompileSummary = + typeof compileSummaryBuildPath === 'string' || + typeof fallbackBuild?.buildPath === 'string' + return { + hasCompileSummary, + elfPath, + buildPath, + buildOptions, + boardName: resolveSketchBoardName(matchingSketch, config.fqbn), + selectedBoardName: + typeof matchingSketch?.board?.name === 'string' + ? matchingSketch.board.name + : undefined, + selectedBoardFqbn: + typeof matchingSketch?.board?.fqbn === 'string' + ? (0, sanitizeFqbn)(matchingSketch.board.fqbn) + : undefined, + selectedPort: isPortIdentifierLike(matchingSketch?.port) + ? { + protocol: matchingSketch.port.protocol, + address: matchingSketch.port.address, + } + : undefined, + } +} +async function resolveRealPath(targetPath) { + try { + return await fs.realpath(targetPath) + } catch { + return undefined + } +} +function resolveSketchBoardName(sketch, engineFqbn) { + const name = sketch?.board?.name + const sketchFqbn = sketch?.board?.fqbn + if (typeof name !== 'string' || typeof sketchFqbn !== 'string') { + return undefined + } + const sanitizedSketchFqbn = (0, sanitizeFqbn)(sketchFqbn) + const sanitizedEngineFqbn = (0, sanitizeFqbn)(engineFqbn) + if (!sanitizedSketchFqbn || !sanitizedEngineFqbn) { + return undefined + } + if (sanitizedSketchFqbn !== sanitizedEngineFqbn) { + return undefined + } + return name +} +function toEventSummary(event, runtime) { + const captureSession = runtime?.elfIdentity + return { + eventId: event.id, + signature: event.signature, + reason: + event.lightweight.reasonLine ?? + event.lines.find((line) => line.trim().length > 0) ?? + event.kind, + kind: event.kind, + createdAt: event.firstSeenAt, + captureSessionId: captureSession?.sessionId, + captureSessionLabel: captureSession + ? `${captureSession.sha256Short} @ ${(0, formatLocalTimestamp)(captureSession.mtimeMs)}` + : undefined, + count: event.count, + firstSeenAt: event.firstSeenAt, + lastSeenAt: event.lastSeenAt, + rawText: event.rawText, + programCounter: event.lightweight.programCounter, + faultCode: event.lightweight.faultCode, + decodeState: 'detected', + } +} +function toDecodedEventMeta(configId, summary) { + return { + key: `${configId}:${summary.signature}`, + configId, + signature: summary.signature, + eventId: summary.eventId, + label: (0, eventDisplayLabel)(summary), + reason: summary.reason, + createdAt: summary.createdAt, + captureSessionId: summary.captureSessionId, + captureSessionLabel: summary.captureSessionLabel, + } +} +function upsertEventSummary(cache, event, runtime) { + const next = toEventSummary(event, runtime) + const previous = cache.get(event.signature) + if (!previous) { + cache.set(event.signature, next) + return next + } + previous.eventId = next.eventId + previous.reason = next.reason + previous.kind = next.kind + previous.captureSessionId = next.captureSessionId + previous.captureSessionLabel = next.captureSessionLabel + previous.count = event.count + previous.firstSeenAt = event.firstSeenAt + previous.lastSeenAt = event.lastSeenAt + previous.rawText = event.rawText + previous.programCounter = next.programCounter + previous.faultCode = next.faultCode + cache.set(event.signature, previous) + return previous +} +function loadPersistedConfigs(values) { + return values + .map((raw) => + validateCapturerConfig(typeof raw === 'object' && raw !== null ? raw : {}) + ) + .filter((result) => result.ok) + .map(({ value }) => ({ + id: buildCapturerId(value), + ...value, + })) +} +function splitReplaySegments(rawText) { + const normalized = rawText.replace(/\r\n/g, '\n') + if (splitMarker.test(normalized)) { + return normalized + .split(/^\s*---\s*SNAP\s*---\s*$/gim) + .map((segment) => segment.trim()) + .filter((segment) => segment.length > 0) + } + return [normalized] +} +function isReadinessEqual(left, right) { + return ( + left.sketchExists === right.sketchExists && + left.hasCompileSummary === right.hasCompileSummary && + left.elfPath === right.elfPath && + left.buildPath === right.buildPath && + isBuildOptionsEqual(left.buildOptions, right.buildOptions) && + left.boardName === right.boardName && + left.selectedBoardName === right.selectedBoardName && + left.selectedBoardFqbn === right.selectedBoardFqbn && + arePortsEqualOrUndefined(left.selectedPort, right.selectedPort) && + left.configuredPortDetected === right.configuredPortDetected && + left.workspaceRelativeSketchPath === right.workspaceRelativeSketchPath + ) +} +function arePortsEqualOrUndefined(left, right) { + if (!left && !right) { + return true + } + if (!left || !right) { + return false + } + return arePortsEqual(left, right) +} +function isBuildOptionsEqual(left, right) { + if (!left && !right) { + return true + } + if (!left || !right) { + return false + } + return ( + left.buildPath === right.buildPath && + left.optionsPath === right.optionsPath && + left.fqbn === right.fqbn && + left.sketchLocation === right.sketchLocation && + left.optimizationFlags === right.optimizationFlags && + left.customBuildProperties === right.customBuildProperties && + left.parseError === right.parseError && + areStringArraysEqual(left.flags, right.flags) + ) +} +function isElfIdentityEqual(left, right) { + if (!left && !right) { + return true + } + if (!left || !right) { + return false + } + return ( + left.path === right.path && + left.size === right.size && + left.mtimeMs === right.mtimeMs && + left.sha256 === right.sha256 && + left.sessionId === right.sessionId + ) +} +function areStringArraysEqual(left, right) { + if (left.length !== right.length) { + return false + } + for (let index = 0; index < left.length; index += 1) { + if (left[index] !== right[index]) { + return false + } + } + return true +} +function chunkEndsWithLineBreak(chunk) { + if (chunk.length === 0) { + return false + } + const last = chunk[chunk.length - 1] + return last === 0x0a || last === 0x0d +} +function resetTransferMetrics(runtime) { + runtime.processedBytes = 0 + runtime.processedFirstAt = undefined + runtime.processedLastAt = undefined +} +function recordTransfer(runtime, byteLength, atMs) { + if (byteLength <= 0) { + return + } + runtime.processedBytes += byteLength + if (runtime.processedFirstAt === undefined) { + runtime.processedFirstAt = atMs + } + runtime.processedLastAt = atMs +} +function withConfiguredFqbn(sketch, fqbn) { + if (!sketch.board || typeof sketch.board !== 'object') { + return sketch + } + return { + ...sketch, + board: { + ...sketch.board, + fqbn, + }, + } +} +function toFrameUri(filePath, sketchPath) { + if (classifyDecodedSource(filePath, sketchPath) === 'library') { + return (0, toReadonlyLibraryUri)(filePath) + } + return vscode.Uri.file(filePath) +} +function classifyDecodedSource(filePath, sketchPath) { + if (!filePath || !filePath.trim()) { + return 'missing' + } + if (!sketchPath || !sketchPath.trim()) { + return 'library' + } + return isPathInside(sketchPath, filePath) ? 'sketch' : 'library' +} +function isPathInside(parentPath, candidatePath) { + const normalize = (value) => + process.platform === 'win32' + ? path.resolve(value).toLowerCase() + : path.resolve(value) + const parent = normalize(parentPath) + const candidate = normalize(candidatePath) + const relative = path.relative(parent, candidate) + return ( + relative.length === 0 || + (!relative.startsWith('..') && !path.isAbsolute(relative)) + ) +} +function workspaceRelativeSketchPath(sketchPath) { + const workspaceFolder = vscode.workspace.workspaceFolders?.find((folder) => { + const relative = path.relative(folder.uri.fsPath, sketchPath) + return !relative.startsWith('..') && !path.isAbsolute(relative) + }) + if (!workspaceFolder) { + return undefined + } + return path.relative(workspaceFolder.uri.fsPath, sketchPath) +} +/** (non-API) */ +export const __tests = { + capturerConfigStateKey, + validateCapturerConfig, + buildCapturerId, + loadPersistedConfigs, + pathEquals, + isPortIdentifierLike, + isPortDetected, + extractDetectedPorts, + arePortsEqual, + pickNonEmptyString, + isRecord, + resolveSketchBoardName, + toEventSummary, + upsertEventSummary, + splitReplaySegments, + loadCompileBuildOptions, + collectBuildFlagEntries, + isReadinessEqual, + isBuildOptionsEqual, + isElfIdentityEqual, + areStringArraysEqual, + chunkEndsWithLineBreak, + resetTransferMetrics, + recordTransfer, + classifyDecodedSource, + isPathInside, + workspaceRelativeSketchPath, + eventDisplayLabel, + collectDecodedStackFrames, +} diff --git a/src/capturer/fsProviders.ts b/src/capturer/fsProviders.ts new file mode 100644 index 0000000..242ed64 --- /dev/null +++ b/src/capturer/fsProviders.ts @@ -0,0 +1,150 @@ +import { Dirent } from 'node:fs' +import * as fs from 'node:fs/promises' + +import vscode from 'vscode' + +export const readonlyLibraryScheme = 'espExceptionDecoderReadonlyFs' +export const crashReportScheme = 'espExceptionDecoderCrashReport' + +export class CrashReportContentProvider + implements vscode.TextDocumentContentProvider, vscode.Disposable +{ + private readonly onDidChangeEmitter = new vscode.EventEmitter() + private readonly contentByUri = new Map() + private readonly uriOrder: string[] = [] + private readonly maxReports = 128 + + readonly onDidChange = this.onDidChangeEmitter.event + + dispose(): void { + this.onDidChangeEmitter.dispose() + this.contentByUri.clear() + this.uriOrder.length = 0 + } + + provideTextDocumentContent(uri: vscode.Uri): string { + const key = uri.toString() + return this.contentByUri.get(key) ?? '# Report is no longer available.' + } + + createReportUri(name: string, content: string): vscode.Uri { + const safeName = toSafeReportName(name) + const uniqueId = `${Date.now().toString(36)}-${Math.random() + .toString(36) + .slice(2, 8)}` + const uri = vscode.Uri.from({ + scheme: crashReportScheme, + path: `/${safeName}-${uniqueId}.md`, + }) + const key = uri.toString() + this.contentByUri.set(key, content) + this.uriOrder.push(key) + this.trimCache() + this.onDidChangeEmitter.fire(uri) + return uri + } + + private trimCache(): void { + while (this.uriOrder.length > this.maxReports) { + const oldest = this.uriOrder.shift() + if (oldest) { + this.contentByUri.delete(oldest) + } + } + } +} + +export function toReadonlyLibraryUri(filePath: string): vscode.Uri { + return vscode.Uri.from({ + scheme: readonlyLibraryScheme, + path: filePath.replace(/\\/g, '/'), + query: `source=${encodeURIComponent(filePath)}`, + }) +} + +export function toSourcePathFromReadonlyUri(uri: vscode.Uri): string { + const source = new URLSearchParams(uri.query).get('source') + return source && source.length > 0 ? source : uri.path +} + +export class ReadonlyFsProvider + implements vscode.FileSystemProvider, vscode.Disposable +{ + private readonly onDidChangeFileEmitter = new vscode.EventEmitter< + vscode.FileChangeEvent[] + >() + + readonly onDidChangeFile = this.onDidChangeFileEmitter.event + + dispose(): void { + this.onDidChangeFileEmitter.dispose() + } + + watch(): vscode.Disposable { + return new vscode.Disposable(() => { + // noop + }) + } + + async stat(uri: vscode.Uri): Promise { + const targetPath = toSourcePathFromReadonlyUri(uri) + const stats = await fs.stat(targetPath) + return { + type: toFileType(stats), + ctime: stats.ctimeMs, + mtime: stats.mtimeMs, + size: stats.size, + } + } + + async readDirectory(uri: vscode.Uri): Promise<[string, vscode.FileType][]> { + const targetPath = toSourcePathFromReadonlyUri(uri) + const entries = await fs.readdir(targetPath, { withFileTypes: true }) + return entries.map((entry) => [entry.name, toFileType(entry)]) + } + + async readFile(uri: vscode.Uri): Promise { + const targetPath = toSourcePathFromReadonlyUri(uri) + return fs.readFile(targetPath) + } + + createDirectory(_uri: vscode.Uri): void { + throw vscode.FileSystemError.NoPermissions('Read-only filesystem provider') + } + + writeFile(_uri: vscode.Uri, _content: Uint8Array): void { + throw vscode.FileSystemError.NoPermissions('Read-only filesystem provider') + } + + delete(_uri: vscode.Uri): void { + throw vscode.FileSystemError.NoPermissions('Read-only filesystem provider') + } + + rename(_oldUri: vscode.Uri, _newUri: vscode.Uri): void { + throw vscode.FileSystemError.NoPermissions('Read-only filesystem provider') + } +} + +function toSafeReportName(value: string): string { + const sanitized = value + .trim() + .toLowerCase() + .replace(/[^a-z0-9_-]+/g, '-') + .replace(/^-+|-+$/g, '') + return sanitized.length > 0 ? sanitized.slice(0, 64) : 'report' +} + +function toFileType( + entry: Dirent | Awaited> +): vscode.FileType { + if (entry.isDirectory()) { + return vscode.FileType.Directory + } + if (entry.isFile()) { + return vscode.FileType.File + } + if (entry.isSymbolicLink()) { + return vscode.FileType.SymbolicLink + } + return vscode.FileType.Unknown +} diff --git a/src/capturer/markdown.ts b/src/capturer/markdown.ts new file mode 100644 index 0000000..57520d6 --- /dev/null +++ b/src/capturer/markdown.ts @@ -0,0 +1,710 @@ +import path from 'node:path' + +import markdownEscape from 'markdown-escape' +import { + type Capturer, + type DecodeResult, + isGDBLine, + isParsedGDBLine, + stringifyDecodeResult, +} from 'trbr' +import vscode from 'vscode' + +import { + capturerCompileSketchCommandId, + capturerCompileSketchDebugCommandId, + capturerCopyToClipboardCommandId, + statusCapturing, + statusDisconnected, + statusError, + statusInvalidFqbn, + statusNoElf, + statusNoSketch, + statusNotCompiled, + statusNotEspBoard, + statusReady, + statusSuspended, + statusWarning, +} from './constants' +import type { CapturerEventSummary, CapturerRuntime } from './model' +import { collectRuntimeProblems, getRuntimeStatus } from './runtimeModel' + +interface EventReportMarkdownOptions { + headingLevel?: number + headingText?: string + includeRuntimeSection?: boolean + includePayloadSections?: boolean + compact?: boolean +} + +export type DecodedStackFrame = DecodeResult['stacktraceLines'][number] + +export function toCapturerStateDumpMarkdown( + runtime: CapturerRuntime, + rawState: ReturnType, + distinctEvents: CapturerEventSummary[] +): string { + const compileOptions = runtime.readiness.buildOptions + const lines: string[] = [] + lines.push('# ESP Crash Capturer State Dump') + lines.push('') + lines.push('## Runtime') + lines.push(`- Generated At: ${toInlineCode(new Date().toISOString())}`) + lines.push( + `- Runtime: ${toInlineCode(`${runtime.config.port.protocol}://${runtime.config.port.address}`)} | ${toInlineCode(runtime.config.fqbn)}` + ) + lines.push(`- Sketch: ${toInlineCode(runtime.config.sketchPath)}`) + lines.push( + `- Distinct Events: ${toInlineCode(String(distinctEvents.length))}` + ) + lines.push(`- Raw Line Count: ${toInlineCode(String(rawState.lines.length))}`) + lines.push( + `- Raw Byte Count: ${toInlineCode(formatBytes(rawState.byteLength))}` + ) + lines.push( + `- Processed Data: ${toInlineCode(formatBytes(runtime.processedBytes))}` + ) + lines.push( + `- Bandwidth: ${toInlineCode( + formatBandwidth(transferBandwidthBytesPerSecond(runtime)) + )}` + ) + lines.push( + `- ELF Path: ${ + runtime.readiness.elfPath + ? toInlineCode(runtime.readiness.elfPath) + : '_not available_' + }` + ) + if (runtime.elfIdentity) { + lines.push(`- ELF SHA256: ${toInlineCode(runtime.elfIdentity.sha256Short)}`) + lines.push( + `- ELF Modified: ${toInlineCode( + formatLocalTimestamp(runtime.elfIdentity.mtimeMs) + )}` + ) + lines.push( + `- Capture Session: ${toInlineCode(runtime.elfIdentity.sessionId)}` + ) + } + lines.push( + `- Optimization Flags: ${ + compileOptions?.optimizationFlags + ? toInlineCode(compileOptions.optimizationFlags) + : '_not available_' + }` + ) + if (compileOptions?.fqbn) { + lines.push(`- Build FQBN: ${toInlineCode(compileOptions.fqbn)}`) + } + lines.push('') + lines.push('## Distinct Events') + if (distinctEvents.length === 0) { + lines.push('_No crash events were detected._') + return lines.join('\n') + } + lines.push('') + + for (const [index, event] of distinctEvents.entries()) { + appendEventReportMarkdown(lines, runtime, event, { + headingLevel: 3, + headingText: `${index + 1}. ${markdownEscape(eventDisplayLabel(event))}`, + includeRuntimeSection: true, + }) + } + return lines.join('\n') +} + +export function toEventTreeItemMarkdown( + runtime: CapturerRuntime, + event: CapturerEventSummary +): vscode.MarkdownString { + const md = new vscode.MarkdownString(undefined, true) + const lines: string[] = [] + appendEventReportMarkdown(lines, runtime, event, { + headingLevel: 3, + headingText: `$(bug) ${markdownEscape(eventDisplayLabel(event))}`, + includeRuntimeSection: true, + includePayloadSections: false, + compact: true, + }) + md.appendMarkdown(lines.join('\n')) + md.appendMarkdown('\n----\n') + md.appendMarkdown(`_Hold ${mouseOverModifierLabel()} key to mouse over_\n`) + return md +} + +export function toRootTreeItemMarkdown( + runtime: CapturerRuntime +): vscode.MarkdownString { + const md = new vscode.MarkdownString(undefined, true) + md.isTrusted = { + enabledCommands: [ + capturerCompileSketchCommandId, + capturerCompileSketchDebugCommandId, + capturerCopyToClipboardCommandId, + ], + } + + const sketchName = path.basename(runtime.config.sketchPath) + const status = getRuntimeStatus(runtime) + const portLabel = runtime.config.port.address + const portInline = toInlineCode(portLabel) + const fqbnInline = toInlineCode(runtime.config.fqbn) + const fqbnLabel = runtime.readiness.boardName + ? `${markdownEscape(runtime.readiness.boardName)} (${fqbnInline})` + : fqbnInline + const sketchNameInline = toInlineCode(sketchName) + const sketchFolderInline = toInlineCode(runtime.config.sketchPath) + const statusIcon = toStatusCodicon(status) + const compileOptions = runtime.readiness.buildOptions + const problems = collectRuntimeProblems(runtime) + const rootNodeArg = [ + { + type: 'root', + configId: runtime.config.id, + } as const, + ] + const needsCompileQuickFixes = + !runtime.readiness.hasCompileSummary || !runtime.readiness.elfPath + const fqbnCopyLink = ` [$(copy)](${toCommandUri( + capturerCopyToClipboardCommandId, + [runtime.config.fqbn] + )} "Copy FQBN to clipboard")` + const sketchFolderCopyLink = ` [$(copy)](${toCommandUri( + capturerCopyToClipboardCommandId, + [runtime.config.sketchPath] + )} "Copy sketch folder to clipboard")` + + md.appendMarkdown( + `${statusIcon} ${portInline} (${markdownEscape(status)}):\n` + ) + md.appendMarkdown(`- Sketch: ${sketchNameInline}\n`) + md.appendMarkdown(`- FQBN: ${fqbnLabel}${fqbnCopyLink}\n`) + md.appendMarkdown( + `- Sketch Folder: ${sketchFolderInline}${sketchFolderCopyLink}\n` + ) + md.appendMarkdown('\n') + + md.appendMarkdown('Compile Details:\n') + if (!runtime.readiness.hasCompileSummary) { + md.appendMarkdown('- ELF: not available\n') + } else if (!runtime.readiness.elfPath) { + md.appendMarkdown('- ELF: not found\n') + } else { + md.appendMarkdown(`- ELF: ${toInlineCode(runtime.readiness.elfPath)} `) + md.appendMarkdown( + `[$(copy)](${toCommandUri(capturerCopyToClipboardCommandId, [ + runtime.readiness.elfPath, + ])} "Copy ELF path to clipboard")\n` + ) + } + if (runtime.elfIdentity) { + md.appendMarkdown( + `- ELF SHA256: ${toInlineCode(runtime.elfIdentity.sha256Short)}\n` + ) + md.appendMarkdown( + `- ELF Modified: ${toInlineCode( + formatLocalTimestamp(runtime.elfIdentity.mtimeMs) + )}\n` + ) + } + if (compileOptions?.fqbn) { + md.appendMarkdown( + `- Build FQBN: ${toInlineCode(compileOptions.fqbn)} [$(copy)](${toCommandUri( + capturerCopyToClipboardCommandId, + [compileOptions.fqbn] + )} "Copy build FQBN to clipboard")\n` + ) + } + if (compileOptions?.optimizationFlags) { + md.appendMarkdown( + `- Optimization Flags: ${toInlineCode(compileOptions.optimizationFlags)}\n` + ) + } + + if (problems.length > 0) { + md.appendMarkdown('\nProblems:\n') + for (const problem of problems) { + const icon = problem.severity === 'error' ? '$(error)' : '$(warning)' + md.appendMarkdown(`- ${icon} ${markdownEscape(problem.message)}\n`) + } + } + + if (needsCompileQuickFixes) { + md.appendMarkdown('\nQuick Fixes:\n') + md.appendMarkdown( + `- [$(inspect) Compile Sketch with Debug Symbols](${toCommandUri( + capturerCompileSketchDebugCommandId, + rootNodeArg + )} "Compile sketch with debug symbols") (Recommended)\n` + ) + md.appendMarkdown( + `- [$(check) Compile Sketch](${toCommandUri( + capturerCompileSketchCommandId, + rootNodeArg + )} "Compile sketch")\n` + ) + } + + md.appendMarkdown('\n----\n') + md.appendMarkdown(`_Hold ${mouseOverModifierLabel()} key to mouse over_\n`) + + return md +} + +export function toEventReportDocumentMarkdown( + runtime: CapturerRuntime, + summary: CapturerEventSummary +): string { + const lines: string[] = [] + lines.push('# ESP Crash Event Report') + lines.push('') + appendEventReportMarkdown(lines, runtime, summary, { + headingLevel: 2, + headingText: markdownEscape(eventDisplayLabel(summary)), + includeRuntimeSection: true, + }) + return lines.join('\n') +} + +export function countHeavyVars(decoded: DecodeResult): number { + let total = Array.isArray(decoded.globals) ? decoded.globals.length : 0 + for (const line of decoded.stacktraceLines) { + if (!isParsedGDBLine(line)) { + continue + } + total += Array.isArray(line.locals) ? line.locals.length : 0 + total += Array.isArray(line.globals) ? line.globals.length : 0 + } + return total +} + +export function collectDecodedStackFrames( + decoded?: DecodeResult +): DecodedStackFrame[] { + if (!decoded) { + return [] + } + return decoded.stacktraceLines.filter(isGDBLine) +} + +export function eventDisplayLabel(summary: CapturerEventSummary): string { + const decoded = summary.decodedResult + if (!decoded) { + return summary.reason + } + const fault = + summarizeFaultMessage(decoded.faultInfo?.faultMessage) ?? + summarizeFaultMessage(summary.reason) ?? + summary.reason + const sourceFile = resolvePrimaryDecodedFile(decoded) + if (fault && sourceFile) { + return `${fault} · ${sourceFile}` + } + if (fault) { + return fault + } + return summary.reason +} + +export function frameToLabel(frame: DecodedStackFrame | undefined): string { + if (!frame) { + return 'Unknown frame' + } + const address = frame.regAddr + if (isParsedGDBLine(frame)) { + const fileName = path.basename(frame.file) + return `${address}: ${formatFrameMethod(frame)} at ${fileName}:${frame.lineNumber}` + } + return `${address}: ?? () at ??:${frame.lineNumber}` +} + +export function frameToDescription( + frame: DecodedStackFrame | undefined +): string | undefined { + if (!frame) { + return undefined + } + if (!isParsedGDBLine(frame)) { + return undefined + } + return `${path.basename(frame.file)}:${frame.lineNumber}` +} + +export function toParsedFrameLocation( + frame: DecodedStackFrame | undefined +): { file: string; line: number } | undefined { + if (!frame || !isParsedGDBLine(frame)) { + return undefined + } + const line = Number(frame.lineNumber) + if (!Number.isFinite(line) || line <= 0) { + return undefined + } + return { + file: frame.file, + line, + } +} + +export function formatLocalTimestamp(atMs: number): string { + return new Date(atMs).toLocaleString() +} + +function appendEventReportMarkdown( + lines: string[], + runtime: CapturerRuntime, + event: CapturerEventSummary, + options: EventReportMarkdownOptions = {} +): void { + const headingLevel = Math.min(6, Math.max(1, options.headingLevel ?? 3)) + const headingText = + options.headingText ?? markdownEscape(eventDisplayLabel(event)) + const includeRuntimeSection = options.includeRuntimeSection ?? true + const includePayloadSections = options.includePayloadSections ?? true + const compact = options.compact ?? false + const compileOptions = runtime.readiness.buildOptions + const errorSummary = toSingleLine(event.reason) ?? event.reason.trim() + const boardName = + runtime.readiness.boardName ?? runtime.readiness.selectedBoardName + const boardLabel = boardName + ? `${markdownEscape(boardName)} (${toInlineCode(runtime.config.fqbn)})` + : toInlineCode(runtime.config.fqbn) + const decodedException = resolveDecodedExceptionSummary(event) + const decodedLocation = resolveDecodedLocationSummary(event.decodedResult) + + lines.push(`${'#'.repeat(headingLevel)} ${headingText}`) + lines.push('#### Crash Summary') + lines.push( + `- Error: ${toInlineCode(errorSummary.length > 0 ? errorSummary : 'Unknown error')}` + ) + lines.push(`- Count: ${toInlineCode(String(event.count))}`) + if (decodedException) { + lines.push(`- Decoded Exception: ${toInlineCode(decodedException)}`) + } + if (decodedLocation) { + lines.push(`- Decoded Location: ${toInlineCode(decodedLocation)}`) + } + if (!compact) { + lines.push( + `- Decode Task: ${toInlineCode(formatTaskDuration(event.lastDecodeDurationMs))}` + ) + lines.push( + `- Decode Vars (locals/globals): ${toInlineCode(formatTaskCount(event.lastDecodeHeavyVarsCount))}` + ) + lines.push( + `- Evaluate Task (replay): ${toInlineCode(formatTaskDuration(event.lastEvaluateDurationMs))}` + ) + } + if (event.decodeError) { + lines.push(`- Decode Error: ${toInlineCode(event.decodeError)}`) + } + lines.push('') + + lines.push('#### Build Context') + lines.push(`- Board: ${boardLabel}`) + lines.push( + `- Sketch: ${toInlineCode(path.basename(runtime.config.sketchPath))}` + ) + lines.push( + `- ELF Path: ${ + runtime.readiness.elfPath + ? toInlineCode(runtime.readiness.elfPath) + : '_not available_' + }` + ) + if (runtime.elfIdentity) { + lines.push(`- ELF SHA256: ${toInlineCode(runtime.elfIdentity.sha256Short)}`) + lines.push( + `- ELF Modified: ${toInlineCode(formatEventTimestamp(runtime.elfIdentity.mtimeMs))}` + ) + } + if (!compact) { + lines.push(`- Sketch Folder: ${toInlineCode(runtime.config.sketchPath)}`) + lines.push( + `- Build FQBN: ${ + compileOptions?.fqbn + ? toInlineCode(compileOptions.fqbn) + : '_not available_' + }` + ) + lines.push( + `- Optimization Flags: ${ + compileOptions?.optimizationFlags + ? toInlineCode(compileOptions.optimizationFlags) + : '_not available_' + }` + ) + } + lines.push('') + + if (includePayloadSections) { + lines.push('#### Captured Crash') + if (event.rawText.trim().length > 0) { + lines.push(toCodeBlock(event.rawText)) + } else { + lines.push('_No captured crash payload available._') + lines.push('') + } + + const decodedStacktrace = toDecodedStacktraceText(event) + lines.push('#### Decoded Stacktrace') + if (decodedStacktrace) { + lines.push(toCodeBlock(decodedStacktrace)) + } else { + lines.push('_Not decoded yet._') + lines.push('') + } + } + + if (!compact) { + lines.push('#### Session Details') + lines.push(`- State: ${toInlineCode(event.decodeState)}`) + lines.push(`- Kind: ${toInlineCode(event.kind)}`) + lines.push( + `- Created At: ${toInlineCode(formatEventTimestamp(event.createdAt))}` + ) + lines.push( + `- First Seen: ${toInlineCode(formatEventTimestamp(event.firstSeenAt))}` + ) + lines.push( + `- Last Seen: ${toInlineCode(formatEventTimestamp(event.lastSeenAt))}` + ) + if (includeRuntimeSection) { + lines.push(`- Runtime ID: ${toInlineCode(runtime.config.id)}`) + lines.push( + `- Port: ${toInlineCode(`${runtime.config.port.protocol}://${runtime.config.port.address}`)}` + ) + lines.push(`- Status: ${toInlineCode(getRuntimeStatus(runtime))}`) + } + if (event.captureSessionLabel) { + lines.push( + `- Capture Session: ${toInlineCode(event.captureSessionLabel)}` + ) + } + if (event.captureSessionId) { + lines.push( + `- Capture Session ID: ${toInlineCode(event.captureSessionId)}` + ) + } + if (typeof event.programCounter === 'number') { + lines.push( + `- Program Counter: ${toInlineCode(`0x${event.programCounter.toString(16)}`)}` + ) + } + if (typeof event.faultCode === 'number') { + lines.push(`- Fault Code: ${toInlineCode(String(event.faultCode))}`) + } + lines.push(`- Signature: ${toInlineCode(event.signature)}`) + lines.push(`- Event ID: ${toInlineCode(event.eventId)}`) + lines.push('') + } +} + +function toDecodedStacktraceText( + event: CapturerEventSummary +): string | undefined { + if (!event.decodedResult) { + return undefined + } + try { + return stringifyDecodeResult(event.decodedResult, { + color: 'disable', + lineSeparator: '\n', + }) + } catch (err) { + return `Failed to stringify decoded stacktrace: ${ + err instanceof Error ? err.message : String(err) + }` + } +} + +function toCodeBlock(value: string): string { + const normalized = value.trimEnd() + const escaped = normalized.replace(/```/g, '``\\`') + return `\`\`\`text\n${escaped}\n\`\`\`\n` +} + +function formatEventTimestamp(atMs: number): string { + return `${formatLocalTimestamp(atMs)} (${new Date(atMs).toISOString()})` +} + +function formatDecodeDuration(durationMs: number): string { + if (durationMs < 1000) { + return `${Math.round(durationMs)} ms` + } + return `${(durationMs / 1000).toFixed(2)} s` +} + +function formatTaskDuration(durationMs: number | undefined): string { + if (typeof durationMs !== 'number') { + return 'not run' + } + return formatDecodeDuration(durationMs) +} + +function formatTaskCount(value: number | undefined): string { + if (typeof value !== 'number') { + return 'not run' + } + return String(value) +} + +function resolveDecodedExceptionSummary( + event: CapturerEventSummary +): string | undefined { + return ( + toSingleLine(event.decodedResult?.faultInfo?.faultMessage) ?? + toSingleLine(event.reason) + ) +} + +function resolveDecodedLocationSummary( + decoded?: DecodeResult +): string | undefined { + const firstParsed = collectDecodedStackFrames(decoded).find(isParsedGDBLine) + if (firstParsed) { + return `${path.basename(firstParsed.file)}:${firstParsed.lineNumber} in ${formatFrameMethod( + firstParsed + )}` + } + const pcLocation = decoded?.faultInfo?.programCounter?.location + if (pcLocation && isParsedGDBLine(pcLocation)) { + return `${path.basename(pcLocation.file)}:${pcLocation.lineNumber} in ${formatFrameMethod( + pcLocation + )}` + } + return undefined +} + +function toSingleLine(value: string | undefined): string | undefined { + if (typeof value !== 'string') { + return undefined + } + const normalized = value.replace(/\s+/g, ' ').trim() + return normalized.length > 0 ? normalized : undefined +} + +function toStatusCodicon(status: string): string { + switch (status) { + case statusCapturing: + return '$(pulse)' + case statusSuspended: + return '$(sync~spin)' + case statusReady: + return '$(pass)' + case statusDisconnected: + return '$(circle-slash)' + case statusWarning: + return '$(warning)' + case statusNoSketch: + case statusInvalidFqbn: + case statusNotEspBoard: + case statusNotCompiled: + case statusNoElf: + case statusError: + return '$(error)' + default: + return '$(info)' + } +} + +function toCommandUri(command: string, args: unknown[] = []): string { + return `command:${command}?${encodeURIComponent(JSON.stringify(args))}` +} + +function toInlineCode(value: unknown): string { + const normalized = normalizeInlineCodeValue(value) + return `\`${normalized.replace(/`/g, '\\`')}\`` +} + +function normalizeInlineCodeValue(value: unknown): string { + if (typeof value === 'string') { + return value + } + if (value === undefined || value === null) { + return '' + } + if (typeof value === 'object') { + try { + return JSON.stringify(value) + } catch { + return String(value) + } + } + return String(value) +} + +function mouseOverModifierLabel(): string { + return process.platform === 'darwin' ? 'Option' : 'Alt' +} + +function resolvePrimaryDecodedFile(decoded?: DecodeResult): string | undefined { + const firstParsed = collectDecodedStackFrames(decoded).find(isParsedGDBLine) + if (!firstParsed) { + const pcLocation = decoded?.faultInfo?.programCounter?.location + return pcLocation && isParsedGDBLine(pcLocation) + ? path.basename(pcLocation.file) + : undefined + } + return path.basename(firstParsed.file) +} + +function formatFrameMethod(frame: DecodedStackFrame): string { + if (!isParsedGDBLine(frame)) { + return '?? ()' + } + const args = Array.isArray(frame.args) + ? frame.args.map((arg) => arg.name).filter((name) => name.length > 0) + : [] + return `${frame.method} (${args.join(', ')})` +} + +function summarizeFaultMessage( + faultMessage: string | undefined +): string | undefined { + if (typeof faultMessage !== 'string') { + return undefined + } + const trimmed = faultMessage.trim() + if (!trimmed) { + return undefined + } + const colonIndex = trimmed.indexOf(':') + if (colonIndex < 0) { + return trimmed + } + return trimmed.slice(0, colonIndex).trim() +} + +function transferBandwidthBytesPerSecond( + runtime: CapturerRuntime, + nowMs: number = Date.now() +): number { + if ( + runtime.processedBytes <= 0 || + runtime.processedFirstAt === undefined || + runtime.processedLastAt === undefined + ) { + return 0 + } + const referenceNow = + runtime.monitorState === 'running' ? nowMs : runtime.processedLastAt + const elapsedMs = Math.max(1, referenceNow - runtime.processedFirstAt) + return (runtime.processedBytes * 1000) / elapsedMs +} + +function formatBytes(value: number): string { + if (value < 1024) { + return `${value} B` + } + if (value < 1024 * 1024) { + return `${(value / 1024).toFixed(1)} KiB` + } + return `${(value / (1024 * 1024)).toFixed(1)} MiB` +} + +function formatBandwidth(value: number): string { + return `${formatBytes(Math.max(0, Math.floor(value)))}/s` +} diff --git a/src/capturer/model.ts b/src/capturer/model.ts new file mode 100644 index 0000000..729b9d0 --- /dev/null +++ b/src/capturer/model.ts @@ -0,0 +1,169 @@ +import type { Capturer, DecodeResult } from 'trbr' +import type vscode from 'vscode' +import type { Port } from 'vscode-arduino-api' + +import type { MonitorClient, MonitorRuntimeState } from '../boardLabExt' +import type { DecodeParams } from '../decodeParams' + +export interface CapturerConfigDraft { + port: Port + fqbn: string + sketchPath: string +} + +export interface CapturerConfig extends CapturerConfigDraft { + id: string +} + +export interface CompileBuildOptionsInfo { + buildPath: string + optionsPath: string + fqbn?: string + sketchLocation?: string + optimizationFlags?: string + customBuildProperties?: string + flags: string[] + parseError?: string +} + +export interface CapturerReadiness { + sketchExists: boolean + hasCompileSummary: boolean + elfPath?: string + buildPath?: string + buildOptions?: CompileBuildOptionsInfo + boardName?: string + workspaceRelativeSketchPath?: string + selectedBoardName?: string + selectedBoardFqbn?: string + selectedPort?: Port + configuredPortDetected?: boolean +} + +export interface ElfIdentity { + path: string + size: number + mtimeMs: number + sha256: string + sha256Short: string + sessionId: string +} + +export interface CapturerEventSummary { + eventId: string + signature: string + reason: string + kind: string + createdAt: number + captureSessionId?: string + captureSessionLabel?: string + count: number + firstSeenAt: number + lastSeenAt: number + rawText: string + programCounter?: number + faultCode?: number + decodeState: 'detected' | 'decoding' | 'decoded' | 'evaluating' | 'evaluated' + decodedResult?: DecodeResult + decodeError?: string + decodeTask?: Promise + lastDecodeDurationMs?: number + lastEvaluateDurationMs?: number + lastDecodeHeavyVarsCount?: number +} + +export interface CapturerRuntime { + readonly config: CapturerConfig + readonly capturer: Capturer + readonly eventsBySignature: Map + readonly eventsById: Map + readonly unsubscribeDetected: () => void + readonly unsubscribeUpdated: () => void + readonly monitorSubscriptions: vscode.Disposable[] + readonly sourceAvailabilityByPath: Map< + string, + 'checking' | 'present' | 'missing' + > + monitor?: MonitorClient + monitorState?: MonitorRuntimeState + idleFlushTimer?: NodeJS.Timeout + lastChunkEndedWithLineBreak: boolean + processedBytes: number + processedFirstAt?: number + processedLastAt?: number + decodeParams?: DecodeParams + elfIdentity?: ElfIdentity + readiness: CapturerReadiness + lastError?: string +} + +export type MonitorClientWithClose = MonitorClient & { + close?: () => Promise | void + stop?: () => Promise | void +} + +export interface CapturerRootNode { + readonly type: 'root' + readonly configId: string +} + +export interface CapturerEventNode { + readonly type: 'event' + readonly configId: string + readonly signature: string +} + +export interface CapturerFrameNode { + readonly type: 'frame' + readonly configId: string + readonly signature: string + readonly frameIndex: number +} + +export type CapturerNode = + | CapturerRootNode + | CapturerEventNode + | CapturerFrameNode + +export interface CapturerConfigValidationSuccess { + ok: true + value: CapturerConfigDraft +} + +export interface CapturerConfigValidationError { + ok: false + message: string +} + +export type CapturerConfigValidationResult = + | CapturerConfigValidationSuccess + | CapturerConfigValidationError + +export interface CapturerDecodedEventMeta { + key: string + configId: string + signature: string + eventId: string + label: string + reason: string + createdAt: number + captureSessionId?: string + captureSessionLabel?: string +} + +export interface CapturerDecodedEventPayload { + meta: CapturerDecodedEventMeta + params: DecodeParams + result: DecodeResult +} + +export interface CapturerRemovedEventMeta { + key: string + configId: string + signature: string + eventId: string +} + +export interface CapturerRemovedCapturerMeta { + configId: string +} diff --git a/src/capturer/runtimeModel.ts b/src/capturer/runtimeModel.ts new file mode 100644 index 0000000..7952087 --- /dev/null +++ b/src/capturer/runtimeModel.ts @@ -0,0 +1,310 @@ +import path from 'node:path' + +import { FQBN } from 'fqbn' + +const statusNoElf = 'No ELF' +const statusReady = 'Ready' +const statusCapturing = 'Capturing crashes' +const statusSuspended = 'Suspended' +const statusNotCompiled = 'Not compiled' +const statusDisconnected = 'Disconnected' +const statusInvalidFqbn = 'Invalid FQBN' +const statusNotEspBoard = 'Not ESP board' +const statusError = 'Error' +const statusWarning = 'Warning' +const statusNoSketch = 'Missing Sketch' +const supportedCapturerArchitectures = new Set(['esp32', 'esp8266']) + +export type RuntimeProblemSeverity = 'error' | 'warning' + +export interface RuntimeProblem { + severity: RuntimeProblemSeverity + code: string + message: string +} + +export interface RuntimePortLike { + protocol: string + address: string +} + +export interface RuntimeBuildOptionsLike { + fqbn?: string +} + +export interface RuntimeReadinessLike { + sketchExists: boolean + hasCompileSummary: boolean + elfPath?: string + buildOptions?: RuntimeBuildOptionsLike + boardName?: string + selectedBoardName?: string + selectedBoardFqbn?: string + configuredPortDetected?: boolean +} + +export interface RuntimeConfigLike { + id: string + fqbn: string + sketchPath: string + port: RuntimePortLike +} + +export interface RuntimeLike { + config: RuntimeConfigLike + readiness: RuntimeReadinessLike + monitor?: unknown + monitorState?: 'running' | 'connected' | 'suspended' | 'disconnected' + lastError?: string + eventsBySignature: Map +} + +export interface EventSummaryLike { + decodeState: 'detected' | 'decoding' | 'decoded' | 'evaluating' | 'evaluated' +} + +export function getRuntimeStatus(runtime: RuntimeLike): string { + const problems = collectRuntimeProblems(runtime) + const firstError = problems.find((problem) => problem.severity === 'error') + if (firstError) { + switch (firstError.code) { + case 'missing-sketch': + return statusNoSketch + case 'invalid-fqbn': + return statusInvalidFqbn + case 'unsupported-board': + return statusNotEspBoard + case 'not-connected': + return statusDisconnected + case 'not-compiled': + return statusNotCompiled + case 'no-elf': + return statusNoElf + default: + return statusError + } + } + if (problems.some((problem) => problem.severity === 'warning')) { + return statusWarning + } + if (runtime.monitorState === 'running') { + return statusCapturing + } + if (runtime.monitorState === 'suspended' && isRuntimeConnected(runtime)) { + return statusSuspended + } + if (isReadyToRecord(runtime, problems)) { + return statusReady + } + return statusError +} + +export function resolveRootDescription(runtime: RuntimeLike): string { + if (runtime.monitorState === 'running') { + return 'Capturing crashes' + } + const problems = collectRuntimeProblems(runtime) + if (!isReadyToRecord(runtime, problems) && problems.length > 0) { + if (problems.some((problem) => problem.code === 'invalid-fqbn')) { + return statusInvalidFqbn + } + if (problems.some((problem) => problem.code === 'unsupported-board')) { + return statusNotEspBoard + } + if (problems.some((problem) => problem.code === 'not-connected')) { + return 'Not connected' + } + if (problems.some((problem) => problem.code === 'not-compiled')) { + return 'Not compiled' + } + if (problems.some((problem) => problem.code.startsWith('fqbn-mismatch'))) { + return 'FQBN mismatch' + } + return problems[0].message + } + if (runtime.monitorState === 'suspended' && isRuntimeConnected(runtime)) { + return statusSuspended + } + if (isReadyToRecord(runtime, problems)) { + return statusReady + } + return getRuntimeStatus(runtime) +} + +export function toRootLabel(runtime: RuntimeLike): string { + const sketchName = path.basename(runtime.config.sketchPath) + const boardName = + runtime.readiness.boardName ?? runtime.readiness.selectedBoardName + const boardPart = boardName + ? `${boardName} (${runtime.config.fqbn})` + : runtime.config.fqbn + return `${runtime.config.port.address} · ${sketchName} · ${boardPart}` +} + +export function rootContextValue(runtime: RuntimeLike): string { + const hasEvents = runtime.eventsBySignature.size > 0 + if (runtime.monitor && runtime.monitorState !== 'disconnected') { + return hasEvents + ? 'espCapturerRootCapturingHasEvents' + : 'espCapturerRootCapturing' + } + const problems = collectRuntimeProblems(runtime) + if (isReadyToRecord(runtime, problems)) { + return hasEvents ? 'espCapturerRootReadyHasEvents' : 'espCapturerRootReady' + } + return hasEvents + ? 'espCapturerRootStoppedHasEvents' + : 'espCapturerRootStopped' +} + +export function eventContextValue( + summary: EventSummaryLike | undefined +): string { + if (!summary) { + return 'espCapturerEvent' + } + switch (summary.decodeState) { + case 'decoded': + return 'espCapturerEventDecoded' + case 'evaluated': + return 'espCapturerEventEvaluated' + case 'decoding': + return 'espCapturerEventDecoding' + case 'evaluating': + return 'espCapturerEventEvaluating' + case 'detected': + default: + return 'espCapturerEventDetected' + } +} + +export function collectRuntimeProblems(runtime: RuntimeLike): RuntimeProblem[] { + const problems: RuntimeProblem[] = [] + const sanitizedConfiguredFqbn = sanitizeFqbn(runtime.config.fqbn) + if (!sanitizedConfiguredFqbn) { + problems.push({ + severity: 'error', + code: 'invalid-fqbn', + message: 'Configured FQBN is invalid', + }) + } else { + const configuredArch = new FQBN(sanitizedConfiguredFqbn).arch + if (!supportedCapturerArchitectures.has(configuredArch)) { + problems.push({ + severity: 'error', + code: 'unsupported-board', + message: `Unsupported board architecture '${configuredArch}'. Supported architectures: esp32, esp8266`, + }) + } + } + + if (runtime.lastError) { + problems.push({ + severity: 'error', + code: 'runtime-error', + message: runtime.lastError, + }) + } + if (!runtime.readiness.sketchExists) { + problems.push({ + severity: 'error', + code: 'missing-sketch', + message: 'Sketch folder does not exist', + }) + } + if (!isRuntimeConnected(runtime)) { + problems.push({ + severity: 'error', + code: 'not-connected', + message: 'No device found. This port is not detected by Arduino CLI', + }) + } + if (!runtime.readiness.hasCompileSummary) { + problems.push({ + severity: 'error', + code: 'not-compiled', + message: 'Compile summary is not available for the sketch', + }) + } else if (!runtime.readiness.elfPath) { + problems.push({ + severity: 'error', + code: 'no-elf', + message: 'ELF not found', + }) + } + + if (isSelectedFqbnDifferentFromEngine(runtime)) { + problems.push({ + severity: 'warning', + code: 'fqbn-mismatch-selected-engine', + message: 'Selected FQBN differs from configured FQBN', + }) + } + if (isSelectedFqbnDifferentFromBuild(runtime)) { + problems.push({ + severity: 'warning', + code: 'fqbn-mismatch-selected-build', + message: 'Selected FQBN differs from build FQBN', + }) + } + + return problems +} + +export function isRuntimeConnected(runtime: RuntimeLike): boolean { + if (runtime.readiness.configuredPortDetected === true) { + return true + } + if (runtime.readiness.configuredPortDetected === false) { + return false + } + return ( + runtime.monitorState === 'running' || + runtime.monitorState === 'connected' || + runtime.monitorState === 'suspended' + ) +} + +export function isReadyToRecord( + runtime: RuntimeLike, + problems: RuntimeProblem[] = collectRuntimeProblems(runtime) +): boolean { + return ( + problems.length === 0 && + isRuntimeConnected(runtime) && + runtime.readiness.hasCompileSummary && + Boolean(runtime.readiness.elfPath) + ) +} + +export function sanitizeFqbn(fqbnValue: string): string | undefined { + try { + return new FQBN(fqbnValue).sanitize().toString() + } catch { + return undefined + } +} + +function isSelectedFqbnDifferentFromEngine(runtime: RuntimeLike): boolean { + const selectedFqbn = runtime.readiness.selectedBoardFqbn + if (!selectedFqbn) { + return false + } + const engineFqbn = sanitizeFqbn(runtime.config.fqbn) + if (!engineFqbn) { + return false + } + return selectedFqbn !== engineFqbn +} + +function isSelectedFqbnDifferentFromBuild(runtime: RuntimeLike): boolean { + const selectedFqbn = runtime.readiness.selectedBoardFqbn + if (!selectedFqbn) { + return false + } + const buildFqbn = sanitizeFqbn(runtime.readiness.buildOptions?.fqbn ?? '') + if (!buildFqbn) { + return false + } + return selectedFqbn !== buildFqbn +} diff --git a/src/capturer/treeModel.ts b/src/capturer/treeModel.ts new file mode 100644 index 0000000..2973c91 --- /dev/null +++ b/src/capturer/treeModel.ts @@ -0,0 +1,84 @@ +import type { + CapturerConfig, + CapturerEventNode, + CapturerFrameNode, + CapturerRootNode, + CapturerRuntime, +} from './model' + +export class CapturerTreeModel { + private readonly rootNodesByConfigId = new Map() + private readonly eventNodesByKey = new Map() + + getRootNodes(configs: readonly CapturerConfig[]): CapturerRootNode[] { + return configs.map((config) => this.getRootNode(config.id)) + } + + getRootNode(configId: string): CapturerRootNode { + const existing = this.rootNodesByConfigId.get(configId) + if (existing) { + return existing + } + const created: CapturerRootNode = { type: 'root', configId } + this.rootNodesByConfigId.set(configId, created) + return created + } + + getEventNode(configId: string, signature: string): CapturerEventNode { + const key = this.toEventNodeKey(configId, signature) + const existing = this.eventNodesByKey.get(key) + if (existing) { + return existing + } + const created: CapturerEventNode = { + type: 'event', + configId, + signature, + } + this.eventNodesByKey.set(key, created) + return created + } + + getEventNodes( + configId: string, + runtime: CapturerRuntime | undefined + ): CapturerEventNode[] { + if (!runtime) { + return [] + } + return Array.from(runtime.eventsBySignature.values()) + .sort((left, right) => right.createdAt - left.createdAt) + .map((summary) => this.getEventNode(configId, summary.signature)) + } + + getFrameNodes( + configId: string, + signature: string, + frameCount: number + ): CapturerFrameNode[] { + return Array.from({ length: frameCount }, (_, frameIndex) => ({ + type: 'frame' as const, + configId, + signature, + frameIndex, + })) + } + + removeEventNode(configId: string, signature: string): void { + this.eventNodesByKey.delete(this.toEventNodeKey(configId, signature)) + } + + clearConfig(configId: string): void { + this.rootNodesByConfigId.delete(configId) + const prefix = `${configId}::` + for (const key of this.eventNodesByKey.keys()) { + if (key.startsWith(prefix)) { + this.eventNodesByKey.delete(key) + } + } + } + + private toEventNodeKey(configId: string, signature: string): string { + return `${configId}::${signature}` + } +} diff --git a/src/decodeParams.ts b/src/decodeParams.ts index f5f8160..263e268 100644 --- a/src/decodeParams.ts +++ b/src/decodeParams.ts @@ -7,7 +7,7 @@ import { } from 'trbr' import type { BoardDetails, SketchFolder } from 'vscode-arduino-api' -import { access } from './utils' +import { findElfPath } from './findElfPath' export interface DecodeParams extends TrbrDecodeParams { fqbn: FQBN @@ -19,9 +19,9 @@ const esp8266 = 'esp8266' const supportedArchitectures = new Set([esp32, esp8266]) export async function createDecodeParams( - sketchFolder: SketchFolder + params: Pick ): Promise { - const { compileSummary, sketchPath, board } = sketchFolder + const { compileSummary, sketchPath, board } = params if (!sketchPath) { throw new Error('Sketch path is not set') } @@ -99,25 +99,8 @@ export class DecodeParamsError extends Error { } } -async function findElfPath( - sketchFolderName: string, - buildPath: string -): Promise { - const [inoElfPath, cppElfPath] = await Promise.all( - ['ino', 'cpp'].map((ext) => - access(path.join(buildPath, `${sketchFolderName}.${ext}.elf`)) - ) - ) - return inoElfPath ?? cppElfPath ?? undefined -} - function isBoardDetails(board: SketchFolder['board']): board is BoardDetails { return ( typeof board === 'object' && board !== null && 'buildProperties' in board ) } - -/** (non-API) */ -export const __tests = { - findElfPath, -} as const diff --git a/src/extension.ts b/src/extension.ts index fa8a17f..ab19fbb 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,22 +1,67 @@ import vscode from 'vscode' import type { ArduinoContext } from 'vscode-arduino-api' +import { registerCapturer } from './capturer' +import { ReplayStore } from './replay' +import { registerReplay, replayCrashCommandId } from './replayRegistration' import { activateDecoderTerminal } from './terminal' -export function activate(context: vscode.ExtensionContext): void { - findArduinoContext() - .then((arduinoContext) => { - if (arduinoContext) { - activateDecoderTerminal(context, arduinoContext) - } - }) - .catch((err) => { - vscode.window.showErrorMessage( - `Failed to activate extension: ${ - err instanceof Error ? err.message : String(err) - }` - ) - }) +export async function activate( + context: vscode.ExtensionContext +): Promise { + const replayStore = new ReplayStore() + context.subscriptions.push(replayStore) + registerReplay(context, replayStore) + + await activateWithBoardLab(context, replayStore) +} + +async function activateWithBoardLab( + context: vscode.ExtensionContext, + replayStore: ReplayStore +): Promise { + try { + const arduinoContext = await findArduinoContext() + if (!arduinoContext) { + return + } + activateDecoderTerminal(context, arduinoContext, replayStore) + context.subscriptions.push( + registerCapturer(context, arduinoContext, { + onDecodedEvent: async ({ meta, params, result }) => { + replayStore.recordDecode(params, result, { + sourceKey: meta.key, + reason: meta.label, + createdAt: meta.createdAt, + captureSessionLabel: meta.captureSessionLabel, + }) + }, + onRemovedDecodedEvent: ({ key }) => { + replayStore.deleteSnapshotBySourceKey(key) + }, + onRemovedCapturer: ({ configId }) => { + replayStore.deleteSnapshotsBySourceKeyPrefix(`${configId}:`) + }, + evaluateDecodedEvent: async ({ meta, params, result }) => { + const snapshot = replayStore.recordDecode(params, result, { + sourceKey: meta.key, + reason: meta.label, + createdAt: meta.createdAt, + captureSessionLabel: meta.captureSessionLabel, + }) + await vscode.commands.executeCommand(replayCrashCommandId, { + snapshotId: snapshot.id, + }) + }, + }) + ) + } catch (err) { + vscode.window.showErrorMessage( + `Failed to activate extension: ${ + err instanceof Error ? err.message : String(err) + }` + ) + } } async function findArduinoContext(): Promise { diff --git a/src/findElfPath.ts b/src/findElfPath.ts new file mode 100644 index 0000000..4f3c7bc --- /dev/null +++ b/src/findElfPath.ts @@ -0,0 +1,167 @@ +import { createHash } from 'node:crypto' +import { homedir, tmpdir } from 'node:os' +import path from 'node:path' + +import { access } from './utils' + +export async function findElfPath( + sketchFolderName: string, + buildPath: string +): Promise { + const [inoElfPath, cppElfPath] = await Promise.all( + ['ino', 'cpp'].map((ext) => + access(path.join(buildPath, `${sketchFolderName}.${ext}.elf`)) + ) + ) + return inoElfPath ?? cppElfPath ?? undefined +} + +interface BuildPathProbeOptions { + platform?: NodeJS.Platform + userCacheDirPath?: string + tempDirPath?: string + sketchRealPath?: string +} + +interface BuildPathProbeResult { + buildPath: string + elfPath?: string + hasBuildOptions: boolean +} + +export function buildFolderMd5Hash(sketchPath: string): string { + return createHash('md5').update(sketchPath).digest('hex').toUpperCase() +} + +export function resolveBuildPathCandidates( + sketchPath: string, + options: BuildPathProbeOptions = {} +): string[] { + const platform = options.platform ?? process.platform + const platformPath = pathForPlatform(platform) + const basePaths = resolveBasePaths(platform, options) + const sketchPaths = resolveSketchPathVariants( + sketchPath, + platform, + options, + platformPath + ) + const candidates: string[] = [] + for (const basePath of basePaths) { + for (const sketchPathVariant of sketchPaths) { + const hash = buildFolderMd5Hash(sketchPathVariant) + candidates.push( + platformPath.join(basePath, 'arduino', 'sketches', hash), + platformPath.join(basePath, `arduino-sketch-${hash}`) + ) + } + } + return dedupe(candidates) +} + +// https://github.com/arduino/arduino-cli/issues/2866 +export async function resolveBuildPathFromSketchPath( + sketchPath: string, + sketchFolderName: string, + options: BuildPathProbeOptions = {} +): Promise { + const platform = options.platform ?? process.platform + const platformPath = pathForPlatform(platform) + const candidates = resolveBuildPathCandidates(sketchPath, options) + for (const buildPath of candidates) { + const [elfPath, buildOptionsPath] = await Promise.all([ + findElfPath(sketchFolderName, buildPath), + access(platformPath.join(buildPath, 'build.options.json')), + ]) + if (!elfPath && !buildOptionsPath) { + continue + } + return { + buildPath, + elfPath, + hasBuildOptions: Boolean(buildOptionsPath), + } + } + return undefined +} + +function resolveSketchPathVariants( + sketchPath: string, + platform: NodeJS.Platform, + options: { sketchRealPath?: string }, + platformPath: typeof path.posix | typeof path.win32 +): string[] { + const variants = new Set() + variants.add(platformPath.normalize(sketchPath)) + if (options.sketchRealPath) { + variants.add(platformPath.normalize(options.sketchRealPath)) + } + if (platform === 'win32') { + for (const entry of [...variants]) { + if (isWinDrivePath(entry)) { + variants.add(toggleFirstCharCase(entry)) + } + } + } + return [...variants] +} + +function resolveBasePaths( + platform: NodeJS.Platform, + options: { userCacheDirPath?: string; tempDirPath?: string } +): string[] { + const userCachePath = + options.userCacheDirPath ?? resolveUserCacheDir(platform) + const tempPath = options.tempDirPath ?? tmpdir() + const bases = dedupe([userCachePath, tempPath].filter(isNonEmptyString)) + if (platform !== 'win32') { + return bases + } + const withCaseVariants = new Set(bases) + for (const base of bases) { + if (isWinDrivePath(base)) { + withCaseVariants.add(toggleFirstCharCase(base)) + } + } + return [...withCaseVariants] +} + +function resolveUserCacheDir(platform: NodeJS.Platform): string | undefined { + if (platform === 'win32') { + return process.env.LOCALAPPDATA + } + if (platform === 'darwin') { + return path.posix.join(homedir(), 'Library', 'Caches') + } + return process.env.XDG_CACHE_HOME ?? path.posix.join(homedir(), '.cache') +} + +function isWinDrivePath(candidate: string): boolean { + return /^[a-zA-Z]:[\\/]/.test(candidate) +} + +function toggleFirstCharCase(value: string): string { + if (value.length === 0) { + return value + } + const firstChar = value[0] + const toggled = + firstChar === firstChar.toUpperCase() + ? firstChar.toLowerCase() + : firstChar.toUpperCase() + return `${toggled}${value.slice(1)}` +} + +function dedupe(values: string[]): string[] { + return [...new Set(values)] +} + +function isNonEmptyString(value: string | undefined): value is string { + return typeof value === 'string' && value.trim().length > 0 +} + +function pathForPlatform( + platform: NodeJS.Platform +): typeof path.posix | typeof path.win32 { + return platform === 'win32' ? path.win32 : path.posix +} diff --git a/src/replay.ts b/src/replay.ts new file mode 100644 index 0000000..7e42b30 --- /dev/null +++ b/src/replay.ts @@ -0,0 +1,746 @@ +import path from 'node:path' + +import type { + LoadStackTraceParams, + LoadVariablesParams, + ReplayDataSource, + StackTrace, + StackTraceFrame, + VariablePayload, + Variables, +} from 'error-replay-debug-adapter' +import { + type DecodeResult, + type FrameArg, + type FrameVar, + type GDBLine, + type ParsedGDBLine, + isGDBLine, + isParsedGDBLine, +} from 'trbr' +import vscode from 'vscode' + +import type { DecodeParams } from './decodeParams' + +export interface ReplayLocation { + sourcePath: string + line: number + functionName?: string +} + +export interface ReplaySnapshot { + id: string + sourceKey?: string + params: { + fqbn: string + sketchPath: string + targetArch: string + } + stackTrace: StackTrace + variables: Map + location?: ReplayLocation + title: string + createdAt: number + eventCreatedAt?: number + captureSessionLabel?: string +} + +export interface ReplaySnapshotMeta { + sourceKey?: string + reason?: string + createdAt?: number + captureSessionLabel?: string +} + +export interface ReplayLocationEntry { + sourcePath: string + line: number + snapshots: ReplaySnapshot[] +} + +export class ReplayStore implements vscode.Disposable { + private snapshotId?: string + private snapshotSequence = 0 + private readonly snapshotsById = new Map() + private readonly snapshotIdBySourceKey = new Map() + private readonly snapshotIdsByDocumentLine = new Map< + string, + Map> + >() + + private readonly onDidChangeEmitter = new vscode.EventEmitter< + ReplaySnapshot | undefined + >() + + readonly onDidChange = this.onDidChangeEmitter.event + + dispose(): void { + this.onDidChangeEmitter.dispose() + } + + get current(): ReplaySnapshot | undefined { + if (!this.snapshotId) { + return undefined + } + return this.snapshotsById.get(this.snapshotId) + } + + recordDecode( + params: DecodeParams, + result: DecodeResult, + metadata: ReplaySnapshotMeta = {} + ): ReplaySnapshot { + const sourceKey = metadata.sourceKey?.trim() + const existingSnapshotId = sourceKey + ? this.snapshotIdBySourceKey.get(sourceKey) + : undefined + const previousSnapshot = existingSnapshotId + ? this.snapshotsById.get(existingSnapshotId) + : undefined + const snapshot = buildReplaySnapshot(params, result, { + id: existingSnapshotId ?? this.nextSnapshotId(), + sourceKey, + reason: metadata.reason, + createdAt: metadata.createdAt, + captureSessionLabel: metadata.captureSessionLabel, + }) + if (previousSnapshot) { + this.deindexSnapshot(previousSnapshot) + } + this.snapshotsById.set(snapshot.id, snapshot) + this.indexSnapshot(snapshot) + if (sourceKey) { + this.snapshotIdBySourceKey.set(sourceKey, snapshot.id) + } + this.snapshotId = snapshot.id + this.onDidChangeEmitter.fire(snapshot) + return snapshot + } + + clear(): void { + if (this.snapshotsById.size === 0) { + return + } + this.snapshotId = undefined + this.snapshotsById.clear() + this.snapshotIdBySourceKey.clear() + this.snapshotIdsByDocumentLine.clear() + this.onDidChangeEmitter.fire(undefined) + } + + clearIfParamsMismatch(params: DecodeParams | Error): void { + const snapshot = this.current + if (!snapshot) { + return + } + const next = + params instanceof Error + ? extractReplayContextFromError(params) + : { + fqbn: params.fqbn.toString(), + sketchPath: params.sketchPath, + } + if (!next) { + return + } + if ( + snapshot.params.fqbn !== next.fqbn || + snapshot.params.sketchPath !== next.sketchPath + ) { + this.clear() + } + } + + getSnapshot(snapshotId: string): ReplaySnapshot | undefined { + return this.snapshotsById.get(snapshotId) + } + + setCurrentSnapshot(snapshotId: string): ReplaySnapshot | undefined { + const snapshot = this.snapshotsById.get(snapshotId) + if (!snapshot) { + return undefined + } + this.snapshotId = snapshotId + this.onDidChangeEmitter.fire(snapshot) + return snapshot + } + + deleteSnapshotBySourceKey(sourceKey: string): boolean { + const key = sourceKey.trim() + if (!key) { + return false + } + const snapshotId = this.snapshotIdBySourceKey.get(key) + if (!snapshotId) { + return false + } + const removed = this.deleteSnapshotById(snapshotId) + if (removed) { + this.onDidChangeEmitter.fire(this.current) + } + return removed + } + + deleteSnapshotsBySourceKeyPrefix(sourceKeyPrefix: string): number { + const prefix = sourceKeyPrefix.trim() + if (!prefix) { + return 0 + } + const snapshotIds = new Set( + [...this.snapshotIdBySourceKey.entries()] + .filter(([sourceKey]) => sourceKey.startsWith(prefix)) + .map(([, snapshotId]) => snapshotId) + ) + if (snapshotIds.size === 0) { + return 0 + } + let removedCount = 0 + for (const snapshotId of snapshotIds) { + if (this.deleteSnapshotById(snapshotId)) { + removedCount += 1 + } + } + if (removedCount > 0) { + this.onDidChangeEmitter.fire(this.current) + } + return removedCount + } + + getSnapshotsAtLocation(sourcePath: string, line: number): ReplaySnapshot[] { + const normalizedSourcePath = normalizePathForLookup(sourcePath) + const byLine = this.snapshotIdsByDocumentLine.get(normalizedSourcePath) + if (!byLine) { + return [] + } + const snapshotIds = byLine.get(line) + if (!snapshotIds) { + return [] + } + return [...snapshotIds] + .map((snapshotId) => this.snapshotsById.get(snapshotId)) + .filter((snapshot): snapshot is ReplaySnapshot => Boolean(snapshot)) + .sort(sortSnapshotsNewestFirst) + } + + getLocationsForDocument(sourcePath: string): ReplayLocationEntry[] { + const normalizedSourcePath = normalizePathForLookup(sourcePath) + const byLine = this.snapshotIdsByDocumentLine.get(normalizedSourcePath) + if (!byLine) { + return [] + } + return [...byLine.entries()] + .sort(([leftLine], [rightLine]) => leftLine - rightLine) + .map(([line]) => ({ + sourcePath: normalizedSourcePath, + line, + snapshots: this.getSnapshotsAtLocation(normalizedSourcePath, line), + })) + .filter((entry) => entry.snapshots.length > 0) + } + + private nextSnapshotId(): string { + this.snapshotSequence += 1 + return `esp-exception-${Date.now()}-${this.snapshotSequence}` + } + + private indexSnapshot(snapshot: ReplaySnapshot): void { + if (!snapshot.location) { + return + } + const normalizedSourcePath = normalizePathForLookup( + snapshot.location.sourcePath + ) + let byLine = this.snapshotIdsByDocumentLine.get(normalizedSourcePath) + if (!byLine) { + byLine = new Map>() + this.snapshotIdsByDocumentLine.set(normalizedSourcePath, byLine) + } + let snapshotIds = byLine.get(snapshot.location.line) + if (!snapshotIds) { + snapshotIds = new Set() + byLine.set(snapshot.location.line, snapshotIds) + } + snapshotIds.add(snapshot.id) + } + + private deindexSnapshot(snapshot: ReplaySnapshot): void { + if (snapshot.sourceKey) { + const currentSnapshotId = this.snapshotIdBySourceKey.get( + snapshot.sourceKey + ) + if (currentSnapshotId === snapshot.id) { + this.snapshotIdBySourceKey.delete(snapshot.sourceKey) + } + } + if (!snapshot.location) { + return + } + const normalizedSourcePath = normalizePathForLookup( + snapshot.location.sourcePath + ) + const byLine = this.snapshotIdsByDocumentLine.get(normalizedSourcePath) + if (!byLine) { + return + } + const snapshotIds = byLine.get(snapshot.location.line) + if (!snapshotIds) { + return + } + snapshotIds.delete(snapshot.id) + if (snapshotIds.size === 0) { + byLine.delete(snapshot.location.line) + } + if (byLine.size === 0) { + this.snapshotIdsByDocumentLine.delete(normalizedSourcePath) + } + } + + private deleteSnapshotById(snapshotId: string): boolean { + const snapshot = this.snapshotsById.get(snapshotId) + if (!snapshot) { + return false + } + this.deindexSnapshot(snapshot) + this.snapshotsById.delete(snapshotId) + if (this.snapshotId === snapshotId) { + this.snapshotId = this.selectMostRecentSnapshotId() + } + return true + } + + private selectMostRecentSnapshotId(): string | undefined { + let selectedId: string | undefined + let selectedTime = Number.NEGATIVE_INFINITY + for (const snapshot of this.snapshotsById.values()) { + const snapshotTime = snapshot.eventCreatedAt ?? snapshot.createdAt + if (snapshotTime > selectedTime) { + selectedTime = snapshotTime + selectedId = snapshot.id + } + } + return selectedId + } +} + +export class ReplayCodeLensProvider implements vscode.CodeLensProvider { + private readonly onDidChangeEmitter = new vscode.EventEmitter() + readonly onDidChangeCodeLenses = this.onDidChangeEmitter.event + private readonly storeListener: vscode.Disposable + + constructor( + private readonly replayStore: ReplayStore, + private readonly commandId: string + ) { + this.storeListener = replayStore.onDidChange(() => + this.onDidChangeEmitter.fire() + ) + } + + dispose(): void { + this.storeListener.dispose() + this.onDidChangeEmitter.dispose() + } + + provideCodeLenses(document: vscode.TextDocument): vscode.CodeLens[] { + const entries = this.replayStore.getLocationsForDocument( + document.uri.fsPath + ) + if (entries.length === 0) { + return [] + } + return entries.map((entry) => { + const position = new vscode.Position(Math.max(0, entry.line - 1), 0) + const singleSnapshot = + entry.snapshots.length === 1 ? entry.snapshots[0] : undefined + const command: vscode.Command = { + title: singleSnapshot + ? toSingleReplayCodeLensTitle(singleSnapshot) + : 'Replay Crash', + command: this.commandId, + arguments: [ + singleSnapshot + ? { snapshotId: singleSnapshot.id } + : { sourcePath: entry.sourcePath, line: entry.line }, + ], + } + return new vscode.CodeLens(new vscode.Range(position, position), command) + }) + } +} + +export class ReplaySnapshotDataSource implements ReplayDataSource { + constructor(private readonly snapshot: ReplaySnapshot) {} + + async loadStackTrace(_params: LoadStackTraceParams): Promise { + return this.snapshot.stackTrace + } + + async loadVariables( + params: LoadVariablesParams + ): Promise { + return this.snapshot.variables.get(params.snapshotId) + } +} + +function buildReplaySnapshot( + params: DecodeParams, + result: DecodeResult, + metadata: { + id: string + sourceKey?: string + reason?: string + createdAt?: number + captureSessionLabel?: string + } +): ReplaySnapshot { + const createdAt = Date.now() + const entries = collectFrameEntries(result) + const variables = new Map() + const frames = entries.map((entry, index) => { + variables.set(entry.snapshotId, buildVariables(entry.line, result)) + return buildStackTraceFrame(entry, index, params.sketchPath) + }) + + const stackTrace: StackTrace = { + id: `esp-exception-${createdAt}`, + frames, + eventId: `esp-exception-${createdAt}`, + traceId: `esp-exception-${createdAt}`, + timestamp: createdAt, + source: 'esp-exception-decoder', + snapshotCount: frames.length, + symbolicated: true, + architecture: params.targetArch, + registers: result.regs ? stringifyRegisters(result.regs) : undefined, + exception: buildException(result), + } + + return { + id: metadata.id, + sourceKey: metadata.sourceKey, + params: { + fqbn: params.fqbn.toString(), + sketchPath: params.sketchPath, + targetArch: params.targetArch, + }, + stackTrace, + variables, + location: resolveReplayLocation(entries, params.sketchPath), + title: metadata.reason?.trim() || buildReplayTitle(result), + createdAt, + eventCreatedAt: metadata.createdAt, + captureSessionLabel: metadata.captureSessionLabel, + } +} + +function toSingleReplayCodeLensTitle(snapshot: ReplaySnapshot): string { + const titleParts = [ellipsize(extractCrashName(snapshot.title), 40)] + const createdAt = formatReplayTimestamp( + snapshot.eventCreatedAt ?? snapshot.createdAt + ) + if (createdAt) { + titleParts.push(createdAt) + } + if (snapshot.captureSessionLabel) { + titleParts.push(snapshot.captureSessionLabel) + } + return `Replay Crash: ${titleParts.join(' · ')}` +} + +function extractCrashName(value: string): string { + const trimmed = value.trim() + if (!trimmed) { + return 'Crash' + } + const separatorIndexes = [trimmed.indexOf(':'), trimmed.indexOf('·')] + .filter((index) => index >= 0) + .sort((left, right) => left - right) + if (separatorIndexes.length === 0) { + return trimmed + } + return trimmed.slice(0, separatorIndexes[0]).trim() || trimmed +} + +function ellipsize(value: string, maxLength: number): string { + if (value.length <= maxLength) { + return value + } + return `${value.slice(0, Math.max(0, maxLength - 1))}…` +} + +function formatReplayTimestamp(value: number): string { + return new Date(value).toLocaleString() +} + +function normalizePathForLookup(value: string): string { + const normalized = path.normalize(value) + return process.platform === 'win32' ? normalized.toLowerCase() : normalized +} + +function sortSnapshotsNewestFirst( + left: ReplaySnapshot, + right: ReplaySnapshot +): number { + const leftTime = left.eventCreatedAt ?? left.createdAt + const rightTime = right.eventCreatedAt ?? right.createdAt + return rightTime - leftTime +} + +type FrameLine = GDBLine | ParsedGDBLine + +interface FrameEntry { + line: FrameLine + snapshotId: string +} + +function collectFrameEntries(result: DecodeResult): FrameEntry[] { + const seen = new Set() + const lines: FrameLine[] = [] + const pc = result.faultInfo?.programCounter?.location + if (pc && isGDBLine(pc)) { + pushUniqueLine(lines, seen, pc) + } + for (const line of result.stacktraceLines) { + if (isGDBLine(line)) { + pushUniqueLine(lines, seen, line) + } + } + return lines.map((line, index) => ({ + line, + snapshotId: `frame-${index}`, + })) +} + +function pushUniqueLine( + lines: FrameLine[], + seen: Set, + line: FrameLine +): void { + const key = `${line.regAddr}:${line.lineNumber}` + if (seen.has(key)) { + return + } + seen.add(key) + lines.push(line) +} + +function buildStackTraceFrame( + entry: FrameEntry, + index: number, + sketchPath: string +): StackTraceFrame { + const { line, snapshotId } = entry + const parsed = isParsedGDBLine(line) + const file = parsed ? normalizeFilePath(line.file, sketchPath) : undefined + const lineNumber = parsed ? parseLineNumber(line.lineNumber) : undefined + const lineZero = + lineNumber !== undefined ? Math.max(0, lineNumber - 1) : undefined + const tokens: StackTraceFrame['tokens'] = + file && lineZero !== undefined + ? [ + { + kind: 'runtimeCoordinate', + value: { uri: { path: file }, location: lineZero }, + }, + ] + : [] + const content = parsed + ? `${line.method} @ ${file ?? 'unknown'}:${lineNumber ?? '??'}` + : `${line.regAddr} ${line.lineNumber}` + return { + id: snapshotId, + content, + tokens, + snapshotId, + snapshotIndex: index + 1, + ...(file ? { file } : {}), + ...(parsed ? { function: line.method } : {}), + ...(lineZero !== undefined ? { line: lineZero, column: 0 } : {}), + } +} + +function buildVariables(line: FrameLine, result: DecodeResult): Variables { + const locals: Record = {} + const args: Record = {} + + if (isParsedGDBLine(line)) { + if (line.args) { + for (const arg of line.args) { + args[arg.name] = frameArgToPayload(arg) + } + } + if (line.locals) { + Object.assign(locals, mapFrameVars(line.locals)) + } + } + + const globals = isParsedGDBLine(line) + ? (line.globals ?? result.globals) + : result.globals + if (globals && globals.length) { + locals.globals = { + type: 'globals', + fields: mapFrameVars(globals), + } + } + + if (result.regs) { + locals.registers = { + type: 'registers', + fields: mapRegisterVars(result.regs), + } + } + + return { locals, arguments: args } +} + +function frameArgToPayload(arg: FrameArg): VariablePayload { + return { + ...(arg.type ? { type: arg.type } : {}), + ...(arg.value !== undefined ? { value: arg.value } : {}), + } +} + +function mapFrameVars(vars: FrameVar[]): Record { + const record: Record = {} + for (const variable of vars) { + record[variable.name] = frameVarToPayload(variable) + } + return record +} + +function frameVarToPayload(variable: FrameVar): VariablePayload { + const childFields = + variable.children && variable.children.length + ? mapFrameVars(variable.children) + : undefined + const fields = variable.address + ? { + ...(childFields ?? {}), + address: { + type: 'address', + value: variable.address, + }, + } + : childFields + const value = + variable.value !== undefined + ? variable.value + : variable.address && !variable.children?.length + ? variable.address + : undefined + return { + ...(variable.type ? { type: variable.type } : {}), + ...(value !== undefined ? { value } : {}), + ...(fields ? { fields } : {}), + } +} + +function mapRegisterVars( + regs: Record +): Record { + const record: Record = {} + for (const [name, value] of Object.entries(regs)) { + record[name] = { type: 'number', value: toHex(value) } + } + return record +} + +function stringifyRegisters( + regs: Record +): Record { + const record: Record = {} + for (const [name, value] of Object.entries(regs)) { + record[name] = toHex(value) + } + return record +} + +function toHex(value: number): string { + return `0x${value.toString(16)}` +} + +function buildException(result: DecodeResult): StackTrace['exception'] { + if (!result.faultInfo) { + return undefined + } + const fault = result.faultInfo + const message = fault.faultMessage + ? fault.faultMessage + : typeof fault.faultCode === 'number' + ? `Fault ${fault.faultCode}` + : undefined + return { + name: 'Guru Meditation', + message, + } +} + +function buildReplayTitle(result: DecodeResult): string { + if (result.faultInfo?.faultMessage) { + return result.faultInfo.faultMessage + } + if (typeof result.faultInfo?.faultCode === 'number') { + return `Fault ${result.faultInfo.faultCode}` + } + if (result.allocInfo) { + return 'Memory allocation failed' + } + return 'ESP Crash' +} + +function resolveReplayLocation( + entries: FrameEntry[], + sketchPath: string +): ReplayLocation | undefined { + for (const entry of entries) { + if (!isParsedGDBLine(entry.line)) { + continue + } + const file = normalizeFilePath(entry.line.file, sketchPath) + const lineNumber = parseLineNumber(entry.line.lineNumber) + if (!file || lineNumber === undefined) { + continue + } + return { + sourcePath: file, + line: lineNumber, + functionName: entry.line.method, + } + } + return undefined +} + +function parseLineNumber(value: string): number | undefined { + if (!value || value === '??') { + return undefined + } + const parsed = Number.parseInt(value, 10) + return Number.isNaN(parsed) ? undefined : parsed +} + +function normalizeFilePath( + file: string, + sketchPath: string +): string | undefined { + if (!file || file === '??') { + return undefined + } + if (path.isAbsolute(file)) { + return path.normalize(file) + } + return path.normalize(path.join(sketchPath, file)) +} + +function extractReplayContextFromError( + error: Error +): { fqbn: string; sketchPath: string } | undefined { + const candidate = error as { fqbn?: unknown; sketchPath?: unknown } + if ( + typeof candidate.fqbn === 'string' && + typeof candidate.sketchPath === 'string' + ) { + return { fqbn: candidate.fqbn, sketchPath: candidate.sketchPath } + } + return undefined +} diff --git a/src/replayRegistration.ts b/src/replayRegistration.ts new file mode 100644 index 0000000..7acc40e --- /dev/null +++ b/src/replayRegistration.ts @@ -0,0 +1,162 @@ +import path from 'node:path' + +import { ErrorReplaySession } from 'error-replay-debug-adapter' +import vscode from 'vscode' + +import { + ReplayCodeLensProvider, + type ReplaySnapshot, + ReplaySnapshotDataSource, + ReplayStore, +} from './replay' + +const replayDebugType = 'esp-crash-replay' +export const replayCrashCommandId = 'espExceptionDecoder.replayCrash' + +export function registerReplay( + context: vscode.ExtensionContext, + replayStore: ReplayStore +): void { + let replaySessionActive = false + + const codeLensProvider = new ReplayCodeLensProvider( + replayStore, + replayCrashCommandId + ) + + context.subscriptions.push( + vscode.languages.registerCodeLensProvider( + { scheme: 'file', pattern: '**/*.{ino,c,cpp,h,hpp,cc,cxx}' }, + codeLensProvider + ), + codeLensProvider + ) + + context.subscriptions.push( + vscode.debug.onDidStartDebugSession((session) => { + if (session.type === replayDebugType) { + replaySessionActive = true + } + }), + vscode.debug.onDidTerminateDebugSession((session) => { + if (session.type === replayDebugType) { + replaySessionActive = false + } + }), + vscode.debug.onDidChangeActiveDebugSession((session) => { + if (!session || session.type !== replayDebugType) { + replaySessionActive = false + } + }) + ) + + const factory: vscode.DebugAdapterDescriptorFactory = { + createDebugAdapterDescriptor(session: vscode.DebugSession) { + const snapshot = replayStore.current + if (!snapshot) { + throw new Error('No decoded crash data is available to replay.') + } + const dataSource = new ReplaySnapshotDataSource(snapshot) + return new vscode.DebugAdapterInlineImplementation( + new ErrorReplaySession( + dataSource, + session.workspaceFolder?.uri?.fsPath + ) as unknown as vscode.DebugAdapter + ) + }, + } + + context.subscriptions.push( + vscode.debug.registerDebugAdapterDescriptorFactory( + replayDebugType, + factory + ), + vscode.commands.registerCommand( + replayCrashCommandId, + async (args?: ReplayCommandArgs) => { + if (replaySessionActive) { + vscode.window.showWarningMessage( + 'A crash replay session is already running.' + ) + return + } + const snapshot = await resolveReplaySnapshotFromArgs(replayStore, args) + if (!snapshot) { + vscode.window.showWarningMessage('Decode a crash to start replay.') + return + } + replayStore.setCurrentSnapshot(snapshot.id) + + const location = snapshot.location + const config: vscode.DebugConfiguration = { + type: replayDebugType, + name: 'ESP Crash Replay', + request: 'launch', + errorTitle: snapshot.title, + } + if (location) { + config.startLine = location.line + config.startSourcePath = location.sourcePath + } + + const workspaceFolder = + vscode.workspace.workspaceFolders?.find((folder) => + path + .normalize(snapshot.params.sketchPath) + .startsWith(path.normalize(folder.uri.fsPath)) + ) ?? vscode.workspace.workspaceFolders?.[0] + + await vscode.commands.executeCommand('workbench.view.debug') + await vscode.debug.startDebugging(workspaceFolder, config) + } + ) + ) +} + +type ReplayCommandArgs = { + snapshotId?: string + sourcePath?: string + line?: number +} + +async function resolveReplaySnapshotFromArgs( + replayStore: ReplayStore, + args?: ReplayCommandArgs +): Promise { + if (typeof args?.snapshotId === 'string' && args.snapshotId.trim()) { + return replayStore.getSnapshot(args.snapshotId) + } + if ( + typeof args?.sourcePath === 'string' && + args.sourcePath.trim().length > 0 && + typeof args?.line === 'number' + ) { + const snapshots = replayStore.getSnapshotsAtLocation( + args.sourcePath, + args.line + ) + if (snapshots.length === 1) { + return snapshots[0] + } + if (snapshots.length > 1) { + const selected = await vscode.window.showQuickPick( + snapshots.map((snapshot) => ({ + label: snapshot.title + ? `Replay Crash: ${snapshot.title}` + : 'Replay Crash', + description: new Date( + snapshot.eventCreatedAt ?? snapshot.createdAt + ).toLocaleString(), + detail: snapshot.captureSessionLabel, + snapshotId: snapshot.id, + })), + { + placeHolder: 'Select a crash event to replay', + } + ) + return selected ? replayStore.getSnapshot(selected.snapshotId) : undefined + } + return undefined + } + return undefined +} diff --git a/src/terminal.ts b/src/terminal.ts index 98d000c..f855ef4 100644 --- a/src/terminal.ts +++ b/src/terminal.ts @@ -15,6 +15,7 @@ import { DecodeParamsError, createDecodeParams, } from './decodeParams' +import type { ReplayStore } from './replay' import { Debug } from './utils' const terminalDebug: Debug = debug('espExceptionDecoder:terminal') @@ -34,7 +35,8 @@ function createDebugOutput(): Debug { export function activateDecoderTerminal( context: vscode.ExtensionContext, - arduinoContext: ArduinoContext + arduinoContext: ArduinoContext, + replayStore?: ReplayStore ): void { context.subscriptions.push( new vscode.Disposable(() => _debugOutput?.dispose()), @@ -42,6 +44,7 @@ export function activateDecoderTerminal( openTerminal(arduinoContext, { show: true, debug: createDebugOutput(), + replayStore, }) ) ) @@ -49,14 +52,15 @@ export function activateDecoderTerminal( function openTerminal( arduinoContext: ArduinoContext, - options: { show: boolean; debug: Debug } = { + options: { show: boolean; debug: Debug; replayStore?: ReplayStore } = { show: true, debug: terminalDebug, } ): vscode.Terminal { const { debug, show } = options const terminal = - findDecodeTerminal() ?? createDecodeTerminal(arduinoContext, debug) + findDecodeTerminal() ?? + createDecodeTerminal(arduinoContext, debug, options.replayStore) if (show) { terminal.show() } @@ -72,9 +76,10 @@ function findDecodeTerminal(): vscode.Terminal | undefined { function createDecodeTerminal( arduinoContext: ArduinoContext, - debug: Debug + debug: Debug, + replayStore?: ReplayStore ): vscode.Terminal { - const pty = new DecoderTerminal(arduinoContext, debug) + const pty = new DecoderTerminal(arduinoContext, debug, replayStore) const options: vscode.ExtensionTerminalOptions = { name: decodeTerminalName, pty, @@ -84,10 +89,10 @@ function createDecodeTerminal( } const decodeTerminalTitle = 'ESP Exception Decoder' -const decodeTerminalName = 'Exception Decoder' +const decodeTerminalName = 'Crash Decoder' const initializing = 'Initializing...' const busy = 'Decoding...' -const idle = 'Paste exception to decode...' +const idle = 'Paste crash to decode...' const relevantSketchChanges = new Set([ 'board', @@ -116,7 +121,8 @@ class DecoderTerminal implements vscode.Pseudoterminal { constructor( private readonly arduinoContext: ArduinoContext, - private readonly debug: Debug = terminalDebug + private readonly debug: Debug = terminalDebug, + private readonly replayStore?: ReplayStore ) { this.onDidWriteEmitter = new vscode.EventEmitter() this.onDidCloseEmitter = new vscode.EventEmitter() @@ -192,6 +198,9 @@ class DecoderTerminal implements vscode.Pseudoterminal { this.abortController.abort() decoderResult = err instanceof Error ? err : new Error(String(err)) } + if (!(decoderResult instanceof Error)) { + this.replayStore?.recordDecode(params, decoderResult) + } this.updateState({ decoderResult, statusMessage: idle }) } @@ -200,12 +209,13 @@ class DecoderTerminal implements vscode.Pseudoterminal { try { const resolvedSketch = this.resolveCurrentSketch(sketch) if (!resolvedSketch) { - throw new Error('Select a sketch folder to decode exceptions') + throw new Error('Select a sketch folder to decode crashes') } params = await createDecodeParams(resolvedSketch) } catch (err) { params = err instanceof Error ? err : new Error(String(err)) } + this.replayStore?.clearIfParamsMismatch(params) this.updateState({ params }) } diff --git a/src/test/fixtures/monitor.txt b/src/test/fixtures/monitor.txt new file mode 100644 index 0000000..a20dc70 --- /dev/null +++ b/src/test/fixtures/monitor.txt @@ -0,0 +1,33 @@ +Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled. + +Core 1 register dump: +PC : 0x400d15f1 PS : 0x00060b30 A0 : 0x800d1609 A1 : 0x3ffb21d0 +A2 : 0x0000002a A3 : 0x3f40018f A4 : 0x00000020 A5 : 0x0000ff00 +A6 : 0x00ff0000 A7 : 0x00000022 A8 : 0x00000000 A9 : 0x3ffb21b0 +A10 : 0x0000002c A11 : 0x3f400164 A12 : 0x00000022 A13 : 0x0000ff00 +A14 : 0x00ff0000 A15 : 0x0000002a SAR : 0x0000000c EXCCAUSE: 0x0000001d +EXCVADDR: 0x00000000 LBEG : 0x40086161 LEND : 0x40086171 LCOUNT : 0xfffffff5 + +Backtrace: 0x400d15ee:0x3ffb21d0 0x400d1606:0x3ffb21f0 +--- SNAP --- +Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled. + +Core 1 register dump: +PC : 0x400d15f1 PS : 0x00060b30 A0 : 0x800d1609 A1 : 0x3ffb21d0 +A2 : 0x0000002a A3 : 0x3f40018f A4 : 0x00000020 A5 : 0x0000ff00 +A6 : 0x00ff0000 A7 : 0x00000022 A8 : 0x00000000 A9 : 0x3ffb21b0 +A10 : 0x0000002c A11 : 0x3f400164 A12 : 0x00000022 A13 : 0x0000ff00 +A14 : 0x00ff0000 A15 : 0x0000002a SAR : 0x0000000c EXCCAUSE: 0x0000001d +EXCVADDR: 0x00000000 LBEG : 0x40086161 LEND : 0x40086171 LCOUNT : 0xfffffff5 + +Backtrace: 0x400d15ee:0x3ffb21d0 0x400d1606:0x3ffb21f0 +--- SNAP --- +Core 0 panic'ed (Load access fault). Exception was unhandled. + +Core 0 register dump: +MEPC : 0x4200007e RA : 0x4200007e SP : 0x3fc98300 GP : 0x3fc8d000 +TP : 0x3fc98350 T0 : 0x4005890e T1 : 0x3fc8f000 T2 : 0x00000000 +S0/FP : 0x420001ea S1 : 0x3fc8f000 A0 : 0x00000001 A1 : 0x00000001 +T3 : 0x3fc8f000 T4 : 0x00000001 T5 : 0x3fc8f000 T6 : 0x00000001 +MSTATUS : 0x00001801 MTVEC : 0x40380001 MCAUSE : 0x00000005 MTVAL : 0x00000000 +MHARTID : 0x00000000 diff --git a/src/test/suite/capturer.test.ts b/src/test/suite/capturer.test.ts new file mode 100644 index 0000000..f638ac6 --- /dev/null +++ b/src/test/suite/capturer.test.ts @@ -0,0 +1,743 @@ +import assert from 'node:assert/strict' +import { promises as fs, mkdirSync, writeFileSync } from 'node:fs' +import path from 'node:path' + +import type { CapturerEvent, DecodeResult } from 'trbr' +import vscode from 'vscode' + +import type { + BoardLabContextExt, + MonitorClient, + MonitorRuntimeState, + MonitorSuspensionResult, +} from '../../boardLabExt' +import { type CapturerRootNode, CapturerManager, __tests } from '../../capturer' +import { + mockArduinoContext, + mockBoardDetails, + mockCompileSummary, + mockSketchFolder, +} from './mock' + +class TestMemento implements vscode.Memento { + constructor(private readonly store = new Map()) {} + + get(key: string): T | undefined + get(key: string, defaultValue: T): T + get(key: string, defaultValue?: T): T | undefined { + if (!this.store.has(key)) { + return defaultValue + } + return this.store.get(key) as T + } + + keys(): readonly string[] { + return Array.from(this.store.keys()) + } + + async update(key: string, value: unknown): Promise { + this.store.set(key, value) + } +} + +class FakeMonitorClient implements MonitorClient { + readonly onDidReceiveData: vscode.Event + readonly onDidChangeState: vscode.Event + private readonly receiveEmitter = new vscode.EventEmitter() + private readonly stateEmitter = new vscode.EventEmitter() + private _state: MonitorRuntimeState = 'running' + disposed = false + + constructor( + readonly port: { protocol: string; address: string }, + state: MonitorRuntimeState = 'running' + ) { + this._state = state + this.onDidReceiveData = this.receiveEmitter.event + this.onDidChangeState = this.stateEmitter.event + } + + get state(): MonitorRuntimeState { + return this._state + } + + emitData(chunk: Uint8Array): void { + this.receiveEmitter.fire(chunk) + } + + emitState(state: MonitorRuntimeState): void { + this._state = state + this.stateEmitter.fire(state) + } + + async send(_message: string | Uint8Array): Promise { + // noop + } + + dispose(): void { + this.disposed = true + this.receiveEmitter.dispose() + this.stateEmitter.dispose() + } +} + +describe('capturer', () => { + it('validates capturer config input', () => { + const invalid = __tests.validateCapturerConfig({}) + assert.strictEqual(invalid.ok, false) + + const unsupportedArch = __tests.validateCapturerConfig({ + port: { protocol: 'serial', address: '/dev/mock0' }, + fqbn: 'arduino:avr:uno', + sketchPath: '/tmp/sketch-a', + }) + assert.strictEqual(unsupportedArch.ok, false) + + const valid = __tests.validateCapturerConfig({ + port: { protocol: 'serial', address: '/dev/mock0' }, + fqbn: 'esp32:esp32:esp32c3', + sketchPath: '/tmp/sketch-a', + }) + assert.strictEqual(valid.ok, true) + assert.strictEqual(valid.ok && valid.value.fqbn, 'esp32:esp32:esp32c3') + }) + + it('covers config/runtime helper utilities', () => { + assert.strictEqual(__tests.pathEquals('/tmp/a/../b', '/tmp/b'), true) + assert.strictEqual(__tests.isPortIdentifierLike({}), false) + assert.strictEqual( + __tests.isPortIdentifierLike({ protocol: 'serial', address: '/dev/1' }), + true + ) + assert.deepStrictEqual(__tests.extractDetectedPorts(undefined), undefined) + assert.strictEqual( + __tests.arePortsEqual( + { protocol: 'serial', address: '/dev/1' }, + { protocol: 'serial', address: '/dev/1' } + ), + true + ) + assert.strictEqual( + __tests.isPortDetected([{ protocol: 'serial', address: '/dev/1' }], { + protocol: 'serial', + address: '/dev/1', + }), + true + ) + assert.strictEqual(__tests.pickNonEmptyString({ k: ' v ' }, 'k'), 'v') + assert.strictEqual(__tests.pickNonEmptyString({ k: ' ' }, 'k'), undefined) + assert.strictEqual(__tests.isRecord({}), true) + assert.strictEqual(__tests.isRecord(null), false) + assert.strictEqual( + __tests.resolveSketchBoardName( + { board: { name: 'ESP', fqbn: 'esp32:esp32:esp32c3' } }, + 'esp32:esp32:esp32c3' + ), + 'ESP' + ) + assert.strictEqual( + __tests.resolveSketchBoardName( + { board: { name: 'ESP', fqbn: 'esp32:esp32:esp32da' } }, + 'esp32:esp32:esp32c3' + ), + undefined + ) + }) + + it('covers transfer/readiness/source helpers', () => { + assert.strictEqual(__tests.areStringArraysEqual(['a'], ['a']), true) + assert.strictEqual(__tests.areStringArraysEqual(['a'], ['b']), false) + assert.strictEqual( + __tests.chunkEndsWithLineBreak(new Uint8Array([0x41, 0x0a])), + true + ) + assert.strictEqual( + __tests.chunkEndsWithLineBreak(new Uint8Array([0x41])), + false + ) + + const runtime: { + processedBytes: number + processedFirstAt?: number + processedLastAt?: number + } = { + processedBytes: 10, + processedFirstAt: 1, + processedLastAt: 2, + } + __tests.resetTransferMetrics(runtime) + assert.deepStrictEqual(runtime, { + processedBytes: 0, + processedFirstAt: undefined, + processedLastAt: undefined, + }) + __tests.recordTransfer(runtime, 0, 10) + assert.strictEqual(runtime.processedBytes, 0) + __tests.recordTransfer(runtime, 4, 10) + __tests.recordTransfer(runtime, 8, 20) + assert.strictEqual(runtime.processedBytes, 12) + assert.strictEqual(runtime.processedFirstAt, 10) + assert.strictEqual(runtime.processedLastAt, 20) + + const leftReadiness = { + sketchExists: true, + hasCompileSummary: true, + elfPath: '/tmp/elf', + buildPath: '/tmp/build', + buildOptions: { + buildPath: '/tmp/build', + optionsPath: '/tmp/build/build.options.json', + fqbn: 'esp32:esp32:esp32c3', + flags: [], + }, + boardName: 'ESP', + selectedBoardName: 'ESP', + selectedBoardFqbn: 'esp32:esp32:esp32c3', + selectedPort: { protocol: 'serial', address: '/dev/1' }, + configuredPortDetected: true, + workspaceRelativeSketchPath: 'sketch', + } + assert.strictEqual( + __tests.isReadinessEqual(leftReadiness, { ...leftReadiness }), + true + ) + assert.strictEqual( + __tests.isBuildOptionsEqual(leftReadiness.buildOptions, { + ...leftReadiness.buildOptions, + }), + true + ) + assert.strictEqual( + __tests.isBuildOptionsEqual(leftReadiness.buildOptions, undefined), + false + ) + assert.strictEqual( + __tests.isElfIdentityEqual( + { + path: '/tmp/elf', + size: 1, + mtimeMs: 2, + sha256: 'abc', + sessionId: 'x', + }, + { + path: '/tmp/elf', + size: 1, + mtimeMs: 2, + sha256: 'abc', + sessionId: 'x', + } + ), + true + ) + assert.strictEqual( + __tests.classifyDecodedSource('/tmp/sketch/main.cpp', '/tmp/sketch'), + 'sketch' + ) + assert.strictEqual( + __tests.classifyDecodedSource('/tmp/lib/main.cpp', '/tmp/sketch'), + 'library' + ) + assert.strictEqual( + __tests.classifyDecodedSource(undefined, '/tmp/sketch'), + 'missing' + ) + assert.strictEqual( + __tests.isPathInside('/tmp/sketch', '/tmp/sketch/a'), + true + ) + }) + + it('deduplicates summaries by event signature', () => { + const cache = new Map>() + const event: CapturerEvent = { + id: '1', + signature: 'sig-1', + kind: 'xtensa', + lines: ['StoreProhibited'], + rawText: 'panic', + firstSeenAt: 10, + lastSeenAt: 10, + count: 1, + lightweight: { + reasonLine: 'StoreProhibited', + programCounter: 0x1234, + faultCode: 29, + faultAddr: undefined, + regs: {}, + backtraceAddrs: [], + }, + fastFrames: undefined, + evaluated: undefined, + } + __tests.upsertEventSummary(cache, event) + __tests.upsertEventSummary(cache, { + ...event, + id: '2', + count: 2, + lastSeenAt: 20, + }) + + assert.strictEqual(cache.size, 1) + const summary = cache.get('sig-1') + assert.ok(summary) + assert.strictEqual(summary.createdAt, 10) + assert.strictEqual(summary.count, 2) + assert.strictEqual(summary.lastSeenAt, 20) + }) + + it('replaces raw text with latest data for same-signature updates', () => { + const cache = new Map>() + const event: CapturerEvent = { + id: 'event-1', + signature: 'sig-1', + kind: 'xtensa', + lines: ['Guru Meditation Error'], + rawText: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.\n\nBacktrace: 0x1 0x2", + firstSeenAt: 10, + lastSeenAt: 10, + count: 1, + lightweight: { + reasonLine: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.", + programCounter: 0x1234, + faultCode: 29, + faultAddr: undefined, + regs: {}, + backtraceAddrs: [], + }, + fastFrames: undefined, + evaluated: undefined, + } + __tests.upsertEventSummary(cache, event) + __tests.upsertEventSummary(cache, { + ...event, + id: 'event-2', + lastSeenAt: 20, + rawText: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.", + }) + + const summary = cache.get('sig-1') + assert.ok(summary) + assert.strictEqual( + summary.rawText, + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled." + ) + }) + + it('formats decoded event label with source location', () => { + const summary = __tests.toEventSummary({ + id: 'event-1', + signature: 'sig', + kind: 'xtensa', + lines: ['Guru Meditation Error'], + rawText: 'Guru Meditation Error', + firstSeenAt: 10, + lastSeenAt: 20, + count: 1, + lightweight: { + reasonLine: 'Guru Meditation Error', + programCounter: 0x1234, + faultCode: undefined, + faultAddr: undefined, + regs: {}, + backtraceAddrs: [], + }, + fastFrames: undefined, + evaluated: undefined, + }) + assert.strictEqual( + __tests.eventDisplayLabel(summary), + 'Guru Meditation Error' + ) + + const decoded: DecodeResult = { + stacktraceLines: [ + { + regAddr: '0x400d1234', + lineNumber: '4', + file: '/tmp/main.ino', + method: 'loop', + }, + ], + } + summary.decodedResult = decoded + assert.strictEqual( + __tests.eventDisplayLabel(summary), + 'Guru Meditation Error · main.ino' + ) + }) + + it('loads compile options from build.options.json', async () => { + const buildPath = await fs.mkdtemp('/tmp/capturer-build-options-') + try { + await fs.writeFile( + path.join(buildPath, 'build.options.json'), + JSON.stringify( + { + fqbn: 'esp32:esp32:esp32da', + sketchLocation: '/tmp/sketch', + 'compiler.optimization_flags': '-Os', + 'compiler.c.extra_flags': '-Og -g3', + 'compiler.cpp.extra_flags': '-Og -g3', + customBuildProperties: '', + }, + null, + 2 + ) + ) + const compileOptions = await __tests.loadCompileBuildOptions(buildPath) + assert.ok(compileOptions) + assert.strictEqual(compileOptions.buildPath, buildPath) + assert.strictEqual(compileOptions.fqbn, 'esp32:esp32:esp32da') + assert.strictEqual(compileOptions.optimizationFlags, '-Os') + assert.deepStrictEqual(compileOptions.flags, [ + 'compiler.c.extra_flags=-Og -g3', + 'compiler.cpp.extra_flags=-Og -g3', + 'compiler.optimization_flags=-Os', + ]) + } finally { + await fs.rm(buildPath, { recursive: true, force: true }) + } + }) + + it('loads and persists configs', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-load-') + const state = new TestMemento( + new Map([ + [ + __tests.capturerConfigStateKey, + [ + { + sketchPath, + fqbn: 'esp32:esp32:esp32c3', + port: { protocol: 'serial', address: '/dev/load0' }, + }, + { + sketchPath: '', + fqbn: 'invalid', + }, + ], + ], + ]) + ) + const context = { + workspaceState: state, + subscriptions: [], + } as unknown as vscode.ExtensionContext + + const arduino = createBoardLabArduinoContext() + const manager = new CapturerManager(context, arduino) + const roots = manager.getChildren() + assert.strictEqual(roots.length, 1) + + await manager.addConfig({ + sketchPath: await fs.mkdtemp('/tmp/capturer-save-'), + fqbn: 'esp32:esp32:esp32c3', + port: { protocol: 'serial', address: '/dev/save0' }, + }) + const persisted = state.get(__tests.capturerConfigStateKey, []) + assert.strictEqual(persisted.length, 2) + manager.dispose() + }) + + it('replays monitor recording and updates tree nodes', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-replay-') + const context = { + workspaceState: new TestMemento(), + subscriptions: [], + } as unknown as vscode.ExtensionContext + const arduino = createBoardLabArduinoContext({ + sketchPath, + portAddress: '/dev/replay0', + }) + const manager = new CapturerManager(context, arduino) + + const config = await manager.addConfig({ + sketchPath, + fqbn: 'esp32:esp32:esp32c3', + port: { protocol: 'serial', address: '/dev/replay0' }, + }) + assert.ok(config) + const root = { + type: 'root', + configId: config.id, + } as const + + let treeRefreshes = 0 + const disposeChange = manager.onDidChangeTreeData(() => { + treeRefreshes += 1 + }) + try { + const fixturePath = path.resolve( + __dirname, + '../../../src/test/fixtures/monitor.txt' + ) + await manager.replayRecording(root, vscode.Uri.file(fixturePath)) + + const children = manager.getChildren(root) + assert.ok(children.length >= 1) + const childItems = children.map((child) => manager.getTreeItem(child)) + assert.ok( + childItems.every( + (item) => + typeof item.description === 'string' && + item.description.startsWith('Created ') + ) + ) + const firstEventItem = childItems[0] + assert.ok(firstEventItem.tooltip instanceof vscode.MarkdownString) + const firstEventTooltip = firstEventItem.tooltip.value + assert.ok(firstEventTooltip.includes('- Error:')) + assert.ok(firstEventTooltip.includes('- Board:')) + assert.ok(firstEventTooltip.includes('- ELF Path:')) + assert.ok(firstEventTooltip.includes('#### Crash Summary')) + assert.ok(firstEventTooltip.includes('#### Build Context')) + const rootItem = manager.getTreeItem(root) + assert.ok(rootItem.tooltip instanceof vscode.MarkdownString) + assert.ok(treeRefreshes > 0) + } finally { + disposeChange.dispose() + manager.dispose() + } + }) + + it('shows problems and compile actions when sketch is not compiled', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-not-compiled-') + const context = { + workspaceState: new TestMemento(), + subscriptions: [], + } as unknown as vscode.ExtensionContext + const arduino = createBoardLabArduinoContext({ + sketchPath, + portAddress: '/dev/notcompiled0', + includeCompileSummary: false, + detectedPort: false, + }) + const manager = new CapturerManager(context, arduino) + + const config = await manager.addConfig({ + sketchPath, + fqbn: 'esp32:esp32:esp32da', + port: { protocol: 'serial', address: '/dev/notcompiled0' }, + }) + assert.ok(config) + const root: CapturerRootNode = { + type: 'root', + configId: config.id, + } + const item = manager.getTreeItem(root) + assert.strictEqual(item.description, 'Not connected') + assert.ok(item.iconPath instanceof vscode.ThemeIcon) + assert.strictEqual(item.iconPath.id, 'error') + assert.ok(item.tooltip instanceof vscode.MarkdownString) + const markdown = item.tooltip.value + assert.ok(markdown.includes('Problems:')) + assert.ok( + markdown.includes('Compile summary is not available for the sketch') + ) + assert.ok(markdown.includes('Quick Fixes:')) + assert.ok(markdown.includes('$(check) Compile Sketch')) + assert.ok(markdown.includes('$(inspect) Compile Sketch with Debug Symbols')) + manager.dispose() + }) + + it('uses warning icon and mismatch description for fqbn mismatches', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-fqbn-mismatch-') + const context = { + workspaceState: new TestMemento(), + subscriptions: [], + } as unknown as vscode.ExtensionContext + const arduino = createBoardLabArduinoContext({ + sketchPath, + portAddress: '/dev/fqbn0', + detectedPort: true, + sketchBoardFqbn: 'esp32:esp32:esp32c3', + buildOptionsFqbn: 'esp32:esp32:esp32c3', + includeElf: true, + }) + const manager = new CapturerManager(context, arduino) + const config = await manager.addConfig({ + sketchPath, + fqbn: 'esp32:esp32:esp32da', + port: { protocol: 'serial', address: '/dev/fqbn0' }, + }) + assert.ok(config) + const root: CapturerRootNode = { + type: 'root', + configId: config.id, + } + const item = manager.getTreeItem(root) + assert.strictEqual(item.description, 'FQBN mismatch') + assert.ok(item.iconPath instanceof vscode.ThemeIcon) + assert.strictEqual(item.iconPath.id, 'warning') + manager.dispose() + }) + + it('starts and stops monitor lifecycle', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-monitor-') + const context = { + workspaceState: new TestMemento(), + subscriptions: [], + } as unknown as vscode.ExtensionContext + let createdMonitor: FakeMonitorClient | undefined + + const arduino = createBoardLabArduinoContext( + { + sketchPath, + portAddress: '/dev/monitor0', + detectedPort: true, + }, + async (port) => { + createdMonitor = new FakeMonitorClient(port, 'running') + return createdMonitor + } + ) + + const manager = new CapturerManager(context, arduino) + const config = await manager.addConfig({ + sketchPath, + fqbn: 'esp32:esp32:esp32c3', + port: { protocol: 'serial', address: '/dev/monitor0' }, + }) + assert.ok(config) + const root: CapturerRootNode = { + type: 'root', + configId: config.id, + } + + await manager.startCapturer(root) + assert.ok(createdMonitor) + const runningItem = manager.getTreeItem(root) + assert.strictEqual(runningItem.description, 'Capturing crashes') + assert.ok(runningItem.iconPath instanceof vscode.ThemeIcon) + assert.strictEqual(runningItem.iconPath.id, 'pulse') + + await manager.stopCapturer(root) + assert.strictEqual(createdMonitor.disposed, true) + const stoppedItem = manager.getTreeItem(root) + assert.strictEqual(stoppedItem.description, 'Ready') + + manager.dispose() + }) + + it('returns no child nodes when no exceptions are detected', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-empty-child-') + const context = { + workspaceState: new TestMemento(), + subscriptions: [], + } as unknown as vscode.ExtensionContext + const arduino = createBoardLabArduinoContext({ + sketchPath, + portAddress: '/dev/empty0', + detectedPort: true, + }) + const manager = new CapturerManager(context, arduino) + const config = await manager.addConfig({ + sketchPath, + fqbn: 'esp32:esp32:esp32c3', + port: { protocol: 'serial', address: '/dev/empty0' }, + }) + assert.ok(config) + const root: CapturerRootNode = { + type: 'root', + configId: config.id, + } + + const children = manager.getChildren(root) + assert.strictEqual(children.length, 0) + + manager.dispose() + }) +}) + +function createBoardLabArduinoContext( + options: { + sketchPath?: string + portAddress?: string + sketchBoardFqbn?: string + buildOptionsFqbn?: string + includeCompileSummary?: boolean + includeElf?: boolean + detectedPort?: boolean + } = {}, + createMonitorClient?: (port: { + protocol: string + address: string + }) => Promise +): ArduinoContextWithBoardLab { + const sketchPath = options.sketchPath ?? '/tmp/mock-sketch' + const portAddress = options.portAddress ?? '/dev/mock0' + const sketchBoardFqbn = options.sketchBoardFqbn ?? 'esp32:esp32:esp32c3' + const buildOptionsFqbn = options.buildOptionsFqbn ?? sketchBoardFqbn + const includeCompileSummary = options.includeCompileSummary ?? true + const includeElf = options.includeElf ?? includeCompileSummary + const buildPath = path.join(sketchPath, '.build') + if (includeCompileSummary) { + mkdirSync(buildPath, { recursive: true }) + writeFileSync( + path.join(buildPath, 'build.options.json'), + JSON.stringify({ + fqbn: buildOptionsFqbn, + 'compiler.optimization_flags': '-Os', + }) + ) + } + if (includeCompileSummary && includeElf) { + writeFileSync( + path.join(buildPath, `${path.basename(sketchPath)}.ino.elf`), + '' + ) + } + const sketchFolder = mockSketchFolder({ + sketchPath, + port: { protocol: 'serial', address: portAddress }, + board: mockBoardDetails(sketchBoardFqbn), + compileSummary: includeCompileSummary + ? mockCompileSummary(buildPath) + : undefined, + }) + const base = mockArduinoContext({ + currentSketch: sketchFolder, + openedSketches: [sketchFolder], + }) + const boardLab = base as ArduinoContextWithBoardLab + if (typeof options.detectedPort === 'boolean') { + const detectedPorts = options.detectedPort + ? ({ + mock: { + port: { protocol: 'serial', address: portAddress }, + }, + } as unknown as NonNullable< + BoardLabContextExt['boardsListWatcher'] + >['detectedPorts']) + : ({} as NonNullable< + BoardLabContextExt['boardsListWatcher'] + >['detectedPorts']) + const detectedPortsEmitter = new vscode.EventEmitter() + ;( + boardLab as unknown as { + boardsListWatcher?: BoardLabContextExt['boardsListWatcher'] + } + ).boardsListWatcher = { + detectedPorts, + onDidChangeDetectedPorts: detectedPortsEmitter.event, + } + } + boardLab.createMonitorClient = async (port) => { + if (createMonitorClient) { + return createMonitorClient(port) + } + return new FakeMonitorClient(port) + } + boardLab.withMonitorSuspended = async ( + _port: { protocol: string; address: string }, + run: (options?: { retry?: number }) => Promise + ): Promise => run() + return boardLab +} + +type ArduinoContextWithBoardLab = ReturnType & + BoardLabContextExt diff --git a/src/test/suite/decodeParams.test.ts b/src/test/suite/decodeParams.test.ts index 00e84ac..f5a7584 100644 --- a/src/test/suite/decodeParams.test.ts +++ b/src/test/suite/decodeParams.test.ts @@ -4,16 +4,10 @@ import path from 'node:path' import temp from 'temp' -import { - DecodeParamsError, - __tests, - createDecodeParams, -} from '../../decodeParams' +import { DecodeParamsError, createDecodeParams } from '../../decodeParams' import { isWindows } from '../../utils' import { mockBoardDetails, mockCompileSummary, mockSketchFolder } from './mock' -const { findElfPath } = __tests - describe('decodeParams', () => { let tracked: typeof temp before(() => (tracked = temp.track())) @@ -113,7 +107,7 @@ describe('decodeParams', () => { board: mockBoardDetails(fqbn), compileSummary: { ...mockCompileSummary('/tmp/ignored'), - buildPath: undefined as unknown, + buildPath: undefined as unknown as string, }, }) ), @@ -204,51 +198,4 @@ describe('decodeParams', () => { assert.strictEqual(actual.fqbn.toString(), fqbn) }) }) - - describe('findElfPath', () => { - it('should not find the elf path when the sketch folder name does not match', async () => { - const buildPath = tracked.mkdirSync() - const sketchName = 'my_sketch' - const invalidName = 'MySketch' - await fs.writeFile(path.join(buildPath, `${invalidName}.ino.elf`), '') - await fs.writeFile(path.join(buildPath, `${invalidName}.cpp.elf`), '') - const actual = await findElfPath(sketchName, buildPath) - assert.strictEqual(actual, undefined) - }) - - it("should not find the elf path when neither 'ino.elf' nor 'cpp.elf' exist", async () => { - const buildPath = tracked.mkdirSync() - const sketchName = 'my_sketch' - const actual = await findElfPath(sketchName, buildPath) - assert.strictEqual(actual, undefined) - }) - - it("should find 'ino.elf' path", async () => { - const buildPath = tracked.mkdirSync() - const sketchName = 'my_sketch' - const expected = path.join(buildPath, `${sketchName}.ino.elf`) - await fs.writeFile(expected, '') - const actual = await findElfPath(sketchName, buildPath) - assert.strictEqual(actual, expected) - }) - - it("should find 'cpp.elf' path", async () => { - const buildPath = tracked.mkdirSync() - const sketchName = 'my_sketch' - const expected = path.join(buildPath, `${sketchName}.cpp.elf`) - await fs.writeFile(expected, '') - const actual = await findElfPath(sketchName, buildPath) - assert.strictEqual(actual, expected) - }) - - it("should prefer 'ino.elf' over 'cpp.elf' when both paths exist", async () => { - const buildPath = tracked.mkdirSync() - const sketchName = 'my_sketch' - const expected = path.join(buildPath, `${sketchName}.ino.elf`) - await fs.writeFile(expected, '') - await fs.writeFile(path.join(buildPath, `${sketchName}.cpp.elf`), '') - const actual = await findElfPath(sketchName, buildPath) - assert.strictEqual(actual, expected) - }) - }) }) diff --git a/src/test/suite/findElfPath.test.ts b/src/test/suite/findElfPath.test.ts new file mode 100644 index 0000000..8332865 --- /dev/null +++ b/src/test/suite/findElfPath.test.ts @@ -0,0 +1,154 @@ +import assert from 'node:assert/strict' +import { promises as fs } from 'node:fs' +import path from 'node:path' + +import temp from 'temp' + +import { + buildFolderMd5Hash, + findElfPath, + resolveBuildPathCandidates, + resolveBuildPathFromSketchPath, +} from '../../findElfPath' + +describe('findElfPath', () => { + let tracked: typeof temp + before(() => (tracked = temp.track())) + after(() => tracked.cleanupSync()) + + it('should not find the elf path when the sketch folder name does not match', async () => { + const buildPath = tracked.mkdirSync() + const sketchName = 'my_sketch' + const invalidName = 'MySketch' + await fs.writeFile(path.join(buildPath, `${invalidName}.ino.elf`), '') + await fs.writeFile(path.join(buildPath, `${invalidName}.cpp.elf`), '') + const actual = await findElfPath(sketchName, buildPath) + assert.strictEqual(actual, undefined) + }) + + it("should not find the elf path when neither 'ino.elf' nor 'cpp.elf' exist", async () => { + const buildPath = tracked.mkdirSync() + const sketchName = 'my_sketch' + const actual = await findElfPath(sketchName, buildPath) + assert.strictEqual(actual, undefined) + }) + + it("should find 'ino.elf' path", async () => { + const buildPath = tracked.mkdirSync() + const sketchName = 'my_sketch' + const expected = path.join(buildPath, `${sketchName}.ino.elf`) + await fs.writeFile(expected, '') + const actual = await findElfPath(sketchName, buildPath) + assert.strictEqual(actual, expected) + }) + + it("should find 'cpp.elf' path", async () => { + const buildPath = tracked.mkdirSync() + const sketchName = 'my_sketch' + const expected = path.join(buildPath, `${sketchName}.cpp.elf`) + await fs.writeFile(expected, '') + const actual = await findElfPath(sketchName, buildPath) + assert.strictEqual(actual, expected) + }) + + it("should prefer 'ino.elf' over 'cpp.elf' when both paths exist", async () => { + const buildPath = tracked.mkdirSync() + const sketchName = 'my_sketch' + const expected = path.join(buildPath, `${sketchName}.ino.elf`) + await fs.writeFile(expected, '') + await fs.writeFile(path.join(buildPath, `${sketchName}.cpp.elf`), '') + const actual = await findElfPath(sketchName, buildPath) + assert.strictEqual(actual, expected) + }) + + it('resolves fallback build path when build.options.json exists', async () => { + const basePath = tracked.mkdirSync() + const sketchPath = '/tmp/workspace/esp32backtracetest' + const sketchFolderName = 'esp32backtracetest' + const [candidatePath] = resolveBuildPathCandidates(sketchPath, { + userCacheDirPath: basePath, + tempDirPath: basePath, + }) + assert.ok(candidatePath) + await fs.mkdir(candidatePath, { recursive: true }) + await fs.writeFile(path.join(candidatePath, 'build.options.json'), '{}') + + const actual = await resolveBuildPathFromSketchPath( + sketchPath, + sketchFolderName, + { + userCacheDirPath: basePath, + tempDirPath: basePath, + } + ) + + assert.ok(actual) + assert.strictEqual(actual.buildPath, candidatePath) + assert.strictEqual(actual.elfPath, undefined) + assert.strictEqual(actual.hasBuildOptions, true) + }) + + it('resolves fallback build path when elf exists', async () => { + const basePath = tracked.mkdirSync() + const sketchPath = '/tmp/workspace/esp32backtracetest' + const sketchFolderName = 'esp32backtracetest' + const [candidatePath] = resolveBuildPathCandidates(sketchPath, { + userCacheDirPath: basePath, + tempDirPath: basePath, + }) + assert.ok(candidatePath) + await fs.mkdir(candidatePath, { recursive: true }) + const elfPath = path.join(candidatePath, `${sketchFolderName}.ino.elf`) + await fs.writeFile(elfPath, '') + + const actual = await resolveBuildPathFromSketchPath( + sketchPath, + sketchFolderName, + { + userCacheDirPath: basePath, + tempDirPath: basePath, + } + ) + + assert.ok(actual) + assert.strictEqual(actual.buildPath, candidatePath) + assert.strictEqual(actual.elfPath, elfPath) + assert.strictEqual(actual.hasBuildOptions, false) + }) + + it('generates windows hash candidates for both drive-letter casings', () => { + const sketchPath = 'C:\\ws\\esp32backtracetest' + const sketchPathOtherCase = 'c:\\ws\\esp32backtracetest' + const basePath = 'C:\\Users\\per\\AppData\\Local\\Temp' + const basePathOtherCase = 'c:\\Users\\per\\AppData\\Local\\Temp' + + const candidates = resolveBuildPathCandidates(sketchPath, { + platform: 'win32', + userCacheDirPath: basePath, + tempDirPath: basePath, + }) + + const expectedPrimary = path.win32.join( + basePath, + 'arduino', + 'sketches', + buildFolderMd5Hash(sketchPath) + ) + const expectedBaseOtherCase = path.win32.join( + basePathOtherCase, + 'arduino', + 'sketches', + buildFolderMd5Hash(sketchPath) + ) + const expectedSketchOtherCase = path.win32.join( + basePath, + 'arduino', + 'sketches', + buildFolderMd5Hash(sketchPathOtherCase) + ) + + assert.ok(candidates.includes(expectedPrimary)) + assert.ok(candidates.includes(expectedBaseOtherCase)) + assert.ok(candidates.includes(expectedSketchOtherCase)) + }) +}) diff --git a/src/test/suite/fsProviders.test.ts b/src/test/suite/fsProviders.test.ts new file mode 100644 index 0000000..84c8339 --- /dev/null +++ b/src/test/suite/fsProviders.test.ts @@ -0,0 +1,98 @@ +import assert from 'node:assert/strict' +import * as fs from 'node:fs/promises' +import os from 'node:os' +import path from 'node:path' + +import vscode from 'vscode' + +import { + CrashReportContentProvider, + ReadonlyFsProvider, + crashReportScheme, + readonlyLibraryScheme, + toReadonlyLibraryUri, + toSourcePathFromReadonlyUri, +} from '../../capturer/fsProviders' + +describe('fsProviders', () => { + it('creates and serves crash report content and trims old entries', () => { + const provider = new CrashReportContentProvider() + const missingUri = vscode.Uri.from({ + scheme: crashReportScheme, + path: '/missing.md', + }) + assert.equal( + provider.provideTextDocumentContent(missingUri), + '# Report is no longer available.' + ) + + const first = provider.createReportUri('My Report', '# hello') + assert.equal(first.scheme, crashReportScheme) + assert.equal(provider.provideTextDocumentContent(first), '# hello') + + for (let i = 0; i < 130; i += 1) { + provider.createReportUri(`R ${i}`, `# ${i}`) + } + + assert.equal( + provider.provideTextDocumentContent(first), + '# Report is no longer available.' + ) + provider.dispose() + }) + + it('converts readonly uri roundtrip and falls back to uri path', () => { + const sourcePath = '/tmp/library/main.cpp' + const uri = toReadonlyLibraryUri(sourcePath) + assert.equal(uri.scheme, readonlyLibraryScheme) + assert.equal(toSourcePathFromReadonlyUri(uri), sourcePath) + + const fallback = vscode.Uri.from({ + scheme: readonlyLibraryScheme, + path: '/tmp/no-query.cpp', + }) + assert.equal(toSourcePathFromReadonlyUri(fallback), '/tmp/no-query.cpp') + }) + + it('reads readonly files and blocks write operations', async () => { + const root = await fs.mkdtemp(path.join(os.tmpdir(), 'capturer-fs-')) + const subDir = path.join(root, 'sub') + const filePath = path.join(root, 'a.txt') + await fs.mkdir(subDir) + await fs.writeFile(filePath, 'hello') + + // best-effort symbolic link coverage for Dirent.isSymbolicLink(). + try { + await fs.symlink(filePath, path.join(root, 'a-link.txt')) + } catch { + // symlink may be unavailable in some environments + } + + const provider = new ReadonlyFsProvider() + const watched = provider.watch() + + const stat = await provider.stat(toReadonlyLibraryUri(filePath)) + assert.equal(stat.type, vscode.FileType.File) + const content = await provider.readFile(toReadonlyLibraryUri(filePath)) + assert.equal(new TextDecoder().decode(content), 'hello') + + const dirEntries = await provider.readDirectory(toReadonlyLibraryUri(root)) + assert.equal( + dirEntries.some(([name]) => name === 'a.txt'), + true + ) + assert.equal( + dirEntries.some(([name]) => name === 'sub'), + true + ) + + assert.throws(() => (provider as any).createDirectory()) + assert.throws(() => (provider as any).writeFile()) + assert.throws(() => (provider as any).delete()) + assert.throws(() => (provider as any).rename()) + + watched.dispose() + provider.dispose() + await fs.rm(root, { recursive: true, force: true }) + }) +}) diff --git a/src/test/suite/index.ts b/src/test/suite/index.ts index 92d933c..5fbf166 100644 --- a/src/test/suite/index.ts +++ b/src/test/suite/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/newline-after-import */ // Enable `debug` coloring in VS Code _Debug Console_ // https://github.com/debug-js/debug/issues/641#issuecomment-490706752 import path from 'node:path' @@ -6,20 +5,10 @@ import path from 'node:path' import debug from 'debug' import { glob } from 'glob' import Mocha, { MochaOptions } from 'mocha' -;(process as any).browser = true -;(global as any).window = { process: { type: 'renderer' } } - -const tty = require('node:tty') const NYC = require('nyc') const baseConfig = require('@istanbuljs/nyc-config-typescript') -if (!tty.getWindowSize) { - tty.getWindowSize = (): number[] => { - return [80, 75] - } -} - export async function run(): Promise { // nyc setup diff --git a/src/test/suite/markdown.test.ts b/src/test/suite/markdown.test.ts new file mode 100644 index 0000000..0da03f1 --- /dev/null +++ b/src/test/suite/markdown.test.ts @@ -0,0 +1,280 @@ +import assert from 'node:assert/strict' + +import type { DecodeResult } from 'trbr' + +import { + collectDecodedStackFrames, + countHeavyVars, + eventDisplayLabel, + formatLocalTimestamp, + frameToDescription, + frameToLabel, + toCapturerStateDumpMarkdown, + toEventReportDocumentMarkdown, + toEventTreeItemMarkdown, + toParsedFrameLocation, + toRootTreeItemMarkdown, +} from '../../capturer/markdown' +import type { + CapturerEventSummary, + CapturerReadiness, + CapturerRuntime, +} from '../../capturer/model' + +function createReadiness( + overrides: Partial = {} +): CapturerReadiness { + return { + sketchExists: true, + hasCompileSummary: true, + elfPath: '/tmp/sketch/build/sketch.ino.elf', + buildOptions: { + buildPath: '/tmp/sketch/build', + optionsPath: '/tmp/sketch/build/build.options.json', + fqbn: 'esp32:esp32:esp32c3', + optimizationFlags: '-Og -g3', + flags: [], + }, + boardName: 'ESP32C3 Dev Module', + selectedBoardName: 'ESP32C3 Dev Module', + selectedBoardFqbn: 'esp32:esp32:esp32c3', + configuredPortDetected: true, + ...overrides, + } +} + +function createRuntime( + overrides: Partial = {}, + readinessOverrides: Partial = {} +): CapturerRuntime { + return { + config: { + id: 'serial:///dev/mock0|esp32:esp32:esp32c3|/tmp/sketch', + fqbn: 'esp32:esp32:esp32c3', + sketchPath: '/tmp/sketch', + port: { + protocol: 'serial', + address: '/dev/mock0', + }, + }, + capturer: {} as any, + eventsBySignature: new Map(), + eventsById: new Map(), + unsubscribeDetected: () => { + // noop + }, + unsubscribeUpdated: () => { + // noop + }, + monitorSubscriptions: [], + sourceAvailabilityByPath: new Map(), + lastChunkEndedWithLineBreak: true, + processedBytes: 0, + readiness: createReadiness(readinessOverrides), + ...overrides, + } as CapturerRuntime +} + +function createDecoded(): DecodeResult { + return { + faultInfo: { + faultMessage: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.", + coreId: 1, + programCounter: { + location: { + regAddr: '0x400d1111', + lineNumber: '7', + file: '/tmp/sketch/pc.cpp', + method: 'pc', + } as any, + }, + }, + globals: [{ name: 'g', value: '1' }] as any, + stacktraceLines: [ + { + regAddr: '0x400d1234', + lineNumber: '4', + file: '/tmp/sketch/main.ino', + method: 'loop', + args: [{ name: 'a' }, { name: 'b' }], + locals: [{ name: 'l' }], + globals: [{ name: 'gg' }], + } as any, + { + regAddr: '0x400d0000', + lineNumber: '0', + } as any, + ], + } as any +} + +function createEvent( + overrides: Partial = {} +): CapturerEventSummary { + return { + eventId: 'event-1', + signature: 'sig-1', + reason: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.", + kind: 'xtensa', + createdAt: 1_000, + captureSessionId: 'session-1', + captureSessionLabel: 'abcd1234 @ 1/1/2026', + count: 2, + firstSeenAt: 1_000, + lastSeenAt: 2_000, + rawText: 'Guru Meditation Error\n```raw```', + programCounter: 0x400d1234, + faultCode: 29, + decodeState: 'decoded', + decodedResult: createDecoded(), + lastDecodeDurationMs: 1234, + lastEvaluateDurationMs: 321, + lastDecodeHeavyVarsCount: 7, + ...overrides, + } +} + +describe('markdown', () => { + it('renders root markdown with quick fixes when compile output is missing', () => { + const runtime = createRuntime( + {}, + { + hasCompileSummary: false, + elfPath: undefined, + configuredPortDetected: false, + } + ) + const markdown = toRootTreeItemMarkdown(runtime).value + assert.equal(markdown.includes('Quick Fixes:'), true) + assert.equal(markdown.includes('Compile Sketch with Debug Symbols'), true) + assert.equal(markdown.includes('Compile Sketch'), true) + assert.equal(markdown.includes('Problems:'), true) + assert.equal(markdown.includes('No device found.'), true) + }) + + it('renders root markdown with compile details and status icons', () => { + const ready = createRuntime() + assert.equal(toRootTreeItemMarkdown(ready).value.includes('$(pass)'), true) + + const capturing = createRuntime({ + monitor: {} as any, + monitorState: 'running', + }) + assert.equal( + toRootTreeItemMarkdown(capturing).value.includes('$(pulse)'), + true + ) + + const suspended = createRuntime({ + monitor: {} as any, + monitorState: 'suspended', + }) + assert.equal( + toRootTreeItemMarkdown(suspended).value.includes('$(sync~spin)'), + true + ) + + const warning = createRuntime( + {}, + { selectedBoardFqbn: 'esp32:esp32:esp32da' } + ) + assert.equal( + toRootTreeItemMarkdown(warning).value.includes('$(warning)'), + true + ) + assert.equal( + toRootTreeItemMarkdown(ready).value.includes('Optimization Flags'), + true + ) + assert.equal( + toRootTreeItemMarkdown(ready).value.includes('Quick Fixes:'), + false + ) + }) + + it('renders compact event markdown tooltip', () => { + const runtime = createRuntime() + const summary = createEvent() + const markdown = toEventTreeItemMarkdown(runtime, summary).value + assert.equal(markdown.includes('#### Crash Summary'), true) + assert.equal(markdown.includes('#### Captured Crash'), false) + assert.equal(markdown.includes('Decoded Exception'), true) + }) + + it('renders full event report markdown with payload and session details', () => { + const runtime = createRuntime() + const summary = createEvent({ decodeError: 'decode fail' }) + const markdown = toEventReportDocumentMarkdown(runtime, summary) + assert.equal(markdown.includes('# ESP Crash Event Report'), true) + assert.equal(markdown.includes('#### Captured Crash'), true) + assert.equal(markdown.includes('#### Decoded Stacktrace'), true) + assert.equal(markdown.includes('Decode Error'), true) + assert.equal(markdown.includes('Session Details'), true) + assert.equal(markdown.includes('Program Counter'), true) + assert.equal(markdown.includes('``\\`raw``\\`'), true) + }) + + it('renders capturer state dump for empty and populated events', () => { + const runtime = createRuntime({ + processedBytes: 16 * 1024, + processedFirstAt: 1_000, + processedLastAt: 3_000, + monitorState: 'running', + elfIdentity: { + path: '/tmp/sketch/build/sketch.ino.elf', + size: 123, + mtimeMs: 2_000, + sha256: 'abcdef', + sha256Short: 'abcdef', + sessionId: 'session', + }, + }) + const emptyDump = toCapturerStateDumpMarkdown( + runtime, + { lines: [], bytes: [], byteLength: 32 } as any, + [] + ) + assert.equal(emptyDump.includes('_No crash events were detected._'), true) + + const fullDump = toCapturerStateDumpMarkdown( + runtime, + { lines: ['a', 'b'], bytes: [], byteLength: 2 * 1024 * 1024 } as any, + [createEvent()] + ) + assert.equal(fullDump.includes('MiB'), true) + assert.equal(fullDump.includes('KiB'), true) + assert.equal(fullDump.includes('Bandwidth:'), true) + assert.equal(fullDump.includes('## Distinct Events'), true) + }) + + it('formats event labels, frames and parsed locations', () => { + const event = createEvent({ decodedResult: undefined }) + assert.equal(eventDisplayLabel(event), event.reason) + + const decoded = createDecoded() + event.decodedResult = decoded + assert.equal(eventDisplayLabel(event), 'Guru Meditation Error · main.ino') + + assert.equal(collectDecodedStackFrames(undefined).length, 0) + assert.equal(collectDecodedStackFrames(decoded).length, 2) + assert.equal(countHeavyVars(decoded), 3) + + const first = collectDecodedStackFrames(decoded)[0] + assert.equal(frameToLabel(first).includes('loop (a, b)'), true) + assert.equal(frameToDescription(first), 'main.ino:4') + assert.deepEqual(toParsedFrameLocation(first), { + file: '/tmp/sketch/main.ino', + line: 4, + }) + assert.equal(frameToLabel(undefined), 'Unknown frame') + assert.equal(frameToDescription(undefined), undefined) + assert.equal(toParsedFrameLocation(undefined), undefined) + assert.equal( + toParsedFrameLocation({ regAddr: '0x1', lineNumber: '0' } as any), + undefined + ) + assert.equal(typeof formatLocalTimestamp(0), 'string') + }) +}) diff --git a/src/test/suite/runtimeModel.test.ts b/src/test/suite/runtimeModel.test.ts new file mode 100644 index 0000000..f046d2f --- /dev/null +++ b/src/test/suite/runtimeModel.test.ts @@ -0,0 +1,197 @@ +import assert from 'node:assert/strict' + +import { + collectRuntimeProblems, + eventContextValue, + getRuntimeStatus, + isReadyToRecord, + isRuntimeConnected, + resolveRootDescription, + rootContextValue, + sanitizeFqbn, + toRootLabel, + type RuntimeLike, +} from '../../capturer/runtimeModel' + +function createRuntime( + overrides: Partial = {}, + readinessOverrides: Partial = {} +): RuntimeLike { + const base: RuntimeLike = { + config: { + id: 'serial:///dev/mock0|esp32:esp32:esp32c3|/tmp/sketch', + fqbn: 'esp32:esp32:esp32c3', + sketchPath: '/tmp/sketch', + port: { + protocol: 'serial', + address: '/dev/mock0', + }, + }, + readiness: { + sketchExists: true, + hasCompileSummary: true, + elfPath: '/tmp/sketch/build/sketch.ino.elf', + boardName: 'ESP32C3 Dev Module', + selectedBoardName: 'ESP32C3 Dev Module', + selectedBoardFqbn: 'esp32:esp32:esp32c3', + configuredPortDetected: true, + ...readinessOverrides, + }, + monitorState: undefined, + eventsBySignature: new Map(), + ...overrides, + } + return base +} + +describe('runtimeModel', () => { + it('returns ready status and root description when runtime is healthy', () => { + const runtime = createRuntime() + assert.equal(getRuntimeStatus(runtime), 'Ready') + assert.equal(resolveRootDescription(runtime), 'Ready') + assert.equal(isReadyToRecord(runtime), true) + }) + + it('returns capturing status and context when monitor is running', () => { + const runtime = createRuntime({ monitor: {}, monitorState: 'running' }) + assert.equal(getRuntimeStatus(runtime), 'Capturing crashes') + assert.equal(resolveRootDescription(runtime), 'Capturing crashes') + assert.equal(rootContextValue(runtime), 'espCapturerRootCapturing') + }) + + it('returns disconnected description when configured port is not detected', () => { + const runtime = createRuntime( + {}, + { + configuredPortDetected: false, + } + ) + assert.equal(getRuntimeStatus(runtime), 'Disconnected') + assert.equal(resolveRootDescription(runtime), 'Not connected') + assert.equal(isRuntimeConnected(runtime), false) + }) + + it('returns invalid fqbn status and problem', () => { + const runtime = createRuntime({ + config: { + ...createRuntime().config, + fqbn: 'invalid-fqbn', + }, + }) + const problems = collectRuntimeProblems(runtime) + assert.equal( + problems.some((problem) => problem.code === 'invalid-fqbn'), + true + ) + assert.equal(getRuntimeStatus(runtime), 'Invalid FQBN') + }) + + it('returns warnings when selected fqbn differs from engine and build fqbn', () => { + const runtime = createRuntime( + {}, + { + selectedBoardFqbn: 'esp32:esp32:esp32da', + buildOptions: { + fqbn: 'esp32:esp32:esp32c3', + }, + } + ) + const problems = collectRuntimeProblems(runtime) + assert.equal( + problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-engine' + ), + true + ) + assert.equal( + problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-build' + ), + true + ) + assert.equal(getRuntimeStatus(runtime), 'Warning') + assert.equal(resolveRootDescription(runtime), 'FQBN mismatch') + }) + + it('uses expected root context values based on state and event count', () => { + const ready = createRuntime() + assert.equal(rootContextValue(ready), 'espCapturerRootReady') + + const readyWithEvents = createRuntime({ + eventsBySignature: new Map([['sig', {}]]), + }) + assert.equal( + rootContextValue(readyWithEvents), + 'espCapturerRootReadyHasEvents' + ) + + const stoppedWithEvents = createRuntime( + { + monitor: undefined, + monitorState: 'disconnected', + eventsBySignature: new Map([['sig', {}]]), + }, + { configuredPortDetected: false } + ) + assert.equal( + rootContextValue(stoppedWithEvents), + 'espCapturerRootStoppedHasEvents' + ) + }) + + it('maps event context values by decode state', () => { + assert.equal(eventContextValue(undefined), 'espCapturerEvent') + assert.equal( + eventContextValue({ decodeState: 'detected' }), + 'espCapturerEventDetected' + ) + assert.equal( + eventContextValue({ decodeState: 'decoding' }), + 'espCapturerEventDecoding' + ) + assert.equal( + eventContextValue({ decodeState: 'decoded' }), + 'espCapturerEventDecoded' + ) + assert.equal( + eventContextValue({ decodeState: 'evaluating' }), + 'espCapturerEventEvaluating' + ) + assert.equal( + eventContextValue({ decodeState: 'evaluated' }), + 'espCapturerEventEvaluated' + ) + }) + + it('formats root label and sanitizes fqbn', () => { + const runtime = createRuntime() + assert.equal( + toRootLabel(runtime), + '/dev/mock0 · sketch · ESP32C3 Dev Module (esp32:esp32:esp32c3)' + ) + assert.equal(sanitizeFqbn('esp32:esp32:esp32c3'), 'esp32:esp32:esp32c3') + assert.equal(sanitizeFqbn('invalid'), undefined) + }) + + it('returns generic error status for runtime-error and resolves description message', () => { + const runtime = createRuntime({ + lastError: 'monitor failed', + }) + assert.equal(getRuntimeStatus(runtime), 'Error') + assert.equal(resolveRootDescription(runtime), 'monitor failed') + }) + + it('handles explicit connected/disconnected runtime connectivity', () => { + const connected = createRuntime( + { monitorState: 'connected' }, + { configuredPortDetected: undefined } + ) + assert.equal(isRuntimeConnected(connected), true) + + const disconnected = createRuntime( + { monitorState: 'disconnected' }, + { configuredPortDetected: undefined } + ) + assert.equal(isRuntimeConnected(disconnected), false) + }) +}) diff --git a/src/test/suite/treeModel.test.ts b/src/test/suite/treeModel.test.ts new file mode 100644 index 0000000..c598867 --- /dev/null +++ b/src/test/suite/treeModel.test.ts @@ -0,0 +1,84 @@ +import assert from 'node:assert/strict' + +import type { CapturerConfig, CapturerRuntime } from '../../capturer/model' +import { CapturerTreeModel } from '../../capturer/treeModel' + +function makeConfig(id: string): CapturerConfig { + return { + id, + fqbn: 'esp32:esp32:esp32c3', + sketchPath: `/tmp/${id}`, + port: { protocol: 'serial', address: `/dev/${id}` }, + } +} + +function makeRuntime( + signatures: Array<{ signature: string; createdAt: number }> +) { + return { + eventsBySignature: new Map( + signatures.map((item) => [ + item.signature, + { signature: item.signature, createdAt: item.createdAt }, + ]) + ), + } as unknown as CapturerRuntime +} + +describe('treeModel', () => { + it('creates stable root and event node identities', () => { + const model = new CapturerTreeModel() + const rootA = model.getRootNode('a') + const rootA2 = model.getRootNode('a') + assert.strictEqual(rootA, rootA2) + + const event = model.getEventNode('a', 'sig') + const event2 = model.getEventNode('a', 'sig') + assert.strictEqual(event, event2) + }) + + it('returns root nodes and sorted event nodes', () => { + const model = new CapturerTreeModel() + const configs = [makeConfig('a'), makeConfig('b')] + const roots = model.getRootNodes(configs) + assert.deepEqual( + roots.map((root) => root.configId), + ['a', 'b'] + ) + + const empty = model.getEventNodes('a', undefined) + assert.deepEqual(empty, []) + + const runtime = makeRuntime([ + { signature: 'older', createdAt: 1 }, + { signature: 'newer', createdAt: 2 }, + ]) + const events = model.getEventNodes('a', runtime) + assert.deepEqual( + events.map((event) => event.signature), + ['newer', 'older'] + ) + }) + + it('creates frame nodes and clears/removes cached event nodes', () => { + const model = new CapturerTreeModel() + const frames = model.getFrameNodes('a', 'sig', 3) + assert.equal(frames.length, 3) + assert.deepEqual( + frames.map((frame) => frame.frameIndex), + [0, 1, 2] + ) + + const beforeRemove = model.getEventNode('a', 'sig-a') + model.removeEventNode('a', 'sig-a') + const afterRemove = model.getEventNode('a', 'sig-a') + assert.notStrictEqual(beforeRemove, afterRemove) + + const keep = model.getEventNode('b', 'sig-b') + model.getEventNode('a', 'sig-c') + model.clearConfig('a') + const recreated = model.getEventNode('a', 'sig-c') + assert.notStrictEqual(recreated, beforeRemove) + assert.strictEqual(model.getEventNode('b', 'sig-b'), keep) + }) +}) diff --git a/webpack.config.js b/webpack.config.js index 665a89e..417ae8b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -13,6 +13,13 @@ const extensionConfig = { path: path.resolve(__dirname, 'dist'), filename: 'extension.js', libraryTarget: 'commonjs2', + devtoolModuleFilenameTemplate: (info) => { + const normalizedPath = info.absoluteResourcePath.replace(/\\/g, '/') + return normalizedPath.startsWith('/') + ? `file://${normalizedPath}` + : `file:///${normalizedPath}` + }, + devtoolFallbackModuleFilenameTemplate: 'file:///[absolute-resource-path]', }, externals: { vscode: 'commonjs vscode', From de132be77a768520f1131b0c9e4f48a7daf89b80 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sat, 14 Feb 2026 17:06:28 +0100 Subject: [PATCH 02/27] chore: use next version lib + bump GH actions Signed-off-by: dankeboy36 --- .github/workflows/{build.yml => ci.yml} | 38 +++++++++++---------- package-lock.json | 44 +++++++++++++++++++++++++ package.json | 1 + release.config.js | 11 +++++-- 4 files changed, 75 insertions(+), 19 deletions(-) rename .github/workflows/{build.yml => ci.yml} (75%) diff --git a/.github/workflows/build.yml b/.github/workflows/ci.yml similarity index 75% rename from .github/workflows/build.yml rename to .github/workflows/ci.yml index 399b649..185043a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Build +name: CI permissions: contents: read pull-requests: write @@ -25,12 +25,12 @@ jobs: short_sha: ${{ steps.get_sha.outputs.short_sha }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: persist-credentials: false - name: Use Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: 22.14.0 @@ -41,16 +41,16 @@ jobs: id: get_version run: | set -euo pipefail - OUTPUT="$(npx semantic-release --dry-run --no-ci 2>/dev/null || true)" - VERSION="$(echo "$OUTPUT" | awk '/next release version is/ {print $5}' | tail -n1)" + MODE="" + if [ "${{ github.ref }}" = "refs/heads/main" ]; then MODE="--release"; fi + VERSION=$(npx next-version-helper $MODE) if [ -z "$VERSION" ]; then - VERSION="$(node -p "require('./package.json').version")" + echo "semantic-release did not return a next version." >&2 + exit 1 fi echo "version=$VERSION" >> "$GITHUB_OUTPUT" - - - name: Get Short SHA - id: get_sha - run: echo "short_sha=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" + env: + DEBUG: semantic-release-next-version,semantic-release:* test: name: Test (${{ matrix.os }}, node-${{ matrix.node }}) @@ -62,12 +62,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 0 - name: Use Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: ${{ matrix.node }} @@ -92,12 +93,12 @@ jobs: needs: [test, determine-version] steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: persist-credentials: false - name: Use Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: 22.14.0 @@ -121,21 +122,24 @@ jobs: name: Release if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest - needs: [test] + needs: [determine-version, test] steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: persist-credentials: false - name: Use Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: 22.14.0 - name: Install Dependencies run: npm ci + - name: Set Version + run: npm pkg set version="${{ needs.determine-version.outputs.version }}" + - name: Package run: npm run package diff --git a/package-lock.json b/package-lock.json index 2c32cd8..09a2e42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,6 +49,7 @@ "prettier-plugin-packagejson": "^2.5.18", "rimraf": "^6.0.1", "semantic-release": "^25.0.0", + "semantic-release-next-version": "^0.1.2", "semantic-release-vsce": "^6.0.12", "temp": "^0.9.4", "ts-loader": "^9.5.4", @@ -15439,6 +15440,39 @@ "node": "^22.14.0 || >= 24.10.0" } }, + "node_modules/semantic-release-next-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/semantic-release-next-version/-/semantic-release-next-version-0.1.2.tgz", + "integrity": "sha512-NQ8YZV1wfc96S9USBju5B5NtGiG13dYLUizJoLlePqicSOYfCY78qA7x61CGaDBrSP5SduNAFVRxgoaAGye2Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "meow": "^14.0.0", + "semver": "^7.7.3", + "tinyexec": "^1.0.2" + }, + "bin": { + "next-version-helper": "bin/cli.cjs" + }, + "peerDependencies": { + "@semantic-release/commit-analyzer": ">=13 <14", + "semantic-release": ">=25 <26" + } + }, + "node_modules/semantic-release-next-version/node_modules/meow": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-14.0.0.tgz", + "integrity": "sha512-JhC3R1f6dbspVtmF3vKjAWz1EVIvwFrGGPLSdU6rK79xBwHWTuHoLnRX/t1/zHS1Ch1Y2UtIrih7DAHuH9JFJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release-vsce": { "version": "6.0.24", "resolved": "https://registry.npmjs.org/semantic-release-vsce/-/semantic-release-vsce-6.0.24.tgz", @@ -17352,6 +17386,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", diff --git a/package.json b/package.json index 2815515..33673a1 100644 --- a/package.json +++ b/package.json @@ -301,6 +301,7 @@ "prettier-plugin-packagejson": "^2.5.18", "rimraf": "^6.0.1", "semantic-release": "^25.0.0", + "semantic-release-next-version": "^0.1.2", "semantic-release-vsce": "^6.0.12", "temp": "^0.9.4", "ts-loader": "^9.5.4", diff --git a/release.config.js b/release.config.js index 83a4359..64d678e 100644 --- a/release.config.js +++ b/release.config.js @@ -1,16 +1,22 @@ // @ts-check 'use strict' -/* eslint-disable no-template-curly-in-string */ - /** @type {import('semantic-release').Options} */ module.exports = { + // eslint-disable-next-line no-template-curly-in-string tagFormat: '${version}', branches: ['main'], plugins: [ '@semantic-release/commit-analyzer', '@semantic-release/release-notes-generator', '@semantic-release/changelog', + [ + '@semantic-release/npm', + { + npmPublish: false, + tarballDir: 'dist/npm', + }, + ], [ '@semantic-release/github', { @@ -33,6 +39,7 @@ module.exports = { '@semantic-release/exec', { publishCmd: + // eslint-disable-next-line no-template-curly-in-string 'echo "release_version=${nextRelease.version}" >> $GITHUB_OUTPUT', }, ], From 3e64f484281003fe3e870700de08971cc8449caf Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sat, 14 Feb 2026 17:52:07 +0100 Subject: [PATCH 03/27] fix: add badge + correct hash + ignore incomplete crash Signed-off-by: dankeboy36 --- src/capturer.ts | 26 ++++- src/capturer/crashCaptureManager.ts | 78 ++++++++++++++- src/test/suite/capturer.test.ts | 145 +++++++++++++++++++++++++++- 3 files changed, 246 insertions(+), 3 deletions(-) diff --git a/src/capturer.ts b/src/capturer.ts index b68f2d4..b75845f 100644 --- a/src/capturer.ts +++ b/src/capturer.ts @@ -133,6 +133,30 @@ interface CapturerTestExports { event: CapturerEvent, runtime?: CapturerRuntime ) => CapturerEventSummary + shouldIgnoreCapturerEvent: (event: CapturerEvent) => boolean + resolveElfIdentity: ( + elfPath: string, + previous?: + | { + path: string + size: number + mtimeMs: number + sha256: string + sha256Short: string + sessionId: string + } + | undefined + ) => Promise< + | { + path: string + size: number + mtimeMs: number + sha256: string + sha256Short: string + sessionId: string + } + | undefined + > upsertEventSummary: ( cache: Map, event: CapturerEvent, @@ -202,4 +226,4 @@ interface CapturerTestExports { export const CapturerManager = CapturerManagerImpl as unknown as CapturerManagerCtor export const registerCapturer = registerCapturerImpl as RegisterCapturer -export const __tests = __testsImpl as CapturerTestExports +export const __tests = __testsImpl as unknown as CapturerTestExports diff --git a/src/capturer/crashCaptureManager.ts b/src/capturer/crashCaptureManager.ts index deddbe5..38b9ac8 100644 --- a/src/capturer/crashCaptureManager.ts +++ b/src/capturer/crashCaptureManager.ts @@ -156,6 +156,7 @@ export class CapturerManager { bindTreeView(treeView) { this.treeView = treeView + this.updateViewBadge() } async addUsingBoardLabPickers() { @@ -721,10 +722,12 @@ export class CapturerManager { } refreshTree() { + this.updateViewBadge() this.onDidChangeTreeDataEmitter.fire(undefined) } refreshRoot(configId) { + this.updateViewBadge() this.onDidChangeTreeDataEmitter.fire(this.treeModel.getRootNode(configId)) } @@ -734,6 +737,16 @@ export class CapturerManager { ) } + updateViewBadge() { + if (!this.treeView) { + return + } + const activeSessionCount = countActiveCaptureSessions( + this.runtimes.values() + ) + this.treeView.badge = toCapturerViewBadge(activeSessionCount) + } + ensureRuntime(config) { const existing = this.runtimes.get(config.id) if (existing) { @@ -767,6 +780,9 @@ export class CapturerManager { if (!runtime) { return } + if (shouldIgnoreCapturerEvent(event)) { + return + } const hadSummary = runtime.eventsBySignature.has(event.signature) const summary = upsertEventSummary( runtime.eventsBySignature, @@ -1352,7 +1368,7 @@ async function resolveElfIdentity(elfPath, previous) { } catch { return undefined } - const sha256Short = sha256.slice + const sha256Short = sha256.slice(0, 8) return { path: elfPath, size, @@ -1567,6 +1583,39 @@ function toDecodedEventMeta(configId, summary) { captureSessionLabel: summary.captureSessionLabel, } } + +function shouldIgnoreCapturerEvent(event) { + if (hasDecodeAnchors(event)) { + return false + } + const nonEmptyLines = collectNonEmptyEventLines(event) + return nonEmptyLines.length <= 1 +} + +function hasDecodeAnchors(event) { + if (!event || typeof event !== 'object') { + return false + } + const programCounter = event?.lightweight?.programCounter + if (typeof programCounter === 'number' && Number.isFinite(programCounter)) { + return true + } + const backtraceAddrs = event?.lightweight?.backtraceAddrs + if (Array.isArray(backtraceAddrs) && backtraceAddrs.length > 0) { + return true + } + return Array.isArray(event.fastFrames) && event.fastFrames.length > 0 +} + +function collectNonEmptyEventLines(event) { + if (!Array.isArray(event?.lines)) { + return [] + } + return event.lines.filter( + (line) => typeof line === 'string' && line.trim().length > 0 + ) +} + function upsertEventSummary(cache, event, runtime) { const next = toEventSummary(event, runtime) const previous = cache.get(event.signature) @@ -1749,6 +1798,31 @@ function workspaceRelativeSketchPath(sketchPath) { } return path.relative(workspaceFolder.uri.fsPath, sketchPath) } + +function countActiveCaptureSessions(runtimes) { + let count = 0 + for (const runtime of runtimes) { + if (runtime.monitor && runtime.monitorState !== 'disconnected') { + count += 1 + } + } + return count +} + +function toCapturerViewBadge(activeSessionCount) { + if (activeSessionCount <= 0) { + return undefined + } + return { + value: activeSessionCount, + tooltip: toCapturerViewBadgeTooltip(activeSessionCount), + } +} + +function toCapturerViewBadgeTooltip(activeSessionCount) { + const noun = activeSessionCount === 1 ? 'session' : 'sessions' + return `${activeSessionCount} active crash capture ${noun}` +} /** (non-API) */ export const __tests = { capturerConfigStateKey, @@ -1764,6 +1838,8 @@ export const __tests = { isRecord, resolveSketchBoardName, toEventSummary, + shouldIgnoreCapturerEvent, + resolveElfIdentity, upsertEventSummary, splitReplaySegments, loadCompileBuildOptions, diff --git a/src/test/suite/capturer.test.ts b/src/test/suite/capturer.test.ts index f638ac6..b355691 100644 --- a/src/test/suite/capturer.test.ts +++ b/src/test/suite/capturer.test.ts @@ -11,7 +11,12 @@ import type { MonitorRuntimeState, MonitorSuspensionResult, } from '../../boardLabExt' -import { type CapturerRootNode, CapturerManager, __tests } from '../../capturer' +import { + type CapturerNode, + type CapturerRootNode, + CapturerManager, + __tests, +} from '../../capturer' import { mockArduinoContext, mockBoardDetails, @@ -81,6 +86,25 @@ class FakeMonitorClient implements MonitorClient { } } +class FakeTreeView { + badge: vscode.ViewBadge | undefined + + async reveal( + _element: T, + _options?: { + select?: boolean + focus?: boolean + expand?: boolean | number + } + ): Promise { + // noop + } + + dispose(): void { + // noop + } +} + describe('capturer', () => { it('validates capturer config input', () => { const invalid = __tests.validateCapturerConfig({}) @@ -248,6 +272,81 @@ describe('capturer', () => { ) }) + it('ignores single-line crash fragments without decode anchors', () => { + const truncatedEvent: CapturerEvent = { + id: 'event-fragment', + signature: + "xtensa|guru meditation error: core 1 panic'ed (storeprohibited). exception|fc:na|nopc", + kind: 'xtensa', + lines: [ + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception", + ], + rawText: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception", + firstSeenAt: 10, + lastSeenAt: 10, + count: 1, + lightweight: { + reasonLine: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception", + programCounter: undefined, + faultCode: undefined, + faultAddr: undefined, + regs: {}, + backtraceAddrs: [], + }, + fastFrames: undefined, + evaluated: undefined, + } + + assert.strictEqual(__tests.shouldIgnoreCapturerEvent(truncatedEvent), true) + + const completeEnoughEvent: CapturerEvent = { + ...truncatedEvent, + id: 'event-complete', + signature: 'sig-complete', + lightweight: { + ...truncatedEvent.lightweight, + programCounter: 0x400d1234, + }, + } + assert.strictEqual( + __tests.shouldIgnoreCapturerEvent(completeEnoughEvent), + false + ) + + const multiLineEvent: CapturerEvent = { + ...truncatedEvent, + id: 'event-multi', + signature: 'sig-multi', + lines: [ + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception", + 'Core 1 register dump:', + ], + rawText: + "Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception\nCore 1 register dump:", + } + assert.strictEqual(__tests.shouldIgnoreCapturerEvent(multiLineEvent), false) + }) + + it('resolves ELF identity with stable short hash prefix', async () => { + const buildPath = await fs.mkdtemp('/tmp/capturer-elf-identity-') + const elfPath = path.join(buildPath, 'sample.elf') + try { + await fs.writeFile(elfPath, 'elf-content') + const identity = await __tests.resolveElfIdentity(elfPath) + assert.ok(identity) + assert.strictEqual(identity.sha256Short, identity.sha256.slice(0, 8)) + assert.strictEqual(identity.sha256Short.length, 8) + assert.ok(identity.sessionId.startsWith(`${identity.sha256Short}-`)) + + const reused = await __tests.resolveElfIdentity(elfPath, identity) + assert.strictEqual(reused, identity) + } finally { + await fs.rm(buildPath, { recursive: true, force: true }) + } + }) + it('deduplicates summaries by event signature', () => { const cache = new Map>() const event: CapturerEvent = { @@ -623,6 +722,50 @@ describe('capturer', () => { manager.dispose() }) + it('updates view badge based on active capture sessions', async () => { + const sketchPath = await fs.mkdtemp('/tmp/capturer-badge-') + const context = { + workspaceState: new TestMemento(), + subscriptions: [], + } as unknown as vscode.ExtensionContext + const arduino = createBoardLabArduinoContext({ + sketchPath, + portAddress: '/dev/badge0', + detectedPort: true, + }) + const manager = new CapturerManager(context, arduino) + const treeView = new FakeTreeView() + manager.bindTreeView(treeView as unknown as vscode.TreeView) + + const config = await manager.addConfig({ + sketchPath, + fqbn: 'esp32:esp32:esp32c3', + port: { protocol: 'serial', address: '/dev/badge0' }, + }) + assert.ok(config) + const root: CapturerRootNode = { + type: 'root', + configId: config.id, + } + + assert.strictEqual(treeView.badge, undefined) + + await manager.startCapturer(root) + assert.deepStrictEqual(treeView.badge, { + value: 1, + tooltip: '1 active crash capture session', + }) + + await manager.stopCapturer(root) + assert.strictEqual(treeView.badge, undefined) + + await manager.startCapturer(root) + await manager.removeConfig(root, { force: true }) + assert.strictEqual(treeView.badge, undefined) + + manager.dispose() + }) + it('returns no child nodes when no exceptions are detected', async () => { const sketchPath = await fs.mkdtemp('/tmp/capturer-empty-child-') const context = { From 79bf756d22c484e32a6a08ee981d511373ca5cc2 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sun, 15 Feb 2026 09:10:04 +0100 Subject: [PATCH 04/27] chore: bump get-next version to verify fail fast Signed-off-by: dankeboy36 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09a2e42..bfc2558 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "prettier-plugin-packagejson": "^2.5.18", "rimraf": "^6.0.1", "semantic-release": "^25.0.0", - "semantic-release-next-version": "^0.1.2", + "semantic-release-next-version": "^0.1.3", "semantic-release-vsce": "^6.0.12", "temp": "^0.9.4", "ts-loader": "^9.5.4", @@ -15441,9 +15441,9 @@ } }, "node_modules/semantic-release-next-version": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/semantic-release-next-version/-/semantic-release-next-version-0.1.2.tgz", - "integrity": "sha512-NQ8YZV1wfc96S9USBju5B5NtGiG13dYLUizJoLlePqicSOYfCY78qA7x61CGaDBrSP5SduNAFVRxgoaAGye2Vg==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/semantic-release-next-version/-/semantic-release-next-version-0.1.3.tgz", + "integrity": "sha512-tsOggf4scIrPZtVb1XNBpxMc1b6MCLgmAQcrQVbDsnkN1PsNqXpsYiBdC+eGvBayHpBdvt9W+NBQQVhZQTIuyg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 33673a1..b02fae9 100644 --- a/package.json +++ b/package.json @@ -301,7 +301,7 @@ "prettier-plugin-packagejson": "^2.5.18", "rimraf": "^6.0.1", "semantic-release": "^25.0.0", - "semantic-release-next-version": "^0.1.2", + "semantic-release-next-version": "^0.1.3", "semantic-release-vsce": "^6.0.12", "temp": "^0.9.4", "ts-loader": "^9.5.4", From e23de81625263288671fe3ce75d3523fbbe00a4b Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sun, 15 Feb 2026 09:12:18 +0100 Subject: [PATCH 05/27] fix: invalid fetch for next version Signed-off-by: dankeboy36 --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 185043a..b7583b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,12 +22,12 @@ jobs: runs-on: ubuntu-latest outputs: version: ${{ steps.get_version.outputs.version }} - short_sha: ${{ steps.get_sha.outputs.short_sha }} steps: - name: Checkout uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: persist-credentials: false + fetch-depth: 0 - name: Use Node.js uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 @@ -65,7 +65,6 @@ jobs: uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: token: ${{ secrets.GITHUB_TOKEN }} - fetch-depth: 0 - name: Use Node.js uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 @@ -106,7 +105,7 @@ jobs: run: npm ci - name: Set Version - run: npm pkg set version="${{ needs.determine-version.outputs.version }}-preview-${{ needs.determine-version.outputs.short_sha }}" + run: npm pkg set version="${{ needs.determine-version.outputs.version }}" - name: Package run: npm run package @@ -115,7 +114,7 @@ jobs: uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: esp-exception-decoder-${{ needs.determine-version.outputs.version }}-preview-${{ needs.determine-version.outputs.short_sha }} + name: esp-exception-decoder-${{ needs.determine-version.outputs.version }} path: '*.vsix' release: @@ -128,6 +127,7 @@ jobs: uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: persist-credentials: false + fetch-depth: 0 - name: Use Node.js uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 From cb65ca13144b8eccf21ef8402fa22806b2d0886f Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sun, 15 Feb 2026 09:12:39 +0100 Subject: [PATCH 06/27] fix: code ql; invalid backtick escape Signed-off-by: dankeboy36 --- src/capturer/markdown.ts | 3 ++- src/test/suite/markdown.test.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/capturer/markdown.ts b/src/capturer/markdown.ts index 57520d6..5211f26 100644 --- a/src/capturer/markdown.ts +++ b/src/capturer/markdown.ts @@ -616,7 +616,8 @@ function toCommandUri(command: string, args: unknown[] = []): string { function toInlineCode(value: unknown): string { const normalized = normalizeInlineCodeValue(value) - return `\`${normalized.replace(/`/g, '\\`')}\`` + const escaped = normalized.replace(/\\/g, '\\\\').replace(/`/g, '\\`') + return `\`${escaped}\`` } function normalizeInlineCodeValue(value: unknown): string { diff --git a/src/test/suite/markdown.test.ts b/src/test/suite/markdown.test.ts index 0da03f1..4ce7477 100644 --- a/src/test/suite/markdown.test.ts +++ b/src/test/suite/markdown.test.ts @@ -216,6 +216,37 @@ describe('markdown', () => { assert.equal(markdown.includes('``\\`raw``\\`'), true) }) + it('escapes backslashes and backticks in inline code spans', () => { + const runtime = createRuntime( + { + config: { + id: 'serial://C:\\tmp\\runtime`id', + fqbn: 'esp32:esp32:esp32c3', + sketchPath: 'C:\\tmp\\sketch`name', + port: { + protocol: 'serial', + address: 'COM5', + }, + } as any, + }, + { + elfPath: 'C:\\tmp\\build\\sketch`name.ino.elf', + } + ) + const summary = createEvent({ + signature: 'sig\\path`tick', + captureSessionId: 'session\\id`1', + }) + + const markdown = toEventReportDocumentMarkdown(runtime, summary) + assert.equal( + markdown.includes('`C:\\\\tmp\\\\build\\\\sketch\\`name.ino.elf`'), + true + ) + assert.equal(markdown.includes('`sig\\\\path\\`tick`'), true) + assert.equal(markdown.includes('`session\\\\id\\`1`'), true) + }) + it('renders capturer state dump for empty and populated events', () => { const runtime = createRuntime({ processedBytes: 16 * 1024, From 5052d04d2b0da6de5979930c244a929328828047 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Sun, 15 Feb 2026 09:24:32 +0100 Subject: [PATCH 07/27] fix(test): win32 path mismatches for elf guessing Signed-off-by: dankeboy36 --- src/test/suite/capturer.test.ts | 25 +++++++++++++++---------- src/test/suite/findElfPath.test.ts | 25 +++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/test/suite/capturer.test.ts b/src/test/suite/capturer.test.ts index b355691..0ae7fd6 100644 --- a/src/test/suite/capturer.test.ts +++ b/src/test/suite/capturer.test.ts @@ -1,5 +1,6 @@ import assert from 'node:assert/strict' import { promises as fs, mkdirSync, writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' import path from 'node:path' import type { CapturerEvent, DecodeResult } from 'trbr' @@ -105,6 +106,10 @@ class FakeTreeView { } } +function mkdtempInSystemTmp(prefix: string): Promise { + return fs.mkdtemp(path.join(tmpdir(), prefix)) +} + describe('capturer', () => { it('validates capturer config input', () => { const invalid = __tests.validateCapturerConfig({}) @@ -330,7 +335,7 @@ describe('capturer', () => { }) it('resolves ELF identity with stable short hash prefix', async () => { - const buildPath = await fs.mkdtemp('/tmp/capturer-elf-identity-') + const buildPath = await mkdtempInSystemTmp('capturer-elf-identity-') const elfPath = path.join(buildPath, 'sample.elf') try { await fs.writeFile(elfPath, 'elf-content') @@ -470,7 +475,7 @@ describe('capturer', () => { }) it('loads compile options from build.options.json', async () => { - const buildPath = await fs.mkdtemp('/tmp/capturer-build-options-') + const buildPath = await mkdtempInSystemTmp('capturer-build-options-') try { await fs.writeFile( path.join(buildPath, 'build.options.json'), @@ -503,7 +508,7 @@ describe('capturer', () => { }) it('loads and persists configs', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-load-') + const sketchPath = await mkdtempInSystemTmp('capturer-load-') const state = new TestMemento( new Map([ [ @@ -533,7 +538,7 @@ describe('capturer', () => { assert.strictEqual(roots.length, 1) await manager.addConfig({ - sketchPath: await fs.mkdtemp('/tmp/capturer-save-'), + sketchPath: await mkdtempInSystemTmp('capturer-save-'), fqbn: 'esp32:esp32:esp32c3', port: { protocol: 'serial', address: '/dev/save0' }, }) @@ -543,7 +548,7 @@ describe('capturer', () => { }) it('replays monitor recording and updates tree nodes', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-replay-') + const sketchPath = await mkdtempInSystemTmp('capturer-replay-') const context = { workspaceState: new TestMemento(), subscriptions: [], @@ -604,7 +609,7 @@ describe('capturer', () => { }) it('shows problems and compile actions when sketch is not compiled', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-not-compiled-') + const sketchPath = await mkdtempInSystemTmp('capturer-not-compiled-') const context = { workspaceState: new TestMemento(), subscriptions: [], @@ -644,7 +649,7 @@ describe('capturer', () => { }) it('uses warning icon and mismatch description for fqbn mismatches', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-fqbn-mismatch-') + const sketchPath = await mkdtempInSystemTmp('capturer-fqbn-mismatch-') const context = { workspaceState: new TestMemento(), subscriptions: [], @@ -676,7 +681,7 @@ describe('capturer', () => { }) it('starts and stops monitor lifecycle', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-monitor-') + const sketchPath = await mkdtempInSystemTmp('capturer-monitor-') const context = { workspaceState: new TestMemento(), subscriptions: [], @@ -723,7 +728,7 @@ describe('capturer', () => { }) it('updates view badge based on active capture sessions', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-badge-') + const sketchPath = await mkdtempInSystemTmp('capturer-badge-') const context = { workspaceState: new TestMemento(), subscriptions: [], @@ -767,7 +772,7 @@ describe('capturer', () => { }) it('returns no child nodes when no exceptions are detected', async () => { - const sketchPath = await fs.mkdtemp('/tmp/capturer-empty-child-') + const sketchPath = await mkdtempInSystemTmp('capturer-empty-child-') const context = { workspaceState: new TestMemento(), subscriptions: [], diff --git a/src/test/suite/findElfPath.test.ts b/src/test/suite/findElfPath.test.ts index 8332865..49d74db 100644 --- a/src/test/suite/findElfPath.test.ts +++ b/src/test/suite/findElfPath.test.ts @@ -151,4 +151,29 @@ describe('findElfPath', () => { assert.ok(candidates.includes(expectedBaseOtherCase)) assert.ok(candidates.includes(expectedSketchOtherCase)) }) + + it('normalizes windows slash styles and emits both folder schemes', () => { + const sketchPath = 'D:/a/esp-exception-decoder/esp-exception-decoder/sketch' + const normalizedSketchPath = path.win32.normalize(sketchPath) + const basePath = 'D:\\Users\\runneradmin\\AppData\\Local\\Temp' + const candidates = resolveBuildPathCandidates(sketchPath, { + platform: 'win32', + userCacheDirPath: basePath, + tempDirPath: basePath, + }) + const hash = buildFolderMd5Hash(normalizedSketchPath) + const sketchesFolderCandidate = path.win32.join( + basePath, + 'arduino', + 'sketches', + hash + ) + const flatFolderCandidate = path.win32.join( + basePath, + `arduino-sketch-${hash}` + ) + + assert.ok(candidates.includes(sketchesFolderCandidate)) + assert.ok(candidates.includes(flatFolderCandidate)) + }) }) From 555f68300b97f577d73f1c7b5b9ed335b3d7dd2e Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Mon, 16 Feb 2026 15:38:24 +0100 Subject: [PATCH 08/27] fix: reword welcome Signed-off-by: dankeboy36 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b02fae9..bc6a70f 100644 --- a/package.json +++ b/package.json @@ -251,7 +251,7 @@ { "view": "espExceptionDecoder.capturerView", "when": "espExceptionDecoder.capturerAvailable", - "contents": "Use Capturer to automatically detect crashes and group repeated crash signatures.\n\nTo get started, select a sketch, choose an ESP32 or ESP8266 board, compile and upload the sketch, then start Capturer instead of a regular serial monitor. [Create your first ESP Crash Capturer](command:espExceptionDecoder.capturerCreate \"Create a new ESP Crash Capturer\"). After that, use the $(add) action in the view title to add more capturers." + "contents": "Automatically detect ESP crashes and group repeated crash signatures.\n\nTo get started, open a sketch, select an ESP32 or ESP8266 board, compile and upload your sketch, then start a Capturer instead of a regular serial monitor. [Create your first ESP Crash Capturer](command:espExceptionDecoder.capturerCreate \"Create a new ESP Crash Capturer\"). After creating one, use the $(add) action in the view title to add additional capturers." } ] }, From 4de3ce960aaa79a1186684ca899a84f6d17527a6 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Mon, 16 Feb 2026 15:38:44 +0100 Subject: [PATCH 09/27] fix: drop fqbn from capturer tree item label Signed-off-by: dankeboy36 --- src/capturer/runtimeModel.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/capturer/runtimeModel.ts b/src/capturer/runtimeModel.ts index 7952087..abc8797 100644 --- a/src/capturer/runtimeModel.ts +++ b/src/capturer/runtimeModel.ts @@ -135,10 +135,10 @@ export function toRootLabel(runtime: RuntimeLike): string { const sketchName = path.basename(runtime.config.sketchPath) const boardName = runtime.readiness.boardName ?? runtime.readiness.selectedBoardName - const boardPart = boardName - ? `${boardName} (${runtime.config.fqbn})` - : runtime.config.fqbn - return `${runtime.config.port.address} · ${sketchName} · ${boardPart}` + if (!boardName) { + return `${runtime.config.port.address} · ${sketchName}` + } + return `${runtime.config.port.address} · ${sketchName} · ${boardName}` } export function rootContextValue(runtime: RuntimeLike): string { From c277789408aa5355126701a794d4b938053d6dfa Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Mon, 16 Feb 2026 18:50:13 +0100 Subject: [PATCH 10/27] fix: refactor quick fixes Signed-off-by: dankeboy36 --- package.json | 78 +- src/boardLabExt.ts | 97 ++- src/boardLabTarget.ts | 540 ++++++++++++ src/capturer.ts | 3 + src/capturer/constants.ts | 3 + src/capturer/crashCaptureManager.ts | 867 ++++++++++++++------ src/capturer/markdown.ts | 160 ++-- src/capturer/runtimeModel.ts | 100 ++- src/test/suite/capturer.test.ts | 106 ++- src/test/suite/capturerCreationFlow.test.ts | 441 ++++++++++ src/test/suite/markdown.test.ts | 132 ++- src/test/suite/runtimeModel.test.ts | 106 ++- 12 files changed, 2217 insertions(+), 416 deletions(-) create mode 100644 src/boardLabTarget.ts create mode 100644 src/test/suite/capturerCreationFlow.test.ts diff --git a/package.json b/package.json index bc6a70f..55dff72 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,27 @@ "icon": "$(refresh)", "category": "ESP Exception Decoder" }, + { + "command": "espExceptionDecoder.capturerQuickFix", + "title": "Quick Fix", + "icon": "$(light-bulb)", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerQuickFixSyncSketchBoard", + "title": "Sync Sketch Board to Capturer FQBN", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerCompileSketchDebug", + "title": "Compile Sketch with Debug Symbols", + "category": "ESP Exception Decoder" + }, + { + "command": "espExceptionDecoder.capturerCompileSketch", + "title": "Compile Sketch", + "category": "ESP Exception Decoder" + }, { "command": "espExceptionDecoder.capturerReplayCrash", "title": "Replay Crash", @@ -147,18 +168,18 @@ }, { "command": "espExceptionDecoder.capturerStop", - "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturing || viewItem == espCapturerRootCapturingHasEvents)", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturing || viewItem == espCapturerRootCapturingHasEvents || viewItem == espCapturerRootCapturingFixableSync || viewItem == espCapturerRootCapturingFixableSyncHasEvents || viewItem == espCapturerRootCapturingFixableCompile || viewItem == espCapturerRootCapturingFixableCompileHasEvents)", "group": "inline@1" }, { "command": "espExceptionDecoder.capturerRemove", - "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturing || viewItem == espCapturerRootCapturingHasEvents)", - "group": "inline@2" + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturing || viewItem == espCapturerRootCapturingHasEvents || viewItem == espCapturerRootCapturingFixableSync || viewItem == espCapturerRootCapturingFixableSyncHasEvents || viewItem == espCapturerRootCapturingFixableCompile || viewItem == espCapturerRootCapturingFixableCompileHasEvents)", + "group": "inline@3" }, { "command": "espExceptionDecoder.capturerRemove", - "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootStopped || viewItem == espCapturerRootStoppedHasEvents)", - "group": "inline@2" + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootStopped || viewItem == espCapturerRootStoppedHasEvents || viewItem == espCapturerRootStoppedFixableSync || viewItem == espCapturerRootStoppedFixableSyncHasEvents || viewItem == espCapturerRootStoppedFixableCompile || viewItem == espCapturerRootStoppedFixableCompileHasEvents)", + "group": "inline@3" }, { "command": "espExceptionDecoder.capturerRemove", @@ -167,7 +188,12 @@ }, { "command": "espExceptionDecoder.capturerDeleteAllEvents", - "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingHasEvents || viewItem == espCapturerRootReadyHasEvents || viewItem == espCapturerRootStoppedHasEvents)", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingHasEvents || viewItem == espCapturerRootReadyHasEvents || viewItem == espCapturerRootStoppedHasEvents || viewItem == espCapturerRootCapturingFixableSyncHasEvents || viewItem == espCapturerRootCapturingFixableCompileHasEvents || viewItem == espCapturerRootStoppedFixableSyncHasEvents || viewItem == espCapturerRootStoppedFixableCompileHasEvents)", + "group": "inline@2" + }, + { + "submenu": "capturerQuickFixId", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingFixableSync || viewItem == espCapturerRootCapturingFixableSyncHasEvents || viewItem == espCapturerRootStoppedFixableSync || viewItem == espCapturerRootStoppedFixableSyncHasEvents || viewItem == espCapturerRootCapturingFixableCompile || viewItem == espCapturerRootCapturingFixableCompileHasEvents || viewItem == espCapturerRootStoppedFixableCompile || viewItem == espCapturerRootStoppedFixableCompileHasEvents)", "group": "inline@2" }, { @@ -186,6 +212,23 @@ "group": "inline@3" } ], + "capturerQuickFixId": [ + { + "command": "espExceptionDecoder.capturerQuickFixSyncSketchBoard", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingFixableSync || viewItem == espCapturerRootCapturingFixableSyncHasEvents || viewItem == espCapturerRootStoppedFixableSync || viewItem == espCapturerRootStoppedFixableSyncHasEvents)", + "group": "1_sync@1" + }, + { + "command": "espExceptionDecoder.capturerCompileSketchDebug", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingFixableCompile || viewItem == espCapturerRootCapturingFixableCompileHasEvents || viewItem == espCapturerRootStoppedFixableCompile || viewItem == espCapturerRootStoppedFixableCompileHasEvents)", + "group": "2_compile@1" + }, + { + "command": "espExceptionDecoder.capturerCompileSketch", + "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingFixableCompile || viewItem == espCapturerRootCapturingFixableCompileHasEvents || viewItem == espCapturerRootStoppedFixableCompile || viewItem == espCapturerRootStoppedFixableCompileHasEvents)", + "group": "2_compile@2" + } + ], "commandPalette": [ { "command": "espExceptionDecoder.capturerCreate", @@ -207,6 +250,22 @@ "command": "espExceptionDecoder.capturerRefresh", "when": "false" }, + { + "command": "espExceptionDecoder.capturerQuickFix", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerQuickFixSyncSketchBoard", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerCompileSketchDebug", + "when": "false" + }, + { + "command": "espExceptionDecoder.capturerCompileSketch", + "when": "false" + }, { "command": "espExceptionDecoder.capturerReplayCrash", "when": "false" @@ -229,6 +288,13 @@ } ] }, + "submenus": [ + { + "id": "capturerQuickFixId", + "icon": "$(light-bulb)", + "label": "Quick Fixes..." + } + ], "views": { "espExceptionDecoderPanel": [ { diff --git a/src/boardLabExt.ts b/src/boardLabExt.ts index 357cc1e..eb4a7c5 100644 --- a/src/boardLabExt.ts +++ b/src/boardLabExt.ts @@ -1,6 +1,12 @@ -import type { DetectedPorts } from 'boards-list' +import type { + BoardIdentifier, + BoardsListItemWithBoard, + DetectedPorts, + PortIdentifier, +} from 'boards-list' +import type { FQBN } from 'fqbn' import type { Event } from 'vscode' -import type { Port } from 'vscode-arduino-api' +import type { BoardDetails, Port, SketchFolder } from 'vscode-arduino-api' export type MonitorRuntimeState = | 'disconnected' @@ -30,8 +36,65 @@ export interface BoardsListWatcher { readonly onDidChangeDetectedPorts: Event } +export type ApiBoardDetails = BoardDetails + +export type PickBoardResult = BoardIdentifier | BoardsListItemWithBoard + +export interface BoardPickCandidate { + readonly board: BoardIdentifier + readonly port?: PortIdentifier + readonly selection: PickBoardResult +} + +export type QuickPickFilter = (candidate: T) => boolean | Promise + +export interface QuickPickConstraints { + readonly filters?: ReadonlyArray> +} + +export interface SketchPickOptions extends QuickPickConstraints {} + +export interface BoardPickOptions extends QuickPickConstraints {} + +export type SketchPort = + | Readonly + | PortIdentifier + | { readonly port: PortIdentifier } + | undefined + +export interface PortPickCandidate { + readonly port: PortIdentifier + readonly selection: SketchPort +} + +export interface PortPickOptions extends QuickPickConstraints {} + +type SketchOrPromise = SketchFolder | Promise + // https://github.com/dankeboy36/vscode-arduino-api/issues/19 export interface BoardLabContextExt { + pickSketch(options?: SketchPickOptions): Promise + selectSketch(options?: SketchPickOptions): Promise + pickBoard( + currentSketchOrOptions?: SketchFolder | BoardPickOptions | undefined, + options?: BoardPickOptions + ): Promise + selectBoard( + currentSketchOrOptions?: SketchOrPromise | BoardPickOptions | undefined, + options?: BoardPickOptions + ): Promise + setBoardByFqbn( + fqbn: string | FQBN, + currentSketch?: SketchOrPromise | undefined + ): Promise + pickPort( + currentSketchOrOptions?: SketchFolder | PortPickOptions | undefined, + options?: PortPickOptions + ): Promise + selectPort( + currentSketchOrOptions?: SketchOrPromise | PortPickOptions | undefined, + options?: PortPickOptions + ): Promise createMonitorClient( port: Port, options?: { autoStart?: boolean; baudrate?: string } @@ -41,14 +104,34 @@ export interface BoardLabContextExt { run: (options?: MonitorSuspensionOptions) => Promise, options?: MonitorSuspensionOptions ): Promise - readonly boardsListWatcher?: BoardsListWatcher + readonly boardsListWatcher: BoardsListWatcher } export function isBoardLabContextExt(arg: unknown): arg is BoardLabContextExt { + if (typeof arg !== 'object' || arg === null) { + return false + } + const context = arg as Partial + if ( + typeof context.pickSketch !== 'function' || + typeof context.selectSketch !== 'function' || + typeof context.pickBoard !== 'function' || + typeof context.selectBoard !== 'function' || + typeof context.setBoardByFqbn !== 'function' || + typeof context.pickPort !== 'function' || + typeof context.selectPort !== 'function' || + typeof context.createMonitorClient !== 'function' || + typeof context.withMonitorSuspended !== 'function' + ) { + return false + } + const watcher = context.boardsListWatcher as + | Partial + | undefined return ( - typeof arg === 'object' && - arg !== null && - typeof (arg).createMonitorClient === 'function' && - typeof (arg).withMonitorSuspended === 'function' + typeof watcher === 'object' && + watcher !== null && + 'detectedPorts' in watcher && + typeof watcher.onDidChangeDetectedPorts === 'function' ) } diff --git a/src/boardLabTarget.ts b/src/boardLabTarget.ts new file mode 100644 index 0000000..cfef929 --- /dev/null +++ b/src/boardLabTarget.ts @@ -0,0 +1,540 @@ +import path from 'node:path' + +import { FQBN } from 'fqbn' + +import type { + BoardLabContextExt, + BoardPickCandidate, + BoardPickOptions, +} from './boardLabExt' + +export interface PortIdentifier { + protocol: string + address: string +} + +export interface SketchTargetDraft { + sketchPath: string + fqbn: string + port: PortIdentifier +} + +export type SketchTargetSelectionMode = + | 'use-sketch-target' + | 'select-board' + | 'select-port' + | 'select-both' + | 'use-board-select-port' + | 'use-port-select-board' + | 'select-board-select-port' + +export interface SketchTargetSelectionModeItem { + mode: SketchTargetSelectionMode + label: string + description: string +} + +export interface ResolveSketchTargetWithBoardLabOptions { + boardLab: Pick< + BoardLabContextExt, + 'pickSketch' | 'selectBoard' | 'pickBoard' | 'selectPort' | 'pickPort' + > + openedSketches: readonly unknown[] + pickMode: ( + items: readonly SketchTargetSelectionModeItem[] + ) => Promise + onError?: (message: string) => void +} + +const supportedCapturerArchitectures = new Set(['esp32', 'esp8266']) +type SelectBoardInput = Parameters[0] +type PickBoardInput = Parameters[0] +type SelectPortInput = Parameters[0] +type PickPortInput = Parameters[0] + +interface FqbnContainerLike { + fqbn?: unknown +} + +interface SketchLike { + sketchPath?: unknown + uri?: { + fsPath?: unknown + } + configOptions?: unknown + board?: FqbnContainerLike + fqbn?: unknown + port?: unknown +} + +function toNonEmptyString(value: unknown): string | undefined { + if (typeof value !== 'string') { + return undefined + } + const trimmed = value.trim() + return trimmed.length > 0 ? trimmed : undefined +} + +function tryCreateFqbn(value: string): FQBN | undefined { + try { + return new FQBN(value) + } catch { + return undefined + } +} + +function resolveBoardFqbn(sketch: unknown): FQBN | undefined { + const maybeSketch = sketch as SketchLike | undefined + const boardFqbn = + toNonEmptyString(maybeSketch?.board?.fqbn) ?? + toNonEmptyString(maybeSketch?.fqbn) + if (!boardFqbn) { + return undefined + } + return tryCreateFqbn(boardFqbn) +} + +export function pathEquals(left: string, right: string): boolean { + const normalize = (value: string) => + process.platform === 'win32' + ? path.resolve(value).toLowerCase() + : path.resolve(value) + return normalize(left) === normalize(right) +} + +export function resolveSketchPath(sketch: unknown): string | undefined { + const maybeSketch = sketch as SketchLike | undefined + const bySketchPath = toNonEmptyString(maybeSketch?.sketchPath) + if (bySketchPath) { + return path.resolve(bySketchPath) + } + const byUriPath = toNonEmptyString(maybeSketch?.uri?.fsPath) + if (byUriPath) { + return path.resolve(byUriPath) + } + return undefined +} + +export function resolveConfiguredFqbn(sketch: unknown): string | undefined { + const maybeSketch = sketch as SketchLike | undefined + const configOptions = toNonEmptyString(maybeSketch?.configOptions) + const boardFqbn = resolveBoardFqbn(sketch) + + if (boardFqbn && configOptions) { + const mergedFromOptions = tryCreateFqbn( + `${boardFqbn.sanitize().toString()}:${configOptions}` + ) + if (mergedFromOptions) { + return mergedFromOptions.toString() + } + const mergedFromFqbn = tryCreateFqbn(configOptions) + if (mergedFromFqbn) { + try { + return boardFqbn.withFQBN(mergedFromFqbn.toString()).toString() + } catch { + // ignore incompatible FQBN and continue with fallback + } + } + return boardFqbn.toString() + } + + if (boardFqbn) { + return boardFqbn.toString() + } + if (configOptions) { + return tryCreateFqbn(configOptions)?.toString() + } + return undefined +} + +function resolveSupportedConfiguredFqbn(sketch: unknown): string | undefined { + const fqbn = resolveConfiguredFqbn(sketch) + if (!fqbn) { + return undefined + } + return isSupportedCapturerFqbn(fqbn) ? fqbn : undefined +} + +export function isPortIdentifierLike(arg: unknown): arg is PortIdentifier { + return ( + typeof arg === 'object' && + arg !== null && + typeof (arg as { protocol?: unknown }).protocol === 'string' && + typeof (arg as { address?: unknown }).address === 'string' + ) +} + +export function toPortIdentifier( + portLike: unknown +): PortIdentifier | undefined { + const directPort = isPortIdentifierLike(portLike) ? portLike : undefined + const nestedPort = + !directPort && + typeof portLike === 'object' && + portLike !== null && + isPortIdentifierLike((portLike as { port?: unknown }).port) + ? (portLike as { port: PortIdentifier }).port + : undefined + const candidate = directPort ?? nestedPort + if (!candidate) { + return undefined + } + return { + protocol: candidate.protocol, + address: candidate.address, + } +} + +export function toDraftFromSketch( + sketch: unknown +): SketchTargetDraft | undefined { + const sketchPath = resolveSketchPath(sketch) + if (!sketchPath) { + return undefined + } + const fqbn = resolveConfiguredFqbn(sketch) + const port = toPortIdentifier((sketch as SketchLike | undefined)?.port) + if (!fqbn || !port) { + return undefined + } + return { + sketchPath, + fqbn, + port, + } +} + +export function toSketchTargetSelectionModeItems( + sketch: unknown +): SketchTargetSelectionModeItem[] { + const hasBoard = Boolean(resolveSupportedConfiguredFqbn(sketch)) + const hasPort = Boolean(toPortIdentifier((sketch as SketchLike)?.port)) + + if (hasBoard && hasPort) { + return [ + { + mode: 'use-sketch-target', + label: 'Use selected board + port', + description: '(Recommended) Use current sketch target', + }, + { + mode: 'select-board', + label: 'Select other board', + description: 'Keep the current port and choose another board', + }, + { + mode: 'select-port', + label: 'Select other port', + description: 'Keep the current board and choose another port', + }, + { + mode: 'select-both', + label: 'Select both manually', + description: 'Choose both board and port', + }, + ] + } + if (hasBoard && !hasPort) { + return [ + { + mode: 'use-board-select-port', + label: 'Use selected board + choose port', + description: '(Recommended) Keep sketch board and pick a port', + }, + { + mode: 'select-board-select-port', + label: 'Select board + port', + description: 'Choose both board and port', + }, + ] + } + if (!hasBoard && hasPort) { + return [ + { + mode: 'use-port-select-board', + label: 'Use selected port + choose board', + description: '(Recommended) Keep sketch port and pick a board', + }, + { + mode: 'select-board-select-port', + label: 'Select board + port', + description: 'Choose both board and port', + }, + ] + } + return [ + { + mode: 'select-both', + label: 'Select board + port', + description: '(Recommended) Choose both board and port', + }, + ] +} + +export function modeNeedsBoardSelection( + mode: SketchTargetSelectionMode +): boolean { + return ( + mode === 'select-board' || + mode === 'use-port-select-board' || + mode === 'select-both' || + mode === 'select-board-select-port' + ) +} + +export function modeNeedsPortSelection( + mode: SketchTargetSelectionMode +): boolean { + return ( + mode === 'select-port' || + mode === 'use-board-select-port' || + mode === 'select-both' || + mode === 'select-board-select-port' + ) +} + +export function resolveSketchByPath( + sketchPath: string, + openedSketches: readonly unknown[], + fallbackSketch: unknown +): unknown { + const normalizedSketchPath = path.resolve(sketchPath) + const match = openedSketches.find((candidate) => { + const candidatePath = toNonEmptyString( + (candidate as SketchLike | undefined)?.sketchPath + ) + return Boolean( + candidatePath && pathEquals(candidatePath, normalizedSketchPath) + ) + }) + return match ?? fallbackSketch +} + +export async function tryExecuteBoardLabCall( + run: () => Promise +): Promise { + try { + return await run() + } catch { + return undefined + } +} + +export function isSupportedCapturerArch(arch: string): boolean { + return supportedCapturerArchitectures.has(arch.trim().toLowerCase()) +} + +export function isSupportedCapturerFqbn(fqbn: string): boolean { + const parsed = tryCreateFqbn(fqbn) + if (!parsed) { + return false + } + return isSupportedCapturerArch(parsed.arch) +} + +export function isSupportedCapturerBoardCandidate( + candidate: BoardPickCandidate +): boolean { + const fqbn = + resolveConfiguredFqbn(candidate.selection) ?? + resolveConfiguredFqbn(candidate.board) + if (fqbn) { + return isSupportedCapturerFqbn(fqbn) + } + + // Boards without the installed core does not have the FQBN set + // But boards from an index package carries the platform meta object on the board. + if ( + 'platform' in candidate && + typeof candidate.platform === 'object' && + candidate.platform !== null + ) { + const { platform } = candidate + if ( + 'metadata' in platform && + typeof platform.metadata === 'object' && + platform.metadata !== null + ) { + const { metadata } = platform + if ('id' in metadata && typeof metadata.id === 'string') { + let fqbn: FQBN | undefined + try { + fqbn = new FQBN(`${metadata.id}:placeholder_id`) + } catch {} + if (fqbn) { + return isSupportedCapturerArch(fqbn.arch) + } + } + } + } + return false +} + +function toCapturerBoardPickOptions(): BoardPickOptions { + return { + filters: [isSupportedCapturerBoardCandidate], + } +} + +export async function selectBoardForSketchTarget(options: { + boardLab: Pick + openedSketches: readonly unknown[] + sketch: unknown + onError?: (message: string) => void +}): Promise<{ sketch: unknown; fqbn: string } | undefined> { + const boardPickOptions = toCapturerBoardPickOptions() + const selectedBoard = + (await tryExecuteBoardLabCall(() => + options.boardLab.selectBoard( + options.sketch as SelectBoardInput, + boardPickOptions + ) + )) ?? + (await tryExecuteBoardLabCall(() => + options.boardLab.pickBoard( + options.sketch as PickBoardInput, + boardPickOptions + ) + )) + if (!selectedBoard) { + return undefined + } + const sketchPath = resolveSketchPath(options.sketch) + const refreshedSketch = sketchPath + ? resolveSketchByPath(sketchPath, options.openedSketches, options.sketch) + : options.sketch + const refreshedSupportedFqbn = resolveSupportedConfiguredFqbn(refreshedSketch) + const selectedSupportedFqbn = resolveSupportedConfiguredFqbn(selectedBoard) + const fqbn = refreshedSupportedFqbn ?? selectedSupportedFqbn + if (!fqbn) { + const resolvedButUnsupported = + resolveConfiguredFqbn(refreshedSketch) ?? + resolveConfiguredFqbn(selectedBoard) + options.onError?.( + resolvedButUnsupported + ? 'Only ESP32 and ESP8266 boards are supported for crash capture.' + : 'Could not resolve a valid board selection for the sketch.' + ) + return undefined + } + return { + sketch: refreshedSketch, + fqbn, + } +} + +export async function selectPortForSketchTarget(options: { + boardLab: Pick + openedSketches: readonly unknown[] + sketch: unknown + onError?: (message: string) => void +}): Promise<{ sketch: unknown; port: PortIdentifier } | undefined> { + const selectedPort = + (await tryExecuteBoardLabCall(() => + options.boardLab.selectPort(options.sketch as SelectPortInput) + )) ?? + (await tryExecuteBoardLabCall(() => + options.boardLab.pickPort(options.sketch as PickPortInput) + )) + if (!selectedPort) { + return undefined + } + const sketchPath = resolveSketchPath(options.sketch) + const refreshedSketch = sketchPath + ? resolveSketchByPath(sketchPath, options.openedSketches, options.sketch) + : options.sketch + const port = + toPortIdentifier((refreshedSketch as SketchLike | undefined)?.port) ?? + toPortIdentifier(selectedPort) + if (!port) { + options.onError?.( + 'Could not resolve a valid port selection for the sketch.' + ) + return undefined + } + return { + sketch: refreshedSketch, + port, + } +} + +export async function resolveSketchTargetWithBoardLab( + options: ResolveSketchTargetWithBoardLabOptions +): Promise { + const sketchSelection = await tryExecuteBoardLabCall(() => + options.boardLab.pickSketch() + ) + if (!sketchSelection) { + return undefined + } + + const sketchPath = resolveSketchPath(sketchSelection) + if (!sketchPath) { + options.onError?.('Could not resolve the sketch path for target selection.') + return undefined + } + + let sketch = resolveSketchByPath( + sketchPath, + options.openedSketches, + sketchSelection + ) + const modeItems = toSketchTargetSelectionModeItems(sketch) + const pickedMode = + modeItems.length === 1 ? modeItems[0] : await options.pickMode(modeItems) + if (!pickedMode) { + return undefined + } + + let fqbn = resolveSupportedConfiguredFqbn(sketch) + let port = toPortIdentifier((sketch as SketchLike | undefined)?.port) + + if (modeNeedsBoardSelection(pickedMode.mode)) { + const boardSelection = await selectBoardForSketchTarget({ + boardLab: options.boardLab, + openedSketches: options.openedSketches, + sketch, + onError: options.onError, + }) + if (!boardSelection) { + return undefined + } + sketch = resolveSketchByPath( + sketchPath, + options.openedSketches, + boardSelection.sketch + ) + fqbn = boardSelection.fqbn ?? fqbn + } + + if (modeNeedsPortSelection(pickedMode.mode)) { + const portSelection = await selectPortForSketchTarget({ + boardLab: options.boardLab, + openedSketches: options.openedSketches, + sketch, + onError: options.onError, + }) + if (!portSelection) { + return undefined + } + sketch = resolveSketchByPath( + sketchPath, + options.openedSketches, + portSelection.sketch + ) + port = portSelection.port ?? port + } + + if (!fqbn || !port) { + options.onError?.( + 'Could not resolve both board and port for the sketch target.' + ) + return undefined + } + + return { + sketchPath, + fqbn, + port, + } +} diff --git a/src/capturer.ts b/src/capturer.ts index b75845f..e615d26 100644 --- a/src/capturer.ts +++ b/src/capturer.ts @@ -62,6 +62,7 @@ export interface CapturerManagerApi startCapturer(target?: CapturerNode): Promise stopCapturer(target?: CapturerNode): Promise refresh(target?: CapturerNode): Promise + quickFix(target?: CapturerNode, preferredAction?: string): Promise compileSketch(target?: CapturerNode): Promise compileSketchWithDebugSymbols(target?: CapturerNode): Promise copyToClipboard(arg?: unknown): Promise @@ -133,6 +134,8 @@ interface CapturerTestExports { event: CapturerEvent, runtime?: CapturerRuntime ) => CapturerEventSummary + toDraftFromSketch: (sketch: unknown) => CapturerConfigDraft | undefined + resolveConfiguredFqbn: (sketch: unknown) => string | undefined shouldIgnoreCapturerEvent: (event: CapturerEvent) => boolean resolveElfIdentity: ( elfPath: string, diff --git a/src/capturer/constants.ts b/src/capturer/constants.ts index 8a2c540..1e54ed4 100644 --- a/src/capturer/constants.ts +++ b/src/capturer/constants.ts @@ -30,6 +30,9 @@ export const capturerDeleteAllEventsCommandId = 'espExceptionDecoder.capturerDeleteAllEvents' export const capturerShowEventCommandId = 'espExceptionDecoder.capturerShowEvent' +export const capturerQuickFixCommandId = 'espExceptionDecoder.capturerQuickFix' +export const capturerQuickFixSyncSketchBoardCommandId = + 'espExceptionDecoder.capturerQuickFixSyncSketchBoard' export const capturerCompileSketchCommandId = 'espExceptionDecoder.capturerCompileSketch' export const capturerCompileSketchDebugCommandId = diff --git a/src/capturer/crashCaptureManager.ts b/src/capturer/crashCaptureManager.ts index 38b9ac8..bb4d3a3 100644 --- a/src/capturer/crashCaptureManager.ts +++ b/src/capturer/crashCaptureManager.ts @@ -1,14 +1,28 @@ -// @ts-nocheck import { createHash } from 'node:crypto' import * as fs from 'node:fs/promises' import path from 'node:path' import { FQBN } from 'fqbn' -import { createCapturer, decode } from 'trbr' +import { + createCapturer, + decode, + type CapturerEvent, + type CapturerOptions, +} from 'trbr' import vscode from 'vscode' +import type { ArduinoContext, SketchFolder } from 'vscode-arduino-api' +import type { BoardLabContextExt } from '../boardLabExt' import { isBoardLabContextExt } from '../boardLabExt' -import { createDecodeParams } from '../decodeParams' +import { + isPortIdentifierLike, + pathEquals, + resolveConfiguredFqbn, + resolveSketchTargetWithBoardLab, + toDraftFromSketch, + type SketchTargetSelectionModeItem, +} from '../boardLabTarget' +import { createDecodeParams, type DecodeParams } from '../decodeParams' import { findElfPath, resolveBuildPathFromSketchPath } from '../findElfPath' import { capturerCompileSketchCommandId, @@ -18,6 +32,8 @@ import { capturerCreateCommandId, capturerDeleteAllEventsCommandId, capturerDeleteEventCommandId, + capturerQuickFixCommandId, + capturerQuickFixSyncSketchBoardCommandId, capturerRefreshCommandId, capturerRemoveCommandId, capturerReplayCrashCommandId, @@ -51,6 +67,23 @@ import { toParsedFrameLocation, toRootTreeItemMarkdown, } from './markdown' +import type { + CapturerConfig, + CapturerConfigDraft, + CapturerConfigValidationResult, + CapturerDecodedEventPayload, + CapturerEventNode, + CapturerEventSummary, + CapturerNode, + CapturerReadiness, + CapturerRemovedCapturerMeta, + CapturerRemovedEventMeta, + CapturerRootNode, + CapturerRuntime, + CompileBuildOptionsInfo, + ElfIdentity, + MonitorClientWithClose, +} from './model' import { collectRuntimeProblems, eventContextValue, @@ -64,24 +97,93 @@ import { import { CapturerTreeModel } from './treeModel' export type { + CapturerConfig, + CapturerConfigDraft, CapturerDecodedEventMeta, CapturerDecodedEventPayload, CapturerEventNode, + CapturerEventSummary, CapturerFrameNode, CapturerNode, + CapturerReadiness, CapturerRemovedCapturerMeta, CapturerRemovedEventMeta, CapturerRootNode, + CapturerRuntime, + CompileBuildOptionsInfo, } from './model' -export class CapturerManager { + +type ArduinoContextWithBoardLab = ArduinoContext & BoardLabContextExt + +type EvaluateDecodedEvent = ( + payload: CapturerDecodedEventPayload +) => Promise + +type OnDecodedEvent = ( + payload: CapturerDecodedEventPayload +) => Promise | void + +type OnRemovedDecodedEvent = ( + payload: CapturerRemovedEventMeta +) => Promise | void + +type OnRemovedCapturer = ( + payload: CapturerRemovedCapturerMeta +) => Promise | void + +type CapturerCommandTarget = CapturerNode | undefined +type CapturerCompileCommand = + | 'boardlab.compile' + | 'boardlab.compileWithDebugSymbols' +type TransferRuntime = Pick< + CapturerRuntime, + 'processedBytes' | 'processedFirstAt' | 'processedLastAt' +> +type DecodeSketchLike = Pick< + SketchFolder, + 'compileSummary' | 'sketchPath' | 'board' +> + +interface DecodeEventSummaryOptions { + includeFrameVars: boolean + trackDurationAs?: 'decode' | 'evaluate' +} + +interface QuickFixItem extends vscode.QuickPickItem { + action: 'sync-sketch-fqbn' | 'compile-debug' | 'compile' + run: () => Promise +} + +export class CapturerManager + implements vscode.Disposable, vscode.TreeDataProvider +{ + private readonly context: vscode.ExtensionContext + private readonly arduinoContext: ArduinoContextWithBoardLab + private readonly evaluateDecodedEvent?: EvaluateDecodedEvent + private readonly onDecodedEvent?: OnDecodedEvent + private readonly onRemovedDecodedEvent?: OnRemovedDecodedEvent + private readonly onRemovedCapturer?: OnRemovedCapturer + private readonly onDidChangeTreeDataEmitter = new vscode.EventEmitter< + CapturerNode | undefined + >() + + readonly onDidChangeTreeData: vscode.Event + private readonly runtimes = new Map() + private readonly treeModel = new CapturerTreeModel() + private readonly toDispose: vscode.Disposable[] = [] + private configs: CapturerConfig[] = [] + private readonly ownsCrashReportProvider: boolean + private readonly crashReportProvider: CrashReportContentProvider + private treeView?: vscode.TreeView + constructor( - context, - arduinoContext, - crashReportProvider, - evaluateDecodedEvent, - onDecodedEvent, - onRemovedDecodedEvent, - onRemovedCapturer + context: vscode.ExtensionContext, + arduinoContext: ArduinoContextWithBoardLab, + crashReportProvider?: CrashReportContentProvider, + evaluateDecodedEvent?: EvaluateDecodedEvent, + onDecodedEvent?: OnDecodedEvent, + onRemovedDecodedEvent?: OnRemovedDecodedEvent, + onRemovedCapturer?: OnRemovedCapturer ) { this.context = context this.arduinoContext = arduinoContext @@ -89,11 +191,6 @@ export class CapturerManager { this.onDecodedEvent = onDecodedEvent this.onRemovedDecodedEvent = onRemovedDecodedEvent this.onRemovedCapturer = onRemovedCapturer - this.onDidChangeTreeDataEmitter = new vscode.EventEmitter() - this.runtimes = new Map() - this.treeModel = new CapturerTreeModel() - this.toDispose = [] - this.configs = [] this.onDidChangeTreeData = this.onDidChangeTreeDataEmitter.event this.ownsCrashReportProvider = !crashReportProvider this.crashReportProvider = @@ -132,15 +229,13 @@ export class CapturerManager { } }) ) - if (boardsListWatcher) { - this.toDispose.push( - boardsListWatcher.onDidChangeDetectedPorts(() => { - for (const config of this.configs) { - this.refreshReadiness(config.id) - } - }) - ) - } + this.toDispose.push( + boardsListWatcher.onDidChangeDetectedPorts(() => { + for (const config of this.configs) { + this.refreshReadiness(config.id) + } + }) + ) } dispose() { @@ -154,40 +249,90 @@ export class CapturerManager { vscode.Disposable.from(...this.toDispose).dispose() } - bindTreeView(treeView) { + bindTreeView(treeView: vscode.TreeView) { this.treeView = treeView this.updateViewBadge() } async addUsingBoardLabPickers() { - const sketch = await vscode.commands.executeCommand('boardlab.pickSketch') - if (!sketch) return - const board = await vscode.commands.executeCommand('boardlab.pickBoard') - if (!board) return - const port = await vscode.commands.executeCommand('boardlab.pickPort') - if (!port) return - const sketchPath = sketch.uri.fsPath - const draftFromSketch = toDraftFromSketch({ sketchPath, board, port }) - if (draftFromSketch) { - await this.addConfig(draftFromSketch) + const draft = await resolveSketchTargetWithBoardLab({ + boardLab: this.arduinoContext, + openedSketches: this.arduinoContext.openedSketches, + pickMode: async (items: readonly SketchTargetSelectionModeItem[]) => + vscode.window.showQuickPick(items, { + placeHolder: + 'Create capturer from sketch target or customize board/port', + }), + onError: (message: string) => vscode.window.showErrorMessage(message), + }) + if (!draft) { + return + } + + const existing = this.findExistingConfig(draft) + if (existing) { + const duplicateAction = await vscode.window.showQuickPick( + [ + { + label: 'Use existing capturer', + description: `${existing.port.address} | ${existing.fqbn}`, + action: 'use', + }, + { + label: 'Start existing capturer', + description: `${existing.port.address} | ${existing.fqbn}`, + action: 'start', + }, + { + label: 'Cancel', + description: 'Keep current setup unchanged', + action: 'cancel', + }, + ], + { + placeHolder: + 'A capturer already exists for this sketch, board, and port', + } + ) + if (!duplicateAction || duplicateAction.action === 'cancel') { + return + } + if (duplicateAction.action === 'start') { + await this.startCapturer({ type: 'root', configId: existing.id }) + return + } + this.refreshRoot(existing.id) + return } + + await this.addConfig(draft) + } + + findExistingConfig(draft: CapturerConfigDraft) { + return this.configs.find( + (config) => + pathEquals(config.sketchPath, draft.sketchPath) && + config.fqbn === draft.fqbn && + arePortsEqual(config.port, draft.port) + ) } - async addConfig(draft) { + async addConfig(draft: CapturerConfigDraft) { const validated = validateCapturerConfig(draft) if (!validated.ok) { vscode.window.showErrorMessage(validated.message) return undefined } - const exists = await pathExists(validated.value.sketchPath) + const validatedValue = validated.value + const exists = await pathExists(validatedValue.sketchPath) if (!exists) { vscode.window.showErrorMessage( - `Sketch path does not exist: ${validated.value.sketchPath}` + `Sketch path does not exist: ${validatedValue.sketchPath}` ) return undefined } - const id = buildCapturerId(validated.value) - const config = { id, ...validated.value } + const id = buildCapturerId(validatedValue) + const config: CapturerConfig = { id, ...validatedValue } const previousIndex = this.configs.findIndex((entry) => entry.id === id) if (previousIndex >= 0) { this.configs[previousIndex] = config @@ -204,7 +349,10 @@ export class CapturerManager { return config } - async removeConfig(target, options = { force: false }) { + async removeConfig( + target?: CapturerNode, + options: { force?: boolean } = {} + ): Promise { const configId = await this.resolveConfigId( target, 'Select capturer to remove' @@ -244,7 +392,7 @@ export class CapturerManager { this.refreshTree() } - async startCapturer(target) { + async startCapturer(target?: CapturerNode): Promise { const configId = await this.resolveConfigId( target, 'Select capturer to start' @@ -259,8 +407,8 @@ export class CapturerManager { if (runtime.monitor) { return } - const problems = (0, collectRuntimeProblems)(runtime) - if (!(0, isReadyToRecord)(runtime, problems)) { + const problems = collectRuntimeProblems(runtime) + if (!isReadyToRecord(runtime, problems)) { return } try { @@ -303,7 +451,7 @@ export class CapturerManager { } } - async stopCapturer(target) { + async stopCapturer(target?: CapturerNode): Promise { const configId = await this.resolveConfigId( target, 'Select capturer to stop' @@ -319,7 +467,7 @@ export class CapturerManager { this.refreshRoot(configId) } - async refresh(target) { + async refresh(target?: CapturerNode): Promise { if (target) { const configId = await this.resolveConfigId(target, 'Select capturer') if (!configId) { @@ -351,15 +499,133 @@ export class CapturerManager { this.refreshTree() } - async compileSketch(target) { + async compileSketch(target?: CapturerNode): Promise { await this.runCompileForRuntime(target, 'boardlab.compile') } - async compileSketchWithDebugSymbols(target) { + async compileSketchWithDebugSymbols(target?: CapturerNode): Promise { await this.runCompileForRuntime(target, 'boardlab.compileWithDebugSymbols') } - async runCompileForRuntime(target, command) { + async quickFix( + target?: CapturerNode, + preferredAction?: string + ): Promise { + const configId = await this.resolveConfigId( + target, + 'Select capturer to apply quick fix' + ) + if (!configId) { + return + } + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + const quickFixes = this.collectQuickFixes(runtime) + if (quickFixes.length === 0) { + vscode.window.showInformationMessage( + 'No quick fixes are available for this capturer.' + ) + return + } + if (typeof preferredAction === 'string' && preferredAction.length > 0) { + const preferred = quickFixes.find( + (quickFix) => quickFix.action === preferredAction + ) + if (preferred) { + await preferred.run() + return + } + } + await quickFixes[0].run() + } + + collectQuickFixes(runtime: CapturerRuntime): QuickFixItem[] { + const rootTarget: CapturerRootNode = { + type: 'root', + configId: runtime.config.id, + } + const problems = collectRuntimeProblems(runtime) + const hasSketchFqbnMismatch = problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-engine' + ) + const hasBuildFqbnMismatch = problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-build' + ) + const needsCompileQuickFixes = + !runtime.readiness.hasCompileSummary || + !runtime.readiness.elfPath || + hasBuildFqbnMismatch + + if (hasSketchFqbnMismatch) { + const syncQuickFix: QuickFixItem = { + label: 'Sync Sketch Board to Capturer FQBN', + description: runtime.config.fqbn, + action: 'sync-sketch-fqbn', + run: () => this.syncSketchBoardWithCapturer(runtime.config.id), + } + return [syncQuickFix] + } + const quickFixes: QuickFixItem[] = [] + if (needsCompileQuickFixes) { + const compileWithDebugQuickFix: QuickFixItem = { + label: 'Compile Sketch with Debug Symbols', + description: '(Recommended)', + action: 'compile-debug', + run: () => + this.runCompileForRuntime( + rootTarget, + 'boardlab.compileWithDebugSymbols' + ), + } + const compileQuickFix: QuickFixItem = { + label: 'Compile Sketch', + action: 'compile', + run: () => this.runCompileForRuntime(rootTarget, 'boardlab.compile'), + } + quickFixes.push(compileWithDebugQuickFix, compileQuickFix) + } + return quickFixes + } + + async syncSketchBoardWithCapturer(configId: string): Promise { + const runtime = this.runtimes.get(configId) + if (!runtime) { + return + } + const sketchFolder = this.arduinoContext.openedSketches.find( + ({ sketchPath }) => sketchPath === runtime.config.sketchPath + ) + if (!sketchFolder) { + vscode.window.showInformationMessage( + `Could not find sketch at ${runtime.config.sketchPath}` + ) + return + } + const targetFqbn = sanitizeFqbn(runtime.config.fqbn) + if (!targetFqbn) { + vscode.window.showErrorMessage('Capturer FQBN is invalid.') + return + } + const selected = await this.arduinoContext.setBoardByFqbn( + targetFqbn, + sketchFolder + ) + if (!selected) { + vscode.window.showWarningMessage( + `Could not set sketch board to capturer FQBN ${runtime.config.fqbn}.` + ) + return + } + await this.refreshReadiness(configId) + this.refreshRoot(configId) + } + + async runCompileForRuntime( + target: CapturerCommandTarget, + command: CapturerCompileCommand + ): Promise { const configId = await this.resolveConfigId( target, 'Select capturer to compile sketch' @@ -387,14 +653,17 @@ export class CapturerManager { this.refreshRoot(configId) } - async copyToClipboard(arg) { + async copyToClipboard(arg?: unknown): Promise { if (typeof arg !== 'string' || arg.length === 0) { return } await vscode.env.clipboard.writeText(arg) } - async replayRecording(target, recordingUri) { + async replayRecording( + target?: CapturerNode, + recordingUri?: vscode.Uri + ): Promise { const configId = await this.resolveConfigId( target, 'Select capturer for replay' @@ -431,7 +700,7 @@ export class CapturerManager { this.refreshRoot(configId) } - async replayEvent(target) { + async replayEvent(target?: CapturerNode): Promise { if (!target || target.type !== 'event') { return } @@ -489,7 +758,7 @@ export class CapturerManager { } } - async deleteEvent(target) { + async deleteEvent(target?: CapturerNode): Promise { if (!target || (target.type !== 'event' && target.type !== 'frame')) { return } @@ -505,7 +774,7 @@ export class CapturerManager { this.refreshRoot(target.configId) } - async deleteAllEvents(target) { + async deleteAllEvents(target?: CapturerNode): Promise { const configId = await this.resolveConfigId( target, 'Select capturer to clear crash events' @@ -523,7 +792,7 @@ export class CapturerManager { this.refreshRoot(configId) } - async dumpCapturerState(target) { + async dumpCapturerState(target?: CapturerNode): Promise { const runtime = await this.resolveRuntimeForStateDump(target) if (!runtime) { return @@ -534,11 +803,13 @@ export class CapturerManager { ) await this.showMarkdownReportPreview( `capturer-state-${path.basename(runtime.config.sketchPath)}`, - (0, toCapturerStateDumpMarkdown)(runtime, rawState, distinctEvents) + toCapturerStateDumpMarkdown(runtime, rawState, distinctEvents) ) } - async resolveRuntimeForStateDump(target) { + async resolveRuntimeForStateDump( + target?: CapturerNode + ): Promise { const configIdFromTarget = target?.configId if (configIdFromTarget) { return this.runtimes.get(configIdFromTarget) @@ -564,7 +835,7 @@ export class CapturerManager { return pick ? this.runtimes.get(pick.configId) : undefined } - async showEvent(target) { + async showEvent(target?: CapturerNode): Promise { if (!target || target.type !== 'event') { return } @@ -575,29 +846,32 @@ export class CapturerManager { } await this.showMarkdownReportPreview( `crash-event-${path.basename(runtime.config.sketchPath)}`, - (0, toEventReportDocumentMarkdown)(runtime, summary) + toEventReportDocumentMarkdown(runtime, summary) ) } - async showMarkdownReportPreview(name, content) { + async showMarkdownReportPreview( + name: string, + content: string + ): Promise { const reportUri = this.crashReportProvider.createReportUri(name, content) await vscode.commands.executeCommand('markdown.showPreview', reportUri) } - getTreeItem(element) { + getTreeItem(element: CapturerNode): vscode.TreeItem { if (element.type === 'root') { const runtime = this.runtimes.get(element.configId) if (!runtime) { return new vscode.TreeItem(element.configId) } const item = new vscode.TreeItem( - (0, toRootLabel)(runtime), + toRootLabel(runtime), vscode.TreeItemCollapsibleState.Collapsed ) item.id = runtime.config.id - item.description = (0, resolveRootDescription)(runtime) - item.tooltip = (0, toRootTreeItemMarkdown)(runtime) - item.contextValue = (0, rootContextValue)(runtime) + item.description = resolveRootDescription(runtime) + item.tooltip = toRootTreeItemMarkdown(runtime) + item.contextValue = rootContextValue(runtime) item.iconPath = toRuntimeIcon(runtime) return item } @@ -605,11 +879,9 @@ export class CapturerManager { const runtime = this.runtimes.get(element.configId) const summary = runtime?.eventsBySignature.get(element.signature) const frame = summary - ? (0, collectDecodedStackFrames)(summary.decodedResult)[ - element.frameIndex - ] + ? collectDecodedStackFrames(summary.decodedResult)[element.frameIndex] : undefined - const frameLocation = (0, toParsedFrameLocation)(frame) + const frameLocation = toParsedFrameLocation(frame) const sourceKind = classifyDecodedSource( frameLocation?.file, runtime?.config.sketchPath @@ -627,7 +899,7 @@ export class CapturerManager { ? toFrameUri(frameLocation.file, runtime.config.sketchPath) : undefined const item = new vscode.TreeItem( - (0, frameToLabel)(frame), + frameToLabel(frame), vscode.TreeItemCollapsibleState.None ) item.id = `frame:${element.configId}:${element.signature}:${element.frameIndex}` @@ -654,7 +926,7 @@ export class CapturerManager { } } } else { - item.description = (0, frameToDescription)(frame) + item.description = frameToDescription(frame) } item.contextValue = 'espCapturerFrame' return item @@ -662,10 +934,10 @@ export class CapturerManager { const runtime = this.runtimes.get(element.configId) const summary = runtime?.eventsBySignature.get(element.signature) const label = summary - ? (0, eventDisplayLabel)(summary) - : (element.signature.slice.trim() ?? 'Unknown event') + ? eventDisplayLabel(summary) + : element.signature.trim() || 'Unknown event' const decodedFrames = summary - ? (0, collectDecodedStackFrames)(summary.decodedResult) + ? collectDecodedStackFrames(summary.decodedResult) : [] const collapsibleState = decodedFrames.length === 0 @@ -678,10 +950,8 @@ export class CapturerManager { item.id = `event:${element.configId}:${element.signature}` item.description = summary ? toEventDescription(summary) : undefined item.tooltip = - summary && runtime - ? (0, toEventTreeItemMarkdown)(runtime, summary) - : undefined - item.contextValue = (0, eventContextValue)(summary) + summary && runtime ? toEventTreeItemMarkdown(runtime, summary) : undefined + item.contextValue = eventContextValue(summary) item.iconPath = summary?.decodeState === 'decoding' || summary?.decodeState === 'evaluating' @@ -690,7 +960,7 @@ export class CapturerManager { return item } - getChildren(element) { + getChildren(element?: CapturerNode): CapturerNode[] { if (!element) { return this.treeModel.getRootNodes(this.configs) } @@ -700,7 +970,7 @@ export class CapturerManager { if (element.type === 'event') { const runtime = this.runtimes.get(element.configId) const summary = runtime?.eventsBySignature.get(element.signature) - const frames = (0, collectDecodedStackFrames)(summary?.decodedResult) + const frames = collectDecodedStackFrames(summary?.decodedResult) return this.treeModel.getFrameNodes( element.configId, element.signature, @@ -711,7 +981,7 @@ export class CapturerManager { return this.treeModel.getEventNodes(element.configId, runtime) } - getParent(element) { + getParent(element: CapturerNode): CapturerNode | undefined { if (element.type === 'root') { return undefined } @@ -726,12 +996,12 @@ export class CapturerManager { this.onDidChangeTreeDataEmitter.fire(undefined) } - refreshRoot(configId) { + refreshRoot(configId: string): void { this.updateViewBadge() this.onDidChangeTreeDataEmitter.fire(this.treeModel.getRootNode(configId)) } - refreshEvent(configId, signature) { + refreshEvent(configId: string, signature: string): void { this.onDidChangeTreeDataEmitter.fire( this.treeModel.getEventNode(configId, signature) ) @@ -747,18 +1017,18 @@ export class CapturerManager { this.treeView.badge = toCapturerViewBadge(activeSessionCount) } - ensureRuntime(config) { + ensureRuntime(config: CapturerConfig): CapturerRuntime { const existing = this.runtimes.get(config.id) if (existing) { return existing } - const capturerOptions = {} - const capturer = (0, createCapturer)(capturerOptions) - const runtime = { + const capturerOptions: CapturerOptions = {} + const capturer = createCapturer(capturerOptions) + const runtime: CapturerRuntime = { config, capturer, - eventsBySignature: new Map(), - eventsById: new Map(), + eventsBySignature: new Map(), + eventsById: new Map(), unsubscribeDetected: capturer.on('eventDetected', (event) => this.handleCapturerEvent(config.id, event) ), @@ -766,7 +1036,10 @@ export class CapturerManager { this.handleCapturerEvent(config.id, event) ), monitorSubscriptions: [], - sourceAvailabilityByPath: new Map(), + sourceAvailabilityByPath: new Map< + string, + 'checking' | 'present' | 'missing' + >(), lastChunkEndedWithLineBreak: true, processedBytes: 0, readiness: { sketchExists: false, hasCompileSummary: false }, @@ -775,7 +1048,7 @@ export class CapturerManager { return runtime } - handleCapturerEvent(configId, event) { + handleCapturerEvent(configId: string, event: CapturerEvent): void { const runtime = this.runtimes.get(configId) if (!runtime) { return @@ -801,7 +1074,7 @@ export class CapturerManager { } } - async revealEventNode(node) { + async revealEventNode(node: CapturerEventNode): Promise { if (!this.treeView) { return } @@ -828,7 +1101,7 @@ export class CapturerManager { } } - removeSummaryBySignature(runtime, signature) { + removeSummaryBySignature(runtime: CapturerRuntime, signature: string): void { const removedSummary = runtime.eventsBySignature.get(signature) this.treeModel.removeEventNode(runtime.config.id, signature) runtime.eventsBySignature.delete(signature) @@ -851,7 +1124,12 @@ export class CapturerManager { } } - resolveSourceAvailability(configId, runtime, filePath, sourceKind) { + resolveSourceAvailability( + configId: string, + runtime: CapturerRuntime, + filePath: string | undefined, + sourceKind: 'sketch' | 'library' | 'missing' + ): 'checking' | 'present' | 'missing' | undefined { if (!filePath || sourceKind !== 'library') { return undefined } @@ -864,8 +1142,12 @@ export class CapturerManager { return 'checking' } - async probeSourceAvailability(configId, runtime, filePath) { - let next = 'present' + async probeSourceAvailability( + configId: string, + runtime: CapturerRuntime, + filePath: string + ): Promise { + let next: 'present' | 'missing' = 'present' try { await fs.access(filePath) } catch { @@ -875,7 +1157,7 @@ export class CapturerManager { this.refreshRoot(configId) } - async refreshReadiness(configId) { + async refreshReadiness(configId: string): Promise { const runtime = this.runtimes.get(configId) if (!runtime) { return @@ -895,7 +1177,7 @@ export class CapturerManager { selectedBoardFqbn: sketchRuntimeInfo?.selectedBoardFqbn, selectedPort: sketchRuntimeInfo?.selectedPort, configuredPortDetected: isPortDetected( - this.arduinoContext.boardsListWatcher?.detectedPorts, + this.arduinoContext.boardsListWatcher.detectedPorts, runtime.config.port ), workspaceRelativeSketchPath: workspaceRelativeSketchPath( @@ -918,7 +1200,7 @@ export class CapturerManager { } } - async detachMonitor(runtime) { + async detachMonitor(runtime: CapturerRuntime): Promise { this.flushRuntime(runtime.config.id, runtime) for (const disposable of runtime.monitorSubscriptions) { disposable.dispose() @@ -939,7 +1221,7 @@ export class CapturerManager { } } - async disposeRuntime(runtime) { + async disposeRuntime(runtime: CapturerRuntime): Promise { await this.detachMonitor(runtime) runtime.unsubscribeDetected() runtime.unsubscribeUpdated() @@ -950,8 +1232,11 @@ export class CapturerManager { this.treeModel.clearConfig(runtime.config.id) } - async invokeMonitorMethod(monitor, methodName) { - const method = monitor[methodName] + async invokeMonitorMethod( + monitor: MonitorClientWithClose, + methodName: 'stop' | 'close' + ): Promise { + const method = methodName === 'stop' ? monitor.stop : monitor.close if (typeof method !== 'function') { return } @@ -962,7 +1247,10 @@ export class CapturerManager { } } - async resolveConfigId(target, placeholder) { + async resolveConfigId( + target: CapturerCommandTarget, + placeholder: string + ): Promise { if (target?.type === 'root') { return target.configId } @@ -983,8 +1271,10 @@ export class CapturerManager { return quickPickItem?.configId } - async pickReplayFile() { - const defaultPath = this.context.workspaceState.get(replayFileStateKey) + async pickReplayFile(): Promise { + const defaultPath = this.context.workspaceState.get( + replayFileStateKey + ) const defaultUri = defaultPath ? vscode.Uri.file(path.dirname(defaultPath)) : vscode.workspace.workspaceFolders?.[0]?.uri @@ -1000,7 +1290,7 @@ export class CapturerManager { return selected ?? [] } - flushRuntime(configId, runtime) { + flushRuntime(configId: string, runtime: CapturerRuntime): void { try { runtime.capturer.flush() } catch (err) { @@ -1009,7 +1299,7 @@ export class CapturerManager { } } - scheduleIdleFlush(configId, runtime) { + scheduleIdleFlush(configId: string, runtime: CapturerRuntime): void { this.clearIdleFlushTimer(runtime) runtime.idleFlushTimer = setTimeout(() => { runtime.idleFlushTimer = undefined @@ -1020,14 +1310,18 @@ export class CapturerManager { }, idleFlushDelayMs) } - clearIdleFlushTimer(runtime) { + clearIdleFlushTimer(runtime: CapturerRuntime): void { if (runtime.idleFlushTimer) { clearTimeout(runtime.idleFlushTimer) runtime.idleFlushTimer = undefined } } - startAutoDecode(configId, runtime, summary) { + startAutoDecode( + configId: string, + runtime: CapturerRuntime, + summary: CapturerEventSummary + ): void { if ( summary.decodeState === 'decoding' || summary.decodeState === 'decoded' || @@ -1051,7 +1345,7 @@ export class CapturerManager { trackDurationAs: 'decode', } ) - summary.lastDecodeHeavyVarsCount = (0, countHeavyVars)(result) + summary.lastDecodeHeavyVarsCount = countHeavyVars(result) summary.decodedResult = result summary.decodeState = 'decoded' summary.decodeError = undefined @@ -1087,11 +1381,18 @@ export class CapturerManager { })() } - async decodeEventSummary(runtime, summary, options) { + async decodeEventSummary( + runtime: CapturerRuntime, + summary: CapturerEventSummary, + options: DecodeEventSummaryOptions + ): Promise<{ + params: DecodeParams + result: CapturerDecodedEventPayload['result'] + }> { const decodeStartAt = Date.now() try { const params = await this.resolveDecodeParams(runtime) - const decoded = await (0, decode)(params, summary.rawText, { + const decoded = await decode(params, summary.rawText, { includeFrameVars: options.includeFrameVars, }) if (Array.isArray(decoded)) { @@ -1105,7 +1406,7 @@ export class CapturerManager { } } - async resolveDecodeParams(runtime) { + async resolveDecodeParams(runtime: CapturerRuntime): Promise { if (runtime.decodeParams) { return runtime.decodeParams } @@ -1120,14 +1421,14 @@ export class CapturerManager { ) } const configuredSketch = withConfiguredFqbn(sketch, runtime.config.fqbn) + const fallbackCompileSummary = runtime.readiness.buildPath + ? ({ + buildPath: runtime.readiness.buildPath, + } as SketchFolder['compileSummary']) + : undefined const compileSummary = - configuredSketch.compileSummary ?? - (runtime.readiness.buildPath - ? { - buildPath: runtime.readiness.buildPath, - } - : undefined) - const params = await (0, createDecodeParams)({ + configuredSketch.compileSummary ?? fallbackCompileSummary + const params = await createDecodeParams({ compileSummary, board: configuredSketch.board, sketchPath: runtime.config.sketchPath, @@ -1136,11 +1437,20 @@ export class CapturerManager { return params } } -export function registerCapturer(context, arduinoContext, options = {}) { - const toDispose = [] - if (!(0, isBoardLabContextExt)(arduinoContext)) { +export function registerCapturer( + context: vscode.ExtensionContext, + arduinoContext: ArduinoContext, + options: { + evaluateDecodedEvent?: EvaluateDecodedEvent + onDecodedEvent?: OnDecodedEvent + onRemovedDecodedEvent?: OnRemovedDecodedEvent + onRemovedCapturer?: OnRemovedCapturer + } = {} +): vscode.Disposable { + const toDispose: vscode.Disposable[] = [] + if (!isBoardLabContextExt(arduinoContext)) { vscode.window.showInformationMessage( - 'The current BoardLab context does expose the experimental monitor feature. Update BoardLab to the latest version and reload Visual Studio Code.' + 'The current BoardLab context does not expose the required monitor and picker APIs. Update BoardLab to the latest version and reload Visual Studio Code.' ) return new vscode.Disposable(() => { // noop @@ -1183,49 +1493,70 @@ export function registerCapturer(context, arduinoContext, options = {}) { vscode.commands.registerCommand(capturerCreateCommandId, () => manager.addUsingBoardLabPickers() ), - vscode.commands.registerCommand(capturerRemoveCommandId, (target) => - manager.removeConfig(target) + vscode.commands.registerCommand( + capturerRemoveCommandId, + (target: CapturerNode | undefined) => manager.removeConfig(target) + ), + vscode.commands.registerCommand( + capturerStartCommandId, + (target: CapturerNode | undefined) => manager.startCapturer(target) + ), + vscode.commands.registerCommand( + capturerStopCommandId, + (target: CapturerNode | undefined) => manager.stopCapturer(target) ), - vscode.commands.registerCommand(capturerStartCommandId, (target) => - manager.startCapturer(target) + vscode.commands.registerCommand( + capturerRefreshCommandId, + (target: CapturerNode | undefined) => manager.refresh(target) ), - vscode.commands.registerCommand(capturerStopCommandId, (target) => - manager.stopCapturer(target) + vscode.commands.registerCommand( + capturerQuickFixCommandId, + (target: CapturerNode | undefined, action: string | undefined) => + manager.quickFix(target, action) ), - vscode.commands.registerCommand(capturerRefreshCommandId, (target) => - manager.refresh(target) + vscode.commands.registerCommand( + capturerQuickFixSyncSketchBoardCommandId, + (target: CapturerNode | undefined) => + manager.quickFix(target, 'sync-sketch-fqbn') ), - vscode.commands.registerCommand(capturerCompileSketchCommandId, (target) => - manager.compileSketch(target) + vscode.commands.registerCommand( + capturerCompileSketchCommandId, + (target: CapturerNode | undefined) => manager.compileSketch(target) ), vscode.commands.registerCommand( capturerCompileSketchDebugCommandId, - (target) => manager.compileSketchWithDebugSymbols(target) + (target: CapturerNode | undefined) => + manager.compileSketchWithDebugSymbols(target) ), - vscode.commands.registerCommand(capturerCopyToClipboardCommandId, (arg) => - manager.copyToClipboard(arg) + vscode.commands.registerCommand( + capturerCopyToClipboardCommandId, + (arg: unknown) => manager.copyToClipboard(arg) ), - vscode.commands.registerCommand(dumpCapturerStateCommandId, (target) => - manager.dumpCapturerState(target) + vscode.commands.registerCommand( + dumpCapturerStateCommandId, + (target: CapturerNode | undefined) => manager.dumpCapturerState(target) ), - vscode.commands.registerCommand(capturerReplayCrashCommandId, (target) => - manager.replayEvent(target) + vscode.commands.registerCommand( + capturerReplayCrashCommandId, + (target: CapturerNode | undefined) => manager.replayEvent(target) ), - vscode.commands.registerCommand(capturerDeleteEventCommandId, (target) => - manager.deleteEvent(target) + vscode.commands.registerCommand( + capturerDeleteEventCommandId, + (target: CapturerNode | undefined) => manager.deleteEvent(target) ), vscode.commands.registerCommand( capturerDeleteAllEventsCommandId, - (target) => manager.deleteAllEvents(target) + (target: CapturerNode | undefined) => manager.deleteAllEvents(target) ), - vscode.commands.registerCommand(capturerShowEventCommandId, (target) => - manager.showEvent(target) + vscode.commands.registerCommand( + capturerShowEventCommandId, + (target: CapturerNode | undefined) => manager.showEvent(target) ) ) return vscode.Disposable.from(...toDispose) } -function toRuntimeIcon(runtime) { - const problems = (0, collectRuntimeProblems)(runtime) +function toRuntimeIcon(runtime: CapturerRuntime): vscode.ThemeIcon { + const problems = collectRuntimeProblems(runtime) if (problems.some((problem) => problem.severity === 'error')) { return new vscode.ThemeIcon('error') } @@ -1235,54 +1566,27 @@ function toRuntimeIcon(runtime) { if (runtime.monitorState === 'running') { return new vscode.ThemeIcon('pulse') } - if ( - runtime.monitorState === 'suspended' && - (0, isRuntimeConnected)(runtime) - ) { + if (runtime.monitorState === 'suspended' && isRuntimeConnected(runtime)) { return new vscode.ThemeIcon('sync~spin') } - if ((0, isReadyToRecord)(runtime, problems)) { + if (isReadyToRecord(runtime, problems)) { return new vscode.ThemeIcon('pass') } return new vscode.ThemeIcon('error') } -function toEventDescription(summary) { - const createdLabel = `Created ${(0, formatLocalTimestamp)(summary.createdAt)}` +function toEventDescription(summary: CapturerEventSummary): string { + const createdLabel = `Created ${formatLocalTimestamp(summary.createdAt)}` if (!summary.captureSessionLabel) { return createdLabel } return `${createdLabel} | ${summary.captureSessionLabel}` } -function toDraftFromSketch(sketch) { - if (!sketch?.sketchPath) { - return undefined - } - const fqbn = sketch.board?.fqbn - const port = sketch.port - if (!fqbn || !isPortIdentifierLike(port)) { - return undefined - } - return { - sketchPath: sketch.sketchPath, - fqbn, - port: { - protocol: port.protocol, - address: port.address, - }, - } -} -function isPortIdentifierLike(arg) { - return ( - typeof arg === 'object' && - arg !== null && - typeof arg.protocol === 'string' && - typeof arg.address === 'string' - ) -} -function buildCapturerId(config) { +function buildCapturerId(config: CapturerConfigDraft): string { return `${config.port.protocol}://${config.port.address}|${config.fqbn}|${path.normalize(config.sketchPath)}` } -function validateCapturerConfig(value) { +function validateCapturerConfig( + value: Partial +): CapturerConfigValidationResult { if (!isPortIdentifierLike(value.port)) { return { ok: false, @@ -1305,7 +1609,7 @@ function validateCapturerConfig(value) { } } try { - const fqbn = new FQBN(value.fqbn).sanitize() + const fqbn = new FQBN(value.fqbn) if (!supportedCapturerArchitectures.has(fqbn.arch)) { return { ok: false, @@ -1330,10 +1634,7 @@ function validateCapturerConfig(value) { } } } -function pathEquals(left, right) { - return path.normalize(left) === path.normalize(right) -} -async function pathExists(targetPath) { +async function pathExists(targetPath: string): Promise { try { await fs.access(targetPath) return true @@ -1341,8 +1642,11 @@ async function pathExists(targetPath) { return false } } -async function resolveElfIdentity(elfPath, previous) { - let stats +async function resolveElfIdentity( + elfPath: string, + previous?: ElfIdentity +): Promise { + let stats: Awaited> try { stats = await fs.stat(elfPath) } catch { @@ -1361,10 +1665,10 @@ async function resolveElfIdentity(elfPath, previous) { ) { return previous } - let sha256 + let sha256: string try { const content = await fs.readFile(elfPath) - sha256 = (0, createHash)('sha256').update(content).digest('hex') + sha256 = createHash('sha256').update(content).digest('hex') } catch { return undefined } @@ -1378,7 +1682,10 @@ async function resolveElfIdentity(elfPath, previous) { sessionId: `${sha256Short}-${mtimeMs}`, } } -function isPortDetected(detectedPorts, port) { +function isPortDetected( + detectedPorts: unknown, + port: CapturerConfig['port'] | undefined +): boolean | undefined { if (!port) { return undefined } @@ -1388,14 +1695,16 @@ function isPortDetected(detectedPorts, port) { } return detected.some((candidate) => arePortsEqual(candidate, port)) } -function extractDetectedPorts(detectedPorts) { +function extractDetectedPorts( + detectedPorts: unknown +): CapturerConfig['port'][] | undefined { if (!detectedPorts || typeof detectedPorts !== 'object') { return undefined } const entries = Array.isArray(detectedPorts) ? detectedPorts : Object.values(detectedPorts) - const ports = [] + const ports: CapturerConfig['port'][] = [] for (const entry of entries) { if (isPortIdentifierLike(entry)) { ports.push({ protocol: entry.protocol, address: entry.address }) @@ -1408,18 +1717,23 @@ function extractDetectedPorts(detectedPorts) { } return ports } -function arePortsEqual(left, right) { +function arePortsEqual( + left: CapturerConfig['port'], + right: CapturerConfig['port'] +): boolean { return left.protocol === right.protocol && left.address === right.address } -async function loadCompileBuildOptions(buildPath) { +async function loadCompileBuildOptions( + buildPath: string +): Promise { const optionsPath = path.join(buildPath, 'build.options.json') - let rawJson + let rawJson: string try { rawJson = await fs.readFile(optionsPath, 'utf8') } catch { return undefined } - let parsed + let parsed: unknown try { parsed = JSON.parse(rawJson) } catch { @@ -1451,7 +1765,10 @@ async function loadCompileBuildOptions(buildPath) { flags: collectBuildFlagEntries(parsed), } } -function pickNonEmptyString(record, key) { +function pickNonEmptyString( + record: Record, + key: string +): string | undefined { const value = record[key] if (typeof value !== 'string') { return undefined @@ -1459,7 +1776,7 @@ function pickNonEmptyString(record, key) { const trimmed = value.trim() return trimmed.length > 0 ? trimmed : undefined } -function collectBuildFlagEntries(record) { +function collectBuildFlagEntries(record: Record): string[] { return Object.entries(record) .flatMap(([key, value]) => { if (typeof value !== 'string') { @@ -1473,23 +1790,38 @@ function collectBuildFlagEntries(record) { }) .sort((left, right) => left.localeCompare(right)) } -function isRecord(value) { +function isRecord(value: unknown): value is Record { return typeof value === 'object' && value !== null } -async function findSketchRuntimeInfo(config, arduinoContext) { +async function findSketchRuntimeInfo( + config: CapturerConfig, + arduinoContext: ArduinoContextWithBoardLab +): Promise< + Pick< + CapturerReadiness, + | 'hasCompileSummary' + | 'elfPath' + | 'buildPath' + | 'buildOptions' + | 'boardName' + | 'selectedBoardName' + | 'selectedBoardFqbn' + | 'selectedPort' + > +> { const sketchName = path.basename(config.sketchPath) - const matchingSketch = arduinoContext.openedSketches.find((sketch) => - pathEquals(sketch.sketchPath, config.sketchPath) + const matchingSketch = arduinoContext.openedSketches.find( + (sketch: SketchFolder) => pathEquals(sketch.sketchPath, config.sketchPath) ) const compileSummaryBuildPath = typeof matchingSketch?.compileSummary?.buildPath === 'string' ? matchingSketch.compileSummary.buildPath : undefined const compileSummaryElfPath = compileSummaryBuildPath - ? await (0, findElfPath)(sketchName, compileSummaryBuildPath) + ? await findElfPath(sketchName, compileSummaryBuildPath) : undefined const fallbackBuild = !compileSummaryBuildPath - ? await (0, resolveBuildPathFromSketchPath)(config.sketchPath, sketchName, { + ? await resolveBuildPathFromSketchPath(config.sketchPath, sketchName, { sketchRealPath: await resolveRealPath(config.sketchPath), }) : undefined @@ -1513,7 +1845,7 @@ async function findSketchRuntimeInfo(config, arduinoContext) { : undefined, selectedBoardFqbn: typeof matchingSketch?.board?.fqbn === 'string' - ? (0, sanitizeFqbn)(matchingSketch.board.fqbn) + ? sanitizeFqbn(matchingSketch.board.fqbn) : undefined, selectedPort: isPortIdentifierLike(matchingSketch?.port) ? { @@ -1523,21 +1855,26 @@ async function findSketchRuntimeInfo(config, arduinoContext) { : undefined, } } -async function resolveRealPath(targetPath) { +async function resolveRealPath( + targetPath: string +): Promise { try { return await fs.realpath(targetPath) } catch { return undefined } } -function resolveSketchBoardName(sketch, engineFqbn) { +function resolveSketchBoardName( + sketch: Pick | undefined, + engineFqbn: string +): string | undefined { const name = sketch?.board?.name const sketchFqbn = sketch?.board?.fqbn if (typeof name !== 'string' || typeof sketchFqbn !== 'string') { return undefined } - const sanitizedSketchFqbn = (0, sanitizeFqbn)(sketchFqbn) - const sanitizedEngineFqbn = (0, sanitizeFqbn)(engineFqbn) + const sanitizedSketchFqbn = sanitizeFqbn(sketchFqbn) + const sanitizedEngineFqbn = sanitizeFqbn(engineFqbn) if (!sanitizedSketchFqbn || !sanitizedEngineFqbn) { return undefined } @@ -1546,7 +1883,10 @@ function resolveSketchBoardName(sketch, engineFqbn) { } return name } -function toEventSummary(event, runtime) { +function toEventSummary( + event: CapturerEvent, + runtime?: CapturerRuntime +): CapturerEventSummary { const captureSession = runtime?.elfIdentity return { eventId: event.id, @@ -1559,7 +1899,7 @@ function toEventSummary(event, runtime) { createdAt: event.firstSeenAt, captureSessionId: captureSession?.sessionId, captureSessionLabel: captureSession - ? `${captureSession.sha256Short} @ ${(0, formatLocalTimestamp)(captureSession.mtimeMs)}` + ? `${captureSession.sha256Short} @ ${formatLocalTimestamp(captureSession.mtimeMs)}` : undefined, count: event.count, firstSeenAt: event.firstSeenAt, @@ -1570,13 +1910,16 @@ function toEventSummary(event, runtime) { decodeState: 'detected', } } -function toDecodedEventMeta(configId, summary) { +function toDecodedEventMeta( + configId: string, + summary: CapturerEventSummary +): CapturerDecodedEventPayload['meta'] { return { key: `${configId}:${summary.signature}`, configId, signature: summary.signature, eventId: summary.eventId, - label: (0, eventDisplayLabel)(summary), + label: eventDisplayLabel(summary), reason: summary.reason, createdAt: summary.createdAt, captureSessionId: summary.captureSessionId, @@ -1584,7 +1927,7 @@ function toDecodedEventMeta(configId, summary) { } } -function shouldIgnoreCapturerEvent(event) { +function shouldIgnoreCapturerEvent(event: CapturerEvent): boolean { if (hasDecodeAnchors(event)) { return false } @@ -1592,10 +1935,7 @@ function shouldIgnoreCapturerEvent(event) { return nonEmptyLines.length <= 1 } -function hasDecodeAnchors(event) { - if (!event || typeof event !== 'object') { - return false - } +function hasDecodeAnchors(event: CapturerEvent): boolean { const programCounter = event?.lightweight?.programCounter if (typeof programCounter === 'number' && Number.isFinite(programCounter)) { return true @@ -1607,7 +1947,7 @@ function hasDecodeAnchors(event) { return Array.isArray(event.fastFrames) && event.fastFrames.length > 0 } -function collectNonEmptyEventLines(event) { +function collectNonEmptyEventLines(event: CapturerEvent): string[] { if (!Array.isArray(event?.lines)) { return [] } @@ -1616,7 +1956,11 @@ function collectNonEmptyEventLines(event) { ) } -function upsertEventSummary(cache, event, runtime) { +function upsertEventSummary( + cache: Map, + event: CapturerEvent, + runtime?: CapturerRuntime +): CapturerEventSummary { const next = toEventSummary(event, runtime) const previous = cache.get(event.signature) if (!previous) { @@ -1637,18 +1981,23 @@ function upsertEventSummary(cache, event, runtime) { cache.set(event.signature, previous) return previous } -function loadPersistedConfigs(values) { +function loadPersistedConfigs(values: unknown[]): CapturerConfig[] { return values .map((raw) => validateCapturerConfig(typeof raw === 'object' && raw !== null ? raw : {}) ) - .filter((result) => result.ok) + .filter( + ( + result + ): result is Extract => + result.ok + ) .map(({ value }) => ({ id: buildCapturerId(value), ...value, })) } -function splitReplaySegments(rawText) { +function splitReplaySegments(rawText: string): string[] { const normalized = rawText.replace(/\r\n/g, '\n') if (splitMarker.test(normalized)) { return normalized @@ -1658,7 +2007,10 @@ function splitReplaySegments(rawText) { } return [normalized] } -function isReadinessEqual(left, right) { +function isReadinessEqual( + left: CapturerReadiness, + right: CapturerReadiness +): boolean { return ( left.sketchExists === right.sketchExists && left.hasCompileSummary === right.hasCompileSummary && @@ -1673,7 +2025,10 @@ function isReadinessEqual(left, right) { left.workspaceRelativeSketchPath === right.workspaceRelativeSketchPath ) } -function arePortsEqualOrUndefined(left, right) { +function arePortsEqualOrUndefined( + left: CapturerReadiness['selectedPort'], + right: CapturerReadiness['selectedPort'] +): boolean { if (!left && !right) { return true } @@ -1682,7 +2037,10 @@ function arePortsEqualOrUndefined(left, right) { } return arePortsEqual(left, right) } -function isBuildOptionsEqual(left, right) { +function isBuildOptionsEqual( + left: CompileBuildOptionsInfo | undefined, + right: CompileBuildOptionsInfo | undefined +): boolean { if (!left && !right) { return true } @@ -1700,7 +2058,10 @@ function isBuildOptionsEqual(left, right) { areStringArraysEqual(left.flags, right.flags) ) } -function isElfIdentityEqual(left, right) { +function isElfIdentityEqual( + left: ElfIdentity | undefined, + right: ElfIdentity | undefined +): boolean { if (!left && !right) { return true } @@ -1715,7 +2076,7 @@ function isElfIdentityEqual(left, right) { left.sessionId === right.sessionId ) } -function areStringArraysEqual(left, right) { +function areStringArraysEqual(left: string[], right: string[]): boolean { if (left.length !== right.length) { return false } @@ -1726,19 +2087,23 @@ function areStringArraysEqual(left, right) { } return true } -function chunkEndsWithLineBreak(chunk) { +function chunkEndsWithLineBreak(chunk: Uint8Array): boolean { if (chunk.length === 0) { return false } const last = chunk[chunk.length - 1] return last === 0x0a || last === 0x0d } -function resetTransferMetrics(runtime) { +function resetTransferMetrics(runtime: TransferRuntime): void { runtime.processedBytes = 0 runtime.processedFirstAt = undefined runtime.processedLastAt = undefined } -function recordTransfer(runtime, byteLength, atMs) { +function recordTransfer( + runtime: TransferRuntime, + byteLength: number, + atMs: number +): void { if (byteLength <= 0) { return } @@ -1748,7 +2113,10 @@ function recordTransfer(runtime, byteLength, atMs) { } runtime.processedLastAt = atMs } -function withConfiguredFqbn(sketch, fqbn) { +function withConfiguredFqbn( + sketch: DecodeSketchLike, + fqbn: string +): DecodeSketchLike { if (!sketch.board || typeof sketch.board !== 'object') { return sketch } @@ -1760,13 +2128,16 @@ function withConfiguredFqbn(sketch, fqbn) { }, } } -function toFrameUri(filePath, sketchPath) { +function toFrameUri(filePath: string, sketchPath: string): vscode.Uri { if (classifyDecodedSource(filePath, sketchPath) === 'library') { - return (0, toReadonlyLibraryUri)(filePath) + return toReadonlyLibraryUri(filePath) } return vscode.Uri.file(filePath) } -function classifyDecodedSource(filePath, sketchPath) { +function classifyDecodedSource( + filePath: string | undefined, + sketchPath: string | undefined +): 'sketch' | 'library' | 'missing' { if (!filePath || !filePath.trim()) { return 'missing' } @@ -1775,8 +2146,8 @@ function classifyDecodedSource(filePath, sketchPath) { } return isPathInside(sketchPath, filePath) ? 'sketch' : 'library' } -function isPathInside(parentPath, candidatePath) { - const normalize = (value) => +function isPathInside(parentPath: string, candidatePath: string): boolean { + const normalize = (value: string): string => process.platform === 'win32' ? path.resolve(value).toLowerCase() : path.resolve(value) @@ -1788,7 +2159,7 @@ function isPathInside(parentPath, candidatePath) { (!relative.startsWith('..') && !path.isAbsolute(relative)) ) } -function workspaceRelativeSketchPath(sketchPath) { +function workspaceRelativeSketchPath(sketchPath: string): string | undefined { const workspaceFolder = vscode.workspace.workspaceFolders?.find((folder) => { const relative = path.relative(folder.uri.fsPath, sketchPath) return !relative.startsWith('..') && !path.isAbsolute(relative) @@ -1799,7 +2170,9 @@ function workspaceRelativeSketchPath(sketchPath) { return path.relative(workspaceFolder.uri.fsPath, sketchPath) } -function countActiveCaptureSessions(runtimes) { +function countActiveCaptureSessions( + runtimes: Iterable +): number { let count = 0 for (const runtime of runtimes) { if (runtime.monitor && runtime.monitorState !== 'disconnected') { @@ -1809,7 +2182,9 @@ function countActiveCaptureSessions(runtimes) { return count } -function toCapturerViewBadge(activeSessionCount) { +function toCapturerViewBadge( + activeSessionCount: number +): vscode.ViewBadge | undefined { if (activeSessionCount <= 0) { return undefined } @@ -1819,7 +2194,7 @@ function toCapturerViewBadge(activeSessionCount) { } } -function toCapturerViewBadgeTooltip(activeSessionCount) { +function toCapturerViewBadgeTooltip(activeSessionCount: number): string { const noun = activeSessionCount === 1 ? 'session' : 'sessions' return `${activeSessionCount} active crash capture ${noun}` } @@ -1838,6 +2213,8 @@ export const __tests = { isRecord, resolveSketchBoardName, toEventSummary, + toDraftFromSketch, + resolveConfiguredFqbn, shouldIgnoreCapturerEvent, resolveElfIdentity, upsertEventSummary, diff --git a/src/capturer/markdown.ts b/src/capturer/markdown.ts index 5211f26..bea5a8a 100644 --- a/src/capturer/markdown.ts +++ b/src/capturer/markdown.ts @@ -11,9 +11,6 @@ import { import vscode from 'vscode' import { - capturerCompileSketchCommandId, - capturerCompileSketchDebugCommandId, - capturerCopyToClipboardCommandId, statusCapturing, statusDisconnected, statusError, @@ -27,7 +24,11 @@ import { statusWarning, } from './constants' import type { CapturerEventSummary, CapturerRuntime } from './model' -import { collectRuntimeProblems, getRuntimeStatus } from './runtimeModel' +import { + collectRuntimeProblems, + getRuntimeStatus, + hasRuntimeQuickFix, +} from './runtimeModel' interface EventReportMarkdownOptions { headingLevel?: number @@ -138,115 +139,49 @@ export function toRootTreeItemMarkdown( runtime: CapturerRuntime ): vscode.MarkdownString { const md = new vscode.MarkdownString(undefined, true) - md.isTrusted = { - enabledCommands: [ - capturerCompileSketchCommandId, - capturerCompileSketchDebugCommandId, - capturerCopyToClipboardCommandId, - ], - } - const sketchName = path.basename(runtime.config.sketchPath) const status = getRuntimeStatus(runtime) - const portLabel = runtime.config.port.address - const portInline = toInlineCode(portLabel) - const fqbnInline = toInlineCode(runtime.config.fqbn) - const fqbnLabel = runtime.readiness.boardName - ? `${markdownEscape(runtime.readiness.boardName)} (${fqbnInline})` - : fqbnInline - const sketchNameInline = toInlineCode(sketchName) - const sketchFolderInline = toInlineCode(runtime.config.sketchPath) const statusIcon = toStatusCodicon(status) - const compileOptions = runtime.readiness.buildOptions const problems = collectRuntimeProblems(runtime) - const rootNodeArg = [ - { - type: 'root', - configId: runtime.config.id, - } as const, - ] - const needsCompileQuickFixes = - !runtime.readiness.hasCompileSummary || !runtime.readiness.elfPath - const fqbnCopyLink = ` [$(copy)](${toCommandUri( - capturerCopyToClipboardCommandId, - [runtime.config.fqbn] - )} "Copy FQBN to clipboard")` - const sketchFolderCopyLink = ` [$(copy)](${toCommandUri( - capturerCopyToClipboardCommandId, - [runtime.config.sketchPath] - )} "Copy sketch folder to clipboard")` md.appendMarkdown( - `${statusIcon} ${portInline} (${markdownEscape(status)}):\n` + `${statusIcon} ${toInlineCode(runtime.config.port.address)} (${markdownEscape(status)}):\n` ) - md.appendMarkdown(`- Sketch: ${sketchNameInline}\n`) - md.appendMarkdown(`- FQBN: ${fqbnLabel}${fqbnCopyLink}\n`) md.appendMarkdown( - `- Sketch Folder: ${sketchFolderInline}${sketchFolderCopyLink}\n` + `- Capturer Board: ${toBoardLabel( + runtime.readiness.boardName, + runtime.config.fqbn + )}\n` + ) + md.appendMarkdown( + `- Sketch Board: ${toBoardLabel( + runtime.readiness.selectedBoardName, + runtime.readiness.selectedBoardFqbn + )}\n` ) - md.appendMarkdown('\n') - - md.appendMarkdown('Compile Details:\n') - if (!runtime.readiness.hasCompileSummary) { - md.appendMarkdown('- ELF: not available\n') - } else if (!runtime.readiness.elfPath) { - md.appendMarkdown('- ELF: not found\n') - } else { - md.appendMarkdown(`- ELF: ${toInlineCode(runtime.readiness.elfPath)} `) - md.appendMarkdown( - `[$(copy)](${toCommandUri(capturerCopyToClipboardCommandId, [ - runtime.readiness.elfPath, - ])} "Copy ELF path to clipboard")\n` - ) - } - if (runtime.elfIdentity) { - md.appendMarkdown( - `- ELF SHA256: ${toInlineCode(runtime.elfIdentity.sha256Short)}\n` - ) - md.appendMarkdown( - `- ELF Modified: ${toInlineCode( - formatLocalTimestamp(runtime.elfIdentity.mtimeMs) - )}\n` - ) - } - if (compileOptions?.fqbn) { - md.appendMarkdown( - `- Build FQBN: ${toInlineCode(compileOptions.fqbn)} [$(copy)](${toCommandUri( - capturerCopyToClipboardCommandId, - [compileOptions.fqbn] - )} "Copy build FQBN to clipboard")\n` - ) - } - if (compileOptions?.optimizationFlags) { - md.appendMarkdown( - `- Optimization Flags: ${toInlineCode(compileOptions.optimizationFlags)}\n` - ) - } if (problems.length > 0) { md.appendMarkdown('\nProblems:\n') - for (const problem of problems) { + const visibleProblems = problems.slice(0, 3) + for (const problem of visibleProblems) { const icon = problem.severity === 'error' ? '$(error)' : '$(warning)' md.appendMarkdown(`- ${icon} ${markdownEscape(problem.message)}\n`) } + if (problems.length > visibleProblems.length) { + md.appendMarkdown( + `- $(info) ${problems.length - visibleProblems.length} more issue(s)\n` + ) + } + if (hasRuntimeQuickFix(runtime, problems)) { + md.appendMarkdown( + '\n_Use $(light-bulb) `Quick Fixes...` from the view item menu to resolve issues._\n' + ) + } } - if (needsCompileQuickFixes) { - md.appendMarkdown('\nQuick Fixes:\n') - md.appendMarkdown( - `- [$(inspect) Compile Sketch with Debug Symbols](${toCommandUri( - capturerCompileSketchDebugCommandId, - rootNodeArg - )} "Compile sketch with debug symbols") (Recommended)\n` - ) - md.appendMarkdown( - `- [$(check) Compile Sketch](${toCommandUri( - capturerCompileSketchCommandId, - rootNodeArg - )} "Compile sketch")\n` - ) - } - + md.appendMarkdown( + '\n_Full build metadata is available in crash event preview and capturer state dump._\n' + ) md.appendMarkdown('\n----\n') md.appendMarkdown(`_Hold ${mouseOverModifierLabel()} key to mouse over_\n`) @@ -364,13 +299,16 @@ function appendEventReportMarkdown( const includeRuntimeSection = options.includeRuntimeSection ?? true const includePayloadSections = options.includePayloadSections ?? true const compact = options.compact ?? false - const compileOptions = runtime.readiness.buildOptions const errorSummary = toSingleLine(event.reason) ?? event.reason.trim() - const boardName = - runtime.readiness.boardName ?? runtime.readiness.selectedBoardName - const boardLabel = boardName - ? `${markdownEscape(boardName)} (${toInlineCode(runtime.config.fqbn)})` - : toInlineCode(runtime.config.fqbn) + const compileOptions = runtime.readiness.buildOptions + const capturerBoardLabel = toBoardLabel( + runtime.readiness.boardName, + runtime.config.fqbn + ) + const sketchBoardLabel = toBoardLabel( + runtime.readiness.selectedBoardName, + runtime.readiness.selectedBoardFqbn + ) const decodedException = resolveDecodedExceptionSummary(event) const decodedLocation = resolveDecodedLocationSummary(event.decodedResult) @@ -403,7 +341,8 @@ function appendEventReportMarkdown( lines.push('') lines.push('#### Build Context') - lines.push(`- Board: ${boardLabel}`) + lines.push(`- Capturer Board: ${capturerBoardLabel}`) + lines.push(`- Sketch Board: ${sketchBoardLabel}`) lines.push( `- Sketch: ${toInlineCode(path.basename(runtime.config.sketchPath))}` ) @@ -610,16 +549,23 @@ function toStatusCodicon(status: string): string { } } -function toCommandUri(command: string, args: unknown[] = []): string { - return `command:${command}?${encodeURIComponent(JSON.stringify(args))}` -} - function toInlineCode(value: unknown): string { const normalized = normalizeInlineCodeValue(value) const escaped = normalized.replace(/\\/g, '\\\\').replace(/`/g, '\\`') return `\`${escaped}\`` } +function toBoardLabel( + name: string | undefined, + fqbn: string | undefined +): string { + if (!fqbn) { + return '_not available_' + } + const fqbnInline = toInlineCode(fqbn) + return name ? `${markdownEscape(name)} (${fqbnInline})` : fqbnInline +} + function normalizeInlineCodeValue(value: unknown): string { if (typeof value === 'string') { return value diff --git a/src/capturer/runtimeModel.ts b/src/capturer/runtimeModel.ts index abc8797..4c7be3b 100644 --- a/src/capturer/runtimeModel.ts +++ b/src/capturer/runtimeModel.ts @@ -117,8 +117,19 @@ export function resolveRootDescription(runtime: RuntimeLike): string { if (problems.some((problem) => problem.code === 'not-compiled')) { return 'Not compiled' } - if (problems.some((problem) => problem.code.startsWith('fqbn-mismatch'))) { - return 'FQBN mismatch' + if ( + problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-engine' + ) + ) { + return 'Sketch FQBN mismatch' + } + if ( + problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-build' + ) + ) { + return 'Build FQBN mismatch' } return problems[0].message } @@ -133,30 +144,95 @@ export function resolveRootDescription(runtime: RuntimeLike): string { export function toRootLabel(runtime: RuntimeLike): string { const sketchName = path.basename(runtime.config.sketchPath) - const boardName = - runtime.readiness.boardName ?? runtime.readiness.selectedBoardName - if (!boardName) { + const boardLabel = + runtime.readiness.boardName ?? + // TODO: add new extension API to lookup the board via FQBN + resolveCapturerBoardId(runtime.config.fqbn) + if (!boardLabel) { return `${runtime.config.port.address} · ${sketchName}` } - return `${runtime.config.port.address} · ${sketchName} · ${boardName}` + return `${runtime.config.port.address} · ${sketchName} · ${boardLabel}` } export function rootContextValue(runtime: RuntimeLike): string { const hasEvents = runtime.eventsBySignature.size > 0 + const problems = collectRuntimeProblems(runtime) + const quickFixKind = resolveRuntimeQuickFixKind(runtime, problems) if (runtime.monitor && runtime.monitorState !== 'disconnected') { + if (quickFixKind === 'sync-sketch-fqbn') { + return hasEvents + ? 'espCapturerRootCapturingFixableSyncHasEvents' + : 'espCapturerRootCapturingFixableSync' + } + if (quickFixKind === 'compile') { + return hasEvents + ? 'espCapturerRootCapturingFixableCompileHasEvents' + : 'espCapturerRootCapturingFixableCompile' + } return hasEvents ? 'espCapturerRootCapturingHasEvents' : 'espCapturerRootCapturing' } - const problems = collectRuntimeProblems(runtime) if (isReadyToRecord(runtime, problems)) { return hasEvents ? 'espCapturerRootReadyHasEvents' : 'espCapturerRootReady' } + if (quickFixKind === 'sync-sketch-fqbn') { + return hasEvents + ? 'espCapturerRootStoppedFixableSyncHasEvents' + : 'espCapturerRootStoppedFixableSync' + } + if (quickFixKind === 'compile') { + return hasEvents + ? 'espCapturerRootStoppedFixableCompileHasEvents' + : 'espCapturerRootStoppedFixableCompile' + } return hasEvents ? 'espCapturerRootStoppedHasEvents' : 'espCapturerRootStopped' } +export function hasRuntimeQuickFix( + runtime: RuntimeLike, + problems: RuntimeProblem[] = collectRuntimeProblems(runtime) +): boolean { + return Boolean(resolveRuntimeQuickFixKind(runtime, problems)) +} + +function resolveRuntimeQuickFixKind( + runtime: RuntimeLike, + problems: RuntimeProblem[] = collectRuntimeProblems(runtime) +): 'sync-sketch-fqbn' | 'compile' | undefined { + const hasSketchFqbnMismatch = problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-engine' + ) + if (hasSketchFqbnMismatch) { + return 'sync-sketch-fqbn' + } + const hasBuildFqbnMismatch = problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-build' + ) + return !runtime.readiness.hasCompileSummary || + !runtime.readiness.elfPath || + hasBuildFqbnMismatch + ? 'compile' + : undefined +} + +function resolveCapturerBoardId(fqbnValue: string): string | undefined { + const sanitized = sanitizeFqbn(fqbnValue) + if (!sanitized) { + return undefined + } + try { + const fqbn = new FQBN(sanitized) + return typeof fqbn.boardId === 'string' && fqbn.boardId.length > 0 + ? fqbn.boardId + : undefined + } catch { + return undefined + } +} + export function eventContextValue( summary: EventSummaryLike | undefined ): string { @@ -237,14 +313,14 @@ export function collectRuntimeProblems(runtime: RuntimeLike): RuntimeProblem[] { problems.push({ severity: 'warning', code: 'fqbn-mismatch-selected-engine', - message: 'Selected FQBN differs from configured FQBN', + message: 'Selected sketch FQBN differs from capturer FQBN', }) } if (isSelectedFqbnDifferentFromBuild(runtime)) { problems.push({ severity: 'warning', code: 'fqbn-mismatch-selected-build', - message: 'Selected FQBN differs from build FQBN', + message: 'Build FQBN differs from capturer FQBN', }) } @@ -298,13 +374,13 @@ function isSelectedFqbnDifferentFromEngine(runtime: RuntimeLike): boolean { } function isSelectedFqbnDifferentFromBuild(runtime: RuntimeLike): boolean { - const selectedFqbn = runtime.readiness.selectedBoardFqbn - if (!selectedFqbn) { + const engineFqbn = sanitizeFqbn(runtime.config.fqbn) + if (!engineFqbn) { return false } const buildFqbn = sanitizeFqbn(runtime.readiness.buildOptions?.fqbn ?? '') if (!buildFqbn) { return false } - return selectedFqbn !== buildFqbn + return engineFqbn !== buildFqbn } diff --git a/src/test/suite/capturer.test.ts b/src/test/suite/capturer.test.ts index 0ae7fd6..71114e8 100644 --- a/src/test/suite/capturer.test.ts +++ b/src/test/suite/capturer.test.ts @@ -129,6 +129,17 @@ describe('capturer', () => { }) assert.strictEqual(valid.ok, true) assert.strictEqual(valid.ok && valid.value.fqbn, 'esp32:esp32:esp32c3') + + const validWithOptions = __tests.validateCapturerConfig({ + port: { protocol: 'serial', address: '/dev/mock0' }, + fqbn: 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app', + sketchPath: '/tmp/sketch-a', + }) + assert.strictEqual(validWithOptions.ok, true) + assert.strictEqual( + validWithOptions.ok && validWithOptions.value.fqbn, + 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app' + ) }) it('covers config/runtime helper utilities', () => { @@ -171,6 +182,26 @@ describe('capturer', () => { ), undefined ) + assert.strictEqual( + __tests.resolveConfiguredFqbn({ + configOptions: 'CPUFreq=240,PartitionScheme=huge_app', + board: { fqbn: 'esp32:esp32:esp32da' }, + }), + 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app' + ) + assert.deepStrictEqual( + __tests.toDraftFromSketch({ + sketchPath: '/tmp/sketch-with-options', + configOptions: 'CPUFreq=240,PartitionScheme=huge_app', + board: { fqbn: 'esp32:esp32:esp32da' }, + port: { protocol: 'serial', address: '/dev/ttyUSB0' }, + }), + { + sketchPath: '/tmp/sketch-with-options', + fqbn: 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app', + port: { protocol: 'serial', address: '/dev/ttyUSB0' }, + } + ) }) it('covers transfer/readiness/source helpers', () => { @@ -595,7 +626,8 @@ describe('capturer', () => { assert.ok(firstEventItem.tooltip instanceof vscode.MarkdownString) const firstEventTooltip = firstEventItem.tooltip.value assert.ok(firstEventTooltip.includes('- Error:')) - assert.ok(firstEventTooltip.includes('- Board:')) + assert.ok(firstEventTooltip.includes('- Capturer Board:')) + assert.ok(firstEventTooltip.includes('- Sketch Board:')) assert.ok(firstEventTooltip.includes('- ELF Path:')) assert.ok(firstEventTooltip.includes('#### Crash Summary')) assert.ok(firstEventTooltip.includes('#### Build Context')) @@ -608,7 +640,7 @@ describe('capturer', () => { } }) - it('shows problems and compile actions when sketch is not compiled', async () => { + it('shows problems when sketch is not compiled', async () => { const sketchPath = await mkdtempInSystemTmp('capturer-not-compiled-') const context = { workspaceState: new TestMemento(), @@ -642,9 +674,7 @@ describe('capturer', () => { assert.ok( markdown.includes('Compile summary is not available for the sketch') ) - assert.ok(markdown.includes('Quick Fixes:')) - assert.ok(markdown.includes('$(check) Compile Sketch')) - assert.ok(markdown.includes('$(inspect) Compile Sketch with Debug Symbols')) + assert.ok(!markdown.includes('Quick Fixes:')) manager.dispose() }) @@ -674,7 +704,7 @@ describe('capturer', () => { configId: config.id, } const item = manager.getTreeItem(root) - assert.strictEqual(item.description, 'FQBN mismatch') + assert.strictEqual(item.description, 'Sketch FQBN mismatch') assert.ok(item.iconPath instanceof vscode.ThemeIcon) assert.strictEqual(item.iconPath.id, 'warning') manager.dispose() @@ -852,27 +882,22 @@ function createBoardLabArduinoContext( openedSketches: [sketchFolder], }) const boardLab = base as ArduinoContextWithBoardLab - if (typeof options.detectedPort === 'boolean') { - const detectedPorts = options.detectedPort - ? ({ + const detectedPorts = + options.detectedPort === false + ? ({} as BoardLabContextExt['boardsListWatcher']['detectedPorts']) + : ({ mock: { port: { protocol: 'serial', address: portAddress }, }, - } as unknown as NonNullable< - BoardLabContextExt['boardsListWatcher'] - >['detectedPorts']) - : ({} as NonNullable< - BoardLabContextExt['boardsListWatcher'] - >['detectedPorts']) - const detectedPortsEmitter = new vscode.EventEmitter() - ;( - boardLab as unknown as { - boardsListWatcher?: BoardLabContextExt['boardsListWatcher'] - } - ).boardsListWatcher = { - detectedPorts, - onDidChangeDetectedPorts: detectedPortsEmitter.event, + } as unknown as BoardLabContextExt['boardsListWatcher']['detectedPorts']) + const detectedPortsEmitter = new vscode.EventEmitter() + ;( + boardLab as unknown as { + boardsListWatcher: BoardLabContextExt['boardsListWatcher'] } + ).boardsListWatcher = { + detectedPorts, + onDidChangeDetectedPorts: detectedPortsEmitter.event, } boardLab.createMonitorClient = async (port) => { if (createMonitorClient) { @@ -884,6 +909,41 @@ function createBoardLabArduinoContext( _port: { protocol: string; address: string }, run: (options?: { retry?: number }) => Promise ): Promise => run() + boardLab.pickSketch = async () => sketchFolder + boardLab.selectSketch = async () => sketchFolder + boardLab.pickBoard = async () => sketchFolder.board + boardLab.selectBoard = async (_currentSketchOrOptions, pickOptions) => { + const selection = sketchFolder.board + if ( + pickOptions?.filters && + Array.isArray(pickOptions.filters) && + selection && + 'fqbn' in selection + ) { + for (const filter of pickOptions.filters) { + const isVisible = await filter({ + board: selection, + selection, + } as never) + if (!isVisible) { + return undefined + } + } + } + return selection + } + boardLab.setBoardByFqbn = async (fqbn) => { + const targetFqbn = typeof fqbn === 'string' ? fqbn : fqbn.toString() + const updatedBoard = mockBoardDetails(targetFqbn) + ;( + sketchFolder as unknown as { + board: ReturnType + } + ).board = updatedBoard + return updatedBoard + } + boardLab.pickPort = async () => sketchFolder.port + boardLab.selectPort = async () => sketchFolder.port return boardLab } diff --git a/src/test/suite/capturerCreationFlow.test.ts b/src/test/suite/capturerCreationFlow.test.ts new file mode 100644 index 0000000..e7d6850 --- /dev/null +++ b/src/test/suite/capturerCreationFlow.test.ts @@ -0,0 +1,441 @@ +import assert from 'node:assert/strict' +import path from 'node:path' + +import type { BoardLabContextExt } from '../../boardLabExt' +import { + isSupportedCapturerArch, + isSupportedCapturerFqbn, + modeNeedsBoardSelection, + modeNeedsPortSelection, + resolveConfiguredFqbn, + resolveSketchPath, + resolveSketchTargetWithBoardLab, + toDraftFromSketch, + toPortIdentifier, + toSketchTargetSelectionModeItems, +} from '../../boardLabTarget' + +describe('boardLabTarget', () => { + it('resolves sketch path from sketchPath and uri', () => { + assert.strictEqual( + resolveSketchPath({ sketchPath: 'workspace/sketch-a' }), + path.resolve('workspace/sketch-a') + ) + assert.strictEqual( + resolveSketchPath({ uri: { fsPath: 'workspace/sketch-b' } }), + path.resolve('workspace/sketch-b') + ) + assert.strictEqual(resolveSketchPath({}), undefined) + }) + + it('resolves configured fqbn from board fqbn + config options', () => { + assert.strictEqual( + resolveConfiguredFqbn({ + configOptions: 'CPUFreq=240', + board: { fqbn: 'esp32:esp32:esp32da' }, + }), + 'esp32:esp32:esp32da:CPUFreq=240' + ) + assert.strictEqual( + resolveConfiguredFqbn({ + board: { fqbn: 'esp32:esp32:esp32c3' }, + }), + 'esp32:esp32:esp32c3' + ) + assert.strictEqual( + resolveConfiguredFqbn({ + fqbn: 'esp8266:esp8266:nodemcuv2', + }), + 'esp8266:esp8266:nodemcuv2' + ) + assert.strictEqual( + resolveConfiguredFqbn({ + configOptions: 'esp32:esp32:esp32da:CPUFreq=240', + }), + 'esp32:esp32:esp32da:CPUFreq=240' + ) + assert.strictEqual( + resolveConfiguredFqbn({ + configOptions: 'CPUFreq=240', + }), + undefined + ) + assert.strictEqual( + resolveConfiguredFqbn({ configOptions: ' ' }), + undefined + ) + }) + + it('normalizes direct and nested port identifiers', () => { + assert.deepStrictEqual( + toPortIdentifier({ protocol: 'serial', address: '/dev/ttyUSB0' }), + { protocol: 'serial', address: '/dev/ttyUSB0' } + ) + assert.deepStrictEqual( + toPortIdentifier({ + port: { protocol: 'network', address: '192.168.1.3:23' }, + }), + { protocol: 'network', address: '192.168.1.3:23' } + ) + assert.strictEqual(toPortIdentifier({ protocol: 'serial' }), undefined) + }) + + it('builds capturer draft from sketch state when complete', () => { + const draft = toDraftFromSketch({ + sketchPath: 'workspace/sketch-with-target', + configOptions: 'CPUFreq=240,PartitionScheme=huge_app', + board: { fqbn: 'esp32:esp32:esp32da' }, + port: { protocol: 'serial', address: '/dev/ttyUSB0' }, + }) + + assert.deepStrictEqual(draft, { + sketchPath: path.resolve('workspace/sketch-with-target'), + fqbn: 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app', + port: { protocol: 'serial', address: '/dev/ttyUSB0' }, + }) + assert.strictEqual( + toDraftFromSketch({ + sketchPath: 'workspace/sketch-without-port', + board: { fqbn: 'esp32:esp32:esp32c3' }, + }), + undefined + ) + }) + + it('returns creation modes based on available board/port', () => { + const toModes = (value: unknown) => + toSketchTargetSelectionModeItems(value).map((item) => item.mode) + + assert.deepStrictEqual( + toModes({ + board: { fqbn: 'esp32:esp32:esp32c3' }, + port: { protocol: 'serial', address: '/dev/mock0' }, + }), + ['use-sketch-target', 'select-board', 'select-port', 'select-both'] + ) + assert.deepStrictEqual( + toModes({ + board: { fqbn: 'esp32:esp32:esp32c3' }, + }), + ['use-board-select-port', 'select-board-select-port'] + ) + assert.deepStrictEqual( + toModes({ + port: { protocol: 'serial', address: '/dev/mock0' }, + }), + ['use-port-select-board', 'select-board-select-port'] + ) + assert.deepStrictEqual( + toModes({ + board: { fqbn: 'arduino:avr:uno' }, + port: { protocol: 'serial', address: '/dev/mock0' }, + }), + ['use-port-select-board', 'select-board-select-port'] + ) + assert.deepStrictEqual(toModes({}), ['select-both']) + }) + + it('maps mode to required board and port selections', () => { + const matrix = [ + { + mode: 'use-sketch-target', + needsBoard: false, + needsPort: false, + }, + { + mode: 'select-board', + needsBoard: true, + needsPort: false, + }, + { + mode: 'select-port', + needsBoard: false, + needsPort: true, + }, + { + mode: 'select-both', + needsBoard: true, + needsPort: true, + }, + { + mode: 'use-board-select-port', + needsBoard: false, + needsPort: true, + }, + { + mode: 'use-port-select-board', + needsBoard: true, + needsPort: false, + }, + { + mode: 'select-board-select-port', + needsBoard: true, + needsPort: true, + }, + ] as const + + for (const entry of matrix) { + assert.strictEqual(modeNeedsBoardSelection(entry.mode), entry.needsBoard) + assert.strictEqual(modeNeedsPortSelection(entry.mode), entry.needsPort) + } + }) + + it('resolves sketch target from boardlab selections with select->pick fallback', async () => { + const calls: string[] = [] + const boardLab = { + pickSketch: async () => { + calls.push('pickSketch') + return { + sketchPath: 'workspace/sketch-fallback', + } + }, + selectBoard: async () => { + calls.push('selectBoard') + return undefined + }, + pickBoard: async () => { + calls.push('pickBoard') + return { fqbn: 'esp32:esp32:esp32da' } + }, + selectPort: async () => { + calls.push('selectPort') + return undefined + }, + pickPort: async () => { + calls.push('pickPort') + return { protocol: 'serial', address: '/dev/ttyUSB-fallback' } + }, + } as unknown as Pick< + BoardLabContextExt, + 'pickSketch' | 'selectBoard' | 'pickBoard' | 'selectPort' | 'pickPort' + > + const draft = await resolveSketchTargetWithBoardLab({ + boardLab, + openedSketches: [ + { + sketchPath: 'workspace/sketch-fallback', + }, + ], + pickMode: async () => undefined, + }) + + assert.deepStrictEqual(draft, { + sketchPath: path.resolve('workspace/sketch-fallback'), + fqbn: 'esp32:esp32:esp32da', + port: { protocol: 'serial', address: '/dev/ttyUSB-fallback' }, + }) + assert.deepStrictEqual(calls, [ + 'pickSketch', + 'selectBoard', + 'pickBoard', + 'selectPort', + 'pickPort', + ]) + }) + + it('uses refreshed opened sketch values when select commands update sketch state', async () => { + const openedSketch = { + sketchPath: path.resolve('workspace/sketch-updated'), + configOptions: undefined, + board: undefined, + port: undefined, + } as { + sketchPath: string + configOptions?: string + board?: { fqbn: string } + port?: { protocol: string; address: string } + } + const calls: string[] = [] + const boardLab = { + pickSketch: async () => { + calls.push('pickSketch') + return { + sketchPath: 'workspace/sketch-updated', + } + }, + selectBoard: async () => { + calls.push('selectBoard') + openedSketch.configOptions = 'CPUFreq=240,PartitionScheme=huge_app' + openedSketch.board = { fqbn: 'esp32:esp32:esp32da' } + return { + board: { fqbn: 'esp32:esp32:esp32da' }, + } + }, + pickBoard: async () => { + calls.push('pickBoard') + return undefined + }, + selectPort: async () => { + calls.push('selectPort') + openedSketch.port = { + protocol: 'serial', + address: '/dev/ttyUSB-updated', + } + return { + port: openedSketch.port, + } + }, + pickPort: async () => { + calls.push('pickPort') + return undefined + }, + } as unknown as Pick< + BoardLabContextExt, + 'pickSketch' | 'selectBoard' | 'pickBoard' | 'selectPort' | 'pickPort' + > + const draft = await resolveSketchTargetWithBoardLab({ + boardLab, + openedSketches: [openedSketch], + pickMode: async () => undefined, + }) + + assert.deepStrictEqual(draft, { + sketchPath: path.resolve('workspace/sketch-updated'), + fqbn: 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app', + port: { protocol: 'serial', address: '/dev/ttyUSB-updated' }, + }) + assert.deepStrictEqual(calls, ['pickSketch', 'selectBoard', 'selectPort']) + }) + + it('reports error when picked sketch path cannot be resolved', async () => { + const errors: string[] = [] + const boardLab = { + pickSketch: async () => ({}), + selectBoard: async () => undefined, + pickBoard: async () => undefined, + selectPort: async () => undefined, + pickPort: async () => undefined, + } as unknown as Pick< + BoardLabContextExt, + 'pickSketch' | 'selectBoard' | 'pickBoard' | 'selectPort' | 'pickPort' + > + const draft = await resolveSketchTargetWithBoardLab({ + boardLab, + openedSketches: [], + pickMode: async () => undefined, + onError: (message) => errors.push(message), + }) + + assert.strictEqual(draft, undefined) + assert.deepStrictEqual(errors, [ + 'Could not resolve the sketch path for target selection.', + ]) + }) + + it('passes board filters and rejects unsupported board architectures', async () => { + const errors: string[] = [] + const calls: string[] = [] + const boardLab = { + pickSketch: async () => { + calls.push('pickSketch') + return { + sketchPath: 'workspace/sketch-unsupported-board', + } + }, + selectBoard: async (_sketch: unknown, boardOptions?: unknown) => { + calls.push('selectBoard') + const options = boardOptions as { + filters?: Array<(candidate: unknown) => boolean | Promise> + } + assert.ok(Array.isArray(options.filters)) + const filter = options.filters?.[0] + assert.strictEqual(typeof filter, 'function') + const allowed = await filter?.({ + board: { fqbn: 'arduino:avr:uno' }, + selection: { fqbn: 'arduino:avr:uno' }, + }) + assert.strictEqual(allowed, false) + return { fqbn: 'arduino:avr:uno' } + }, + pickBoard: async () => { + calls.push('pickBoard') + return undefined + }, + selectPort: async () => { + calls.push('selectPort') + return { protocol: 'serial', address: '/dev/never-used' } + }, + pickPort: async () => { + calls.push('pickPort') + return undefined + }, + } as unknown as Pick< + BoardLabContextExt, + 'pickSketch' | 'selectBoard' | 'pickBoard' | 'selectPort' | 'pickPort' + > + const draft = await resolveSketchTargetWithBoardLab({ + boardLab, + openedSketches: [ + { + sketchPath: 'workspace/sketch-unsupported-board', + }, + ], + pickMode: async () => undefined, + onError: (message) => errors.push(message), + }) + + assert.strictEqual(isSupportedCapturerArch('esp32'), true) + assert.strictEqual(isSupportedCapturerArch('esp8266'), true) + assert.strictEqual(isSupportedCapturerArch('avr'), false) + assert.strictEqual(isSupportedCapturerFqbn('esp32:esp32:esp32'), true) + assert.strictEqual( + isSupportedCapturerFqbn('esp8266:esp8266:nodemcuv2'), + true + ) + assert.strictEqual(isSupportedCapturerFqbn('arduino:avr:uno'), false) + assert.strictEqual(draft, undefined) + assert.deepStrictEqual(calls, ['pickSketch', 'selectBoard']) + assert.deepStrictEqual(errors, [ + 'Only ESP32 and ESP8266 boards are supported for crash capture.', + ]) + }) + + it('treats unsupported sketch board as missing and guides to pick supported board', async () => { + const calls: string[] = [] + const draft = await resolveSketchTargetWithBoardLab({ + boardLab: { + pickSketch: async () => { + calls.push('pickSketch') + return { + sketchPath: 'workspace/sketch-avr', + } + }, + selectBoard: async () => { + calls.push('selectBoard') + return { fqbn: 'esp32:esp32:esp32da' } + }, + pickBoard: async () => { + calls.push('pickBoard') + return undefined + }, + selectPort: async () => { + calls.push('selectPort') + return undefined + }, + pickPort: async () => { + calls.push('pickPort') + return undefined + }, + } as unknown as Pick< + BoardLabContextExt, + 'pickSketch' | 'selectBoard' | 'pickBoard' | 'selectPort' | 'pickPort' + >, + openedSketches: [ + { + sketchPath: 'workspace/sketch-avr', + board: { fqbn: 'arduino:avr:uno' }, + port: { protocol: 'serial', address: '/dev/mock0' }, + configOptions: 'arduino:avr:uno', + }, + ], + pickMode: async (items) => items[0], + }) + + assert.deepStrictEqual(draft, { + sketchPath: path.resolve('workspace/sketch-avr'), + fqbn: 'esp32:esp32:esp32da', + port: { protocol: 'serial', address: '/dev/mock0' }, + }) + assert.deepStrictEqual(calls, ['pickSketch', 'selectBoard']) + }) +}) diff --git a/src/test/suite/markdown.test.ts b/src/test/suite/markdown.test.ts index 4ce7477..136be8d 100644 --- a/src/test/suite/markdown.test.ts +++ b/src/test/suite/markdown.test.ts @@ -137,7 +137,7 @@ function createEvent( } describe('markdown', () => { - it('renders root markdown with quick fixes when compile output is missing', () => { + it('renders root markdown with problems when compile output is missing', () => { const runtime = createRuntime( {}, { @@ -147,16 +147,37 @@ describe('markdown', () => { } ) const markdown = toRootTreeItemMarkdown(runtime).value - assert.equal(markdown.includes('Quick Fixes:'), true) - assert.equal(markdown.includes('Compile Sketch with Debug Symbols'), true) - assert.equal(markdown.includes('Compile Sketch'), true) + assert.equal(markdown.includes('Quick Fixes:'), false) assert.equal(markdown.includes('Problems:'), true) assert.equal(markdown.includes('No device found.'), true) + assert.equal( + markdown.includes( + 'Use $(light-bulb) `Quick Fixes...` from the view item menu to resolve issues.' + ), + true + ) }) - it('renders root markdown with compile details and status icons', () => { + it('renders compact root markdown with status and board comparison', () => { const ready = createRuntime() - assert.equal(toRootTreeItemMarkdown(ready).value.includes('$(pass)'), true) + const readyMarkdown = toRootTreeItemMarkdown(ready).value + assert.equal(readyMarkdown.includes('$(pass)'), true) + assert.equal(readyMarkdown.includes('- Capturer Board:'), true) + assert.equal(readyMarkdown.includes('- Sketch Board:'), true) + assert.equal( + readyMarkdown.includes( + 'Full build metadata is available in crash event preview and capturer state dump.' + ), + true + ) + assert.equal(readyMarkdown.includes('Compile Details:'), false) + assert.equal(readyMarkdown.includes('Optimization Flags'), false) + assert.equal(readyMarkdown.includes('ELF SHA256:'), false) + assert.equal(readyMarkdown.includes('- Sketch:'), false) + assert.equal( + readyMarkdown.includes('`/tmp/sketch/build/sketch.ino.elf`'), + false + ) const capturing = createRuntime({ monitor: {} as any, @@ -180,17 +201,91 @@ describe('markdown', () => { {}, { selectedBoardFqbn: 'esp32:esp32:esp32da' } ) + const warningMarkdown = toRootTreeItemMarkdown(warning).value + assert.equal(warningMarkdown.includes('$(warning)'), true) + assert.equal(warningMarkdown.includes('Quick Fixes:'), false) + assert.equal( + warningMarkdown.includes( + 'Use $(light-bulb) `Quick Fixes...` from the view item menu to resolve issues.' + ), + true + ) + assert.equal(readyMarkdown.includes('Quick Fixes:'), false) + assert.equal( + readyMarkdown.includes( + 'Use $(light-bulb) `Quick Fixes...` from the view item menu to resolve issues.' + ), + false + ) + + const withElfIdentity = createRuntime({ + elfIdentity: { + path: '/tmp/sketch/build/sketch.ino.elf', + size: 10, + mtimeMs: 2_000, + sha256: '95a6c833', + sha256Short: '95a6c833', + sessionId: 'session', + }, + }) + const withElfMarkdown = toRootTreeItemMarkdown(withElfIdentity).value + assert.equal(withElfMarkdown.includes('ELF SHA256:'), false) + assert.equal(withElfMarkdown.includes('ELF Modified:'), false) + + const withSketchConfigOptions = createRuntime( + {}, + { + selectedBoardFqbn: + 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app', + } + ) + const withSketchConfigMarkdown = toRootTreeItemMarkdown( + withSketchConfigOptions + ).value assert.equal( - toRootTreeItemMarkdown(warning).value.includes('$(warning)'), + withSketchConfigMarkdown.includes( + 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app' + ), true ) + + const withBothFqbnMismatches = createRuntime( + { + config: { + ...createRuntime().config, + fqbn: 'esp32:esp32:esp32da', + }, + }, + { + selectedBoardFqbn: 'esp32:esp32:esp32c3', + buildOptions: { + buildPath: '/tmp/sketch/build', + optionsPath: '/tmp/sketch/build/build.options.json', + fqbn: 'esp32:esp32:esp32c3', + optimizationFlags: '-Og -g3', + flags: [], + }, + } + ) + const bothMismatchMarkdown = toRootTreeItemMarkdown( + withBothFqbnMismatches + ).value + assert.equal(bothMismatchMarkdown.includes('Problems:'), true) assert.equal( - toRootTreeItemMarkdown(ready).value.includes('Optimization Flags'), + bothMismatchMarkdown.includes( + 'Selected sketch FQBN differs from capturer FQBN' + ), true ) assert.equal( - toRootTreeItemMarkdown(ready).value.includes('Quick Fixes:'), - false + bothMismatchMarkdown.includes('Build FQBN differs from capturer FQBN'), + true + ) + assert.equal( + bothMismatchMarkdown.includes( + 'Use $(light-bulb) `Quick Fixes...` from the view item menu to resolve issues.' + ), + true ) }) @@ -204,7 +299,16 @@ describe('markdown', () => { }) it('renders full event report markdown with payload and session details', () => { - const runtime = createRuntime() + const runtime = createRuntime({ + elfIdentity: { + path: '/tmp/sketch/build/sketch.ino.elf', + size: 10, + mtimeMs: 2_000, + sha256: '95a6c833', + sha256Short: '95a6c833', + sessionId: 'session', + }, + }) const summary = createEvent({ decodeError: 'decode fail' }) const markdown = toEventReportDocumentMarkdown(runtime, summary) assert.equal(markdown.includes('# ESP Crash Event Report'), true) @@ -212,6 +316,12 @@ describe('markdown', () => { assert.equal(markdown.includes('#### Decoded Stacktrace'), true) assert.equal(markdown.includes('Decode Error'), true) assert.equal(markdown.includes('Session Details'), true) + assert.equal(markdown.includes('Capturer Board'), true) + assert.equal(markdown.includes('Sketch Board'), true) + assert.equal(markdown.includes('Sketch Folder'), true) + assert.equal(markdown.includes('Build FQBN'), true) + assert.equal(markdown.includes('Optimization Flags'), true) + assert.equal(markdown.includes('ELF SHA256'), true) assert.equal(markdown.includes('Program Counter'), true) assert.equal(markdown.includes('``\\`raw``\\`'), true) }) diff --git a/src/test/suite/runtimeModel.test.ts b/src/test/suite/runtimeModel.test.ts index f046d2f..e9c4ac7 100644 --- a/src/test/suite/runtimeModel.test.ts +++ b/src/test/suite/runtimeModel.test.ts @@ -86,11 +86,16 @@ describe('runtimeModel', () => { assert.equal(getRuntimeStatus(runtime), 'Invalid FQBN') }) - it('returns warnings when selected fqbn differs from engine and build fqbn', () => { + it('returns warnings when sketch and build fqbn differ from capturer fqbn', () => { const runtime = createRuntime( - {}, { - selectedBoardFqbn: 'esp32:esp32:esp32da', + config: { + ...createRuntime().config, + fqbn: 'esp32:esp32:esp32da', + }, + }, + { + selectedBoardFqbn: 'esp32:esp32:esp32c3', buildOptions: { fqbn: 'esp32:esp32:esp32c3', }, @@ -110,7 +115,32 @@ describe('runtimeModel', () => { true ) assert.equal(getRuntimeStatus(runtime), 'Warning') - assert.equal(resolveRootDescription(runtime), 'FQBN mismatch') + assert.equal(resolveRootDescription(runtime), 'Sketch FQBN mismatch') + }) + + it('returns build mismatch warning when build fqbn differs from capturer fqbn', () => { + const runtime = createRuntime( + {}, + { + buildOptions: { + fqbn: 'esp32:esp32:esp32da', + }, + } + ) + const problems = collectRuntimeProblems(runtime) + assert.equal( + problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-engine' + ), + false + ) + assert.equal( + problems.some( + (problem) => problem.code === 'fqbn-mismatch-selected-build' + ), + true + ) + assert.equal(resolveRootDescription(runtime), 'Build FQBN mismatch') }) it('uses expected root context values based on state and event count', () => { @@ -137,6 +167,44 @@ describe('runtimeModel', () => { rootContextValue(stoppedWithEvents), 'espCapturerRootStoppedHasEvents' ) + + const stoppedFixable = createRuntime( + {}, + { + hasCompileSummary: false, + } + ) + assert.equal( + rootContextValue(stoppedFixable), + 'espCapturerRootStoppedFixableCompile' + ) + + const stoppedFixableWithEvents = createRuntime( + { + eventsBySignature: new Map([['sig', {}]]), + }, + { + hasCompileSummary: false, + } + ) + assert.equal( + rootContextValue(stoppedFixableWithEvents), + 'espCapturerRootStoppedFixableCompileHasEvents' + ) + + const capturingFixable = createRuntime( + { + monitor: {}, + monitorState: 'running', + }, + { + selectedBoardFqbn: 'esp32:esp32:esp32da', + } + ) + assert.equal( + rootContextValue(capturingFixable), + 'espCapturerRootCapturingFixableSync' + ) }) it('maps event context values by decode state', () => { @@ -167,7 +235,35 @@ describe('runtimeModel', () => { const runtime = createRuntime() assert.equal( toRootLabel(runtime), - '/dev/mock0 · sketch · ESP32C3 Dev Module (esp32:esp32:esp32c3)' + '/dev/mock0 · sketch · ESP32C3 Dev Module' + ) + const runtimeWithoutBoardName = createRuntime( + {}, + { + boardName: undefined, + selectedBoardName: undefined, + } + ) + assert.equal( + toRootLabel(runtimeWithoutBoardName), + '/dev/mock0 · sketch · esp32c3' + ) + const runtimeWithMismatchedSelectedBoard = createRuntime( + { + config: { + ...createRuntime().config, + fqbn: 'esp32:esp32:esp32da', + }, + }, + { + boardName: undefined, + selectedBoardName: 'ESP32C3 Dev Module', + selectedBoardFqbn: 'esp32:esp32:esp32c3', + } + ) + assert.equal( + toRootLabel(runtimeWithMismatchedSelectedBoard), + '/dev/mock0 · sketch · esp32da' ) assert.equal(sanitizeFqbn('esp32:esp32:esp32c3'), 'esp32:esp32:esp32c3') assert.equal(sanitizeFqbn('invalid'), undefined) From cbb659c71eef6eb0e8680737fe486a9a72d68834 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Mon, 16 Feb 2026 18:57:01 +0100 Subject: [PATCH 11/27] fix(test): respect win32 paths for the setup Signed-off-by: dankeboy36 --- src/test/suite/capturer.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/suite/capturer.test.ts b/src/test/suite/capturer.test.ts index 71114e8..47280e9 100644 --- a/src/test/suite/capturer.test.ts +++ b/src/test/suite/capturer.test.ts @@ -197,7 +197,7 @@ describe('capturer', () => { port: { protocol: 'serial', address: '/dev/ttyUSB0' }, }), { - sketchPath: '/tmp/sketch-with-options', + sketchPath: path.resolve('/tmp/sketch-with-options'), fqbn: 'esp32:esp32:esp32da:CPUFreq=240,PartitionScheme=huge_app', port: { protocol: 'serial', address: '/dev/ttyUSB0' }, } From 5023241c03715e281fba802b8e0e41892010a2a3 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Tue, 17 Feb 2026 11:01:10 +0100 Subject: [PATCH 12/27] fix: drop markdown hints Signed-off-by: dankeboy36 --- src/capturer/markdown.ts | 3 --- src/test/suite/markdown.test.ts | 6 ------ 2 files changed, 9 deletions(-) diff --git a/src/capturer/markdown.ts b/src/capturer/markdown.ts index bea5a8a..5fb9ae3 100644 --- a/src/capturer/markdown.ts +++ b/src/capturer/markdown.ts @@ -179,9 +179,6 @@ export function toRootTreeItemMarkdown( } } - md.appendMarkdown( - '\n_Full build metadata is available in crash event preview and capturer state dump._\n' - ) md.appendMarkdown('\n----\n') md.appendMarkdown(`_Hold ${mouseOverModifierLabel()} key to mouse over_\n`) diff --git a/src/test/suite/markdown.test.ts b/src/test/suite/markdown.test.ts index 136be8d..17beefa 100644 --- a/src/test/suite/markdown.test.ts +++ b/src/test/suite/markdown.test.ts @@ -164,12 +164,6 @@ describe('markdown', () => { assert.equal(readyMarkdown.includes('$(pass)'), true) assert.equal(readyMarkdown.includes('- Capturer Board:'), true) assert.equal(readyMarkdown.includes('- Sketch Board:'), true) - assert.equal( - readyMarkdown.includes( - 'Full build metadata is available in crash event preview and capturer state dump.' - ), - true - ) assert.equal(readyMarkdown.includes('Compile Details:'), false) assert.equal(readyMarkdown.includes('Optimization Flags'), false) assert.equal(readyMarkdown.includes('ELF SHA256:'), false) From 6228cec9e35f3dddffc2296b6c3276cfcf95f2bf Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Wed, 18 Feb 2026 14:36:10 +0100 Subject: [PATCH 13/27] fix(deps): fixed GDB MI paths on win32 fro trbr Signed-off-by: dankeboy36 --- package-lock.json | 162 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/package-lock.json b/package-lock.json index bfc2558..61fc38d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "error-replay-debug-adapter": "^0.1.1", "fqbn": "^1.4.0", "markdown-escape": "^2.0.0", - "trbr": "^0.3.0" + "trbr": "^0.3.1" }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.2", @@ -2766,17 +2766,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.55.0.tgz", - "integrity": "sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.0.tgz", + "integrity": "sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.55.0", - "@typescript-eslint/type-utils": "8.55.0", - "@typescript-eslint/utils": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0", + "@typescript-eslint/scope-manager": "8.56.0", + "@typescript-eslint/type-utils": "8.56.0", + "@typescript-eslint/utils": "8.56.0", + "@typescript-eslint/visitor-keys": "8.56.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" @@ -2789,22 +2789,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.55.0", - "eslint": "^8.57.0 || ^9.0.0", + "@typescript-eslint/parser": "^8.56.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.55.0.tgz", - "integrity": "sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.0.tgz", + "integrity": "sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.55.0", - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0", + "@typescript-eslint/scope-manager": "8.56.0", + "@typescript-eslint/types": "8.56.0", + "@typescript-eslint/typescript-estree": "8.56.0", + "@typescript-eslint/visitor-keys": "8.56.0", "debug": "^4.4.3" }, "engines": { @@ -2815,19 +2815,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.55.0.tgz", - "integrity": "sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.0.tgz", + "integrity": "sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.55.0", - "@typescript-eslint/types": "^8.55.0", + "@typescript-eslint/tsconfig-utils": "^8.56.0", + "@typescript-eslint/types": "^8.56.0", "debug": "^4.4.3" }, "engines": { @@ -2842,14 +2842,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.55.0.tgz", - "integrity": "sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.0.tgz", + "integrity": "sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0" + "@typescript-eslint/types": "8.56.0", + "@typescript-eslint/visitor-keys": "8.56.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2860,9 +2860,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.55.0.tgz", - "integrity": "sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.0.tgz", + "integrity": "sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==", "dev": true, "license": "MIT", "engines": { @@ -2877,15 +2877,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.55.0.tgz", - "integrity": "sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.0.tgz", + "integrity": "sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0", - "@typescript-eslint/utils": "8.55.0", + "@typescript-eslint/types": "8.56.0", + "@typescript-eslint/typescript-estree": "8.56.0", + "@typescript-eslint/utils": "8.56.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, @@ -2897,14 +2897,14 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.55.0.tgz", - "integrity": "sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.0.tgz", + "integrity": "sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==", "dev": true, "license": "MIT", "engines": { @@ -2916,16 +2916,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.55.0.tgz", - "integrity": "sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.0.tgz", + "integrity": "sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.55.0", - "@typescript-eslint/tsconfig-utils": "8.55.0", - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/visitor-keys": "8.55.0", + "@typescript-eslint/project-service": "8.56.0", + "@typescript-eslint/tsconfig-utils": "8.56.0", + "@typescript-eslint/types": "8.56.0", + "@typescript-eslint/visitor-keys": "8.56.0", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", @@ -2944,16 +2944,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.55.0.tgz", - "integrity": "sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.0.tgz", + "integrity": "sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.55.0", - "@typescript-eslint/types": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0" + "@typescript-eslint/scope-manager": "8.56.0", + "@typescript-eslint/types": "8.56.0", + "@typescript-eslint/typescript-estree": "8.56.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2963,19 +2963,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.55.0.tgz", - "integrity": "sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.0.tgz", + "integrity": "sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.55.0", - "eslint-visitor-keys": "^4.2.1" + "@typescript-eslint/types": "8.56.0", + "eslint-visitor-keys": "^5.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2986,13 +2986,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.0.tgz", + "integrity": "sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3836,9 +3836,9 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -6707,9 +6707,9 @@ } }, "node_modules/eslint-plugin-n": { - "version": "17.23.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.2.tgz", - "integrity": "sha512-RhWBeb7YVPmNa2eggvJooiuehdL76/bbfj/OJewyoGT80qn5PXdz8zMOTO6YHOsI7byPt7+Ighh/i/4a5/v7hw==", + "version": "17.24.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.24.0.tgz", + "integrity": "sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==", "dev": true, "license": "MIT", "dependencies": { @@ -17490,9 +17490,9 @@ } }, "node_modules/trbr": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/trbr/-/trbr-0.3.0.tgz", - "integrity": "sha512-aZA1tilctITMuHPv2eZPAxBqmy0WvUlz0YIhPgq7ZXHeFi+YlXiRac3gmBb+8DQ0UWhlJ17kQLslasdcGjviZw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/trbr/-/trbr-0.3.1.tgz", + "integrity": "sha512-dmNQWWgDN/eK1Veb4AJ8kZtQYJG61MDp6JF8crdVnnuBvJH5lGqDlJdRrFhCLmxmqVGERWKcZ6utUdJpokRJ1g==", "license": "GPL-3.0", "dependencies": { "clipboardy": "^4.0.0", @@ -17796,16 +17796,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.55.0.tgz", - "integrity": "sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.0.tgz", + "integrity": "sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.55.0", - "@typescript-eslint/parser": "8.55.0", - "@typescript-eslint/typescript-estree": "8.55.0", - "@typescript-eslint/utils": "8.55.0" + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", + "@typescript-eslint/typescript-estree": "8.56.0", + "@typescript-eslint/utils": "8.56.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -17815,7 +17815,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, diff --git a/package.json b/package.json index 55dff72..49a56f4 100644 --- a/package.json +++ b/package.json @@ -332,7 +332,7 @@ "error-replay-debug-adapter": "^0.1.1", "fqbn": "^1.4.0", "markdown-escape": "^2.0.0", - "trbr": "^0.3.0" + "trbr": "^0.3.1" }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.2", From ac5a3ca9cdd177d9a34c0fd74f49cd66c8ba429a Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Wed, 18 Feb 2026 14:43:43 +0100 Subject: [PATCH 14/27] fix: clear events and delete capturer Signed-off-by: dankeboy36 --- package.json | 18 +++++++++--------- src/capturer/constants.ts | 8 ++++---- src/capturer/crashCaptureManager.ts | 16 ++++++++-------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 49a56f4..ca1ea77 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ { "command": "espExceptionDecoder.capturerRemove", "title": "Delete Crash Capturer", - "icon": "$(close)", + "icon": "$(trash)", "category": "ESP Exception Decoder" }, { @@ -119,14 +119,14 @@ "category": "ESP Exception Decoder" }, { - "command": "espExceptionDecoder.capturerDeleteEvent", - "title": "Delete Crash Event", + "command": "espExceptionDecoder.capturerClearEvent", + "title": "Clear Crash Event", "icon": "$(close)", "category": "ESP Exception Decoder" }, { - "command": "espExceptionDecoder.capturerDeleteAllEvents", - "title": "Delete All Crash Events", + "command": "espExceptionDecoder.capturerClearAllEvents", + "title": "Clear All Crash Events", "icon": "$(clear-all)", "category": "ESP Exception Decoder" }, @@ -187,7 +187,7 @@ "group": "inline@2" }, { - "command": "espExceptionDecoder.capturerDeleteAllEvents", + "command": "espExceptionDecoder.capturerClearAllEvents", "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerRootCapturingHasEvents || viewItem == espCapturerRootReadyHasEvents || viewItem == espCapturerRootStoppedHasEvents || viewItem == espCapturerRootCapturingFixableSyncHasEvents || viewItem == espCapturerRootCapturingFixableCompileHasEvents || viewItem == espCapturerRootStoppedFixableSyncHasEvents || viewItem == espCapturerRootStoppedFixableCompileHasEvents)", "group": "inline@2" }, @@ -207,7 +207,7 @@ "group": "inline@2" }, { - "command": "espExceptionDecoder.capturerDeleteEvent", + "command": "espExceptionDecoder.capturerClearEvent", "when": "view == espExceptionDecoder.capturerView && (viewItem == espCapturerEventDetected || viewItem == espCapturerEventDecoding || viewItem == espCapturerEventDecoded || viewItem == espCapturerEventEvaluating || viewItem == espCapturerEventEvaluated)", "group": "inline@3" } @@ -271,11 +271,11 @@ "when": "false" }, { - "command": "espExceptionDecoder.capturerDeleteEvent", + "command": "espExceptionDecoder.capturerClearEvent", "when": "false" }, { - "command": "espExceptionDecoder.capturerDeleteAllEvents", + "command": "espExceptionDecoder.capturerClearAllEvents", "when": "false" }, { diff --git a/src/capturer/constants.ts b/src/capturer/constants.ts index 1e54ed4..79143b1 100644 --- a/src/capturer/constants.ts +++ b/src/capturer/constants.ts @@ -24,10 +24,10 @@ export const capturerStopCommandId = 'espExceptionDecoder.capturerStop' export const capturerRefreshCommandId = 'espExceptionDecoder.capturerRefresh' export const capturerReplayCrashCommandId = 'espExceptionDecoder.capturerReplayCrash' -export const capturerDeleteEventCommandId = - 'espExceptionDecoder.capturerDeleteEvent' -export const capturerDeleteAllEventsCommandId = - 'espExceptionDecoder.capturerDeleteAllEvents' +export const capturerClearEventCommandId = + 'espExceptionDecoder.capturerClearEvent' +export const capturerClearAllEventsCommandId = + 'espExceptionDecoder.capturerClearAllEvents' export const capturerShowEventCommandId = 'espExceptionDecoder.capturerShowEvent' export const capturerQuickFixCommandId = 'espExceptionDecoder.capturerQuickFix' diff --git a/src/capturer/crashCaptureManager.ts b/src/capturer/crashCaptureManager.ts index bb4d3a3..ef52424 100644 --- a/src/capturer/crashCaptureManager.ts +++ b/src/capturer/crashCaptureManager.ts @@ -25,13 +25,13 @@ import { import { createDecodeParams, type DecodeParams } from '../decodeParams' import { findElfPath, resolveBuildPathFromSketchPath } from '../findElfPath' import { + capturerClearAllEventsCommandId, + capturerClearEventCommandId, capturerCompileSketchCommandId, capturerCompileSketchDebugCommandId, capturerConfigStateKey, capturerCopyToClipboardCommandId, capturerCreateCommandId, - capturerDeleteAllEventsCommandId, - capturerDeleteEventCommandId, capturerQuickFixCommandId, capturerQuickFixSyncSketchBoardCommandId, capturerRefreshCommandId, @@ -758,7 +758,7 @@ export class CapturerManager } } - async deleteEvent(target?: CapturerNode): Promise { + async clearEvent(target?: CapturerNode): Promise { if (!target || (target.type !== 'event' && target.type !== 'frame')) { return } @@ -774,7 +774,7 @@ export class CapturerManager this.refreshRoot(target.configId) } - async deleteAllEvents(target?: CapturerNode): Promise { + async clearAllEvents(target?: CapturerNode): Promise { const configId = await this.resolveConfigId( target, 'Select capturer to clear crash events' @@ -1541,12 +1541,12 @@ export function registerCapturer( (target: CapturerNode | undefined) => manager.replayEvent(target) ), vscode.commands.registerCommand( - capturerDeleteEventCommandId, - (target: CapturerNode | undefined) => manager.deleteEvent(target) + capturerClearEventCommandId, + (target: CapturerNode | undefined) => manager.clearEvent(target) ), vscode.commands.registerCommand( - capturerDeleteAllEventsCommandId, - (target: CapturerNode | undefined) => manager.deleteAllEvents(target) + capturerClearAllEventsCommandId, + (target: CapturerNode | undefined) => manager.clearAllEvents(target) ), vscode.commands.registerCommand( capturerShowEventCommandId, From 8d725ef902ddd592b11cf4130280e432ef5367c1 Mon Sep 17 00:00:00 2001 From: dankeboy36 Date: Wed, 18 Feb 2026 17:51:17 +0100 Subject: [PATCH 15/27] fix: update main static in readme Signed-off-by: dankeboy36 --- README.md | 2 +- .../static/esp-exception-decoder-main.png | Bin 951842 -> 0 bytes resources/static/esp-exception-decoder.gif | Bin 0 -> 730015 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 resources/static/esp-exception-decoder-main.png create mode 100644 resources/static/esp-exception-decoder.gif diff --git a/README.md b/README.md index ad10a49..6678e37 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ESP Exception Decoder helps you understand crash stack traces and backtraces from ESP8266 and ESP32 boards. -![ESP Exception Decoder](./resources/static/esp-exception-decoder-main.png) +![ESP Exception Decoder](./resources/static/esp-exception-decoder.gif) - **VS Code (recommended):** Runs as a Visual Studio Code extension and integrates with [BoardLab](https://github.com/dankeboy36/boardlab). - **Arduino IDE 2.2.x (deprecated):** Older **1.x** versions still work when installed manually as a VSIX. diff --git a/resources/static/esp-exception-decoder-main.png b/resources/static/esp-exception-decoder-main.png deleted file mode 100644 index 13b5cd2bdce413fabacd08f749c4a49c6b994125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 951842 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®is-2yVBGQE3WvH1Gd z7;}XSKbE7}DGB0l$KOLvGO9$tbKb=`rRlaxpMe&eYPCOMyQr=N17rq!@!NHaLx;e_ zi!TsdH}qNo7K9fd+1NLo>TXE`xBE$V=E+$Ig2iB{wCEc_$^?iCGG3n_9tM84d_W@d zmvhs=cSGXi1{@$`MfL&zP$e!f*FEicYm@gk=em4SG%J|vYCjOtYe2S0EjWJo@j@jh zqSM00dlW;>!l=1I@Ug{eG8?9*HAQr zVpo>_jwxLqQ9Yh0-)~Jh+S(D1JUpz3a{(s^3-8IQBnnPO90WfclNit#Yw)vNtA~YW z|Am^dS;srB5D=jLg zGwsKx$F|a6@*c$!vmlzgFEK}yW?EeT%7QyyO^W6##9|g?8kVD&qu&0AIzCktpheBk z&tF~zQgW%jwZob=r#r9oD>=(dsZp3`Rqcj zTkp!R!-KrT$Rv+Onia2Z_LRDn(n803yL_}874?4Hh4sAAHneDcoL9Yf@orzOw&<09 zp`0_Tj`ahO8K&>D#i+))`0!!d>NWa`F+hfBU zj{WiV0M#4)qx1JqpE2vUGRPZjs`iX+eUf}#2Y#!|oncwy{ix)E&?iJNBL{C7trrk_ zjOq?2Df^{#Y!97LYL2rB|C`xSAF?5x^U&g5Z@99C@$DPb&D@8sEqjMp zhO>4j>WW{Z?d`SO+;mJ6@ugLa1lbGi3Z^G(iE@3m=`uBtCb!b4h8`^!%Qm88;QdUt z@D^k8+?~pdFDhlSXfFRNlB2f%sYW*yHO7r5xYOgvv6+t4mW$FU@zL<$YiQq zhe0(qi@@E1f>{Kgfla^1=1rk*NFM`1@M+3=yI?#%=zeJb{0-w%PQ!WS24F^bK-Rx= zgr4Dk|LlaPYlL1{ijFZK{e%XX_uM{%j2+585rZb|;Rk&xefd4Om&~{3)t;3&(E>b< z2E|buxXQe!Ax`KoFhB?0FvNz#;gip-^>X{cd+h^-t@7d?3aO9O~>GQ3@DLUxBGWI#kGS%3%K_anO=aEYS;l#NH8HtDLheI$Jk zkX?gjJ?y`FH)4S8iI7m+PQ&sbSCY`7|Ch!OdgMkgbu>#*y;O?wQb0U*(7&-o=>`EY zpkirhS*sT`^Ar3Zzx*@>@RUhB@xyxrrZomYrdp||({~c(zL5fZHFiU`P4k;R1R-EC zw<-RLUV@wZF0e`#OaL+Wov*>n{+(>VJ%UX`j9vD#t#4rx-?v##TW4)pexE7&<2TDL z_(2I}e+egl8x6)CFTS^we>24t5OzoNknM~_`G-bJ=^VRypnk|*NP?pU1D(R%!@e`` zg%yV>c3>tRy>N`LBh}x4oQw}do5S(#9sB&9UMqsXs9^6@anA$~`lIoOF?WRw3K??6 zI7k>Br-i;S&PKIYR-IvKO;MIh;d&AiQam|MM%}E+7D92*Lf%Y$O4eXfJC1!57FpqI z)X3RLQRqV#db8R(mSaJ-rzZM1`m$UuIZtesT~^(CDSpE_jomR~9$Qk{aaK|%$;(@p z)ES6V>HhWEFCmsYhTKvaTvJCSdb2Z3V~t3cLqmSuJiBQ#9bp|mW969O6fE>@!wVE; zvq$+~4tX6Uf=4*clx``5vfE?UiJ!io)_%4>;#$Vd!g*G2NoyzyA-CN+1E2j@_@x|1 zq&Wc*(gVCkx@aa*@z4uAYG*05D2(tXC<*Bm+PP`tUR)8pi5_$}CLYlWn$>6Qr@5B0Hi<|njVa>7nLny^f&y{X%)(b6VwOk&8QQkWTw@9jw*luStoW#Ad4X^ zi$OIGOP-=f-d%7??)_DVM`^c=w`YZuZ$b+}>3u9`QgySMll{dY6?6Z5b}@#~dVX!~CF#mH5Ob`v=VRNMO-o&${7E%(|A zt+1~5p0;w|8)-l7eth?Axu5xg&d<=@UU+r?cLzNe`!|hAA!n-ze4EJfEM(urqxqT` z$IlpNvS+hM^LNiy@vlF6jqHX}1#+;yCDFXxFxfO~lk3~t6V2NH8gwU(#k6hkpTNFY zv+a)k0$5b`f(b@niVRKf>qql~b_EOmy1Yb&AfO5}`F;D{@e@H;_idemZ88Y?{!|QK z0aLRgshoKYL^GEq+7IN8$nDxTkk4<9bqehcmBQgT zUE%L$Fc0)$l8GtpP z?ZS0kpemV7nCYEpmfNXU?I9HsenfSCFoi(HL5;AsIj+lXj=p_%rCKZb*6+hI#ZtA< z2OaKi)$C zaI0rBRO(-LEtWEj_ai?VzmF6pV!zntRfIsWIc&JcCw2t7PH66%pQMJLt#ljjGk%XU zJ?Kd?hd&yZZ)DgSQMY0fROlG4J1*DiXbJHbKE5TSg?VVl@H}#yD9pmjY2=isac98c z4qX@pg!;sRp5!*VJnFDTG-%FIYRxR@WX%^hy%JaGwk9*qx!cV2o0PPG-BIT-I&s@s8hie&TGhX>+9)w)g z#xc7gQ4iqS(V(o=?{Tw2Kot~e!KRA2PL|N&TE>DzQtmS~h9NILL*{2z4n0{s{R}@$ zQQ)hEjC{LI9qu(Wi^4d>@ubrDb5qB2$SWr*ap()zpL?Lsxl9Dp0M!c0q#Ti|l!^z` z6-ySL82yg8JNiiT)qx}`Kudjc-NZGk0;~skRp=?HYosjbbJw!&^OPZPMs7l?ERj3^Ha7nC?CQgD?uP^D09Hfyv3@8nhW4u>3TS$E zp32k$23C0*ku$6)ltdWL?_t#<8qh4Xv1`P-_Pj5OswnRerMd5i#||A-ByI^NvaC!# zHws$o(qjvBGO`JzKFlExnsYAhOVo8&8^~r^!w<*l_o_@5#4;EZF!^7M-x6a;;jben z-PofY#0b_l?=}oKZO)zKdxwY1PCUvyLiOrs_QsOsW{8 zH1mgz3NM~$wNxYx76uIe?7*;twQn$C4IVdUl|dNdh1kg0H6DZHl{+eu(j3`Nouu?Z zL`u`(3l);{Q_9;do$0FkAc!cx5Ip5~0L!y3s0JYy;Eh0s`JumY?mUdBZ=;Ujwn@{_ zvs;n)nUWO9z3KjQiC-ykpIOqwTzUn`<<{ccuy-!sF|L)C)R=&aT+XD8&1OFkB5yUxzqo{wNIy%@^3$QkQMRS{|oWqffry5iM)*|_^ztK3gi&<<||kjza; z?Vg&Nnw#f!oUVTpcr-ZV_>ML;k<{@dB|dqQLx(fhqd{}YuTHB+#DRr&P)}=zI!bq8w5&~uTu?J`` z0m@j%i#wE!NAvC^gUBQp-evyNm3KPmt<%$yiBfQ~_f^glGP?z-ir0AL2@Su+Is&%mftSyKD*|l?fw@=U^b|ojyF94Ry8EAp?CdyF^xeWI172WJ z=!Uq{%nQBt!r=-^^NhKlwC0#6UacclWGroL>vL{*y?Vv-e!y&F;`a3V@-TImY4w8@~v!RNHwTg%Z?3nzWG=W&LH6l8O(u-u$ zZ_hdP+Ad{&%u)@UyME?^YF$DM(WAjlG+(A&hb}Ro7FAKP^^LbJBJ&W z=GNk&c59D{U#{~9dafX*+ z4Bc?vnhHBK=x$1jjRsD3loWtl=*J}Q_b^++-4xm-kDD^GcYF7N9kitV-+N5Vtm&JR z10PrR-;7MAMIjlxV_}G)O&8gIYG008EMf|WfHJsCpJ3CTd8OtdO%j^>DIKBG1hs3* zll$hwy?bHvC$Xy>G7K~)pMP{@B??Eh_q;dDAQs|$%W>~sKAFKN4a%#CZXk10y3FgR z=W2hcbHwhLWBP@T zSW*+rX0J78Voq#X-8{+?JK2sc!(&Y-&giwPS`4TZr+d`dt?&2RipLHlmUjTy!_G!2 z*Xx0zm_u%e%q`Eg5x!W8?x+G!|NVV4w);6Y@{?*NH2c&^uE-4 z2Zpe>E-s~Mo$LC!KMpKFYBKWoQ|9o8olR(G&6-hoSREV0vHl5pupN&D|B=XYRq~@< zxO61x=Y|?nL^59;;TRsZRTCcS?uHMaquszv9iQwHXf2F>N(rCNB=2WWXIrYb5PO&LH zqhkqebePTwfdp$xB7;f(eULIU5sU^X{%a zw^`eepa!fQvSP*}#XF$uJc%*V!=^82MY<=NEr6frstbbV^0R;#bHe5cYKJ za4~VDhIgkRBkfkz$(==cA`qK7>w|ZY!0Wjgu$szBK&DQ*7ZL+f(y1KSfBayY>;0>P zcPrxDFSWowu0Y%^+A$FFZ&#ptR{|j-e&P=`HXK!5TE^{ZA76qpexxO4EeaeCPlN^U zDTI(L<`{wB7}Sj`PduEQ$ULZkSuqp0ao0Wj zG4d!q#JYypChHM>nS3-aZ$q*Y5wS-@)fo1Cl(>rRb5dy~2=y@p{P|BmWIgXSlby~| z7}K}iLvK!6#k{C%8mv8wmtYLMD%k1UsggvQlApI>%x*j90%J>I+QdNI%>k0? z0hr`sn`pb;Vt#ZM-uIKExyV7L11=9=t@?V++1hJqG->wECb0(|@?ksc8kkBR>f3~l zy8bq|qYvM!RS^Xi_I}kPQ*bCx;Q9@01#S`uOZuTQ$}jhH@*ksD{MsaD%!@U84SZMx z-%M%=ma${uCqA z@fGmCAIg4vWdg50Q_&tDNJw2_2y(sY&$~5^q$j~*IwUR z#DkBQqc1oK`7SWuaMHLw^j)nAY5sGq;Ot~9gffj+R}1ZFW66B4(EuaXK?wuNFp8jq zu-Vl8a@8t{HEiHWQdN|gOYWSm$Ug$E5LrdRZeWp38&m9rfuHyJLzdaJOW&x`+an|>j+aYk-ey9#OPROZT2^wUc zgm78!MCDayd?|zNSq-zcX(AEPNU^?bzv)>f+ZrCrD-A z57>*FO`FLJLluOxyzIF`KBzPlT!wQplvp+9&x3$V=xx*kTy|V$C?volT!#7syUx96S8BkbwSmjX3+N;@$df`b= z($g4hcX( zTao#GGzs>=N51;W`rO@Ku*-EX-7(5#(>iiZIiD%7xSkjtLy$vwL$&SaSIt`JcU%=c zc9LigE>&N)p}N?IJ-jfW_>*=yY;pp@o}b%xI2ZZ_2y*G-E#$;~$l@=v4R(MP?dJ01 z2ec@W&a?f8s|ivs8(0oc(SPK?H1I@a=9Hj` zEBPcC80w0iDGQtu>d!G$!8sW*~QjsurI z+Ya}9$sx6%t{}Lt_C#`-bN(=)NqKc>tprQ{bexz>Tj}>x84ve+Z~`ct_kmGUFeL^4y5sPF1k(@(9FH7v-F-L zzLXJhku@tq9w6idqK^d{r+D?`v*bl8jaV%lP@2Zx7&{|i;DDtkR-l&VmkU2?6*Oe)%6pwMEvn}k({zWBr~abxoX z)S~PV)12&8D>E;Hk6e9POg8Yw4I#w)3PfI6J{`kXAnZ;1ZXs(WkxM?=A7|n_S|yTv zOY)Ob8n){_8SU!t`ntx~JelTDkCr}$KGjmWRY>Gc?T5<%5-KxAAPjNupPxwn?#FRQ zmqUB+VPFw^a73X0gND!7R z@@04cw9S~&2$D^Wn%U3y-h9gR{oy#99atu@g88XROfDAg(*Hg%p@VnOMEid8a#Uj) z1&rX!JnvbW`Mdpo6*Q?T5FOYUnWUw6xK=tNIA9 z8C7)HQdvMd8|NbxmoKLnaA=|tk7Zr((+5@*3UZ@yvqDbdWO5Flf=|D?lAe#xrypqm z^6QW1AaS2QA6HL(7ZU$SyRNLaKEOilyAH}-a5_FC_z?TJ#;`-(C%K%%h;wP^Nk3pK zKl2qzw~;x`LH6DKAi3Z{OHf2$JT}OE@=EheB%k*9IB)E++q)R^oCi&_8?|lU=7lvs z!G&II{Kc0tE=Ssxf&ATllqSA#=%8fcCJw&#W3?{s6t}oo~kiz004Ly3!*Xd@LmT&6g{b(<3JWHP~+#3Ip z-FlA7cD)>2$8AuUrr<$4n!{l}+v!2v)|b~-2)&iLsLKFUk};??AvqiI+nEYfo4$IC zRzWNk#*cdBy?C;CEA6i@zb}u77Jg)lZJRj*CzZVgJ)lNB@rBr``IiE94Epvy^_|m)LtUjnN&X8l^7_&D{A^cB&Firpz@^ z8z=};EKoZ8)$>wdlO_md-P>(^^BC<=CcMwJqjRyPx}EkSnnodetywI1F*(neI5ckc z_x`64Kc)8~in2tFU?Tz9uB@uPKB$5gS=^J$OC4ZOj`6!4pB`flkQCZKsB;rfiba=y zy?R1VwaaMffeKTKe0vAVfTBLN3E1RmeKEOxsiFILZ#C`hbFp5Vh}ki^}+!ASB?WNq=D-i+qT_`&a7g|sXe`@h*yD{=>>ge&c?=RSyPnz0ZR zs#p4j;;C!-0OENiTS6?W{sZ|ys^s+@a~~jNS0)D2=ZM~K3x7(6R@JZ}?R+(L=b^G> z(av=l8MtXM<5A)OwHxC#uLdIuY-J!xUEpI;jT`NC*zbze4=6z!SgPCU-jv8L%yOz+ z)=7;b?)%uv$MX1UXKsZDBb0s7j8X=h++!1mG?Di4_A6wZsFQ;-eE*cJ3eiwy>An*j z5|(`#66+W!7qp!w1sIF|EG zZLVh!taYrVvS@HHTX_MZNt;phNz9)jAX3GZ!qRvAd3yvp=h=jkmqLhdiSu}RgL^t$ReO4W$V(wSFJ?B>UB(lJv zwqqXI6v9;Q)o=;O_P?{np|s13b4z^08K<*Yb7wTz*{7X;9&=VI-o5pu%%Oq`;_l5& z7XM&+BH{!+wa7&y&z;prGP@IIRM+_CO*D@zDbXxqKgu_#oKDecFu7iJ;687ix?u#H zj_Lka?R;=@PB;aOyMd2$P5=^Gc5#)wiUcG zoG7Kh(A#J$zrmqe38_!sMtcFZO=&bT*EMZvP~`)v{)xZges;s(KWGWo(D{v1>dE3` zt^4%k_t5p@D&#!2q|!TE+4ZwUoOS^??irbW7ul$J&$B$W`PyA)&yK_sOSkdzXnhZ-0{q(h`(=$Zj! zhTPZupZ)ChuJ>K*x%bC+`At5sn7QJ-j`KKvX9_c>nh|n4;6Q3Qf|7?Zr6*n-Q>lJJ z|GKovcUn>L5`ff_=KL5^6Yd(wurpa!QS>S8+Ptf7A#OJyZ0V1_fCn@!(icF?LHn@h zoQw42dDE)CtTG>@jS17IHa3UpJg}E_S5eqaj(+rUUjijY4FRJ_z0H~Jlp*>lg<2%x zgr6zdczW_|i`f{odk+|3RT_4J3%vDz=wUHgeMbDgp(CeUtW$HXT)T3G7TINchp@my zpiQK@8d#Cn%y1j7WlS1B=g$J+AK8FsB4E3Jw}mtK@@*>yt$#1#Yju0vr#b*fBA`Q8 zl?cg@X2mlbkH$ zl$?N5>jlY8%^6uacd1E6Pp12?K~bYY^|y|XDap&*n06ueH}s!??uLwc=)v1JKNTBg z_Ve(#zhoSKj3$^5L#nd7E6glePt2ueJrQYe9^N^b*@F;F$;|EP_%-?+b`to`s=P~I zV75t&vdx&uFVC4rWXOh8Rz;h(Uj5E52$G@L8H{9*o#E%E_L;!0$UBOLt_7r+59d7s z`ar7$^;~2!et798;1G#oasrnNS~putbdQ~N#h{3O!VZ4#i86M5_jT@bvPyHmY#Qp< zvZrI`o8rd+C{6~%j#m5+3QFKu$cXcNKQqEYyUz1Bcyv>P24cG%&u~fsE6X6uF6!@y z5^0efzQkTd>OD`4nrsA*r>&$$pR$fS_l>dOJKmjd~oV?PF%+NN&d1s@SEd3(bP4$OP2;^Lh8Y*1Ia< z@fbJB+J&*vmP4mH%u93^S}S`uQS@jc(jYR-(@diLc#nt1BxVSOgoO3?+DGuITM&Au>1Mjv0#Pd5%pTj9!(;ExUdb*C1yEFL0k@gK^P6lQqYhqOJp z11ECiqGUW&;wj<$_?bEU&2fs)=TCw&yFdQ88YLJ+klo~t$nNv7_N91|K;Htp_%ka- zS#ww<0B@ZSy}r!e_OPRG$x`sk5PNMlS?_61CmoRD{JndMM0%HuIX9VUbK9>IG!E*= zb(k=7EF#FIEVfhZvv)4}jEsocy%sMsLTdM)Teo8iXv=TIM0`}pe{p4d>Cb*B%m{4@ zh^L;|H=6I^s~gGlb6G=1(zPVGM=-XFlT9oCu&LZV>lLuA*aCZm-$tVH5DcDFSC(d+ zI_hXM(kCV7r*niZ+Y@dnk(vXwo)}{FyW?MgIK&_IlH7}p)u5BH?92wq0@q! zx|h=X;iC^v&#<;dNEI-D&!sEz9;oYhl&XfT$g1UXe3%Z3l9hx?XS+K07%-{fjxY+AV@ zD`KEBntrcOFM2nRYuSeqSRH+OZZt#bJE^Hk066 zQ-h=l^4sD|U(n!ZAEWeQb28SHCx-VnYn)xzB277&Tz)1Qd!ziz<*v*jHujkXuUCpG z#K_Ges+sxei#V%P##yzDDPLAJ29coqnA%*{;8s2e#j4i>)oi#)HLmRbgih9{MVetVV*$ z*%0nZe5#^IfFJIJi?ONqV@c?V(v^AW774unfh9^5%k@7iHR&6=e=%T$BHBz!eK-l9 z(Qm=tc{~x??d{Qd{L!rLTzT*Aw+6*l>nnP7xU1pMT-)7ka){=~mBXlybse~^hzMrZ zXV0ITuo~x_Ha&^MS7J2YL3httmJfHkGVH+GUhaD;bwp1y;B!uy4+n=_o=j7Q6Hw5S zwzEtg6NJGf+Qs)rg7M#0wU&PjsvRTR&tU!O3ha@>*%4^tZHDzK|LwpFrxsA zBgP?L#zLx^;vg$J4x7ho2vJM*l9t!(RH2Xdm2W!!kam0z@xDO9sij4{)8reJ7Wfb5 zAZ@?TGd5hm4wDysV|dePd_!urB|h`K(A{=U*FK8-%cplt4J2!Rm=e>ry5&*$2N(qEq}z zBHT25Ai9X*%ceE*Y?67cj6wtp%*V#pz56;-c8pB;uLdYv92v`o)BPear6j?}1CM1$ zi;cK^40M9}sv6C!PP$q;E2YpM(&MG525z3kYU-)Wxj6xgm>NQ`Xn*ZCzQFt|A0;Na==CRsXI5F$f z=xTlL$iAC1W#nQ!J?f|BR+l^%0M@D5Z3Zg^U9(4T>;&{k+rhf{ zyMQY347Dj0!N-NGYvO!8b_^W2b5Jf!Frx2=M#R{~Oe2)t1{o8kED~~o_A>txKgHXw zKlAKUHlDM(uri-dXe;Qw>6`idn0r<5!71e*7w4)rACzq6B_?!KHQ|j$zg+ipvIbAvHhxeh(IIj8{?(? zkuIU-E&&GqLUyFVA>}aWR?(xBip^oGg871(+uip4JGLfS>)|A!J>zL)M1ZII>{+tf zRfcAhY9$xJRg-Q}h#c3qe6!11=za~SrLV$$HJtFza$UHn$o{CFJT(t#&(2$>Xpim( zM104r+}6V&XvrW)VS}HuU1nt2TlRTl@`H&0!q{R~CRIo=7~v3?;K5B0fO(~j)?>;y zx*I}RLsmn!OVs1+1-eu>@ggBTU4CIrUhwOm8^r6&=)>5k3{oy0EqFib1MC(s)AYMi~B^s*arL)A(M2c z$}N=cnPm($@X3ae(AR%V3?&wnMd2)aPYr=>B0C?5Yr3NWo~2!gJ2`;p<3fo%&V7tA8NY& z^HnCO5Ac6Q+pO`%-{n_~Ws+g&$$tmek7r5qdx*A~Rv|$cGMXVi%-g{UD(^Z!)!I+U z$ttUod}v%56rz`n`h+JdIcah!ljbp)=5EOpJg$gbAVa+olB`615y8CT;T&ci^{inY zimY*|$#lWRQ6P7PY_B29bmb6v35=tyjgG7e*4=6$ao%``)2)Zaa<-FPswZ1)G1I30 zDVj(6!8V6_+P&M91v2Oz>S#IT3cbBOFrxqfya|xIKBA5BZ2guwqP*3A@YRg!H9-9E zKB`i>f&3vkZ{cYsHY;%Rn7+*qIQee*9DP5g4+lMAdR{{J+uTe&M#Frl)!7v!bQ$nX zztQ+~6N}$tZ%GK=wOuYLh%eim=963ly$)jFG-NXP#dM8^-`vW#N%VgzDM(Qhu$r^h zqF~fgh54oK36z?U+Xxts3t5mvMt#QG6&Mm8iXKaY8V=QuTmv`V6Zq^GG_cw+V9D8C zQ(DEK_;zqY2w_MZHi3uwZw$QM5>R26VU)UB`6&=n%rCQ)UHk>6g!NlicCO%ZVyGSy z2*kvPf$o}_1eh!`mc?_KPJV3w1N!P6$_OYp3)<1Tl#!hb|F#%P=)&U*ZWqJCo+00g zzlGGXf1;SX=Q7r9L9TwAE=__nCb|sf9-f4{_3ocH`e1&CE)xT_XyXJI^`~hQlF6iO zp?XM)e6ZJqB3H{4Yy4fYNyCtO5K}0794jy7!EK2t;E8rxNmxn{uqr^=x|u!!R+KTV zkLDS99V2$7iRbwn6gSMsnzP>Ai{cji=24oWb5)jLsj$Ipz?(}QvMEAjOMJP7(TUW)oKi&->n)CORUDl$OYH1O<`wbyaC>evY=6H1SZR8 z*3t22mafEdM3?bCwi8bZ%4R|7(%S{3KU? zJ{hK=3;Hy7>l$C~PRJXr>d9u9Ckyo#njYJZ4 ziF~Wl_v=bB!4_zbXkBHQw@j>|ABqNdxZn;U52JxsPm7UXKla7lCuQ$)YWmdpH1goC zIE+3nxEB77I2sDV>-xkP?sk_6j$DO;6diHRrZs8{{ky9{vSjt3HD#$J`I+rYK+MaE zOnxhbi9pY&jnX|`BE8tNgV^a3^r6p%0-H^bH-~lF=M-bJQi-y|cDMHI_{q;w-cGC$ zeN`#nqD{XkFV=%+E6o!^a1q!H!I?sXfa#HU48`K7fDa~#$c@}2@j-?wn{v{wMMP_~ zoL>Ng+Z}o#u5g7%E;A2_rR#@2DM{pz)B@bb;iV*gpJe9iAJ2;CXj_5%&5;2cmYDSK zYiO@KVkIvZ-|q)uOswhHYVQ3bM*_w1Z~{itxl<^sO&jQGEq4+y-NknNd)Ns4wXv}9 zWsp5o_q6x@k*^d*btK^1M^JOu`q!?{39w@|>`vL=jZS1JB#RHRGv6YFHLUu!Vw0qN zjZ1ICr~Nq`|AO90rK&gmydSEctN5W$;0hGFAuA;$69J+NTtUDH%0FhzYU3`$4$smU zP&4tsUjdFC@|@5s%$h!@^T|!}SVe^YVPN$E^!(P7@;+VAMmm<#cy~u0NWV8?jQ&OX zW&Gc)kpBxvM$6*I|2HIKJ?T72^Qa(!^oyU%&(Cui??Af!az@+7rO6UgWUCdd{2xdL zR}@<5f-R_t%v$8-1WcF1iM7svkcfpkiHa;EOTqX?>`$w^uw~86KlseLlF24V_a)Xi zQyW{MVXy=_Mfob6yv^iyshZ*%I~}BYt=oBQ4cnBl4>{i(pV)}swso0!dg(!eDBvgt zWbn$(&F^d=R)ymuVr_1~_1katL$^nF6xaN!u8iKU$Vh)_Bpv`~5JEMv;EX)7R}r91 zXG&J2Y(oqDd8{dKBBpHI#e1-UmP9FRB&HfHvs*sC{fPaR106e>EoS*$V4Mq=#5QQ2 zC=32}V$g)>>h`gawL;J556TSlrm)Sf8F%6@cX#Y6KmIb^!44?ErVXgBE=xUubjepM}R zx8*0_Cr8G_BK7#rJ9Z3kQS0ny&*scc>qKYJ9G>_6dfM!}JJ-Aza$a-}cZ~)RkWyt> z*A-Bch0Q_StUu-a6nJU*!&oE~dhZF5L^Y|vRz&++{i@bP2izmEb}O~c-q6Eh_aY`v z8zaRYssH(2R5&6$6vv=*Gftx)pbIVrk#E^>;i~i$W&-X{s*zFVz2;5YFuou%q`}%d zlB+xJYaOIa_)IPnX{5nD>nEeas?}_pCAxAewuvR#NkSXeES(oRyJ|p9Tc2j?vCIF{7qSlw1~!vDr0FE5%ToXgn>C zL23rY;0Pgi+~*-{3d5#SJzq>NXZG09>oo%(7+IoFj#`?*$^hXqq*sHs-q=Dw{^9`e zm27~Qsr;Y&%U{t7ZSs3pJs$uU>K-3VM(&y1>ZG>LP{ux)``fo5L3&DrjD>x{4Rs)Jl?ZTKVAmd2I} zB;1{=dDU_<<>YF|%K)$^@dJ+NGx?_f2YV$W870JhHs-7~$a+MV46j!BJ(BjgONZnb zVo6q}R31WN?6Hr|KMT_pKy*}OY&P1N@LEkyYjcuxR?2+?z26*$$~pnmy5wQMbH4xs z6irseP$LlZ_xH=y>d-z$_Xhladt^8>yjp}u1|1$Dip~FD2YE7I`_A28`I_nKBx00% zo(Y-UAZx*8yXud1F6kW+B^|mokGgO*OA($c4ji^O&<=R*reX9z4IV{gBEAJf($Sp-w{tdIvjE@+{Yu8`B=Td_~ZvjY8)@z`U=xn z8%6{Fq9=N)0h;2Yo|H{RvCUnarGH|%1_jA-o!M`K(~oDz_g$J6{`LJ;LK?pNs>{R{ z|AI_{jWGCwZQwWN=$G03Ik9+kPT zNh}cbDutjWLJlw*I8T6aR1)Tj8cmn5@iJrqPzvz$x&(d;S85q^tXWYCRXR1w=`L#x z^*dIdb4YMy5gg7)VXSRO-cn2YD+r42(0S5fz>Es_rw(@juNo(oOc`)gEQ9Gzx~2hJ zMcpI$N(PzdhC51T%M#rtR>7j=;cCFQOl8V^-B?BSyCuL!KLb>0&CFpn@mN3c;-{(r z-;+z>=WcV9&~}BNv_Qx+TLbQQ(~o#q5X~FVs{FgP!lL^)B16*C;Vi!Amp0&JXu|#e zIxgSoXW9Io$)H9L1rcXQ6Or|9=U__;A7}u09d;=a@hAJleR-|yXHi3W-?Xm2J`x;U z(81G1Rg~yTCS{E)a6v1JA%c&<<4)I6!sk==?0?SF|H*YVLW^HpaGMMM;Aadq{+&ji zLlu}({xFA5O#BUHf@^#hl2G>Pg6>p!-s*s)WLdNz5=E}dSta<3Sne397mU$NAQeLm z5-=$0Ae}coQ-Wya z<1gI-f@CcEC;Q4L*GINgy5)2Q0eUH@l1ej-L9B$COH6?rHD<(`dRbk}%N)~6&nF$n_HA=fVk&#adfg&e70Frz(yJ{%Yvk3WLnbR)Pg_{ zASwTZ=IGYL>_PmHEneN>D`{t2 zan=P?t4*`^S6@!lyiN>Bv?)l>XiWfiK{^V!J>o)NV71*gpwZG_+xaN4QvOTnI zXyo2Bit?L(YD4}T1@++0-4;%LsP;r3h!#+c`D8H%fhRRm<41``Qyt@lh?>XO|1g1q zLOE<|!ps-qq?xMOl=(a5c=yA4u7Bo&4$P*mbGZnxQ1ay4WMlJo0H6k>40>U;V_p22 z;B7!^xt-|-^{*jHbr?9!d`BYn4>psdF6uhhSlvtO+_yVLcq|F%Qzw!zfq#i&Z3^Kc z3u|O;KXI)V72Nh5OL{_GXZ}WGDXT*?TvO4i^?t88x>V3AXhgX8tNSjeVjB7(%33Q| z6Y6hePK`)#<*qVwVy=zlRU&c8ke914xuBVZSvhy81+OdSrp8`m1nzQn#;*xs0;&-w zhyHew1nq}TV)%*>gOVaGTH?B>@YXhY}pQOqRAU>G0+gMEG_GtjCs@BCfKl~vO zf1}CqTZw)c_}9e{59mO&PaDQ#L6SBv63aPMJhW&wA;-S4yTMb7<`yYqRy?!0V^PW& zxextI-+qoX{Pm(#`S+oB)a?z z@rGynzVA=sf|rtL2?6Baf=Sf?IKG<_fO_i5QJS3F zQbaGj-Pj zU4|aLTuF6ZrtIBKqfDy6amBYecO=v4zeGFL*73!wE3$r3iLw&FyftMGfsLBb3z^rJ zIy8lNad#NVd_$E&rz&SND1C;~pewJCdIBynModf*H7KF$AjTP_LGZ;Uub7WCuzC9k z3_0fiR}PRxZRwc0-xn4jwSR%lf?hqUm-`Gr3cmJ$xbA6ABOB25p&GrRBz{Wu7PP{mae zX7~(OF!Cg;fu!?}XXMd5RaF6X7(6nYCWt{fX3aAns_faJlPhtyGXF{|*1|bI;i;7; z^LtICQ_VO~R#c4!)c@3#_>JF|!tF1(=|n!}7*`(js%cFrHW#9b%Tv}2vGI4xgLbf5 z`j1#or^~U*25+-wfB|M-k}QLR$UU}7Zw4cj)nv_jNRnMDK)RIps}s!dM%6 z%M#=R!lQGbl{4Dnnn#_L88e5r6?CyARvs&ZLgA39qO-UondAPVv$dzLUS(AhE)W3U zW1NKhKF<15%{B$`6IqThX4IAdDX!|RubJgakTeY_xY>x+;#le&d zp{6GZ?YnP0mRgp|HCyj*FU77k8Crz^MxcPl7!TMuTcXCY?$$Jv-86a(XES}#B~<~N zhm%2@gVdQ9F!?XHp#HL6%{-F{>%Hu`3bu*aZT;P_SD({6Qsl}$ExogdeHlLHm=7C) zlhSq3Sh<)JiuII}@C)7xPv1!a)L(?6p{DmM&$lV-Pvm-@sKqjNs%A|Ux7Mx}P}gqT zc9V`aADwL)#nNB^w{d=9K@Mu9MoGdbBY~Y{U=0K}VR*))ofMNU04AZg3{E+X4hH~b zVvui50UytZ8TKmXzpDI~d*HuQ@+0zO|3S%Q5x2}Me0eMUwu2*IckpHue#jlEljY=& z&z1~x3L^|Qb-NbdDeH}x`-9^DK zhCqA;lUr8EU-&be7+D?ZkpS9Ol~hgU8CpO00{zkI?FSlsX-~c2$*!*#Yn<pYOT=0sKyics0luK6_y?LC`_be-OI%LeDNeDm+laR}8g81mnCaHGq zXycq!ti9gaI1JUF50;JMTDgRanMf?VB{dY{szIXI1oc>|^1ERSOx*OgzfpkcGlMAi z2Tr@+YjB!;F$@?MFTYj(A)2KfKNPba`S!96gmt1#segcy<#k+hX_G_KS1e-X_2B!6SKOcl54b95uUVVG^Z^s$aqqd6TSZ~XiL-T4oEt@NN|ILO7wv#Uaqt(#%1?I;Mi)|`fGTE~*QabGV>CZMA@PJzt z|Dpi{kvwXUYinoU!8(wPExadra*Tn5I`R*08}e%U)zDmf1N1sE>EJ6Cmys@Ht6H37 z_jfV$`VgQ;hDfJ zi(z}uYh^+&#+jjDtC!vO`CgKN06)GU|9h%_YSwJ3x3Z_yo3o!a!j^QkBYKXijLo+C z!b#*2vGWsZg3O~VSh`d`ecVZvjThln8He=A=PIX1FO^p%3nZKR-c>2Pud(Oah?pQ) zN$9T79*j$e#(R+ZUs5{}2>HWsiAb{jmg}pPWfT46kP6Vuu->bm(wOBoD1MJM0dgex z`@UkGY7IP)@x#?x@{f2`o|4X`-ZhRF!V>L~RC(cm+&NKVc)=Y?A^_ySsDHF#AMP=4o8bhRhO$Fe1{6pgRbRH3FyXxnK5d30wr zXiL=Zih2WX5_Od)7|#L>V;_uu3c0r)V`&v{HnM%cnuds@1!fi&7^i?V<+_SdLI5{A z`4#x(QPTU3Y%<_Gvj(;vT}jZ}Dz1xlYEXBQz%ms{fO_DKY6KjiZU{M>lV8-a#W6@` z-gavf-B?Tk0c17P;FC$`-o8Hhu%@aCmC%Phy@9t(T^iPCI`Rm0Olrr162pGJcE?wd_fyJ!YwkUfPiG0>~sv?Ki zfk%s_dPsJ8B95zM%UYfVZ@Gyzu;=<}Hyxs}^-tH>i$MPwkmTXLdI?B4eysCE3*%h6Ip(ctN&z&&4q7un?eB_` zJ7&=r<-f>W127cJm}@Ywof11tT|C>_^(N{Jy)NGV09~Pq6%5}18lAX#PW!p|x!bq* zv64#`?-XW{LVQ-Uj!uEj^Mm_P=vD=jqi$jwh~9BpY{)e27EWq{7)ztZUm9L9>zZhl7X z0rE*_-KP;{vDKZ}n~99P54f%GN4-%-*BV2YK0tVtVj(8_{b}+sX`Y>rA49q;vo=Q) zqiD`(3kn3S%)CCy7(>^X+x;G9@MwUm}PJ9B|AC`C|=ZV*yDxEcMcqFIKUd1y{)B)05ouv9#kj2PB3|vhV<=_uBuvOFUnBLmvj(j`ThNXH+JAua!nV z33~F)EfUz8+Z>?47tBQuWHQlU7ZF@ZTwVD~ucdIo>(%N{758s%zsz!1H6RV=MUm`r?|{3>l9iy2d{=087r zdIT&T-*y(MTBD9EU4?KzFprF%wyQcB9qoNM9a%tYt>kZ0gE8Sw<9ESGVeR(vdLQF0 z@ROXmB;Y!K4JyVSyz{ab%6N-{STcpN_tu9%eNq3|yIA#_HMjf%B+blD@h)=aOeQ^@ z@p)KAm_nw}339pTa~sV;2fV|lz*};M>3jx0ux&FpzL>Otmf_|!C=zafCVjWPy|`6Q zP9q`rSr46%jspN08abAc1fE30VBioy6&dbMC*>N1 zpy>{_taOWVh6}F_W%G-7yjsC3!K1^0p7vhX4KRst!2w-jX=rVY9jW(4 zYRhr7lWqB}32W#vA-{4-RxGR4@tbEft5Kw1=<8+b1M);x!SLb!fFHQpl_(NkuzuJkG;6=m@XztiJUh+K{Rmrm0K}@ zD)V%|aM~I_PNAIqRVt+Cx>0fF_g9LoNCpSA(&K07cM_!cj^+)}x!=j`&}=I}Z!(q9 zdIZ=tIq-V2rIK|JysYwjjU*5y6xxM;UFC*socMq|@A1IsllpZwxo7Y^2qx;-CgM{WG>0qUJI-GaSaZwrt6AC zdDac-k~L4qWQfsD3GNkvT+8DVlm2MarILad=*1HIAXBdEg{8($bL?PoozOh{Q@(wI zrpD>rxV*q$*CmM4F&q4CmAvAE(37cB#5CQ1%EM&&I%}v5z4gZE)_Acm>vyHzGF7U* zt-yc00|RseG9f)Wfl8|+Ay_;s`g(W%cH?VxBc{V7h;}Sa#>1~gTdoRrsDFUB2;m2O+!cbyjt|8K=DZs2-cpSCn%K#H z-mrMiG&O&a6*w&Wa?y9VrE2PQ&tSaF$jJG?pv7mh-S~6T16K*W#%z00kGMcZrXA(5 z9zI25lT%+s3IU(+cC-iOrh zqTNgrW~m>@)2X?o{opN#-=fCR7%EFZTFyUpAW1<8sI|_bjoT3$ueCnr79EHKjL!F% z&2~`|0y1ZY-rK_WM_4m&Wq^OTXg9@L=Nn?r%zZ6_9^Rf}S76iY3e%Q@Vk{tZLD6qI zOrnz*B}H}L2%>oeA3QNfQ&u80b!9>y3gcL*Yd+v^M`;ojUG!hH1U)fEGi4ugPj3hcIH0F66m~ z&P;=*0v}O~$(G!kQDdqa`VFsQlEz5r9KTL&Z?#DYPR-weY?r-Pw6ADqUK8`-!5*=^ zvU!NVd4muM=un>B_+>XQZv5zS{_@WIf!)fKs~Kk6%Fld=5km?2nCju`WGf^xj`nx^!+RMX!v<%ZRxlvV z0`)0P>nI?t$Y^ye%mb&=3K?VKvP53eZ2C8cp4BUj?fvlMvTmCXH=F%MdV{mMT6)BZ zE4o96zIa{6d&yYW;^7$twPJRV|8b@(z4yG4>za!R^|IGKJ#-sD=On`C7ps_UIu zc!nX-yu_jYiI9>@L3BxxTFX6_x8i?|sl=085MXdr;9K+sIJ52J^MCf*eh<0+DD}1r z0vn{LbzO|ukT`Di+Q@(K3{G=RJSf(%QsTC@*$sHI4t=%uel3rBaczE^7VrL9`1^zI z#;KU)#cb8(>@A{|u#B{(pY~#PDuGdIq#1#zU&>K~tW#2Plw$vUy@}l=8MoG7z33f{ zSllwTR(qj=8+K|HlTBo6M{g(Gb=M0*?0hN4z*d#!CU{Y(kvEjoR};CJch5oH-WLAt?kr>vR)(g?}HnZpgZ2Kn-%5Um*L`17=B7?K&|Wg8uzp%NBEo={&JRRN1^Z5|_(NSJq4?p7N)jlqMW%j2RQkHxdCM z?k@|`pOny?&`}kpy&14gVQ=5E-CDf*+i=R-fNLW;ppyG3JNNsnRF!LVl>%RF*jql> zH5UVH;YyaT#H`coH8FFGt803Z!HZ~{7#h% zN9R_Y$*Eg3c=!frRbI?4N=sSo*Nd`|SF`_>911i=M zyWlP(*ejW~HtH8TzRlxndGfbVx=hjD}zxdHgiPVxSXk?^X7Ro@!9NC|C1}XPe#~cdUeavk9C0#V3L>oFl zt=g~YGyBma0;4yV-GP!3AEt%KdBdRPyTUZ(afVuW?}^h=kI|l#k>ngI z-2J-TdiZkwFry@*Twd~29ol8m4(}dZ0yCDU zN0js&OMjBT0$;Tx({hDv~5y~8!#*ego0yR%vX(-`*a z6&B;$oECXe+W?+)mx(M?PwOI$I8y6OsfbDjzQAvDWj+0_6XtU`&Gu!xaL!nvB49Dj zIdoM##P;2V3hv_BRKwZ)+9}x7TqbSXM#ax)$($d3e))I<3uly%rn5Jady%l4o^Ah( z%ReJ<&FO~UzT|x9UT(8`G1;M0{X`nNX5Q#r9)5ivAiy^d z>@TB5^=)KrTAK^5VVtXP%OC9=FcjeQ>S6+!+W3r$0=}ta(#EwdhHn!LuHnsZ1s*4( z3zT8aRN=-C1PxQV)B@N-Ted$an;9}!3FA8 zC(mQ!RCmh53xc(vo7ulzF4W#%lUuz1`8;B*isPrKYyFk6qtOE;=Bc)Q@2V>XL|eh| zSXB1dYfI^GJ1;S5MP~~EyS7ZyLInC-l(}eS(%wf*UO;?p)|CRb|5RKX{&St#SX)%t z>be`Y7YL&)xV(|uw58u7DBy?;A&f^ zj?x#bj@4}GNO@DL4;Byl{e^pvHmof-)s1AZ)(Bhzb@ zLHCzo^yQ$1-V4x>ddn4k*KJ0?^~pr_cL`SN4=ibT7RjxA;SE7(Zm6xPa8e5fuUc0f z!}i}D*2h2oP5joOU9};JsWg4nC+OZEq}${9!pz5iRXB5d7`?&+cT? zRt!2Rx3c)>`^HZlv$~`kCD5>&p+2>YgWC?BW#T`+hSyJa%qUbi@!w28x+&=Qc+m$g zk3YxVRfFfN1a5<04R9{@aFtdqf=ANqae-Fs$vW2N1Q>t1naO}@(o zcI%u=w3stqZmQ`f3}yM6Th*)DlfNx$TuqPNe7tcgMjhOg*u!t?uDbvBl+v2@sJVMH>t9Uw#WJ9(4>hXM#L_mqV$~7 zWQ^uYqtf65?Ef!No|Gx@P3i28uQVrw9WcCOPy1ru3k~c!cx$CZ{v^__j_^nKRw7b-Cew0HoP~#@6*r^tj=hqn0%8({+jgX501}^edwT; zp@)`?w-qW(>&HkknSLI?Gms1ie(>9GrhHyWFPi;H{NqR3ek=a35Qdd@(dj}>b#IV5 z5z{=~=ISxzZ0U)&Q}&35Z18&a9R9xTnc+sMLy;SmNrINhS13@w+aCnx{8m&-KD?pGr9!s3#{DAe9JipaRyaqwIF8-xl- z`k7zcOAd%uT3#-8Nj_UHMHQ-0EzHrM#I!bY6C_AHO5!@vX6QNc)SLb6=O`eO?9KdF z;i9M+5VD3d?4x<&q_-?rDAG24d#+;NwfKnh?yUUcd7G`l_s=eelR^bz-=Ra*hj#e6 zM7-VCZ=Q2KI=FfI3#|J(Q?}3M`ScHZ$3?1t(bCXC5VrEtKaW{_;`8$(?}w#2)x65~ zp4k4;cx!vj--CgKnX1Ez&+J+2k0pvSqEW4;jS_;S2_NmKbh|V`D&=QZG4{7*IM4UY ze->Upl=W!ze#9GlapU4SPR+JZz}iGMhI8Ade?TvS^Wfvns2jEsJ6(Kv&u%!4(RXeH zN0r6pUTx*>^ZT6KCI~g3PHa8X)lbigd#o%w|% zS%$j4ale2!x6*Ns<1^;emkKXkGl$f)3b4SOUqRFhe?1a$_Qj#>vcRbUS zP`6kkZ_+eiYam_)%UjpM$ zVCIkf<+%JF#?7mM?!;KpXRquz66iz#a@%f)OlHS^Qv>AiLXIdmuK z-^_QqfMOOR6O{R9&S9`g^>v2YN$@h=uUnZKz1J1W?^_Anx+z{XkpC7hwjJPUg73JH z4>sdIy*02-dw_YqfJzO{dO6+lE#CGlLOTRp`jiNIYjv>KgUbKZ_n{N+8r!#nM8Y?< zK&FW8nyF~v5JoeYnUU&En=BauL^FDj~zs3#ClgYkQ z?~@&EkP}Vi-}uS~er!uS3dZ-xN@X@U<~hC~b?k6hcir2zv`7-z6;R+4OnUL;g(X>* z`c1x*L=FLodw%!tiPyf+>(h`4VXvq->`BO#NBAxfBZ@=%xh%}rRG=3t{gi2Mw&~Kc zlKYutv{R^a1TbX&18-C;=aSPhQ( z*`V(ib9*T(>BrCNw=TOAuZEI;4wQ+6%aZFPr+$q#OF$seO(4+ws`8P3!_b$@%rB4B zZW;IR=k+-2$<^gKSArjm?My_?zZF2Z_b)MtzqI5~?GCeYOX^7x$FxsrbFy#Pe5M(C zd*`7_e6FD-2j%7o=x`wbCnOQw4!%ogbq_=nZs?zdVB~?f_-NHjj zK)3dPNik@(e+1fJbM0*OxpZXp=L0KK2^W0{E`8FyvcH+%q~XnyDrdi3lRfa)m7hYR z;qr1gH`Ko0a9n{mSJ{c0SrOL>VG0)utvjh74DZC!uR0w?MxtHp$X+U`T?+i~y*NK@ ztwj>iF~H~{Qa@y}<$KYXXU#{Q^#FR?Ogf;km( zFzGc9@}Bo;~JBin1dyFumv&kbAta ze6{U{wMAyePcM`Vd2Mh8|8m75uwgWanT-?7lSd^q{BgA}|CH|GyFcP7OSaz#4imL` zNaa%`(ndVaR106c`NGW4=GxWOCPKVX`7xPafK578K)mYD-{dD*LN7*=0<}Fy(&)eF z^5rpbNgw@YA&i`r-Bu&w;t=OLdYzV>=jq_U0?JJ;yS;if0wR_=&1xUP>60px&OC*# zNM+XO$LSS@TvXr9!rar^OhUfZn;KIrqT=K=`P)x>Mp{de1ksJlMZ;y}4%U&1YM))qLn1U&9srZPu~O2%@qI zvx{=!gL5Durz20o$0V))ucA+LVp%2o+R9+BLs0KA&E@cIE8xCdJ6Ti-pmdvE2$!m0 zTg)!3`!ER7lWvY2L9PPn_FVajugz5n%hCc!Q zlhVOc^$1{wtKO}RcBnJ&l(}cW<@09nhTxsUl>O>aUEJuN^I#D1rul-xuh`9u9D$ zmw`n(?=GrAEtef9vZfMu7v}dD!Ib{+KDt68(~BID!+UVA#c(ly@&o%D0EBY)e{oo! zdjVaQ0{T81-k(wNURvD5couVRr3&s4@Gph#97w?ORwQqb@2{#6Sdf$3kn}s{iq)k2 z_7%c;mf6sgI5py1PY=DHmr0+9Rt-}ITC4SJ|5WE;FQy~AWzmnH(lf+Udkh8={enJi zNEIEpw~o6UmWmtR!|mpJ^7@?1uj{%>{Nxg#s~s0l*6kJ&KJ+Ta*gT;ae*5v60-nug zoK~EG@ST_~UAS`v)*HV$x@f%%Tm@* zbf&rJ1dNZP{}~?xXnxNL81}V(Y2!cU|3yMY)=Wwnry|HPZ2^vW&+(mw@Q(FY_JnkQ ziE@-06VBaBxj^zZQiQ3ec`&>vkY5$i19LS6X2^-9QFil|>6TL)TW7@+SQ6c6gF1tAguh49 z1GJsi;S`A-^P}2$?e7ZlR`svmhJ7XFA>9vJ7&ZI$QtMW(1Py)vST2SlMV;R0OKlPk z@e$x{JQiW-4jWd&`}v1LBouEM^UG5Ttw`4K0@)_gU@tk~ZgTQGnRixFF3Y>oQtCyr z?}R?u3EQOwDH^~cPPx;(Qd@^C=ZT5Ygd9qj4bR)UZrXJ41Sl%dHsZaFu%oxT2w1~q z4!rSq--E89(o+3~CiO#+>7#^HB@la1z)Q?{$S7;aOLUWcgPq&SLC5C)i%_(Br)DDp z^b)DgY0|PYa1+Kk?Jey~1LZNzmj5i=OyxPsjQ+v$vP@vj^ z$dn%CgX_MgLJuRw%3j)Hk@|sPAVbRf`sjR+jU_`rX}V9j9Ib=FBBzOu&O{cHfqp?q zj2N$`?TJgpL~`&ZM{t3;`sjpD(4@fKrhum9z}gubnqBOx*}Rp40ir)cmb9UC2>A!- zS`{p4Phv%wfjwnR2eF`AXmKJ^LZYrf zn{Z%i?2RFY8j)`RQ$v;p%lUiz%jOXw$qmRXwI@vwno<3xfbw0?Bjd-W#jv!}v4 ze|Lu$2#KBId|n6TL8W}et2OvKfu0=b%6SPqx2kVE>wuPA`u!UXUdzD`OeB#42)mUJ zbwi(&vKxv#`aMV}HT$2}`NFx0)$WEi=GsTTYen*GD|u7S4zg)k#}I)G5Du7K@ZrjB z_G~H7;h(LeJoH4k5V&IwGmDIyPN!h*Ol7LTJ1$kM)R90z9qwG*n0SyX`M_=g@tL-* zFEfYp;Pf91x(^)gXN+gcGX2q%X;0DuO=lX$lC_*WGWL@Kxi~hG4VIqSeoA}!awHj8 z&%>7OUxGY+sJ1l+|DdC}dt`%aUf!m8=uO?}PseLn_Unf->h?D^r+6#!Kz_C`1Z*aZ zPPYC7nrRB~wuc-|`!7CXdBhHrhl-9l83=o{=Nl2>?aNu)CiZKQO#@Lta40OpZFC>I zhC4Ngmj-#Xc6Wr0AdlAb6Bnezuc18~?Lv-5fl2>-cbLDE;qjSB!jTyzd5zvi?DTw8 ziQHq5Le7>%o^+wU+X#BFFfMT-_oMN{Ts{^ldkXq?Xi4bAl^sd<<1gI_-=@j$fPOCc zC*2ExvSPaa0boZ8@fxJn1d!nK!hp-7B+dOWicJXWJZMarP`3rGqZ9qIs6Enf@z)9Q zOm9a|f6G={EKa~%j!ve9UY=P~CqbN`-3UdmDVkKE2;aSkMf(DEuxawyN6+q_?vugr z9mnXK5}F2z-d{$CqM%~$FRpiaC=DJQT2z25UoYr{E|dD5*XWn*agYf_KTEVt9J`jUdYyjPWI_F%!XE!EU>Z)G~Y9-@4aA@#++o~w#jLDyO z01^6U93BF|yXi83Oe~Mx@A6p0-p1&cnCwN%0xu69&uWH(8m1_uHczn-wGQ<5EM0+- z(rhyC-mb7DtWreq<-Is>ZzP22G=Qff@;_Kt12(p)U`I~=0FD~!wBjD5LlcLAIuD+cCq`KF`qE&7L%;K-;TwJ~( zdX^Us%r0ByPNXnv-?E<*Ds`$^2DLzb2k)Qt%uf4G@3zDSJB^R7ZDwHu-B6^FiLJU^ za_!ia3#Wo_8)NxXYh6YPS3TYuBAfZkmn#-eVQRm8e<1^QzKmT`IT7uu_kc!M{%?uL zJ@pZ<(BP~3|4Lk*m!cM^aEe+BljnkL{1387(e#it?BBnxlTDIS2CDBK^?sjV9V2kj zhy~R#i`%%r0S_sS;0lOeBoZ>b?_-mbaqH(1mdLnr@=seXEp>)rq<&B`yMUEs8=WLW z);@d|cfhesyZY44R;O8S|B8lRC}sW&O?6$FL?^7mtDDT`qZWkFB*M7D40h9x&KX2+R3UNb)EUM&rzcAPiB@TPw1@h{lv3Bgrp6pecsi63M ziQ2D}xK~QQEG3iLLxsE*ZsdijiD11(Dp1iG|DoO9O(2!w03s*+V}M)NyVV6-=ChA7 z05U(MdR@A-yd!oyAum0r&gg(sp=bp{2s#H(KeeeLuCv)@r`9C3+C~VjYK3{9{W2-^AfsS4bwRQXBJNnJ@8Wc*6`&pFyQCYIThsL~omZA7OfZ2@q5D zO%`m2S6q0?L&v|e){r|LYmmA>Ro3}jsh#TUn1;34VYE0YKE65lj}0InF*@C|ITzn@ zuus`gG!I}~aIpY+`z+nM zYrBRB11;okg%i$CzeXtT6Sj|IMBN)=J=OoR&g@Pz`J)UakjUTR)$IGII}L97lRa7Z zAH1#+G7Z8Eph+U4bm1Oy@Woe2sa0o?nv*T_T84tYUd*Nyg=G3vJGP&&#opyJar(ps zkS??xEy`~_p`uPQ9;?WWPEVr<*KU|-1J2;eNlGG4zYT##&*&mlSdTrtM^)RHdAhLEfoAmkY&X^IS`E}@ z0H#1)-(&pg-gbN89pjws6O4-fvJEcG`bEn^##3&gkfM7!qx#&G>H*+<6&;Xv;23z+ zC_BC;G6j4DOR!tLrf$696DR!o?CToDUr1;l9X^8Mg|j{L?ZYBsStW<6?jEU_xQbj2 z$3pu&oFuKA9Ro)`8E<<+gJfTK)*zK{UlVp+4ZR}rO;7&mchkDT1VT6lE;>Ea_aFJL zP!*^gIHKC#KCPq0FZn}h*EHUdEj7uNF>ORq#d7+WksGd#Tk<(fZL6q1uU%VN&wumu z4-jL&y$!+V|KO%Qy{$0J&^e<+pDg9@-oGfjSuehsIK+B1%e|O`uS#N1PisW0RSG@G ztsmXe^c_$T)weeQL_4u$FD^0_3LbTkwO|RQmQVJ3!1H5N;#O_>#7Qf}$i*@d2g_EWMbQ_mX6VNHA4}!d>H~wYW(oPADPu#V-&7b6~@u ziHS-H$!nx9P9CjT4OPIR(j9%{^}&YoqE-TAf>x(|4E3`9%tpbgC49KFBwr9 zi(y)#=WcV30Dzxftnn;{y7?Yl=inyJPR8oJGwu?$i|Hu?X0#qhnBkuX1;$F{@=y>W z3AD#&8*i#L*?Q?=pSaS#@$UFX#lI^33&h2I&F~37AHNpa18!}r_9Vx9gEgo4qpDQ< z3LDnjSF*VsBj6GgqNfYI;+5g2gaOd59NC*8Nc9?nk!v}{&A?S&+?iaN)w18w)M^fW5~!`7 z6L~#RC)f(~SDolGvr6>HvboA{QuL$Q3FCPA;;GKvutO74AKzL*y&znUb z<{0IX)yM!ThIMKiBSjeJC~zHzjU6rG?p(k_LRRqnIKPeYfslImp%}4KeP=C3?J=N+ z*QCGrsxdZchO%{=jHrIqrP~K>H2&avb$ZyqPMZcnc7__B2$Am~*CW8Z_SI zCR3)AK9q6F{9uxFa*4%k)^NAEpDn^EXFAevn`n!Yuyhm8F1?pZQF%v+=G7Al z`cEVf$JSQmLf&@gX4ho4)lbU)<4+bgPa{rW`f-Un!*G?@B@?rrFc>E0csh^s#3eH< z^!PIK2=zsAyz40q?9-qRR5p|6Wxd5|Jtzvg`Ph-B*WK}uuObVV)7?|Y zluD}w>eUZxCX(weWYWtKtVgYc>$H2bF&e>`S$dO6xdxW!MH7@4OpSjX0_Rb5LAB?R zM17%Uq1b2)R-JZt#tOPD6>hIt3?X71p>>zE~SIq<6>CAG6vQ} z5RS*Ye(QB(1J8{MF=-@BSS}mAZ zc<0#w=h)wB7Jzq4^?t$tYgU_7f%aDxY8vItDWF6^jcn}Wp|1_`%B}M;zI26WI9^i) z{iZr8GCWCU3QeDA^^4hieoPE&aQt`qU8MW8ld3(MC1r4m?LCR|&$C5TtVYEei1PUv zP;CfLiUkjTCCO_^jUm=~~eMVZt#$Z!Vfi(Ox>w!FY1$2n8 z8qfnGr;ARXM$@K^v_yVV-EJ##*cN@=uJ-;l5oldScwnBEnq8#`WW%>r5J*l0S^V;lYRBtN8Q<3>u1NR`!aHQ*6?(1aa+AxN zAwl%4gJl}3)71%-7dGDZo}rC>mX8~niG$sPXMcubOL2ap4WrHWxhM9=OKFoPKmsXV zggSr)F~*|%i5yZKWocI)d=+LLT(vp-$$H^c<&ncQI(AyuS_Wuxk@cZ$yn!939|R6Z z^>%6TM4`&@qpg5=MOv004_q9Mz0d4F9s;DJYEE-(7ivfmCqv4|;~mGICSK4ZP6=O) zxJC0ajx$R;qm6?(WA{P=(Jl4RRs}(>Y3;|-c=})I)$GGhl65qxZI?t2-%mu8+70n% z$*9G@ZZLi*xmaw3_e*zOJHfX(6s&7lDF*bTT_FD7oUhKbXJ5=^@dF`u4q0?3=*e{} z{WE2uSh6V9AS*?Q^_kh5TCFuo8vcQHVn*byz_8qoFdAR&bv1R_}`TW59mMaUha77X>H#f zl9eLs{E%}k-MQ3Z_O5!a+NjJ*Zz?f(pmGSjd_Q~TrTm}!k9VpM4wW)H@t@D4+O>Vl z6EAAIwVhz~NJ-&aiK4R?A68b9Nk8pR`+B zzLwcrMH|ATW!4h9f4PL*ER`x%Z7^(gPH;E%S3}-Xu1oJ*R+piW_mk+xj1SUToAoWr zCP8$6iuoEr6io|>Rm1feZFG!tzyZ}E#J;9p%2$bkn@;T4*MCIh9T<6P`+WcOB{UV| zb+|@is&A45I+uzEmepq&Q(cH#meYrhsn`L@!_5w+HuIv4?{ zOTq@YDi=xP;u?~v5pKmy8_D1M1>&JF2$H|NG&zQ0gVJD$3NhWJ@t{(byE5FmI9&TB zcSYO?$0|8i(X&nN^{;q;-CGjL#oacv5SxX+%dKr@{Wr+cq!M^mcxE!@h8QvD$;&nm|zq_Ylq`>IhriPgU7uGPJ)M&O;7Al7C%1zE9Gr z6%0?hC6w5(2?a0BYG7GroMtq(ttt%|12R2bH??_^C~qs~HjRb=`{K8p5wpB=^;3X$ z)gKD0f%?6%s2Mfc5ejk-1-CmF1RndFlrBBK1^iFv4>X`LOj1K>9x|W9);oa zy*(1)EShszxs4)=)&n*3;dX5Exn$4+PRfI-0{yOc_Gn*bUVzz@=8w*Uu{|nl zp9D^@(3Z|~d@l^pAM+fbG(Jq%6|sx;y!x}A>zMLT)p$!11{$M?a_Na(jmP>ypX<=Geq$UYQ8br)YlEPsIJ3FtQ##xCxHhZN|AI=YVYcf~{iVK8*X z^8kF!F5WWy!dyBw(qhjaMsxS{_yFo|ynJoHZcm?dK;-O^wWK~6DGwC~yaq%ql6M>f zPUx-p-;n?)tPdcsqv=Q>a(o{KkQAoX3TtPbfbe}lr|lZy(-g)3X-5fe_H1^KDc+fHp)|nu zG+;%{mDaGrM*@dcE}oR#q`3SX=^1@^YVSG998Nh-Ij=0#i{5!-?LMba&4s1qO4!W8 zlf)52%7{kiX&s!p(=UBxE+bk2$-SV8xEZD3I}=~i?_|S})BID8>}I3j$>uSLDpb`$ zP}0GghDlw8OR2qPBuZTMq@ZLZsp`A7zi-Q9az(th*DtS_K@KBq0;*f={Ng-yJ@d8a zei2RqXpOHsuZ&(=m$Rt)4GUyv(X9?aps+1fh2hDI4`s-ZAEq4M^3ZzVaQfNDuMKE> zORvyss{*%qE-7LuQiO=mE&zPBY3&05S;2WH40W-6H)y5`nTXZ0Kd8krh1~6i$eFf3 zW^k9ms_!x6%rk(TdH}E3I|Fe*^vB&CZMK7Me$EBeG6mqzEc&2EKnzmuWGvcMEne@H%nJ_Qo;X7RNLa#|qc~2IRZQKJBLb z4Z^|Jhte+E?euuzI1e{)4Vs_7&_qdawJJZ2EovWk?NY6P(VxtH4@oAk1kW)0YNO3~ zQ{co2{}VP*I)Uq{jZ&bt2tIs=fX0Wy@6NmHIf-Kl)qOK-#-*!1S~?I+@ktvL|G4DE z%Me|2MgY&O*3*KPa9z;l$8X_0gt`m*(|5FTpct29e@6>(N)*W(sZVgg%zMB(AZUn| z+vHp8$gn>F@H802XhzpSto96uQ;e!F9Qtt09D4G>_5y;sJC~DiU%Xm-!>||Zt8^ee zb=nC&NB90Kmu^G%>uT+$)krC$7@~KgV%}nUS9UVxXO*E_YxLrY90-sxCja~|Pg8vx ze}a)k3*N8Pt@QcGKz}O+bhERU!$3E?Hz*TpMgIeOS84?9v3eW$$;sq>Qz#`bveUQf*cil{p_{%P1*nUytg9RfIp zMCSmpRNQdXq#m9)fe68&27%{o4N#K50nj#3{ed(lPk6)|y@-uh7HTGIdsU|fym-OQ znM032Z}CRKzKOnpOh{Oamfy4^7@?efts7kT8Wb$Ui6|};UMN!-q0~g6q`>-HEFia@ z5v3S4gmp18H~;3*-NR};MJ1f)YRH#Uq=w?wKZxser9LWe7r?BihOPyNqSB0i7RYy( z4rv4x($;OKRHrg1Zf+?d8}V_;DXC2ioOKsTUg^P0v*R1na^TyFJ#beYGXP%#X9~UU zyw;;W^BA59PHz3UWk&)`jz{)Angnf105g+)Jcw zLms+_8{5jx3T8sBW|Gnn;tJV%veryw;F_S4wqeOz;`P9Cc8m0=&(73ZyY3aqD6gl( zvmlBbznvW=G7O*oWTar1?_ij2O*VvQoelQ8ObQ`92I6VwC9W`PsMD$Ar<&xp)6dRP zq!>pRq}95rg#^8IOzAC}Ii=2F+p_=oB>c-xV-P+g#X>Kg3Cds05if3mK3T9;DtA$K zca^RV8=#qJ_iwzqnC^DwzsBeL0lE3ZjXH9*TY+6Y_QGqE~ey`V!y(;Ys0fG>QZ=`v2s_$>t z^7JXGNI4ypDH^_E9lP9oczSu)?^q{gMUf0J!mJl`2NY+vycE!*89!Oexn+?}EInOK2g=1-z+x@2vJ)Mot-t}1; zytX$2B`0T9)A5EPFBw`#WVK6iqlvLIz4FfMLkXc$KPac|P#(QsXz5>-y6TuM4~Mvm zYvoMQbYLs$kv!cjDtF$Bb*C=ed{dr6)=r2Rn3y?fd^k96;@(N21j{9~gvMFEkW{T&yIx zK)~dL0zOy#f>jeG86%Wkl2BYJ;_B*4e*6q!_z@ZujTJju&w(xse6i9QjWy&bJL*I3 z_-wo(X)dz_XH>VQfRd^!yz{)a^dFHty9jf+voR^AE%~1>cTmKQk{M# z`z$5Mo#zv2KwMI6gE^GWakKEsV6xzOW&kgu+XIvwc>oaw7y;U7YI3K>xt6P)Hg;PN z4py*OFs#V%AI)Qle-;5heq*44C#V+uI8fEM?|b!-(#sl|oTfAu4eE^ztyQB=-#4su zF*=<>+e)rN)23w}u;T2GXDWz|#8ffwRWt8>+6=d0H5$p03d9GJ;D|g>RdX?Ccp8eM zwSG~?of}#FIg!Eatc43XoP@22fU{NYr0{18odM7;T$_DigFGrZCSp6bu2(72ccYK3 z`YL(NPn>u)Q@pO9MTlA8O%+`Gsyq%D(9cw&!X@6AV_Np#x${T5D|Ljk< z9s6auSHbm}Ed~W~%xtQmQXsg-QjVV3*%tzD2V0DX&lX&mQABS?m!YI~K~Djj^>}IQ zTCe-j10W$g)<4!zK|UAjAH6YYc`06DgIY=GZ+79>pp6;zB)Zu1a#A=eX7Q8gwV8dr z)%(uD*}#LMuoaW@e4K7lrAN*$QEM_w(bi6D8{XKtd)s5)EdR;9REN)adB!M4$+Xq8 z_m+-fP68MOZ)^JLNYA;vE`!KZJB|&R3X{-b)H?K1uN*doHTr}ff-7xmAxHp4c1;%{ z$V!Oi-$AeCKDEnqi?>T{l(l+<#xuz1@-qIwLeZxAlwT_}Cu_Uf!E3V~qn3M;x2ylL z-|kA1p&y}-Ne4p(MlD5I+lLUe(3eW_*xms@>{9Nk`SEMYuTkRp&7l*fy|!W|3c?P` z$T?2^BZXnJzd5V|LYg6f9cBeHiLj6M8m}3)B2A<#`Jd|CYQ3uJL{A_v-pbjO#vZDF zZ5my1R*&pd;_Jf<7%$K}8RpH1;&Jv>uT!iyJZYaPrDtPz_QjtlzZBgT@sSms8i3(I z576JcC|(m};oAmLLe4;j7eRIWR_^}LRQuh%*_-*7F&hEHPggx_ITJDMrCFa~2q}rF zlg-`lW;p{@hVm0Q%h`~W8Z~9l(yxj8#oN)H7!UrfhtD?~t{I7TAm-IjE``9cGxLu6 zHiEwLAl*s>W`gS+5lA&1 z?r#mD@2PdlhIF{@`Z&gBhy33=(i5m>Ugdu-N@Akl4pWv~zN)D6-+2$>%7YJo#2@C; z$>!N}>&=3DByB59Z|#=gJH*&+a33)@jdbgbsshZ)W+I59*37E5>&LPE7Zf2H5Gu+p z@(oit11D6-ce10#!el(YBL7(rqTelR7o(Et))l5QO*7(qE#3O7Qq%`@ zUy(SG?i+GEWUA)_2Ld~&bH7z$)b7isdqKb)LR^r2S<-LOZh+SLR1<)e0^a=!AOzdSbBM@bE{HzHBlw**;~RCWtkz9yWhCjoaIwr`38Oq8HPj zfLgX8T*)PO7Nd0tVfkL2SEFn`-fbW`+Y_N^#SW_wEgmtxU42*kmvwEbKzDolvJ0(Y zgoIHg?Q+K1ZcD(EaZyS#?R?+g#XnD9jcNK5W@y8=I`7}VWEodcCV#!RUETS4K?lZb zQl^Y<*}rSGg0r0By&91xfmoIlWD6PVMd^Sf#e|0H#oC{d0 z!n2vLgYV}(0i>_t;aggX*w7^K%ux7g`(I!r<_^g4d0kmw+xdYrwx;)PG6?>zX7=89 zR!%o4wS~iBu$TUC4cFH+Mb%g}g#>|a_9^Nwa|!37P^v|=Y|lY)m>4_A6$Bm-ngj;3^0gYS z4IsBACjj$59$Le+r;=<4v8TIY$hpthzdcaCNg26GcAhL23N{a0m*78Hc6Cc=o5t44 zJMH`d3!{ItB#OrCQ>Dj%e>b=Ix?_C>V82Y?{RAT9g-!ytE>*qWns3=5c7vS8H{ZFn z{qtSO{k;0304x12BrpPfDz`leNSv#WKUFg9OGR?iy*6@ z*h8(WzVE3I5@!9x(K5r$zeA#)@TxBJmvd}?>EkdNO-rpiQzcXKb`|-KQS7{V_Gpwx z2C76Unvx=P3d6nQ0H*38m5fcD(q=9#D#hSsAf*9WLaJuHlAwsC<3^zR0g))EO4Egn z6Y*G)BRf)&>uUI`UmugucEz@m<_Kjx$SZ#g=J5wnoVfM81-)lF<>X~#UumEp!qm4p zk;R46rX&!NEI<^pKjn7=Crj1JJxQA)VVs-&d$cqk3ht2d-sM=&Tj9DL;`1`B`5}Wg z1L$zgFYz!%EMGZWUS`g>+lD+y2zXHRxSWyU3k4bT5OdulYNgwBdGTkq;%y(a`abJY zc<=r@R_XzH215e70*T<{5dd1!huY?&MdMO^wBfO?Ex-r}jjsd0F?ch7e?DlFaaFLp zVXY5Ll94uNG*79u<|!n=NzC>9yz>DOYtN&I6d1q{e-DSJ1{^i3#2%Z#n#tSVJ+A=LV$*zF<61|LxD7s2HEM3}f%OSH3ZP9NnmMRM-6*Ort~!#}rBTG=1=^PRGm9 z{W22!{0#-eMT>k(J+y%K5#Q|E9%UFMpKkqYiR|>HayoB5jN;(i1M`#bpO$0`$nBre zog-GYu6tLQ2VbG<{|LJ@j4xf>yY{8b1@;asSU#zzHb7&S zE_em%Bq!dqpD}Ry^H&s*K{egJCK?CkW!25{6ILtM6ZG4>`*fF5n>)LTzkv9O>^90p z#ad@V-$E$Rb6pmu>@}AQ{wQdBN#6`uqHEYBGU8MLH6!r+jMdTcl>8UB`k8Km3Wf^_>=C8+p8ez`{YNB7tK5&) z%0vF`<<9`O3JvbH(Um|{EiC;&$r!vxD%!0e_vMEx=LfxGTy103Xm+NXq+SRQai=Em zf>lS7cR+Rx*y)J@%A)Y21Rc2Nj}gJ9ZIcI8v8{NveFd!T%C4NqDvQ^=Mc6tRA>puI z$SJ#7c0;C8wwmPkrXuxrt|wZqLXClS+es4;j_oMWnQu`d1HD`HSn}iv4g6s&1kg99 zkOQW4O~eSE;!A4|IiX?m%*V~#iHRST^m`JkKd-L0IFvPb27ij}`t#QfU0A!WVHvh8 zv#Z<`=L*Gw7sdPrfKqI(w#zqBIL!fo~a8(ZzX4{y=*T&;OFVDF}QBBE}jR(Z#fOb6xv-)tLs?3@+kpQFZ-|37fp9zmBA0xdmTI)hq()!JoMoM0e{%CHhXkGYqf5!+tY`^rBc1Wl`6(F%3)d zP!?^w$_dn0`oDYv)G%?vz?XYQUco-K(I4uRad}9y@hx;}SOwVyIb-n5mp>-${qm>w z<DJ6)CO!iqkFHcsbS2PWARRxsODjVNbFRRd0okj)8I095fXRLK_DZd!-0Z=8O;_PSZ+Z# z7=vDdoH#*Fz{2tP(+x|kR?;^oo_dnd92lXleX`lMtXY;gsG8(wT=Z3Zh%Elvl&QXW zyk0;*kJ*n{Ou0IRAYn^=B;@`I5>UaK0`VfHD0X&z|77NOSzhrYC84KwCVS-u9gZPy z*Ky=d!yeV&e8s4ZSV==I0lKaF18yR98T@4Re!0u<@*zVG2J6BH^Oz5OcJnBo|0-Hf zPtq2aEKWRSwxVR!*-P=(A2TmJwr^s)u3}gB^?4!6n2`lMlN6(ZS&3WHhf^<5oj0c) zeXafuwe5KC51WPI;c1*xawi*T`cn{{W$r>pA6_!~=sOkA>t*adsn^H46?Q-=|1Y0z zO~)_7L*4M6-8LR2GW{tsUfj)A3snnE3k?gEtM|qv-W#!?c3%L8R%`zAH?(T~O%Kc1 z39icp&H*Wc&KPhK3B8(rpTeYIv=31Vcn?v@xcZ4Lb5?-|npX_oUj?l2@s7ER^bU>4 z)7Uk!vc7U%nv(jt}8;hP^PXZ=b8eam|yHpA@GtM{|>5u z%@kocfN_mpgqvVfFQbygq2Gv>@ht%M8b+(a|L2JRomcWefl{o590ZHw#Uv_d{lsVB zMut&;()CoyOo;X#UAd7C!B!6pKDApjM^VH(XIsTslEP|a#*?FnzaWYY*~vgHYgDq68Uy>^tU-Ady;Sq>pXVlsAbpquYbytVwFkGX-^aga`>1~jO9r!8cs{TG53*U zSy2mdrO*h6>!Il+e^3gf$Ji)ueuF4e8vK?ow;wL9d%&yNiCaE`S!&j;Mc-Of8t6Q7 z(%u2Oh;9E}2`h+^fGdFgO{xY_h2nkMwmYko7idsf5TspN3{yFc79~bDI))`mA3^N!=g;=w>0Eak?UxO>q0Uby9a}st5NsJnm zlW%j?sp}b*{bNNh?Wk9949G8_E}mP_V~AzY)2?5 zB^zn?;Oo29LWsh=A~yxNUJs-v3mF4SXdO2v2d9Y8&*GN4Z|Xb?IghHgW3>$75tPLLgm*c! z@$5wfEBV-ci*y}LuTcSkfJYQK=uTFC&K00EQ2)#4$O$FJp!AgNnl+Wz6=Zps3Meze znZmS4C_(Cv#^O9#O^x8JyhQD)n~3*bDrR-bkRBfM{RE-nQhdLm82l=Usz9zh8C{zV z70G3w>+XqV=CPSQPu2s}8Im2L$E7=osn_%FJ#Bnxp?X{?(Y)m9*&o@>BpvK&7-`vt zD4leit91;&o7~AP{Iiaa!AtPEr%nCAHK*-eY(XDTamK;4?VH);qdX{awl-D6q z>zfS!i`)hnQ!Fh%J#yL!vH3iaCvf3dsu_9ytI-*v~vCPPh}HQPxaGm1JSJu8h&%lOzHrqe^iBl$*H0?bH2jeUG+2 z=p>rU;1Yr8{j@io5Q$`n#2E1_2ATatcuMiAZ}Ox-mn&y*Rm1O4{501Q+7Y5T_GV^e zqE>GE=BslSew)9KMv+CIM`0SdBKn0xYWjhttf&`$1je*FG@%PNPpI5vrar*o< zFfF|@f1#2=OkW4`d_&1_CLJuq!@&3FTK6I?03yzw1}KanCkwc8cgW~^Zo zNWL^L_!?$@HyV<$9^Y#9+XJ7vLJW>lzw|XauGJG>TI-oM0C8vsRbfvDLaZ9x;yRsx zABivBv(%#oC}KUEI8k8MYz z>q1~k!Pf4j(kn4OYBUN1Qp-tvPZp{EbEJIBM-Mu`3|hNfX&ZHa<`Y!kW}&_A*!;cN zbCo`cnI0>ORFGUQmK2~@PDhhG`DO1%jQglEjg|!zB8_@ZqiUqy6xuLS2i17BTmVCk{F zqA%io+O6OmA#e^I(`6tDJ`cb@#4{r8{O-;e?%m)hBoPi|?+3wSv;qsvBk#&B}rHYmO723G)`D;UpN;iJC(uG^)qoc2FCC)t5ly$rd?$$JEd z12q|Optv6n&|fQ%SW7S6agBqt+|9zICTb7rT`+0`rtFvJ*k5qSk}o?iJ2;x!xB0|V zYAMN9mdvk<&G$J%8&7~=3kfp_-Zl_>S00Q6=JXR-_1%8;^?lk6>GgL8Wz{w{l!Ud=P+1|x4X(sU=ko8LSjosn z#sOK0+(HAiNstT8#eu>GE9hw4u-=a3q@N~H=dW^0gSN$4_O4UBt{QSZ1>L0wZ)=Igbr@GU)%L52^!kh?A_2`*&GDfIB-XzpiA%FW1HfIx3qnUq$g>14|_K zM@49?lpi~dg-RslvT}`($zzjYUbFR*d|s-@ta;}{_|6|_{fgR{(?IPeXZe{1GG;Gua>kx{@PCz3{@YVn`xBmW$;eHD{!92yS@X3lj9LUBGsXO#Aw|Td7-?4VnF^m$P zwD7X`ee)kMNI3(L)Bt$%pscgyrY8kD6Z!*id#;kz5Y<*L5^{eAVh19^K%nZ(Bp{w# zE=fstUt72`$ncdMup4t{N27<&*)2A>;5CD11F`F>0>kwb!8n%XGXB(?g1>9`Hz8e2 zlhDxJ(ak9!_TtuX7%&oA=ny~`@859;hV_NqR^MNwZjoE&oSy6+Oa}IM zkQ4nM&fYpG&i-2-9CUCA!GcS03qgVm?gaOs!JXi4A-FS065N6ZcMUGV-931453tYV z{l53^z4hDLtu6k6f*N3+kDSxpr+bJR%Wx1Vl(+;LIB(U2{D()C6q8b%0KIn@MimY3 zwseS#l}7?WqetA$RIu=#?512wa$N)-or$*J*2X*!ZWB{JZdXJ+NlzZ>Iw;(_F_Dto zFp(wwEmujrEJ-qZ8uNC6eW&Q$y66Bq`T7rbAyA0}sfQCS%py6)EYnD=VP8G|}3Sdep=f%ySR@;QGx=9R~ zCmnE^_&as}JrKF~k*g2HMGC?IsCQ^{>22xlb-O>|#AFsQF5SEnCjZF1insIdE> zm9%bhD*RCJG^Lvrxt4hop1I3P4m)cPSWUtUa$)|Ic+GjCTz?Ou57}w>?8y}{mzM!p z{D@U;V5Rxd#pAT$!!+u_E2;-HX6-wszM#ESF_6Zjmza3+} zrwTD27gG9i<}|)LB|ScEz4^p1mGXEu+wSMoIHYeM6h#2MA8!##uKZI647dPNQ~UlR z%J8ZxCH>}+;$xV$`n&GI_eYTz8h52;GOLdk{#O51%=m7r-tVBE z2bg?9Ab>M&1@4DbL4Z4NGX=eB+9$0IBH?1$$cnhK+Bij z?sDl+>W9SOWW%IYE=}M1zp44ARp8wD6mE4o`F~D5yKa{L)|B}&;GF$f&sELYl zZKPkcve>i(Rsf&`)kIiM>-24Ip^IS`VnF!UYn-6_=6`sNW3!-T=yl2hIQSn9fXc#t zDf|;1?IuFlEYHVrJ%!*I;Yzn-68lPzlH!RlAVAz}S%Hy-hvkhmz-K)r5#8qI}~#G9tuNceaAlG$HnHt$1g|tpMd?x?hi(Z zI7y2xv%nBbCW4cn<557h&Gz+A=+g;0^!4Fwr{*TW#cm313 z|D)2=QWfQ|hT)~it*46u;bmcOzQJMVhJMAREr;LZWv~IgS6qdL6_!P-F#U9+Xx~Dv|y<6+VO)xl<{(>hDx%-86UU20JZWhk#>0GfrfF`kjGbnw_QD5d^bz$ltE~!apMpu)gXlD2?&e3Fhsq)_*6} z+XM_x)YYE;gM+f<1`&-ob&P?3upALo6`*cn;$_REEo=YIN z$bmE_Zr^KdshOXh7aRgKQj%9N`!+O{^MszA*Hw+YE%9Zvp`Jolrr-cOS^l3-Hn$T! z^olDO> z67uO~UD53>2hQID$dQ%W0cDJSu{1m5P-QqAe^rDl;9*B`W~i&tOLUz_{v$slX4oW& z4iQHs*29#s*Vs27_Lv_&KHk%lc%pObeOreO5qy7D5>Ij$;@4v@Y>)b2@O zkQcwJ@|5nCT4A{cZuWQBBJfU#dhjuD#?t4&px9p#G2p*ies#Pm{N7ht7%nZU4&KOKc$ZPv<%FpUzWitmEmS{b|+;?d=!CF?|-}A0t^t#%q## zA6{|L{+Ym;eX01a;&p&t1-%SuL`y$zUo5-eMq;MZMubw^l(b%%{9vd*RnStm>k4B& z`NR!iyCP>$H5rmf^D}k>YdhaZn}imkK2-X+@OZ*@_zgB9`a|0+&-ew0Z9`37UuG&p z6a%B2te;#s^~nHDOlIe;_{Ircj4&^}QqpMVpR;XMHsK8=-30R6&LVV!_5RpP=2J%D zJ<|yJTMuZjq~ocz{64MH2C!cJVC&UEq*M{FSpq;n}!2man!Tzz!I_8I7G^pNh*ktnMvj)KWc9^#|o_beN1 z^fq6hUZGzTv@&B7miEN~0s|G{UzdUVaWsYhv9T81W>lIV+xc0|N$}`t&)OHSIqG*+ zjs3oL?IXI^&^x#2rqIUNQjo#HyV?Cf_e-5O5*=S9r~cYXXS~rI!?m%z5wxw}&%EiT z|JL`t(g$I8cDH{VB=0zS8@>AZj~egZb9jTYna5|sbD;Vu>lalO)y!o7zIW-+ z!jgqz&IF(rTNZEQ(@d&lyUwetzWpZ)#Z46f%xbJZmUMdg`=idQfz6LEUs)mZetbrc z@k9*~TzZQ&(1q=s@W%7mtS3Ewsm3<5p`Vti`%1KHehQ!n+X@kL?Z$4EgktK^E>1&kBJ}{ABD{5eu2^L-YN)- zfC%QU1C8MBi}#B2+2=kXH{(+d>5Dhkm_)|JO*b2n^f7E0tw5Gnx*nj=maS-%4nQV7 zCE$=QzK4~g(0@&@#e{eGM)%CBf1lg5U)fALX)72v(n{yQg!9kf{g3bU3J{cYHErU&?b_nI!TFU*i+?KAsEak1(LC>m-5ElN7Z zUSwMMp==e~&C6xD^zFf-d(sB(04<@%-P6w)_ke}6zqdp!*-+c8Ik&X{;JCSKy*+^& z-ACrWL}lFC7sZDoQYQIFu9lVCFT=muo0ENXJ&MBS?QfzkZ8pRebKFXRLfc7S`ckz& zNB5Fc!Q||}i*%rN;XEU?|24DY25g?IO_Me#PsyZWK^Z31C+q&@uWh*!VnqlL; z?Alu+i?|OP>+)NKJ81DVm@f@Y5i>g#4A>sOmZM*71DTBka3~+II@|)ag|=W&@zo$o+&0X7 z`~n3p@=GL$z}%{ujf;nwshX?i(b4rxuoglZDa3ar^M$VQw=+d@5H^nT49s`^G7#3= zPj1dW0=4kygJa10eW?FUsL(2`4;9+y<&Wg3yrS!jR|UYfRxd4&&wk^QgbJ|9J(>NY zcX1Wk;jC|DNoxYG9YYbw*4tk6Q#GO?9ZN~;eiq``#W%(C!Y~skyY#ed@KB-mt z?%3!{>3+36R&@mvka7$Fi40@93eFNb8SEIP z;cpV0(u>}upc2I?!Ynqgrmyti`F)cdKlN-fd5 zSnjt%nnLC}-A*;t?q9FN+&?2dmtJ9mhxMv}{YGB&G+-Mg-$pOEjtZ&xY?z5jsyz^| zb$!T#Lg_nq!k~K!;Eh!?fxSe~OaLy00{lb3tB>lDE_YZ%!!8bWez)BhRK{gdI{BwC} zsI`guua`8Q;E%YD7RonJH0^yFdA$z|Crk|XrayAxl05#%XzQ#;QV9D4x&e|wrH2Hi zriT7VpW7ZNJ=^*eFB=~tRM_Jy6T6`P8P!?hI?RHdeOsEGI0+c?ml!L4PF$3TCVeYA zSx9xlfEisv=iFhJmM1ild@kZ>=dXZ-yecM?i$=SL_Un0eq4XBpa0yYN0 zGYZdj1!8WY$FG{3{fSQr%Sd6DUy-}_xhmzS0<@d+ZZvIS%RXbW12!t~3}mZqDShlY z>P>g1W%KHsfR<22Pv5i|08tj$n^+UdPfKI}+QG^yc};vm;=U+pzbkNT zF_?}gzkD8f5+<1lhU|*A3JXtvjR@A0c7R{;xPogjw(81h`0$b-Sg^hj9<>CYi4#Dh zwUlm8fN2DZH1cV#5R9xWZNyygoe1n3-fP4i2~T@~Np!)?5osln4UtD*+^b%QwufBp)=D*_1MlRx~leu+Naew*4p&#tLE z2Krct*a9w0YU2Mj(Y@33OrO6K{TBO%J?pO_a%IM!4De`=`2|2R*mcUKJ%K4VJ(o8| z51OCe?!uz8p8OX_yy-kso4sGml}Tp4x)XkPE~tqf%7WONumeCph6?w-52s_r>nvr} zRnl}N>7bAmZn(pQQy8nHvrDvnVR5Do`d!LtLwd`0;oW}i4Z%tD$EDO9>~8;S7^U(U zSBKtx2LP|Dy7o1@pIRJrT8teh-%Q=m1n7x0>KN6(C(Fq^0=#3>mQlRvw8)@PxQh?4 zFu+X$Y1{pBAk=~P_wJ1u`LK!8!q2Bv|N4KMSd+IxAsE-juNSP}wn2~chWBfsRwXe5 z%s4g%5W9#s4;Pd4eWaTKu~O0rf0GXk_MbF;>4&}SOZ8u1g``KGy7OARB7 zYWB8+IE+eXlH-hqUID7LK7M(JHMy~Gh%~Pg*&%spOL;Z&`l@~t`T5a*0Mm=BO>xF2 zk=+i5GbRdv5U*@ez=@e33H@!61!>GC>J1m-KfK-iiA>rP|IcNRvWQIN0hk+`pv55OwZJ@+D~*V8 zrpur1${i|tRl->Ls(^11x;axV*ieNl$KIUeboXedAu=fFbKk z>o*(zFvE!^AZ#nD0M;RWUdnurL7e(fL_iEZ-V(5?ZaOkuC^k8x!Wlx&iE_4XwIEZ` zoJ{qH{B<$CmV4p_%*$r*-tBzBBE+%L2Y!`rO~XIyI(;F&?3){?ku(4C^HgdwwqVj5lG_uFL%A*Yao^hk=vgDfHafJ+bs+Oh zz=1v0XIpNkbJ3@{xl=mXgH{-*bFA3b^PurOXY#Rsc5@^5%?47qd~OE9Q=OU$tspn` z3Pm?{udz5KMoJ?jahGn)cBIef{3oEAT~;j(3~xOF&lVvZ@3j(kjEo=SZ%pZ_r7|icVf@Xa)~H&<3H7$ zgQbxGkYSVb9)+urGPdb+byzaUjO7m8e+dgebXr_oaf>gFwixCDDHE2c6wmlpyd?(` zW))e5j?`TbXkA!t)k|bEmemyb@>g*wh!9s!70oh3ow4Z4XXv}TVr zI{s5_zJ1H`>?ro@o0Nv`mv?S|wgId#B)5R{^({aRx9<1?fpY#~sE z*jvcv*uwCa-<99U>)xH}t2F1Iulhbam$uG+^&Vb*p_U~^VigcfO8s==TP7VHpiObp z0p2*y)`^pYkc?3HVT0WGPP_5Yb8f@mWZJqeC=5D2R6kUs*XeD}&BU%UP8~XM>A$JG zYc#LmC}V}#>1(uUjA7S>Z+RTIUiTi5sk{!WV|alUmbCfe>wQ|`aUS5V0HR2D>?KCJ zu3@77O0{_4=wRb=q`Ig%8oqETzOa|}2gu}&Rhe#}=dgH>u5|k|Q2XISh`@1|Wd`(m z=#st9hd(q%ac9ei#Cg~9qRif0ab?(BHMh;Rgsm?vjn#cVBrav6H;NdqSq^a*plg*J zy}ep(#gK%4U+I0RPF znos%N5g}L`&vuhQ-_zDBLVmwn>!zVeA?7;ozR)R+oPcp?!NMF^3iuOqYoufQ!(VHxTU_Hc?)tuHr$YDkvvP66Mg((2eu@Eqvh!{Qh%1K^4olUP17xW7?QOUbO>;g& zR%%IkThpN$7Fl`*ly}7=7kRDY$_TVkb3`4Vsx1+EnCvwSFUsD0SoQT_3V5Lxgq(8p z>Zas?8w(L%)WI6yv!#FA%Qt-J{#{H#Nr!jYMeTwx9Tb-@t z2JS*M04uzv>ssDn1Ho^-x#nz;c~))R=UQYhkaV_Pb-whcB%!{#l&HFXYhg&SlG^vA zfE;a(>6uSWtCU0BRwZS1a;cb1^=NmMxcgX;i?IgoVh#T1ILv+AH6%L{CYJbNW;6vk zLEfjxB(^xm7J8wGBHv=pe>`Y)PRpv-GO&{MtHVveniC2LB_!mUhmw1G0C#|J;m0(N(;_UV7 zO7VAKw%}Ow>N^4FGrsM+l+6rv*OC9jdKOfpq@I~vr=%tzBE{VNvQ}gHtvyMm>YUVM6)M6+$NS=QjQ+E|QvR5ub_@Gsav|il>tcV>0S4x}{;=(SfmXU&X)7S$;LYEs<;<^j* zq2+C%wk$(!we$l0{X(8YTEZ*1H$$Jm{%T}l!I56#Sl#>4tINgS9T1Kk&nz8Ef~+9B z`eh#efF4(J(zYYJB~FWH0r-K`YdH8;ZMVNtHFVQk?)FQ109A{cJ$moQ7Y^2SB=O%C zBAlgzz=t2H7oXtljkD8sscgII$HdSjd2vny%idAeDVU(=dPzJ_2*;yOo?f)8*B9-- z_PPMHCWN-`DDSU7o5X~V7cf-2t^ncZay<5BHIH`(eS#EM^$Fr&U5qm~F2q9QIQ;n6 zS%9-FxCaL1d~OFa>5aQt&`t{Rw#VW()8_i$UpN49*SHv>F67PJ_(rcKo2d3bFHb0& zR59whz}ezpPKVUT>r81)vDTKPT)oB_l49Q?9oLfQp@y5?fn3dXX<~ob5k21;fTH_g zF!C?OVd@)Ac~kaXvb$18#z`PdT?Ts9nIM!dqQdE|*Hbs0_L4*f6B=mu4A$U}jRFIt zvregR2o&M2fPgSBpI2%R$|5Xz{H-Bwn`!-gWx$c`YhOLgv#kl$m}R5BJE|IDGpiXe zr}nRLQk**WlMzUVzCJb*VA-9_d~|VK3k1(#31(*M|y7%s8 z_aH_4dYABF)9gEWgA^mq*bTsWy?i19GCm@`5W4IB9gtzR@A)3RhV8hXVhC=Ky zC3?d5Nh1*a120C(gLv;*=G1~HICOjHyXsaxy{Uk-~avCEt1{8$m7*qimaQOaIOR(u|Z2g|1mw)NQ_riV-i? z62Oe%-=5aQs#GMz_B@-Q5waVQ2Qy;P1gk3v$Q->a@Y`q1z3V304LxM2^;!$>m*=%J zOYxd!43=)a#Jkc^$^`kwcOryw+Z!3JJtL3fzwAZ$-wQlBn)VZ6ab2paI`clN&a!1Q zIl%$;o3#M3S!Ze#I079bICv%gM)14y4nSL_X(uPM_n zN|@pb%#iXsrQx9igj!N)j67?t`k?>?52wtF`P}DUlN!%Q1mpuqSx9u4lQiaIkjPb@ z=B%9nV@YJfu&P(zYPa8~!rj4V<%^9H^y6(%`jjP96Lm-_xJ-O#+{bcsrNI zl{^<9rzN?4d)a*zBBhB4YTr)QP0mR-5N~!=oNCkz(B|1^!W}+Q(x_pk_GK6}M4L;} zPpxxOv~4!n0oE--RqJMqzy?Qu0i{^ZbOwOgZ*$ z$iL_Fe^xN_G&-ebdm5C<|IH|5jr;@l)>Q}K>F)3mr-FO^;sXvYdQ=!z1+|f8M|RxD zSL;~@f~q32oduNiX{drS{Ip=DCd=5Cu$FyO3YN%PrPhTaijz1k?=$L!sxi0*mX~|+ zEq4hE6+SMM4raw?bxJS9A@_{!dsX}^Eh65mO2xW#-P@$=`geOe$AG^Ap0P-M=2A}sN`6&z z8&P&$LDJOdjK*kLY}ELyfYpTN&-34b-ykOs$Nue<#qs&i^(4qTXh1S!u!*o2BI>3i zcOJlr60z*II9z3%QTBKRJZVuMBA@bEU58dt*FByLY{-Rj)IuPo5o=C$nA2{C&cob2pI?~_R?hwOy}F zQT^BPR_}P$Fn_(l-fDQ%DL5I6T782n$O?J8i)zpDVsEZtS(M5=DsWfsahKVu>Gd4wfRk@IIGTUN%M~v4v z97X!zP}}s&<%E3Oqb`S3j*OtOF43Jg6QV`u*~N!~L7zr{1WXYQ7NgH=)6=ghhv88R z)U_VwD)IMsg-)?60#x`E6%F4YKU{x_VZTXc)#0Sn)quEldDVqn%H7NR8c``8MrI|F zJy8Q;+A~mPG6@mU=M9n4wQ%xygi5b158eY{3;uK@w?q!>S+rSi(~3zC{>o`>mR1}ipS-h2w?tRuCt$Zjvj9yurjhk<&oM5srE;{}VUwPfg|t#i$? zVtXuCZfXP4cvpR@jqc^gVV7)a-GVh!vejMPugCjiid=^ibA~Atb$Ae%A`IjVxTF}W zzWPR}@1i0~i?<8-&l?d-GIDlG7w{h@Yfk9k!-X6@b7;MsVdx~%St9sbFMyIa1tY>f zb&AC;=Ntg9$sUGG)AVq)$ef!DIqRpv{glU`;C#Z@G?^G?w$NEMPR$h{V3#si zE>a5A%dLQODEbCYxSPgt^bKrkdHeb%j3$PmK3~Cive33Z()1vytZtz=zG3z<9^9aG z-b#-jO(sycdGsf*L}g*`a&*6L5&Y~+9E$A1$0U?ciS8_}FZ@&zks$Z82wNV_IY2!h&Y-ZQS zNHJVeECWlyTDvA#Yd7sD5RpSDQtHP?U&P*W2t4KnaMO06jxL@e`kf&vxB*ut>t$eK z$2VnqA?!&+)tne{BD`AE(lAFj=oxabh>_|ArQ*?g*JcND=-KYaQs2Ee$h2B7f!#|b za`L*hA_Eg#sSy78M8Etg(L}SL=bj$Bs@{9pr7~6Ff}aEh1*G;0+RVgM3M2~lD4V84 z`NY$ELXv_;slb*ZCoF3W&vOk__f(lOw#+EnNbS<2SQpv1){3xq^D_$7tl6KY{JK9a z529faA&|&-lk5*f2FKWTN2h%h>;O1dWDMMGj64gLx!EKQpS(LfvWO{@eNURM7HkN2 z(wt+)IRu7+s8>7)#sZQ21Mrd$jb8xADQQK=0hfix+F|u*%=qx3rG4XeveP}!(C8Qc z%V{l|LRtRnMTd6I{X`G1 zl;nNRS`~q~=HE>R$kEI2>cw?EL)l#mg$o&sz6?rJI3n@M{L`?K*jZ}z+uJXyrB#DW zb*ZN>a%32-rm#_~mdVF|y4YFQ#Fg{N-2$;CANM6&*UR45Nl(@J-L1$-x97Q?qTvj_ zvnkVCFxXpGlLXdgz`R@S*V1>+1TcDduH8t7b7o%Eh|X^c978ansz z_jZb*0SnM*I_gdU$}H^o_93?BLP+K*H#1~9JC0EIxXLr4VAEZT190eyR} z6qn;hx6_cMNEUNhjVfaH!jY7-p15;5)P)78p4otx-1vm27{&xruMW_cTyhR?K*P05 zI$sHU$44K1fnlK^!^fwKeRd`R+2Bigc+hj5)=)_-{EE(6qugpfa{L-Q>Wa^^UGIrM zUFp1bUtKze&l8I*Dj&+nchu~vBzFB_;=}L&oPk1yARiVh5)gIbv8?G$e!_Q~=KL_^ zs3g}e*$Ofq5A|!H&u=@a0(z!3^4(-`XA_(Qt1wxNe+WXyGsGCg(lCzK8*1OM1jEY^ z{Nc%w_-b?8R;bd@n<#5ly!U&$l55NBtV6Np>wR+#uEv8gXvrUve51hvTP3!I!Zq~e z2s&8n;g;A`U|9pR)6xfqxe;*sZX%b_g=O3eM6)znffGh_pYE)!i#XPFX^5*+(?!At z1K(H9P+J+rJB?8Nivg>=jXhJ@l&z04w&L?K;H>1su6mw4sE}Ay!BwJb)l24wiF~)b zDN$=BG-dSrC*qjxPOa~fo< zB#Xpokz7IFHy1v^Y_}rV1_tb6>uU5-9dz;DrArdmF&EcY%(G^m_6p;QgyH0zPqFHL zcL$J?*CH&`IXKH`#=1Np%*(KTdO@53P%Fxf*cas+c*j%9xc=wNr4{fRiq2tRuiD+9 z`xv3SUCxOYS=e<<>RYtr##MzkyScGaO0)Om2p8k7iIRFbq{G6(Ka?XkfYidU_{x3+ z4%!!TFBHrG*s6zT(Kbki_O1fhA;sErNK;-SWu*KQp}$$A7JF`i!0k4@EaZ+76n!&k zaXJ798%14Hq#g#c75&5Y<;xjae)(+RWim7mbH7Z_g(=ofzvhRT2h`4myh2(}l1umr z5Q{ov$Qxcg?zE6&2`vF&@MJLg0j1j*tA`*lXVJcy6}~~Ej#1^P4){Fb638?8wltH# z2ad0q3sGw?SLHA@@PD{$SaaTt=1o47s*|G{y@&>THSR(;?^2|=X;txOal`5xZply* zb@12Yjs--L6nK|w{;VuQyL>XegIeu1^}TIL&KgC9_3jZLx7-^65T=06M7>(EJezN1 zAS(t*idm%8-{f~uvuVwd@n6c2q^n@_g-#)g`T%N4ZKWY(KPhE99%zX zzXq0v58uwb*FjliZVZ31>dcpiy})rH`km6Bj6kh_op+(T!2GvlpQ12u`?u-zaQiv) zX|hXHg5?8s=Li5ZFa&92V_+fKqJkHZE$*>uvES014HfS3s@z-@Z?nyR>d=@g<{Stxyn#5@)HZ^wRO@cNtB)< zv~j=xAb#8*sC{&s5gbNn=u=tL8xUSIt;7qbtl(;%tjv4wxD_wmD@pkF)TkYIto!Oq z&u4LLNR3a42e2Hz>+IH4Ee~D;L3OJwf6j(*vw9aNhuOU9Hwpk)k7hyp!w;kbHir5f z2d+UZr0&i>68nbtdoKtm<|m5Db+S;if+>K6c@-{w2^wmZrm*CFM3fT%F5xxvZj6PD z4M}El!J|d)>e@G&wIIVuR5^pm$@3TAe>)2I>T%P|sbBFb`TWMw__PB7TY><+&2}#( zVfhTZ0^b4SSx>kdL8)3fEzE6-35M^- zmt~Xkt7g`DDelHC55{wjmxACbKZ{R6Seu-`zp-GP=jACf!3AQ#^4ucXnk-*gP0-?_ z=jaD}`tQkuW&@7GaPB(M*(FXgI|{6)VntXEq(^vnT7jhLOIReeF;sykeB%%D@7C*; zk6|G!Q+VTXl9VDi5<6R@C>K&e&jksSZln#pvr;03-h6`|P(+eSa3j7&(y+^yO8>sB zmpciRTalXqH)I?sRPfZZnBN5?aHf1g#NSZ^eomHsE~-u>xtPSjLBGGMS8ANLVX))p zqpt~Vz!v^<()AjB9oq7zKP~Q{31zJU>CBnT{M8rl2ur{=o^i&|{{bc0dn244jhZGQ zf{2%$fIDYtCojH?)V1-~miT2)ptiWDrRmgtT8r>^f4*OnKr{6j>Ry~X$=B%T$@g1! zVmfkaB}L#1l)`09v@_(^&+)7lvXgi9K z>#Gkc=-+!vdl6&Q(+%~mAb4~8LjW$E2@M7+ zV<-ph6lx#*=nU#-;3o2kFkK5Y%qHWH!|O#R-mhRMKC`wt>MFoc!T!-DbZ3c;DjyVe z$KqQ>bH5Aq9Z&`v@-UQ)P82=&Ef&YVvh^N}bD>f)V05*Me_jtm{}_{8`!9*r2ymfd?J|iU1^~30${VBSfMa9%)3fT6QyH#s{FTI zh{Ae3tEZ<3#*2JEDs*pKIl_M+VThIdnRqw=tjL1ceoN;Z_NDv!s|>^X-IA)r>spGk zJ!Rm8mFMwUwXDRg*!h*}V9*2&1KWa435A9RsW@SHAWfV(%B%9ezWI3Hn%D(`i-^c5SfQ=6s*%W(8TyVB|n*cW-?b(-6pKnp0cnYgN z{ve13v9de>!zOH4Z`MFVFA~8me!z69w4X41C7og#YF18AD4CnK0&V5o-d2}Ajl2Ze zFWIOE1Y00}fJR6r$qN#pj$hAm0p)Y^qBOHN6s!-VK*;J7lddD53Q1U_ zq`I3B793{I7d{|L>K6nZ-PsJhy9GLwngz4Uz0(7H@rDf{PONqzCkL=7;TPk;1TMcl zcFDbif|+WeJGN4Hl{BOL4}tP_rjq>-o9BgD~R8Q-8!@LU-7>CN4@NW$O=&%;p3n$J~%1v zMneDD3E#lxlHFcRa~=@VHG_@}5Ysb1iO+;LTk+Y79W<&Z^qoItq>UuWU28V8$nvVr zI-AD`5-@K_;|}FxYw7P<`c-2~J@VqV26S8d#f_}uR0Q7J6sBO6qzZBt(BHL^J1BFUX5kj3+cSQ$@B?inHqiX@G@YpIz<-VDF(*3FHmxT1c+z zP*la9kG~{SAEFb)nr2QaJv^YD#L6-7RGrUK^r6aF zk^QzC0DKkJy$vgYZF{AR12k;%kA3!9Tg|5D}Nx zep<<4#y_sMx+IVEp29**;c7rM2a?mYRXEQ01h|v}LLxPPr0fBhLA2dHI@9KM#rv47 zJRAN)(RYJE(g-`vqvN6s+t)t5#VE=FgPQNG@|%YF8$;x*1a>6sWK;Dyq>^pIqPO6% z;Sc>+Ja>{Po4zc~XWEojO0|$9e76a4%7mKRx=}-I6ou3&8b;wrKiz!iZCb(3A3E^f zfy;!BUclIaUD=ph7k~yF86cK#<_9XgJ@JBTT9=EDP9pSb9AwvdYD8B#y; zM+?H5qDF`b&BI+m5CG`N!$=;nA8r1H2%am>S$|xoc)>(mG$QshLo=I9{&^`)uQ68A z=n9d25}z%G$z-R6*bXMw0c1}8Pfzh|rj&c}3YW{@stQhJ+9$qzUAU1D#mWiV=Ri;m z9S~2XnvS>VfTtQ5XR|78d|0=37^HI^YCiG|zW`u{OgPU>-BkyDo|qK?$)JBtsI7O#lJ5StrTiQHV`R zt>0pe*iAi=oJ05_=q~*Bn-k6q6a$v!2(GJW?+dFb29SshFH=aiE{sH0m zDA-X;0D5*!T}NLW5ixPJ{$bc6J5z?-)`8pa&&{{;+kIUuvhub&>(jL$>|UE~>yk1a zOI@jXYuLux<9pv0z)s=06;E_zzMZ5+?m}V36{2|1fUT4%1X&rnF<6)Xy_p-|aE#z) zI@0I4y~I*GrRqrDN7@CaoqMVq@BfqUyZ_Nu#4*>o)~^wt(J#VyuCaVN`gc7PE7*Uz z`cu&CJ^)(@5ldalz3GSw(12s7CPnjH*Ac5*g2y4h!3%Ti7f;5H<*)mLi-klU+OyS9 zS5=b|^?`Gyjf1y8PFm{fCA$#kRJI}K38l*feVCv$lQ?nP#V6Y$dC&O*misw8*-)2A z_VirA6-ktp6|!|j7qOo0Db%A2Xwz%xg1YC13{I^ z({?;Y-N}j8SA@c6AIan6C|qpURbu&lw_c}CDo4K+$Bq)Oh0t33Hp*+;HxFDbM2 zv6%Nshf)~mrgP*7`T=c#vSDH+*7tq^oRUt)5vRX><6l4>2ED+r$iF93z~6iQe|<@$ z0Xwc17%}dOV0_TT2Cp{mx+#bURUW<<5hKDQLCxBcQ+lm?rImW~QwQ zIMZ#PV(=VDZN2ycVQz9-0wlg3XYTn-}f>3 za7rNU=(dS?VUnh39l{Y}>eH`5uWcm@P!#)dsI~xst|BIg*{&Jj?g(^kDU3O(!fBejK^`G17nU5uN=X90@6;W-HTk1a0)SqpzyZ+Up4vSYU!9=fwgV{3ObK~H zEc@Jk!t)a{KY&GLO9~3Nq>hqq1L>LN8c!n_SGE!^Qi(3wRx4bb8y&so16Ip%1gur9 z?9hA*a8Rxgl^rnl8=Rqbu_G#|b&3magHQd=qkU&Ym;kqL+fDg_F zKKWD22j)b+I5mT+{*HpT>4Q|dznK67JR{A1XPKE_!LIR-lmwSdJ;-@p@6E`D}vx)#3Pr! zs5J&KDJrFnzrMa21qYA>Mur(7;h<1rFJj`pM5lZX2ru8B5Azz@S_Eoy{L1uy{CKnz z_6}(cr2=blR@9cv35GuSyrwuChK*|)1N;}WeamU@97dM%w3{XXd>==mv$t>z;_w{+ z8hrbgIFYZ?fw@{oW|~jo#*(xQV!;S2cYrH|?j77B5IC`uqv&h7C^~pyV`M}rb>Hb; zzwD-qSR>1WWE{941SpP&&Z_~*2w@sc9Y*J!_c|&$--i>Q?m^$zL$=7Ko-VL zpP@nVPgVcFcK`p=mm($PD8QaDRzU9)?t(Kw^uhGNM_EFV_#${|`x<2gk#7+6MICEC zp%lyXlfEdnofU#g-CdFvnbU@j_sNvuJbkTKzIfGK0%SpKBfe8j$BR~+$$LXZinmH` z8l04`)HJPmSLBeImuH8RO+_Y-O-5Bqro~qw&v!<>=((T+f~Eyy`1qnS==SAbO~+Dd zPEy=`EbYG{CO={+lrwyDhjbIpp1yCEseUES^J`jo4=P;BQU{P5C=bO@--~`BzpM-% zO0i^gkx~kN9A=Lk=`E4cD^m6fT;Q3%z6@iK2QXAI9XmK>V3wQ^Ek{Ze;Jh@WIuO^u z98*A;Hb1SC8=b0Lq&e=XapOa{$b15n}2()k)5o5f7xc3d)wSTU~*%P=*6x2 z;#fYZ44@oJJFb;qxR%KIah)H!TXWt2===Tua%cRHRm0&0 z=}?q>-|D)v7PzlF->u|8m<^AkzJj%RC*jE;qm*#b40;E{b2wO7G!$PvFJ?PEWdJ%b>EmU=t zCp$|`44fV`rQ({L_+wmFL?Z7buG$pb4T{et^Q_Iq4Ba;c5C;jlogzrl#Xwsx+u}an zisP^sJJVMs*bVYsMa4J&>MS4 z0;+~G+njzaz-DTYx%@dWl{K65Q&ZOt|3ROp5ZVYxQz8JHjJ`^OCme;JMGL@NP<$2X zybNn={*T4O|5ynBR2ot#;Ldk@7M)?4SYX`Bj&hOCL69-L1+@{LCkG=A;|<=2mpFE` zN(M(VR3814F+5jsl9Ws~hF3CH^f|2Hqr_t2I`)0xqbczIz+{XdC(Eyrw{oq$ zV&t7|cOoQMwOVoz&pp+}jtG9)MLJ>!-5;ePyW=2klv8ynb%n>~JOW=D0hm=Dd?`Epi;*Iv5;K(3o1-&Xq6R} zYsEPrc2{{#ys~K)fr|xwpNR8y_MSmecU_ck6B`9-S`b8_$&x`45t^JqlnjDo1ObVXBnLse$yp5K97J-X zNX|iW1|=g|$so`$r+uFHt(vKtnS1YtTYj+0Z^Hkav-jF-{kETakbc;dLUKBNmGe$jWX2B z1;sunOo?Lq(t+u)eT$)o*j-Rv@{c9nTk`i*`+IdRg@-^qDa0-q{XhN)aMtF*rSXY)*0S%Yv{Hqer(!xx-V^KDb6|(qPs_7( zwz#rjnUPVQB#a}jBs^?hQ!VibJE&i0hH5=CEVf$;-0DpII zJ3aJMe?TA>qBUdZJi+&z-J+shA*mq6tqZmFdS_{4c8E8GCX^S#O~j7Jf*Wv?_FalCS=YSW>J22sCnJ1~kGbjq z#eqwB#&gjEXhTH>&%kUMOzpDT*7DL2;VF=^>*H`GdQIFES%i2%?nz_mPE!4n!IHU1^^l$8bahFZqX1mVS4^!Y zDXCuzI&jLB%cUaSWV?G1;+CU~yKy;cF3pVQ1O|4n)F|%LjGDXU3^v79#X{bz*SQ$t zUE9Dp?$ju0x+A?Kq%jqv6oo_!mXAD_9x15XjM-I)rQ|cMu}s6z$Jlp~7ZB+eM6YVo z?I_R7jSQ+S#+!_?W(kyUYNP10pBtWTTZIe95uxw;o0*w~IXy)G^#J24P7A#IqF}i3 zK~D>;F&r~=x(32X&u#+?yA}--Kg&J1Zg@hcyvF6$m(cvsts}>;TbLURBQk+6J%Cc> z^0n3*`<6>$?+y(GsRPcH{T!$Uifu{^?m9a-OrzsL$D05O!x_H1{h`~ls!U@z2;M^d z=`T9M)~lWoo_uUx$;8brw;YYea zAF!^S#@z-!oCn^O#a7&=!Vd(cF8=gCsT7!yXDOn2$ZIRi9ZueQBQfs>bnE}kiyz}@ zHU{RA1g8hikWBnL_(AN<>fLy+34Je%FE=FwzRN&lrXs5}-wDs@wsHu344=v*J&m!n z&6DiBc~CAxx33K464#pQl00E5BBh;VPW0QQ@01;4H^i7=KJt5(Q(g;!O}|DS%udDH zt8!gNvb)RHtfqUq>G*Eiq~Cy8i3WLu3Acq(nS~}G*Os%TJ9n33TRt)@TbW{G$&Z)H z1jLx>_Bt&XvA|m^&)~qcz81dOL+w5k?KtHuy_%)wFz^bYWf_wdzW3HmDmeIF} z2EvMuakI7ZXVDUeoMWKs(nmNlQ8TeO>J8ldV6SE0fIWnd0F?q#s-xrw6n1}s>YMgs zNBb3&C%}SeY6PkX&9;DxqW~J5l|#-Qas*fz5u60aJ&v~xh+1W1IL+lbT7H8F`lB1` zdAr}zFS^XEe|=fu$8jE+mz65O)vUNTc~tiG|Ip+A_hkO(5$`0xL+7CNFOu5`K3F{G zFnbV^f~UkXcTKR6zz$z=Inp^$QwCwMKJVI?6~QZVZK?&uCWoK}wY=f!5G!^l^y9Wv z=KyT7gBq(ye7a<-Zjdd`<-UuD6yfZ7TF96Zw5apW<@T=KCgJn zrj+cm-}>7vdhsQuEAr*flv0TK(yt0nu+#Fd{@*V~0c5iX@ z%ndQQ)=aB62D!OU^dd{S^aIC1Rzd@?Z_+}mTCTJOsd`vrg}|~D^#3oT2&1=Ww_}YzPq%|fII+Y+a^we z_;@-8mD0BdDmalL*VQj%nLhxA_4=Og2!X{U$s?dQJ^IdHZl7SuJ75PKg8Y(LTa1fG z;YyG{!~%Xmmd-Hy%F$1KBXahSD+W4|d+l;SvNuwrelf+r+I7`Tbplk9b)JBIZHJ+p zv9IV28+~M2$HnMghzokmhx-o>CJY;QO5Ey}h*>;(-}1_+0r@5E_@LyF*KI-FWC6&s zkC5-h>VdjS)FDgCr!!rq`M7(2SaTi8=s}6IOxrboi(wJ{#UbkE=7Jq&62tkZmIh*5 z(nQ@lOIRhA8*cRLBHxunxG{QOd|e4Lxfq);4>D$W`_=u#*Xm?{txe+SyS6w0!4dV3 zDSZ81@ADllx2$Mefh^6Sc{{l_Pr!IA&06(v^f`9*H4jb*8kV5sTobP5g=Y-e;4H*?82Y-86 zl$xEb1Oqbd>neCWq4oxXl^w75oAQ#^<)YU|sC~nyhD-?44tWtp3=Sgp2AIJn8L`;? zL1Njo-R!tWhFz@Ti0+9;VpGl&&tF;CfjHGzq27D7LD97#>6jriWo9vo9U+Q!kgfXE zspCSj`?$?|`}@2~n;cYpDO11|)O!pnt zJMI}!gV?DIO221W_4jGE^5qbdM9pOn8suB?&B}mrg{FsSy9F48ADw|MT--RD9f^yX z3oY8c6U!5D{k2K(#9cqNcD zu(L1uex(Nm1%Yz)4{+i_4j>jUe*#PJaVbKBI*{2vAQLE>?cTsyuXLM50p}ep^kQoM zoq&EQKlu`USPANt4)N(U1PJ-v?$?VBe6xuOI8(u85E-y9DX?YIywuYHfd1Nk_#0Fi z;r)KUTyHypjfTK91+Fjj$6%P`XMIoem*-V#kTIaPO0~U)d;*@%=*0WH=x38wNs$l; z_n&%5VYvv{#1*^?g0rG^9y0{QiMLSt^w(D>nM&cj6NC*7y3I+y!Kso!jqrGk zR|2F6+i)9W@#mHS3hiq-ZJ=5s+TP&ZOEFdE{?E`Go^!yqCGZ&oH;#qcQNX^UKPgky z&rcO5kVMpkVih%eqXGW2?8U6#i{zqh##c1AKfiGT z)&0X>?X#16r(eH^N_q7)kxGx7_&DrzvPQQm+_C+6-tBi@k%qM|>tqQ>OK>iq{cvu% zf^$abh=XT~$O?V&=uG_-M3}FdhRrv$D`%?xT&gwl^gm{N;d3n2X{4|Z_NNpb12mJ) zCa{p-73j^M(LR#C^Y^s3_h|@XZ(VFGo#gHOwFNH?48m6A{kKpFuG8zuMp$Bb(#BvP zx+5iN?(gHr4P8CSMjfb)i;|P2wdCa>lfEvmRF_%5qqZ+1<5%iuGq36CXXtZ?lTJ7s zf%2n|`JML~uGV>ZQKc*7zCObI!aLoV2kH5`iFAzOYiOzP0QXK>%8KE)S1Mk)+!n^p zpyY|{$L^?B>;nsG-DmJA_J}g|6L?0=peHT`({yBjI_Qhd(L2E{a6b$zF8yoC#iN98 zB$@@cnIY11fh*VCN||~7exW7ay_}lHbm_`06Xbl09L%A!h%CC+Qe{5W-moi^0NdQ8 z({+b*bH;bY?FvZ71s)dKlbXLW_NNUT+H@WP;WZ0$$#Rw|rp!55F zE)VELH3@Q}k;+k+U|lg$W#QK9@+IBq`bssd0&(0&trVe2Sw-ZWOx&xI+pCtl>{=29 zmI+DcI*MRG$9lTm)na;!{>dpb3$@J)2rRsAFC{~@YTp|z-?|_iFUZ_&$FAtn1>U`s zhVRlJLEG1G3>aK=Vl9?_9~>~D0eTRM=TQ*mP+p4gP+`MfnLv~WI8!8?OXhg6Ks}`t)=g!`v@+2p zF%SlYIP99C?JTe1RMXq#=3i$|xl?q-8w-GgV)%U9}MweEeDv>^acuQ%>~3--E{17F6sSpJ+Qw4OKq zPpDZ<0`iGP-t;^Bs+Srl|O+|8A zWu$U}58XHEA(d2Qtb@Q0y|m5rG;cU^fUmAxfMG-%6|tWE$a}6xU`dy;+=_0!KrY%r zNwTWsL}L_L5MNxK{6jWaS?o1oN|uQSC#f=3Ir}`}ac5VTP9|mHjqG);({d&5({(y4 z=FNQ62tqQ1Y#Y1^sZ>KEVQMxOE?9`7G>Okx0xe$3BP8zl*7Xe<@scqsT;Fo8_GBMa9!LXU+ zfr=c@UV9HtY^2eVPT;2wM1X;l47{vV#?#7v?~SSi%M^8BwcCS(rH!35Flr$Aw&)-^ zc(&J1bCcJJalhl8l%p;wJ;>EVYK~_nP!9r0j)%W7x&}3t)=fPtYO7u#64VF~XV?t# zfN;rE9B-qfjItv38ejHlNUo?$%qgnMb3Yahlud=j&O4B65f>@(Nd;oM6@2H@3v)?> z?#Tz_40?=nH}KLyN@efmseaL-lM?twEf^mQ-b9cKN}2g6D7c06`1k2u6YqN>wR zjo7^$N*1^fmdv#mm`xY-HngxE|1m2IcaEPKdCU#z`gosoTG)PzQzX<8(q2U*hJ8v3 zHxXwROpnZV1MsM8z^XzgBm_>Ghf3c0l0u3)@G0lWN;}tnFSq~9C{8E+*jrN$|ID;h zz^<|S=vMc4)q$oShVLJ?E=bo0ZeL|VSBi101XR_HEox(2O?`LT7BAG!PuG!Zg!j+p z4Mlc)pFe9S0Hgcf3EKO)j6VZXOfIfJA!iWnQz2)-I;*`tnc2^*PXPfb@wq^PXOKlO zC2|!WgZP7utZ&Aj|FXlm!7UOlOd|Rnq8@<%Nb-05GIV3ZQk-i054b*xsk?xkMdvQ1 zS8`P>h^r%om;VGAzbHMqv1~YMUgFma$tkqoBh$N($zNfY^Z#9Yy|?Gn`)bWcu(ygn zCixej3W=CtT6lb$Uiu^bQM^pbi`V~Hx?Vz?NgKqVRm0606825+No+zCx*;DL6Jk~Z zm0t;DL`2-;%N|jUc3`EQDy&;4;MpB2uTrN|-g;#xqv$mm9w(lfA1JZ_{9#523?Hd%Zrhm?svpj<@hP0TDP z%Rv1%!7}}Z@~q&=*DsYNWBh+W*NSv}5xe^*bw`g3dp|2m<;|-X=gyCe`ym$&HEX$T zigXTa&(%@e(g23nciYe^*9|C2Z74i0Q>(xrd*)myp}afW;~Qqu@HsimsAUtuMFfrceKmdYEf2MNRF%V+Bpner#ndtrgqykp^@3{A5DDh67CS`$s5 z4>b&l<{_={Vd^yYE2Ea;{m67>wRau~kY(n81J$G1<LQ@bFab3Y>)y}eK<0mg{zsD((=H2F- znZOqZ4Iy5CXzI6LUDfZoNGViS^~Zj|{@5Hz!?(EY^j+diebEcWzCNj_FnDVg)QH#Q zolDu6s8_-r-VZ55&yvaw%WhdKvl2h{10=EE!RzB1uDkz9on?yb!O!~*=V)WEPL%7r z9(t2{m#+Y)uQv#*_pjUCn}zK)sFegnNT8x{@x>^A5soeYw3^XRKSaH5C~SZx$-fs1 zPrrP0`&aA$fW=XyCA!vj#Rol7=drD@l zEPlIq>?d>ONAY?mQL9BA;k5V>Mxg0xU9$TXj~^5}nf8}6)mOfD?w(y{q7gFsdrl|J zFaA+#j1Q&T#zN%NkE5LfCE$?zpJ}v8+09h)Ir=liw_;-Ht=3hTk12LBk#2#H;OSxB zyJnAUP!FqU-n{aNaVs#510&FG;@u_pe5X}uHB3GStbdHTM7T314-w~=SRhBtK;gSH z_u|32GDp}zMwDvW7Nc5<^U(e>T%eRC19iCVV1k_M+R@`L?eW--4F=Wk z+Hlfq9r3QBi)>*h2Lr$Ly!}$o4j;WCw;nk$V`Iq5$epGh$BC z=~`?rqoA96@aJ|&{#E_3=lo@@SK)4r!SZN_>>-61y_4n_#HQs;?ag?Br1eriZfNuP z(W#UJM2zRea}X$KH!ruzS(W0AdiY+b;McYnDJ6ugbu7`oe{A!p;geR0GmH@C48ys| zdKC0AgXTV3@B?3|cLXxx_7>r%#t}!{oYFVqC zXy#R!GjckI9INR`-y&SPedgy=RRy%qP0}^sB5G@Z0P9Z3u}1BD1%E<|CA)F5oTIr@2mb6>jQZ0vYux16LB zmy2sjC2tJFKXGaw7mjF8iy^A+kQM$Z@xZaI>@#H3La_de1dGYM>{z;~T z2(Qo{mR9YZ$I6m$7`1>$xq|uqK%V0O!X4RglgAI2K_XIFVnD!kx6;)1-Jf~fKJU06 zWTp3GbKbTX&S@27hduy55=a^7+>&}XB=&w1Z98Bla|s9UI$2dX%Roi^5o z2VIi-bZGC`D%(9S z7z;WP;x0^MonqEAPmUl62w6MbgaFDx8_&G#^YVxxtnzYexl=oyFTscmn@Ij(ng=9F zoJwOqFj1LJEzb_aGMw6rHs5#<+R)G*li~cIdQUT_*Gzj_Z>9s>eS)0 z|2fd~d&n`kli(iq@VJg!>$+bcS|>>|dqYPlZzaTk=jpw4B%1Hq>UCfka&t0^gah>FzRBC=5FJb9hJkJ;(XloCly&Vq=_f{Csr+kar z*VA@l*VdfcO9CqJ#6-^wkPR}glZ=HY%!0Knx)Zo=dpmd8u*g+D%}fdP2O~0`=_K2) zt}etanK>+IUA_@!xr8p(Xz@6E86iPxYzoM>gFM*xKG&%fIS+4jz^&>5NF52TzfTJG zm=xo0Yo+FB>dV9}WLTZoDsByeIb1=sIQ_=A;7;P6OMtgoWq;QP2_DLu4>%RP^x_?9 z`@|Vc!zM7=I#rYeVnN%x6*+3|+0wk2;HN8>f4<-3Y?}Jdd^bU5in42$tzD~IykKZwbC*7H_priXQy08D^9F8v%J@uaMt zmL{W~t&&!DW6Zo4ihkevG7B>fXY`_`W}a~|=edhuk~zSLWEFU_l@?vQ)B z@Ja)RLUQ2Bc*EpT75#Za8eNWkK(Pw zAJN1=S8=!2q_A{xG3Sy3><3QKl$adzsc(?DHMOz?- zh`c+-IYWyfso2*dk-2P zyBgiETlzByPUW5F9hBfs9M6n+G364)?2UG|@*maQL1flrK5*k3$Wh<;>W~#)rXMv+ zSh;v21cVV6&y@8}ceQTv1DV&N4Va9p*D2B*KhM7|d*LhK1pa=xT2o8`p~);-yQfuk z@RaAo2y+jyI-05eY4%2J3~u-9s`#hsK!U9olZvVNh1GL!gf3GwCSUwXyWn!)cwFB` zZAgW4RCqO?og8fp(SX;0+b*Vz)CjUV!C$V6{9U^j2AqF9!cPp1Qa1Ds$dY`)Q*ffx zN`es!MjJJrJq(odG=f5Mc%JFiEZ-4S!)^r)igT=d1EQP&2xWoh;wYOQc`~28KV5=} z7yUwHkuxZ^B~m;KR^d5On@hCl`P4`MJtJ}{H!?G>eu=**1|-@D*!8FXVF7$w)?z8d z{D8MBj{JO)a8)yB2(6#8Ub?3<`J}#kFAGdFr0V65S}E1@x$8%8!=j|+r-JfX7NlC5 zqoiDg6}BAGylc$()E7mbUp7uQN@%`LxD7uHr&JTk;EnHkE>)npO7wSzHoy+sW|^6u zImD<#57bcvOw@BX&6OK#rRN^-nsEtUQ5T`w=8n-?!w-MSzY~k%e4^^o&8lv4D2HjU zKgshLX^EFy%aickZ_+lv>V_dE*#yKRM>*bUNGLN3i)5=8YRv2<@#YOvSH^VXUi>{3vZHxa~KIao0C@+_b)-`70Mp{$?M zD%l|*rff=*?CO5K%;U7d3rnd?yGIWx^Pf!vOI2}d`NLMZK3&uE?yka)=F`fndF1k&TuNU~LGo+glmw^>eJ z9*@eVOHmsyqWRDl;&=ROua3QjM&}xBv!Y)`c%$&k%gE4M8LQ5#_!0RrTcU31ci2f4 z0k)wh3>eQPuhEu&F9iK)hy$a0ojGYx*^`cT|5Tq}U)n@hk}3Ci$KvL&0RVD z0L?sPjl0@NgGu&rT(vf{KfxJ5(~%=N9XC`Ex9}S$^g8*e^&BWC!}yc7QgFn8_>Jl} ziXv<^qc~RyLwA6&@zEDVp5_&J4ftq!^24Yj_7=hg6u0@))qf%>In;O$b`9ZyPzKPH z`NAy4@fJ&ja5TbPZN>v;_uv~W`hAwZt%k;>Kfnx>K$1 zOijcQdbkSdoX0f{ap&oS%4Su~Z^lkQJkeJ(-L)A=Ebo4~X&AaW#YMs62Op9Q&T?Jb z%L8wN%RuV$zbOgOd3zezu9#Uo7CFC04ta!678F|0O=^~{!^CcBtL?7Av3Yry!i8n@ z38Q3r_5u$ql_>S$8gzGCVd!C@xPwT@PAo5%;A*2JNV(@-$*$cmus;>icKMl?7#ytT z*5$O#)YZ#dbzIO_HStl=2x+fGnE$dvW<@17hnz!;SVumLQrYXrJ3QIW$4Xl2hRNSB zzR2gybSfNr!e&E?TT3<|-f|jKrH*LEw8LpDy7!F_3uw%hI8+uh1JG+$ zT0$d@--eG31R|4tOQ`)eg}uXc+QgrtO8sua);tFkNZbN-arP)To4PIN){De855(#q zc^!q*$^@Q7k2fS<~kz}bAd2wcg$+}#;ZJffejJSNiY zbrcmFFU0XD#uLFPyLuDiRC5*38#$?zoB8D@?$x=ju8xUvLC1p04D&DPkfcZ2aK`v~ z8WIW97Z&lZ&jMh8Ca)ipn2uq|Z${Yuvq6p(r$`c1+Q~>>w^tjeQ}k+&>V8K`Q}RtD zgM|TiHObtG(M#Dk5BsK1I%Njo*0Z&+R72QN7ssLOxzYN5v2&fOBAV%mzUgF*AGryb`~Y z{yhdMGx5i{AmDD=r_z9Z27>K(qRmO~=Fe16{yg>Au*AIkxy+UqJC6(QR$Ft`y`De< zU74xLx0d$VHF@2f3S9;+iX!eIP60oAK%mU|qKBFE7bbkfHMFM zk=Ng#+gZlp4m)b;(8g1)Nw2#CNP3S6^Bm>8qj;@Y>%Uo{##^3DkTNv-t^{!K1w#qV z9yBI82i}JN3_;%FO?bs2Lkyx|=B~1s)?5u3Kas?olMO1l?UQnVnbPSq*3;~mO>IRO z7jz4tCbAs&pCox}L0FtZaDao3?1JJ#iSNSb-}Z{hm*zS4XeP;L3@K>6bH&2rsb1p?PBe}pq%0?Qb1;P zfM<|Gzox_eVO0ZRpu7d7sU*M1OSEg*#ohZY-S-u-qu1x+qoqFv!Rg^V5gBaFX@a&l z?l~Goy3UX}DN7#D1-Id7kTerL#C~zlne@_$ZoQVRJc8~U5i@b_eOlvk$$`cHyqr*)QTSz_8uf~96TH+T^IPp4<8?RzhA2_{FT%eGP> z(DRgT>&&!F0)d7azv;L=V`!li(SF%54eKl%2iu#>K(r{VFhV|+WH6JYCPra}l zF2Nb`meZh5sU|0QU3|+4M!~fLiV5D&0^wkZ9*oLG~E*07?H{}YYD&@~!LcCmIt^=Dx3!E)|G*LzZy<(nkCP`Q+I=#Pwd+UH^9% z%b(AeLEKUzw8S$H3FM~z;r^;&(LcbeVxU-MWweqO;7^!h7qPh@ldxkuoEv(rI+-2+ z({SfDj_NgCF+zeq0Nw_kmkJ;?EjOL*Sg%W=o0zHRuFpg*P`qpUUNdt2*4@#ilKIY|t-r4NDaEk$#@)VKkxOvg!IjK3ahL!gQ8BAQVu4O)G`+-}Y z*~*&p*&TXuHiBE(RAiT|w%NTs@6*Z>Bisu)Ua4P>eW{HXLd57tjaKkkW3F;23l>L; zSen*=A-tA~(6=k6& zC~swpQD|wiRO z;v$8a|1zF2o^g1|()-oi<;)WYrCqO$s|`0EzP**9gZI`3Bq^ho>5=!_ZVq#!yM_2F ziq}{7leeV@B_CMv;0KcL6Ci(mUR=Q3S=u5{B_-^|efc5&M=vLSNt51!lvAxe^qYTy zSBi)4))~C@l!U1`vsZV`0kEed9AR#Y)lVCeb{%m*=IXs`kd@kl;?=Ogr+EMl_6^8z zcc%sOfTiic>Clf4CFSlol+bByf44y4r{d8;WpTG~IhD8%EcSs^F8HWvVf`;4`dqT~ zM z?)a_E)EC8C-XIJYenohKseG754_TL%jrkABZVg!ZS^mFJox@*bsA2zqq&o8iCY&&X zn6ZhtrH!iC?)KJ7Y<;W*|q`8%m0agj$q#a9Mu<_-8>>VLVv1uAsQu#A)!vhC#0&z^R{odo(@D5k0AwV&^445OYUzSo`7<6SQrS3O!x%9OLo=Z4LGeEk-1}NvxT4XIYnUOw*jFk5l4@ z>%mMN3>*Hc!GC)Ll?KB)-j%oU{cmrxDyI2^@Dn$xIY7%q&El(ZKCPKj4vTdZHyA1= z*V5+gHH=E$0YObV6k$~L<;=o$r6T0!#cM?Y^3pnCfn=Fldug^A#n$kb;Igr$nm_6z ztx)AHlh3*typ9CK$fV2KZHMpsT}>1o^*)zUaqyb_tDU&@0Mm4p>i||q#DpB`NlB6( zdyCi1n5mSFLU20-71YoC@qVY`OAh+TZNVXS$%3k2a`K)eBpgzq2%3tnbt9F|0p#bLD~H8tr6t}ct;6D4o{+M3kaaU^{_wIcvln<8b3J;%FJtJ6pt0`1(foiksZ9x9>3;e0(j2d76mzPxKTE&!P~byfNz<91Kgv*Y5yl z{RK_6&xkle!=c76{p?{i)ucl{{}i-mwRZkB-D7+?vYgosB^0z~$M6Xc+fS+*j=8Q3 z%pax`#1RxtbmfF7XPWkE2J9B8e73w#!}h-=jUvYf7)#Ndj|Ao1VVTEf28MNyAJwOEBU9q{=)1d{-qWbS+HNz^ZBc-DKGMtaP9#O*L45w$fJxS z#A=eLS4HYv4k-qXdXGnk`R_-+tY`>*48(tu(s*f!^1%w=KO<$8Z+(^sK6K-MfyCSo zA2Yon>I4=pof~ese~luYn?bl((AkBRT{FmZ-laE_cMH6RCq_X2iYnp~^k5+t|Nct> zulWaaGDFOwoVEz#gqQL|2hO!Id5*=&oKa zx6^6%?U9PK-4Falix2PRvvMkFJVaPPJj~+EZ*4Ohs+;Dw7<9TcbM+W(i^2=59dhVW zjT2?{`r?gqhExrZgRFJPouF$fHM;8mdrWklo{B`7Lqe*e7m|I zRlL&c0Rdukn=^abbLv$uRl-}jj&yQDMS(zlU=$j4=O7x$A*EewX;gD}+ep?)$#dL8 zUmbr|nS}Ee%GK+tQq|zhKOPN(PTA9ou2|M-f-eDf;zEnwGKA`?-}oTE9^c9md{|6#Zf47ZvNMbB*eiDoG=W_aR+WfKo7d%)U>k+8ep zDjGYhG#ZBi;7eSwjLNLWd{Hw0V@=83b-gT6QBn`c*FrSf1>_+d4FDkY(KV25urxS~ z@JatW2i9{Eb9I?|gjIX|PVVPtj=u#uFiie+1-JTFd%ycVmYlqC2;7`nios7KzTYVU zZ=8=h2qOP~7TeSqfc+BF7HEQx#^7nO{gzE9Uj7HT}ThPi{ebr?+^y2JK-*m*& zlS;pD^6b?FS0If{AtwBT2d4=TG|yo>3+DIN=&z<5p}9e<;*Zu>wbUOf zsJy>{)qiNxXzE*h^d%?)PU2%YV4a6WZlrudqQMS(myYO0B# zBMu{z;5-+}Eue@V=e))k<>ZrlQ=dP#1o zZ_2A+4Gzto(FzDIUd5=x+D%2~v3`6MMdP>xv*y*Y7M9xb`X1Y^`{ z5V6IV)urZwkt&ah# z-|W6XkbZ4wXBr2B1!T>`iJV?}gj1V%&RgKL|MQ*@VJlhp9|8fi7jy1Cj;wVc!Mwy! z^3U#qUf`HxqK30K`<3X_0Cgq7>w_1FmE51B3V(y^6#x7@+g}@A9MkQ*hp)dworh_@ zUwu-B5uZ&%K$JVaP~SEMm~i)Q6#v4CS^(`&wpuLbf*7&#kNT93>1KOlwgu*KfX2zS zc$W*;@r1Mo^C|S&RBqj1l6B~REsGJiuwzukQKz2+e7>UI=-~%ZH+`QaAH3G?=W3qP zwx+_6)~;Z&uloML1W1ERgNQES0xUP58IUvl5aF;wp>Df^0xXG1pQST`QL26jId1M3 z9SsH$E{0Rw^EenoTkZ$P$9kha*9|Xw=KhvwybxzOhz)CxVlafzZwW7-6;Br5*Jol9 zBy zgPRH0{`Xo3rv&Gj&o=e{_~UK-qe#9;dpA%!()5a76bvob&L82L)q5MyA%Af5MXHO5 z4oSW3I1Sdn@=lR112uZo=9g9VjWdAiGuWfo!!jX7`d`S)*H$!o?Rpr?Du&MpFepfH{|V3dag51vI}65UlJ6+z6`0Y zpO;Wo>M83v;k)?r*Xd%WlFk5GgLHCGPF0}JtqeppuI=^TGo|0J%uD4aQJ*DsVbT+* z{Ur=WenFyx1ij+uihu<0oo_89yY>~h5y8Sd<5i|j;0KrILeN_e(Zq!CNQ<0AJuTgL zQzVo)%*yi-O{GNl)U^QEHY5US{ssr5wx~C7h5n19CY64e2^{AoPsJFH59etD@iRZH z7K>LcIwax54MHmX%OZe|zUXTWR#Qb;1lAs>3JTm`1Gx$wfK2?T6;&NQTvh=&LrI-6 zchdtT+)m_!A`TRJQMB*h_aRimIwEVG&vBzfXdUX{vRW!Ea#I zr(-C@lZfKJM7g2mUGIFOlDfUqegY5=Z(yyax$qlzrC#C~9d>%p+3Z`D>Us!TePPDr>51S$9AaZln{*9-(8Q2oj27+;P zA8-s6qVV}OzZwI-x|p8Z9M#i-cZeacuNmjqLDcH8E>_}{>|3i-c+tA{`+NlY0 zN?`qj|8bkg6E%~&{B&NqgB~`z4k_b4unw!`eZ#wdUEqGI_T0X#f4JWzs-hi04;hJ_ouwHXHYQ-7oN43!%Oh{ge}#8k!+% zN>QgOSv#I7{}eE5L8XqR+5<;!BImT^5LJ*pE@f%{hE{)v+-Ad&pI!2#S{jKu@kTlG zuf7~n+$x}f8IILY6*3?#XAdL2CzWUfV?6gC9o|K3#*~z2oDZbdl3R*~aAZn^(6f0Z zwpAQvnTavFWoi!v4ra+bqeyrjx7nD-yA2PH8C2f#*B&u= z407bfhULYx8^@8dlwGkBLj*o9hs{pKsGX2>rA}#&b-nqxubMO!s|78P;F9Lsys#E| zLrU7Ktw=|~6CoyPc0Sim7teQ2OD!?^DVqlHOiVm~IMe|B$u$%D9t^SIuU7RarpwC? zbR^0Hqk&dYF-HNPe0|THS^7@xmKEzXWNr$?Si7Mxd66l=of`c<44(@!;X9doj|+c9 z#NnC6+#@)^E->GW9izg_nmM|j-p`end{v_NgOB*x`vCu!8PtD$q^wV3p=Km=ypic3 z1`=TbvL-TYS|=Wv#?r;m)vgS=!^ElCWve7(Jzk(%6h1>bC;`6@p)&{U=zKS+q18Wk zoC=e8(#j#J85PvYDPL0tzLI-=p<9d2OBZ0(CyjmD%^CoN4)gjs|GU?$98Ok%1$hwd z3ib~UWi8}lRO;e8@|M8mVt#j}rQ6GY$rDGf74^5X)sdSCTS4N(4MK1V`vJAUakQA% z?$X3-ySvh#0AEG?%^wkvgaWo5cp}wuOnGNXz^*(zjn-|w-?d+&+7}+^+I*1eaPXd; z1zjOgmdfhPxPplM6e|x%n#UF`SMKqmjGYFDW{!q!h^?OV@BiHZPz%g(|HL4@)fd8N z3UDyMy7R%G$?=psVHa7XASRk_ZoovCn9vbPcTc&G7Q6A6_$-y5DIib^c@BSeiGsS{ zZd1H=-Ame`XvXQGa)2kudsv@Zq({0b2$^P{PIgS$xrY2A{w+t? zaavo&JqgzQlZH{CM`HffBYzx9e(Q^Oz)MT2vsRN{nSg1gXTqz zn*#p=qupe-V<|xaa$K&I!uN#nB?oWh`e4p^EDBbTiad#MJdgnk-uye;z1Mk7Puj8` z1TgPdG8&gN5;dc?l{#IdcL%>|fn8i9io@@3k`WraJ&w{?anl+Jl$jDB*otAVa(7{B z>*sZR2i*}26 zC%1&4tY+R|eC@A0(0ef`BT#?M;^C;F0cM5TrWv1hP)q)M9>AX8xfYH~DLMXVe|>-ZDHoCUl5@d8Y+$$I$Wc+!vTYC0}THH zur;IWXK_{+51qBp(rMkY#vXi*X_euq-=FhMeAZo8V;Ho)zC|WWe;mmxPNh6?tai!% z<`Hcq_IB^8yZSg8LeHhIkP{UJ=*NX=Kb8y_vz>DECaav*D;&l_hFnmY_Xl;{JvW-i zHW@N5eb)^TtIL`F7uLT`<|@Ayo@}Q{H5m;MYK2^7>iU4+WX7b~{4o7BULi>~7ZU|P z`~DSWcKxN?kuW?tzN9dk{G9taHdi(1xb>NdOLcb$U8R5Dan6L?HE&>0EiUd z`O~DHHcLoo6_uKkArM?TY>(N0`Hh3mHuKdfulUHsULRlrV0vzSHc zJHC5Sk@LYd5X+J3xq#MmGz{h%nsjjTnbyR9j<9?F?w74xUssPqS;P+sMzdITaZ@b+ zu9((ECQV&FUTtxutGLF>Qp-1H8n2sQ9#hv{T*-NYwjQEDcK^vQ>%CKAx}RM7HAUyd zY*5szQ7;pJb`f!8BOkus5WAYTEb;xKRlsMm2je<1dPt8D8CY3j5fO{=3OfqVj60p^ zGg6SBs{O#sI#jTVt^WLqy|zopPN?Yl`=_IWX+1->4*-|f`)EEbI=lOYf}|PWY|3Gl zat`)${VR@>16JTbqEcF8Pcj-Z0=bc_U7WGK9W$D7-ckDN%QA}8DnZfV`-`)S(4zTQB$mA^^2;X;JPhY z#z^Z<`{cuxTVDU*yM+3Y!4{KA6WUm%rRDgAUIk6@M~kD1gYdj{PvSRfiUF28u3AgO zHwnV_sz^)hi%dj?yV%n(Q_pYyh;5UzXR+E^*z6n(Dxo)-TIlfqU@T|ZgBgsBUPad@ z{%&PSA9t}svCZ6?b}M#)MHtG0`S4bYTJ%KzN_H+Scog~ zlW-9tANe@FGT+QvkQx!r*r={8TPYDyy3Y zVd6AIH8n7GO@CQ!xrga3OPup&D}0^g#{OqWD}l=NT9yiFRN9|!)-`R%Mh%M)?#wbz zgTy5DoRpOVk>HqOX}mnRSKIhO-emjBq2oPsNAZxTjQ+0d zGJEQP-!pYtTc2}7jdUIHgl&6*1i1%b*a6sGoDut8(W&llYHzczG=9{7it)m&c^)!S zOcHw;C6F9Bx+`0<^}q5D5rI?TQWWkNdBm&u1MlSz&R@Tir-!9=M4f`f)C<~&z5(jQ{rKFP)1Ad z5{k@YPiJG0)P6VDdNPsg$+c^en_bjj!uz@iTD#o^`H6<`<32C*@!9H3sr>!Y*(vO@ z_K33uZcu9sC<^hQpC#8D{13{$Gpea}>o#;0X%=Ta4TmYJcmg*3S^xE3uHSH_lxwh>;7NoCN^}*o-Z7t*Ejr7a~rB9we0lP~_(Zxeq%n5a9=V>v zxC`<~z$>4ESgbKQ6%vbMkg~xu7lpvh$#&;#8Ee3ekJ~^pTgKDcHlGUmr7$dXPMacO z`1NKRr<&rqe7nT_IQjH5TKgLEM!9oSPigFPCfDUzfJx34S>|(QGyICU<>J6+2#nJL zoGCakcG59g{MB<_Rr=C^6qoc5Z>b;jbX%^a-bN?S+k#-~D*>&F%e~`#+mj)=GvC#x z2^irlV?rd)(Ui6Zlc4rPv=nW$Aw|x~mYqLC0=tfu=a)Q+#D^;F_oj`GYf3nm5^r!( zoe52G;Ihd&0W;S)wdY+YobN#&h~6{-X7rmbtF&iIRV`U-Rnwd?g5%oITsa^Zg$}(T zEs*FRA2gP~Lmw4|9ng*=VQVJYZlT{o|Dhe6}{&~DCu7a=O7~2&x9TYZ1p3b6v z-PkYQYR)Fe*v$sAFHY4TT%NSRLqukOves_oCe@>ld)Pe|X)4Qfg$Et_j~Ol6Qwip2 zHXIx=FpB4o^}5}vkiRX@(*gAqOX0j=8a6>TeyupsOfP)Hl-vRKU=a1doFE0@@LE`* zq{T=LLOgo&;cvykyFvt0}C8U80l;Q7g zHAhcHsTH+uA(QJ2euH3ur55EijO+d@Fc$qyZGM$jVi)906eE0kv~OR(%_M){iAazv zB1fh%+he&~`Lluws$9a9A|TDl8fs*V)D2W}|0ulO)7dN~ZebU5j%5?yk!3lp5=`P z(+lhpRlH~=&23)pwC0cRQQ~Kq&2`80WRS%Xur9!UF*)&i?wR6UY1CKKC&yK0P^PoP zjDELcopB8&Spm`@*S?;fo?PNG+jnN#_eVDa0TT;>yP&0G=azZcF7Ncd0DfI5sj#H} zJ8xk_=N0ZS<0u@^42XcwCp+sULW8-}e4Lzt*4mY7fgm*}dFchGk=*{VL$xUFeH_ND zdYOd&Ma34~Y{#g}Hty!xj4B2)!=xSSBxO)l!qQOy_$5PY*cuW(eC`+9UkP>HwWmGp zp_|-|kfX8Iuv$}E%FMK_rts6{JA?xGw$THa^Y=@&s&CjwU&6oH+Unvm*V=zkLydt& ziCN-(fPD)&qM8VEq-1H>NNyJtDQ4AIq~+^%=yziS+u?Vcfe}G{F&t|+t+CWVIKOIg zrw8xtL~8OWE(RK>AA@VY)#g*k1fA~eUhX8U@r54eRL`fd>K|T;ebI}xxD;#0IZ(35 zB_sbiqj&ydQT8mCka|D{_U=%3zm|_5X}WfSm&pTK+qLAGre8-eKsdsEqV^n zW4)<$l9~*kN0qG4Xh60sN?@2v4Na{M=LAuR(Rhg*hv7~8!^pSuK=Y%C#eS&sN(UYj zN?MQ0%H6%R;m!JTY58pbJN~-$fD!O zcRJ0L;6CbRsf0;{&#C$75crOiyyczxMdz;MRYS#7u?B(0DFGE_K}C%K>Q*(esbjXoPU&J>f9vaEpzwJ!$l<3 z!W9U2#=M|~YuSwykFu%v4UPM8XwJgaMqdl59N5KVo=!`4U`=NVD<&fF?Oxp=tfb$b zMtV~V@qxyshD|=r`b5tc2;m8$Qd<>|7n0&~;L9$h`hfhBAJ|TaA$RH5i;MGP@FT6V z2z1JEQRbf(l!iWjf%ej*s^c>F3LjhiQmmbf`JNsW<|$SN?M_ zR7hi#VdY-;$l|hsSi;ka{&0<}zS~x5H@@?$8YLh~)8N zonu4(;PW19HA@iSVCrs9q~$R8f{kG*FWE`ec_vl5+<9c8W&hji!mjc}(yBvAWBFNV z%V{X?@XE&3AFj)G_7%B1Uzr?ix4ZdY;DofuO!-Hq@?iypd$F4}U$!X4=lH{X;Xi%D zzq*J2$**5AvQz*)a%%*=zjExy=wIru_v|C5vVn1v9r@x5VkcsA)w=%h{LyFkCvSOu zT4XPJyQwMT>Jr%LyS8Ox$sXMtE=ma|x^;w5_F$Z+T4Eoo2A683lm@!D1$ei&ezzx^cD zjVu2lW3ulvy1I33@cHnhLxqtHF0}bHE80Txcwg=?PvCeX80P!3^c#*CVdt;E<{(N} zSoMVRb||Yb%@+%zOXHJzJ?A_(C_2ji1E-x4KsN2qlQ}A|S8Fe~zk|6IRCUcV<2ZwG zPl|b@6PLNQ85EfjT95zc(QhZ22dog20LXv6yEwdXdg-^W(cVMlt8&*>Sp^h~Lq3(N z+!-Jhtc?TZ4a;DwxRTr~Lcr&k2k0E}Ju@Zm@<#%;58Hl4<3f$C!z)8!^DWn`xeV`+Rgp zc+X_j^&0IA&-}%Qs=cA8bV@sI=T1aaO*8steao#XdgZU*>-GLa3*qp&B~m=3v&l;- zL(LN|*8k?|-;-sc-wJ!ZD}n}eZ!WH0eN7&8dNdh=#w7CL28 zma9f`r81QoxE;s#&vsvI`ZrEA z@_QU&r_#gllj?VUdAJ8x>CujdJq*NU zmt!qhJ#~<-gZKG#Qj&dr0s5DV3n20&5?GmD=-|6$*bj)rjcaA?;^ubkG)_}@tx-%W zolkxcN~b!23XoXp)8Uras}3C6nYFy*62hTf`{&RO)P0vGR7L;IGbu$|c^b@Jje?A@ zid8D@J@~=xC)aul6TYDIOY`mz9UhYK3_gW!n;S*nq`YyJ7Ov<_NWCex+CY`m%8Qn){6=yw&&3KR)r(Kb$L@4d0{i zU7)zTbPC8?4f`xoL0jkOfs<(Hok);sUyV`|*a%Anlv4U5m00VlSoEu^S#SiatEm}G zY~Ab&)?-3>ziPDWr3Z+Zbqb?#@5)Vz3t07qXkW37N2Nrd{;3T9n*+>$(h8s&njfg4 zW2~7It#Pd(PZyNwn6GRe*ox(9Bt`w=PV<(Z)-|Wf=Yp6tk4N>w8bT)&)?cixxC9(+EF<;vQ%zCYw4|4>& zcOHC~EjrVfAh3g00r~TbSKlHyJO@tE+8 zfa**zp~afG0Qgp(&cK3>=)_xR^%{jWci%O4(N0!xTj!dF*<$gdQ5`gO~NeY zVMVbMa=u-W1h`Q8LK1oad`OY-QG`-sP5$8lJ^5s!vYbP6 z`}*n4#$|qvw!VC&&9NNy9#m`L7eR258fv&hCZx!1L(cX)g4%99n1(0yRl{T+ZA^Vv zd${oN3X8cGApdLtHp~%doZPrs3GWfz9L5i8m|Lpy=tmC+uMhv+a}oA&6Z&&aR$Swc zz))^-7brG+Gjl@anYodaqrNrw*`y{slLVTIo3ySlO65C0L}oy;HJGxEp{9`PQ3c2> z>M0#;bNH)(SGIXqp&)uGAXD#b9PQXC`nNwx>t;Ed?;$}u82b=NdEiK}J;G(3QA(3C=d-Z7?0CC(tj%8$o=TP!3*+L%Ds>mn|{@&@nz=I6X8Da%1D5k!U;qA#L{{=7*feQ^O8I+r2iW%&NxU1!U6O zGMJNKxSuFeJ$V`I#s~v#2Lxy_bo&mtQ!ldZjym`dh5tv(Rcdl=u*^T-scf17lyB86K4SD7c)% zmPz8_7|lzSkfcPK#X)wLYmb$20Qr+Cv5gkuv*`Rp9!_JSDkcg=2|QOIyzO;``O)j^*Dy%00j5S#jF(DyB2mtkBv7B zlgQ2BzkUp}agB7B3Y}{Rdk3`erz01=iNAIAjK(HcIB^)7^GJlx@~a)z=bb{y$O3Z1 zfPdB8xrctc5B#EXTNVl8 z?P1lF00OM^mmNJEI2lByF=bQnRM!;*5CqmI36geu_F z9EWqbqqc+eGv5V=RNbL3lW)6z%Z6KraHx-o+lfuj64K5R3Sw;UgFb9(RDMbtqoo~7 z!xp4{u>bHZWW7KW_Q4r2J<01`L)42kZK(G{FIS*$e1>1EPyAo)evgJ+j=-^+Hko;7 z0Bs`?h#>(SZXl?O6W~-zjst>us74^+Oz(jg38%bY%@`A9->XE8N4MZ=`XT3*c-!n_ z0s!}fy6Z?q(@UF#?pq#suuy6vavRRy zoeFvlg^FHuy^r*^+P>zh!H|I8=p{5;tF*u?OlrXvwtVO#l9Nf^!zXx0TvWD;t$2FQ zEU`{Vtv{nptUjymrGCsU#)wbDAHdxXZjoT5PJ`1|TUN7hYu!?wO0lyK1p{9ge%Kd79*(&2wq;V>ykU#!~8 zM7~iL4gSdavqxF$BiE97lN5UE)3ax&0>r?=>-8aE4Cl4N$=g92W4GTu{0#o_(bDqg zhR9s#a;3tC95%A-N16n>r+N|j?XuFrAjOtv9!!;xz;o5oUSGINHaj^YT6wd_hZz<3 zME~>i&6mttG@|IIs!5ZSEzvQWuq5CWfTMGn;_VWDm% zIP^XM?6%7^OIJTSs~d5}^F&3rp5z;TAMyo=EUj1>6aut4ow zs*gU=NJxkBkF4vzP9T&KeYRwDy+>!jE6J#9W7+wma6K_MuS8AIx%u*_)EzCqeOCzy zcoZlRWC3>q&a<>C=T$6TC7cSQ7kVrTfkSz6nXSrx3ToT21wQ0w-bW5LMoFGZK8;4&vHeuJvkEaJ{xKd53UNN&l>M0y&wx?mN){t~>3byUb)^qH$H^n>SwZ z(2qhY-CN5*v0)~^U!#=5WRF?kN|0k#e!(&hqNCf{{=c;V_ATMZmiFb& z@cR%^{9ourXq1Sk;BfwfrdFQSr(8sdeAjX1qq+x@gCwDIcm|ez+RFvn5+bPj@LC%K z-a%82;VEG}8ZJL;(_>X3qZq$h!>#QAt|VCBiUI823uSjmMVGX2{nw}5p#%8C4%ixi z$=cV8h?2eV29#GJ)g^;Bi57S?Jyj2aHGNE9iKv}xW!d%d32~pme+0G5Jbid2qMw2m z*;RqNqUrJLYs-y^I(&jy;=zk@oioV^61hJ7*V{NDAlt@k(q@&H4rJszzD>JFgtcp_!eU*DlG zl`{sj@D2(h6I%kdjDKczEpbXcy-raF{LaG`EuqB21Y%&Vn+&EYknmuwByo?4#bGw-`O{e6ljCAn#(pI<1* zw^MmN89S*(6OrE^9&}@`yQBNzhWrwF0x%b!ME>^0<}!at@rph^4Z7y(0~@Y!+!n(-yjY$AVad$cj)ZWja@Z=$a=kt6Jg7G z{3p;YQ?F(r0AM%6Muey7g>D6j%v+=Q*cc)r7;8E1c_y%6{_1{7?vz@6Y}S%WTvAq* zQYzTvR!ssZW~NOl1cVA$gM&H*{zRaco-?3*%Bto}<;{^;^(LS=-3cMc=QkV|Y~^7i z(3|qbRA--VKOm*+qsomS>$zTZ{jzrSZ2!nnft7?tXB=*qAOEXVK(rP1N0_D_lJL`~alQ7k|Py zg`1l{NIltJs~OfL44snj80e+i$&pXDrte+0Sd|}SPp6f>%Jc6{?~7P692|AxR^rXV zgZ0(j>nNmjK+k78BWzlwXAczanFK4^ZNdDX!pvisPd* zVCs-tyQMQ|4hoNw?-D}1LCkCsQLD|zV3>%?F7D5!HBAa~QpZRar%$RCa z*<$e)J|?CEXgnT(;EilvfUaxYSozV&Sf@u6F(9`p+p5e}Ows=4khNzZbIm;HEX_B} z@DT(1$?0+P<=GfQw2$aLkv8tw0q=I8)^eyeim-}3&QhF?PH@*KnT4M_;ET_i=FgkT zq~|GvRxTapSTXcp&`V7<^(AE1gbPgNd;KWhAhjii<{Is_$9Se+I=vt9Or|o@gsP@H zQ=(@r9k_s!XC#9zS~LUQC1i3dJ2EWI#7mRO_|zxdhTZzRd)FR+6D2EmU$qQ1 zOK$Dv?zd9N{P3PI;54&aiz%?$Q&n;_d+XvolUR7MHdk{lYA>WD zVpo#Gm^4@ZJ!M7vi@qE{8m1UC!!2~hin{x$7S2EN`>8+T+GJL~>k}+==P7beRoWt{ zD}vWz+EmFSvh$??nwPVHWR)yZMMkv8QQp{yQm}kcWvbKNocSldvS`45*u)Nd%8BlA zj8KA|pVvBH^2hWSn2z$*KkY~tN`ETAD7)F!xd>DG+es7|I#>POnN5Z@Dz^Twt(2?F zqJk1OSH{bp@g+m`_}`Dv31q33@HEJpP5@IT7MZc8a`l7-%M1 zE16G`#5@{Q0;Y@l>U`??6uq?xl0!sXE5a%({ z5V7CTa^Ao~`Q=3&h_F8F+oDX5JUo4)pIuBx7u(^lvJB>J1iCi@9WIjPvx6Re*K?(M=SQsx$BwAEZmrIe@W-+bSz(7p zK#lS(*8~2%z6&c)r!%<=3J3~l@LvT;cQn5lkTBxcTO>282~gY^)b6qqe+uS|RbUdl zR=%V!QERwi+uvuM9Pq~2%**vUxdQ7jFy2LSx zvIn-{4uX|oGBOA78R6+H)F&1B2^sV~w%2&^_%d5zZg=YAEZL+M(q%Dzx?azx0NBF> zz7k{p4smJgyfPa-ubV^C_D|Z~8~wl2ZayLH`svS!dFIMg;`VBN@|KJS)S%d55v>ZC z)T6D2Ciaph0~f-Sy0M)iR^|%K9LWMts}$?)3Xu$jkD;G_a1+Urop1#3`*Udt?kXEg3PtL? z7F0M5@|n6Xv7k$wuPsR1kjau{EeM{rbIaz%g}mJ!VPaYyd7ao?rX)~3+PxIx3hb(( z$Fe3h0VQ2lh?E^;u8TRn0%1O_=k|(4JFs+S*JnAaQ>C}#hH>v^5G#7W*T-d{V?XC@ zFKbmBcVPC0-r-7Smp`h+3TYhnwas^qFjJE+GShqg+Sj{~ z!!!kG4*MOwk1OAw40%t-y(jQzLd@#L%&ZQ?G4oKePNUBH*Qy??GjL z;d~!Cho;|_8oTJHpA!mE7en&z2buRwu2_UFOug4wCTnG+%G7)7sKCfY^rKfT26`F* zU9Vmm$t5-A@!t0Z*e~wT;VIESYM=N*`s!U5;Fp7V&zn>J#)4QF5gd?&d{V`(PHbvm zTlw)(cw_tk)kee2iok5|rk}SApl}?{0Wkm(tCIAPW;^4~J1L0juGFQvEp5N(z430H z(B+K});t7NJo^{5C}UBZ8aj+K&aL>v7f ztZ)8q+Ys`=5f644n*dj$ClwdN@QL|w#ajBnaH$`HSJ=V+dYy_!Nix)HlLYr0?ED!M>9T6 z-UwOSZ&}T@+y@-ed-z-a>4zWpSk&S9CDK+y|9Jyn|2%F_X0}q!K33Unndv07LG)I7 z%Mh@mz!ST*WS_e&ll70l*QZvCE*{t?9_zlh^fCePGCIzA{*x9U#lqlN_>=@~xy|QU z<@Y(BE_`j`39iYy&Ht*LS!qxI6dI*5^jvHn|7fL>{QN1{pV6_kqcx(dP)?g7wcf-M zRA-_|#~RYS{u9Z~ct`5kjGM<7l>_mxfSQ6Y1Hw%#RcBGz;N=xF=$#z?**kLE4|=n* zVX!h~TFq8=D# z0dUCWUS)4E8_?-%o*ydpl-%sLq6|=h?(Os_DL!gm0A=a|_O&{Uc(P>z`bA=_L#hy{WyzAzihB_~u zP4g2*HinN{@Qm`&bu#NS?J82)vtPd$i@RPsWWMv{;Vkli^VT`_LZJFn_H+iabgoxt z0ZqM)%vUY}V~|$;%b~o9=Ohu=AD$Ck$aT8cOn1e+BL03@eDS;_dTXue2N4a)9#8jf zFpO%YxhOT;;W}O6sP5`NDDc9K<3>=8pJ$=r?1y`qMVi}9>9h9-d-tLmU)BS&LW$VY z4}O&l?6^H$@khxDc3K&yaDes;A_YGc^wX|sv|yz;_p-oy&_}PIl!NoH^b@xak8=q6 zfm=YK>LJZlgPW)p2HP(q?)}n$c_7rV?pe3q^We8P78c0W-Ci64ml&q^>Ch2hn1PfM z6F&;1P*?KS?2MlXp91K=7@Y%I&sVHEk*aBh-{Hr`9OEu1LIe9O5 z4=d|RdCKs#A=~L42(BGnR^DIhW8F#I(iOTDNf~OaK_XbkU>o_Xx{l5yQe5*&tD)wE z+gOa*@r@`dupUmSL;1m6wmUq$+n$J_IaK#b*kW-l`~+Y6lh$IW?a2UMMK;1S73gzfS`IvSGeT2u;Giy-od|~U8?Kt|3zxAQ z`y-Xsb*+@bxK#I+22VA~JOxRzpsKFq8T@ps{wmMe-g?jRQj@j6{>bT6psvj5)ib=q z5Z)lGFqg@DK{gF3*oJcmIy(evop>bBWiJ)Fp=aQU;%84&R-A3PX9jz1TnpEhmo6sO zVq~qr4nY#Ht!<<}rVnZEqyO~5jv`*m>4IA>S{~=lBe!r zSIzVDO^)wzmAkxq5?a|?s$B-xgX;9{F@F*(Iz49dIk3lP%D74B{AXXb49qmEa-KmF zS0FgOlyRuG8B`>JalT;@8l`Jb5+YzN!L>rk65ckpW`3BGOw<`!Y?UWgpA}d#NoxL3 zFbHs}z_`SqP1D|PqHHHx%Ap=*NzF>oZ8ftr0gMM%$JbXWoVcH%rOQ)#f{67{4IYEb z`_3P|nWr!1Jp9)MlT?;u^>d`PO4v3PNMt#NXBKJP*Q?D&HXJJrTlIlvdS~0dkBZKQ zQzdk8g~R-c-$Q?WrVTAxpQXEGf4WR7g1s>e3jmh2hNhUglh?4_`4ki<3Ies>q4Xc3c)~(U5GINur!#@om6F0A1&fyzL)PMMW`+qT+d%& z|Mb$e7APo_vM;%T%T}&L^zq5^35N0g^3pPqtaWl!ZMkmOTcsenHm_EG{gC2XoOdDo zF8yKM1JJ4QIv9`!?nkB`E+;UW93mY2f7?1#v3fe9FZ35`0qb$e2A^Mp#*{nvH=(^u z-}s?_klxQ5f-Zl#0m(ctSdrofdBh`r;O=nx7Lxo)-WRYNFMVfJ$}yDU1;0;E3tkI4F5l&4FrYEV@Q|ya*g8lSAt)D-D?E z3a0*ut3Xh-lm5{x6EHj?zwIUcMzhlkU0p7qRXkallVxedaV_N6hJiE{@Xt=nt|2bF z@A=;5jH{M2wjbY#o70B8s$a(qn#$MNRf#KJIUdn;)}?0=g6{dtRzFB{W5!weaJ==r zAN?vkXIZl+l$m!J{j{9L+c)j(FN@!MPPTEnlRr+(2Qm}CzgfqgrJd_AM17t7TawHe zKYf0CMHh`{lcWw3IZXDkVvEiHlVDj#4nT01>E2M09k2YxMd_CVc9}TY#Q!HoIVTpq ztUYH3B+~?Hh~41OL!&7#980GCowena+Ka*M3(n>vb}Qg*6Be82)&I%Y4qhWkiVgHH zoXN01dIH(G_z97zBA%OA`p=%ow!S%s}{3oNIf;FHhTcas~o6D@ks{ z(MRg60fNA86E=eeSmCtY(>%Yodcj2EEV`RGwD=(9m0Rs{C(&Ie;;RUn#%og6E;#}g zb|Y{eX>(=_bF}YbMpu`!s4BiI8at}MIF-zd3u(?SlOsnARI0#7lzcpSdY-oFt;xcS z&TG$4pN~%_?lty@1-bsZ!Y$0rU^w=6rAEh7}rd*a!WHw{kF-m%cuw6@opg&U8gk#TY)18$$JLjU1HDWPSjq zq!${5vQwOg@&1e@=7nHZXmDSr0}-kYf}X12&U^R0k`!5Q?05E?p3d>?*7vQAZ135^ zI#(*w>e;J5zHDXDk~8PoNP1od5>-DZBEb|W8+W-{H&}uWtqX|Da*sway>=6sgLEg5 zxm&JEuih^EQjr=O_pUH*ENwP?-MZL^`*&6Oa&{#P9juopQ2J(41eO;gFtv7#{lT3I z?HGE0OXOORcR1Ni`jcEDQ+_X6md)gL3JZzei$T2kC51w@{B^s1fN%8iq(m-dJ$A=J zW;Edtu4CPh%y>^?RfE)&TACYtH%OP55+=(o^d_hHpw%Cc`Ca+XAj%oT?()L^pv|@BRQu zcd2a}_-0ij_j2Z?mRX7JS=c<+I#u2K1>jk1jXriHl#9unf=71GzVMBbcjZc530k?! z$C>6qw3xbe5fUEYGgUh`u9EU+6FiY%^^nqvf7+n~@+(6*G2uouRme^!F8}M& zK==c17c49ZoR~%NLoJZfbHuhL_B=t93*?^MAEgA(+zU2gN*@xIEt<@BNcCQSxt7hW ziK*zrUpPc72c$NoqJv{^!&LZP&hVKRP*K-mq4FGl9)hr|+Zd30tL`{sGW_)+2TveR zu%}&(N_E5Io(r<6$OFuO05I`0ItkHwY+eeoG_UjZ&p8KneA}76O@ej8>T)Vk<}dH& zQ>$@&2T{twVmaKZyl>5Ou9;=s88hpGH#|%b-nsh_XBMv8Y<8C$5-wI4uI)SLUT(NA zbw_Nx=U>dm_)Zf3>gSdInl+shD3XP%sere_{r7L@{+400iFhK%-p^zROy0r-y?t=B zy@ZVUnkLoYVeuWjye~JzuWrnw^hhQ$CMx4IEV}ux&F3gYb9ArF4szzCCb}&HS#nBE zt6&ec{@t=M6V^W-q@*+z3HrXrEFs8M7=9zhKO{Su?WnGTh@(7*bIhiISC$72OcXP}l3}bFOa@w6SIj@I0 z5wn}3Xh)6MtGgO!o<)C>TS0Ga``J^>tRvwM>?#%t4TeJL(uqFy0>jxSUgB@7Nj{X3 zP2Nk%*)CuEr+o%GgDuNg#tbCrrK}WTUMhuRkSpc8Kfn39X0t@C0KTdP4gy%TpX{Fb zXhjx_?8!A(67O`4n<26Eo*Mv)mN~!M`^%zLKQm*Q>f9RexswLekL)K>A;ti76x(q! z8G+*H^1o>2CbF3MZ0|iiEvf_;yEjU(DteU9<;Ag=-k9X3Pn<>IT!V1+|%b&j~XEQY`F)WqGw`ett9t1dFiwKm5 zJ*?pjozZx~Z3JEVO}xHWnI~ObNbCagkTo8kDt}CG%@AI(40g45c=AaX4<}*v^FRr{(SO(hx3s0 z-)3!JM?3b`l(8GVnVlqukj9N z*Q)FrlLIDOSXkN`s{}woY(WkP;d#?~tp&*vMZh&4;6DPs)dR7D-BswRG*ADo{xhh3 z9#NSnAS5CKJ*y7;`x@(*D3$&ev{m9c7}w{TYYnwvI3XltXzcks-N6Px50v0`7oo{8 zYbx{tSZ-btC4dCg4$G@KmF+L<>b=6;f}CGtecfo?FBQh=BP;&77}Aitgg-r)?WkvT zmTFz-r{C+O@%to2RJ-woSYxLedlJkA9+G%M&X+tNyB*CDhjGTDOYMpdk zplM_@I3 z5Y?%!?3Ozu%|5_TaB4Y7zc@v8i?CHb?l>T!D@Rh+2-1+h+R6Z;Hk6AtH>44i|4me; zDh^_j<%I@Kf8aO-T$*7wr%WsS^e^kGOlbFX?Zx6{q6-Aauk-&>yAg`E0#HguwdOvO z-2?H%XWzkcuG}JB6zcv^dqw@SoI6%$<+z+M2nvlHZSpf z%S0z(AgKpV&=gV$qpp{wWgV`vZ=;oEEJp85lmun2=ylQp#??%N`7)kbuN7O$rQc=7 z)u!H8czHGg!Hv*lt3Wy0VunzDrF@ioS5ge_fhKz@01WD%0=R5loL={PiUUG}_D^-! z58qwcnSl<%#`KQCn@@i7>KlOzV4e*NTZgOZfqntA(DDb+5Mmj~UwXv4{xZCPm$k;gOf# zzAY>1>^>i&a*Ko<7#8ac059mTyN95M^T{Lz=Se|!!>0MSjV^k!3NEZ_lDC>}* zIwZ=00zL(7zWM3)>E-87?-D}kb1+{ooY$zzYvYl zu=*&=w7FsXo((xe=_mxGE4}N7-Z75^2U7SrrW?@PfVnzrNjxHmAZ&O@d`a<1{{CX% zC;KUREHVKrWLGF@ke;QDkdjtrweEa;>LG4mJyEVGYL+&KG2hfg4e4zLHysMDWS`PV znChem$*79s!f;&=3XvafocENCyq8Srx!ihMZRCeX1MO>vNzOmCt?p)n()U(uffp<&XT0}`(ZvWw8KisMK7JBl`RJ8-r19h5^H0RTFBuNd#^Z z@r{F(s65$y&XXl5bLQdD^UHDvl}F#wzV~5S_x|DtQVw6_E3S95n@EL@5q#PkB+|J< zYx2QH*=8k|Wn(2Xy`rm&2mVxV8}^>+kfEur58 z!fik7ArVbA1xZlvaW>av-i)@x8@Bv4H_tSoyo5@-Vw+wMx*snyvsRdQvTw#q4K6sE z?Kk`g3iqS&SI^A=mfL=->Ashy1*SP$TVkD>H`_d+=FJ;+qP zqf)&!74)9WG=_e&@7;|nkK9CwO{pDeXTzMME(ay?BgW<^+h7)$Hru9;JjaI&#QW#1 zsMXW1@zp87P4wTTD7&A2=Fk*Il>XjCl1;~n$gB~ozRTsr$!{rV3^2a=KkJN?EI8*R z3?E>a$D=c7wOb_s$o++*oBZjf@AzzI1r! zxb=M>el_7gX>7&~R7Tj2I8gfcc7*L$KoT@INPnU-Fi8KA0DJs(icdUOR_~vg=#3(& zc1R(ow_SUF4rKF<|y&a7Uhhb=~op(Q*9o|U0NP4*(OPNdIREm z7@-MsS>%3^;C0jT;hOyLjpk~~)`D%Qd8QJ?NxPD()DBC3HmL_@y<=B}?9`l}w$%&A z4I6Jq1jEjv(tIatwlvTjGfBL3p`q1*0M|^Wg_gR#TsF@6oniVV@%y?C<16i0V29+7 zzq7o-kNlUP#KZciK%o;>78W@qhg}W~KvT(JkWJqqf3w7qz2@BT25R`8UkWgIXCU>7 z`PLXlu00jxN6vQ|#7EXg{_15EV^pbUzs+5!axlj9@%z`rs>8b~q_1N5L3ROG|2P4N zR1p(>sDK}{;7?n2vPyGihJ1pDY-9l+@nF3OI~m9hBxV(BM{cBpC7v0FP+UGHzqy1Y z*pzxMkboyQ1o8Sly>1pDS*~~uZ$aL$1Vj%d2Z5fKgn(_E&Bi{pxJPn%>sc7$tvg4P zErmK&dpVkao-OiD<5NC3w{MLF=}oOj8tKD7)Pcgi&y)E9cbqPVZV?_15Vn8*qJNdJ zP8sJu``-JplxvJz4aLlp1I%m%O>Ot{y7}aDhfJ2s-wqdwW`ztc;|7)@gI?nm_azi> zMm2e#gm2o#)w6nxRkX({1+*H#p1#h}$maGP)%O*vS9)l4EvQ z#Im~&U?}T;;yC2#1X-0kS(dNgP!iXg=Qea9+bgoq5-rJ-H?2ISCH2MRZj}ZUaPrY-hYywMb1v> zxJ7`^@8bnrJIP3Pm&3tAOp!CjQNriJ(&wwo@JEAvzS)nttBKRpna!r}()L!g z9yds>NR^1aiMIf%65SmsSIT+%qN}XGsKW1iB&=VBzCmTQX<^L7c+S=V{t(0zYT%s> zFXKdjSx|=gVJV{18~5bksF;f|#vMi2c0`7rY8oHe-aP=_g6=FVr| zc8y_eT4QCIdO$$)s6Z_wulexCdBFsCx*!iL+xTN%US39zXK$>%rReqskM-y4UI&t! z8o5nbaMFEwpq-cE_J-nrvGx`~RexRk_n{>u1VKQ$8&Nu?JEbJ01mS=n-Ka>Hhmcl6 zy1PRUip*S5b=65E{ z1j5IjB{sbRi`Yg3?)Hzqr~3~}VoZVKPUN+I)f$-qz$gkfM@x}3ldRM%2eZ_2EH-q> zm}juBfmV6x0C2OsnvPk`RP$vsG`=22CUfYbGFWBsZLZ`!_%y5;$zbpJ2sCN}5{k<&NW+GY}Nxr`u#Y z>&R?&CS?CJWZMEH)JU$W-y{Z9W9t z7(ObIXTB z$i9o5ugQJy7I`uxyr8giM=d~EVEL4a^7r7suY!Re)Da){9B*f)yGdn-Vj)sSLEmc_ z{amN7eD*LVs-kr#YptRf&$np7IlgC|bMKy$?3+?kU!9GhzPcO5`7AF(;ur9MCE?JF zKNaF^yDchO(4tJET#Nrs9*F<#gBs$2yyTo!rDQTn;AsbMV~HDl63c0br?#?k59U^Y zg9X|iDO0yi$Pfw$(Oug4U_T$jmA^&&Jwol8&!Yh?<68Sy(hXcH6*`}Lpv+S8Zp-*y zqqVVp-G0K6HR<=Kk(+gYVtOSLxfzU*1J}|CKJ3?L9o`(2NX~V`+td2J`TG6=L{S(y>Uajvw2?CQEUs>rM<5V&-mT8^0>G-DLf|Btz0~e zpRfBI_rV*Uc0(WyW%+-kpQ@N+UU$H%29Z}WYo-?nDeuK76_3lv%Hn6u=3c=mU0EDnq;#p+N11)qo>N(& zZ@%7&_-s1}h&X*h|7idDotqhCt(n@C^CCNcg2*XJY8+iVyzBr;UEQcM%vOkt3c6em zl*SD`CA!=FL4fEGZeTT~MO;EL*JGB(B5*(hdlqF%Avf~n=`bNKW{zmS@L7I-{*5z= ziGBB(s^I}N;xyUX33Q`~3M*X`PV{g~r$2H-l+fFjTeuQ{=r8yQqA?!xOQps(`IE#^ zg$CbyFn2Q+Ztf@Pm}b?5*uMi5_8o|q(#S7N)zFIRU!Vul9rXaJHhGEDh(n&l$Hp^5 z4wJ{kAp#NZqv>X7S#Ewh0?Q~m9Z=HdBcWU{Ln>teH=M=e|HxzQhf7le)}hrUX;>{$zqDMTrVVj=I+JRW8G!p7f- za%izn@D6s?mQIQvwE$r>G&q(8<4=AbXG3P;QOi0Xv-i&1#SNmW{wn=zhu^^s z>haMN&QfH_80f8Y>REYKOg{U572Bf)z9aElZ}6P(*7Rkii`4vF58=4R?2*{~w?e18 z`dXPnY{IAuH|*FM=vBQp5YqKSwg2q2lFFpTnuoC9k(UWC^G%tr$6zvzoE^heFj>LO z0CO?oUf!d0)Qo%Hq+S(g;k`ob8f#{YR;~AuzxT@Ocum+gLDmgagyrW(&I0s({2amg zH3+Jly{yMgT*Em9bY4Qw!hKVv6s0mb)@#nCn(o`-{Ud@nYBCqYiJeJs%>t`jh)g?5K1#Wb5nMX})Nnm&UqPw zaOdnKwBK`@jct6V5lELIX@FMdF(9#+Vp(bQtc(y}Z+&ubjJdU*N;VWY*isZZQ!p4J z(_I@Dxtndfz?F=U*m!#TGV>TZmVJyGw9ondM2g=D{DcsE03W0((Ws2@x=NEEr^qx? zehpFG?vhmIXYlpBl1lMfo1CCOTT`3PdfG4)f^@bs2F^3~}Cb+IH~ zbkE^&?P)W(*4Puf@;zgD`2&p+2(5{f<7ZzIU!!^m&SloD;XXCrT^xxVW(S9G?F}lAR;(4;9B=7IB&w+6Z7fTayGY!=aYh^oOK3r+GjM9C<=BM-9 zqvkQiT-xVLL_9t@$*8YDai!vIHJ=q*uS4tu;ci z5pFH0&UYoNN{oeUF^M;E~5x_PAj6^O_8r2IklfoF@$)+sb7Ld5G!Px_JAVS zc9sOde=kI`Gp920Fvhy0S?Rs8hlDpK_cN*>wH=+lzMdtGuWDG~LzM2_hlp(_?|W_} zbiG-b?kmOJcp4i;zDY_n)yngJ-)rAP@Iz(x77{||Y5LKZLtiP?^P9*ndulgD(i-+X z3ngd}GqqgT?X;FO9c9-2qe~?_cMT#c4(Qjjrg6uIZYBG@sU4!`LjjEBj{po=xnSSB8p>%}@wZLDUd)-$lt zBzt%-T>f@pmwM+7`}gz?sHv#mbFu7yf*i)PoUe_u4E!C}aW~C%`X_KD+>M>ATUDwA z>}+tV@yzh_4Kd=DWp%gBUyI4-;B?SJUq>lp)35Ddu(f2YO6gCptnhD!-%VQUTJOrp z>}DFqv$+o&xd~Mss8h^2QaP1S+{%qntxZOL?M!FcOK&oFB1l}tbE|g<1vnUsG)uK% zE3yn0ve4(lx;*myo-%-BvJ~T+UOBlHBdtArKuvLdVehzQR@vhn^-FUA=`#qKLwHBrwAtA5ge{9n9{!D zn1evzDLMnKNZi|HMMPRQo0;8=YlIg7{8YPxS|=zx+#W{E5Q54`W|*7LKa%U{jZmKf z!TtK%%4N1&Zl-NC$|_5X8s0FZt|8H&D@*s7x4Q;E?c}vYZ>?0S}z9&PS2yyPwcQzWiBiNgG!sG zdyj;7!$qAN*s_uI0o(b!Xog&l8B?RjT%lx0Ee!snh!oP*b=0_Op z4Bz4pV#Zov(M|^p2aK!6ilYTC$Q$BB@`>f3P@$K3TdpK1VA8akcy;2(&c!Hn8+IES zKz3=*Gfc6!_94;hS9jeJTZhRRxwQiYGVrWxZ_5JrQ&Zib~Dw`qbK%C&!Y zhufUUXiv+H{V0zU7cRax*t55(8}yu)<~V*`BcHhHhtW1o+o@GChEz9;lt!z2QDcB< z;h|QSY@B)a{RCmW5KL{5agosF=9*f=|rw3v|J~eY8NV^9y$$#0i9?IBx zGPuEA?^|J`J&m>$7OmI?VdszB zvx0KyN$V>-$D@Kma~66fD_trzt!3N#<-Y&ny282?y@ZMCmfc!AMq6DbJwfASHD_4! zIY9Gyj~tsvIW1>6?Rn?Seg$fQNXDi9u760WHP_BJf8jKJ^5yDeo3EXh+5t^`3W2j) zwALdVSu=^ZX0r`hK0m>D_~}eIOWk=58ud^Ud_?lL?Mrn4w!QM%j!y44r#l9LG)u$> z2d|@NgjNodG@>95MMQMR&m!DHb8|K|fs*|=cHuHvxw6S?>J>(%YbxTuV$*UIJoEBah`(q^M4f#(>^$8AEd$OJ3~A@K-ne2TlM%izYInt zRT=9C2MUxcqp_RSKY-StqoQ-p2j*_2qa1dwV@hnNU#x=(vW-cg+JJ{b)8IOS+QT34 z!7(4!3jO~oOe~PiBphtR!FI~Dlf*iB8CZE~SOJK7%Uy(@b8yIIbVb~$ab~Ew2n`;j z>IVv4UzB7OvX(_0e9V*+HrPrP5|M8Z@cJp}6$lbAfb?pp{Yr7W#Dr#qZ@4@1_!?T7 zz8KLZpz2v(^rCZtF(G{`fgV*nPPr3rOJ7-@MezA8hBcOCqW)_De2 zqT#d*5vvNMPlJib)Mb=kb>OLLPIoG^OmBsIL8D4}h9^Ojn<>wf=Ipd+G^##Yc|~T6 zC8a)4$3qK{U`_=_+BO#q7Awk`9qz-hA4X$~RM5SHeUuQooG)@`h5+aU#Lb^zY-VjoJwVUDLn zs%P+evZ&mNeDb$csy8x0$Yy2fNuA4F%m*}%h^v|PlbMkGH-dSCyubn6;xAp;!oa1H zZC9g)`=`I05te(+o&ZNxVe)87`&p>B(MW&qW;OywbUOULVihZDLW9BfzWdZ8!iS3g>c7vf}8dSS}m`ZSnoqS@jQLV@YG1k5o|tAF0&PLeh2_ zcM$uiKYdgQ!Xm#3c6N-!?D!HYa7Ob#0NyI8{|)dC^13n+<=Q@oiE_Alnk=`aKqkB! zvlpZ07!{|IYs((ITtiaC6CBQ`3HV`-Tvs$9Dk4a-iP0;bd#x-px!U1M4&7M=&Pj4E zW{0@fvbuGAf)0+0ECF$q7bOc86Sz~QP{$P-fiwo%DDhB5AgAoP+mhs;s<2VI&fn6-V3R}3HTX<;Q^y-9bV!rx;CiM#KqiOGlot!r27?#h% z;g*`~?V$IxnRj5%<=Xq8ZMx3I?ifz-*eQJ$9o5zmmOg7M|AI=*Uw+!Mr6Kxs=8=Cs ztzPJ96%O0ZwOiDCd0gqH#@K-4W@nBoR)>2e!hzU!@7~Jd=Lg!?8A`Ltvi}HUyANP;bzB6Pw(*05?U-i|F#B*J`4@^Fx0bZ2koga4tN*0=on(IAYf|0{v{}qubXBzjnwI*- zUYHuuVidt0?YH<%OI)t+v&{WP}Vhn{G`x0_6R?INBb?m$Ybwz{U!u!_g} zFuokKQrgQgx^}HQ!;l32{2yg1wz_eQIa}NK>1bn%lJ{^VXLAH78#H1`%-lZq@SuJZ zxM_rqj`&45yaWWU%VFK*gYDGG4bR#%2`8Ine)ZHBr6sAbd@}Xa`WHN-{v55E9a45V zpA@ZFPM4zS(!GFYZ(re${LBhG5h8EW&I5^1JCYdD=6F@(sV(vF>Bl0e`b0+jDivU@X#}H64lpv-@~-9e_Wc|Z6LgI1 zFw48J;u`_-Y^yR9@h`et@9`-d-7WC=U+8YyNDJcAhkQeroOn_4rLtI-a7*GmGZ*6y znF=Fw(IOPuLZTSC^nbTegf=o9lZqmJX>6LtjC`x4P$LIvDUpkD1_#PtphFVQ8X*;3 zMI0+#rythi--b8*?&!8di5NIxp*^N7#yDDDp__SZ=e-k+LZnSWqZTj{t>xhfrr4jcQ1r#c0g zdJ{qYgf#)uTS6PO&`gQ`d$qW3Lc7Drw@Xl7)Y+PVyMEe!cDaDRiM}3SiM&60`q$(K+q0^E#P@h z+FK9*G61R)OMW=GvHr1E%C^?x`)>6{1Dzx*Hz(iGgtOhw%2FHX)lc|pdPwJy(5}Fx zU{ks2-keoJ2$q&NOI>_F&&@@e83Lz7lnyQCiY z^3sf&=s+E!yZuWcSSBU(g-&z^TON(G>IGBW*;qS|u9K@Hn#`|4&)r^_#<*6^LPRY0 z@MBUl2jqKv12ff=HhS-?=oe?vY9|bH@K&k7Gno-?B}Yy&-tUe&tE?xf>7_j+aJE5~6^S zQ<+3k+v*=P?@F8IW=qeT&g_nbj1lI<_oxD%4nrw;*_nIRbr-UxFl{k!{{s9P#z4_z zJdBaIQ1strQmKI;qBu|VHY7*4o5RkCw8_xpIg6tcly2&1i6Hz@oM3N|4g3vV^K-EOkSJ3k#Q1sj1Z0D zxOazHzkntccf@T32km>o+vmKJ195Brvp0ujZ<`n1F1(mf3vL#5m*EdK0?6Ghc^3{n z`(w*P^m0g?OVI$GyGjo{E`?yRYwn;GSIT;qef#(17AAjRWH^^_(Bu4yw-T-IK|V&k z?0d$eaAWmS6iV_N^x<$J=1bS@9v;{5M=<wk0oe7Gs*)pz0{;axo-#KijsLCMhF8Zonkdq>LIwD2AtdYOjBE z5yjgDiF5cG^J^d|NErM{8Ld{g!T=vK>Zu}yNDUN6!$ zy4}5_-Jvnv8Q~>xs_@S4lc4Y_6;90}z;Ed%7L=305y5*0?iIT51tS$M9s%Ix!=%w? z|69hjO#zygpN`7A0>d$KY7;7*N60LX^wEtqifK9NIT@Fv*sX$KR_y|0W(rBcTxkI! zP>CTUkQR5ni)*xEP%-p6;JOMKUCO#wuV1trjggEHh<09mURaoxtzdLeK}STEqY-|4 z0ooy2j_&d@S#~8&W{w#!+EoqmI6zA~vR8Gi$S*VuCX(q0nodiibrVRc-=xQXTRAl( z*AhXt_d&cuDu?BG=&@Hx(bHiW%A9f){!()zSlsZBeY%4@HfPB=nzIp^HCyXe!ayfO zpx|wsjui!PRW{oqX*fLD`3JmoM3gcrknz8zOU4Ti+A3Xqt{ke^iz+}@7{q7A_$pv5 zZ>+qi0zi|W^wgXq6+}wSK=A;Oeg(y}4>+ULVqGLF`_RzvZwqv?c$r8UPg{Bhf3V*& znAW#+w$WdP`Y9e=QFAyArZ!ehg^#9}D)Ey$W!`qJ3@C!K0dQD}cU0v+T`FO)JJ{}G z{9vel^Aze#EA!J)r|Ic+RM4$DkymDNG)-c3sDy6tWN){Y7LlIK=PpSV8<_wH<;`jV zfdfEvhi+jRW8&`oX2ad-e;n8@H6sBQMA*AX>+gc3!WZN`c|;)Xf4d-4!h?tj9wAmrAOxc4od*bi%)E|>z|cRVFvq&!*uSH1wF}2O-wVhMS)6u`Yt1rVcw}> zJ4M5PsXFDhClAp`l0p?F@^jd#ZoEB7f2=n`;YCHtd>xu)fS%ifl4aDa!d^St*$8(M ziBq{xxQ{ z4-0(%-!2KU@BvV_*70wC|CBPzQ&%f&s}IF4`k28<`(t%UeKnKuA|ZN7@!+Ee`g`WR zbR)e|EA5{bB^(jMh6zZb&gBf4E3H4dSQV$5He=Rh0gP17pa)vXq99?OEF@^v*(l=A z5fSHpGZ~wkn#iaVy*bDq9saXS{nLmXB{dUy&DS0TVoLtK)e&V`qpRLc|$Qy{?STB!p`w85mM4q0V8q<=XqQso2)X@M9$D zermwGvR`W&8{Q#tc5Rr>hu?R?;E$O(SFN3I|4hpM=btT3{}P`o`~N5L`8RFz&qbZC z=AX@}%`ucvYK~NA_0KYfg3ulscX{G(F}~UI*Ch;N>=^|Tbs1YKQ$%MHTc6zB_5fE+ zPB&M?G)iVS3ul^dSR}{&a#MaLc5Ey9x6(6_s*ht|PRx9XC0&{D!$L>#h?#02VawUE z6%?6lzUu#utL^mViN0+SHF8#x%XxQ81z%xE~0Qq>$YeNBAU}u+&uM6R; zVeoe~oJ4jk|MPYD=R4Pr0his~WajAkp1p(zas-$G;X{5-z5l?Q_9g>CFox?reUEx{ zJx|MYSJ{M$p4J5WRXPh0*IP}qj0BW-4?UX}-6m_nkTUeB2f6p4OnBjiG`ZYL>S%kT z`<}dfUDr>qi_G0oH!_`QL{?_Oq~Aly*k3~$hINmY6h5rBs`6M~kDZpe?bCp4A+15VN8#c4<51^l|!0) zhcRcq9Da}Oo1-ZC9*u5zrLX0T{LDD$&LXEroACw@ZN!;S6K6qU%g@#Q4CqwOfbz2vF%|I=M45}zLHfL?Op2~v69Dv!;g$(L;$yV zN$xO8V2`VDQ%N{pzpJDu{Ao|M0;q^(Dw!daz6UhJqm0W|}kpOuEGZPt->m%$^##)oS{D=Z|BEwxrjA>DGQl~8+D~8hN znFOrzTau1j#;yV+B7(%0sNbJ5SjJguD4RhP)SZTQGAK*gQ~2`BVV=8LqC`;6t&vWOj+7wXV`?;yL zX3I|Do*WGWdF}8GGq(lbFv%Mg;kp0eM)~)4GUmYnGdJK6I(nxt8U4rw(e%+S)>AoO zZ8LQ=YsB=U(=%T+Ditl^MkJMZ)}-LG3r4OZvvR5bpDDwekeJOtq|uFxXywhB2<#)P zftC`YYpbjz0j4z343W|;?cJ3uc84Cu+t^ZyngfQI(;ww3BBeE|qd+*<33uaQ!Oc5u z;{nJKC~PHf>TeKjz}Lhns~kJ~pjq@TeM?_(>E@nmjFq{HlO^ep%{D4$+w)7n;9(|* zSB@LpFa@9zx%-KlF51;($j^!cxX)`R8l=}wxkBJjUaX}M^P!TIB5MP%>6%4wuns-Q zTI2p0g$Su^-`efz>a?Z8DXIyicJ(FvHwV9nyc-Mm#(uLNW^Nn7h z`X6%cAnpJdkOLKw5DGY)fgcV&ybD!%Cy<1e6bG&tZ+>j-g5f06Al4f5=Y&Qrz@Orl!K*$Y{nQe{UxQ&eGqO ziTZQoMo=6bf@%`0_e{{rUm1((i>in}so$zmA6b#QLDe}>v@l}Ux-18zPnKBDPlsT& z<^FbZdV3NV(|XmifTwHDU%B<(k|J7|_0KG=M4zSR2KhD5!nxPNM3VQ_{lL7NuY&q3ucqi?Uk+ATT*6p$^hb1;7#L}dM05%|YH1l# z2;H){$h7(LxU@8kYJ@scs=A&pB?&&`(9%#+^D}=;qmDnn+}5tUZ+yG$Jdhk;=<)W< zHhE(!$8kGpdqj9{O!Ho#q9)Orz1BfO1>k1w<_fCjxBt{1E1!c(G_c&%`&|GC(1k@s z0|m9)xoq5&{#Z=4m+OghpzKJFS{9vkU~P1r09v|iG5J`6F;UA2LSS$Hx!Ngmaar)H zx&|`dMUewPoND-*gl}|wA+^<+ve1hZm+rAPnHdk`8|an5=BLHVP6v+i8!j?W?ImZF zE`c@SzAFPTX)Ztf2p__;1(wjc(Z}GY)=A(9mzT~G<^v58Srbuy($myK)gTrgMuRIgy413~GW7ZCcQ4;+Q@On0%>Zl--A;Ss&RQhL>yVpo6or4GEgS>SiP z1C(iaz^rWG@kh6&qm%^@OS9mW^;RQJ9*C90|27E5w~L=}2(zvm&l?5`id!*klby!V z_qzd#xRfz3xO}GQ9x%u@3agic)$K9a$|Feyo%8kH8n)$?$PfS2&6Cud>*AshdBTlXnCS( zI6t!#+ytcE<(b!sfy-P)^!bns#lr72{Bpw5DSKQ5=Q>vjtnY!*oGj9|702 z7sFwL7x*aya(%AChCTx8wGnM^{!?vrcS48w!PNp0dEJd7w)~! zdyVdf3D;aJ#lS~%v2L?#oBJ3G3Jqc`tw?j&0~Uz~=-TQXy^B_?m{=H+!aZ~v)sI(I z101ls>DUd$kEANuFAu1ZE?Zlo4>4UNvYlIG3}m6If{yH)+Qg?e25Y}qE_3(G5R29# z22fHeHu3+?Bb$zMbFL^UMFx*03-&fKQDncWbXI9m0TkV@sd zT!qbL#u>ggyFM=$1XHXbj^TYz2`|9PEIZFYtG=MW_E?9UfPwT^6I)((=G-CA-+O?n zp;jr}cpRJKRX?LYR(GcYDy7WBpRlGruHNEOhGM`KVn?8)zbh@)AZ98=7fUVjTw^is z$8ejmtt*)ExxYw(Tihsij(J2K^4lgW`+xRT{zI~}LMP~W+El_m7{x}H* z(tKTD=hX`$+}(Ukocvtf$jHdNh7F=qG9Yq2ng28u9Ue&);J;Z;*vs0x{=3&xVP&u8uL^jS*BZ>+^=iD;hpSUA=ZX3F>4?iPbLR*QsUJ5^{01*L* z{Hw~ql%l2W%Y7#T+EZMJ?kBFdU+~QR2nL!6P`CcyBB6^aL~i;AT(xMM2z}qPi0B(~ zo+j2^x8LYNSG^4|hA{A+_b@b1N+9^{$b(D8zpz8f&@y~(cZ|^XRgo|}r7?)Rpy$bs z{oE7PcAhJwKjcmjF2>nut{f-v;56ZNWzpLc1e=XiA3(RvFGF4JB!)K==ivU@Zv&*n zk+>4gCU>Sk7g$TxsLb148M@tNR?{w?VYCXgl~#kQ-pesD=DcNk3E$u zqzIiw3syckSAtZsBlK=0nO1~C$(vP)&yXLigi`gZpUkNqQV2zw;i{wJ(8jkh;ZI$C zg|5lr95E45N$8LqWf*ZW%3upI!}PnUjG$D74is$Ls><=dHO;#MPZijOpfHjtXDN-B z40ya)gv8SBvY4`FlE^fXIH{qE{9HduVXt)aQ_Hcpv}a^7-=N`ST&+qRG^>a}ml0zO zXb-dR%84_qPDgo+xVzLyrd+E_j~Ho`L?rb~=`?OOzvkZ`9kyRzU9o!|wi9{1(BNf_ z^wXIub{~&ti)7<`#5Radi4uW(NGk|4!s3ZWIL9M!KLBz?F6%;)?8&-LeT#vJQ57J@553I+&rpcbc5;OM%Rzmpc)K_FS)DhQoMF+s4*Ndwz` z8iAni#j(zJqC0D>>b1Pi}0^W*Uy~N!o7J9@6ggr>?s@`{}i5Z2$ZsUV8 z1c!Y(;O)$r+<6^*M6;T698qG%SORwHgv}if<7pT{c&oe+%BsPMcQpi0=3kY+T=yZC zEF@TgV{%O*s3yQYmDYE_)Fk9Yf4g_j!Dqs-j|)9jVh0ES^Tk1T#l6GQQEFRb8QJUq-Eo&ToJD? z;FZ{VVel)X1XOXbiRB~p!Y8(vt`R!lr-*Mnp|!Tf^oS%;QY6Os-ySVL#r<(Wmx0o#PQLclbjMf9PX^5@ z=Gw9=Vnj>ylyb~xzuauFsM=AsX)R0fGu9z<1n%wX2V9x(15ptYM;3x{RPrr`j1*y< ziyu1o<+Ip61;yA>1Y@+A>F?DAsEA+l`t~eNpm%;LN5xHDP2*f=fSPwtuBv^Z>V{!e zggLC{iFj&JTt>1#`f-6S^)-)6OtW?~nkr6cxe~gmO=?b&h$hOFnOeK-lNu4R*DJMKv!@*IOaAUE)F0Fi;Cnpz)(;yXqq@h1TUlM*Q; z7NLS(S2J@;LalE#fpU${fAi5Ky*M9-4_(iGgSC9$Y74^09Kh=rQ+3MkK&FMArh#0f zY?2!0cOVC&_lFiTz8yYd5WNi23E}h)6`wrm0+eMkA)+WDFmN?JFCFck+$C$TRQv;? zZGG)`0Ng|B@@3QH*u4o$47NXFvOnqBRWTrzuvfCVuEpE%o;8Chp(=hW>z96RXIt)c zy;tRu@B0{m$1D+5sj&*F?VVKW$?E%6z3 zV|c0V2Zlq%9^XQzPym9LE}&Tjw3^VbK}*^R!}m^i5d{f(N;IFRWFmOB?6YUzeT$KZL9<-T6>b^CX&rVGN9?bTHo5+Fwodoncl=O|Ow*lSH zwBBh&iA(}8eG=agw73NoK^B1zWg9sVrC5P|ZK_t$cJ(=K-Zpb+pQjidSYWqj=)GRW z9VFHS3<~_`Sz5(fP&(CDo16}FP80qGAG3dF2!Chr`_dIswY+$T(q_WskHr#k0rFNd z)c&C7Zqqg_Y_2`o2JobYC1Oe)&tw=W0yZM?s-*{8JROvE8}HO-6@}?~3H=&P|GrI`J*R zD3D!(ZB^fDO|l|~V3G3GX}_<|FrE=C>Q9d1hHzN`Q;H9h%_Pfh6WGEwYTEx!<-ab^ zgDuPi5$sd2DIbzx2g3uD1|eEBrr_fhH=JG)AY@prd?;H532}rm)M?ZbLtYmd%}R5%4g23oz&4g z8OXq%o-HCBMU^c>b`)s(ewn&koBY&~YO&-fD6er^BG6Dgu==-@P*=2f1&U!0ozZ*| z$kJnIU_x5~+UB1l#a)LodDLXwSjmV-CMJ0401kn!R+2byjPBRl3i#Wk`Hi@TSh9Q05xP(NEXxuK}&1{nP^(9uN%2382oOr!R7bpO}DaCC)p0iqZZq9k8Ka4_DB!8YZ z*-uC3%|#Gf;_f)C%ymEt?V`oNVE@NEyqUX_J;b(*i!k2#Nr*4Ap02{YI3^pxc5#1l zeZ@2Ty7PGtZRJHS{`*eRyJw@!r46tf)ojq(FwE;>9+6W+8YlN=ClSM2EEJf` z4w}kmC`+CE>mMKbm`jysKIEM(ep0UOZ9wc)gucgje{+oa-h7IAAMTT~6tA&v&gu`c z9ZBcCn89fjJLdd9cP%*HxC!8P(8&#%UFKP#^G6Q`?nf1jCd2edB^V$22Jz@)l|{B_ z&kHFWA0Zf4%-=<)3gllK)twA0kj+%S6xzw1?sE}37xa2WKXo?evd}7l3=4HmbLfd? zvdzhiWmeXlj}OM82)ciMc{y=!sPIO`dMB5UTz!gO_J!M#Srxc`FcXVI48RRJ0*=}y z@}2Un`}Y0keeJA6Zw9imR4%65z&ccO$N9N{mFY*ub^+XqE79~#&@qU!vLoS`)pjtJ4=&jWInIEj)6}hVn zek|}KB!%R?1j-!KCpfBg)94xo+K%fYZgwZ#9&4A{=gDotF`)QhZ_u&2Su_he-r?Q? zAxxrILlIx>4Lcl<$3N>=DE&Naed*o|V$D9t5E@=IVkE+$ zTEle;{KT(D?i9U|{`+G^zUPTXszj;R3*6K0PlFMj!=rKDnM-3e7nY1!*lv+wGgr|t z=_bzS%-V^AZ%(hxB8wdKQiWvqs8?}0%nw`?ALJ=O{Q0Q5sb8f(c!vBiwuNb;JuoaE zKbA_^I+A7T>nGMNtm{r!thI3 z;(%$16dS3hx6$|kkqq&l4@~S_EzUdn7Kp2N0aPwA!eaXi3b^BvY7Gedz2l~#z?0?8 zW=z8JF`~vrY=MhK$j9Yh#3p&%sG@qA%6>YEDa!~uK=1Tk@!OBMAnw^s2@sCkk7aw| zjuu6b53*bn=HdM7st&T^^b0B?m#dVd`y#G(kCwQD#u}!{WiAiO`tjPBI!<%-SO(#)?`AZpLiD1 zr2pam@eJ+hdog<@_=F|r%R=d+J_KK4jop4Gc;L|5zO5QLdM70~S&3|%SASPrO8#C; zFxpRNPbaU+ZIAZb>mDsn^LyTyER3DIiOFr(jbs=01PKaLkWH`*OMV+oyZ`QuIYYYN zbbp5ufl>>3ZT?Z49B-vt?-)$yqmAzm%^}otH)D69%^}xb)^_-6-tp z*f4{iKMX*zI1_Q>IJs9Bx>xU#Jye#bqG{(I@(Dm;w}}Zv%eHv&rWM&`@=XA@>DKG` zy<|Tk`R>)dCzB5KVG_sw%pL+vW1AriaUJP>7A+`Q1ERg6XZi>Bk+8Pu-Rk& z9+y0?LRJB4&8_HUFcf#adOKs`T&4mJ6HyO4rw{o#yG?_Cs{a6u!b&5+%2$J1Tbg2$ zsZe;MC#p$I0>fJiOfyWZbd;Y+B`IgjM(1c3kFb~IKF1vD`gNfxApS<)#gcq|xu}q> zLLTsdKl)`Z1958>ZZ133O=XG-s_^I0Ohww;)y~?bm*hwMgDMZmrR^ymx*fdy+$CPP zjmNAs6DZNcz<%3ig=QZ4yYmR+{zX{&FC(VSV)yJXSlHIIGscM=NUCZ?uiUyQRTv6Y zOJDtb!8PhFzS{ijZ`Nc11dend>CtcHj%2%PLe$IY6u3m$krM|49 z;3%HU$x0znPUuz?eEH%V-Sn+-oRHw;Pv@I$?WP_vR^n`hH&ygrtK`We;S5*1vF@%B zt^fr8$q5o(ocv=G7<9h6rE$aO+|U`T!su zZ}FUX^|5=475x zO;5<$_Q3);P2xby=i4DBCcFrHt|DwDZI9Y(Mq{G369^t|`vuN*NE(aT1W!N$ufJ|= z*_4(1$>iQ92=r&a<8{qMDh}HCak$bccwaD9{LtLGpi7^Lb+AA#_0>K1&XDg08~*1r z!%A}go*v+FU~J&$SyHg)G5MBXk4+`vMGmKr_uXw}u@r^}VQYfqZmhWCc*$!~dQ8OT zJc@mc=GTBs(1hfw3!5A@wSMF39%j-^40$c|aT*#qWA!2H_DaiF$9HzE-| zfsV1oADHP9xFKhP)Et}+$OLV-B6VnYcPzg?D*|%Byv@@c= zt_2)=0{3mjrf>~k)D%g1a_ob0usmu}pX-KIoVwuzD0mtnPxphs1X1Y;PAauiA4?bg zbKu^HF+V^TvC~`KmL4H8%_$=7rrBiZ^x+$*nSiRvD?($cl>6WF)4e|96p#|u1B^aQ z6sptMK)Q^pG*Jk$KW9ETQ2b=2gi> zDrk2PCB^0N%lIDjOc^2~5j^|DNr7mVg(Dczaf|3p@^xnL5)hInAIS24jZW(4wL-e^ z9uDC6C5QN>)dT&r3{gs|VylF!Bq(zmi0g}vCt`e>RD6MWvNZn|k!ar#mz+#iuT;-` zx`le@B}%*vQOhk$?d{o2NCBxvSEN4aYtCtK2V8+TmaG-D&A=NLlWbvywcE_R&byO? zue7Y6%V9qYbOB{q!bP4Qogubd7Srs)py`P)Ts>fcxPX;=iF07&3rxqq7Z)%bmJNu^ zl$=`RjWXfp$&1{_fZErN8)+Uh(!)32;E|wyJ7IzoAh=sBvD6LQe;|Bb(`i!l<=g3Y zUJ-je^AY<}GUDwD#r=at1F_T-Cwk>1ovyW}Rv+nTa3|ldAUKOQNc0!tI50##45uT* z|6V(kE`zoojLBYYEb;98;dfy-?KgV8aBYBJmiD8P2?fXlSFY9TC+~Ih7NAa7rv+g5 z;Z&CCiJu3v$v6mFtc&nZR1jVH{CD!DcAl_#Pl9Bz+|GS~@On-30K9?Tp)*5T%*h`r zT<-`*9*&&=hvE91xGi7+Jb#${7G3PwEiCu^79ZVVct@i&sf{yU6X?$bi2i6_=-b~iLJpZW6h&c6Re-CzIESTBl9 zPs0!!o|2TJeCb8>zH<^R+F|mkU&4WCBVzdlF@=0mL(ooBrKEGs(QsC!-^IAW^`wqT zPxW*~k167F?=GX-^G)@PGQ($9Cc}Q?*{1LShiecgr(jhBOTj(jqJgv>Yh*u{(<^rlX|P(GUOyLi7T1L-ZcYu z9Dwun&ML>MDL2HsF*Npo<&u7*0KFjS3vY^_PV!VDj*BnGU~XRFG$k?zvI0kgqmCcv zg6A=J^r`&EF;WK>kzUra&zj1g9%@ZiE`XjIikKN_MM5_x^%@OBo(ByG<4mq~Go)hS zzf2Mp<3gQ*cbRd2+VHX*@lk4VRGDr>?{$@anMd4%lpHLlYknPf68>c2+%9PN;6lgN zfBF&}Wm-;L@kqMwrBO|~#pf{VxVKCh=+<(!`*{}}jSgnsih$hzO`W2C&vPcmeW>OP z4r281Dhq5+u}2-J2G>v(a@{8)IM?c3ihrZPUSpOmk&`U;#y1hc5cB<;WmnMF!}+M* zwP~m3lW%~l>C=CwQ^&P!h@ZmZ{Fv+BPRQ+$e3T~`QEnHM`TxY~*`kLD1FcN3UjqTx zmu-MXaK13L`9ZJxnndOZedaTIBMk9I~JxFOuAuQL@`VY*dN#(cGAAeBZ1>eY(`{&xZ!)Y%Z!qY)A|k~h}eOwkB;^P|BW&u(l7DXu8&;1kbJ}$v4V@4qG2*5HxEx2HEJRVkAl)A zoH9~zzj_aMQLTO#9^OxX$#XQMz)$rF)$UTlvrAns2S+r+vxiSM?%yP6s8qKZvh4NL>b{o}pZex$8#fSj7k8+;8%q==8 zpS5awqE3{Q^ev!#8dAg_ZpIv~Y{rPqk#WUSP^r-L8=bs6qj0$V*HN&{-WY$RiV&pa zs#J#6F8FWZ*TO@fG=H5u^rG2J%(S|Nw>%8TDDZJZ`L9Pv81ND0E@mW?rOI27(Z2`Q zO)5`3E1iOlhg#&{T1o@^8CnQ3<^HQ5hjgO(H_A0*5+FN%;`Z610;z4;FgnZE>ujoX z$z0rwfiZ%A{aZ1Yk$Hcsv&dwWsdn@7l4aGLGfUfBO074+g;GyIUj9jXu_mIW&jR0% ziKKV67U*i(%vXIEZE-%73a}s?=tIZd8s4|RG9B4o{>P-TX$YQ zUdmhq6Cw{_#5S0%_ZTLnej8}U0tl8}1BS1PTMzJz3B)cGor58-i_P0q)wk~xl5G~r ze_7)WV0R(rFMlwhK3Wdpz@D%^1qLjdZw8XyV`N!TL-}lo# z=8z8_QqFx}_gd>b&)@Rto$?EQ`tPoa=CvWUl~Y;a_YdCqP@M_Bk-A2ZVpBQTEN}UK zumLLonze}a-NY@Au2mgN{GA8`i`>oqO(D3zq|?~h4eVn~Pnk}KQ_w3Q-+=)gPHGh2 zXilp4*z5>%N^ z!5kdt&oAI*p_2GiKFJ?4VQUEcHjrMq(_f&FrvQn_#Y#{@nsJ%-Oj z4ZP1^`q9e1GLXKUz#Nu+9Sf7Y61UQhmq3*eXWfg?Ww>+TZ=-^d{ zDgoUDgG&0-K#;47f}%<3A3WlC1}bxD&j52`OM>nMZ&83S-Rw!U+b*x3KT*+t{(Y z*&kp{v(E4nS1enl%kR=7X?YY``lB!DVtGt_cF9?~H!#Lvs3$PJRfPV&0AZ0~=nW14 ztsp&dhDx`dc~aG;B(u+r@7}i4!EkeX0lgDT2pR)n5&rl^oI`P1R~}W;W;X&d&;nKj z0V+YvM8&TM9L&hbyPkh7t53BrYP?!BAM6dy#5+!XriS{MgwUl7aQ`eM5pbn+R{hR@ zMiNszlqc#o#acerD{jo;eob-?TkfYeJd5LlNy{kdgpFxr!uW}$1pW&mOj zs>E6)y3K0G&4STitH-@HsBf#5=vQ}6SDHpIwSicPn?!sN03VjVL%3B;BAj zuHWd{h3`!{6e3tvm3-RpV5Wm^C}6MK?G5g(!RhSxzlChYYy$hy;LA&fP=+~x;`hfG zcP~{}2;fx`rXw8e{xyR*^J4|0Ih^utWp>l*mJGWb9!!sqa`Gl4-El91Tlbiejl$8| zA(@A^Tu9%nirYwzq^*LTt;(CBf1I_ytp~NjXNe^3(;T$xs$cteWFr$Ok)u7;u&V+}f%^cCg^z3p`N48oa@4TMcr zhJI1`wb|($r^GS;)MtP#+RY(YHCx?i$ftMy0+I>WV$er`D1(?p69^vQ@e+p%)NX%CB779KN*ei$ zWs!$)gQ*%?5m9)PxI7Xmk=It+XDvVXf(Aio5r{<^A8ym)?TFUOhYrg-j^^9Yv6-$0 zfJM#Z_9f`9&9}W5MqnIkcFhYfG6nQkLFb@hX$38wg>^gg4sup8@ee*PhwhDCZWSPC zdfxthz%*Fj#89se$rjA=-|KtnjLZYt>6n<_EGf8p@`mp0eSE;C`|Oo^EkXElOScV; z&q&fiAV`r>U>l0XRZhP@7zRJ;4v!DsPub2l#B1B1cPPJCMJ8#y;su7UzZkyXe4l6G zL%ztjk_jQt6tXP^%|3AQr->T&eAn! z#QXcbOCmkyg$gRAvnP3jzD0uK9(J7%a8jo9ozDU88%HYtF6RCbWE!SIH~Vj}MhoXM zvAoZ@QeoSKvANc)c2H(Z-X-jkXI2eNSoG{%pL^AQmWJ}#jRznoz&h`2`S0Bjc|2@g zZi)Eog2u91iVh~+eX*77w{()WoRJ@Y*ORSQqReT5AV#3)5A&MUOV#KEHHEPgnuVp5_Zb z87=VNxL4+Ng|jC+Lbq18mU?SyyIlE)9k;t@RqYaEOt>n)kwO-;eN=H7xlL>tSR}9g za_@t-nK-c+BS*gbhH{aJVoj1<{46&%d7ro1y_beM4Gn#Nzf3%AT)Cx&=G5TMYsRl! z+*It7%K-raX-&t=(TW)#uF-=_d9Xy05rEW6t|$TwAxpNy8u`a8Wu_6n?vJz~-%94A zjG!qKl|ChCy8)hgyMeb9Yy`OVpH{_tk@ohTyUC~$V4;vAH>=2^&kC#&o177honqy| zV1+09YRyUl$5&wA6(P1M)FG5t(GGu;Qw$$`h!H}Ib@aQTmB6qgE%5hy8#;J&8}l}G znQ8G9b6}(CVgh;7)@J}tPST4IK z^MJr+hJ>L+)MdUN+8wU}Bh8>Vo{1_AtoUPDB_R1TV4#2b(jCkKBLo`_(M<=F9D|R$ zst#uxWEE{qA!)zBm-CS!;koT|p;AdCKqhWIaMSR+;Yc!{zDhuf#K@q>tF7IBUP7+r z6tW=|Z`yYG)bDu65b#$vHpa;+;dV2_!LH#>PVK-+6Ca-~aM-Y?WQntr=vNE8hf)V% zL)ZlSH~K*xcu(>PBiH`7vl}`~=LC9NV4gfY44ZkafXZ z8jgf!DukF?@m@Hg!#ce`+zR<4#+z`#|V1e%4X z7}1}d=lS=bHt-cfywwUg+|br#Of#unS}U5`I7>}5UCkV#Fz~+fXDKx73F8OX`Dr^_LQYnQWKcS4zq$A zsw%JjjlB{lWwP_z-{E7dEz?Z1X=6oUjMCr_)5k~Oo>ApG^iQXt76W$QHIyYz#fl#F zUF&(_``t3`HX30v(X{m}c!kuG#6>F?JtH-Xm0If{ zMwJ8Kwq5zt9x?QK0iL?1A{Pg;3No3-6rj=-o zReZKn4wZ=@syAh+2KNSk{n6e(I4}od`}Zs6oD>aSTIb}&wRG(Ch#qbszX;VNp4*Qh z9~Rw$DQjy7LL&O?2|vEdjWqACa@Sc&Z((oR66q|OqAR=F zQ>}mW#Ifm7z}eXeTJ6lZ(0!>KoP>7R!L|s-*xl7P|6u_naZj_NQX>CYVO+s2ZDgq0 z8_HaK%S6cKg)e&ZQPcSJUIMc#U1XRBNv(ooO26Sk+Jy5#$hWdc{-iO%I0yLm81Yy$ zvP@uzrqtC;U4G%#pI%Rw8v=bm7Fp$KvfjV(J>8p4tlnJR;OJ3fEMmyX=e35>-Os@4Oj}5p-XVN8CvHw&T{wCF3Q(emouH>G&y z$txyw>JIw5g9T1QQtz1?33$~107KK-uM)mF^A|l&Ew)}trF{F*aen7kfVn+cyJ3&# zl0BtLG;2}gP?gMue$FZFZ|gI*3j23B2N61GskZegNEBG?=wEn`v4Pt??g@r2!9lQq zkLZsIF`w{!pPzsBMx+rV6X^RCpU4$yu*#&?Q&#oXoh~h*!tHKR=B=DQ;*B6GAs4^j zvj^mXb)##V+NsVtLzM0b%8KH2X@LUTRbAS%8;BNL6(3R+N}|{wk-E2HkJQwD$ZGA$ z%5c<#RrmW#Cif9D(k=&U#+8bk_a>1quc$s|V7Lw8?O&v3b2Nt>PY556=sr08z;)iq zF=6z;{kry6V&FzAS5`h<;meiQ@@ubTP$h2Q@tg$gu%>Ucfx4Q-)NH^`kN3{sOvP`f z=^6HyGP7RH!Mt+zb;6G`^523}AkCt(L_(i`SG_FV7ld}gc=3;mqtYu<5zK~@%jd*! zPU;V08_^G3TG)k26tddAF%>oZ}0R#nY%c?VQ8YlkoR zUHQdY4xV~c4m9v3>TY_Bv2C)In5%S}wmv88d%tplEj}b#`-iy#W!0LK& z9rAX|Pa0T(>Uq>cBE;Omdg{;7!VSES@Y(NJ7R6wN-~UZl%&aXC`e9)47|fdlN>_S1 zIFc@2h4;Yr2iA|Mqt>`!%q)*@omk?Pl&=b$dmz~!{Y9NdV%+;{D}P+e>C@D#Ne(iMh&HwhA!G4KqvM|w)@JOeqsrj}@S3IH4#io0QXVHH%B*fulekH(3uC~yX ztsNB@Ab=7)4e{c@U&H{*h;M~<$^eat)x({n|64!f#**ORLge_1W1bwpP7boVavl(_ zrbF6F8O>@E$=mMt=W%f_2;Sm zjxBv4tLOOLkgV?*_s_AM=kRW4p@RCdM4);%jUeidD5l;eRldVbhk#?mZtbGly7))K zcx5!#R_%@-Pd?)WRywEf9LRvD;U z$!^59Z{!pOtjt>T8`aur03N6F1290i<%X!b*(n>g*lFhUYrTzbSVr7oZRpkiG^obN z)Ss`vM|Y1fA(c|)xKA~8L%Vs1lsgNnicNADy1U2c`Wk*e?U5wK&D5*Bw(l#~D*RVG zdLeQgdxDF-h!8WCzI(v+r>%4%UM(fwfd0J5rR$6m{`v7l^}s%-X!xUab(%+Lep>y? z=5iuEHNtZ5!;Q~MU=(y;*d%}E=y8cgvn3%TxBfGn*E?&b$$&i-iOf^WPG{7dNWJF& zRP=rSV}V+RM$k+~y&yK^l2{U0e)|9=_;V>dRhec*RO@9S0*MyW!>q!I7ZV8K)511~ zGbhmv5WA=#dio77}stp@JvCOny~F;(E00BHd~OQ--fZgmYx#^-@w$8hOokvK&m2O3^?W3W?! zs@v-qAVLuybp!SN3ZX9kFIyW5U26%l8nB@Qj|%;#@bVU#i!jQV>7CP1s8Z{ThvS1p z@|UjiV$1_g>+fFAlOQtTRX9AyGr+72l{va#_V_~madjVV-0Bj>wfl8GHoDNIm%f0W zxr@}wCo2)1?Soz*-6dcB9-UKw6!7jQ)9aOp{M#F>;{6Od%OdeG<|e}usEt<#761N@ z52vDv-)*V`Wshv5whB_fr}n`uV4mmtPQh*n%#!6yt71NTD^ROPPUYU7lAiZ^E9B&w z%Bl5a>+_Q3y zOoFfD+=d}BvRrV**Qt_x!PA~K!1*}?6Mf@-o{y$JkZwWtPbDn73XhsdXaD@Jwp;)Q ztk;Z#&kX$?d*>k^M?uk#M}2+;mubrvq$h8&uf9yT@B1cZ8HHN#0Hm)jqXZlwX zn)$+35j%#peflkgR68*z52|*)RuQ0LN<~u;;@)$@! zCh!C1MY=&_DdK|^WYgNdmwTDzmc$t!HOzYToZs$u&pD%Y;$)b6#0w^1Ande@vmbO2 zq-Q^JFaucXa~H;`yvH-`YJ1M|U}h6-*AMiPwN!$$#jPF9sG_~YdSmKrVpip;e65J)gFFOx611p>nq9cRe=G0m45h#H~ zjVQLFb>0Y9w89FmK%TFkLho?7)aB=1VY>lYXW!f!fK@`0p*j^7coo;PE9!M2lG9tp z>AWpK?hp9_avu%WxiLDe;(JeEn$a(;6PhUfXwgVcJ5$xNSOHVgR|C-xMm9M8|6u%->gUngCy@J@E&MJv?X z_-|fN42LPl%qk}mUC;o|iYpYfx|GvFzxYwQq)emb!xtjEs6M|E^NpLp_R?-8lSB$z z>K;n=rt_YO>Ib6eaz?e&Wy2Y8nBByCl#%iS_Nk}JR)nXqZlXNeC#81hg*Ybfm>7B{ z!GtgRE@my{{iTZR5i9CYr^7bLTLrJQLux$L!6K?J--ctYH0p zHq=Sel}Uo%6>EtOlAV4DZgfH_6SAX-<+IlZe!tJv6uQS53!`7`;Gu6{@?HqP=K?hX zAK@Ac$QR)?z8>w#S1P{XnA85FNC#am6oRmsU_ZFwr_jK9+h`T%_XaQ;l!K<795m zZ?xvFXc2Nm2qzD!=JHRZu?}6e(^m527#-(GR%D~NnIZmEQ)%m?I4$BP&nnJDLEXbO zc_qNdN#)-GnumYE!yQRld5ckm&08`Un{9_ke(h-QIR}(eM&s#Ul;zs-z*ou~RriQg zXY6?c2m#1TL0=rh>&lv(|EBBpsOvQT84<2R2|^x#*4pSUHSErh5TYGj^oJ43$}JMS zYYoC~<`~sIa{B>@F|;}u7-ZHAP3-ARnU~4Adu{2n8|&3^-=U#0ge0i#5~5OndGWUc z5{4m5-VGwvlRCUr;2YY&P?zVWt^xXxv-iZN1`-ssc?V=Z;o(L4zgG zf9GtX&7AB%o73TGlm7x+QV$?P(M22j*(%}t@YxsROZYZj(#}U2!(N|LxEy(MeC|{b z2-6HaX!}}IG;1Lf7BfB->cMoUN;k*^5dP;NlK$9=EAA*H@~DtUdd<~% zC~=>oWc9`Y-!wlhN_HslyBdTYn_IZ`J^pJAAwHi~&Hm3PYl6dHwb%xW2A{`jSl`%|~Ws4%3iPpTE!{agFMA-Lc=(sP(x{8Xx7#%f2BcllHLE?#*e5 z!#C{`szV8ZLa}1>=tTpgPHw6NTliGgjzYGRclYx7mmA?c{`U*Pi6HlE(3Xbko_W9P zQIBD?e@8`qsOwdq%Vjex{bo;jyJNw|R2^xj3STt$3iT`3Nw1bL)s8>9bM(Cddy)aY zay#6@52B8=NSXM)gOYvvg7 z7PaWB=ebmFsR7oURaZVdE=;W45_M*{EYMTo)!PSv%Gza<1N@ZPPTZm z9dX=JY0hzZgFY_HcjH4BBh^o)$S^u_d!TSV?SOqj95=TgS{&(LShZ)q#ACc>tw}5! z%8^GdNa{#w%40>3jK}gVb5Na;9>ha)M5VEM;eoqwBlF@M|55l)xX+pf>j8(g%M=$kzui7sAd8igCKw7%AQ4n><@AWqa8#fM~Yka^4;k;;mamIOPuVM z&Cd%fJbA-x0-MU^uf9-tPRh^WRU|9^ zZsMDui6UnvNR%j3x$=%UhIB`Pu#T~$n3Hf0TH4K8)0qS2_|#rxkzw0+%1JyqPI((| zNF6H))$KCu*w6df7cc4eX$IWBI%Kt`PlLE4h_qq_VY!rCkD5*w`}SMDr}3%3xkJ8+ zME_a1vY54Jxan>VwO)E9F@`nCol8>myl}#FttYAINaI4h1iT9m;vH_-!@mc6i*&Ls zr$6~&syXCmYUu_sZ=@;04f2Kbd$Q?~QzDfjxM_O3;NOU|(p$*(FiE{V_TfIHi|?*7lFr*v*`NtkS*_Qq!IZyr{IXwgg?>1} zJHJlf+0DQ)wndB9YzY6Az?P|Juf;6EI;TF>8#6bR^<15kk09yBtDz6 z8>ZkJj_xh>=BxY;SOiaQVwyZi@NsYH8-8}f8AEqN^*XSP&niq{V_G|EwwI`>wzC2w z1g*5uOW2^!21DxY?|wU_1f5lT5HYd7=N%L`XxR|Srml86Z>m^sA{IpyMP+lvhxAu| zkecI3!E9!PE*2fb1g&m?(t!$lmtG%%62ye)BujmEuvNfiyG?ClrIvqFzhWhiB+#T@ zWFFr@@d)rsLAu%V4oaR4D-+RK3=m52CSgmeAE!WGaInGFIERQzCx`qGgskc)6RRJZ z=DtAK_b!SSuSq`Pn(@|w+4Wg@>UfD>b5+(E?b$(1R9Y-R5PO0#b%a1=Z$tZF^vsWU zE!;3f+^IglXxOa5AYH>0|M7}a*YjfYBCfYdAb{B8k-4g5I@^^?Tubowc?ZN?0=RsB zN;ytWj@wtyxiq-}cVal*_Sb!Ei~Ruqdo=cAmKGt;^L?~B>(Ik(5-3|=G|4x#mL7p& z%!!9w7QveBUQ1P|gHo*rlkmn$OL)(HpQzj{Z^a7M1oYf)E6OtL1RetG$-QjZ!kj=~Z`YoxwHu=hkk*1{&t4sUskgW> zIvt`YvK6!N;&EJa!Q=xcA^R{317jHe$jyg9YhF`^cJ7@I-CeLrL1k#!EhmcS*$0f;>W2erh9V(5zoe zVBXvBXf%54#om?vHE`b9^mPQi#Lk+%JL}SPc}vNV4bZy5;(5#TN%rVcmtSoieAgPu*23|HY74$-y_7%CS<< zF;q|q7`0IbocsmPmnCX8A1iJA-n|h*R1#JI+o8%U7^RX!N30OPmr{Gmm*nEj$3->M zK0-{EUzOOF*A+RlCWdM=M-X+Xa zsHXnQz_|g0<>?3QOgvVVzPvI`xq=+uwL(g_nl_D)z=97NEEqF5sszVs0A7vsxAIEB zE&uA95IlM-Ll8P?GVAJuSTq|3VAcx7qS7cg8%P4P+A#3dk=jKghTrN$}P zQ=2Gf!4BO^w7YkAFoYB0;zS51i@C0p1*>FauAZaq4w1jtH5oRqgu!5$x!@go(8^(s zqQ^7>$H$BX%-0S#Fj<3K1~QCrfs|}PgsD}%P-`wl(rV+vbdic_3Z;X*w}|-2P%5SO zbF0nVhpa#QXH!+wU(LI$Of>P3Z`*3urdgq0I>+0JNQYz@kuq_uXOKTE&*Pu+%vHi5 z)G%U=&u3r+BAHtky5U7xCN9r}h6OIAP9uS3pRGfB3H{StI_O4v!QP+p1r@&EGa{wu z)4(%LTZ`plRtog@R-z(&>0&uBJhgb)Cf$@tL^O08NxTuH{=!6b-h48uHg zp5tAw&3PNBk)>!C_3R#C^MJatOzWR4@-vt_wy2%+Cb9|3Y-i@teDcfbQoT2L-@WvosxN=NMUdGiZaX+ch4ze5ocGB2=-dqg|HrPk3aw85|6!%|nOH zzmhJzC)ljiTZ=FZ)RbW|5u$vvuy`aE0SA$Cw4zV)jNFQwvChkOb*3mhS%5@dfq!NvVPRFSu2!Qbb<$?xgD(r^V-m zYp0GT>T-qMq{$_==(m^Y>SItskSN(V^fq{hHi#x~w!>F3w6`eT3oQM`xe3)-Pp~A| zo6W*1^TMOaT5)!Xh%Cjc%b6{uA{PBib*r`qNkCZ2HxKprYddlYwr72cc@d)Xtr7(i zB@drLE04YLv7?l?GbH)Y8k#JP_LcoTWx+P?!4r>$V+cFnbUX)(Ps3_Wb&WVW&K3#m zH^x73M5M@^$}oZyn~1NXIy*%BD^G^WL71skq*h>~k}|q5kM0{TT`~vbcnX*#oCi2C z#_737)pcEHkk9Fm9;6cfHOiSVfid|Sx~tZC=nLG{Q}pq}3N^)^f2ni-^N+8_V1U~@ zclz=9ENJe7@i}1voSEdUJl0yR=@{j^*~hdGGGiRb#20I1=tkl0@fzj{E2ci9*DW?a zIFEBtD*bF97`BKM-IJGD0ml+-r z%&|3W$}2slM=l=I@<7S<6$&qY z1CU-h+c-OM*MRWn65CB8;cW1Efx}crbwwPWj2Zt|MPe8U;na!9&7QgZcjY>D5939 z8lVb7iDg@pF|yF-u+&f)AGjmsF)f1#awX}Vjw2fdMtI4(Q#C^-!rR$QhOzGmtz4$^ z6vfYANXV4@;T-#+451&8x)6 z8KvT@`%@wmmot&}*!XU5(!Qysw*+j+Nh`Mpr(ImYUx&HKr08*WecE_I9#4*0OrS)xYAwrWA!*z=i&x_ zc6uEcgnGfX<-DDqu2T({Nt_Oj-#^~{@eL%w%HMFzW$3kv(?Ub9Nj%ia)2EJ~!6m2X zh3e+7R4JaX>wdm{xA1Q<4ySI%FajtIE1QtK%%RT%|^N-MDt+mf}yAq|m2=twt-{@v5rC&K)U- zGX!jI3C>91p3&+Kj`076pI^FUbN)EO!RZl|bC8kUoDS=O;QL!Qn73eOowp0!*AdBq zY!q%ax_fq11JN$)2+L6a6fGt9d^UN#J6W=4VuN`9Z|d*iF-UtqqJc!oSg~R5fnjNc z-~NckH{HO!q(y@$@m`p3i9?}K?R0ykxj9`|YaWI4bS|Va=BgC`eSP`cQ1$)oNdTeg8i z1?DXY+Wb!-i}|4Fu}|kI;L&YQlTyzqn|U1iYTEC9#FU2eJw&}l`@^INzdP0$}o|Mny*Gl4i<2^990U%)t= z?QZOc>%9K`I@}bh%6X63jMPm<^Z07PtNYx#^$gI$`#{YlE8m!j_dk9w;hgCHU>>2$ zdSaL@DuNAmQ%3Cd)@>!3sjy(F(*oD;&oaiouR>w1|Nyq(J=`9m3)PUm0OJ*B%xnX})aVdfc7t=zJ4cQ8-->-vxABj67^1$L~{ zwO(!vFN6-e44Wp5)4-klc-XfLgEHW_`b_GHF$Ql*+UK=5(foAf0Ij&47r{#U6BMKG zzoZ7k1~g~D-MlktY#SSoChP?8%!`#lwZRNheTwuRr;&+gc3Mzp37hU`!Hp#qHlDE4<7T?fis3saohT{!Y@FC`Uc{zApBOK3C@_&iC*Wv|J4ce zkF?k*5$@c$?QkBXA&3=-uMo$ix4t5t=4K{CE}FFFU<88Ra|JFJX%Ht6wNyxsk8#MR z5`Bq6-8XF6r@p6q)0}dH@4g?}bXX)Yu>XaAoD6ai_~P@;R#li)T4qr!loLjpvTl9% z%ySH;UwUhB|70p0z|+RMSJa*QvTnCCwUxo1vZQXiuh(8m$yUho3M z^5K+$bP5j;JSi6LYK^y!Ri_V9xpjQhW=_uI7%bzpK( zE9829((-crBs~TaAc!hVmhJD{Mi)mo+qA1PK=^BCf3%pY=hi`=E*)rD6fM4Ong-tY zvt>-fl=(CB_jqjC`44jfyxvfR>Kx}XMyh=Wco+J{f~8LbSEO6#n2umubx(mS0Dlhe z_guiyH|M*NIp9HSEr24c_^1O`UnPA8>(y20Ek4y>q)rRRyEkTso#1&FoASR(^uzll#W*7iNXP-QWkm57&z2a^u|97CU3&}geRYbqw51#35DB!SKbim0k>sU zzNIg1k)q>@^7sg~_!-qt=Cw4Pb%d^a32XlcJS8`Qr25})#Z{;e1ly=y7#*Z2l~#YX zysDQb>F0c{q?^N(B2@RZr1ELrVu4wN3;AfKNMeAf(h3czk(O*eC?snm z?6C>&%;j#V*tHKx2gMI+pK6)Pb|zdu?~O+TlHvhxNHSytNayn_Y%makrr~ zZZ2n2Geu8ih}mi8=v3xK0P=b2$$RG_JX2WzGHVAVW}5IL*U|k~4x-x<8>!IJ_&B3B zi+AAa|5=6f?5+$Zr|q=t*x<-=a-+@_4!`QAM1P)VI`17KLfr}`=9b4Sld?(POW zB2GL~vN72WmHeT3AMXCPH&Pm06gdsd@lUm=^58V%KQKf-MQ@QRdmR1m3;!gUrF6W# zW^&3GLN)4RdcLB~;MqwAcY4v>+}t<&lC(RIhvy{CLtY2!TSV zKnc+X>5O!Oskf?reZQXV`h6c2253JW00MgHj@#|}Z8UIB=x$w`F;irLK*B$YEIP;+ z7b5UI9H{wMxEvQS|DV0o!wHbWA*CcayFITjAU6pf;={C6GUM@D36E*_Xo>V;55wIf z-TUurIBsB!?kc)jo8My<4dF5VAl{Q?&HeO-shsKs#;6{B_3iBD#C3t zYCljg(9fys8w|O$-PC(`XsWR6EN~NLevgYgnvg#(oS#iW?rs*uktxV`Pr56N*6KyP zc;C-AD6IRRUMs`6<SO1$= z3^|!MIvi0EKT#8B=++plqAn@MD2 zE@y@kY`j~#tgQFu+4q2{rp-977o}h9)~3!3t#QwV=>}(96rR0g=AG+;Az^!BnFZ9= zo;|fp^WVUO4HGMFXr+Z8g-B%?qPC^vnSuKjK#BO75bOEfAbHlEuJhHQkRQ_lxyF#u8wE4b)EBn-Ug|#21j)5!^eojQIT3{uB&MHLmTmt=s+e^0VlD z1xRz>&|?f9GgV7bW8uI(_Eq8U?~m4GUhC)kg-TnDpC6^+jIc)lScCB9xExJu9(OtT zk^>GSJ!>4cmvp2fJ8L;BRAFPk4;0+Dd&Gv2f5zo5>&`gMymZ%Y-YJsKuPBsi2hePy zXCN9MQ3ASyRvane@!62JIQtmsxRI&OqX)EFCutll5%T=`>+}a3O+MRHC72*vt zi}+`%rFxIll@oE|vo$bUXw?es4>4*L==)=$On4&B?E^m;CtQywAB8C;5VeVz^J^$= zsZsim&C4DX1{kv2-K8woJcxgR?9(&79_^dlMzv#hVf<7^!RFxL;L}OrGYH%154LY? z=WVLF<{6;n#arA6@Ngp?JU@K*Iye)DJ1L`sr|uuX7(tBksg(P_I5m1huu@p1%id0m zKzU=8y*;ki0|)63n9|%bYry`9+Bd*17!YdOA61ikdA9wm#ly(VO|4gb5bWwJ9aTo5 z`fylU(AWQE4q?y*Q0w;{_-Eh@S(To#qp90&*rabQNzzr6CBM^Jy;VEcAT?>sg*7@q zTV`l^f{Ssh?t;R5+Y3;w?imu^24(%1H)t>qaJM{eXNY>r49t$t=G%za=CQ&KS3Cfn z_}P!{SP$Etm!8@uTbS1rkv(!FZ9cd#hccll6PN8cFZRdJ{dO{udH^bEuEss`^H{1K zLF|ySN}I_~^bar|yDNd^mmL9Ztyep1ESzg5=6}6*wV0<;{q__Y{oQx7bbC;Khx~}= zi2I28yaC7AyMEwlFB*UJG3WdX?&`Guyxsx|fNd_e6U|3G>erlC=*^#wD9?cqL6p-T zU^+%Q%W=9q`*(RIu?g+PNH9 z+)t{w1X0%#JJsGl8LJFK6pbf)%zRvgpK%nisyF?OA(V3O_W}ce!qgrxc;m{}55)-Y zZ1?AA;3mntozm{1totCB;nE566sL#VB-*7I7`g$Fmxun}gZ4jhT8Fr;a(TKP9(tYf zn4?i}t6aJG++R-m$_i`(3|wXf%p@%H$n)4f{!>M;&dkJn%5cKy0=#!jr^%ORt4gZ$ zmt#X9Z^`c>+xQ>$KStlJpgds9$p!erV?Gkye!iEKL%t`2IDitBN`4_fWNH{zA^X%p zDPOWh|8%x|HDe^F_9+z6CSodPXG=7 z4}VL;fMqp$lYHKx1g0Svn4hbh3E(-$?C4kRA80YyJAk6tO5StL}mrIaM`{@Fh z`PhXCd5kpH85aFb%cfE7;c~HyB{e<_l*e8 z|8TvO;Y8|R*XOuY`mM+)M%e#+X}5=st+oFRerz8luOvvW@ApfI6{ft!aS3K%T7p(c zo2CtdU}|VOHQS{~ggs}=d;T!y zdTC>dz2@CCUK@07$#c1Ef(Z-Wqh>4N7wDf1(!bXko_vuC5VI!H9^AN#3yx8AeW-+A zCk)&(b3g?17yZ3+Ya~Z;t9pz-2>bZP5URPdnEub=bpos|-7(4?3>$u9^KD45bV=tS z)R!Ku;$P{_3)YfuIQ7K9I*aBIb<&S&lysEByRL}2SwbEay}^+vmaaAY{=RIg5)ktc zLQh{rBG~?%^i{2JgVJGT96`K`i9D9R8kl_P)h_?GTyD~vJ!!*km5aT8QxQwN!-x9% zs$WR&=)_34=FdFsxf1=h|H*)*@YObNhUgbJ5yx&FZLOd9>^d*yyLZ5&s(F~4UUH@@ z`>`qWUQ+g0UU)=j=tEb!K-jAS*D?_d3X0l}L5UmrN3NX|YHYh~-# zCm4pHPz{bdiZ@whu23F#>MGtOhWFdt?bKE@rXR%uDevDK3JP-SOGRc3v-jC^+^NOm zg+7gnFeU2~#`SX>x%V2GMi$R&M9U@XzwM!eF2;L?Ao^Zqxt0sSVTRP}U1dQ@e)4G*Ma;7Dwe?(2G#J%bjqNQpvCvNU`4 zS23aNEv{=+Mux2R`F#93Z03mvmWs{ZmX-?zBF)Ed;wTj=tF){>`+CJ%M(I$$t!XD!mnDnk@9e`~$!(FDUq9nbT;4E(k0ulCWNOf`Lur$G5 zSS7alx*mN9b4hp^Cu+zm{tAF=zvkzXfB)W{r~c7%rY@8qVF@&~Pr8=UBGY)}8Wm+X z-ZXjr{o5~>se^+oYI$pE@han?OO?gsy`kg~k)~TEon20^w#f*`f#jLBSY$q@KkT(l zw_Q2S`eBd^SXELZhl${Z)Lm`dJSa zNv;2nfQ{_!yCl#x)*&=y=K*ERBPPHsJjzI}DZb|8i3s?eFSj-25h62maxB{&z!*|y z!#-)XLt~c~L}*gOX6a#gDgquJc|zWI#yqIY)gZSd4w`ZIb~poXW3S0$LgYr+Dx1L8 zE^*-{)EPkmVW6VjA44>|E6uoxZ#gz}$_uHa48Icy4G;dbh| zgE97Q?u;hbe>LRK0~yk9oN_P(-~9hD_SSJt|Ixp=B8|j|iPEE`1f?5BNrNIvmw=R{ z^rU2TDk+nY5`ht;K{{n3J-W+@AYHp}{Cw~4_qg}3`#1g}Z0B{(d7fvWtqykp#?}ER z@JdQWKI=;VC7pklitN&NM4x4N05E>As5hgGH&TtKtRMiaQQwtzA84L%)r{Q+oQ*!F z=E=L@)M~Qqh0wBBX@SQtD#m3ZPkZ2sf5tkcQ!lU9+6M7>uWW9N{mJX{Y`qP)Lp1a) zfd_K#}(e!6y=4%pJII?7>P_F4h;I!(V=Sl+lN}gV;Zlq&s?0 zeeEhQAY9?+z)HA;)xcuf9xt~xagxw2xUL9K!l{PIa}hDWRJIsk=a}J1GvBH?Ta5Hd zBJS4ZNj80dvs5Y4D-R)a;ym-CL=3_p_kRQ|FeoaN=_nY_6NXqnn6R0ryU#MAtPLD# z$H2q;*XYYjFqs!#SBKrjb)YdSYASOTfEav=d*2E0DYH?;6uJ7&P&7)JniZ^K@2uwB;&a_3xP(OWL>wbk__NpPjuXh6e#EBp47 zwzKUoH*Xwz$_w8|oAuq#nyLXfW^zEN1E|cZlCFZT%%S#HvU3B-EzKdscux|~!R7~8 zm*p)N)Y)ZhC@lG;5hUX4-E-F-fBbeKMsXYnVHyKW@sa6JSHjTJQ6H|Bn=(T^4q%&-j`Xp zR-fV?rKmc4etz0jinismB$pBJV6okHAv@TH#R+`A@xT#cXvBX`SzLA}2L^tt)3p3X zVnfA3?ULZiu(`;(3axil-R$&rS z_;7^A3hkqZcu36F$o!Ltlg%JZCf#PPu({``$^@f(CPL^p|-T68V6yJS0|h)Y+! z=M(||Gp8E?NO|v4dg)u^YpV9y=nc%F>^pHGRF#26x+iksYr!>_rwK5Kq7mS6Rm+$( zI5V1pU-{hD8i7hLkT+A>xCuM=wgQnvv}Y% z8@uQmtNcsCk-Pr$r#{H%rYyVfe8{GOvu|bliq*7u4M9r54ePH!O4x6}C${c8<=%bP zi5opzcY&CqicVBMN5f>LX5oZD;_~TaBWgm@@Bl|&WXO_g|LnG)^Jh_SyD6kbk7Ese zE#2HQ5*^&!@vvu9@N?n_-(&%>2wwa*JbpF)b_;2obX6l?Bf2yrN8y976?H?eW18aq z^#Aq(XrT%fxT&cm=}ysILX>c#P8PGA&xW81Hc=D#_66{plytA;GiuWX8-uqMlRx{k zQv#RS&tZYfQi~w~uiHysCtJpZuxzuUX$cO^Q3(;tBhKMy#uPh(Lz4+xxb@gB#T`{;Qotpi;BsqO5m%e#_6!NnB>P ztM?^eYXGyh+ip&gJ4=+48~LO}7C~0+5x({?>FB6mmt=Ptj8Kh30b@TG3Hyu7!gg zRHV%Bz8W0#vT~a3d&q-#)A&|_^)oK#mW?AQq6LQPwmK)N2_HGrag$ zp!TAdc*F_W%{HF^W^IKG?w66#TTn)G0tpp3MO^Q8DjVgG-+)!6@}nE0d+$KEn3b(k zSPn}Pb=xSv-MPUO(t4dkbGSb~Zz4f^Ybf)P-H*K6U9VgLnlAVgxeRu3e88Ydf#2kg z*;}!(IvXdgb8<^R&t^d6yL>86Yj0Dhvz!qo4m&jbuQ0vOM{8yhqsv z9Vor5UrtlX*LhU*=htU~FW8!hVBi}2sU1aMk({NZT49<}>N#}!KO5SMw+(a)I0E?L z|CML)faCu$&*IJ%Q3HUt75M0>nx1JWZ*o&khbJEJSonn_WwwZ%Zs`kFNx97CwE3D) zjQ{z-m-^tv{~u>zdMD{oc#LDvbNXo5HBx*qU}1;ij|u04*Yc@dC>Zd*I_b5)y?03^4R_|o8>a{e zq9>;LL!m&;7h+?XynXYvH3QWquKJiu5A}3>`sj+hC6`Pa>PV-50;K}c!bWKChr%87 z6cm!aP(YAuc|7`&A!Aq2V)>AQAwP$vN5waYgwjl$XC;8-;#7HoXS;FgsH^m-oxoJqML9p-0{I^mi+rH z9n#ftdMx_Py(m9;!kE7qND0`fWF0$Tc!*n(KggvVC(uB-`Hz1wA5ZJMlkcr$i~%?) z{-CF4AS8J3m}LQLs>^n5fW7;s%7`BpMYi%pQ3p=lWe^ZeMBadP!+{TzXl2#kDPX(osp^nDOn zh1+XtO{+ov*eae}U8!e|-*w*)6vR+3$k%k^ex!01B(iWqj4ouC>Y$+{K1olL;O~Kd z*KoDsPtQ-+#>d+Wzd(7mv;ou{ld`R1F<;ynDtEKSVWJvVv+LR@D<3KUYgiJBseziK2=0|B1)Z! zmRI3{<;|kGlo7&d5;9x;uRgV3nVh$1Acld;#4(`87cQrG>!)ia zx>wHRd>4{)enlT&9V5&=wRfXRtgzDw@_)}iWPK#Y7ji8d{>%Y#5**Q5{k)BFrKd+;g~|&Sw6oatt6NLD73?ewe00 zR?^fFvW40;pFT8!7{%svksBc3-r2%y*_HK7obl2V2@hEiV=goY_5Iy`4@%R5Ga^kM z{z)AKZbLIBTEFVdEV@1(QzBwcp7;mKE1j(b<-R35fi5-PX3$ry-OFdWEN07N>`)TX zt!}jJRFa6GUNS5z@VX*$YOy zc8>}*+RysHH$C{vp;2UI*xkuuafe_%2pE4$@%PQw@f0$DzVUX3ehLOGs}B1d4ex1& zECe%CsY8qyGR_BGAmB+c>Ls=pibiS9Y85A0!nZ*?fIXrs>$o5JWW29Gu1{oA)eUb({@>8ezqz#d2Mn!nwHf=f4F(0K)|9?=IpZeGcmWt7+{Z1=q2iwiC0~j;yBqyqzGK(zqj7 zDn*@P>4~6|+785;3DGu9ifcP%VYXuw>v7kXyPxB(lc9?bRIa5U$XKVVG54gti1Cl6 z#A-_4d)}u{iz7Ah(D=V^D^2@L-XC-4naU+cBE(jU5|^`r3pRU$KO0{r0@3j*xUssR z{4m*Ho{I=tx!BX>uil$%1ydd6m+Ar!#rENctB1Nd?mym1Ad2~Ljs`Y;&zNpcxA=4t zs^RleNKBC3V3N(9unLpnb}bc{;kW7BOR*+mqS(K&T3@U@#zr{>Us2}9MHj-_y`WEUOQxU;&Lq|~My?xfbX2}M>=F~l#`#qdhB-8ThNr_k#*YZs3 zY0vk0`a_;=owNk;`G2w0pakD8TJKOy~Cd;SXeq z3RIBzy|Ee(0HGWUp0{0Z_PnB-uehe>Ds;3WKF@6dL^Fqri_I)#qxeaPHWI<_zpON`|Pr1y{=JKsGNHS zgk;@&eMJ|{epenufQd1~I&q!zzw;7S>4JFhEu03T*#W~NkLpSDfJ4jZg~?7TA=NbD09GN^h~@ zSZ&+RjEP_Gf~;J{b>74!qT^U%0d^fU6PGi1>>KzEeQ?PlbzTAYUtygy2IBTXDwJ4w=C+%0*4aJ6T|X3#QE%oP6#rYrQ{ye2JbZJ*<|8Tg; zp1M_(<9E=%(`H+AQbdkq@!PH`3OX}Pklp5&HaGmWnbI7X>7e`ZXLG1*;A;o;6WG}# zvsj+op)%P!RXP_59zy;TlyHgIUSCwE2*`^^ElRAow^h!e`r{M%9Mc2Z{p~Kf8WUhI zbK1!rq(7|C-o|P+{f)d`s8=EDeF)n5-itDh)IO_tP60RGDE|d56G>QqS7qE0H>Tfb z47ivFn-!aSl7~i!eivO+O62xjH%Nwyrfn8tfpNq5Jr(^sIDy=HD3l03V-!%&J6kr9vA&&>H=e-?0RBKfArpI-{h}ZAi!1#ABDO9`2pR$(VeheG zmpf#>qi9_J)|b%Av51<>YM;VVDpAXle^O+Be zd6Q18y&6uKpUIDoP#G7iAl!o{Fd&Ksa8mZY{{BFgy8L^ptE>yu8JW9UdB*pi-#2eN zh=JD{x8l+%S9$xRFLID@v^~wfFquAeVzIKg`JEmCWIA7xNEe&6N{)(Uc}643)^*2# zITb#R0%=SjE>^jBJ|ww(G>+HTDzP6_fe7#>h3lGKFg>$J7VKflv|Tf?^fm=1XF~_F zzr2H_Az&!~ye5=JnH8n@N|@T7gS4i1z`IY&gvR<|a1O>+5o6d0e8?63?2zk=Edxb( z-!~|+>Pv`q+={p(OpfCPCwVbhkug7vUKj~4L_l33s4O{Gzwh#N4);3F0Q(=}A?)B$Fscc{Nm%Z>&1f1Y*gz)J% z<~Ct!YYgSu-i;HkEa$vaI)gmlR#(X+KJ(tMpX%X!`E zEnC}xyA)3BS3NZ>(OJW8&M|GmR6a8^RH}2qr|wh6{2K)ejMZ}g%37a_2j@g7a9JVL z+p_ldHK!G^j@C2t(4-O$POq&|?;l)m2!ilsyL~PU69h{R*O#jG?iluj$Q?$bG`^2U zD#s@@7HnGH!oh7m=g7hRu+QUdvd6LmJn?v8K>{ zr0j54)tVkxp5-BYAg2#8u6HH_`5jH!B$#`1NOTu{n9)z!d_WB1lapk0<3N9adjn(= zo#{+S@^c6%hC!X$#JH;!cvD|J5!{|GX(gjzMe{SdQCMr{G2~bz7FpbEcktDtGZDZf7^ArR6^`FZ-8{Pl`QNaMS1(h!Aq>I{$AQz!3P>CgZtxY zXkB zj@%;3u;4iSnLw0&MzTwyj#lTWH~f&O6#N7N2GN}^e8)+0m~U`{z9@+Z%|s-uoV$6{ zXmdIx_-mI7{Pfke5rbY#O*ZdNTWLI*x;w5)jg(+Q=CwX&kPuqy1->-bg2$yVRg(pNFT zsN6_7A1wff^j~3>uax)`B8`%AC~~sIQ+$>4dlhtsSpY0@ruz-KEl-qxx%pN3?9;Kz zE{)ZA^GFkV$x31#jdP0)<;P6Pe_(35`bZ;%DX6gP0eO$RHxC0$+4pc!Bot!({`AS+ zcd_GKR&yp`8NcMWMcNxLfJQq>Ty%NeXrEp;+HP`F@M0m&mHIBg*%~c*lq3^k&7tSz zy}B+a?w2Hp_w*T}T&k}F>Z-Rqir9NcEMD_m?^m*V_$xO8swi=6*45O#a5$ZCG$=a{ zC#Jy`pXQ*IbU>3&paL=aHTr&IT~MF6{<-`|s=2{p{Y?-kgj?Ufnn(KMTn5J2^!h^e zN6i?K?8{(?iRmB0y=fb@hRqFE!vnUB}laB$Fu8v068! z_|BfB$7+;)llN>O;G(3_%0eP!Zu0dp zv`n#l=NyEDIHH|c=O6Bg+ZaQPny)rq+*kc`5R|bMO@NmKFw^La9`eTTu-_ne^HtVW!6TqsVYQw!Wd6gYlsHKTMM1WwOVzsuoc8Bu z%F;9-MwHRK`a=&P6PNY2g8$m2J4CPii-q2=xhL@p?{AfpgtHk+aHKA!`QFsIs~9PT zapwMFR! zSqAB#5;Y=yBAB}tMz8k?E_KA+c|_htIqDXD>EC@FirJg`F6Mf?`Moz;$H)q$Fv0@& zpWgYIB!y8S%4N=Fwk$3hrm=4`82?)W`_+@u@B6EWW$-NK@3)s_MdS=;1#u#WaJ$|T zm^aU;>b*|gynnPP4a9p_Nc za`J*Nt*t97slxBO)2meSnd#(^;upl?q78oZQR-n-$PWTdI8~AKFj;E1Y#p_(S88G* zQ2h4W83LdfVTH{o&tgLG2-(Jf3y-fsb{5W>&JEnl?cAj9p|b^qFuBAPuF5jNs00VwAUqqkH;Q{bZ8%4`BKs9KQ|Cgzz|Mw zC;zP;b7Y)8T0?r95y4(A+He}(41}zf>EsmXAx^cdzpe)I%*%c_QM3bKqFDu$Ru>&`or%)NLxdw zU+~}OdaBnSDC^`Qfc;v6+2XB3}la})Wf(xdKrA*7+i*0j_tM`mAz}=>Lo;Y zmeVBxLRcu%Qxo2ChW_@kQp_dWq z1W_Z9-PR~cVKJ<#<$u#7QqqY0-i)gGqH7?*Kcxm)h!E>lmcF15m)aQ@{>+Tnw;k#| z`e{1D#NfmBp+woDN23%W;d+^m4w;%n^<&t~MJ1q<=6ASOyGp$NXz@%uG$xAAxm>3I z0n*xb>7+PAImMif4}x^lE%V%Deaec2@Y;Ffb(zlCVmnimEDpAIB*rG?u@kw<7H3IC z^T;%3fgSm?QA(*ZZk8RU-dmcN$^$G52^GL@I*9u#pLHEdKJ5`BknZ$;`rqVw{@4}- z?x|N4u}FrNohnIPa^OXMGx!HA$$$nSMI3j)QfxwOu0cN|0-8^yhL(eB?%sK~95<-` zW4q2lHU8tX5Jn|R<;G?#aZlP@>-?O7A zgMlP?w>D27IdR*D3;{FDDWf8(p!6psAZjCy;df#d>q}(f07Oc61Ogqf`T}0%6!O!U z>&OR7nHy)Dqnw{ttVyE%bSU%9?fNPYX~YXb7dfvxNDh01*G^JJbW!(I;HdhqYZA_t z-HTD&Iq)sQs=ElGzIT1ss_>TpL{)ZLufpwJ!wXz|;ytO^BZcK4V+y|=Q*N@Z&~Lpf zwrRqmvJ5k*gPiHFn`BEnf9Q}Y4KmxBL$>j)<4iG>AN9$u$$RCy2berg!~_9iP!*8Uch!?+$SPOJp7w9Oi%Cvv!Dc^ zxCKGm#>k8l*&BS}J1Ti)L4IHZjN&K<9?%D9p<>eyDral?_FAku}|zw(gtBu zotYx9ct=^R0?*iVTf{agSybhLX*Mq`=)Bv1gA8DnTz(2OJ7XK$8T3E<`CCE*Nwc9J z9j3_$_?_?WwlCsGz2IgbqOiQph@1=7i5L5OM3+e1=)IXT8Gm@dSwU`agI&eBh{YOq z$jBW;)!W5L9~rEb&$Lauk14DOcC7oJDurR!IjQ?7tat|bOaYnrKtn^rvVy)0BqoD> zxt!+U*ns`^JnWyay7Zv2-dKxim**jioi(*XzCziSiIMD3+6jZG!EB8ihNh+&x`-{l ze}ltk_%|ggBx}@bn|n)z^y2ELU;lEswlUmym&QBOIUeJ}j`jno(niYj`RpVSS;{h2 zLlX5%lkv8nThuM{%3I!3dIPFxS&jEcam$KuV_^@2*q5RvkcouggZxH^HDkz2cV;YH zee>F?+dGEryoVS%A@Jdm+$m#J5LR7g&(YjY%=GY)uNgJFc#D;%gVzN6sB&6&M|?jDcm^vJe({1D z3AJ-C^xS)H!SX0w!<8tesPe z2(~G!xB1oOe+pb>XK{qzd)MW}Igt2DY|hKDicj6t65;5cI!va~6^*}n1a1EP`1;n; zzwZU*e`LKXoM%DxHIgTyuM()$CehJa6Yo?ZvgmITtvCz~{XwRT>gdu74%g9g?3=dp zxfWcG8lyWjjc!IKy?)F@%040q7f+m2Pa(1RHgkj1+z9{-?VgC`lUhX{&jUhv z6%^^J8?%G*AG9~HHQs0Ryb=Lw@Q9VDh0E=@E*r|9iyW2@q!^RG`_`U3^Nx+B6sSXK2wc2K;@ADECw;-$lks@WT5R^aM=SUOdZ*9H&>$5^vBe0w8AWnd0*r;v{9jXT| z5A83_IirmKlD?7B1ZDxw*l)lt5)8y9jj2PGwtax)Kwj}dzmDpll)Is{;)}H4l_qsP z6gt)8RvMO;DvzD&_xx8(;mmJVIXmeTO3VzIZZ)TM?VYCO?<2r{Wy&?4;fH!a(mra!2K;LZZrHiUz!X*6{RQHdI4GFGlel-RP2t$x}+pAJnREr z9I5V84zQj-gP|fZ^E+jo6f-H*cbqZ$5da{=xDl={=325=KNC}FX;eNK5aZ~A_w8Th zFrHhhuY?{wSRJ6BE7*Cs&e&iDx+BN#=h}#Vds(E(re8UCujBY9AW1o;3l{o?06uQx zi>-Qjr)Hwl*2QC4Qm7M{ls#kgDA=YlsPU0pR4XuIUg_l-ReQfzdX##t{98^#~+M(W@o5`U6O-@5>O>^ZI|8!T+rXC<8ZKX{7#bv9)G z_n5a+EgpZNLQ?RylneFl4&Ho*e??4W3Szf;UdZHno7bAz%46JV*Fg<%_a?Vs@RS{#s&8_-AiJ8v%t>rEIjT9lOgAQfd-9#r5Q zG-tLA;;%|rUc8p0Xr~|wTXE1GXiqDgU(Db*WYp?I>Y={cI%Tom;OQV4(fw5c`{fuW za|mBqF3@h3gZE&r6# zW39ds10QbZKoEU$0?DwTVqjsS#rM5aCj*K;C>AZsJyQLKM(~Iny z{&M%EN9KdjCzzzJdfmz+%&gd!&|mGYXsGi%Q8N*Sn!SPx^d)ZC){hGU-X+NEy8D?L zPkPcs{rts;os$d{S8SJ{Gt@w6E%oXjt^z<9A-{^-Gyo7~{ml^8rs?Y02?ZRtQyc?& zv!ZnFh0iDV#hE7h;2iNC$AMx^og!_I;Bmk%jJ_&36xkN_YYxtiHy)j5rV-h&PSvmI zpPB4*p1VBhl@I<@qDuXA5|u{Z1Y{)^LQ7wzd|mEzxxBKl;SSCTq!%)`sfjW^aBRbI zPK}`MQz5T0*mUpzu=ry+w&BT9@ylIw`~DPXM6y(UMhviQlD zefVn3us4K~;_sAF9?WGE4X}9fD$Z6*I`4R+r0+Ph)odA_7uK+)9x6u5c~4cf9cezL z3(8CQq-&O)f8@ww{NPdP0|!F501*#81(-!Y!Jp#hYo#%j4t-vurUHyetxnLTq0kSI zZD6;1uG&YNZ-Urag4(u|1I?K2)IAY3XxnP-ZvW@9#3J+a1NLU+1KlhvCQpkeL|}ks zk!3{}9SC?_{E4P+2vZrciXiBZlsRdyJ^#+Rua zgMNDk=m%rEDuJqFE$HITY2R)ithh<9)@-#9?2+liDaS;<4n;(5Xv_WtOrtKzHzWtV z=v7+u_kpT^!zt>>zU(r0{eyKop@8QC`&TxgdTpu|$27oF1$F#LMm%=mpio>CGVorS?NW9RqOqs zwtJ` zUg5^^dD?<4`3VwvPe1BXwW(HubShQ3C-5&ujWqFR7ef9%!zn;mm>E#!73 zd55)XQ!a{$mYhqshggq@n}1O=!6F4s#AHEac(Rko;FmL$w9uIh3sA_@)6DE$OJe0w zl3n?_uWKO@z(Rm>&1Gb7?%oZzs=%qXS2SsIn;GAIltRX zIm&!gk{bbwwrzU@yfquIdcU{_wL8Ut_MmEI$ysZT-Z(W6C{Q zCsc%WE7E@;IUzmuQ<^iS491bh3!99Ws$jVOBhnvJN8UC?^T=RF<~hcoqIgU$btRDX z)fVDxQ#mUZG=jL~4X7F)Z$$3%gVbx-{+qGZ08nIhaER|gzh|ie(Zo^$YjZ8Z_ml4!CGWh{) zi|QZRDPx4)t$62ac8{T_|JvzEY>z+`>raisTNZgc$Om7%RIc|*_iUQpdVo$EBexec z;@1A|FW$`oIM3dB!l~L%)c~tt)Ja#?L|V)()N?H?#$(p?s%Ym0GqqpRSgx1a4u7eVX+)`zLi?-5rAfCC1I zp!_{6L6`ccz}_n2!BB|~@Y9Q)q3fz$K1N_kK*4ur^dGW)8~t5tNsVkoFFFG!NGETB z+P2*^fgRnh`EoPxnU@>(48Sy*?~807D57D(e=${}ZnVL5Cznc%S47=T552583)XqkbEV)s4X@Z_; zqN+k16mW}DZKfV6zr^wkKs%S^tB=inDNjsF5W%Ke{RzSRvB0ya43M(_K3UT6T_p)4Y%lLjLaM^!)cdj-?4v>RRUNh+AWY zfXN@-iv%*eB`YKJ5^_T2u1Y3ZT#&J_aH$@e zL*&{?Uw+sWLaZm&rS}tT;7n*5qhnGw+3KBY)>oy2oB9dsH%fwq3lc$8Q$7Pg>m%qS zuUR@VioQlcLP8OBD<#&A@GMvJ-V8p~a*7XA#iC_a>p{#F0k!Nt@#*F*g_2Q1-bn5N zKlRe8w&3VjwO?Upkkl>Z(zfKUN*Q8-n}|IXhII{O{{^V`F_Ry}+C>(rU_t|4h|#%v z;@TR##%JMpoo?>OkOjNi_--Zj_#d(y1$l5A6cdqpM7}8KTQ7O`iAc6s^@FAGpQ=H@ zFR#vjH@W>q)wO*6qUkyQ^qDACWvb6+!1jt^MruQbn#3-X&s6T2^$1l*jCg7j#QX>4 zRwHuK+tc5m$#L1o)l3{R&hFx-)}C%WfDzm7{YhYY)=SW}c^Db2j|6*+6fxbjt7tiTpHLE!aZJ*4Q>6j{1 zm4Cc;h~!Ir12~k7HR=@$?%L#_Hd?-g(&%#c!l^DHc+>Ku8u;L3csH@?X&JJQY%9I^ zsrsZ5OU>!r_cxCg7|cKvUqa&3fIkJe^VlN5L>#rUf{Fdg6~*rXoCCGlJZSb(2+C1i zE|Dj*VGEtiN0sXUK=tLMTm1&KbOta)nc>>DPjZrpXl^SqeYW3HuD}>yV6tN)HKfEi z8D<%}n6gvvf|@Q=h1v~T!gL)hp2Lk}y~P%CO(QE?>N?JI7GSoCJO1SntQ&mJolH^l z6Mr8-&tI^}Q?HM#WDfL6LAO?0y2X~R?J*Llidr(t8^#9@g7Nn=FM|0SJ%AJIh+FCc z$612EEIBf1r_$HO8*ucT6xh6$9iO#PCc9kVdcAi6YEZ&?j%nat_xn#a1UNF*;r(wU zs0O3Iuv-hfP=JcXZeobGM_n$6Y^M-4iLu#_Iqmy&Jylmq^n-g0?N*ymNq=}B0T&$- zZSahpIo9v(w5BSrXXd(hFWjg+vO#AT@~Ia`c(BpNx3ZL(6KqKC0=5;)NoUy zZBjM*6_f+<&$9}rs>!8KVlH{vF-nMLUf^Wc0{|=8P;%^Zu5S4} z^O_}kYz#A2=67{>7aj$q%~#q3+v~6`Us5r%PGLjq3gb-he&X z3T|B89rD$gRSmg`w?wk^l1TiZ5$saKP?x>T#j2}^LTs;!Z`7~E@60_wxk+Q|4io+F znEP7A&01&FXn#Y-WsN3P{tPxSZb`4&T#Ivey@%|Z=CW3~Oy~Yd==rPTJ~h%B;giE~ z47g+1ZWx6E=TzhLNa7{(v;Q83$OcbkRLkohJ>kcOSyMfutx%0U!u_2A!&Uco1BThe zmrF{FI?~vh#={hBfy`;Y_F%mw^-RC~VTtZnM3fIy;IPLkEbDhRthW@K?y>Um^dJSe zh#qB2aJeok)rZ`k(q(1XpSL0VE%>jar<5bVzcC9y+KF97Rrb>SR_Cz(K9;r{pe_s* zjrj@C%~8Rp<;VBMRp_%!N)L84Wf6WkHIb%CBC>d7+Fke7s#R%~!6_hhCTNQ3HCHm z+Tm3$$iP}Z%c>l;b4!nqfEz*4J9oY_w5eVi16ZEfNzD#shE@$?WKw65vE#2!2h`%; z+jbzWc(SRy=nFy@yuWa*qQKEydR4VDgfw&Q_H<)_2S@c(`{!iwzQvh4&McWu$GJnIvXe7ZjZGZMvrU+wk4jHt>}I72>sAAFN5lt;NO zNpl%lOS%=Vi5A&%wu^&;b&UF-KUYl;vGS3D!NfzolE*YFB;tN@Q=h<3+ z>c_!6vHh??Aq4eykY3j8*h_t|8@|KTE{dsG`7Po2KwdhMYpLaht={~biivQ1 zW)#gLN&i+j)@n1~E6L1ZCHwWmJ;2u*+bm2z9Z_V<7IsMEDx>6UQ12c9SZ9wFz54nv zPM2D@s7Q|2g#E;}T%7rN_CD{A;z74ZWI9wIpVR;Tso&P3O>j7?o+nRK|MwBU*f|M^ zXcmQRk(e0gc0K%|EAJ}(iTrgI7OyTyRU;~0)t2mzVJ!ies;|+Nwfd4ApC%kFzAKqi z_B;9LC{!kDDj1U$LERVWdNYq{cqBL?_V|sRBF2Tr#i?ke(jBnanjp~1kKYVa0js|- zwHf9BPN_qZQ7hIVA;qrFOrz%E)=q$#(}|W2_rD{n$Q=DfzJTkvxCv}loxAiNHQ$N*Oj@7?TNTE9km`FwIr%_1)9k=b zPW6#Wnp`!gT(|-3A|&ybsaKQ}KN$QcgJwodP&EpAHXWbf#K3MjVm}46>Nk)E6rWVI z&8rkS%*J~()8rrh`qo*%uY9NWf&S!4?Dq{(TgJhG9JJH^7TPkYI^0-~rgt^3#jkSt^eVsaM@-ya24qEJAG6 zVCpASx%Dp{ag)ok-C;VTL8_JQEd;@8LJh0b(T3qW?!?njtC-0ZQ-o&xI}ZBYLFg?r zO83|3myN~F(96{jDqA3|tIQ@w?Ag0O^OOqT5ARy8Vm<^e?6s~+y`%@ohO=iN6H_(H z`+GNef7@e$EiNoGeLr!$QVe)J?)vUe|Htot&Ps*iYHlj-qzri&npmer8i^lI9vbhT zoW@~0;`))-doy2oAQWFrTN6d<4L|&l55pY9mHSi*BoMX%VjO1KfrHPp%xWdu(?5x% znD=2d5fph$K~hKQ+vrn=1+Sk!sVeB{{}*p>85VW7_6;i_rL+P%z|f%}0#ZYagbbY$ zN-2os&>%G+(t>nJr*sT4DpKkYqLkD)sDL1i(!x;B8uzpJ^StkU?E7|qc;64#;TI3R z{Ik}%&hvNvBI?==ijU!J*Zjl9Z6N;q!c-asB64C%N>B)z&WBQpN9lb7vZU!n&-ZK+ z>zp9(oT!(3^99;+$FfOJW}8G6Wrn!MXxFIymv<8M4o9L|Z3RD9+CB^3zMUJ%UCr+z zD<+2SV?v(_i*1#hFe~1-rON1s&g>^=-oJJ9PcHyoo2T*DLl*sB^zVO}wR3sXy5H=~C_;+A~UOlO< zqW#5tM8|$M;K{&0=Ifv^zSyCl0b=fOD2u}%PVar{m$zBZl309b7+R7X2kLdB7qe`! z8`m2+DTPZ1@ya158((`u3IJoM)OD>-l5s-Qg-fCLolFiBx0X_nEgG`vC+FGsxb-%< zw`M8@v+wPo$a-m}XAf^|RpbGr_H?L0$I0W0GyU;^AV0d|*xtA|^+CysM1C@Xjys5= z;ij*;kuP@>&2Zs7AiAKZ&3Cun`xV5e|kw z3sVF4qAm#6Ug-gdu>^_fnf7S;^P6m*hF?e$VS56UM?(l31)rua#ZeDc-FU^}(hk@j zFZAfctHL}$6*rv<@OF6D4jbjdrCO`x71yXd3jnNx!E}E>j)NbcM>13|JXp z{@(Yah?}A~oB0b&{+Eu`bp%v7I6q+x8H*mQU!T!#0IKB)0e64uhhM_0OEs~K=B^F& zpZqE`7}4qYi~aimM*qj>`HNptD1`-V+6q!#1t}QN^em$@PkOI};&?O2;;GoquZ&7O zm48-bf-HdeUruFMy_?YfWVcuWRiOp%QG;(Tj$E~l+~969__YTpRtOdI^Q%LVI6BmV zF+@4rwlJ@K(ea&BAAuz*_&9cXwJUU>z2`|5-aXMF@x_<4vV^s{GwSB0m6#MmfyBq^ z*4PwP4oHqXvY026Z&FTZbS3IIPoKbz=>mMMvXDM%+i+gHkPpk<=q!OQa@z!KoniH3 z5!xd;wLVoWzJ(q=02rE#=)S;vrA%*cF+I1Mp;`oqo;8Z^KN@|K*Xd5t>I3S^Z$yhf zW>dng26{c)jqQTBMz*TtuK`Y4T`6SF%?6U`8v_DdGi_g>|Yt{6#qm?~fA9nAOMk4LG<7qlUB&*YJd`sDIP%L|_bGCbd2jD*afWU+)0gcY07YnMsxZ1K(td11bBfE4ZY0Vd6g=rdp9W4DAV_ zcwl2WKb6#D6_3aW60WjGjSk1dN(hbd;X8raLfBGNP!!F*+$%nBiso{X&LlB8$5G-$jVkMU0%niM#swt#!lR6z)xD;dc^+y5C~4LI=+I?TdKP=c6n6@&J9OTi#I#@xFbl zN5GDGW_GVhYxy4h$TnN*1E2Ya5=|GL1n9v`zSwQOJlJH#gtX9_%2{%?3oh4Wu%R$B zL;fC4E`}t-D63Q%F8*kaqu$8`MK;V*<61}gc4s5JVt4!3mz}jthlj0mYltWD7>C9> ze{cFeyzQX}TT?Mm^!HA_0J6mw@HMu0Dqk#-2DU)-rR9_Ry_vHhUv?WQEB51X5LL@4 z8M#APkAk;;ex>?bDcF7gNB@|qwL*0T-VMa6yNwI0=E0Ab^!h7tb2lMR!xDg&img|qazi6K`Yykqkjepd*p`7_xZyo^_M(zGbd&QANHUDW+ zC{BLOQO~(=f!Ac>5Ny=&L{e16KG9@%pD@w!P5*Zk{06gY7SNOS6NwrYTZcFlNcnIB zj;U_jc*jTO&7ks05&dJcm8foqB}TMwmx@Y)yabjNGhETSab19Me^18A@vjqCVuX;i zDnl&E#WfE@1rn^WK*649 zXy4|Kr+1lwaseIdI>HHhlu>y(&cGn*{BT{xjzNOFB9&KTmntKg`rJi^s>k)ot;CM7 zU#Kj{5b?TSYVvxb{{u$M5@5(qRuVl-#;co|PtWlG0P9XyBHZ(BH)6cU8>ET3=79s% zT{#awo`q*M4l2GLM}IB6e<=;<)z%m~ez*Pl+@uT^7_X&7gJ#Z}mgm>n=r_=-aunU- z0zC3hspSTvMhM>OU=p+=usqKGB+L-Icu%#EmsLBC&5JvBDk1a3A671e9u`)=qiW+VK;1@bN_{KajHp5F#6 z-MC}mhWzPp7Jh8&Ln=h;Ss-2xC-5<7ZU2J+PSi^MaRvGBe@W*6Z-|fkvkS2=9;T}( zQh#BJR&iJB_3DM9zujsu8V$8qes*3=5Bf@KZev1M%XqB}gT%Tw~*Hv8DI%=-L6g>%SC@z3h5b9ZkgnVqLtovvRyH9TTX z7Tda0!qF}!DB-y3rAl%hBeDWTEuTpV*yP|d*Gr!*w9IcRM0{q_VsF8zW*|uz7D_|< zhH3p>mY@*)bKR5OVj8s732qqP@^eZ}wOWMw)r{>c$$S53b&}LA{DHmmm%|C}F52 zmn*3(+HdEFXvizIcgj({mWdA0j6UEYkp{QbG>hoJb=|m#CA{u)U%~ytkiDo7hhUKS zW3p8jyi>IzBUE4dmB_}jf^3DnWy;epj#N5Dc+1j0^e#&M&PT1JXuD@MlyB~Wv*^tE zQR%Vx9d@#p6Ky|zj4;lr_a%Yt1+WHRy;(;Z$o+trezp^I1nOtCK?57hQV=~lQg*^6 zOe0*HJ78xL#`G5YOL~s|mmdNZk__#J9wkSgp%(hPcZWDI#B_dAdBpD12irN@_t90b z=j)G0)+DCkq#RTv31p5F=p!cNc8rYz0rT#C=MQLPsa3u0BxK}&yvo9pDSKxz4E zw%HxMk0{iJ_C*KxjzsEUTaU|CCN>gHGo*IrpfjXj7ZYF!S5Hd)uK~$U^};RW>a}Zz z>99*{6C5Wi$#{f5ge?O043tGWHKCGUrRywHUKj4HM>2wk}`qUXam* zCvp~4=oHkL@WA{y3z$i z%!P@~UVjpT|#XT{GObm9gKLgylAOC;vbi2A)r6`@6N*}SUZ zS~!z@!8Z0Sa}06G6lm;4gnlhfK6D&vZ2_z0j`-#_1uj;i!s|EUFLo|M8ER2K0|!d2Mwj6AN>G zyEjZrwK~C`*pu&*-@f<>AQN?5ml!v*CR(4XWnA+8;)Yr=U-1pfc5QJ?xHg8lz$4l= zL*wQUy&A5{Jr42#t$D=>-y~HCv`6)A06P zG{SnBexpz~zxiG!3x%w<^?}T7{s;vMW(ov*Ks1xVL~xU=Bfmxnoi~G?CRyQ{HDqxT z`e>&t zJsm+GaarwMW!jG)py&T})72*XCdNGH={Zd-p$q>@5mQArXSV^)^yd#ADc($65+*tw)mVhwn()h}HK zQhnIdqc5O;Ax^#PAu^O(P|*EX{5DTLYhwb=)VhRy{+73%<2B%T_0?Rm=3|~a=?o)k z8!T{@HA;)S%?*9|AegqUT4m7V&+_6=$^M@wL|di1`{Uul!Bb}Ofqkc0&REe@w5BH4 zSe##G@E1(37zzt4YDbL$#GxcHE!E5<>UeL6V<&ZTx861zHS+?OaZJ6l9YtpgC%9u9 z+R<;6;5P%emFn&DZlMk;6R!FS&Q1ky&qQxs?s|hgeQw;jQYy^G9q-BQAbZh}R~HKt zP!1er@#Zn2q9p98X3Ed;8m`oHZD)P}Mv?mh$-y54+;H%>i{>mHA7OjG|3_U*pm zE;Bg2Zy?D}%GA=wn2(8}RP$nb^v>tOV9Y*#qTQsQe#`{~DvZvhUUz*hGoe~-FzCZ; zq7naOk`XfnDc;lK9#4It@eixE|Gp{vKbJM)Ms&1~=`&U~hL^l+q~9pdc0K1a-@m-B z+2YM5-Ha@Z?L-t>ns1uat3dIxO41;d^Q4xeaScec@y z_>jp(mV-NWmWBrzE@Mv#Yp)6<>K)vt;|s%>xa^Xjm*beXNbuvf4cgR&Gz^O}w-2Zi z6{|ra5wgeXb^k_DSh@4E#s~`xUqEY+5wI}*eop7UTm@{td1@T3Ef>74r{KRlA=1PA z=SRgGW0oRQeXfp}xSB=eMEaB`1dJAEWwfo@snEzVqCwlcAgLGdDFwC`r;JT551#=# zs*(}KG}Y2#6tIYJ&D*KA-x-Ug0Y8$_p6+ZgOFaOIIj)?9)@9?m^A0c6B=Uu%Tj1oR ze#L$HXj6|5Z%sQ0WBtUo4?plh@R<8*a(h6e>33~4?41}rD_VuWeqrwlQ`VCoKBADH zuD4lj@uX)s`%Rly;5|ZUtT`_g=Euvnt~px9!4*My;g#UBW@k|x2P|4j-7)OfV}}%Z zq~>bfnu8u3S7!Mp(&Ezcb{!2K9TtzokJ0YLN3^c-O|GcOA#pKBy)TX?t+L2LS@jz{ z2$YH0?Hs!6-n0_cpjwo?M#Tw;Mw}zjIwj7@nC7FEgj*-^PaDq3;TaB$5(>f;cNhy= zbdzDb2$sTC9Nx|aGILe|i|*<*#g9KfE=KNxOALf1Uw{)+^QEkn414&&=l)AodbC@y zK=77^6RXyXW|8~VWVCh+c8zu65%-X3qJ@#@nqB*l@h@Pwz7D9GqQGS-jE6nOfc_D2 zNp;E55vE0?yo-vDfi#y-)gZW}U*-k>DsbppbRsVH*)L5(YTFNi+p3xUBtLpt^kh>M zf;rCCb$#_C-3nVtjBQ2i71AYDJ4^v()unl{XjSnc7Yu(;uL{Q}Hjo&sz@mm-ejzzW zgoav5IoYWloBRj7@{A6;_g7y`1@{A$;&xttrvG5zw~+(aOlR(KnSmW*F7qKsjB(@G z??p(tyz=|`YC&oWREBH-?!55tk^9C_X2SEE=HQzq_xO3i#=k7Re_C&0Au^!)SNRYQ z1Q1_82#`;x7BLv7a!I`r;u;K1>=P{%-tU9qo0$$eZz}Zw(+NKFmB}BA`N7dgKR&9r z7wJF=34|sgoc;vN@X%;bi9>EPL=!`hN^=g2x8*9e&Y>WvPoCUgORO8lCGrP+Z8{^U z-A6^$`t`P!q!?28|M@?>bEx~FVq3~UU+c^K$a4oVv zO@68AUIuK_!)5Pb+;^sxp`Pc*OI63DTEVd~{=7C9tozkMHdwllg;rJ}D3$v>z1QAR zCf(!M2|3nV3+M_tGTj2!V=k-`{lKVU+yzWC{k|V~mcJaYSW8=<5GJA;B(=+UZD_*o zjHo`=`Es@X!==FK_9Y!RC*tF%iF@qV1lF0x#_zR>UD_6SchOaWe1@+q?RYKvA2`1y z=56nTOKh=*;ko1kgA{y152|7b{cgb{L_xX>rzF>)U$;aSur_|N5YubeN_SFC&%hO{ zq@7cv%FT@BqE!8dOoxd7n7~1I=0aqT=Jh#SZDq~VMH~ulluy*ldx4#>l&c+UjG2el z&F-g1zUM1nig3-(X93R?uOslcHSW&|z;D~@m0X@bqewJB*#dx*m+a+~_rxw-@=Txb z-=nrbDMB3@Uqf}G&rkV~>}L#_pucE|yOx>Y^IZ8Te?nn#UMsUbo=BSQ?VED`%Qg_gu2PizTJ*8VNF=Qk{c=rl z@O=-?V%E2jq!U(bf=Ei_sF5q36>81>Q_z-~X=UZzsN>O|R;hBPy>ipaz@u^m9hZ*< zeoIHiDVGqRe|^5V&SB8QsVC*)TA^N>&v1vL!|V+@Yp_#rB8txTpF}r) z_C4*7E}J;CY)N&3A2x;07Zduk|7==a&)6o`|3S*=E$A`O`w-WQy^#=CGag+Hk}A-mbxAv$Ph3%9P=t;unSs#sM=e+lc@YdtbZ)0p3oE zjOg;a+C;p-8M5`bya@>GCe#Cg9Gec(t7h(TIynr9cvt2>;%CSr~>wQKSXx%nO^DVSQZ;%R;=7JU6w6?XJehD2@X&pEm$H z&d&r)p0flH2xs58#GieBB394!Xsj+PA1=;#ChkU$T9%OJR5;1XS`;*wso^_o|w??cD6r^PVwbu zz}CM$1~eZL;;Qv-L9>u%Xwr*5``XadXuYCKD3EDWi%d+4wrD2q6gRa+8PS|K*xfr% zEBF+B6cg>$13_{=bsPt(Kk%UH1^C?Oe1@)>CTfINxIPnshJI#q7Xy!0kP@9mG)`+? zdqWrOz6H?d_Idv#b-OcLVb{9G3vsXazQ+ctUgmx{oZ%tJkPZHTR<#e0r@e^X2@!7& z1O#vKm>&Hm>w8&d}w=%!DJyvbYdg35*fl-vqRYO`I zM-{MK#+8#8L{mA&jw&UQkdZRG;}tF<6LaftFpoKzPU7FBD{_fjGH%QOrtTEbdWHk zvF6tt>ifd#mlDrL+eq|EIe3X(!xhk<<6OIOhpXX3kS6iSWqUmYCW61Y@95Z5DHB&v zmQxRr3Y04JNu0bpDYZ2-545n~6?O{gP~~dpmhJNi9sAiG6%5hOM`DnGh-ld%Km0Ni zK38z{6_`b?aP{}zwuI4RISuat6!0cHZzc%z9eyq(lvEp?-VD|!Iu$1%K*aRDeGvKU za1r&dzD=>wXO`j|tkfh&$QKSkx@0gPDpW!I9D`QiNGZsX)baxH%(v1!a-6wKP+$YH z_(~p3y;%bCGgNJ!AJ470!MMjgde|pGAeX{eKNybit?Ln@)%&|IaVCa_)^Qe?VKvB3 zQD+x=00GogTcMtWzd8^9K$KRA%kr=K-S6K*4;g9qc|GkkjV~;7X?9A4%7y7;tm3JC zlJrB_@$?6dD#6r3?MsL!!K0$F?j zr5rymk-x9)1<>H0kVnw9;|x{FJ_H z7imE3Gsgk%GW(Kh^iLm<$@b6}n3LkKKw>Iyu z9@IW;t70tW^i%RC05!^F5O`spT$XHL-hH~sp0@34!~B$0mBB#qdddjWB$WRR~FfW3EnP2yJOQuJJjeL4AKw&Ah!m@6O( zQv%{0&4y5Ij!5LS5g}V%lKA_HNsQ~pwJ1jVg=z8U*?p%Ot}xb3w{os)bKk2liG=wJ z{y)4@XR6BWIZ&HGCn0p~sIrR4gRME{ACKB5z&^xJoR=f;istjL`rU#)8_ zTWCW!%HiVoogXh>u+i7@o_iCs)Teb#Jgp@BDyoGRKUZ6jP*8@84_O}OYyKvGc5}2V z)uTYKtq5tjwLOzKTYOarhU)V4v#|;GkO`T9HCQ3_&x zP2Q<%Q`{DK22lsgYYfDq7pHvjIXwQ}+wTvDRkq=`vx1sMkAZ625_15vSA4-A7xq4A zgqPvU)R~x0cgh^U?=g}vrnUr-J^CPu-8a)_G0VBuk%$LPv=D_2U_Wd7yvhFF5*H`~ zr4Mzz)c*bphVke}o2dc|ezu1hq(3RynEd$I+_mR&hRCBL8iE+T%fmvrrOWOIemRey zDZNW^Omj38`{lw~#`5x%B0=Ehw%$d#61MFLz#*Q*^@y&OtRsJ3i3-3ai>icdGpsny z7P!bsfqyE#S(F0+X+`OzNX1_j4p<1ntn80$0`+*SA8iW|( zVD`~Fh8ui4z5pAqJAeP}NV&kb6BT54z1;Jw@AL%O+e9HY#=do}xio#Xp~85nNsS6% z6);nQRW}9iX2@D%cl%z_WYLk~SfkFjW6TH?T^+K}X||s5b#bD>R+G93A@qS&iWAhWl%J>{Nr8xaWW2hj7B zsQ@IMmP7-42eu$?pZwSSpKJ1e+Ob>0^bA^W>B(pQoxxYn{|^RV0q;_W<0<*=^mzY| z!PnX~T0LqMpSmpV&W_$|pT(h!;JFGSRqF#G;dnbN{`h@QK+i^};Yp%0mf**Te&lcu zV1{SI0s|~zltlJ%Kasxi2c99mU{Z8`oupYH4Y%?$5Gh?b?HooUWd=*>f2JLK188X@ z1R#Ik$(k^bQ8TOziH|}0JnUtsvpMOX&eeDNC`~7GF6s+FBLiq(T?UjgnE&-nyCypY z$L%nhc(XcdqwQv+1|K#;nRZC{#!{604!!^$#CnwK(i}s(yT-DTE7}Ud1A~0ur6~P6 z(Um2w*R#A`x;Y3T+N&P)VZYmf!v_Mn$iI7GoBS}}b3pIx(sQ0q{Sw;gM7RG(Oce1MB@PG;sF zuI9zJI}Ji-L&0bGzq}~GL)_Jv<@HCh_g7p1R!GZlC5xIS?3}<(lIQ+CxO#j}u#OfPW z4%0z-EbUqerBJ}S_bP&2KHV4U@;*!{!BW$weIxgeRy zPTiE@BE%f+Bq$&g%Q!qNa;{V9Hx(9h*y)`j#GgeS0xm9UTaN?XVYlY=!DA_3ad9!F z!Jptjfr6|5)3rnwkYO0l@`7)|IX!|TeiK>ZH<{CQ)cp^>2_;#&n~oo9DZo^A`YC5} zI{WNepT+uQy3{C!gOsv(QYhOzIzsgXKa{_g`lGiz zfqi-XX71X+&G>Uj!f3k?lF|;9Sfs~}S*<%VG`^X?$g^m~vQUn~Q!t-5TnI;DyMSjeUjX7JsG=NfzhrpvOXC->rHmi+QVYeV1cz>OU|HdRaEilQxVLr z^&`WusQ+4^r_hzTiV4M|aY4jC>?c}vWifkI9fYa`fa7#r{+t?dgA-Jn&;Wuqpvja* zgUgft{dT`B-(RyY&piQ)RJ7!b&W}AySx#ZDP0zWHW_r)0_IS}W$5cV*x2H3Qq`q@eT%*Nh z1qp!XjW8FUg%;{weY%G844SJzxRgB=vz-)M1ZF&17|aOsO0yfg-M-}b64V^@`vRrgH8e}XjW!ja8ulIWeY@y*E^J;op#I} z%+dL4R%hol<>9ZBW4En8`=C!-1ftQO47a<>TwQ34aVo<$!}j}ZL+Mlpzw&_(a*ko|xzBxxk?qCnTaA`}OHux&sH?udWN*2uC1-~! zvj5h;O{(ourN#bOFI@bH%v`}mU+**Qz_9KlIhT8}yB+_W<4xqQaLRY6fhgWRZue%w zE=9U+Yz(hWXwPHfc{xY$CR)>Iog!t^2|m|i48z`M!)g_kK25_3q}kDSTbq`Pv5R2=w4jv49B{vG#yA(gtdnGdr-!JS6r9s~HN333>UwiiA zo48O)oPgl&y~h}XDe{V==bJQzP{S>TYQwKgN2H3g!{pS2lK6MNMm`r=zH2;(D!=wO zL=8PqV5rSu@hztDE)t!rQDI>xKp0m3?8eR;F_RGg?f-k&P3I;ya8K+d7gGPeffFRT z=lu4ymh~Q&yBhswy2eamCt7L9KyNcSTo_*?QA&&QR{v3ynO=E$PpSF^+tJ8#H*d#c z+R06abu9pl3>Rx#_pN!PR_2MI3TC-Z5ax@V_+f#a`1iL$QW@5=b;oHpmO1}i7E6Vv%^G{b>@)LjY2RN+ZA&A>q6M~-k^MgIk^t9hsTnr8Ev zDr9sIzK4;r8?Fu20ym$NJuDmmx{=8>u=FJa^u^`y=;j|-ERk?Yf0hsY`vvDl+=y?C zB=L}QMTmy;Fs6k1K8{x)t+0ad=-UT49ySEn_iy~|TopYbL0 z+NH~ArpP>J^1PI~$EiULL@lZF8WATa$F&PbKWpvV0>2$x{I<|mJ7~Xl&|Y_N>F2?V zU0?#(9DHE)??#Smf+RD;;il)Oc!uFsbEsG!uj03#^<*x7yj|&&yN?J#F7@Pj$mVB4+xBDLzZ8U8V8-$R9F*e? z7zU|MecGI0zs`sROpAf6;caphd@@+R1N?n6UEj3LPPx zAw5pH$*ge-j2)Vd%r@v}Q(~WLp*m*KW&*qnRozZ%R$vXsQ*ZwX6rap6Vy&kAIhtem z_qDo{G8Mt}(;}xX=J$Rd zH5@7BBZaiJ0BYI3wzN z&|>UmsEqv|h{N)b61?z{b%{bsR{xSOq+Js3e5B>k_~P`PmzV zM&iNvqCz|vZu#?Z|G~jP6ack6!%APn*V|Hi-0RLji2x!5@uN!%Vqxprys}F78!RhD zV#Ml`UMsW7%CnBdZ`4d8TzuxFp|Bq3U`;738Ui(62HI_cgDo3Uu)i!`YPNIylNipm zdwgPVn@)uMBJ768eMam(&Qy>?~xvoyq|*owd)75X-*K(fzoF zu_unUL%nj7rspLmeB*iJ)M4tp=orXJjuYS*PX98GsH2}!++ylEoW229{E&)V10O;x z#_UYY#bh9}r(b_21!~Yd8z|3NUazkU{0HTklLTzAJ1Y6o&1^Eh`}%zTX*Nx3eWoy6 zrN}HQLphf*$=Vi@M+Ng2Wh~p4R&2*DvuJJ4m&GsYEk%Bl-?Kg26Oq$2^A@{tG2@dC ze2XbtakBKz3!yX|B3GV}lrL6M7C#WYJ^#EU#DS}`T=^V%l#D)w*84eDUS4iZZ`{oo zCY#5&8H6P~2)8O>FA*Z<7+MA|-T3(HOaEHt;=|U_onmaa+4hn%J0u*l!5YFwafEvY zm0KpHFP9t=Mh53I(?xcg=LhpczVA#}TUQE65GTY3Bs(98ZiQY9;PvY7YWt5S#PgvI zfYkV8P}0u!rtsdCXp4*L+Tch?y|;Zs?n-?K&@M_vywOAgqf(SY@E*2bW|(~732$ZQ zR8Z=k&|brg{gU5zv)(!xaze!{!t&cwq$VNvtWWr1{AsAvk;qb+t1v3IGG0TrDKlvC z)LFKeS+d-4*kq=Y%KPUue7=lN$tug48Btty}bltYX@oiA0K?_s_d_e3f++FxW0A-6mir2ct4Cm*0$?>>V5Y{s;XFE$DXx95)WVKD&x$2c3T@Kp!<7r*EGEFZyQKVAKQ{^Vy8(_yh~c@|<(} zP2+=$Q)cth38lwPF;UaACRh5-9=Ui%H1$ApJ#09>-$Mwa3*+^lB%tQYpdEq)M=+x} zOg_v#9e0^A_WL7tHZ(h@?|kfC15>@Fc}SR43csQ`?+u1Y%sv_+nz>lx_aXCpY27(boqkI=oe63+8`E}uX8nt6z06$;vK&80{jp$p&gMijeyDdl(Q-j zC_dW1d<3D5ZP_2Xx8hgstd;M(na~@G{1`P*V|n~ZArsIH=Vd=<$()Nz4yCFk6jh#q z5OU?2ZY`*86vnfoD3LBpwknGwQ}U^;24rH(Pwj$(KGSuy-Lo*j|tx__8iVKIOpzfE#xOA@RJoiO9Ch2+|Or{#InIbEE|Cb*X{p< zvLQoqmP5zSXQQ>uC9!-uj?-PE+^FFVS7`p@0T_5tB({0BN6HeALDN;`WmhL|TH7Q+ zhrzRYSC`NqO6L)$6cf(~ss&vPx?YT~bibnUUM%Ye3-pwQ7&B~Z^mL!rcH!Vgk363C z7USJp9`xNdkCs`>12%~SYjgT_uVx`%K(N*%#C_0JswWbx#S(nB zi6c7zu|c;!W)klV6Y0sV`7qe>)UR{m;COx zeu_ZYF07(Up$ZTf9{1Mh4OF3s#>Zv-=4j7hw^+LvI_)HkX7(EV6{|D|z>J3@yI_1M zn;Yk(@bfO+8O}U)l!3EMbk^R{dj%5qU&TJghOu>|?zR>bg{&!91f2E9(a@S7}hl^fu zHO*N2+3@COsHuvOXz49yUFrZ;jwkmouTJMV)Ya|o;q<6(Ys4Ut>jF_5LnE%;Jn<;P zTeo4BkTVL$>-V35L_8c)tiglvy;alen#ZXye;v#N z{c{6mx@1=bRAR6(c9&1T$;+WkiONx}h-YQ2i!;6DL;Ge>Eb|>} z6Cb=#rBQk);GbRq_0kzfbM~#+H}PUT7=b%X=*1qB;e<@=NDunbSvaA-XIIJ2T)`B3 zS@2^4=)K6_Ky8=LUVT~6LX=vinOeOH_%h2Oo!%P)ly+5sE?<1dxu&^tQ<~5v{~a;iVTI_jlTKhO&o+F%^=LX=$&<`kY4M#Q>LmD2h@wr#kplM1t%n!hCr* z!-;+B5Z@KNl8&>nuVp1=FB0(`2u*$}oph9nH6SX06N3jVFM?)X((7jR-pX2=nQ=;kfz4Gk zhGlv&$KCN8A60?~7i@Y@hs9bt$(z=C6e0{la z#GzXxdrg>??P$JGB&qzCISJ(=n(00)CZ;L71l4~yUwpm8wpip{e6VWBHl-AYBxl5coflDoOk)+Flk-c-2OR!e?w(ELxN}jiK15~96wS< zuL4~C=MaNxxiWx6+B|?1njnYtD8~R2>8`rONw{zC1glFgy@<5!Y3dYDWs)^Wr{Zd^ zJ5w*^Bj0Ymdn0+iaeTPNMN)O|Zg-b$ChL$@8^!HtxfsJh&90ZbN|l~vBM1vBGY^+J zB8Svxk8$L1&#A+rqV5^M7r`O#z@}Yf`_7$20Q;}Xc!gcuxLJmE@c#027@cc#S&R4u z)oP;VWyj$ySnoJhmR<8aRL9-{A{_pjpWA>s-bR?5Iv(flOIj@zMLF((#4Vq>)<)S* zAc{3c%|fOeXov}6wNjt&r#O|SnN)VpJ-Jd_ezk4;lgSD2Bs6FDn+_eLzEVB($*wd6 zbU0&h6GvhX{C73`+Cv71EeB`>-VRC6onNW@?K&+2hL-2p- zn$Kw;o`HKV>wW!FihuIsWs`)I2fM&70rtRqUYZ3p3gClJ{Li%dcjx(`v!`thLGlVB3>7{?icpZ7J6HB1FmL; zZeWkz#T7BrxCNP~?;xjRHtG>|SLdYxAqtli3z|IeWQk@p@V(+TIs3%10+dwwYayE{ z`PG1f-JtQtjLR8>5ayI*S9af`M?ZI}Ho71U`d0bPUZ)s7`CB^og?qA|^dN%QoUNT{ z3Ue*1ycp_klpG92DUN1!0YAtP6H)*7TFh@Fdh~*cs;Hms*~Us$PTyMn$B33;n;$e! zz#Lu`QvFH%?~l7Hcjrh+UmHFnu}vVn(HBd_toWbnfjiI!zKn)%o^KA6}kEDZ~hkt55Jvy z7=&}0#n}WCq8KR@Q@2RUSl=mWGJ7U!=O`Z3yk>Ib(bm-`qtz!Pkqa6!pm1NNhPjMA zn>uFAZ#mw3C2JB?F2{24RBsY}S8H;wHaLQV-3Bf;{0wS-AjqKQ@+{W&ErR`uO^rz} zLs@DA0L7e?#6;47mk#X~keL|QajTX9kAeomMnZ_i(N_LRwW+zySgBID@e`tI<;jI+ zJP3=sYT|q6!85x`V&+ecasC5Rh83bmBaw9T1n~vEX$U9Ll?L%1J|GY179DC)WyL>Z z;mq&ZmP8#yJPZiRp~YGstd>b^_0$(_|wx!&MR5j~SQb7@!+8Kr$ZzHnf@q92*@BUGy_M2c|4j0JMsm3@dJA<_Uq1h!rSY|)xGmOvGLLA4kpu(gyHZ*G^t+wkB9RS`YJB&nzk z8Nwkyfaa|7YRBQG6R=dR0Tg!5v6McZc$uP>&AuyDlH+E@0e};RUrwpVE~KOtrxJTF z;A_!-OL}S}{^2d6Iq7oRbHKUR)p1J30Y_dFz!$nBVp)A-n(H`%#fo)o$4Q6iOuAFV z(pK&!o^hJMX9L^~LY(>+WId7q_7nnWd0=1i0)O5{*1sW-bWOWU^}H8=uEt;k z9pD3K(Qb8}B%gs_ffFNp0-1M6QB)2F7@dqIke7Tt&%xlgTv4XG`Q`y2+t>Pn1Lg!| z*sd+!E>l5U{bNL}bPJRO_Zql;WVKEV7kU#n|8+pm_Yyxxw1D1;lx{7wQ;bJ_qn3)g z0uJCiIq90s9;U9}tIlw$c}H8w%j~gJ+|-XN=UJ}E&WFtw z(0M2hn;egXcO};Gvwmvx**-WhRNc3?|wvG=CElfg+6@OzcX0 zU=HKHWMmEEvldyQV2LzFgmzNg09XCDafXGb#?C8Xw?TUdSU9 zRTf_#=1`J0&-B zp82CWw~SXLET*pz9Wj=Hpw;thFnB{OnEdYKKBb-${jPRztPUuvn;r{~YRva%n*wtK zw`Fx3=Y`a0;OB4K=6PpT4v-A1+=92V4J0dQFaF%A3qf6(DjAS^ z+Bg8KdQ2Iq+He~(qEUJDd#Yncakg!%lVVfymT~dVEe(x%cOHO(`Yp_l{<|*gzjnC< z`p}as);$Wc^Sk%S)K_MV9d(8VxuF; z5R0yR`TfaGrQz0me^rbf{gY#$(it5I0A?$<*MKZf7ae?`$JWzMbltztD9^C2yUWRl zzJoJ@Oa4*;eJO!M zm1xJaEaK*`Woh3bVZY0RZHc|wQceKatkrMyARW+Rw|raqu{WDgHvm65#8*Qu)?cJ} zoOM8M^Q_7pB#bJCt!_PtfAvL|d)(sNYuOingKGWbLxhnqdHpG8!t5GyNQY45%Evo7};n+IX^|- zQl+9yl_w^C2;2O0?vq`NaDJiU+H(|3%$< z1~s|HVV_4u0hKO-QbGr%8R;#N4k{p`fYKyU5NXnT5E1E#iXuuAP`*Fci!69pIE*%rYgX44duunbK}AD+Z(F#zEjPeG|LiR zHx-vkedq;%TYYwGLBCs9AajQoXmI=N789Xc%1dpzQhmp-D9IxS3Eq7N*BQ(I{_elj z{xs5Kr=6eI>TULW9QzF(V)mWL;Ho6L*=U<4nM%V2wuMtOZ=XabY9MRRO@3==1f$nY zeqxp(V~|)z@?JMv_#1}cjrUKMLScUMSub2YTz{7dp7*B-US!$Y#CKPua(28{J|uGB z(sR)h_Au{3HqtLu?Y@h&TOrLMOpAk0uNc;Z(9?YJ8p#pdrMNZ(;g_bm={fh951ox3 zi&`K1#e>as&>V(8Sm=Ofeo>0F<+0HEJLtVQ<6}6;$!0SgBRKSg?3;YTpTdeal-P=& ziZYiJ%lrZsLld?ypAt@MLun;-8h0%VBG}Uclg1cT7H_EmYLbQ6Yw%dE=d-fYn_k?Y zyQX(VPgG-|nZw4C2gEp+w|lbTAxOd#P$=YhkT`gwX+!9gfYl&3Ty=`y>+r3KVGcO` zV0~Lnj4JuodwDJ|-a~y|iuh&Icm70~6c&FKGeK}EuvJ}FWn7aE-n-F!+U{p5D2yn; z)llD#2LNesgQydp{DiVlf&dXIw+~dsj^#f@5_`RP(Yw%JDPF=DbTRkIm*F-_WZ>27Vm;F*@|t8XXdquV@&+~1!5VY3DS z#%blt|2UvY#D`sHGUbVQ36XNi&w|b|(G1Ud)ukimM%?yoHLb4XuqiCx+~1VJId3%k zo!bcWz6@`RWO5E<9>(@ihq^LxS7)-Ek8T&Bf7wNTDsM%P)N|8|=@X8p&&L5{9!?H- z>Y^m1}4nRgOb-#>DQ{~0w)p_q@_NEu!6%G9!0iSMxZoh#7 z3wVgzPt-8d*d<^gDX8D?E9%ePjZkTM$XsBq6!Y%m5dC1?Ub}0dS;57rwHL1=`lMWX z)t8@7u|KjDN2zUm=*+iXea=DX@;cmKC@Ru-ko5*suP3dNmHAsBILh9uOP#jQ%i7e+ zt8d>eR<&Y{1?Q_}@!Yz#O0!w__OEvGse^mkXNEx~S)hEl*^^@mS;WeLXufw#k8sg5 zb>P_fxc5McA)=z3_21k2F7}X<;wUSV7;{KIi+Fl{kh$s-Yj%E<-0O_zJpN#>jlN#) z(mIMa$Z=jQb&(){jALayv-Y~h2h88Qn2@K`v#hypY)-uuMXPPUU;a9VXW>8r_19Iy z>l*~OL|A~lmd$}knP%<9r*s4HXV}~)#duWNqWn)Se8cxhV~=q)YPrJPiYv#==d3bg zFj`j}Y6K%Qcx`B&n{b0f2wU#ubAga}b_ty9%1*1zIAwp5b*|Si6`tx>3`cHd`*5qa zIsqf@Mye=s{8)k^;9qN@{C`5vd4r>VHH`AUf%=GNJjW>LNuQ8y;NOEW*OR!1LhnGS zH&P2gD7Qv0^9!wsDL;golkGt?&eW#V9Zb4lN;-R8IpGL&A=`!i#(8>J9+Dl{sl-K=ca4ERtLXd=h2k@$ETlVG4 zo3EBY-4NvPH5ft}9$pW01=PvG_@Y5<|Ch=u*rdNfu% z+r6>inNo6AA~wGY#K_EG2Arg?2Wht_B}bDPe#;CR8ef@)C)Uy-rYGZxIw# z`*?-52~=&QJCLbSbm`1R8GVAlUnn&d-U0b@`+#XO;>nvuFcj+p{4;s|fgBbX!*9!i zf;c9BJ=6TIuvOot>3H%Lt3DiQ3jP87|4%rF>cJF8QX&V^N&dIe$vlSnK?t^llL;qM z`_(Bw;-oHtp^y&r`(kgO-W;4W)1|*eU$?z}6O3@W7?bgwa|g~pVMx(Ww?}JW!zzNl+~1);{!9QAuUf$y zY@M9F-GbQYWRYW02&b})CB|=m+-!}2>WV}H;mAd-?Z8+4w24~!^f1RUA zxL*@Uw_;yG_K2);%&r5w!=CD5}Fc+B{+;YUyuV3`gR(}2QBchC)L7%84u`g)I9QzH) zO7;z$phfPg-&C171RcCt5WrsMIA^|zxGQSDx?WxsRG>VYhS-nn^s+jEoLu||Ktfvz`9UFI4} z>00B{;;9Jlx!*M3=+mNKWcadIM{>ZgKBt4-CK> zp!xUKu7BO80BYjz1XFO;*O`xwlv_o<&EmOWy;sJ5ew~$*-?6aT&I{bNW&7FJOi`(k zTcH149J?W1S9bqN&KJtgFHOLr(f8voRDYm}>d@D5z6hYCE?a#?nDV|Jh8y$&oSK)X z)N0zUww48wFpgUp88F55y@=eSP{dNb-qiH(lpbJ~5!aTpPaxuM%2m#)W7Cfu7?iK`{B$zJzb zmOwk0-FyNYazikex8V>oS47ZSZCOZXpNa~iLOkZ}CjY*PMz6r%hWE}(B?6uFZg)Qd zl*ye;V<2u(9CW+;8HBXfLG#x!xfXzBy=@hIxYfscL&6w;`rHey&oBTE5i$*b-W3Lc zYWe^j)H?1Sv@#!(FLc5_sNiGl6VUE?s&nZd(;V+39S@} zaIxSP&^8NUUdxFW9q)i!B$e_mHSpXR8d`Nfm4{iPvBE|7_)qNE&-w^Ycbp)9|!A1c?J-L8?nt$Kn%e!2FVp`eCbz$Br z`qM8^T(@AglFJLOt$~aq0KU8z1fW>i3kK_4c^}tOt^rF{B}L!J z|F%_XJ0u!v4-h5&_W|q`E4p)xbpNX&Fw$B+YsvCL-jaQ2_11WN@gAMV!8Exm(}jDf z`giM3bAm<}I_rTE(8py+SNyl2_Be~Ae?PPg`>3TyT> zB32p$Z@7likjx``SiO)NIl zzd3_bH1+Jg2Sh`GvbO5Br$Cb#8p`zg1v`eX;$PZutBY|5Fhx@UvdYex)y$R>9udZd zi-uTqm%)7XA+#ccR{gjfeZupY4G18HQMFaEF-19tfWgTkL{l+q0IP-^Q?QbDE(edc*UOsk=-NLNq5SLKz@j-Y3aW9u z4gZ{a|ANR`T~E8zHa-{ZO}BE+r(N1E&szcX+CCA0v%WO|J^vcz-SJQhI9YWP&9SGd z{wpq_^|Uqf&MV1^!So>@8L)ucIfCD^)T?u<>c19&dNi45jx8I%Zx*&TUbnheG2D7e zmj)Zl&3av4NoccCJFWfvfsmbTXp2$zDINv(HNjKf?oP#NIO@=?0fiY|Bd#=uL}+}b7GBc7UygVog772&M4XeD~KHDHo!Pq83=rjX7>jU=l6uZH@<`+ z2n0W*tzlL~;z9+2?Mz>uNb|esEk$7;F!Idz9{#Ywm#=Un_L8Bu z-!G$L+V8fM1uT1{S|CN%z!J;X`6p)cwI6_E1=M}Nz?1*D`KO6NB(Chm9hz!A+rI37 z`|Xw5ja+cOS$L@-wn5>$SkfhUcwa~DG64Z9lUzv2gGySOa>E5!LPVfG@woB@m{%$c zjEnl9xe?NC6%?icj$=@jRPe*B%@61&3P}%+pqh(FQ^NN-e@2j@JkbE`HSBu+wBY~i zQXXg(&p{i-uennVSx&3g<0;oJzd;Jjo>cRKY$RfkjRdY^+^4+1iWU?>4Sx;f2xRg2 zWUtxgnv~E0d2s)3q3Tt2*cFA{TsaZQ4HHPIGo)J)#=jj?LL<#_y)Z%DYT&lE7&MA6;INzHlF_sP6H`fdp%+4-1#Lg|To3)B;; zpPOWPIW8yG-_&tTV$i5nqV#4t;8IqYMqHFn!CdL&XI&S&(GoI#Gtg8ck?}aoii+M{ zgAlQ8aFt|iwR8-2BF5_wR)eIGrrxX*BwOM;#Q%eq`7dgXl^0eB zpBUsDd@SmxuW|m6BGGM&WB6iut~EV3Of|xP7>*2@A;u#-3Gup`))b(Y=5Y>mP#_uK zDKMY;Ml?9W;fvK{(1x4XAHM?2SjZNJkHdYvm^G^m-EE&SCebTBpwKxJ5R{wd#Anxr zy;0AftHINmlwTz5HUps`(s==U^2!!^)+7t3=oF#y3<$35buZ7glX1knBDRz7 zQM$g^_jpW5Db_jwid;#)X;G&_4BWkKuPIS3TDVuvruUBsum7TuYMPIzEJ-^NvBAlf ztaPKiQ0DJkk>uf^jMOaKMuq|set}~;w6(&2k2&Se&;P@;*datI4!n@xP|qN1acFXq z$$y^#%td`W4z%LY-FG3aIE@tjaWgGzdV)x`(9@gapR#*8uC70fy2o>3xWyzbmO0#a z_c9T;*7ijbgJnQc279ET5S7g|AL`q=sqQY0Fhx+)*{;-5uwAp}UF7Iw_+o}L#%=Cx zL&CN+V_7gROfq(Y5C6%f#)=1akaOl0J}P%POABPEL`Y8>rW>C1PQl|@+HN~9o!gvg z9OH?SM%mb7yTKmgnFK0X`e<7a$+t;b4$C`=Ci4}M$CgLt|;yCIv5-`?nux>+JSln0j#VG#87jna&b1p^*q{KX zFQQz>Rx>3gIb2fiCKM~IFK|9#4^2{jb|f3}zegB%9YcqZGN z|9$9cz|`?U7<@No5Rhd2;6TwH(n|lgleCK`gcV@m!Y4b$cm?yE&5ziH@Q>YE{y_3 z3x2-TD%UIVc4ScRj||w}g&H6^UDS1T`5B?>z$ik)c{ieQoSByL;L-=~&=*=-k&HEB zZW=e4RjAnu;Y^7^Gfp$oB9g0{S+Xg6$u-qHY=_wQUome7IinFl1?bQ&d0sM({0XMA zf!4JeyPf>jCV2lhcTdTedeeK*wN?Qj4*zr8^#AJoh`e?$X7*9@+(*ctMrGG3Jo`U# zD5mfaPAHr_qOWD8fi2}M=th2O;zb5d+9f?cVXw`4x6KuCoq8_t_iCx9s++`=8TX09 z-n9&=6{5WGVMmy<28Q&EDe)+N(?lV@Ui&WTGxz`m0h8oGvH_Ou=_Pk_O ziPSlM_s*HfdgizJXU-oH)pZ-3DG~mZDQ)g>zf0XYl~_p)iFLu=*h>ykw_zLT=qozf zT-OP;@stc6FL%UesA|mnbR`sAC>LmuCV<=gElC6NVm{CrL+PhA2gdp=~Sse=?#7>530%b)9G9+so>}2x90{hZcA_ zu8>&t1p2wh8kOq)`#d6rPQq7qqBVNr?xUJKr_~$dQN@jd>cDeiFdC$-3qu(9qFs?m z+`CePU-c3EOci=Dk1$JZMmObAw<#96ahnzGq8u;f5oIhJx3X{v5ndZ$Z>so-WOqbPYVxS;GY<{^BE9U& zYVZ^D%b-K`a)Bvi3IEJhrbj~NN;;GC8CX^|4H%}QvuYbn=K4+D1U7^f;ODGf?LIHi zulz_mpY6)6Hxa_DJtiV7j{Z+OB%lvu2l_xp#z;y{|NR5`^X~`J*SwxmqMrU-=J_|_ zG{YaK!f7z4l^32~A8+fzbs421D%L`Z(o?=#as)+cW3()&+@VVI3bY6UkYOudr-I%} zi1?kT`gSI(kAItrYvqH;-J1fYT4>4wI7t0tWHiAYE5Qp{ zI@bm}m0JJ%$FfX!P9Rbsk+NuW(uTEN;`b5C8V-v^L;ZB+od4`);%L_W@g1sUE?XNA)|!}tKm{f9Bm z!3CyoGcpaBvZV~Ih@!5d0`gU)|3O(stfI^Hb;qoFlSDXyI_S8-6?XKcwZi*e{4!yk zU!srx!zF=!pt3NNEPrccki^*vX-P*tm}uIoAt_wVfxJC5iRp>{HmOJW3b>Mae?ekW zUI>&(Vy!l>Z}ic+OJ-Og?4KJfB$Bc8?NHaV71Y0BUspi04}az89;d{ z5Ug?w$g`xp4g8X87l$9cf7CcU|86~Dg8~gkXVrREq_;0!r39eOX?_F)hMgHCRLp}I z_)RZ!4!^w{qlftDTVNtp?(Tx~YeVM(7f4~zU?@QmT8lt3M{EtSE=X?HO0yp9Hc%dvZXKe zFLgF*!QyA0^;Ry$mMI{iz3@>3yv6P3rL11O{HSLS1qtH5YKTi&apZPrbLLiuU8(qR zo(M#5)X&f`Hy5&F$R*jUE!^wV;d1VM;*;0*5|K(5(S0%C)r+QK~CXV!pOAa@_+dDvJ1w>tY63tdCa5dZ|{74G<7c-UartfaK3 zdsru**db@v3ili#6D)oC6C=wL4Qo%m5>JR8fkHd>Ny{u-{a}u^3vYEznv>5 zdQ$EC4{id>k2{0i{nj>1H_Y;2DlONqJ8_)|cIRYLTe4G~9L$oYo)20x>moD3bbz-A zH9SIi&}0PXMbNF~n>+zlr9swk`MoV*Nb1OwrDdbNk}&Yl@l^A8%(Paq`_;F4Nf96o zAh?Xf(=3yfdGSZ&6~97}Te*U#low;n!0}LbEnRcf*^XG^DRJe06HK>9KO8IheQyK~klf`(TEfch}6S{H%S+ zswNn`?`m!V{pwd`pc@qR>39ud5NBGjZ4OXB6C>Cq&9VTVL9iD9%2)8L{1h*;gaol$ zv6T>3wxHeV_EG0ws?ipB7m9g*0g-kL}7QHFFhgl7lith!+(aAbU-YqAV{&l6wPjCi5~)q2=~!X%=Qk({#t`*LS!!IU&vCl zKU3n33tB{ryByW8zbnd*x54=JncP1D!|U+43MQfgoG@SB4`1 zWX^`9{{5+v2=oYznJ=s@QK4uEutoELeUiyjCbg4zjF$V>ArN%RTINmJZG(@bkj z9(8dRftooFk|i_l0P*=J%8rWM%&dnW@q+yw@H2XQK|{+_lYKuM1jQJa3vII~+S2~U zKu3L~8vAEy0buAm|J~H>laN(*xBGlGQZ8yA0j+eOTf|!JtXh#jM0SUd0O7mIA@GwG zBJ&>n3`im~9=z=w@@%;St9hAxVoW*}1bf|Ih6d+GlO)CZI3i1i+?>wzg3Vw5tq`Wb zPyOrlb_&`dtc1CISdH&##=h*Cw6$3WIZE+nSh@<|K|%u*v?=*%9=TB;w*oGi6l z{&3lTy_9I5l(?9LUOk$uvGjw4kj}Ta7hFJIT=U8c^(mnBr+)6#+f>_|id!I~ddu^e zSVLFRfEy-*u@sDP??PDdnpaj{Nj6Wd8+}wCQF-r!6Jo*9r^v6}@$%DoGZ6apm?Lpz z*r$FYIc^*0P0Q>1pc$T>+!l|XyTe;E)LvsVI*Bo4Gz?8~gqFp9>a;w)9E8rm8JUA4 zYtGG)g4APY_v`wN+6?7A){>IO)K>flYA7DVGqp+$(=~bT&wjNbxq%~P%#n;37&lk_ zxia?q>Dgq-G12xN?!mME;Ey^N?kt04yH!(?<5RWi{L+pm-+x!MudLYqkaj-dZOpiz z+$-FB%gUtMCV=5_ZpV*sweT2n^0J4!yT|Br$LR6zD~7=tPYWWEbAWy)otLuTn?pfn9FS4=x8y~L7t2fUw`THaISD~#~cy>J-{!)Ryt z1MKJ5wXF43ETnqn(2eTqs~KYnbKNYoFiJ(Y@jyIlGHXz|@Ts-w#ieAhm5#NjR_K(abr=?2PwdeCt#jxtP^U{JNGXUokI=+v_&b z{X1S#aL+syQsaV^(4+_xEd@f?y{j~vPC#RGpfRttU9=?>`dMuif5H%S()XgSH7LaL zixz*?lb+C};V`fEQ?+=Mq$Po2b_Ri#TX*=ctkxx#JQnBihS`oI|~D(m;I^Dh8$n3=^DdGE(#|}EE!6Lb~RwJrQq_fMZuCVG3osl zn(&JJ)V8Wo7Ju?o^Aj8IzGu_9aWpH~t$YDxUvK5^a&*p1SD$sNz__Dy^6?X~v6 zfUF1OIQ@X%-7tOQvOQ}{V9ChoUxyaB_d$H4Q-vgLEXz{3Fv?9+6jM0Nm@jq^iCnDK zsY#*+z}{pid@A+>%ExwOjiX14?Z#}UO^X*OTC(;B%ex2%cgj>!JXHXoA%z^#?dXrm ztT|Ldz4c)DgIoIJxE>$aWzWX?$?`F-oz zt?v3%kC}v4Wvx9nL&Zir(wl`{%l8j%8eEw53zFG}1hy0c+e#Mus%Sc-rEutf(h1HW zMQm_^zN7}b>Ct6zwTASwdr?s9UV8yhL?QyuQRY}YSM>&qdwA6}=vgki8<)L%rp=|Y z!5R7nu`3k;2Sy72O$F~5d)~>OBIeLRqFe)fE{lolAjXk<6C3vR@XOG8S}I~v3rT6G zZoe;VY*uGn_G<`_d(3$D%qiUlzsEO(F89U%bKHNC=7S+hU`fQmMy6p;tbJwhG4jgX zjq(nC4CDhPcP7j^R>qaV{}R|=&?8BvmJ5m%k?l4SXx07482}$KoG=vEYW~-n;s~UV z(OlCbiY|rEnj4Z1vpg=CNrD~y=I6vv2swYb{>982(3VIowI|(x=m|o{o0#!cimieV zn2+QJg&w=5#ljFh}*L^{Gk!;NFXC)QQgGD!rfA!BIO6 zA`l!LKfl8N0g<7VLnc-e_!}eHE^l5bk8Vzo1Qc@bh3HQhtGwFZGfQ-bo)17e z778drpWGbH-4Q^o;as*;zgyn>?H#**^tJF+dWYJMWetV3ghSzamWKK7SBVz9m3~Z4 zzQ{m#!?g#P>lpR|8Cn22DuQmaJOGJo7N zIgQf@QRVEkRUW0`+Oo{xFDfdxJV%_uKs4{k~M(e9>)fPnwn>+i~3!*yGiPipw9kpaQ%kk|`c_oacHo9t} zIHeCwR~iN;;qN({k_K=KJ1b6#FFWE_*tWGzPO1I-qAPFf7oi6fJLEt*sU!VJ_@WTl zNGc2+c`rRgMqqkZKC8QXl_p~kha{0fm|zpwfRdkT%2oiQ{*joBn<1~q)$@gU_|xZu zHO4<`)moQ;W%3dEbHg&VUKd#O}pBlftGhVtxxu>g!$E#8sxb?0>mA0mK1ooo7Dz)JZ1NP5(4&`PDA^qiN`Tu5RQ_SPtoj+0qsgtV3x*zvM z%QWkW4>VssuD)>QR>E60R>iS@wr!<%4fwjx0Hd;`mE5zrZvMCM_y-voIP=U2%G17P`V&#Z&j5Z9ql8||tmtk-=CbV-Q zP3v`KRieRsctkV9GpJ1e+N;Gv|Mv2pnONSV@&GL+Qsqp;I)8WEs+yNDI0~T@S z1Lo-1u*@Gv({B2w53q?vqaX@rPrn>A@O>g95ff^N?6Yj>-b94;_>@N#*bz&V{kpMH zM>?_%dzM-JlQoaw67wf>W$W*wp3HbYyN&8wiYZ^)5F9MkE%UQ9$9Zu(NvA&)q6a>q zXEzQ(4$A}nO7GA7vBb4xSu7_u%jEY$W+%Wytm$icVU@TQl+N=3&5U{9E8PZU zlK8(;c-$0W(;jWel|+Rg($+n}&YP`Hd--c>C*9s|M9&yhK@GeAzX}(nodf%m*bDX2 zibo8Zr+8&`YD45tvz%F%uJ-%VP>joLOfEQhCcqKJC#L>I06-|lC5NNYurr1V~wjmO^)e(p|Sul;;B zLKCj_=Zx?OYn9NZiG3*+CO`DUF-@yWa8MV9eifZW%!2Ifp8Ktj8kyknn4u4;RWsjG zz9ymtb&|vn3F;gN#RIflluf~zN&}cY;aXRoCbC5FmGNw%~;ST_kHf2^6}hz)mKYnY%?rBTXdNNIQvtHZ%8MyUi?u z)E&>p18yi%hGGD_ZrbsBuE`Q=+@(F)ytv`04#O?X{}@x$yA6_JW zxA+MUDNCJjCjLQla~vqR@n3=d)Z%l2wN^fGIAn?3^9nfo&_gM}RL1eoAn(JrC8s@} zH4q_Oti6j0`v{2%A6-ZO?K%L`3af>xVmC-A3ox1s^pYW05l?s23JUpJC+Vn1Q-e65bR-x8=ENCZ+D@k=`9b9GB z&dNZE?#uX1k<;GtNB$l!Y^HQD$){%9lc#2AdigWC^yKe1W5wLGRkn?>te@Ff9J$Bz zL4E6BXgs!%iPMt6zN|l^&c>e9O3#!O;3sW@ zIgR4S-ry$_itxp1;^zlvE;4`fEtC0fpFQl?a{T=hc~E^X3{EE)rWr@BV zVcwKfvsKy<5LC3qmXX+Qi4e6HcEGsu<)^ztGn&wJ=dmjXUcDacZd7Y767*6t931$7 zLf*bF}WwV=MRz35LwcYG}EIWR@gU=l`9$nlR9ipj`i~zf1o}m8=62c5# zt0vXlzHea?GU(PC~zLfGkK44Jx=I5 zy@a^;wJYP9ByjIoupKwQ5c1{uy{ic@{?NcI_qZAR>DQoPtmfw`y?tCk!<>EsnjP^B zteJ0X5}*m-!d>>&2_2ZY!Fo~PB+RSVm>sFZ+|v4Ie4I#+lui7e^f7Nmiz|ht6RB%v zZX32wd!f@heDRbaRVJ>gEt2b9d+={S)al!bwK|fElH~esU~MW%PS>h|H&gM9^od-7 zfM?=YhhmswHXHkHEFi&2iJW?DyVms?9-3(cZDP`Ui4cR3(LZVb%UOewQE# zumJ|Ic2_trd>>sks!i5AYkRhx-Kr|v3&@ZMn#jhE%-%!vf4@JcYbKv!*%m*jOui;C zDbtJzd*%jotG(jS9}iPw(r|w@GK0YQ`VR1M0b)Xgc8AzV7gng$jS#U`J<%b^;zxyX zRP+B`O&OQ@IUCx^PC7t}W1G|1$^A8+6 zc}oJ^pedxT_M^M^-cJC~)0g?rZ-ON0Bi@m#2IV5Oex1~MAVs4ykw9|0KVc+Pn0~xl zs&FWR0Y@Sqo`1v*|ELfY@gqazlHcF;>acUo*BwJ&=}anC>v5XxKG~_B9c!72!X5bo zsr>IDT1&#hY|S(H#;&IOI%a}9q*I(kfQG;#{8uYx)mHo@Clk?+zDQyJwt!if?7Siy z?$MCu<0+qI#YfyEsrul1UKb}4Sj_gK(9?EYI16$OZbd$#B(QKuU#R2SEtR}lAEQg3 z>7c`{cSQ(=6FlX{Y-&b6c(HK8DT%|W(Sr+^MWvW+EvvsvuDRHi}P^q02C${8nH;C`u%C*soCpED_2B#bxG!aRA*^h zYnbGi{$B}_Y1ocM)=rXq2BtrAGO!sh*9uCmACl~|W9=(vJCNVhUw_i8@oUo|!F>Sl zCVl9QF_M zRQ%IY=tV4<^U0#|Ph*@FvwEPVs>0;n)t`7r?%9iEAr$_n_*het z$;P03N1oEagDSO?>ofVbi^EDBe~(h4i&^Fn8QmfTW_6+>9}3ZGmSdz5gIpJ%-=FbvGOG`2RSXr zh_o1*^F=#2yE>7Xdy<$xOmbC1-BDJigWsZE&zNmaaanegpUx+!sKS@(^ptm&5?$g4m* z?6;fNcr`Xqzx_M_)j9oUQ^JCksd+C8rzp!AjW-Idi9+m8Cr|MztOd}EGpM8Hb%rJ~ zIdCr{I2MPRr-|c$5ulcn2a;Lun)8i{Sw3FP6)9=d5#HGbM|)Kq$$ zRz$pPwdIow>-!=i`~rb;Hz~q<$%hwnX7Z76kGE>Exv^Jp5$Hg;VE#PJZNR=s)B3kz5m0a`c{7$ZF@T z;RW5ZDD^v3ppL&i)+OsL;a3CzWk;^M0;XlLTj~+!YpH=t@jN&;+8i9@Vz2b=jXy4h z^Cbv^DPqZesg-0g<`ePv>^@|FyfcfECm4O!cbSxFL-zzOzQ+!d+|-#>fa7k#1(UjZ z@M&*Oj5m@N|J@uo%j`qx{4Pj;hldFN&46-gw**Bp3N3h!({Y^2h!NDOoj>tAzX$$y zg}EN5%;Gg!^>M4}4e$iyvv%P?^7v#xIO(m1>SIwV2Ogko*}VsCVW9L0xq zkHiwHIR4W|tHy)vPtPz%$>$9RU4np)$tiwRbM%18-dsNh;dsFD-LcYxXNF!RX@$s6 zo4AoR8c5(%)_cFyp)hBnbC_??49>`C;gv(Z^;4BI@GBj{``)=5idHQy#yYVqk>*J< z9x`1>d4g(h;#g$+k;{@VW_Wo=Uu8_aQ;v_D!Mz}6jCSpH8(HyXMI!0bSLnncjjhL5 zmUS$ssJ&Fd%=o#kCzpXd#d02(l(@>UFBhjQ(cD`3Zb>!pI5$j@rb9 z-iAsQD>8Nk=e>pLT&O

UH9%mog(5`5B|R+&G=+1qds{|#uH0A<>A~& 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%0AiVG{J?Zpu}Y5(yR;H&tSs43*; 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

`g=$9d|sIV!;7Hk-Ldcc=;&1 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

@8%a_d7`Y@$7NGJX3v1N6o&? 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]yU0Il0OMJF`ATR0(6V{M-2} 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%0D;fjrUMhPMJ|qwb{@~LnmM&7i+p3TL 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

PoEBe3N1uXq2tZN8?w)) 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 diff --git a/resources/static/esp-exception-decoder.gif b/resources/static/esp-exception-decoder.gif new file mode 100644 index 0000000000000000000000000000000000000000..318225655ac5de375462eb3d8de85e6c05acf0c4 GIT binary patch literal 730015 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�b?q}z1yY} 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�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