@unotest/web 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/write-e2e-test/SKILL.md +17 -2
- package/.claude/skills/write-e2e-test-ground/SKILL.md +17 -2
- package/CHANGELOG.md +106 -66
- package/dist/config/schema.d.ts +21 -21
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.d.ts +2 -2
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.d.ts +2 -2
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/inspection/page-inject.d.ts +1 -1
- package/dist/inspection/page-inject.js +5 -0
- package/dist/{interfaces-BaVF0jV-.d.ts → interfaces-elRn0llQ.d.ts} +18 -1
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/guides/dsl-reference.md +109 -1
- package/package.json +7 -7
- package/src/mcp/prompts/agent-test-author.md +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x583bb3=_0x18a0;(function(_0x4760ac,_0x236c58){const _0x2c46e0={_0x189164:0x12e,_0x27429c:0x11b,_0x43d19d:0x129,_0x2fd112:0x12b,_0x1bba32:0x140,_0x5a7850:0x114,_0x1e0e87:0x12c,_0x3fa8a3:0x126,_0x53ea0f:0x12f},_0x56a8f9=_0x18a0,_0x313564=_0x4760ac();while(!![]){try{const _0x1869b0=-parseInt(_0x56a8f9(0x135))/0x1+-parseInt(_0x56a8f9(0x11f))/0x2*(parseInt(_0x56a8f9(_0x2c46e0._0x189164))/0x3)+parseInt(_0x56a8f9(_0x2c46e0._0x27429c))/0x4*(parseInt(_0x56a8f9(_0x2c46e0._0x43d19d))/0x5)+parseInt(_0x56a8f9(_0x2c46e0._0x2fd112))/0x6*(-parseInt(_0x56a8f9(_0x2c46e0._0x1bba32))/0x7)+-parseInt(_0x56a8f9(_0x2c46e0._0x5a7850))/0x8*(parseInt(_0x56a8f9(_0x2c46e0._0x1e0e87))/0x9)+parseInt(_0x56a8f9(_0x2c46e0._0x3fa8a3))/0xa*(-parseInt(_0x56a8f9(0x136))/0xb)+parseInt(_0x56a8f9(_0x2c46e0._0x53ea0f))/0xc;if(_0x1869b0===_0x236c58)break;else _0x313564['push'](_0x313564['shift']());}catch(_0x16bdb5){_0x313564['push'](_0x313564['shift']());}}}(_0x53d5,0xa7b16));var __defProp=Object[_0x583bb3(0x139)],__name=(_0x3b9580,_0x4381c2)=>__defProp(_0x3b9580,_0x583bb3(0x12a),{'value':_0x4381c2,'configurable':!![]});import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){for(const _0x3ea7d7 of[probeChrome,probeEdge,probeChromeBeta]){const _0x18dff3=_0x3ea7d7();if(_0x18dff3['channel']!==null)return _0x18dff3;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function probeChrome(){const _0x31b0ea={_0x15dcb1:0x137},_0x29bc13=_0x583bb3,_0x5afaf0=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x5afaf0)return{'channel':_0x29bc13(0x119),'path':_0x5afaf0,'label':_0x29bc13(_0x31b0ea._0x15dcb1)};return{'channel':null};}__name(probeChrome,_0x583bb3(0x116));function probeEdge(){const _0x5513ba={_0x5ef297:0x112},_0x59d7cf=_0x583bb3,_0x2a7ed4=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x2a7ed4)return{'channel':_0x59d7cf(_0x5513ba._0x5ef297),'path':_0x2a7ed4,'label':_0x59d7cf(0x143)};return{'channel':null};}function _0x18a0(_0x63d81a,_0x542eff){_0x63d81a=_0x63d81a-0x112;const _0x53d576=_0x53d5();let _0x18a095=_0x53d576[_0x63d81a];if(_0x18a0['KDCLDt']===undefined){var _0x3483a3=function(_0x1f7c44){const _0x346606='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b9580='',_0x4381c2='';for(let _0x3ea7d7=0x0,_0x18dff3,_0x5afaf0,_0x2a7ed4=0x0;_0x5afaf0=_0x1f7c44['charAt'](_0x2a7ed4++);~_0x5afaf0&&(_0x18dff3=_0x3ea7d7%0x4?_0x18dff3*0x40+_0x5afaf0:_0x5afaf0,_0x3ea7d7++%0x4)?_0x3b9580+=String['fromCharCode'](0xff&_0x18dff3>>(-0x2*_0x3ea7d7&0x6)):0x0){_0x5afaf0=_0x346606['indexOf'](_0x5afaf0);}for(let _0xf02f1e=0x0,_0x227653=_0x3b9580['length'];_0xf02f1e<_0x227653;_0xf02f1e++){_0x4381c2+='%'+('00'+_0x3b9580['charCodeAt'](_0xf02f1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4381c2);};_0x18a0['CwlHqX']=_0x3483a3,_0x18a0['wSVnvM']={},_0x18a0['KDCLDt']=!![];}const _0x30c885=_0x53d576[0x0],_0x43b54e=_0x63d81a+_0x30c885,_0x33cdc2=_0x18a0['wSVnvM'][_0x43b54e];return!_0x33cdc2?(_0x18a095=_0x18a0['CwlHqX'](_0x18a095),_0x18a0['wSVnvM'][_0x43b54e]=_0x18a095):_0x18a095=_0x33cdc2,_0x18a095;}__name(probeEdge,_0x583bb3(0x13e));function probeChromeBeta(){const _0x238df7=_0x583bb3,_0xf02f1e=firstExistingPath(CHROME_BETA_PATHS);if(_0xf02f1e)return{'channel':_0x238df7(0x11d),'path':_0xf02f1e,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,_0x583bb3(0x133));var CHROME_PATHS=((()=>{const _0x1c88a3={_0x526914:0x13b,_0x5d4f88:0x141,_0x3ea763:0x13a,_0x214561:0x130,_0x29a3e0:0x11a,_0x554c0c:0x118},_0x5b6ae2=_0x583bb3;switch(process[_0x5b6ae2(_0x1c88a3._0x526914)]){case _0x5b6ae2(0x123):return[_0x5b6ae2(_0x1c88a3._0x5d4f88)];case _0x5b6ae2(_0x1c88a3._0x3ea763):return[process[_0x5b6ae2(_0x1c88a3._0x214561)][_0x5b6ae2(0x11e)]+_0x5b6ae2(_0x1c88a3._0x29a3e0),process['env'][_0x5b6ae2(0x13c)]+_0x5b6ae2(0x11a),process['env'][_0x5b6ae2(_0x1c88a3._0x554c0c)]+_0x5b6ae2(0x11a)];default:return[_0x5b6ae2(0x117),'/usr/bin/google-chrome-stable','/snap/bin/google-chrome',_0x5b6ae2(0x132),_0x5b6ae2(0x13d)];}})()),CHROME_BIN_NAMES=[_0x583bb3(0x131),_0x583bb3(0x142),'chromium','chromium-browser'],EDGE_PATHS=((()=>{const _0x149c4e={_0x270924:0x13b,_0x49d0b5:0x13a,_0x36c415:0x130,_0x217d7a:0x13c,_0x4f368d:0x115},_0x201827=_0x583bb3;switch(process[_0x201827(_0x149c4e._0x270924)]){case _0x201827(0x123):return[_0x201827(0x127)];case _0x201827(_0x149c4e._0x49d0b5):return[process[_0x201827(_0x149c4e._0x36c415)][_0x201827(0x11e)]+_0x201827(0x138),process[_0x201827(0x130)][_0x201827(_0x149c4e._0x217d7a)]+_0x201827(0x138)];default:return[_0x201827(0x124),_0x201827(_0x149c4e._0x4f368d)];}})()),EDGE_BIN_NAMES=[_0x583bb3(0x13f),_0x583bb3(0x11c)],CHROME_BETA_PATHS=((()=>{const _0x414a53={_0x4cb743:0x130,_0x55ea01:0x12d},_0x45d20c=_0x583bb3;switch(process['platform']){case _0x45d20c(0x123):return['/Applications/Google\x20Chrome\x20Beta.app/Contents/MacOS/Google\x20Chrome\x20Beta'];case'win32':return[process[_0x45d20c(_0x414a53._0x4cb743)][_0x45d20c(0x11e)]+_0x45d20c(_0x414a53._0x55ea01)];default:return['/usr/bin/google-chrome-beta'];}})());function firstExistingPath(_0x227653){const _0x3e191f=_0x583bb3;for(const _0x3a795b of _0x227653){if(!_0x3a795b||_0x3a795b[_0x3e191f(0x120)](_0x3e191f(0x134)))continue;if(existsSync(_0x3a795b))return _0x3a795b;}return null;}__name(firstExistingPath,_0x583bb3(0x128));function whichOf(_0x1da35c){const _0xaf1d83={_0x3c9f8b:0x13a,_0x14a07d:0x122,_0x4edd74:0x125,_0x1c9424:0x121},_0xc6915f=_0x583bb3;if(process['platform']===_0xc6915f(_0xaf1d83._0x3c9f8b))return void 0x0;for(const _0x30292f of _0x1da35c){try{const _0x3c495b=execFileSync(_0xc6915f(_0xaf1d83._0x14a07d),[_0x30292f],{'encoding':_0xc6915f(_0xaf1d83._0x4edd74)})[_0xc6915f(0x113)]();if(_0x3c495b[_0xc6915f(_0xaf1d83._0x1c9424)]>0x0&&existsSync(_0x3c495b))return _0x3c495b;}catch{}}return void 0x0;}__name(whichOf,'whichOf');function _0x53d5(){const _0x2220c1=['zw52','z29Vz2XLlwnOCM9Tzq','l3vZCI9IAw4Vy2HYB21PDw0','ChjVyMvdAhjVBwvczxrH','Dw5KzwzPBMvK','mtmXotaYm3HTufrRAa','nJe2nZmZn1PkDfbvCG','r29Vz2XLienOCM9Tzq','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','zgvMAw5LuhjVCgvYDhK','D2LUmZi','CgXHDgzVCM0','uhjVz3jHBuzPBgvZkhG4nIK','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','ChjVyMvfzgDL','BwLJCM9ZB2z0lwvKz2u','mJaWntiXm2ffzKjcsW','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','twLJCM9ZB2z0ievKz2u','BxnLzgDL','DhjPBq','mtm2nJCYwKPpD3r5','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','ChjVyMvdAhjVBwu','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','te9dquXbufbeqvrb','y2HYB21L','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','nhjzzwL5rq','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','y2HYB21LlwjLDge','uhjVz3jHBuzPBgvZ','mJu0zNbiyNPS','C3rHCNrZv2L0Aa','BgvUz3rO','D2HPy2G','zgfYD2LU','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','DxrMoa','mtbhzxrJy0S','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','zMLYC3rfEgLZDgLUz1bHDgG','nda0mtu4mgzsDKXsAW','BMfTzq','mtHYrvrOEeO','mJDfAMPvBMi','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','mJeYmZDnD0ziCu8','ndi4mtq4nZjiD1jhAuW'];_0x53d5=function(){return _0x2220c1;};return _0x53d5();}export{probeSystemBrowser};
|
package/dist/runner/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x10d5b4=_0x1d2a;(function(_0x4f2bd6,_0x28230d){const _0x4c4101={_0x117940:0x16d,_0x2ec95a:0x15a,_0x48e68b:0xe7,_0x6d2964:0xd2,_0x359a59:0x175,_0x5adf33:0xd1,_0xb85e06:0x18e,_0x29d05e:0x1af,_0x126346:0x100},_0x415345=_0x1d2a,_0x14a01a=_0x4f2bd6();while(!![]){try{const _0xef6a2=-parseInt(_0x415345(_0x4c4101._0x117940))/0x1+-parseInt(_0x415345(_0x4c4101._0x2ec95a))/0x2*(parseInt(_0x415345(_0x4c4101._0x48e68b))/0x3)+parseInt(_0x415345(_0x4c4101._0x6d2964))/0x4+parseInt(_0x415345(_0x4c4101._0x359a59))/0x5*(parseInt(_0x415345(_0x4c4101._0x5adf33))/0x6)+-parseInt(_0x415345(_0x4c4101._0xb85e06))/0x7+parseInt(_0x415345(0x13a))/0x8*(-parseInt(_0x415345(_0x4c4101._0x29d05e))/0x9)+parseInt(_0x415345(_0x4c4101._0x126346))/0xa;if(_0xef6a2===_0x28230d)break;else _0x14a01a['push'](_0x14a01a['shift']());}catch(_0x29d2c6){_0x14a01a['push'](_0x14a01a['shift']());}}}(_0x5178,0x2b5e9));var __defProp=Object[_0x10d5b4(0x1a4)],__name=(_0x58bf82,_0x135fa3)=>__defProp(_0x58bf82,_0x10d5b4(0x15e),{'value':_0x135fa3,'configurable':!![]});import{copyFileSync,existsSync as _0x2e3816,mkdirSync,readFileSync,writeFileSync}from'fs';import{dirname as _0x14aae4,join,resolve as _0x479db5}from'path';import{fileURLToPath as _0x540041}from'url';import{existsSync as _0x4eca1f}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function _0x5178(){const _0x4ff89f=['Aw5JBhvKzxm','ChjVyMvfzgDL','BwvZC2fNzq','u3rVCa','B3zLCNDYB3rLihvUB3rLC3qTD2vIigvUDhj5','Dw5VDgvZDc9LmMuVx2HLBhbLCNmVlMDPDgTLzxa','cKzPBgvZoGO','lIbgAxGGB3iGCMvTB3zLihrOzsbMAwXLigfUzcbYzs1YDw4GAw5PDc4','ug9ZDfrVB2XvC2u','l3vZCI9IAw4Vy2HYB21PDw0','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','BMv3q29UDgvUDa','CgfYC2vbCMDZ','DMvYC2LVBG','igrVzxmGBM90igv4Axn0','ywn0Aw9U','Aw5ZDgfSBa','y2HYB21PDw0TyNjVD3nLCG','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','zgf0yq','C29Tzq','lI4VlI4VCgfJA2fNzs5QC29U','yMLU','C3rKB3v0','y2HHBM5LBa','ChjVyMu','zM9Yy2uTB3zLCNDYB3rL','Dw5VDgvZDc5JB25MAwCUBwPZ','B25fBMq','yNvUzgXLza','nMn3u2rNsa','otK2mty0r0nOAKv3','C3rHDhvZ','Ag9VA3m','zw5ZDxjLrgLY','zw5KC1DPDgG','ywXYzwfKEvbYzxnLBNq','ls1MB3jJzq','lMnSyxvKzs9Zzxr0Aw5NCY5QC29U','ywDLBNrZtwq','u2vZC2LVBLn0yxj0','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qTz3jVDw5Kl1nlsuXmlM1K','DxrMoa','ywrKzwqGywXSB3CGzw50CMLLCZOG','cKnSyxvKzsbdB2rLihbLCM1PC3nPB25ZoGO','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','ywXSB3CGywXYzwfKEsbWCMvZzw50','sw5ZDhj1y3rPB25Ztg9HzgvK','C2TPBgWGkgDYB3vUzcK','C3rKzxjY','y3jLyxrLzcaUBwnWlMPZB24','BNb4','mtHwALLmvKe','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','cKzPEcb0AguGzxjYB3jZigfIB3zLigfUzcbYzs1YDw4UcG','4PYxic0TyNjVD3nLCIbZExn0zw0GyNv0ig5VienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbMB3vUzcbVBIb0AgLZig1Hy2HPBMuU','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','AxnbCNjHEq','ChjVyMvdAhjVBwvczxrH','BwnWu2vYDMvYCW','zxjYB3i','Dg9mB3DLCKnHC2u','icdINjCG','Dw5VDgvZDc8Uzw52','uhjLq29TCgfJDa','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','y3jLyxrLzcaUy2XHDwrLl3nLDhrPBMDZlMPZB24GkgfSBg93oIbTy3bFx3vUB3rLC3qTD2vIkq','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','uhjVz3jHBuzPBgvZkhG4nIK','B3zLCNDYB3rL','twLJCM9ZB2z0ievKz2u','Bg9NlwfNzw50lNnO','C3rKAw4','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qVu0TjteWUBwq','AxngAw5PDgu','Cgf0Aa','cKjYB3DZzxi6cG','mtG0mtm2mfnVwwLpqG','z29Vz2XLlwnOCM9Tzq','zgv0ywLS','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','icaGigLUC3rHBgWGq2HYB21LoIaGAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','yNjVD3nLCK92zxjYAwrL','C3rHCNrZv2L0Aa','C3rYAw5N','Aw5PDdOG','BgfIzwW','zxHHBxbSzxm','D2fYBMLUz3m','C2TPChbLza','icaGig5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BsaGicaGicHKB3DUBg9HzhmGyNvUzgXLzcbJAhjVBwL1BsK','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','CgvYBwLZC2LVBNm','CNvUrw52AxjVBM1LBNrdAgvJA3m','q2XHDwrLu2v0DgLUz3nqyxjZzuvYCM9Y','icbvC2uGAw5ZDgfSBgvKia','igzVDw5Kigf0ia','y2HLy2TxCML0ywjSzun3za','DhjPBq','zxHPDenVzgu','twnWsNnVBLbHCNnLrxjYB3i','uhjVz3jHBuzPBgvZ','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWO','4PQGig5VBI1PBNrLCMfJDgL2zsbZAgvSBcbHBMqGBM8GC3LZDgvTigjYB3DZzxiGzM91BMqU','zw52','Dw5Yzwy','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','BM9Uzq','BwvYz2vdBgf1zgvnza','Dw5VDgvZDc9LmMuVzxHHBxbSzxmV','4PYtihvWzgf0zwq','zM9Yy2u','zMLYC3rfEgLZDgLUz1bHDgG','BwvYz2vdBgf1zgviB29RCW','ihnVDxjJzsbTAxnZAw5NiokaLcbWywnRywDLigLUC3rHBgWGyNvNpW','CgLWzq','Aw5OzxjPDa','zgfYD2LU','r29Vz2XLienOCM9TzsbczxrH','DgHLBG','C2TPBgW','icbVCIbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LlG','yxbWzw5Kzwq','icbjBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4GAw5PDc4','Dw5VDgvZDc8UC2vJCMv0CYO','D2HPy2G','ifT5l05Dia','BwnWx191BM90zxn0lxDLyG','igzVDw5K','D3jPDgvjzKfIC2vUDa','WRCGC2TPChbLza','Dw5KzwzPBMvK','B25eyxrH','C3LTyM9S','Dw5VDgvZDc13zwiGAw5PDcdIHPiG','mtu4mZjSvgTjAw8','rw52AxjVBM1LBNq6cG','vxnLCLbYB21WDfn1yM1PDa','te9dquXbufbeqvrb','icdcTYbUBYbJAgfUz2vZig5LzwrLzaO','ChjVBxb0wwvZtM8','y3DK','C3bSAxq','u2vZC2LVBKvUza','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','CNvUsw5PDa','qhvUB3rLC3qVD2vIqa','yxjNDG','BM9Kzq','y29TBwfUza','icbsDw4Gyg5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BwaGDg8Gzg93BMXVywqGDgHLigj1BMrSzwqGzMfSBgjHy2SS','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','Dw5VDgvZDc8Uzw52lMv4yw1WBgu','BxnLzgDL','ywXSB3C','zw5K','DxbKyxrLza','vgfYz2v0igrPCMvJDg9YEq','icbeB3DUBg9HzcbIDw5KBgvKienOCM9TAxvTicH+mtuWie1ckt8','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','igf0ia','icbJAgfUBMvSoIa','pceTlsb1BM90zxn0oMvUzcaTlt4','AxnuvfK','Dw5VDgvZDc9LmMuVx3rLBxbSyxrLlMPZ','igv2zw50CZSGBg9NCYb0BYb1BM90zxn0lY5Kzwj1zY9Hz2vUDc8GDw5KzxiGvu5pvevtvf9erujvrYK','nduYmtHxD2fLzgK','C3LZDgvT','cIaGrM91BMqG','C2v2zxjPDhK','BMfTzq','DMvYC2LVBNm','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','y2HLy2ToB2rLvMvYC2LVBG','DgfYz2v0ia','B3zLCNjPzgu','quDftLrtlM1K','zxHPDa','CgfYC2u','icdINjmGDw5VDgvZDc5JB25MAwCUBwPZia','Dw5VDgvZDc8UDMLLD2vYlMXVzW','BwvYz2vny3bdB25MAwC','Dw5VDgvZDc9LmMuVzxHHBxbSzxm','Dw5VDgvZDc8UzgvIDwCQlW','ChjVyMvtExn0zw1cCM93C2vY','nZGYntfcsvDLB0K','Dw5VDgvZDc8UDMLLD2vYlMXVy2S','lM1JCc5QC29U','CMvTB3zLtgLZDgvUzxi','D3jPDgvjzK5LzwrLza','C2XPy2u','Aw5KzxHpzG','CMvZB2X2zq','mtaWmdm2nwDfzMDsDa','D2LUmZi','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','yMfZAcaIjhTdtefvrevFufjpsKvdvf9esvj9lY5JBgf1zguVAg9VA3mVBg9NlwfNzw50lNnOiIaIjhTdtefvrevFufjpsKvdvf9esvj9l3vUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWI','icdINjmGC3LZDgvTia','ChvZAa','CMvZDw1L','BwnW','icdcTYbHBhjLywr5ihbYzxnLBNqGiG','Dg9tDhjPBMC','C3rYAw5NAwz5','BM9Kzv9TB2r1BgvZlW','u3LZDgvTigjYB3DZzxi','rMfPBgvKihrVihbHCNnLic5Ty3aUANnVBIbHCYbku09ooIa','Dw5VDgvZDenVBMzPz01QCW','ywrKzwqGDw5VDgvZDc13zwiGzw50CNK','tM9Kzs5QCYb2zxjZAw9U','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','ywrKzwq','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','ywXYzwfKEs1WCMvZzw50','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','y2f0y2G','C3rKB3v0v3jPDgu','CgXHExDYAwDODa','ntK3ntqXDxb4vhrK','CNvUsw5ZDgfSBenOCM9TAxvTq2XP','ywrKzwqGywDLBNqTDhjHy2uGAg9VA3mGka','cKrVBMuUie5LEhqGC3rLChm6cG','B2jQzwn0','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','y2HHBM5LBdOGjW','ChjVyMvdAhjVBwu','icdINjmG','CgfJA2fNzs5QC29Uigf0ia','BwvYz2vdBgf1zgvbBgXVD0vUDhjPzxm','Cgf1C2u','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','zw50CMLLCW','r29Vz2XLienOCM9Tzq','Ag9VAW','CgXHDgzVCM0','q0XbvurflM1K','D3jPDgu','y2HYB21L','y3jLyxrLza','y2HYB21PDw0','zgvMAw5LuhjVCgvYDhK','ls1ICM93C2vY','lMnSyxvKzs9OB29RCY9SB2CTywDLBNqUC2G','zw52rxHHBxbSzq','D2fYBMLUzW','BgvUz3rO','D2HPy2HpzG','y2HYB21LlwjLDge','ywXYzwfKEsbWCMvZzw50','icaGigLUC3rHBgWGq2HYB21LigzYB20GAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','lI4VlI4V','nZeXsuLVA0Hx','ifTzl25Dia','4PYxigLUC3rHBgWTy2HYB21PDw06ia','icdIGkiGuNvUigfUigv4yw1WBguGywDHAw5ZDcb0AguGCgXHEwDYB3vUzdOkicaGicaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdeTC21VA2ukicdIGkiGtgLUDcb5B3vYihnJzw5HCMLVCZOkicaGicaGBNb4ieb1BM90zxn0l3DLyIbSAw50cIaG4OcIifDYAxrLigeGDgvZDdOGB3bLBIbdBgf1zguGq29KzsbOzxjLigfUzcbHC2SG4OcuigL0igzVBgXVD3mGDgHLcIaGicaGihDYAxrLlwuYzs10zxn0ihnRAwXSigfUzcbKCML2zxmGDgHLihvUB3rLC3qTD2vIie1ducbZzxj2zxiUcIaGicaGicGUBwnWlMPZB24GkYbdtefvreuUBwqVquDftLrtlM1KihDLCMuGANvZDcb3AxjLzcbMB3iGEw91lIKkicdIGkiGqwXYzwfKEsbPBNnPzguGyw4GywDLBNqGC2vZC2LVBJ8GuMvZDgfYDcbPDcaOB3iGCMvJB25Uzwn0ihzPyqOGicaGicaVBwnWksdIGjqGtunqignSAwvUDhmGBg9HzcaUBwnWlMPZB24GC2vYDMvYCYbHDcbZzxnZAw9Uihn0yxj0laOGicaGicbZBYb0AguGDw5VDgvZDc13zwiGDg9VBhmGyxbWzwfYig9UBhKGAw4GysbMCMvZAcbZzxnZAw9UlGOGiokaOIbezwj1zYb0AguGywDLBNq6igXHDw5JAcb3AxrOifvot1rfu1rFrevcvuC9msb0BYb0CMfJzsbLDMvYEqOGicaGicbHy3rPB24GDg8GDw5VDgvZDc8UzgvIDwCVywDLBNqVywn0Aw9UCY5QC29UBc4k'];_0x5178=function(){return _0x4ff89f;};return _0x5178();}function probeSystemBrowser(){const _0xd25c95=_0x10d5b4;for(const _0xb24ab0 of[probeChrome,probeEdge,probeChromeBeta]){const _0x2c222c=_0xb24ab0();if(_0x2c222c[_0xd25c95(0x1cc)]!==null)return _0x2c222c;}return{'channel':null};}__name(probeSystemBrowser,_0x10d5b4(0x16c));function probeChrome(){const _0x4ac948=_0x10d5b4,_0x11da4a=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x11da4a)return{'channel':_0x4ac948(0x1a1),'path':_0x11da4a,'label':_0x4ac948(0x19c)};return{'channel':null};}__name(probeChrome,_0x10d5b4(0x195));function probeEdge(){const _0x53d7bb={_0x5b3679:0x14d},_0x352a53=_0x10d5b4,_0x552c43=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x552c43)return{'channel':_0x352a53(_0x53d7bb._0x5b3679),'path':_0x552c43,'label':_0x352a53(0xf9)};return{'channel':null};}__name(probeEdge,_0x10d5b4(0x1b4));function probeChromeBeta(){const _0x11dbe8={_0x3512aa:0x129},_0x10e438=_0x10d5b4,_0x71a483=firstExistingPath(CHROME_BETA_PATHS);if(_0x71a483)return{'channel':_0x10e438(0x1ab),'path':_0x71a483,'label':_0x10e438(_0x11dbe8._0x3512aa)};return{'channel':null};}function _0x1d2a(_0x8a10c,_0x290a7e){_0x8a10c=_0x8a10c-0xcc;const _0x51788a=_0x5178();let _0x1d2a37=_0x51788a[_0x8a10c];if(_0x1d2a['ktWXgN']===undefined){var _0x3f1cfa=function(_0x474181){const _0x4f079b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3816='',_0x14aae4='';for(let _0x479db5=0x0,_0x540041,_0x4eca1f,_0x58bf82=0x0;_0x4eca1f=_0x474181['charAt'](_0x58bf82++);~_0x4eca1f&&(_0x540041=_0x479db5%0x4?_0x540041*0x40+_0x4eca1f:_0x4eca1f,_0x479db5++%0x4)?_0x2e3816+=String['fromCharCode'](0xff&_0x540041>>(-0x2*_0x479db5&0x6)):0x0){_0x4eca1f=_0x4f079b['indexOf'](_0x4eca1f);}for(let _0x135fa3=0x0,_0xb24ab0=_0x2e3816['length'];_0x135fa3<_0xb24ab0;_0x135fa3++){_0x14aae4+='%'+('00'+_0x2e3816['charCodeAt'](_0x135fa3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14aae4);};_0x1d2a['nUZoFb']=_0x3f1cfa,_0x1d2a['WDhpjt']={},_0x1d2a['ktWXgN']=!![];}const _0x459425=_0x51788a[0x0],_0x179781=_0x8a10c+_0x459425,_0xcc98c4=_0x1d2a['WDhpjt'][_0x179781];return!_0xcc98c4?(_0x1d2a37=_0x1d2a['nUZoFb'](_0x1d2a37),_0x1d2a['WDhpjt'][_0x179781]=_0x1d2a37):_0x1d2a37=_0xcc98c4,_0x1d2a37;}__name(probeChromeBeta,_0x10d5b4(0xed));var CHROME_PATHS=((()=>{const _0x2eda6f={_0x4caa61:0x19e,_0x18ac83:0x11b,_0x4e909b:0xf7,_0x1dfa2d:0x11b,_0x2b557b:0x13d,_0x317884:0x1bc},_0x1a8e95=_0x10d5b4;switch(process[_0x1a8e95(_0x2eda6f._0x4caa61)]){case _0x1a8e95(0x128):return[_0x1a8e95(0x19a)];case'win32':return[process[_0x1a8e95(0x11b)][_0x1a8e95(0x118)]+_0x1a8e95(0xe8),process[_0x1a8e95(_0x2eda6f._0x18ac83)][_0x1a8e95(_0x2eda6f._0x4e909b)]+_0x1a8e95(0xe8),process[_0x1a8e95(_0x2eda6f._0x1dfa2d)][_0x1a8e95(_0x2eda6f._0x2b557b)]+_0x1a8e95(0xe8)];default:return[_0x1a8e95(0xeb),'/usr/bin/google-chrome-stable','/snap/bin/google-chrome',_0x1a8e95(_0x2eda6f._0x317884),_0x1a8e95(0x177)];}})()),CHROME_BIN_NAMES=[_0x10d5b4(0x101),'google-chrome-stable',_0x10d5b4(0x1a3),_0x10d5b4(0x1c4)],EDGE_PATHS=((()=>{const _0x2cdef9={_0x214ea3:0x176,_0x488689:0x1bd,_0x4a2ab9:0xf7,_0x3a6bdb:0xe0},_0xd0356f=_0x10d5b4;switch(process[_0xd0356f(0x19e)]){case _0xd0356f(0x128):return[_0xd0356f(0xf4)];case _0xd0356f(_0x2cdef9._0x214ea3):return[process['env']['ProgramFiles']+_0xd0356f(_0x2cdef9._0x488689),process['env'][_0xd0356f(_0x2cdef9._0x4a2ab9)]+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe'];default:return['/usr/bin/microsoft-edge',_0xd0356f(_0x2cdef9._0x3a6bdb)];}})()),EDGE_BIN_NAMES=['microsoft-edge',_0x10d5b4(0x188)],CHROME_BETA_PATHS=((()=>{const _0x366c5b={_0x34acfe:0x19e,_0x39557e:0x153},_0x250e83=_0x10d5b4;switch(process[_0x250e83(_0x366c5b._0x34acfe)]){case _0x250e83(0x128):return[_0x250e83(_0x366c5b._0x39557e)];case _0x250e83(0x176):return[process[_0x250e83(0x11b)]['ProgramFiles']+'\x5cGoogle\x5cChrome\x20Beta\x5cApplication\x5cchrome.exe'];default:return['/usr/bin/google-chrome-beta'];}})());function firstExistingPath(_0x5e18ad){const _0x30b9a1=_0x10d5b4;for(const _0x1b0744 of _0x5e18ad){if(!_0x1b0744||_0x1b0744[_0x30b9a1(0x106)](_0x30b9a1(0x136)))continue;if(existsSync(_0x1b0744))return _0x1b0744;}return null;}__name(firstExistingPath,_0x10d5b4(0x123));function whichOf(_0x3a0c57){const _0x164320={_0xd873ea:0x19e,_0x207910:0xdd,_0x4c507f:0x115},_0x477603=_0x10d5b4;if(process[_0x477603(_0x164320._0xd873ea)]==='win32')return void 0x0;for(const _0x1d7eef of _0x3a0c57){try{const _0x10a431=execFileSync(_0x477603(0x130),[_0x1d7eef],{'encoding':_0x477603(_0x164320._0x207910)})[_0x477603(_0x164320._0x4c507f)]();if(_0x10a431[_0x477603(0x1a9)]>0x0&&existsSync(_0x10a431))return _0x10a431;}catch{}}return void 0x0;}__name(whichOf,_0x10d5b4(0x1aa));function runEnvironmentChecks(_0x5d93ed={}){const _0x353de8=_0x5d93ed['cwd']??process['cwd']();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x353de8)];}__name(runEnvironmentChecks,_0x10d5b4(0x110));function checkNodeVersion(){const _0x54ffae={_0x1d1918:0x15f,_0x1ec788:0xef,_0x5ae790:0x144,_0x57db4d:0x143},_0x5e8c56=_0x10d5b4,_0x2b4a12=process[_0x5e8c56(_0x54ffae._0x1d1918)][_0x5e8c56(0x148)],_0x20b061=Number(_0x2b4a12[_0x5e8c56(0x141)]('.')[0x0]);if(!Number[_0x5e8c56(0xfd)](_0x20b061)||_0x20b061<0x14)return{'name':'Node.js\x20version','severity':_0x5e8c56(_0x54ffae._0x1ec788),'message':_0x5e8c56(_0x54ffae._0x5ae790)+_0x2b4a12+')','detail':_0x5e8c56(_0x54ffae._0x57db4d)};return{'name':_0x5e8c56(0x185),'severity':'ok','message':_0x2b4a12};}__name(checkNodeVersion,_0x10d5b4(0x161));function checkSystemBrowser(){const _0x507de5={_0x5cf4ef:0x1cc,_0x372489:0x109,_0x145bdf:0x1c5},_0x579ce3=_0x10d5b4,_0x143af6=probeSystemBrowser();if(_0x143af6[_0x579ce3(_0x507de5._0x5cf4ef)]!==null)return{'name':_0x579ce3(0x181),'severity':'ok','message':_0x143af6[_0x579ce3(_0x507de5._0x372489)]+_0x579ce3(0x133),'detail':_0x143af6[_0x579ce3(0xfe)]};return{'name':_0x579ce3(0x181),'severity':_0x579ce3(0x1a8),'message':_0x579ce3(0xf6),'detail':_0x579ce3(_0x507de5._0x145bdf)};}__name(checkSystemBrowser,'checkSystemBrowser');function checkWritableCwd(_0x2f195d){const _0x12f7d9={_0x1034f7:0x162,_0x567078:0x1c1},_0x11d508=_0x10d5b4;if(!_0x4eca1f(_0x2f195d))return{'name':'Target\x20directory','severity':_0x11d508(0xef),'message':_0x11d508(_0x12f7d9._0x1034f7)+_0x2f195d+_0x11d508(_0x12f7d9._0x567078),'detail':_0x11d508(0x160)};return{'name':_0x11d508(0x151),'severity':'ok','message':_0x2f195d};}__name(checkWritableCwd,_0x10d5b4(0x114));var templates={'scenarioTemplate':'//\x20Move\x20+\x20rename\x20this\x20file\x20to\x20<feature>/<your_name>.js\x20(e.g.\x0a//\x20auth/login.js)\x20and\x20the\x20function\x20below\x20to\x20test_<your_name>().\x20Scenarios\x20live\x0a//\x20in\x20feature\x20subfolders,\x20NOT\x20the\x20e2e\x20root\x20—\x20the\x20linter\x20(lint:scenario-in-root)\x0a//\x20rejects\x20a\x20test\x20file\x20placed\x20directly\x20in\x20unotest/e2e/.\x20The\x20loader\x20derives\x20the\x0a//\x20entry\x20name\x20from\x20the\x20file\x20basename\x20—\x20kebab-case\x20dashes\x20become\x20underscores.\x0a\x0a//\x20Every\x20executable\x20step\x20must\x20sit\x20inside\x20a\x20step(\x22...\x22,\x20()\x20=>\x20{\x20…\x20})\x20block.\x20The\x0a//\x20title\x20is\x20a\x20plain-English\x20description\x20of\x20the\x20group;\x20the\x20steps\x20inside\x20are\x0a//\x20the\x20implementation.\x20Group\x20by\x20intent\x20(Setup\x20/\x20Enter\x20/\x20Act\x20/\x20Assert\x20or\x0a//\x20whatever\x20reads\x20well)\x20—\x20one\x20block\x20per\x20logical\x20chunk.\x0a\x0afunction\x20test_your_name_here()\x20{\x0a\x20\x20step(\x22Seed\x20a\x20known\x20user\x20via\x20DB\x20/\x20API\x20fixtures\x20from\x20_helpers/\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20wipe_e2e_users();\x0a\x20\x20\x20\x20//\x20\x20\x20\x20user_id\x20=\x20seed_user(\x27alice@example.com\x27,\x20\x27secret\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20seeded\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://your-app.test/login\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27alice@example.com\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20\x27secret\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Assert\x20the\x20dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertUrl(\x27/dashboard\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome,\x20Alice\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20count\x20=\x20dbQuery(\x27SELECT\x20count(*)\x20FROM\x20users\x20WHERE\x20active\x20=\x20true\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertTrue(count\x20>\x200,\x20\x27expected\x20at\x20least\x20one\x20active\x20user\x27);\x0a\x20\x20});\x0a}\x0a','agentsMd':'#\x20@unotest/web\x20—\x20guide\x20for\x20AI\x20agents\x20(and\x20humans)\x0a\x0aThis\x20project\x20uses\x20[`@unotest/web`](https://www.npmjs.com/package/@unotest/web)\x0afor\x20end-to-end\x20testing\x20of\x20web\x20applications.\x0a\x0a##\x20Writing\x20a\x20test\x20—\x20use\x20the\x20skill\x20+\x20MCP\x0a\x0aFor\x20ANY\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20e2e\x20test:\x0a\x0a1.\x20Open\x20the\x20**`write-e2e-test`**\x20skill\x20—\x20`.claude/skills/write-e2e-test/SKILL.md`\x0a\x20\x20\x20(in\x20Claude\x20Code\x20you\x20can\x20also\x20run\x20`/write-e2e-test`)\x20—\x20and\x20follow\x20it.\x0a2.\x20Drive\x20the\x20browser\x20through\x20the\x20**`unotest-web`\x20MCP\x20tools**:\x20`new_context`\x20→\x0a\x20\x20\x20`explore_start`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x20→\x20`run_test`.\x0a\x0aDo\x20NOT\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x20`find`/`ls`/`awk`\x20—\x20the\x0askill\x27s\x20Phase\x200\x20names\x20the\x20exact\x20files\x20to\x20read.\x20Runnable,\x20copy-pasteable\x0aexamples\x20live\x20in\x20`unotest/e2e/examples/`.\x0a\x0a##\x20Layout\x0a\x0a-\x20`unotest/e2e/<feature>/<name>.js`\x20—\x20test\x20scenarios,\x20grouped\x20by\x20feature/page\x0a\x20\x20(one\x20`test_*`\x20function\x20per\x20file).\x20**Required:**\x20every\x20scenario\x20lives\x20in\x20a\x0a\x20\x20feature\x20subfolder.\x20A\x20test\x20file\x20placed\x20directly\x20in\x20`unotest/e2e/`\x20is\x20rejected\x0a\x20\x20by\x20the\x20linter\x20(`lint:scenario-in-root`).\x0a-\x20`unotest/e2e/_helpers/`\x20—\x20project-specific\x20helpers\x20(visible\x20to\x20all\x20scenarios)\x0a-\x20`unotest/e2e/_template.js`\x20—\x20starting-point\x20template\x20(copy\x20into\x20a\x20feature\x20folder)\x0a\x0a##\x20DSL\x20conventions\x0a\x0aThe\x20DSL\x20is\x20a\x20strict\x20JS\x20subset\x20parsed\x20by\x20@unotest/dsl.\x20Method\x20chains,\x20options-\x0aobjects,\x20and\x20variables\x20are\x20allowed.\x20Multi-line\x20strings\x20use\x0abackticks\x20but\x20`${...}`\x20interpolation\x20is\x20forbidden\x20(sandbox\x20boundary\x20—\x0apass\x20values\x20via\x20positional\x20args).\x0a\x0a**Every\x20step\x20must\x20sit\x20inside\x20a\x20`step(\x22description\x22,\x20()\x20=>\x20{\x20…\x20})`\x20block\x20(linter\x0aenforces).**\x20The\x20title\x20is\x20plain-English\x20intent;\x20the\x20steps\x20inside\x20are\x20the\x0aimplementation.\x20When\x20a\x20step\x20later\x20breaks\x20(selector\x20drift),\x20you\x20read\x20the\x0atitle\x20to\x20understand\x20what\x20the\x20group\x20was\x20trying\x20to\x20do\x20and\x20repair\x20it.\x20Group\x20by\x0aintent,\x20one\x20block\x20per\x20logical\x20chunk:\x0a\x0a```js\x0afunction\x20test_login()\x20{\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20demo\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://app.example.com/login\x27);\x0a\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27demo@example.com\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome\x27);\x0a\x20\x20});\x0a}\x0a```\x0a\x0a**Base\x20URL\x20—\x20write\x20relative\x20paths.**\x20`APP_BASE_URL`\x20(in\x20`unotest/.env`)\x20is\x20the\x0aapp\x27s\x20base;\x20`goto(\x27/login\x27)`\x20resolves\x20against\x20it.\x20Don\x27t\x20concatenate\x0a(`goto(APP_BASE_URL\x20+\x20\x27/login\x27)`)\x20—\x20just\x20pass\x20the\x20path:\x0a\x0a```js\x0agoto(\x27/login\x27);\x0afill(getByLabel(\x27Password\x27),\x20TEST_USER_PASSWORD);\x0a```\x0a\x0a**Environments.**\x20Override\x20`APP_BASE_URL`\x20(and\x20any\x20var)\x20per\x20environment\x20with\x0aoverlay\x20files\x20—\x20`unotest/.env.staging`,\x20`unotest/.env.production`\x20(secrets:\x0a`unotest/.secrets.<env>`).\x20Select\x20one\x20at\x20run\x20time:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x0a--env\x20staging`.\x20The\x20overlay\x20layers\x20over\x20the\x20base\x20`.env`\x20(overlay\x20wins).\x0a\x0a**External\x20variables\x20&\x20secrets:**\x20reference\x20logins\x20/\x20tokens\x20by\x20a\x20bare\x0a`UPPER_SNAKE`\x20name\x20—\x20resolved\x20from\x20`unotest/.env`\x20(normal)\x20or\x20`unotest/.secrets`\x0a(secret,\x20masked\x20in\x20logs).\x20No\x20`env()`/`secret()`\x20wrapper.\x20A\x20lowercase\x20name\x20is\x20an\x0ain-scenario\x20binding;\x20an\x20unknown\x20`UPPER_SNAKE`\x20fails\x20the\x20run\x20asking\x20you\x20to\x20add\x20it\x0ato\x20`unotest/.env`.\x0a\x0a**Selector\x20hierarchy\x20(D-22\x20—\x20linter\x20enforces):**\x0a1.\x20`getByTestId(id)`\x20—\x20most\x20stable\x0a2.\x20`getByRole(role,\x20{name})`\x20—\x20semantic,\x20a11y-aware\x0a3.\x20`getByLabel(text)`\x20—\x20for\x20form\x20fields\x0a4.\x20`getByText(text)`\x20—\x20for\x20unique\x20text\x0a5.\x20`locator(css)`\x20—\x20last\x20resort\x20(linter\x20warns)\x0a\x0aFull\x20reference\x20shipped\x20with\x20the\x20package:\x0a-\x20`node_modules/@unotest/web/guides/dsl-reference.md`\x20—\x20DSL\x20functions\x20+\x20linter\x20codes\x0a\x0a##\x20Running\x20(CLI)\x0a\x0a-\x20`npx\x20@unotest/web\x20e2e\x20<feature>/<name>`\x20—\x20run\x20a\x20scenario\x20by\x20name\x0a-\x20`npx\x20@unotest/web\x20lint`\x20—\x20static\x20check\x20of\x20all\x20scenarios\x20+\x20helpers\x0a-\x20`npx\x20@unotest/web\x20mcp`\x20—\x20start\x20the\x20MCP\x20server\x20for\x20agent\x20control\x0a\x0a##\x20Via\x20MCP\x20(Claude\x20Code\x20/\x20Claude\x20Desktop\x20/\x20Cursor)\x0a\x0aThe\x20MCP\x20server\x20exposes:\x0a-\x20`run_test\x20name=\x22<name>\x22\x20mode=\x22step\x22\x20pauseOnFailure=true`\x20—\x20run\x20with\x20step-mode\x0a-\x20`step`\x20/\x20`resume`\x20—\x20advance\x20one\x20AST\x20node\x20/\x20run\x20until\x20next\x20pause\x0a-\x20`inspect_runtime`\x20—\x20current\x20state,\x20last\x20error,\x20locals\x20dump\x0a-\x20`abort_runtime`\x20—\x20kill\x20a\x20paused\x20runtime\x0a\x0aFor\x20agent-fix\x20workflows\x20on\x20flaky\x20tests:\x20`agent_fix\x20testId=\x22<id>\x22`\x20returns\x20a\x0astructured\x20context\x20bundle\x20(see\x20D-25\x20—\x20we\x20never\x20call\x20LLMs\x20or\x20auto-apply\x0adiffs,\x20the\x20diff\x20comes\x20from\x20your\x20MCP-host\x20agent).\x0a','claudeMdBody':_0x10d5b4(0x1c6),'examples':{'01-smoke.js':_0x10d5b4(0x186),'02-form-fill.js':_0x10d5b4(0x14b)},'secretsExample':_0x10d5b4(0x10e),'envExample':'#\x20unotest-web\x20—\x20copied\x20to\x20unotest/.env\x20by\x20`init`\x20if\x20not\x20present.\x0a#\x0a#\x20Fill\x20in\x20values\x20that\x20apply\x20to\x20your\x20project.\x20Variables\x20are\x20loaded\x20by\x20the\x0a#\x20runner\x20at\x20scenario\x20start.\x0a#\x0a#\x20Reference\x20any\x20variable\x20from\x20a\x20scenario\x20by\x20its\x20bare\x20UPPER_SNAKE\x20name\x20—\x0a#\x20no\x20env()/secret()\x20wrapper:\x0a#\x0a#\x20\x20\x20goto(\x27/login\x27);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20relative\x20—\x20see\x20APP_BASE_URL\x0a#\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20TEST_USER_EMAIL);\x0a#\x0a#\x20Secret\x20values\x20(passwords,\x20tokens)\x20go\x20in\x20unotest/.secrets\x20instead\x20—\x20same\x0a#\x20format,\x20but\x20masked\x20in\x20every\x20log.\x20An\x20unknown\x20UPPER_SNAKE\x20name\x20fails\x20the\x0a#\x20run\x20with\x20a\x20clear\x20\x22add\x20it\x20to\x20unotest/.env\x22\x20message.\x0a#\x0a#\x20Environments:\x20override\x20any\x20value\x20per\x20environment\x20with\x20overlay\x20files\x20—\x0a#\x20unotest/.env.staging,\x20unotest/.env.production\x20(secrets:\x20.secrets.<env>).\x0a#\x20Select\x20one:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x20--env\x20staging`.\x20The\x20overlay\x20layers\x0a#\x20over\x20this\x20base\x20file\x20(overlay\x20wins);\x20the\x20shell\x20environment\x20wins\x20over\x20both.\x0a\x0a#\x20---\x20App\x20under\x20test\x20--------------------------------------------------------\x0a#\x20The\x20app\x27s\x20base\x20URL.\x20Relative\x20goto(\x27/path\x27)\x20resolves\x20against\x20it\x20(wired\x20into\x0a#\x20Playwright\x27s\x20baseURL\x20automatically),\x20so\x20write\x20goto(\x27/login\x27)\x20—\x20never\x0a#\x20goto(APP_BASE_URL\x20+\x20\x27/login\x27).\x20Also\x20used\x20for\x20assertUrl\x20substring\x20matching.\x0a#\x20Defaults\x20to\x20the\x20unotest\x20playground\x20so\x20the\x20example\x20scenarios\x20run\x20out\x20of\x20the\x0a#\x20box;\x20point\x20it\x20at\x20your\x20own\x20app.\x0aAPP_BASE_URL=https://playground.unotest.com\x0a\x0a#\x20---\x20Database\x20--------------------------------------------------------------\x0a#\x20Used\x20by\x20dbQuery\x20/\x20dbExec.\x20Install\x20the\x20matching\x20driver\x20as\x20a\x20peer-dep:\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20pg\x20@types/pg\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20postgresql://\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20mysql2\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20mysql://\x0a#\x20(SQLite\x20via\x20better-sqlite3\x20—\x20install\x20only\x20if\x20needed.)\x0aDATABASE_URL=postgresql://postgres:postgres@localhost:5432/myapp_test\x0a\x0a#\x20---\x20Extra\x20API\x20hosts\x20-------------------------------------------------------\x0a#\x20apiCall(...)\x20goes\x20against\x20sandbox.apiBaseUrl\x20from\x20unotest.config.*\x20by\x0a#\x20default.\x20A\x20setup\x20that\x20talks\x20to\x20MORE\x20hosts\x20names\x20them\x20here\x20and\x20picks\x20one\x0a#\x20per\x20call\x20by\x20the\x20variable\x20NAME\x20(URLs\x20never\x20appear\x20in\x20scenarios):\x0a#\x20\x20\x20apiCall(\x27POST\x27,\x20\x27/things\x27,\x20body,\x20headers,\x20{base:\x20\x27API_BASE_CHAT\x27})\x0a#\x20API_BASE_CHAT=https://chatbackend.example.com\x0a\x0a#\x20---\x20Runner\x20--------------------------------------------------------------\x0a#\x20Show\x20the\x20browser\x20window\x20during\x20runs\x20(default:\x20headless).\x0a#\x20UNOTEST_HEADED=1\x0a#\x20Slow\x20each\x20Playwright\x20op\x20by\x20N\x20ms\x20(default:\x200).\x20Pairs\x20with\x20HEADED\x20for\x0a#\x20watching\x20the\x20agent\x20at\x20work.\x0a#\x20UNOTEST_SLOW_MO=100\x0a#\x20Browser\x20used\x20by\x20the\x20CLI\x20(chromium\x20|\x20firefox\x20|\x20webkit).\x20Default:\x20chromium.\x0a#\x20UNOTEST_BROWSER=chromium\x0a#\x20Default\x20action\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20every\x20click\x20/\x0a#\x20fill\x20/\x20waitFor\x20/\x20etc.\x20via\x20Playwright\x27s\x20setDefaultTimeout.\x20Default\x203000.\x0a#\x20Bump\x20if\x20your\x20app\x20is\x20slow;\x20per-action\x20override\x20via\x20the\x20action\x27s\x0a#\x20options.timeout.\x20Playwright\x27s\x20stock\x2030000\x20strands\x20interactive\x20agents.\x0a#\x20UNOTEST_DEFAULT_TIMEOUT_MS=3000\x0a#\x20Default\x20navigation\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20goto\x20/\x20reload\x20/\x0a#\x20waitForUrl,\x20click\x27s\x20post-action\x20navigation\x20wait,\x20AND\x20setPage\x27s\x20wait\x20for\x20a\x0a#\x20newly\x20opened\x20tab\x20to\x20appear\x20+\x20load.\x20Real-world\x20pages\x20routinely\x20take\x205–15s\x0a#\x20to\x20fire\x20\x27load\x27;\x20keep\x20this\x20separate\x20from\x20the\x20action\x20timeout\x20above.\x0aUNOTEST_DEFAULT_NAVIGATION_TIMEOUT_MS=15000\x0a\x0a#\x20Per-run\x20wall-clock\x20budget\x20in\x20milliseconds\x20—\x20a\x20run\x20aborts\x20once\x20it\x20exceeds\x0a#\x20this.\x20Guards\x20against\x20a\x20stuck\x20scenario\x20hanging\x20the\x20agent\x20indefinitely.\x0a#\x20Invalid\x20or\x20non-positive\x20values\x20fall\x20back\x20to\x20the\x20default.\x20Default\x20300000.\x0a#\x20UNOTEST_MAX_DURATION_MS=300000\x0a\x0a#\x20---\x20Locale\x20+\x20timezone\x20---------------------------------------------------\x0a#\x20Pin\x20the\x20browser\x20context\x27s\x20Accept-Language\x20/\x20navigator.language.\x20Without\x0a#\x20these,\x20tests\x20inherit\x20the\x20OS\x20locale\x20—\x20accessible-name\x20selectors\x0a#\x20(`getByRole(name)`)\x20on\x20i18n\x27d\x20apps\x20will\x20break\x20across\x20machines.\x0a#\x20UNOTEST_LOCALE=en-US\x0a#\x20UNOTEST_TIMEZONE=UTC\x0a\x0a#\x20---\x20Recording\x20(explore_*)\x20----------------------------------------------\x0a#\x20Grace\x20window\x20in\x20ms\x20after\x20each\x20explore_step\x20action.\x20If\x20a\x20click\x20opens\x20a\x0a#\x20new\x20tab/popup,\x20the\x20MCP\x20server\x20auto-switches\x20the\x20active\x20page\x20to\x20it\x20AND\x0a#\x20inserts\x20setPage(N)\x20into\x20the\x20generated\x20DSL\x20trace.\x20Set\x20to\x200\x20to\x20disable\x0a#\x20(strict\x20mode).\x20Has\x20NO\x20effect\x20on\x20run_test\x20—\x20there\x20setPage\x20already\x20waits\x0a#\x20for\x20the\x20tab\x20to\x20appear\x20on\x20its\x20own.\x20Range:\x20[0,\x2010000].\x20Default:\x202000.\x0a#\x20UNOTEST_POPUP_GRACE_MS=2000\x0a\x0a#\x20---\x20Logging\x20-------------------------------------------------------------\x0a#\x20debug\x20|\x20info\x20|\x20warn\x20|\x20error.\x20Default:\x20info.\x0aUNOTEST_LOG_LEVEL=info\x0a\x0a#\x20---\x20Debug\x20diagnostics\x20---------------------------------------------------\x0a#\x20Off\x20by\x20default.\x20Set\x20to\x201\x20to\x20record\x20a\x20structured\x20JSONL\x20log\x20+\x20per-call\x0a#\x20folders\x20under\x20unotest/.debug/\x20—\x20then\x20restart\x20the\x20MCP\x20server.\x20Each\x20tool\x0a#\x20call\x20gets\x20a\x20folder\x20with\x20the\x20full\x20snapshot\x20JSON,\x20the\x20outerHTML\x20of\x20the\x0a#\x20element\x20a\x20locator\x20resolved\x20to,\x20and\x20(on\x20failure)\x20page.html\x20+\x20a\x20screenshot,\x0a#\x20so\x20you\x20(and\x20the\x20AI\x20agent,\x20via\x20get_last_mcp_log)\x20can\x20verify\x20the\x20snapshot\x0a#\x20didn\x27t\x20glitch\x20and\x20the\x20locator\x20hit\x20the\x20right\x20element\x20—\x20instead\x20of\x20guessing\x0a#\x20from\x20a\x20truncated\x20error.\x20audit_last_run\x20then\x20checks\x20the\x20run\x20against\x20the\x0a#\x20testing\x20rules.\x20Also\x20turns\x20on\x20full\x20CLI\x20stack\x20traces.\x20Use\x20\x27summary\x27\x20for\x20a\x0a#\x20lighter\x20log\x20(tool\x20+\x20snapshot\x20layers\x20only,\x20no\x20artifacts).\x20NOTE:\x20tool\x0a#\x20arguments\x20are\x20logged\x20verbatim,\x20so\x20a\x20fill()\x20with\x20a\x20password\x20lands\x20in\x20the\x0a#\x20local\x20(gitignored)\x20log\x20—\x20keep\x20this\x20off\x20unless\x20you\x27re\x20debugging.\x0a#\x20UNOTEST_DEBUG=1\x0a\x0a#\x20---\x20Capture\x20(viewer\x20inspector)\x20------------------------------------------\x0a#\x20Record\x20the\x20browser\x20console\x20+\x20network\x20requests\x20into\x20each\x20run\x27s\x20dir\x20so\x20the\x0a#\x20viewer\x27s\x20Console\x20/\x20Network\x20inspector\x20tabs\x20are\x20populated.\x20Set\x20to\x200\x20to\x20disable.\x0aUNOTEST_NETWORK=1\x0aUNOTEST_CONSOLE=1\x0a#\x20Set\x20to\x201\x20to\x20also\x20capture\x20a\x20screenshot\x20after\x20EVERY\x20executed\x20step\x20(into\x0a#\x20unotest/.runs/<runId>/screenshot/;\x20click\x20a\x20step\x20row\x20in\x20the\x20viewer\x20to\x20see\x0a#\x20it).\x20On\x20failure,\x20a\x20screenshot\x20+\x20page.html\x20always\x20land\x20in\x0a#\x20unotest/.runs/<runId>/failure/\x20—\x20no\x20flag\x20needed.\x0a#\x20UNOTEST_STEP_SCREENSHOTS=1\x0a'};function unotestConfigMjs(_0x3c4c09){const _0x2e3e09={_0x5b469f:0x155,_0x378f1c:0x17f,_0x3653b8:0x119},_0x47a681=_0x10d5b4,_0xbc5923=_0x3c4c09===void 0x0?_0x47a681(0x193):_0x47a681(_0x2e3e09._0x5b469f)+JSON[_0x47a681(_0x2e3e09._0x378f1c)](_0x3c4c09)+',';return _0x47a681(_0x2e3e09._0x3653b8)+_0xbc5923+'\x0a\x20\x20//\x20viewer:\x20{\x0a\x20\x20//\x20\x20\x20port:\x205173,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20random\x20free\x20port\x0a\x20\x20//\x20\x20\x20browser:\x20true,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20true\x20(auto-open\x20on\x20`viewer`)\x0a\x20\x20//\x20},\x0a};\x0a';}__name(unotestConfigMjs,_0x10d5b4(0x183));function promptYesNo(_0x575a80,_0x59adb2){const _0x42883e={_0x288e7a:0x131},_0x77f4bc={_0x4e8e83:0x137,_0x4cffa1:0x1a0,_0x293c90:0x1c7,_0x53dd7e:0x17b},_0x3617e3={_0xba0f99:0xfb,_0x46c12c:0xfb,_0x185adb:0x199,_0x26cbc6:0x11c},_0x3e463d=_0x10d5b4,_0x589b3d=_0x59adb2?_0x3e463d(0x1b0):_0x3e463d(_0x42883e._0x288e7a);return new Promise(_0x242e15=>{const _0x3ba5b5={_0x144aff:0x17e,_0x4dac1f:0x172},_0x3c85b8=_0x3e463d;let _0x38c564=![];const _0x9e8fb2=__name(_0x3ccf21=>{const _0x568c46=_0x1d2a;if(_0x38c564)return;_0x38c564=!![],process[_0x568c46(_0x3617e3._0xba0f99)][_0x568c46(0x170)]('data',_0xa341d2),process[_0x568c46(_0x3617e3._0x46c12c)][_0x568c46(0x170)](_0x568c46(0x14f),_0x4d7138),process[_0x568c46(_0x3617e3._0x46c12c)][_0x568c46(_0x3617e3._0x185adb)](),process[_0x568c46(0xfb)][_0x568c46(_0x3617e3._0x26cbc6)](),_0x242e15(_0x3ccf21);},'finish'),_0xa341d2=__name(_0xbb17c9=>{const _0x38ad7f=_0x1d2a,_0x81a07d=typeof _0xbb17c9===_0x38ad7f(0x107)?_0xbb17c9:_0xbb17c9[_0x38ad7f(_0x3ba5b5._0x144aff)](_0x38ad7f(0xdd)),_0x3e8f55=_0x81a07d[_0x38ad7f(0x173)]('\x0a');if(_0x3e8f55<0x0)return;const _0x4cca5e=_0x81a07d[_0x38ad7f(_0x3ba5b5._0x4dac1f)](0x0,_0x3e8f55)[_0x38ad7f(0x115)]()[_0x38ad7f(0xf0)]();if(_0x4cca5e==='')return _0x9e8fb2(_0x59adb2);_0x9e8fb2(_0x4cca5e==='y'||_0x4cca5e==='yes');},_0x3c85b8(_0x77f4bc._0x4e8e83)),_0x4d7138=__name(()=>_0x9e8fb2(_0x59adb2),_0x3c85b8(0xcf));process['stdout'][_0x3c85b8(_0x77f4bc._0x4cffa1)](_0x575a80+_0x589b3d),process[_0x3c85b8(0xfb)]['on'](_0x3c85b8(_0x77f4bc._0x293c90),_0xa341d2),process['stdin']['on']('end',_0x4d7138),process[_0x3c85b8(0xfb)][_0x3c85b8(_0x77f4bc._0x53dd7e)]();});}__name(promptYesNo,_0x10d5b4(0x13f));import{spawn}from'child_process';import{createRequire}from'module';import{dirname,resolve}from'path';import{fileURLToPath}from'url';async function installChromium(_0x4e076d={}){const _0x113175={_0xaef5a4:0x18c,_0x43c266:0x174,_0x117764:0x1ca,_0x3c9226:0x1ca,_0x287e38:0x18d,_0x20dc72:0x103},_0x2c958c={_0x2cec2c:0x126,_0x41c827:0x1c7,_0x41a730:0xe4,_0x321a83:0x1c7,_0x1a1f21:0x165},_0x492278={_0x27f819:0x18a},_0xe5d7ad=_0x10d5b4,_0x39d209=_0x4e076d[_0xe5d7ad(_0x113175._0xaef5a4)]??(_0x6ccff=>process[_0xe5d7ad(0x1cb)][_0xe5d7ad(0x1a0)](_0x6ccff)),_0x491462=createRequire(import.meta.url),_0x17e3ef=_0x491462[_0xe5d7ad(_0x113175._0x43c266)]('playwright/package.json'),_0x129008=_0x491462(_0x17e3ef),_0x5ecea5=typeof _0x129008[_0xe5d7ad(_0x113175._0x117764)]===_0xe5d7ad(0x107)?_0x129008[_0xe5d7ad(0x1ca)]:_0x129008[_0xe5d7ad(_0x113175._0x3c9226)]?.[_0xe5d7ad(_0x113175._0x287e38)];if(!_0x5ecea5)throw new Error(_0xe5d7ad(_0x113175._0x20dc72));const _0x5d3602=resolve(dirname(_0x17e3ef),_0x5ecea5);return new Promise((_0x2fcc81,_0x3ba2cd)=>{const _0x4ceabe=_0xe5d7ad,_0x5ddfa0=spawn(process['execPath'],[_0x5d3602,_0x4ceabe(0x1c3),'chromium'],{'stdio':[_0x4ceabe(0x127),_0x4ceabe(_0x2c958c._0x2cec2c),_0x4ceabe(0x126)]});_0x5ddfa0[_0x4ceabe(0x1cb)]?.['on'](_0x4ceabe(_0x2c958c._0x41c827),_0x222713=>_0x39d209(_0x222713['toString']())),_0x5ddfa0[_0x4ceabe(_0x2c958c._0x41a730)]?.['on'](_0x4ceabe(_0x2c958c._0x321a83),_0x396f62=>_0x39d209(_0x396f62[_0x4ceabe(0x17e)]())),_0x5ddfa0['on'](_0x4ceabe(0xef),_0x3ba2cd),_0x5ddfa0['on'](_0x4ceabe(_0x2c958c._0x1a1f21),_0x2cd707=>{const _0x1627d2=_0x4ceabe;if(_0x2cd707===0x0)_0x2fcc81();else _0x3ba2cd(new Error(_0x1627d2(_0x492278._0x27f819)+_0x2cd707));});});}__name(installChromium,'installChromium');async function runInstallChromiumCli(){const _0x208c78={_0x11d75c:0x1b1},_0x960953=_0x10d5b4;try{return await installChromium(),0x0;}catch(_0x352330){return process[_0x960953(0xe4)]['write'](_0x960953(_0x208c78._0x11d75c)+(_0x352330 instanceof Error?_0x352330['message']:String(_0x352330))+'\x0a'),0x1;}}__name(runInstallChromiumCli,_0x10d5b4(0x18f));var invokedDirectly=process[_0x10d5b4(0x147)][0x1]&&fileURLToPath(import.meta.url)===process[_0x10d5b4(0x147)][0x1];invokedDirectly&&runInstallChromiumCli()['then'](_0x3d3e70=>process['exit'](_0x3d3e70));async function chooseBrowser(_0x6f521){const _0x14fa4b={_0x4bedd4:0x18c,_0x51547e:0xcc,_0x2c2199:0x1cc,_0x2485e4:0xcc,_0x8799ac:0x109,_0x334a9e:0xfe,_0x4f0a5e:0xea,_0x448063:0x163,_0x38529f:0x113,_0x17fc2e:0xfe,_0x2199b9:0x12c,_0x2c7757:0x154,_0x1b6ac8:0xcc,_0x159115:0x112,_0x2af591:0x10d,_0x58f00d:0x1ad},_0x361223=_0x10d5b4,_0xf7063=_0x6f521[_0x361223(_0x14fa4b._0x4bedd4)]??(_0x3145aa=>process[_0x361223(0x1cb)][_0x361223(0x1a0)](_0x3145aa));if(_0x6f521['override']==='system'){if(_0x6f521[_0x361223(_0x14fa4b._0x51547e)][_0x361223(_0x14fa4b._0x2c2199)])return _0xf7063(_0x361223(0x179)+_0x6f521[_0x361223(_0x14fa4b._0x2485e4)][_0x361223(_0x14fa4b._0x8799ac)]+'\x20('+_0x6f521['probe'][_0x361223(_0x14fa4b._0x334a9e)]+')\x0a'),{'channel':_0x6f521['probe'][_0x361223(0x1cc)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x361223(_0x14fa4b._0x4f0a5e),_0x361223(0x12e)]};}if(_0x6f521['override']==='bundled')return _0xf7063('\x20\x20→\x20downloading\x20bundled\x20Chromium\x20(~150\x20MB)…\x0a'),await installChromium({'stdoutWrite':_0xf7063}),{'channel':null,'installedBundled':!![],'warnings':[]};if(_0x6f521[_0x361223(_0x14fa4b._0x448063)]===_0x361223(0x11e))return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20--browser\x20none\x20—\x20no\x20browser\x20configured.\x20Run\x20one\x20of:',_0x361223(0x10d),_0x361223(0x104)]};if(!_0x6f521['interactive']){if(_0x6f521[_0x361223(_0x14fa4b._0x51547e)][_0x361223(0x1cc)])return _0xf7063(_0x361223(0x196)+_0x6f521[_0x361223(_0x14fa4b._0x51547e)][_0x361223(0x109)]+_0x361223(_0x14fa4b._0x38529f)+_0x6f521[_0x361223(0xcc)][_0x361223(_0x14fa4b._0x17fc2e)]+'\x20—\x20using\x20channel\x20\x27'+_0x6f521[_0x361223(_0x14fa4b._0x51547e)]['channel']+'\x27\x0a'),{'channel':_0x6f521['probe'][_0x361223(0x1cc)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x361223(0x11a),_0x361223(0x14a),_0x361223(_0x14fa4b._0x2199b9)]};}if(_0x6f521['probe']['channel']){_0xf7063(_0x361223(0x15c)+_0x6f521[_0x361223(0xcc)][_0x361223(0x109)]+_0x361223(_0x14fa4b._0x2c7757)+_0x6f521[_0x361223(_0x14fa4b._0x1b6ac8)][_0x361223(_0x14fa4b._0x17fc2e)]+'\x0a');const _0x17ade0=await promptYesNo(_0x361223(_0x14fa4b._0x159115)+_0x6f521[_0x361223(_0x14fa4b._0x1b6ac8)][_0x361223(0x109)]+'?',!![]);if(_0x17ade0)return{'channel':_0x6f521[_0x361223(_0x14fa4b._0x2485e4)]['channel'],'installedBundled':![],'warnings':[]};}else _0xf7063('\x0a\x20\x20No\x20system\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20detected.\x0a');const _0x2b9c9e=await promptYesNo(_0x361223(0x152),!![]);if(_0x2b9c9e)return _0xf7063('\x0a\x20\x20→\x20downloading\x20bundled\x20Chromium…\x0a'),await installChromium({'stdoutWrite':_0xf7063}),{'channel':null,'installedBundled':!![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20No\x20browser\x20configured.\x20Run\x20one\x20of\x20before\x20first\x20test:',_0x361223(_0x14fa4b._0x2af591),_0x361223(_0x14fa4b._0x58f00d)]};}__name(chooseBrowser,'chooseBrowser');var McpJsonParseError=class extends Error{static{__name(this,_0x10d5b4(0x117));}constructor(_0x4caed1){const _0x180aa9=_0x10d5b4;super(_0x4caed1),this[_0x180aa9(0x15e)]=_0x180aa9(0x117);}};function mergeMcpConfig(_0x23b76c,_0x5b6f97,_0x4a56f9,_0x23e923={}){const _0x25ab51={_0x52784c:0x1a2,_0x2a4ebc:0x182,_0x4ae0a3:0xee,_0x2565b5:0x189,_0x472b78:0xee},_0x4aebef=_0x10d5b4;if(_0x23b76c===null){const _0x6f4b0b=JSON[_0x4aebef(0x17f)]({'mcpServers':{[_0x5b6f97]:_0x4a56f9}},null,0x2)+'\x0a';return{'action':_0x4aebef(_0x25ab51._0x52784c),'newContent':_0x6f4b0b};}let _0x56e1b3;try{_0x56e1b3=JSON['parse'](_0x23b76c);}catch(_0x377357){throw new McpJsonParseError(_0x4aebef(_0x25ab51._0x2a4ebc)+_0x377357[_0x4aebef(0x1b5)]+_0x4aebef(0x1ba));}(!_0x56e1b3[_0x4aebef(_0x25ab51._0x4ae0a3)]||typeof _0x56e1b3[_0x4aebef(0xee)]!=='object')&&(_0x56e1b3[_0x4aebef(_0x25ab51._0x4ae0a3)]={});const _0x41a419=_0x5b6f97 in _0x56e1b3['mcpServers'];if(_0x41a419&&!_0x23e923[_0x4aebef(0x122)])return{'action':_0x4aebef(_0x25ab51._0x2565b5),'newContent':_0x23b76c};_0x56e1b3[_0x4aebef(_0x25ab51._0x472b78)][_0x5b6f97]=_0x4a56f9;const _0x176180=JSON['stringify'](_0x56e1b3,null,0x2)+'\x0a';return{'action':_0x41a419?_0x4aebef(0xcd):_0x4aebef(0x187),'newContent':_0x176180};}__name(mergeMcpConfig,_0x10d5b4(0x169));var ClaudeSettingsParseError=class extends Error{static{__name(this,_0x10d5b4(0x111));}constructor(_0x41b136){const _0x4ff759={_0x1b651a:0x15e,_0x127776:0x111},_0x17bf0e=_0x10d5b4;super(_0x41b136),this[_0x17bf0e(_0x4ff759._0x1b651a)]=_0x17bf0e(_0x4ff759._0x127776);}};function mergeClaudeAllowEntries(_0x124d82,_0x482e6e){const _0x2b4eec={_0x372a12:0x1b5,_0x3cdb06:0x1ba,_0x49c13a:0x10f,_0x39e960:0x10f,_0x22c4d5:0x17a,_0x14e1e6:0x14e,_0xceb3a8:0x1a9,_0x44cdc8:0x189,_0x901412:0x17f},_0x316291=_0x10d5b4;if(_0x124d82===null){const _0x40046b=JSON['stringify']({'permissions':{'allow':[..._0x482e6e]}},null,0x2)+'\x0a';return{'action':'created','newContent':_0x40046b,'added':[..._0x482e6e]};}let _0x24697e;try{_0x24697e=JSON['parse'](_0x124d82);}catch(_0x4b2827){throw new ClaudeSettingsParseError('Failed\x20to\x20parse\x20.claude/settings.json\x20as\x20JSON:\x20'+_0x4b2827[_0x316291(_0x2b4eec._0x372a12)]+_0x316291(_0x2b4eec._0x3cdb06));}(!_0x24697e[_0x316291(0x10f)]||typeof _0x24697e[_0x316291(_0x2b4eec._0x49c13a)]!==_0x316291(0x192))&&(_0x24697e[_0x316291(0x10f)]={});const _0x2dbedb=Array[_0x316291(0xec)](_0x24697e['permissions'][_0x316291(0x14e)])?_0x24697e[_0x316291(_0x2b4eec._0x39e960)][_0x316291(0x14e)]:[],_0x4964a9=[];for(const _0xb066ea of _0x482e6e){!_0x2dbedb[_0x316291(0x1b3)](_0xb066ea)&&(_0x2dbedb[_0x316291(_0x2b4eec._0x22c4d5)](_0xb066ea),_0x4964a9[_0x316291(0x17a)](_0xb066ea));}_0x24697e[_0x316291(0x10f)][_0x316291(_0x2b4eec._0x14e1e6)]=_0x2dbedb;if(_0x4964a9[_0x316291(_0x2b4eec._0xceb3a8)]===0x0)return{'action':_0x316291(_0x2b4eec._0x44cdc8),'newContent':_0x124d82,'added':[]};const _0x513ac8=JSON[_0x316291(_0x2b4eec._0x901412)](_0x24697e,null,0x2)+'\x0a';return{'action':_0x316291(0x187),'newContent':_0x513ac8,'added':_0x4964a9};}__name(mergeClaudeAllowEntries,_0x10d5b4(0x198));function mergeClaudeHooks(_0x5eada2,_0x43821e,_0x8c3606,_0x54a3ac){const _0x39ac29={_0x5ab986:0xd4,_0xde4a99:0x192,_0x30be2a:0xd4,_0x461001:0x149,_0x3dcb78:0x17a,_0x3d9669:0x1a9,_0x2c749a:0x17f,_0xdfba0e:0x187,_0x5785eb:0x17f},_0x7e746b=_0x10d5b4;let _0x3d9153;if(_0x5eada2===null)_0x3d9153={};else try{_0x3d9153=JSON[_0x7e746b(0x166)](_0x5eada2);}catch(_0x51b80a){throw new ClaudeSettingsParseError('Failed\x20to\x20parse\x20.claude/settings.json\x20as\x20JSON:\x20'+_0x51b80a[_0x7e746b(0x1b5)]+_0x7e746b(0x1ba));}const _0x5b2c14=_0x3d9153['hooks']&&typeof _0x3d9153[_0x7e746b(_0x39ac29._0x5ab986)]===_0x7e746b(_0x39ac29._0xde4a99)?_0x3d9153[_0x7e746b(_0x39ac29._0x30be2a)]:{},_0x363e6d=[];for(const _0x56c4a6 of _0x43821e){const _0x556e10=Array[_0x7e746b(0xec)](_0x5b2c14[_0x56c4a6])?_0x5b2c14[_0x56c4a6]:[],_0x18d730=_0x556e10['some'](_0x2edf67=>(_0x2edf67[_0x7e746b(0xd4)]??[])[_0x7e746b(0x1c8)](_0x1c312e=>(_0x1c312e[_0x7e746b(0x149)]??'')['includes'](_0x54a3ac)));if(_0x18d730)continue;_0x556e10[_0x7e746b(0x17a)]({'matcher':'*','hooks':[{'type':_0x7e746b(_0x39ac29._0x461001),'command':_0x8c3606}]}),_0x5b2c14[_0x56c4a6]=_0x556e10,_0x363e6d[_0x7e746b(_0x39ac29._0x3dcb78)](_0x56c4a6);}_0x3d9153[_0x7e746b(0xd4)]=_0x5b2c14;if(_0x363e6d[_0x7e746b(_0x39ac29._0x3d9669)]===0x0)return{'action':_0x7e746b(0x189),'newContent':_0x5eada2??JSON[_0x7e746b(_0x39ac29._0x2c749a)](_0x3d9153,null,0x2)+'\x0a','added':[]};return{'action':_0x7e746b(_0x39ac29._0xdfba0e),'newContent':JSON[_0x7e746b(_0x39ac29._0x5785eb)](_0x3d9153,null,0x2)+'\x0a','added':_0x363e6d};}__name(mergeClaudeHooks,_0x10d5b4(0x124));var BEGIN='<!--\x20unotest:begin\x20(managed\x20by\x20@unotest/web\x20init\x20—\x20do\x20not\x20edit\x20inside)\x20-->',END=_0x10d5b4(0x156);function mergeClaudeMd(_0x2a1a7f,_0x1e9380){const _0x15929c={_0x5875a1:0x172,_0x678020:0x150},_0x219927=_0x10d5b4,_0x56c66d=BEGIN+'\x0a'+_0x1e9380['trim']()+'\x0a'+END;if(_0x2a1a7f===null)return{'action':'created','newContent':_0x56c66d+'\x0a'};const _0x50190f=_0x2a1a7f[_0x219927(0x173)](BEGIN);if(_0x50190f===-0x1){const _0x4fdf88=_0x2a1a7f[_0x219927(0xd6)]('\x0a')?_0x2a1a7f:_0x2a1a7f+'\x0a';return{'action':_0x219927(0x12d),'newContent':_0x4fdf88+'\x0a'+_0x56c66d+'\x0a'};}const _0x4727cf=_0x2a1a7f[_0x219927(0x173)](END,_0x50190f);if(_0x4727cf===-0x1){const _0x295b8c=_0x2a1a7f[_0x219927(0xd6)]('\x0a')?_0x2a1a7f:_0x2a1a7f+'\x0a';return{'action':_0x219927(0x12d),'newContent':_0x295b8c+'\x0a'+_0x56c66d+'\x0a'};}const _0x27748f=_0x2a1a7f[_0x219927(_0x15929c._0x5875a1)](0x0,_0x50190f)+_0x56c66d+_0x2a1a7f[_0x219927(_0x15929c._0x5875a1)](_0x4727cf+END['length']);if(_0x27748f===_0x2a1a7f)return{'action':'already-present','newContent':_0x2a1a7f};return{'action':_0x219927(_0x15929c._0x678020),'newContent':_0x27748f};}__name(mergeClaudeMd,_0x10d5b4(0x11f));import{appendUniqueLines}from'@unotest/core';var AGENT_LOG_HOOK_EVENTS=[_0x10d5b4(0xdb),_0x10d5b4(0x142),_0x10d5b4(0x13c),'PreToolUse',_0x10d5b4(0x1bb),'PostToolUseFailure',_0x10d5b4(0x1b6),'SubagentStart','SubagentStop',_0x10d5b4(0xf3),_0x10d5b4(0xe2)];function parseArgs(_0x35fb21){const _0x108c47={_0x2b8468:0x1a9,_0xd86401:0x15b,_0x245949:0x106,_0x519d34:0x140,_0xede45c:0x105},_0x106a5f=_0x10d5b4;let _0x341faf=![],_0x1cfb2a=process['cwd'](),_0x19cfbe;for(let _0x110057=0x0;_0x110057<_0x35fb21[_0x106a5f(_0x108c47._0x2b8468)];_0x110057++){const _0x41ed95=_0x35fb21[_0x110057];if(_0x41ed95===_0x106a5f(0xd8)||_0x41ed95==='-f')_0x341faf=!![];else{if(_0x41ed95===_0x106a5f(0x1a5)){const _0x150459=_0x35fb21[++_0x110057];if(_0x150459===_0x106a5f(_0x108c47._0xd86401)||_0x150459===_0x106a5f(0xd0)||_0x150459==='none')_0x19cfbe=_0x150459;else throw new Error('--browser\x20expects\x20system|bundled|none,\x20got\x20'+String(_0x150459));}else{if(!_0x41ed95[_0x106a5f(_0x108c47._0x245949)]('-'))_0x1cfb2a=_0x479db5(process[_0x106a5f(_0x108c47._0x519d34)](),_0x41ed95);}}}const _0x4d5922={'cwd':_0x1cfb2a,'force':_0x341faf};if(_0x19cfbe!==void 0x0)_0x4d5922[_0x106a5f(_0x108c47._0xede45c)]=_0x19cfbe;return _0x4d5922;}__name(parseArgs,_0x10d5b4(0x1bf));function symbol(_0x4366da){const _0x533abc=_0x10d5b4;return _0x4366da==='ok'?'✓':_0x4366da===_0x533abc(0x1a8)?'⚠':'✗';}__name(symbol,_0x10d5b4(0x138));function readOwnVersion(){const _0x5c9d52={_0x19cf6d:0x1c9,_0x2c80bb:0x1c0,_0x433088:0x1a9},_0x4941d8=_0x10d5b4,_0xc4574d=_0x14aae4(_0x540041(import.meta.url)),_0x59d0da=_0x479db5(_0xc4574d,_0x4941d8(_0x5c9d52._0x19cf6d)),_0x369dfc=readFileSync(_0x59d0da,_0x4941d8(0xdd)),_0x328e96=JSON['parse'](_0x369dfc);if(typeof _0x328e96[_0x4941d8(0x1c0)]!==_0x4941d8(0x107)||_0x328e96[_0x4941d8(_0x5c9d52._0x2c80bb)][_0x4941d8(_0x5c9d52._0x433088)]===0x0)throw new Error(_0x4941d8(0x197)+_0x59d0da+_0x4941d8(0x11d));return _0x328e96[_0x4941d8(_0x5c9d52._0x2c80bb)];}__name(readOwnVersion,'readOwnVersion');function ensureDir(_0x515884){if(!_0x2e3816(_0x515884))mkdirSync(_0x515884,{'recursive':!![]});}__name(ensureDir,_0x10d5b4(0xd5));function writeIfNeeded(_0x2096ad,_0x3bc2f4,_0xfae5b8){const _0x5f4cbc={_0x269a21:0x10c,_0x7ab181:0xf8},_0x132b0d=_0x10d5b4,_0x5675f8=_0x2e3816(_0x2096ad);if(_0x5675f8&&!_0xfae5b8)return _0x132b0d(_0x5f4cbc._0x269a21);return ensureDir(_0x14aae4(_0x2096ad)),writeFileSync(_0x2096ad,_0x3bc2f4),_0x5675f8?_0x132b0d(_0x5f4cbc._0x7ab181):_0x132b0d(0x1a2);}__name(writeIfNeeded,_0x10d5b4(0x171));function writeIfAbsent(_0x420af0,_0x4d5f61){const _0x315dce={_0x33c3f6:0x10c},_0x2d4182=_0x10d5b4;if(_0x2e3816(_0x420af0))return _0x2d4182(_0x315dce._0x33c3f6);return ensureDir(_0x14aae4(_0x420af0)),writeFileSync(_0x420af0,_0x4d5f61),_0x2d4182(0x1a2);}__name(writeIfAbsent,_0x10d5b4(0x134));async function runInit(_0x28ccd2){const _0x4b3044={_0x16aba3:0x1cb,_0x1defd5:0x139,_0x3f70cf:0x1a0,_0x53772e:0x13b,_0x4606dd:0x15e,_0x1d7171:0x102,_0x32fbc1:0x15d,_0x59fc2f:0xef,_0x16295c:0xe9,_0x5428b8:0x19b,_0x576e11:0x10a,_0x5905d4:0x122,_0x367283:0x17a,_0x241bef:0x158,_0x14fd66:0x1b8,_0x8bb18d:0x164,_0xa3e33d:0xda,_0x4af56f:0x140,_0x157122:0x19f,_0xd7e7c6:0x189,_0x2a4d42:0x1be,_0x1544d3:0x1c2,_0x22fe7f:0x14c,_0x25feb5:0x1a7,_0x21fe6a:0xf2,_0x50f869:0x17a,_0x4cc62c:0x140,_0x379db7:0xce,_0x2453a8:0xce,_0x208711:0x17a,_0x4ee04e:0xfc,_0x1a78c0:0x12b,_0x43bfcd:0xdc,_0x3bbc20:0xe3,_0x524582:0x19d,_0x56b868:0xd3,_0x379f72:0xf8,_0x27a705:0x121,_0x516b1b:0xd3,_0x34496f:0x135,_0x79e16:0xd3,_0x12f422:0x1cb,_0x301c77:0xfe,_0x288cd:0xdd,_0x9c2a12:0x146,_0x2aae82:0x17c,_0x2dcb6f:0x1be,_0x4c4ae2:0x1a2,_0x595254:0xe5,_0x1a5b54:0x184,_0x3b9a34:0x1b7,_0x295fbd:0x1ac,_0xed8938:0x196,_0x3fda58:0xe4,_0xcac44a:0xf1,_0x3a491b:0x1b5,_0x21fe6d:0xdf,_0x2e32fa:0xdd,_0x1e8fb2:0x178,_0x478ae8:0x1be,_0x36c07d:0xfa,_0x4c9373:0x189,_0x5cd65a:0x1a2,_0x448a53:0xf5,_0x12da42:0xde,_0x1191fb:0xe1,_0x2e0054:0x1cb,_0x2b17a6:0x196,_0x32e5b9:0x187,_0x3feb9d:0x159,_0x276c6d:0x1a0,_0x34a4d2:0x196,_0x2d746f:0x12f,_0x3b4f96:0x16e,_0x2545e7:0x187,_0xb66090:0x1cb,_0x5b9c1c:0x1a9,_0x7b265c:0x1a0,_0x31e685:0xff,_0x581262:0xfb,_0xee8061:0x157,_0x142486:0x1cb,_0x436de0:0x163,_0x45dcbc:0x105,_0x2ceab4:0x1cc,_0x46767d:0x1cc,_0x37fc77:0x1a0,_0x1abbcd:0x167,_0x32a81c:0x191,_0x40dfd9:0x10b,_0x227a18:0x1b2},_0x149375={_0x6a6b4f:0x1ae,_0x6743dc:0x140,_0x4fa000:0x125,_0x28d71d:0xdd,_0x1a30c3:0x10c},_0x2e7800=_0x10d5b4,_0x19329e=parseArgs(_0x28ccd2);process[_0x2e7800(_0x4b3044._0x16aba3)][_0x2e7800(0x1a0)](_0x2e7800(_0x4b3044._0x1defd5)+_0x19329e[_0x2e7800(0x140)]+'\x0a\x0a'),process['stdout'][_0x2e7800(_0x4b3044._0x3f70cf)](_0x2e7800(_0x4b3044._0x53772e));const _0x2724c1=runEnvironmentChecks({'cwd':_0x19329e['cwd']});let _0x2ed7c9=![];for(const _0x5648cb of _0x2724c1){process[_0x2e7800(0x1cb)][_0x2e7800(0x1a0)]('\x20\x20'+symbol(_0x5648cb[_0x2e7800(0x15d)])+'\x20'+_0x5648cb[_0x2e7800(_0x4b3044._0x4606dd)]+':\x20'+_0x5648cb['message']+'\x0a');if(_0x5648cb[_0x2e7800(_0x4b3044._0x1d7171)])process[_0x2e7800(_0x4b3044._0x16aba3)]['write']('\x20\x20\x20\x20\x20\x20'+_0x5648cb['detail']+'\x0a');if(_0x5648cb[_0x2e7800(_0x4b3044._0x32fbc1)]===_0x2e7800(_0x4b3044._0x59fc2f))_0x2ed7c9=!![];}if(_0x2ed7c9)return process[_0x2e7800(0xe4)]['write'](_0x2e7800(_0x4b3044._0x16295c)),{'exitCode':0x1};process['stdout'][_0x2e7800(0x1a0)](_0x2e7800(0x1b9));const _0x482b57=[];ensureDir(join(_0x19329e[_0x2e7800(0x140)],'unotest/e2e/_helpers'));for(const [_0x48040a,_0x5defc3]of Object[_0x2e7800(_0x4b3044._0x5428b8)](templates[_0x2e7800(_0x4b3044._0x576e11)])){_0x482b57[_0x2e7800(0x17a)]({'path':_0x2e7800(0x120)+_0x48040a,'status':writeIfNeeded(join(_0x19329e['cwd'],_0x2e7800(0x16a),_0x48040a),_0x5defc3,_0x19329e[_0x2e7800(_0x4b3044._0x5905d4)])});}_0x482b57[_0x2e7800(_0x4b3044._0x367283)]({'path':_0x2e7800(0x158),'status':writeIfNeeded(join(_0x19329e['cwd'],_0x2e7800(_0x4b3044._0x241bef)),templates['scenarioTemplate'],_0x19329e[_0x2e7800(0x122)])}),_0x482b57[_0x2e7800(0x17a)]({'path':_0x2e7800(_0x4b3044._0x14fd66),'status':writeIfNeeded(join(_0x19329e[_0x2e7800(0x140)],_0x2e7800(0x1b8)),'',_0x19329e['force'])}),_0x482b57[_0x2e7800(_0x4b3044._0x367283)]({'path':_0x2e7800(_0x4b3044._0x8bb18d),'status':writeIfNeeded(join(_0x19329e['cwd'],_0x2e7800(0x164)),templates[_0x2e7800(_0x4b3044._0xa3e33d)],_0x19329e['force'])});{const _0x27b528=join(_0x19329e[_0x2e7800(_0x4b3044._0x4af56f)],_0x2e7800(_0x4b3044._0x157122)),_0x5ef623=_0x2e3816(_0x27b528)?readFileSync(_0x27b528,_0x2e7800(0xdd)):null,_0x2c778e=mergeClaudeMd(_0x5ef623,templates['claudeMdBody']);_0x2c778e['action']!==_0x2e7800(_0x4b3044._0xd7e7c6)&&writeFileSync(_0x27b528,_0x2c778e[_0x2e7800(_0x4b3044._0x2a4d42)]),_0x482b57[_0x2e7800(0x17a)]({'path':_0x2e7800(_0x4b3044._0x157122),'status':_0x2c778e['action']===_0x2e7800(0x189)?'skipped':_0x2c778e[_0x2e7800(_0x4b3044._0x1544d3)]});}_0x482b57['push']({'path':'unotest/.env.example','status':writeIfNeeded(join(_0x19329e[_0x2e7800(_0x4b3044._0x4af56f)],_0x2e7800(_0x4b3044._0x22fe7f)),templates[_0x2e7800(_0x4b3044._0x25feb5)],_0x19329e[_0x2e7800(0x122)])}),_0x482b57['push']({'path':_0x2e7800(0xf2),'status':writeIfAbsent(join(_0x19329e['cwd'],_0x2e7800(_0x4b3044._0x21fe6a)),templates[_0x2e7800(0x1a7)])}),_0x482b57[_0x2e7800(_0x4b3044._0x50f869)]({'path':'unotest/.secrets','status':writeIfAbsent(join(_0x19329e[_0x2e7800(_0x4b3044._0x4cc62c)],'unotest/.secrets'),templates['secretsExample'])});const _0x55cdf8=join(_0x19329e[_0x2e7800(0x140)],_0x2e7800(_0x4b3044._0x379db7));_0x482b57[_0x2e7800(0x17a)]({'path':_0x2e7800(_0x4b3044._0x2453a8),'status':writeIfNeeded(_0x55cdf8,unotestConfigMjs(void 0x0),_0x19329e[_0x2e7800(_0x4b3044._0x5905d4)])});const _0x5867d8=_0x14aae4(_0x540041(import.meta.url)),_0x50bd62=__name((_0x2be528,_0x16b7c8)=>{const _0x102d0e=_0x2e7800,_0x1a43f4=_0x479db5(_0x5867d8,_0x102d0e(_0x149375._0x6a6b4f),_0x2be528),_0x23decd=join(_0x19329e[_0x102d0e(_0x149375._0x6743dc)],_0x2be528);if(!_0x2e3816(_0x1a43f4))return{'path':_0x2be528,'status':_0x16b7c8+_0x102d0e(_0x149375._0x4fa000)};if(_0x2e3816(_0x23decd)){if(readFileSync(_0x23decd,_0x102d0e(_0x149375._0x28d71d))===readFileSync(_0x1a43f4,_0x102d0e(_0x149375._0x28d71d)))return{'path':_0x2be528,'status':_0x102d0e(_0x149375._0x1a30c3)};return copyFileSync(_0x1a43f4,_0x23decd),{'path':_0x2be528,'status':_0x102d0e(0x150)};}return ensureDir(_0x14aae4(_0x23decd)),copyFileSync(_0x1a43f4,_0x23decd),{'path':_0x2be528,'status':'created'};},'copyPackageFile');_0x482b57[_0x2e7800(_0x4b3044._0x208711)](_0x50bd62(_0x2e7800(_0x4b3044._0x4ee04e),_0x2e7800(_0x4b3044._0x1a78c0)),_0x50bd62(_0x2e7800(_0x4b3044._0x43bfcd),_0x2e7800(_0x4b3044._0x3bbc20))),_0x482b57[_0x2e7800(0x17a)](_0x50bd62(_0x2e7800(0x1a6),_0x2e7800(_0x4b3044._0x524582)));for(const _0x56859f of _0x482b57){const _0x8851b1=_0x56859f['status']==='created'?'✓\x20created':_0x56859f[_0x2e7800(_0x4b3044._0x56b868)]===_0x2e7800(_0x4b3044._0x379f72)?'✓\x20overwrote':_0x56859f[_0x2e7800(0xd3)]===_0x2e7800(0x150)?_0x2e7800(_0x4b3044._0x27a705):_0x56859f[_0x2e7800(_0x4b3044._0x516b1b)][_0x2e7800(0x106)](_0x2e7800(0x10c))?_0x2e7800(_0x4b3044._0x34496f):'·\x20'+_0x56859f[_0x2e7800(_0x4b3044._0x79e16)];process[_0x2e7800(_0x4b3044._0x12f422)][_0x2e7800(0x1a0)]('\x20\x20'+_0x8851b1+'\x20\x20'+_0x56859f[_0x2e7800(_0x4b3044._0x301c77)]+'\x0a');}process['stdout'][_0x2e7800(0x1a0)]('\x0aMCP\x20config:\x0a');const _0x280fc2=join(_0x19329e['cwd'],_0x2e7800(0x16f)),_0xda0fb6=_0x2e3816(_0x280fc2)?readFileSync(_0x280fc2,_0x2e7800(_0x4b3044._0x288cd)):null,_0x2074d3=readOwnVersion(),_0x5910bb={'command':_0x2e7800(0xe6),'args':['-y',_0x2e7800(_0x4b3044._0x9c2a12)+_0x2074d3,_0x2e7800(_0x4b3044._0x2aae82)]};try{const _0x131a16=mergeMcpConfig(_0xda0fb6,'unotest-web',_0x5910bb,{'force':_0x19329e[_0x2e7800(_0x4b3044._0x5905d4)]});_0x131a16['action']!==_0x2e7800(0x189)&&writeFileSync(_0x280fc2,_0x131a16[_0x2e7800(_0x4b3044._0x2dcb6f)]);const _0x248a6a=_0x131a16[_0x2e7800(0x1c2)]===_0x2e7800(_0x4b3044._0x4c4ae2)?_0x2e7800(_0x4b3044._0x595254):_0x131a16['action']===_0x2e7800(0x187)?_0x2e7800(_0x4b3044._0x1a5b54):_0x131a16[_0x2e7800(0x1c2)]==='force-overwrote'?_0x2e7800(_0x4b3044._0x3b9a34):_0x2e7800(_0x4b3044._0x295fbd);process['stdout'][_0x2e7800(0x1a0)](_0x2e7800(_0x4b3044._0xed8938)+_0x248a6a+'\x0a');}catch(_0x3e5f8a){if(_0x3e5f8a instanceof McpJsonParseError)return process[_0x2e7800(_0x4b3044._0x3fda58)]['write'](_0x2e7800(_0x4b3044._0xcac44a)+_0x3e5f8a[_0x2e7800(_0x4b3044._0x3a491b)]+'\x0a'),{'exitCode':0x1};throw _0x3e5f8a;}process['stdout'][_0x2e7800(0x1a0)](_0x2e7800(_0x4b3044._0x21fe6d));const _0x177f81=join(_0x19329e[_0x2e7800(0x140)],_0x2e7800(0xd9)),_0x26b6aa=_0x2e3816(_0x177f81)?readFileSync(_0x177f81,_0x2e7800(_0x4b3044._0x2e32fa)):null;try{const _0xf09386=mergeClaudeAllowEntries(_0x26b6aa,[_0x2e7800(0x132)]),_0x21b8c0=_0x2e7800(_0x4b3044._0x1e8fb2),_0x2194a3=mergeClaudeHooks(_0xf09386[_0x2e7800(_0x4b3044._0x478ae8)],AGENT_LOG_HOOK_EVENTS,_0x21b8c0,_0x2e7800(_0x4b3044._0x36c07d));(_0xf09386[_0x2e7800(0x1c2)]!==_0x2e7800(_0x4b3044._0xd7e7c6)||_0x2194a3[_0x2e7800(_0x4b3044._0x1544d3)]!==_0x2e7800(_0x4b3044._0x4c9373))&&(ensureDir(_0x14aae4(_0x177f81)),writeFileSync(_0x177f81,_0x2194a3[_0x2e7800(0x1be)]));const _0x5c0ea4=_0xf09386[_0x2e7800(0x1c2)]===_0x2e7800(_0x4b3044._0x5cd65a)?_0x2e7800(_0x4b3044._0x448a53):_0xf09386['action']===_0x2e7800(0x187)?_0x2e7800(_0x4b3044._0x12da42)+_0xf09386['added']['join'](',\x20'):_0x2e7800(_0x4b3044._0x1191fb);process[_0x2e7800(_0x4b3044._0x2e0054)][_0x2e7800(0x1a0)](_0x2e7800(_0x4b3044._0x2b17a6)+_0x5c0ea4+'\x0a');const _0x194530=_0x2194a3['action']===_0x2e7800(_0x4b3044._0x32e5b9)?_0x2e7800(0x190)+_0x2194a3[_0x2e7800(0x187)]['length']+_0x2e7800(_0x4b3044._0x3feb9d):'agent-trace\x20hooks\x20already\x20present';process[_0x2e7800(0x1cb)][_0x2e7800(_0x4b3044._0x276c6d)](_0x2e7800(_0x4b3044._0x34a4d2)+_0x194530+'\x0a');}catch(_0x26d837){if(_0x26d837 instanceof ClaudeSettingsParseError)return process[_0x2e7800(_0x4b3044._0x3fda58)][_0x2e7800(0x1a0)](_0x2e7800(0xf1)+_0x26d837['message']+'\x0a'),{'exitCode':0x1};throw _0x26d837;}process['stdout'][_0x2e7800(_0x4b3044._0x276c6d)]('\x0a.gitignore:\x0a');const _0x5b1730=join(_0x19329e[_0x2e7800(0x140)],'.gitignore'),_0x558565=_0x2e3816(_0x5b1730)?readFileSync(_0x5b1730,_0x2e7800(0xdd)):null,_0x88ffdd=appendUniqueLines(_0x558565,['unotest/.env*','!unotest/.env.example',_0x2e7800(_0x4b3044._0x2d746f),'.unotest/','unotest/.runs*/',_0x2e7800(0x16b),'unotest/.snapshots/',_0x2e7800(_0x4b3044._0x3b4f96),_0x2e7800(0x168),_0x2e7800(0x180)]);if(_0x88ffdd[_0x2e7800(0x187)]['length']>0x0){writeFileSync(_0x5b1730,_0x88ffdd[_0x2e7800(0x1be)]);for(const _0x9ee6c7 of _0x88ffdd[_0x2e7800(_0x4b3044._0x2545e7)]){process[_0x2e7800(_0x4b3044._0x16aba3)][_0x2e7800(0x1a0)]('\x20\x20✓\x20added\x20\x22'+_0x9ee6c7+'\x22\x0a');}}for(const _0x23453f of _0x88ffdd[_0x2e7800(0xd7)]){process[_0x2e7800(_0x4b3044._0xb66090)][_0x2e7800(0x1a0)](_0x2e7800(0x17d)+_0x23453f+'\x22\x0a');}_0x88ffdd['added'][_0x2e7800(_0x4b3044._0x5b9c1c)]===0x0&&_0x88ffdd['alreadyPresent'][_0x2e7800(0x1a9)]===0x0&&process[_0x2e7800(_0x4b3044._0x2e0054)][_0x2e7800(_0x4b3044._0x7b265c)](_0x2e7800(0x13e));process[_0x2e7800(0x1cb)][_0x2e7800(0x1a0)](_0x2e7800(_0x4b3044._0x31e685));const _0x55bfac=probeSystemBrowser(),_0x57c3bc=Boolean(process[_0x2e7800(_0x4b3044._0x581262)][_0x2e7800(_0x4b3044._0xee8061)])&&Boolean(process[_0x2e7800(_0x4b3044._0x142486)]['isTTY']),_0x4f6800={'probe':_0x55bfac,'interactive':_0x57c3bc};if(_0x19329e[_0x2e7800(0x105)])_0x4f6800[_0x2e7800(_0x4b3044._0x436de0)]=_0x19329e[_0x2e7800(_0x4b3044._0x45dcbc)];const _0x59e418=await chooseBrowser(_0x4f6800);writeFileSync(_0x55cdf8,unotestConfigMjs(_0x59e418['channel']));const _0x49962c=_0x59e418[_0x2e7800(_0x4b3044._0x2ceab4)]===void 0x0?'no\x20channel\x20set\x20(bundled\x20fallback\x20after\x20install-chromium)':_0x59e418['channel']===null?'channel:\x20null\x20(bundled\x20chromium)':_0x2e7800(0x194)+_0x59e418[_0x2e7800(_0x4b3044._0x46767d)]+'\x27';process['stdout'][_0x2e7800(_0x4b3044._0x37fc77)](_0x2e7800(_0x4b3044._0x1abbcd)+_0x49962c+'\x0a'),process[_0x2e7800(0x1cb)][_0x2e7800(0x1a0)](_0x2e7800(_0x4b3044._0x32a81c));if(_0x59e418['warnings'][_0x2e7800(0x1a9)]>0x0){for(const _0x441fff of _0x59e418[_0x2e7800(_0x4b3044._0x40dfd9)])process['stdout'][_0x2e7800(0x1a0)]('\x20\x20'+_0x441fff+'\x0a');process[_0x2e7800(0x1cb)]['write']('\x0a');}return process['stdout']['write'](_0x2e7800(_0x4b3044._0x227a18)),{'exitCode':0x0};}__name(runInit,_0x10d5b4(0x145));var invokedDirectly2=process[_0x10d5b4(0x147)][0x1]&&_0x540041(import.meta.url)===process[_0x10d5b4(0x147)][0x1];invokedDirectly2&&runInit(process[_0x10d5b4(0x147)][_0x10d5b4(0x172)](0x2))[_0x10d5b4(0x12a)](({exitCode:_0x2427e1})=>{process['exitCode']=_0x2427e1;})[_0x10d5b4(0x18b)](_0x3a52f3=>{const _0x17e7d4={_0x3dc5b3:0x108,_0x1f2917:0x1b5},_0x3a525e=_0x10d5b4;process[_0x3a525e(0xe4)][_0x3a525e(0x1a0)](_0x3a525e(_0x17e7d4._0x3dc5b3)+(_0x3a52f3 instanceof Error?_0x3a52f3[_0x3a525e(_0x17e7d4._0x1f2917)]:String(_0x3a52f3))+'\x0a'),process[_0x3a525e(0x116)]=0x1;});export{runInit};
|
|
1
|
+
const _0x31632c=_0x4ce7;(function(_0x2dd9cd,_0x387da4){const _0x424892={_0x598bc9:0x1a5,_0x57ff03:0x205,_0x1ce8d7:0x201,_0x3a68b0:0x1b8,_0x1c7ff7:0x1c3},_0x4f4fc9=_0x4ce7,_0x1b7113=_0x2dd9cd();while(!![]){try{const _0x277491=parseInt(_0x4f4fc9(_0x424892._0x598bc9))/0x1+parseInt(_0x4f4fc9(0x191))/0x2+parseInt(_0x4f4fc9(0x19a))/0x3+-parseInt(_0x4f4fc9(0x24a))/0x4*(parseInt(_0x4f4fc9(0x1ab))/0x5)+-parseInt(_0x4f4fc9(_0x424892._0x57ff03))/0x6*(-parseInt(_0x4f4fc9(_0x424892._0x1ce8d7))/0x7)+-parseInt(_0x4f4fc9(_0x424892._0x3a68b0))/0x8*(-parseInt(_0x4f4fc9(0x174))/0x9)+-parseInt(_0x4f4fc9(_0x424892._0x1c7ff7))/0xa;if(_0x277491===_0x387da4)break;else _0x1b7113['push'](_0x1b7113['shift']());}catch(_0x2b37c1){_0x1b7113['push'](_0x1b7113['shift']());}}}(_0x4968,0x5bbd6));var __defProp=Object[_0x31632c(0x240)],__name=(_0x373a16,_0x4c47a9)=>__defProp(_0x373a16,_0x31632c(0x22e),{'value':_0x4c47a9,'configurable':!![]});import{copyFileSync,existsSync as _0x19a530,mkdirSync,readFileSync,writeFileSync}from'fs';import{dirname as _0x1558ec,join,resolve as _0x368fda}from'path';import{fileURLToPath as _0xed0a8d}from'url';import{existsSync as _0x515d0e}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x20465b={_0xa080bf:0x1e2},_0x370447=_0x31632c;for(const _0x303263 of[probeChrome,probeEdge,probeChromeBeta]){const _0x5751a9=_0x303263();if(_0x5751a9[_0x370447(_0x20465b._0xa080bf)]!==null)return _0x5751a9;}return{'channel':null};}__name(probeSystemBrowser,_0x31632c(0x190));function probeChrome(){const _0x5a9253={_0x4a711d:0x264},_0x36cda6=_0x31632c,_0x46fcde=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x46fcde)return{'channel':_0x36cda6(_0x5a9253._0x4a711d),'path':_0x46fcde,'label':'Google\x20Chrome'};return{'channel':null};}__name(probeChrome,'probeChrome');function probeEdge(){const _0x3ba4d7={_0x596cb0:0x185,_0x17d614:0x206},_0x5705ce=_0x31632c,_0x521a2b=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x521a2b)return{'channel':_0x5705ce(_0x3ba4d7._0x596cb0),'path':_0x521a2b,'label':_0x5705ce(_0x3ba4d7._0x17d614)};return{'channel':null};}__name(probeEdge,_0x31632c(0x1c1));function probeChromeBeta(){const _0x4aa5bc={_0x3a1ba4:0x180},_0x66d9e4=_0x31632c,_0x3edefb=firstExistingPath(CHROME_BETA_PATHS);if(_0x3edefb)return{'channel':_0x66d9e4(_0x4aa5bc._0x3a1ba4),'path':_0x3edefb,'label':_0x66d9e4(0x20d)};return{'channel':null};}__name(probeChromeBeta,_0x31632c(0x193));var CHROME_PATHS=((()=>{const _0xeeaefe={_0x24e7b:0x1f6,_0x4656da:0x228,_0x5d5a4b:0x256,_0x1fcf35:0x19e,_0x340915:0x21b},_0x533233=_0x31632c;switch(process['platform']){case _0x533233(0x250):return['/Applications/Google\x20Chrome.app/Contents/MacOS/Google\x20Chrome'];case _0x533233(0x1e6):return[process[_0x533233(_0xeeaefe._0x24e7b)][_0x533233(_0xeeaefe._0x4656da)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process[_0x533233(0x1f6)][_0x533233(_0xeeaefe._0x5d5a4b)]+_0x533233(_0xeeaefe._0x1fcf35),process[_0x533233(_0xeeaefe._0x24e7b)][_0x533233(0x1cd)]+_0x533233(0x19e)];default:return[_0x533233(0x184),'/usr/bin/google-chrome-stable','/snap/bin/google-chrome',_0x533233(_0xeeaefe._0x340915),_0x533233(0x233)];}})()),CHROME_BIN_NAMES=[_0x31632c(0x16e),_0x31632c(0x217),'chromium',_0x31632c(0x20f)],EDGE_PATHS=((()=>{const _0xd928b={_0x5053e2:0x223,_0x3b2dbc:0x1f6,_0x2c9f44:0x228,_0x346be6:0x225,_0x5e6066:0x186},_0x43b1a1=_0x31632c;switch(process[_0x43b1a1(_0xd928b._0x5053e2)]){case'darwin':return['/Applications/Microsoft\x20Edge.app/Contents/MacOS/Microsoft\x20Edge'];case _0x43b1a1(0x1e6):return[process[_0x43b1a1(_0xd928b._0x3b2dbc)][_0x43b1a1(_0xd928b._0x2c9f44)]+_0x43b1a1(_0xd928b._0x346be6),process[_0x43b1a1(0x1f6)][_0x43b1a1(0x256)]+_0x43b1a1(0x225)];default:return[_0x43b1a1(_0xd928b._0x5e6066),'/usr/bin/microsoft-edge-stable'];}})()),EDGE_BIN_NAMES=[_0x31632c(0x1c6),_0x31632c(0x16a)],CHROME_BETA_PATHS=((()=>{const _0x20925d={_0x4669f8:0x1c9,_0x16085d:0x1e6,_0x96def2:0x1f6},_0x1ff04c=_0x31632c;switch(process['platform']){case _0x1ff04c(0x250):return[_0x1ff04c(_0x20925d._0x4669f8)];case _0x1ff04c(_0x20925d._0x16085d):return[process[_0x1ff04c(_0x20925d._0x96def2)]['ProgramFiles']+'\x5cGoogle\x5cChrome\x20Beta\x5cApplication\x5cchrome.exe'];default:return[_0x1ff04c(0x1ec)];}})());function firstExistingPath(_0x58bcc1){const _0x238546=_0x31632c;for(const _0x4c4d3c of _0x58bcc1){if(!_0x4c4d3c||_0x4c4d3c[_0x238546(0x181)](_0x238546(0x1ac)))continue;if(existsSync(_0x4c4d3c))return _0x4c4d3c;}return null;}__name(firstExistingPath,_0x31632c(0x170));function whichOf(_0xad8b16){const _0x469d90={_0x552256:0x1e6,_0x2ab4c8:0x177,_0x348560:0x200},_0x37c212=_0x31632c;if(process['platform']===_0x37c212(_0x469d90._0x552256))return void 0x0;for(const _0x5094da of _0xad8b16){try{const _0x394773=execFileSync(_0x37c212(0x229),[_0x5094da],{'encoding':_0x37c212(_0x469d90._0x2ab4c8)})[_0x37c212(_0x469d90._0x348560)]();if(_0x394773[_0x37c212(0x246)]>0x0&&existsSync(_0x394773))return _0x394773;}catch{}}return void 0x0;}__name(whichOf,_0x31632c(0x1ca));function _0x4ce7(_0x196fe7,_0x363755){_0x196fe7=_0x196fe7-0x167;const _0x496804=_0x4968();let _0x4ce721=_0x496804[_0x196fe7];if(_0x4ce7['TannaB']===undefined){var _0x271267=function(_0xe4e700){const _0x49b1b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19a530='',_0x1558ec='';for(let _0x368fda=0x0,_0xed0a8d,_0x515d0e,_0x373a16=0x0;_0x515d0e=_0xe4e700['charAt'](_0x373a16++);~_0x515d0e&&(_0xed0a8d=_0x368fda%0x4?_0xed0a8d*0x40+_0x515d0e:_0x515d0e,_0x368fda++%0x4)?_0x19a530+=String['fromCharCode'](0xff&_0xed0a8d>>(-0x2*_0x368fda&0x6)):0x0){_0x515d0e=_0x49b1b6['indexOf'](_0x515d0e);}for(let _0x4c47a9=0x0,_0x303263=_0x19a530['length'];_0x4c47a9<_0x303263;_0x4c47a9++){_0x1558ec+='%'+('00'+_0x19a530['charCodeAt'](_0x4c47a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1558ec);};_0x4ce7['bAwHEk']=_0x271267,_0x4ce7['FigNbc']={},_0x4ce7['TannaB']=!![];}const _0x273312=_0x496804[0x0],_0x162b06=_0x196fe7+_0x273312,_0x4d63cf=_0x4ce7['FigNbc'][_0x162b06];return!_0x4d63cf?(_0x4ce721=_0x4ce7['bAwHEk'](_0x4ce721),_0x4ce7['FigNbc'][_0x162b06]=_0x4ce721):_0x4ce721=_0x4d63cf,_0x4ce721;}function runEnvironmentChecks(_0x1a4929={}){const _0x4a0c73={_0x400bad:0x258},_0x20acc3=_0x31632c,_0x183759=_0x1a4929['cwd']??process[_0x20acc3(_0x4a0c73._0x400bad)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x183759)];}__name(runEnvironmentChecks,_0x31632c(0x1f3));function checkNodeVersion(){const _0xe3e718={_0x3aa3c6:0x242,_0x2c3f2e:0x25a,_0x35fadd:0x22f},_0x6f3613=_0x31632c,_0x5bb5c7=process[_0x6f3613(0x1eb)]['node'],_0x46c4f0=Number(_0x5bb5c7[_0x6f3613(_0xe3e718._0x3aa3c6)]('.')[0x0]);if(!Number[_0x6f3613(_0xe3e718._0x2c3f2e)](_0x46c4f0)||_0x46c4f0<0x14)return{'name':_0x6f3613(_0xe3e718._0x35fadd),'severity':'error','message':_0x6f3613(0x1e0)+_0x5bb5c7+')','detail':_0x6f3613(0x1e7)};return{'name':_0x6f3613(0x22f),'severity':'ok','message':_0x5bb5c7};}__name(checkNodeVersion,_0x31632c(0x220));function checkSystemBrowser(){const _0xc111d9={_0x3356a8:0x183,_0xdefb7e:0x1b0},_0x26494f=_0x31632c,_0x2b2d18=probeSystemBrowser();if(_0x2b2d18[_0x26494f(0x1e2)]!==null)return{'name':'System\x20browser','severity':'ok','message':_0x2b2d18[_0x26494f(_0xc111d9._0x3356a8)]+'\x20found','detail':_0x2b2d18[_0x26494f(0x224)]};return{'name':_0x26494f(_0xc111d9._0xdefb7e),'severity':_0x26494f(0x252),'message':'no\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20detected','detail':'init\x20will\x20offer\x20to\x20download\x20bundled\x20Chromium\x20(~150\x20MB).\x20Alternatively,\x20install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run.'};}__name(checkSystemBrowser,_0x31632c(0x1bd));function checkWritableCwd(_0x3c4f73){const _0x1a2a72={_0x3d1e55:0x1ed,_0x198c75:0x1c7},_0x41561a=_0x31632c;if(!_0x515d0e(_0x3c4f73))return{'name':_0x41561a(0x1c7),'severity':_0x41561a(0x18a),'message':_0x41561a(0x17f)+_0x3c4f73+'\x20does\x20not\x20exist','detail':_0x41561a(_0x1a2a72._0x3d1e55)};return{'name':_0x41561a(_0x1a2a72._0x198c75),'severity':'ok','message':_0x3c4f73};}__name(checkWritableCwd,'checkWritableCwd');var templates={'scenarioTemplate':'//\x20Move\x20+\x20rename\x20this\x20file\x20to\x20<feature>/<your_name>.js\x20(e.g.\x0a//\x20auth/login.js)\x20and\x20the\x20function\x20below\x20to\x20test_<your_name>().\x20Scenarios\x20live\x0a//\x20in\x20feature\x20subfolders,\x20NOT\x20the\x20e2e\x20root\x20—\x20the\x20linter\x20(lint:scenario-in-root)\x0a//\x20rejects\x20a\x20test\x20file\x20placed\x20directly\x20in\x20unotest/e2e/.\x20The\x20loader\x20derives\x20the\x0a//\x20entry\x20name\x20from\x20the\x20file\x20basename\x20—\x20kebab-case\x20dashes\x20become\x20underscores.\x0a\x0a//\x20Every\x20executable\x20step\x20must\x20sit\x20inside\x20a\x20step(\x22...\x22,\x20()\x20=>\x20{\x20…\x20})\x20block.\x20The\x0a//\x20title\x20is\x20a\x20plain-English\x20description\x20of\x20the\x20group;\x20the\x20steps\x20inside\x20are\x0a//\x20the\x20implementation.\x20Group\x20by\x20intent\x20(Setup\x20/\x20Enter\x20/\x20Act\x20/\x20Assert\x20or\x0a//\x20whatever\x20reads\x20well)\x20—\x20one\x20block\x20per\x20logical\x20chunk.\x0a\x0afunction\x20test_your_name_here()\x20{\x0a\x20\x20step(\x22Seed\x20a\x20known\x20user\x20via\x20DB\x20/\x20API\x20fixtures\x20from\x20_helpers/\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20wipe_e2e_users();\x0a\x20\x20\x20\x20//\x20\x20\x20\x20user_id\x20=\x20seed_user(\x27alice@example.com\x27,\x20\x27secret\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20seeded\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://your-app.test/login\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27alice@example.com\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20\x27secret\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Assert\x20the\x20dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertUrl(\x27/dashboard\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome,\x20Alice\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20count\x20=\x20dbQuery(\x27SELECT\x20count(*)\x20FROM\x20users\x20WHERE\x20active\x20=\x20true\x27);\x0a\x20\x20\x20\x20//\x20\x20\x20\x20assertTrue(count\x20>\x200,\x20\x27expected\x20at\x20least\x20one\x20active\x20user\x27);\x0a\x20\x20});\x0a}\x0a','agentsMd':_0x31632c(0x1ee),'claudeMdBody':_0x31632c(0x196),'examples':{'01-smoke.js':'//\x20Example\x2001\x20—\x20smoke:\x20navigate\x20+\x20click\x20+\x20URL\x20assertion.\x0a//\x0a//\x20The\x20minimal\x20three-step\x20pattern.\x20Hits\x20playground.unotest.com\x20so\x20no\x20project\x0a//\x20setup\x20is\x20needed.\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/01-smoke\x0a\x0afunction\x20test_smoke_playground()\x20{\x0a\x20\x20step(\x22Open\x20the\x20Big\x20Table\x20scenario\x20from\x20the\x20playground\x20index\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27link\x27,\x20{name:\x20\x27Big\x20Table\x27,\x20exact:\x20true}));\x0a\x20\x20\x20\x20assertUrl(\x27/scenarios/big-table\x27);\x0a\x20\x20});\x0a}\x0a','02-form-fill.js':_0x31632c(0x24e)},'secretsExample':_0x31632c(0x1bc),'envExample':'#\x20unotest-web\x20—\x20copied\x20to\x20unotest/.env\x20by\x20`init`\x20if\x20not\x20present.\x0a#\x0a#\x20Fill\x20in\x20values\x20that\x20apply\x20to\x20your\x20project.\x20Variables\x20are\x20loaded\x20by\x20the\x0a#\x20runner\x20at\x20scenario\x20start.\x0a#\x0a#\x20Reference\x20any\x20variable\x20from\x20a\x20scenario\x20by\x20its\x20bare\x20UPPER_SNAKE\x20name\x20—\x0a#\x20no\x20env()/secret()\x20wrapper:\x0a#\x0a#\x20\x20\x20goto(\x27/login\x27);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20relative\x20—\x20see\x20APP_BASE_URL\x0a#\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20TEST_USER_EMAIL);\x0a#\x0a#\x20Secret\x20values\x20(passwords,\x20tokens)\x20go\x20in\x20unotest/.secrets\x20instead\x20—\x20same\x0a#\x20format,\x20but\x20masked\x20in\x20every\x20log.\x20An\x20unknown\x20UPPER_SNAKE\x20name\x20fails\x20the\x0a#\x20run\x20with\x20a\x20clear\x20\x22add\x20it\x20to\x20unotest/.env\x22\x20message.\x0a#\x0a#\x20Environments:\x20override\x20any\x20value\x20per\x20environment\x20with\x20overlay\x20files\x20—\x0a#\x20unotest/.env.staging,\x20unotest/.env.production\x20(secrets:\x20.secrets.<env>).\x0a#\x20Select\x20one:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x20--env\x20staging`.\x20The\x20overlay\x20layers\x0a#\x20over\x20this\x20base\x20file\x20(overlay\x20wins);\x20the\x20shell\x20environment\x20wins\x20over\x20both.\x0a\x0a#\x20---\x20App\x20under\x20test\x20--------------------------------------------------------\x0a#\x20The\x20app\x27s\x20base\x20URL.\x20Relative\x20goto(\x27/path\x27)\x20resolves\x20against\x20it\x20(wired\x20into\x0a#\x20Playwright\x27s\x20baseURL\x20automatically),\x20so\x20write\x20goto(\x27/login\x27)\x20—\x20never\x0a#\x20goto(APP_BASE_URL\x20+\x20\x27/login\x27).\x20Also\x20used\x20for\x20assertUrl\x20substring\x20matching.\x0a#\x20Defaults\x20to\x20the\x20unotest\x20playground\x20so\x20the\x20example\x20scenarios\x20run\x20out\x20of\x20the\x0a#\x20box;\x20point\x20it\x20at\x20your\x20own\x20app.\x0aAPP_BASE_URL=https://playground.unotest.com\x0a\x0a#\x20---\x20Database\x20--------------------------------------------------------------\x0a#\x20Used\x20by\x20dbQuery\x20/\x20dbExec.\x20Install\x20the\x20matching\x20driver\x20as\x20a\x20peer-dep:\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20pg\x20@types/pg\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20postgresql://\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20mysql2\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20mysql://\x0a#\x20(SQLite\x20via\x20better-sqlite3\x20—\x20install\x20only\x20if\x20needed.)\x0aDATABASE_URL=postgresql://postgres:postgres@localhost:5432/myapp_test\x0a\x0a#\x20---\x20Extra\x20API\x20hosts\x20-------------------------------------------------------\x0a#\x20apiCall(...)\x20goes\x20against\x20sandbox.apiBaseUrl\x20from\x20unotest.config.*\x20by\x0a#\x20default.\x20A\x20setup\x20that\x20talks\x20to\x20MORE\x20hosts\x20names\x20them\x20here\x20and\x20picks\x20one\x0a#\x20per\x20call\x20by\x20the\x20variable\x20NAME\x20(URLs\x20never\x20appear\x20in\x20scenarios):\x0a#\x20\x20\x20apiCall(\x27POST\x27,\x20\x27/things\x27,\x20body,\x20headers,\x20{base:\x20\x27API_BASE_CHAT\x27})\x0a#\x20API_BASE_CHAT=https://chatbackend.example.com\x0a\x0a#\x20---\x20Runner\x20--------------------------------------------------------------\x0a#\x20Show\x20the\x20browser\x20window\x20during\x20runs\x20(default:\x20headless).\x0a#\x20UNOTEST_HEADED=1\x0a#\x20Slow\x20each\x20Playwright\x20op\x20by\x20N\x20ms\x20(default:\x200).\x20Pairs\x20with\x20HEADED\x20for\x0a#\x20watching\x20the\x20agent\x20at\x20work.\x0a#\x20UNOTEST_SLOW_MO=100\x0a#\x20Browser\x20used\x20by\x20the\x20CLI\x20(chromium\x20|\x20firefox\x20|\x20webkit).\x20Default:\x20chromium.\x0a#\x20UNOTEST_BROWSER=chromium\x0a#\x20Default\x20action\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20every\x20click\x20/\x0a#\x20fill\x20/\x20waitFor\x20/\x20etc.\x20via\x20Playwright\x27s\x20setDefaultTimeout.\x20Default\x203000.\x0a#\x20Bump\x20if\x20your\x20app\x20is\x20slow;\x20per-action\x20override\x20via\x20the\x20action\x27s\x0a#\x20options.timeout.\x20Playwright\x27s\x20stock\x2030000\x20strands\x20interactive\x20agents.\x0a#\x20UNOTEST_DEFAULT_TIMEOUT_MS=3000\x0a#\x20Default\x20navigation\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20goto\x20/\x20reload\x20/\x0a#\x20waitForUrl,\x20click\x27s\x20post-action\x20navigation\x20wait,\x20AND\x20setPage\x27s\x20wait\x20for\x20a\x0a#\x20newly\x20opened\x20tab\x20to\x20appear\x20+\x20load.\x20Real-world\x20pages\x20routinely\x20take\x205–15s\x0a#\x20to\x20fire\x20\x27load\x27;\x20keep\x20this\x20separate\x20from\x20the\x20action\x20timeout\x20above.\x0aUNOTEST_DEFAULT_NAVIGATION_TIMEOUT_MS=15000\x0a\x0a#\x20Per-run\x20wall-clock\x20budget\x20in\x20milliseconds\x20—\x20a\x20run\x20aborts\x20once\x20it\x20exceeds\x0a#\x20this.\x20Guards\x20against\x20a\x20stuck\x20scenario\x20hanging\x20the\x20agent\x20indefinitely.\x0a#\x20Invalid\x20or\x20non-positive\x20values\x20fall\x20back\x20to\x20the\x20default.\x20Default\x20300000.\x0a#\x20UNOTEST_MAX_DURATION_MS=300000\x0a\x0a#\x20---\x20Locale\x20+\x20timezone\x20---------------------------------------------------\x0a#\x20Pin\x20the\x20browser\x20context\x27s\x20Accept-Language\x20/\x20navigator.language.\x20Without\x0a#\x20these,\x20tests\x20inherit\x20the\x20OS\x20locale\x20—\x20accessible-name\x20selectors\x0a#\x20(`getByRole(name)`)\x20on\x20i18n\x27d\x20apps\x20will\x20break\x20across\x20machines.\x0a#\x20UNOTEST_LOCALE=en-US\x0a#\x20UNOTEST_TIMEZONE=UTC\x0a\x0a#\x20---\x20Recording\x20(explore_*)\x20----------------------------------------------\x0a#\x20Grace\x20window\x20in\x20ms\x20after\x20each\x20explore_step\x20action.\x20If\x20a\x20click\x20opens\x20a\x0a#\x20new\x20tab/popup,\x20the\x20MCP\x20server\x20auto-switches\x20the\x20active\x20page\x20to\x20it\x20AND\x0a#\x20inserts\x20setPage(N)\x20into\x20the\x20generated\x20DSL\x20trace.\x20Set\x20to\x200\x20to\x20disable\x0a#\x20(strict\x20mode).\x20Has\x20NO\x20effect\x20on\x20run_test\x20—\x20there\x20setPage\x20already\x20waits\x0a#\x20for\x20the\x20tab\x20to\x20appear\x20on\x20its\x20own.\x20Range:\x20[0,\x2010000].\x20Default:\x202000.\x0a#\x20UNOTEST_POPUP_GRACE_MS=2000\x0a\x0a#\x20---\x20Logging\x20-------------------------------------------------------------\x0a#\x20debug\x20|\x20info\x20|\x20warn\x20|\x20error.\x20Default:\x20info.\x0aUNOTEST_LOG_LEVEL=info\x0a\x0a#\x20---\x20Debug\x20diagnostics\x20---------------------------------------------------\x0a#\x20Off\x20by\x20default.\x20Set\x20to\x201\x20to\x20record\x20a\x20structured\x20JSONL\x20log\x20+\x20per-call\x0a#\x20folders\x20under\x20unotest/.debug/\x20—\x20then\x20restart\x20the\x20MCP\x20server.\x20Each\x20tool\x0a#\x20call\x20gets\x20a\x20folder\x20with\x20the\x20full\x20snapshot\x20JSON,\x20the\x20outerHTML\x20of\x20the\x0a#\x20element\x20a\x20locator\x20resolved\x20to,\x20and\x20(on\x20failure)\x20page.html\x20+\x20a\x20screenshot,\x0a#\x20so\x20you\x20(and\x20the\x20AI\x20agent,\x20via\x20get_last_mcp_log)\x20can\x20verify\x20the\x20snapshot\x0a#\x20didn\x27t\x20glitch\x20and\x20the\x20locator\x20hit\x20the\x20right\x20element\x20—\x20instead\x20of\x20guessing\x0a#\x20from\x20a\x20truncated\x20error.\x20audit_last_run\x20then\x20checks\x20the\x20run\x20against\x20the\x0a#\x20testing\x20rules.\x20Also\x20turns\x20on\x20full\x20CLI\x20stack\x20traces.\x20Use\x20\x27summary\x27\x20for\x20a\x0a#\x20lighter\x20log\x20(tool\x20+\x20snapshot\x20layers\x20only,\x20no\x20artifacts).\x20NOTE:\x20tool\x0a#\x20arguments\x20are\x20logged\x20verbatim,\x20so\x20a\x20fill()\x20with\x20a\x20password\x20lands\x20in\x20the\x0a#\x20local\x20(gitignored)\x20log\x20—\x20keep\x20this\x20off\x20unless\x20you\x27re\x20debugging.\x0a#\x20UNOTEST_DEBUG=1\x0a\x0a#\x20---\x20Capture\x20(viewer\x20inspector)\x20------------------------------------------\x0a#\x20Record\x20the\x20browser\x20console\x20+\x20network\x20requests\x20into\x20each\x20run\x27s\x20dir\x20so\x20the\x0a#\x20viewer\x27s\x20Console\x20/\x20Network\x20inspector\x20tabs\x20are\x20populated.\x20Set\x20to\x200\x20to\x20disable.\x0aUNOTEST_NETWORK=1\x0aUNOTEST_CONSOLE=1\x0a#\x20Set\x20to\x201\x20to\x20also\x20capture\x20a\x20screenshot\x20after\x20EVERY\x20executed\x20step\x20(into\x0a#\x20unotest/.runs/<runId>/screenshot/;\x20click\x20a\x20step\x20row\x20in\x20the\x20viewer\x20to\x20see\x0a#\x20it).\x20On\x20failure,\x20a\x20screenshot\x20+\x20page.html\x20always\x20land\x20in\x0a#\x20unotest/.runs/<runId>/failure/\x20—\x20no\x20flag\x20needed.\x0a#\x20UNOTEST_STEP_SCREENSHOTS=1\x0a'};function unotestConfigMjs(_0x41d254){const _0x5b6277={_0x2abe89:0x23a,_0x41937a:0x21f},_0x38f8a4=_0x31632c,_0x41da94=_0x41d254===void 0x0?'\x20\x20//\x20channel:\x20\x27chrome\x27,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x27chrome\x27\x20/\x20\x27msedge\x27\x20/\x20null\x20(bundled)':_0x38f8a4(_0x5b6277._0x2abe89)+JSON[_0x38f8a4(_0x5b6277._0x41937a)](_0x41d254)+',';return _0x38f8a4(0x18d)+_0x41da94+_0x38f8a4(0x182);}__name(unotestConfigMjs,_0x31632c(0x1a6));function promptYesNo(_0x3ee88c,_0x60aa72){const _0x9c2182={_0x19e14f:0x1aa},_0x8558a8={_0x4b1103:0x1b3,_0x5d8828:0x16b,_0x548182:0x168},_0x3840de={_0x297a4d:0x1d1,_0x2bf94f:0x1fd,_0x7b0264:0x1b6},_0x58d89f=_0x31632c,_0x1c6933=_0x60aa72?_0x58d89f(_0x9c2182._0x19e14f):'\x20[y/N]\x20';return new Promise(_0x15449e=>{const _0x21edec={_0x427c35:0x168,_0x58528c:0x18f,_0x2d5783:0x1e1,_0x3beda7:0x208},_0x574d82=_0x58d89f;let _0x18b260=![];const _0x260001=__name(_0x42b3b3=>{const _0x390e80=_0x4ce7;if(_0x18b260)return;_0x18b260=!![],process[_0x390e80(_0x21edec._0x427c35)][_0x390e80(0x1df)](_0x390e80(_0x21edec._0x58528c),_0x1c02e2),process[_0x390e80(0x168)][_0x390e80(0x1df)](_0x390e80(0x254),_0x16e975),process[_0x390e80(0x168)][_0x390e80(_0x21edec._0x2d5783)](),process['stdin'][_0x390e80(_0x21edec._0x3beda7)](),_0x15449e(_0x42b3b3);},_0x574d82(_0x8558a8._0x4b1103)),_0x1c02e2=__name(_0x411109=>{const _0x18dee1=_0x574d82,_0x3dd3b0=typeof _0x411109===_0x18dee1(_0x3840de._0x297a4d)?_0x411109:_0x411109['toString'](_0x18dee1(0x177)),_0x5128eb=_0x3dd3b0[_0x18dee1(0x204)]('\x0a');if(_0x5128eb<0x0)return;const _0x420f33=_0x3dd3b0[_0x18dee1(0x253)](0x0,_0x5128eb)[_0x18dee1(0x200)]()[_0x18dee1(_0x3840de._0x2bf94f)]();if(_0x420f33==='')return _0x260001(_0x60aa72);_0x260001(_0x420f33==='y'||_0x420f33===_0x18dee1(_0x3840de._0x7b0264));},_0x574d82(0x176)),_0x16e975=__name(()=>_0x260001(_0x60aa72),_0x574d82(0x203));process[_0x574d82(_0x8558a8._0x5d8828)][_0x574d82(0x222)](_0x3ee88c+_0x1c6933),process['stdin']['on']('data',_0x1c02e2),process[_0x574d82(_0x8558a8._0x548182)]['on'](_0x574d82(0x254),_0x16e975),process[_0x574d82(0x168)][_0x574d82(0x212)]();});}__name(promptYesNo,'promptYesNo');import{spawn}from'child_process';import{createRequire}from'module';import{dirname,resolve}from'path';import{fileURLToPath}from'url';async function installChromium(_0x2f9ad6={}){const _0x38f391={_0x2dc0c9:0x1a7,_0xe4f7e2:0x1a7,_0x15f109:0x1d9,_0x3aba4b:0x189},_0x5497b3={_0xea74e8:0x249,_0x58d297:0x16b,_0x28246f:0x18f,_0x41dc29:0x18f},_0x5e7b38={_0x16e573:0x211},_0xd970d9=_0x31632c,_0x16d3a7=_0x2f9ad6['stdoutWrite']??(_0x58c33b=>process[_0xd970d9(0x16b)]['write'](_0x58c33b)),_0x2bd96d=createRequire(import.meta.url),_0x7ba376=_0x2bd96d[_0xd970d9(0x21d)](_0xd970d9(0x1d8)),_0x4376e1=_0x2bd96d(_0x7ba376),_0x1e7510=typeof _0x4376e1[_0xd970d9(_0x38f391._0x2dc0c9)]===_0xd970d9(0x1d1)?_0x4376e1[_0xd970d9(_0x38f391._0xe4f7e2)]:_0x4376e1['bin']?.[_0xd970d9(_0x38f391._0x15f109)];if(!_0x1e7510)throw new Error(_0xd970d9(_0x38f391._0x3aba4b));const _0x4de440=resolve(dirname(_0x7ba376),_0x1e7510);return new Promise((_0x40f99e,_0x457581)=>{const _0x1936b9=_0xd970d9,_0x423586=spawn(process['execPath'],[_0x4de440,'install',_0x1936b9(0x1e4)],{'stdio':[_0x1936b9(_0x5497b3._0xea74e8),_0x1936b9(0x175),_0x1936b9(0x175)]});_0x423586[_0x1936b9(_0x5497b3._0x58d297)]?.['on'](_0x1936b9(_0x5497b3._0x28246f),_0x3b81ea=>_0x16d3a7(_0x3b81ea['toString']())),_0x423586['stderr']?.['on'](_0x1936b9(_0x5497b3._0x41dc29),_0x5ccb19=>_0x16d3a7(_0x5ccb19['toString']())),_0x423586['on'](_0x1936b9(0x18a),_0x457581),_0x423586['on'](_0x1936b9(0x19c),_0x1eb81d=>{const _0x80d613=_0x1936b9;if(_0x1eb81d===0x0)_0x40f99e();else _0x457581(new Error(_0x80d613(_0x5e7b38._0x16e573)+_0x1eb81d));});});}__name(installChromium,_0x31632c(0x241));async function runInstallChromiumCli(){const _0x26aa71={_0x4aa243:0x222,_0x5e059d:0x232},_0x251cc8=_0x31632c;try{return await installChromium(),0x0;}catch(_0x2ad7cd){return process['stderr'][_0x251cc8(_0x26aa71._0x4aa243)](_0x251cc8(_0x26aa71._0x5e059d)+(_0x2ad7cd instanceof Error?_0x2ad7cd[_0x251cc8(0x215)]:String(_0x2ad7cd))+'\x0a'),0x1;}}function _0x4968(){const _0x38c427=['lI4VlI4V','Dw5VDgvZDc5JB25MAwCUBwPZ','cKrVBMuUie5LEhqGC3rLChm6cG','DMvYC2LVBNm','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','iYbaDw5VDgvZDc93zwiG4OcuigD1AwrLigzVCIbbssbHz2vUDhmGkgfUzcbODw1HBNmPcGPuAgLZihbYB2PLy3qGDxnLCYbByeb1BM90zxn0l3DLyMbDkgH0DhbZoI8VD3D3lM5WBwPZlMnVBs9WywnRywDLl0b1BM90zxn0l3DLyIKkzM9YigvUzc10BY1LBMqGDgvZDgLUzYbVzIb3zwiGyxbWBgLJyxrPB25ZlGOkiYmGv3jPDgLUzYbHihrLC3qG4OcuihvZzsb0AguGC2TPBgWGkYbnq1akcKzVCIbbtLKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4GztjLihrLC3q6cGOXlIbpCgvUihrOzsaQkMb3CML0zs1LmMuTDgvZDgaQkIbZA2LSBcdIGjqGyc5JBgf1zguVC2TPBgXZl3DYAxrLlwuYzs10zxn0l1nlsuXmlM1KyaOGicaOAw4Gq2XHDwrLienVzguGEw91ignHBIbHBhnVihj1BIbGl3DYAxrLlwuYzs10zxn0ycKG4OcuigfUzcbMB2XSB3CGAxqUcJiUierYAxzLihrOzsbICM93C2vYihrOCM91z2GGDgHLicOQyhvUB3rLC3qTD2vIycbnq1aGDg9VBhmQkJOGyg5LD19JB250zxH0ycdIHPikicaGygv4CgXVCMvFC3rHCNrGiokgKIbGzxHWBg9Yzv9ZDgvWycdIHPiGygDLDf9WywDLx3nUyxbZAg90ycdIHPiGyhj1BL90zxn0yc4kcKrVie5pvcbOyw5Klwf1DgHVCIb0zxn0CYbIBgLUzcbVCIbTyxaGDgHLihbYB2PLy3qGD2L0AcbGzMLUzgaVygXZyc9GyxDRycdIGjqGDgHLcNnRAwXSj3mGugHHC2uGmcbUyw1LCYb0AguGzxHHy3qGzMLSzxmGDg8GCMvHzc4GuNvUBMfIBguSignVChKTCgfZDgvHyMXLcMv4yw1WBgvZigXPDMuGAw4GyhvUB3rLC3qVztjLl2v4yw1WBgvZl2aUcGOJiYbmyxLVDxqkcI0GyhvUB3rLC3qVztjLlZXMzwf0DxjLpI88BMfTzt4UANnGiokaLcb0zxn0ihnJzw5HCMLVCYWGz3jVDxbLzcbIEsbMzwf0DxjLl3bHz2ukicaOB25Ligb0zxn0xYPGigz1BMn0Aw9UihbLCIbMAwXLks4GkIPszxf1AxjLzdOQkIbLDMvYEsbZy2vUyxjPBYbSAxzLCYbPBIbHcIaGzMvHDhvYzsbZDwjMB2XKzxiUieeGDgvZDcbMAwXLihbSywnLzcbKAxjLy3rSEsbPBIbGDw5VDgvZDc9LmMuVycbPCYbYzwPLy3rLzaOGigj5ihrOzsbSAw50zxiGkgbSAw50oNnJzw5HCMLVlwLUlxjVB3rGks4klsbGDw5VDgvZDc9LmMuVx2HLBhbLCNmVycdIGjqGChjVAMvJDc1ZCgvJAwzPyYbOzwXWzxjZicH2AxnPyMXLihrVigfSBcbZy2vUyxjPB3mPcI0GyhvUB3rLC3qVztjLl190zw1WBgf0zs5QC2aG4Ocuihn0yxj0Aw5NlxbVAw50ihrLBxbSyxrLicHJB3b5igLUDg8GysbMzwf0DxjLigzVBgrLCIKkcImJierttcbJB252zw50Aw9UCWOkvgHLierttcbPCYbHihn0CMLJDcbkuYbZDwjZzxqGCgfYC2vKigj5ieb1BM90zxn0l2rZBc4Gtwv0Ag9KignOywLUCYWGB3b0Aw9UCY0kB2jQzwn0CYWGyw5KihzHCMLHyMXLCYbHCMuGywXSB3DLzc4GtxvSDgKTBgLUzsbZDhjPBMDZihvZzqPIywnRDgLJA3mGyNv0igaKEY4UlN1GigLUDgvYCg9SyxrPB24GAxmGzM9YyMLKzgvUicHZyw5KyM94igjVDw5Kyxj5iokaLaPWyxnZihzHBhvLCYb2AweGCg9ZAxrPB25HBcbHCMDZks4kcIOQrxzLCNKGC3rLCcbTDxn0ihnPDcbPBNnPzguGysbGC3rLCcGIzgvZy3jPChrPB24IlcaOksa9pIb7iokaPIb9kwaGyMXVy2SGkgXPBNrLCGPLBMzVCMnLCYKUkIOGvgHLihrPDgXLigLZihbSywLUluvUz2XPC2GGAw50zw50oYb0AguGC3rLChmGAw5ZAwrLigfYzsb0AgukAw1WBgvTzw50yxrPB24UifDOzw4GysbZDgvWigXHDgvYigjYzwfRCYaOC2vSzwn0B3iGzhjPzNqPlcb5B3uGCMvHzcb0AgukDgL0BguGDg8GDw5KzxjZDgfUzcb3Agf0ihrOzsbNCM91Ccb3yxmGDhj5Aw5NihrVigrVigfUzcbYzxbHAxiGAxqUieDYB3vWigj5cMLUDgvUDcWGB25LigjSB2nRihbLCIbSB2DPy2fSignODw5RoGOkygbGANmkzNvUy3rPB24GDgvZDf9SB2DPBIGPihSkicbZDgvWkcjtAwDUigLUigfZihrOzsbKzw1VihvZzxiIlcaOksa9pIb7cIaGicbNB3rVkcDODhrWCZOVl2fWCc5LEgfTCgXLlMnVBs9SB2DPBICPoWOGicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNzgvTB0bLEgfTCgXLlMnVBsCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKrHC2HIB2fYzcbZAg93CYb0AguGC2LNBMvKlwLUihvZzxiIlcaOksa9pIb7cIaGicbHC3nLCNruzxH0kgDLDej5uM9SzsGNAgvHzgLUzYCPlcaNv2vSy29TzsCPoWOGih0PoWP9cMbGyaOkkIPcyxnLifvstcdIGjqGD3jPDguGCMvSyxrPDMuGCgf0AhmUkIOGyefquf9cqvnfx1vstgaGkgLUigb1BM90zxn0lY5LBNzGksbPCYb0AgukyxbWj3mGyMfZztSGygDVDg8OjY9SB2DPBICPycbYzxnVBhzLCYbHz2fPBNn0igL0lIbeB24NDcbJB25JyxrLBMf0zqOOygDVDg8Oqvbqx0jbu0vFvvjmicSGjY9SB2DPBICPycKG4OcuigP1C3qGCgfZCYb0AguGCgf0AdOkcMbGygPZcMDVDg8OjY9SB2DPBICPoWPMAwXSkgDLDej5tgfIzwWOj1bHC3n3B3jKjYKSifrfu1rFvvnfuL9qqvntv09srcK7cMbGyaOkkIPfBNzPCM9UBwvUDhmUkIOGt3zLCNjPzguGyefquf9cqvnfx1vstgaGkgfUzcbHBNKGDMfYksbWzxiGzw52AxjVBM1LBNqGD2L0AaPVDMvYBgf5igzPBgvZiokaLcbGDw5VDgvZDc8Uzw52lNn0ywDPBMDGlcbGDw5VDgvZDc8Uzw52lNbYB2r1y3rPB25GicHZzwnYzxrZoGPGDw5VDgvZDc8UC2vJCMv0CY48zw52pMaPlIbtzwXLy3qGB25Ligf0ihj1BIb0Aw1LoIbGBNb4ieb1BM90zxn0l3DLyIbLmMuGpg5HBwu+cI0Tzw52ihn0ywDPBMDGlIbuAguGB3zLCMXHEsbSyxLLCNmGB3zLCIb0AguGyMfZzsbGlMvUDMaGkg92zxjSyxKGD2LUCYKUcGOQkKv4DgvYBMfSihzHCMLHyMXLCYaMihnLy3jLDhm6kIOGCMvMzxjLBMnLigXVz2LUCYaVihrVA2vUCYbIEsbHigjHCMukyfvquevsx1noquTfycbUyw1LiokaLcbYzxnVBhzLzcbMCM9Tigb1BM90zxn0lY5LBNzGicHUB3jTywWPig9Yigb1BM90zxn0lY5ZzwnYzxrZyaOOC2vJCMv0lcbTyxnRzwqGAw4GBg9NCYKUie5VigbLBNyOkwaVyhnLy3jLDcGPycb3CMfWCgvYlIbbigXVD2vYy2fZzsbUyw1LigLZigfUcMLUlxnJzw5HCMLVigjPBMrPBMC7igfUihvUA25VD24Gyfvquevsx1noquTfycbMywLSCYb0AguGCNvUigfZA2LUzYb5B3uGDg8GywrKigL0cNrVigb1BM90zxn0lY5LBNzGlGOkkIPtzwXLy3rVCIbOAwvYyxjJAhKGkeqTmJiG4OcuigXPBNrLCIbLBMzVCMnLCYK6kIOkms4GygDLDej5vgvZDeLKkgLKkwaG4Ocuig1VC3qGC3rHyMXLcJiUigbNzxrcEvjVBguOCM9SzsWGE25HBwv9kwaG4OcuihnLBwfUDgLJlcbHmtf5lwf3yxjLcJmUigbNzxrcEuXHyMvSkhrLEhqPycdIGjqGzM9YigzVCM0GzMLLBgrZcJqUigbNzxrcEvrLEhqODgv4DcLGiokaLcbMB3iGDw5PCxvLihrLEhqkns4GygXVy2f0B3iOy3nZkwaG4OcuigXHC3qGCMvZB3j0icHSAw50zxiGD2fYBNmPcGPgDwXSihjLzMvYzw5JzsbZAgLWCgvKihDPDgGGDgHLihbHy2THz2u6cI0Gyg5VzgvFBw9KDwXLCY9aDw5VDgvZDc93zwiVz3vPzgvZl2rZBc1YzwzLCMvUy2uUBwrGiokaLcbeu0WGzNvUy3rPB25ZicSGBgLUDgvYignVzgvZcGOJiYbsDw5UAw5NicHdteKPcGOTigbUChGGqhvUB3rLC3qVD2vIiguYzsa8zMvHDhvYzt4Vpg5HBwu+ycdIGjqGCNvUigeGC2nLBMfYAw8GyNKGBMfTzqOTigbUChGGqhvUB3rLC3qVD2vIigXPBNrGiokaLcbZDgf0AwmGy2HLy2SGB2yGywXSihnJzw5HCMLVCYaRigHLBhbLCNmklsbGBNb4ieb1BM90zxn0l3DLyIbTy3bGiokaLcbZDgfYDcb0AguGtunqihnLCNzLCIbMB3iGywDLBNqGy29UDhjVBaOkiYmGvMLHie1ducaOq2XHDwrLienVzguGlYbdBgf1zguGrgvZA3rVCcaVien1CNnVCIKkcLrOzsbnq1aGC2vYDMvYigv4Cg9Zzxm6cI0Gyhj1BL90zxn0ig5HBwu9iJXUyw1LpIiGBw9Kzt0IC3rLCciGCgf1C2vpBKzHAwX1CMu9Dhj1zwaG4Ocuihj1BIb3AxrOihn0zxaTBw9KzqOTigbZDgvWycaVigbYzxn1BwvGiokaLcbHzhzHBMnLig9Uzsbbu1qGBM9KzsaVihj1BIb1BNrPBcbUzxH0ihbHDxnLcI0GygLUC3bLy3rFCNvUDgLTzwaG4Ocuign1CNjLBNqGC3rHDguSigXHC3qGzxjYB3iSigXVy2fSCYbKDw1WcI0GygfIB3j0x3j1BNrPBwvGiokaLcbRAwXSigeGCgf1C2vKihj1BNrPBwukcKzVCIbHz2vUDc1MAxGGD29YA2zSB3DZig9UigzSywT5ihrLC3rZoIbGywDLBNrFzML4ihrLC3rjzd0IpgLKpIjGihjLDhvYBNmGyqPZDhj1y3r1CMvKignVBNrLEhqGyNvUzgXLicHZzwuGrc0YnsdIGjqGD2uGBMv2zxiGy2fSBcbmte1Zig9Yigf1Dg8TyxbWBhKkzgLMzNmSihrOzsbKAwzMignVBwvZigzYB20GEw91CIbnq1aTAg9ZDcbHz2vUDcKUcG','D3jPDgvjzK5LzwrLza','y2XHDwrLtwrcB2r5','ywrKzwqGywDLBNqTDhjHy2uGAg9VA3mGka','zw5ZDxjLrgLY','CNvUrw52AxjVBM1LBNrdAgvJA3m','BwnWu2vYDMvYCW','u3vIywDLBNrtDgfYDa','zw52','cIaG4OAsigrVD25SB2fKAw5Nigj1BMrSzwqGq2HYB21PDw3IGkyk','ywXYzwfKEs1WCMvZzw50','ls1ICM93C2vYigv4CgvJDhmGC3LZDgvTFgj1BMrSzwr8BM9UzsWGz290ia','icdINjmGC3LZDgvTia','C3rHDhvZ','D3jPDgvjzKfIC2vUDa','Dg9mB3DLCKnHC2u','DxbKyxrLza','y3jLyxrLzcaUy2XHDwrLl3nLDhrPBMDZlMPZB24GkgfSBg93oIbTy3bFx3vUB3rLC3qTD2vIkq','DhjPBq','n3bjwvHXsG','ls1ICM93C2vY','B25fBMq','Aw5KzxHpzG','mJe4ntG5mhnjCgnnua','twLJCM9ZB2z0ievKz2u','icdINjmGywrKzwqGiG','Dw5Yzwy','Ag9VAW','icbsDw4Gyg5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BwaGDg8Gzg93BMXVywqGDgHLigj1BMrSzwqGzMfSBgjHy2SS','q0XbvurflM1K','CgfYC2vbCMDZ','r29Vz2XLienOCM9TzsbczxrH','y3jLyxrLza','y2HYB21PDw0TyNjVD3nLCG','B3zLCNDYB3rL','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','CMvZDw1L','ywDLBNrZtwq','icaGicaG','BwvZC2fNzq','zxHHBxbSzxm','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','C3rKB3v0v3jPDgu','CNvUsw5ZDgfSBenOCM9TAxvTq2XP','q2XHDwrLu2v0DgLUz3nqyxjZzuvYCM9Y','l3vZCI9IAw4Vy2HYB21PDw0','icaGigLUC3rHBgWGq2HYB21LigzYB20GAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','CMvZB2X2zq','4PYtihvWzgf0zwq','C3rYAw5NAwz5','y2HLy2ToB2rLvMvYC2LVBG','C3rKzxjY','D3jPDgu','CgXHDgzVCM0','Cgf0Aa','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','ywXSB3CGywXYzwfKEsbWCMvZzw50','B3zLCNjPzgu','uhjVz3jHBuzPBgvZ','D2HPy2G','ls1MB3jJzq','y2f0y2G','Dw5VDgvZDc9LmMuVx2HLBhbLCNmVlMDPDgTLzxa','y29TBwfUza','BMfTzq','tM9Kzs5QCYb2zxjZAw9U','cI5NAxrPz25VCMu6cG','Bg9NlwfNzw50lNnO','4PYxigLUC3rHBgWTy2HYB21PDw06ia','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','BwvYz2vdBgf1zgvbBgXVD0vUDhjPzxm','C2v2zxjPDhK','cKzPBgvZoGO','lM1JCc5QC29U','Ag9VA3m','Dw5VDgvZDc8Uzw52lMv4yw1WBgu','icbJAgfUBMvSoIa','yMfZAcaIjhTdtefvrevFufjpsKvdvf9esvj9lY5JBgf1zguVAg9VA3mVBg9NlwfNzw50lNnOiIaIjhTdtefvrevFufjpsKvdvf9esvj9l3vUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWI','icaGig5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BsaGicaGicHKB3DUBg9HzhmGyNvUzgXLzcbJAhjVBwL1BsK','BwvYz2vdBgf1zgviB29RCW','y2HHBM5LBdOGBNvSBcaOyNvUzgXLzcbJAhjVBwL1BsK','AxnbCNjHEq','zgvMAw5LuhjVCgvYDhK','Aw5ZDgfSBenOCM9TAxvT','C3bSAxq','yNjVD3nLCK92zxjYAwrL','pceTlsb1BM90zxn0oMvUzcaTlt4','icdINjmG','BgvUz3rO','zM9Yy2u','twnWsNnVBLbHCNnLrxjYB3i','Aw5OzxjPDa','mta0mZq1mNr3Bfnzra','DgHLBG','ChjVyMu','zw50CMLLCW','lY8GrxHHBxbSzsaWmIdIGjqGzMLSBcbHBIbPBNb1DcaRigfZC2vYDcb0AguGyxbWihjLywn0zwqUcI8VcI8ViefNywLUC3qGCgXHEwDYB3vUzc51BM90zxn0lMnVBs9Zy2vUyxjPB3mVyMLNlxrHyMXLlIbezw1VBNn0CMf0zxmGz2v0qNLsB2XLcI8VigzVCIbHigXHyMvSBgvKigLUChv0lcb0ExbLzcbPBNb1Dcb2AweGzMLSBcGPlcbHBMqGysbSB2nHDg9Yig1LDgHVzc1JAgfPBGOVlYaOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhr9ks5MAxjZDcGPksbPBIbHBIbHC3nLCNrPB24UcI8Vifj1BIb3AxrOoIaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdiTzM9YBs1MAwXScGPMDw5JDgLVBIb0zxn0x2zVCM1FzMLSBf9OyxbWEv9WyxrOkcKGEWOGihn0zxaOiKzPBhrLCIb0AguGqMLNifrHyMXLigj5igeGBMfTzsiSicGPid0+ihSkicaGigDVDg8OjY9Zy2vUyxjPB3mVyMLNlxrHyMXLjYK7cIaGicbMAwXSkgDLDej5uM9SzsGNDgv4DgjVEcCSihTUyw1LoIaNrMLSDgvYigj5ig5HBwuNFsKSicDvBweGuxvPBM4NktSkicb9ktSkcIaGC3rLCcGIrMLSDgvYAw5NihjLDMvHBhmGDgHLienSzwfYigzPBhrLCIbJB250CM9SigfUzcbTyxrJAgLUzYbYB3DZiIWGkcKGpt4GEWOGicaGyxnZzxj0vMLZAwjSzsHNzxrcEvjVBguOj2j1DhrVBICSihTUyw1LoIaNq2XLyxiGzMLSDgvYj30PktSkicaGigfZC2vYDfzPC2LIBguOz2v0qNLsB2XLkcDYB3CNks5MAwX0zxiOE2HHC1rLEhq6icDvBweGuxvPBM4NFsKUzMLYC3qOksK7cIaGFsK7cN0k','Aw5JBhvKzxm','zgfYD2LU','uhjLvg9VBfvZzq','D2fYBMLUzW','C2XPy2u','zw5K','lIbgAxGGB3iGCMvTB3zLihrOzsbMAwXLigfUzcbYzs1YDw4GAw5PDc4','uhjVz3jHBuzPBgvZkhG4nIK','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','y3DK','ChvZAa','AxngAw5PDgu','AM9PBG','BwvYz2vny3bdB25MAwC','lI4VlI4VCgfJA2fNzs5QC29U','ywrKzwq','zw52rxHHBxbSzq','ug9ZDfrVB2XvC2u','rMfPBgvKihrVihbHCNnLic5Ty3aUANnVBIbHCYbku09ooIa','Dw5VDgvZDc8UC2vJCMv0CW','C2TPChbLza','y2HYB21L','C2TPBgWGkgDYB3vUzcK','Dw5VDgvZDc8UC2vJCMv0CYO','icbeB3DUBg9HzcbIDw5KBgvKienOCM9TAxvTicH+mtuWie1ckt8','BM8Gy2HHBM5LBcbZzxqGkgj1BMrSzwqGzMfSBgjHy2SGywz0zxiGAw5ZDgfSBc1JAhjVBwL1BsK','C3rKAw4','CgvYBwLZC2LVBNm','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','C3rKB3v0','Dw5VDgvZDc13zwi','icbvC2uGAw5ZDgfSBgvKia','z29Vz2XLlwnOCM9Tzq','zgv0ywLS','zMLYC3rfEgLZDgLUz1bHDgG','CNvUsw5PDa','igv2zw50CZSGBg9NCYb0BYb1BM90zxn0lY5Kzwj1zY9Hz2vUDc8GDw5KzxiGvu5pvevtvf9erujvrYK','C3LZDgvT','mZK2BeT4zuDM','CgLWzq','B25eyxrH','DxrMoa','B3zLCNDYB3rLihvUB3rLC3qTD2vIigvUDhj5','Dw5VDgvZDc8UCNvUCYOV','u2vZC2LVBKvUza','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','4PYxic0TyNjVD3nLCIbZExn0zw0GyNv0ig5VienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbMB3vUzcbVBIb0AgLZig1Hy2HPBMuU','C29Tzq','igzVDw5Kigf0ia','DgfYz2v0ia','y2HYB21LlwjLDge','C3rHCNrZv2L0Aa','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','BgfIzwW','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','BxnLzgDL','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','ywDLBNqTDhjHy2uGAg9VA3mGywXYzwfKEsbWCMvZzw50','y3jLyxrLzcaUBwnWlMPZB24','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','zxjYB3i','C3LTyM9S','ihnVDxjJzsbTAxnZAw5NiokaLcbWywnRywDLigLUC3rHBgWGyNvNpW','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','B2jQzwn0','zgf0yq','ChjVyMvtExn0zw1cCM93C2vY','ntaXotuWyvjLAhzJ','zM9Yy2uTB3zLCNDYB3rL','ChjVyMvdAhjVBwvczxrH','ywXSB3C','igf0ia','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','Dw5VDgvZDc8UDMLLD2vYlMXVzW','4PQGic0TyNjVD3nLCIbUB25LiokaLcbUBYbICM93C2vYignVBMzPz3vYzwqUifj1BIbVBMuGB2y6','CMvHze93BLzLCNnPB24','nda0nte0z3zpzxjx','4PYtignYzwf0zwq','zxHPDa','C2TPBgW','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qTz3jVDw5Kl1nlsuXmlM1K','yxjNDG','pceTlsb1BM90zxn0oMjLz2LUicHTyw5Hz2vKigj5ieb1BM90zxn0l3DLyIbPBML0iokaLcbKBYbUB3qGzwrPDcbPBNnPzguPic0TpG','ywn0Aw9U','sw5ZDhj1y3rPB25Ztg9HzgvK','icdcTYbHBhjLywr5ihbYzxnLBNqGiG','ndiZodC1ALjwELn5','Dw5VDgvZDenVBMzPz01QCW','yMLU','yNvUzgXLza','BMv3q29UDgvUDa','ifTzl25Dia','nxDny3zTsW','Dw5KzwzPBMvK','BwnW','BwnWx191BM90zxn0lxDLyG','AxnuvfK','u3LZDgvTigjYB3DZzxi','yxbWzw5Kzwq','WRCGC2TPChbLza','zMLUAxnO','Aw50zxjHy3rPDMu','Dw5VDgvZDc8Uzw52','EwvZ','D2fYBMLUz3m','ndm0neXRwenMyG','zxHPDenVzgu','cKnSyxvKzsbdB2rLihbLCM1PC3nPB25ZoGO','C2nLBMfYAw9uzw1WBgf0zq','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','y2HLy2TtExn0zw1cCM93C2vY','4PQGie5VigjYB3DZzxiGy29UzMLNDxjLzc4GuNvUig9UzsbVzIbIzwzVCMuGzMLYC3qGDgvZDdO','rMfPBgvKihrVihbHCNnLic5JBgf1zguVC2v0DgLUz3mUANnVBIbHCYbku09ooIa','lNvUB3rLC3qV','ChjVyMvfzgDL','Dw5VDgvZDc8Uzw52kG','ntyXmJy2mhD1tuDWsq','icdIHPiGzg93BMXVywrPBMCGyNvUzgXLzcbdAhjVBwL1BsaOFJe1mcbnqINIGkyk','cK1ducbJB25MAwC6cG','BwLJCM9ZB2z0lwvKz2u','vgfYz2v0igrPCMvJDg9YEq','BM9Uzq','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','D2HPy2HpzG','icbVCIbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LlG','iokaLcb1C2LUzYbJAgfUBMvSicC','te9dquXbufbeqvrb','Dw5VDgvZDc9LmMuVx3rLBxbSyxrLlMPZ','BwvYz2vdBgf1zgvnza','icdIGkiGuNvUigfUigv4yw1WBguGywDHAw5ZDcb0AguGCgXHEwDYB3vUzdOkicaGicaGBNb4ieb1BM90zxn0l3DLyIbLmMuGzxHHBxbSzxmVmdeTC21VA2ukicdIGkiGtgLUDcb5B3vYihnJzw5HCMLVCZOkicaGicaGBNb4ieb1BM90zxn0l3DLyIbSAw50cIaG4OcIifDYAxrLigeGDgvZDdOGB3bLBIbdBgf1zguGq29KzsbOzxjLigfUzcbHC2SG4OcuigL0igzVBgXVD3mGDgHLcIaGicaGihDYAxrLlwuYzs10zxn0ihnRAwXSigfUzcbKCML2zxmGDgHLihvUB3rLC3qTD2vIie1ducbZzxj2zxiUcIaGicaGicGUBwnWlMPZB24GkYbdtefvreuUBwqVquDftLrtlM1KihDLCMuGANvZDcb3AxjLzcbMB3iGEw91lIKkicdIGkiGqwXYzwfKEsbPBNnPzguGyw4GywDLBNqGC2vZC2LVBJ8GuMvZDgfYDcbPDcaOB3iGCMvJB25Uzwn0ihzPyqOGicaGicaVBwnWksdIGjqGtunqignSAwvUDhmGBg9HzcaUBwnWlMPZB24GC2vYDMvYCYbHDcbZzxnZAw9Uihn0yxj0laOGicaGicbZBYb0AguGDw5VDgvZDc13zwiGDg9VBhmGyxbWzwfYig9UBhKGAw4GysbMCMvZAcbZzxnZAw9UlGOGiokaOIbezwj1zYb0AguGywDLBNq6igXHDw5JAcb3AxrOifvot1rfu1rFrevcvuC9msb0BYb0CMfJzsbLDMvYEqOGicaGicbHy3rPB24GDg8GDw5VDgvZDc8UzgvIDwCVywDLBNqVywn0Aw9UCY5QC29UBc4k','C3rYAw5N','quDftLrtlM1K','ywrKzwqGywXSB3CGzw50CMLLCZOG','cIaGtM8GC3LZDgvTienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbKzxrLy3rLzc4k','ug9ZDfrVB2XvC2vgywLSDxjL','Dw5VDgvZDc8UDMLLD2vYlMXVy2S','DMvYC2LVBG','CgXHExDYAwDODc9WywnRywDLlMPZB24','CgXHExDYAwDODa','u3vIywDLBNrtDg9W','icdINjCG','CgfYC2u','ywXYzwfKEvbYzxnLBNq','4PQGig5VBI1PBNrLCMfJDgL2zsbZAgvSBcbHBMqGBM8GC3LZDgvTigjYB3DZzxiGzM91BMqU','CMvTB3zLtgLZDgvUzxi','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','Cgf1C2u','y2HHBM5LBa','zw5KC1DPDgG','y2HYB21PDw0','ixvUB3rLC3qVlMvUDI5LEgfTCgXL','D2LUmZi','sw5ZDgfSBcboB2rLidiWkYb2AweGBNzTic8GzM5Tic8GDM9SDgeGyw5KihjLlxj1BI4'];_0x4968=function(){return _0x38c427;};return _0x4968();}__name(runInstallChromiumCli,_0x31632c(0x219));var invokedDirectly=process[_0x31632c(0x1a0)][0x1]&&fileURLToPath(import.meta.url)===process[_0x31632c(0x1a0)][0x1];invokedDirectly&&runInstallChromiumCli()[_0x31632c(0x24b)](_0x55f867=>process[_0x31632c(0x19c)](_0x55f867));async function chooseBrowser(_0x4d1096){const _0x4cd168={_0x552872:0x218,_0x484e80:0x1e2,_0x57ae7c:0x24c,_0x3c9b40:0x1a8,_0x41e806:0x1c4,_0x114206:0x227,_0x552abe:0x1c8,_0x25452c:0x198,_0x1775af:0x1b4,_0x25e2cb:0x24c,_0x1a51ce:0x245,_0x58a88a:0x1cc,_0x37578e:0x1e2,_0x42959b:0x1cb,_0x3a71c3:0x195,_0x5c5ff7:0x16d,_0x17e130:0x1d4,_0x34b0b1:0x267,_0x1e1ae6:0x1be,_0x16188f:0x23c,_0x245f77:0x21c},_0x35edbb=_0x31632c,_0x276b99=_0x4d1096[_0x35edbb(_0x4cd168._0x552872)]??(_0x405388=>process[_0x35edbb(0x16b)]['write'](_0x405388));if(_0x4d1096['override']===_0x35edbb(0x173)){if(_0x4d1096['probe'][_0x35edbb(_0x4cd168._0x484e80)])return _0x276b99(_0x35edbb(0x1fa)+_0x4d1096[_0x35edbb(0x24c)]['label']+'\x20('+_0x4d1096['probe'][_0x35edbb(0x224)]+')\x0a'),{'channel':_0x4d1096[_0x35edbb(_0x4cd168._0x57ae7c)][_0x35edbb(0x1e2)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x35edbb(0x17c),'\x20\x20Install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run\x20init.']};}if(_0x4d1096[_0x35edbb(0x227)]===_0x35edbb(_0x4cd168._0x3c9b40))return _0x276b99(_0x35edbb(_0x4cd168._0x41e806)),await installChromium({'stdoutWrite':_0x276b99}),{'channel':null,'installedBundled':!![],'warnings':[]};if(_0x4d1096[_0x35edbb(_0x4cd168._0x114206)]===_0x35edbb(_0x4cd168._0x552abe))return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x35edbb(_0x4cd168._0x25452c),'\x20\x20\x20\x20npx\x20@unotest/web\x20install-chromium\x20\x20\x20\x20\x20\x20(downloads\x20bundled\x20chromium)','\x20\x20\x20\x20install\x20Chrome:\x20\x20https://www.google.com/chrome']};if(!_0x4d1096[_0x35edbb(_0x4cd168._0x1775af)]){if(_0x4d1096[_0x35edbb(_0x4cd168._0x25e2cb)]['channel'])return _0x276b99(_0x35edbb(_0x4cd168._0x1a51ce)+_0x4d1096['probe']['label']+_0x35edbb(0x17e)+_0x4d1096[_0x35edbb(_0x4cd168._0x25e2cb)][_0x35edbb(0x224)]+_0x35edbb(_0x4cd168._0x58a88a)+_0x4d1096[_0x35edbb(0x24c)]['channel']+'\x27\x0a'),{'channel':_0x4d1096['probe'][_0x35edbb(_0x4cd168._0x37578e)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x35edbb(0x1de),_0x35edbb(0x20a),_0x35edbb(_0x4cd168._0x42959b)]};}if(_0x4d1096[_0x35edbb(_0x4cd168._0x57ae7c)][_0x35edbb(0x1e2)]){_0x276b99('\x0a\x20\x20Found\x20'+_0x4d1096[_0x35edbb(_0x4cd168._0x57ae7c)][_0x35edbb(0x183)]+_0x35edbb(_0x4cd168._0x3a71c3)+_0x4d1096['probe'][_0x35edbb(0x224)]+'\x0a');const _0x230650=await promptYesNo(_0x35edbb(_0x4cd168._0x5c5ff7)+_0x4d1096[_0x35edbb(_0x4cd168._0x57ae7c)]['label']+'?',!![]);if(_0x230650)return{'channel':_0x4d1096[_0x35edbb(_0x4cd168._0x25e2cb)][_0x35edbb(0x1e2)],'installedBundled':![],'warnings':[]};}else _0x276b99(_0x35edbb(_0x4cd168._0x17e130));const _0x8d070b=await promptYesNo(_0x35edbb(_0x4cd168._0x34b0b1),!![]);if(_0x8d070b)return _0x276b99(_0x35edbb(0x1f7)),await installChromium({'stdoutWrite':_0x276b99}),{'channel':null,'installedBundled':!![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x35edbb(_0x4cd168._0x1e1ae6),_0x35edbb(_0x4cd168._0x16188f),_0x35edbb(_0x4cd168._0x245f77)]};}__name(chooseBrowser,'chooseBrowser');var McpJsonParseError=class extends Error{static{__name(this,_0x31632c(0x248));}constructor(_0x581901){const _0x4c5ac6=_0x31632c;super(_0x581901),this['name']=_0x4c5ac6(0x248);}};function mergeMcpConfig(_0xc197db,_0x2a4985,_0x557c8e,_0x184689={}){const _0x251291={_0x537b9d:0x21f,_0x314ff6:0x1dc,_0x54250d:0x261,_0x20a4fd:0x255,_0x474b34:0x1f4,_0x2f0d93:0x1f4,_0x159815:0x192},_0x4b3c87=_0x31632c;if(_0xc197db===null){const _0x22a9d9=JSON[_0x4b3c87(_0x251291._0x537b9d)]({'mcpServers':{[_0x2a4985]:_0x557c8e}},null,0x2)+'\x0a';return{'action':'created','newContent':_0x22a9d9};}let _0x533cd7;try{_0x533cd7=JSON[_0x4b3c87(_0x251291._0x314ff6)](_0xc197db);}catch(_0x5d9c16){throw new McpJsonParseError(_0x4b3c87(_0x251291._0x54250d)+_0x5d9c16[_0x4b3c87(0x215)]+_0x4b3c87(_0x251291._0x20a4fd));}(!_0x533cd7['mcpServers']||typeof _0x533cd7['mcpServers']!=='object')&&(_0x533cd7[_0x4b3c87(_0x251291._0x474b34)]={});const _0x3aeb8b=_0x2a4985 in _0x533cd7[_0x4b3c87(_0x251291._0x474b34)];if(_0x3aeb8b&&!_0x184689[_0x4b3c87(0x247)])return{'action':'already-present','newContent':_0xc197db};_0x533cd7[_0x4b3c87(_0x251291._0x2f0d93)][_0x2a4985]=_0x557c8e;const _0x3ad884=JSON[_0x4b3c87(_0x251291._0x537b9d)](_0x533cd7,null,0x2)+'\x0a';return{'action':_0x3aeb8b?_0x4b3c87(_0x251291._0x159815):'added','newContent':_0x3ad884};}__name(mergeMcpConfig,_0x31632c(0x25c));var ClaudeSettingsParseError=class extends Error{static{__name(this,_0x31632c(0x21a));}constructor(_0x24abe7){const _0x3f8385={_0x286127:0x21a},_0x13c298=_0x31632c;super(_0x24abe7),this[_0x13c298(0x22e)]=_0x13c298(_0x3f8385._0x286127);}};function mergeClaudeAllowEntries(_0x49b310,_0x50423e){const _0x4a1ae6={_0x409c1c:0x1dc,_0x5275a8:0x18e,_0x3c316c:0x169,_0x4917cf:0x194,_0x484711:0x169},_0x2a1338=_0x31632c;if(_0x49b310===null){const _0x13c1b1=JSON[_0x2a1338(0x21f)]({'permissions':{'allow':[..._0x50423e]}},null,0x2)+'\x0a';return{'action':'created','newContent':_0x13c1b1,'added':[..._0x50423e]};}let _0x186cca;try{_0x186cca=JSON[_0x2a1338(_0x4a1ae6._0x409c1c)](_0x49b310);}catch(_0xe05b17){throw new ClaudeSettingsParseError(_0x2a1338(0x1bf)+_0xe05b17[_0x2a1338(0x215)]+'.\x20Fix\x20or\x20remove\x20the\x20file\x20and\x20re-run\x20init.');}(!_0x186cca['permissions']||typeof _0x186cca[_0x2a1338(0x169)]!==_0x2a1338(_0x4a1ae6._0x5275a8))&&(_0x186cca[_0x2a1338(0x169)]={});const _0x29cfcf=Array['isArray'](_0x186cca[_0x2a1338(_0x4a1ae6._0x3c316c)][_0x2a1338(_0x4a1ae6._0x4917cf)])?_0x186cca[_0x2a1338(_0x4a1ae6._0x484711)][_0x2a1338(0x194)]:[],_0x1e97a2=[];for(const _0x23fca3 of _0x50423e){!_0x29cfcf[_0x2a1338(0x24f)](_0x23fca3)&&(_0x29cfcf['push'](_0x23fca3),_0x1e97a2['push'](_0x23fca3));}_0x186cca[_0x2a1338(0x169)][_0x2a1338(0x194)]=_0x29cfcf;if(_0x1e97a2['length']===0x0)return{'action':'already-present','newContent':_0x49b310,'added':[]};const _0x4bec84=JSON[_0x2a1338(0x21f)](_0x186cca,null,0x2)+'\x0a';return{'action':_0x2a1338(0x25e),'newContent':_0x4bec84,'added':_0x1e97a2};}__name(mergeClaudeAllowEntries,_0x31632c(0x234));function mergeClaudeHooks(_0x3756c9,_0x27f352,_0x2c5fd1,_0x275820){const _0x3f8091={_0x150896:0x215,_0x1ee44a:0x238,_0x28f06c:0x18e,_0x44da09:0x238,_0x344454:0x23f,_0x4c8c4e:0x17d,_0x481e08:0x22d,_0x398907:0x246,_0x47ae73:0x25e},_0x5da62b=_0x31632c;let _0x1ff55e;if(_0x3756c9===null)_0x1ff55e={};else try{_0x1ff55e=JSON[_0x5da62b(0x1dc)](_0x3756c9);}catch(_0x5e4e30){throw new ClaudeSettingsParseError('Failed\x20to\x20parse\x20.claude/settings.json\x20as\x20JSON:\x20'+_0x5e4e30[_0x5da62b(_0x3f8091._0x150896)]+_0x5da62b(0x255));}const _0x484c97=_0x1ff55e[_0x5da62b(_0x3f8091._0x1ee44a)]&&typeof _0x1ff55e[_0x5da62b(_0x3f8091._0x1ee44a)]===_0x5da62b(_0x3f8091._0x28f06c)?_0x1ff55e[_0x5da62b(_0x3f8091._0x44da09)]:{},_0x1dae17=[];for(const _0x2d6eff of _0x27f352){const _0x2cc7f9=Array[_0x5da62b(_0x3f8091._0x344454)](_0x484c97[_0x2d6eff])?_0x484c97[_0x2d6eff]:[],_0x366f7e=_0x2cc7f9[_0x5da62b(_0x3f8091._0x4c8c4e)](_0x5541f5=>(_0x5541f5[_0x5da62b(0x238)]??[])[_0x5da62b(0x17d)](_0x4a02e4=>(_0x4a02e4[_0x5da62b(0x22d)]??'')[_0x5da62b(0x24f)](_0x275820)));if(_0x366f7e)continue;_0x2cc7f9[_0x5da62b(0x259)]({'matcher':'*','hooks':[{'type':_0x5da62b(_0x3f8091._0x481e08),'command':_0x2c5fd1}]}),_0x484c97[_0x2d6eff]=_0x2cc7f9,_0x1dae17[_0x5da62b(0x259)](_0x2d6eff);}_0x1ff55e[_0x5da62b(0x238)]=_0x484c97;if(_0x1dae17[_0x5da62b(_0x3f8091._0x398907)]===0x0)return{'action':_0x5da62b(0x1f8),'newContent':_0x3756c9??JSON[_0x5da62b(0x21f)](_0x1ff55e,null,0x2)+'\x0a','added':[]};return{'action':_0x5da62b(_0x3f8091._0x47ae73),'newContent':JSON['stringify'](_0x1ff55e,null,0x2)+'\x0a','added':_0x1dae17};}__name(mergeClaudeHooks,_0x31632c(0x23d));var BEGIN=_0x31632c(0x1a1),END=_0x31632c(0x244);function mergeClaudeMd(_0x5e7d27,_0x3a2b20){const _0x5beffb={_0x5102b9:0x1e3,_0x36f3ab:0x1b1,_0x1d15bd:0x253,_0xdc9c47:0x246},_0x1fda7e=_0x31632c,_0x46163e=BEGIN+'\x0a'+_0x3a2b20['trim']()+'\x0a'+END;if(_0x5e7d27===null)return{'action':'created','newContent':_0x46163e+'\x0a'};const _0x5eb5de=_0x5e7d27[_0x1fda7e(0x204)](BEGIN);if(_0x5eb5de===-0x1){const _0x3b769d=_0x5e7d27[_0x1fda7e(_0x5beffb._0x5102b9)]('\x0a')?_0x5e7d27:_0x5e7d27+'\x0a';return{'action':_0x1fda7e(_0x5beffb._0x36f3ab),'newContent':_0x3b769d+'\x0a'+_0x46163e+'\x0a'};}const _0x2c975a=_0x5e7d27['indexOf'](END,_0x5eb5de);if(_0x2c975a===-0x1){const _0x40a968=_0x5e7d27['endsWith']('\x0a')?_0x5e7d27:_0x5e7d27+'\x0a';return{'action':_0x1fda7e(0x1b1),'newContent':_0x40a968+'\x0a'+_0x46163e+'\x0a'};}const _0x4ea7cf=_0x5e7d27[_0x1fda7e(_0x5beffb._0x1d15bd)](0x0,_0x5eb5de)+_0x46163e+_0x5e7d27[_0x1fda7e(0x253)](_0x2c975a+END[_0x1fda7e(_0x5beffb._0xdc9c47)]);if(_0x4ea7cf===_0x5e7d27)return{'action':'already-present','newContent':_0x5e7d27};return{'action':_0x1fda7e(0x1fe),'newContent':_0x4ea7cf};}__name(mergeClaudeMd,_0x31632c(0x1cf));import{appendUniqueLines}from'@unotest/core';var AGENT_LOG_HOOK_EVENTS=['SessionStart',_0x31632c(0x17a),'UserPromptSubmit',_0x31632c(0x251),_0x31632c(0x260),_0x31632c(0x1d5),'Stop',_0x31632c(0x1f5),_0x31632c(0x1da),'PreCompact',_0x31632c(0x1a3)];function parseArgs(_0x4d5e88){const _0x26ad13={_0x33fb3a:0x258,_0x58d26d:0x246,_0x511cff:0x173,_0x2a2f4:0x1a8,_0xe0ce3f:0x1f9},_0x14c8c7=_0x31632c;let _0xb42d46=![],_0x3cf39f=process[_0x14c8c7(_0x26ad13._0x33fb3a)](),_0x1bc0b5;for(let _0x598752=0x0;_0x598752<_0x4d5e88[_0x14c8c7(_0x26ad13._0x58d26d)];_0x598752++){const _0x50fc01=_0x4d5e88[_0x598752];if(_0x50fc01===_0x14c8c7(0x22a)||_0x50fc01==='-f')_0xb42d46=!![];else{if(_0x50fc01===_0x14c8c7(0x202)){const _0x3d6dc7=_0x4d5e88[++_0x598752];if(_0x3d6dc7===_0x14c8c7(_0x26ad13._0x511cff)||_0x3d6dc7===_0x14c8c7(_0x26ad13._0x2a2f4)||_0x3d6dc7===_0x14c8c7(0x1c8))_0x1bc0b5=_0x3d6dc7;else throw new Error(_0x14c8c7(_0x26ad13._0xe0ce3f)+String(_0x3d6dc7));}else{if(!_0x50fc01['startsWith']('-'))_0x3cf39f=_0x368fda(process[_0x14c8c7(0x258)](),_0x50fc01);}}}const _0x2fdc94={'cwd':_0x3cf39f,'force':_0xb42d46};if(_0x1bc0b5!==void 0x0)_0x2fdc94[_0x14c8c7(0x243)]=_0x1bc0b5;return _0x2fdc94;}__name(parseArgs,_0x31632c(0x20c));function symbol(_0x39199d){return _0x39199d==='ok'?'✓':_0x39199d==='warning'?'⚠':'✗';}__name(symbol,_0x31632c(0x18b));function readOwnVersion(){const _0x5cb1af={_0x5878d5:0x25d,_0x4f2b2d:0x1dc,_0x151276:0x1d1},_0x4b0b8e=_0x31632c,_0x2534af=_0x1558ec(_0xed0a8d(import.meta.url)),_0x470c37=_0x368fda(_0x2534af,_0x4b0b8e(_0x5cb1af._0x5878d5)),_0x3bc2d5=readFileSync(_0x470c37,'utf8'),_0x57babc=JSON[_0x4b0b8e(_0x5cb1af._0x4f2b2d)](_0x3bc2d5);if(typeof _0x57babc[_0x4b0b8e(0x1d7)]!==_0x4b0b8e(_0x5cb1af._0x151276)||_0x57babc[_0x4b0b8e(0x1d7)][_0x4b0b8e(0x246)]===0x0)throw new Error('package.json\x20at\x20'+_0x470c37+_0x4b0b8e(0x257));return _0x57babc[_0x4b0b8e(0x1d7)];}__name(readOwnVersion,_0x31632c(0x199));function ensureDir(_0xe5e44d){if(!_0x19a530(_0xe5e44d))mkdirSync(_0xe5e44d,{'recursive':!![]});}__name(ensureDir,_0x31632c(0x1f2));function writeIfNeeded(_0x18d852,_0x498f16,_0x513260){const _0x55498d={_0x2938ed:0x210},_0xff9692=_0x31632c,_0x5ae762=_0x19a530(_0x18d852);if(_0x5ae762&&!_0x513260)return'skipped';return ensureDir(_0x1558ec(_0x18d852)),writeFileSync(_0x18d852,_0x498f16),_0x5ae762?_0xff9692(_0x55498d._0x2938ed):_0xff9692(0x20e);}__name(writeIfNeeded,_0x31632c(0x1ef));function writeIfAbsent(_0x3a7530,_0x389a66){const _0xbf75af={_0x2603db:0x263,_0x2bbe09:0x20e},_0x72911f=_0x31632c;if(_0x19a530(_0x3a7530))return _0x72911f(_0xbf75af._0x2603db);return ensureDir(_0x1558ec(_0x3a7530)),writeFileSync(_0x3a7530,_0x389a66),_0x72911f(_0xbf75af._0x2bbe09);}__name(writeIfAbsent,_0x31632c(0x1fc));async function runInit(_0x1472b5){const _0x315ada={_0x22ad00:0x222,_0x52e744:0x258,_0x4fbfd7:0x16b,_0xfc6a62:0x235,_0x33eeb0:0x16b,_0x47237b:0x222,_0x40170d:0x236,_0x4d0b45:0x216,_0x21dd3d:0x247,_0x5ac0e8:0x259,_0x40cf69:0x1ce,_0xac651f:0x1bb,_0x41e126:0x22c,_0xef5b6a:0x258,_0x5b4d00:0x177,_0x2a5045:0x1f0,_0x1e8b1e:0x1f8,_0x4a352d:0x259,_0x5e99a1:0x20b,_0x62a3c1:0x1a2,_0x491b35:0x263,_0x1e6ff0:0x259,_0x2077a2:0x239,_0x3688c6:0x25f,_0x8cf5a4:0x262,_0x47834a:0x1e9,_0x3f8a84:0x259,_0x2426a9:0x19f,_0x5a497a:0x209,_0x8151de:0x1fb,_0x2f428b:0x1fb,_0x210343:0x210,_0xb59327:0x1fe,_0x30538b:0x21e,_0xf275c6:0x181,_0x3ab795:0x263,_0x28a1a3:0x16b,_0x3eeedd:0x222,_0x2b8989:0x1c5,_0x36bdd3:0x177,_0x15669f:0x1ad,_0x18f99e:0x247,_0x18be9e:0x188,_0x3fdc29:0x25e,_0x21f43e:0x222,_0x5f4b8d:0x245,_0x6f91b:0x221,_0x34e697:0x177,_0x12cb96:0x1ae,_0x30eb36:0x1f8,_0x19fdd6:0x1a2,_0x2020cb:0x1f1,_0xd1b0f4:0x25e,_0x3135dc:0x172,_0xfba337:0x1db,_0x5abcb9:0x215,_0x1faf27:0x222,_0x3b17c4:0x177,_0x22b663:0x1c2,_0x16293b:0x1e5,_0x1c363e:0x266,_0x37be11:0x1c0,_0x56d99e:0x179,_0x13e30f:0x1d6,_0x1cefb5:0x25e,_0x548e2f:0x1a9,_0xd3c18a:0x222,_0x1a16eb:0x222,_0x13393b:0x16b,_0x3800fc:0x16b,_0x216485:0x1af,_0x150cc2:0x243,_0x427b4d:0x1e2,_0x2b744f:0x23e,_0x17214e:0x1ea,_0x413a73:0x1b7,_0x26da51:0x1d0},_0x2f8c19={_0x1e5176:0x1e8,_0x3511df:0x258,_0x11f4b9:0x177,_0x32d21e:0x263,_0x4a287a:0x20e},_0x20d760=_0x31632c,_0x569d25=parseArgs(_0x1472b5);process['stdout'][_0x20d760(_0x315ada._0x22ad00)]('unotest-web\x20init\x20→\x20'+_0x569d25[_0x20d760(_0x315ada._0x52e744)]+'\x0a\x0a'),process[_0x20d760(0x16b)][_0x20d760(0x222)]('Environment:\x0a');const _0x59e58e=runEnvironmentChecks({'cwd':_0x569d25[_0x20d760(0x258)]});let _0x345cac=![];for(const _0x4a222c of _0x59e58e){process[_0x20d760(_0x315ada._0x4fbfd7)]['write']('\x20\x20'+symbol(_0x4a222c[_0x20d760(_0x315ada._0xfc6a62)])+'\x20'+_0x4a222c['name']+':\x20'+_0x4a222c[_0x20d760(0x215)]+'\x0a');if(_0x4a222c[_0x20d760(0x16f)])process[_0x20d760(_0x315ada._0x4fbfd7)]['write'](_0x20d760(0x214)+_0x4a222c[_0x20d760(0x16f)]+'\x0a');if(_0x4a222c['severity']===_0x20d760(0x18a))_0x345cac=!![];}if(_0x345cac)return process[_0x20d760(0x221)]['write']('\x0aFix\x20the\x20errors\x20above\x20and\x20re-run.\x0a'),{'exitCode':0x1};process[_0x20d760(_0x315ada._0x33eeb0)][_0x20d760(_0x315ada._0x47237b)](_0x20d760(_0x315ada._0x40170d));const _0x3cede3=[];ensureDir(join(_0x569d25[_0x20d760(_0x315ada._0x52e744)],_0x20d760(0x17b)));for(const [_0x582422,_0x480848]of Object[_0x20d760(0x24d)](templates[_0x20d760(_0x315ada._0x4d0b45)])){_0x3cede3['push']({'path':'unotest/e2e/examples/'+_0x582422,'status':writeIfNeeded(join(_0x569d25[_0x20d760(0x258)],'unotest/e2e/examples',_0x582422),_0x480848,_0x569d25[_0x20d760(_0x315ada._0x21dd3d)])});}_0x3cede3[_0x20d760(_0x315ada._0x5ac0e8)]({'path':_0x20d760(_0x315ada._0x40cf69),'status':writeIfNeeded(join(_0x569d25[_0x20d760(0x258)],'unotest/e2e/_template.js'),templates[_0x20d760(_0x315ada._0xac651f)],_0x569d25['force'])}),_0x3cede3[_0x20d760(0x259)]({'path':_0x20d760(0x22c),'status':writeIfNeeded(join(_0x569d25[_0x20d760(0x258)],_0x20d760(_0x315ada._0x41e126)),'',_0x569d25[_0x20d760(_0x315ada._0x21dd3d)])}),_0x3cede3[_0x20d760(0x259)]({'path':'AGENTS.md','status':writeIfNeeded(join(_0x569d25[_0x20d760(0x258)],_0x20d760(0x1d2)),templates[_0x20d760(0x213)],_0x569d25[_0x20d760(0x247)])});{const _0x18d988=join(_0x569d25[_0x20d760(_0x315ada._0xef5b6a)],_0x20d760(0x20b)),_0xc50a3e=_0x19a530(_0x18d988)?readFileSync(_0x18d988,_0x20d760(_0x315ada._0x5b4d00)):null,_0x46f088=mergeClaudeMd(_0xc50a3e,templates[_0x20d760(_0x315ada._0x2a5045)]);_0x46f088['action']!==_0x20d760(_0x315ada._0x1e8b1e)&&writeFileSync(_0x18d988,_0x46f088['newContent']),_0x3cede3[_0x20d760(_0x315ada._0x4a352d)]({'path':_0x20d760(_0x315ada._0x5e99a1),'status':_0x46f088[_0x20d760(_0x315ada._0x62a3c1)]==='already-present'?_0x20d760(_0x315ada._0x491b35):_0x46f088['action']});}_0x3cede3[_0x20d760(_0x315ada._0x1e6ff0)]({'path':_0x20d760(_0x315ada._0x2077a2),'status':writeIfNeeded(join(_0x569d25[_0x20d760(0x258)],_0x20d760(0x239)),templates[_0x20d760(_0x315ada._0x3688c6)],_0x569d25[_0x20d760(_0x315ada._0x21dd3d)])}),_0x3cede3[_0x20d760(0x259)]({'path':_0x20d760(0x1b5),'status':writeIfAbsent(join(_0x569d25[_0x20d760(0x258)],'unotest/.env'),templates[_0x20d760(0x25f)])}),_0x3cede3['push']({'path':_0x20d760(0x262),'status':writeIfAbsent(join(_0x569d25['cwd'],_0x20d760(_0x315ada._0x8cf5a4)),templates['secretsExample'])});const _0xcdc832=join(_0x569d25[_0x20d760(0x258)],_0x20d760(_0x315ada._0x47834a));_0x3cede3[_0x20d760(_0x315ada._0x3f8a84)]({'path':_0x20d760(_0x315ada._0x47834a),'status':writeIfNeeded(_0xcdc832,unotestConfigMjs(void 0x0),_0x569d25[_0x20d760(_0x315ada._0x21dd3d)])});const _0x267851=_0x1558ec(_0xed0a8d(import.meta.url)),_0x3f21eb=__name((_0x35100d,_0x3ed593)=>{const _0x37724a=_0x20d760,_0x13e4e6=_0x368fda(_0x267851,_0x37724a(_0x2f8c19._0x1e5176),_0x35100d),_0x2e6e91=join(_0x569d25[_0x37724a(_0x2f8c19._0x3511df)],_0x35100d);if(!_0x19a530(_0x13e4e6))return{'path':_0x35100d,'status':_0x3ed593+_0x37724a(0x18c)};if(_0x19a530(_0x2e6e91)){if(readFileSync(_0x2e6e91,_0x37724a(_0x2f8c19._0x11f4b9))===readFileSync(_0x13e4e6,_0x37724a(0x177)))return{'path':_0x35100d,'status':_0x37724a(_0x2f8c19._0x32d21e)};return copyFileSync(_0x13e4e6,_0x2e6e91),{'path':_0x35100d,'status':_0x37724a(0x1fe)};}return ensureDir(_0x1558ec(_0x2e6e91)),copyFileSync(_0x13e4e6,_0x2e6e91),{'path':_0x35100d,'status':_0x37724a(_0x2f8c19._0x4a287a)};},'copyPackageFile');_0x3cede3[_0x20d760(0x259)](_0x3f21eb('.claude/skills/write-e2e-test/SKILL.md',_0x20d760(0x19d)),_0x3f21eb(_0x20d760(_0x315ada._0x2426a9),_0x20d760(0x265))),_0x3cede3[_0x20d760(_0x315ada._0x4a352d)](_0x3f21eb('.claude/hooks/log-agent.sh',_0x20d760(_0x315ada._0x5a497a)));for(const _0x265cec of _0x3cede3){const _0x1e7a1e=_0x265cec[_0x20d760(_0x315ada._0x8151de)]==='created'?_0x20d760(0x19b):_0x265cec[_0x20d760(_0x315ada._0x2f428b)]===_0x20d760(_0x315ada._0x210343)?'✓\x20overwrote':_0x265cec[_0x20d760(_0x315ada._0x2f428b)]===_0x20d760(_0x315ada._0xb59327)?_0x20d760(_0x315ada._0x30538b):_0x265cec['status'][_0x20d760(_0x315ada._0xf275c6)](_0x20d760(_0x315ada._0x3ab795))?_0x20d760(0x1b2):'·\x20'+_0x265cec[_0x20d760(0x1fb)];process[_0x20d760(_0x315ada._0x33eeb0)][_0x20d760(0x222)]('\x20\x20'+_0x1e7a1e+'\x20\x20'+_0x265cec['path']+'\x0a');}process[_0x20d760(_0x315ada._0x28a1a3)][_0x20d760(_0x315ada._0x3eeedd)](_0x20d760(_0x315ada._0x2b8989));const _0x215b61=join(_0x569d25[_0x20d760(0x258)],_0x20d760(0x237)),_0x2abebd=_0x19a530(_0x215b61)?readFileSync(_0x215b61,_0x20d760(_0x315ada._0x36bdd3)):null,_0x4626a9=readOwnVersion(),_0x54a28a={'command':'npx','args':['-y','@unotest/web@'+_0x4626a9,_0x20d760(_0x315ada._0x15669f)]};try{const _0x62698c=mergeMcpConfig(_0x2abebd,_0x20d760(0x16c),_0x54a28a,{'force':_0x569d25[_0x20d760(_0x315ada._0x18f99e)]});_0x62698c['action']!=='already-present'&&writeFileSync(_0x215b61,_0x62698c[_0x20d760(0x1a9)]);const _0x5d0efc=_0x62698c[_0x20d760(0x1a2)]==='created'?_0x20d760(_0x315ada._0x18be9e):_0x62698c[_0x20d760(0x1a2)]===_0x20d760(_0x315ada._0x3fdc29)?'added\x20unotest-web\x20entry':_0x62698c[_0x20d760(0x1a2)]===_0x20d760(0x192)?_0x20d760(0x178):'already\x20present';process[_0x20d760(0x16b)][_0x20d760(_0x315ada._0x21f43e)](_0x20d760(_0x315ada._0x5f4b8d)+_0x5d0efc+'\x0a');}catch(_0x118f9e){if(_0x118f9e instanceof McpJsonParseError)return process[_0x20d760(_0x315ada._0x6f91b)][_0x20d760(0x222)](_0x20d760(0x1db)+_0x118f9e['message']+'\x0a'),{'exitCode':0x1};throw _0x118f9e;}process['stdout'][_0x20d760(_0x315ada._0x3eeedd)](_0x20d760(0x1ba));const _0x260b76=join(_0x569d25[_0x20d760(0x258)],'.claude/settings.json'),_0x1ca625=_0x19a530(_0x260b76)?readFileSync(_0x260b76,_0x20d760(_0x315ada._0x34e697)):null;try{const _0x3f3953=mergeClaudeAllowEntries(_0x1ca625,[_0x20d760(_0x315ada._0x12cb96)]),_0x4d5d31=_0x20d760(0x23b),_0x50bc18=mergeClaudeHooks(_0x3f3953['newContent'],AGENT_LOG_HOOK_EVENTS,_0x4d5d31,_0x20d760(0x231));(_0x3f3953[_0x20d760(_0x315ada._0x62a3c1)]!=='already-present'||_0x50bc18[_0x20d760(0x1a2)]!==_0x20d760(_0x315ada._0x30eb36))&&(ensureDir(_0x1558ec(_0x260b76)),writeFileSync(_0x260b76,_0x50bc18['newContent']));const _0x346225=_0x3f3953[_0x20d760(_0x315ada._0x19fdd6)]==='created'?_0x20d760(0x1ff):_0x3f3953[_0x20d760(0x1a2)]===_0x20d760(0x25e)?_0x20d760(0x1d3)+_0x3f3953[_0x20d760(0x25e)][_0x20d760(0x25b)](',\x20'):_0x20d760(0x226);process['stdout']['write']('\x20\x20✓\x20'+_0x346225+'\x0a');const _0x2ff2f2=_0x50bc18[_0x20d760(_0x315ada._0x19fdd6)]==='added'?_0x20d760(_0x315ada._0x2020cb)+_0x50bc18[_0x20d760(_0x315ada._0xd1b0f4)][_0x20d760(0x246)]+_0x20d760(_0x315ada._0x3135dc):_0x20d760(0x187);process[_0x20d760(_0x315ada._0x4fbfd7)]['write']('\x20\x20✓\x20'+_0x2ff2f2+'\x0a');}catch(_0xf4dfe6){if(_0xf4dfe6 instanceof ClaudeSettingsParseError)return process['stderr'][_0x20d760(_0x315ada._0x21f43e)](_0x20d760(_0x315ada._0xfba337)+_0xf4dfe6[_0x20d760(_0x315ada._0x5abcb9)]+'\x0a'),{'exitCode':0x1};throw _0xf4dfe6;}process[_0x20d760(0x16b)][_0x20d760(_0x315ada._0x1faf27)](_0x20d760(0x230));const _0x2ed83c=join(_0x569d25['cwd'],'.gitignore'),_0x536e47=_0x19a530(_0x2ed83c)?readFileSync(_0x2ed83c,_0x20d760(_0x315ada._0x3b17c4)):null,_0x4c0b60=appendUniqueLines(_0x536e47,[_0x20d760(_0x315ada._0x22b663),_0x20d760(_0x315ada._0x16293b),_0x20d760(_0x315ada._0x1c363e),_0x20d760(_0x315ada._0x37be11),_0x20d760(_0x315ada._0x56d99e),'unotest/.debug*/','unotest/.snapshots/',_0x20d760(_0x315ada._0x13e30f),_0x20d760(0x197),'node_modules/']);if(_0x4c0b60[_0x20d760(_0x315ada._0x1cefb5)]['length']>0x0){writeFileSync(_0x2ed83c,_0x4c0b60[_0x20d760(_0x315ada._0x548e2f)]);for(const _0x50cb8c of _0x4c0b60[_0x20d760(0x25e)]){process[_0x20d760(_0x315ada._0x28a1a3)][_0x20d760(_0x315ada._0xd3c18a)](_0x20d760(0x207)+_0x50cb8c+'\x22\x0a');}}for(const _0xf2536b of _0x4c0b60[_0x20d760(0x1dd)]){process['stdout'][_0x20d760(_0x315ada._0x1a16eb)](_0x20d760(0x1a4)+_0xf2536b+'\x22\x0a');}_0x4c0b60[_0x20d760(0x25e)][_0x20d760(0x246)]===0x0&&_0x4c0b60[_0x20d760(0x1dd)]['length']===0x0&&process[_0x20d760(_0x315ada._0x13393b)][_0x20d760(0x222)]('\x20\x20·\x20no\x20changes\x20needed\x0a');process[_0x20d760(_0x315ada._0x3800fc)][_0x20d760(_0x315ada._0x47237b)]('\x0aBrowser:\x0a');const _0x568c58=probeSystemBrowser(),_0x241bb5=Boolean(process['stdin'][_0x20d760(_0x315ada._0x216485)])&&Boolean(process[_0x20d760(_0x315ada._0x4fbfd7)][_0x20d760(0x1af)]),_0x38c70c={'probe':_0x568c58,'interactive':_0x241bb5};if(_0x569d25['browserOverride'])_0x38c70c[_0x20d760(0x227)]=_0x569d25[_0x20d760(_0x315ada._0x150cc2)];const _0x55c6df=await chooseBrowser(_0x38c70c);writeFileSync(_0xcdc832,unotestConfigMjs(_0x55c6df[_0x20d760(0x1e2)]));const _0x4e969e=_0x55c6df[_0x20d760(_0x315ada._0x427b4d)]===void 0x0?_0x20d760(0x167):_0x55c6df['channel']===null?_0x20d760(_0x315ada._0x2b744f):'channel:\x20\x27'+_0x55c6df[_0x20d760(_0x315ada._0x427b4d)]+'\x27';process[_0x20d760(_0x315ada._0x4fbfd7)]['write']('\x20\x20✓\x20unotest.config.mjs\x20'+_0x4e969e+'\x0a'),process['stdout'][_0x20d760(_0x315ada._0x21f43e)](_0x20d760(_0x315ada._0x17214e));if(_0x55c6df[_0x20d760(0x1b7)][_0x20d760(0x246)]>0x0){for(const _0x16d73c of _0x55c6df[_0x20d760(_0x315ada._0x413a73)])process[_0x20d760(0x16b)]['write']('\x20\x20'+_0x16d73c+'\x0a');process['stdout'][_0x20d760(0x222)]('\x0a');}return process[_0x20d760(0x16b)]['write'](_0x20d760(_0x315ada._0x26da51)),{'exitCode':0x0};}__name(runInit,_0x31632c(0x171));var invokedDirectly2=process[_0x31632c(0x1a0)][0x1]&&_0xed0a8d(import.meta.url)===process[_0x31632c(0x1a0)][0x1];invokedDirectly2&&runInit(process[_0x31632c(0x1a0)]['slice'](0x2))[_0x31632c(0x24b)](({exitCode:_0xaf0d2a})=>{const _0x1c762d=_0x31632c;process[_0x1c762d(0x1b9)]=_0xaf0d2a;})[_0x31632c(0x22b)](_0x20de1c=>{const _0x129947={_0x1d391d:0x222,_0x58ceaa:0x1b9},_0x18309c=_0x31632c;process[_0x18309c(0x221)][_0x18309c(_0x129947._0x1d391d)]('init:\x20'+(_0x20de1c instanceof Error?_0x20de1c['message']:String(_0x20de1c))+'\x0a'),process[_0x18309c(_0x129947._0x58ceaa)]=0x1;});export{runInit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3037(){const _0x306e97=['mtHzBxHTwK0','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','C3rKB3v0','zgf0yq','mJmWntuXmNrVy2rcsq','BMfTzq','zxHPDa','mJrztuHgENe','CMvZB2X2zq','mtq2nZG0vKnJtfvW','CgXHExDYAwDODc9WywnRywDLlMPZB24','zxHLy1bHDgG','CgLWzq','mtb4te1hy3e','Aw5ZDgfSBenOCM9TAxvT','mJrzs2Lxv2W','4PYxigLUC3rHBgWTy2HYB21PDw06ia','nJGZmZy4u3fwwKnl','mZCYotG3ovLetK9mwG','yMLU','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','DgHLBG','BwvZC2fNzq','C3rKzxjY','mJiZmtK2ofDYrwHMrW','CNvUsw5ZDgfSBenOCM9TAxvTq2XP','nJC2mtm1CLf2uwfx','CgXHExDYAwDODa','yxjNDG','mZK4otLhzeTSze4','Dg9tDhjPBMC','C3rYAw5N','Aw5ZDgfSBa','D3jPDgu','zgvMAw5LuhjVCgvYDhK'];_0x3037=function(){return _0x306e97;};return _0x3037();}const _0x3f11a2=_0x58ef;(function(_0x47cb6d,_0x3ada91){const _0x4d4e00={_0x3e6cf5:0x1cd,_0x507a8f:0x1d3,_0x44927e:0x1dc,_0x427143:0x1eb,_0x320efe:0x1ed,_0x34dab2:0x1da,_0x40630c:0x1e2,_0x2e1b96:0x1e5,_0x151ae7:0x1d7},_0x19de32=_0x58ef,_0x2abad5=_0x47cb6d();while(!![]){try{const _0x563458=-parseInt(_0x19de32(_0x4d4e00._0x3e6cf5))/0x1*(-parseInt(_0x19de32(_0x4d4e00._0x507a8f))/0x2)+-parseInt(_0x19de32(_0x4d4e00._0x44927e))/0x3+parseInt(_0x19de32(_0x4d4e00._0x427143))/0x4+parseInt(_0x19de32(_0x4d4e00._0x320efe))/0x5*(parseInt(_0x19de32(_0x4d4e00._0x34dab2))/0x6)+parseInt(_0x19de32(0x1e4))/0x7*(-parseInt(_0x19de32(_0x4d4e00._0x40630c))/0x8)+-parseInt(_0x19de32(_0x4d4e00._0x2e1b96))/0x9*(parseInt(_0x19de32(0x1e0))/0xa)+-parseInt(_0x19de32(_0x4d4e00._0x151ae7))/0xb;if(_0x563458===_0x3ada91)break;else _0x2abad5['push'](_0x2abad5['shift']());}catch(_0x598521){_0x2abad5['push'](_0x2abad5['shift']());}}}(_0x3037,0x78288));var __defProp=Object[_0x3f11a2(0x1d2)],__name=(_0x444864,_0x18b30b)=>__defProp(_0x444864,_0x3f11a2(0x1d8),{'value':_0x18b30b,'configurable':!![]});import{spawn}from'child_process';import{createRequire}from'module';import{dirname,resolve}from'path';import{fileURLToPath}from'url';async function installChromium(_0x29f208={}){const _0xb09c6e={_0x5224ff:0x1db,_0x45dc6d:0x1dd,_0x11e6df:0x1e6,_0x32b267:0x1cf,_0x374414:0x1e6},_0x4fdf7f={_0x11ad9c:0x1d0,_0x5150bb:0x1df,_0x5c4210:0x1d6,_0x4d94b4:0x1d9},_0x4a7cec=_0x3f11a2,_0x2a9be4=_0x29f208['stdoutWrite']??(_0x97d8f=>process[_0x4a7cec(0x1d5)]['write'](_0x97d8f)),_0x4c1279=createRequire(import.meta.url),_0x4e6930=_0x4c1279[_0x4a7cec(_0xb09c6e._0x5224ff)](_0x4a7cec(_0xb09c6e._0x45dc6d)),_0x2b3245=_0x4c1279(_0x4e6930),_0x3fab9b=typeof _0x2b3245[_0x4a7cec(_0xb09c6e._0x11e6df)]===_0x4a7cec(_0xb09c6e._0x32b267)?_0x2b3245[_0x4a7cec(_0xb09c6e._0x11e6df)]:_0x2b3245[_0x4a7cec(_0xb09c6e._0x374414)]?.[_0x4a7cec(0x1ee)];if(!_0x3fab9b)throw new Error(_0x4a7cec(0x1d4));const _0xc12f1c=resolve(dirname(_0x4e6930),_0x3fab9b);return new Promise((_0x11da93,_0x48a464)=>{const _0x473132=_0x4a7cec,_0x1bf2c4=spawn(process[_0x473132(0x1de)],[_0xc12f1c,_0x473132(_0x4fdf7f._0x11ad9c),'chromium'],{'stdio':['inherit',_0x473132(0x1df),_0x473132(_0x4fdf7f._0x5150bb)]});_0x1bf2c4[_0x473132(0x1d5)]?.['on']('data',_0x5d43fd=>_0x2a9be4(_0x5d43fd['toString']())),_0x1bf2c4['stderr']?.['on'](_0x473132(_0x4fdf7f._0x5c4210),_0x52f14a=>_0x2a9be4(_0x52f14a[_0x473132(0x1ce)]())),_0x1bf2c4['on']('error',_0x48a464),_0x1bf2c4['on'](_0x473132(_0x4fdf7f._0x4d94b4),_0x3844ac=>{const _0x196ff0=_0x473132;if(_0x3844ac===0x0)_0x11da93();else _0x48a464(new Error(_0x196ff0(0x1e7)+_0x3844ac));});});}function _0x58ef(_0x11c93c,_0x2197d9){_0x11c93c=_0x11c93c-0x1cc;const _0x303792=_0x3037();let _0x58ef82=_0x303792[_0x11c93c];if(_0x58ef['JCEnbQ']===undefined){var _0x440f43=function(_0x26bd2a){const _0x4018c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444864='',_0x18b30b='';for(let _0x29f208=0x0,_0x2a9be4,_0x4c1279,_0x4e6930=0x0;_0x4c1279=_0x26bd2a['charAt'](_0x4e6930++);~_0x4c1279&&(_0x2a9be4=_0x29f208%0x4?_0x2a9be4*0x40+_0x4c1279:_0x4c1279,_0x29f208++%0x4)?_0x444864+=String['fromCharCode'](0xff&_0x2a9be4>>(-0x2*_0x29f208&0x6)):0x0){_0x4c1279=_0x4018c3['indexOf'](_0x4c1279);}for(let _0x2b3245=0x0,_0x3fab9b=_0x444864['length'];_0x2b3245<_0x3fab9b;_0x2b3245++){_0x18b30b+='%'+('00'+_0x444864['charCodeAt'](_0x2b3245)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18b30b);};_0x58ef['oNpSDQ']=_0x440f43,_0x58ef['sJtTtT']={},_0x58ef['JCEnbQ']=!![];}const _0x1ec53b=_0x303792[0x0],_0x1ef205=_0x11c93c+_0x1ec53b,_0x4dc86e=_0x58ef['sJtTtT'][_0x1ef205];return!_0x4dc86e?(_0x58ef82=_0x58ef['oNpSDQ'](_0x58ef82),_0x58ef['sJtTtT'][_0x1ef205]=_0x58ef82):_0x58ef82=_0x4dc86e,_0x58ef82;}__name(installChromium,_0x3f11a2(0x1e1));async function runInstallChromiumCli(){const _0x4d06c0={_0x238c88:0x1ea,_0x3fa3a7:0x1d1,_0x370e8e:0x1e9},_0x4f2a5a=_0x3f11a2;try{return await installChromium(),0x0;}catch(_0x2b67bd){return process[_0x4f2a5a(_0x4d06c0._0x238c88)][_0x4f2a5a(_0x4d06c0._0x3fa3a7)](_0x4f2a5a(0x1e3)+(_0x2b67bd instanceof Error?_0x2b67bd[_0x4f2a5a(_0x4d06c0._0x370e8e)]:String(_0x2b67bd))+'\x0a'),0x1;}}__name(runInstallChromiumCli,_0x3f11a2(0x1ec));var invokedDirectly=process[_0x3f11a2(0x1cc)][0x1]&&fileURLToPath(import.meta.url)===process[_0x3f11a2(0x1cc)][0x1];invokedDirectly&&runInstallChromiumCli()[_0x3f11a2(0x1e8)](_0x14c078=>process['exit'](_0x14c078));export{installChromium,runInstallChromiumCli};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x1f1444=_0x17b2;(function(_0x8b246,_0x3bd117){const _0x6908b7={_0x1a9a2b:0x1a0,_0x42d3ef:0x1d0,_0x13c2c0:0x1f2,_0x3fdd4f:0x1e6},_0x6b9f84=_0x17b2,_0x362393=_0x8b246();while(!![]){try{const _0x382be3=parseInt(_0x6b9f84(0x1a3))/0x1+-parseInt(_0x6b9f84(0x1b2))/0x2*(-parseInt(_0x6b9f84(_0x6908b7._0x1a9a2b))/0x3)+parseInt(_0x6b9f84(0x1db))/0x4+-parseInt(_0x6b9f84(_0x6908b7._0x42d3ef))/0x5+parseInt(_0x6b9f84(_0x6908b7._0x13c2c0))/0x6+-parseInt(_0x6b9f84(_0x6908b7._0x3fdd4f))/0x7+-parseInt(_0x6b9f84(0x1c3))/0x8;if(_0x382be3===_0x3bd117)break;else _0x362393['push'](_0x362393['shift']());}catch(_0x2204f1){_0x362393['push'](_0x362393['shift']());}}}(_0x2afc,0xa0464));var __defProp=Object[_0x1f1444(0x1ab)],__name=(_0x2c9248,_0x1065d9)=>__defProp(_0x2c9248,_0x1f1444(0x1c9),{'value':_0x1065d9,'configurable':!![]});import{writeFileSync as _0x30f1eb}from'fs';import{join as _0x1b4732}from'path';import{fileURLToPath}from'url';function _0x2afc(){const _0x3e94ec=['ycbPBIbG','nty0otyWCxLyAg9W','zMfPBhvYzxm','BMv0D29YAW','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','iYbuzxn0igzPEcbYzxf1zxn0cGOJiYbgywLSDxjLignVBNrLEhqkcI0GkIPuzxn0kIO6iga','y2XHC3nPzNK','DMLKzw8UD2vIBq','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG','Aw5JBhvKzxm','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','icb+','nZKZntK0mLbOAwnbwG','ihrLC3qOCYKGkeqTmJuPcGO','C2nLBMfYAw9qyxrO','rxjYB3i','yaOTicOQu3rLCcbPBMrLEcOQoIa','BwfW','zxjY','DMfSDwvZ','C2XPy2u','CNvUuhjLCgfYzuzPEa','zMLSDgvY','DxjS','nJK1nJa3nNfltfrZsq','kqOk','Bg93','Dw5RBM93BG','ycdIGjqG','y2fWDhvYzwrbDa','yxjNDG','CgfKu3rHCNq','yxbWCM94vg9Rzw5Z','C3vNz2vZDgvKqwn0Aw9U','y29UC29Szs5QC29U','C2nYzwvUC2HVDevYCM9Y','C25HChnOB3q','DxrMoa','ywrKlxDHAxrMB3i','y29UzMLKzw5Jzq','zML4lxbYB21WDc5Tza','CMvZB2X2zuj1BMrSzurPCG','DhjHy2u','Dgv4Da','xYHUBYbZzw1HBNrPyY1KB20GC25HChnOB3qGy2fWDhvYzwqGzM9YihrOAxmGzMfPBhvYzsLF','C2nYzwvUC2HVDfbHDgG','ls1MywLSAw5N','AgLNAa','zMfPBhvYzs5QC29U','iIaOBg9VA2vKigLUia','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','CNvUswq','AM9PBG','BgvUz3rO','nNb4u3H4tG','C2v0','tg9JyxrVCKvYCM9Y','mZe3mZm0qMnNyNPg','yNvUzgXLrgLY','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','y29TCg9ZzuzPEfbYB21WDa','ChjVBxb0twfYA2rVD24','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','qxnZzxj0Aw9UrxjYB3i','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','zgvMAw5LuhjVCgvYDhK','cGOJiYbty2vUyxjPBYbZB3vYy2uGkgXPBMuTBNvTyMvYzwqPcGPGygbQCWO','y2vPBa','zxHPDa','icbJB25MAwrLBMnLpq','y29UC29SzuXPBwL0','zxjYB3i','mta2mdq4mLbbs0neuq','Bg9JywXLq29TCgfYzq','AxneAxjLy3rVCNK','lcbJB2WG','ycaOy29UzMLKzw5JztOG','vgLTzw91DevYCM9Y','BwvZC2fNzq','yNvPBgrqCM9TChrnyxjRzg93BG','cGOJiYbxAgf0ihDLig5LzwqkcLbYB2r1y2uGysaQkNvUAwzPzwqGzgLMzIOQihrOyxqGzML4zxmGDgHLihrLC3qUienVBNn0CMfPBNrZoGOkms4Gs2vLCcb0AguGC2fTzsb0zxn0xYOOksbMDw5JDgLVBIbUyw1LigfUzcb0AguGC2fTzsbVDMvYywXSigzSB3CG4OcuignOyw5Nzsb0AgukicaGBwLUAw11BsbYzxf1AxjLzcb0BYbTywTLihrOzsbMywLSAw5Nihn0zxaGC3vJy2vLzc4kmI4GuhjLzMvYihrOzsbeltiYihnLBgvJDg9YigHPzxjHCMnOEtOGygDLDej5vgvZDeLKycdIHPiGygDLDej5uM9SzsH7BMfTzx0PyaOGicdIHPiGygDLDej5tgfIzwXGiokgKIbGz2v0qNLuzxH0ycdIHPiGygXVy2f0B3iOy3nZkwaGkgXHC3qGCMvZB3j0ks4kmY4GswyGywrKAw5NigeGD2fPDcWGChjLzMvYigb3ywL0rM9YkgXVyYLGic8GyhDHAxrgB3jvCMWOCgf0DgvYBILGig92zxiGyhbHDxnLkg1ZkwaUcJqUie5VigLTCg9YDhmG4OcuierttcbMDw5JDgLVBNmGCMvZB2X2zsb0AhjVDwDOihrOzsbYDw50Aw1LihjLz2LZDhj5igj5ig5HBwuUcJuUie5VigbHC3LUy2aVygf3ywL0ycdIGjqGDgHLigv4zwn1Dg9YigHHBMrSzxmGyxn5BMmGAw50zxjUywXSEs4knI4Gt3v0Chv0ie9otfKGDgHLihvUAwzPzwqGzgLMzIbIzxr3zwvUigzLBMnLCYbGygbKAwzMiokaPIbGygaUifrOzsb1C2vYcIaGihjLDMLLD3mGkYbHChbSAwvZigL0ig1HBNvHBgX5icHelti1iokaLcb3zsbUzxzLCIbHDxrVlwfWCgX5ks4k','DgvZDezU','C2nYzwvUC2HVDc1LCNjVCI50Ehq','C3rHCNrZv2L0Aa','C3rKzxjY','BMv0D29YAY5QC29U','vvjmoIa','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','DgLTzxn0yw1W','nJqXmtKZnKjjt1v2DG','y3DK','C3rHy2S','BwvKAxvT','icdINjCG','CgfYC2u','BMfTzq','C2nYzwvUC2HVDc5WBMC','BgLUzq','lNvUB3rLC3q','DgvZDa','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','icdINjmG','ndmZnJaWrKHyEKXq','C3rKB3v0','zMfPBhvYzxnsB290','Bgv2zwW','iYmJifn0ywnRcMbGyaO','CMv3CML0zs1ZzwXLy3rVCG','cMbGyaO','BgLZDezHAwX1CMvZ','y2HHBMDLlwfZC2vYDgLVBG','D3jPDgu'];_0x2afc=function(){return _0x3e94ec;};return _0x2afc();}import{readFileSync as _0x30cd09,existsSync as _0x1c6d62}from'fs';import{relative}from'path';import{existsSync,mkdirSync,readFileSync,readdirSync,statSync,writeFileSync}from'fs';import{join,dirname}from'path';function readFailureBundle(_0x4ff4cf){const _0x2fc75e={_0x3df3b8:0x1c8,_0x1f7b18:0x1ff,_0x3b43b9:0x1bf,_0x4d4b28:0x1ca,_0x1d7611:0x207,_0xaf54f0:0x1bc,_0x4dc971:0x1fd},_0x45e56e=_0x1f1444;if(!existsSync(_0x4ff4cf))return null;const _0x2d8050=join(_0x4ff4cf,_0x45e56e(0x20a));if(!existsSync(_0x2d8050))return null;const _0xc1bfa6=JSON[_0x45e56e(_0x2fc75e._0x3df3b8)](readFileSync(_0x2d8050,'utf8')),_0x4169ff=join(_0x4ff4cf,_0x45e56e(0x1fc)),_0x50cac7=existsSync(_0x4169ff)?JSON[_0x45e56e(0x1c8)](readFileSync(_0x4169ff,_0x45e56e(0x1ff))):[],_0x3dd283=join(_0x4ff4cf,'snapshot.json'),_0x19b4fa=existsSync(_0x3dd283)?JSON['parse'](readFileSync(_0x3dd283,_0x45e56e(_0x2fc75e._0x1f7b18))):void 0x0,_0x32ec27={'trace':_0xc1bfa6,'console':_0x50cac7},_0x1c21e0=join(_0x4ff4cf,_0x45e56e(_0x2fc75e._0x3b43b9));existsSync(_0x1c21e0)&&(_0x32ec27[_0x45e56e(0x1dd)]=JSON['parse'](readFileSync(_0x1c21e0,_0x45e56e(0x1ff))));if(_0x19b4fa!==void 0x0)_0x32ec27[_0x45e56e(0x1fe)]=_0x19b4fa;const _0x545acb=join(_0x4ff4cf,_0x45e56e(_0x2fc75e._0x4d4b28));if(existsSync(_0x545acb))_0x32ec27[_0x45e56e(_0x2fc75e._0x1d7611)]=_0x545acb;else{const _0x25321d=join(_0x4ff4cf,_0x45e56e(_0x2fc75e._0xaf54f0));existsSync(_0x25321d)&&(_0x32ec27[_0x45e56e(_0x2fc75e._0x4dc971)]=readFileSync(_0x25321d,_0x45e56e(0x1ff)));}const _0x2decf2=join(_0x4ff4cf,'har.json');if(existsSync(_0x2decf2))_0x32ec27['harPath']=_0x2decf2;const _0x478ba1=join(_0x4ff4cf,_0x45e56e(0x1e1));if(existsSync(_0x478ba1))_0x32ec27['videoPath']=_0x478ba1;return _0x32ec27;}__name(readFailureBundle,'readFailureBundle');function listFailures(_0x9513c8){const _0x5f4d0b={_0x1b1e11:0x1b4,_0x56e883:0x1c8,_0x4de744:0x1e8},_0x3b31ef=_0x1f1444;if(!existsSync(_0x9513c8))return[];const _0x40fe2c=[];for(const _0x403e04 of readdirSync(_0x9513c8)){const _0x2d8c35=join(_0x9513c8,_0x403e04);if(!statSync(_0x2d8c35)[_0x3b31ef(_0x5f4d0b._0x1b1e11)]())continue;for(const _0x4490d3 of readdirSync(_0x2d8c35)){const _0x2e5121=join(_0x2d8c35,_0x4490d3);if(!statSync(_0x2e5121)['isDirectory']())continue;const _0x3ded1e=join(_0x2e5121,_0x3b31ef(0x20a));if(!existsSync(_0x3ded1e))continue;try{const _0x5b2722=JSON[_0x3b31ef(_0x5f4d0b._0x56e883)](readFileSync(_0x3ded1e,'utf8'));_0x40fe2c['push']({'runId':_0x403e04,'testFn':_0x5b2722[_0x3b31ef(0x1bb)],'scenarioPath':_0x5b2722[_0x3b31ef(_0x5f4d0b._0x4de744)],'dir':_0x2e5121,'timestamp':_0x5b2722['timestamp']});}catch{}}}return _0x40fe2c['sort']((_0x2227e3,_0x586c2f)=>_0x586c2f[_0x3b31ef(0x1c2)][_0x3b31ef(0x1b3)](_0x2227e3[_0x3b31ef(0x1c2)])),_0x40fe2c;}__name(listFailures,_0x1f1444(0x1d7));function defaultFailuresRoot(_0x1d7b5f=process[_0x1f1444(0x1c4)]()){const _0x8ab483={_0x398d2a:0x1cc},_0x59c5db=_0x1f1444;return join(_0x1d7b5f,_0x59c5db(_0x8ab483._0x398d2a),_0x59c5db(0x1dc));}__name(defaultFailuresRoot,'defaultFailuresRoot');function resolveBundleDir(_0x4cb800,_0x147752){const _0x5d7a37=_0x1f1444;if(existsSync(_0x4cb800)&&statSync(_0x4cb800)[_0x5d7a37(0x1b4)]())return _0x4cb800;return join(_0x147752,_0x4cb800);}__name(resolveBundleDir,_0x1f1444(0x203));function composeFixPrompt(_0xa9de24,_0x40d766={}){const _0x4ba728={_0x153f44:0x20b,_0x3efd22:0x1c4,_0xa63311:0x1ff,_0x57bc8e:0x1e4,_0x38017d:0x1b0,_0x29a2d0:0x1ee,_0x20a0ab:0x1e8},_0x40e224=_0x1f1444,_0x27c666=_0x40d766[_0x40e224(0x1d2)]??defaultFailuresRoot(),_0x443062=resolveBundleDir(_0xa9de24,_0x27c666),_0x28a17c=readFailureBundle(_0x443062);if(!_0x28a17c)throw new Error(_0x40e224(0x20c)+_0xa9de24+_0x40e224(_0x4ba728._0x153f44)+_0x443062+')');const _0x47a646=_0x40d766[_0x40e224(_0x4ba728._0x3efd22)]??process['cwd'](),_0x25320c=_0x1c6d62(_0x28a17c[_0x40e224(0x204)][_0x40e224(0x1e8)])?_0x30cd09(_0x28a17c['trace']['scenarioPath'],_0x40e224(_0x4ba728._0xa63311)):_0x40e224(_0x4ba728._0x57bc8e),_0x3c7991=_0x40d766[_0x40e224(_0x4ba728._0x38017d)]??0x19,_0x22f20b=_0x28a17c['console'][_0x40e224(_0x4ba728._0x29a2d0)](-_0x3c7991),{suggestedAction:_0x179a50,confidence:_0x1c37d5}=classify(_0x28a17c),_0x227a6a=buildPromptMarkdown({'bundle':_0x28a17c,'scenarioSource':_0x25320c,'scenarioRelative':relative(_0x47a646,_0x28a17c[_0x40e224(0x204)][_0x40e224(_0x4ba728._0x20a0ab)]),'consoleTail':_0x22f20b,'suggestedAction':_0x179a50,'confidence':_0x1c37d5}),_0x512cec=Math[_0x40e224(0x1ad)](_0x227a6a[_0x40e224(0x19f)]/0x4);return{'promptMarkdown':_0x227a6a,'suggestedAction':_0x179a50,'confidence':_0x1c37d5,'sources':{'bundleDir':_0x443062,'scenarioPath':_0x28a17c['trace']['scenarioPath'],'consoleEntries':_0x28a17c['console']['length'],'hasSnapshot':!!_0x28a17c[_0x40e224(0x1fe)]},'approxTokens':_0x512cec};}__name(composeFixPrompt,_0x1f1444(0x1a6));function classify(_0x4d64ad){const _0x1da45e={_0x5bd9bc:0x1b8,_0xccd9c9:0x1c9,_0x22aaf8:0x1f4,_0x309409:0x1cd,_0x42b079:0x1b7,_0xf184a8:0x200,_0x58fd1d:0x209,_0x4dd4f9:0x1c6,_0x231fca:0x1a9,_0xc05223:0x1a9},_0x38317f=_0x1f1444,_0x2dc76f=_0x4d64ad['trace'][_0x38317f(0x1b1)][_0x38317f(_0x1da45e._0x5bd9bc)]['toLowerCase'](),_0x22cdd2=_0x4d64ad[_0x38317f(0x204)]['error'][_0x38317f(_0x1da45e._0xccd9c9)]??'';let _0x4f6c1c=_0x38317f(0x1f5),_0x54160b=_0x38317f(_0x1da45e._0x22aaf8);if(_0x22cdd2===_0x38317f(0x1a2)||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i[_0x38317f(_0x1da45e._0x309409)](_0x2dc76f))_0x4f6c1c=_0x38317f(0x1d5),_0x54160b=_0x22cdd2===_0x38317f(0x1a2)?_0x38317f(0x209):_0x38317f(0x1c6);else{if(_0x22cdd2===_0x38317f(_0x1da45e._0x42b079)||/timeout|waiting for/i[_0x38317f(_0x1da45e._0x309409)](_0x2dc76f))_0x4f6c1c=_0x38317f(_0x1da45e._0xf184a8),_0x54160b=_0x22cdd2==='TimeoutError'?_0x38317f(_0x1da45e._0x58fd1d):_0x38317f(_0x1da45e._0x4dd4f9);else(_0x22cdd2===_0x38317f(_0x1da45e._0x231fca)||/asserttext|assertvisible|expected.*got/i[_0x38317f(0x1cd)](_0x2dc76f))&&(_0x4f6c1c=_0x38317f(0x1d8),_0x54160b=_0x22cdd2===_0x38317f(_0x1da45e._0xc05223)?_0x38317f(0x209):'medium');}return{'suggestedAction':_0x4f6c1c,'confidence':_0x54160b};}__name(classify,_0x1f1444(0x1e0));function buildPromptMarkdown(_0x4cd79e){const _0x5b52d8={_0x5062ef:0x19f,_0x537e0c:0x1f7,_0x1b4f5c:0x204,_0x400d9e:0x1bb,_0x6c9380:0x1da,_0x4bc44c:0x1c1,_0x5dd08f:0x1cb,_0x427192:0x1b5,_0x5dedad:0x204,_0x338474:0x1e9,_0x4af927:0x1f6,_0x260963:0x1b1,_0x466778:0x1f3,_0x5cb9fb:0x204,_0x29f6ae:0x1d4,_0x2ba4a3:0x1b1,_0x6f35a:0x1d6,_0x5d4bff:0x1ac,_0x31465c:0x1aa,_0x251d74:0x1ba},_0x376b97=_0x1f1444,{bundle:_0x550b76,scenarioSource:_0x2bceef,scenarioRelative:_0x2b676e,consoleTail:_0x414660,suggestedAction:_0x1eafde,confidence:_0x36b92c}=_0x4cd79e,_0x287a8c=_0x2bceef['split']('\x0a')['map']((_0x7535dd,_0x563200)=>String(_0x563200+0x1)[_0x376b97(0x1f9)](0x3,'\x20')+'\x20\x20'+_0x7535dd)[_0x376b97(0x20e)]('\x0a'),_0x3d1538=_0x414660[_0x376b97(_0x5b52d8._0x5062ef)]===0x0?'_(no\x20console\x20entries\x20captured)_':_0x414660['map'](_0x52fa96=>'['+_0x52fa96[_0x376b97(0x1c2)]+']\x20'+_0x52fa96[_0x376b97(0x1d3)]['toUpperCase']()+':\x20'+_0x52fa96[_0x376b97(0x205)])['join']('\x0a'),_0xcf86a3=_0x550b76['snapshot']?_0x376b97(0x1c0)+_0x550b76['snapshot'][_0x376b97(0x1f1)]+'\x0aCaptured:\x20'+_0x550b76[_0x376b97(0x1fe)][_0x376b97(_0x5b52d8._0x537e0c)]+_0x376b97(0x1a8):_0x376b97(0x206);return _0x376b97(0x1df)+_0x550b76[_0x376b97(_0x5b52d8._0x1b4f5c)][_0x376b97(_0x5b52d8._0x400d9e)]+_0x376b97(_0x5b52d8._0x6c9380)+_0x2b676e+_0x376b97(0x1ea)+(_0x550b76[_0x376b97(0x204)]['stepIndex']??'?')+_0x376b97(_0x5b52d8._0x4bc44c)+_0x550b76['trace'][_0x376b97(_0x5b52d8._0x5dd08f)]+_0x376b97(_0x5b52d8._0x427192)+_0x550b76['trace']['col']+'\x0a-\x20**Error**:\x20`'+(_0x550b76[_0x376b97(_0x5b52d8._0x5dedad)]['error'][_0x376b97(0x1c9)]??_0x376b97(_0x5b52d8._0x338474))+_0x376b97(_0x5b52d8._0x4af927)+_0x550b76[_0x376b97(0x204)][_0x376b97(_0x5b52d8._0x260963)][_0x376b97(0x1b8)]+'\x0a-\x20**Suggested\x20action**:\x20`'+_0x1eafde+_0x376b97(0x1b6)+_0x36b92c+_0x376b97(_0x5b52d8._0x466778)+(_0x550b76[_0x376b97(_0x5b52d8._0x5cb9fb)]['error'][_0x376b97(0x1c5)]?_0x376b97(_0x5b52d8._0x29f6ae)+_0x550b76[_0x376b97(_0x5b52d8._0x5dedad)][_0x376b97(_0x5b52d8._0x2ba4a3)]['stack']+_0x376b97(_0x5b52d8._0x6f35a):'')+_0x376b97(_0x5b52d8._0x5d4bff)+_0x287a8c+_0x376b97(_0x5b52d8._0x31465c)+_0x3d1538+'\x0a```\x0a\x0a##\x20Semantic-DOM\x20snapshot\x0a\x0a'+_0xcf86a3+_0x376b97(_0x5b52d8._0x251d74);}__name(buildPromptMarkdown,_0x1f1444(0x1b9));function runPrepareFix(_0x44a007,_0x129e4f={}){const _0x884fef={_0x36a833:0x1d1,_0x4fcb64:0x1ec,_0x6d338f:0x1c4,_0x407d44:0x1e3,_0x2a8cac:0x1f0,_0x14fe5d:0x19f,_0x58acc0:0x1bb,_0x4f296e:0x1eb,_0x1b5af6:0x1d9,_0x497f4f:0x19f,_0x54fafd:0x1d9,_0xd2125b:0x1cf,_0x2bfe39:0x1d9,_0x20d89b:0x1de,_0x394dff:0x1af,_0x303e27:0x1e5,_0x4b8490:0x1a5},_0x5d3d41=_0x1f1444,_0x4bf215=_0x129e4f['out']??process[_0x5d3d41(_0x884fef._0x36a833)],_0x3662e1=_0x129e4f[_0x5d3d41(_0x884fef._0x4fcb64)]??process[_0x5d3d41(0x1be)],_0x15a8bf=_0x129e4f[_0x5d3d41(_0x884fef._0x6d338f)]??process['cwd'](),_0x2ad1ab=_0x44a007[_0x5d3d41(_0x884fef._0x407d44)](_0x5d3d41(0x208));let _0x334640=_0x44a007[_0x5d3d41(_0x884fef._0x2a8cac)](_0x387836=>!_0x387836[_0x5d3d41(0x1bd)]('-'));if(_0x2ad1ab||_0x334640[_0x5d3d41(_0x884fef._0x14fe5d)]===0x0){const _0x181d80=listFailures(defaultFailuresRoot(_0x15a8bf));if(_0x181d80['length']===0x0)return _0x3662e1['write'](_0x5d3d41(0x1ce)),0x1;if(_0x334640[_0x5d3d41(_0x884fef._0x14fe5d)]===0x0){const _0x1f29ce=new Map();for(const _0x4f5d30 of _0x181d80){if(!_0x1f29ce['has'](_0x4f5d30['testFn']))_0x1f29ce[_0x5d3d41(0x1a1)](_0x4f5d30[_0x5d3d41(_0x884fef._0x58acc0)],_0x4f5d30);}_0x334640=[..._0x1f29ce[_0x5d3d41(0x1ed)]()][_0x5d3d41(_0x884fef._0x4f296e)](_0x3cab0a=>_0x3cab0a[_0x5d3d41(0x20d)]+'/'+_0x3cab0a[_0x5d3d41(0x1bb)]);}}if(_0x334640[_0x5d3d41(_0x884fef._0x14fe5d)]===0x0)return _0x3662e1[_0x5d3d41(_0x884fef._0x1b5af6)]('prepare-fix:\x20no\x20testId\x20provided\x20and\x20no\x20failing\x20tests\x20found.\x0a'),0x1;_0x4bf215[_0x5d3d41(0x1d9)](_0x5d3d41(0x1e2)+_0x334640[_0x5d3d41(_0x884fef._0x497f4f)]+_0x5d3d41(0x1e7));const _0x15f384=defaultFailuresRoot(_0x15a8bf);for(const _0x5b1608 of _0x334640){try{const _0x5cf116=composeFixPrompt(_0x5b1608,{'cwd':_0x15a8bf,'failuresRoot':_0x15f384}),_0x1d1ed6=_0x1b4732(_0x5cf116['sources'][_0x5d3d41(0x1a4)],_0x5d3d41(0x202));_0x30f1eb(_0x1d1ed6,_0x5cf116[_0x5d3d41(0x1a7)]),_0x4bf215[_0x5d3d41(_0x884fef._0x54fafd)](_0x5d3d41(_0x884fef._0xd2125b)+_0x5b1608+'\x0a'),_0x4bf215[_0x5d3d41(_0x884fef._0x54fafd)]('\x20\x20\x20\x20\x20\x20'+_0x1d1ed6+'\x0a'),_0x4bf215[_0x5d3d41(_0x884fef._0x2bfe39)](_0x5d3d41(_0x884fef._0x20d89b)+_0x5cf116[_0x5d3d41(0x1fb)]+_0x5d3d41(_0x884fef._0x394dff)+_0x5cf116[_0x5d3d41(0x201)]+_0x5d3d41(_0x884fef._0x303e27)+_0x5cf116[_0x5d3d41(0x1fa)]+'t\x0a');}catch(_0x345cba){_0x3662e1[_0x5d3d41(_0x884fef._0x1b5af6)](_0x5d3d41(0x1c7)+_0x5b1608+':\x20'+(_0x345cba instanceof Error?_0x345cba[_0x5d3d41(0x1b8)]:String(_0x345cba))+'\x0a');}}return _0x4bf215[_0x5d3d41(0x1d9)](_0x5d3d41(_0x884fef._0x4b8490)),0x0;}__name(runPrepareFix,_0x1f1444(0x1ef));function _0x17b2(_0x2a1ecf,_0x5d9a23){_0x2a1ecf=_0x2a1ecf-0x19f;const _0x2afcbe=_0x2afc();let _0x17b2aa=_0x2afcbe[_0x2a1ecf];if(_0x17b2['JrUorB']===undefined){var _0x211a83=function(_0x3565d8){const _0x1f5d5c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30f1eb='',_0x1b4732='';for(let _0x30cd09=0x0,_0x1c6d62,_0x2c9248,_0x1065d9=0x0;_0x2c9248=_0x3565d8['charAt'](_0x1065d9++);~_0x2c9248&&(_0x1c6d62=_0x30cd09%0x4?_0x1c6d62*0x40+_0x2c9248:_0x2c9248,_0x30cd09++%0x4)?_0x30f1eb+=String['fromCharCode'](0xff&_0x1c6d62>>(-0x2*_0x30cd09&0x6)):0x0){_0x2c9248=_0x1f5d5c['indexOf'](_0x2c9248);}for(let _0x4ff4cf=0x0,_0x2d8050=_0x30f1eb['length'];_0x4ff4cf<_0x2d8050;_0x4ff4cf++){_0x1b4732+='%'+('00'+_0x30f1eb['charCodeAt'](_0x4ff4cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b4732);};_0x17b2['xPjPXd']=_0x211a83,_0x17b2['VNIVrT']={},_0x17b2['JrUorB']=!![];}const _0x1ea506=_0x2afcbe[0x0],_0x5a6726=_0x2a1ecf+_0x1ea506,_0x3480d5=_0x17b2['VNIVrT'][_0x5a6726];return!_0x3480d5?(_0x17b2aa=_0x17b2['xPjPXd'](_0x17b2aa),_0x17b2['VNIVrT'][_0x5a6726]=_0x17b2aa):_0x17b2aa=_0x3480d5,_0x17b2aa;}var invokedDirectly=process[_0x1f1444(0x1f8)][0x1]&&fileURLToPath(import.meta.url)===process[_0x1f1444(0x1f8)][0x1];if(invokedDirectly){const code=runPrepareFix(process[_0x1f1444(0x1f8)][_0x1f1444(0x1ee)](0x2));process[_0x1f1444(0x1ae)](code);}export{runPrepareFix};
|
|
1
|
+
const _0x4a502d=_0x2014;(function(_0x5e608b,_0x237e75){const _0x5261a7={_0x10119a:0x18a,_0x1512bf:0x1c2,_0x51dffc:0x1ac,_0x250944:0x175,_0x2ace0d:0x1c8,_0x3a5e8e:0x184,_0x534fff:0x170},_0x2c42fd=_0x2014,_0x10be41=_0x5e608b();while(!![]){try{const _0x510c1a=-parseInt(_0x2c42fd(0x17c))/0x1*(parseInt(_0x2c42fd(_0x5261a7._0x10119a))/0x2)+parseInt(_0x2c42fd(_0x5261a7._0x1512bf))/0x3+parseInt(_0x2c42fd(0x190))/0x4+-parseInt(_0x2c42fd(_0x5261a7._0x51dffc))/0x5*(-parseInt(_0x2c42fd(0x160))/0x6)+parseInt(_0x2c42fd(0x193))/0x7*(parseInt(_0x2c42fd(_0x5261a7._0x250944))/0x8)+parseInt(_0x2c42fd(0x16e))/0x9*(-parseInt(_0x2c42fd(_0x5261a7._0x2ace0d))/0xa)+-parseInt(_0x2c42fd(_0x5261a7._0x3a5e8e))/0xb*(-parseInt(_0x2c42fd(_0x5261a7._0x534fff))/0xc);if(_0x510c1a===_0x237e75)break;else _0x10be41['push'](_0x10be41['shift']());}catch(_0x3f581b){_0x10be41['push'](_0x10be41['shift']());}}}(_0xc444,0x5a45a));var __defProp=Object[_0x4a502d(0x1aa)],__name=(_0x2e45fc,_0x2f73d6)=>__defProp(_0x2e45fc,_0x4a502d(0x1a3),{'value':_0x2f73d6,'configurable':!![]});import{writeFileSync as _0x2d9868}from'fs';import{join as _0x2dc774}from'path';function _0xc444(){const _0x142713=['y3DK','CMv3CML0zs1ZzwXLy3rVCG','cK5LEhq6ihbHC3rLigvHy2GGzML4lxbYB21WDc5TzcbPBNrVihLVDxiGteXnignSAwvUDcaOq2XHDwrLienVzguGlWPdDxjZB3iGlYbLDgmUks4GvgHLieXmtsbYzxr1CM5ZigeGDw5PzMLLzcbKAwzMoYbYzxzPzxCGAxqGyw5KigfWCgX5cM1HBNvHBgX5lIbxzsbUzxzLCIbHDxrVlwfWCgX5icHelti1ks4k','lcbJB2WG','C291CMnLCW','ndyYnJLpEePsthe','zMfPBhvYzxm','BgvUz3rO','ls1MywLSAw5N','DhjHy2u','D3jPDgu','ndbvD3zWAvO','ChvZAa','C25HChnOB3q','Bgv2zwW','cGOJiYbty2vUyxjPBYbZB3vYy2uGkgXPBMuTBNvTyMvYzwqPcGPGygbQCWO','Aw5JBhvKzxm','icaGicaGC3vNz2vZDgvKqwn0Aw9Upq','vgLTzw91DevYCM9Y','mJyZnhvqyvHZzW','iYmJifn0ywnRcMbGyaO','Dg9vChbLCKnHC2u','zgvMyxvSDezHAwX1CMvZuM9VDa','cLjLz2LVBNm6ihnLzsbZBMfWC2HVDc5QC29UigLUihrOzsbIDw5KBguGzgLYicHYzwfKihzPysbGz2v0x2zHAwX1CMvFyteXEwaPlG','cI0GkIPmB2nHDgLVBIOQoIbSAw5Lia','zMLSDgvY','y2XHC3nPzNK','C3rKzxjY','cMbGyaOkiYmGu2vTyw50AwmTre9nihnUyxbZAg90cGO','AxneAxjLy3rVCNK','y2vPBa','y29UzMLKzw5Jzq','C2nYzwvUC2HVDc1LCNjVCI50Ehq','ntq1nJyXs2nrrw5Y','cI0GkIPfCNjVCIOQoIbG','nte2BMnVCwLN','cI0GkIPtDwDNzxn0zwqGywn0Aw9UkIO6iga','C2nYzwvUC2HVDevYCM9Y','BwvZC2fNzq','CgfKu3rHCNq','ndb0zhzczfG','yxjNDG','rxjYB3i','B3v0','yxbWCM94vg9Rzw5Z','xYHUBYbJB25ZB2XLigvUDhjPzxmGy2fWDhvYzwqPxW','CNvUuhjLCgfYzuzPEa','odiXuwj5sgXh','qxnZzxj0Aw9UrxjYB3i','C29YDa','iIaOBg9VA2vKigLUia','DxrMoa','BgLUzq','xYHUBYbZzw1HBNrPyY1KB20GC25HChnOB3qGy2fWDhvYzwqGzM9YihrOAxmGzMfPBhvYzsLF','yNvPBgrqCM9TChrnyxjRzg93BG','nte3Cu9vvKPv','phnJzw5HCMLVigzPBguGBM8GBg9Uz2vYig9UigrPC2S+','DMfSDwvZ','DgvZDa','ChjLCgfYzs1MAxG6ig5VihrLC3rjzcbWCM92AwrLzcbHBMqGBM8GzMfPBgLUzYb0zxn0CYbMB3vUzc4k','ChjVBxb0twfYA2rVD24','mZuYyw1use50','y29UC29SzuXPBwL0','BgLZDezHAwX1CMvZ','zxHPDa','CMvHzezHAwX1CMvcDw5KBgu','C3vNz2vZDgvKqwn0Aw9U','mtiWntKZnMfmEu9PDG','DgvZDezU','C2nYzwvUC2HVDc5WBMC','mtKWnZqZrMvAEwje','AM9PBG','zMfPBhvYzsbIDw5KBguGBM90igzVDw5KigzVCIb0zxn0swq9iG','icb+','AgfZ','C3rHy2S','cMbGyaOkiYmGtgfZDcbJB25ZB2XLigvUDhjPzxmkcMbGyaO','vvjmoIa','DMLKzw9qyxrO','ChjLCgfYzs1MAxG6ignVBxbVC2LUzYbMAxGGChjVBxb0CYbMB3iG','zxjYB3i','C25HChnOB3qUANnVBG','y29TCg9ZzuzPEfbYB21WDa','AgLNAa','C2nLBMfYAw9qyxrO','BwfW','BMfTzq','DgLTzxn0yw1W','y29UC29Szq','tg9JyxrVCKvYCM9Y','lNvUB3rLC3q','y29UC29Szs5QC29U','C3rKB3v0','zgvMAw5LuhjVCgvYDhK','CMvZB2X2zuj1BMrSzurPCG','mZqZnvzjse9ABq','zxjY','ChjLCgfYzs1MAxG6ig5VigzHAwX1CMuGyNvUzgXLCYbMB3vUzcb1BMrLCIaUDw5VDgvZDc9MywLSDxjLCY8Uifj1BIbHigzHAwXPBMCGDgvZDcbMAxjZDdSGDgHLigj1BMrSzsbPCYb3CML0DgvUigf1Dg9TyxrPy2fSBhKUcG','Dw5RBM93BG','y2HHBMDLlwfZC2vYDgLVBG','icdINjmG','C2XPy2u','C3bSAxq','CgfYC2u','cGOJiYbxAgf0ihDLig5LzwqkcLbYB2r1y2uGysaQkNvUAwzPzwqGzgLMzIOQihrOyxqGzML4zxmGDgHLihrLC3qUienVBNn0CMfPBNrZoGOkms4Gs2vLCcb0AguGC2fTzsb0zxn0xYOOksbMDw5JDgLVBIbUyw1LigfUzcb0AguGC2fTzsbVDMvYywXSigzSB3CG4OcuignOyw5Nzsb0AgukicaGBwLUAw11BsbYzxf1AxjLzcb0BYbTywTLihrOzsbMywLSAw5Nihn0zxaGC3vJy2vLzc4kmI4GuhjLzMvYihrOzsbeltiYihnLBgvJDg9YigHPzxjHCMnOEtOGygDLDej5vgvZDeLKycdIHPiGygDLDej5uM9SzsH7BMfTzx0PyaOGicdIHPiGygDLDej5tgfIzwXGiokgKIbGz2v0qNLuzxH0ycdIHPiGygXVy2f0B3iOy3nZkwaGkgXHC3qGCMvZB3j0ks4kmY4GswyGywrKAw5NigeGD2fPDcWGChjLzMvYigb3ywL0rM9YkgXVyYLGic8GyhDHAxrgB3jvCMWOCgf0DgvYBILGig92zxiGyhbHDxnLkg1ZkwaUcJqUie5VigLTCg9YDhmG4OcuierttcbMDw5JDgLVBNmGCMvZB2X2zsb0AhjVDwDOihrOzsbYDw50Aw1LihjLz2LZDhj5igj5ig5HBwuUcJuUie5VigbHC3LUy2aVygf3ywL0ycdIGjqGDgHLigv4zwn1Dg9YigHHBMrSzxmGyxn5BMmGAw50zxjUywXSEs4knI4Gt3v0Chv0ie9otfKGDgHLihvUAwzPzwqGzgLMzIbIzxr3zwvUigzLBMnLCYbGygbKAwzMiokaPIbGygaUifrOzsb1C2vYcIaGihjLDMLLD3mGkYbHChbSAwvZigL0ig1HBNvHBgX5icHelti1iokaLcb3zsbUzxzLCIbHDxrVlwfWCgX5ks4k','y29S','icaGicaG','BMv0D29YAW','zMfPBhvYzs5QC29U','Dgv4Da','icbJB25MAwrLBMnLpq','Dg9mB3DLCKnHC2u'];_0xc444=function(){return _0x142713;};return _0xc444();}import{fileURLToPath}from'url';import{readFileSync as _0x14398e,existsSync as _0x3ca66d}from'fs';import{relative}from'path';import{existsSync,mkdirSync,readFileSync,readdirSync,statSync,writeFileSync}from'fs';import{join,dirname}from'path';function readFailureBundle(_0x4e6e8d){const _0xc5d5b={_0x191960:0x1b9,_0x30f894:0x180,_0x1d1099:0x1a8,_0x30d2da:0x1b8,_0x791ca4:0x1b4,_0x36f639:0x1ca},_0x44ecf6=_0x4a502d;if(!existsSync(_0x4e6e8d))return null;const _0x1a3ef9=join(_0x4e6e8d,_0x44ecf6(_0xc5d5b._0x191960));if(!existsSync(_0x1a3ef9))return null;const _0xc6ec74=JSON[_0x44ecf6(0x1b4)](readFileSync(_0x1a3ef9,_0x44ecf6(_0xc5d5b._0x30f894))),_0x1f12f8=join(_0x4e6e8d,_0x44ecf6(_0xc5d5b._0x1d1099)),_0x437d85=existsSync(_0x1f12f8)?JSON[_0x44ecf6(0x1b4)](readFileSync(_0x1f12f8,_0x44ecf6(0x180))):[],_0x12951c=join(_0x4e6e8d,_0x44ecf6(0x19e)),_0x43de23=existsSync(_0x12951c)?JSON[_0x44ecf6(0x1b4)](readFileSync(_0x12951c,_0x44ecf6(0x180))):void 0x0,_0x222edb={'trace':_0xc6ec74,'console':_0x437d85},_0x5cfa62=join(_0x4e6e8d,'network.json');existsSync(_0x5cfa62)&&(_0x222edb[_0x44ecf6(_0xc5d5b._0x30d2da)]=JSON[_0x44ecf6(_0xc5d5b._0x791ca4)](readFileSync(_0x5cfa62,_0x44ecf6(0x180))));if(_0x43de23!==void 0x0)_0x222edb[_0x44ecf6(_0xc5d5b._0x36f639)]=_0x43de23;const _0xc810b8=join(_0x4e6e8d,_0x44ecf6(0x192));if(existsSync(_0xc810b8))_0x222edb['screenshotPath']=_0xc810b8;else{const _0xc8ceec=join(_0x4e6e8d,_0x44ecf6(0x16d));existsSync(_0xc8ceec)&&(_0x222edb[_0x44ecf6(0x172)]=readFileSync(_0xc8ceec,_0x44ecf6(0x180)));}const _0x43d89b=join(_0x4e6e8d,'har.json');if(existsSync(_0x43d89b))_0x222edb['harPath']=_0x43d89b;const _0x521625=join(_0x4e6e8d,'video.webm');if(existsSync(_0x521625))_0x222edb[_0x44ecf6(0x19b)]=_0x521625;return _0x222edb;}__name(readFailureBundle,_0x4a502d(0x18e));function listFailures(_0x50ccf4){const _0x1e6789={_0x46d240:0x16a,_0x349158:0x191},_0xde3d49=_0x4a502d;if(!existsSync(_0x50ccf4))return[];const _0x1da873=[];for(const _0x3d76fd of readdirSync(_0x50ccf4)){const _0x3543f5=join(_0x50ccf4,_0x3d76fd);if(!statSync(_0x3543f5)[_0xde3d49(_0x1e6789._0x46d240)]())continue;for(const _0x24cac6 of readdirSync(_0x3543f5)){const _0x50b2ab=join(_0x3543f5,_0x24cac6);if(!statSync(_0x50b2ab)[_0xde3d49(0x16a)]())continue;const _0x14341c=join(_0x50b2ab,'failure.json');if(!existsSync(_0x14341c))continue;try{const _0x3eef26=JSON['parse'](readFileSync(_0x14341c,_0xde3d49(0x180)));_0x1da873[_0xde3d49(0x1c9)]({'runId':_0x3d76fd,'testFn':_0x3eef26[_0xde3d49(_0x1e6789._0x349158)],'scenarioPath':_0x3eef26['scenarioPath'],'dir':_0x50b2ab,'timestamp':_0x3eef26[_0xde3d49(0x1a4)]});}catch{}}}return _0x1da873[_0xde3d49(0x17e)]((_0x895ec3,_0xe258d5)=>_0xe258d5[_0xde3d49(0x1a4)]['localeCompare'](_0x895ec3['timestamp'])),_0x1da873;}__name(listFailures,_0x4a502d(0x18c));function defaultFailuresRoot(_0x57afb6=process[_0x4a502d(0x1bd)]()){const _0x37bec9={_0x307cb9:0x1c3},_0x1bf14a=_0x4a502d;return join(_0x57afb6,_0x1bf14a(0x1a7),_0x1bf14a(_0x37bec9._0x307cb9));}__name(defaultFailuresRoot,_0x4a502d(0x163));function resolveBundleDir(_0x20cb11,_0x10180f){const _0x3794eb={_0x2f05ae:0x16a},_0xab50fa=_0x4a502d;if(existsSync(_0x20cb11)&&statSync(_0x20cb11)[_0xab50fa(_0x3794eb._0x2f05ae)]())return _0x20cb11;return join(_0x10180f,_0x20cb11);}__name(resolveBundleDir,_0x4a502d(0x1ab));function composeFixPrompt(_0x249555,_0x4063da={}){const _0x9620e5={_0x5736fa:0x1b2,_0x5e2e11:0x1c6,_0x2cafd:0x16b,_0x1e950c:0x1c4,_0x1dfa9a:0x1c4},_0x18d536=_0x4a502d,_0x3b57f8=_0x4063da['failuresRoot']??defaultFailuresRoot(),_0x5b3429=resolveBundleDir(_0x249555,_0x3b57f8),_0x864ceb=readFailureBundle(_0x5b3429);if(!_0x864ceb)throw new Error(_0x18d536(0x195)+_0x249555+_0x18d536(0x17f)+_0x5b3429+')');const _0x43af3d=_0x4063da[_0x18d536(0x1bd)]??process[_0x18d536(0x1bd)](),_0x65d4df=_0x3ca66d(_0x864ceb[_0x18d536(0x1c6)]['scenarioPath'])?_0x14398e(_0x864ceb[_0x18d536(0x1c6)][_0x18d536(0x1a1)],'utf8'):_0x18d536(0x185),_0x11ce50=_0x4063da[_0x18d536(0x18b)]??0x19,_0x1d554d=_0x864ceb[_0x18d536(0x1a5)][_0x18d536(_0x9620e5._0x5736fa)](-_0x11ce50),{suggestedAction:_0x12ee3b,confidence:_0x4681a9}=classify(_0x864ceb),_0x1bc7c1=buildPromptMarkdown({'bundle':_0x864ceb,'scenarioSource':_0x65d4df,'scenarioRelative':relative(_0x43af3d,_0x864ceb[_0x18d536(_0x9620e5._0x5e2e11)][_0x18d536(0x1a1)]),'consoleTail':_0x1d554d,'suggestedAction':_0x12ee3b,'confidence':_0x4681a9}),_0x27057f=Math[_0x18d536(_0x9620e5._0x2cafd)](_0x1bc7c1[_0x18d536(_0x9620e5._0x1e950c)]/0x4);return{'promptMarkdown':_0x1bc7c1,'suggestedAction':_0x12ee3b,'confidence':_0x4681a9,'sources':{'bundleDir':_0x5b3429,'scenarioPath':_0x864ceb[_0x18d536(0x1c6)]['scenarioPath'],'consoleEntries':_0x864ceb[_0x18d536(0x1a5)][_0x18d536(_0x9620e5._0x1dfa9a)],'hasSnapshot':!!_0x864ceb['snapshot']},'approxTokens':_0x27057f};}__name(composeFixPrompt,_0x4a502d(0x19f));function classify(_0x47a81d){const _0x5e8c79={_0x271b6b:0x19d,_0x475dc7:0x19d,_0x62d4e:0x1a6,_0x43f74b:0x15f,_0x5e068e:0x1a0,_0x51c633:0x187,_0x9abc80:0x17d},_0x268917=_0x4a502d,_0x549964=_0x47a81d[_0x268917(0x1c6)][_0x268917(_0x5e8c79._0x271b6b)][_0x268917(0x173)][_0x268917(0x1bc)](),_0xccec2e=_0x47a81d['trace'][_0x268917(_0x5e8c79._0x475dc7)][_0x268917(0x1a3)]??'';let _0x595884=_0x268917(0x1af),_0x56445a='low';if(_0xccec2e==='LocatorError'||/not found|no element|strict mode|resolved to \d+ elements|nothing matched/i['test'](_0x549964))_0x595884=_0x268917(0x1be),_0x56445a=_0xccec2e===_0x268917(_0x5e8c79._0x62d4e)?_0x268917(0x1a0):'medium';else{if(_0xccec2e===_0x268917(_0x5e8c79._0x43f74b)||/timeout|waiting for/i[_0x268917(0x187)](_0x549964))_0x595884='add-waitfor',_0x56445a=_0xccec2e===_0x268917(0x15f)?_0x268917(_0x5e8c79._0x5e068e):'medium';else(_0xccec2e===_0x268917(0x17d)||/asserttext|assertvisible|expected.*got/i[_0x268917(_0x5e8c79._0x51c633)](_0x549964))&&(_0x595884=_0x268917(0x1b0),_0x56445a=_0xccec2e===_0x268917(_0x5e8c79._0x9abc80)?_0x268917(0x1a0):'medium');}return{'suggestedAction':_0x595884,'confidence':_0x56445a};}__name(classify,_0x4a502d(0x167));function buildPromptMarkdown(_0x1e50ee){const _0xe8962a={_0x2f1939:0x1b3,_0x552a24:0x1a2,_0x4617ed:0x1a2,_0x5d0789:0x194,_0x2e5f3f:0x1ca,_0x4b3350:0x182,_0x2aeb23:0x1c6,_0x33cdb9:0x191,_0x25d5c9:0x165,_0x11b2d6:0x16f,_0x59383d:0x19d,_0x2cec30:0x1c6,_0x938a58:0x198,_0x25de60:0x15c},_0x5c482b=_0x4a502d,{bundle:_0x13ad9a,scenarioSource:_0x961bef,scenarioRelative:_0x36280d,consoleTail:_0x525a37,suggestedAction:_0x39f660,confidence:_0x7bdac6}=_0x1e50ee,_0x18a7fc=_0x961bef[_0x5c482b(_0xe8962a._0x2f1939)]('\x0a')[_0x5c482b(_0xe8962a._0x552a24)]((_0x269c18,_0x593233)=>String(_0x593233+0x1)[_0x5c482b(0x174)](0x3,'\x20')+'\x20\x20'+_0x269c18)['join']('\x0a'),_0x58f716=_0x525a37[_0x5c482b(0x1c4)]===0x0?_0x5c482b(0x17a):_0x525a37[_0x5c482b(_0xe8962a._0x4617ed)](_0x2e73df=>'['+_0x2e73df['timestamp']+']\x20'+_0x2e73df[_0x5c482b(0x1cb)][_0x5c482b(0x162)]()+':\x20'+_0x2e73df[_0x5c482b(0x1ba)])[_0x5c482b(_0xe8962a._0x5d0789)]('\x0a'),_0x59c501=_0x13ad9a[_0x5c482b(_0xe8962a._0x2e5f3f)]?_0x5c482b(0x19a)+_0x13ad9a[_0x5c482b(_0xe8962a._0x2e5f3f)]['url']+'\x0aCaptured:\x20'+_0x13ad9a['snapshot']['capturedAt']+_0x5c482b(0x164):_0x5c482b(_0xe8962a._0x4b3350);return'#\x20Test\x20fix\x20request\x0a\x0a##\x20Failure\x20context\x0a\x0a-\x20**Test**:\x20`'+_0x13ad9a[_0x5c482b(_0xe8962a._0x2aeb23)][_0x5c482b(_0xe8962a._0x33cdb9)]+'`\x20in\x20`'+_0x36280d+'`\x0a-\x20**Step\x20index**:\x20'+(_0x13ad9a[_0x5c482b(0x1c6)]['stepIndex']??'?')+_0x5c482b(_0xe8962a._0x25d5c9)+_0x13ad9a[_0x5c482b(0x1c6)][_0x5c482b(0x181)]+_0x5c482b(0x1c0)+_0x13ad9a['trace'][_0x5c482b(0x1b6)]+_0x5c482b(_0xe8962a._0x11b2d6)+(_0x13ad9a[_0x5c482b(0x1c6)][_0x5c482b(0x19d)][_0x5c482b(0x1a3)]??_0x5c482b(0x177))+'`\x20—\x20'+_0x13ad9a[_0x5c482b(0x1c6)][_0x5c482b(_0xe8962a._0x59383d)][_0x5c482b(0x173)]+_0x5c482b(0x171)+_0x39f660+'`\x20(confidence:\x20'+_0x7bdac6+')\x0a\x0a'+(_0x13ad9a[_0x5c482b(_0xe8962a._0x2cec30)]['error'][_0x5c482b(_0xe8962a._0x938a58)]?_0x5c482b(0x161)+_0x13ad9a[_0x5c482b(0x1c6)][_0x5c482b(_0xe8962a._0x59383d)][_0x5c482b(0x198)]+'\x0a```\x0a':'')+_0x5c482b(_0xe8962a._0x25de60)+_0x18a7fc+_0x5c482b(0x199)+_0x58f716+_0x5c482b(0x169)+_0x59c501+_0x5c482b(0x1b5);}__name(buildPromptMarkdown,_0x4a502d(0x183));function runPrepareFix(_0x502dfd,_0x48e6d0={}){const _0x50c630={_0x568a84:0x178,_0x2ea623:0x1ad,_0x56b7e1:0x168,_0x5ab0c6:0x166,_0x1981b1:0x1c4,_0x19a5f1:0x1c4,_0x1da2b0:0x197,_0x48134e:0x188,_0x6ec90f:0x1c4,_0x29badb:0x1c1,_0x4b806b:0x1c7,_0x486d4a:0x1b7,_0x3342d2:0x18f,_0xb34cd:0x1bb,_0x2ff9aa:0x16c,_0x5caf30:0x1bf},_0x493bab=_0x4a502d,_0xb1fb0=_0x48e6d0[_0x493bab(_0x50c630._0x568a84)]??process[_0x493bab(0x1a9)],_0x1bb252=_0x48e6d0[_0x493bab(_0x50c630._0x2ea623)]??process[_0x493bab(_0x50c630._0x56b7e1)],_0x2909cc=_0x48e6d0[_0x493bab(0x1bd)]??process[_0x493bab(0x1bd)](),_0x413e06=_0x502dfd[_0x493bab(0x15d)](_0x493bab(0x1c5));let _0x1e18fc=_0x502dfd[_0x493bab(_0x50c630._0x5ab0c6)](_0x12f7e6=>!_0x12f7e6['startsWith']('-'));if(_0x413e06||_0x1e18fc[_0x493bab(_0x50c630._0x1981b1)]===0x0){const _0x3d3d3d=listFailures(defaultFailuresRoot(_0x2909cc));if(_0x3d3d3d[_0x493bab(_0x50c630._0x1981b1)]===0x0)return _0x1bb252['write'](_0x493bab(0x1ae)),0x1;if(_0x1e18fc[_0x493bab(_0x50c630._0x19a5f1)]===0x0){const _0x3f9fdc=new Map();for(const _0x4cbd24 of _0x3d3d3d){if(!_0x3f9fdc[_0x493bab(_0x50c630._0x1da2b0)](_0x4cbd24['testFn']))_0x3f9fdc['set'](_0x4cbd24[_0x493bab(0x191)],_0x4cbd24);}_0x1e18fc=[..._0x3f9fdc[_0x493bab(0x186)]()][_0x493bab(0x1a2)](_0x2682f9=>_0x2682f9['runId']+'/'+_0x2682f9[_0x493bab(0x191)]);}}if(_0x1e18fc['length']===0x0)return _0x1bb252[_0x493bab(0x1c7)](_0x493bab(_0x50c630._0x48134e)),0x1;_0xb1fb0['write'](_0x493bab(0x19c)+_0x1e18fc[_0x493bab(_0x50c630._0x6ec90f)]+'\x20test(s)\x20(D-25)\x0a\x0a');const _0x21eb0a=defaultFailuresRoot(_0x2909cc);for(const _0x136611 of _0x1e18fc){try{const _0x19d772=composeFixPrompt(_0x136611,{'cwd':_0x2909cc,'failuresRoot':_0x21eb0a}),_0xa3d196=_0x2dc774(_0x19d772[_0x493bab(_0x50c630._0x29badb)]['bundleDir'],'fix-prompt.md');_0x2d9868(_0xa3d196,_0x19d772[_0x493bab(0x189)]),_0xb1fb0[_0x493bab(0x1c7)](_0x493bab(0x1b1)+_0x136611+'\x0a'),_0xb1fb0[_0x493bab(_0x50c630._0x4b806b)](_0x493bab(_0x50c630._0x486d4a)+_0xa3d196+'\x0a'),_0xb1fb0['write'](_0x493bab(0x15e)+_0x19d772[_0x493bab(_0x50c630._0x3342d2)]+_0x493bab(_0x50c630._0xb34cd)+_0x19d772[_0x493bab(_0x50c630._0x2ff9aa)]+_0x493bab(0x196)+_0x19d772[_0x493bab(0x179)]+'t\x0a');}catch(_0x4ef786){_0x1bb252[_0x493bab(0x1c7)]('\x20\x20✗\x20'+_0x136611+':\x20'+(_0x4ef786 instanceof Error?_0x4ef786[_0x493bab(0x173)]:String(_0x4ef786))+'\x0a');}}return _0xb1fb0[_0x493bab(0x1c7)](_0x493bab(_0x50c630._0x5caf30)),0x0;}__name(runPrepareFix,_0x4a502d(0x17b));function _0x2014(_0x4a3e95,_0x3f1035){_0x4a3e95=_0x4a3e95-0x15c;const _0xc4449c=_0xc444();let _0x201430=_0xc4449c[_0x4a3e95];if(_0x2014['BXfFlO']===undefined){var _0x53ae24=function(_0x1a9986){const _0x56a877='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d9868='',_0x2dc774='';for(let _0x14398e=0x0,_0x3ca66d,_0x2e45fc,_0x2f73d6=0x0;_0x2e45fc=_0x1a9986['charAt'](_0x2f73d6++);~_0x2e45fc&&(_0x3ca66d=_0x14398e%0x4?_0x3ca66d*0x40+_0x2e45fc:_0x2e45fc,_0x14398e++%0x4)?_0x2d9868+=String['fromCharCode'](0xff&_0x3ca66d>>(-0x2*_0x14398e&0x6)):0x0){_0x2e45fc=_0x56a877['indexOf'](_0x2e45fc);}for(let _0x4e6e8d=0x0,_0x1a3ef9=_0x2d9868['length'];_0x4e6e8d<_0x1a3ef9;_0x4e6e8d++){_0x2dc774+='%'+('00'+_0x2d9868['charCodeAt'](_0x4e6e8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dc774);};_0x2014['OHKFmE']=_0x53ae24,_0x2014['RjuzUl']={},_0x2014['BXfFlO']=!![];}const _0x3d9caf=_0xc4449c[0x0],_0x22241f=_0x4a3e95+_0x3d9caf,_0x3c0a33=_0x2014['RjuzUl'][_0x22241f];return!_0x3c0a33?(_0x201430=_0x2014['OHKFmE'](_0x201430),_0x2014['RjuzUl'][_0x22241f]=_0x201430):_0x201430=_0x3c0a33,_0x201430;}var invokedDirectly=process[_0x4a502d(0x176)][0x1]&&fileURLToPath(import.meta.url)===process[_0x4a502d(0x176)][0x1];if(invokedDirectly){const code=runPrepareFix(process['argv'][_0x4a502d(0x1b2)](0x2));process[_0x4a502d(0x18d)](code);}export{runPrepareFix};
|